{ "version": 3, "sources": ["../../@abi-software/plotvuer/dist/plotvuer.js"], "sourcesContent": ["import { getCurrentScope as LR, onScopeDispose as DR, unref as $e, getCurrentInstance as xa, onMounted as Zn, nextTick as ja, watch as _r, ref as Rt, defineComponent as er, openBlock as At, createElementBlock as Xt, createElementVNode as cr, warn as ER, inject as Rr, computed as et, isRef as FR, shallowRef as d3, onBeforeUnmount as mi, onBeforeMount as RR, provide as wa, mergeProps as fs, renderSlot as ur, toRef as Ii, onUnmounted as PR, createBlock as kr, Transition as Ov, withCtx as ir, withDirectives as yo, normalizeClass as Vt, normalizeStyle as Hi, vShow as ju, Fragment as wo, createVNode as Ar, reactive as ts, onActivated as $R, onUpdated as zR, resolveDynamicComponent as bo, createCommentVNode as Fr, cloneVNode as IR, Text as h3, Comment as NR, Teleport as OR, readonly as HR, onDeactivated as BR, toDisplayString as ga, useSlots as jR, withModifiers as pa, toHandlers as UR, withKeys as eu, createTextVNode as rs, toRaw as l1, toRefs as s1, watchEffect as GR, resolveComponent as uo, resolveDirective as VR, toHandlerKey as qR, renderList as xu, vModelText as WR, markRaw as co } from \"vue\";\nfunction ZR(e) {\n return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, \"default\") ? e.default : e;\n}\nvar v3 = { exports: {} }, cn = v3.exports = {}, Ri, Pi;\nfunction N0() {\n throw new Error(\"setTimeout has not been defined\");\n}\nfunction O0() {\n throw new Error(\"clearTimeout has not been defined\");\n}\n(function() {\n try {\n typeof setTimeout == \"function\" ? Ri = setTimeout : Ri = N0;\n } catch {\n Ri = N0;\n }\n try {\n typeof clearTimeout == \"function\" ? Pi = clearTimeout : Pi = O0;\n } catch {\n Pi = O0;\n }\n})();\nfunction p3(e) {\n if (Ri === setTimeout)\n return setTimeout(e, 0);\n if ((Ri === N0 || !Ri) && setTimeout)\n return Ri = setTimeout, setTimeout(e, 0);\n try {\n return Ri(e, 0);\n } catch {\n try {\n return Ri.call(null, e, 0);\n } catch {\n return Ri.call(this, e, 0);\n }\n }\n}\nfunction YR(e) {\n if (Pi === clearTimeout)\n return clearTimeout(e);\n if ((Pi === O0 || !Pi) && clearTimeout)\n return Pi = clearTimeout, clearTimeout(e);\n try {\n return Pi(e);\n } catch {\n try {\n return Pi.call(null, e);\n } catch {\n return Pi.call(this, e);\n }\n }\n}\nvar po = [], mu = !1, Ol, Dh = -1;\nfunction XR() {\n !mu || !Ol || (mu = !1, Ol.length ? po = Ol.concat(po) : Dh = -1, po.length && m3());\n}\nfunction m3() {\n if (!mu) {\n var e = p3(XR);\n mu = !0;\n for (var t = po.length; t; ) {\n for (Ol = po, po = []; ++Dh < t; )\n Ol && Ol[Dh].run();\n Dh = -1, t = po.length;\n }\n Ol = null, mu = !1, YR(e);\n }\n}\ncn.nextTick = function(e) {\n var t = new Array(arguments.length - 1);\n if (arguments.length > 1)\n for (var r = 1; r < arguments.length; r++)\n t[r - 1] = arguments[r];\n po.push(new g3(e, t)), po.length === 1 && !mu && p3(m3);\n};\nfunction g3(e, t) {\n this.fun = e, this.array = t;\n}\ng3.prototype.run = function() {\n this.fun.apply(null, this.array);\n};\ncn.title = \"browser\";\ncn.browser = !0;\ncn.env = {};\ncn.argv = [];\ncn.version = \"\";\ncn.versions = {};\nfunction Mo() {\n}\ncn.on = Mo;\ncn.addListener = Mo;\ncn.once = Mo;\ncn.off = Mo;\ncn.removeListener = Mo;\ncn.removeAllListeners = Mo;\ncn.emit = Mo;\ncn.prependListener = Mo;\ncn.prependOnceListener = Mo;\ncn.listeners = function(e) {\n return [];\n};\ncn.binding = function(e) {\n throw new Error(\"process.binding is not supported\");\n};\ncn.cwd = function() {\n return \"/\";\n};\ncn.chdir = function(e) {\n throw new Error(\"process.chdir is not supported\");\n};\ncn.umask = function() {\n return 0;\n};\nvar KR = v3.exports;\nconst cs = /* @__PURE__ */ ZR(KR), fo = (e, t, { checkForDefaultPrevented: r = !0 } = {}) => (a) => {\n const i = e == null ? void 0 : e(a);\n if (r === !1 || !i)\n return t == null ? void 0 : t(a);\n}, lu = globalThis || void 0 || self;\nvar Ox;\nconst qn = typeof window < \"u\", JR = (e) => typeof e == \"string\", y3 = () => {\n}, H0 = qn && ((Ox = window == null ? void 0 : window.navigator) == null ? void 0 : Ox.userAgent) && /iP(ad|hone|od)/.test(window.navigator.userAgent);\nfunction b3(e) {\n return typeof e == \"function\" ? e() : $e(e);\n}\nfunction QR(e) {\n return e;\n}\nfunction Hv(e) {\n return LR() ? (DR(e), !0) : !1;\n}\nfunction eP(e, t = !0) {\n xa() ? Zn(e) : t ? e() : ja(e);\n}\nfunction mo(e) {\n var t;\n const r = b3(e);\n return (t = r == null ? void 0 : r.$el) != null ? t : r;\n}\nconst Bv = qn ? window : void 0;\nfunction ui(...e) {\n let t, r, n, a;\n if (JR(e[0]) || Array.isArray(e[0]) ? ([r, n, a] = e, t = Bv) : [t, r, n, a] = e, !t)\n return y3;\n Array.isArray(r) || (r = [r]), Array.isArray(n) || (n = [n]);\n const i = [], o = () => {\n i.forEach((f) => f()), i.length = 0;\n }, l = (f, d, h, p) => (f.addEventListener(d, h, p), () => f.removeEventListener(d, h, p)), s = _r(() => [mo(t), b3(a)], ([f, d]) => {\n o(), f && i.push(...r.flatMap((h) => n.map((p) => l(f, h, p, d))));\n }, { immediate: !0, flush: \"post\" }), u = () => {\n s(), o();\n };\n return Hv(u), u;\n}\nlet Hx = !1;\nfunction tP(e, t, r = {}) {\n const { window: n = Bv, ignore: a = [], capture: i = !0, detectIframe: o = !1 } = r;\n if (!n)\n return;\n H0 && !Hx && (Hx = !0, Array.from(n.document.body.children).forEach((h) => h.addEventListener(\"click\", y3)));\n let l = !0;\n const s = (h) => a.some((p) => {\n if (typeof p == \"string\")\n return Array.from(n.document.querySelectorAll(p)).some((v) => v === h.target || h.composedPath().includes(v));\n {\n const v = mo(p);\n return v && (h.target === v || h.composedPath().includes(v));\n }\n }), f = [\n ui(n, \"click\", (h) => {\n const p = mo(e);\n if (!(!p || p === h.target || h.composedPath().includes(p))) {\n if (h.detail === 0 && (l = !s(h)), !l) {\n l = !0;\n return;\n }\n t(h);\n }\n }, { passive: !0, capture: i }),\n ui(n, \"pointerdown\", (h) => {\n const p = mo(e);\n p && (l = !h.composedPath().includes(p) && !s(h));\n }, { passive: !0 }),\n o && ui(n, \"blur\", (h) => {\n var p;\n const v = mo(e);\n ((p = n.document.activeElement) == null ? void 0 : p.tagName) === \"IFRAME\" && !(v != null && v.contains(n.document.activeElement)) && t(h);\n })\n ].filter(Boolean);\n return () => f.forEach((h) => h());\n}\nfunction _3(e, t = !1) {\n const r = Rt(), n = () => r.value = !!e();\n return n(), eP(n, t), r;\n}\nconst B0 = typeof globalThis < \"u\" ? globalThis : typeof window < \"u\" ? window : typeof lu < \"u\" ? lu : typeof self < \"u\" ? self : {}, j0 = \"__vueuse_ssr_handlers__\";\nB0[j0] = B0[j0] || {};\nB0[j0];\nvar Bx = Object.getOwnPropertySymbols, rP = Object.prototype.hasOwnProperty, nP = Object.prototype.propertyIsEnumerable, aP = (e, t) => {\n var r = {};\n for (var n in e)\n rP.call(e, n) && t.indexOf(n) < 0 && (r[n] = e[n]);\n if (e != null && Bx)\n for (var n of Bx(e))\n t.indexOf(n) < 0 && nP.call(e, n) && (r[n] = e[n]);\n return r;\n};\nfunction Wo(e, t, r = {}) {\n const n = r, { window: a = Bv } = n, i = aP(n, [\"window\"]);\n let o;\n const l = _3(() => a && \"ResizeObserver\" in a), s = () => {\n o && (o.disconnect(), o = void 0);\n }, u = _r(() => mo(e), (d) => {\n s(), l.value && a && d && (o = new ResizeObserver(t), o.observe(d, i));\n }, { immediate: !0, flush: \"post\" }), f = () => {\n s(), u();\n };\n return Hv(f), {\n isSupported: l,\n stop: f\n };\n}\nvar jx = Object.getOwnPropertySymbols, iP = Object.prototype.hasOwnProperty, oP = Object.prototype.propertyIsEnumerable, lP = (e, t) => {\n var r = {};\n for (var n in e)\n iP.call(e, n) && t.indexOf(n) < 0 && (r[n] = e[n]);\n if (e != null && jx)\n for (var n of jx(e))\n t.indexOf(n) < 0 && oP.call(e, n) && (r[n] = e[n]);\n return r;\n};\nfunction sP(e, t, r = {}) {\n const n = r, { window: a = Bv } = n, i = lP(n, [\"window\"]);\n let o;\n const l = _3(() => a && \"MutationObserver\" in a), s = () => {\n o && (o.disconnect(), o = void 0);\n }, u = _r(() => mo(e), (d) => {\n s(), l.value && a && d && (o = new MutationObserver(t), o.observe(d, i));\n }, { immediate: !0 }), f = () => {\n s(), u();\n };\n return Hv(f), {\n isSupported: l,\n stop: f\n };\n}\nvar Ux;\n(function(e) {\n e.UP = \"UP\", e.RIGHT = \"RIGHT\", e.DOWN = \"DOWN\", e.LEFT = \"LEFT\", e.NONE = \"NONE\";\n})(Ux || (Ux = {}));\nvar uP = Object.defineProperty, Gx = Object.getOwnPropertySymbols, fP = Object.prototype.hasOwnProperty, cP = Object.prototype.propertyIsEnumerable, Vx = (e, t, r) => t in e ? uP(e, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : e[t] = r, dP = (e, t) => {\n for (var r in t || (t = {}))\n fP.call(t, r) && Vx(e, r, t[r]);\n if (Gx)\n for (var r of Gx(t))\n cP.call(t, r) && Vx(e, r, t[r]);\n return e;\n};\nconst hP = {\n easeInSine: [0.12, 0, 0.39, 0],\n easeOutSine: [0.61, 1, 0.88, 1],\n easeInOutSine: [0.37, 0, 0.63, 1],\n easeInQuad: [0.11, 0, 0.5, 0],\n easeOutQuad: [0.5, 1, 0.89, 1],\n easeInOutQuad: [0.45, 0, 0.55, 1],\n easeInCubic: [0.32, 0, 0.67, 0],\n easeOutCubic: [0.33, 1, 0.68, 1],\n easeInOutCubic: [0.65, 0, 0.35, 1],\n easeInQuart: [0.5, 0, 0.75, 0],\n easeOutQuart: [0.25, 1, 0.5, 1],\n easeInOutQuart: [0.76, 0, 0.24, 1],\n easeInQuint: [0.64, 0, 0.78, 0],\n easeOutQuint: [0.22, 1, 0.36, 1],\n easeInOutQuint: [0.83, 0, 0.17, 1],\n easeInExpo: [0.7, 0, 0.84, 0],\n easeOutExpo: [0.16, 1, 0.3, 1],\n easeInOutExpo: [0.87, 0, 0.13, 1],\n easeInCirc: [0.55, 0, 1, 0.45],\n easeOutCirc: [0, 0.55, 0.45, 1],\n easeInOutCirc: [0.85, 0, 0.15, 1],\n easeInBack: [0.36, 0, 0.66, -0.56],\n easeOutBack: [0.34, 1.56, 0.64, 1],\n easeInOutBack: [0.68, -0.6, 0.32, 1.6]\n};\ndP({\n linear: QR\n}, hP);\ncs.env.NODE_ENV !== \"production\" && Object.freeze({});\ncs.env.NODE_ENV !== \"production\" && Object.freeze([]);\nconst Kh = () => {\n}, vP = Object.prototype.hasOwnProperty, qx = (e, t) => vP.call(e, t), Ni = Array.isArray, ua = (e) => typeof e == \"function\", Uu = (e) => typeof e == \"string\", Oi = (e) => e !== null && typeof e == \"object\", pP = Object.prototype.toString, mP = (e) => pP.call(e), Sm = (e) => mP(e).slice(8, -1);\nvar x3 = typeof lu == \"object\" && lu && lu.Object === Object && lu, gP = typeof self == \"object\" && self && self.Object === Object && self, qi = x3 || gP || Function(\"return this\")(), Ui = qi.Symbol, w3 = Object.prototype, yP = w3.hasOwnProperty, bP = w3.toString, pf = Ui ? Ui.toStringTag : void 0;\nfunction _P(e) {\n var t = yP.call(e, pf), r = e[pf];\n try {\n e[pf] = void 0;\n var n = !0;\n } catch {\n }\n var a = bP.call(e);\n return n && (t ? e[pf] = r : delete e[pf]), a;\n}\nvar xP = Object.prototype, wP = xP.toString;\nfunction TP(e) {\n return wP.call(e);\n}\nvar kP = \"[object Null]\", AP = \"[object Undefined]\", Wx = Ui ? Ui.toStringTag : void 0;\nfunction Gu(e) {\n return e == null ? e === void 0 ? AP : kP : Wx && Wx in Object(e) ? _P(e) : TP(e);\n}\nfunction wu(e) {\n return e != null && typeof e == \"object\";\n}\nvar MP = \"[object Symbol]\";\nfunction jv(e) {\n return typeof e == \"symbol\" || wu(e) && Gu(e) == MP;\n}\nfunction SP(e, t) {\n for (var r = -1, n = e == null ? 0 : e.length, a = Array(n); ++r < n; )\n a[r] = t(e[r], r, e);\n return a;\n}\nvar pi = Array.isArray, CP = 1 / 0, Zx = Ui ? Ui.prototype : void 0, Yx = Zx ? Zx.toString : void 0;\nfunction T3(e) {\n if (typeof e == \"string\")\n return e;\n if (pi(e))\n return SP(e, T3) + \"\";\n if (jv(e))\n return Yx ? Yx.call(e) : \"\";\n var t = e + \"\";\n return t == \"0\" && 1 / e == -CP ? \"-0\" : t;\n}\nvar LP = /\\s/;\nfunction DP(e) {\n for (var t = e.length; t-- && LP.test(e.charAt(t)); )\n ;\n return t;\n}\nvar EP = /^\\s+/;\nfunction FP(e) {\n return e && e.slice(0, DP(e) + 1).replace(EP, \"\");\n}\nfunction ll(e) {\n var t = typeof e;\n return e != null && (t == \"object\" || t == \"function\");\n}\nvar Xx = NaN, RP = /^[-+]0x[0-9a-f]+$/i, PP = /^0b[01]+$/i, $P = /^0o[0-7]+$/i, zP = parseInt;\nfunction Kx(e) {\n if (typeof e == \"number\")\n return e;\n if (jv(e))\n return Xx;\n if (ll(e)) {\n var t = typeof e.valueOf == \"function\" ? e.valueOf() : e;\n e = ll(t) ? t + \"\" : t;\n }\n if (typeof e != \"string\")\n return e === 0 ? e : +e;\n e = FP(e);\n var r = PP.test(e);\n return r || $P.test(e) ? zP(e.slice(2), r ? 2 : 8) : RP.test(e) ? Xx : +e;\n}\nfunction k3(e) {\n return e;\n}\nvar IP = \"[object AsyncFunction]\", NP = \"[object Function]\", OP = \"[object GeneratorFunction]\", HP = \"[object Proxy]\";\nfunction A3(e) {\n if (!ll(e))\n return !1;\n var t = Gu(e);\n return t == NP || t == OP || t == IP || t == HP;\n}\nvar Cm = qi[\"__core-js_shared__\"], Jx = function() {\n var e = /[^.]+$/.exec(Cm && Cm.keys && Cm.keys.IE_PROTO || \"\");\n return e ? \"Symbol(src)_1.\" + e : \"\";\n}();\nfunction BP(e) {\n return !!Jx && Jx in e;\n}\nvar jP = Function.prototype, UP = jP.toString;\nfunction ds(e) {\n if (e != null) {\n try {\n return UP.call(e);\n } catch {\n }\n try {\n return e + \"\";\n } catch {\n }\n }\n return \"\";\n}\nvar GP = /[\\\\^$.*+?()[\\]{}|]/g, VP = /^\\[object .+?Constructor\\]$/, qP = Function.prototype, WP = Object.prototype, ZP = qP.toString, YP = WP.hasOwnProperty, XP = RegExp(\n \"^\" + ZP.call(YP).replace(GP, \"\\\\$&\").replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, \"$1.*?\") + \"$\"\n);\nfunction KP(e) {\n if (!ll(e) || BP(e))\n return !1;\n var t = A3(e) ? XP : VP;\n return t.test(ds(e));\n}\nfunction JP(e, t) {\n return e == null ? void 0 : e[t];\n}\nfunction hs(e, t) {\n var r = JP(e, t);\n return KP(r) ? r : void 0;\n}\nvar U0 = hs(qi, \"WeakMap\");\nfunction QP(e, t, r) {\n switch (r.length) {\n case 0:\n return e.call(t);\n case 1:\n return e.call(t, r[0]);\n case 2:\n return e.call(t, r[0], r[1]);\n case 3:\n return e.call(t, r[0], r[1], r[2]);\n }\n return e.apply(t, r);\n}\nvar e$ = 800, t$ = 16, r$ = Date.now;\nfunction n$(e) {\n var t = 0, r = 0;\n return function() {\n var n = r$(), a = t$ - (n - r);\n if (r = n, a > 0) {\n if (++t >= e$)\n return arguments[0];\n } else\n t = 0;\n return e.apply(void 0, arguments);\n };\n}\nfunction a$(e) {\n return function() {\n return e;\n };\n}\nvar Jh = function() {\n try {\n var e = hs(Object, \"defineProperty\");\n return e({}, \"\", {}), e;\n } catch {\n }\n}(), i$ = Jh ? function(e, t) {\n return Jh(e, \"toString\", {\n configurable: !0,\n enumerable: !1,\n value: a$(t),\n writable: !0\n });\n} : k3, o$ = n$(i$);\nfunction l$(e, t, r, n) {\n e.length;\n for (var a = r + 1; a--; )\n if (t(e[a], a, e))\n return a;\n return -1;\n}\nvar s$ = 9007199254740991, u$ = /^(?:0|[1-9]\\d*)$/;\nfunction u1(e, t) {\n var r = typeof e;\n return t = t ?? s$, !!t && (r == \"number\" || r != \"symbol\" && u$.test(e)) && e > -1 && e % 1 == 0 && e < t;\n}\nfunction f$(e, t, r) {\n t == \"__proto__\" && Jh ? Jh(e, t, {\n configurable: !0,\n enumerable: !0,\n value: r,\n writable: !0\n }) : e[t] = r;\n}\nfunction f1(e, t) {\n return e === t || e !== e && t !== t;\n}\nvar c$ = Object.prototype, d$ = c$.hasOwnProperty;\nfunction h$(e, t, r) {\n var n = e[t];\n (!(d$.call(e, t) && f1(n, r)) || r === void 0 && !(t in e)) && f$(e, t, r);\n}\nvar Qx = Math.max;\nfunction v$(e, t, r) {\n return t = Qx(t === void 0 ? e.length - 1 : t, 0), function() {\n for (var n = arguments, a = -1, i = Qx(n.length - t, 0), o = Array(i); ++a < i; )\n o[a] = n[t + a];\n a = -1;\n for (var l = Array(t + 1); ++a < t; )\n l[a] = n[a];\n return l[t] = r(o), QP(e, this, l);\n };\n}\nvar p$ = 9007199254740991;\nfunction c1(e) {\n return typeof e == \"number\" && e > -1 && e % 1 == 0 && e <= p$;\n}\nfunction m$(e) {\n return e != null && c1(e.length) && !A3(e);\n}\nvar g$ = Object.prototype;\nfunction y$(e) {\n var t = e && e.constructor, r = typeof t == \"function\" && t.prototype || g$;\n return e === r;\n}\nfunction b$(e, t) {\n for (var r = -1, n = Array(e); ++r < e; )\n n[r] = t(r);\n return n;\n}\nvar _$ = \"[object Arguments]\";\nfunction ew(e) {\n return wu(e) && Gu(e) == _$;\n}\nvar M3 = Object.prototype, x$ = M3.hasOwnProperty, w$ = M3.propertyIsEnumerable, d1 = ew(/* @__PURE__ */ function() {\n return arguments;\n}()) ? ew : function(e) {\n return wu(e) && x$.call(e, \"callee\") && !w$.call(e, \"callee\");\n};\nfunction T$() {\n return !1;\n}\nvar S3 = typeof exports == \"object\" && exports && !exports.nodeType && exports, tw = S3 && typeof module == \"object\" && module && !module.nodeType && module, k$ = tw && tw.exports === S3, rw = k$ ? qi.Buffer : void 0, A$ = rw ? rw.isBuffer : void 0, G0 = A$ || T$, M$ = \"[object Arguments]\", S$ = \"[object Array]\", C$ = \"[object Boolean]\", L$ = \"[object Date]\", D$ = \"[object Error]\", E$ = \"[object Function]\", F$ = \"[object Map]\", R$ = \"[object Number]\", P$ = \"[object Object]\", $$ = \"[object RegExp]\", z$ = \"[object Set]\", I$ = \"[object String]\", N$ = \"[object WeakMap]\", O$ = \"[object ArrayBuffer]\", H$ = \"[object DataView]\", B$ = \"[object Float32Array]\", j$ = \"[object Float64Array]\", U$ = \"[object Int8Array]\", G$ = \"[object Int16Array]\", V$ = \"[object Int32Array]\", q$ = \"[object Uint8Array]\", W$ = \"[object Uint8ClampedArray]\", Z$ = \"[object Uint16Array]\", Y$ = \"[object Uint32Array]\", Vr = {};\nVr[B$] = Vr[j$] = Vr[U$] = Vr[G$] = Vr[V$] = Vr[q$] = Vr[W$] = Vr[Z$] = Vr[Y$] = !0;\nVr[M$] = Vr[S$] = Vr[O$] = Vr[C$] = Vr[H$] = Vr[L$] = Vr[D$] = Vr[E$] = Vr[F$] = Vr[R$] = Vr[P$] = Vr[$$] = Vr[z$] = Vr[I$] = Vr[N$] = !1;\nfunction X$(e) {\n return wu(e) && c1(e.length) && !!Vr[Gu(e)];\n}\nfunction K$(e) {\n return function(t) {\n return e(t);\n };\n}\nvar C3 = typeof exports == \"object\" && exports && !exports.nodeType && exports, Jf = C3 && typeof module == \"object\" && module && !module.nodeType && module, J$ = Jf && Jf.exports === C3, Lm = J$ && x3.process, nw = function() {\n try {\n var e = Jf && Jf.require && Jf.require(\"util\").types;\n return e || Lm && Lm.binding && Lm.binding(\"util\");\n } catch {\n }\n}(), aw = nw && nw.isTypedArray, L3 = aw ? K$(aw) : X$, Q$ = Object.prototype, ez = Q$.hasOwnProperty;\nfunction tz(e, t) {\n var r = pi(e), n = !r && d1(e), a = !r && !n && G0(e), i = !r && !n && !a && L3(e), o = r || n || a || i, l = o ? b$(e.length, String) : [], s = l.length;\n for (var u in e)\n ez.call(e, u) && !(o && // Safari 9 has enumerable `arguments.length` in strict mode.\n (u == \"length\" || // Node.js 0.10 has enumerable non-index properties on buffers.\n a && (u == \"offset\" || u == \"parent\") || // PhantomJS 2 has enumerable non-index properties on typed arrays.\n i && (u == \"buffer\" || u == \"byteLength\" || u == \"byteOffset\") || // Skip index properties.\n u1(u, s))) && l.push(u);\n return l;\n}\nfunction rz(e, t) {\n return function(r) {\n return e(t(r));\n };\n}\nvar nz = rz(Object.keys, Object), az = Object.prototype, iz = az.hasOwnProperty;\nfunction oz(e) {\n if (!y$(e))\n return nz(e);\n var t = [];\n for (var r in Object(e))\n iz.call(e, r) && r != \"constructor\" && t.push(r);\n return t;\n}\nfunction D3(e) {\n return m$(e) ? tz(e) : oz(e);\n}\nvar lz = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/, sz = /^\\w*$/;\nfunction h1(e, t) {\n if (pi(e))\n return !1;\n var r = typeof e;\n return r == \"number\" || r == \"symbol\" || r == \"boolean\" || e == null || jv(e) ? !0 : sz.test(e) || !lz.test(e) || t != null && e in Object(t);\n}\nvar cc = hs(Object, \"create\");\nfunction uz() {\n this.__data__ = cc ? cc(null) : {}, this.size = 0;\n}\nfunction fz(e) {\n var t = this.has(e) && delete this.__data__[e];\n return this.size -= t ? 1 : 0, t;\n}\nvar cz = \"__lodash_hash_undefined__\", dz = Object.prototype, hz = dz.hasOwnProperty;\nfunction vz(e) {\n var t = this.__data__;\n if (cc) {\n var r = t[e];\n return r === cz ? void 0 : r;\n }\n return hz.call(t, e) ? t[e] : void 0;\n}\nvar pz = Object.prototype, mz = pz.hasOwnProperty;\nfunction gz(e) {\n var t = this.__data__;\n return cc ? t[e] !== void 0 : mz.call(t, e);\n}\nvar yz = \"__lodash_hash_undefined__\";\nfunction bz(e, t) {\n var r = this.__data__;\n return this.size += this.has(e) ? 0 : 1, r[e] = cc && t === void 0 ? yz : t, this;\n}\nfunction ns(e) {\n var t = -1, r = e == null ? 0 : e.length;\n for (this.clear(); ++t < r; ) {\n var n = e[t];\n this.set(n[0], n[1]);\n }\n}\nns.prototype.clear = uz;\nns.prototype.delete = fz;\nns.prototype.get = vz;\nns.prototype.has = gz;\nns.prototype.set = bz;\nfunction _z() {\n this.__data__ = [], this.size = 0;\n}\nfunction Uv(e, t) {\n for (var r = e.length; r--; )\n if (f1(e[r][0], t))\n return r;\n return -1;\n}\nvar xz = Array.prototype, wz = xz.splice;\nfunction Tz(e) {\n var t = this.__data__, r = Uv(t, e);\n if (r < 0)\n return !1;\n var n = t.length - 1;\n return r == n ? t.pop() : wz.call(t, r, 1), --this.size, !0;\n}\nfunction kz(e) {\n var t = this.__data__, r = Uv(t, e);\n return r < 0 ? void 0 : t[r][1];\n}\nfunction Az(e) {\n return Uv(this.__data__, e) > -1;\n}\nfunction Mz(e, t) {\n var r = this.__data__, n = Uv(r, e);\n return n < 0 ? (++this.size, r.push([e, t])) : r[n][1] = t, this;\n}\nfunction So(e) {\n var t = -1, r = e == null ? 0 : e.length;\n for (this.clear(); ++t < r; ) {\n var n = e[t];\n this.set(n[0], n[1]);\n }\n}\nSo.prototype.clear = _z;\nSo.prototype.delete = Tz;\nSo.prototype.get = kz;\nSo.prototype.has = Az;\nSo.prototype.set = Mz;\nvar dc = hs(qi, \"Map\");\nfunction Sz() {\n this.size = 0, this.__data__ = {\n hash: new ns(),\n map: new (dc || So)(),\n string: new ns()\n };\n}\nfunction Cz(e) {\n var t = typeof e;\n return t == \"string\" || t == \"number\" || t == \"symbol\" || t == \"boolean\" ? e !== \"__proto__\" : e === null;\n}\nfunction Gv(e, t) {\n var r = e.__data__;\n return Cz(t) ? r[typeof t == \"string\" ? \"string\" : \"hash\"] : r.map;\n}\nfunction Lz(e) {\n var t = Gv(this, e).delete(e);\n return this.size -= t ? 1 : 0, t;\n}\nfunction Dz(e) {\n return Gv(this, e).get(e);\n}\nfunction Ez(e) {\n return Gv(this, e).has(e);\n}\nfunction Fz(e, t) {\n var r = Gv(this, e), n = r.size;\n return r.set(e, t), this.size += r.size == n ? 0 : 1, this;\n}\nfunction Co(e) {\n var t = -1, r = e == null ? 0 : e.length;\n for (this.clear(); ++t < r; ) {\n var n = e[t];\n this.set(n[0], n[1]);\n }\n}\nCo.prototype.clear = Sz;\nCo.prototype.delete = Lz;\nCo.prototype.get = Dz;\nCo.prototype.has = Ez;\nCo.prototype.set = Fz;\nvar Rz = \"Expected a function\";\nfunction v1(e, t) {\n if (typeof e != \"function\" || t != null && typeof t != \"function\")\n throw new TypeError(Rz);\n var r = function() {\n var n = arguments, a = t ? t.apply(this, n) : n[0], i = r.cache;\n if (i.has(a))\n return i.get(a);\n var o = e.apply(this, n);\n return r.cache = i.set(a, o) || i, o;\n };\n return r.cache = new (v1.Cache || Co)(), r;\n}\nv1.Cache = Co;\nvar Pz = 500;\nfunction $z(e) {\n var t = v1(e, function(n) {\n return r.size === Pz && r.clear(), n;\n }), r = t.cache;\n return t;\n}\nvar zz = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g, Iz = /\\\\(\\\\)?/g, Nz = $z(function(e) {\n var t = [];\n return e.charCodeAt(0) === 46 && t.push(\"\"), e.replace(zz, function(r, n, a, i) {\n t.push(a ? i.replace(Iz, \"$1\") : n || r);\n }), t;\n});\nfunction Oz(e) {\n return e == null ? \"\" : T3(e);\n}\nfunction Vv(e, t) {\n return pi(e) ? e : h1(e, t) ? [e] : Nz(Oz(e));\n}\nvar Hz = 1 / 0;\nfunction Bc(e) {\n if (typeof e == \"string\" || jv(e))\n return e;\n var t = e + \"\";\n return t == \"0\" && 1 / e == -Hz ? \"-0\" : t;\n}\nfunction p1(e, t) {\n t = Vv(t, e);\n for (var r = 0, n = t.length; e != null && r < n; )\n e = e[Bc(t[r++])];\n return r && r == n ? e : void 0;\n}\nfunction ho(e, t, r) {\n var n = e == null ? void 0 : p1(e, t);\n return n === void 0 ? r : n;\n}\nfunction E3(e, t) {\n for (var r = -1, n = t.length, a = e.length; ++r < n; )\n e[a + r] = t[r];\n return e;\n}\nvar iw = Ui ? Ui.isConcatSpreadable : void 0;\nfunction Bz(e) {\n return pi(e) || d1(e) || !!(iw && e && e[iw]);\n}\nfunction jz(e, t, r, n, a) {\n var i = -1, o = e.length;\n for (r || (r = Bz), a || (a = []); ++i < o; ) {\n var l = e[i];\n r(l) ? E3(a, l) : a[a.length] = l;\n }\n return a;\n}\nfunction Uz(e) {\n var t = e == null ? 0 : e.length;\n return t ? jz(e) : [];\n}\nfunction Gz(e) {\n return o$(v$(e, void 0, Uz), e + \"\");\n}\nfunction zi() {\n if (!arguments.length)\n return [];\n var e = arguments[0];\n return pi(e) ? e : [e];\n}\nfunction Vz() {\n this.__data__ = new So(), this.size = 0;\n}\nfunction qz(e) {\n var t = this.__data__, r = t.delete(e);\n return this.size = t.size, r;\n}\nfunction Wz(e) {\n return this.__data__.get(e);\n}\nfunction Zz(e) {\n return this.__data__.has(e);\n}\nvar Yz = 200;\nfunction Xz(e, t) {\n var r = this.__data__;\n if (r instanceof So) {\n var n = r.__data__;\n if (!dc || n.length < Yz - 1)\n return n.push([e, t]), this.size = ++r.size, this;\n r = this.__data__ = new Co(n);\n }\n return r.set(e, t), this.size = r.size, this;\n}\nfunction _o(e) {\n var t = this.__data__ = new So(e);\n this.size = t.size;\n}\n_o.prototype.clear = Vz;\n_o.prototype.delete = qz;\n_o.prototype.get = Wz;\n_o.prototype.has = Zz;\n_o.prototype.set = Xz;\nfunction Kz(e, t) {\n for (var r = -1, n = e == null ? 0 : e.length, a = 0, i = []; ++r < n; ) {\n var o = e[r];\n t(o, r, e) && (i[a++] = o);\n }\n return i;\n}\nfunction Jz() {\n return [];\n}\nvar Qz = Object.prototype, eI = Qz.propertyIsEnumerable, ow = Object.getOwnPropertySymbols, tI = ow ? function(e) {\n return e == null ? [] : (e = Object(e), Kz(ow(e), function(t) {\n return eI.call(e, t);\n }));\n} : Jz;\nfunction rI(e, t, r) {\n var n = t(e);\n return pi(e) ? n : E3(n, r(e));\n}\nfunction lw(e) {\n return rI(e, D3, tI);\n}\nvar V0 = hs(qi, \"DataView\"), q0 = hs(qi, \"Promise\"), W0 = hs(qi, \"Set\"), sw = \"[object Map]\", nI = \"[object Object]\", uw = \"[object Promise]\", fw = \"[object Set]\", cw = \"[object WeakMap]\", dw = \"[object DataView]\", aI = ds(V0), iI = ds(dc), oI = ds(q0), lI = ds(W0), sI = ds(U0), Zo = Gu;\n(V0 && Zo(new V0(new ArrayBuffer(1))) != dw || dc && Zo(new dc()) != sw || q0 && Zo(q0.resolve()) != uw || W0 && Zo(new W0()) != fw || U0 && Zo(new U0()) != cw) && (Zo = function(e) {\n var t = Gu(e), r = t == nI ? e.constructor : void 0, n = r ? ds(r) : \"\";\n if (n)\n switch (n) {\n case aI:\n return dw;\n case iI:\n return sw;\n case oI:\n return uw;\n case lI:\n return fw;\n case sI:\n return cw;\n }\n return t;\n});\nvar hw = qi.Uint8Array, uI = \"__lodash_hash_undefined__\";\nfunction fI(e) {\n return this.__data__.set(e, uI), this;\n}\nfunction cI(e) {\n return this.__data__.has(e);\n}\nfunction Qh(e) {\n var t = -1, r = e == null ? 0 : e.length;\n for (this.__data__ = new Co(); ++t < r; )\n this.add(e[t]);\n}\nQh.prototype.add = Qh.prototype.push = fI;\nQh.prototype.has = cI;\nfunction dI(e, t) {\n for (var r = -1, n = e == null ? 0 : e.length; ++r < n; )\n if (t(e[r], r, e))\n return !0;\n return !1;\n}\nfunction hI(e, t) {\n return e.has(t);\n}\nvar vI = 1, pI = 2;\nfunction F3(e, t, r, n, a, i) {\n var o = r & vI, l = e.length, s = t.length;\n if (l != s && !(o && s > l))\n return !1;\n var u = i.get(e), f = i.get(t);\n if (u && f)\n return u == t && f == e;\n var d = -1, h = !0, p = r & pI ? new Qh() : void 0;\n for (i.set(e, t), i.set(t, e); ++d < l; ) {\n var v = e[d], m = t[d];\n if (n)\n var g = o ? n(m, v, d, t, e, i) : n(v, m, d, e, t, i);\n if (g !== void 0) {\n if (g)\n continue;\n h = !1;\n break;\n }\n if (p) {\n if (!dI(t, function(y, w) {\n if (!hI(p, w) && (v === y || a(v, y, r, n, i)))\n return p.push(w);\n })) {\n h = !1;\n break;\n }\n } else if (!(v === m || a(v, m, r, n, i))) {\n h = !1;\n break;\n }\n }\n return i.delete(e), i.delete(t), h;\n}\nfunction mI(e) {\n var t = -1, r = Array(e.size);\n return e.forEach(function(n, a) {\n r[++t] = [a, n];\n }), r;\n}\nfunction gI(e) {\n var t = -1, r = Array(e.size);\n return e.forEach(function(n) {\n r[++t] = n;\n }), r;\n}\nvar yI = 1, bI = 2, _I = \"[object Boolean]\", xI = \"[object Date]\", wI = \"[object Error]\", TI = \"[object Map]\", kI = \"[object Number]\", AI = \"[object RegExp]\", MI = \"[object Set]\", SI = \"[object String]\", CI = \"[object Symbol]\", LI = \"[object ArrayBuffer]\", DI = \"[object DataView]\", vw = Ui ? Ui.prototype : void 0, Dm = vw ? vw.valueOf : void 0;\nfunction EI(e, t, r, n, a, i, o) {\n switch (r) {\n case DI:\n if (e.byteLength != t.byteLength || e.byteOffset != t.byteOffset)\n return !1;\n e = e.buffer, t = t.buffer;\n case LI:\n return !(e.byteLength != t.byteLength || !i(new hw(e), new hw(t)));\n case _I:\n case xI:\n case kI:\n return f1(+e, +t);\n case wI:\n return e.name == t.name && e.message == t.message;\n case AI:\n case SI:\n return e == t + \"\";\n case TI:\n var l = mI;\n case MI:\n var s = n & yI;\n if (l || (l = gI), e.size != t.size && !s)\n return !1;\n var u = o.get(e);\n if (u)\n return u == t;\n n |= bI, o.set(e, t);\n var f = F3(l(e), l(t), n, a, i, o);\n return o.delete(e), f;\n case CI:\n if (Dm)\n return Dm.call(e) == Dm.call(t);\n }\n return !1;\n}\nvar FI = 1, RI = Object.prototype, PI = RI.hasOwnProperty;\nfunction $I(e, t, r, n, a, i) {\n var o = r & FI, l = lw(e), s = l.length, u = lw(t), f = u.length;\n if (s != f && !o)\n return !1;\n for (var d = s; d--; ) {\n var h = l[d];\n if (!(o ? h in t : PI.call(t, h)))\n return !1;\n }\n var p = i.get(e), v = i.get(t);\n if (p && v)\n return p == t && v == e;\n var m = !0;\n i.set(e, t), i.set(t, e);\n for (var g = o; ++d < s; ) {\n h = l[d];\n var y = e[h], w = t[h];\n if (n)\n var k = o ? n(w, y, h, t, e, i) : n(y, w, h, e, t, i);\n if (!(k === void 0 ? y === w || a(y, w, r, n, i) : k)) {\n m = !1;\n break;\n }\n g || (g = h == \"constructor\");\n }\n if (m && !g) {\n var x = e.constructor, _ = t.constructor;\n x != _ && \"constructor\" in e && \"constructor\" in t && !(typeof x == \"function\" && x instanceof x && typeof _ == \"function\" && _ instanceof _) && (m = !1);\n }\n return i.delete(e), i.delete(t), m;\n}\nvar zI = 1, pw = \"[object Arguments]\", mw = \"[object Array]\", Ad = \"[object Object]\", II = Object.prototype, gw = II.hasOwnProperty;\nfunction NI(e, t, r, n, a, i) {\n var o = pi(e), l = pi(t), s = o ? mw : Zo(e), u = l ? mw : Zo(t);\n s = s == pw ? Ad : s, u = u == pw ? Ad : u;\n var f = s == Ad, d = u == Ad, h = s == u;\n if (h && G0(e)) {\n if (!G0(t))\n return !1;\n o = !0, f = !1;\n }\n if (h && !f)\n return i || (i = new _o()), o || L3(e) ? F3(e, t, r, n, a, i) : EI(e, t, s, r, n, a, i);\n if (!(r & zI)) {\n var p = f && gw.call(e, \"__wrapped__\"), v = d && gw.call(t, \"__wrapped__\");\n if (p || v) {\n var m = p ? e.value() : e, g = v ? t.value() : t;\n return i || (i = new _o()), a(m, g, r, n, i);\n }\n }\n return h ? (i || (i = new _o()), $I(e, t, r, n, a, i)) : !1;\n}\nfunction qv(e, t, r, n, a) {\n return e === t ? !0 : e == null || t == null || !wu(e) && !wu(t) ? e !== e && t !== t : NI(e, t, r, n, qv, a);\n}\nvar OI = 1, HI = 2;\nfunction BI(e, t, r, n) {\n var a = r.length, i = a;\n if (e == null)\n return !i;\n for (e = Object(e); a--; ) {\n var o = r[a];\n if (o[2] ? o[1] !== e[o[0]] : !(o[0] in e))\n return !1;\n }\n for (; ++a < i; ) {\n o = r[a];\n var l = o[0], s = e[l], u = o[1];\n if (o[2]) {\n if (s === void 0 && !(l in e))\n return !1;\n } else {\n var f = new _o(), d;\n if (!(d === void 0 ? qv(u, s, OI | HI, n, f) : d))\n return !1;\n }\n }\n return !0;\n}\nfunction R3(e) {\n return e === e && !ll(e);\n}\nfunction jI(e) {\n for (var t = D3(e), r = t.length; r--; ) {\n var n = t[r], a = e[n];\n t[r] = [n, a, R3(a)];\n }\n return t;\n}\nfunction P3(e, t) {\n return function(r) {\n return r == null ? !1 : r[e] === t && (t !== void 0 || e in Object(r));\n };\n}\nfunction UI(e) {\n var t = jI(e);\n return t.length == 1 && t[0][2] ? P3(t[0][0], t[0][1]) : function(r) {\n return r === e || BI(r, e, t);\n };\n}\nfunction GI(e, t) {\n return e != null && t in Object(e);\n}\nfunction VI(e, t, r) {\n t = Vv(t, e);\n for (var n = -1, a = t.length, i = !1; ++n < a; ) {\n var o = Bc(t[n]);\n if (!(i = e != null && r(e, o)))\n break;\n e = e[o];\n }\n return i || ++n != a ? i : (a = e == null ? 0 : e.length, !!a && c1(a) && u1(o, a) && (pi(e) || d1(e)));\n}\nfunction $3(e, t) {\n return e != null && VI(e, t, GI);\n}\nvar qI = 1, WI = 2;\nfunction ZI(e, t) {\n return h1(e) && R3(t) ? P3(Bc(e), t) : function(r) {\n var n = ho(r, e);\n return n === void 0 && n === t ? $3(r, e) : qv(t, n, qI | WI);\n };\n}\nfunction YI(e) {\n return function(t) {\n return t == null ? void 0 : t[e];\n };\n}\nfunction XI(e) {\n return function(t) {\n return p1(t, e);\n };\n}\nfunction KI(e) {\n return h1(e) ? YI(Bc(e)) : XI(e);\n}\nfunction JI(e) {\n return typeof e == \"function\" ? e : e == null ? k3 : typeof e == \"object\" ? pi(e) ? ZI(e[0], e[1]) : UI(e) : KI(e);\n}\nvar Em = function() {\n return qi.Date.now();\n}, QI = \"Expected a function\", e7 = Math.max, t7 = Math.min;\nfunction r7(e, t, r) {\n var n, a, i, o, l, s, u = 0, f = !1, d = !1, h = !0;\n if (typeof e != \"function\")\n throw new TypeError(QI);\n t = Kx(t) || 0, ll(r) && (f = !!r.leading, d = \"maxWait\" in r, i = d ? e7(Kx(r.maxWait) || 0, t) : i, h = \"trailing\" in r ? !!r.trailing : h);\n function p(T) {\n var S = n, M = a;\n return n = a = void 0, u = T, o = e.apply(M, S), o;\n }\n function v(T) {\n return u = T, l = setTimeout(y, t), f ? p(T) : o;\n }\n function m(T) {\n var S = T - s, M = T - u, L = t - S;\n return d ? t7(L, i - M) : L;\n }\n function g(T) {\n var S = T - s, M = T - u;\n return s === void 0 || S >= t || S < 0 || d && M >= i;\n }\n function y() {\n var T = Em();\n if (g(T))\n return w(T);\n l = setTimeout(y, m(T));\n }\n function w(T) {\n return l = void 0, h && n ? p(T) : (n = a = void 0, o);\n }\n function k() {\n l !== void 0 && clearTimeout(l), u = 0, n = s = a = l = void 0;\n }\n function x() {\n return l === void 0 ? o : w(Em());\n }\n function _() {\n var T = Em(), S = g(T);\n if (n = arguments, a = this, s = T, S) {\n if (l === void 0)\n return v(s);\n if (d)\n return clearTimeout(l), l = setTimeout(y, t), p(s);\n }\n return l === void 0 && (l = setTimeout(y, t)), o;\n }\n return _.cancel = k, _.flush = x, _;\n}\nfunction n7(e, t, r) {\n var n = e == null ? 0 : e.length;\n if (!n)\n return -1;\n var a = n - 1;\n return l$(e, JI(t), a);\n}\nfunction Z0(e) {\n for (var t = -1, r = e == null ? 0 : e.length, n = {}; ++t < r; ) {\n var a = e[t];\n n[a[0]] = a[1];\n }\n return n;\n}\nfunction Y0(e, t) {\n return qv(e, t);\n}\nfunction m1(e) {\n return e == null;\n}\nfunction a7(e) {\n return e === void 0;\n}\nfunction i7(e, t, r, n) {\n if (!ll(e))\n return e;\n t = Vv(t, e);\n for (var a = -1, i = t.length, o = i - 1, l = e; l != null && ++a < i; ) {\n var s = Bc(t[a]), u = r;\n if (s === \"__proto__\" || s === \"constructor\" || s === \"prototype\")\n return e;\n if (a != o) {\n var f = l[s];\n u = void 0, u === void 0 && (u = ll(f) ? f : u1(t[a + 1]) ? [] : {});\n }\n h$(l, s, u), l = l[s];\n }\n return e;\n}\nfunction o7(e, t, r) {\n for (var n = -1, a = t.length, i = {}; ++n < a; ) {\n var o = t[n], l = p1(e, o);\n r(l, o) && i7(i, Vv(o, e), l);\n }\n return i;\n}\nfunction l7(e, t) {\n return o7(e, t, function(r, n) {\n return $3(e, n);\n });\n}\nvar s7 = Gz(function(e, t) {\n return e == null ? {} : l7(e, t);\n});\nconst qf = (e) => e === void 0, g1 = (e) => typeof e == \"boolean\", Ga = (e) => typeof e == \"number\", Vl = (e) => typeof Element > \"u\" ? !1 : e instanceof Element, u7 = (e) => Uu(e) ? !Number.isNaN(Number(e)) : !1, f7 = (e = \"\") => e.replace(/[|\\\\{}()[\\]^$+*?.]/g, \"\\\\$&\").replace(/-/g, \"\\\\x2d\");\nclass z3 extends Error {\n constructor(t) {\n super(t), this.name = \"ElementPlusError\";\n }\n}\nfunction c7(e, t) {\n throw new z3(`[${e}] ${t}`);\n}\nfunction Gi(e, t) {\n if (cs.env.NODE_ENV !== \"production\") {\n const r = Uu(e) ? new z3(`[${e}] ${t}`) : e;\n console.warn(r);\n }\n}\nconst d7 = \"utils/dom/style\";\nfunction ev(e, t = \"px\") {\n if (!e)\n return \"\";\n if (Ga(e) || u7(e))\n return `${e}${t}`;\n if (Uu(e))\n return e;\n Gi(d7, \"binding value must be a string or number\");\n}\nfunction h7(e, t) {\n if (!qn)\n return;\n if (!t) {\n e.scrollTop = 0;\n return;\n }\n const r = [];\n let n = t.offsetParent;\n for (; n !== null && e !== n && e.contains(n); )\n r.push(n), n = n.offsetParent;\n const a = t.offsetTop + r.reduce((s, u) => s + u.offsetTop, 0), i = a + t.offsetHeight, o = e.scrollTop, l = o + e.clientHeight;\n a < o ? e.scrollTop = a : i > l && (e.scrollTop = i - e.clientHeight);\n}\n/*! Element Plus Icons Vue v2.3.1 */\nvar v7 = /* @__PURE__ */ er({\n name: \"ArrowDown\",\n __name: \"arrow-down\",\n setup(e) {\n return (t, r) => (At(), Xt(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n cr(\"path\", {\n fill: \"currentColor\",\n d: \"M831.872 340.864 512 652.672 192.128 340.864a30.592 30.592 0 0 0-42.752 0 29.12 29.12 0 0 0 0 41.6L489.664 714.24a32 32 0 0 0 44.672 0l340.288-331.712a29.12 29.12 0 0 0 0-41.728 30.592 30.592 0 0 0-42.752 0z\"\n })\n ]));\n }\n}), p7 = v7, m7 = /* @__PURE__ */ er({\n name: \"ArrowRight\",\n __name: \"arrow-right\",\n setup(e) {\n return (t, r) => (At(), Xt(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n cr(\"path\", {\n fill: \"currentColor\",\n d: \"M340.864 149.312a30.592 30.592 0 0 0 0 42.752L652.736 512 340.864 831.872a30.592 30.592 0 0 0 0 42.752 29.12 29.12 0 0 0 41.728 0L714.24 534.336a32 32 0 0 0 0-44.672L382.592 149.376a29.12 29.12 0 0 0-41.728 0z\"\n })\n ]));\n }\n}), g7 = m7, y7 = /* @__PURE__ */ er({\n name: \"CircleCheck\",\n __name: \"circle-check\",\n setup(e) {\n return (t, r) => (At(), Xt(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n cr(\"path\", {\n fill: \"currentColor\",\n d: \"M512 896a384 384 0 1 0 0-768 384 384 0 0 0 0 768m0 64a448 448 0 1 1 0-896 448 448 0 0 1 0 896\"\n }),\n cr(\"path\", {\n fill: \"currentColor\",\n d: \"M745.344 361.344a32 32 0 0 1 45.312 45.312l-288 288a32 32 0 0 1-45.312 0l-160-160a32 32 0 1 1 45.312-45.312L480 626.752l265.344-265.408z\"\n })\n ]));\n }\n}), b7 = y7, _7 = /* @__PURE__ */ er({\n name: \"CircleClose\",\n __name: \"circle-close\",\n setup(e) {\n return (t, r) => (At(), Xt(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n cr(\"path\", {\n fill: \"currentColor\",\n d: \"m466.752 512-90.496-90.496a32 32 0 0 1 45.248-45.248L512 466.752l90.496-90.496a32 32 0 1 1 45.248 45.248L557.248 512l90.496 90.496a32 32 0 1 1-45.248 45.248L512 557.248l-90.496 90.496a32 32 0 0 1-45.248-45.248z\"\n }),\n cr(\"path\", {\n fill: \"currentColor\",\n d: \"M512 896a384 384 0 1 0 0-768 384 384 0 0 0 0 768m0 64a448 448 0 1 1 0-896 448 448 0 0 1 0 896\"\n })\n ]));\n }\n}), I3 = _7, x7 = /* @__PURE__ */ er({\n name: \"Close\",\n __name: \"close\",\n setup(e) {\n return (t, r) => (At(), Xt(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n cr(\"path\", {\n fill: \"currentColor\",\n d: \"M764.288 214.592 512 466.88 259.712 214.592a31.936 31.936 0 0 0-45.12 45.12L466.752 512 214.528 764.224a31.936 31.936 0 1 0 45.12 45.184L512 557.184l252.288 252.288a31.936 31.936 0 0 0 45.12-45.12L557.12 512.064l252.288-252.352a31.936 31.936 0 1 0-45.12-45.184z\"\n })\n ]));\n }\n}), yw = x7, w7 = /* @__PURE__ */ er({\n name: \"Loading\",\n __name: \"loading\",\n setup(e) {\n return (t, r) => (At(), Xt(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1024 1024\"\n }, [\n cr(\"path\", {\n fill: \"currentColor\",\n d: \"M512 64a32 32 0 0 1 32 32v192a32 32 0 0 1-64 0V96a32 32 0 0 1 32-32m0 640a32 32 0 0 1 32 32v192a32 32 0 1 1-64 0V736a32 32 0 0 1 32-32m448-192a32 32 0 0 1-32 32H736a32 32 0 1 1 0-64h192a32 32 0 0 1 32 32m-640 0a32 32 0 0 1-32 32H96a32 32 0 0 1 0-64h192a32 32 0 0 1 32 32M195.2 195.2a32 32 0 0 1 45.248 0L376.32 331.008a32 32 0 0 1-45.248 45.248L195.2 240.448a32 32 0 0 1 0-45.248zm452.544 452.544a32 32 0 0 1 45.248 0L828.8 783.552a32 32 0 0 1-45.248 45.248L647.744 692.992a32 32 0 0 1 0-45.248zM828.8 195.264a32 32 0 0 1 0 45.184L692.992 376.32a32 32 0 0 1-45.248-45.248l135.808-135.808a32 32 0 0 1 45.248 0m-452.544 452.48a32 32 0 0 1 0 45.248L240.448 828.8a32 32 0 0 1-45.248-45.248l135.808-135.808a32 32 0 0 1 45.248 0z\"\n })\n ]));\n }\n}), N3 = w7;\nconst O3 = \"__epPropKey\", dr = (e) => e, T7 = (e) => Oi(e) && !!e[O3], Wv = (e, t) => {\n if (!Oi(e) || T7(e))\n return e;\n const { values: r, required: n, default: a, type: i, validator: o } = e, s = {\n type: i,\n required: !!n,\n validator: r || o ? (u) => {\n let f = !1, d = [];\n if (r && (d = Array.from(r), qx(e, \"default\") && d.push(a), f || (f = d.includes(u))), o && (f || (f = o(u))), !f && d.length > 0) {\n const h = [...new Set(d)].map((p) => JSON.stringify(p)).join(\", \");\n ER(`Invalid prop: validation failed${t ? ` for prop \"${t}\"` : \"\"}. Expected one of [${h}], got value ${JSON.stringify(u)}.`);\n }\n return f;\n } : void 0,\n [O3]: !0\n };\n return qx(e, \"default\") && (s.default = a), s;\n}, qr = (e) => Z0(Object.entries(e).map(([t, r]) => [\n t,\n Wv(r, t)\n])), Tu = dr([\n String,\n Object,\n Function\n]), k7 = {\n validating: N3,\n success: b7,\n error: I3\n}, gi = (e, t) => {\n if (e.install = (r) => {\n for (const n of [e, ...Object.values(t ?? {})])\n r.component(n.name, n);\n }, t)\n for (const [r, n] of Object.entries(t))\n e[r] = n;\n return e;\n}, A7 = (e, t) => (e.install = (r) => {\n r.directive(t, e);\n}, e), Zv = (e) => (e.install = Kh, e), hc = {\n tab: \"Tab\",\n enter: \"Enter\",\n space: \"Space\",\n left: \"ArrowLeft\",\n up: \"ArrowUp\",\n right: \"ArrowRight\",\n down: \"ArrowDown\",\n esc: \"Escape\",\n delete: \"Delete\",\n backspace: \"Backspace\",\n numpadEnter: \"NumpadEnter\",\n pageUp: \"PageUp\",\n pageDown: \"PageDown\",\n home: \"Home\",\n end: \"End\"\n}, Ko = \"update:modelValue\", Yv = \"change\", H3 = [\"\", \"default\", \"small\", \"large\"], M7 = (e) => /([\\uAC00-\\uD7AF\\u3130-\\u318F])+/gi.test(e), S7 = (e) => e, C7 = ({ from: e, replacement: t, scope: r, version: n, ref: a, type: i = \"API\" }, o) => {\n _r(() => $e(o), (l) => {\n l && Gi(r, `[${i}] ${e} is about to be deprecated in version ${n}, please use ${t} instead.\nFor more detail, please visit: ${a}\n`);\n }, {\n immediate: !0\n });\n};\nvar L7 = {\n name: \"en\",\n el: {\n breadcrumb: {\n label: \"Breadcrumb\"\n },\n colorpicker: {\n confirm: \"OK\",\n clear: \"Clear\",\n defaultLabel: \"color picker\",\n description: \"current color is {color}. press enter to select a new color.\",\n alphaLabel: \"pick alpha value\"\n },\n datepicker: {\n now: \"Now\",\n today: \"Today\",\n cancel: \"Cancel\",\n clear: \"Clear\",\n confirm: \"OK\",\n dateTablePrompt: \"Use the arrow keys and enter to select the day of the month\",\n monthTablePrompt: \"Use the arrow keys and enter to select the month\",\n yearTablePrompt: \"Use the arrow keys and enter to select the year\",\n selectedDate: \"Selected date\",\n selectDate: \"Select date\",\n selectTime: \"Select time\",\n startDate: \"Start Date\",\n startTime: \"Start Time\",\n endDate: \"End Date\",\n endTime: \"End Time\",\n prevYear: \"Previous Year\",\n nextYear: \"Next Year\",\n prevMonth: \"Previous Month\",\n nextMonth: \"Next Month\",\n year: \"\",\n month1: \"January\",\n month2: \"February\",\n month3: \"March\",\n month4: \"April\",\n month5: \"May\",\n month6: \"June\",\n month7: \"July\",\n month8: \"August\",\n month9: \"September\",\n month10: \"October\",\n month11: \"November\",\n month12: \"December\",\n week: \"week\",\n weeks: {\n sun: \"Sun\",\n mon: \"Mon\",\n tue: \"Tue\",\n wed: \"Wed\",\n thu: \"Thu\",\n fri: \"Fri\",\n sat: \"Sat\"\n },\n weeksFull: {\n sun: \"Sunday\",\n mon: \"Monday\",\n tue: \"Tuesday\",\n wed: \"Wednesday\",\n thu: \"Thursday\",\n fri: \"Friday\",\n sat: \"Saturday\"\n },\n months: {\n jan: \"Jan\",\n feb: \"Feb\",\n mar: \"Mar\",\n apr: \"Apr\",\n may: \"May\",\n jun: \"Jun\",\n jul: \"Jul\",\n aug: \"Aug\",\n sep: \"Sep\",\n oct: \"Oct\",\n nov: \"Nov\",\n dec: \"Dec\"\n }\n },\n inputNumber: {\n decrease: \"decrease number\",\n increase: \"increase number\"\n },\n select: {\n loading: \"Loading\",\n noMatch: \"No matching data\",\n noData: \"No data\",\n placeholder: \"Select\"\n },\n mention: {\n loading: \"Loading\"\n },\n dropdown: {\n toggleDropdown: \"Toggle Dropdown\"\n },\n cascader: {\n noMatch: \"No matching data\",\n loading: \"Loading\",\n placeholder: \"Select\",\n noData: \"No data\"\n },\n pagination: {\n goto: \"Go to\",\n pagesize: \"/page\",\n total: \"Total {total}\",\n pageClassifier: \"\",\n page: \"Page\",\n prev: \"Go to previous page\",\n next: \"Go to next page\",\n currentPage: \"page {pager}\",\n prevPages: \"Previous {pager} pages\",\n nextPages: \"Next {pager} pages\",\n deprecationWarning: \"Deprecated usages detected, please refer to the el-pagination documentation for more details\"\n },\n dialog: {\n close: \"Close this dialog\"\n },\n drawer: {\n close: \"Close this dialog\"\n },\n messagebox: {\n title: \"Message\",\n confirm: \"OK\",\n cancel: \"Cancel\",\n error: \"Illegal input\",\n close: \"Close this dialog\"\n },\n upload: {\n deleteTip: \"press delete to remove\",\n delete: \"Delete\",\n preview: \"Preview\",\n continue: \"Continue\"\n },\n slider: {\n defaultLabel: \"slider between {min} and {max}\",\n defaultRangeStartLabel: \"pick start value\",\n defaultRangeEndLabel: \"pick end value\"\n },\n table: {\n emptyText: \"No Data\",\n confirmFilter: \"Confirm\",\n resetFilter: \"Reset\",\n clearFilter: \"All\",\n sumText: \"Sum\"\n },\n tour: {\n next: \"Next\",\n previous: \"Previous\",\n finish: \"Finish\"\n },\n tree: {\n emptyText: \"No Data\"\n },\n transfer: {\n noMatch: \"No matching data\",\n noData: \"No data\",\n titles: [\"List 1\", \"List 2\"],\n filterPlaceholder: \"Enter keyword\",\n noCheckedFormat: \"{total} items\",\n hasCheckedFormat: \"{checked}/{total} checked\"\n },\n image: {\n error: \"FAILED\"\n },\n pageHeader: {\n title: \"Back\"\n },\n popconfirm: {\n confirmButtonText: \"Yes\",\n cancelButtonText: \"No\"\n },\n carousel: {\n leftArrow: \"Carousel arrow left\",\n rightArrow: \"Carousel arrow right\",\n indicator: \"Carousel switch to index {index}\"\n }\n }\n};\nconst D7 = (e) => (t, r) => E7(t, r, $e(e)), E7 = (e, t, r) => ho(r, e, e).replace(/\\{(\\w+)\\}/g, (n, a) => {\n var i;\n return `${(i = t == null ? void 0 : t[a]) != null ? i : `{${a}}`}`;\n}), F7 = (e) => {\n const t = et(() => $e(e).name), r = FR(e) ? e : Rt(e);\n return {\n lang: t,\n locale: r,\n t: D7(e)\n };\n}, R7 = Symbol(\"localeContextKey\"), P7 = (e) => {\n const t = Rr(R7, Rt());\n return F7(et(() => t.value || L7));\n}, Fm = \"el\", $7 = \"is-\", Cl = (e, t, r, n, a) => {\n let i = `${e}-${t}`;\n return r && (i += `-${r}`), n && (i += `__${n}`), a && (i += `--${a}`), i;\n}, z7 = Symbol(\"namespaceContextKey\"), y1 = (e) => {\n const t = xa() ? Rr(z7, Rt(Fm)) : Rt(Fm);\n return et(() => $e(t) || Fm);\n}, on = (e, t) => {\n const r = y1();\n return {\n namespace: r,\n b: (m = \"\") => Cl(r.value, e, m, \"\", \"\"),\n e: (m) => m ? Cl(r.value, e, \"\", m, \"\") : \"\",\n m: (m) => m ? Cl(r.value, e, \"\", \"\", m) : \"\",\n be: (m, g) => m && g ? Cl(r.value, e, m, g, \"\") : \"\",\n em: (m, g) => m && g ? Cl(r.value, e, \"\", m, g) : \"\",\n bm: (m, g) => m && g ? Cl(r.value, e, m, \"\", g) : \"\",\n bem: (m, g, y) => m && g && y ? Cl(r.value, e, m, g, y) : \"\",\n is: (m, ...g) => {\n const y = g.length >= 1 ? g[0] : !0;\n return m && y ? `${$7}${m}` : \"\";\n },\n cssVar: (m) => {\n const g = {};\n for (const y in m)\n m[y] && (g[`--${r.value}-${y}`] = m[y]);\n return g;\n },\n cssVarName: (m) => `--${r.value}-${m}`,\n cssVarBlock: (m) => {\n const g = {};\n for (const y in m)\n m[y] && (g[`--${r.value}-${e}-${y}`] = m[y]);\n return g;\n },\n cssVarBlockName: (m) => `--${r.value}-${e}-${m}`\n };\n}, I7 = Wv({\n type: dr(Boolean),\n default: null\n}), N7 = Wv({\n type: dr(Function)\n}), O7 = (e) => {\n const t = `update:${e}`, r = `onUpdate:${e}`, n = [t], a = {\n [e]: I7,\n [r]: N7\n };\n return {\n useModelToggle: ({\n indicator: o,\n toggleReason: l,\n shouldHideWhenRouteChanges: s,\n shouldProceed: u,\n onShow: f,\n onHide: d\n }) => {\n const h = xa(), { emit: p } = h, v = h.props, m = et(() => ua(v[r])), g = et(() => v[e] === null), y = (S) => {\n o.value !== !0 && (o.value = !0, l && (l.value = S), ua(f) && f(S));\n }, w = (S) => {\n o.value !== !1 && (o.value = !1, l && (l.value = S), ua(d) && d(S));\n }, k = (S) => {\n if (v.disabled === !0 || ua(u) && !u())\n return;\n const M = m.value && qn;\n M && p(t, !0), (g.value || !M) && y(S);\n }, x = (S) => {\n if (v.disabled === !0 || !qn)\n return;\n const M = m.value && qn;\n M && p(t, !1), (g.value || !M) && w(S);\n }, _ = (S) => {\n g1(S) && (v.disabled && S ? m.value && p(t, !1) : o.value !== S && (S ? y() : w()));\n }, T = () => {\n o.value ? x() : k();\n };\n return _r(() => v[e], _), s && h.appContext.config.globalProperties.$route !== void 0 && _r(() => ({\n ...h.proxy.$route\n }), () => {\n s.value && o.value && x();\n }), Zn(() => {\n _(v[e]);\n }), {\n hide: x,\n show: k,\n toggle: T,\n hasUpdateHandler: m\n };\n },\n useModelToggleProps: a,\n useModelToggleEmits: n\n };\n}, B3 = (e) => {\n const t = xa();\n return et(() => {\n var r, n;\n return (n = (r = t == null ? void 0 : t.proxy) == null ? void 0 : r.$props) == null ? void 0 : n[e];\n });\n};\nvar fa = \"top\", Wa = \"bottom\", Za = \"right\", ca = \"left\", b1 = \"auto\", jc = [fa, Wa, Za, ca], ku = \"start\", vc = \"end\", H7 = \"clippingParents\", j3 = \"viewport\", mf = \"popper\", B7 = \"reference\", bw = jc.reduce(function(e, t) {\n return e.concat([t + \"-\" + ku, t + \"-\" + vc]);\n}, []), Xv = [].concat(jc, [b1]).reduce(function(e, t) {\n return e.concat([t, t + \"-\" + ku, t + \"-\" + vc]);\n}, []), j7 = \"beforeRead\", U7 = \"read\", G7 = \"afterRead\", V7 = \"beforeMain\", q7 = \"main\", W7 = \"afterMain\", Z7 = \"beforeWrite\", Y7 = \"write\", X7 = \"afterWrite\", K7 = [j7, U7, G7, V7, q7, W7, Z7, Y7, X7];\nfunction Vi(e) {\n return e ? (e.nodeName || \"\").toLowerCase() : null;\n}\nfunction yi(e) {\n if (e == null) return window;\n if (e.toString() !== \"[object Window]\") {\n var t = e.ownerDocument;\n return t && t.defaultView || window;\n }\n return e;\n}\nfunction Au(e) {\n var t = yi(e).Element;\n return e instanceof t || e instanceof Element;\n}\nfunction Va(e) {\n var t = yi(e).HTMLElement;\n return e instanceof t || e instanceof HTMLElement;\n}\nfunction _1(e) {\n if (typeof ShadowRoot > \"u\") return !1;\n var t = yi(e).ShadowRoot;\n return e instanceof t || e instanceof ShadowRoot;\n}\nfunction J7(e) {\n var t = e.state;\n Object.keys(t.elements).forEach(function(r) {\n var n = t.styles[r] || {}, a = t.attributes[r] || {}, i = t.elements[r];\n !Va(i) || !Vi(i) || (Object.assign(i.style, n), Object.keys(a).forEach(function(o) {\n var l = a[o];\n l === !1 ? i.removeAttribute(o) : i.setAttribute(o, l === !0 ? \"\" : l);\n }));\n });\n}\nfunction Q7(e) {\n var t = e.state, r = { popper: { position: t.options.strategy, left: \"0\", top: \"0\", margin: \"0\" }, arrow: { position: \"absolute\" }, reference: {} };\n return Object.assign(t.elements.popper.style, r.popper), t.styles = r, t.elements.arrow && Object.assign(t.elements.arrow.style, r.arrow), function() {\n Object.keys(t.elements).forEach(function(n) {\n var a = t.elements[n], i = t.attributes[n] || {}, o = Object.keys(t.styles.hasOwnProperty(n) ? t.styles[n] : r[n]), l = o.reduce(function(s, u) {\n return s[u] = \"\", s;\n }, {});\n !Va(a) || !Vi(a) || (Object.assign(a.style, l), Object.keys(i).forEach(function(s) {\n a.removeAttribute(s);\n }));\n });\n };\n}\nvar U3 = { name: \"applyStyles\", enabled: !0, phase: \"write\", fn: J7, effect: Q7, requires: [\"computeStyles\"] };\nfunction Bi(e) {\n return e.split(\"-\")[0];\n}\nvar ql = Math.max, tv = Math.min, Mu = Math.round;\nfunction Su(e, t) {\n t === void 0 && (t = !1);\n var r = e.getBoundingClientRect(), n = 1, a = 1;\n if (Va(e) && t) {\n var i = e.offsetHeight, o = e.offsetWidth;\n o > 0 && (n = Mu(r.width) / o || 1), i > 0 && (a = Mu(r.height) / i || 1);\n }\n return { width: r.width / n, height: r.height / a, top: r.top / a, right: r.right / n, bottom: r.bottom / a, left: r.left / n, x: r.left / n, y: r.top / a };\n}\nfunction x1(e) {\n var t = Su(e), r = e.offsetWidth, n = e.offsetHeight;\n return Math.abs(t.width - r) <= 1 && (r = t.width), Math.abs(t.height - n) <= 1 && (n = t.height), { x: e.offsetLeft, y: e.offsetTop, width: r, height: n };\n}\nfunction G3(e, t) {\n var r = t.getRootNode && t.getRootNode();\n if (e.contains(t)) return !0;\n if (r && _1(r)) {\n var n = t;\n do {\n if (n && e.isSameNode(n)) return !0;\n n = n.parentNode || n.host;\n } while (n);\n }\n return !1;\n}\nfunction To(e) {\n return yi(e).getComputedStyle(e);\n}\nfunction e9(e) {\n return [\"table\", \"td\", \"th\"].indexOf(Vi(e)) >= 0;\n}\nfunction vl(e) {\n return ((Au(e) ? e.ownerDocument : e.document) || window.document).documentElement;\n}\nfunction Kv(e) {\n return Vi(e) === \"html\" ? e : e.assignedSlot || e.parentNode || (_1(e) ? e.host : null) || vl(e);\n}\nfunction _w(e) {\n return !Va(e) || To(e).position === \"fixed\" ? null : e.offsetParent;\n}\nfunction t9(e) {\n var t = navigator.userAgent.toLowerCase().indexOf(\"firefox\") !== -1, r = navigator.userAgent.indexOf(\"Trident\") !== -1;\n if (r && Va(e)) {\n var n = To(e);\n if (n.position === \"fixed\") return null;\n }\n var a = Kv(e);\n for (_1(a) && (a = a.host); Va(a) && [\"html\", \"body\"].indexOf(Vi(a)) < 0; ) {\n var i = To(a);\n if (i.transform !== \"none\" || i.perspective !== \"none\" || i.contain === \"paint\" || [\"transform\", \"perspective\"].indexOf(i.willChange) !== -1 || t && i.willChange === \"filter\" || t && i.filter && i.filter !== \"none\") return a;\n a = a.parentNode;\n }\n return null;\n}\nfunction Uc(e) {\n for (var t = yi(e), r = _w(e); r && e9(r) && To(r).position === \"static\"; ) r = _w(r);\n return r && (Vi(r) === \"html\" || Vi(r) === \"body\" && To(r).position === \"static\") ? t : r || t9(e) || t;\n}\nfunction w1(e) {\n return [\"top\", \"bottom\"].indexOf(e) >= 0 ? \"x\" : \"y\";\n}\nfunction Qf(e, t, r) {\n return ql(e, tv(t, r));\n}\nfunction r9(e, t, r) {\n var n = Qf(e, t, r);\n return n > r ? r : n;\n}\nfunction V3() {\n return { top: 0, right: 0, bottom: 0, left: 0 };\n}\nfunction q3(e) {\n return Object.assign({}, V3(), e);\n}\nfunction W3(e, t) {\n return t.reduce(function(r, n) {\n return r[n] = e, r;\n }, {});\n}\nvar n9 = function(e, t) {\n return e = typeof e == \"function\" ? e(Object.assign({}, t.rects, { placement: t.placement })) : e, q3(typeof e != \"number\" ? e : W3(e, jc));\n};\nfunction a9(e) {\n var t, r = e.state, n = e.name, a = e.options, i = r.elements.arrow, o = r.modifiersData.popperOffsets, l = Bi(r.placement), s = w1(l), u = [ca, Za].indexOf(l) >= 0, f = u ? \"height\" : \"width\";\n if (!(!i || !o)) {\n var d = n9(a.padding, r), h = x1(i), p = s === \"y\" ? fa : ca, v = s === \"y\" ? Wa : Za, m = r.rects.reference[f] + r.rects.reference[s] - o[s] - r.rects.popper[f], g = o[s] - r.rects.reference[s], y = Uc(i), w = y ? s === \"y\" ? y.clientHeight || 0 : y.clientWidth || 0 : 0, k = m / 2 - g / 2, x = d[p], _ = w - h[f] - d[v], T = w / 2 - h[f] / 2 + k, S = Qf(x, T, _), M = s;\n r.modifiersData[n] = (t = {}, t[M] = S, t.centerOffset = S - T, t);\n }\n}\nfunction i9(e) {\n var t = e.state, r = e.options, n = r.element, a = n === void 0 ? \"[data-popper-arrow]\" : n;\n a != null && (typeof a == \"string\" && (a = t.elements.popper.querySelector(a), !a) || !G3(t.elements.popper, a) || (t.elements.arrow = a));\n}\nvar o9 = { name: \"arrow\", enabled: !0, phase: \"main\", fn: a9, effect: i9, requires: [\"popperOffsets\"], requiresIfExists: [\"preventOverflow\"] };\nfunction Cu(e) {\n return e.split(\"-\")[1];\n}\nvar l9 = { top: \"auto\", right: \"auto\", bottom: \"auto\", left: \"auto\" };\nfunction s9(e) {\n var t = e.x, r = e.y, n = window, a = n.devicePixelRatio || 1;\n return { x: Mu(t * a) / a || 0, y: Mu(r * a) / a || 0 };\n}\nfunction xw(e) {\n var t, r = e.popper, n = e.popperRect, a = e.placement, i = e.variation, o = e.offsets, l = e.position, s = e.gpuAcceleration, u = e.adaptive, f = e.roundOffsets, d = e.isFixed, h = o.x, p = h === void 0 ? 0 : h, v = o.y, m = v === void 0 ? 0 : v, g = typeof f == \"function\" ? f({ x: p, y: m }) : { x: p, y: m };\n p = g.x, m = g.y;\n var y = o.hasOwnProperty(\"x\"), w = o.hasOwnProperty(\"y\"), k = ca, x = fa, _ = window;\n if (u) {\n var T = Uc(r), S = \"clientHeight\", M = \"clientWidth\";\n if (T === yi(r) && (T = vl(r), To(T).position !== \"static\" && l === \"absolute\" && (S = \"scrollHeight\", M = \"scrollWidth\")), T = T, a === fa || (a === ca || a === Za) && i === vc) {\n x = Wa;\n var L = d && T === _ && _.visualViewport ? _.visualViewport.height : T[S];\n m -= L - n.height, m *= s ? 1 : -1;\n }\n if (a === ca || (a === fa || a === Wa) && i === vc) {\n k = Za;\n var F = d && T === _ && _.visualViewport ? _.visualViewport.width : T[M];\n p -= F - n.width, p *= s ? 1 : -1;\n }\n }\n var $ = Object.assign({ position: l }, u && l9), I = f === !0 ? s9({ x: p, y: m }) : { x: p, y: m };\n if (p = I.x, m = I.y, s) {\n var O;\n return Object.assign({}, $, (O = {}, O[x] = w ? \"0\" : \"\", O[k] = y ? \"0\" : \"\", O.transform = (_.devicePixelRatio || 1) <= 1 ? \"translate(\" + p + \"px, \" + m + \"px)\" : \"translate3d(\" + p + \"px, \" + m + \"px, 0)\", O));\n }\n return Object.assign({}, $, (t = {}, t[x] = w ? m + \"px\" : \"\", t[k] = y ? p + \"px\" : \"\", t.transform = \"\", t));\n}\nfunction u9(e) {\n var t = e.state, r = e.options, n = r.gpuAcceleration, a = n === void 0 ? !0 : n, i = r.adaptive, o = i === void 0 ? !0 : i, l = r.roundOffsets, s = l === void 0 ? !0 : l, u = { placement: Bi(t.placement), variation: Cu(t.placement), popper: t.elements.popper, popperRect: t.rects.popper, gpuAcceleration: a, isFixed: t.options.strategy === \"fixed\" };\n t.modifiersData.popperOffsets != null && (t.styles.popper = Object.assign({}, t.styles.popper, xw(Object.assign({}, u, { offsets: t.modifiersData.popperOffsets, position: t.options.strategy, adaptive: o, roundOffsets: s })))), t.modifiersData.arrow != null && (t.styles.arrow = Object.assign({}, t.styles.arrow, xw(Object.assign({}, u, { offsets: t.modifiersData.arrow, position: \"absolute\", adaptive: !1, roundOffsets: s })))), t.attributes.popper = Object.assign({}, t.attributes.popper, { \"data-popper-placement\": t.placement });\n}\nvar Z3 = { name: \"computeStyles\", enabled: !0, phase: \"beforeWrite\", fn: u9, data: {} }, Md = { passive: !0 };\nfunction f9(e) {\n var t = e.state, r = e.instance, n = e.options, a = n.scroll, i = a === void 0 ? !0 : a, o = n.resize, l = o === void 0 ? !0 : o, s = yi(t.elements.popper), u = [].concat(t.scrollParents.reference, t.scrollParents.popper);\n return i && u.forEach(function(f) {\n f.addEventListener(\"scroll\", r.update, Md);\n }), l && s.addEventListener(\"resize\", r.update, Md), function() {\n i && u.forEach(function(f) {\n f.removeEventListener(\"scroll\", r.update, Md);\n }), l && s.removeEventListener(\"resize\", r.update, Md);\n };\n}\nvar Y3 = { name: \"eventListeners\", enabled: !0, phase: \"write\", fn: function() {\n}, effect: f9, data: {} }, c9 = { left: \"right\", right: \"left\", bottom: \"top\", top: \"bottom\" };\nfunction Eh(e) {\n return e.replace(/left|right|bottom|top/g, function(t) {\n return c9[t];\n });\n}\nvar d9 = { start: \"end\", end: \"start\" };\nfunction ww(e) {\n return e.replace(/start|end/g, function(t) {\n return d9[t];\n });\n}\nfunction T1(e) {\n var t = yi(e), r = t.pageXOffset, n = t.pageYOffset;\n return { scrollLeft: r, scrollTop: n };\n}\nfunction k1(e) {\n return Su(vl(e)).left + T1(e).scrollLeft;\n}\nfunction h9(e) {\n var t = yi(e), r = vl(e), n = t.visualViewport, a = r.clientWidth, i = r.clientHeight, o = 0, l = 0;\n return n && (a = n.width, i = n.height, /^((?!chrome|android).)*safari/i.test(navigator.userAgent) || (o = n.offsetLeft, l = n.offsetTop)), { width: a, height: i, x: o + k1(e), y: l };\n}\nfunction v9(e) {\n var t, r = vl(e), n = T1(e), a = (t = e.ownerDocument) == null ? void 0 : t.body, i = ql(r.scrollWidth, r.clientWidth, a ? a.scrollWidth : 0, a ? a.clientWidth : 0), o = ql(r.scrollHeight, r.clientHeight, a ? a.scrollHeight : 0, a ? a.clientHeight : 0), l = -n.scrollLeft + k1(e), s = -n.scrollTop;\n return To(a || r).direction === \"rtl\" && (l += ql(r.clientWidth, a ? a.clientWidth : 0) - i), { width: i, height: o, x: l, y: s };\n}\nfunction A1(e) {\n var t = To(e), r = t.overflow, n = t.overflowX, a = t.overflowY;\n return /auto|scroll|overlay|hidden/.test(r + a + n);\n}\nfunction X3(e) {\n return [\"html\", \"body\", \"#document\"].indexOf(Vi(e)) >= 0 ? e.ownerDocument.body : Va(e) && A1(e) ? e : X3(Kv(e));\n}\nfunction ec(e, t) {\n var r;\n t === void 0 && (t = []);\n var n = X3(e), a = n === ((r = e.ownerDocument) == null ? void 0 : r.body), i = yi(n), o = a ? [i].concat(i.visualViewport || [], A1(n) ? n : []) : n, l = t.concat(o);\n return a ? l : l.concat(ec(Kv(o)));\n}\nfunction X0(e) {\n return Object.assign({}, e, { left: e.x, top: e.y, right: e.x + e.width, bottom: e.y + e.height });\n}\nfunction p9(e) {\n var t = Su(e);\n return t.top = t.top + e.clientTop, t.left = t.left + e.clientLeft, t.bottom = t.top + e.clientHeight, t.right = t.left + e.clientWidth, t.width = e.clientWidth, t.height = e.clientHeight, t.x = t.left, t.y = t.top, t;\n}\nfunction Tw(e, t) {\n return t === j3 ? X0(h9(e)) : Au(t) ? p9(t) : X0(v9(vl(e)));\n}\nfunction m9(e) {\n var t = ec(Kv(e)), r = [\"absolute\", \"fixed\"].indexOf(To(e).position) >= 0, n = r && Va(e) ? Uc(e) : e;\n return Au(n) ? t.filter(function(a) {\n return Au(a) && G3(a, n) && Vi(a) !== \"body\";\n }) : [];\n}\nfunction g9(e, t, r) {\n var n = t === \"clippingParents\" ? m9(e) : [].concat(t), a = [].concat(n, [r]), i = a[0], o = a.reduce(function(l, s) {\n var u = Tw(e, s);\n return l.top = ql(u.top, l.top), l.right = tv(u.right, l.right), l.bottom = tv(u.bottom, l.bottom), l.left = ql(u.left, l.left), l;\n }, Tw(e, i));\n return o.width = o.right - o.left, o.height = o.bottom - o.top, o.x = o.left, o.y = o.top, o;\n}\nfunction K3(e) {\n var t = e.reference, r = e.element, n = e.placement, a = n ? Bi(n) : null, i = n ? Cu(n) : null, o = t.x + t.width / 2 - r.width / 2, l = t.y + t.height / 2 - r.height / 2, s;\n switch (a) {\n case fa:\n s = { x: o, y: t.y - r.height };\n break;\n case Wa:\n s = { x: o, y: t.y + t.height };\n break;\n case Za:\n s = { x: t.x + t.width, y: l };\n break;\n case ca:\n s = { x: t.x - r.width, y: l };\n break;\n default:\n s = { x: t.x, y: t.y };\n }\n var u = a ? w1(a) : null;\n if (u != null) {\n var f = u === \"y\" ? \"height\" : \"width\";\n switch (i) {\n case ku:\n s[u] = s[u] - (t[f] / 2 - r[f] / 2);\n break;\n case vc:\n s[u] = s[u] + (t[f] / 2 - r[f] / 2);\n break;\n }\n }\n return s;\n}\nfunction pc(e, t) {\n t === void 0 && (t = {});\n var r = t, n = r.placement, a = n === void 0 ? e.placement : n, i = r.boundary, o = i === void 0 ? H7 : i, l = r.rootBoundary, s = l === void 0 ? j3 : l, u = r.elementContext, f = u === void 0 ? mf : u, d = r.altBoundary, h = d === void 0 ? !1 : d, p = r.padding, v = p === void 0 ? 0 : p, m = q3(typeof v != \"number\" ? v : W3(v, jc)), g = f === mf ? B7 : mf, y = e.rects.popper, w = e.elements[h ? g : f], k = g9(Au(w) ? w : w.contextElement || vl(e.elements.popper), o, s), x = Su(e.elements.reference), _ = K3({ reference: x, element: y, strategy: \"absolute\", placement: a }), T = X0(Object.assign({}, y, _)), S = f === mf ? T : x, M = { top: k.top - S.top + m.top, bottom: S.bottom - k.bottom + m.bottom, left: k.left - S.left + m.left, right: S.right - k.right + m.right }, L = e.modifiersData.offset;\n if (f === mf && L) {\n var F = L[a];\n Object.keys(M).forEach(function($) {\n var I = [Za, Wa].indexOf($) >= 0 ? 1 : -1, O = [fa, Wa].indexOf($) >= 0 ? \"y\" : \"x\";\n M[$] += F[O] * I;\n });\n }\n return M;\n}\nfunction y9(e, t) {\n t === void 0 && (t = {});\n var r = t, n = r.placement, a = r.boundary, i = r.rootBoundary, o = r.padding, l = r.flipVariations, s = r.allowedAutoPlacements, u = s === void 0 ? Xv : s, f = Cu(n), d = f ? l ? bw : bw.filter(function(v) {\n return Cu(v) === f;\n }) : jc, h = d.filter(function(v) {\n return u.indexOf(v) >= 0;\n });\n h.length === 0 && (h = d);\n var p = h.reduce(function(v, m) {\n return v[m] = pc(e, { placement: m, boundary: a, rootBoundary: i, padding: o })[Bi(m)], v;\n }, {});\n return Object.keys(p).sort(function(v, m) {\n return p[v] - p[m];\n });\n}\nfunction b9(e) {\n if (Bi(e) === b1) return [];\n var t = Eh(e);\n return [ww(e), t, ww(t)];\n}\nfunction _9(e) {\n var t = e.state, r = e.options, n = e.name;\n if (!t.modifiersData[n]._skip) {\n for (var a = r.mainAxis, i = a === void 0 ? !0 : a, o = r.altAxis, l = o === void 0 ? !0 : o, s = r.fallbackPlacements, u = r.padding, f = r.boundary, d = r.rootBoundary, h = r.altBoundary, p = r.flipVariations, v = p === void 0 ? !0 : p, m = r.allowedAutoPlacements, g = t.options.placement, y = Bi(g), w = y === g, k = s || (w || !v ? [Eh(g)] : b9(g)), x = [g].concat(k).reduce(function(re, ae) {\n return re.concat(Bi(ae) === b1 ? y9(t, { placement: ae, boundary: f, rootBoundary: d, padding: u, flipVariations: v, allowedAutoPlacements: m }) : ae);\n }, []), _ = t.rects.reference, T = t.rects.popper, S = /* @__PURE__ */ new Map(), M = !0, L = x[0], F = 0; F < x.length; F++) {\n var $ = x[F], I = Bi($), O = Cu($) === ku, G = [fa, Wa].indexOf(I) >= 0, K = G ? \"width\" : \"height\", V = pc(t, { placement: $, boundary: f, rootBoundary: d, altBoundary: h, padding: u }), z = G ? O ? Za : ca : O ? Wa : fa;\n _[K] > T[K] && (z = Eh(z));\n var P = Eh(z), R = [];\n if (i && R.push(V[I] <= 0), l && R.push(V[z] <= 0, V[P] <= 0), R.every(function(re) {\n return re;\n })) {\n L = $, M = !1;\n break;\n }\n S.set($, R);\n }\n if (M) for (var H = v ? 3 : 1, B = function(re) {\n var ae = x.find(function(Q) {\n var ue = S.get(Q);\n if (ue) return ue.slice(0, re).every(function(j) {\n return j;\n });\n });\n if (ae) return L = ae, \"break\";\n }, W = H; W > 0; W--) {\n var ee = B(W);\n if (ee === \"break\") break;\n }\n t.placement !== L && (t.modifiersData[n]._skip = !0, t.placement = L, t.reset = !0);\n }\n}\nvar x9 = { name: \"flip\", enabled: !0, phase: \"main\", fn: _9, requiresIfExists: [\"offset\"], data: { _skip: !1 } };\nfunction kw(e, t, r) {\n return r === void 0 && (r = { x: 0, y: 0 }), { top: e.top - t.height - r.y, right: e.right - t.width + r.x, bottom: e.bottom - t.height + r.y, left: e.left - t.width - r.x };\n}\nfunction Aw(e) {\n return [fa, Za, Wa, ca].some(function(t) {\n return e[t] >= 0;\n });\n}\nfunction w9(e) {\n var t = e.state, r = e.name, n = t.rects.reference, a = t.rects.popper, i = t.modifiersData.preventOverflow, o = pc(t, { elementContext: \"reference\" }), l = pc(t, { altBoundary: !0 }), s = kw(o, n), u = kw(l, a, i), f = Aw(s), d = Aw(u);\n t.modifiersData[r] = { referenceClippingOffsets: s, popperEscapeOffsets: u, isReferenceHidden: f, hasPopperEscaped: d }, t.attributes.popper = Object.assign({}, t.attributes.popper, { \"data-popper-reference-hidden\": f, \"data-popper-escaped\": d });\n}\nvar T9 = { name: \"hide\", enabled: !0, phase: \"main\", requiresIfExists: [\"preventOverflow\"], fn: w9 };\nfunction k9(e, t, r) {\n var n = Bi(e), a = [ca, fa].indexOf(n) >= 0 ? -1 : 1, i = typeof r == \"function\" ? r(Object.assign({}, t, { placement: e })) : r, o = i[0], l = i[1];\n return o = o || 0, l = (l || 0) * a, [ca, Za].indexOf(n) >= 0 ? { x: l, y: o } : { x: o, y: l };\n}\nfunction A9(e) {\n var t = e.state, r = e.options, n = e.name, a = r.offset, i = a === void 0 ? [0, 0] : a, o = Xv.reduce(function(f, d) {\n return f[d] = k9(d, t.rects, i), f;\n }, {}), l = o[t.placement], s = l.x, u = l.y;\n t.modifiersData.popperOffsets != null && (t.modifiersData.popperOffsets.x += s, t.modifiersData.popperOffsets.y += u), t.modifiersData[n] = o;\n}\nvar M9 = { name: \"offset\", enabled: !0, phase: \"main\", requires: [\"popperOffsets\"], fn: A9 };\nfunction S9(e) {\n var t = e.state, r = e.name;\n t.modifiersData[r] = K3({ reference: t.rects.reference, element: t.rects.popper, strategy: \"absolute\", placement: t.placement });\n}\nvar J3 = { name: \"popperOffsets\", enabled: !0, phase: \"read\", fn: S9, data: {} };\nfunction C9(e) {\n return e === \"x\" ? \"y\" : \"x\";\n}\nfunction L9(e) {\n var t = e.state, r = e.options, n = e.name, a = r.mainAxis, i = a === void 0 ? !0 : a, o = r.altAxis, l = o === void 0 ? !1 : o, s = r.boundary, u = r.rootBoundary, f = r.altBoundary, d = r.padding, h = r.tether, p = h === void 0 ? !0 : h, v = r.tetherOffset, m = v === void 0 ? 0 : v, g = pc(t, { boundary: s, rootBoundary: u, padding: d, altBoundary: f }), y = Bi(t.placement), w = Cu(t.placement), k = !w, x = w1(y), _ = C9(x), T = t.modifiersData.popperOffsets, S = t.rects.reference, M = t.rects.popper, L = typeof m == \"function\" ? m(Object.assign({}, t.rects, { placement: t.placement })) : m, F = typeof L == \"number\" ? { mainAxis: L, altAxis: L } : Object.assign({ mainAxis: 0, altAxis: 0 }, L), $ = t.modifiersData.offset ? t.modifiersData.offset[t.placement] : null, I = { x: 0, y: 0 };\n if (T) {\n if (i) {\n var O, G = x === \"y\" ? fa : ca, K = x === \"y\" ? Wa : Za, V = x === \"y\" ? \"height\" : \"width\", z = T[x], P = z + g[G], R = z - g[K], H = p ? -M[V] / 2 : 0, B = w === ku ? S[V] : M[V], W = w === ku ? -M[V] : -S[V], ee = t.elements.arrow, re = p && ee ? x1(ee) : { width: 0, height: 0 }, ae = t.modifiersData[\"arrow#persistent\"] ? t.modifiersData[\"arrow#persistent\"].padding : V3(), Q = ae[G], ue = ae[K], j = Qf(0, S[V], re[V]), U = k ? S[V] / 2 - H - j - Q - F.mainAxis : B - j - Q - F.mainAxis, Z = k ? -S[V] / 2 + H + j + ue + F.mainAxis : W + j + ue + F.mainAxis, le = t.elements.arrow && Uc(t.elements.arrow), J = le ? x === \"y\" ? le.clientTop || 0 : le.clientLeft || 0 : 0, pe = (O = $ == null ? void 0 : $[x]) != null ? O : 0, ge = z + U - pe - J, ve = z + Z - pe, me = Qf(p ? tv(P, ge) : P, z, p ? ql(R, ve) : R);\n T[x] = me, I[x] = me - z;\n }\n if (l) {\n var Le, ze = x === \"x\" ? fa : ca, Fe = x === \"x\" ? Wa : Za, Oe = T[_], Re = _ === \"y\" ? \"height\" : \"width\", We = Oe + g[ze], Me = Oe - g[Fe], Ve = [fa, ca].indexOf(y) !== -1, qe = (Le = $ == null ? void 0 : $[_]) != null ? Le : 0, Qe = Ve ? We : Oe - S[Re] - M[Re] - qe + F.altAxis, ot = Ve ? Oe + S[Re] + M[Re] - qe - F.altAxis : Me, ht = p && Ve ? r9(Qe, Oe, ot) : Qf(p ? Qe : We, Oe, p ? ot : Me);\n T[_] = ht, I[_] = ht - Oe;\n }\n t.modifiersData[n] = I;\n }\n}\nvar D9 = { name: \"preventOverflow\", enabled: !0, phase: \"main\", fn: L9, requiresIfExists: [\"offset\"] };\nfunction E9(e) {\n return { scrollLeft: e.scrollLeft, scrollTop: e.scrollTop };\n}\nfunction F9(e) {\n return e === yi(e) || !Va(e) ? T1(e) : E9(e);\n}\nfunction R9(e) {\n var t = e.getBoundingClientRect(), r = Mu(t.width) / e.offsetWidth || 1, n = Mu(t.height) / e.offsetHeight || 1;\n return r !== 1 || n !== 1;\n}\nfunction P9(e, t, r) {\n r === void 0 && (r = !1);\n var n = Va(t), a = Va(t) && R9(t), i = vl(t), o = Su(e, a), l = { scrollLeft: 0, scrollTop: 0 }, s = { x: 0, y: 0 };\n return (n || !n && !r) && ((Vi(t) !== \"body\" || A1(i)) && (l = F9(t)), Va(t) ? (s = Su(t, !0), s.x += t.clientLeft, s.y += t.clientTop) : i && (s.x = k1(i))), { x: o.left + l.scrollLeft - s.x, y: o.top + l.scrollTop - s.y, width: o.width, height: o.height };\n}\nfunction $9(e) {\n var t = /* @__PURE__ */ new Map(), r = /* @__PURE__ */ new Set(), n = [];\n e.forEach(function(i) {\n t.set(i.name, i);\n });\n function a(i) {\n r.add(i.name);\n var o = [].concat(i.requires || [], i.requiresIfExists || []);\n o.forEach(function(l) {\n if (!r.has(l)) {\n var s = t.get(l);\n s && a(s);\n }\n }), n.push(i);\n }\n return e.forEach(function(i) {\n r.has(i.name) || a(i);\n }), n;\n}\nfunction z9(e) {\n var t = $9(e);\n return K7.reduce(function(r, n) {\n return r.concat(t.filter(function(a) {\n return a.phase === n;\n }));\n }, []);\n}\nfunction I9(e) {\n var t;\n return function() {\n return t || (t = new Promise(function(r) {\n Promise.resolve().then(function() {\n t = void 0, r(e());\n });\n })), t;\n };\n}\nfunction N9(e) {\n var t = e.reduce(function(r, n) {\n var a = r[n.name];\n return r[n.name] = a ? Object.assign({}, a, n, { options: Object.assign({}, a.options, n.options), data: Object.assign({}, a.data, n.data) }) : n, r;\n }, {});\n return Object.keys(t).map(function(r) {\n return t[r];\n });\n}\nvar Mw = { placement: \"bottom\", modifiers: [], strategy: \"absolute\" };\nfunction Sw() {\n for (var e = arguments.length, t = new Array(e), r = 0; r < e; r++) t[r] = arguments[r];\n return !t.some(function(n) {\n return !(n && typeof n.getBoundingClientRect == \"function\");\n });\n}\nfunction M1(e) {\n e === void 0 && (e = {});\n var t = e, r = t.defaultModifiers, n = r === void 0 ? [] : r, a = t.defaultOptions, i = a === void 0 ? Mw : a;\n return function(o, l, s) {\n s === void 0 && (s = i);\n var u = { placement: \"bottom\", orderedModifiers: [], options: Object.assign({}, Mw, i), modifiersData: {}, elements: { reference: o, popper: l }, attributes: {}, styles: {} }, f = [], d = !1, h = { state: u, setOptions: function(m) {\n var g = typeof m == \"function\" ? m(u.options) : m;\n v(), u.options = Object.assign({}, i, u.options, g), u.scrollParents = { reference: Au(o) ? ec(o) : o.contextElement ? ec(o.contextElement) : [], popper: ec(l) };\n var y = z9(N9([].concat(n, u.options.modifiers)));\n return u.orderedModifiers = y.filter(function(w) {\n return w.enabled;\n }), p(), h.update();\n }, forceUpdate: function() {\n if (!d) {\n var m = u.elements, g = m.reference, y = m.popper;\n if (Sw(g, y)) {\n u.rects = { reference: P9(g, Uc(y), u.options.strategy === \"fixed\"), popper: x1(y) }, u.reset = !1, u.placement = u.options.placement, u.orderedModifiers.forEach(function(M) {\n return u.modifiersData[M.name] = Object.assign({}, M.data);\n });\n for (var w = 0; w < u.orderedModifiers.length; w++) {\n if (u.reset === !0) {\n u.reset = !1, w = -1;\n continue;\n }\n var k = u.orderedModifiers[w], x = k.fn, _ = k.options, T = _ === void 0 ? {} : _, S = k.name;\n typeof x == \"function\" && (u = x({ state: u, options: T, name: S, instance: h }) || u);\n }\n }\n }\n }, update: I9(function() {\n return new Promise(function(m) {\n h.forceUpdate(), m(u);\n });\n }), destroy: function() {\n v(), d = !0;\n } };\n if (!Sw(o, l)) return h;\n h.setOptions(s).then(function(m) {\n !d && s.onFirstUpdate && s.onFirstUpdate(m);\n });\n function p() {\n u.orderedModifiers.forEach(function(m) {\n var g = m.name, y = m.options, w = y === void 0 ? {} : y, k = m.effect;\n if (typeof k == \"function\") {\n var x = k({ state: u, name: g, instance: h, options: w }), _ = function() {\n };\n f.push(x || _);\n }\n });\n }\n function v() {\n f.forEach(function(m) {\n return m();\n }), f = [];\n }\n return h;\n };\n}\nM1();\nvar O9 = [Y3, J3, Z3, U3];\nM1({ defaultModifiers: O9 });\nvar H9 = [Y3, J3, Z3, U3, M9, x9, D9, o9, T9], B9 = M1({ defaultModifiers: H9 });\nconst j9 = (e, t, r = {}) => {\n const n = {\n name: \"updateState\",\n enabled: !0,\n phase: \"write\",\n fn: ({ state: s }) => {\n const u = U9(s);\n Object.assign(o.value, u);\n },\n requires: [\"computeStyles\"]\n }, a = et(() => {\n const { onFirstUpdate: s, placement: u, strategy: f, modifiers: d } = $e(r);\n return {\n onFirstUpdate: s,\n placement: u || \"bottom\",\n strategy: f || \"absolute\",\n modifiers: [\n ...d || [],\n n,\n { name: \"applyStyles\", enabled: !1 }\n ]\n };\n }), i = d3(), o = Rt({\n styles: {\n popper: {\n position: $e(a).strategy,\n left: \"0\",\n top: \"0\"\n },\n arrow: {\n position: \"absolute\"\n }\n },\n attributes: {}\n }), l = () => {\n i.value && (i.value.destroy(), i.value = void 0);\n };\n return _r(a, (s) => {\n const u = $e(i);\n u && u.setOptions(s);\n }, {\n deep: !0\n }), _r([e, t], ([s, u]) => {\n l(), !(!s || !u) && (i.value = B9(s, u, $e(a)));\n }), mi(() => {\n l();\n }), {\n state: et(() => {\n var s;\n return { ...((s = $e(i)) == null ? void 0 : s.state) || {} };\n }),\n styles: et(() => $e(o).styles),\n attributes: et(() => $e(o).attributes),\n update: () => {\n var s;\n return (s = $e(i)) == null ? void 0 : s.update();\n },\n forceUpdate: () => {\n var s;\n return (s = $e(i)) == null ? void 0 : s.forceUpdate();\n },\n instanceRef: et(() => $e(i))\n };\n};\nfunction U9(e) {\n const t = Object.keys(e.elements), r = Z0(t.map((a) => [a, e.styles[a] || {}])), n = Z0(t.map((a) => [a, e.attributes[a]]));\n return {\n styles: r,\n attributes: n\n };\n}\nfunction Cw() {\n let e;\n const t = (n, a) => {\n r(), e = window.setTimeout(n, a);\n }, r = () => window.clearTimeout(e);\n return Hv(() => r()), {\n registerTimeout: t,\n cancelTimeout: r\n };\n}\nconst K0 = {\n prefix: Math.floor(Math.random() * 1e4),\n current: 0\n}, G9 = Symbol(\"elIdInjection\"), S1 = () => xa() ? Rr(G9, K0) : K0, Jv = (e) => {\n const t = S1();\n !qn && t === K0 && Gi(\"IdInjection\", `Looks like you are using server rendering, you must provide a id provider to ensure the hydration process to be succeed\nusage: app.provide(ID_INJECTION_KEY, {\n prefix: number,\n current: number,\n})`);\n const r = y1();\n return et(() => $e(e) || `${r.value}-id-${t.prefix}-${t.current++}`);\n};\nlet tu = [];\nconst Lw = (e) => {\n const t = e;\n t.key === hc.esc && tu.forEach((r) => r(t));\n}, V9 = (e) => {\n Zn(() => {\n tu.length === 0 && document.addEventListener(\"keydown\", Lw), qn && tu.push(e);\n }), mi(() => {\n tu = tu.filter((t) => t !== e), tu.length === 0 && qn && document.removeEventListener(\"keydown\", Lw);\n });\n};\nlet Dw;\nconst Q3 = () => {\n const e = y1(), t = S1(), r = et(() => `${e.value}-popper-container-${t.prefix}`), n = et(() => `#${r.value}`);\n return {\n id: r,\n selector: n\n };\n}, q9 = (e) => {\n const t = document.createElement(\"div\");\n return t.id = e, document.body.appendChild(t), t;\n}, W9 = () => {\n const { id: e, selector: t } = Q3();\n return RR(() => {\n qn && (cs.env.NODE_ENV === \"test\" || !Dw || !document.body.querySelector(t.value)) && (Dw = q9(e.value));\n }), {\n id: e,\n selector: t\n };\n}, Z9 = qr({\n showAfter: {\n type: Number,\n default: 0\n },\n hideAfter: {\n type: Number,\n default: 200\n },\n autoClose: {\n type: Number,\n default: 0\n }\n}), Y9 = ({\n showAfter: e,\n hideAfter: t,\n autoClose: r,\n open: n,\n close: a\n}) => {\n const { registerTimeout: i } = Cw(), {\n registerTimeout: o,\n cancelTimeout: l\n } = Cw();\n return {\n onOpen: (f) => {\n i(() => {\n n(f);\n const d = $e(r);\n Ga(d) && d > 0 && o(() => {\n a(f);\n }, d);\n }, $e(e));\n },\n onClose: (f) => {\n l(), i(() => {\n a(f);\n }, $e(t));\n }\n };\n}, e5 = Symbol(\"elForwardRef\"), X9 = (e) => {\n wa(e5, {\n setForwardRef: (r) => {\n e.value = r;\n }\n });\n}, K9 = (e) => ({\n mounted(t) {\n e(t);\n },\n updated(t) {\n e(t);\n },\n unmounted() {\n e(null);\n }\n}), Ew = {\n current: 0\n}, Fw = Rt(0), J9 = 2e3, Rw = Symbol(\"elZIndexContextKey\"), Q9 = Symbol(\"zIndexContextKey\"), eN = (e) => {\n const t = xa() ? Rr(Rw, Ew) : Ew, r = xa() ? Rr(Q9, void 0) : void 0, n = et(() => {\n const o = $e(r);\n return Ga(o) ? o : J9;\n }), a = et(() => n.value + Fw.value), i = () => (t.current++, Fw.value = t.current, a.value);\n return !qn && !Rr(Rw) && Gi(\"ZIndexInjection\", `Looks like you are using server rendering, you must provide a z-index provider to ensure the hydration process to be succeed\nusage: app.provide(ZINDEX_INJECTION_KEY, { current: 0 })`), {\n initialZIndex: n,\n currentZIndex: a,\n nextZIndex: i\n };\n}, t5 = Wv({\n type: String,\n values: H3,\n required: !1\n}), tN = Symbol(\"size\"), rN = () => {\n const e = Rr(tN, {});\n return et(() => $e(e.size) || \"\");\n};\nfunction nN(e, {\n beforeFocus: t,\n afterFocus: r,\n beforeBlur: n,\n afterBlur: a\n} = {}) {\n const i = xa(), { emit: o } = i, l = d3(), s = Rt(!1), u = (h) => {\n ua(t) && t(h) || s.value || (s.value = !0, o(\"focus\", h), r == null || r());\n }, f = (h) => {\n var p;\n ua(n) && n(h) || h.relatedTarget && ((p = l.value) != null && p.contains(h.relatedTarget)) || (s.value = !1, o(\"blur\", h), a == null || a());\n }, d = () => {\n var h, p;\n (h = l.value) != null && h.contains(document.activeElement) && l.value !== document.activeElement || (p = e.value) == null || p.focus();\n };\n return _r(l, (h) => {\n h && h.setAttribute(\"tabindex\", \"-1\");\n }), ui(l, \"focus\", u, !0), ui(l, \"blur\", f, !0), ui(l, \"click\", d, !0), cs.env.NODE_ENV === \"test\" && Zn(() => {\n const h = Vl(e.value) ? e.value : document.querySelector(\"input,textarea\");\n h && (ui(h, \"focus\", u, !0), ui(h, \"blur\", f, !0));\n }), {\n isFocused: s,\n wrapperRef: l,\n handleFocus: u,\n handleBlur: f\n };\n}\nfunction aN({\n afterComposition: e,\n emit: t\n}) {\n const r = Rt(!1), n = (l) => {\n t == null || t(\"compositionstart\", l), r.value = !0;\n }, a = (l) => {\n var s;\n t == null || t(\"compositionupdate\", l);\n const u = (s = l.target) == null ? void 0 : s.value, f = u[u.length - 1] || \"\";\n r.value = !M7(f);\n }, i = (l) => {\n t == null || t(\"compositionend\", l), r.value && (r.value = !1, ja(() => e(l)));\n };\n return {\n isComposing: r,\n handleComposition: (l) => {\n l.type === \"compositionend\" ? i(l) : a(l);\n },\n handleCompositionStart: n,\n handleCompositionUpdate: a,\n handleCompositionEnd: i\n };\n}\nconst iN = Symbol(\"emptyValuesContextKey\"), oN = \"use-empty-values\", lN = [\"\", void 0, null], sN = void 0, uN = qr({\n emptyValues: Array,\n valueOnClear: {\n type: [String, Number, Boolean, Function],\n default: void 0,\n validator: (e) => ua(e) ? !e() : !e\n }\n}), fN = (e, t) => {\n const r = xa() ? Rr(iN, Rt({})) : Rt({}), n = et(() => e.emptyValues || r.value.emptyValues || lN), a = et(() => ua(e.valueOnClear) ? e.valueOnClear() : e.valueOnClear !== void 0 ? e.valueOnClear : ua(r.value.valueOnClear) ? r.value.valueOnClear() : r.value.valueOnClear !== void 0 ? r.value.valueOnClear : sN), i = (o) => n.value.includes(o);\n return n.value.includes(a.value) || Gi(oN, \"value-on-clear should be a value of empty-values\"), {\n emptyValues: n,\n valueOnClear: a,\n isEmptyValue: i\n };\n}, cN = qr({\n ariaLabel: String,\n ariaOrientation: {\n type: String,\n values: [\"horizontal\", \"vertical\", \"undefined\"]\n },\n ariaControls: String\n}), Qv = (e) => s7(cN, e), dN = Symbol(), Pw = Rt();\nfunction hN(e, t = void 0) {\n const r = xa() ? Rr(dN, Pw) : Pw;\n return et(() => {\n var n, a;\n return (a = (n = r.value) == null ? void 0 : n[e]) != null ? a : t;\n });\n}\nvar jr = (e, t) => {\n const r = e.__vccOpts || e;\n for (const [n, a] of t)\n r[n] = a;\n return r;\n};\nconst vN = qr({\n size: {\n type: dr([Number, String])\n },\n color: {\n type: String\n }\n}), pN = er({\n name: \"ElIcon\",\n inheritAttrs: !1\n}), mN = /* @__PURE__ */ er({\n ...pN,\n props: vN,\n setup(e) {\n const t = e, r = on(\"icon\"), n = et(() => {\n const { size: a, color: i } = t;\n return !a && !i ? {} : {\n fontSize: qf(a) ? void 0 : ev(a),\n \"--color\": i\n };\n });\n return (a, i) => (At(), Xt(\"i\", fs({\n class: $e(r).b(),\n style: $e(n)\n }, a.$attrs), [\n ur(a.$slots, \"default\")\n ], 16));\n }\n});\nvar gN = /* @__PURE__ */ jr(mN, [[\"__file\", \"icon.vue\"]]);\nconst Lu = gi(gN), C1 = Symbol(\"formContextKey\"), rv = Symbol(\"formItemContextKey\"), L1 = (e, t = {}) => {\n const r = Rt(void 0), n = t.prop ? r : B3(\"size\"), a = t.global ? r : rN(), i = t.form ? { size: void 0 } : Rr(C1, void 0), o = t.formItem ? { size: void 0 } : Rr(rv, void 0);\n return et(() => n.value || $e(e) || (o == null ? void 0 : o.size) || (i == null ? void 0 : i.size) || a.value || \"\");\n}, r5 = (e) => {\n const t = B3(\"disabled\"), r = Rr(C1, void 0);\n return et(() => t.value || $e(e) || (r == null ? void 0 : r.disabled) || !1);\n}, n5 = () => {\n const e = Rr(C1, void 0), t = Rr(rv, void 0);\n return {\n form: e,\n formItem: t\n };\n}, yN = (e, {\n formItemContext: t,\n disableIdGeneration: r,\n disableIdManagement: n\n}) => {\n r || (r = Rt(!1)), n || (n = Rt(!1));\n const a = Rt();\n let i;\n const o = et(() => {\n var l;\n return !!(!(e.label || e.ariaLabel) && t && t.inputIds && ((l = t.inputIds) == null ? void 0 : l.length) <= 1);\n });\n return Zn(() => {\n i = _r([Ii(e, \"id\"), r], ([l, s]) => {\n const u = l ?? (s ? void 0 : Jv().value);\n u !== a.value && (t != null && t.removeInputId && (a.value && t.removeInputId(a.value), !(n != null && n.value) && !s && u && t.addInputId(u)), a.value = u);\n }, { immediate: !0 });\n }), PR(() => {\n i && i(), t != null && t.removeInputId && a.value && t.removeInputId(a.value);\n }), {\n isLabeledByFormItem: o,\n inputId: a\n };\n}, Es = 4, bN = {\n vertical: {\n offset: \"offsetHeight\",\n scroll: \"scrollTop\",\n scrollSize: \"scrollHeight\",\n size: \"height\",\n key: \"vertical\",\n axis: \"Y\",\n client: \"clientY\",\n direction: \"top\"\n },\n horizontal: {\n offset: \"offsetWidth\",\n scroll: \"scrollLeft\",\n scrollSize: \"scrollWidth\",\n size: \"width\",\n key: \"horizontal\",\n axis: \"X\",\n client: \"clientX\",\n direction: \"left\"\n }\n}, _N = ({\n move: e,\n size: t,\n bar: r\n}) => ({\n [r.size]: t,\n transform: `translate${r.axis}(${e}%)`\n}), D1 = Symbol(\"scrollbarContextKey\"), xN = qr({\n vertical: Boolean,\n size: String,\n move: Number,\n ratio: {\n type: Number,\n required: !0\n },\n always: Boolean\n}), wN = \"Thumb\", TN = /* @__PURE__ */ er({\n __name: \"thumb\",\n props: xN,\n setup(e) {\n const t = e, r = Rr(D1), n = on(\"scrollbar\");\n r || c7(wN, \"can not inject scrollbar context\");\n const a = Rt(), i = Rt(), o = Rt({}), l = Rt(!1);\n let s = !1, u = !1, f = qn ? document.onselectstart : null;\n const d = et(() => bN[t.vertical ? \"vertical\" : \"horizontal\"]), h = et(() => _N({\n size: t.size,\n move: t.move,\n bar: d.value\n })), p = et(() => a.value[d.value.offset] ** 2 / r.wrapElement[d.value.scrollSize] / t.ratio / i.value[d.value.offset]), v = (T) => {\n var S;\n if (T.stopPropagation(), T.ctrlKey || [1, 2].includes(T.button))\n return;\n (S = window.getSelection()) == null || S.removeAllRanges(), g(T);\n const M = T.currentTarget;\n M && (o.value[d.value.axis] = M[d.value.offset] - (T[d.value.client] - M.getBoundingClientRect()[d.value.direction]));\n }, m = (T) => {\n if (!i.value || !a.value || !r.wrapElement)\n return;\n const S = Math.abs(T.target.getBoundingClientRect()[d.value.direction] - T[d.value.client]), M = i.value[d.value.offset] / 2, L = (S - M) * 100 * p.value / a.value[d.value.offset];\n r.wrapElement[d.value.scroll] = L * r.wrapElement[d.value.scrollSize] / 100;\n }, g = (T) => {\n T.stopImmediatePropagation(), s = !0, document.addEventListener(\"mousemove\", y), document.addEventListener(\"mouseup\", w), f = document.onselectstart, document.onselectstart = () => !1;\n }, y = (T) => {\n if (!a.value || !i.value || s === !1)\n return;\n const S = o.value[d.value.axis];\n if (!S)\n return;\n const M = (a.value.getBoundingClientRect()[d.value.direction] - T[d.value.client]) * -1, L = i.value[d.value.offset] - S, F = (M - L) * 100 * p.value / a.value[d.value.offset];\n r.wrapElement[d.value.scroll] = F * r.wrapElement[d.value.scrollSize] / 100;\n }, w = () => {\n s = !1, o.value[d.value.axis] = 0, document.removeEventListener(\"mousemove\", y), document.removeEventListener(\"mouseup\", w), _(), u && (l.value = !1);\n }, k = () => {\n u = !1, l.value = !!t.size;\n }, x = () => {\n u = !0, l.value = s;\n };\n mi(() => {\n _(), document.removeEventListener(\"mouseup\", w);\n });\n const _ = () => {\n document.onselectstart !== f && (document.onselectstart = f);\n };\n return ui(Ii(r, \"scrollbarElement\"), \"mousemove\", k), ui(Ii(r, \"scrollbarElement\"), \"mouseleave\", x), (T, S) => (At(), kr(Ov, {\n name: $e(n).b(\"fade\"),\n persisted: \"\"\n }, {\n default: ir(() => [\n yo(cr(\"div\", {\n ref_key: \"instance\",\n ref: a,\n class: Vt([$e(n).e(\"bar\"), $e(n).is($e(d).key)]),\n onMousedown: m\n }, [\n cr(\"div\", {\n ref_key: \"thumb\",\n ref: i,\n class: Vt($e(n).e(\"thumb\")),\n style: Hi($e(h)),\n onMousedown: v\n }, null, 38)\n ], 34), [\n [ju, T.always || l.value]\n ])\n ]),\n _: 1\n }, 8, [\"name\"]));\n }\n});\nvar $w = /* @__PURE__ */ jr(TN, [[\"__file\", \"thumb.vue\"]]);\nconst kN = qr({\n always: {\n type: Boolean,\n default: !0\n },\n minSize: {\n type: Number,\n required: !0\n }\n}), AN = /* @__PURE__ */ er({\n __name: \"bar\",\n props: kN,\n setup(e, { expose: t }) {\n const r = e, n = Rr(D1), a = Rt(0), i = Rt(0), o = Rt(\"\"), l = Rt(\"\"), s = Rt(1), u = Rt(1);\n return t({\n handleScroll: (h) => {\n if (h) {\n const p = h.offsetHeight - Es, v = h.offsetWidth - Es;\n i.value = h.scrollTop * 100 / p * s.value, a.value = h.scrollLeft * 100 / v * u.value;\n }\n },\n update: () => {\n const h = n == null ? void 0 : n.wrapElement;\n if (!h)\n return;\n const p = h.offsetHeight - Es, v = h.offsetWidth - Es, m = p ** 2 / h.scrollHeight, g = v ** 2 / h.scrollWidth, y = Math.max(m, r.minSize), w = Math.max(g, r.minSize);\n s.value = m / (p - m) / (y / (p - y)), u.value = g / (v - g) / (w / (v - w)), l.value = y + Es < p ? `${y}px` : \"\", o.value = w + Es < v ? `${w}px` : \"\";\n }\n }), (h, p) => (At(), Xt(wo, null, [\n Ar($w, {\n move: a.value,\n ratio: u.value,\n size: o.value,\n always: h.always\n }, null, 8, [\"move\", \"ratio\", \"size\", \"always\"]),\n Ar($w, {\n move: i.value,\n ratio: s.value,\n size: l.value,\n vertical: \"\",\n always: h.always\n }, null, 8, [\"move\", \"ratio\", \"size\", \"always\"])\n ], 64));\n }\n});\nvar MN = /* @__PURE__ */ jr(AN, [[\"__file\", \"bar.vue\"]]);\nconst SN = qr({\n height: {\n type: [String, Number],\n default: \"\"\n },\n maxHeight: {\n type: [String, Number],\n default: \"\"\n },\n native: {\n type: Boolean,\n default: !1\n },\n wrapStyle: {\n type: dr([String, Object, Array]),\n default: \"\"\n },\n wrapClass: {\n type: [String, Array],\n default: \"\"\n },\n viewClass: {\n type: [String, Array],\n default: \"\"\n },\n viewStyle: {\n type: [String, Array, Object],\n default: \"\"\n },\n noresize: Boolean,\n tag: {\n type: String,\n default: \"div\"\n },\n always: Boolean,\n minSize: {\n type: Number,\n default: 20\n },\n tabindex: {\n type: [String, Number],\n default: void 0\n },\n id: String,\n role: String,\n ...Qv([\"ariaLabel\", \"ariaOrientation\"])\n}), CN = {\n scroll: ({\n scrollTop: e,\n scrollLeft: t\n }) => [e, t].every(Ga)\n}, J0 = \"ElScrollbar\", LN = er({\n name: J0\n}), DN = /* @__PURE__ */ er({\n ...LN,\n props: SN,\n emits: CN,\n setup(e, { expose: t, emit: r }) {\n const n = e, a = on(\"scrollbar\");\n let i, o, l = 0, s = 0;\n const u = Rt(), f = Rt(), d = Rt(), h = Rt(), p = et(() => {\n const _ = {};\n return n.height && (_.height = ev(n.height)), n.maxHeight && (_.maxHeight = ev(n.maxHeight)), [n.wrapStyle, _];\n }), v = et(() => [\n n.wrapClass,\n a.e(\"wrap\"),\n { [a.em(\"wrap\", \"hidden-default\")]: !n.native }\n ]), m = et(() => [a.e(\"view\"), n.viewClass]), g = () => {\n var _;\n f.value && ((_ = h.value) == null || _.handleScroll(f.value), l = f.value.scrollTop, s = f.value.scrollLeft, r(\"scroll\", {\n scrollTop: f.value.scrollTop,\n scrollLeft: f.value.scrollLeft\n }));\n };\n function y(_, T) {\n Oi(_) ? f.value.scrollTo(_) : Ga(_) && Ga(T) && f.value.scrollTo(_, T);\n }\n const w = (_) => {\n if (!Ga(_)) {\n Gi(J0, \"value must be a number\");\n return;\n }\n f.value.scrollTop = _;\n }, k = (_) => {\n if (!Ga(_)) {\n Gi(J0, \"value must be a number\");\n return;\n }\n f.value.scrollLeft = _;\n }, x = () => {\n var _;\n (_ = h.value) == null || _.update();\n };\n return _r(() => n.noresize, (_) => {\n _ ? (i == null || i(), o == null || o()) : ({ stop: i } = Wo(d, x), o = ui(\"resize\", x));\n }, { immediate: !0 }), _r(() => [n.maxHeight, n.height], () => {\n n.native || ja(() => {\n var _;\n x(), f.value && ((_ = h.value) == null || _.handleScroll(f.value));\n });\n }), wa(D1, ts({\n scrollbarElement: u,\n wrapElement: f\n })), $R(() => {\n f.value && (f.value.scrollTop = l, f.value.scrollLeft = s);\n }), Zn(() => {\n n.native || ja(() => {\n x();\n });\n }), zR(() => x()), t({\n wrapRef: f,\n update: x,\n scrollTo: y,\n setScrollTop: w,\n setScrollLeft: k,\n handleScroll: g\n }), (_, T) => (At(), Xt(\"div\", {\n ref_key: \"scrollbarRef\",\n ref: u,\n class: Vt($e(a).b())\n }, [\n cr(\"div\", {\n ref_key: \"wrapRef\",\n ref: f,\n class: Vt($e(v)),\n style: Hi($e(p)),\n tabindex: _.tabindex,\n onScroll: g\n }, [\n (At(), kr(bo(_.tag), {\n id: _.id,\n ref_key: \"resizeRef\",\n ref: d,\n class: Vt($e(m)),\n style: Hi(_.viewStyle),\n role: _.role,\n \"aria-label\": _.ariaLabel,\n \"aria-orientation\": _.ariaOrientation\n }, {\n default: ir(() => [\n ur(_.$slots, \"default\")\n ]),\n _: 3\n }, 8, [\"id\", \"class\", \"style\", \"role\", \"aria-label\", \"aria-orientation\"]))\n ], 46, [\"tabindex\"]),\n _.native ? Fr(\"v-if\", !0) : (At(), kr(MN, {\n key: 0,\n ref_key: \"barRef\",\n ref: h,\n always: _.always,\n \"min-size\": _.minSize\n }, null, 8, [\"always\", \"min-size\"]))\n ], 2));\n }\n});\nvar EN = /* @__PURE__ */ jr(DN, [[\"__file\", \"scrollbar.vue\"]]);\nconst FN = gi(EN), E1 = Symbol(\"popper\"), a5 = Symbol(\"popperContent\"), RN = [\n \"dialog\",\n \"grid\",\n \"group\",\n \"listbox\",\n \"menu\",\n \"navigation\",\n \"tooltip\",\n \"tree\"\n], i5 = qr({\n role: {\n type: String,\n values: RN,\n default: \"tooltip\"\n }\n}), PN = er({\n name: \"ElPopper\",\n inheritAttrs: !1\n}), $N = /* @__PURE__ */ er({\n ...PN,\n props: i5,\n setup(e, { expose: t }) {\n const r = e, n = Rt(), a = Rt(), i = Rt(), o = Rt(), l = et(() => r.role), s = {\n triggerRef: n,\n popperInstanceRef: a,\n contentRef: i,\n referenceRef: o,\n role: l\n };\n return t(s), wa(E1, s), (u, f) => ur(u.$slots, \"default\");\n }\n});\nvar zN = /* @__PURE__ */ jr($N, [[\"__file\", \"popper.vue\"]]);\nconst o5 = qr({\n arrowOffset: {\n type: Number,\n default: 5\n }\n}), IN = er({\n name: \"ElPopperArrow\",\n inheritAttrs: !1\n}), NN = /* @__PURE__ */ er({\n ...IN,\n props: o5,\n setup(e, { expose: t }) {\n const r = e, n = on(\"popper\"), { arrowOffset: a, arrowRef: i, arrowStyle: o } = Rr(a5, void 0);\n return _r(() => r.arrowOffset, (l) => {\n a.value = l;\n }), mi(() => {\n i.value = void 0;\n }), t({\n arrowRef: i\n }), (l, s) => (At(), Xt(\"span\", {\n ref_key: \"arrowRef\",\n ref: i,\n class: Vt($e(n).e(\"arrow\")),\n style: Hi($e(o)),\n \"data-popper-arrow\": \"\"\n }, null, 6));\n }\n});\nvar ON = /* @__PURE__ */ jr(NN, [[\"__file\", \"arrow.vue\"]]);\nconst Rm = \"ElOnlyChild\", HN = er({\n name: Rm,\n setup(e, {\n slots: t,\n attrs: r\n }) {\n var n;\n const a = Rr(e5), i = K9((n = a == null ? void 0 : a.setForwardRef) != null ? n : Kh);\n return () => {\n var o;\n const l = (o = t.default) == null ? void 0 : o.call(t, r);\n if (!l)\n return null;\n if (l.length > 1)\n return Gi(Rm, \"requires exact only one valid child.\"), null;\n const s = l5(l);\n return s ? yo(IR(s, r), [[i]]) : (Gi(Rm, \"no valid child node found\"), null);\n };\n }\n});\nfunction l5(e) {\n if (!e)\n return null;\n const t = e;\n for (const r of t) {\n if (Oi(r))\n switch (r.type) {\n case NR:\n continue;\n case h3:\n case \"svg\":\n return zw(r);\n case wo:\n return l5(r.children);\n default:\n return r;\n }\n return zw(r);\n }\n return null;\n}\nfunction zw(e) {\n const t = on(\"only-child\");\n return Ar(\"span\", {\n class: t.e(\"content\")\n }, [e]);\n}\nconst s5 = qr({\n virtualRef: {\n type: dr(Object)\n },\n virtualTriggering: Boolean,\n onMouseenter: {\n type: dr(Function)\n },\n onMouseleave: {\n type: dr(Function)\n },\n onClick: {\n type: dr(Function)\n },\n onKeydown: {\n type: dr(Function)\n },\n onFocus: {\n type: dr(Function)\n },\n onBlur: {\n type: dr(Function)\n },\n onContextmenu: {\n type: dr(Function)\n },\n id: String,\n open: Boolean\n}), BN = er({\n name: \"ElPopperTrigger\",\n inheritAttrs: !1\n}), jN = /* @__PURE__ */ er({\n ...BN,\n props: s5,\n setup(e, { expose: t }) {\n const r = e, { role: n, triggerRef: a } = Rr(E1, void 0);\n X9(a);\n const i = et(() => l.value ? r.id : void 0), o = et(() => {\n if (n && n.value === \"tooltip\")\n return r.open && r.id ? r.id : void 0;\n }), l = et(() => {\n if (n && n.value !== \"tooltip\")\n return n.value;\n }), s = et(() => l.value ? `${r.open}` : void 0);\n let u;\n const f = [\n \"onMouseenter\",\n \"onMouseleave\",\n \"onClick\",\n \"onKeydown\",\n \"onFocus\",\n \"onBlur\",\n \"onContextmenu\"\n ];\n return Zn(() => {\n _r(() => r.virtualRef, (d) => {\n d && (a.value = mo(d));\n }, {\n immediate: !0\n }), _r(a, (d, h) => {\n u == null || u(), u = void 0, Vl(d) && (f.forEach((p) => {\n var v;\n const m = r[p];\n m && (d.addEventListener(p.slice(2).toLowerCase(), m), (v = h == null ? void 0 : h.removeEventListener) == null || v.call(h, p.slice(2).toLowerCase(), m));\n }), u = _r([i, o, l, s], (p) => {\n [\n \"aria-controls\",\n \"aria-describedby\",\n \"aria-haspopup\",\n \"aria-expanded\"\n ].forEach((v, m) => {\n m1(p[m]) ? d.removeAttribute(v) : d.setAttribute(v, p[m]);\n });\n }, { immediate: !0 })), Vl(h) && [\n \"aria-controls\",\n \"aria-describedby\",\n \"aria-haspopup\",\n \"aria-expanded\"\n ].forEach((p) => h.removeAttribute(p));\n }, {\n immediate: !0\n });\n }), mi(() => {\n if (u == null || u(), u = void 0, a.value && Vl(a.value)) {\n const d = a.value;\n f.forEach((h) => {\n const p = r[h];\n p && d.removeEventListener(h.slice(2).toLowerCase(), p);\n }), a.value = void 0;\n }\n }), t({\n triggerRef: a\n }), (d, h) => d.virtualTriggering ? Fr(\"v-if\", !0) : (At(), kr($e(HN), fs({ key: 0 }, d.$attrs, {\n \"aria-controls\": $e(i),\n \"aria-describedby\": $e(o),\n \"aria-expanded\": $e(s),\n \"aria-haspopup\": $e(l)\n }), {\n default: ir(() => [\n ur(d.$slots, \"default\")\n ]),\n _: 3\n }, 16, [\"aria-controls\", \"aria-describedby\", \"aria-expanded\", \"aria-haspopup\"]));\n }\n});\nvar UN = /* @__PURE__ */ jr(jN, [[\"__file\", \"trigger.vue\"]]);\nconst Pm = \"focus-trap.focus-after-trapped\", $m = \"focus-trap.focus-after-released\", GN = \"focus-trap.focusout-prevented\", Iw = {\n cancelable: !0,\n bubbles: !1\n}, VN = {\n cancelable: !0,\n bubbles: !1\n}, Nw = \"focusAfterTrapped\", Ow = \"focusAfterReleased\", qN = Symbol(\"elFocusTrap\"), F1 = Rt(), ep = Rt(0), R1 = Rt(0);\nlet Sd = 0;\nconst u5 = (e) => {\n const t = [], r = document.createTreeWalker(e, NodeFilter.SHOW_ELEMENT, {\n acceptNode: (n) => {\n const a = n.tagName === \"INPUT\" && n.type === \"hidden\";\n return n.disabled || n.hidden || a ? NodeFilter.FILTER_SKIP : n.tabIndex >= 0 || n === document.activeElement ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_SKIP;\n }\n });\n for (; r.nextNode(); )\n t.push(r.currentNode);\n return t;\n}, Hw = (e, t) => {\n for (const r of e)\n if (!WN(r, t))\n return r;\n}, WN = (e, t) => {\n if (cs.env.NODE_ENV === \"test\")\n return !1;\n if (getComputedStyle(e).visibility === \"hidden\")\n return !0;\n for (; e; ) {\n if (t && e === t)\n return !1;\n if (getComputedStyle(e).display === \"none\")\n return !0;\n e = e.parentElement;\n }\n return !1;\n}, ZN = (e) => {\n const t = u5(e), r = Hw(t, e), n = Hw(t.reverse(), e);\n return [r, n];\n}, YN = (e) => e instanceof HTMLInputElement && \"select\" in e, jo = (e, t) => {\n if (e && e.focus) {\n const r = document.activeElement;\n e.focus({ preventScroll: !0 }), R1.value = window.performance.now(), e !== r && YN(e) && t && e.select();\n }\n};\nfunction Bw(e, t) {\n const r = [...e], n = e.indexOf(t);\n return n !== -1 && r.splice(n, 1), r;\n}\nconst XN = () => {\n let e = [];\n return {\n push: (n) => {\n const a = e[0];\n a && n !== a && a.pause(), e = Bw(e, n), e.unshift(n);\n },\n remove: (n) => {\n var a, i;\n e = Bw(e, n), (i = (a = e[0]) == null ? void 0 : a.resume) == null || i.call(a);\n }\n };\n}, KN = (e, t = !1) => {\n const r = document.activeElement;\n for (const n of e)\n if (jo(n, t), document.activeElement !== r)\n return;\n}, jw = XN(), JN = () => ep.value > R1.value, Cd = () => {\n F1.value = \"pointer\", ep.value = window.performance.now();\n}, Uw = () => {\n F1.value = \"keyboard\", ep.value = window.performance.now();\n}, QN = () => (Zn(() => {\n Sd === 0 && (document.addEventListener(\"mousedown\", Cd), document.addEventListener(\"touchstart\", Cd), document.addEventListener(\"keydown\", Uw)), Sd++;\n}), mi(() => {\n Sd--, Sd <= 0 && (document.removeEventListener(\"mousedown\", Cd), document.removeEventListener(\"touchstart\", Cd), document.removeEventListener(\"keydown\", Uw));\n}), {\n focusReason: F1,\n lastUserFocusTimestamp: ep,\n lastAutomatedFocusTimestamp: R1\n}), Ld = (e) => new CustomEvent(GN, {\n ...VN,\n detail: e\n}), eO = er({\n name: \"ElFocusTrap\",\n inheritAttrs: !1,\n props: {\n loop: Boolean,\n trapped: Boolean,\n focusTrapEl: Object,\n focusStartEl: {\n type: [Object, String],\n default: \"first\"\n }\n },\n emits: [\n Nw,\n Ow,\n \"focusin\",\n \"focusout\",\n \"focusout-prevented\",\n \"release-requested\"\n ],\n setup(e, { emit: t }) {\n const r = Rt();\n let n, a;\n const { focusReason: i } = QN();\n V9((v) => {\n e.trapped && !o.paused && t(\"release-requested\", v);\n });\n const o = {\n paused: !1,\n pause() {\n this.paused = !0;\n },\n resume() {\n this.paused = !1;\n }\n }, l = (v) => {\n if (!e.loop && !e.trapped || o.paused)\n return;\n const { key: m, altKey: g, ctrlKey: y, metaKey: w, currentTarget: k, shiftKey: x } = v, { loop: _ } = e, T = m === hc.tab && !g && !y && !w, S = document.activeElement;\n if (T && S) {\n const M = k, [L, F] = ZN(M);\n if (L && F) {\n if (!x && S === F) {\n const I = Ld({\n focusReason: i.value\n });\n t(\"focusout-prevented\", I), I.defaultPrevented || (v.preventDefault(), _ && jo(L, !0));\n } else if (x && [L, M].includes(S)) {\n const I = Ld({\n focusReason: i.value\n });\n t(\"focusout-prevented\", I), I.defaultPrevented || (v.preventDefault(), _ && jo(F, !0));\n }\n } else if (S === M) {\n const I = Ld({\n focusReason: i.value\n });\n t(\"focusout-prevented\", I), I.defaultPrevented || v.preventDefault();\n }\n }\n };\n wa(qN, {\n focusTrapRef: r,\n onKeydown: l\n }), _r(() => e.focusTrapEl, (v) => {\n v && (r.value = v);\n }, { immediate: !0 }), _r([r], ([v], [m]) => {\n v && (v.addEventListener(\"keydown\", l), v.addEventListener(\"focusin\", f), v.addEventListener(\"focusout\", d)), m && (m.removeEventListener(\"keydown\", l), m.removeEventListener(\"focusin\", f), m.removeEventListener(\"focusout\", d));\n });\n const s = (v) => {\n t(Nw, v);\n }, u = (v) => t(Ow, v), f = (v) => {\n const m = $e(r);\n if (!m)\n return;\n const g = v.target, y = v.relatedTarget, w = g && m.contains(g);\n e.trapped || y && m.contains(y) || (n = y), w && t(\"focusin\", v), !o.paused && e.trapped && (w ? a = g : jo(a, !0));\n }, d = (v) => {\n const m = $e(r);\n if (!(o.paused || !m))\n if (e.trapped) {\n const g = v.relatedTarget;\n !m1(g) && !m.contains(g) && setTimeout(() => {\n if (!o.paused && e.trapped) {\n const y = Ld({\n focusReason: i.value\n });\n t(\"focusout-prevented\", y), y.defaultPrevented || jo(a, !0);\n }\n }, 0);\n } else {\n const g = v.target;\n g && m.contains(g) || t(\"focusout\", v);\n }\n };\n async function h() {\n await ja();\n const v = $e(r);\n if (v) {\n jw.push(o);\n const m = v.contains(document.activeElement) ? n : document.activeElement;\n if (n = m, !v.contains(m)) {\n const y = new Event(Pm, Iw);\n v.addEventListener(Pm, s), v.dispatchEvent(y), y.defaultPrevented || ja(() => {\n let w = e.focusStartEl;\n Uu(w) || (jo(w), document.activeElement !== w && (w = \"first\")), w === \"first\" && KN(u5(v), !0), (document.activeElement === m || w === \"container\") && jo(v);\n });\n }\n }\n }\n function p() {\n const v = $e(r);\n if (v) {\n v.removeEventListener(Pm, s);\n const m = new CustomEvent($m, {\n ...Iw,\n detail: {\n focusReason: i.value\n }\n });\n v.addEventListener($m, u), v.dispatchEvent(m), !m.defaultPrevented && (i.value == \"keyboard\" || !JN() || v.contains(document.activeElement)) && jo(n ?? document.body), v.removeEventListener($m, u), jw.remove(o);\n }\n }\n return Zn(() => {\n e.trapped && h(), _r(() => e.trapped, (v) => {\n v ? h() : p();\n });\n }), mi(() => {\n e.trapped && p(), r.value && (r.value.removeEventListener(\"keydown\", l), r.value.removeEventListener(\"focusin\", f), r.value.removeEventListener(\"focusout\", d), r.value = void 0);\n }), {\n onKeydown: l\n };\n }\n});\nfunction tO(e, t, r, n, a, i) {\n return ur(e.$slots, \"default\", { handleKeydown: e.onKeydown });\n}\nvar rO = /* @__PURE__ */ jr(eO, [[\"render\", tO], [\"__file\", \"focus-trap.vue\"]]);\nconst nO = [\"fixed\", \"absolute\"], aO = qr({\n boundariesPadding: {\n type: Number,\n default: 0\n },\n fallbackPlacements: {\n type: dr(Array),\n default: void 0\n },\n gpuAcceleration: {\n type: Boolean,\n default: !0\n },\n offset: {\n type: Number,\n default: 12\n },\n placement: {\n type: String,\n values: Xv,\n default: \"bottom\"\n },\n popperOptions: {\n type: dr(Object),\n default: () => ({})\n },\n strategy: {\n type: String,\n values: nO,\n default: \"absolute\"\n }\n}), f5 = qr({\n ...aO,\n id: String,\n style: {\n type: dr([String, Array, Object])\n },\n className: {\n type: dr([String, Array, Object])\n },\n effect: {\n type: dr(String),\n default: \"dark\"\n },\n visible: Boolean,\n enterable: {\n type: Boolean,\n default: !0\n },\n pure: Boolean,\n focusOnShow: {\n type: Boolean,\n default: !1\n },\n trapping: {\n type: Boolean,\n default: !1\n },\n popperClass: {\n type: dr([String, Array, Object])\n },\n popperStyle: {\n type: dr([String, Array, Object])\n },\n referenceEl: {\n type: dr(Object)\n },\n triggerTargetEl: {\n type: dr(Object)\n },\n stopPopperMouseEvent: {\n type: Boolean,\n default: !0\n },\n virtualTriggering: Boolean,\n zIndex: Number,\n ...Qv([\"ariaLabel\"])\n}), iO = {\n mouseenter: (e) => e instanceof MouseEvent,\n mouseleave: (e) => e instanceof MouseEvent,\n focus: () => !0,\n blur: () => !0,\n close: () => !0\n}, oO = (e, t = []) => {\n const { placement: r, strategy: n, popperOptions: a } = e, i = {\n placement: r,\n strategy: n,\n ...a,\n modifiers: [...sO(e), ...t]\n };\n return uO(i, a == null ? void 0 : a.modifiers), i;\n}, lO = (e) => {\n if (qn)\n return mo(e);\n};\nfunction sO(e) {\n const { offset: t, gpuAcceleration: r, fallbackPlacements: n } = e;\n return [\n {\n name: \"offset\",\n options: {\n offset: [0, t ?? 12]\n }\n },\n {\n name: \"preventOverflow\",\n options: {\n padding: {\n top: 2,\n bottom: 2,\n left: 5,\n right: 5\n }\n }\n },\n {\n name: \"flip\",\n options: {\n padding: 5,\n fallbackPlacements: n\n }\n },\n {\n name: \"computeStyles\",\n options: {\n gpuAcceleration: r\n }\n }\n ];\n}\nfunction uO(e, t) {\n t && (e.modifiers = [...e.modifiers, ...t ?? []]);\n}\nconst fO = 0, cO = (e) => {\n const { popperInstanceRef: t, contentRef: r, triggerRef: n, role: a } = Rr(E1, void 0), i = Rt(), o = Rt(), l = et(() => ({\n name: \"eventListeners\",\n enabled: !!e.visible\n })), s = et(() => {\n var y;\n const w = $e(i), k = (y = $e(o)) != null ? y : fO;\n return {\n name: \"arrow\",\n enabled: !a7(w),\n options: {\n element: w,\n padding: k\n }\n };\n }), u = et(() => ({\n onFirstUpdate: () => {\n v();\n },\n ...oO(e, [\n $e(s),\n $e(l)\n ])\n })), f = et(() => lO(e.referenceEl) || $e(n)), { attributes: d, state: h, styles: p, update: v, forceUpdate: m, instanceRef: g } = j9(f, r, u);\n return _r(g, (y) => t.value = y), Zn(() => {\n _r(() => {\n var y;\n return (y = $e(f)) == null ? void 0 : y.getBoundingClientRect();\n }, () => {\n v();\n });\n }), {\n attributes: d,\n arrowRef: i,\n contentRef: r,\n instanceRef: g,\n state: h,\n styles: p,\n role: a,\n forceUpdate: m,\n update: v\n };\n}, dO = (e, {\n attributes: t,\n styles: r,\n role: n\n}) => {\n const { nextZIndex: a } = eN(), i = on(\"popper\"), o = et(() => $e(t).popper), l = Rt(Ga(e.zIndex) ? e.zIndex : a()), s = et(() => [\n i.b(),\n i.is(\"pure\", e.pure),\n i.is(e.effect),\n e.popperClass\n ]), u = et(() => [\n { zIndex: $e(l) },\n $e(r).popper,\n e.popperStyle || {}\n ]), f = et(() => n.value === \"dialog\" ? \"false\" : void 0), d = et(() => $e(r).arrow || {});\n return {\n ariaModal: f,\n arrowStyle: d,\n contentAttrs: o,\n contentClass: s,\n contentStyle: u,\n contentZIndex: l,\n updateZIndex: () => {\n l.value = Ga(e.zIndex) ? e.zIndex : a();\n }\n };\n}, hO = (e, t) => {\n const r = Rt(!1), n = Rt();\n return {\n focusStartRef: n,\n trapped: r,\n onFocusAfterReleased: (u) => {\n var f;\n ((f = u.detail) == null ? void 0 : f.focusReason) !== \"pointer\" && (n.value = \"first\", t(\"blur\"));\n },\n onFocusAfterTrapped: () => {\n t(\"focus\");\n },\n onFocusInTrap: (u) => {\n e.visible && !r.value && (u.target && (n.value = u.target), r.value = !0);\n },\n onFocusoutPrevented: (u) => {\n e.trapping || (u.detail.focusReason === \"pointer\" && u.preventDefault(), r.value = !1);\n },\n onReleaseRequested: () => {\n r.value = !1, t(\"close\");\n }\n };\n}, vO = er({\n name: \"ElPopperContent\"\n}), pO = /* @__PURE__ */ er({\n ...vO,\n props: f5,\n emits: iO,\n setup(e, { expose: t, emit: r }) {\n const n = e, {\n focusStartRef: a,\n trapped: i,\n onFocusAfterReleased: o,\n onFocusAfterTrapped: l,\n onFocusInTrap: s,\n onFocusoutPrevented: u,\n onReleaseRequested: f\n } = hO(n, r), { attributes: d, arrowRef: h, contentRef: p, styles: v, instanceRef: m, role: g, update: y } = cO(n), {\n ariaModal: w,\n arrowStyle: k,\n contentAttrs: x,\n contentClass: _,\n contentStyle: T,\n updateZIndex: S\n } = dO(n, {\n styles: v,\n attributes: d,\n role: g\n }), M = Rr(rv, void 0), L = Rt();\n wa(a5, {\n arrowStyle: k,\n arrowRef: h,\n arrowOffset: L\n }), M && wa(rv, {\n ...M,\n addInputId: Kh,\n removeInputId: Kh\n });\n let F;\n const $ = (O = !0) => {\n y(), O && S();\n }, I = () => {\n $(!1), n.visible && n.focusOnShow ? i.value = !0 : n.visible === !1 && (i.value = !1);\n };\n return Zn(() => {\n _r(() => n.triggerTargetEl, (O, G) => {\n F == null || F(), F = void 0;\n const K = $e(O || p.value), V = $e(G || p.value);\n Vl(K) && (F = _r([g, () => n.ariaLabel, w, () => n.id], (z) => {\n [\"role\", \"aria-label\", \"aria-modal\", \"id\"].forEach((P, R) => {\n m1(z[R]) ? K.removeAttribute(P) : K.setAttribute(P, z[R]);\n });\n }, { immediate: !0 })), V !== K && Vl(V) && [\"role\", \"aria-label\", \"aria-modal\", \"id\"].forEach((z) => {\n V.removeAttribute(z);\n });\n }, { immediate: !0 }), _r(() => n.visible, I, { immediate: !0 });\n }), mi(() => {\n F == null || F(), F = void 0;\n }), t({\n popperContentRef: p,\n popperInstanceRef: m,\n updatePopper: $,\n contentStyle: T\n }), (O, G) => (At(), Xt(\"div\", fs({\n ref_key: \"contentRef\",\n ref: p\n }, $e(x), {\n style: $e(T),\n class: $e(_),\n tabindex: \"-1\",\n onMouseenter: (K) => O.$emit(\"mouseenter\", K),\n onMouseleave: (K) => O.$emit(\"mouseleave\", K)\n }), [\n Ar($e(rO), {\n trapped: $e(i),\n \"trap-on-focus-in\": !0,\n \"focus-trap-el\": $e(p),\n \"focus-start-el\": $e(a),\n onFocusAfterTrapped: $e(l),\n onFocusAfterReleased: $e(o),\n onFocusin: $e(s),\n onFocusoutPrevented: $e(u),\n onReleaseRequested: $e(f)\n }, {\n default: ir(() => [\n ur(O.$slots, \"default\")\n ]),\n _: 3\n }, 8, [\"trapped\", \"focus-trap-el\", \"focus-start-el\", \"onFocusAfterTrapped\", \"onFocusAfterReleased\", \"onFocusin\", \"onFocusoutPrevented\", \"onReleaseRequested\"])\n ], 16, [\"onMouseenter\", \"onMouseleave\"]));\n }\n});\nvar mO = /* @__PURE__ */ jr(pO, [[\"__file\", \"content.vue\"]]);\nconst gO = gi(zN), P1 = Symbol(\"elTooltip\"), ma = qr({\n ...Z9,\n ...f5,\n appendTo: {\n type: dr([String, Object])\n },\n content: {\n type: String,\n default: \"\"\n },\n rawContent: Boolean,\n persistent: Boolean,\n visible: {\n type: dr(Boolean),\n default: null\n },\n transition: String,\n teleported: {\n type: Boolean,\n default: !0\n },\n disabled: Boolean,\n ...Qv([\"ariaLabel\"])\n}), mc = qr({\n ...s5,\n disabled: Boolean,\n trigger: {\n type: dr([String, Array]),\n default: \"hover\"\n },\n triggerKeys: {\n type: dr(Array),\n default: () => [hc.enter, hc.space]\n }\n}), {\n useModelToggleProps: yO,\n useModelToggleEmits: bO,\n useModelToggle: _O\n} = O7(\"visible\"), xO = qr({\n ...i5,\n ...yO,\n ...ma,\n ...mc,\n ...o5,\n showArrow: {\n type: Boolean,\n default: !0\n }\n}), wO = [\n ...bO,\n \"before-show\",\n \"before-hide\",\n \"show\",\n \"hide\",\n \"open\",\n \"close\"\n], TO = (e, t) => Ni(e) ? e.includes(t) : e === t, Fs = (e, t, r) => (n) => {\n TO($e(e), t) && r(n);\n}, kO = er({\n name: \"ElTooltipTrigger\"\n}), AO = /* @__PURE__ */ er({\n ...kO,\n props: mc,\n setup(e, { expose: t }) {\n const r = e, n = on(\"tooltip\"), { controlled: a, id: i, open: o, onOpen: l, onClose: s, onToggle: u } = Rr(P1, void 0), f = Rt(null), d = () => {\n if ($e(a) || r.disabled)\n return !0;\n }, h = Ii(r, \"trigger\"), p = fo(d, Fs(h, \"hover\", l)), v = fo(d, Fs(h, \"hover\", s)), m = fo(d, Fs(h, \"click\", (x) => {\n x.button === 0 && u(x);\n })), g = fo(d, Fs(h, \"focus\", l)), y = fo(d, Fs(h, \"focus\", s)), w = fo(d, Fs(h, \"contextmenu\", (x) => {\n x.preventDefault(), u(x);\n })), k = fo(d, (x) => {\n const { code: _ } = x;\n r.triggerKeys.includes(_) && (x.preventDefault(), u(x));\n });\n return t({\n triggerRef: f\n }), (x, _) => (At(), kr($e(UN), {\n id: $e(i),\n \"virtual-ref\": x.virtualRef,\n open: $e(o),\n \"virtual-triggering\": x.virtualTriggering,\n class: Vt($e(n).e(\"trigger\")),\n onBlur: $e(y),\n onClick: $e(m),\n onContextmenu: $e(w),\n onFocus: $e(g),\n onMouseenter: $e(p),\n onMouseleave: $e(v),\n onKeydown: $e(k)\n }, {\n default: ir(() => [\n ur(x.$slots, \"default\")\n ]),\n _: 3\n }, 8, [\"id\", \"virtual-ref\", \"open\", \"virtual-triggering\", \"class\", \"onBlur\", \"onClick\", \"onContextmenu\", \"onFocus\", \"onMouseenter\", \"onMouseleave\", \"onKeydown\"]));\n }\n});\nvar MO = /* @__PURE__ */ jr(AO, [[\"__file\", \"trigger.vue\"]]);\nconst SO = qr({\n to: {\n type: dr([String, Object]),\n required: !0\n },\n disabled: Boolean\n}), CO = /* @__PURE__ */ er({\n __name: \"teleport\",\n props: SO,\n setup(e) {\n return (t, r) => t.disabled ? ur(t.$slots, \"default\", { key: 0 }) : (At(), kr(OR, {\n key: 1,\n to: t.to\n }, [\n ur(t.$slots, \"default\")\n ], 8, [\"to\"]));\n }\n});\nvar LO = /* @__PURE__ */ jr(CO, [[\"__file\", \"teleport.vue\"]]);\nconst DO = gi(LO), EO = er({\n name: \"ElTooltipContent\",\n inheritAttrs: !1\n}), FO = /* @__PURE__ */ er({\n ...EO,\n props: ma,\n setup(e, { expose: t }) {\n const r = e, { selector: n } = Q3(), a = on(\"tooltip\"), i = Rt(null);\n let o;\n const {\n controlled: l,\n id: s,\n open: u,\n trigger: f,\n onClose: d,\n onOpen: h,\n onShow: p,\n onHide: v,\n onBeforeShow: m,\n onBeforeHide: g\n } = Rr(P1, void 0), y = et(() => r.transition || `${a.namespace.value}-fade-in-linear`), w = et(() => cs.env.NODE_ENV === \"test\" ? !0 : r.persistent);\n mi(() => {\n o == null || o();\n });\n const k = et(() => $e(w) ? !0 : $e(u)), x = et(() => r.disabled ? !1 : $e(u)), _ = et(() => r.appendTo || n.value), T = et(() => {\n var V;\n return (V = r.style) != null ? V : {};\n }), S = Rt(!0), M = () => {\n v(), S.value = !0;\n }, L = () => {\n if ($e(l))\n return !0;\n }, F = fo(L, () => {\n r.enterable && $e(f) === \"hover\" && h();\n }), $ = fo(L, () => {\n $e(f) === \"hover\" && d();\n }), I = () => {\n var V, z;\n (z = (V = i.value) == null ? void 0 : V.updatePopper) == null || z.call(V), m == null || m();\n }, O = () => {\n g == null || g();\n }, G = () => {\n p(), o = tP(et(() => {\n var V;\n return (V = i.value) == null ? void 0 : V.popperContentRef;\n }), () => {\n if ($e(l))\n return;\n $e(f) !== \"hover\" && d();\n });\n }, K = () => {\n r.virtualTriggering || d();\n };\n return _r(() => $e(u), (V) => {\n V ? S.value = !1 : o == null || o();\n }, {\n flush: \"post\"\n }), _r(() => r.content, () => {\n var V, z;\n (z = (V = i.value) == null ? void 0 : V.updatePopper) == null || z.call(V);\n }), t({\n contentRef: i\n }), (V, z) => (At(), kr($e(DO), {\n disabled: !V.teleported,\n to: $e(_)\n }, {\n default: ir(() => [\n Ar(Ov, {\n name: $e(y),\n onAfterLeave: M,\n onBeforeEnter: I,\n onAfterEnter: G,\n onBeforeLeave: O\n }, {\n default: ir(() => [\n $e(k) ? yo((At(), kr($e(mO), fs({\n key: 0,\n id: $e(s),\n ref_key: \"contentRef\",\n ref: i\n }, V.$attrs, {\n \"aria-label\": V.ariaLabel,\n \"aria-hidden\": S.value,\n \"boundaries-padding\": V.boundariesPadding,\n \"fallback-placements\": V.fallbackPlacements,\n \"gpu-acceleration\": V.gpuAcceleration,\n offset: V.offset,\n placement: V.placement,\n \"popper-options\": V.popperOptions,\n strategy: V.strategy,\n effect: V.effect,\n enterable: V.enterable,\n pure: V.pure,\n \"popper-class\": V.popperClass,\n \"popper-style\": [V.popperStyle, $e(T)],\n \"reference-el\": V.referenceEl,\n \"trigger-target-el\": V.triggerTargetEl,\n visible: $e(x),\n \"z-index\": V.zIndex,\n onMouseenter: $e(F),\n onMouseleave: $e($),\n onBlur: K,\n onClose: $e(d)\n }), {\n default: ir(() => [\n ur(V.$slots, \"default\")\n ]),\n _: 3\n }, 16, [\"id\", \"aria-label\", \"aria-hidden\", \"boundaries-padding\", \"fallback-placements\", \"gpu-acceleration\", \"offset\", \"placement\", \"popper-options\", \"strategy\", \"effect\", \"enterable\", \"pure\", \"popper-class\", \"popper-style\", \"reference-el\", \"trigger-target-el\", \"visible\", \"z-index\", \"onMouseenter\", \"onMouseleave\", \"onClose\"])), [\n [ju, $e(x)]\n ]) : Fr(\"v-if\", !0)\n ]),\n _: 3\n }, 8, [\"name\"])\n ]),\n _: 3\n }, 8, [\"disabled\", \"to\"]));\n }\n});\nvar RO = /* @__PURE__ */ jr(FO, [[\"__file\", \"content.vue\"]]);\nconst PO = er({\n name: \"ElTooltip\"\n}), $O = /* @__PURE__ */ er({\n ...PO,\n props: xO,\n emits: wO,\n setup(e, { expose: t, emit: r }) {\n const n = e;\n W9();\n const a = Jv(), i = Rt(), o = Rt(), l = () => {\n var y;\n const w = $e(i);\n w && ((y = w.popperInstanceRef) == null || y.update());\n }, s = Rt(!1), u = Rt(), { show: f, hide: d, hasUpdateHandler: h } = _O({\n indicator: s,\n toggleReason: u\n }), { onOpen: p, onClose: v } = Y9({\n showAfter: Ii(n, \"showAfter\"),\n hideAfter: Ii(n, \"hideAfter\"),\n autoClose: Ii(n, \"autoClose\"),\n open: f,\n close: d\n }), m = et(() => g1(n.visible) && !h.value);\n wa(P1, {\n controlled: m,\n id: a,\n open: HR(s),\n trigger: Ii(n, \"trigger\"),\n onOpen: (y) => {\n p(y);\n },\n onClose: (y) => {\n v(y);\n },\n onToggle: (y) => {\n $e(s) ? v(y) : p(y);\n },\n onShow: () => {\n r(\"show\", u.value);\n },\n onHide: () => {\n r(\"hide\", u.value);\n },\n onBeforeShow: () => {\n r(\"before-show\", u.value);\n },\n onBeforeHide: () => {\n r(\"before-hide\", u.value);\n },\n updatePopper: l\n }), _r(() => n.disabled, (y) => {\n y && s.value && (s.value = !1);\n });\n const g = (y) => {\n var w, k;\n const x = (k = (w = o.value) == null ? void 0 : w.contentRef) == null ? void 0 : k.popperContentRef, _ = (y == null ? void 0 : y.relatedTarget) || document.activeElement;\n return x && x.contains(_);\n };\n return BR(() => s.value && d()), t({\n popperRef: i,\n contentRef: o,\n isFocusInsideContent: g,\n updatePopper: l,\n onOpen: p,\n onClose: v,\n hide: d\n }), (y, w) => (At(), kr($e(gO), {\n ref_key: \"popperRef\",\n ref: i,\n role: y.role\n }, {\n default: ir(() => [\n Ar(MO, {\n disabled: y.disabled,\n trigger: y.trigger,\n \"trigger-keys\": y.triggerKeys,\n \"virtual-ref\": y.virtualRef,\n \"virtual-triggering\": y.virtualTriggering\n }, {\n default: ir(() => [\n y.$slots.default ? ur(y.$slots, \"default\", { key: 0 }) : Fr(\"v-if\", !0)\n ]),\n _: 3\n }, 8, [\"disabled\", \"trigger\", \"trigger-keys\", \"virtual-ref\", \"virtual-triggering\"]),\n Ar(RO, {\n ref_key: \"contentRef\",\n ref: o,\n \"aria-label\": y.ariaLabel,\n \"boundaries-padding\": y.boundariesPadding,\n content: y.content,\n disabled: y.disabled,\n effect: y.effect,\n enterable: y.enterable,\n \"fallback-placements\": y.fallbackPlacements,\n \"hide-after\": y.hideAfter,\n \"gpu-acceleration\": y.gpuAcceleration,\n offset: y.offset,\n persistent: y.persistent,\n \"popper-class\": y.popperClass,\n \"popper-style\": y.popperStyle,\n placement: y.placement,\n \"popper-options\": y.popperOptions,\n pure: y.pure,\n \"raw-content\": y.rawContent,\n \"reference-el\": y.referenceEl,\n \"trigger-target-el\": y.triggerTargetEl,\n \"show-after\": y.showAfter,\n strategy: y.strategy,\n teleported: y.teleported,\n transition: y.transition,\n \"virtual-triggering\": y.virtualTriggering,\n \"z-index\": y.zIndex,\n \"append-to\": y.appendTo\n }, {\n default: ir(() => [\n ur(y.$slots, \"content\", {}, () => [\n y.rawContent ? (At(), Xt(\"span\", {\n key: 0,\n innerHTML: y.content\n }, null, 8, [\"innerHTML\"])) : (At(), Xt(\"span\", { key: 1 }, ga(y.content), 1))\n ]),\n y.showArrow ? (At(), kr($e(ON), {\n key: 0,\n \"arrow-offset\": y.arrowOffset\n }, null, 8, [\"arrow-offset\"])) : Fr(\"v-if\", !0)\n ]),\n _: 3\n }, 8, [\"aria-label\", \"boundaries-padding\", \"content\", \"disabled\", \"effect\", \"enterable\", \"fallback-placements\", \"hide-after\", \"gpu-acceleration\", \"offset\", \"persistent\", \"popper-class\", \"popper-style\", \"placement\", \"popper-options\", \"pure\", \"raw-content\", \"reference-el\", \"trigger-target-el\", \"show-after\", \"strategy\", \"teleported\", \"transition\", \"virtual-triggering\", \"z-index\", \"append-to\"])\n ]),\n _: 3\n }, 8, [\"role\"]));\n }\n});\nvar zO = /* @__PURE__ */ jr($O, [[\"__file\", \"tooltip.vue\"]]);\nconst c5 = gi(zO), d5 = Symbol(\"buttonGroupContextKey\"), IO = (e, t) => {\n C7({\n from: \"type.text\",\n replacement: \"link\",\n version: \"3.0.0\",\n scope: \"props\",\n ref: \"https://element-plus.org/en-US/component/button.html#button-attributes\"\n }, et(() => e.type === \"text\"));\n const r = Rr(d5, void 0), n = hN(\"button\"), { form: a } = n5(), i = L1(et(() => r == null ? void 0 : r.size)), o = r5(), l = Rt(), s = jR(), u = et(() => e.type || (r == null ? void 0 : r.type) || \"\"), f = et(() => {\n var v, m, g;\n return (g = (m = e.autoInsertSpace) != null ? m : (v = n.value) == null ? void 0 : v.autoInsertSpace) != null ? g : !1;\n }), d = et(() => e.tag === \"button\" ? {\n ariaDisabled: o.value || e.loading,\n disabled: o.value || e.loading,\n autofocus: e.autofocus,\n type: e.nativeType\n } : {}), h = et(() => {\n var v;\n const m = (v = s.default) == null ? void 0 : v.call(s);\n if (f.value && (m == null ? void 0 : m.length) === 1) {\n const g = m[0];\n if ((g == null ? void 0 : g.type) === h3) {\n const y = g.children;\n return new RegExp(\"^\\\\p{Unified_Ideograph}{2}$\", \"u\").test(y.trim());\n }\n }\n return !1;\n });\n return {\n _disabled: o,\n _size: i,\n _type: u,\n _ref: l,\n _props: d,\n shouldAddSpace: h,\n handleClick: (v) => {\n if (o.value || e.loading) {\n v.stopPropagation();\n return;\n }\n e.nativeType === \"reset\" && (a == null || a.resetFields()), t(\"click\", v);\n }\n };\n}, NO = [\n \"default\",\n \"primary\",\n \"success\",\n \"warning\",\n \"info\",\n \"danger\",\n \"text\",\n \"\"\n], OO = [\"button\", \"submit\", \"reset\"], Q0 = qr({\n size: t5,\n disabled: Boolean,\n type: {\n type: String,\n values: NO,\n default: \"\"\n },\n icon: {\n type: Tu\n },\n nativeType: {\n type: String,\n values: OO,\n default: \"button\"\n },\n loading: Boolean,\n loadingIcon: {\n type: Tu,\n default: () => N3\n },\n plain: Boolean,\n text: Boolean,\n link: Boolean,\n bg: Boolean,\n autofocus: Boolean,\n round: Boolean,\n circle: Boolean,\n color: String,\n dark: Boolean,\n autoInsertSpace: {\n type: Boolean,\n default: void 0\n },\n tag: {\n type: dr([String, Object]),\n default: \"button\"\n }\n}), HO = {\n click: (e) => e instanceof MouseEvent\n};\nfunction En(e, t) {\n BO(e) && (e = \"100%\");\n var r = jO(e);\n return e = t === 360 ? e : Math.min(t, Math.max(0, parseFloat(e))), r && (e = parseInt(String(e * t), 10) / 100), Math.abs(e - t) < 1e-6 ? 1 : (t === 360 ? e = (e < 0 ? e % t + t : e % t) / parseFloat(String(t)) : e = e % t / parseFloat(String(t)), e);\n}\nfunction Dd(e) {\n return Math.min(1, Math.max(0, e));\n}\nfunction BO(e) {\n return typeof e == \"string\" && e.indexOf(\".\") !== -1 && parseFloat(e) === 1;\n}\nfunction jO(e) {\n return typeof e == \"string\" && e.indexOf(\"%\") !== -1;\n}\nfunction h5(e) {\n return e = parseFloat(e), (isNaN(e) || e < 0 || e > 1) && (e = 1), e;\n}\nfunction Ed(e) {\n return e <= 1 ? \"\".concat(Number(e) * 100, \"%\") : e;\n}\nfunction Hl(e) {\n return e.length === 1 ? \"0\" + e : String(e);\n}\nfunction UO(e, t, r) {\n return {\n r: En(e, 255) * 255,\n g: En(t, 255) * 255,\n b: En(r, 255) * 255\n };\n}\nfunction Gw(e, t, r) {\n e = En(e, 255), t = En(t, 255), r = En(r, 255);\n var n = Math.max(e, t, r), a = Math.min(e, t, r), i = 0, o = 0, l = (n + a) / 2;\n if (n === a)\n o = 0, i = 0;\n else {\n var s = n - a;\n switch (o = l > 0.5 ? s / (2 - n - a) : s / (n + a), n) {\n case e:\n i = (t - r) / s + (t < r ? 6 : 0);\n break;\n case t:\n i = (r - e) / s + 2;\n break;\n case r:\n i = (e - t) / s + 4;\n break;\n }\n i /= 6;\n }\n return { h: i, s: o, l };\n}\nfunction zm(e, t, r) {\n return r < 0 && (r += 1), r > 1 && (r -= 1), r < 1 / 6 ? e + (t - e) * (6 * r) : r < 1 / 2 ? t : r < 2 / 3 ? e + (t - e) * (2 / 3 - r) * 6 : e;\n}\nfunction GO(e, t, r) {\n var n, a, i;\n if (e = En(e, 360), t = En(t, 100), r = En(r, 100), t === 0)\n a = r, i = r, n = r;\n else {\n var o = r < 0.5 ? r * (1 + t) : r + t - r * t, l = 2 * r - o;\n n = zm(l, o, e + 1 / 3), a = zm(l, o, e), i = zm(l, o, e - 1 / 3);\n }\n return { r: n * 255, g: a * 255, b: i * 255 };\n}\nfunction Vw(e, t, r) {\n e = En(e, 255), t = En(t, 255), r = En(r, 255);\n var n = Math.max(e, t, r), a = Math.min(e, t, r), i = 0, o = n, l = n - a, s = n === 0 ? 0 : l / n;\n if (n === a)\n i = 0;\n else {\n switch (n) {\n case e:\n i = (t - r) / l + (t < r ? 6 : 0);\n break;\n case t:\n i = (r - e) / l + 2;\n break;\n case r:\n i = (e - t) / l + 4;\n break;\n }\n i /= 6;\n }\n return { h: i, s, v: o };\n}\nfunction VO(e, t, r) {\n e = En(e, 360) * 6, t = En(t, 100), r = En(r, 100);\n var n = Math.floor(e), a = e - n, i = r * (1 - t), o = r * (1 - a * t), l = r * (1 - (1 - a) * t), s = n % 6, u = [r, o, i, i, l, r][s], f = [l, r, r, o, i, i][s], d = [i, i, l, r, r, o][s];\n return { r: u * 255, g: f * 255, b: d * 255 };\n}\nfunction qw(e, t, r, n) {\n var a = [\n Hl(Math.round(e).toString(16)),\n Hl(Math.round(t).toString(16)),\n Hl(Math.round(r).toString(16))\n ];\n return n && a[0].startsWith(a[0].charAt(1)) && a[1].startsWith(a[1].charAt(1)) && a[2].startsWith(a[2].charAt(1)) ? a[0].charAt(0) + a[1].charAt(0) + a[2].charAt(0) : a.join(\"\");\n}\nfunction qO(e, t, r, n, a) {\n var i = [\n Hl(Math.round(e).toString(16)),\n Hl(Math.round(t).toString(16)),\n Hl(Math.round(r).toString(16)),\n Hl(WO(n))\n ];\n return a && i[0].startsWith(i[0].charAt(1)) && i[1].startsWith(i[1].charAt(1)) && i[2].startsWith(i[2].charAt(1)) && i[3].startsWith(i[3].charAt(1)) ? i[0].charAt(0) + i[1].charAt(0) + i[2].charAt(0) + i[3].charAt(0) : i.join(\"\");\n}\nfunction WO(e) {\n return Math.round(parseFloat(e) * 255).toString(16);\n}\nfunction Ww(e) {\n return va(e) / 255;\n}\nfunction va(e) {\n return parseInt(e, 16);\n}\nfunction ZO(e) {\n return {\n r: e >> 16,\n g: (e & 65280) >> 8,\n b: e & 255\n };\n}\nvar ey = {\n aliceblue: \"#f0f8ff\",\n antiquewhite: \"#faebd7\",\n aqua: \"#00ffff\",\n aquamarine: \"#7fffd4\",\n azure: \"#f0ffff\",\n beige: \"#f5f5dc\",\n bisque: \"#ffe4c4\",\n black: \"#000000\",\n blanchedalmond: \"#ffebcd\",\n blue: \"#0000ff\",\n blueviolet: \"#8a2be2\",\n brown: \"#a52a2a\",\n burlywood: \"#deb887\",\n cadetblue: \"#5f9ea0\",\n chartreuse: \"#7fff00\",\n chocolate: \"#d2691e\",\n coral: \"#ff7f50\",\n cornflowerblue: \"#6495ed\",\n cornsilk: \"#fff8dc\",\n crimson: \"#dc143c\",\n cyan: \"#00ffff\",\n darkblue: \"#00008b\",\n darkcyan: \"#008b8b\",\n darkgoldenrod: \"#b8860b\",\n darkgray: \"#a9a9a9\",\n darkgreen: \"#006400\",\n darkgrey: \"#a9a9a9\",\n darkkhaki: \"#bdb76b\",\n darkmagenta: \"#8b008b\",\n darkolivegreen: \"#556b2f\",\n darkorange: \"#ff8c00\",\n darkorchid: \"#9932cc\",\n darkred: \"#8b0000\",\n darksalmon: \"#e9967a\",\n darkseagreen: \"#8fbc8f\",\n darkslateblue: \"#483d8b\",\n darkslategray: \"#2f4f4f\",\n darkslategrey: \"#2f4f4f\",\n darkturquoise: \"#00ced1\",\n darkviolet: \"#9400d3\",\n deeppink: \"#ff1493\",\n deepskyblue: \"#00bfff\",\n dimgray: \"#696969\",\n dimgrey: \"#696969\",\n dodgerblue: \"#1e90ff\",\n firebrick: \"#b22222\",\n floralwhite: \"#fffaf0\",\n forestgreen: \"#228b22\",\n fuchsia: \"#ff00ff\",\n gainsboro: \"#dcdcdc\",\n ghostwhite: \"#f8f8ff\",\n goldenrod: \"#daa520\",\n gold: \"#ffd700\",\n gray: \"#808080\",\n green: \"#008000\",\n greenyellow: \"#adff2f\",\n grey: \"#808080\",\n honeydew: \"#f0fff0\",\n hotpink: \"#ff69b4\",\n indianred: \"#cd5c5c\",\n indigo: \"#4b0082\",\n ivory: \"#fffff0\",\n khaki: \"#f0e68c\",\n lavenderblush: \"#fff0f5\",\n lavender: \"#e6e6fa\",\n lawngreen: \"#7cfc00\",\n lemonchiffon: \"#fffacd\",\n lightblue: \"#add8e6\",\n lightcoral: \"#f08080\",\n lightcyan: \"#e0ffff\",\n lightgoldenrodyellow: \"#fafad2\",\n lightgray: \"#d3d3d3\",\n lightgreen: \"#90ee90\",\n lightgrey: \"#d3d3d3\",\n lightpink: \"#ffb6c1\",\n lightsalmon: \"#ffa07a\",\n lightseagreen: \"#20b2aa\",\n lightskyblue: \"#87cefa\",\n lightslategray: \"#778899\",\n lightslategrey: \"#778899\",\n lightsteelblue: \"#b0c4de\",\n lightyellow: \"#ffffe0\",\n lime: \"#00ff00\",\n limegreen: \"#32cd32\",\n linen: \"#faf0e6\",\n magenta: \"#ff00ff\",\n maroon: \"#800000\",\n mediumaquamarine: \"#66cdaa\",\n mediumblue: \"#0000cd\",\n mediumorchid: \"#ba55d3\",\n mediumpurple: \"#9370db\",\n mediumseagreen: \"#3cb371\",\n mediumslateblue: \"#7b68ee\",\n mediumspringgreen: \"#00fa9a\",\n mediumturquoise: \"#48d1cc\",\n mediumvioletred: \"#c71585\",\n midnightblue: \"#191970\",\n mintcream: \"#f5fffa\",\n mistyrose: \"#ffe4e1\",\n moccasin: \"#ffe4b5\",\n navajowhite: \"#ffdead\",\n navy: \"#000080\",\n oldlace: \"#fdf5e6\",\n olive: \"#808000\",\n olivedrab: \"#6b8e23\",\n orange: \"#ffa500\",\n orangered: \"#ff4500\",\n orchid: \"#da70d6\",\n palegoldenrod: \"#eee8aa\",\n palegreen: \"#98fb98\",\n paleturquoise: \"#afeeee\",\n palevioletred: \"#db7093\",\n papayawhip: \"#ffefd5\",\n peachpuff: \"#ffdab9\",\n peru: \"#cd853f\",\n pink: \"#ffc0cb\",\n plum: \"#dda0dd\",\n powderblue: \"#b0e0e6\",\n purple: \"#800080\",\n rebeccapurple: \"#663399\",\n red: \"#ff0000\",\n rosybrown: \"#bc8f8f\",\n royalblue: \"#4169e1\",\n saddlebrown: \"#8b4513\",\n salmon: \"#fa8072\",\n sandybrown: \"#f4a460\",\n seagreen: \"#2e8b57\",\n seashell: \"#fff5ee\",\n sienna: \"#a0522d\",\n silver: \"#c0c0c0\",\n skyblue: \"#87ceeb\",\n slateblue: \"#6a5acd\",\n slategray: \"#708090\",\n slategrey: \"#708090\",\n snow: \"#fffafa\",\n springgreen: \"#00ff7f\",\n steelblue: \"#4682b4\",\n tan: \"#d2b48c\",\n teal: \"#008080\",\n thistle: \"#d8bfd8\",\n tomato: \"#ff6347\",\n turquoise: \"#40e0d0\",\n violet: \"#ee82ee\",\n wheat: \"#f5deb3\",\n white: \"#ffffff\",\n whitesmoke: \"#f5f5f5\",\n yellow: \"#ffff00\",\n yellowgreen: \"#9acd32\"\n};\nfunction YO(e) {\n var t = { r: 0, g: 0, b: 0 }, r = 1, n = null, a = null, i = null, o = !1, l = !1;\n return typeof e == \"string\" && (e = JO(e)), typeof e == \"object\" && (io(e.r) && io(e.g) && io(e.b) ? (t = UO(e.r, e.g, e.b), o = !0, l = String(e.r).substr(-1) === \"%\" ? \"prgb\" : \"rgb\") : io(e.h) && io(e.s) && io(e.v) ? (n = Ed(e.s), a = Ed(e.v), t = VO(e.h, n, a), o = !0, l = \"hsv\") : io(e.h) && io(e.s) && io(e.l) && (n = Ed(e.s), i = Ed(e.l), t = GO(e.h, n, i), o = !0, l = \"hsl\"), Object.prototype.hasOwnProperty.call(e, \"a\") && (r = e.a)), r = h5(r), {\n ok: o,\n format: e.format || l,\n r: Math.min(255, Math.max(t.r, 0)),\n g: Math.min(255, Math.max(t.g, 0)),\n b: Math.min(255, Math.max(t.b, 0)),\n a: r\n };\n}\nvar XO = \"[-\\\\+]?\\\\d+%?\", KO = \"[-\\\\+]?\\\\d*\\\\.\\\\d+%?\", tl = \"(?:\".concat(KO, \")|(?:\").concat(XO, \")\"), Im = \"[\\\\s|\\\\(]+(\".concat(tl, \")[,|\\\\s]+(\").concat(tl, \")[,|\\\\s]+(\").concat(tl, \")\\\\s*\\\\)?\"), Nm = \"[\\\\s|\\\\(]+(\".concat(tl, \")[,|\\\\s]+(\").concat(tl, \")[,|\\\\s]+(\").concat(tl, \")[,|\\\\s]+(\").concat(tl, \")\\\\s*\\\\)?\"), ai = {\n CSS_UNIT: new RegExp(tl),\n rgb: new RegExp(\"rgb\" + Im),\n rgba: new RegExp(\"rgba\" + Nm),\n hsl: new RegExp(\"hsl\" + Im),\n hsla: new RegExp(\"hsla\" + Nm),\n hsv: new RegExp(\"hsv\" + Im),\n hsva: new RegExp(\"hsva\" + Nm),\n hex3: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,\n hex6: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,\n hex4: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,\n hex8: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/\n};\nfunction JO(e) {\n if (e = e.trim().toLowerCase(), e.length === 0)\n return !1;\n var t = !1;\n if (ey[e])\n e = ey[e], t = !0;\n else if (e === \"transparent\")\n return { r: 0, g: 0, b: 0, a: 0, format: \"name\" };\n var r = ai.rgb.exec(e);\n return r ? { r: r[1], g: r[2], b: r[3] } : (r = ai.rgba.exec(e), r ? { r: r[1], g: r[2], b: r[3], a: r[4] } : (r = ai.hsl.exec(e), r ? { h: r[1], s: r[2], l: r[3] } : (r = ai.hsla.exec(e), r ? { h: r[1], s: r[2], l: r[3], a: r[4] } : (r = ai.hsv.exec(e), r ? { h: r[1], s: r[2], v: r[3] } : (r = ai.hsva.exec(e), r ? { h: r[1], s: r[2], v: r[3], a: r[4] } : (r = ai.hex8.exec(e), r ? {\n r: va(r[1]),\n g: va(r[2]),\n b: va(r[3]),\n a: Ww(r[4]),\n format: t ? \"name\" : \"hex8\"\n } : (r = ai.hex6.exec(e), r ? {\n r: va(r[1]),\n g: va(r[2]),\n b: va(r[3]),\n format: t ? \"name\" : \"hex\"\n } : (r = ai.hex4.exec(e), r ? {\n r: va(r[1] + r[1]),\n g: va(r[2] + r[2]),\n b: va(r[3] + r[3]),\n a: Ww(r[4] + r[4]),\n format: t ? \"name\" : \"hex8\"\n } : (r = ai.hex3.exec(e), r ? {\n r: va(r[1] + r[1]),\n g: va(r[2] + r[2]),\n b: va(r[3] + r[3]),\n format: t ? \"name\" : \"hex\"\n } : !1)))))))));\n}\nfunction io(e) {\n return !!ai.CSS_UNIT.exec(String(e));\n}\nvar QO = (\n /** @class */\n function() {\n function e(t, r) {\n t === void 0 && (t = \"\"), r === void 0 && (r = {});\n var n;\n if (t instanceof e)\n return t;\n typeof t == \"number\" && (t = ZO(t)), this.originalInput = t;\n var a = YO(t);\n this.originalInput = t, this.r = a.r, this.g = a.g, this.b = a.b, this.a = a.a, this.roundA = Math.round(100 * this.a) / 100, this.format = (n = r.format) !== null && n !== void 0 ? n : a.format, this.gradientType = r.gradientType, this.r < 1 && (this.r = Math.round(this.r)), this.g < 1 && (this.g = Math.round(this.g)), this.b < 1 && (this.b = Math.round(this.b)), this.isValid = a.ok;\n }\n return e.prototype.isDark = function() {\n return this.getBrightness() < 128;\n }, e.prototype.isLight = function() {\n return !this.isDark();\n }, e.prototype.getBrightness = function() {\n var t = this.toRgb();\n return (t.r * 299 + t.g * 587 + t.b * 114) / 1e3;\n }, e.prototype.getLuminance = function() {\n var t = this.toRgb(), r, n, a, i = t.r / 255, o = t.g / 255, l = t.b / 255;\n return i <= 0.03928 ? r = i / 12.92 : r = Math.pow((i + 0.055) / 1.055, 2.4), o <= 0.03928 ? n = o / 12.92 : n = Math.pow((o + 0.055) / 1.055, 2.4), l <= 0.03928 ? a = l / 12.92 : a = Math.pow((l + 0.055) / 1.055, 2.4), 0.2126 * r + 0.7152 * n + 0.0722 * a;\n }, e.prototype.getAlpha = function() {\n return this.a;\n }, e.prototype.setAlpha = function(t) {\n return this.a = h5(t), this.roundA = Math.round(100 * this.a) / 100, this;\n }, e.prototype.isMonochrome = function() {\n var t = this.toHsl().s;\n return t === 0;\n }, e.prototype.toHsv = function() {\n var t = Vw(this.r, this.g, this.b);\n return { h: t.h * 360, s: t.s, v: t.v, a: this.a };\n }, e.prototype.toHsvString = function() {\n var t = Vw(this.r, this.g, this.b), r = Math.round(t.h * 360), n = Math.round(t.s * 100), a = Math.round(t.v * 100);\n return this.a === 1 ? \"hsv(\".concat(r, \", \").concat(n, \"%, \").concat(a, \"%)\") : \"hsva(\".concat(r, \", \").concat(n, \"%, \").concat(a, \"%, \").concat(this.roundA, \")\");\n }, e.prototype.toHsl = function() {\n var t = Gw(this.r, this.g, this.b);\n return { h: t.h * 360, s: t.s, l: t.l, a: this.a };\n }, e.prototype.toHslString = function() {\n var t = Gw(this.r, this.g, this.b), r = Math.round(t.h * 360), n = Math.round(t.s * 100), a = Math.round(t.l * 100);\n return this.a === 1 ? \"hsl(\".concat(r, \", \").concat(n, \"%, \").concat(a, \"%)\") : \"hsla(\".concat(r, \", \").concat(n, \"%, \").concat(a, \"%, \").concat(this.roundA, \")\");\n }, e.prototype.toHex = function(t) {\n return t === void 0 && (t = !1), qw(this.r, this.g, this.b, t);\n }, e.prototype.toHexString = function(t) {\n return t === void 0 && (t = !1), \"#\" + this.toHex(t);\n }, e.prototype.toHex8 = function(t) {\n return t === void 0 && (t = !1), qO(this.r, this.g, this.b, this.a, t);\n }, e.prototype.toHex8String = function(t) {\n return t === void 0 && (t = !1), \"#\" + this.toHex8(t);\n }, e.prototype.toHexShortString = function(t) {\n return t === void 0 && (t = !1), this.a === 1 ? this.toHexString(t) : this.toHex8String(t);\n }, e.prototype.toRgb = function() {\n return {\n r: Math.round(this.r),\n g: Math.round(this.g),\n b: Math.round(this.b),\n a: this.a\n };\n }, e.prototype.toRgbString = function() {\n var t = Math.round(this.r), r = Math.round(this.g), n = Math.round(this.b);\n return this.a === 1 ? \"rgb(\".concat(t, \", \").concat(r, \", \").concat(n, \")\") : \"rgba(\".concat(t, \", \").concat(r, \", \").concat(n, \", \").concat(this.roundA, \")\");\n }, e.prototype.toPercentageRgb = function() {\n var t = function(r) {\n return \"\".concat(Math.round(En(r, 255) * 100), \"%\");\n };\n return {\n r: t(this.r),\n g: t(this.g),\n b: t(this.b),\n a: this.a\n };\n }, e.prototype.toPercentageRgbString = function() {\n var t = function(r) {\n return Math.round(En(r, 255) * 100);\n };\n return this.a === 1 ? \"rgb(\".concat(t(this.r), \"%, \").concat(t(this.g), \"%, \").concat(t(this.b), \"%)\") : \"rgba(\".concat(t(this.r), \"%, \").concat(t(this.g), \"%, \").concat(t(this.b), \"%, \").concat(this.roundA, \")\");\n }, e.prototype.toName = function() {\n if (this.a === 0)\n return \"transparent\";\n if (this.a < 1)\n return !1;\n for (var t = \"#\" + qw(this.r, this.g, this.b, !1), r = 0, n = Object.entries(ey); r < n.length; r++) {\n var a = n[r], i = a[0], o = a[1];\n if (t === o)\n return i;\n }\n return !1;\n }, e.prototype.toString = function(t) {\n var r = !!t;\n t = t ?? this.format;\n var n = !1, a = this.a < 1 && this.a >= 0, i = !r && a && (t.startsWith(\"hex\") || t === \"name\");\n return i ? t === \"name\" && this.a === 0 ? this.toName() : this.toRgbString() : (t === \"rgb\" && (n = this.toRgbString()), t === \"prgb\" && (n = this.toPercentageRgbString()), (t === \"hex\" || t === \"hex6\") && (n = this.toHexString()), t === \"hex3\" && (n = this.toHexString(!0)), t === \"hex4\" && (n = this.toHex8String(!0)), t === \"hex8\" && (n = this.toHex8String()), t === \"name\" && (n = this.toName()), t === \"hsl\" && (n = this.toHslString()), t === \"hsv\" && (n = this.toHsvString()), n || this.toHexString());\n }, e.prototype.toNumber = function() {\n return (Math.round(this.r) << 16) + (Math.round(this.g) << 8) + Math.round(this.b);\n }, e.prototype.clone = function() {\n return new e(this.toString());\n }, e.prototype.lighten = function(t) {\n t === void 0 && (t = 10);\n var r = this.toHsl();\n return r.l += t / 100, r.l = Dd(r.l), new e(r);\n }, e.prototype.brighten = function(t) {\n t === void 0 && (t = 10);\n var r = this.toRgb();\n return r.r = Math.max(0, Math.min(255, r.r - Math.round(255 * -(t / 100)))), r.g = Math.max(0, Math.min(255, r.g - Math.round(255 * -(t / 100)))), r.b = Math.max(0, Math.min(255, r.b - Math.round(255 * -(t / 100)))), new e(r);\n }, e.prototype.darken = function(t) {\n t === void 0 && (t = 10);\n var r = this.toHsl();\n return r.l -= t / 100, r.l = Dd(r.l), new e(r);\n }, e.prototype.tint = function(t) {\n return t === void 0 && (t = 10), this.mix(\"white\", t);\n }, e.prototype.shade = function(t) {\n return t === void 0 && (t = 10), this.mix(\"black\", t);\n }, e.prototype.desaturate = function(t) {\n t === void 0 && (t = 10);\n var r = this.toHsl();\n return r.s -= t / 100, r.s = Dd(r.s), new e(r);\n }, e.prototype.saturate = function(t) {\n t === void 0 && (t = 10);\n var r = this.toHsl();\n return r.s += t / 100, r.s = Dd(r.s), new e(r);\n }, e.prototype.greyscale = function() {\n return this.desaturate(100);\n }, e.prototype.spin = function(t) {\n var r = this.toHsl(), n = (r.h + t) % 360;\n return r.h = n < 0 ? 360 + n : n, new e(r);\n }, e.prototype.mix = function(t, r) {\n r === void 0 && (r = 50);\n var n = this.toRgb(), a = new e(t).toRgb(), i = r / 100, o = {\n r: (a.r - n.r) * i + n.r,\n g: (a.g - n.g) * i + n.g,\n b: (a.b - n.b) * i + n.b,\n a: (a.a - n.a) * i + n.a\n };\n return new e(o);\n }, e.prototype.analogous = function(t, r) {\n t === void 0 && (t = 6), r === void 0 && (r = 30);\n var n = this.toHsl(), a = 360 / r, i = [this];\n for (n.h = (n.h - (a * t >> 1) + 720) % 360; --t; )\n n.h = (n.h + a) % 360, i.push(new e(n));\n return i;\n }, e.prototype.complement = function() {\n var t = this.toHsl();\n return t.h = (t.h + 180) % 360, new e(t);\n }, e.prototype.monochromatic = function(t) {\n t === void 0 && (t = 6);\n for (var r = this.toHsv(), n = r.h, a = r.s, i = r.v, o = [], l = 1 / t; t--; )\n o.push(new e({ h: n, s: a, v: i })), i = (i + l) % 1;\n return o;\n }, e.prototype.splitcomplement = function() {\n var t = this.toHsl(), r = t.h;\n return [\n this,\n new e({ h: (r + 72) % 360, s: t.s, l: t.l }),\n new e({ h: (r + 216) % 360, s: t.s, l: t.l })\n ];\n }, e.prototype.onBackground = function(t) {\n var r = this.toRgb(), n = new e(t).toRgb(), a = r.a + n.a * (1 - r.a);\n return new e({\n r: (r.r * r.a + n.r * n.a * (1 - r.a)) / a,\n g: (r.g * r.a + n.g * n.a * (1 - r.a)) / a,\n b: (r.b * r.a + n.b * n.a * (1 - r.a)) / a,\n a\n });\n }, e.prototype.triad = function() {\n return this.polyad(3);\n }, e.prototype.tetrad = function() {\n return this.polyad(4);\n }, e.prototype.polyad = function(t) {\n for (var r = this.toHsl(), n = r.h, a = [this], i = 360 / t, o = 1; o < t; o++)\n a.push(new e({ h: (n + o * i) % 360, s: r.s, l: r.l }));\n return a;\n }, e.prototype.equals = function(t) {\n return this.toRgbString() === new e(t).toRgbString();\n }, e;\n }()\n);\nfunction $o(e, t = 20) {\n return e.mix(\"#141414\", t).toString();\n}\nfunction eH(e) {\n const t = r5(), r = on(\"button\");\n return et(() => {\n let n = {}, a = e.color;\n if (a) {\n const i = a.match(/var\\((.*?)\\)/);\n i && (a = window.getComputedStyle(window.document.documentElement).getPropertyValue(i[1]));\n const o = new QO(a), l = e.dark ? o.tint(20).toString() : $o(o, 20);\n if (e.plain)\n n = r.cssVarBlock({\n \"bg-color\": e.dark ? $o(o, 90) : o.tint(90).toString(),\n \"text-color\": a,\n \"border-color\": e.dark ? $o(o, 50) : o.tint(50).toString(),\n \"hover-text-color\": `var(${r.cssVarName(\"color-white\")})`,\n \"hover-bg-color\": a,\n \"hover-border-color\": a,\n \"active-bg-color\": l,\n \"active-text-color\": `var(${r.cssVarName(\"color-white\")})`,\n \"active-border-color\": l\n }), t.value && (n[r.cssVarBlockName(\"disabled-bg-color\")] = e.dark ? $o(o, 90) : o.tint(90).toString(), n[r.cssVarBlockName(\"disabled-text-color\")] = e.dark ? $o(o, 50) : o.tint(50).toString(), n[r.cssVarBlockName(\"disabled-border-color\")] = e.dark ? $o(o, 80) : o.tint(80).toString());\n else {\n const s = e.dark ? $o(o, 30) : o.tint(30).toString(), u = o.isDark() ? `var(${r.cssVarName(\"color-white\")})` : `var(${r.cssVarName(\"color-black\")})`;\n if (n = r.cssVarBlock({\n \"bg-color\": a,\n \"text-color\": u,\n \"border-color\": a,\n \"hover-bg-color\": s,\n \"hover-text-color\": u,\n \"hover-border-color\": s,\n \"active-bg-color\": l,\n \"active-border-color\": l\n }), t.value) {\n const f = e.dark ? $o(o, 50) : o.tint(50).toString();\n n[r.cssVarBlockName(\"disabled-bg-color\")] = f, n[r.cssVarBlockName(\"disabled-text-color\")] = e.dark ? \"rgba(255, 255, 255, 0.5)\" : `var(${r.cssVarName(\"color-white\")})`, n[r.cssVarBlockName(\"disabled-border-color\")] = f;\n }\n }\n }\n return n;\n });\n}\nconst tH = er({\n name: \"ElButton\"\n}), rH = /* @__PURE__ */ er({\n ...tH,\n props: Q0,\n emits: HO,\n setup(e, { expose: t, emit: r }) {\n const n = e, a = eH(n), i = on(\"button\"), { _ref: o, _size: l, _type: s, _disabled: u, _props: f, shouldAddSpace: d, handleClick: h } = IO(n, r), p = et(() => [\n i.b(),\n i.m(s.value),\n i.m(l.value),\n i.is(\"disabled\", u.value),\n i.is(\"loading\", n.loading),\n i.is(\"plain\", n.plain),\n i.is(\"round\", n.round),\n i.is(\"circle\", n.circle),\n i.is(\"text\", n.text),\n i.is(\"link\", n.link),\n i.is(\"has-bg\", n.bg)\n ]);\n return t({\n ref: o,\n size: l,\n type: s,\n disabled: u,\n shouldAddSpace: d\n }), (v, m) => (At(), kr(bo(v.tag), fs({\n ref_key: \"_ref\",\n ref: o\n }, $e(f), {\n class: $e(p),\n style: $e(a),\n onClick: $e(h)\n }), {\n default: ir(() => [\n v.loading ? (At(), Xt(wo, { key: 0 }, [\n v.$slots.loading ? ur(v.$slots, \"loading\", { key: 0 }) : (At(), kr($e(Lu), {\n key: 1,\n class: Vt($e(i).is(\"loading\"))\n }, {\n default: ir(() => [\n (At(), kr(bo(v.loadingIcon)))\n ]),\n _: 1\n }, 8, [\"class\"]))\n ], 64)) : v.icon || v.$slots.icon ? (At(), kr($e(Lu), { key: 1 }, {\n default: ir(() => [\n v.icon ? (At(), kr(bo(v.icon), { key: 0 })) : ur(v.$slots, \"icon\", { key: 1 })\n ]),\n _: 3\n })) : Fr(\"v-if\", !0),\n v.$slots.default ? (At(), Xt(\"span\", {\n key: 2,\n class: Vt({ [$e(i).em(\"text\", \"expand\")]: $e(d) })\n }, [\n ur(v.$slots, \"default\")\n ], 2)) : Fr(\"v-if\", !0)\n ]),\n _: 3\n }, 16, [\"class\", \"style\", \"onClick\"]));\n }\n});\nvar nH = /* @__PURE__ */ jr(rH, [[\"__file\", \"button.vue\"]]);\nconst aH = {\n size: Q0.size,\n type: Q0.type\n}, iH = er({\n name: \"ElButtonGroup\"\n}), oH = /* @__PURE__ */ er({\n ...iH,\n props: aH,\n setup(e) {\n const t = e;\n wa(d5, ts({\n size: Ii(t, \"size\"),\n type: Ii(t, \"type\")\n }));\n const r = on(\"button\");\n return (n, a) => (At(), Xt(\"div\", {\n class: Vt($e(r).b(\"group\"))\n }, [\n ur(n.$slots, \"default\")\n ], 2));\n }\n});\nvar v5 = /* @__PURE__ */ jr(oH, [[\"__file\", \"button-group.vue\"]]);\nconst Gc = gi(nH, {\n ButtonGroup: v5\n});\nZv(v5);\nvar Wl = typeof globalThis < \"u\" ? globalThis : typeof window < \"u\" ? window : typeof global < \"u\" ? global : typeof self < \"u\" ? self : {};\nfunction Vc(e) {\n return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, \"default\") ? e.default : e;\n}\nfunction tp(e) {\n if (e.__esModule) return e;\n var t = e.default;\n if (typeof t == \"function\") {\n var r = function n() {\n return this instanceof n ? Reflect.construct(t, arguments, this.constructor) : t.apply(this, arguments);\n };\n r.prototype = t.prototype;\n } else r = {};\n return Object.defineProperty(r, \"__esModule\", { value: !0 }), Object.keys(e).forEach(function(n) {\n var a = Object.getOwnPropertyDescriptor(e, n);\n Object.defineProperty(r, n, a.get ? a : {\n enumerable: !0,\n get: function() {\n return e[n];\n }\n });\n }), r;\n}\nconst Uo = /* @__PURE__ */ new Map();\nif (qn) {\n let e;\n document.addEventListener(\"mousedown\", (t) => e = t), document.addEventListener(\"mouseup\", (t) => {\n if (e) {\n for (const r of Uo.values())\n for (const { documentHandler: n } of r)\n n(t, e);\n e = void 0;\n }\n });\n}\nfunction Zw(e, t) {\n let r = [];\n return Array.isArray(t.arg) ? r = t.arg : Vl(t.arg) && r.push(t.arg), function(n, a) {\n const i = t.instance.popperRef, o = n.target, l = a == null ? void 0 : a.target, s = !t || !t.instance, u = !o || !l, f = e.contains(o) || e.contains(l), d = e === o, h = r.length && r.some((v) => v == null ? void 0 : v.contains(o)) || r.length && r.includes(l), p = i && (i.contains(o) || i.contains(l));\n s || u || f || d || h || p || t.value(n, a);\n };\n}\nconst lH = {\n beforeMount(e, t) {\n Uo.has(e) || Uo.set(e, []), Uo.get(e).push({\n documentHandler: Zw(e, t),\n bindingFn: t.value\n });\n },\n updated(e, t) {\n Uo.has(e) || Uo.set(e, []);\n const r = Uo.get(e), n = r.findIndex((i) => i.bindingFn === t.oldValue), a = {\n documentHandler: Zw(e, t),\n bindingFn: t.value\n };\n n >= 0 ? r.splice(n, 1, a) : r.push(a);\n },\n unmounted(e) {\n Uo.delete(e);\n }\n}, ty = qr({\n type: {\n type: String,\n values: [\"primary\", \"success\", \"info\", \"warning\", \"danger\"],\n default: \"primary\"\n },\n closable: Boolean,\n disableTransitions: Boolean,\n hit: Boolean,\n color: String,\n size: {\n type: String,\n values: H3\n },\n effect: {\n type: String,\n values: [\"dark\", \"light\", \"plain\"],\n default: \"light\"\n },\n round: Boolean\n}), sH = {\n close: (e) => e instanceof MouseEvent,\n click: (e) => e instanceof MouseEvent\n}, uH = er({\n name: \"ElTag\"\n}), fH = /* @__PURE__ */ er({\n ...uH,\n props: ty,\n emits: sH,\n setup(e, { emit: t }) {\n const r = e, n = L1(), a = on(\"tag\"), i = et(() => {\n const { type: u, hit: f, effect: d, closable: h, round: p } = r;\n return [\n a.b(),\n a.is(\"closable\", h),\n a.m(u || \"primary\"),\n a.m(n.value),\n a.m(d),\n a.is(\"hit\", f),\n a.is(\"round\", p)\n ];\n }), o = (u) => {\n t(\"close\", u);\n }, l = (u) => {\n t(\"click\", u);\n }, s = (u) => {\n u.component.subTree.component.bum = null;\n };\n return (u, f) => u.disableTransitions ? (At(), Xt(\"span\", {\n key: 0,\n class: Vt($e(i)),\n style: Hi({ backgroundColor: u.color }),\n onClick: l\n }, [\n cr(\"span\", {\n class: Vt($e(a).e(\"content\"))\n }, [\n ur(u.$slots, \"default\")\n ], 2),\n u.closable ? (At(), kr($e(Lu), {\n key: 0,\n class: Vt($e(a).e(\"close\")),\n onClick: pa(o, [\"stop\"])\n }, {\n default: ir(() => [\n Ar($e(yw))\n ]),\n _: 1\n }, 8, [\"class\", \"onClick\"])) : Fr(\"v-if\", !0)\n ], 6)) : (At(), kr(Ov, {\n key: 1,\n name: `${$e(a).namespace.value}-zoom-in-center`,\n appear: \"\",\n onVnodeMounted: s\n }, {\n default: ir(() => [\n cr(\"span\", {\n class: Vt($e(i)),\n style: Hi({ backgroundColor: u.color }),\n onClick: l\n }, [\n cr(\"span\", {\n class: Vt($e(a).e(\"content\"))\n }, [\n ur(u.$slots, \"default\")\n ], 2),\n u.closable ? (At(), kr($e(Lu), {\n key: 0,\n class: Vt($e(a).e(\"close\")),\n onClick: pa(o, [\"stop\"])\n }, {\n default: ir(() => [\n Ar($e(yw))\n ]),\n _: 1\n }, 8, [\"class\", \"onClick\"])) : Fr(\"v-if\", !0)\n ], 6)\n ]),\n _: 3\n }, 8, [\"name\"]));\n }\n});\nvar cH = /* @__PURE__ */ jr(fH, [[\"__file\", \"tag.vue\"]]);\nconst dH = gi(cH), Yw = (e) => Ga(e) || Uu(e) || Ni(e), hH = qr({\n accordion: Boolean,\n modelValue: {\n type: dr([Array, String, Number]),\n default: () => S7([])\n }\n}), vH = {\n [Ko]: Yw,\n [Yv]: Yw\n}, p5 = Symbol(\"collapseContextKey\"), pH = (e, t) => {\n const r = Rt(zi(e.modelValue)), n = (i) => {\n r.value = i;\n const o = e.accordion ? r.value[0] : r.value;\n t(Ko, o), t(Yv, o);\n }, a = (i) => {\n if (e.accordion)\n n([r.value[0] === i ? \"\" : i]);\n else {\n const o = [...r.value], l = o.indexOf(i);\n l > -1 ? o.splice(l, 1) : o.push(i), n(o);\n }\n };\n return _r(() => e.modelValue, () => r.value = zi(e.modelValue), { deep: !0 }), wa(p5, {\n activeNames: r,\n handleItemClick: a\n }), {\n activeNames: r,\n setActiveNames: n\n };\n}, mH = () => {\n const e = on(\"collapse\");\n return {\n rootKls: et(() => e.b())\n };\n}, gH = er({\n name: \"ElCollapse\"\n}), yH = /* @__PURE__ */ er({\n ...gH,\n props: hH,\n emits: vH,\n setup(e, { expose: t, emit: r }) {\n const n = e, { activeNames: a, setActiveNames: i } = pH(n, r), { rootKls: o } = mH();\n return t({\n activeNames: a,\n setActiveNames: i\n }), (l, s) => (At(), Xt(\"div\", {\n class: Vt($e(o))\n }, [\n ur(l.$slots, \"default\")\n ], 2));\n }\n});\nvar bH = /* @__PURE__ */ jr(yH, [[\"__file\", \"collapse.vue\"]]);\nconst _H = er({\n name: \"ElCollapseTransition\"\n}), xH = /* @__PURE__ */ er({\n ..._H,\n setup(e) {\n const t = on(\"collapse-transition\"), r = (a) => {\n a.style.maxHeight = \"\", a.style.overflow = a.dataset.oldOverflow, a.style.paddingTop = a.dataset.oldPaddingTop, a.style.paddingBottom = a.dataset.oldPaddingBottom;\n }, n = {\n beforeEnter(a) {\n a.dataset || (a.dataset = {}), a.dataset.oldPaddingTop = a.style.paddingTop, a.dataset.oldPaddingBottom = a.style.paddingBottom, a.style.height && (a.dataset.elExistsHeight = a.style.height), a.style.maxHeight = 0, a.style.paddingTop = 0, a.style.paddingBottom = 0;\n },\n enter(a) {\n requestAnimationFrame(() => {\n a.dataset.oldOverflow = a.style.overflow, a.dataset.elExistsHeight ? a.style.maxHeight = a.dataset.elExistsHeight : a.scrollHeight !== 0 ? a.style.maxHeight = `${a.scrollHeight}px` : a.style.maxHeight = 0, a.style.paddingTop = a.dataset.oldPaddingTop, a.style.paddingBottom = a.dataset.oldPaddingBottom, a.style.overflow = \"hidden\";\n });\n },\n afterEnter(a) {\n a.style.maxHeight = \"\", a.style.overflow = a.dataset.oldOverflow;\n },\n enterCancelled(a) {\n r(a);\n },\n beforeLeave(a) {\n a.dataset || (a.dataset = {}), a.dataset.oldPaddingTop = a.style.paddingTop, a.dataset.oldPaddingBottom = a.style.paddingBottom, a.dataset.oldOverflow = a.style.overflow, a.style.maxHeight = `${a.scrollHeight}px`, a.style.overflow = \"hidden\";\n },\n leave(a) {\n a.scrollHeight !== 0 && (a.style.maxHeight = 0, a.style.paddingTop = 0, a.style.paddingBottom = 0);\n },\n afterLeave(a) {\n r(a);\n },\n leaveCancelled(a) {\n r(a);\n }\n };\n return (a, i) => (At(), kr(Ov, fs({\n name: $e(t).b()\n }, UR(n)), {\n default: ir(() => [\n ur(a.$slots, \"default\")\n ]),\n _: 3\n }, 16, [\"name\"]));\n }\n});\nvar wH = /* @__PURE__ */ jr(xH, [[\"__file\", \"collapse-transition.vue\"]]);\nconst TH = gi(wH), kH = qr({\n title: {\n type: String,\n default: \"\"\n },\n name: {\n type: dr([String, Number]),\n default: void 0\n },\n icon: {\n type: Tu,\n default: g7\n },\n disabled: Boolean\n}), AH = (e) => {\n const t = Rr(p5), { namespace: r } = on(\"collapse\"), n = Rt(!1), a = Rt(!1), i = S1(), o = et(() => i.current++), l = et(() => {\n var h;\n return (h = e.name) != null ? h : `${r.value}-id-${i.prefix}-${$e(o)}`;\n }), s = et(() => t == null ? void 0 : t.activeNames.value.includes($e(l)));\n return {\n focusing: n,\n id: o,\n isActive: s,\n handleFocus: () => {\n setTimeout(() => {\n a.value ? a.value = !1 : n.value = !0;\n }, 50);\n },\n handleHeaderClick: () => {\n e.disabled || (t == null || t.handleItemClick($e(l)), n.value = !1, a.value = !0);\n },\n handleEnterClick: () => {\n t == null || t.handleItemClick($e(l));\n }\n };\n}, MH = (e, { focusing: t, isActive: r, id: n }) => {\n const a = on(\"collapse\"), i = et(() => [\n a.b(\"item\"),\n a.is(\"active\", $e(r)),\n a.is(\"disabled\", e.disabled)\n ]), o = et(() => [\n a.be(\"item\", \"header\"),\n a.is(\"active\", $e(r)),\n { focusing: $e(t) && !e.disabled }\n ]), l = et(() => [\n a.be(\"item\", \"arrow\"),\n a.is(\"active\", $e(r))\n ]), s = et(() => a.be(\"item\", \"wrap\")), u = et(() => a.be(\"item\", \"content\")), f = et(() => a.b(`content-${$e(n)}`)), d = et(() => a.b(`head-${$e(n)}`));\n return {\n arrowKls: l,\n headKls: o,\n rootKls: i,\n itemWrapperKls: s,\n itemContentKls: u,\n scopedContentId: f,\n scopedHeadId: d\n };\n}, SH = er({\n name: \"ElCollapseItem\"\n}), CH = /* @__PURE__ */ er({\n ...SH,\n props: kH,\n setup(e, { expose: t }) {\n const r = e, {\n focusing: n,\n id: a,\n isActive: i,\n handleFocus: o,\n handleHeaderClick: l,\n handleEnterClick: s\n } = AH(r), {\n arrowKls: u,\n headKls: f,\n rootKls: d,\n itemWrapperKls: h,\n itemContentKls: p,\n scopedContentId: v,\n scopedHeadId: m\n } = MH(r, { focusing: n, isActive: i, id: a });\n return t({\n isActive: i\n }), (g, y) => (At(), Xt(\"div\", {\n class: Vt($e(d))\n }, [\n cr(\"button\", {\n id: $e(m),\n class: Vt($e(f)),\n \"aria-expanded\": $e(i),\n \"aria-controls\": $e(v),\n \"aria-describedby\": $e(v),\n tabindex: g.disabled ? -1 : 0,\n type: \"button\",\n onClick: $e(l),\n onKeydown: eu(pa($e(s), [\"stop\", \"prevent\"]), [\"space\", \"enter\"]),\n onFocus: $e(o),\n onBlur: (w) => n.value = !1\n }, [\n ur(g.$slots, \"title\", {}, () => [\n rs(ga(g.title), 1)\n ]),\n ur(g.$slots, \"icon\", { isActive: $e(i) }, () => [\n Ar($e(Lu), {\n class: Vt($e(u))\n }, {\n default: ir(() => [\n (At(), kr(bo(g.icon)))\n ]),\n _: 1\n }, 8, [\"class\"])\n ])\n ], 42, [\"id\", \"aria-expanded\", \"aria-controls\", \"aria-describedby\", \"tabindex\", \"onClick\", \"onKeydown\", \"onFocus\", \"onBlur\"]),\n Ar($e(TH), null, {\n default: ir(() => [\n yo(cr(\"div\", {\n id: $e(v),\n role: \"region\",\n class: Vt($e(h)),\n \"aria-hidden\": !$e(i),\n \"aria-labelledby\": $e(m)\n }, [\n cr(\"div\", {\n class: Vt($e(p))\n }, [\n ur(g.$slots, \"default\")\n ], 2)\n ], 10, [\"id\", \"aria-hidden\", \"aria-labelledby\"]), [\n [ju, $e(i)]\n ])\n ]),\n _: 3\n })\n ], 2));\n }\n});\nvar m5 = /* @__PURE__ */ jr(CH, [[\"__file\", \"collapse-item.vue\"]]);\nconst g5 = gi(bH, {\n CollapseItem: m5\n}), y5 = Zv(m5), LH = /* @__PURE__ */ er({\n inheritAttrs: !1\n});\nfunction DH(e, t, r, n, a, i) {\n return ur(e.$slots, \"default\");\n}\nvar EH = /* @__PURE__ */ jr(LH, [[\"render\", DH], [\"__file\", \"collection.vue\"]]);\nconst FH = /* @__PURE__ */ er({\n name: \"ElCollectionItem\",\n inheritAttrs: !1\n});\nfunction RH(e, t, r, n, a, i) {\n return ur(e.$slots, \"default\");\n}\nvar PH = /* @__PURE__ */ jr(FH, [[\"render\", RH], [\"__file\", \"collection-item.vue\"]]);\nconst $H = \"data-el-collection-item\", zH = (e) => {\n const t = `El${e}Collection`, r = `${t}Item`, n = Symbol(t), a = Symbol(r), i = {\n ...EH,\n name: t,\n setup() {\n const l = Rt(null), s = /* @__PURE__ */ new Map();\n wa(n, {\n itemMap: s,\n getItems: () => {\n const f = $e(l);\n if (!f)\n return [];\n const d = Array.from(f.querySelectorAll(`[${$H}]`));\n return [...s.values()].sort((p, v) => d.indexOf(p.ref) - d.indexOf(v.ref));\n },\n collectionRef: l\n });\n }\n }, o = {\n ...PH,\n name: r,\n setup(l, { attrs: s }) {\n const u = Rt(null), f = Rr(n, void 0);\n wa(a, {\n collectionItemRef: u\n }), Zn(() => {\n const d = $e(u);\n d && f.itemMap.set(d, {\n ref: d,\n ...s\n });\n }), mi(() => {\n const d = $e(u);\n f.itemMap.delete(d);\n });\n }\n };\n return {\n COLLECTION_INJECTION_KEY: n,\n COLLECTION_ITEM_INJECTION_KEY: a,\n ElCollection: i,\n ElCollectionItem: o\n };\n}, Om = qr({\n trigger: mc.trigger,\n effect: {\n ...ma.effect,\n default: \"light\"\n },\n type: {\n type: dr(String)\n },\n placement: {\n type: dr(String),\n default: \"bottom\"\n },\n popperOptions: {\n type: dr(Object),\n default: () => ({})\n },\n id: String,\n size: {\n type: String,\n default: \"\"\n },\n splitButton: Boolean,\n hideOnClick: {\n type: Boolean,\n default: !0\n },\n loop: {\n type: Boolean,\n default: !0\n },\n showTimeout: {\n type: Number,\n default: 150\n },\n hideTimeout: {\n type: Number,\n default: 150\n },\n tabindex: {\n type: dr([Number, String]),\n default: 0\n },\n maxHeight: {\n type: dr([Number, String]),\n default: \"\"\n },\n popperClass: {\n type: String,\n default: \"\"\n },\n disabled: Boolean,\n role: {\n type: String,\n default: \"menu\"\n },\n buttonProps: {\n type: dr(Object)\n },\n teleported: ma.teleported\n});\nqr({\n command: {\n type: [Object, String, Number],\n default: () => ({})\n },\n disabled: Boolean,\n divided: Boolean,\n textValue: String,\n icon: {\n type: Tu\n }\n});\nqr({\n onKeydown: { type: dr(Function) }\n});\nzH(\"Dropdown\");\nconst b5 = Symbol(\"ElSelectGroup\"), rp = Symbol(\"ElSelect\");\nfunction IH(e, t) {\n const r = Rr(rp), n = Rr(b5, { disabled: !1 }), a = et(() => f(zi(r.props.modelValue), e.value)), i = et(() => {\n var p;\n if (r.props.multiple) {\n const v = zi((p = r.props.modelValue) != null ? p : []);\n return !a.value && v.length >= r.props.multipleLimit && r.props.multipleLimit > 0;\n } else\n return !1;\n }), o = et(() => e.label || (Oi(e.value) ? \"\" : e.value)), l = et(() => e.value || e.label || \"\"), s = et(() => e.disabled || t.groupDisabled || i.value), u = xa(), f = (p = [], v) => {\n if (Oi(e.value)) {\n const m = r.props.valueKey;\n return p && p.some((g) => l1(ho(g, m)) === ho(v, m));\n } else\n return p && p.includes(v);\n }, d = () => {\n !e.disabled && !n.disabled && (r.states.hoveringIndex = r.optionsArray.indexOf(u.proxy));\n }, h = (p) => {\n const v = new RegExp(f7(p), \"i\");\n t.visible = v.test(o.value) || e.created;\n };\n return _r(() => o.value, () => {\n !e.created && !r.props.remote && r.setSelected();\n }), _r(() => e.value, (p, v) => {\n const { remote: m, valueKey: g } = r.props;\n if (p !== v && (r.onOptionDestroy(v, u.proxy), r.onOptionCreate(u.proxy)), !e.created && !m) {\n if (g && Oi(p) && Oi(v) && p[g] === v[g])\n return;\n r.setSelected();\n }\n }), _r(() => n.disabled, () => {\n t.groupDisabled = n.disabled;\n }, { immediate: !0 }), {\n select: r,\n currentLabel: o,\n currentValue: l,\n itemSelected: a,\n isDisabled: s,\n hoverItem: d,\n updateOption: h\n };\n}\nconst NH = er({\n name: \"ElOption\",\n componentName: \"ElOption\",\n props: {\n value: {\n required: !0,\n type: [String, Number, Boolean, Object]\n },\n label: [String, Number],\n created: Boolean,\n disabled: Boolean\n },\n setup(e) {\n const t = on(\"select\"), r = Jv(), n = et(() => [\n t.be(\"dropdown\", \"item\"),\n t.is(\"disabled\", $e(l)),\n t.is(\"selected\", $e(o)),\n t.is(\"hovering\", $e(h))\n ]), a = ts({\n index: -1,\n groupDisabled: !1,\n visible: !0,\n hover: !1\n }), {\n currentLabel: i,\n itemSelected: o,\n isDisabled: l,\n select: s,\n hoverItem: u,\n updateOption: f\n } = IH(e, a), { visible: d, hover: h } = s1(a), p = xa().proxy;\n s.onOptionCreate(p), mi(() => {\n const m = p.value, { selected: g } = s.states, w = (s.props.multiple ? g : [g]).some((k) => k.value === p.value);\n ja(() => {\n s.states.cachedOptions.get(m) === p && !w && s.states.cachedOptions.delete(m);\n }), s.onOptionDestroy(m, p);\n });\n function v() {\n l.value || s.handleOptionSelect(p);\n }\n return {\n ns: t,\n id: r,\n containerKls: n,\n currentLabel: i,\n itemSelected: o,\n isDisabled: l,\n select: s,\n hoverItem: u,\n updateOption: f,\n visible: d,\n hover: h,\n selectOptionClick: v,\n states: a\n };\n }\n});\nfunction OH(e, t, r, n, a, i) {\n return yo((At(), Xt(\"li\", {\n id: e.id,\n class: Vt(e.containerKls),\n role: \"option\",\n \"aria-disabled\": e.isDisabled || void 0,\n \"aria-selected\": e.itemSelected,\n onMouseenter: e.hoverItem,\n onClick: pa(e.selectOptionClick, [\"stop\"])\n }, [\n ur(e.$slots, \"default\", {}, () => [\n cr(\"span\", null, ga(e.currentLabel), 1)\n ])\n ], 42, [\"id\", \"aria-disabled\", \"aria-selected\", \"onMouseenter\", \"onClick\"])), [\n [ju, e.visible]\n ]);\n}\nvar $1 = /* @__PURE__ */ jr(NH, [[\"render\", OH], [\"__file\", \"option.vue\"]]);\nconst HH = er({\n name: \"ElSelectDropdown\",\n componentName: \"ElSelectDropdown\",\n setup() {\n const e = Rr(rp), t = on(\"select\"), r = et(() => e.props.popperClass), n = et(() => e.props.multiple), a = et(() => e.props.fitInputWidth), i = Rt(\"\");\n function o() {\n var l;\n i.value = `${(l = e.selectRef) == null ? void 0 : l.offsetWidth}px`;\n }\n return Zn(() => {\n o(), Wo(e.selectRef, o);\n }), {\n ns: t,\n minWidth: i,\n popperClass: r,\n isMultiple: n,\n isFitInputWidth: a\n };\n }\n});\nfunction BH(e, t, r, n, a, i) {\n return At(), Xt(\"div\", {\n class: Vt([e.ns.b(\"dropdown\"), e.ns.is(\"multiple\", e.isMultiple), e.popperClass]),\n style: Hi({ [e.isFitInputWidth ? \"width\" : \"minWidth\"]: e.minWidth })\n }, [\n e.$slots.header ? (At(), Xt(\"div\", {\n key: 0,\n class: Vt(e.ns.be(\"dropdown\", \"header\"))\n }, [\n ur(e.$slots, \"header\")\n ], 2)) : Fr(\"v-if\", !0),\n ur(e.$slots, \"default\"),\n e.$slots.footer ? (At(), Xt(\"div\", {\n key: 1,\n class: Vt(e.ns.be(\"dropdown\", \"footer\"))\n }, [\n ur(e.$slots, \"footer\")\n ], 2)) : Fr(\"v-if\", !0)\n ], 6);\n}\nvar jH = /* @__PURE__ */ jr(HH, [[\"render\", BH], [\"__file\", \"select-dropdown.vue\"]]);\nconst UH = 11, GH = (e, t) => {\n const { t: r } = P7(), n = Jv(), a = on(\"select\"), i = on(\"input\"), o = ts({\n inputValue: \"\",\n options: /* @__PURE__ */ new Map(),\n cachedOptions: /* @__PURE__ */ new Map(),\n disabledOptions: /* @__PURE__ */ new Map(),\n optionValues: [],\n selected: [],\n selectionWidth: 0,\n calculatorWidth: 0,\n collapseItemWidth: 0,\n selectedLabel: \"\",\n hoveringIndex: -1,\n previousQuery: null,\n inputHovering: !1,\n menuVisibleOnFocus: !1,\n isBeforeHide: !1\n }), l = Rt(null), s = Rt(null), u = Rt(null), f = Rt(null), d = Rt(null), h = Rt(null), p = Rt(null), v = Rt(null), m = Rt(null), g = Rt(null), y = Rt(null), w = Rt(null), {\n isComposing: k,\n handleCompositionStart: x,\n handleCompositionUpdate: _,\n handleCompositionEnd: T\n } = aN({\n afterComposition: (oe) => ot(oe)\n }), { wrapperRef: S, isFocused: M } = nN(d, {\n beforeFocus() {\n return V.value;\n },\n afterFocus() {\n e.automaticDropdown && !L.value && (L.value = !0, o.menuVisibleOnFocus = !0);\n },\n beforeBlur(oe) {\n var Ce, Be;\n return ((Ce = u.value) == null ? void 0 : Ce.isFocusInsideContent(oe)) || ((Be = f.value) == null ? void 0 : Be.isFocusInsideContent(oe));\n },\n afterBlur() {\n L.value = !1, o.menuVisibleOnFocus = !1;\n }\n }), L = Rt(!1), F = Rt(), { form: $, formItem: I } = n5(), { inputId: O } = yN(e, {\n formItemContext: I\n }), { valueOnClear: G, isEmptyValue: K } = fN(e), V = et(() => e.disabled || ($ == null ? void 0 : $.disabled)), z = et(() => Ni(e.modelValue) ? e.modelValue.length > 0 : !K(e.modelValue)), P = et(() => e.clearable && !V.value && o.inputHovering && z.value), R = et(() => e.remote && e.filterable && !e.remoteShowSuffix ? \"\" : e.suffixIcon), H = et(() => a.is(\"reverse\", R.value && L.value)), B = et(() => (I == null ? void 0 : I.validateState) || \"\"), W = et(() => k7[B.value]), ee = et(() => e.remote ? 300 : 0), re = et(() => e.loading ? e.loadingText || r(\"el.select.loading\") : e.remote && !o.inputValue && o.options.size === 0 ? !1 : e.filterable && o.inputValue && o.options.size > 0 && ae.value === 0 ? e.noMatchText || r(\"el.select.noMatch\") : o.options.size === 0 ? e.noDataText || r(\"el.select.noData\") : null), ae = et(() => Q.value.filter((oe) => oe.visible).length), Q = et(() => {\n const oe = Array.from(o.options.values()), Ce = [];\n return o.optionValues.forEach((Be) => {\n const Xe = oe.findIndex((Et) => Et.value === Be);\n Xe > -1 && Ce.push(oe[Xe]);\n }), Ce.length >= oe.length ? Ce : oe;\n }), ue = et(() => Array.from(o.cachedOptions.values())), j = et(() => {\n const oe = Q.value.filter((Ce) => !Ce.created).some((Ce) => Ce.currentLabel === o.inputValue);\n return e.filterable && e.allowCreate && o.inputValue !== \"\" && !oe;\n }), U = () => {\n e.filterable && ua(e.filterMethod) || e.filterable && e.remote && ua(e.remoteMethod) || Q.value.forEach((oe) => {\n var Ce;\n (Ce = oe.updateOption) == null || Ce.call(oe, o.inputValue);\n });\n }, Z = L1(), le = et(() => [\"small\"].includes(Z.value) ? \"small\" : \"default\"), J = et({\n get() {\n return L.value && re.value !== !1;\n },\n set(oe) {\n L.value = oe;\n }\n }), pe = et(() => {\n if (e.multiple && !qf(e.modelValue))\n return zi(e.modelValue).length === 0 && !o.inputValue;\n const oe = Ni(e.modelValue) ? e.modelValue[0] : e.modelValue;\n return e.filterable || qf(oe) ? !o.inputValue : !0;\n }), ge = et(() => {\n var oe;\n const Ce = (oe = e.placeholder) != null ? oe : r(\"el.select.placeholder\");\n return e.multiple || !z.value ? Ce : o.selectedLabel;\n }), ve = et(() => H0 ? null : \"mouseenter\");\n _r(() => e.modelValue, (oe, Ce) => {\n e.multiple && e.filterable && !e.reserveKeyword && (o.inputValue = \"\", me(\"\")), ze(), !Y0(oe, Ce) && e.validateEvent && (I == null || I.validate(\"change\").catch((Be) => Gi(Be)));\n }, {\n flush: \"post\",\n deep: !0\n }), _r(() => L.value, (oe) => {\n oe ? me(o.inputValue) : (o.inputValue = \"\", o.previousQuery = null, o.isBeforeHide = !0), t(\"visible-change\", oe);\n }), _r(() => o.options.entries(), () => {\n var oe;\n if (!qn)\n return;\n const Ce = ((oe = l.value) == null ? void 0 : oe.querySelectorAll(\"input\")) || [];\n (!e.filterable && !e.defaultFirstOption && !qf(e.modelValue) || !Array.from(Ce).includes(document.activeElement)) && ze(), e.defaultFirstOption && (e.filterable || e.remote) && ae.value && Le();\n }, {\n flush: \"post\"\n }), _r(() => o.hoveringIndex, (oe) => {\n Ga(oe) && oe > -1 ? F.value = Q.value[oe] || {} : F.value = {}, Q.value.forEach((Ce) => {\n Ce.hover = F.value === Ce;\n });\n }), GR(() => {\n o.isBeforeHide || U();\n });\n const me = (oe) => {\n o.previousQuery === oe || k.value || (o.previousQuery = oe, e.filterable && ua(e.filterMethod) ? e.filterMethod(oe) : e.filterable && e.remote && ua(e.remoteMethod) && e.remoteMethod(oe), e.defaultFirstOption && (e.filterable || e.remote) && ae.value ? ja(Le) : ja(Oe));\n }, Le = () => {\n const oe = Q.value.filter((Xe) => Xe.visible && !Xe.disabled && !Xe.states.groupDisabled), Ce = oe.find((Xe) => Xe.created), Be = oe[0];\n o.hoveringIndex = tt(Q.value, Ce || Be);\n }, ze = () => {\n if (e.multiple)\n o.selectedLabel = \"\";\n else {\n const Ce = Ni(e.modelValue) ? e.modelValue[0] : e.modelValue, Be = Fe(Ce);\n o.selectedLabel = Be.currentLabel, o.selected = [Be];\n return;\n }\n const oe = [];\n qf(e.modelValue) || zi(e.modelValue).forEach((Ce) => {\n oe.push(Fe(Ce));\n }), o.selected = oe;\n }, Fe = (oe) => {\n let Ce;\n const Be = Sm(oe).toLowerCase() === \"object\", Xe = Sm(oe).toLowerCase() === \"null\", Et = Sm(oe).toLowerCase() === \"undefined\";\n for (let kt = o.cachedOptions.size - 1; kt >= 0; kt--) {\n const qt = ue.value[kt];\n if (Be ? ho(qt.value, e.valueKey) === ho(oe, e.valueKey) : qt.value === oe) {\n Ce = {\n value: oe,\n currentLabel: qt.currentLabel,\n get isDisabled() {\n return qt.isDisabled;\n }\n };\n break;\n }\n }\n if (Ce)\n return Ce;\n const Pt = Be ? oe.label : !Xe && !Et ? oe : \"\";\n return {\n value: oe,\n currentLabel: Pt\n };\n }, Oe = () => {\n o.hoveringIndex = Q.value.findIndex((oe) => o.selected.some((Ce) => X(Ce) === X(oe)));\n }, Re = () => {\n o.selectionWidth = s.value.getBoundingClientRect().width;\n }, We = () => {\n o.calculatorWidth = h.value.getBoundingClientRect().width;\n }, Me = () => {\n o.collapseItemWidth = y.value.getBoundingClientRect().width;\n }, Ve = () => {\n var oe, Ce;\n (Ce = (oe = u.value) == null ? void 0 : oe.updatePopper) == null || Ce.call(oe);\n }, qe = () => {\n var oe, Ce;\n (Ce = (oe = f.value) == null ? void 0 : oe.updatePopper) == null || Ce.call(oe);\n }, Qe = () => {\n o.inputValue.length > 0 && !L.value && (L.value = !0), me(o.inputValue);\n }, ot = (oe) => {\n if (o.inputValue = oe.target.value, e.remote)\n ht();\n else\n return Qe();\n }, ht = r7(() => {\n Qe();\n }, ee.value), vt = (oe) => {\n Y0(e.modelValue, oe) || t(Yv, oe);\n }, nt = (oe) => n7(oe, (Ce) => !o.disabledOptions.has(Ce)), ft = (oe) => {\n if (e.multiple && oe.code !== hc.delete && oe.target.value.length <= 0) {\n const Ce = zi(e.modelValue).slice(), Be = nt(Ce);\n if (Be < 0)\n return;\n const Xe = Ce[Be];\n Ce.splice(Be, 1), t(Ko, Ce), vt(Ce), t(\"remove-tag\", Xe);\n }\n }, Pe = (oe, Ce) => {\n const Be = o.selected.indexOf(Ce);\n if (Be > -1 && !V.value) {\n const Xe = zi(e.modelValue).slice();\n Xe.splice(Be, 1), t(Ko, Xe), vt(Xe), t(\"remove-tag\", Ce.value);\n }\n oe.stopPropagation(), He();\n }, Ie = (oe) => {\n oe.stopPropagation();\n const Ce = e.multiple ? [] : G.value;\n if (e.multiple)\n for (const Be of o.selected)\n Be.isDisabled && Ce.push(Be.value);\n t(Ko, Ce), vt(Ce), o.hoveringIndex = -1, L.value = !1, t(\"clear\"), He();\n }, Ne = (oe) => {\n var Ce;\n if (e.multiple) {\n const Be = zi((Ce = e.modelValue) != null ? Ce : []).slice(), Xe = tt(Be, oe.value);\n Xe > -1 ? Be.splice(Xe, 1) : (e.multipleLimit <= 0 || Be.length < e.multipleLimit) && Be.push(oe.value), t(Ko, Be), vt(Be), oe.created && me(\"\"), e.filterable && !e.reserveKeyword && (o.inputValue = \"\");\n } else\n t(Ko, oe.value), vt(oe.value), L.value = !1;\n He(), !L.value && ja(() => {\n Je(oe);\n });\n }, tt = (oe = [], Ce) => {\n if (!Oi(Ce))\n return oe.indexOf(Ce);\n const Be = e.valueKey;\n let Xe = -1;\n return oe.some((Et, Pt) => l1(ho(Et, Be)) === ho(Ce, Be) ? (Xe = Pt, !0) : !1), Xe;\n }, Je = (oe) => {\n var Ce, Be, Xe, Et, Pt;\n const It = Ni(oe) ? oe[0] : oe;\n let kt = null;\n if (It != null && It.value) {\n const qt = Q.value.filter((Ot) => Ot.value === It.value);\n qt.length > 0 && (kt = qt[0].$el);\n }\n if (u.value && kt) {\n const qt = (Et = (Xe = (Be = (Ce = u.value) == null ? void 0 : Ce.popperRef) == null ? void 0 : Be.contentRef) == null ? void 0 : Xe.querySelector) == null ? void 0 : Et.call(Xe, `.${a.be(\"dropdown\", \"wrap\")}`);\n qt && h7(qt, kt);\n }\n (Pt = w.value) == null || Pt.handleScroll();\n }, it = (oe) => {\n o.options.set(oe.value, oe), o.cachedOptions.set(oe.value, oe), oe.disabled && o.disabledOptions.set(oe.value, oe);\n }, at = (oe, Ce) => {\n o.options.get(oe) === Ce && o.options.delete(oe);\n }, Tt = et(() => {\n var oe, Ce;\n return (Ce = (oe = u.value) == null ? void 0 : oe.popperRef) == null ? void 0 : Ce.contentRef;\n }), gt = () => {\n o.isBeforeHide = !1, ja(() => Je(o.selected));\n }, He = () => {\n var oe;\n (oe = d.value) == null || oe.focus();\n }, pt = () => {\n var oe;\n (oe = d.value) == null || oe.blur();\n }, bt = (oe) => {\n Ie(oe);\n }, Ke = () => {\n L.value = !1, M.value && pt();\n }, st = () => {\n o.inputValue.length > 0 ? o.inputValue = \"\" : L.value = !1;\n }, rt = () => {\n V.value || (H0 && (o.inputHovering = !0), o.menuVisibleOnFocus ? o.menuVisibleOnFocus = !1 : L.value = !L.value);\n }, ct = () => {\n L.value ? Q.value[o.hoveringIndex] && Ne(Q.value[o.hoveringIndex]) : rt();\n }, X = (oe) => Oi(oe.value) ? ho(oe.value, e.valueKey) : oe.value, se = et(() => Q.value.filter((oe) => oe.visible).every((oe) => oe.disabled)), ie = et(() => e.multiple ? e.collapseTags ? o.selected.slice(0, e.maxCollapseTags) : o.selected : []), fe = et(() => e.multiple ? e.collapseTags ? o.selected.slice(e.maxCollapseTags) : [] : []), ke = (oe) => {\n if (!L.value) {\n L.value = !0;\n return;\n }\n if (!(o.options.size === 0 || o.filteredOptionsCount === 0 || k.value) && !se.value) {\n oe === \"next\" ? (o.hoveringIndex++, o.hoveringIndex === o.options.size && (o.hoveringIndex = 0)) : oe === \"prev\" && (o.hoveringIndex--, o.hoveringIndex < 0 && (o.hoveringIndex = o.options.size - 1));\n const Ce = Q.value[o.hoveringIndex];\n (Ce.disabled === !0 || Ce.states.groupDisabled === !0 || !Ce.visible) && ke(oe), ja(() => Je(F.value));\n }\n }, _e = () => {\n if (!s.value)\n return 0;\n const oe = window.getComputedStyle(s.value);\n return Number.parseFloat(oe.gap || \"6px\");\n }, Ge = et(() => {\n const oe = _e();\n return { maxWidth: `${y.value && e.maxCollapseTags === 1 ? o.selectionWidth - o.collapseItemWidth - oe : o.selectionWidth}px` };\n }), je = et(() => ({ maxWidth: `${o.selectionWidth}px` })), Ee = et(() => ({\n width: `${Math.max(o.calculatorWidth, UH)}px`\n }));\n return Wo(s, Re), Wo(h, We), Wo(m, Ve), Wo(S, Ve), Wo(g, qe), Wo(y, Me), Zn(() => {\n ze();\n }), {\n inputId: O,\n contentId: n,\n nsSelect: a,\n nsInput: i,\n states: o,\n isFocused: M,\n expanded: L,\n optionsArray: Q,\n hoverOption: F,\n selectSize: Z,\n filteredOptionsCount: ae,\n resetCalculatorWidth: We,\n updateTooltip: Ve,\n updateTagTooltip: qe,\n debouncedOnInputChange: ht,\n onInput: ot,\n deletePrevTag: ft,\n deleteTag: Pe,\n deleteSelected: Ie,\n handleOptionSelect: Ne,\n scrollToOption: Je,\n hasModelValue: z,\n shouldShowPlaceholder: pe,\n currentPlaceholder: ge,\n mouseEnterEventName: ve,\n showClose: P,\n iconComponent: R,\n iconReverse: H,\n validateState: B,\n validateIcon: W,\n showNewOption: j,\n updateOptions: U,\n collapseTagSize: le,\n setSelected: ze,\n selectDisabled: V,\n emptyText: re,\n handleCompositionStart: x,\n handleCompositionUpdate: _,\n handleCompositionEnd: T,\n onOptionCreate: it,\n onOptionDestroy: at,\n handleMenuEnter: gt,\n focus: He,\n blur: pt,\n handleClearClick: bt,\n handleClickOutside: Ke,\n handleEsc: st,\n toggleMenu: rt,\n selectOption: ct,\n getValueKey: X,\n navigateOptions: ke,\n dropdownMenuVisible: J,\n showTagList: ie,\n collapseTagList: fe,\n tagStyle: Ge,\n collapseTagStyle: je,\n inputStyle: Ee,\n popperRef: Tt,\n inputRef: d,\n tooltipRef: u,\n tagTooltipRef: f,\n calculatorRef: h,\n prefixRef: p,\n suffixRef: v,\n selectRef: l,\n wrapperRef: S,\n selectionRef: s,\n scrollbarRef: w,\n menuRef: m,\n tagMenuRef: g,\n collapseItemRef: y\n };\n};\nvar VH = er({\n name: \"ElOptions\",\n setup(e, { slots: t }) {\n const r = Rr(rp);\n let n = [];\n return () => {\n var a, i;\n const o = (a = t.default) == null ? void 0 : a.call(t), l = [];\n function s(u) {\n Ni(u) && u.forEach((f) => {\n var d, h, p, v;\n const m = (d = (f == null ? void 0 : f.type) || {}) == null ? void 0 : d.name;\n m === \"ElOptionGroup\" ? s(!Uu(f.children) && !Ni(f.children) && ua((h = f.children) == null ? void 0 : h.default) ? (p = f.children) == null ? void 0 : p.default() : f.children) : m === \"ElOption\" ? l.push((v = f.props) == null ? void 0 : v.value) : Ni(f.children) && s(f.children);\n });\n }\n return o.length && s((i = o[0]) == null ? void 0 : i.children), Y0(l, n) || (n = l, r && (r.states.optionValues = l)), o;\n };\n }\n});\nconst qH = qr({\n name: String,\n id: String,\n modelValue: {\n type: [Array, String, Number, Boolean, Object],\n default: void 0\n },\n autocomplete: {\n type: String,\n default: \"off\"\n },\n automaticDropdown: Boolean,\n size: t5,\n effect: {\n type: dr(String),\n default: \"light\"\n },\n disabled: Boolean,\n clearable: Boolean,\n filterable: Boolean,\n allowCreate: Boolean,\n loading: Boolean,\n popperClass: {\n type: String,\n default: \"\"\n },\n popperOptions: {\n type: dr(Object),\n default: () => ({})\n },\n remote: Boolean,\n loadingText: String,\n noMatchText: String,\n noDataText: String,\n remoteMethod: Function,\n filterMethod: Function,\n multiple: Boolean,\n multipleLimit: {\n type: Number,\n default: 0\n },\n placeholder: {\n type: String\n },\n defaultFirstOption: Boolean,\n reserveKeyword: {\n type: Boolean,\n default: !0\n },\n valueKey: {\n type: String,\n default: \"value\"\n },\n collapseTags: Boolean,\n collapseTagsTooltip: Boolean,\n maxCollapseTags: {\n type: Number,\n default: 1\n },\n teleported: ma.teleported,\n persistent: {\n type: Boolean,\n default: !0\n },\n clearIcon: {\n type: Tu,\n default: I3\n },\n fitInputWidth: Boolean,\n suffixIcon: {\n type: Tu,\n default: p7\n },\n tagType: { ...ty.type, default: \"info\" },\n tagEffect: { ...ty.effect, default: \"light\" },\n validateEvent: {\n type: Boolean,\n default: !0\n },\n remoteShowSuffix: Boolean,\n placement: {\n type: dr(String),\n values: Xv,\n default: \"bottom-start\"\n },\n fallbackPlacements: {\n type: dr(Array),\n default: [\"bottom-start\", \"top-start\", \"right\", \"left\"]\n },\n appendTo: String,\n ...uN,\n ...Qv([\"ariaLabel\"])\n}), Xw = \"ElSelect\", WH = er({\n name: Xw,\n componentName: Xw,\n components: {\n ElSelectMenu: jH,\n ElOption: $1,\n ElOptions: VH,\n ElTag: dH,\n ElScrollbar: FN,\n ElTooltip: c5,\n ElIcon: Lu\n },\n directives: { ClickOutside: lH },\n props: qH,\n emits: [\n Ko,\n Yv,\n \"remove-tag\",\n \"clear\",\n \"visible-change\",\n \"focus\",\n \"blur\"\n ],\n setup(e, { emit: t }) {\n const r = et(() => {\n const { modelValue: i, multiple: o } = e, l = o ? [] : void 0;\n return Ni(i) ? o ? i : l : o ? l : i;\n }), n = ts({\n ...s1(e),\n modelValue: r\n }), a = GH(n, t);\n return wa(rp, ts({\n props: n,\n states: a.states,\n optionsArray: a.optionsArray,\n handleOptionSelect: a.handleOptionSelect,\n onOptionCreate: a.onOptionCreate,\n onOptionDestroy: a.onOptionDestroy,\n selectRef: a.selectRef,\n setSelected: a.setSelected\n })), {\n ...a,\n modelValue: r\n };\n }\n});\nfunction ZH(e, t, r, n, a, i) {\n const o = uo(\"el-tag\"), l = uo(\"el-tooltip\"), s = uo(\"el-icon\"), u = uo(\"el-option\"), f = uo(\"el-options\"), d = uo(\"el-scrollbar\"), h = uo(\"el-select-menu\"), p = VR(\"click-outside\");\n return yo((At(), Xt(\"div\", {\n ref: \"selectRef\",\n class: Vt([e.nsSelect.b(), e.nsSelect.m(e.selectSize)]),\n [qR(e.mouseEnterEventName)]: (v) => e.states.inputHovering = !0,\n onMouseleave: (v) => e.states.inputHovering = !1\n }, [\n Ar(l, {\n ref: \"tooltipRef\",\n visible: e.dropdownMenuVisible,\n placement: e.placement,\n teleported: e.teleported,\n \"popper-class\": [e.nsSelect.e(\"popper\"), e.popperClass],\n \"popper-options\": e.popperOptions,\n \"fallback-placements\": e.fallbackPlacements,\n effect: e.effect,\n pure: \"\",\n trigger: \"click\",\n transition: `${e.nsSelect.namespace.value}-zoom-in-top`,\n \"stop-popper-mouse-event\": !1,\n \"gpu-acceleration\": !1,\n persistent: e.persistent,\n \"append-to\": e.appendTo,\n onBeforeShow: e.handleMenuEnter,\n onHide: (v) => e.states.isBeforeHide = !1\n }, {\n default: ir(() => {\n var v;\n return [\n cr(\"div\", {\n ref: \"wrapperRef\",\n class: Vt([\n e.nsSelect.e(\"wrapper\"),\n e.nsSelect.is(\"focused\", e.isFocused),\n e.nsSelect.is(\"hovering\", e.states.inputHovering),\n e.nsSelect.is(\"filterable\", e.filterable),\n e.nsSelect.is(\"disabled\", e.selectDisabled)\n ]),\n onClick: pa(e.toggleMenu, [\"prevent\"])\n }, [\n e.$slots.prefix ? (At(), Xt(\"div\", {\n key: 0,\n ref: \"prefixRef\",\n class: Vt(e.nsSelect.e(\"prefix\"))\n }, [\n ur(e.$slots, \"prefix\")\n ], 2)) : Fr(\"v-if\", !0),\n cr(\"div\", {\n ref: \"selectionRef\",\n class: Vt([\n e.nsSelect.e(\"selection\"),\n e.nsSelect.is(\"near\", e.multiple && !e.$slots.prefix && !!e.states.selected.length)\n ])\n }, [\n e.multiple ? ur(e.$slots, \"tag\", { key: 0 }, () => [\n (At(!0), Xt(wo, null, xu(e.showTagList, (m) => (At(), Xt(\"div\", {\n key: e.getValueKey(m),\n class: Vt(e.nsSelect.e(\"selected-item\"))\n }, [\n Ar(o, {\n closable: !e.selectDisabled && !m.isDisabled,\n size: e.collapseTagSize,\n type: e.tagType,\n effect: e.tagEffect,\n \"disable-transitions\": \"\",\n style: Hi(e.tagStyle),\n onClose: (g) => e.deleteTag(g, m)\n }, {\n default: ir(() => [\n cr(\"span\", {\n class: Vt(e.nsSelect.e(\"tags-text\"))\n }, [\n ur(e.$slots, \"label\", {\n label: m.currentLabel,\n value: m.value\n }, () => [\n rs(ga(m.currentLabel), 1)\n ])\n ], 2)\n ]),\n _: 2\n }, 1032, [\"closable\", \"size\", \"type\", \"effect\", \"style\", \"onClose\"])\n ], 2))), 128)),\n e.collapseTags && e.states.selected.length > e.maxCollapseTags ? (At(), kr(l, {\n key: 0,\n ref: \"tagTooltipRef\",\n disabled: e.dropdownMenuVisible || !e.collapseTagsTooltip,\n \"fallback-placements\": [\"bottom\", \"top\", \"right\", \"left\"],\n effect: e.effect,\n placement: \"bottom\",\n teleported: e.teleported\n }, {\n default: ir(() => [\n cr(\"div\", {\n ref: \"collapseItemRef\",\n class: Vt(e.nsSelect.e(\"selected-item\"))\n }, [\n Ar(o, {\n closable: !1,\n size: e.collapseTagSize,\n type: e.tagType,\n effect: e.tagEffect,\n \"disable-transitions\": \"\",\n style: Hi(e.collapseTagStyle)\n }, {\n default: ir(() => [\n cr(\"span\", {\n class: Vt(e.nsSelect.e(\"tags-text\"))\n }, \" + \" + ga(e.states.selected.length - e.maxCollapseTags), 3)\n ]),\n _: 1\n }, 8, [\"size\", \"type\", \"effect\", \"style\"])\n ], 2)\n ]),\n content: ir(() => [\n cr(\"div\", {\n ref: \"tagMenuRef\",\n class: Vt(e.nsSelect.e(\"selection\"))\n }, [\n (At(!0), Xt(wo, null, xu(e.collapseTagList, (m) => (At(), Xt(\"div\", {\n key: e.getValueKey(m),\n class: Vt(e.nsSelect.e(\"selected-item\"))\n }, [\n Ar(o, {\n class: \"in-tooltip\",\n closable: !e.selectDisabled && !m.isDisabled,\n size: e.collapseTagSize,\n type: e.tagType,\n effect: e.tagEffect,\n \"disable-transitions\": \"\",\n onClose: (g) => e.deleteTag(g, m)\n }, {\n default: ir(() => [\n cr(\"span\", {\n class: Vt(e.nsSelect.e(\"tags-text\"))\n }, [\n ur(e.$slots, \"label\", {\n label: m.currentLabel,\n value: m.value\n }, () => [\n rs(ga(m.currentLabel), 1)\n ])\n ], 2)\n ]),\n _: 2\n }, 1032, [\"closable\", \"size\", \"type\", \"effect\", \"onClose\"])\n ], 2))), 128))\n ], 2)\n ]),\n _: 3\n }, 8, [\"disabled\", \"effect\", \"teleported\"])) : Fr(\"v-if\", !0)\n ]) : Fr(\"v-if\", !0),\n e.selectDisabled ? Fr(\"v-if\", !0) : (At(), Xt(\"div\", {\n key: 1,\n class: Vt([\n e.nsSelect.e(\"selected-item\"),\n e.nsSelect.e(\"input-wrapper\"),\n e.nsSelect.is(\"hidden\", !e.filterable)\n ])\n }, [\n yo(cr(\"input\", {\n id: e.inputId,\n ref: \"inputRef\",\n \"onUpdate:modelValue\": (m) => e.states.inputValue = m,\n type: \"text\",\n name: e.name,\n class: Vt([e.nsSelect.e(\"input\"), e.nsSelect.is(e.selectSize)]),\n disabled: e.selectDisabled,\n autocomplete: e.autocomplete,\n style: Hi(e.inputStyle),\n role: \"combobox\",\n readonly: !e.filterable,\n spellcheck: \"false\",\n \"aria-activedescendant\": ((v = e.hoverOption) == null ? void 0 : v.id) || \"\",\n \"aria-controls\": e.contentId,\n \"aria-expanded\": e.dropdownMenuVisible,\n \"aria-label\": e.ariaLabel,\n \"aria-autocomplete\": \"none\",\n \"aria-haspopup\": \"listbox\",\n onKeydown: [\n eu(pa((m) => e.navigateOptions(\"next\"), [\"stop\", \"prevent\"]), [\"down\"]),\n eu(pa((m) => e.navigateOptions(\"prev\"), [\"stop\", \"prevent\"]), [\"up\"]),\n eu(pa(e.handleEsc, [\"stop\", \"prevent\"]), [\"esc\"]),\n eu(pa(e.selectOption, [\"stop\", \"prevent\"]), [\"enter\"]),\n eu(pa(e.deletePrevTag, [\"stop\"]), [\"delete\"])\n ],\n onCompositionstart: e.handleCompositionStart,\n onCompositionupdate: e.handleCompositionUpdate,\n onCompositionend: e.handleCompositionEnd,\n onInput: e.onInput,\n onClick: pa(e.toggleMenu, [\"stop\"])\n }, null, 46, [\"id\", \"onUpdate:modelValue\", \"name\", \"disabled\", \"autocomplete\", \"readonly\", \"aria-activedescendant\", \"aria-controls\", \"aria-expanded\", \"aria-label\", \"onKeydown\", \"onCompositionstart\", \"onCompositionupdate\", \"onCompositionend\", \"onInput\", \"onClick\"]), [\n [WR, e.states.inputValue]\n ]),\n e.filterable ? (At(), Xt(\"span\", {\n key: 0,\n ref: \"calculatorRef\",\n \"aria-hidden\": \"true\",\n class: Vt(e.nsSelect.e(\"input-calculator\")),\n textContent: ga(e.states.inputValue)\n }, null, 10, [\"textContent\"])) : Fr(\"v-if\", !0)\n ], 2)),\n e.shouldShowPlaceholder ? (At(), Xt(\"div\", {\n key: 2,\n class: Vt([\n e.nsSelect.e(\"selected-item\"),\n e.nsSelect.e(\"placeholder\"),\n e.nsSelect.is(\"transparent\", !e.hasModelValue || e.expanded && !e.states.inputValue)\n ])\n }, [\n e.hasModelValue ? ur(e.$slots, \"label\", {\n key: 0,\n label: e.currentPlaceholder,\n value: e.modelValue\n }, () => [\n cr(\"span\", null, ga(e.currentPlaceholder), 1)\n ]) : (At(), Xt(\"span\", { key: 1 }, ga(e.currentPlaceholder), 1))\n ], 2)) : Fr(\"v-if\", !0)\n ], 2),\n cr(\"div\", {\n ref: \"suffixRef\",\n class: Vt(e.nsSelect.e(\"suffix\"))\n }, [\n e.iconComponent && !e.showClose ? (At(), kr(s, {\n key: 0,\n class: Vt([e.nsSelect.e(\"caret\"), e.nsSelect.e(\"icon\"), e.iconReverse])\n }, {\n default: ir(() => [\n (At(), kr(bo(e.iconComponent)))\n ]),\n _: 1\n }, 8, [\"class\"])) : Fr(\"v-if\", !0),\n e.showClose && e.clearIcon ? (At(), kr(s, {\n key: 1,\n class: Vt([\n e.nsSelect.e(\"caret\"),\n e.nsSelect.e(\"icon\"),\n e.nsSelect.e(\"clear\")\n ]),\n onClick: e.handleClearClick\n }, {\n default: ir(() => [\n (At(), kr(bo(e.clearIcon)))\n ]),\n _: 1\n }, 8, [\"class\", \"onClick\"])) : Fr(\"v-if\", !0),\n e.validateState && e.validateIcon ? (At(), kr(s, {\n key: 2,\n class: Vt([e.nsInput.e(\"icon\"), e.nsInput.e(\"validateIcon\")])\n }, {\n default: ir(() => [\n (At(), kr(bo(e.validateIcon)))\n ]),\n _: 1\n }, 8, [\"class\"])) : Fr(\"v-if\", !0)\n ], 2)\n ], 10, [\"onClick\"])\n ];\n }),\n content: ir(() => [\n Ar(h, { ref: \"menuRef\" }, {\n default: ir(() => [\n e.$slots.header ? (At(), Xt(\"div\", {\n key: 0,\n class: Vt(e.nsSelect.be(\"dropdown\", \"header\")),\n onClick: pa(() => {\n }, [\"stop\"])\n }, [\n ur(e.$slots, \"header\")\n ], 10, [\"onClick\"])) : Fr(\"v-if\", !0),\n yo(Ar(d, {\n id: e.contentId,\n ref: \"scrollbarRef\",\n tag: \"ul\",\n \"wrap-class\": e.nsSelect.be(\"dropdown\", \"wrap\"),\n \"view-class\": e.nsSelect.be(\"dropdown\", \"list\"),\n class: Vt([e.nsSelect.is(\"empty\", e.filteredOptionsCount === 0)]),\n role: \"listbox\",\n \"aria-label\": e.ariaLabel,\n \"aria-orientation\": \"vertical\"\n }, {\n default: ir(() => [\n e.showNewOption ? (At(), kr(u, {\n key: 0,\n value: e.states.inputValue,\n created: !0\n }, null, 8, [\"value\"])) : Fr(\"v-if\", !0),\n Ar(f, null, {\n default: ir(() => [\n ur(e.$slots, \"default\")\n ]),\n _: 3\n })\n ]),\n _: 3\n }, 8, [\"id\", \"wrap-class\", \"view-class\", \"class\", \"aria-label\"]), [\n [ju, e.states.options.size > 0 && !e.loading]\n ]),\n e.$slots.loading && e.loading ? (At(), Xt(\"div\", {\n key: 1,\n class: Vt(e.nsSelect.be(\"dropdown\", \"loading\"))\n }, [\n ur(e.$slots, \"loading\")\n ], 2)) : e.loading || e.filteredOptionsCount === 0 ? (At(), Xt(\"div\", {\n key: 2,\n class: Vt(e.nsSelect.be(\"dropdown\", \"empty\"))\n }, [\n ur(e.$slots, \"empty\", {}, () => [\n cr(\"span\", null, ga(e.emptyText), 1)\n ])\n ], 2)) : Fr(\"v-if\", !0),\n e.$slots.footer ? (At(), Xt(\"div\", {\n key: 3,\n class: Vt(e.nsSelect.be(\"dropdown\", \"footer\")),\n onClick: pa(() => {\n }, [\"stop\"])\n }, [\n ur(e.$slots, \"footer\")\n ], 10, [\"onClick\"])) : Fr(\"v-if\", !0)\n ]),\n _: 3\n }, 512)\n ]),\n _: 3\n }, 8, [\"visible\", \"placement\", \"teleported\", \"popper-class\", \"popper-options\", \"fallback-placements\", \"effect\", \"transition\", \"persistent\", \"append-to\", \"onBeforeShow\", \"onHide\"])\n ], 16, [\"onMouseleave\"])), [\n [p, e.handleClickOutside, e.popperRef]\n ]);\n}\nvar YH = /* @__PURE__ */ jr(WH, [[\"render\", ZH], [\"__file\", \"select.vue\"]]);\nconst XH = er({\n name: \"ElOptionGroup\",\n componentName: \"ElOptionGroup\",\n props: {\n label: String,\n disabled: Boolean\n },\n setup(e) {\n const t = on(\"select\"), r = Rt(null), n = xa(), a = Rt([]);\n wa(b5, ts({\n ...s1(e)\n }));\n const i = et(() => a.value.some((u) => u.visible === !0)), o = (u) => {\n var f, d;\n return ((f = u.type) == null ? void 0 : f.name) === \"ElOption\" && !!((d = u.component) != null && d.proxy);\n }, l = (u) => {\n const f = zi(u), d = [];\n return f.forEach((h) => {\n var p, v;\n o(h) ? d.push(h.component.proxy) : (p = h.children) != null && p.length ? d.push(...l(h.children)) : (v = h.component) != null && v.subTree && d.push(...l(h.component.subTree));\n }), d;\n }, s = () => {\n a.value = l(n.subTree);\n };\n return Zn(() => {\n s();\n }), sP(r, s, {\n attributes: !0,\n subtree: !0,\n childList: !0\n }), {\n groupRef: r,\n visible: i,\n ns: t\n };\n }\n});\nfunction KH(e, t, r, n, a, i) {\n return yo((At(), Xt(\"ul\", {\n ref: \"groupRef\",\n class: Vt(e.ns.be(\"group\", \"wrap\"))\n }, [\n cr(\"li\", {\n class: Vt(e.ns.be(\"group\", \"title\"))\n }, ga(e.label), 3),\n cr(\"li\", null, [\n cr(\"ul\", {\n class: Vt(e.ns.b(\"group\"))\n }, [\n ur(e.$slots, \"default\")\n ], 2)\n ])\n ], 2)), [\n [ju, e.visible]\n ]);\n}\nvar _5 = /* @__PURE__ */ jr(XH, [[\"render\", KH], [\"__file\", \"option-group.vue\"]]);\nconst Vu = gi(YH, {\n Option: $1,\n OptionGroup: _5\n}), qu = Zv($1);\nZv(_5);\nconst JH = qr({\n trigger: mc.trigger,\n placement: Om.placement,\n disabled: mc.disabled,\n visible: ma.visible,\n transition: ma.transition,\n popperOptions: Om.popperOptions,\n tabindex: Om.tabindex,\n content: ma.content,\n popperStyle: ma.popperStyle,\n popperClass: ma.popperClass,\n enterable: {\n ...ma.enterable,\n default: !0\n },\n effect: {\n ...ma.effect,\n default: \"light\"\n },\n teleported: ma.teleported,\n title: String,\n width: {\n type: [String, Number],\n default: 150\n },\n offset: {\n type: Number,\n default: void 0\n },\n showAfter: {\n type: Number,\n default: 0\n },\n hideAfter: {\n type: Number,\n default: 200\n },\n autoClose: {\n type: Number,\n default: 0\n },\n showArrow: {\n type: Boolean,\n default: !0\n },\n persistent: {\n type: Boolean,\n default: !0\n },\n \"onUpdate:visible\": {\n type: Function\n }\n}), QH = {\n \"update:visible\": (e) => g1(e),\n \"before-enter\": () => !0,\n \"before-leave\": () => !0,\n \"after-enter\": () => !0,\n \"after-leave\": () => !0\n}, eB = \"onUpdate:visible\", tB = er({\n name: \"ElPopover\"\n}), rB = /* @__PURE__ */ er({\n ...tB,\n props: JH,\n emits: QH,\n setup(e, { expose: t, emit: r }) {\n const n = e, a = et(() => n[eB]), i = on(\"popover\"), o = Rt(), l = et(() => {\n var g;\n return (g = $e(o)) == null ? void 0 : g.popperRef;\n }), s = et(() => [\n {\n width: ev(n.width)\n },\n n.popperStyle\n ]), u = et(() => [i.b(), n.popperClass, { [i.m(\"plain\")]: !!n.content }]), f = et(() => n.transition === `${i.namespace.value}-fade-in-linear`), d = () => {\n var g;\n (g = o.value) == null || g.hide();\n }, h = () => {\n r(\"before-enter\");\n }, p = () => {\n r(\"before-leave\");\n }, v = () => {\n r(\"after-enter\");\n }, m = () => {\n r(\"update:visible\", !1), r(\"after-leave\");\n };\n return t({\n popperRef: l,\n hide: d\n }), (g, y) => (At(), kr($e(c5), fs({\n ref_key: \"tooltipRef\",\n ref: o\n }, g.$attrs, {\n trigger: g.trigger,\n placement: g.placement,\n disabled: g.disabled,\n visible: g.visible,\n transition: g.transition,\n \"popper-options\": g.popperOptions,\n tabindex: g.tabindex,\n content: g.content,\n offset: g.offset,\n \"show-after\": g.showAfter,\n \"hide-after\": g.hideAfter,\n \"auto-close\": g.autoClose,\n \"show-arrow\": g.showArrow,\n \"aria-label\": g.title,\n effect: g.effect,\n enterable: g.enterable,\n \"popper-class\": $e(u),\n \"popper-style\": $e(s),\n teleported: g.teleported,\n persistent: g.persistent,\n \"gpu-acceleration\": $e(f),\n \"onUpdate:visible\": $e(a),\n onBeforeShow: h,\n onBeforeHide: p,\n onShow: v,\n onHide: m\n }), {\n content: ir(() => [\n g.title ? (At(), Xt(\"div\", {\n key: 0,\n class: Vt($e(i).e(\"title\")),\n role: \"title\"\n }, ga(g.title), 3)) : Fr(\"v-if\", !0),\n ur(g.$slots, \"default\", {}, () => [\n rs(ga(g.content), 1)\n ])\n ]),\n default: ir(() => [\n g.$slots.reference ? ur(g.$slots, \"reference\", { key: 0 }) : Fr(\"v-if\", !0)\n ]),\n _: 3\n }, 16, [\"trigger\", \"placement\", \"disabled\", \"visible\", \"transition\", \"popper-options\", \"tabindex\", \"content\", \"offset\", \"show-after\", \"hide-after\", \"auto-close\", \"show-arrow\", \"aria-label\", \"effect\", \"enterable\", \"popper-class\", \"popper-style\", \"teleported\", \"persistent\", \"gpu-acceleration\", \"onUpdate:visible\"]));\n }\n});\nvar nB = /* @__PURE__ */ jr(rB, [[\"__file\", \"popover.vue\"]]);\nconst Kw = (e, t) => {\n const r = t.arg || t.value, n = r == null ? void 0 : r.popperRef;\n n && (n.triggerRef = e);\n};\nvar aB = {\n mounted(e, t) {\n Kw(e, t);\n },\n updated(e, t) {\n Kw(e, t);\n }\n};\nconst iB = \"popover\", oB = A7(aB, iB), z1 = gi(nB, {\n directive: oB\n}), x5 = (e, t) => {\n const r = e.__vccOpts || e;\n for (const [n, a] of t)\n r[n] = a;\n return r;\n}, lB = [\"xlink:href\"], sB = {\n __name: \"SvgIcon\",\n props: {\n /**\n * The svg icon to show.\n */\n icon: {\n type: String,\n required: !0\n },\n /**\n * The option to spin the icon.\n */\n spin: {\n type: Boolean,\n default: !1\n }\n },\n setup(e) {\n return (t, r) => (At(), Xt(\"svg\", {\n class: Vt([\"map-icon\", { \"map-icon-spin\": e.spin }])\n }, [\n cr(\"use\", {\n \"xlink:href\": `#${e.icon}`\n }, null, 8, lB)\n ], 2));\n }\n}, uB = /* @__PURE__ */ x5(sB, [[\"__scopeId\", \"data-v-e172d5ff\"]]), w5 = `\n\n 2horpanel\n \n \n \n \n \n ?\n \n \n \n \n \n \n`, T5 = `\n\n 2vertpanel\n \n \n \n \n \n ?\n \n \n \n \n \n \n`, k5 = `\n\n 3panel\n \n \n \n \n \n ?\n \n \n \n \n \n \n \n`, A5 = `\n\n 4panel\n \n \n \n \n \n ?\n \n \n \n \n \n \n \n`, M5 = `\n\n 2horpanel\n \n \n \n \n \n ?\n \n \n \n \n \n \n \n \n \n`, S5 = `\n\n 2horpanel\n \n \n \n \n \n ?\n \n \n \n \n \n \n \n \n`, C5 = `\n\n 4panel\n \n \n \n \n \n ?\n \n \n \n \n \n \n \n \n`, L5 = `\n\n changeBckgd\n \n \n \n \n \n \n \n \n`, D5 = `\n\n close no bk\n \n \n \n \n \n \n`, E5 = `\n\n close\n \n \n \n \n \n \n \n \n \n \n \n`, F5 = `\n\n closeFullScreen\n \n \n \n \n \n \n \n \n \n`, R5 = `\n\n Comment\n \n \n \n \n`, P5 = `\n\n Connection\n \n \n \n \n \n`, $5 = `\n\n dock\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n`, z5 = `\n\n drawLine\n \n \n \n \n`, I5 = `\n\n drawPoint\n \n \n \n \n`, N5 = `\n\n drawPolygon\n \n \n \n \n`, O5 = `\n\n drawTrash\n \n \n \n \n`, H5 = `\n\n fitWindow\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n`, B5 = `\n\n fullScreen\n \n \n \n \n \n \n \n \n \n \n \n`, j5 = 'DataPortal-Icons', U5 = `\n\n magnifyingGlass\n \n \n \n \n \n \n \n \n \n \n \n`, G5 = `Created by Wahyu Prihantorofrom the Noun Project`, V5 = `\n\n openMap\n \n \n \n \n \n \n \n`, q5 = `\n\n Artboard Copy 6\n \n \n \n \n \n \n \n`, W5 = `\n\n permalink\n \n \n \n \n \n`, Z5 = `\n\n play\n \n \n \n \n \n \n \n \n`, Y5 = `\n\n resetZoom\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n`, X5 = `\n\n singlepanel\n \n \n \n \n \n ?\n \n \n \n \n \n`, K5 = `\n\n tooltips\n \n \n \n \n \n ?\n \n \n \n`, J5 = `\n\n undock\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n`, Q5 = `\n\n zoomIn\n \n \n \n \n \n \n \n \n \n \n \n \n \n`, eC = `\n\n zoomOut\n \n \n \n \n \n \n \n \n \n \n \n \n`, tC = (e, t, r, n) => {\n const a = [\"title\", \"desc\", \"defs\", \"style\"], i = [\"width\", \"height\"], o = n || [];\n let l = document.createElement(\"div\");\n l.innerHTML = e, a.map((u) => {\n const f = l.querySelector(u);\n f && f.remove();\n }), i.map((u) => {\n l.querySelector(\"svg\").removeAttribute(u);\n }), n && o.map((u) => {\n Object.values(l.querySelectorAll(`[${u}]`)).map((f) => {\n f.removeAttribute(u);\n });\n });\n const s = l.innerHTML;\n return l = null, s;\n}, rC = (e) => [\n // Remove XML stuffs and comments\n [/<\\?xml[\\s\\S]*?>/gi, \"\"],\n [//gi, \"\"],\n [//gi, \"\"],\n // SVG XML -> HTML5\n [/\\<([A-Za-z]+)([^\\>]*)\\/\\>/g, \"<$1$2>\"],\n // convert self-closing XML SVG nodes to explicitly closed HTML5 SVG nodes\n [/\\s+/g, \" \"],\n // replace whitespace sequences with a single space\n [/\\> \\<\"]\n // remove whitespace between tags\n].reduce((t, r) => \"\".replace.apply(t, r), e).trim(), fB = !0, cB = !0, dB = [\"fill\"], ry = /* @__PURE__ */ Object.assign({\n \"/assets/icons/2horpanel.svg\": w5,\n \"/assets/icons/2vertpanel.svg\": T5,\n \"/assets/icons/3panel.svg\": k5,\n \"/assets/icons/4panel.svg\": A5,\n \"/assets/icons/5panel.svg\": M5,\n \"/assets/icons/6panel.svg\": S5,\n \"/assets/icons/6panelVertical.svg\": C5,\n \"/assets/icons/changeBckgd.svg\": L5,\n \"/assets/icons/close-no-bk.svg\": D5,\n \"/assets/icons/close.svg\": E5,\n \"/assets/icons/closeFullScreen.svg\": F5,\n \"/assets/icons/comment.svg\": R5,\n \"/assets/icons/connection.svg\": P5,\n \"/assets/icons/dock.svg\": $5,\n \"/assets/icons/drawLine.svg\": z5,\n \"/assets/icons/drawPoint.svg\": I5,\n \"/assets/icons/drawPolygon.svg\": N5,\n \"/assets/icons/drawTrash.svg\": O5,\n \"/assets/icons/fitWindow.svg\": H5,\n \"/assets/icons/fullScreen.svg\": B5,\n \"/assets/icons/help.svg\": j5,\n \"/assets/icons/magnifyingGlass.svg\": U5,\n \"/assets/icons/noun-filter.svg\": G5,\n \"/assets/icons/openMap.svg\": V5,\n \"/assets/icons/pause.svg\": q5,\n \"/assets/icons/permalink.svg\": W5,\n \"/assets/icons/play.svg\": Z5,\n \"/assets/icons/resetZoom.svg\": Y5,\n \"/assets/icons/singlepanel.svg\": X5,\n \"/assets/icons/tooltips.svg\": K5,\n \"/assets/icons/undock.svg\": J5,\n \"/assets/icons/zoomIn.svg\": Q5,\n \"/assets/icons/zoomOut.svg\": eC\n}), hB = Object.keys(ry).map((e) => {\n const t = tC(ry[e], fB, cB, dB), r = e.replace(/^.+\\/(\\w+).svg$/, \"$1\");\n return rC(t).replace(\"\", \"symbol>\");\n});\nhB.join(`\n`);\nconst ny = /* @__PURE__ */ Object.assign({\n \"/assets/icons/2horpanel.svg\": w5,\n \"/assets/icons/2vertpanel.svg\": T5,\n \"/assets/icons/3panel.svg\": k5,\n \"/assets/icons/4panel.svg\": A5,\n \"/assets/icons/5panel.svg\": M5,\n \"/assets/icons/6panel.svg\": S5,\n \"/assets/icons/6panelVertical.svg\": C5,\n \"/assets/icons/changeBckgd.svg\": L5,\n \"/assets/icons/close-no-bk.svg\": D5,\n \"/assets/icons/close.svg\": E5,\n \"/assets/icons/closeFullScreen.svg\": F5,\n \"/assets/icons/comment.svg\": R5,\n \"/assets/icons/connection.svg\": P5,\n \"/assets/icons/dock.svg\": $5,\n \"/assets/icons/drawLine.svg\": z5,\n \"/assets/icons/drawPoint.svg\": I5,\n \"/assets/icons/drawPolygon.svg\": N5,\n \"/assets/icons/drawTrash.svg\": O5,\n \"/assets/icons/fitWindow.svg\": H5,\n \"/assets/icons/fullScreen.svg\": B5,\n \"/assets/icons/help.svg\": j5,\n \"/assets/icons/magnifyingGlass.svg\": U5,\n \"/assets/icons/noun-filter.svg\": G5,\n \"/assets/icons/openMap.svg\": V5,\n \"/assets/icons/pause.svg\": q5,\n \"/assets/icons/permalink.svg\": W5,\n \"/assets/icons/play.svg\": Z5,\n \"/assets/icons/resetZoom.svg\": Y5,\n \"/assets/icons/singlepanel.svg\": X5,\n \"/assets/icons/tooltips.svg\": K5,\n \"/assets/icons/undock.svg\": J5,\n \"/assets/icons/zoomIn.svg\": Q5,\n \"/assets/icons/zoomOut.svg\": eC\n}), vB = Object.keys(ny).map((e) => {\n const t = tC(ny[e]), r = e.replace(/^.+\\/(\\w+).svg$/, \"$1\");\n return rC(t).replace(\"\", \"symbol>\");\n}), pB = {\n name: \"MapSvgSpriteColor\",\n svgContext: ny,\n svgSprite: vB.join(`\n`)\n // concatenate all symbols into $options.svgSprite\n}, mB = [\"innerHTML\"];\nfunction gB(e, t, r, n, a, i) {\n return At(), Xt(\"svg\", {\n width: \"0\",\n height: \"0\",\n style: { display: \"none\" },\n innerHTML: e.$options.svgSprite\n }, null, 8, mB);\n}\nconst yB = /* @__PURE__ */ x5(pB, [[\"render\", gB]]), np = (e, t) => {\n const r = e.__vccOpts || e;\n for (const [n, a] of t)\n r[n] = a;\n return r;\n}, bB = {\n name: \"PlotControls\",\n components: {\n MapSvgSpriteColor: yB,\n MapSvgIcon: uB,\n ElSelect: Vu,\n ElOption: qu,\n ElCollapse: g5,\n ElCollapseItem: y5,\n ElButton: Gc,\n ElPopover: z1\n },\n props: {\n parentElement: {\n type: Object,\n required: !0\n },\n controlsEnabled: {\n type: Boolean,\n required: !0\n }\n },\n data: function() {\n return {\n hoverVisibilities: [{ value: !1 }, { value: !1 }, { value: !1 }, { value: !1 }, { value: !1 }],\n zoomSelect: [\n {\n value: \"1\",\n label: \"100%\"\n }\n ],\n selectZoom: \"100%\",\n zoom: 100,\n maxZoom: 800,\n zoomInDisabled: !1,\n zoomOutDisabled: !0\n };\n },\n methods: {\n // zoomIn: Find and click the plotly modebar 'zoom in'\n zoomIn: function() {\n this.zoom += 100, this.parentElement.element.querySelector('a[data-attr=\"zoom\"][data-val=\"in\"]').click(), this.setDisabledButtons(this.zoom), this.updateZoomSelect(this.zoom);\n },\n // zoomOut: Find and click the plotly modebar 'zoom out'\n zoomOut: function() {\n this.zoom -= 100, this.parentElement.element.querySelector('a[data-attr=\"zoom\"][data-val=\"out\"]').click(), this.setDisabledButtons(this.zoom), this.updateZoomSelect(this.zoom);\n },\n // setDisabledButtons(zoomLevel): Disable buttons once they hit max zoom\n setDisabledButtons(e) {\n e >= this.maxZoom ? this.zoomInDisabled = !0 : this.zoomInDisabled = !1, e <= 0 ? this.zoomOutDisabled = !0 : this.zoomOutDisabled = !1;\n },\n resetView: function() {\n this.zoom = 100, this.parentElement.element.querySelector('a[data-attr=\"zoom\"][data-val=\"reset\"]').click(), this.setDisabledButtons(this.zoom), this.updateZoomSelect(this.zoom);\n },\n percentToNum(e) {\n return Number(e.slice(0, -1));\n },\n selectZoomChange: function(e) {\n if (e === \"100%\") {\n this.resetView();\n return;\n }\n let t = this.percentToNum(e), r = Math.round((t - this.zoom) / 100);\n for (let n = 0; n < Math.abs(r); n++)\n r > 0 ? this.zoomIn() : this.zoomOut();\n this.updateZoomSelect(t);\n },\n updateZoomSelect(e) {\n this.selectZoom = String(e) + \"%\";\n },\n createZoomPercentages: function() {\n this.zoomSelect = [];\n for (let e = 0; e <= this.maxZoom / 100; e++)\n this.zoomSelect.push({\n value: e,\n label: (e + 1) * 100 + \"%\"\n });\n },\n setHelpMode: function(e) {\n e ? (this.inHelp = !0, this.hoverVisibilities.forEach((t) => {\n t.value = !0;\n })) : (this.inHelp = !1, this.hoverVisibilities.forEach((t) => {\n t.value = !1;\n }));\n },\n showToolitip: function(e) {\n this.inHelp || (this.hoverVisibilities[e].value = !0, this.tooltipWait = setTimeout(() => {\n this.hoverVisibilities[e].value = !0;\n }, 1e3));\n },\n hideToolitip: function(e) {\n this.inHelp || (this.hoverVisibilities[e].value = !1, clearInterval(this.tooltipWait));\n },\n handleWheel: function(e) {\n let t = Math.round(e.deltaY / 7);\n this.zoom = this.zoom - t, this.updateZoomSelect(this.zoom);\n }\n },\n mounted: function() {\n this.createZoomPercentages(), setTimeout(() => {\n this.parentElement.element.addEventListener(\"wheel\", this.handleWheel);\n }, 1e3);\n },\n beforeUnmount: function() {\n this.parentElement.element.removeEventListener(\"wheel\", this.handleWheel);\n }\n}, _B = { class: \"container\" };\nfunction xB(e, t, r, n, a, i) {\n const o = uo(\"map-svg-sprite-color\"), l = uo(\"map-svg-icon\"), s = z1, u = qu, f = Vu;\n return At(), Xt(\"div\", _B, [\n Ar(o),\n cr(\"div\", {\n ref: \"zoomControls\",\n class: Vt([{ inactive: !r.controlsEnabled }, \"bottom-right-control\"])\n }, [\n Ar(s, {\n modelValue: e.hoverVisibilities[0].value,\n \"onUpdate:modelValue\": t[3] || (t[3] = (d) => e.hoverVisibilities[0].value = d),\n content: \"Zoom in\",\n placement: \"left\",\n teleported: !1,\n trigger: \"manual\",\n \"popper-class\": \"plot-popper\"\n }, {\n reference: ir(() => [\n Ar(l, {\n icon: \"zoomIn\",\n class: \"icon-button zoomIn\",\n onClick: t[0] || (t[0] = (d) => i.zoomIn()),\n onMouseover: t[1] || (t[1] = (d) => i.showToolitip(0)),\n onMouseout: t[2] || (t[2] = (d) => i.hideToolitip(0))\n })\n ]),\n _: 1\n }, 8, [\"modelValue\"]),\n Ar(s, {\n modelValue: e.hoverVisibilities[1].value,\n \"onUpdate:modelValue\": t[7] || (t[7] = (d) => e.hoverVisibilities[1].value = d),\n content: \"Zoom out\",\n placement: \"top-end\",\n teleported: !1,\n trigger: \"manual\",\n \"popper-class\": \"plot-popper popper-zoomout\"\n }, {\n reference: ir(() => [\n Ar(l, {\n icon: \"zoomOut\",\n class: \"icon-button zoomOut\",\n onClick: t[4] || (t[4] = (d) => i.zoomOut()),\n onMouseover: t[5] || (t[5] = (d) => i.showToolitip(1)),\n onMouseout: t[6] || (t[6] = (d) => i.hideToolitip(1))\n })\n ]),\n _: 1\n }, 8, [\"modelValue\"]),\n Ar(f, {\n size: \"small\",\n modelValue: e.selectZoom,\n \"onUpdate:modelValue\": t[8] || (t[8] = (d) => e.selectZoom = d),\n placeholder: \"100%\",\n class: \"zoomSelect\",\n onChange: i.selectZoomChange\n }, {\n default: ir(() => [\n (At(!0), Xt(wo, null, xu(e.zoomSelect, (d) => (At(), kr(u, {\n key: d.value,\n label: d.label,\n value: d.label\n }, null, 8, [\"label\", \"value\"]))), 128))\n ]),\n _: 1\n }, 8, [\"modelValue\", \"onChange\"]),\n Ar(s, {\n modelValue: e.hoverVisibilities[2].value,\n \"onUpdate:modelValue\": t[12] || (t[12] = (d) => e.hoverVisibilities[2].value = d),\n content: \"Reset\",\n placement: \"top\",\n teleported: !1,\n trigger: \"manual\",\n \"popper-class\": \"plot-popper\"\n }, {\n reference: ir(() => [\n Ar(l, {\n icon: \"resetZoom\",\n class: \"icon-button resetView\",\n onClick: t[9] || (t[9] = (d) => i.resetView()),\n onMouseover: t[10] || (t[10] = (d) => i.showToolitip(2)),\n onMouseout: t[11] || (t[11] = (d) => i.hideToolitip(2))\n })\n ]),\n _: 1\n }, 8, [\"modelValue\"])\n ], 2)\n ]);\n}\nconst qc = /* @__PURE__ */ np(bB, [[\"render\", xB], [\"__scopeId\", \"data-v-2ec1d0d2\"]]);\nvar nC = {}, ap = {};\nap.version = \"2.28.0\";\nvar wB = { exports: {} };\n/*! Native Promise Only\n v0.8.1 (c) Kyle Simpson\n MIT License: http://getify.mit-license.org\n*/\n(function(e) {\n (function(r, n, a) {\n n[r] = n[r] || a(), e.exports && (e.exports = n[r]);\n })(\"Promise\", Wl, function() {\n var r, n, a, i = Object.prototype.toString, o = typeof setImmediate < \"u\" ? function(k) {\n return setImmediate(k);\n } : setTimeout;\n try {\n Object.defineProperty({}, \"x\", {}), r = function(k, x, _, T) {\n return Object.defineProperty(k, x, {\n value: _,\n writable: !0,\n configurable: T !== !1\n });\n };\n } catch {\n r = function(x, _, T) {\n return x[_] = T, x;\n };\n }\n a = /* @__PURE__ */ function() {\n var k, x, _;\n function T(S, M) {\n this.fn = S, this.self = M, this.next = void 0;\n }\n return {\n add: function(M, L) {\n _ = new T(M, L), x ? x.next = _ : k = _, x = _, _ = void 0;\n },\n drain: function() {\n var M = k;\n for (k = x = n = void 0; M; )\n M.fn.call(M.self), M = M.next;\n }\n };\n }();\n function l(w, k) {\n a.add(w, k), n || (n = o(a.drain));\n }\n function s(w) {\n var k, x = typeof w;\n return w != null && (x == \"object\" || x == \"function\") && (k = w.then), typeof k == \"function\" ? k : !1;\n }\n function u() {\n for (var w = 0; w < this.chain.length; w++)\n f(\n this,\n this.state === 1 ? this.chain[w].success : this.chain[w].failure,\n this.chain[w]\n );\n this.chain.length = 0;\n }\n function f(w, k, x) {\n var _, T;\n try {\n k === !1 ? x.reject(w.msg) : (k === !0 ? _ = w.msg : _ = k.call(void 0, w.msg), _ === x.promise ? x.reject(TypeError(\"Promise-chain cycle\")) : (T = s(_)) ? T.call(_, x.resolve, x.reject) : x.resolve(_));\n } catch (S) {\n x.reject(S);\n }\n }\n function d(w) {\n var k, x = this;\n if (!x.triggered) {\n x.triggered = !0, x.def && (x = x.def);\n try {\n (k = s(w)) ? l(function() {\n var _ = new v(x);\n try {\n k.call(\n w,\n function() {\n d.apply(_, arguments);\n },\n function() {\n h.apply(_, arguments);\n }\n );\n } catch (T) {\n h.call(_, T);\n }\n }) : (x.msg = w, x.state = 1, x.chain.length > 0 && l(u, x));\n } catch (_) {\n h.call(new v(x), _);\n }\n }\n }\n function h(w) {\n var k = this;\n k.triggered || (k.triggered = !0, k.def && (k = k.def), k.msg = w, k.state = 2, k.chain.length > 0 && l(u, k));\n }\n function p(w, k, x, _) {\n for (var T = 0; T < k.length; T++)\n (function(M) {\n w.resolve(k[M]).then(\n function(F) {\n x(M, F);\n },\n _\n );\n })(T);\n }\n function v(w) {\n this.def = w, this.triggered = !1;\n }\n function m(w) {\n this.promise = w, this.state = 0, this.triggered = !1, this.chain = [], this.msg = void 0;\n }\n function g(w) {\n if (typeof w != \"function\")\n throw TypeError(\"Not a function\");\n if (this.__NPO__ !== 0)\n throw TypeError(\"Not a promise\");\n this.__NPO__ = 1;\n var k = new m(this);\n this.then = function(_, T) {\n var S = {\n success: typeof _ == \"function\" ? _ : !0,\n failure: typeof T == \"function\" ? T : !1\n };\n return S.promise = new this.constructor(function(L, F) {\n if (typeof L != \"function\" || typeof F != \"function\")\n throw TypeError(\"Not a function\");\n S.resolve = L, S.reject = F;\n }), k.chain.push(S), k.state !== 0 && l(u, k), S.promise;\n }, this.catch = function(_) {\n return this.then(void 0, _);\n };\n try {\n w.call(\n void 0,\n function(_) {\n d.call(k, _);\n },\n function(_) {\n h.call(k, _);\n }\n );\n } catch (x) {\n h.call(k, x);\n }\n }\n var y = r(\n {},\n \"constructor\",\n g,\n /*configurable=*/\n !1\n );\n return g.prototype = y, r(\n y,\n \"__NPO__\",\n 0,\n /*configurable=*/\n !1\n ), r(g, \"resolve\", function(k) {\n var x = this;\n return k && typeof k == \"object\" && k.__NPO__ === 1 ? k : new x(function(T, S) {\n if (typeof T != \"function\" || typeof S != \"function\")\n throw TypeError(\"Not a function\");\n T(k);\n });\n }), r(g, \"reject\", function(k) {\n return new this(function(_, T) {\n if (typeof _ != \"function\" || typeof T != \"function\")\n throw TypeError(\"Not a function\");\n T(k);\n });\n }), r(g, \"all\", function(k) {\n var x = this;\n return i.call(k) != \"[object Array]\" ? x.reject(TypeError(\"Not an array\")) : k.length === 0 ? x.resolve([]) : new x(function(T, S) {\n if (typeof T != \"function\" || typeof S != \"function\")\n throw TypeError(\"Not a function\");\n var M = k.length, L = Array(M), F = 0;\n p(x, k, function(I, O) {\n L[I] = O, ++F === M && T(L);\n }, S);\n });\n }), r(g, \"race\", function(k) {\n var x = this;\n return i.call(k) != \"[object Array]\" ? x.reject(TypeError(\"Not an array\")) : new x(function(T, S) {\n if (typeof T != \"function\" || typeof S != \"function\")\n throw TypeError(\"Not a function\");\n p(x, k, function(L, F) {\n T(F);\n }, S);\n });\n }), g;\n });\n})(wB);\nvar aC = { exports: {} }, iC = { exports: {} };\n(function(e) {\n (function() {\n var t = {\n version: \"3.8.0\"\n }, r = [].slice, n = function(c) {\n return r.call(c);\n }, a = self.document;\n function i(c) {\n return c && (c.ownerDocument || c.document || c).documentElement;\n }\n function o(c) {\n return c && (c.ownerDocument && c.ownerDocument.defaultView || c.document && c || c.defaultView);\n }\n if (a)\n try {\n n(a.documentElement.childNodes)[0].nodeType;\n } catch {\n n = function(b) {\n for (var A = b.length, C = new Array(A); A--; ) C[A] = b[A];\n return C;\n };\n }\n if (Date.now || (Date.now = function() {\n return +/* @__PURE__ */ new Date();\n }), a)\n try {\n a.createElement(\"DIV\").style.setProperty(\"opacity\", 0, \"\");\n } catch {\n var l = this.Element.prototype, s = l.setAttribute, u = l.setAttributeNS, f = this.CSSStyleDeclaration.prototype, d = f.setProperty;\n l.setAttribute = function(b, A) {\n s.call(this, b, A + \"\");\n }, l.setAttributeNS = function(b, A, C) {\n u.call(this, b, A, C + \"\");\n }, f.setProperty = function(b, A, C) {\n d.call(this, b, A + \"\", C);\n };\n }\n t.ascending = h;\n function h(c, b) {\n return c < b ? -1 : c > b ? 1 : c >= b ? 0 : NaN;\n }\n t.descending = function(c, b) {\n return b < c ? -1 : b > c ? 1 : b >= c ? 0 : NaN;\n }, t.min = function(c, b) {\n var A = -1, C = c.length, D, E;\n if (arguments.length === 1) {\n for (; ++A < C; ) if ((E = c[A]) != null && E >= E) {\n D = E;\n break;\n }\n for (; ++A < C; ) (E = c[A]) != null && D > E && (D = E);\n } else {\n for (; ++A < C; ) if ((E = b.call(c, c[A], A)) != null && E >= E) {\n D = E;\n break;\n }\n for (; ++A < C; ) (E = b.call(c, c[A], A)) != null && D > E && (D = E);\n }\n return D;\n }, t.max = function(c, b) {\n var A = -1, C = c.length, D, E;\n if (arguments.length === 1) {\n for (; ++A < C; ) if ((E = c[A]) != null && E >= E) {\n D = E;\n break;\n }\n for (; ++A < C; ) (E = c[A]) != null && E > D && (D = E);\n } else {\n for (; ++A < C; ) if ((E = b.call(c, c[A], A)) != null && E >= E) {\n D = E;\n break;\n }\n for (; ++A < C; ) (E = b.call(c, c[A], A)) != null && E > D && (D = E);\n }\n return D;\n }, t.extent = function(c, b) {\n var A = -1, C = c.length, D, E, q;\n if (arguments.length === 1) {\n for (; ++A < C; ) if ((E = c[A]) != null && E >= E) {\n D = q = E;\n break;\n }\n for (; ++A < C; ) (E = c[A]) != null && (D > E && (D = E), q < E && (q = E));\n } else {\n for (; ++A < C; ) if ((E = b.call(c, c[A], A)) != null && E >= E) {\n D = q = E;\n break;\n }\n for (; ++A < C; ) (E = b.call(c, c[A], A)) != null && (D > E && (D = E), q < E && (q = E));\n }\n return [D, q];\n };\n function p(c) {\n return c === null ? NaN : +c;\n }\n function v(c) {\n return !isNaN(c);\n }\n t.sum = function(c, b) {\n var A = 0, C = c.length, D, E = -1;\n if (arguments.length === 1)\n for (; ++E < C; ) v(D = +c[E]) && (A += D);\n else\n for (; ++E < C; ) v(D = +b.call(c, c[E], E)) && (A += D);\n return A;\n }, t.mean = function(c, b) {\n var A = 0, C = c.length, D, E = -1, q = C;\n if (arguments.length === 1)\n for (; ++E < C; ) v(D = p(c[E])) ? A += D : --q;\n else\n for (; ++E < C; ) v(D = p(b.call(c, c[E], E))) ? A += D : --q;\n if (q) return A / q;\n }, t.quantile = function(c, b) {\n var A = (c.length - 1) * b + 1, C = Math.floor(A), D = +c[C - 1], E = A - C;\n return E ? D + E * (c[C] - D) : D;\n }, t.median = function(c, b) {\n var A = [], C = c.length, D, E = -1;\n if (arguments.length === 1)\n for (; ++E < C; ) v(D = p(c[E])) && A.push(D);\n else\n for (; ++E < C; ) v(D = p(b.call(c, c[E], E))) && A.push(D);\n if (A.length) return t.quantile(A.sort(h), 0.5);\n }, t.variance = function(c, b) {\n var A = c.length, C = 0, D, E, q = 0, N = -1, Y = 0;\n if (arguments.length === 1)\n for (; ++N < A; )\n v(D = p(c[N])) && (E = D - C, C += E / ++Y, q += E * (D - C));\n else\n for (; ++N < A; )\n v(D = p(b.call(c, c[N], N))) && (E = D - C, C += E / ++Y, q += E * (D - C));\n if (Y > 1) return q / (Y - 1);\n }, t.deviation = function() {\n var c = t.variance.apply(this, arguments);\n return c && Math.sqrt(c);\n };\n function m(c) {\n return {\n left: function(b, A, C, D) {\n for (arguments.length < 3 && (C = 0), arguments.length < 4 && (D = b.length); C < D; ) {\n var E = C + D >>> 1;\n c(b[E], A) < 0 ? C = E + 1 : D = E;\n }\n return C;\n },\n right: function(b, A, C, D) {\n for (arguments.length < 3 && (C = 0), arguments.length < 4 && (D = b.length); C < D; ) {\n var E = C + D >>> 1;\n c(b[E], A) > 0 ? D = E : C = E + 1;\n }\n return C;\n }\n };\n }\n var g = m(h);\n t.bisectLeft = g.left, t.bisect = t.bisectRight = g.right, t.bisector = function(c) {\n return m(c.length === 1 ? function(b, A) {\n return h(c(b), A);\n } : c);\n }, t.shuffle = function(c, b, A) {\n (C = arguments.length) < 3 && (A = c.length, C < 2 && (b = 0));\n for (var C = A - b, D, E; C; )\n E = Math.random() * C-- | 0, D = c[C + b], c[C + b] = c[E + b], c[E + b] = D;\n return c;\n }, t.permute = function(c, b) {\n for (var A = b.length, C = new Array(A); A--; ) C[A] = c[b[A]];\n return C;\n }, t.pairs = function(c) {\n for (var b = 0, A = c.length - 1, C = c[0], D = new Array(A < 0 ? 0 : A); b < A; ) D[b] = [C, C = c[++b]];\n return D;\n }, t.transpose = function(c) {\n if (!(E = c.length)) return [];\n for (var b = -1, A = t.min(c, y), C = new Array(A); ++b < A; )\n for (var D = -1, E, q = C[b] = new Array(E); ++D < E; )\n q[D] = c[D][b];\n return C;\n };\n function y(c) {\n return c.length;\n }\n t.zip = function() {\n return t.transpose(arguments);\n }, t.keys = function(c) {\n var b = [];\n for (var A in c) b.push(A);\n return b;\n }, t.values = function(c) {\n var b = [];\n for (var A in c) b.push(c[A]);\n return b;\n }, t.entries = function(c) {\n var b = [];\n for (var A in c) b.push({\n key: A,\n value: c[A]\n });\n return b;\n }, t.merge = function(c) {\n for (var b = c.length, A, C = -1, D = 0, E, q; ++C < b; ) D += c[C].length;\n for (E = new Array(D); --b >= 0; )\n for (q = c[b], A = q.length; --A >= 0; )\n E[--D] = q[A];\n return E;\n };\n var w = Math.abs;\n t.range = function(c, b, A) {\n if (arguments.length < 3 && (A = 1, arguments.length < 2 && (b = c, c = 0)), (b - c) / A === 1 / 0) throw new Error(\"infinite range\");\n var C = [], D = k(w(A)), E = -1, q;\n if (c *= D, b *= D, A *= D, A < 0) for (; (q = c + A * ++E) > b; ) C.push(q / D);\n else for (; (q = c + A * ++E) < b; ) C.push(q / D);\n return C;\n };\n function k(c) {\n for (var b = 1; c * b % 1; ) b *= 10;\n return b;\n }\n function x(c, b) {\n for (var A in b)\n Object.defineProperty(c.prototype, A, {\n value: b[A],\n enumerable: !1\n });\n }\n t.map = function(c, b) {\n var A = new _();\n if (c instanceof _)\n c.forEach(function(N, Y) {\n A.set(N, Y);\n });\n else if (Array.isArray(c)) {\n var C = -1, D = c.length, E;\n if (arguments.length === 1) for (; ++C < D; ) A.set(C, c[C]);\n else for (; ++C < D; ) A.set(b.call(c, E = c[C], C), E);\n } else\n for (var q in c) A.set(q, c[q]);\n return A;\n };\n function _() {\n this._ = /* @__PURE__ */ Object.create(null);\n }\n var T = \"__proto__\", S = \"\\0\";\n x(_, {\n has: F,\n get: function(c) {\n return this._[M(c)];\n },\n set: function(c, b) {\n return this._[M(c)] = b;\n },\n remove: $,\n keys: I,\n values: function() {\n var c = [];\n for (var b in this._) c.push(this._[b]);\n return c;\n },\n entries: function() {\n var c = [];\n for (var b in this._) c.push({\n key: L(b),\n value: this._[b]\n });\n return c;\n },\n size: O,\n empty: G,\n forEach: function(c) {\n for (var b in this._) c.call(this, L(b), this._[b]);\n }\n });\n function M(c) {\n return (c += \"\") === T || c[0] === S ? S + c : c;\n }\n function L(c) {\n return (c += \"\")[0] === S ? c.slice(1) : c;\n }\n function F(c) {\n return M(c) in this._;\n }\n function $(c) {\n return (c = M(c)) in this._ && delete this._[c];\n }\n function I() {\n var c = [];\n for (var b in this._) c.push(L(b));\n return c;\n }\n function O() {\n var c = 0;\n for (var b in this._) ++c;\n return c;\n }\n function G() {\n for (var c in this._) return !1;\n return !0;\n }\n t.nest = function() {\n var c = {}, b = [], A = [], C, D;\n function E(N, Y, te) {\n if (te >= b.length) return D ? D.call(c, Y) : C ? Y.sort(C) : Y;\n for (var ne = -1, ce = Y.length, de = b[te++], Te, Ae, he, ye = new _(), be; ++ne < ce; )\n (be = ye.get(Te = de(Ae = Y[ne]))) ? be.push(Ae) : ye.set(Te, [Ae]);\n return N ? (Ae = N(), he = function(Se, De) {\n Ae.set(Se, E(N, De, te));\n }) : (Ae = {}, he = function(Se, De) {\n Ae[Se] = E(N, De, te);\n }), ye.forEach(he), Ae;\n }\n function q(N, Y) {\n if (Y >= b.length) return N;\n var te = [], ne = A[Y++];\n return N.forEach(function(ce, de) {\n te.push({\n key: ce,\n values: q(de, Y)\n });\n }), ne ? te.sort(function(ce, de) {\n return ne(ce.key, de.key);\n }) : te;\n }\n return c.map = function(N, Y) {\n return E(Y, N, 0);\n }, c.entries = function(N) {\n return q(E(t.map, N, 0), 0);\n }, c.key = function(N) {\n return b.push(N), c;\n }, c.sortKeys = function(N) {\n return A[b.length - 1] = N, c;\n }, c.sortValues = function(N) {\n return C = N, c;\n }, c.rollup = function(N) {\n return D = N, c;\n }, c;\n }, t.set = function(c) {\n var b = new K();\n if (c) for (var A = 0, C = c.length; A < C; ++A) b.add(c[A]);\n return b;\n };\n function K() {\n this._ = /* @__PURE__ */ Object.create(null);\n }\n x(K, {\n has: F,\n add: function(c) {\n return this._[M(c += \"\")] = !0, c;\n },\n remove: $,\n values: I,\n size: O,\n empty: G,\n forEach: function(c) {\n for (var b in this._) c.call(this, L(b));\n }\n }), t.behavior = {};\n function V(c) {\n return c;\n }\n t.rebind = function(c, b) {\n for (var A = 1, C = arguments.length, D; ++A < C; ) c[D = arguments[A]] = z(c, b, b[D]);\n return c;\n };\n function z(c, b, A) {\n return function() {\n var C = A.apply(b, arguments);\n return C === b ? c : C;\n };\n }\n function P(c, b) {\n if (b in c) return b;\n b = b.charAt(0).toUpperCase() + b.slice(1);\n for (var A = 0, C = R.length; A < C; ++A) {\n var D = R[A] + b;\n if (D in c) return D;\n }\n }\n var R = [\"webkit\", \"ms\", \"moz\", \"Moz\", \"o\", \"O\"];\n function H() {\n }\n t.dispatch = function() {\n for (var c = new B(), b = -1, A = arguments.length; ++b < A; ) c[arguments[b]] = W(c);\n return c;\n };\n function B() {\n }\n B.prototype.on = function(c, b) {\n var A = c.indexOf(\".\"), C = \"\";\n if (A >= 0 && (C = c.slice(A + 1), c = c.slice(0, A)), c) return arguments.length < 2 ? this[c].on(C) : this[c].on(C, b);\n if (arguments.length === 2) {\n if (b == null) for (c in this)\n this.hasOwnProperty(c) && this[c].on(C, null);\n return this;\n }\n };\n function W(c) {\n var b = [], A = new _();\n function C() {\n for (var D = b, E = -1, q = D.length, N; ++E < q; ) (N = D[E].on) && N.apply(this, arguments);\n return c;\n }\n return C.on = function(D, E) {\n var q = A.get(D), N;\n return arguments.length < 2 ? q && q.on : (q && (q.on = null, b = b.slice(0, N = b.indexOf(q)).concat(b.slice(N + 1)), A.remove(D)), E && b.push(A.set(D, {\n on: E\n })), c);\n }, C;\n }\n t.event = null;\n function ee() {\n t.event.preventDefault();\n }\n function re() {\n for (var c = t.event, b; b = c.sourceEvent; ) c = b;\n return c;\n }\n function ae(c) {\n for (var b = new B(), A = 0, C = arguments.length; ++A < C; ) b[arguments[A]] = W(b);\n return b.of = function(D, E) {\n return function(q) {\n try {\n var N = q.sourceEvent = t.event;\n q.target = c, t.event = q, b[q.type].apply(D, E);\n } finally {\n t.event = N;\n }\n };\n }, b;\n }\n t.requote = function(c) {\n return c.replace(Q, \"\\\\$&\");\n };\n var Q = /[\\\\\\^\\$\\*\\+\\?\\|\\[\\]\\(\\)\\.\\{\\}]/g, ue = {}.__proto__ ? function(c, b) {\n c.__proto__ = b;\n } : function(c, b) {\n for (var A in b) c[A] = b[A];\n };\n function j(c) {\n return ue(c, J), c;\n }\n var U = function(c, b) {\n return b.querySelector(c);\n }, Z = function(c, b) {\n return b.querySelectorAll(c);\n }, le = function(c, b) {\n var A = c.matches || c[P(c, \"matchesSelector\")];\n return le = function(C, D) {\n return A.call(C, D);\n }, le(c, b);\n };\n typeof Sizzle == \"function\" && (U = function(c, b) {\n return Sizzle(c, b)[0] || null;\n }, Z = Sizzle, le = Sizzle.matchesSelector), t.selection = function() {\n return t.select(a.documentElement);\n };\n var J = t.selection.prototype = [];\n J.select = function(c) {\n var b = [], A, C, D, E;\n c = pe(c);\n for (var q = -1, N = this.length; ++q < N; ) {\n b.push(A = []), A.parentNode = (D = this[q]).parentNode;\n for (var Y = -1, te = D.length; ++Y < te; )\n (E = D[Y]) ? (A.push(C = c.call(E, E.__data__, Y, q)), C && \"__data__\" in E && (C.__data__ = E.__data__)) : A.push(null);\n }\n return j(b);\n };\n function pe(c) {\n return typeof c == \"function\" ? c : function() {\n return U(c, this);\n };\n }\n J.selectAll = function(c) {\n var b = [], A, C;\n c = ge(c);\n for (var D = -1, E = this.length; ++D < E; )\n for (var q = this[D], N = -1, Y = q.length; ++N < Y; )\n (C = q[N]) && (b.push(A = n(c.call(C, C.__data__, N, D))), A.parentNode = C);\n return j(b);\n };\n function ge(c) {\n return typeof c == \"function\" ? c : function() {\n return Z(c, this);\n };\n }\n var ve = \"http://www.w3.org/1999/xhtml\", me = {\n svg: \"http://www.w3.org/2000/svg\",\n xhtml: ve,\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 t.ns = {\n prefix: me,\n qualify: function(c) {\n var b = c.indexOf(\":\"), A = c;\n return b >= 0 && (A = c.slice(0, b)) !== \"xmlns\" && (c = c.slice(b + 1)), me.hasOwnProperty(A) ? {\n space: me[A],\n local: c\n } : c;\n }\n }, J.attr = function(c, b) {\n if (arguments.length < 2) {\n if (typeof c == \"string\") {\n var A = this.node();\n return c = t.ns.qualify(c), c.local ? A.getAttributeNS(c.space, c.local) : A.getAttribute(c);\n }\n for (b in c) this.each(Le(b, c[b]));\n return this;\n }\n return this.each(Le(c, b));\n };\n function Le(c, b) {\n c = t.ns.qualify(c);\n function A() {\n this.removeAttribute(c);\n }\n function C() {\n this.removeAttributeNS(c.space, c.local);\n }\n function D() {\n this.setAttribute(c, b);\n }\n function E() {\n this.setAttributeNS(c.space, c.local, b);\n }\n function q() {\n var Y = b.apply(this, arguments);\n Y == null ? this.removeAttribute(c) : this.setAttribute(c, Y);\n }\n function N() {\n var Y = b.apply(this, arguments);\n Y == null ? this.removeAttributeNS(c.space, c.local) : this.setAttributeNS(c.space, c.local, Y);\n }\n return b == null ? c.local ? C : A : typeof b == \"function\" ? c.local ? N : q : c.local ? E : D;\n }\n function ze(c) {\n return c.trim().replace(/\\s+/g, \" \");\n }\n J.classed = function(c, b) {\n if (arguments.length < 2) {\n if (typeof c == \"string\") {\n var A = this.node(), C = (c = Oe(c)).length, D = -1;\n if (b = A.classList) {\n for (; ++D < C; ) if (!b.contains(c[D])) return !1;\n } else\n for (b = A.getAttribute(\"class\"); ++D < C; ) if (!Fe(c[D]).test(b)) return !1;\n return !0;\n }\n for (b in c) this.each(Re(b, c[b]));\n return this;\n }\n return this.each(Re(c, b));\n };\n function Fe(c) {\n return new RegExp(\"(?:^|\\\\s+)\" + t.requote(c) + \"(?:\\\\s+|$)\", \"g\");\n }\n function Oe(c) {\n return (c + \"\").trim().split(/^|\\s+/);\n }\n function Re(c, b) {\n c = Oe(c).map(We);\n var A = c.length;\n function C() {\n for (var E = -1; ++E < A; ) c[E](this, b);\n }\n function D() {\n for (var E = -1, q = b.apply(this, arguments); ++E < A; ) c[E](this, q);\n }\n return typeof b == \"function\" ? D : C;\n }\n function We(c) {\n var b = Fe(c);\n return function(A, C) {\n if (D = A.classList) return C ? D.add(c) : D.remove(c);\n var D = A.getAttribute(\"class\") || \"\";\n C ? (b.lastIndex = 0, b.test(D) || A.setAttribute(\"class\", ze(D + \" \" + c))) : A.setAttribute(\"class\", ze(D.replace(b, \" \")));\n };\n }\n J.style = function(c, b, A) {\n var C = arguments.length;\n if (C < 3) {\n if (typeof c != \"string\") {\n C < 2 && (b = \"\");\n for (A in c) this.each(Me(A, c[A], b));\n return this;\n }\n if (C < 2) {\n var D = this.node();\n return o(D).getComputedStyle(D, null).getPropertyValue(c);\n }\n A = \"\";\n }\n return this.each(Me(c, b, A));\n };\n function Me(c, b, A) {\n function C() {\n this.style.removeProperty(c);\n }\n function D() {\n this.style.setProperty(c, b, A);\n }\n function E() {\n var q = b.apply(this, arguments);\n q == null ? this.style.removeProperty(c) : this.style.setProperty(c, q, A);\n }\n return b == null ? C : typeof b == \"function\" ? E : D;\n }\n J.property = function(c, b) {\n if (arguments.length < 2) {\n if (typeof c == \"string\") return this.node()[c];\n for (b in c) this.each(Ve(b, c[b]));\n return this;\n }\n return this.each(Ve(c, b));\n };\n function Ve(c, b) {\n function A() {\n delete this[c];\n }\n function C() {\n this[c] = b;\n }\n function D() {\n var E = b.apply(this, arguments);\n E == null ? delete this[c] : this[c] = E;\n }\n return b == null ? A : typeof b == \"function\" ? D : C;\n }\n J.text = function(c) {\n return arguments.length ? this.each(typeof c == \"function\" ? function() {\n var b = c.apply(this, arguments);\n this.textContent = b ?? \"\";\n } : c == null ? function() {\n this.textContent = \"\";\n } : function() {\n this.textContent = c;\n }) : this.node().textContent;\n }, J.html = function(c) {\n return arguments.length ? this.each(typeof c == \"function\" ? function() {\n var b = c.apply(this, arguments);\n this.innerHTML = b ?? \"\";\n } : c == null ? function() {\n this.innerHTML = \"\";\n } : function() {\n this.innerHTML = c;\n }) : this.node().innerHTML;\n }, J.append = function(c) {\n return c = qe(c), this.select(function() {\n return this.appendChild(c.apply(this, arguments));\n });\n };\n function qe(c) {\n function b() {\n var C = this.ownerDocument, D = this.namespaceURI;\n return D === ve && C.documentElement.namespaceURI === ve ? C.createElement(c) : C.createElementNS(D, c);\n }\n function A() {\n return this.ownerDocument.createElementNS(c.space, c.local);\n }\n return typeof c == \"function\" ? c : (c = t.ns.qualify(c)).local ? A : b;\n }\n J.insert = function(c, b) {\n return c = qe(c), b = pe(b), this.select(function() {\n return this.insertBefore(c.apply(this, arguments), b.apply(this, arguments) || null);\n });\n }, J.remove = function() {\n return this.each(Qe);\n };\n function Qe() {\n var c = this.parentNode;\n c && c.removeChild(this);\n }\n J.data = function(c, b) {\n var A = -1, C = this.length, D, E;\n if (!arguments.length) {\n for (c = new Array(C = (D = this[0]).length); ++A < C; )\n (E = D[A]) && (c[A] = E.__data__);\n return c;\n }\n function q(ne, ce) {\n var de, Te = ne.length, Ae = ce.length, he = Math.min(Te, Ae), ye = new Array(Ae), be = new Array(Ae), Se = new Array(Te), De, we;\n if (b) {\n var Ze = new _(), mt = new Array(Te), xt;\n for (de = -1; ++de < Te; )\n (De = ne[de]) && (Ze.has(xt = b.call(De, De.__data__, de)) ? Se[de] = De : Ze.set(xt, De), mt[de] = xt);\n for (de = -1; ++de < Ae; )\n (De = Ze.get(xt = b.call(ce, we = ce[de], de))) ? De !== !0 && (ye[de] = De, De.__data__ = we) : be[de] = ot(we), Ze.set(xt, !0);\n for (de = -1; ++de < Te; )\n de in mt && Ze.get(mt[de]) !== !0 && (Se[de] = ne[de]);\n } else {\n for (de = -1; ++de < he; )\n De = ne[de], we = ce[de], De ? (De.__data__ = we, ye[de] = De) : be[de] = ot(we);\n for (; de < Ae; ++de)\n be[de] = ot(ce[de]);\n for (; de < Te; ++de)\n Se[de] = ne[de];\n }\n be.update = ye, be.parentNode = ye.parentNode = Se.parentNode = ne.parentNode, N.push(be), Y.push(ye), te.push(Se);\n }\n var N = ft([]), Y = j([]), te = j([]);\n if (typeof c == \"function\")\n for (; ++A < C; )\n q(D = this[A], c.call(D, D.parentNode.__data__, A));\n else\n for (; ++A < C; )\n q(D = this[A], c);\n return Y.enter = function() {\n return N;\n }, Y.exit = function() {\n return te;\n }, Y;\n };\n function ot(c) {\n return {\n __data__: c\n };\n }\n J.datum = function(c) {\n return arguments.length ? this.property(\"__data__\", c) : this.property(\"__data__\");\n }, J.filter = function(c) {\n var b = [], A, C, D;\n typeof c != \"function\" && (c = ht(c));\n for (var E = 0, q = this.length; E < q; E++) {\n b.push(A = []), A.parentNode = (C = this[E]).parentNode;\n for (var N = 0, Y = C.length; N < Y; N++)\n (D = C[N]) && c.call(D, D.__data__, N, E) && A.push(D);\n }\n return j(b);\n };\n function ht(c) {\n return function() {\n return le(this, c);\n };\n }\n J.order = function() {\n for (var c = -1, b = this.length; ++c < b; )\n for (var A = this[c], C = A.length - 1, D = A[C], E; --C >= 0; )\n (E = A[C]) && (D && D !== E.nextSibling && D.parentNode.insertBefore(E, D), D = E);\n return this;\n }, J.sort = function(c) {\n c = vt.apply(this, arguments);\n for (var b = -1, A = this.length; ++b < A; ) this[b].sort(c);\n return this.order();\n };\n function vt(c) {\n return arguments.length || (c = h), function(b, A) {\n return b && A ? c(b.__data__, A.__data__) : !b - !A;\n };\n }\n J.each = function(c) {\n return nt(this, function(b, A, C) {\n c.call(b, b.__data__, A, C);\n });\n };\n function nt(c, b) {\n for (var A = 0, C = c.length; A < C; A++)\n for (var D = c[A], E = 0, q = D.length, N; E < q; E++)\n (N = D[E]) && b(N, E, A);\n return c;\n }\n J.call = function(c) {\n var b = n(arguments);\n return c.apply(b[0] = this, b), this;\n }, J.empty = function() {\n return !this.node();\n }, J.node = function() {\n for (var c = 0, b = this.length; c < b; c++)\n for (var A = this[c], C = 0, D = A.length; C < D; C++) {\n var E = A[C];\n if (E) return E;\n }\n return null;\n }, J.size = function() {\n var c = 0;\n return nt(this, function() {\n ++c;\n }), c;\n };\n function ft(c) {\n return ue(c, Pe), c;\n }\n var Pe = [];\n t.selection.enter = ft, t.selection.enter.prototype = Pe, Pe.append = J.append, Pe.empty = J.empty, Pe.node = J.node, Pe.call = J.call, Pe.size = J.size, Pe.select = function(c) {\n for (var b = [], A, C, D, E, q, N = -1, Y = this.length; ++N < Y; ) {\n D = (E = this[N]).update, b.push(A = []), A.parentNode = E.parentNode;\n for (var te = -1, ne = E.length; ++te < ne; )\n (q = E[te]) ? (A.push(D[te] = C = c.call(E.parentNode, q.__data__, te, N)), C.__data__ = q.__data__) : A.push(null);\n }\n return j(b);\n }, Pe.insert = function(c, b) {\n return arguments.length < 2 && (b = Ie(this)), J.insert.call(this, c, b);\n };\n function Ie(c) {\n var b, A;\n return function(C, D, E) {\n var q = c[E].update, N = q.length, Y;\n for (E != A && (A = E, b = 0), D >= b && (b = D + 1); !(Y = q[b]) && ++b < N; ) ;\n return Y;\n };\n }\n t.select = function(c) {\n var b;\n return typeof c == \"string\" ? (b = [U(c, a)], b.parentNode = a.documentElement) : (b = [c], b.parentNode = i(c)), j([b]);\n }, t.selectAll = function(c) {\n var b;\n return typeof c == \"string\" ? (b = n(Z(c, a)), b.parentNode = a.documentElement) : (b = n(c), b.parentNode = null), j([b]);\n }, J.on = function(c, b, A) {\n var C = arguments.length;\n if (C < 3) {\n if (typeof c != \"string\") {\n C < 2 && (b = !1);\n for (A in c) this.each(Ne(A, c[A], b));\n return this;\n }\n if (C < 2) return (C = this.node()[\"__on\" + c]) && C._;\n A = !1;\n }\n return this.each(Ne(c, b, A));\n };\n function Ne(c, b, A) {\n var C = \"__on\" + c, D = c.indexOf(\".\"), E = Je;\n D > 0 && (c = c.slice(0, D));\n var q = tt.get(c);\n q && (c = q, E = it);\n function N() {\n var ne = this[C];\n ne && (this.removeEventListener(c, ne, ne.$), delete this[C]);\n }\n function Y() {\n var ne = E(b, n(arguments));\n N.call(this), this.addEventListener(c, this[C] = ne, ne.$ = A), ne._ = b;\n }\n function te() {\n var ne = new RegExp(\"^__on([^.]+)\" + t.requote(c) + \"$\"), ce;\n for (var de in this)\n if (ce = de.match(ne)) {\n var Te = this[de];\n this.removeEventListener(ce[1], Te, Te.$), delete this[de];\n }\n }\n return D ? b ? Y : N : b ? H : te;\n }\n var tt = t.map({\n mouseenter: \"mouseover\",\n mouseleave: \"mouseout\"\n });\n a && tt.forEach(function(c) {\n \"on\" + c in a && tt.remove(c);\n });\n function Je(c, b) {\n return function(A) {\n var C = t.event;\n t.event = A, b[0] = this.__data__;\n try {\n c.apply(this, b);\n } finally {\n t.event = C;\n }\n };\n }\n function it(c, b) {\n var A = Je(c, b);\n return function(C) {\n var D = this, E = C.relatedTarget;\n (!E || E !== D && !(E.compareDocumentPosition(D) & 8)) && A.call(D, C);\n };\n }\n var at, Tt = 0;\n function gt(c) {\n var b = \".dragsuppress-\" + ++Tt, A = \"click\" + b, C = t.select(o(c)).on(\"touchmove\" + b, ee).on(\"dragstart\" + b, ee).on(\"selectstart\" + b, ee);\n if (at == null && (at = \"onselectstart\" in c ? !1 : P(c.style, \"userSelect\")), at) {\n var D = i(c).style, E = D[at];\n D[at] = \"none\";\n }\n return function(q) {\n if (C.on(b, null), at && (D[at] = E), q) {\n var N = function() {\n C.on(A, null);\n };\n C.on(A, function() {\n ee(), N();\n }, !0), setTimeout(N, 0);\n }\n };\n }\n t.mouse = function(c) {\n return pt(c, re());\n };\n var He = this.navigator && /WebKit/.test(this.navigator.userAgent) ? -1 : 0;\n function pt(c, b) {\n b.changedTouches && (b = b.changedTouches[0]);\n var A = c.ownerSVGElement || c;\n if (A.createSVGPoint) {\n var C = A.createSVGPoint();\n if (He < 0) {\n var D = o(c);\n if (D.scrollX || D.scrollY) {\n A = t.select(\"body\").append(\"svg\").style({\n position: \"absolute\",\n top: 0,\n left: 0,\n margin: 0,\n padding: 0,\n border: \"none\"\n }, \"important\");\n var E = A[0][0].getScreenCTM();\n He = !(E.f || E.e), A.remove();\n }\n }\n return He ? (C.x = b.pageX, C.y = b.pageY) : (C.x = b.clientX, C.y = b.clientY), C = C.matrixTransform(c.getScreenCTM().inverse()), [C.x, C.y];\n }\n var q = c.getBoundingClientRect();\n return [b.clientX - q.left - c.clientLeft, b.clientY - q.top - c.clientTop];\n }\n t.touch = function(c, b, A) {\n if (arguments.length < 3 && (A = b, b = re().changedTouches), b) {\n for (var C = 0, D = b.length, E; C < D; ++C)\n if ((E = b[C]).identifier === A)\n return pt(c, E);\n }\n }, t.behavior.drag = function() {\n var c = ae(D, \"drag\", \"dragstart\", \"dragend\"), b = null, A = E(H, t.mouse, o, \"mousemove\", \"mouseup\"), C = E(bt, t.touch, V, \"touchmove\", \"touchend\");\n function D() {\n this.on(\"mousedown.drag\", A).on(\"touchstart.drag\", C);\n }\n function E(q, N, Y, te, ne) {\n return function() {\n var ce = this, de = t.event.target.correspondingElement || t.event.target, Te = ce.parentNode, Ae = c.of(ce, arguments), he = 0, ye = q(), be = \".drag\" + (ye == null ? \"\" : \"-\" + ye), Se, De = t.select(Y(de)).on(te + be, mt).on(ne + be, xt), we = gt(de), Ze = N(Te, ye);\n b ? (Se = b.apply(ce, arguments), Se = [Se.x - Ze[0], Se.y - Ze[1]]) : Se = [0, 0], Ae({\n type: \"dragstart\"\n });\n function mt() {\n var yt = N(Te, ye), Lt, Dt;\n yt && (Lt = yt[0] - Ze[0], Dt = yt[1] - Ze[1], he |= Lt | Dt, Ze = yt, Ae({\n type: \"drag\",\n x: yt[0] + Se[0],\n y: yt[1] + Se[1],\n dx: Lt,\n dy: Dt\n }));\n }\n function xt() {\n N(Te, ye) && (De.on(te + be, null).on(ne + be, null), we(he), Ae({\n type: \"dragend\"\n }));\n }\n };\n }\n return D.origin = function(q) {\n return arguments.length ? (b = q, D) : b;\n }, t.rebind(D, c, \"on\");\n };\n function bt() {\n return t.event.changedTouches[0].identifier;\n }\n t.touches = function(c, b) {\n return arguments.length < 2 && (b = re().touches), b ? n(b).map(function(A) {\n var C = pt(c, A);\n return C.identifier = A.identifier, C;\n }) : [];\n };\n var Ke = 1e-6, st = Ke * Ke, rt = Math.PI, ct = 2 * rt, X = ct - Ke, se = rt / 2, ie = rt / 180, fe = 180 / rt;\n function ke(c, b, A) {\n return (b[0] - c[0]) * (A[1] - c[1]) - (b[1] - c[1]) * (A[0] - c[0]);\n }\n function _e(c) {\n return c > 1 ? se : c < -1 ? -se : Math.asin(c);\n }\n function Ge(c) {\n return ((c = Math.exp(c)) - 1 / c) / 2;\n }\n function je(c) {\n return ((c = Math.exp(c)) + 1 / c) / 2;\n }\n function Ee(c) {\n return ((c = Math.exp(2 * c)) - 1) / (c + 1);\n }\n var oe = Math.SQRT2, Ce = 2, Be = 4;\n t.interpolateZoom = function(c, b) {\n var A = c[0], C = c[1], D = c[2], E = b[0], q = b[1], N = b[2], Y = E - A, te = q - C, ne = Y * Y + te * te, ce, de;\n if (ne < st)\n de = Math.log(N / D) / oe, ce = function(Se) {\n return [A + Se * Y, C + Se * te, D * Math.exp(oe * Se * de)];\n };\n else {\n var Te = Math.sqrt(ne), Ae = (N * N - D * D + Be * ne) / (2 * D * Ce * Te), he = (N * N - D * D - Be * ne) / (2 * N * Ce * Te), ye = Math.log(Math.sqrt(Ae * Ae + 1) - Ae), be = Math.log(Math.sqrt(he * he + 1) - he);\n de = (be - ye) / oe, ce = function(Se) {\n var De = Se * de, we = je(ye), Ze = D / (Ce * Te) * (we * Ee(oe * De + ye) - Ge(ye));\n return [A + Ze * Y, C + Ze * te, D * we / je(oe * De + ye)];\n };\n }\n return ce.duration = de * 1e3, ce;\n }, t.behavior.zoom = function() {\n var c = {\n x: 0,\n y: 0,\n k: 1\n }, b, A, C, D = [960, 500], E = Xe, q = 250, N = 0, Y = \"mousedown.zoom\", te = \"mousemove.zoom\", ne = \"mouseup.zoom\", ce, de = \"touchstart.zoom\", Te, Ae = ae(De, \"zoomstart\", \"zoom\", \"zoomend\"), he, ye, be, Se;\n Pt || (Pt = \"onwheel\" in a ? (Et = function() {\n return -t.event.deltaY * (t.event.deltaMode ? 120 : 1);\n }, \"wheel\") : \"onmousewheel\" in a ? (Et = function() {\n return t.event.wheelDelta;\n }, \"mousewheel\") : (Et = function() {\n return -t.event.detail;\n }, \"MozMousePixelScroll\"));\n function De(dt) {\n dt.on(Y, Gt).on(Pt + \".zoom\", Yr).on(\"dblclick.zoom\", xr).on(de, gr);\n }\n De.event = function(dt) {\n dt.each(function() {\n var Zt = Ae.of(this, arguments), Jt = c;\n Al ? t.select(this).transition().each(\"start.zoom\", function() {\n c = this.__chart__ || {\n x: 0,\n y: 0,\n k: 1\n }, Dt(Zt);\n }).tween(\"zoom:zoom\", function() {\n var yr = D[0], Gr = D[1], un = A ? A[0] : yr / 2, kn = A ? A[1] : Gr / 2, $n = t.interpolateZoom([(un - c.x) / c.k, (kn - c.y) / c.k, yr / c.k], [(un - Jt.x) / Jt.k, (kn - Jt.y) / Jt.k, yr / Jt.k]);\n return function(Un) {\n var zn = $n(Un), Qn = yr / zn[2];\n this.__chart__ = c = {\n x: un - zn[0] * Qn,\n y: kn - zn[1] * Qn,\n k: Qn\n }, Wt(Zt);\n };\n }).each(\"interrupt.zoom\", function() {\n Ft(Zt);\n }).each(\"end.zoom\", function() {\n Ft(Zt);\n }) : (this.__chart__ = c, Dt(Zt), Wt(Zt), Ft(Zt));\n });\n }, De.translate = function(dt) {\n return arguments.length ? (c = {\n x: +dt[0],\n y: +dt[1],\n k: c.k\n }, Lt(), De) : [c.x, c.y];\n }, De.scale = function(dt) {\n return arguments.length ? (c = {\n x: c.x,\n y: c.y,\n k: null\n }, mt(+dt), Lt(), De) : c.k;\n }, De.scaleExtent = function(dt) {\n return arguments.length ? (E = dt == null ? Xe : [+dt[0], +dt[1]], De) : E;\n }, De.center = function(dt) {\n return arguments.length ? (C = dt && [+dt[0], +dt[1]], De) : C;\n }, De.size = function(dt) {\n return arguments.length ? (D = dt && [+dt[0], +dt[1]], De) : D;\n }, De.duration = function(dt) {\n return arguments.length ? (q = +dt, De) : q;\n }, De.x = function(dt) {\n return arguments.length ? (ye = dt, he = dt.copy(), c = {\n x: 0,\n y: 0,\n k: 1\n }, De) : ye;\n }, De.y = function(dt) {\n return arguments.length ? (Se = dt, be = dt.copy(), c = {\n x: 0,\n y: 0,\n k: 1\n }, De) : Se;\n };\n function we(dt) {\n return [(dt[0] - c.x) / c.k, (dt[1] - c.y) / c.k];\n }\n function Ze(dt) {\n return [dt[0] * c.k + c.x, dt[1] * c.k + c.y];\n }\n function mt(dt) {\n c.k = Math.max(E[0], Math.min(E[1], dt));\n }\n function xt(dt, Zt) {\n Zt = Ze(Zt), c.x += dt[0] - Zt[0], c.y += dt[1] - Zt[1];\n }\n function yt(dt, Zt, Jt, yr) {\n dt.__chart__ = {\n x: c.x,\n y: c.y,\n k: c.k\n }, mt(Math.pow(2, yr)), xt(A = Zt, Jt), dt = t.select(dt), q > 0 && (dt = dt.transition().duration(q)), dt.call(De.event);\n }\n function Lt() {\n ye && ye.domain(he.range().map(function(dt) {\n return (dt - c.x) / c.k;\n }).map(he.invert)), Se && Se.domain(be.range().map(function(dt) {\n return (dt - c.y) / c.k;\n }).map(be.invert));\n }\n function Dt(dt) {\n N++ || dt({\n type: \"zoomstart\"\n });\n }\n function Wt(dt) {\n Lt(), dt({\n type: \"zoom\",\n scale: c.k,\n translate: [c.x, c.y]\n });\n }\n function Ft(dt) {\n --N || (dt({\n type: \"zoomend\"\n }), A = null);\n }\n function Gt() {\n var dt = this, Zt = Ae.of(dt, arguments), Jt = 0, yr = t.select(o(dt)).on(te, kn).on(ne, $n), Gr = we(t.mouse(dt)), un = gt(dt);\n xd.call(dt), Dt(Zt);\n function kn() {\n Jt = 1, xt(t.mouse(dt), Gr), Wt(Zt);\n }\n function $n() {\n yr.on(te, null).on(ne, null), un(Jt), Ft(Zt);\n }\n }\n function gr() {\n var dt = this, Zt = Ae.of(dt, arguments), Jt = {}, yr = 0, Gr, un = \".zoom-\" + t.event.changedTouches[0].identifier, kn = \"touchmove\" + un, $n = \"touchend\" + un, Un = [], zn = t.select(dt), Qn = gt(dt);\n ea(), Dt(Zt), zn.on(Y, null).on(de, ea);\n function Cn() {\n var ei = t.touches(dt);\n return Gr = c.k, ei.forEach(function(An) {\n An.identifier in Jt && (Jt[An.identifier] = we(An));\n }), ei;\n }\n function ea() {\n var ei = t.event.target;\n t.select(ei).on(kn, Ml).on($n, CR), Un.push(ei);\n for (var An = t.event.changedTouches, Ca = 0, Ai = An.length; Ca < Ai; ++Ca)\n Jt[An[Ca].identifier] = null;\n var La = Cn(), Ds = Date.now();\n if (La.length === 1) {\n if (Ds - Te < 500) {\n var Sl = La[0];\n yt(dt, Sl, Jt[Sl.identifier], Math.floor(Math.log(c.k) / Math.LN2) + 1), ee();\n }\n Te = Ds;\n } else if (La.length > 1) {\n var Sl = La[0], Po = La[1], kd = Sl[0] - Po[0], Nx = Sl[1] - Po[1];\n yr = kd * kd + Nx * Nx;\n }\n }\n function Ml() {\n var ei = t.touches(dt), An, Ca, Ai, La;\n xd.call(dt);\n for (var Ds = 0, Sl = ei.length; Ds < Sl; ++Ds, La = null)\n if (Ai = ei[Ds], La = Jt[Ai.identifier]) {\n if (Ca) break;\n An = Ai, Ca = La;\n }\n if (La) {\n var Po = (Po = Ai[0] - An[0]) * Po + (Po = Ai[1] - An[1]) * Po, kd = yr && Math.sqrt(Po / yr);\n An = [(An[0] + Ai[0]) / 2, (An[1] + Ai[1]) / 2], Ca = [(Ca[0] + La[0]) / 2, (Ca[1] + La[1]) / 2], mt(kd * Gr);\n }\n Te = null, xt(An, Ca), Wt(Zt);\n }\n function CR() {\n if (t.event.touches.length) {\n for (var ei = t.event.changedTouches, An = 0, Ca = ei.length; An < Ca; ++An)\n delete Jt[ei[An].identifier];\n for (var Ai in Jt)\n return void Cn();\n }\n t.selectAll(Un).on(un, null), zn.on(Y, Gt).on(de, gr), Qn(), Ft(Zt);\n }\n }\n function Yr() {\n var dt = Ae.of(this, arguments);\n ce ? clearTimeout(ce) : (xd.call(this), b = we(A = C || t.mouse(this)), Dt(dt)), ce = setTimeout(function() {\n ce = null, Ft(dt);\n }, 50), ee(), mt(Math.pow(2, Et() * 2e-3) * c.k), xt(A, b), Wt(dt);\n }\n function xr() {\n var dt = t.mouse(this), Zt = Math.log(c.k) / Math.LN2;\n yt(this, dt, we(dt), t.event.shiftKey ? Math.ceil(Zt) - 1 : Math.floor(Zt) + 1);\n }\n return t.rebind(De, Ae, \"on\");\n };\n var Xe = [0, 1 / 0], Et, Pt;\n t.color = It;\n function It() {\n }\n It.prototype.toString = function() {\n return this.rgb() + \"\";\n }, t.hsl = kt;\n function kt(c, b, A) {\n return this instanceof kt ? (this.h = +c, this.s = +b, void (this.l = +A)) : arguments.length < 2 ? c instanceof kt ? new kt(c.h, c.s, c.l) : Ka(\"\" + c, to, kt) : new kt(c, b, A);\n }\n var qt = kt.prototype = new It();\n qt.brighter = function(c) {\n return c = Math.pow(0.7, arguments.length ? c : 1), new kt(this.h, this.s, this.l / c);\n }, qt.darker = function(c) {\n return c = Math.pow(0.7, arguments.length ? c : 1), new kt(this.h, this.s, c * this.l);\n }, qt.rgb = function() {\n return Ot(this.h, this.s, this.l);\n };\n function Ot(c, b, A) {\n var C, D;\n c = isNaN(c) ? 0 : (c %= 360) < 0 ? c + 360 : c, b = isNaN(b) || b < 0 ? 0 : b > 1 ? 1 : b, A = A < 0 ? 0 : A > 1 ? 1 : A, D = A <= 0.5 ? A * (1 + b) : A + b - A * b, C = 2 * A - D;\n function E(N) {\n return N > 360 ? N -= 360 : N < 0 && (N += 360), N < 60 ? C + (D - C) * N / 60 : N < 180 ? D : N < 240 ? C + (D - C) * (240 - N) / 60 : C;\n }\n function q(N) {\n return Math.round(E(N) * 255);\n }\n return new Pr(q(c + 120), q(c), q(c - 120));\n }\n t.hcl = wt;\n function wt(c, b, A) {\n return this instanceof wt ? (this.h = +c, this.c = +b, void (this.l = +A)) : arguments.length < 2 ? c instanceof wt ? new wt(c.h, c.c, c.l) : c instanceof $t ? tr(c.l, c.a, c.b) : tr((c = ln((c = t.rgb(c)).r, c.g, c.b)).l, c.a, c.b) : new wt(c, b, A);\n }\n var Yt = wt.prototype = new It();\n Yt.brighter = function(c) {\n return new wt(this.h, this.c, Math.min(100, this.l + zt * (arguments.length ? c : 1)));\n }, Yt.darker = function(c) {\n return new wt(this.h, this.c, Math.max(0, this.l - zt * (arguments.length ? c : 1)));\n }, Yt.rgb = function() {\n return Kt(this.h, this.c, this.l).rgb();\n };\n function Kt(c, b, A) {\n return isNaN(c) && (c = 0), isNaN(b) && (b = 0), new $t(A, Math.cos(c *= ie) * b, Math.sin(c) * b);\n }\n t.lab = $t;\n function $t(c, b, A) {\n return this instanceof $t ? (this.l = +c, this.a = +b, void (this.b = +A)) : arguments.length < 2 ? c instanceof $t ? new $t(c.l, c.a, c.b) : c instanceof wt ? Kt(c.h, c.c, c.l) : ln((c = Pr(c)).r, c.g, c.b) : new $t(c, b, A);\n }\n var zt = 18, Mt = 0.95047, St = 1, Ut = 1.08883, fr = $t.prototype = new It();\n fr.brighter = function(c) {\n return new $t(Math.min(100, this.l + zt * (arguments.length ? c : 1)), this.a, this.b);\n }, fr.darker = function(c) {\n return new $t(Math.max(0, this.l - zt * (arguments.length ? c : 1)), this.a, this.b);\n }, fr.rgb = function() {\n return Ct(this.l, this.a, this.b);\n };\n function Ct(c, b, A) {\n var C = (c + 16) / 116, D = C + b / 500, E = C - A / 200;\n return D = Ht(D) * Mt, C = Ht(C) * St, E = Ht(E) * Ut, new Pr(ar(3.2404542 * D - 1.5371385 * C - 0.4985314 * E), ar(-0.969266 * D + 1.8760108 * C + 0.041556 * E), ar(0.0556434 * D - 0.2040259 * C + 1.0572252 * E));\n }\n function tr(c, b, A) {\n return c > 0 ? new wt(Math.atan2(A, b) * fe, Math.sqrt(b * b + A * A), c) : new wt(NaN, NaN, c);\n }\n function Ht(c) {\n return c > 0.206893034 ? c * c * c : (c - 4 / 29) / 7.787037;\n }\n function $r(c) {\n return c > 8856e-6 ? Math.pow(c, 1 / 3) : 7.787037 * c + 4 / 29;\n }\n function ar(c) {\n return Math.round(255 * (c <= 304e-5 ? 12.92 * c : 1.055 * Math.pow(c, 1 / 2.4) - 0.055));\n }\n t.rgb = Pr;\n function Pr(c, b, A) {\n return this instanceof Pr ? (this.r = ~~c, this.g = ~~b, void (this.b = ~~A)) : arguments.length < 2 ? c instanceof Pr ? new Pr(c.r, c.g, c.b) : Ka(\"\" + c, Pr, Ot) : new Pr(c, b, A);\n }\n function Ur(c) {\n return new Pr(c >> 16, c >> 8 & 255, c & 255);\n }\n function Pn(c) {\n return Ur(c) + \"\";\n }\n var hn = Pr.prototype = new It();\n hn.brighter = function(c) {\n c = Math.pow(0.7, arguments.length ? c : 1);\n var b = this.r, A = this.g, C = this.b, D = 30;\n return !b && !A && !C ? new Pr(D, D, D) : (b && b < D && (b = D), A && A < D && (A = D), C && C < D && (C = D), new Pr(Math.min(255, b / c), Math.min(255, A / c), Math.min(255, C / c)));\n }, hn.darker = function(c) {\n return c = Math.pow(0.7, arguments.length ? c : 1), new Pr(c * this.r, c * this.g, c * this.b);\n }, hn.hsl = function() {\n return to(this.r, this.g, this.b);\n }, hn.toString = function() {\n return \"#\" + vn(this.r) + vn(this.g) + vn(this.b);\n };\n function vn(c) {\n return c < 16 ? \"0\" + Math.max(0, c).toString(16) : Math.min(255, c).toString(16);\n }\n function Ka(c, b, A) {\n var C = 0, D = 0, E = 0, q, N, Y;\n if (q = /([a-z]+)\\((.*)\\)/.exec(c = c.toLowerCase()), q)\n switch (N = q[2].split(\",\"), q[1]) {\n case \"hsl\":\n return A(parseFloat(N[0]), parseFloat(N[1]) / 100, parseFloat(N[2]) / 100);\n case \"rgb\":\n return b(ro(N[0]), ro(N[1]), ro(N[2]));\n }\n return (Y = ka.get(c)) ? b(Y.r, Y.g, Y.b) : (c != null && c.charAt(0) === \"#\" && !isNaN(Y = parseInt(c.slice(1), 16)) && (c.length === 4 ? (C = (Y & 3840) >> 4, C = C >> 4 | C, D = Y & 240, D = D >> 4 | D, E = Y & 15, E = E << 4 | E) : c.length === 7 && (C = (Y & 16711680) >> 16, D = (Y & 65280) >> 8, E = Y & 255)), b(C, D, E));\n }\n function to(c, b, A) {\n var C = Math.min(c /= 255, b /= 255, A /= 255), D = Math.max(c, b, A), E = D - C, q, N, Y = (D + C) / 2;\n return E ? (N = Y < 0.5 ? E / (D + C) : E / (2 - D - C), c == D ? q = (b - A) / E + (b < A ? 6 : 0) : b == D ? q = (A - c) / E + 2 : q = (c - b) / E + 4, q *= 60) : (q = NaN, N = Y > 0 && Y < 1 ? 0 : q), new kt(q, N, Y);\n }\n function ln(c, b, A) {\n c = Xn(c), b = Xn(b), A = Xn(A);\n var C = $r((0.4124564 * c + 0.3575761 * b + 0.1804375 * A) / Mt), D = $r((0.2126729 * c + 0.7151522 * b + 0.072175 * A) / St), E = $r((0.0193339 * c + 0.119192 * b + 0.9503041 * A) / Ut);\n return $t(116 * D - 16, 500 * (C - D), 200 * (D - E));\n }\n function Xn(c) {\n return (c /= 255) <= 0.04045 ? c / 12.92 : Math.pow((c + 0.055) / 1.055, 2.4);\n }\n function ro(c) {\n var b = parseFloat(c);\n return c.charAt(c.length - 1) === \"%\" ? Math.round(b * 2.55) : b;\n }\n var ka = t.map({\n aliceblue: 15792383,\n antiquewhite: 16444375,\n aqua: 65535,\n aquamarine: 8388564,\n azure: 15794175,\n beige: 16119260,\n bisque: 16770244,\n black: 0,\n blanchedalmond: 16772045,\n blue: 255,\n blueviolet: 9055202,\n brown: 10824234,\n burlywood: 14596231,\n cadetblue: 6266528,\n chartreuse: 8388352,\n chocolate: 13789470,\n coral: 16744272,\n cornflowerblue: 6591981,\n cornsilk: 16775388,\n crimson: 14423100,\n cyan: 65535,\n darkblue: 139,\n darkcyan: 35723,\n darkgoldenrod: 12092939,\n darkgray: 11119017,\n darkgreen: 25600,\n darkgrey: 11119017,\n darkkhaki: 12433259,\n darkmagenta: 9109643,\n darkolivegreen: 5597999,\n darkorange: 16747520,\n darkorchid: 10040012,\n darkred: 9109504,\n darksalmon: 15308410,\n darkseagreen: 9419919,\n darkslateblue: 4734347,\n darkslategray: 3100495,\n darkslategrey: 3100495,\n darkturquoise: 52945,\n darkviolet: 9699539,\n deeppink: 16716947,\n deepskyblue: 49151,\n dimgray: 6908265,\n dimgrey: 6908265,\n dodgerblue: 2003199,\n firebrick: 11674146,\n floralwhite: 16775920,\n forestgreen: 2263842,\n fuchsia: 16711935,\n gainsboro: 14474460,\n ghostwhite: 16316671,\n gold: 16766720,\n goldenrod: 14329120,\n gray: 8421504,\n green: 32768,\n greenyellow: 11403055,\n grey: 8421504,\n honeydew: 15794160,\n hotpink: 16738740,\n indianred: 13458524,\n indigo: 4915330,\n ivory: 16777200,\n khaki: 15787660,\n lavender: 15132410,\n lavenderblush: 16773365,\n lawngreen: 8190976,\n lemonchiffon: 16775885,\n lightblue: 11393254,\n lightcoral: 15761536,\n lightcyan: 14745599,\n lightgoldenrodyellow: 16448210,\n lightgray: 13882323,\n lightgreen: 9498256,\n lightgrey: 13882323,\n lightpink: 16758465,\n lightsalmon: 16752762,\n lightseagreen: 2142890,\n lightskyblue: 8900346,\n lightslategray: 7833753,\n lightslategrey: 7833753,\n lightsteelblue: 11584734,\n lightyellow: 16777184,\n lime: 65280,\n limegreen: 3329330,\n linen: 16445670,\n magenta: 16711935,\n maroon: 8388608,\n mediumaquamarine: 6737322,\n mediumblue: 205,\n mediumorchid: 12211667,\n mediumpurple: 9662683,\n mediumseagreen: 3978097,\n mediumslateblue: 8087790,\n mediumspringgreen: 64154,\n mediumturquoise: 4772300,\n mediumvioletred: 13047173,\n midnightblue: 1644912,\n mintcream: 16121850,\n mistyrose: 16770273,\n moccasin: 16770229,\n navajowhite: 16768685,\n navy: 128,\n oldlace: 16643558,\n olive: 8421376,\n olivedrab: 7048739,\n orange: 16753920,\n orangered: 16729344,\n orchid: 14315734,\n palegoldenrod: 15657130,\n palegreen: 10025880,\n paleturquoise: 11529966,\n palevioletred: 14381203,\n papayawhip: 16773077,\n peachpuff: 16767673,\n peru: 13468991,\n pink: 16761035,\n plum: 14524637,\n powderblue: 11591910,\n purple: 8388736,\n rebeccapurple: 6697881,\n red: 16711680,\n rosybrown: 12357519,\n royalblue: 4286945,\n saddlebrown: 9127187,\n salmon: 16416882,\n sandybrown: 16032864,\n seagreen: 3050327,\n seashell: 16774638,\n sienna: 10506797,\n silver: 12632256,\n skyblue: 8900331,\n slateblue: 6970061,\n slategray: 7372944,\n slategrey: 7372944,\n snow: 16775930,\n springgreen: 65407,\n steelblue: 4620980,\n tan: 13808780,\n teal: 32896,\n thistle: 14204888,\n tomato: 16737095,\n turquoise: 4251856,\n violet: 15631086,\n wheat: 16113331,\n white: 16777215,\n whitesmoke: 16119285,\n yellow: 16776960,\n yellowgreen: 10145074\n });\n ka.forEach(function(c, b) {\n ka.set(c, Ur(b));\n });\n function mr(c) {\n return typeof c == \"function\" ? c : function() {\n return c;\n };\n }\n t.functor = mr, t.xhr = Aa(V);\n function Aa(c) {\n return function(b, A, C) {\n return arguments.length === 2 && typeof A == \"function\" && (C = A, A = null), Ja(b, A, c, C);\n };\n }\n function Ja(c, b, A, C) {\n var D = {}, E = t.dispatch(\"beforesend\", \"progress\", \"load\", \"error\"), q = {}, N = new XMLHttpRequest(), Y = null;\n self.XDomainRequest && !(\"withCredentials\" in N) && /^(http(s)?:)?\\/\\//.test(c) && (N = new XDomainRequest()), \"onload\" in N ? N.onload = N.onerror = te : N.onreadystatechange = function() {\n N.readyState > 3 && te();\n };\n function te() {\n var ne = N.status, ce;\n if (!ne && zr(N) || ne >= 200 && ne < 300 || ne === 304) {\n try {\n ce = A.call(D, N);\n } catch (de) {\n E.error.call(D, de);\n return;\n }\n E.load.call(D, ce);\n } else\n E.error.call(D, N);\n }\n return N.onprogress = function(ne) {\n var ce = t.event;\n t.event = ne;\n try {\n E.progress.call(D, N);\n } finally {\n t.event = ce;\n }\n }, D.header = function(ne, ce) {\n return ne = (ne + \"\").toLowerCase(), arguments.length < 2 ? q[ne] : (ce == null ? delete q[ne] : q[ne] = ce + \"\", D);\n }, D.mimeType = function(ne) {\n return arguments.length ? (b = ne == null ? null : ne + \"\", D) : b;\n }, D.responseType = function(ne) {\n return arguments.length ? (Y = ne, D) : Y;\n }, D.response = function(ne) {\n return A = ne, D;\n }, [\"get\", \"post\"].forEach(function(ne) {\n D[ne] = function() {\n return D.send.apply(D, [ne].concat(n(arguments)));\n };\n }), D.send = function(ne, ce, de) {\n if (arguments.length === 2 && typeof ce == \"function\" && (de = ce, ce = null), N.open(ne, c, !0), b != null && !(\"accept\" in q) && (q.accept = b + \",*/*\"), N.setRequestHeader) for (var Te in q) N.setRequestHeader(Te, q[Te]);\n return b != null && N.overrideMimeType && N.overrideMimeType(b), Y != null && (N.responseType = Y), de != null && D.on(\"error\", de).on(\"load\", function(Ae) {\n de(null, Ae);\n }), E.beforesend.call(D, N), N.send(ce ?? null), D;\n }, D.abort = function() {\n return N.abort(), D;\n }, t.rebind(D, E, \"on\"), C == null ? D : D.get(no(C));\n }\n function no(c) {\n return c.length === 1 ? function(b, A) {\n c(b == null ? A : null);\n } : c;\n }\n function zr(c) {\n var b = c.responseType;\n return b && b !== \"text\" ? c.response : c.responseText;\n }\n t.dsv = function(c, b) {\n var A = new RegExp('[\"' + c + `\n]`), C = c.charCodeAt(0);\n function D(te, ne, ce) {\n arguments.length < 3 && (ce = ne, ne = null);\n var de = Ja(te, b, ne == null ? E : q(ne), ce);\n return de.row = function(Te) {\n return arguments.length ? de.response((ne = Te) == null ? E : q(Te)) : ne;\n }, de;\n }\n function E(te) {\n return D.parse(te.responseText);\n }\n function q(te) {\n return function(ne) {\n return D.parse(ne.responseText, te);\n };\n }\n D.parse = function(te, ne) {\n var ce;\n return D.parseRows(te, function(de, Te) {\n if (ce) return ce(de, Te - 1);\n var Ae = function(he) {\n for (var ye = {}, be = de.length, Se = 0; Se < be; ++Se)\n ye[de[Se]] = he[Se];\n return ye;\n };\n ce = ne ? function(he, ye) {\n return ne(Ae(he), ye);\n } : Ae;\n });\n }, D.parseRows = function(te, ne) {\n var ce = {}, de = {}, Te = [], Ae = te.length, he = 0, ye = 0, be, Se;\n function De() {\n if (he >= Ae) return de;\n if (Se) return Se = !1, ce;\n var Ze = he;\n if (te.charCodeAt(Ze) === 34) {\n for (var mt = Ze; mt++ < Ae; )\n if (te.charCodeAt(mt) === 34) {\n if (te.charCodeAt(mt + 1) !== 34) break;\n ++mt;\n }\n he = mt + 2;\n var xt = te.charCodeAt(mt + 1);\n return xt === 13 ? (Se = !0, te.charCodeAt(mt + 2) === 10 && ++he) : xt === 10 && (Se = !0), te.slice(Ze + 1, mt).replace(/\"\"/g, '\"');\n }\n for (; he < Ae; ) {\n var xt = te.charCodeAt(he++), yt = 1;\n if (xt === 10) Se = !0;\n else if (xt === 13)\n Se = !0, te.charCodeAt(he) === 10 && (++he, ++yt);\n else if (xt !== C) continue;\n return te.slice(Ze, he - yt);\n }\n return te.slice(Ze);\n }\n for (; (be = De()) !== de; ) {\n for (var we = []; be !== ce && be !== de; )\n we.push(be), be = De();\n ne && (we = ne(we, ye++)) == null || Te.push(we);\n }\n return Te;\n }, D.format = function(te) {\n if (Array.isArray(te[0])) return D.formatRows(te);\n var ne = new K(), ce = [];\n return te.forEach(function(de) {\n for (var Te in de)\n ne.has(Te) || ce.push(ne.add(Te));\n }), [ce.map(Y).join(c)].concat(te.map(function(de) {\n return ce.map(function(Te) {\n return Y(de[Te]);\n }).join(c);\n })).join(`\n`);\n }, D.formatRows = function(te) {\n return te.map(N).join(`\n`);\n };\n function N(te) {\n return te.map(Y).join(c);\n }\n function Y(te) {\n return A.test(te) ? '\"' + te.replace(/\\\"/g, '\"\"') + '\"' : te;\n }\n return D;\n }, t.csv = t.dsv(\",\", \"text/csv\"), t.tsv = t.dsv(\"\t\", \"text/tab-separated-values\");\n var tn, Kn, Ma, Ti, Jn = this[P(this, \"requestAnimationFrame\")] || function(c) {\n setTimeout(c, 17);\n };\n t.timer = function() {\n ha.apply(this, arguments);\n };\n function ha(c, b, A) {\n var C = arguments.length;\n C < 2 && (b = 0), C < 3 && (A = Date.now());\n var D = A + b, E = {\n c,\n t: D,\n n: null\n };\n return Kn ? Kn.n = E : tn = E, Kn = E, Ma || (Ti = clearTimeout(Ti), Ma = 1, Jn(Ts)), E;\n }\n function Ts() {\n var c = od(), b = S_() - c;\n b > 24 ? (isFinite(b) && (clearTimeout(Ti), Ti = setTimeout(Ts, b)), Ma = 0) : (Ma = 1, Jn(Ts));\n }\n t.timer.flush = function() {\n od(), S_();\n };\n function od() {\n for (var c = Date.now(), b = tn; b; )\n c >= b.t && b.c(c - b.t) && (b.c = null), b = b.n;\n return c;\n }\n function S_() {\n for (var c, b = tn, A = 1 / 0; b; )\n b.c ? (b.t < A && (A = b.t), b = (c = b).n) : b = c ? c.n = b.n : tn = b.n;\n return Kn = c, A;\n }\n t.round = function(c, b) {\n return b ? Math.round(c * (b = Math.pow(10, b))) / b : Math.round(c);\n }, t.geom = {};\n function ks(c) {\n return c[0];\n }\n function of(c) {\n return c[1];\n }\n t.geom.hull = function(c) {\n var b = ks, A = of;\n if (arguments.length) return C(c);\n function C(D) {\n if (D.length < 3) return [];\n var E = mr(b), q = mr(A), N, Y = D.length, te = [], ne = [];\n for (N = 0; N < Y; N++)\n te.push([+E.call(this, D[N], N), +q.call(this, D[N], N), N]);\n for (te.sort(F8), N = 0; N < Y; N++) ne.push([te[N][0], -te[N][1]]);\n var ce = C_(te), de = C_(ne), Te = de[0] === ce[0], Ae = de[de.length - 1] === ce[ce.length - 1], he = [];\n for (N = ce.length - 1; N >= 0; --N) he.push(D[te[ce[N]][2]]);\n for (N = +Te; N < de.length - Ae; ++N) he.push(D[te[de[N]][2]]);\n return he;\n }\n return C.x = function(D) {\n return arguments.length ? (b = D, C) : b;\n }, C.y = function(D) {\n return arguments.length ? (A = D, C) : A;\n }, C;\n };\n function C_(c) {\n for (var b = c.length, A = [0, 1], C = 2, D = 2; D < b; D++) {\n for (; C > 1 && ke(c[A[C - 2]], c[A[C - 1]], c[D]) <= 0; ) --C;\n A[C++] = D;\n }\n return A.slice(0, C);\n }\n function F8(c, b) {\n return c[0] - b[0] || c[1] - b[1];\n }\n t.geom.polygon = function(c) {\n return ue(c, ld), c;\n };\n var ld = t.geom.polygon.prototype = [];\n ld.area = function() {\n for (var c = -1, b = this.length, A, C = this[b - 1], D = 0; ++c < b; )\n A = C, C = this[c], D += A[1] * C[0] - A[0] * C[1];\n return D * 0.5;\n }, ld.centroid = function(c) {\n var b = -1, A = this.length, C = 0, D = 0, E, q = this[A - 1], N;\n for (arguments.length || (c = -1 / (6 * this.area())); ++b < A; )\n E = q, q = this[b], N = E[0] * q[1] - q[0] * E[1], C += (E[0] + q[0]) * N, D += (E[1] + q[1]) * N;\n return [C * c, D * c];\n }, ld.clip = function(c) {\n for (var b, A = L_(c), C = -1, D = this.length - L_(this), E, q, N = this[D - 1], Y, te, ne; ++C < D; ) {\n for (b = c.slice(), c.length = 0, Y = this[C], te = b[(q = b.length - A) - 1], E = -1; ++E < q; )\n ne = b[E], em(ne, N, Y) ? (em(te, N, Y) || c.push(tm(te, ne, N, Y)), c.push(ne)) : em(te, N, Y) && c.push(tm(te, ne, N, Y)), te = ne;\n A && c.push(c[0]), N = Y;\n }\n return c;\n };\n function em(c, b, A) {\n return (A[0] - b[0]) * (c[1] - b[1]) < (A[1] - b[1]) * (c[0] - b[0]);\n }\n function tm(c, b, A, C) {\n var D = c[0], E = A[0], q = b[0] - D, N = C[0] - E, Y = c[1], te = A[1], ne = b[1] - Y, ce = C[1] - te, de = (N * (Y - te) - ce * (D - E)) / (ce * q - N * ne);\n return [D + de * q, Y + de * ne];\n }\n function L_(c) {\n var b = c[0], A = c[c.length - 1];\n return !(b[0] - A[0] || b[1] - A[1]);\n }\n var As, Tl, Ms, D_ = [], rm, lf, E_ = [];\n function R8() {\n fd(this), this.edge = this.site = this.circle = null;\n }\n function F_(c) {\n var b = D_.pop() || new R8();\n return b.site = c, b;\n }\n function nm(c) {\n Cs(c), Ms.remove(c), D_.push(c), fd(c);\n }\n function P8(c) {\n var b = c.circle, A = b.x, C = b.cy, D = {\n x: A,\n y: C\n }, E = c.P, q = c.N, N = [c];\n nm(c);\n for (var Y = E; Y.circle && w(A - Y.circle.x) < Ke && w(C - Y.circle.cy) < Ke; )\n E = Y.P, N.unshift(Y), nm(Y), Y = E;\n N.unshift(Y), Cs(Y);\n for (var te = q; te.circle && w(A - te.circle.x) < Ke && w(C - te.circle.cy) < Ke; )\n q = te.N, N.push(te), nm(te), te = q;\n N.push(te), Cs(te);\n var ne = N.length, ce;\n for (ce = 1; ce < ne; ++ce)\n te = N[ce], Y = N[ce - 1], sd(te.edge, Y.site, te.site, D);\n Y = N[0], te = N[ne - 1], te.edge = sf(Y.site, te.site, null, D), Ss(Y), Ss(te);\n }\n function $8(c) {\n for (var b = c.x, A = c.y, C, D, E, q, N = Ms._; N; )\n if (E = R_(N, A) - b, E > Ke) N = N.L;\n else if (q = b - z8(N, A), q > Ke) {\n if (!N.R) {\n C = N;\n break;\n }\n N = N.R;\n } else {\n E > -Ke ? (C = N.P, D = N) : q > -Ke ? (C = N, D = N.N) : C = D = N;\n break;\n }\n var Y = F_(c);\n if (Ms.insert(C, Y), !(!C && !D)) {\n if (C === D) {\n Cs(C), D = F_(C.site), Ms.insert(Y, D), Y.edge = D.edge = sf(C.site, Y.site), Ss(C), Ss(D);\n return;\n }\n if (!D) {\n Y.edge = sf(C.site, Y.site);\n return;\n }\n Cs(C), Cs(D);\n var te = C.site, ne = te.x, ce = te.y, de = c.x - ne, Te = c.y - ce, Ae = D.site, he = Ae.x - ne, ye = Ae.y - ce, be = 2 * (de * ye - Te * he), Se = de * de + Te * Te, De = he * he + ye * ye, we = {\n x: (ye * Se - Te * De) / be + ne,\n y: (de * De - he * Se) / be + ce\n };\n sd(D.edge, te, Ae, we), Y.edge = sf(te, c, null, we), D.edge = sf(c, Ae, null, we), Ss(C), Ss(D);\n }\n }\n function R_(c, b) {\n var A = c.site, C = A.x, D = A.y, E = D - b;\n if (!E) return C;\n var q = c.P;\n if (!q) return -1 / 0;\n A = q.site;\n var N = A.x, Y = A.y, te = Y - b;\n if (!te) return N;\n var ne = N - C, ce = 1 / E - 1 / te, de = ne / te;\n return ce ? (-de + Math.sqrt(de * de - 2 * ce * (ne * ne / (-2 * te) - Y + te / 2 + D - E / 2))) / ce + C : (C + N) / 2;\n }\n function z8(c, b) {\n var A = c.N;\n if (A) return R_(A, b);\n var C = c.site;\n return C.y === b ? C.x : 1 / 0;\n }\n function P_(c) {\n this.site = c, this.edges = [];\n }\n P_.prototype.prepare = function() {\n for (var c = this.edges, b = c.length, A; b--; )\n A = c[b].edge, (!A.b || !A.a) && c.splice(b, 1);\n return c.sort($_), c.length;\n };\n function I8(c) {\n for (var b = c[0][0], A = c[1][0], C = c[0][1], D = c[1][1], E, q, N, Y, te = Tl, ne = te.length, ce, de, Te, Ae, he, ye; ne--; )\n if (ce = te[ne], !(!ce || !ce.prepare()))\n for (Te = ce.edges, Ae = Te.length, de = 0; de < Ae; )\n ye = Te[de].end(), N = ye.x, Y = ye.y, he = Te[++de % Ae].start(), E = he.x, q = he.y, (w(N - E) > Ke || w(Y - q) > Ke) && (Te.splice(de, 0, new ud(j8(ce.site, ye, w(N - b) < Ke && D - Y > Ke ? {\n x: b,\n y: w(E - b) < Ke ? q : D\n } : w(Y - D) < Ke && A - N > Ke ? {\n x: w(q - D) < Ke ? E : A,\n y: D\n } : w(N - A) < Ke && Y - C > Ke ? {\n x: A,\n y: w(E - A) < Ke ? q : C\n } : w(Y - C) < Ke && N - b > Ke ? {\n x: w(q - C) < Ke ? E : b,\n y: C\n } : null), ce.site, null)), ++Ae);\n }\n function $_(c, b) {\n return b.angle - c.angle;\n }\n function N8() {\n fd(this), this.x = this.y = this.arc = this.site = this.cy = null;\n }\n function Ss(c) {\n var b = c.P, A = c.N;\n if (!(!b || !A)) {\n var C = b.site, D = c.site, E = A.site;\n if (C !== E) {\n var q = D.x, N = D.y, Y = C.x - q, te = C.y - N, ne = E.x - q, ye = E.y - N, ce = 2 * (Y * ye - te * ne);\n if (!(ce >= -st)) {\n var de = Y * Y + te * te, Te = ne * ne + ye * ye, Ae = (ye * de - te * Te) / ce, he = (Y * Te - ne * de) / ce, ye = he + N, be = E_.pop() || new N8();\n be.arc = c, be.site = D, be.x = Ae + q, be.y = ye + Math.sqrt(Ae * Ae + he * he), be.cy = ye, c.circle = be;\n for (var Se = null, De = lf._; De; )\n if (be.y < De.y || be.y === De.y && be.x <= De.x)\n if (De.L) De = De.L;\n else {\n Se = De.P;\n break;\n }\n else if (De.R) De = De.R;\n else {\n Se = De;\n break;\n }\n lf.insert(Se, be), Se || (rm = be);\n }\n }\n }\n }\n function Cs(c) {\n var b = c.circle;\n b && (b.P || (rm = b.N), lf.remove(b), E_.push(b), fd(b), c.circle = null);\n }\n function O8(c, b, A, C) {\n return function(D) {\n var E = D.a, q = D.b, N = E.x, Y = E.y, te = q.x, ne = q.y, ce = 0, de = 1, Te = te - N, Ae = ne - Y, he;\n if (he = c - N, !(!Te && he > 0)) {\n if (he /= Te, Te < 0) {\n if (he < ce) return;\n he < de && (de = he);\n } else if (Te > 0) {\n if (he > de) return;\n he > ce && (ce = he);\n }\n if (he = A - N, !(!Te && he < 0)) {\n if (he /= Te, Te < 0) {\n if (he > de) return;\n he > ce && (ce = he);\n } else if (Te > 0) {\n if (he < ce) return;\n he < de && (de = he);\n }\n if (he = b - Y, !(!Ae && he > 0)) {\n if (he /= Ae, Ae < 0) {\n if (he < ce) return;\n he < de && (de = he);\n } else if (Ae > 0) {\n if (he > de) return;\n he > ce && (ce = he);\n }\n if (he = C - Y, !(!Ae && he < 0)) {\n if (he /= Ae, Ae < 0) {\n if (he > de) return;\n he > ce && (ce = he);\n } else if (Ae > 0) {\n if (he < ce) return;\n he < de && (de = he);\n }\n return ce > 0 && (D.a = {\n x: N + ce * Te,\n y: Y + ce * Ae\n }), de < 1 && (D.b = {\n x: N + de * Te,\n y: Y + de * Ae\n }), D;\n }\n }\n }\n }\n };\n }\n function H8(c) {\n for (var b = As, A = O8(c[0][0], c[0][1], c[1][0], c[1][1]), C = b.length, D; C--; )\n D = b[C], (!B8(D, c) || !A(D) || w(D.a.x - D.b.x) < Ke && w(D.a.y - D.b.y) < Ke) && (D.a = D.b = null, b.splice(C, 1));\n }\n function B8(c, b) {\n var A = c.b;\n if (A) return !0;\n var C = c.a, D = b[0][0], E = b[1][0], q = b[0][1], N = b[1][1], Y = c.l, te = c.r, ne = Y.x, ce = Y.y, de = te.x, Te = te.y, Ae = (ne + de) / 2, he = (ce + Te) / 2, ye, be;\n if (Te === ce) {\n if (Ae < D || Ae >= E) return;\n if (ne > de) {\n if (!C) C = {\n x: Ae,\n y: q\n };\n else if (C.y >= N) return;\n A = {\n x: Ae,\n y: N\n };\n } else {\n if (!C) C = {\n x: Ae,\n y: N\n };\n else if (C.y < q) return;\n A = {\n x: Ae,\n y: q\n };\n }\n } else if (ye = (ne - de) / (Te - ce), be = he - ye * Ae, ye < -1 || ye > 1)\n if (ne > de) {\n if (!C) C = {\n x: (q - be) / ye,\n y: q\n };\n else if (C.y >= N) return;\n A = {\n x: (N - be) / ye,\n y: N\n };\n } else {\n if (!C) C = {\n x: (N - be) / ye,\n y: N\n };\n else if (C.y < q) return;\n A = {\n x: (q - be) / ye,\n y: q\n };\n }\n else if (ce < Te) {\n if (!C) C = {\n x: D,\n y: ye * D + be\n };\n else if (C.x >= E) return;\n A = {\n x: E,\n y: ye * E + be\n };\n } else {\n if (!C) C = {\n x: E,\n y: ye * E + be\n };\n else if (C.x < D) return;\n A = {\n x: D,\n y: ye * D + be\n };\n }\n return c.a = C, c.b = A, !0;\n }\n function z_(c, b) {\n this.l = c, this.r = b, this.a = this.b = null;\n }\n function sf(c, b, A, C) {\n var D = new z_(c, b);\n return As.push(D), A && sd(D, c, b, A), C && sd(D, b, c, C), Tl[c.i].edges.push(new ud(D, c, b)), Tl[b.i].edges.push(new ud(D, b, c)), D;\n }\n function j8(c, b, A) {\n var C = new z_(c, null);\n return C.a = b, C.b = A, As.push(C), C;\n }\n function sd(c, b, A, C) {\n !c.a && !c.b ? (c.a = C, c.l = b, c.r = A) : c.l === A ? c.b = C : c.a = C;\n }\n function ud(c, b, A) {\n var C = c.a, D = c.b;\n this.edge = c, this.site = b, this.angle = A ? Math.atan2(A.y - b.y, A.x - b.x) : c.l === b ? Math.atan2(D.x - C.x, C.y - D.y) : Math.atan2(C.x - D.x, D.y - C.y);\n }\n ud.prototype = {\n start: function() {\n return this.edge.l === this.site ? this.edge.a : this.edge.b;\n },\n end: function() {\n return this.edge.l === this.site ? this.edge.b : this.edge.a;\n }\n };\n function am() {\n this._ = null;\n }\n function fd(c) {\n c.U = c.C = c.L = c.R = c.P = c.N = null;\n }\n am.prototype = {\n insert: function(c, b) {\n var A, C, D;\n if (c) {\n if (b.P = c, b.N = c.N, c.N && (c.N.P = b), c.N = b, c.R) {\n for (c = c.R; c.L; ) c = c.L;\n c.L = b;\n } else\n c.R = b;\n A = c;\n } else this._ ? (c = I_(this._), b.P = null, b.N = c, c.P = c.L = b, A = c) : (b.P = b.N = null, this._ = b, A = null);\n for (b.L = b.R = null, b.U = A, b.C = !0, c = b; A && A.C; )\n C = A.U, A === C.L ? (D = C.R, D && D.C ? (A.C = D.C = !1, C.C = !0, c = C) : (c === A.R && (uf(this, A), c = A, A = c.U), A.C = !1, C.C = !0, ff(this, C))) : (D = C.L, D && D.C ? (A.C = D.C = !1, C.C = !0, c = C) : (c === A.L && (ff(this, A), c = A, A = c.U), A.C = !1, C.C = !0, uf(this, C))), A = c.U;\n this._.C = !1;\n },\n remove: function(c) {\n c.N && (c.N.P = c.P), c.P && (c.P.N = c.N), c.N = c.P = null;\n var b = c.U, A, C = c.L, D = c.R, E, q;\n if (C ? D ? E = I_(D) : E = C : E = D, b ? b.L === c ? b.L = E : b.R = E : this._ = E, C && D ? (q = E.C, E.C = c.C, E.L = C, C.U = E, E !== D ? (b = E.U, E.U = c.U, c = E.R, b.L = c, E.R = D, D.U = E) : (E.U = b, b = E, c = E.R)) : (q = c.C, c = E), c && (c.U = b), !q) {\n if (c && c.C) {\n c.C = !1;\n return;\n }\n do {\n if (c === this._) break;\n if (c === b.L) {\n if (A = b.R, A.C && (A.C = !1, b.C = !0, uf(this, b), A = b.R), A.L && A.L.C || A.R && A.R.C) {\n (!A.R || !A.R.C) && (A.L.C = !1, A.C = !0, ff(this, A), A = b.R), A.C = b.C, b.C = A.R.C = !1, uf(this, b), c = this._;\n break;\n }\n } else if (A = b.L, A.C && (A.C = !1, b.C = !0, ff(this, b), A = b.L), A.L && A.L.C || A.R && A.R.C) {\n (!A.L || !A.L.C) && (A.R.C = !1, A.C = !0, uf(this, A), A = b.L), A.C = b.C, b.C = A.L.C = !1, ff(this, b), c = this._;\n break;\n }\n A.C = !0, c = b, b = b.U;\n } while (!c.C);\n c && (c.C = !1);\n }\n }\n };\n function uf(c, b) {\n var A = b, C = b.R, D = A.U;\n D ? D.L === A ? D.L = C : D.R = C : c._ = C, C.U = D, A.U = C, A.R = C.L, A.R && (A.R.U = A), C.L = A;\n }\n function ff(c, b) {\n var A = b, C = b.L, D = A.U;\n D ? D.L === A ? D.L = C : D.R = C : c._ = C, C.U = D, A.U = C, A.L = C.R, A.L && (A.L.U = A), C.R = A;\n }\n function I_(c) {\n for (; c.L; ) c = c.L;\n return c;\n }\n function im(c, b) {\n var A = c.sort(U8).pop(), C, D, E;\n for (As = [], Tl = new Array(c.length), Ms = new am(), lf = new am(); ; )\n if (E = rm, A && (!E || A.y < E.y || A.y === E.y && A.x < E.x))\n (A.x !== C || A.y !== D) && (Tl[A.i] = new P_(A), $8(A), C = A.x, D = A.y), A = c.pop();\n else if (E)\n P8(E.arc);\n else\n break;\n b && (H8(b), I8(b));\n var q = {\n cells: Tl,\n edges: As\n };\n return Ms = lf = As = Tl = null, q;\n }\n function U8(c, b) {\n return b.y - c.y || b.x - c.x;\n }\n t.geom.voronoi = function(c) {\n var b = ks, A = of, C = b, D = A, E = cd;\n if (c) return q(c);\n function q(Y) {\n var te = new Array(Y.length), ne = E[0][0], ce = E[0][1], de = E[1][0], Te = E[1][1];\n return im(N(Y), E).cells.forEach(function(Ae, he) {\n var ye = Ae.edges, be = Ae.site, Se = te[he] = ye.length ? ye.map(function(De) {\n var we = De.start();\n return [we.x, we.y];\n }) : be.x >= ne && be.x <= de && be.y >= ce && be.y <= Te ? [[ne, Te], [de, Te], [de, ce], [ne, ce]] : [];\n Se.point = Y[he];\n }), te;\n }\n function N(Y) {\n return Y.map(function(te, ne) {\n return {\n x: Math.round(C(te, ne) / Ke) * Ke,\n y: Math.round(D(te, ne) / Ke) * Ke,\n i: ne\n };\n });\n }\n return q.links = function(Y) {\n return im(N(Y)).edges.filter(function(te) {\n return te.l && te.r;\n }).map(function(te) {\n return {\n source: Y[te.l.i],\n target: Y[te.r.i]\n };\n });\n }, q.triangles = function(Y) {\n var te = [];\n return im(N(Y)).cells.forEach(function(ne, ce) {\n for (var de = ne.site, Te = ne.edges.sort($_), Ae = -1, he = Te.length, ye, be = Te[he - 1].edge, Se = be.l === de ? be.r : be.l; ++Ae < he; )\n ye = Se, be = Te[Ae].edge, Se = be.l === de ? be.r : be.l, ce < ye.i && ce < Se.i && G8(de, ye, Se) < 0 && te.push([Y[ce], Y[ye.i], Y[Se.i]]);\n }), te;\n }, q.x = function(Y) {\n return arguments.length ? (C = mr(b = Y), q) : b;\n }, q.y = function(Y) {\n return arguments.length ? (D = mr(A = Y), q) : A;\n }, q.clipExtent = function(Y) {\n return arguments.length ? (E = Y ?? cd, q) : E === cd ? null : E;\n }, q.size = function(Y) {\n return arguments.length ? q.clipExtent(Y && [[0, 0], Y]) : E === cd ? null : E && E[1];\n }, q;\n };\n var cd = [[-1e6, -1e6], [1e6, 1e6]];\n function G8(c, b, A) {\n return (c.x - A.x) * (b.y - c.y) - (c.x - b.x) * (A.y - c.y);\n }\n t.geom.delaunay = function(c) {\n return t.geom.voronoi().triangles(c);\n }, t.geom.quadtree = function(c, b, A, C, D) {\n var E = ks, q = of, N;\n if (N = arguments.length)\n return E = V8, q = q8, N === 3 && (D = A, C = b, A = b = 0), Y(c);\n function Y(te) {\n var ne, ce = mr(E), de = mr(q), Te, Ae, he, ye, be, Se, De, we;\n if (b != null)\n be = b, Se = A, De = C, we = D;\n else if (De = we = -(be = Se = 1 / 0), Te = [], Ae = [], ye = te.length, N) for (he = 0; he < ye; ++he)\n ne = te[he], ne.x < be && (be = ne.x), ne.y < Se && (Se = ne.y), ne.x > De && (De = ne.x), ne.y > we && (we = ne.y), Te.push(ne.x), Ae.push(ne.y);\n else for (he = 0; he < ye; ++he) {\n var Ze = +ce(ne = te[he], he), mt = +de(ne, he);\n Ze < be && (be = Ze), mt < Se && (Se = mt), Ze > De && (De = Ze), mt > we && (we = mt), Te.push(Ze), Ae.push(mt);\n }\n var xt = De - be, yt = we - Se;\n xt > yt ? we = Se + xt : De = be + yt;\n function Lt(Ft, Gt, gr, Yr, xr, dt, Zt, Jt) {\n if (!(isNaN(gr) || isNaN(Yr)))\n if (Ft.leaf) {\n var yr = Ft.x, Gr = Ft.y;\n if (yr != null)\n if (w(yr - gr) + w(Gr - Yr) < 0.01)\n Dt(Ft, Gt, gr, Yr, xr, dt, Zt, Jt);\n else {\n var un = Ft.point;\n Ft.x = Ft.y = Ft.point = null, Dt(Ft, un, yr, Gr, xr, dt, Zt, Jt), Dt(Ft, Gt, gr, Yr, xr, dt, Zt, Jt);\n }\n else\n Ft.x = gr, Ft.y = Yr, Ft.point = Gt;\n } else\n Dt(Ft, Gt, gr, Yr, xr, dt, Zt, Jt);\n }\n function Dt(Ft, Gt, gr, Yr, xr, dt, Zt, Jt) {\n var yr = (xr + Zt) * 0.5, Gr = (dt + Jt) * 0.5, un = gr >= yr, kn = Yr >= Gr, $n = kn << 1 | un;\n Ft.leaf = !1, Ft = Ft.nodes[$n] || (Ft.nodes[$n] = N_()), un ? xr = yr : Zt = yr, kn ? dt = Gr : Jt = Gr, Lt(Ft, Gt, gr, Yr, xr, dt, Zt, Jt);\n }\n var Wt = N_();\n if (Wt.add = function(Ft) {\n Lt(Wt, Ft, +ce(Ft, ++he), +de(Ft, he), be, Se, De, we);\n }, Wt.visit = function(Ft) {\n cf(Ft, Wt, be, Se, De, we);\n }, Wt.find = function(Ft) {\n return W8(Wt, Ft[0], Ft[1], be, Se, De, we);\n }, he = -1, b == null) {\n for (; ++he < ye; )\n Lt(Wt, te[he], Te[he], Ae[he], be, Se, De, we);\n --he;\n } else te.forEach(Wt.add);\n return Te = Ae = te = ne = null, Wt;\n }\n return Y.x = function(te) {\n return arguments.length ? (E = te, Y) : E;\n }, Y.y = function(te) {\n return arguments.length ? (q = te, Y) : q;\n }, Y.extent = function(te) {\n return arguments.length ? (te == null ? b = A = C = D = null : (b = +te[0][0], A = +te[0][1], C = +te[1][0], D = +te[1][1]), Y) : b == null ? null : [[b, A], [C, D]];\n }, Y.size = function(te) {\n return arguments.length ? (te == null ? b = A = C = D = null : (b = A = 0, C = +te[0], D = +te[1]), Y) : b == null ? null : [C - b, D - A];\n }, Y;\n };\n function V8(c) {\n return c.x;\n }\n function q8(c) {\n return c.y;\n }\n function N_() {\n return {\n leaf: !0,\n nodes: [],\n point: null,\n x: null,\n y: null\n };\n }\n function cf(c, b, A, C, D, E) {\n if (!c(b, A, C, D, E)) {\n var q = (A + D) * 0.5, N = (C + E) * 0.5, Y = b.nodes;\n Y[0] && cf(c, Y[0], A, C, q, N), Y[1] && cf(c, Y[1], q, C, D, N), Y[2] && cf(c, Y[2], A, N, q, E), Y[3] && cf(c, Y[3], q, N, D, E);\n }\n }\n function W8(c, b, A, C, D, E, q) {\n var N = 1 / 0, Y;\n return function te(ne, ce, de, Te, Ae) {\n if (!(ce > E || de > q || Te < C || Ae < D)) {\n if (he = ne.point) {\n var he, ye = b - ne.x, be = A - ne.y, Se = ye * ye + be * be;\n if (Se < N) {\n var De = Math.sqrt(N = Se);\n C = b - De, D = A - De, E = b + De, q = A + De, Y = he;\n }\n }\n for (var we = ne.nodes, Ze = (ce + Te) * 0.5, mt = (de + Ae) * 0.5, xt = b >= Ze, yt = A >= mt, Lt = yt << 1 | xt, Dt = Lt + 4; Lt < Dt; ++Lt)\n if (ne = we[Lt & 3]) switch (Lt & 3) {\n case 0:\n te(ne, ce, de, Ze, mt);\n break;\n case 1:\n te(ne, Ze, de, Te, mt);\n break;\n case 2:\n te(ne, ce, mt, Ze, Ae);\n break;\n case 3:\n te(ne, Ze, mt, Te, Ae);\n break;\n }\n }\n }(c, C, D, E, q), Y;\n }\n t.interpolateRgb = om;\n function om(c, b) {\n c = t.rgb(c), b = t.rgb(b);\n var A = c.r, C = c.g, D = c.b, E = b.r - A, q = b.g - C, N = b.b - D;\n return function(Y) {\n return \"#\" + vn(Math.round(A + E * Y)) + vn(Math.round(C + q * Y)) + vn(Math.round(D + N * Y));\n };\n }\n t.interpolateObject = O_;\n function O_(c, b) {\n var A = {}, C = {}, D;\n for (D in c)\n D in b ? A[D] = kl(c[D], b[D]) : C[D] = c[D];\n for (D in b)\n D in c || (C[D] = b[D]);\n return function(E) {\n for (D in A) C[D] = A[D](E);\n return C;\n };\n }\n t.interpolateNumber = ao;\n function ao(c, b) {\n return c = +c, b = +b, function(A) {\n return c * (1 - A) + b * A;\n };\n }\n t.interpolateString = H_;\n function H_(c, b) {\n var A = lm.lastIndex = sm.lastIndex = 0, C, D, E, q = -1, N = [], Y = [];\n for (c = c + \"\", b = b + \"\"; (C = lm.exec(c)) && (D = sm.exec(b)); )\n (E = D.index) > A && (E = b.slice(A, E), N[q] ? N[q] += E : N[++q] = E), (C = C[0]) === (D = D[0]) ? N[q] ? N[q] += D : N[++q] = D : (N[++q] = null, Y.push({\n i: q,\n x: ao(C, D)\n })), A = sm.lastIndex;\n return A < b.length && (E = b.slice(A), N[q] ? N[q] += E : N[++q] = E), N.length < 2 ? Y[0] ? (b = Y[0].x, function(te) {\n return b(te) + \"\";\n }) : function() {\n return b;\n } : (b = Y.length, function(te) {\n for (var ne = 0, ce; ne < b; ++ne) N[(ce = Y[ne]).i] = ce.x(te);\n return N.join(\"\");\n });\n }\n var lm = /[-+]?(?:\\d+\\.?\\d*|\\.?\\d+)(?:[eE][-+]?\\d+)?/g, sm = new RegExp(lm.source, \"g\");\n t.interpolate = kl;\n function kl(c, b) {\n for (var A = t.interpolators.length, C; --A >= 0 && !(C = t.interpolators[A](c, b)); ) ;\n return C;\n }\n t.interpolators = [function(c, b) {\n var A = typeof b;\n return (A === \"string\" ? ka.has(b.toLowerCase()) || /^(#|rgb\\(|hsl\\()/i.test(b) ? om : H_ : b instanceof It ? om : Array.isArray(b) ? dd : A === \"object\" && isNaN(b) ? O_ : ao)(c, b);\n }], t.interpolateArray = dd;\n function dd(c, b) {\n var A = [], C = [], D = c.length, E = b.length, q = Math.min(c.length, b.length), N;\n for (N = 0; N < q; ++N) A.push(kl(c[N], b[N]));\n for (; N < D; ++N) C[N] = c[N];\n for (; N < E; ++N) C[N] = b[N];\n return function(Y) {\n for (N = 0; N < q; ++N) C[N] = A[N](Y);\n return C;\n };\n }\n var B_ = function() {\n return V;\n }, Z8 = t.map({\n linear: B_,\n poly: eF,\n quad: function() {\n return K8;\n },\n cubic: function() {\n return J8;\n },\n sin: function() {\n return tF;\n },\n exp: function() {\n return rF;\n },\n circle: function() {\n return nF;\n },\n elastic: aF,\n back: iF,\n bounce: function() {\n return oF;\n }\n }), Y8 = t.map({\n in: V,\n out: j_,\n \"in-out\": U_,\n \"out-in\": function(c) {\n return U_(j_(c));\n }\n });\n t.ease = function(c) {\n var b = c.indexOf(\"-\"), A = b >= 0 ? c.slice(0, b) : c, C = b >= 0 ? c.slice(b + 1) : \"in\";\n return A = Z8.get(A) || B_, C = Y8.get(C) || V, X8(C(A.apply(null, r.call(arguments, 1))));\n };\n function X8(c) {\n return function(b) {\n return b <= 0 ? 0 : b >= 1 ? 1 : c(b);\n };\n }\n function j_(c) {\n return function(b) {\n return 1 - c(1 - b);\n };\n }\n function U_(c) {\n return function(b) {\n return 0.5 * (b < 0.5 ? c(2 * b) : 2 - c(2 - 2 * b));\n };\n }\n function K8(c) {\n return c * c;\n }\n function J8(c) {\n return c * c * c;\n }\n function Q8(c) {\n if (c <= 0) return 0;\n if (c >= 1) return 1;\n var b = c * c, A = b * c;\n return 4 * (c < 0.5 ? A : 3 * (c - b) + A - 0.75);\n }\n function eF(c) {\n return function(b) {\n return Math.pow(b, c);\n };\n }\n function tF(c) {\n return 1 - Math.cos(c * se);\n }\n function rF(c) {\n return Math.pow(2, 10 * (c - 1));\n }\n function nF(c) {\n return 1 - Math.sqrt(1 - c * c);\n }\n function aF(c, b) {\n var A;\n return arguments.length < 2 && (b = 0.45), arguments.length ? A = b / ct * Math.asin(1 / c) : (c = 1, A = b / 4), function(C) {\n return 1 + c * Math.pow(2, -10 * C) * Math.sin((C - A) * ct / b);\n };\n }\n function iF(c) {\n return c || (c = 1.70158), function(b) {\n return b * b * ((c + 1) * b - c);\n };\n }\n function oF(c) {\n return c < 1 / 2.75 ? 7.5625 * c * c : c < 2 / 2.75 ? 7.5625 * (c -= 1.5 / 2.75) * c + 0.75 : c < 2.5 / 2.75 ? 7.5625 * (c -= 2.25 / 2.75) * c + 0.9375 : 7.5625 * (c -= 2.625 / 2.75) * c + 0.984375;\n }\n t.interpolateHcl = lF;\n function lF(c, b) {\n c = t.hcl(c), b = t.hcl(b);\n var A = c.h, C = c.c, D = c.l, E = b.h - A, q = b.c - C, N = b.l - D;\n return isNaN(q) && (q = 0, C = isNaN(C) ? b.c : C), isNaN(E) ? (E = 0, A = isNaN(A) ? b.h : A) : E > 180 ? E -= 360 : E < -180 && (E += 360), function(Y) {\n return Kt(A + E * Y, C + q * Y, D + N * Y) + \"\";\n };\n }\n t.interpolateHsl = sF;\n function sF(c, b) {\n c = t.hsl(c), b = t.hsl(b);\n var A = c.h, C = c.s, D = c.l, E = b.h - A, q = b.s - C, N = b.l - D;\n return isNaN(q) && (q = 0, C = isNaN(C) ? b.s : C), isNaN(E) ? (E = 0, A = isNaN(A) ? b.h : A) : E > 180 ? E -= 360 : E < -180 && (E += 360), function(Y) {\n return Ot(A + E * Y, C + q * Y, D + N * Y) + \"\";\n };\n }\n t.interpolateLab = uF;\n function uF(c, b) {\n c = t.lab(c), b = t.lab(b);\n var A = c.l, C = c.a, D = c.b, E = b.l - A, q = b.a - C, N = b.b - D;\n return function(Y) {\n return Ct(A + E * Y, C + q * Y, D + N * Y) + \"\";\n };\n }\n t.interpolateRound = G_;\n function G_(c, b) {\n return b -= c, function(A) {\n return Math.round(c + b * A);\n };\n }\n t.transform = function(c) {\n var b = a.createElementNS(t.ns.prefix.svg, \"g\");\n return (t.transform = function(A) {\n if (A != null) {\n b.setAttribute(\"transform\", A);\n var C = b.transform.baseVal.consolidate();\n }\n return new V_(C ? C.matrix : cF);\n })(c);\n };\n function V_(c) {\n var b = [c.a, c.b], A = [c.c, c.d], C = W_(b), D = q_(b, A), E = W_(fF(A, b, -D)) || 0;\n b[0] * A[1] < A[0] * b[1] && (b[0] *= -1, b[1] *= -1, C *= -1, D *= -1), this.rotate = (C ? Math.atan2(b[1], b[0]) : Math.atan2(-A[0], A[1])) * fe, this.translate = [c.e, c.f], this.scale = [C, E], this.skew = E ? Math.atan2(D, E) * fe : 0;\n }\n V_.prototype.toString = function() {\n return \"translate(\" + this.translate + \")rotate(\" + this.rotate + \")skewX(\" + this.skew + \")scale(\" + this.scale + \")\";\n };\n function q_(c, b) {\n return c[0] * b[0] + c[1] * b[1];\n }\n function W_(c) {\n var b = Math.sqrt(q_(c, c));\n return b && (c[0] /= b, c[1] /= b), b;\n }\n function fF(c, b, A) {\n return c[0] += A * b[0], c[1] += A * b[1], c;\n }\n var cF = {\n a: 1,\n b: 0,\n c: 0,\n d: 1,\n e: 0,\n f: 0\n };\n t.interpolateTransform = Z_;\n function Ls(c) {\n return c.length ? c.pop() + \",\" : \"\";\n }\n function dF(c, b, A, C) {\n if (c[0] !== b[0] || c[1] !== b[1]) {\n var D = A.push(\"translate(\", null, \",\", null, \")\");\n C.push({\n i: D - 4,\n x: ao(c[0], b[0])\n }, {\n i: D - 2,\n x: ao(c[1], b[1])\n });\n } else (b[0] || b[1]) && A.push(\"translate(\" + b + \")\");\n }\n function hF(c, b, A, C) {\n c !== b ? (c - b > 180 ? b += 360 : b - c > 180 && (c += 360), C.push({\n i: A.push(Ls(A) + \"rotate(\", null, \")\") - 2,\n x: ao(c, b)\n })) : b && A.push(Ls(A) + \"rotate(\" + b + \")\");\n }\n function vF(c, b, A, C) {\n c !== b ? C.push({\n i: A.push(Ls(A) + \"skewX(\", null, \")\") - 2,\n x: ao(c, b)\n }) : b && A.push(Ls(A) + \"skewX(\" + b + \")\");\n }\n function pF(c, b, A, C) {\n if (c[0] !== b[0] || c[1] !== b[1]) {\n var D = A.push(Ls(A) + \"scale(\", null, \",\", null, \")\");\n C.push({\n i: D - 4,\n x: ao(c[0], b[0])\n }, {\n i: D - 2,\n x: ao(c[1], b[1])\n });\n } else (b[0] !== 1 || b[1] !== 1) && A.push(Ls(A) + \"scale(\" + b + \")\");\n }\n function Z_(c, b) {\n var A = [], C = [];\n return c = t.transform(c), b = t.transform(b), dF(c.translate, b.translate, A, C), hF(c.rotate, b.rotate, A, C), vF(c.skew, b.skew, A, C), pF(c.scale, b.scale, A, C), c = b = null, function(D) {\n for (var E = -1, q = C.length, N; ++E < q; ) A[(N = C[E]).i] = N.x(D);\n return A.join(\"\");\n };\n }\n function mF(c, b) {\n return b = (b -= c = +c) || 1 / b, function(A) {\n return (A - c) / b;\n };\n }\n function gF(c, b) {\n return b = (b -= c = +c) || 1 / b, function(A) {\n return Math.max(0, Math.min(1, (A - c) / b));\n };\n }\n t.layout = {}, t.layout.bundle = function() {\n return function(c) {\n for (var b = [], A = -1, C = c.length; ++A < C; ) b.push(yF(c[A]));\n return b;\n };\n };\n function yF(c) {\n for (var b = c.source, A = c.target, C = bF(b, A), D = [b]; b !== C; )\n b = b.parent, D.push(b);\n for (var E = D.length; A !== C; )\n D.splice(E, 0, A), A = A.parent;\n return D;\n }\n function Y_(c) {\n for (var b = [], A = c.parent; A != null; )\n b.push(c), c = A, A = A.parent;\n return b.push(c), b;\n }\n function bF(c, b) {\n if (c === b) return c;\n for (var A = Y_(c), C = Y_(b), D = A.pop(), E = C.pop(), q = null; D === E; )\n q = D, D = A.pop(), E = C.pop();\n return q;\n }\n t.layout.chord = function() {\n var c = {}, b, A, C, D, E = 0, q, N, Y;\n function te() {\n var ce = {}, de = [], Te = t.range(D), Ae = [], he, ye, be, Se, De;\n for (b = [], A = [], he = 0, Se = -1; ++Se < D; ) {\n for (ye = 0, De = -1; ++De < D; )\n ye += C[Se][De];\n de.push(ye), Ae.push(t.range(D)), he += ye;\n }\n for (q && Te.sort(function(Wt, Ft) {\n return q(de[Wt], de[Ft]);\n }), N && Ae.forEach(function(Wt, Ft) {\n Wt.sort(function(Gt, gr) {\n return N(C[Ft][Gt], C[Ft][gr]);\n });\n }), he = (ct - E * D) / he, ye = 0, Se = -1; ++Se < D; ) {\n for (be = ye, De = -1; ++De < D; ) {\n var we = Te[Se], Ze = Ae[we][De], mt = C[we][Ze], xt = ye, yt = ye += mt * he;\n ce[we + \"-\" + Ze] = {\n index: we,\n subindex: Ze,\n startAngle: xt,\n endAngle: yt,\n value: mt\n };\n }\n A[we] = {\n index: we,\n startAngle: be,\n endAngle: ye,\n value: de[we]\n }, ye += E;\n }\n for (Se = -1; ++Se < D; )\n for (De = Se - 1; ++De < D; ) {\n var Lt = ce[Se + \"-\" + De], Dt = ce[De + \"-\" + Se];\n (Lt.value || Dt.value) && b.push(Lt.value < Dt.value ? {\n source: Dt,\n target: Lt\n } : {\n source: Lt,\n target: Dt\n });\n }\n Y && ne();\n }\n function ne() {\n b.sort(function(ce, de) {\n return Y((ce.source.value + ce.target.value) / 2, (de.source.value + de.target.value) / 2);\n });\n }\n return c.matrix = function(ce) {\n return arguments.length ? (D = (C = ce) && C.length, b = A = null, c) : C;\n }, c.padding = function(ce) {\n return arguments.length ? (E = ce, b = A = null, c) : E;\n }, c.sortGroups = function(ce) {\n return arguments.length ? (q = ce, b = A = null, c) : q;\n }, c.sortSubgroups = function(ce) {\n return arguments.length ? (N = ce, b = null, c) : N;\n }, c.sortChords = function(ce) {\n return arguments.length ? (Y = ce, b && ne(), c) : Y;\n }, c.chords = function() {\n return b || te(), b;\n }, c.groups = function() {\n return A || te(), A;\n }, c;\n }, t.layout.force = function() {\n var c = {}, b = t.dispatch(\"start\", \"tick\", \"end\"), A, C = [1, 1], D, E, q = 0.9, N = kF, Y = AF, te = -30, ne = MF, ce = 0.1, de = 0.64, Te = [], Ae = [], he, ye, be;\n function Se(we) {\n return function(Ze, mt, xt, yt) {\n if (Ze.point !== we) {\n var Lt = Ze.cx - we.x, Dt = Ze.cy - we.y, Wt = yt - mt, Ft = Lt * Lt + Dt * Dt;\n if (Wt * Wt / de < Ft) {\n if (Ft < ne) {\n var Gt = Ze.charge / Ft;\n we.px -= Lt * Gt, we.py -= Dt * Gt;\n }\n return !0;\n }\n if (Ze.point && Ft && Ft < ne) {\n var Gt = Ze.pointCharge / Ft;\n we.px -= Lt * Gt, we.py -= Dt * Gt;\n }\n }\n return !Ze.charge;\n };\n }\n c.tick = function() {\n if ((E *= 0.99) < 5e-3)\n return A = null, b.end({\n type: \"end\",\n alpha: E = 0\n }), !0;\n var we = Te.length, Ze = Ae.length, mt, xt, yt, Lt, Dt, Wt, Ft, Gt, gr;\n for (xt = 0; xt < Ze; ++xt)\n yt = Ae[xt], Lt = yt.source, Dt = yt.target, Gt = Dt.x - Lt.x, gr = Dt.y - Lt.y, (Wt = Gt * Gt + gr * gr) && (Wt = E * ye[xt] * ((Wt = Math.sqrt(Wt)) - he[xt]) / Wt, Gt *= Wt, gr *= Wt, Dt.x -= Gt * (Ft = Lt.weight + Dt.weight ? Lt.weight / (Lt.weight + Dt.weight) : 0.5), Dt.y -= gr * Ft, Lt.x += Gt * (Ft = 1 - Ft), Lt.y += gr * Ft);\n if ((Ft = E * ce) && (Gt = C[0] / 2, gr = C[1] / 2, xt = -1, Ft))\n for (; ++xt < we; )\n yt = Te[xt], yt.x += (Gt - yt.x) * Ft, yt.y += (gr - yt.y) * Ft;\n if (te)\n for (X_(mt = t.geom.quadtree(Te), E, be), xt = -1; ++xt < we; )\n (yt = Te[xt]).fixed || mt.visit(Se(yt));\n for (xt = -1; ++xt < we; )\n yt = Te[xt], yt.fixed ? (yt.x = yt.px, yt.y = yt.py) : (yt.x -= (yt.px - (yt.px = yt.x)) * q, yt.y -= (yt.py - (yt.py = yt.y)) * q);\n b.tick({\n type: \"tick\",\n alpha: E\n });\n }, c.nodes = function(we) {\n return arguments.length ? (Te = we, c) : Te;\n }, c.links = function(we) {\n return arguments.length ? (Ae = we, c) : Ae;\n }, c.size = function(we) {\n return arguments.length ? (C = we, c) : C;\n }, c.linkDistance = function(we) {\n return arguments.length ? (N = typeof we == \"function\" ? we : +we, c) : N;\n }, c.distance = c.linkDistance, c.linkStrength = function(we) {\n return arguments.length ? (Y = typeof we == \"function\" ? we : +we, c) : Y;\n }, c.friction = function(we) {\n return arguments.length ? (q = +we, c) : q;\n }, c.charge = function(we) {\n return arguments.length ? (te = typeof we == \"function\" ? we : +we, c) : te;\n }, c.chargeDistance = function(we) {\n return arguments.length ? (ne = we * we, c) : Math.sqrt(ne);\n }, c.gravity = function(we) {\n return arguments.length ? (ce = +we, c) : ce;\n }, c.theta = function(we) {\n return arguments.length ? (de = we * we, c) : Math.sqrt(de);\n }, c.alpha = function(we) {\n return arguments.length ? (we = +we, E ? we > 0 ? E = we : (A.c = null, A.t = NaN, A = null, b.end({\n type: \"end\",\n alpha: E = 0\n })) : we > 0 && (b.start({\n type: \"start\",\n alpha: E = we\n }), A = ha(c.tick)), c) : E;\n }, c.start = function() {\n var we, Ze = Te.length, mt = Ae.length, xt = C[0], yt = C[1], Lt, Dt;\n for (we = 0; we < Ze; ++we)\n (Dt = Te[we]).index = we, Dt.weight = 0;\n for (we = 0; we < mt; ++we)\n Dt = Ae[we], typeof Dt.source == \"number\" && (Dt.source = Te[Dt.source]), typeof Dt.target == \"number\" && (Dt.target = Te[Dt.target]), ++Dt.source.weight, ++Dt.target.weight;\n for (we = 0; we < Ze; ++we)\n Dt = Te[we], isNaN(Dt.x) && (Dt.x = Wt(\"x\", xt)), isNaN(Dt.y) && (Dt.y = Wt(\"y\", yt)), isNaN(Dt.px) && (Dt.px = Dt.x), isNaN(Dt.py) && (Dt.py = Dt.y);\n if (he = [], typeof N == \"function\") for (we = 0; we < mt; ++we) he[we] = +N.call(this, Ae[we], we);\n else for (we = 0; we < mt; ++we) he[we] = N;\n if (ye = [], typeof Y == \"function\") for (we = 0; we < mt; ++we) ye[we] = +Y.call(this, Ae[we], we);\n else for (we = 0; we < mt; ++we) ye[we] = Y;\n if (be = [], typeof te == \"function\") for (we = 0; we < Ze; ++we) be[we] = +te.call(this, Te[we], we);\n else for (we = 0; we < Ze; ++we) be[we] = te;\n function Wt(Ft, Gt) {\n if (!Lt) {\n for (Lt = new Array(Ze), xr = 0; xr < Ze; ++xr)\n Lt[xr] = [];\n for (xr = 0; xr < mt; ++xr) {\n var gr = Ae[xr];\n Lt[gr.source.index].push(gr.target), Lt[gr.target.index].push(gr.source);\n }\n }\n for (var Yr = Lt[we], xr = -1, dt = Yr.length, Zt; ++xr < dt; ) if (!isNaN(Zt = Yr[xr][Ft])) return Zt;\n return Math.random() * Gt;\n }\n return c.resume();\n }, c.resume = function() {\n return c.alpha(0.1);\n }, c.stop = function() {\n return c.alpha(0);\n }, c.drag = function() {\n if (D || (D = t.behavior.drag().origin(V).on(\"dragstart.force\", _F).on(\"drag.force\", De).on(\"dragend.force\", xF)), !arguments.length) return D;\n this.on(\"mouseover.force\", wF).on(\"mouseout.force\", TF).call(D);\n };\n function De(we) {\n we.px = t.event.x, we.py = t.event.y, c.resume();\n }\n return t.rebind(c, b, \"on\");\n };\n function _F(c) {\n c.fixed |= 2;\n }\n function xF(c) {\n c.fixed &= -7;\n }\n function wF(c) {\n c.fixed |= 4, c.px = c.x, c.py = c.y;\n }\n function TF(c) {\n c.fixed &= -5;\n }\n function X_(c, b, A) {\n var C = 0, D = 0;\n if (c.charge = 0, !c.leaf)\n for (var E = c.nodes, q = E.length, N = -1, Y; ++N < q; )\n Y = E[N], Y != null && (X_(Y, b, A), c.charge += Y.charge, C += Y.charge * Y.cx, D += Y.charge * Y.cy);\n if (c.point) {\n c.leaf || (c.point.x += Math.random() - 0.5, c.point.y += Math.random() - 0.5);\n var te = b * A[c.point.index];\n c.charge += c.pointCharge = te, C += te * c.point.x, D += te * c.point.y;\n }\n c.cx = C / c.charge, c.cy = D / c.charge;\n }\n var kF = 20, AF = 1, MF = 1 / 0;\n t.layout.hierarchy = function() {\n var c = LF, b = SF, A = CF;\n function C(D) {\n var E = [D], q = [], N;\n for (D.depth = 0; (N = E.pop()) != null; )\n if (q.push(N), (te = b.call(C, N, N.depth)) && (Y = te.length)) {\n for (var Y, te, ne; --Y >= 0; )\n E.push(ne = te[Y]), ne.parent = N, ne.depth = N.depth + 1;\n A && (N.value = 0), N.children = te;\n } else\n A && (N.value = +A.call(C, N, N.depth) || 0), delete N.children;\n return ki(D, function(ce) {\n var de, Te;\n c && (de = ce.children) && de.sort(c), A && (Te = ce.parent) && (Te.value += ce.value);\n }), q;\n }\n return C.sort = function(D) {\n return arguments.length ? (c = D, C) : c;\n }, C.children = function(D) {\n return arguments.length ? (b = D, C) : b;\n }, C.value = function(D) {\n return arguments.length ? (A = D, C) : A;\n }, C.revalue = function(D) {\n return A && (hf(D, function(E) {\n E.children && (E.value = 0);\n }), ki(D, function(E) {\n var q;\n E.children || (E.value = +A.call(C, E, E.depth) || 0), (q = E.parent) && (q.value += E.value);\n })), D;\n }, C;\n };\n function df(c, b) {\n return t.rebind(c, b, \"sort\", \"children\", \"value\"), c.nodes = c, c.links = DF, c;\n }\n function hf(c, b) {\n for (var A = [c]; (c = A.pop()) != null; )\n if (b(c), (D = c.children) && (C = D.length))\n for (var C, D; --C >= 0; ) A.push(D[C]);\n }\n function ki(c, b) {\n for (var A = [c], C = []; (c = A.pop()) != null; )\n if (C.push(c), (q = c.children) && (E = q.length))\n for (var D = -1, E, q; ++D < E; ) A.push(q[D]);\n for (; (c = C.pop()) != null; )\n b(c);\n }\n function SF(c) {\n return c.children;\n }\n function CF(c) {\n return c.value;\n }\n function LF(c, b) {\n return b.value - c.value;\n }\n function DF(c) {\n return t.merge(c.map(function(b) {\n return (b.children || []).map(function(A) {\n return {\n source: b,\n target: A\n };\n });\n }));\n }\n t.layout.partition = function() {\n var c = t.layout.hierarchy(), b = [1, 1];\n function A(E, q, N, Y) {\n var te = E.children;\n if (E.x = q, E.y = E.depth * Y, E.dx = N, E.dy = Y, te && (ce = te.length)) {\n var ne = -1, ce, de, Te;\n for (N = E.value ? N / E.value : 0; ++ne < ce; )\n A(de = te[ne], q, Te = de.value * N, Y), q += Te;\n }\n }\n function C(E) {\n var q = E.children, N = 0;\n if (q && (te = q.length))\n for (var Y = -1, te; ++Y < te; ) N = Math.max(N, C(q[Y]));\n return 1 + N;\n }\n function D(E, q) {\n var N = c.call(this, E, q);\n return A(N[0], 0, b[0], b[1] / C(N[0])), N;\n }\n return D.size = function(E) {\n return arguments.length ? (b = E, D) : b;\n }, df(D, c);\n }, t.layout.pie = function() {\n var c = Number, b = K_, A = 0, C = ct, D = 0;\n function E(q) {\n var N = q.length, Y = q.map(function(Se, De) {\n return +c.call(E, Se, De);\n }), te = +(typeof A == \"function\" ? A.apply(this, arguments) : A), ne = (typeof C == \"function\" ? C.apply(this, arguments) : C) - te, ce = Math.min(Math.abs(ne) / N, +(typeof D == \"function\" ? D.apply(this, arguments) : D)), de = ce * (ne < 0 ? -1 : 1), Te = t.sum(Y), Ae = Te ? (ne - N * de) / Te : 0, he = t.range(N), ye = [], be;\n return b != null && he.sort(b === K_ ? function(Se, De) {\n return Y[De] - Y[Se];\n } : function(Se, De) {\n return b(q[Se], q[De]);\n }), he.forEach(function(Se) {\n ye[Se] = {\n data: q[Se],\n value: be = Y[Se],\n startAngle: te,\n endAngle: te += be * Ae + de,\n padAngle: ce\n };\n }), ye;\n }\n return E.value = function(q) {\n return arguments.length ? (c = q, E) : c;\n }, E.sort = function(q) {\n return arguments.length ? (b = q, E) : b;\n }, E.startAngle = function(q) {\n return arguments.length ? (A = q, E) : A;\n }, E.endAngle = function(q) {\n return arguments.length ? (C = q, E) : C;\n }, E.padAngle = function(q) {\n return arguments.length ? (D = q, E) : D;\n }, E;\n };\n var K_ = {};\n t.layout.stack = function() {\n var c = V, b = um, A = fm, C = RF, D = EF, E = FF;\n function q(N, Y) {\n if (!(Ae = N.length)) return N;\n var te = N.map(function(Se, De) {\n return c.call(q, Se, De);\n }), ne = te.map(function(Se) {\n return Se.map(function(De, we) {\n return [D.call(q, De, we), E.call(q, De, we)];\n });\n }), ce = b.call(q, ne, Y);\n te = t.permute(te, ce), ne = t.permute(ne, ce);\n var de = A.call(q, ne, Y), Te = te[0].length, Ae, he, ye, be;\n for (ye = 0; ye < Te; ++ye)\n for (C.call(q, te[0][ye], be = de[ye], ne[0][ye][1]), he = 1; he < Ae; ++he)\n C.call(q, te[he][ye], be += ne[he - 1][ye][1], ne[he][ye][1]);\n return N;\n }\n return q.values = function(N) {\n return arguments.length ? (c = N, q) : c;\n }, q.order = function(N) {\n return arguments.length ? (b = typeof N == \"function\" ? N : PF.get(N) || um, q) : b;\n }, q.offset = function(N) {\n return arguments.length ? (A = typeof N == \"function\" ? N : $F.get(N) || fm, q) : A;\n }, q.x = function(N) {\n return arguments.length ? (D = N, q) : D;\n }, q.y = function(N) {\n return arguments.length ? (E = N, q) : E;\n }, q.out = function(N) {\n return arguments.length ? (C = N, q) : C;\n }, q;\n };\n function EF(c) {\n return c.x;\n }\n function FF(c) {\n return c.y;\n }\n function RF(c, b, A) {\n c.y0 = b, c.y = A;\n }\n var PF = t.map({\n \"inside-out\": function(c) {\n var b = c.length, A, C, D = c.map(zF), E = c.map(IF), q = t.range(b).sort(function(ce, de) {\n return D[ce] - D[de];\n }), N = 0, Y = 0, te = [], ne = [];\n for (A = 0; A < b; ++A)\n C = q[A], N < Y ? (N += E[C], te.push(C)) : (Y += E[C], ne.push(C));\n return ne.reverse().concat(te);\n },\n reverse: function(c) {\n return t.range(c.length).reverse();\n },\n default: um\n }), $F = t.map({\n silhouette: function(c) {\n var b = c.length, A = c[0].length, C = [], D = 0, E, q, N, Y = [];\n for (q = 0; q < A; ++q) {\n for (E = 0, N = 0; E < b; E++) N += c[E][q][1];\n N > D && (D = N), C.push(N);\n }\n for (q = 0; q < A; ++q)\n Y[q] = (D - C[q]) / 2;\n return Y;\n },\n wiggle: function(c) {\n var b = c.length, A = c[0], C = A.length, D, E, q, N, Y, te, ne, ce, de, Te = [];\n for (Te[0] = ce = de = 0, E = 1; E < C; ++E) {\n for (D = 0, N = 0; D < b; ++D) N += c[D][E][1];\n for (D = 0, Y = 0, ne = A[E][0] - A[E - 1][0]; D < b; ++D) {\n for (q = 0, te = (c[D][E][1] - c[D][E - 1][1]) / (2 * ne); q < D; ++q)\n te += (c[q][E][1] - c[q][E - 1][1]) / ne;\n Y += te * c[D][E][1];\n }\n Te[E] = ce -= N ? Y / N * ne : 0, ce < de && (de = ce);\n }\n for (E = 0; E < C; ++E) Te[E] -= de;\n return Te;\n },\n expand: function(c) {\n var b = c.length, A = c[0].length, C = 1 / b, D, E, q, N = [];\n for (E = 0; E < A; ++E) {\n for (D = 0, q = 0; D < b; D++) q += c[D][E][1];\n if (q) for (D = 0; D < b; D++) c[D][E][1] /= q;\n else for (D = 0; D < b; D++) c[D][E][1] = C;\n }\n for (E = 0; E < A; ++E) N[E] = 0;\n return N;\n },\n zero: fm\n });\n function um(c) {\n return t.range(c.length);\n }\n function fm(c) {\n for (var b = -1, A = c[0].length, C = []; ++b < A; ) C[b] = 0;\n return C;\n }\n function zF(c) {\n for (var b = 1, A = 0, C = c[0][1], D, E = c.length; b < E; ++b)\n (D = c[b][1]) > C && (A = b, C = D);\n return A;\n }\n function IF(c) {\n return c.reduce(NF, 0);\n }\n function NF(c, b) {\n return c + b[1];\n }\n t.layout.histogram = function() {\n var c = !0, b = Number, A = HF, C = OF;\n function D(E, de) {\n for (var N = [], Y = E.map(b, this), te = A.call(this, Y, de), ne = C.call(this, te, Y, de), ce, de = -1, Te = Y.length, Ae = ne.length - 1, he = c ? 1 : 1 / Te, ye; ++de < Ae; )\n ce = N[de] = [], ce.dx = ne[de + 1] - (ce.x = ne[de]), ce.y = 0;\n if (Ae > 0)\n for (de = -1; ++de < Te; )\n ye = Y[de], ye >= te[0] && ye <= te[1] && (ce = N[t.bisect(ne, ye, 1, Ae) - 1], ce.y += he, ce.push(E[de]));\n return N;\n }\n return D.value = function(E) {\n return arguments.length ? (b = E, D) : b;\n }, D.range = function(E) {\n return arguments.length ? (A = mr(E), D) : A;\n }, D.bins = function(E) {\n return arguments.length ? (C = typeof E == \"number\" ? function(q) {\n return J_(q, E);\n } : mr(E), D) : C;\n }, D.frequency = function(E) {\n return arguments.length ? (c = !!E, D) : c;\n }, D;\n };\n function OF(c, b) {\n return J_(c, Math.ceil(Math.log(b.length) / Math.LN2 + 1));\n }\n function J_(c, b) {\n for (var A = -1, C = +c[0], D = (c[1] - C) / b, E = []; ++A <= b; ) E[A] = D * A + C;\n return E;\n }\n function HF(c) {\n return [t.min(c), t.max(c)];\n }\n t.layout.pack = function() {\n var c = t.layout.hierarchy().sort(BF), b = 0, A = [1, 1], C;\n function D(E, q) {\n var N = c.call(this, E, q), Y = N[0], te = A[0], ne = A[1], ce = C == null ? Math.sqrt : typeof C == \"function\" ? C : function() {\n return C;\n };\n if (Y.x = Y.y = 0, ki(Y, function(Te) {\n Te.r = +ce(Te.value);\n }), ki(Y, tx), b) {\n var de = b * (C ? 1 : Math.max(2 * Y.r / te, 2 * Y.r / ne)) / 2;\n ki(Y, function(Te) {\n Te.r += de;\n }), ki(Y, tx), ki(Y, function(Te) {\n Te.r -= de;\n });\n }\n return rx(Y, te / 2, ne / 2, C ? 1 : 1 / Math.max(2 * Y.r / te, 2 * Y.r / ne)), N;\n }\n return D.size = function(E) {\n return arguments.length ? (A = E, D) : A;\n }, D.radius = function(E) {\n return arguments.length ? (C = E == null || typeof E == \"function\" ? E : +E, D) : C;\n }, D.padding = function(E) {\n return arguments.length ? (b = +E, D) : b;\n }, df(D, c);\n };\n function BF(c, b) {\n return c.value - b.value;\n }\n function cm(c, b) {\n var A = c._pack_next;\n c._pack_next = b, b._pack_prev = c, b._pack_next = A, A._pack_prev = b;\n }\n function Q_(c, b) {\n c._pack_next = b, b._pack_prev = c;\n }\n function ex(c, b) {\n var A = b.x - c.x, C = b.y - c.y, D = c.r + b.r;\n return 0.999 * D * D > A * A + C * C;\n }\n function tx(c) {\n if (!(b = c.children) || !(de = b.length)) return;\n var b, A = 1 / 0, C = -1 / 0, D = 1 / 0, E = -1 / 0, q, N, Y, te, ne, ce, de;\n function Te(we) {\n A = Math.min(we.x - we.r, A), C = Math.max(we.x + we.r, C), D = Math.min(we.y - we.r, D), E = Math.max(we.y + we.r, E);\n }\n if (b.forEach(jF), q = b[0], q.x = -q.r, q.y = 0, Te(q), de > 1 && (N = b[1], N.x = N.r, N.y = 0, Te(N), de > 2))\n for (Y = b[2], nx(q, N, Y), Te(Y), cm(q, Y), q._pack_prev = Y, cm(Y, N), N = q._pack_next, te = 3; te < de; te++) {\n nx(q, N, Y = b[te]);\n var Ae = 0, he = 1, ye = 1;\n for (ne = N._pack_next; ne !== N; ne = ne._pack_next, he++)\n if (ex(ne, Y)) {\n Ae = 1;\n break;\n }\n if (Ae == 1)\n for (ce = q._pack_prev; ce !== ne._pack_prev && !ex(ce, Y); ce = ce._pack_prev, ye++)\n ;\n Ae ? (he < ye || he == ye && N.r < q.r ? Q_(q, N = ne) : Q_(q = ce, N), te--) : (cm(q, Y), N = Y, Te(Y));\n }\n var be = (A + C) / 2, Se = (D + E) / 2, De = 0;\n for (te = 0; te < de; te++)\n Y = b[te], Y.x -= be, Y.y -= Se, De = Math.max(De, Y.r + Math.sqrt(Y.x * Y.x + Y.y * Y.y));\n c.r = De, b.forEach(UF);\n }\n function jF(c) {\n c._pack_next = c._pack_prev = c;\n }\n function UF(c) {\n delete c._pack_next, delete c._pack_prev;\n }\n function rx(c, b, A, C) {\n var D = c.children;\n if (c.x = b += C * c.x, c.y = A += C * c.y, c.r *= C, D)\n for (var E = -1, q = D.length; ++E < q; ) rx(D[E], b, A, C);\n }\n function nx(c, b, A) {\n var C = c.r + A.r, D = b.x - c.x, E = b.y - c.y;\n if (C && (D || E)) {\n var q = b.r + A.r, N = D * D + E * E;\n q *= q, C *= C;\n var Y = 0.5 + (C - q) / (2 * N), te = Math.sqrt(Math.max(0, 2 * q * (C + N) - (C -= N) * C - q * q)) / (2 * N);\n A.x = c.x + Y * D + te * E, A.y = c.y + Y * E - te * D;\n } else\n A.x = c.x + C, A.y = c.y;\n }\n t.layout.tree = function() {\n var c = t.layout.hierarchy().sort(null).value(null), b = ax, A = [1, 1], C = null;\n function D(ne, ce) {\n var de = c.call(this, ne, ce), Te = de[0], Ae = E(Te);\n if (ki(Ae, q), Ae.parent.m = -Ae.z, hf(Ae, N), C) hf(Te, te);\n else {\n var he = Te, ye = Te, be = Te;\n hf(Te, function(Ze) {\n Ze.x < he.x && (he = Ze), Ze.x > ye.x && (ye = Ze), Ze.depth > be.depth && (be = Ze);\n });\n var Se = b(he, ye) / 2 - he.x, De = A[0] / (ye.x + b(ye, he) / 2 + Se), we = A[1] / (be.depth || 1);\n hf(Te, function(Ze) {\n Ze.x = (Ze.x + Se) * De, Ze.y = Ze.depth * we;\n });\n }\n return de;\n }\n function E(ne) {\n for (var ce = {\n A: null,\n children: [ne]\n }, de = [ce], Te; (Te = de.pop()) != null; )\n for (var Ae = Te.children, he, ye = 0, be = Ae.length; ye < be; ++ye)\n de.push((Ae[ye] = he = {\n _: Ae[ye],\n parent: Te,\n children: (he = Ae[ye].children) && he.slice() || [],\n A: null,\n a: null,\n z: 0,\n m: 0,\n c: 0,\n s: 0,\n t: null,\n i: ye\n }).a = he);\n return ce.children[0];\n }\n function q(ne) {\n var ce = ne.children, de = ne.parent.children, Te = ne.i ? de[ne.i - 1] : null;\n if (ce.length) {\n VF(ne);\n var Ae = (ce[0].z + ce[ce.length - 1].z) / 2;\n Te ? (ne.z = Te.z + b(ne._, Te._), ne.m = ne.z - Ae) : ne.z = Ae;\n } else Te && (ne.z = Te.z + b(ne._, Te._));\n ne.parent.A = Y(ne, Te, ne.parent.A || de[0]);\n }\n function N(ne) {\n ne._.x = ne.z + ne.parent.m, ne.m += ne.parent.m;\n }\n function Y(ne, ce, de) {\n if (ce) {\n for (var Te = ne, Ae = ne, he = ce, ye = Te.parent.children[0], be = Te.m, Se = Ae.m, De = he.m, we = ye.m, Ze; he = hm(he), Te = dm(Te), he && Te; )\n ye = dm(ye), Ae = hm(Ae), Ae.a = ne, Ze = he.z + De - Te.z - be + b(he._, Te._), Ze > 0 && (GF(qF(he, ne, de), ne, Ze), be += Ze, Se += Ze), De += he.m, be += Te.m, we += ye.m, Se += Ae.m;\n he && !hm(Ae) && (Ae.t = he, Ae.m += De - Se), Te && !dm(ye) && (ye.t = Te, ye.m += be - we, de = ne);\n }\n return de;\n }\n function te(ne) {\n ne.x *= A[0], ne.y = ne.depth * A[1];\n }\n return D.separation = function(ne) {\n return arguments.length ? (b = ne, D) : b;\n }, D.size = function(ne) {\n return arguments.length ? (C = (A = ne) == null ? te : null, D) : C ? null : A;\n }, D.nodeSize = function(ne) {\n return arguments.length ? (C = (A = ne) == null ? null : te, D) : C ? A : null;\n }, df(D, c);\n };\n function ax(c, b) {\n return c.parent == b.parent ? 1 : 2;\n }\n function dm(c) {\n var b = c.children;\n return b.length ? b[0] : c.t;\n }\n function hm(c) {\n var b = c.children, A;\n return (A = b.length) ? b[A - 1] : c.t;\n }\n function GF(c, b, A) {\n var C = A / (b.i - c.i);\n b.c -= C, b.s += A, c.c += C, b.z += A, b.m += A;\n }\n function VF(c) {\n for (var b = 0, A = 0, C = c.children, D = C.length, E; --D >= 0; )\n E = C[D], E.z += b, E.m += b, b += E.s + (A += E.c);\n }\n function qF(c, b, A) {\n return c.a.parent === b.parent ? c.a : A;\n }\n t.layout.cluster = function() {\n var c = t.layout.hierarchy().sort(null).value(null), b = ax, A = [1, 1], C = !1;\n function D(E, q) {\n var N = c.call(this, E, q), Y = N[0], te, ne = 0;\n ki(Y, function(he) {\n var ye = he.children;\n ye && ye.length ? (he.x = ZF(ye), he.y = WF(ye)) : (he.x = te ? ne += b(he, te) : 0, he.y = 0, te = he);\n });\n var ce = ix(Y), de = ox(Y), Te = ce.x - b(ce, de) / 2, Ae = de.x + b(de, ce) / 2;\n return ki(Y, C ? function(he) {\n he.x = (he.x - Y.x) * A[0], he.y = (Y.y - he.y) * A[1];\n } : function(he) {\n he.x = (he.x - Te) / (Ae - Te) * A[0], he.y = (1 - (Y.y ? he.y / Y.y : 1)) * A[1];\n }), N;\n }\n return D.separation = function(E) {\n return arguments.length ? (b = E, D) : b;\n }, D.size = function(E) {\n return arguments.length ? (C = (A = E) == null, D) : C ? null : A;\n }, D.nodeSize = function(E) {\n return arguments.length ? (C = (A = E) != null, D) : C ? A : null;\n }, df(D, c);\n };\n function WF(c) {\n return 1 + t.max(c, function(b) {\n return b.y;\n });\n }\n function ZF(c) {\n return c.reduce(function(b, A) {\n return b + A.x;\n }, 0) / c.length;\n }\n function ix(c) {\n var b = c.children;\n return b && b.length ? ix(b[0]) : c;\n }\n function ox(c) {\n var b = c.children, A;\n return b && (A = b.length) ? ox(b[A - 1]) : c;\n }\n t.layout.treemap = function() {\n var c = t.layout.hierarchy(), b = Math.round, A = [1, 1], C = null, D = vm, E = !1, q, N = \"squarify\", Y = 0.5 * (1 + Math.sqrt(5));\n function te(he, ye) {\n for (var be = -1, Se = he.length, De, we; ++be < Se; )\n we = (De = he[be]).value * (ye < 0 ? 0 : ye), De.area = isNaN(we) || we <= 0 ? 0 : we;\n }\n function ne(he) {\n var ye = he.children;\n if (ye && ye.length) {\n var be = D(he), Se = [], De = ye.slice(), we, Ze = 1 / 0, mt, xt = N === \"slice\" ? be.dx : N === \"dice\" ? be.dy : N === \"slice-dice\" ? he.depth & 1 ? be.dy : be.dx : Math.min(be.dx, be.dy), yt;\n for (te(De, be.dx * be.dy / he.value), Se.area = 0; (yt = De.length) > 0; )\n Se.push(we = De[yt - 1]), Se.area += we.area, N !== \"squarify\" || (mt = de(Se, xt)) <= Ze ? (De.pop(), Ze = mt) : (Se.area -= Se.pop().area, Te(Se, xt, be, !1), xt = Math.min(be.dx, be.dy), Se.length = Se.area = 0, Ze = 1 / 0);\n Se.length && (Te(Se, xt, be, !0), Se.length = Se.area = 0), ye.forEach(ne);\n }\n }\n function ce(he) {\n var ye = he.children;\n if (ye && ye.length) {\n var be = D(he), Se = ye.slice(), De, we = [];\n for (te(Se, be.dx * be.dy / he.value), we.area = 0; De = Se.pop(); )\n we.push(De), we.area += De.area, De.z != null && (Te(we, De.z ? be.dx : be.dy, be, !Se.length), we.length = we.area = 0);\n ye.forEach(ce);\n }\n }\n function de(he, ye) {\n for (var be = he.area, Se, De = 0, we = 1 / 0, Ze = -1, mt = he.length; ++Ze < mt; )\n (Se = he[Ze].area) && (Se < we && (we = Se), Se > De && (De = Se));\n return be *= be, ye *= ye, be ? Math.max(ye * De * Y / be, be / (ye * we * Y)) : 1 / 0;\n }\n function Te(he, ye, be, Se) {\n var De = -1, we = he.length, Ze = be.x, mt = be.y, xt = ye ? b(he.area / ye) : 0, yt;\n if (ye == be.dx) {\n for ((Se || xt > be.dy) && (xt = be.dy); ++De < we; )\n yt = he[De], yt.x = Ze, yt.y = mt, yt.dy = xt, Ze += yt.dx = Math.min(be.x + be.dx - Ze, xt ? b(yt.area / xt) : 0);\n yt.z = !0, yt.dx += be.x + be.dx - Ze, be.y += xt, be.dy -= xt;\n } else {\n for ((Se || xt > be.dx) && (xt = be.dx); ++De < we; )\n yt = he[De], yt.x = Ze, yt.y = mt, yt.dx = xt, mt += yt.dy = Math.min(be.y + be.dy - mt, xt ? b(yt.area / xt) : 0);\n yt.z = !1, yt.dy += be.y + be.dy - mt, be.x += xt, be.dx -= xt;\n }\n }\n function Ae(he) {\n var ye = q || c(he), be = ye[0];\n return be.x = be.y = 0, be.value ? (be.dx = A[0], be.dy = A[1]) : be.dx = be.dy = 0, q && c.revalue(be), te([be], be.dx * be.dy / be.value), (q ? ce : ne)(be), E && (q = ye), ye;\n }\n return Ae.size = function(he) {\n return arguments.length ? (A = he, Ae) : A;\n }, Ae.padding = function(he) {\n if (!arguments.length) return C;\n function ye(De) {\n var we = he.call(Ae, De, De.depth);\n return we == null ? vm(De) : lx(De, typeof we == \"number\" ? [we, we, we, we] : we);\n }\n function be(De) {\n return lx(De, he);\n }\n var Se;\n return D = (C = he) == null ? vm : (Se = typeof he) == \"function\" ? ye : (Se === \"number\" && (he = [he, he, he, he]), be), Ae;\n }, Ae.round = function(he) {\n return arguments.length ? (b = he ? Math.round : Number, Ae) : b != Number;\n }, Ae.sticky = function(he) {\n return arguments.length ? (E = he, q = null, Ae) : E;\n }, Ae.ratio = function(he) {\n return arguments.length ? (Y = he, Ae) : Y;\n }, Ae.mode = function(he) {\n return arguments.length ? (N = he + \"\", Ae) : N;\n }, df(Ae, c);\n };\n function vm(c) {\n return {\n x: c.x,\n y: c.y,\n dx: c.dx,\n dy: c.dy\n };\n }\n function lx(c, b) {\n var A = c.x + b[3], C = c.y + b[0], D = c.dx - b[1] - b[3], E = c.dy - b[0] - b[2];\n return D < 0 && (A += D / 2, D = 0), E < 0 && (C += E / 2, E = 0), {\n x: A,\n y: C,\n dx: D,\n dy: E\n };\n }\n t.random = {\n normal: function(c, b) {\n var A = arguments.length;\n return A < 2 && (b = 1), A < 1 && (c = 0), function() {\n var C, D, E;\n do\n C = Math.random() * 2 - 1, D = Math.random() * 2 - 1, E = C * C + D * D;\n while (!E || E > 1);\n return c + b * C * Math.sqrt(-2 * Math.log(E) / E);\n };\n },\n logNormal: function() {\n var c = t.random.normal.apply(t, arguments);\n return function() {\n return Math.exp(c());\n };\n },\n bates: function(c) {\n var b = t.random.irwinHall(c);\n return function() {\n return b() / c;\n };\n },\n irwinHall: function(c) {\n return function() {\n for (var b = 0, A = 0; A < c; A++) b += Math.random();\n return b;\n };\n }\n }, t.scale = {};\n function hd(c) {\n var b = c[0], A = c[c.length - 1];\n return b < A ? [b, A] : [A, b];\n }\n function vd(c) {\n return c.rangeExtent ? c.rangeExtent() : hd(c.range());\n }\n function YF(c, b, A, C) {\n var D = A(c[0], c[1]), E = C(b[0], b[1]);\n return function(q) {\n return E(D(q));\n };\n }\n function pm(c, b) {\n var A = 0, C = c.length - 1, D = c[A], E = c[C], q;\n return E < D && (q = A, A = C, C = q, q = D, D = E, E = q), c[A] = b.floor(D), c[C] = b.ceil(E), c;\n }\n function sx(c) {\n return c ? {\n floor: function(b) {\n return Math.floor(b / c) * c;\n },\n ceil: function(b) {\n return Math.ceil(b / c) * c;\n }\n } : XF;\n }\n var XF = {\n floor: V,\n ceil: V\n };\n function KF(c, b, A, C) {\n var D = [], E = [], q = 0, N = Math.min(c.length, b.length) - 1;\n for (c[N] < c[0] && (c = c.slice().reverse(), b = b.slice().reverse()); ++q <= N; )\n D.push(A(c[q - 1], c[q])), E.push(C(b[q - 1], b[q]));\n return function(Y) {\n var te = t.bisect(c, Y, 1, N) - 1;\n return E[te](D[te](Y));\n };\n }\n t.scale.linear = function() {\n return ux([0, 1], [0, 1], kl, !1);\n };\n function ux(c, b, A, C) {\n var D, E;\n function q() {\n var Y = Math.min(c.length, b.length) > 2 ? KF : YF, te = C ? gF : mF;\n return D = Y(c, b, te, A), E = Y(b, c, te, kl), N;\n }\n function N(Y) {\n return D(Y);\n }\n return N.invert = function(Y) {\n return E(Y);\n }, N.domain = function(Y) {\n return arguments.length ? (c = Y.map(Number), q()) : c;\n }, N.range = function(Y) {\n return arguments.length ? (b = Y, q()) : b;\n }, N.rangeRound = function(Y) {\n return N.range(Y).interpolate(G_);\n }, N.clamp = function(Y) {\n return arguments.length ? (C = Y, q()) : C;\n }, N.interpolate = function(Y) {\n return arguments.length ? (A = Y, q()) : A;\n }, N.ticks = function(Y) {\n return gm(c, Y);\n }, N.tickFormat = function(Y, te) {\n return d3_scale_linearTickFormat(c, Y, te);\n }, N.nice = function(Y) {\n return cx(c, Y), q();\n }, N.copy = function() {\n return ux(c, b, A, C);\n }, q();\n }\n function fx(c, b) {\n return t.rebind(c, b, \"range\", \"rangeRound\", \"interpolate\", \"clamp\");\n }\n function cx(c, b) {\n return pm(c, sx(mm(c, b)[2])), pm(c, sx(mm(c, b)[2])), c;\n }\n function mm(c, b) {\n b == null && (b = 10);\n var A = hd(c), C = A[1] - A[0], D = Math.pow(10, Math.floor(Math.log(C / b) / Math.LN10)), E = b / C * D;\n return E <= 0.15 ? D *= 10 : E <= 0.35 ? D *= 5 : E <= 0.75 && (D *= 2), A[0] = Math.ceil(A[0] / D) * D, A[1] = Math.floor(A[1] / D) * D + D * 0.5, A[2] = D, A;\n }\n function gm(c, b) {\n return t.range.apply(t, mm(c, b));\n }\n t.scale.log = function() {\n return dx(t.scale.linear().domain([0, 1]), 10, !0, [1, 10]);\n };\n function dx(c, b, A, C) {\n function D(N) {\n return (A ? Math.log(N < 0 ? 0 : N) : -Math.log(N > 0 ? 0 : -N)) / Math.log(b);\n }\n function E(N) {\n return A ? Math.pow(b, N) : -Math.pow(b, -N);\n }\n function q(N) {\n return c(D(N));\n }\n return q.invert = function(N) {\n return E(c.invert(N));\n }, q.domain = function(N) {\n return arguments.length ? (A = N[0] >= 0, c.domain((C = N.map(Number)).map(D)), q) : C;\n }, q.base = function(N) {\n return arguments.length ? (b = +N, c.domain(C.map(D)), q) : b;\n }, q.nice = function() {\n var N = pm(C.map(D), A ? Math : JF);\n return c.domain(N), C = N.map(E), q;\n }, q.ticks = function() {\n var N = hd(C), Y = [], te = N[0], ne = N[1], ce = Math.floor(D(te)), de = Math.ceil(D(ne)), Te = b % 1 ? 2 : b;\n if (isFinite(de - ce)) {\n if (A) {\n for (; ce < de; ce++) for (var Ae = 1; Ae < Te; Ae++) Y.push(E(ce) * Ae);\n Y.push(E(ce));\n } else\n for (Y.push(E(ce)); ce++ < de; ) for (var Ae = Te - 1; Ae > 0; Ae--) Y.push(E(ce) * Ae);\n for (ce = 0; Y[ce] < te; ce++)\n ;\n for (de = Y.length; Y[de - 1] > ne; de--)\n ;\n Y = Y.slice(ce, de);\n }\n return Y;\n }, q.copy = function() {\n return dx(c.copy(), b, A, C);\n }, fx(q, c);\n }\n var JF = {\n floor: function(c) {\n return -Math.ceil(-c);\n },\n ceil: function(c) {\n return -Math.floor(-c);\n }\n };\n t.scale.pow = function() {\n return hx(t.scale.linear(), 1, [0, 1]);\n };\n function hx(c, b, A) {\n var C = pd(b), D = pd(1 / b);\n function E(q) {\n return c(C(q));\n }\n return E.invert = function(q) {\n return D(c.invert(q));\n }, E.domain = function(q) {\n return arguments.length ? (c.domain((A = q.map(Number)).map(C)), E) : A;\n }, E.ticks = function(q) {\n return gm(A, q);\n }, E.tickFormat = function(q, N) {\n return d3_scale_linearTickFormat(A, q, N);\n }, E.nice = function(q) {\n return E.domain(cx(A, q));\n }, E.exponent = function(q) {\n return arguments.length ? (C = pd(b = q), D = pd(1 / b), c.domain(A.map(C)), E) : b;\n }, E.copy = function() {\n return hx(c.copy(), b, A);\n }, fx(E, c);\n }\n function pd(c) {\n return function(b) {\n return b < 0 ? -Math.pow(-b, c) : Math.pow(b, c);\n };\n }\n t.scale.sqrt = function() {\n return t.scale.pow().exponent(0.5);\n }, t.scale.ordinal = function() {\n return vx([], {\n t: \"range\",\n a: [[]]\n });\n };\n function vx(c, b) {\n var A, C, D;\n function E(N) {\n return C[((A.get(N) || (b.t === \"range\" ? A.set(N, c.push(N)) : NaN)) - 1) % C.length];\n }\n function q(N, Y) {\n return t.range(c.length).map(function(te) {\n return N + Y * te;\n });\n }\n return E.domain = function(N) {\n if (!arguments.length) return c;\n c = [], A = new _();\n for (var Y = -1, te = N.length, ne; ++Y < te; ) A.has(ne = N[Y]) || A.set(ne, c.push(ne));\n return E[b.t].apply(E, b.a);\n }, E.range = function(N) {\n return arguments.length ? (C = N, D = 0, b = {\n t: \"range\",\n a: arguments\n }, E) : C;\n }, E.rangePoints = function(N, Y) {\n arguments.length < 2 && (Y = 0);\n var te = N[0], ne = N[1], ce = c.length < 2 ? (te = (te + ne) / 2, 0) : (ne - te) / (c.length - 1 + Y);\n return C = q(te + ce * Y / 2, ce), D = 0, b = {\n t: \"rangePoints\",\n a: arguments\n }, E;\n }, E.rangeRoundPoints = function(N, Y) {\n arguments.length < 2 && (Y = 0);\n var te = N[0], ne = N[1], ce = c.length < 2 ? (te = ne = Math.round((te + ne) / 2), 0) : (ne - te) / (c.length - 1 + Y) | 0;\n return C = q(te + Math.round(ce * Y / 2 + (ne - te - (c.length - 1 + Y) * ce) / 2), ce), D = 0, b = {\n t: \"rangeRoundPoints\",\n a: arguments\n }, E;\n }, E.rangeBands = function(N, Y, te) {\n arguments.length < 2 && (Y = 0), arguments.length < 3 && (te = Y);\n var ne = N[1] < N[0], ce = N[ne - 0], de = N[1 - ne], Te = (de - ce) / (c.length - Y + 2 * te);\n return C = q(ce + Te * te, Te), ne && C.reverse(), D = Te * (1 - Y), b = {\n t: \"rangeBands\",\n a: arguments\n }, E;\n }, E.rangeRoundBands = function(N, Y, te) {\n arguments.length < 2 && (Y = 0), arguments.length < 3 && (te = Y);\n var ne = N[1] < N[0], ce = N[ne - 0], de = N[1 - ne], Te = Math.floor((de - ce) / (c.length - Y + 2 * te));\n return C = q(ce + Math.round((de - ce - (c.length - Y) * Te) / 2), Te), ne && C.reverse(), D = Math.round(Te * (1 - Y)), b = {\n t: \"rangeRoundBands\",\n a: arguments\n }, E;\n }, E.rangeBand = function() {\n return D;\n }, E.rangeExtent = function() {\n return hd(b.a[0]);\n }, E.copy = function() {\n return vx(c, b);\n }, E.domain(c);\n }\n t.scale.category10 = function() {\n return t.scale.ordinal().range(QF);\n }, t.scale.category20 = function() {\n return t.scale.ordinal().range(eR);\n }, t.scale.category20b = function() {\n return t.scale.ordinal().range(tR);\n }, t.scale.category20c = function() {\n return t.scale.ordinal().range(rR);\n };\n var QF = [2062260, 16744206, 2924588, 14034728, 9725885, 9197131, 14907330, 8355711, 12369186, 1556175].map(Pn), eR = [2062260, 11454440, 16744206, 16759672, 2924588, 10018698, 14034728, 16750742, 9725885, 12955861, 9197131, 12885140, 14907330, 16234194, 8355711, 13092807, 12369186, 14408589, 1556175, 10410725].map(Pn), tR = [3750777, 5395619, 7040719, 10264286, 6519097, 9216594, 11915115, 13556636, 9202993, 12426809, 15186514, 15190932, 8666169, 11356490, 14049643, 15177372, 8077683, 10834324, 13528509, 14589654].map(Pn), rR = [3244733, 7057110, 10406625, 13032431, 15095053, 16616764, 16625259, 16634018, 3253076, 7652470, 10607003, 13101504, 7695281, 10394312, 12369372, 14342891, 6513507, 9868950, 12434877, 14277081].map(Pn);\n t.scale.quantile = function() {\n return px([], []);\n };\n function px(c, b) {\n var A;\n function C() {\n var E = 0, q = b.length;\n for (A = []; ++E < q; ) A[E - 1] = t.quantile(c, E / q);\n return D;\n }\n function D(E) {\n if (!isNaN(E = +E)) return b[t.bisect(A, E)];\n }\n return D.domain = function(E) {\n return arguments.length ? (c = E.map(p).filter(v).sort(h), C()) : c;\n }, D.range = function(E) {\n return arguments.length ? (b = E, C()) : b;\n }, D.quantiles = function() {\n return A;\n }, D.invertExtent = function(E) {\n return E = b.indexOf(E), E < 0 ? [NaN, NaN] : [E > 0 ? A[E - 1] : c[0], E < A.length ? A[E] : c[c.length - 1]];\n }, D.copy = function() {\n return px(c, b);\n }, C();\n }\n t.scale.quantize = function() {\n return mx(0, 1, [0, 1]);\n };\n function mx(c, b, A) {\n var C, D;\n function E(N) {\n return A[Math.max(0, Math.min(D, Math.floor(C * (N - c))))];\n }\n function q() {\n return C = A.length / (b - c), D = A.length - 1, E;\n }\n return E.domain = function(N) {\n return arguments.length ? (c = +N[0], b = +N[N.length - 1], q()) : [c, b];\n }, E.range = function(N) {\n return arguments.length ? (A = N, q()) : A;\n }, E.invertExtent = function(N) {\n return N = A.indexOf(N), N = N < 0 ? NaN : N / C + c, [N, N + 1 / C];\n }, E.copy = function() {\n return mx(c, b, A);\n }, q();\n }\n t.scale.threshold = function() {\n return gx([0.5], [0, 1]);\n };\n function gx(c, b) {\n function A(C) {\n if (C <= C) return b[t.bisect(c, C)];\n }\n return A.domain = function(C) {\n return arguments.length ? (c = C, A) : c;\n }, A.range = function(C) {\n return arguments.length ? (b = C, A) : b;\n }, A.invertExtent = function(C) {\n return C = b.indexOf(C), [c[C - 1], c[C]];\n }, A.copy = function() {\n return gx(c, b);\n }, A;\n }\n t.scale.identity = function() {\n return yx([0, 1]);\n };\n function yx(c) {\n function b(A) {\n return +A;\n }\n return b.invert = b, b.domain = b.range = function(A) {\n return arguments.length ? (c = A.map(b), b) : c;\n }, b.ticks = function(A) {\n return gm(c, A);\n }, b.tickFormat = function(A, C) {\n return d3_scale_linearTickFormat(c, A, C);\n }, b.copy = function() {\n return yx(c);\n }, b;\n }\n t.svg = {};\n function nR() {\n return 0;\n }\n t.svg.arc = function() {\n var c = aR, b = iR, A = nR, C = md, D = bx, E = _x, q = oR;\n function N() {\n var te = Math.max(0, +c.apply(this, arguments)), ne = Math.max(0, +b.apply(this, arguments)), ce = D.apply(this, arguments) - se, de = E.apply(this, arguments) - se, Te = Math.abs(de - ce), Ae = ce > de ? 0 : 1;\n if (ne < te && (he = ne, ne = te, te = he), Te >= X) return Y(ne, Ae) + (te ? Y(te, 1 - Ae) : \"\") + \"Z\";\n var he, ye, be, Se, De = 0, we = 0, Ze, mt, xt, yt, Lt, Dt, Wt, Ft, Gt = [];\n if ((Se = (+q.apply(this, arguments) || 0) / 2) && (be = C === md ? Math.sqrt(te * te + ne * ne) : +C.apply(this, arguments), Ae || (we *= -1), ne && (we = _e(be / ne * Math.sin(Se))), te && (De = _e(be / te * Math.sin(Se)))), ne) {\n Ze = ne * Math.cos(ce + we), mt = ne * Math.sin(ce + we), xt = ne * Math.cos(de - we), yt = ne * Math.sin(de - we);\n var gr = Math.abs(de - ce - 2 * we) <= rt ? 0 : 1;\n if (we && gd(Ze, mt, xt, yt) === Ae ^ gr) {\n var Yr = (ce + de) / 2;\n Ze = ne * Math.cos(Yr), mt = ne * Math.sin(Yr), xt = yt = null;\n }\n } else\n Ze = mt = 0;\n if (te) {\n Lt = te * Math.cos(de - De), Dt = te * Math.sin(de - De), Wt = te * Math.cos(ce + De), Ft = te * Math.sin(ce + De);\n var xr = Math.abs(ce - de + 2 * De) <= rt ? 0 : 1;\n if (De && gd(Lt, Dt, Wt, Ft) === 1 - Ae ^ xr) {\n var dt = (ce + de) / 2;\n Lt = te * Math.cos(dt), Dt = te * Math.sin(dt), Wt = Ft = null;\n }\n } else\n Lt = Dt = 0;\n if (Te > Ke && (he = Math.min(Math.abs(ne - te) / 2, +A.apply(this, arguments))) > 1e-3) {\n ye = te < ne ^ Ae ? 0 : 1;\n var Zt = he, Jt = he;\n if (Te < rt) {\n var yr = Wt == null ? [Lt, Dt] : xt == null ? [Ze, mt] : tm([Ze, mt], [Wt, Ft], [xt, yt], [Lt, Dt]), Gr = Ze - yr[0], un = mt - yr[1], kn = xt - yr[0], $n = yt - yr[1], Un = 1 / Math.sin(Math.acos((Gr * kn + un * $n) / (Math.sqrt(Gr * Gr + un * un) * Math.sqrt(kn * kn + $n * $n))) / 2), zn = Math.sqrt(yr[0] * yr[0] + yr[1] * yr[1]);\n Jt = Math.min(he, (te - zn) / (Un - 1)), Zt = Math.min(he, (ne - zn) / (Un + 1));\n }\n if (xt != null) {\n var Qn = yd(Wt == null ? [Lt, Dt] : [Wt, Ft], [Ze, mt], ne, Zt, Ae), Cn = yd([xt, yt], [Lt, Dt], ne, Zt, Ae);\n he === Zt ? Gt.push(\"M\", Qn[0], \"A\", Zt, \",\", Zt, \" 0 0,\", ye, \" \", Qn[1], \"A\", ne, \",\", ne, \" 0 \", 1 - Ae ^ gd(Qn[1][0], Qn[1][1], Cn[1][0], Cn[1][1]), \",\", Ae, \" \", Cn[1], \"A\", Zt, \",\", Zt, \" 0 0,\", ye, \" \", Cn[0]) : Gt.push(\"M\", Qn[0], \"A\", Zt, \",\", Zt, \" 0 1,\", ye, \" \", Cn[0]);\n } else\n Gt.push(\"M\", Ze, \",\", mt);\n if (Wt != null) {\n var ea = yd([Ze, mt], [Wt, Ft], te, -Jt, Ae), Ml = yd([Lt, Dt], xt == null ? [Ze, mt] : [xt, yt], te, -Jt, Ae);\n he === Jt ? Gt.push(\"L\", Ml[0], \"A\", Jt, \",\", Jt, \" 0 0,\", ye, \" \", Ml[1], \"A\", te, \",\", te, \" 0 \", Ae ^ gd(Ml[1][0], Ml[1][1], ea[1][0], ea[1][1]), \",\", 1 - Ae, \" \", ea[1], \"A\", Jt, \",\", Jt, \" 0 0,\", ye, \" \", ea[0]) : Gt.push(\"L\", Ml[0], \"A\", Jt, \",\", Jt, \" 0 0,\", ye, \" \", ea[0]);\n } else\n Gt.push(\"L\", Lt, \",\", Dt);\n } else\n Gt.push(\"M\", Ze, \",\", mt), xt != null && Gt.push(\"A\", ne, \",\", ne, \" 0 \", gr, \",\", Ae, \" \", xt, \",\", yt), Gt.push(\"L\", Lt, \",\", Dt), Wt != null && Gt.push(\"A\", te, \",\", te, \" 0 \", xr, \",\", 1 - Ae, \" \", Wt, \",\", Ft);\n return Gt.push(\"Z\"), Gt.join(\"\");\n }\n function Y(te, ne) {\n return \"M0,\" + te + \"A\" + te + \",\" + te + \" 0 1,\" + ne + \" 0,\" + -te + \"A\" + te + \",\" + te + \" 0 1,\" + ne + \" 0,\" + te;\n }\n return N.innerRadius = function(te) {\n return arguments.length ? (c = mr(te), N) : c;\n }, N.outerRadius = function(te) {\n return arguments.length ? (b = mr(te), N) : b;\n }, N.cornerRadius = function(te) {\n return arguments.length ? (A = mr(te), N) : A;\n }, N.padRadius = function(te) {\n return arguments.length ? (C = te == md ? md : mr(te), N) : C;\n }, N.startAngle = function(te) {\n return arguments.length ? (D = mr(te), N) : D;\n }, N.endAngle = function(te) {\n return arguments.length ? (E = mr(te), N) : E;\n }, N.padAngle = function(te) {\n return arguments.length ? (q = mr(te), N) : q;\n }, N.centroid = function() {\n var te = (+c.apply(this, arguments) + +b.apply(this, arguments)) / 2, ne = (+D.apply(this, arguments) + +E.apply(this, arguments)) / 2 - se;\n return [Math.cos(ne) * te, Math.sin(ne) * te];\n }, N;\n };\n var md = \"auto\";\n function aR(c) {\n return c.innerRadius;\n }\n function iR(c) {\n return c.outerRadius;\n }\n function bx(c) {\n return c.startAngle;\n }\n function _x(c) {\n return c.endAngle;\n }\n function oR(c) {\n return c && c.padAngle;\n }\n function gd(c, b, A, C) {\n return (c - A) * b - (b - C) * c > 0 ? 0 : 1;\n }\n function yd(c, b, A, C, D) {\n var E = c[0] - b[0], q = c[1] - b[1], N = (D ? C : -C) / Math.sqrt(E * E + q * q), Y = N * q, te = -N * E, ne = c[0] + Y, ce = c[1] + te, de = b[0] + Y, Te = b[1] + te, Ae = (ne + de) / 2, he = (ce + Te) / 2, ye = de - ne, be = Te - ce, Se = ye * ye + be * be, De = A - C, we = ne * Te - de * ce, Ze = (be < 0 ? -1 : 1) * Math.sqrt(Math.max(0, De * De * Se - we * we)), mt = (we * be - ye * Ze) / Se, xt = (-we * ye - be * Ze) / Se, yt = (we * be + ye * Ze) / Se, Lt = (-we * ye + be * Ze) / Se, Dt = mt - Ae, Wt = xt - he, Ft = yt - Ae, Gt = Lt - he;\n return Dt * Dt + Wt * Wt > Ft * Ft + Gt * Gt && (mt = yt, xt = Lt), [[mt - Y, xt - te], [mt * A / De, xt * A / De]];\n }\n function xx() {\n return !0;\n }\n function wx(c) {\n var b = ks, A = of, C = xx, D = Qa, E = D.key, q = 0.7;\n function N(Y) {\n var te = [], ne = [], ce = -1, de = Y.length, Te, Ae = mr(b), he = mr(A);\n function ye() {\n te.push(\"M\", D(c(ne), q));\n }\n for (; ++ce < de; )\n C.call(this, Te = Y[ce], ce) ? ne.push([+Ae.call(this, Te, ce), +he.call(this, Te, ce)]) : ne.length && (ye(), ne = []);\n return ne.length && ye(), te.length ? te.join(\"\") : null;\n }\n return N.x = function(Y) {\n return arguments.length ? (b = Y, N) : b;\n }, N.y = function(Y) {\n return arguments.length ? (A = Y, N) : A;\n }, N.defined = function(Y) {\n return arguments.length ? (C = Y, N) : C;\n }, N.interpolate = function(Y) {\n return arguments.length ? (typeof Y == \"function\" ? E = D = Y : E = (D = ym.get(Y) || Qa).key, N) : E;\n }, N.tension = function(Y) {\n return arguments.length ? (q = Y, N) : q;\n }, N;\n }\n t.svg.line = function() {\n return wx(V);\n };\n var ym = t.map({\n linear: Qa,\n \"linear-closed\": Tx,\n step: lR,\n \"step-before\": bm,\n \"step-after\": _m,\n basis: kx,\n \"basis-open\": cR,\n \"basis-closed\": dR,\n bundle: hR,\n cardinal: fR,\n \"cardinal-open\": sR,\n \"cardinal-closed\": uR,\n monotone: mR\n });\n ym.forEach(function(c, b) {\n b.key = c, b.closed = /-closed$/.test(c);\n });\n function Qa(c) {\n return c.length > 1 ? c.join(\"L\") : c + \"Z\";\n }\n function Tx(c) {\n return c.join(\"L\") + \"Z\";\n }\n function lR(c) {\n for (var b = 0, A = c.length, C = c[0], D = [C[0], \",\", C[1]]; ++b < A; ) D.push(\"H\", (C[0] + (C = c[b])[0]) / 2, \"V\", C[1]);\n return A > 1 && D.push(\"H\", C[0]), D.join(\"\");\n }\n function bm(c) {\n for (var b = 0, A = c.length, C = c[0], D = [C[0], \",\", C[1]]; ++b < A; ) D.push(\"V\", (C = c[b])[1], \"H\", C[0]);\n return D.join(\"\");\n }\n function _m(c) {\n for (var b = 0, A = c.length, C = c[0], D = [C[0], \",\", C[1]]; ++b < A; ) D.push(\"H\", (C = c[b])[0], \"V\", C[1]);\n return D.join(\"\");\n }\n function sR(c, b) {\n return c.length < 4 ? Qa(c) : c[1] + bd(c.slice(1, -1), xm(c, b));\n }\n function uR(c, b) {\n return c.length < 3 ? Tx(c) : c[0] + bd((c.push(c[0]), c), xm([c[c.length - 2]].concat(c, [c[1]]), b));\n }\n function fR(c, b) {\n return c.length < 3 ? Qa(c) : c[0] + bd(c, xm(c, b));\n }\n function bd(c, b) {\n if (b.length < 1 || c.length != b.length && c.length != b.length + 2)\n return Qa(c);\n var A = c.length != b.length, C = \"\", D = c[0], E = c[1], q = b[0], N = q, Y = 1;\n if (A && (C += \"Q\" + (E[0] - q[0] * 2 / 3) + \",\" + (E[1] - q[1] * 2 / 3) + \",\" + E[0] + \",\" + E[1], D = c[1], Y = 2), b.length > 1) {\n N = b[1], E = c[Y], Y++, C += \"C\" + (D[0] + q[0]) + \",\" + (D[1] + q[1]) + \",\" + (E[0] - N[0]) + \",\" + (E[1] - N[1]) + \",\" + E[0] + \",\" + E[1];\n for (var te = 2; te < b.length; te++, Y++)\n E = c[Y], N = b[te], C += \"S\" + (E[0] - N[0]) + \",\" + (E[1] - N[1]) + \",\" + E[0] + \",\" + E[1];\n }\n if (A) {\n var ne = c[Y];\n C += \"Q\" + (E[0] + N[0] * 2 / 3) + \",\" + (E[1] + N[1] * 2 / 3) + \",\" + ne[0] + \",\" + ne[1];\n }\n return C;\n }\n function xm(c, b) {\n for (var A = [], C = (1 - b) / 2, D, E = c[0], q = c[1], N = 1, Y = c.length; ++N < Y; )\n D = E, E = q, q = c[N], A.push([C * (q[0] - D[0]), C * (q[1] - D[1])]);\n return A;\n }\n function kx(c) {\n if (c.length < 3) return Qa(c);\n var b = 1, A = c.length, C = c[0], D = C[0], E = C[1], q = [D, D, D, (C = c[1])[0]], N = [E, E, E, C[1]], Y = [D, \",\", E, \"L\", Sa(Ro, q), \",\", Sa(Ro, N)];\n for (c.push(c[A - 1]); ++b <= A; )\n C = c[b], q.shift(), q.push(C[0]), N.shift(), N.push(C[1]), wm(Y, q, N);\n return c.pop(), Y.push(\"L\", C), Y.join(\"\");\n }\n function cR(c) {\n if (c.length < 4) return Qa(c);\n for (var b = [], A = -1, C = c.length, D, E = [0], q = [0]; ++A < 3; )\n D = c[A], E.push(D[0]), q.push(D[1]);\n for (b.push(Sa(Ro, E) + \",\" + Sa(Ro, q)), --A; ++A < C; )\n D = c[A], E.shift(), E.push(D[0]), q.shift(), q.push(D[1]), wm(b, E, q);\n return b.join(\"\");\n }\n function dR(c) {\n for (var b, A = -1, C = c.length, D = C + 4, E, q = [], N = []; ++A < 4; )\n E = c[A % C], q.push(E[0]), N.push(E[1]);\n for (b = [Sa(Ro, q), \",\", Sa(Ro, N)], --A; ++A < D; )\n E = c[A % C], q.shift(), q.push(E[0]), N.shift(), N.push(E[1]), wm(b, q, N);\n return b.join(\"\");\n }\n function hR(c, b) {\n var A = c.length - 1;\n if (A)\n for (var C = c[0][0], D = c[0][1], E = c[A][0] - C, q = c[A][1] - D, N = -1, Y, te; ++N <= A; )\n Y = c[N], te = N / A, Y[0] = b * Y[0] + (1 - b) * (C + te * E), Y[1] = b * Y[1] + (1 - b) * (D + te * q);\n return kx(c);\n }\n function Sa(c, b) {\n return c[0] * b[0] + c[1] * b[1] + c[2] * b[2] + c[3] * b[3];\n }\n var Ax = [0, 2 / 3, 1 / 3, 0], Mx = [0, 1 / 3, 2 / 3, 0], Ro = [0, 1 / 6, 2 / 3, 1 / 6];\n function wm(c, b, A) {\n c.push(\"C\", Sa(Ax, b), \",\", Sa(Ax, A), \",\", Sa(Mx, b), \",\", Sa(Mx, A), \",\", Sa(Ro, b), \",\", Sa(Ro, A));\n }\n function Tm(c, b) {\n return (b[1] - c[1]) / (b[0] - c[0]);\n }\n function vR(c) {\n for (var b = 0, A = c.length - 1, C = [], D = c[0], E = c[1], q = C[0] = Tm(D, E); ++b < A; )\n C[b] = (q + (q = Tm(D = E, E = c[b + 1]))) / 2;\n return C[b] = q, C;\n }\n function pR(c) {\n for (var b = [], A, C, D, E, q = vR(c), N = -1, Y = c.length - 1; ++N < Y; )\n A = Tm(c[N], c[N + 1]), w(A) < Ke ? q[N] = q[N + 1] = 0 : (C = q[N] / A, D = q[N + 1] / A, E = C * C + D * D, E > 9 && (E = A * 3 / Math.sqrt(E), q[N] = E * C, q[N + 1] = E * D));\n for (N = -1; ++N <= Y; )\n E = (c[Math.min(Y, N + 1)][0] - c[Math.max(0, N - 1)][0]) / (6 * (1 + q[N] * q[N])), b.push([E || 0, q[N] * E || 0]);\n return b;\n }\n function mR(c) {\n return c.length < 3 ? Qa(c) : c[0] + bd(c, pR(c));\n }\n t.svg.line.radial = function() {\n var c = wx(Sx);\n return c.radius = c.x, delete c.x, c.angle = c.y, delete c.y, c;\n };\n function Sx(c) {\n for (var b, A = -1, C = c.length, D, E; ++A < C; )\n b = c[A], D = b[0], E = b[1] - se, b[0] = D * Math.cos(E), b[1] = D * Math.sin(E);\n return c;\n }\n function Cx(c) {\n var b = ks, A = ks, C = 0, D = of, E = xx, q = Qa, N = q.key, Y = q, te = \"L\", ne = 0.7;\n function ce(de) {\n var Te = [], Ae = [], he = [], ye = -1, be = de.length, Se, De = mr(b), we = mr(C), Ze = b === A ? function() {\n return xt;\n } : mr(A), mt = C === D ? function() {\n return yt;\n } : mr(D), xt, yt;\n function Lt() {\n Te.push(\"M\", q(c(he), ne), te, Y(c(Ae.reverse()), ne), \"Z\");\n }\n for (; ++ye < be; )\n E.call(this, Se = de[ye], ye) ? (Ae.push([xt = +De.call(this, Se, ye), yt = +we.call(this, Se, ye)]), he.push([+Ze.call(this, Se, ye), +mt.call(this, Se, ye)])) : Ae.length && (Lt(), Ae = [], he = []);\n return Ae.length && Lt(), Te.length ? Te.join(\"\") : null;\n }\n return ce.x = function(de) {\n return arguments.length ? (b = A = de, ce) : A;\n }, ce.x0 = function(de) {\n return arguments.length ? (b = de, ce) : b;\n }, ce.x1 = function(de) {\n return arguments.length ? (A = de, ce) : A;\n }, ce.y = function(de) {\n return arguments.length ? (C = D = de, ce) : D;\n }, ce.y0 = function(de) {\n return arguments.length ? (C = de, ce) : C;\n }, ce.y1 = function(de) {\n return arguments.length ? (D = de, ce) : D;\n }, ce.defined = function(de) {\n return arguments.length ? (E = de, ce) : E;\n }, ce.interpolate = function(de) {\n return arguments.length ? (typeof de == \"function\" ? N = q = de : N = (q = ym.get(de) || Qa).key, Y = q.reverse || q, te = q.closed ? \"M\" : \"L\", ce) : N;\n }, ce.tension = function(de) {\n return arguments.length ? (ne = de, ce) : ne;\n }, ce;\n }\n bm.reverse = _m, _m.reverse = bm, t.svg.area = function() {\n return Cx(V);\n }, t.svg.area.radial = function() {\n var c = Cx(Sx);\n return c.radius = c.x, delete c.x, c.innerRadius = c.x0, delete c.x0, c.outerRadius = c.x1, delete c.x1, c.angle = c.y, delete c.y, c.startAngle = c.y0, delete c.y0, c.endAngle = c.y1, delete c.y1, c;\n };\n function Lx(c) {\n return c.source;\n }\n function Dx(c) {\n return c.target;\n }\n t.svg.chord = function() {\n var c = Lx, b = Dx, A = gR, C = bx, D = _x;\n function E(ne, ce) {\n var de = q(this, c, ne, ce), Te = q(this, b, ne, ce);\n return \"M\" + de.p0 + Y(de.r, de.p1, de.a1 - de.a0) + (N(de, Te) ? te(de.r, de.p1, de.r, de.p0) : te(de.r, de.p1, Te.r, Te.p0) + Y(Te.r, Te.p1, Te.a1 - Te.a0) + te(Te.r, Te.p1, de.r, de.p0)) + \"Z\";\n }\n function q(ne, ce, de, Te) {\n var Ae = ce.call(ne, de, Te), he = A.call(ne, Ae, Te), ye = C.call(ne, Ae, Te) - se, be = D.call(ne, Ae, Te) - se;\n return {\n r: he,\n a0: ye,\n a1: be,\n p0: [he * Math.cos(ye), he * Math.sin(ye)],\n p1: [he * Math.cos(be), he * Math.sin(be)]\n };\n }\n function N(ne, ce) {\n return ne.a0 == ce.a0 && ne.a1 == ce.a1;\n }\n function Y(ne, ce, de) {\n return \"A\" + ne + \",\" + ne + \" 0 \" + +(de > rt) + \",1 \" + ce;\n }\n function te(ne, ce, de, Te) {\n return \"Q 0,0 \" + Te;\n }\n return E.radius = function(ne) {\n return arguments.length ? (A = mr(ne), E) : A;\n }, E.source = function(ne) {\n return arguments.length ? (c = mr(ne), E) : c;\n }, E.target = function(ne) {\n return arguments.length ? (b = mr(ne), E) : b;\n }, E.startAngle = function(ne) {\n return arguments.length ? (C = mr(ne), E) : C;\n }, E.endAngle = function(ne) {\n return arguments.length ? (D = mr(ne), E) : D;\n }, E;\n };\n function gR(c) {\n return c.radius;\n }\n t.svg.diagonal = function() {\n var c = Lx, b = Dx, A = Ex;\n function C(D, E) {\n var q = c.call(this, D, E), N = b.call(this, D, E), Y = (q.y + N.y) / 2, te = [q, {\n x: q.x,\n y: Y\n }, {\n x: N.x,\n y: Y\n }, N];\n return te = te.map(A), \"M\" + te[0] + \"C\" + te[1] + \" \" + te[2] + \" \" + te[3];\n }\n return C.source = function(D) {\n return arguments.length ? (c = mr(D), C) : c;\n }, C.target = function(D) {\n return arguments.length ? (b = mr(D), C) : b;\n }, C.projection = function(D) {\n return arguments.length ? (A = D, C) : A;\n }, C;\n };\n function Ex(c) {\n return [c.x, c.y];\n }\n t.svg.diagonal.radial = function() {\n var c = t.svg.diagonal(), b = Ex, A = c.projection;\n return c.projection = function(C) {\n return arguments.length ? A(yR(b = C)) : b;\n }, c;\n };\n function yR(c) {\n return function() {\n var b = c.apply(this, arguments), A = b[0], C = b[1] - se;\n return [A * Math.cos(C), A * Math.sin(C)];\n };\n }\n t.svg.symbol = function() {\n var c = _R, b = bR;\n function A(C, D) {\n return (Rx.get(c.call(this, C, D)) || Fx)(b.call(this, C, D));\n }\n return A.type = function(C) {\n return arguments.length ? (c = mr(C), A) : c;\n }, A.size = function(C) {\n return arguments.length ? (b = mr(C), A) : b;\n }, A;\n };\n function bR() {\n return 64;\n }\n function _R() {\n return \"circle\";\n }\n function Fx(c) {\n var b = Math.sqrt(c / rt);\n return \"M0,\" + b + \"A\" + b + \",\" + b + \" 0 1,1 0,\" + -b + \"A\" + b + \",\" + b + \" 0 1,1 0,\" + b + \"Z\";\n }\n var Rx = t.map({\n circle: Fx,\n cross: function(c) {\n var b = Math.sqrt(c / 5) / 2;\n return \"M\" + -3 * b + \",\" + -b + \"H\" + -b + \"V\" + -3 * b + \"H\" + b + \"V\" + -b + \"H\" + 3 * b + \"V\" + b + \"H\" + b + \"V\" + 3 * b + \"H\" + -b + \"V\" + b + \"H\" + -3 * b + \"Z\";\n },\n diamond: function(c) {\n var b = Math.sqrt(c / (2 * Px)), A = b * Px;\n return \"M0,\" + -b + \"L\" + A + \",0 0,\" + b + \" \" + -A + \",0Z\";\n },\n square: function(c) {\n var b = Math.sqrt(c) / 2;\n return \"M\" + -b + \",\" + -b + \"L\" + b + \",\" + -b + \" \" + b + \",\" + b + \" \" + -b + \",\" + b + \"Z\";\n },\n \"triangle-down\": function(c) {\n var b = Math.sqrt(c / _d), A = b * _d / 2;\n return \"M0,\" + A + \"L\" + b + \",\" + -A + \" \" + -b + \",\" + -A + \"Z\";\n },\n \"triangle-up\": function(c) {\n var b = Math.sqrt(c / _d), A = b * _d / 2;\n return \"M0,\" + -A + \"L\" + b + \",\" + A + \" \" + -b + \",\" + A + \"Z\";\n }\n });\n t.svg.symbolTypes = Rx.keys();\n var _d = Math.sqrt(3), Px = Math.tan(30 * ie);\n J.transition = function(c) {\n for (var b = Al || ++zx, A = Am(c), C = [], D, E, q = wd || {\n time: Date.now(),\n ease: Q8,\n delay: 0,\n duration: 250\n }, N = -1, Y = this.length; ++N < Y; ) {\n C.push(D = []);\n for (var te = this[N], ne = -1, ce = te.length; ++ne < ce; )\n (E = te[ne]) && Td(E, ne, A, b, q), D.push(E);\n }\n return vf(C, A, b);\n }, J.interrupt = function(c) {\n return this.each(c == null ? xd : $x(Am(c)));\n };\n var xd = $x(Am());\n function $x(c) {\n return function() {\n var b, A, C;\n (b = this[c]) && (C = b[A = b.active]) && (C.timer.c = null, C.timer.t = NaN, --b.count ? delete b[A] : delete this[c], b.active += 0.5, C.event && C.event.interrupt.call(this, this.__data__, C.index));\n };\n }\n function vf(c, b, A) {\n return ue(c, sn), c.namespace = b, c.id = A, c;\n }\n var sn = [], zx = 0, Al, wd;\n sn.call = J.call, sn.empty = J.empty, sn.node = J.node, sn.size = J.size, t.transition = function(c, b) {\n return c && c.transition ? Al ? c.transition(b) : c : t.selection().transition(c);\n }, t.transition.prototype = sn, sn.select = function(c) {\n var b = this.id, A = this.namespace, C = [], D, E, q;\n c = pe(c);\n for (var N = -1, Y = this.length; ++N < Y; ) {\n C.push(D = []);\n for (var te = this[N], ne = -1, ce = te.length; ++ne < ce; )\n (q = te[ne]) && (E = c.call(q, q.__data__, ne, N)) ? (\"__data__\" in q && (E.__data__ = q.__data__), Td(E, ne, A, b, q[A][b]), D.push(E)) : D.push(null);\n }\n return vf(C, A, b);\n }, sn.selectAll = function(c) {\n var b = this.id, A = this.namespace, C = [], D, E, q, N, Y;\n c = ge(c);\n for (var te = -1, ne = this.length; ++te < ne; )\n for (var ce = this[te], de = -1, Te = ce.length; ++de < Te; )\n if (q = ce[de]) {\n Y = q[A][b], E = c.call(q, q.__data__, de, te), C.push(D = []);\n for (var Ae = -1, he = E.length; ++Ae < he; )\n (N = E[Ae]) && Td(N, Ae, A, b, Y), D.push(N);\n }\n return vf(C, A, b);\n }, sn.filter = function(c) {\n var b = [], A, C, D;\n typeof c != \"function\" && (c = ht(c));\n for (var E = 0, q = this.length; E < q; E++) {\n b.push(A = []);\n for (var C = this[E], N = 0, Y = C.length; N < Y; N++)\n (D = C[N]) && c.call(D, D.__data__, N, E) && A.push(D);\n }\n return vf(b, this.namespace, this.id);\n }, sn.tween = function(c, b) {\n var A = this.id, C = this.namespace;\n return arguments.length < 2 ? this.node()[C][A].tween.get(c) : nt(this, b == null ? function(D) {\n D[C][A].tween.remove(c);\n } : function(D) {\n D[C][A].tween.set(c, b);\n });\n };\n function km(c, b, A, C) {\n var D = c.id, E = c.namespace;\n return nt(c, typeof A == \"function\" ? function(q, N, Y) {\n q[E][D].tween.set(b, C(A.call(q, q.__data__, N, Y)));\n } : (A = C(A), function(q) {\n q[E][D].tween.set(b, A);\n }));\n }\n sn.attr = function(c, b) {\n if (arguments.length < 2) {\n for (b in c) this.attr(b, c[b]);\n return this;\n }\n var A = c == \"transform\" ? Z_ : kl, C = t.ns.qualify(c);\n function D() {\n this.removeAttribute(C);\n }\n function E() {\n this.removeAttributeNS(C.space, C.local);\n }\n function q(Y) {\n return Y == null ? D : (Y += \"\", function() {\n var te = this.getAttribute(C), ne;\n return te !== Y && (ne = A(te, Y), function(ce) {\n this.setAttribute(C, ne(ce));\n });\n });\n }\n function N(Y) {\n return Y == null ? E : (Y += \"\", function() {\n var te = this.getAttributeNS(C.space, C.local), ne;\n return te !== Y && (ne = A(te, Y), function(ce) {\n this.setAttributeNS(C.space, C.local, ne(ce));\n });\n });\n }\n return km(this, \"attr.\" + c, b, C.local ? N : q);\n }, sn.attrTween = function(c, b) {\n var A = t.ns.qualify(c);\n function C(E, q) {\n var N = b.call(this, E, q, this.getAttribute(A));\n return N && function(Y) {\n this.setAttribute(A, N(Y));\n };\n }\n function D(E, q) {\n var N = b.call(this, E, q, this.getAttributeNS(A.space, A.local));\n return N && function(Y) {\n this.setAttributeNS(A.space, A.local, N(Y));\n };\n }\n return this.tween(\"attr.\" + c, A.local ? D : C);\n }, sn.style = function(c, b, A) {\n var C = arguments.length;\n if (C < 3) {\n if (typeof c != \"string\") {\n C < 2 && (b = \"\");\n for (A in c) this.style(A, c[A], b);\n return this;\n }\n A = \"\";\n }\n function D() {\n this.style.removeProperty(c);\n }\n function E(q) {\n return q == null ? D : (q += \"\", function() {\n var N = o(this).getComputedStyle(this, null).getPropertyValue(c), Y;\n return N !== q && (Y = kl(N, q), function(te) {\n this.style.setProperty(c, Y(te), A);\n });\n });\n }\n return km(this, \"style.\" + c, b, E);\n }, sn.styleTween = function(c, b, A) {\n arguments.length < 3 && (A = \"\");\n function C(D, E) {\n var q = b.call(this, D, E, o(this).getComputedStyle(this, null).getPropertyValue(c));\n return q && function(N) {\n this.style.setProperty(c, q(N), A);\n };\n }\n return this.tween(\"style.\" + c, C);\n }, sn.text = function(c) {\n return km(this, \"text\", c, xR);\n };\n function xR(c) {\n return c == null && (c = \"\"), function() {\n this.textContent = c;\n };\n }\n sn.remove = function() {\n var c = this.namespace;\n return this.each(\"end.transition\", function() {\n var b;\n this[c].count < 2 && (b = this.parentNode) && b.removeChild(this);\n });\n }, sn.ease = function(c) {\n var b = this.id, A = this.namespace;\n return arguments.length < 1 ? this.node()[A][b].ease : (typeof c != \"function\" && (c = t.ease.apply(t, arguments)), nt(this, function(C) {\n C[A][b].ease = c;\n }));\n }, sn.delay = function(c) {\n var b = this.id, A = this.namespace;\n return arguments.length < 1 ? this.node()[A][b].delay : nt(this, typeof c == \"function\" ? function(C, D, E) {\n C[A][b].delay = +c.call(C, C.__data__, D, E);\n } : (c = +c, function(C) {\n C[A][b].delay = c;\n }));\n }, sn.duration = function(c) {\n var b = this.id, A = this.namespace;\n return arguments.length < 1 ? this.node()[A][b].duration : nt(this, typeof c == \"function\" ? function(C, D, E) {\n C[A][b].duration = Math.max(1, c.call(C, C.__data__, D, E));\n } : (c = Math.max(1, c), function(C) {\n C[A][b].duration = c;\n }));\n }, sn.each = function(c, b) {\n var A = this.id, C = this.namespace;\n if (arguments.length < 2) {\n var D = wd, E = Al;\n try {\n Al = A, nt(this, function(q, N, Y) {\n wd = q[C][A], c.call(q, q.__data__, N, Y);\n });\n } finally {\n wd = D, Al = E;\n }\n } else\n nt(this, function(q) {\n var N = q[C][A];\n (N.event || (N.event = t.dispatch(\"start\", \"end\", \"interrupt\"))).on(c, b);\n });\n return this;\n }, sn.transition = function() {\n for (var c = this.id, b = ++zx, A = this.namespace, C = [], D, E, q, N, Y = 0, te = this.length; Y < te; Y++) {\n C.push(D = []);\n for (var E = this[Y], ne = 0, ce = E.length; ne < ce; ne++)\n (q = E[ne]) && (N = q[A][c], Td(q, ne, A, b, {\n time: N.time,\n ease: N.ease,\n delay: N.delay + N.duration,\n duration: N.duration\n })), D.push(q);\n }\n return vf(C, A, b);\n };\n function Am(c) {\n return c == null ? \"__transition__\" : \"__transition_\" + c + \"__\";\n }\n function Td(c, b, A, C, D) {\n var E = c[A] || (c[A] = {\n active: 0,\n count: 0\n }), q = E[C], N, Y, te, ne, ce;\n function de(he) {\n var ye = q.delay;\n if (Y.t = ye + N, ye <= he) return Te(he - ye);\n Y.c = Te;\n }\n function Te(he) {\n var ye = E.active, be = E[ye];\n be && (be.timer.c = null, be.timer.t = NaN, --E.count, delete E[ye], be.event && be.event.interrupt.call(c, c.__data__, be.index));\n for (var Se in E)\n if (+Se < C) {\n var De = E[Se];\n De.timer.c = null, De.timer.t = NaN, --E.count, delete E[Se];\n }\n Y.c = Ae, ha(function() {\n return Y.c && Ae(he || 1) && (Y.c = null, Y.t = NaN), 1;\n }, 0, N), E.active = C, q.event && q.event.start.call(c, c.__data__, b), ce = [], q.tween.forEach(function(we, Ze) {\n (Ze = Ze.call(c, c.__data__, b)) && ce.push(Ze);\n }), ne = q.ease, te = q.duration;\n }\n function Ae(he) {\n for (var ye = he / te, be = ne(ye), Se = ce.length; Se > 0; )\n ce[--Se].call(c, be);\n if (ye >= 1)\n return q.event && q.event.end.call(c, c.__data__, b), --E.count ? delete E[C] : delete c[A], 1;\n }\n q || (N = D.time, Y = ha(de, 0, N), q = E[C] = {\n tween: new _(),\n time: N,\n timer: Y,\n delay: D.delay,\n duration: D.duration,\n ease: D.ease,\n index: b\n }, D = null, ++E.count);\n }\n t.svg.axis = function() {\n var c = t.scale.linear(), b = Ix, A = 6, C = 6, D = 3, E = [10], q = null, N;\n function Y(te) {\n te.each(function() {\n var ne = t.select(this), ce = this.__chart__ || c, de = this.__chart__ = c.copy(), Te = q ?? (de.ticks ? de.ticks.apply(de, E) : de.domain()), Ae = N ?? (de.tickFormat ? de.tickFormat.apply(de, E) : V), he = ne.selectAll(\".tick\").data(Te, de), ye = he.enter().insert(\"g\", \".domain\").attr(\"class\", \"tick\").style(\"opacity\", Ke), be = t.transition(he.exit()).style(\"opacity\", Ke).remove(), Se = t.transition(he.order()).style(\"opacity\", 1), De = Math.max(A, 0) + D, we, Ze = vd(de), mt = ne.selectAll(\".domain\").data([0]), xt = (mt.enter().append(\"path\").attr(\"class\", \"domain\"), t.transition(mt));\n ye.append(\"line\"), ye.append(\"text\");\n var yt = ye.select(\"line\"), Lt = Se.select(\"line\"), Dt = he.select(\"text\").text(Ae), Wt = ye.select(\"text\"), Ft = Se.select(\"text\"), Gt = b === \"top\" || b === \"left\" ? -1 : 1, gr, Yr, xr, dt;\n if (b === \"bottom\" || b === \"top\" ? (we = TR, gr = \"x\", xr = \"y\", Yr = \"x2\", dt = \"y2\", Dt.attr(\"dy\", Gt < 0 ? \"0em\" : \".71em\").style(\"text-anchor\", \"middle\"), xt.attr(\"d\", \"M\" + Ze[0] + \",\" + Gt * C + \"V0H\" + Ze[1] + \"V\" + Gt * C)) : (we = kR, gr = \"y\", xr = \"x\", Yr = \"y2\", dt = \"x2\", Dt.attr(\"dy\", \".32em\").style(\"text-anchor\", Gt < 0 ? \"end\" : \"start\"), xt.attr(\"d\", \"M\" + Gt * C + \",\" + Ze[0] + \"H0V\" + Ze[1] + \"H\" + Gt * C)), yt.attr(dt, Gt * A), Wt.attr(xr, Gt * De), Lt.attr(Yr, 0).attr(dt, Gt * A), Ft.attr(gr, 0).attr(xr, Gt * De), de.rangeBand) {\n var Zt = de, Jt = Zt.rangeBand() / 2;\n ce = de = function(yr) {\n return Zt(yr) + Jt;\n };\n } else ce.rangeBand ? ce = de : be.call(we, de, ce);\n ye.call(we, ce, de), Se.call(we, de, de);\n });\n }\n return Y.scale = function(te) {\n return arguments.length ? (c = te, Y) : c;\n }, Y.orient = function(te) {\n return arguments.length ? (b = te in wR ? te + \"\" : Ix, Y) : b;\n }, Y.ticks = function() {\n return arguments.length ? (E = n(arguments), Y) : E;\n }, Y.tickValues = function(te) {\n return arguments.length ? (q = te, Y) : q;\n }, Y.tickFormat = function(te) {\n return arguments.length ? (N = te, Y) : N;\n }, Y.tickSize = function(te) {\n var ne = arguments.length;\n return ne ? (A = +te, C = +arguments[ne - 1], Y) : A;\n }, Y.innerTickSize = function(te) {\n return arguments.length ? (A = +te, Y) : A;\n }, Y.outerTickSize = function(te) {\n return arguments.length ? (C = +te, Y) : C;\n }, Y.tickPadding = function(te) {\n return arguments.length ? (D = +te, Y) : D;\n }, Y.tickSubdivide = function() {\n return arguments.length && Y;\n }, Y;\n };\n var Ix = \"bottom\", wR = {\n top: 1,\n right: 1,\n bottom: 1,\n left: 1\n };\n function TR(c, b, A) {\n c.attr(\"transform\", function(C) {\n var D = b(C);\n return \"translate(\" + (isFinite(D) ? D : A(C)) + \",0)\";\n });\n }\n function kR(c, b, A) {\n c.attr(\"transform\", function(C) {\n var D = b(C);\n return \"translate(0,\" + (isFinite(D) ? D : A(C)) + \")\";\n });\n }\n t.svg.brush = function() {\n var c = ae(ne, \"brushstart\", \"brush\", \"brushend\"), b = null, A = null, C = [0, 0], D = [0, 0], E, q, N = !0, Y = !0, te = Mm[0];\n function ne(he) {\n he.each(function() {\n var ye = t.select(this).style(\"pointer-events\", \"all\").style(\"-webkit-tap-highlight-color\", \"rgba(0,0,0,0)\").on(\"mousedown.brush\", Ae).on(\"touchstart.brush\", Ae), be = ye.selectAll(\".background\").data([0]);\n be.enter().append(\"rect\").attr(\"class\", \"background\").style(\"visibility\", \"hidden\").style(\"cursor\", \"crosshair\"), ye.selectAll(\".extent\").data([0]).enter().append(\"rect\").attr(\"class\", \"extent\").style(\"cursor\", \"move\");\n var Se = ye.selectAll(\".resize\").data(te, V);\n Se.exit().remove(), Se.enter().append(\"g\").attr(\"class\", function(mt) {\n return \"resize \" + mt;\n }).style(\"cursor\", function(mt) {\n return AR[mt];\n }).append(\"rect\").attr(\"x\", function(mt) {\n return /[ew]$/.test(mt) ? -3 : null;\n }).attr(\"y\", function(mt) {\n return /^[ns]/.test(mt) ? -3 : null;\n }).attr(\"width\", 6).attr(\"height\", 6).style(\"visibility\", \"hidden\"), Se.style(\"display\", ne.empty() ? \"none\" : null);\n var De = t.transition(ye), we = t.transition(be), Ze;\n b && (Ze = vd(b), we.attr(\"x\", Ze[0]).attr(\"width\", Ze[1] - Ze[0]), de(De)), A && (Ze = vd(A), we.attr(\"y\", Ze[0]).attr(\"height\", Ze[1] - Ze[0]), Te(De)), ce(De);\n });\n }\n ne.event = function(he) {\n he.each(function() {\n var ye = c.of(this, arguments), be = {\n x: C,\n y: D,\n i: E,\n j: q\n }, Se = this.__chart__ || be;\n this.__chart__ = be, Al ? t.select(this).transition().each(\"start.brush\", function() {\n E = Se.i, q = Se.j, C = Se.x, D = Se.y, ye({\n type: \"brushstart\"\n });\n }).tween(\"brush:brush\", function() {\n var De = dd(C, be.x), we = dd(D, be.y);\n return E = q = null, function(Ze) {\n C = be.x = De(Ze), D = be.y = we(Ze), ye({\n type: \"brush\",\n mode: \"resize\"\n });\n };\n }).each(\"end.brush\", function() {\n E = be.i, q = be.j, ye({\n type: \"brush\",\n mode: \"resize\"\n }), ye({\n type: \"brushend\"\n });\n }) : (ye({\n type: \"brushstart\"\n }), ye({\n type: \"brush\",\n mode: \"resize\"\n }), ye({\n type: \"brushend\"\n }));\n });\n };\n function ce(he) {\n he.selectAll(\".resize\").attr(\"transform\", function(ye) {\n return \"translate(\" + C[+/e$/.test(ye)] + \",\" + D[+/^s/.test(ye)] + \")\";\n });\n }\n function de(he) {\n he.select(\".extent\").attr(\"x\", C[0]), he.selectAll(\".extent,.n>rect,.s>rect\").attr(\"width\", C[1] - C[0]);\n }\n function Te(he) {\n he.select(\".extent\").attr(\"y\", D[0]), he.selectAll(\".extent,.e>rect,.w>rect\").attr(\"height\", D[1] - D[0]);\n }\n function Ae() {\n var he = this, ye = t.select(t.event.target), be = c.of(he, arguments), Se = t.select(he), De = ye.datum(), we = !/^(n|s)$/.test(De) && b, Ze = !/^(e|w)$/.test(De) && A, mt = ye.classed(\"extent\"), xt = gt(he), yt, Lt = t.mouse(he), Dt, Wt = t.select(o(he)).on(\"keydown.brush\", gr).on(\"keyup.brush\", Yr);\n if (t.event.changedTouches ? Wt.on(\"touchmove.brush\", xr).on(\"touchend.brush\", Zt) : Wt.on(\"mousemove.brush\", xr).on(\"mouseup.brush\", Zt), Se.interrupt().selectAll(\"*\").interrupt(), mt)\n Lt[0] = C[0] - Lt[0], Lt[1] = D[0] - Lt[1];\n else if (De) {\n var Ft = +/w$/.test(De), Gt = +/^n/.test(De);\n Dt = [C[1 - Ft] - Lt[0], D[1 - Gt] - Lt[1]], Lt[0] = C[Ft], Lt[1] = D[Gt];\n } else t.event.altKey && (yt = Lt.slice());\n Se.style(\"pointer-events\", \"none\").selectAll(\".resize\").style(\"display\", null), t.select(\"body\").style(\"cursor\", ye.style(\"cursor\")), be({\n type: \"brushstart\"\n }), xr();\n function gr() {\n t.event.keyCode == 32 && (mt || (yt = null, Lt[0] -= C[1], Lt[1] -= D[1], mt = 2), ee());\n }\n function Yr() {\n t.event.keyCode == 32 && mt == 2 && (Lt[0] += C[1], Lt[1] += D[1], mt = 0, ee());\n }\n function xr() {\n var Jt = t.mouse(he), yr = !1;\n Dt && (Jt[0] += Dt[0], Jt[1] += Dt[1]), mt || (t.event.altKey ? (yt || (yt = [(C[0] + C[1]) / 2, (D[0] + D[1]) / 2]), Lt[0] = C[+(Jt[0] < yt[0])], Lt[1] = D[+(Jt[1] < yt[1])]) : yt = null), we && dt(Jt, b, 0) && (de(Se), yr = !0), Ze && dt(Jt, A, 1) && (Te(Se), yr = !0), yr && (ce(Se), be({\n type: \"brush\",\n mode: mt ? \"move\" : \"resize\"\n }));\n }\n function dt(Jt, yr, Gr) {\n var un = vd(yr), kn = un[0], $n = un[1], Un = Lt[Gr], zn = Gr ? D : C, Qn = zn[1] - zn[0], Cn, ea;\n if (mt && (kn -= Un, $n -= Qn + Un), Cn = (Gr ? Y : N) ? Math.max(kn, Math.min($n, Jt[Gr])) : Jt[Gr], mt ? ea = (Cn += Un) + Qn : (yt && (Un = Math.max(kn, Math.min($n, 2 * yt[Gr] - Cn))), Un < Cn ? (ea = Cn, Cn = Un) : ea = Un), zn[0] != Cn || zn[1] != ea)\n return Gr ? q = null : E = null, zn[0] = Cn, zn[1] = ea, !0;\n }\n function Zt() {\n xr(), Se.style(\"pointer-events\", \"all\").selectAll(\".resize\").style(\"display\", ne.empty() ? \"none\" : null), t.select(\"body\").style(\"cursor\", null), Wt.on(\"mousemove.brush\", null).on(\"mouseup.brush\", null).on(\"touchmove.brush\", null).on(\"touchend.brush\", null).on(\"keydown.brush\", null).on(\"keyup.brush\", null), xt(), be({\n type: \"brushend\"\n });\n }\n }\n return ne.x = function(he) {\n return arguments.length ? (b = he, te = Mm[!b << 1 | !A], ne) : b;\n }, ne.y = function(he) {\n return arguments.length ? (A = he, te = Mm[!b << 1 | !A], ne) : A;\n }, ne.clamp = function(he) {\n return arguments.length ? (b && A ? (N = !!he[0], Y = !!he[1]) : b ? N = !!he : A && (Y = !!he), ne) : b && A ? [N, Y] : b ? N : A ? Y : null;\n }, ne.extent = function(he) {\n var ye, be, Se, De, we;\n return arguments.length ? (b && (ye = he[0], be = he[1], A && (ye = ye[0], be = be[0]), E = [ye, be], b.invert && (ye = b(ye), be = b(be)), be < ye && (we = ye, ye = be, be = we), (ye != C[0] || be != C[1]) && (C = [ye, be])), A && (Se = he[0], De = he[1], b && (Se = Se[1], De = De[1]), q = [Se, De], A.invert && (Se = A(Se), De = A(De)), De < Se && (we = Se, Se = De, De = we), (Se != D[0] || De != D[1]) && (D = [Se, De])), ne) : (b && (E ? (ye = E[0], be = E[1]) : (ye = C[0], be = C[1], b.invert && (ye = b.invert(ye), be = b.invert(be)), be < ye && (we = ye, ye = be, be = we))), A && (q ? (Se = q[0], De = q[1]) : (Se = D[0], De = D[1], A.invert && (Se = A.invert(Se), De = A.invert(De)), De < Se && (we = Se, Se = De, De = we))), b && A ? [[ye, Se], [be, De]] : b ? [ye, be] : A && [Se, De]);\n }, ne.clear = function() {\n return ne.empty() || (C = [0, 0], D = [0, 0], E = q = null), ne;\n }, ne.empty = function() {\n return !!b && C[0] == C[1] || !!A && D[0] == D[1];\n }, t.rebind(ne, c, \"on\");\n };\n var AR = {\n n: \"ns-resize\",\n e: \"ew-resize\",\n s: \"ns-resize\",\n w: \"ew-resize\",\n nw: \"nwse-resize\",\n ne: \"nesw-resize\",\n se: \"nwse-resize\",\n sw: \"nesw-resize\"\n }, Mm = [[\"n\", \"e\", \"s\", \"w\", \"nw\", \"ne\", \"se\", \"sw\"], [\"e\", \"w\"], [\"n\", \"s\"], []];\n t.text = Aa(function(c) {\n return c.responseText;\n }), t.json = function(c, b) {\n return Ja(c, \"application/json\", MR, b);\n };\n function MR(c) {\n return JSON.parse(c.responseText);\n }\n t.html = function(c, b) {\n return Ja(c, \"text/html\", SR, b);\n };\n function SR(c) {\n var b = a.createRange();\n return b.selectNode(a.body), b.createContextualFragment(c.responseText);\n }\n t.xml = Aa(function(c) {\n return c.responseXML;\n }), e.exports ? e.exports = t : this.d3 = t;\n }).apply(self);\n})(iC);\nvar lr = iC.exports, Hm = /* @__PURE__ */ new Date(), Bm = /* @__PURE__ */ new Date();\nfunction wn(e, t, r, n) {\n function a(i) {\n return e(i = arguments.length === 0 ? /* @__PURE__ */ new Date() : /* @__PURE__ */ new Date(+i)), i;\n }\n return a.floor = function(i) {\n return e(i = /* @__PURE__ */ new Date(+i)), i;\n }, a.ceil = function(i) {\n return e(i = new Date(i - 1)), t(i, 1), e(i), i;\n }, a.round = function(i) {\n var o = a(i), l = a.ceil(i);\n return i - o < l - i ? o : l;\n }, a.offset = function(i, o) {\n return t(i = /* @__PURE__ */ new Date(+i), o == null ? 1 : Math.floor(o)), i;\n }, a.range = function(i, o, l) {\n var s = [], u;\n if (i = a.ceil(i), l = l == null ? 1 : Math.floor(l), !(i < o) || !(l > 0)) return s;\n do\n s.push(u = /* @__PURE__ */ new Date(+i)), t(i, l), e(i);\n while (u < i && i < o);\n return s;\n }, a.filter = function(i) {\n return wn(function(o) {\n if (o >= o) for (; e(o), !i(o); ) o.setTime(o - 1);\n }, function(o, l) {\n if (o >= o)\n if (l < 0) for (; ++l <= 0; )\n for (; t(o, -1), !i(o); )\n ;\n else for (; --l >= 0; )\n for (; t(o, 1), !i(o); )\n ;\n });\n }, r && (a.count = function(i, o) {\n return Hm.setTime(+i), Bm.setTime(+o), e(Hm), e(Bm), Math.floor(r(Hm, Bm));\n }, a.every = function(i) {\n return i = Math.floor(i), !isFinite(i) || !(i > 0) ? null : i > 1 ? a.filter(n ? function(o) {\n return n(o) % i === 0;\n } : function(o) {\n return a.count(0, o) % i === 0;\n }) : a;\n }), a;\n}\nvar gc = wn(function() {\n}, function(e, t) {\n e.setTime(+e + t);\n}, function(e, t) {\n return t - e;\n});\ngc.every = function(e) {\n return e = Math.floor(e), !isFinite(e) || !(e > 0) ? null : e > 1 ? wn(function(t) {\n t.setTime(Math.floor(t / e) * e);\n }, function(t, r) {\n t.setTime(+t + r * e);\n }, function(t, r) {\n return (r - t) / e;\n }) : gc;\n};\nvar Jw = gc.range, nv = 1e3, as = 6e4, av = 36e5, oC = 864e5, lC = 6048e5, ay = wn(function(e) {\n e.setTime(e - e.getMilliseconds());\n}, function(e, t) {\n e.setTime(+e + t * nv);\n}, function(e, t) {\n return (t - e) / nv;\n}, function(e) {\n return e.getUTCSeconds();\n}), Qw = ay.range, sC = wn(function(e) {\n e.setTime(e - e.getMilliseconds() - e.getSeconds() * nv);\n}, function(e, t) {\n e.setTime(+e + t * as);\n}, function(e, t) {\n return (t - e) / as;\n}, function(e) {\n return e.getMinutes();\n}), TB = sC.range, uC = wn(function(e) {\n e.setTime(e - e.getMilliseconds() - e.getSeconds() * nv - e.getMinutes() * as);\n}, function(e, t) {\n e.setTime(+e + t * av);\n}, function(e, t) {\n return (t - e) / av;\n}, function(e) {\n return e.getHours();\n}), kB = uC.range, ip = wn(function(e) {\n e.setHours(0, 0, 0, 0);\n}, function(e, t) {\n e.setDate(e.getDate() + t);\n}, function(e, t) {\n return (t - e - (t.getTimezoneOffset() - e.getTimezoneOffset()) * as) / oC;\n}, function(e) {\n return e.getDate() - 1;\n}), AB = ip.range;\nfunction vs(e) {\n return wn(function(t) {\n t.setDate(t.getDate() - (t.getDay() + 7 - e) % 7), t.setHours(0, 0, 0, 0);\n }, function(t, r) {\n t.setDate(t.getDate() + r * 7);\n }, function(t, r) {\n return (r - t - (r.getTimezoneOffset() - t.getTimezoneOffset()) * as) / lC;\n });\n}\nvar iv = vs(0), yc = vs(1), fC = vs(2), cC = vs(3), is = vs(4), dC = vs(5), hC = vs(6), e2 = iv.range, MB = yc.range, SB = fC.range, CB = cC.range, LB = is.range, DB = dC.range, EB = hC.range, vC = wn(function(e) {\n e.setDate(1), e.setHours(0, 0, 0, 0);\n}, function(e, t) {\n e.setMonth(e.getMonth() + t);\n}, function(e, t) {\n return t.getMonth() - e.getMonth() + (t.getFullYear() - e.getFullYear()) * 12;\n}, function(e) {\n return e.getMonth();\n}), FB = vC.range, sl = wn(function(e) {\n e.setMonth(0, 1), e.setHours(0, 0, 0, 0);\n}, function(e, t) {\n e.setFullYear(e.getFullYear() + t);\n}, function(e, t) {\n return t.getFullYear() - e.getFullYear();\n}, function(e) {\n return e.getFullYear();\n});\nsl.every = function(e) {\n return !isFinite(e = Math.floor(e)) || !(e > 0) ? null : wn(function(t) {\n t.setFullYear(Math.floor(t.getFullYear() / e) * e), t.setMonth(0, 1), t.setHours(0, 0, 0, 0);\n }, function(t, r) {\n t.setFullYear(t.getFullYear() + r * e);\n });\n};\nvar RB = sl.range, pC = wn(function(e) {\n e.setUTCSeconds(0, 0);\n}, function(e, t) {\n e.setTime(+e + t * as);\n}, function(e, t) {\n return (t - e) / as;\n}, function(e) {\n return e.getUTCMinutes();\n}), PB = pC.range, mC = wn(function(e) {\n e.setUTCMinutes(0, 0, 0);\n}, function(e, t) {\n e.setTime(+e + t * av);\n}, function(e, t) {\n return (t - e) / av;\n}, function(e) {\n return e.getUTCHours();\n}), $B = mC.range, op = wn(function(e) {\n e.setUTCHours(0, 0, 0, 0);\n}, function(e, t) {\n e.setUTCDate(e.getUTCDate() + t);\n}, function(e, t) {\n return (t - e) / oC;\n}, function(e) {\n return e.getUTCDate() - 1;\n}), zB = op.range;\nfunction ps(e) {\n return wn(function(t) {\n t.setUTCDate(t.getUTCDate() - (t.getUTCDay() + 7 - e) % 7), t.setUTCHours(0, 0, 0, 0);\n }, function(t, r) {\n t.setUTCDate(t.getUTCDate() + r * 7);\n }, function(t, r) {\n return (r - t) / lC;\n });\n}\nvar ov = ps(0), bc = ps(1), gC = ps(2), yC = ps(3), os = ps(4), bC = ps(5), _C = ps(6), t2 = ov.range, IB = bc.range, NB = gC.range, OB = yC.range, HB = os.range, BB = bC.range, jB = _C.range, xC = wn(function(e) {\n e.setUTCDate(1), e.setUTCHours(0, 0, 0, 0);\n}, function(e, t) {\n e.setUTCMonth(e.getUTCMonth() + t);\n}, function(e, t) {\n return t.getUTCMonth() - e.getUTCMonth() + (t.getUTCFullYear() - e.getUTCFullYear()) * 12;\n}, function(e) {\n return e.getUTCMonth();\n}), UB = xC.range, ul = wn(function(e) {\n e.setUTCMonth(0, 1), e.setUTCHours(0, 0, 0, 0);\n}, function(e, t) {\n e.setUTCFullYear(e.getUTCFullYear() + t);\n}, function(e, t) {\n return t.getUTCFullYear() - e.getUTCFullYear();\n}, function(e) {\n return e.getUTCFullYear();\n});\nul.every = function(e) {\n return !isFinite(e = Math.floor(e)) || !(e > 0) ? null : wn(function(t) {\n t.setUTCFullYear(Math.floor(t.getUTCFullYear() / e) * e), t.setUTCMonth(0, 1), t.setUTCHours(0, 0, 0, 0);\n }, function(t, r) {\n t.setUTCFullYear(t.getUTCFullYear() + r * e);\n });\n};\nvar GB = ul.range;\nconst VB = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({\n __proto__: null,\n timeDay: ip,\n timeDays: AB,\n timeFriday: dC,\n timeFridays: DB,\n timeHour: uC,\n timeHours: kB,\n timeInterval: wn,\n timeMillisecond: gc,\n timeMilliseconds: Jw,\n timeMinute: sC,\n timeMinutes: TB,\n timeMonday: yc,\n timeMondays: MB,\n timeMonth: vC,\n timeMonths: FB,\n timeSaturday: hC,\n timeSaturdays: EB,\n timeSecond: ay,\n timeSeconds: Qw,\n timeSunday: iv,\n timeSundays: e2,\n timeThursday: is,\n timeThursdays: LB,\n timeTuesday: fC,\n timeTuesdays: SB,\n timeWednesday: cC,\n timeWednesdays: CB,\n timeWeek: iv,\n timeWeeks: e2,\n timeYear: sl,\n timeYears: RB,\n utcDay: op,\n utcDays: zB,\n utcFriday: bC,\n utcFridays: BB,\n utcHour: mC,\n utcHours: $B,\n utcMillisecond: gc,\n utcMilliseconds: Jw,\n utcMinute: pC,\n utcMinutes: PB,\n utcMonday: bc,\n utcMondays: IB,\n utcMonth: xC,\n utcMonths: UB,\n utcSaturday: _C,\n utcSaturdays: jB,\n utcSecond: ay,\n utcSeconds: Qw,\n utcSunday: ov,\n utcSundays: t2,\n utcThursday: os,\n utcThursdays: HB,\n utcTuesday: gC,\n utcTuesdays: NB,\n utcWednesday: yC,\n utcWednesdays: OB,\n utcWeek: ov,\n utcWeeks: t2,\n utcYear: ul,\n utcYears: GB\n}, Symbol.toStringTag, { value: \"Module\" }));\nfunction jm(e) {\n if (0 <= e.y && e.y < 100) {\n var t = new Date(-1, e.m, e.d, e.H, e.M, e.S, e.L);\n return t.setFullYear(e.y), t;\n }\n return new Date(e.y, e.m, e.d, e.H, e.M, e.S, e.L);\n}\nfunction Um(e) {\n if (0 <= e.y && e.y < 100) {\n var t = new Date(Date.UTC(-1, e.m, e.d, e.H, e.M, e.S, e.L));\n return t.setUTCFullYear(e.y), t;\n }\n return new Date(Date.UTC(e.y, e.m, e.d, e.H, e.M, e.S, e.L));\n}\nfunction gf(e, t, r) {\n return { y: e, m: t, d: r, H: 0, M: 0, S: 0, L: 0 };\n}\nfunction wC(e) {\n var t = e.dateTime, r = e.date, n = e.time, a = e.periods, i = e.days, o = e.shortDays, l = e.months, s = e.shortMonths, u = yf(a), f = bf(a), d = yf(i), h = bf(i), p = yf(o), v = bf(o), m = yf(l), g = bf(l), y = yf(s), w = bf(s), k = {\n a: z,\n A: P,\n b: R,\n B: H,\n c: null,\n d: l2,\n e: l2,\n f: vj,\n g: kj,\n G: Mj,\n H: cj,\n I: dj,\n j: hj,\n L: TC,\n m: pj,\n M: mj,\n p: B,\n q: W,\n Q: f2,\n s: c2,\n S: gj,\n u: yj,\n U: bj,\n V: _j,\n w: xj,\n W: wj,\n x: null,\n X: null,\n y: Tj,\n Y: Aj,\n Z: Sj,\n \"%\": u2\n }, x = {\n a: ee,\n A: re,\n b: ae,\n B: Q,\n c: null,\n d: s2,\n e: s2,\n f: Ej,\n g: Bj,\n G: Uj,\n H: Cj,\n I: Lj,\n j: Dj,\n L: AC,\n m: Fj,\n M: Rj,\n p: ue,\n q: j,\n Q: f2,\n s: c2,\n S: Pj,\n u: $j,\n U: zj,\n V: Ij,\n w: Nj,\n W: Oj,\n x: null,\n X: null,\n y: Hj,\n Y: jj,\n Z: Gj,\n \"%\": u2\n }, _ = {\n a: F,\n A: $,\n b: I,\n B: O,\n c: G,\n d: i2,\n e: i2,\n f: lj,\n g: a2,\n G: n2,\n H: o2,\n I: o2,\n j: nj,\n L: oj,\n m: rj,\n M: aj,\n p: L,\n q: tj,\n Q: uj,\n s: fj,\n S: ij,\n u: XB,\n U: KB,\n V: JB,\n w: YB,\n W: QB,\n x: K,\n X: V,\n y: a2,\n Y: n2,\n Z: ej,\n \"%\": sj\n };\n k.x = T(r, k), k.X = T(n, k), k.c = T(t, k), x.x = T(r, x), x.X = T(n, x), x.c = T(t, x);\n function T(U, Z) {\n return function(le) {\n var J = [], pe = -1, ge = 0, ve = U.length, me, Le, ze;\n for (le instanceof Date || (le = /* @__PURE__ */ new Date(+le)); ++pe < ve; )\n U.charCodeAt(pe) === 37 && (J.push(U.slice(ge, pe)), (Le = r2[me = U.charAt(++pe)]) != null ? me = U.charAt(++pe) : Le = me === \"e\" ? \" \" : \"0\", (ze = Z[me]) && (me = ze(le, Le)), J.push(me), ge = pe + 1);\n return J.push(U.slice(ge, pe)), J.join(\"\");\n };\n }\n function S(U, Z) {\n return function(le) {\n var J = gf(1900, void 0, 1), pe = M(J, U, le += \"\", 0), ge, ve;\n if (pe != le.length) return null;\n if (\"Q\" in J) return new Date(J.Q);\n if (\"s\" in J) return new Date(J.s * 1e3 + (\"L\" in J ? J.L : 0));\n if (Z && !(\"Z\" in J) && (J.Z = 0), \"p\" in J && (J.H = J.H % 12 + J.p * 12), J.m === void 0 && (J.m = \"q\" in J ? J.q : 0), \"V\" in J) {\n if (J.V < 1 || J.V > 53) return null;\n \"w\" in J || (J.w = 1), \"Z\" in J ? (ge = Um(gf(J.y, 0, 1)), ve = ge.getUTCDay(), ge = ve > 4 || ve === 0 ? bc.ceil(ge) : bc(ge), ge = op.offset(ge, (J.V - 1) * 7), J.y = ge.getUTCFullYear(), J.m = ge.getUTCMonth(), J.d = ge.getUTCDate() + (J.w + 6) % 7) : (ge = jm(gf(J.y, 0, 1)), ve = ge.getDay(), ge = ve > 4 || ve === 0 ? yc.ceil(ge) : yc(ge), ge = ip.offset(ge, (J.V - 1) * 7), J.y = ge.getFullYear(), J.m = ge.getMonth(), J.d = ge.getDate() + (J.w + 6) % 7);\n } else (\"W\" in J || \"U\" in J) && (\"w\" in J || (J.w = \"u\" in J ? J.u % 7 : \"W\" in J ? 1 : 0), ve = \"Z\" in J ? Um(gf(J.y, 0, 1)).getUTCDay() : jm(gf(J.y, 0, 1)).getDay(), J.m = 0, J.d = \"W\" in J ? (J.w + 6) % 7 + J.W * 7 - (ve + 5) % 7 : J.w + J.U * 7 - (ve + 6) % 7);\n return \"Z\" in J ? (J.H += J.Z / 100 | 0, J.M += J.Z % 100, Um(J)) : jm(J);\n };\n }\n function M(U, Z, le, J) {\n for (var pe = 0, ge = Z.length, ve = le.length, me, Le; pe < ge; ) {\n if (J >= ve) return -1;\n if (me = Z.charCodeAt(pe++), me === 37) {\n if (me = Z.charAt(pe++), Le = _[me in r2 ? Z.charAt(pe++) : me], !Le || (J = Le(U, le, J)) < 0) return -1;\n } else if (me != le.charCodeAt(J++))\n return -1;\n }\n return J;\n }\n function L(U, Z, le) {\n var J = u.exec(Z.slice(le));\n return J ? (U.p = f[J[0].toLowerCase()], le + J[0].length) : -1;\n }\n function F(U, Z, le) {\n var J = p.exec(Z.slice(le));\n return J ? (U.w = v[J[0].toLowerCase()], le + J[0].length) : -1;\n }\n function $(U, Z, le) {\n var J = d.exec(Z.slice(le));\n return J ? (U.w = h[J[0].toLowerCase()], le + J[0].length) : -1;\n }\n function I(U, Z, le) {\n var J = y.exec(Z.slice(le));\n return J ? (U.m = w[J[0].toLowerCase()], le + J[0].length) : -1;\n }\n function O(U, Z, le) {\n var J = m.exec(Z.slice(le));\n return J ? (U.m = g[J[0].toLowerCase()], le + J[0].length) : -1;\n }\n function G(U, Z, le) {\n return M(U, t, Z, le);\n }\n function K(U, Z, le) {\n return M(U, r, Z, le);\n }\n function V(U, Z, le) {\n return M(U, n, Z, le);\n }\n function z(U) {\n return o[U.getDay()];\n }\n function P(U) {\n return i[U.getDay()];\n }\n function R(U) {\n return s[U.getMonth()];\n }\n function H(U) {\n return l[U.getMonth()];\n }\n function B(U) {\n return a[+(U.getHours() >= 12)];\n }\n function W(U) {\n return 1 + ~~(U.getMonth() / 3);\n }\n function ee(U) {\n return o[U.getUTCDay()];\n }\n function re(U) {\n return i[U.getUTCDay()];\n }\n function ae(U) {\n return s[U.getUTCMonth()];\n }\n function Q(U) {\n return l[U.getUTCMonth()];\n }\n function ue(U) {\n return a[+(U.getUTCHours() >= 12)];\n }\n function j(U) {\n return 1 + ~~(U.getUTCMonth() / 3);\n }\n return {\n format: function(U) {\n var Z = T(U += \"\", k);\n return Z.toString = function() {\n return U;\n }, Z;\n },\n parse: function(U) {\n var Z = S(U += \"\", !1);\n return Z.toString = function() {\n return U;\n }, Z;\n },\n utcFormat: function(U) {\n var Z = T(U += \"\", x);\n return Z.toString = function() {\n return U;\n }, Z;\n },\n utcParse: function(U) {\n var Z = S(U += \"\", !0);\n return Z.toString = function() {\n return U;\n }, Z;\n }\n };\n}\nvar r2 = { \"-\": \"\", _: \" \", 0: \"0\" }, Sn = /^\\s*\\d+/, qB = /^%/, WB = /[\\\\^$*+?|[\\]().{}]/g;\nfunction Lr(e, t, r) {\n var n = e < 0 ? \"-\" : \"\", a = (n ? -e : e) + \"\", i = a.length;\n return n + (i < r ? new Array(r - i + 1).join(t) + a : a);\n}\nfunction ZB(e) {\n return e.replace(WB, \"\\\\$&\");\n}\nfunction yf(e) {\n return new RegExp(\"^(?:\" + e.map(ZB).join(\"|\") + \")\", \"i\");\n}\nfunction bf(e) {\n for (var t = {}, r = -1, n = e.length; ++r < n; ) t[e[r].toLowerCase()] = r;\n return t;\n}\nfunction YB(e, t, r) {\n var n = Sn.exec(t.slice(r, r + 1));\n return n ? (e.w = +n[0], r + n[0].length) : -1;\n}\nfunction XB(e, t, r) {\n var n = Sn.exec(t.slice(r, r + 1));\n return n ? (e.u = +n[0], r + n[0].length) : -1;\n}\nfunction KB(e, t, r) {\n var n = Sn.exec(t.slice(r, r + 2));\n return n ? (e.U = +n[0], r + n[0].length) : -1;\n}\nfunction JB(e, t, r) {\n var n = Sn.exec(t.slice(r, r + 2));\n return n ? (e.V = +n[0], r + n[0].length) : -1;\n}\nfunction QB(e, t, r) {\n var n = Sn.exec(t.slice(r, r + 2));\n return n ? (e.W = +n[0], r + n[0].length) : -1;\n}\nfunction n2(e, t, r) {\n var n = Sn.exec(t.slice(r, r + 4));\n return n ? (e.y = +n[0], r + n[0].length) : -1;\n}\nfunction a2(e, t, r) {\n var n = Sn.exec(t.slice(r, r + 2));\n return n ? (e.y = +n[0] + (+n[0] > 68 ? 1900 : 2e3), r + n[0].length) : -1;\n}\nfunction ej(e, t, r) {\n var n = /^(Z)|([+-]\\d\\d)(?::?(\\d\\d))?/.exec(t.slice(r, r + 6));\n return n ? (e.Z = n[1] ? 0 : -(n[2] + (n[3] || \"00\")), r + n[0].length) : -1;\n}\nfunction tj(e, t, r) {\n var n = Sn.exec(t.slice(r, r + 1));\n return n ? (e.q = n[0] * 3 - 3, r + n[0].length) : -1;\n}\nfunction rj(e, t, r) {\n var n = Sn.exec(t.slice(r, r + 2));\n return n ? (e.m = n[0] - 1, r + n[0].length) : -1;\n}\nfunction i2(e, t, r) {\n var n = Sn.exec(t.slice(r, r + 2));\n return n ? (e.d = +n[0], r + n[0].length) : -1;\n}\nfunction nj(e, t, r) {\n var n = Sn.exec(t.slice(r, r + 3));\n return n ? (e.m = 0, e.d = +n[0], r + n[0].length) : -1;\n}\nfunction o2(e, t, r) {\n var n = Sn.exec(t.slice(r, r + 2));\n return n ? (e.H = +n[0], r + n[0].length) : -1;\n}\nfunction aj(e, t, r) {\n var n = Sn.exec(t.slice(r, r + 2));\n return n ? (e.M = +n[0], r + n[0].length) : -1;\n}\nfunction ij(e, t, r) {\n var n = Sn.exec(t.slice(r, r + 2));\n return n ? (e.S = +n[0], r + n[0].length) : -1;\n}\nfunction oj(e, t, r) {\n var n = Sn.exec(t.slice(r, r + 3));\n return n ? (e.L = +n[0], r + n[0].length) : -1;\n}\nfunction lj(e, t, r) {\n var n = Sn.exec(t.slice(r, r + 6));\n return n ? (e.L = Math.floor(n[0] / 1e3), r + n[0].length) : -1;\n}\nfunction sj(e, t, r) {\n var n = qB.exec(t.slice(r, r + 1));\n return n ? r + n[0].length : -1;\n}\nfunction uj(e, t, r) {\n var n = Sn.exec(t.slice(r));\n return n ? (e.Q = +n[0], r + n[0].length) : -1;\n}\nfunction fj(e, t, r) {\n var n = Sn.exec(t.slice(r));\n return n ? (e.s = +n[0], r + n[0].length) : -1;\n}\nfunction l2(e, t) {\n return Lr(e.getDate(), t, 2);\n}\nfunction cj(e, t) {\n return Lr(e.getHours(), t, 2);\n}\nfunction dj(e, t) {\n return Lr(e.getHours() % 12 || 12, t, 2);\n}\nfunction hj(e, t) {\n return Lr(1 + ip.count(sl(e), e), t, 3);\n}\nfunction TC(e, t) {\n return Lr(e.getMilliseconds(), t, 3);\n}\nfunction vj(e, t) {\n return TC(e, t) + \"000\";\n}\nfunction pj(e, t) {\n return Lr(e.getMonth() + 1, t, 2);\n}\nfunction mj(e, t) {\n return Lr(e.getMinutes(), t, 2);\n}\nfunction gj(e, t) {\n return Lr(e.getSeconds(), t, 2);\n}\nfunction yj(e) {\n var t = e.getDay();\n return t === 0 ? 7 : t;\n}\nfunction bj(e, t) {\n return Lr(iv.count(sl(e) - 1, e), t, 2);\n}\nfunction kC(e) {\n var t = e.getDay();\n return t >= 4 || t === 0 ? is(e) : is.ceil(e);\n}\nfunction _j(e, t) {\n return e = kC(e), Lr(is.count(sl(e), e) + (sl(e).getDay() === 4), t, 2);\n}\nfunction xj(e) {\n return e.getDay();\n}\nfunction wj(e, t) {\n return Lr(yc.count(sl(e) - 1, e), t, 2);\n}\nfunction Tj(e, t) {\n return Lr(e.getFullYear() % 100, t, 2);\n}\nfunction kj(e, t) {\n return e = kC(e), Lr(e.getFullYear() % 100, t, 2);\n}\nfunction Aj(e, t) {\n return Lr(e.getFullYear() % 1e4, t, 4);\n}\nfunction Mj(e, t) {\n var r = e.getDay();\n return e = r >= 4 || r === 0 ? is(e) : is.ceil(e), Lr(e.getFullYear() % 1e4, t, 4);\n}\nfunction Sj(e) {\n var t = e.getTimezoneOffset();\n return (t > 0 ? \"-\" : (t *= -1, \"+\")) + Lr(t / 60 | 0, \"0\", 2) + Lr(t % 60, \"0\", 2);\n}\nfunction s2(e, t) {\n return Lr(e.getUTCDate(), t, 2);\n}\nfunction Cj(e, t) {\n return Lr(e.getUTCHours(), t, 2);\n}\nfunction Lj(e, t) {\n return Lr(e.getUTCHours() % 12 || 12, t, 2);\n}\nfunction Dj(e, t) {\n return Lr(1 + op.count(ul(e), e), t, 3);\n}\nfunction AC(e, t) {\n return Lr(e.getUTCMilliseconds(), t, 3);\n}\nfunction Ej(e, t) {\n return AC(e, t) + \"000\";\n}\nfunction Fj(e, t) {\n return Lr(e.getUTCMonth() + 1, t, 2);\n}\nfunction Rj(e, t) {\n return Lr(e.getUTCMinutes(), t, 2);\n}\nfunction Pj(e, t) {\n return Lr(e.getUTCSeconds(), t, 2);\n}\nfunction $j(e) {\n var t = e.getUTCDay();\n return t === 0 ? 7 : t;\n}\nfunction zj(e, t) {\n return Lr(ov.count(ul(e) - 1, e), t, 2);\n}\nfunction MC(e) {\n var t = e.getUTCDay();\n return t >= 4 || t === 0 ? os(e) : os.ceil(e);\n}\nfunction Ij(e, t) {\n return e = MC(e), Lr(os.count(ul(e), e) + (ul(e).getUTCDay() === 4), t, 2);\n}\nfunction Nj(e) {\n return e.getUTCDay();\n}\nfunction Oj(e, t) {\n return Lr(bc.count(ul(e) - 1, e), t, 2);\n}\nfunction Hj(e, t) {\n return Lr(e.getUTCFullYear() % 100, t, 2);\n}\nfunction Bj(e, t) {\n return e = MC(e), Lr(e.getUTCFullYear() % 100, t, 2);\n}\nfunction jj(e, t) {\n return Lr(e.getUTCFullYear() % 1e4, t, 4);\n}\nfunction Uj(e, t) {\n var r = e.getUTCDay();\n return e = r >= 4 || r === 0 ? os(e) : os.ceil(e), Lr(e.getUTCFullYear() % 1e4, t, 4);\n}\nfunction Gj() {\n return \"+0000\";\n}\nfunction u2() {\n return \"%\";\n}\nfunction f2(e) {\n return +e;\n}\nfunction c2(e) {\n return Math.floor(+e / 1e3);\n}\nvar Rs, SC, CC, I1, N1;\nLC({\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});\nfunction LC(e) {\n return Rs = wC(e), SC = Rs.format, CC = Rs.parse, I1 = Rs.utcFormat, N1 = Rs.utcParse, Rs;\n}\nvar DC = \"%Y-%m-%dT%H:%M:%S.%LZ\";\nfunction Vj(e) {\n return e.toISOString();\n}\nvar qj = Date.prototype.toISOString ? Vj : I1(DC);\nfunction Wj(e) {\n var t = new Date(e);\n return isNaN(t) ? null : t;\n}\nvar Zj = +/* @__PURE__ */ new Date(\"2000-01-01T00:00:00.000Z\") ? Wj : N1(DC);\nconst Yj = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({\n __proto__: null,\n isoFormat: qj,\n isoParse: Zj,\n get timeFormat() {\n return SC;\n },\n timeFormatDefaultLocale: LC,\n timeFormatLocale: wC,\n get timeParse() {\n return CC;\n },\n get utcFormat() {\n return I1;\n },\n get utcParse() {\n return N1;\n }\n}, Symbol.toStringTag, { value: \"Module\" })), _c = /* @__PURE__ */ tp(Yj);\nfunction Xj(e) {\n return Math.abs(e = Math.round(e)) >= 1e21 ? e.toLocaleString(\"en\").replace(/,/g, \"\") : e.toString(10);\n}\nfunction lv(e, t) {\n if ((r = (e = t ? e.toExponential(t - 1) : e.toExponential()).indexOf(\"e\")) < 0) return null;\n var r, n = e.slice(0, r);\n return [\n n.length > 1 ? n[0] + n.slice(2) : n,\n +e.slice(r + 1)\n ];\n}\nfunction Du(e) {\n return e = lv(Math.abs(e)), e ? e[1] : NaN;\n}\nfunction Kj(e, t) {\n return function(r, n) {\n for (var a = r.length, i = [], o = 0, l = e[0], s = 0; a > 0 && l > 0 && (s + l + 1 > n && (l = Math.max(1, n - s)), i.push(r.substring(a -= l, a + l)), !((s += l + 1) > n)); )\n l = e[o = (o + 1) % e.length];\n return i.reverse().join(t);\n };\n}\nfunction Jj(e) {\n return function(t) {\n return t.replace(/[0-9]/g, function(r) {\n return e[+r];\n });\n };\n}\nvar Qj = /^(?:(.)?([<>=^]))?([+\\-( ])?([$#])?(0)?(\\d+)?(,)?(\\.\\d+)?(~)?([a-z%])?$/i;\nfunction sv(e) {\n if (!(t = Qj.exec(e))) throw new Error(\"invalid format: \" + e);\n var t;\n return new lp({\n fill: t[1],\n align: t[2],\n sign: t[3],\n symbol: t[4],\n zero: t[5],\n width: t[6],\n comma: t[7],\n precision: t[8] && t[8].slice(1),\n trim: t[9],\n type: t[10]\n });\n}\nsv.prototype = lp.prototype;\nfunction lp(e) {\n this.fill = e.fill === void 0 ? \" \" : e.fill + \"\", this.align = e.align === void 0 ? \">\" : e.align + \"\", this.sign = e.sign === void 0 ? \"-\" : e.sign + \"\", this.symbol = e.symbol === void 0 ? \"\" : e.symbol + \"\", this.zero = !!e.zero, this.width = e.width === void 0 ? void 0 : +e.width, this.comma = !!e.comma, this.precision = e.precision === void 0 ? void 0 : +e.precision, this.trim = !!e.trim, this.type = e.type === void 0 ? \"\" : e.type + \"\";\n}\nlp.prototype.toString = function() {\n return this.fill + this.align + this.sign + this.symbol + (this.zero ? \"0\" : \"\") + (this.width === void 0 ? \"\" : Math.max(1, this.width | 0)) + (this.comma ? \",\" : \"\") + (this.precision === void 0 ? \"\" : \".\" + Math.max(0, this.precision | 0)) + (this.trim ? \"~\" : \"\") + this.type;\n};\nfunction eU(e) {\n e: for (var t = e.length, r = 1, n = -1, a; r < t; ++r)\n switch (e[r]) {\n case \".\":\n n = a = r;\n break;\n case \"0\":\n n === 0 && (n = r), a = r;\n break;\n default:\n if (!+e[r]) break e;\n n > 0 && (n = 0);\n break;\n }\n return n > 0 ? e.slice(0, n) + e.slice(a + 1) : e;\n}\nvar EC;\nfunction tU(e, t) {\n var r = lv(e, t);\n if (!r) return e + \"\";\n var n = r[0], a = r[1], i = a - (EC = Math.max(-8, Math.min(8, Math.floor(a / 3))) * 3) + 1, o = n.length;\n return i === o ? n : i > o ? n + new Array(i - o + 1).join(\"0\") : i > 0 ? n.slice(0, i) + \".\" + n.slice(i) : \"0.\" + new Array(1 - i).join(\"0\") + lv(e, Math.max(0, t + i - 1))[0];\n}\nfunction d2(e, t) {\n var r = lv(e, t);\n if (!r) return e + \"\";\n var n = r[0], a = r[1];\n return a < 0 ? \"0.\" + new Array(-a).join(\"0\") + n : n.length > a + 1 ? n.slice(0, a + 1) + \".\" + n.slice(a + 1) : n + new Array(a - n.length + 2).join(\"0\");\n}\nconst h2 = {\n \"%\": function(e, t) {\n return (e * 100).toFixed(t);\n },\n b: function(e) {\n return Math.round(e).toString(2);\n },\n c: function(e) {\n return e + \"\";\n },\n d: Xj,\n e: function(e, t) {\n return e.toExponential(t);\n },\n f: function(e, t) {\n return e.toFixed(t);\n },\n g: function(e, t) {\n return e.toPrecision(t);\n },\n o: function(e) {\n return Math.round(e).toString(8);\n },\n p: function(e, t) {\n return d2(e * 100, t);\n },\n r: d2,\n s: tU,\n X: function(e) {\n return Math.round(e).toString(16).toUpperCase();\n },\n x: function(e) {\n return Math.round(e).toString(16);\n }\n};\nfunction v2(e) {\n return e;\n}\nvar p2 = Array.prototype.map, m2 = [\"y\", \"z\", \"a\", \"f\", \"p\", \"n\", \"µ\", \"m\", \"\", \"k\", \"M\", \"G\", \"T\", \"P\", \"E\", \"Z\", \"Y\"];\nfunction FC(e) {\n var t = e.grouping === void 0 || e.thousands === void 0 ? v2 : Kj(p2.call(e.grouping, Number), e.thousands + \"\"), r = e.currency === void 0 ? \"\" : e.currency[0] + \"\", n = e.currency === void 0 ? \"\" : e.currency[1] + \"\", a = e.decimal === void 0 ? \".\" : e.decimal + \"\", i = e.numerals === void 0 ? v2 : Jj(p2.call(e.numerals, String)), o = e.percent === void 0 ? \"%\" : e.percent + \"\", l = e.minus === void 0 ? \"-\" : e.minus + \"\", s = e.nan === void 0 ? \"NaN\" : e.nan + \"\";\n function u(d) {\n d = sv(d);\n var h = d.fill, p = d.align, v = d.sign, m = d.symbol, g = d.zero, y = d.width, w = d.comma, k = d.precision, x = d.trim, _ = d.type;\n _ === \"n\" ? (w = !0, _ = \"g\") : h2[_] || (k === void 0 && (k = 12), x = !0, _ = \"g\"), (g || h === \"0\" && p === \"=\") && (g = !0, h = \"0\", p = \"=\");\n var T = m === \"$\" ? r : m === \"#\" && /[boxX]/.test(_) ? \"0\" + _.toLowerCase() : \"\", S = m === \"$\" ? n : /[%p]/.test(_) ? o : \"\", M = h2[_], L = /[defgprs%]/.test(_);\n k = k === void 0 ? 6 : /[gprs]/.test(_) ? Math.max(1, Math.min(21, k)) : Math.max(0, Math.min(20, k));\n function F($) {\n var I = T, O = S, G, K, V;\n if (_ === \"c\")\n O = M($) + O, $ = \"\";\n else {\n $ = +$;\n var z = $ < 0 || 1 / $ < 0;\n if ($ = isNaN($) ? s : M(Math.abs($), k), x && ($ = eU($)), z && +$ == 0 && v !== \"+\" && (z = !1), I = (z ? v === \"(\" ? v : l : v === \"-\" || v === \"(\" ? \"\" : v) + I, O = (_ === \"s\" ? m2[8 + EC / 3] : \"\") + O + (z && v === \"(\" ? \")\" : \"\"), L) {\n for (G = -1, K = $.length; ++G < K; )\n if (V = $.charCodeAt(G), 48 > V || V > 57) {\n O = (V === 46 ? a + $.slice(G + 1) : $.slice(G)) + O, $ = $.slice(0, G);\n break;\n }\n }\n }\n w && !g && ($ = t($, 1 / 0));\n var P = I.length + $.length + O.length, R = P < y ? new Array(y - P + 1).join(h) : \"\";\n switch (w && g && ($ = t(R + $, R.length ? y - O.length : 1 / 0), R = \"\"), p) {\n case \"<\":\n $ = I + $ + O + R;\n break;\n case \"=\":\n $ = I + R + $ + O;\n break;\n case \"^\":\n $ = R.slice(0, P = R.length >> 1) + I + $ + O + R.slice(P);\n break;\n default:\n $ = R + I + $ + O;\n break;\n }\n return i($);\n }\n return F.toString = function() {\n return d + \"\";\n }, F;\n }\n function f(d, h) {\n var p = u((d = sv(d), d.type = \"f\", d)), v = Math.max(-8, Math.min(8, Math.floor(Du(h) / 3))) * 3, m = Math.pow(10, -v), g = m2[8 + v / 3];\n return function(y) {\n return p(m * y) + g;\n };\n }\n return {\n format: u,\n formatPrefix: f\n };\n}\nvar Fd, RC, PC;\n$C({\n decimal: \".\",\n thousands: \",\",\n grouping: [3],\n currency: [\"$\", \"\"],\n minus: \"-\"\n});\nfunction $C(e) {\n return Fd = FC(e), RC = Fd.format, PC = Fd.formatPrefix, Fd;\n}\nfunction rU(e) {\n return Math.max(0, -Du(Math.abs(e)));\n}\nfunction nU(e, t) {\n return Math.max(0, Math.max(-8, Math.min(8, Math.floor(Du(t) / 3))) * 3 - Du(Math.abs(e)));\n}\nfunction aU(e, t) {\n return e = Math.abs(e), t = Math.abs(t) - e, Math.max(0, Du(t) - Du(e)) + 1;\n}\nconst iU = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({\n __proto__: null,\n FormatSpecifier: lp,\n get format() {\n return RC;\n },\n formatDefaultLocale: $C,\n formatLocale: FC,\n get formatPrefix() {\n return PC;\n },\n formatSpecifier: sv,\n precisionFixed: rU,\n precisionPrefix: nU,\n precisionRound: aU\n}, Symbol.toStringTag, { value: \"Module\" })), zC = /* @__PURE__ */ tp(iU);\nvar oU = function(e) {\n for (var t = e.length, r, n = 0; n < t; n++)\n if (r = e.charCodeAt(n), (r < 9 || r > 13) && r !== 32 && r !== 133 && r !== 160 && r !== 5760 && r !== 6158 && (r < 8192 || r > 8205) && r !== 8232 && r !== 8233 && r !== 8239 && r !== 8287 && r !== 8288 && r !== 12288 && r !== 65279)\n return !1;\n return !0;\n}, lU = oU, sr = function(e) {\n var t = typeof e;\n if (t === \"string\") {\n var r = e;\n if (e = +e, e === 0 && lU(r)) return !1;\n } else if (t !== \"number\") return !1;\n return e - e < 1;\n}, Qr = {\n /**\n * Standardize all missing data in calcdata to use undefined\n * never null or NaN.\n * That way we can use !==undefined, or !== BADNUM,\n * to test for real data\n */\n BADNUM: void 0,\n /*\n * Limit certain operations to well below floating point max value\n * to avoid glitches: Make sure that even when you multiply it by the\n * number of pixels on a giant screen it still works\n */\n FP_SAFE: Number.MAX_VALUE * 1e-4,\n /*\n * conversion of date units to milliseconds\n * year and month constants are marked \"AVG\"\n * to remind us that not all years and months\n * have the same length\n */\n ONEMAXYEAR: 316224e5,\n // 366 * ONEDAY\n ONEAVGYEAR: 315576e5,\n // 365.25 days\n ONEMINYEAR: 31536e6,\n // 365 * ONEDAY\n ONEMAXQUARTER: 79488e5,\n // 92 * ONEDAY\n ONEAVGQUARTER: 78894e5,\n // 1/4 of ONEAVGYEAR\n ONEMINQUARTER: 76896e5,\n // 89 * ONEDAY\n ONEMAXMONTH: 26784e5,\n // 31 * ONEDAY\n ONEAVGMONTH: 26298e5,\n // 1/12 of ONEAVGYEAR\n ONEMINMONTH: 24192e5,\n // 28 * ONEDAY\n ONEWEEK: 6048e5,\n // 7 * ONEDAY\n ONEDAY: 864e5,\n // 24 * ONEHOUR\n ONEHOUR: 36e5,\n ONEMIN: 6e4,\n ONESEC: 1e3,\n /*\n * For fast conversion btwn world calendars and epoch ms, the Julian Day Number\n * of the unix epoch. From calendars.instance().newDate(1970, 1, 1).toJD()\n */\n EPOCHJD: 24405875e-1,\n /*\n * Are two values nearly equal? Compare to 1PPM\n */\n ALMOST_EQUAL: 1 - 1e-6,\n /*\n * If we're asked to clip a non-positive log value, how far off-screen\n * do we put it?\n */\n LOG_CLIP: 10,\n /*\n * not a number, but for displaying numbers: the \"minus sign\" symbol is\n * wider than the regular ascii dash \"-\"\n */\n MINUS_SIGN: \"−\"\n}, an = {}, su = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\", Wf = typeof Uint8Array > \"u\" ? [] : new Uint8Array(256);\nfor (var Rd = 0; Rd < su.length; Rd++)\n Wf[su.charCodeAt(Rd)] = Rd;\nvar sU = function(e) {\n var t = new Uint8Array(e), r, n = t.length, a = \"\";\n for (r = 0; r < n; r += 3)\n a += su[t[r] >> 2], a += su[(t[r] & 3) << 4 | t[r + 1] >> 4], a += su[(t[r + 1] & 15) << 2 | t[r + 2] >> 6], a += su[t[r + 2] & 63];\n return n % 3 === 2 ? a = a.substring(0, a.length - 1) + \"=\" : n % 3 === 1 && (a = a.substring(0, a.length - 2) + \"==\"), a;\n}, uU = function(e) {\n var t = e.length * 0.75, r = e.length, n, a = 0, i, o, l, s;\n e[e.length - 1] === \"=\" && (t--, e[e.length - 2] === \"=\" && t--);\n var u = new ArrayBuffer(t), f = new Uint8Array(u);\n for (n = 0; n < r; n += 4)\n i = Wf[e.charCodeAt(n)], o = Wf[e.charCodeAt(n + 1)], l = Wf[e.charCodeAt(n + 2)], s = Wf[e.charCodeAt(n + 3)], f[a++] = i << 2 | o >> 4, f[a++] = (o & 15) << 4 | l >> 2, f[a++] = (l & 3) << 6 | s & 63;\n return u;\n};\nconst fU = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({\n __proto__: null,\n decode: uU,\n encode: sU\n}, Symbol.toStringTag, { value: \"Module\" })), IC = /* @__PURE__ */ tp(fU);\nvar ms = function(t) {\n return window && window.process && window.process.versions ? Object.prototype.toString.call(t) === \"[object Object]\" : Object.prototype.toString.call(t) === \"[object Object]\" && Object.getPrototypeOf(t).hasOwnProperty(\"hasOwnProperty\");\n}, cU = IC.decode, dU = ms, O1 = Array.isArray, hU = ArrayBuffer, vU = DataView;\nfunction NC(e) {\n return hU.isView(e) && !(e instanceof vU);\n}\nan.isTypedArray = NC;\nfunction uv(e) {\n return O1(e) || NC(e);\n}\nan.isArrayOrTypedArray = uv;\nfunction pU(e) {\n return !uv(e[0]);\n}\nan.isArray1D = pU;\nan.ensureArray = function(e, t) {\n return O1(e) || (e = []), e.length = t, e;\n};\nvar xn = {\n u1c: typeof Uint8ClampedArray > \"u\" ? void 0 : Uint8ClampedArray,\n // not supported in numpy?\n i1: typeof Int8Array > \"u\" ? void 0 : Int8Array,\n u1: typeof Uint8Array > \"u\" ? void 0 : Uint8Array,\n i2: typeof Int16Array > \"u\" ? void 0 : Int16Array,\n u2: typeof Uint16Array > \"u\" ? void 0 : Uint16Array,\n i4: typeof Int32Array > \"u\" ? void 0 : Int32Array,\n u4: typeof Uint32Array > \"u\" ? void 0 : Uint32Array,\n f4: typeof Float32Array > \"u\" ? void 0 : Float32Array,\n f8: typeof Float64Array > \"u\" ? void 0 : Float64Array\n /* TODO: potentially add Big Int\n \n i8: typeof BigInt64Array === 'undefined' ? undefined :\n BigInt64Array,\n \n u8: typeof BigUint64Array === 'undefined' ? undefined :\n BigUint64Array,\n */\n};\nxn.uint8c = xn.u1c;\nxn.uint8 = xn.u1;\nxn.int8 = xn.i1;\nxn.uint16 = xn.u2;\nxn.int16 = xn.i2;\nxn.uint32 = xn.u4;\nxn.int32 = xn.i4;\nxn.float32 = xn.f4;\nxn.float64 = xn.f8;\nfunction H1(e) {\n return e.constructor === ArrayBuffer;\n}\nan.isArrayBuffer = H1;\nan.decodeTypedArraySpec = function(e) {\n var t = [], r = mU(e), n = r.dtype, a = xn[n];\n if (!a) throw new Error('Error in dtype: \"' + n + '\"');\n var i = a.BYTES_PER_ELEMENT, o = r.bdata;\n H1(o) || (o = cU(o));\n var l = r.shape === void 0 ? (\n // detect 1-d length\n [o.byteLength / i]\n ) : (\n // convert number to string and split to array\n (\"\" + r.shape).split(\",\")\n );\n l.reverse();\n var s = l.length, u, f, d = +l[0], h = i * d, p = 0;\n if (s === 1)\n t = new a(o);\n else if (s === 2)\n for (u = +l[1], f = 0; f < u; f++)\n t[f] = new a(o, p, d), p += h;\n else if (s === 3) {\n u = +l[1];\n for (var v = +l[2], m = 0; m < v; m++)\n for (t[m] = [], f = 0; f < u; f++)\n t[m][f] = new a(o, p, d), p += h;\n } else\n throw new Error(\"ndim: \" + s + 'is not supported with the shape:\"' + r.shape + '\"');\n return t.bdata = r.bdata, t.dtype = r.dtype, t.shape = l.reverse().join(\",\"), e._inputArray = t, t;\n};\nan.isTypedArraySpec = function(e) {\n return dU(e) && e.hasOwnProperty(\"dtype\") && typeof e.dtype == \"string\" && e.hasOwnProperty(\"bdata\") && (typeof e.bdata == \"string\" || H1(e.bdata)) && (e.shape === void 0 || e.hasOwnProperty(\"shape\") && (typeof e.shape == \"string\" || typeof e.shape == \"number\"));\n};\nfunction mU(e) {\n return {\n bdata: e.bdata,\n dtype: e.dtype,\n shape: e.shape\n };\n}\nan.concat = function() {\n var e = [], t = !0, r = 0, n, a, i, o, l, s, u, f;\n for (i = 0; i < arguments.length; i++)\n o = arguments[i], s = o.length, s && (a ? e.push(o) : (a = o, l = s), O1(o) ? n = !1 : (t = !1, r ? n !== o.constructor && (n = !1) : n = o.constructor), r += s);\n if (!r) return [];\n if (!e.length) return a;\n if (t) return a.concat.apply(a, e);\n if (n) {\n for (u = new n(r), u.set(a), i = 0; i < e.length; i++)\n o = e[i], u.set(o, l), l += o.length;\n return u;\n }\n for (u = new Array(r), f = 0; f < a.length; f++) u[f] = a[f];\n for (i = 0; i < e.length; i++) {\n for (o = e[i], f = 0; f < o.length; f++) u[l + f] = o[f];\n l += f;\n }\n return u;\n};\nan.maxRowLength = function(e) {\n return OC(e, Math.max, 0);\n};\nan.minRowLength = function(e) {\n return OC(e, Math.min, 1 / 0);\n};\nfunction OC(e, t, r) {\n if (uv(e))\n if (uv(e[0])) {\n for (var n = r, a = 0; a < e.length; a++)\n n = t(n, e[a].length);\n return n;\n } else\n return e.length;\n return 0;\n}\nvar HC = sr, B1 = an.isArrayOrTypedArray, j1 = function(t, r) {\n if (HC(r)) r = String(r);\n else if (typeof r != \"string\" || r.substr(r.length - 4) === \"[-1]\")\n throw \"bad property string\";\n var n = r.split(\".\"), a, i, o, l;\n for (l = 0; l < n.length; l++)\n if (String(n[l]).slice(0, 2) === \"__\")\n throw \"bad property string\";\n for (l = 0; l < n.length; ) {\n if (a = String(n[l]).match(/^([^\\[\\]]*)((\\[\\-?[0-9]*\\])+)$/), a) {\n if (a[1]) n[l] = a[1];\n else if (l === 0) n.splice(0, 1);\n else throw \"bad property string\";\n for (i = a[2].substr(1, a[2].length - 2).split(\"][\"), o = 0; o < i.length; o++)\n l++, n.splice(l, 0, Number(i[o]));\n }\n l++;\n }\n return typeof t != \"object\" ? _U(t, r, n) : {\n set: jC(t, n, r),\n get: BC(t, n),\n astr: r,\n parts: n,\n obj: t\n };\n};\nfunction BC(e, t) {\n return function() {\n var r = e, n, a, i, o, l;\n for (o = 0; o < t.length - 1; o++) {\n if (n = t[o], n === -1) {\n for (a = !0, i = [], l = 0; l < r.length; l++)\n i[l] = BC(r[l], t.slice(o + 1))(), i[l] !== i[0] && (a = !1);\n return a ? i[0] : i;\n }\n if (typeof n == \"number\" && !B1(r) || (r = r[n], typeof r != \"object\" || r === null))\n return;\n }\n if (!(typeof r != \"object\" || r === null) && (i = r[t[o]], i !== null))\n return i;\n };\n}\nvar gU = /(^|\\.)args\\[/;\nfunction iy(e, t) {\n return e === void 0 || e === null && !t.match(gU);\n}\nfunction jC(e, t, r) {\n return function(n) {\n var a = e, i = \"\", o = iy(n, r), l, s;\n for (s = 0; s < t.length - 1; s++) {\n if (l = t[s], typeof l == \"number\" && !B1(a))\n throw \"array index but container is not an array\";\n if (l === -1) {\n if (o = !bU(a, t.slice(s + 1), n, r), o) break;\n return;\n }\n if (!UC(a, l, t[s + 1], o))\n break;\n if (a = a[l], typeof a != \"object\" || a === null)\n throw \"container is not an object\";\n i = yU(i, l);\n }\n if (o) {\n if (s === t.length - 1 && (delete a[t[s]], Array.isArray(a) && +t[s] === a.length - 1))\n for (; a.length && a[a.length - 1] === void 0; )\n a.pop();\n } else a[t[s]] = n;\n };\n}\nfunction yU(e, t) {\n var r = t;\n return HC(t) ? r = \"[\" + t + \"]\" : e && (r = \".\" + t), e + r;\n}\nfunction bU(e, t, r, n) {\n var a = B1(r), i = !0, o = r, l = n.replace(\"-1\", 0), s = a ? !1 : iy(r, l), u = t[0], f;\n for (f = 0; f < e.length; f++)\n l = n.replace(\"-1\", f), a && (o = r[f % r.length], s = iy(o, l)), s && (i = !1), UC(e, f, u, s) && jC(e[f], t, n.replace(\"-1\", f))(o);\n return i;\n}\nfunction UC(e, t, r, n) {\n if (e[t] === void 0) {\n if (n) return !1;\n typeof r == \"number\" ? e[t] = [] : e[t] = {};\n }\n return !0;\n}\nfunction _U(e, t, r) {\n return {\n set: function() {\n throw \"bad container\";\n },\n get: function() {\n },\n astr: t,\n parts: r,\n obj: e\n };\n}\nvar Ps = j1, xU = /^\\w*$/, wU = 0, g2 = 1, Pd = 2, y2 = 3, Ll = 4, TU = function(t, r, n, a) {\n n = n || \"name\", a = a || \"value\";\n var i, o, l, s = {};\n r && r.length ? (l = Ps(t, r), o = l.get()) : o = t, r = r || \"\";\n var u = {};\n if (o)\n for (i = 0; i < o.length; i++)\n u[o[i][n]] = i;\n var f = xU.test(a), d = {\n set: function(h, p) {\n var v = p === null ? Ll : wU;\n if (!o) {\n if (!l || v === Ll) return;\n o = [], l.set(o);\n }\n var m = u[h];\n if (m === void 0) {\n if (v === Ll) return;\n v = v | y2, m = o.length, u[h] = m;\n } else p !== (f ? o[m][a] : Ps(o[m], a).get()) && (v = v | Pd);\n var g = o[m] = o[m] || {};\n return g[n] = h, f ? g[a] = p : Ps(g, a).set(p), p !== null && (v = v & ~Ll), s[m] = s[m] | v, d;\n },\n get: function(h) {\n if (o) {\n var p = u[h];\n if (p !== void 0)\n return f ? o[p][a] : Ps(o[p], a).get();\n }\n },\n rename: function(h, p) {\n var v = u[h];\n return v === void 0 || (s[v] = s[v] | g2, u[p] = v, delete u[h], o[v][n] = p), d;\n },\n remove: function(h) {\n var p = u[h];\n if (p === void 0) return d;\n var v = o[p];\n if (Object.keys(v).length > 2)\n return s[p] = s[p] | Pd, d.set(h, null);\n if (f) {\n for (i = p; i < o.length; i++)\n s[i] = s[i] | y2;\n for (i = p; i < o.length; i++)\n u[o[i][n]]--;\n o.splice(p, 1), delete u[h];\n } else\n Ps(v, a).set(null), s[p] = s[p] | Pd | Ll;\n return d;\n },\n constructUpdate: function() {\n for (var h, p, v = {}, m = Object.keys(s), g = 0; g < m.length; g++)\n p = m[g], h = r + \"[\" + p + \"]\", o[p] ? (s[p] & g2 && (v[h + \".\" + n] = o[p][n]), s[p] & Pd && (f ? v[h + \".\" + a] = s[p] & Ll ? null : o[p][a] : v[h + \".\" + a] = s[p] & Ll ? null : Ps(o[p], a).get())) : v[h] = null;\n return v;\n }\n };\n return d;\n}, kU = /^(.*)(\\.[^\\.\\[\\]]+|\\[\\d\\])$/, AU = /^[^\\.\\[\\]]+$/, MU = function(e, t) {\n for (; t; ) {\n var r = e.match(kU);\n if (r) e = r[1];\n else if (e.match(AU)) e = \"\";\n else throw new Error(\"bad relativeAttr call:\" + [e, t]);\n if (t.charAt(0) === \"^\") t = t.slice(1);\n else break;\n }\n return e && t.charAt(0) !== \"[\" ? e + \".\" + t : e + t;\n}, SU = sr, U1 = function(t, r) {\n if (t > 0) return Math.log(t) / Math.LN10;\n var n = Math.log(Math.min(r[0], r[1])) / Math.LN10;\n return SU(n) || (n = Math.log(Math.max(r[0], r[1])) / Math.LN10 - 6), n;\n}, b2 = an.isArrayOrTypedArray, _f = ms, CU = function e(t, r) {\n for (var n in r) {\n var a = r[n], i = t[n];\n if (i !== a)\n if (n.charAt(0) === \"_\" || typeof a == \"function\") {\n if (n in t) continue;\n t[n] = a;\n } else if (b2(a) && b2(i) && _f(a[0])) {\n if (n === \"customdata\" || n === \"ids\") continue;\n for (var o = Math.min(a.length, i.length), l = 0; l < o; l++)\n i[l] !== a[l] && _f(a[l]) && _f(i[l]) && e(i[l], a[l]);\n } else _f(a) && _f(i) && (e(i, a), Object.keys(i).length || delete t[n]);\n }\n};\nfunction LU(e, t) {\n var r = e % t;\n return r < 0 ? r + t : r;\n}\nfunction DU(e, t) {\n return Math.abs(e) > t / 2 ? e - Math.round(e / t) * t : e;\n}\nvar Wc = {\n mod: LU,\n modHalf: DU\n}, GC = {}, VC = { exports: {} };\n(function(e, t) {\n (function(r, n) {\n e.exports = n();\n })(Wl, function() {\n function r(j) {\n \"@babel/helpers - typeof\";\n return r = typeof Symbol == \"function\" && typeof Symbol.iterator == \"symbol\" ? function(U) {\n return typeof U;\n } : function(U) {\n return U && typeof Symbol == \"function\" && U.constructor === Symbol && U !== Symbol.prototype ? \"symbol\" : typeof U;\n }, r(j);\n }\n var n = /^\\s+/, a = /\\s+$/;\n function i(j, U) {\n if (j = j || \"\", U = U || {}, j instanceof i)\n return j;\n if (!(this instanceof i))\n return new i(j, U);\n var Z = o(j);\n this._originalInput = j, this._r = Z.r, this._g = Z.g, this._b = Z.b, this._a = Z.a, this._roundA = Math.round(100 * this._a) / 100, this._format = U.format || Z.format, this._gradientType = U.gradientType, this._r < 1 && (this._r = Math.round(this._r)), this._g < 1 && (this._g = Math.round(this._g)), this._b < 1 && (this._b = Math.round(this._b)), this._ok = Z.ok;\n }\n i.prototype = {\n isDark: function() {\n return this.getBrightness() < 128;\n },\n isLight: function() {\n return !this.isDark();\n },\n isValid: function() {\n return this._ok;\n },\n getOriginalInput: function() {\n return this._originalInput;\n },\n getFormat: function() {\n return this._format;\n },\n getAlpha: function() {\n return this._a;\n },\n getBrightness: function() {\n var U = this.toRgb();\n return (U.r * 299 + U.g * 587 + U.b * 114) / 1e3;\n },\n getLuminance: function() {\n var U = this.toRgb(), Z, le, J, pe, ge, ve;\n return Z = U.r / 255, le = U.g / 255, J = U.b / 255, Z <= 0.03928 ? pe = Z / 12.92 : pe = Math.pow((Z + 0.055) / 1.055, 2.4), le <= 0.03928 ? ge = le / 12.92 : ge = Math.pow((le + 0.055) / 1.055, 2.4), J <= 0.03928 ? ve = J / 12.92 : ve = Math.pow((J + 0.055) / 1.055, 2.4), 0.2126 * pe + 0.7152 * ge + 0.0722 * ve;\n },\n setAlpha: function(U) {\n return this._a = G(U), this._roundA = Math.round(100 * this._a) / 100, this;\n },\n toHsv: function() {\n var U = f(this._r, this._g, this._b);\n return {\n h: U.h * 360,\n s: U.s,\n v: U.v,\n a: this._a\n };\n },\n toHsvString: function() {\n var U = f(this._r, this._g, this._b), Z = Math.round(U.h * 360), le = Math.round(U.s * 100), J = Math.round(U.v * 100);\n return this._a == 1 ? \"hsv(\" + Z + \", \" + le + \"%, \" + J + \"%)\" : \"hsva(\" + Z + \", \" + le + \"%, \" + J + \"%, \" + this._roundA + \")\";\n },\n toHsl: function() {\n var U = s(this._r, this._g, this._b);\n return {\n h: U.h * 360,\n s: U.s,\n l: U.l,\n a: this._a\n };\n },\n toHslString: function() {\n var U = s(this._r, this._g, this._b), Z = Math.round(U.h * 360), le = Math.round(U.s * 100), J = Math.round(U.l * 100);\n return this._a == 1 ? \"hsl(\" + Z + \", \" + le + \"%, \" + J + \"%)\" : \"hsla(\" + Z + \", \" + le + \"%, \" + J + \"%, \" + this._roundA + \")\";\n },\n toHex: function(U) {\n return h(this._r, this._g, this._b, U);\n },\n toHexString: function(U) {\n return \"#\" + this.toHex(U);\n },\n toHex8: function(U) {\n return p(this._r, this._g, this._b, this._a, U);\n },\n toHex8String: function(U) {\n return \"#\" + this.toHex8(U);\n },\n toRgb: function() {\n return {\n r: Math.round(this._r),\n g: Math.round(this._g),\n b: Math.round(this._b),\n a: this._a\n };\n },\n toRgbString: function() {\n return this._a == 1 ? \"rgb(\" + Math.round(this._r) + \", \" + Math.round(this._g) + \", \" + Math.round(this._b) + \")\" : \"rgba(\" + Math.round(this._r) + \", \" + Math.round(this._g) + \", \" + Math.round(this._b) + \", \" + this._roundA + \")\";\n },\n toPercentageRgb: function() {\n return {\n r: Math.round(K(this._r, 255) * 100) + \"%\",\n g: Math.round(K(this._g, 255) * 100) + \"%\",\n b: Math.round(K(this._b, 255) * 100) + \"%\",\n a: this._a\n };\n },\n toPercentageRgbString: function() {\n return this._a == 1 ? \"rgb(\" + Math.round(K(this._r, 255) * 100) + \"%, \" + Math.round(K(this._g, 255) * 100) + \"%, \" + Math.round(K(this._b, 255) * 100) + \"%)\" : \"rgba(\" + Math.round(K(this._r, 255) * 100) + \"%, \" + Math.round(K(this._g, 255) * 100) + \"%, \" + Math.round(K(this._b, 255) * 100) + \"%, \" + this._roundA + \")\";\n },\n toName: function() {\n return this._a === 0 ? \"transparent\" : this._a < 1 ? !1 : I[h(this._r, this._g, this._b, !0)] || !1;\n },\n toFilter: function(U) {\n var Z = \"#\" + v(this._r, this._g, this._b, this._a), le = Z, J = this._gradientType ? \"GradientType = 1, \" : \"\";\n if (U) {\n var pe = i(U);\n le = \"#\" + v(pe._r, pe._g, pe._b, pe._a);\n }\n return \"progid:DXImageTransform.Microsoft.gradient(\" + J + \"startColorstr=\" + Z + \",endColorstr=\" + le + \")\";\n },\n toString: function(U) {\n var Z = !!U;\n U = U || this._format;\n var le = !1, J = this._a < 1 && this._a >= 0, pe = !Z && J && (U === \"hex\" || U === \"hex6\" || U === \"hex3\" || U === \"hex4\" || U === \"hex8\" || U === \"name\");\n return pe ? U === \"name\" && this._a === 0 ? this.toName() : this.toRgbString() : (U === \"rgb\" && (le = this.toRgbString()), U === \"prgb\" && (le = this.toPercentageRgbString()), (U === \"hex\" || U === \"hex6\") && (le = this.toHexString()), U === \"hex3\" && (le = this.toHexString(!0)), U === \"hex4\" && (le = this.toHex8String(!0)), U === \"hex8\" && (le = this.toHex8String()), U === \"name\" && (le = this.toName()), U === \"hsl\" && (le = this.toHslString()), U === \"hsv\" && (le = this.toHsvString()), le || this.toHexString());\n },\n clone: function() {\n return i(this.toString());\n },\n _applyModification: function(U, Z) {\n var le = U.apply(null, [this].concat([].slice.call(Z)));\n return this._r = le._r, this._g = le._g, this._b = le._b, this.setAlpha(le._a), this;\n },\n lighten: function() {\n return this._applyModification(w, arguments);\n },\n brighten: function() {\n return this._applyModification(k, arguments);\n },\n darken: function() {\n return this._applyModification(x, arguments);\n },\n desaturate: function() {\n return this._applyModification(m, arguments);\n },\n saturate: function() {\n return this._applyModification(g, arguments);\n },\n greyscale: function() {\n return this._applyModification(y, arguments);\n },\n spin: function() {\n return this._applyModification(_, arguments);\n },\n _applyCombination: function(U, Z) {\n return U.apply(null, [this].concat([].slice.call(Z)));\n },\n analogous: function() {\n return this._applyCombination(L, arguments);\n },\n complement: function() {\n return this._applyCombination(T, arguments);\n },\n monochromatic: function() {\n return this._applyCombination(F, arguments);\n },\n splitcomplement: function() {\n return this._applyCombination(M, arguments);\n },\n // Disabled until https://github.com/bgrins/TinyColor/issues/254\n // polyad: function (number) {\n // return this._applyCombination(polyad, [number]);\n // },\n triad: function() {\n return this._applyCombination(S, [3]);\n },\n tetrad: function() {\n return this._applyCombination(S, [4]);\n }\n }, i.fromRatio = function(j, U) {\n if (r(j) == \"object\") {\n var Z = {};\n for (var le in j)\n j.hasOwnProperty(le) && (le === \"a\" ? Z[le] = j[le] : Z[le] = B(j[le]));\n j = Z;\n }\n return i(j, U);\n };\n function o(j) {\n var U = {\n r: 0,\n g: 0,\n b: 0\n }, Z = 1, le = null, J = null, pe = null, ge = !1, ve = !1;\n return typeof j == \"string\" && (j = Q(j)), r(j) == \"object\" && (ae(j.r) && ae(j.g) && ae(j.b) ? (U = l(j.r, j.g, j.b), ge = !0, ve = String(j.r).substr(-1) === \"%\" ? \"prgb\" : \"rgb\") : ae(j.h) && ae(j.s) && ae(j.v) ? (le = B(j.s), J = B(j.v), U = d(j.h, le, J), ge = !0, ve = \"hsv\") : ae(j.h) && ae(j.s) && ae(j.l) && (le = B(j.s), pe = B(j.l), U = u(j.h, le, pe), ge = !0, ve = \"hsl\"), j.hasOwnProperty(\"a\") && (Z = j.a)), Z = G(Z), {\n ok: ge,\n format: j.format || ve,\n r: Math.min(255, Math.max(U.r, 0)),\n g: Math.min(255, Math.max(U.g, 0)),\n b: Math.min(255, Math.max(U.b, 0)),\n a: Z\n };\n }\n function l(j, U, Z) {\n return {\n r: K(j, 255) * 255,\n g: K(U, 255) * 255,\n b: K(Z, 255) * 255\n };\n }\n function s(j, U, Z) {\n j = K(j, 255), U = K(U, 255), Z = K(Z, 255);\n var le = Math.max(j, U, Z), J = Math.min(j, U, Z), pe, ge, ve = (le + J) / 2;\n if (le == J)\n pe = ge = 0;\n else {\n var me = le - J;\n switch (ge = ve > 0.5 ? me / (2 - le - J) : me / (le + J), le) {\n case j:\n pe = (U - Z) / me + (U < Z ? 6 : 0);\n break;\n case U:\n pe = (Z - j) / me + 2;\n break;\n case Z:\n pe = (j - U) / me + 4;\n break;\n }\n pe /= 6;\n }\n return {\n h: pe,\n s: ge,\n l: ve\n };\n }\n function u(j, U, Z) {\n var le, J, pe;\n j = K(j, 360), U = K(U, 100), Z = K(Z, 100);\n function ge(Le, ze, Fe) {\n return Fe < 0 && (Fe += 1), Fe > 1 && (Fe -= 1), Fe < 1 / 6 ? Le + (ze - Le) * 6 * Fe : Fe < 1 / 2 ? ze : Fe < 2 / 3 ? Le + (ze - Le) * (2 / 3 - Fe) * 6 : Le;\n }\n if (U === 0)\n le = J = pe = Z;\n else {\n var ve = Z < 0.5 ? Z * (1 + U) : Z + U - Z * U, me = 2 * Z - ve;\n le = ge(me, ve, j + 1 / 3), J = ge(me, ve, j), pe = ge(me, ve, j - 1 / 3);\n }\n return {\n r: le * 255,\n g: J * 255,\n b: pe * 255\n };\n }\n function f(j, U, Z) {\n j = K(j, 255), U = K(U, 255), Z = K(Z, 255);\n var le = Math.max(j, U, Z), J = Math.min(j, U, Z), pe, ge, ve = le, me = le - J;\n if (ge = le === 0 ? 0 : me / le, le == J)\n pe = 0;\n else {\n switch (le) {\n case j:\n pe = (U - Z) / me + (U < Z ? 6 : 0);\n break;\n case U:\n pe = (Z - j) / me + 2;\n break;\n case Z:\n pe = (j - U) / me + 4;\n break;\n }\n pe /= 6;\n }\n return {\n h: pe,\n s: ge,\n v: ve\n };\n }\n function d(j, U, Z) {\n j = K(j, 360) * 6, U = K(U, 100), Z = K(Z, 100);\n var le = Math.floor(j), J = j - le, pe = Z * (1 - U), ge = Z * (1 - J * U), ve = Z * (1 - (1 - J) * U), me = le % 6, Le = [Z, ge, pe, pe, ve, Z][me], ze = [ve, Z, Z, ge, pe, pe][me], Fe = [pe, pe, ve, Z, Z, ge][me];\n return {\n r: Le * 255,\n g: ze * 255,\n b: Fe * 255\n };\n }\n function h(j, U, Z, le) {\n var J = [H(Math.round(j).toString(16)), H(Math.round(U).toString(16)), H(Math.round(Z).toString(16))];\n return le && J[0].charAt(0) == J[0].charAt(1) && J[1].charAt(0) == J[1].charAt(1) && J[2].charAt(0) == J[2].charAt(1) ? J[0].charAt(0) + J[1].charAt(0) + J[2].charAt(0) : J.join(\"\");\n }\n function p(j, U, Z, le, J) {\n var pe = [H(Math.round(j).toString(16)), H(Math.round(U).toString(16)), H(Math.round(Z).toString(16)), H(W(le))];\n return J && pe[0].charAt(0) == pe[0].charAt(1) && pe[1].charAt(0) == pe[1].charAt(1) && pe[2].charAt(0) == pe[2].charAt(1) && pe[3].charAt(0) == pe[3].charAt(1) ? pe[0].charAt(0) + pe[1].charAt(0) + pe[2].charAt(0) + pe[3].charAt(0) : pe.join(\"\");\n }\n function v(j, U, Z, le) {\n var J = [H(W(le)), H(Math.round(j).toString(16)), H(Math.round(U).toString(16)), H(Math.round(Z).toString(16))];\n return J.join(\"\");\n }\n i.equals = function(j, U) {\n return !j || !U ? !1 : i(j).toRgbString() == i(U).toRgbString();\n }, i.random = function() {\n return i.fromRatio({\n r: Math.random(),\n g: Math.random(),\n b: Math.random()\n });\n };\n function m(j, U) {\n U = U === 0 ? 0 : U || 10;\n var Z = i(j).toHsl();\n return Z.s -= U / 100, Z.s = V(Z.s), i(Z);\n }\n function g(j, U) {\n U = U === 0 ? 0 : U || 10;\n var Z = i(j).toHsl();\n return Z.s += U / 100, Z.s = V(Z.s), i(Z);\n }\n function y(j) {\n return i(j).desaturate(100);\n }\n function w(j, U) {\n U = U === 0 ? 0 : U || 10;\n var Z = i(j).toHsl();\n return Z.l += U / 100, Z.l = V(Z.l), i(Z);\n }\n function k(j, U) {\n U = U === 0 ? 0 : U || 10;\n var Z = i(j).toRgb();\n return Z.r = Math.max(0, Math.min(255, Z.r - Math.round(255 * -(U / 100)))), Z.g = Math.max(0, Math.min(255, Z.g - Math.round(255 * -(U / 100)))), Z.b = Math.max(0, Math.min(255, Z.b - Math.round(255 * -(U / 100)))), i(Z);\n }\n function x(j, U) {\n U = U === 0 ? 0 : U || 10;\n var Z = i(j).toHsl();\n return Z.l -= U / 100, Z.l = V(Z.l), i(Z);\n }\n function _(j, U) {\n var Z = i(j).toHsl(), le = (Z.h + U) % 360;\n return Z.h = le < 0 ? 360 + le : le, i(Z);\n }\n function T(j) {\n var U = i(j).toHsl();\n return U.h = (U.h + 180) % 360, i(U);\n }\n function S(j, U) {\n if (isNaN(U) || U <= 0)\n throw new Error(\"Argument to polyad must be a positive number\");\n for (var Z = i(j).toHsl(), le = [i(j)], J = 360 / U, pe = 1; pe < U; pe++)\n le.push(i({\n h: (Z.h + pe * J) % 360,\n s: Z.s,\n l: Z.l\n }));\n return le;\n }\n function M(j) {\n var U = i(j).toHsl(), Z = U.h;\n return [i(j), i({\n h: (Z + 72) % 360,\n s: U.s,\n l: U.l\n }), i({\n h: (Z + 216) % 360,\n s: U.s,\n l: U.l\n })];\n }\n function L(j, U, Z) {\n U = U || 6, Z = Z || 30;\n var le = i(j).toHsl(), J = 360 / Z, pe = [i(j)];\n for (le.h = (le.h - (J * U >> 1) + 720) % 360; --U; )\n le.h = (le.h + J) % 360, pe.push(i(le));\n return pe;\n }\n function F(j, U) {\n U = U || 6;\n for (var Z = i(j).toHsv(), le = Z.h, J = Z.s, pe = Z.v, ge = [], ve = 1 / U; U--; )\n ge.push(i({\n h: le,\n s: J,\n v: pe\n })), pe = (pe + ve) % 1;\n return ge;\n }\n i.mix = function(j, U, Z) {\n Z = Z === 0 ? 0 : Z || 50;\n var le = i(j).toRgb(), J = i(U).toRgb(), pe = Z / 100, ge = {\n r: (J.r - le.r) * pe + le.r,\n g: (J.g - le.g) * pe + le.g,\n b: (J.b - le.b) * pe + le.b,\n a: (J.a - le.a) * pe + le.a\n };\n return i(ge);\n }, i.readability = function(j, U) {\n var Z = i(j), le = i(U);\n return (Math.max(Z.getLuminance(), le.getLuminance()) + 0.05) / (Math.min(Z.getLuminance(), le.getLuminance()) + 0.05);\n }, i.isReadable = function(j, U, Z) {\n var le = i.readability(j, U), J, pe;\n switch (pe = !1, J = ue(Z), J.level + J.size) {\n case \"AAsmall\":\n case \"AAAlarge\":\n pe = le >= 4.5;\n break;\n case \"AAlarge\":\n pe = le >= 3;\n break;\n case \"AAAsmall\":\n pe = le >= 7;\n break;\n }\n return pe;\n }, i.mostReadable = function(j, U, Z) {\n var le = null, J = 0, pe, ge, ve, me;\n Z = Z || {}, ge = Z.includeFallbackColors, ve = Z.level, me = Z.size;\n for (var Le = 0; Le < U.length; Le++)\n pe = i.readability(j, U[Le]), pe > J && (J = pe, le = i(U[Le]));\n return i.isReadable(j, le, {\n level: ve,\n size: me\n }) || !ge ? le : (Z.includeFallbackColors = !1, i.mostReadable(j, [\"#fff\", \"#000\"], Z));\n };\n var $ = i.names = {\n aliceblue: \"f0f8ff\",\n antiquewhite: \"faebd7\",\n aqua: \"0ff\",\n aquamarine: \"7fffd4\",\n azure: \"f0ffff\",\n beige: \"f5f5dc\",\n bisque: \"ffe4c4\",\n black: \"000\",\n blanchedalmond: \"ffebcd\",\n blue: \"00f\",\n blueviolet: \"8a2be2\",\n brown: \"a52a2a\",\n burlywood: \"deb887\",\n burntsienna: \"ea7e5d\",\n cadetblue: \"5f9ea0\",\n chartreuse: \"7fff00\",\n chocolate: \"d2691e\",\n coral: \"ff7f50\",\n cornflowerblue: \"6495ed\",\n cornsilk: \"fff8dc\",\n crimson: \"dc143c\",\n cyan: \"0ff\",\n darkblue: \"00008b\",\n darkcyan: \"008b8b\",\n darkgoldenrod: \"b8860b\",\n darkgray: \"a9a9a9\",\n darkgreen: \"006400\",\n darkgrey: \"a9a9a9\",\n darkkhaki: \"bdb76b\",\n darkmagenta: \"8b008b\",\n darkolivegreen: \"556b2f\",\n darkorange: \"ff8c00\",\n darkorchid: \"9932cc\",\n darkred: \"8b0000\",\n darksalmon: \"e9967a\",\n darkseagreen: \"8fbc8f\",\n darkslateblue: \"483d8b\",\n darkslategray: \"2f4f4f\",\n darkslategrey: \"2f4f4f\",\n darkturquoise: \"00ced1\",\n darkviolet: \"9400d3\",\n deeppink: \"ff1493\",\n deepskyblue: \"00bfff\",\n dimgray: \"696969\",\n dimgrey: \"696969\",\n dodgerblue: \"1e90ff\",\n firebrick: \"b22222\",\n floralwhite: \"fffaf0\",\n forestgreen: \"228b22\",\n fuchsia: \"f0f\",\n gainsboro: \"dcdcdc\",\n ghostwhite: \"f8f8ff\",\n gold: \"ffd700\",\n goldenrod: \"daa520\",\n gray: \"808080\",\n green: \"008000\",\n greenyellow: \"adff2f\",\n grey: \"808080\",\n honeydew: \"f0fff0\",\n hotpink: \"ff69b4\",\n indianred: \"cd5c5c\",\n indigo: \"4b0082\",\n ivory: \"fffff0\",\n khaki: \"f0e68c\",\n lavender: \"e6e6fa\",\n lavenderblush: \"fff0f5\",\n lawngreen: \"7cfc00\",\n lemonchiffon: \"fffacd\",\n lightblue: \"add8e6\",\n lightcoral: \"f08080\",\n lightcyan: \"e0ffff\",\n lightgoldenrodyellow: \"fafad2\",\n lightgray: \"d3d3d3\",\n lightgreen: \"90ee90\",\n lightgrey: \"d3d3d3\",\n lightpink: \"ffb6c1\",\n lightsalmon: \"ffa07a\",\n lightseagreen: \"20b2aa\",\n lightskyblue: \"87cefa\",\n lightslategray: \"789\",\n lightslategrey: \"789\",\n lightsteelblue: \"b0c4de\",\n lightyellow: \"ffffe0\",\n lime: \"0f0\",\n limegreen: \"32cd32\",\n linen: \"faf0e6\",\n magenta: \"f0f\",\n maroon: \"800000\",\n mediumaquamarine: \"66cdaa\",\n mediumblue: \"0000cd\",\n mediumorchid: \"ba55d3\",\n mediumpurple: \"9370db\",\n mediumseagreen: \"3cb371\",\n mediumslateblue: \"7b68ee\",\n mediumspringgreen: \"00fa9a\",\n mediumturquoise: \"48d1cc\",\n mediumvioletred: \"c71585\",\n midnightblue: \"191970\",\n mintcream: \"f5fffa\",\n mistyrose: \"ffe4e1\",\n moccasin: \"ffe4b5\",\n navajowhite: \"ffdead\",\n navy: \"000080\",\n oldlace: \"fdf5e6\",\n olive: \"808000\",\n olivedrab: \"6b8e23\",\n orange: \"ffa500\",\n orangered: \"ff4500\",\n orchid: \"da70d6\",\n palegoldenrod: \"eee8aa\",\n palegreen: \"98fb98\",\n paleturquoise: \"afeeee\",\n palevioletred: \"db7093\",\n papayawhip: \"ffefd5\",\n peachpuff: \"ffdab9\",\n peru: \"cd853f\",\n pink: \"ffc0cb\",\n plum: \"dda0dd\",\n powderblue: \"b0e0e6\",\n purple: \"800080\",\n rebeccapurple: \"663399\",\n red: \"f00\",\n rosybrown: \"bc8f8f\",\n royalblue: \"4169e1\",\n saddlebrown: \"8b4513\",\n salmon: \"fa8072\",\n sandybrown: \"f4a460\",\n seagreen: \"2e8b57\",\n seashell: \"fff5ee\",\n sienna: \"a0522d\",\n silver: \"c0c0c0\",\n skyblue: \"87ceeb\",\n slateblue: \"6a5acd\",\n slategray: \"708090\",\n slategrey: \"708090\",\n snow: \"fffafa\",\n springgreen: \"00ff7f\",\n steelblue: \"4682b4\",\n tan: \"d2b48c\",\n teal: \"008080\",\n thistle: \"d8bfd8\",\n tomato: \"ff6347\",\n turquoise: \"40e0d0\",\n violet: \"ee82ee\",\n wheat: \"f5deb3\",\n white: \"fff\",\n whitesmoke: \"f5f5f5\",\n yellow: \"ff0\",\n yellowgreen: \"9acd32\"\n }, I = i.hexNames = O($);\n function O(j) {\n var U = {};\n for (var Z in j)\n j.hasOwnProperty(Z) && (U[j[Z]] = Z);\n return U;\n }\n function G(j) {\n return j = parseFloat(j), (isNaN(j) || j < 0 || j > 1) && (j = 1), j;\n }\n function K(j, U) {\n P(j) && (j = \"100%\");\n var Z = R(j);\n return j = Math.min(U, Math.max(0, parseFloat(j))), Z && (j = parseInt(j * U, 10) / 100), Math.abs(j - U) < 1e-6 ? 1 : j % U / parseFloat(U);\n }\n function V(j) {\n return Math.min(1, Math.max(0, j));\n }\n function z(j) {\n return parseInt(j, 16);\n }\n function P(j) {\n return typeof j == \"string\" && j.indexOf(\".\") != -1 && parseFloat(j) === 1;\n }\n function R(j) {\n return typeof j == \"string\" && j.indexOf(\"%\") != -1;\n }\n function H(j) {\n return j.length == 1 ? \"0\" + j : \"\" + j;\n }\n function B(j) {\n return j <= 1 && (j = j * 100 + \"%\"), j;\n }\n function W(j) {\n return Math.round(parseFloat(j) * 255).toString(16);\n }\n function ee(j) {\n return z(j) / 255;\n }\n var re = function() {\n var j = \"[-\\\\+]?\\\\d+%?\", U = \"[-\\\\+]?\\\\d*\\\\.\\\\d+%?\", Z = \"(?:\" + U + \")|(?:\" + j + \")\", le = \"[\\\\s|\\\\(]+(\" + Z + \")[,|\\\\s]+(\" + Z + \")[,|\\\\s]+(\" + Z + \")\\\\s*\\\\)?\", J = \"[\\\\s|\\\\(]+(\" + Z + \")[,|\\\\s]+(\" + Z + \")[,|\\\\s]+(\" + Z + \")[,|\\\\s]+(\" + Z + \")\\\\s*\\\\)?\";\n return {\n CSS_UNIT: new RegExp(Z),\n rgb: new RegExp(\"rgb\" + le),\n rgba: new RegExp(\"rgba\" + J),\n hsl: new RegExp(\"hsl\" + le),\n hsla: new RegExp(\"hsla\" + J),\n hsv: new RegExp(\"hsv\" + le),\n hsva: new RegExp(\"hsva\" + J),\n hex3: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,\n hex6: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,\n hex4: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,\n hex8: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/\n };\n }();\n function ae(j) {\n return !!re.CSS_UNIT.exec(j);\n }\n function Q(j) {\n j = j.replace(n, \"\").replace(a, \"\").toLowerCase();\n var U = !1;\n if ($[j])\n j = $[j], U = !0;\n else if (j == \"transparent\")\n return {\n r: 0,\n g: 0,\n b: 0,\n a: 0,\n format: \"name\"\n };\n var Z;\n return (Z = re.rgb.exec(j)) ? {\n r: Z[1],\n g: Z[2],\n b: Z[3]\n } : (Z = re.rgba.exec(j)) ? {\n r: Z[1],\n g: Z[2],\n b: Z[3],\n a: Z[4]\n } : (Z = re.hsl.exec(j)) ? {\n h: Z[1],\n s: Z[2],\n l: Z[3]\n } : (Z = re.hsla.exec(j)) ? {\n h: Z[1],\n s: Z[2],\n l: Z[3],\n a: Z[4]\n } : (Z = re.hsv.exec(j)) ? {\n h: Z[1],\n s: Z[2],\n v: Z[3]\n } : (Z = re.hsva.exec(j)) ? {\n h: Z[1],\n s: Z[2],\n v: Z[3],\n a: Z[4]\n } : (Z = re.hex8.exec(j)) ? {\n r: z(Z[1]),\n g: z(Z[2]),\n b: z(Z[3]),\n a: ee(Z[4]),\n format: U ? \"name\" : \"hex8\"\n } : (Z = re.hex6.exec(j)) ? {\n r: z(Z[1]),\n g: z(Z[2]),\n b: z(Z[3]),\n format: U ? \"name\" : \"hex\"\n } : (Z = re.hex4.exec(j)) ? {\n r: z(Z[1] + \"\" + Z[1]),\n g: z(Z[2] + \"\" + Z[2]),\n b: z(Z[3] + \"\" + Z[3]),\n a: ee(Z[4] + \"\" + Z[4]),\n format: U ? \"name\" : \"hex8\"\n } : (Z = re.hex3.exec(j)) ? {\n r: z(Z[1] + \"\" + Z[1]),\n g: z(Z[2] + \"\" + Z[2]),\n b: z(Z[3] + \"\" + Z[3]),\n format: U ? \"name\" : \"hex\"\n } : !1;\n }\n function ue(j) {\n var U, Z;\n return j = j || {\n level: \"AA\",\n size: \"small\"\n }, U = (j.level || \"AA\").toUpperCase(), Z = (j.size || \"small\").toLowerCase(), U !== \"AA\" && U !== \"AAA\" && (U = \"AA\"), Z !== \"small\" && Z !== \"large\" && (Z = \"small\"), {\n level: U,\n size: Z\n };\n }\n return i;\n });\n})(VC);\nvar bi = VC.exports, Fn = function(e) {\n var t = e.editType, r = e.colorEditType;\n r === void 0 && (r = t);\n var n = {\n family: {\n valType: \"string\",\n noBlank: !0,\n strict: !0,\n editType: t,\n description: [\n \"HTML font family - the typeface that will be applied by the web browser.\",\n \"The web browser will only be able to apply a font if it is available on the system\",\n \"which it operates. Provide multiple font families, separated by commas, to indicate\",\n \"the preference in which to apply fonts if they aren't available on the system.\",\n \"The Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise) generates images on a server,\",\n \"where only a select number of\",\n \"fonts are installed and supported.\",\n \"These include *Arial*, *Balto*, *Courier New*, *Droid Sans*,, *Droid Serif*,\",\n \"*Droid Sans Mono*, *Gravitas One*, *Old Standard TT*, *Open Sans*, *Overpass*,\",\n \"*PT Sans Narrow*, *Raleway*, *Times New Roman*.\"\n ].join(\" \")\n },\n size: {\n valType: \"number\",\n min: 1,\n editType: t\n },\n color: {\n valType: \"color\",\n editType: r\n },\n editType: t,\n // blank strings so compress_attributes can remove\n // TODO - that's uber hacky... better solution?\n description: \"\" + (e.description || \"\")\n };\n return e.autoSize && (n.size.dflt = \"auto\"), e.autoColor && (n.color.dflt = \"auto\"), e.arrayOk && (n.family.arrayOk = !0, n.size.arrayOk = !0, n.color.arrayOk = !0), n;\n}, sp = {\n // hover labels for multiple horizontal bars get tilted by this angle\n YANGLE: 60,\n // size and display constants for hover text\n // pixel size of hover arrows\n HOVERARROWSIZE: 6,\n // pixels padding around text\n HOVERTEXTPAD: 3,\n // hover font\n HOVERFONTSIZE: 13,\n HOVERFONT: \"Arial, sans-serif\",\n // minimum time (msec) between hover calls\n HOVERMINTIME: 50,\n // ID suffix (with fullLayout._uid) for hover events in the throttle cache\n HOVERID: \"-hover\"\n}, qC = sp, WC = Fn, G1 = WC({\n editType: \"none\",\n description: \"Sets the default hover label font used by all traces on the graph.\"\n});\nG1.family.dflt = qC.HOVERFONT;\nG1.size.dflt = qC.HOVERFONTSIZE;\nvar Zc = {\n clickmode: {\n valType: \"flaglist\",\n flags: [\"event\", \"select\"],\n dflt: \"event\",\n editType: \"plot\",\n extras: [\"none\"],\n description: [\n \"Determines the mode of single click interactions.\",\n \"*event* is the default value and emits the `plotly_click`\",\n \"event. In addition this mode emits the `plotly_selected` event\",\n \"in drag modes *lasso* and *select*, but with no event data attached\",\n \"(kept for compatibility reasons).\",\n \"The *select* flag enables selecting single\",\n \"data points via click. This mode also supports persistent selections,\",\n \"meaning that pressing Shift while clicking, adds to / subtracts from an\",\n \"existing selection. *select* with `hovermode`: *x* can be confusing, consider\",\n \"explicitly setting `hovermode`: *closest* when using this feature.\",\n \"Selection events are sent accordingly as long as *event* flag is set as well.\",\n \"When the *event* flag is missing, `plotly_click` and `plotly_selected`\",\n \"events are not fired.\"\n ].join(\" \")\n },\n dragmode: {\n valType: \"enumerated\",\n values: [\n \"zoom\",\n \"pan\",\n \"select\",\n \"lasso\",\n \"drawclosedpath\",\n \"drawopenpath\",\n \"drawline\",\n \"drawrect\",\n \"drawcircle\",\n \"orbit\",\n \"turntable\",\n !1\n ],\n dflt: \"zoom\",\n editType: \"modebar\",\n description: [\n \"Determines the mode of drag interactions.\",\n \"*select* and *lasso* apply only to scatter traces with\",\n \"markers or text. *orbit* and *turntable* apply only to\",\n \"3D scenes.\"\n ].join(\" \")\n },\n hovermode: {\n valType: \"enumerated\",\n values: [\"x\", \"y\", \"closest\", !1, \"x unified\", \"y unified\"],\n dflt: \"closest\",\n editType: \"modebar\",\n description: [\n \"Determines the mode of hover interactions.\",\n \"If *closest*, a single hoverlabel will appear\",\n \"for the *closest* point within the `hoverdistance`.\",\n \"If *x* (or *y*), multiple hoverlabels will appear for multiple points\",\n \"at the *closest* x- (or y-) coordinate within the `hoverdistance`,\",\n \"with the caveat that no more than one hoverlabel will appear per trace.\",\n \"If *x unified* (or *y unified*), a single hoverlabel will appear\",\n \"multiple points at the closest x- (or y-) coordinate within the `hoverdistance`\",\n \"with the caveat that no more than one hoverlabel will appear per trace.\",\n \"In this mode, spikelines are enabled by default perpendicular to the specified axis.\",\n \"If false, hover interactions are disabled.\"\n ].join(\" \")\n },\n hoverdistance: {\n valType: \"integer\",\n min: -1,\n dflt: 20,\n editType: \"none\",\n description: [\n \"Sets the default distance (in pixels) to look for data\",\n \"to add hover labels (-1 means no cutoff, 0 means no looking for data).\",\n \"This is only a real distance for hovering on point-like objects,\",\n \"like scatter points. For area-like objects (bars, scatter fills, etc)\",\n \"hovering is on inside the area and off outside, but these objects\",\n \"will not supersede hover on point-like objects in case of conflict.\"\n ].join(\" \")\n },\n spikedistance: {\n valType: \"integer\",\n min: -1,\n dflt: -1,\n editType: \"none\",\n description: [\n \"Sets the default distance (in pixels) to look for data to draw\",\n \"spikelines to (-1 means no cutoff, 0 means no looking for data).\",\n \"As with hoverdistance, distance does not apply to area-like objects.\",\n \"In addition, some objects can be hovered on but will not generate\",\n \"spikelines, such as scatter fills.\"\n ].join(\" \")\n },\n hoverlabel: {\n bgcolor: {\n valType: \"color\",\n editType: \"none\",\n description: [\n \"Sets the background color of all hover labels on graph\"\n ].join(\" \")\n },\n bordercolor: {\n valType: \"color\",\n editType: \"none\",\n description: [\n \"Sets the border color of all hover labels on graph.\"\n ].join(\" \")\n },\n font: G1,\n grouptitlefont: WC({\n editType: \"none\",\n description: [\n \"Sets the font for group titles in hover (unified modes).\",\n \"Defaults to `hoverlabel.font`.\"\n ].join(\" \")\n }),\n align: {\n valType: \"enumerated\",\n values: [\"left\", \"right\", \"auto\"],\n dflt: \"auto\",\n editType: \"none\",\n description: [\n \"Sets the horizontal alignment of the text content within hover label box.\",\n \"Has an effect only if the hover label text spans more two or more lines\"\n ].join(\" \")\n },\n namelength: {\n valType: \"integer\",\n min: -1,\n dflt: 15,\n editType: \"none\",\n description: [\n \"Sets the default length (in number of characters) of the trace name in\",\n \"the hover labels for all traces. -1 shows the whole name\",\n \"regardless of length. 0-3 shows the first 0-3 characters, and\",\n \"an integer >3 will show the whole name if it is less than that\",\n \"many characters, but if it is longer, will truncate to\",\n \"`namelength - 3` characters and add an ellipsis.\"\n ].join(\" \")\n },\n editType: \"none\"\n },\n selectdirection: {\n valType: \"enumerated\",\n values: [\"h\", \"v\", \"d\", \"any\"],\n dflt: \"any\",\n description: [\n \"When `dragmode` is set to *select*, this limits the selection of the drag to\",\n \"horizontal, vertical or diagonal. *h* only allows horizontal selection,\",\n \"*v* only vertical, *d* only diagonal and *any* sets no limit.\"\n ].join(\" \"),\n editType: \"none\"\n }\n}, en = {}, _2 = ms, xf = Array.isArray;\nfunction EU(e, t) {\n var r, n;\n for (r = 0; r < e.length; r++) {\n if (n = e[r], n !== null && typeof n == \"object\")\n return !1;\n n !== void 0 && (t[r] = n);\n }\n return !0;\n}\nen.extendFlat = function() {\n return Yc(arguments, !1, !1, !1);\n};\nen.extendDeep = function() {\n return Yc(arguments, !0, !1, !1);\n};\nen.extendDeepAll = function() {\n return Yc(arguments, !0, !0, !1);\n};\nen.extendDeepNoArrays = function() {\n return Yc(arguments, !0, !1, !0);\n};\nfunction Yc(e, t, r, n) {\n var a = e[0], i = e.length, o, l, s, u, f, d, h;\n if (i === 2 && xf(a) && xf(e[1]) && a.length === 0) {\n if (h = EU(e[1], a), h)\n return a;\n a.splice(0, a.length);\n }\n for (var p = 1; p < i; p++) {\n o = e[p];\n for (l in o)\n s = a[l], u = o[l], n && xf(u) ? a[l] = u : t && u && (_2(u) || (f = xf(u))) ? (f ? (f = !1, d = s && xf(s) ? s : []) : d = s && _2(s) ? s : {}, a[l] = Yc([d, u], t, r, n)) : (typeof u < \"u\" || r) && (a[l] = u);\n }\n return a;\n}\nvar FU = Fn, $d = Zc.hoverlabel, zd = en.extendFlat, V1 = {\n hoverlabel: {\n bgcolor: zd({}, $d.bgcolor, {\n arrayOk: !0,\n description: \"Sets the background color of the hover labels for this trace\"\n }),\n bordercolor: zd({}, $d.bordercolor, {\n arrayOk: !0,\n description: \"Sets the border color of the hover labels for this trace.\"\n }),\n font: FU({\n arrayOk: !0,\n editType: \"none\",\n description: \"Sets the font used in hover labels.\"\n }),\n align: zd({}, $d.align, { arrayOk: !0 }),\n namelength: zd({}, $d.namelength, { arrayOk: !0 }),\n editType: \"none\"\n }\n}, RU = Fn, PU = V1, Wi = {\n type: {\n valType: \"enumerated\",\n values: [],\n // listed dynamically\n dflt: \"scatter\",\n editType: \"calc+clearAxisTypes\",\n _noTemplating: !0\n // we handle this at a higher level\n },\n visible: {\n valType: \"enumerated\",\n values: [!0, !1, \"legendonly\"],\n dflt: !0,\n editType: \"calc\",\n description: [\n \"Determines whether or not this trace is visible.\",\n \"If *legendonly*, the trace is not drawn,\",\n \"but can appear as a legend item\",\n \"(provided that the legend itself is visible).\"\n ].join(\" \")\n },\n showlegend: {\n valType: \"boolean\",\n dflt: !0,\n editType: \"style\",\n description: [\n \"Determines whether or not an item corresponding to this\",\n \"trace is shown in the legend.\"\n ].join(\" \")\n },\n legend: {\n valType: \"subplotid\",\n dflt: \"legend\",\n editType: \"style\",\n description: [\n \"Sets the reference to a legend to show this trace in.\",\n \"References to these legends are *legend*, *legend2*, *legend3*, etc.\",\n \"Settings for these legends are set in the layout, under\",\n \"`layout.legend`, `layout.legend2`, etc.\"\n ].join(\" \")\n },\n legendgroup: {\n valType: \"string\",\n dflt: \"\",\n editType: \"style\",\n description: [\n \"Sets the legend group for this trace.\",\n \"Traces and shapes part of the same legend group hide/show at the same time\",\n \"when toggling legend items.\"\n ].join(\" \")\n },\n legendgrouptitle: {\n text: {\n valType: \"string\",\n dflt: \"\",\n editType: \"style\",\n description: [\n \"Sets the title of the legend group.\"\n ].join(\" \")\n },\n font: RU({\n editType: \"style\",\n description: [\n \"Sets this legend group's title font.\"\n ].join(\" \")\n }),\n editType: \"style\"\n },\n legendrank: {\n valType: \"number\",\n dflt: 1e3,\n editType: \"style\",\n description: [\n \"Sets the legend rank for this trace.\",\n \"Items and groups with smaller ranks are presented on top/left side while\",\n \"with *reversed* `legend.traceorder` they are on bottom/right side.\",\n \"The default legendrank is 1000,\",\n \"so that you can use ranks less than 1000 to place certain items before all unranked items,\",\n \"and ranks greater than 1000 to go after all unranked items.\",\n \"When having unranked or equal rank items shapes would be displayed after traces\",\n \"i.e. according to their order in data and layout.\"\n ].join(\" \")\n },\n legendwidth: {\n valType: \"number\",\n min: 0,\n editType: \"style\",\n description: \"Sets the width (in px or fraction) of the legend for this trace.\"\n },\n opacity: {\n valType: \"number\",\n min: 0,\n max: 1,\n dflt: 1,\n editType: \"style\",\n description: \"Sets the opacity of the trace.\"\n },\n name: {\n valType: \"string\",\n editType: \"style\",\n description: [\n \"Sets the trace name.\",\n \"The trace name appears as the legend item and on hover.\"\n ].join(\" \")\n },\n uid: {\n valType: \"string\",\n editType: \"plot\",\n anim: !0,\n description: [\n \"Assign an id to this trace,\",\n \"Use this to provide object constancy between traces during animations\",\n \"and transitions.\"\n ].join(\" \")\n },\n ids: {\n valType: \"data_array\",\n editType: \"calc\",\n anim: !0,\n description: [\n \"Assigns id labels to each datum.\",\n \"These ids for object constancy of data points during animation.\",\n \"Should be an array of strings, not numbers or any other type.\"\n ].join(\" \")\n },\n customdata: {\n valType: \"data_array\",\n editType: \"calc\",\n description: [\n \"Assigns extra data each datum.\",\n \"This may be useful when listening to hover, click and selection events.\",\n \"Note that, *scatter* traces also appends customdata items in the markers\",\n \"DOM elements\"\n ].join(\" \")\n },\n meta: {\n valType: \"any\",\n arrayOk: !0,\n editType: \"plot\",\n description: [\n \"Assigns extra meta information associated with this trace\",\n \"that can be used in various text attributes.\",\n \"Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text`\",\n \"`rangeselector`, `updatemenues` and `sliders` `label` text\",\n \"all support `meta`.\",\n \"To access the trace `meta` values in an attribute in the same trace, simply use\",\n \"`%{meta[i]}` where `i` is the index or key of the `meta`\",\n \"item in question.\",\n \"To access trace `meta` in layout attributes, use\",\n \"`%{data[n[.meta[i]}` where `i` is the index or key of the `meta`\",\n \"and `n` is the trace index.\"\n ].join(\" \")\n },\n // N.B. these cannot be 'data_array' as they do not have the same length as\n // other data arrays and arrayOk attributes in general\n //\n // Maybe add another valType:\n // https://github.com/plotly/plotly.js/issues/1894\n selectedpoints: {\n valType: \"any\",\n editType: \"calc\",\n description: [\n \"Array containing integer indices of selected points.\",\n \"Has an effect only for traces that support selections.\",\n \"Note that an empty array means an empty selection where the `unselected`\",\n \"are turned on for all points, whereas, any other non-array values means no\",\n \"selection all where the `selected` and `unselected` styles have no effect.\"\n ].join(\" \")\n },\n hoverinfo: {\n valType: \"flaglist\",\n flags: [\"x\", \"y\", \"z\", \"text\", \"name\"],\n extras: [\"all\", \"none\", \"skip\"],\n arrayOk: !0,\n dflt: \"all\",\n editType: \"none\",\n description: [\n \"Determines which trace information appear on hover.\",\n \"If `none` or `skip` are set, no information is displayed upon hovering.\",\n \"But, if `none` is set, click and hover events are still fired.\"\n ].join(\" \")\n },\n hoverlabel: PU.hoverlabel,\n stream: {\n token: {\n valType: \"string\",\n noBlank: !0,\n strict: !0,\n editType: \"calc\",\n description: [\n \"The stream id number links a data trace on a plot with a stream.\",\n \"See https://chart-studio.plotly.com/settings for more details.\"\n ].join(\" \")\n },\n maxpoints: {\n valType: \"number\",\n min: 0,\n max: 1e4,\n dflt: 500,\n editType: \"calc\",\n description: [\n \"Sets the maximum number of points to keep on the plots from an\",\n \"incoming stream.\",\n \"If `maxpoints` is set to *50*, only the newest 50 points will\",\n \"be displayed on the plot.\"\n ].join(\" \")\n },\n editType: \"calc\"\n },\n transforms: {\n _isLinkedToArray: \"transform\",\n editType: \"calc\",\n description: [\n \"WARNING: All transforms are deprecated and may be removed from the API in next major version.\",\n \"An array of operations that manipulate the trace data,\",\n \"for example filtering or sorting the data arrays.\"\n ].join(\" \")\n },\n uirevision: {\n valType: \"any\",\n editType: \"none\",\n description: [\n \"Controls persistence of some user-driven changes to the trace:\",\n \"`constraintrange` in `parcoords` traces, as well as some\",\n \"`editable: true` modifications such as `name` and `colorbar.title`.\",\n \"Defaults to `layout.uirevision`.\",\n \"Note that other user-driven trace attribute changes are controlled\",\n \"by `layout` attributes:\",\n \"`trace.visible` is controlled by `layout.legend.uirevision`,\",\n \"`selectedpoints` is controlled by `layout.selectionrevision`,\",\n \"and `colorbar.(x|y)` (accessible with `config: {editable: true}`)\",\n \"is controlled by `layout.editrevision`.\",\n \"Trace changes are tracked by `uid`, which only falls back on trace\",\n \"index if no `uid` is provided. So if your app can add/remove traces\",\n \"before the end of the `data` array, such that the same trace has a\",\n \"different index, you can still preserve user-driven changes if you\",\n \"give each trace a `uid` that stays with it as it moves.\"\n ].join(\" \")\n }\n}, $U = bi, up = {\n Greys: [\n [0, \"rgb(0,0,0)\"],\n [1, \"rgb(255,255,255)\"]\n ],\n YlGnBu: [\n [0, \"rgb(8,29,88)\"],\n [0.125, \"rgb(37,52,148)\"],\n [0.25, \"rgb(34,94,168)\"],\n [0.375, \"rgb(29,145,192)\"],\n [0.5, \"rgb(65,182,196)\"],\n [0.625, \"rgb(127,205,187)\"],\n [0.75, \"rgb(199,233,180)\"],\n [0.875, \"rgb(237,248,217)\"],\n [1, \"rgb(255,255,217)\"]\n ],\n Greens: [\n [0, \"rgb(0,68,27)\"],\n [0.125, \"rgb(0,109,44)\"],\n [0.25, \"rgb(35,139,69)\"],\n [0.375, \"rgb(65,171,93)\"],\n [0.5, \"rgb(116,196,118)\"],\n [0.625, \"rgb(161,217,155)\"],\n [0.75, \"rgb(199,233,192)\"],\n [0.875, \"rgb(229,245,224)\"],\n [1, \"rgb(247,252,245)\"]\n ],\n YlOrRd: [\n [0, \"rgb(128,0,38)\"],\n [0.125, \"rgb(189,0,38)\"],\n [0.25, \"rgb(227,26,28)\"],\n [0.375, \"rgb(252,78,42)\"],\n [0.5, \"rgb(253,141,60)\"],\n [0.625, \"rgb(254,178,76)\"],\n [0.75, \"rgb(254,217,118)\"],\n [0.875, \"rgb(255,237,160)\"],\n [1, \"rgb(255,255,204)\"]\n ],\n Bluered: [\n [0, \"rgb(0,0,255)\"],\n [1, \"rgb(255,0,0)\"]\n ],\n // modified RdBu based on\n // http://www.kennethmoreland.com/color-maps/\n RdBu: [\n [0, \"rgb(5,10,172)\"],\n [0.35, \"rgb(106,137,247)\"],\n [0.5, \"rgb(190,190,190)\"],\n [0.6, \"rgb(220,170,132)\"],\n [0.7, \"rgb(230,145,90)\"],\n [1, \"rgb(178,10,28)\"]\n ],\n // Scale for non-negative numeric values\n Reds: [\n [0, \"rgb(220,220,220)\"],\n [0.2, \"rgb(245,195,157)\"],\n [0.4, \"rgb(245,160,105)\"],\n [1, \"rgb(178,10,28)\"]\n ],\n // Scale for non-positive numeric values\n Blues: [\n [0, \"rgb(5,10,172)\"],\n [0.35, \"rgb(40,60,190)\"],\n [0.5, \"rgb(70,100,245)\"],\n [0.6, \"rgb(90,120,245)\"],\n [0.7, \"rgb(106,137,247)\"],\n [1, \"rgb(220,220,220)\"]\n ],\n Picnic: [\n [0, \"rgb(0,0,255)\"],\n [0.1, \"rgb(51,153,255)\"],\n [0.2, \"rgb(102,204,255)\"],\n [0.3, \"rgb(153,204,255)\"],\n [0.4, \"rgb(204,204,255)\"],\n [0.5, \"rgb(255,255,255)\"],\n [0.6, \"rgb(255,204,255)\"],\n [0.7, \"rgb(255,153,255)\"],\n [0.8, \"rgb(255,102,204)\"],\n [0.9, \"rgb(255,102,102)\"],\n [1, \"rgb(255,0,0)\"]\n ],\n Rainbow: [\n [0, \"rgb(150,0,90)\"],\n [0.125, \"rgb(0,0,200)\"],\n [0.25, \"rgb(0,25,255)\"],\n [0.375, \"rgb(0,152,255)\"],\n [0.5, \"rgb(44,255,150)\"],\n [0.625, \"rgb(151,255,0)\"],\n [0.75, \"rgb(255,234,0)\"],\n [0.875, \"rgb(255,111,0)\"],\n [1, \"rgb(255,0,0)\"]\n ],\n Portland: [\n [0, \"rgb(12,51,131)\"],\n [0.25, \"rgb(10,136,186)\"],\n [0.5, \"rgb(242,211,56)\"],\n [0.75, \"rgb(242,143,56)\"],\n [1, \"rgb(217,30,30)\"]\n ],\n Jet: [\n [0, \"rgb(0,0,131)\"],\n [0.125, \"rgb(0,60,170)\"],\n [0.375, \"rgb(5,255,255)\"],\n [0.625, \"rgb(255,255,0)\"],\n [0.875, \"rgb(250,0,0)\"],\n [1, \"rgb(128,0,0)\"]\n ],\n Hot: [\n [0, \"rgb(0,0,0)\"],\n [0.3, \"rgb(230,0,0)\"],\n [0.6, \"rgb(255,210,0)\"],\n [1, \"rgb(255,255,255)\"]\n ],\n Blackbody: [\n [0, \"rgb(0,0,0)\"],\n [0.2, \"rgb(230,0,0)\"],\n [0.4, \"rgb(230,210,0)\"],\n [0.7, \"rgb(255,255,255)\"],\n [1, \"rgb(160,200,255)\"]\n ],\n Earth: [\n [0, \"rgb(0,0,130)\"],\n [0.1, \"rgb(0,180,180)\"],\n [0.2, \"rgb(40,210,40)\"],\n [0.4, \"rgb(230,230,50)\"],\n [0.6, \"rgb(120,70,20)\"],\n [1, \"rgb(255,255,255)\"]\n ],\n Electric: [\n [0, \"rgb(0,0,0)\"],\n [0.15, \"rgb(30,0,100)\"],\n [0.4, \"rgb(120,0,100)\"],\n [0.6, \"rgb(160,90,0)\"],\n [0.8, \"rgb(230,200,0)\"],\n [1, \"rgb(255,250,220)\"]\n ],\n Viridis: [\n [0, \"#440154\"],\n [0.06274509803921569, \"#48186a\"],\n [0.12549019607843137, \"#472d7b\"],\n [0.18823529411764706, \"#424086\"],\n [0.25098039215686274, \"#3b528b\"],\n [0.3137254901960784, \"#33638d\"],\n [0.3764705882352941, \"#2c728e\"],\n [0.4392156862745098, \"#26828e\"],\n [0.5019607843137255, \"#21918c\"],\n [0.5647058823529412, \"#1fa088\"],\n [0.6274509803921569, \"#28ae80\"],\n [0.6901960784313725, \"#3fbc73\"],\n [0.7529411764705882, \"#5ec962\"],\n [0.8156862745098039, \"#84d44b\"],\n [0.8784313725490196, \"#addc30\"],\n [0.9411764705882353, \"#d8e219\"],\n [1, \"#fde725\"]\n ],\n Cividis: [\n [0, \"rgb(0,32,76)\"],\n [0.058824, \"rgb(0,42,102)\"],\n [0.117647, \"rgb(0,52,110)\"],\n [0.176471, \"rgb(39,63,108)\"],\n [0.235294, \"rgb(60,74,107)\"],\n [0.294118, \"rgb(76,85,107)\"],\n [0.352941, \"rgb(91,95,109)\"],\n [0.411765, \"rgb(104,106,112)\"],\n [0.470588, \"rgb(117,117,117)\"],\n [0.529412, \"rgb(131,129,120)\"],\n [0.588235, \"rgb(146,140,120)\"],\n [0.647059, \"rgb(161,152,118)\"],\n [0.705882, \"rgb(176,165,114)\"],\n [0.764706, \"rgb(192,177,109)\"],\n [0.823529, \"rgb(209,191,102)\"],\n [0.882353, \"rgb(225,204,92)\"],\n [0.941176, \"rgb(243,219,79)\"],\n [1, \"rgb(255,233,69)\"]\n ]\n}, ZC = up.RdBu;\nfunction zU(e, t) {\n if (t || (t = ZC), !e) return t;\n function r() {\n try {\n e = up[e] || JSON.parse(e);\n } catch {\n e = t;\n }\n }\n return typeof e == \"string\" && (r(), typeof e == \"string\" && r()), YC(e) ? e : t;\n}\nfunction YC(e) {\n var t = 0;\n if (!Array.isArray(e) || e.length < 2 || !e[0] || !e[e.length - 1] || +e[0][0] != 0 || +e[e.length - 1][0] != 1) return !1;\n for (var r = 0; r < e.length; r++) {\n var n = e[r];\n if (n.length !== 2 || +n[0] < t || !$U(n[1]).isValid())\n return !1;\n t = +n[0];\n }\n return !0;\n}\nfunction IU(e) {\n return up[e] !== void 0 ? !0 : YC(e);\n}\nvar Wu = {\n scales: up,\n defaultScale: ZC,\n get: zU,\n isValid: IU\n}, XC = { exports: {} }, da = {};\nda.defaults = [\n \"#1f77b4\",\n // muted blue\n \"#ff7f0e\",\n // safety orange\n \"#2ca02c\",\n // cooked asparagus green\n \"#d62728\",\n // brick red\n \"#9467bd\",\n // muted purple\n \"#8c564b\",\n // chestnut brown\n \"#e377c2\",\n // raspberry yogurt pink\n \"#7f7f7f\",\n // middle gray\n \"#bcbd22\",\n // curry yellow-green\n \"#17becf\"\n // blue-teal\n];\nda.defaultLine = \"#444\";\nda.lightLine = \"#eee\";\nda.background = \"#fff\";\nda.borderLine = \"#BEC8D9\";\nda.lightFraction = 100 * 10 / 11;\nvar hi = bi, NU = sr, OU = an.isTypedArray, _n = XC.exports = {}, fp = da;\n_n.defaults = fp.defaults;\nvar HU = _n.defaultLine = fp.defaultLine;\n_n.lightLine = fp.lightLine;\nvar oy = _n.background = fp.background;\n_n.tinyRGB = function(e) {\n var t = e.toRgb();\n return \"rgb(\" + Math.round(t.r) + \", \" + Math.round(t.g) + \", \" + Math.round(t.b) + \")\";\n};\n_n.rgb = function(e) {\n return _n.tinyRGB(hi(e));\n};\n_n.opacity = function(e) {\n return e ? hi(e).getAlpha() : 0;\n};\n_n.addOpacity = function(e, t) {\n var r = hi(e).toRgb();\n return \"rgba(\" + Math.round(r.r) + \", \" + Math.round(r.g) + \", \" + Math.round(r.b) + \", \" + t + \")\";\n};\n_n.combine = function(e, t) {\n var r = hi(e).toRgb();\n if (r.a === 1) return hi(e).toRgbString();\n var n = hi(t || oy).toRgb(), a = n.a === 1 ? n : {\n r: 255 * (1 - n.a) + n.r * n.a,\n g: 255 * (1 - n.a) + n.g * n.a,\n b: 255 * (1 - n.a) + n.b * n.a\n }, i = {\n r: a.r * (1 - r.a) + r.r * r.a,\n g: a.g * (1 - r.a) + r.g * r.a,\n b: a.b * (1 - r.a) + r.b * r.a\n };\n return hi(i).toRgbString();\n};\n_n.contrast = function(e, t, r) {\n var n = hi(e);\n n.getAlpha() !== 1 && (n = hi(_n.combine(e, oy)));\n var a = n.isDark() ? t ? n.lighten(t) : oy : r ? n.darken(r) : HU;\n return a.toString();\n};\n_n.stroke = function(e, t) {\n var r = hi(t);\n e.style({ stroke: _n.tinyRGB(r), \"stroke-opacity\": r.getAlpha() });\n};\n_n.fill = function(e, t) {\n var r = hi(t);\n e.style({\n fill: _n.tinyRGB(r),\n \"fill-opacity\": r.getAlpha()\n });\n};\n_n.clean = function(e) {\n if (!(!e || typeof e != \"object\")) {\n var t = Object.keys(e), r, n, a, i;\n for (r = 0; r < t.length; r++)\n if (a = t[r], i = e[a], a.substr(a.length - 5) === \"color\")\n if (Array.isArray(i))\n for (n = 0; n < i.length; n++) i[n] = Gm(i[n]);\n else e[a] = Gm(i);\n else if (a.substr(a.length - 10) === \"colorscale\" && Array.isArray(i))\n for (n = 0; n < i.length; n++)\n Array.isArray(i[n]) && (i[n][1] = Gm(i[n][1]));\n else if (Array.isArray(i)) {\n var o = i[0];\n if (!Array.isArray(o) && o && typeof o == \"object\")\n for (n = 0; n < i.length; n++) _n.clean(i[n]);\n } else i && typeof i == \"object\" && !OU(i) && _n.clean(i);\n }\n};\nfunction Gm(e) {\n if (NU(e) || typeof e != \"string\") return e;\n var t = e.trim();\n if (t.substr(0, 3) !== \"rgb\") return e;\n var r = t.match(/^rgba?\\s*\\(([^()]*)\\)$/);\n if (!r) return e;\n var n = r[1].trim().split(/\\s*[\\s,]\\s*/), a = t.charAt(3) === \"a\" && n.length === 4;\n if (!a && n.length !== 3) return e;\n for (var i = 0; i < n.length; i++) {\n if (!n[i].length || (n[i] = Number(n[i]), !(n[i] >= 0)))\n return e;\n if (i === 3)\n n[i] > 1 && (n[i] = 1);\n else if (n[i] >= 1)\n return e;\n }\n var o = Math.round(n[0] * 255) + \", \" + Math.round(n[1] * 255) + \", \" + Math.round(n[2] * 255);\n return a ? \"rgba(\" + o + \", \" + n[3] + \")\" : \"rgb(\" + o + \")\";\n}\nvar nr = XC.exports, q1 = {\n /**\n * Timing information for interactive elements\n */\n SHOW_PLACEHOLDER: 100,\n HIDE_PLACEHOLDER: 1e3,\n // opacity dimming fraction for points that are not in selection\n DESELECTDIM: 0.2\n}, Zu = {};\nZu.counter = function(e, t, r, n) {\n var a = (t || \"\") + (r ? \"\" : \"$\"), i = n === !1 ? \"\" : \"^\";\n return e === \"xy\" ? new RegExp(i + \"x([2-9]|[1-9][0-9]+)?y([2-9]|[1-9][0-9]+)?\" + a) : new RegExp(i + e + \"([2-9]|[1-9][0-9]+)?\" + a);\n};\n(function(e) {\n var t = sr, r = bi, n = Wi, a = Wu, i = nr, o = q1.DESELECTDIM, l = j1, s = Zu.counter, u = Wc.modHalf, f = an.isArrayOrTypedArray, d = an.isTypedArraySpec, h = an.decodeTypedArraySpec;\n e.valObjectMeta = {\n data_array: {\n // You can use *dflt=[] to force said array to exist though.\n description: [\n \"An {array} of data.\",\n \"The value must represent an {array} or it will be ignored,\",\n \"but this array can be provided in several forms:\",\n \"(1) a regular {array} object\",\n \"(2) a typed array (e.g. Float32Array)\",\n \"(3) an object with keys dtype, bdata, and optionally shape.\",\n \"In this 3rd form, dtype is one of\",\n \"*f8*, *f4*.\",\n \"*i4*, *u4*,\",\n \"*i2*, *u2*,\",\n \"*i1*, *u1* or *u1c* for Uint8ClampedArray.\",\n \"In addition to shorthand `dtype` above one could also use the following forms:\",\n \"*float64*, *float32*,\",\n \"*int32*, *uint32*,\",\n \"*int16*, *uint16*,\",\n \"*int8*, *uint8* or *uint8c* for Uint8ClampedArray.\",\n \"`bdata` is either a base64-encoded string or the ArrayBuffer of\",\n \"an integer or float typed array.\",\n \"For either multi-dimensional arrays you must also\",\n \"provide its dimensions separated by comma via `shape`.\",\n \"For example using `dtype`: *f4* and `shape`: *5,100* you can\",\n \"declare a 2-D array that has 5 rows and 100 columns\",\n \"containing float32 values i.e. 4 bits per value.\",\n \"`shape` is optional for one dimensional arrays.\"\n ].join(\" \"),\n requiredOpts: [],\n otherOpts: [\"dflt\"],\n coerceFunction: function(v, m, g) {\n m.set(\n f(v) ? v : d(v) ? h(v) : g\n );\n }\n },\n enumerated: {\n description: [\n \"Enumerated value type. The available values are listed\",\n \"in `values`.\"\n ].join(\" \"),\n requiredOpts: [\"values\"],\n otherOpts: [\"dflt\", \"coerceNumber\", \"arrayOk\"],\n coerceFunction: function(v, m, g, y) {\n y.coerceNumber && (v = +v), y.values.indexOf(v) === -1 ? m.set(g) : m.set(v);\n },\n validateFunction: function(v, m) {\n m.coerceNumber && (v = +v);\n for (var g = m.values, y = 0; y < g.length; y++) {\n var w = String(g[y]);\n if (w.charAt(0) === \"/\" && w.charAt(w.length - 1) === \"/\") {\n var k = new RegExp(w.substr(1, w.length - 2));\n if (k.test(v)) return !0;\n } else if (v === g[y]) return !0;\n }\n return !1;\n }\n },\n boolean: {\n description: \"A boolean (true/false) value.\",\n requiredOpts: [],\n otherOpts: [\"dflt\"],\n coerceFunction: function(v, m, g) {\n v === !0 || v === !1 ? m.set(v) : m.set(g);\n }\n },\n number: {\n description: [\n \"A number or a numeric value\",\n \"(e.g. a number inside a string).\",\n \"When applicable, values greater (less) than `max` (`min`)\",\n \"are coerced to the `dflt`.\"\n ].join(\" \"),\n requiredOpts: [],\n otherOpts: [\"dflt\", \"min\", \"max\", \"arrayOk\"],\n coerceFunction: function(v, m, g, y) {\n !t(v) || y.min !== void 0 && v < y.min || y.max !== void 0 && v > y.max ? m.set(g) : m.set(+v);\n }\n },\n integer: {\n description: [\n \"An integer or an integer inside a string.\",\n \"When applicable, values greater (less) than `max` (`min`)\",\n \"are coerced to the `dflt`.\"\n ].join(\" \"),\n requiredOpts: [],\n otherOpts: [\"dflt\", \"min\", \"max\", \"arrayOk\"],\n coerceFunction: function(v, m, g, y) {\n v % 1 || !t(v) || y.min !== void 0 && v < y.min || y.max !== void 0 && v > y.max ? m.set(g) : m.set(+v);\n }\n },\n string: {\n description: [\n \"A string value.\",\n \"Numbers are converted to strings except for attributes with\",\n \"`strict` set to true.\"\n ].join(\" \"),\n requiredOpts: [],\n // TODO 'values shouldn't be in there (edge case: 'dash' in Scatter)\n otherOpts: [\"dflt\", \"noBlank\", \"strict\", \"arrayOk\", \"values\"],\n coerceFunction: function(v, m, g, y) {\n if (typeof v != \"string\") {\n var w = typeof v == \"number\";\n y.strict === !0 || !w ? m.set(g) : m.set(String(v));\n } else y.noBlank && !v ? m.set(g) : m.set(v);\n }\n },\n color: {\n description: [\n \"A string describing color.\",\n \"Supported formats:\",\n \"- hex (e.g. '#d3d3d3')\",\n \"- rgb (e.g. 'rgb(255, 0, 0)')\",\n \"- rgba (e.g. 'rgb(255, 0, 0, 0.5)')\",\n \"- hsl (e.g. 'hsl(0, 100%, 50%)')\",\n \"- hsv (e.g. 'hsv(0, 100%, 100%)')\",\n \"- named colors (full list: http://www.w3.org/TR/css3-color/#svg-color)\"\n ].join(\" \"),\n requiredOpts: [],\n otherOpts: [\"dflt\", \"arrayOk\"],\n coerceFunction: function(v, m, g) {\n r(v).isValid() ? m.set(v) : m.set(g);\n }\n },\n colorlist: {\n description: [\n \"A list of colors.\",\n \"Must be an {array} containing valid colors.\"\n ].join(\" \"),\n requiredOpts: [],\n otherOpts: [\"dflt\"],\n coerceFunction: function(v, m, g) {\n function y(w) {\n return r(w).isValid();\n }\n !Array.isArray(v) || !v.length ? m.set(g) : v.every(y) ? m.set(v) : m.set(g);\n }\n },\n colorscale: {\n description: [\n \"A Plotly colorscale either picked by a name:\",\n \"(any of\",\n Object.keys(a.scales).join(\", \"),\n \")\",\n \"customized as an {array} of 2-element {arrays} where\",\n \"the first element is the normalized color level value\",\n \"(starting at *0* and ending at *1*),\",\n \"and the second item is a valid color string.\"\n ].join(\" \"),\n requiredOpts: [],\n otherOpts: [\"dflt\"],\n coerceFunction: function(v, m, g) {\n m.set(a.get(v, g));\n }\n },\n angle: {\n description: [\n \"A number (in degree) between -180 and 180.\"\n ].join(\" \"),\n requiredOpts: [],\n otherOpts: [\"dflt\", \"arrayOk\"],\n coerceFunction: function(v, m, g) {\n v === \"auto\" ? m.set(\"auto\") : t(v) ? m.set(u(+v, 360)) : m.set(g);\n }\n },\n subplotid: {\n description: [\n \"An id string of a subplot type (given by dflt), optionally\",\n \"followed by an integer >1. e.g. if dflt='geo', we can have\",\n \"'geo', 'geo2', 'geo3', ...\"\n ].join(\" \"),\n requiredOpts: [\"dflt\"],\n otherOpts: [\"regex\"],\n coerceFunction: function(v, m, g, y) {\n var w = y.regex || s(g);\n if (typeof v == \"string\" && w.test(v)) {\n m.set(v);\n return;\n }\n m.set(g);\n },\n validateFunction: function(v, m) {\n var g = m.dflt;\n return v === g ? !0 : typeof v != \"string\" ? !1 : !!s(g).test(v);\n }\n },\n flaglist: {\n description: [\n \"A string representing a combination of flags\",\n \"(order does not matter here).\",\n \"Combine any of the available `flags` with *+*.\",\n \"(e.g. ('lines+markers')).\",\n \"Values in `extras` cannot be combined.\"\n ].join(\" \"),\n requiredOpts: [\"flags\"],\n otherOpts: [\"dflt\", \"extras\", \"arrayOk\"],\n coerceFunction: function(v, m, g, y) {\n if ((y.extras || []).indexOf(v) !== -1) {\n m.set(v);\n return;\n }\n if (typeof v != \"string\") {\n m.set(g);\n return;\n }\n for (var w = v.split(\"+\"), k = 0; k < w.length; ) {\n var x = w[k];\n y.flags.indexOf(x) === -1 || w.indexOf(x) < k ? w.splice(k, 1) : k++;\n }\n w.length ? m.set(w.join(\"+\")) : m.set(g);\n }\n },\n any: {\n description: \"Any type.\",\n requiredOpts: [],\n otherOpts: [\"dflt\", \"values\", \"arrayOk\"],\n coerceFunction: function(v, m, g) {\n v === void 0 ? m.set(g) : m.set(\n d(v) ? h(v) : v\n );\n }\n },\n info_array: {\n description: [\n \"An {array} of plot information.\"\n ].join(\" \"),\n requiredOpts: [\"items\"],\n // set `dimensions=2` for a 2D array or '1-2' for either\n // `items` may be a single object instead of an array, in which case\n // `freeLength` must be true.\n // if `dimensions='1-2'` and items is a 1D array, then the value can\n // either be a matching 1D array or an array of such matching 1D arrays\n otherOpts: [\"dflt\", \"freeLength\", \"dimensions\"],\n coerceFunction: function(v, m, g, y) {\n function w(V, z, P) {\n var R, H = { set: function(B) {\n R = B;\n } };\n return P === void 0 && (P = z.dflt), e.valObjectMeta[z.valType].coerceFunction(V, H, P, z), R;\n }\n if (d(v) && (v = h(v)), !f(v)) {\n m.set(g);\n return;\n }\n var k = y.dimensions === 2 || y.dimensions === \"1-2\" && Array.isArray(v) && f(v[0]), x = y.items, _ = [], T = Array.isArray(x), S = T && k && f(x[0]), M = k && T && !S, L = T && !M ? x.length : v.length, F, $, I, O, G, K;\n if (g = Array.isArray(g) ? g : [], k)\n for (F = 0; F < L; F++)\n for (_[F] = [], I = f(v[F]) ? v[F] : [], M ? G = x.length : T ? G = x[F].length : G = I.length, $ = 0; $ < G; $++)\n M ? O = x[$] : T ? O = x[F][$] : O = x, K = w(I[$], O, (g[F] || [])[$]), K !== void 0 && (_[F][$] = K);\n else\n for (F = 0; F < L; F++)\n K = w(v[F], T ? x[F] : x, g[F]), K !== void 0 && (_[F] = K);\n m.set(_);\n },\n validateFunction: function(v, m) {\n if (!f(v)) return !1;\n var g = m.items, y = Array.isArray(g), w = m.dimensions === 2;\n if (!m.freeLength && v.length !== g.length) return !1;\n for (var k = 0; k < v.length; k++)\n if (w) {\n if (!f(v[k]) || !m.freeLength && v[k].length !== g[k].length)\n return !1;\n for (var x = 0; x < v[k].length; x++)\n if (!p(v[k][x], y ? g[k][x] : g))\n return !1;\n } else if (!p(v[k], y ? g[k] : g)) return !1;\n return !0;\n }\n }\n }, e.coerce = function(v, m, g, y, w) {\n var k = l(g, y).get(), x = l(v, y), _ = l(m, y), T = x.get(), S = m._template;\n if (T === void 0 && S && (T = l(S, y).get(), S = 0), w === void 0 && (w = k.dflt), k.arrayOk) {\n if (f(T))\n return _.set(T), T;\n if (d(T))\n return T = h(T), _.set(T), T;\n }\n var M = e.valObjectMeta[k.valType].coerceFunction;\n M(T, _, w, k);\n var L = _.get();\n return S && L === w && !p(T, k) && (T = l(S, y).get(), M(T, _, w, k), L = _.get()), L;\n }, e.coerce2 = function(v, m, g, y, w) {\n var k = l(v, y), x = e.coerce(v, m, g, y, w), _ = k.get();\n return _ != null ? x : !1;\n }, e.coerceFont = function(v, m, g) {\n var y = {};\n return g = g || {}, y.family = v(m + \".family\", g.family), y.size = v(m + \".size\", g.size), y.color = v(m + \".color\", g.color), y;\n }, e.coercePattern = function(v, m, g, y) {\n var w = v(m + \".shape\");\n if (w) {\n v(m + \".solidity\"), v(m + \".size\");\n var k = v(m + \".fillmode\"), x = k === \"overlay\";\n if (!y) {\n var _ = v(\n m + \".bgcolor\",\n x ? g : void 0\n );\n v(\n m + \".fgcolor\",\n x ? i.contrast(_) : g\n );\n }\n v(\n m + \".fgopacity\",\n x ? 0.5 : 1\n );\n }\n }, e.coerceHoverinfo = function(v, m, g) {\n var y = m._module.attributes, w = y.hoverinfo ? y : n, k = w.hoverinfo, x;\n if (g._dataLength === 1) {\n var _ = k.dflt === \"all\" ? k.flags.slice() : k.dflt.split(\"+\");\n _.splice(_.indexOf(\"name\"), 1), x = _.join(\"+\");\n }\n return e.coerce(v, m, w, \"hoverinfo\", x);\n }, e.coerceSelectionMarkerOpacity = function(v, m) {\n if (v.marker) {\n var g = v.marker.opacity;\n if (g !== void 0) {\n var y, w;\n !f(g) && !v.selected && !v.unselected && (y = g, w = o * g), m(\"selected.marker.opacity\", y), m(\"unselected.marker.opacity\", w);\n }\n }\n };\n function p(v, m) {\n var g = e.valObjectMeta[m.valType];\n if (m.arrayOk && f(v)) return !0;\n if (g.validateFunction)\n return g.validateFunction(v, m);\n var y = {}, w = y, k = { set: function(x) {\n w = x;\n } };\n return g.coerceFunction(v, k, y, m), w !== y;\n }\n e.validate = p;\n})(GC);\nvar KC = {}, JC = { exports: {} }, QC = {\n staticPlot: {\n valType: \"boolean\",\n dflt: !1,\n description: [\n \"Determines whether the graphs are interactive or not.\",\n \"If *false*, no interactivity, for export or image generation.\"\n ].join(\" \")\n },\n typesetMath: {\n valType: \"boolean\",\n dflt: !0,\n description: [\n \"Determines whether math should be typeset or not,\",\n \"when MathJax (either v2 or v3) is present on the page.\"\n ].join(\" \")\n },\n plotlyServerURL: {\n valType: \"string\",\n dflt: \"\",\n description: [\n \"When set it determines base URL for\",\n \"the 'Edit in Chart Studio' `showEditInChartStudio`/`showSendToCloud` mode bar button\",\n \"and the showLink/sendData on-graph link.\",\n \"To enable sending your data to Chart Studio Cloud, you need to\",\n \"set both `plotlyServerURL` to 'https://chart-studio.plotly.com' and\",\n \"also set `showSendToCloud` to true.\"\n ].join(\" \")\n },\n editable: {\n valType: \"boolean\",\n dflt: !1,\n description: [\n \"Determines whether the graph is editable or not.\",\n \"Sets all pieces of `edits`\",\n \"unless a separate `edits` config item overrides individual parts.\"\n ].join(\" \")\n },\n edits: {\n annotationPosition: {\n valType: \"boolean\",\n dflt: !1,\n description: [\n \"Determines if the main anchor of the annotation is editable.\",\n \"The main anchor corresponds to the\",\n \"text (if no arrow) or the arrow (which drags the whole thing leaving\",\n \"the arrow length & direction unchanged).\"\n ].join(\" \")\n },\n annotationTail: {\n valType: \"boolean\",\n dflt: !1,\n description: [\n \"Has only an effect for annotations with arrows.\",\n \"Enables changing the length and direction of the arrow.\"\n ].join(\" \")\n },\n annotationText: {\n valType: \"boolean\",\n dflt: !1,\n description: \"Enables editing annotation text.\"\n },\n axisTitleText: {\n valType: \"boolean\",\n dflt: !1,\n description: \"Enables editing axis title text.\"\n },\n colorbarPosition: {\n valType: \"boolean\",\n dflt: !1,\n description: \"Enables moving colorbars.\"\n },\n colorbarTitleText: {\n valType: \"boolean\",\n dflt: !1,\n description: \"Enables editing colorbar title text.\"\n },\n legendPosition: {\n valType: \"boolean\",\n dflt: !1,\n description: \"Enables moving the legend.\"\n },\n legendText: {\n valType: \"boolean\",\n dflt: !1,\n description: \"Enables editing the trace name fields from the legend\"\n },\n shapePosition: {\n valType: \"boolean\",\n dflt: !1,\n description: \"Enables moving shapes.\"\n },\n titleText: {\n valType: \"boolean\",\n dflt: !1,\n description: \"Enables editing the global layout title.\"\n }\n },\n editSelection: {\n valType: \"boolean\",\n dflt: !0,\n description: \"Enables moving selections.\"\n },\n autosizable: {\n valType: \"boolean\",\n dflt: !1,\n description: [\n \"Determines whether the graphs are plotted with respect to\",\n \"layout.autosize:true and infer its container size.\"\n ].join(\" \")\n },\n responsive: {\n valType: \"boolean\",\n dflt: !1,\n description: [\n \"Determines whether to change the layout size when window is resized.\",\n \"In v3, this option will be removed and will always be true.\"\n ].join(\" \")\n },\n fillFrame: {\n valType: \"boolean\",\n dflt: !1,\n description: [\n \"When `layout.autosize` is turned on, determines whether the graph\",\n \"fills the container (the default) or the screen (if set to *true*).\"\n ].join(\" \")\n },\n frameMargins: {\n valType: \"number\",\n dflt: 0,\n min: 0,\n max: 0.5,\n description: [\n \"When `layout.autosize` is turned on, set the frame margins\",\n \"in fraction of the graph size.\"\n ].join(\" \")\n },\n scrollZoom: {\n valType: \"flaglist\",\n flags: [\"cartesian\", \"gl3d\", \"geo\", \"mapbox\"],\n extras: [!0, !1],\n dflt: \"gl3d+geo+mapbox\",\n description: [\n \"Determines whether mouse wheel or two-finger scroll zooms is enable.\",\n \"Turned on by default for gl3d, geo and mapbox subplots\",\n \"(as these subplot types do not have zoombox via pan),\",\n \"but turned off by default for cartesian subplots.\",\n \"Set `scrollZoom` to *false* to disable scrolling for all subplots.\"\n ].join(\" \")\n },\n doubleClick: {\n valType: \"enumerated\",\n values: [!1, \"reset\", \"autosize\", \"reset+autosize\"],\n dflt: \"reset+autosize\",\n description: [\n \"Sets the double click interaction mode.\",\n \"Has an effect only in cartesian plots.\",\n \"If *false*, double click is disable.\",\n \"If *reset*, double click resets the axis ranges to their initial values.\",\n \"If *autosize*, double click set the axis ranges to their autorange values.\",\n \"If *reset+autosize*, the odd double clicks resets the axis ranges\",\n \"to their initial values and even double clicks set the axis ranges\",\n \"to their autorange values.\"\n ].join(\" \")\n },\n doubleClickDelay: {\n valType: \"number\",\n dflt: 300,\n min: 0,\n description: [\n \"Sets the delay for registering a double-click in ms.\",\n \"This is the time interval (in ms) between first mousedown and\",\n \"2nd mouseup to constitute a double-click.\",\n \"This setting propagates to all on-subplot double clicks\",\n \"(except for geo and mapbox) and on-legend double clicks.\"\n ].join(\" \")\n },\n showAxisDragHandles: {\n valType: \"boolean\",\n dflt: !0,\n description: [\n \"Set to *false* to omit cartesian axis pan/zoom drag handles.\"\n ].join(\" \")\n },\n showAxisRangeEntryBoxes: {\n valType: \"boolean\",\n dflt: !0,\n description: [\n \"Set to *false* to omit direct range entry at the pan/zoom drag points,\",\n \"note that `showAxisDragHandles` must be enabled to have an effect.\"\n ].join(\" \")\n },\n showTips: {\n valType: \"boolean\",\n dflt: !0,\n description: [\n \"Determines whether or not tips are shown while interacting\",\n \"with the resulting graphs.\"\n ].join(\" \")\n },\n showLink: {\n valType: \"boolean\",\n dflt: !1,\n description: [\n \"Determines whether a link to Chart Studio Cloud is displayed\",\n \"at the bottom right corner of resulting graphs.\",\n \"Use with `sendData` and `linkText`.\"\n ].join(\" \")\n },\n linkText: {\n valType: \"string\",\n dflt: \"Edit chart\",\n noBlank: !0,\n description: [\n \"Sets the text appearing in the `showLink` link.\"\n ].join(\" \")\n },\n sendData: {\n valType: \"boolean\",\n dflt: !0,\n description: [\n \"If *showLink* is true, does it contain data\",\n \"just link to a Chart Studio Cloud file?\"\n ].join(\" \")\n },\n showSources: {\n valType: \"any\",\n dflt: !1,\n description: [\n \"Adds a source-displaying function to show sources on\",\n \"the resulting graphs.\"\n ].join(\" \")\n },\n displayModeBar: {\n valType: \"enumerated\",\n values: [\"hover\", !0, !1],\n dflt: \"hover\",\n description: [\n \"Determines the mode bar display mode.\",\n \"If *true*, the mode bar is always visible.\",\n \"If *false*, the mode bar is always hidden.\",\n \"If *hover*, the mode bar is visible while the mouse cursor\",\n \"is on the graph container.\"\n ].join(\" \")\n },\n showSendToCloud: {\n valType: \"boolean\",\n dflt: !1,\n description: [\n 'Should we include a ModeBar button, labeled \"Edit in Chart Studio\",',\n \"that sends this chart to chart-studio.plotly.com (formerly plot.ly) or another plotly server\",\n \"as specified by `plotlyServerURL` for editing, export, etc? Prior to version 1.43.0\",\n \"this button was included by default, now it is opt-in using this flag.\",\n \"Note that this button can (depending on `plotlyServerURL` being set) send your data\",\n \"to an external server. However that server does not persist your data\",\n 'until you arrive at the Chart Studio and explicitly click \"Save\".'\n ].join(\" \")\n },\n showEditInChartStudio: {\n valType: \"boolean\",\n dflt: !1,\n description: [\n \"Same as `showSendToCloud`, but use a pencil icon instead of a floppy-disk.\",\n \"Note that if both `showSendToCloud` and `showEditInChartStudio` are turned,\",\n \"only `showEditInChartStudio` will be honored.\"\n ].join(\" \")\n },\n modeBarButtonsToRemove: {\n valType: \"any\",\n dflt: [],\n description: [\n \"Remove mode bar buttons by name.\",\n \"See ./components/modebar/buttons.js for the list of names.\"\n ].join(\" \")\n },\n modeBarButtonsToAdd: {\n valType: \"any\",\n dflt: [],\n description: [\n \"Add mode bar button using config objects\",\n \"See ./components/modebar/buttons.js for list of arguments.\",\n \"To enable predefined modebar buttons e.g. shape drawing, hover and spikelines,\",\n \"simply provide their string name(s). This could include:\",\n \"*v1hovermode*, *hoverclosest*, *hovercompare*, *togglehover*, *togglespikelines*,\",\n \"*drawline*, *drawopenpath*, *drawclosedpath*, *drawcircle*, *drawrect* and *eraseshape*.\",\n \"Please note that these predefined buttons will only be shown if they are compatible\",\n \"with all trace types used in a graph.\"\n ].join(\" \")\n },\n modeBarButtons: {\n valType: \"any\",\n dflt: !1,\n description: [\n \"Define fully custom mode bar buttons as nested array,\",\n \"where the outer arrays represents button groups, and\",\n \"the inner arrays have buttons config objects or names of default buttons\",\n \"See ./components/modebar/buttons.js for more info.\"\n ].join(\" \")\n },\n toImageButtonOptions: {\n valType: \"any\",\n dflt: {},\n description: [\n \"Statically override options for toImage modebar button\",\n \"allowed keys are format, filename, width, height, scale\",\n \"see ../components/modebar/buttons.js\"\n ].join(\" \")\n },\n displaylogo: {\n valType: \"boolean\",\n dflt: !0,\n description: [\n \"Determines whether or not the plotly logo is displayed\",\n \"on the end of the mode bar.\"\n ].join(\" \")\n },\n watermark: {\n valType: \"boolean\",\n dflt: !1,\n description: \"watermark the images with the company's logo\"\n },\n plotGlPixelRatio: {\n valType: \"number\",\n dflt: 2,\n min: 1,\n max: 4,\n description: [\n \"Set the pixel ratio during WebGL image export.\",\n \"This config option was formerly named `plot3dPixelRatio`\",\n \"which is now deprecated.\"\n ].join(\" \")\n },\n setBackground: {\n valType: \"any\",\n dflt: \"transparent\",\n description: [\n \"Set function to add the background color (i.e. `layout.paper_color`)\",\n \"to a different container.\",\n \"This function take the graph div as first argument and the current background\",\n \"color as second argument.\",\n \"Alternatively, set to string *opaque* to ensure there is white behind it.\"\n ].join(\" \")\n },\n topojsonURL: {\n valType: \"string\",\n noBlank: !0,\n dflt: \"https://cdn.plot.ly/\",\n description: [\n \"Set the URL to topojson used in geo charts.\",\n \"By default, the topojson files are fetched from cdn.plot.ly.\",\n \"For example, set this option to:\",\n \"/dist/topojson/\",\n \"to render geographical feature using the topojson files\",\n \"that ship with the plotly.js module.\"\n ].join(\" \")\n },\n mapboxAccessToken: {\n valType: \"string\",\n dflt: null,\n description: [\n \"Mapbox access token (required to plot mapbox trace types)\",\n \"If using an Mapbox Atlas server, set this option to ''\",\n \"so that plotly.js won't attempt to authenticate to the public Mapbox server.\"\n ].join(\" \")\n },\n logging: {\n valType: \"integer\",\n min: 0,\n max: 2,\n dflt: 1,\n description: [\n \"Turn all console logging on or off (errors will be thrown)\",\n \"This should ONLY be set via Plotly.setPlotConfig\",\n \"Available levels:\",\n \"0: no logs\",\n \"1: warnings and errors, but not informational messages\",\n \"2: verbose logs\"\n ].join(\" \")\n },\n notifyOnLogging: {\n valType: \"integer\",\n min: 0,\n max: 2,\n dflt: 0,\n description: [\n \"Set on-graph logging (notifier) level\",\n \"This should ONLY be set via Plotly.setPlotConfig\",\n \"Available levels:\",\n \"0: no on-graph logs\",\n \"1: warnings and errors, but not informational messages\",\n \"2: verbose logs\"\n ].join(\" \")\n },\n queueLength: {\n valType: \"integer\",\n min: 0,\n dflt: 0,\n description: \"Sets the length of the undo/redo queue.\"\n },\n globalTransforms: {\n valType: \"any\",\n dflt: [],\n description: [\n \"Set global transform to be applied to all traces with no\",\n \"specification needed\"\n ].join(\" \")\n },\n locale: {\n valType: \"string\",\n dflt: \"en-US\",\n description: [\n \"Which localization should we use?\",\n \"Should be a string like 'en' or 'en-US'.\"\n ].join(\" \")\n },\n locales: {\n valType: \"any\",\n dflt: {},\n description: [\n \"Localization definitions\",\n \"Locales can be provided either here (specific to one chart) or globally\",\n \"by registering them as modules.\",\n \"Should be an object of objects {locale: {dictionary: {...}, format: {...}}}\",\n \"{\",\n \" da: {\",\n \" dictionary: {'Reset axes': 'Nulstil aksler', ...},\",\n \" format: {months: [...], shortMonths: [...]}\",\n \" },\",\n \" ...\",\n \"}\",\n \"All parts are optional. When looking for translation or format fields, we\",\n \"look first for an exact match in a config locale, then in a registered\",\n \"module. If those fail, we strip off any regionalization ('en-US' -> 'en')\",\n \"and try each (config, registry) again. The final fallback for translation\",\n \"is untranslated (which is US English) and for formats is the base English\",\n \"(the only consequence being the last fallback date format %x is DD/MM/YYYY\",\n \"instead of MM/DD/YYYY). Currently `grouping` and `currency` are ignored\",\n \"for our automatic number formatting, but can be used in custom formats.\"\n ].join(\" \")\n }\n}, eL = {};\nfunction tL(e, t) {\n for (var r in e) {\n var n = e[r];\n n.valType ? t[r] = n.dflt : (t[r] || (t[r] = {}), tL(n, t[r]));\n }\n}\ntL(QC, eL);\nvar Yu = {\n configAttributes: QC,\n dfltConfig: eL\n}, Vm = lr, BU = sr, wf = [], rL = function(e, t) {\n if (wf.indexOf(e) !== -1) return;\n wf.push(e);\n var r = 1e3;\n BU(t) ? r = t : t === \"long\" && (r = 3e3);\n var n = Vm.select(\"body\").selectAll(\".plotly-notifier\").data([0]);\n n.enter().append(\"div\").classed(\"plotly-notifier\", !0);\n var a = n.selectAll(\".notifier-note\").data(wf);\n function i(o) {\n o.duration(700).style(\"opacity\", 0).each(\"end\", function(l) {\n var s = wf.indexOf(l);\n s !== -1 && wf.splice(s, 1), Vm.select(this).remove();\n });\n }\n a.enter().append(\"div\").classed(\"notifier-note\", !0).style(\"opacity\", 0).each(function(o) {\n var l = Vm.select(this);\n l.append(\"button\").classed(\"notifier-close\", !0).html(\"×\").on(\"click\", function() {\n l.transition().call(i);\n });\n for (var s = l.append(\"p\"), u = o.split(//g), f = 0; f < u.length; f++)\n f && s.append(\"br\"), s.append(\"span\").text(u[f]);\n t === \"stick\" ? l.transition().duration(350).style(\"opacity\", 1) : l.transition().duration(700).style(\"opacity\", 1).transition().delay(r).call(i);\n });\n}, Eu = Yu.dfltConfig, W1 = rL, Z1 = JC.exports = {};\nZ1.log = function() {\n var e;\n if (Eu.logging > 1) {\n var t = [\"LOG:\"];\n for (e = 0; e < arguments.length; e++)\n t.push(arguments[e]);\n console.trace.apply(console, t);\n }\n if (Eu.notifyOnLogging > 1) {\n var r = [];\n for (e = 0; e < arguments.length; e++)\n r.push(arguments[e]);\n W1(r.join(\"
\"), \"long\");\n }\n};\nZ1.warn = function() {\n var e;\n if (Eu.logging > 0) {\n var t = [\"WARN:\"];\n for (e = 0; e < arguments.length; e++)\n t.push(arguments[e]);\n console.trace.apply(console, t);\n }\n if (Eu.notifyOnLogging > 0) {\n var r = [];\n for (e = 0; e < arguments.length; e++)\n r.push(arguments[e]);\n W1(r.join(\"
\"), \"stick\");\n }\n};\nZ1.error = function() {\n var e;\n if (Eu.logging > 0) {\n var t = [\"ERROR:\"];\n for (e = 0; e < arguments.length; e++)\n t.push(arguments[e]);\n console.error.apply(console, t);\n }\n if (Eu.notifyOnLogging > 0) {\n var r = [];\n for (e = 0; e < arguments.length; e++)\n r.push(arguments[e]);\n W1(r.join(\"
\"), \"stick\");\n }\n};\nvar Xu = JC.exports, Nt = {}, Y1 = function() {\n}, nL = function(t, r) {\n if (r instanceof RegExp) {\n for (var n = r.toString(), a = 0; a < t.length; a++)\n if (t[a] instanceof RegExp && t[a].toString() === n)\n return t;\n t.push(r);\n } else (r || r === 0) && t.indexOf(r) === -1 && t.push(r);\n return t;\n}, cp = {}, jU = UU;\nfunction UU() {\n var e = new Float32Array(16);\n return e[0] = 1, e[1] = 0, e[2] = 0, e[3] = 0, e[4] = 0, e[5] = 1, e[6] = 0, e[7] = 0, e[8] = 0, e[9] = 0, e[10] = 1, e[11] = 0, e[12] = 0, e[13] = 0, e[14] = 0, e[15] = 1, e;\n}\nvar GU = VU;\nfunction VU(e) {\n var t = new Float32Array(16);\n return t[0] = e[0], t[1] = e[1], t[2] = e[2], t[3] = e[3], t[4] = e[4], t[5] = e[5], t[6] = e[6], t[7] = e[7], t[8] = e[8], t[9] = e[9], t[10] = e[10], t[11] = e[11], t[12] = e[12], t[13] = e[13], t[14] = e[14], t[15] = e[15], t;\n}\nvar qU = WU;\nfunction WU(e, t) {\n return e[0] = t[0], e[1] = t[1], e[2] = t[2], e[3] = t[3], e[4] = t[4], e[5] = t[5], e[6] = t[6], e[7] = t[7], e[8] = t[8], e[9] = t[9], e[10] = t[10], e[11] = t[11], e[12] = t[12], e[13] = t[13], e[14] = t[14], e[15] = t[15], e;\n}\nvar aL = ZU;\nfunction ZU(e) {\n return e[0] = 1, e[1] = 0, e[2] = 0, e[3] = 0, e[4] = 0, e[5] = 1, e[6] = 0, e[7] = 0, e[8] = 0, e[9] = 0, e[10] = 1, e[11] = 0, e[12] = 0, e[13] = 0, e[14] = 0, e[15] = 1, e;\n}\nvar YU = XU;\nfunction XU(e, t) {\n if (e === t) {\n var r = t[1], n = t[2], a = t[3], i = t[6], o = t[7], l = t[11];\n e[1] = t[4], e[2] = t[8], e[3] = t[12], e[4] = r, e[6] = t[9], e[7] = t[13], e[8] = n, e[9] = i, e[11] = t[14], e[12] = a, e[13] = o, e[14] = l;\n } else\n e[0] = t[0], e[1] = t[4], e[2] = t[8], e[3] = t[12], e[4] = t[1], e[5] = t[5], e[6] = t[9], e[7] = t[13], e[8] = t[2], e[9] = t[6], e[10] = t[10], e[11] = t[14], e[12] = t[3], e[13] = t[7], e[14] = t[11], e[15] = t[15];\n return e;\n}\nvar KU = JU;\nfunction JU(e, t) {\n var r = t[0], n = t[1], a = t[2], i = t[3], o = t[4], l = t[5], s = t[6], u = t[7], f = t[8], d = t[9], h = t[10], p = t[11], v = t[12], m = t[13], g = t[14], y = t[15], w = r * l - n * o, k = r * s - a * o, x = r * u - i * o, _ = n * s - a * l, T = n * u - i * l, S = a * u - i * s, M = f * m - d * v, L = f * g - h * v, F = f * y - p * v, $ = d * g - h * m, I = d * y - p * m, O = h * y - p * g, G = w * O - k * I + x * $ + _ * F - T * L + S * M;\n return G ? (G = 1 / G, e[0] = (l * O - s * I + u * $) * G, e[1] = (a * I - n * O - i * $) * G, e[2] = (m * S - g * T + y * _) * G, e[3] = (h * T - d * S - p * _) * G, e[4] = (s * F - o * O - u * L) * G, e[5] = (r * O - a * F + i * L) * G, e[6] = (g * x - v * S - y * k) * G, e[7] = (f * S - h * x + p * k) * G, e[8] = (o * I - l * F + u * M) * G, e[9] = (n * F - r * I - i * M) * G, e[10] = (v * T - m * x + y * w) * G, e[11] = (d * x - f * T - p * w) * G, e[12] = (l * L - o * $ - s * M) * G, e[13] = (r * $ - n * L + a * M) * G, e[14] = (m * k - v * _ - g * w) * G, e[15] = (f * _ - d * k + h * w) * G, e) : null;\n}\nvar QU = eG;\nfunction eG(e, t) {\n var r = t[0], n = t[1], a = t[2], i = t[3], o = t[4], l = t[5], s = t[6], u = t[7], f = t[8], d = t[9], h = t[10], p = t[11], v = t[12], m = t[13], g = t[14], y = t[15];\n return e[0] = l * (h * y - p * g) - d * (s * y - u * g) + m * (s * p - u * h), e[1] = -(n * (h * y - p * g) - d * (a * y - i * g) + m * (a * p - i * h)), e[2] = n * (s * y - u * g) - l * (a * y - i * g) + m * (a * u - i * s), e[3] = -(n * (s * p - u * h) - l * (a * p - i * h) + d * (a * u - i * s)), e[4] = -(o * (h * y - p * g) - f * (s * y - u * g) + v * (s * p - u * h)), e[5] = r * (h * y - p * g) - f * (a * y - i * g) + v * (a * p - i * h), e[6] = -(r * (s * y - u * g) - o * (a * y - i * g) + v * (a * u - i * s)), e[7] = r * (s * p - u * h) - o * (a * p - i * h) + f * (a * u - i * s), e[8] = o * (d * y - p * m) - f * (l * y - u * m) + v * (l * p - u * d), e[9] = -(r * (d * y - p * m) - f * (n * y - i * m) + v * (n * p - i * d)), e[10] = r * (l * y - u * m) - o * (n * y - i * m) + v * (n * u - i * l), e[11] = -(r * (l * p - u * d) - o * (n * p - i * d) + f * (n * u - i * l)), e[12] = -(o * (d * g - h * m) - f * (l * g - s * m) + v * (l * h - s * d)), e[13] = r * (d * g - h * m) - f * (n * g - a * m) + v * (n * h - a * d), e[14] = -(r * (l * g - s * m) - o * (n * g - a * m) + v * (n * s - a * l)), e[15] = r * (l * h - s * d) - o * (n * h - a * d) + f * (n * s - a * l), e;\n}\nvar tG = rG;\nfunction rG(e) {\n var t = e[0], r = e[1], n = e[2], a = e[3], i = e[4], o = e[5], l = e[6], s = e[7], u = e[8], f = e[9], d = e[10], h = e[11], p = e[12], v = e[13], m = e[14], g = e[15], y = t * o - r * i, w = t * l - n * i, k = t * s - a * i, x = r * l - n * o, _ = r * s - a * o, T = n * s - a * l, S = u * v - f * p, M = u * m - d * p, L = u * g - h * p, F = f * m - d * v, $ = f * g - h * v, I = d * g - h * m;\n return y * I - w * $ + k * F + x * L - _ * M + T * S;\n}\nvar nG = aG;\nfunction aG(e, t, r) {\n var n = t[0], a = t[1], i = t[2], o = t[3], l = t[4], s = t[5], u = t[6], f = t[7], d = t[8], h = t[9], p = t[10], v = t[11], m = t[12], g = t[13], y = t[14], w = t[15], k = r[0], x = r[1], _ = r[2], T = r[3];\n return e[0] = k * n + x * l + _ * d + T * m, e[1] = k * a + x * s + _ * h + T * g, e[2] = k * i + x * u + _ * p + T * y, e[3] = k * o + x * f + _ * v + T * w, k = r[4], x = r[5], _ = r[6], T = r[7], e[4] = k * n + x * l + _ * d + T * m, e[5] = k * a + x * s + _ * h + T * g, e[6] = k * i + x * u + _ * p + T * y, e[7] = k * o + x * f + _ * v + T * w, k = r[8], x = r[9], _ = r[10], T = r[11], e[8] = k * n + x * l + _ * d + T * m, e[9] = k * a + x * s + _ * h + T * g, e[10] = k * i + x * u + _ * p + T * y, e[11] = k * o + x * f + _ * v + T * w, k = r[12], x = r[13], _ = r[14], T = r[15], e[12] = k * n + x * l + _ * d + T * m, e[13] = k * a + x * s + _ * h + T * g, e[14] = k * i + x * u + _ * p + T * y, e[15] = k * o + x * f + _ * v + T * w, e;\n}\nvar iG = oG;\nfunction oG(e, t, r) {\n var n = r[0], a = r[1], i = r[2], o, l, s, u, f, d, h, p, v, m, g, y;\n return t === e ? (e[12] = t[0] * n + t[4] * a + t[8] * i + t[12], e[13] = t[1] * n + t[5] * a + t[9] * i + t[13], e[14] = t[2] * n + t[6] * a + t[10] * i + t[14], e[15] = t[3] * n + t[7] * a + t[11] * i + t[15]) : (o = t[0], l = t[1], s = t[2], u = t[3], f = t[4], d = t[5], h = t[6], p = t[7], v = t[8], m = t[9], g = t[10], y = t[11], e[0] = o, e[1] = l, e[2] = s, e[3] = u, e[4] = f, e[5] = d, e[6] = h, e[7] = p, e[8] = v, e[9] = m, e[10] = g, e[11] = y, e[12] = o * n + f * a + v * i + t[12], e[13] = l * n + d * a + m * i + t[13], e[14] = s * n + h * a + g * i + t[14], e[15] = u * n + p * a + y * i + t[15]), e;\n}\nvar lG = sG;\nfunction sG(e, t, r) {\n var n = r[0], a = r[1], i = r[2];\n return e[0] = t[0] * n, e[1] = t[1] * n, e[2] = t[2] * n, e[3] = t[3] * n, e[4] = t[4] * a, e[5] = t[5] * a, e[6] = t[6] * a, e[7] = t[7] * a, e[8] = t[8] * i, e[9] = t[9] * i, e[10] = t[10] * i, e[11] = t[11] * i, e[12] = t[12], e[13] = t[13], e[14] = t[14], e[15] = t[15], e;\n}\nvar uG = fG;\nfunction fG(e, t, r, n) {\n var a = n[0], i = n[1], o = n[2], l = Math.sqrt(a * a + i * i + o * o), s, u, f, d, h, p, v, m, g, y, w, k, x, _, T, S, M, L, F, $, I, O, G, K;\n return Math.abs(l) < 1e-6 ? null : (l = 1 / l, a *= l, i *= l, o *= l, s = Math.sin(r), u = Math.cos(r), f = 1 - u, d = t[0], h = t[1], p = t[2], v = t[3], m = t[4], g = t[5], y = t[6], w = t[7], k = t[8], x = t[9], _ = t[10], T = t[11], S = a * a * f + u, M = i * a * f + o * s, L = o * a * f - i * s, F = a * i * f - o * s, $ = i * i * f + u, I = o * i * f + a * s, O = a * o * f + i * s, G = i * o * f - a * s, K = o * o * f + u, e[0] = d * S + m * M + k * L, e[1] = h * S + g * M + x * L, e[2] = p * S + y * M + _ * L, e[3] = v * S + w * M + T * L, e[4] = d * F + m * $ + k * I, e[5] = h * F + g * $ + x * I, e[6] = p * F + y * $ + _ * I, e[7] = v * F + w * $ + T * I, e[8] = d * O + m * G + k * K, e[9] = h * O + g * G + x * K, e[10] = p * O + y * G + _ * K, e[11] = v * O + w * G + T * K, t !== e && (e[12] = t[12], e[13] = t[13], e[14] = t[14], e[15] = t[15]), e);\n}\nvar cG = dG;\nfunction dG(e, t, r) {\n var n = Math.sin(r), a = Math.cos(r), i = t[4], o = t[5], l = t[6], s = t[7], u = t[8], f = t[9], d = t[10], h = t[11];\n return t !== e && (e[0] = t[0], e[1] = t[1], e[2] = t[2], e[3] = t[3], e[12] = t[12], e[13] = t[13], e[14] = t[14], e[15] = t[15]), e[4] = i * a + u * n, e[5] = o * a + f * n, e[6] = l * a + d * n, e[7] = s * a + h * n, e[8] = u * a - i * n, e[9] = f * a - o * n, e[10] = d * a - l * n, e[11] = h * a - s * n, e;\n}\nvar hG = vG;\nfunction vG(e, t, r) {\n var n = Math.sin(r), a = Math.cos(r), i = t[0], o = t[1], l = t[2], s = t[3], u = t[8], f = t[9], d = t[10], h = t[11];\n return t !== e && (e[4] = t[4], e[5] = t[5], e[6] = t[6], e[7] = t[7], e[12] = t[12], e[13] = t[13], e[14] = t[14], e[15] = t[15]), e[0] = i * a - u * n, e[1] = o * a - f * n, e[2] = l * a - d * n, e[3] = s * a - h * n, e[8] = i * n + u * a, e[9] = o * n + f * a, e[10] = l * n + d * a, e[11] = s * n + h * a, e;\n}\nvar pG = mG;\nfunction mG(e, t, r) {\n var n = Math.sin(r), a = Math.cos(r), i = t[0], o = t[1], l = t[2], s = t[3], u = t[4], f = t[5], d = t[6], h = t[7];\n return t !== e && (e[8] = t[8], e[9] = t[9], e[10] = t[10], e[11] = t[11], e[12] = t[12], e[13] = t[13], e[14] = t[14], e[15] = t[15]), e[0] = i * a + u * n, e[1] = o * a + f * n, e[2] = l * a + d * n, e[3] = s * a + h * n, e[4] = u * a - i * n, e[5] = f * a - o * n, e[6] = d * a - l * n, e[7] = h * a - s * n, e;\n}\nvar gG = yG;\nfunction yG(e, t, r) {\n var n, a, i, o = r[0], l = r[1], s = r[2], u = Math.sqrt(o * o + l * l + s * s);\n return Math.abs(u) < 1e-6 ? null : (u = 1 / u, o *= u, l *= u, s *= u, n = Math.sin(t), a = Math.cos(t), i = 1 - a, e[0] = o * o * i + a, e[1] = l * o * i + s * n, e[2] = s * o * i - l * n, e[3] = 0, e[4] = o * l * i - s * n, e[5] = l * l * i + a, e[6] = s * l * i + o * n, e[7] = 0, e[8] = o * s * i + l * n, e[9] = l * s * i - o * n, e[10] = s * s * i + a, e[11] = 0, e[12] = 0, e[13] = 0, e[14] = 0, e[15] = 1, e);\n}\nvar bG = _G;\nfunction _G(e, t, r) {\n var n = t[0], a = t[1], i = t[2], o = t[3], l = n + n, s = a + a, u = i + i, f = n * l, d = n * s, h = n * u, p = a * s, v = a * u, m = i * u, g = o * l, y = o * s, w = o * u;\n return e[0] = 1 - (p + m), e[1] = d + w, e[2] = h - y, e[3] = 0, e[4] = d - w, e[5] = 1 - (f + m), e[6] = v + g, e[7] = 0, e[8] = h + y, e[9] = v - g, e[10] = 1 - (f + p), e[11] = 0, e[12] = r[0], e[13] = r[1], e[14] = r[2], e[15] = 1, e;\n}\nvar xG = wG;\nfunction wG(e, t) {\n return e[0] = t[0], e[1] = 0, e[2] = 0, e[3] = 0, e[4] = 0, e[5] = t[1], e[6] = 0, e[7] = 0, e[8] = 0, e[9] = 0, e[10] = t[2], e[11] = 0, e[12] = 0, e[13] = 0, e[14] = 0, e[15] = 1, e;\n}\nvar TG = kG;\nfunction kG(e, t) {\n return e[0] = 1, e[1] = 0, e[2] = 0, e[3] = 0, e[4] = 0, e[5] = 1, e[6] = 0, e[7] = 0, e[8] = 0, e[9] = 0, e[10] = 1, e[11] = 0, e[12] = t[0], e[13] = t[1], e[14] = t[2], e[15] = 1, e;\n}\nvar AG = MG;\nfunction MG(e, t) {\n var r = Math.sin(t), n = Math.cos(t);\n return e[0] = 1, e[1] = 0, e[2] = 0, e[3] = 0, e[4] = 0, e[5] = n, e[6] = r, e[7] = 0, e[8] = 0, e[9] = -r, e[10] = n, e[11] = 0, e[12] = 0, e[13] = 0, e[14] = 0, e[15] = 1, e;\n}\nvar SG = CG;\nfunction CG(e, t) {\n var r = Math.sin(t), n = Math.cos(t);\n return e[0] = n, e[1] = 0, e[2] = -r, e[3] = 0, e[4] = 0, e[5] = 1, e[6] = 0, e[7] = 0, e[8] = r, e[9] = 0, e[10] = n, e[11] = 0, e[12] = 0, e[13] = 0, e[14] = 0, e[15] = 1, e;\n}\nvar LG = DG;\nfunction DG(e, t) {\n var r = Math.sin(t), n = Math.cos(t);\n return e[0] = n, e[1] = r, e[2] = 0, e[3] = 0, e[4] = -r, e[5] = n, e[6] = 0, e[7] = 0, e[8] = 0, e[9] = 0, e[10] = 1, e[11] = 0, e[12] = 0, e[13] = 0, e[14] = 0, e[15] = 1, e;\n}\nvar iL = EG;\nfunction EG(e, t) {\n var r = t[0], n = t[1], a = t[2], i = t[3], o = r + r, l = n + n, s = a + a, u = r * o, f = n * o, d = n * l, h = a * o, p = a * l, v = a * s, m = i * o, g = i * l, y = i * s;\n return e[0] = 1 - d - v, e[1] = f + y, e[2] = h - g, e[3] = 0, e[4] = f - y, e[5] = 1 - u - v, e[6] = p + m, e[7] = 0, e[8] = h + g, e[9] = p - m, e[10] = 1 - u - d, e[11] = 0, e[12] = 0, e[13] = 0, e[14] = 0, e[15] = 1, e;\n}\nvar FG = RG;\nfunction RG(e, t, r, n, a, i, o) {\n var l = 1 / (r - t), s = 1 / (a - n), u = 1 / (i - o);\n return e[0] = i * 2 * l, e[1] = 0, e[2] = 0, e[3] = 0, e[4] = 0, e[5] = i * 2 * s, e[6] = 0, e[7] = 0, e[8] = (r + t) * l, e[9] = (a + n) * s, e[10] = (o + i) * u, e[11] = -1, e[12] = 0, e[13] = 0, e[14] = o * i * 2 * u, e[15] = 0, e;\n}\nvar PG = $G;\nfunction $G(e, t, r, n, a) {\n var i = 1 / Math.tan(t / 2), o = 1 / (n - a);\n return e[0] = i / r, e[1] = 0, e[2] = 0, e[3] = 0, e[4] = 0, e[5] = i, e[6] = 0, e[7] = 0, e[8] = 0, e[9] = 0, e[10] = (a + n) * o, e[11] = -1, e[12] = 0, e[13] = 0, e[14] = 2 * a * n * o, e[15] = 0, e;\n}\nvar zG = IG;\nfunction IG(e, t, r, n) {\n var a = Math.tan(t.upDegrees * Math.PI / 180), i = Math.tan(t.downDegrees * Math.PI / 180), o = Math.tan(t.leftDegrees * Math.PI / 180), l = Math.tan(t.rightDegrees * Math.PI / 180), s = 2 / (o + l), u = 2 / (a + i);\n return e[0] = s, e[1] = 0, e[2] = 0, e[3] = 0, e[4] = 0, e[5] = u, e[6] = 0, e[7] = 0, e[8] = -((o - l) * s * 0.5), e[9] = (a - i) * u * 0.5, e[10] = n / (r - n), e[11] = -1, e[12] = 0, e[13] = 0, e[14] = n * r / (r - n), e[15] = 0, e;\n}\nvar NG = OG;\nfunction OG(e, t, r, n, a, i, o) {\n var l = 1 / (t - r), s = 1 / (n - a), u = 1 / (i - o);\n return e[0] = -2 * l, e[1] = 0, e[2] = 0, e[3] = 0, e[4] = 0, e[5] = -2 * s, e[6] = 0, e[7] = 0, e[8] = 0, e[9] = 0, e[10] = 2 * u, e[11] = 0, e[12] = (t + r) * l, e[13] = (a + n) * s, e[14] = (o + i) * u, e[15] = 1, e;\n}\nvar HG = aL, BG = jG;\nfunction jG(e, t, r, n) {\n var a, i, o, l, s, u, f, d, h, p, v = t[0], m = t[1], g = t[2], y = n[0], w = n[1], k = n[2], x = r[0], _ = r[1], T = r[2];\n return Math.abs(v - x) < 1e-6 && Math.abs(m - _) < 1e-6 && Math.abs(g - T) < 1e-6 ? HG(e) : (f = v - x, d = m - _, h = g - T, p = 1 / Math.sqrt(f * f + d * d + h * h), f *= p, d *= p, h *= p, a = w * h - k * d, i = k * f - y * h, o = y * d - w * f, p = Math.sqrt(a * a + i * i + o * o), p ? (p = 1 / p, a *= p, i *= p, o *= p) : (a = 0, i = 0, o = 0), l = d * o - h * i, s = h * a - f * o, u = f * i - d * a, p = Math.sqrt(l * l + s * s + u * u), p ? (p = 1 / p, l *= p, s *= p, u *= p) : (l = 0, s = 0, u = 0), e[0] = a, e[1] = l, e[2] = f, e[3] = 0, e[4] = i, e[5] = s, e[6] = d, e[7] = 0, e[8] = o, e[9] = u, e[10] = h, e[11] = 0, e[12] = -(a * v + i * m + o * g), e[13] = -(l * v + s * m + u * g), e[14] = -(f * v + d * m + h * g), e[15] = 1, e);\n}\nvar UG = GG;\nfunction GG(e) {\n return \"mat4(\" + e[0] + \", \" + e[1] + \", \" + e[2] + \", \" + e[3] + \", \" + e[4] + \", \" + e[5] + \", \" + e[6] + \", \" + e[7] + \", \" + e[8] + \", \" + e[9] + \", \" + e[10] + \", \" + e[11] + \", \" + e[12] + \", \" + e[13] + \", \" + e[14] + \", \" + e[15] + \")\";\n}\nvar oL = {\n create: jU,\n clone: GU,\n copy: qU,\n identity: aL,\n transpose: YU,\n invert: KU,\n adjoint: QU,\n determinant: tG,\n multiply: nG,\n translate: iG,\n scale: lG,\n rotate: uG,\n rotateX: cG,\n rotateY: hG,\n rotateZ: pG,\n fromRotation: gG,\n fromRotationTranslation: bG,\n fromScaling: xG,\n fromTranslation: TG,\n fromXRotation: AG,\n fromYRotation: SG,\n fromZRotation: LG,\n fromQuat: iL,\n frustum: FG,\n perspective: PG,\n perspectiveFromFieldOfView: zG,\n ortho: NG,\n lookAt: BG,\n str: UG\n};\n(function(e) {\n var t = oL;\n e.init2dArray = function(r, n) {\n for (var a = new Array(r), i = 0; i < r; i++) a[i] = new Array(n);\n return a;\n }, e.transposeRagged = function(r) {\n var n = 0, a = r.length, i, o;\n for (i = 0; i < a; i++) n = Math.max(n, r[i].length);\n var l = new Array(n);\n for (i = 0; i < n; i++)\n for (l[i] = new Array(a), o = 0; o < a; o++) l[i][o] = r[o][i];\n return l;\n }, e.dot = function(r, n) {\n if (!(r.length && n.length) || r.length !== n.length) return null;\n var a = r.length, i, o;\n if (r[0].length)\n for (i = new Array(a), o = 0; o < a; o++) i[o] = e.dot(r[o], n);\n else if (n[0].length) {\n var l = e.transposeRagged(n);\n for (i = new Array(l.length), o = 0; o < l.length; o++) i[o] = e.dot(r, l[o]);\n } else\n for (i = 0, o = 0; o < a; o++) i += r[o] * n[o];\n return i;\n }, e.translationMatrix = function(r, n) {\n return [[1, 0, r], [0, 1, n], [0, 0, 1]];\n }, e.rotationMatrix = function(r) {\n var n = r * Math.PI / 180;\n return [\n [Math.cos(n), -Math.sin(n), 0],\n [Math.sin(n), Math.cos(n), 0],\n [0, 0, 1]\n ];\n }, e.rotationXYMatrix = function(r, n, a) {\n return e.dot(\n e.dot(\n e.translationMatrix(n, a),\n e.rotationMatrix(r)\n ),\n e.translationMatrix(-n, -a)\n );\n }, e.apply3DTransform = function(r) {\n return function() {\n var n = arguments, a = arguments.length === 1 ? n[0] : [n[0], n[1], n[2] || 0];\n return e.dot(r, [a[0], a[1], a[2], 1]).slice(0, 3);\n };\n }, e.apply2DTransform = function(r) {\n return function() {\n var n = arguments;\n n.length === 3 && (n = n[0]);\n var a = arguments.length === 1 ? n[0] : [n[0], n[1]];\n return e.dot(r, [a[0], a[1], 1]).slice(0, 2);\n };\n }, e.apply2DTransform2 = function(r) {\n var n = e.apply2DTransform(r);\n return function(a) {\n return n(a.slice(0, 2)).concat(n(a.slice(2, 4)));\n };\n }, e.convertCssMatrix = function(r) {\n if (r) {\n var n = r.length;\n if (n === 16) return r;\n if (n === 6)\n return [\n r[0],\n r[1],\n 0,\n 0,\n r[2],\n r[3],\n 0,\n 0,\n 0,\n 0,\n 1,\n 0,\n r[4],\n r[5],\n 0,\n 1\n ];\n }\n return [\n 1,\n 0,\n 0,\n 0,\n 0,\n 1,\n 0,\n 0,\n 0,\n 0,\n 1,\n 0,\n 0,\n 0,\n 0,\n 1\n ];\n }, e.inverseTransformMatrix = function(r) {\n var n = [];\n return t.invert(n, r), [\n [n[0], n[1], n[2], n[3]],\n [n[4], n[5], n[6], n[7]],\n [n[8], n[9], n[10], n[11]],\n [n[12], n[13], n[14], n[15]]\n ];\n };\n})(cp);\nvar VG = lr, qG = Xu, WG = cp, ZG = oL;\nfunction YG(e) {\n var t;\n if (typeof e == \"string\") {\n if (t = document.getElementById(e), t === null)\n throw new Error(\"No DOM element with id '\" + e + \"' exists on the page.\");\n return t;\n } else if (e == null)\n throw new Error(\"DOM element provided is null or undefined\");\n return e;\n}\nfunction XG(e) {\n var t = VG.select(e);\n return t.node() instanceof HTMLElement && t.size() && t.classed(\"js-plotly-plot\");\n}\nfunction lL(e) {\n var t = e && e.parentNode;\n t && t.removeChild(e);\n}\nfunction KG(e, t) {\n sL(\"global\", e, t);\n}\nfunction sL(e, t, r) {\n var n = \"plotly.js-style-\" + e, a = document.getElementById(n);\n a || (a = document.createElement(\"style\"), a.setAttribute(\"id\", n), a.appendChild(document.createTextNode(\"\")), document.head.appendChild(a));\n var i = a.sheet;\n i.insertRule ? i.insertRule(t + \"{\" + r + \"}\", 0) : i.addRule ? i.addRule(t, r, 0) : qG.warn(\"addStyleRule failed\");\n}\nfunction JG(e) {\n var t = \"plotly.js-style-\" + e, r = document.getElementById(t);\n r && lL(r);\n}\nfunction QG(e) {\n var t = fL(e), r = [\n 1,\n 0,\n 0,\n 0,\n 0,\n 1,\n 0,\n 0,\n 0,\n 0,\n 1,\n 0,\n 0,\n 0,\n 0,\n 1\n ];\n return t.forEach(function(n) {\n var a = uL(n);\n if (a) {\n var i = WG.convertCssMatrix(a);\n r = ZG.multiply(r, r, i);\n }\n }), r;\n}\nfunction uL(e) {\n var t = window.getComputedStyle(e, null), r = t.getPropertyValue(\"-webkit-transform\") || t.getPropertyValue(\"-moz-transform\") || t.getPropertyValue(\"-ms-transform\") || t.getPropertyValue(\"-o-transform\") || t.getPropertyValue(\"transform\");\n return r === \"none\" ? null : r.replace(\"matrix\", \"\").replace(\"3d\", \"\").slice(1, -1).split(\",\").map(function(n) {\n return +n;\n });\n}\nfunction fL(e) {\n for (var t = []; eV(e); )\n t.push(e), e = e.parentNode;\n return t;\n}\nfunction eV(e) {\n return e && (e instanceof Element || e instanceof HTMLElement);\n}\nfunction tV(e, t) {\n return e && t && e.top === t.top && e.left === t.left && e.right === t.right && e.bottom === t.bottom;\n}\nvar dp = {\n getGraphDiv: YG,\n isPlotDiv: XG,\n removeElement: lL,\n addStyleRule: KG,\n addRelatedStyleRule: sL,\n deleteRelatedStyleRule: JG,\n getFullTransformMatrix: QG,\n getElementTransformMatrix: uL,\n getElementAndAncestors: fL,\n equalDomRects: tV\n}, hp = {\n mode: {\n valType: \"enumerated\",\n dflt: \"afterall\",\n values: [\"immediate\", \"next\", \"afterall\"],\n description: [\n \"Describes how a new animate call interacts with currently-running\",\n \"animations. If `immediate`, current animations are interrupted and\",\n \"the new animation is started. If `next`, the current frame is allowed\",\n \"to complete, after which the new animation is started. If `afterall`\",\n \"all existing frames are animated to completion before the new animation\",\n \"is started.\"\n ].join(\" \")\n },\n direction: {\n valType: \"enumerated\",\n values: [\"forward\", \"reverse\"],\n dflt: \"forward\",\n description: [\n \"The direction in which to play the frames triggered by the animation call\"\n ].join(\" \")\n },\n fromcurrent: {\n valType: \"boolean\",\n dflt: !1,\n description: [\n \"Play frames starting at the current frame instead of the beginning.\"\n ].join(\" \")\n },\n frame: {\n duration: {\n valType: \"number\",\n min: 0,\n dflt: 500,\n description: [\n \"The duration in milliseconds of each frame. If greater than the frame\",\n \"duration, it will be limited to the frame duration.\"\n ].join(\" \")\n },\n redraw: {\n valType: \"boolean\",\n dflt: !0,\n description: [\n \"Redraw the plot at completion of the transition. This is desirable\",\n \"for transitions that include properties that cannot be transitioned,\",\n \"but may significantly slow down updates that do not require a full\",\n \"redraw of the plot\"\n ].join(\" \")\n }\n },\n transition: {\n duration: {\n valType: \"number\",\n min: 0,\n dflt: 500,\n editType: \"none\",\n description: [\n \"The duration of the transition, in milliseconds. If equal to zero,\",\n \"updates are synchronous.\"\n ].join(\" \")\n },\n easing: {\n valType: \"enumerated\",\n dflt: \"cubic-in-out\",\n values: [\n \"linear\",\n \"quad\",\n \"cubic\",\n \"sin\",\n \"exp\",\n \"circle\",\n \"elastic\",\n \"back\",\n \"bounce\",\n \"linear-in\",\n \"quad-in\",\n \"cubic-in\",\n \"sin-in\",\n \"exp-in\",\n \"circle-in\",\n \"elastic-in\",\n \"back-in\",\n \"bounce-in\",\n \"linear-out\",\n \"quad-out\",\n \"cubic-out\",\n \"sin-out\",\n \"exp-out\",\n \"circle-out\",\n \"elastic-out\",\n \"back-out\",\n \"bounce-out\",\n \"linear-in-out\",\n \"quad-in-out\",\n \"cubic-in-out\",\n \"sin-in-out\",\n \"exp-in-out\",\n \"circle-in-out\",\n \"elastic-in-out\",\n \"back-in-out\",\n \"bounce-in-out\"\n ],\n editType: \"none\",\n description: \"The easing function used for the transition\"\n },\n ordering: {\n valType: \"enumerated\",\n values: [\"layout first\", \"traces first\"],\n dflt: \"layout first\",\n editType: \"none\",\n description: [\n \"Determines whether the figure's layout or traces smoothly transitions\",\n \"during updates that make both traces and layout change.\"\n ].join(\" \")\n }\n }\n}, cL = en.extendFlat, rV = ms, dL = {\n valType: \"flaglist\",\n extras: [\"none\"],\n flags: [\"calc\", \"clearAxisTypes\", \"plot\", \"style\", \"markerSize\", \"colorbars\"],\n description: [\n \"trace attributes should include an `editType` string matching this flaglist.\",\n \"*calc* is the most extensive: a full (re)plot starting by clearing `gd.calcdata`\",\n \"to force it to be regenerated\",\n \"*clearAxisTypes* resets the types of the axes this trace is on, because new data could\",\n \"cause the automatic axis type detection to change. Log type will not be cleared, as that\",\n \"is never automatically chosen so must have been user-specified.\",\n \"*plot* (re)plots but without first clearing `gd.calcdata`.\",\n \"*style* only calls `module.style` (or module.editStyle) for all trace modules and redraws the legend.\",\n \"*markerSize* is like *style*, but propagate axis-range changes due to scatter `marker.size`\",\n \"*colorbars* only redraws colorbars.\"\n ].join(\" \")\n}, hL = {\n valType: \"flaglist\",\n extras: [\"none\"],\n flags: [\n \"calc\",\n \"plot\",\n \"legend\",\n \"ticks\",\n \"axrange\",\n \"layoutstyle\",\n \"modebar\",\n \"camera\",\n \"arraydraw\",\n \"colorbars\"\n ],\n description: [\n \"layout attributes should include an `editType` string matching this flaglist.\",\n \"*calc* is the most extensive: a full (re)plot starting by clearing `gd.calcdata`\",\n \"to force it to be regenerated\",\n \"*plot* (re)plots but without first clearing `gd.calcdata`.\",\n \"*legend* only redraws the legend.\",\n \"*ticks* only redraws axis ticks, labels, and gridlines.\",\n \"*axrange* minimal sequence when updating axis ranges.\",\n \"*layoutstyle* reapplies global and SVG cartesian axis styles.\",\n \"*modebar* just updates the modebar.\",\n \"*camera* just updates the camera settings for gl3d scenes.\",\n \"*arraydraw* allows component arrays to invoke the redraw routines just for the\",\n \"component(s) that changed.\",\n \"*colorbars* only redraws colorbars.\"\n ].join(\" \")\n}, nV = dL.flags.slice().concat([\"fullReplot\"]), aV = hL.flags.slice().concat(\"layoutReplot\"), Lo = {\n traces: dL,\n layout: hL,\n /*\n * default (all false) edit flags for restyle (traces)\n * creates a new object each call, so the caller can mutate freely\n */\n traceFlags: function() {\n return x2(nV);\n },\n /*\n * default (all false) edit flags for relayout\n * creates a new object each call, so the caller can mutate freely\n */\n layoutFlags: function() {\n return x2(aV);\n },\n /*\n * update `flags` with the `editType` values found in `attr`\n */\n update: function(e, t) {\n var r = t.editType;\n if (r && r !== \"none\")\n for (var n = r.split(\"+\"), a = 0; a < n.length; a++)\n e[n[a]] = !0;\n },\n overrideAll: vL\n};\nfunction x2(e) {\n for (var t = {}, r = 0; r < e.length; r++) t[e[r]] = !1;\n return t;\n}\nfunction vL(e, t, r) {\n var n = cL({}, e);\n for (var a in n) {\n var i = n[a];\n rV(i) && (n[a] = pL(i, t, r, a));\n }\n return r === \"from-root\" && (n.editType = t), n;\n}\nfunction pL(e, t, r, n) {\n if (e.valType) {\n var a = cL({}, e);\n if (a.editType = t, Array.isArray(e.items)) {\n a.items = new Array(e.items.length);\n for (var i = 0; i < e.items.length; i++)\n a.items[i] = pL(e.items[i], t);\n }\n return a;\n } else\n return vL(\n e,\n t,\n n.charAt(0) === \"_\" ? \"nested\" : \"from-root\"\n );\n}\nvar Zi = {};\nZi.dash = {\n valType: \"string\",\n // string type usually doesn't take values... this one should really be\n // a special type or at least a special coercion function, from the GUI\n // you only get these values but elsewhere the user can supply a list of\n // dash lengths in px, and it will be honored\n values: [\"solid\", \"dot\", \"dash\", \"longdash\", \"dashdot\", \"longdashdot\"],\n dflt: \"solid\",\n editType: \"style\",\n description: [\n \"Sets the dash style of lines. Set to a dash type string\",\n \"(*solid*, *dot*, *dash*, *longdash*, *dashdot*, or *longdashdot*)\",\n \"or a dash length list in px (eg *5px,10px,2px,2px*).\"\n ].join(\" \")\n};\nZi.pattern = {\n shape: {\n valType: \"enumerated\",\n values: [\"\", \"/\", \"\\\\\", \"x\", \"-\", \"|\", \"+\", \".\"],\n dflt: \"\",\n arrayOk: !0,\n editType: \"style\",\n description: [\n \"Sets the shape of the pattern fill.\",\n \"By default, no pattern is used for filling the area.\"\n ].join(\" \")\n },\n fillmode: {\n valType: \"enumerated\",\n values: [\"replace\", \"overlay\"],\n dflt: \"replace\",\n editType: \"style\",\n description: [\n \"Determines whether `marker.color` should be used\",\n \"as a default to `bgcolor` or a `fgcolor`.\"\n ].join(\" \")\n },\n bgcolor: {\n valType: \"color\",\n arrayOk: !0,\n editType: \"style\",\n description: [\n \"When there is no colorscale sets the color of background pattern fill.\",\n \"Defaults to a `marker.color` background when `fillmode` is *overlay*.\",\n \"Otherwise, defaults to a transparent background.\"\n ].join(\" \")\n },\n fgcolor: {\n valType: \"color\",\n arrayOk: !0,\n editType: \"style\",\n description: [\n \"When there is no colorscale sets the color of foreground pattern fill.\",\n \"Defaults to a `marker.color` background when `fillmode` is *replace*.\",\n \"Otherwise, defaults to dark grey or white\",\n \"to increase contrast with the `bgcolor`.\"\n ].join(\" \")\n },\n fgopacity: {\n valType: \"number\",\n editType: \"style\",\n min: 0,\n max: 1,\n description: [\n \"Sets the opacity of the foreground pattern fill.\",\n \"Defaults to a 0.5 when `fillmode` is *overlay*.\",\n \"Otherwise, defaults to 1.\"\n ].join(\" \")\n },\n size: {\n valType: \"number\",\n min: 0,\n dflt: 8,\n arrayOk: !0,\n editType: \"style\",\n description: [\n \"Sets the size of unit squares of the pattern fill in pixels,\",\n \"which corresponds to the interval of repetition of the pattern.\"\n ].join(\" \")\n },\n solidity: {\n valType: \"number\",\n min: 0,\n max: 1,\n dflt: 0.3,\n arrayOk: !0,\n editType: \"style\",\n description: [\n \"Sets the solidity of the pattern fill.\",\n \"Solidity is roughly the fraction of the area filled by the pattern.\",\n \"Solidity of 0 shows only the background color without pattern\",\n \"and solidty of 1 shows only the foreground color without pattern.\"\n ].join(\" \")\n },\n editType: \"style\",\n description: [\n \"Sets the pattern within the marker.\"\n ].join(\" \")\n};\nvar _i = {}, mL = {\n FORMAT_LINK: \"https://github.com/d3/d3-format/tree/v1.4.5#d3-format\",\n DATE_FORMAT_LINK: \"https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format\"\n}, gL = mL, yL = gL.FORMAT_LINK, bL = gL.DATE_FORMAT_LINK;\nfunction _L(e) {\n var t = e && e.supportOther;\n return [\n \"Variables are inserted using %{variable},\",\n 'for example \"y: %{y}\"' + (t ? \" as well as %{xother}, {%_xother}, {%_xother_}, {%xother_}. When showing info for several points, *xother* will be added to those with different x positions from the first point. An underscore before or after *(x|y)other* will add a space on that side, only when this field is shown.\" : \".\"),\n `Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{y:$.2f}\".`,\n yL,\n \"for details on the formatting syntax.\",\n `Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{2019-01-01|%A}\".`,\n bL,\n \"for details on the date formatting syntax.\"\n ].join(\" \");\n}\nfunction iV() {\n return [\n \"Variables are inserted using %{variable},\",\n 'for example \"x0: %{x0}\".',\n `Numbers are formatted using d3-format's syntax %{variable:d3-format}, for example \"Price: %{x0:$.2f}\". See`,\n yL,\n \"for details on the formatting syntax.\",\n `Dates are formatted using d3-time-format's syntax %{variable|d3-time-format}, for example \"Day: %{x0|%m %b %Y}\". See`,\n bL,\n \"for details on the date formatting syntax.\",\n \"A single multiplication or division operation may be applied to numeric variables, and combined with\",\n 'd3 number formatting, for example \"Length in cm: %{x0*2.54}\", \"%{slope*60:.1f} meters per second.\"',\n \"For log axes, variable values are given in log units.\",\n \"For date axes, x/y coordinate variables and center variables use datetimes, while all other variable values use values in ms.\"\n ].join(\" \");\n}\nfunction X1(e) {\n var t = e.description ? \" \" + e.description : \"\", r = e.keys || [];\n if (r.length > 0) {\n for (var n = [], a = 0; a < r.length; a++)\n n[a] = \"`\" + r[a] + \"`\";\n t = t + \"Finally, the template string has access to \", r.length === 1 ? t = t + \"variable \" + n[0] : t = t + \"variables \" + n.slice(0, -1).join(\", \") + \" and \" + n.slice(-1) + \".\";\n }\n return t;\n}\n_i.hovertemplateAttrs = function(e, t) {\n e = e || {}, t = t || {};\n var r = X1(t), n = {\n valType: \"string\",\n dflt: \"\",\n editType: e.editType || \"none\",\n description: [\n \"Template string used for rendering the information that appear on hover box.\",\n \"Note that this will override `hoverinfo`.\",\n _L({ supportOther: !0 }),\n \"The variables available in `hovertemplate` are the ones emitted as event data described at this link https://plotly.com/javascript/plotlyjs-events/#event-data.\",\n \"Additionally, every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available.\",\n r,\n 'Anything contained in tag `` is displayed in the secondary box, for example \"{fullData.name}\".',\n \"To hide the secondary box completely, use an empty tag ``.\"\n ].join(\" \")\n };\n return e.arrayOk !== !1 && (n.arrayOk = !0), n;\n};\n_i.texttemplateAttrs = function(e, t) {\n e = e || {}, t = t || {};\n var r = X1(t), n = {\n valType: \"string\",\n dflt: \"\",\n editType: e.editType || \"calc\",\n description: [\n \"Template string used for rendering the information text that appear on points.\",\n \"Note that this will override `textinfo`.\",\n _L(),\n \"Every attributes that can be specified per-point (the ones that are `arrayOk: true`) are available.\",\n r\n ].join(\" \")\n };\n return e.arrayOk !== !1 && (n.arrayOk = !0), n;\n};\n_i.shapeTexttemplateAttrs = function(e, t) {\n e = e || {}, t = t || {};\n var r = e.newshape ? \"new \" : \"\", n = X1(t), a = {\n valType: \"string\",\n dflt: \"\",\n editType: e.editType || \"arraydraw\",\n description: [\n \"Template string used for rendering the \" + r + \"shape's label.\",\n \"Note that this will override `text`.\",\n iV(),\n n\n ].join(\" \")\n };\n return a;\n};\nfunction fl(e, t) {\n return t ? t.d2l(e) : e;\n}\nfunction xL(e, t) {\n return t ? t.l2d(e) : e;\n}\nfunction oV(e) {\n return e.x0;\n}\nfunction lV(e) {\n return e.x1;\n}\nfunction sV(e) {\n return e.y0;\n}\nfunction uV(e) {\n return e.y1;\n}\nfunction vp(e, t) {\n return fl(e.x1, t) - fl(e.x0, t);\n}\nfunction pp(e, t, r) {\n return fl(e.y1, r) - fl(e.y0, r);\n}\nfunction fV(e, t) {\n return Math.abs(vp(e, t));\n}\nfunction cV(e, t, r) {\n return Math.abs(pp(e, t, r));\n}\nfunction dV(e, t, r) {\n return e.type !== \"line\" ? void 0 : Math.sqrt(\n Math.pow(vp(e, t), 2) + Math.pow(pp(e, t, r), 2)\n );\n}\nfunction hV(e, t) {\n return xL((fl(e.x1, t) + fl(e.x0, t)) / 2, t);\n}\nfunction vV(e, t, r) {\n return xL((fl(e.y1, r) + fl(e.y0, r)) / 2, r);\n}\nfunction pV(e, t, r) {\n return e.type !== \"line\" ? void 0 : pp(e, t, r) / vp(e, t);\n}\nvar K1 = {\n x0: oV,\n x1: lV,\n y0: sV,\n y1: uV,\n slope: pV,\n dx: vp,\n dy: pp,\n width: fV,\n height: cV,\n length: dV,\n xcenter: hV,\n ycenter: vV\n}, mV = Lo.overrideAll, Dl = Wi, w2 = Fn, gV = Zi.dash, zo = en.extendFlat, yV = _i.shapeTexttemplateAttrs, bV = K1, _V = mV({\n newshape: {\n visible: zo({}, Dl.visible, {\n description: [\n \"Determines whether or not new shape is visible.\",\n \"If *legendonly*, the shape is not drawn,\",\n \"but can appear as a legend item\",\n \"(provided that the legend itself is visible).\"\n ].join(\" \")\n }),\n showlegend: {\n valType: \"boolean\",\n dflt: !1,\n description: [\n \"Determines whether or not new\",\n \"shape is shown in the legend.\"\n ].join(\" \")\n },\n legend: zo({}, Dl.legend, {\n description: [\n \"Sets the reference to a legend to show new shape in.\",\n \"References to these legends are *legend*, *legend2*, *legend3*, etc.\",\n \"Settings for these legends are set in the layout, under\",\n \"`layout.legend`, `layout.legend2`, etc.\"\n ].join(\" \")\n }),\n legendgroup: zo({}, Dl.legendgroup, {\n description: [\n \"Sets the legend group for new shape.\",\n \"Traces and shapes part of the same legend group hide/show at the same time\",\n \"when toggling legend items.\"\n ].join(\" \")\n }),\n legendgrouptitle: {\n text: zo({}, Dl.legendgrouptitle.text, {}),\n font: w2({\n description: [\n \"Sets this legend group's title font.\"\n ].join(\" \")\n })\n },\n legendrank: zo({}, Dl.legendrank, {\n description: [\n \"Sets the legend rank for new shape.\",\n \"Items and groups with smaller ranks are presented on top/left side while\",\n \"with *reversed* `legend.traceorder` they are on bottom/right side.\",\n \"The default legendrank is 1000,\",\n \"so that you can use ranks less than 1000 to place certain items before all unranked items,\",\n \"and ranks greater than 1000 to go after all unranked items.\"\n ].join(\" \")\n }),\n legendwidth: zo({}, Dl.legendwidth, {\n description: \"Sets the width (in px or fraction) of the legend for new shape.\"\n }),\n line: {\n color: {\n valType: \"color\",\n description: [\n \"Sets the line color.\",\n \"By default uses either dark grey or white\",\n \"to increase contrast with background color.\"\n ].join(\" \")\n },\n width: {\n valType: \"number\",\n min: 0,\n dflt: 4,\n description: \"Sets the line width (in px).\"\n },\n dash: zo({}, gV, {\n dflt: \"solid\"\n })\n },\n fillcolor: {\n valType: \"color\",\n dflt: \"rgba(0,0,0,0)\",\n description: [\n \"Sets the color filling new shapes' interior.\",\n \"Please note that if using a fillcolor with alpha greater than half,\",\n \"drag inside the active shape starts moving the shape underneath,\",\n \"otherwise a new shape could be started over.\"\n ].join(\" \")\n },\n fillrule: {\n valType: \"enumerated\",\n values: [\"evenodd\", \"nonzero\"],\n dflt: \"evenodd\",\n description: [\n \"Determines the path's interior.\",\n \"For more info please visit https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/fill-rule\"\n ].join(\" \")\n },\n opacity: {\n valType: \"number\",\n min: 0,\n max: 1,\n dflt: 1,\n description: \"Sets the opacity of new shapes.\"\n },\n layer: {\n valType: \"enumerated\",\n values: [\"below\", \"above\"],\n dflt: \"above\",\n description: \"Specifies whether new shapes are drawn below or above traces.\"\n },\n drawdirection: {\n valType: \"enumerated\",\n values: [\"ortho\", \"horizontal\", \"vertical\", \"diagonal\"],\n dflt: \"diagonal\",\n description: [\n \"When `dragmode` is set to *drawrect*, *drawline* or *drawcircle*\",\n \"this limits the drag to be horizontal, vertical or diagonal.\",\n \"Using *diagonal* there is no limit e.g. in drawing lines in any direction.\",\n \"*ortho* limits the draw to be either horizontal or vertical.\",\n \"*horizontal* allows horizontal extend.\",\n \"*vertical* allows vertical extend.\"\n ].join(\" \")\n },\n name: zo({}, Dl.name, {\n description: [\n \"Sets new shape name.\",\n \"The name appears as the legend item.\"\n ].join(\" \")\n }),\n label: {\n text: {\n valType: \"string\",\n dflt: \"\",\n description: [\n \"Sets the text to display with the new shape.\",\n \"It is also used for legend item if `name` is not provided.\"\n ].join(\" \")\n },\n texttemplate: yV({ newshape: !0 }, { keys: Object.keys(bV) }),\n font: w2({\n description: \"Sets the new shape label text font.\"\n }),\n textposition: {\n valType: \"enumerated\",\n values: [\n \"top left\",\n \"top center\",\n \"top right\",\n \"middle left\",\n \"middle center\",\n \"middle right\",\n \"bottom left\",\n \"bottom center\",\n \"bottom right\",\n \"start\",\n \"middle\",\n \"end\"\n ],\n description: [\n \"Sets the position of the label text relative to the new shape.\",\n \"Supported values for rectangles, circles and paths are\",\n \"*top left*, *top center*, *top right*, *middle left*,\",\n \"*middle center*, *middle right*, *bottom left*, *bottom center*,\",\n \"and *bottom right*.\",\n \"Supported values for lines are *start*, *middle*, and *end*.\",\n \"Default: *middle center* for rectangles, circles, and paths; *middle* for lines.\"\n ].join(\" \")\n },\n textangle: {\n valType: \"angle\",\n dflt: \"auto\",\n description: [\n \"Sets the angle at which the label text is drawn\",\n \"with respect to the horizontal. For lines, angle *auto*\",\n \"is the same angle as the line. For all other shapes,\",\n \"angle *auto* is horizontal.\"\n ].join(\" \")\n },\n xanchor: {\n valType: \"enumerated\",\n values: [\"auto\", \"left\", \"center\", \"right\"],\n dflt: \"auto\",\n description: [\n \"Sets the label's horizontal position anchor\",\n \"This anchor binds the specified `textposition` to the *left*, *center*\",\n \"or *right* of the label text.\",\n \"For example, if `textposition` is set to *top right* and\",\n \"`xanchor` to *right* then the right-most portion of the\",\n \"label text lines up with the right-most edge of the\",\n \"new shape.\"\n ].join(\" \")\n },\n yanchor: {\n valType: \"enumerated\",\n values: [\"top\", \"middle\", \"bottom\"],\n description: [\n \"Sets the label's vertical position anchor\",\n \"This anchor binds the specified `textposition` to the *top*, *middle*\",\n \"or *bottom* of the label text.\",\n \"For example, if `textposition` is set to *top right* and\",\n \"`yanchor` to *top* then the top-most portion of the\",\n \"label text lines up with the top-most edge of the\",\n \"new shape.\"\n ].join(\" \")\n },\n padding: {\n valType: \"number\",\n dflt: 3,\n min: 0,\n description: \"Sets padding (in px) between edge of label and edge of new shape.\"\n }\n }\n },\n activeshape: {\n fillcolor: {\n valType: \"color\",\n dflt: \"rgb(255,0,255)\",\n description: \"Sets the color filling the active shape' interior.\"\n },\n opacity: {\n valType: \"number\",\n min: 0,\n max: 1,\n dflt: 0.5,\n description: \"Sets the opacity of the active shape.\"\n }\n }\n}, \"none\", \"from-root\"), xV = Zi.dash, wV = en.extendFlat, TV = {\n newselection: {\n mode: {\n valType: \"enumerated\",\n values: [\"immediate\", \"gradual\"],\n dflt: \"immediate\",\n editType: \"none\",\n description: [\n \"Describes how a new selection is created.\",\n \"If `immediate`, a new selection is created after first mouse up.\",\n \"If `gradual`, a new selection is not created after first mouse.\",\n \"By adding to and subtracting from the initial selection,\",\n \"this option allows declaring extra outlines of the selection.\"\n ].join(\" \")\n },\n line: {\n color: {\n valType: \"color\",\n editType: \"none\",\n description: [\n \"Sets the line color.\",\n \"By default uses either dark grey or white\",\n \"to increase contrast with background color.\"\n ].join(\" \")\n },\n width: {\n valType: \"number\",\n min: 1,\n dflt: 1,\n editType: \"none\",\n description: \"Sets the line width (in px).\"\n },\n dash: wV({}, xV, {\n dflt: \"dot\",\n editType: \"none\"\n }),\n editType: \"none\"\n },\n // no drawdirection here noting that layout.selectdirection is used instead.\n editType: \"none\"\n },\n activeselection: {\n fillcolor: {\n valType: \"color\",\n dflt: \"rgba(0,0,0,0)\",\n editType: \"none\",\n description: \"Sets the color filling the active selection' interior.\"\n },\n opacity: {\n valType: \"number\",\n min: 0,\n max: 1,\n dflt: 0.5,\n editType: \"none\",\n description: \"Sets the opacity of the active selection.\"\n },\n editType: \"none\"\n }\n}, J1 = function(e) {\n var t = e.editType;\n return {\n t: {\n valType: \"number\",\n dflt: 0,\n editType: t,\n description: \"The amount of padding (in px) along the top of the component.\"\n },\n r: {\n valType: \"number\",\n dflt: 0,\n editType: t,\n description: \"The amount of padding (in px) on the right side of the component.\"\n },\n b: {\n valType: \"number\",\n dflt: 0,\n editType: t,\n description: \"The amount of padding (in px) along the bottom of the component.\"\n },\n l: {\n valType: \"number\",\n dflt: 0,\n editType: t,\n description: \"The amount of padding (in px) on the left side of the component.\"\n },\n editType: t\n };\n}, ly = Fn, kV = hp, Fh = da, T2 = _V, k2 = TV, AV = J1, A2 = en.extendFlat, mp = ly({\n editType: \"calc\",\n description: [\n \"Sets the global font.\",\n \"Note that fonts used in traces and other\",\n \"layout components inherit from the global font.\"\n ].join(\" \")\n});\nmp.family.dflt = '\"Open Sans\", verdana, arial, sans-serif';\nmp.size.dflt = 12;\nmp.color.dflt = Fh.defaultLine;\nvar Xc = {\n font: mp,\n title: {\n text: {\n valType: \"string\",\n editType: \"layoutstyle\",\n description: [\n \"Sets the plot's title.\",\n \"Note that before the existence of `title.text`, the title's\",\n \"contents used to be defined as the `title` attribute itself.\",\n \"This behavior has been deprecated.\"\n ].join(\" \")\n },\n font: ly({\n editType: \"layoutstyle\",\n description: [\n \"Sets the title font.\",\n \"Note that the title's font used to be customized\",\n \"by the now deprecated `titlefont` attribute.\"\n ].join(\" \")\n }),\n xref: {\n valType: \"enumerated\",\n dflt: \"container\",\n values: [\"container\", \"paper\"],\n editType: \"layoutstyle\",\n description: [\n \"Sets the container `x` refers to.\",\n \"*container* spans the entire `width` of the plot.\",\n \"*paper* refers to the width of the plotting area only.\"\n ].join(\" \")\n },\n yref: {\n valType: \"enumerated\",\n dflt: \"container\",\n values: [\"container\", \"paper\"],\n editType: \"layoutstyle\",\n description: [\n \"Sets the container `y` refers to.\",\n \"*container* spans the entire `height` of the plot.\",\n \"*paper* refers to the height of the plotting area only.\"\n ].join(\" \")\n },\n x: {\n valType: \"number\",\n min: 0,\n max: 1,\n dflt: 0.5,\n editType: \"layoutstyle\",\n description: [\n \"Sets the x position with respect to `xref` in normalized\",\n \"coordinates from *0* (left) to *1* (right).\"\n ].join(\" \")\n },\n y: {\n valType: \"number\",\n min: 0,\n max: 1,\n dflt: \"auto\",\n editType: \"layoutstyle\",\n description: [\n \"Sets the y position with respect to `yref` in normalized\",\n \"coordinates from *0* (bottom) to *1* (top).\",\n \"*auto* places the baseline of the title onto the\",\n \"vertical center of the top margin.\"\n ].join(\" \")\n },\n xanchor: {\n valType: \"enumerated\",\n dflt: \"auto\",\n values: [\"auto\", \"left\", \"center\", \"right\"],\n editType: \"layoutstyle\",\n description: [\n \"Sets the title's horizontal alignment with respect to its x position.\",\n \"*left* means that the title starts at x,\",\n \"*right* means that the title ends at x\",\n \"and *center* means that the title's center is at x.\",\n \"*auto* divides `xref` by three and calculates the `xanchor`\",\n \"value automatically based on the value of `x`.\"\n ].join(\" \")\n },\n yanchor: {\n valType: \"enumerated\",\n dflt: \"auto\",\n values: [\"auto\", \"top\", \"middle\", \"bottom\"],\n editType: \"layoutstyle\",\n description: [\n \"Sets the title's vertical alignment with respect to its y position.\",\n \"*top* means that the title's cap line is at y,\",\n \"*bottom* means that the title's baseline is at y\",\n \"and *middle* means that the title's midline is at y.\",\n \"*auto* divides `yref` by three and calculates the `yanchor`\",\n \"value automatically based on the value of `y`.\"\n ].join(\" \")\n },\n pad: A2(AV({ editType: \"layoutstyle\" }), {\n description: [\n \"Sets the padding of the title.\",\n \"Each padding value only applies when the corresponding\",\n \"`xanchor`/`yanchor` value is set accordingly. E.g. for left\",\n \"padding to take effect, `xanchor` must be set to *left*.\",\n \"The same rule applies if `xanchor`/`yanchor` is determined automatically.\",\n \"Padding is muted if the respective anchor value is *middle*/*center*.\"\n ].join(\" \")\n }),\n automargin: {\n valType: \"boolean\",\n dflt: !1,\n editType: \"plot\",\n description: [\n \"Determines whether the title can automatically push the figure margins.\",\n \"If `yref='paper'` then the margin will expand to ensure that the title doesn’t\",\n \"overlap with the edges of the container. If `yref='container'` then the margins\",\n \"will ensure that the title doesn’t overlap with the plot area, tick labels,\",\n \"and axis titles. If `automargin=true` and the margins need to be expanded,\",\n \"then y will be set to a default 1 and yanchor will be set to an appropriate\",\n \"default to ensure that minimal margin space is needed. Note that when `yref='paper'`,\",\n \"only 1 or 0 are allowed y values. Invalid values will be reset to the default 1.\"\n ].join(\" \")\n },\n editType: \"layoutstyle\"\n },\n uniformtext: {\n mode: {\n valType: \"enumerated\",\n values: [!1, \"hide\", \"show\"],\n dflt: !1,\n editType: \"plot\",\n description: [\n \"Determines how the font size for various text\",\n \"elements are uniformed between each trace type.\",\n \"If the computed text sizes were smaller than\",\n \"the minimum size defined by `uniformtext.minsize`\",\n \"using *hide* option hides the text; and\",\n \"using *show* option shows the text without further downscaling.\",\n \"Please note that if the size defined by `minsize` is greater than\",\n \"the font size defined by trace, then the `minsize` is used.\"\n ].join(\" \")\n },\n minsize: {\n valType: \"number\",\n min: 0,\n dflt: 0,\n editType: \"plot\",\n description: [\n \"Sets the minimum text size between traces of the same type.\"\n ].join(\" \")\n },\n editType: \"plot\"\n },\n autosize: {\n valType: \"boolean\",\n dflt: !1,\n // autosize, width, and height get special editType treatment in _relayout\n // so we can handle noop resizes more efficiently\n editType: \"none\",\n description: [\n \"Determines whether or not a layout width or height\",\n \"that has been left undefined by the user\",\n \"is initialized on each relayout.\",\n \"Note that, regardless of this attribute,\",\n \"an undefined layout width or height\",\n \"is always initialized on the first call to plot.\"\n ].join(\" \")\n },\n width: {\n valType: \"number\",\n min: 10,\n dflt: 700,\n editType: \"plot\",\n description: [\n \"Sets the plot's width (in px).\"\n ].join(\" \")\n },\n height: {\n valType: \"number\",\n min: 10,\n dflt: 450,\n editType: \"plot\",\n description: [\n \"Sets the plot's height (in px).\"\n ].join(\" \")\n },\n minreducedwidth: {\n valType: \"number\",\n min: 2,\n dflt: 64,\n editType: \"plot\",\n description: \"Minimum width of the plot with margin.automargin applied (in px)\"\n },\n minreducedheight: {\n valType: \"number\",\n min: 2,\n dflt: 64,\n editType: \"plot\",\n description: \"Minimum height of the plot with margin.automargin applied (in px)\"\n },\n margin: {\n l: {\n valType: \"number\",\n min: 0,\n dflt: 80,\n editType: \"plot\",\n description: \"Sets the left margin (in px).\"\n },\n r: {\n valType: \"number\",\n min: 0,\n dflt: 80,\n editType: \"plot\",\n description: \"Sets the right margin (in px).\"\n },\n t: {\n valType: \"number\",\n min: 0,\n dflt: 100,\n editType: \"plot\",\n description: \"Sets the top margin (in px).\"\n },\n b: {\n valType: \"number\",\n min: 0,\n dflt: 80,\n editType: \"plot\",\n description: \"Sets the bottom margin (in px).\"\n },\n pad: {\n valType: \"number\",\n min: 0,\n dflt: 0,\n editType: \"plot\",\n description: [\n \"Sets the amount of padding (in px)\",\n \"between the plotting area and the axis lines\"\n ].join(\" \")\n },\n autoexpand: {\n valType: \"boolean\",\n dflt: !0,\n editType: \"plot\",\n description: [\n \"Turns on/off margin expansion computations.\",\n \"Legends, colorbars, updatemenus, sliders, axis rangeselector and rangeslider\",\n \"are allowed to push the margins by defaults.\"\n ].join(\" \")\n },\n editType: \"plot\"\n },\n computed: {\n valType: \"any\",\n editType: \"none\",\n description: [\n \"Placeholder for exporting automargin-impacting values namely\",\n \"`margin.t`, `margin.b`, `margin.l` and `margin.r` in *full-json* mode.\"\n ].join(\" \")\n },\n paper_bgcolor: {\n valType: \"color\",\n dflt: Fh.background,\n editType: \"plot\",\n description: \"Sets the background color of the paper where the graph is drawn.\"\n },\n plot_bgcolor: {\n // defined here, but set in cartesian.supplyLayoutDefaults\n // because it needs to know if there are (2D) axes or not\n valType: \"color\",\n dflt: Fh.background,\n editType: \"layoutstyle\",\n description: [\n \"Sets the background color of the plotting area in-between x and y axes.\"\n ].join(\" \")\n },\n autotypenumbers: {\n valType: \"enumerated\",\n values: [\"convert types\", \"strict\"],\n dflt: \"convert types\",\n editType: \"calc\",\n description: [\n \"Using *strict* a numeric string in trace data is not converted to a number.\",\n \"Using *convert types* a numeric string in trace data may be\",\n \"treated as a number during automatic axis `type` detection.\",\n \"This is the default value; however it could be overridden for individual axes.\"\n ].join(\" \")\n },\n separators: {\n valType: \"string\",\n editType: \"plot\",\n description: [\n \"Sets the decimal and thousand separators.\",\n \"For example, *. * puts a '.' before decimals and a space\",\n \"between thousands. In English locales, dflt is *.,* but\",\n \"other locales may alter this default.\"\n ].join(\" \")\n },\n hidesources: {\n valType: \"boolean\",\n dflt: !1,\n editType: \"plot\",\n description: [\n \"Determines whether or not a text link citing the data source is\",\n \"placed at the bottom-right cored of the figure.\",\n \"Has only an effect only on graphs that have been generated via\",\n \"forked graphs from the Chart Studio Cloud (at https://chart-studio.plotly.com or on-premise).\"\n ].join(\" \")\n },\n showlegend: {\n // handled in legend.supplyLayoutDefaults\n // but included here because it's not in the legend object\n valType: \"boolean\",\n editType: \"legend\",\n description: [\n \"Determines whether or not a legend is drawn.\",\n \"Default is `true` if there is a trace to show and any of these:\",\n \"a) Two or more traces would by default be shown in the legend.\",\n \"b) One pie trace is shown in the legend.\",\n \"c) One trace is explicitly given with `showlegend: true`.\"\n ].join(\" \")\n },\n colorway: {\n valType: \"colorlist\",\n dflt: Fh.defaults,\n editType: \"calc\",\n description: \"Sets the default trace colors.\"\n },\n datarevision: {\n valType: \"any\",\n editType: \"calc\",\n description: [\n \"If provided, a changed value tells `Plotly.react` that\",\n \"one or more data arrays has changed. This way you can modify\",\n \"arrays in-place rather than making a complete new copy for an\",\n \"incremental change.\",\n \"If NOT provided, `Plotly.react` assumes that data arrays are\",\n \"being treated as immutable, thus any data array with a\",\n \"different identity from its predecessor contains new data.\"\n ].join(\" \")\n },\n uirevision: {\n valType: \"any\",\n editType: \"none\",\n description: [\n \"Used to allow user interactions with the plot to persist after\",\n \"`Plotly.react` calls that are unaware of these interactions.\",\n \"If `uirevision` is omitted, or if it is given and it changed from\",\n \"the previous `Plotly.react` call, the exact new figure is used.\",\n \"If `uirevision` is truthy and did NOT change, any attribute\",\n \"that has been affected by user interactions and did not receive a\",\n \"different value in the new figure will keep the interaction value.\",\n \"`layout.uirevision` attribute serves as the default for\",\n \"`uirevision` attributes in various sub-containers. For finer\",\n \"control you can set these sub-attributes directly. For example,\",\n \"if your app separately controls the data on the x and y axes you\",\n \"might set `xaxis.uirevision=*time*` and `yaxis.uirevision=*cost*`.\",\n \"Then if only the y data is changed, you can update\",\n \"`yaxis.uirevision=*quantity*` and the y axis range will reset but\",\n \"the x axis range will retain any user-driven zoom.\"\n ].join(\" \")\n },\n editrevision: {\n valType: \"any\",\n editType: \"none\",\n description: [\n \"Controls persistence of user-driven changes in `editable: true`\",\n \"configuration, other than trace names and axis titles.\",\n \"Defaults to `layout.uirevision`.\"\n ].join(\" \")\n },\n selectionrevision: {\n valType: \"any\",\n editType: \"none\",\n description: [\n \"Controls persistence of user-driven changes in selected points\",\n \"from all traces.\"\n ].join(\" \")\n },\n template: {\n valType: \"any\",\n editType: \"calc\",\n description: [\n \"Default attributes to be applied to the plot. Templates can be\",\n \"created from existing plots using `Plotly.makeTemplate`, or\",\n \"created manually. They should be objects with format:\",\n \"`{layout: layoutTemplate, data: {[type]: [traceTemplate, ...]}, ...}`\",\n \"`layoutTemplate` and `traceTemplate` are objects matching the\",\n \"attribute structure of `layout` and a data trace. \",\n \"Trace templates are applied cyclically to traces of each type.\",\n \"Container arrays (eg `annotations`) have special handling:\",\n \"An object ending in `defaults` (eg `annotationdefaults`) is applied\",\n \"to each array item. But if an item has a `templateitemname` key\",\n \"we look in the template array for an item with matching `name` and\",\n \"apply that instead. If no matching `name` is found we mark the item\",\n \"invisible. Any named template item not referenced is appended to\",\n \"the end of the array, so you can use this for a watermark annotation\",\n \"or a logo image, for example. To omit one of these items on the plot,\",\n \"make an item with matching `templateitemname` and `visible: false`.\"\n ].join(\" \")\n },\n newshape: T2.newshape,\n activeshape: T2.activeshape,\n newselection: k2.newselection,\n activeselection: k2.activeselection,\n meta: {\n valType: \"any\",\n arrayOk: !0,\n editType: \"plot\",\n description: [\n \"Assigns extra meta information that can be used in various `text` attributes.\",\n \"Attributes such as the graph, axis and colorbar `title.text`, annotation `text`\",\n \"`trace.name` in legend items, `rangeselector`, `updatemenus` and `sliders` `label` text\",\n \"all support `meta`. One can access `meta` fields using template strings:\",\n \"`%{meta[i]}` where `i` is the index of the `meta`\",\n \"item in question.\",\n \"`meta` can also be an object for example `{key: value}` which can be accessed\",\n \"%{meta[key]}.\"\n ].join(\" \")\n },\n transition: A2({}, kV.transition, {\n description: [\n \"Sets transition options used during Plotly.react updates.\"\n ].join(\" \"),\n editType: \"none\"\n }),\n _deprecated: {\n title: {\n valType: \"string\",\n editType: \"layoutstyle\",\n description: [\n \"Value of `title` is no longer a simple *string* but a set of sub-attributes.\",\n \"To set the contents of the title, please use `title.text` now.\"\n ].join(\" \")\n },\n titlefont: ly({\n editType: \"layoutstyle\",\n description: [\n \"Former `titlefont` is now the sub-attribute `font` of `title`.\",\n \"To customize title font properties, please use `title.font` now.\"\n ].join(\" \")\n })\n }\n};\n(function(e) {\n var t = Xu, r = Y1, n = nL, a = ms, i = dp.addStyleRule, o = en, l = Wi, s = Xc, u = o.extendFlat, f = o.extendDeepAll;\n e.modules = {}, e.allCategories = {}, e.allTypes = [], e.subplotsRegistry = {}, e.transformsRegistry = {}, e.componentsRegistry = {}, e.layoutArrayContainers = [], e.layoutArrayRegexes = [], e.traceLayoutAttributes = {}, e.localeRegistry = {}, e.apiMethodRegistry = {}, e.collectableSubplotTypes = null, e.register = function(T) {\n if (e.collectableSubplotTypes = null, T)\n T && !Array.isArray(T) && (T = [T]);\n else throw new Error(\"No argument passed to Plotly.register.\");\n for (var S = 0; S < T.length; S++) {\n var M = T[S];\n if (!M)\n throw new Error(\"Invalid module was attempted to be registered!\");\n switch (M.moduleType) {\n case \"trace\":\n d(M);\n break;\n case \"transform\":\n v(M);\n break;\n case \"component\":\n p(M);\n break;\n case \"locale\":\n m(M);\n break;\n case \"apiMethod\":\n var L = M.name;\n e.apiMethodRegistry[L] = M.fn;\n break;\n default:\n throw new Error(\"Invalid module was attempted to be registered!\");\n }\n }\n }, e.getModule = function(_) {\n var T = e.modules[x(_)];\n return T ? T._module : !1;\n }, e.traceIs = function(_, T) {\n if (_ = x(_), _ === \"various\") return !1;\n var S = e.modules[_];\n return S || (_ && t.log(\"Unrecognized trace type \" + _ + \".\"), S = e.modules[l.type.dflt]), !!S.categories[T];\n }, e.getTransformIndices = function(_, T) {\n for (var S = [], M = _.transforms || [], L = 0; L < M.length; L++)\n M[L].type === T && S.push(L);\n return S;\n }, e.hasTransform = function(_, T) {\n for (var S = _.transforms || [], M = 0; M < S.length; M++)\n if (S[M].type === T)\n return !0;\n return !1;\n }, e.getComponentMethod = function(_, T) {\n var S = e.componentsRegistry[_];\n return S && S[T] || r;\n }, e.call = function() {\n var _ = arguments[0], T = [].slice.call(arguments, 1);\n return e.apiMethodRegistry[_].apply(null, T);\n };\n function d(_) {\n var T = _.name, S = _.categories, M = _.meta;\n if (e.modules[T]) {\n t.log(\"Type \" + T + \" already registered\");\n return;\n }\n e.subplotsRegistry[_.basePlotModule.name] || h(_.basePlotModule);\n for (var L = {}, F = 0; F < S.length; F++)\n L[S[F]] = !0, e.allCategories[S[F]] = !0;\n e.modules[T] = {\n _module: _,\n categories: L\n }, M && Object.keys(M).length && (e.modules[T].meta = M), e.allTypes.push(T);\n for (var $ in e.componentsRegistry)\n y($, T);\n _.layoutAttributes && u(e.traceLayoutAttributes, _.layoutAttributes);\n var I = _.basePlotModule, O = I.name;\n if (O === \"mapbox\") {\n var G = I.constants.styleRules;\n for (var K in G)\n i(\".js-plotly-plot .plotly .mapboxgl-\" + K, G[K]);\n }\n (O === \"geo\" || O === \"mapbox\") && window.PlotlyGeoAssets === void 0 && (window.PlotlyGeoAssets = { topojson: {} });\n }\n function h(_) {\n var T = _.name;\n if (e.subplotsRegistry[T]) {\n t.log(\"Plot type \" + T + \" already registered.\");\n return;\n }\n g(_), e.subplotsRegistry[T] = _;\n for (var S in e.componentsRegistry)\n k(S, _.name);\n }\n function p(_) {\n if (typeof _.name != \"string\")\n throw new Error(\"Component module *name* must be a string.\");\n var T = _.name;\n e.componentsRegistry[T] = _, _.layoutAttributes && (_.layoutAttributes._isLinkedToArray && n(e.layoutArrayContainers, T), g(_));\n for (var S in e.modules)\n y(T, S);\n for (var M in e.subplotsRegistry)\n k(T, M);\n for (var L in e.transformsRegistry)\n w(T, L);\n _.schema && _.schema.layout && f(s, _.schema.layout);\n }\n function v(_) {\n if (typeof _.name != \"string\")\n throw new Error(\"Transform module *name* must be a string.\");\n var T = \"Transform module \" + _.name, S = typeof _.transform == \"function\", M = typeof _.calcTransform == \"function\";\n if (!S && !M)\n throw new Error(T + \" is missing a *transform* or *calcTransform* method.\");\n S && M && t.log([\n T + \" has both a *transform* and *calcTransform* methods.\",\n \"Please note that all *transform* methods are executed\",\n \"before all *calcTransform* methods.\"\n ].join(\" \")), a(_.attributes) || t.log(T + \" registered without an *attributes* object.\"), typeof _.supplyDefaults != \"function\" && t.log(T + \" registered without a *supplyDefaults* method.\"), e.transformsRegistry[_.name] = _;\n for (var L in e.componentsRegistry)\n w(L, _.name);\n }\n function m(_) {\n var T = _.name, S = T.split(\"-\")[0], M = _.dictionary, L = _.format, F = M && Object.keys(M).length, $ = L && Object.keys(L).length, I = e.localeRegistry, O = I[T];\n if (O || (I[T] = O = {}), S !== T) {\n var G = I[S];\n G || (I[S] = G = {}), F && G.dictionary === O.dictionary && (G.dictionary = M), $ && G.format === O.format && (G.format = L);\n }\n F && (O.dictionary = M), $ && (O.format = L);\n }\n function g(_) {\n if (_.layoutAttributes) {\n var T = _.layoutAttributes._arrayAttrRegexps;\n if (T)\n for (var S = 0; S < T.length; S++)\n n(e.layoutArrayRegexes, T[S]);\n }\n }\n function y(_, T) {\n var S = e.componentsRegistry[_].schema;\n if (!(!S || !S.traces)) {\n var M = S.traces[T];\n M && f(e.modules[T]._module.attributes, M);\n }\n }\n function w(_, T) {\n var S = e.componentsRegistry[_].schema;\n if (!(!S || !S.transforms)) {\n var M = S.transforms[T];\n M && f(e.transformsRegistry[T].attributes, M);\n }\n }\n function k(_, T) {\n var S = e.componentsRegistry[_].schema;\n if (!(!S || !S.subplots)) {\n var M = e.subplotsRegistry[T], L = M.layoutAttributes, F = M.attr === \"subplot\" ? M.name : M.attr;\n Array.isArray(F) && (F = F[0]);\n var $ = S.subplots[F];\n L && $ && f(L, $);\n }\n }\n function x(_) {\n return typeof _ == \"object\" && (_ = _.type), _;\n }\n})(Nt);\n(function(e) {\n var t = _c.timeFormat, r = sr, n = Xu, a = Wc.mod, i = Qr, o = i.BADNUM, l = i.ONEDAY, s = i.ONEHOUR, u = i.ONEMIN, f = i.ONESEC, d = i.EPOCHJD, h = Nt, p = _c.utcFormat, v = /^\\s*(-?\\d\\d\\d\\d|\\d\\d)(-(\\d?\\d)(-(\\d?\\d)([ Tt]([01]?\\d|2[0-3])(:([0-5]\\d)(:([0-5]\\d(\\.\\d+)?))?(Z|z|[+\\-]\\d\\d(:?\\d\\d)?)?)?)?)?)?\\s*$/m, m = /^\\s*(-?\\d\\d\\d\\d|\\d\\d)(-(\\d?\\di?)(-(\\d?\\d)([ Tt]([01]?\\d|2[0-3])(:([0-5]\\d)(:([0-5]\\d(\\.\\d+)?))?(Z|z|[+\\-]\\d\\d(:?\\d\\d)?)?)?)?)?)?\\s*$/m, g = (/* @__PURE__ */ new Date()).getFullYear() - 70;\n function y(z) {\n return z && h.componentsRegistry.calendars && typeof z == \"string\" && z !== \"gregorian\";\n }\n e.dateTick0 = function(z, P) {\n var R = w(z, !!P);\n if (P < 2) return R;\n var H = e.dateTime2ms(R, z);\n return H += l * (P - 1), e.ms2DateTime(H, 0, z);\n };\n function w(z, P) {\n return y(z) ? P ? h.getComponentMethod(\"calendars\", \"CANONICAL_SUNDAY\")[z] : h.getComponentMethod(\"calendars\", \"CANONICAL_TICK\")[z] : P ? \"2000-01-02\" : \"2000-01-01\";\n }\n e.dfltRange = function(z) {\n return y(z) ? h.getComponentMethod(\"calendars\", \"DFLTRANGE\")[z] : [\"2000-01-01\", \"2001-01-01\"];\n }, e.isJSDate = function(z) {\n return typeof z == \"object\" && z !== null && typeof z.getTime == \"function\";\n };\n var k, x;\n e.dateTime2ms = function(z, P) {\n if (e.isJSDate(z)) {\n var R = z.getTimezoneOffset() * u, H = (z.getUTCMinutes() - z.getMinutes()) * u + (z.getUTCSeconds() - z.getSeconds()) * f + (z.getUTCMilliseconds() - z.getMilliseconds());\n if (H) {\n var B = 3 * u;\n R = R - B / 2 + a(H - R + B / 2, B);\n }\n return z = Number(z) - R, z >= k && z <= x ? z : o;\n }\n if (typeof z != \"string\" && typeof z != \"number\") return o;\n z = String(z);\n var W = y(P), ee = z.charAt(0);\n W && (ee === \"G\" || ee === \"g\") && (z = z.substr(1), P = \"\");\n var re = W && P.substr(0, 7) === \"chinese\", ae = z.match(re ? m : v);\n if (!ae) return o;\n var Q = ae[1], ue = ae[3] || \"1\", j = Number(ae[5] || 1), U = Number(ae[7] || 0), Z = Number(ae[9] || 0), le = Number(ae[11] || 0);\n if (W) {\n if (Q.length === 2) return o;\n Q = Number(Q);\n var J;\n try {\n var pe = h.getComponentMethod(\"calendars\", \"getCal\")(P);\n if (re) {\n var ge = ue.charAt(ue.length - 1) === \"i\";\n ue = parseInt(ue, 10), J = pe.newDate(Q, pe.toMonthIndex(Q, ue, ge), j);\n } else\n J = pe.newDate(Q, Number(ue), j);\n } catch {\n return o;\n }\n return J ? (J.toJD() - d) * l + U * s + Z * u + le * f : o;\n }\n Q.length === 2 ? Q = (Number(Q) + 2e3 - g) % 100 + g : Q = Number(Q), ue -= 1;\n var ve = new Date(Date.UTC(2e3, ue, j, U, Z));\n return ve.setUTCFullYear(Q), ve.getUTCMonth() !== ue || ve.getUTCDate() !== j ? o : ve.getTime() + le * f;\n }, k = e.MIN_MS = e.dateTime2ms(\"-9999\"), x = e.MAX_MS = e.dateTime2ms(\"9999-12-31 23:59:59.9999\"), e.isDateTime = function(z, P) {\n return e.dateTime2ms(z, P) !== o;\n };\n function _(z, P) {\n return String(z + Math.pow(10, P)).substr(1);\n }\n var T = 90 * l, S = 3 * s, M = 5 * u;\n e.ms2DateTime = function(z, P, R) {\n if (typeof z != \"number\" || !(z >= k && z <= x)) return o;\n P || (P = 0);\n var H = Math.floor(a(z + 0.05, 1) * 10), B = Math.round(z - H / 10), W, ee, re, ae, Q, ue;\n if (y(R)) {\n var j = Math.floor(B / l) + d, U = Math.floor(a(z, l));\n try {\n W = h.getComponentMethod(\"calendars\", \"getCal\")(R).fromJD(j).formatDate(\"yyyy-mm-dd\");\n } catch {\n W = p(\"G%Y-%m-%d\")(new Date(B));\n }\n if (W.charAt(0) === \"-\")\n for (; W.length < 11; ) W = \"-0\" + W.substr(1);\n else\n for (; W.length < 10; ) W = \"0\" + W;\n ee = P < T ? Math.floor(U / s) : 0, re = P < T ? Math.floor(U % s / u) : 0, ae = P < S ? Math.floor(U % u / f) : 0, Q = P < M ? U % f * 10 + H : 0;\n } else\n ue = new Date(B), W = p(\"%Y-%m-%d\")(ue), ee = P < T ? ue.getUTCHours() : 0, re = P < T ? ue.getUTCMinutes() : 0, ae = P < S ? ue.getUTCSeconds() : 0, Q = P < M ? ue.getUTCMilliseconds() * 10 + H : 0;\n return L(W, ee, re, ae, Q);\n }, e.ms2DateTimeLocal = function(z) {\n if (!(z >= k + l && z <= x - l)) return o;\n var P = Math.floor(a(z + 0.05, 1) * 10), R = new Date(Math.round(z - P / 10)), H = t(\"%Y-%m-%d\")(R), B = R.getHours(), W = R.getMinutes(), ee = R.getSeconds(), re = R.getUTCMilliseconds() * 10 + P;\n return L(H, B, W, ee, re);\n };\n function L(z, P, R, H, B) {\n if ((P || R || H || B) && (z += \" \" + _(P, 2) + \":\" + _(R, 2), (H || B) && (z += \":\" + _(H, 2), B))) {\n for (var W = 4; B % 10 === 0; )\n W -= 1, B /= 10;\n z += \".\" + _(B, W);\n }\n return z;\n }\n e.cleanDate = function(z, P, R) {\n if (z === o) return P;\n if (e.isJSDate(z) || typeof z == \"number\" && isFinite(z)) {\n if (y(R))\n return n.error(\"JS Dates and milliseconds are incompatible with world calendars\", z), P;\n if (z = e.ms2DateTimeLocal(+z), !z && P !== void 0) return P;\n } else if (!e.isDateTime(z, R))\n return n.error(\"unrecognized date\", z), P;\n return z;\n };\n var F = /%\\d?f/g, $ = /%h/g, I = {\n 1: \"1\",\n 2: \"1\",\n 3: \"2\",\n 4: \"2\"\n };\n function O(z, P, R, H) {\n z = z.replace(F, function(W) {\n var ee = Math.min(+W.charAt(1) || 6, 6), re = (P / 1e3 % 1 + 2).toFixed(ee).substr(2).replace(/0+$/, \"\") || \"0\";\n return re;\n });\n var B = new Date(Math.floor(P + 0.05));\n if (z = z.replace($, function() {\n return I[R(\"%q\")(B)];\n }), y(H))\n try {\n z = h.getComponentMethod(\"calendars\", \"worldCalFmt\")(z, P, H);\n } catch {\n return \"Invalid\";\n }\n return R(z)(B);\n }\n var G = [59, 59.9, 59.99, 59.999, 59.9999];\n function K(z, P) {\n var R = a(z + 0.05, l), H = _(Math.floor(R / s), 2) + \":\" + _(a(Math.floor(R / u), 60), 2);\n if (P !== \"M\") {\n r(P) || (P = 0);\n var B = Math.min(a(z / f, 60), G[P]), W = (100 + B).toFixed(P).substr(1);\n P > 0 && (W = W.replace(/0+$/, \"\").replace(/[\\.]$/, \"\")), H += \":\" + W;\n }\n return H;\n }\n e.formatDate = function(z, P, R, H, B, W) {\n if (B = y(B) && B, !P)\n if (R === \"y\") P = W.year;\n else if (R === \"m\") P = W.month;\n else if (R === \"d\")\n P = W.dayMonth + `\n` + W.year;\n else\n return K(z, R) + `\n` + O(W.dayMonthYear, z, H, B);\n return O(P, z, H, B);\n };\n var V = 3 * l;\n e.incrementMonth = function(z, P, R) {\n R = y(R) && R;\n var H = a(z, l);\n if (z = Math.round(z - H), R)\n try {\n var B = Math.round(z / l) + d, W = h.getComponentMethod(\"calendars\", \"getCal\")(R), ee = W.fromJD(B);\n return P % 12 ? W.add(ee, P, \"m\") : W.add(ee, P / 12, \"y\"), (ee.toJD() - d) * l + H;\n } catch {\n n.error(\"invalid ms \" + z + \" in calendar \" + R);\n }\n var re = new Date(z + V);\n return re.setUTCMonth(re.getUTCMonth() + P) + H - V;\n }, e.findExactDates = function(z, P) {\n for (var R = 0, H = 0, B = 0, W = 0, ee, re, ae = y(P) && h.getComponentMethod(\"calendars\", \"getCal\")(P), Q = 0; Q < z.length; Q++) {\n if (re = z[Q], !r(re)) {\n W++;\n continue;\n }\n if (!(re % l))\n if (ae)\n try {\n ee = ae.fromJD(re / l + d), ee.day() === 1 ? ee.month() === 1 ? R++ : H++ : B++;\n } catch {\n }\n else\n ee = new Date(re), ee.getUTCDate() === 1 ? ee.getUTCMonth() === 0 ? R++ : H++ : B++;\n }\n H += R, B += H;\n var ue = z.length - W;\n return {\n exactYears: R / ue,\n exactMonths: H / ue,\n exactDays: B / ue\n };\n };\n})(KC);\nvar Q1 = {}, wL = function(t) {\n return t;\n};\n(function(e) {\n var t = sr, r = Xu, n = wL, a = Qr.BADNUM, i = 1e-9;\n e.findBin = function(f, d, h) {\n if (t(d.start))\n return h ? Math.ceil((f - d.start) / d.size - i) - 1 : Math.floor((f - d.start) / d.size + i);\n var p = 0, v = d.length, m = 0, g = v > 1 ? (d[v - 1] - d[0]) / (v - 1) : 1, y, w;\n for (g >= 0 ? w = h ? o : l : w = h ? u : s, f += g * i * (h ? -1 : 1) * (g >= 0 ? 1 : -1); p < v && m++ < 100; )\n y = Math.floor((p + v) / 2), w(d[y], f) ? p = y + 1 : v = y;\n return m > 90 && r.log(\"Long binary search...\"), p - 1;\n };\n function o(f, d) {\n return f < d;\n }\n function l(f, d) {\n return f <= d;\n }\n function s(f, d) {\n return f > d;\n }\n function u(f, d) {\n return f >= d;\n }\n e.sorterAsc = function(f, d) {\n return f - d;\n }, e.sorterDes = function(f, d) {\n return d - f;\n }, e.distinctVals = function(f) {\n var d = f.slice();\n d.sort(e.sorterAsc);\n var h;\n for (h = d.length - 1; h > -1 && d[h] === a; h--)\n ;\n for (var p = d[h] - d[0] || 1, v = p / (h || 1) / 1e4, m = [], g, y = 0; y <= h; y++) {\n var w = d[y], k = w - g;\n g === void 0 ? (m.push(w), g = w) : k > v && (p = Math.min(p, k), m.push(w), g = w);\n }\n return { vals: m, minDiff: p };\n }, e.roundUp = function(f, d, h) {\n for (var p = 0, v = d.length - 1, m, g = 0, y = h ? 0 : 1, w = h ? 1 : 0, k = h ? Math.ceil : Math.floor; p < v && g++ < 100; )\n m = k((p + v) / 2), d[m] <= f ? p = m + y : v = m - w;\n return d[p];\n }, e.sort = function(f, d) {\n for (var h = 0, p = 0, v = 1; v < f.length; v++) {\n var m = d(f[v], f[v - 1]);\n if (m < 0 ? h = 1 : m > 0 && (p = 1), h && p) return f.sort(d);\n }\n return p ? f : f.reverse();\n }, e.findIndexOfMin = function(f, d) {\n d = d || n;\n for (var h = 1 / 0, p, v = 0; v < f.length; v++) {\n var m = d(f[v]);\n m < h && (h = m, p = v);\n }\n return p;\n };\n})(Q1);\nvar TL = function(t) {\n return Object.keys(t).sort();\n}, kL = {};\n(function(e) {\n var t = sr, r = an.isArrayOrTypedArray;\n e.aggNums = function(n, a, i, o) {\n var l, s;\n if ((!o || o > i.length) && (o = i.length), t(a) || (a = !1), r(i[0])) {\n for (s = new Array(o), l = 0; l < o; l++) s[l] = e.aggNums(n, a, i[l]);\n i = s;\n }\n for (l = 0; l < o; l++)\n t(a) ? t(i[l]) && (a = n(+a, +i[l])) : a = i[l];\n return a;\n }, e.len = function(n) {\n return e.aggNums(function(a) {\n return a + 1;\n }, 0, n);\n }, e.mean = function(n, a) {\n return a || (a = e.len(n)), e.aggNums(function(i, o) {\n return i + o;\n }, 0, n) / a;\n }, e.midRange = function(n) {\n if (!(n === void 0 || n.length === 0))\n return (e.aggNums(Math.max, null, n) + e.aggNums(Math.min, null, n)) / 2;\n }, e.variance = function(n, a, i) {\n return a || (a = e.len(n)), t(i) || (i = e.mean(n, a)), e.aggNums(function(o, l) {\n return o + Math.pow(l - i, 2);\n }, 0, n) / a;\n }, e.stdev = function(n, a, i) {\n return Math.sqrt(e.variance(n, a, i));\n }, e.median = function(n) {\n var a = n.slice().sort();\n return e.interp(a, 0.5);\n }, e.interp = function(n, a) {\n if (!t(a)) throw \"n should be a finite number\";\n if (a = a * n.length - 0.5, a < 0) return n[0];\n if (a > n.length - 1) return n[n.length - 1];\n var i = a % 1;\n return i * n[Math.ceil(a)] + (1 - i) * n[Math.floor(a)];\n };\n})(kL);\nvar AL = Wc, qm = AL.mod, MV = AL.modHalf, xc = Math.PI, Jo = 2 * xc;\nfunction SV(e) {\n return e / 180 * xc;\n}\nfunction CV(e) {\n return e / xc * 180;\n}\nfunction eb(e) {\n return Math.abs(e[1] - e[0]) > Jo - 1e-14;\n}\nfunction ML(e, t) {\n return MV(t - e, Jo);\n}\nfunction LV(e, t) {\n return Math.abs(ML(e, t));\n}\nfunction SL(e, t) {\n if (eb(t)) return !0;\n var r, n;\n t[0] < t[1] ? (r = t[0], n = t[1]) : (r = t[1], n = t[0]), r = qm(r, Jo), n = qm(n, Jo), r > n && (n += Jo);\n var a = qm(e, Jo), i = a + Jo;\n return a >= r && a <= n || i >= r && i <= n;\n}\nfunction DV(e, t, r, n) {\n if (!SL(t, n)) return !1;\n var a, i;\n return r[0] < r[1] ? (a = r[0], i = r[1]) : (a = r[1], i = r[0]), e >= a && e <= i;\n}\nfunction tb(e, t, r, n, a, i, o) {\n a = a || 0, i = i || 0;\n var l = eb([r, n]), s, u, f, d, h;\n l ? (s = 0, u = xc, f = Jo) : r < n ? (s = r, f = n) : (s = n, f = r), e < t ? (d = e, h = t) : (d = t, h = e);\n function p(y, w) {\n return [y * Math.cos(w) + a, i - y * Math.sin(w)];\n }\n var v = Math.abs(f - s) <= xc ? 0 : 1;\n function m(y, w, k) {\n return \"A\" + [y, y] + \" \" + [0, v, k] + \" \" + p(y, w);\n }\n var g;\n return l ? d === null ? g = \"M\" + p(h, s) + m(h, u, 0) + m(h, f, 0) + \"Z\" : g = \"M\" + p(d, s) + m(d, u, 0) + m(d, f, 0) + \"ZM\" + p(h, s) + m(h, u, 1) + m(h, f, 1) + \"Z\" : d === null ? (g = \"M\" + p(h, s) + m(h, f, 0), o && (g += \"L0,0Z\")) : g = \"M\" + p(d, s) + \"L\" + p(h, s) + m(h, f, 0) + \"L\" + p(d, f) + m(d, s, 1) + \"Z\", g;\n}\nfunction EV(e, t, r, n, a) {\n return tb(null, e, t, r, n, a, 0);\n}\nfunction FV(e, t, r, n, a) {\n return tb(null, e, t, r, n, a, 1);\n}\nfunction RV(e, t, r, n, a, i) {\n return tb(e, t, r, n, a, i, 1);\n}\nvar PV = {\n deg2rad: SV,\n rad2deg: CV,\n angleDelta: ML,\n angleDist: LV,\n isFullCircle: eb,\n isAngleInsideSector: SL,\n isPtInsideSector: DV,\n pathArc: EV,\n pathSector: FV,\n pathAnnulus: RV\n}, gs = {};\ngs.isLeftAnchor = function(t) {\n return t.xanchor === \"left\" || t.xanchor === \"auto\" && t.x <= 1 / 3;\n};\ngs.isCenterAnchor = function(t) {\n return t.xanchor === \"center\" || t.xanchor === \"auto\" && t.x > 1 / 3 && t.x < 2 / 3;\n};\ngs.isRightAnchor = function(t) {\n return t.xanchor === \"right\" || t.xanchor === \"auto\" && t.x >= 2 / 3;\n};\ngs.isTopAnchor = function(t) {\n return t.yanchor === \"top\" || t.yanchor === \"auto\" && t.y >= 2 / 3;\n};\ngs.isMiddleAnchor = function(t) {\n return t.yanchor === \"middle\" || t.yanchor === \"auto\" && t.y > 1 / 3 && t.y < 2 / 3;\n};\ngs.isBottomAnchor = function(t) {\n return t.yanchor === \"bottom\" || t.yanchor === \"auto\" && t.y <= 1 / 3;\n};\nvar ys = {}, Wm = Wc.mod;\nys.segmentsIntersect = CL;\nfunction CL(e, t, r, n, a, i, o, l) {\n var s = r - e, u = a - e, f = o - a, d = n - t, h = i - t, p = l - i, v = s * p - f * d;\n if (v === 0) return null;\n var m = (u * p - f * h) / v, g = (u * d - s * h) / v;\n return g < 0 || g > 1 || m < 0 || m > 1 ? null : { x: e + s * m, y: t + d * m };\n}\nys.segmentDistance = function(t, r, n, a, i, o, l, s) {\n if (CL(t, r, n, a, i, o, l, s)) return 0;\n var u = n - t, f = a - r, d = l - i, h = s - o, p = u * u + f * f, v = d * d + h * h, m = Math.min(\n Id(u, f, p, i - t, o - r),\n Id(u, f, p, l - t, s - r),\n Id(d, h, v, t - i, r - o),\n Id(d, h, v, n - i, a - o)\n );\n return Math.sqrt(m);\n};\nfunction Id(e, t, r, n, a) {\n var i = n * e + a * t;\n if (i < 0)\n return n * n + a * a;\n if (i > r) {\n var o = n - e, l = a - t;\n return o * o + l * l;\n } else {\n var s = n * t - a * e;\n return s * s / r;\n }\n}\nvar Nd, sy, M2;\nys.getTextLocation = function(t, r, n, a) {\n if ((t !== sy || a !== M2) && (Nd = {}, sy = t, M2 = a), Nd[n])\n return Nd[n];\n var i = t.getPointAtLength(Wm(n - a / 2, r)), o = t.getPointAtLength(Wm(n + a / 2, r)), l = Math.atan((o.y - i.y) / (o.x - i.x)), s = t.getPointAtLength(Wm(n, r)), u = (s.x * 4 + i.x + o.x) / 6, f = (s.y * 4 + i.y + o.y) / 6, d = { x: u, y: f, theta: l };\n return Nd[n] = d, d;\n};\nys.clearLocationCache = function() {\n sy = null;\n};\nys.getVisibleSegment = function(t, r, n) {\n var a = r.left, i = r.right, o = r.top, l = r.bottom, s = 0, u = t.getTotalLength(), f = u, d, h;\n function p(m) {\n var g = t.getPointAtLength(m);\n m === 0 ? d = g : m === u && (h = g);\n var y = g.x < a ? a - g.x : g.x > i ? g.x - i : 0, w = g.y < o ? o - g.y : g.y > l ? g.y - l : 0;\n return Math.sqrt(y * y + w * w);\n }\n for (var v = p(s); v; ) {\n if (s += v + n, s > f) return;\n v = p(s);\n }\n for (v = p(f); v; ) {\n if (f -= v + n, s > f) return;\n v = p(f);\n }\n return {\n min: s,\n max: f,\n len: f - s,\n total: u,\n isClosed: s === 0 && f === u && Math.abs(d.x - h.x) < 0.1 && Math.abs(d.y - h.y) < 0.1\n };\n};\nys.findPointOnPath = function(t, r, n, a) {\n a = a || {};\n for (var i = a.pathLength || t.getTotalLength(), o = a.tolerance || 1e-3, l = a.iterationLimit || 30, s = t.getPointAtLength(0)[n] > t.getPointAtLength(i)[n] ? -1 : 1, u = 0, f = 0, d = i, h, p, v; u < l; ) {\n if (h = (f + d) / 2, p = t.getPointAtLength(h), v = p[n] - r, Math.abs(v) < o)\n return p;\n s * v > 0 ? d = h : f = h, u++;\n }\n return p;\n};\nvar gp = {};\n(function(e) {\n var t = {};\n e.throttle = function(a, i, o) {\n var l = t[a], s = Date.now();\n if (!l) {\n for (var u in t)\n t[u].ts < s - 6e4 && delete t[u];\n l = t[a] = { ts: 0, timer: null };\n }\n r(l);\n function f() {\n o(), l.ts = Date.now(), l.onDone && (l.onDone(), l.onDone = null);\n }\n if (s > l.ts + i) {\n f();\n return;\n }\n l.timer = setTimeout(function() {\n f(), l.timer = null;\n }, i);\n }, e.done = function(n) {\n var a = t[n];\n return !a || !a.timer ? Promise.resolve() : new Promise(function(i) {\n var o = a.onDone;\n a.onDone = function() {\n o && o(), i(), a.onDone = null;\n };\n });\n }, e.clear = function(n) {\n if (n)\n r(t[n]), delete t[n];\n else\n for (var a in t) e.clear(a);\n };\n function r(n) {\n n && n.timer !== null && (clearTimeout(n.timer), n.timer = null);\n }\n})(gp);\nvar $V = function(t) {\n t._responsiveChartHandler && (window.removeEventListener(\"resize\", t._responsiveChartHandler), delete t._responsiveChartHandler);\n}, yp = { exports: {} };\nyp.exports = rb;\nyp.exports.isMobile = rb;\nyp.exports.default = rb;\nconst zV = /(android|bb\\d+|meego).+mobile|armv7l|avantgo|bada\\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\/|plucker|pocket|psp|series[46]0|samsungbrowser.*mobile|symbian|treo|up\\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i, IV = /CrOS/, NV = /android|ipad|playbook|silk/i;\nfunction rb(e) {\n e || (e = {});\n let t = e.ua;\n if (!t && typeof navigator < \"u\" && (t = navigator.userAgent), t && t.headers && typeof t.headers[\"user-agent\"] == \"string\" && (t = t.headers[\"user-agent\"]), typeof t != \"string\") return !1;\n let r = zV.test(t) && !IV.test(t) || !!e.tablet && NV.test(t);\n return !r && e.tablet && e.featureDetect && navigator && navigator.maxTouchPoints > 1 && t.indexOf(\"Macintosh\") !== -1 && t.indexOf(\"Safari\") !== -1 && (r = !0), r;\n}\nvar OV = yp.exports, HV = sr, BV = OV, jV = function(t) {\n var r;\n if (t && t.hasOwnProperty(\"userAgent\") ? r = t.userAgent : r = UV(), typeof r != \"string\") return !0;\n var n = BV({\n ua: { headers: { \"user-agent\": r } },\n tablet: !0,\n featureDetect: !1\n });\n if (!n)\n for (var a = r.split(\" \"), i = 1; i < a.length; i++) {\n var o = a[i];\n if (o.indexOf(\"Safari\") !== -1)\n for (var l = i - 1; l > -1; l--) {\n var s = a[l];\n if (s.substr(0, 8) === \"Version/\") {\n var u = s.substr(8).split(\".\")[0];\n if (HV(u) && (u = +u), u >= 13) return !0;\n }\n }\n }\n return n;\n};\nfunction UV() {\n var e;\n return typeof navigator < \"u\" && (e = navigator.userAgent), e && e.headers && typeof e.headers[\"user-agent\"] == \"string\" && (e = e.headers[\"user-agent\"]), e;\n}\nvar GV = lr, VV = function(t, r, n) {\n var a = t.selectAll(\"g.\" + n.replace(/\\s/g, \".\")).data(r, function(o) {\n return o[0].trace.uid;\n });\n a.exit().remove(), a.enter().append(\"g\").attr(\"class\", n), a.order();\n var i = t.classed(\"rangeplot\") ? \"nodeRangePlot3\" : \"node3\";\n return a.each(function(o) {\n o[0][i] = GV.select(this);\n }), a;\n}, qV = Nt, WV = function(t, r) {\n for (var n = t._context.locale, a = 0; a < 2; a++) {\n for (var i = t._context.locales, o = 0; o < 2; o++) {\n var l = (i[n] || {}).dictionary;\n if (l) {\n var s = l[r];\n if (s) return s;\n }\n i = qV.localeRegistry;\n }\n var u = n.split(\"-\")[0];\n if (u === n) break;\n n = u;\n }\n return r;\n}, ZV = function(t) {\n for (var r = {}, n = [], a = 0, i = 0; i < t.length; i++) {\n var o = t[i];\n r[o] !== 1 && (r[o] = 1, n[a++] = o);\n }\n return n;\n}, YV = function(t) {\n for (var r = JV(t) ? KV : XV, n = [], a = 0; a < t.length; a++) {\n var i = t[a];\n r(i) && n.push(i);\n }\n return n;\n};\nfunction XV(e) {\n return e.visible === !0;\n}\nfunction KV(e) {\n var t = e[0].trace;\n return t.visible === !0 && t._length !== 0;\n}\nfunction JV(e) {\n return Array.isArray(e) && Array.isArray(e[0]) && e[0][0] && e[0][0].trace;\n}\nvar QV = function(t, r) {\n if (!r) return t;\n var n = 1 / Math.abs(r), a = n > 1 ? (n * t + n * r) / n : t + r, i = String(a).length;\n if (i > 16) {\n var o = String(r).length, l = String(t).length;\n if (i >= l + o) {\n var s = parseFloat(a).toPrecision(12);\n s.indexOf(\"e+\") === -1 && (a = +s);\n }\n }\n return a;\n}, eq = sr, tq = Qr.BADNUM, rq = /^['\"%,$#\\s']+|[, ]|['\"%,$#\\s']+$/g, nq = function(t) {\n return typeof t == \"string\" && (t = t.replace(rq, \"\")), eq(t) ? Number(t) : tq;\n}, Zf = lr, aq = _c.utcFormat, iq = zC.format, LL = sr, DL = Qr, EL = DL.FP_SAFE, oq = -EL, S2 = DL.BADNUM, xe = aC.exports = {};\nxe.adjustFormat = function(t) {\n return !t || /^\\d[.]\\df/.test(t) || /[.]\\d%/.test(t) ? t : t === \"0.f\" ? \"~f\" : /^\\d%/.test(t) ? \"~%\" : /^\\ds/.test(t) ? \"~s\" : !/^[~,.0$]/.test(t) && /[&fps]/.test(t) ? \"~\" + t : t;\n};\nvar C2 = {};\nxe.warnBadFormat = function(e) {\n var t = String(e);\n C2[t] || (C2[t] = 1, xe.warn('encountered bad format: \"' + t + '\"'));\n};\nxe.noFormat = function(e) {\n return String(e);\n};\nxe.numberFormat = function(e) {\n var t;\n try {\n t = iq(xe.adjustFormat(e));\n } catch {\n return xe.warnBadFormat(e), xe.noFormat;\n }\n return t;\n};\nxe.nestedProperty = j1;\nxe.keyedContainer = TU;\nxe.relativeAttr = MU;\nxe.isPlainObject = ms;\nxe.toLogRange = U1;\nxe.relinkPrivateKeys = CU;\nvar pl = an;\nxe.isArrayBuffer = pl.isArrayBuffer;\nxe.isTypedArray = pl.isTypedArray;\nxe.isArrayOrTypedArray = pl.isArrayOrTypedArray;\nxe.isArray1D = pl.isArray1D;\nxe.ensureArray = pl.ensureArray;\nxe.concat = pl.concat;\nxe.maxRowLength = pl.maxRowLength;\nxe.minRowLength = pl.minRowLength;\nvar FL = Wc;\nxe.mod = FL.mod;\nxe.modHalf = FL.modHalf;\nvar ml = GC;\nxe.valObjectMeta = ml.valObjectMeta;\nxe.coerce = ml.coerce;\nxe.coerce2 = ml.coerce2;\nxe.coerceFont = ml.coerceFont;\nxe.coercePattern = ml.coercePattern;\nxe.coerceHoverinfo = ml.coerceHoverinfo;\nxe.coerceSelectionMarkerOpacity = ml.coerceSelectionMarkerOpacity;\nxe.validate = ml.validate;\nvar Ta = KC;\nxe.dateTime2ms = Ta.dateTime2ms;\nxe.isDateTime = Ta.isDateTime;\nxe.ms2DateTime = Ta.ms2DateTime;\nxe.ms2DateTimeLocal = Ta.ms2DateTimeLocal;\nxe.cleanDate = Ta.cleanDate;\nxe.isJSDate = Ta.isJSDate;\nxe.formatDate = Ta.formatDate;\nxe.incrementMonth = Ta.incrementMonth;\nxe.dateTick0 = Ta.dateTick0;\nxe.dfltRange = Ta.dfltRange;\nxe.findExactDates = Ta.findExactDates;\nxe.MIN_MS = Ta.MIN_MS;\nxe.MAX_MS = Ta.MAX_MS;\nvar bs = Q1;\nxe.findBin = bs.findBin;\nxe.sorterAsc = bs.sorterAsc;\nxe.sorterDes = bs.sorterDes;\nxe.distinctVals = bs.distinctVals;\nxe.roundUp = bs.roundUp;\nxe.sort = bs.sort;\nxe.findIndexOfMin = bs.findIndexOfMin;\nxe.sortObjectKeys = TL;\nvar gl = kL;\nxe.aggNums = gl.aggNums;\nxe.len = gl.len;\nxe.mean = gl.mean;\nxe.median = gl.median;\nxe.midRange = gl.midRange;\nxe.variance = gl.variance;\nxe.stdev = gl.stdev;\nxe.interp = gl.interp;\nvar xi = cp;\nxe.init2dArray = xi.init2dArray;\nxe.transposeRagged = xi.transposeRagged;\nxe.dot = xi.dot;\nxe.translationMatrix = xi.translationMatrix;\nxe.rotationMatrix = xi.rotationMatrix;\nxe.rotationXYMatrix = xi.rotationXYMatrix;\nxe.apply3DTransform = xi.apply3DTransform;\nxe.apply2DTransform = xi.apply2DTransform;\nxe.apply2DTransform2 = xi.apply2DTransform2;\nxe.convertCssMatrix = xi.convertCssMatrix;\nxe.inverseTransformMatrix = xi.inverseTransformMatrix;\nvar Yi = PV;\nxe.deg2rad = Yi.deg2rad;\nxe.rad2deg = Yi.rad2deg;\nxe.angleDelta = Yi.angleDelta;\nxe.angleDist = Yi.angleDist;\nxe.isFullCircle = Yi.isFullCircle;\nxe.isAngleInsideSector = Yi.isAngleInsideSector;\nxe.isPtInsideSector = Yi.isPtInsideSector;\nxe.pathArc = Yi.pathArc;\nxe.pathSector = Yi.pathSector;\nxe.pathAnnulus = Yi.pathAnnulus;\nvar Ku = gs;\nxe.isLeftAnchor = Ku.isLeftAnchor;\nxe.isCenterAnchor = Ku.isCenterAnchor;\nxe.isRightAnchor = Ku.isRightAnchor;\nxe.isTopAnchor = Ku.isTopAnchor;\nxe.isMiddleAnchor = Ku.isMiddleAnchor;\nxe.isBottomAnchor = Ku.isBottomAnchor;\nvar Ju = ys;\nxe.segmentsIntersect = Ju.segmentsIntersect;\nxe.segmentDistance = Ju.segmentDistance;\nxe.getTextLocation = Ju.getTextLocation;\nxe.clearLocationCache = Ju.clearLocationCache;\nxe.getVisibleSegment = Ju.getVisibleSegment;\nxe.findPointOnPath = Ju.findPointOnPath;\nvar bp = en;\nxe.extendFlat = bp.extendFlat;\nxe.extendDeep = bp.extendDeep;\nxe.extendDeepAll = bp.extendDeepAll;\nxe.extendDeepNoArrays = bp.extendDeepNoArrays;\nvar nb = Xu;\nxe.log = nb.log;\nxe.warn = nb.warn;\nxe.error = nb.error;\nvar lq = Zu;\nxe.counterRegex = lq.counter;\nvar ab = gp;\nxe.throttle = ab.throttle;\nxe.throttleDone = ab.done;\nxe.clearThrottle = ab.clear;\nvar Xi = dp;\nxe.getGraphDiv = Xi.getGraphDiv;\nxe.isPlotDiv = Xi.isPlotDiv;\nxe.removeElement = Xi.removeElement;\nxe.addStyleRule = Xi.addStyleRule;\nxe.addRelatedStyleRule = Xi.addRelatedStyleRule;\nxe.deleteRelatedStyleRule = Xi.deleteRelatedStyleRule;\nxe.getFullTransformMatrix = Xi.getFullTransformMatrix;\nxe.getElementTransformMatrix = Xi.getElementTransformMatrix;\nxe.getElementAndAncestors = Xi.getElementAndAncestors;\nxe.equalDomRects = Xi.equalDomRects;\nxe.clearResponsive = $V;\nxe.preserveDrawingBuffer = jV;\nxe.makeTraceGroups = VV;\nxe._ = WV;\nxe.notifier = rL;\nxe.filterUnique = ZV;\nxe.filterVisible = YV;\nxe.pushUnique = nL;\nxe.increment = QV;\nxe.cleanNumber = nq;\nxe.ensureNumber = function(t) {\n return LL(t) ? (t = Number(t), t > EL || t < oq ? S2 : t) : S2;\n};\nxe.isIndex = function(e, t) {\n return t !== void 0 && e >= t ? !1 : LL(e) && e >= 0 && e % 1 === 0;\n};\nxe.noop = Y1;\nxe.identity = wL;\nxe.repeat = function(e, t) {\n for (var r = new Array(t), n = 0; n < t; n++)\n r[n] = e;\n return r;\n};\nxe.swapAttrs = function(e, t, r, n) {\n r || (r = \"x\"), n || (n = \"y\");\n for (var a = 0; a < t.length; a++) {\n var i = t[a], o = xe.nestedProperty(e, i.replace(\"?\", r)), l = xe.nestedProperty(e, i.replace(\"?\", n)), s = o.get();\n o.set(l.get()), l.set(s);\n }\n};\nxe.raiseToTop = function(t) {\n t.parentNode.appendChild(t);\n};\nxe.cancelTransition = function(e) {\n return e.transition().duration(0);\n};\nxe.constrain = function(e, t, r) {\n return t > r ? Math.max(r, Math.min(t, e)) : Math.max(t, Math.min(r, e));\n};\nxe.bBoxIntersect = function(e, t, r) {\n return r = r || 0, e.left <= t.right + r && t.left <= e.right + r && e.top <= t.bottom + r && t.top <= e.bottom + r;\n};\nxe.simpleMap = function(e, t, r, n, a) {\n for (var i = e.length, o = new Array(i), l = 0; l < i; l++) o[l] = t(e[l], r, n, a);\n return o;\n};\nxe.randstr = function e(t, r, n, a) {\n if (n || (n = 16), r === void 0 && (r = 24), r <= 0) return \"0\";\n var i = Math.log(Math.pow(2, r)) / Math.log(n), o = \"\", l, s, u;\n for (l = 2; i === 1 / 0; l *= 2)\n i = Math.log(Math.pow(2, r / l)) / Math.log(n) * l;\n var f = i - Math.floor(i);\n for (l = 0; l < Math.floor(i); l++)\n u = Math.floor(Math.random() * n).toString(n), o = u + o;\n f && (s = Math.pow(n, f), u = Math.floor(Math.random() * s).toString(n), o = u + o);\n var d = parseInt(o, n);\n return t && t[o] || d !== 1 / 0 && d >= Math.pow(2, r) ? a > 10 ? (xe.warn(\"randstr failed uniqueness\"), o) : e(t, r, n, (a || 0) + 1) : o;\n};\nxe.OptionControl = function(e, t) {\n e || (e = {}), t || (t = \"opt\");\n var r = {};\n return r.optionList = [], r._newoption = function(n) {\n n[t] = e, r[n.name] = n, r.optionList.push(n);\n }, r[\"_\" + t] = e, r;\n};\nxe.smooth = function(e, t) {\n if (t = Math.round(t) || 0, t < 2) return e;\n var r = e.length, n = 2 * r, a = 2 * t - 1, i = new Array(a), o = new Array(r), l, s, u, f;\n for (l = 0; l < a; l++)\n i[l] = (1 - Math.cos(Math.PI * (l + 1) / t)) / (2 * t);\n for (l = 0; l < r; l++) {\n for (f = 0, s = 0; s < a; s++)\n u = l + s + 1 - t, u < -r ? u -= n * Math.round(u / n) : u >= n && (u -= n * Math.floor(u / n)), u < 0 ? u = -1 - u : u >= r && (u = n - 1 - u), f += e[u] * i[s];\n o[l] = f;\n }\n return o;\n};\nxe.syncOrAsync = function(e, t, r) {\n var n, a;\n function i() {\n return xe.syncOrAsync(e, t, r);\n }\n for (; e.length; )\n if (a = e.splice(0, 1)[0], n = a(t), n && n.then)\n return n.then(i);\n return r && r(t);\n};\nxe.stripTrailingSlash = function(e) {\n return e.substr(-1) === \"/\" ? e.substr(0, e.length - 1) : e;\n};\nxe.noneOrAll = function(e, t, r) {\n if (e) {\n var n = !1, a = !0, i, o;\n for (i = 0; i < r.length; i++)\n o = e[r[i]], o != null ? n = !0 : a = !1;\n if (n && !a)\n for (i = 0; i < r.length; i++)\n e[r[i]] = t[r[i]];\n }\n};\nxe.mergeArray = function(e, t, r, n) {\n var a = typeof n == \"function\";\n if (xe.isArrayOrTypedArray(e))\n for (var i = Math.min(e.length, t.length), o = 0; o < i; o++) {\n var l = e[o];\n t[o][r] = a ? n(l) : l;\n }\n};\nxe.mergeArrayCastPositive = function(e, t, r) {\n return xe.mergeArray(e, t, r, function(n) {\n var a = +n;\n return isFinite(a) && a > 0 ? a : 0;\n });\n};\nxe.fillArray = function(e, t, r, n) {\n if (n = n || xe.identity, xe.isArrayOrTypedArray(e))\n for (var a = 0; a < t.length; a++)\n t[a][r] = n(e[a]);\n};\nxe.castOption = function(e, t, r, n) {\n n = n || xe.identity;\n var a = xe.nestedProperty(e, r).get();\n return xe.isArrayOrTypedArray(a) ? Array.isArray(t) && xe.isArrayOrTypedArray(a[t[0]]) ? n(a[t[0]][t[1]]) : n(a[t]) : a;\n};\nxe.extractOption = function(e, t, r, n) {\n if (r in e) return e[r];\n var a = xe.nestedProperty(t, n).get();\n if (!Array.isArray(a)) return a;\n};\nfunction RL(e) {\n var t = {};\n for (var r in e)\n for (var n = e[r], a = 0; a < n.length; a++)\n t[n[a]] = +r;\n return t;\n}\nxe.tagSelected = function(e, t, r) {\n var n = t.selectedpoints, a = t._indexToPoints, i;\n a && (i = RL(a));\n function o(d) {\n return d !== void 0 && d < e.length;\n }\n for (var l = 0; l < n.length; l++) {\n var s = n[l];\n if (xe.isIndex(s) || xe.isArrayOrTypedArray(s) && xe.isIndex(s[0]) && xe.isIndex(s[1])) {\n var u = i ? i[s] : s, f = r ? r[u] : u;\n o(f) && (e[f].selected = 1);\n }\n }\n};\nxe.selIndices2selPoints = function(e) {\n var t = e.selectedpoints, r = e._indexToPoints;\n if (r) {\n for (var n = RL(r), a = [], i = 0; i < t.length; i++) {\n var o = t[i];\n if (xe.isIndex(o)) {\n var l = n[o];\n xe.isIndex(l) && a.push(l);\n }\n }\n return a;\n } else\n return t;\n};\nxe.getTargetArray = function(e, t) {\n var r = t.target;\n if (typeof r == \"string\" && r) {\n var n = xe.nestedProperty(e, r).get();\n return xe.isArrayOrTypedArray(n) ? n : !1;\n } else if (xe.isArrayOrTypedArray(r))\n return r;\n return !1;\n};\nfunction PL(e, t, r) {\n var n = {};\n typeof t != \"object\" && (t = {});\n var a = r === \"pieLike\" ? -1 : 3, i = Object.keys(e), o, l, s;\n for (o = 0; o < i.length; o++)\n l = i[o], s = e[l], !(l.charAt(0) === \"_\" || typeof s == \"function\") && (l === \"module\" ? n[l] = s : Array.isArray(s) ? l === \"colorscale\" || a === -1 ? n[l] = s.slice() : n[l] = s.slice(0, a) : xe.isTypedArray(s) ? a === -1 ? n[l] = s.subarray() : n[l] = s.subarray(0, a) : s && typeof s == \"object\" ? n[l] = PL(e[l], t[l], r) : n[l] = s);\n for (i = Object.keys(t), o = 0; o < i.length; o++)\n l = i[o], s = t[l], (typeof s != \"object\" || !(l in n) || typeof n[l] != \"object\") && (n[l] = s);\n return n;\n}\nxe.minExtend = PL;\nxe.titleCase = function(e) {\n return e.charAt(0).toUpperCase() + e.substr(1);\n};\nxe.containsAny = function(e, t) {\n for (var r = 0; r < t.length; r++)\n if (e.indexOf(t[r]) !== -1) return !0;\n return !1;\n};\nxe.isIE = function() {\n return typeof window.navigator.msSaveBlob < \"u\";\n};\nvar sq = /Version\\/[\\d\\.]+.*Safari/;\nxe.isSafari = function() {\n return sq.test(window.navigator.userAgent);\n};\nvar uq = /iPad|iPhone|iPod/;\nxe.isIOS = function() {\n return uq.test(window.navigator.userAgent);\n};\nvar fq = /Firefox\\/(\\d+)\\.\\d+/;\nxe.getFirefoxVersion = function() {\n var e = fq.exec(window.navigator.userAgent);\n if (e && e.length === 2) {\n var t = parseInt(e[1]);\n if (!isNaN(t))\n return t;\n }\n return null;\n};\nxe.isD3Selection = function(e) {\n return e instanceof Zf.selection;\n};\nxe.ensureSingle = function(e, t, r, n) {\n var a = e.select(t + (r ? \".\" + r : \"\"));\n if (a.size()) return a;\n var i = e.append(t);\n return r && i.classed(r, !0), n && i.call(n), i;\n};\nxe.ensureSingleById = function(e, t, r, n) {\n var a = e.select(t + \"#\" + r);\n if (a.size()) return a;\n var i = e.append(t).attr(\"id\", r);\n return n && i.call(n), i;\n};\nxe.objectFromPath = function(e, t) {\n for (var r = e.split(\".\"), n, a = n = {}, i = 0; i < r.length; i++) {\n var o = r[i], l = null, s = r[i].match(/(.*)\\[([0-9]+)\\]/);\n s ? (o = s[1], l = s[2], n = n[o] = [], i === r.length - 1 ? n[l] = t : n[l] = {}, n = n[l]) : (i === r.length - 1 ? n[o] = t : n[o] = {}, n = n[o]);\n }\n return a;\n};\nvar cq = /^([^\\[\\.]+)\\.(.+)?/, dq = /^([^\\.]+)\\[([0-9]+)\\](\\.)?(.+)?/;\nfunction Od(e) {\n return e.slice(0, 2) === \"__\";\n}\nxe.expandObjectPaths = function(e) {\n var t, r, n, a, i, o, l;\n if (typeof e == \"object\" && !Array.isArray(e)) {\n for (r in e)\n if (e.hasOwnProperty(r))\n if (t = r.match(cq)) {\n if (a = e[r], n = t[1], Od(n)) continue;\n delete e[r], e[n] = xe.extendDeepNoArrays(e[n] || {}, xe.objectFromPath(r, xe.expandObjectPaths(a))[n]);\n } else if (t = r.match(dq)) {\n if (a = e[r], n = t[1], Od(n)) continue;\n if (i = parseInt(t[2]), delete e[r], e[n] = e[n] || [], t[3] === \".\")\n l = t[4], o = e[n][i] = e[n][i] || {}, xe.extendDeepNoArrays(o, xe.objectFromPath(l, xe.expandObjectPaths(a)));\n else {\n if (Od(n)) continue;\n e[n][i] = xe.expandObjectPaths(a);\n }\n } else {\n if (Od(r)) continue;\n e[r] = xe.expandObjectPaths(e[r]);\n }\n }\n return e;\n};\nxe.numSeparate = function(e, t, r) {\n if (r || (r = !1), typeof t != \"string\" || t.length === 0)\n throw new Error(\"Separator string required for formatting!\");\n typeof e == \"number\" && (e = String(e));\n var n = /(\\d+)(\\d{3})/, a = t.charAt(0), i = t.charAt(1), o = e.split(\".\"), l = o[0], s = o.length > 1 ? a + o[1] : \"\";\n if (i && (o.length > 1 || l.length > 4 || r))\n for (; n.test(l); )\n l = l.replace(n, \"$1\" + i + \"$2\");\n return l + s;\n};\nxe.TEMPLATE_STRING_REGEX = /%{([^\\s%{}:]*)([:|\\|][^}]*)?}/g;\nvar $L = /^\\w*$/;\nxe.templateString = function(e, t) {\n var r = {};\n return e.replace(xe.TEMPLATE_STRING_REGEX, function(n, a) {\n var i;\n return $L.test(a) ? i = t[a] : (r[a] = r[a] || xe.nestedProperty(t, a).get, i = r[a]()), xe.isValidTextValue(i) ? i : \"\";\n });\n};\nvar hq = {\n max: 10,\n count: 0,\n name: \"hovertemplate\"\n};\nxe.hovertemplateString = function() {\n return ib.apply(hq, arguments);\n};\nvar vq = {\n max: 10,\n count: 0,\n name: \"texttemplate\"\n};\nxe.texttemplateString = function() {\n return ib.apply(vq, arguments);\n};\nvar pq = /^(\\S+)([\\*\\/])(-?\\d+(\\.\\d+)?)$/;\nfunction mq(e) {\n var t = e.match(pq);\n return t ? { key: t[1], op: t[2], number: Number(t[3]) } : { key: e, op: null, number: null };\n}\nvar gq = {\n max: 10,\n count: 0,\n name: \"texttemplate\",\n parseMultDiv: !0\n};\nxe.texttemplateStringForShapes = function() {\n return ib.apply(gq, arguments);\n};\nvar L2 = /^[:|\\|]/;\nfunction ib(e, t, r) {\n var n = this, a = arguments;\n t || (t = {});\n var i = {};\n return e.replace(xe.TEMPLATE_STRING_REGEX, function(o, l, s) {\n var u = l === \"xother\" || l === \"yother\", f = l === \"_xother\" || l === \"_yother\", d = l === \"_xother_\" || l === \"_yother_\", h = l === \"xother_\" || l === \"yother_\", p = u || f || h || d, v = l;\n (f || d) && (v = v.substring(1)), (h || d) && (v = v.substring(0, v.length - 1));\n var m = null, g = null;\n if (n.parseMultDiv) {\n var y = mq(v);\n v = y.key, m = y.op, g = y.number;\n }\n var w;\n if (p) {\n if (w = t[v], w === void 0) return \"\";\n } else {\n var k, x;\n for (x = 3; x < a.length; x++)\n if (k = a[x], !!k) {\n if (k.hasOwnProperty(v)) {\n w = k[v];\n break;\n }\n if ($L.test(v) || (w = xe.nestedProperty(k, v).get(), w = i[v] || xe.nestedProperty(k, v).get(), w && (i[v] = w)), w !== void 0) break;\n }\n }\n if (w !== void 0 && (m === \"*\" && (w *= g), m === \"/\" && (w /= g)), w === void 0 && n)\n return n.count < n.max && (xe.warn(\"Variable '\" + v + \"' in \" + n.name + \" could not be found!\"), w = o), n.count === n.max && xe.warn(\"Too many \" + n.name + \" warnings - additional warnings will be suppressed\"), n.count++, o;\n if (s) {\n var _;\n if (s[0] === \":\" && (_ = r ? r.numberFormat : xe.numberFormat, w = _(s.replace(L2, \"\"))(w)), s[0] === \"|\") {\n _ = r ? r.timeFormat : aq;\n var T = xe.dateTime2ms(w);\n w = xe.formatDate(T, s.replace(L2, \"\"), !1, _);\n }\n } else {\n var S = v + \"Label\";\n t.hasOwnProperty(S) && (w = t[S]);\n }\n return p && (w = \"(\" + w + \")\", (f || d) && (w = \" \" + w), (h || d) && (w = w + \" \")), w;\n });\n}\nvar Hd = 48, D2 = 57;\nxe.subplotSort = function(e, t) {\n for (var r = Math.min(e.length, t.length) + 1, n = 0, a = 0, i = 0; i < r; i++) {\n var o = e.charCodeAt(i) || 0, l = t.charCodeAt(i) || 0, s = o >= Hd && o <= D2, u = l >= Hd && l <= D2;\n if (s && (n = 10 * n + o - Hd), u && (a = 10 * a + l - Hd), !s || !u) {\n if (n !== a) return n - a;\n if (o !== l) return o - l;\n }\n }\n return a - n;\n};\nvar ru = 2e9;\nxe.seedPseudoRandom = function() {\n ru = 2e9;\n};\nxe.pseudoRandom = function() {\n var e = ru;\n return ru = (69069 * ru + 1) % 4294967296, Math.abs(ru - e) < 429496729 ? xe.pseudoRandom() : ru / 4294967296;\n};\nxe.fillText = function(e, t, r) {\n var n = Array.isArray(r) ? function(o) {\n r.push(o);\n } : function(o) {\n r.text = o;\n }, a = xe.extractOption(e, t, \"htx\", \"hovertext\");\n if (xe.isValidTextValue(a)) return n(a);\n var i = xe.extractOption(e, t, \"tx\", \"text\");\n if (xe.isValidTextValue(i)) return n(i);\n};\nxe.isValidTextValue = function(e) {\n return e || e === 0;\n};\nxe.formatPercent = function(e, t) {\n t = t || 0;\n for (var r = (Math.round(100 * e * Math.pow(10, t)) * Math.pow(0.1, t)).toFixed(t) + \"%\", n = 0; n < t; n++)\n r.indexOf(\".\") !== -1 && (r = r.replace(\"0%\", \"%\"), r = r.replace(\".%\", \"%\"));\n return r;\n};\nxe.isHidden = function(e) {\n var t = window.getComputedStyle(e).display;\n return !t || t === \"none\";\n};\nxe.strTranslate = function(e, t) {\n return e || t ? \"translate(\" + e + \",\" + t + \")\" : \"\";\n};\nxe.strRotate = function(e) {\n return e ? \"rotate(\" + e + \")\" : \"\";\n};\nxe.strScale = function(e) {\n return e !== 1 ? \"scale(\" + e + \")\" : \"\";\n};\nxe.getTextTransform = function(e) {\n var t = e.noCenter, r = e.textX, n = e.textY, a = e.targetX, i = e.targetY, o = e.anchorX || 0, l = e.anchorY || 0, s = e.rotate, u = e.scale;\n return u ? u > 1 && (u = 1) : u = 0, xe.strTranslate(\n a - u * (r + o),\n i - u * (n + l)\n ) + xe.strScale(u) + (s ? \"rotate(\" + s + (t ? \"\" : \" \" + r + \" \" + n) + \")\" : \"\");\n};\nxe.setTransormAndDisplay = function(e, t) {\n e.attr(\"transform\", xe.getTextTransform(t)), e.style(\"display\", t.scale ? null : \"none\");\n};\nxe.ensureUniformFontSize = function(e, t) {\n var r = xe.extendFlat({}, t);\n return r.size = Math.max(\n t.size,\n e._fullLayout.uniformtext.minsize || 0\n ), r;\n};\nxe.join2 = function(e, t, r) {\n var n = e.length;\n return n > 1 ? e.slice(0, -1).join(t) + r + e[n - 1] : e.join(t);\n};\nxe.bigFont = function(e) {\n return Math.round(1.2 * e);\n};\nvar E2 = xe.getFirefoxVersion(), yq = E2 !== null && E2 < 86;\nxe.getPositionFromD3Event = function() {\n return yq ? [\n Zf.event.layerX,\n Zf.event.layerY\n ] : [\n Zf.event.offsetX,\n Zf.event.offsetY\n ];\n};\nvar Ue = aC.exports, bq = Ue, F2 = {\n \"X,X div\": 'direction:ltr;font-family:\"Open Sans\",verdana,arial,sans-serif;margin:0;padding:0;',\n \"X input,X button\": 'font-family:\"Open Sans\",verdana,arial,sans-serif;',\n \"X input:focus,X button:focus\": \"outline:none;\",\n \"X a\": \"text-decoration:none;\",\n \"X a:hover\": \"text-decoration:none;\",\n \"X .crisp\": \"shape-rendering:crispEdges;\",\n \"X .user-select-none\": \"-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;\",\n \"X svg\": \"overflow:hidden;\",\n \"X svg a\": \"fill:#447adb;\",\n \"X svg a:hover\": \"fill:#3c6dc5;\",\n \"X .main-svg\": \"position:absolute;top:0;left:0;pointer-events:none;\",\n \"X .main-svg .draglayer\": \"pointer-events:all;\",\n \"X .cursor-default\": \"cursor:default;\",\n \"X .cursor-pointer\": \"cursor:pointer;\",\n \"X .cursor-crosshair\": \"cursor:crosshair;\",\n \"X .cursor-move\": \"cursor:move;\",\n \"X .cursor-col-resize\": \"cursor:col-resize;\",\n \"X .cursor-row-resize\": \"cursor:row-resize;\",\n \"X .cursor-ns-resize\": \"cursor:ns-resize;\",\n \"X .cursor-ew-resize\": \"cursor:ew-resize;\",\n \"X .cursor-sw-resize\": \"cursor:sw-resize;\",\n \"X .cursor-s-resize\": \"cursor:s-resize;\",\n \"X .cursor-se-resize\": \"cursor:se-resize;\",\n \"X .cursor-w-resize\": \"cursor:w-resize;\",\n \"X .cursor-e-resize\": \"cursor:e-resize;\",\n \"X .cursor-nw-resize\": \"cursor:nw-resize;\",\n \"X .cursor-n-resize\": \"cursor:n-resize;\",\n \"X .cursor-ne-resize\": \"cursor:ne-resize;\",\n \"X .cursor-grab\": \"cursor:-webkit-grab;cursor:grab;\",\n \"X .modebar\": \"position:absolute;top:2px;right:2px;\",\n \"X .ease-bg\": \"-webkit-transition:background-color .3s ease 0s;-moz-transition:background-color .3s ease 0s;-ms-transition:background-color .3s ease 0s;-o-transition:background-color .3s ease 0s;transition:background-color .3s ease 0s;\",\n \"X .modebar--hover>:not(.watermark)\": \"opacity:0;-webkit-transition:opacity .3s ease 0s;-moz-transition:opacity .3s ease 0s;-ms-transition:opacity .3s ease 0s;-o-transition:opacity .3s ease 0s;transition:opacity .3s ease 0s;\",\n \"X:hover .modebar--hover .modebar-group\": \"opacity:1;\",\n \"X .modebar-group\": \"float:left;display:inline-block;box-sizing:border-box;padding-left:8px;position:relative;vertical-align:middle;white-space:nowrap;\",\n \"X .modebar-btn\": \"position:relative;font-size:16px;padding:3px 4px;height:22px;cursor:pointer;line-height:normal;box-sizing:border-box;\",\n \"X .modebar-btn svg\": \"position:relative;top:2px;\",\n \"X .modebar.vertical\": \"display:flex;flex-direction:column;flex-wrap:wrap;align-content:flex-end;max-height:100%;\",\n \"X .modebar.vertical svg\": \"top:-1px;\",\n \"X .modebar.vertical .modebar-group\": \"display:block;float:none;padding-left:0px;padding-bottom:8px;\",\n \"X .modebar.vertical .modebar-group .modebar-btn\": \"display:block;text-align:center;\",\n \"X [data-title]:before,X [data-title]:after\": \"position:absolute;-webkit-transform:translate3d(0, 0, 0);-moz-transform:translate3d(0, 0, 0);-ms-transform:translate3d(0, 0, 0);-o-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);display:none;opacity:0;z-index:1001;pointer-events:none;top:110%;right:50%;\",\n \"X [data-title]:hover:before,X [data-title]:hover:after\": \"display:block;opacity:1;\",\n \"X [data-title]:before\": 'content:\"\";position:absolute;background:rgba(0,0,0,0);border:6px solid rgba(0,0,0,0);z-index:1002;margin-top:-12px;border-bottom-color:#69738a;margin-right:-6px;',\n \"X [data-title]:after\": \"content:attr(data-title);background:#69738a;color:#fff;padding:8px 10px;font-size:12px;line-height:12px;white-space:nowrap;margin-right:-18px;border-radius:2px;\",\n \"X .vertical [data-title]:before,X .vertical [data-title]:after\": \"top:0%;right:200%;\",\n \"X .vertical [data-title]:before\": \"border:6px solid rgba(0,0,0,0);border-left-color:#69738a;margin-top:8px;margin-right:-30px;\",\n Y: 'font-family:\"Open Sans\",verdana,arial,sans-serif;position:fixed;top:50px;right:20px;z-index:10000;font-size:10pt;max-width:180px;',\n \"Y p\": \"margin:0;\",\n \"Y .notifier-note\": \"min-width:180px;max-width:250px;border:1px solid #fff;z-index:3000;margin:0;background-color:#8c97af;background-color:rgba(140,151,175,.9);color:#fff;padding:10px;overflow-wrap:break-word;word-wrap:break-word;-ms-hyphens:auto;-webkit-hyphens:auto;hyphens:auto;\",\n \"Y .notifier-close\": \"color:#fff;opacity:.8;float:right;padding:0 5px;background:none;border:none;font-size:20px;font-weight:bold;line-height:20px;\",\n \"Y .notifier-close:hover\": \"color:#444;text-decoration:none;cursor:pointer;\"\n};\nfor (var R2 in F2) {\n var _q = R2.replace(/^,/, \" ,\").replace(/X/g, \".js-plotly-plot .plotly\").replace(/Y/g, \".plotly-notifier\");\n bq.addStyleRule(_q, F2[R2]);\n}\nvar Or = {}, ob = {}, xq = !0, wq = xq, uy;\ntypeof Wl.matchMedia == \"function\" ? uy = !Wl.matchMedia(\"(hover: none)\").matches : uy = wq;\nvar zL = uy, lb = { exports: {} }, gu = typeof Reflect == \"object\" ? Reflect : null, P2 = gu && typeof gu.apply == \"function\" ? gu.apply : function(t, r, n) {\n return Function.prototype.apply.call(t, r, n);\n}, Rh;\ngu && typeof gu.ownKeys == \"function\" ? Rh = gu.ownKeys : Object.getOwnPropertySymbols ? Rh = function(t) {\n return Object.getOwnPropertyNames(t).concat(Object.getOwnPropertySymbols(t));\n} : Rh = function(t) {\n return Object.getOwnPropertyNames(t);\n};\nfunction Tq(e) {\n console && console.warn && console.warn(e);\n}\nvar IL = Number.isNaN || function(t) {\n return t !== t;\n};\nfunction Nr() {\n Nr.init.call(this);\n}\nlb.exports = Nr;\nlb.exports.once = Sq;\nNr.EventEmitter = Nr;\nNr.prototype._events = void 0;\nNr.prototype._eventsCount = 0;\nNr.prototype._maxListeners = void 0;\nvar $2 = 10;\nfunction _p(e) {\n if (typeof e != \"function\")\n throw new TypeError('The \"listener\" argument must be of type Function. Received type ' + typeof e);\n}\nObject.defineProperty(Nr, \"defaultMaxListeners\", {\n enumerable: !0,\n get: function() {\n return $2;\n },\n set: function(e) {\n if (typeof e != \"number\" || e < 0 || IL(e))\n throw new RangeError('The value of \"defaultMaxListeners\" is out of range. It must be a non-negative number. Received ' + e + \".\");\n $2 = e;\n }\n});\nNr.init = function() {\n (this._events === void 0 || this._events === Object.getPrototypeOf(this)._events) && (this._events = /* @__PURE__ */ Object.create(null), this._eventsCount = 0), this._maxListeners = this._maxListeners || void 0;\n};\nNr.prototype.setMaxListeners = function(t) {\n if (typeof t != \"number\" || t < 0 || IL(t))\n throw new RangeError('The value of \"n\" is out of range. It must be a non-negative number. Received ' + t + \".\");\n return this._maxListeners = t, this;\n};\nfunction NL(e) {\n return e._maxListeners === void 0 ? Nr.defaultMaxListeners : e._maxListeners;\n}\nNr.prototype.getMaxListeners = function() {\n return NL(this);\n};\nNr.prototype.emit = function(t) {\n for (var r = [], n = 1; n < arguments.length; n++) r.push(arguments[n]);\n var a = t === \"error\", i = this._events;\n if (i !== void 0)\n a = a && i.error === void 0;\n else if (!a)\n return !1;\n if (a) {\n var o;\n if (r.length > 0 && (o = r[0]), o instanceof Error)\n throw o;\n var l = new Error(\"Unhandled error.\" + (o ? \" (\" + o.message + \")\" : \"\"));\n throw l.context = o, l;\n }\n var s = i[t];\n if (s === void 0)\n return !1;\n if (typeof s == \"function\")\n P2(s, this, r);\n else\n for (var u = s.length, f = UL(s, u), n = 0; n < u; ++n)\n P2(f[n], this, r);\n return !0;\n};\nfunction OL(e, t, r, n) {\n var a, i, o;\n if (_p(r), i = e._events, i === void 0 ? (i = e._events = /* @__PURE__ */ Object.create(null), e._eventsCount = 0) : (i.newListener !== void 0 && (e.emit(\n \"newListener\",\n t,\n r.listener ? r.listener : r\n ), i = e._events), o = i[t]), o === void 0)\n o = i[t] = r, ++e._eventsCount;\n else if (typeof o == \"function\" ? o = i[t] = n ? [r, o] : [o, r] : n ? o.unshift(r) : o.push(r), a = NL(e), a > 0 && o.length > a && !o.warned) {\n o.warned = !0;\n var l = new Error(\"Possible EventEmitter memory leak detected. \" + o.length + \" \" + String(t) + \" listeners added. Use emitter.setMaxListeners() to increase limit\");\n l.name = \"MaxListenersExceededWarning\", l.emitter = e, l.type = t, l.count = o.length, Tq(l);\n }\n return e;\n}\nNr.prototype.addListener = function(t, r) {\n return OL(this, t, r, !1);\n};\nNr.prototype.on = Nr.prototype.addListener;\nNr.prototype.prependListener = function(t, r) {\n return OL(this, t, r, !0);\n};\nfunction kq() {\n if (!this.fired)\n return this.target.removeListener(this.type, this.wrapFn), this.fired = !0, arguments.length === 0 ? this.listener.call(this.target) : this.listener.apply(this.target, arguments);\n}\nfunction HL(e, t, r) {\n var n = { fired: !1, wrapFn: void 0, target: e, type: t, listener: r }, a = kq.bind(n);\n return a.listener = r, n.wrapFn = a, a;\n}\nNr.prototype.once = function(t, r) {\n return _p(r), this.on(t, HL(this, t, r)), this;\n};\nNr.prototype.prependOnceListener = function(t, r) {\n return _p(r), this.prependListener(t, HL(this, t, r)), this;\n};\nNr.prototype.removeListener = function(t, r) {\n var n, a, i, o, l;\n if (_p(r), a = this._events, a === void 0)\n return this;\n if (n = a[t], n === void 0)\n return this;\n if (n === r || n.listener === r)\n --this._eventsCount === 0 ? this._events = /* @__PURE__ */ Object.create(null) : (delete a[t], a.removeListener && this.emit(\"removeListener\", t, n.listener || r));\n else if (typeof n != \"function\") {\n for (i = -1, o = n.length - 1; o >= 0; o--)\n if (n[o] === r || n[o].listener === r) {\n l = n[o].listener, i = o;\n break;\n }\n if (i < 0)\n return this;\n i === 0 ? n.shift() : Aq(n, i), n.length === 1 && (a[t] = n[0]), a.removeListener !== void 0 && this.emit(\"removeListener\", t, l || r);\n }\n return this;\n};\nNr.prototype.off = Nr.prototype.removeListener;\nNr.prototype.removeAllListeners = function(t) {\n var r, n, a;\n if (n = this._events, n === void 0)\n return this;\n if (n.removeListener === void 0)\n return arguments.length === 0 ? (this._events = /* @__PURE__ */ Object.create(null), this._eventsCount = 0) : n[t] !== void 0 && (--this._eventsCount === 0 ? this._events = /* @__PURE__ */ Object.create(null) : delete n[t]), this;\n if (arguments.length === 0) {\n var i = Object.keys(n), o;\n for (a = 0; a < i.length; ++a)\n o = i[a], o !== \"removeListener\" && this.removeAllListeners(o);\n return this.removeAllListeners(\"removeListener\"), this._events = /* @__PURE__ */ Object.create(null), this._eventsCount = 0, this;\n }\n if (r = n[t], typeof r == \"function\")\n this.removeListener(t, r);\n else if (r !== void 0)\n for (a = r.length - 1; a >= 0; a--)\n this.removeListener(t, r[a]);\n return this;\n};\nfunction BL(e, t, r) {\n var n = e._events;\n if (n === void 0)\n return [];\n var a = n[t];\n return a === void 0 ? [] : typeof a == \"function\" ? r ? [a.listener || a] : [a] : r ? Mq(a) : UL(a, a.length);\n}\nNr.prototype.listeners = function(t) {\n return BL(this, t, !0);\n};\nNr.prototype.rawListeners = function(t) {\n return BL(this, t, !1);\n};\nNr.listenerCount = function(e, t) {\n return typeof e.listenerCount == \"function\" ? e.listenerCount(t) : jL.call(e, t);\n};\nNr.prototype.listenerCount = jL;\nfunction jL(e) {\n var t = this._events;\n if (t !== void 0) {\n var r = t[e];\n if (typeof r == \"function\")\n return 1;\n if (r !== void 0)\n return r.length;\n }\n return 0;\n}\nNr.prototype.eventNames = function() {\n return this._eventsCount > 0 ? Rh(this._events) : [];\n};\nfunction UL(e, t) {\n for (var r = new Array(t), n = 0; n < t; ++n)\n r[n] = e[n];\n return r;\n}\nfunction Aq(e, t) {\n for (; t + 1 < e.length; t++)\n e[t] = e[t + 1];\n e.pop();\n}\nfunction Mq(e) {\n for (var t = new Array(e.length), r = 0; r < t.length; ++r)\n t[r] = e[r].listener || e[r];\n return t;\n}\nfunction Sq(e, t) {\n return new Promise(function(r, n) {\n function a(o) {\n e.removeListener(t, i), n(o);\n }\n function i() {\n typeof e.removeListener == \"function\" && e.removeListener(\"error\", a), r([].slice.call(arguments));\n }\n GL(e, t, i, { once: !0 }), t !== \"error\" && Cq(e, a, { once: !0 });\n });\n}\nfunction Cq(e, t, r) {\n typeof e.on == \"function\" && GL(e, \"error\", t, r);\n}\nfunction GL(e, t, r, n) {\n if (typeof e.on == \"function\")\n n.once ? e.once(t, r) : e.on(t, r);\n else if (typeof e.addEventListener == \"function\")\n e.addEventListener(t, function a(i) {\n n.once && e.removeEventListener(t, a), r(i);\n });\n else\n throw new TypeError('The \"emitter\" argument must be of type EventEmitter. Received type ' + typeof e);\n}\nvar sb = lb.exports, Zm = sb.EventEmitter, Lq = {\n init: function(e) {\n if (e._ev instanceof Zm) return e;\n var t = new Zm(), r = new Zm();\n return e._ev = t, e._internalEv = r, e.on = t.on.bind(t), e.once = t.once.bind(t), e.removeListener = t.removeListener.bind(t), e.removeAllListeners = t.removeAllListeners.bind(t), e._internalOn = r.on.bind(r), e._internalOnce = r.once.bind(r), e._removeInternalListener = r.removeListener.bind(r), e._removeAllInternalListeners = r.removeAllListeners.bind(r), e.emit = function(n, a) {\n typeof jQuery < \"u\" && jQuery(e).trigger(n, a), t.emit(n, a), r.emit(n, a);\n }, e;\n },\n /*\n * This function behaves like jQuery's triggerHandler. It calls\n * all handlers for a particular event and returns the return value\n * of the LAST handler. This function also triggers jQuery's\n * triggerHandler for backwards compatibility.\n */\n triggerHandler: function(e, t, r) {\n var n, a;\n typeof jQuery < \"u\" && (n = jQuery(e).triggerHandler(t, r));\n var i = e._ev;\n if (!i) return n;\n var o = i._events[t];\n if (!o) return n;\n function l(u) {\n if (u.listener) {\n if (i.removeListener(t, u.listener), !u.fired)\n return u.fired = !0, u.listener.apply(i, [r]);\n } else\n return u.apply(i, [r]);\n }\n o = Array.isArray(o) ? o : [o];\n var s;\n for (s = 0; s < o.length - 1; s++)\n l(o[s]);\n return a = l(o[s]), n !== void 0 ? n : a;\n },\n purge: function(e) {\n return delete e._ev, delete e.on, delete e.once, delete e.removeListener, delete e.removeAllListeners, delete e.emit, delete e._ev, delete e._internalEv, delete e._internalOn, delete e._internalOnce, delete e._removeInternalListener, delete e._removeAllInternalListeners, e;\n }\n}, xp = Lq, z2 = Ue, Dq = Yu.dfltConfig;\nfunction Eq(e, t) {\n for (var r = [], n, a = 0; a < t.length; a++)\n n = t[a], n === e ? r[a] = n : typeof n == \"object\" ? r[a] = Array.isArray(n) ? z2.extendDeep([], n) : z2.extendDeepAll({}, n) : r[a] = n;\n return r;\n}\nvar ko = {};\nko.add = function(e, t, r, n, a) {\n var i, o;\n if (e.undoQueue = e.undoQueue || { index: 0, queue: [], sequence: !1 }, o = e.undoQueue.index, e.autoplay) {\n e.undoQueue.inSequence || (e.autoplay = !1);\n return;\n }\n !e.undoQueue.sequence || e.undoQueue.beginSequence ? (i = { undo: { calls: [], args: [] }, redo: { calls: [], args: [] } }, e.undoQueue.queue.splice(o, e.undoQueue.queue.length - o, i), e.undoQueue.index += 1) : i = e.undoQueue.queue[o - 1], e.undoQueue.beginSequence = !1, i && (i.undo.calls.unshift(t), i.undo.args.unshift(r), i.redo.calls.push(n), i.redo.args.push(a)), e.undoQueue.queue.length > Dq.queueLength && (e.undoQueue.queue.shift(), e.undoQueue.index--);\n};\nko.startSequence = function(e) {\n e.undoQueue = e.undoQueue || { index: 0, queue: [], sequence: !1 }, e.undoQueue.sequence = !0, e.undoQueue.beginSequence = !0;\n};\nko.stopSequence = function(e) {\n e.undoQueue = e.undoQueue || { index: 0, queue: [], sequence: !1 }, e.undoQueue.sequence = !1, e.undoQueue.beginSequence = !1;\n};\nko.undo = function(t) {\n var r, n;\n if (!(t.undoQueue === void 0 || isNaN(t.undoQueue.index) || t.undoQueue.index <= 0)) {\n for (t.undoQueue.index--, r = t.undoQueue.queue[t.undoQueue.index], t.undoQueue.inSequence = !0, n = 0; n < r.undo.calls.length; n++)\n ko.plotDo(t, r.undo.calls[n], r.undo.args[n]);\n t.undoQueue.inSequence = !1, t.autoplay = !1;\n }\n};\nko.redo = function(t) {\n var r, n;\n if (!(t.undoQueue === void 0 || isNaN(t.undoQueue.index) || t.undoQueue.index >= t.undoQueue.queue.length)) {\n for (r = t.undoQueue.queue[t.undoQueue.index], t.undoQueue.inSequence = !0, n = 0; n < r.redo.calls.length; n++)\n ko.plotDo(t, r.redo.calls[n], r.redo.args[n]);\n t.undoQueue.inSequence = !1, t.autoplay = !1, t.undoQueue.index++;\n }\n};\nko.plotDo = function(e, t, r) {\n e.autoplay = !0, r = Eq(e, r), t.apply(null, r);\n};\nvar Fq = ko, Qu = {}, VL = {\n _isLinkedToArray: \"frames_entry\",\n group: {\n valType: \"string\",\n description: [\n \"An identifier that specifies the group to which the frame belongs,\",\n \"used by animate to select a subset of frames.\"\n ].join(\" \")\n },\n name: {\n valType: \"string\",\n description: \"A label by which to identify the frame\"\n },\n traces: {\n valType: \"any\",\n description: [\n \"A list of trace indices that identify the respective traces in the\",\n \"data attribute\"\n ].join(\" \")\n },\n baseframe: {\n valType: \"string\",\n description: [\n \"The name of the frame into which this frame's properties are merged\",\n \"before applying. This is used to unify properties and avoid needing\",\n \"to specify the same values for the same properties in multiple frames.\"\n ].join(\" \")\n },\n data: {\n valType: \"any\",\n description: [\n \"A list of traces this frame modifies. The format is identical to the\",\n \"normal trace definition.\"\n ].join(\" \")\n },\n layout: {\n valType: \"any\",\n description: [\n \"Layout properties which this frame modifies. The format is identical\",\n \"to the normal layout definition.\"\n ].join(\" \")\n }\n};\n(function(e) {\n var t = Nt, r = Ue, n = Wi, a = Xc, i = VL, o = hp, l = Yu.configAttributes, s = Lo, u = r.extendDeepAll, f = r.isPlainObject, d = r.isArrayOrTypedArray, h = r.nestedProperty, p = r.valObjectMeta, v = \"_isSubplotObj\", m = \"_isLinkedToArray\", g = \"_arrayAttrRegexps\", y = \"_deprecated\", w = [v, m, g, y];\n e.IS_SUBPLOT_OBJ = v, e.IS_LINKED_TO_ARRAY = m, e.DEPRECATED = y, e.UNDERSCORE_ATTRS = w, e.get = function() {\n var V = {};\n t.allTypes.forEach(function(P) {\n V[P] = T(P);\n });\n var z = {};\n return Object.keys(t.transformsRegistry).forEach(function(P) {\n z[P] = M(P);\n }), {\n defs: {\n valObjects: p,\n metaKeys: w.concat([\"description\", \"role\", \"editType\", \"impliedEdits\"]),\n editType: {\n traces: s.traces,\n layout: s.layout\n },\n impliedEdits: {\n description: [\n \"Sometimes when an attribute is changed, other attributes\",\n \"must be altered as well in order to achieve the intended\",\n \"result. For example, when `range` is specified, it is\",\n \"important to set `autorange` to `false` or the new `range`\",\n \"value would be lost in the redraw. `impliedEdits` is the\",\n \"mechanism to do this: `impliedEdits: {autorange: false}`.\",\n \"Each key is a relative paths to the attribute string to\",\n \"change, using *^* to ascend into the parent container,\",\n \"for example `range[0]` has `impliedEdits: {*^autorange*: false}`.\",\n \"A value of `undefined` means that the attribute will not be\",\n \"changed, but its previous value should be recorded in case\",\n \"we want to reverse this change later. For example, `autorange`\",\n \"has `impliedEdits: {*range[0]*: undefined, *range[1]*:undefined}\",\n \"because the range will likely be changed by redraw.\"\n ].join(\" \")\n }\n },\n traces: V,\n layout: S(),\n transforms: z,\n frames: L(),\n animation: F(o),\n config: F(l)\n };\n }, e.crawl = function(V, z, P, R) {\n var H = P || 0;\n R = R || \"\", Object.keys(V).forEach(function(B) {\n var W = V[B];\n if (w.indexOf(B) === -1) {\n var ee = (R ? R + \".\" : \"\") + B;\n z(W, B, V, H, ee), !e.isValObject(W) && f(W) && B !== \"impliedEdits\" && e.crawl(W, z, H + 1, ee);\n }\n });\n }, e.isValObject = function(V) {\n return V && V.valType !== void 0;\n }, e.findArrayAttributes = function(V) {\n var z = [], P = [], R = [], H, B;\n function W(j, U, Z, le) {\n P = P.slice(0, le).concat([U]), R = R.slice(0, le).concat([j && j._isLinkedToArray]);\n var J = j && (j.valType === \"data_array\" || j.arrayOk === !0) && !(P[le - 1] === \"colorbar\" && (U === \"ticktext\" || U === \"tickvals\"));\n J && ee(H, 0, \"\");\n }\n function ee(j, U, Z) {\n var le = j[P[U]], J = Z + P[U];\n if (U === P.length - 1)\n d(le) && z.push(B + J);\n else if (R[U]) {\n if (Array.isArray(le))\n for (var pe = 0; pe < le.length; pe++)\n f(le[pe]) && ee(le[pe], U + 1, J + \"[\" + pe + \"].\");\n } else f(le) && ee(le, U + 1, J + \".\");\n }\n H = V, B = \"\", e.crawl(n, W), V._module && V._module.attributes && e.crawl(V._module.attributes, W);\n var re = V.transforms;\n if (re)\n for (var ae = 0; ae < re.length; ae++) {\n var Q = re[ae], ue = Q._module;\n ue && (B = \"transforms[\" + ae + \"].\", H = Q, e.crawl(ue.attributes, W));\n }\n return z;\n }, e.getTraceValObject = function(V, z) {\n var P = z[0], R = 1, H, B;\n if (P === \"transforms\") {\n if (z.length === 1)\n return n.transforms;\n var W = V.transforms;\n if (!Array.isArray(W) || !W.length) return !1;\n var ee = z[1];\n if (!_(ee) || ee >= W.length)\n return !1;\n H = (t.transformsRegistry[W[ee].type] || {}).attributes, B = H && H[z[2]], R = 3;\n } else {\n var re = V._module;\n if (re || (re = (t.modules[V.type || n.type.dflt] || {})._module), !re) return !1;\n if (H = re.attributes, B = H && H[P], !B) {\n var ae = re.basePlotModule;\n ae && ae.attributes && (B = ae.attributes[P]);\n }\n B || (B = n[P]);\n }\n return x(B, z, R);\n }, e.getLayoutValObject = function(V, z) {\n var P = k(V, z[0]);\n return x(P, z, 1);\n };\n function k(V, z) {\n var P, R, H, B, W = V._basePlotModules;\n if (W) {\n var ee;\n for (P = 0; P < W.length; P++) {\n if (H = W[P], H.attrRegex && H.attrRegex.test(z)) {\n if (H.layoutAttrOverrides) return H.layoutAttrOverrides;\n !ee && H.layoutAttributes && (ee = H.layoutAttributes);\n }\n var re = H.baseLayoutAttrOverrides;\n if (re && z in re) return re[z];\n }\n if (ee) return ee;\n }\n var ae = V._modules;\n if (ae) {\n for (P = 0; P < ae.length; P++)\n if (B = ae[P].layoutAttributes, B && z in B)\n return B[z];\n }\n for (R in t.componentsRegistry) {\n if (H = t.componentsRegistry[R], H.name === \"colorscale\" && z.indexOf(\"coloraxis\") === 0)\n return H.layoutAttributes[z];\n if (!H.schema && z === H.name)\n return H.layoutAttributes;\n }\n return z in a ? a[z] : !1;\n }\n function x(V, z, P) {\n if (!V) return !1;\n if (V._isLinkedToArray) {\n if (_(z[P])) P++;\n else if (P < z.length) return !1;\n }\n for (; P < z.length; P++) {\n var R = V[z[P]];\n if (f(R)) V = R;\n else break;\n if (P === z.length - 1) break;\n if (V._isLinkedToArray) {\n if (P++, !_(z[P])) return !1;\n } else if (V.valType === \"info_array\") {\n P++;\n var H = z[P];\n if (!_(H)) return !1;\n var B = V.items;\n if (Array.isArray(B)) {\n if (H >= B.length) return !1;\n if (V.dimensions === 2) {\n if (P++, z.length === P) return V;\n var W = z[P];\n if (!_(W)) return !1;\n V = B[H][W];\n } else V = B[H];\n } else\n V = B;\n }\n }\n return V;\n }\n function _(V) {\n return V === Math.round(V) && V >= 0;\n }\n function T(V) {\n var z, P;\n z = t.modules[V]._module, P = z.basePlotModule;\n var R = {};\n R.type = null;\n var H = u({}, n), B = u({}, z.attributes);\n e.crawl(B, function(re, ae, Q, ue, j) {\n h(H, j).set(void 0), re === void 0 && h(B, j).set(void 0);\n }), u(R, H), t.traceIs(V, \"noOpacity\") && delete R.opacity, t.traceIs(V, \"showLegend\") || (delete R.showlegend, delete R.legendgroup), t.traceIs(V, \"noHover\") && (delete R.hoverinfo, delete R.hoverlabel), z.selectPoints || delete R.selectedpoints, u(R, B), P.attributes && u(R, P.attributes), R.type = V;\n var W = {\n meta: z.meta || {},\n categories: z.categories || {},\n animatable: !!z.animatable,\n type: V,\n attributes: F(R)\n };\n if (z.layoutAttributes) {\n var ee = {};\n u(ee, z.layoutAttributes), W.layoutAttributes = F(ee);\n }\n return z.animatable || e.crawl(W, function(re) {\n e.isValObject(re) && \"anim\" in re && delete re.anim;\n }), W;\n }\n function S() {\n var V = {}, z, P;\n u(V, a);\n for (z in t.subplotsRegistry)\n if (P = t.subplotsRegistry[z], !!P.layoutAttributes)\n if (Array.isArray(P.attr))\n for (var R = 0; R < P.attr.length; R++)\n G(V, P, P.attr[R]);\n else {\n var H = P.attr === \"subplot\" ? P.name : P.attr;\n G(V, P, H);\n }\n for (z in t.componentsRegistry) {\n P = t.componentsRegistry[z];\n var B = P.schema;\n if (B && (B.subplots || B.layout)) {\n var W = B.subplots;\n if (W && W.xaxis && !W.yaxis)\n for (var ee in W.xaxis)\n delete V.yaxis[ee];\n delete V.xaxis.shift, delete V.xaxis.autoshift;\n } else P.name === \"colorscale\" ? u(V, P.layoutAttributes) : P.layoutAttributes && K(V, P.layoutAttributes, P.name);\n }\n return {\n layoutAttributes: F(V)\n };\n }\n function M(V) {\n var z = t.transformsRegistry[V], P = u({}, z.attributes);\n return Object.keys(t.componentsRegistry).forEach(function(R) {\n var H = t.componentsRegistry[R];\n H.schema && H.schema.transforms && H.schema.transforms[V] && Object.keys(H.schema.transforms[V]).forEach(function(B) {\n K(P, H.schema.transforms[V][B], B);\n });\n }), {\n attributes: F(P)\n };\n }\n function L() {\n var V = {\n frames: u({}, i)\n };\n return F(V), V.frames;\n }\n function F(V) {\n return $(V), I(V), O(V), V;\n }\n function $(V) {\n function z(R) {\n return {\n valType: \"string\",\n description: \"Sets the source reference on Chart Studio Cloud for `\" + R + \"`.\",\n editType: \"none\"\n };\n }\n function P(R, H, B) {\n e.isValObject(R) ? (R.arrayOk === !0 || R.valType === \"data_array\") && (B[H + \"src\"] = z(H)) : f(R) && (R.role = \"object\");\n }\n e.crawl(V, P);\n }\n function I(V) {\n function z(P, R, H) {\n if (P) {\n var B = P[m];\n B && (delete P[m], H[R] = { items: {} }, H[R].items[B] = P, H[R].role = \"object\");\n }\n }\n e.crawl(V, z);\n }\n function O(V) {\n function z(P) {\n for (var R in P)\n if (f(P[R]))\n z(P[R]);\n else if (Array.isArray(P[R]))\n for (var H = 0; H < P[R].length; H++)\n z(P[R][H]);\n else\n P[R] instanceof RegExp && (P[R] = P[R].toString());\n }\n z(V);\n }\n function G(V, z, P) {\n var R = h(V, P), H = u({}, z.layoutAttributes);\n H[v] = !0, R.set(H);\n }\n function K(V, z, P) {\n var R = h(V, P);\n R.set(u(R.get() || {}, z));\n }\n})(Qu);\nvar qL = { exports: {} }, Mr = {}, yu = Ue, Rq = Wi, rl = \"templateitemname\", fy = {\n name: {\n valType: \"string\",\n editType: \"none\",\n description: [\n \"When used in a template, named items are created in the output figure\",\n \"in addition to any items the figure already has in this array.\",\n \"You can modify these items in the output figure by making your own\",\n \"item with `templateitemname` matching this `name`\",\n \"alongside your modifications (including `visible: false` or\",\n \"`enabled: false` to hide it).\",\n \"Has no effect outside of a template.\"\n ].join(\" \")\n }\n};\nfy[rl] = {\n valType: \"string\",\n editType: \"calc\",\n description: [\n \"Used to refer to a named item in this array in the template. Named\",\n \"items from the template will be created even without a matching item\",\n \"in the input figure, but you can modify one by making an item with\",\n \"`templateitemname` matching its `name`, alongside your modifications\",\n \"(including `visible: false` or `enabled: false` to hide it).\",\n \"If there is no template or no matching item, this item will be\",\n \"hidden unless you explicitly show it with `visible: true`.\"\n ].join(\" \")\n};\nMr.templatedArray = function(e, t) {\n return t._isLinkedToArray = e, t.name = fy.name, t[rl] = fy[rl], t;\n};\nMr.traceTemplater = function(e) {\n var t = {}, r, n;\n for (r in e)\n n = e[r], Array.isArray(n) && n.length && (t[r] = 0);\n function a(i) {\n r = yu.coerce(i, {}, Rq, \"type\");\n var o = { type: r, _template: null };\n if (r in t) {\n n = e[r];\n var l = t[r] % n.length;\n t[r]++, o._template = n[l];\n }\n return o;\n }\n return {\n newTrace: a\n // TODO: function to figure out what's left & what didn't work\n };\n};\nMr.newContainer = function(e, t, r) {\n var n = e._template, a = n && (n[t] || r && n[r]);\n yu.isPlainObject(a) || (a = null);\n var i = e[t] = { _template: a };\n return i;\n};\nMr.arrayTemplater = function(e, t, r) {\n var n = e._template, a = n && n[WL(t)], i = n && n[t];\n (!Array.isArray(i) || !i.length) && (i = []);\n var o = {};\n function l(u) {\n var f = { name: u.name, _input: u }, d = f[rl] = u[rl];\n if (!I2(d))\n return f._template = a, f;\n for (var h = 0; h < i.length; h++) {\n var p = i[h];\n if (p.name === d)\n return o[d] = 1, f._template = p, f;\n }\n return f[r] = u[r] || !1, f._template = !1, f;\n }\n function s() {\n for (var u = [], f = 0; f < i.length; f++) {\n var d = i[f], h = d.name;\n if (I2(h) && !o[h]) {\n var p = {\n _template: d,\n name: h,\n _input: { _templateitemname: h }\n };\n p[rl] = d[rl], u.push(p), o[h] = 1;\n }\n }\n return u;\n }\n return {\n newItem: l,\n defaultItems: s\n };\n};\nfunction I2(e) {\n return e && typeof e == \"string\";\n}\nfunction WL(e) {\n var t = e.length - 1;\n return e.charAt(t) !== \"s\" && yu.warn(\"bad argument to arrayDefaultKey: \" + e), e.substr(0, e.length - 1) + \"defaults\";\n}\nMr.arrayDefaultKey = WL;\nMr.arrayEditor = function(e, t, r) {\n var n = (yu.nestedProperty(e, t).get() || []).length, a = r._index, i = a >= n && (r._input || {})._templateitemname;\n i && (a = n);\n var o = t + \"[\" + a + \"]\", l;\n function s() {\n l = {}, i && (l[o] = {}, l[o][rl] = i);\n }\n s();\n function u(p, v) {\n l[p] = v;\n }\n function f(p, v) {\n i ? yu.nestedProperty(l[o], p).set(v) : l[o + \".\" + p] = v;\n }\n function d() {\n var p = l;\n return s(), p;\n }\n function h(p, v) {\n p && f(p, v);\n var m = d();\n for (var g in m)\n yu.nestedProperty(e, g).set(m[g]);\n }\n return {\n modifyBase: u,\n modifyItem: f,\n getUpdateObj: d,\n applyUpdate: h\n };\n};\nvar gn = {}, Tf = Zu.counter, Yn = {\n idRegex: {\n x: Tf(\"x\", \"( domain)?\"),\n y: Tf(\"y\", \"( domain)?\")\n },\n attrRegex: Tf(\"[xy]axis\"),\n // axis match regular expression\n xAxisMatch: Tf(\"xaxis\"),\n yAxisMatch: Tf(\"yaxis\"),\n // pattern matching axis ids and names\n // note that this is more permissive than counterRegex, as\n // id2name, name2id, and cleanId accept \"x1\" etc\n AX_ID_PATTERN: /^[xyz][0-9]*( domain)?$/,\n AX_NAME_PATTERN: /^[xyz]axis[0-9]*$/,\n // and for 2D subplots\n SUBPLOT_PATTERN: /^x([0-9]*)y([0-9]*)$/,\n HOUR_PATTERN: \"hour\",\n WEEKDAY_PATTERN: \"day of week\",\n // pixels to move mouse before you stop clamping to starting point\n MINDRAG: 8,\n // smallest dimension allowed for a zoombox\n MINZOOM: 20,\n // width of axis drag regions\n DRAGGERSIZE: 20,\n // delay before a redraw (relayout) after smooth panning and zooming\n REDRAWDELAY: 50,\n // last resort axis ranges for x and y axes if we have no data\n DFLTRANGEX: [-1, 6],\n DFLTRANGEY: [-1, 4],\n // Layers to keep trace types in the right order\n // N.B. each 'unique' plot method must have its own layer\n traceLayerClasses: [\n \"imagelayer\",\n \"heatmaplayer\",\n \"contourcarpetlayer\",\n \"contourlayer\",\n \"funnellayer\",\n \"waterfalllayer\",\n \"barlayer\",\n \"carpetlayer\",\n \"violinlayer\",\n \"boxlayer\",\n \"ohlclayer\",\n \"scattercarpetlayer\",\n \"scatterlayer\"\n ],\n clipOnAxisFalseQuery: [\n \".scatterlayer\",\n \".barlayer\",\n \".funnellayer\",\n \".waterfalllayer\"\n ],\n layerValue2layerClass: {\n \"above traces\": \"above\",\n \"below traces\": \"below\"\n }\n};\n(function(e) {\n var t = Nt, r = Yn;\n e.id2name = function(i) {\n if (!(typeof i != \"string\" || !i.match(r.AX_ID_PATTERN))) {\n var o = i.split(\" \")[0].substr(1);\n return o === \"1\" && (o = \"\"), i.charAt(0) + \"axis\" + o;\n }\n }, e.name2id = function(i) {\n if (i.match(r.AX_NAME_PATTERN)) {\n var o = i.substr(5);\n return o === \"1\" && (o = \"\"), i.charAt(0) + o;\n }\n }, e.cleanId = function(i, o, l) {\n var s = /( domain)$/.test(i);\n if (!(typeof i != \"string\" || !i.match(r.AX_ID_PATTERN)) && !(o && i.charAt(0) !== o) && !(s && !l)) {\n var u = i.split(\" \")[0].substr(1).replace(/^0+/, \"\");\n return u === \"1\" && (u = \"\"), i.charAt(0) + u + (s && l ? \" domain\" : \"\");\n }\n }, e.list = function(a, i, o) {\n var l = a._fullLayout;\n if (!l) return [];\n var s = e.listIds(a, i), u = new Array(s.length), f;\n for (f = 0; f < s.length; f++) {\n var d = s[f];\n u[f] = l[d.charAt(0) + \"axis\" + d.substr(1)];\n }\n if (!o) {\n var h = l._subplots.gl3d || [];\n for (f = 0; f < h.length; f++) {\n var p = l[h[f]];\n i ? u.push(p[i + \"axis\"]) : u.push(p.xaxis, p.yaxis, p.zaxis);\n }\n }\n return u;\n }, e.listIds = function(a, i) {\n var o = a._fullLayout;\n if (!o) return [];\n var l = o._subplots;\n return i ? l[i + \"axis\"] : l.xaxis.concat(l.yaxis);\n }, e.getFromId = function(a, i, o) {\n var l = a._fullLayout;\n return i = i === void 0 || typeof i != \"string\" ? i : i.replace(\" domain\", \"\"), o === \"x\" ? i = i.replace(/y[0-9]*/, \"\") : o === \"y\" && (i = i.replace(/x[0-9]*/, \"\")), l[e.id2name(i)];\n }, e.getFromTrace = function(a, i, o) {\n var l = a._fullLayout, s = null;\n if (t.traceIs(i, \"gl3d\")) {\n var u = i.scene;\n u.substr(0, 5) === \"scene\" && (s = l[u][o + \"axis\"]);\n } else\n s = e.getFromId(a, i[o + \"axis\"] || o);\n return s;\n }, e.idSort = function(a, i) {\n var o = a.charAt(0), l = i.charAt(0);\n return o !== l ? o > l ? 1 : -1 : +(a.substr(1) || 1) - +(i.substr(1) || 1);\n }, e.ref2id = function(a) {\n return /^[xyz]/.test(a) ? a.split(\" \")[0] : !1;\n };\n function n(a, i) {\n if (i && i.length) {\n for (var o = 0; o < i.length; o++)\n if (i[o][a]) return !0;\n }\n return !1;\n }\n e.isLinked = function(a, i) {\n return n(i, a._axisMatchGroups) || n(i, a._axisConstraintGroups);\n };\n})(gn);\nfunction Pq(e) {\n var t = e._fullLayout._zoomlayer;\n t && t.selectAll(\".outline-controllers\").remove();\n}\nfunction $q(e) {\n var t = e._fullLayout._zoomlayer;\n t && t.selectAll(\".select-outline\").remove(), e._fullLayout._outlining = !1;\n}\nvar _s = {\n clearOutlineControllers: Pq,\n clearOutline: $q\n}, ub = {\n scattermode: {\n valType: \"enumerated\",\n values: [\"group\", \"overlay\"],\n dflt: \"overlay\",\n editType: \"calc\",\n description: [\n \"Determines how scatter points at the same location coordinate\",\n \"are displayed on the graph.\",\n \"With *group*, the scatter points are plotted next to one another\",\n \"centered around the shared location.\",\n \"With *overlay*, the scatter points are plotted over one another,\",\n \"you might need to reduce *opacity* to see multiple scatter points.\"\n ].join(\" \")\n },\n scattergap: {\n valType: \"number\",\n min: 0,\n max: 1,\n editType: \"calc\",\n description: [\n \"Sets the gap (in plot fraction) between scatter points of\",\n \"adjacent location coordinates.\",\n \"Defaults to `bargap`.\"\n ].join(\" \")\n }\n}, Kc = {}, tc = Nt, zq = Yn.SUBPLOT_PATTERN;\nKc.getSubplotCalcData = function(e, t, r) {\n var n = tc.subplotsRegistry[t];\n if (!n) return [];\n for (var a = n.attr, i = [], o = 0; o < e.length; o++) {\n var l = e[o], s = l[0].trace;\n s[a] === r && i.push(l);\n }\n return i;\n};\nKc.getModuleCalcData = function(e, t) {\n var r = [], n = [], a;\n if (typeof t == \"string\" ? a = tc.getModule(t).plot : typeof t == \"function\" ? a = t : a = t.plot, !a)\n return [r, e];\n for (var i = 0; i < e.length; i++) {\n var o = e[i], l = o[0].trace;\n l.visible !== !0 || l._length === 0 || (l._module && l._module.plot === a ? r.push(o) : n.push(o));\n }\n return [r, n];\n};\nKc.getSubplotData = function(t, r, n) {\n if (!tc.subplotsRegistry[r]) return [];\n var a = tc.subplotsRegistry[r].attr, i = [], o, l, s;\n if (r === \"gl2d\") {\n var u = n.match(zq);\n l = \"x\" + u[1], s = \"y\" + u[2];\n }\n for (var f = 0; f < t.length; f++)\n o = t[f], r === \"gl2d\" && tc.traceIs(o, \"gl2d\") ? o[a[0]] === l && o[a[1]] === s && i.push(o) : o[a] === n && i.push(o);\n return i;\n};\nvar Ym = {}, N2;\nfunction Iq() {\n return N2 || (N2 = 1, function(e) {\n var t = Nt, r = Ue;\n e.manageCommandObserver = function(s, u, f, d) {\n var h = {}, p = !0;\n u && u._commandObserver && (h = u._commandObserver), h.cache || (h.cache = {}), h.lookupTable = {};\n var v = e.hasSimpleAPICommandBindings(s, f, h.lookupTable);\n if (u && u._commandObserver) {\n if (v)\n return h;\n if (u._commandObserver.remove)\n return u._commandObserver.remove(), u._commandObserver = null, h;\n }\n if (v) {\n n(s, v, h.cache), h.check = function() {\n if (p) {\n var w = n(s, v, h.cache);\n return w.changed && d && h.lookupTable[w.value] !== void 0 && (h.disable(), Promise.resolve(d({\n value: w.value,\n type: v.type,\n prop: v.prop,\n traces: v.traces,\n index: h.lookupTable[w.value]\n })).then(h.enable, h.enable)), w.changed;\n }\n };\n for (var m = [\n \"plotly_relayout\",\n \"plotly_redraw\",\n \"plotly_restyle\",\n \"plotly_update\",\n \"plotly_animatingframe\",\n \"plotly_afterplot\"\n ], g = 0; g < m.length; g++)\n s._internalOn(m[g], h.check);\n h.remove = function() {\n for (var y = 0; y < m.length; y++)\n s._removeInternalListener(m[y], h.check);\n };\n } else\n r.log(\"Unable to automatically bind plot updates to API command\"), h.lookupTable = {}, h.remove = function() {\n };\n return h.disable = function() {\n p = !1;\n }, h.enable = function() {\n p = !0;\n }, u && (u._commandObserver = h), h;\n }, e.hasSimpleAPICommandBindings = function(s, u, f) {\n var d, h = u.length, p;\n for (d = 0; d < h; d++) {\n var v, m = u[d], g = m.method, y = m.args;\n if (Array.isArray(y) || (y = []), !g)\n return !1;\n var w = e.computeAPICommandBindings(s, g, y);\n if (w.length !== 1)\n return !1;\n if (!p)\n p = w[0], Array.isArray(p.traces) && p.traces.sort();\n else {\n if (v = w[0], v.type !== p.type || v.prop !== p.prop)\n return !1;\n if (Array.isArray(p.traces))\n if (Array.isArray(v.traces)) {\n v.traces.sort();\n for (var k = 0; k < p.traces.length; k++)\n if (p.traces[k] !== v.traces[k])\n return !1;\n } else\n return !1;\n else if (v.prop !== p.prop)\n return !1;\n }\n v = w[0];\n var x = v.value;\n if (Array.isArray(x))\n if (x.length === 1)\n x = x[0];\n else\n return !1;\n f && (f[x] = d);\n }\n return p;\n };\n function n(s, u, f) {\n var d, h, p, v = !1;\n if (u.type === \"data\")\n d = s._fullData[u.traces !== null ? u.traces[0] : 0];\n else if (u.type === \"layout\")\n d = s._fullLayout;\n else\n return !1;\n return h = r.nestedProperty(d, u.prop).get(), p = f[u.type] = f[u.type] || {}, p.hasOwnProperty(u.prop) && p[u.prop] !== h && (v = !0), p[u.prop] = h, {\n changed: v,\n value: h\n };\n }\n e.executeAPICommand = function(s, u, f) {\n if (u === \"skip\") return Promise.resolve();\n var d = t.apiMethodRegistry[u], h = [s];\n Array.isArray(f) || (f = []);\n for (var p = 0; p < f.length; p++)\n h.push(f[p]);\n return d.apply(null, h).catch(function(v) {\n return r.warn(\"API call to Plotly.\" + u + \" rejected.\", v), Promise.reject(v);\n });\n }, e.computeAPICommandBindings = function(s, u, f) {\n var d;\n switch (Array.isArray(f) || (f = []), u) {\n case \"restyle\":\n d = o(s, f);\n break;\n case \"relayout\":\n d = i(s, f);\n break;\n case \"update\":\n d = o(s, [f[0], f[2]]).concat(i(s, [f[1]]));\n break;\n case \"animate\":\n d = a(s, f);\n break;\n default:\n d = [];\n }\n return d;\n };\n function a(s, u) {\n return Array.isArray(u[0]) && u[0].length === 1 && [\"string\", \"number\"].indexOf(typeof u[0][0]) !== -1 ? [{ type: \"layout\", prop: \"_currentFrame\", value: u[0][0].toString() }] : [];\n }\n function i(s, u) {\n var f = [], d = u[0], h = {};\n if (typeof d == \"string\")\n h[d] = u[1];\n else if (r.isPlainObject(d))\n h = d;\n else\n return f;\n return l(h, function(p, v, m) {\n f.push({ type: \"layout\", prop: p, value: m });\n }, \"\", 0), f;\n }\n function o(s, u) {\n var f, d, h, p, v = [];\n if (d = u[0], h = u[1], f = u[2], p = {}, typeof d == \"string\")\n p[d] = h;\n else if (r.isPlainObject(d))\n p = d, f === void 0 && (f = h);\n else\n return v;\n return f === void 0 && (f = null), l(p, function(m, g, y) {\n var w, k;\n if (Array.isArray(y)) {\n k = y.slice();\n var x = Math.min(k.length, s.data.length);\n f && (x = Math.min(x, f.length)), w = [];\n for (var _ = 0; _ < x; _++)\n w[_] = f ? f[_] : _;\n } else\n k = y, w = f ? f.slice() : null;\n if (w === null)\n Array.isArray(k) && (k = k[0]);\n else if (Array.isArray(w)) {\n if (!Array.isArray(k)) {\n var T = k;\n k = [];\n for (var S = 0; S < w.length; S++)\n k[S] = T;\n }\n k.length = Math.min(w.length, k.length);\n }\n v.push({\n type: \"data\",\n prop: m,\n traces: w,\n value: k\n });\n }, \"\", 0), v;\n }\n function l(s, u, f, d) {\n Object.keys(s).forEach(function(h) {\n var p = s[h];\n if (h[0] !== \"_\") {\n var v = f + (d > 0 ? \".\" : \"\") + h;\n r.isPlainObject(p) ? l(p, u, v, d + 1) : u(v, h, p);\n }\n });\n }\n }(Ym)), Ym;\n}\nvar ZL = lr, Nq = _c.timeFormatLocale, Oq = zC.formatLocale, rc = sr, Hq = IC, hr = Nt, YL = Qu, Bq = Mr, _t = Ue, XL = nr, O2 = Qr.BADNUM, oa = gn, jq = _s.clearOutline, Uq = ub, fb = hp, Gq = VL, Vq = Kc.getModuleCalcData, cy = _t.relinkPrivateKeys, $s = _t._, lt = qL.exports = {};\n_t.extendFlat(lt, hr);\nlt.attributes = Wi;\nlt.attributes.type.values = lt.allTypes;\nlt.fontAttrs = Fn;\nlt.layoutAttributes = Xc;\nlt.fontWeight = \"normal\";\nvar wp = lt.transformsRegistry, Tp = Iq();\nlt.executeAPICommand = Tp.executeAPICommand;\nlt.computeAPICommandBindings = Tp.computeAPICommandBindings;\nlt.manageCommandObserver = Tp.manageCommandObserver;\nlt.hasSimpleAPICommandBindings = Tp.hasSimpleAPICommandBindings;\nlt.redrawText = function(e) {\n return e = _t.getGraphDiv(e), new Promise(function(t) {\n setTimeout(function() {\n e._fullLayout && (hr.getComponentMethod(\"annotations\", \"draw\")(e), hr.getComponentMethod(\"legend\", \"draw\")(e), hr.getComponentMethod(\"colorbar\", \"draw\")(e), t(lt.previousPromises(e)));\n }, 300);\n });\n};\nlt.resize = function(e) {\n e = _t.getGraphDiv(e);\n var t, r = new Promise(function(n, a) {\n (!e || _t.isHidden(e)) && a(new Error(\"Resize must be passed a displayed plot div element.\")), e._redrawTimer && clearTimeout(e._redrawTimer), e._resolveResize && (t = e._resolveResize), e._resolveResize = n, e._redrawTimer = setTimeout(function() {\n if (!e.layout || e.layout.width && e.layout.height || _t.isHidden(e)) {\n n(e);\n return;\n }\n delete e.layout.width, delete e.layout.height;\n var i = e.changed;\n e.autoplay = !0, hr.call(\"relayout\", e, { autosize: !0 }).then(function() {\n e.changed = i, e._resolveResize === n && (delete e._resolveResize, n(e));\n });\n }, 100);\n });\n return t && t(r), r;\n};\nlt.previousPromises = function(e) {\n if ((e._promises || []).length)\n return Promise.all(e._promises).then(function() {\n e._promises = [];\n });\n};\nlt.addLinks = function(e) {\n if (!(!e._context.showLink && !e._context.showSources)) {\n var t = e._fullLayout, r = _t.ensureSingle(t._paper, \"text\", \"js-plot-link-container\", function(s) {\n s.style({\n \"font-family\": '\"Open Sans\", Arial, sans-serif',\n \"font-size\": \"12px\",\n fill: XL.defaultLine,\n \"pointer-events\": \"all\"\n }).each(function() {\n var u = ZL.select(this);\n u.append(\"tspan\").classed(\"js-link-to-tool\", !0), u.append(\"tspan\").classed(\"js-link-spacer\", !0), u.append(\"tspan\").classed(\"js-sourcelinks\", !0);\n });\n }), n = r.node(), a = { y: t._paper.attr(\"height\") - 9 };\n document.body.contains(n) && n.getComputedTextLength() >= t.width - 20 ? (a[\"text-anchor\"] = \"start\", a.x = 5) : (a[\"text-anchor\"] = \"end\", a.x = t._paper.attr(\"width\") - 7), r.attr(a);\n var i = r.select(\".js-link-to-tool\"), o = r.select(\".js-link-spacer\"), l = r.select(\".js-sourcelinks\");\n e._context.showSources && e._context.showSources(e), e._context.showLink && qq(e, i), o.text(i.text() && l.text() ? \" - \" : \"\");\n }\n};\nfunction qq(e, t) {\n t.text(\"\");\n var r = t.append(\"a\").attr({\n \"xlink:xlink:href\": \"#\",\n class: \"link--impt link--embedview\",\n \"font-weight\": \"bold\"\n }).text(e._context.linkText + \" »\");\n if (e._context.sendData)\n r.on(\"click\", function() {\n lt.sendDataToCloud(e);\n });\n else {\n var n = window.location.pathname.split(\"/\"), a = window.location.search;\n r.attr({\n \"xlink:xlink:show\": \"new\",\n \"xlink:xlink:href\": \"/\" + n[2].split(\".\")[0] + \"/\" + n[1] + a\n });\n }\n}\nlt.sendDataToCloud = function(e) {\n var t = (window.PLOTLYENV || {}).BASE_URL || e._context.plotlyServerURL;\n if (t) {\n e.emit(\"plotly_beforeexport\");\n var r = ZL.select(e).append(\"div\").attr(\"id\", \"hiddenform\").style(\"display\", \"none\"), n = r.append(\"form\").attr({\n action: t + \"/external\",\n method: \"post\",\n target: \"_blank\"\n }), a = n.append(\"input\").attr({\n type: \"text\",\n name: \"data\"\n });\n return a.node().value = lt.graphJson(e, !1, \"keepdata\"), n.node().submit(), r.remove(), e.emit(\"plotly_afterexport\"), !1;\n }\n};\nvar Wq = [\n \"days\",\n \"shortDays\",\n \"months\",\n \"shortMonths\",\n \"periods\",\n \"dateTime\",\n \"date\",\n \"time\",\n \"decimal\",\n \"thousands\",\n \"grouping\",\n \"currency\"\n], Zq = [\n \"year\",\n \"month\",\n \"dayMonth\",\n \"dayMonthYear\"\n];\nlt.supplyDefaults = function(e, t) {\n var r = t && t.skipUpdateCalc, n = e._fullLayout || {};\n if (n._skipDefaults) {\n delete n._skipDefaults;\n return;\n }\n var a = e._fullLayout = {}, i = e.layout || {}, o = e._fullData || [], l = e._fullData = [], s = e.data || [], u = e.calcdata || [], f = e._context || {}, d;\n e._transitionData || lt.createTransitionData(e), a._dfltTitle = {\n plot: $s(e, \"Click to enter Plot title\"),\n x: $s(e, \"Click to enter X axis title\"),\n y: $s(e, \"Click to enter Y axis title\"),\n colorbar: $s(e, \"Click to enter Colorscale title\"),\n annotation: $s(e, \"new text\")\n }, a._traceWord = $s(e, \"trace\");\n var h = H2(e, Wq);\n if (a._mapboxAccessToken = f.mapboxAccessToken, n._initialAutoSizeIsDone) {\n var p = n.width, v = n.height;\n lt.supplyLayoutGlobalDefaults(i, a, h), i.width || (a.width = p), i.height || (a.height = v), lt.sanitizeMargins(a);\n } else {\n lt.supplyLayoutGlobalDefaults(i, a, h);\n var m = !i.width || !i.height, g = a.autosize, y = f.autosizable, w = m && (g || y);\n w ? lt.plotAutoSize(e, i, a) : m && lt.sanitizeMargins(a), !g && m && (i.width = a.width, i.height = a.height);\n }\n a._d3locale = Kq(h, a.separators), a._extraFormat = H2(e, Zq), a._initialAutoSizeIsDone = !0, a._dataLength = s.length, a._modules = [], a._visibleModules = [], a._basePlotModules = [];\n var k = a._subplots = Xq(), x = a._splomAxes = { x: {}, y: {} }, _ = a._splomSubplots = {};\n a._splomGridDflt = {}, a._scatterStackOpts = {}, a._firstScatter = {}, a._alignmentOpts = {}, a._colorAxes = {}, a._requestRangeslider = {}, a._traceUids = Yq(o, s), a._globalTransforms = (e._context || {}).globalTransforms, lt.supplyDataDefaults(s, l, i, a);\n var T = Object.keys(x.x), S = Object.keys(x.y);\n if (T.length > 1 && S.length > 1) {\n for (hr.getComponentMethod(\"grid\", \"sizeDefaults\")(i, a), d = 0; d < T.length; d++)\n _t.pushUnique(k.xaxis, T[d]);\n for (d = 0; d < S.length; d++)\n _t.pushUnique(k.yaxis, S[d]);\n for (var M in _)\n _t.pushUnique(k.cartesian, M);\n }\n if (a._has = lt._hasPlotType.bind(a), o.length === l.length)\n for (d = 0; d < l.length; d++)\n cy(l[d], o[d]);\n lt.supplyLayoutModuleDefaults(i, a, l, e._transitionData);\n var L = a._visibleModules, F = [];\n for (d = 0; d < L.length; d++) {\n var $ = L[d].crossTraceDefaults;\n $ && _t.pushUnique(F, $);\n }\n for (d = 0; d < F.length; d++)\n F[d](l, a);\n a._hasOnlyLargeSploms = a._basePlotModules.length === 1 && a._basePlotModules[0].name === \"splom\" && T.length > 15 && S.length > 15 && a.shapes.length === 0 && a.images.length === 0, lt.linkSubplots(l, a, o, n), lt.cleanPlot(l, a, o, n);\n var I = !!(n._has && n._has(\"gl2d\")), O = !!(a._has && a._has(\"gl2d\")), G = !!(n._has && n._has(\"cartesian\")), K = !!(a._has && a._has(\"cartesian\")), V = G || I, z = K || O;\n V && !z ? n._bgLayer.remove() : z && !V && (a._shouldCreateBgLayer = !0), n._zoomlayer && !e._dragging && jq({\n // mock old gd\n _fullLayout: n\n }), Jq(l, a), cy(a, n), hr.getComponentMethod(\"colorscale\", \"crossTraceDefaults\")(l, a), a._preGUI || (a._preGUI = {}), a._tracePreGUI || (a._tracePreGUI = {});\n var P = a._tracePreGUI, R = {}, H;\n for (H in P) R[H] = \"old\";\n for (d = 0; d < l.length; d++)\n H = l[d]._fullInput.uid, R[H] || (P[H] = {}), R[H] = \"new\";\n for (H in R)\n R[H] === \"old\" && delete P[H];\n JL(a), hr.getComponentMethod(\"rangeslider\", \"makeData\")(a), !r && u.length === l.length && lt.supplyDefaultsUpdateCalc(u, l);\n};\nlt.supplyDefaultsUpdateCalc = function(e, t) {\n for (var r = 0; r < t.length; r++) {\n var n = t[r], a = (e[r] || [])[0];\n if (a && a.trace) {\n var i = a.trace;\n if (i._hasCalcTransform) {\n var o = i._arrayAttrs, l, s, u;\n for (l = 0; l < o.length; l++)\n s = o[l], u = _t.nestedProperty(i, s).get().slice(), _t.nestedProperty(n, s).set(u);\n }\n a.trace = n;\n }\n }\n};\nfunction Yq(e, t) {\n var r = t.length, n = [], a, i;\n for (a = 0; a < e.length; a++) {\n var o = e[a]._fullInput;\n o !== i && n.push(o), i = o;\n }\n var l = n.length, s = new Array(r), u = {};\n function f(p, v) {\n s[v] = p, u[p] = 1;\n }\n function d(p, v) {\n if (p && typeof p == \"string\" && !u[p])\n return f(p, v), !0;\n }\n for (a = 0; a < r; a++) {\n var h = t[a].uid;\n typeof h == \"number\" && (h = String(h)), !d(h, a) && (a < l && d(n[a].uid, a) || f(_t.randstr(u), a));\n }\n return s;\n}\nfunction Xq() {\n var e = hr.collectableSubplotTypes, t = {}, r, n;\n if (!e) {\n e = [];\n var a = hr.subplotsRegistry;\n for (var i in a) {\n var o = a[i], l = o.attr;\n if (l && (e.push(i), Array.isArray(l)))\n for (n = 0; n < l.length; n++)\n _t.pushUnique(e, l[n]);\n }\n }\n for (r = 0; r < e.length; r++)\n t[e[r]] = [];\n return t;\n}\nfunction H2(e, t) {\n var r = e._context.locale;\n r || (r = \"en-US\");\n var n = !1, a = {};\n function i(d) {\n for (var h = !0, p = 0; p < t.length; p++) {\n var v = t[p];\n a[v] || (d[v] ? a[v] = d[v] : h = !1);\n }\n h && (n = !0);\n }\n for (var o = 0; o < 2; o++) {\n for (var l = e._context.locales, s = 0; s < 2; s++) {\n var u = (l[r] || {}).format;\n if (u && (i(u), n))\n break;\n l = hr.localeRegistry;\n }\n var f = r.split(\"-\")[0];\n if (n || f === r) break;\n r = f;\n }\n return n || i(hr.localeRegistry.en.format), a;\n}\nfunction Kq(e, t) {\n return e.decimal = t.charAt(0), e.thousands = t.charAt(1), {\n numberFormat: function(r) {\n try {\n r = Oq(e).format(\n _t.adjustFormat(r)\n );\n } catch {\n return _t.warnBadFormat(r), _t.noFormat;\n }\n return r;\n },\n timeFormat: Nq(e).utcFormat\n };\n}\nfunction Jq(e, t) {\n var r, n = [];\n t.meta && (r = t._meta = {\n meta: t.meta,\n layout: { meta: t.meta }\n });\n for (var a = 0; a < e.length; a++) {\n var i = e[a];\n i.meta ? n[i.index] = i._meta = { meta: i.meta } : t.meta && (i._meta = { meta: t.meta }), t.meta && (i._meta.layout = { meta: t.meta });\n }\n n.length && (r || (r = t._meta = {}), r.data = n);\n}\nlt.createTransitionData = function(e) {\n e._transitionData || (e._transitionData = {}), e._transitionData._frames || (e._transitionData._frames = []), e._transitionData._frameHash || (e._transitionData._frameHash = {}), e._transitionData._counter || (e._transitionData._counter = 0), e._transitionData._interruptCallbacks || (e._transitionData._interruptCallbacks = []);\n};\nlt._hasPlotType = function(e) {\n var t, r = this._basePlotModules || [];\n for (t = 0; t < r.length; t++)\n if (r[t].name === e) return !0;\n var n = this._modules || [];\n for (t = 0; t < n.length; t++) {\n var a = n[t].name;\n if (a === e) return !0;\n var i = hr.modules[a];\n if (i && i.categories[e]) return !0;\n }\n return !1;\n};\nlt.cleanPlot = function(e, t, r, n) {\n var a, i, o = n._basePlotModules || [];\n for (a = 0; a < o.length; a++) {\n var l = o[a];\n l.clean && l.clean(e, t, r, n);\n }\n var s = n._has && n._has(\"gl\"), u = t._has && t._has(\"gl\");\n s && !u && n._glcontainer !== void 0 && (n._glcontainer.selectAll(\".gl-canvas\").remove(), n._glcontainer.selectAll(\".no-webgl\").remove(), n._glcanvas = null);\n var f = !!n._infolayer;\n e:\n for (a = 0; a < r.length; a++) {\n var d = r[a], h = d.uid;\n for (i = 0; i < e.length; i++) {\n var p = e[i];\n if (h === p.uid) continue e;\n }\n f && n._infolayer.select(\".cb\" + h).remove();\n }\n};\nlt.linkSubplots = function(e, t, r, n) {\n var a, i, o = n._plots || {}, l = t._plots = {}, s = t._subplots, u = {\n _fullData: e,\n _fullLayout: t\n }, f = s.cartesian.concat(s.gl2d || []);\n for (a = 0; a < f.length; a++) {\n var d = f[a], h = o[d], p = oa.getFromId(u, d, \"x\"), v = oa.getFromId(u, d, \"y\"), m;\n for (h ? m = l[d] = h : (m = l[d] = {}, m.id = d), p._counterAxes.push(v._id), v._counterAxes.push(p._id), p._subplotsWith.push(d), v._subplotsWith.push(d), m.xaxis = p, m.yaxis = v, m._hasClipOnAxisFalse = !1, i = 0; i < e.length; i++) {\n var g = e[i];\n if (g.xaxis === m.xaxis._id && g.yaxis === m.yaxis._id && g.cliponaxis === !1) {\n m._hasClipOnAxisFalse = !0;\n break;\n }\n }\n }\n var y = oa.list(u, null, !0), w;\n for (a = 0; a < y.length; a++) {\n w = y[a];\n var k = null;\n w.overlaying && (k = oa.getFromId(u, w.overlaying), k && k.overlaying && (w.overlaying = !1, k = null)), w._mainAxis = k || w, k && (w.domain = k.domain.slice()), w._anchorAxis = w.anchor === \"free\" ? null : oa.getFromId(u, w.anchor);\n }\n for (a = 0; a < y.length; a++)\n if (w = y[a], w._counterAxes.sort(oa.idSort), w._subplotsWith.sort(_t.subplotSort), w._mainSubplot = Qq(w, t), w._counterAxes.length && (w.spikemode && w.spikemode.indexOf(\"across\") !== -1 || w.automargin && w.mirror && w.anchor !== \"free\" || hr.getComponentMethod(\"rangeslider\", \"isVisible\")(w))) {\n var x = 1, _ = 0;\n for (i = 0; i < w._counterAxes.length; i++) {\n var T = oa.getFromId(u, w._counterAxes[i]);\n x = Math.min(x, T.domain[0]), _ = Math.max(_, T.domain[1]);\n }\n x < _ && (w._counterDomainMin = x, w._counterDomainMax = _);\n }\n};\nfunction Qq(e, t) {\n var r = { _fullLayout: t }, n = e._id.charAt(0) === \"x\", a = e._mainAxis._anchorAxis, i = \"\", o = \"\", l = \"\";\n if (a && (l = a._mainAxis._id, i = n ? e._id + l : l + e._id), !i || !t._plots[i]) {\n i = \"\";\n for (var s = e._counterAxes, u = 0; u < s.length; u++) {\n var f = s[u], d = n ? e._id + f : f + e._id;\n o || (o = d);\n var h = oa.getFromId(r, f);\n if (l && h.overlaying === l) {\n i = d;\n break;\n }\n }\n }\n return i || o;\n}\nlt.clearExpandedTraceDefaultColors = function(e) {\n var t, r, n;\n function a(o, l, s, u) {\n r[u] = l, r.length = u + 1, o.valType === \"color\" && o.dflt === void 0 && t.push(r.join(\".\"));\n }\n for (r = [], t = e._module._colorAttrs, t || (e._module._colorAttrs = t = [], YL.crawl(\n e._module.attributes,\n a\n )), n = 0; n < t.length; n++) {\n var i = _t.nestedProperty(e, \"_input.\" + t[n]);\n i.get() || _t.nestedProperty(e, t[n]).set(null);\n }\n};\nlt.supplyDataDefaults = function(e, t, r, n) {\n var a = n._modules, i = n._visibleModules, o = n._basePlotModules, l = 0, s = 0, u, f, d;\n n._transformModules = [];\n function h(S) {\n t.push(S);\n var M = S._module;\n M && (_t.pushUnique(a, M), S.visible === !0 && _t.pushUnique(i, M), _t.pushUnique(o, S._module.basePlotModule), l++, S._input.visible !== !1 && s++);\n }\n var p = {}, v = [], m = (r.template || {}).data || {}, g = Bq.traceTemplater(m);\n for (u = 0; u < e.length; u++) {\n if (d = e[u], f = g.newTrace(d), f.uid = n._traceUids[u], lt.supplyTraceDefaults(d, f, s, n, u), f.index = u, f._input = d, f._expandedIndex = l, f.transforms && f.transforms.length)\n for (var y = d.visible !== !1 && f.visible === !1, w = eW(f, t, r, n), k = 0; k < w.length; k++) {\n var x = w[k], _ = {\n _template: f._template,\n type: f.type,\n // set uid using parent uid and expanded index\n // to promote consistency between update calls\n uid: f.uid + k\n };\n y && x.visible === !1 && delete x.visible, lt.supplyTraceDefaults(x, _, l, n, u), cy(_, x), _.index = u, _._input = d, _._fullInput = f, _._expandedIndex = l, _._expandedInput = x, h(_);\n }\n else\n f._fullInput = f, f._expandedInput = f, h(f);\n hr.traceIs(f, \"carpetAxis\") && (p[f.carpet] = f), hr.traceIs(f, \"carpetDependent\") && v.push(u);\n }\n for (u = 0; u < v.length; u++)\n if (f = t[v[u]], !!f.visible) {\n var T = p[f.carpet];\n if (f._carpet = T, !T || !T.visible) {\n f.visible = !1;\n continue;\n }\n f.xaxis = T.xaxis, f.yaxis = T.yaxis;\n }\n};\nlt.supplyAnimationDefaults = function(e) {\n e = e || {};\n var t, r = {};\n function n(a, i) {\n return _t.coerce(e || {}, r, fb, a, i);\n }\n if (n(\"mode\"), n(\"direction\"), n(\"fromcurrent\"), Array.isArray(e.frame))\n for (r.frame = [], t = 0; t < e.frame.length; t++)\n r.frame[t] = lt.supplyAnimationFrameDefaults(e.frame[t] || {});\n else\n r.frame = lt.supplyAnimationFrameDefaults(e.frame || {});\n if (Array.isArray(e.transition))\n for (r.transition = [], t = 0; t < e.transition.length; t++)\n r.transition[t] = lt.supplyAnimationTransitionDefaults(e.transition[t] || {});\n else\n r.transition = lt.supplyAnimationTransitionDefaults(e.transition || {});\n return r;\n};\nlt.supplyAnimationFrameDefaults = function(e) {\n var t = {};\n function r(n, a) {\n return _t.coerce(e || {}, t, fb.frame, n, a);\n }\n return r(\"duration\"), r(\"redraw\"), t;\n};\nlt.supplyAnimationTransitionDefaults = function(e) {\n var t = {};\n function r(n, a) {\n return _t.coerce(e || {}, t, fb.transition, n, a);\n }\n return r(\"duration\"), r(\"easing\"), t;\n};\nlt.supplyFrameDefaults = function(e) {\n var t = {};\n function r(n, a) {\n return _t.coerce(e, t, Gq, n, a);\n }\n return r(\"group\"), r(\"name\"), r(\"traces\"), r(\"baseframe\"), r(\"data\"), r(\"layout\"), t;\n};\nlt.supplyTraceDefaults = function(e, t, r, n, a) {\n var i = n.colorway || XL.defaults, o = i[r % i.length], l;\n function s(k, x) {\n return _t.coerce(e, t, lt.attributes, k, x);\n }\n var u = s(\"visible\");\n s(\"type\"), s(\"name\", n._traceWord + \" \" + a), s(\"uirevision\", n.uirevision);\n var f = lt.getModule(t);\n if (t._module = f, f) {\n var d = f.basePlotModule, h = d.attr, p = d.attributes;\n if (h && p) {\n var v = n._subplots, m = \"\";\n if (u || d.name !== \"gl2d\") {\n if (Array.isArray(h))\n for (l = 0; l < h.length; l++) {\n var g = h[l], y = _t.coerce(e, t, p, g);\n v[g] && _t.pushUnique(v[g], y), m += y;\n }\n else\n m = _t.coerce(e, t, p, h);\n v[d.name] && _t.pushUnique(v[d.name], m);\n }\n }\n }\n if (u) {\n if (s(\"customdata\"), s(\"ids\"), s(\"meta\"), hr.traceIs(t, \"showLegend\") ? (_t.coerce(\n e,\n t,\n f.attributes.showlegend ? f.attributes : lt.attributes,\n \"showlegend\"\n ), s(\"legend\"), s(\"legendwidth\"), s(\"legendgroup\"), s(\"legendgrouptitle.text\"), s(\"legendrank\"), t._dfltShowLegend = !0) : t._dfltShowLegend = !1, f && f.supplyDefaults(e, t, o, n), hr.traceIs(t, \"noOpacity\") || s(\"opacity\"), hr.traceIs(t, \"notLegendIsolatable\") && (t.visible = !!t.visible), hr.traceIs(t, \"noHover\") || (t.hovertemplate || _t.coerceHoverinfo(e, t, n), t.type !== \"parcats\" && hr.getComponentMethod(\"fx\", \"supplyDefaults\")(e, t, o, n)), f && f.selectPoints) {\n var w = s(\"selectedpoints\");\n _t.isTypedArray(w) && (t.selectedpoints = Array.from(w));\n }\n lt.supplyTransformDefaults(e, t, n);\n }\n return t;\n};\nfunction KL(e) {\n var t = e.transforms;\n if (Array.isArray(t) && t.length)\n for (var r = 0; r < t.length; r++) {\n var n = t[r], a = n._module || wp[n.type];\n if (a && a.makesData) return !0;\n }\n return !1;\n}\nlt.hasMakesDataTransform = KL;\nlt.supplyTransformDefaults = function(e, t, r) {\n if (t._length || KL(e)) {\n var n = r._globalTransforms || [], a = r._transformModules || [];\n if (!(!Array.isArray(e.transforms) && n.length === 0))\n for (var i = e.transforms || [], o = n.concat(i), l = t.transforms = [], s = 0; s < o.length; s++) {\n var u = o[s], f = u.type, d = wp[f], h, p = !(u._module && u._module === d), v = d && typeof d.transform == \"function\";\n d || _t.warn(\"Unrecognized transform type \" + f + \".\"), d && d.supplyDefaults && (p || v) ? (h = d.supplyDefaults(u, t, r, e), h.type = f, h._module = d, _t.pushUnique(a, d)) : h = _t.extendFlat({}, u), l.push(h);\n }\n }\n};\nfunction eW(e, t, r, n) {\n for (var a = e.transforms, i = [e], o = 0; o < a.length; o++) {\n var l = a[o], s = wp[l.type];\n s && s.transform && (i = s.transform(i, {\n transform: l,\n fullTrace: e,\n fullData: t,\n layout: r,\n fullLayout: n,\n transformIndex: o\n }));\n }\n return i;\n}\nlt.supplyLayoutGlobalDefaults = function(e, t, r) {\n function n(d, h) {\n return _t.coerce(e, t, lt.layoutAttributes, d, h);\n }\n var a = e.template;\n _t.isPlainObject(a) && (t.template = a, t._template = a.layout, t._dataTemplate = a.data), n(\"autotypenumbers\");\n var i = _t.coerceFont(n, \"font\"), o = i.size;\n _t.coerceFont(n, \"title.font\", _t.extendFlat({}, i, {\n size: Math.round(o * 1.4)\n })), n(\"title.text\", t._dfltTitle.plot), n(\"title.xref\");\n var l = n(\"title.yref\");\n n(\"title.pad.t\"), n(\"title.pad.r\"), n(\"title.pad.b\"), n(\"title.pad.l\");\n var s = n(\"title.automargin\");\n n(\"title.x\"), n(\"title.xanchor\"), n(\"title.y\"), n(\"title.yanchor\"), s && (l === \"paper\" && (t.title.y !== 0 && (t.title.y = 1), t.title.yanchor === \"auto\" && (t.title.yanchor = t.title.y === 0 ? \"top\" : \"bottom\")), l === \"container\" && (t.title.y === \"auto\" && (t.title.y = 1), t.title.yanchor === \"auto\" && (t.title.yanchor = t.title.y < 0.5 ? \"bottom\" : \"top\")));\n var u = n(\"uniformtext.mode\");\n u && n(\"uniformtext.minsize\"), n(\"autosize\", !(e.width && e.height)), n(\"width\"), n(\"height\"), n(\"minreducedwidth\"), n(\"minreducedheight\"), n(\"margin.l\"), n(\"margin.r\"), n(\"margin.t\"), n(\"margin.b\"), n(\"margin.pad\"), n(\"margin.autoexpand\"), e.width && e.height && lt.sanitizeMargins(t), hr.getComponentMethod(\"grid\", \"sizeDefaults\")(e, t), n(\"paper_bgcolor\"), n(\"separators\", r.decimal + r.thousands), n(\"hidesources\"), n(\"colorway\"), n(\"datarevision\");\n var f = n(\"uirevision\");\n n(\"editrevision\", f), n(\"selectionrevision\", f), hr.getComponentMethod(\n \"modebar\",\n \"supplyLayoutDefaults\"\n )(e, t), hr.getComponentMethod(\n \"shapes\",\n \"supplyDrawNewShapeDefaults\"\n )(e, t, n), hr.getComponentMethod(\n \"selections\",\n \"supplyDrawNewSelectionDefaults\"\n )(e, t, n), n(\"meta\"), _t.isPlainObject(e.transition) && (n(\"transition.duration\"), n(\"transition.easing\"), n(\"transition.ordering\")), hr.getComponentMethod(\n \"calendars\",\n \"handleDefaults\"\n )(e, t, \"calendar\"), hr.getComponentMethod(\n \"fx\",\n \"supplyLayoutGlobalDefaults\"\n )(e, t, n), _t.coerce(e, t, Uq, \"scattermode\");\n};\nfunction Bd(e) {\n return typeof e == \"string\" && e.substr(e.length - 2) === \"px\" && parseFloat(e);\n}\nlt.plotAutoSize = function(t, r, n) {\n var a = t._context || {}, i = a.frameMargins, o, l, s = _t.isPlotDiv(t);\n if (s && t.emit(\"plotly_autosize\"), a.fillFrame)\n o = window.innerWidth, l = window.innerHeight, document.body.style.overflow = \"hidden\";\n else {\n var u = s ? window.getComputedStyle(t) : {};\n if (o = Bd(u.width) || Bd(u.maxWidth) || n.width, l = Bd(u.height) || Bd(u.maxHeight) || n.height, rc(i) && i > 0) {\n var f = 1 - 2 * i;\n o = Math.round(f * o), l = Math.round(f * l);\n }\n }\n var d = lt.layoutAttributes.width.min, h = lt.layoutAttributes.height.min;\n o < d && (o = d), l < h && (l = h);\n var p = !r.width && Math.abs(n.width - o) > 1, v = !r.height && Math.abs(n.height - l) > 1;\n (v || p) && (p && (n.width = o), v && (n.height = l)), t._initialAutoSize || (t._initialAutoSize = { width: o, height: l }), lt.sanitizeMargins(n);\n};\nlt.supplyLayoutModuleDefaults = function(e, t, r, n) {\n var a = hr.componentsRegistry, i = t._basePlotModules, o, l, s, u = hr.subplotsRegistry.cartesian;\n for (o in a)\n s = a[o], s.includeBasePlot && s.includeBasePlot(e, t);\n i.length || i.push(u), t._has(\"cartesian\") && (hr.getComponentMethod(\"grid\", \"contentDefaults\")(e, t), u.finalizeSubplots(e, t));\n for (var f in t._subplots)\n t._subplots[f].sort(_t.subplotSort);\n for (l = 0; l < i.length; l++)\n s = i[l], s.supplyLayoutDefaults && s.supplyLayoutDefaults(e, t, r);\n var d = t._modules;\n for (l = 0; l < d.length; l++)\n s = d[l], s.supplyLayoutDefaults && s.supplyLayoutDefaults(e, t, r);\n var h = t._transformModules;\n for (l = 0; l < h.length; l++)\n s = h[l], s.supplyLayoutDefaults && s.supplyLayoutDefaults(e, t, r, n);\n for (o in a)\n s = a[o], s.supplyLayoutDefaults && s.supplyLayoutDefaults(e, t, r);\n};\nlt.purge = function(e) {\n var t = e._fullLayout || {};\n t._glcontainer !== void 0 && (t._glcontainer.selectAll(\".gl-canvas\").remove(), t._glcontainer.remove(), t._glcanvas = null), t._modeBar && t._modeBar.destroy(), e._transitionData && (e._transitionData._interruptCallbacks && (e._transitionData._interruptCallbacks.length = 0), e._transitionData._animationRaf && window.cancelAnimationFrame(e._transitionData._animationRaf)), _t.clearThrottle(), _t.clearResponsive(e), delete e.data, delete e.layout, delete e._fullData, delete e._fullLayout, delete e.calcdata, delete e.empty, delete e.fid, delete e.undoqueue, delete e.undonum, delete e.autoplay, delete e.changed, delete e._promises, delete e._redrawTimer, delete e._hmlumcount, delete e._hmpixcount, delete e._transitionData, delete e._transitioning, delete e._initialAutoSize, delete e._transitioningWithDuration, delete e._dragging, delete e._dragged, delete e._dragdata, delete e._hoverdata, delete e._snapshotInProgress, delete e._editing, delete e._mouseDownTime, delete e._legendMouseDownTime, e.removeAllListeners && e.removeAllListeners();\n};\nlt.style = function(e) {\n var t = e._fullLayout._visibleModules, r = [], n;\n for (n = 0; n < t.length; n++) {\n var a = t[n];\n a.style && _t.pushUnique(r, a.style);\n }\n for (n = 0; n < r.length; n++)\n r[n](e);\n};\nlt.sanitizeMargins = function(e) {\n if (!(!e || !e.margin)) {\n var t = e.width, r = e.height, n = e.margin, a = t - (n.l + n.r), i = r - (n.t + n.b), o;\n a < 0 && (o = (t - 1) / (n.l + n.r), n.l = Math.floor(o * n.l), n.r = Math.floor(o * n.r)), i < 0 && (o = (r - 1) / (n.t + n.b), n.t = Math.floor(o * n.t), n.b = Math.floor(o * n.b));\n }\n};\nlt.clearAutoMarginIds = function(e) {\n e._fullLayout._pushmarginIds = {};\n};\nlt.allowAutoMargin = function(e, t) {\n e._fullLayout._pushmarginIds[t] = 1;\n};\nfunction JL(e) {\n var t = e.margin;\n if (!e._size) {\n var r = e._size = {\n l: Math.round(t.l),\n r: Math.round(t.r),\n t: Math.round(t.t),\n b: Math.round(t.b),\n p: Math.round(t.pad)\n };\n r.w = Math.round(e.width) - r.l - r.r, r.h = Math.round(e.height) - r.t - r.b;\n }\n e._pushmargin || (e._pushmargin = {}), e._pushmarginIds || (e._pushmarginIds = {}), e._reservedMargin || (e._reservedMargin = {});\n}\nvar QL = 2, e4 = 2;\nlt.autoMargin = function(e, t, r) {\n var n = e._fullLayout, a = n.width, i = n.height, o = n.margin, l = n.minreducedwidth, s = n.minreducedheight, u = _t.constrain(\n a - o.l - o.r,\n QL,\n l\n ), f = _t.constrain(\n i - o.t - o.b,\n e4,\n s\n ), d = Math.max(0, a - u), h = Math.max(0, i - f), p = n._pushmargin, v = n._pushmarginIds;\n if (o.autoexpand !== !1) {\n if (!r)\n delete p[t], delete v[t];\n else {\n var m = r.pad;\n if (m === void 0 && (m = Math.min(12, o.l, o.r, o.t, o.b)), d) {\n var g = (r.l + r.r) / d;\n g > 1 && (r.l /= g, r.r /= g);\n }\n if (h) {\n var y = (r.t + r.b) / h;\n y > 1 && (r.t /= y, r.b /= y);\n }\n var w = r.xl !== void 0 ? r.xl : r.x, k = r.xr !== void 0 ? r.xr : r.x, x = r.yt !== void 0 ? r.yt : r.y, _ = r.yb !== void 0 ? r.yb : r.y;\n p[t] = {\n l: { val: w, size: r.l + m },\n r: { val: k, size: r.r + m },\n b: { val: _, size: r.b + m },\n t: { val: x, size: r.t + m }\n }, v[t] = 1;\n }\n if (!n._replotting)\n return lt.doAutoMargin(e);\n }\n};\nfunction tW(e) {\n if (\"_redrawFromAutoMarginCount\" in e._fullLayout)\n return !1;\n var t = oa.list(e, \"\", !0);\n for (var r in t)\n if (t[r].autoshift || t[r].shift) return !0;\n return !1;\n}\nlt.doAutoMargin = function(e) {\n var t = e._fullLayout, r = t.width, n = t.height;\n t._size || (t._size = {}), JL(t);\n var a = t._size, i = t.margin, o = { t: 0, b: 0, l: 0, r: 0 }, l = _t.extendFlat({}, a), s = i.l, u = i.r, f = i.t, d = i.b, h = t._pushmargin, p = t._pushmarginIds, v = t.minreducedwidth, m = t.minreducedheight;\n if (i.autoexpand !== !1) {\n for (var g in h)\n p[g] || delete h[g];\n var y = e._fullLayout._reservedMargin;\n for (var w in y)\n for (var k in y[w]) {\n var x = y[w][k];\n o[k] = Math.max(o[k], x);\n }\n h.base = {\n l: { val: 0, size: s },\n r: { val: 1, size: u },\n t: { val: 1, size: f },\n b: { val: 0, size: d }\n };\n for (var _ in o) {\n var T = 0;\n for (var S in h)\n S !== \"base\" && rc(h[S][_].size) && (T = h[S][_].size > T ? h[S][_].size : T);\n var M = Math.max(0, i[_] - T);\n o[_] = Math.max(0, o[_] - M);\n }\n for (var L in h) {\n var F = h[L].l || {}, $ = h[L].b || {}, I = F.val, O = F.size, G = $.val, K = $.size, V = r - o.r - o.l, z = n - o.t - o.b;\n for (var P in h) {\n if (rc(O) && h[P].r) {\n var R = h[P].r.val, H = h[P].r.size;\n if (R > I) {\n var B = (O * R + (H - V) * I) / (R - I), W = (H * (1 - I) + (O - V) * (1 - R)) / (R - I);\n B + W > s + u && (s = B, u = W);\n }\n }\n if (rc(K) && h[P].t) {\n var ee = h[P].t.val, re = h[P].t.size;\n if (ee > G) {\n var ae = (K * ee + (re - z) * G) / (ee - G), Q = (re * (1 - G) + (K - z) * (1 - ee)) / (ee - G);\n ae + Q > d + f && (d = ae, f = Q);\n }\n }\n }\n }\n }\n var ue = _t.constrain(\n r - i.l - i.r,\n QL,\n v\n ), j = _t.constrain(\n n - i.t - i.b,\n e4,\n m\n ), U = Math.max(0, r - ue), Z = Math.max(0, n - j);\n if (U) {\n var le = (s + u) / U;\n le > 1 && (s /= le, u /= le);\n }\n if (Z) {\n var J = (d + f) / Z;\n J > 1 && (d /= J, f /= J);\n }\n if (a.l = Math.round(s) + o.l, a.r = Math.round(u) + o.r, a.t = Math.round(f) + o.t, a.b = Math.round(d) + o.b, a.p = Math.round(i.pad), a.w = Math.round(r) - a.l - a.r, a.h = Math.round(n) - a.t - a.b, !t._replotting && (lt.didMarginChange(l, a) || tW(e))) {\n \"_redrawFromAutoMarginCount\" in t ? t._redrawFromAutoMarginCount++ : t._redrawFromAutoMarginCount = 1;\n var pe = 3 * (1 + Object.keys(p).length);\n if (t._redrawFromAutoMarginCount < pe)\n return hr.call(\"_doPlot\", e);\n t._size = l, _t.warn(\"Too many auto-margin redraws.\");\n }\n rW(e);\n};\nfunction rW(e) {\n var t = oa.list(e, \"\", !0);\n [\n \"_adjustTickLabelsOverflow\",\n \"_hideCounterAxisInsideTickLabels\"\n ].forEach(function(r) {\n for (var n = 0; n < t.length; n++) {\n var a = t[n][r];\n a && a();\n }\n });\n}\nvar B2 = [\"l\", \"r\", \"t\", \"b\", \"p\", \"w\", \"h\"];\nlt.didMarginChange = function(e, t) {\n for (var r = 0; r < B2.length; r++) {\n var n = B2[r], a = e[n], i = t[n];\n if (!rc(a) || Math.abs(i - a) > 1)\n return !0;\n }\n return !1;\n};\nlt.graphJson = function(e, t, r, n, a, i) {\n (a && t && !e._fullData || a && !t && !e._fullLayout) && lt.supplyDefaults(e);\n var o = a ? e._fullData : e.data, l = a ? e._fullLayout : e.layout, s = (e._transitionData || {})._frames;\n function u(h, p) {\n if (typeof h == \"function\")\n return p ? \"_function_\" : null;\n if (_t.isPlainObject(h)) {\n var v = {}, m;\n return Object.keys(h).sort().forEach(function(k) {\n if ([\"_\", \"[\"].indexOf(k.charAt(0)) === -1) {\n if (typeof h[k] == \"function\") {\n p && (v[k] = \"_function\");\n return;\n }\n if (r === \"keepdata\") {\n if (k.substr(k.length - 3) === \"src\")\n return;\n } else if (r === \"keepstream\") {\n if (m = h[k + \"src\"], typeof m == \"string\" && m.indexOf(\":\") > 0 && !_t.isPlainObject(h.stream))\n return;\n } else if (r !== \"keepall\" && (m = h[k + \"src\"], typeof m == \"string\" && m.indexOf(\":\") > 0))\n return;\n v[k] = u(h[k], p);\n }\n }), v;\n }\n var g = Array.isArray(h), y = _t.isTypedArray(h);\n if ((g || y) && h.dtype && h.shape) {\n var w = h.bdata;\n return u({\n dtype: h.dtype,\n shape: h.shape,\n bdata: (\n // case of ArrayBuffer\n _t.isArrayBuffer(w) ? Hq.encode(w) : (\n // case of b64 string\n w\n )\n )\n }, p);\n }\n return g ? h.map(function(k) {\n return u(k, p);\n }) : y ? _t.simpleMap(h, _t.identity) : _t.isJSDate(h) ? _t.ms2DateTimeLocal(+h) : h;\n }\n var f = {\n data: (o || []).map(function(h) {\n var p = u(h);\n return t && delete p.fit, p;\n })\n };\n if (!t && (f.layout = u(l), a)) {\n var d = l._size;\n f.layout.computed = {\n margin: {\n b: d.b,\n l: d.l,\n r: d.r,\n t: d.t\n }\n };\n }\n return s && (f.frames = u(s)), i && (f.config = u(e._context, !0)), n === \"object\" ? f : JSON.stringify(f);\n};\nlt.modifyFrames = function(e, t) {\n var r, n, a, i = e._transitionData._frames, o = e._transitionData._frameHash;\n for (r = 0; r < t.length; r++)\n switch (n = t[r], n.type) {\n case \"replace\":\n a = n.value;\n var l = (i[n.index] || {}).name, s = a.name;\n i[n.index] = o[s] = a, s !== l && (delete o[l], o[s] = a);\n break;\n case \"insert\":\n a = n.value, o[a.name] = a, i.splice(n.index, 0, a);\n break;\n case \"delete\":\n a = i[n.index], delete o[a.name], i.splice(n.index, 1);\n break;\n }\n return Promise.resolve();\n};\nlt.computeFrame = function(e, t) {\n var r = e._transitionData._frameHash, n, a, i, o;\n if (!t)\n throw new Error(\"computeFrame must be given a string frame name\");\n var l = r[t.toString()];\n if (!l)\n return !1;\n for (var s = [l], u = [l.name]; l.baseframe && (l = r[l.baseframe.toString()]) && u.indexOf(l.name) === -1; )\n s.push(l), u.push(l.name);\n for (var f = {}; l = s.pop(); )\n if (l.layout && (f.layout = lt.extendLayout(f.layout, l.layout)), l.data) {\n if (f.data || (f.data = []), a = l.traces, !a)\n for (a = [], n = 0; n < l.data.length; n++)\n a[n] = n;\n for (f.traces || (f.traces = []), n = 0; n < l.data.length; n++)\n i = a[n], i != null && (o = f.traces.indexOf(i), o === -1 && (o = f.data.length, f.traces[o] = i), f.data[o] = lt.extendTrace(f.data[o], l.data[n]));\n }\n return f;\n};\nlt.recomputeFrameHash = function(e) {\n for (var t = e._transitionData._frameHash = {}, r = e._transitionData._frames, n = 0; n < r.length; n++) {\n var a = r[n];\n a && a.name && (t[a.name] = a);\n }\n};\nlt.extendObjectWithContainers = function(e, t, r) {\n var n, a, i, o, l, s, u, f, d = _t.extendDeepNoArrays({}, t || {}), h = _t.expandObjectPaths(d), p = {};\n if (r && r.length)\n for (i = 0; i < r.length; i++)\n n = _t.nestedProperty(h, r[i]), a = n.get(), a === void 0 ? _t.nestedProperty(p, r[i]).set(null) : (n.set(null), _t.nestedProperty(p, r[i]).set(a));\n if (e = _t.extendDeepNoArrays(e || {}, h), r && r.length) {\n for (i = 0; i < r.length; i++)\n if (l = _t.nestedProperty(p, r[i]), u = l.get(), !!u) {\n for (s = _t.nestedProperty(e, r[i]), f = s.get(), Array.isArray(f) || (f = [], s.set(f)), o = 0; o < u.length; o++) {\n var v = u[o];\n v === null ? f[o] = null : f[o] = lt.extendObjectWithContainers(f[o], v);\n }\n s.set(f);\n }\n }\n return e;\n};\nlt.dataArrayContainers = [\"transforms\", \"dimensions\"];\nlt.layoutArrayContainers = hr.layoutArrayContainers;\nlt.extendTrace = function(e, t) {\n return lt.extendObjectWithContainers(e, t, lt.dataArrayContainers);\n};\nlt.extendLayout = function(e, t) {\n return lt.extendObjectWithContainers(e, t, lt.layoutArrayContainers);\n};\nlt.transition = function(e, t, r, n, a, i) {\n var o = { redraw: a.redraw }, l = {}, s = [];\n return o.prepareFn = function() {\n for (var u = Array.isArray(t) ? t.length : 0, f = n.slice(0, u), d = 0; d < f.length; d++) {\n var h = f[d], p = e._fullData[h], v = p._module;\n if (v) {\n if (v.animatable) {\n var m = v.basePlotModule.name;\n l[m] || (l[m] = []), l[m].push(h);\n }\n e.data[f[d]] = lt.extendTrace(e.data[f[d]], t[d]);\n }\n }\n var g = _t.expandObjectPaths(_t.extendDeepNoArrays({}, r)), y = /^[xy]axis[0-9]*$/;\n for (var w in g)\n y.test(w) && delete g[w].range;\n lt.extendLayout(e.layout, g), delete e.calcdata, lt.supplyDefaults(e), lt.doCalcdata(e);\n var k = _t.expandObjectPaths(r);\n if (k) {\n var x = e._fullLayout._plots;\n for (var _ in x) {\n var T = x[_], S = T.xaxis, M = T.yaxis, L = S.range.slice(), F = M.range.slice(), $ = null, I = null, O = null, G = null;\n Array.isArray(k[S._name + \".range\"]) ? $ = k[S._name + \".range\"].slice() : Array.isArray((k[S._name] || {}).range) && ($ = k[S._name].range.slice()), Array.isArray(k[M._name + \".range\"]) ? I = k[M._name + \".range\"].slice() : Array.isArray((k[M._name] || {}).range) && (I = k[M._name].range.slice()), L && $ && (S.r2l(L[0]) !== S.r2l($[0]) || S.r2l(L[1]) !== S.r2l($[1])) && (O = { xr0: L, xr1: $ }), F && I && (M.r2l(F[0]) !== M.r2l(I[0]) || M.r2l(F[1]) !== M.r2l(I[1])) && (G = { yr0: F, yr1: I }), (O || G) && s.push(_t.extendFlat({ plotinfo: T }, O, G));\n }\n }\n return Promise.resolve();\n }, o.runFn = function(u) {\n var f, d = e._fullLayout._basePlotModules, h = s.length, p;\n if (r)\n for (p = 0; p < d.length; p++)\n d[p].transitionAxes && d[p].transitionAxes(e, s, i, u);\n h ? (f = _t.extendFlat({}, i), f.duration = 0, delete l.cartesian) : f = i;\n for (var v in l) {\n var m = l[v], g = e._fullData[m[0]]._module;\n g.basePlotModule.plot(e, m, f, u);\n }\n }, t4(e, i, o);\n};\nlt.transitionFromReact = function(e, t, r, n) {\n var a = e._fullLayout, i = a.transition, o = {}, l = [];\n return o.prepareFn = function() {\n var s = a._plots;\n o.redraw = !1, t.anim === \"some\" && (o.redraw = !0), r.anim === \"some\" && (o.redraw = !0);\n for (var u in s) {\n var f = s[u], d = f.xaxis, h = f.yaxis, p = n[d._name].range.slice(), v = n[h._name].range.slice(), m = d.range.slice(), g = h.range.slice();\n d.setScale(), h.setScale();\n var y = null, w = null;\n (d.r2l(p[0]) !== d.r2l(m[0]) || d.r2l(p[1]) !== d.r2l(m[1])) && (y = { xr0: p, xr1: m }), (h.r2l(v[0]) !== h.r2l(g[0]) || h.r2l(v[1]) !== h.r2l(g[1])) && (w = { yr0: v, yr1: g }), (y || w) && l.push(_t.extendFlat({ plotinfo: f }, y, w));\n }\n return Promise.resolve();\n }, o.runFn = function(s) {\n for (var u = e._fullData, f = e._fullLayout, d = f._basePlotModules, h, p, v, m = [], g = 0; g < u.length; g++)\n m.push(g);\n function y() {\n if (e._fullLayout)\n for (var k = 0; k < d.length; k++)\n d[k].transitionAxes && d[k].transitionAxes(e, l, h, s);\n }\n function w() {\n if (e._fullLayout)\n for (var k = 0; k < d.length; k++)\n d[k].plot(e, v, p, s);\n }\n l.length && t.anim ? i.ordering === \"traces first\" ? (h = _t.extendFlat({}, i, { duration: 0 }), v = m, p = i, setTimeout(y, i.duration), w()) : (h = i, v = null, p = _t.extendFlat({}, i, { duration: 0 }), setTimeout(w, h.duration), y()) : l.length ? (h = i, y()) : t.anim && (v = m, p = i, w());\n }, t4(e, i, o);\n};\nfunction t4(e, t, r) {\n var n = !1;\n function a(d) {\n var h = Promise.resolve();\n if (!d) return h;\n for (; d.length; )\n h = h.then(d.shift());\n return h;\n }\n function i(d) {\n if (d)\n for (; d.length; )\n d.shift();\n }\n function o() {\n return e.emit(\"plotly_transitioning\", []), new Promise(function(d) {\n e._transitioning = !0, t.duration > 0 && (e._transitioningWithDuration = !0), e._transitionData._interruptCallbacks.push(function() {\n n = !0;\n }), r.redraw && e._transitionData._interruptCallbacks.push(function() {\n return hr.call(\"redraw\", e);\n }), e._transitionData._interruptCallbacks.push(function() {\n e.emit(\"plotly_transitioninterrupted\", []);\n });\n var h = 0, p = 0;\n function v() {\n return h++, function() {\n p++, !n && p === h && l(d);\n };\n }\n r.runFn(v), setTimeout(v());\n });\n }\n function l(d) {\n if (e._transitionData)\n return i(e._transitionData._interruptCallbacks), Promise.resolve().then(function() {\n if (r.redraw)\n return hr.call(\"redraw\", e);\n }).then(function() {\n e._transitioning = !1, e._transitioningWithDuration = !1, e.emit(\"plotly_transitioned\", []);\n }).then(d);\n }\n function s() {\n if (e._transitionData)\n return e._transitioning = !1, a(e._transitionData._interruptCallbacks);\n }\n var u = [\n lt.previousPromises,\n s,\n r.prepareFn,\n lt.rehover,\n lt.reselect,\n o\n ], f = _t.syncOrAsync(u, e);\n return (!f || !f.then) && (f = Promise.resolve()), f.then(function() {\n return e;\n });\n}\nlt.doCalcdata = function(e, t) {\n var r = oa.list(e), n = e._fullData, a = e._fullLayout, i, o, l, s, u = new Array(n.length), f = (e.calcdata || []).slice();\n for (e.calcdata = u, a._numBoxes = 0, a._numViolins = 0, a._violinScaleGroupStats = {}, e._hmpixcount = 0, e._hmlumcount = 0, a._piecolormap = {}, a._sunburstcolormap = {}, a._treemapcolormap = {}, a._iciclecolormap = {}, a._funnelareacolormap = {}, l = 0; l < n.length; l++)\n if (Array.isArray(t) && t.indexOf(l) === -1) {\n u[l] = f[l];\n continue;\n }\n for (l = 0; l < n.length; l++)\n i = n[l], i._arrayAttrs = YL.findArrayAttributes(i), i._extremes = {};\n var d = a._subplots.polar || [];\n for (l = 0; l < d.length; l++)\n r.push(\n a[d[l]].radialaxis,\n a[d[l]].angularaxis\n );\n for (var h in a._colorAxes) {\n var p = a[h];\n p.cauto !== !1 && (delete p.cmin, delete p.cmax);\n }\n var v = !1;\n function m(w) {\n if (i = n[w], o = i._module, i.visible === !0 && i.transforms) {\n if (o && o.calc) {\n var k = o.calc(e, i);\n k[0] && k[0].t && k[0].t._scene && delete k[0].t._scene.dirty;\n }\n for (s = 0; s < i.transforms.length; s++) {\n var x = i.transforms[s];\n o = wp[x.type], o && o.calcTransform && (i._hasCalcTransform = !0, v = !0, o.calcTransform(e, i, x));\n }\n }\n }\n function g(w, k) {\n if (i = n[w], o = i._module, !!o.isContainer === k) {\n var x = [];\n if (i.visible === !0 && i._length !== 0) {\n delete i._indexToPoints;\n var _ = i.transforms || [];\n for (s = _.length - 1; s >= 0; s--)\n if (_[s].enabled) {\n i._indexToPoints = _[s]._indexToPoints;\n break;\n }\n o && o.calc && (x = o.calc(e, i));\n }\n (!Array.isArray(x) || !x[0]) && (x = [{ x: O2, y: O2 }]), x[0].t || (x[0].t = {}), x[0].trace = i, u[w] = x;\n }\n }\n for (j2(r, n, a), l = 0; l < n.length; l++) g(l, !0);\n for (l = 0; l < n.length; l++) m(l);\n for (v && j2(r, n, a), l = 0; l < n.length; l++) g(l, !0);\n for (l = 0; l < n.length; l++) g(l, !1);\n U2(e);\n var y = aW(r, e);\n if (y.length) {\n for (a._numBoxes = 0, a._numViolins = 0, l = 0; l < y.length; l++) g(y[l], !0);\n for (l = 0; l < y.length; l++) g(y[l], !1);\n U2(e);\n }\n hr.getComponentMethod(\"fx\", \"calc\")(e), hr.getComponentMethod(\"errorbars\", \"calc\")(e);\n};\nvar nW = /(total|sum|min|max|mean|median) (ascending|descending)/;\nfunction aW(e, t) {\n var r = [], n, a, i, o, l;\n function s(P, R, H) {\n var B = R._id.charAt(0);\n if (P === \"histogram2dcontour\") {\n var W = R._counterAxes[0], ee = oa.getFromId(t, W), re = B === \"x\" || W === \"x\" && ee.type === \"category\", ae = B === \"y\" || W === \"y\" && ee.type === \"category\";\n return function(Q, ue) {\n return Q === 0 || ue === 0 || re && Q === H[ue].length - 1 || ae && ue === H.length - 1 ? -1 : (B === \"y\" ? ue : Q) - 1;\n };\n } else\n return function(Q, ue) {\n return B === \"y\" ? ue : Q;\n };\n }\n var u = {\n min: function(P) {\n return _t.aggNums(Math.min, null, P);\n },\n max: function(P) {\n return _t.aggNums(Math.max, null, P);\n },\n sum: function(P) {\n return _t.aggNums(function(R, H) {\n return R + H;\n }, null, P);\n },\n total: function(P) {\n return _t.aggNums(function(R, H) {\n return R + H;\n }, null, P);\n },\n mean: function(P) {\n return _t.mean(P);\n },\n median: function(P) {\n return _t.median(P);\n }\n };\n function f(P, R) {\n return P[1] - R[1];\n }\n function d(P, R) {\n return R[1] - P[1];\n }\n for (n = 0; n < e.length; n++) {\n var h = e[n];\n if (h.type === \"category\") {\n var p = h.categoryorder.match(nW);\n if (p) {\n var v = p[1], m = p[2], g = h._id.charAt(0), y = g === \"x\", w = [];\n for (a = 0; a < h._categories.length; a++)\n w.push([h._categories[a], []]);\n for (a = 0; a < h._traceIndices.length; a++) {\n var k = h._traceIndices[a], x = t._fullData[k];\n if (x.visible === !0) {\n var _ = x.type;\n hr.traceIs(x, \"histogram\") && (delete x._xautoBinFinished, delete x._yautoBinFinished);\n var T = _ === \"splom\", S = _ === \"scattergl\", M = t.calcdata[k];\n for (i = 0; i < M.length; i++) {\n var L = M[i], F, $;\n if (T) {\n var I = x._axesDim[h._id];\n if (!y) {\n var O = x._diag[I][0];\n O && (h = t._fullLayout[oa.id2name(O)]);\n }\n var G = L.trace.dimensions[I].values;\n for (o = 0; o < G.length; o++)\n for (F = h._categoriesMap[G[o]], l = 0; l < L.trace.dimensions.length; l++)\n if (l !== I) {\n var K = L.trace.dimensions[l];\n w[F][1].push(K.values[o]);\n }\n } else if (S) {\n for (o = 0; o < L.t.x.length; o++)\n y ? (F = L.t.x[o], $ = L.t.y[o]) : (F = L.t.y[o], $ = L.t.x[o]), w[F][1].push($);\n L.t && L.t._scene && delete L.t._scene.dirty;\n } else if (L.hasOwnProperty(\"z\")) {\n $ = L.z;\n var V = s(x.type, h, $);\n for (o = 0; o < $.length; o++)\n for (l = 0; l < $[o].length; l++)\n F = V(l, o), F + 1 && w[F][1].push($[o][l]);\n } else\n for (F = L.p, F === void 0 && (F = L[g]), $ = L.s, $ === void 0 && ($ = L.v), $ === void 0 && ($ = y ? L.y : L.x), Array.isArray($) || ($ === void 0 ? $ = [] : $ = [$]), o = 0; o < $.length; o++)\n w[F][1].push($[o]);\n }\n }\n }\n h._categoriesValue = w;\n var z = [];\n for (a = 0; a < w.length; a++)\n z.push([\n w[a][0],\n u[v](w[a][1])\n ]);\n z.sort(m === \"descending\" ? d : f), h._categoriesAggregatedValue = z, h._initialCategories = z.map(function(P) {\n return P[0];\n }), r = r.concat(h.sortByInitialCategories());\n }\n }\n }\n return r;\n}\nfunction j2(e, t, r) {\n var n = {};\n function a(s) {\n s.clearCalc(), s.type === \"multicategory\" && s.setupMultiCategory(t), n[s._id] = 1;\n }\n _t.simpleMap(e, a);\n for (var i = r._axisMatchGroups || [], o = 0; o < i.length; o++)\n for (var l in i[o])\n n[l] || a(r[oa.id2name(l)]);\n}\nfunction U2(e) {\n var t = e._fullLayout, r = t._visibleModules, n = {}, a, i, o;\n for (i = 0; i < r.length; i++) {\n var l = r[i], s = l.crossTraceCalc;\n if (s) {\n var u = l.basePlotModule.name;\n n[u] ? _t.pushUnique(n[u], s) : n[u] = [s];\n }\n }\n for (o in n) {\n var f = n[o], d = t._subplots[o];\n if (Array.isArray(d))\n for (a = 0; a < d.length; a++) {\n var h = d[a], p = o === \"cartesian\" ? t._plots[h] : t[h];\n for (i = 0; i < f.length; i++)\n f[i](e, p, h);\n }\n else\n for (i = 0; i < f.length; i++)\n f[i](e);\n }\n}\nlt.rehover = function(e) {\n e._fullLayout._rehover && e._fullLayout._rehover();\n};\nlt.redrag = function(e) {\n e._fullLayout._redrag && e._fullLayout._redrag();\n};\nlt.reselect = function(e) {\n var t = e._fullLayout, r = (e.layout || {}).selections, n = t._previousSelections;\n t._previousSelections = r;\n var a = t._reselect || JSON.stringify(r) !== JSON.stringify(n);\n hr.getComponentMethod(\"selections\", \"reselect\")(e, a);\n};\nlt.generalUpdatePerTraceModule = function(e, t, r, n) {\n var a = t.traceHash, i = {}, o;\n for (o = 0; o < r.length; o++) {\n var l = r[o], s = l[0].trace;\n s.visible && (i[s.type] = i[s.type] || [], i[s.type].push(l));\n }\n for (var u in a)\n if (!i[u]) {\n var f = a[u][0], d = f[0].trace;\n d.visible = !1, i[u] = [f];\n }\n for (var h in i) {\n var p = i[h], v = p[0][0].trace._module;\n v.plot(e, t, _t.filterVisible(p), n);\n }\n t.traceHash = i;\n};\nlt.plotBasePlot = function(e, t, r, n, a) {\n var i = hr.getModule(e), o = Vq(t.calcdata, i)[0];\n i.plot(t, o, n, a);\n};\nlt.cleanBasePlot = function(e, t, r, n, a) {\n var i = a._has && a._has(e), o = r._has && r._has(e);\n i && !o && a[\"_\" + e + \"layer\"].selectAll(\"g.trace\").remove();\n};\nvar Tn = qL.exports, r4 = { exports: {} }, Rn = {}, yl = {};\n(function(e) {\n e.xmlns = \"http://www.w3.org/2000/xmlns/\", e.svg = \"http://www.w3.org/2000/svg\", e.xlink = \"http://www.w3.org/1999/xlink\", e.svgAttrs = {\n xmlns: e.svg,\n \"xmlns:xlink\": e.xlink\n };\n})(yl);\nvar On = {\n // from bottom left: this is the origin of our paper-reference\n // positioning system\n FROM_BL: {\n left: 0,\n center: 0.5,\n right: 1,\n bottom: 0,\n middle: 0.5,\n top: 1\n },\n // from top left: this is the screen pixel positioning origin\n FROM_TL: {\n left: 0,\n center: 0.5,\n right: 1,\n bottom: 1,\n middle: 0.5,\n top: 0\n },\n // from bottom right: sometimes you just need the opposite of ^^\n FROM_BR: {\n left: 1,\n center: 0.5,\n right: 0,\n bottom: 0,\n middle: 0.5,\n top: 1\n },\n // multiple of fontSize to get the vertical offset between lines\n LINE_SPACING: 1.3,\n // multiple of fontSize to shift from the baseline\n // to the cap (captical letter) line\n // (to use when we don't calculate this shift from Drawing.bBox)\n // This is an approximation since in reality cap height can differ\n // from font to font. However, according to Wikipedia\n // an \"average\" font might have a cap height of 70% of the em\n // https://en.wikipedia.org/wiki/Em_(typography)#History\n CAP_SHIFT: 0.7,\n // half the cap height (distance between baseline and cap line)\n // of an \"average\" font (for more info see above).\n MID_SHIFT: 0.35,\n OPPOSITE_SIDE: {\n left: \"right\",\n right: \"left\",\n top: \"bottom\",\n bottom: \"top\"\n }\n};\n(function(e) {\n var t = lr, r = Ue, n = r.strTranslate, a = yl, i = On.LINE_SPACING, o = /([^$]*)([$]+[^$]*[$]+)([^$]*)/;\n e.convertToTspans = function(R, H, B) {\n var W = R.text(), ee = !R.attr(\"data-notex\") && H && H._context.typesetMath && typeof MathJax < \"u\" && W.match(o), re = t.select(R.node().parentNode);\n if (re.empty()) return;\n var ae = R.attr(\"class\") ? R.attr(\"class\").split(\" \")[0] : \"text\";\n ae += \"-math\", re.selectAll(\"svg.\" + ae).remove(), re.selectAll(\"g.\" + ae + \"-group\").remove(), R.style(\"display\", null).attr({\n // some callers use data-unformatted *from the element* in 'cancel'\n // so we need it here even if we're going to turn it into math\n // these two (plus style and text-anchor attributes) form the key we're\n // going to use for Drawing.bBox\n \"data-unformatted\": W,\n \"data-math\": \"N\"\n });\n function Q() {\n re.empty() || (ae = R.attr(\"class\") + \"-math\", re.select(\"svg.\" + ae).remove()), R.text(\"\").style(\"white-space\", \"pre\");\n var ue = K(R.node(), W);\n ue && R.style(\"pointer-events\", \"all\"), e.positionText(R), B && B.call(R);\n }\n return ee ? (H && H._promises || []).push(new Promise(function(ue) {\n R.style(\"display\", \"none\");\n var j = parseInt(R.node().style.fontSize, 10), U = { fontSize: j };\n d(ee[2], U, function(Z, le, J) {\n re.selectAll(\"svg.\" + ae).remove(), re.selectAll(\"g.\" + ae + \"-group\").remove();\n var pe = Z && Z.select(\"svg\");\n if (!pe || !pe.node()) {\n Q(), ue();\n return;\n }\n var ge = re.append(\"g\").classed(ae + \"-group\", !0).attr({\n \"pointer-events\": \"none\",\n \"data-unformatted\": W,\n \"data-math\": \"Y\"\n });\n ge.node().appendChild(pe.node()), le && le.node() && pe.node().insertBefore(\n le.node().cloneNode(!0),\n pe.node().firstChild\n );\n var ve = J.width, me = J.height;\n pe.attr({\n class: ae,\n height: me,\n preserveAspectRatio: \"xMinYMin meet\"\n }).style({ overflow: \"visible\", \"pointer-events\": \"none\" });\n var Le = R.node().style.fill || \"black\", ze = pe.select(\"g\");\n ze.attr({ fill: Le, stroke: Le });\n var Fe = ze.node().getBoundingClientRect(), Oe = Fe.width, Re = Fe.height;\n (Oe > ve || Re > me) && (pe.style(\"overflow\", \"hidden\"), Fe = pe.node().getBoundingClientRect(), Oe = Fe.width, Re = Fe.height);\n var We = +R.attr(\"x\"), Me = +R.attr(\"y\"), Ve = j || R.node().getBoundingClientRect().height, qe = -Ve / 4;\n if (ae[0] === \"y\")\n ge.attr({\n transform: \"rotate(\" + [-90, We, Me] + \")\" + n(-Oe / 2, qe - Re / 2)\n });\n else if (ae[0] === \"l\")\n Me = qe - Re / 2;\n else if (ae[0] === \"a\" && ae.indexOf(\"atitle\") !== 0)\n We = 0, Me = qe;\n else {\n var Qe = R.attr(\"text-anchor\");\n We = We - Oe * (Qe === \"middle\" ? 0.5 : Qe === \"end\" ? 1 : 0), Me = Me + qe - Re / 2;\n }\n pe.attr({\n x: We,\n y: Me\n }), B && B.call(R, ge), ue(ge);\n });\n })) : Q(), R;\n };\n var l = /(<|<|<)/g, s = /(>|>|>)/g;\n function u(R) {\n return R.replace(l, \"\\\\lt \").replace(s, \"\\\\gt \");\n }\n var f = [[\"$\", \"$\"], [\"\\\\(\", \"\\\\)\"]];\n function d(R, H, B) {\n var W = parseInt(\n (MathJax.version || \"\").split(\".\")[0]\n );\n if (W !== 2 && W !== 3) {\n r.warn(\"No MathJax version:\", MathJax.version);\n return;\n }\n var ee, re, ae, Q, ue = function() {\n return re = r.extendDeepAll({}, MathJax.Hub.config), ae = MathJax.Hub.processSectionDelay, MathJax.Hub.processSectionDelay !== void 0 && (MathJax.Hub.processSectionDelay = 0), MathJax.Hub.Config({\n messageStyle: \"none\",\n tex2jax: {\n inlineMath: f\n },\n displayAlign: \"left\"\n });\n }, j = function() {\n re = r.extendDeepAll({}, MathJax.config), MathJax.config.tex || (MathJax.config.tex = {}), MathJax.config.tex.inlineMath = f;\n }, U = function() {\n if (ee = MathJax.Hub.config.menuSettings.renderer, ee !== \"SVG\")\n return MathJax.Hub.setRenderer(\"SVG\");\n }, Z = function() {\n ee = MathJax.config.startup.output, ee !== \"svg\" && (MathJax.config.startup.output = \"svg\");\n }, le = function() {\n var Le = \"math-output-\" + r.randstr({}, 64);\n Q = t.select(\"body\").append(\"div\").attr({ id: Le }).style({\n visibility: \"hidden\",\n position: \"absolute\",\n \"font-size\": H.fontSize + \"px\"\n }).text(u(R));\n var ze = Q.node();\n return W === 2 ? MathJax.Hub.Typeset(ze) : MathJax.typeset([ze]);\n }, J = function() {\n var Le = Q.select(\n W === 2 ? \".MathJax_SVG\" : \".MathJax\"\n ), ze = !Le.empty() && Q.select(\"svg\").node();\n if (!ze)\n r.log(\"There was an error in the tex syntax.\", R), B();\n else {\n var Fe = ze.getBoundingClientRect(), Oe;\n W === 2 ? Oe = t.select(\"body\").select(\"#MathJax_SVG_glyphs\") : Oe = Le.select(\"defs\"), B(Le, Oe, Fe);\n }\n Q.remove();\n }, pe = function() {\n if (ee !== \"SVG\")\n return MathJax.Hub.setRenderer(ee);\n }, ge = function() {\n ee !== \"svg\" && (MathJax.config.startup.output = ee);\n }, ve = function() {\n return ae !== void 0 && (MathJax.Hub.processSectionDelay = ae), MathJax.Hub.Config(re);\n }, me = function() {\n MathJax.config = re;\n };\n W === 2 ? MathJax.Hub.Queue(\n ue,\n U,\n le,\n J,\n pe,\n ve\n ) : W === 3 && (j(), Z(), MathJax.startup.defaultReady(), MathJax.startup.promise.then(function() {\n le(), J(), ge(), me();\n }));\n }\n var h = {\n // would like to use baseline-shift for sub/sup but FF doesn't support it\n // so we need to use dy along with the uber hacky shift-back-to\n // baseline below\n sup: \"font-size:70%\",\n sub: \"font-size:70%\",\n b: \"font-weight:bold\",\n i: \"font-style:italic\",\n a: \"cursor:pointer\",\n span: \"\",\n em: \"font-style:italic;font-weight:bold\"\n }, p = {\n sub: \"0.3em\",\n sup: \"-0.6em\"\n }, v = {\n sub: \"-0.21em\",\n sup: \"0.42em\"\n }, m = \"​\", g = [\"http:\", \"https:\", \"mailto:\", \"\", void 0, \":\"], y = e.NEWLINES = /(\\r\\n?|\\n)/g, w = /(<[^<>]*>)/, k = /<(\\/?)([^ >]*)(\\s+(.*))?>/i, x = //i;\n e.BR_TAG_ALL = //gi;\n var _ = /(^|[\\s\"'])style\\s*=\\s*(\"([^\"]*);?\"|'([^']*);?')/i, T = /(^|[\\s\"'])href\\s*=\\s*(\"([^\"]*)\"|'([^']*)')/i, S = /(^|[\\s\"'])target\\s*=\\s*(\"([^\"\\s]*)\"|'([^'\\s]*)')/i, M = /(^|[\\s\"'])popup\\s*=\\s*(\"([\\w=,]*)\"|'([\\w=,]*)')/i;\n function L(R, H) {\n if (!R) return null;\n var B = R.match(H), W = B && (B[3] || B[4]);\n return W && O(W);\n }\n var F = /(^|;)\\s*color:/;\n e.plainText = function(R, H) {\n H = H || {};\n for (var B = H.len !== void 0 && H.len !== -1 ? H.len : 1 / 0, W = H.allowedTags !== void 0 ? H.allowedTags : [\"br\"], ee = \"...\", re = ee.length, ae = R.split(w), Q = [], ue = \"\", j = 0, U = 0; U < ae.length; U++) {\n var Z = ae[U], le = Z.match(k), J = le && le[2].toLowerCase();\n if (J)\n W.indexOf(J) !== -1 && (Q.push(Z), ue = J);\n else {\n var pe = Z.length;\n if (j + pe < B)\n Q.push(Z), j += pe;\n else if (j < B) {\n var ge = B - j;\n ue && (ue !== \"br\" || ge <= re || pe <= re) && Q.pop(), B > re ? Q.push(Z.substr(0, ge - re) + ee) : Q.push(Z.substr(0, ge));\n break;\n }\n ue = \"\";\n }\n }\n return Q.join(\"\");\n };\n var $ = {\n mu: \"μ\",\n amp: \"&\",\n lt: \"<\",\n gt: \">\",\n nbsp: \" \",\n times: \"×\",\n plusmn: \"±\",\n deg: \"°\"\n }, I = /&(#\\d+|#x[\\da-fA-F]+|[a-z]+);/g;\n function O(R) {\n return R.replace(I, function(H, B) {\n var W;\n return B.charAt(0) === \"#\" ? W = G(\n B.charAt(1) === \"x\" ? parseInt(B.substr(2), 16) : parseInt(B.substr(1), 10)\n ) : W = $[B], W || H;\n });\n }\n e.convertEntities = O;\n function G(R) {\n if (!(R > 1114111)) {\n var H = String.fromCodePoint;\n if (H) return H(R);\n var B = String.fromCharCode;\n return R <= 65535 ? B(R) : B(\n (R >> 10) + 55232,\n R % 1024 + 56320\n );\n }\n }\n function K(R, H) {\n H = H.replace(y, \" \");\n var B = !1, W = [], ee, re = -1;\n function ae() {\n re++;\n var Re = document.createElementNS(a.svg, \"tspan\");\n t.select(Re).attr({\n class: \"line\",\n dy: re * i + \"em\"\n }), R.appendChild(Re), ee = Re;\n var We = W;\n if (W = [{ node: Re }], We.length > 1)\n for (var Me = 1; Me < We.length; Me++)\n Q(We[Me]);\n }\n function Q(Re) {\n var We = Re.type, Me = {}, Ve;\n if (We === \"a\") {\n Ve = \"a\";\n var qe = Re.target, Qe = Re.href, ot = Re.popup;\n Qe && (Me = {\n \"xlink:xlink:show\": qe === \"_blank\" || qe.charAt(0) !== \"_\" ? \"new\" : \"replace\",\n target: qe,\n \"xlink:xlink:href\": Qe\n }, ot && (Me.onclick = 'window.open(this.href.baseVal,this.target.baseVal,\"' + ot + '\");return false;'));\n } else Ve = \"tspan\";\n Re.style && (Me.style = Re.style);\n var ht = document.createElementNS(a.svg, Ve);\n if (We === \"sup\" || We === \"sub\") {\n ue(ee, m), ee.appendChild(ht);\n var vt = document.createElementNS(a.svg, \"tspan\");\n ue(vt, m), t.select(vt).attr(\"dy\", v[We]), Me.dy = p[We], ee.appendChild(ht), ee.appendChild(vt);\n } else\n ee.appendChild(ht);\n t.select(ht).attr(Me), ee = Re.node = ht, W.push(Re);\n }\n function ue(Re, We) {\n Re.appendChild(document.createTextNode(We));\n }\n function j(Re) {\n if (W.length === 1) {\n r.log(\"Ignoring unexpected end tag .\", H);\n return;\n }\n var We = W.pop();\n Re !== We.type && r.log(\"Start tag <\" + We.type + \"> doesnt match end tag <\" + Re + \">. Pretending it did match.\", H), ee = W[W.length - 1].node;\n }\n var U = x.test(H);\n U ? ae() : (ee = R, W = [{ node: R }]);\n for (var Z = H.split(w), le = 0; le < Z.length; le++) {\n var J = Z[le], pe = J.match(k), ge = pe && pe[2].toLowerCase(), ve = h[ge];\n if (ge === \"br\")\n ae();\n else if (ve === void 0)\n ue(ee, O(J));\n else if (pe[1])\n j(ge);\n else {\n var me = pe[4], Le = { type: ge }, ze = L(me, _);\n if (ze ? (ze = ze.replace(F, \"$1 fill:\"), ve && (ze += \";\" + ve)) : ve && (ze = ve), ze && (Le.style = ze), ge === \"a\") {\n B = !0;\n var Fe = L(me, T);\n if (Fe) {\n var Oe = V(Fe);\n Oe && (Le.href = Oe, Le.target = L(me, S) || \"_blank\", Le.popup = L(me, M));\n }\n }\n Q(Le);\n }\n }\n return B;\n }\n function V(R) {\n var H = encodeURI(decodeURI(R)), B = document.createElement(\"a\"), W = document.createElement(\"a\");\n B.href = R, W.href = H;\n var ee = B.protocol, re = W.protocol;\n return g.indexOf(ee) !== -1 && g.indexOf(re) !== -1 ? H : \"\";\n }\n e.sanitizeHTML = function(H) {\n H = H.replace(y, \" \");\n for (var B = document.createElement(\"p\"), W = B, ee = [], re = H.split(w), ae = 0; ae < re.length; ae++) {\n var Q = re[ae], ue = Q.match(k), j = ue && ue[2].toLowerCase();\n if (j in h)\n if (ue[1])\n ee.length && (W = ee.pop());\n else {\n var U = ue[4], Z = L(U, _), le = Z ? { style: Z } : {};\n if (j === \"a\") {\n var J = L(U, T);\n if (J) {\n var pe = V(J);\n if (pe) {\n le.href = pe;\n var ge = L(U, S);\n ge && (le.target = ge);\n }\n }\n }\n var ve = document.createElement(j);\n W.appendChild(ve), t.select(ve).attr(le), W = ve, ee.push(ve);\n }\n else\n W.appendChild(\n document.createTextNode(O(Q))\n );\n }\n var me = \"innerHTML\";\n return B[me];\n }, e.lineCount = function(H) {\n return H.selectAll(\"tspan.line\").size() || 1;\n }, e.positionText = function(H, B, W) {\n return H.each(function() {\n var ee = t.select(this);\n function re(ue, j) {\n return j === void 0 ? (j = ee.attr(ue), j === null && (ee.attr(ue, 0), j = 0)) : ee.attr(ue, j), j;\n }\n var ae = re(\"x\", B), Q = re(\"y\", W);\n this.nodeName === \"text\" && ee.selectAll(\"tspan.line\").attr({ x: ae, y: Q });\n });\n };\n function z(R, H, B) {\n var W = B.horizontalAlign, ee = B.verticalAlign || \"top\", re = R.node().getBoundingClientRect(), ae = H.node().getBoundingClientRect(), Q, ue, j;\n return ee === \"bottom\" ? ue = function() {\n return re.bottom - Q.height;\n } : ee === \"middle\" ? ue = function() {\n return re.top + (re.height - Q.height) / 2;\n } : ue = function() {\n return re.top;\n }, W === \"right\" ? j = function() {\n return re.right - Q.width;\n } : W === \"center\" ? j = function() {\n return re.left + (re.width - Q.width) / 2;\n } : j = function() {\n return re.left;\n }, function() {\n Q = this.node().getBoundingClientRect();\n var U = j() - ae.left, Z = ue() - ae.top, le = B.gd || {};\n if (B.gd) {\n le._fullLayout._calcInverseTransform(le);\n var J = r.apply3DTransform(le._fullLayout._invTransform)(U, Z);\n U = J[0], Z = J[1];\n }\n return this.style({\n top: Z + \"px\",\n left: U + \"px\",\n \"z-index\": 1e3\n }), this;\n };\n }\n var P = \"1px \";\n e.makeTextShadow = function(R) {\n var H = P, B = P, W = P;\n return H + B + W + R + \", -\" + H + \"-\" + B + W + R + \", \" + H + \"-\" + B + W + R + \", -\" + H + B + W + R;\n }, e.makeEditable = function(R, H) {\n var B = H.gd, W = H.delegate, ee = t.dispatch(\"edit\", \"input\", \"cancel\"), re = W || R;\n if (R.style({ \"pointer-events\": W ? \"none\" : \"all\" }), R.size() !== 1) throw new Error(\"boo\");\n function ae() {\n ue(), R.style({ opacity: 0 });\n var j = re.attr(\"class\"), U;\n j ? U = \".\" + j.split(\" \")[0] + \"-math-group\" : U = \"[class*=-math-group]\", U && t.select(R.node().parentNode).select(U).style({ opacity: 0 });\n }\n function Q(j) {\n var U = j.node(), Z = document.createRange();\n Z.selectNodeContents(U);\n var le = window.getSelection();\n le.removeAllRanges(), le.addRange(Z), U.focus();\n }\n function ue() {\n var j = t.select(B), U = j.select(\".svg-container\"), Z = U.append(\"div\"), le = R.node().style, J = parseFloat(le.fontSize || 12), pe = H.text;\n pe === void 0 && (pe = R.attr(\"data-unformatted\")), Z.classed(\"plugin-editable editable\", !0).style({\n position: \"absolute\",\n \"font-family\": le.fontFamily || \"Arial\",\n \"font-size\": J,\n color: H.fill || le.fill || \"black\",\n opacity: 1,\n \"background-color\": H.background || \"transparent\",\n outline: \"#ffffff33 1px solid\",\n margin: [-J / 8 + 1, 0, 0, -1].join(\"px \") + \"px\",\n padding: \"0\",\n \"box-sizing\": \"border-box\"\n }).attr({ contenteditable: !0 }).text(pe).call(z(R, U, H)).on(\"blur\", function() {\n B._editing = !1, R.text(this.textContent).style({ opacity: 1 });\n var ge = t.select(this).attr(\"class\"), ve;\n ge ? ve = \".\" + ge.split(\" \")[0] + \"-math-group\" : ve = \"[class*=-math-group]\", ve && t.select(R.node().parentNode).select(ve).style({ opacity: 0 });\n var me = this.textContent;\n t.select(this).transition().duration(0).remove(), t.select(document).on(\"mouseup\", null), ee.edit.call(R, me);\n }).on(\"focus\", function() {\n var ge = this;\n B._editing = !0, t.select(document).on(\"mouseup\", function() {\n if (t.event.target === ge) return !1;\n document.activeElement === Z.node() && Z.node().blur();\n });\n }).on(\"keyup\", function() {\n t.event.which === 27 ? (B._editing = !1, R.style({ opacity: 1 }), t.select(this).style({ opacity: 0 }).on(\"blur\", function() {\n return !1;\n }).transition().remove(), ee.cancel.call(R, this.textContent)) : (ee.input.call(R, this.textContent), t.select(this).call(z(R, U, H)));\n }).on(\"keydown\", function() {\n t.event.which === 13 && this.blur();\n }).call(Q);\n }\n return H.immediate ? ae() : re.on(\"click\", ae), t.rebind(R, ee, \"on\");\n };\n})(Rn);\nvar n4 = { exports: {} }, iW = lr, Ph = bi, nc = sr, jd = Ue, G2 = nr, oW = Wu.isValid;\nfunction lW(e, t, r) {\n var n = t ? jd.nestedProperty(e, t).get() || {} : e, a = n[r || \"color\"];\n a && a._inputArray && (a = a._inputArray);\n var i = !1;\n if (jd.isArrayOrTypedArray(a)) {\n for (var o = 0; o < a.length; o++)\n if (nc(a[o])) {\n i = !0;\n break;\n }\n }\n return jd.isPlainObject(n) && (i || n.showscale === !0 || nc(n.cmin) && nc(n.cmax) || oW(n.colorscale) || jd.isPlainObject(n.colorbar));\n}\nvar V2 = [\"showscale\", \"autocolorscale\", \"colorscale\", \"reversescale\", \"colorbar\"], kf = [\"min\", \"max\", \"mid\", \"auto\"];\nfunction a4(e) {\n var t = e._colorAx, r = t || e, n = {}, a, i, o;\n for (i = 0; i < V2.length; i++)\n o = V2[i], n[o] = r[o];\n if (t)\n for (a = \"c\", i = 0; i < kf.length; i++)\n o = kf[i], n[o] = r[\"c\" + o];\n else {\n var l;\n for (i = 0; i < kf.length; i++) {\n if (o = kf[i], l = \"c\" + o, l in r) {\n n[o] = r[l];\n continue;\n }\n l = \"z\" + o, l in r && (n[o] = r[l]);\n }\n a = l.charAt(0);\n }\n return n._sync = function(s, u) {\n var f = kf.indexOf(s) !== -1 ? a + s : s;\n r[f] = r[\"_\" + f] = u;\n }, n;\n}\nfunction i4(e) {\n for (var t = a4(e), r = t.min, n = t.max, a = t.reversescale ? o4(t.colorscale) : t.colorscale, i = a.length, o = new Array(i), l = new Array(i), s = 0; s < i; s++) {\n var u = a[s];\n o[s] = r + u[0] * (n - r), l[s] = u[1];\n }\n return { domain: o, range: l };\n}\nfunction o4(e) {\n for (var t = e.length, r = new Array(t), n = t - 1, a = 0; n >= 0; n--, a++) {\n var i = e[n];\n r[a] = [1 - i[0], i[1]];\n }\n return r;\n}\nfunction l4(e, t) {\n t = t || {};\n for (var r = e.domain, n = e.range, a = n.length, i = new Array(a), o = 0; o < a; o++) {\n var l = Ph(n[o]).toRgb();\n i[o] = [l.r, l.g, l.b, l.a];\n }\n var s = iW.scale.linear().domain(r).range(i).clamp(!0), u = t.noNumericCheck, f = t.returnArray, d;\n return u && f ? d = s : u ? d = function(h) {\n return q2(s(h));\n } : f ? d = function(h) {\n return nc(h) ? s(h) : Ph(h).isValid() ? h : G2.defaultLine;\n } : d = function(h) {\n return nc(h) ? q2(s(h)) : Ph(h).isValid() ? h : G2.defaultLine;\n }, d.domain = s.domain, d.range = function() {\n return n;\n }, d;\n}\nfunction sW(e, t) {\n return l4(i4(e), t);\n}\nfunction q2(e) {\n var t = {\n r: e[0],\n g: e[1],\n b: e[2],\n a: e[3]\n };\n return Ph(t).toRgbString();\n}\nvar wi = {\n hasColorscale: lW,\n extractOpts: a4,\n extractScale: i4,\n flipScale: o4,\n makeColorScaleFunc: l4,\n makeColorScaleFuncFromTrace: sW\n}, s4 = mL, uW = s4.FORMAT_LINK, fW = s4.DATE_FORMAT_LINK;\nfunction cW(e, t) {\n return {\n valType: \"string\",\n dflt: \"\",\n editType: \"none\",\n description: (t ? cb : u4)(\"hover text\", e) + [\n \"By default the values are formatted using \" + (t ? \"generic number format\" : \"`\" + e + \"axis.hoverformat`\") + \".\"\n ].join(\" \")\n };\n}\nfunction cb(e, t) {\n return [\n \"Sets the \" + e + \" formatting rule\" + (t ? \"for `\" + t + \"` \" : \"\"),\n \"using d3 formatting mini-languages\",\n \"which are very similar to those in Python. For numbers, see: \" + uW + \".\"\n ].join(\" \");\n}\nfunction u4(e, t) {\n return cb(e, t) + [\n \" And for dates see: \" + fW + \".\",\n \"We add two items to d3's date formatter:\",\n \"*%h* for half of the year as a decimal number as well as\",\n \"*%{n}f* for fractional seconds\",\n \"with n digits. For example, *2016-10-13 09:15:23.456* with tickformat\",\n \"*%H~%M~%S.%2f* would display *09~15~23.46*\"\n ].join(\" \");\n}\nvar kp = {\n axisHoverFormat: cW,\n descriptionOnlyNumbers: cb,\n descriptionWithDates: u4\n}, Xm = Fn, uu = da, f4 = Zi.dash, db = en.extendFlat, W2 = Mr.templatedArray, Z2 = kp.descriptionWithDates, dW = Qr.ONEDAY, Fi = Yn, Km = Fi.HOUR_PATTERN, Jm = Fi.WEEKDAY_PATTERN, $h = {\n valType: \"enumerated\",\n values: [\"auto\", \"linear\", \"array\"],\n editType: \"ticks\",\n impliedEdits: { tick0: void 0, dtick: void 0 },\n description: [\n \"Sets the tick mode for this axis.\",\n \"If *auto*, the number of ticks is set via `nticks`.\",\n \"If *linear*, the placement of the ticks is determined by\",\n \"a starting position `tick0` and a tick step `dtick`\",\n \"(*linear* is the default value if `tick0` and `dtick` are provided).\",\n \"If *array*, the placement of the ticks is set via `tickvals`\",\n \"and the tick text is `ticktext`.\",\n \"(*array* is the default value if `tickvals` is provided).\"\n ].join(\" \")\n}, hW = db({}, $h, {\n values: $h.values.slice().concat([\"sync\"]),\n description: [\n $h.description,\n \"If *sync*, the number of ticks will sync with the overlayed axis\",\n \"set by `overlaying` property.\"\n ].join(\" \")\n});\nfunction Y2(e) {\n return {\n valType: \"integer\",\n min: 0,\n dflt: e ? 5 : 0,\n editType: \"ticks\",\n description: [\n \"Specifies the maximum number of ticks for the particular axis.\",\n \"The actual number of ticks will be chosen automatically to be\",\n \"less than or equal to `nticks`.\",\n \"Has an effect only if `tickmode` is set to *auto*.\"\n ].join(\" \")\n };\n}\nvar X2 = {\n valType: \"any\",\n editType: \"ticks\",\n impliedEdits: { tickmode: \"linear\" },\n description: [\n \"Sets the placement of the first tick on this axis.\",\n \"Use with `dtick`.\",\n \"If the axis `type` is *log*, then you must take the log of your starting tick\",\n \"(e.g. to set the starting tick to 100, set the `tick0` to 2)\",\n \"except when `dtick`=*L* (see `dtick` for more info).\",\n \"If the axis `type` is *date*, it should be a date string, like date data.\",\n \"If the axis `type` is *category*, it should be a number, using the scale where\",\n \"each category is assigned a serial number from zero in the order it appears.\"\n ].join(\" \")\n}, K2 = {\n valType: \"any\",\n editType: \"ticks\",\n impliedEdits: { tickmode: \"linear\" },\n description: [\n \"Sets the step in-between ticks on this axis. Use with `tick0`.\",\n \"Must be a positive number, or special strings available to *log* and *date* axes.\",\n \"If the axis `type` is *log*, then ticks are set every 10^(n*dtick) where n\",\n \"is the tick number. For example,\",\n \"to set a tick mark at 1, 10, 100, 1000, ... set dtick to 1.\",\n \"To set tick marks at 1, 100, 10000, ... set dtick to 2.\",\n \"To set tick marks at 1, 5, 25, 125, 625, 3125, ... set dtick to log_10(5), or 0.69897000433.\",\n \"*log* has several special values; *L*, where `f` is a positive number,\",\n \"gives ticks linearly spaced in value (but not position).\",\n \"For example `tick0` = 0.1, `dtick` = *L0.5* will put ticks at 0.1, 0.6, 1.1, 1.6 etc.\",\n \"To show powers of 10 plus small digits between, use *D1* (all digits) or *D2* (only 2 and 5).\",\n \"`tick0` is ignored for *D1* and *D2*.\",\n \"If the axis `type` is *date*, then you must convert the time to milliseconds.\",\n \"For example, to set the interval between ticks to one day,\",\n \"set `dtick` to 86400000.0.\",\n \"*date* also has special values *M* gives ticks spaced by a number of months.\",\n \"`n` must be a positive integer.\",\n \"To set ticks on the 15th of every third month, set `tick0` to *2000-01-15* and `dtick` to *M3*.\",\n \"To set ticks every 4 years, set `dtick` to *M48*\"\n ].join(\" \")\n}, J2 = {\n valType: \"data_array\",\n editType: \"ticks\",\n description: [\n \"Sets the values at which ticks on this axis appear.\",\n \"Only has an effect if `tickmode` is set to *array*.\",\n \"Used with `ticktext`.\"\n ].join(\" \")\n}, Q2 = {\n valType: \"enumerated\",\n values: [\"outside\", \"inside\", \"\"],\n editType: \"ticks\",\n description: [\n \"Determines whether ticks are drawn or not.\",\n \"If **, this axis' ticks are not drawn.\",\n \"If *outside* (*inside*), this axis' are drawn outside (inside)\",\n \"the axis lines.\"\n ].join(\" \")\n};\nfunction eT(e) {\n var t = {\n valType: \"number\",\n min: 0,\n editType: \"ticks\",\n description: \"Sets the tick length (in px).\"\n };\n return e || (t.dflt = 5), t;\n}\nfunction tT(e) {\n var t = {\n valType: \"number\",\n min: 0,\n editType: \"ticks\",\n description: \"Sets the tick width (in px).\"\n };\n return e || (t.dflt = 1), t;\n}\nvar rT = {\n valType: \"color\",\n dflt: uu.defaultLine,\n editType: \"ticks\",\n description: \"Sets the tick color.\"\n}, nT = {\n valType: \"color\",\n dflt: uu.lightLine,\n editType: \"ticks\",\n description: \"Sets the color of the grid lines.\"\n};\nfunction aT(e) {\n var t = {\n valType: \"number\",\n min: 0,\n editType: \"ticks\",\n description: \"Sets the width (in px) of the grid lines.\"\n };\n return e || (t.dflt = 1), t;\n}\nvar iT = db({}, f4, { editType: \"ticks\" }), oT = {\n valType: \"boolean\",\n editType: \"ticks\",\n description: [\n \"Determines whether or not grid lines are drawn.\",\n \"If *true*, the grid lines are drawn at every tick mark.\"\n ].join(\" \")\n}, Ki = {\n visible: {\n valType: \"boolean\",\n editType: \"plot\",\n description: [\n \"A single toggle to hide the axis while preserving interaction like dragging.\",\n \"Default is true when a cheater plot is present on the axis, otherwise\",\n \"false\"\n ].join(\" \")\n },\n color: {\n valType: \"color\",\n dflt: uu.defaultLine,\n editType: \"ticks\",\n description: [\n \"Sets default for all colors associated with this axis\",\n \"all at once: line, font, tick, and grid colors.\",\n \"Grid color is lightened by blending this with the plot background\",\n \"Individual pieces can override this.\"\n ].join(\" \")\n },\n title: {\n text: {\n valType: \"string\",\n editType: \"ticks\",\n description: [\n \"Sets the title of this axis.\",\n \"Note that before the existence of `title.text`, the title's\",\n \"contents used to be defined as the `title` attribute itself.\",\n \"This behavior has been deprecated.\"\n ].join(\" \")\n },\n font: Xm({\n editType: \"ticks\",\n description: [\n \"Sets this axis' title font.\",\n \"Note that the title's font used to be customized\",\n \"by the now deprecated `titlefont` attribute.\"\n ].join(\" \")\n }),\n standoff: {\n valType: \"number\",\n min: 0,\n editType: \"ticks\",\n description: [\n \"Sets the standoff distance (in px) between the axis labels and the title text\",\n \"The default value is a function of the axis tick labels, the title `font.size`\",\n \"and the axis `linewidth`.\",\n \"Note that the axis title position is always constrained within the margins,\",\n \"so the actual standoff distance is always less than the set or default value.\",\n \"By setting `standoff` and turning on `automargin`, plotly.js will push the\",\n \"margins to fit the axis title at given standoff distance.\"\n ].join(\" \")\n },\n editType: \"ticks\"\n },\n type: {\n valType: \"enumerated\",\n // '-' means we haven't yet run autotype or couldn't find any data\n // it gets turned into linear in gd._fullLayout but not copied back\n // to gd.data like the others are.\n values: [\"-\", \"linear\", \"log\", \"date\", \"category\", \"multicategory\"],\n dflt: \"-\",\n editType: \"calc\",\n // we forget when an axis has been autotyped, just writing the auto\n // value back to the input - so it doesn't make sense to template this.\n // Note: we do NOT prohibit this in `coerce`, so if someone enters a\n // type in the template explicitly it will be honored as the default.\n _noTemplating: !0,\n description: [\n \"Sets the axis type.\",\n \"By default, plotly attempts to determined the axis type\",\n \"by looking into the data of the traces that referenced\",\n \"the axis in question.\"\n ].join(\" \")\n },\n autotypenumbers: {\n valType: \"enumerated\",\n values: [\"convert types\", \"strict\"],\n dflt: \"convert types\",\n editType: \"calc\",\n description: [\n \"Using *strict* a numeric string in trace data is not converted to a number.\",\n \"Using *convert types* a numeric string in trace data may be\",\n \"treated as a number during automatic axis `type` detection.\",\n \"Defaults to layout.autotypenumbers.\"\n ].join(\" \")\n },\n autorange: {\n valType: \"enumerated\",\n values: [!0, !1, \"reversed\", \"min reversed\", \"max reversed\", \"min\", \"max\"],\n dflt: !0,\n editType: \"axrange\",\n impliedEdits: { \"range[0]\": void 0, \"range[1]\": void 0 },\n description: [\n \"Determines whether or not the range of this axis is\",\n \"computed in relation to the input data.\",\n \"See `rangemode` for more info.\",\n \"If `range` is provided and it has a value for both the\",\n \"lower and upper bound, `autorange` is set to *false*.\",\n \"Using *min* applies autorange only to set the minimum.\",\n \"Using *max* applies autorange only to set the maximum.\",\n \"Using *min reversed* applies autorange only to set the minimum on a reversed axis.\",\n \"Using *max reversed* applies autorange only to set the maximum on a reversed axis.\",\n \"Using *reversed* applies autorange on both ends and reverses the axis direction.\"\n ].join(\" \")\n },\n autorangeoptions: {\n minallowed: {\n valType: \"any\",\n editType: \"plot\",\n impliedEdits: { \"range[0]\": void 0, \"range[1]\": void 0 },\n description: [\n \"Use this value exactly as autorange minimum.\"\n ].join(\" \")\n },\n maxallowed: {\n valType: \"any\",\n editType: \"plot\",\n impliedEdits: { \"range[0]\": void 0, \"range[1]\": void 0 },\n description: [\n \"Use this value exactly as autorange maximum.\"\n ].join(\" \")\n },\n clipmin: {\n valType: \"any\",\n editType: \"plot\",\n impliedEdits: { \"range[0]\": void 0, \"range[1]\": void 0 },\n description: [\n \"Clip autorange minimum if it goes beyond this value.\",\n \"Has no effect when `autorangeoptions.minallowed` is provided.\"\n ].join(\" \")\n },\n clipmax: {\n valType: \"any\",\n editType: \"plot\",\n impliedEdits: { \"range[0]\": void 0, \"range[1]\": void 0 },\n description: [\n \"Clip autorange maximum if it goes beyond this value.\",\n \"Has no effect when `autorangeoptions.maxallowed` is provided.\"\n ].join(\" \")\n },\n include: {\n valType: \"any\",\n arrayOk: !0,\n editType: \"plot\",\n impliedEdits: { \"range[0]\": void 0, \"range[1]\": void 0 },\n description: [\n \"Ensure this value is included in autorange.\"\n ].join(\" \")\n },\n editType: \"plot\"\n },\n rangemode: {\n valType: \"enumerated\",\n values: [\"normal\", \"tozero\", \"nonnegative\"],\n dflt: \"normal\",\n editType: \"plot\",\n description: [\n \"If *normal*, the range is computed in relation to the extrema\",\n \"of the input data.\",\n \"If *tozero*`, the range extends to 0,\",\n \"regardless of the input data\",\n \"If *nonnegative*, the range is non-negative,\",\n \"regardless of the input data.\",\n \"Applies only to linear axes.\"\n ].join(\" \")\n },\n range: {\n valType: \"info_array\",\n items: [\n { valType: \"any\", editType: \"axrange\", impliedEdits: { \"^autorange\": !1 }, anim: !0 },\n { valType: \"any\", editType: \"axrange\", impliedEdits: { \"^autorange\": !1 }, anim: !0 }\n ],\n editType: \"axrange\",\n impliedEdits: { autorange: !1 },\n anim: !0,\n description: [\n \"Sets the range of this axis.\",\n \"If the axis `type` is *log*, then you must take the log of your\",\n \"desired range (e.g. to set the range from 1 to 100,\",\n \"set the range from 0 to 2).\",\n \"If the axis `type` is *date*, it should be date strings,\",\n \"like date data, though Date objects and unix milliseconds\",\n \"will be accepted and converted to strings.\",\n \"If the axis `type` is *category*, it should be numbers,\",\n \"using the scale where each category is assigned a serial\",\n \"number from zero in the order it appears.\",\n \"Leaving either or both elements `null` impacts the default `autorange`.\"\n ].join(\" \")\n },\n minallowed: {\n valType: \"any\",\n editType: \"plot\",\n impliedEdits: { \"^autorange\": !1 },\n description: [\n \"Determines the minimum range of this axis.\"\n ].join(\" \")\n },\n maxallowed: {\n valType: \"any\",\n editType: \"plot\",\n impliedEdits: { \"^autorange\": !1 },\n description: [\n \"Determines the maximum range of this axis.\"\n ].join(\" \")\n },\n fixedrange: {\n valType: \"boolean\",\n dflt: !1,\n editType: \"calc\",\n description: [\n \"Determines whether or not this axis is zoom-able.\",\n \"If true, then zoom is disabled.\"\n ].join(\" \")\n },\n insiderange: {\n valType: \"info_array\",\n items: [\n { valType: \"any\", editType: \"plot\" },\n { valType: \"any\", editType: \"plot\" }\n ],\n editType: \"plot\",\n description: [\n \"Could be used to set the desired inside range of this axis\",\n \"(excluding the labels) when `ticklabelposition` of\",\n \"the anchored axis has *inside*.\",\n \"Not implemented for axes with `type` *log*.\",\n \"This would be ignored when `range` is provided.\"\n ].join(\" \")\n },\n // scaleanchor: not used directly, just put here for reference\n // values are any opposite-letter axis id, or `false`.\n scaleanchor: {\n valType: \"enumerated\",\n values: [\n Fi.idRegex.x.toString(),\n Fi.idRegex.y.toString(),\n !1\n ],\n editType: \"plot\",\n description: [\n \"If set to another axis id (e.g. `x2`, `y`), the range of this axis\",\n \"changes together with the range of the corresponding axis\",\n \"such that the scale of pixels per unit is in a constant ratio.\",\n \"Both axes are still zoomable, but when you zoom one, the other will\",\n \"zoom the same amount, keeping a fixed midpoint.\",\n \"`constrain` and `constraintoward` determine how we enforce the constraint.\",\n \"You can chain these, ie `yaxis: {scaleanchor: *x*}, xaxis2: {scaleanchor: *y*}`\",\n \"but you can only link axes of the same `type`.\",\n \"The linked axis can have the opposite letter (to constrain the aspect ratio)\",\n \"or the same letter (to match scales across subplots).\",\n \"Loops (`yaxis: {scaleanchor: *x*}, xaxis: {scaleanchor: *y*}` or longer) are redundant\",\n \"and the last constraint encountered will be ignored to avoid possible\",\n \"inconsistent constraints via `scaleratio`.\",\n \"Note that setting axes simultaneously in both a `scaleanchor` and a `matches` constraint\",\n \"is currently forbidden.\",\n \"Setting `false` allows to remove a default constraint (occasionally,\",\n \"you may need to prevent a default `scaleanchor` constraint from\",\n 'being applied, eg. when having an image trace `yaxis: {scaleanchor: \"x\"}`',\n \"is set automatically in order for pixels to be rendered as squares,\",\n \"setting `yaxis: {scaleanchor: false}` allows to remove the constraint).\"\n ].join(\" \")\n },\n scaleratio: {\n valType: \"number\",\n min: 0,\n dflt: 1,\n editType: \"plot\",\n description: [\n \"If this axis is linked to another by `scaleanchor`, this determines the pixel\",\n \"to unit scale ratio. For example, if this value is 10, then every unit on\",\n \"this axis spans 10 times the number of pixels as a unit on the linked axis.\",\n \"Use this for example to create an elevation profile where the vertical scale\",\n \"is exaggerated a fixed amount with respect to the horizontal.\"\n ].join(\" \")\n },\n constrain: {\n valType: \"enumerated\",\n values: [\"range\", \"domain\"],\n editType: \"plot\",\n description: [\n \"If this axis needs to be compressed (either due to its own `scaleanchor` and\",\n \"`scaleratio` or those of the other axis), determines how that happens:\",\n \"by increasing the *range*, or by decreasing the *domain*.\",\n \"Default is *domain* for axes containing image traces, *range* otherwise.\"\n ].join(\" \")\n },\n // constraintoward: not used directly, just put here for reference\n constraintoward: {\n valType: \"enumerated\",\n values: [\"left\", \"center\", \"right\", \"top\", \"middle\", \"bottom\"],\n editType: \"plot\",\n description: [\n \"If this axis needs to be compressed (either due to its own `scaleanchor` and\",\n \"`scaleratio` or those of the other axis), determines which direction we push\",\n \"the originally specified plot area. Options are *left*, *center* (default),\",\n \"and *right* for x axes, and *top*, *middle* (default), and *bottom* for y axes.\"\n ].join(\" \")\n },\n matches: {\n valType: \"enumerated\",\n values: [\n Fi.idRegex.x.toString(),\n Fi.idRegex.y.toString()\n ],\n editType: \"calc\",\n description: [\n \"If set to another axis id (e.g. `x2`, `y`), the range of this axis\",\n \"will match the range of the corresponding axis in data-coordinates space.\",\n \"Moreover, matching axes share auto-range values, category lists and\",\n \"histogram auto-bins.\",\n \"Note that setting axes simultaneously in both a `scaleanchor` and a `matches` constraint\",\n \"is currently forbidden.\",\n \"Moreover, note that matching axes must have the same `type`.\"\n ].join(\" \")\n },\n rangebreaks: W2(\"rangebreak\", {\n enabled: {\n valType: \"boolean\",\n dflt: !0,\n editType: \"calc\",\n description: [\n \"Determines whether this axis rangebreak is enabled or disabled.\",\n \"Please note that `rangebreaks` only work for *date* axis type.\"\n ].join(\" \")\n },\n bounds: {\n valType: \"info_array\",\n items: [\n { valType: \"any\", editType: \"calc\" },\n { valType: \"any\", editType: \"calc\" }\n ],\n editType: \"calc\",\n description: [\n \"Sets the lower and upper bounds of this axis rangebreak.\",\n \"Can be used with `pattern`.\"\n ].join(\" \")\n },\n pattern: {\n valType: \"enumerated\",\n values: [Jm, Km, \"\"],\n editType: \"calc\",\n description: [\n \"Determines a pattern on the time line that generates breaks.\",\n \"If *\" + Jm + \"* - days of the week in English e.g. 'Sunday' or `sun`\",\n \"(matching is case-insensitive and considers only the first three characters),\",\n \"as well as Sunday-based integers between 0 and 6.\",\n \"If *\" + Km + \"* - hour (24-hour clock) as decimal numbers between 0 and 24.\",\n \"for more info.\",\n \"Examples:\",\n \"- { pattern: '\" + Jm + \"', bounds: [6, 1] }\",\n \" or simply { bounds: ['sat', 'mon'] }\",\n \" breaks from Saturday to Monday (i.e. skips the weekends).\",\n \"- { pattern: '\" + Km + \"', bounds: [17, 8] }\",\n \" breaks from 5pm to 8am (i.e. skips non-work hours).\"\n ].join(\" \")\n },\n values: {\n valType: \"info_array\",\n freeLength: !0,\n editType: \"calc\",\n items: {\n valType: \"any\",\n editType: \"calc\"\n },\n description: [\n \"Sets the coordinate values corresponding to the rangebreaks.\",\n \"An alternative to `bounds`.\",\n \"Use `dvalue` to set the size of the values along the axis.\"\n ].join(\" \")\n },\n dvalue: {\n // TODO could become 'any' to add support for 'months', 'years'\n valType: \"number\",\n editType: \"calc\",\n min: 0,\n dflt: dW,\n description: [\n \"Sets the size of each `values` item.\",\n \"The default is one day in milliseconds.\"\n ].join(\" \")\n },\n /*\n gap: {\n valType: 'number',\n min: 0,\n dflt: 0, // for *date* axes, maybe something else for *linear*\n editType: 'calc',\n description: [\n 'Sets the gap distance between the start and the end of this rangebreak.',\n 'Use with `gapmode` to set the unit of measurement.'\n ].join(' ')\n },\n gapmode: {\n valType: 'enumerated',\n values: ['pixels', 'fraction'],\n dflt: 'pixels',\n editType: 'calc',\n description: [\n 'Determines if the `gap` value corresponds to a pixel length',\n 'or a fraction of the plot area.'\n ].join(' ')\n },\n */\n // To complete https://github.com/plotly/plotly.js/issues/4210\n // we additionally need `gap` and make this work on *linear*, and\n // possibly all other cartesian axis types. We possibly would also need\n // some style attributes controlling the zig-zag on the corresponding\n // axis.\n editType: \"calc\"\n }),\n // ticks\n tickmode: hW,\n nticks: Y2(),\n tick0: X2,\n dtick: K2,\n ticklabelstep: {\n valType: \"integer\",\n min: 1,\n dflt: 1,\n editType: \"ticks\",\n description: [\n \"Sets the spacing between tick labels as compared to the spacing between ticks.\",\n \"A value of 1 (default) means each tick gets a label.\",\n \"A value of 2 means shows every 2nd label.\",\n \"A larger value n means only every nth tick is labeled.\",\n \"`tick0` determines which labels are shown.\",\n \"Not implemented for axes with `type` *log* or *multicategory*, or when `tickmode` is *array*.\"\n ].join(\" \")\n },\n tickvals: J2,\n ticktext: {\n valType: \"data_array\",\n editType: \"ticks\",\n description: [\n \"Sets the text displayed at the ticks position via `tickvals`.\",\n \"Only has an effect if `tickmode` is set to *array*.\",\n \"Used with `tickvals`.\"\n ].join(\" \")\n },\n ticks: Q2,\n tickson: {\n valType: \"enumerated\",\n values: [\"labels\", \"boundaries\"],\n dflt: \"labels\",\n editType: \"ticks\",\n description: [\n \"Determines where ticks and grid lines are drawn with respect to their\",\n \"corresponding tick labels.\",\n \"Only has an effect for axes of `type` *category* or *multicategory*.\",\n \"When set to *boundaries*, ticks and grid lines are drawn half a category\",\n \"to the left/bottom of labels.\"\n ].join(\" \")\n },\n ticklabelmode: {\n valType: \"enumerated\",\n values: [\"instant\", \"period\"],\n dflt: \"instant\",\n editType: \"ticks\",\n description: [\n \"Determines where tick labels are drawn with respect to their\",\n \"corresponding ticks and grid lines.\",\n \"Only has an effect for axes of `type` *date*\",\n \"When set to *period*, tick labels are drawn in the middle of the period\",\n \"between ticks.\"\n ].join(\" \")\n },\n // ticklabelposition: not used directly, as values depend on direction (similar to side)\n // left/right options are for x axes, and top/bottom options are for y axes\n ticklabelposition: {\n valType: \"enumerated\",\n values: [\n \"outside\",\n \"inside\",\n \"outside top\",\n \"inside top\",\n \"outside left\",\n \"inside left\",\n \"outside right\",\n \"inside right\",\n \"outside bottom\",\n \"inside bottom\"\n ],\n dflt: \"outside\",\n editType: \"calc\",\n description: [\n \"Determines where tick labels are drawn with respect to the axis\",\n \"Please note that\",\n \"top or bottom has no effect on x axes or when `ticklabelmode` is set to *period*.\",\n \"Similarly\",\n \"left or right has no effect on y axes or when `ticklabelmode` is set to *period*.\",\n \"Has no effect on *multicategory* axes or when `tickson` is set to *boundaries*.\",\n \"When used on axes linked by `matches` or `scaleanchor`,\",\n \"no extra padding for inside labels would be added by autorange,\",\n \"so that the scales could match.\"\n ].join(\" \")\n },\n ticklabeloverflow: {\n valType: \"enumerated\",\n values: [\n \"allow\",\n \"hide past div\",\n \"hide past domain\"\n ],\n editType: \"calc\",\n description: [\n \"Determines how we handle tick labels that would overflow either the graph div or the domain of the axis.\",\n \"The default value for inside tick labels is *hide past domain*.\",\n \"Otherwise on *category* and *multicategory* axes the default is *allow*.\",\n \"In other cases the default is *hide past div*.\"\n ].join(\" \")\n },\n mirror: {\n valType: \"enumerated\",\n values: [!0, \"ticks\", !1, \"all\", \"allticks\"],\n dflt: !1,\n editType: \"ticks+layoutstyle\",\n description: [\n \"Determines if the axis lines or/and ticks are mirrored to\",\n \"the opposite side of the plotting area.\",\n \"If *true*, the axis lines are mirrored.\",\n \"If *ticks*, the axis lines and ticks are mirrored.\",\n \"If *false*, mirroring is disable.\",\n \"If *all*, axis lines are mirrored on all shared-axes subplots.\",\n \"If *allticks*, axis lines and ticks are mirrored\",\n \"on all shared-axes subplots.\"\n ].join(\" \")\n },\n ticklen: eT(),\n tickwidth: tT(),\n tickcolor: rT,\n showticklabels: {\n valType: \"boolean\",\n dflt: !0,\n editType: \"ticks\",\n description: \"Determines whether or not the tick labels are drawn.\"\n },\n labelalias: {\n valType: \"any\",\n dflt: !1,\n editType: \"ticks\",\n description: [\n \"Replacement text for specific tick or hover labels.\",\n \"For example using {US: 'USA', CA: 'Canada'} changes US to USA\",\n \"and CA to Canada. The labels we would have shown must match\",\n \"the keys exactly, after adding any tickprefix or ticksuffix.\",\n \"For negative numbers the minus sign symbol used (U+2212) is wider than the regular ascii dash.\",\n \"That means you need to use −1 instead of -1.\",\n \"labelalias can be used with any axis type, and both keys (if needed)\",\n \"and values (if desired) can include html-like tags or MathJax.\"\n ].join(\" \")\n },\n automargin: {\n valType: \"flaglist\",\n flags: [\"height\", \"width\", \"left\", \"right\", \"top\", \"bottom\"],\n extras: [!0, !1],\n dflt: !1,\n editType: \"ticks\",\n description: [\n \"Determines whether long tick labels automatically grow the figure\",\n \"margins.\"\n ].join(\" \")\n },\n showspikes: {\n valType: \"boolean\",\n dflt: !1,\n editType: \"modebar\",\n description: [\n \"Determines whether or not spikes (aka droplines) are drawn for this axis.\",\n \"Note: This only takes affect when hovermode = closest\"\n ].join(\" \")\n },\n spikecolor: {\n valType: \"color\",\n dflt: null,\n editType: \"none\",\n description: \"Sets the spike color. If undefined, will use the series color\"\n },\n spikethickness: {\n valType: \"number\",\n dflt: 3,\n editType: \"none\",\n description: \"Sets the width (in px) of the zero line.\"\n },\n spikedash: db({}, f4, { dflt: \"dash\", editType: \"none\" }),\n spikemode: {\n valType: \"flaglist\",\n flags: [\"toaxis\", \"across\", \"marker\"],\n dflt: \"toaxis\",\n editType: \"none\",\n description: [\n \"Determines the drawing mode for the spike line\",\n \"If *toaxis*, the line is drawn from the data point to the axis the \",\n \"series is plotted on.\",\n \"If *across*, the line is drawn across the entire plot area, and\",\n \"supercedes *toaxis*.\",\n \"If *marker*, then a marker dot is drawn on the axis the series is\",\n \"plotted on\"\n ].join(\" \")\n },\n spikesnap: {\n valType: \"enumerated\",\n values: [\"data\", \"cursor\", \"hovered data\"],\n dflt: \"hovered data\",\n editType: \"none\",\n description: \"Determines whether spikelines are stuck to the cursor or to the closest datapoints.\"\n },\n tickfont: Xm({\n editType: \"ticks\",\n description: \"Sets the tick font.\"\n }),\n tickangle: {\n valType: \"angle\",\n dflt: \"auto\",\n editType: \"ticks\",\n description: [\n \"Sets the angle of the tick labels with respect to the horizontal.\",\n \"For example, a `tickangle` of -90 draws the tick labels\",\n \"vertically.\"\n ].join(\" \")\n },\n tickprefix: {\n valType: \"string\",\n dflt: \"\",\n editType: \"ticks\",\n description: \"Sets a tick label prefix.\"\n },\n showtickprefix: {\n valType: \"enumerated\",\n values: [\"all\", \"first\", \"last\", \"none\"],\n dflt: \"all\",\n editType: \"ticks\",\n description: [\n \"If *all*, all tick labels are displayed with a prefix.\",\n \"If *first*, only the first tick is displayed with a prefix.\",\n \"If *last*, only the last tick is displayed with a suffix.\",\n \"If *none*, tick prefixes are hidden.\"\n ].join(\" \")\n },\n ticksuffix: {\n valType: \"string\",\n dflt: \"\",\n editType: \"ticks\",\n description: \"Sets a tick label suffix.\"\n },\n showticksuffix: {\n valType: \"enumerated\",\n values: [\"all\", \"first\", \"last\", \"none\"],\n dflt: \"all\",\n editType: \"ticks\",\n description: \"Same as `showtickprefix` but for tick suffixes.\"\n },\n showexponent: {\n valType: \"enumerated\",\n values: [\"all\", \"first\", \"last\", \"none\"],\n dflt: \"all\",\n editType: \"ticks\",\n description: [\n \"If *all*, all exponents are shown besides their significands.\",\n \"If *first*, only the exponent of the first tick is shown.\",\n \"If *last*, only the exponent of the last tick is shown.\",\n \"If *none*, no exponents appear.\"\n ].join(\" \")\n },\n exponentformat: {\n valType: \"enumerated\",\n values: [\"none\", \"e\", \"E\", \"power\", \"SI\", \"B\"],\n dflt: \"B\",\n editType: \"ticks\",\n description: [\n \"Determines a formatting rule for the tick exponents.\",\n \"For example, consider the number 1,000,000,000.\",\n \"If *none*, it appears as 1,000,000,000.\",\n \"If *e*, 1e+9.\",\n \"If *E*, 1E+9.\",\n \"If *power*, 1x10^9 (with 9 in a super script).\",\n \"If *SI*, 1G.\",\n \"If *B*, 1B.\"\n ].join(\" \")\n },\n minexponent: {\n valType: \"number\",\n dflt: 3,\n min: 0,\n editType: \"ticks\",\n description: [\n \"Hide SI prefix for 10^n if |n| is below this number.\",\n \"This only has an effect when `tickformat` is *SI* or *B*.\"\n ].join(\" \")\n },\n separatethousands: {\n valType: \"boolean\",\n dflt: !1,\n editType: \"ticks\",\n description: [\n 'If \"true\", even 4-digit integers are separated'\n ].join(\" \")\n },\n tickformat: {\n valType: \"string\",\n dflt: \"\",\n editType: \"ticks\",\n description: Z2(\"tick label\")\n },\n tickformatstops: W2(\"tickformatstop\", {\n enabled: {\n valType: \"boolean\",\n dflt: !0,\n editType: \"ticks\",\n description: [\n \"Determines whether or not this stop is used.\",\n \"If `false`, this stop is ignored even within its `dtickrange`.\"\n ].join(\" \")\n },\n dtickrange: {\n valType: \"info_array\",\n items: [\n { valType: \"any\", editType: \"ticks\" },\n { valType: \"any\", editType: \"ticks\" }\n ],\n editType: \"ticks\",\n description: [\n \"range [*min*, *max*], where *min*, *max* - dtick values\",\n \"which describe some zoom level, it is possible to omit *min*\",\n \"or *max* value by passing *null*\"\n ].join(\" \")\n },\n value: {\n valType: \"string\",\n dflt: \"\",\n editType: \"ticks\",\n description: [\n \"string - dtickformat for described zoom level, the same as *tickformat*\"\n ].join(\" \")\n },\n editType: \"ticks\"\n }),\n hoverformat: {\n valType: \"string\",\n dflt: \"\",\n editType: \"none\",\n description: Z2(\"hover text\")\n },\n // lines and grids\n showline: {\n valType: \"boolean\",\n dflt: !1,\n editType: \"ticks+layoutstyle\",\n description: [\n \"Determines whether or not a line bounding this axis is drawn.\"\n ].join(\" \")\n },\n linecolor: {\n valType: \"color\",\n dflt: uu.defaultLine,\n editType: \"layoutstyle\",\n description: \"Sets the axis line color.\"\n },\n linewidth: {\n valType: \"number\",\n min: 0,\n dflt: 1,\n editType: \"ticks+layoutstyle\",\n description: \"Sets the width (in px) of the axis line.\"\n },\n showgrid: oT,\n gridcolor: nT,\n gridwidth: aT(),\n griddash: iT,\n zeroline: {\n valType: \"boolean\",\n editType: \"ticks\",\n description: [\n \"Determines whether or not a line is drawn at along the 0 value\",\n \"of this axis.\",\n \"If *true*, the zero line is drawn on top of the grid lines.\"\n ].join(\" \")\n },\n zerolinecolor: {\n valType: \"color\",\n dflt: uu.defaultLine,\n editType: \"ticks\",\n description: \"Sets the line color of the zero line.\"\n },\n zerolinewidth: {\n valType: \"number\",\n dflt: 1,\n editType: \"ticks\",\n description: \"Sets the width (in px) of the zero line.\"\n },\n showdividers: {\n valType: \"boolean\",\n dflt: !0,\n editType: \"ticks\",\n description: [\n \"Determines whether or not a dividers are drawn\",\n \"between the category levels of this axis.\",\n \"Only has an effect on *multicategory* axes.\"\n ].join(\" \")\n },\n dividercolor: {\n valType: \"color\",\n dflt: uu.defaultLine,\n editType: \"ticks\",\n description: [\n \"Sets the color of the dividers\",\n \"Only has an effect on *multicategory* axes.\"\n ].join(\" \")\n },\n dividerwidth: {\n valType: \"number\",\n dflt: 1,\n editType: \"ticks\",\n description: [\n \"Sets the width (in px) of the dividers\",\n \"Only has an effect on *multicategory* axes.\"\n ].join(\" \")\n },\n // TODO dividerlen: that would override \"to label base\" length?\n // positioning attributes\n // anchor: not used directly, just put here for reference\n // values are any opposite-letter axis id\n anchor: {\n valType: \"enumerated\",\n values: [\n \"free\",\n Fi.idRegex.x.toString(),\n Fi.idRegex.y.toString()\n ],\n editType: \"plot\",\n description: [\n \"If set to an opposite-letter axis id (e.g. `x2`, `y`), this axis is bound to\",\n \"the corresponding opposite-letter axis.\",\n \"If set to *free*, this axis' position is determined by `position`.\"\n ].join(\" \")\n },\n // side: not used directly, as values depend on direction\n // values are top, bottom for x axes, and left, right for y\n side: {\n valType: \"enumerated\",\n values: [\"top\", \"bottom\", \"left\", \"right\"],\n editType: \"plot\",\n description: [\n \"Determines whether a x (y) axis is positioned\",\n \"at the *bottom* (*left*) or *top* (*right*)\",\n \"of the plotting area.\"\n ].join(\" \")\n },\n // overlaying: not used directly, just put here for reference\n // values are false and any other same-letter axis id that's not\n // itself overlaying anything\n overlaying: {\n valType: \"enumerated\",\n values: [\n \"free\",\n Fi.idRegex.x.toString(),\n Fi.idRegex.y.toString()\n ],\n editType: \"plot\",\n description: [\n \"If set a same-letter axis id, this axis is overlaid on top of\",\n \"the corresponding same-letter axis, with traces and axes visible for both\",\n \"axes.\",\n \"If *false*, this axis does not overlay any same-letter axes.\",\n \"In this case, for axes with overlapping domains only the highest-numbered\",\n \"axis will be visible.\"\n ].join(\" \")\n },\n minor: {\n tickmode: $h,\n nticks: Y2(\"minor\"),\n tick0: X2,\n dtick: K2,\n tickvals: J2,\n ticks: Q2,\n ticklen: eT(\"minor\"),\n tickwidth: tT(\"minor\"),\n tickcolor: rT,\n gridcolor: nT,\n gridwidth: aT(\"minor\"),\n griddash: iT,\n showgrid: oT,\n editType: \"ticks\"\n },\n layer: {\n valType: \"enumerated\",\n values: [\"above traces\", \"below traces\"],\n dflt: \"above traces\",\n editType: \"plot\",\n description: [\n \"Sets the layer on which this axis is displayed.\",\n \"If *above traces*, this axis is displayed above all the subplot's traces\",\n \"If *below traces*, this axis is displayed below all the subplot's traces,\",\n \"but above the grid lines.\",\n \"Useful when used together with scatter-like traces with `cliponaxis`\",\n \"set to *false* to show markers and/or text nodes above this axis.\"\n ].join(\" \")\n },\n domain: {\n valType: \"info_array\",\n items: [\n { valType: \"number\", min: 0, max: 1, editType: \"plot\" },\n { valType: \"number\", min: 0, max: 1, editType: \"plot\" }\n ],\n dflt: [0, 1],\n editType: \"plot\",\n description: [\n \"Sets the domain of this axis (in plot fraction).\"\n ].join(\" \")\n },\n position: {\n valType: \"number\",\n min: 0,\n max: 1,\n dflt: 0,\n editType: \"plot\",\n description: [\n \"Sets the position of this axis in the plotting space\",\n \"(in normalized coordinates).\",\n \"Only has an effect if `anchor` is set to *free*.\"\n ].join(\" \")\n },\n autoshift: {\n valType: \"boolean\",\n dflt: !1,\n editType: \"plot\",\n description: [\n \"Automatically reposition the axis to avoid\",\n \"overlap with other axes with the same `overlaying` value.\",\n \"This repositioning will account for any `shift` amount applied to other\",\n \"axes on the same side with `autoshift` is set to true.\",\n \"Only has an effect if `anchor` is set to *free*.\"\n ].join(\" \")\n },\n shift: {\n valType: \"number\",\n editType: \"plot\",\n description: [\n \"Moves the axis a given number of pixels from where it would have been otherwise.\",\n \"Accepts both positive and negative values, which will shift the axis either right\",\n \"or left, respectively.\",\n \"If `autoshift` is set to true, then this defaults to a padding of -3 if `side` is set to *left*.\",\n \"and defaults to +3 if `side` is set to *right*. Defaults to 0 if `autoshift` is set to false.\",\n \"Only has an effect if `anchor` is set to *free*.\"\n ].join(\" \")\n },\n categoryorder: {\n valType: \"enumerated\",\n values: [\n \"trace\",\n \"category ascending\",\n \"category descending\",\n \"array\",\n \"total ascending\",\n \"total descending\",\n \"min ascending\",\n \"min descending\",\n \"max ascending\",\n \"max descending\",\n \"sum ascending\",\n \"sum descending\",\n \"mean ascending\",\n \"mean descending\",\n \"median ascending\",\n \"median descending\"\n ],\n dflt: \"trace\",\n editType: \"calc\",\n description: [\n \"Specifies the ordering logic for the case of categorical variables.\",\n \"By default, plotly uses *trace*, which specifies the order that is present in the data supplied.\",\n \"Set `categoryorder` to *category ascending* or *category descending* if order should be determined by\",\n \"the alphanumerical order of the category names.\",\n \"Set `categoryorder` to *array* to derive the ordering from the attribute `categoryarray`. If a category\",\n \"is not found in the `categoryarray` array, the sorting behavior for that attribute will be identical to\",\n \"the *trace* mode. The unspecified categories will follow the categories in `categoryarray`.\",\n \"Set `categoryorder` to *total ascending* or *total descending* if order should be determined by the\",\n \"numerical order of the values.\",\n \"Similarly, the order can be determined by the min, max, sum, mean or median of all the values.\"\n ].join(\" \")\n },\n categoryarray: {\n valType: \"data_array\",\n editType: \"calc\",\n description: [\n \"Sets the order in which categories on this axis appear.\",\n \"Only has an effect if `categoryorder` is set to *array*.\",\n \"Used with `categoryorder`.\"\n ].join(\" \")\n },\n uirevision: {\n valType: \"any\",\n editType: \"none\",\n description: [\n \"Controls persistence of user-driven changes in axis `range`,\",\n \"`autorange`, and `title` if in `editable: true` configuration.\",\n \"Defaults to `layout.uirevision`.\"\n ].join(\" \")\n },\n editType: \"calc\",\n _deprecated: {\n autotick: {\n valType: \"boolean\",\n editType: \"ticks\",\n description: [\n \"Obsolete.\",\n \"Set `tickmode` to *auto* for old `autotick` *true* behavior.\",\n \"Set `tickmode` to *linear* for `autotick` *false*.\"\n ].join(\" \")\n },\n title: {\n valType: \"string\",\n editType: \"ticks\",\n description: [\n \"Value of `title` is no longer a simple *string* but a set of sub-attributes.\",\n \"To set the axis' title, please use `title.text` now.\"\n ].join(\" \")\n },\n titlefont: Xm({\n editType: \"ticks\",\n description: [\n \"Former `titlefont` is now the sub-attribute `font` of `title`.\",\n \"To customize title font properties, please use `title.font` now.\"\n ].join(\" \")\n })\n }\n}, Ir = Ki, Qm = Fn, lT = en.extendFlat, vW = Lo.overrideAll, hb = vW({\n orientation: {\n valType: \"enumerated\",\n values: [\"h\", \"v\"],\n dflt: \"v\",\n description: \"Sets the orientation of the colorbar.\"\n },\n thicknessmode: {\n valType: \"enumerated\",\n values: [\"fraction\", \"pixels\"],\n dflt: \"pixels\",\n description: [\n \"Determines whether this color bar's thickness\",\n \"(i.e. the measure in the constant color direction)\",\n \"is set in units of plot *fraction* or in *pixels*.\",\n \"Use `thickness` to set the value.\"\n ].join(\" \")\n },\n thickness: {\n valType: \"number\",\n min: 0,\n dflt: 30,\n description: [\n \"Sets the thickness of the color bar\",\n \"This measure excludes the size of the padding, ticks and labels.\"\n ].join(\" \")\n },\n lenmode: {\n valType: \"enumerated\",\n values: [\"fraction\", \"pixels\"],\n dflt: \"fraction\",\n description: [\n \"Determines whether this color bar's length\",\n \"(i.e. the measure in the color variation direction)\",\n \"is set in units of plot *fraction* or in *pixels.\",\n \"Use `len` to set the value.\"\n ].join(\" \")\n },\n len: {\n valType: \"number\",\n min: 0,\n dflt: 1,\n description: [\n \"Sets the length of the color bar\",\n \"This measure excludes the padding of both ends.\",\n \"That is, the color bar length is this length minus the\",\n \"padding on both ends.\"\n ].join(\" \")\n },\n x: {\n valType: \"number\",\n description: [\n \"Sets the x position with respect to `xref` of the color bar (in plot fraction).\",\n \"When `xref` is *paper*, defaults to 1.02 when `orientation` is *v* and\",\n \"0.5 when `orientation` is *h*.\",\n \"When `xref` is *container*, defaults to *1* when `orientation` is *v* and\",\n \"0.5 when `orientation` is *h*.\",\n \"Must be between *0* and *1* if `xref` is *container*\",\n \"and between *-2* and *3* if `xref` is *paper*.\"\n ].join(\" \")\n },\n xref: {\n valType: \"enumerated\",\n dflt: \"paper\",\n values: [\"container\", \"paper\"],\n editType: \"layoutstyle\",\n description: [\n \"Sets the container `x` refers to.\",\n \"*container* spans the entire `width` of the plot.\",\n \"*paper* refers to the width of the plotting area only.\"\n ].join(\" \")\n },\n xanchor: {\n valType: \"enumerated\",\n values: [\"left\", \"center\", \"right\"],\n description: [\n \"Sets this color bar's horizontal position anchor.\",\n \"This anchor binds the `x` position to the *left*, *center*\",\n \"or *right* of the color bar.\",\n \"Defaults to *left* when `orientation` is *v* and\",\n \"*center* when `orientation` is *h*.\"\n ].join(\" \")\n },\n xpad: {\n valType: \"number\",\n min: 0,\n dflt: 10,\n description: \"Sets the amount of padding (in px) along the x direction.\"\n },\n y: {\n valType: \"number\",\n description: [\n \"Sets the y position with respect to `yref` of the color bar (in plot fraction).\",\n \"When `yref` is *paper*, defaults to 0.5 when `orientation` is *v* and\",\n \"1.02 when `orientation` is *h*.\",\n \"When `yref` is *container*, defaults to 0.5 when `orientation` is *v* and\",\n \"1 when `orientation` is *h*.\",\n \"Must be between *0* and *1* if `yref` is *container*\",\n \"and between *-2* and *3* if `yref` is *paper*.\"\n ].join(\" \")\n },\n yref: {\n valType: \"enumerated\",\n dflt: \"paper\",\n values: [\"container\", \"paper\"],\n editType: \"layoutstyle\",\n description: [\n \"Sets the container `y` refers to.\",\n \"*container* spans the entire `height` of the plot.\",\n \"*paper* refers to the height of the plotting area only.\"\n ].join(\" \")\n },\n yanchor: {\n valType: \"enumerated\",\n values: [\"top\", \"middle\", \"bottom\"],\n description: [\n \"Sets this color bar's vertical position anchor\",\n \"This anchor binds the `y` position to the *top*, *middle*\",\n \"or *bottom* of the color bar.\",\n \"Defaults to *middle* when `orientation` is *v* and\",\n \"*bottom* when `orientation` is *h*.\"\n ].join(\" \")\n },\n ypad: {\n valType: \"number\",\n min: 0,\n dflt: 10,\n description: \"Sets the amount of padding (in px) along the y direction.\"\n },\n // a possible line around the bar itself\n outlinecolor: Ir.linecolor,\n outlinewidth: Ir.linewidth,\n // Should outlinewidth have {dflt: 0} ?\n // another possible line outside the padding and tick labels\n bordercolor: Ir.linecolor,\n borderwidth: {\n valType: \"number\",\n min: 0,\n dflt: 0,\n description: [\n \"Sets the width (in px) or the border enclosing this color bar.\"\n ].join(\" \")\n },\n bgcolor: {\n valType: \"color\",\n dflt: \"rgba(0,0,0,0)\",\n description: \"Sets the color of padded area.\"\n },\n // tick and title properties named and function exactly as in axes\n tickmode: Ir.minor.tickmode,\n nticks: Ir.nticks,\n tick0: Ir.tick0,\n dtick: Ir.dtick,\n tickvals: Ir.tickvals,\n ticktext: Ir.ticktext,\n ticks: lT({}, Ir.ticks, { dflt: \"\" }),\n ticklabeloverflow: lT({}, Ir.ticklabeloverflow, {\n description: [\n \"Determines how we handle tick labels that would overflow either the graph div or the domain of the axis.\",\n \"The default value for inside tick labels is *hide past domain*.\",\n \"In other cases the default is *hide past div*.\"\n ].join(\" \")\n }),\n // ticklabelposition: not used directly, as values depend on orientation\n // left/right options are for x axes, and top/bottom options are for y axes\n ticklabelposition: {\n valType: \"enumerated\",\n values: [\n \"outside\",\n \"inside\",\n \"outside top\",\n \"inside top\",\n \"outside left\",\n \"inside left\",\n \"outside right\",\n \"inside right\",\n \"outside bottom\",\n \"inside bottom\"\n ],\n dflt: \"outside\",\n description: [\n \"Determines where tick labels are drawn relative to the ticks.\",\n \"Left and right options are used when `orientation` is *h*,\",\n \"top and bottom when `orientation` is *v*.\"\n ].join(\" \")\n },\n ticklen: Ir.ticklen,\n tickwidth: Ir.tickwidth,\n tickcolor: Ir.tickcolor,\n ticklabelstep: Ir.ticklabelstep,\n showticklabels: Ir.showticklabels,\n labelalias: Ir.labelalias,\n tickfont: Qm({\n description: \"Sets the color bar's tick label font\"\n }),\n tickangle: Ir.tickangle,\n tickformat: Ir.tickformat,\n tickformatstops: Ir.tickformatstops,\n tickprefix: Ir.tickprefix,\n showtickprefix: Ir.showtickprefix,\n ticksuffix: Ir.ticksuffix,\n showticksuffix: Ir.showticksuffix,\n separatethousands: Ir.separatethousands,\n exponentformat: Ir.exponentformat,\n minexponent: Ir.minexponent,\n showexponent: Ir.showexponent,\n title: {\n text: {\n valType: \"string\",\n description: [\n \"Sets the title of the color bar.\",\n \"Note that before the existence of `title.text`, the title's\",\n \"contents used to be defined as the `title` attribute itself.\",\n \"This behavior has been deprecated.\"\n ].join(\" \")\n },\n font: Qm({\n description: [\n \"Sets this color bar's title font.\",\n \"Note that the title's font used to be set\",\n \"by the now deprecated `titlefont` attribute.\"\n ].join(\" \")\n }),\n side: {\n valType: \"enumerated\",\n values: [\"right\", \"top\", \"bottom\"],\n description: [\n \"Determines the location of color bar's title\",\n \"with respect to the color bar.\",\n \"Defaults to *top* when `orientation` if *v* and \",\n \"defaults to *right* when `orientation` if *h*.\",\n \"Note that the title's location used to be set\",\n \"by the now deprecated `titleside` attribute.\"\n ].join(\" \")\n }\n },\n _deprecated: {\n title: {\n valType: \"string\",\n description: [\n \"Deprecated in favor of color bar's `title.text`.\",\n \"Note that value of color bar's `title` is no longer a simple\",\n \"*string* but a set of sub-attributes.\"\n ].join(\" \")\n },\n titlefont: Qm({\n description: \"Deprecated in favor of color bar's `title.font`.\"\n }),\n titleside: {\n valType: \"enumerated\",\n values: [\"right\", \"top\", \"bottom\"],\n dflt: \"top\",\n description: \"Deprecated in favor of color bar's `title.side`.\"\n }\n }\n}, \"colorbars\", \"from-root\"), pW = hb, mW = Zu.counter, gW = TL, c4 = Wu.scales, yW = gW(c4);\nfunction Af(e) {\n return \"`\" + e + \"`\";\n}\nvar Jc = function(t, r) {\n t = t || \"\", r = r || {};\n var n = r.cLetter || \"c\", a = \"onlyIfNumerical\" in r ? r.onlyIfNumerical : !!t, i = \"noScale\" in r ? r.noScale : t === \"marker.line\", o = \"showScaleDflt\" in r ? r.showScaleDflt : n === \"z\", l = typeof r.colorscaleDflt == \"string\" ? c4[r.colorscaleDflt] : null, s = r.editTypeOverride || \"\", u = t ? t + \".\" : \"\", f, d;\n \"colorAttr\" in r ? (f = r.colorAttr, d = r.colorAttr) : (f = { z: \"z\", c: \"color\" }[n], d = \"in \" + Af(u + f));\n var h = a ? \" Has an effect only if \" + d + \" is set to a numerical array.\" : \"\", p = n + \"auto\", v = n + \"min\", m = n + \"max\", g = n + \"mid\", y = Af(u + p), w = Af(u + v), k = Af(u + m), x = w + \" and \" + k, _ = {};\n _[v] = _[m] = void 0;\n var T = {};\n T[p] = !1;\n var S = {};\n return f === \"color\" && (S.color = {\n valType: \"color\",\n arrayOk: !0,\n editType: s || \"style\",\n description: [\n \"Sets the\",\n t,\n \"color.\",\n \"It accepts either a specific color\",\n \"or an array of numbers that are mapped to the colorscale\",\n \"relative to the max and min values of the array or relative to\",\n x,\n \"if set.\"\n ].join(\" \")\n }, r.anim && (S.color.anim = !0)), S[p] = {\n valType: \"boolean\",\n dflt: !0,\n editType: \"calc\",\n impliedEdits: _,\n description: [\n \"Determines whether or not the color domain is computed\",\n \"with respect to the input data (here \" + d + \") or the bounds set in\",\n x + h,\n \"Defaults to `false` when\",\n x,\n \"are set by the user.\"\n ].join(\" \")\n }, S[v] = {\n valType: \"number\",\n dflt: null,\n editType: s || \"plot\",\n impliedEdits: T,\n description: [\n \"Sets the lower bound of the color domain.\" + h,\n \"Value should have the same units as\",\n d,\n \"and if set,\",\n k,\n \"must be set as well.\"\n ].join(\" \")\n }, S[m] = {\n valType: \"number\",\n dflt: null,\n editType: s || \"plot\",\n impliedEdits: T,\n description: [\n \"Sets the upper bound of the color domain.\" + h,\n \"Value should have the same units as\",\n d,\n \"and if set,\",\n w,\n \"must be set as well.\"\n ].join(\" \")\n }, S[g] = {\n valType: \"number\",\n dflt: null,\n editType: \"calc\",\n impliedEdits: _,\n description: [\n \"Sets the mid-point of the color domain by scaling\",\n w,\n \"and/or\",\n k,\n \"to be equidistant to this point.\" + h,\n \"Value should have the same units as\",\n d + \".\",\n \"Has no effect when\",\n y,\n \"is `false`.\"\n ].join(\" \")\n }, S.colorscale = {\n valType: \"colorscale\",\n editType: \"calc\",\n dflt: l,\n impliedEdits: { autocolorscale: !1 },\n description: [\n \"Sets the colorscale.\" + h,\n \"The colorscale must be an array containing\",\n \"arrays mapping a normalized value to an\",\n \"rgb, rgba, hex, hsl, hsv, or named color string.\",\n \"At minimum, a mapping for the lowest (0) and highest (1)\",\n \"values are required. For example,\",\n \"`[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]`.\",\n \"To control the bounds of the colorscale in color space,\",\n \"use\",\n x + \".\",\n \"Alternatively, `colorscale` may be a palette name string\",\n \"of the following list: \" + yW + \".\"\n ].join(\" \")\n }, S.autocolorscale = {\n valType: \"boolean\",\n // gets overrode in 'heatmap' & 'surface' for backwards comp.\n dflt: r.autoColorDflt !== !1,\n editType: \"calc\",\n impliedEdits: { colorscale: void 0 },\n description: [\n \"Determines whether the colorscale is a default palette (`autocolorscale: true`)\",\n \"or the palette determined by\",\n Af(u + \"colorscale\") + \".\" + h,\n \"In case `colorscale` is unspecified or `autocolorscale` is true, the default\",\n \"palette will be chosen according to whether numbers in the `color` array are\",\n \"all positive, all negative or mixed.\"\n ].join(\" \")\n }, S.reversescale = {\n valType: \"boolean\",\n dflt: !1,\n editType: \"plot\",\n description: [\n \"Reverses the color mapping if true.\" + h,\n \"If true,\",\n w,\n \"will correspond to the last color\",\n \"in the array and\",\n k,\n \"will correspond to the first color.\"\n ].join(\" \")\n }, i || (S.showscale = {\n valType: \"boolean\",\n dflt: o,\n editType: \"calc\",\n description: [\n \"Determines whether or not a colorbar is displayed for this trace.\" + h\n ].join(\" \")\n }, S.colorbar = pW), r.noColorAxis || (S.coloraxis = {\n valType: \"subplotid\",\n regex: mW(\"coloraxis\"),\n dflt: null,\n editType: \"calc\",\n description: [\n \"Sets a reference to a shared color axis.\",\n \"References to these shared color axes are *coloraxis*, *coloraxis2*, *coloraxis3*, etc.\",\n \"Settings for these shared color axes are set in the layout, under\",\n \"`layout.coloraxis`, `layout.coloraxis2`, etc.\",\n \"Note that multiple color scales can be linked to the same color axis.\"\n ].join(\" \")\n }), S;\n}, bW = en.extendFlat, _W = Jc, eg = Wu.scales, tg = \"Note that `autocolorscale` must be true for this attribute to work.\", d4 = {\n editType: \"calc\",\n colorscale: {\n editType: \"calc\",\n sequential: {\n valType: \"colorscale\",\n dflt: eg.Reds,\n editType: \"calc\",\n description: [\n \"Sets the default sequential colorscale for positive values.\",\n tg\n ].join(\" \")\n },\n sequentialminus: {\n valType: \"colorscale\",\n dflt: eg.Blues,\n editType: \"calc\",\n description: [\n \"Sets the default sequential colorscale for negative values.\",\n tg\n ].join(\" \")\n },\n diverging: {\n valType: \"colorscale\",\n dflt: eg.RdBu,\n editType: \"calc\",\n description: [\n \"Sets the default diverging colorscale.\",\n tg\n ].join(\" \")\n }\n },\n coloraxis: bW({\n // not really a 'subplot' attribute container,\n // but this is the flag we use to denote attributes that\n // support yaxis, yaxis2, yaxis3, ... counters\n _isSubplotObj: !0,\n editType: \"calc\",\n description: [\n \"\"\n ].join(\" \")\n }, _W(\"\", {\n colorAttr: \"corresponding trace color array(s)\",\n noColorAxis: !0,\n showScaleDflt: !0\n }))\n}, xW = Ue, h4 = function(t) {\n return xW.isPlainObject(t.colorbar);\n}, Ap = {}, dy = sr, sT = Ue, v4 = Qr, wW = v4.ONEDAY, TW = v4.ONEWEEK;\nAp.dtick = function(e, t) {\n var r = t === \"log\", n = t === \"date\", a = t === \"category\", i = n ? wW : 1;\n if (!e) return i;\n if (dy(e))\n return e = Number(e), e <= 0 ? i : a ? Math.max(1, Math.round(e)) : n ? Math.max(0.1, e) : e;\n if (typeof e != \"string\" || !(n || r))\n return i;\n var o = e.charAt(0), l = e.substr(1);\n return l = dy(l) ? Number(l) : 0, l <= 0 || !// \"M\" gives ticks every (integer) n months\n (n && o === \"M\" && l === Math.round(l) || // \"L\" gives ticks linearly spaced in data (not in position) every (float) f\n r && o === \"L\" || // \"D1\" gives powers of 10 with all small digits between, \"D2\" gives only 2 and 5\n r && o === \"D\" && (l === 1 || l === 2)) ? i : e;\n};\nAp.tick0 = function(e, t, r, n) {\n if (t === \"date\")\n return sT.cleanDate(\n e,\n sT.dateTick0(r, n % TW === 0 ? 1 : 0)\n );\n if (!(n === \"D1\" || n === \"D2\"))\n return dy(e) ? Number(e) : 0;\n};\nvar uT = Ap, kW = Ue.isArrayOrTypedArray, AW = an.isTypedArraySpec, MW = an.decodeTypedArraySpec, p4 = function(t, r, n, a, i) {\n i || (i = {});\n var o = i.isMinor, l = o ? t.minor || {} : t, s = o ? r.minor : r, u = o ? \"minor.\" : \"\";\n function f(w) {\n var k = l[w];\n return AW(k) && (k = MW(k)), k !== void 0 ? k : (s._template || {})[w];\n }\n var d = f(\"tick0\"), h = f(\"dtick\"), p = f(\"tickvals\"), v = kW(p) ? \"array\" : h ? \"linear\" : \"auto\", m = n(u + \"tickmode\", v);\n if (m === \"auto\" || m === \"sync\")\n n(u + \"nticks\");\n else if (m === \"linear\") {\n var g = s.dtick = uT.dtick(\n h,\n a\n );\n s.tick0 = uT.tick0(\n d,\n a,\n r.calendar,\n g\n );\n } else if (a !== \"multicategory\") {\n var y = n(u + \"tickvals\");\n y === void 0 ? s.tickmode = \"auto\" : o || n(\"ticktext\");\n }\n}, rg = Ue, fT = Ki, m4 = function(t, r, n, a) {\n var i = a.isMinor, o = i ? t.minor || {} : t, l = i ? r.minor : r, s = i ? fT.minor : fT, u = i ? \"minor.\" : \"\", f = rg.coerce2(o, l, s, \"ticklen\", i ? (r.ticklen || 5) * 0.6 : void 0), d = rg.coerce2(o, l, s, \"tickwidth\", i ? r.tickwidth || 1 : void 0), h = rg.coerce2(o, l, s, \"tickcolor\", (i ? r.tickcolor : void 0) || l.color), p = n(u + \"ticks\", !i && a.outerTicks || f || d || h ? \"outside\" : \"\");\n p || (delete l.ticklen, delete l.tickwidth, delete l.tickcolor);\n}, g4 = function(t) {\n var r = [\"showexponent\", \"showtickprefix\", \"showticksuffix\"], n = r.filter(function(i) {\n return t[i] !== void 0;\n }), a = function(i) {\n return t[i] === t[n[0]];\n };\n if (n.every(a) || n.length === 1)\n return t[n[0]];\n}, Ud = Ue, SW = Mr, Ji = function(t, r, n) {\n var a = n.name, i = n.inclusionAttr || \"visible\", o = r[a], l = Ud.isArrayOrTypedArray(t[a]) ? t[a] : [], s = r[a] = [], u = SW.arrayTemplater(r, a, i), f, d;\n for (f = 0; f < l.length; f++) {\n var h = l[f];\n Ud.isPlainObject(h) ? d = u.newItem(h) : (d = u.newItem({}), d[i] = !1), d._index = f, d[i] !== !1 && n.handleItemDefaults(h, d, r, n), s.push(d);\n }\n var p = u.defaultItems();\n for (f = 0; f < p.length; f++)\n d = p[f], d._index = s.length, n.handleItemDefaults({}, d, r, n, {}), s.push(d);\n if (Ud.isArrayOrTypedArray(o)) {\n var v = Math.min(o.length, s.length);\n for (f = 0; f < v; f++)\n Ud.relinkPrivateKeys(s[f], o[f]);\n }\n return s;\n}, hy = Ue, CW = nr.contrast, y4 = Ki, LW = g4, DW = Ji, b4 = function(t, r, n, a, i) {\n i || (i = {});\n var o = n(\"labelalias\");\n hy.isPlainObject(o) || delete r.labelalias;\n var l = LW(t), s = n(\"showticklabels\");\n if (s) {\n var u = i.font || {}, f = r.color, d = r.ticklabelposition || \"\", h = d.indexOf(\"inside\") !== -1 ? CW(i.bgColor) : (\n // as with titlefont.color, inherit axis.color only if one was\n // explicitly provided\n f && f !== y4.color.dflt ? f : u.color\n );\n if (hy.coerceFont(n, \"tickfont\", {\n family: u.family,\n size: u.size,\n color: h\n }), !i.noTicklabelstep && a !== \"multicategory\" && a !== \"log\" && n(\"ticklabelstep\"), i.noAng || n(\"tickangle\"), a !== \"category\") {\n var p = n(\"tickformat\");\n DW(t, r, {\n name: \"tickformatstops\",\n inclusionAttr: \"enabled\",\n handleItemDefaults: EW\n }), r.tickformatstops.length || delete r.tickformatstops, !i.noExp && !p && a !== \"date\" && (n(\"showexponent\", l), n(\"exponentformat\"), n(\"minexponent\"), n(\"separatethousands\"));\n }\n }\n};\nfunction EW(e, t) {\n function r(a, i) {\n return hy.coerce(e, t, y4.tickformatstops, a, i);\n }\n var n = r(\"enabled\");\n n && (r(\"dtickrange\"), r(\"value\"));\n}\nvar FW = g4, _4 = function(t, r, n, a, i) {\n i || (i = {});\n var o = i.tickSuffixDflt, l = FW(t), s = n(\"tickprefix\");\n s && n(\"showtickprefix\", l);\n var u = n(\"ticksuffix\", o);\n u && n(\"showticksuffix\", l);\n}, Io = Ue, RW = Mr, PW = p4, $W = m4, zW = b4, IW = _4, NW = hb, x4 = function(t, r, n) {\n var a = RW.newContainer(r, \"colorbar\"), i = t.colorbar || {};\n function o($, I) {\n return Io.coerce(i, a, NW, $, I);\n }\n var l = n.margin || { t: 0, b: 0, l: 0, r: 0 }, s = n.width - l.l - l.r, u = n.height - l.t - l.b, f = o(\"orientation\"), d = f === \"v\", h = o(\"thicknessmode\");\n o(\n \"thickness\",\n h === \"fraction\" ? 30 / (d ? s : u) : 30\n );\n var p = o(\"lenmode\");\n o(\n \"len\",\n p === \"fraction\" ? 1 : d ? u : s\n );\n var v = o(\"yref\"), m = o(\"xref\"), g = v === \"paper\", y = m === \"paper\", w, k, x, _ = \"left\";\n d ? (x = \"middle\", _ = y ? \"left\" : \"right\", w = y ? 1.02 : 1, k = 0.5) : (x = g ? \"bottom\" : \"top\", _ = \"center\", w = 0.5, k = g ? 1.02 : 1), Io.coerce(i, a, {\n x: {\n valType: \"number\",\n min: y ? -2 : 0,\n max: y ? 3 : 1,\n dflt: w\n }\n }, \"x\"), Io.coerce(i, a, {\n y: {\n valType: \"number\",\n min: g ? -2 : 0,\n max: g ? 3 : 1,\n dflt: k\n }\n }, \"y\"), o(\"xanchor\", _), o(\"xpad\"), o(\"yanchor\", x), o(\"ypad\"), Io.noneOrAll(i, a, [\"x\", \"y\"]), o(\"outlinecolor\"), o(\"outlinewidth\"), o(\"bordercolor\"), o(\"borderwidth\"), o(\"bgcolor\");\n var T = Io.coerce(i, a, {\n ticklabelposition: {\n valType: \"enumerated\",\n dflt: \"outside\",\n values: d ? [\n \"outside\",\n \"inside\",\n \"outside top\",\n \"inside top\",\n \"outside bottom\",\n \"inside bottom\"\n ] : [\n \"outside\",\n \"inside\",\n \"outside left\",\n \"inside left\",\n \"outside right\",\n \"inside right\"\n ]\n }\n }, \"ticklabelposition\");\n o(\"ticklabeloverflow\", T.indexOf(\"inside\") !== -1 ? \"hide past domain\" : \"hide past div\"), PW(i, a, o, \"linear\");\n var S = n.font, M = { outerTicks: !1, font: S };\n T.indexOf(\"inside\") !== -1 && (M.bgColor = \"black\"), IW(i, a, o, \"linear\", M), zW(i, a, o, \"linear\", M), $W(i, a, o, \"linear\"), o(\"title.text\", n._dfltTitle.colorbar);\n var L = a.showticklabels ? a.tickfont : S, F = Io.extendFlat({}, L, {\n color: S.color,\n size: Io.bigFont(L.size)\n });\n Io.coerceFont(o, \"title.font\", F), o(\"title.side\", d ? \"top\" : \"right\");\n}, cT = sr, vy = Ue, OW = h4, HW = x4, dT = Wu.isValid, BW = Nt.traceIs;\nfunction ng(e, t) {\n var r = t.slice(0, t.length - 1);\n return t ? vy.nestedProperty(e, r).get() || {} : e;\n}\nvar ef = function e(t, r, n, a, i) {\n var o = i.prefix, l = i.cLetter, s = \"_module\" in r, u = ng(t, o), f = ng(r, o), d = ng(r._template || {}, o) || {}, h = function() {\n return delete t.coloraxis, delete r.coloraxis, e(t, r, n, a, i);\n };\n if (s) {\n var p = n._colorAxes || {}, v = a(o + \"coloraxis\");\n if (v) {\n var m = BW(r, \"contour\") && vy.nestedProperty(r, \"contours.coloring\").get() || \"heatmap\", g = p[v];\n g ? (g[2].push(h), g[0] !== m && (g[0] = !1, vy.warn([\n \"Ignoring coloraxis:\",\n v,\n \"setting\",\n \"as it is linked to incompatible colorscales.\"\n ].join(\" \")))) : p[v] = [m, r, [h]];\n return;\n }\n }\n var y = u[l + \"min\"], w = u[l + \"max\"], k = cT(y) && cT(w) && y < w, x = a(o + l + \"auto\", !k);\n x ? a(o + l + \"mid\") : (a(o + l + \"min\"), a(o + l + \"max\"));\n var _ = u.colorscale, T = d.colorscale, S;\n if (_ !== void 0 && (S = !dT(_)), T !== void 0 && (S = !dT(T)), a(o + \"autocolorscale\", S), a(o + \"colorscale\"), a(o + \"reversescale\"), o !== \"marker.line.\") {\n var M;\n o && s && (M = OW(u));\n var L = a(o + \"showscale\", M);\n L && (o && d && (f._template = d), HW(u, f, n));\n }\n}, hT = Ue, jW = Mr, vT = d4, UW = ef, GW = function(t, r) {\n function n(d, h) {\n return hT.coerce(t, r, vT, d, h);\n }\n n(\"colorscale.sequential\"), n(\"colorscale.sequentialminus\"), n(\"colorscale.diverging\");\n var a = r._colorAxes, i, o;\n function l(d, h) {\n return hT.coerce(i, o, vT.coloraxis, d, h);\n }\n for (var s in a) {\n var u = a[s];\n if (u[0])\n i = t[s] || {}, o = jW.newContainer(r, s, \"coloraxis\"), o._name = s, UW(i, o, r, l, { prefix: \"\", cLetter: \"c\" });\n else {\n for (var f = 0; f < u[2].length; f++)\n u[2][f]();\n delete r._colorAxes[s];\n }\n }\n}, VW = Ue, qW = wi.hasColorscale, WW = wi.extractOpts, ZW = function(t, r) {\n function n(f, d) {\n var h = f[\"_\" + d];\n h !== void 0 && (f[d] = h);\n }\n function a(f, d) {\n var h = d.container ? VW.nestedProperty(f, d.container).get() : f;\n if (h)\n if (h.coloraxis)\n h._colorAx = r[h.coloraxis];\n else {\n var p = WW(h), v = p.auto;\n (v || p.min === void 0) && n(h, d.min), (v || p.max === void 0) && n(h, d.max), p.autocolorscale && n(h, \"colorscale\");\n }\n }\n for (var i = 0; i < t.length; i++) {\n var o = t[i], l = o._module.colorbar;\n if (l)\n if (Array.isArray(l))\n for (var s = 0; s < l.length; s++)\n a(o, l[s]);\n else\n a(o, l);\n qW(o, \"marker.line\") && a(o, {\n container: \"marker.line\",\n min: \"cmin\",\n max: \"cmax\"\n });\n }\n for (var u in r._colorAxes)\n a(r[u], { min: \"cmin\", max: \"cmax\" });\n}, pT = sr, ag = Ue, YW = wi.extractOpts, Mp = function(t, r, n) {\n var a = t._fullLayout, i = n.vals, o = n.containerStr, l = o ? ag.nestedProperty(r, o).get() : r, s = YW(l), u = s.auto !== !1, f = s.min, d = s.max, h = s.mid, p = function() {\n return ag.aggNums(Math.min, null, i);\n }, v = function() {\n return ag.aggNums(Math.max, null, i);\n };\n if (f === void 0 ? f = p() : u && (l._colorAx && pT(f) ? f = Math.min(f, p()) : f = p()), d === void 0 ? d = v() : u && (l._colorAx && pT(d) ? d = Math.max(d, v()) : d = v()), u && h !== void 0 && (d - h > h - f ? f = h - (d - h) : d - h < h - f && (d = h + (h - f))), f === d && (f -= 0.5, d += 0.5), s._sync(\"min\", f), s._sync(\"max\", d), s.autocolorscale) {\n var m;\n f * d < 0 ? m = a.colorscale.diverging : f >= 0 ? m = a.colorscale.sequential : m = a.colorscale.sequentialminus, s._sync(\"colorscale\", m);\n }\n}, Gd = Wu, zs = wi, Qc = {\n moduleType: \"component\",\n name: \"colorscale\",\n attributes: Jc,\n layoutAttributes: d4,\n supplyLayoutDefaults: GW,\n handleDefaults: ef,\n crossTraceDefaults: ZW,\n calc: Mp,\n // ./scales.js is required in lib/coerce.js ;\n // it needs to be a separate module to avoid a circular dependency\n scales: Gd.scales,\n defaultScale: Gd.defaultScale,\n getScale: Gd.get,\n isValidScale: Gd.isValid,\n hasColorscale: zs.hasColorscale,\n extractOpts: zs.extractOpts,\n extractScale: zs.extractScale,\n flipScale: zs.flipScale,\n makeColorScaleFunc: zs.makeColorScaleFunc,\n makeColorScaleFuncFromTrace: zs.makeColorScaleFuncFromTrace\n}, mT = Ue, XW = an.isTypedArraySpec, Ya = {\n hasLines: function(e) {\n return e.visible && e.mode && e.mode.indexOf(\"lines\") !== -1;\n },\n hasMarkers: function(e) {\n return e.visible && (e.mode && e.mode.indexOf(\"markers\") !== -1 || // until splom implements 'mode'\n e.type === \"splom\");\n },\n hasText: function(e) {\n return e.visible && e.mode && e.mode.indexOf(\"text\") !== -1;\n },\n isBubble: function(e) {\n var t = e.marker;\n return mT.isPlainObject(t) && (mT.isArrayOrTypedArray(t.size) || XW(t.size));\n }\n}, KW = sr, JW = function(t, r) {\n r || (r = 2);\n var n = t.marker, a = n.sizeref || 1, i = n.sizemin || 0, o = n.sizemode === \"area\" ? function(l) {\n return Math.sqrt(l / a);\n } : function(l) {\n return l / a;\n };\n return function(l) {\n var s = o(l / r);\n return KW(s) && s > 0 ? Math.max(s, i) : 0;\n };\n}, Do = {};\n(function(e) {\n var t = Ue;\n e.getSubplot = function(l) {\n return l.subplot || l.xaxis + l.yaxis || l.geo;\n }, e.isTraceInSubplots = function(l, s) {\n if (l.type === \"splom\") {\n for (var u = l.xaxes || [], f = l.yaxes || [], d = 0; d < u.length; d++)\n for (var h = 0; h < f.length; h++)\n if (s.indexOf(u[d] + f[h]) !== -1)\n return !0;\n return !1;\n }\n return s.indexOf(e.getSubplot(l)) !== -1;\n }, e.flat = function(l, s) {\n for (var u = new Array(l.length), f = 0; f < l.length; f++)\n u[f] = s;\n return u;\n }, e.p2c = function(l, s) {\n for (var u = new Array(l.length), f = 0; f < l.length; f++)\n u[f] = l[f].p2c(s);\n return u;\n }, e.getDistanceFunction = function(l, s, u, f) {\n return l === \"closest\" ? f || e.quadrature(s, u) : l.charAt(0) === \"x\" ? s : u;\n }, e.getClosest = function(l, s, u) {\n if (u.index !== !1)\n u.index >= 0 && u.index < l.length ? u.distance = 0 : u.index = !1;\n else\n for (var f = 0; f < l.length; f++) {\n var d = s(l[f]);\n d <= u.distance && (u.index = f, u.distance = d);\n }\n return u;\n }, e.inbox = function(l, s, u) {\n return l * s < 0 || l === 0 ? u : 1 / 0;\n }, e.quadrature = function(l, s) {\n return function(u) {\n var f = l(u), d = s(u);\n return Math.sqrt(f * f + d * d);\n };\n }, e.makeEventData = function(l, s, u) {\n var f = \"index\" in l ? l.index : l.pointNumber, d = {\n data: s._input,\n fullData: s,\n curveNumber: s.index,\n pointNumber: f\n };\n if (s._indexToPoints) {\n var h = s._indexToPoints[f];\n h.length === 1 ? d.pointIndex = h[0] : d.pointIndices = h;\n } else\n d.pointIndex = f;\n return s._module.eventData ? d = s._module.eventData(d, l, s, u, f) : (\"xVal\" in l ? d.x = l.xVal : \"x\" in l && (d.x = l.x), \"yVal\" in l ? d.y = l.yVal : \"y\" in l && (d.y = l.y), l.xa && (d.xaxis = l.xa), l.ya && (d.yaxis = l.ya), l.zLabelVal !== void 0 && (d.z = l.zLabelVal)), e.appendArrayPointValue(d, s, f), d;\n }, e.appendArrayPointValue = function(l, s, u) {\n var f = s._arrayAttrs;\n if (f)\n for (var d = 0; d < f.length; d++) {\n var h = f[d], p = n(h);\n if (l[p] === void 0) {\n var v = t.nestedProperty(s, h).get(), m = a(v, u);\n m !== void 0 && (l[p] = m);\n }\n }\n }, e.appendArrayMultiPointValues = function(l, s, u) {\n var f = s._arrayAttrs;\n if (f)\n for (var d = 0; d < f.length; d++) {\n var h = f[d], p = n(h);\n if (l[p] === void 0) {\n for (var v = t.nestedProperty(s, h).get(), m = new Array(u.length), g = 0; g < u.length; g++)\n m[g] = a(v, u[g]);\n l[p] = m;\n }\n }\n };\n var r = {\n ids: \"id\",\n locations: \"location\",\n labels: \"label\",\n values: \"value\",\n \"marker.colors\": \"color\",\n parents: \"parent\"\n };\n function n(l) {\n return r[l] || l;\n }\n function a(l, s) {\n if (Array.isArray(s)) {\n if (Array.isArray(l) && Array.isArray(l[s[0]]))\n return l[s[0]][s[1]];\n } else\n return l[s];\n }\n var i = {\n x: !0,\n y: !0\n }, o = {\n \"x unified\": !0,\n \"y unified\": !0\n };\n e.isUnifiedHover = function(l) {\n return typeof l != \"string\" ? !1 : !!o[l];\n }, e.isXYhover = function(l) {\n return typeof l != \"string\" ? !1 : !!i[l];\n };\n})(Do);\nvar w4 = eZ, ig = { a: 7, c: 6, h: 1, l: 2, m: 2, q: 4, s: 4, t: 2, v: 1, z: 0 }, QW = /([astvzqmhlc])([^astvzqmhlc]*)/ig;\nfunction eZ(e) {\n var t = [];\n return e.replace(QW, function(r, n, a) {\n var i = n.toLowerCase();\n for (a = rZ(a), i == \"m\" && a.length > 2 && (t.push([n].concat(a.splice(0, 2))), i = \"l\", n = n == \"m\" ? \"l\" : \"L\"); ; ) {\n if (a.length == ig[i])\n return a.unshift(n), t.push(a);\n if (a.length < ig[i]) throw new Error(\"malformed path data\");\n t.push([n].concat(a.splice(0, ig[i])));\n }\n }), t;\n}\nvar tZ = /-?[0-9]*\\.?[0-9]+(?:e[-+]?\\d+)?/ig;\nfunction rZ(e) {\n var t = e.match(tZ);\n return t ? t.map(Number) : [];\n}\nvar og, gT;\nfunction nZ() {\n if (gT) return og;\n gT = 1;\n var e = w4, t = lr.round, r = \"M0,0Z\", n = Math.sqrt(2), a = Math.sqrt(3), i = Math.PI, o = Math.cos, l = Math.sin;\n og = {\n circle: {\n n: 0,\n f: function(v, m, g) {\n if (s(m)) return r;\n var y = t(v, 2), w = \"M\" + y + \",0A\" + y + \",\" + y + \" 0 1,1 0,-\" + y + \"A\" + y + \",\" + y + \" 0 0,1 \" + y + \",0Z\";\n return g ? p(m, g, w) : w;\n }\n },\n square: {\n n: 1,\n f: function(v, m, g) {\n if (s(m)) return r;\n var y = t(v, 2);\n return p(m, g, \"M\" + y + \",\" + y + \"H-\" + y + \"V-\" + y + \"H\" + y + \"Z\");\n }\n },\n diamond: {\n n: 2,\n f: function(v, m, g) {\n if (s(m)) return r;\n var y = t(v * 1.3, 2);\n return p(m, g, \"M\" + y + \",0L0,\" + y + \"L-\" + y + \",0L0,-\" + y + \"Z\");\n }\n },\n cross: {\n n: 3,\n f: function(v, m, g) {\n if (s(m)) return r;\n var y = t(v * 0.4, 2), w = t(v * 1.2, 2);\n return p(m, g, \"M\" + w + \",\" + y + \"H\" + y + \"V\" + w + \"H-\" + y + \"V\" + y + \"H-\" + w + \"V-\" + y + \"H-\" + y + \"V-\" + w + \"H\" + y + \"V-\" + y + \"H\" + w + \"Z\");\n }\n },\n x: {\n n: 4,\n f: function(v, m, g) {\n if (s(m)) return r;\n var y = t(v * 0.8 / n, 2), w = \"l\" + y + \",\" + y, k = \"l\" + y + \",-\" + y, x = \"l-\" + y + \",-\" + y, _ = \"l-\" + y + \",\" + y;\n return p(m, g, \"M0,\" + y + w + k + x + k + x + _ + x + _ + w + _ + w + \"Z\");\n }\n },\n \"triangle-up\": {\n n: 5,\n f: function(v, m, g) {\n if (s(m)) return r;\n var y = t(v * 2 / a, 2), w = t(v / 2, 2), k = t(v, 2);\n return p(m, g, \"M-\" + y + \",\" + w + \"H\" + y + \"L0,-\" + k + \"Z\");\n }\n },\n \"triangle-down\": {\n n: 6,\n f: function(v, m, g) {\n if (s(m)) return r;\n var y = t(v * 2 / a, 2), w = t(v / 2, 2), k = t(v, 2);\n return p(m, g, \"M-\" + y + \",-\" + w + \"H\" + y + \"L0,\" + k + \"Z\");\n }\n },\n \"triangle-left\": {\n n: 7,\n f: function(v, m, g) {\n if (s(m)) return r;\n var y = t(v * 2 / a, 2), w = t(v / 2, 2), k = t(v, 2);\n return p(m, g, \"M\" + w + \",-\" + y + \"V\" + y + \"L-\" + k + \",0Z\");\n }\n },\n \"triangle-right\": {\n n: 8,\n f: function(v, m, g) {\n if (s(m)) return r;\n var y = t(v * 2 / a, 2), w = t(v / 2, 2), k = t(v, 2);\n return p(m, g, \"M-\" + w + \",-\" + y + \"V\" + y + \"L\" + k + \",0Z\");\n }\n },\n \"triangle-ne\": {\n n: 9,\n f: function(v, m, g) {\n if (s(m)) return r;\n var y = t(v * 0.6, 2), w = t(v * 1.2, 2);\n return p(m, g, \"M-\" + w + \",-\" + y + \"H\" + y + \"V\" + w + \"Z\");\n }\n },\n \"triangle-se\": {\n n: 10,\n f: function(v, m, g) {\n if (s(m)) return r;\n var y = t(v * 0.6, 2), w = t(v * 1.2, 2);\n return p(m, g, \"M\" + y + \",-\" + w + \"V\" + y + \"H-\" + w + \"Z\");\n }\n },\n \"triangle-sw\": {\n n: 11,\n f: function(v, m, g) {\n if (s(m)) return r;\n var y = t(v * 0.6, 2), w = t(v * 1.2, 2);\n return p(m, g, \"M\" + w + \",\" + y + \"H-\" + y + \"V-\" + w + \"Z\");\n }\n },\n \"triangle-nw\": {\n n: 12,\n f: function(v, m, g) {\n if (s(m)) return r;\n var y = t(v * 0.6, 2), w = t(v * 1.2, 2);\n return p(m, g, \"M-\" + y + \",\" + w + \"V-\" + y + \"H\" + w + \"Z\");\n }\n },\n pentagon: {\n n: 13,\n f: function(v, m, g) {\n if (s(m)) return r;\n var y = t(v * 0.951, 2), w = t(v * 0.588, 2), k = t(-v, 2), x = t(v * -0.309, 2), _ = t(v * 0.809, 2);\n return p(m, g, \"M\" + y + \",\" + x + \"L\" + w + \",\" + _ + \"H-\" + w + \"L-\" + y + \",\" + x + \"L0,\" + k + \"Z\");\n }\n },\n hexagon: {\n n: 14,\n f: function(v, m, g) {\n if (s(m)) return r;\n var y = t(v, 2), w = t(v / 2, 2), k = t(v * a / 2, 2);\n return p(m, g, \"M\" + k + \",-\" + w + \"V\" + w + \"L0,\" + y + \"L-\" + k + \",\" + w + \"V-\" + w + \"L0,-\" + y + \"Z\");\n }\n },\n hexagon2: {\n n: 15,\n f: function(v, m, g) {\n if (s(m)) return r;\n var y = t(v, 2), w = t(v / 2, 2), k = t(v * a / 2, 2);\n return p(m, g, \"M-\" + w + \",\" + k + \"H\" + w + \"L\" + y + \",0L\" + w + \",-\" + k + \"H-\" + w + \"L-\" + y + \",0Z\");\n }\n },\n octagon: {\n n: 16,\n f: function(v, m, g) {\n if (s(m)) return r;\n var y = t(v * 0.924, 2), w = t(v * 0.383, 2);\n return p(m, g, \"M-\" + w + \",-\" + y + \"H\" + w + \"L\" + y + \",-\" + w + \"V\" + w + \"L\" + w + \",\" + y + \"H-\" + w + \"L-\" + y + \",\" + w + \"V-\" + w + \"Z\");\n }\n },\n star: {\n n: 17,\n f: function(v, m, g) {\n if (s(m)) return r;\n var y = v * 1.4, w = t(y * 0.225, 2), k = t(y * 0.951, 2), x = t(y * 0.363, 2), _ = t(y * 0.588, 2), T = t(-y, 2), S = t(y * -0.309, 2), M = t(y * 0.118, 2), L = t(y * 0.809, 2), F = t(y * 0.382, 2);\n return p(m, g, \"M\" + w + \",\" + S + \"H\" + k + \"L\" + x + \",\" + M + \"L\" + _ + \",\" + L + \"L0,\" + F + \"L-\" + _ + \",\" + L + \"L-\" + x + \",\" + M + \"L-\" + k + \",\" + S + \"H-\" + w + \"L0,\" + T + \"Z\");\n }\n },\n hexagram: {\n n: 18,\n f: function(v, m, g) {\n if (s(m)) return r;\n var y = t(v * 0.66, 2), w = t(v * 0.38, 2), k = t(v * 0.76, 2);\n return p(m, g, \"M-\" + k + \",0l-\" + w + \",-\" + y + \"h\" + k + \"l\" + w + \",-\" + y + \"l\" + w + \",\" + y + \"h\" + k + \"l-\" + w + \",\" + y + \"l\" + w + \",\" + y + \"h-\" + k + \"l-\" + w + \",\" + y + \"l-\" + w + \",-\" + y + \"h-\" + k + \"Z\");\n }\n },\n \"star-triangle-up\": {\n n: 19,\n f: function(v, m, g) {\n if (s(m)) return r;\n var y = t(v * a * 0.8, 2), w = t(v * 0.8, 2), k = t(v * 1.6, 2), x = t(v * 4, 2), _ = \"A \" + x + \",\" + x + \" 0 0 1 \";\n return p(m, g, \"M-\" + y + \",\" + w + _ + y + \",\" + w + _ + \"0,-\" + k + _ + \"-\" + y + \",\" + w + \"Z\");\n }\n },\n \"star-triangle-down\": {\n n: 20,\n f: function(v, m, g) {\n if (s(m)) return r;\n var y = t(v * a * 0.8, 2), w = t(v * 0.8, 2), k = t(v * 1.6, 2), x = t(v * 4, 2), _ = \"A \" + x + \",\" + x + \" 0 0 1 \";\n return p(m, g, \"M\" + y + \",-\" + w + _ + \"-\" + y + \",-\" + w + _ + \"0,\" + k + _ + y + \",-\" + w + \"Z\");\n }\n },\n \"star-square\": {\n n: 21,\n f: function(v, m, g) {\n if (s(m)) return r;\n var y = t(v * 1.1, 2), w = t(v * 2, 2), k = \"A \" + w + \",\" + w + \" 0 0 1 \";\n return p(m, g, \"M-\" + y + \",-\" + y + k + \"-\" + y + \",\" + y + k + y + \",\" + y + k + y + \",-\" + y + k + \"-\" + y + \",-\" + y + \"Z\");\n }\n },\n \"star-diamond\": {\n n: 22,\n f: function(v, m, g) {\n if (s(m)) return r;\n var y = t(v * 1.4, 2), w = t(v * 1.9, 2), k = \"A \" + w + \",\" + w + \" 0 0 1 \";\n return p(m, g, \"M-\" + y + \",0\" + k + \"0,\" + y + k + y + \",0\" + k + \"0,-\" + y + k + \"-\" + y + \",0Z\");\n }\n },\n \"diamond-tall\": {\n n: 23,\n f: function(v, m, g) {\n if (s(m)) return r;\n var y = t(v * 0.7, 2), w = t(v * 1.4, 2);\n return p(m, g, \"M0,\" + w + \"L\" + y + \",0L0,-\" + w + \"L-\" + y + \",0Z\");\n }\n },\n \"diamond-wide\": {\n n: 24,\n f: function(v, m, g) {\n if (s(m)) return r;\n var y = t(v * 1.4, 2), w = t(v * 0.7, 2);\n return p(m, g, \"M0,\" + w + \"L\" + y + \",0L0,-\" + w + \"L-\" + y + \",0Z\");\n }\n },\n hourglass: {\n n: 25,\n f: function(v, m, g) {\n if (s(m)) return r;\n var y = t(v, 2);\n return p(m, g, \"M\" + y + \",\" + y + \"H-\" + y + \"L\" + y + \",-\" + y + \"H-\" + y + \"Z\");\n },\n noDot: !0\n },\n bowtie: {\n n: 26,\n f: function(v, m, g) {\n if (s(m)) return r;\n var y = t(v, 2);\n return p(m, g, \"M\" + y + \",\" + y + \"V-\" + y + \"L-\" + y + \",\" + y + \"V-\" + y + \"Z\");\n },\n noDot: !0\n },\n \"circle-cross\": {\n n: 27,\n f: function(v, m, g) {\n if (s(m)) return r;\n var y = t(v, 2);\n return p(m, g, \"M0,\" + y + \"V-\" + y + \"M\" + y + \",0H-\" + y + \"M\" + y + \",0A\" + y + \",\" + y + \" 0 1,1 0,-\" + y + \"A\" + y + \",\" + y + \" 0 0,1 \" + y + \",0Z\");\n },\n needLine: !0,\n noDot: !0\n },\n \"circle-x\": {\n n: 28,\n f: function(v, m, g) {\n if (s(m)) return r;\n var y = t(v, 2), w = t(v / n, 2);\n return p(m, g, \"M\" + w + \",\" + w + \"L-\" + w + \",-\" + w + \"M\" + w + \",-\" + w + \"L-\" + w + \",\" + w + \"M\" + y + \",0A\" + y + \",\" + y + \" 0 1,1 0,-\" + y + \"A\" + y + \",\" + y + \" 0 0,1 \" + y + \",0Z\");\n },\n needLine: !0,\n noDot: !0\n },\n \"square-cross\": {\n n: 29,\n f: function(v, m, g) {\n if (s(m)) return r;\n var y = t(v, 2);\n return p(m, g, \"M0,\" + y + \"V-\" + y + \"M\" + y + \",0H-\" + y + \"M\" + y + \",\" + y + \"H-\" + y + \"V-\" + y + \"H\" + y + \"Z\");\n },\n needLine: !0,\n noDot: !0\n },\n \"square-x\": {\n n: 30,\n f: function(v, m, g) {\n if (s(m)) return r;\n var y = t(v, 2);\n return p(m, g, \"M\" + y + \",\" + y + \"L-\" + y + \",-\" + y + \"M\" + y + \",-\" + y + \"L-\" + y + \",\" + y + \"M\" + y + \",\" + y + \"H-\" + y + \"V-\" + y + \"H\" + y + \"Z\");\n },\n needLine: !0,\n noDot: !0\n },\n \"diamond-cross\": {\n n: 31,\n f: function(v, m, g) {\n if (s(m)) return r;\n var y = t(v * 1.3, 2);\n return p(m, g, \"M\" + y + \",0L0,\" + y + \"L-\" + y + \",0L0,-\" + y + \"ZM0,-\" + y + \"V\" + y + \"M-\" + y + \",0H\" + y);\n },\n needLine: !0,\n noDot: !0\n },\n \"diamond-x\": {\n n: 32,\n f: function(v, m, g) {\n if (s(m)) return r;\n var y = t(v * 1.3, 2), w = t(v * 0.65, 2);\n return p(m, g, \"M\" + y + \",0L0,\" + y + \"L-\" + y + \",0L0,-\" + y + \"ZM-\" + w + \",-\" + w + \"L\" + w + \",\" + w + \"M-\" + w + \",\" + w + \"L\" + w + \",-\" + w);\n },\n needLine: !0,\n noDot: !0\n },\n \"cross-thin\": {\n n: 33,\n f: function(v, m, g) {\n if (s(m)) return r;\n var y = t(v * 1.4, 2);\n return p(m, g, \"M0,\" + y + \"V-\" + y + \"M\" + y + \",0H-\" + y);\n },\n needLine: !0,\n noDot: !0,\n noFill: !0\n },\n \"x-thin\": {\n n: 34,\n f: function(v, m, g) {\n if (s(m)) return r;\n var y = t(v, 2);\n return p(m, g, \"M\" + y + \",\" + y + \"L-\" + y + \",-\" + y + \"M\" + y + \",-\" + y + \"L-\" + y + \",\" + y);\n },\n needLine: !0,\n noDot: !0,\n noFill: !0\n },\n asterisk: {\n n: 35,\n f: function(v, m, g) {\n if (s(m)) return r;\n var y = t(v * 1.2, 2), w = t(v * 0.85, 2);\n return p(m, g, \"M0,\" + y + \"V-\" + y + \"M\" + y + \",0H-\" + y + \"M\" + w + \",\" + w + \"L-\" + w + \",-\" + w + \"M\" + w + \",-\" + w + \"L-\" + w + \",\" + w);\n },\n needLine: !0,\n noDot: !0,\n noFill: !0\n },\n hash: {\n n: 36,\n f: function(v, m, g) {\n if (s(m)) return r;\n var y = t(v / 2, 2), w = t(v, 2);\n return p(m, g, \"M\" + y + \",\" + w + \"V-\" + w + \"M\" + (y - w) + \",-\" + w + \"V\" + w + \"M\" + w + \",\" + y + \"H-\" + w + \"M-\" + w + \",\" + (y - w) + \"H\" + w);\n },\n needLine: !0,\n noFill: !0\n },\n \"y-up\": {\n n: 37,\n f: function(v, m, g) {\n if (s(m)) return r;\n var y = t(v * 1.2, 2), w = t(v * 1.6, 2), k = t(v * 0.8, 2);\n return p(m, g, \"M-\" + y + \",\" + k + \"L0,0M\" + y + \",\" + k + \"L0,0M0,-\" + w + \"L0,0\");\n },\n needLine: !0,\n noDot: !0,\n noFill: !0\n },\n \"y-down\": {\n n: 38,\n f: function(v, m, g) {\n if (s(m)) return r;\n var y = t(v * 1.2, 2), w = t(v * 1.6, 2), k = t(v * 0.8, 2);\n return p(m, g, \"M-\" + y + \",-\" + k + \"L0,0M\" + y + \",-\" + k + \"L0,0M0,\" + w + \"L0,0\");\n },\n needLine: !0,\n noDot: !0,\n noFill: !0\n },\n \"y-left\": {\n n: 39,\n f: function(v, m, g) {\n if (s(m)) return r;\n var y = t(v * 1.2, 2), w = t(v * 1.6, 2), k = t(v * 0.8, 2);\n return p(m, g, \"M\" + k + \",\" + y + \"L0,0M\" + k + \",-\" + y + \"L0,0M-\" + w + \",0L0,0\");\n },\n needLine: !0,\n noDot: !0,\n noFill: !0\n },\n \"y-right\": {\n n: 40,\n f: function(v, m, g) {\n if (s(m)) return r;\n var y = t(v * 1.2, 2), w = t(v * 1.6, 2), k = t(v * 0.8, 2);\n return p(m, g, \"M-\" + k + \",\" + y + \"L0,0M-\" + k + \",-\" + y + \"L0,0M\" + w + \",0L0,0\");\n },\n needLine: !0,\n noDot: !0,\n noFill: !0\n },\n \"line-ew\": {\n n: 41,\n f: function(v, m, g) {\n if (s(m)) return r;\n var y = t(v * 1.4, 2);\n return p(m, g, \"M\" + y + \",0H-\" + y);\n },\n needLine: !0,\n noDot: !0,\n noFill: !0\n },\n \"line-ns\": {\n n: 42,\n f: function(v, m, g) {\n if (s(m)) return r;\n var y = t(v * 1.4, 2);\n return p(m, g, \"M0,\" + y + \"V-\" + y);\n },\n needLine: !0,\n noDot: !0,\n noFill: !0\n },\n \"line-ne\": {\n n: 43,\n f: function(v, m, g) {\n if (s(m)) return r;\n var y = t(v, 2);\n return p(m, g, \"M\" + y + \",-\" + y + \"L-\" + y + \",\" + y);\n },\n needLine: !0,\n noDot: !0,\n noFill: !0\n },\n \"line-nw\": {\n n: 44,\n f: function(v, m, g) {\n if (s(m)) return r;\n var y = t(v, 2);\n return p(m, g, \"M\" + y + \",\" + y + \"L-\" + y + \",-\" + y);\n },\n needLine: !0,\n noDot: !0,\n noFill: !0\n },\n \"arrow-up\": {\n n: 45,\n f: function(v, m, g) {\n if (s(m)) return r;\n var y = t(v, 2), w = t(v * 2, 2);\n return p(m, g, \"M0,0L-\" + y + \",\" + w + \"H\" + y + \"Z\");\n },\n backoff: 1,\n noDot: !0\n },\n \"arrow-down\": {\n n: 46,\n f: function(v, m, g) {\n if (s(m)) return r;\n var y = t(v, 2), w = t(v * 2, 2);\n return p(m, g, \"M0,0L-\" + y + \",-\" + w + \"H\" + y + \"Z\");\n },\n noDot: !0\n },\n \"arrow-left\": {\n n: 47,\n f: function(v, m, g) {\n if (s(m)) return r;\n var y = t(v * 2, 2), w = t(v, 2);\n return p(m, g, \"M0,0L\" + y + \",-\" + w + \"V\" + w + \"Z\");\n },\n noDot: !0\n },\n \"arrow-right\": {\n n: 48,\n f: function(v, m, g) {\n if (s(m)) return r;\n var y = t(v * 2, 2), w = t(v, 2);\n return p(m, g, \"M0,0L-\" + y + \",-\" + w + \"V\" + w + \"Z\");\n },\n noDot: !0\n },\n \"arrow-bar-up\": {\n n: 49,\n f: function(v, m, g) {\n if (s(m)) return r;\n var y = t(v, 2), w = t(v * 2, 2);\n return p(m, g, \"M-\" + y + \",0H\" + y + \"M0,0L-\" + y + \",\" + w + \"H\" + y + \"Z\");\n },\n backoff: 1,\n needLine: !0,\n noDot: !0\n },\n \"arrow-bar-down\": {\n n: 50,\n f: function(v, m, g) {\n if (s(m)) return r;\n var y = t(v, 2), w = t(v * 2, 2);\n return p(m, g, \"M-\" + y + \",0H\" + y + \"M0,0L-\" + y + \",-\" + w + \"H\" + y + \"Z\");\n },\n needLine: !0,\n noDot: !0\n },\n \"arrow-bar-left\": {\n n: 51,\n f: function(v, m, g) {\n if (s(m)) return r;\n var y = t(v * 2, 2), w = t(v, 2);\n return p(m, g, \"M0,-\" + w + \"V\" + w + \"M0,0L\" + y + \",-\" + w + \"V\" + w + \"Z\");\n },\n needLine: !0,\n noDot: !0\n },\n \"arrow-bar-right\": {\n n: 52,\n f: function(v, m, g) {\n if (s(m)) return r;\n var y = t(v * 2, 2), w = t(v, 2);\n return p(m, g, \"M0,-\" + w + \"V\" + w + \"M0,0L-\" + y + \",-\" + w + \"V\" + w + \"Z\");\n },\n needLine: !0,\n noDot: !0\n },\n arrow: {\n n: 53,\n f: function(v, m, g) {\n if (s(m)) return r;\n var y = i / 2.5, w = 2 * v * o(y), k = 2 * v * l(y);\n return p(\n m,\n g,\n \"M0,0L\" + -w + \",\" + k + \"L\" + w + \",\" + k + \"Z\"\n );\n },\n backoff: 0.9,\n noDot: !0\n },\n \"arrow-wide\": {\n n: 54,\n f: function(v, m, g) {\n if (s(m)) return r;\n var y = i / 4, w = 2 * v * o(y), k = 2 * v * l(y);\n return p(\n m,\n g,\n \"M0,0L\" + -w + \",\" + k + \"A \" + 2 * v + \",\" + 2 * v + \" 0 0 1 \" + w + \",\" + k + \"Z\"\n );\n },\n backoff: 0.4,\n noDot: !0\n }\n };\n function s(v) {\n return v === null;\n }\n var u, f, d, h;\n function p(v, m, g) {\n if ((!v || v % 360 === 0) && !m) return g;\n if (d === v && h === m && u === g) return f;\n d = v, h = m, u = g;\n function y(G, K) {\n var V = o(G), z = l(G), P = K[0], R = K[1] + (m || 0);\n return [\n P * V - R * z,\n P * z + R * V\n ];\n }\n for (var w = v / 180 * i, k = 0, x = 0, _ = e(g), T = \"\", S = 0; S < _.length; S++) {\n var M = _[S], L = M[0], F = k, $ = x;\n if (L === \"M\" || L === \"L\")\n k = +M[1], x = +M[2];\n else if (L === \"m\" || L === \"l\")\n k += +M[1], x += +M[2];\n else if (L === \"H\")\n k = +M[1];\n else if (L === \"h\")\n k += +M[1];\n else if (L === \"V\")\n x = +M[1];\n else if (L === \"v\")\n x += +M[1];\n else if (L === \"A\") {\n k = +M[1], x = +M[2];\n var I = y(w, [+M[6], +M[7]]);\n M[6] = I[0], M[7] = I[1], M[3] = +M[3] + v;\n }\n (L === \"H\" || L === \"V\") && (L = \"L\"), (L === \"h\" || L === \"v\") && (L = \"l\"), (L === \"m\" || L === \"l\") && (k -= F, x -= $);\n var O = y(w, [k, x]);\n (L === \"H\" || L === \"V\") && (L = \"L\"), (L === \"M\" || L === \"L\" || L === \"m\" || L === \"l\") && (M[1] = O[0], M[2] = O[1]), M[0] = L, T += M[0] + M.slice(1).join(\",\");\n }\n return f = T, T;\n }\n return og;\n}\nvar mn = lr, Tr = Ue, aZ = Tr.numberFormat, ls = sr, py = bi, Sp = Nt, Dn = nr, iZ = Qc, wc = Tr.strTranslate, vb = Rn, oZ = yl, lZ = On, sZ = lZ.LINE_SPACING, T4 = q1.DESELECTDIM, uZ = Ya, fZ = JW, cZ = Do.appendArrayPointValue, ut = n4.exports = {};\nut.font = function(e, t, r, n) {\n Tr.isPlainObject(t) && (n = t.color, r = t.size, t = t.family), t && e.style(\"font-family\", t), r + 1 && e.style(\"font-size\", r + \"px\"), n && e.call(Dn.fill, n);\n};\nut.setPosition = function(e, t, r) {\n e.attr(\"x\", t).attr(\"y\", r);\n};\nut.setSize = function(e, t, r) {\n e.attr(\"width\", t).attr(\"height\", r);\n};\nut.setRect = function(e, t, r, n, a) {\n e.call(ut.setPosition, t, r).call(ut.setSize, n, a);\n};\nut.translatePoint = function(e, t, r, n) {\n var a = r.c2p(e.x), i = n.c2p(e.y);\n if (ls(a) && ls(i) && t.node())\n t.node().nodeName === \"text\" ? t.attr(\"x\", a).attr(\"y\", i) : t.attr(\"transform\", wc(a, i));\n else\n return !1;\n return !0;\n};\nut.translatePoints = function(e, t, r) {\n e.each(function(n) {\n var a = mn.select(this);\n ut.translatePoint(n, a, t, r);\n });\n};\nut.hideOutsideRangePoint = function(e, t, r, n, a, i) {\n t.attr(\n \"display\",\n r.isPtWithinRange(e, a) && n.isPtWithinRange(e, i) ? null : \"none\"\n );\n};\nut.hideOutsideRangePoints = function(e, t) {\n if (t._hasClipOnAxisFalse) {\n var r = t.xaxis, n = t.yaxis;\n e.each(function(a) {\n var i = a[0].trace, o = i.xcalendar, l = i.ycalendar, s = Sp.traceIs(i, \"bar-like\") ? \".bartext\" : \".point,.textpoint\";\n e.selectAll(s).each(function(u) {\n ut.hideOutsideRangePoint(u, mn.select(this), r, n, o, l);\n });\n });\n }\n};\nut.crispRound = function(e, t, r) {\n return !t || !ls(t) ? r || 0 : e._context.staticPlot ? t : t < 1 ? 1 : Math.round(t);\n};\nut.singleLineStyle = function(e, t, r, n, a) {\n t.style(\"fill\", \"none\");\n var i = (((e || [])[0] || {}).trace || {}).line || {}, o = r || i.width || 0, l = a || i.dash || \"\";\n Dn.stroke(t, n || i.color), ut.dashLine(t, l, o);\n};\nut.lineGroupStyle = function(e, t, r, n) {\n e.style(\"fill\", \"none\").each(function(a) {\n var i = (((a || [])[0] || {}).trace || {}).line || {}, o = t || i.width || 0, l = n || i.dash || \"\";\n mn.select(this).call(Dn.stroke, r || i.color).call(ut.dashLine, l, o);\n });\n};\nut.dashLine = function(e, t, r) {\n r = +r || 0, t = ut.dashStyle(t, r), e.style({\n \"stroke-dasharray\": t,\n \"stroke-width\": r + \"px\"\n });\n};\nut.dashStyle = function(e, t) {\n t = +t || 1;\n var r = Math.max(t, 3);\n return e === \"solid\" ? e = \"\" : e === \"dot\" ? e = r + \"px,\" + r + \"px\" : e === \"dash\" ? e = 3 * r + \"px,\" + 3 * r + \"px\" : e === \"longdash\" ? e = 5 * r + \"px,\" + 5 * r + \"px\" : e === \"dashdot\" ? e = 3 * r + \"px,\" + r + \"px,\" + r + \"px,\" + r + \"px\" : e === \"longdashdot\" && (e = 5 * r + \"px,\" + 2 * r + \"px,\" + r + \"px,\" + 2 * r + \"px\"), e;\n};\nfunction k4(e, t, r) {\n var n = t.fillpattern, a = n && ut.getPatternAttr(n.shape, 0, \"\");\n if (a) {\n var i = ut.getPatternAttr(n.bgcolor, 0, null), o = ut.getPatternAttr(n.fgcolor, 0, null), l = n.fgopacity, s = ut.getPatternAttr(n.size, 0, 8), u = ut.getPatternAttr(n.solidity, 0, 0.3), f = t.uid;\n ut.pattern(\n e,\n \"point\",\n r,\n f,\n a,\n s,\n u,\n void 0,\n n.fillmode,\n i,\n o,\n l\n );\n } else t.fillcolor && e.call(Dn.fill, t.fillcolor);\n}\nut.singleFillStyle = function(e, t) {\n var r = mn.select(e.node()), n = r.data(), a = ((n[0] || [])[0] || {}).trace || {};\n k4(e, a, t);\n};\nut.fillGroupStyle = function(e, t) {\n e.style(\"stroke-width\", 0).each(function(r) {\n var n = mn.select(this);\n r[0].trace && k4(n, r[0].trace, t);\n });\n};\nvar yT = nZ();\nut.symbolNames = [];\nut.symbolFuncs = [];\nut.symbolBackOffs = [];\nut.symbolNeedLines = {};\nut.symbolNoDot = {};\nut.symbolNoFill = {};\nut.symbolList = [];\nObject.keys(yT).forEach(function(e) {\n var t = yT[e], r = t.n;\n ut.symbolList.push(\n r,\n String(r),\n e,\n r + 100,\n String(r + 100),\n e + \"-open\"\n ), ut.symbolNames[r] = e, ut.symbolFuncs[r] = t.f, ut.symbolBackOffs[r] = t.backoff || 0, t.needLine && (ut.symbolNeedLines[r] = !0), t.noDot ? ut.symbolNoDot[r] = !0 : ut.symbolList.push(\n r + 200,\n String(r + 200),\n e + \"-dot\",\n r + 300,\n String(r + 300),\n e + \"-open-dot\"\n ), t.noFill && (ut.symbolNoFill[r] = !0);\n});\nvar dZ = ut.symbolNames.length, hZ = \"M0,0.5L0.5,0L0,-0.5L-0.5,0Z\";\nut.symbolNumber = function(e) {\n if (ls(e))\n e = +e;\n else if (typeof e == \"string\") {\n var t = 0;\n e.indexOf(\"-open\") > 0 && (t = 100, e = e.replace(\"-open\", \"\")), e.indexOf(\"-dot\") > 0 && (t += 200, e = e.replace(\"-dot\", \"\")), e = ut.symbolNames.indexOf(e), e >= 0 && (e += t);\n }\n return e % 100 >= dZ || e >= 400 ? 0 : Math.floor(Math.max(e, 0));\n};\nfunction A4(e, t, r, n) {\n var a = e % 100;\n return ut.symbolFuncs[a](t, r, n) + (e >= 200 ? hZ : \"\");\n}\nvar bT = { x1: 1, x2: 0, y1: 0, y2: 0 }, _T = { x1: 0, x2: 0, y1: 1, y2: 0 }, xT = aZ(\"~f\"), M4 = {\n radial: { node: \"radialGradient\" },\n radialreversed: { node: \"radialGradient\", reversed: !0 },\n horizontal: { node: \"linearGradient\", attrs: bT },\n horizontalreversed: { node: \"linearGradient\", attrs: bT, reversed: !0 },\n vertical: { node: \"linearGradient\", attrs: _T },\n verticalreversed: { node: \"linearGradient\", attrs: _T, reversed: !0 }\n};\nut.gradient = function(e, t, r, n, a, i) {\n for (var o = a.length, l = M4[n], s = new Array(o), u = 0; u < o; u++)\n l.reversed ? s[o - 1 - u] = [xT((1 - a[u][0]) * 100), a[u][1]] : s[u] = [xT(a[u][0] * 100), a[u][1]];\n var f = t._fullLayout, d = \"g\" + f._uid + \"-\" + r, h = f._defs.select(\".gradients\").selectAll(\"#\" + d).data([n + s.join(\";\")], Tr.identity);\n h.exit().remove(), h.enter().append(l.node).each(function() {\n var p = mn.select(this);\n l.attrs && p.attr(l.attrs), p.attr(\"id\", d);\n var v = p.selectAll(\"stop\").data(s);\n v.exit().remove(), v.enter().append(\"stop\"), v.each(function(m) {\n var g = py(m[1]);\n mn.select(this).attr({\n offset: m[0] + \"%\",\n \"stop-color\": Dn.tinyRGB(g),\n \"stop-opacity\": g.getAlpha()\n });\n });\n }), e.style(i, pb(d, t)).style(i + \"-opacity\", null), e.classed(\"gradient_filled\", !0);\n};\nut.pattern = function(e, t, r, n, a, i, o, l, s, u, f, d) {\n var h = t === \"legend\";\n l && (s === \"overlay\" ? (u = l, f = Dn.contrast(u)) : (u = void 0, f = l));\n var p = r._fullLayout, v = \"p\" + p._uid + \"-\" + n, m, g, y = function(O, G, K, V, z) {\n return V + (z - V) * (O - G) / (K - G);\n }, w, k, x, _, T = {}, S = py(f), M = Dn.tinyRGB(S), L = S.getAlpha(), F = d * L;\n switch (a) {\n case \"/\":\n m = i * Math.sqrt(2), g = i * Math.sqrt(2), w = \"M-\" + m / 4 + \",\" + g / 4 + \"l\" + m / 2 + \",-\" + g / 2 + \"M0,\" + g + \"L\" + m + \",0M\" + m / 4 * 3 + \",\" + g / 4 * 5 + \"l\" + m / 2 + \",-\" + g / 2, k = o * i, _ = \"path\", T = {\n d: w,\n opacity: F,\n stroke: M,\n \"stroke-width\": k + \"px\"\n };\n break;\n case \"\\\\\":\n m = i * Math.sqrt(2), g = i * Math.sqrt(2), w = \"M\" + m / 4 * 3 + \",-\" + g / 4 + \"l\" + m / 2 + \",\" + g / 2 + \"M0,0L\" + m + \",\" + g + \"M-\" + m / 4 + \",\" + g / 4 * 3 + \"l\" + m / 2 + \",\" + g / 2, k = o * i, _ = \"path\", T = {\n d: w,\n opacity: F,\n stroke: M,\n \"stroke-width\": k + \"px\"\n };\n break;\n case \"x\":\n m = i * Math.sqrt(2), g = i * Math.sqrt(2), w = \"M-\" + m / 4 + \",\" + g / 4 + \"l\" + m / 2 + \",-\" + g / 2 + \"M0,\" + g + \"L\" + m + \",0M\" + m / 4 * 3 + \",\" + g / 4 * 5 + \"l\" + m / 2 + \",-\" + g / 2 + \"M\" + m / 4 * 3 + \",-\" + g / 4 + \"l\" + m / 2 + \",\" + g / 2 + \"M0,0L\" + m + \",\" + g + \"M-\" + m / 4 + \",\" + g / 4 * 3 + \"l\" + m / 2 + \",\" + g / 2, k = i - i * Math.sqrt(1 - o), _ = \"path\", T = {\n d: w,\n opacity: F,\n stroke: M,\n \"stroke-width\": k + \"px\"\n };\n break;\n case \"|\":\n m = i, g = i, _ = \"path\", w = \"M\" + m / 2 + \",0L\" + m / 2 + \",\" + g, k = o * i, _ = \"path\", T = {\n d: w,\n opacity: F,\n stroke: M,\n \"stroke-width\": k + \"px\"\n };\n break;\n case \"-\":\n m = i, g = i, _ = \"path\", w = \"M0,\" + g / 2 + \"L\" + m + \",\" + g / 2, k = o * i, _ = \"path\", T = {\n d: w,\n opacity: F,\n stroke: M,\n \"stroke-width\": k + \"px\"\n };\n break;\n case \"+\":\n m = i, g = i, _ = \"path\", w = \"M\" + m / 2 + \",0L\" + m / 2 + \",\" + g + \"M0,\" + g / 2 + \"L\" + m + \",\" + g / 2, k = i - i * Math.sqrt(1 - o), _ = \"path\", T = {\n d: w,\n opacity: F,\n stroke: M,\n \"stroke-width\": k + \"px\"\n };\n break;\n case \".\":\n m = i, g = i, o < Math.PI / 4 ? x = Math.sqrt(o * i * i / Math.PI) : x = y(o, Math.PI / 4, 1, i / 2, i / Math.sqrt(2)), _ = \"circle\", T = {\n cx: m / 2,\n cy: g / 2,\n r: x,\n opacity: F,\n fill: M\n };\n break;\n }\n var $ = [\n a || \"noSh\",\n u || \"noBg\",\n f || \"noFg\",\n i,\n o\n ].join(\";\"), I = p._defs.select(\".patterns\").selectAll(\"#\" + v).data([$], Tr.identity);\n I.exit().remove(), I.enter().append(\"pattern\").each(function() {\n var O = mn.select(this);\n if (O.attr({\n id: v,\n width: m + \"px\",\n height: g + \"px\",\n patternUnits: \"userSpaceOnUse\",\n // for legends scale down patterns just a bit so that default size (i.e 8) nicely fit in small icons\n patternTransform: h ? \"scale(0.8)\" : \"\"\n }), u) {\n var G = py(u), K = Dn.tinyRGB(G), V = G.getAlpha(), z = O.selectAll(\"rect\").data([0]);\n z.exit().remove(), z.enter().append(\"rect\").attr({\n width: m + \"px\",\n height: g + \"px\",\n fill: K,\n \"fill-opacity\": V\n });\n }\n var P = O.selectAll(_).data([0]);\n P.exit().remove(), P.enter().append(_).attr(T);\n }), e.style(\"fill\", pb(v, r)).style(\"fill-opacity\", null), e.classed(\"pattern_filled\", !0);\n};\nut.initGradients = function(e) {\n var t = e._fullLayout, r = Tr.ensureSingle(t._defs, \"g\", \"gradients\");\n r.selectAll(\"linearGradient,radialGradient\").remove(), mn.select(e).selectAll(\".gradient_filled\").classed(\"gradient_filled\", !1);\n};\nut.initPatterns = function(e) {\n var t = e._fullLayout, r = Tr.ensureSingle(t._defs, \"g\", \"patterns\");\n r.selectAll(\"pattern\").remove(), mn.select(e).selectAll(\".pattern_filled\").classed(\"pattern_filled\", !1);\n};\nut.getPatternAttr = function(e, t, r) {\n return e && Tr.isArrayOrTypedArray(e) ? t < e.length ? e[t] : r : e;\n};\nut.pointStyle = function(e, t, r, n) {\n if (e.size()) {\n var a = ut.makePointStyleFns(t);\n e.each(function(i) {\n ut.singlePointStyle(i, mn.select(this), t, a, r, n);\n });\n }\n};\nut.singlePointStyle = function(e, t, r, n, a, i) {\n var o = r.marker, l = o.line;\n if (i && i.i >= 0 && e.i === void 0 && (e.i = i.i), t.style(\n \"opacity\",\n n.selectedOpacityFn ? n.selectedOpacityFn(e) : e.mo === void 0 ? o.opacity : e.mo\n ), n.ms2mrc) {\n var s;\n e.ms === \"various\" || o.size === \"various\" ? s = 3 : s = n.ms2mrc(e.ms), e.mrc = s, n.selectedSizeFn && (s = e.mrc = n.selectedSizeFn(e));\n var u = ut.symbolNumber(e.mx || o.symbol) || 0;\n e.om = u % 200 >= 100;\n var f = gb(e, r), d = mb(e, r);\n t.attr(\"d\", A4(u, s, f, d));\n }\n var h = !1, p, v, m;\n if (e.so)\n m = l.outlierwidth, v = l.outliercolor, p = o.outliercolor;\n else {\n var g = (l || {}).width;\n m = (e.mlw + 1 || g + 1 || // TODO: we need the latter for legends... can we get rid of it?\n (e.trace ? (e.trace.marker.line || {}).width : 0) + 1) - 1 || 0, \"mlc\" in e ? v = e.mlcc = n.lineScale(e.mlc) : Tr.isArrayOrTypedArray(l.color) ? v = Dn.defaultLine : v = l.color, Tr.isArrayOrTypedArray(o.color) && (p = Dn.defaultLine, h = !0), \"mc\" in e ? p = e.mcc = n.markerScale(e.mc) : p = o.color || o.colors || \"rgba(0,0,0,0)\", n.selectedColorFn && (p = n.selectedColorFn(e));\n }\n if (e.om)\n t.call(Dn.stroke, p).style({\n \"stroke-width\": (m || 1) + \"px\",\n fill: \"none\"\n });\n else {\n t.style(\"stroke-width\", (e.isBlank ? 0 : m) + \"px\");\n var y = o.gradient, w = e.mgt;\n w ? h = !0 : w = y && y.type, Tr.isArrayOrTypedArray(w) && (w = w[0], M4[w] || (w = 0));\n var k = o.pattern, x = k && ut.getPatternAttr(k.shape, e.i, \"\");\n if (w && w !== \"none\") {\n var _ = e.mgc;\n _ ? h = !0 : _ = y.color;\n var T = r.uid;\n h && (T += \"-\" + e.i), ut.gradient(\n t,\n a,\n T,\n w,\n [[0, _], [1, p]],\n \"fill\"\n );\n } else if (x) {\n var S = !1, M = k.fgcolor;\n !M && i && i.color && (M = i.color, S = !0);\n var L = ut.getPatternAttr(M, e.i, i && i.color || null), F = ut.getPatternAttr(k.bgcolor, e.i, null), $ = k.fgopacity, I = ut.getPatternAttr(k.size, e.i, 8), O = ut.getPatternAttr(k.solidity, e.i, 0.3);\n S = S || e.mcc || Tr.isArrayOrTypedArray(k.shape) || Tr.isArrayOrTypedArray(k.bgcolor) || Tr.isArrayOrTypedArray(k.fgcolor) || Tr.isArrayOrTypedArray(k.size) || Tr.isArrayOrTypedArray(k.solidity);\n var G = r.uid;\n S && (G += \"-\" + e.i), ut.pattern(\n t,\n \"point\",\n a,\n G,\n x,\n I,\n O,\n e.mcc,\n k.fillmode,\n F,\n L,\n $\n );\n } else\n Tr.isArrayOrTypedArray(p) ? Dn.fill(t, p[e.i]) : Dn.fill(t, p);\n m && Dn.stroke(t, v);\n }\n};\nut.makePointStyleFns = function(e) {\n var t = {}, r = e.marker;\n return t.markerScale = ut.tryColorscale(r, \"\"), t.lineScale = ut.tryColorscale(r, \"line\"), Sp.traceIs(e, \"symbols\") && (t.ms2mrc = uZ.isBubble(e) ? fZ(e) : function() {\n return (r.size || 6) / 2;\n }), e.selectedpoints && Tr.extendFlat(t, ut.makeSelectedPointStyleFns(e)), t;\n};\nut.makeSelectedPointStyleFns = function(e) {\n var t = {}, r = e.selected || {}, n = e.unselected || {}, a = e.marker || {}, i = r.marker || {}, o = n.marker || {}, l = a.opacity, s = i.opacity, u = o.opacity, f = s !== void 0, d = u !== void 0;\n (Tr.isArrayOrTypedArray(l) || f || d) && (t.selectedOpacityFn = function(x) {\n var _ = x.mo === void 0 ? a.opacity : x.mo;\n return x.selected ? f ? s : _ : d ? u : T4 * _;\n });\n var h = a.color, p = i.color, v = o.color;\n (p || v) && (t.selectedColorFn = function(x) {\n var _ = x.mcc || h;\n return x.selected ? p || _ : v || _;\n });\n var m = a.size, g = i.size, y = o.size, w = g !== void 0, k = y !== void 0;\n return Sp.traceIs(e, \"symbols\") && (w || k) && (t.selectedSizeFn = function(x) {\n var _ = x.mrc || m / 2;\n return x.selected ? w ? g / 2 : _ : k ? y / 2 : _;\n }), t;\n};\nut.makeSelectedTextStyleFns = function(e) {\n var t = {}, r = e.selected || {}, n = e.unselected || {}, a = e.textfont || {}, i = r.textfont || {}, o = n.textfont || {}, l = a.color, s = i.color, u = o.color;\n return t.selectedTextColorFn = function(f) {\n var d = f.tc || l;\n return f.selected ? s || d : u || (s ? d : Dn.addOpacity(d, T4));\n }, t;\n};\nut.selectedPointStyle = function(e, t) {\n if (!(!e.size() || !t.selectedpoints)) {\n var r = ut.makeSelectedPointStyleFns(t), n = t.marker || {}, a = [];\n r.selectedOpacityFn && a.push(function(i, o) {\n i.style(\"opacity\", r.selectedOpacityFn(o));\n }), r.selectedColorFn && a.push(function(i, o) {\n Dn.fill(i, r.selectedColorFn(o));\n }), r.selectedSizeFn && a.push(function(i, o) {\n var l = o.mx || n.symbol || 0, s = r.selectedSizeFn(o);\n i.attr(\"d\", A4(ut.symbolNumber(l), s, gb(o, t), mb(o, t))), o.mrc2 = s;\n }), a.length && e.each(function(i) {\n for (var o = mn.select(this), l = 0; l < a.length; l++)\n a[l](o, i);\n });\n }\n};\nut.tryColorscale = function(e, t) {\n var r = t ? Tr.nestedProperty(e, t).get() : e;\n if (r) {\n var n = r.color;\n if ((r.colorscale || r._colorAx) && Tr.isArrayOrTypedArray(n))\n return iZ.makeColorScaleFuncFromTrace(r);\n }\n return Tr.identity;\n};\nvar lg = {\n start: 1,\n end: -1,\n middle: 0,\n bottom: 1,\n top: -1\n};\nfunction S4(e, t, r, n, a) {\n var i = mn.select(e.node().parentNode), o = t.indexOf(\"top\") !== -1 ? \"top\" : t.indexOf(\"bottom\") !== -1 ? \"bottom\" : \"middle\", l = t.indexOf(\"left\") !== -1 ? \"end\" : t.indexOf(\"right\") !== -1 ? \"start\" : \"middle\", s = n ? n / 0.8 + 1 : 0, u = (vb.lineCount(e) - 1) * sZ + 1, f = lg[l] * s, d = r * 0.75 + lg[o] * s + (lg[o] - 1) * u * r / 2;\n e.attr(\"text-anchor\", l), a || i.attr(\"transform\", wc(f, d));\n}\nfunction C4(e, t) {\n var r = e.ts || t.textfont.size;\n return ls(r) && r > 0 ? r : 0;\n}\nut.textPointStyle = function(e, t, r) {\n if (e.size()) {\n var n;\n if (t.selectedpoints) {\n var a = ut.makeSelectedTextStyleFns(t);\n n = a.selectedTextColorFn;\n }\n var i = t.texttemplate, o = r._fullLayout;\n e.each(function(l) {\n var s = mn.select(this), u = i ? Tr.extractOption(l, t, \"txt\", \"texttemplate\") : Tr.extractOption(l, t, \"tx\", \"text\");\n if (!u && u !== 0) {\n s.remove();\n return;\n }\n if (i) {\n var f = t._module.formatLabels, d = f ? f(l, t, o) : {}, h = {};\n cZ(h, t, l.i);\n var p = t._meta || {};\n u = Tr.texttemplateString(u, d, o._d3locale, h, l, p);\n }\n var v = l.tp || t.textposition, m = C4(l, t), g = n ? n(l) : l.tc || t.textfont.color;\n s.call(\n ut.font,\n l.tf || t.textfont.family,\n m,\n g\n ).text(u).call(vb.convertToTspans, r).call(S4, v, m, l.mrc);\n });\n }\n};\nut.selectedTextStyle = function(e, t) {\n if (!(!e.size() || !t.selectedpoints)) {\n var r = ut.makeSelectedTextStyleFns(t);\n e.each(function(n) {\n var a = mn.select(this), i = r.selectedTextColorFn(n), o = n.tp || t.textposition, l = C4(n, t);\n Dn.fill(a, i);\n var s = Sp.traceIs(t, \"bar-like\");\n S4(a, o, l, n.mrc2 || n.mrc, s);\n });\n }\n};\nvar wT = 0.5;\nut.smoothopen = function(e, t) {\n if (e.length < 3)\n return \"M\" + e.join(\"L\");\n var r = \"M\" + e[0], n = [], a;\n for (a = 1; a < e.length - 1; a++)\n n.push(zh(e[a - 1], e[a], e[a + 1], t));\n for (r += \"Q\" + n[0][0] + \" \" + e[1], a = 2; a < e.length - 1; a++)\n r += \"C\" + n[a - 2][1] + \" \" + n[a - 1][0] + \" \" + e[a];\n return r += \"Q\" + n[e.length - 3][1] + \" \" + e[e.length - 1], r;\n};\nut.smoothclosed = function(e, t) {\n if (e.length < 3)\n return \"M\" + e.join(\"L\") + \"Z\";\n var r = \"M\" + e[0], n = e.length - 1, a = [zh(e[n], e[0], e[1], t)], i;\n for (i = 1; i < n; i++)\n a.push(zh(e[i - 1], e[i], e[i + 1], t));\n for (a.push(\n zh(e[n - 1], e[n], e[0], t)\n ), i = 1; i <= n; i++)\n r += \"C\" + a[i - 1][1] + \" \" + a[i][0] + \" \" + e[i];\n return r += \"C\" + a[n][1] + \" \" + a[0][0] + \" \" + e[0] + \"Z\", r;\n};\nvar L4, D4;\nfunction fu(e, t, r) {\n return r && (e = E4(e)), t ? Yl(e[1]) : Zl(e[0]);\n}\nfunction Zl(e) {\n var t = mn.round(e, 2);\n return L4 = t, t;\n}\nfunction Yl(e) {\n var t = mn.round(e, 2);\n return D4 = t, t;\n}\nfunction zh(e, t, r, n) {\n var a = e[0] - t[0], i = e[1] - t[1], o = r[0] - t[0], l = r[1] - t[1], s = Math.pow(a * a + i * i, wT / 2), u = Math.pow(o * o + l * l, wT / 2), f = (u * u * a - s * s * o) * n, d = (u * u * i - s * s * l) * n, h = 3 * u * (s + u), p = 3 * s * (s + u);\n return [\n [\n Zl(t[0] + (h && f / h)),\n Yl(t[1] + (h && d / h))\n ],\n [\n Zl(t[0] - (p && f / p)),\n Yl(t[1] - (p && d / p))\n ]\n ];\n}\nvar vZ = {\n hv: function(e, t, r) {\n return \"H\" + Zl(t[0]) + \"V\" + fu(t, 1, r);\n },\n vh: function(e, t, r) {\n return \"V\" + Yl(t[1]) + \"H\" + fu(t, 0, r);\n },\n hvh: function(e, t, r) {\n return \"H\" + Zl((e[0] + t[0]) / 2) + \"V\" + Yl(t[1]) + \"H\" + fu(t, 0, r);\n },\n vhv: function(e, t, r) {\n return \"V\" + Yl((e[1] + t[1]) / 2) + \"H\" + Zl(t[0]) + \"V\" + fu(t, 1, r);\n }\n}, pZ = function(e, t, r) {\n return \"L\" + fu(t, 0, r) + \",\" + fu(t, 1, r);\n};\nut.steps = function(e) {\n var t = vZ[e] || pZ;\n return function(r) {\n for (var n = \"M\" + Zl(r[0][0]) + \",\" + Yl(r[0][1]), a = r.length, i = 1; i < a; i++)\n n += t(r[i - 1], r[i], i === a - 1);\n return n;\n };\n};\nfunction E4(e, t) {\n var r = e.backoff, n = e.trace, a = e.d, i = e.i;\n if (r && n && n.marker && n.marker.angle % 360 === 0 && n.line && n.line.shape !== \"spline\") {\n var o = Tr.isArrayOrTypedArray(r), l = e, s = t ? t[0] : L4 || 0, u = t ? t[1] : D4 || 0, f = l[0], d = l[1], h = f - s, p = d - u, v = Math.atan2(p, h), m = o ? r[i] : r;\n if (m === \"auto\") {\n var g = l.i;\n n.type === \"scatter\" && g--;\n var y = l.marker, w = y.symbol;\n Tr.isArrayOrTypedArray(w) && (w = w[g]);\n var k = y.size;\n Tr.isArrayOrTypedArray(k) && (k = k[g]), m = y ? ut.symbolBackOffs[ut.symbolNumber(w)] * k : 0, m += ut.getMarkerStandoff(a[g], n) || 0;\n }\n var x = f - m * Math.cos(v), _ = d - m * Math.sin(v);\n (x <= f && x >= s || x >= f && x <= s) && (_ <= d && _ >= u || _ >= d && _ <= u) && (e = [x, _]);\n }\n return e;\n}\nut.applyBackoff = E4;\nut.makeTester = function() {\n var e = Tr.ensureSingleById(mn.select(\"body\"), \"svg\", \"js-plotly-tester\", function(r) {\n r.attr(oZ.svgAttrs).style({\n position: \"absolute\",\n left: \"-10000px\",\n top: \"-10000px\",\n width: \"9000px\",\n height: \"9000px\",\n \"z-index\": \"1\"\n });\n }), t = Tr.ensureSingle(e, \"path\", \"js-reference-point\", function(r) {\n r.attr(\"d\", \"M0,0H1V1H0Z\").style({\n \"stroke-width\": 0,\n fill: \"black\"\n });\n });\n ut.tester = e, ut.testref = t;\n};\nut.savedBBoxes = {};\nvar sg = 0, mZ = 1e4;\nut.bBox = function(e, t, r) {\n r || (r = TT(e));\n var n;\n if (r) {\n if (n = ut.savedBBoxes[r], n) return Tr.extendFlat({}, n);\n } else if (e.childNodes.length === 1) {\n var a = e.childNodes[0];\n if (r = TT(a), r) {\n var i = +a.getAttribute(\"x\") || 0, o = +a.getAttribute(\"y\") || 0, l = a.getAttribute(\"transform\");\n if (!l) {\n var s = ut.bBox(a, !1, r);\n return i && (s.left += i, s.right += i), o && (s.top += o, s.bottom += o), s;\n }\n if (r += \"~\" + i + \"~\" + o + \"~\" + l, n = ut.savedBBoxes[r], n) return Tr.extendFlat({}, n);\n }\n }\n var u, f;\n t ? u = e : (f = ut.tester.node(), u = e.cloneNode(!0), f.appendChild(u)), mn.select(u).attr(\"transform\", null).call(vb.positionText, 0, 0);\n var d = u.getBoundingClientRect(), h = ut.testref.node().getBoundingClientRect();\n t || f.removeChild(u);\n var p = {\n height: d.height,\n width: d.width,\n left: d.left - h.left,\n top: d.top - h.top,\n right: d.right - h.left,\n bottom: d.bottom - h.top\n };\n return sg >= mZ && (ut.savedBBoxes = {}, sg = 0), r && (ut.savedBBoxes[r] = p), sg++, Tr.extendFlat({}, p);\n};\nfunction TT(e) {\n var t = e.getAttribute(\"data-unformatted\");\n if (t !== null)\n return t + e.getAttribute(\"data-math\") + e.getAttribute(\"text-anchor\") + e.getAttribute(\"style\");\n}\nut.setClipUrl = function(e, t, r) {\n e.attr(\"clip-path\", pb(t, r));\n};\nfunction pb(e, t) {\n if (!e) return null;\n var r = t._context, n = r._exportedPlot ? \"\" : r._baseUrl || \"\";\n return n ? \"url('\" + n + \"#\" + e + \"')\" : \"url(#\" + e + \")\";\n}\nut.getTranslate = function(e) {\n var t = /.*\\btranslate\\((-?\\d*\\.?\\d*)[^-\\d]*(-?\\d*\\.?\\d*)[^\\d].*/, r = e.attr ? \"attr\" : \"getAttribute\", n = e[r](\"transform\") || \"\", a = n.replace(t, function(i, o, l) {\n return [o, l].join(\" \");\n }).split(\" \");\n return {\n x: +a[0] || 0,\n y: +a[1] || 0\n };\n};\nut.setTranslate = function(e, t, r) {\n var n = /(\\btranslate\\(.*?\\);?)/, a = e.attr ? \"attr\" : \"getAttribute\", i = e.attr ? \"attr\" : \"setAttribute\", o = e[a](\"transform\") || \"\";\n return t = t || 0, r = r || 0, o = o.replace(n, \"\").trim(), o += wc(t, r), o = o.trim(), e[i](\"transform\", o), o;\n};\nut.getScale = function(e) {\n var t = /.*\\bscale\\((\\d*\\.?\\d*)[^\\d]*(\\d*\\.?\\d*)[^\\d].*/, r = e.attr ? \"attr\" : \"getAttribute\", n = e[r](\"transform\") || \"\", a = n.replace(t, function(i, o, l) {\n return [o, l].join(\" \");\n }).split(\" \");\n return {\n x: +a[0] || 1,\n y: +a[1] || 1\n };\n};\nut.setScale = function(e, t, r) {\n var n = /(\\bscale\\(.*?\\);?)/, a = e.attr ? \"attr\" : \"getAttribute\", i = e.attr ? \"attr\" : \"setAttribute\", o = e[a](\"transform\") || \"\";\n return t = t || 1, r = r || 1, o = o.replace(n, \"\").trim(), o += \"scale(\" + t + \",\" + r + \")\", o = o.trim(), e[i](\"transform\", o), o;\n};\nvar gZ = /\\s*sc.*/;\nut.setPointGroupScale = function(e, t, r) {\n if (t = t || 1, r = r || 1, !!e) {\n var n = t === 1 && r === 1 ? \"\" : \"scale(\" + t + \",\" + r + \")\";\n e.each(function() {\n var a = (this.getAttribute(\"transform\") || \"\").replace(gZ, \"\");\n a += n, a = a.trim(), this.setAttribute(\"transform\", a);\n });\n }\n};\nvar yZ = /translate\\([^)]*\\)\\s*$/;\nut.setTextPointsScale = function(e, t, r) {\n e && e.each(function() {\n var n, a = mn.select(this), i = a.select(\"text\");\n if (i.node()) {\n var o = parseFloat(i.attr(\"x\") || 0), l = parseFloat(i.attr(\"y\") || 0), s = (a.attr(\"transform\") || \"\").match(yZ);\n t === 1 && r === 1 ? n = [] : n = [\n wc(o, l),\n \"scale(\" + t + \",\" + r + \")\",\n wc(-o, -l)\n ], s && n.push(s), a.attr(\"transform\", n.join(\"\"));\n }\n });\n};\nfunction mb(e, t) {\n var r;\n return e && (r = e.mf), r === void 0 && (r = t.marker && t.marker.standoff || 0), !t._geo && !t._xA ? -r : r;\n}\nut.getMarkerStandoff = mb;\nvar Mf = Math.atan2, Il = Math.cos, cu = Math.sin;\nfunction kT(e, t) {\n var r = t[0], n = t[1];\n return [\n r * Il(e) - n * cu(e),\n r * cu(e) + n * Il(e)\n ];\n}\nvar AT, MT, ST, CT, ug, fg;\nfunction gb(e, t) {\n var r = e.ma;\n r === void 0 && (r = t.marker.angle, (!r || Tr.isArrayOrTypedArray(r)) && (r = 0));\n var n, a, i = t.marker.angleref;\n if (i === \"previous\" || i === \"north\") {\n if (t._geo) {\n var o = t._geo.project(e.lonlat);\n n = o[0], a = o[1];\n } else {\n var l = t._xA, s = t._yA;\n if (l && s)\n n = l.c2p(e.x), a = s.c2p(e.y);\n else\n return 90;\n }\n if (t._geo) {\n var u = e.lonlat[0], f = e.lonlat[1], d = t._geo.project([\n u,\n f + 1e-5\n // epsilon\n ]), h = t._geo.project([\n u + 1e-5,\n // epsilon\n f\n ]), p = Mf(\n h[1] - a,\n h[0] - n\n ), v = Mf(\n d[1] - a,\n d[0] - n\n ), m;\n if (i === \"north\")\n m = r / 180 * Math.PI;\n else if (i === \"previous\") {\n var g = u / 180 * Math.PI, y = f / 180 * Math.PI, w = AT / 180 * Math.PI, k = MT / 180 * Math.PI, x = w - g, _ = Il(k) * cu(x), T = cu(k) * Il(y) - Il(k) * cu(y) * Il(x);\n m = -Mf(\n _,\n T\n ) - Math.PI, AT = u, MT = f;\n }\n var S = kT(p, [Il(m), 0]), M = kT(v, [cu(m), 0]);\n r = Mf(\n S[1] + M[1],\n S[0] + M[0]\n ) / Math.PI * 180, i === \"previous\" && !(fg === t.uid && e.i === ug + 1) && (r = null);\n }\n if (i === \"previous\" && !t._geo)\n if (fg === t.uid && e.i === ug + 1 && ls(n) && ls(a)) {\n var L = n - ST, F = a - CT, $ = t.line && t.line.shape || \"\", I = $.slice($.length - 1);\n I === \"h\" && (F = 0), I === \"v\" && (L = 0), r += Mf(F, L) / Math.PI * 180 + 90;\n } else\n r = null;\n }\n return ST = n, CT = a, ug = e.i, fg = t.uid, r;\n}\nut.getMarkerAngle = gb;\nvar Sr = n4.exports, Vd = lr, bZ = sr, LT = Tn, DT = Nt, nu = Ue, ET = nu.strTranslate, FT = Sr, RT = nr, cg = Rn, PT = q1, _Z = On.OPPOSITE_SIDE, $T = / [XY][0-9]* /;\nfunction xZ(e, t, r) {\n var n = r.propContainer, a = r.propName, i = r.placeholder, o = r.traceIndex, l = r.avoid || {}, s = r.attributes, u = r.transform, f = r.containerGroup, d = e._fullLayout, h = 1, p = !1, v = n.title, m = (v && v.text ? v.text : \"\").trim(), g = v && v.font ? v.font : {}, y = g.family, w = g.size, k = g.color, x;\n a === \"title.text\" ? x = \"titleText\" : a.indexOf(\"axis\") !== -1 ? x = \"axisTitleText\" : a.indexOf(\"colorbar\" !== -1) && (x = \"colorbarTitleText\");\n var _ = e._context.edits[x];\n m === \"\" ? h = 0 : m.replace($T, \" % \") === i.replace($T, \" % \") && (h = 0.2, p = !0, _ || (m = \"\")), r._meta ? m = nu.templateString(m, r._meta) : d._meta && (m = nu.templateString(m, d._meta));\n var T = m || _, S;\n f || (f = nu.ensureSingle(d._infolayer, \"g\", \"g-\" + t), S = d._hColorbarMoveTitle);\n var M = f.selectAll(\"text\").data(T ? [0] : []);\n if (M.enter().append(\"text\"), M.text(m).attr(\"class\", t), M.exit().remove(), !T) return f;\n function L(O) {\n nu.syncOrAsync([F, $], O);\n }\n function F(O) {\n var G;\n return !u && S && (u = {}), u ? (G = \"\", u.rotate && (G += \"rotate(\" + [u.rotate, s.x, s.y] + \")\"), (u.offset || S) && (G += ET(0, (u.offset || 0) - (S || 0)))) : G = null, O.attr(\"transform\", G), O.style({\n \"font-family\": y,\n \"font-size\": Vd.round(w, 2) + \"px\",\n fill: RT.rgb(k),\n opacity: h * RT.opacity(k),\n \"font-weight\": LT.fontWeight\n }).attr(s).call(cg.convertToTspans, e), LT.previousPromises(e);\n }\n function $(O) {\n var G = Vd.select(O.node().parentNode);\n if (l && l.selection && l.side && m) {\n G.attr(\"transform\", null);\n var K = _Z[l.side], V = l.side === \"left\" || l.side === \"top\" ? -1 : 1, z = bZ(l.pad) ? l.pad : 2, P = FT.bBox(G.node()), R = { t: 0, b: 0, l: 0, r: 0 }, H = e._fullLayout._reservedMargin;\n for (var B in H)\n for (var W in H[B]) {\n var ee = H[B][W];\n R[W] = Math.max(R[W], ee);\n }\n var re = {\n left: R.l,\n top: R.t,\n right: d.width - R.r,\n bottom: d.height - R.b\n }, ae = l.maxShift || V * (re[l.side] - P[l.side]), Q = 0;\n if (ae < 0)\n Q = ae;\n else {\n var ue = l.offsetLeft || 0, j = l.offsetTop || 0;\n P.left -= ue, P.right -= ue, P.top -= j, P.bottom -= j, l.selection.each(function() {\n var Z = FT.bBox(this);\n nu.bBoxIntersect(P, Z, z) && (Q = Math.max(Q, V * (Z[l.side] - P[K]) + z));\n }), Q = Math.min(ae, Q), n._titleScoot = Math.abs(Q);\n }\n if (Q > 0 || ae < 0) {\n var U = {\n left: [-Q, 0],\n right: [Q, 0],\n top: [0, -Q],\n bottom: [0, Q]\n }[l.side];\n G.attr(\"transform\", ET(U[0], U[1]));\n }\n }\n }\n M.call(L);\n function I() {\n h = 0, p = !0, M.text(i).on(\"mouseover.opacity\", function() {\n Vd.select(this).transition().duration(PT.SHOW_PLACEHOLDER).style(\"opacity\", 1);\n }).on(\"mouseout.opacity\", function() {\n Vd.select(this).transition().duration(PT.HIDE_PLACEHOLDER).style(\"opacity\", 0);\n });\n }\n return _ && (m ? M.on(\".opacity\", null) : I(), M.call(cg.makeEditable, { gd: e }).on(\"edit\", function(O) {\n o !== void 0 ? DT.call(\"_guiRestyle\", e, a, O, o) : DT.call(\"_guiRelayout\", e, a, O);\n }).on(\"cancel\", function() {\n this.text(this.attr(\"data-unformatted\")).call(L);\n }).on(\"input\", function(O) {\n this.text(O || \" \").call(cg.positionText, s.x, s.y);\n })), M.classed(\"js-placeholder\", p), f;\n}\nvar Cp = {\n draw: xZ\n}, wZ = lr, TZ = _c.utcFormat, Dr = Ue, kZ = Dr.numberFormat, Mi = sr, No = Dr.cleanNumber, AZ = Dr.ms2DateTime, zT = Dr.dateTime2ms, Si = Dr.ensureNumber, IT = Dr.isArrayOrTypedArray, bl = Qr, qd = bl.FP_SAFE, ti = bl.BADNUM, MZ = bl.LOG_CLIP, SZ = bl.ONEWEEK, Wd = bl.ONEDAY, Zd = bl.ONEHOUR, NT = bl.ONEMIN, OT = bl.ONESEC, Yd = gn, fv = Yn, Xd = fv.HOUR_PATTERN, Kd = fv.WEEKDAY_PATTERN;\nfunction Sf(e) {\n return Math.pow(10, e);\n}\nfunction dg(e) {\n return e != null;\n}\nvar yb = function(t, r) {\n r = r || {};\n var n = t._id || \"x\", a = n.charAt(0);\n function i(x, _) {\n if (x > 0) return Math.log(x) / Math.LN10;\n if (x <= 0 && _ && t.range && t.range.length === 2) {\n var T = t.range[0], S = t.range[1];\n return 0.5 * (T + S - 2 * MZ * Math.abs(T - S));\n } else return ti;\n }\n function o(x, _, T, S) {\n if ((S || {}).msUTC && Mi(x))\n return +x;\n var M = zT(x, T || t.calendar);\n if (M === ti)\n if (Mi(x)) {\n x = +x;\n var L = Math.floor(Dr.mod(x + 0.05, 1) * 10), F = Math.round(x - L / 10);\n M = zT(new Date(F)) + L / 10;\n } else return ti;\n return M;\n }\n function l(x, _, T) {\n return AZ(x, _, T || t.calendar);\n }\n function s(x) {\n return t._categories[Math.round(x)];\n }\n function u(x) {\n if (dg(x)) {\n if (t._categoriesMap === void 0 && (t._categoriesMap = {}), t._categoriesMap[x] !== void 0)\n return t._categoriesMap[x];\n t._categories.push(typeof x == \"number\" ? String(x) : x);\n var _ = t._categories.length - 1;\n return t._categoriesMap[x] = _, _;\n }\n return ti;\n }\n function f(x, _) {\n for (var T = new Array(_), S = 0; S < _; S++) {\n var M = (x[0] || [])[S], L = (x[1] || [])[S];\n T[S] = d([M, L]);\n }\n return T;\n }\n function d(x) {\n if (t._categoriesMap)\n return t._categoriesMap[x];\n }\n function h(x) {\n var _ = d(x);\n if (_ !== void 0) return _;\n if (Mi(x)) return +x;\n }\n function p(x) {\n return Mi(x) ? +x : d(x);\n }\n function v(x, _, T) {\n return wZ.round(T + _ * x, 2);\n }\n function m(x, _, T) {\n return (x - T) / _;\n }\n var g = function(_) {\n return Mi(_) ? v(_, t._m, t._b) : ti;\n }, y = function(x) {\n return m(x, t._m, t._b);\n };\n if (t.rangebreaks) {\n var w = a === \"y\";\n g = function(x) {\n if (!Mi(x)) return ti;\n var _ = t._rangebreaks.length;\n if (!_) return v(x, t._m, t._b);\n var T = w;\n t.range[0] > t.range[1] && (T = !T);\n for (var S = T ? -1 : 1, M = S * x, L = 0, F = 0; F < _; F++) {\n var $ = S * t._rangebreaks[F].min, I = S * t._rangebreaks[F].max;\n if (M < $) break;\n if (M > I) L = F + 1;\n else {\n L = M < ($ + I) / 2 ? F : F + 1;\n break;\n }\n }\n var O = t._B[L] || 0;\n return isFinite(O) ? v(x, t._m2, O) : 0;\n }, y = function(x) {\n var _ = t._rangebreaks.length;\n if (!_) return m(x, t._m, t._b);\n for (var T = 0, S = 0; S < _ && !(x < t._rangebreaks[S].pmin); S++)\n x > t._rangebreaks[S].pmax && (T = S + 1);\n return m(x, t._m2, t._B[T]);\n };\n }\n t.c2l = t.type === \"log\" ? i : Si, t.l2c = t.type === \"log\" ? Sf : Si, t.l2p = g, t.p2l = y, t.c2p = t.type === \"log\" ? function(x, _) {\n return g(i(x, _));\n } : g, t.p2c = t.type === \"log\" ? function(x) {\n return Sf(y(x));\n } : y, [\"linear\", \"-\"].indexOf(t.type) !== -1 ? (t.d2r = t.r2d = t.d2c = t.r2c = t.d2l = t.r2l = No, t.c2d = t.c2r = t.l2d = t.l2r = Si, t.d2p = t.r2p = function(x) {\n return t.l2p(No(x));\n }, t.p2d = t.p2r = y, t.cleanPos = Si) : t.type === \"log\" ? (t.d2r = t.d2l = function(x, _) {\n return i(No(x), _);\n }, t.r2d = t.r2c = function(x) {\n return Sf(No(x));\n }, t.d2c = t.r2l = No, t.c2d = t.l2r = Si, t.c2r = i, t.l2d = Sf, t.d2p = function(x, _) {\n return t.l2p(t.d2r(x, _));\n }, t.p2d = function(x) {\n return Sf(y(x));\n }, t.r2p = function(x) {\n return t.l2p(No(x));\n }, t.p2r = y, t.cleanPos = Si) : t.type === \"date\" ? (t.d2r = t.r2d = Dr.identity, t.d2c = t.r2c = t.d2l = t.r2l = o, t.c2d = t.c2r = t.l2d = t.l2r = l, t.d2p = t.r2p = function(x, _, T) {\n return t.l2p(o(x, 0, T));\n }, t.p2d = t.p2r = function(x, _, T) {\n return l(y(x), _, T);\n }, t.cleanPos = function(x) {\n return Dr.cleanDate(x, ti, t.calendar);\n }) : t.type === \"category\" ? (t.d2c = t.d2l = u, t.r2d = t.c2d = t.l2d = s, t.d2r = t.d2l_noadd = h, t.r2c = function(x) {\n var _ = p(x);\n return _ !== void 0 ? _ : t.fraction2r(0.5);\n }, t.l2r = t.c2r = Si, t.r2l = p, t.d2p = function(x) {\n return t.l2p(t.r2c(x));\n }, t.p2d = function(x) {\n return s(y(x));\n }, t.r2p = t.d2p, t.p2r = y, t.cleanPos = function(x) {\n return typeof x == \"string\" && x !== \"\" ? x : Si(x);\n }) : t.type === \"multicategory\" && (t.r2d = t.c2d = t.l2d = s, t.d2r = t.d2l_noadd = h, t.r2c = function(x) {\n var _ = h(x);\n return _ !== void 0 ? _ : t.fraction2r(0.5);\n }, t.r2c_just_indices = d, t.l2r = t.c2r = Si, t.r2l = h, t.d2p = function(x) {\n return t.l2p(t.r2c(x));\n }, t.p2d = function(x) {\n return s(y(x));\n }, t.r2p = t.d2p, t.p2r = y, t.cleanPos = function(x) {\n return Array.isArray(x) || typeof x == \"string\" && x !== \"\" ? x : Si(x);\n }, t.setupMultiCategory = function(x) {\n var _ = t._traceIndices, T, S, M = t._matchGroup;\n if (M && t._categories.length === 0) {\n for (var L in M)\n if (L !== n) {\n var F = r[Yd.id2name(L)];\n _ = _.concat(F._traceIndices);\n }\n }\n var $ = [[0, {}], [0, {}]], I = [];\n for (T = 0; T < _.length; T++) {\n var O = x[_[T]];\n if (a in O) {\n var G = O[a], K = O._length || Dr.minRowLength(G);\n if (IT(G[0]) && IT(G[1]))\n for (S = 0; S < K; S++) {\n var V = G[0][S], z = G[1][S];\n dg(V) && dg(z) && (I.push([V, z]), V in $[0][1] || ($[0][1][V] = $[0][0]++), z in $[1][1] || ($[1][1][z] = $[1][0]++));\n }\n }\n }\n for (I.sort(function(P, R) {\n var H = $[0][1], B = H[P[0]] - H[R[0]];\n if (B) return B;\n var W = $[1][1];\n return W[P[1]] - W[R[1]];\n }), T = 0; T < I.length; T++)\n u(I[T]);\n }), t.fraction2r = function(x) {\n var _ = t.r2l(t.range[0]), T = t.r2l(t.range[1]);\n return t.l2r(_ + x * (T - _));\n }, t.r2fraction = function(x) {\n var _ = t.r2l(t.range[0]), T = t.r2l(t.range[1]);\n return (t.r2l(x) - _) / (T - _);\n }, t.limitRange = function(x) {\n var _ = t.minallowed, T = t.maxallowed;\n if (!(_ === void 0 && T === void 0)) {\n x || (x = \"range\");\n var S = Dr.nestedProperty(t, x).get(), M = Dr.simpleMap(S, t.r2l), L = M[1] < M[0];\n L && M.reverse();\n var F = Dr.simpleMap([_, T], t.r2l);\n if (_ !== void 0 && M[0] < F[0] && (S[L ? 1 : 0] = _), T !== void 0 && M[1] > F[1] && (S[L ? 0 : 1] = T), S[0] === S[1]) {\n var $ = t.l2r(_), I = t.l2r(T);\n if (_ !== void 0) {\n var O = $ + 1;\n T !== void 0 && (O = Math.min(O, I)), S[L ? 1 : 0] = O;\n }\n if (T !== void 0) {\n var G = I + 1;\n _ !== void 0 && (G = Math.max(G, $)), S[L ? 0 : 1] = G;\n }\n }\n }\n }, t.cleanRange = function(x, _) {\n t._cleanRange(x, _), t.limitRange(x);\n }, t._cleanRange = function(x, _) {\n _ || (_ = {}), x || (x = \"range\");\n var T = Dr.nestedProperty(t, x).get(), S, M;\n if (t.type === \"date\" ? M = Dr.dfltRange(t.calendar) : a === \"y\" ? M = fv.DFLTRANGEY : t._name === \"realaxis\" ? M = [0, 1] : M = _.dfltRange || fv.DFLTRANGEX, M = M.slice(), (t.rangemode === \"tozero\" || t.rangemode === \"nonnegative\") && (M[0] = 0), !T || T.length !== 2) {\n Dr.nestedProperty(t, x).set(M);\n return;\n }\n var L = T[0] === null, F = T[1] === null;\n for (t.type === \"date\" && !t.autorange && (T[0] = Dr.cleanDate(T[0], ti, t.calendar), T[1] = Dr.cleanDate(T[1], ti, t.calendar)), S = 0; S < 2; S++)\n if (t.type === \"date\") {\n if (!Dr.isDateTime(T[S], t.calendar)) {\n t[x] = M;\n break;\n }\n if (t.r2l(T[0]) === t.r2l(T[1])) {\n var $ = Dr.constrain(\n t.r2l(T[0]),\n Dr.MIN_MS + 1e3,\n Dr.MAX_MS - 1e3\n );\n T[0] = t.l2r($ - 1e3), T[1] = t.l2r($ + 1e3);\n break;\n }\n } else {\n if (!Mi(T[S]))\n if (!(L || F) && Mi(T[1 - S]))\n T[S] = T[1 - S] * (S ? 10 : 0.1);\n else {\n t[x] = M;\n break;\n }\n if (T[S] < -qd ? T[S] = -qd : T[S] > qd && (T[S] = qd), T[0] === T[1]) {\n var I = Math.max(1, Math.abs(T[0] * 1e-6));\n T[0] -= I, T[1] += I;\n }\n }\n }, t.setScale = function(x) {\n var _ = r._size;\n if (t.overlaying) {\n var T = Yd.getFromId({ _fullLayout: r }, t.overlaying);\n t.domain = T.domain;\n }\n var S = x && t._r ? \"_r\" : \"range\", M = t.calendar;\n t.cleanRange(S);\n var L = t.r2l(t[S][0], M), F = t.r2l(t[S][1], M), $ = a === \"y\";\n if ($ ? (t._offset = _.t + (1 - t.domain[1]) * _.h, t._length = _.h * (t.domain[1] - t.domain[0]), t._m = t._length / (L - F), t._b = -t._m * F) : (t._offset = _.l + t.domain[0] * _.w, t._length = _.w * (t.domain[1] - t.domain[0]), t._m = t._length / (F - L), t._b = -t._m * L), t._rangebreaks = [], t._lBreaks = 0, t._m2 = 0, t._B = [], t.rangebreaks) {\n var I, O;\n if (t._rangebreaks = t.locateBreaks(\n Math.min(L, F),\n Math.max(L, F)\n ), t._rangebreaks.length) {\n for (I = 0; I < t._rangebreaks.length; I++)\n O = t._rangebreaks[I], t._lBreaks += Math.abs(O.max - O.min);\n var G = $;\n L > F && (G = !G), G && t._rangebreaks.reverse();\n var K = G ? -1 : 1;\n for (t._m2 = K * t._length / (Math.abs(F - L) - t._lBreaks), t._B.push(-t._m2 * ($ ? F : L)), I = 0; I < t._rangebreaks.length; I++)\n O = t._rangebreaks[I], t._B.push(\n t._B[t._B.length - 1] - K * t._m2 * (O.max - O.min)\n );\n for (I = 0; I < t._rangebreaks.length; I++)\n O = t._rangebreaks[I], O.pmin = g(O.min), O.pmax = g(O.max);\n }\n }\n if (!isFinite(t._m) || !isFinite(t._b) || t._length < 0)\n throw r._replotting = !1, new Error(\"Something went wrong with axis scaling\");\n }, t.maskBreaks = function(x) {\n var _ = t.rangebreaks || [], T, S, M, L, F;\n _._cachedPatterns || (_._cachedPatterns = _.map(function(H) {\n return H.enabled && H.bounds ? Dr.simpleMap(\n H.bounds,\n H.pattern ? No : t.d2c\n // case of pattern: ''\n ) : null;\n })), _._cachedValues || (_._cachedValues = _.map(function(H) {\n return H.enabled && H.values ? Dr.simpleMap(H.values, t.d2c).sort(Dr.sorterAsc) : null;\n }));\n for (var $ = 0; $ < _.length; $++) {\n var I = _[$];\n if (I.enabled) {\n if (I.bounds) {\n var O = I.pattern;\n switch (T = _._cachedPatterns[$], S = T[0], M = T[1], O) {\n case Kd:\n F = new Date(x), L = F.getUTCDay(), S > M && (M += 7, L < S && (L += 7));\n break;\n case Xd:\n F = new Date(x);\n var G = F.getUTCHours(), K = F.getUTCMinutes(), V = F.getUTCSeconds(), z = F.getUTCMilliseconds();\n L = G + (K / 60 + V / 3600 + z / 36e5), S > M && (M += 24, L < S && (L += 24));\n break;\n case \"\":\n L = x;\n break;\n }\n if (L >= S && L < M) return ti;\n } else\n for (var P = _._cachedValues[$], R = 0; R < P.length; R++)\n if (S = P[R], M = S + I.dvalue, x >= S && x < M) return ti;\n }\n }\n return x;\n }, t.locateBreaks = function(x, _) {\n var T, S, M, L, F = [];\n if (!t.rangebreaks) return F;\n var $ = t.rangebreaks.slice().sort(function(W, ee) {\n return W.pattern === Kd && ee.pattern === Xd ? -1 : ee.pattern === Kd && W.pattern === Xd ? 1 : 0;\n }), I = function(W, ee) {\n if (W = Dr.constrain(W, x, _), ee = Dr.constrain(ee, x, _), W !== ee) {\n for (var re = !0, ae = 0; ae < F.length; ae++) {\n var Q = F[ae];\n W < Q.max && ee >= Q.min && (W < Q.min && (Q.min = W), ee > Q.max && (Q.max = ee), re = !1);\n }\n re && F.push({ min: W, max: ee });\n }\n };\n for (T = 0; T < $.length; T++) {\n var O = $[T];\n if (O.enabled)\n if (O.bounds) {\n var G = x, K = _;\n O.pattern && (G = Math.floor(G)), S = Dr.simpleMap(O.bounds, O.pattern ? No : t.r2l), M = S[0], L = S[1];\n var V = new Date(G), z, P;\n switch (O.pattern) {\n case Kd:\n P = SZ, z = ((L < M ? 7 : 0) + (L - M)) * Wd, G += M * Wd - (V.getUTCDay() * Wd + V.getUTCHours() * Zd + V.getUTCMinutes() * NT + V.getUTCSeconds() * OT + V.getUTCMilliseconds());\n break;\n case Xd:\n P = Wd, z = ((L < M ? 24 : 0) + (L - M)) * Zd, G += M * Zd - (V.getUTCHours() * Zd + V.getUTCMinutes() * NT + V.getUTCSeconds() * OT + V.getUTCMilliseconds());\n break;\n default:\n G = Math.min(S[0], S[1]), K = Math.max(S[0], S[1]), P = K - G, z = P;\n }\n for (var R = G; R < K; R += P)\n I(R, R + z);\n } else\n for (var H = Dr.simpleMap(O.values, t.d2c), B = 0; B < H.length; B++)\n M = H[B], L = M + O.dvalue, I(M, L);\n }\n return F.sort(function(W, ee) {\n return W.min - ee.min;\n }), F;\n }, t.makeCalcdata = function(x, _, T) {\n var S, M, L, F, $ = t.type, I = $ === \"date\" && x[_ + \"calendar\"];\n if (_ in x) {\n if (S = x[_], F = x._length || Dr.minRowLength(S), Dr.isTypedArray(S) && ($ === \"linear\" || $ === \"log\")) {\n if (F === S.length)\n return S;\n if (S.subarray)\n return S.subarray(0, F);\n }\n if ($ === \"multicategory\")\n return f(S, F);\n for (M = new Array(F), L = 0; L < F; L++)\n M[L] = t.d2c(S[L], 0, I, T);\n } else {\n var O = _ + \"0\" in x ? t.d2c(x[_ + \"0\"], 0, I) : 0, G = x[\"d\" + _] ? Number(x[\"d\" + _]) : 1;\n for (S = x[{ x: \"y\", y: \"x\" }[_]], F = x._length || S.length, M = new Array(F), L = 0; L < F; L++)\n M[L] = O + L * G;\n }\n if (t.rangebreaks)\n for (L = 0; L < F; L++)\n M[L] = t.maskBreaks(M[L]);\n return M;\n }, t.isValidRange = function(x, _) {\n return Array.isArray(x) && x.length === 2 && (_ && x[0] === null || Mi(t.r2l(x[0]))) && (_ && x[1] === null || Mi(t.r2l(x[1])));\n }, t.getAutorangeDflt = function(x, _) {\n var T = !t.isValidRange(x, \"nullOk\");\n return T && _ && _.reverseDflt ? T = \"reversed\" : x && (x[0] === null && x[1] === null ? T = !0 : x[0] === null && x[1] !== null ? T = \"min\" : x[0] !== null && x[1] === null && (T = \"max\")), T;\n }, t.isReversed = function() {\n var x = t.autorange;\n return x === \"reversed\" || x === \"min reversed\" || x === \"max reversed\";\n }, t.isPtWithinRange = function(x, _) {\n var T = t.c2l(x[a], null, _), S = t.r2l(t.range[0]), M = t.r2l(t.range[1]);\n return S < M ? S <= T && T <= M : M <= T && T <= S;\n }, t._emptyCategories = function() {\n t._categories = [], t._categoriesMap = {};\n }, t.clearCalc = function() {\n var x = t._matchGroup;\n if (x) {\n var _ = null, T = null;\n for (var S in x) {\n var M = r[Yd.id2name(S)];\n if (M._categories) {\n _ = M._categories, T = M._categoriesMap;\n break;\n }\n }\n _ && T ? (t._categories = _, t._categoriesMap = T) : t._emptyCategories();\n } else\n t._emptyCategories();\n if (t._initialCategories)\n for (var L = 0; L < t._initialCategories.length; L++)\n u(t._initialCategories[L]);\n }, t.sortByInitialCategories = function() {\n var x = [];\n if (t._emptyCategories(), t._initialCategories)\n for (var _ = 0; _ < t._initialCategories.length; _++)\n u(t._initialCategories[_]);\n x = x.concat(t._traceIndices);\n var T = t._matchGroup;\n for (var S in T)\n if (n !== S) {\n var M = r[Yd.id2name(S)];\n M._categories = t._categories, M._categoriesMap = t._categoriesMap, x = x.concat(M._traceIndices);\n }\n return x;\n };\n var k = r._d3locale;\n t.type === \"date\" && (t._dateFormat = k ? k.timeFormat : TZ, t._extraFormat = r._extraFormat), t._separators = r.separators, t._numFormat = k ? k.numberFormat : kZ, delete t._minDtick, delete t._forceTick0;\n}, F4 = sr, bb = Ue, CZ = Qr.BADNUM, cv = bb.isArrayOrTypedArray, LZ = bb.isDateTime, DZ = bb.cleanNumber, R4 = Math.round, P4 = function(t, r, n) {\n var a = t, i = n.noMultiCategory;\n if (cv(a) && !a.length) return \"-\";\n if (!i && $Z(a)) return \"multicategory\";\n if (i && Array.isArray(a[0])) {\n for (var o = [], l = 0; l < a.length; l++)\n if (cv(a[l]))\n for (var s = 0; s < a[l].length; s++)\n o.push(a[l][s]);\n a = o;\n }\n if (RZ(a, r)) return \"date\";\n var u = n.autotypenumbers !== \"strict\";\n return PZ(a, u) ? \"category\" : FZ(a, u) ? \"linear\" : \"-\";\n};\nfunction EZ(e, t) {\n return t ? F4(e) : typeof e == \"number\";\n}\nfunction FZ(e, t) {\n for (var r = e.length, n = 0; n < r; n++)\n if (EZ(e[n], t)) return !0;\n return !1;\n}\nfunction RZ(e, t) {\n for (var r = e.length, n = $4(r), a = 0, i = 0, o = {}, l = 0; l < r; l += n) {\n var s = R4(l), u = e[s], f = String(u);\n o[f] || (o[f] = 1, LZ(u, t) && a++, F4(u) && i++);\n }\n return a > i * 2;\n}\nfunction $4(e) {\n return Math.max(1, (e - 1) / 1e3);\n}\nfunction PZ(e, t) {\n for (var r = e.length, n = $4(r), a = 0, i = 0, o = {}, l = 0; l < r; l += n) {\n var s = R4(l), u = e[s], f = String(u);\n if (!o[f]) {\n o[f] = 1;\n var d = typeof u;\n d === \"boolean\" ? i++ : (t ? DZ(u) !== CZ : d === \"number\") ? a++ : d === \"string\" && i++;\n }\n }\n return i > a * 2;\n}\nfunction $Z(e) {\n return cv(e[0]) && cv(e[1]);\n}\nvar zZ = lr, z4 = sr, il = Ue, Ih = Qr.FP_SAFE, IZ = Nt, NZ = Sr, I4 = gn, OZ = I4.getFromId, HZ = I4.isLinked, Lp = {\n applyAutorangeOptions: O4,\n getAutoRange: my,\n makePadFn: gy,\n doAutoRange: jZ,\n findExtremes: UZ,\n concatExtremes: _b\n};\nfunction my(e, t) {\n var r, n, a = [], i = e._fullLayout, o = gy(i, t, 0), l = gy(i, t, 1), s = _b(e, t), u = s.min, f = s.max;\n if (u.length === 0 || f.length === 0)\n return il.simpleMap(t.range, t.r2l);\n var d = u[0].val, h = f[0].val;\n for (r = 1; r < u.length && d === h; r++)\n d = Math.min(d, u[r].val);\n for (r = 1; r < f.length && d === h; r++)\n h = Math.max(h, f[r].val);\n var p = t.autorange, v = p === \"reversed\" || p === \"min reversed\" || p === \"max reversed\";\n if (!v && t.range) {\n var m = il.simpleMap(t.range, t.r2l);\n v = m[1] < m[0];\n }\n t.autorange === \"reversed\" && (t.autorange = !0);\n var g = t.rangemode, y = g === \"tozero\", w = g === \"nonnegative\", k = t._length, x = k / 10, _ = 0, T, S, M, L, F, $;\n for (r = 0; r < u.length; r++)\n for (T = u[r], n = 0; n < f.length; n++)\n S = f[n], $ = S.val - T.val - HT(t, T.val, S.val), $ > 0 && (F = k - o(T) - l(S), F > x ? $ / F > _ && (M = T, L = S, _ = $ / F) : $ / k > _ && (M = { val: T.val, nopad: 1 }, L = { val: S.val, nopad: 1 }, _ = $ / k));\n function I(z, P) {\n return Math.max(z, l(P));\n }\n if (d === h) {\n var O = d - 1, G = d + 1;\n if (y)\n if (d === 0)\n a = [0, 1];\n else {\n var K = (d > 0 ? f : u).reduce(I, 0), V = d / (1 - Math.min(0.5, K / k));\n a = d > 0 ? [0, V] : [V, 0];\n }\n else w ? a = [Math.max(0, O), Math.max(1, G)] : a = [O, G];\n } else\n y ? (M.val >= 0 && (M = { val: 0, nopad: 1 }), L.val <= 0 && (L = { val: 0, nopad: 1 })) : w && (M.val - _ * o(M) < 0 && (M = { val: 0, nopad: 1 }), L.val <= 0 && (L = { val: 1, nopad: 1 })), _ = (L.val - M.val - HT(t, T.val, S.val)) / (k - o(M) - l(L)), a = [\n M.val - _ * o(M),\n L.val + _ * l(L)\n ];\n return a = O4(a, t), t.limitRange && t.limitRange(), v && a.reverse(), il.simpleMap(a, t.l2r || Number);\n}\nfunction HT(e, t, r) {\n var n = 0;\n if (e.rangebreaks)\n for (var a = e.locateBreaks(t, r), i = 0; i < a.length; i++) {\n var o = a[i];\n n += o.max - o.min;\n }\n return n;\n}\nfunction gy(e, t, r) {\n var n = 0.05 * t._length, a = t._anchorAxis || {};\n if ((t.ticklabelposition || \"\").indexOf(\"inside\") !== -1 || (a.ticklabelposition || \"\").indexOf(\"inside\") !== -1) {\n var i = t.isReversed();\n if (!i) {\n var o = il.simpleMap(t.range, t.r2l);\n i = o[1] < o[0];\n }\n i && (r = !r);\n }\n var l = 0;\n return HZ(e, t._id) || (l = BZ(e, t, r)), n = Math.max(l, n), t.constrain === \"domain\" && t._inputDomain && (n *= (t._inputDomain[1] - t._inputDomain[0]) / (t.domain[1] - t.domain[0])), function(u) {\n return u.nopad ? 0 : u.pad + (u.extrapad ? n : l);\n };\n}\nvar BT = 3;\nfunction BZ(e, t, r) {\n var n = 0, a = t._id.charAt(0) === \"x\";\n for (var i in e._plots) {\n var o = e._plots[i];\n if (!(t._id !== o.xaxis._id && t._id !== o.yaxis._id)) {\n var l = (a ? o.yaxis : o.xaxis) || {};\n if ((l.ticklabelposition || \"\").indexOf(\"inside\") !== -1 && (!r && (l.side === \"left\" || l.side === \"bottom\") || r && (l.side === \"top\" || l.side === \"right\"))) {\n if (l._vals) {\n var s = il.deg2rad(l._tickAngles[l._id + \"tick\"] || 0), u = Math.abs(Math.cos(s)), f = Math.abs(Math.sin(s));\n if (!l._vals[0].bb) {\n var d = l._id + \"tick\", h = l._selections[d];\n h.each(function(w) {\n var k = zZ.select(this), x = k.select(\".text-math-group\");\n x.empty() && (w.bb = NZ.bBox(k.node()));\n });\n }\n for (var p = 0; p < l._vals.length; p++) {\n var v = l._vals[p], m = v.bb;\n if (m) {\n var g = 2 * BT + m.width, y = 2 * BT + m.height;\n n = Math.max(\n n,\n a ? Math.max(g * u, y * f) : Math.max(y * u, g * f)\n );\n }\n }\n }\n l.ticks === \"inside\" && l.ticklabelposition === \"inside\" && (n += l.ticklen || 0);\n }\n }\n }\n return n;\n}\nfunction _b(e, t, r) {\n var n = t._id, a = e._fullData, i = e._fullLayout, o = [], l = [], s, u, f;\n function d(g, y) {\n for (s = 0; s < y.length; s++) {\n var w = g[y[s]], k = (w._extremes || {})[n];\n if (w.visible === !0 && k) {\n for (u = 0; u < k.min.length; u++)\n f = k.min[u], yy(o, f.val, f.pad, { extrapad: f.extrapad });\n for (u = 0; u < k.max.length; u++)\n f = k.max[u], by(l, f.val, f.pad, { extrapad: f.extrapad });\n }\n }\n }\n if (d(a, t._traceIndices), d(i.annotations || [], t._annIndices || []), d(i.shapes || [], t._shapeIndices || []), t._matchGroup && !r) {\n for (var h in t._matchGroup)\n if (h !== t._id) {\n var p = OZ(e, h), v = _b(e, p, !0), m = t._length / p._length;\n for (u = 0; u < v.min.length; u++)\n f = v.min[u], yy(o, f.val, f.pad * m, { extrapad: f.extrapad });\n for (u = 0; u < v.max.length; u++)\n f = v.max[u], by(l, f.val, f.pad * m, { extrapad: f.extrapad });\n }\n }\n return { min: o, max: l };\n}\nfunction jZ(e, t, r) {\n if (t.setScale(), t.autorange) {\n t.range = r ? r.slice() : my(e, t), t._r = t.range.slice(), t._rl = il.simpleMap(t._r, t.r2l);\n var n = t._input, a = {};\n a[t._attr + \".range\"] = t.range, a[t._attr + \".autorange\"] = t.autorange, IZ.call(\"_storeDirectGUIEdit\", e.layout, e._fullLayout._preGUI, a), n.range = t.range.slice(), n.autorange = t.autorange;\n }\n var i = t._anchorAxis;\n if (i && i.rangeslider) {\n var o = i.rangeslider[t._name];\n o && o.rangemode === \"auto\" && (o.range = my(e, t)), i._input.rangeslider[t._name] = il.extendFlat({}, o);\n }\n}\nfunction UZ(e, t, r) {\n r || (r = {}), e._m || e.setScale();\n var n = [], a = [], i = t.length, o = r.padded || !1, l = r.tozero && (e.type === \"linear\" || e.type === \"-\"), s = e.type === \"log\", u = !1, f = r.vpadLinearized || !1, d, h, p, v, m, g, y, w, k;\n function x(I) {\n if (Array.isArray(I))\n return u = !0, function(G) {\n return Math.max(Number(I[G] || 0), 0);\n };\n var O = Math.max(Number(I || 0), 0);\n return function() {\n return O;\n };\n }\n var _ = x((e._m > 0 ? r.ppadplus : r.ppadminus) || r.ppad || 0), T = x((e._m > 0 ? r.ppadminus : r.ppadplus) || r.ppad || 0), S = x(r.vpadplus || r.vpad), M = x(r.vpadminus || r.vpad);\n if (!u) {\n if (w = 1 / 0, k = -1 / 0, s)\n for (d = 0; d < i; d++)\n h = t[d], h < w && h > 0 && (w = h), h > k && h < Ih && (k = h);\n else\n for (d = 0; d < i; d++)\n h = t[d], h < w && h > -Ih && (w = h), h > k && h < Ih && (k = h);\n t = [w, k], i = 2;\n }\n var L = { tozero: l, extrapad: o };\n function F(I) {\n p = t[I], z4(p) && (g = _(I), y = T(I), f ? (v = e.c2l(p) - M(I), m = e.c2l(p) + S(I)) : (w = p - M(I), k = p + S(I), s && w < k / 10 && (w = k / 10), v = e.c2l(w), m = e.c2l(k)), l && (v = Math.min(0, v), m = Math.max(0, m)), jT(v) && yy(n, v, y, L), jT(m) && by(a, m, g, L));\n }\n var $ = Math.min(6, i);\n for (d = 0; d < $; d++) F(d);\n for (d = i - 1; d >= $; d--) F(d);\n return {\n min: n,\n max: a,\n opts: r\n };\n}\nfunction yy(e, t, r, n) {\n N4(e, t, r, n, GZ);\n}\nfunction by(e, t, r, n) {\n N4(e, t, r, n, VZ);\n}\nfunction N4(e, t, r, n, a) {\n for (var i = n.tozero, o = n.extrapad, l = !0, s = 0; s < e.length && l; s++) {\n var u = e[s];\n if (a(u.val, t) && u.pad >= r && (u.extrapad || !o)) {\n l = !1;\n break;\n } else a(t, u.val) && u.pad <= r && (o || !u.extrapad) && (e.splice(s, 1), s--);\n }\n if (l) {\n var f = i && t === 0;\n e.push({\n val: t,\n pad: f ? 0 : r,\n extrapad: f ? !1 : o\n });\n }\n}\nfunction jT(e) {\n return z4(e) && Math.abs(e) < Ih;\n}\nfunction GZ(e, t) {\n return e <= t;\n}\nfunction VZ(e, t) {\n return e >= t;\n}\nfunction qZ(e, t) {\n var r = t.autorangeoptions;\n return r && r.minallowed !== void 0 && dv(t, r.minallowed, r.maxallowed) ? r.minallowed : r && r.clipmin !== void 0 && dv(t, r.clipmin, r.clipmax) ? Math.max(e, t.d2l(r.clipmin)) : e;\n}\nfunction WZ(e, t) {\n var r = t.autorangeoptions;\n return r && r.maxallowed !== void 0 && dv(t, r.minallowed, r.maxallowed) ? r.maxallowed : r && r.clipmax !== void 0 && dv(t, r.clipmin, r.clipmax) ? Math.min(e, t.d2l(r.clipmax)) : e;\n}\nfunction dv(e, t, r) {\n return t !== void 0 && r !== void 0 ? (t = e.d2l(t), r = e.d2l(r), t < r) : !0;\n}\nfunction O4(e, t) {\n if (!t || !t.autorangeoptions) return e;\n var r = e[0], n = e[1], a = t.autorangeoptions.include;\n if (a !== void 0) {\n var i = t.d2l(r), o = t.d2l(n);\n il.isArrayOrTypedArray(a) || (a = [a]);\n for (var l = 0; l < a.length; l++) {\n var s = t.d2l(a[l]);\n i >= s && (i = s, r = s), o <= s && (o = s, n = s);\n }\n }\n return r = qZ(r, t), n = WZ(n, t), [r, n];\n}\nvar Na = lr, Jr = sr, bu = Tn, Tc = Nt, jt = Ue, Fu = jt.strTranslate, Yf = Rn, ZZ = Cp, kc = nr, ya = Sr, YZ = Ki, UT = Ap, Hn = Qr, XZ = Hn.ONEMAXYEAR, hv = Hn.ONEAVGYEAR, _y = Hn.ONEMINYEAR, KZ = Hn.ONEMAXQUARTER, xy = Hn.ONEAVGQUARTER, wy = Hn.ONEMINQUARTER, JZ = Hn.ONEMAXMONTH, Ru = Hn.ONEAVGMONTH, Ty = Hn.ONEMINMONTH, Ua = Hn.ONEWEEK, Wn = Hn.ONEDAY, Xl = Wn / 2, xo = Hn.ONEHOUR, vv = Hn.ONEMIN, ky = Hn.ONESEC, Kl = Hn.MINUS_SIGN, Dp = Hn.BADNUM, Ay = { K: \"zeroline\" }, My = { K: \"gridline\", L: \"path\" }, Sy = { K: \"minor-gridline\", L: \"path\" }, H4 = { K: \"tick\", L: \"path\" }, GT = { K: \"tick\", L: \"text\" }, VT = {\n width: [\"x\", \"r\", \"l\", \"xl\", \"xr\"],\n height: [\"y\", \"t\", \"b\", \"yt\", \"yb\"],\n right: [\"r\", \"xr\"],\n left: [\"l\", \"xl\"],\n top: [\"t\", \"yt\"],\n bottom: [\"b\", \"yb\"]\n}, Ep = On, Jd = Ep.MID_SHIFT, Jl = Ep.CAP_SHIFT, pv = Ep.LINE_SPACING, QZ = Ep.OPPOSITE_SIDE, mv = 3, Ye = r4.exports = {};\nYe.setConvert = yb;\nvar eY = P4, Eo = gn, tY = Eo.idSort, rY = Eo.isLinked;\nYe.id2name = Eo.id2name;\nYe.name2id = Eo.name2id;\nYe.cleanId = Eo.cleanId;\nYe.list = Eo.list;\nYe.listIds = Eo.listIds;\nYe.getFromId = Eo.getFromId;\nYe.getFromTrace = Eo.getFromTrace;\nvar B4 = Lp;\nYe.getAutoRange = B4.getAutoRange;\nYe.findExtremes = B4.findExtremes;\nvar nY = 1e-4;\nfunction xb(e) {\n var t = (e[1] - e[0]) * nY;\n return [\n e[0] - t,\n e[1] + t\n ];\n}\nYe.coerceRef = function(e, t, r, n, a, i) {\n var o = n.charAt(n.length - 1), l = r._fullLayout._subplots[o + \"axis\"], s = n + \"ref\", u = {};\n return a || (a = l[0] || (typeof i == \"string\" ? i : i[0])), i || (i = a), l = l.concat(l.map(function(f) {\n return f + \" domain\";\n })), u[s] = {\n valType: \"enumerated\",\n values: l.concat(i ? typeof i == \"string\" ? [i] : i : []),\n dflt: a\n }, jt.coerce(e, t, u, s);\n};\nYe.getRefType = function(e) {\n return e === void 0 ? e : e === \"paper\" ? \"paper\" : e === \"pixel\" ? \"pixel\" : /( domain)$/.test(e) ? \"domain\" : \"range\";\n};\nYe.coercePosition = function(e, t, r, n, a, i) {\n var o, l, s = Ye.getRefType(n);\n if (s !== \"range\")\n o = jt.ensureNumber, l = r(a, i);\n else {\n var u = Ye.getFromId(t, n);\n i = u.fraction2r(i), l = r(a, i), o = u.cleanPos;\n }\n e[a] = o(l);\n};\nYe.cleanPosition = function(e, t, r) {\n var n = r === \"paper\" || r === \"pixel\" ? jt.ensureNumber : Ye.getFromId(t, r).cleanPos;\n return n(e);\n};\nYe.redrawComponents = function(e, t) {\n t = t || Ye.listIds(e);\n var r = e._fullLayout;\n function n(a, i, o, l) {\n for (var s = Tc.getComponentMethod(a, i), u = {}, f = 0; f < t.length; f++)\n for (var d = r[Ye.id2name(t[f])], h = d[o], p = 0; p < h.length; p++) {\n var v = h[p];\n if (!u[v] && (s(e, v), u[v] = 1, l))\n return;\n }\n }\n n(\"annotations\", \"drawOne\", \"_annIndices\"), n(\"shapes\", \"drawOne\", \"_shapeIndices\"), n(\"images\", \"draw\", \"_imgIndices\", !0), n(\"selections\", \"drawOne\", \"_selectionIndices\");\n};\nvar aY = Ye.getDataConversions = function(e, t, r, n) {\n var a, i = r === \"x\" || r === \"y\" || r === \"z\" ? r : n;\n if (jt.isArrayOrTypedArray(i)) {\n if (a = {\n type: eY(n, void 0, {\n autotypenumbers: e._fullLayout.autotypenumbers\n }),\n _categories: []\n }, Ye.setConvert(a), a.type === \"category\")\n for (var o = 0; o < n.length; o++)\n a.d2c(n[o]);\n } else\n a = Ye.getFromTrace(e, t, i);\n return a ? { d2c: a.d2c, c2d: a.c2d } : i === \"ids\" ? { d2c: WT, c2d: WT } : { d2c: qT, c2d: qT };\n};\nfunction qT(e) {\n return +e;\n}\nfunction WT(e) {\n return String(e);\n}\nYe.getDataToCoordFunc = function(e, t, r, n) {\n return aY(e, t, r, n).d2c;\n};\nYe.counterLetter = function(e) {\n var t = e.charAt(0);\n if (t === \"x\") return \"y\";\n if (t === \"y\") return \"x\";\n};\nYe.minDtick = function(e, t, r, n) {\n [\"log\", \"category\", \"multicategory\"].indexOf(e.type) !== -1 || !n ? e._minDtick = 0 : e._minDtick === void 0 ? (e._minDtick = t, e._forceTick0 = r) : e._minDtick && ((e._minDtick / t + 1e-6) % 1 < 2e-6 && // existing minDtick is an integer multiple of newDiff\n // (within rounding err)\n // and forceTick0 can be shifted to newFirst\n ((r - e._forceTick0) / t % 1 + 1.000001) % 1 < 2e-6 ? (e._minDtick = t, e._forceTick0 = r) : ((t / e._minDtick + 1e-6) % 1 > 2e-6 || // if the converse is true (newDiff is a multiple of minDtick and\n // newFirst can be shifted to forceTick0) then do nothing - same\n // forcing stands. Otherwise, cancel forced minimum\n ((r - e._forceTick0) / e._minDtick % 1 + 1.000001) % 1 > 2e-6) && (e._minDtick = 0));\n};\nYe.saveRangeInitial = function(e, t) {\n for (var r = Ye.list(e, \"\", !0), n = !1, a = 0; a < r.length; a++) {\n var i = r[a], o = i._rangeInitial0 === void 0 && i._rangeInitial1 === void 0, l = o || i.range[0] !== i._rangeInitial0 || i.range[1] !== i._rangeInitial1, s = i.autorange;\n (o && s !== !0 || t && l) && (i._rangeInitial0 = s === \"min\" || s === \"max reversed\" ? void 0 : i.range[0], i._rangeInitial1 = s === \"max\" || s === \"min reversed\" ? void 0 : i.range[1], i._autorangeInitial = s, n = !0);\n }\n return n;\n};\nYe.saveShowSpikeInitial = function(e, t) {\n for (var r = Ye.list(e, \"\", !0), n = !1, a = \"on\", i = 0; i < r.length; i++) {\n var o = r[i], l = o._showSpikeInitial === void 0, s = l || o.showspikes !== o._showspikes;\n (l || t && s) && (o._showSpikeInitial = o.showspikes, n = !0), a === \"on\" && !o.showspikes && (a = \"off\");\n }\n return e._fullLayout._cartesianSpikesEnabled = a, n;\n};\nYe.autoBin = function(e, t, r, n, a, i) {\n var o = jt.aggNums(Math.min, null, e), l = jt.aggNums(Math.max, null, e);\n if (t.type === \"category\" || t.type === \"multicategory\")\n return {\n start: o - 0.5,\n end: l + 0.5,\n size: Math.max(1, Math.round(i) || 1),\n _dataSpan: l - o\n };\n a || (a = t.calendar);\n var s;\n if (t.type === \"log\" ? s = {\n type: \"linear\",\n range: [o, l]\n } : s = {\n type: t.type,\n range: jt.simpleMap([o, l], t.c2r, 0, a),\n calendar: a\n }, Ye.setConvert(s), i = i && UT.dtick(i, s.type), i)\n s.dtick = i, s.tick0 = UT.tick0(void 0, s.type, a);\n else {\n var u;\n if (r) u = (l - o) / r;\n else {\n var f = jt.distinctVals(e), d = Math.pow(10, Math.floor(\n Math.log(f.minDiff) / Math.LN10\n )), h = d * jt.roundUp(\n f.minDiff / d,\n [0.9, 1.9, 4.9, 9.9],\n !0\n );\n u = Math.max(h, 2 * jt.stdev(e) / Math.pow(e.length, n ? 0.25 : 0.4)), Jr(u) || (u = 1);\n }\n Ye.autoTicks(s, u);\n }\n var p = s.dtick, v = Ye.tickIncrement(\n Ye.tickFirst(s),\n p,\n \"reverse\",\n a\n ), m, g;\n if (typeof p == \"number\")\n v = iY(v, e, s, o, l), g = 1 + Math.floor((l - v) / p), m = v + g * p;\n else\n for (s.dtick.charAt(0) === \"M\" && (v = oY(v, e, p, o, a)), m = v, g = 0; m <= l; )\n m = Ye.tickIncrement(m, p, !1, a), g++;\n return {\n start: t.c2r(v, 0, a),\n end: t.c2r(m, 0, a),\n size: p,\n _dataSpan: l - o\n };\n};\nfunction iY(e, t, r, n, a) {\n var i = 0, o = 0, l = 0, s = 0;\n function u(p) {\n return (1 + (p - e) * 100 / r.dtick) % 100 < 2;\n }\n for (var f = 0; f < t.length; f++)\n t[f] % 1 === 0 ? l++ : Jr(t[f]) || s++, u(t[f]) && i++, u(t[f] + r.dtick / 2) && o++;\n var d = t.length - s;\n if (l === d && r.type !== \"date\")\n r.dtick < 1 ? e = n - 0.5 * r.dtick : (e -= 0.5, e + r.dtick < n && (e += r.dtick));\n else if (o < d * 0.1 && (i > d * 0.3 || u(n) || u(a))) {\n var h = r.dtick / 2;\n e += e + h < n ? h : -h;\n }\n return e;\n}\nfunction oY(e, t, r, n, a) {\n var i = jt.findExactDates(t, a), o = 0.8;\n if (i.exactDays > o) {\n var l = Number(r.substr(1));\n i.exactYears > o && l % 12 === 0 ? e = Ye.tickIncrement(e, \"M6\", \"reverse\") + Wn * 1.5 : i.exactMonths > o ? e = Ye.tickIncrement(e, \"M1\", \"reverse\") + Wn * 15.5 : e -= Xl;\n var s = Ye.tickIncrement(e, r);\n if (s <= n) return s;\n }\n return e;\n}\nYe.prepMinorTicks = function(e, t, r) {\n if (!t.minor.dtick) {\n delete e.dtick;\n var n = t.dtick && Jr(t._tmin), a;\n if (n) {\n var i = Ye.tickIncrement(t._tmin, t.dtick, !0);\n a = [t._tmin, i * 0.99 + t._tmin * 0.01];\n } else {\n var o = jt.simpleMap(t.range, t.r2l);\n a = [o[0], 0.8 * o[0] + 0.2 * o[1]];\n }\n if (e.range = jt.simpleMap(a, t.l2r), e._isMinor = !0, Ye.prepTicks(e, r), n) {\n var l = Jr(t.dtick), s = Jr(e.dtick), u = l ? t.dtick : +t.dtick.substring(1), f = s ? e.dtick : +e.dtick.substring(1);\n l && s ? hg(u, f) ? u === 2 * Ua && f === 2 * Wn && (e.dtick = Ua) : u === 2 * Ua && f === 3 * Wn ? e.dtick = Ua : u === Ua && !(t._input.minor || {}).nticks ? e.dtick = Wn : ZT(u / f, 2.5) ? e.dtick = u / 2 : e.dtick = u : String(t.dtick).charAt(0) === \"M\" ? s ? e.dtick = \"M1\" : hg(u, f) ? u >= 12 && f === 2 && (e.dtick = \"M3\") : e.dtick = t.dtick : String(e.dtick).charAt(0) === \"L\" ? String(t.dtick).charAt(0) === \"L\" ? hg(u, f) || (e.dtick = ZT(u / f, 2.5) ? t.dtick / 2 : t.dtick) : e.dtick = \"D1\" : e.dtick === \"D2\" && +t.dtick > 1 && (e.dtick = 1);\n }\n e.range = t.range;\n }\n t.minor._tick0Init === void 0 && (e.tick0 = t.tick0);\n};\nfunction hg(e, t) {\n return Math.abs((e / t + 0.5) % 1 - 0.5) < 1e-3;\n}\nfunction ZT(e, t) {\n return Math.abs(e / t - 1) < 1e-3;\n}\nYe.prepTicks = function(e, t) {\n var r = jt.simpleMap(e.range, e.r2l, void 0, void 0, t);\n if (e.tickmode === \"auto\" || !e.dtick) {\n var n = e.nticks, a;\n n || (e.type === \"category\" || e.type === \"multicategory\" ? (a = e.tickfont ? jt.bigFont(e.tickfont.size || 12) : 15, n = e._length / a) : (a = e._id.charAt(0) === \"y\" ? 40 : 80, n = jt.constrain(e._length / a, 4, 9) + 1), e._name === \"radialaxis\" && (n *= 2)), e.minor && e.minor.tickmode !== \"array\" || e.tickmode === \"array\" && (n *= 100), e._roughDTick = Math.abs(r[1] - r[0]) / n, Ye.autoTicks(e, e._roughDTick), e._minDtick > 0 && e.dtick < e._minDtick * 2 && (e.dtick = e._minDtick, e.tick0 = e.l2r(e._forceTick0));\n }\n e.ticklabelmode === \"period\" && lY(e), e.tick0 || (e.tick0 = e.type === \"date\" ? \"2000-01-01\" : 0), e.type === \"date\" && e.dtick < 0.1 && (e.dtick = 0.1), V4(e);\n};\nfunction vg(e) {\n return +e.substring(1);\n}\nfunction lY(e) {\n var t;\n function r() {\n return !(Jr(e.dtick) || e.dtick.charAt(0) !== \"M\");\n }\n var n = r(), a = Ye.getTickFormat(e);\n if (a) {\n var i = e._dtickInit !== e.dtick;\n /%[fLQsSMX]/.test(a) || (/%[HI]/.test(a) ? (t = xo, i && !n && e.dtick < xo && (e.dtick = xo)) : /%p/.test(a) ? (t = Xl, i && !n && e.dtick < Xl && (e.dtick = Xl)) : /%[Aadejuwx]/.test(a) ? (t = Wn, i && !n && e.dtick < Wn && (e.dtick = Wn)) : /%[UVW]/.test(a) ? (t = Ua, i && !n && e.dtick < Ua && (e.dtick = Ua)) : /%[Bbm]/.test(a) ? (t = Ru, i && (n ? vg(e.dtick) < 1 : e.dtick < Ty) && (e.dtick = \"M1\")) : /%[q]/.test(a) ? (t = xy, i && (n ? vg(e.dtick) < 3 : e.dtick < wy) && (e.dtick = \"M3\")) : /%[Yy]/.test(a) && (t = hv, i && (n ? vg(e.dtick) < 12 : e.dtick < _y) && (e.dtick = \"M12\")));\n }\n n = r(), n && e.tick0 === e._dowTick0 && (e.tick0 = e._rawTick0), e._definedDelta = t;\n}\nfunction sY(e, t, r) {\n for (var n = 0; n < e.length; n++) {\n var a = e[n].value, i = n, o = n + 1;\n n < e.length - 1 ? (i = n, o = n + 1) : n > 0 ? (i = n - 1, o = n) : (i = n, o = n);\n var l = e[i].value, s = e[o].value, u = Math.abs(s - l), f = r || u, d = 0;\n f >= _y ? u >= _y && u <= XZ ? d = u : d = hv : r === xy && f >= wy ? u >= wy && u <= KZ ? d = u : d = xy : f >= Ty ? u >= Ty && u <= JZ ? d = u : d = Ru : r === Ua && f >= Ua ? d = Ua : f >= Wn ? d = Wn : r === Xl && f >= Xl ? d = Xl : r === xo && f >= xo && (d = xo);\n var h;\n d >= u && (d = u, h = !0);\n var p = a + d;\n if (t.rangebreaks && d > 0) {\n for (var v = 84, m = 0, g = 0; g < v; g++) {\n var y = (g + 0.5) / v;\n t.maskBreaks(a * (1 - y) + y * p) !== Dp && m++;\n }\n d *= m / v, d || (e[n].drop = !0), h && u > Ua && (d = u);\n }\n (d > 0 || // not instant\n n === 0) && (e[n].periodX = a + d / 2);\n }\n}\nYe.calcTicks = function(t, r) {\n for (var n = t.type, a = t.calendar, i = t.ticklabelstep, o = t.ticklabelmode === \"period\", l = jt.simpleMap(t.range, t.r2l, void 0, void 0, r), s = l[1] < l[0], u = Math.min(l[0], l[1]), f = Math.max(l[0], l[1]), d = Math.max(1e3, t._length || 0), h = [], p = [], v = [], m = [], g = t.minor && (t.minor.ticks || t.minor.showgrid), y = 1; y >= (g ? 0 : 1); y--) {\n var w = !y;\n y ? (t._dtickInit = t.dtick, t._tick0Init = t.tick0) : (t.minor._dtickInit = t.minor.dtick, t.minor._tick0Init = t.minor.tick0);\n var k = y ? t : jt.extendFlat({}, t, t.minor);\n if (w ? Ye.prepMinorTicks(k, t, r) : Ye.prepTicks(k, r), k.tickmode === \"array\") {\n y ? (v = [], h = YT(t, !w)) : (m = [], p = YT(t, !w));\n continue;\n }\n if (k.tickmode === \"sync\") {\n v = [], h = uY(t);\n continue;\n }\n var x = xb(l), _ = x[0], T = x[1], S = Jr(k.dtick), M = n === \"log\" && !(S || k.dtick.charAt(0) === \"L\"), L = Ye.tickFirst(k, r);\n if (y) {\n if (t._tmin = L, L < _ !== s) break;\n (n === \"category\" || n === \"multicategory\") && (T = s ? Math.max(-0.5, T) : Math.min(t._categories.length - 0.5, T));\n }\n var F = null, $ = L, I;\n if (y) {\n var O;\n S ? O = t.dtick : n === \"date\" ? typeof t.dtick == \"string\" && t.dtick.charAt(0) === \"M\" && (O = Ru * t.dtick.substring(1)) : O = t._roughDTick, I = Math.round((t.r2l($) - t.r2l(t.tick0)) / O) - 1;\n }\n var G = k.dtick;\n for (k.rangebreaks && k._tick0Init !== k.tick0 && ($ = pg($, t), s || ($ = Ye.tickIncrement($, G, !s, a))), y && o && ($ = Ye.tickIncrement($, G, !s, a), I--); s ? $ >= T : $ <= T; $ = Ye.tickIncrement(\n $,\n G,\n s,\n a\n )) {\n if (y && I++, k.rangebreaks && !s) {\n if ($ < _) continue;\n if (k.maskBreaks($) === Dp && pg($, k) >= f) break;\n }\n if (v.length > d || $ === F) break;\n F = $;\n var K = { value: $ };\n y ? (M && $ !== ($ | 0) && (K.simpleLabel = !0), i > 1 && I % i && (K.skipLabel = !0), v.push(K)) : (K.minor = !0, m.push(K));\n }\n }\n if (g) {\n var V = t.minor.ticks === \"inside\" && t.ticks === \"outside\" || t.minor.ticks === \"outside\" && t.ticks === \"inside\";\n if (!V) {\n for (var z = v.map(function(ve) {\n return ve.value;\n }), P = [], R = 0; R < m.length; R++) {\n var H = m[R], B = H.value;\n if (z.indexOf(B) === -1) {\n for (var W = !1, ee = 0; !W && ee < v.length; ee++)\n // add 10e6 to eliminate problematic digits\n 1e7 + v[ee].value === 1e7 + B && (W = !0);\n W || P.push(H);\n }\n }\n m = P;\n }\n }\n o && sY(v, t, t._definedDelta);\n var re;\n if (t.rangebreaks) {\n var ae = t._id.charAt(0) === \"y\", Q = 1;\n t.tickmode === \"auto\" && (Q = t.tickfont ? t.tickfont.size : 12);\n var ue = NaN;\n for (re = v.length - 1; re > -1; re--) {\n if (v[re].drop) {\n v.splice(re, 1);\n continue;\n }\n v[re].value = pg(v[re].value, t);\n var j = t.c2p(v[re].value);\n (ae ? ue > j - Q : ue < j + Q) ? v.splice(s ? re + 1 : re, 1) : ue = j;\n }\n }\n Ab(t) && Math.abs(l[1] - l[0]) === 360 && v.pop(), t._tmax = (v[v.length - 1] || {}).value, t._prevDateHead = \"\", t._inCalcTicks = !0;\n var U, Z = function(ve) {\n ve.text = \"\", t._prevDateHead = U;\n };\n v = v.concat(m);\n var le, J;\n for (re = 0; re < v.length; re++) {\n var pe = v[re].minor, ge = v[re].value;\n pe ? p.push({\n x: ge,\n minor: !0\n }) : (U = t._prevDateHead, le = Ye.tickText(\n t,\n ge,\n !1,\n // hover\n v[re].simpleLabel\n // noSuffixPrefix\n ), J = v[re].periodX, J !== void 0 && (le.periodX = J, (J > f || J < u) && (J > f && (le.periodX = f), J < u && (le.periodX = u), Z(le))), v[re].skipLabel && Z(le), h.push(le));\n }\n return h = h.concat(p), t._inCalcTicks = !1, o && h.length && (h[0].noTick = !0), h;\n};\nfunction j4(e, t) {\n return e.rangebreaks && (t = t.filter(function(r) {\n return e.maskBreaks(r.x) !== Dp;\n })), t;\n}\nfunction uY(e) {\n var t = e._mainAxis, r = [];\n if (t._vals) {\n for (var n = 0; n < t._vals.length; n++)\n if (!t._vals[n].noTick) {\n var a = t.l2p(t._vals[n].x), i = e.p2l(a), o = Ye.tickText(e, i);\n t._vals[n].minor && (o.minor = !0, o.text = \"\"), r.push(o);\n }\n }\n return r = j4(e, r), r;\n}\nfunction YT(e, t) {\n var r = jt.simpleMap(e.range, e.r2l), n = xb(r), a = Math.min(n[0], n[1]), i = Math.max(n[0], n[1]), o = e.type === \"category\" ? e.d2l_noadd : e.d2l;\n e.type === \"log\" && String(e.dtick).charAt(0) !== \"L\" && (e.dtick = \"L\" + Math.pow(10, Math.floor(Math.min(e.range[0], e.range[1])) - 1));\n for (var l = [], s = 0; s <= 1; s++)\n if (!(t !== void 0 && (t && s || t === !1 && !s)) && !(s && !e.minor)) {\n var u = s ? e.minor.tickvals : e.tickvals, f = s ? [] : e.ticktext;\n if (u) {\n jt.isArrayOrTypedArray(f) || (f = []);\n for (var d = 0; d < u.length; d++) {\n var h = o(u[d]);\n if (h > a && h < i) {\n var p = f[d] === void 0 ? Ye.tickText(e, h) : wb(e, h, String(f[d]));\n s && (p.minor = !0, p.text = \"\"), l.push(p);\n }\n }\n }\n }\n return l = j4(e, l), l;\n}\nvar Qd = [2, 5, 10], XT = [1, 2, 3, 6, 12], KT = [1, 2, 5, 10, 15, 30], fY = [1, 2, 3, 7, 14], U4 = [-0.046, 0, 0.301, 0.477, 0.602, 0.699, 0.778, 0.845, 0.903, 0.954, 1], G4 = [-0.301, 0, 0.301, 0.699, 1], cY = [15, 30, 45, 90, 180];\nfunction Ci(e, t, r) {\n return t * jt.roundUp(e / t, r);\n}\nYe.autoTicks = function(e, t, r) {\n var n;\n function a(d) {\n return Math.pow(d, Math.floor(Math.log(t) / Math.LN10));\n }\n if (e.type === \"date\") {\n e.tick0 = jt.dateTick0(e.calendar, 0);\n var i = 2 * t;\n if (i > hv)\n t /= hv, n = a(10), e.dtick = \"M\" + 12 * Ci(t, n, Qd);\n else if (i > Ru)\n t /= Ru, e.dtick = \"M\" + Ci(t, 1, XT);\n else if (i > Wn) {\n if (e.dtick = Ci(t, Wn, e._hasDayOfWeekBreaks ? [1, 2, 7, 14] : fY), !r) {\n var o = Ye.getTickFormat(e), l = e.ticklabelmode === \"period\";\n l && (e._rawTick0 = e.tick0), /%[uVW]/.test(o) ? e.tick0 = jt.dateTick0(e.calendar, 2) : e.tick0 = jt.dateTick0(e.calendar, 1), l && (e._dowTick0 = e.tick0);\n }\n } else i > xo ? e.dtick = Ci(t, xo, XT) : i > vv ? e.dtick = Ci(t, vv, KT) : i > ky ? e.dtick = Ci(t, ky, KT) : (n = a(10), e.dtick = Ci(t, n, Qd));\n } else if (e.type === \"log\") {\n e.tick0 = 0;\n var s = jt.simpleMap(e.range, e.r2l);\n if (e._isMinor && (t *= 1.5), t > 0.7)\n e.dtick = Math.ceil(t);\n else if (Math.abs(s[1] - s[0]) < 1) {\n var u = 1.5 * Math.abs((s[1] - s[0]) / t);\n t = Math.abs(Math.pow(10, s[1]) - Math.pow(10, s[0])) / u, n = a(10), e.dtick = \"L\" + Ci(t, n, Qd);\n } else\n e.dtick = t > 0.3 ? \"D2\" : \"D1\";\n } else e.type === \"category\" || e.type === \"multicategory\" ? (e.tick0 = 0, e.dtick = Math.ceil(Math.max(t, 1))) : Ab(e) ? (e.tick0 = 0, n = 1, e.dtick = Ci(t, n, cY)) : (e.tick0 = 0, n = a(10), e.dtick = Ci(t, n, Qd));\n if (e.dtick === 0 && (e.dtick = 1), !Jr(e.dtick) && typeof e.dtick != \"string\") {\n var f = e.dtick;\n throw e.dtick = 1, \"ax.dtick error: \" + String(f);\n }\n};\nfunction V4(e) {\n var t = e.dtick;\n if (e._tickexponent = 0, !Jr(t) && typeof t != \"string\" && (t = 1), (e.type === \"category\" || e.type === \"multicategory\") && (e._tickround = null), e.type === \"date\") {\n var r = e.r2l(e.tick0), n = e.l2r(r).replace(/(^-|i)/g, \"\"), a = n.length;\n if (String(t).charAt(0) === \"M\")\n a > 10 || n.substr(5) !== \"01-01\" ? e._tickround = \"d\" : e._tickround = +t.substr(1) % 12 === 0 ? \"y\" : \"m\";\n else if (t >= Wn && a <= 10 || t >= Wn * 15) e._tickround = \"d\";\n else if (t >= vv && a <= 16 || t >= xo) e._tickround = \"M\";\n else if (t >= ky && a <= 19 || t >= vv) e._tickround = \"S\";\n else {\n var i = e.l2r(r + t).replace(/^-/, \"\").length;\n e._tickround = Math.max(a, i) - 20, e._tickround < 0 && (e._tickround = 4);\n }\n } else if (Jr(t) || t.charAt(0) === \"L\") {\n var o = e.range.map(e.r2d || Number);\n Jr(t) || (t = Number(t.substr(1))), e._tickround = 2 - Math.floor(Math.log(t) / Math.LN10 + 0.01);\n var l = Math.max(Math.abs(o[0]), Math.abs(o[1])), s = Math.floor(Math.log(l) / Math.LN10 + 0.01), u = e.minexponent === void 0 ? 3 : e.minexponent;\n Math.abs(s) > u && (gv(e.exponentformat) && !Tb(s) ? e._tickexponent = 3 * Math.round((s - 1) / 3) : e._tickexponent = s);\n } else\n e._tickround = null;\n}\nYe.tickIncrement = function(e, t, r, n) {\n var a = r ? -1 : 1;\n if (Jr(t)) return jt.increment(e, a * t);\n var i = t.charAt(0), o = a * Number(t.substr(1));\n if (i === \"M\") return jt.incrementMonth(e, o, n);\n if (i === \"L\") return Math.log(Math.pow(10, e) + o) / Math.LN10;\n if (i === \"D\") {\n var l = t === \"D2\" ? G4 : U4, s = e + a * 0.01, u = jt.roundUp(jt.mod(s, 1), l, r);\n return Math.floor(s) + Math.log(Na.round(Math.pow(10, u), 1)) / Math.LN10;\n }\n throw \"unrecognized dtick \" + String(t);\n};\nYe.tickFirst = function(e, t) {\n var r = e.r2l || Number, n = jt.simpleMap(e.range, r, void 0, void 0, t), a = n[1] < n[0], i = a ? Math.floor : Math.ceil, o = xb(n)[0], l = e.dtick, s = r(e.tick0);\n if (Jr(l)) {\n var u = i((o - s) / l) * l + s;\n return (e.type === \"category\" || e.type === \"multicategory\") && (u = jt.constrain(u, 0, e._categories.length - 1)), u;\n }\n var f = l.charAt(0), d = Number(l.substr(1));\n if (f === \"M\") {\n for (var h = 0, p = s, v, m, g; h < 10; ) {\n if (v = Ye.tickIncrement(p, l, a, e.calendar), (v - o) * (p - o) <= 0)\n return a ? Math.min(p, v) : Math.max(p, v);\n m = (o - (p + v) / 2) / (v - p), g = f + (Math.abs(Math.round(m)) || 1) * d, p = Ye.tickIncrement(p, g, m < 0 ? !a : a, e.calendar), h++;\n }\n return jt.error(\"tickFirst did not converge\", e), p;\n } else {\n if (f === \"L\")\n return Math.log(i(\n (Math.pow(10, o) - s) / d\n ) * d + s) / Math.LN10;\n if (f === \"D\") {\n var y = l === \"D2\" ? G4 : U4, w = jt.roundUp(jt.mod(o, 1), y, a);\n return Math.floor(o) + Math.log(Na.round(Math.pow(10, w), 1)) / Math.LN10;\n } else throw \"unrecognized dtick \" + String(l);\n }\n};\nYe.tickText = function(e, t, r, n) {\n var a = wb(e, t), i = e.tickmode === \"array\", o = r || i, l = e.type, s = l === \"category\" ? e.d2l_noadd : e.d2l, u;\n if (i && jt.isArrayOrTypedArray(e.ticktext)) {\n var f = jt.simpleMap(e.range, e.r2l), d = (Math.abs(f[1] - f[0]) - (e._lBreaks || 0)) / 1e4;\n for (u = 0; u < e.ticktext.length && !(Math.abs(t - s(e.tickvals[u])) < d); u++)\n ;\n if (u < e.ticktext.length)\n return a.text = String(e.ticktext[u]), a;\n }\n function h(g) {\n if (g === void 0) return !0;\n if (r) return g === \"none\";\n var y = {\n first: e._tmin,\n last: e._tmax\n }[g];\n return g !== \"all\" && t !== y;\n }\n var p = r ? \"never\" : e.exponentformat !== \"none\" && h(e.showexponent) ? \"hide\" : \"\";\n if (l === \"date\" ? dY(e, a, r, o) : l === \"log\" ? hY(e, a, r, o, p) : l === \"category\" ? vY(e, a) : l === \"multicategory\" ? pY(e, a, r) : Ab(e) ? gY(e, a, r, o, p) : mY(e, a, r, o, p), n || (e.tickprefix && !h(e.showtickprefix) && (a.text = e.tickprefix + a.text), e.ticksuffix && !h(e.showticksuffix) && (a.text += e.ticksuffix)), e.labelalias && e.labelalias.hasOwnProperty(a.text)) {\n var v = e.labelalias[a.text];\n typeof v == \"string\" && (a.text = v);\n }\n if (e.tickson === \"boundaries\" || e.showdividers) {\n var m = function(g) {\n var y = e.l2p(g);\n return y >= 0 && y <= e._length ? g : null;\n };\n a.xbnd = [\n m(a.x - 0.5),\n m(a.x + e.dtick - 0.5)\n ];\n }\n return a;\n};\nYe.hoverLabelText = function(e, t, r) {\n r && (e = jt.extendFlat({}, e, { hoverformat: r }));\n var n = jt.isArrayOrTypedArray(t) ? t[0] : t, a = jt.isArrayOrTypedArray(t) ? t[1] : void 0;\n if (a !== void 0 && a !== n)\n return Ye.hoverLabelText(e, n, r) + \" - \" + Ye.hoverLabelText(e, a, r);\n var i = e.type === \"log\" && n <= 0, o = Ye.tickText(e, e.c2l(i ? -n : n), \"hover\").text;\n return i ? n === 0 ? \"0\" : Kl + o : o;\n};\nfunction wb(e, t, r) {\n var n = e.tickfont || {};\n return {\n x: t,\n dx: 0,\n dy: 0,\n text: r || \"\",\n fontSize: n.size,\n font: n.family,\n fontColor: n.color\n };\n}\nfunction dY(e, t, r, n) {\n var a = e._tickround, i = r && e.hoverformat || Ye.getTickFormat(e);\n n = !i && n, n && (Jr(a) ? a = 4 : a = { y: \"m\", m: \"d\", d: \"M\", M: \"S\", S: 4 }[a]);\n var o = jt.formatDate(t.x, i, a, e._dateFormat, e.calendar, e._extraFormat), l, s = o.indexOf(`\n`);\n if (s !== -1 && (l = o.substr(s + 1), o = o.substr(0, s)), n && (l !== void 0 && (o === \"00:00:00\" || o === \"00:00\") ? (o = l, l = \"\") : o.length === 8 && (o = o.replace(/:00$/, \"\"))), l)\n if (r)\n a === \"d\" ? o += \", \" + l : o = l + (o ? \", \" + o : \"\");\n else if (!e._inCalcTicks || e._prevDateHead !== l)\n e._prevDateHead = l, o += \"
\" + l;\n else {\n var u = Mc(e), f = e._trueSide || e.side;\n (!u && f === \"top\" || u && f === \"bottom\") && (o += \"
\");\n }\n t.text = o;\n}\nfunction hY(e, t, r, n, a) {\n var i = e.dtick, o = t.x, l = e.tickformat, s = typeof i == \"string\" && i.charAt(0);\n if (a === \"never\" && (a = \"\"), n && s !== \"L\" && (i = \"L3\", s = \"L\"), l || s === \"L\")\n t.text = Ac(Math.pow(10, o), e, a, n);\n else if (Jr(i) || s === \"D\" && jt.mod(o + 0.01, 1) < 0.1) {\n var u = Math.round(o), f = Math.abs(u), d = e.exponentformat;\n d === \"power\" || gv(d) && Tb(u) ? (u === 0 ? t.text = 1 : u === 1 ? t.text = \"10\" : t.text = \"10\" + (u > 1 ? \"\" : Kl) + f + \"\", t.fontSize *= 1.25) : (d === \"e\" || d === \"E\") && f > 2 ? t.text = \"1\" + d + (u > 0 ? \"+\" : Kl) + f : (t.text = Ac(Math.pow(10, o), e, \"\", \"fakehover\"), i === \"D1\" && e._id.charAt(0) === \"y\" && (t.dy -= t.fontSize / 6));\n } else if (s === \"D\")\n t.text = String(Math.round(Math.pow(10, jt.mod(o, 1)))), t.fontSize *= 0.75;\n else throw \"unrecognized dtick \" + String(i);\n if (e.dtick === \"D1\") {\n var h = String(t.text).charAt(0);\n (h === \"0\" || h === \"1\") && (e._id.charAt(0) === \"y\" ? t.dx -= t.fontSize / 4 : (t.dy += t.fontSize / 2, t.dx += (e.range[1] > e.range[0] ? 1 : -1) * t.fontSize * (o < 0 ? 0.5 : 0.25)));\n }\n}\nfunction vY(e, t) {\n var r = e._categories[Math.round(t.x)];\n r === void 0 && (r = \"\"), t.text = String(r);\n}\nfunction pY(e, t, r) {\n var n = Math.round(t.x), a = e._categories[n] || [], i = a[1] === void 0 ? \"\" : String(a[1]), o = a[0] === void 0 ? \"\" : String(a[0]);\n r ? t.text = o + \" - \" + i : (t.text = i, t.text2 = o);\n}\nfunction mY(e, t, r, n, a) {\n a === \"never\" ? a = \"\" : e.showexponent === \"all\" && Math.abs(t.x / e.dtick) < 1e-6 && (a = \"hide\"), t.text = Ac(t.x, e, a, n);\n}\nfunction gY(e, t, r, n, a) {\n if (e.thetaunit === \"radians\" && !r) {\n var i = t.x / 180;\n if (i === 0)\n t.text = \"0\";\n else {\n var o = yY(i);\n if (o[1] >= 100)\n t.text = Ac(jt.deg2rad(t.x), e, a, n);\n else {\n var l = t.x < 0;\n o[1] === 1 ? o[0] === 1 ? t.text = \"π\" : t.text = o[0] + \"π\" : t.text = [\n \"\",\n o[0],\n \"\",\n \"⁄\",\n \"\",\n o[1],\n \"\",\n \"π\"\n ].join(\"\"), l && (t.text = Kl + t.text);\n }\n }\n } else\n t.text = Ac(t.x, e, a, n);\n}\nfunction yY(e) {\n function t(l, s) {\n return Math.abs(l - s) <= 1e-6;\n }\n function r(l, s) {\n return t(s, 0) ? l : r(s, l % s);\n }\n function n(l) {\n for (var s = 1; !t(Math.round(l * s) / s, l); )\n s *= 10;\n return s;\n }\n var a = n(e), i = e * a, o = Math.abs(r(i, a));\n return [\n // numerator\n Math.round(i / o),\n // denominator\n Math.round(a / o)\n ];\n}\nvar bY = [\"f\", \"p\", \"n\", \"μ\", \"m\", \"\", \"k\", \"M\", \"G\", \"T\"];\nfunction gv(e) {\n return e === \"SI\" || e === \"B\";\n}\nfunction Tb(e) {\n return e > 14 || e < -15;\n}\nfunction Ac(e, t, r, n) {\n var a = e < 0, i = t._tickround, o = r || t.exponentformat || \"B\", l = t._tickexponent, s = Ye.getTickFormat(t), u = t.separatethousands;\n if (n) {\n var f = {\n exponentformat: o,\n minexponent: t.minexponent,\n dtick: t.showexponent === \"none\" ? t.dtick : Jr(e) && Math.abs(e) || 1,\n // if not showing any exponents, don't change the exponent\n // from what we calculate\n range: t.showexponent === \"none\" ? t.range.map(t.r2d) : [0, e || 1]\n };\n V4(f), i = (Number(f._tickround) || 0) + 4, l = f._tickexponent, t.hoverformat && (s = t.hoverformat);\n }\n if (s) return t._numFormat(s)(e).replace(/-/g, Kl);\n var d = Math.pow(10, -i) / 2;\n if (o === \"none\" && (l = 0), e = Math.abs(e), e < d)\n e = \"0\", a = !1;\n else {\n if (e += d, l && (e *= Math.pow(10, -l), i += l), i === 0) e = String(Math.floor(e));\n else if (i < 0) {\n e = String(Math.round(e)), e = e.substr(0, e.length + i);\n for (var h = i; h < 0; h++) e += \"0\";\n } else {\n e = String(e);\n var p = e.indexOf(\".\") + 1;\n p && (e = e.substr(0, p + i).replace(/\\.?0+$/, \"\"));\n }\n e = jt.numSeparate(e, t._separators, u);\n }\n if (l && o !== \"hide\") {\n gv(o) && Tb(l) && (o = \"power\");\n var v;\n l < 0 ? v = Kl + -l : o !== \"power\" ? v = \"+\" + l : v = String(l), o === \"e\" || o === \"E\" ? e += o + v : o === \"power\" ? e += \"×10\" + v + \"\" : o === \"B\" && l === 9 ? e += \"B\" : gv(o) && (e += bY[l / 3 + 5]);\n }\n return a ? Kl + e : e;\n}\nYe.getTickFormat = function(e) {\n var t;\n function r(s) {\n return typeof s != \"string\" ? s : Number(s.replace(\"M\", \"\")) * Ru;\n }\n function n(s, u) {\n var f = [\"L\", \"D\"];\n if (typeof s == typeof u) {\n if (typeof s == \"number\")\n return s - u;\n var d = f.indexOf(s.charAt(0)), h = f.indexOf(u.charAt(0));\n return d === h ? Number(s.replace(/(L|D)/g, \"\")) - Number(u.replace(/(L|D)/g, \"\")) : d - h;\n } else\n return typeof s == \"number\" ? 1 : -1;\n }\n function a(s, u, f) {\n var d = f || function(v) {\n return v;\n }, h = u[0], p = u[1];\n return (!h && typeof h != \"number\" || d(h) <= d(s)) && (!p && typeof p != \"number\" || d(p) >= d(s));\n }\n function i(s, u) {\n var f = u[0] === null, d = u[1] === null, h = n(s, u[0]) >= 0, p = n(s, u[1]) <= 0;\n return (f || h) && (d || p);\n }\n var o, l;\n if (e.tickformatstops && e.tickformatstops.length > 0)\n switch (e.type) {\n case \"date\":\n case \"linear\": {\n for (t = 0; t < e.tickformatstops.length; t++)\n if (l = e.tickformatstops[t], l.enabled && a(e.dtick, l.dtickrange, r)) {\n o = l;\n break;\n }\n break;\n }\n case \"log\": {\n for (t = 0; t < e.tickformatstops.length; t++)\n if (l = e.tickformatstops[t], l.enabled && i(e.dtick, l.dtickrange)) {\n o = l;\n break;\n }\n break;\n }\n }\n return o ? o.value : e.tickformat;\n};\nYe.getSubplots = function(e, t) {\n var r = e._fullLayout._subplots, n = r.cartesian.concat(r.gl2d || []), a = t ? Ye.findSubplotsWithAxis(n, t) : n;\n return a.sort(function(i, o) {\n var l = i.substr(1).split(\"y\"), s = o.substr(1).split(\"y\");\n return l[0] === s[0] ? +l[1] - +s[1] : +l[0] - +s[0];\n }), a;\n};\nYe.findSubplotsWithAxis = function(e, t) {\n for (var r = new RegExp(\n t._id.charAt(0) === \"x\" ? \"^\" + t._id + \"y\" : t._id + \"$\"\n ), n = [], a = 0; a < e.length; a++) {\n var i = e[a];\n r.test(i) && n.push(i);\n }\n return n;\n};\nYe.makeClipPaths = function(e) {\n var t = e._fullLayout;\n if (!t._hasOnlyLargeSploms) {\n var r = { _offset: 0, _length: t.width, _id: \"\" }, n = { _offset: 0, _length: t.height, _id: \"\" }, a = Ye.list(e, \"x\", !0), i = Ye.list(e, \"y\", !0), o = [], l, s;\n for (l = 0; l < a.length; l++)\n for (o.push({ x: a[l], y: n }), s = 0; s < i.length; s++)\n l === 0 && o.push({ x: r, y: i[s] }), o.push({ x: a[l], y: i[s] });\n var u = t._clips.selectAll(\".axesclip\").data(o, function(f) {\n return f.x._id + f.y._id;\n });\n u.enter().append(\"clipPath\").classed(\"axesclip\", !0).attr(\"id\", function(f) {\n return \"clip\" + t._uid + f.x._id + f.y._id;\n }).append(\"rect\"), u.exit().remove(), u.each(function(f) {\n Na.select(this).select(\"rect\").attr({\n x: f.x._offset || 0,\n y: f.y._offset || 0,\n width: f.x._length || 1,\n height: f.y._length || 1\n });\n });\n }\n};\nYe.draw = function(e, t, r) {\n var n = e._fullLayout;\n t === \"redraw\" && n._paper.selectAll(\"g.subplot\").each(function(s) {\n var u = s[0], f = n._plots[u];\n if (f) {\n var d = f.xaxis, h = f.yaxis;\n f.xaxislayer.selectAll(\".\" + d._id + \"tick\").remove(), f.yaxislayer.selectAll(\".\" + h._id + \"tick\").remove(), f.xaxislayer.selectAll(\".\" + d._id + \"tick2\").remove(), f.yaxislayer.selectAll(\".\" + h._id + \"tick2\").remove(), f.xaxislayer.selectAll(\".\" + d._id + \"divider\").remove(), f.yaxislayer.selectAll(\".\" + h._id + \"divider\").remove(), f.minorGridlayer && f.minorGridlayer.selectAll(\"path\").remove(), f.gridlayer && f.gridlayer.selectAll(\"path\").remove(), f.zerolinelayer && f.zerolinelayer.selectAll(\"path\").remove(), n._infolayer.select(\".g-\" + d._id + \"title\").remove(), n._infolayer.select(\".g-\" + h._id + \"title\").remove();\n }\n });\n var a = !t || t === \"redraw\" ? Ye.listIds(e) : t, i = Ye.list(e), o = i.filter(function(s) {\n return s.autoshift;\n }).map(function(s) {\n return s.overlaying;\n });\n a.map(function(s) {\n var u = Ye.getFromId(e, s);\n if (u.tickmode === \"sync\" && u.overlaying) {\n var f = a.findIndex(function(d) {\n return d === u.overlaying;\n });\n f >= 0 && a.unshift(a.splice(f, 1).shift());\n }\n });\n var l = { false: { left: 0, right: 0 } };\n return jt.syncOrAsync(a.map(function(s) {\n return function() {\n if (s) {\n var u = Ye.getFromId(e, s);\n r || (r = {}), r.axShifts = l, r.overlayingShiftedAx = o;\n var f = Ye.drawOne(e, u, r);\n return u._shiftPusher && Ey(u, u._fullDepth || 0, l, !0), u._r = u.range.slice(), u._rl = jt.simpleMap(u._r, u.r2l), f;\n }\n };\n }));\n};\nYe.drawOne = function(e, t, r) {\n r = r || {};\n var n = r.axShifts || {}, a = r.overlayingShiftedAx || [], i, o, l;\n t.setScale();\n var s = e._fullLayout, u = t._id, f = u.charAt(0), d = Ye.counterLetter(u), h = s._plots[t._mainSubplot];\n if (!h) return;\n if (t._shiftPusher = t.autoshift || a.indexOf(t._id) !== -1 || a.indexOf(t.overlaying) !== -1, t._shiftPusher & t.anchor === \"free\") {\n var p = t.linewidth / 2 || 0;\n t.ticks === \"inside\" && (p += t.ticklen), Ey(t, p, n, !0), Ey(t, t.shift || 0, n, !1);\n }\n (r.skipTitle !== !0 || t._shift === void 0) && (t._shift = FY(t, n));\n var v = h[f + \"axislayer\"], m = t._mainLinePosition, g = m += t._shift, y = t._mainMirrorPosition, w = t._vals = Ye.calcTicks(t), k = [t.mirror, g, y].join(\"_\");\n for (i = 0; i < w.length; i++)\n w[i].axInfo = k;\n t._selections = {}, t._tickAngles && (t._prevTickAngles = t._tickAngles), t._tickAngles = {}, t._depth = null;\n var x = {};\n function _(Fe) {\n var Oe = u + (Fe || \"tick\");\n return x[Oe] || (x[Oe] = TY(t, Oe)), x[Oe];\n }\n if (t.visible) {\n var T = Ye.makeTransTickFn(t), S = Ye.makeTransTickLabelFn(t), M, L, F = t.ticks === \"inside\", $ = t.ticks === \"outside\";\n if (t.tickson === \"boundaries\") {\n var I = _Y(t, w);\n L = Ye.clipEnds(t, I), M = F ? L : I;\n } else\n L = Ye.clipEnds(t, w), M = F && t.ticklabelmode !== \"period\" ? L : w;\n var O = t._gridVals = L, G = wY(t, w);\n if (!s._hasOnlyLargeSploms) {\n var K = t._subplotsWith, V = {};\n for (i = 0; i < K.length; i++) {\n o = K[i], l = s._plots[o];\n var z = l[d + \"axis\"], P = z._mainAxis._id;\n if (!V[P]) {\n V[P] = 1;\n var R = f === \"x\" ? \"M0,\" + z._offset + \"v\" + z._length : \"M\" + z._offset + \",0h\" + z._length;\n Ye.drawGrid(e, t, {\n vals: O,\n counterAxis: z,\n layer: l.gridlayer.select(\".\" + u),\n minorLayer: l.minorGridlayer.select(\".\" + u),\n path: R,\n transFn: T\n }), Ye.drawZeroLine(e, t, {\n counterAxis: z,\n layer: l.zerolinelayer,\n path: R,\n transFn: T\n });\n }\n }\n }\n var H, B = Ye.getTickSigns(t), W = Ye.getTickSigns(t, \"minor\");\n if (t.ticks || t.minor && t.minor.ticks) {\n var ee = Ye.makeTickPath(t, g, B[2]), re = Ye.makeTickPath(t, g, W[2], { minor: !0 }), ae, Q, ue, j;\n if (t._anchorAxis && t.mirror && t.mirror !== !0 ? (ae = Ye.makeTickPath(t, y, B[3]), Q = Ye.makeTickPath(t, y, W[3], { minor: !0 }), ue = ee + ae, j = re + Q) : (ae = \"\", Q = \"\", ue = ee, j = re), t.showdividers && $ && t.tickson === \"boundaries\") {\n var U = {};\n for (i = 0; i < G.length; i++)\n U[G[i].x] = 1;\n H = function(Fe) {\n return U[Fe.x] ? ae : ue;\n };\n } else\n H = function(Fe) {\n return Fe.minor ? j : ue;\n };\n }\n if (Ye.drawTicks(e, t, {\n vals: M,\n layer: v,\n path: H,\n transFn: T\n }), t.mirror === \"allticks\") {\n var Z = Object.keys(t._linepositions || {});\n for (i = 0; i < Z.length; i++) {\n o = Z[i], l = s._plots[o];\n var le = t._linepositions[o] || [], J = le[0], pe = le[1], ge = le[2], ve = Ye.makeTickPath(\n t,\n J,\n ge ? B[0] : W[0],\n { minor: ge }\n ) + Ye.makeTickPath(\n t,\n pe,\n ge ? B[1] : W[1],\n { minor: ge }\n );\n Ye.drawTicks(e, t, {\n vals: M,\n layer: l[f + \"axislayer\"],\n path: ve,\n transFn: T\n });\n }\n }\n var me = [];\n if (me.push(function() {\n return Ye.drawLabels(e, t, {\n vals: w,\n layer: v,\n plotinfo: l,\n transFn: S,\n labelFns: Ye.makeLabelFns(t, g)\n });\n }), t.type === \"multicategory\") {\n var Le = { x: 2, y: 10 }[f];\n me.push(function() {\n var Fe = { x: \"height\", y: \"width\" }[f], Oe = _()[Fe] + Le + (t._tickAngles[u + \"tick\"] ? t.tickfont.size * pv : 0);\n return Ye.drawLabels(e, t, {\n vals: xY(t, w),\n layer: v,\n cls: u + \"tick2\",\n repositionOnUpdate: !0,\n secondary: !0,\n transFn: T,\n labelFns: Ye.makeLabelFns(t, g + Oe * B[4])\n });\n }), me.push(function() {\n return t._depth = B[4] * (_(\"tick2\")[t.side] - g), AY(e, t, {\n vals: G,\n layer: v,\n path: Ye.makeTickPath(t, g, B[4], { len: t._depth }),\n transFn: T\n });\n });\n } else t.title.hasOwnProperty(\"standoff\") && me.push(function() {\n t._depth = B[4] * (_()[t.side] - g);\n });\n var ze = Tc.getComponentMethod(\"rangeslider\", \"isVisible\")(t);\n return !r.skipTitle && !(ze && t.side === \"bottom\") && me.push(function() {\n return MY(e, t);\n }), me.push(function() {\n var Fe = t.side.charAt(0), Oe = QZ[t.side].charAt(0), Re = Ye.getPxPosition(e, t), We = $ ? t.ticklen : 0, Me, Ve, qe, Qe;\n (t.automargin || ze || t._shiftPusher) && (t.type === \"multicategory\" ? Me = _(\"tick2\") : (Me = _(), f === \"x\" && Fe === \"b\" && (t._depth = Math.max(Me.width > 0 ? Me.bottom - Re : 0, We))));\n var ot = 0, ht = 0;\n if (t._shiftPusher && (ot = Math.max(\n We,\n Me.height > 0 ? Fe === \"l\" ? Re - Me.left : Me.right - Re : 0\n ), t.title.text !== s._dfltTitle[f] && (ht = (t._titleStandoff || 0) + (t._titleScoot || 0), Fe === \"l\" && (ht += Ly(t))), t._fullDepth = Math.max(ot, ht)), t.automargin) {\n Ve = { x: 0, y: 0, r: 0, l: 0, t: 0, b: 0 };\n var vt = [0, 1], nt = typeof t._shift == \"number\" ? t._shift : 0;\n if (f === \"x\") {\n if (Fe === \"b\" ? Ve[Fe] = t._depth : (Ve[Fe] = t._depth = Math.max(Me.width > 0 ? Re - Me.top : 0, We), vt.reverse()), Me.width > 0) {\n var ft = Me.right - (t._offset + t._length);\n ft > 0 && (Ve.xr = 1, Ve.r = ft);\n var Pe = t._offset - Me.left;\n Pe > 0 && (Ve.xl = 0, Ve.l = Pe);\n }\n } else if (Fe === \"l\" ? (t._depth = Math.max(Me.height > 0 ? Re - Me.left : 0, We), Ve[Fe] = t._depth - nt) : (t._depth = Math.max(Me.height > 0 ? Me.right - Re : 0, We), Ve[Fe] = t._depth + nt, vt.reverse()), Me.height > 0) {\n var Ie = Me.bottom - (t._offset + t._length);\n Ie > 0 && (Ve.yb = 0, Ve.b = Ie);\n var Ne = t._offset - Me.top;\n Ne > 0 && (Ve.yt = 1, Ve.t = Ne);\n }\n Ve[d] = t.anchor === \"free\" ? t.position : t._anchorAxis.domain[vt[0]], t.title.text !== s._dfltTitle[f] && (Ve[Fe] += Ly(t) + (t.title.standoff || 0)), t.mirror && t.anchor !== \"free\" && (qe = { x: 0, y: 0, r: 0, l: 0, t: 0, b: 0 }, qe[Oe] = t.linewidth, t.mirror && t.mirror !== !0 && (qe[Oe] += We), t.mirror === !0 || t.mirror === \"ticks\" ? qe[d] = t._anchorAxis.domain[vt[1]] : (t.mirror === \"all\" || t.mirror === \"allticks\") && (qe[d] = [t._counterDomainMin, t._counterDomainMax][vt[1]]));\n }\n ze && (Qe = Tc.getComponentMethod(\"rangeslider\", \"autoMarginOpts\")(e, t)), typeof t.automargin == \"string\" && (JT(Ve, t.automargin), JT(qe, t.automargin)), bu.autoMargin(e, kb(t), Ve), bu.autoMargin(e, W4(t), qe), bu.autoMargin(e, Z4(t), Qe);\n }), jt.syncOrAsync(me);\n }\n};\nfunction JT(e, t) {\n if (e) {\n var r = Object.keys(VT).reduce(function(n, a) {\n return t.indexOf(a) !== -1 && VT[a].forEach(function(i) {\n n[i] = 1;\n }), n;\n }, {});\n Object.keys(e).forEach(function(n) {\n r[n] || (n.length === 1 ? e[n] = 0 : delete e[n]);\n });\n }\n}\nfunction _Y(e, t) {\n var r = [], n, a = function(i, o) {\n var l = i.xbnd[o];\n l !== null && r.push(jt.extendFlat({}, i, { x: l }));\n };\n if (t.length) {\n for (n = 0; n < t.length; n++)\n a(t[n], 0);\n a(t[n - 1], 1);\n }\n return r;\n}\nfunction xY(e, t) {\n for (var r = [], n = {}, a = 0; a < t.length; a++) {\n var i = t[a];\n n[i.text2] ? n[i.text2].push(i.x) : n[i.text2] = [i.x];\n }\n for (var o in n)\n r.push(wb(e, jt.interp(n[o], 0.5), o));\n return r;\n}\nfunction wY(e, t) {\n var r = [], n, a, i = t.length && t[t.length - 1].x < t[0].x, o = function(s, u) {\n var f = s.xbnd[u];\n f !== null && r.push(jt.extendFlat({}, s, { x: f }));\n };\n if (e.showdividers && t.length) {\n for (n = 0; n < t.length; n++) {\n var l = t[n];\n l.text2 !== a && o(l, i ? 1 : 0), a = l.text2;\n }\n o(t[n - 1], i ? 0 : 1);\n }\n return r;\n}\nfunction TY(e, t) {\n var r, n, a, i;\n return e._selections[t].size() ? (r = 1 / 0, n = -1 / 0, a = 1 / 0, i = -1 / 0, e._selections[t].each(function() {\n var o = Dy(this), l = ya.bBox(o.node().parentNode);\n r = Math.min(r, l.top), n = Math.max(n, l.bottom), a = Math.min(a, l.left), i = Math.max(i, l.right);\n })) : (r = 0, n = 0, a = 0, i = 0), {\n top: r,\n bottom: n,\n left: a,\n right: i,\n height: n - r,\n width: i - a\n };\n}\nYe.getTickSigns = function(e, t) {\n var r = e._id.charAt(0), n = { x: \"top\", y: \"right\" }[r], a = e.side === n ? 1 : -1, i = [-1, 1, a, -a], o = t ? (e.minor || {}).ticks : e.ticks;\n return o !== \"inside\" == (r === \"x\") && (i = i.map(function(l) {\n return -l;\n })), e.side && i.push({ l: -1, t: -1, r: 1, b: 1 }[e.side.charAt(0)]), i;\n};\nYe.makeTransTickFn = function(e) {\n return e._id.charAt(0) === \"x\" ? function(t) {\n return Fu(e._offset + e.l2p(t.x), 0);\n } : function(t) {\n return Fu(0, e._offset + e.l2p(t.x));\n };\n};\nYe.makeTransTickLabelFn = function(e) {\n var t = kY(e), r = t[0], n = t[1];\n return e._id.charAt(0) === \"x\" ? function(a) {\n return Fu(\n r + e._offset + e.l2p(Cy(a)),\n n\n );\n } : function(a) {\n return Fu(\n n,\n r + e._offset + e.l2p(Cy(a))\n );\n };\n};\nfunction Cy(e) {\n return e.periodX !== void 0 ? e.periodX : e.x;\n}\nfunction kY(e) {\n var t = e.ticklabelposition || \"\", r = function(p) {\n return t.indexOf(p) !== -1;\n }, n = r(\"top\"), a = r(\"left\"), i = r(\"right\"), o = r(\"bottom\"), l = r(\"inside\"), s = o || a || n || i;\n if (!s && !l) return [0, 0];\n var u = e.side, f = s ? (e.tickwidth || 0) / 2 : 0, d = mv, h = e.tickfont ? e.tickfont.size : 12;\n return (o || n) && (f += h * Jl, d += (e.linewidth || 0) / 2), (a || i) && (f += (e.linewidth || 0) / 2, d += mv), l && u === \"top\" && (d -= h * (1 - Jl)), (a || n) && (f = -f), (u === \"bottom\" || u === \"right\") && (d = -d), [\n s ? f : 0,\n l ? d : 0\n ];\n}\nYe.makeTickPath = function(e, t, r, n) {\n n || (n = {});\n var a = n.minor;\n if (a && !e.minor) return \"\";\n var i = n.len !== void 0 ? n.len : a ? e.minor.ticklen : e.ticklen, o = e._id.charAt(0), l = (e.linewidth || 1) / 2;\n return o === \"x\" ? \"M0,\" + (t + l * r) + \"v\" + i * r : \"M\" + (t + l * r) + \",0h\" + i * r;\n};\nYe.makeLabelFns = function(e, t, r) {\n var n = e.ticklabelposition || \"\", a = function(I) {\n return n.indexOf(I) !== -1;\n }, i = a(\"top\"), o = a(\"left\"), l = a(\"right\"), s = a(\"bottom\"), u = s || o || i || l, f = a(\"inside\"), d = n === \"inside\" && e.ticks === \"inside\" || !f && e.ticks === \"outside\" && e.tickson !== \"boundaries\", h = 0, p = 0, v = d ? e.ticklen : 0;\n if (f ? v *= -1 : u && (v = 0), d && (h += v, r)) {\n var m = jt.deg2rad(r);\n h = v * Math.cos(m) + 1, p = v * Math.sin(m);\n }\n e.showticklabels && (d || e.showline) && (h += 0.2 * e.tickfont.size), h += (e.linewidth || 1) / 2 * (f ? -1 : 1);\n var g = {\n labelStandoff: h,\n labelShift: p\n }, y, w, k, x, _ = 0, T = e.side, S = e._id.charAt(0), M = e.tickangle, L;\n if (S === \"x\")\n L = !f && T === \"bottom\" || f && T === \"top\", x = L ? 1 : -1, f && (x *= -1), y = p * x, w = t + h * x, k = L ? 1 : -0.2, Math.abs(M) === 90 && (f ? k += Jd : M === -90 && T === \"bottom\" ? k = Jl : M === 90 && T === \"top\" ? k = Jd : k = 0.5, _ = Jd / 2 * (M / 90)), g.xFn = function(I) {\n return I.dx + y + _ * I.fontSize;\n }, g.yFn = function(I) {\n return I.dy + w + I.fontSize * k;\n }, g.anchorFn = function(I, O) {\n if (u) {\n if (o) return \"end\";\n if (l) return \"start\";\n }\n return !Jr(O) || O === 0 || O === 180 ? \"middle\" : O * x < 0 !== f ? \"end\" : \"start\";\n }, g.heightFn = function(I, O, G) {\n return O < -60 || O > 60 ? -0.5 * G : e.side === \"top\" !== f ? -G : 0;\n };\n else if (S === \"y\") {\n if (L = !f && T === \"left\" || f && T === \"right\", x = L ? 1 : -1, f && (x *= -1), y = h, w = p * x, k = 0, !f && Math.abs(M) === 90 && (M === -90 && T === \"left\" || M === 90 && T === \"right\" ? k = Jl : k = 0.5), f) {\n var F = Jr(M) ? +M : 0;\n if (F !== 0) {\n var $ = jt.deg2rad(F);\n _ = Math.abs(Math.sin($)) * Jl * x, k = 0;\n }\n }\n g.xFn = function(I) {\n return I.dx + t - (y + I.fontSize * k) * x + _ * I.fontSize;\n }, g.yFn = function(I) {\n return I.dy + w + I.fontSize * Jd;\n }, g.anchorFn = function(I, O) {\n return Jr(O) && Math.abs(O) === 90 ? \"middle\" : L ? \"end\" : \"start\";\n }, g.heightFn = function(I, O, G) {\n return e.side === \"right\" && (O *= -1), O < -30 ? -G : O < 30 ? -0.5 * G : 0;\n };\n }\n return g;\n};\nfunction Fp(e) {\n return [e.text, e.x, e.axInfo, e.font, e.fontSize, e.fontColor].join(\"_\");\n}\nYe.drawTicks = function(e, t, r) {\n r = r || {};\n var n = t._id + \"tick\", a = [].concat(\n t.minor && t.minor.ticks ? (\n // minor vals\n r.vals.filter(function(o) {\n return o.minor && !o.noTick;\n })\n ) : []\n ).concat(\n t.ticks ? (\n // major vals\n r.vals.filter(function(o) {\n return !o.minor && !o.noTick;\n })\n ) : []\n ), i = r.layer.selectAll(\"path.\" + n).data(a, Fp);\n i.exit().remove(), i.enter().append(\"path\").classed(n, 1).classed(\"ticks\", 1).classed(\"crisp\", r.crisp !== !1).each(function(o) {\n return kc.stroke(Na.select(this), o.minor ? t.minor.tickcolor : t.tickcolor);\n }).style(\"stroke-width\", function(o) {\n return ya.crispRound(\n e,\n o.minor ? t.minor.tickwidth : t.tickwidth,\n 1\n ) + \"px\";\n }).attr(\"d\", r.path).style(\"display\", null), Rp(t, [H4]), i.attr(\"transform\", r.transFn);\n};\nYe.drawGrid = function(e, t, r) {\n if (r = r || {}, t.tickmode !== \"sync\") {\n var n = t._id + \"grid\", a = t.minor && t.minor.showgrid, i = a ? r.vals.filter(function(y) {\n return y.minor;\n }) : [], o = t.showgrid ? r.vals.filter(function(y) {\n return !y.minor;\n }) : [], l = r.counterAxis;\n if (l && Ye.shouldShowZeroLine(e, t, l))\n for (var s = t.tickmode === \"array\", u = 0; u < o.length; u++) {\n var f = o[u].x;\n if (s ? !f : Math.abs(f) < t.dtick / 100)\n if (o = o.slice(0, u).concat(o.slice(u + 1)), s) u--;\n else break;\n }\n t._gw = ya.crispRound(e, t.gridwidth, 1);\n for (var d = a ? ya.crispRound(e, t.minor.gridwidth, 1) : 0, h = r.layer, p = r.minorLayer, v = 1; v >= 0; v--) {\n var m = v ? h : p;\n if (m) {\n var g = m.selectAll(\"path.\" + n).data(v ? o : i, Fp);\n g.exit().remove(), g.enter().append(\"path\").classed(n, 1).classed(\"crisp\", r.crisp !== !1), g.attr(\"transform\", r.transFn).attr(\"d\", r.path).each(function(y) {\n return kc.stroke(\n Na.select(this),\n y.minor ? t.minor.gridcolor : t.gridcolor || \"#ddd\"\n );\n }).style(\"stroke-dasharray\", function(y) {\n return ya.dashStyle(\n y.minor ? t.minor.griddash : t.griddash,\n y.minor ? t.minor.gridwidth : t.gridwidth\n );\n }).style(\"stroke-width\", function(y) {\n return (y.minor ? d : t._gw) + \"px\";\n }).style(\"display\", null), typeof r.path == \"function\" && g.attr(\"d\", r.path);\n }\n }\n Rp(t, [My, Sy]);\n }\n};\nYe.drawZeroLine = function(e, t, r) {\n r = r || r;\n var n = t._id + \"zl\", a = Ye.shouldShowZeroLine(e, t, r.counterAxis), i = r.layer.selectAll(\"path.\" + n).data(a ? [{ x: 0, id: t._id }] : []);\n i.exit().remove(), i.enter().append(\"path\").classed(n, 1).classed(\"zl\", 1).classed(\"crisp\", r.crisp !== !1).each(function() {\n r.layer.selectAll(\"path\").sort(function(o, l) {\n return tY(o.id, l.id);\n });\n }), i.attr(\"transform\", r.transFn).attr(\"d\", r.path).call(kc.stroke, t.zerolinecolor || kc.defaultLine).style(\"stroke-width\", ya.crispRound(e, t.zerolinewidth, t._gw || 1) + \"px\").style(\"display\", null), Rp(t, [Ay]);\n};\nYe.drawLabels = function(e, t, r) {\n r = r || {};\n var n = e._fullLayout, a = t._id, i = a.charAt(0), o = r.cls || a + \"tick\", l = r.vals.filter(function(G) {\n return G.text;\n }), s = r.labelFns, u = r.secondary ? 0 : t.tickangle, f = (t._prevTickAngles || {})[o], d = r.layer.selectAll(\"g.\" + o).data(t.showticklabels ? l : [], Fp), h = [];\n d.enter().append(\"g\").classed(o, 1).append(\"text\").attr(\"text-anchor\", \"middle\").each(function(G) {\n var K = Na.select(this), V = e._promises.length;\n K.call(Yf.positionText, s.xFn(G), s.yFn(G)).call(ya.font, G.font, G.fontSize, G.fontColor).text(G.text).call(Yf.convertToTspans, e), e._promises[V] ? h.push(e._promises.pop().then(function() {\n p(K, u);\n })) : p(K, u);\n }), Rp(t, [GT]), d.exit().remove(), r.repositionOnUpdate && d.each(function(G) {\n Na.select(this).select(\"text\").call(Yf.positionText, s.xFn(G), s.yFn(G));\n });\n function p(G, K) {\n G.each(function(V) {\n var z = Na.select(this), P = z.select(\".text-math-group\"), R = s.anchorFn(V, K), H = r.transFn.call(z.node(), V) + (Jr(K) && +K != 0 ? \" rotate(\" + K + \",\" + s.xFn(V) + \",\" + (s.yFn(V) - V.fontSize / 2) + \")\" : \"\"), B = Yf.lineCount(z), W = pv * V.fontSize, ee = s.heightFn(V, Jr(K) ? +K : 0, (B - 1) * W);\n if (ee && (H += Fu(0, ee)), P.empty()) {\n var re = z.select(\"text\");\n re.attr({\n transform: H,\n \"text-anchor\": R\n }), re.style(\"opacity\", 1), t._adjustTickLabelsOverflow && t._adjustTickLabelsOverflow();\n } else {\n var ae = ya.bBox(P.node()).width, Q = ae * { end: -0.5, start: 0.5 }[R];\n P.attr(\"transform\", H + Fu(Q, 0));\n }\n });\n }\n t._adjustTickLabelsOverflow = function() {\n var G = t.ticklabeloverflow;\n if (!(!G || G === \"allow\")) {\n var K = G.indexOf(\"hide\") !== -1, V = t._id.charAt(0) === \"x\", z = 0, P = V ? e._fullLayout.width : e._fullLayout.height;\n if (G.indexOf(\"domain\") !== -1) {\n var R = jt.simpleMap(t.range, t.r2l);\n z = t.l2p(R[0]) + t._offset, P = t.l2p(R[1]) + t._offset;\n }\n var H = Math.min(z, P), B = Math.max(z, P), W = t.side, ee = 1 / 0, re = -1 / 0;\n d.each(function(j) {\n var U = Na.select(this), Z = U.select(\".text-math-group\");\n if (Z.empty()) {\n var le = ya.bBox(U.node()), J = 0;\n V ? (le.right > B || le.left < H) && (J = 1) : (le.bottom > B || le.top + (t.tickangle ? 0 : j.fontSize / 4) < H) && (J = 1);\n var pe = U.select(\"text\");\n J ? K && pe.style(\"opacity\", 0) : (pe.style(\"opacity\", 1), W === \"bottom\" || W === \"right\" ? ee = Math.min(ee, V ? le.top : le.left) : ee = -1 / 0, W === \"top\" || W === \"left\" ? re = Math.max(re, V ? le.bottom : le.right) : re = 1 / 0);\n }\n });\n for (var ae in n._plots) {\n var Q = n._plots[ae];\n if (!(t._id !== Q.xaxis._id && t._id !== Q.yaxis._id)) {\n var ue = V ? Q.yaxis : Q.xaxis;\n ue && (ue[\"_visibleLabelMin_\" + t._id] = ee, ue[\"_visibleLabelMax_\" + t._id] = re);\n }\n }\n }\n }, t._hideCounterAxisInsideTickLabels = function(G) {\n var K = t._id.charAt(0) === \"x\", V = [];\n for (var z in n._plots) {\n var P = n._plots[z];\n t._id !== P.xaxis._id && t._id !== P.yaxis._id || V.push(K ? P.yaxis : P.xaxis);\n }\n V.forEach(function(R, H) {\n R && Mc(R) && (G || [\n Ay,\n Sy,\n My,\n H4,\n GT\n ]).forEach(function(B) {\n var W = B.K === \"tick\" && B.L === \"text\" && t.ticklabelmode === \"period\", ee = n._plots[t._mainSubplot], re;\n B.K === Ay.K ? re = ee.zerolinelayer.selectAll(\".\" + t._id + \"zl\") : B.K === Sy.K ? re = ee.minorGridlayer.selectAll(\".\" + t._id) : B.K === My.K ? re = ee.gridlayer.selectAll(\".\" + t._id) : re = ee[t._id.charAt(0) + \"axislayer\"], re.each(function() {\n var ae = Na.select(this);\n B.L && (ae = ae.selectAll(B.L)), ae.each(function(Q) {\n var ue = t.l2p(\n W ? Cy(Q) : Q.x\n ) + t._offset, j = Na.select(this);\n ue < t[\"_visibleLabelMax_\" + R._id] && ue > t[\"_visibleLabelMin_\" + R._id] ? j.style(\"display\", \"none\") : B.K === \"tick\" && !H && j.style(\"display\", null);\n });\n });\n });\n });\n }, p(d, f + 1 ? f : u);\n function v() {\n return h.length && Promise.all(h);\n }\n var m = null;\n function g() {\n if (p(d, u), l.length && i === \"x\" && !Jr(u) && (t.type !== \"log\" || String(t.dtick).charAt(0) !== \"D\")) {\n m = 0;\n var G = 0, K = [], V;\n if (d.each(function(le) {\n G = Math.max(G, le.fontSize);\n var J = t.l2p(le.x), pe = Dy(this), ge = ya.bBox(pe.node());\n K.push({\n // ignore about y, just deal with x overlaps\n top: 0,\n bottom: 10,\n height: 10,\n left: J - ge.width / 2,\n // impose a 2px gap\n right: J + ge.width / 2 + 2,\n width: ge.width + 2\n });\n }), (t.tickson === \"boundaries\" || t.showdividers) && !r.secondary) {\n var z = 2;\n for (t.ticks && (z += t.tickwidth / 2), V = 0; V < K.length; V++) {\n var P = l[V].xbnd, R = K[V];\n if (P[0] !== null && R.left - t.l2p(P[0]) < z || P[1] !== null && t.l2p(P[1]) - R.right < z) {\n m = 90;\n break;\n }\n }\n } else {\n var H = l.length, B = Math.abs((l[H - 1].x - l[0].x) * t._m) / (H - 1), W = t.ticklabelposition || \"\", ee = function(le) {\n return W.indexOf(le) !== -1;\n }, re = ee(\"top\"), ae = ee(\"left\"), Q = ee(\"right\"), ue = ee(\"bottom\"), j = ue || ae || re || Q, U = j ? (t.tickwidth || 0) + 2 * mv : 0, Z = B < G * 2.5 || t.type === \"multicategory\" || t._name === \"realaxis\";\n for (V = 0; V < K.length - 1; V++)\n if (jt.bBoxIntersect(K[V], K[V + 1], U)) {\n m = Z ? 90 : 30;\n break;\n }\n }\n m && p(d, m);\n }\n }\n t._selections && (t._selections[o] = d);\n var y = [v];\n t.automargin && n._redrawFromAutoMarginCount && f === 90 ? (m = 90, y.push(function() {\n p(d, f);\n })) : y.push(g), t._tickAngles && y.push(function() {\n t._tickAngles[o] = m === null ? Jr(u) ? u : 0 : m;\n });\n var w = function() {\n var G = 0, K = 0;\n return d.each(function(V, z) {\n var P = Dy(this), R = P.select(\".text-math-group\");\n if (R.empty()) {\n var H;\n t._vals[z] && (H = t._vals[z].bb || ya.bBox(P.node()), t._vals[z].bb = H), G = Math.max(G, H.width), K = Math.max(K, H.height);\n }\n }), {\n labelsMaxW: G,\n labelsMaxH: K\n };\n }, k = t._anchorAxis;\n if (k && (k.autorange || k.insiderange) && Mc(t) && !rY(n, t._id) && (n._insideTickLabelsUpdaterange || (n._insideTickLabelsUpdaterange = {}), k.autorange && (n._insideTickLabelsUpdaterange[k._name + \".autorange\"] = k.autorange, y.push(w)), k.insiderange)) {\n var x = w(), _ = t._id.charAt(0) === \"y\" ? x.labelsMaxW : x.labelsMaxH;\n _ += 2 * mv, t.ticklabelposition === \"inside\" && (_ += t.ticklen || 0);\n var T = t.side === \"right\" || t.side === \"top\" ? 1 : -1, S = T === 1 ? 1 : 0, M = T === 1 ? 0 : 1, L = [];\n L[M] = k.range[M];\n var F = k.d2p(k.range[S]), $ = k.d2p(k.range[M]), I = Math.abs($ - F);\n I - _ > 0 ? (I -= _, _ *= 1 + _ / I) : _ = 0, t._id.charAt(0) !== \"y\" && (_ = -_), L[S] = k.p2d(\n k.d2p(k.range[S]) + T * _\n ), k.autorange === \"min\" || k.autorange === \"max reversed\" ? (L[0] = null, k._rangeInitial0 = void 0, k._rangeInitial1 = void 0) : (k.autorange === \"max\" || k.autorange === \"min reversed\") && (L[1] = null, k._rangeInitial0 = void 0, k._rangeInitial1 = void 0), n._insideTickLabelsUpdaterange[k._name + \".range\"] = L;\n }\n var O = jt.syncOrAsync(y);\n return O && O.then && e._promises.push(O), O;\n};\nfunction AY(e, t, r) {\n var n = t._id + \"divider\", a = r.vals, i = r.layer.selectAll(\"path.\" + n).data(a, Fp);\n i.exit().remove(), i.enter().insert(\"path\", \":first-child\").classed(n, 1).classed(\"crisp\", 1).call(kc.stroke, t.dividercolor).style(\"stroke-width\", ya.crispRound(e, t.dividerwidth, 1) + \"px\"), i.attr(\"transform\", r.transFn).attr(\"d\", r.path);\n}\nYe.getPxPosition = function(e, t) {\n var r = e._fullLayout._size, n = t._id.charAt(0), a = t.side, i;\n if (t.anchor !== \"free\" ? i = t._anchorAxis : n === \"x\" ? i = {\n _offset: r.t + (1 - (t.position || 0)) * r.h,\n _length: 0\n } : n === \"y\" && (i = {\n _offset: r.l + (t.position || 0) * r.w + t._shift,\n _length: 0\n }), a === \"top\" || a === \"left\")\n return i._offset;\n if (a === \"bottom\" || a === \"right\")\n return i._offset + i._length;\n};\nfunction Ly(e) {\n var t = e.title.font.size, r = (e.title.text.match(Yf.BR_TAG_ALL) || []).length;\n return e.title.hasOwnProperty(\"standoff\") ? r ? t * (Jl + r * pv) : t * Jl : r ? t * (r + 1) * pv : t;\n}\nfunction MY(e, t) {\n var r = e._fullLayout, n = t._id, a = n.charAt(0), i = t.title.font.size, o;\n if (t.title.hasOwnProperty(\"standoff\"))\n o = t._depth + t.title.standoff + Ly(t);\n else {\n var l = Mc(t);\n if (t.type === \"multicategory\")\n o = t._depth;\n else {\n var s = 1.5 * i;\n l && (s = 0.5 * i, t.ticks === \"outside\" && (s += t.ticklen)), o = 10 + s + (t.linewidth ? t.linewidth - 1 : 0);\n }\n l || (a === \"x\" ? o += t.side === \"top\" ? i * (t.showticklabels ? 1 : 0) : i * (t.showticklabels ? 1.5 : 0.5) : o += t.side === \"right\" ? i * (t.showticklabels ? 1 : 0.5) : i * (t.showticklabels ? 0.5 : 0));\n }\n var u = Ye.getPxPosition(e, t), f, d, h;\n a === \"x\" ? (d = t._offset + t._length / 2, h = t.side === \"top\" ? u - o : u + o) : (h = t._offset + t._length / 2, d = t.side === \"right\" ? u + o : u - o, f = { rotate: \"-90\", offset: 0 });\n var p;\n if (t.type !== \"multicategory\") {\n var v = t._selections[t._id + \"tick\"];\n if (p = {\n selection: v,\n side: t.side\n }, v && v.node() && v.node().parentNode) {\n var m = ya.getTranslate(v.node().parentNode);\n p.offsetLeft = m.x, p.offsetTop = m.y;\n }\n t.title.hasOwnProperty(\"standoff\") && (p.pad = 0);\n }\n return t._titleStandoff = o, ZZ.draw(e, n + \"title\", {\n propContainer: t,\n propName: t._name + \".title.text\",\n placeholder: r._dfltTitle[a],\n avoid: p,\n transform: f,\n attributes: { x: d, y: h, \"text-anchor\": \"middle\" }\n });\n}\nYe.shouldShowZeroLine = function(e, t, r) {\n var n = jt.simpleMap(t.range, t.r2l);\n return n[0] * n[1] <= 0 && t.zeroline && (t.type === \"linear\" || t.type === \"-\") && !(t.rangebreaks && t.maskBreaks(0) === Dp) && (q4(t, 0) || !SY(e, t, r, n) || CY(e, t));\n};\nYe.clipEnds = function(e, t) {\n return t.filter(function(r) {\n return q4(e, r.x);\n });\n};\nfunction q4(e, t) {\n var r = e.l2p(t);\n return r > 1 && r < e._length - 1;\n}\nfunction SY(e, t, r, n) {\n var a = r._mainAxis;\n if (!a) return;\n var i = e._fullLayout, o = t._id.charAt(0), l = Ye.counterLetter(t._id), s = t._offset + (Math.abs(n[0]) < Math.abs(n[1]) == (o === \"x\") ? 0 : t._length);\n function u(v) {\n if (!v.showline || !v.linewidth) return !1;\n var m = Math.max((v.linewidth + t.zerolinewidth) / 2, 1);\n function g(k) {\n return typeof k == \"number\" && Math.abs(k - s) < m;\n }\n if (g(v._mainLinePosition) || g(v._mainMirrorPosition))\n return !0;\n var y = v._linepositions || {};\n for (var w in y)\n if (g(y[w][0]) || g(y[w][1]))\n return !0;\n }\n var f = i._plots[r._mainSubplot];\n if (!(f.mainplotinfo || f).overlays.length)\n return u(r);\n for (var d = Ye.list(e, l), h = 0; h < d.length; h++) {\n var p = d[h];\n if (p._mainAxis === a && u(p))\n return !0;\n }\n}\nfunction CY(e, t) {\n for (var r = e._fullData, n = t._mainSubplot, a = t._id.charAt(0), i = 0; i < r.length; i++) {\n var o = r[i];\n if (o.visible === !0 && o.xaxis + o.yaxis === n && (Tc.traceIs(o, \"bar-like\") && o.orientation === { x: \"h\", y: \"v\" }[a] || o.fill && o.fill.charAt(o.fill.length - 1) === a))\n return !0;\n }\n return !1;\n}\nfunction Dy(e) {\n var t = Na.select(e), r = t.select(\".text-math-group\");\n return r.empty() ? t.select(\"text\") : r;\n}\nYe.allowAutoMargin = function(e) {\n for (var t = Ye.list(e, \"\", !0), r = 0; r < t.length; r++) {\n var n = t[r];\n n.automargin && (bu.allowAutoMargin(e, kb(n)), n.mirror && bu.allowAutoMargin(e, W4(n))), Tc.getComponentMethod(\"rangeslider\", \"isVisible\")(n) && bu.allowAutoMargin(e, Z4(n));\n }\n};\nfunction kb(e) {\n return e._id + \".automargin\";\n}\nfunction W4(e) {\n return kb(e) + \".mirror\";\n}\nfunction Z4(e) {\n return e._id + \".rangeslider\";\n}\nYe.swap = function(e, t) {\n for (var r = LY(e, t), n = 0; n < r.length; n++)\n DY(e, r[n].x, r[n].y);\n};\nfunction LY(e, t) {\n var r = [], n, a;\n for (n = 0; n < t.length; n++) {\n var i = [], o = e._fullData[t[n]].xaxis, l = e._fullData[t[n]].yaxis;\n if (!(!o || !l)) {\n for (a = 0; a < r.length; a++)\n (r[a].x.indexOf(o) !== -1 || r[a].y.indexOf(l) !== -1) && i.push(a);\n if (!i.length) {\n r.push({ x: [o], y: [l] });\n continue;\n }\n var s = r[i[0]], u;\n if (i.length > 1)\n for (a = 1; a < i.length; a++)\n u = r[i[a]], eh(s.x, u.x), eh(s.y, u.y);\n eh(s.x, [o]), eh(s.y, [l]);\n }\n }\n return r;\n}\nfunction eh(e, t) {\n for (var r = 0; r < t.length; r++)\n e.indexOf(t[r]) === -1 && e.push(t[r]);\n}\nfunction DY(e, t, r) {\n var n = [], a = [], i = e.layout, o, l;\n for (o = 0; o < t.length; o++) n.push(Ye.getFromId(e, t[o]));\n for (o = 0; o < r.length; o++) a.push(Ye.getFromId(e, r[o]));\n var s = Object.keys(YZ), u = [\n \"anchor\",\n \"domain\",\n \"overlaying\",\n \"position\",\n \"side\",\n \"tickangle\",\n \"editType\"\n ], f = [\"linear\", \"log\"];\n for (o = 0; o < s.length; o++) {\n var d = s[o], h = n[0][d], p = a[0][d], v = !0, m = !1, g = !1;\n if (!(d.charAt(0) === \"_\" || typeof h == \"function\" || u.indexOf(d) !== -1)) {\n for (l = 1; l < n.length && v; l++) {\n var y = n[l][d];\n d === \"type\" && f.indexOf(h) !== -1 && f.indexOf(y) !== -1 && h !== y ? m = !0 : y !== h && (v = !1);\n }\n for (l = 1; l < a.length && v; l++) {\n var w = a[l][d];\n d === \"type\" && f.indexOf(p) !== -1 && f.indexOf(w) !== -1 && p !== w ? g = !0 : a[l][d] !== p && (v = !1);\n }\n v && (m && (i[n[0]._name].type = \"linear\"), g && (i[a[0]._name].type = \"linear\"), EY(i, d, n, a, e._fullLayout._dfltTitle));\n }\n }\n for (o = 0; o < e._fullLayout.annotations.length; o++) {\n var k = e._fullLayout.annotations[o];\n t.indexOf(k.xref) !== -1 && r.indexOf(k.yref) !== -1 && jt.swapAttrs(i.annotations[o], [\"?\"]);\n }\n}\nfunction EY(e, t, r, n, a) {\n var i = jt.nestedProperty, o = i(e[r[0]._name], t).get(), l = i(e[n[0]._name], t).get(), s;\n for (t === \"title\" && (o && o.text === a.x && (o.text = a.y), l && l.text === a.y && (l.text = a.x)), s = 0; s < r.length; s++)\n i(e, r[s]._name + \".\" + t).set(l);\n for (s = 0; s < n.length; s++)\n i(e, n[s]._name + \".\" + t).set(o);\n}\nfunction Ab(e) {\n return e._id === \"angularaxis\";\n}\nfunction pg(e, t) {\n for (var r = t._rangebreaks.length, n = 0; n < r; n++) {\n var a = t._rangebreaks[n];\n if (e >= a.min && e < a.max)\n return a.max;\n }\n return e;\n}\nfunction Mc(e) {\n return (e.ticklabelposition || \"\").indexOf(\"inside\") !== -1;\n}\nfunction Rp(e, t) {\n Mc(e._anchorAxis || {}) && e._hideCounterAxisInsideTickLabels && e._hideCounterAxisInsideTickLabels(t);\n}\nfunction Ey(e, t, r, n) {\n var a = e.anchor !== \"free\" && (e.overlaying === void 0 || e.overlaying === !1) ? e._id : e.overlaying, i;\n n ? i = e.side === \"right\" ? t : -t : i = t, a in r || (r[a] = {}), e.side in r[a] || (r[a][e.side] = 0), r[a][e.side] += i;\n}\nfunction FY(e, t) {\n return e.autoshift ? t[e.overlaying][e.side] : e.shift || 0;\n}\nvar Cr = r4.exports, RY = function(t, r, n) {\n var a, i;\n if (n) {\n var o = r === \"reversed\" || r === \"min reversed\" || r === \"max reversed\";\n a = n[o ? 1 : 0], i = n[o ? 0 : 1];\n }\n var l = t(\"autorangeoptions.minallowed\", i === null ? a : void 0), s = t(\"autorangeoptions.maxallowed\", a === null ? i : void 0);\n l === void 0 && t(\"autorangeoptions.clipmin\"), s === void 0 && t(\"autorangeoptions.clipmax\"), t(\"autorangeoptions.include\");\n}, PY = RY, Y4 = function(t, r, n, a) {\n var i = r._template || {}, o = r.type || i.type || \"-\";\n n(\"minallowed\"), n(\"maxallowed\");\n var l = n(\"range\");\n if (!l) {\n var s;\n !a.noInsiderange && o !== \"log\" && (s = n(\"insiderange\"), s && (s[0] === null || s[1] === null) && (r.insiderange = !1, s = void 0), s && (l = n(\"range\", s)));\n }\n var u = r.getAutorangeDflt(l, a), f = n(\"autorange\", u), d;\n l && (l[0] === null && l[1] === null || (l[0] === null || l[1] === null) && (f === \"reversed\" || f === !0) || l[0] !== null && (f === \"min\" || f === \"max reversed\") || l[1] !== null && (f === \"max\" || f === \"min reversed\")) && (l = void 0, delete r.range, r.autorange = !0, d = !0), d || (u = r.getAutorangeDflt(l, a), f = n(\"autorange\", u)), f && (PY(n, f, l), (o === \"linear\" || o === \"-\") && n(\"rangemode\")), r.cleanRange();\n}, Mb = {}, X4 = { exports: {} }, $Y = { left: 0, top: 0 }, zY = IY;\nfunction IY(e, t, r) {\n t = t || e.currentTarget || e.srcElement, Array.isArray(r) || (r = [0, 0]);\n var n = e.clientX || 0, a = e.clientY || 0, i = NY(t);\n return r[0] = n - i.left, r[1] = a - i.top, r;\n}\nfunction NY(e) {\n return e === window || e === document || e === document.body ? $Y : e.getBoundingClientRect();\n}\nfunction OY() {\n var e = !1;\n try {\n var t = Object.defineProperty({}, \"passive\", {\n get: function() {\n e = !0;\n }\n });\n window.addEventListener(\"test\", null, t), window.removeEventListener(\"test\", null, t);\n } catch {\n e = !1;\n }\n return e;\n}\nvar K4 = OY(), HY = function(t, r, n, a, i) {\n var o = (t - n) / (a - n), l = o + r / (a - n), s = (o + l) / 2;\n return i === \"left\" || i === \"bottom\" ? o : i === \"center\" || i === \"middle\" ? s : i === \"right\" || i === \"top\" ? l : o < 2 / 3 - s ? o : l > 4 / 3 - s ? l : s;\n}, QT = Ue, BY = [\n [\"sw-resize\", \"s-resize\", \"se-resize\"],\n [\"w-resize\", \"move\", \"e-resize\"],\n [\"nw-resize\", \"n-resize\", \"ne-resize\"]\n], jY = function(t, r, n, a) {\n return n === \"left\" ? t = 0 : n === \"center\" ? t = 1 : n === \"right\" ? t = 2 : t = QT.constrain(Math.floor(t * 3), 0, 2), a === \"bottom\" ? r = 0 : a === \"middle\" ? r = 1 : a === \"top\" ? r = 2 : r = QT.constrain(Math.floor(r * 3), 0, 2), BY[r][t];\n}, J4 = { exports: {} }, UY = xp, GY = gp, VY = dp.getGraphDiv, qY = sp, Fy = J4.exports = {};\nFy.wrapped = function(e, t, r) {\n e = VY(e), e._fullLayout && GY.clear(e._fullLayout._uid + qY.HOVERID), Fy.raw(e, t, r);\n};\nFy.raw = function(t, r) {\n var n = t._fullLayout, a = t._hoverdata;\n r || (r = {}), !(r.target && !t._dragged && UY.triggerHandler(t, \"plotly_beforehover\", r) === !1) && (n._hoverlayer.selectAll(\"g\").remove(), n._hoverlayer.selectAll(\"line\").remove(), n._hoverlayer.selectAll(\"circle\").remove(), t._hoverdata = void 0, r.target && a && t.emit(\"plotly_unhover\", {\n event: r,\n points: a\n }));\n};\nvar WY = J4.exports, ZY = zY, mg = zL, YY = K4, XY = Ue.removeElement, KY = Yn, ss = X4.exports = {};\nss.align = HY;\nss.getCursor = jY;\nvar Q4 = WY;\nss.unhover = Q4.wrapped;\nss.unhoverRaw = Q4.raw;\nss.init = function(t) {\n var r = t.gd, n = 1, a = r._context.doubleClickDelay, i = t.element, o, l, s, u, f, d, h, p;\n r._mouseDownTime || (r._mouseDownTime = 0), i.style.pointerEvents = \"all\", i.onmousedown = g, YY ? (i._ontouchstart && i.removeEventListener(\"touchstart\", i._ontouchstart), i._ontouchstart = g, i.addEventListener(\"touchstart\", g, { passive: !1 })) : i.ontouchstart = g;\n function v(k, x, _) {\n return Math.abs(k) < _ && (k = 0), Math.abs(x) < _ && (x = 0), [k, x];\n }\n var m = t.clampFn || v;\n function g(k) {\n r._dragged = !1, r._dragging = !0;\n var x = gg(k);\n o = x[0], l = x[1], h = k.target, d = k, p = k.buttons === 2 || k.ctrlKey, typeof k.clientX > \"u\" && typeof k.clientY > \"u\" && (k.clientX = o, k.clientY = l), s = (/* @__PURE__ */ new Date()).getTime(), s - r._mouseDownTime < a ? n += 1 : (n = 1, r._mouseDownTime = s), t.prepFn && t.prepFn(k, o, l), mg && !p ? (f = eD(), f.style.cursor = window.getComputedStyle(i).cursor) : mg || (f = document, u = window.getComputedStyle(document.documentElement).cursor, document.documentElement.style.cursor = window.getComputedStyle(i).cursor), document.addEventListener(\"mouseup\", w), document.addEventListener(\"touchend\", w), t.dragmode !== !1 && (k.preventDefault(), document.addEventListener(\"mousemove\", y), document.addEventListener(\"touchmove\", y, { passive: !1 }));\n }\n function y(k) {\n k.preventDefault();\n var x = gg(k), _ = t.minDrag || KY.MINDRAG, T = m(x[0] - o, x[1] - l, _), S = T[0], M = T[1];\n (S || M) && (r._dragged = !0, ss.unhover(r, k)), r._dragged && t.moveFn && !p && (r._dragdata = {\n element: i,\n dx: S,\n dy: M\n }, t.moveFn(S, M));\n }\n function w(k) {\n if (delete r._dragdata, t.dragmode !== !1 && (k.preventDefault(), document.removeEventListener(\"mousemove\", y), document.removeEventListener(\"touchmove\", y)), document.removeEventListener(\"mouseup\", w), document.removeEventListener(\"touchend\", w), mg ? XY(f) : u && (f.documentElement.style.cursor = u, u = null), !r._dragging) {\n r._dragged = !1;\n return;\n }\n if (r._dragging = !1, (/* @__PURE__ */ new Date()).getTime() - r._mouseDownTime > a && (n = Math.max(n - 1, 1)), r._dragged)\n t.doneFn && t.doneFn();\n else if (t.clickFn && t.clickFn(n, d), !p) {\n var x;\n try {\n x = new MouseEvent(\"click\", k);\n } catch {\n var _ = gg(k);\n x = document.createEvent(\"MouseEvents\"), x.initMouseEvent(\n \"click\",\n k.bubbles,\n k.cancelable,\n k.view,\n k.detail,\n k.screenX,\n k.screenY,\n _[0],\n _[1],\n k.ctrlKey,\n k.altKey,\n k.shiftKey,\n k.metaKey,\n k.button,\n k.relatedTarget\n );\n }\n h.dispatchEvent(x);\n }\n r._dragging = !1, r._dragged = !1;\n }\n};\nfunction eD() {\n var e = document.createElement(\"div\");\n e.className = \"dragcover\";\n var t = e.style;\n return t.position = \"fixed\", t.left = 0, t.right = 0, t.top = 0, t.bottom = 0, t.zIndex = 999999999, t.background = \"none\", document.body.appendChild(e), e;\n}\nss.coverSlip = eD;\nfunction gg(e) {\n return ZY(\n e.changedTouches ? e.changedTouches[0] : e,\n document.body\n );\n}\nvar Qi = X4.exports, Pp = {}, xs = function(t, r) {\n (t.attr(\"class\") || \"\").split(\" \").forEach(function(n) {\n n.indexOf(\"cursor-\") === 0 && t.classed(n, !1);\n }), r && t.classed(\"cursor-\" + r, !0);\n}, yg = xs, Cf = \"data-savedcursor\", ek = \"!!\", JY = function(t, r) {\n var n = t.attr(Cf);\n if (r) {\n if (!n) {\n for (var a = (t.attr(\"class\") || \"\").split(\" \"), i = 0; i < a.length; i++) {\n var o = a[i];\n o.indexOf(\"cursor-\") === 0 && t.attr(Cf, o.substr(7)).classed(o, !1);\n }\n t.attr(Cf) || t.attr(Cf, ek);\n }\n yg(t, r);\n } else n && (t.attr(Cf, null), n === ek ? yg(t) : yg(t, n));\n}, bg = Fn, QY = da, tD = {\n // not really a 'subplot' attribute container,\n // but this is the flag we use to denote attributes that\n // support yaxis, yaxis2, yaxis3, ... counters\n _isSubplotObj: !0,\n visible: {\n valType: \"boolean\",\n dflt: !0,\n editType: \"legend\",\n description: [\n \"Determines whether or not this legend is visible.\"\n ].join(\" \")\n },\n bgcolor: {\n valType: \"color\",\n editType: \"legend\",\n description: [\n \"Sets the legend background color.\",\n \"Defaults to `layout.paper_bgcolor`.\"\n ].join(\" \")\n },\n bordercolor: {\n valType: \"color\",\n dflt: QY.defaultLine,\n editType: \"legend\",\n description: \"Sets the color of the border enclosing the legend.\"\n },\n borderwidth: {\n valType: \"number\",\n min: 0,\n dflt: 0,\n editType: \"legend\",\n description: \"Sets the width (in px) of the border enclosing the legend.\"\n },\n font: bg({\n editType: \"legend\",\n description: \"Sets the font used to text the legend items.\"\n }),\n grouptitlefont: bg({\n editType: \"legend\",\n description: [\n \"Sets the font for group titles in legend.\",\n \"Defaults to `legend.font` with its size increased about 10%.\"\n ].join(\" \")\n }),\n orientation: {\n valType: \"enumerated\",\n values: [\"v\", \"h\"],\n dflt: \"v\",\n editType: \"legend\",\n description: \"Sets the orientation of the legend.\"\n },\n traceorder: {\n valType: \"flaglist\",\n flags: [\"reversed\", \"grouped\"],\n extras: [\"normal\"],\n editType: \"legend\",\n description: [\n \"Determines the order at which the legend items are displayed.\",\n \"If *normal*, the items are displayed top-to-bottom in the same\",\n \"order as the input data.\",\n \"If *reversed*, the items are displayed in the opposite order\",\n \"as *normal*.\",\n \"If *grouped*, the items are displayed in groups\",\n \"(when a trace `legendgroup` is provided).\",\n \"if *grouped+reversed*, the items are displayed in the opposite order\",\n \"as *grouped*.\"\n ].join(\" \")\n },\n tracegroupgap: {\n valType: \"number\",\n min: 0,\n dflt: 10,\n editType: \"legend\",\n description: [\n \"Sets the amount of vertical space (in px) between legend groups.\"\n ].join(\" \")\n },\n entrywidth: {\n valType: \"number\",\n min: 0,\n editType: \"legend\",\n description: [\n \"Sets the width (in px or fraction) of the legend.\",\n \"Use 0 to size the entry based on the text width,\",\n \"when `entrywidthmode` is set to *pixels*.\"\n ].join(\" \")\n },\n entrywidthmode: {\n valType: \"enumerated\",\n values: [\"fraction\", \"pixels\"],\n dflt: \"pixels\",\n editType: \"legend\",\n description: \"Determines what entrywidth means.\"\n },\n itemsizing: {\n valType: \"enumerated\",\n values: [\"trace\", \"constant\"],\n dflt: \"trace\",\n editType: \"legend\",\n description: [\n \"Determines if the legend items symbols scale with their corresponding *trace* attributes\",\n \"or remain *constant* independent of the symbol size on the graph.\"\n ].join(\" \")\n },\n itemwidth: {\n valType: \"number\",\n min: 30,\n dflt: 30,\n editType: \"legend\",\n description: \"Sets the width (in px) of the legend item symbols (the part other than the title.text).\"\n },\n itemclick: {\n valType: \"enumerated\",\n values: [\"toggle\", \"toggleothers\", !1],\n dflt: \"toggle\",\n editType: \"legend\",\n description: [\n \"Determines the behavior on legend item click.\",\n \"*toggle* toggles the visibility of the item clicked on the graph.\",\n \"*toggleothers* makes the clicked item the sole visible item on the graph.\",\n \"*false* disables legend item click interactions.\"\n ].join(\" \")\n },\n itemdoubleclick: {\n valType: \"enumerated\",\n values: [\"toggle\", \"toggleothers\", !1],\n dflt: \"toggleothers\",\n editType: \"legend\",\n description: [\n \"Determines the behavior on legend item double-click.\",\n \"*toggle* toggles the visibility of the item clicked on the graph.\",\n \"*toggleothers* makes the clicked item the sole visible item on the graph.\",\n \"*false* disables legend item double-click interactions.\"\n ].join(\" \")\n },\n groupclick: {\n valType: \"enumerated\",\n values: [\"toggleitem\", \"togglegroup\"],\n dflt: \"togglegroup\",\n editType: \"legend\",\n description: [\n \"Determines the behavior on legend group item click.\",\n \"*toggleitem* toggles the visibility of the individual item clicked on the graph.\",\n \"*togglegroup* toggles the visibility of all items in the same legendgroup as the item clicked on the graph.\"\n ].join(\" \")\n },\n x: {\n valType: \"number\",\n editType: \"legend\",\n description: [\n \"Sets the x position with respect to `xref` (in normalized coordinates) of the legend.\",\n \"When `xref` is *paper*, defaults to *1.02* for vertical legends and\",\n \"defaults to *0* for horizontal legends.\",\n \"When `xref` is *container*, defaults to *1* for vertical legends and\",\n \"defaults to *0* for horizontal legends.\",\n \"Must be between *0* and *1* if `xref` is *container*.\",\n \"and between *-2* and *3* if `xref` is *paper*.\"\n ].join(\" \")\n },\n xref: {\n valType: \"enumerated\",\n dflt: \"paper\",\n values: [\"container\", \"paper\"],\n editType: \"layoutstyle\",\n description: [\n \"Sets the container `x` refers to.\",\n \"*container* spans the entire `width` of the plot.\",\n \"*paper* refers to the width of the plotting area only.\"\n ].join(\" \")\n },\n xanchor: {\n valType: \"enumerated\",\n values: [\"auto\", \"left\", \"center\", \"right\"],\n dflt: \"left\",\n editType: \"legend\",\n description: [\n \"Sets the legend's horizontal position anchor.\",\n \"This anchor binds the `x` position to the *left*, *center*\",\n \"or *right* of the legend.\",\n \"Value *auto* anchors legends to the right for `x` values greater than or equal to 2/3,\",\n \"anchors legends to the left for `x` values less than or equal to 1/3 and\",\n \"anchors legends with respect to their center otherwise.\"\n ].join(\" \")\n },\n y: {\n valType: \"number\",\n editType: \"legend\",\n description: [\n \"Sets the y position with respect to `yref` (in normalized coordinates) of the legend.\",\n \"When `yref` is *paper*, defaults to *1* for vertical legends,\",\n \"defaults to *-0.1* for horizontal legends on graphs w/o range sliders and\",\n \"defaults to *1.1* for horizontal legends on graph with one or multiple range sliders.\",\n \"When `yref` is *container*, defaults to *1*.\",\n \"Must be between *0* and *1* if `yref` is *container*\",\n \"and between *-2* and *3* if `yref` is *paper*.\"\n ].join(\" \")\n },\n yref: {\n valType: \"enumerated\",\n dflt: \"paper\",\n values: [\"container\", \"paper\"],\n editType: \"layoutstyle\",\n description: [\n \"Sets the container `y` refers to.\",\n \"*container* spans the entire `height` of the plot.\",\n \"*paper* refers to the height of the plotting area only.\"\n ].join(\" \")\n },\n yanchor: {\n valType: \"enumerated\",\n values: [\"auto\", \"top\", \"middle\", \"bottom\"],\n editType: \"legend\",\n description: [\n \"Sets the legend's vertical position anchor\",\n \"This anchor binds the `y` position to the *top*, *middle*\",\n \"or *bottom* of the legend.\",\n \"Value *auto* anchors legends at their bottom for `y` values less than or equal to 1/3,\",\n \"anchors legends to at their top for `y` values greater than or equal to 2/3 and\",\n \"anchors legends with respect to their middle otherwise.\"\n ].join(\" \")\n },\n uirevision: {\n valType: \"any\",\n editType: \"none\",\n description: [\n \"Controls persistence of legend-driven changes in trace and pie label\",\n \"visibility. Defaults to `layout.uirevision`.\"\n ].join(\" \")\n },\n valign: {\n valType: \"enumerated\",\n values: [\"top\", \"middle\", \"bottom\"],\n dflt: \"middle\",\n editType: \"legend\",\n description: [\n \"Sets the vertical alignment of the symbols with respect to their associated text.\"\n ].join(\" \")\n },\n title: {\n text: {\n valType: \"string\",\n dflt: \"\",\n editType: \"legend\",\n description: [\n \"Sets the title of the legend.\"\n ].join(\" \")\n },\n font: bg({\n editType: \"legend\",\n description: [\n \"Sets this legend's title font.\",\n \"Defaults to `legend.font` with its size increased about 20%.\"\n ].join(\" \")\n }),\n side: {\n valType: \"enumerated\",\n values: [\"top\", \"left\", \"top left\", \"top center\", \"top right\"],\n editType: \"legend\",\n description: [\n \"Determines the location of legend's title\",\n \"with respect to the legend items.\",\n \"Defaulted to *top* with `orientation` is *h*.\",\n \"Defaulted to *left* with `orientation` is *v*.\",\n \"The *top left* options could be used to expand\",\n \"top center and top right are for horizontal alignment\",\n \"legend area in both x and y sides.\"\n ].join(\" \")\n },\n editType: \"legend\"\n },\n editType: \"legend\"\n}, tf = {};\ntf.isGrouped = function(t) {\n return (t.traceorder || \"\").indexOf(\"grouped\") !== -1;\n};\ntf.isVertical = function(t) {\n return t.orientation !== \"h\";\n};\ntf.isReversed = function(t) {\n return (t.traceorder || \"\").indexOf(\"reversed\") !== -1;\n};\nvar _g = Nt, ra = Ue, eX = Mr, tX = Wi, rX = tD, nX = Xc, xg = tf;\nfunction aX(e, t, r, n) {\n var a = t[e] || {}, i = eX.newContainer(r, e);\n function o(z, P) {\n return ra.coerce(a, i, rX, z, P);\n }\n var l = ra.coerceFont(o, \"font\", r.font);\n o(\"bgcolor\", r.paper_bgcolor), o(\"bordercolor\");\n var s = o(\"visible\");\n if (s) {\n for (var u, f = function(z, P) {\n var R = u._input, H = u;\n return ra.coerce(R, H, tX, z, P);\n }, d = r.font || {}, h = ra.coerceFont(o, \"grouptitlefont\", ra.extendFlat({}, d, {\n size: Math.round(d.size * 1.1)\n })), p = 0, v = !1, m = \"normal\", g = (r.shapes || []).filter(function(z) {\n return z.showlegend;\n }), y = n.concat(g).filter(function(z) {\n return e === (z.legend || \"legend\");\n }), w = 0; w < y.length; w++)\n if (u = y[w], !!u.visible) {\n var k = u._isShape;\n (u.showlegend || u._dfltShowLegend && !(u._module && u._module.attributes && u._module.attributes.showlegend && u._module.attributes.showlegend.dflt === !1)) && (p++, u.showlegend && (v = !0, (!k && _g.traceIs(u, \"pie-like\") || u._input.showlegend === !0) && p++), ra.coerceFont(f, \"legendgrouptitle.font\", h)), (!k && _g.traceIs(u, \"bar\") && r.barmode === \"stack\" || [\"tonextx\", \"tonexty\"].indexOf(u.fill) !== -1) && (m = xg.isGrouped({ traceorder: m }) ? \"grouped+reversed\" : \"reversed\"), u.legendgroup !== void 0 && u.legendgroup !== \"\" && (m = xg.isReversed({ traceorder: m }) ? \"reversed+grouped\" : \"grouped\");\n }\n var x = ra.coerce(\n t,\n r,\n nX,\n \"showlegend\",\n v && p > (e === \"legend\" ? 1 : 0)\n );\n if (x === !1 && (r[e] = void 0), !(x === !1 && !a.uirevision) && (o(\"uirevision\", r.uirevision), x !== !1)) {\n o(\"borderwidth\");\n var _ = o(\"orientation\"), T = o(\"yref\"), S = o(\"xref\"), M = _ === \"h\", L = T === \"paper\", F = S === \"paper\", $, I, O, G = \"left\";\n M ? ($ = 0, _g.getComponentMethod(\"rangeslider\", \"isVisible\")(t.xaxis) ? L ? (I = 1.1, O = \"bottom\") : (I = 1, O = \"top\") : L ? (I = -0.1, O = \"top\") : (I = 0, O = \"bottom\")) : (I = 1, O = \"auto\", F ? $ = 1.02 : ($ = 1, G = \"right\")), ra.coerce(a, i, {\n x: {\n valType: \"number\",\n editType: \"legend\",\n min: F ? -2 : 0,\n max: F ? 3 : 1,\n dflt: $\n }\n }, \"x\"), ra.coerce(a, i, {\n y: {\n valType: \"number\",\n editType: \"legend\",\n min: L ? -2 : 0,\n max: L ? 3 : 1,\n dflt: I\n }\n }, \"y\"), o(\"traceorder\", m), xg.isGrouped(r[e]) && o(\"tracegroupgap\"), o(\"entrywidth\"), o(\"entrywidthmode\"), o(\"itemsizing\"), o(\"itemwidth\"), o(\"itemclick\"), o(\"itemdoubleclick\"), o(\"groupclick\"), o(\"xanchor\", G), o(\"yanchor\", O), o(\"valign\"), ra.noneOrAll(a, i, [\"x\", \"y\"]);\n var K = o(\"title.text\");\n if (K) {\n o(\"title.side\", M ? \"left\" : \"top\");\n var V = ra.extendFlat({}, l, {\n size: ra.bigFont(l.size)\n });\n ra.coerceFont(o, \"title.font\", V);\n }\n }\n }\n}\nvar rD = function(t, r, n) {\n var a, i = n.slice(), o = r.shapes;\n if (o)\n for (a = 0; a < o.length; a++) {\n var l = o[a];\n if (l.showlegend) {\n var s = {\n _input: l._input,\n visible: l.visible,\n showlegend: l.showlegend,\n legend: l.legend\n };\n i.push(s);\n }\n }\n var u = [\"legend\"];\n for (a = 0; a < i.length; a++)\n ra.pushUnique(u, i[a].legend);\n for (r._legends = [], a = 0; a < u.length; a++) {\n var f = u[a];\n aX(f, t, r, i), r[f] && r[f].visible && (r[f]._id = f), r._legends.push(f);\n }\n}, Oo = Nt, Nh = Ue, iX = Nh.pushUnique, wg = !0, oX = function(t, r, n) {\n var a = r._fullLayout;\n if (r._dragged || r._editing) return;\n var i = a.legend.itemclick, o = a.legend.itemdoubleclick, l = a.legend.groupclick;\n n === 1 && i === \"toggle\" && o === \"toggleothers\" && wg && r.data && r._context.showTips && Nh.notifier(Nh._(r, \"Double-click on legend to isolate one trace\"), \"long\"), wg = !1;\n var s;\n if (n === 1 ? s = i : n === 2 && (s = o), !s) return;\n var u = l === \"togglegroup\", f = a.hiddenlabels ? a.hiddenlabels.slice() : [], d = t.data()[0][0];\n if (d.groupTitle && d.noClick) return;\n var h = r._fullData, p = (a.shapes || []).filter(function(Re) {\n return Re.showlegend;\n }), v = h.concat(p), m = d.trace;\n m._isShape && (m = m._fullInput);\n var g = m.legendgroup, y, w, k, x, _, T, S = {}, M = [], L = [], F = [];\n function $(Re, We) {\n var Me = M.indexOf(Re), Ve = S.visible;\n return Ve || (Ve = S.visible = []), M.indexOf(Re) === -1 && (M.push(Re), Me = M.length - 1), Ve[Me] = We, Me;\n }\n var I = (a.shapes || []).map(function(Re) {\n return Re._input;\n }), O = !1;\n function G(Re, We) {\n I[Re].visible = We, O = !0;\n }\n function K(Re, We) {\n if (!(d.groupTitle && !u)) {\n var Me = Re._fullInput || Re, Ve = Me._isShape, qe = Me.index;\n if (qe === void 0 && (qe = Me._index), Oo.hasTransform(Me, \"groupby\")) {\n var Qe = L[qe];\n if (!Qe) {\n var ot = Oo.getTransformIndices(Me, \"groupby\"), ht = ot[ot.length - 1];\n Qe = Nh.keyedContainer(Me, \"transforms[\" + ht + \"].styles\", \"target\", \"value.visible\"), L[qe] = Qe;\n }\n var vt = Qe.get(Re._group);\n vt === void 0 && (vt = !0), vt !== !1 && Qe.set(Re._group, We), F[qe] = $(qe, Me.visible !== !1);\n } else {\n var nt = Me.visible === !1 ? !1 : We;\n Ve ? G(qe, nt) : $(qe, nt);\n }\n }\n }\n var V = m.legend, z = m._fullInput, P = z && z._isShape;\n if (!P && Oo.traceIs(m, \"pie-like\")) {\n var R = d.label, H = f.indexOf(R);\n if (s === \"toggle\")\n H === -1 ? f.push(R) : f.splice(H, 1);\n else if (s === \"toggleothers\") {\n var B = H !== -1, W = [];\n for (y = 0; y < r.calcdata.length; y++) {\n var ee = r.calcdata[y];\n for (w = 0; w < ee.length; w++) {\n var re = ee[w], ae = re.label;\n V === ee[0].trace.legend && R !== ae && (f.indexOf(ae) === -1 && (B = !0), iX(f, ae), W.push(ae));\n }\n }\n if (!B)\n for (var Q = 0; Q < W.length; Q++) {\n var ue = f.indexOf(W[Q]);\n ue !== -1 && f.splice(ue, 1);\n }\n }\n Oo.call(\"_guiRelayout\", r, \"hiddenlabels\", f);\n } else {\n var j = g && g.length, U = [], Z;\n if (j)\n for (y = 0; y < v.length; y++)\n Z = v[y], Z.visible && Z.legendgroup === g && U.push(y);\n if (s === \"toggle\") {\n var le;\n switch (m.visible) {\n case !0:\n le = \"legendonly\";\n break;\n case !1:\n le = !1;\n break;\n case \"legendonly\":\n le = !0;\n break;\n }\n if (j)\n if (u)\n for (y = 0; y < v.length; y++) {\n var J = v[y];\n J.visible !== !1 && J.legendgroup === g && K(J, le);\n }\n else\n K(m, le);\n else\n K(m, le);\n } else if (s === \"toggleothers\") {\n var pe, ge, ve, me, Le, ze = !0;\n for (y = 0; y < v.length; y++)\n if (Le = v[y], pe = Le === m, ve = Le.showlegend !== !0, !(pe || ve) && (ge = j && Le.legendgroup === g, !ge && Le.legend === V && Le.visible === !0 && !Oo.traceIs(Le, \"notLegendIsolatable\"))) {\n ze = !1;\n break;\n }\n for (y = 0; y < v.length; y++)\n if (Le = v[y], !(Le.visible === !1 || Le.legend !== V) && !Oo.traceIs(Le, \"notLegendIsolatable\"))\n switch (m.visible) {\n case \"legendonly\":\n K(Le, !0);\n break;\n case !0:\n me = ze ? !0 : \"legendonly\", pe = Le === m, ve = Le.showlegend !== !0 && !Le.legendgroup, ge = pe || j && Le.legendgroup === g, K(Le, ge || ve ? !0 : me);\n break;\n }\n }\n for (y = 0; y < L.length; y++)\n if (k = L[y], !!k) {\n var Fe = k.constructUpdate(), Oe = Object.keys(Fe);\n for (w = 0; w < Oe.length; w++)\n x = Oe[w], T = S[x] = S[x] || [], T[F[y]] = Fe[x];\n }\n for (_ = Object.keys(S), y = 0; y < _.length; y++)\n for (x = _[y], w = 0; w < M.length; w++)\n S[x].hasOwnProperty(w) || (S[x][w] = void 0);\n O ? Oo.call(\"_guiUpdate\", r, S, { shapes: I }, M) : Oo.call(\"_guiRestyle\", r, S, M);\n }\n}, nD = {\n scrollBarWidth: 6,\n scrollBarMinHeight: 20,\n scrollBarColor: \"#808BA4\",\n scrollBarMargin: 4,\n scrollBarEnterAttrs: { rx: 20, ry: 3, width: 0, height: 0 },\n // number of px between legend title and (left) side of legend (always in x direction and from inner border)\n titlePad: 2,\n // number of px between each legend item (x and/or y direction)\n itemGap: 5\n}, tk = Nt, Tg = tf, lX = function(t, r, n) {\n var a = r._inHover, i = Tg.isGrouped(r), o = Tg.isReversed(r), l = {}, s = [], u = !1, f = {}, d = 0, h = 0, p, v;\n function m(z, P, R) {\n if (r.visible !== !1 && !(n && z !== r._id))\n if (P === \"\" || !Tg.isGrouped(r)) {\n var H = \"~~i\" + d;\n s.push(H), l[H] = [R], d++;\n } else s.indexOf(P) === -1 ? (s.push(P), u = !0, l[P] = [R]) : l[P].push(R);\n }\n for (p = 0; p < t.length; p++) {\n var g = t[p], y = g[0], w = y.trace, k = w.legend, x = w.legendgroup;\n if (!(!a && (!w.visible || !w.showlegend)))\n if (tk.traceIs(w, \"pie-like\"))\n for (f[x] || (f[x] = {}), v = 0; v < g.length; v++) {\n var _ = g[v].label;\n f[x][_] || (m(k, x, {\n label: _,\n color: g[v].color,\n i: g[v].i,\n trace: w,\n pts: g[v].pts\n }), f[x][_] = !0, h = Math.max(h, (_ || \"\").length));\n }\n else\n m(k, x, y), h = Math.max(h, (w.name || \"\").length);\n }\n if (!s.length) return [];\n var T = !u || !i, S = [];\n for (p = 0; p < s.length; p++) {\n var M = l[s[p]];\n T ? S.push(M[0]) : S.push(M);\n }\n for (T && (S = [S]), p = 0; p < S.length; p++) {\n var L = 1 / 0;\n for (v = 0; v < S[p].length; v++) {\n var F = S[p][v].trace.legendrank;\n L > F && (L = F);\n }\n S[p][0]._groupMinRank = L, S[p][0]._preGroupSort = p;\n }\n var $ = function(z, P) {\n return z[0]._groupMinRank - P[0]._groupMinRank || z[0]._preGroupSort - P[0]._preGroupSort;\n }, I = function(z, P) {\n return z.trace.legendrank - P.trace.legendrank || z._preSort - P._preSort;\n };\n for (S.forEach(function(z, P) {\n z[0]._preGroupSort = P;\n }), S.sort($), p = 0; p < S.length; p++) {\n S[p].forEach(function(z, P) {\n z._preSort = P;\n }), S[p].sort(I);\n var O = S[p][0].trace, G = null;\n for (v = 0; v < S[p].length; v++) {\n var K = S[p][v].trace.legendgrouptitle;\n if (K && K.text) {\n G = K, a && (K.font = r._groupTitleFont);\n break;\n }\n }\n if (o && S[p].reverse(), G) {\n var V = !1;\n for (v = 0; v < S[p].length; v++)\n if (tk.traceIs(S[p][v].trace, \"pie-like\")) {\n V = !0;\n break;\n }\n S[p].unshift({\n i: -1,\n groupTitle: G,\n noClick: V,\n trace: {\n showlegend: O.showlegend,\n legendgroup: O.legendgroup,\n visible: r.groupclick === \"toggleitem\" ? !0 : O.visible\n }\n });\n }\n for (v = 0; v < S[p].length; v++)\n S[p][v] = [\n S[p][v]\n ];\n }\n return r._lgroupsLength = S.length, r._maxNameLength = h, S;\n}, Sb = {};\n(function(e) {\n var t = Ue;\n function r(n) {\n return n.indexOf(\"e\") !== -1 ? n.replace(/[.]?0+e/, \"e\") : n.indexOf(\".\") !== -1 ? n.replace(/[.]?0+$/, \"\") : n;\n }\n e.formatPiePercent = function(a, i) {\n var o = r((a * 100).toPrecision(3));\n return t.numSeparate(o, i) + \"%\";\n }, e.formatPieValue = function(a, i) {\n var o = r(a.toPrecision(10));\n return t.numSeparate(o, i);\n }, e.getFirstFilled = function(a, i) {\n if (t.isArrayOrTypedArray(a))\n for (var o = 0; o < i.length; o++) {\n var l = a[i[o]];\n if (l || l === 0 || l === \"\") return l;\n }\n }, e.castOption = function(a, i) {\n if (t.isArrayOrTypedArray(a)) return e.getFirstFilled(a, i);\n if (a) return a;\n }, e.getRotationAngle = function(n) {\n return (n === \"auto\" ? 0 : n) * Math.PI / 180;\n };\n})(Sb);\nvar sX = Sr, uX = nr, fX = function(t, r, n, a) {\n var i = n.marker.pattern;\n i && i.shape ? sX.pointStyle(t, n, a, r) : uX.fill(t, r.color);\n}, rk = nr, nk = Sb.castOption, cX = fX, dX = function(t, r, n, a) {\n var i = n.marker.line, o = nk(i.color, r.pts) || rk.defaultLine, l = nk(i.width, r.pts) || 0;\n t.call(cX, r, n, a).style(\"stroke-width\", l).call(rk.stroke, o);\n}, In = lr, kg = Nt, Ln = Ue, ak = Ln.strTranslate, Gn = Sr, Da = nr, Ag = wi.extractOpts, yv = Ya, hX = dX, vX = Sb.castOption, pX = nD, ik = 12, ok = 5, El = 2, mX = 10, Is = 5, aD = function(t, r, n) {\n var a = r._fullLayout;\n n || (n = a.legend);\n var i = n.itemsizing === \"constant\", o = n.itemwidth, l = (o + pX.itemGap * 2) / 2, s = ak(l, 0), u = function(S, M, L, F) {\n var $;\n if (S + 1)\n $ = S;\n else if (M && M.width > 0)\n $ = M.width;\n else\n return 0;\n return i ? F : Math.min($, L);\n };\n t.each(function(S) {\n var M = In.select(this), L = Ln.ensureSingle(M, \"g\", \"layers\");\n L.style(\"opacity\", S[0].trace.opacity);\n var F = n.valign, $ = S[0].lineHeight, I = S[0].height;\n if (F === \"middle\" || !$ || !I)\n L.attr(\"transform\", null);\n else {\n var O = { top: 1, bottom: -1 }[F], G = O * (0.5 * ($ - I + 3));\n L.attr(\"transform\", ak(0, G));\n }\n var K = L.selectAll(\"g.legendfill\").data([S]);\n K.enter().append(\"g\").classed(\"legendfill\", !0);\n var V = L.selectAll(\"g.legendlines\").data([S]);\n V.enter().append(\"g\").classed(\"legendlines\", !0);\n var z = L.selectAll(\"g.legendsymbols\").data([S]);\n z.enter().append(\"g\").classed(\"legendsymbols\", !0), z.selectAll(\"g.legendpoints\").data([S]).enter().append(\"g\").classed(\"legendpoints\", !0);\n }).each(T).each(h).each(v).each(p).each(g).each(x).each(k).each(f).each(d).each(y).each(w);\n function f(S) {\n var M = lk(S), L = M.showFill, F = M.showLine, $ = M.showGradientLine, I = M.showGradientFill, O = M.anyFill, G = M.anyLine, K = S[0], V = K.trace, z, P, R = Ag(V), H = R.colorscale, B = R.reversescale, W = function(U) {\n if (U.size())\n if (L)\n Gn.fillGroupStyle(U, r);\n else {\n var Z = \"legendfill-\" + V.uid;\n Gn.gradient(\n U,\n r,\n Z,\n Mg(B),\n H,\n \"fill\"\n );\n }\n }, ee = function(U) {\n if (U.size()) {\n var Z = \"legendline-\" + V.uid;\n Gn.lineGroupStyle(U), Gn.gradient(\n U,\n r,\n Z,\n Mg(B),\n H,\n \"stroke\"\n );\n }\n }, re = yv.hasMarkers(V) || !O ? \"M5,0\" : (\n // with a line leave it slightly below center, to leave room for the\n // line thickness and because the line is usually more prominent\n G ? \"M5,-2\" : \"M5,-3\"\n ), ae = In.select(this), Q = ae.select(\".legendfill\").selectAll(\"path\").data(L || I ? [S] : []);\n if (Q.enter().append(\"path\").classed(\"js-fill\", !0), Q.exit().remove(), Q.attr(\"d\", re + \"h\" + o + \"v6h-\" + o + \"z\").call(W), F || $) {\n var ue = u(void 0, V.line, mX, ok);\n P = Ln.minExtend(V, { line: { width: ue } }), z = [Ln.minExtend(K, { trace: P })];\n }\n var j = ae.select(\".legendlines\").selectAll(\"path\").data(F || $ ? [z] : []);\n j.enter().append(\"path\").classed(\"js-line\", !0), j.exit().remove(), j.attr(\"d\", re + ($ ? \"l\" + o + \",0.0001\" : \"h\" + o)).call(F ? Gn.lineGroupStyle : ee);\n }\n function d(S) {\n var M = lk(S), L = M.anyFill, F = M.anyLine, $ = M.showLine, I = M.showMarker, O = S[0], G = O.trace, K = !I && !F && !L && yv.hasText(G), V, z;\n function P(Q, ue, j, U) {\n var Z = Ln.nestedProperty(G, Q).get(), le = Ln.isArrayOrTypedArray(Z) && ue ? ue(Z) : Z;\n if (i && le && U !== void 0 && (le = U), j) {\n if (le < j[0]) return j[0];\n if (le > j[1]) return j[1];\n }\n return le;\n }\n function R(Q) {\n return O._distinct && O.index && Q[O.index] ? Q[O.index] : Q[0];\n }\n if (I || K || $) {\n var H = {}, B = {};\n if (I) {\n H.mc = P(\"marker.color\", R), H.mx = P(\"marker.symbol\", R), H.mo = P(\"marker.opacity\", Ln.mean, [0.2, 1]), H.mlc = P(\"marker.line.color\", R), H.mlw = P(\"marker.line.width\", Ln.mean, [0, 5], El), B.marker = {\n sizeref: 1,\n sizemin: 1,\n sizemode: \"diameter\"\n };\n var W = P(\"marker.size\", Ln.mean, [2, 16], ik);\n H.ms = W, B.marker.size = W;\n }\n $ && (B.line = {\n width: P(\"line.width\", R, [0, 10], ok)\n }), K && (H.tx = \"Aa\", H.tp = P(\"textposition\", R), H.ts = 10, H.tc = P(\"textfont.color\", R), H.tf = P(\"textfont.family\", R)), V = [Ln.minExtend(O, H)], z = Ln.minExtend(G, B), z.selectedpoints = null, z.texttemplate = null;\n }\n var ee = In.select(this).select(\"g.legendpoints\"), re = ee.selectAll(\"path.scatterpts\").data(I ? V : []);\n re.enter().insert(\"path\", \":first-child\").classed(\"scatterpts\", !0).attr(\"transform\", s), re.exit().remove(), re.call(Gn.pointStyle, z, r), I && (V[0].mrc = 3);\n var ae = ee.selectAll(\"g.pointtext\").data(K ? V : []);\n ae.enter().append(\"g\").classed(\"pointtext\", !0).append(\"text\").attr(\"transform\", s), ae.exit().remove(), ae.selectAll(\"text\").call(Gn.textPointStyle, z, r);\n }\n function h(S) {\n var M = S[0].trace, L = M.type === \"waterfall\";\n if (S[0]._distinct && L) {\n var F = S[0].trace[S[0].dir].marker;\n return S[0].mc = F.color, S[0].mlw = F.line.width, S[0].mlc = F.line.color, m(S, this, \"waterfall\");\n }\n var $ = [];\n M.visible && L && ($ = S[0].hasTotals ? [[\"increasing\", \"M-6,-6V6H0Z\"], [\"totals\", \"M6,6H0L-6,-6H-0Z\"], [\"decreasing\", \"M6,6V-6H0Z\"]] : [[\"increasing\", \"M-6,-6V6H6Z\"], [\"decreasing\", \"M6,6V-6H-6Z\"]]);\n var I = In.select(this).select(\"g.legendpoints\").selectAll(\"path.legendwaterfall\").data($);\n I.enter().append(\"path\").classed(\"legendwaterfall\", !0).attr(\"transform\", s).style(\"stroke-miterlimit\", 1), I.exit().remove(), I.each(function(O) {\n var G = In.select(this), K = M[O[0]].marker, V = u(void 0, K.line, Is, El);\n G.attr(\"d\", O[1]).style(\"stroke-width\", V + \"px\").call(Da.fill, K.color), V && G.call(Da.stroke, K.line.color);\n });\n }\n function p(S) {\n m(S, this);\n }\n function v(S) {\n m(S, this, \"funnel\");\n }\n function m(S, M, L) {\n var F = S[0].trace, $ = F.marker || {}, I = $.line || {}, O = L ? F.visible && F.type === L : kg.traceIs(F, \"bar\"), G = In.select(M).select(\"g.legendpoints\").selectAll(\"path.legend\" + L).data(O ? [S] : []);\n G.enter().append(\"path\").classed(\"legend\" + L, !0).attr(\"d\", \"M6,6H-6V-6H6Z\").attr(\"transform\", s), G.exit().remove(), G.each(function(K) {\n var V = In.select(this), z = K[0], P = u(z.mlw, $.line, Is, El);\n V.style(\"stroke-width\", P + \"px\");\n var R = z.mcc;\n if (!n._inHover && \"mc\" in z) {\n var H = Ag($), B = H.mid;\n B === void 0 && (B = (H.max + H.min) / 2), R = Gn.tryColorscale($, \"\")(B);\n }\n var W = R || z.mc || $.color, ee = $.pattern, re = ee && Gn.getPatternAttr(ee.shape, 0, \"\");\n if (re) {\n var ae = Gn.getPatternAttr(ee.bgcolor, 0, null), Q = Gn.getPatternAttr(ee.fgcolor, 0, null), ue = ee.fgopacity, j = sk(ee.size, 8, 10), U = sk(ee.solidity, 0.5, 1), Z = \"legend-\" + F.uid;\n V.call(\n Gn.pattern,\n \"legend\",\n r,\n Z,\n re,\n j,\n U,\n R,\n ee.fillmode,\n ae,\n Q,\n ue\n );\n } else\n V.call(Da.fill, W);\n P && Da.stroke(V, z.mlc || I.color);\n });\n }\n function g(S) {\n var M = S[0].trace, L = In.select(this).select(\"g.legendpoints\").selectAll(\"path.legendbox\").data(M.visible && kg.traceIs(M, \"box-violin\") ? [S] : []);\n L.enter().append(\"path\").classed(\"legendbox\", !0).attr(\"d\", \"M6,6H-6V-6H6Z\").attr(\"transform\", s), L.exit().remove(), L.each(function() {\n var F = In.select(this);\n if ((M.boxpoints === \"all\" || M.points === \"all\") && Da.opacity(M.fillcolor) === 0 && Da.opacity((M.line || {}).color) === 0) {\n var $ = Ln.minExtend(M, {\n marker: {\n size: i ? ik : Ln.constrain(M.marker.size, 2, 16),\n sizeref: 1,\n sizemin: 1,\n sizemode: \"diameter\"\n }\n });\n L.call(Gn.pointStyle, $, r);\n } else {\n var I = u(void 0, M.line, Is, El);\n F.style(\"stroke-width\", I + \"px\").call(Da.fill, M.fillcolor), I && Da.stroke(F, M.line.color);\n }\n });\n }\n function y(S) {\n var M = S[0].trace, L = In.select(this).select(\"g.legendpoints\").selectAll(\"path.legendcandle\").data(M.visible && M.type === \"candlestick\" ? [S, S] : []);\n L.enter().append(\"path\").classed(\"legendcandle\", !0).attr(\"d\", function(F, $) {\n return $ ? \"M-15,0H-8M-8,6V-6H8Z\" : \"M15,0H8M8,-6V6H-8Z\";\n }).attr(\"transform\", s).style(\"stroke-miterlimit\", 1), L.exit().remove(), L.each(function(F, $) {\n var I = In.select(this), O = M[$ ? \"increasing\" : \"decreasing\"], G = u(void 0, O.line, Is, El);\n I.style(\"stroke-width\", G + \"px\").call(Da.fill, O.fillcolor), G && Da.stroke(I, O.line.color);\n });\n }\n function w(S) {\n var M = S[0].trace, L = In.select(this).select(\"g.legendpoints\").selectAll(\"path.legendohlc\").data(M.visible && M.type === \"ohlc\" ? [S, S] : []);\n L.enter().append(\"path\").classed(\"legendohlc\", !0).attr(\"d\", function(F, $) {\n return $ ? \"M-15,0H0M-8,-6V0\" : \"M15,0H0M8,6V0\";\n }).attr(\"transform\", s).style(\"stroke-miterlimit\", 1), L.exit().remove(), L.each(function(F, $) {\n var I = In.select(this), O = M[$ ? \"increasing\" : \"decreasing\"], G = u(void 0, O.line, Is, El);\n I.style(\"fill\", \"none\").call(Gn.dashLine, O.line.dash, G), G && Da.stroke(I, O.line.color);\n });\n }\n function k(S) {\n _(S, this, \"pie\");\n }\n function x(S) {\n _(S, this, \"funnelarea\");\n }\n function _(S, M, L) {\n var F = S[0], $ = F.trace, I = L ? $.visible && $.type === L : kg.traceIs($, L), O = In.select(M).select(\"g.legendpoints\").selectAll(\"path.legend\" + L).data(I ? [S] : []);\n if (O.enter().append(\"path\").classed(\"legend\" + L, !0).attr(\"d\", \"M6,6H-6V-6H6Z\").attr(\"transform\", s), O.exit().remove(), O.size()) {\n var G = $.marker || {}, K = u(vX(G.line.width, F.pts), G.line, Is, El), V = \"pieLike\", z = Ln.minExtend($, { marker: { line: { width: K } } }, V), P = Ln.minExtend(F, { trace: z }, V);\n hX(O, P, z, r);\n }\n }\n function T(S) {\n var M = S[0].trace, L, F = [];\n if (M.visible)\n switch (M.type) {\n case \"histogram2d\":\n case \"heatmap\":\n F = [\n [\"M-15,-2V4H15V-2Z\"]\n // similar to contour\n ], L = !0;\n break;\n case \"choropleth\":\n case \"choroplethmapbox\":\n F = [\n [\"M-6,-6V6H6V-6Z\"]\n ], L = !0;\n break;\n case \"densitymapbox\":\n F = [\n [\"M-6,0 a6,6 0 1,0 12,0 a 6,6 0 1,0 -12,0\"]\n ], L = \"radial\";\n break;\n case \"cone\":\n F = [\n [\"M-6,2 A2,2 0 0,0 -6,6 V6L6,4Z\"],\n [\"M-6,-6 A2,2 0 0,0 -6,-2 L6,-4Z\"],\n [\"M-6,-2 A2,2 0 0,0 -6,2 L6,0Z\"]\n ], L = !1;\n break;\n case \"streamtube\":\n F = [\n [\"M-6,2 A2,2 0 0,0 -6,6 H6 A2,2 0 0,1 6,2 Z\"],\n [\"M-6,-6 A2,2 0 0,0 -6,-2 H6 A2,2 0 0,1 6,-6 Z\"],\n [\"M-6,-2 A2,2 0 0,0 -6,2 H6 A2,2 0 0,1 6,-2 Z\"]\n ], L = !1;\n break;\n case \"surface\":\n F = [\n [\"M-6,-6 A2,3 0 0,0 -6,0 H6 A2,3 0 0,1 6,-6 Z\"],\n [\"M-6,1 A2,3 0 0,1 -6,6 H6 A2,3 0 0,0 6,0 Z\"]\n ], L = !0;\n break;\n case \"mesh3d\":\n F = [\n [\"M-6,6H0L-6,-6Z\"],\n [\"M6,6H0L6,-6Z\"],\n [\"M-6,-6H6L0,6Z\"]\n ], L = !1;\n break;\n case \"volume\":\n F = [\n [\"M-6,6H0L-6,-6Z\"],\n [\"M6,6H0L6,-6Z\"],\n [\"M-6,-6H6L0,6Z\"]\n ], L = !0;\n break;\n case \"isosurface\":\n F = [\n [\"M-6,6H0L-6,-6Z\"],\n [\"M6,6H0L6,-6Z\"],\n [\"M-6,-6 A12,24 0 0,0 6,-6 L0,6Z\"]\n ], L = !1;\n break;\n }\n var $ = In.select(this).select(\"g.legendpoints\").selectAll(\"path.legend3dandfriends\").data(F);\n $.enter().append(\"path\").classed(\"legend3dandfriends\", !0).attr(\"transform\", s).style(\"stroke-miterlimit\", 1), $.exit().remove(), $.each(function(I, O) {\n var G = In.select(this), K = Ag(M), V = K.colorscale, z = K.reversescale, P = function(W) {\n if (W.size()) {\n var ee = \"legendfill-\" + M.uid;\n Gn.gradient(\n W,\n r,\n ee,\n Mg(z, L === \"radial\"),\n V,\n \"fill\"\n );\n }\n }, R;\n if (V) {\n if (!L) {\n var B = V.length;\n R = O === 0 ? V[z ? B - 1 : 0][1] : (\n // minimum\n O === 1 ? V[z ? 0 : B - 1][1] : (\n // maximum\n V[Math.floor((B - 1) / 2)][1]\n )\n );\n }\n } else {\n var H = M.vertexcolor || M.facecolor || M.color;\n R = Ln.isArrayOrTypedArray(H) ? H[O] || H[0] : H;\n }\n G.attr(\"d\", I[0]), R ? G.call(Da.fill, R) : G.call(P);\n });\n }\n};\nfunction Mg(e, t) {\n var r = t ? \"radial\" : \"horizontal\";\n return r + (e ? \"\" : \"reversed\");\n}\nfunction lk(e) {\n var t = e[0].trace, r = t.contours, n = yv.hasLines(t), a = yv.hasMarkers(t), i = t.visible && t.fill && t.fill !== \"none\", o = !1, l = !1;\n if (r) {\n var s = r.coloring;\n s === \"lines\" ? o = !0 : n = s === \"none\" || s === \"heatmap\" || r.showlines, r.type === \"constraint\" ? i = r._operation !== \"=\" : (s === \"fill\" || s === \"heatmap\") && (l = !0);\n }\n return {\n showMarker: a,\n showLine: n,\n showFill: i,\n showGradientLine: o,\n showGradientFill: l,\n anyLine: n || o,\n anyFill: i || l\n };\n}\nfunction sk(e, t, r) {\n return e && Ln.isArrayOrTypedArray(e) ? t : e > r ? r : e;\n}\nvar aa = lr, Xr = Ue, Ry = Tn, Qo = Nt, uk = xp, Sg = Qi, nn = Sr, Oh = nr, Ql = Rn, fk = oX, fn = nD, Cb = On, iD = Cb.LINE_SPACING, du = Cb.FROM_TL, ck = Cb.FROM_BR, dk = lX, gX = aD, hk = tf, au = 1, yX = /^legend[0-9]*$/, oD = function(t, r) {\n if (r)\n vk(t, r);\n else {\n var n = t._fullLayout, a = n._legends, i = n._infolayer.selectAll('[class^=\"legend\"]');\n i.each(function() {\n var u = aa.select(this), f = u.attr(\"class\"), d = f.split(\" \")[0];\n d.match(yX) && a.indexOf(d) === -1 && u.remove();\n });\n for (var o = 0; o < a.length; o++) {\n var l = a[o], s = t._fullLayout[l];\n vk(t, s);\n }\n }\n};\nfunction bX(e, t, r) {\n if (!(t.title.side !== \"top center\" && t.title.side !== \"top right\")) {\n var n = t.title.font, a = n.size * iD, i = 0, o = e.node(), l = nn.bBox(o).width;\n t.title.side === \"top center\" ? i = 0.5 * (t._width - 2 * r - 2 * fn.titlePad - l) : t.title.side === \"top right\" && (i = t._width - 2 * r - 2 * fn.titlePad - l), Ql.positionText(\n e,\n r + fn.titlePad + i,\n r + a\n );\n }\n}\nfunction vk(e, t) {\n var r = t || {}, n = e._fullLayout, a = $p(r), i, o, l = r._inHover;\n if (l ? (o = r.layer, i = \"hover\") : (o = n._infolayer, i = a), !!o) {\n i += n._uid, e._legendMouseDownTime || (e._legendMouseDownTime = 0);\n var s;\n if (l) {\n if (!r.entries) return;\n s = dk(r.entries, r);\n } else {\n for (var u = (e.calcdata || []).slice(), f = n.shapes, d = 0; d < f.length; d++) {\n var h = f[d];\n if (h.showlegend) {\n var p = {\n _isShape: !0,\n _fullInput: h,\n index: h._index,\n name: h.name || h.label.text || \"shape \" + h._index,\n legend: h.legend,\n legendgroup: h.legendgroup,\n legendgrouptitle: h.legendgrouptitle,\n legendrank: h.legendrank,\n legendwidth: h.legendwidth,\n showlegend: h.showlegend,\n visible: h.visible,\n opacity: h.opacity,\n mode: h.type === \"line\" ? \"lines\" : \"markers\",\n line: h.line,\n marker: {\n line: h.line,\n color: h.fillcolor,\n size: 12,\n symbol: h.type === \"rect\" ? \"square\" : h.type === \"circle\" ? \"circle\" : (\n // case of path\n \"hexagon2\"\n )\n }\n };\n u.push([{ trace: p }]);\n }\n }\n s = n.showlegend && dk(u, r, n._legends.length > 1);\n }\n var v = n.hiddenlabels || [];\n if (!l && (!n.showlegend || !s.length))\n return o.selectAll(\".\" + a).remove(), n._topdefs.select(\"#\" + i).remove(), Ry.autoMargin(e, a);\n var m = Xr.ensureSingle(o, \"g\", a, function(M) {\n l || M.attr(\"pointer-events\", \"all\");\n }), g = Xr.ensureSingleById(n._topdefs, \"clipPath\", i, function(M) {\n M.append(\"rect\");\n }), y = Xr.ensureSingle(m, \"rect\", \"bg\", function(M) {\n M.attr(\"shape-rendering\", \"crispEdges\");\n });\n y.call(Oh.stroke, r.bordercolor).call(Oh.fill, r.bgcolor).style(\"stroke-width\", r.borderwidth + \"px\");\n var w = Xr.ensureSingle(m, \"g\", \"scrollbox\"), k = r.title;\n r._titleWidth = 0, r._titleHeight = 0;\n var x;\n k.text ? (x = Xr.ensureSingle(w, \"text\", a + \"titletext\"), x.attr(\"text-anchor\", \"start\").call(nn.font, k.font).text(k.text), Hh(x, w, e, r, au)) : w.selectAll(\".\" + a + \"titletext\").remove();\n var _ = Xr.ensureSingle(m, \"rect\", \"scrollbar\", function(M) {\n M.attr(fn.scrollBarEnterAttrs).call(Oh.fill, fn.scrollBarColor);\n }), T = w.selectAll(\"g.groups\").data(s);\n T.enter().append(\"g\").attr(\"class\", \"groups\"), T.exit().remove();\n var S = T.selectAll(\"g.traces\").data(Xr.identity);\n S.enter().append(\"g\").attr(\"class\", \"traces\"), S.exit().remove(), S.style(\"opacity\", function(M) {\n var L = M[0].trace;\n return Qo.traceIs(L, \"pie-like\") ? v.indexOf(M[0].label) !== -1 ? 0.5 : 1 : L.visible === \"legendonly\" ? 0.5 : 1;\n }).each(function() {\n aa.select(this).call(_X, e, r);\n }).call(gX, e, r).each(function() {\n l || aa.select(this).call(xX, e, a);\n }), Xr.syncOrAsync([\n Ry.previousPromises,\n function() {\n return kX(e, T, S, r);\n },\n function() {\n var M = n._size, L = r.borderwidth, F = r.xref === \"paper\", $ = r.yref === \"paper\";\n if (k.text && bX(x, r, L), !l) {\n var I, O;\n F ? I = M.l + M.w * r.x - du[bv(r)] * r._width : I = n.width * r.x - du[bv(r)] * r._width, $ ? O = M.t + M.h * (1 - r.y) - du[_v(r)] * r._effHeight : O = n.height * (1 - r.y) - du[_v(r)] * r._effHeight;\n var G = AX(e, a, I, O);\n if (G) return;\n if (n.margin.autoexpand) {\n var K = I, V = O;\n I = F ? Xr.constrain(I, 0, n.width - r._width) : K, O = $ ? Xr.constrain(O, 0, n.height - r._effHeight) : V, I !== K && Xr.log(\"Constrain \" + a + \".x to make legend fit inside graph\"), O !== V && Xr.log(\"Constrain \" + a + \".y to make legend fit inside graph\");\n }\n nn.setTranslate(m, I, O);\n }\n if (_.on(\".drag\", null), m.on(\"wheel\", null), l || r._height <= r._maxHeight || e._context.staticPlot) {\n var z = r._effHeight;\n l && (z = r._height), y.attr({\n width: r._width - L,\n height: z - L,\n x: L / 2,\n y: L / 2\n }), nn.setTranslate(w, 0, 0), g.select(\"rect\").attr({\n width: r._width - 2 * L,\n height: z - 2 * L,\n x: L,\n y: L\n }), nn.setClipUrl(w, i, e), nn.setRect(_, 0, 0, 0, 0), delete r._scrollY;\n } else {\n var P = Math.max(\n fn.scrollBarMinHeight,\n r._effHeight * r._effHeight / r._height\n ), R = r._effHeight - P - 2 * fn.scrollBarMargin, H = r._height - r._effHeight, B = R / H, W = Math.min(r._scrollY || 0, H);\n y.attr({\n width: r._width - 2 * L + fn.scrollBarWidth + fn.scrollBarMargin,\n height: r._effHeight - L,\n x: L / 2,\n y: L / 2\n }), g.select(\"rect\").attr({\n width: r._width - 2 * L + fn.scrollBarWidth + fn.scrollBarMargin,\n height: r._effHeight - 2 * L,\n x: L,\n y: L + W\n }), nn.setClipUrl(w, i, e), Z(W, P, B), m.on(\"wheel\", function() {\n W = Xr.constrain(\n r._scrollY + aa.event.deltaY / R * H,\n 0,\n H\n ), Z(W, P, B), W !== 0 && W !== H && aa.event.preventDefault();\n });\n var ee, re, ae, Q = function(ve, me, Le) {\n var ze = (Le - me) / B + ve;\n return Xr.constrain(ze, 0, H);\n }, ue = function(ve, me, Le) {\n var ze = (me - Le) / B + ve;\n return Xr.constrain(ze, 0, H);\n }, j = aa.behavior.drag().on(\"dragstart\", function() {\n var ve = aa.event.sourceEvent;\n ve.type === \"touchstart\" ? ee = ve.changedTouches[0].clientY : ee = ve.clientY, ae = W;\n }).on(\"drag\", function() {\n var ve = aa.event.sourceEvent;\n ve.buttons === 2 || ve.ctrlKey || (ve.type === \"touchmove\" ? re = ve.changedTouches[0].clientY : re = ve.clientY, W = Q(ae, ee, re), Z(W, P, B));\n });\n _.call(j);\n var U = aa.behavior.drag().on(\"dragstart\", function() {\n var ve = aa.event.sourceEvent;\n ve.type === \"touchstart\" && (ee = ve.changedTouches[0].clientY, ae = W);\n }).on(\"drag\", function() {\n var ve = aa.event.sourceEvent;\n ve.type === \"touchmove\" && (re = ve.changedTouches[0].clientY, W = ue(ae, ee, re), Z(W, P, B));\n });\n w.call(U);\n }\n function Z(ve, me, Le) {\n r._scrollY = e._fullLayout[a]._scrollY = ve, nn.setTranslate(w, 0, -ve), nn.setRect(\n _,\n r._width,\n fn.scrollBarMargin + ve * Le,\n fn.scrollBarWidth,\n me\n ), g.select(\"rect\").attr(\"y\", L + ve);\n }\n if (e._context.edits.legendPosition) {\n var le, J, pe, ge;\n m.classed(\"cursor-move\", !0), Sg.init({\n element: m.node(),\n gd: e,\n prepFn: function() {\n var ve = nn.getTranslate(m);\n pe = ve.x, ge = ve.y;\n },\n moveFn: function(ve, me) {\n var Le = pe + ve, ze = ge + me;\n nn.setTranslate(m, Le, ze), le = Sg.align(Le, r._width, M.l, M.l + M.w, r.xanchor), J = Sg.align(ze + r._height, -r._height, M.t + M.h, M.t, r.yanchor);\n },\n doneFn: function() {\n if (le !== void 0 && J !== void 0) {\n var ve = {};\n ve[a + \".x\"] = le, ve[a + \".y\"] = J, Qo.call(\"_guiRelayout\", e, ve);\n }\n },\n clickFn: function(ve, me) {\n var Le = o.selectAll(\"g.traces\").filter(function() {\n var ze = this.getBoundingClientRect();\n return me.clientX >= ze.left && me.clientX <= ze.right && me.clientY >= ze.top && me.clientY <= ze.bottom;\n });\n Le.size() > 0 && lD(e, m, Le, ve, me);\n }\n });\n }\n }\n ], e);\n }\n}\nfunction th(e, t, r) {\n var n = e[0], a = n.width, i = t.entrywidthmode, o = n.trace.legendwidth || t.entrywidth;\n return i === \"fraction\" ? t._maxWidth * o : r + (o || a);\n}\nfunction lD(e, t, r, n, a) {\n var i = r.data()[0][0].trace, o = {\n event: a,\n node: r.node(),\n curveNumber: i.index,\n expandedIndex: i._expandedIndex,\n data: e.data,\n layout: e.layout,\n frames: e._transitionData._frames,\n config: e._context,\n fullData: e._fullData,\n fullLayout: e._fullLayout\n };\n i._group && (o.group = i._group), Qo.traceIs(i, \"pie-like\") && (o.label = r.datum()[0].label);\n var l = uk.triggerHandler(e, \"plotly_legendclick\", o);\n if (n === 1) {\n if (l === !1) return;\n t._clickTimeout = setTimeout(function() {\n e._fullLayout && fk(r, e, n);\n }, e._context.doubleClickDelay);\n } else if (n === 2) {\n t._clickTimeout && clearTimeout(t._clickTimeout), e._legendMouseDownTime = 0;\n var s = uk.triggerHandler(e, \"plotly_legenddoubleclick\", o);\n s !== !1 && l !== !1 && fk(r, e, n);\n }\n}\nfunction _X(e, t, r) {\n var n = $p(r), a = e.data()[0][0], i = a.trace, o = Qo.traceIs(i, \"pie-like\"), l = !r._inHover && t._context.edits.legendText && !o, s = r._maxNameLength, u, f;\n a.groupTitle ? (u = a.groupTitle.text, f = a.groupTitle.font) : (f = r.font, r.entries ? u = a.text : (u = o ? a.label : i.name, i._meta && (u = Xr.templateString(u, i._meta))));\n var d = Xr.ensureSingle(e, \"text\", n + \"text\");\n d.attr(\"text-anchor\", \"start\").call(nn.font, f).text(l ? pk(u, s) : u);\n var h = r.itemwidth + fn.itemGap * 2;\n Ql.positionText(d, h, 0), l ? d.call(Ql.makeEditable, { gd: t, text: u }).call(Hh, e, t, r).on(\"edit\", function(p) {\n this.text(pk(p, s)).call(Hh, e, t, r);\n var v = a.trace._fullInput || {}, m = {};\n if (Qo.hasTransform(v, \"groupby\")) {\n var g = Qo.getTransformIndices(v, \"groupby\"), y = g[g.length - 1], w = Xr.keyedContainer(v, \"transforms[\" + y + \"].styles\", \"target\", \"value.name\");\n w.set(a.trace._group, p), m = w.constructUpdate();\n } else\n m.name = p;\n return v._isShape ? Qo.call(\"_guiRelayout\", t, \"shapes[\" + i.index + \"].name\", m.name) : Qo.call(\"_guiRestyle\", t, m, i.index);\n }) : Hh(d, e, t, r);\n}\nfunction pk(e, t) {\n var r = Math.max(4, t);\n if (e && e.trim().length >= r / 2) return e;\n e = e || \"\";\n for (var n = r - e.length; n > 0; n--) e += \" \";\n return e;\n}\nfunction xX(e, t, r) {\n var n = t._context.doubleClickDelay, a, i = 1, o = Xr.ensureSingle(e, \"rect\", r + \"toggle\", function(l) {\n t._context.staticPlot || l.style(\"cursor\", \"pointer\").attr(\"pointer-events\", \"all\"), l.call(Oh.fill, \"rgba(0,0,0,0)\");\n });\n t._context.staticPlot || (o.on(\"mousedown\", function() {\n a = (/* @__PURE__ */ new Date()).getTime(), a - t._legendMouseDownTime < n ? i += 1 : (i = 1, t._legendMouseDownTime = a);\n }), o.on(\"mouseup\", function() {\n if (!(t._dragged || t._editing)) {\n var l = t._fullLayout[r];\n (/* @__PURE__ */ new Date()).getTime() - t._legendMouseDownTime > n && (i = Math.max(i - 1, 1)), lD(t, l, e, i, aa.event);\n }\n }));\n}\nfunction Hh(e, t, r, n, a) {\n n._inHover && e.attr(\"data-notex\", !0), Ql.convertToTspans(e, r, function() {\n wX(t, r, n, a);\n });\n}\nfunction wX(e, t, r, n) {\n var a = e.data()[0][0];\n if (!r._inHover && a && !a.trace.showlegend) {\n e.remove();\n return;\n }\n var i = e.select(\"g[class*=math-group]\"), o = i.node(), l = $p(r);\n r || (r = t._fullLayout[l]);\n var s = r.borderwidth, u;\n n === au ? u = r.title.font : a.groupTitle ? u = a.groupTitle.font : u = r.font;\n var f = u.size * iD, d, h;\n if (o) {\n var p = nn.bBox(o);\n d = p.height, h = p.width, n === au ? nn.setTranslate(i, s, s + d * 0.75) : nn.setTranslate(i, 0, d * 0.25);\n } else {\n var v = \".\" + l + (n === au ? \"title\" : \"\") + \"text\", m = e.select(v), g = Ql.lineCount(m), y = m.node();\n if (d = f * g, h = y ? nn.bBox(y).width : 0, n === au)\n r.title.side === \"left\" && (h += fn.itemGap * 2), Ql.positionText(\n m,\n s + fn.titlePad,\n s + f\n );\n else {\n var w = fn.itemGap * 2 + r.itemwidth;\n a.groupTitle && (w = fn.itemGap, h -= r.itemwidth), Ql.positionText(\n m,\n w,\n -f * ((g - 1) / 2 - 0.3)\n );\n }\n }\n n === au ? (r._titleWidth = h, r._titleHeight = d) : (a.lineHeight = f, a.height = Math.max(d, 16) + 3, a.width = h);\n}\nfunction TX(e) {\n var t = 0, r = 0, n = e.title.side;\n return n && (n.indexOf(\"left\") !== -1 && (t = e._titleWidth), n.indexOf(\"top\") !== -1 && (r = e._titleHeight)), [t, r];\n}\nfunction kX(e, t, r, n) {\n var a = e._fullLayout, i = $p(n);\n n || (n = a[i]);\n var o = a._size, l = hk.isVertical(n), s = hk.isGrouped(n), u = n.entrywidthmode === \"fraction\", f = n.borderwidth, d = 2 * f, h = fn.itemGap, p = n.itemwidth + h * 2, v = 2 * (f + h), m = _v(n), g = n.y < 0 || n.y === 0 && m === \"top\", y = n.y > 1 || n.y === 1 && m === \"bottom\", w = n.tracegroupgap, k = {};\n n._maxHeight = Math.max(\n g || y ? a.height / 2 : o.h,\n 30\n );\n var x = 0;\n n._width = 0, n._height = 0;\n var _ = TX(n);\n if (l)\n r.each(function(ae) {\n var Q = ae[0].height;\n nn.setTranslate(\n this,\n f + _[0],\n f + _[1] + n._height + Q / 2 + h\n ), n._height += Q, n._width = Math.max(n._width, ae[0].width);\n }), x = p + n._width, n._width += h + p + d, n._height += v, s && (t.each(function(ae, Q) {\n nn.setTranslate(this, 0, Q * n.tracegroupgap);\n }), n._height += (n._lgroupsLength - 1) * n.tracegroupgap);\n else {\n var T = bv(n), S = n.x < 0 || n.x === 0 && T === \"right\", M = n.x > 1 || n.x === 1 && T === \"left\", L = y || g, F = a.width / 2;\n n._maxWidth = Math.max(\n S ? L && T === \"left\" ? o.l + o.w : F : M ? L && T === \"right\" ? o.r + o.w : F : o.w,\n 2 * p\n );\n var $ = 0, I = 0;\n r.each(function(ae) {\n var Q = th(ae, n, p);\n $ = Math.max($, Q), I += Q;\n }), x = null;\n var O = 0;\n if (s) {\n var G = 0, K = 0, V = 0;\n t.each(function() {\n var ae = 0, Q = 0;\n aa.select(this).selectAll(\"g.traces\").each(function(j) {\n var U = th(j, n, p), Z = j[0].height;\n nn.setTranslate(\n this,\n _[0],\n _[1] + f + h + Z / 2 + Q\n ), Q += Z, ae = Math.max(ae, U), k[j[0].trace.legendgroup] = ae;\n });\n var ue = ae + h;\n // not on the first column already\n K > 0 && // goes beyound limit\n ue + f + K > n._maxWidth ? (O = Math.max(O, K), K = 0, V += G + w, G = Q) : G = Math.max(G, Q), nn.setTranslate(this, K, V), K += ue;\n }), n._width = Math.max(O, K) + f, n._height = V + G + v;\n } else {\n var z = r.size(), P = I + d + (z - 1) * h < n._maxWidth, R = 0, H = 0, B = 0, W = 0;\n r.each(function(ae) {\n var Q = ae[0].height, ue = th(ae, n, p), j = P ? ue : $;\n u || (j += h), j + f + H - h >= n._maxWidth && (O = Math.max(O, W), H = 0, B += R, n._height += R, R = 0), nn.setTranslate(\n this,\n _[0] + f + H,\n _[1] + f + B + Q / 2 + h\n ), W = H + ue + h, H += j, R = Math.max(R, Q);\n }), P ? (n._width = H + d, n._height = R + v) : (n._width = Math.max(O, W) + d, n._height += R + v);\n }\n }\n n._width = Math.ceil(\n Math.max(\n n._width + _[0],\n n._titleWidth + 2 * (f + fn.titlePad)\n )\n ), n._height = Math.ceil(\n Math.max(\n n._height + _[1],\n n._titleHeight + 2 * (f + fn.itemGap)\n )\n ), n._effHeight = Math.min(n._height, n._maxHeight);\n var ee = e._context.edits, re = ee.legendText || ee.legendPosition;\n r.each(function(ae) {\n var Q = aa.select(this).select(\".\" + i + \"toggle\"), ue = ae[0].height, j = ae[0].trace.legendgroup, U = th(ae, n, p);\n s && j !== \"\" && (U = k[j]);\n var Z = re ? p : x || U;\n !l && !u && (Z += h / 2), nn.setRect(Q, 0, -ue / 2, Z, ue);\n });\n}\nfunction AX(e, t, r, n) {\n var a = e._fullLayout, i = a[t], o = bv(i), l = _v(i), s = i.xref === \"paper\", u = i.yref === \"paper\";\n e._fullLayout._reservedMargin[t] = {};\n var f = i.y < 0.5 ? \"b\" : \"t\", d = i.x < 0.5 ? \"l\" : \"r\", h = {\n r: a.width - r,\n l: r + i._width,\n b: a.height - n,\n t: n + i._effHeight\n };\n if (s && u)\n return Ry.autoMargin(e, t, {\n x: i.x,\n y: i.y,\n l: i._width * du[o],\n r: i._width * ck[o],\n b: i._effHeight * ck[l],\n t: i._effHeight * du[l]\n });\n s ? e._fullLayout._reservedMargin[t][f] = h[f] : u || i.orientation === \"v\" ? e._fullLayout._reservedMargin[t][d] = h[d] : e._fullLayout._reservedMargin[t][f] = h[f];\n}\nfunction bv(e) {\n return Xr.isRightAnchor(e) ? \"right\" : Xr.isCenterAnchor(e) ? \"center\" : \"left\";\n}\nfunction _v(e) {\n return Xr.isBottomAnchor(e) ? \"bottom\" : Xr.isMiddleAnchor(e) ? \"middle\" : \"top\";\n}\nfunction $p(e) {\n return e._id || \"legend\";\n}\nvar Bl = lr, so = sr, mk = bi, Kr = Ue, Cg = Kr.strTranslate, MX = Kr.strRotate, SX = xp, Ra = Rn, CX = JY, $i = Sr, pn = nr, rh = Qi, Yo = Cr, Pu = Nt, ii = Do, us = sp, LX = rD, DX = oD, sD = us.YANGLE, Lb = Math.PI * sD / 180, EX = 1 / Math.sin(Lb), FX = Math.cos(Lb), RX = Math.sin(Lb), br = us.HOVERARROWSIZE, rr = us.HOVERTEXTPAD, gk = {\n box: !0,\n ohlc: !0,\n violin: !0,\n candlestick: !0\n}, PX = {\n scatter: !0,\n scattergl: !0,\n splom: !0\n};\nPp.hover = function(t, r, n, a) {\n t = Kr.getGraphDiv(t);\n var i = r.target;\n Kr.throttle(\n t._fullLayout._uid + us.HOVERID,\n us.HOVERMINTIME,\n function() {\n $X(t, r, n, a, i);\n }\n );\n};\nPp.loneHover = function(t, r) {\n var n = !0;\n Array.isArray(t) || (n = !1, t = [t]);\n var a = r.gd, i = hD(a), o = vD(a), l = t.map(function(g) {\n var y = g._x0 || g.x0 || g.x || 0, w = g._x1 || g.x1 || g.x || 0, k = g._y0 || g.y0 || g.y || 0, x = g._y1 || g.y1 || g.y || 0, _ = g.eventData;\n if (_) {\n var T = Math.min(y, w), S = Math.max(y, w), M = Math.min(k, x), L = Math.max(k, x), F = g.trace;\n if (Pu.traceIs(F, \"gl3d\")) {\n var $ = a._fullLayout[F.scene]._scene.container, I = $.offsetLeft, O = $.offsetTop;\n T += I, S += I, M += O, L += O;\n }\n _.bbox = {\n x0: T + o,\n x1: S + o,\n y0: M + i,\n y1: L + i\n }, r.inOut_bbox && r.inOut_bbox.push(_.bbox);\n } else\n _ = !1;\n return {\n color: g.color || pn.defaultLine,\n x0: g.x0 || g.x || 0,\n x1: g.x1 || g.x || 0,\n y0: g.y0 || g.y || 0,\n y1: g.y1 || g.y || 0,\n xLabel: g.xLabel,\n yLabel: g.yLabel,\n zLabel: g.zLabel,\n text: g.text,\n name: g.name,\n idealAlign: g.idealAlign,\n // optional extra bits of styling\n borderColor: g.borderColor,\n fontFamily: g.fontFamily,\n fontSize: g.fontSize,\n fontColor: g.fontColor,\n nameLength: g.nameLength,\n textAlign: g.textAlign,\n // filler to make createHoverText happy\n trace: g.trace || {\n index: 0,\n hoverinfo: \"\"\n },\n xa: { _offset: 0 },\n ya: { _offset: 0 },\n index: 0,\n hovertemplate: g.hovertemplate || !1,\n hovertemplateLabels: g.hovertemplateLabels || !1,\n eventData: _\n };\n }), s = !1, u = fD(l, {\n gd: a,\n hovermode: \"closest\",\n rotateLabels: s,\n bgColor: r.bgColor || pn.background,\n container: Bl.select(r.container),\n outerContainer: r.outerContainer || r.container\n }), f = u.hoverLabels, d = 5, h = 0, p = 0;\n f.sort(function(g, y) {\n return g.y0 - y.y0;\n }).each(function(g, y) {\n var w = g.y0 - g.by / 2;\n w - d < h ? g.offset = h - w + d : g.offset = 0, h = w + g.by + g.offset, y === r.anchorIndex && (p = g.offset);\n }).each(function(g) {\n g.offset -= p;\n });\n var v = a._fullLayout._invScaleX, m = a._fullLayout._invScaleY;\n return dD(f, s, v, m), n ? f : f.node();\n};\nfunction $X(e, t, r, n, a) {\n r || (r = \"xy\");\n var i = Array.isArray(r) ? r : [r], o = e._fullLayout, l = o._plots || [], s = l[r], u = o._has(\"cartesian\");\n if (s) {\n var f = s.overlays.map(function(ie) {\n return ie.id;\n });\n i = i.concat(f);\n }\n for (var d = i.length, h = new Array(d), p = new Array(d), v = !1, m = 0; m < d; m++) {\n var g = i[m];\n if (l[g])\n v = !0, h[m] = l[g].xaxis, p[m] = l[g].yaxis;\n else if (o[g] && o[g]._subplot) {\n var y = o[g]._subplot;\n h[m] = y.xaxis, p[m] = y.yaxis;\n } else {\n Kr.warn(\"Unrecognized subplot: \" + g);\n return;\n }\n }\n var w = t.hovermode || o.hovermode;\n if (w && !v && (w = \"closest\"), [\"x\", \"y\", \"closest\", \"x unified\", \"y unified\"].indexOf(w) === -1 || !e.calcdata || e.querySelector(\".zoombox\") || e._dragging)\n return rh.unhoverRaw(e, t);\n var k = o.hoverdistance;\n k === -1 && (k = 1 / 0);\n var x = o.spikedistance;\n x === -1 && (x = 1 / 0);\n var _ = [], T = [], S, M, L, F, $, I, O, G, K, V, z, P, R, H = {\n hLinePoint: null,\n vLinePoint: null\n }, B = !1;\n if (Array.isArray(t))\n for (w = \"array\", L = 0; L < t.length; L++)\n $ = e.calcdata[t[L].curveNumber || 0], $ && (I = $[0].trace, $[0].trace.hoverinfo !== \"skip\" && (T.push($), I.orientation === \"h\" && (B = !0)));\n else {\n for (F = 0; F < e.calcdata.length; F++)\n $ = e.calcdata[F], I = $[0].trace, I.hoverinfo !== \"skip\" && ii.isTraceInSubplots(I, i) && (T.push($), I.orientation === \"h\" && (B = !0));\n var W = !a, ee, re;\n if (W)\n \"xpx\" in t ? ee = t.xpx : ee = h[0]._length / 2, \"ypx\" in t ? re = t.ypx : re = p[0]._length / 2;\n else {\n if (SX.triggerHandler(e, \"plotly_beforehover\", t) === !1)\n return;\n var ae = a.getBoundingClientRect();\n ee = t.clientX - ae.left, re = t.clientY - ae.top, o._calcInverseTransform(e);\n var Q = Kr.apply3DTransform(o._invTransform)(ee, re);\n if (ee = Q[0], re = Q[1], ee < 0 || ee > h[0]._length || re < 0 || re > p[0]._length)\n return rh.unhoverRaw(e, t);\n }\n if (t.pointerX = ee + h[0]._offset, t.pointerY = re + p[0]._offset, \"xval\" in t ? S = ii.flat(i, t.xval) : S = ii.p2c(h, ee), \"yval\" in t ? M = ii.flat(i, t.yval) : M = ii.p2c(p, re), !so(S[0]) || !so(M[0]))\n return Kr.warn(\"Fx.hover failed\", t, e), rh.unhoverRaw(e, t);\n }\n var ue = 1 / 0;\n function j(ie, fe) {\n for (F = 0; F < T.length; F++)\n if ($ = T[F], !(!$ || !$[0] || !$[0].trace) && (I = $[0].trace, !(I.visible !== !0 || I._length === 0) && [\"carpet\", \"contourcarpet\"].indexOf(I._module.name) === -1)) {\n if (I.type === \"splom\" ? (G = 0, O = i[G]) : (O = ii.getSubplot(I), G = i.indexOf(O)), K = w, ii.isUnifiedHover(K) && (K = K.charAt(0)), P = {\n // trace properties\n cd: $,\n trace: I,\n xa: h[G],\n ya: p[G],\n // max distances for hover and spikes - for points that want to show but do not\n // want to override other points, set distance/spikeDistance equal to max*Distance\n // and it will not get filtered out but it will be guaranteed to have a greater\n // distance than any point that calculated a real distance.\n maxHoverDistance: k,\n maxSpikeDistance: x,\n // point properties - override all of these\n index: !1,\n // point index in trace - only used by plotly.js hoverdata consumers\n distance: Math.min(ue, k),\n // pixel distance or pseudo-distance\n // distance/pseudo-distance for spikes. This distance should always be calculated\n // as if in \"closest\" mode, and should only be set if this point should\n // generate a spike.\n spikeDistance: 1 / 0,\n // in some cases the spikes have different positioning from the hover label\n // they don't need x0/x1, just one position\n xSpike: void 0,\n ySpike: void 0,\n // where and how to display the hover label\n color: pn.defaultLine,\n // trace color\n name: I.name,\n x0: void 0,\n x1: void 0,\n y0: void 0,\n y1: void 0,\n xLabelVal: void 0,\n yLabelVal: void 0,\n zLabelVal: void 0,\n text: void 0\n }, o[O] && (P.subplot = o[O]._subplot), o._splomScenes && o._splomScenes[I.uid] && (P.scene = o._splomScenes[I.uid]), R = _.length, K === \"array\") {\n var ke = t[F];\n \"pointNumber\" in ke ? (P.index = ke.pointNumber, K = \"closest\") : (K = \"\", \"xval\" in ke && (V = ke.xval, K = \"x\"), \"yval\" in ke && (z = ke.yval, K = K ? \"closest\" : \"y\"));\n } else ie !== void 0 && fe !== void 0 ? (V = ie, z = fe) : (V = S[G], z = M[G]);\n if (k !== 0)\n if (I._module && I._module.hoverPoints) {\n var _e = I._module.hoverPoints(P, V, z, K, {\n finiteRange: !0,\n hoverLayer: o._hoverlayer\n });\n if (_e)\n for (var Ge, je = 0; je < _e.length; je++)\n Ge = _e[je], so(Ge.x0) && so(Ge.y0) && _.push(OX(Ge, w));\n } else\n Kr.log(\"Unrecognized trace type in hover:\", I);\n if (w === \"closest\" && _.length > R && (_.splice(0, R), ue = _[0].distance), u && x !== 0 && _.length === 0) {\n P.distance = x, P.index = !1;\n var Ee = I._module.hoverPoints(P, V, z, \"closest\", {\n hoverLayer: o._hoverlayer\n });\n if (Ee && (Ee = Ee.filter(function(Pt) {\n return Pt.spikeDistance <= x;\n })), Ee && Ee.length) {\n var oe, Ce = Ee.filter(function(Pt) {\n return Pt.xa.showspikes && Pt.xa.spikesnap !== \"hovered data\";\n });\n if (Ce.length) {\n var Be = Ce[0];\n so(Be.x0) && so(Be.y0) && (oe = Z(Be), (!H.vLinePoint || H.vLinePoint.spikeDistance > oe.spikeDistance) && (H.vLinePoint = oe));\n }\n var Xe = Ee.filter(function(Pt) {\n return Pt.ya.showspikes && Pt.ya.spikesnap !== \"hovered data\";\n });\n if (Xe.length) {\n var Et = Xe[0];\n so(Et.x0) && so(Et.y0) && (oe = Z(Et), (!H.hLinePoint || H.hLinePoint.spikeDistance > oe.spikeDistance) && (H.hLinePoint = oe));\n }\n }\n }\n }\n }\n j();\n function U(ie, fe, ke) {\n for (var _e = null, Ge = 1 / 0, je, Ee = 0; Ee < ie.length; Ee++)\n je = ie[Ee].spikeDistance, ke && Ee === 0 && (je = -1 / 0), je <= Ge && je <= fe && (_e = ie[Ee], Ge = je);\n return _e;\n }\n function Z(ie) {\n return ie ? {\n xa: ie.xa,\n ya: ie.ya,\n x: ie.xSpike !== void 0 ? ie.xSpike : (ie.x0 + ie.x1) / 2,\n y: ie.ySpike !== void 0 ? ie.ySpike : (ie.y0 + ie.y1) / 2,\n distance: ie.distance,\n spikeDistance: ie.spikeDistance,\n curveNumber: ie.trace.index,\n color: ie.color,\n pointNumber: ie.index\n } : null;\n }\n var le = {\n fullLayout: o,\n container: o._hoverlayer,\n event: t\n };\n e._spikepoints;\n var J = {\n vLinePoint: H.vLinePoint,\n hLinePoint: H.hLinePoint\n };\n e._spikepoints = J;\n var pe = function() {\n _.sort(function(ie, fe) {\n return ie.distance - fe.distance;\n }), _ = BX(_, w);\n };\n pe();\n var ge = w.charAt(0), ve = (ge === \"x\" || ge === \"y\") && _[0] && PX[_[0].trace.type];\n if (u && x !== 0 && _.length !== 0) {\n var me = _.filter(function(ie) {\n return ie.ya.showspikes;\n }), Le = U(me, x, ve);\n H.hLinePoint = Z(Le);\n var ze = _.filter(function(ie) {\n return ie.xa.showspikes;\n }), Fe = U(ze, x, ve);\n H.vLinePoint = Z(Fe);\n }\n if (_.length === 0) {\n var Oe = rh.unhoverRaw(e, t);\n return u && (H.hLinePoint !== null || H.vLinePoint !== null) && _k() && bk(e, H, le), Oe;\n }\n if (u && _k() && bk(e, H, le), ii.isXYhover(K) && _[0].length !== 0 && _[0].trace.type !== \"splom\") {\n var Re = _[0];\n gk[Re.trace.type] ? _ = _.filter(function(ie) {\n return ie.trace.index === Re.trace.index;\n }) : _ = [Re];\n var We = _.length, Me = wk(\"x\", Re, o), Ve = wk(\"y\", Re, o);\n j(Me, Ve);\n var qe = [], Qe = {}, ot = 0, ht = function(ie) {\n var fe = gk[ie.trace.type] ? uD(ie) : ie.trace.index;\n if (!Qe[fe])\n ot++, Qe[fe] = ot, qe.push(ie);\n else {\n var ke = Qe[fe] - 1, _e = qe[ke];\n ke > 0 && Math.abs(ie.distance) < Math.abs(_e.distance) && (qe[ke] = ie);\n }\n }, vt;\n for (vt = 0; vt < We; vt++)\n ht(_[vt]);\n for (vt = _.length - 1; vt > We - 1; vt--)\n ht(_[vt]);\n _ = qe, pe();\n }\n var nt = e._hoverdata, ft = [], Pe = hD(e), Ie = vD(e);\n for (L = 0; L < _.length; L++) {\n var Ne = _[L], tt = ii.makeEventData(Ne, Ne.trace, Ne.cd);\n if (Ne.hovertemplate !== !1) {\n var Je = !1;\n Ne.cd[Ne.index] && Ne.cd[Ne.index].ht && (Je = Ne.cd[Ne.index].ht), Ne.hovertemplate = Je || Ne.trace.hovertemplate || !1;\n }\n if (Ne.xa && Ne.ya) {\n var it = Ne.x0 + Ne.xa._offset, at = Ne.x1 + Ne.xa._offset, Tt = Ne.y0 + Ne.ya._offset, gt = Ne.y1 + Ne.ya._offset, He = Math.min(it, at), pt = Math.max(it, at), bt = Math.min(Tt, gt), Ke = Math.max(Tt, gt);\n tt.bbox = {\n x0: He + Ie,\n x1: pt + Ie,\n y0: bt + Pe,\n y1: Ke + Pe\n };\n }\n Ne.eventData = [tt], ft.push(tt);\n }\n e._hoverdata = ft;\n var st = w === \"y\" && (T.length > 1 || _.length > 1) || w === \"closest\" && B && _.length > 1, rt = pn.combine(\n o.plot_bgcolor || pn.background,\n o.paper_bgcolor\n ), ct = fD(_, {\n gd: e,\n hovermode: w,\n rotateLabels: st,\n bgColor: rt,\n container: o._hoverlayer,\n outerContainer: o._paper.node(),\n commonLabelOpts: o.hoverlabel,\n hoverdistance: o.hoverdistance\n }), X = ct.hoverLabels;\n if (ii.isUnifiedHover(w) || (IX(X, st, o, ct.commonLabelBoundingBox), dD(X, st, o._invScaleX, o._invScaleY)), a && a.tagName) {\n var se = Pu.getComponentMethod(\"annotations\", \"hasClickToShow\")(e, ft);\n CX(Bl.select(a), se ? \"pointer\" : \"\");\n }\n !a || n || !HX(e, t, nt) || (nt && e.emit(\"plotly_unhover\", {\n event: t,\n points: nt\n }), e.emit(\"plotly_hover\", {\n event: t,\n points: e._hoverdata,\n xaxes: h,\n yaxes: p,\n xvals: S,\n yvals: M\n }));\n}\nfunction uD(e) {\n return [e.trace.index, e.index, e.x0, e.y0, e.name, e.attr, e.xa ? e.xa._id : \"\", e.ya ? e.ya._id : \"\"].join(\",\");\n}\nvar zX = /([\\s\\S]*)<\\/extra>/;\nfunction fD(e, t) {\n var r = t.gd, n = r._fullLayout, a = t.hovermode, i = t.rotateLabels, o = t.bgColor, l = t.container, s = t.outerContainer, u = t.commonLabelOpts || {};\n if (e.length === 0) return [[]];\n var f = t.fontFamily || us.HOVERFONT, d = t.fontSize || us.HOVERFONTSIZE, h = e[0], p = h.xa, v = h.ya, m = a.charAt(0), g = m + \"Label\", y = h[g];\n if (y === void 0 && p.type === \"multicategory\")\n for (var w = 0; w < e.length && (y = e[w][g], y === void 0); w++)\n ;\n var k = Ns(r, s), x = k.top, _ = k.width, T = k.height, S = y !== void 0 && h.distance <= t.hoverdistance && (a === \"x\" || a === \"y\");\n if (S) {\n var M = !0, L, F;\n for (L = 0; L < e.length; L++)\n if (M && e[L].zLabel === void 0 && (M = !1), F = e[L].hoverinfo || e[L].trace.hoverinfo, F) {\n var $ = Array.isArray(F) ? F : F.split(\"+\");\n if ($.indexOf(\"all\") === -1 && $.indexOf(a) === -1) {\n S = !1;\n break;\n }\n }\n M && (S = !1);\n }\n var I = l.selectAll(\"g.axistext\").data(S ? [0] : []);\n I.enter().append(\"g\").classed(\"axistext\", !0), I.exit().remove();\n var O = {\n minX: 0,\n maxX: 0,\n minY: 0,\n maxY: 0\n };\n if (I.each(function() {\n var Me = Bl.select(this), Ve = Kr.ensureSingle(Me, \"path\", \"\", function(Ke) {\n Ke.style({ \"stroke-width\": \"1px\" });\n }), qe = Kr.ensureSingle(Me, \"text\", \"\", function(Ke) {\n Ke.attr(\"data-notex\", 1);\n }), Qe = u.bgcolor || pn.defaultLine, ot = u.bordercolor || pn.contrast(Qe), ht = pn.contrast(Qe), vt = {\n family: u.font.family || f,\n size: u.font.size || d,\n color: u.font.color || ht\n };\n Ve.style({\n fill: Qe,\n stroke: ot\n }), qe.text(y).call($i.font, vt).call(Ra.positionText, 0, 0).call(Ra.convertToTspans, r), Me.attr(\"transform\", \"\");\n var nt = Ns(r, qe.node()), ft, Pe;\n if (a === \"x\") {\n var Ie = p.side === \"top\" ? \"-\" : \"\";\n qe.attr(\"text-anchor\", \"middle\").call(Ra.positionText, 0, p.side === \"top\" ? x - nt.bottom - br - rr : x - nt.top + br + rr), ft = p._offset + (h.x0 + h.x1) / 2, Pe = v._offset + (p.side === \"top\" ? 0 : v._length);\n var Ne = nt.width / 2 + rr;\n ft < Ne ? (ft = Ne, Ve.attr(\"d\", \"M-\" + (Ne - br) + \",0L-\" + (Ne - br * 2) + \",\" + Ie + br + \"H\" + Ne + \"v\" + Ie + (rr * 2 + nt.height) + \"H-\" + Ne + \"V\" + Ie + br + \"Z\")) : ft > n.width - Ne ? (ft = n.width - Ne, Ve.attr(\"d\", \"M\" + (Ne - br) + \",0L\" + Ne + \",\" + Ie + br + \"v\" + Ie + (rr * 2 + nt.height) + \"H-\" + Ne + \"V\" + Ie + br + \"H\" + (Ne - br * 2) + \"Z\")) : Ve.attr(\"d\", \"M0,0L\" + br + \",\" + Ie + br + \"H\" + Ne + \"v\" + Ie + (rr * 2 + nt.height) + \"H-\" + Ne + \"V\" + Ie + br + \"H-\" + br + \"Z\"), O.minX = ft - Ne, O.maxX = ft + Ne, p.side === \"top\" ? (O.minY = Pe - (rr * 2 + nt.height), O.maxY = Pe - rr) : (O.minY = Pe + rr, O.maxY = Pe + (rr * 2 + nt.height));\n } else {\n var tt, Je, it;\n v.side === \"right\" ? (tt = \"start\", Je = 1, it = \"\", ft = p._offset + p._length) : (tt = \"end\", Je = -1, it = \"-\", ft = p._offset), Pe = v._offset + (h.y0 + h.y1) / 2, qe.attr(\"text-anchor\", tt), Ve.attr(\"d\", \"M0,0L\" + it + br + \",\" + br + \"V\" + (rr + nt.height / 2) + \"h\" + it + (rr * 2 + nt.width) + \"V-\" + (rr + nt.height / 2) + \"H\" + it + br + \"V-\" + br + \"Z\"), O.minY = Pe - (rr + nt.height / 2), O.maxY = Pe + (rr + nt.height / 2), v.side === \"right\" ? (O.minX = ft + br, O.maxX = ft + br + (rr * 2 + nt.width)) : (O.minX = ft - br - (rr * 2 + nt.width), O.maxX = ft - br);\n var at = nt.height / 2, Tt = x - nt.top - at, gt = \"clip\" + n._uid + \"commonlabel\" + v._id, He;\n if (ft < nt.width + 2 * rr + br) {\n He = \"M-\" + (br + rr) + \"-\" + at + \"h-\" + (nt.width - rr) + \"V\" + at + \"h\" + (nt.width - rr) + \"Z\";\n var pt = nt.width - ft + rr;\n Ra.positionText(qe, pt, Tt), tt === \"end\" && qe.selectAll(\"tspan\").each(function() {\n var Ke = Bl.select(this), st = $i.tester.append(\"text\").text(Ke.text()).call($i.font, vt), rt = Ns(r, st.node());\n Math.round(rt.width) < Math.round(nt.width) && Ke.attr(\"x\", pt - rt.width), st.remove();\n });\n } else\n Ra.positionText(qe, Je * (rr + br), Tt), He = null;\n var bt = n._topclips.selectAll(\"#\" + gt).data(He ? [0] : []);\n bt.enter().append(\"clipPath\").attr(\"id\", gt).append(\"path\"), bt.exit().remove(), bt.select(\"path\").attr(\"d\", He), $i.setClipUrl(qe, He ? gt : null, r);\n }\n Me.attr(\"transform\", Cg(ft, Pe));\n }), ii.isUnifiedHover(a)) {\n l.selectAll(\"g.hovertext\").remove();\n var G = e.filter(function(Me) {\n return Me.hoverinfo !== \"none\";\n });\n if (G.length === 0) return [];\n var K = n.hoverlabel, V = K.font, z = {\n showlegend: !0,\n legend: {\n title: { text: y, font: V },\n font: V,\n bgcolor: K.bgcolor,\n bordercolor: K.bordercolor,\n borderwidth: 1,\n tracegroupgap: 7,\n traceorder: n.legend ? n.legend.traceorder : void 0,\n orientation: \"v\"\n }\n }, P = {\n font: V\n };\n LX(z, P, r._fullData);\n var R = P.legend;\n R.entries = [];\n for (var H = 0; H < G.length; H++) {\n var B = G[H];\n if (B.hoverinfo !== \"none\") {\n var W = yk(B, !0, a, n, y), ee = W[0], re = W[1];\n B.name = re, re !== \"\" ? B.text = re + \" : \" + ee : B.text = ee;\n var ae = B.cd[B.index];\n ae && (ae.mc && (B.mc = ae.mc), ae.mcc && (B.mc = ae.mcc), ae.mlc && (B.mlc = ae.mlc), ae.mlcc && (B.mlc = ae.mlcc), ae.mlw && (B.mlw = ae.mlw), ae.mrc && (B.mrc = ae.mrc), ae.dir && (B.dir = ae.dir)), B._distinct = !0, R.entries.push([B]);\n }\n }\n R.entries.sort(function(Me, Ve) {\n return Me[0].trace.index - Ve[0].trace.index;\n }), R.layer = l, R._inHover = !0, R._groupTitleFont = K.grouptitlefont, DX(r, R);\n var Q = l.select(\"g.legend\"), ue = Ns(r, Q.node()), j = ue.width + 2 * rr, U = ue.height + 2 * rr, Z = G[0], le = (Z.x0 + Z.x1) / 2, J = (Z.y0 + Z.y1) / 2, pe = !(Pu.traceIs(Z.trace, \"bar-like\") || Pu.traceIs(Z.trace, \"box-violin\")), ge, ve;\n m === \"y\" ? pe ? (ve = J - rr, ge = J + rr) : (ve = Math.min.apply(null, G.map(function(Me) {\n return Math.min(Me.y0, Me.y1);\n })), ge = Math.max.apply(null, G.map(function(Me) {\n return Math.max(Me.y0, Me.y1);\n }))) : ve = ge = Kr.mean(G.map(function(Me) {\n return (Me.y0 + Me.y1) / 2;\n })) - U / 2;\n var me, Le;\n m === \"x\" ? pe ? (me = le + rr, Le = le - rr) : (me = Math.max.apply(null, G.map(function(Me) {\n return Math.max(Me.x0, Me.x1);\n })), Le = Math.min.apply(null, G.map(function(Me) {\n return Math.min(Me.x0, Me.x1);\n }))) : me = Le = Kr.mean(G.map(function(Me) {\n return (Me.x0 + Me.x1) / 2;\n })) - j / 2;\n var ze = p._offset, Fe = v._offset;\n ge += Fe, me += ze, Le += ze - j, ve += Fe - U;\n var Oe, Re;\n return me + j < _ && me >= 0 ? Oe = me : Le + j < _ && Le >= 0 ? Oe = Le : ze + j < _ ? Oe = ze : me - le < le - Le + j ? Oe = _ - j : Oe = 0, Oe += rr, ge + U < T && ge >= 0 ? Re = ge : ve + U < T && ve >= 0 ? Re = ve : Fe + U < T ? Re = Fe : ge - J < J - ve + U ? Re = T - U : Re = 0, Re += rr, Q.attr(\"transform\", Cg(Oe - 1, Re - 1)), Q;\n }\n var We = l.selectAll(\"g.hovertext\").data(e, function(Me) {\n return uD(Me);\n });\n return We.enter().append(\"g\").classed(\"hovertext\", !0).each(function() {\n var Me = Bl.select(this);\n Me.append(\"rect\").call(pn.fill, pn.addOpacity(o, 0.8)), Me.append(\"text\").classed(\"name\", !0), Me.append(\"path\").style(\"stroke-width\", \"1px\"), Me.append(\"text\").classed(\"nums\", !0).call($i.font, f, d);\n }), We.exit().remove(), We.each(function(Me) {\n var Ve = Bl.select(this).attr(\"transform\", \"\"), qe = Me.color;\n Array.isArray(qe) && (qe = qe[Me.eventData[0].pointNumber]);\n var Qe = Me.bgcolor || qe, ot = pn.combine(\n pn.opacity(Qe) ? Qe : pn.defaultLine,\n o\n ), ht = pn.combine(\n pn.opacity(qe) ? qe : pn.defaultLine,\n o\n ), vt = Me.borderColor || pn.contrast(ot), nt = yk(Me, S, a, n, y, Ve), ft = nt[0], Pe = nt[1], Ie = Ve.select(\"text.nums\").call(\n $i.font,\n Me.fontFamily || f,\n Me.fontSize || d,\n Me.fontColor || vt\n ).text(ft).attr(\"data-notex\", 1).call(Ra.positionText, 0, 0).call(Ra.convertToTspans, r), Ne = Ve.select(\"text.name\"), tt = 0, Je = 0;\n if (Pe && Pe !== ft) {\n Ne.call(\n $i.font,\n Me.fontFamily || f,\n Me.fontSize || d,\n ht\n ).text(Pe).attr(\"data-notex\", 1).call(Ra.positionText, 0, 0).call(Ra.convertToTspans, r);\n var it = Ns(r, Ne.node());\n tt = it.width + 2 * rr, Je = it.height + 2 * rr;\n } else\n Ne.remove(), Ve.select(\"rect\").remove();\n Ve.select(\"path\").style({\n fill: ot,\n stroke: vt\n });\n var at = Me.xa._offset + (Me.x0 + Me.x1) / 2, Tt = Me.ya._offset + (Me.y0 + Me.y1) / 2, gt = Math.abs(Me.x1 - Me.x0), He = Math.abs(Me.y1 - Me.y0), pt = Ns(r, Ie.node()), bt = pt.width / n._invScaleX, Ke = pt.height / n._invScaleY;\n Me.ty0 = (x - pt.top) / n._invScaleY, Me.bx = bt + 2 * rr, Me.by = Math.max(Ke + 2 * rr, Je), Me.anchor = \"start\", Me.txwidth = bt, Me.tx2width = tt, Me.offset = 0;\n var st = (bt + br + rr + tt) * n._invScaleX, rt, ct;\n if (i)\n Me.pos = at, rt = Tt + He / 2 + st <= T, ct = Tt - He / 2 - st >= 0, (Me.idealAlign === \"top\" || !rt) && ct ? (Tt -= He / 2, Me.anchor = \"end\") : rt ? (Tt += He / 2, Me.anchor = \"start\") : Me.anchor = \"middle\", Me.crossPos = Tt;\n else {\n if (Me.pos = Tt, rt = at + gt / 2 + st <= _, ct = at - gt / 2 - st >= 0, (Me.idealAlign === \"left\" || !rt) && ct)\n at -= gt / 2, Me.anchor = \"end\";\n else if (rt)\n at += gt / 2, Me.anchor = \"start\";\n else {\n Me.anchor = \"middle\";\n var X = st / 2, se = at + X - _, ie = at - X;\n se > 0 && (at -= se), ie < 0 && (at += -ie);\n }\n Me.crossPos = at;\n }\n Ie.attr(\"text-anchor\", Me.anchor), tt && Ne.attr(\"text-anchor\", Me.anchor), Ve.attr(\"transform\", Cg(at, Tt) + (i ? MX(sD) : \"\"));\n }), {\n hoverLabels: We,\n commonLabelBoundingBox: O\n };\n}\nfunction yk(e, t, r, n, a, i) {\n var o = \"\", l = \"\";\n e.nameOverride !== void 0 && (e.name = e.nameOverride), e.name && (e.trace._meta && (e.name = Kr.templateString(e.name, e.trace._meta)), o = xk(e.name, e.nameLength));\n var s = r.charAt(0), u = s === \"x\" ? \"y\" : \"x\";\n e.zLabel !== void 0 ? (e.xLabel !== void 0 && (l += \"x: \" + e.xLabel + \"
\"), e.yLabel !== void 0 && (l += \"y: \" + e.yLabel + \"
\"), e.trace.type !== \"choropleth\" && e.trace.type !== \"choroplethmapbox\" && (l += (l ? \"z: \" : \"\") + e.zLabel)) : t && e[s + \"Label\"] === a ? l = e[u + \"Label\"] || \"\" : e.xLabel === void 0 ? e.yLabel !== void 0 && e.trace.type !== \"scattercarpet\" && (l = e.yLabel) : e.yLabel === void 0 ? l = e.xLabel : l = \"(\" + e.xLabel + \", \" + e.yLabel + \")\", (e.text || e.text === 0) && !Array.isArray(e.text) && (l += (l ? \"
\" : \"\") + e.text), e.extraText !== void 0 && (l += (l ? \"
\" : \"\") + e.extraText), i && l === \"\" && !e.hovertemplate && (o === \"\" && i.remove(), l = o);\n var f = e.hovertemplate || !1;\n if (f) {\n var d = e.hovertemplateLabels || e;\n e[s + \"Label\"] !== a && (d[s + \"other\"] = d[s + \"Val\"], d[s + \"otherLabel\"] = d[s + \"Label\"]), l = Kr.hovertemplateString(\n f,\n d,\n n._d3locale,\n e.eventData[0] || {},\n e.trace._meta\n ), l = l.replace(zX, function(h, p) {\n return o = xk(p, e.nameLength), \"\";\n });\n }\n return [l, o];\n}\nfunction IX(e, t, r, n) {\n var a = t ? \"xa\" : \"ya\", i = t ? \"ya\" : \"xa\", o = 0, l = 1, s = e.size(), u = new Array(s), f = 0, d = n.minX, h = n.maxX, p = n.minY, v = n.maxY, m = function(V) {\n return V * r._invScaleX;\n }, g = function(V) {\n return V * r._invScaleY;\n };\n e.each(function(V) {\n var z = V[a], P = V[i], R = z._id.charAt(0) === \"x\", H = z.range;\n f === 0 && H && H[0] > H[1] !== R && (l = -1);\n var B = 0, W = R ? r.width : r.height;\n if (r.hovermode === \"x\" || r.hovermode === \"y\") {\n var ee = cD(V, t), re = V.anchor, ae = re === \"end\" ? -1 : 1, Q, ue;\n if (re === \"middle\")\n Q = V.crossPos + (R ? g(ee.y - V.by / 2) : m(V.bx / 2 + V.tx2width / 2)), ue = Q + (R ? g(V.by) : m(V.bx));\n else if (R)\n Q = V.crossPos + g(br + ee.y) - g(V.by / 2 - br), ue = Q + g(V.by);\n else {\n var j = m(ae * br + ee.x), U = j + m(ae * V.bx);\n Q = V.crossPos + Math.min(j, U), ue = V.crossPos + Math.max(j, U);\n }\n R ? p !== void 0 && v !== void 0 && Math.min(ue, v) - Math.max(Q, p) > 1 && (P.side === \"left\" ? (B = P._mainLinePosition, W = r.width) : W = P._mainLinePosition) : d !== void 0 && h !== void 0 && Math.min(ue, h) - Math.max(Q, d) > 1 && (P.side === \"top\" ? (B = P._mainLinePosition, W = r.height) : W = P._mainLinePosition);\n }\n u[f++] = [{\n datum: V,\n traceIndex: V.trace.index,\n dp: 0,\n pos: V.pos,\n posref: V.posref,\n size: V.by * (R ? EX : 1) / 2,\n pmin: B,\n pmax: W\n }];\n }), u.sort(function(V, z) {\n return V[0].posref - z[0].posref || // for equal positions, sort trace indices increasing or decreasing\n // depending on whether the axis is reversed or not... so stacked\n // traces will generally keep their order even if one trace adds\n // nothing to the stack.\n l * (z[0].traceIndex - V[0].traceIndex);\n });\n var y, w, k, x, _, T, S;\n function M(V) {\n var z = V[0], P = V[V.length - 1];\n if (w = z.pmin - z.pos - z.dp + z.size, k = P.pos + P.dp + P.size - z.pmax, w > 0.01) {\n for (_ = V.length - 1; _ >= 0; _--) V[_].dp += w;\n y = !1;\n }\n if (!(k < 0.01)) {\n if (w < -0.01) {\n for (_ = V.length - 1; _ >= 0; _--) V[_].dp -= k;\n y = !1;\n }\n if (y) {\n var R = 0;\n for (x = 0; x < V.length; x++)\n T = V[x], T.pos + T.dp + T.size > z.pmax && R++;\n for (x = V.length - 1; x >= 0 && !(R <= 0); x--)\n T = V[x], T.pos > z.pmax - 1 && (T.del = !0, R--);\n for (x = 0; x < V.length && !(R <= 0); x++)\n if (T = V[x], T.pos < z.pmin + 1)\n for (T.del = !0, R--, k = T.size * 2, _ = V.length - 1; _ >= 0; _--) V[_].dp -= k;\n for (x = V.length - 1; x >= 0 && !(R <= 0); x--)\n T = V[x], T.pos + T.dp + T.size > z.pmax && (T.del = !0, R--);\n }\n }\n }\n for (; !y && o <= s; ) {\n for (o++, y = !0, x = 0; x < u.length - 1; ) {\n var L = u[x], F = u[x + 1], $ = L[L.length - 1], I = F[0];\n if (w = $.pos + $.dp + $.size - I.pos - I.dp + I.size, w > 0.01 && $.pmin === I.pmin && $.pmax === I.pmax) {\n for (_ = F.length - 1; _ >= 0; _--) F[_].dp += w;\n for (L.push.apply(L, F), u.splice(x + 1, 1), S = 0, _ = L.length - 1; _ >= 0; _--) S += L[_].dp;\n for (k = S / L.length, _ = L.length - 1; _ >= 0; _--) L[_].dp -= k;\n y = !1;\n } else x++;\n }\n u.forEach(M);\n }\n for (x = u.length - 1; x >= 0; x--) {\n var O = u[x];\n for (_ = O.length - 1; _ >= 0; _--) {\n var G = O[_], K = G.datum;\n K.offset = G.dp, K.del = G.del;\n }\n }\n}\nfunction cD(e, t) {\n var r = 0, n = e.offset;\n return t && (n *= -RX, r = e.offset * FX), {\n x: r,\n y: n\n };\n}\nfunction NX(e) {\n var t = { start: 1, end: -1, middle: 0 }[e.anchor], r = t * (br + rr), n = r + t * (e.txwidth + rr), a = e.anchor === \"middle\";\n return a && (r -= e.tx2width / 2, n += e.txwidth / 2 + rr), {\n alignShift: t,\n textShiftX: r,\n text2ShiftX: n\n };\n}\nfunction dD(e, t, r, n) {\n var a = function(o) {\n return o * r;\n }, i = function(o) {\n return o * n;\n };\n e.each(function(o) {\n var l = Bl.select(this);\n if (o.del) return l.remove();\n var s = l.select(\"text.nums\"), u = o.anchor, f = u === \"end\" ? -1 : 1, d = NX(o), h = cD(o, t), p = h.x, v = h.y, m = u === \"middle\";\n l.select(\"path\").attr(\"d\", m ? (\n // middle aligned: rect centered on data\n \"M-\" + a(o.bx / 2 + o.tx2width / 2) + \",\" + i(v - o.by / 2) + \"h\" + a(o.bx) + \"v\" + i(o.by) + \"h-\" + a(o.bx) + \"Z\"\n ) : (\n // left or right aligned: side rect with arrow to data\n \"M0,0L\" + a(f * br + p) + \",\" + i(br + v) + \"v\" + i(o.by / 2 - br) + \"h\" + a(f * o.bx) + \"v-\" + i(o.by) + \"H\" + a(f * br + p) + \"V\" + i(v - br) + \"Z\"\n ));\n var g = p + d.textShiftX, y = v + o.ty0 - o.by / 2 + rr, w = o.textAlign || \"auto\";\n w !== \"auto\" && (w === \"left\" && u !== \"start\" ? (s.attr(\"text-anchor\", \"start\"), g = m ? -o.bx / 2 - o.tx2width / 2 + rr : -o.bx - rr) : w === \"right\" && u !== \"end\" && (s.attr(\"text-anchor\", \"end\"), g = m ? o.bx / 2 - o.tx2width / 2 - rr : o.bx + rr)), s.call(Ra.positionText, a(g), i(y)), o.tx2width && (l.select(\"text.name\").call(\n Ra.positionText,\n a(d.text2ShiftX + d.alignShift * rr + p),\n i(v + o.ty0 - o.by / 2 + rr)\n ), l.select(\"rect\").call(\n $i.setRect,\n a(d.text2ShiftX + (d.alignShift - 1) * o.tx2width / 2 + p),\n i(v - o.by / 2 - 1),\n a(o.tx2width),\n i(o.by + 2)\n ));\n });\n}\nfunction OX(e, t) {\n var r = e.index, n = e.trace || {}, a = e.cd[0], i = e.cd[r] || {};\n function o(h) {\n return h || so(h) && h === 0;\n }\n var l = Array.isArray(r) ? function(h, p) {\n var v = Kr.castOption(a, r, h);\n return o(v) ? v : Kr.extractOption({}, n, \"\", p);\n } : function(h, p) {\n return Kr.extractOption(i, n, h, p);\n };\n function s(h, p, v) {\n var m = l(p, v);\n o(m) && (e[h] = m);\n }\n if (s(\"hoverinfo\", \"hi\", \"hoverinfo\"), s(\"bgcolor\", \"hbg\", \"hoverlabel.bgcolor\"), s(\"borderColor\", \"hbc\", \"hoverlabel.bordercolor\"), s(\"fontFamily\", \"htf\", \"hoverlabel.font.family\"), s(\"fontSize\", \"hts\", \"hoverlabel.font.size\"), s(\"fontColor\", \"htc\", \"hoverlabel.font.color\"), s(\"nameLength\", \"hnl\", \"hoverlabel.namelength\"), s(\"textAlign\", \"hta\", \"hoverlabel.align\"), e.posref = t === \"y\" || t === \"closest\" && n.orientation === \"h\" ? e.xa._offset + (e.x0 + e.x1) / 2 : e.ya._offset + (e.y0 + e.y1) / 2, e.x0 = Kr.constrain(e.x0, 0, e.xa._length), e.x1 = Kr.constrain(e.x1, 0, e.xa._length), e.y0 = Kr.constrain(e.y0, 0, e.ya._length), e.y1 = Kr.constrain(e.y1, 0, e.ya._length), e.xLabelVal !== void 0 && (e.xLabel = \"xLabel\" in e ? e.xLabel : Yo.hoverLabelText(e.xa, e.xLabelVal, n.xhoverformat), e.xVal = e.xa.c2d(e.xLabelVal)), e.yLabelVal !== void 0 && (e.yLabel = \"yLabel\" in e ? e.yLabel : Yo.hoverLabelText(e.ya, e.yLabelVal, n.yhoverformat), e.yVal = e.ya.c2d(e.yLabelVal)), e.zLabelVal !== void 0 && e.zLabel === void 0 && (e.zLabel = String(e.zLabelVal)), !isNaN(e.xerr) && !(e.xa.type === \"log\" && e.xerr <= 0)) {\n var u = Yo.tickText(e.xa, e.xa.c2l(e.xerr), \"hover\").text;\n e.xerrneg !== void 0 ? e.xLabel += \" +\" + u + \" / -\" + Yo.tickText(e.xa, e.xa.c2l(e.xerrneg), \"hover\").text : e.xLabel += \" ± \" + u, t === \"x\" && (e.distance += 1);\n }\n if (!isNaN(e.yerr) && !(e.ya.type === \"log\" && e.yerr <= 0)) {\n var f = Yo.tickText(e.ya, e.ya.c2l(e.yerr), \"hover\").text;\n e.yerrneg !== void 0 ? e.yLabel += \" +\" + f + \" / -\" + Yo.tickText(e.ya, e.ya.c2l(e.yerrneg), \"hover\").text : e.yLabel += \" ± \" + f, t === \"y\" && (e.distance += 1);\n }\n var d = e.hoverinfo || e.trace.hoverinfo;\n return d && d !== \"all\" && (d = Array.isArray(d) ? d : d.split(\"+\"), d.indexOf(\"x\") === -1 && (e.xLabel = void 0), d.indexOf(\"y\") === -1 && (e.yLabel = void 0), d.indexOf(\"z\") === -1 && (e.zLabel = void 0), d.indexOf(\"text\") === -1 && (e.text = void 0), d.indexOf(\"name\") === -1 && (e.name = void 0)), e;\n}\nfunction bk(e, t, r) {\n var n = r.container, a = r.fullLayout, i = a._size, o = r.event, l = !!t.hLinePoint, s = !!t.vLinePoint, u, f;\n if (n.selectAll(\".spikeline\").remove(), !!(s || l)) {\n var d = pn.combine(a.plot_bgcolor, a.paper_bgcolor);\n if (l) {\n var h = t.hLinePoint, p, v;\n u = h && h.xa, f = h && h.ya;\n var m = f.spikesnap;\n m === \"cursor\" ? (p = o.pointerX, v = o.pointerY) : (p = u._offset + h.x, v = f._offset + h.y);\n var g = mk.readability(h.color, d) < 1.5 ? pn.contrast(d) : h.color, y = f.spikemode, w = f.spikethickness, k = f.spikecolor || g, x = Yo.getPxPosition(e, f), _, T;\n if (y.indexOf(\"toaxis\") !== -1 || y.indexOf(\"across\") !== -1) {\n if (y.indexOf(\"toaxis\") !== -1 && (_ = x, T = p), y.indexOf(\"across\") !== -1) {\n var S = f._counterDomainMin, M = f._counterDomainMax;\n f.anchor === \"free\" && (S = Math.min(S, f.position), M = Math.max(M, f.position)), _ = i.l + S * i.w, T = i.l + M * i.w;\n }\n n.insert(\"line\", \":first-child\").attr({\n x1: _,\n x2: T,\n y1: v,\n y2: v,\n \"stroke-width\": w,\n stroke: k,\n \"stroke-dasharray\": $i.dashStyle(f.spikedash, w)\n }).classed(\"spikeline\", !0).classed(\"crisp\", !0), n.insert(\"line\", \":first-child\").attr({\n x1: _,\n x2: T,\n y1: v,\n y2: v,\n \"stroke-width\": w + 2,\n stroke: d\n }).classed(\"spikeline\", !0).classed(\"crisp\", !0);\n }\n y.indexOf(\"marker\") !== -1 && n.insert(\"circle\", \":first-child\").attr({\n cx: x + (f.side !== \"right\" ? w : -w),\n cy: v,\n r: w,\n fill: k\n }).classed(\"spikeline\", !0);\n }\n if (s) {\n var L = t.vLinePoint, F, $;\n u = L && L.xa, f = L && L.ya;\n var I = u.spikesnap;\n I === \"cursor\" ? (F = o.pointerX, $ = o.pointerY) : (F = u._offset + L.x, $ = f._offset + L.y);\n var O = mk.readability(L.color, d) < 1.5 ? pn.contrast(d) : L.color, G = u.spikemode, K = u.spikethickness, V = u.spikecolor || O, z = Yo.getPxPosition(e, u), P, R;\n if (G.indexOf(\"toaxis\") !== -1 || G.indexOf(\"across\") !== -1) {\n if (G.indexOf(\"toaxis\") !== -1 && (P = z, R = $), G.indexOf(\"across\") !== -1) {\n var H = u._counterDomainMin, B = u._counterDomainMax;\n u.anchor === \"free\" && (H = Math.min(H, u.position), B = Math.max(B, u.position)), P = i.t + (1 - B) * i.h, R = i.t + (1 - H) * i.h;\n }\n n.insert(\"line\", \":first-child\").attr({\n x1: F,\n x2: F,\n y1: P,\n y2: R,\n \"stroke-width\": K,\n stroke: V,\n \"stroke-dasharray\": $i.dashStyle(u.spikedash, K)\n }).classed(\"spikeline\", !0).classed(\"crisp\", !0), n.insert(\"line\", \":first-child\").attr({\n x1: F,\n x2: F,\n y1: P,\n y2: R,\n \"stroke-width\": K + 2,\n stroke: d\n }).classed(\"spikeline\", !0).classed(\"crisp\", !0);\n }\n G.indexOf(\"marker\") !== -1 && n.insert(\"circle\", \":first-child\").attr({\n cx: F,\n cy: z - (u.side !== \"top\" ? K : -K),\n r: K,\n fill: V\n }).classed(\"spikeline\", !0);\n }\n }\n}\nfunction HX(e, t, r) {\n if (!r || r.length !== e._hoverdata.length) return !0;\n for (var n = r.length - 1; n >= 0; n--) {\n var a = r[n], i = e._hoverdata[n];\n if (a.curveNumber !== i.curveNumber || String(a.pointNumber) !== String(i.pointNumber) || String(a.pointNumbers) !== String(i.pointNumbers))\n return !0;\n }\n return !1;\n}\nfunction _k(e, t) {\n return !0;\n}\nfunction xk(e, t) {\n return Ra.plainText(e || \"\", {\n len: t,\n allowedTags: [\"br\", \"sub\", \"sup\", \"b\", \"i\", \"em\"]\n });\n}\nfunction BX(e, t) {\n for (var r = t.charAt(0), n = [], a = [], i = [], o = 0; o < e.length; o++) {\n var l = e[o];\n Pu.traceIs(l.trace, \"bar-like\") || Pu.traceIs(l.trace, \"box-violin\") ? i.push(l) : l.trace[r + \"period\"] ? a.push(l) : n.push(l);\n }\n return n.concat(a).concat(i);\n}\nfunction wk(e, t, r) {\n var n = t[e + \"a\"], a = t[e + \"Val\"], i = t.cd[0];\n if (n.type === \"category\" || n.type === \"multicategory\") a = n._categoriesMap[a];\n else if (n.type === \"date\") {\n var o = t.trace[e + \"periodalignment\"];\n if (o) {\n var l = t.cd[t.index], s = l[e + \"Start\"];\n s === void 0 && (s = l[e]);\n var u = l[e + \"End\"];\n u === void 0 && (u = l[e]);\n var f = u - s;\n o === \"end\" ? a += f : o === \"middle\" && (a += f / 2);\n }\n a = n.d2c(a);\n }\n return i && i.t && i.t.posLetter === n._id && (r.boxmode === \"group\" || r.violinmode === \"group\") && (a += i.t.dPos), a;\n}\nfunction hD(e) {\n return e.offsetTop + e.clientTop;\n}\nfunction vD(e) {\n return e.offsetLeft + e.clientLeft;\n}\nfunction Ns(e, t) {\n var r = e._fullLayout, n = t.getBoundingClientRect(), a = n.left, i = n.top, o = a + n.width, l = i + n.height, s = Kr.apply3DTransform(r._invTransform)(a, i), u = Kr.apply3DTransform(r._invTransform)(o, l), f = s[0], d = s[1], h = u[0], p = u[1];\n return {\n x: f,\n y: d,\n width: h - f,\n height: p - d,\n top: Math.min(d, p),\n left: Math.min(f, h),\n right: Math.max(f, h),\n bottom: Math.max(d, p)\n };\n}\nvar jX = Ue, UX = nr, GX = Do.isUnifiedHover, Db = function(t, r, n, a) {\n a = a || {};\n var i = r.legend;\n function o(l) {\n a.font[l] || (a.font[l] = i ? r.legend.font[l] : r.font[l]);\n }\n r && GX(r.hovermode) && (a.font || (a.font = {}), o(\"size\"), o(\"family\"), o(\"color\"), i ? (a.bgcolor || (a.bgcolor = UX.combine(r.legend.bgcolor, r.paper_bgcolor)), a.bordercolor || (a.bordercolor = r.legend.bordercolor)) : a.bgcolor || (a.bgcolor = r.paper_bgcolor)), n(\"hoverlabel.bgcolor\", a.bgcolor), n(\"hoverlabel.bordercolor\", a.bordercolor), n(\"hoverlabel.namelength\", a.namelength), jX.coerceFont(n, \"hoverlabel.font\", a.font), n(\"hoverlabel.align\", a.align);\n}, VX = Ue, qX = Db, WX = Zc, ZX = function(t, r) {\n function n(a, i) {\n return VX.coerce(t, r, WX, a, i);\n }\n qX(t, r, n);\n}, Tk = Ue, YX = V1, XX = Db, KX = function(t, r, n, a) {\n function i(l, s) {\n return Tk.coerce(t, r, YX, l, s);\n }\n var o = Tk.extendFlat({}, a.hoverlabel);\n r.hovertemplate && (o.namelength = -1), XX(t, r, i, o);\n}, JX = Ue, QX = Zc, pD = function(t, r) {\n function n(a, i) {\n return r[a] !== void 0 ? r[a] : JX.coerce(t, r, QX, a, i);\n }\n return n(\"clickmode\"), n(\"hovermode\");\n}, kk = Ue, eK = Zc, tK = pD, rK = Db, nK = function(t, r) {\n function n(u, f) {\n return kk.coerce(t, r, eK, u, f);\n }\n var a = tK(t, r);\n a && (n(\"hoverdistance\"), n(\"spikedistance\"));\n var i = n(\"dragmode\");\n i === \"select\" && n(\"selectdirection\");\n var o = r._has(\"mapbox\"), l = r._has(\"geo\"), s = r._basePlotModules.length;\n r.dragmode === \"zoom\" && ((o || l) && s === 1 || o && l && s === 2) && (r.dragmode = \"pan\"), rK(t, r, n), kk.coerceFont(n, \"hoverlabel.grouptitlefont\", r.hoverlabel.font);\n}, Py = Ue, Ak = Nt, aK = function(t) {\n var r = t.calcdata, n = t._fullLayout;\n function a(u) {\n return function(f) {\n return Py.coerceHoverinfo({ hoverinfo: f }, { _module: u._module }, n);\n };\n }\n for (var i = 0; i < r.length; i++) {\n var o = r[i], l = o[0].trace;\n if (!Ak.traceIs(l, \"pie-like\")) {\n var s = Ak.traceIs(l, \"2dMap\") ? iK : Py.fillArray;\n s(l.hoverinfo, o, \"hi\", a(l)), l.hovertemplate && s(l.hovertemplate, o, \"ht\"), l.hoverlabel && (s(l.hoverlabel.bgcolor, o, \"hbg\"), s(l.hoverlabel.bordercolor, o, \"hbc\"), s(l.hoverlabel.font.size, o, \"hts\"), s(l.hoverlabel.font.color, o, \"htc\"), s(l.hoverlabel.font.family, o, \"htf\"), s(l.hoverlabel.namelength, o, \"hnl\"), s(l.hoverlabel.align, o, \"hta\"));\n }\n }\n};\nfunction iK(e, t, r, n) {\n n = n || Py.identity, Array.isArray(e) && (t[0][r] = n(e));\n}\nvar oK = Nt, lK = Pp.hover, sK = function(t, r, n) {\n var a = oK.getComponentMethod(\"annotations\", \"onClick\")(t, t._hoverdata);\n n !== void 0 && lK(t, r, n, !0);\n function i() {\n t.emit(\"plotly_click\", { points: t._hoverdata, event: r });\n }\n t._hoverdata && r && r.target && (a && a.then ? a.then(i) : i(), r.stopImmediatePropagation && r.stopImmediatePropagation());\n}, uK = lr, xv = Ue, fK = Qi, Lf = Do, Mk = Zc, Sk = Pp, Ao = {\n moduleType: \"component\",\n name: \"fx\",\n constants: sp,\n schema: {\n layout: Mk\n },\n attributes: V1,\n layoutAttributes: Mk,\n supplyLayoutGlobalDefaults: ZX,\n supplyDefaults: KX,\n supplyLayoutDefaults: nK,\n calc: aK,\n getDistanceFunction: Lf.getDistanceFunction,\n getClosest: Lf.getClosest,\n inbox: Lf.inbox,\n quadrature: Lf.quadrature,\n appendArrayPointValue: Lf.appendArrayPointValue,\n castHoverOption: dK,\n castHoverinfo: hK,\n hover: Sk.hover,\n unhover: fK.unhover,\n loneHover: Sk.loneHover,\n loneUnhover: cK,\n click: sK\n};\nfunction cK(e) {\n var t = xv.isD3Selection(e) ? e : uK.select(e);\n t.selectAll(\"g.hovertext\").remove(), t.selectAll(\".spikeline\").remove();\n}\nfunction dK(e, t, r) {\n return xv.castOption(e, t, \"hoverlabel.\" + r);\n}\nfunction hK(e, t, r) {\n function n(a) {\n return xv.coerceHoverinfo({ hoverinfo: a }, { _module: e._module }, t);\n }\n return xv.castOption(e, r, \"hoverinfo\", n);\n}\nvar rf = {};\n(function(e) {\n e.selectMode = function(t) {\n return t === \"lasso\" || t === \"select\";\n }, e.drawMode = function(t) {\n return t === \"drawclosedpath\" || t === \"drawopenpath\" || t === \"drawline\" || t === \"drawrect\" || t === \"drawcircle\";\n }, e.openMode = function(t) {\n return t === \"drawline\" || t === \"drawopenpath\";\n }, e.rectMode = function(t) {\n return t === \"select\" || t === \"drawline\" || t === \"drawrect\" || t === \"drawcircle\";\n }, e.freeMode = function(t) {\n return t === \"lasso\" || t === \"drawclosedpath\" || t === \"drawopenpath\";\n }, e.selectingOrDrawing = function(t) {\n return e.freeMode(t) || e.rectMode(t);\n };\n})(rf);\nvar Eb = function(t) {\n var r = t._fullLayout;\n r._glcanvas && r._glcanvas.size() && r._glcanvas.each(function(n) {\n n.regl && n.regl.clear({ color: !0, depth: !0 });\n });\n}, zp = {}, mD = { exports: {} }, Fb = {\n undo: {\n width: 857.1,\n height: 1e3,\n path: \"m857 350q0-87-34-166t-91-137-137-92-166-34q-96 0-183 41t-147 114q-4 6-4 13t5 11l76 77q6 5 14 5 9-1 13-7 41-53 100-82t126-29q58 0 110 23t92 61 61 91 22 111-22 111-61 91-92 61-110 23q-55 0-105-20t-90-57l77-77q17-16 8-38-10-23-33-23h-250q-15 0-25 11t-11 25v250q0 24 22 33 22 10 39-8l72-72q60 57 137 88t159 31q87 0 166-34t137-92 91-137 34-166z\",\n transform: \"matrix(1 0 0 -1 0 850)\"\n },\n home: {\n width: 928.6,\n height: 1e3,\n path: \"m786 296v-267q0-15-11-26t-25-10h-214v214h-143v-214h-214q-15 0-25 10t-11 26v267q0 1 0 2t0 2l321 264 321-264q1-1 1-4z m124 39l-34-41q-5-5-12-6h-2q-7 0-12 3l-386 322-386-322q-7-4-13-4-7 2-12 7l-35 41q-4 5-3 13t6 12l401 334q18 15 42 15t43-15l136-114v109q0 8 5 13t13 5h107q8 0 13-5t5-13v-227l122-102q5-5 6-12t-4-13z\",\n transform: \"matrix(1 0 0 -1 0 850)\"\n },\n \"camera-retro\": {\n width: 1e3,\n height: 1e3,\n path: \"m518 386q0 8-5 13t-13 5q-37 0-63-27t-26-63q0-8 5-13t13-5 12 5 5 13q0 23 16 38t38 16q8 0 13 5t5 13z m125-73q0-59-42-101t-101-42-101 42-42 101 42 101 101 42 101-42 42-101z m-572-320h858v71h-858v-71z m643 320q0 89-62 152t-152 62-151-62-63-152 63-151 151-63 152 63 62 151z m-571 358h214v72h-214v-72z m-72-107h858v143h-462l-36-71h-360v-72z m929 143v-714q0-30-21-51t-50-21h-858q-29 0-50 21t-21 51v714q0 30 21 51t50 21h858q29 0 50-21t21-51z\",\n transform: \"matrix(1 0 0 -1 0 850)\"\n },\n zoombox: {\n width: 1e3,\n height: 1e3,\n path: \"m1000-25l-250 251c40 63 63 138 63 218 0 224-182 406-407 406-224 0-406-182-406-406s183-406 407-406c80 0 155 22 218 62l250-250 125 125z m-812 250l0 438 437 0 0-438-437 0z m62 375l313 0 0-312-313 0 0 312z\",\n transform: \"matrix(1 0 0 -1 0 850)\"\n },\n pan: {\n width: 1e3,\n height: 1e3,\n path: \"m1000 350l-187 188 0-125-250 0 0 250 125 0-188 187-187-187 125 0 0-250-250 0 0 125-188-188 186-187 0 125 252 0 0-250-125 0 187-188 188 188-125 0 0 250 250 0 0-126 187 188z\",\n transform: \"matrix(1 0 0 -1 0 850)\"\n },\n zoom_plus: {\n width: 875,\n height: 1e3,\n path: \"m1 787l0-875 875 0 0 875-875 0z m687-500l-187 0 0-187-125 0 0 187-188 0 0 125 188 0 0 187 125 0 0-187 187 0 0-125z\",\n transform: \"matrix(1 0 0 -1 0 850)\"\n },\n zoom_minus: {\n width: 875,\n height: 1e3,\n path: \"m0 788l0-876 875 0 0 876-875 0z m688-500l-500 0 0 125 500 0 0-125z\",\n transform: \"matrix(1 0 0 -1 0 850)\"\n },\n autoscale: {\n width: 1e3,\n height: 1e3,\n path: \"m250 850l-187 0-63 0 0-62 0-188 63 0 0 188 187 0 0 62z m688 0l-188 0 0-62 188 0 0-188 62 0 0 188 0 62-62 0z m-875-938l0 188-63 0 0-188 0-62 63 0 187 0 0 62-187 0z m875 188l0-188-188 0 0-62 188 0 62 0 0 62 0 188-62 0z m-125 188l-1 0-93-94-156 156 156 156 92-93 2 0 0 250-250 0 0-2 93-92-156-156-156 156 94 92 0 2-250 0 0-250 0 0 93 93 157-156-157-156-93 94 0 0 0-250 250 0 0 0-94 93 156 157 156-157-93-93 0 0 250 0 0 250z\",\n transform: \"matrix(1 0 0 -1 0 850)\"\n },\n tooltip_basic: {\n width: 1500,\n height: 1e3,\n path: \"m375 725l0 0-375-375 375-374 0-1 1125 0 0 750-1125 0z\",\n transform: \"matrix(1 0 0 -1 0 850)\"\n },\n tooltip_compare: {\n width: 1125,\n height: 1e3,\n path: \"m187 786l0 2-187-188 188-187 0 0 937 0 0 373-938 0z m0-499l0 1-187-188 188-188 0 0 937 0 0 376-938-1z\",\n transform: \"matrix(1 0 0 -1 0 850)\"\n },\n plotlylogo: {\n width: 1542,\n height: 1e3,\n path: \"m0-10h182v-140h-182v140z m228 146h183v-286h-183v286z m225 714h182v-1000h-182v1000z m225-285h182v-715h-182v715z m225 142h183v-857h-183v857z m231-428h182v-429h-182v429z m225-291h183v-138h-183v138z\",\n transform: \"matrix(1 0 0 -1 0 850)\"\n },\n \"z-axis\": {\n width: 1e3,\n height: 1e3,\n path: \"m833 5l-17 108v41l-130-65 130-66c0 0 0 38 0 39 0-1 36-14 39-25 4-15-6-22-16-30-15-12-39-16-56-20-90-22-187-23-279-23-261 0-341 34-353 59 3 60 228 110 228 110-140-8-351-35-351-116 0-120 293-142 474-142 155 0 477 22 477 142 0 50-74 79-163 96z m-374 94c-58-5-99-21-99-40 0-24 65-43 144-43 79 0 143 19 143 43 0 19-42 34-98 40v216h87l-132 135-133-135h88v-216z m167 515h-136v1c16 16 31 34 46 52l84 109v54h-230v-71h124v-1c-16-17-28-32-44-51l-89-114v-51h245v72z\",\n transform: \"matrix(1 0 0 -1 0 850)\"\n },\n \"3d_rotate\": {\n width: 1e3,\n height: 1e3,\n path: \"m922 660c-5 4-9 7-14 11-359 263-580-31-580-31l-102 28 58-400c0 1 1 1 2 2 118 108 351 249 351 249s-62 27-100 42c88 83 222 183 347 122 16-8 30-17 44-27-2 1-4 2-6 4z m36-329c0 0 64 229-88 296-62 27-124 14-175-11 157-78 225-208 249-266 8-19 11-31 11-31 2 5 6 15 11 32-5-13-8-20-8-20z m-775-239c70-31 117-50 198-32-121 80-199 346-199 346l-96-15-58-12c0 0 55-226 155-287z m603 133l-317-139c0 0 4-4 19-14 7-5 24-15 24-15s-177-147-389 4c235-287 536-112 536-112l31-22 100 299-4-1z m-298-153c6-4 14-9 24-15 0 0-17 10-24 15z\",\n transform: \"matrix(1 0 0 -1 0 850)\"\n },\n camera: {\n width: 1e3,\n height: 1e3,\n path: \"m500 450c-83 0-150-67-150-150 0-83 67-150 150-150 83 0 150 67 150 150 0 83-67 150-150 150z m400 150h-120c-16 0-34 13-39 29l-31 93c-6 15-23 28-40 28h-340c-16 0-34-13-39-28l-31-94c-6-15-23-28-40-28h-120c-55 0-100-45-100-100v-450c0-55 45-100 100-100h800c55 0 100 45 100 100v450c0 55-45 100-100 100z m-400-550c-138 0-250 112-250 250 0 138 112 250 250 250 138 0 250-112 250-250 0-138-112-250-250-250z m365 380c-19 0-35 16-35 35 0 19 16 35 35 35 19 0 35-16 35-35 0-19-16-35-35-35z\",\n transform: \"matrix(1 0 0 -1 0 850)\"\n },\n movie: {\n width: 1e3,\n height: 1e3,\n path: \"m938 413l-188-125c0 37-17 71-44 94 64 38 107 107 107 187 0 121-98 219-219 219-121 0-219-98-219-219 0-61 25-117 66-156h-115c30 33 49 76 49 125 0 103-84 187-187 187s-188-84-188-187c0-57 26-107 65-141-38-22-65-62-65-109v-250c0-70 56-126 125-126h500c69 0 125 56 125 126l188-126c34 0 62 28 62 63v375c0 35-28 63-62 63z m-750 0c-69 0-125 56-125 125s56 125 125 125 125-56 125-125-56-125-125-125z m406-1c-87 0-157 70-157 157 0 86 70 156 157 156s156-70 156-156-70-157-156-157z\",\n transform: \"matrix(1 0 0 -1 0 850)\"\n },\n question: {\n width: 857.1,\n height: 1e3,\n path: \"m500 82v107q0 8-5 13t-13 5h-107q-8 0-13-5t-5-13v-107q0-8 5-13t13-5h107q8 0 13 5t5 13z m143 375q0 49-31 91t-77 65-95 23q-136 0-207-119-9-14 4-24l74-55q4-4 10-4 9 0 14 7 30 38 48 51 19 14 48 14 27 0 48-15t21-33q0-21-11-34t-38-25q-35-16-65-48t-29-70v-20q0-8 5-13t13-5h107q8 0 13 5t5 13q0 10 12 27t30 28q18 10 28 16t25 19 25 27 16 34 7 45z m214-107q0-117-57-215t-156-156-215-58-216 58-155 156-58 215 58 215 155 156 216 58 215-58 156-156 57-215z\",\n transform: \"matrix(1 0 0 -1 0 850)\"\n },\n disk: {\n width: 857.1,\n height: 1e3,\n path: \"m214-7h429v214h-429v-214z m500 0h72v500q0 8-6 21t-11 20l-157 156q-5 6-19 12t-22 5v-232q0-22-15-38t-38-16h-322q-22 0-37 16t-16 38v232h-72v-714h72v232q0 22 16 38t37 16h465q22 0 38-16t15-38v-232z m-214 518v178q0 8-5 13t-13 5h-107q-7 0-13-5t-5-13v-178q0-8 5-13t13-5h107q7 0 13 5t5 13z m357-18v-518q0-22-15-38t-38-16h-750q-23 0-38 16t-16 38v750q0 22 16 38t38 16h517q23 0 50-12t42-26l156-157q16-15 27-42t11-49z\",\n transform: \"matrix(1 0 0 -1 0 850)\"\n },\n drawopenpath: {\n width: 70,\n height: 70,\n path: \"M33.21,85.65a7.31,7.31,0,0,1-2.59-.48c-8.16-3.11-9.27-19.8-9.88-41.3-.1-3.58-.19-6.68-.35-9-.15-2.1-.67-3.48-1.43-3.79-2.13-.88-7.91,2.32-12,5.86L3,32.38c1.87-1.64,11.55-9.66,18.27-6.9,2.13.87,4.75,3.14,5.17,9,.17,2.43.26,5.59.36,9.25a224.17,224.17,0,0,0,1.5,23.4c1.54,10.76,4,12.22,4.48,12.4.84.32,2.79-.46,5.76-3.59L43,80.07C41.53,81.57,37.68,85.64,33.21,85.65ZM74.81,69a11.34,11.34,0,0,0,6.09-6.72L87.26,44.5,74.72,32,56.9,38.35c-2.37.86-5.57,3.42-6.61,6L38.65,72.14l8.42,8.43ZM55,46.27a7.91,7.91,0,0,1,3.64-3.17l14.8-5.3,8,8L76.11,60.6l-.06.19a6.37,6.37,0,0,1-3,3.43L48.25,74.59,44.62,71Zm16.57,7.82A6.9,6.9,0,1,0,64.64,61,6.91,6.91,0,0,0,71.54,54.09Zm-4.05,0a2.85,2.85,0,1,1-2.85-2.85A2.86,2.86,0,0,1,67.49,54.09Zm-4.13,5.22L60.5,56.45,44.26,72.7l2.86,2.86ZM97.83,35.67,84.14,22l-8.57,8.57L89.26,44.24Zm-13.69-8,8,8-2.85,2.85-8-8Z\",\n transform: \"matrix(1 0 0 1 -15 -15)\"\n },\n drawclosedpath: {\n width: 90,\n height: 90,\n path: \"M88.41,21.12a26.56,26.56,0,0,0-36.18,0l-2.07,2-2.07-2a26.57,26.57,0,0,0-36.18,0,23.74,23.74,0,0,0,0,34.8L48,90.12a3.22,3.22,0,0,0,4.42,0l36-34.21a23.73,23.73,0,0,0,0-34.79ZM84,51.24,50.16,83.35,16.35,51.25a17.28,17.28,0,0,1,0-25.47,20,20,0,0,1,27.3,0l4.29,4.07a3.23,3.23,0,0,0,4.44,0l4.29-4.07a20,20,0,0,1,27.3,0,17.27,17.27,0,0,1,0,25.46ZM66.76,47.68h-33v6.91h33ZM53.35,35H46.44V68h6.91Z\",\n transform: \"matrix(1 0 0 1 -5 -5)\"\n },\n lasso: {\n width: 1031,\n height: 1e3,\n path: \"m1018 538c-36 207-290 336-568 286-277-48-473-256-436-463 10-57 36-108 76-151-13-66 11-137 68-183 34-28 75-41 114-42l-55-70 0 0c-2-1-3-2-4-3-10-14-8-34 5-45 14-11 34-8 45 4 1 1 2 3 2 5l0 0 113 140c16 11 31 24 45 40 4 3 6 7 8 11 48-3 100 0 151 9 278 48 473 255 436 462z m-624-379c-80 14-149 48-197 96 42 42 109 47 156 9 33-26 47-66 41-105z m-187-74c-19 16-33 37-39 60 50-32 109-55 174-68-42-25-95-24-135 8z m360 75c-34-7-69-9-102-8 8 62-16 128-68 170-73 59-175 54-244-5-9 20-16 40-20 61-28 159 121 317 333 354s407-60 434-217c28-159-121-318-333-355z\",\n transform: \"matrix(1 0 0 -1 0 850)\"\n },\n selectbox: {\n width: 1e3,\n height: 1e3,\n path: \"m0 850l0-143 143 0 0 143-143 0z m286 0l0-143 143 0 0 143-143 0z m285 0l0-143 143 0 0 143-143 0z m286 0l0-143 143 0 0 143-143 0z m-857-286l0-143 143 0 0 143-143 0z m857 0l0-143 143 0 0 143-143 0z m-857-285l0-143 143 0 0 143-143 0z m857 0l0-143 143 0 0 143-143 0z m-857-286l0-143 143 0 0 143-143 0z m286 0l0-143 143 0 0 143-143 0z m285 0l0-143 143 0 0 143-143 0z m286 0l0-143 143 0 0 143-143 0z\",\n transform: \"matrix(1 0 0 -1 0 850)\"\n },\n drawline: {\n width: 70,\n height: 70,\n path: \"M60.64,62.3a11.29,11.29,0,0,0,6.09-6.72l6.35-17.72L60.54,25.31l-17.82,6.4c-2.36.86-5.57,3.41-6.6,6L24.48,65.5l8.42,8.42ZM40.79,39.63a7.89,7.89,0,0,1,3.65-3.17l14.79-5.31,8,8L61.94,54l-.06.19a6.44,6.44,0,0,1-3,3.43L34.07,68l-3.62-3.63Zm16.57,7.81a6.9,6.9,0,1,0-6.89,6.9A6.9,6.9,0,0,0,57.36,47.44Zm-4,0a2.86,2.86,0,1,1-2.85-2.85A2.86,2.86,0,0,1,53.32,47.44Zm-4.13,5.22L46.33,49.8,30.08,66.05l2.86,2.86ZM83.65,29,70,15.34,61.4,23.9,75.09,37.59ZM70,21.06l8,8-2.84,2.85-8-8ZM87,80.49H10.67V87H87Z\",\n transform: \"matrix(1 0 0 1 -15 -15)\"\n },\n drawrect: {\n width: 80,\n height: 80,\n path: \"M78,22V79H21V22H78m9-9H12V88H87V13ZM68,46.22H31V54H68ZM53,32H45.22V69H53Z\",\n transform: \"matrix(1 0 0 1 -10 -10)\"\n },\n drawcircle: {\n width: 80,\n height: 80,\n path: \"M50,84.72C26.84,84.72,8,69.28,8,50.3S26.84,15.87,50,15.87,92,31.31,92,50.3,73.16,84.72,50,84.72Zm0-60.59c-18.6,0-33.74,11.74-33.74,26.17S31.4,76.46,50,76.46,83.74,64.72,83.74,50.3,68.6,24.13,50,24.13Zm17.15,22h-34v7.11h34Zm-13.8-13H46.24v34h7.11Z\",\n transform: \"matrix(1 0 0 1 -10 -10)\"\n },\n eraseshape: {\n width: 80,\n height: 80,\n path: \"M82.77,78H31.85L6,49.57,31.85,21.14H82.77a8.72,8.72,0,0,1,8.65,8.77V69.24A8.72,8.72,0,0,1,82.77,78ZM35.46,69.84H82.77a.57.57,0,0,0,.49-.6V29.91a.57.57,0,0,0-.49-.61H35.46L17,49.57Zm32.68-34.7-24,24,5,5,24-24Zm-19,.53-5,5,24,24,5-5Z\",\n transform: \"matrix(1 0 0 1 -10 -10)\"\n },\n spikeline: {\n width: 1e3,\n height: 1e3,\n path: \"M512 409c0-57-46-104-103-104-57 0-104 47-104 104 0 57 47 103 104 103 57 0 103-46 103-103z m-327-39l92 0 0 92-92 0z m-185 0l92 0 0 92-92 0z m370-186l92 0 0 93-92 0z m0-184l92 0 0 92-92 0z\",\n transform: \"matrix(1.5 0 0 -1.5 0 850)\"\n },\n pencil: {\n width: 1792,\n height: 1792,\n path: \"M491 1536l91-91-235-235-91 91v107h128v128h107zm523-928q0-22-22-22-10 0-17 7l-542 542q-7 7-7 17 0 22 22 22 10 0 17-7l542-542q7-7 7-17zm-54-192l416 416-832 832h-416v-416zm683 96q0 53-37 90l-166 166-416-416 166-165q36-38 90-38 53 0 91 38l235 234q37 39 37 91z\",\n transform: \"matrix(1 0 0 1 0 1)\"\n },\n newplotlylogo: {\n name: \"newplotlylogo\",\n svg: [\n \"\",\n \"\",\n \" \",\n \"\",\n \" plotly-logomark\",\n \" \",\n \" \",\n \" \",\n \" \",\n \" \",\n \" \",\n \" \",\n \" \",\n \" \",\n \" \",\n \" \",\n \" \",\n \" \",\n \"\"\n ].join(\"\")\n }\n}, _l = {}, nh = 32, Rb = {\n CIRCLE_SIDES: nh,\n i000: 0,\n i090: nh / 4,\n i180: nh / 2,\n i270: nh / 4 * 3,\n cos45: Math.cos(Math.PI / 4),\n sin45: Math.sin(Math.PI / 4),\n SQRT2: Math.sqrt(2)\n}, vK = Ue.strTranslate;\nfunction gD(e, t) {\n switch (e.type) {\n case \"log\":\n return e.p2d(t);\n case \"date\":\n return e.p2r(t, 0, e.calendar);\n default:\n return e.p2r(t);\n }\n}\nfunction pK(e, t) {\n switch (e.type) {\n case \"log\":\n return e.d2p(t);\n case \"date\":\n return e.r2p(t, 0, e.calendar);\n default:\n return e.r2p(t);\n }\n}\nfunction mK(e) {\n var t = e._id.charAt(0) === \"y\" ? 1 : 0;\n return function(r) {\n return gD(e, r[t]);\n };\n}\nfunction gK(e) {\n return vK(\n e.xaxis._offset,\n e.yaxis._offset\n );\n}\nvar Pb = {\n p2r: gD,\n r2p: pK,\n axValue: mK,\n getTransform: gK\n};\n(function(e) {\n var t = w4, r = Rb, n = r.CIRCLE_SIDES, a = r.SQRT2, i = Pb, o = i.p2r, l = i.r2p, s = [0, 3, 4, 5, 6, 1, 2], u = [0, 3, 4, 1, 2];\n e.writePaths = function(h) {\n var p = h.length;\n if (!p) return \"M0,0Z\";\n for (var v = \"\", m = 0; m < p; m++)\n for (var g = h[m].length, y = 0; y < g; y++) {\n var w = h[m][y][0];\n if (w === \"Z\")\n v += \"Z\";\n else\n for (var k = h[m][y].length, x = 0; x < k; x++) {\n var _ = x;\n w === \"Q\" || w === \"S\" ? _ = u[x] : w === \"C\" && (_ = s[x]), v += h[m][y][_], x > 0 && x < k - 1 && (v += \",\");\n }\n }\n return v;\n }, e.readPaths = function(h, p, v, m) {\n var g = t(h), y = [], w = -1, k = function() {\n w++, y[w] = [];\n }, x, _ = 0, T = 0, S, M, L = function() {\n S = _, M = T;\n };\n L();\n for (var F = 0; F < g.length; F++) {\n var $ = [], I, O, G, K, V = g[F][0], z = V;\n switch (V) {\n case \"M\":\n k(), _ = +g[F][1], T = +g[F][2], $.push([z, _, T]), L();\n break;\n case \"Q\":\n case \"S\":\n I = +g[F][1], G = +g[F][2], _ = +g[F][3], T = +g[F][4], $.push([z, _, T, I, G]);\n break;\n case \"C\":\n I = +g[F][1], G = +g[F][2], O = +g[F][3], K = +g[F][4], _ = +g[F][5], T = +g[F][6], $.push([z, _, T, I, G, O, K]);\n break;\n case \"T\":\n case \"L\":\n _ = +g[F][1], T = +g[F][2], $.push([z, _, T]);\n break;\n case \"H\":\n z = \"L\", _ = +g[F][1], $.push([z, _, T]);\n break;\n case \"V\":\n z = \"L\", T = +g[F][1], $.push([z, _, T]);\n break;\n case \"A\":\n z = \"L\";\n var P = +g[F][1], R = +g[F][2];\n +g[F][4] || (P = -P, R = -R);\n var H = _ - P, B = T;\n for (x = 1; x <= n / 2; x++) {\n var W = 2 * Math.PI * x / n;\n $.push([\n z,\n H + P * Math.cos(W),\n B + R * Math.sin(W)\n ]);\n }\n break;\n case \"Z\":\n (_ !== S || T !== M) && (_ = S, T = M, $.push([z, _, T]));\n break;\n }\n for (var ee = (v || {}).domain, re = p._fullLayout._size, ae = v && v.xsizemode === \"pixel\", Q = v && v.ysizemode === \"pixel\", ue = m === !1, j = 0; j < $.length; j++) {\n for (x = 0; x + 2 < 7; x += 2) {\n var U = $[j][x + 1], Z = $[j][x + 2];\n U === void 0 || Z === void 0 || (_ = U, T = Z, v && (v.xaxis && v.xaxis.p2r ? (ue && (U -= v.xaxis._offset), ae ? U = l(v.xaxis, v.xanchor) + U : U = o(v.xaxis, U)) : (ue && (U -= re.l), ee ? U = ee.x[0] + U / re.w : U = U / re.w), v.yaxis && v.yaxis.p2r ? (ue && (Z -= v.yaxis._offset), Q ? Z = l(v.yaxis, v.yanchor) - Z : Z = o(v.yaxis, Z)) : (ue && (Z -= re.t), ee ? Z = ee.y[1] - Z / re.h : Z = 1 - Z / re.h)), $[j][x + 1] = U, $[j][x + 2] = Z);\n }\n y[w].push(\n $[j].slice()\n );\n }\n }\n return y;\n };\n function f(h, p) {\n return Math.abs(h - p) <= 1e-6;\n }\n function d(h, p) {\n var v = p[1] - h[1], m = p[2] - h[2];\n return Math.sqrt(\n v * v + m * m\n );\n }\n e.pointsOnRectangle = function(h) {\n var p = h.length;\n if (p !== 5) return !1;\n for (var v = 1; v < 3; v++) {\n var m = h[0][v] - h[1][v], g = h[3][v] - h[2][v];\n if (!f(m, g)) return !1;\n var y = h[0][v] - h[3][v], w = h[1][v] - h[2][v];\n if (!f(y, w)) return !1;\n }\n return !f(h[0][1], h[1][1]) && !f(h[0][1], h[3][1]) ? !1 : !!(d(h[0], h[1]) * d(h[0], h[3]));\n }, e.pointsOnEllipse = function(h) {\n var p = h.length;\n if (p !== n + 1) return !1;\n p = n;\n for (var v = 0; v < p; v++) {\n var m = (p * 2 - v) % p, g = (p / 2 + m) % p, y = (p / 2 + v) % p;\n if (!f(\n d(h[v], h[y]),\n d(h[m], h[g])\n )) return !1;\n }\n return !0;\n }, e.handleEllipse = function(h, p, v) {\n if (!h) return [p, v];\n var m = e.ellipseOver({\n x0: p[0],\n y0: p[1],\n x1: v[0],\n y1: v[1]\n }), g = (m.x1 + m.x0) / 2, y = (m.y1 + m.y0) / 2, w = (m.x1 - m.x0) / 2, k = (m.y1 - m.y0) / 2;\n w || (w = k = k / a), k || (k = w = w / a);\n for (var x = [], _ = 0; _ < n; _++) {\n var T = _ * 2 * Math.PI / n;\n x.push([\n g + w * Math.cos(T),\n y + k * Math.sin(T)\n ]);\n }\n return x;\n }, e.ellipseOver = function(h) {\n var p = h.x0, v = h.y0, m = h.x1, g = h.y1, y = m - p, w = g - v;\n p -= y, v -= w;\n var k = (p + m) / 2, x = (v + g) / 2, _ = a;\n return y *= _, w *= _, {\n x0: k - y,\n y0: x - w,\n x1: k + y,\n y1: x + w\n };\n }, e.fixDatesForPaths = function(h, p, v) {\n var m = p.type === \"date\", g = v.type === \"date\";\n if (!m && !g) return h;\n for (var y = 0; y < h.length; y++)\n for (var w = 0; w < h[y].length; w++)\n for (var k = 0; k + 2 < h[y][w].length; k += 2)\n m && (h[y][w][k + 1] = h[y][w][k + 1].replace(\" \", \"_\")), g && (h[y][w][k + 2] = h[y][w][k + 2].replace(\" \", \"_\"));\n return h;\n };\n})(_l);\nvar yD = rf, yK = yD.drawMode, bK = yD.openMode, nf = Rb, Ck = nf.i000, Lk = nf.i090, Dk = nf.i180, Ek = nf.i270, _K = nf.cos45, xK = nf.sin45, bD = Pb, ah = bD.p2r, Ho = bD.r2p, wK = _s, TK = wK.clearOutline, Ip = _l, kK = Ip.readPaths, AK = Ip.writePaths, MK = Ip.ellipseOver, SK = Ip.fixDatesForPaths;\nfunction CK(e, t) {\n if (e.length) {\n var r = e[0][0];\n if (r) {\n var n = t.gd, a = t.isActiveShape, i = t.dragmode, o = (n.layout || {}).shapes || [];\n if (!yK(i) && a !== void 0) {\n var l = n._fullLayout._activeShapeIndex;\n if (l < o.length)\n switch (n._fullLayout.shapes[l].type) {\n case \"rect\":\n i = \"drawrect\";\n break;\n case \"circle\":\n i = \"drawcircle\";\n break;\n case \"line\":\n i = \"drawline\";\n break;\n case \"path\":\n var s = o[l].path || \"\";\n s[s.length - 1] === \"Z\" ? i = \"drawclosedpath\" : i = \"drawopenpath\";\n break;\n }\n }\n var u = _D(e, t, i);\n TK(n);\n for (var f = t.editHelpers, d = (f || {}).modifyItem, h = [], p = 0; p < o.length; p++) {\n var v = n._fullLayout.shapes[p];\n if (h[p] = v._input, a !== void 0 && p === n._fullLayout._activeShapeIndex) {\n var m = u;\n switch (v.type) {\n case \"line\":\n case \"rect\":\n case \"circle\":\n d(\"x0\", m.x0), d(\"x1\", m.x1), d(\"y0\", m.y0), d(\"y1\", m.y1);\n break;\n case \"path\":\n d(\"path\", m.path);\n break;\n }\n }\n }\n return a === void 0 ? (h.push(u), h) : f ? f.getUpdateObj() : {};\n }\n }\n}\nfunction _D(e, t, r) {\n var n = e[0][0], a = t.gd, i = n.getAttribute(\"d\"), o = a._fullLayout.newshape, l = t.plotinfo, s = t.isActiveShape, u = l.xaxis, f = l.yaxis, d = !!l.domain || !l.xaxis, h = !!l.domain || !l.yaxis, p = bK(r), v = kK(i, a, l, s), m = {\n editable: !0,\n visible: o.visible,\n name: o.name,\n showlegend: o.showlegend,\n legend: o.legend,\n legendwidth: o.legendwidth,\n legendgroup: o.legendgroup,\n legendgrouptitle: {\n text: o.legendgrouptitle.text,\n font: o.legendgrouptitle.font\n },\n legendrank: o.legendrank,\n label: o.label,\n xref: d ? \"paper\" : u._id,\n yref: h ? \"paper\" : f._id,\n layer: o.layer,\n opacity: o.opacity,\n line: {\n color: o.line.color,\n width: o.line.width,\n dash: o.line.dash\n }\n };\n p || (m.fillcolor = o.fillcolor, m.fillrule = o.fillrule);\n var g;\n if (v.length === 1 && (g = v[0]), g && g.length === 5 && // ensure we only have 4 corners for a rect\n r === \"drawrect\")\n m.type = \"rect\", m.x0 = g[0][1], m.y0 = g[0][2], m.x1 = g[2][1], m.y1 = g[2][2];\n else if (g && r === \"drawline\")\n m.type = \"line\", m.x0 = g[0][1], m.y0 = g[0][2], m.x1 = g[1][1], m.y1 = g[1][2];\n else if (g && r === \"drawcircle\") {\n m.type = \"circle\";\n var y = g[Ck][1], w = g[Lk][1], k = g[Dk][1], x = g[Ek][1], _ = g[Ck][2], T = g[Lk][2], S = g[Dk][2], M = g[Ek][2], L = l.xaxis && (l.xaxis.type === \"date\" || l.xaxis.type === \"log\"), F = l.yaxis && (l.yaxis.type === \"date\" || l.yaxis.type === \"log\");\n L && (y = Ho(l.xaxis, y), w = Ho(l.xaxis, w), k = Ho(l.xaxis, k), x = Ho(l.xaxis, x)), F && (_ = Ho(l.yaxis, _), T = Ho(l.yaxis, T), S = Ho(l.yaxis, S), M = Ho(l.yaxis, M));\n var $ = (w + x) / 2, I = (_ + S) / 2, O = (x - w + k - y) / 2, G = (M - T + S - _) / 2, K = MK({\n x0: $,\n y0: I,\n x1: $ + O * _K,\n y1: I + G * xK\n });\n L && (K.x0 = ah(l.xaxis, K.x0), K.x1 = ah(l.xaxis, K.x1)), F && (K.y0 = ah(l.yaxis, K.y0), K.y1 = ah(l.yaxis, K.y1)), m.x0 = K.x0, m.y0 = K.y0, m.x1 = K.x1, m.y1 = K.y1;\n } else\n m.type = \"path\", u && f && SK(v, u, f), m.path = AK(v), g = null;\n return m;\n}\nvar $b = {\n newShapes: CK,\n createShapeObj: _D\n}, LK = rf, DK = LK.selectMode, EK = _s, FK = EK.clearOutline, zb = _l, RK = zb.readPaths, PK = zb.writePaths, $K = zb.fixDatesForPaths, xD = function(t, r) {\n if (t.length) {\n var n = t[0][0];\n if (n) {\n var a = n.getAttribute(\"d\"), i = r.gd, o = i._fullLayout.newselection, l = r.plotinfo, s = l.xaxis, u = l.yaxis, f = r.isActiveSelection, d = r.dragmode, h = (i.layout || {}).selections || [];\n if (!DK(d) && f !== void 0) {\n var p = i._fullLayout._activeSelectionIndex;\n if (p < h.length)\n switch (i._fullLayout.selections[p].type) {\n case \"rect\":\n d = \"select\";\n break;\n case \"path\":\n d = \"lasso\";\n break;\n }\n }\n var v = RK(a, i, l, f), m = {\n xref: s._id,\n yref: u._id,\n opacity: o.opacity,\n line: {\n color: o.line.color,\n width: o.line.width,\n dash: o.line.dash\n }\n }, g;\n v.length === 1 && (g = v[0]), g && g.length === 5 && // ensure we only have 4 corners for a rect\n d === \"select\" ? (m.type = \"rect\", m.x0 = g[0][1], m.y0 = g[0][2], m.x1 = g[2][1], m.y1 = g[2][2]) : (m.type = \"path\", s && u && $K(v, s, u), m.path = PK(v), g = null), FK(i);\n for (var y = r.editHelpers, w = (y || {}).modifyItem, k = [], x = 0; x < h.length; x++) {\n var _ = i._fullLayout.selections[x];\n if (!_) {\n k[x] = _;\n continue;\n }\n if (k[x] = _._input, f !== void 0 && x === i._fullLayout._activeSelectionIndex) {\n var T = m;\n switch (_.type) {\n case \"rect\":\n w(\"x0\", T.x0), w(\"x1\", T.x1), w(\"y0\", T.y0), w(\"y1\", T.y1);\n break;\n case \"path\":\n w(\"path\", T.path);\n break;\n }\n }\n }\n return f === void 0 ? (k.push(m), k) : y ? y.getUpdateObj() : {};\n }\n }\n}, xl = {}, Np = {\n segmentRE: /[MLHVQCTSZ][^MLHVQCTSZ]*/g,\n paramRE: /[^\\s,]+/g,\n // which numbers in each path segment are x (or y) values\n // drawn is which param is a drawn point, as opposed to a\n // control point (which doesn't count toward autorange.\n // TODO: this means curved paths could extend beyond the\n // autorange bounds. This is a bit tricky to get right\n // unless we revert to bounding boxes, but perhaps there's\n // a calculation we could do...)\n paramIsX: {\n M: { 0: !0, drawn: 0 },\n L: { 0: !0, drawn: 0 },\n H: { 0: !0, drawn: 0 },\n V: {},\n Q: { 0: !0, 2: !0, drawn: 2 },\n C: { 0: !0, 2: !0, 4: !0, drawn: 4 },\n T: { 0: !0, drawn: 0 },\n S: { 0: !0, 2: !0, drawn: 2 },\n // A: {0: true, 5: true},\n Z: {}\n },\n paramIsY: {\n M: { 1: !0, drawn: 1 },\n L: { 1: !0, drawn: 1 },\n H: {},\n V: { 0: !0, drawn: 0 },\n Q: { 1: !0, 3: !0, drawn: 3 },\n C: { 1: !0, 3: !0, 5: !0, drawn: 5 },\n T: { 1: !0, drawn: 1 },\n S: { 1: !0, 3: !0, drawn: 5 },\n // A: {1: true, 6: true},\n Z: {}\n },\n numParams: {\n M: 2,\n L: 2,\n H: 1,\n V: 1,\n Q: 4,\n C: 6,\n T: 2,\n S: 4,\n // A: 7,\n Z: 0\n }\n};\n(function(e) {\n var t = Np, r = Ue, n = Cr;\n e.rangeToShapePosition = function(i) {\n return i.type === \"log\" ? i.r2d : function(o) {\n return o;\n };\n }, e.shapePositionToRange = function(i) {\n return i.type === \"log\" ? i.d2r : function(o) {\n return o;\n };\n }, e.decodeDate = function(i) {\n return function(o) {\n return o.replace && (o = o.replace(\"_\", \" \")), i(o);\n };\n }, e.encodeDate = function(i) {\n return function(o) {\n return i(o).replace(\" \", \"_\");\n };\n }, e.extractPathCoords = function(i, o, l) {\n var s = [], u = i.match(t.segmentRE);\n return u.forEach(function(f) {\n var d = o[f.charAt(0)].drawn;\n if (d !== void 0) {\n var h = f.substr(1).match(t.paramRE);\n if (!(!h || h.length < d)) {\n var p = h[d], v = l ? p : r.cleanNumber(p);\n s.push(v);\n }\n }\n }), s;\n }, e.getDataToPixel = function(i, o, l, s) {\n var u = i._fullLayout._size, f;\n if (o)\n if (s === \"domain\")\n f = function(h) {\n return o._length * (l ? 1 - h : h) + o._offset;\n };\n else {\n var d = e.shapePositionToRange(o);\n f = function(h) {\n return o._offset + o.r2p(d(h, !0));\n }, o.type === \"date\" && (f = e.decodeDate(f));\n }\n else l ? f = function(h) {\n return u.t + u.h * (1 - h);\n } : f = function(h) {\n return u.l + u.w * h;\n };\n return f;\n }, e.getPixelToData = function(i, o, l, s) {\n var u = i._fullLayout._size, f;\n if (o)\n if (s === \"domain\")\n f = function(h) {\n var p = (h - o._offset) / o._length;\n return l ? 1 - p : p;\n };\n else {\n var d = e.rangeToShapePosition(o);\n f = function(h) {\n return d(o.p2r(h - o._offset));\n };\n }\n else l ? f = function(h) {\n return 1 - (h - u.t) / u.h;\n } : f = function(h) {\n return (h - u.l) / u.w;\n };\n return f;\n }, e.roundPositionForSharpStrokeRendering = function(i, o) {\n var l = Math.round(o % 2) === 1, s = Math.round(i);\n return l ? s + 0.5 : s;\n }, e.makeShapesOptionsAndPlotinfo = function(i, o) {\n var l = i._fullLayout.shapes[o] || {}, s = i._fullLayout._plots[l.xref + l.yref], u = !!s;\n return u ? s._hadPlotinfo = !0 : (s = {}, l.xref && l.xref !== \"paper\" && (s.xaxis = i._fullLayout[l.xref + \"axis\"]), l.yref && l.yref !== \"paper\" && (s.yaxis = i._fullLayout[l.yref + \"axis\"])), s.xsizemode = l.xsizemode, s.ysizemode = l.ysizemode, s.xanchor = l.xanchor, s.yanchor = l.yanchor, {\n options: l,\n plotinfo: s\n };\n }, e.makeSelectionsOptionsAndPlotinfo = function(i, o) {\n var l = i._fullLayout.selections[o] || {}, s = i._fullLayout._plots[l.xref + l.yref], u = !!s;\n return u ? s._hadPlotinfo = !0 : (s = {}, l.xref && (s.xaxis = i._fullLayout[l.xref + \"axis\"]), l.yref && (s.yaxis = i._fullLayout[l.yref + \"axis\"])), {\n options: l,\n plotinfo: s\n };\n }, e.getPathString = function(i, o) {\n var l = o.type, s = n.getRefType(o.xref), u = n.getRefType(o.yref), f = n.getFromId(i, o.xref), d = n.getFromId(i, o.yref), h = i._fullLayout._size, p, v, m, g, y, w, k, x;\n if (f ? s === \"domain\" ? v = function(G) {\n return f._offset + f._length * G;\n } : (p = e.shapePositionToRange(f), v = function(G) {\n return f._offset + f.r2p(p(G, !0));\n }) : v = function(G) {\n return h.l + h.w * G;\n }, d ? u === \"domain\" ? g = function(G) {\n return d._offset + d._length * (1 - G);\n } : (m = e.shapePositionToRange(d), g = function(G) {\n return d._offset + d.r2p(m(G, !0));\n }) : g = function(G) {\n return h.t + h.h * (1 - G);\n }, l === \"path\")\n return f && f.type === \"date\" && (v = e.decodeDate(v)), d && d.type === \"date\" && (g = e.decodeDate(g)), a(o, v, g);\n if (o.xsizemode === \"pixel\") {\n var _ = v(o.xanchor);\n y = _ + o.x0, w = _ + o.x1;\n } else\n y = v(o.x0), w = v(o.x1);\n if (o.ysizemode === \"pixel\") {\n var T = g(o.yanchor);\n k = T - o.y0, x = T - o.y1;\n } else\n k = g(o.y0), x = g(o.y1);\n if (l === \"line\") return \"M\" + y + \",\" + k + \"L\" + w + \",\" + x;\n if (l === \"rect\") return \"M\" + y + \",\" + k + \"H\" + w + \"V\" + x + \"H\" + y + \"Z\";\n var S = (y + w) / 2, M = (k + x) / 2, L = Math.abs(S - y), F = Math.abs(M - k), $ = \"A\" + L + \",\" + F, I = S + L + \",\" + M, O = S + \",\" + (M - F);\n return \"M\" + I + $ + \" 0 1,1 \" + O + $ + \" 0 0,1 \" + I + \"Z\";\n };\n function a(i, o, l) {\n var s = i.path, u = i.xsizemode, f = i.ysizemode, d = i.xanchor, h = i.yanchor;\n return s.replace(t.segmentRE, function(p) {\n var v = 0, m = p.charAt(0), g = t.paramIsX[m], y = t.paramIsY[m], w = t.numParams[m], k = p.substr(1).replace(t.paramRE, function(x) {\n return g[v] ? u === \"pixel\" ? x = o(d) + Number(x) : x = o(x) : y[v] && (f === \"pixel\" ? x = l(h) - Number(x) : x = l(x)), v++, v > w && (x = \"X\"), x;\n });\n return v > w && (k = k.replace(/[\\s,]*X.*/, \"\"), r.log(\"Ignoring extra params in segment \" + p)), m + k;\n });\n }\n})(xl);\nvar zK = Ue, Os = Cr, Fk = Rn, Rk = Sr, IK = _l.readPaths, $y = xl, NK = $y.getPathString, Pk = K1, OK = On.FROM_TL, wD = function(t, r, n, a) {\n if (a.selectAll(\".shape-label\").remove(), !!(n.label.text || n.label.texttemplate)) {\n var i;\n if (n.label.texttemplate) {\n var o = {};\n if (n.type !== \"path\") {\n var l = Os.getFromId(t, n.xref), s = Os.getFromId(t, n.yref);\n for (var u in Pk) {\n var f = Pk[u](n, l, s);\n f !== void 0 && (o[u] = f);\n }\n }\n i = zK.texttemplateStringForShapes(\n n.label.texttemplate,\n {},\n t._fullLayout._d3locale,\n o\n );\n } else\n i = n.label.text;\n var d = {\n \"data-index\": r\n }, h = n.label.font, p = {\n \"data-notex\": 1\n }, v = a.append(\"g\").attr(d).classed(\"shape-label\", !0), m = v.append(\"text\").attr(p).classed(\"shape-label-text\", !0).text(i), g, y, w, k;\n if (n.path) {\n var x = NK(t, n), _ = IK(x, t);\n g = 1 / 0, w = 1 / 0, y = -1 / 0, k = -1 / 0;\n for (var T = 0; T < _.length; T++)\n for (var S = 0; S < _[T].length; S++)\n for (var M = _[T][S], L = 1; L < M.length; L += 2) {\n var F = M[L], $ = M[L + 1];\n g = Math.min(g, F), y = Math.max(y, F), w = Math.min(w, $), k = Math.max(k, $);\n }\n } else {\n var I = Os.getFromId(t, n.xref), O = Os.getRefType(n.xref), G = Os.getFromId(t, n.yref), K = Os.getRefType(n.yref), V = $y.getDataToPixel(t, I, !1, O), z = $y.getDataToPixel(t, G, !0, K);\n g = V(n.x0), y = V(n.x1), w = z(n.y0), k = z(n.y1);\n }\n var P = n.label.textangle;\n P === \"auto\" && (n.type === \"line\" ? P = HK(g, w, y, k) : P = 0), m.call(function(re) {\n return re.call(Rk.font, h).attr({}), Fk.convertToTspans(re, t), re;\n });\n var R = Rk.bBox(m.node()), H = BK(g, w, y, k, n, P, R), B = H.textx, W = H.texty, ee = H.xanchor;\n m.attr({\n \"text-anchor\": {\n left: \"start\",\n center: \"middle\",\n right: \"end\"\n }[ee],\n y: W,\n x: B,\n transform: \"rotate(\" + P + \",\" + B + \",\" + W + \")\"\n }).call(Fk.positionText, B, W);\n }\n};\nfunction HK(e, t, r, n) {\n var a, i;\n return i = Math.abs(r - e), r >= e ? a = t - n : a = n - t, -180 / Math.PI * Math.atan2(a, i);\n}\nfunction BK(e, t, r, n, a, i, o) {\n var l = a.label.textposition, s = a.label.textangle, u = a.label.padding, f = a.type, d = Math.PI / 180 * i, h = Math.sin(d), p = Math.cos(d), v = a.label.xanchor, m = a.label.yanchor, g, y, w, k;\n if (f === \"line\") {\n l === \"start\" ? (g = e, y = t) : l === \"end\" ? (g = r, y = n) : (g = (e + r) / 2, y = (t + n) / 2), v === \"auto\" && (l === \"start\" ? s === \"auto\" ? r > e ? v = \"left\" : r < e ? v = \"right\" : v = \"center\" : r > e ? v = \"right\" : r < e ? v = \"left\" : v = \"center\" : l === \"end\" ? s === \"auto\" ? r > e ? v = \"right\" : r < e ? v = \"left\" : v = \"center\" : r > e ? v = \"left\" : r < e ? v = \"right\" : v = \"center\" : v = \"center\");\n var x = { left: 1, center: 0, right: -1 }, _ = { bottom: -1, middle: 0, top: 1 };\n if (s === \"auto\") {\n var T = _[m];\n w = -u * h * T, k = u * p * T;\n } else {\n var S = x[v], M = _[m];\n w = u * S, k = u * M;\n }\n g = g + w, y = y + k;\n } else\n w = u + 3, l.indexOf(\"right\") !== -1 ? (g = Math.max(e, r) - w, v === \"auto\" && (v = \"right\")) : l.indexOf(\"left\") !== -1 ? (g = Math.min(e, r) + w, v === \"auto\" && (v = \"left\")) : (g = (e + r) / 2, v === \"auto\" && (v = \"center\")), l.indexOf(\"top\") !== -1 ? y = Math.min(t, n) : l.indexOf(\"bottom\") !== -1 ? y = Math.max(t, n) : y = (t + n) / 2, k = u, m === \"bottom\" ? y = y - k : m === \"top\" && (y = y + k);\n var L = OK[m], F = a.label.font.size, $ = o.height, I = ($ * L - F) * h, O = -($ * L - F) * p;\n return { textx: g + I, texty: y + O, xanchor: v };\n}\nvar jK = Ue, UK = jK.strTranslate, $k = Qi, TD = rf, GK = TD.drawMode, kD = TD.selectMode, AD = Nt, zk = nr, Op = Rb, VK = Op.i000, qK = Op.i090, WK = Op.i180, ZK = Op.i270, YK = _s, MD = YK.clearOutlineControllers, Ib = _l, ih = Ib.pointsOnRectangle, Lg = Ib.pointsOnEllipse, XK = Ib.writePaths, KK = $b.newShapes, JK = $b.createShapeObj, QK = xD, eJ = wD, Nb = function e(t, r, n, a) {\n a || (a = 0);\n var i = n.gd;\n function o() {\n e(t, r, n, a++), (Lg(t[0]) || n.hasText) && l({ redrawing: !0 });\n }\n function l(z) {\n var P = {};\n n.isActiveShape !== void 0 && (n.isActiveShape = !1, P = KK(r, n)), n.isActiveSelection !== void 0 && (n.isActiveSelection = !1, P = QK(r, n), i._fullLayout._reselect = !0), Object.keys(P).length && AD.call((z || {}).redrawing ? \"relayout\" : \"_guiRelayout\", i, P);\n }\n var s = i._fullLayout, u = s._zoomlayer, f = n.dragmode, d = GK(f), h = kD(f);\n (d || h) && (i._fullLayout._outlining = !0), MD(i), r.attr(\"d\", XK(t));\n var p, v, m, g, y;\n if (!a && (n.isActiveShape || n.isActiveSelection)) {\n y = tJ([], t);\n var w = u.append(\"g\").attr(\"class\", \"outline-controllers\");\n F(w), V();\n }\n if (d && n.hasText) {\n var k = u.select(\".label-temp\"), x = JK(r, n, n.dragmode);\n eJ(i, \"label-temp\", x, k);\n }\n function _(z) {\n m = +z.srcElement.getAttribute(\"data-i\"), g = +z.srcElement.getAttribute(\"data-j\"), p[m][g].moveFn = T;\n }\n function T(z, P) {\n if (t.length) {\n var R = y[m][g][1], H = y[m][g][2], B = t[m], W = B.length;\n if (ih(B)) {\n var ee = z, re = P;\n if (n.isActiveSelection) {\n var ae = Ik(B, g);\n ae[1] === B[g][1] ? re = 0 : ee = 0;\n }\n for (var Q = 0; Q < W; Q++)\n if (Q !== g) {\n var ue = B[Q];\n ue[1] === B[g][1] && (ue[1] = R + ee), ue[2] === B[g][2] && (ue[2] = H + re);\n }\n if (B[g][1] = R + ee, B[g][2] = H + re, !ih(B))\n for (var j = 0; j < W; j++)\n for (var U = 0; U < B[j].length; U++)\n B[j][U] = y[m][j][U];\n } else\n B[g][1] = R + z, B[g][2] = H + P;\n o();\n }\n }\n function S() {\n l();\n }\n function M() {\n if (t.length && t[m] && t[m].length) {\n for (var z = [], P = 0; P < t[m].length; P++)\n P !== g && z.push(\n t[m][P]\n );\n z.length > 1 && !(z.length === 2 && z[1][0] === \"Z\") && (g === 0 && (z[0][0] = \"M\"), t[m] = z, o(), l());\n }\n }\n function L(z, P) {\n if (z === 2) {\n m = +P.srcElement.getAttribute(\"data-i\"), g = +P.srcElement.getAttribute(\"data-j\");\n var R = t[m];\n !ih(R) && !Lg(R) && M();\n }\n }\n function F(z) {\n p = [];\n for (var P = 0; P < t.length; P++) {\n var R = t[P], H = ih(R), B = !H && Lg(R);\n p[P] = [];\n for (var W = R.length, ee = 0; ee < W; ee++)\n if (R[ee][0] !== \"Z\" && !(B && ee !== VK && ee !== qK && ee !== WK && ee !== ZK)) {\n var re = H && n.isActiveSelection, ae;\n re && (ae = Ik(R, ee));\n var Q = R[ee][1], ue = R[ee][2], j = z.append(re ? \"rect\" : \"circle\").attr(\"data-i\", P).attr(\"data-j\", ee).style({\n fill: zk.background,\n stroke: zk.defaultLine,\n \"stroke-width\": 1,\n \"shape-rendering\": \"crispEdges\"\n });\n if (re) {\n var U = ae[1] - Q, Z = ae[2] - ue, le = Z ? 5 : Math.max(Math.min(25, Math.abs(U) - 5), 5), J = U ? 5 : Math.max(Math.min(25, Math.abs(Z) - 5), 5);\n j.classed(Z ? \"cursor-ew-resize\" : \"cursor-ns-resize\", !0).attr(\"width\", le).attr(\"height\", J).attr(\"x\", Q - le / 2).attr(\"y\", ue - J / 2).attr(\"transform\", UK(U / 2, Z / 2));\n } else\n j.classed(\"cursor-grab\", !0).attr(\"r\", 5).attr(\"cx\", Q).attr(\"cy\", ue);\n p[P][ee] = {\n element: j.node(),\n gd: i,\n prepFn: _,\n doneFn: S,\n clickFn: L\n }, $k.init(p[P][ee]);\n }\n }\n }\n function $(z, P) {\n if (t.length)\n for (var R = 0; R < t.length; R++)\n for (var H = 0; H < t[R].length; H++)\n for (var B = 0; B + 2 < t[R][H].length; B += 2)\n t[R][H][B + 1] = y[R][H][B + 1] + z, t[R][H][B + 2] = y[R][H][B + 2] + P;\n }\n function I(z, P) {\n $(z, P), o();\n }\n function O(z) {\n m = +z.srcElement.getAttribute(\"data-i\"), m || (m = 0), v[m].moveFn = I;\n }\n function G() {\n l();\n }\n function K(z) {\n z === 2 && rJ(i);\n }\n function V() {\n if (v = [], !!t.length) {\n var z = 0;\n v[z] = {\n element: r[0][0],\n gd: i,\n prepFn: O,\n doneFn: G,\n clickFn: K\n }, $k.init(v[z]);\n }\n }\n};\nfunction tJ(e, t) {\n for (var r = 0; r < t.length; r++) {\n var n = t[r];\n e[r] = [];\n for (var a = 0; a < n.length; a++) {\n e[r][a] = [];\n for (var i = 0; i < n[a].length; i++)\n e[r][a][i] = n[a][i];\n }\n }\n return e;\n}\nfunction Ik(e, t) {\n var r = e[t][1], n = e[t][2], a = e.length, i, o, l;\n return i = (t + 1) % a, o = e[i][1], l = e[i][2], o === r && l === n && (i = (t + 2) % a, o = e[i][1], l = e[i][2]), [i, o, l];\n}\nfunction rJ(e) {\n if (kD(e._fullLayout.dragmode)) {\n MD(e);\n var t = e._fullLayout._activeSelectionIndex, r = (e.layout || {}).selections || [];\n if (t < r.length) {\n for (var n = [], a = 0; a < r.length; a++)\n a !== t && n.push(r[a]);\n delete e._fullLayout._activeSelectionIndex;\n var i = e._fullLayout.selections[t];\n e._fullLayout._deselect = {\n xref: i.xref,\n yref: i.yref\n }, AD.call(\"_guiRelayout\", e, {\n selections: n\n });\n }\n }\n}\nvar nJ = lr, SD = Nt, Nk = Ue, Hs = Cr, aJ = _l.readPaths, iJ = Nb, wv = wD, CD = _s.clearOutlineControllers, Dg = nr, Ob = Sr, oJ = Mr.arrayEditor, Ok = Qi, Hk = xs, Nl = Np, na = xl, zy = na.getPathString, Hb = {\n draw: Bb,\n drawOne: LD,\n eraseActiveShape: uJ,\n drawLabel: wv\n};\nfunction Bb(e) {\n var t = e._fullLayout;\n t._shapeUpperLayer.selectAll(\"path\").remove(), t._shapeLowerLayer.selectAll(\"path\").remove(), t._shapeUpperLayer.selectAll(\"text\").remove(), t._shapeLowerLayer.selectAll(\"text\").remove();\n for (var r in t._plots) {\n var n = t._plots[r].shapelayer;\n n && (n.selectAll(\"path\").remove(), n.selectAll(\"text\").remove());\n }\n for (var a = 0; a < t.shapes.length; a++)\n t.shapes[a].visible === !0 && LD(e, a);\n}\nfunction oh(e) {\n return !!e._fullLayout._outlining;\n}\nfunction Hp(e) {\n return !e._context.edits.shapePosition;\n}\nfunction LD(e, t) {\n e._fullLayout._paperdiv.selectAll('.shapelayer [data-index=\"' + t + '\"]').remove();\n var r = na.makeShapesOptionsAndPlotinfo(e, t), n = r.options, a = r.plotinfo;\n if (!n._input || n.visible !== !0) return;\n if (n.layer !== \"below\")\n o(e._fullLayout._shapeUpperLayer);\n else if (n.xref === \"paper\" || n.yref === \"paper\")\n o(e._fullLayout._shapeLowerLayer);\n else if (a._hadPlotinfo) {\n var i = a.mainplotinfo || a;\n o(i.shapelayer);\n } else\n o(e._fullLayout._shapeLowerLayer);\n function o(l) {\n var s = zy(e, n), u = {\n \"data-index\": t,\n \"fill-rule\": n.fillrule,\n d: s\n }, f = n.opacity, d = n.fillcolor, h = n.line.width ? n.line.color : \"rgba(0,0,0,0)\", p = n.line.width, v = n.line.dash;\n !p && n.editable === !0 && (p = 5, v = \"solid\");\n var m = s[s.length - 1] !== \"Z\", g = Hp(e) && n.editable && e._fullLayout._activeShapeIndex === t;\n g && (d = m ? \"rgba(0,0,0,0)\" : e._fullLayout.activeshape.fillcolor, f = e._fullLayout.activeshape.opacity);\n var y = l.append(\"g\").classed(\"shape-group\", !0).attr({ \"data-index\": t }), w = y.append(\"path\").attr(u).style(\"opacity\", f).call(Dg.stroke, h).call(Dg.fill, d).call(Ob.dashLine, v, p);\n DD(y, e, n), wv(e, t, n, y);\n var k;\n if ((g || e._context.edits.shapePosition) && (k = oJ(e.layout, \"shapes\", n)), g) {\n w.style({\n cursor: \"move\"\n });\n var x = {\n element: w.node(),\n plotinfo: a,\n gd: e,\n editHelpers: k,\n hasText: n.label.text || n.label.texttemplate,\n isActiveShape: !0\n // i.e. to enable controllers\n }, _ = aJ(s, e);\n iJ(_, w, x);\n } else\n e._context.edits.shapePosition ? lJ(e, w, n, t, l, k) : n.editable === !0 && w.style(\n \"pointer-events\",\n m || Dg.opacity(d) * f <= 0.5 ? \"stroke\" : \"all\"\n );\n w.node().addEventListener(\"click\", function() {\n return sJ(e, w);\n });\n }\n}\nfunction DD(e, t, r) {\n var n = (r.xref + r.yref).replace(/paper/g, \"\").replace(/[xyz][1-9]* *domain/g, \"\");\n Ob.setClipUrl(\n e,\n n ? \"clip\" + t._fullLayout._uid + n : null,\n t\n );\n}\nfunction lJ(e, t, r, n, a, i) {\n var o = 10, l = 10, s = r.xsizemode === \"pixel\", u = r.ysizemode === \"pixel\", f = r.type === \"line\", d = r.type === \"path\", h = i.modifyItem, p, v, m, g, y, w, k, x, _, T, S, M, L, F, $, I = nJ.select(t.node().parentNode), O = Hs.getFromId(e, r.xref), G = Hs.getRefType(r.xref), K = Hs.getFromId(e, r.yref), V = Hs.getRefType(r.yref), z = na.getDataToPixel(e, O, !1, G), P = na.getDataToPixel(e, K, !0, V), R = na.getPixelToData(e, O, !1, G), H = na.getPixelToData(e, K, !0, V), B = re(), W = {\n element: B.node(),\n gd: e,\n prepFn: ue,\n doneFn: j,\n clickFn: U\n }, ee;\n Ok.init(W), B.node().onmousemove = Q;\n function re() {\n return f ? ae() : t;\n }\n function ae() {\n var ve = 10, me = Math.max(r.line.width, ve), Le = a.append(\"g\").attr(\"data-index\", n).attr(\"drag-helper\", !0);\n Le.append(\"path\").attr(\"d\", t.attr(\"d\")).style({\n cursor: \"move\",\n \"stroke-width\": me,\n \"stroke-opacity\": \"0\"\n // ensure not visible\n });\n var ze = {\n \"fill-opacity\": \"0\"\n // ensure not visible\n }, Fe = Math.max(me / 2, ve);\n return Le.append(\"circle\").attr({\n \"data-line-point\": \"start-point\",\n cx: s ? z(r.xanchor) + r.x0 : z(r.x0),\n cy: u ? P(r.yanchor) - r.y0 : P(r.y0),\n r: Fe\n }).style(ze).classed(\"cursor-grab\", !0), Le.append(\"circle\").attr({\n \"data-line-point\": \"end-point\",\n cx: s ? z(r.xanchor) + r.x1 : z(r.x1),\n cy: u ? P(r.yanchor) - r.y1 : P(r.y1),\n r: Fe\n }).style(ze).classed(\"cursor-grab\", !0), Le;\n }\n function Q(ve) {\n if (oh(e)) {\n ee = null;\n return;\n }\n if (f)\n ve.target.tagName === \"path\" ? ee = \"move\" : ee = ve.target.attributes[\"data-line-point\"].value === \"start-point\" ? \"resize-over-start-point\" : \"resize-over-end-point\";\n else {\n var me = W.element.getBoundingClientRect(), Le = me.right - me.left, ze = me.bottom - me.top, Fe = ve.clientX - me.left, Oe = ve.clientY - me.top, Re = !d && Le > o && ze > l && !ve.shiftKey ? Ok.getCursor(Fe / Le, 1 - Oe / ze) : \"move\";\n Hk(t, Re), ee = Re.split(\"-\")[0];\n }\n }\n function ue(ve) {\n oh(e) || (s && (y = z(r.xanchor)), u && (w = P(r.yanchor)), r.type === \"path\" ? $ = r.path : (p = s ? r.x0 : z(r.x0), v = u ? r.y0 : P(r.y0), m = s ? r.x1 : z(r.x1), g = u ? r.y1 : P(r.y1)), p < m ? (_ = p, L = \"x0\", T = m, F = \"x1\") : (_ = m, L = \"x1\", T = p, F = \"x0\"), !u && v < g || u && v > g ? (k = v, S = \"y0\", x = g, M = \"y1\") : (k = g, S = \"y1\", x = v, M = \"y0\"), Q(ve), J(a, r), ge(t, r, e), W.moveFn = ee === \"move\" ? Z : le, W.altKey = ve.altKey);\n }\n function j() {\n oh(e) || (Hk(t), pe(a), DD(t, e, r), SD.call(\"_guiRelayout\", e, i.getUpdateObj()));\n }\n function U() {\n oh(e) || pe(a);\n }\n function Z(ve, me) {\n if (r.type === \"path\") {\n var Le = function(Oe) {\n return Oe;\n }, ze = Le, Fe = Le;\n s ? h(\"xanchor\", r.xanchor = R(y + ve)) : (ze = function(Re) {\n return R(z(Re) + ve);\n }, O && O.type === \"date\" && (ze = na.encodeDate(ze))), u ? h(\"yanchor\", r.yanchor = H(w + me)) : (Fe = function(Re) {\n return H(P(Re) + me);\n }, K && K.type === \"date\" && (Fe = na.encodeDate(Fe))), h(\"path\", r.path = Bk($, ze, Fe));\n } else\n s ? h(\"xanchor\", r.xanchor = R(y + ve)) : (h(\"x0\", r.x0 = R(p + ve)), h(\"x1\", r.x1 = R(m + ve))), u ? h(\"yanchor\", r.yanchor = H(w + me)) : (h(\"y0\", r.y0 = H(v + me)), h(\"y1\", r.y1 = H(g + me)));\n t.attr(\"d\", zy(e, r)), J(a, r), wv(e, n, r, I);\n }\n function le(ve, me) {\n if (d) {\n var Le = function(Ie) {\n return Ie;\n }, ze = Le, Fe = Le;\n s ? h(\"xanchor\", r.xanchor = R(y + ve)) : (ze = function(Ne) {\n return R(z(Ne) + ve);\n }, O && O.type === \"date\" && (ze = na.encodeDate(ze))), u ? h(\"yanchor\", r.yanchor = H(w + me)) : (Fe = function(Ne) {\n return H(P(Ne) + me);\n }, K && K.type === \"date\" && (Fe = na.encodeDate(Fe))), h(\"path\", r.path = Bk($, ze, Fe));\n } else if (f) {\n if (ee === \"resize-over-start-point\") {\n var Oe = p + ve, Re = u ? v - me : v + me;\n h(\"x0\", r.x0 = s ? Oe : R(Oe)), h(\"y0\", r.y0 = u ? Re : H(Re));\n } else if (ee === \"resize-over-end-point\") {\n var We = m + ve, Me = u ? g - me : g + me;\n h(\"x1\", r.x1 = s ? We : R(We)), h(\"y1\", r.y1 = u ? Me : H(Me));\n }\n } else {\n var Ve = function(Ie) {\n return ee.indexOf(Ie) !== -1;\n }, qe = Ve(\"n\"), Qe = Ve(\"s\"), ot = Ve(\"w\"), ht = Ve(\"e\"), vt = qe ? k + me : k, nt = Qe ? x + me : x, ft = ot ? _ + ve : _, Pe = ht ? T + ve : T;\n u && (qe && (vt = k - me), Qe && (nt = x - me)), (!u && nt - vt > l || u && vt - nt > l) && (h(S, r[S] = u ? vt : H(vt)), h(M, r[M] = u ? nt : H(nt))), Pe - ft > o && (h(L, r[L] = s ? ft : R(ft)), h(F, r[F] = s ? Pe : R(Pe)));\n }\n t.attr(\"d\", zy(e, r)), J(a, r), wv(e, n, r, I);\n }\n function J(ve, me) {\n (s || u) && Le();\n function Le() {\n var ze = me.type !== \"path\", Fe = ve.selectAll(\".visual-cue\").data([0]), Oe = 1;\n Fe.enter().append(\"path\").attr({\n fill: \"#fff\",\n \"fill-rule\": \"evenodd\",\n stroke: \"#000\",\n \"stroke-width\": Oe\n }).classed(\"visual-cue\", !0);\n var Re = z(\n s ? me.xanchor : Nk.midRange(\n ze ? [me.x0, me.x1] : na.extractPathCoords(me.path, Nl.paramIsX)\n )\n ), We = P(\n u ? me.yanchor : Nk.midRange(\n ze ? [me.y0, me.y1] : na.extractPathCoords(me.path, Nl.paramIsY)\n )\n );\n if (Re = na.roundPositionForSharpStrokeRendering(Re, Oe), We = na.roundPositionForSharpStrokeRendering(We, Oe), s && u) {\n var Me = \"M\" + (Re - 1 - Oe) + \",\" + (We - 1 - Oe) + \"h-8v2h8 v8h2v-8 h8v-2h-8 v-8h-2 Z\";\n Fe.attr(\"d\", Me);\n } else if (s) {\n var Ve = \"M\" + (Re - 1 - Oe) + \",\" + (We - 9 - Oe) + \"v18 h2 v-18 Z\";\n Fe.attr(\"d\", Ve);\n } else {\n var qe = \"M\" + (Re - 9 - Oe) + \",\" + (We - 1 - Oe) + \"h18 v2 h-18 Z\";\n Fe.attr(\"d\", qe);\n }\n }\n }\n function pe(ve) {\n ve.selectAll(\".visual-cue\").remove();\n }\n function ge(ve, me, Le) {\n var ze = me.xref, Fe = me.yref, Oe = Hs.getFromId(Le, ze), Re = Hs.getFromId(Le, Fe), We = \"\";\n ze !== \"paper\" && !Oe.autorange && (We += ze), Fe !== \"paper\" && !Re.autorange && (We += Fe), Ob.setClipUrl(\n ve,\n We ? \"clip\" + Le._fullLayout._uid + We : null,\n Le\n );\n }\n}\nfunction Bk(e, t, r) {\n return e.replace(Nl.segmentRE, function(n) {\n var a = 0, i = n.charAt(0), o = Nl.paramIsX[i], l = Nl.paramIsY[i], s = Nl.numParams[i], u = n.substr(1).replace(Nl.paramRE, function(f) {\n return a >= s || (o[a] ? f = t(f) : l[a] && (f = r(f)), a++), f;\n });\n return i + u;\n });\n}\nfunction sJ(e, t) {\n if (Hp(e)) {\n var r = t.node(), n = +r.getAttribute(\"data-index\");\n if (n >= 0) {\n if (n === e._fullLayout._activeShapeIndex) {\n jk(e);\n return;\n }\n e._fullLayout._activeShapeIndex = n, e._fullLayout._deactivateShape = jk, Bb(e);\n }\n }\n}\nfunction jk(e) {\n if (Hp(e)) {\n var t = e._fullLayout._activeShapeIndex;\n t >= 0 && (CD(e), delete e._fullLayout._activeShapeIndex, Bb(e));\n }\n}\nfunction uJ(e) {\n if (Hp(e)) {\n CD(e);\n var t = e._fullLayout._activeShapeIndex, r = (e.layout || {}).shapes || [];\n if (t < r.length) {\n for (var n = [], a = 0; a < r.length; a++)\n a !== t && n.push(r[a]);\n return delete e._fullLayout._activeShapeIndex, SD.call(\"_guiRelayout\", e, {\n shapes: n\n });\n }\n }\n}\nvar Xa = Nt, ED = Tn, FD = gn, vr = Fb, fJ = Hb.eraseActiveShape, iu = Ue, or = iu._, pr = mD.exports = {};\npr.toImage = {\n name: \"toImage\",\n title: function(e) {\n var t = e._context.toImageButtonOptions || {}, r = t.format || \"png\";\n return r === \"png\" ? or(e, \"Download plot as a png\") : (\n // legacy text\n or(e, \"Download plot\")\n );\n },\n icon: vr.camera,\n click: function(e) {\n var t = e._context.toImageButtonOptions, r = { format: t.format || \"png\" };\n iu.notifier(or(e, \"Taking snapshot - this may take a few seconds\"), \"long\"), r.format !== \"svg\" && iu.isIE() && (iu.notifier(or(e, \"IE only supports svg. Changing format to svg.\"), \"long\"), r.format = \"svg\"), [\"filename\", \"width\", \"height\", \"scale\"].forEach(function(n) {\n n in t && (r[n] = t[n]);\n }), Xa.call(\"downloadImage\", e, r).then(function(n) {\n iu.notifier(or(e, \"Snapshot succeeded\") + \" - \" + n, \"long\");\n }).catch(function() {\n iu.notifier(or(e, \"Sorry, there was a problem downloading your snapshot!\"), \"long\");\n });\n }\n};\npr.sendDataToCloud = {\n name: \"sendDataToCloud\",\n title: function(e) {\n return or(e, \"Edit in Chart Studio\");\n },\n icon: vr.disk,\n click: function(e) {\n ED.sendDataToCloud(e);\n }\n};\npr.editInChartStudio = {\n name: \"editInChartStudio\",\n title: function(e) {\n return or(e, \"Edit in Chart Studio\");\n },\n icon: vr.pencil,\n click: function(e) {\n ED.sendDataToCloud(e);\n }\n};\npr.zoom2d = {\n name: \"zoom2d\",\n _cat: \"zoom\",\n title: function(e) {\n return or(e, \"Zoom\");\n },\n attr: \"dragmode\",\n val: \"zoom\",\n icon: vr.zoombox,\n click: Bn\n};\npr.pan2d = {\n name: \"pan2d\",\n _cat: \"pan\",\n title: function(e) {\n return or(e, \"Pan\");\n },\n attr: \"dragmode\",\n val: \"pan\",\n icon: vr.pan,\n click: Bn\n};\npr.select2d = {\n name: \"select2d\",\n _cat: \"select\",\n title: function(e) {\n return or(e, \"Box Select\");\n },\n attr: \"dragmode\",\n val: \"select\",\n icon: vr.selectbox,\n click: Bn\n};\npr.lasso2d = {\n name: \"lasso2d\",\n _cat: \"lasso\",\n title: function(e) {\n return or(e, \"Lasso Select\");\n },\n attr: \"dragmode\",\n val: \"lasso\",\n icon: vr.lasso,\n click: Bn\n};\npr.drawclosedpath = {\n name: \"drawclosedpath\",\n title: function(e) {\n return or(e, \"Draw closed freeform\");\n },\n attr: \"dragmode\",\n val: \"drawclosedpath\",\n icon: vr.drawclosedpath,\n click: Bn\n};\npr.drawopenpath = {\n name: \"drawopenpath\",\n title: function(e) {\n return or(e, \"Draw open freeform\");\n },\n attr: \"dragmode\",\n val: \"drawopenpath\",\n icon: vr.drawopenpath,\n click: Bn\n};\npr.drawline = {\n name: \"drawline\",\n title: function(e) {\n return or(e, \"Draw line\");\n },\n attr: \"dragmode\",\n val: \"drawline\",\n icon: vr.drawline,\n click: Bn\n};\npr.drawrect = {\n name: \"drawrect\",\n title: function(e) {\n return or(e, \"Draw rectangle\");\n },\n attr: \"dragmode\",\n val: \"drawrect\",\n icon: vr.drawrect,\n click: Bn\n};\npr.drawcircle = {\n name: \"drawcircle\",\n title: function(e) {\n return or(e, \"Draw circle\");\n },\n attr: \"dragmode\",\n val: \"drawcircle\",\n icon: vr.drawcircle,\n click: Bn\n};\npr.eraseshape = {\n name: \"eraseshape\",\n title: function(e) {\n return or(e, \"Erase active shape\");\n },\n icon: vr.eraseshape,\n click: fJ\n};\npr.zoomIn2d = {\n name: \"zoomIn2d\",\n _cat: \"zoomin\",\n title: function(e) {\n return or(e, \"Zoom in\");\n },\n attr: \"zoom\",\n val: \"in\",\n icon: vr.zoom_plus,\n click: Bn\n};\npr.zoomOut2d = {\n name: \"zoomOut2d\",\n _cat: \"zoomout\",\n title: function(e) {\n return or(e, \"Zoom out\");\n },\n attr: \"zoom\",\n val: \"out\",\n icon: vr.zoom_minus,\n click: Bn\n};\npr.autoScale2d = {\n name: \"autoScale2d\",\n _cat: \"autoscale\",\n title: function(e) {\n return or(e, \"Autoscale\");\n },\n attr: \"zoom\",\n val: \"auto\",\n icon: vr.autoscale,\n click: Bn\n};\npr.resetScale2d = {\n name: \"resetScale2d\",\n _cat: \"resetscale\",\n title: function(e) {\n return or(e, \"Reset axes\");\n },\n attr: \"zoom\",\n val: \"reset\",\n icon: vr.home,\n click: Bn\n};\npr.hoverClosestCartesian = {\n name: \"hoverClosestCartesian\",\n _cat: \"hoverclosest\",\n title: function(e) {\n return or(e, \"Show closest data on hover\");\n },\n attr: \"hovermode\",\n val: \"closest\",\n icon: vr.tooltip_basic,\n gravity: \"ne\",\n click: Bn\n};\npr.hoverCompareCartesian = {\n name: \"hoverCompareCartesian\",\n _cat: \"hoverCompare\",\n title: function(e) {\n return or(e, \"Compare data on hover\");\n },\n attr: \"hovermode\",\n val: function(e) {\n return e._fullLayout._isHoriz ? \"y\" : \"x\";\n },\n icon: vr.tooltip_compare,\n gravity: \"ne\",\n click: Bn\n};\nfunction Bn(e, t) {\n var r = t.currentTarget, n = r.getAttribute(\"data-attr\"), a = r.getAttribute(\"data-val\") || !0, i = e._fullLayout, o = {}, l = FD.list(e, null, !0), s = i._cartesianSpikesEnabled, u, f;\n if (n === \"zoom\") {\n var d = a === \"in\" ? 0.5 : 2, h = (1 + d) / 2, p = (1 - d) / 2, v;\n for (f = 0; f < l.length; f++)\n if (u = l[f], !u.fixedrange)\n if (v = u._name, a === \"auto\")\n o[v + \".autorange\"] = !0;\n else if (a === \"reset\")\n u._rangeInitial0 === void 0 && u._rangeInitial1 === void 0 ? o[v + \".autorange\"] = !0 : u._rangeInitial0 === void 0 ? (o[v + \".autorange\"] = u._autorangeInitial, o[v + \".range\"] = [null, u._rangeInitial1]) : u._rangeInitial1 === void 0 ? (o[v + \".range\"] = [u._rangeInitial0, null], o[v + \".autorange\"] = u._autorangeInitial) : o[v + \".range\"] = [u._rangeInitial0, u._rangeInitial1], u._showSpikeInitial !== void 0 && (o[v + \".showspikes\"] = u._showSpikeInitial, s === \"on\" && !u._showSpikeInitial && (s = \"off\"));\n else {\n var m = [\n u.r2l(u.range[0]),\n u.r2l(u.range[1])\n ], g = [\n h * m[0] + p * m[1],\n h * m[1] + p * m[0]\n ];\n o[v + \".range[0]\"] = u.l2r(g[0]), o[v + \".range[1]\"] = u.l2r(g[1]);\n }\n } else\n n === \"hovermode\" && (a === \"x\" || a === \"y\") && (a = i._isHoriz ? \"y\" : \"x\", r.setAttribute(\"data-val\", a)), o[n] = a;\n i._cartesianSpikesEnabled = s, Xa.call(\"_guiRelayout\", e, o);\n}\npr.zoom3d = {\n name: \"zoom3d\",\n _cat: \"zoom\",\n title: function(e) {\n return or(e, \"Zoom\");\n },\n attr: \"scene.dragmode\",\n val: \"zoom\",\n icon: vr.zoombox,\n click: Bp\n};\npr.pan3d = {\n name: \"pan3d\",\n _cat: \"pan\",\n title: function(e) {\n return or(e, \"Pan\");\n },\n attr: \"scene.dragmode\",\n val: \"pan\",\n icon: vr.pan,\n click: Bp\n};\npr.orbitRotation = {\n name: \"orbitRotation\",\n title: function(e) {\n return or(e, \"Orbital rotation\");\n },\n attr: \"scene.dragmode\",\n val: \"orbit\",\n icon: vr[\"3d_rotate\"],\n click: Bp\n};\npr.tableRotation = {\n name: \"tableRotation\",\n title: function(e) {\n return or(e, \"Turntable rotation\");\n },\n attr: \"scene.dragmode\",\n val: \"turntable\",\n icon: vr[\"z-axis\"],\n click: Bp\n};\nfunction Bp(e, t) {\n for (var r = t.currentTarget, n = r.getAttribute(\"data-attr\"), a = r.getAttribute(\"data-val\") || !0, i = e._fullLayout._subplots.gl3d || [], o = {}, l = n.split(\".\"), s = 0; s < i.length; s++)\n o[i[s] + \".\" + l[1]] = a;\n var u = a === \"pan\" ? a : \"zoom\";\n o.dragmode = u, Xa.call(\"_guiRelayout\", e, o);\n}\npr.resetCameraDefault3d = {\n name: \"resetCameraDefault3d\",\n _cat: \"resetCameraDefault\",\n title: function(e) {\n return or(e, \"Reset camera to default\");\n },\n attr: \"resetDefault\",\n icon: vr.home,\n click: jb\n};\npr.resetCameraLastSave3d = {\n name: \"resetCameraLastSave3d\",\n _cat: \"resetCameraLastSave\",\n title: function(e) {\n return or(e, \"Reset camera to last save\");\n },\n attr: \"resetLastSave\",\n icon: vr.movie,\n click: jb\n};\nfunction jb(e, t) {\n for (var r = t.currentTarget, n = r.getAttribute(\"data-attr\"), a = n === \"resetLastSave\", i = n === \"resetDefault\", o = e._fullLayout, l = o._subplots.gl3d || [], s = {}, u = 0; u < l.length; u++) {\n var f = l[u], d = f + \".camera\", h = f + \".aspectratio\", p = f + \".aspectmode\", v = o[f]._scene, m;\n a ? (s[d + \".up\"] = v.viewInitial.up, s[d + \".eye\"] = v.viewInitial.eye, s[d + \".center\"] = v.viewInitial.center, m = !0) : i && (s[d + \".up\"] = null, s[d + \".eye\"] = null, s[d + \".center\"] = null, m = !0), m && (s[h + \".x\"] = v.viewInitial.aspectratio.x, s[h + \".y\"] = v.viewInitial.aspectratio.y, s[h + \".z\"] = v.viewInitial.aspectratio.z, s[p] = v.viewInitial.aspectmode);\n }\n Xa.call(\"_guiRelayout\", e, s);\n}\npr.hoverClosest3d = {\n name: \"hoverClosest3d\",\n _cat: \"hoverclosest\",\n title: function(e) {\n return or(e, \"Toggle show closest data on hover\");\n },\n attr: \"hovermode\",\n val: null,\n toggle: !0,\n icon: vr.tooltip_basic,\n gravity: \"ne\",\n click: cJ\n};\nfunction RD(e, t) {\n var r = t.currentTarget, n = r._previousVal, a = e._fullLayout, i = a._subplots.gl3d || [], o = [\"xaxis\", \"yaxis\", \"zaxis\"], l = {}, s = {};\n if (n)\n s = n, r._previousVal = null;\n else {\n for (var u = 0; u < i.length; u++) {\n var f = i[u], d = a[f], h = f + \".hovermode\";\n l[h] = d.hovermode, s[h] = !1;\n for (var p = 0; p < 3; p++) {\n var v = o[p], m = f + \".\" + v + \".showspikes\";\n s[m] = !1, l[m] = d[v].showspikes;\n }\n }\n r._previousVal = l;\n }\n return s;\n}\nfunction cJ(e, t) {\n var r = RD(e, t);\n Xa.call(\"_guiRelayout\", e, r);\n}\npr.zoomInGeo = {\n name: \"zoomInGeo\",\n _cat: \"zoomin\",\n title: function(e) {\n return or(e, \"Zoom in\");\n },\n attr: \"zoom\",\n val: \"in\",\n icon: vr.zoom_plus,\n click: Ub\n};\npr.zoomOutGeo = {\n name: \"zoomOutGeo\",\n _cat: \"zoomout\",\n title: function(e) {\n return or(e, \"Zoom out\");\n },\n attr: \"zoom\",\n val: \"out\",\n icon: vr.zoom_minus,\n click: Ub\n};\npr.resetGeo = {\n name: \"resetGeo\",\n _cat: \"reset\",\n title: function(e) {\n return or(e, \"Reset\");\n },\n attr: \"reset\",\n val: null,\n icon: vr.autoscale,\n click: Ub\n};\npr.hoverClosestGeo = {\n name: \"hoverClosestGeo\",\n _cat: \"hoverclosest\",\n title: function(e) {\n return or(e, \"Toggle show closest data on hover\");\n },\n attr: \"hovermode\",\n val: null,\n toggle: !0,\n icon: vr.tooltip_basic,\n gravity: \"ne\",\n click: Gb\n};\nfunction Ub(e, t) {\n for (var r = t.currentTarget, n = r.getAttribute(\"data-attr\"), a = r.getAttribute(\"data-val\") || !0, i = e._fullLayout, o = i._subplots.geo || [], l = 0; l < o.length; l++) {\n var s = o[l], u = i[s];\n if (n === \"zoom\") {\n var f = u.projection.scale, d = a === \"in\" ? 2 * f : 0.5 * f;\n Xa.call(\"_guiRelayout\", e, s + \".projection.scale\", d);\n }\n }\n n === \"reset\" && Tv(e, \"geo\");\n}\npr.hoverClosestGl2d = {\n name: \"hoverClosestGl2d\",\n _cat: \"hoverclosest\",\n title: function(e) {\n return or(e, \"Toggle show closest data on hover\");\n },\n attr: \"hovermode\",\n val: null,\n toggle: !0,\n icon: vr.tooltip_basic,\n gravity: \"ne\",\n click: Gb\n};\npr.hoverClosestPie = {\n name: \"hoverClosestPie\",\n _cat: \"hoverclosest\",\n title: function(e) {\n return or(e, \"Toggle show closest data on hover\");\n },\n attr: \"hovermode\",\n val: \"closest\",\n icon: vr.tooltip_basic,\n gravity: \"ne\",\n click: Gb\n};\nfunction PD(e) {\n var t = e._fullLayout;\n return t.hovermode ? !1 : t._has(\"cartesian\") ? t._isHoriz ? \"y\" : \"x\" : \"closest\";\n}\nfunction Gb(e) {\n var t = PD(e);\n Xa.call(\"_guiRelayout\", e, \"hovermode\", t);\n}\npr.resetViewSankey = {\n name: \"resetSankeyGroup\",\n title: function(e) {\n return or(e, \"Reset view\");\n },\n icon: vr.home,\n click: function(e) {\n for (var t = {\n \"node.groups\": [],\n \"node.x\": [],\n \"node.y\": []\n }, r = 0; r < e._fullData.length; r++) {\n var n = e._fullData[r]._viewInitial;\n t[\"node.groups\"].push(n.node.groups.slice()), t[\"node.x\"].push(n.node.x.slice()), t[\"node.y\"].push(n.node.y.slice());\n }\n Xa.call(\"restyle\", e, t);\n }\n};\npr.toggleHover = {\n name: \"toggleHover\",\n title: function(e) {\n return or(e, \"Toggle show closest data on hover\");\n },\n attr: \"hovermode\",\n val: null,\n toggle: !0,\n icon: vr.tooltip_basic,\n gravity: \"ne\",\n click: function(e, t) {\n var r = RD(e, t);\n r.hovermode = PD(e), Xa.call(\"_guiRelayout\", e, r);\n }\n};\npr.resetViews = {\n name: \"resetViews\",\n title: function(e) {\n return or(e, \"Reset views\");\n },\n icon: vr.home,\n click: function(e, t) {\n var r = t.currentTarget;\n r.setAttribute(\"data-attr\", \"zoom\"), r.setAttribute(\"data-val\", \"reset\"), Bn(e, t), r.setAttribute(\"data-attr\", \"resetLastSave\"), jb(e, t), Tv(e, \"geo\"), Tv(e, \"mapbox\");\n }\n};\npr.toggleSpikelines = {\n name: \"toggleSpikelines\",\n title: function(e) {\n return or(e, \"Toggle Spike Lines\");\n },\n icon: vr.spikeline,\n attr: \"_cartesianSpikesEnabled\",\n val: \"on\",\n click: function(e) {\n var t = e._fullLayout, r = t._cartesianSpikesEnabled;\n t._cartesianSpikesEnabled = r === \"on\" ? \"off\" : \"on\", Xa.call(\"_guiRelayout\", e, dJ(e));\n }\n};\nfunction dJ(e) {\n for (var t = e._fullLayout, r = t._cartesianSpikesEnabled === \"on\", n = FD.list(e, null, !0), a = {}, i = 0; i < n.length; i++) {\n var o = n[i];\n a[o._name + \".showspikes\"] = r ? !0 : o._showSpikeInitial;\n }\n return a;\n}\npr.resetViewMapbox = {\n name: \"resetViewMapbox\",\n _cat: \"resetView\",\n title: function(e) {\n return or(e, \"Reset view\");\n },\n attr: \"reset\",\n icon: vr.home,\n click: function(e) {\n Tv(e, \"mapbox\");\n }\n};\npr.zoomInMapbox = {\n name: \"zoomInMapbox\",\n _cat: \"zoomin\",\n title: function(e) {\n return or(e, \"Zoom in\");\n },\n attr: \"zoom\",\n val: \"in\",\n icon: vr.zoom_plus,\n click: $D\n};\npr.zoomOutMapbox = {\n name: \"zoomOutMapbox\",\n _cat: \"zoomout\",\n title: function(e) {\n return or(e, \"Zoom out\");\n },\n attr: \"zoom\",\n val: \"out\",\n icon: vr.zoom_minus,\n click: $D\n};\nfunction $D(e, t) {\n for (var r = t.currentTarget, n = r.getAttribute(\"data-val\"), a = e._fullLayout, i = a._subplots.mapbox || [], o = 1.05, l = {}, s = 0; s < i.length; s++) {\n var u = i[s], f = a[u].zoom, d = n === \"in\" ? o * f : f / o;\n l[u + \".zoom\"] = d;\n }\n Xa.call(\"_guiRelayout\", e, l);\n}\nfunction Tv(e, t) {\n for (var r = e._fullLayout, n = r._subplots[t] || [], a = {}, i = 0; i < n.length; i++)\n for (var o = n[i], l = r[o]._subplot, s = l.viewInitial, u = Object.keys(s), f = 0; f < u.length; f++) {\n var d = u[f];\n a[o + \".\" + d] = s[d];\n }\n Xa.call(\"_guiRelayout\", e, a);\n}\nvar zD = mD.exports, ID = zD, hJ = Object.keys(ID), ND = [\n \"drawline\",\n \"drawopenpath\",\n \"drawclosedpath\",\n \"drawcircle\",\n \"drawrect\",\n \"eraseshape\"\n], OD = [\n \"v1hovermode\",\n \"hoverclosest\",\n \"hovercompare\",\n \"togglehover\",\n \"togglespikelines\"\n].concat(ND), hu = [], vJ = function(e) {\n if (OD.indexOf(e._cat || e.name) === -1) {\n var t = e.name, r = (e._cat || e.name).toLowerCase();\n hu.indexOf(t) === -1 && hu.push(t), hu.indexOf(r) === -1 && hu.push(r);\n }\n};\nhJ.forEach(function(e) {\n vJ(ID[e]);\n});\nhu.sort();\nvar HD = {\n DRAW_MODES: ND,\n backButtons: OD,\n foreButtons: hu\n}, Uk = HD, BD = {\n editType: \"modebar\",\n orientation: {\n valType: \"enumerated\",\n values: [\"v\", \"h\"],\n dflt: \"h\",\n editType: \"modebar\",\n description: \"Sets the orientation of the modebar.\"\n },\n bgcolor: {\n valType: \"color\",\n editType: \"modebar\",\n description: \"Sets the background color of the modebar.\"\n },\n color: {\n valType: \"color\",\n editType: \"modebar\",\n description: \"Sets the color of the icons in the modebar.\"\n },\n activecolor: {\n valType: \"color\",\n editType: \"modebar\",\n description: \"Sets the color of the active or hovered on icons in the modebar.\"\n },\n uirevision: {\n valType: \"any\",\n editType: \"none\",\n description: [\n \"Controls persistence of user-driven changes related to the modebar,\",\n \"including `hovermode`, `dragmode`, and `showspikes` at both the\",\n \"root level and inside subplots. Defaults to `layout.uirevision`.\"\n ].join(\" \")\n },\n add: {\n valType: \"string\",\n arrayOk: !0,\n dflt: \"\",\n editType: \"modebar\",\n description: [\n \"Determines which predefined modebar buttons to add.\",\n \"Please note that these buttons will only be shown if they are\",\n \"compatible with all trace types used in a graph.\",\n \"Similar to `config.modeBarButtonsToAdd` option.\",\n \"This may include *\" + Uk.backButtons.join(\"*, *\") + \"*.\"\n ].join(\" \")\n },\n remove: {\n valType: \"string\",\n arrayOk: !0,\n dflt: \"\",\n editType: \"modebar\",\n description: [\n \"Determines which predefined modebar buttons to remove.\",\n \"Similar to `config.modeBarButtonsToRemove` option.\",\n \"This may include *\" + Uk.foreButtons.join(\"*, *\") + \"*.\"\n ].join(\" \")\n }\n}, pJ = Ue, Df = nr, mJ = Mr, gJ = BD, yJ = function(t, r) {\n var n = t.modebar || {}, a = mJ.newContainer(r, \"modebar\");\n function i(l, s) {\n return pJ.coerce(n, a, gJ, l, s);\n }\n i(\"orientation\"), i(\"bgcolor\", Df.addOpacity(r.paper_bgcolor, 0.5));\n var o = Df.contrast(Df.rgb(r.modebar.bgcolor));\n i(\"color\", Df.addOpacity(o, 0.3)), i(\"activecolor\", Df.addOpacity(o, 0.7)), i(\"uirevision\", r.uirevision), i(\"add\"), i(\"remove\");\n}, Vb = lr, bJ = sr, vo = Ue, jD = Fb, _J = ap.version, xJ = new DOMParser();\nfunction UD(e) {\n this.container = e.container, this.element = document.createElement(\"div\"), this.update(e.graphInfo, e.buttons), this.container.appendChild(this.element);\n}\nvar eo = UD.prototype;\neo.update = function(e, t) {\n this.graphInfo = e;\n var r = this.graphInfo._context, n = this.graphInfo._fullLayout, a = \"modebar-\" + n._uid;\n this.element.setAttribute(\"id\", a), this._uid = a, this.element.className = \"modebar\", r.displayModeBar === \"hover\" && (this.element.className += \" modebar--hover ease-bg\"), n.modebar.orientation === \"v\" && (this.element.className += \" vertical\", t = t.reverse());\n var i = n.modebar, o = r.displayModeBar === \"hover\" ? \".js-plotly-plot .plotly:hover \" : \"\";\n vo.deleteRelatedStyleRule(a), vo.addRelatedStyleRule(a, o + \"#\" + a + \" .modebar-group\", \"background-color: \" + i.bgcolor), vo.addRelatedStyleRule(a, \"#\" + a + \" .modebar-btn .icon path\", \"fill: \" + i.color), vo.addRelatedStyleRule(a, \"#\" + a + \" .modebar-btn:hover .icon path\", \"fill: \" + i.activecolor), vo.addRelatedStyleRule(a, \"#\" + a + \" .modebar-btn.active .icon path\", \"fill: \" + i.activecolor);\n var l = !this.hasButtons(t), s = this.hasLogo !== r.displaylogo, u = this.locale !== r.locale;\n if (this.locale = r.locale, (l || s || u) && (this.removeAllButtons(), this.updateButtons(t), r.watermark || r.displaylogo)) {\n var f = this.getLogo();\n r.watermark && (f.className = f.className + \" watermark\"), n.modebar.orientation === \"v\" ? this.element.insertBefore(f, this.element.childNodes[0]) : this.element.appendChild(f), this.hasLogo = !0;\n }\n this.updateActiveButton();\n};\neo.updateButtons = function(e) {\n var t = this;\n this.buttons = e, this.buttonElements = [], this.buttonsNames = [], this.buttons.forEach(function(r) {\n var n = t.createGroup();\n r.forEach(function(a) {\n var i = a.name;\n if (!i)\n throw new Error(\"must provide button 'name' in button config\");\n if (t.buttonsNames.indexOf(i) !== -1)\n throw new Error(\"button name '\" + i + \"' is taken\");\n t.buttonsNames.push(i);\n var o = t.createButton(a);\n t.buttonElements.push(o), n.appendChild(o);\n }), t.element.appendChild(n);\n });\n};\neo.createGroup = function() {\n var e = document.createElement(\"div\");\n return e.className = \"modebar-group\", e;\n};\neo.createButton = function(e) {\n var t = this, r = document.createElement(\"a\");\n r.setAttribute(\"rel\", \"tooltip\"), r.className = \"modebar-btn\";\n var n = e.title;\n n === void 0 ? n = e.name : typeof n == \"function\" && (n = n(this.graphInfo)), (n || n === 0) && r.setAttribute(\"data-title\", n), e.attr !== void 0 && r.setAttribute(\"data-attr\", e.attr);\n var a = e.val;\n a !== void 0 && (typeof a == \"function\" && (a = a(this.graphInfo)), r.setAttribute(\"data-val\", a));\n var i = e.click;\n if (typeof i != \"function\")\n throw new Error(\"must provide button 'click' function in button config\");\n r.addEventListener(\"click\", function(l) {\n e.click(t.graphInfo, l), t.updateActiveButton(l.currentTarget);\n }), r.setAttribute(\"data-toggle\", e.toggle || !1), e.toggle && Vb.select(r).classed(\"active\", !0);\n var o = e.icon;\n return typeof o == \"function\" ? r.appendChild(o()) : r.appendChild(this.createIcon(o || jD.question)), r.setAttribute(\"data-gravity\", e.gravity || \"n\"), r;\n};\neo.createIcon = function(e) {\n var t = bJ(e.height) ? Number(e.height) : e.ascent - e.descent, r = \"http://www.w3.org/2000/svg\", n;\n if (e.path) {\n n = document.createElementNS(r, \"svg\"), n.setAttribute(\"viewBox\", [0, 0, e.width, t].join(\" \")), n.setAttribute(\"class\", \"icon\");\n var a = document.createElementNS(r, \"path\");\n a.setAttribute(\"d\", e.path), e.transform ? a.setAttribute(\"transform\", e.transform) : e.ascent !== void 0 && a.setAttribute(\"transform\", \"matrix(1 0 0 -1 0 \" + e.ascent + \")\"), n.appendChild(a);\n }\n if (e.svg) {\n var i = xJ.parseFromString(e.svg, \"application/xml\");\n n = i.childNodes[0];\n }\n return n.setAttribute(\"height\", \"1em\"), n.setAttribute(\"width\", \"1em\"), n;\n};\neo.updateActiveButton = function(e) {\n var t = this.graphInfo._fullLayout, r = e !== void 0 ? e.getAttribute(\"data-attr\") : null;\n this.buttonElements.forEach(function(n) {\n var a = n.getAttribute(\"data-val\") || !0, i = n.getAttribute(\"data-attr\"), o = n.getAttribute(\"data-toggle\") === \"true\", l = Vb.select(n);\n if (o)\n i === r && l.classed(\"active\", !l.classed(\"active\"));\n else {\n var s = i === null ? i : vo.nestedProperty(t, i).get();\n l.classed(\"active\", s === a);\n }\n });\n};\neo.hasButtons = function(e) {\n var t = this.buttons;\n if (!t || e.length !== t.length) return !1;\n for (var r = 0; r < e.length; ++r) {\n if (e[r].length !== t[r].length) return !1;\n for (var n = 0; n < e[r].length; n++)\n if (e[r][n].name !== t[r][n].name) return !1;\n }\n return !0;\n};\nfunction wJ(e) {\n return e + \" (v\" + _J + \")\";\n}\neo.getLogo = function() {\n var e = this.createGroup(), t = document.createElement(\"a\");\n return t.href = \"https://plotly.com/\", t.target = \"_blank\", t.setAttribute(\"data-title\", wJ(vo._(this.graphInfo, \"Produced with Plotly.js\"))), t.className = \"modebar-btn plotlyjsicon modebar-btn--logo\", t.appendChild(this.createIcon(jD.newplotlylogo)), e.appendChild(t), e;\n};\neo.removeAllButtons = function() {\n for (; this.element.firstChild; )\n this.element.removeChild(this.element.firstChild);\n this.hasLogo = !1;\n};\neo.destroy = function() {\n vo.removeElement(this.container.querySelector(\".modebar\")), vo.deleteRelatedStyleRule(this._uid);\n};\nfunction TJ(e, t) {\n var r = e._fullLayout, n = new UD({\n graphInfo: e,\n container: r._modebardiv.node(),\n buttons: t\n });\n return r._privateplot && Vb.select(n.element).append(\"span\").classed(\"badge-private float--left\", !0).text(\"PRIVATE\"), n;\n}\nvar kJ = TJ, AJ = gn, Gk = Ya, Iy = Nt, MJ = Do.isUnifiedHover, SJ = kJ, kv = zD, CJ = HD.DRAW_MODES, LJ = Ue.extendDeep, DJ = function(t) {\n var r = t._fullLayout, n = t._context, a = r._modeBar;\n if (!n.displayModeBar && !n.watermark) {\n a && (a.destroy(), delete r._modeBar);\n return;\n }\n if (!Array.isArray(n.modeBarButtonsToRemove))\n throw new Error([\n \"*modeBarButtonsToRemove* configuration options\",\n \"must be an array.\"\n ].join(\" \"));\n if (!Array.isArray(n.modeBarButtonsToAdd))\n throw new Error([\n \"*modeBarButtonsToAdd* configuration options\",\n \"must be an array.\"\n ].join(\" \"));\n var i = n.modeBarButtons, o;\n Array.isArray(i) && i.length ? o = zJ(i) : !n.displayModeBar && n.watermark ? o = [] : o = EJ(t), a ? a.update(t, o) : r._modeBar = SJ(t, o);\n};\nfunction EJ(e) {\n var t = e._fullLayout, r = e._fullData, n = e._context;\n function a(P, R) {\n if (typeof R == \"string\") {\n if (R.toLowerCase() === P.toLowerCase()) return !0;\n } else {\n var H = R.name, B = R._cat || R.name;\n if (H === P || B === P.toLowerCase()) return !0;\n }\n return !1;\n }\n var i = t.modebar.add;\n typeof i == \"string\" && (i = [i]);\n var o = t.modebar.remove;\n typeof o == \"string\" && (o = [o]);\n var l = n.modeBarButtonsToAdd.concat(\n i.filter(function(P) {\n for (var R = 0; R < n.modeBarButtonsToRemove.length; R++)\n if (a(P, n.modeBarButtonsToRemove[R])) return !1;\n return !0;\n })\n ), s = n.modeBarButtonsToRemove.concat(\n o.filter(function(P) {\n for (var R = 0; R < n.modeBarButtonsToAdd.length; R++)\n if (a(P, n.modeBarButtonsToAdd[R])) return !1;\n return !0;\n })\n ), u = t._has(\"cartesian\"), f = t._has(\"gl3d\"), d = t._has(\"geo\"), h = t._has(\"pie\"), p = t._has(\"funnelarea\"), v = t._has(\"gl2d\"), m = t._has(\"ternary\"), g = t._has(\"mapbox\"), y = t._has(\"polar\"), w = t._has(\"smith\"), k = t._has(\"sankey\"), x = FJ(t), _ = MJ(t.hovermode), T = [];\n function S(P) {\n if (P.length) {\n for (var R = [], H = 0; H < P.length; H++) {\n for (var B = P[H], W = kv[B], ee = W.name.toLowerCase(), re = (W._cat || W.name).toLowerCase(), ae = !1, Q = 0; Q < s.length; Q++) {\n var ue = s[Q].toLowerCase();\n if (ue === ee || ue === re) {\n ae = !0;\n break;\n }\n }\n ae || R.push(kv[B]);\n }\n T.push(R);\n }\n }\n var M = [\"toImage\"];\n n.showEditInChartStudio ? M.push(\"editInChartStudio\") : n.showSendToCloud && M.push(\"sendDataToCloud\"), S(M);\n var L = [], F = [], $ = [], I = [];\n (u || v || h || p || m) + d + f + g + y + w > 1 ? (F = [\"toggleHover\"], $ = [\"resetViews\"]) : d ? (L = [\"zoomInGeo\", \"zoomOutGeo\"], F = [\"hoverClosestGeo\"], $ = [\"resetGeo\"]) : f ? (F = [\"hoverClosest3d\"], $ = [\"resetCameraDefault3d\", \"resetCameraLastSave3d\"]) : g ? (L = [\"zoomInMapbox\", \"zoomOutMapbox\"], F = [\"toggleHover\"], $ = [\"resetViewMapbox\"]) : v ? F = [\"hoverClosestGl2d\"] : h ? F = [\"hoverClosestPie\"] : k ? (F = [\"hoverClosestCartesian\", \"hoverCompareCartesian\"], $ = [\"resetViewSankey\"]) : F = [\"toggleHover\"], u && (F = [\"toggleSpikelines\", \"hoverClosestCartesian\", \"hoverCompareCartesian\"]), (PJ(r) || _) && (F = []), (u || v) && !x && (L = [\"zoomIn2d\", \"zoomOut2d\", \"autoScale2d\"], $[0] !== \"resetViews\" && ($ = [\"resetScale2d\"])), f ? I = [\"zoom3d\", \"pan3d\", \"orbitRotation\", \"tableRotation\"] : (u || v) && !x || m ? I = [\"zoom2d\", \"pan2d\"] : g || d ? I = [\"pan2d\"] : y && (I = [\"zoom2d\"]), RJ(r) && I.push(\"select2d\", \"lasso2d\");\n var O = [], G = function(P) {\n O.indexOf(P) === -1 && F.indexOf(P) !== -1 && O.push(P);\n };\n if (Array.isArray(l)) {\n for (var K = [], V = 0; V < l.length; V++) {\n var z = l[V];\n typeof z == \"string\" ? (z = z.toLowerCase(), CJ.indexOf(z) !== -1 ? (t._has(\"mapbox\") || // draw shapes in paper coordinate (could be improved in future to support data coordinate, when there is no pitch)\n t._has(\"cartesian\")) && I.push(z) : z === \"togglespikelines\" ? G(\"toggleSpikelines\") : z === \"togglehover\" ? G(\"toggleHover\") : z === \"hovercompare\" ? G(\"hoverCompareCartesian\") : z === \"hoverclosest\" ? (G(\"hoverClosestCartesian\"), G(\"hoverClosestGeo\"), G(\"hoverClosest3d\"), G(\"hoverClosestGl2d\"), G(\"hoverClosestPie\")) : z === \"v1hovermode\" && (G(\"toggleHover\"), G(\"hoverClosestCartesian\"), G(\"hoverCompareCartesian\"), G(\"hoverClosestGeo\"), G(\"hoverClosest3d\"), G(\"hoverClosestGl2d\"), G(\"hoverClosestPie\"))) : K.push(z);\n }\n l = K;\n }\n return S(I), S(L.concat($)), S(O), $J(T, l);\n}\nfunction FJ(e) {\n for (var t = AJ.list({ _fullLayout: e }, null, !0), r = 0; r < t.length; r++)\n if (!t[r].fixedrange)\n return !1;\n return !0;\n}\nfunction RJ(e) {\n for (var t = !1, r = 0; r < e.length && !t; r++) {\n var n = e[r];\n !n._module || !n._module.selectPoints || (Iy.traceIs(n, \"scatter-like\") ? (Gk.hasMarkers(n) || Gk.hasText(n)) && (t = !0) : Iy.traceIs(n, \"box-violin\") ? (n.boxpoints === \"all\" || n.points === \"all\") && (t = !0) : t = !0);\n }\n return t;\n}\nfunction PJ(e) {\n for (var t = 0; t < e.length; t++)\n if (!Iy.traceIs(e[t], \"noHover\")) return !1;\n return !0;\n}\nfunction $J(e, t) {\n if (t.length)\n if (Array.isArray(t[0]))\n for (var r = 0; r < t.length; r++)\n e.push(t[r]);\n else e.push(t);\n return e;\n}\nfunction zJ(e) {\n for (var t = LJ([], e), r = 0; r < t.length; r++)\n for (var n = t[r], a = 0; a < n.length; a++) {\n var i = n[a];\n if (typeof i == \"string\")\n if (kv[i] !== void 0)\n t[r][a] = kv[i];\n else\n throw new Error([\n \"*modeBarButtons* configuration options\",\n \"invalid button name\"\n ].join(\" \"));\n }\n return t;\n}\nvar GD = {\n moduleType: \"component\",\n name: \"modebar\",\n layoutAttributes: BD,\n supplyLayoutDefaults: yJ,\n manage: DJ\n}, wl = {}, IJ = On.FROM_BL, VD = function(t, r, n) {\n n === void 0 && (n = IJ[t.constraintoward || \"center\"]);\n var a = [t.r2l(t.range[0]), t.r2l(t.range[1])], i = a[0] + (a[1] - a[0]) * n;\n t.range = t._input.range = [\n t.l2r(i + (a[0] - i) * r),\n t.l2r(i + (a[1] - i) * r)\n ], t.setScale();\n}, zl = Ue, Eg = Lp, li = gn.id2name, NJ = Ki, Vk = VD, OJ = yb, HJ = Qr.ALMOST_EQUAL, BJ = On.FROM_BL;\nwl.handleDefaults = function(e, t, r) {\n var n = r.axIds, a = r.axHasImage, i = t._axisConstraintGroups = [], o = t._axisMatchGroups = [], l, s, u, f, d, h, p, v;\n for (l = 0; l < n.length; l++)\n f = li(n[l]), d = e[f], h = t[f], jJ(d, h, {\n axIds: n,\n layoutOut: t,\n hasImage: a[f]\n });\n function m(M, L) {\n for (l = 0; l < M.length; l++) {\n s = M[l];\n for (u in s)\n t[li(u)][L] = s;\n }\n }\n for (m(o, \"_matchGroup\"), l = 0; l < i.length; l++) {\n s = i[l];\n for (u in s)\n if (h = t[li(u)], h.fixedrange) {\n for (var g in s) {\n var y = li(g);\n (e[y] || {}).fixedrange === !1 && zl.warn(\n \"fixedrange was specified as false for axis \" + y + \" but was overridden because another axis in its constraint group has fixedrange true\"\n ), t[y].fixedrange = !0;\n }\n break;\n }\n }\n for (l = 0; l < i.length; ) {\n s = i[l];\n for (u in s) {\n h = t[li(u)], h._matchGroup && Object.keys(h._matchGroup).length === Object.keys(s).length && (i.splice(l, 1), l--);\n break;\n }\n l++;\n }\n m(i, \"_constraintGroup\");\n var w = [\n \"constrain\",\n \"range\",\n \"autorange\",\n \"rangemode\",\n \"rangebreaks\",\n \"categoryorder\",\n \"categoryarray\"\n ], k = !1, x = !1;\n function _() {\n v = h[p], p === \"rangebreaks\" && (x = h._hasDayOfWeekBreaks);\n }\n for (l = 0; l < o.length; l++) {\n s = o[l];\n for (var T = 0; T < w.length; T++) {\n p = w[T], v = null;\n var S;\n for (u in s)\n if (f = li(u), d = e[f], h = t[f], p in h) {\n if (!h.matches && (S = h, p in d)) {\n _();\n break;\n }\n v === null && p in d && _();\n }\n if (p === \"range\" && v && d.range && d.range.length === 2 && d.range[0] !== null && d.range[1] !== null && (k = !0), p === \"autorange\" && v === null && k && (v = !1), v === null && p in S && (v = S[p]), v !== null)\n for (u in s)\n h = t[li(u)], h[p] = p === \"range\" ? v.slice() : v, p === \"rangebreaks\" && (h._hasDayOfWeekBreaks = x, OJ(h, t));\n }\n }\n};\nfunction jJ(e, t, r) {\n var n = r.axIds, a = r.layoutOut, i = r.hasImage, o = a._axisConstraintGroups, l = a._axisMatchGroups, s = t._id, u = s.charAt(0), f = ((a._splomAxes || {})[u] || {})[s] || {}, d = t._id, h = d.charAt(0) === \"x\";\n t._matchGroup = null, t._constraintGroup = null;\n function p(I, O) {\n return zl.coerce(e, t, NJ, I, O);\n }\n p(\"constrain\", i ? \"domain\" : \"range\"), zl.coerce(e, t, {\n constraintoward: {\n valType: \"enumerated\",\n values: h ? [\"left\", \"center\", \"right\"] : [\"bottom\", \"middle\", \"top\"],\n dflt: h ? \"center\" : \"middle\"\n }\n }, \"constraintoward\");\n var v = t.type, m, g, y = [];\n for (m = 0; m < n.length; m++)\n if (g = n[m], g !== d) {\n var w = a[li(g)];\n w.type === v && y.push(g);\n }\n var k = qD(o, d);\n if (k) {\n var x = [];\n for (m = 0; m < y.length; m++)\n g = y[m], k[g] || x.push(g);\n y = x;\n }\n var _ = y.length, T, S;\n _ && (e.matches || f.matches) && (T = zl.coerce(e, t, {\n matches: {\n valType: \"enumerated\",\n values: y,\n dflt: y.indexOf(f.matches) !== -1 ? f.matches : void 0\n }\n }, \"matches\"));\n var M = i && !h ? t.anchor : void 0;\n if (_ && !T && (e.scaleanchor || M) && (S = zl.coerce(e, t, {\n scaleanchor: {\n valType: \"enumerated\",\n values: y.concat([!1])\n }\n }, \"scaleanchor\", M)), T) {\n t._matchGroup = Fg(l, d, T, 1);\n var L = a[li(T)], F = qk(a, t) / qk(a, L);\n h !== (T.charAt(0) === \"x\") && (F = (h ? \"x\" : \"y\") + F), Fg(o, d, T, F);\n } else e.matches && n.indexOf(e.matches) !== -1 && zl.warn(\"ignored \" + t._name + '.matches: \"' + e.matches + '\" to avoid an infinite loop');\n if (S) {\n var $ = p(\"scaleratio\");\n $ || ($ = t.scaleratio = 1), Fg(o, d, S, $);\n } else e.scaleanchor && n.indexOf(e.scaleanchor) !== -1 && zl.warn(\"ignored \" + t._name + '.scaleanchor: \"' + e.scaleanchor + '\" to avoid either an infinite loop and possibly inconsistent scaleratios, or because this axis declares a *matches* constraint.');\n}\nfunction qk(e, t) {\n var r = t.domain;\n return r || (r = e[li(t.overlaying)].domain), r[1] - r[0];\n}\nfunction qD(e, t) {\n for (var r = 0; r < e.length; r++)\n if (e[r][t])\n return e[r];\n return null;\n}\nfunction Fg(e, t, r, n) {\n var a, i, o, l, s, u = qD(e, t);\n u === null ? (u = {}, u[t] = 1, s = e.length, e.push(u)) : s = e.indexOf(u);\n var f = Object.keys(u);\n for (a = 0; a < e.length; a++)\n if (o = e[a], a !== s && o[r]) {\n var d = o[r];\n for (i = 0; i < f.length; i++)\n l = f[i], o[l] = Rg(d, Rg(n, u[l]));\n e.splice(s, 1);\n return;\n }\n if (n !== 1)\n for (i = 0; i < f.length; i++) {\n var h = f[i];\n u[h] = Rg(n, u[h]);\n }\n u[r] = 1;\n}\nfunction Rg(e, t) {\n var r = \"\", n = \"\", a, i;\n typeof e == \"string\" && (r = e.match(/^[xy]*/)[0], a = r.length, e = +e.substr(a)), typeof t == \"string\" && (n = t.match(/^[xy]*/)[0], i = n.length, t = +t.substr(i));\n var o = e * t;\n return !a && !i ? o : !a || !i || r.charAt(0) === n.charAt(0) ? r + n + e * t : a === i ? o : (a > i ? r.substr(i) : n.substr(a)) + o;\n}\nfunction UJ(e, t) {\n for (var r = t._size, n = r.h / r.w, a = {}, i = Object.keys(e), o = 0; o < i.length; o++) {\n var l = i[o], s = e[l];\n if (typeof s == \"string\") {\n var u = s.match(/^[xy]*/)[0], f = u.length;\n s = +s.substr(f);\n for (var d = u.charAt(0) === \"y\" ? n : 1 / n, h = 0; h < f; h++)\n s *= d;\n }\n a[l] = s;\n }\n return a;\n}\nwl.enforce = function(t) {\n var r = t._fullLayout, n = r._axisConstraintGroups || [], a, i, o, l, s, u, f, d;\n for (a = 0; a < n.length; a++) {\n o = UJ(n[a], r);\n var h = Object.keys(o), p = 1 / 0, v = 0, m = 1 / 0, g = {}, y = {}, w = !1;\n for (i = 0; i < h.length; i++)\n l = h[i], y[l] = s = r[li(l)], s._inputDomain ? s.domain = s._inputDomain.slice() : s._inputDomain = s.domain.slice(), s._inputRange || (s._inputRange = s.range.slice()), s.setScale(), g[l] = u = Math.abs(s._m) / o[l], p = Math.min(p, u), (s.constrain === \"domain\" || !s._constraintShrinkable) && (m = Math.min(m, u)), delete s._constraintShrinkable, v = Math.max(v, u), s.constrain === \"domain\" && (w = !0);\n if (!(p > HJ * v && !w)) {\n for (i = 0; i < h.length; i++)\n if (l = h[i], u = g[l], s = y[l], f = s.constrain, u !== m || f === \"domain\")\n if (d = u / m, f === \"range\")\n Vk(s, d);\n else {\n var k = s._inputDomain, x = (s.domain[1] - s.domain[0]) / (k[1] - k[0]), _ = (s.r2l(s.range[1]) - s.r2l(s.range[0])) / (s.r2l(s._inputRange[1]) - s.r2l(s._inputRange[0]));\n if (d /= x, d * _ < 1) {\n s.domain = s._input.domain = k.slice(), Vk(s, d);\n continue;\n }\n if (_ < 1 && (s.range = s._input.range = s._inputRange.slice(), d *= _), s.autorange) {\n var T = s.r2l(s.range[0]), S = s.r2l(s.range[1]), M = (T + S) / 2, L = M, F = M, $ = Math.abs(S - M), I = M - $ * d * 1.0001, O = M + $ * d * 1.0001, G = Eg.makePadFn(r, s, 0), K = Eg.makePadFn(r, s, 1);\n Wk(s, d);\n var V = Math.abs(s._m), z = Eg.concatExtremes(t, s), P = z.min, R = z.max, H, B;\n for (B = 0; B < P.length; B++)\n H = P[B].val - G(P[B]) / V, H > I && H < L && (L = H);\n for (B = 0; B < R.length; B++)\n H = R[B].val + K(R[B]) / V, H < O && H > F && (F = H);\n var W = (F - L) / (2 * $);\n d /= W, L = s.l2r(L), F = s.l2r(F), s.range = s._input.range = T < S ? [L, F] : [F, L];\n }\n Wk(s, d);\n }\n }\n }\n};\nwl.getAxisGroup = function(t, r) {\n for (var n = t._axisMatchGroups, a = 0; a < n.length; a++) {\n var i = n[a];\n if (i[r]) return \"g\" + a;\n }\n return r;\n};\nwl.clean = function(t, r) {\n if (r._inputDomain) {\n for (var n = !1, a = r._id, i = t._fullLayout._axisConstraintGroups, o = 0; o < i.length; o++)\n if (i[o][a]) {\n n = !0;\n break;\n }\n (!n || r.constrain !== \"domain\") && (r._input.domain = r.domain = r._inputDomain, delete r._inputDomain);\n }\n};\nfunction Wk(e, t) {\n var r = e._inputDomain, n = BJ[e.constraintoward], a = r[0] + (r[1] - r[0]) * n;\n e.domain = e._input.domain = [\n a + (r[0] - a) / t,\n a + (r[1] - a) / t\n ], e.setScale();\n}\n(function(e) {\n var t = lr, r = Nt, n = Tn, a = Ue, i = Rn, o = Eb, l = nr, s = Sr, u = Cp, f = GD, d = Cr, h = On, p = wl, v = p.enforce, m = p.clean, g = Lp.doAutoRange, y = \"start\", w = \"middle\", k = \"end\";\n e.layoutStyles = function(P) {\n return a.syncOrAsync([n.doAutoMargin, _], P);\n };\n function x(P, R, H) {\n for (var B = 0; B < H.length; B++) {\n var W = H[B][0], ee = H[B][1];\n if (!(W[0] >= P[1] || W[1] <= P[0]) && ee[0] < R[1] && ee[1] > R[0])\n return !0;\n }\n return !1;\n }\n function _(P) {\n var R = P._fullLayout, H = R._size, B = H.p, W = d.list(P, \"\", !0), ee, re, ae, Q, ue, j;\n if (R._paperdiv.style({\n width: P._context.responsive && R.autosize && !P._context._hasZeroWidth && !P.layout.width ? \"100%\" : R.width + \"px\",\n height: P._context.responsive && R.autosize && !P._context._hasZeroHeight && !P.layout.height ? \"100%\" : R.height + \"px\"\n }).selectAll(\".main-svg\").call(s.setSize, R.width, R.height), P._context.setBackground(P, R.paper_bgcolor), e.drawMainTitle(P), f.manage(P), !R._has(\"cartesian\"))\n return n.previousPromises(P);\n function U(st, rt, ct) {\n var X = st._lw / 2;\n if (st._id.charAt(0) === \"x\") {\n if (rt) {\n if (ct === \"top\") return rt._offset - B - X;\n } else return H.t + H.h * (1 - (st.position || 0)) + X % 1;\n return rt._offset + rt._length + B + X;\n }\n if (rt) {\n if (ct === \"right\") return rt._offset + rt._length + B + X;\n } else return H.l + H.w * (st.position || 0) + X % 1;\n return rt._offset - B - X;\n }\n for (ee = 0; ee < W.length; ee++) {\n Q = W[ee];\n var Z = Q._anchorAxis;\n Q._linepositions = {}, Q._lw = s.crispRound(P, Q.linewidth, 1), Q._mainLinePosition = U(Q, Z, Q.side), Q._mainMirrorPosition = Q.mirror && Z ? U(\n Q,\n Z,\n h.OPPOSITE_SIDE[Q.side]\n ) : null;\n }\n var le = [], J = [], pe = [], ge = l.opacity(R.paper_bgcolor) === 1 && l.opacity(R.plot_bgcolor) === 1 && R.paper_bgcolor === R.plot_bgcolor;\n for (re in R._plots)\n if (ae = R._plots[re], ae.mainplot)\n ae.bg && ae.bg.remove(), ae.bg = void 0;\n else {\n var ve = ae.xaxis.domain, me = ae.yaxis.domain, Le = ae.plotgroup;\n if (x(ve, me, pe)) {\n var ze = Le.node(), Fe = ae.bg = a.ensureSingle(Le, \"rect\", \"bg\");\n ze.insertBefore(Fe.node(), ze.childNodes[0]), J.push(re);\n } else\n Le.select(\"rect.bg\").remove(), pe.push([ve, me]), ge || (le.push(re), J.push(re));\n }\n var Oe = R._bgLayer.selectAll(\".bg\").data(le);\n for (Oe.enter().append(\"rect\").classed(\"bg\", !0), Oe.exit().remove(), Oe.each(function(st) {\n R._plots[st].bg = t.select(this);\n }), ee = 0; ee < J.length; ee++)\n ae = R._plots[J[ee]], ue = ae.xaxis, j = ae.yaxis, ae.bg && ue._offset !== void 0 && j._offset !== void 0 && ae.bg.call(\n s.setRect,\n ue._offset - B,\n j._offset - B,\n ue._length + 2 * B,\n j._length + 2 * B\n ).call(l.fill, R.plot_bgcolor).style(\"stroke-width\", 0);\n if (!R._hasOnlyLargeSploms)\n for (re in R._plots) {\n ae = R._plots[re], ue = ae.xaxis, j = ae.yaxis;\n var Re = ae.clipId = \"clip\" + R._uid + re + \"plot\", We = a.ensureSingleById(R._clips, \"clipPath\", Re, function(st) {\n st.classed(\"plotclip\", !0).append(\"rect\");\n });\n ae.clipRect = We.select(\"rect\").attr({\n width: ue._length,\n height: j._length\n }), s.setTranslate(ae.plot, ue._offset, j._offset);\n var Me, Ve;\n ae._hasClipOnAxisFalse ? (Me = null, Ve = Re) : (Me = Re, Ve = null), s.setClipUrl(ae.plot, Me, P), ae.layerClipId = Ve;\n }\n var qe, Qe, ot, ht, vt, nt, ft, Pe, Ie, Ne, tt, Je, it;\n function at(st) {\n return \"M\" + qe + \",\" + st + \"H\" + Qe;\n }\n function Tt(st) {\n return \"M\" + ue._offset + \",\" + st + \"h\" + ue._length;\n }\n function gt(st) {\n return \"M\" + st + \",\" + Pe + \"V\" + ft;\n }\n function He(st) {\n return j._shift !== void 0 && (st += j._shift), \"M\" + st + \",\" + j._offset + \"v\" + j._length;\n }\n function pt(st, rt, ct) {\n if (!st.showline || re !== st._mainSubplot) return \"\";\n if (!st._anchorAxis) return ct(st._mainLinePosition);\n var X = rt(st._mainLinePosition);\n return st.mirror && (X += rt(st._mainMirrorPosition)), X;\n }\n for (re in R._plots) {\n ae = R._plots[re], ue = ae.xaxis, j = ae.yaxis;\n var bt = \"M0,0\";\n T(ue, re) && (vt = M(ue, \"left\", j, W), qe = ue._offset - (vt ? B + vt : 0), nt = M(ue, \"right\", j, W), Qe = ue._offset + ue._length + (nt ? B + nt : 0), ot = U(ue, j, \"bottom\"), ht = U(ue, j, \"top\"), it = !ue._anchorAxis || re !== ue._mainSubplot, it && (ue.mirror === \"allticks\" || ue.mirror === \"all\") && (ue._linepositions[re] = [ot, ht]), bt = pt(ue, at, Tt), it && ue.showline && (ue.mirror === \"all\" || ue.mirror === \"allticks\") && (bt += at(ot) + at(ht)), ae.xlines.style(\"stroke-width\", ue._lw + \"px\").call(l.stroke, ue.showline ? ue.linecolor : \"rgba(0,0,0,0)\")), ae.xlines.attr(\"d\", bt);\n var Ke = \"M0,0\";\n T(j, re) && (tt = M(j, \"bottom\", ue, W), ft = j._offset + j._length + (tt ? B : 0), Je = M(j, \"top\", ue, W), Pe = j._offset - (Je ? B : 0), Ie = U(j, ue, \"left\"), Ne = U(j, ue, \"right\"), it = !j._anchorAxis || re !== j._mainSubplot, it && (j.mirror === \"allticks\" || j.mirror === \"all\") && (j._linepositions[re] = [Ie, Ne]), Ke = pt(j, gt, He), it && j.showline && (j.mirror === \"all\" || j.mirror === \"allticks\") && (Ke += gt(Ie) + gt(Ne)), ae.ylines.style(\"stroke-width\", j._lw + \"px\").call(l.stroke, j.showline ? j.linecolor : \"rgba(0,0,0,0)\")), ae.ylines.attr(\"d\", Ke);\n }\n return d.makeClipPaths(P), n.previousPromises(P);\n }\n function T(P, R) {\n return (P.ticks || P.showline) && (R === P._mainSubplot || P.mirror === \"all\" || P.mirror === \"allticks\");\n }\n function S(P, R, H) {\n if (!H.showline || !H._lw) return !1;\n if (H.mirror === \"all\" || H.mirror === \"allticks\") return !0;\n var B = H._anchorAxis;\n if (!B) return !1;\n var W = h.FROM_BL[R];\n return H.side === R ? B.domain[W] === P.domain[W] : H.mirror && B.domain[1 - W] === P.domain[1 - W];\n }\n function M(P, R, H, B) {\n if (S(P, R, H))\n return H._lw;\n for (var W = 0; W < B.length; W++) {\n var ee = B[W];\n if (ee._mainAxis === H._mainAxis && S(P, R, ee))\n return ee._lw;\n }\n return 0;\n }\n e.drawMainTitle = function(P) {\n var R = P._fullLayout.title, H = P._fullLayout, B = V(H), W = z(H), ee = G(H, W), re = O(H, B);\n if (u.draw(P, \"gtitle\", {\n propContainer: H,\n propName: \"title.text\",\n placeholder: H._dfltTitle.plot,\n attributes: {\n x: re,\n y: ee,\n \"text-anchor\": B,\n dy: W\n }\n }), R.text && R.automargin) {\n var ae = t.selectAll(\".gtitle\"), Q = s.bBox(ae.node()).height, ue = $(P, R, Q);\n if (ue > 0) {\n I(P, ee, ue, Q), ae.attr({\n x: re,\n y: ee,\n \"text-anchor\": B,\n dy: K(R.yanchor)\n }).call(i.positionText, re, ee);\n var j = (R.text.match(i.BR_TAG_ALL) || []).length;\n if (j) {\n var U = h.LINE_SPACING * j + h.MID_SHIFT;\n R.y === 0 && (U = -U), ae.selectAll(\".line\").each(function() {\n var Z = +this.getAttribute(\"dy\").slice(0, -2) - U + \"em\";\n this.setAttribute(\"dy\", Z);\n });\n }\n }\n }\n };\n function L(P, R, H, B, W) {\n var ee = R.yref === \"paper\" ? P._fullLayout._size.h : P._fullLayout.height, re = a.isTopAnchor(R) ? B : B - W, ae = H === \"b\" ? ee - re : re;\n return a.isTopAnchor(R) && H === \"t\" || a.isBottomAnchor(R) && H === \"b\" ? !1 : ae < W;\n }\n function F(P, R, H, B, W) {\n var ee = 0;\n return H === \"middle\" && (ee += W / 2), P === \"t\" ? (H === \"top\" && (ee += W), ee += B - R * B) : (H === \"bottom\" && (ee += W), ee += R * B), ee;\n }\n function $(P, R, H) {\n var B = R.y, W = R.yanchor, ee = B > 0.5 ? \"t\" : \"b\", re = P._fullLayout.margin[ee], ae = 0;\n return R.yref === \"paper\" ? ae = H + R.pad.t + R.pad.b : R.yref === \"container\" && (ae = F(ee, B, W, P._fullLayout.height, H) + R.pad.t + R.pad.b), ae > re ? ae : 0;\n }\n function I(P, R, H, B) {\n var W = \"title.automargin\", ee = P._fullLayout.title, re = ee.y > 0.5 ? \"t\" : \"b\", ae = {\n x: ee.x,\n y: ee.y,\n t: 0,\n b: 0\n }, Q = {};\n ee.yref === \"paper\" && L(P, ee, re, R, B) ? ae[re] = H : ee.yref === \"container\" && (Q[re] = H, P._fullLayout._reservedMargin[W] = Q), n.allowAutoMargin(P, W), n.autoMargin(P, W, ae);\n }\n function O(P, R) {\n var H = P.title, B = P._size, W = 0;\n switch (R === y ? W = H.pad.l : R === k && (W = -H.pad.r), H.xref) {\n case \"paper\":\n return B.l + B.w * H.x + W;\n case \"container\":\n default:\n return P.width * H.x + W;\n }\n }\n function G(P, R) {\n var H = P.title, B = P._size, W = 0;\n if (R === \"0em\" || !R ? W = -H.pad.b : R === h.CAP_SHIFT + \"em\" && (W = H.pad.t), H.y === \"auto\")\n return B.t / 2;\n switch (H.yref) {\n case \"paper\":\n return B.t + B.h - B.h * H.y + W;\n case \"container\":\n default:\n return P.height - P.height * H.y + W;\n }\n }\n function K(P) {\n return P === \"top\" ? h.CAP_SHIFT + 0.3 + \"em\" : P === \"bottom\" ? \"-0.3em\" : h.MID_SHIFT + \"em\";\n }\n function V(P) {\n var R = P.title, H = w;\n return a.isRightAnchor(R) ? H = k : a.isLeftAnchor(R) && (H = y), H;\n }\n function z(P) {\n var R = P.title, H = \"0em\";\n return a.isTopAnchor(R) ? H = h.CAP_SHIFT + \"em\" : a.isMiddleAnchor(R) && (H = h.MID_SHIFT + \"em\"), H;\n }\n e.doTraceStyle = function(P) {\n var R = P.calcdata, H = [], B;\n for (B = 0; B < R.length; B++) {\n var W = R[B], ee = W[0] || {}, re = ee.trace || {}, ae = re._module || {}, Q = ae.arraysToCalcdata;\n Q && Q(W, re);\n var ue = ae.editStyle;\n ue && H.push({ fn: ue, cd0: ee });\n }\n if (H.length) {\n for (B = 0; B < H.length; B++) {\n var j = H[B];\n j.fn(P, j.cd0);\n }\n o(P), e.redrawReglTraces(P);\n }\n return n.style(P), r.getComponentMethod(\"legend\", \"draw\")(P), n.previousPromises(P);\n }, e.doColorBars = function(P) {\n return r.getComponentMethod(\"colorbar\", \"draw\")(P), n.previousPromises(P);\n }, e.layoutReplot = function(P) {\n var R = P.layout;\n return P.layout = void 0, r.call(\"_doPlot\", P, \"\", R);\n }, e.doLegend = function(P) {\n return r.getComponentMethod(\"legend\", \"draw\")(P), n.previousPromises(P);\n }, e.doTicksRelayout = function(P) {\n return d.draw(P, \"redraw\"), P._fullLayout._hasOnlyLargeSploms && (r.subplotsRegistry.splom.updateGrid(P), o(P), e.redrawReglTraces(P)), e.drawMainTitle(P), n.previousPromises(P);\n }, e.doModeBar = function(P) {\n var R = P._fullLayout;\n f.manage(P);\n for (var H = 0; H < R._basePlotModules.length; H++) {\n var B = R._basePlotModules[H].updateFx;\n B && B(P);\n }\n return n.previousPromises(P);\n }, e.doCamera = function(P) {\n for (var R = P._fullLayout, H = R._subplots.gl3d, B = 0; B < H.length; B++) {\n var W = R[H[B]], ee = W._scene;\n ee.setViewport(W);\n }\n }, e.drawData = function(P) {\n var R = P._fullLayout;\n o(P);\n for (var H = R._basePlotModules, B = 0; B < H.length; B++)\n H[B].plot(P);\n return e.redrawReglTraces(P), n.style(P), r.getComponentMethod(\"selections\", \"draw\")(P), r.getComponentMethod(\"shapes\", \"draw\")(P), r.getComponentMethod(\"annotations\", \"draw\")(P), r.getComponentMethod(\"images\", \"draw\")(P), R._replotting = !1, n.previousPromises(P);\n }, e.redrawReglTraces = function(P) {\n var R = P._fullLayout;\n if (R._has(\"regl\")) {\n var H = P._fullData, B = [], W = [], ee, re;\n for (R._hasOnlyLargeSploms && R._splomGrid.draw(), ee = 0; ee < H.length; ee++) {\n var ae = H[ee];\n ae.visible === !0 && ae._length !== 0 && (ae.type === \"splom\" ? R._splomScenes[ae.uid].draw() : ae.type === \"scattergl\" ? a.pushUnique(B, ae.xaxis + ae.yaxis) : ae.type === \"scatterpolargl\" && a.pushUnique(W, ae.subplot));\n }\n for (ee = 0; ee < B.length; ee++)\n re = R._plots[B[ee]], re._scene && re._scene.draw();\n for (ee = 0; ee < W.length; ee++)\n re = R[W[ee]]._subplot, re._scene && re._scene.draw();\n }\n }, e.doAutoRangeAndConstraints = function(P) {\n for (var R = d.list(P, \"\", !0), H, B = {}, W = 0; W < R.length; W++)\n if (H = R[W], !B[H._id]) {\n B[H._id] = 1, m(P, H), g(P, H);\n var ee = H._matchGroup;\n if (ee)\n for (var re in ee) {\n var ae = d.getFromId(P, re);\n g(P, ae, H.range), B[re] = 1;\n }\n }\n v(P);\n }, e.finalDraw = function(P) {\n r.getComponentMethod(\"rangeslider\", \"draw\")(P), r.getComponentMethod(\"rangeselector\", \"draw\")(P);\n }, e.drawMarginPushers = function(P) {\n r.getComponentMethod(\"legend\", \"draw\")(P), r.getComponentMethod(\"rangeselector\", \"draw\")(P), r.getComponentMethod(\"sliders\", \"draw\")(P), r.getComponentMethod(\"updatemenus\", \"draw\")(P), r.getComponentMethod(\"colorbar\", \"draw\")(P);\n };\n})(zp);\nvar GJ = _l.readPaths, VJ = Nb, WD = _s.clearOutlineControllers, Pg = nr, ZD = Sr, qJ = Mr.arrayEditor, YD = xl, WJ = YD.getPathString, XD = {\n draw: jp,\n drawOne: KD,\n activateLastSelection: XJ\n};\nfunction jp(e) {\n var t = e._fullLayout;\n WD(e), t._selectionLayer.selectAll(\"path\").remove();\n for (var r in t._plots) {\n var n = t._plots[r].selectionLayer;\n n && n.selectAll(\"path\").remove();\n }\n for (var a = 0; a < t.selections.length; a++)\n KD(e, a);\n}\nfunction Up(e) {\n return e._context.editSelection;\n}\nfunction KD(e, t) {\n e._fullLayout._paperdiv.selectAll('.selectionlayer [data-index=\"' + t + '\"]').remove();\n var r = YD.makeSelectionsOptionsAndPlotinfo(e, t), n = r.options, a = r.plotinfo;\n if (!n._input) return;\n i(e._fullLayout._selectionLayer);\n function i(o) {\n var l = WJ(e, n), s = {\n \"data-index\": t,\n \"fill-rule\": \"evenodd\",\n d: l\n }, u = n.opacity, f = \"rgba(0,0,0,0)\", d = n.line.color || Pg.contrast(e._fullLayout.plot_bgcolor), h = n.line.width, p = n.line.dash;\n h || (h = 5, p = \"solid\");\n var v = Up(e) && e._fullLayout._activeSelectionIndex === t;\n v && (f = e._fullLayout.activeselection.fillcolor, u = e._fullLayout.activeselection.opacity);\n for (var m = [], g = 1; g >= 0; g--) {\n var y = o.append(\"path\").attr(s).style(\"opacity\", g ? 0.1 : u).call(Pg.stroke, d).call(Pg.fill, f).call(\n ZD.dashLine,\n g ? \"solid\" : p,\n g ? 4 + h : h\n );\n if (ZJ(y, e, n), v) {\n var w = qJ(e.layout, \"selections\", n);\n y.style({\n cursor: \"move\"\n });\n var k = {\n element: y.node(),\n plotinfo: a,\n gd: e,\n editHelpers: w,\n isActiveSelection: !0\n // i.e. to enable controllers\n }, x = GJ(l, e);\n VJ(x, y, k);\n } else\n y.style(\"pointer-events\", g ? \"all\" : \"none\");\n m[g] = y;\n }\n var _ = m[0], T = m[1];\n T.node().addEventListener(\"click\", function() {\n return YJ(e, _);\n });\n }\n}\nfunction ZJ(e, t, r) {\n var n = r.xref + r.yref;\n ZD.setClipUrl(\n e,\n \"clip\" + t._fullLayout._uid + n,\n t\n );\n}\nfunction YJ(e, t) {\n if (Up(e)) {\n var r = t.node(), n = +r.getAttribute(\"data-index\");\n if (n >= 0) {\n if (n === e._fullLayout._activeSelectionIndex) {\n Ny(e);\n return;\n }\n e._fullLayout._activeSelectionIndex = n, e._fullLayout._deactivateSelection = Ny, jp(e);\n }\n }\n}\nfunction XJ(e) {\n if (Up(e)) {\n var t = e._fullLayout.selections.length - 1;\n e._fullLayout._activeSelectionIndex = t, e._fullLayout._deactivateSelection = Ny, jp(e);\n }\n}\nfunction Ny(e) {\n if (Up(e)) {\n var t = e._fullLayout._activeSelectionIndex;\n t >= 0 && (WD(e), delete e._fullLayout._activeSelectionIndex, jp(e));\n }\n}\nfunction KJ() {\n var e, t = 0, r = !1;\n function n(a, i) {\n return e.list.push({\n type: a,\n data: i ? JSON.parse(JSON.stringify(i)) : void 0\n }), e;\n }\n return e = {\n list: [],\n segmentId: function() {\n return t++;\n },\n checkIntersection: function(a, i) {\n return n(\"check\", { seg1: a, seg2: i });\n },\n segmentChop: function(a, i) {\n return n(\"div_seg\", { seg: a, pt: i }), n(\"chop\", { seg: a, pt: i });\n },\n statusRemove: function(a) {\n return n(\"pop_seg\", { seg: a });\n },\n segmentUpdate: function(a) {\n return n(\"seg_update\", { seg: a });\n },\n segmentNew: function(a, i) {\n return n(\"new_seg\", { seg: a, primary: i });\n },\n segmentRemove: function(a) {\n return n(\"rem_seg\", { seg: a });\n },\n tempStatus: function(a, i, o) {\n return n(\"temp_status\", { seg: a, above: i, below: o });\n },\n rewind: function(a) {\n return n(\"rewind\", { seg: a });\n },\n status: function(a, i, o) {\n return n(\"status\", { seg: a, above: i, below: o });\n },\n vert: function(a) {\n return a === r ? e : (r = a, n(\"vert\", { x: a }));\n },\n log: function(a) {\n return typeof a != \"string\" && (a = JSON.stringify(a, !1, \" \")), n(\"log\", { txt: a });\n },\n reset: function() {\n return n(\"reset\");\n },\n selected: function(a) {\n return n(\"selected\", { segs: a });\n },\n chainStart: function(a) {\n return n(\"chain_start\", { seg: a });\n },\n chainRemoveHead: function(a, i) {\n return n(\"chain_rem_head\", { index: a, pt: i });\n },\n chainRemoveTail: function(a, i) {\n return n(\"chain_rem_tail\", { index: a, pt: i });\n },\n chainNew: function(a, i) {\n return n(\"chain_new\", { pt1: a, pt2: i });\n },\n chainMatch: function(a) {\n return n(\"chain_match\", { index: a });\n },\n chainClose: function(a) {\n return n(\"chain_close\", { index: a });\n },\n chainAddHead: function(a, i) {\n return n(\"chain_add_head\", { index: a, pt: i });\n },\n chainAddTail: function(a, i) {\n return n(\"chain_add_tail\", { index: a, pt: i });\n },\n chainConnect: function(a, i) {\n return n(\"chain_con\", { index1: a, index2: i });\n },\n chainReverse: function(a) {\n return n(\"chain_rev\", { index: a });\n },\n chainJoin: function(a, i) {\n return n(\"chain_join\", { index1: a, index2: i });\n },\n done: function() {\n return n(\"done\");\n }\n }, e;\n}\nvar JJ = KJ;\nfunction QJ(e) {\n typeof e != \"number\" && (e = 1e-10);\n var t = {\n epsilon: function(r) {\n return typeof r == \"number\" && (e = r), e;\n },\n pointAboveOrOnLine: function(r, n, a) {\n var i = n[0], o = n[1], l = a[0], s = a[1], u = r[0], f = r[1];\n return (l - i) * (f - o) - (s - o) * (u - i) >= -e;\n },\n pointBetween: function(r, n, a) {\n var i = r[1] - n[1], o = a[0] - n[0], l = r[0] - n[0], s = a[1] - n[1], u = l * o + i * s;\n if (u < e)\n return !1;\n var f = o * o + s * s;\n return !(u - f > -e);\n },\n pointsSameX: function(r, n) {\n return Math.abs(r[0] - n[0]) < e;\n },\n pointsSameY: function(r, n) {\n return Math.abs(r[1] - n[1]) < e;\n },\n pointsSame: function(r, n) {\n return t.pointsSameX(r, n) && t.pointsSameY(r, n);\n },\n pointsCompare: function(r, n) {\n return t.pointsSameX(r, n) ? t.pointsSameY(r, n) ? 0 : r[1] < n[1] ? -1 : 1 : r[0] < n[0] ? -1 : 1;\n },\n pointsCollinear: function(r, n, a) {\n var i = r[0] - n[0], o = r[1] - n[1], l = n[0] - a[0], s = n[1] - a[1];\n return Math.abs(i * s - l * o) < e;\n },\n linesIntersect: function(r, n, a, i) {\n var o = n[0] - r[0], l = n[1] - r[1], s = i[0] - a[0], u = i[1] - a[1], f = o * u - l * s;\n if (Math.abs(f) < e)\n return !1;\n var d = r[0] - a[0], h = r[1] - a[1], p = (s * h - u * d) / f, v = (o * h - l * d) / f, m = {\n alongA: 0,\n alongB: 0,\n pt: [\n r[0] + p * o,\n r[1] + p * l\n ]\n };\n return p <= -e ? m.alongA = -2 : p < e ? m.alongA = -1 : p - 1 <= -e ? m.alongA = 0 : p - 1 < e ? m.alongA = 1 : m.alongA = 2, v <= -e ? m.alongB = -2 : v < e ? m.alongB = -1 : v - 1 <= -e ? m.alongB = 0 : v - 1 < e ? m.alongB = 1 : m.alongB = 2, m;\n },\n pointInsideRegion: function(r, n) {\n for (var a = r[0], i = r[1], o = n[n.length - 1][0], l = n[n.length - 1][1], s = !1, u = 0; u < n.length; u++) {\n var f = n[u][0], d = n[u][1];\n d - i > e != l - i > e && (o - f) * (i - d) / (l - d) + f - a > e && (s = !s), o = f, l = d;\n }\n return s;\n }\n };\n return t;\n}\nvar eQ = QJ, tQ = {\n create: function() {\n var e = {\n root: { root: !0, next: null },\n exists: function(t) {\n return !(t === null || t === e.root);\n },\n isEmpty: function() {\n return e.root.next === null;\n },\n getHead: function() {\n return e.root.next;\n },\n insertBefore: function(t, r) {\n for (var n = e.root, a = e.root.next; a !== null; ) {\n if (r(a)) {\n t.prev = a.prev, t.next = a, a.prev.next = t, a.prev = t;\n return;\n }\n n = a, a = a.next;\n }\n n.next = t, t.prev = n, t.next = null;\n },\n findTransition: function(t) {\n for (var r = e.root, n = e.root.next; n !== null && !t(n); )\n r = n, n = n.next;\n return {\n before: r === e.root ? null : r,\n after: n,\n insert: function(a) {\n return a.prev = r, a.next = n, r.next = a, n !== null && (n.prev = a), a;\n }\n };\n }\n };\n return e;\n },\n node: function(e) {\n return e.prev = null, e.next = null, e.remove = function() {\n e.prev.next = e.next, e.next && (e.next.prev = e.prev), e.prev = null, e.next = null;\n }, e;\n }\n}, rQ = tQ, Ef = rQ;\nfunction nQ(e, t, r) {\n function n(v, m) {\n return {\n id: r ? r.segmentId() : -1,\n start: v,\n end: m,\n myFill: {\n above: null,\n // is there fill above us?\n below: null\n // is there fill below us?\n },\n otherFill: null\n };\n }\n function a(v, m, g) {\n return {\n id: r ? r.segmentId() : -1,\n start: v,\n end: m,\n myFill: {\n above: g.myFill.above,\n below: g.myFill.below\n },\n otherFill: null\n };\n }\n var i = Ef.create();\n function o(v, m, g, y, w, k) {\n var x = t.pointsCompare(m, w);\n return x !== 0 ? x : t.pointsSame(g, k) ? 0 : v !== y ? v ? 1 : -1 : t.pointAboveOrOnLine(\n g,\n y ? w : k,\n // order matters\n y ? k : w\n ) ? 1 : -1;\n }\n function l(v, m) {\n i.insertBefore(v, function(g) {\n var y = o(\n v.isStart,\n v.pt,\n m,\n g.isStart,\n g.pt,\n g.other.pt\n );\n return y < 0;\n });\n }\n function s(v, m) {\n var g = Ef.node({\n isStart: !0,\n pt: v.start,\n seg: v,\n primary: m,\n other: null,\n status: null\n });\n return l(g, v.end), g;\n }\n function u(v, m, g) {\n var y = Ef.node({\n isStart: !1,\n pt: m.end,\n seg: m,\n primary: g,\n other: v,\n status: null\n });\n v.other = y, l(y, v.pt);\n }\n function f(v, m) {\n var g = s(v, m);\n return u(g, v, m), g;\n }\n function d(v, m) {\n r && r.segmentChop(v.seg, m), v.other.remove(), v.seg.end = m, v.other.pt = m, l(v.other, v.pt);\n }\n function h(v, m) {\n var g = a(m, v.seg.end, v.seg);\n return d(v, m), f(g, v.primary);\n }\n function p(v, m) {\n var g = Ef.create();\n function y(G, K) {\n var V = G.seg.start, z = G.seg.end, P = K.seg.start, R = K.seg.end;\n return t.pointsCollinear(V, P, R) ? t.pointsCollinear(z, P, R) || t.pointAboveOrOnLine(z, P, R) ? 1 : -1 : t.pointAboveOrOnLine(V, P, R) ? 1 : -1;\n }\n function w(G) {\n return g.findTransition(function(K) {\n var V = y(G, K.ev);\n return V > 0;\n });\n }\n function k(G, K) {\n var V = G.seg, z = K.seg, P = V.start, R = V.end, H = z.start, B = z.end;\n r && r.checkIntersection(V, z);\n var W = t.linesIntersect(P, R, H, B);\n if (W === !1) {\n if (!t.pointsCollinear(P, R, H) || t.pointsSame(P, B) || t.pointsSame(R, H))\n return !1;\n var ee = t.pointsSame(P, H), re = t.pointsSame(R, B);\n if (ee && re)\n return K;\n var ae = !ee && t.pointBetween(P, H, B), Q = !re && t.pointBetween(R, H, B);\n if (ee)\n return Q ? h(K, R) : h(G, B), K;\n ae && (re || (Q ? h(K, R) : h(G, B)), h(K, P));\n } else\n W.alongA === 0 && (W.alongB === -1 ? h(G, H) : W.alongB === 0 ? h(G, W.pt) : W.alongB === 1 && h(G, B)), W.alongB === 0 && (W.alongA === -1 ? h(K, P) : W.alongA === 0 ? h(K, W.pt) : W.alongA === 1 && h(K, R));\n return !1;\n }\n for (var x = []; !i.isEmpty(); ) {\n var _ = i.getHead();\n if (r && r.vert(_.pt[0]), _.isStart) {\n let G = function() {\n if (S) {\n var K = k(_, S);\n if (K)\n return K;\n }\n return M ? k(_, M) : !1;\n };\n r && r.segmentNew(_.seg, _.primary);\n var T = w(_), S = T.before ? T.before.ev : null, M = T.after ? T.after.ev : null;\n r && r.tempStatus(\n _.seg,\n S ? S.seg : !1,\n M ? M.seg : !1\n );\n var L = G();\n if (L) {\n if (e) {\n var F;\n _.seg.myFill.below === null ? F = !0 : F = _.seg.myFill.above !== _.seg.myFill.below, F && (L.seg.myFill.above = !L.seg.myFill.above);\n } else\n L.seg.otherFill = _.seg.myFill;\n r && r.segmentUpdate(L.seg), _.other.remove(), _.remove();\n }\n if (i.getHead() !== _) {\n r && r.rewind(_.seg);\n continue;\n }\n if (e) {\n var F;\n _.seg.myFill.below === null ? F = !0 : F = _.seg.myFill.above !== _.seg.myFill.below, M ? _.seg.myFill.below = M.seg.myFill.above : _.seg.myFill.below = v, F ? _.seg.myFill.above = !_.seg.myFill.below : _.seg.myFill.above = _.seg.myFill.below;\n } else if (_.seg.otherFill === null) {\n var $;\n M ? _.primary === M.primary ? $ = M.seg.otherFill.above : $ = M.seg.myFill.above : $ = _.primary ? m : v, _.seg.otherFill = {\n above: $,\n below: $\n };\n }\n r && r.status(\n _.seg,\n S ? S.seg : !1,\n M ? M.seg : !1\n ), _.other.status = T.insert(Ef.node({ ev: _ }));\n } else {\n var I = _.status;\n if (I === null)\n throw new Error(\"PolyBool: Zero-length segment detected; your epsilon is probably too small or too large\");\n if (g.exists(I.prev) && g.exists(I.next) && k(I.prev.ev, I.next.ev), r && r.statusRemove(I.ev.seg), I.remove(), !_.primary) {\n var O = _.seg.myFill;\n _.seg.myFill = _.seg.otherFill, _.seg.otherFill = O;\n }\n x.push(_.seg);\n }\n i.getHead().remove();\n }\n return r && r.done(), x;\n }\n return e ? {\n addRegion: function(v) {\n for (var m, g = v[v.length - 1], y = 0; y < v.length; y++) {\n m = g, g = v[y];\n var w = t.pointsCompare(m, g);\n w !== 0 && f(\n n(\n w < 0 ? m : g,\n w < 0 ? g : m\n ),\n !0\n );\n }\n },\n calculate: function(v) {\n return p(v, !1);\n }\n } : {\n calculate: function(v, m, g, y) {\n return v.forEach(function(w) {\n f(a(w.start, w.end, w), !0);\n }), g.forEach(function(w) {\n f(a(w.start, w.end, w), !1);\n }), p(m, y);\n }\n };\n}\nvar aQ = nQ;\nfunction iQ(e, t, r) {\n var n = [], a = [];\n return e.forEach(function(i) {\n var o = i.start, l = i.end;\n if (t.pointsSame(o, l)) {\n console.warn(\"PolyBool: Warning: Zero-length segment detected; your epsilon is probably too small or too large\");\n return;\n }\n r && r.chainStart(i);\n var s = {\n index: 0,\n matches_head: !1,\n matches_pt1: !1\n }, u = {\n index: 0,\n matches_head: !1,\n matches_pt1: !1\n }, f = s;\n function d(I, O, G) {\n return f.index = I, f.matches_head = O, f.matches_pt1 = G, f === s ? (f = u, !1) : (f = null, !0);\n }\n for (var h = 0; h < n.length; h++) {\n var p = n[h], v = p[0];\n p[1];\n var m = p[p.length - 1];\n if (p[p.length - 2], t.pointsSame(v, o)) {\n if (d(h, !0, !0))\n break;\n } else if (t.pointsSame(v, l)) {\n if (d(h, !0, !1))\n break;\n } else if (t.pointsSame(m, o)) {\n if (d(h, !1, !0))\n break;\n } else if (t.pointsSame(m, l) && d(h, !1, !1))\n break;\n }\n if (f === s) {\n n.push([o, l]), r && r.chainNew(o, l);\n return;\n }\n if (f === u) {\n r && r.chainMatch(s.index);\n var g = s.index, y = s.matches_pt1 ? l : o, w = s.matches_head, p = n[g], k = w ? p[0] : p[p.length - 1], x = w ? p[1] : p[p.length - 2], _ = w ? p[p.length - 1] : p[0], T = w ? p[p.length - 2] : p[1];\n if (t.pointsCollinear(x, k, y) && (w ? (r && r.chainRemoveHead(s.index, y), p.shift()) : (r && r.chainRemoveTail(s.index, y), p.pop()), k = x), t.pointsSame(_, y)) {\n n.splice(g, 1), t.pointsCollinear(T, _, k) && (w ? (r && r.chainRemoveTail(s.index, k), p.pop()) : (r && r.chainRemoveHead(s.index, k), p.shift())), r && r.chainClose(s.index), a.push(p);\n return;\n }\n w ? (r && r.chainAddHead(s.index, y), p.unshift(y)) : (r && r.chainAddTail(s.index, y), p.push(y));\n return;\n }\n function S(I) {\n r && r.chainReverse(I), n[I].reverse();\n }\n function M(I, O) {\n var G = n[I], K = n[O], V = G[G.length - 1], z = G[G.length - 2], P = K[0], R = K[1];\n t.pointsCollinear(z, V, P) && (r && r.chainRemoveTail(I, V), G.pop(), V = z), t.pointsCollinear(V, P, R) && (r && r.chainRemoveHead(O, P), K.shift()), r && r.chainJoin(I, O), n[I] = G.concat(K), n.splice(O, 1);\n }\n var L = s.index, F = u.index;\n r && r.chainConnect(L, F);\n var $ = n[L].length < n[F].length;\n s.matches_head ? u.matches_head ? $ ? (S(L), M(L, F)) : (S(F), M(F, L)) : M(F, L) : u.matches_head ? M(L, F) : $ ? (S(L), M(F, L)) : (S(F), M(L, F));\n }), a;\n}\nvar oQ = iQ;\nfunction Ff(e, t, r) {\n var n = [];\n return e.forEach(function(a) {\n var i = (a.myFill.above ? 8 : 0) + (a.myFill.below ? 4 : 0) + (a.otherFill && a.otherFill.above ? 2 : 0) + (a.otherFill && a.otherFill.below ? 1 : 0);\n t[i] !== 0 && n.push({\n id: r ? r.segmentId() : -1,\n start: a.start,\n end: a.end,\n myFill: {\n above: t[i] === 1,\n // 1 if filled above\n below: t[i] === 2\n // 2 if filled below\n },\n otherFill: null\n });\n }), r && r.selected(n), n;\n}\nvar lQ = {\n union: function(e, t) {\n return Ff(e, [\n 0,\n 2,\n 1,\n 0,\n 2,\n 2,\n 0,\n 0,\n 1,\n 0,\n 1,\n 0,\n 0,\n 0,\n 0,\n 0\n ], t);\n },\n intersect: function(e, t) {\n return Ff(e, [\n 0,\n 0,\n 0,\n 0,\n 0,\n 2,\n 0,\n 2,\n 0,\n 0,\n 1,\n 1,\n 0,\n 2,\n 1,\n 0\n ], t);\n },\n difference: function(e, t) {\n return Ff(e, [\n 0,\n 0,\n 0,\n 0,\n 2,\n 0,\n 2,\n 0,\n 1,\n 1,\n 0,\n 0,\n 0,\n 1,\n 2,\n 0\n ], t);\n },\n differenceRev: function(e, t) {\n return Ff(e, [\n 0,\n 2,\n 1,\n 0,\n 0,\n 0,\n 1,\n 1,\n 0,\n 2,\n 0,\n 2,\n 0,\n 0,\n 0,\n 0\n ], t);\n },\n xor: function(e, t) {\n return Ff(e, [\n 0,\n 2,\n 1,\n 0,\n 2,\n 0,\n 0,\n 1,\n 1,\n 0,\n 0,\n 2,\n 0,\n 1,\n 2,\n 0\n ], t);\n }\n}, sQ = lQ, uQ = {\n // convert a GeoJSON object to a PolyBool polygon\n toPolygon: function(e, t) {\n function r(i) {\n if (i.length <= 0)\n return e.segments({ inverted: !1, regions: [] });\n function o(u) {\n var f = u.slice(0, u.length - 1);\n return e.segments({ inverted: !1, regions: [f] });\n }\n for (var l = o(i[0]), s = 1; s < i.length; s++)\n l = e.selectDifference(e.combine(l, o(i[s])));\n return l;\n }\n if (t.type === \"Polygon\")\n return e.polygon(r(t.coordinates));\n if (t.type === \"MultiPolygon\") {\n for (var n = e.segments({ inverted: !1, regions: [] }), a = 0; a < t.coordinates.length; a++)\n n = e.selectUnion(e.combine(n, r(t.coordinates[a])));\n return e.polygon(n);\n }\n throw new Error(\"PolyBool: Cannot convert GeoJSON object to PolyBool polygon\");\n },\n // convert a PolyBool polygon to a GeoJSON object\n fromPolygon: function(e, t, r) {\n r = e.polygon(e.segments(r));\n function n(p, v) {\n return t.pointInsideRegion([\n (p[0][0] + p[1][0]) * 0.5,\n (p[0][1] + p[1][1]) * 0.5\n ], v);\n }\n function a(p) {\n return {\n region: p,\n children: []\n };\n }\n var i = a(null);\n function o(p, v) {\n for (var m = 0; m < p.children.length; m++) {\n var g = p.children[m];\n if (n(v, g.region)) {\n o(g, v);\n return;\n }\n }\n for (var y = a(v), m = 0; m < p.children.length; m++) {\n var g = p.children[m];\n n(g.region, v) && (y.children.push(g), p.children.splice(m, 1), m--);\n }\n p.children.push(y);\n }\n for (var l = 0; l < r.regions.length; l++) {\n var s = r.regions[l];\n s.length < 3 || o(i, s);\n }\n function u(p, v) {\n for (var m = 0, g = p[p.length - 1][0], y = p[p.length - 1][1], w = [], k = 0; k < p.length; k++) {\n var x = p[k][0], _ = p[k][1];\n w.push([x, _]), m += _ * g - x * y, g = x, y = _;\n }\n var T = m < 0;\n return T !== v && w.reverse(), w.push([w[0][0], w[0][1]]), w;\n }\n var f = [];\n function d(p) {\n var v = [u(p.region, !1)];\n f.push(v);\n for (var m = 0; m < p.children.length; m++)\n v.push(h(p.children[m]));\n }\n function h(p) {\n for (var v = 0; v < p.children.length; v++)\n d(p.children[v]);\n return u(p.region, !0);\n }\n for (var l = 0; l < i.children.length; l++)\n d(i.children[l]);\n return f.length <= 0 ? { type: \"Polygon\", coordinates: [] } : f.length == 1 ? { type: \"Polygon\", coordinates: f[0] } : {\n // otherwise, use a GeoJSON MultiPolygon\n type: \"MultiPolygon\",\n coordinates: f\n };\n }\n}, fQ = uQ;\n/*\n * @copyright 2016 Sean Connelly (@voidqk), http://syntheti.cc\n * @license MIT\n * @preserve Project Home: https://github.com/voidqk/polybooljs\n */\nvar cQ = JJ, dQ = eQ, Zk = aQ, hQ = oQ, Rf = sQ, Yk = fQ, Ea = !1, Pf = dQ(), ia;\nia = {\n // getter/setter for buildLog\n buildLog: function(e) {\n return e === !0 ? Ea = cQ() : e === !1 && (Ea = !1), Ea === !1 ? !1 : Ea.list;\n },\n // getter/setter for epsilon\n epsilon: function(e) {\n return Pf.epsilon(e);\n },\n // core API\n segments: function(e) {\n var t = Zk(!0, Pf, Ea);\n return e.regions.forEach(t.addRegion), {\n segments: t.calculate(e.inverted),\n inverted: e.inverted\n };\n },\n combine: function(e, t) {\n var r = Zk(!1, Pf, Ea);\n return {\n combined: r.calculate(\n e.segments,\n e.inverted,\n t.segments,\n t.inverted\n ),\n inverted1: e.inverted,\n inverted2: t.inverted\n };\n },\n selectUnion: function(e) {\n return {\n segments: Rf.union(e.combined, Ea),\n inverted: e.inverted1 || e.inverted2\n };\n },\n selectIntersect: function(e) {\n return {\n segments: Rf.intersect(e.combined, Ea),\n inverted: e.inverted1 && e.inverted2\n };\n },\n selectDifference: function(e) {\n return {\n segments: Rf.difference(e.combined, Ea),\n inverted: e.inverted1 && !e.inverted2\n };\n },\n selectDifferenceRev: function(e) {\n return {\n segments: Rf.differenceRev(e.combined, Ea),\n inverted: !e.inverted1 && e.inverted2\n };\n },\n selectXor: function(e) {\n return {\n segments: Rf.xor(e.combined, Ea),\n inverted: e.inverted1 !== e.inverted2\n };\n },\n polygon: function(e) {\n return {\n regions: hQ(e.segments, Pf, Ea),\n inverted: e.inverted\n };\n },\n // GeoJSON converters\n polygonFromGeoJSON: function(e) {\n return Yk.toPolygon(ia, e);\n },\n polygonToGeoJSON: function(e) {\n return Yk.fromPolygon(ia, Pf, e);\n },\n // helper functions for common operations\n union: function(e, t) {\n return $f(e, t, ia.selectUnion);\n },\n intersect: function(e, t) {\n return $f(e, t, ia.selectIntersect);\n },\n difference: function(e, t) {\n return $f(e, t, ia.selectDifference);\n },\n differenceRev: function(e, t) {\n return $f(e, t, ia.selectDifferenceRev);\n },\n xor: function(e, t) {\n return $f(e, t, ia.selectXor);\n }\n};\nfunction $f(e, t, r) {\n var n = ia.segments(e), a = ia.segments(t), i = ia.combine(n, a), o = r(i);\n return ia.polygon(o);\n}\ntypeof window == \"object\" && (window.PolyBool = ia);\nvar vQ = ia, pQ = function(t, r, n, a) {\n var i = t[0], o = t[1], l = !1;\n n === void 0 && (n = 0), a === void 0 && (a = r.length);\n for (var s = a - n, u = 0, f = s - 1; u < s; f = u++) {\n var d = r[u + n][0], h = r[u + n][1], p = r[f + n][0], v = r[f + n][1], m = h > o != v > o && i < (p - d) * (o - h) / (v - h) + d;\n m && (l = !l);\n }\n return l;\n}, JD = { exports: {} }, $g = cp.dot, lh = Qr.BADNUM, Av = JD.exports = {};\nAv.tester = function(t) {\n var r = t.slice(), n = r[0][0], a = n, i = r[0][1], o = i, l;\n for ((r[r.length - 1][0] !== r[0][0] || r[r.length - 1][1] !== r[0][1]) && r.push(r[0]), l = 1; l < r.length; l++)\n n = Math.min(n, r[l][0]), a = Math.max(a, r[l][0]), i = Math.min(i, r[l][1]), o = Math.max(o, r[l][1]);\n var s = !1, u;\n r.length === 5 && (r[0][0] === r[1][0] ? r[2][0] === r[3][0] && r[0][1] === r[3][1] && r[1][1] === r[2][1] && (s = !0, u = function(v) {\n return v[0] === r[0][0];\n }) : r[0][1] === r[1][1] && r[2][1] === r[3][1] && r[0][0] === r[3][0] && r[1][0] === r[2][0] && (s = !0, u = function(v) {\n return v[1] === r[0][1];\n }));\n function f(v, m) {\n var g = v[0], y = v[1];\n return !(g === lh || g < n || g > a || y === lh || y < i || y > o || m && u(v));\n }\n function d(v, m) {\n var g = v[0], y = v[1];\n if (g === lh || g < n || g > a || y === lh || y < i || y > o)\n return !1;\n var w = r.length, k = r[0][0], x = r[0][1], _ = 0, T, S, M, L, F;\n for (T = 1; T < w; T++)\n if (S = k, M = x, k = r[T][0], x = r[T][1], L = Math.min(S, k), !(g < L || g > Math.max(S, k) || y > Math.max(M, x)))\n if (y < Math.min(M, x))\n g !== L && _++;\n else {\n if (k === S ? F = y : F = M + (g - S) * (x - M) / (k - S), y === F)\n return !(T === 1 && m);\n y <= F && g !== L && _++;\n }\n return _ % 2 === 1;\n }\n var h = !0, p = r[0];\n for (l = 1; l < r.length; l++)\n if (p[0] !== r[l][0] || p[1] !== r[l][1]) {\n h = !1;\n break;\n }\n return {\n xmin: n,\n xmax: a,\n ymin: i,\n ymax: o,\n pts: r,\n contains: s ? f : d,\n isRect: s,\n degenerate: h\n };\n};\nAv.isSegmentBent = function(t, r, n, a) {\n var i = t[r], o = [t[n][0] - i[0], t[n][1] - i[1]], l = $g(o, o), s = Math.sqrt(l), u = [-o[1] / s, o[0] / s], f, d, h;\n for (f = r + 1; f < n; f++)\n if (d = [t[f][0] - i[0], t[f][1] - i[1]], h = $g(d, o), h < 0 || h > l || Math.abs($g(d, u)) > a) return !0;\n return !1;\n};\nAv.filter = function(t, r) {\n var n = [t[0]], a = 0, i = 0;\n function o(s) {\n t.push(s);\n var u = n.length, f = a;\n n.splice(i + 1);\n for (var d = f + 1; d < t.length; d++)\n (d === t.length - 1 || Av.isSegmentBent(t, f, d + 1, r)) && (n.push(t[d]), n.length < u - 2 && (a = d, i = n.length - 1), f = d);\n }\n if (t.length > 1) {\n var l = t.pop();\n o(l);\n }\n return {\n addPt: o,\n raw: t,\n filtered: n\n };\n};\nvar QD = JD.exports, mQ = {\n // max pixels off straight before a lasso select line counts as bent\n BENDPX: 1.5,\n // smallest dimension allowed for a select box\n MINSELECT: 12,\n // throttling limit (ms) for selectPoints calls\n SELECTDELAY: 100,\n // cache ID suffix for throttle\n SELECTID: \"-select\"\n}, Xk = vQ, gQ = pQ, Sc = Nt, yQ = Sr.dashStyle, zf = nr, bQ = Ao, _Q = Do.makeEventData, ed = rf, xQ = ed.freeMode, wQ = ed.rectMode, Cc = ed.drawMode, qb = ed.openMode, Wb = ed.selectMode, Kk = xl, Jk = Np, eE = Nb, tE = _s.clearOutline, rE = _l, zg = rE.handleEllipse, TQ = rE.readPaths, kQ = $b.newShapes, AQ = xD, MQ = XD.activateLastSelection, Bh = Ue, SQ = Bh.sorterAsc, nE = QD, If = gp, Oa = gn.getFromId, CQ = Eb, LQ = zp.redrawReglTraces, jh = mQ, Li = jh.MINSELECT, DQ = nE.filter, Zb = nE.tester, Yb = Pb, Qk = Yb.p2r, EQ = Yb.axValue, FQ = Yb.getTransform;\nfunction Xb(e) {\n return e.subplot !== void 0;\n}\nfunction RQ(e, t, r, n, a) {\n var i = !Xb(n), o = xQ(a), l = wQ(a), s = qb(a), u = Cc(a), f = Wb(a), d = a === \"drawline\", h = a === \"drawcircle\", p = d || h, v = n.gd, m = v._fullLayout, g = f && m.newselection.mode === \"immediate\" && i, y = m._zoomlayer, w = n.element.getBoundingClientRect(), k = n.plotinfo, x = FQ(k), _ = t - w.left, T = r - w.top;\n m._calcInverseTransform(v);\n var S = Bh.apply3DTransform(m._invTransform)(_, T);\n _ = S[0], T = S[1];\n var M = m._invScaleX, L = m._invScaleY, F = _, $ = T, I = \"M\" + _ + \",\" + T, O = n.xaxes[0], G = n.yaxes[0], K = O._length, V = G._length, z = e.altKey && !(Cc(a) && s), P, R, H, B, W, ee, re;\n iE(e, v, n), o && (P = DQ([[_, T]], jh.BENDPX));\n var ae = y.selectAll(\"path.select-outline-\" + k.id).data([1]), Q = u ? m.newshape : m.newselection;\n u && (n.hasText = Q.label.text || Q.label.texttemplate);\n var ue = u && !s ? Q.fillcolor : \"rgba(0,0,0,0)\", j = Q.line.color || (i ? zf.contrast(v._fullLayout.plot_bgcolor) : \"#7f7f7f\");\n ae.enter().append(\"path\").attr(\"class\", \"select-outline select-outline-\" + k.id).style({\n opacity: u ? Q.opacity / 2 : 1,\n \"stroke-dasharray\": yQ(Q.line.dash, Q.line.width),\n \"stroke-width\": Q.line.width + \"px\",\n \"shape-rendering\": \"crispEdges\"\n }).call(zf.stroke, j).call(zf.fill, ue).attr(\"fill-rule\", \"evenodd\").classed(\"cursor-move\", !!u).attr(\"transform\", x).attr(\"d\", I + \"Z\");\n var U = y.append(\"path\").attr(\"class\", \"zoombox-corners\").style({\n fill: zf.background,\n stroke: zf.defaultLine,\n \"stroke-width\": 1\n }).attr(\"transform\", x).attr(\"d\", \"M0,0Z\");\n if (u && n.hasText) {\n var Z = y.select(\".label-temp\");\n Z.empty() && (Z = y.append(\"g\").classed(\"label-temp\", !0).classed(\"select-outline\", !0).style({ opacity: 0.8 }));\n }\n var le = m._uid + jh.SELECTID, J = [], pe = Gp(\n v,\n n.xaxes,\n n.yaxes,\n n.subplot\n );\n g && !e.shiftKey && (n._clearSubplotSelections = function() {\n if (i) {\n var ve = O._id, me = G._id;\n fE(v, ve, me, pe);\n for (var Le = (v.layout || {}).selections || [], ze = [], Fe = !1, Oe = 0; Oe < Le.length; Oe++) {\n var Re = m.selections[Oe];\n Re.xref !== ve || Re.yref !== me ? ze.push(Le[Oe]) : Fe = !0;\n }\n Fe && (v._fullLayout._noEmitSelectedAtStart = !0, Sc.call(\"_guiRelayout\", v, {\n selections: ze\n }));\n }\n });\n var ge = WQ(n);\n n.moveFn = function(ve, me) {\n n._clearSubplotSelections && (n._clearSubplotSelections(), n._clearSubplotSelections = void 0), F = Math.max(0, Math.min(K, M * ve + _)), $ = Math.max(0, Math.min(V, L * me + T));\n var Le = Math.abs(F - _), ze = Math.abs($ - T);\n if (l) {\n var Fe, Oe, Re;\n if (f) {\n var We = m.selectdirection;\n switch (We === \"any\" ? ze < Math.min(Le * 0.6, Li) ? Fe = \"h\" : Le < Math.min(ze * 0.6, Li) ? Fe = \"v\" : Fe = \"d\" : Fe = We, Fe) {\n case \"h\":\n Oe = h ? V / 2 : 0, Re = V;\n break;\n case \"v\":\n Oe = h ? K / 2 : 0, Re = K;\n break;\n }\n }\n if (u)\n switch (m.newshape.drawdirection) {\n case \"vertical\":\n Fe = \"h\", Oe = h ? V / 2 : 0, Re = V;\n break;\n case \"horizontal\":\n Fe = \"v\", Oe = h ? K / 2 : 0, Re = K;\n break;\n case \"ortho\":\n Le < ze ? (Fe = \"h\", Oe = T, Re = $) : (Fe = \"v\", Oe = _, Re = F);\n break;\n default:\n Fe = \"d\";\n }\n Fe === \"h\" ? (B = p ? zg(h, [F, Oe], [F, Re]) : (\n // using x1 instead of x0 allows adjusting the line while drawing\n [[_, Oe], [_, Re], [F, Re], [F, Oe]]\n ), B.xmin = p ? F : Math.min(_, F), B.xmax = p ? F : Math.max(_, F), B.ymin = Math.min(Oe, Re), B.ymax = Math.max(Oe, Re), U.attr(\"d\", \"M\" + B.xmin + \",\" + (T - Li) + \"h-4v\" + 2 * Li + \"h4ZM\" + (B.xmax - 1) + \",\" + (T - Li) + \"h4v\" + 2 * Li + \"h-4Z\")) : Fe === \"v\" ? (B = p ? zg(h, [Oe, $], [Re, $]) : (\n // using y1 instead of y0 allows adjusting the line while drawing\n [[Oe, T], [Oe, $], [Re, $], [Re, T]]\n ), B.xmin = Math.min(Oe, Re), B.xmax = Math.max(Oe, Re), B.ymin = p ? $ : Math.min(T, $), B.ymax = p ? $ : Math.max(T, $), U.attr(\"d\", \"M\" + (_ - Li) + \",\" + B.ymin + \"v-4h\" + 2 * Li + \"v4ZM\" + (_ - Li) + \",\" + (B.ymax - 1) + \"v4h\" + 2 * Li + \"v-4Z\")) : Fe === \"d\" && (B = p ? zg(h, [_, T], [F, $]) : [[_, T], [_, $], [F, $], [F, T]], B.xmin = Math.min(_, F), B.xmax = Math.max(_, F), B.ymin = Math.min(T, $), B.ymax = Math.max(T, $), U.attr(\"d\", \"M0,0Z\"));\n } else o && (P.addPt([F, $]), B = P.filtered);\n if (n.selectionDefs && n.selectionDefs.length ? (H = oE(n.mergedPolygons, B, z), B.subtract = z, R = Kb(n.selectionDefs.concat([B]))) : (H = [B], R = Zb(B)), eE(sE(H, s), ae, n), f) {\n var Me = Oy(v, !1), Ve = Me.eventData ? Me.eventData.points.slice() : [];\n Me = Oy(v, !1, R, pe, n), R = Me.selectionTesters, re = Me.eventData;\n var qe;\n P ? qe = P.filtered : qe = cE(H), If.throttle(\n le,\n jh.SELECTDELAY,\n function() {\n J = uE(R, pe);\n for (var Qe = J.slice(), ot = 0; ot < Ve.length; ot++) {\n for (var ht = Ve[ot], vt = !1, nt = 0; nt < Qe.length; nt++)\n if (Qe[nt].curveNumber === ht.curveNumber && Qe[nt].pointNumber === ht.pointNumber) {\n vt = !0;\n break;\n }\n vt || Qe.push(ht);\n }\n Qe.length && (re || (re = {}), re.points = Qe), ge(re, qe), ZQ(v, re);\n }\n );\n }\n }, n.clickFn = function(ve, me) {\n if (U.remove(), v._fullLayout._activeShapeIndex >= 0) {\n v._fullLayout._deactivateShape(v);\n return;\n }\n if (!u) {\n var Le = m.clickmode;\n If.done(le).then(function() {\n if (If.clear(le), ve === 2) {\n for (ae.remove(), W = 0; W < pe.length; W++)\n ee = pe[W], ee._module.selectPoints(ee, !1);\n if (Dc(v, pe), Lc(n), Qb(v), pe.length) {\n var ze = pe[0].xaxis, Fe = pe[0].yaxis;\n if (ze && Fe) {\n for (var Oe = [], Re = v._fullLayout.selections, We = 0; We < Re.length; We++) {\n var Me = Re[We];\n Me && (Me.xref !== ze._id || Me.yref !== Fe._id) && Oe.push(Me);\n }\n Oe.length < Re.length && (v._fullLayout._noEmitSelectedAtStart = !0, Sc.call(\"_guiRelayout\", v, {\n selections: Oe\n }));\n }\n }\n } else\n Le.indexOf(\"select\") > -1 && aE(\n me,\n v,\n n.xaxes,\n n.yaxes,\n n.subplot,\n n,\n ae\n ), Le === \"event\" && Ec(v, void 0);\n bQ.click(v, me, k.id);\n }).catch(Bh.error);\n }\n }, n.doneFn = function() {\n U.remove(), If.done(le).then(function() {\n If.clear(le), !g && B && n.selectionDefs && (B.subtract = z, n.selectionDefs.push(B), n.mergedPolygons.length = 0, [].push.apply(n.mergedPolygons, H)), (g || u) && Lc(n, g), n.doneFnCompleted && n.doneFnCompleted(J), f && Ec(v, re);\n }).catch(Bh.error);\n };\n}\nfunction aE(e, t, r, n, a, i, o) {\n var l = t._hoverdata, s = t._fullLayout, u = s.clickmode, f = u.indexOf(\"event\") > -1, d = [], h, p, v, m, g, y, w, k, x, _;\n if (NQ(l)) {\n iE(e, t, i), h = Gp(t, r, n, a);\n var T = OQ(l, h), S = T.pointNumbers.length > 0;\n if (S ? HQ(h, T) : BQ(h) && (w = tA(T))) {\n for (o && o.remove(), _ = 0; _ < h.length; _++)\n p = h[_], p._module.selectPoints(p, !1);\n Dc(t, h), Lc(i), f && Qb(t);\n } else {\n k = e.shiftKey && (w !== void 0 ? w : tA(T)), v = PQ(T.pointNumber, T.searchInfo, k);\n var M = i.selectionDefs.concat([v]);\n for (m = Kb(M), _ = 0; _ < h.length; _++)\n if (g = h[_]._module.selectPoints(h[_], m), y = lE(g, h[_]), d.length)\n for (var L = 0; L < y.length; L++)\n d.push(y[L]);\n else d = y;\n if (x = { points: d }, Dc(t, h, x), v && i && i.selectionDefs.push(v), o) {\n var F = i.mergedPolygons, $ = qb(i.dragmode);\n eE(sE(F, $), o, i);\n }\n f && Ec(t, x);\n }\n }\n}\nfunction PQ(e, t, r) {\n return {\n pointNumber: e,\n searchInfo: t,\n subtract: !!r\n };\n}\nfunction Ig(e) {\n return \"pointNumber\" in e && \"searchInfo\" in e;\n}\nfunction $Q(e) {\n return {\n xmin: 0,\n xmax: 0,\n ymin: 0,\n ymax: 0,\n pts: [],\n contains: function(t, r, n, a) {\n var i = e.searchInfo.cd[0].trace._expandedIndex, o = a.cd[0].trace._expandedIndex;\n return o === i && n === e.pointNumber;\n },\n isRect: !1,\n degenerate: !1,\n subtract: !!e.subtract\n };\n}\nfunction Kb(e) {\n if (!e.length) return;\n for (var t = [], r = Ig(e[0]) ? 0 : e[0][0][0], n = r, a = Ig(e[0]) ? 0 : e[0][0][1], i = a, o = 0; o < e.length; o++)\n if (Ig(e[o]))\n t.push($Q(e[o]));\n else {\n var l = Zb(e[o]);\n l.subtract = !!e[o].subtract, t.push(l), r = Math.min(r, l.xmin), n = Math.max(n, l.xmax), a = Math.min(a, l.ymin), i = Math.max(i, l.ymax);\n }\n function s(u, f, d, h) {\n for (var p = !1, v = 0; v < t.length; v++)\n t[v].contains(u, f, d, h) && (p = !t[v].subtract);\n return p;\n }\n return {\n xmin: r,\n xmax: n,\n ymin: a,\n ymax: i,\n pts: [],\n contains: s,\n isRect: !1,\n degenerate: !1\n };\n}\nfunction iE(e, t, r) {\n var n = t._fullLayout, a = r.plotinfo, i = r.dragmode, o = n._lastSelectedSubplot && n._lastSelectedSubplot === a.id, l = (e.shiftKey || e.altKey) && !(Cc(i) && qb(i));\n o && l && a.selection && a.selection.selectionDefs && !r.selectionDefs ? (r.selectionDefs = a.selection.selectionDefs, r.mergedPolygons = a.selection.mergedPolygons) : (!l || !a.selection) && Lc(r), o || (tE(t), n._lastSelectedSubplot = a.id);\n}\nfunction zQ(e) {\n return e._fullLayout._activeShapeIndex >= 0;\n}\nfunction IQ(e) {\n return e._fullLayout._activeSelectionIndex >= 0;\n}\nfunction Lc(e, t) {\n var r = e.dragmode, n = e.plotinfo, a = e.gd;\n zQ(a) && a._fullLayout._deactivateShape(a), IQ(a) && a._fullLayout._deactivateSelection(a);\n var i = a._fullLayout, o = i._zoomlayer, l = Cc(r), s = Wb(r);\n if (l || s) {\n var u = o.selectAll(\".select-outline-\" + n.id);\n if (u && a._fullLayout._outlining) {\n var f;\n l && (f = kQ(u, e)), f && Sc.call(\"_guiRelayout\", a, {\n shapes: f\n });\n var d;\n s && !Xb(e) && (d = AQ(u, e)), d && (a._fullLayout._noEmitSelectedAtStart = !0, Sc.call(\"_guiRelayout\", a, {\n selections: d\n }).then(function() {\n t && MQ(a);\n })), a._fullLayout._outlining = !1;\n }\n }\n n.selection = {}, n.selection.selectionDefs = e.selectionDefs = [], n.selection.mergedPolygons = e.mergedPolygons = [];\n}\nfunction eA(e) {\n return e._id;\n}\nfunction Gp(e, t, r, n) {\n if (!e.calcdata) return [];\n var a = [], i = t.map(eA), o = r.map(eA), l, s, u;\n for (u = 0; u < e.calcdata.length; u++)\n if (l = e.calcdata[u], s = l[0].trace, !(s.visible !== !0 || !s._module || !s._module.selectPoints))\n if (Xb({ subplot: n }) && (s.subplot === n || s.geo === n))\n a.push(sh(s._module, l, t[0], r[0]));\n else if (s.type === \"splom\") {\n if (s._xaxes[i[0]] && s._yaxes[o[0]]) {\n var f = sh(s._module, l, t[0], r[0]);\n f.scene = e._fullLayout._splomScenes[s.uid], a.push(f);\n }\n } else if (s.type === \"sankey\") {\n var d = sh(s._module, l, t[0], r[0]);\n a.push(d);\n } else {\n if (i.indexOf(s.xaxis) === -1 || o.indexOf(s.yaxis) === -1) continue;\n a.push(sh(\n s._module,\n l,\n Oa(e, s.xaxis),\n Oa(e, s.yaxis)\n ));\n }\n return a;\n}\nfunction sh(e, t, r, n) {\n return {\n _module: e,\n cd: t,\n xaxis: r,\n yaxis: n\n };\n}\nfunction NQ(e) {\n return e && Array.isArray(e) && e[0].hoverOnBox !== !0;\n}\nfunction OQ(e, t) {\n var r = e[0], n = -1, a = [], i, o;\n for (o = 0; o < t.length; o++)\n if (i = t[o], r.fullData._expandedIndex === i.cd[0].trace._expandedIndex) {\n if (r.hoverOnBox === !0)\n break;\n r.pointNumber !== void 0 ? n = r.pointNumber : r.binNumber !== void 0 && (n = r.binNumber, a = r.pointNumbers);\n break;\n }\n return {\n pointNumber: n,\n pointNumbers: a,\n searchInfo: i\n };\n}\nfunction tA(e) {\n var t = e.searchInfo.cd[0].trace, r = e.pointNumber, n = e.pointNumbers, a = n.length > 0, i = a ? n[0] : r;\n return t.selectedpoints ? t.selectedpoints.indexOf(i) > -1 : !1;\n}\nfunction HQ(e, t) {\n var r = [], n, a, i, o;\n for (o = 0; o < e.length; o++)\n n = e[o], n.cd[0].trace.selectedpoints && n.cd[0].trace.selectedpoints.length > 0 && r.push(n);\n if (r.length === 1 && (i = r[0] === t.searchInfo, i && (a = t.searchInfo.cd[0].trace, a.selectedpoints.length === t.pointNumbers.length))) {\n for (o = 0; o < t.pointNumbers.length; o++)\n if (a.selectedpoints.indexOf(t.pointNumbers[o]) < 0)\n return !1;\n return !0;\n }\n return !1;\n}\nfunction BQ(e) {\n var t = 0, r, n, a;\n for (a = 0; a < e.length; a++)\n if (r = e[a], n = r.cd[0].trace, n.selectedpoints && (n.selectedpoints.length > 1 || (t += n.selectedpoints.length, t > 1)))\n return !1;\n return t === 1;\n}\nfunction Dc(e, t, r) {\n var n;\n for (n = 0; n < t.length; n++) {\n var a = t[n].cd[0].trace._fullInput, i = e._fullLayout._tracePreGUI[a.uid] || {};\n i.selectedpoints === void 0 && (i.selectedpoints = a._input.selectedpoints || null);\n }\n var o;\n if (r) {\n var l = r.points || [];\n for (n = 0; n < t.length; n++)\n o = t[n].cd[0].trace, o._input.selectedpoints = o._fullInput.selectedpoints = [], o._fullInput !== o && (o.selectedpoints = []);\n for (var s = 0; s < l.length; s++) {\n var u = l[s], f = u.data, d = u.fullData, h = u.pointIndex, p = u.pointIndices;\n p ? ([].push.apply(f.selectedpoints, p), o._fullInput !== o && [].push.apply(d.selectedpoints, p)) : (f.selectedpoints.push(h), o._fullInput !== o && d.selectedpoints.push(h));\n }\n } else\n for (n = 0; n < t.length; n++)\n o = t[n].cd[0].trace, delete o.selectedpoints, delete o._input.selectedpoints, o._fullInput !== o && delete o._fullInput.selectedpoints;\n jQ(e, t);\n}\nfunction jQ(e, t) {\n for (var r = !1, n = 0; n < t.length; n++) {\n var a = t[n], i = a.cd;\n Sc.traceIs(i[0].trace, \"regl\") && (r = !0);\n var o = a._module, l = o.styleOnSelect || o.style;\n l && (l(e, i, i[0].node3), i[0].nodeRangePlot3 && l(e, i, i[0].nodeRangePlot3));\n }\n r && (CQ(e), LQ(e));\n}\nfunction oE(e, t, r) {\n for (var n = r ? Xk.difference : Xk.union, a = n({\n regions: e\n }, {\n regions: [t]\n }), i = a.regions.reverse(), o = 0; o < i.length; o++) {\n var l = i[o];\n l.subtract = Jb(l, i.slice(0, o));\n }\n return i;\n}\nfunction lE(e, t) {\n if (Array.isArray(e))\n for (var r = t.cd, n = t.cd[0].trace, a = 0; a < e.length; a++)\n e[a] = _Q(e[a], n, r);\n return e;\n}\nfunction sE(e, t) {\n for (var r = [], n = 0; n < e.length; n++) {\n r[n] = [];\n for (var a = 0; a < e[n].length; a++) {\n r[n][a] = [], r[n][a][0] = a ? \"L\" : \"M\";\n for (var i = 0; i < e[n][a].length; i++)\n r[n][a].push(\n e[n][a][i]\n );\n }\n t || r[n].push([\n \"Z\",\n r[n][0][1],\n // initial x\n r[n][0][2]\n // initial y\n ]);\n }\n return r;\n}\nfunction uE(e, t) {\n for (var r = [], n, a, i = 0; i < t.length; i++) {\n var o = t[i];\n a = o._module.selectPoints(o, e), n = lE(a, o), r = r.concat(n);\n }\n return r;\n}\nfunction Oy(e, t, r, n, a) {\n var i = !!n, o, l, s;\n a && (o = a.plotinfo, l = a.xaxes[0]._id, s = a.yaxes[0]._id);\n var u = [], f = [], d = rA(e), h = e._fullLayout;\n if (o) {\n var p = h._zoomlayer, v = h.dragmode, m = Cc(v), g = Wb(v);\n if (m || g) {\n var y = Oa(e, l, \"x\"), w = Oa(e, s, \"y\");\n if (y && w) {\n var k = p.selectAll(\".select-outline-\" + o.id);\n if (k && e._fullLayout._outlining && k.length) {\n for (var x = k[0][0], _ = x.getAttribute(\"d\"), T = TQ(_, e, o), S = [], M = 0; M < T.length; M++) {\n for (var L = T[M], F = [], $ = 0; $ < L.length; $++)\n F.push([\n Xo(y, L[$][1]),\n Xo(w, L[$][2])\n ]);\n F.xref = l, F.yref = s, F.subtract = Jb(F, S), S.push(F);\n }\n d = d.concat(S);\n }\n }\n }\n }\n var I = l && s ? [l + s] : h._subplots.cartesian;\n UQ(e);\n for (var O = {}, G = 0; G < I.length; G++) {\n var K = I[G], V = K.indexOf(\"y\"), z = K.slice(0, V), P = K.slice(V), R = l && s ? r : void 0;\n if (R = VQ(d, z, P, R), R) {\n var H = n;\n if (!i) {\n var B = Oa(e, z, \"x\"), W = Oa(e, P, \"y\");\n H = Gp(\n e,\n [B],\n [W],\n K\n );\n for (var ee = 0; ee < H.length; ee++) {\n var re = H[ee], ae = re.cd[0], Q = ae.trace;\n if (re._module.name === \"scattergl\" && !ae.t.xpx) {\n var ue = Q.x, j = Q.y, U = Q._length;\n ae.t.xpx = [], ae.t.ypx = [];\n for (var Z = 0; Z < U; Z++)\n ae.t.xpx[Z] = B.c2p(ue[Z]), ae.t.ypx[Z] = W.c2p(j[Z]);\n }\n re._module.name === \"splom\" && (O[Q.uid] || (O[Q.uid] = !0));\n }\n }\n var le = uE(R, H);\n u = u.concat(le), f = f.concat(H);\n }\n }\n var J = { points: u };\n Dc(e, f, J);\n var pe = h.clickmode, ge = pe.indexOf(\"event\") > -1 && t;\n if (!o && // get called from plot_api & plots\n t) {\n var ve = rA(e, !0);\n if (ve.length) {\n var me = ve[0].xref, Le = ve[0].yref;\n if (me && Le) {\n var ze = cE(ve), Fe = dE([\n Oa(e, me, \"x\"),\n Oa(e, Le, \"y\")\n ]);\n Fe(J, ze);\n }\n }\n e._fullLayout._noEmitSelectedAtStart ? e._fullLayout._noEmitSelectedAtStart = !1 : ge && Ec(e, J), h._reselect = !1;\n }\n if (!o && // get called from plot_api & plots\n h._deselect) {\n var Oe = h._deselect;\n l = Oe.xref, s = Oe.yref, GQ(l, s, f) || fE(e, l, s, n), ge && (J.points.length ? Ec(e, J) : Qb(e)), h._deselect = !1;\n }\n return {\n eventData: J,\n selectionTesters: r\n };\n}\nfunction UQ(e) {\n var t = e.calcdata;\n if (t)\n for (var r = 0; r < t.length; r++) {\n var n = t[r][0], a = n.trace, i = e._fullLayout._splomScenes;\n if (i) {\n var o = i[a.uid];\n o && (o.selectBatch = []);\n }\n }\n}\nfunction GQ(e, t, r) {\n for (var n = 0; n < r.length; n++) {\n var a = r[n];\n if (a.xaxis && a.xaxis._id === e && a.yaxis && a.yaxis._id === t)\n return !0;\n }\n return !1;\n}\nfunction fE(e, t, r, n) {\n n = Gp(\n e,\n [Oa(e, t, \"x\")],\n [Oa(e, r, \"y\")],\n t + r\n );\n for (var a = 0; a < n.length; a++) {\n var i = n[a];\n i._module.selectPoints(i, !1);\n }\n Dc(e, n);\n}\nfunction VQ(e, t, r, n) {\n for (var a, i = 0; i < e.length; i++) {\n var o = e[i];\n if (!(t !== o.xref || r !== o.yref))\n if (a) {\n var l = !!o.subtract;\n a = oE(a, o, l), n = Kb(a);\n } else\n a = [o], n = Zb(o);\n }\n return n;\n}\nfunction rA(e, t) {\n for (var r = [], n = e._fullLayout, a = n.selections, i = a.length, o = 0; o < i; o++)\n if (!(t && o !== n._activeSelectionIndex)) {\n var l = a[o];\n if (l) {\n var s = l.xref, u = l.yref, f = Oa(e, s, \"x\"), d = Oa(e, u, \"y\"), h, p, v, m, g;\n if (l.type === \"rect\") {\n g = [];\n var y = Xo(f, l.x0), w = Xo(f, l.x1), k = Xo(d, l.y0), x = Xo(d, l.y1);\n g = [[y, k], [y, x], [w, x], [w, k]], h = Math.min(y, w), p = Math.max(y, w), v = Math.min(k, x), m = Math.max(k, x), g.xmin = h, g.xmax = p, g.ymin = v, g.ymax = m, g.xref = s, g.yref = u, g.subtract = !1, g.isRect = !0, r.push(g);\n } else if (l.type === \"path\")\n for (var _ = l.path.split(\"Z\"), T = [], S = 0; S < _.length; S++) {\n var M = _[S];\n if (M) {\n M += \"Z\";\n var L = Kk.extractPathCoords(M, Jk.paramIsX, \"raw\"), F = Kk.extractPathCoords(M, Jk.paramIsY, \"raw\");\n h = 1 / 0, p = -1 / 0, v = 1 / 0, m = -1 / 0, g = [];\n for (var $ = 0; $ < L.length; $++) {\n var I = Xo(f, L[$]), O = Xo(d, F[$]);\n g.push([I, O]), h = Math.min(I, h), p = Math.max(I, p), v = Math.min(O, v), m = Math.max(O, m);\n }\n g.xmin = h, g.xmax = p, g.ymin = v, g.ymax = m, g.xref = s, g.yref = u, g.subtract = Jb(g, T), T.push(g), r.push(g);\n }\n }\n }\n }\n return r;\n}\nfunction Jb(e, t) {\n for (var r = !1, n = 0; n < t.length; n++)\n for (var a = t[n], i = 0; i < e.length; i++)\n if (gQ(e[i], a)) {\n r = !r;\n break;\n }\n return r;\n}\nfunction Xo(e, t) {\n return e.type === \"date\" && (t = t.replace(\"_\", \" \")), e.type === \"log\" ? e.c2p(t) : e.r2p(t, null, e.calendar);\n}\nfunction cE(e) {\n for (var t = e.length, r = [], n = 0; n < t; n++) {\n var a = e[n];\n r = r.concat(a), r = r.concat([a[0]]);\n }\n return qQ(r);\n}\nfunction qQ(e) {\n return e.isRect = e.length === 5 && e[0][0] === e[4][0] && e[0][1] === e[4][1] && e[0][0] === e[1][0] && e[2][0] === e[3][0] && e[0][1] === e[3][1] && e[1][1] === e[2][1] || e[0][1] === e[1][1] && e[2][1] === e[3][1] && e[0][0] === e[3][0] && e[1][0] === e[2][0], e.isRect && (e.xmin = Math.min(e[0][0], e[2][0]), e.xmax = Math.max(e[0][0], e[2][0]), e.ymin = Math.min(e[0][1], e[2][1]), e.ymax = Math.max(e[0][1], e[2][1])), e;\n}\nfunction dE(e) {\n return function(t, r) {\n for (var n, a, i = 0; i < e.length; i++) {\n var o = e[i], l = o._id, s = l.charAt(0);\n if (r.isRect) {\n n || (n = {});\n var u = r[s + \"min\"], f = r[s + \"max\"];\n u !== void 0 && f !== void 0 && (n[l] = [\n Qk(o, u),\n Qk(o, f)\n ].sort(SQ));\n } else\n a || (a = {}), a[l] = r.map(EQ(o));\n }\n n && (t.range = n), a && (t.lassoPoints = a);\n };\n}\nfunction WQ(e) {\n var t = e.plotinfo;\n return t.fillRangeItems || // allow subplots (i.e. geo, mapbox, sankey) to override fillRangeItems routine\n dE(e.xaxes.concat(e.yaxes));\n}\nfunction ZQ(e, t) {\n e.emit(\"plotly_selecting\", t);\n}\nfunction Ec(e, t) {\n t && (t.selections = (e.layout || {}).selections || []), e.emit(\"plotly_selected\", t);\n}\nfunction Qb(e) {\n e.emit(\"plotly_deselect\", null);\n}\nvar YQ = {\n reselect: Oy,\n prepSelect: RQ,\n clearOutline: tE,\n clearSelectionsCache: Lc,\n selectOnClick: aE\n}, hE = [\n // no arrow\n {\n path: \"\",\n backoff: 0\n },\n // wide with flat back\n {\n path: \"M-2.4,-3V3L0.6,0Z\",\n backoff: 0.6\n },\n // narrower with flat back\n {\n path: \"M-3.7,-2.5V2.5L1.3,0Z\",\n backoff: 1.3\n },\n // barbed\n {\n path: \"M-4.45,-3L-1.65,-0.2V0.2L-4.45,3L1.55,0Z\",\n backoff: 1.55\n },\n // wide line-drawn\n {\n path: \"M-2.2,-2.2L-0.2,-0.2V0.2L-2.2,2.2L-1.4,3L1.6,0L-1.4,-3Z\",\n backoff: 1.6\n },\n // narrower line-drawn\n {\n path: \"M-4.4,-2.1L-0.6,-0.2V0.2L-4.4,2.1L-4,3L2,0L-4,-3Z\",\n backoff: 2\n },\n // circle\n {\n path: \"M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z\",\n backoff: 0,\n noRotate: !0\n },\n // square\n {\n path: \"M2,2V-2H-2V2Z\",\n backoff: 0,\n noRotate: !0\n }\n], Vp = {\n axisRefDescription: function(e, t, r) {\n return [\n \"If set to a\",\n e,\n \"axis id (e.g. *\" + e + \"* or\",\n \"*\" + e + \"2*), the `\" + e + \"` position refers to a\",\n e,\n \"coordinate. If set to *paper*, the `\" + e + \"`\",\n \"position refers to the distance from the\",\n t,\n \"of the plotting\",\n \"area in normalized coordinates where *0* (*1*) corresponds to the\",\n t,\n \"(\" + r + \"). If set to a\",\n e,\n \"axis ID followed by\",\n \"*domain* (separated by a space), the position behaves like for\",\n \"*paper*, but refers to the distance in fractions of the domain\",\n \"length from the\",\n t,\n \"of the domain of that axis: e.g.,\",\n \"*\" + e + \"2 domain* refers to the domain of the second\",\n e,\n \" axis and a\",\n e,\n \"position of 0.5 refers to the\",\n \"point between the\",\n t,\n \"and the\",\n r,\n \"of the domain of the\",\n \"second\",\n e,\n \"axis.\"\n ].join(\" \");\n }\n}, nA = hE, aA = Fn, uh = Yn, XQ = Mr.templatedArray, fh = Vp;\nfunction iA(e) {\n return [\n \"In order for absolute positioning of the arrow to work, *a\" + e + \"ref* must be exactly the same as *\" + e + \"ref*, otherwise *a\" + e + \"ref* will revert to *pixel* (explained next).\",\n \"For relative positioning, *a\" + e + \"ref* can be set to *pixel*,\",\n \"in which case the *a\" + e + \"* value is specified in pixels\",\n \"relative to *\" + e + \"*.\",\n \"Absolute positioning is useful\",\n \"for trendline annotations which should continue to indicate\",\n \"the correct trend when zoomed. Relative positioning is useful\",\n \"for specifying the text offset for an annotated point.\"\n ].join(\" \");\n}\nfunction oA(e, t, r) {\n return [\n \"Sets the\",\n e,\n \"component of the arrow tail about the arrow head.\",\n \"If `a\" + e + \"ref` is `pixel`, a positive (negative)\",\n \"component corresponds to an arrow pointing\",\n \"from\",\n r,\n \"to\",\n t,\n \"(\" + t,\n \"to\",\n r + \").\",\n \"If `a\" + e + \"ref` is not `pixel` and is exactly the same as `\" + e + \"ref`,\",\n \"this is an absolute value on that axis,\",\n \"like `\" + e + \"`, specified in the same coordinates as `\" + e + \"ref`.\"\n ].join(\" \");\n}\nvar td = XQ(\"annotation\", {\n visible: {\n valType: \"boolean\",\n dflt: !0,\n editType: \"calc+arraydraw\",\n description: [\n \"Determines whether or not this annotation is visible.\"\n ].join(\" \")\n },\n text: {\n valType: \"string\",\n editType: \"calc+arraydraw\",\n description: [\n \"Sets the text associated with this annotation.\",\n \"Plotly uses a subset of HTML tags to do things like\",\n \"newline (
), bold (), italics (),\",\n \"hyperlinks (). Tags , , \",\n \" are also supported.\"\n ].join(\" \")\n },\n textangle: {\n valType: \"angle\",\n dflt: 0,\n editType: \"calc+arraydraw\",\n description: [\n \"Sets the angle at which the `text` is drawn\",\n \"with respect to the horizontal.\"\n ].join(\" \")\n },\n font: aA({\n editType: \"calc+arraydraw\",\n colorEditType: \"arraydraw\",\n description: \"Sets the annotation text font.\"\n }),\n width: {\n valType: \"number\",\n min: 1,\n dflt: null,\n editType: \"calc+arraydraw\",\n description: [\n \"Sets an explicit width for the text box. null (default) lets the\",\n \"text set the box width. Wider text will be clipped.\",\n \"There is no automatic wrapping; use
to start a new line.\"\n ].join(\" \")\n },\n height: {\n valType: \"number\",\n min: 1,\n dflt: null,\n editType: \"calc+arraydraw\",\n description: [\n \"Sets an explicit height for the text box. null (default) lets the\",\n \"text set the box height. Taller text will be clipped.\"\n ].join(\" \")\n },\n opacity: {\n valType: \"number\",\n min: 0,\n max: 1,\n dflt: 1,\n editType: \"arraydraw\",\n description: \"Sets the opacity of the annotation (text + arrow).\"\n },\n align: {\n valType: \"enumerated\",\n values: [\"left\", \"center\", \"right\"],\n dflt: \"center\",\n editType: \"arraydraw\",\n description: [\n \"Sets the horizontal alignment of the `text` within the box.\",\n \"Has an effect only if `text` spans two or more lines\",\n \"(i.e. `text` contains one or more
HTML tags) or if an\",\n \"explicit width is set to override the text width.\"\n ].join(\" \")\n },\n valign: {\n valType: \"enumerated\",\n values: [\"top\", \"middle\", \"bottom\"],\n dflt: \"middle\",\n editType: \"arraydraw\",\n description: [\n \"Sets the vertical alignment of the `text` within the box.\",\n \"Has an effect only if an explicit height is set to override\",\n \"the text height.\"\n ].join(\" \")\n },\n bgcolor: {\n valType: \"color\",\n dflt: \"rgba(0,0,0,0)\",\n editType: \"arraydraw\",\n description: \"Sets the background color of the annotation.\"\n },\n bordercolor: {\n valType: \"color\",\n dflt: \"rgba(0,0,0,0)\",\n editType: \"arraydraw\",\n description: [\n \"Sets the color of the border enclosing the annotation `text`.\"\n ].join(\" \")\n },\n borderpad: {\n valType: \"number\",\n min: 0,\n dflt: 1,\n editType: \"calc+arraydraw\",\n description: [\n \"Sets the padding (in px) between the `text`\",\n \"and the enclosing border.\"\n ].join(\" \")\n },\n borderwidth: {\n valType: \"number\",\n min: 0,\n dflt: 1,\n editType: \"calc+arraydraw\",\n description: [\n \"Sets the width (in px) of the border enclosing\",\n \"the annotation `text`.\"\n ].join(\" \")\n },\n // arrow\n showarrow: {\n valType: \"boolean\",\n dflt: !0,\n editType: \"calc+arraydraw\",\n description: [\n \"Determines whether or not the annotation is drawn with an arrow.\",\n \"If *true*, `text` is placed near the arrow's tail.\",\n \"If *false*, `text` lines up with the `x` and `y` provided.\"\n ].join(\" \")\n },\n arrowcolor: {\n valType: \"color\",\n editType: \"arraydraw\",\n description: \"Sets the color of the annotation arrow.\"\n },\n arrowhead: {\n valType: \"integer\",\n min: 0,\n max: nA.length,\n dflt: 1,\n editType: \"arraydraw\",\n description: \"Sets the end annotation arrow head style.\"\n },\n startarrowhead: {\n valType: \"integer\",\n min: 0,\n max: nA.length,\n dflt: 1,\n editType: \"arraydraw\",\n description: \"Sets the start annotation arrow head style.\"\n },\n arrowside: {\n valType: \"flaglist\",\n flags: [\"end\", \"start\"],\n extras: [\"none\"],\n dflt: \"end\",\n editType: \"arraydraw\",\n description: \"Sets the annotation arrow head position.\"\n },\n arrowsize: {\n valType: \"number\",\n min: 0.3,\n dflt: 1,\n editType: \"calc+arraydraw\",\n description: [\n \"Sets the size of the end annotation arrow head, relative to `arrowwidth`.\",\n \"A value of 1 (default) gives a head about 3x as wide as the line.\"\n ].join(\" \")\n },\n startarrowsize: {\n valType: \"number\",\n min: 0.3,\n dflt: 1,\n editType: \"calc+arraydraw\",\n description: [\n \"Sets the size of the start annotation arrow head, relative to `arrowwidth`.\",\n \"A value of 1 (default) gives a head about 3x as wide as the line.\"\n ].join(\" \")\n },\n arrowwidth: {\n valType: \"number\",\n min: 0.1,\n editType: \"calc+arraydraw\",\n description: \"Sets the width (in px) of annotation arrow line.\"\n },\n standoff: {\n valType: \"number\",\n min: 0,\n dflt: 0,\n editType: \"calc+arraydraw\",\n description: [\n \"Sets a distance, in pixels, to move the end arrowhead away from the\",\n \"position it is pointing at, for example to point at the edge of\",\n \"a marker independent of zoom. Note that this shortens the arrow\",\n \"from the `ax` / `ay` vector, in contrast to `xshift` / `yshift`\",\n \"which moves everything by this amount.\"\n ].join(\" \")\n },\n startstandoff: {\n valType: \"number\",\n min: 0,\n dflt: 0,\n editType: \"calc+arraydraw\",\n description: [\n \"Sets a distance, in pixels, to move the start arrowhead away from the\",\n \"position it is pointing at, for example to point at the edge of\",\n \"a marker independent of zoom. Note that this shortens the arrow\",\n \"from the `ax` / `ay` vector, in contrast to `xshift` / `yshift`\",\n \"which moves everything by this amount.\"\n ].join(\" \")\n },\n ax: {\n valType: \"any\",\n editType: \"calc+arraydraw\",\n description: [\n oA(\"x\", \"left\", \"right\")\n ].join(\" \")\n },\n ay: {\n valType: \"any\",\n editType: \"calc+arraydraw\",\n description: [\n oA(\"y\", \"top\", \"bottom\")\n ].join(\" \")\n },\n axref: {\n valType: \"enumerated\",\n dflt: \"pixel\",\n values: [\n \"pixel\",\n uh.idRegex.x.toString()\n ],\n editType: \"calc\",\n description: [\n \"Indicates in what coordinates the tail of the\",\n \"annotation (ax,ay) is specified.\",\n fh.axisRefDescription(\"x\", \"left\", \"right\"),\n iA(\"x\")\n ].join(\" \")\n },\n ayref: {\n valType: \"enumerated\",\n dflt: \"pixel\",\n values: [\n \"pixel\",\n uh.idRegex.y.toString()\n ],\n editType: \"calc\",\n description: [\n \"Indicates in what coordinates the tail of the\",\n \"annotation (ax,ay) is specified.\",\n fh.axisRefDescription(\"y\", \"bottom\", \"top\"),\n iA(\"y\")\n ].join(\" \")\n },\n // positioning\n xref: {\n valType: \"enumerated\",\n values: [\n \"paper\",\n uh.idRegex.x.toString()\n ],\n editType: \"calc\",\n description: [\n \"Sets the annotation's x coordinate axis.\",\n fh.axisRefDescription(\"x\", \"left\", \"right\")\n ].join(\" \")\n },\n x: {\n valType: \"any\",\n editType: \"calc+arraydraw\",\n description: [\n \"Sets the annotation's x position.\",\n \"If the axis `type` is *log*, then you must take the\",\n \"log of your desired range.\",\n \"If the axis `type` is *date*, it should be date strings,\",\n \"like date data, though Date objects and unix milliseconds\",\n \"will be accepted and converted to strings.\",\n \"If the axis `type` is *category*, it should be numbers,\",\n \"using the scale where each category is assigned a serial\",\n \"number from zero in the order it appears.\"\n ].join(\" \")\n },\n xanchor: {\n valType: \"enumerated\",\n values: [\"auto\", \"left\", \"center\", \"right\"],\n dflt: \"auto\",\n editType: \"calc+arraydraw\",\n description: [\n \"Sets the text box's horizontal position anchor\",\n \"This anchor binds the `x` position to the *left*, *center*\",\n \"or *right* of the annotation.\",\n \"For example, if `x` is set to 1, `xref` to *paper* and\",\n \"`xanchor` to *right* then the right-most portion of the\",\n \"annotation lines up with the right-most edge of the\",\n \"plotting area.\",\n \"If *auto*, the anchor is equivalent to *center* for\",\n \"data-referenced annotations or if there is an arrow,\",\n \"whereas for paper-referenced with no arrow, the anchor picked\",\n \"corresponds to the closest side.\"\n ].join(\" \")\n },\n xshift: {\n valType: \"number\",\n dflt: 0,\n editType: \"calc+arraydraw\",\n description: [\n \"Shifts the position of the whole annotation and arrow to the\",\n \"right (positive) or left (negative) by this many pixels.\"\n ].join(\" \")\n },\n yref: {\n valType: \"enumerated\",\n values: [\n \"paper\",\n uh.idRegex.y.toString()\n ],\n editType: \"calc\",\n description: [\n \"Sets the annotation's y coordinate axis.\",\n fh.axisRefDescription(\"y\", \"bottom\", \"top\")\n ].join(\" \")\n },\n y: {\n valType: \"any\",\n editType: \"calc+arraydraw\",\n description: [\n \"Sets the annotation's y position.\",\n \"If the axis `type` is *log*, then you must take the\",\n \"log of your desired range.\",\n \"If the axis `type` is *date*, it should be date strings,\",\n \"like date data, though Date objects and unix milliseconds\",\n \"will be accepted and converted to strings.\",\n \"If the axis `type` is *category*, it should be numbers,\",\n \"using the scale where each category is assigned a serial\",\n \"number from zero in the order it appears.\"\n ].join(\" \")\n },\n yanchor: {\n valType: \"enumerated\",\n values: [\"auto\", \"top\", \"middle\", \"bottom\"],\n dflt: \"auto\",\n editType: \"calc+arraydraw\",\n description: [\n \"Sets the text box's vertical position anchor\",\n \"This anchor binds the `y` position to the *top*, *middle*\",\n \"or *bottom* of the annotation.\",\n \"For example, if `y` is set to 1, `yref` to *paper* and\",\n \"`yanchor` to *top* then the top-most portion of the\",\n \"annotation lines up with the top-most edge of the\",\n \"plotting area.\",\n \"If *auto*, the anchor is equivalent to *middle* for\",\n \"data-referenced annotations or if there is an arrow,\",\n \"whereas for paper-referenced with no arrow, the anchor picked\",\n \"corresponds to the closest side.\"\n ].join(\" \")\n },\n yshift: {\n valType: \"number\",\n dflt: 0,\n editType: \"calc+arraydraw\",\n description: [\n \"Shifts the position of the whole annotation and arrow up\",\n \"(positive) or down (negative) by this many pixels.\"\n ].join(\" \")\n },\n clicktoshow: {\n valType: \"enumerated\",\n values: [!1, \"onoff\", \"onout\"],\n dflt: !1,\n editType: \"arraydraw\",\n description: [\n \"Makes this annotation respond to clicks on the plot.\",\n \"If you click a data point that exactly matches the `x` and `y`\",\n \"values of this annotation, and it is hidden (visible: false),\",\n \"it will appear. In *onoff* mode, you must click the same point\",\n \"again to make it disappear, so if you click multiple points,\",\n \"you can show multiple annotations. In *onout* mode, a click\",\n \"anywhere else in the plot (on another data point or not) will\",\n \"hide this annotation.\",\n \"If you need to show/hide this annotation in response to different\",\n \"`x` or `y` values, you can set `xclick` and/or `yclick`. This is\",\n \"useful for example to label the side of a bar. To label markers\",\n \"though, `standoff` is preferred over `xclick` and `yclick`.\"\n ].join(\" \")\n },\n xclick: {\n valType: \"any\",\n editType: \"arraydraw\",\n description: [\n \"Toggle this annotation when clicking a data point whose `x` value\",\n \"is `xclick` rather than the annotation's `x` value.\"\n ].join(\" \")\n },\n yclick: {\n valType: \"any\",\n editType: \"arraydraw\",\n description: [\n \"Toggle this annotation when clicking a data point whose `y` value\",\n \"is `yclick` rather than the annotation's `y` value.\"\n ].join(\" \")\n },\n hovertext: {\n valType: \"string\",\n editType: \"arraydraw\",\n description: [\n \"Sets text to appear when hovering over this annotation.\",\n \"If omitted or blank, no hover label will appear.\"\n ].join(\" \")\n },\n hoverlabel: {\n bgcolor: {\n valType: \"color\",\n editType: \"arraydraw\",\n description: [\n \"Sets the background color of the hover label.\",\n \"By default uses the annotation's `bgcolor` made opaque,\",\n \"or white if it was transparent.\"\n ].join(\" \")\n },\n bordercolor: {\n valType: \"color\",\n editType: \"arraydraw\",\n description: [\n \"Sets the border color of the hover label.\",\n \"By default uses either dark grey or white, for maximum\",\n \"contrast with `hoverlabel.bgcolor`.\"\n ].join(\" \")\n },\n font: aA({\n editType: \"arraydraw\",\n description: [\n \"Sets the hover label text font.\",\n \"By default uses the global hover font and size,\",\n \"with color from `hoverlabel.bordercolor`.\"\n ].join(\" \")\n }),\n editType: \"arraydraw\"\n },\n captureevents: {\n valType: \"boolean\",\n editType: \"arraydraw\",\n description: [\n \"Determines whether the annotation text box captures mouse move\",\n \"and click events, or allows those events to pass through to data\",\n \"points in the plot that may be behind the annotation. By default\",\n \"`captureevents` is *false* unless `hovertext` is provided.\",\n \"If you use the event `plotly_clickannotation` without `hovertext`\",\n \"you must explicitly enable `captureevents`.\"\n ].join(\" \")\n },\n editType: \"calc\",\n _deprecated: {\n ref: {\n valType: \"string\",\n editType: \"calc\",\n description: [\n \"Obsolete. Set `xref` and `yref` separately instead.\"\n ].join(\" \")\n }\n }\n}), e_ = {\n PTS_LINESONLY: 20,\n // fixed parameters of clustering and clipping algorithms\n // fraction of clustering tolerance \"so close we don't even consider it a new point\"\n minTolerance: 0.2,\n // how fast does clustering tolerance increase as you get away from the visible region\n toleranceGrowth: 10,\n // number of viewport sizes away from the visible region\n // at which we clip all lines to the perimeter\n maxScreensAway: 20,\n eventDataKeys: []\n}, lA = kp.axisHoverFormat, KQ = _i.texttemplateAttrs, JQ = _i.hovertemplateAttrs, sA = Jc, QQ = Fn, eee = Zi.dash, tee = Zi.pattern, ree = Sr, uA = e_, Ng = en.extendFlat;\nfunction fA(e) {\n return {\n valType: \"any\",\n dflt: 0,\n editType: \"calc\",\n description: [\n \"Only relevant when the axis `type` is *date*.\",\n \"Sets the period positioning in milliseconds or *M* on the \" + e + \" axis.\",\n \"Special values in the form of *M* could be used to declare\",\n \"the number of months. In this case `n` must be a positive integer.\"\n ].join(\" \")\n };\n}\nfunction cA(e) {\n return {\n valType: \"any\",\n editType: \"calc\",\n description: [\n \"Only relevant when the axis `type` is *date*.\",\n \"Sets the base for period positioning in milliseconds or date string on the \" + e + \" axis.\",\n \"When `\" + e + \"period` is round number of weeks,\",\n \"the `\" + e + \"period0` by default would be on a Sunday i.e. 2000-01-02,\",\n \"otherwise it would be at 2000-01-01.\"\n ].join(\" \")\n };\n}\nfunction dA(e) {\n return {\n valType: \"enumerated\",\n values: [\n \"start\",\n \"middle\",\n \"end\"\n ],\n dflt: \"middle\",\n editType: \"calc\",\n description: [\n \"Only relevant when the axis `type` is *date*.\",\n \"Sets the alignment of data points on the \" + e + \" axis.\"\n ].join(\" \")\n };\n}\nvar ws = {\n x: {\n valType: \"data_array\",\n editType: \"calc+clearAxisTypes\",\n anim: !0,\n description: \"Sets the x coordinates.\"\n },\n x0: {\n valType: \"any\",\n dflt: 0,\n editType: \"calc+clearAxisTypes\",\n anim: !0,\n description: [\n \"Alternate to `x`.\",\n \"Builds a linear space of x coordinates.\",\n \"Use with `dx`\",\n \"where `x0` is the starting coordinate and `dx` the step.\"\n ].join(\" \")\n },\n dx: {\n valType: \"number\",\n dflt: 1,\n editType: \"calc\",\n anim: !0,\n description: [\n \"Sets the x coordinate step.\",\n \"See `x0` for more info.\"\n ].join(\" \")\n },\n y: {\n valType: \"data_array\",\n editType: \"calc+clearAxisTypes\",\n anim: !0,\n description: \"Sets the y coordinates.\"\n },\n y0: {\n valType: \"any\",\n dflt: 0,\n editType: \"calc+clearAxisTypes\",\n anim: !0,\n description: [\n \"Alternate to `y`.\",\n \"Builds a linear space of y coordinates.\",\n \"Use with `dy`\",\n \"where `y0` is the starting coordinate and `dy` the step.\"\n ].join(\" \")\n },\n dy: {\n valType: \"number\",\n dflt: 1,\n editType: \"calc\",\n anim: !0,\n description: [\n \"Sets the y coordinate step.\",\n \"See `y0` for more info.\"\n ].join(\" \")\n },\n xperiod: fA(\"x\"),\n yperiod: fA(\"y\"),\n xperiod0: cA(\"x0\"),\n yperiod0: cA(\"y0\"),\n xperiodalignment: dA(\"x\"),\n yperiodalignment: dA(\"y\"),\n xhoverformat: lA(\"x\"),\n yhoverformat: lA(\"y\"),\n offsetgroup: {\n valType: \"string\",\n dflt: \"\",\n editType: \"calc\",\n description: [\n \"Set several traces linked to the same position axis\",\n \"or matching axes to the same\",\n \"offsetgroup where bars of the same position coordinate will line up.\"\n ].join(\" \")\n },\n alignmentgroup: {\n valType: \"string\",\n dflt: \"\",\n editType: \"calc\",\n description: [\n \"Set several traces linked to the same position axis\",\n \"or matching axes to the same\",\n \"alignmentgroup. This controls whether bars compute their positional\",\n \"range dependently or independently.\"\n ].join(\" \")\n },\n stackgroup: {\n valType: \"string\",\n dflt: \"\",\n editType: \"calc\",\n description: [\n \"Set several scatter traces (on the same subplot) to the same\",\n \"stackgroup in order to add their y values (or their x values if\",\n \"`orientation` is *h*). If blank or omitted this trace will not be\",\n \"stacked. Stacking also turns `fill` on by default, using *tonexty*\",\n \"(*tonextx*) if `orientation` is *h* (*v*) and sets the default\",\n \"`mode` to *lines* irrespective of point count.\",\n \"You can only stack on a numeric (linear or log) axis.\",\n \"Traces in a `stackgroup` will only fill to (or be filled to) other\",\n \"traces in the same group. With multiple `stackgroup`s or some\",\n \"traces stacked and some not, if fill-linked traces are not already\",\n \"consecutive, the later ones will be pushed down in the drawing order.\"\n ].join(\" \")\n },\n orientation: {\n valType: \"enumerated\",\n values: [\"v\", \"h\"],\n editType: \"calc\",\n description: [\n \"Only relevant in the following cases:\",\n \"1. when `scattermode` is set to *group*.\",\n \"2. when `stackgroup` is used, and only the first\",\n \"`orientation` found in the `stackgroup` will be used - including\",\n \"if `visible` is *legendonly* but not if it is `false`. Sets the\",\n \"stacking direction. With *v* (*h*), the y (x) values of subsequent\",\n \"traces are added. Also affects the default value of `fill`.\"\n ].join(\" \")\n },\n groupnorm: {\n valType: \"enumerated\",\n values: [\"\", \"fraction\", \"percent\"],\n dflt: \"\",\n editType: \"calc\",\n description: [\n \"Only relevant when `stackgroup` is used, and only the first\",\n \"`groupnorm` found in the `stackgroup` will be used - including\",\n \"if `visible` is *legendonly* but not if it is `false`.\",\n \"Sets the normalization for the sum of this `stackgroup`.\",\n \"With *fraction*, the value of each trace at each location is\",\n \"divided by the sum of all trace values at that location.\",\n \"*percent* is the same but multiplied by 100 to show percentages.\",\n \"If there are multiple subplots, or multiple `stackgroup`s on one\",\n \"subplot, each will be normalized within its own set.\"\n ].join(\" \")\n },\n stackgaps: {\n valType: \"enumerated\",\n values: [\"infer zero\", \"interpolate\"],\n dflt: \"infer zero\",\n editType: \"calc\",\n description: [\n \"Only relevant when `stackgroup` is used, and only the first\",\n \"`stackgaps` found in the `stackgroup` will be used - including\",\n \"if `visible` is *legendonly* but not if it is `false`.\",\n \"Determines how we handle locations at which other traces in this\",\n \"group have data but this one does not.\",\n \"With *infer zero* we insert a zero at these locations.\",\n \"With *interpolate* we linearly interpolate between existing\",\n \"values, and extrapolate a constant beyond the existing values.\"\n // TODO - implement interrupt mode\n // '*interrupt* omits this trace from the stack at this location by',\n // 'dropping abruptly, midway between the existing and missing locations.'\n ].join(\" \")\n },\n text: {\n valType: \"string\",\n dflt: \"\",\n arrayOk: !0,\n editType: \"calc\",\n description: [\n \"Sets text elements associated with each (x,y) pair.\",\n \"If a single string, the same string appears over\",\n \"all the data points.\",\n \"If an array of string, the items are mapped in order to the\",\n \"this trace's (x,y) coordinates.\",\n \"If trace `hoverinfo` contains a *text* flag and *hovertext* is not set,\",\n \"these elements will be seen in the hover labels.\"\n ].join(\" \")\n },\n texttemplate: KQ({}, {}),\n hovertext: {\n valType: \"string\",\n dflt: \"\",\n arrayOk: !0,\n editType: \"style\",\n description: [\n \"Sets hover text elements associated with each (x,y) pair.\",\n \"If a single string, the same string appears over\",\n \"all the data points.\",\n \"If an array of string, the items are mapped in order to the\",\n \"this trace's (x,y) coordinates.\",\n \"To be seen, trace `hoverinfo` must contain a *text* flag.\"\n ].join(\" \")\n },\n mode: {\n valType: \"flaglist\",\n flags: [\"lines\", \"markers\", \"text\"],\n extras: [\"none\"],\n editType: \"calc\",\n description: [\n \"Determines the drawing mode for this scatter trace.\",\n \"If the provided `mode` includes *text* then the `text` elements\",\n \"appear at the coordinates. Otherwise, the `text` elements\",\n \"appear on hover.\",\n \"If there are less than \" + uA.PTS_LINESONLY + \" points\",\n \"and the trace is not stacked\",\n \"then the default is *lines+markers*. Otherwise, *lines*.\"\n ].join(\" \")\n },\n hoveron: {\n valType: \"flaglist\",\n flags: [\"points\", \"fills\"],\n editType: \"style\",\n description: [\n \"Do the hover effects highlight individual points (markers or\",\n \"line points) or do they highlight filled regions?\",\n \"If the fill is *toself* or *tonext* and there are no markers\",\n \"or text, then the default is *fills*, otherwise it is *points*.\"\n ].join(\" \")\n },\n hovertemplate: JQ({}, {\n keys: uA.eventDataKeys\n }),\n line: {\n color: {\n valType: \"color\",\n editType: \"style\",\n anim: !0,\n description: \"Sets the line color.\"\n },\n width: {\n valType: \"number\",\n min: 0,\n dflt: 2,\n editType: \"style\",\n anim: !0,\n description: \"Sets the line width (in px).\"\n },\n shape: {\n valType: \"enumerated\",\n values: [\"linear\", \"spline\", \"hv\", \"vh\", \"hvh\", \"vhv\"],\n dflt: \"linear\",\n editType: \"plot\",\n description: [\n \"Determines the line shape.\",\n \"With *spline* the lines are drawn using spline interpolation.\",\n \"The other available values correspond to step-wise line shapes.\"\n ].join(\" \")\n },\n smoothing: {\n valType: \"number\",\n min: 0,\n max: 1.3,\n dflt: 1,\n editType: \"plot\",\n description: [\n \"Has an effect only if `shape` is set to *spline*\",\n \"Sets the amount of smoothing.\",\n \"*0* corresponds to no smoothing (equivalent to a *linear* shape).\"\n ].join(\" \")\n },\n dash: Ng({}, eee, { editType: \"style\" }),\n backoff: {\n // we want to have a similar option for the start of the line\n valType: \"number\",\n min: 0,\n dflt: \"auto\",\n arrayOk: !0,\n editType: \"plot\",\n description: [\n \"Sets the line back off from the end point of the nth line segment (in px).\",\n \"This option is useful e.g. to avoid overlap with arrowhead markers.\",\n \"With *auto* the lines would trim before markers if `marker.angleref` is set to *previous*.\"\n ].join(\" \")\n },\n simplify: {\n valType: \"boolean\",\n dflt: !0,\n editType: \"plot\",\n description: [\n \"Simplifies lines by removing nearly-collinear points. When transitioning\",\n \"lines, it may be desirable to disable this so that the number of points\",\n \"along the resulting SVG path is unaffected.\"\n ].join(\" \")\n },\n editType: \"plot\"\n },\n connectgaps: {\n valType: \"boolean\",\n dflt: !1,\n editType: \"calc\",\n description: [\n \"Determines whether or not gaps\",\n \"(i.e. {nan} or missing values)\",\n \"in the provided data arrays are connected.\"\n ].join(\" \")\n },\n cliponaxis: {\n valType: \"boolean\",\n dflt: !0,\n editType: \"plot\",\n description: [\n \"Determines whether or not markers and text nodes\",\n \"are clipped about the subplot axes.\",\n \"To show markers and text nodes above axis lines and tick labels,\",\n \"make sure to set `xaxis.layer` and `yaxis.layer` to *below traces*.\"\n ].join(\" \")\n },\n fill: {\n valType: \"enumerated\",\n values: [\"none\", \"tozeroy\", \"tozerox\", \"tonexty\", \"tonextx\", \"toself\", \"tonext\"],\n editType: \"calc\",\n description: [\n \"Sets the area to fill with a solid color.\",\n \"Defaults to *none* unless this trace is stacked, then it gets\",\n \"*tonexty* (*tonextx*) if `orientation` is *v* (*h*)\",\n \"Use with `fillcolor` if not *none*.\",\n \"*tozerox* and *tozeroy* fill to x=0 and y=0 respectively.\",\n \"*tonextx* and *tonexty* fill between the endpoints of this\",\n \"trace and the endpoints of the trace before it, connecting those\",\n \"endpoints with straight lines (to make a stacked area graph);\",\n \"if there is no trace before it, they behave like *tozerox* and\",\n \"*tozeroy*.\",\n \"*toself* connects the endpoints of the trace (or each segment\",\n \"of the trace if it has gaps) into a closed shape.\",\n \"*tonext* fills the space between two traces if one completely\",\n \"encloses the other (eg consecutive contour lines), and behaves like\",\n \"*toself* if there is no trace before it. *tonext* should not be\",\n \"used if one trace does not enclose the other.\",\n \"Traces in a `stackgroup` will only fill to (or be filled to) other\",\n \"traces in the same group. With multiple `stackgroup`s or some\",\n \"traces stacked and some not, if fill-linked traces are not already\",\n \"consecutive, the later ones will be pushed down in the drawing order.\"\n ].join(\" \")\n },\n fillcolor: {\n valType: \"color\",\n editType: \"style\",\n anim: !0,\n description: [\n \"Sets the fill color.\",\n \"Defaults to a half-transparent variant of the line color,\",\n \"marker color, or marker line color, whichever is available.\"\n ].join(\" \")\n },\n fillpattern: tee,\n marker: Ng(\n {\n symbol: {\n valType: \"enumerated\",\n values: ree.symbolList,\n dflt: \"circle\",\n arrayOk: !0,\n editType: \"style\",\n description: [\n \"Sets the marker symbol type.\",\n \"Adding 100 is equivalent to appending *-open* to a symbol name.\",\n \"Adding 200 is equivalent to appending *-dot* to a symbol name.\",\n \"Adding 300 is equivalent to appending *-open-dot*\",\n \"or *dot-open* to a symbol name.\"\n ].join(\" \")\n },\n opacity: {\n valType: \"number\",\n min: 0,\n max: 1,\n arrayOk: !0,\n editType: \"style\",\n anim: !0,\n description: \"Sets the marker opacity.\"\n },\n angle: {\n valType: \"angle\",\n dflt: 0,\n arrayOk: !0,\n editType: \"plot\",\n anim: !1,\n // TODO: possibly set to true in future\n description: [\n \"Sets the marker angle in respect to `angleref`.\"\n ].join(\" \")\n },\n angleref: {\n valType: \"enumerated\",\n values: [\"previous\", \"up\"],\n dflt: \"up\",\n editType: \"plot\",\n anim: !1,\n description: [\n \"Sets the reference for marker angle.\",\n \"With *previous*, angle 0 points along the line from the previous point to this one.\",\n \"With *up*, angle 0 points toward the top of the screen.\"\n ].join(\" \")\n },\n standoff: {\n valType: \"number\",\n min: 0,\n dflt: 0,\n arrayOk: !0,\n editType: \"plot\",\n anim: !0,\n description: [\n \"Moves the marker away from the data point in the direction of `angle` (in px).\",\n \"This can be useful for example if you have another marker at this\",\n \"location and you want to point an arrowhead marker at it.\"\n ].join(\" \")\n },\n size: {\n valType: \"number\",\n min: 0,\n dflt: 6,\n arrayOk: !0,\n editType: \"calc\",\n anim: !0,\n description: \"Sets the marker size (in px).\"\n },\n maxdisplayed: {\n valType: \"number\",\n min: 0,\n dflt: 0,\n editType: \"plot\",\n description: [\n \"Sets a maximum number of points to be drawn on the graph.\",\n \"*0* corresponds to no limit.\"\n ].join(\" \")\n },\n sizeref: {\n valType: \"number\",\n dflt: 1,\n editType: \"calc\",\n description: [\n \"Has an effect only if `marker.size` is set to a numerical array.\",\n \"Sets the scale factor used to determine the rendered size of\",\n \"marker points. Use with `sizemin` and `sizemode`.\"\n ].join(\" \")\n },\n sizemin: {\n valType: \"number\",\n min: 0,\n dflt: 0,\n editType: \"calc\",\n description: [\n \"Has an effect only if `marker.size` is set to a numerical array.\",\n \"Sets the minimum size (in px) of the rendered marker points.\"\n ].join(\" \")\n },\n sizemode: {\n valType: \"enumerated\",\n values: [\"diameter\", \"area\"],\n dflt: \"diameter\",\n editType: \"calc\",\n description: [\n \"Has an effect only if `marker.size` is set to a numerical array.\",\n \"Sets the rule for which the data in `size` is converted\",\n \"to pixels.\"\n ].join(\" \")\n },\n line: Ng(\n {\n width: {\n valType: \"number\",\n min: 0,\n arrayOk: !0,\n editType: \"style\",\n anim: !0,\n description: \"Sets the width (in px) of the lines bounding the marker points.\"\n },\n editType: \"calc\"\n },\n sA(\"marker.line\", { anim: !0 })\n ),\n gradient: {\n type: {\n valType: \"enumerated\",\n values: [\"radial\", \"horizontal\", \"vertical\", \"none\"],\n arrayOk: !0,\n dflt: \"none\",\n editType: \"calc\",\n description: [\n \"Sets the type of gradient used to fill the markers\"\n ].join(\" \")\n },\n color: {\n valType: \"color\",\n arrayOk: !0,\n editType: \"calc\",\n description: [\n \"Sets the final color of the gradient fill:\",\n \"the center color for radial, the right for horizontal,\",\n \"or the bottom for vertical.\"\n ].join(\" \")\n },\n editType: \"calc\"\n },\n editType: \"calc\"\n },\n sA(\"marker\", { anim: !0 })\n ),\n selected: {\n marker: {\n opacity: {\n valType: \"number\",\n min: 0,\n max: 1,\n editType: \"style\",\n description: \"Sets the marker opacity of selected points.\"\n },\n color: {\n valType: \"color\",\n editType: \"style\",\n description: \"Sets the marker color of selected points.\"\n },\n size: {\n valType: \"number\",\n min: 0,\n editType: \"style\",\n description: \"Sets the marker size of selected points.\"\n },\n editType: \"style\"\n },\n textfont: {\n color: {\n valType: \"color\",\n editType: \"style\",\n description: \"Sets the text font color of selected points.\"\n },\n editType: \"style\"\n },\n editType: \"style\"\n },\n unselected: {\n marker: {\n opacity: {\n valType: \"number\",\n min: 0,\n max: 1,\n editType: \"style\",\n description: \"Sets the marker opacity of unselected points, applied only when a selection exists.\"\n },\n color: {\n valType: \"color\",\n editType: \"style\",\n description: \"Sets the marker color of unselected points, applied only when a selection exists.\"\n },\n size: {\n valType: \"number\",\n min: 0,\n editType: \"style\",\n description: \"Sets the marker size of unselected points, applied only when a selection exists.\"\n },\n editType: \"style\"\n },\n textfont: {\n color: {\n valType: \"color\",\n editType: \"style\",\n description: \"Sets the text font color of unselected points, applied only when a selection exists.\"\n },\n editType: \"style\"\n },\n editType: \"style\"\n },\n textposition: {\n valType: \"enumerated\",\n values: [\n \"top left\",\n \"top center\",\n \"top right\",\n \"middle left\",\n \"middle center\",\n \"middle right\",\n \"bottom left\",\n \"bottom center\",\n \"bottom right\"\n ],\n dflt: \"middle center\",\n arrayOk: !0,\n editType: \"calc\",\n description: [\n \"Sets the positions of the `text` elements\",\n \"with respects to the (x,y) coordinates.\"\n ].join(\" \")\n },\n textfont: QQ({\n editType: \"calc\",\n colorEditType: \"style\",\n arrayOk: !0,\n description: \"Sets the text font.\"\n })\n}, hA = td, vA = ws.line, nee = Zi.dash, ch = en.extendFlat, aee = Lo.overrideAll, iee = Mr.templatedArray, pA = Vp, vE = aee(iee(\"selection\", {\n type: {\n valType: \"enumerated\",\n values: [\"rect\", \"path\"],\n description: [\n \"Specifies the selection type to be drawn.\",\n \"If *rect*, a rectangle is drawn linking\",\n \"(`x0`,`y0`), (`x1`,`y0`), (`x1`,`y1`) and (`x0`,`y1`).\",\n \"If *path*, draw a custom SVG path using `path`.\"\n ].join(\" \")\n },\n xref: ch({}, hA.xref, {\n description: [\n \"Sets the selection's x coordinate axis.\",\n pA.axisRefDescription(\"x\", \"left\", \"right\")\n ].join(\" \")\n }),\n yref: ch({}, hA.yref, {\n description: [\n \"Sets the selection's x coordinate axis.\",\n pA.axisRefDescription(\"y\", \"bottom\", \"top\")\n ].join(\" \")\n }),\n x0: {\n valType: \"any\",\n description: \"Sets the selection's starting x position.\"\n },\n x1: {\n valType: \"any\",\n description: \"Sets the selection's end x position.\"\n },\n y0: {\n valType: \"any\",\n description: \"Sets the selection's starting y position.\"\n },\n y1: {\n valType: \"any\",\n description: \"Sets the selection's end y position.\"\n },\n path: {\n valType: \"string\",\n editType: \"arraydraw\",\n description: [\n \"For `type` *path* - a valid SVG path similar to `shapes.path` in data coordinates.\",\n \"Allowed segments are: M, L and Z.\"\n ].join(\" \")\n },\n opacity: {\n valType: \"number\",\n min: 0,\n max: 1,\n dflt: 0.7,\n editType: \"arraydraw\",\n description: \"Sets the opacity of the selection.\"\n },\n line: {\n color: vA.color,\n width: ch({}, vA.width, {\n min: 1,\n dflt: 1\n }),\n dash: ch({}, nee, {\n dflt: \"dot\"\n })\n }\n}), \"arraydraw\", \"from-root\"), mA = Ue, dh = Cr, oee = Ji, lee = vE, gA = xl, see = function(t, r) {\n oee(t, r, {\n name: \"selections\",\n handleItemDefaults: uee\n });\n for (var n = r.selections, a = 0; a < n.length; a++) {\n var i = n[a];\n i && i.path === void 0 && (i.x0 === void 0 || i.x1 === void 0 || i.y0 === void 0 || i.y1 === void 0) && (r.selections[a] = null);\n }\n};\nfunction uee(e, t, r) {\n function n(T, S) {\n return mA.coerce(e, t, lee, T, S);\n }\n var a = n(\"path\"), i = a ? \"path\" : \"rect\", o = n(\"type\", i), l = o !== \"path\";\n l && delete t.path, n(\"opacity\"), n(\"line.color\"), n(\"line.width\"), n(\"line.dash\");\n for (var s = [\"x\", \"y\"], u = 0; u < 2; u++) {\n var f = s[u], d = { _fullLayout: r }, h, p, v, m = dh.coerceRef(e, t, d, f);\n if (h = dh.getFromId(d, m), h._selectionIndices.push(t._index), v = gA.rangeToShapePosition(h), p = gA.shapePositionToRange(h), l) {\n var g = f + \"0\", y = f + \"1\", w = e[g], k = e[y];\n e[g] = p(e[g], !0), e[y] = p(e[y], !0), dh.coercePosition(t, d, n, m, g), dh.coercePosition(t, d, n, m, y);\n var x = t[g], _ = t[y];\n x !== void 0 && _ !== void 0 && (t[g] = v(x), t[y] = v(_), e[g] = w, e[y] = k);\n }\n }\n l && mA.noneOrAll(e, t, [\"x0\", \"x1\", \"y0\", \"y1\"]);\n}\nvar fee = function(t, r, n) {\n n(\"newselection.mode\");\n var a = n(\"newselection.line.width\");\n a && (n(\"newselection.line.color\"), n(\"newselection.line.dash\")), n(\"activeselection.fillcolor\"), n(\"activeselection.opacity\");\n}, cee = Nt, yA = Ue, bA = gn, qp = function(t) {\n return function(n, a) {\n var i = n[t];\n if (Array.isArray(i))\n for (var o = cee.subplotsRegistry.cartesian, l = o.idRegex, s = a._subplots, u = s.xaxis, f = s.yaxis, d = s.cartesian, h = a._has(\"cartesian\") || a._has(\"gl2d\"), p = 0; p < i.length; p++) {\n var v = i[p];\n if (yA.isPlainObject(v)) {\n var m = bA.cleanId(v.xref, \"x\", !1), g = bA.cleanId(v.yref, \"y\", !1), y = l.x.test(m), w = l.y.test(g);\n if (y || w) {\n h || yA.pushUnique(a._basePlotModules, o);\n var k = !1;\n y && u.indexOf(m) === -1 && (u.push(m), k = !0), w && f.indexOf(g) === -1 && (f.push(g), k = !0), k && y && w && d.push(m + g);\n }\n }\n }\n };\n}, _A = XD, Nf = YQ, rd = {\n moduleType: \"component\",\n name: \"selections\",\n layoutAttributes: vE,\n supplyLayoutDefaults: see,\n supplyDrawNewSelectionDefaults: fee,\n includeBasePlot: qp(\"selections\"),\n draw: _A.draw,\n drawOne: _A.drawOne,\n reselect: Nf.reselect,\n prepSelect: Nf.prepSelect,\n clearOutline: Nf.clearOutline,\n clearSelectionsCache: Nf.clearSelectionsCache,\n selectOnClick: Nf.selectOnClick\n}, t_ = lr, Ha = Ue, xA = Ha.numberFormat, dee = bi, hee = K4, hh = Nt, pE = Ha.strTranslate, vee = Rn, wA = nr, Go = Sr, pee = Ao, TA = Cr, mee = xs, gee = Qi, mE = rf, vh = mE.selectingOrDrawing, yee = mE.freeMode, bee = On.FROM_TL, _ee = Eb, xee = zp.redrawReglTraces, wee = Tn, Hy = gn.getFromId, Tee = rd.prepSelect, kee = rd.clearOutline, Aee = rd.selectOnClick, Og = VD, r_ = Yn, kA = r_.MINDRAG, Vn = r_.MINZOOM, AA = !0;\nfunction Mee(e, t, r, n, a, i, o, l) {\n var s = e._fullLayout._zoomlayer, u = o + l === \"nsew\", f = (o + l).length === 1, d, h, p, v, m, g, y, w, k, x, _, T, S, M, L, F, $, I, O, G, K, V, z;\n r += t.yaxis._shift;\n function P() {\n if (d = t.xaxis, h = t.yaxis, k = d._length, x = h._length, y = d._offset, w = h._offset, p = {}, p[d._id] = d, v = {}, v[h._id] = h, o && l)\n for (var Pe = t.overlays, Ie = 0; Ie < Pe.length; Ie++) {\n var Ne = Pe[Ie].xaxis;\n p[Ne._id] = Ne;\n var tt = Pe[Ie].yaxis;\n v[tt._id] = tt;\n }\n m = LA(p), g = LA(v), S = MA(m, l), M = MA(g, o), L = !M && !S, T = CA(e, e._fullLayout._axisMatchGroups, p, v), _ = CA(e, e._fullLayout._axisConstraintGroups, p, v, T);\n var Je = _.isSubplotConstrained || T.isSubplotConstrained;\n F = l || Je, $ = o || Je;\n var it = e._fullLayout;\n I = it._has(\"scattergl\"), O = it._has(\"splom\"), G = it._has(\"svg\");\n }\n P();\n var R = Lee(M + S, e._fullLayout.dragmode, u), H = yE(t, o + l + \"drag\", R, r, n, a, i);\n if (L && !u)\n return H.onmousedown = null, H.style.pointerEvents = \"none\", H;\n var B = {\n element: H,\n gd: e,\n plotinfo: t\n };\n B.prepFn = function(Pe, Ie, Ne) {\n var tt = B.dragmode, Je = e._fullLayout.dragmode;\n Je !== tt && (B.dragmode = Je), P(), V = e._fullLayout._invScaleX, z = e._fullLayout._invScaleY, L || (u ? Pe.shiftKey ? Je === \"pan\" ? Je = \"zoom\" : vh(Je) || (Je = \"pan\") : Pe.ctrlKey && (Je = \"pan\") : Je = \"pan\"), yee(Je) ? B.minDrag = 1 : B.minDrag = void 0, vh(Je) ? (B.xaxes = m, B.yaxes = g, Tee(Pe, Ie, Ne, B, Je)) : (B.clickFn = ee, vh(tt) && W(), L || (Je === \"zoom\" ? (B.moveFn = ve, B.doneFn = Le, B.minDrag = 1, ge(Pe, Ie, Ne)) : Je === \"pan\" && (B.moveFn = Me, B.doneFn = ot))), e._fullLayout._redrag = function() {\n var it = e._dragdata;\n if (it && it.element === H) {\n var at = e._fullLayout.dragmode;\n vh(at) || (P(), ht([0, 0, k, x]), B.moveFn(it.dx, it.dy));\n }\n };\n };\n function W() {\n B.plotinfo.selection = !1, kee(e);\n }\n function ee(Pe, Ie) {\n var Ne = B.gd;\n if (Ne._fullLayout._activeShapeIndex >= 0) {\n Ne._fullLayout._deactivateShape(Ne);\n return;\n }\n var tt = Ne._fullLayout.clickmode;\n if (jy(Ne), Pe === 2 && !f && Qe(), u)\n tt.indexOf(\"select\") > -1 && Aee(Ie, Ne, m, g, t.id, B), tt.indexOf(\"event\") > -1 && pee.click(Ne, Ie, t.id);\n else if (Pe === 1 && f) {\n var Je = o ? h : d, it = o === \"s\" || l === \"w\" ? 0 : 1, at = Je._name + \".range[\" + it + \"]\", Tt = See(Je, it), gt = \"left\", He = \"middle\";\n if (Je.fixedrange) return;\n o ? (He = o === \"n\" ? \"top\" : \"bottom\", Je.side === \"right\" && (gt = \"right\")) : l === \"e\" && (gt = \"right\"), Ne._context.showAxisRangeEntryBoxes && t_.select(H).call(vee.makeEditable, {\n gd: Ne,\n immediate: !0,\n background: Ne._fullLayout.paper_bgcolor,\n text: String(Tt),\n fill: Je.tickfont ? Je.tickfont.color : \"#444\",\n horizontalAlign: gt,\n verticalAlign: He\n }).on(\"edit\", function(pt) {\n var bt = Je.d2r(pt);\n bt !== void 0 && hh.call(\"_guiRelayout\", Ne, at, bt);\n });\n }\n }\n gee.init(B);\n var re, ae, Q, ue, j, U, Z, le, J, pe;\n function ge(Pe, Ie, Ne) {\n var tt = H.getBoundingClientRect();\n re = Ie - tt.left, ae = Ne - tt.top, e._fullLayout._calcInverseTransform(e);\n var Je = Ha.apply3DTransform(e._fullLayout._invTransform)(re, ae);\n re = Je[0], ae = Je[1], Q = { l: re, r: re, w: 0, t: ae, b: ae, h: 0 }, ue = e._hmpixcount ? e._hmlumcount / e._hmpixcount : dee(e._fullLayout.plot_bgcolor).getLuminance(), j = \"M0,0H\" + k + \"V\" + x + \"H0V0\", U = !1, Z = \"xy\", pe = !1, le = bE(s, ue, y, w, j), J = _E(s, y, w);\n }\n function ve(Pe, Ie) {\n if (e._transitioningWithDuration)\n return !1;\n var Ne = Math.max(0, Math.min(k, V * Pe + re)), tt = Math.max(0, Math.min(x, z * Ie + ae)), Je = Math.abs(Ne - re), it = Math.abs(tt - ae);\n Q.l = Math.min(re, Ne), Q.r = Math.max(re, Ne), Q.t = Math.min(ae, tt), Q.b = Math.max(ae, tt);\n function at() {\n Z = \"\", Q.r = Q.l, Q.t = Q.b, J.attr(\"d\", \"M0,0Z\");\n }\n if (_.isSubplotConstrained)\n Je > Vn || it > Vn ? (Z = \"xy\", Je / k > it / x ? (it = Je * x / k, ae > tt ? Q.t = ae - it : Q.b = ae + it) : (Je = it * k / x, re > Ne ? Q.l = re - Je : Q.r = re + Je), J.attr(\"d\", Uh(Q))) : at();\n else if (T.isSubplotConstrained)\n if (Je > Vn || it > Vn) {\n Z = \"xy\";\n var Tt = Math.min(Q.l / k, (x - Q.b) / x), gt = Math.max(Q.r / k, (x - Q.t) / x);\n Q.l = Tt * k, Q.r = gt * k, Q.b = (1 - Tt) * x, Q.t = (1 - gt) * x, J.attr(\"d\", Uh(Q));\n } else\n at();\n else !M || it < Math.min(Math.max(Je * 0.6, kA), Vn) ? Je < kA || !S ? at() : (Q.t = 0, Q.b = x, Z = \"x\", J.attr(\"d\", Dee(Q, ae))) : !S || Je < Math.min(it * 0.6, Vn) ? (Q.l = 0, Q.r = k, Z = \"y\", J.attr(\"d\", Eee(Q, re))) : (Z = \"xy\", J.attr(\"d\", Uh(Q)));\n Q.w = Q.r - Q.l, Q.h = Q.b - Q.t, Z && (pe = !0), e._dragged = pe, xE(le, J, Q, j, U, ue), me(), e.emit(\"plotly_relayouting\", K), U = !0;\n }\n function me() {\n K = {}, (Z === \"xy\" || Z === \"x\") && (By(m, Q.l / k, Q.r / k, K, _.xaxes), Ve(\"x\", K)), (Z === \"xy\" || Z === \"y\") && (By(g, (x - Q.b) / x, (x - Q.t) / x, K, _.yaxes), Ve(\"y\", K));\n }\n function Le() {\n me(), jy(e), ot(), TE(e);\n }\n var ze = [0, 0, k, x], Fe = null, Oe = r_.REDRAWDELAY, Re = t.mainplot ? e._fullLayout._plots[t.mainplot] : t;\n function We(Pe) {\n if (!e._context._scrollZoom.cartesian && !e._fullLayout._enablescrollzoom)\n return;\n if (W(), e._transitioningWithDuration) {\n Pe.preventDefault(), Pe.stopPropagation();\n return;\n }\n P(), clearTimeout(Fe);\n var Ie = -Pe.deltaY;\n if (isFinite(Ie) || (Ie = Pe.wheelDelta / 10), !isFinite(Ie)) {\n Ha.log(\"Did not find wheel motion attributes: \", Pe);\n return;\n }\n var Ne = Math.exp(-Math.min(Math.max(Ie, -20), 20) / 200), tt = Re.draglayer.select(\".nsewdrag\").node().getBoundingClientRect(), Je = (Pe.clientX - tt.left) / tt.width, it = (tt.bottom - Pe.clientY) / tt.height, at;\n function Tt(gt, He, pt) {\n if (gt.fixedrange) return;\n var bt = Ha.simpleMap(gt.range, gt.r2l), Ke = bt[0] + (bt[1] - bt[0]) * He;\n function st(rt) {\n return gt.l2r(Ke + (rt - Ke) * pt);\n }\n gt.range = bt.map(st);\n }\n if (F) {\n for (l || (Je = 0.5), at = 0; at < m.length; at++)\n Tt(m[at], Je, Ne);\n Ve(\"x\"), ze[2] *= Ne, ze[0] += ze[2] * Je * (1 / Ne - 1);\n }\n if ($) {\n for (o || (it = 0.5), at = 0; at < g.length; at++)\n Tt(g[at], it, Ne);\n Ve(\"y\"), ze[3] *= Ne, ze[1] += ze[3] * (1 - it) * (1 / Ne - 1);\n }\n ht(ze), qe(), e.emit(\"plotly_relayouting\", K), Fe = setTimeout(function() {\n e._fullLayout && (ze = [0, 0, k, x], ot());\n }, Oe), Pe.preventDefault();\n }\n o.length * l.length !== 1 && kE(H, We);\n function Me(Pe, Ie) {\n if (Pe = Pe * V, Ie = Ie * z, e._transitioningWithDuration)\n return;\n if (e._fullLayout._replotting = !0, S === \"ew\" || M === \"ns\") {\n var Ne = S ? -Pe : 0, tt = M ? -Ie : 0;\n if (T.isSubplotConstrained) {\n if (S && M) {\n var Je = (Pe / k - Ie / x) / 2;\n Pe = Je * k, Ie = -Je * x, Ne = -Pe, tt = -Ie;\n }\n M ? Ne = -tt * k / x : tt = -Ne * x / k;\n }\n S && (SA(m, Pe), Ve(\"x\")), M && (SA(g, Ie), Ve(\"y\")), ht([Ne, tt, k, x]), qe(), e.emit(\"plotly_relayouting\", K);\n return;\n }\n function it(st, rt, ct) {\n for (var X = 1 - rt, se, ie, fe = 0; fe < st.length; fe++) {\n var ke = st[fe];\n if (!ke.fixedrange) {\n se = ke, ie = ke._rl[X] + (ke._rl[rt] - ke._rl[X]) / Cee(ct / ke._length);\n var _e = ke.l2r(ie);\n _e !== !1 && _e !== void 0 && (ke.range[rt] = _e);\n }\n }\n return se._length * (se._rl[rt] - ie) / (se._rl[rt] - se._rl[X]);\n }\n var at = S === \"w\" == (M === \"n\") ? 1 : -1;\n if (S && M && (_.isSubplotConstrained || T.isSubplotConstrained)) {\n var Tt = (Pe / k + at * Ie / x) / 2;\n Pe = Tt * k, Ie = at * Tt * x;\n }\n var gt, He;\n if (S === \"w\" ? Pe = it(m, 0, Pe) : S === \"e\" ? Pe = it(m, 1, -Pe) : S || (Pe = 0), M === \"n\" ? Ie = it(g, 1, Ie) : M === \"s\" ? Ie = it(g, 0, -Ie) : M || (Ie = 0), gt = S === \"w\" ? Pe : 0, He = M === \"n\" ? Ie : 0, _.isSubplotConstrained && !T.isSubplotConstrained || // NW or SE on matching axes - create a symmetric zoom\n T.isSubplotConstrained && S && M && at > 0) {\n var pt;\n if (T.isSubplotConstrained || !S && M.length === 1) {\n for (pt = 0; pt < m.length; pt++)\n m[pt].range = m[pt]._r.slice(), Og(m[pt], 1 - Ie / x);\n Pe = Ie * k / x, gt = Pe / 2;\n }\n if (T.isSubplotConstrained || !M && S.length === 1) {\n for (pt = 0; pt < g.length; pt++)\n g[pt].range = g[pt]._r.slice(), Og(g[pt], 1 - Pe / k);\n Ie = Pe * x / k, He = Ie / 2;\n }\n }\n (!T.isSubplotConstrained || !M) && Ve(\"x\"), (!T.isSubplotConstrained || !S) && Ve(\"y\");\n var bt = k - Pe, Ke = x - Ie;\n T.isSubplotConstrained && !(S && M) && (S ? (He = gt ? 0 : Pe * x / k, Ke = bt * x / k) : (gt = He ? 0 : Ie * k / x, bt = Ke * k / x)), ht([gt, He, bt, Ke]), qe(), e.emit(\"plotly_relayouting\", K);\n }\n function Ve(Pe, Ie) {\n for (var Ne = T.isSubplotConstrained ? { x: g, y: m }[Pe] : T[Pe + \"axes\"], tt = T.isSubplotConstrained ? { x: m, y: g }[Pe] : [], Je = 0; Je < Ne.length; Je++) {\n var it = Ne[Je], at = it._id, Tt = T.xLinks[at] || T.yLinks[at], gt = tt[0] || p[Tt] || v[Tt];\n gt && (Ie ? (Ie[it._name + \".range[0]\"] = Ie[gt._name + \".range[0]\"], Ie[it._name + \".range[1]\"] = Ie[gt._name + \".range[1]\"]) : it.range = gt.range.slice());\n }\n }\n function qe() {\n var Pe = [], Ie;\n function Ne(at) {\n for (Ie = 0; Ie < at.length; Ie++)\n at[Ie].fixedrange || Pe.push(at[Ie]._id);\n }\n function tt(at, Tt) {\n for (Ie = 0; Ie < at.length; Ie++) {\n var gt = at[Ie], He = gt[Tt];\n !gt.fixedrange && He.tickmode === \"sync\" && Pe.push(He._id);\n }\n }\n for (F && (Ne(m), Ne(_.xaxes), Ne(T.xaxes), tt(t.overlays, \"xaxis\")), $ && (Ne(g), Ne(_.yaxes), Ne(T.yaxes), tt(t.overlays, \"yaxis\")), K = {}, Ie = 0; Ie < Pe.length; Ie++) {\n var Je = Pe[Ie], it = Hy(e, Je);\n TA.drawOne(e, it, { skipTitle: !0 }), K[it._name + \".range[0]\"] = it.range[0], K[it._name + \".range[1]\"] = it.range[1];\n }\n TA.redrawComponents(e, Pe);\n }\n function Qe() {\n if (!e._transitioningWithDuration) {\n var Pe = e._context.doubleClick, Ie = [];\n S && (Ie = Ie.concat(m)), M && (Ie = Ie.concat(g)), T.xaxes && (Ie = Ie.concat(T.xaxes)), T.yaxes && (Ie = Ie.concat(T.yaxes));\n var Ne = {}, tt, Je;\n if (Pe === \"reset+autosize\")\n for (Pe = \"autosize\", Je = 0; Je < Ie.length; Je++) {\n tt = Ie[Je];\n var it = tt._rangeInitial0, at = tt._rangeInitial1, Tt = it !== void 0 || at !== void 0;\n if (Tt && (it !== void 0 && it !== tt.range[0] || at !== void 0 && at !== tt.range[1]) || !Tt && tt.autorange !== !0) {\n Pe = \"reset\";\n break;\n }\n }\n if (Pe === \"autosize\")\n for (Je = 0; Je < Ie.length; Je++)\n tt = Ie[Je], tt.fixedrange || (Ne[tt._name + \".autorange\"] = !0);\n else if (Pe === \"reset\") {\n for ((S || _.isSubplotConstrained) && (Ie = Ie.concat(_.xaxes)), M && !_.isSubplotConstrained && (Ie = Ie.concat(_.yaxes)), _.isSubplotConstrained && (S ? M || (Ie = Ie.concat(g)) : Ie = Ie.concat(m)), Je = 0; Je < Ie.length; Je++)\n if (tt = Ie[Je], !tt.fixedrange) {\n var gt = tt._name, He = tt._autorangeInitial;\n tt._rangeInitial0 === void 0 && tt._rangeInitial1 === void 0 ? Ne[gt + \".autorange\"] = !0 : tt._rangeInitial0 === void 0 ? (Ne[gt + \".autorange\"] = He, Ne[gt + \".range\"] = [null, tt._rangeInitial1]) : tt._rangeInitial1 === void 0 ? (Ne[gt + \".range\"] = [tt._rangeInitial0, null], Ne[gt + \".autorange\"] = He) : Ne[gt + \".range\"] = [tt._rangeInitial0, tt._rangeInitial1];\n }\n }\n e.emit(\"plotly_doubleclick\", null), hh.call(\"_guiRelayout\", e, Ne);\n }\n }\n function ot() {\n ht([0, 0, k, x]), Ha.syncOrAsync([\n wee.previousPromises,\n function() {\n e._fullLayout._replotting = !1, hh.call(\"_guiRelayout\", e, K);\n }\n ], e);\n }\n function ht(Pe) {\n var Ie = e._fullLayout, Ne = Ie._plots, tt = Ie._subplots.cartesian, Je, it, at, Tt;\n if (O && hh.subplotsRegistry.splom.drag(e), I) {\n for (Je = 0; Je < tt.length; Je++)\n if (it = Ne[tt[Je]], at = it.xaxis, Tt = it.yaxis, it._scene) {\n var gt = Ha.simpleMap(at.range, at.r2l), He = Ha.simpleMap(Tt.range, Tt.r2l);\n at.limitRange && at.limitRange(), Tt.limitRange && Tt.limitRange(), gt = at.range, He = Tt.range, it._scene.update({ range: [gt[0], He[0], gt[1], He[1]] });\n }\n }\n if ((O || I) && (_ee(e), xee(e)), G) {\n var pt = Pe[2] / d._length, bt = Pe[3] / h._length;\n for (Je = 0; Je < tt.length; Je++) {\n it = Ne[tt[Je]], at = it.xaxis, Tt = it.yaxis;\n var Ke = (F || T.isSubplotConstrained) && !at.fixedrange && p[at._id], st = ($ || T.isSubplotConstrained) && !Tt.fixedrange && v[Tt._id], rt, ct, X, se;\n if (Ke ? (rt = pt, X = l || T.isSubplotConstrained ? Pe[0] : ft(at, rt)) : T.xaHash[at._id] ? (rt = pt, X = Pe[0] * at._length / d._length) : T.yaHash[at._id] ? (rt = bt, X = M === \"ns\" ? -Pe[1] * at._length / h._length : ft(at, rt, { n: \"top\", s: \"bottom\" }[M])) : (rt = vt(at, pt, bt), X = nt(at, rt)), rt > 1 && (at.maxallowed !== void 0 && F === (at.range[0] < at.range[1] ? \"e\" : \"w\") || at.minallowed !== void 0 && F === (at.range[0] < at.range[1] ? \"w\" : \"e\")) && (rt = 1, X = 0), st ? (ct = bt, se = o || T.isSubplotConstrained ? Pe[1] : ft(Tt, ct)) : T.yaHash[Tt._id] ? (ct = bt, se = Pe[1] * Tt._length / h._length) : T.xaHash[Tt._id] ? (ct = pt, se = S === \"ew\" ? -Pe[0] * Tt._length / d._length : ft(Tt, ct, { e: \"right\", w: \"left\" }[S])) : (ct = vt(Tt, pt, bt), se = nt(Tt, ct)), ct > 1 && (Tt.maxallowed !== void 0 && $ === (Tt.range[0] < Tt.range[1] ? \"n\" : \"s\") || Tt.minallowed !== void 0 && $ === (Tt.range[0] < Tt.range[1] ? \"s\" : \"n\")) && (ct = 1, se = 0), !(!rt && !ct)) {\n rt || (rt = 1), ct || (ct = 1);\n var ie = at._offset - X / rt, fe = Tt._offset - se / ct;\n it.clipRect.call(Go.setTranslate, X, se).call(Go.setScale, rt, ct), it.plot.call(Go.setTranslate, ie, fe).call(Go.setScale, 1 / rt, 1 / ct), (rt !== it.xScaleFactor || ct !== it.yScaleFactor) && (Go.setPointGroupScale(it.zoomScalePts, rt, ct), Go.setTextPointsScale(it.zoomScaleTxt, rt, ct)), Go.hideOutsideRangePoints(it.clipOnAxisFalseTraces, it), it.xScaleFactor = rt, it.yScaleFactor = ct;\n }\n }\n }\n }\n function vt(Pe, Ie, Ne) {\n return Pe.fixedrange ? 0 : F && _.xaHash[Pe._id] ? Ie : $ && (_.isSubplotConstrained ? _.xaHash : _.yaHash)[Pe._id] ? Ne : 0;\n }\n function nt(Pe, Ie) {\n return Ie ? (Pe.range = Pe._r.slice(), Og(Pe, Ie), ft(Pe, Ie)) : 0;\n }\n function ft(Pe, Ie, Ne) {\n return Pe._length * (1 - Ie) * bee[Ne || Pe.constraintoward || \"middle\"];\n }\n return H;\n}\nfunction gE(e, t, r, n) {\n var a = Ha.ensureSingle(e.draglayer, t, r, function(i) {\n i.classed(\"drag\", !0).style({ fill: \"transparent\", \"stroke-width\": 0 }).attr(\"data-subplot\", e.id);\n });\n return a.call(mee, n), a.node();\n}\nfunction yE(e, t, r, n, a, i, o) {\n var l = gE(e, \"rect\", t, r);\n return t_.select(l).call(Go.setRect, n, a, i, o), l;\n}\nfunction MA(e, t) {\n for (var r = 0; r < e.length; r++)\n if (!e[r].fixedrange) return t;\n return \"\";\n}\nfunction See(e, t) {\n var r = e.range[t], n = Math.abs(r - e.range[1 - t]), a;\n return e.type === \"date\" ? r : e.type === \"log\" ? (a = Math.ceil(Math.max(0, -Math.log(n) / Math.LN10)) + 3, xA(\".\" + a + \"g\")(Math.pow(10, r))) : (a = Math.floor(Math.log(Math.abs(r)) / Math.LN10) - Math.floor(Math.log(n) / Math.LN10) + 4, xA(\".\" + String(a) + \"g\")(r));\n}\nfunction By(e, t, r, n, a) {\n for (var i = 0; i < e.length; i++) {\n var o = e[i];\n if (!o.fixedrange)\n if (o.rangebreaks) {\n var l = o._id.charAt(0) === \"y\", s = l ? 1 - t : t, u = l ? 1 - r : r;\n n[o._name + \".range[0]\"] = o.l2r(o.p2l(s * o._length)), n[o._name + \".range[1]\"] = o.l2r(o.p2l(u * o._length));\n } else {\n var f = o._rl[0], d = o._rl[1] - f;\n n[o._name + \".range[0]\"] = o.l2r(f + d * t), n[o._name + \".range[1]\"] = o.l2r(f + d * r);\n }\n }\n if (a && a.length) {\n var h = (t + (1 - r)) / 2;\n By(a, h, 1 - h, n, []);\n }\n}\nfunction SA(e, t) {\n for (var r = 0; r < e.length; r++) {\n var n = e[r];\n if (!n.fixedrange) {\n if (n.rangebreaks) {\n var a = 0, i = n._length, o = n.p2l(a + t) - n.p2l(a), l = n.p2l(i + t) - n.p2l(i), s = (o + l) / 2;\n n.range = [\n n.l2r(n._rl[0] - s),\n n.l2r(n._rl[1] - s)\n ];\n } else\n n.range = [\n n.l2r(n._rl[0] - t / n._m),\n n.l2r(n._rl[1] - t / n._m)\n ];\n n.limitRange && n.limitRange();\n }\n }\n}\nfunction Cee(e) {\n return 1 - (e >= 0 ? Math.min(e, 0.9) : 1 / (1 / Math.max(e, -0.3) + 3.222));\n}\nfunction Lee(e, t, r) {\n return e ? e === \"nsew\" ? r ? \"\" : t === \"pan\" ? \"move\" : \"crosshair\" : e.toLowerCase() + \"-resize\" : \"pointer\";\n}\nfunction bE(e, t, r, n, a) {\n return e.append(\"path\").attr(\"class\", \"zoombox\").style({\n fill: t > 0.2 ? \"rgba(0,0,0,0)\" : \"rgba(255,255,255,0)\",\n \"stroke-width\": 0\n }).attr(\"transform\", pE(r, n)).attr(\"d\", a + \"Z\");\n}\nfunction _E(e, t, r) {\n return e.append(\"path\").attr(\"class\", \"zoombox-corners\").style({\n fill: wA.background,\n stroke: wA.defaultLine,\n \"stroke-width\": 1,\n opacity: 0\n }).attr(\"transform\", pE(t, r)).attr(\"d\", \"M0,0Z\");\n}\nfunction xE(e, t, r, n, a, i) {\n e.attr(\n \"d\",\n n + \"M\" + r.l + \",\" + r.t + \"v\" + r.h + \"h\" + r.w + \"v-\" + r.h + \"h-\" + r.w + \"Z\"\n ), wE(e, t, a, i);\n}\nfunction wE(e, t, r, n) {\n r || (e.transition().style(\"fill\", n > 0.2 ? \"rgba(0,0,0,0.4)\" : \"rgba(255,255,255,0.3)\").duration(200), t.transition().style(\"opacity\", 1).duration(200));\n}\nfunction jy(e) {\n t_.select(e).selectAll(\".zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners\").remove();\n}\nfunction TE(e) {\n AA && e.data && e._context.showTips && (Ha.notifier(Ha._(e, \"Double-click to zoom back out\"), \"long\"), AA = !1);\n}\nfunction Dee(e, t) {\n return \"M\" + (e.l - 0.5) + \",\" + (t - Vn - 0.5) + \"h-3v\" + (2 * Vn + 1) + \"h3ZM\" + (e.r + 0.5) + \",\" + (t - Vn - 0.5) + \"h3v\" + (2 * Vn + 1) + \"h-3Z\";\n}\nfunction Eee(e, t) {\n return \"M\" + (t - Vn - 0.5) + \",\" + (e.t - 0.5) + \"v-3h\" + (2 * Vn + 1) + \"v3ZM\" + (t - Vn - 0.5) + \",\" + (e.b + 0.5) + \"v3h\" + (2 * Vn + 1) + \"v-3Z\";\n}\nfunction Uh(e) {\n var t = Math.floor(Math.min(e.b - e.t, e.r - e.l, Vn) / 2);\n return \"M\" + (e.l - 3.5) + \",\" + (e.t - 0.5 + t) + \"h3v\" + -t + \"h\" + t + \"v-3h-\" + (t + 3) + \"ZM\" + (e.r + 3.5) + \",\" + (e.t - 0.5 + t) + \"h-3v\" + -t + \"h\" + -t + \"v-3h\" + (t + 3) + \"ZM\" + (e.r + 3.5) + \",\" + (e.b + 0.5 - t) + \"h-3v\" + t + \"h\" + -t + \"v3h\" + (t + 3) + \"ZM\" + (e.l - 3.5) + \",\" + (e.b + 0.5 - t) + \"h3v\" + t + \"h\" + t + \"v3h-\" + (t + 3) + \"Z\";\n}\nfunction CA(e, t, r, n, a) {\n for (var i = !1, o = {}, l = {}, s, u, f, d, h = (a || {}).xaHash, p = (a || {}).yaHash, v = 0; v < t.length; v++) {\n var m = t[v];\n for (s in r)\n if (m[s]) {\n for (f in m)\n !(a && (h[f] || p[f])) && !(f.charAt(0) === \"x\" ? r : n)[f] && (o[f] = s);\n for (u in n)\n !(a && (h[u] || p[u])) && m[u] && (i = !0);\n }\n for (u in n)\n if (m[u])\n for (d in m)\n !(a && (h[d] || p[d])) && !(d.charAt(0) === \"x\" ? r : n)[d] && (l[d] = u);\n }\n i && (Ha.extendFlat(o, l), l = {});\n var g = {}, y = [];\n for (f in o) {\n var w = Hy(e, f);\n y.push(w), g[w._id] = w;\n }\n var k = {}, x = [];\n for (d in l) {\n var _ = Hy(e, d);\n x.push(_), k[_._id] = _;\n }\n return {\n xaHash: g,\n yaHash: k,\n xaxes: y,\n yaxes: x,\n xLinks: o,\n yLinks: l,\n isSubplotConstrained: i\n };\n}\nfunction kE(e, t) {\n if (!hee)\n e.onwheel !== void 0 ? e.onwheel = t : e.onmousewheel !== void 0 ? e.onmousewheel = t : e.isAddedWheelEvent || (e.isAddedWheelEvent = !0, e.addEventListener(\"wheel\", t, { passive: !1 }));\n else {\n var r = e.onwheel !== void 0 ? \"wheel\" : \"mousewheel\";\n e._onwheel && e.removeEventListener(r, e._onwheel), e._onwheel = t, e.addEventListener(r, t, { passive: !1 });\n }\n}\nfunction LA(e) {\n var t = [];\n for (var r in e) t.push(e[r]);\n return t;\n}\nvar Fee = {\n makeDragBox: Mee,\n makeDragger: gE,\n makeRectDragger: yE,\n makeZoombox: bE,\n makeCorners: _E,\n updateZoombox: xE,\n xyCorners: Uh,\n transitionZoombox: wE,\n removeZoombox: jy,\n showDoubleClickNotifier: TE,\n attachWheelEventHandler: kE\n};\n(function(e) {\n var t = lr, r = Ao, n = Qi, a = xs, i = Fee.makeDragBox, o = Yn.DRAGGERSIZE;\n e.initInteractions = function(s) {\n var u = s._fullLayout;\n if (s._context.staticPlot) {\n t.select(s).selectAll(\".drag\").remove();\n return;\n }\n if (!(!u._has(\"cartesian\") && !u._has(\"splom\"))) {\n var f = Object.keys(u._plots || {}).sort(function(h, p) {\n if ((u._plots[h].mainplot && !0) === (u._plots[p].mainplot && !0)) {\n var v = h.split(\"y\"), m = p.split(\"y\");\n return v[0] === m[0] ? Number(v[1] || 1) - Number(m[1] || 1) : Number(v[0] || 1) - Number(m[0] || 1);\n }\n return u._plots[h].mainplot ? 1 : -1;\n });\n f.forEach(function(h) {\n var p = u._plots[h], v = p.xaxis, m = p.yaxis;\n if (!p.mainplot) {\n var g = i(\n s,\n p,\n v._offset,\n m._offset,\n v._length,\n m._length,\n \"ns\",\n \"ew\"\n );\n g.onmousemove = function(k) {\n s._fullLayout._rehover = function() {\n s._fullLayout._hoversubplot === h && s._fullLayout._plots[h] && r.hover(s, k, h);\n }, r.hover(s, k, h), s._fullLayout._lasthover = g, s._fullLayout._hoversubplot = h;\n }, g.onmouseout = function(k) {\n s._dragging || (s._fullLayout._hoversubplot = null, n.unhover(s, k));\n }, s._context.showAxisDragHandles && (i(\n s,\n p,\n v._offset - o,\n m._offset - o,\n o,\n o,\n \"n\",\n \"w\"\n ), i(\n s,\n p,\n v._offset + v._length,\n m._offset - o,\n o,\n o,\n \"n\",\n \"e\"\n ), i(\n s,\n p,\n v._offset - o,\n m._offset + m._length,\n o,\n o,\n \"s\",\n \"w\"\n ), i(\n s,\n p,\n v._offset + v._length,\n m._offset + m._length,\n o,\n o,\n \"s\",\n \"e\"\n ));\n }\n if (s._context.showAxisDragHandles) {\n if (h === v._mainSubplot) {\n var y = v._mainLinePosition;\n v.side === \"top\" && (y -= o), i(\n s,\n p,\n v._offset + v._length * 0.1,\n y,\n v._length * 0.8,\n o,\n \"\",\n \"ew\"\n ), i(\n s,\n p,\n v._offset,\n y,\n v._length * 0.1,\n o,\n \"\",\n \"w\"\n ), i(\n s,\n p,\n v._offset + v._length * 0.9,\n y,\n v._length * 0.1,\n o,\n \"\",\n \"e\"\n );\n }\n if (h === m._mainSubplot) {\n var w = m._mainLinePosition;\n m.side !== \"right\" && (w -= o), i(\n s,\n p,\n w,\n m._offset + m._length * 0.1,\n o,\n m._length * 0.8,\n \"ns\",\n \"\"\n ), i(\n s,\n p,\n w,\n m._offset + m._length * 0.9,\n o,\n m._length * 0.1,\n \"s\",\n \"\"\n ), i(\n s,\n p,\n w,\n m._offset,\n o,\n m._length * 0.1,\n \"n\",\n \"\"\n );\n }\n }\n });\n var d = u._hoverlayer.node();\n d.onmousemove = function(h) {\n h.target = s._fullLayout._lasthover, r.hover(s, h, u._hoversubplot);\n }, d.onclick = function(h) {\n h.target = s._fullLayout._lasthover, r.click(s, h);\n }, d.onmousedown = function(h) {\n s._fullLayout._lasthover.onmousedown(h);\n }, e.updateFx(s);\n }\n }, e.updateFx = function(l) {\n var s = l._fullLayout, u = s.dragmode === \"pan\" ? \"move\" : \"crosshair\";\n a(s._draggers, u);\n };\n})(Mb);\nvar nd = {}, DA = Nt, Ree = function(t) {\n for (var r = DA.layoutArrayContainers, n = DA.layoutArrayRegexes, a = t.split(\"[\")[0], i, o, l = 0; l < n.length; l++)\n if (o = t.match(n[l]), o && o.index === 0) {\n i = o[0];\n break;\n }\n if (i || (i = r[r.indexOf(a)]), !i) return !1;\n var s = t.substr(i.length);\n return s ? (o = s.match(/^\\[(0|[1-9][0-9]*)\\](\\.(.+))?$/), o ? { array: i, index: Number(o[1]), property: o[3] || \"\" } : !1) : { array: i, index: \"\", property: \"\" };\n}, Pee = ms, Hg = Y1, Of = Xu, $ee = Q1.sorterAsc, Bg = Nt;\nnd.containerArrayMatch = Ree;\nvar zee = nd.isAddVal = function(t) {\n return t === \"add\" || Pee(t);\n}, EA = nd.isRemoveVal = function(t) {\n return t === null || t === \"remove\";\n};\nnd.applyContainerArrayChanges = function(t, r, n, a, i) {\n var o = r.astr, l = Bg.getComponentMethod(o, \"supplyLayoutDefaults\"), s = Bg.getComponentMethod(o, \"draw\"), u = Bg.getComponentMethod(o, \"drawOne\"), f = a.replot || a.recalc || l === Hg || s === Hg, d = t.layout, h = t._fullLayout;\n if (n[\"\"]) {\n Object.keys(n).length > 1 && Of.warn(\n \"Full array edits are incompatible with other edits\",\n o\n );\n var p = n[\"\"][\"\"];\n if (EA(p)) r.set(null);\n else if (Array.isArray(p)) r.set(p);\n else\n return Of.warn(\"Unrecognized full array edit value\", o, p), !0;\n return f ? !1 : (l(d, h), s(t), !0);\n }\n var v = Object.keys(n).map(Number).sort($ee), m = r.get(), g = m || [], y = i(h, o).get(), w = [], k = -1, x = g.length, _, T, S, M, L, F, $, I;\n for (_ = 0; _ < v.length; _++) {\n if (S = v[_], M = n[S], L = Object.keys(M), F = M[\"\"], $ = zee(F), S < 0 || S > g.length - ($ ? 0 : 1)) {\n Of.warn(\"index out of range\", o, S);\n continue;\n }\n if (F !== void 0)\n L.length > 1 && Of.warn(\n \"Insertion & removal are incompatible with edits to the same index.\",\n o,\n S\n ), EA(F) ? w.push(S) : $ ? (F === \"add\" && (F = {}), g.splice(S, 0, F), y && y.splice(S, 0, {})) : Of.warn(\n \"Unrecognized full object edit value\",\n o,\n S,\n F\n ), k === -1 && (k = S);\n else\n for (T = 0; T < L.length; T++)\n I = o + \"[\" + S + \"].\", i(g[S], L[T], I).set(M[L[T]]);\n }\n for (_ = w.length - 1; _ >= 0; _--)\n g.splice(w[_], 1), y && y.splice(w[_], 1);\n if (g.length ? m || r.set(g) : r.set(null), f) return !1;\n if (l(d, h), u !== Hg) {\n var O;\n if (k === -1)\n O = v;\n else {\n for (x = Math.max(g.length, x), O = [], _ = 0; _ < v.length && (S = v[_], !(S >= k)); _++)\n O.push(S);\n for (_ = k; _ < x; _++)\n O.push(_);\n }\n for (_ = 0; _ < O.length; _++)\n u(t, O[_]);\n } else s(t);\n return !0;\n};\nvar AE = {};\n(function(e) {\n var t = sr, r = iL, n = Nt, a = Ue, i = Tn, o = gn, l = nr, s = o.cleanId, u = o.getFromTrace, f = n.traceIs;\n e.clearPromiseQueue = function(x) {\n Array.isArray(x._promises) && x._promises.length > 0 && a.log(\"Clearing previous rejected promises from queue.\"), x._promises = [];\n }, e.cleanLayout = function(x) {\n var _, T;\n x || (x = {}), x.xaxis1 && (x.xaxis || (x.xaxis = x.xaxis1), delete x.xaxis1), x.yaxis1 && (x.yaxis || (x.yaxis = x.yaxis1), delete x.yaxis1), x.scene1 && (x.scene || (x.scene = x.scene1), delete x.scene1);\n var S = (i.subplotsRegistry.cartesian || {}).attrRegex, M = (i.subplotsRegistry.polar || {}).attrRegex, L = (i.subplotsRegistry.ternary || {}).attrRegex, F = (i.subplotsRegistry.gl3d || {}).attrRegex, $ = Object.keys(x);\n for (_ = 0; _ < $.length; _++) {\n var I = $[_];\n if (S && S.test(I)) {\n var O = x[I];\n O.anchor && O.anchor !== \"free\" && (O.anchor = s(O.anchor)), O.overlaying && (O.overlaying = s(O.overlaying)), O.type || (O.isdate ? O.type = \"date\" : O.islog ? O.type = \"log\" : O.isdate === !1 && O.islog === !1 && (O.type = \"linear\")), (O.autorange === \"withzero\" || O.autorange === \"tozero\") && (O.autorange = !0, O.rangemode = \"tozero\"), O.insiderange && delete O.range, delete O.islog, delete O.isdate, delete O.categories, g(O, \"domain\") && delete O.domain, O.autotick !== void 0 && (O.tickmode === void 0 && (O.tickmode = O.autotick ? \"auto\" : \"linear\"), delete O.autotick), h(O);\n } else if (M && M.test(I)) {\n var G = x[I];\n h(G.radialaxis);\n } else if (L && L.test(I)) {\n var K = x[I];\n h(K.aaxis), h(K.baxis), h(K.caxis);\n } else if (F && F.test(I)) {\n var V = x[I], z = V.cameraposition;\n if (Array.isArray(z) && z[0].length === 4) {\n var P = z[0], R = z[1], H = z[2], B = r([], P), W = [];\n for (T = 0; T < 3; ++T)\n W[T] = R[T] + H * B[2 + 4 * T];\n V.camera = {\n eye: { x: W[0], y: W[1], z: W[2] },\n center: { x: R[0], y: R[1], z: R[2] },\n up: { x: 0, y: 0, z: 1 }\n // we just ignore calculating camera z up in this case\n }, delete V.cameraposition;\n }\n h(V.xaxis), h(V.yaxis), h(V.zaxis);\n }\n }\n var ee = Array.isArray(x.annotations) ? x.annotations.length : 0;\n for (_ = 0; _ < ee; _++) {\n var re = x.annotations[_];\n a.isPlainObject(re) && (re.ref && (re.ref === \"paper\" ? (re.xref = \"paper\", re.yref = \"paper\") : re.ref === \"data\" && (re.xref = \"x\", re.yref = \"y\"), delete re.ref), d(re, \"xref\"), d(re, \"yref\"));\n }\n var ae = Array.isArray(x.shapes) ? x.shapes.length : 0;\n for (_ = 0; _ < ae; _++) {\n var Q = x.shapes[_];\n a.isPlainObject(Q) && (d(Q, \"xref\"), d(Q, \"yref\"));\n }\n var ue = Array.isArray(x.images) ? x.images.length : 0;\n for (_ = 0; _ < ue; _++) {\n var j = x.images[_];\n a.isPlainObject(j) && (d(j, \"xref\"), d(j, \"yref\"));\n }\n var U = x.legend;\n return U && (U.x > 3 ? (U.x = 1.02, U.xanchor = \"left\") : U.x < -2 && (U.x = -0.02, U.xanchor = \"right\"), U.y > 3 ? (U.y = 1.02, U.yanchor = \"bottom\") : U.y < -2 && (U.y = -0.02, U.yanchor = \"top\")), h(x), x.dragmode === \"rotate\" && (x.dragmode = \"orbit\"), l.clean(x), x.template && x.template.layout && e.cleanLayout(x.template.layout), x;\n };\n function d(x, _) {\n var T = x[_], S = _.charAt(0);\n T && T !== \"paper\" && (x[_] = s(T, S, !0));\n }\n function h(x) {\n x && ((typeof x.title == \"string\" || typeof x.title == \"number\") && (x.title = {\n text: x.title\n }), _(\"titlefont\", \"font\"), _(\"titleposition\", \"position\"), _(\"titleside\", \"side\"), _(\"titleoffset\", \"offset\"));\n function _(T, S) {\n var M = x[T], L = x.title && x.title[S];\n M && !L && (x.title || (x.title = {}), x.title[S] = x[T], delete x[T]);\n }\n }\n e.cleanData = function(x) {\n for (var _ = 0; _ < x.length; _++) {\n var T = x[_], S;\n if (T.type === \"histogramy\" && \"xbins\" in T && !(\"ybins\" in T) && (T.ybins = T.xbins, delete T.xbins), T.error_y && \"opacity\" in T.error_y) {\n var M = l.defaults, L = T.error_y.color || (f(T, \"bar\") ? l.defaultLine : M[_ % M.length]);\n T.error_y.color = l.addOpacity(\n l.rgb(L),\n l.opacity(L) * T.error_y.opacity\n ), delete T.error_y.opacity;\n }\n if (\"bardir\" in T && (T.bardir === \"h\" && (f(T, \"bar\") || T.type.substr(0, 9) === \"histogram\") && (T.orientation = \"h\", e.swapXYData(T)), delete T.bardir), T.type === \"histogramy\" && e.swapXYData(T), (T.type === \"histogramx\" || T.type === \"histogramy\") && (T.type = \"histogram\"), \"scl\" in T && !(\"colorscale\" in T) && (T.colorscale = T.scl, delete T.scl), \"reversescl\" in T && !(\"reversescale\" in T) && (T.reversescale = T.reversescl, delete T.reversescl), T.xaxis && (T.xaxis = s(T.xaxis, \"x\")), T.yaxis && (T.yaxis = s(T.yaxis, \"y\")), f(T, \"gl3d\") && T.scene && (T.scene = i.subplotsRegistry.gl3d.cleanId(T.scene)), !f(T, \"pie-like\") && !f(T, \"bar-like\"))\n if (Array.isArray(T.textposition))\n for (S = 0; S < T.textposition.length; S++)\n T.textposition[S] = m(T.textposition[S]);\n else T.textposition && (T.textposition = m(T.textposition));\n var F = n.getModule(T);\n if (F && F.colorbar) {\n var $ = F.colorbar.container, I = $ ? T[$] : T;\n I && I.colorscale && (I.colorscale === \"YIGnBu\" && (I.colorscale = \"YlGnBu\"), I.colorscale === \"YIOrRd\" && (I.colorscale = \"YlOrRd\"));\n }\n if (T.type === \"surface\" && a.isPlainObject(T.contours)) {\n var O = [\"x\", \"y\", \"z\"];\n for (S = 0; S < O.length; S++) {\n var G = T.contours[O[S]];\n a.isPlainObject(G) && (G.highlightColor && (G.highlightcolor = G.highlightColor, delete G.highlightColor), G.highlightWidth && (G.highlightwidth = G.highlightWidth, delete G.highlightWidth));\n }\n }\n if (T.type === \"candlestick\" || T.type === \"ohlc\") {\n var K = (T.increasing || {}).showlegend !== !1, V = (T.decreasing || {}).showlegend !== !1, z = p(T.increasing), P = p(T.decreasing);\n if (z !== !1 && P !== !1) {\n var R = v(\n z,\n P,\n K,\n V\n );\n R && (T.name = R);\n } else (z || P) && !T.name && (T.name = z || P);\n }\n if (Array.isArray(T.transforms)) {\n var H = T.transforms;\n for (S = 0; S < H.length; S++) {\n var B = H[S];\n if (a.isPlainObject(B))\n switch (B.type) {\n case \"filter\":\n B.filtersrc && (B.target = B.filtersrc, delete B.filtersrc), B.calendar && (B.valuecalendar || (B.valuecalendar = B.calendar), delete B.calendar);\n break;\n case \"groupby\":\n if (B.styles = B.styles || B.style, B.styles && !Array.isArray(B.styles)) {\n var W = B.styles, ee = Object.keys(W);\n B.styles = [];\n for (var re = 0; re < ee.length; re++)\n B.styles.push({\n target: ee[re],\n value: W[ee[re]]\n });\n }\n break;\n }\n }\n }\n g(T, \"line\") && delete T.line, \"marker\" in T && (g(T.marker, \"line\") && delete T.marker.line, g(T, \"marker\") && delete T.marker), l.clean(T), T.autobinx && (delete T.autobinx, delete T.xbins), T.autobiny && (delete T.autobiny, delete T.ybins), h(T), T.colorbar && h(T.colorbar), T.marker && T.marker.colorbar && h(T.marker.colorbar), T.line && T.line.colorbar && h(T.line.colorbar), T.aaxis && h(T.aaxis), T.baxis && h(T.baxis);\n }\n };\n function p(x) {\n if (!a.isPlainObject(x)) return !1;\n var _ = x.name;\n return delete x.name, delete x.showlegend, (typeof _ == \"string\" || typeof _ == \"number\") && String(_);\n }\n function v(x, _, T, S) {\n if (T && !S) return x;\n if (S && !T || !x.trim()) return _;\n if (!_.trim()) return x;\n var M = Math.min(x.length, _.length), L;\n for (L = 0; L < M && x.charAt(L) === _.charAt(L); L++)\n ;\n var F = x.substr(0, L);\n return F.trim();\n }\n function m(x) {\n var _ = \"middle\", T = \"center\";\n return typeof x == \"string\" && (x.indexOf(\"top\") !== -1 ? _ = \"top\" : x.indexOf(\"bottom\") !== -1 && (_ = \"bottom\"), x.indexOf(\"left\") !== -1 ? T = \"left\" : x.indexOf(\"right\") !== -1 && (T = \"right\")), _ + \" \" + T;\n }\n function g(x, _) {\n return _ in x && typeof x[_] == \"object\" && Object.keys(x[_]).length === 0;\n }\n e.swapXYData = function(x) {\n var _;\n if (a.swapAttrs(x, [\"?\", \"?0\", \"d?\", \"?bins\", \"nbins?\", \"autobin?\", \"?src\", \"error_?\"]), Array.isArray(x.z) && Array.isArray(x.z[0]) && (x.transpose ? delete x.transpose : x.transpose = !0), x.error_x && x.error_y) {\n var T = x.error_y, S = \"copy_ystyle\" in T ? T.copy_ystyle : !(T.color || T.thickness || T.width);\n a.swapAttrs(x, [\"error_?.copy_ystyle\"]), S && a.swapAttrs(x, [\"error_?.color\", \"error_?.thickness\", \"error_?.width\"]);\n }\n if (typeof x.hoverinfo == \"string\") {\n var M = x.hoverinfo.split(\"+\");\n for (_ = 0; _ < M.length; _++)\n M[_] === \"x\" ? M[_] = \"y\" : M[_] === \"y\" && (M[_] = \"x\");\n x.hoverinfo = M.join(\"+\");\n }\n }, e.coerceTraceIndices = function(x, _) {\n if (t(_))\n return [_];\n if (!Array.isArray(_) || !_.length)\n return x.data.map(function(M, L) {\n return L;\n });\n if (Array.isArray(_)) {\n for (var T = [], S = 0; S < _.length; S++)\n a.isIndex(_[S], x.data.length) ? T.push(_[S]) : a.warn(\"trace index (\", _[S], \") is not a number or is out of bounds\");\n return T;\n }\n return _;\n }, e.manageArrayContainers = function(x, _, T) {\n var S = x.obj, M = x.parts, L = M.length, F = M[L - 1], $ = t(F);\n if ($ && _ === null) {\n var I = M.slice(0, L - 1).join(\".\"), O = a.nestedProperty(S, I).get();\n O.splice(F, 1);\n } else $ && x.get() === void 0 && x.get() === void 0 && (T[x.astr] = null), x.set(_);\n };\n var y = /(\\.[^\\[\\]\\.]+|\\[[^\\[\\]\\.]+\\])$/;\n function w(x) {\n var _ = x.search(y);\n if (_ > 0) return x.substr(0, _);\n }\n e.hasParent = function(x, _) {\n for (var T = w(_); T; ) {\n if (T in x) return !0;\n T = w(T);\n }\n return !1;\n };\n var k = [\"x\", \"y\", \"z\"];\n e.clearAxisTypes = function(x, _, T) {\n for (var S = 0; S < _.length; S++)\n for (var M = x._fullData[S], L = 0; L < 3; L++) {\n var F = u(x, M, k[L]);\n if (F && F.type !== \"log\") {\n var $ = F._name, I = F._id.substr(1);\n if (I.substr(0, 5) === \"scene\") {\n if (T[I] !== void 0) continue;\n $ = I + \".\" + $;\n }\n var O = $ + \".type\";\n T[$] === void 0 && T[O] === void 0 && a.nestedProperty(x.layout, O).set(null);\n }\n }\n };\n})(AE);\n(function(e) {\n var t = lr, r = sr, n = zL, a = Ue, i = a.nestedProperty, o = xp, l = Fq, s = Nt, u = Qu, f = Tn, d = Cr, h = Y4, p = Ki, v = Sr, m = nr, g = Mb.initInteractions, y = yl, w = rd.clearOutline, k = Yu.dfltConfig, x = nd, _ = AE, T = zp, S = Lo, M = Yn.AX_NAME_PATTERN, L = 0, F = 5;\n function $(X, se, ie, fe) {\n var ke;\n if (X = a.getGraphDiv(X), o.init(X), a.isPlainObject(se)) {\n var _e = se;\n se = _e.data, ie = _e.layout, fe = _e.config, ke = _e.frames;\n }\n var Ge = o.triggerHandler(X, \"plotly_beforeplot\", [se, ie, fe]);\n if (Ge === !1) return Promise.reject();\n !se && !ie && !a.isPlotDiv(X) && a.warn(\"Calling _doPlot as if redrawing but this container doesn't yet have a plot.\", X);\n function je() {\n if (ke)\n return e.addFrames(X, ke);\n }\n V(X, fe), ie || (ie = {}), t.select(X).classed(\"js-plotly-plot\", !0), v.makeTester(), Array.isArray(X._promises) || (X._promises = []);\n var Ee = (X.data || []).length === 0 && Array.isArray(se);\n Array.isArray(se) && (_.cleanData(se), Ee ? X.data = se : X.data.push.apply(X.data, se), X.empty = !1), (!X.layout || Ee) && (X.layout = _.cleanLayout(ie)), f.supplyDefaults(X);\n var oe = X._fullLayout, Ce = oe._has(\"cartesian\");\n oe._replotting = !0, (Ee || oe._shouldCreateBgLayer) && (ct(X), oe._shouldCreateBgLayer && delete oe._shouldCreateBgLayer), v.initGradients(X), v.initPatterns(X), Ee && d.saveShowSpikeInitial(X);\n var Be = !X.calcdata || X.calcdata.length !== (X._fullData || []).length;\n Be && f.doCalcdata(X);\n for (var Xe = 0; Xe < X.calcdata.length; Xe++)\n X.calcdata[Xe][0].trace = X._fullData[Xe];\n X._context.responsive ? X._responsiveChartHandler || (X._responsiveChartHandler = function() {\n a.isHidden(X) || f.resize(X);\n }, window.addEventListener(\"resize\", X._responsiveChartHandler)) : a.clearResponsive(X);\n var Et = a.extendFlat({}, oe._size), Pt = 0;\n function It() {\n for (var zt = oe._basePlotModules, Mt = 0; Mt < zt.length; Mt++)\n zt[Mt].drawFramework && zt[Mt].drawFramework(X);\n !oe._glcanvas && oe._has(\"gl\") && (oe._glcanvas = oe._glcontainer.selectAll(\".gl-canvas\").data([{\n key: \"contextLayer\",\n context: !0,\n pick: !1\n }, {\n key: \"focusLayer\",\n context: !1,\n pick: !1\n }, {\n key: \"pickLayer\",\n context: !1,\n pick: !0\n }], function(Ct) {\n return Ct.key;\n }), oe._glcanvas.enter().append(\"canvas\").attr(\"class\", function(Ct) {\n return \"gl-canvas gl-canvas-\" + Ct.key.replace(\"Layer\", \"\");\n }).style({\n position: \"absolute\",\n top: 0,\n left: 0,\n overflow: \"visible\",\n \"pointer-events\": \"none\"\n }));\n var St = X._context.plotGlPixelRatio;\n if (oe._glcanvas) {\n oe._glcanvas.attr(\"width\", oe.width * St).attr(\"height\", oe.height * St).style(\"width\", oe.width + \"px\").style(\"height\", oe.height + \"px\");\n var Ut = oe._glcanvas.data()[0].regl;\n if (Ut && (Math.floor(oe.width * St) !== Ut._gl.drawingBufferWidth || Math.floor(oe.height * St) !== Ut._gl.drawingBufferHeight)) {\n var fr = \"WebGL context buffer and canvas dimensions do not match due to browser/WebGL bug.\";\n if (Pt)\n a.error(fr);\n else\n return a.log(fr + \" Clearing graph and plotting again.\"), f.cleanPlot([], {}, X._fullData, oe), f.supplyDefaults(X), oe = X._fullLayout, f.doCalcdata(X), Pt++, It();\n }\n }\n return oe.modebar.orientation === \"h\" ? oe._modebardiv.style(\"height\", null).style(\"width\", \"100%\") : oe._modebardiv.style(\"width\", null).style(\"height\", oe.height + \"px\"), f.previousPromises(X);\n }\n function kt() {\n if (f.clearAutoMarginIds(X), T.drawMarginPushers(X), d.allowAutoMargin(X), X._fullLayout.title.text && X._fullLayout.title.automargin && f.allowAutoMargin(X, \"title.automargin\"), oe._has(\"pie\"))\n for (var zt = X._fullData, Mt = 0; Mt < zt.length; Mt++) {\n var St = zt[Mt];\n St.type === \"pie\" && St.automargin && f.allowAutoMargin(X, \"pie.\" + St.uid + \".automargin\");\n }\n return f.doAutoMargin(X), f.previousPromises(X);\n }\n function qt() {\n if (f.didMarginChange(Et, oe._size))\n return a.syncOrAsync([\n kt,\n T.layoutStyles\n ], X);\n }\n function Ot() {\n if (!Be) {\n wt();\n return;\n }\n return a.syncOrAsync([\n s.getComponentMethod(\"shapes\", \"calcAutorange\"),\n s.getComponentMethod(\"annotations\", \"calcAutorange\"),\n wt\n ], X);\n }\n function wt() {\n X._transitioning || (T.doAutoRangeAndConstraints(X), Ee && d.saveRangeInitial(X), s.getComponentMethod(\"rangeslider\", \"calcAutorange\")(X));\n }\n function Yt() {\n return d.draw(X, Ee ? \"\" : \"redraw\");\n }\n var Kt = [\n f.previousPromises,\n je,\n It,\n kt,\n qt\n ];\n Ce && Kt.push(Ot), Kt.push(T.layoutStyles), Ce && Kt.push(\n Yt,\n function(Mt) {\n var St = Mt._fullLayout._insideTickLabelsUpdaterange;\n if (St)\n return Mt._fullLayout._insideTickLabelsUpdaterange = void 0, Fe(Mt, St).then(function() {\n d.saveRangeInitial(Mt, !0);\n });\n }\n ), Kt.push(\n T.drawData,\n T.finalDraw,\n g,\n f.addLinks,\n f.rehover,\n f.redrag,\n f.reselect,\n // TODO: doAutoMargin is only needed here for axis automargin, which\n // happens outside of marginPushers where all the other automargins are\n // calculated. Would be much better to separate margin calculations from\n // component drawing - see https://github.com/plotly/plotly.js/issues/2704\n f.doAutoMargin,\n f.previousPromises\n );\n var $t = a.syncOrAsync(Kt, X);\n return (!$t || !$t.then) && ($t = Promise.resolve()), $t.then(function() {\n return I(X), X;\n });\n }\n function I(X) {\n var se = X._fullLayout;\n se._redrawFromAutoMarginCount ? se._redrawFromAutoMarginCount-- : X.emit(\"plotly_afterplot\");\n }\n function O(X) {\n return a.extendFlat(k, X);\n }\n function G(X, se) {\n try {\n X._fullLayout._paper.style(\"background\", se);\n } catch (ie) {\n a.error(ie);\n }\n }\n function K(X, se) {\n var ie = m.combine(se, \"white\");\n G(X, ie);\n }\n function V(X, se) {\n if (!X._context) {\n X._context = a.extendDeep({}, k);\n var ie = t.select(\"base\");\n X._context._baseUrl = ie.size() && ie.attr(\"href\") ? window.location.href.split(\"#\")[0] : \"\";\n }\n var fe = X._context, ke, _e, Ge;\n if (se) {\n for (_e = Object.keys(se), ke = 0; ke < _e.length; ke++)\n Ge = _e[ke], !(Ge === \"editable\" || Ge === \"edits\") && Ge in fe && (Ge === \"setBackground\" && se[Ge] === \"opaque\" ? fe[Ge] = K : fe[Ge] = se[Ge]);\n se.plot3dPixelRatio && !fe.plotGlPixelRatio && (fe.plotGlPixelRatio = fe.plot3dPixelRatio);\n var je = se.editable;\n if (je !== void 0)\n for (fe.editable = je, _e = Object.keys(fe.edits), ke = 0; ke < _e.length; ke++)\n fe.edits[_e[ke]] = je;\n if (se.edits)\n for (_e = Object.keys(se.edits), ke = 0; ke < _e.length; ke++)\n Ge = _e[ke], Ge in fe.edits && (fe.edits[Ge] = se.edits[Ge]);\n fe._exportedPlot = se._exportedPlot;\n }\n fe.staticPlot && (fe.editable = !1, fe.edits = {}, fe.autosizable = !1, fe.scrollZoom = !1, fe.doubleClick = !1, fe.showTips = !1, fe.showLink = !1, fe.displayModeBar = !1), fe.displayModeBar === \"hover\" && !n && (fe.displayModeBar = !0), (fe.setBackground === \"transparent\" || typeof fe.setBackground != \"function\") && (fe.setBackground = G), fe._hasZeroHeight = fe._hasZeroHeight || X.clientHeight === 0, fe._hasZeroWidth = fe._hasZeroWidth || X.clientWidth === 0;\n var Ee = fe.scrollZoom, oe = fe._scrollZoom = {};\n if (Ee === !0)\n oe.cartesian = 1, oe.gl3d = 1, oe.geo = 1, oe.mapbox = 1;\n else if (typeof Ee == \"string\") {\n var Ce = Ee.split(\"+\");\n for (ke = 0; ke < Ce.length; ke++)\n oe[Ce[ke]] = 1;\n } else Ee !== !1 && (oe.gl3d = 1, oe.geo = 1, oe.mapbox = 1);\n }\n function z(X) {\n if (X = a.getGraphDiv(X), !a.isPlotDiv(X))\n throw new Error(\"This element is not a Plotly plot: \" + X);\n return _.cleanData(X.data), _.cleanLayout(X.layout), X.calcdata = void 0, e._doPlot(X).then(function() {\n return X.emit(\"plotly_redraw\"), X;\n });\n }\n function P(X, se, ie, fe) {\n return X = a.getGraphDiv(X), f.cleanPlot([], {}, X._fullData || [], X._fullLayout || {}), f.purge(X), e._doPlot(X, se, ie, fe);\n }\n function R(X, se) {\n var ie = se + 1, fe = [], ke, _e;\n for (ke = 0; ke < X.length; ke++)\n _e = X[ke], _e < 0 ? fe.push(ie + _e) : fe.push(_e);\n return fe;\n }\n function H(X, se, ie) {\n var fe, ke;\n for (fe = 0; fe < se.length; fe++) {\n if (ke = se[fe], ke !== parseInt(ke, 10))\n throw new Error(\"all values in \" + ie + \" must be integers\");\n if (ke >= X.data.length || ke < -X.data.length)\n throw new Error(ie + \" must be valid indices for gd.data.\");\n if (se.indexOf(ke, fe + 1) > -1 || ke >= 0 && se.indexOf(-X.data.length + ke) > -1 || ke < 0 && se.indexOf(X.data.length + ke) > -1)\n throw new Error(\"each index in \" + ie + \" must be unique.\");\n }\n }\n function B(X, se, ie) {\n if (!Array.isArray(X.data))\n throw new Error(\"gd.data must be an array.\");\n if (typeof se > \"u\")\n throw new Error(\"currentIndices is a required argument.\");\n if (Array.isArray(se) || (se = [se]), H(X, se, \"currentIndices\"), typeof ie < \"u\" && !Array.isArray(ie) && (ie = [ie]), typeof ie < \"u\" && H(X, ie, \"newIndices\"), typeof ie < \"u\" && se.length !== ie.length)\n throw new Error(\"current and new indices must be of equal length.\");\n }\n function W(X, se, ie) {\n var fe, ke;\n if (!Array.isArray(X.data))\n throw new Error(\"gd.data must be an array.\");\n if (typeof se > \"u\")\n throw new Error(\"traces must be defined.\");\n for (Array.isArray(se) || (se = [se]), fe = 0; fe < se.length; fe++)\n if (ke = se[fe], typeof ke != \"object\" || Array.isArray(ke) || ke === null)\n throw new Error(\"all values in traces array must be non-array objects\");\n if (typeof ie < \"u\" && !Array.isArray(ie) && (ie = [ie]), typeof ie < \"u\" && ie.length !== se.length)\n throw new Error(\n \"if indices is specified, traces.length must equal indices.length\"\n );\n }\n function ee(X, se, ie, fe) {\n var ke = a.isPlainObject(fe);\n if (!Array.isArray(X.data))\n throw new Error(\"gd.data must be an array\");\n if (!a.isPlainObject(se))\n throw new Error(\"update must be a key:value object\");\n if (typeof ie > \"u\")\n throw new Error(\"indices must be an integer or array of integers\");\n H(X, ie, \"indices\");\n for (var _e in se) {\n if (!Array.isArray(se[_e]) || se[_e].length !== ie.length)\n throw new Error(\"attribute \" + _e + \" must be an array of length equal to indices array length\");\n if (ke && (!(_e in fe) || !Array.isArray(fe[_e]) || fe[_e].length !== se[_e].length))\n throw new Error(\"when maxPoints is set as a key:value object it must contain a 1:1 corrispondence with the keys and number of traces in the update object\");\n }\n }\n function re(X, se, ie, fe) {\n var ke = a.isPlainObject(fe), _e = [], Ge, je, Ee, oe, Ce;\n Array.isArray(ie) || (ie = [ie]), ie = R(ie, X.data.length - 1);\n for (var Be in se)\n for (var Xe = 0; Xe < ie.length; Xe++) {\n if (Ge = X.data[ie[Xe]], Ee = i(Ge, Be), je = Ee.get(), oe = se[Be][Xe], !a.isArrayOrTypedArray(oe))\n throw new Error(\"attribute: \" + Be + \" index: \" + Xe + \" must be an array\");\n if (!a.isArrayOrTypedArray(je))\n throw new Error(\"cannot extend missing or non-array attribute: \" + Be);\n if (je.constructor !== oe.constructor)\n throw new Error(\"cannot extend array with an array of a different type: \" + Be);\n Ce = ke ? fe[Be][Xe] : fe, r(Ce) || (Ce = -1), _e.push({\n prop: Ee,\n target: je,\n insert: oe,\n maxp: Math.floor(Ce)\n });\n }\n return _e;\n }\n function ae(X, se, ie, fe, ke) {\n ee(X, se, ie, fe);\n for (var _e = re(X, se, ie, fe), Ge = {}, je = {}, Ee = 0; Ee < _e.length; Ee++) {\n var oe = _e[Ee].prop, Ce = _e[Ee].maxp, Be = ke(_e[Ee].target, _e[Ee].insert, Ce);\n oe.set(Be[0]), Array.isArray(Ge[oe.astr]) || (Ge[oe.astr] = []), Ge[oe.astr].push(Be[1]), Array.isArray(je[oe.astr]) || (je[oe.astr] = []), je[oe.astr].push(_e[Ee].target.length);\n }\n return { update: Ge, maxPoints: je };\n }\n function Q(X, se) {\n var ie = new X.constructor(X.length + se.length);\n return ie.set(X), ie.set(se, X.length), ie;\n }\n function ue(X, se, ie, fe) {\n X = a.getGraphDiv(X);\n function ke(Ee, oe, Ce) {\n var Be, Xe;\n if (a.isTypedArray(Ee))\n if (Ce < 0) {\n var Et = new Ee.constructor(0), Pt = Q(Ee, oe);\n Ce < 0 ? (Be = Pt, Xe = Et) : (Be = Et, Xe = Pt);\n } else if (Be = new Ee.constructor(Ce), Xe = new Ee.constructor(Ee.length + oe.length - Ce), Ce === oe.length)\n Be.set(oe), Xe.set(Ee);\n else if (Ce < oe.length) {\n var It = oe.length - Ce;\n Be.set(oe.subarray(It)), Xe.set(Ee), Xe.set(oe.subarray(0, It), Ee.length);\n } else {\n var kt = Ce - oe.length, qt = Ee.length - kt;\n Be.set(Ee.subarray(qt)), Be.set(oe, kt), Xe.set(Ee.subarray(0, qt));\n }\n else\n Be = Ee.concat(oe), Xe = Ce >= 0 && Ce < Be.length ? Be.splice(0, Be.length - Ce) : [];\n return [Be, Xe];\n }\n var _e = ae(X, se, ie, fe, ke), Ge = e.redraw(X), je = [X, _e.update, ie, _e.maxPoints];\n return l.add(X, e.prependTraces, je, ue, arguments), Ge;\n }\n function j(X, se, ie, fe) {\n X = a.getGraphDiv(X);\n function ke(Ee, oe, Ce) {\n var Be, Xe;\n if (a.isTypedArray(Ee))\n if (Ce <= 0) {\n var Et = new Ee.constructor(0), Pt = Q(oe, Ee);\n Ce < 0 ? (Be = Pt, Xe = Et) : (Be = Et, Xe = Pt);\n } else if (Be = new Ee.constructor(Ce), Xe = new Ee.constructor(Ee.length + oe.length - Ce), Ce === oe.length)\n Be.set(oe), Xe.set(Ee);\n else if (Ce < oe.length) {\n var It = oe.length - Ce;\n Be.set(oe.subarray(0, It)), Xe.set(oe.subarray(It)), Xe.set(Ee, It);\n } else {\n var kt = Ce - oe.length;\n Be.set(oe), Be.set(Ee.subarray(0, kt), oe.length), Xe.set(Ee.subarray(kt));\n }\n else\n Be = oe.concat(Ee), Xe = Ce >= 0 && Ce < Be.length ? Be.splice(Ce, Be.length) : [];\n return [Be, Xe];\n }\n var _e = ae(X, se, ie, fe, ke), Ge = e.redraw(X), je = [X, _e.update, ie, _e.maxPoints];\n return l.add(X, e.extendTraces, je, j, arguments), Ge;\n }\n function U(X, se, ie) {\n X = a.getGraphDiv(X);\n var fe = [], ke = e.deleteTraces, _e = U, Ge = [X, fe], je = [X, se], Ee, oe;\n for (W(X, se, ie), Array.isArray(se) || (se = [se]), se = se.map(function(Ce) {\n return a.extendFlat({}, Ce);\n }), _.cleanData(se), Ee = 0; Ee < se.length; Ee++)\n X.data.push(se[Ee]);\n for (Ee = 0; Ee < se.length; Ee++)\n fe.push(-se.length + Ee);\n if (typeof ie > \"u\")\n return oe = e.redraw(X), l.add(X, ke, Ge, _e, je), oe;\n Array.isArray(ie) || (ie = [ie]);\n try {\n B(X, fe, ie);\n } catch (Ce) {\n throw X.data.splice(X.data.length - se.length, se.length), Ce;\n }\n return l.startSequence(X), l.add(X, ke, Ge, _e, je), oe = e.moveTraces(X, fe, ie), l.stopSequence(X), oe;\n }\n function Z(X, se) {\n X = a.getGraphDiv(X);\n var ie = [], fe = e.addTraces, ke = Z, _e = [X, ie, se], Ge = [X, se], je, Ee;\n if (typeof se > \"u\")\n throw new Error(\"indices must be an integer or array of integers.\");\n for (Array.isArray(se) || (se = [se]), H(X, se, \"indices\"), se = R(se, X.data.length - 1), se.sort(a.sorterDes), je = 0; je < se.length; je += 1)\n Ee = X.data.splice(se[je], 1)[0], ie.push(Ee);\n var oe = e.redraw(X);\n return l.add(X, fe, _e, ke, Ge), oe;\n }\n function le(X, se, ie) {\n X = a.getGraphDiv(X);\n var fe = [], ke = [], _e = le, Ge = le, je = [X, ie, se], Ee = [X, se, ie], oe;\n if (B(X, se, ie), se = Array.isArray(se) ? se : [se], typeof ie > \"u\")\n for (ie = [], oe = 0; oe < se.length; oe++)\n ie.push(-se.length + oe);\n for (ie = Array.isArray(ie) ? ie : [ie], se = R(se, X.data.length - 1), ie = R(ie, X.data.length - 1), oe = 0; oe < X.data.length; oe++)\n se.indexOf(oe) === -1 && fe.push(X.data[oe]);\n for (oe = 0; oe < se.length; oe++)\n ke.push({ newIndex: ie[oe], trace: X.data[se[oe]] });\n for (ke.sort(function(Be, Xe) {\n return Be.newIndex - Xe.newIndex;\n }), oe = 0; oe < ke.length; oe += 1)\n fe.splice(ke[oe].newIndex, 0, ke[oe].trace);\n X.data = fe;\n var Ce = e.redraw(X);\n return l.add(X, _e, je, Ge, Ee), Ce;\n }\n function J(X, se, ie, fe) {\n X = a.getGraphDiv(X), _.clearPromiseQueue(X);\n var ke = {};\n if (typeof se == \"string\") ke[se] = ie;\n else if (a.isPlainObject(se))\n ke = a.extendFlat({}, se), fe === void 0 && (fe = ie);\n else\n return a.warn(\"Restyle fail.\", se, ie, fe), Promise.reject();\n Object.keys(ke).length && (X.changed = !0);\n var _e = _.coerceTraceIndices(X, fe), Ge = Le(X, ke, _e), je = Ge.flags;\n je.calc && (X.calcdata = void 0), je.clearAxisTypes && _.clearAxisTypes(X, _e, {});\n var Ee = [];\n je.fullReplot ? Ee.push(e._doPlot) : (Ee.push(f.previousPromises), f.supplyDefaults(X), je.markerSize && (f.doCalcdata(X), Re(Ee)), je.style && Ee.push(T.doTraceStyle), je.colorbars && Ee.push(T.doColorBars), Ee.push(I)), Ee.push(\n f.rehover,\n f.redrag,\n f.reselect\n ), l.add(\n X,\n J,\n [X, Ge.undoit, Ge.traces],\n J,\n [X, Ge.redoit, Ge.traces]\n );\n var oe = a.syncOrAsync(Ee, X);\n return (!oe || !oe.then) && (oe = Promise.resolve()), oe.then(function() {\n return X.emit(\"plotly_restyle\", Ge.eventData), X;\n });\n }\n function pe(X) {\n return X === void 0 ? null : X;\n }\n function ge(X, se) {\n return se ? function(ie, fe, ke) {\n var _e = i(ie, fe), Ge = _e.set;\n return _e.set = function(je) {\n var Ee = (ke || \"\") + fe;\n ve(Ee, _e.get(), je, X), Ge(je);\n }, _e;\n } : i;\n }\n function ve(X, se, ie, fe) {\n if (Array.isArray(se) || Array.isArray(ie))\n for (var ke = Array.isArray(se) ? se : [], _e = Array.isArray(ie) ? ie : [], Ge = Math.max(ke.length, _e.length), je = 0; je < Ge; je++)\n ve(X + \"[\" + je + \"]\", ke[je], _e[je], fe);\n else if (a.isPlainObject(se) || a.isPlainObject(ie)) {\n var Ee = a.isPlainObject(se) ? se : {}, oe = a.isPlainObject(ie) ? ie : {}, Ce = a.extendFlat({}, Ee, oe);\n for (var Be in Ce)\n ve(X + \".\" + Be, Ee[Be], oe[Be], fe);\n } else fe[X] === void 0 && (fe[X] = pe(se));\n }\n function me(X, se, ie) {\n for (var fe in ie) {\n var ke = i(X, fe);\n ve(fe, ke.get(), ie[fe], se);\n }\n }\n function Le(X, se, ie) {\n var fe = X._fullLayout, ke = X._fullData, _e = X.data, Ge = fe._guiEditing, je = ge(fe._preGUI, Ge), Ee = a.extendDeepAll({}, se), oe;\n ze(se);\n var Ce = S.traceFlags(), Be = {}, Xe = {}, Et;\n function Pt() {\n return ie.map(function() {\n });\n }\n function It(zr) {\n var tn = d.id2name(zr);\n Et.indexOf(tn) === -1 && Et.push(tn);\n }\n function kt(zr) {\n return \"LAYOUT\" + zr + \".autorange\";\n }\n function qt(zr) {\n return \"LAYOUT\" + zr + \".range\";\n }\n function Ot(zr) {\n for (var tn = zr; tn < ke.length; tn++)\n if (ke[tn]._input === _e[zr]) return ke[tn];\n }\n function wt(zr, tn, Kn) {\n if (Array.isArray(zr)) {\n zr.forEach(function(ha) {\n wt(ha, tn, Kn);\n });\n return;\n }\n if (!(zr in se || _.hasParent(se, zr))) {\n var Ma;\n if (zr.substr(0, 6) === \"LAYOUT\")\n Ma = je(X.layout, zr.replace(\"LAYOUT\", \"\"));\n else {\n var Ti = ie[Kn], Jn = fe._tracePreGUI[Ot(Ti)._fullInput.uid];\n Ma = ge(Jn, Ge)(_e[Ti], zr);\n }\n zr in Xe || (Xe[zr] = Pt()), Xe[zr][Kn] === void 0 && (Xe[zr][Kn] = pe(Ma.get())), tn !== void 0 && Ma.set(tn);\n }\n }\n function Yt(zr) {\n return function(tn) {\n return ke[tn][zr];\n };\n }\n function Kt(zr) {\n return function(tn, Kn) {\n return tn === !1 ? ke[ie[Kn]][zr] : null;\n };\n }\n for (var $t in se) {\n if (_.hasParent(se, $t))\n throw new Error(\"cannot set \" + $t + \" and a parent attribute simultaneously\");\n var zt = se[$t], Mt, St, Ut, fr, Ct, tr;\n if (($t === \"autobinx\" || $t === \"autobiny\") && ($t = $t.charAt($t.length - 1) + \"bins\", Array.isArray(zt) ? zt = zt.map(Kt($t)) : zt === !1 ? zt = ie.map(Yt($t)) : zt = null), Be[$t] = zt, $t.substr(0, 6) === \"LAYOUT\") {\n Ut = je(X.layout, $t.replace(\"LAYOUT\", \"\")), Xe[$t] = [pe(Ut.get())], Ut.set(Array.isArray(zt) ? zt[0] : zt), Ce.calc = !0;\n continue;\n }\n for (Xe[$t] = Pt(), oe = 0; oe < ie.length; oe++) {\n Mt = _e[ie[oe]], St = Ot(ie[oe]);\n var Ht = fe._tracePreGUI[St._fullInput.uid];\n if (Ut = ge(Ht, Ge)(Mt, $t), fr = Ut.get(), Ct = Array.isArray(zt) ? zt[oe % zt.length] : zt, Ct !== void 0) {\n var $r = Ut.parts[Ut.parts.length - 1], ar = $t.substr(0, $t.length - $r.length - 1), Pr = ar ? ar + \".\" : \"\", Ur = ar ? i(St, ar).get() : St;\n if (tr = u.getTraceValObject(St, Ut.parts), tr && tr.impliedEdits && Ct !== null)\n for (var Pn in tr.impliedEdits)\n wt(a.relativeAttr($t, Pn), tr.impliedEdits[Pn], oe);\n else if (($r === \"thicknessmode\" || $r === \"lenmode\") && fr !== Ct && (Ct === \"fraction\" || Ct === \"pixels\") && Ur) {\n var hn = fe._size, vn = Ur.orient, Ka = vn === \"top\" || vn === \"bottom\";\n if ($r === \"thicknessmode\") {\n var to = Ka ? hn.h : hn.w;\n wt(Pr + \"thickness\", Ur.thickness * (Ct === \"fraction\" ? 1 / to : to), oe);\n } else {\n var ln = Ka ? hn.w : hn.h;\n wt(Pr + \"len\", Ur.len * (Ct === \"fraction\" ? 1 / ln : ln), oe);\n }\n } else if ($t === \"type\" && (Ct === \"pie\" != (fr === \"pie\") || Ct === \"funnelarea\" != (fr === \"funnelarea\"))) {\n var Xn = \"x\", ro = \"y\";\n (Ct === \"bar\" || fr === \"bar\") && Mt.orientation === \"h\" && (Xn = \"y\", ro = \"x\"), a.swapAttrs(Mt, [\"?\", \"?src\"], \"labels\", Xn), a.swapAttrs(Mt, [\"d?\", \"?0\"], \"label\", Xn), a.swapAttrs(Mt, [\"?\", \"?src\"], \"values\", ro), fr === \"pie\" || fr === \"funnelarea\" ? (i(Mt, \"marker.color\").set(i(Mt, \"marker.colors\").get()), fe._pielayer.selectAll(\"g.trace\").remove()) : s.traceIs(Mt, \"cartesian\") && i(Mt, \"marker.colors\").set(i(Mt, \"marker.color\").get());\n }\n Xe[$t][oe] = pe(fr);\n var ka = [\n \"swapxy\",\n \"swapxyaxes\",\n \"orientation\",\n \"orientationaxes\"\n ];\n if (ka.indexOf($t) !== -1) {\n if ($t === \"orientation\") {\n Ut.set(Ct);\n var mr = Mt.x && !Mt.y ? \"h\" : \"v\";\n if ((Ut.get() || mr) === St.orientation)\n continue;\n } else $t === \"orientationaxes\" && (Mt.orientation = { v: \"h\", h: \"v\" }[St.orientation]);\n _.swapXYData(Mt), Ce.calc = Ce.clearAxisTypes = !0;\n } else f.dataArrayContainers.indexOf(Ut.parts[0]) !== -1 ? (_.manageArrayContainers(Ut, Ct, Xe), Ce.calc = !0) : (tr ? tr.arrayOk && !s.traceIs(St, \"regl\") && (a.isArrayOrTypedArray(Ct) || a.isArrayOrTypedArray(fr)) ? Ce.calc = !0 : S.update(Ce, tr) : Ce.calc = !0, Ut.set(Ct));\n }\n }\n if ([\"swapxyaxes\", \"orientationaxes\"].indexOf($t) !== -1 && d.swap(X, ie), $t === \"orientationaxes\") {\n var Aa = i(X.layout, \"hovermode\"), Ja = Aa.get();\n Ja === \"x\" ? Aa.set(\"y\") : Ja === \"y\" ? Aa.set(\"x\") : Ja === \"x unified\" ? Aa.set(\"y unified\") : Ja === \"y unified\" && Aa.set(\"x unified\");\n }\n if ([\"orientation\", \"type\"].indexOf($t) !== -1) {\n for (Et = [], oe = 0; oe < ie.length; oe++) {\n var no = _e[ie[oe]];\n s.traceIs(no, \"cartesian\") && (It(no.xaxis || \"x\"), It(no.yaxis || \"y\"));\n }\n wt(Et.map(kt), !0, 0), wt(Et.map(qt), [0, 1], 0);\n }\n }\n return (Ce.calc || Ce.plot) && (Ce.fullReplot = !0), {\n flags: Ce,\n undoit: Xe,\n redoit: Be,\n traces: ie,\n eventData: a.extendDeepNoArrays([], [Ee, ie])\n };\n }\n function ze(X) {\n var se = a.counterRegex(\"axis\", \".title\", !1, !1), ie = /colorbar\\.title$/, fe = Object.keys(X), ke, _e, Ge;\n for (ke = 0; ke < fe.length; ke++)\n _e = fe[ke], Ge = X[_e], (_e === \"title\" || se.test(_e) || ie.test(_e)) && (typeof Ge == \"string\" || typeof Ge == \"number\") ? je(_e, _e.replace(\"title\", \"title.text\")) : _e.indexOf(\"titlefont\") > -1 && _e.indexOf(\"grouptitlefont\") === -1 ? je(_e, _e.replace(\"titlefont\", \"title.font\")) : _e.indexOf(\"titleposition\") > -1 ? je(_e, _e.replace(\"titleposition\", \"title.position\")) : _e.indexOf(\"titleside\") > -1 ? je(_e, _e.replace(\"titleside\", \"title.side\")) : _e.indexOf(\"titleoffset\") > -1 && je(_e, _e.replace(\"titleoffset\", \"title.offset\"));\n function je(Ee, oe) {\n X[oe] = X[Ee], delete X[Ee];\n }\n }\n function Fe(X, se, ie) {\n X = a.getGraphDiv(X), _.clearPromiseQueue(X);\n var fe = {};\n if (typeof se == \"string\")\n fe[se] = ie;\n else if (a.isPlainObject(se))\n fe = a.extendFlat({}, se);\n else\n return a.warn(\"Relayout fail.\", se, ie), Promise.reject();\n Object.keys(fe).length && (X.changed = !0);\n var ke = qe(X, fe), _e = ke.flags;\n _e.calc && (X.calcdata = void 0);\n var Ge = [f.previousPromises];\n _e.layoutReplot ? Ge.push(T.layoutReplot) : Object.keys(fe).length && (Oe(X, _e, ke) || f.supplyDefaults(X), _e.legend && Ge.push(T.doLegend), _e.layoutstyle && Ge.push(T.layoutStyles), _e.axrange && Re(Ge, ke.rangesAltered), _e.ticks && Ge.push(T.doTicksRelayout), _e.modebar && Ge.push(T.doModeBar), _e.camera && Ge.push(T.doCamera), _e.colorbars && Ge.push(T.doColorBars), Ge.push(I)), Ge.push(\n f.rehover,\n f.redrag,\n f.reselect\n ), l.add(\n X,\n Fe,\n [X, ke.undoit],\n Fe,\n [X, ke.redoit]\n );\n var je = a.syncOrAsync(Ge, X);\n return (!je || !je.then) && (je = Promise.resolve(X)), je.then(function() {\n return X.emit(\"plotly_relayout\", ke.eventData), X;\n });\n }\n function Oe(X, se, ie) {\n var fe = X._fullLayout;\n if (!se.axrange) return !1;\n for (var ke in se)\n if (ke !== \"axrange\" && se[ke]) return !1;\n var _e, Ge, je = function(Et, Pt) {\n return a.coerce(_e, Ge, p, Et, Pt);\n }, Ee = {};\n for (var oe in ie.rangesAltered) {\n var Ce = d.id2name(oe);\n if (_e = X.layout[Ce], Ge = fe[Ce], h(_e, Ge, je, Ee), Ge._matchGroup) {\n for (var Be in Ge._matchGroup)\n if (Be !== oe) {\n var Xe = fe[d.id2name(Be)];\n Xe.autorange = Ge.autorange, Xe.range = Ge.range.slice(), Xe._input.range = Ge.range.slice();\n }\n }\n }\n return !0;\n }\n function Re(X, se) {\n var ie = se ? function(fe) {\n var ke = [], _e = !0;\n for (var Ge in se) {\n var je = d.getFromId(fe, Ge);\n if (ke.push(Ge), (je.ticklabelposition || \"\").indexOf(\"inside\") !== -1 && je._anchorAxis && ke.push(je._anchorAxis._id), je._matchGroup)\n for (var Ee in je._matchGroup)\n se[Ee] || ke.push(Ee);\n }\n return d.draw(fe, ke, { skipTitle: _e });\n } : function(fe) {\n return d.draw(fe, \"redraw\");\n };\n X.push(\n w,\n T.doAutoRangeAndConstraints,\n ie,\n T.drawData,\n T.finalDraw\n );\n }\n var We = /^[xyz]axis[0-9]*\\.range(\\[[0|1]\\])?$/, Me = /^[xyz]axis[0-9]*\\.autorange$/, Ve = /^[xyz]axis[0-9]*\\.domain(\\[[0|1]\\])?$/;\n function qe(X, se) {\n var ie = X.layout, fe = X._fullLayout, ke = fe._guiEditing, _e = ge(fe._preGUI, ke), Ge = Object.keys(se), je = d.list(X), Ee = a.extendDeepAll({}, se), oe = {}, Ce, Be, Xe;\n for (ze(se), Ge = Object.keys(se), Be = 0; Be < Ge.length; Be++)\n if (Ge[Be].indexOf(\"allaxes\") === 0) {\n for (Xe = 0; Xe < je.length; Xe++) {\n var Et = je[Xe]._id.substr(1), Pt = Et.indexOf(\"scene\") !== -1 ? Et + \".\" : \"\", It = Ge[Be].replace(\"allaxes\", Pt + je[Xe]._name);\n se[It] || (se[It] = se[Ge[Be]]);\n }\n delete se[Ge[Be]];\n }\n var kt = S.layoutFlags(), qt = {}, Ot = {};\n function wt(Jn, ha) {\n if (Array.isArray(Jn)) {\n Jn.forEach(function(od) {\n wt(od, ha);\n });\n return;\n }\n if (!(Jn in se || _.hasParent(se, Jn))) {\n var Ts = _e(ie, Jn);\n Jn in Ot || (Ot[Jn] = pe(Ts.get())), ha !== void 0 && Ts.set(ha);\n }\n }\n var Yt = {}, Kt;\n function $t(Jn) {\n var ha = d.name2id(Jn.split(\".\")[0]);\n return Yt[ha] = 1, ha;\n }\n for (var zt in se) {\n if (_.hasParent(se, zt))\n throw new Error(\"cannot set \" + zt + \" and a parent attribute simultaneously\");\n for (var Mt = _e(ie, zt), St = se[zt], Ut = Mt.parts.length, fr = Ut - 1; fr > 0 && typeof Mt.parts[fr] != \"string\"; ) fr--;\n var Ct = Mt.parts[fr], tr = Mt.parts[fr - 1] + \".\" + Ct, Ht = Mt.parts.slice(0, fr).join(\".\"), $r = i(X.layout, Ht).get(), ar = i(fe, Ht).get(), Pr = Mt.get();\n if (St !== void 0) {\n qt[zt] = St, Ot[zt] = Ct === \"reverse\" ? St : pe(Pr);\n var Ur = u.getLayoutValObject(fe, Mt.parts);\n if (Ur && Ur.impliedEdits && St !== null)\n for (var Pn in Ur.impliedEdits)\n wt(a.relativeAttr(zt, Pn), Ur.impliedEdits[Pn]);\n if ([\"width\", \"height\"].indexOf(zt) !== -1)\n if (St) {\n wt(\"autosize\", null);\n var hn = zt === \"height\" ? \"width\" : \"height\";\n wt(hn, fe[hn]);\n } else\n fe[zt] = X._initialAutoSize[zt];\n else if (zt === \"autosize\")\n wt(\"width\", St ? null : fe.width), wt(\"height\", St ? null : fe.height);\n else if (tr.match(We))\n $t(tr), i(fe, Ht + \"._inputRange\").set(null);\n else if (tr.match(Me)) {\n $t(tr), i(fe, Ht + \"._inputRange\").set(null);\n var vn = i(fe, Ht).get();\n vn._inputDomain && (vn._input.domain = vn._inputDomain.slice());\n } else tr.match(Ve) && i(fe, Ht + \"._inputDomain\").set(null);\n if (Ct === \"type\") {\n Kt = $r;\n var Ka = ar.type === \"linear\" && St === \"log\", to = ar.type === \"log\" && St === \"linear\";\n if (Ka || to) {\n if (!Kt || !Kt.range)\n wt(Ht + \".autorange\", !0);\n else if (ar.autorange)\n Ka && (Kt.range = Kt.range[1] > Kt.range[0] ? [1, 2] : [2, 1]);\n else {\n var ln = Kt.range[0], Xn = Kt.range[1];\n Ka ? (ln <= 0 && Xn <= 0 && wt(Ht + \".autorange\", !0), ln <= 0 ? ln = Xn / 1e6 : Xn <= 0 && (Xn = ln / 1e6), wt(Ht + \".range[0]\", Math.log(ln) / Math.LN10), wt(Ht + \".range[1]\", Math.log(Xn) / Math.LN10)) : (wt(Ht + \".range[0]\", Math.pow(10, ln)), wt(Ht + \".range[1]\", Math.pow(10, Xn)));\n }\n Array.isArray(fe._subplots.polar) && fe._subplots.polar.length && fe[Mt.parts[0]] && Mt.parts[1] === \"radialaxis\" && delete fe[Mt.parts[0]]._subplot.viewInitial[\"radialaxis.range\"], s.getComponentMethod(\"annotations\", \"convertCoords\")(X, ar, St, wt), s.getComponentMethod(\"images\", \"convertCoords\")(X, ar, St, wt);\n } else\n wt(Ht + \".autorange\", !0), wt(Ht + \".range\", null);\n i(fe, Ht + \"._inputRange\").set(null);\n } else if (Ct.match(M)) {\n var ro = i(fe, zt).get(), ka = (St || {}).type;\n (!ka || ka === \"-\") && (ka = \"linear\"), s.getComponentMethod(\"annotations\", \"convertCoords\")(X, ro, ka, wt), s.getComponentMethod(\"images\", \"convertCoords\")(X, ro, ka, wt);\n }\n var mr = x.containerArrayMatch(zt);\n if (mr) {\n Ce = mr.array, Be = mr.index;\n var Aa = mr.property, Ja = Ur || { editType: \"calc\" };\n Be !== \"\" && Aa === \"\" && (x.isAddVal(St) ? Ot[zt] = null : x.isRemoveVal(St) ? Ot[zt] = (i(ie, Ce).get() || [])[Be] : a.warn(\"unrecognized full object value\", se)), S.update(kt, Ja), oe[Ce] || (oe[Ce] = {});\n var no = oe[Ce][Be];\n no || (no = oe[Ce][Be] = {}), no[Aa] = St, delete se[zt];\n } else Ct === \"reverse\" ? ($r.range ? $r.range.reverse() : (wt(Ht + \".autorange\", !0), $r.range = [1, 0]), ar.autorange ? kt.calc = !0 : kt.plot = !0) : (zt === \"dragmode\" && (St === !1 && Pr !== !1 || St !== !1 && Pr === !1) || fe._has(\"scatter-like\") && fe._has(\"regl\") && zt === \"dragmode\" && (St === \"lasso\" || St === \"select\") && !(Pr === \"lasso\" || Pr === \"select\") || fe._has(\"gl2d\") ? kt.plot = !0 : Ur ? S.update(kt, Ur) : kt.calc = !0, Mt.set(St));\n }\n }\n for (Ce in oe) {\n var zr = x.applyContainerArrayChanges(\n X,\n _e(ie, Ce),\n oe[Ce],\n kt,\n _e\n );\n zr || (kt.plot = !0);\n }\n for (var tn in Yt) {\n Kt = d.getFromId(X, tn);\n var Kn = Kt && Kt._constraintGroup;\n if (Kn) {\n kt.calc = !0;\n for (var Ma in Kn)\n Yt[Ma] || (d.getFromId(X, Ma)._constraintShrinkable = !0);\n }\n }\n (Qe(X) || se.height || se.width) && (kt.plot = !0);\n var Ti = fe.shapes;\n for (Be = 0; Be < Ti.length; Be++)\n if (Ti[Be].showlegend) {\n kt.calc = !0;\n break;\n }\n return (kt.plot || kt.calc) && (kt.layoutReplot = !0), {\n flags: kt,\n rangesAltered: Yt,\n undoit: Ot,\n redoit: qt,\n eventData: Ee\n };\n }\n function Qe(X) {\n var se = X._fullLayout, ie = se.width, fe = se.height;\n return X.layout.autosize && f.plotAutoSize(X, X.layout, se), se.width !== ie || se.height !== fe;\n }\n function ot(X, se, ie, fe) {\n X = a.getGraphDiv(X), _.clearPromiseQueue(X), a.isPlainObject(se) || (se = {}), a.isPlainObject(ie) || (ie = {}), Object.keys(se).length && (X.changed = !0), Object.keys(ie).length && (X.changed = !0);\n var ke = _.coerceTraceIndices(X, fe), _e = Le(X, a.extendFlat({}, se), ke), Ge = _e.flags, je = qe(X, a.extendFlat({}, ie)), Ee = je.flags;\n (Ge.calc || Ee.calc) && (X.calcdata = void 0), Ge.clearAxisTypes && _.clearAxisTypes(X, ke, ie);\n var oe = [];\n Ee.layoutReplot ? oe.push(T.layoutReplot) : Ge.fullReplot ? oe.push(e._doPlot) : (oe.push(f.previousPromises), Oe(X, Ee, je) || f.supplyDefaults(X), Ge.style && oe.push(T.doTraceStyle), (Ge.colorbars || Ee.colorbars) && oe.push(T.doColorBars), Ee.legend && oe.push(T.doLegend), Ee.layoutstyle && oe.push(T.layoutStyles), Ee.axrange && Re(oe, je.rangesAltered), Ee.ticks && oe.push(T.doTicksRelayout), Ee.modebar && oe.push(T.doModeBar), Ee.camera && oe.push(T.doCamera), oe.push(I)), oe.push(\n f.rehover,\n f.redrag,\n f.reselect\n ), l.add(\n X,\n ot,\n [X, _e.undoit, je.undoit, _e.traces],\n ot,\n [X, _e.redoit, je.redoit, _e.traces]\n );\n var Ce = a.syncOrAsync(oe, X);\n return (!Ce || !Ce.then) && (Ce = Promise.resolve(X)), Ce.then(function() {\n return X.emit(\"plotly_update\", {\n data: _e.eventData,\n layout: je.eventData\n }), X;\n });\n }\n function ht(X) {\n return function(ie) {\n ie._fullLayout._guiEditing = !0;\n var fe = X.apply(null, arguments);\n return ie._fullLayout._guiEditing = !1, fe;\n };\n }\n var vt = [\n { pattern: /^hiddenlabels/, attr: \"legend.uirevision\" },\n { pattern: /^((x|y)axis\\d*)\\.((auto)?range|title\\.text)/ },\n // showspikes and modes include those nested inside scenes\n { pattern: /axis\\d*\\.showspikes$/, attr: \"modebar.uirevision\" },\n { pattern: /(hover|drag)mode$/, attr: \"modebar.uirevision\" },\n { pattern: /^(scene\\d*)\\.camera/ },\n { pattern: /^(geo\\d*)\\.(projection|center|fitbounds)/ },\n { pattern: /^(ternary\\d*\\.[abc]axis)\\.(min|title\\.text)$/ },\n { pattern: /^(polar\\d*\\.radialaxis)\\.((auto)?range|angle|title\\.text)/ },\n { pattern: /^(polar\\d*\\.angularaxis)\\.rotation/ },\n { pattern: /^(mapbox\\d*)\\.(center|zoom|bearing|pitch)/ },\n { pattern: /^legend\\.(x|y)$/, attr: \"editrevision\" },\n { pattern: /^(shapes|annotations)/, attr: \"editrevision\" },\n { pattern: /^title\\.text$/, attr: \"editrevision\" }\n ], nt = [\n { pattern: /^selectedpoints$/, attr: \"selectionrevision\" },\n // \"visible\" includes trace.transforms[i].styles[j].value.visible\n { pattern: /(^|value\\.)visible$/, attr: \"legend.uirevision\" },\n { pattern: /^dimensions\\[\\d+\\]\\.constraintrange/ },\n { pattern: /^node\\.(x|y|groups)/ },\n // for Sankey nodes\n { pattern: /^level$/ },\n // for Sunburst, Treemap and Icicle traces\n // below this you must be in editable: true mode\n // TODO: I still put name and title with `trace.uirevision`\n // reasonable or should these be `editrevision`?\n // Also applies to axis titles up in the layout section\n // \"name\" also includes transform.styles\n { pattern: /(^|value\\.)name$/ },\n // including nested colorbar attributes (ie marker.colorbar)\n { pattern: /colorbar\\.title\\.text$/ },\n { pattern: /colorbar\\.(x|y)$/, attr: \"editrevision\" }\n ];\n function ft(X, se) {\n for (var ie = 0; ie < se.length; ie++) {\n var fe = se[ie], ke = X.match(fe.pattern);\n if (ke) {\n var _e = ke[1] || \"\";\n return { head: _e, tail: X.substr(_e.length + 1), attr: fe.attr };\n }\n }\n }\n function Pe(X, se) {\n var ie = i(se, X).get();\n if (ie !== void 0) return ie;\n var fe = X.split(\".\");\n for (fe.pop(); fe.length > 1; )\n if (fe.pop(), ie = i(se, fe.join(\".\") + \".uirevision\").get(), ie !== void 0) return ie;\n return se.uirevision;\n }\n function Ie(X, se) {\n for (var ie = 0; ie < se.length; ie++)\n if (se[ie]._fullInput.uid === X) return ie;\n return -1;\n }\n function Ne(X, se, ie) {\n for (var fe = 0; fe < se.length; fe++)\n if (se[fe].uid === X) return fe;\n return !se[ie] || se[ie].uid ? -1 : ie;\n }\n function tt(X, se) {\n var ie = a.isPlainObject(X), fe = Array.isArray(X);\n return ie || fe ? (ie && a.isPlainObject(se) || fe && Array.isArray(se)) && JSON.stringify(X) === JSON.stringify(se) : X === se;\n }\n function Je(X, se, ie, fe) {\n var ke = fe._preGUI, _e, Ge, je, Ee, oe, Ce, Be, Xe, Et, Pt, It = [], kt = {}, qt = {};\n for (_e in ke) {\n if (oe = ft(_e, vt), oe) {\n if (Et = oe.head, Pt = oe.tail, Ge = oe.attr || Et + \".uirevision\", je = i(fe, Ge).get(), Ee = je && Pe(Ge, se), Ee && Ee === je) {\n if (Ce = ke[_e], Ce === null && (Ce = void 0), Be = i(se, _e), Xe = Be.get(), tt(Xe, Ce)) {\n Xe === void 0 && Pt === \"autorange\" && It.push(Et), Be.set(pe(i(fe, _e).get()));\n continue;\n } else if (Pt === \"autorange\" || Pt.substr(0, 6) === \"range[\") {\n var Ot = ke[Et + \".range[0]\"], wt = ke[Et + \".range[1]\"], Yt = ke[Et + \".autorange\"];\n if (Yt || Yt === null && Ot === null && wt === null) {\n if (!(Et in kt)) {\n var Kt = i(se, Et).get();\n kt[Et] = Kt && (Kt.autorange || Kt.autorange !== !1 && (!Kt.range || Kt.range.length !== 2));\n }\n if (kt[Et]) {\n Be.set(pe(i(fe, _e).get()));\n continue;\n }\n }\n }\n }\n } else\n a.warn(\"unrecognized GUI edit: \" + _e);\n delete ke[_e], oe && oe.tail.substr(0, 6) === \"range[\" && (qt[oe.head] = 1);\n }\n for (var $t = 0; $t < It.length; $t++) {\n var zt = It[$t];\n if (qt[zt]) {\n var Mt = i(se, zt).get();\n Mt && delete Mt.autorange;\n }\n }\n var St = fe._tracePreGUI;\n for (var Ut in St) {\n var fr = St[Ut], Ct = null, tr;\n for (_e in fr) {\n if (!Ct) {\n var Ht = Ie(Ut, ie);\n if (Ht < 0) {\n delete St[Ut];\n break;\n }\n var $r = ie[Ht];\n tr = $r._fullInput;\n var ar = Ne(Ut, X, tr.index);\n if (ar < 0) {\n delete St[Ut];\n break;\n }\n Ct = X[ar];\n }\n if (oe = ft(_e, nt), oe) {\n if (oe.attr ? (je = i(fe, oe.attr).get(), Ee = je && Pe(oe.attr, se)) : (je = tr.uirevision, Ee = Ct.uirevision, Ee === void 0 && (Ee = se.uirevision)), Ee && Ee === je && (Ce = fr[_e], Ce === null && (Ce = void 0), Be = i(Ct, _e), Xe = Be.get(), tt(Xe, Ce))) {\n Be.set(pe(i(tr, _e).get()));\n continue;\n }\n } else\n a.warn(\"unrecognized GUI edit: \" + _e + \" in trace uid \" + Ut);\n delete fr[_e];\n }\n }\n }\n function it(X, se, ie, fe) {\n var ke, _e;\n function Ge() {\n return e.addFrames(X, ke);\n }\n X = a.getGraphDiv(X), _.clearPromiseQueue(X);\n var je = X._fullData, Ee = X._fullLayout;\n if (!a.isPlotDiv(X) || !je || !Ee)\n _e = e.newPlot(X, se, ie, fe);\n else {\n if (a.isPlainObject(se)) {\n var oe = se;\n se = oe.data, ie = oe.layout, fe = oe.config, ke = oe.frames;\n }\n var Ce = !1;\n if (fe) {\n var Be = a.extendDeep({}, X._context);\n X._context = void 0, V(X, fe), Ce = He(Be, X._context);\n }\n X.data = se || [], _.cleanData(X.data), X.layout = ie || {}, _.cleanLayout(X.layout), Je(X.data, X.layout, je, Ee), f.supplyDefaults(X, { skipUpdateCalc: !0 });\n var Xe = X._fullData, Et = X._fullLayout, Pt = Et.datarevision === void 0, It = Et.transition, kt = Tt(X, Ee, Et, Pt, It), qt = kt.newDataRevision, Ot = at(X, je, Xe, Pt, It, qt);\n if (Qe(X) && (kt.layoutReplot = !0), Ot.calc || kt.calc) {\n X.calcdata = void 0;\n for (var wt = Object.getOwnPropertyNames(Et), Yt = 0; Yt < wt.length; Yt++) {\n var Kt = wt[Yt], $t = Kt.substring(0, 5);\n if ($t === \"xaxis\" || $t === \"yaxis\") {\n var zt = Et[Kt]._emptyCategories;\n zt && zt();\n }\n }\n } else\n f.supplyDefaultsUpdateCalc(X.calcdata, Xe);\n var Mt = [];\n if (ke && (X._transitionData = {}, f.createTransitionData(X), Mt.push(Ge)), Et.transition && !Ce && (Ot.anim || kt.anim))\n kt.ticks && Mt.push(T.doTicksRelayout), f.doCalcdata(X), T.doAutoRangeAndConstraints(X), Mt.push(function() {\n return f.transitionFromReact(X, Ot, kt, Ee);\n });\n else if (Ot.fullReplot || kt.layoutReplot || Ce)\n X._fullLayout._skipDefaults = !0, Mt.push(e._doPlot);\n else {\n for (var St in kt.arrays) {\n var Ut = kt.arrays[St];\n if (Ut.length) {\n var fr = s.getComponentMethod(St, \"drawOne\");\n if (fr !== a.noop)\n for (var Ct = 0; Ct < Ut.length; Ct++)\n fr(X, Ut[Ct]);\n else {\n var tr = s.getComponentMethod(St, \"draw\");\n if (tr === a.noop)\n throw new Error(\"cannot draw components: \" + St);\n tr(X);\n }\n }\n }\n Mt.push(f.previousPromises), Ot.style && Mt.push(T.doTraceStyle), (Ot.colorbars || kt.colorbars) && Mt.push(T.doColorBars), kt.legend && Mt.push(T.doLegend), kt.layoutstyle && Mt.push(T.layoutStyles), kt.axrange && Re(Mt), kt.ticks && Mt.push(T.doTicksRelayout), kt.modebar && Mt.push(T.doModeBar), kt.camera && Mt.push(T.doCamera), Mt.push(I);\n }\n Mt.push(\n f.rehover,\n f.redrag,\n f.reselect\n ), _e = a.syncOrAsync(Mt, X), (!_e || !_e.then) && (_e = Promise.resolve(X));\n }\n return _e.then(function() {\n return X.emit(\"plotly_react\", {\n data: se,\n layout: ie\n }), X;\n });\n }\n function at(X, se, ie, fe, ke, _e) {\n var Ge = se.length === ie.length;\n if (!ke && !Ge)\n return {\n fullReplot: !0,\n calc: !0\n };\n var je = S.traceFlags();\n je.arrays = {}, je.nChanges = 0, je.nChangesAnim = 0;\n var Ee, oe;\n function Ce(Et) {\n var Pt = u.getTraceValObject(oe, Et);\n return !oe._module.animatable && Pt.anim && (Pt.anim = !1), Pt;\n }\n var Be = {\n getValObject: Ce,\n flags: je,\n immutable: fe,\n transition: ke,\n newDataRevision: _e,\n gd: X\n }, Xe = {};\n for (Ee = 0; Ee < se.length; Ee++)\n if (ie[Ee]) {\n if (oe = ie[Ee]._fullInput, f.hasMakesDataTransform(oe) && (oe = ie[Ee]), Xe[oe.uid]) continue;\n Xe[oe.uid] = 1, gt(se[Ee]._fullInput, oe, [], Be);\n }\n return (je.calc || je.plot) && (je.fullReplot = !0), ke && je.nChanges && je.nChangesAnim && (je.anim = je.nChanges === je.nChangesAnim && Ge ? \"all\" : \"some\"), je;\n }\n function Tt(X, se, ie, fe, ke) {\n var _e = S.layoutFlags();\n _e.arrays = {}, _e.rangesAltered = {}, _e.nChanges = 0, _e.nChangesAnim = 0;\n function Ge(Ee) {\n return u.getLayoutValObject(ie, Ee);\n }\n var je = {\n getValObject: Ge,\n flags: _e,\n immutable: fe,\n transition: ke,\n gd: X\n };\n return gt(se, ie, [], je), (_e.plot || _e.calc) && (_e.layoutReplot = !0), ke && _e.nChanges && _e.nChangesAnim && (_e.anim = _e.nChanges === _e.nChangesAnim ? \"all\" : \"some\"), _e;\n }\n function gt(X, se, ie, fe) {\n var ke, _e, Ge, je = fe.getValObject, Ee = fe.flags, oe = fe.immutable, Ce = fe.inArray, Be = fe.arrayIndex;\n function Xe() {\n var Ht = ke.editType;\n if (Ce && Ht.indexOf(\"arraydraw\") !== -1) {\n a.pushUnique(Ee.arrays[Ce], Be);\n return;\n }\n S.update(Ee, ke), Ht !== \"none\" && Ee.nChanges++, fe.transition && ke.anim && Ee.nChangesAnim++, (We.test(Ge) || Me.test(Ge)) && (Ee.rangesAltered[ie[0]] = 1), Ve.test(Ge) && i(se, \"_inputDomain\").set(null), _e === \"datarevision\" && (Ee.newDataRevision = 1);\n }\n function Et(Ht) {\n return Ht.valType === \"data_array\" || Ht.arrayOk;\n }\n for (_e in X) {\n if (Ee.calc && !fe.transition) return;\n var Pt = X[_e], It = se[_e], kt = ie.concat(_e);\n if (Ge = kt.join(\".\"), !(_e.charAt(0) === \"_\" || typeof Pt == \"function\" || Pt === It)) {\n if ((_e === \"tick0\" || _e === \"dtick\") && ie[0] !== \"geo\") {\n var qt = se.tickmode;\n if (qt === \"auto\" || qt === \"array\" || !qt) continue;\n }\n if (!(_e === \"range\" && se.autorange) && !((_e === \"zmin\" || _e === \"zmax\") && se.type === \"contourcarpet\") && (ke = je(kt), !!ke && !(ke._compareAsJSON && JSON.stringify(Pt) === JSON.stringify(It)))) {\n var Ot = ke.valType, wt, Yt = Et(ke), Kt = Array.isArray(Pt), $t = Array.isArray(It);\n if (Kt && $t) {\n var zt = \"_input_\" + _e, Mt = X[zt], St = se[zt];\n if (Array.isArray(Mt) && Mt === St) continue;\n }\n if (It === void 0)\n Yt && Kt ? Ee.calc = !0 : Xe();\n else if (ke._isLinkedToArray) {\n var Ut = [], fr = !1;\n Ce || (Ee.arrays[_e] = Ut);\n var Ct = Math.min(Pt.length, It.length), tr = Math.max(Pt.length, It.length);\n if (Ct !== tr)\n if (ke.editType === \"arraydraw\")\n fr = !0;\n else {\n Xe();\n continue;\n }\n for (wt = 0; wt < Ct; wt++)\n gt(\n Pt[wt],\n It[wt],\n kt.concat(wt),\n // add array indices, but not if we're already in an array\n a.extendFlat({ inArray: _e, arrayIndex: wt }, fe)\n );\n if (fr)\n for (wt = Ct; wt < tr; wt++)\n Ut.push(wt);\n } else !Ot && a.isPlainObject(Pt) ? gt(Pt, It, kt, fe) : Yt ? Kt && $t ? (oe && (Ee.calc = !0), (oe || fe.newDataRevision) && Xe()) : Kt !== $t ? Ee.calc = !0 : Xe() : Kt && $t ? (Pt.length !== It.length || String(Pt) !== String(It)) && Xe() : Xe();\n }\n }\n }\n for (_e in se)\n if (!(_e in X || _e.charAt(0) === \"_\" || typeof se[_e] == \"function\"))\n if (ke = je(ie.concat(_e)), Et(ke) && Array.isArray(se[_e])) {\n Ee.calc = !0;\n return;\n } else Xe();\n }\n function He(X, se) {\n var ie;\n for (ie in X)\n if (ie.charAt(0) !== \"_\") {\n var fe = X[ie], ke = se[ie];\n if (fe !== ke)\n if (a.isPlainObject(fe) && a.isPlainObject(ke)) {\n if (He(fe, ke))\n return !0;\n } else if (Array.isArray(fe) && Array.isArray(ke)) {\n if (fe.length !== ke.length)\n return !0;\n for (var _e = 0; _e < fe.length; _e++)\n if (fe[_e] !== ke[_e])\n if (a.isPlainObject(fe[_e]) && a.isPlainObject(ke[_e])) {\n if (He(fe[_e], ke[_e]))\n return !0;\n } else\n return !0;\n } else\n return !0;\n }\n }\n function pt(X, se, ie) {\n if (X = a.getGraphDiv(X), !a.isPlotDiv(X))\n throw new Error(\n \"This element is not a Plotly plot: \" + X + \". It's likely that you've failed to create a plot before animating it. For more details, see https://plotly.com/javascript/animations/\"\n );\n var fe = X._transitionData;\n fe._frameQueue || (fe._frameQueue = []), ie = f.supplyAnimationDefaults(ie);\n var ke = ie.transition, _e = ie.frame;\n fe._frameWaitingCnt === void 0 && (fe._frameWaitingCnt = 0);\n function Ge(oe) {\n return Array.isArray(ke) ? oe >= ke.length ? ke[0] : ke[oe] : ke;\n }\n function je(oe) {\n return Array.isArray(_e) ? oe >= _e.length ? _e[0] : _e[oe] : _e;\n }\n function Ee(oe, Ce) {\n var Be = 0;\n return function() {\n if (oe && ++Be === Ce)\n return oe();\n };\n }\n return new Promise(function(oe, Ce) {\n function Be() {\n if (fe._frameQueue.length !== 0) {\n for (; fe._frameQueue.length; ) {\n var Ct = fe._frameQueue.pop();\n Ct.onInterrupt && Ct.onInterrupt();\n }\n X.emit(\"plotly_animationinterrupted\", []);\n }\n }\n function Xe(Ct) {\n if (Ct.length !== 0) {\n for (var tr = 0; tr < Ct.length; tr++) {\n var Ht;\n Ct[tr].type === \"byname\" ? Ht = f.computeFrame(X, Ct[tr].name) : Ht = Ct[tr].data;\n var $r = je(tr), ar = Ge(tr);\n ar.duration = Math.min(ar.duration, $r.duration);\n var Pr = {\n frame: Ht,\n name: Ct[tr].name,\n frameOpts: $r,\n transitionOpts: ar\n };\n tr === Ct.length - 1 && (Pr.onComplete = Ee(oe, 2), Pr.onInterrupt = Ce), fe._frameQueue.push(Pr);\n }\n ie.mode === \"immediate\" && (fe._lastFrameAt = -1 / 0), fe._animationRaf || It();\n }\n }\n function Et() {\n X.emit(\"plotly_animated\"), window.cancelAnimationFrame(fe._animationRaf), fe._animationRaf = null;\n }\n function Pt() {\n fe._currentFrame && fe._currentFrame.onComplete && fe._currentFrame.onComplete();\n var Ct = fe._currentFrame = fe._frameQueue.shift();\n if (Ct) {\n var tr = Ct.name ? Ct.name.toString() : null;\n X._fullLayout._currentFrame = tr, fe._lastFrameAt = Date.now(), fe._timeToNext = Ct.frameOpts.duration, f.transition(\n X,\n Ct.frame.data,\n Ct.frame.layout,\n _.coerceTraceIndices(X, Ct.frame.traces),\n Ct.frameOpts,\n Ct.transitionOpts\n ).then(function() {\n Ct.onComplete && Ct.onComplete();\n }), X.emit(\"plotly_animatingframe\", {\n name: tr,\n frame: Ct.frame,\n animation: {\n frame: Ct.frameOpts,\n transition: Ct.transitionOpts\n }\n });\n } else\n Et();\n }\n function It() {\n X.emit(\"plotly_animating\"), fe._lastFrameAt = -1 / 0, fe._timeToNext = 0, fe._runningTransitions = 0, fe._currentFrame = null;\n var Ct = function() {\n fe._animationRaf = window.requestAnimationFrame(Ct), Date.now() - fe._lastFrameAt > fe._timeToNext && Pt();\n };\n Ct();\n }\n var kt = 0;\n function qt(Ct) {\n return Array.isArray(ke) ? kt >= ke.length ? Ct.transitionOpts = ke[kt] : Ct.transitionOpts = ke[0] : Ct.transitionOpts = ke, kt++, Ct;\n }\n var Ot, wt, Yt = [], Kt = se == null, $t = Array.isArray(se), zt = !Kt && !$t && a.isPlainObject(se);\n if (zt)\n Yt.push({\n type: \"object\",\n data: qt(a.extendFlat({}, se))\n });\n else if (Kt || [\"string\", \"number\"].indexOf(typeof se) !== -1)\n for (Ot = 0; Ot < fe._frames.length; Ot++)\n wt = fe._frames[Ot], wt && (Kt || String(wt.group) === String(se)) && Yt.push({\n type: \"byname\",\n name: String(wt.name),\n data: qt({ name: wt.name })\n });\n else if ($t)\n for (Ot = 0; Ot < se.length; Ot++) {\n var Mt = se[Ot];\n [\"number\", \"string\"].indexOf(typeof Mt) !== -1 ? (Mt = String(Mt), Yt.push({\n type: \"byname\",\n name: Mt,\n data: qt({ name: Mt })\n })) : a.isPlainObject(Mt) && Yt.push({\n type: \"object\",\n data: qt(a.extendFlat({}, Mt))\n });\n }\n for (Ot = 0; Ot < Yt.length; Ot++)\n if (wt = Yt[Ot], wt.type === \"byname\" && !fe._frameHash[wt.data.name]) {\n a.warn('animate failure: frame not found: \"' + wt.data.name + '\"'), Ce();\n return;\n }\n [\"next\", \"immediate\"].indexOf(ie.mode) !== -1 && Be(), ie.direction === \"reverse\" && Yt.reverse();\n var St = X._fullLayout._currentFrame;\n if (St && ie.fromcurrent) {\n var Ut = -1;\n for (Ot = 0; Ot < Yt.length; Ot++)\n if (wt = Yt[Ot], wt.type === \"byname\" && wt.name === St) {\n Ut = Ot;\n break;\n }\n if (Ut > 0 && Ut < Yt.length - 1) {\n var fr = [];\n for (Ot = 0; Ot < Yt.length; Ot++)\n wt = Yt[Ot], (Yt[Ot].type !== \"byname\" || Ot > Ut) && fr.push(wt);\n Yt = fr;\n }\n }\n Yt.length > 0 ? Xe(Yt) : (X.emit(\"plotly_animated\"), oe());\n });\n }\n function bt(X, se, ie) {\n if (X = a.getGraphDiv(X), se == null)\n return Promise.resolve();\n if (!a.isPlotDiv(X))\n throw new Error(\n \"This element is not a Plotly plot: \" + X + \". It's likely that you've failed to create a plot before adding frames. For more details, see https://plotly.com/javascript/animations/\"\n );\n var fe, ke, _e, Ge, je = X._transitionData._frames, Ee = X._transitionData._frameHash;\n if (!Array.isArray(se))\n throw new Error(\"addFrames failure: frameList must be an Array of frame definitions\" + se);\n var oe = je.length + se.length * 2, Ce = [], Be = {};\n for (fe = se.length - 1; fe >= 0; fe--)\n if (a.isPlainObject(se[fe])) {\n var Xe = se[fe].name, Et = (Ee[Xe] || Be[Xe] || {}).name, Pt = se[fe].name, It = Ee[Et] || Be[Et];\n Et && Pt && typeof Pt == \"number\" && It && L < F && (L++, a.warn('addFrames: overwriting frame \"' + (Ee[Et] || Be[Et]).name + '\" with a frame whose name of type \"number\" also equates to \"' + Et + '\". This is valid but may potentially lead to unexpected behavior since all plotly.js frame names are stored internally as strings.'), L === F && a.warn(\"addFrames: This API call has yielded too many of these warnings. For the rest of this call, further warnings about numeric frame names will be suppressed.\")), Be[Xe] = { name: Xe }, Ce.push({\n frame: f.supplyFrameDefaults(se[fe]),\n index: ie && ie[fe] !== void 0 && ie[fe] !== null ? ie[fe] : oe + fe\n });\n }\n Ce.sort(function(zt, Mt) {\n return zt.index > Mt.index ? -1 : zt.index < Mt.index ? 1 : 0;\n });\n var kt = [], qt = [], Ot = je.length;\n for (fe = Ce.length - 1; fe >= 0; fe--) {\n if (ke = Ce[fe].frame, typeof ke.name == \"number\" && a.warn(\"Warning: addFrames accepts frames with numeric names, but the numbers areimplicitly cast to strings\"), !ke.name)\n for (; Ee[ke.name = \"frame \" + X._transitionData._counter++]; ) ;\n if (Ee[ke.name]) {\n for (_e = 0; _e < je.length && (je[_e] || {}).name !== ke.name; _e++)\n ;\n kt.push({ type: \"replace\", index: _e, value: ke }), qt.unshift({ type: \"replace\", index: _e, value: je[_e] });\n } else\n Ge = Math.max(0, Math.min(Ce[fe].index, Ot)), kt.push({ type: \"insert\", index: Ge, value: ke }), qt.unshift({ type: \"delete\", index: Ge }), Ot++;\n }\n var wt = f.modifyFrames, Yt = f.modifyFrames, Kt = [X, qt], $t = [X, kt];\n return l && l.add(X, wt, Kt, Yt, $t), f.modifyFrames(X, kt);\n }\n function Ke(X, se) {\n if (X = a.getGraphDiv(X), !a.isPlotDiv(X))\n throw new Error(\"This element is not a Plotly plot: \" + X);\n var ie, fe, ke = X._transitionData._frames, _e = [], Ge = [];\n if (!se)\n for (se = [], ie = 0; ie < ke.length; ie++)\n se.push(ie);\n for (se = se.slice(), se.sort(), ie = se.length - 1; ie >= 0; ie--)\n fe = se[ie], _e.push({ type: \"delete\", index: fe }), Ge.unshift({ type: \"insert\", index: fe, value: ke[fe] });\n var je = f.modifyFrames, Ee = f.modifyFrames, oe = [X, Ge], Ce = [X, _e];\n return l && l.add(X, je, oe, Ee, Ce), f.modifyFrames(X, _e);\n }\n function st(X) {\n X = a.getGraphDiv(X);\n var se = X._fullLayout || {}, ie = X._fullData || [];\n return f.cleanPlot([], {}, ie, se), f.purge(X), o.purge(X), se._container && se._container.remove(), delete X._context, X;\n }\n function rt(X) {\n var se = X._fullLayout, ie = X.getBoundingClientRect();\n if (!a.equalDomRects(ie, se._lastBBox)) {\n var fe = se._invTransform = a.inverseTransformMatrix(a.getFullTransformMatrix(X));\n se._invScaleX = Math.sqrt(fe[0][0] * fe[0][0] + fe[0][1] * fe[0][1] + fe[0][2] * fe[0][2]), se._invScaleY = Math.sqrt(fe[1][0] * fe[1][0] + fe[1][1] * fe[1][1] + fe[1][2] * fe[1][2]), se._lastBBox = ie;\n }\n }\n function ct(X) {\n var se = t.select(X), ie = X._fullLayout;\n if (ie._calcInverseTransform = rt, ie._calcInverseTransform(X), ie._container = se.selectAll(\".plot-container\").data([0]), ie._container.enter().insert(\"div\", \":first-child\").classed(\"plot-container\", !0).classed(\"plotly\", !0), ie._paperdiv = ie._container.selectAll(\".svg-container\").data([0]), ie._paperdiv.enter().append(\"div\").classed(\"user-select-none\", !0).classed(\"svg-container\", !0).style(\"position\", \"relative\"), ie._glcontainer = ie._paperdiv.selectAll(\".gl-container\").data([{}]), ie._glcontainer.enter().append(\"div\").classed(\"gl-container\", !0), ie._paperdiv.selectAll(\".main-svg\").remove(), ie._paperdiv.select(\".modebar-container\").remove(), ie._paper = ie._paperdiv.insert(\"svg\", \":first-child\").classed(\"main-svg\", !0), ie._toppaper = ie._paperdiv.append(\"svg\").classed(\"main-svg\", !0), ie._modebardiv = ie._paperdiv.append(\"div\"), delete ie._modeBar, ie._hoverpaper = ie._paperdiv.append(\"svg\").classed(\"main-svg\", !0), !ie._uid) {\n var fe = {};\n t.selectAll(\"defs\").each(function() {\n this.id && (fe[this.id.split(\"-\")[1]] = 1);\n }), ie._uid = a.randstr(fe);\n }\n ie._paperdiv.selectAll(\".main-svg\").attr(y.svgAttrs), ie._defs = ie._paper.append(\"defs\").attr(\"id\", \"defs-\" + ie._uid), ie._clips = ie._defs.append(\"g\").classed(\"clips\", !0), ie._topdefs = ie._toppaper.append(\"defs\").attr(\"id\", \"topdefs-\" + ie._uid), ie._topclips = ie._topdefs.append(\"g\").classed(\"clips\", !0), ie._bgLayer = ie._paper.append(\"g\").classed(\"bglayer\", !0), ie._draggers = ie._paper.append(\"g\").classed(\"draglayer\", !0);\n var ke = ie._paper.append(\"g\").classed(\"layer-below\", !0);\n ie._imageLowerLayer = ke.append(\"g\").classed(\"imagelayer\", !0), ie._shapeLowerLayer = ke.append(\"g\").classed(\"shapelayer\", !0), ie._cartesianlayer = ie._paper.append(\"g\").classed(\"cartesianlayer\", !0), ie._polarlayer = ie._paper.append(\"g\").classed(\"polarlayer\", !0), ie._smithlayer = ie._paper.append(\"g\").classed(\"smithlayer\", !0), ie._ternarylayer = ie._paper.append(\"g\").classed(\"ternarylayer\", !0), ie._geolayer = ie._paper.append(\"g\").classed(\"geolayer\", !0), ie._funnelarealayer = ie._paper.append(\"g\").classed(\"funnelarealayer\", !0), ie._pielayer = ie._paper.append(\"g\").classed(\"pielayer\", !0), ie._iciclelayer = ie._paper.append(\"g\").classed(\"iciclelayer\", !0), ie._treemaplayer = ie._paper.append(\"g\").classed(\"treemaplayer\", !0), ie._sunburstlayer = ie._paper.append(\"g\").classed(\"sunburstlayer\", !0), ie._indicatorlayer = ie._toppaper.append(\"g\").classed(\"indicatorlayer\", !0), ie._glimages = ie._paper.append(\"g\").classed(\"glimages\", !0);\n var _e = ie._toppaper.append(\"g\").classed(\"layer-above\", !0);\n ie._imageUpperLayer = _e.append(\"g\").classed(\"imagelayer\", !0), ie._shapeUpperLayer = _e.append(\"g\").classed(\"shapelayer\", !0), ie._selectionLayer = ie._toppaper.append(\"g\").classed(\"selectionlayer\", !0), ie._infolayer = ie._toppaper.append(\"g\").classed(\"infolayer\", !0), ie._menulayer = ie._toppaper.append(\"g\").classed(\"menulayer\", !0), ie._zoomlayer = ie._toppaper.append(\"g\").classed(\"zoomlayer\", !0), ie._hoverlayer = ie._hoverpaper.append(\"g\").classed(\"hoverlayer\", !0), ie._modebardiv.classed(\"modebar-container\", !0).style(\"position\", \"absolute\").style(\"top\", \"0px\").style(\"right\", \"0px\"), X.emit(\"plotly_framework\");\n }\n e.animate = pt, e.addFrames = bt, e.deleteFrames = Ke, e.addTraces = U, e.deleteTraces = Z, e.extendTraces = ue, e.moveTraces = le, e.prependTraces = j, e.newPlot = P, e._doPlot = $, e.purge = st, e.react = it, e.redraw = z, e.relayout = Fe, e.restyle = J, e.setPlotConfig = O, e.update = ot, e._guiRelayout = ht(Fe), e._guiRestyle = ht(J), e._guiUpdate = ht(ot), e._storeDirectGUIEdit = me;\n})(ob);\nvar jn = {}, Iee = Nt;\njn.getDelay = function(e) {\n return e._has && (e._has(\"gl3d\") || e._has(\"gl2d\") || e._has(\"mapbox\")) ? 500 : 0;\n};\njn.getRedrawFunc = function(e) {\n return function() {\n Iee.getComponentMethod(\"colorbar\", \"draw\")(e);\n };\n};\njn.encodeSVG = function(e) {\n return \"data:image/svg+xml,\" + encodeURIComponent(e);\n};\njn.encodeJSON = function(e) {\n return \"data:application/json,\" + encodeURIComponent(e);\n};\nvar ME = window.URL || window.webkitURL;\njn.createObjectURL = function(e) {\n return ME.createObjectURL(e);\n};\njn.revokeObjectURL = function(e) {\n return ME.revokeObjectURL(e);\n};\njn.createBlob = function(e, t) {\n if (t === \"svg\")\n return new window.Blob([e], { type: \"image/svg+xml;charset=utf-8\" });\n if (t === \"full-json\")\n return new window.Blob([e], { type: \"application/json;charset=utf-8\" });\n var r = Nee(window.atob(e));\n return new window.Blob([r], { type: \"image/\" + t });\n};\njn.octetStream = function(e) {\n document.location.href = \"data:application/octet-stream\" + e;\n};\nfunction Nee(e) {\n for (var t = e.length, r = new ArrayBuffer(t), n = new Uint8Array(r), a = 0; a < t; a++)\n n[a] = e.charCodeAt(a);\n return r;\n}\njn.IMAGE_URL_PREFIX = /^data:image\\/\\w+;base64,/;\njn.MSG_IE_BAD_FORMAT = \"Sorry IE does not support downloading from canvas. Try {format:'svg'} instead.\";\nvar Uy = lr, Oee = Ue, Hee = Sr, Bee = nr, ph = yl, jg = /\"/g, ac = \"TOBESTRIPPED\", jee = new RegExp('(\"' + ac + \")|(\" + ac + '\")', \"g\");\nfunction Uee(e) {\n var t = Uy.select(\"body\").append(\"div\").style({ display: \"none\" }).html(\"\"), r = e.replace(/(&[^;]*;)/gi, function(n) {\n return n === \"<\" ? \"<\" : n === \"&rt;\" ? \">\" : n.indexOf(\"<\") !== -1 || n.indexOf(\">\") !== -1 ? \"\" : t.html(n).text();\n });\n return t.remove(), r;\n}\nfunction Gee(e) {\n return e.replace(/&(?!\\w+;|\\#[0-9]+;| \\#x[0-9A-F]+;)/g, \"&\");\n}\nvar n_ = function(t, r, n) {\n var a = t._fullLayout, i = a._paper, o = a._toppaper, l = a.width, s = a.height, u;\n i.insert(\"rect\", \":first-child\").call(Hee.setRect, 0, 0, l, s).call(Bee.fill, a.paper_bgcolor);\n var f = a._basePlotModules || [];\n for (u = 0; u < f.length; u++) {\n var d = f[u];\n d.toSVG && d.toSVG(t);\n }\n if (o) {\n var h = o.node().childNodes, p = Array.prototype.slice.call(h);\n for (u = 0; u < p.length; u++) {\n var v = p[u];\n v.childNodes.length && i.node().appendChild(v);\n }\n }\n a._draggers && a._draggers.remove(), i.node().style.background = \"\", i.selectAll(\"text\").attr({ \"data-unformatted\": null, \"data-math\": null }).each(function() {\n var g = Uy.select(this);\n if (this.style.visibility === \"hidden\" || this.style.display === \"none\") {\n g.remove();\n return;\n } else\n g.style({ visibility: null, display: null });\n var y = this.style.fontFamily;\n y && y.indexOf('\"') !== -1 && g.style(\"font-family\", y.replace(jg, ac));\n }), i.selectAll(\".gradient_filled,.pattern_filled\").each(function() {\n var g = Uy.select(this), y = this.style.fill;\n y && y.indexOf(\"url(\") !== -1 && g.style(\"fill\", y.replace(jg, ac));\n var w = this.style.stroke;\n w && w.indexOf(\"url(\") !== -1 && g.style(\"stroke\", w.replace(jg, ac));\n }), (r === \"pdf\" || r === \"eps\") && i.selectAll(\"#MathJax_SVG_glyphs path\").attr(\"stroke-width\", 0), i.node().setAttributeNS(ph.xmlns, \"xmlns\", ph.svg), i.node().setAttributeNS(ph.xmlns, \"xmlns:xlink\", ph.xlink), r === \"svg\" && n && (i.attr(\"width\", n * l), i.attr(\"height\", n * s), i.attr(\"viewBox\", \"0 0 \" + l + \" \" + s));\n var m = new window.XMLSerializer().serializeToString(i.node());\n return m = Uee(m), m = Gee(m), m = m.replace(jee, \"'\"), Oee.isIE() && (m = m.replace(/\"/gi, \"'\"), m = m.replace(/(\\('#)([^']*)('\\))/gi, '(\"#$2\")'), m = m.replace(/(\\\\')/gi, '\"')), m;\n}, FA = Ue, Vee = sb.EventEmitter, Bs = jn;\nfunction qee(e) {\n var t = e.emitter || new Vee(), r = new Promise(function(n, a) {\n var i = window.Image, o = e.svg, l = e.format || \"png\";\n if (FA.isIE() && l !== \"svg\") {\n var s = new Error(Bs.MSG_IE_BAD_FORMAT);\n return a(s), e.promise ? r : t.emit(\"error\", s);\n }\n var u = e.canvas, f = e.scale || 1, d = e.width || 300, h = e.height || 150, p = f * d, v = f * h, m = u.getContext(\"2d\", { willReadFrequently: !0 }), g = new i(), y, w;\n l === \"svg\" || FA.isSafari() ? w = Bs.encodeSVG(o) : (y = Bs.createBlob(o, \"svg\"), w = Bs.createObjectURL(y)), u.width = p, u.height = v, g.onload = function() {\n var k;\n switch (y = null, Bs.revokeObjectURL(w), l !== \"svg\" && m.drawImage(g, 0, 0, p, v), l) {\n case \"jpeg\":\n k = u.toDataURL(\"image/jpeg\");\n break;\n case \"png\":\n k = u.toDataURL(\"image/png\");\n break;\n case \"webp\":\n k = u.toDataURL(\"image/webp\");\n break;\n case \"svg\":\n k = w;\n break;\n default:\n var x = \"Image format is not jpeg, png, svg or webp.\";\n if (a(new Error(x)), !e.promise)\n return t.emit(\"error\", x);\n }\n n(k), e.promise || t.emit(\"success\", k);\n }, g.onerror = function(k) {\n if (y = null, Bs.revokeObjectURL(w), a(k), !e.promise)\n return t.emit(\"error\", k);\n }, g.src = w;\n });\n return e.promise ? r : t;\n}\nvar a_ = qee, RA = sr, PA = ob, Wee = Tn, Di = Ue, Hf = jn, Zee = n_, Yee = a_, Xee = ap.version, Ug = {\n format: {\n valType: \"enumerated\",\n values: [\"png\", \"jpeg\", \"webp\", \"svg\", \"full-json\"],\n dflt: \"png\",\n description: \"Sets the format of exported image.\"\n },\n width: {\n valType: \"number\",\n min: 1,\n description: [\n \"Sets the exported image width.\",\n \"Defaults to the value found in `layout.width`\",\n \"If set to *null*, the exported image width will match the current graph width.\"\n ].join(\" \")\n },\n height: {\n valType: \"number\",\n min: 1,\n description: [\n \"Sets the exported image height.\",\n \"Defaults to the value found in `layout.height`\",\n \"If set to *null*, the exported image height will match the current graph height.\"\n ].join(\" \")\n },\n scale: {\n valType: \"number\",\n min: 0,\n dflt: 1,\n description: [\n \"Sets a scaling for the generated image.\",\n \"If set, all features of a graphs (e.g. text, line width)\",\n \"are scaled, unlike simply setting\",\n \"a bigger *width* and *height*.\"\n ].join(\" \")\n },\n setBackground: {\n valType: \"any\",\n dflt: !1,\n description: [\n \"Sets the image background mode.\",\n \"By default, the image background is determined by `layout.paper_bgcolor`,\",\n \"the *transparent* mode.\",\n \"One might consider setting `setBackground` to *opaque*\",\n \"when exporting a *jpeg* image as JPEGs do not support opacity.\"\n ].join(\" \")\n },\n imageDataOnly: {\n valType: \"boolean\",\n dflt: !1,\n description: [\n \"Determines whether or not the return value is prefixed by\",\n \"the image format's corresponding 'data:image;' spec.\"\n ].join(\" \")\n }\n};\nfunction Kee(e, t) {\n t = t || {};\n var r, n, a, i;\n Di.isPlainObject(e) ? (r = e.data || [], n = e.layout || {}, a = e.config || {}, i = {}) : (e = Di.getGraphDiv(e), r = Di.extendDeep([], e.data), n = Di.extendDeep({}, e.layout), a = e._context, i = e._fullLayout || {});\n function o(T) {\n return !(T in t) || Di.validate(t[T], Ug[T]);\n }\n if (!o(\"width\") && t.width !== null || !o(\"height\") && t.height !== null)\n throw new Error(\"Height and width should be pixel values.\");\n if (!o(\"format\"))\n throw new Error(\"Export format is not \" + Di.join2(Ug.format.values, \", \", \" or \") + \".\");\n var l = {};\n function s(T, S) {\n return Di.coerce(t, l, Ug, T, S);\n }\n var u = s(\"format\"), f = s(\"width\"), d = s(\"height\"), h = s(\"scale\"), p = s(\"setBackground\"), v = s(\"imageDataOnly\"), m = document.createElement(\"div\");\n m.style.position = \"absolute\", m.style.left = \"-5000px\", document.body.appendChild(m);\n var g = Di.extendFlat({}, n);\n f ? g.width = f : t.width === null && RA(i.width) && (g.width = i.width), d ? g.height = d : t.height === null && RA(i.height) && (g.height = i.height);\n var y = Di.extendFlat({}, a, {\n _exportedPlot: !0,\n staticPlot: !0,\n setBackground: p\n }), w = Hf.getRedrawFunc(m);\n function k() {\n return new Promise(function(T) {\n setTimeout(T, Hf.getDelay(m._fullLayout));\n });\n }\n function x() {\n return new Promise(function(T, S) {\n var M = Zee(m, u, h), L = m._fullLayout.width, F = m._fullLayout.height;\n function $() {\n PA.purge(m), document.body.removeChild(m);\n }\n if (u === \"full-json\") {\n var I = Wee.graphJson(m, !1, \"keepdata\", \"object\", !0, !0);\n return I.version = Xee, I = JSON.stringify(I), $(), T(v ? I : Hf.encodeJSON(I));\n }\n if ($(), u === \"svg\")\n return T(v ? M : Hf.encodeSVG(M));\n var O = document.createElement(\"canvas\");\n O.id = Di.randstr(), Yee({\n format: u,\n width: L,\n height: F,\n scale: h,\n canvas: O,\n svg: M,\n // ask svgToImg to return a Promise\n // rather than EventEmitter\n // leave EventEmitter for backward\n // compatibility\n promise: !0\n }).then(T).catch(S);\n });\n }\n function _(T) {\n return v ? T.replace(Hf.IMAGE_URL_PREFIX, \"\") : T;\n }\n return new Promise(function(T, S) {\n PA.newPlot(m, r, g, y).then(w).then(k).then(x).then(function(M) {\n T(_(M));\n }).catch(function(M) {\n S(M);\n });\n });\n}\nvar SE = Kee, qa = Ue, Jee = Tn, Qee = Qu, ete = Yu.dfltConfig, Pa = qa.isPlainObject, ol = Array.isArray, $A = qa.isArrayOrTypedArray, tte = function(t, r) {\n t === void 0 && (t = []), r === void 0 && (r = {});\n var n = Qee.get(), a = [], i = { _context: qa.extendFlat({}, ete) }, o, l;\n ol(t) ? (i.data = qa.extendDeep([], t), o = t) : (i.data = [], o = [], a.push(rn(\"array\", \"data\"))), Pa(r) ? (i.layout = qa.extendDeep({}, r), l = r) : (i.layout = {}, l = {}, arguments.length > 1 && a.push(rn(\"object\", \"layout\"))), Jee.supplyDefaults(i);\n for (var s = i._fullData, u = o.length, f = 0; f < u; f++) {\n var d = o[f], h = [\"data\", f];\n if (!Pa(d)) {\n a.push(rn(\"object\", h));\n continue;\n }\n var p = s[f], v = p.type, m = n.traces[v].attributes;\n m.type = {\n valType: \"enumerated\",\n values: [v]\n }, p.visible === !1 && d.visible !== !1 && a.push(rn(\"invisible\", h)), ic(d, p, m, a, h);\n var g = d.transforms, y = p.transforms;\n if (g) {\n ol(g) || a.push(rn(\"array\", h, [\"transforms\"])), h.push(\"transforms\");\n for (var w = 0; w < g.length; w++) {\n var k = [\"transforms\", w], x = g[w].type;\n if (!Pa(g[w])) {\n a.push(rn(\"object\", h, k));\n continue;\n }\n var _ = n.transforms[x] ? n.transforms[x].attributes : {};\n _.type = {\n valType: \"enumerated\",\n values: Object.keys(n.transforms)\n }, ic(g[w], y[w], _, a, h, k);\n }\n }\n }\n var T = i._fullLayout, S = rte(n, s);\n return ic(l, T, S, a, \"layout\"), a.length === 0 ? void 0 : a;\n};\nfunction ic(e, t, r, n, a, i) {\n i = i || [];\n for (var o = Object.keys(e), l = 0; l < o.length; l++) {\n var s = o[l];\n if (s !== \"transforms\") {\n var u = i.slice();\n u.push(s);\n var f = e[s], d = t[s], h = ite(r, s), p = (h || {}).valType, v = p === \"info_array\", m = p === \"colorscale\", g = (h || {}).items;\n if (!ate(r, s))\n n.push(rn(\"schema\", a, u));\n else if (Pa(f) && Pa(d) && p !== \"any\")\n ic(f, d, h, n, a, u);\n else if (v && ol(f)) {\n f.length > d.length && n.push(rn(\"unused\", a, u.concat(d.length)));\n var y = d.length, w = Array.isArray(g);\n w && (y = Math.min(y, g.length));\n var k, x, _, T, S;\n if (h.dimensions === 2)\n for (x = 0; x < y; x++)\n if (ol(f[x])) {\n f[x].length > d[x].length && n.push(rn(\"unused\", a, u.concat(x, d[x].length)));\n var M = d[x].length;\n for (k = 0; k < (w ? Math.min(M, g[x].length) : M); k++)\n _ = w ? g[x][k] : g, T = f[x][k], S = d[x][k], qa.validate(T, _) ? S !== T && S !== +T && n.push(rn(\"dynamic\", a, u.concat(x, k), T, S)) : n.push(rn(\"value\", a, u.concat(x, k), T));\n } else\n n.push(rn(\"array\", a, u.concat(x), f[x]));\n else\n for (x = 0; x < y; x++)\n _ = w ? g[x] : g, T = f[x], S = d[x], qa.validate(T, _) ? S !== T && S !== +T && n.push(rn(\"dynamic\", a, u.concat(x), T, S)) : n.push(rn(\"value\", a, u.concat(x), T));\n } else if (h.items && !v && ol(f)) {\n var L = g[Object.keys(g)[0]], F = [], $, I;\n for ($ = 0; $ < d.length; $++) {\n var O = d[$]._index || $;\n if (I = u.slice(), I.push(O), Pa(f[O]) && Pa(d[$])) {\n F.push(O);\n var G = f[O], K = d[$];\n Pa(G) && G.visible !== !1 && K.visible === !1 ? n.push(rn(\"invisible\", a, I)) : ic(G, K, L, n, a, I);\n }\n }\n for ($ = 0; $ < f.length; $++)\n I = u.slice(), I.push($), Pa(f[$]) ? F.indexOf($) === -1 && n.push(rn(\"unused\", a, I)) : n.push(rn(\"object\", a, I, f[$]));\n } else !Pa(f) && Pa(d) ? n.push(rn(\"object\", a, u, f)) : !$A(f) && $A(d) && !v && !m ? n.push(rn(\"array\", a, u, f)) : s in t ? qa.validate(f, h) ? h.valType === \"enumerated\" && (h.coerceNumber && f !== +d || f !== d) && n.push(rn(\"dynamic\", a, u, f, d)) : n.push(rn(\"value\", a, u, f)) : n.push(rn(\"unused\", a, u, f));\n }\n }\n return n;\n}\nfunction rte(e, t) {\n for (var r = e.layout.layoutAttributes, n = 0; n < t.length; n++) {\n var a = t[n], i = e.traces[a.type], o = i.layoutAttributes;\n o && (a.subplot ? qa.extendFlat(r[i.attributes.subplot.dflt], o) : qa.extendFlat(r, o));\n }\n return r;\n}\nvar nte = {\n object: function(e, t) {\n var r;\n return e === \"layout\" && t === \"\" ? r = \"The layout argument\" : e[0] === \"data\" && t === \"\" ? r = \"Trace \" + e[1] + \" in the data argument\" : r = Fl(e) + \"key \" + t, r + \" must be linked to an object container\";\n },\n array: function(e, t) {\n var r;\n return e === \"data\" ? r = \"The data argument\" : r = Fl(e) + \"key \" + t, r + \" must be linked to an array container\";\n },\n schema: function(e, t) {\n return Fl(e) + \"key \" + t + \" is not part of the schema\";\n },\n unused: function(e, t, r) {\n var n = Pa(r) ? \"container\" : \"key\";\n return Fl(e) + n + \" \" + t + \" did not get coerced\";\n },\n dynamic: function(e, t, r, n) {\n return [\n Fl(e) + \"key\",\n t,\n \"(set to '\" + r + \"')\",\n \"got reset to\",\n \"'\" + n + \"'\",\n \"during defaults.\"\n ].join(\" \");\n },\n invisible: function(e, t) {\n return (t ? Fl(e) + \"item \" + t : \"Trace \" + e[1]) + \" got defaulted to be not visible\";\n },\n value: function(e, t, r) {\n return [\n Fl(e) + \"key \" + t,\n \"is set to an invalid value (\" + r + \")\"\n ].join(\" \");\n }\n};\nfunction Fl(e) {\n return ol(e) ? \"In data trace \" + e[1] + \", \" : \"In \" + e + \", \";\n}\nfunction rn(e, t, r, n, a) {\n r = r || \"\";\n var i, o;\n ol(t) ? (i = t[0], o = t[1]) : (i = t, o = null);\n var l = lte(r), s = nte[e](t, l, n, a);\n return qa.log(s), {\n code: e,\n container: i,\n trace: o,\n path: r,\n astr: l,\n msg: s\n };\n}\nfunction ate(e, t) {\n var r = CE(t), n = r.keyMinusId, a = r.id;\n return n in e && e[n]._isSubplotObj && a ? !0 : t in e;\n}\nfunction ite(e, t) {\n if (t in e) return e[t];\n var r = CE(t);\n return e[r.keyMinusId];\n}\nvar ote = qa.counterRegex(\"([a-z]+)\");\nfunction CE(e) {\n var t = e.match(ote);\n return {\n keyMinusId: t && t[1],\n id: t && t[2]\n };\n}\nfunction lte(e) {\n if (!ol(e)) return String(e);\n for (var t = \"\", r = 0; r < e.length; r++) {\n var n = e[r];\n typeof n == \"number\" ? t = t.substr(0, t.length - 1) + \"[\" + n + \"]\" : t += n, r < e.length - 1 && (t += \".\");\n }\n return t;\n}\nvar zA = Ue, Bf = jn;\nfunction ste(e, t, r) {\n var n = document.createElement(\"a\"), a = \"download\" in n, i = new Promise(function(o, l) {\n var s, u;\n if (zA.isIE())\n return s = Bf.createBlob(e, \"svg\"), window.navigator.msSaveBlob(s, t), s = null, o(t);\n if (a)\n return s = Bf.createBlob(e, r), u = Bf.createObjectURL(s), n.href = u, n.download = t, document.body.appendChild(n), n.click(), document.body.removeChild(n), Bf.revokeObjectURL(u), s = null, o(t);\n if (zA.isSafari()) {\n var f = r === \"svg\" ? \",\" : \";base64,\";\n return Bf.octetStream(f + encodeURIComponent(e)), o(t);\n }\n l(new Error(\"download error\"));\n });\n return i;\n}\nvar ute = ste, Gg = Ue, fte = SE, cte = ute, dte = jn;\nfunction hte(e, t) {\n var r;\n return Gg.isPlainObject(e) || (r = Gg.getGraphDiv(e)), t = t || {}, t.format = t.format || \"png\", t.width = t.width || null, t.height = t.height || null, t.imageDataOnly = !0, new Promise(function(n, a) {\n r && r._snapshotInProgress && a(new Error(\"Snapshotting already in progress.\")), Gg.isIE() && t.format !== \"svg\" && a(new Error(dte.MSG_IE_BAD_FORMAT)), r && (r._snapshotInProgress = !0);\n var i = fte(e, t), o = t.filename || e.fn || \"newplot\";\n o += \".\" + t.format.replace(\"-\", \".\"), i.then(function(l) {\n return r && (r._snapshotInProgress = !1), cte(l, o, t.format);\n }).then(function(l) {\n n(l);\n }).catch(function(l) {\n r && (r._snapshotInProgress = !1), a(l);\n });\n });\n}\nvar LE = hte, i_ = {}, la = Ue, sa = la.isPlainObject, DE = Qu, EE = Tn, vte = Wi, FE = Mr, RE = Yu.dfltConfig;\ni_.makeTemplate = function(e) {\n e = la.isPlainObject(e) ? e : la.getGraphDiv(e), e = la.extendDeep({ _context: RE }, { data: e.data, layout: e.layout }), EE.supplyDefaults(e);\n var t = e.data || [], r = e.layout || {};\n r._basePlotModules = e._fullLayout._basePlotModules, r._modules = e._fullLayout._modules;\n var n = {\n data: {},\n layout: {}\n };\n t.forEach(function(p) {\n var v = {};\n oc(p, v, mte.bind(null, p));\n var m = la.coerce(p, {}, vte, \"type\"), g = n.data[m];\n g || (g = n.data[m] = []), g.push(v);\n }), oc(r, n.layout, pte.bind(null, r)), delete n.layout.template;\n var a = r.template;\n if (sa(a)) {\n var i = a.layout, o, l, s, u, f, d;\n sa(i) && Mv(i, n.layout);\n var h = a.data;\n if (sa(h)) {\n for (l in n.data)\n if (s = h[l], Array.isArray(s)) {\n for (f = n.data[l], d = f.length, u = s.length, o = 0; o < d; o++)\n Mv(s[o % u], f[o]);\n for (o = d; o < u; o++)\n f.push(la.extendDeep({}, s[o]));\n }\n for (l in h)\n l in n.data || (n.data[l] = la.extendDeep([], h[l]));\n }\n }\n return n;\n};\nfunction Mv(e, t) {\n e = la.extendDeep({}, e);\n var r = Object.keys(e).sort(), n, a;\n function i(f, d, h) {\n if (sa(d) && sa(f))\n Mv(f, d);\n else if (Array.isArray(d) && Array.isArray(f)) {\n var p = FE.arrayTemplater({ _template: e }, h);\n for (a = 0; a < d.length; a++) {\n var v = d[a], m = p.newItem(v)._template;\n m && Mv(m, v);\n }\n var g = p.defaultItems();\n for (a = 0; a < g.length; a++) d.push(g[a]._template);\n for (a = 0; a < d.length; a++) delete d[a].templateitemname;\n }\n }\n for (n = 0; n < r.length; n++) {\n var o = r[n], l = e[o];\n if (o in t ? i(l, t[o], o) : t[o] = l, Sv(o) === o)\n for (var s in t) {\n var u = Sv(s);\n s !== u && u === o && !(s in e) && i(l, t[s], o);\n }\n }\n}\nfunction Sv(e) {\n return e.replace(/[0-9]+$/, \"\");\n}\nfunction oc(e, t, r, n, a) {\n var i = a && r(a);\n for (var o in e) {\n var l = e[o], s = $a(e, o, n), u = $a(e, o, a), f = r(u);\n if (!f) {\n var d = Sv(o);\n d !== o && (u = $a(e, d, a), f = r(u));\n }\n if (!(i && i === f) && !(!f || f._noTemplating || f.valType === \"data_array\" || f.arrayOk && Array.isArray(l)))\n if (!f.valType && sa(l))\n oc(l, t, r, s, u);\n else if (f._isLinkedToArray && Array.isArray(l))\n for (var h = !1, p = 0, v = {}, m = 0; m < l.length; m++) {\n var g = l[m];\n if (sa(g)) {\n var y = g.name;\n if (y)\n v[y] || (oc(\n g,\n t,\n r,\n $a(l, p, s),\n $a(l, p, u)\n ), p++, v[y] = 1);\n else if (!h) {\n var w = FE.arrayDefaultKey(o), k = $a(e, w, n), x = $a(l, p, s);\n oc(\n g,\n t,\n r,\n x,\n $a(l, p, u)\n );\n var _ = la.nestedProperty(t, x), T = la.nestedProperty(t, k);\n T.set(_.get()), _.set(null), h = !0;\n }\n }\n }\n else {\n var S = la.nestedProperty(t, s);\n S.set(l);\n }\n }\n}\nfunction pte(e, t) {\n return DE.getLayoutValObject(\n e,\n la.nestedProperty({}, t).parts\n );\n}\nfunction mte(e, t) {\n return DE.getTraceValObject(\n e,\n la.nestedProperty({}, t).parts\n );\n}\nfunction $a(e, t, r) {\n var n;\n return r ? Array.isArray(e) ? n = r + \"[\" + t + \"]\" : n = r + \".\" + t : n = t, n;\n}\ni_.validateTemplate = function(e, t) {\n var r = la.extendDeep({}, {\n _context: RE,\n data: e.data,\n layout: e.layout\n }), n = r.layout || {};\n sa(t) || (t = n.template || {});\n var a = t.layout, i = t.data, o = [];\n r.layout = n, r.layout.template = t, EE.supplyDefaults(r);\n var l = r._fullLayout, s = r._fullData, u = {};\n function f(k, x) {\n for (var _ in k)\n if (_.charAt(0) !== \"_\" && sa(k[_])) {\n var T = Sv(_), S = [], M;\n for (M = 0; M < x.length; M++)\n S.push($a(k, _, x[M])), T !== _ && S.push($a(k, T, x[M]));\n for (M = 0; M < S.length; M++)\n u[S[M]] = 1;\n f(k[_], S);\n }\n }\n function d(k, x) {\n for (var _ in k)\n if (_.indexOf(\"defaults\") === -1 && sa(k[_])) {\n var T = $a(k, _, x);\n u[T] ? d(k[_], T) : o.push({ code: \"unused\", path: T });\n }\n }\n if (sa(a) ? (f(l, [\"layout\"]), d(a, \"layout\")) : o.push({ code: \"layout\" }), !sa(i))\n o.push({ code: \"data\" });\n else {\n for (var h = {}, p, v = 0; v < s.length; v++) {\n var m = s[v];\n p = m.type, h[p] = (h[p] || 0) + 1, m._fullInput._template || o.push({\n code: \"missing\",\n index: m._fullInput.index,\n traceType: p\n });\n }\n for (p in i) {\n var g = i[p].length, y = h[p] || 0;\n g > y ? o.push({\n code: \"unused\",\n traceType: p,\n templateCount: g,\n dataCount: y\n }) : y > g && o.push({\n code: \"reused\",\n traceType: p,\n templateCount: g,\n dataCount: y\n });\n }\n }\n function w(k, x) {\n for (var _ in k)\n if (_.charAt(0) !== \"_\") {\n var T = k[_], S = $a(k, _, x);\n sa(T) ? (Array.isArray(k) && T._template === !1 && T.templateitemname && o.push({\n code: \"missing\",\n path: S,\n templateitemname: T.templateitemname\n }), w(T, S)) : Array.isArray(T) && gte(T) && w(T, S);\n }\n }\n if (w({ data: s, layout: l }, \"\"), o.length) return o.map(yte);\n};\nfunction gte(e) {\n for (var t = 0; t < e.length; t++)\n if (sa(e[t])) return !0;\n}\nfunction yte(e) {\n var t;\n switch (e.code) {\n case \"data\":\n t = \"The template has no key data.\";\n break;\n case \"layout\":\n t = \"The template has no key layout.\";\n break;\n case \"missing\":\n e.path ? t = \"There are no templates for item \" + e.path + \" with name \" + e.templateitemname : t = \"There are no templates for trace \" + e.index + \", of type \" + e.traceType + \".\";\n break;\n case \"unused\":\n e.path ? t = \"The template item at \" + e.path + \" was not used in constructing the plot.\" : e.dataCount ? t = \"Some of the templates of type \" + e.traceType + \" were not used. The template has \" + e.templateCount + \" traces, the data only has \" + e.dataCount + \" of this type.\" : t = \"The template has \" + e.templateCount + \" traces of type \" + e.traceType + \" but there are none in the data.\";\n break;\n case \"reused\":\n t = \"Some of the templates of type \" + e.traceType + \" were used more than once. The template has \" + e.templateCount + \" traces, the data has \" + e.dataCount + \" of this type.\";\n break;\n }\n return e.msg = t, e;\n}\nvar dn = ob;\nOr._doPlot = dn._doPlot;\nOr.newPlot = dn.newPlot;\nOr.restyle = dn.restyle;\nOr.relayout = dn.relayout;\nOr.redraw = dn.redraw;\nOr.update = dn.update;\nOr._guiRestyle = dn._guiRestyle;\nOr._guiRelayout = dn._guiRelayout;\nOr._guiUpdate = dn._guiUpdate;\nOr._storeDirectGUIEdit = dn._storeDirectGUIEdit;\nOr.react = dn.react;\nOr.extendTraces = dn.extendTraces;\nOr.prependTraces = dn.prependTraces;\nOr.addTraces = dn.addTraces;\nOr.deleteTraces = dn.deleteTraces;\nOr.moveTraces = dn.moveTraces;\nOr.purge = dn.purge;\nOr.addFrames = dn.addFrames;\nOr.deleteFrames = dn.deleteFrames;\nOr.animate = dn.animate;\nOr.setPlotConfig = dn.setPlotConfig;\nvar bte = dp.getGraphDiv, _te = Hb.eraseActiveShape;\nOr.deleteActiveShape = function(e) {\n return _te(bte(e));\n};\nOr.toImage = SE;\nOr.validate = tte;\nOr.downloadImage = LE;\nvar PE = i_;\nOr.makeTemplate = PE.makeTemplate;\nOr.validateTemplate = PE.validateTemplate;\nvar Vg = Ue, xte = Nt, $E = function(t, r, n, a) {\n var i = a(\"x\"), o = a(\"y\"), l, s = xte.getComponentMethod(\"calendars\", \"handleTraceDefaults\");\n if (s(t, r, [\"x\", \"y\"], n), i) {\n var u = Vg.minRowLength(i);\n o ? l = Math.min(u, Vg.minRowLength(o)) : (l = u, a(\"y0\"), a(\"dy\"));\n } else {\n if (!o) return 0;\n l = Vg.minRowLength(o), a(\"x0\"), a(\"dx\");\n }\n return r._length = l, l;\n}, IA = Ue.dateTick0, wte = Qr, Tte = wte.ONEWEEK;\nfunction NA(e, t) {\n return e % Tte === 0 ? IA(t, 1) : IA(t, 0);\n}\nvar o_ = function(t, r, n, a, i) {\n if (i || (i = {\n x: !0,\n y: !0\n }), i.x) {\n var o = a(\"xperiod\");\n o && (a(\"xperiod0\", NA(o, r.xcalendar)), a(\"xperiodalignment\"));\n }\n if (i.y) {\n var l = a(\"yperiod\");\n l && (a(\"yperiod0\", NA(l, r.ycalendar)), a(\"yperiodalignment\"));\n }\n}, OA = [\"orientation\", \"groupnorm\", \"stackgaps\"], kte = function(t, r, n, a) {\n var i = n._scatterStackOpts, o = a(\"stackgroup\");\n if (o) {\n var l = r.xaxis + r.yaxis, s = i[l];\n s || (s = i[l] = {});\n var u = s[o], f = !1;\n u ? u.traces.push(r) : (u = s[o] = {\n // keep track of trace indices for use during stacking calculations\n // this will be filled in during `calc` and used during `crossTraceCalc`\n // so it's OK if we don't recreate it during a non-calc edit\n traceIndices: [],\n // Hold on to the whole set of prior traces\n // First one is most important, so we can clear defaults\n // there if we find explicit values only in later traces.\n // We're only going to *use* the values stored in groupOpts,\n // but for the editor and validate we want things self-consistent\n // The full set of traces is used only to fix `fill` default if\n // we find `orientation: 'h'` beyond the first trace\n traces: [r]\n }, f = !0);\n for (var d = {\n orientation: r.x && !r.y ? \"h\" : \"v\"\n }, h = 0; h < OA.length; h++) {\n var p = OA[h], v = p + \"Found\";\n if (!u[v]) {\n var m = t[p] !== void 0, g = p === \"orientation\";\n if ((m || f) && (u[p] = a(p, d[p]), g && (u.fillDflt = u[p] === \"h\" ? \"tonextx\" : \"tonexty\"), m && (u[v] = !0, !f && (delete u.traces[0][p], g))))\n for (var y = 0; y < u.traces.length - 1; y++) {\n var w = u.traces[y];\n w._input.fill !== w.fill && (w.fill = u.fillDflt);\n }\n }\n }\n return u;\n }\n}, HA = nr, BA = wi.hasColorscale, jA = ef, Ate = Ya, Mte = function(t, r, n, a, i, o) {\n var l = Ate.isBubble(t), s = (t.line || {}).color, u;\n if (o = o || {}, s && (n = s), i(\"marker.symbol\"), i(\"marker.opacity\", l ? 0.7 : 1), i(\"marker.size\"), o.noAngle || (i(\"marker.angle\"), o.noAngleRef || i(\"marker.angleref\"), o.noStandOff || i(\"marker.standoff\")), i(\"marker.color\", n), BA(t, \"marker\") && jA(t, r, a, i, { prefix: \"marker.\", cLetter: \"c\" }), o.noSelect || (i(\"selected.marker.color\"), i(\"unselected.marker.color\"), i(\"selected.marker.size\"), i(\"unselected.marker.size\")), o.noLine || (s && !Array.isArray(s) && r.marker.color !== s ? u = s : l ? u = HA.background : u = HA.defaultLine, i(\"marker.line.color\", u), BA(t, \"marker.line\") && jA(t, r, a, i, { prefix: \"marker.line.\", cLetter: \"c\" }), i(\"marker.line.width\", l ? 1 : 0)), l && (i(\"marker.sizeref\"), i(\"marker.sizemin\"), i(\"marker.sizemode\")), o.gradient) {\n var f = i(\"marker.gradient.type\");\n f !== \"none\" && i(\"marker.gradient.color\");\n }\n}, Ste = Ue.isArrayOrTypedArray, Cte = wi.hasColorscale, Lte = ef, Dte = function(t, r, n, a, i, o) {\n o || (o = {});\n var l = (t.marker || {}).color;\n if (l && l._inputArray && (l = l._inputArray), i(\"line.color\", n), Cte(t, \"line\"))\n Lte(t, r, a, i, { prefix: \"line.\", cLetter: \"c\" });\n else {\n var s = (Ste(l) ? !1 : l) || n;\n i(\"line.color\", s);\n }\n i(\"line.width\"), o.noDash || i(\"line.dash\"), o.backoff && i(\"line.backoff\");\n}, Ete = function(t, r, n) {\n var a = n(\"line.shape\");\n a === \"spline\" && n(\"line.smoothing\");\n}, Fte = Ue, Rte = function(e, t, r, n, a) {\n a = a || {}, n(\"textposition\"), Fte.coerceFont(n, \"textfont\", a.font || r.font), a.noSelect || (n(\"selected.textfont.color\"), n(\"unselected.textfont.color\"));\n}, Pte = nr, UA = Ue.isArrayOrTypedArray, $te = function(t, r, n, a) {\n var i = !1;\n if (r.marker) {\n var o = r.marker.color, l = (r.marker.line || {}).color;\n o && !UA(o) ? i = o : l && !UA(l) && (i = l);\n }\n a(\"fillcolor\", Pte.addOpacity(\n (r.line || {}).color || i || n,\n 0.5\n ));\n}, GA = Ue, zte = Nt, Ite = ws, Nte = e_, js = Ya, Ote = $E, Hte = o_, Bte = kte, jte = Mte, Ute = Dte, VA = Ete, Gte = Rte, Vte = $te, qte = Ue.coercePattern, Wte = function(t, r, n, a) {\n function i(p, v) {\n return GA.coerce(t, r, Ite, p, v);\n }\n var o = Ote(t, r, a, i);\n if (o || (r.visible = !1), !!r.visible) {\n Hte(t, r, a, i), i(\"xhoverformat\"), i(\"yhoverformat\");\n var l = Bte(t, r, a, i);\n a.scattermode === \"group\" && r.orientation === void 0 && i(\"orientation\", \"v\");\n var s = !l && o < Nte.PTS_LINESONLY ? \"lines+markers\" : \"lines\";\n i(\"text\"), i(\"hovertext\"), i(\"mode\", s), js.hasMarkers(r) && jte(t, r, n, a, i, { gradient: !0 }), js.hasLines(r) && (Ute(t, r, n, a, i, { backoff: !0 }), VA(t, r, i), i(\"connectgaps\"), i(\"line.simplify\")), js.hasText(r) && (i(\"texttemplate\"), Gte(t, r, a, i));\n var u = [];\n (js.hasMarkers(r) || js.hasText(r)) && (i(\"cliponaxis\"), i(\"marker.maxdisplayed\"), u.push(\"points\")), i(\"fill\", l ? l.fillDflt : \"none\"), r.fill !== \"none\" && (Vte(t, r, n, i), js.hasLines(r) || VA(t, r, i), qte(i, \"fillpattern\", r.fillcolor, !1));\n var f = (r.line || {}).color, d = (r.marker || {}).color;\n (r.fill === \"tonext\" || r.fill === \"toself\") && u.push(\"fills\"), i(\"hoveron\", u.join(\"+\") || \"points\"), r.hoveron !== \"fills\" && i(\"hovertemplate\");\n var h = zte.getComponentMethod(\"errorbars\", \"supplyDefaults\");\n h(t, r, f || d || n, { axis: \"y\" }), h(t, r, f || d || n, { axis: \"x\", inherit: \"y\" }), GA.coerceSelectionMarkerOpacity(r, i);\n }\n}, Zte = wl.getAxisGroup, zE = function(t, r, n, a) {\n var i = r.orientation, o = r[{ v: \"x\", h: \"y\" }[i] + \"axis\"], l = Zte(n, o) + i, s = n._alignmentOpts || {}, u = a(\"alignmentgroup\"), f = s[l];\n f || (f = s[l] = {});\n var d = f[u];\n d ? d.traces.push(r) : d = f[u] = {\n traces: [r],\n alignmentIndex: Object.keys(f).length,\n offsetGroups: {}\n };\n var h = a(\"offsetgroup\"), p = d.offsetGroups, v = p[h];\n h && (v || (v = p[h] = {\n offsetIndex: Object.keys(p).length\n }), r._offsetIndex = v.offsetIndex);\n}, Yte = Ue, Xte = zE, Kte = ws, Jte = function(t, r) {\n var n, a, i;\n function o(d) {\n return Yte.coerce(a._input, a, Kte, d);\n }\n if (r.scattermode === \"group\")\n for (i = 0; i < t.length; i++)\n a = t[i], a.type === \"scatter\" && (n = a._input, Xte(n, a, r, o));\n for (i = 0; i < t.length; i++) {\n var l = t[i];\n if (l.type === \"scatter\") {\n var s = l.fill;\n if (!(s === \"none\" || s === \"toself\") && (l.opacity = void 0, s === \"tonexty\" || s === \"tonextx\"))\n for (var u = i - 1; u >= 0; u--) {\n var f = t[u];\n if (f.type === \"scatter\" && f.xaxis === l.xaxis && f.yaxis === l.yaxis) {\n f.opacity = void 0;\n break;\n }\n }\n }\n }\n}, Qte = Ue, ere = ub, tre = function(e, t) {\n function r(a, i) {\n return Qte.coerce(e, t, ere, a, i);\n }\n var n = t.barmode === \"group\";\n t.scattermode === \"group\" && r(\"scattergap\", n ? t.bargap : 0.2);\n}, rre = sr, IE = Ue, nre = IE.dateTime2ms, mh = IE.incrementMonth, are = Qr, ire = are.ONEAVGMONTH, Wp = function(t, r, n, a) {\n if (r.type !== \"date\") return { vals: a };\n var i = t[n + \"periodalignment\"];\n if (!i) return { vals: a };\n var o = t[n + \"period\"], l;\n if (rre(o)) {\n if (o = +o, o <= 0) return { vals: a };\n } else if (typeof o == \"string\" && o.charAt(0) === \"M\") {\n var s = +o.substring(1);\n if (s > 0 && Math.round(s) === s)\n l = s;\n else return { vals: a };\n }\n for (var u = r.calendar, f = i === \"start\", d = i === \"end\", h = t[n + \"period0\"], p = nre(h, u) || 0, v = [], m = [], g = [], y = a.length, w = 0; w < y; w++) {\n var k = a[w], x, _, T;\n if (l) {\n for (x = Math.round((k - p) / (l * ire)), T = mh(p, l * x, u); T > k; )\n T = mh(T, -l, u);\n for (; T <= k; )\n T = mh(T, l, u);\n _ = mh(T, -l, u);\n } else {\n for (x = Math.round((k - p) / o), T = p + x * o; T > k; )\n T -= o;\n for (; T <= k; )\n T += o;\n _ = T - o;\n }\n v[w] = f ? _ : d ? T : (_ + T) / 2, m[w] = _, g[w] = T;\n }\n return {\n vals: v,\n starts: m,\n ends: g\n };\n}, qg = wi.hasColorscale, Wg = Mp, qA = Ya, ore = function(t, r) {\n qA.hasLines(r) && qg(r, \"line\") && Wg(t, r, {\n vals: r.line.color,\n containerStr: \"line\",\n cLetter: \"c\"\n }), qA.hasMarkers(r) && (qg(r, \"marker\") && Wg(t, r, {\n vals: r.marker.color,\n containerStr: \"marker\",\n cLetter: \"c\"\n }), qg(r, \"marker.line\") && Wg(t, r, {\n vals: r.marker.line.color,\n containerStr: \"marker.line\",\n cLetter: \"c\"\n }));\n}, Mn = Ue, NE = function(t, r) {\n for (var n = 0; n < t.length; n++) t[n].i = n;\n Mn.mergeArray(r.text, t, \"tx\"), Mn.mergeArray(r.texttemplate, t, \"txt\"), Mn.mergeArray(r.hovertext, t, \"htx\"), Mn.mergeArray(r.customdata, t, \"data\"), Mn.mergeArray(r.textposition, t, \"tp\"), r.textfont && (Mn.mergeArrayCastPositive(r.textfont.size, t, \"ts\"), Mn.mergeArray(r.textfont.color, t, \"tc\"), Mn.mergeArray(r.textfont.family, t, \"tf\"));\n var a = r.marker;\n if (a) {\n Mn.mergeArrayCastPositive(a.size, t, \"ms\"), Mn.mergeArrayCastPositive(a.opacity, t, \"mo\"), Mn.mergeArray(a.symbol, t, \"mx\"), Mn.mergeArray(a.angle, t, \"ma\"), Mn.mergeArray(a.standoff, t, \"mf\"), Mn.mergeArray(a.color, t, \"mc\");\n var i = a.line;\n a.line && (Mn.mergeArray(i.color, t, \"mlc\"), Mn.mergeArrayCastPositive(i.width, t, \"mlw\"));\n var o = a.gradient;\n o && o.type !== \"none\" && (Mn.mergeArray(o.type, t, \"mgt\"), Mn.mergeArray(o.color, t, \"mgc\"));\n }\n}, WA = Ue, OE = function(t, r) {\n WA.isArrayOrTypedArray(r.selectedpoints) && WA.tagSelected(t, r);\n}, ZA = sr, Gy = Ue, Fc = Cr, YA = Wp, Zg = Qr.BADNUM, Vy = Ya, lre = ore, sre = NE, ure = OE;\nfunction fre(e, t) {\n var r = e._fullLayout, n = t._xA = Fc.getFromId(e, t.xaxis || \"x\", \"x\"), a = t._yA = Fc.getFromId(e, t.yaxis || \"y\", \"y\"), i = n.makeCalcdata(t, \"x\"), o = a.makeCalcdata(t, \"y\"), l = YA(t, n, \"x\", i), s = YA(t, a, \"y\", o), u = l.vals, f = s.vals, d = t._length, h = new Array(d), p = t.ids, v = l_(t, r, n, a), m = !1, g, y, w, k, x, _;\n jE(r, t);\n var T = \"x\", S = \"y\", M;\n if (v)\n Gy.pushUnique(v.traceIndices, t._expandedIndex), g = v.orientation === \"v\", g ? (S = \"s\", M = \"x\") : (T = \"s\", M = \"y\"), x = v.stackgaps === \"interpolate\";\n else {\n var L = BE(t, d);\n HE(e, t, n, a, u, f, L);\n }\n var F = !!t.xperiodalignment, $ = !!t.yperiodalignment;\n for (y = 0; y < d; y++) {\n var I = h[y] = {}, O = ZA(u[y]), G = ZA(f[y]);\n O && G ? (I[T] = u[y], I[S] = f[y], F && (I.orig_x = i[y], I.xEnd = l.ends[y], I.xStart = l.starts[y]), $ && (I.orig_y = o[y], I.yEnd = s.ends[y], I.yStart = s.starts[y])) : v && (g ? O : G) ? (I[M] = g ? u[y] : f[y], I.gap = !0, x ? (I.s = Zg, m = !0) : I.s = 0) : I[T] = I[S] = Zg, p && (I.id = String(p[y]));\n }\n if (sre(h, t), lre(e, t), ure(h, t), v) {\n for (y = 0; y < h.length; )\n h[y][M] === Zg ? h.splice(y, 1) : y++;\n if (Gy.sort(h, function(P, R) {\n return P[M] - R[M] || P.i - R.i;\n }), m) {\n for (y = 0; y < h.length - 1 && h[y].gap; )\n y++;\n for (_ = h[y].s, _ || (_ = h[y].s = 0), w = 0; w < y; w++)\n h[w].s = _;\n for (k = h.length - 1; k > y && h[k].gap; )\n k--;\n for (_ = h[k].s, w = h.length - 1; w > k; w--)\n h[w].s = _;\n for (; y < k; )\n if (y++, h[y].gap) {\n for (w = y + 1; h[w].gap; )\n w++;\n for (var K = h[y - 1][M], V = h[y - 1].s, z = (h[w].s - V) / (h[w][M] - K); y < w; )\n h[y].s = V + (h[y][M] - K) * z, y++;\n }\n }\n }\n return h;\n}\nfunction HE(e, t, r, n, a, i, o) {\n var l = t._length, s = e._fullLayout, u = r._id, f = n._id, d = s._firstScatter[UE(t)] === t.uid, h = (l_(t, s, r, n) || {}).orientation, p = t.fill;\n r._minDtick = 0, n._minDtick = 0;\n var v = { padded: !0 }, m = { padded: !0 };\n o && (v.ppad = m.ppad = o);\n var g = l < 2 || a[0] !== a[l - 1] || i[0] !== i[l - 1];\n g && (p === \"tozerox\" || p === \"tonextx\" && (d || h === \"h\")) ? v.tozero = !0 : !(t.error_y || {}).visible && // if no error bars, markers or text, or fill to y=0 remove x padding\n (p === \"tonexty\" || p === \"tozeroy\" || !Vy.hasMarkers(t) && !Vy.hasText(t)) && (v.padded = !1, v.ppad = 0), g && (p === \"tozeroy\" || p === \"tonexty\" && (d || h === \"v\")) ? m.tozero = !0 : (p === \"tonextx\" || p === \"tozerox\") && (m.padded = !1), u && (t._extremes[u] = Fc.findExtremes(r, a, v)), f && (t._extremes[f] = Fc.findExtremes(n, i, m));\n}\nfunction BE(e, t) {\n if (Vy.hasMarkers(e)) {\n var r = e.marker, n = 1.6 * (e.marker.sizeref || 1), a;\n if (e.marker.sizemode === \"area\" ? a = function(u) {\n return Math.max(Math.sqrt((u || 0) / n), 3);\n } : a = function(u) {\n return Math.max((u || 0) / n, 3);\n }, Gy.isArrayOrTypedArray(r.size)) {\n var i = { type: \"linear\" };\n Fc.setConvert(i);\n for (var o = i.makeCalcdata(e.marker, \"size\"), l = new Array(t), s = 0; s < t; s++)\n l[s] = a(o[s]);\n return l;\n } else\n return a(r.size);\n }\n}\nfunction jE(e, t) {\n var r = UE(t), n = e._firstScatter;\n n[r] || (n[r] = t.uid);\n}\nfunction UE(e) {\n var t = e.stackgroup;\n return e.xaxis + e.yaxis + e.type + (t ? \"-\" + t : \"\");\n}\nfunction l_(e, t, r, n) {\n var a = e.stackgroup;\n if (a) {\n var i = t._scatterStackOpts[r._id + n._id][a], o = i.orientation === \"v\" ? n : r;\n if (o.type === \"linear\" || o.type === \"log\") return i;\n }\n}\nvar GE = {\n calc: fre,\n calcMarkerSize: BE,\n calcAxisExpansion: HE,\n setFirstScatter: jE,\n getStackOpts: l_\n}, cre = Zp, dre = Ue.distinctVals;\nfunction Zp(e, t) {\n this.traces = e, this.sepNegVal = t.sepNegVal, this.overlapNoMerge = t.overlapNoMerge;\n for (var r = 1 / 0, n = t.posAxis._id.charAt(0), a = [], i = 0; i < e.length; i++) {\n for (var o = e[i], l = 0; l < o.length; l++) {\n var s = o[l], u = s.p;\n u === void 0 && (u = s[n]), u !== void 0 && a.push(u);\n }\n o[0] && o[0].width1 && (r = Math.min(o[0].width1, r));\n }\n this.positions = a;\n var f = dre(a);\n this.distinctPositions = f.vals, f.vals.length === 1 && r !== 1 / 0 ? this.minDiff = r : this.minDiff = Math.min(f.minDiff, r);\n var d = (t.posAxis || {}).type;\n (d === \"category\" || d === \"multicategory\") && (this.minDiff = 1), this.binWidth = this.minDiff, this.bins = {};\n}\nZp.prototype.put = function(t, r) {\n var n = this.getLabel(t, r), a = this.bins[n] || 0;\n return this.bins[n] = a + r, a;\n};\nZp.prototype.get = function(t, r) {\n var n = this.getLabel(t, r);\n return this.bins[n] || 0;\n};\nZp.prototype.getLabel = function(t, r) {\n var n = r < 0 && this.sepNegVal ? \"v\" : \"^\", a = this.overlapNoMerge ? t : Math.round(t / this.binWidth);\n return n + a;\n};\nvar cl = sr, dl = Ue.isArrayOrTypedArray, $u = Qr.BADNUM, hre = Nt, Rc = Cr, vre = wl.getAxisGroup, Yp = cre;\nfunction pre(e, t) {\n for (var r = t.xaxis, n = t.yaxis, a = e._fullLayout, i = e._fullData, o = e.calcdata, l = [], s = [], u = 0; u < i.length; u++) {\n var f = i[u];\n if (f.visible === !0 && hre.traceIs(f, \"bar\") && f.xaxis === r._id && f.yaxis === n._id && (f.orientation === \"h\" ? l.push(o[u]) : s.push(o[u]), f._computePh))\n for (var d = e.calcdata[u], h = 0; h < d.length; h++)\n typeof d[h].ph0 == \"function\" && (d[h].ph0 = d[h].ph0()), typeof d[h].ph1 == \"function\" && (d[h].ph1 = d[h].ph1());\n }\n var p = {\n xCat: r.type === \"category\" || r.type === \"multicategory\",\n yCat: n.type === \"category\" || n.type === \"multicategory\",\n mode: a.barmode,\n norm: a.barnorm,\n gap: a.bargap,\n groupgap: a.bargroupgap\n };\n qy(e, r, n, s, p), qy(e, n, r, l, p);\n}\nfunction qy(e, t, r, n, a) {\n if (n.length) {\n var i, o, l, s, u;\n switch (mre(r, n), a.mode) {\n case \"overlay\":\n Yg(t, r, n, a);\n break;\n case \"group\":\n for (i = [], o = [], l = 0; l < n.length; l++)\n s = n[l], u = s[0].trace, u.offset === void 0 ? o.push(s) : i.push(s);\n o.length && gre(e, t, r, o, a), i.length && Yg(t, r, i, a);\n break;\n case \"stack\":\n case \"relative\":\n for (i = [], o = [], l = 0; l < n.length; l++)\n s = n[l], u = s[0].trace, u.base === void 0 ? o.push(s) : i.push(s);\n o.length && yre(e, t, r, o, a), i.length && Yg(t, r, i, a);\n break;\n }\n wre(n, t);\n }\n}\nfunction mre(e, t) {\n var r, n;\n for (r = 0; r < t.length; r++) {\n var a = t[r], i = a[0].trace, o = i.type === \"funnel\" ? i._base : i.base, l, s = i.orientation === \"h\" ? i.xcalendar : i.ycalendar, u = e.type === \"category\" || e.type === \"multicategory\" ? function() {\n return null;\n } : e.d2c;\n if (dl(o)) {\n for (n = 0; n < Math.min(o.length, a.length); n++)\n l = u(o[n], 0, s), cl(l) ? (a[n].b = +l, a[n].hasB = 1) : a[n].b = 0;\n for (; n < a.length; n++)\n a[n].b = 0;\n } else {\n l = u(o, 0, s);\n var f = cl(l);\n for (l = f ? l : 0, n = 0; n < a.length; n++)\n a[n].b = l, f && (a[n].hasB = 1);\n }\n }\n}\nfunction Yg(e, t, r, n) {\n for (var a = 0; a < r.length; a++) {\n var i = r[a], o = new Yp([i], {\n posAxis: e,\n sepNegVal: !1,\n overlapNoMerge: !n.norm\n });\n VE(e, o, n), n.norm ? (XE(o), s_(t, o, n)) : YE(t, o);\n }\n}\nfunction gre(e, t, r, n, a) {\n var i = new Yp(n, {\n posAxis: t,\n sepNegVal: !1,\n overlapNoMerge: !a.norm\n });\n bre(e, t, i, a), xre(i, t), a.norm ? (XE(i), s_(r, i, a)) : YE(r, i);\n}\nfunction yre(e, t, r, n, a) {\n var i = new Yp(n, {\n posAxis: t,\n sepNegVal: a.mode === \"relative\",\n overlapNoMerge: !(a.norm || a.mode === \"stack\" || a.mode === \"relative\")\n });\n VE(t, i, a), _re(r, i, a);\n for (var o = 0; o < n.length; o++)\n for (var l = n[o], s = 0; s < l.length; s++) {\n var u = l[s];\n if (u.s !== $u) {\n var f = u.b + u.s === i.get(u.p, u.s);\n f && (u._outmost = !0);\n }\n }\n a.norm && s_(r, i, a);\n}\nfunction VE(e, t, r) {\n for (var n = t.minDiff, a = t.traces, i = n * (1 - r.gap), o = i, l = o * (1 - (r.groupgap || 0)), s = -l / 2, u = 0; u < a.length; u++) {\n var f = a[u], d = f[0].t;\n d.barwidth = l, d.poffset = s, d.bargroupwidth = i, d.bardelta = n;\n }\n t.binWidth = a[0][0].t.barwidth / 100, qE(t), WE(e, t), ZE(e, t);\n}\nfunction bre(e, t, r, n) {\n for (var a = e._fullLayout, i = r.positions, o = r.distinctPositions, l = r.minDiff, s = r.traces, u = s.length, f = i.length !== o.length, d = l * (1 - n.gap), h = vre(a, t._id) + s[0][0].trace.orientation, p = a._alignmentOpts[h] || {}, v = 0; v < u; v++) {\n var m = s[v], g = m[0].trace, y = p[g.alignmentgroup] || {}, w = Object.keys(y.offsetGroups || {}).length, k;\n w ? k = d / w : k = f ? d / u : d;\n var x = k * (1 - (n.groupgap || 0)), _;\n w ? _ = ((2 * g._offsetIndex + 1 - w) * k - x) / 2 : _ = f ? ((2 * v + 1 - u) * k - x) / 2 : -x / 2;\n var T = m[0].t;\n T.barwidth = x, T.poffset = _, T.bargroupwidth = d, T.bardelta = l;\n }\n r.binWidth = s[0][0].t.barwidth / 100, qE(r), WE(t, r), ZE(t, r, f);\n}\nfunction qE(e) {\n var t = e.traces, r, n;\n for (r = 0; r < t.length; r++) {\n var a = t[r], i = a[0], o = i.trace, l = i.t, s = o._offset || o.offset, u = l.poffset, f;\n if (dl(s)) {\n for (f = Array.prototype.slice.call(s, 0, a.length), n = 0; n < f.length; n++)\n cl(f[n]) || (f[n] = u);\n for (n = f.length; n < a.length; n++)\n f.push(u);\n l.poffset = f;\n } else s !== void 0 && (l.poffset = s);\n var d = o._width || o.width, h = l.barwidth;\n if (dl(d)) {\n var p = Array.prototype.slice.call(d, 0, a.length);\n for (n = 0; n < p.length; n++)\n cl(p[n]) || (p[n] = h);\n for (n = p.length; n < a.length; n++)\n p.push(h);\n if (l.barwidth = p, s === void 0) {\n for (f = [], n = 0; n < a.length; n++)\n f.push(\n u + (h - p[n]) / 2\n );\n l.poffset = f;\n }\n } else d !== void 0 && (l.barwidth = d, s === void 0 && (l.poffset = u + (h - d) / 2));\n }\n}\nfunction WE(e, t) {\n for (var r = t.traces, n = ad(e), a = 0; a < r.length; a++)\n for (var i = r[a], o = i[0].t, l = o.poffset, s = dl(l), u = o.barwidth, f = dl(u), d = 0; d < i.length; d++) {\n var h = i[d], p = h.w = f ? u[d] : u;\n h.p === void 0 && (h.p = h[n], h[\"orig_\" + n] = h[n]);\n var v = (s ? l[d] : l) + p / 2;\n h[n] = h.p + v;\n }\n}\nfunction ZE(e, t, r) {\n var n = t.traces, a = t.minDiff, i = a / 2;\n Rc.minDtick(e, t.minDiff, t.distinctPositions[0], r);\n for (var o = 0; o < n.length; o++) {\n var l = n[o], s = l[0], u = s.trace, f = [], d, h, p, v;\n for (v = 0; v < l.length; v++)\n d = l[v], h = d.p - i, p = d.p + i, f.push(h, p);\n if (u.width || u.offset) {\n var m = s.t, g = m.poffset, y = m.barwidth, w = dl(g), k = dl(y);\n for (v = 0; v < l.length; v++) {\n d = l[v];\n var x = w ? g[v] : g, _ = k ? y[v] : y;\n h = d.p + x, p = h + _, f.push(h, p);\n }\n }\n u._extremes[e._id] = Rc.findExtremes(e, f, { padded: !1 });\n }\n}\nfunction YE(e, t) {\n for (var r = t.traces, n = ad(e), a = 0; a < r.length; a++) {\n for (var i = r[a], o = i[0].trace, l = o.type === \"scatter\", s = o.orientation === \"v\", u = [], f = !1, d = 0; d < i.length; d++) {\n var h = i[d], p = l ? 0 : h.b, v = l ? s ? h.y : h.x : p + h.s;\n h[n] = v, u.push(v), h.hasB && u.push(p), (!h.hasB || !h.b) && (f = !0);\n }\n o._extremes[e._id] = Rc.findExtremes(e, u, {\n tozero: f,\n padded: !0\n });\n }\n}\nfunction _re(e, t, r) {\n var n = ad(e), a = t.traces, i, o, l, s, u, f;\n for (s = 0; s < a.length; s++)\n if (i = a[s], o = i[0].trace, o.type === \"funnel\")\n for (u = 0; u < i.length; u++)\n f = i[u], f.s !== $u && t.put(f.p, -0.5 * f.s);\n for (s = 0; s < a.length; s++) {\n i = a[s], o = i[0].trace, l = o.type === \"funnel\";\n var d = [];\n for (u = 0; u < i.length; u++)\n if (f = i[u], f.s !== $u) {\n var h;\n l ? h = f.s : h = f.s + f.b;\n var p = t.put(f.p, h), v = p + h;\n f.b = p, f[n] = v, r.norm || (d.push(v), f.hasB && d.push(p));\n }\n r.norm || (o._extremes[e._id] = Rc.findExtremes(e, d, {\n // N.B. we don't stack base with 'base',\n // so set tozero:true always!\n tozero: !0,\n padded: !0\n }));\n }\n}\nfunction XE(e) {\n for (var t = e.traces, r = 0; r < t.length; r++)\n for (var n = t[r], a = 0; a < n.length; a++) {\n var i = n[a];\n i.s !== $u && e.put(i.p, i.b + i.s);\n }\n}\nfunction xre(e, t) {\n for (var r = e.traces, n = 0; n < r.length; n++) {\n var a = r[n], i = a[0].trace;\n if (i.base === void 0)\n for (var o = new Yp([a], {\n posAxis: t,\n sepNegVal: !0,\n overlapNoMerge: !0\n }), l = 0; l < a.length; l++) {\n var s = a[l];\n if (s.p !== $u) {\n var u = o.put(s.p, s.b + s.s);\n u && (s.b = u);\n }\n }\n }\n}\nfunction s_(e, t, r) {\n var n = t.traces, a = ad(e), i = r.norm === \"fraction\" ? 1 : 100, o = i / 1e9, l = e.l2c(e.c2l(0)), s = r.mode === \"stack\" ? i : l;\n function u(_) {\n return cl(e.c2l(_)) && (_ < l - o || _ > s + o || !cl(l));\n }\n for (var f = 0; f < n.length; f++) {\n for (var d = n[f], h = d[0].trace, p = [], v = !1, m = !1, g = 0; g < d.length; g++) {\n var y = d[g];\n if (y.s !== $u) {\n var w = Math.abs(i / t.get(y.p, y.s));\n y.b *= w, y.s *= w;\n var k = y.b, x = k + y.s;\n y[a] = x, p.push(x), m = m || u(x), y.hasB && (p.push(k), m = m || u(k)), (!y.hasB || !y.b) && (v = !0);\n }\n }\n h._extremes[e._id] = Rc.findExtremes(e, p, {\n tozero: v,\n padded: m\n });\n }\n}\nfunction wre(e, t) {\n var r = ad(t), n = {}, a, i, o, l = 1 / 0, s = -1 / 0;\n for (a = 0; a < e.length; a++)\n for (o = e[a], i = 0; i < o.length; i++) {\n var u = o[i].p;\n cl(u) && (l = Math.min(l, u), s = Math.max(s, u));\n }\n var f = 1e4 / (s - l), d = n.round = function(w) {\n return String(Math.round(f * (w - l)));\n };\n for (a = 0; a < e.length; a++) {\n o = e[a], o[0].t.extents = n;\n var h = o[0].t.poffset, p = dl(h);\n for (i = 0; i < o.length; i++) {\n var v = o[i], m = v[r] - v.w / 2;\n if (cl(m)) {\n var g = v[r] + v.w / 2, y = d(v.p);\n n[y] ? n[y] = [Math.min(m, n[y][0]), Math.max(g, n[y][1])] : n[y] = [m, g];\n }\n v.p0 = v.p + (p ? h[i] : h), v.p1 = v.p0 + v.w, v.s0 = v.b, v.s1 = v.s0 + v.s;\n }\n }\n}\nfunction ad(e) {\n return e._id.charAt(0);\n}\nvar KE = {\n crossTraceCalc: pre,\n setGroupPositions: qy\n}, XA = GE, KA = KE.setGroupPositions;\nfunction Tre(e, t) {\n for (var r = t.xaxis, n = t.yaxis, a = e._fullLayout, i = e._fullData, o = e.calcdata, l = [], s = [], u = 0; u < i.length; u++) {\n var f = i[u];\n f.visible === !0 && f.type === \"scatter\" && f.xaxis === r._id && f.yaxis === n._id && (f.orientation === \"h\" ? l.push(o[u]) : f.orientation === \"v\" && s.push(o[u]));\n }\n var d = {\n mode: a.scattermode,\n gap: a.scattergap\n };\n KA(e, r, n, s, d), KA(e, n, r, l, d);\n}\nvar kre = function(t, r) {\n t._fullLayout.scattermode === \"group\" && Tre(t, r);\n var n = r.xaxis, a = r.yaxis, i = n._id + a._id, o = t._fullLayout._scatterStackOpts[i];\n if (o) {\n var l = t.calcdata, s, u, f, d, h, p, v, m, g, y, w, k, x, _, T;\n for (var S in o) {\n y = o[S];\n var M = y.traceIndices;\n if (M.length) {\n for (w = y.stackgaps === \"interpolate\", k = y.groupnorm, y.orientation === \"v\" ? (x = \"x\", _ = \"y\") : (x = \"y\", _ = \"x\"), T = new Array(M.length), s = 0; s < T.length; s++)\n T[s] = !1;\n p = l[M[0]];\n var L = new Array(p.length);\n for (s = 0; s < p.length; s++)\n L[s] = p[s][x];\n for (s = 1; s < M.length; s++) {\n for (h = l[M[s]], u = f = 0; u < h.length; u++) {\n for (v = h[u][x]; v > L[f] && f < L.length; f++)\n Xg(h, u, L[f], s, T, w, x), u++;\n if (v !== L[f]) {\n for (d = 0; d < s; d++)\n Xg(l[M[d]], f, v, d, T, w, x);\n L.splice(f, 0, v);\n }\n f++;\n }\n for (; f < L.length; f++)\n Xg(h, u, L[f], s, T, w, x), u++;\n }\n var F = L.length;\n for (u = 0; u < p.length; u++) {\n for (m = p[u][_] = p[u].s, s = 1; s < M.length; s++)\n h = l[M[s]], h[0].trace._rawLength = h[0].trace._length, h[0].trace._length = F, m += h[u].s, h[u][_] = m;\n if (k)\n for (g = (k === \"fraction\" ? m : m / 100) || 1, s = 0; s < M.length; s++) {\n var $ = l[M[s]][u];\n $[_] /= g, $.sNorm = $.s / g;\n }\n }\n for (s = 0; s < M.length; s++) {\n h = l[M[s]];\n var I = h[0].trace, O = XA.calcMarkerSize(I, I._rawLength), G = Array.isArray(O);\n if (O && T[s] || G) {\n var K = O;\n for (O = new Array(F), u = 0; u < F; u++)\n O[u] = h[u].gap ? 0 : G ? K[h[u].i] : K;\n }\n var V = new Array(F), z = new Array(F);\n for (u = 0; u < F; u++)\n V[u] = h[u].x, z[u] = h[u].y;\n XA.calcAxisExpansion(t, I, n, a, V, z, O), h[0].t.orientation = y.orientation;\n }\n }\n }\n }\n};\nfunction Xg(e, t, r, n, a, i, o) {\n a[n] = !0;\n var l = {\n i: null,\n gap: !0,\n s: 0\n };\n if (l[o] = r, e.splice(t, 0, l), t && r === e[t - 1][o]) {\n var s = e[t - 1];\n l.s = s.s, l.i = s.i, l.gap = s.gap;\n } else i && (l.s = Are(e, t, r, o));\n t || (e[0].t = e[1].t, e[0].trace = e[1].trace, delete e[1].t, delete e[1].trace);\n}\nfunction Are(e, t, r, n) {\n var a = e[t - 1], i = e[t + 1];\n return i ? a ? a.s + (i.s - a.s) * (r - a[n]) / (i[n] - a[n]) : i.s : a.s;\n}\nvar Mre = Sr, JE = Qr, jf = JE.BADNUM, QE = JE.LOG_CLIP, JA = QE + 0.5, QA = QE - 0.5, Cv = Ue, Sre = Cv.segmentsIntersect, eM = Cv.constrain, Kg = e_, Cre = function(t, r) {\n var n = r.trace || {}, a = r.xaxis, i = r.yaxis, o = a.type === \"log\", l = i.type === \"log\", s = a._length, u = i._length, f = r.backoff, d = n.marker, h = r.connectGaps, p = r.baseTolerance, v = r.shape, m = v === \"linear\", g = n.fill && n.fill !== \"none\", y = [], w = Kg.minTolerance, k = t.length, x = new Array(k), _ = 0, T, S, M, L, F, $, I, O, G, K, V, z, P, R, H, B;\n function W(He) {\n var pt = t[He];\n if (!pt) return !1;\n var bt = r.linearized ? a.l2p(pt.x) : a.c2p(pt.x), Ke = r.linearized ? i.l2p(pt.y) : i.c2p(pt.y);\n if (bt === jf) {\n if (o && (bt = a.c2p(pt.x, !0)), bt === jf) return !1;\n l && Ke === jf && (bt *= Math.abs(a._m * u * (a._m > 0 ? JA : QA) / (i._m * s * (i._m > 0 ? JA : QA)))), bt *= 1e3;\n }\n if (Ke === jf) {\n if (l && (Ke = i.c2p(pt.y, !0)), Ke === jf) return !1;\n Ke *= 1e3;\n }\n return [bt, Ke];\n }\n function ee(He, pt, bt, Ke) {\n var st = bt - He, rt = Ke - pt, ct = 0.5 - He, X = 0.5 - pt, se = st * st + rt * rt, ie = st * ct + rt * X;\n if (ie > 0 && ie < se) {\n var fe = ct * rt - X * st;\n if (fe * fe < se) return !0;\n }\n }\n var re, ae;\n function Q(He, pt) {\n var bt = He[0] / s, Ke = He[1] / u, st = Math.max(0, -bt, bt - 1, -Ke, Ke - 1);\n return st && re !== void 0 && ee(bt, Ke, re, ae) && (st = 0), st && pt && ee(bt, Ke, pt[0] / s, pt[1] / u) && (st = 0), (1 + Kg.toleranceGrowth * st) * p;\n }\n function ue(He, pt) {\n var bt = He[0] - pt[0], Ke = He[1] - pt[1];\n return Math.sqrt(bt * bt + Ke * Ke);\n }\n var j = Kg.maxScreensAway, U = -s * j, Z = s * (1 + j), le = -u * j, J = u * (1 + j), pe = [\n [U, le, Z, le],\n [Z, le, Z, J],\n [Z, J, U, J],\n [U, J, U, le]\n ], ge, ve, me, Le, ze, Fe;\n function Oe(He, pt) {\n for (var bt = [], Ke = 0, st = 0; st < 4; st++) {\n var rt = pe[st], ct = Sre(\n He[0],\n He[1],\n pt[0],\n pt[1],\n rt[0],\n rt[1],\n rt[2],\n rt[3]\n );\n ct && (!Ke || Math.abs(ct.x - bt[0][0]) > 1 || Math.abs(ct.y - bt[0][1]) > 1) && (ct = [ct.x, ct.y], Ke && ue(ct, He) < ue(bt[0], He) ? bt.unshift(ct) : bt.push(ct), Ke++);\n }\n return bt;\n }\n function Re(He) {\n if (He[0] < U || He[0] > Z || He[1] < le || He[1] > J)\n return [eM(He[0], U, Z), eM(He[1], le, J)];\n }\n function We(He, pt) {\n if (He[0] === pt[0] && (He[0] === U || He[0] === Z) || He[1] === pt[1] && (He[1] === le || He[1] === J)) return !0;\n }\n function Me(He, pt) {\n var bt = [], Ke = Re(He), st = Re(pt);\n return Ke && st && We(Ke, st) || (Ke && bt.push(Ke), st && bt.push(st)), bt;\n }\n function Ve(He, pt, bt) {\n return function(Ke, st) {\n var rt = Re(Ke), ct = Re(st), X = [];\n if (rt && ct && We(rt, ct)) return X;\n rt && X.push(rt), ct && X.push(ct);\n var se = 2 * Cv.constrain((Ke[He] + st[He]) / 2, pt, bt) - ((rt || Ke)[He] + (ct || st)[He]);\n if (se) {\n var ie;\n rt && ct ? ie = se > 0 == rt[He] > ct[He] ? rt : ct : ie = rt || ct, ie[He] += se;\n }\n return X;\n };\n }\n var qe;\n v === \"linear\" || v === \"spline\" ? qe = Oe : v === \"hv\" || v === \"vh\" ? qe = Me : v === \"hvh\" ? qe = Ve(0, U, Z) : v === \"vhv\" && (qe = Ve(1, le, J));\n function Qe(He, pt) {\n var bt = pt[0] - He[0], Ke = (pt[1] - He[1]) / bt, st = (He[1] * pt[0] - pt[1] * He[0]) / bt;\n return st > 0 ? [Ke > 0 ? U : Z, J] : [Ke > 0 ? Z : U, le];\n }\n function ot(He) {\n var pt = He[0], bt = He[1], Ke = pt === x[_ - 1][0], st = bt === x[_ - 1][1];\n if (!(Ke && st))\n if (_ > 1) {\n var rt = pt === x[_ - 2][0], ct = bt === x[_ - 2][1];\n Ke && (pt === U || pt === Z) && rt ? ct ? _-- : x[_ - 1] = He : st && (bt === le || bt === J) && ct ? rt ? _-- : x[_ - 1] = He : x[_++] = He;\n } else x[_++] = He;\n }\n function ht(He) {\n x[_ - 1][0] !== He[0] && x[_ - 1][1] !== He[1] && ot([me, Le]), ot(He), ze = null, me = Le = 0;\n }\n var vt = Cv.isArrayOrTypedArray(d);\n function nt(He) {\n if (He && f && (He.i = T, He.d = t, He.trace = n, He.marker = vt ? d[He.i] : d, He.backoff = f), re = He[0] / s, ae = He[1] / u, ge = He[0] < U ? U : He[0] > Z ? Z : 0, ve = He[1] < le ? le : He[1] > J ? J : 0, ge || ve) {\n if (!_)\n x[_++] = [ge || He[0], ve || He[1]];\n else if (ze) {\n var pt = qe(ze, He);\n pt.length > 1 && (ht(pt[0]), x[_++] = pt[1]);\n } else\n Fe = qe(x[_ - 1], He)[0], x[_++] = Fe;\n var bt = x[_ - 1];\n ge && ve && (bt[0] !== ge || bt[1] !== ve) ? (ze && (me !== ge && Le !== ve ? ot(me && Le ? Qe(ze, He) : [me || ge, Le || ve]) : me && Le && ot([me, Le])), ot([ge, ve])) : me - ge && Le - ve && ot([ge || me, ve || Le]), ze = He, me = ge, Le = ve;\n } else\n ze && ht(qe(ze, He)[0]), x[_++] = He;\n }\n for (T = 0; T < k; T++)\n if (S = W(T), !!S) {\n for (_ = 0, ze = null, nt(S), T++; T < k; T++) {\n if (L = W(T), !L) {\n if (h) continue;\n break;\n }\n if (!m || !r.simplify) {\n nt(L);\n continue;\n }\n var ft = W(T + 1);\n if (K = ue(L, S), !(!(g && (_ === 0 || _ === k - 1)) && K < Q(L, ft) * w)) {\n for (O = [\n (L[0] - S[0]) / K,\n (L[1] - S[1]) / K\n ], F = S, V = K, z = R = H = 0, I = !1, M = L, T++; T < t.length; T++) {\n if ($ = ft, ft = W(T + 1), !$) {\n if (h) continue;\n break;\n }\n if (G = [\n $[0] - S[0],\n $[1] - S[1]\n ], B = G[0] * O[1] - G[1] * O[0], R = Math.min(R, B), H = Math.max(H, B), H - R > Q($, ft)) break;\n M = $, P = G[0] * O[0] + G[1] * O[1], P > V ? (V = P, L = $, I = !1) : P < z && (z = P, F = $, I = !0);\n }\n if (I ? (nt(L), M !== F && nt(F)) : (F !== S && nt(F), M !== L && nt(L)), nt(M), T >= t.length || !$) break;\n nt($), S = $;\n }\n }\n ze && ot([me || ze[0], Le || ze[1]]), y.push(x.slice(0, _));\n }\n var Pe = v.slice(v.length - 1);\n if (f && Pe !== \"h\" && Pe !== \"v\") {\n for (var Ie = !1, Ne = -1, tt = [], Je = 0; Je < y.length; Je++)\n for (var it = 0; it < y[Je].length - 1; it++) {\n var at = y[Je][it], Tt = y[Je][it + 1], gt = Mre.applyBackoff(Tt, at);\n (gt[0] !== Tt[0] || gt[1] !== Tt[1]) && (Ie = !0), tt[Ne + 1] || (Ne++, tt[Ne] = [\n at,\n [gt[0], gt[1]]\n ]);\n }\n return Ie ? tt : y;\n }\n return y;\n}, tM = { tonextx: 1, tonexty: 1, tonext: 1 }, Lre = function(t, r, n) {\n var a, i, o, l, s, u = {}, f = !1, d = -1, h = 0, p = -1;\n for (i = 0; i < n.length; i++)\n a = n[i][0].trace, o = a.stackgroup || \"\", o ? o in u ? s = u[o] : (s = u[o] = h, h++) : a.fill in tM && p >= 0 ? s = p : (s = p = h, h++), s < d && (f = !0), a._groupIndex = d = s;\n var v = n.slice();\n f && v.sort(function(g, y) {\n var w = g[0].trace, k = y[0].trace;\n return w._groupIndex - k._groupIndex || w.index - k.index;\n });\n var m = {};\n for (i = 0; i < v.length; i++)\n a = v[i][0].trace, o = a.stackgroup || \"\", a.visible === !0 ? (a._nexttrace = null, a.fill in tM && (l = m[o], a._prevtrace = l || null, l && (l._nexttrace = a)), a._ownfill = a.fill && (a.fill.substr(0, 6) === \"tozero\" || a.fill === \"toself\" || a.fill.substr(0, 2) === \"to\" && !a._prevtrace), m[o] = a) : a._prevtrace = a._nexttrace = a._ownfill = null;\n return v;\n}, si = lr, Dre = Nt, Pc = Ue, vu = Pc.ensureSingle, e6 = Pc.identity, Wr = Sr, pu = Ya, Ere = Cre, Fre = Lre, Rre = QD.tester, Pre = function(t, r, n, a, i, o) {\n var l, s, u = !i, f = !!i && i.duration > 0, d = Fre(t, r, n);\n if (l = a.selectAll(\"g.trace\").data(d, function(p) {\n return p[0].trace.uid;\n }), l.enter().append(\"g\").attr(\"class\", function(p) {\n return \"trace scatter trace\" + p[0].trace.uid;\n }).style(\"stroke-miterlimit\", 2), l.order(), $re(t, l, r), f) {\n o && (s = o());\n var h = si.transition().duration(i.duration).ease(i.easing).each(\"end\", function() {\n s && s();\n }).each(\"interrupt\", function() {\n s && s();\n });\n h.each(function() {\n a.selectAll(\"g.trace\").each(function(p, v) {\n rM(t, v, r, p, d, this, i);\n });\n });\n } else\n l.each(function(p, v) {\n rM(t, v, r, p, d, this, i);\n });\n u && l.exit().remove(), a.selectAll(\"path:not([d])\").remove();\n};\nfunction $re(e, t, r) {\n t.each(function(n) {\n var a = vu(si.select(this), \"g\", \"fills\");\n Wr.setClipUrl(a, r.layerClipId, e);\n var i = n[0].trace, o = [];\n i._ownfill && o.push(\"_ownFill\"), i._nexttrace && o.push(\"_nextFill\");\n var l = a.selectAll(\"g\").data(o, e6);\n l.enter().append(\"g\"), l.exit().each(function(s) {\n i[s] = null;\n }).remove(), l.order().each(function(s) {\n i[s] = vu(si.select(this), \"path\", \"js-fill\");\n });\n });\n}\nfunction rM(e, t, r, n, a, i, o) {\n var l = e._context.staticPlot, s;\n zre(e, t, r, n, a);\n var u = !!o && o.duration > 0;\n function f(ge) {\n return u ? ge.transition() : ge;\n }\n var d = r.xaxis, h = r.yaxis, p = n[0].trace, v = p.line, m = si.select(i), g = vu(m, \"g\", \"errorbars\"), y = vu(m, \"g\", \"lines\"), w = vu(m, \"g\", \"points\"), k = vu(m, \"g\", \"text\");\n if (Dre.getComponentMethod(\"errorbars\", \"plot\")(e, g, r, o), p.visible !== !0) return;\n f(m).style(\"opacity\", p.opacity);\n var x, _, T = p.fill.charAt(p.fill.length - 1);\n T !== \"x\" && T !== \"y\" && (T = \"\"), n[0][r.isRangePlot ? \"nodeRangePlot3\" : \"node3\"] = m;\n var S = \"\", M = [], L = p._prevtrace;\n L && (S = L._prevRevpath || \"\", _ = L._nextFill, M = L._polygons);\n var F, $, I = \"\", O = \"\", G, K, V, z, P, R, H, B = [], W = Pc.noop;\n if (x = p._ownFill, pu.hasLines(p) || p.fill !== \"none\") {\n for (_ && _.datum(n), [\"hv\", \"vh\", \"hvh\", \"vhv\"].indexOf(v.shape) !== -1 ? (G = Wr.steps(v.shape), K = Wr.steps(\n v.shape.split(\"\").reverse().join(\"\")\n )) : v.shape === \"spline\" ? G = K = function(ge) {\n var ve = ge[ge.length - 1];\n return ge.length > 1 && ge[0][0] === ve[0] && ge[0][1] === ve[1] ? Wr.smoothclosed(ge.slice(1), v.smoothing) : Wr.smoothopen(ge, v.smoothing);\n } : G = K = function(ge) {\n return \"M\" + ge.join(\"L\");\n }, V = function(ge) {\n return K(ge.reverse());\n }, B = Ere(n, {\n xaxis: d,\n yaxis: h,\n trace: p,\n connectGaps: p.connectgaps,\n baseTolerance: Math.max(v.width || 1, 3) / 4,\n shape: v.shape,\n backoff: v.backoff,\n simplify: v.simplify,\n fill: p.fill\n }), H = p._polygons = new Array(B.length), s = 0; s < B.length; s++)\n p._polygons[s] = Rre(B[s]);\n B.length && (z = B[0][0], P = B[B.length - 1], R = P[P.length - 1]), W = function(ge) {\n return function(ve) {\n if (F = G(ve), $ = V(ve), I ? T ? (I += \"L\" + F.substr(1), O = $ + (\"L\" + O.substr(1))) : (I += \"Z\" + F, O = $ + \"Z\" + O) : (I = F, O = $), pu.hasLines(p)) {\n var me = si.select(this);\n if (me.datum(n), ge)\n f(me.style(\"opacity\", 0).attr(\"d\", F).call(Wr.lineGroupStyle)).style(\"opacity\", 1);\n else {\n var Le = f(me);\n Le.attr(\"d\", F), Wr.singleLineStyle(n, Le);\n }\n }\n };\n };\n }\n var ee = y.selectAll(\".js-line\").data(B);\n f(ee.exit()).style(\"opacity\", 0).remove(), ee.each(W(!1)), ee.enter().append(\"path\").classed(\"js-line\", !0).style(\"vector-effect\", l ? \"none\" : \"non-scaling-stroke\").call(Wr.lineGroupStyle).each(W(!0)), Wr.setClipUrl(ee, r.layerClipId, e);\n function re(ge) {\n f(ge).attr(\"d\", \"M0,0Z\");\n }\n B.length ? (x ? (x.datum(n), z && R && (T ? (T === \"y\" ? z[1] = R[1] = h.c2p(0, !0) : T === \"x\" && (z[0] = R[0] = d.c2p(0, !0)), f(x).attr(\"d\", \"M\" + R + \"L\" + z + \"L\" + I.substr(1)).call(Wr.singleFillStyle, e)) : f(x).attr(\"d\", I + \"Z\").call(Wr.singleFillStyle, e))) : _ && (p.fill.substr(0, 6) === \"tonext\" && I && S ? (p.fill === \"tonext\" ? f(_).attr(\"d\", I + \"Z\" + S + \"Z\").call(Wr.singleFillStyle, e) : f(_).attr(\"d\", I + \"L\" + S.substr(1) + \"Z\").call(Wr.singleFillStyle, e), p._polygons = p._polygons.concat(M)) : (re(_), p._polygons = null)), p._prevRevpath = O, p._prevPolygons = H) : (x ? re(x) : _ && re(_), p._polygons = p._prevRevpath = p._prevPolygons = null);\n function ae(ge) {\n return ge.filter(function(ve) {\n return !ve.gap && ve.vis;\n });\n }\n function Q(ge) {\n return ge.filter(function(ve) {\n return ve.vis;\n });\n }\n function ue(ge) {\n return ge.filter(function(ve) {\n return !ve.gap;\n });\n }\n function j(ge) {\n return ge.id;\n }\n function U(ge) {\n if (ge.ids)\n return j;\n }\n function Z() {\n return !1;\n }\n function le(ge, ve, me) {\n var Le, ze, Fe, Oe = me[0].trace, Re = pu.hasMarkers(Oe), We = pu.hasText(Oe), Me = U(Oe), Ve = Z, qe = Z;\n if (Re || We) {\n var Qe = e6, ot = Oe.stackgroup, ht = ot && e._fullLayout._scatterStackOpts[d._id + h._id][ot].stackgaps === \"infer zero\";\n Oe.marker.maxdisplayed || Oe._needsCull ? Qe = ht ? Q : ae : ot && !ht && (Qe = ue), Re && (Ve = Qe), We && (qe = Qe);\n }\n ze = ge.selectAll(\"path.point\"), Le = ze.data(Ve, Me);\n var vt = Le.enter().append(\"path\").classed(\"point\", !0);\n u && vt.call(Wr.pointStyle, Oe, e).call(Wr.translatePoints, d, h).style(\"opacity\", 0).transition().style(\"opacity\", 1), Le.order();\n var nt;\n Re && (nt = Wr.makePointStyleFns(Oe)), Le.each(function(ft) {\n var Pe = si.select(this), Ie = f(Pe);\n Fe = Wr.translatePoint(ft, Ie, d, h), Fe ? (Wr.singlePointStyle(ft, Ie, Oe, nt, e), r.layerClipId && Wr.hideOutsideRangePoint(ft, Ie, d, h, Oe.xcalendar, Oe.ycalendar), Oe.customdata && Pe.classed(\"plotly-customdata\", ft.data !== null && ft.data !== void 0)) : Ie.remove();\n }), u ? Le.exit().transition().style(\"opacity\", 0).remove() : Le.exit().remove(), ze = ve.selectAll(\"g\"), Le = ze.data(qe, Me), Le.enter().append(\"g\").classed(\"textpoint\", !0).append(\"text\"), Le.order(), Le.each(function(ft) {\n var Pe = si.select(this), Ie = f(Pe.select(\"text\"));\n Fe = Wr.translatePoint(ft, Ie, d, h), Fe ? r.layerClipId && Wr.hideOutsideRangePoint(ft, Pe, d, h, Oe.xcalendar, Oe.ycalendar) : Pe.remove();\n }), Le.selectAll(\"text\").call(Wr.textPointStyle, Oe, e).each(function(ft) {\n var Pe = d.c2p(ft.x), Ie = h.c2p(ft.y);\n si.select(this).selectAll(\"tspan.line\").each(function() {\n f(si.select(this)).attr({ x: Pe, y: Ie });\n });\n }), Le.exit().remove();\n }\n w.datum(n), k.datum(n), le(w, k, n);\n var J = p.cliponaxis === !1, pe = J ? null : r.layerClipId;\n Wr.setClipUrl(w, pe, e), Wr.setClipUrl(k, pe, e);\n}\nfunction zre(e, t, r, n, a) {\n var i = r.xaxis, o = r.yaxis, l = si.extent(Pc.simpleMap(i.range, i.r2c)), s = si.extent(Pc.simpleMap(o.range, o.r2c)), u = n[0].trace;\n if (pu.hasMarkers(u)) {\n var f = u.marker.maxdisplayed;\n if (f !== 0) {\n var d = n.filter(function(m) {\n return m.x >= l[0] && m.x <= l[1] && m.y >= s[0] && m.y <= s[1];\n }), h = Math.ceil(d.length / f), p = 0;\n a.forEach(function(m, g) {\n var y = m[0].trace;\n pu.hasMarkers(y) && y.marker.maxdisplayed > 0 && g < t && p++;\n });\n var v = Math.round(p * h / 3 + Math.floor(p / 3) * h / 7.1);\n n.forEach(function(m) {\n delete m.vis;\n }), d.forEach(function(m, g) {\n Math.round((g + v) % h) === 0 && (m.vis = !0);\n });\n }\n }\n}\nvar t6 = {\n container: \"marker\",\n min: \"cmin\",\n max: \"cmax\"\n}, gh = Cr, r6 = function(t, r, n) {\n var a = {}, i = { _fullLayout: n }, o = gh.getFromTrace(i, r, \"x\"), l = gh.getFromTrace(i, r, \"y\"), s = t.orig_x;\n s === void 0 && (s = t.x);\n var u = t.orig_y;\n return u === void 0 && (u = t.y), a.xLabel = gh.tickText(o, o.c2l(s), !0).text, a.yLabel = gh.tickText(l, l.c2l(u), !0).text, a;\n}, Jg = lr, zu = Sr, Ire = Nt;\nfunction Nre(e) {\n var t = Jg.select(e).selectAll(\"g.trace.scatter\");\n t.style(\"opacity\", function(r) {\n return r[0].trace.opacity;\n }), t.selectAll(\"g.points\").each(function(r) {\n var n = Jg.select(this), a = r.trace || r[0].trace;\n u_(n, a, e);\n }), t.selectAll(\"g.text\").each(function(r) {\n var n = Jg.select(this), a = r.trace || r[0].trace;\n f_(n, a, e);\n }), t.selectAll(\"g.trace path.js-line\").call(zu.lineGroupStyle), t.selectAll(\"g.trace path.js-fill\").call(zu.fillGroupStyle, e), Ire.getComponentMethod(\"errorbars\", \"style\")(t);\n}\nfunction u_(e, t, r) {\n zu.pointStyle(e.selectAll(\"path.point\"), t, r);\n}\nfunction f_(e, t, r) {\n zu.textPointStyle(e.selectAll(\"text\"), t, r);\n}\nfunction Ore(e, t, r) {\n var n = t[0].trace;\n n.selectedpoints ? (zu.selectedPointStyle(r.selectAll(\"path.point\"), n), zu.selectedTextStyle(r.selectAll(\"text\"), n)) : (u_(r, n, e), f_(r, n, e));\n}\nvar nM = {\n style: Nre,\n stylePoints: u_,\n styleText: f_,\n styleOnSelect: Ore\n}, Us = nr, Hre = Ya, Bre = function(t, r) {\n var n, a;\n if (t.mode === \"lines\")\n return n = t.line.color, n && Us.opacity(n) ? n : t.fillcolor;\n if (t.mode === \"none\")\n return t.fill ? t.fillcolor : \"\";\n var i = r.mcc || (t.marker || {}).color, o = r.mlcc || ((t.marker || {}).line || {}).color;\n return a = i && Us.opacity(i) ? i : o && Us.opacity(o) && (r.mlw || ((t.marker || {}).line || {}).width) ? o : \"\", a ? Us.opacity(a) < 0.3 ? Us.addOpacity(a, 0.3) : a : (n = (t.line || {}).color, n && Us.opacity(n) && Hre.hasLines(t) && t.line.width ? n : t.fillcolor);\n}, Gh = Ue, aM = Ao, jre = Nt, Ure = Bre, Qg = nr, Gre = Gh.fillText, Vre = function(t, r, n, a) {\n var i = t.cd, o = i[0].trace, l = t.xa, s = t.ya, u = l.c2p(r), f = s.c2p(n), d = [u, f], h = o.hoveron || \"\", p = o.mode.indexOf(\"markers\") !== -1 ? 3 : 0.5, v = !!o.xperiodalignment, m = !!o.yperiodalignment;\n if (h.indexOf(\"points\") !== -1) {\n var g = function(Z) {\n if (v) {\n var le = l.c2p(Z.xStart), J = l.c2p(Z.xEnd);\n return u >= Math.min(le, J) && u <= Math.max(le, J) ? 0 : 1 / 0;\n }\n var pe = Math.max(3, Z.mrc || 0), ge = 1 - 1 / pe, ve = Math.abs(l.c2p(Z.x) - u);\n return ve < pe ? ge * ve / pe : ve - pe + ge;\n }, y = function(Z) {\n if (m) {\n var le = s.c2p(Z.yStart), J = s.c2p(Z.yEnd);\n return f >= Math.min(le, J) && f <= Math.max(le, J) ? 0 : 1 / 0;\n }\n var pe = Math.max(3, Z.mrc || 0), ge = 1 - 1 / pe, ve = Math.abs(s.c2p(Z.y) - f);\n return ve < pe ? ge * ve / pe : ve - pe + ge;\n }, w = function(Z) {\n var le = Math.max(p, Z.mrc || 0), J = l.c2p(Z.x) - u, pe = s.c2p(Z.y) - f;\n return Math.max(Math.sqrt(J * J + pe * pe) - le, 1 - p / le);\n }, k = aM.getDistanceFunction(a, g, y, w);\n if (aM.getClosest(i, k, t), t.index !== !1) {\n var x = i[t.index], _ = l.c2p(x.x, !0), T = s.c2p(x.y, !0), S = x.mrc || 1;\n t.index = x.i;\n var M = i[0].t.orientation, L = M && (x.sNorm || x.s), F = M === \"h\" ? L : x.orig_x !== void 0 ? x.orig_x : x.x, $ = M === \"v\" ? L : x.orig_y !== void 0 ? x.orig_y : x.y;\n return Gh.extendFlat(t, {\n color: Ure(o, x),\n x0: _ - S,\n x1: _ + S,\n xLabelVal: F,\n y0: T - S,\n y1: T + S,\n yLabelVal: $,\n spikeDistance: w(x),\n hovertemplate: o.hovertemplate\n }), Gre(x, o, t), jre.getComponentMethod(\"errorbars\", \"hoverInfo\")(x, o, t), [t];\n }\n }\n if (h.indexOf(\"fills\") !== -1 && o._polygons) {\n var I = o._polygons, O = [], G = !1, K = 1 / 0, V = -1 / 0, z = 1 / 0, P = -1 / 0, R, H, B, W, ee, re, ae, Q, ue;\n for (R = 0; R < I.length; R++)\n B = I[R], B.contains(d) && (G = !G, O.push(B), z = Math.min(z, B.ymin), P = Math.max(P, B.ymax));\n if (G) {\n z = Math.max(z, 0), P = Math.min(P, s._length);\n var j = (z + P) / 2;\n for (R = 0; R < O.length; R++)\n for (W = O[R].pts, H = 1; H < W.length; H++)\n Q = W[H - 1][1], ue = W[H][1], Q > j != ue >= j && (re = W[H - 1][0], ae = W[H][0], ue - Q && (ee = re + (ae - re) * (j - Q) / (ue - Q), K = Math.min(K, ee), V = Math.max(V, ee)));\n K = Math.max(K, 0), V = Math.min(V, l._length);\n var U = Qg.defaultLine;\n return Qg.opacity(o.fillcolor) ? U = o.fillcolor : Qg.opacity((o.line || {}).color) && (U = o.line.color), Gh.extendFlat(t, {\n // never let a 2D override 1D type as closest point\n // also: no spikeDistance, it's not allowed for fills\n distance: t.maxHoverDistance,\n x0: K,\n x1: V,\n y0: j,\n y1: j,\n color: U,\n hovertemplate: !1\n }), delete t.index, o.text && !Gh.isArrayOrTypedArray(o.text) ? t.text = String(o.text) : t.text = o.name, [t];\n }\n }\n}, iM = Ya, qre = function(t, r) {\n var n = t.cd, a = t.xaxis, i = t.yaxis, o = [], l = n[0].trace, s, u, f, d, h = !iM.hasMarkers(l) && !iM.hasText(l);\n if (h) return [];\n if (r === !1)\n for (s = 0; s < n.length; s++)\n n[s].selected = 0;\n else\n for (s = 0; s < n.length; s++)\n u = n[s], f = a.c2p(u.x), d = i.c2p(u.y), u.i !== null && r.contains([f, d], !1, s, t) ? (o.push({\n pointNumber: u.i,\n x: a.c2d(u.x),\n y: i.c2d(u.y)\n }), u.selected = 1) : u.selected = 0;\n return o;\n}, yn = {}, e0, oM;\nfunction Wre() {\n return oM || (oM = 1, e0 = {\n xaxis: {\n valType: \"subplotid\",\n dflt: \"x\",\n editType: \"calc+clearAxisTypes\",\n description: [\n \"Sets a reference between this trace's x coordinates and\",\n \"a 2D cartesian x axis.\",\n \"If *x* (the default value), the x coordinates refer to\",\n \"`layout.xaxis`.\",\n \"If *x2*, the x coordinates refer to `layout.xaxis2`, and so on.\"\n ].join(\" \")\n },\n yaxis: {\n valType: \"subplotid\",\n dflt: \"y\",\n editType: \"calc+clearAxisTypes\",\n description: [\n \"Sets a reference between this trace's y coordinates and\",\n \"a 2D cartesian y axis.\",\n \"If *y* (the default value), the y coordinates refer to\",\n \"`layout.yaxis`.\",\n \"If *y2*, the y coordinates refer to `layout.yaxis2`, and so on.\"\n ].join(\" \")\n }\n }), e0;\n}\nvar t0, lM;\nfunction Zre() {\n if (lM) return t0;\n lM = 1;\n var e = Nt.traceIs, t = P4;\n t0 = function(l, s, u, f) {\n u(\"autotypenumbers\", f.autotypenumbersDflt);\n var d = u(\"type\", (f.splomStash || {}).type);\n d === \"-\" && (r(s, f.data), s.type === \"-\" ? s.type = \"linear\" : l.type = s.type);\n };\n function r(o, l) {\n if (o.type === \"-\") {\n var s = o._id, u = s.charAt(0), f;\n s.indexOf(\"scene\") !== -1 && (s = u);\n var d = n(l, s, u);\n if (d) {\n if (d.type === \"histogram\" && u === { v: \"y\", h: \"x\" }[d.orientation || \"v\"]) {\n o.type = \"linear\";\n return;\n }\n var h = u + \"calendar\", p = d[h], v = { noMultiCategory: !e(d, \"cartesian\") || e(d, \"noMultiCategory\") };\n if (d.type === \"box\" && d._hasPreCompStats && u === { h: \"x\", v: \"y\" }[d.orientation || \"v\"] && (v.noMultiCategory = !0), v.autotypenumbers = o.autotypenumbers, i(d, u)) {\n var m = a(d), g = [];\n for (f = 0; f < l.length; f++) {\n var y = l[f];\n !e(y, \"box-violin\") || (y[u + \"axis\"] || u) !== s || (y[m] !== void 0 ? g.push(y[m][0]) : y.name !== void 0 ? g.push(y.name) : g.push(\"text\"), y[h] !== p && (p = void 0));\n }\n o.type = t(g, p, v);\n } else if (d.type === \"splom\") {\n var w = d.dimensions, k = w[d._axesDim[s]];\n k.visible && (o.type = t(k.values, p, v));\n } else\n o.type = t(d[u] || [d[u + \"0\"]], p, v);\n }\n }\n }\n function n(o, l, s) {\n for (var u = 0; u < o.length; u++) {\n var f = o[u];\n if (f.type === \"splom\" && f._length > 0 && (f[\"_\" + s + \"axes\"] || {})[l])\n return f;\n if ((f[s + \"axis\"] || s) === l) {\n if (i(f, s))\n return f;\n if ((f[s] || []).length || f[s + \"0\"])\n return f;\n }\n }\n }\n function a(o) {\n return { v: \"x\", h: \"y\" }[o.orientation || \"v\"];\n }\n function i(o, l) {\n var s = a(o), u = e(o, \"box-violin\"), f = e(o._fullInput || {}, \"candlestick\");\n return u && !f && l === s && o[s] === void 0 && o[s + \"0\"] === void 0;\n }\n return t0;\n}\nvar Yre = an.isTypedArraySpec;\nfunction Xre(e, t) {\n var r = t.dataAttr || e._id.charAt(0), n = {}, a, i, o;\n if (t.axData)\n a = t.axData;\n else\n for (a = [], i = 0; i < t.data.length; i++) {\n var l = t.data[i];\n l[r + \"axis\"] === e._id && a.push(l);\n }\n for (i = 0; i < a.length; i++) {\n var s = a[i][r];\n for (o = 0; o < s.length; o++) {\n var u = s[o];\n u != null && (n[u] = 1);\n }\n }\n return Object.keys(n);\n}\nvar Kre = function(t, r, n, a) {\n if (r.type === \"category\") {\n var i = t.categoryarray, o = Array.isArray(i) && i.length > 0 || Yre(i), l;\n o && (l = \"array\");\n var s = n(\"categoryorder\", l), u;\n s === \"array\" && (u = n(\"categoryarray\")), !o && s === \"array\" && (s = r.categoryorder = \"trace\"), s === \"trace\" ? r._initialCategories = [] : s === \"array\" ? r._initialCategories = u.slice() : (u = Xre(r, a).sort(), s === \"category ascending\" ? r._initialCategories = u : s === \"category descending\" && (r._initialCategories = u.reverse()));\n }\n}, sM = bi.mix, Jre = da, Qre = Ue, ene = function(t, r, n, a) {\n a = a || {};\n var i = a.dfltColor;\n function o(S, M) {\n return Qre.coerce2(t, r, a.attributes, S, M);\n }\n var l = o(\"linecolor\", i), s = o(\"linewidth\"), u = n(\"showline\", a.showLine || !!l || !!s);\n u || (delete r.linecolor, delete r.linewidth);\n var f = sM(i, a.bgColor, a.blend || Jre.lightFraction).toRgbString(), d = o(\"gridcolor\", f), h = o(\"gridwidth\"), p = o(\"griddash\"), v = n(\n \"showgrid\",\n a.showGrid || !!d || !!h || !!p\n );\n if (v || (delete r.gridcolor, delete r.gridwidth, delete r.griddash), a.hasMinor) {\n var m = sM(r.gridcolor, a.bgColor, 67).toRgbString(), g = o(\"minor.gridcolor\", m), y = o(\"minor.gridwidth\", r.gridwidth || 1), w = o(\"minor.griddash\", r.griddash || \"solid\"), k = n(\n \"minor.showgrid\",\n !!g || !!y || !!w\n );\n k || (delete r.minor.gridcolor, delete r.minor.gridwidth, delete r.minor.griddash);\n }\n if (!a.noZeroLine) {\n var x = o(\"zerolinecolor\", i), _ = o(\"zerolinewidth\"), T = n(\"zeroline\", a.showGrid || !!x || !!_);\n T || (delete r.zerolinecolor, delete r.zerolinewidth);\n }\n}, uM = sr, tne = Nt, Xf = Ue, rne = Mr, nne = Ji, Wy = Ki, fM = p4, cM = m4, ane = b4, ine = _4, one = Kre, lne = ene, sne = Y4, dM = yb, Vh = Yn.WEEKDAY_PATTERN, une = Yn.HOUR_PATTERN, n6 = function(t, r, n, a, i) {\n var o = a.letter, l = a.font || {}, s = a.splomStash || {}, u = n(\"visible\", !a.visibleDflt), f = r._template || {}, d = r.type || f.type || \"-\", h;\n if (d === \"date\") {\n var p = tne.getComponentMethod(\"calendars\", \"handleDefaults\");\n p(t, r, \"calendar\", a.calendar), a.noTicklabelmode || (h = n(\"ticklabelmode\"));\n }\n var v = \"\";\n (!a.noTicklabelposition || d === \"multicategory\") && (v = Xf.coerce(t, r, {\n ticklabelposition: {\n valType: \"enumerated\",\n dflt: \"outside\",\n values: h === \"period\" ? [\"outside\", \"inside\"] : o === \"x\" ? [\n \"outside\",\n \"inside\",\n \"outside left\",\n \"inside left\",\n \"outside right\",\n \"inside right\"\n ] : [\n \"outside\",\n \"inside\",\n \"outside top\",\n \"inside top\",\n \"outside bottom\",\n \"inside bottom\"\n ]\n }\n }, \"ticklabelposition\")), a.noTicklabeloverflow || n(\n \"ticklabeloverflow\",\n v.indexOf(\"inside\") !== -1 ? \"hide past domain\" : d === \"category\" || d === \"multicategory\" ? \"allow\" : \"hide past div\"\n ), dM(r, i), sne(t, r, n, a), one(t, r, n, a), d !== \"category\" && !a.noHover && n(\"hoverformat\");\n var m = n(\"color\"), g = m !== Wy.color.dflt ? m : l.color, y = s.label || i._dfltTitle[o];\n if (ine(t, r, n, d, a), !u) return r;\n n(\"title.text\", y), Xf.coerceFont(n, \"title.font\", {\n family: l.family,\n size: Xf.bigFont(l.size),\n color: g\n }), fM(t, r, n, d);\n var w = a.hasMinor;\n if (w && (rne.newContainer(r, \"minor\"), fM(t, r, n, d, { isMinor: !0 })), ane(t, r, n, d, a), cM(t, r, n, a), w) {\n var k = a.isMinor;\n a.isMinor = !0, cM(t, r, n, a), a.isMinor = k;\n }\n lne(t, r, n, {\n dfltColor: m,\n bgColor: a.bgColor,\n showGrid: a.showGrid,\n hasMinor: w,\n attributes: Wy\n }), w && !r.minor.ticks && !r.minor.showgrid && delete r.minor, (r.showline || r.ticks) && n(\"mirror\");\n var x = d === \"multicategory\";\n if (!a.noTickson && (d === \"category\" || x) && (r.ticks || r.showgrid)) {\n var _;\n x && (_ = \"boundaries\");\n var T = n(\"tickson\", _);\n T === \"boundaries\" && delete r.ticklabelposition;\n }\n if (x) {\n var S = n(\"showdividers\");\n S && (n(\"dividercolor\"), n(\"dividerwidth\"));\n }\n if (d === \"date\")\n if (nne(t, r, {\n name: \"rangebreaks\",\n inclusionAttr: \"enabled\",\n handleItemDefaults: fne\n }), !r.rangebreaks.length)\n delete r.rangebreaks;\n else {\n for (var M = 0; M < r.rangebreaks.length; M++)\n if (r.rangebreaks[M].pattern === Vh) {\n r._hasDayOfWeekBreaks = !0;\n break;\n }\n if (dM(r, i), i._has(\"scattergl\") || i._has(\"splom\"))\n for (var L = 0; L < a.data.length; L++) {\n var F = a.data[L];\n (F.type === \"scattergl\" || F.type === \"splom\") && (F.visible = !1, Xf.warn(F.type + \" traces do not work on axes with rangebreaks. Setting trace \" + F.index + \" to `visible: false`.\"));\n }\n }\n return r;\n};\nfunction fne(e, t, r) {\n function n(h, p) {\n return Xf.coerce(e, t, Wy.rangebreaks, h, p);\n }\n var a = n(\"enabled\");\n if (a) {\n var i = n(\"bounds\");\n if (i && i.length >= 2) {\n var o = \"\", l, s;\n if (i.length === 2) {\n for (l = 0; l < 2; l++)\n if (s = hM(i[l]), s) {\n o = Vh;\n break;\n }\n }\n var u = n(\"pattern\", o);\n if (u === Vh)\n for (l = 0; l < 2; l++)\n s = hM(i[l]), s && (t.bounds[l] = i[l] = s - 1);\n if (u)\n for (l = 0; l < 2; l++)\n switch (s = i[l], u) {\n case Vh:\n if (!uM(s)) {\n t.enabled = !1;\n return;\n }\n if (s = +s, s !== Math.floor(s) || // don't accept fractional days for mow\n s < 0 || s >= 7) {\n t.enabled = !1;\n return;\n }\n t.bounds[l] = i[l] = s;\n break;\n case une:\n if (!uM(s)) {\n t.enabled = !1;\n return;\n }\n if (s = +s, s < 0 || s > 24) {\n t.enabled = !1;\n return;\n }\n t.bounds[l] = i[l] = s;\n break;\n }\n if (r.autorange === !1) {\n var f = r.range;\n if (f[0] < f[1]) {\n if (i[0] < f[0] && i[1] > f[1]) {\n t.enabled = !1;\n return;\n }\n } else if (i[0] > f[0] && i[1] < f[1]) {\n t.enabled = !1;\n return;\n }\n }\n } else {\n var d = n(\"values\");\n if (d && d.length)\n n(\"dvalue\");\n else {\n t.enabled = !1;\n return;\n }\n }\n }\n}\nvar cne = {\n sun: 1,\n mon: 2,\n tue: 3,\n wed: 4,\n thu: 5,\n fri: 6,\n sat: 7\n};\nfunction hM(e) {\n if (typeof e == \"string\")\n return cne[e.substr(0, 3).toLowerCase()];\n}\nvar dne = sr, yh = Ue, a6 = function(t, r, n, a) {\n var i = a.counterAxes || [], o = a.overlayableAxes || [], l = a.letter, s = a.grid, u = a.overlayingDomain, f, d, h, p, v, m;\n s && (d = s._domains[l][s._axisMap[r._id]], f = s._anchors[r._id], d && (h = s[l + \"side\"].split(\" \")[0], p = s.domain[l][h === \"right\" || h === \"top\" ? 1 : 0])), d = d || [0, 1], f = f || (dne(t.position) ? \"free\" : i[0] || \"free\"), h = h || (l === \"x\" ? \"bottom\" : \"left\"), p = p || 0, v = 0, m = !1;\n var g = yh.coerce(t, r, {\n anchor: {\n valType: \"enumerated\",\n values: [\"free\"].concat(i),\n dflt: f\n }\n }, \"anchor\"), y = yh.coerce(t, r, {\n side: {\n valType: \"enumerated\",\n values: l === \"x\" ? [\"bottom\", \"top\"] : [\"left\", \"right\"],\n dflt: h\n }\n }, \"side\");\n if (g === \"free\") {\n if (l === \"y\") {\n var w = n(\"autoshift\");\n w && (p = y === \"left\" ? u[0] : u[1], m = r.automargin ? r.automargin : !0, v = y === \"left\" ? -3 : 3), n(\"shift\", v);\n }\n n(\"position\", p);\n }\n n(\"automargin\", m);\n var k = !1;\n if (o.length && (k = yh.coerce(t, r, {\n overlaying: {\n valType: \"enumerated\",\n values: [!1].concat(o),\n dflt: !1\n }\n }, \"overlaying\")), !k) {\n var x = n(\"domain\", d);\n x[0] > x[1] - 1 / 4096 && (r.domain = d), yh.noneOrAll(t.domain, r.domain, d), r.tickmode === \"sync\" && (r.tickmode = \"auto\");\n }\n return n(\"layer\"), r;\n}, r0, vM;\nfunction hne() {\n if (vM) return r0;\n vM = 1;\n var e = Ue, t = nr, r = Do.isUnifiedHover, n = pD, a = Mr, i = Xc, o = Ki, l = Zre(), s = n6, u = wl, f = a6, d = gn, h = d.id2name, p = d.name2id, v = Yn.AX_ID_PATTERN, m = Nt, g = m.traceIs, y = m.getComponentMethod;\n function w(k, x, _) {\n Array.isArray(k[x]) ? k[x].push(_) : k[x] = [_];\n }\n return r0 = function(x, _, T) {\n var S = _.autotypenumbers, M = {}, L = {}, F = {}, $ = {}, I = {}, O = {}, G = {}, K = {}, V = {}, z = {}, P, R;\n for (P = 0; P < T.length; P++) {\n var H = T[P];\n if (!(!g(H, \"cartesian\") && !g(H, \"gl2d\"))) {\n var B;\n if (H.xaxis)\n B = h(H.xaxis), w(M, B, H);\n else if (H.xaxes)\n for (R = 0; R < H.xaxes.length; R++)\n w(M, h(H.xaxes[R]), H);\n var W;\n if (H.yaxis)\n W = h(H.yaxis), w(M, W, H);\n else if (H.yaxes)\n for (R = 0; R < H.yaxes.length; R++)\n w(M, h(H.yaxes[R]), H);\n if (H.type === \"funnel\" ? H.orientation === \"h\" ? (B && (L[B] = !0), W && (G[W] = !0)) : W && (F[W] = !0) : H.type === \"image\" ? (W && (K[W] = !0), B && (K[B] = !0)) : (W && (I[W] = !0, O[W] = !0), (!g(H, \"carpet\") || H.type === \"carpet\" && !H._cheater) && B && ($[B] = !0)), H.type === \"carpet\" && H._cheater && B && (L[B] = !0), g(H, \"2dMap\") && (V[B] = !0, V[W] = !0), g(H, \"oriented\")) {\n var ee = H.orientation === \"h\" ? W : B;\n z[ee] = !0;\n }\n }\n }\n var re = _._subplots, ae = re.xaxis, Q = re.yaxis, ue = e.simpleMap(ae, h), j = e.simpleMap(Q, h), U = ue.concat(j), Z = t.background;\n ae.length && Q.length && (Z = e.coerce(x, _, i, \"plot_bgcolor\"));\n var le = t.combine(Z, _.paper_bgcolor), J, pe, ge, ve, me;\n function Le() {\n var ct = M[J] || [];\n me._traceIndices = ct.map(function(X) {\n return X._expandedIndex;\n }), me._annIndices = [], me._shapeIndices = [], me._selectionIndices = [], me._imgIndices = [], me._subplotsWith = [], me._counterAxes = [], me._name = me._attr = J, me._id = pe;\n }\n function ze(ct, X) {\n return e.coerce(ve, me, o, ct, X);\n }\n function Fe(ct, X) {\n return e.coerce2(ve, me, o, ct, X);\n }\n function Oe(ct) {\n return ct === \"x\" ? Q : ae;\n }\n function Re(ct, X) {\n for (var se = ct === \"x\" ? ue : j, ie = [], fe = 0; fe < se.length; fe++) {\n var ke = se[fe];\n ke !== X && !(x[ke] || {}).overlaying && ie.push(p(ke));\n }\n return ie;\n }\n var We = { x: Oe(\"x\"), y: Oe(\"y\") }, Me = We.x.concat(We.y), Ve = {}, qe = [];\n function Qe() {\n var ct = ve.matches;\n v.test(ct) && Me.indexOf(ct) === -1 && (Ve[ct] = ve.type, qe = Object.keys(Ve));\n }\n var ot = n(x, _), ht = r(ot);\n for (P = 0; P < U.length; P++) {\n J = U[P], pe = p(J), ge = J.charAt(0), e.isPlainObject(x[J]) || (x[J] = {}), ve = x[J], me = a.newContainer(_, J, ge + \"axis\"), Le();\n var vt = ge === \"x\" && !$[J] && L[J] || ge === \"y\" && !I[J] && F[J], nt = ge === \"y\" && (!O[J] && G[J] || K[J]), ft = {\n hasMinor: !0,\n letter: ge,\n font: _.font,\n outerTicks: V[J],\n showGrid: !z[J],\n data: M[J] || [],\n bgColor: le,\n calendar: _.calendar,\n automargin: !0,\n visibleDflt: vt,\n reverseDflt: nt,\n autotypenumbersDflt: S,\n splomStash: ((_._splomAxes || {})[ge] || {})[pe]\n };\n ze(\"uirevision\", _.uirevision), l(ve, me, ze, ft), s(ve, me, ze, ft, _);\n var Pe = ht && ge === ot.charAt(0), Ie = Fe(\"spikecolor\", ht ? me.color : void 0), Ne = Fe(\"spikethickness\", ht ? 1.5 : void 0), tt = Fe(\"spikedash\", ht ? \"dot\" : void 0), Je = Fe(\"spikemode\", ht ? \"across\" : void 0), it = Fe(\"spikesnap\"), at = ze(\"showspikes\", !!Pe || !!Ie || !!Ne || !!tt || !!Je || !!it);\n at || (delete me.spikecolor, delete me.spikethickness, delete me.spikedash, delete me.spikemode, delete me.spikesnap);\n var Tt = h(ve.overlaying), gt = [0, 1];\n if (_[Tt] !== void 0) {\n var He = h(_[Tt].anchor);\n _[He] !== void 0 && (gt = _[He].domain);\n }\n f(ve, me, ze, {\n letter: ge,\n counterAxes: We[ge],\n overlayableAxes: Re(ge, J),\n grid: _.grid,\n overlayingDomain: gt\n }), ze(\"title.standoff\"), Qe(), me._input = ve;\n }\n for (P = 0; P < qe.length; ) {\n pe = qe[P++], J = h(pe), ge = J.charAt(0), e.isPlainObject(x[J]) || (x[J] = {}), ve = x[J], me = a.newContainer(_, J, ge + \"axis\"), Le();\n var pt = {\n letter: ge,\n font: _.font,\n outerTicks: V[J],\n showGrid: !z[J],\n data: [],\n bgColor: le,\n calendar: _.calendar,\n automargin: !0,\n visibleDflt: !1,\n reverseDflt: !1,\n autotypenumbersDflt: S,\n splomStash: ((_._splomAxes || {})[ge] || {})[pe]\n };\n ze(\"uirevision\", _.uirevision), me.type = Ve[pe] || \"linear\", s(ve, me, ze, pt, _), f(ve, me, ze, {\n letter: ge,\n counterAxes: We[ge],\n overlayableAxes: Re(ge, J),\n grid: _.grid\n }), ze(\"fixedrange\"), Qe(), me._input = ve;\n }\n var bt = y(\"rangeslider\", \"handleDefaults\"), Ke = y(\"rangeselector\", \"handleDefaults\");\n for (P = 0; P < ue.length; P++)\n J = ue[P], ve = x[J], me = _[J], bt(x, _, J), me.type === \"date\" && Ke(\n ve,\n me,\n _,\n j,\n me.calendar\n ), ze(\"fixedrange\");\n for (P = 0; P < j.length; P++) {\n J = j[P], ve = x[J], me = _[J];\n var st = _[h(me.anchor)], rt = y(\"rangeslider\", \"isVisible\")(st);\n ze(\"fixedrange\", rt);\n }\n u.handleDefaults(x, _, {\n axIds: Me.concat(qe).sort(d.idSort),\n axHasImage: K\n });\n }, r0;\n}\nvar n0, pM;\nfunction vne() {\n if (pM) return n0;\n pM = 1;\n var e = lr, t = Nt, r = Ue, n = Sr, a = Cr;\n return n0 = function(o, l, s, u) {\n var f = o._fullLayout;\n if (l.length === 0) {\n a.redrawComponents(o);\n return;\n }\n function d(_) {\n var T = _.xaxis, S = _.yaxis;\n f._defs.select(\"#\" + _.clipId + \"> rect\").call(n.setTranslate, 0, 0).call(n.setScale, 1, 1), _.plot.call(n.setTranslate, T._offset, S._offset).call(n.setScale, 1, 1);\n var M = _.plot.selectAll(\".scatterlayer .trace\");\n M.selectAll(\".point\").call(n.setPointGroupScale, 1, 1), M.selectAll(\".textpoint\").call(n.setTextPointsScale, 1, 1), M.call(n.hideOutsideRangePoints, _);\n }\n function h(_, T) {\n var S = _.plotinfo, M = S.xaxis, L = S.yaxis, F = M._length, $ = L._length, I = !!_.xr1, O = !!_.yr1, G = [];\n if (I) {\n var K = r.simpleMap(_.xr0, M.r2l), V = r.simpleMap(_.xr1, M.r2l), z = K[1] - K[0], P = V[1] - V[0];\n G[0] = (K[0] * (1 - T) + T * V[0] - K[0]) / (K[1] - K[0]) * F, G[2] = F * (1 - T + T * P / z), M.range[0] = M.l2r(K[0] * (1 - T) + T * V[0]), M.range[1] = M.l2r(K[1] * (1 - T) + T * V[1]);\n } else\n G[0] = 0, G[2] = F;\n if (O) {\n var R = r.simpleMap(_.yr0, L.r2l), H = r.simpleMap(_.yr1, L.r2l), B = R[1] - R[0], W = H[1] - H[0];\n G[1] = (R[1] * (1 - T) + T * H[1] - R[1]) / (R[0] - R[1]) * $, G[3] = $ * (1 - T + T * W / B), L.range[0] = M.l2r(R[0] * (1 - T) + T * H[0]), L.range[1] = L.l2r(R[1] * (1 - T) + T * H[1]);\n } else\n G[1] = 0, G[3] = $;\n a.drawOne(o, M, { skipTitle: !0 }), a.drawOne(o, L, { skipTitle: !0 }), a.redrawComponents(o, [M._id, L._id]);\n var ee = I ? F / G[2] : 1, re = O ? $ / G[3] : 1, ae = I ? G[0] : 0, Q = O ? G[1] : 0, ue = I ? G[0] / G[2] * F : 0, j = O ? G[1] / G[3] * $ : 0, U = M._offset - ue, Z = L._offset - j;\n S.clipRect.call(n.setTranslate, ae, Q).call(n.setScale, 1 / ee, 1 / re), S.plot.call(n.setTranslate, U, Z).call(n.setScale, ee, re), n.setPointGroupScale(S.zoomScalePts, 1 / ee, 1 / re), n.setTextPointsScale(S.zoomScaleTxt, 1 / ee, 1 / re);\n }\n var p;\n u && (p = u());\n function v() {\n for (var _ = {}, T = 0; T < l.length; T++) {\n var S = l[T], M = S.plotinfo.xaxis, L = S.plotinfo.yaxis;\n S.xr1 && (_[M._name + \".range\"] = S.xr1.slice()), S.yr1 && (_[L._name + \".range\"] = S.yr1.slice());\n }\n return p && p(), t.call(\"relayout\", o, _).then(function() {\n for (var F = 0; F < l.length; F++)\n d(l[F].plotinfo);\n });\n }\n function m() {\n for (var _ = {}, T = 0; T < l.length; T++) {\n var S = l[T], M = S.plotinfo.xaxis, L = S.plotinfo.yaxis;\n S.xr0 && (_[M._name + \".range\"] = S.xr0.slice()), S.yr0 && (_[L._name + \".range\"] = S.yr0.slice());\n }\n return t.call(\"relayout\", o, _).then(function() {\n for (var F = 0; F < l.length; F++)\n d(l[F].plotinfo);\n });\n }\n var g, y, w, k = e.ease(s.easing);\n o._transitionData._interruptCallbacks.push(function() {\n return window.cancelAnimationFrame(w), w = null, m();\n });\n function x() {\n y = Date.now();\n for (var _ = Math.min(1, (y - g) / s.duration), T = k(_), S = 0; S < l.length; S++)\n h(l[S], T);\n y - g > s.duration ? (v(), w = window.cancelAnimationFrame(x)) : w = window.requestAnimationFrame(x);\n }\n return g = Date.now(), w = window.requestAnimationFrame(x), Promise.resolve();\n }, n0;\n}\nvar Xp = lr, mM = Nt, Lv = Ue, pne = Tn, mne = Sr, gM = Kc.getModuleCalcData, nl = gn, ji = Yn, gne = yl, wr = Lv.ensureSingle;\nfunction bh(e, t, r) {\n return Lv.ensureSingle(e, t, r, function(n) {\n n.datum(r);\n });\n}\nyn.name = \"cartesian\";\nyn.attr = [\"xaxis\", \"yaxis\"];\nyn.idRoot = [\"x\", \"y\"];\nyn.idRegex = ji.idRegex;\nyn.attrRegex = ji.attrRegex;\nyn.attributes = Wre();\nyn.layoutAttributes = Ki;\nyn.supplyLayoutDefaults = hne();\nyn.transitionAxes = vne();\nyn.finalizeSubplots = function(e, t) {\n var r = t._subplots, n = r.xaxis, a = r.yaxis, i = r.cartesian, o = i.concat(r.gl2d || []), l = {}, s = {}, u, f, d;\n for (u = 0; u < o.length; u++) {\n var h = o[u].split(\"y\");\n l[h[0]] = 1, s[\"y\" + h[1]] = 1;\n }\n for (u = 0; u < n.length; u++)\n f = n[u], l[f] || (d = (e[nl.id2name(f)] || {}).anchor, ji.idRegex.y.test(d) || (d = \"y\"), i.push(f + d), o.push(f + d), s[d] || (s[d] = 1, Lv.pushUnique(a, d)));\n for (u = 0; u < a.length; u++)\n d = a[u], s[d] || (f = (e[nl.id2name(d)] || {}).anchor, ji.idRegex.x.test(f) || (f = \"x\"), i.push(f + d), o.push(f + d), l[f] || (l[f] = 1, Lv.pushUnique(n, f)));\n if (!o.length) {\n f = \"\", d = \"\";\n for (var p in e)\n if (ji.attrRegex.test(p)) {\n var v = p.charAt(0);\n v === \"x\" ? (!f || +p.substr(5) < +f.substr(5)) && (f = p) : (!d || +p.substr(5) < +d.substr(5)) && (d = p);\n }\n f = f ? nl.name2id(f) : \"x\", d = d ? nl.name2id(d) : \"y\", n.push(f), a.push(d), i.push(f + d);\n }\n};\nyn.plot = function(e, t, r, n) {\n var a = e._fullLayout, i = a._subplots.cartesian, o = e.calcdata, l;\n if (!Array.isArray(t))\n for (t = [], l = 0; l < o.length; l++) t.push(l);\n for (l = 0; l < i.length; l++) {\n for (var s = i[l], u = a._plots[s], f = [], d, h = 0; h < o.length; h++) {\n var p = o[h], v = p[0].trace;\n v.xaxis + v.yaxis === s && ((t.indexOf(v.index) !== -1 || v.carpet) && (d && d[0].trace.xaxis + d[0].trace.yaxis === s && [\"tonextx\", \"tonexty\", \"tonext\"].indexOf(v.fill) !== -1 && f.indexOf(d) === -1 && f.push(d), f.push(p)), d = p);\n }\n i6(e, u, f, r, n);\n }\n};\nfunction i6(e, t, r, n, a) {\n for (var i = ji.traceLayerClasses, o = e._fullLayout, l = o._modules, s, u, f, d = [], h = [], p = 0; p < l.length; p++) {\n s = l[p];\n var v = s.name, m = mM.modules[v].categories;\n if (m.svg) {\n var g = s.layerName || v + \"layer\", y = s.plot;\n u = gM(r, y), f = u[0], r = u[1], f.length && d.push({\n i: i.indexOf(g),\n className: g,\n plotMethod: y,\n cdModule: f\n }), m.zoomScale && h.push(\".\" + g);\n }\n }\n d.sort(function(x, _) {\n return x.i - _.i;\n });\n var w = t.plot.selectAll(\"g.mlayer\").data(d, function(x) {\n return x.className;\n });\n if (w.enter().append(\"g\").attr(\"class\", function(x) {\n return x.className;\n }).classed(\"mlayer\", !0).classed(\"rangeplot\", t.isRangePlot), w.exit().remove(), w.order(), w.each(function(x) {\n var _ = Xp.select(this), T = x.className;\n x.plotMethod(\n e,\n t,\n x.cdModule,\n _,\n n,\n a\n ), ji.clipOnAxisFalseQuery.indexOf(\".\" + T) === -1 && mne.setClipUrl(_, t.layerClipId, e);\n }), o._has(\"scattergl\") && (s = mM.getModule(\"scattergl\"), f = gM(r, s)[0], s.plot(e, t, f)), !e._context.staticPlot && (t._hasClipOnAxisFalse && (t.clipOnAxisFalseTraces = t.plot.selectAll(ji.clipOnAxisFalseQuery.join(\",\")).selectAll(\".trace\")), h.length)) {\n var k = t.plot.selectAll(h.join(\",\")).selectAll(\".trace\");\n t.zoomScalePts = k.selectAll(\"path.point\"), t.zoomScaleTxt = k.selectAll(\".textpoint\");\n }\n}\nyn.clean = function(e, t, r, n) {\n var a = n._plots || {}, i = t._plots || {}, o = n._subplots || {}, l, s, u;\n if (n._hasOnlyLargeSploms && !t._hasOnlyLargeSploms)\n for (u in a)\n l = a[u], l.plotgroup && l.plotgroup.remove();\n var f = n._has && n._has(\"gl\"), d = t._has && t._has(\"gl\");\n if (f && !d)\n for (u in a)\n l = a[u], l._scene && l._scene.destroy();\n if (o.xaxis && o.yaxis) {\n var h = nl.listIds({ _fullLayout: n });\n for (s = 0; s < h.length; s++) {\n var p = h[s];\n t[nl.id2name(p)] || n._infolayer.selectAll(\".g-\" + p + \"title\").remove();\n }\n }\n var v = n._has && n._has(\"cartesian\"), m = t._has && t._has(\"cartesian\");\n if (v && !m)\n l6(n._cartesianlayer.selectAll(\".subplot\"), n), n._defs.selectAll(\".axesclip\").remove(), delete n._axisConstraintGroups, delete n._axisMatchGroups;\n else if (o.cartesian)\n for (s = 0; s < o.cartesian.length; s++) {\n var g = o.cartesian[s];\n if (!i[g]) {\n var y = \".\" + g + \",.\" + g + \"-x,.\" + g + \"-y\";\n n._cartesianlayer.selectAll(y).remove(), s6(g, n);\n }\n }\n};\nyn.drawFramework = function(e) {\n var t = e._fullLayout, r = yne(e), n = t._cartesianlayer.selectAll(\".subplot\").data(r, String);\n n.enter().append(\"g\").attr(\"class\", function(a) {\n return \"subplot \" + a[0];\n }), n.order(), n.exit().call(l6, t), n.each(function(a) {\n var i = a[0], o = t._plots[i];\n o.plotgroup = Xp.select(this), o6(e, o), o.draglayer = wr(t._draggers, \"g\", i);\n });\n};\nyn.rangePlot = function(e, t, r) {\n o6(e, t), i6(e, t, r), pne.style(e);\n};\nfunction yne(e) {\n var t = e._fullLayout, r = t._subplots.cartesian, n = r.length, a, i, o, l, s, u, f = [], d = [];\n for (a = 0; a < n; a++) {\n o = r[a], l = t._plots[o], s = l.xaxis, u = l.yaxis;\n var h = s._mainAxis, p = u._mainAxis, v = h._id + p._id, m = t._plots[v];\n l.overlays = [], v !== o && m ? (l.mainplot = v, l.mainplotinfo = m, d.push(o)) : (l.mainplot = void 0, l.mainplotinfo = void 0, f.push(o));\n }\n for (a = 0; a < d.length; a++)\n o = d[a], l = t._plots[o], l.mainplotinfo.overlays.push(l);\n var g = f.concat(d), y = new Array(n);\n for (a = 0; a < n; a++) {\n o = g[a], l = t._plots[o], s = l.xaxis, u = l.yaxis;\n var w = [o, s.layer, u.layer, s.overlaying || \"\", u.overlaying || \"\"];\n for (i = 0; i < l.overlays.length; i++)\n w.push(l.overlays[i].id);\n y[a] = w;\n }\n return y;\n}\nfunction o6(e, t) {\n var r = t.plotgroup, n = t.id, a = ji.layerValue2layerClass[t.xaxis.layer], i = ji.layerValue2layerClass[t.yaxis.layer], o = e._fullLayout._hasOnlyLargeSploms;\n if (t.mainplot) {\n var s = t.mainplotinfo, u = s.plotgroup, f = n + \"-x\", d = n + \"-y\";\n t.minorGridlayer = s.minorGridlayer, t.gridlayer = s.gridlayer, t.zerolinelayer = s.zerolinelayer, wr(s.overlinesBelow, \"path\", f), wr(s.overlinesBelow, \"path\", d), wr(s.overaxesBelow, \"g\", f), wr(s.overaxesBelow, \"g\", d), t.plot = wr(s.overplot, \"g\", n), wr(s.overlinesAbove, \"path\", f), wr(s.overlinesAbove, \"path\", d), wr(s.overaxesAbove, \"g\", f), wr(s.overaxesAbove, \"g\", d), t.xlines = u.select(\".overlines-\" + a).select(\".\" + f), t.ylines = u.select(\".overlines-\" + i).select(\".\" + d), t.xaxislayer = u.select(\".overaxes-\" + a).select(\".\" + f), t.yaxislayer = u.select(\".overaxes-\" + i).select(\".\" + d);\n } else if (o)\n t.xlines = wr(r, \"path\", \"xlines-above\"), t.ylines = wr(r, \"path\", \"ylines-above\"), t.xaxislayer = wr(r, \"g\", \"xaxislayer-above\"), t.yaxislayer = wr(r, \"g\", \"yaxislayer-above\");\n else {\n var l = wr(r, \"g\", \"layer-subplot\");\n t.shapelayer = wr(l, \"g\", \"shapelayer\"), t.imagelayer = wr(l, \"g\", \"imagelayer\"), t.minorGridlayer = wr(r, \"g\", \"minor-gridlayer\"), t.gridlayer = wr(r, \"g\", \"gridlayer\"), t.zerolinelayer = wr(r, \"g\", \"zerolinelayer\"), wr(r, \"path\", \"xlines-below\"), wr(r, \"path\", \"ylines-below\"), t.overlinesBelow = wr(r, \"g\", \"overlines-below\"), wr(r, \"g\", \"xaxislayer-below\"), wr(r, \"g\", \"yaxislayer-below\"), t.overaxesBelow = wr(r, \"g\", \"overaxes-below\"), t.plot = wr(r, \"g\", \"plot\"), t.overplot = wr(r, \"g\", \"overplot\"), t.xlines = wr(r, \"path\", \"xlines-above\"), t.ylines = wr(r, \"path\", \"ylines-above\"), t.overlinesAbove = wr(r, \"g\", \"overlines-above\"), wr(r, \"g\", \"xaxislayer-above\"), wr(r, \"g\", \"yaxislayer-above\"), t.overaxesAbove = wr(r, \"g\", \"overaxes-above\"), t.xlines = r.select(\".xlines-\" + a), t.ylines = r.select(\".ylines-\" + i), t.xaxislayer = r.select(\".xaxislayer-\" + a), t.yaxislayer = r.select(\".yaxislayer-\" + i);\n }\n o || (bh(t.minorGridlayer, \"g\", t.xaxis._id), bh(t.minorGridlayer, \"g\", t.yaxis._id), t.minorGridlayer.selectAll(\"g\").map(function(h) {\n return h[0];\n }).sort(nl.idSort), bh(t.gridlayer, \"g\", t.xaxis._id), bh(t.gridlayer, \"g\", t.yaxis._id), t.gridlayer.selectAll(\"g\").map(function(h) {\n return h[0];\n }).sort(nl.idSort)), t.xlines.style(\"fill\", \"none\").classed(\"crisp\", !0), t.ylines.style(\"fill\", \"none\").classed(\"crisp\", !0);\n}\nfunction l6(e, t) {\n if (e) {\n var r = {};\n e.each(function(s) {\n var u = s[0], f = Xp.select(this);\n f.remove(), s6(u, t), r[u] = !0;\n });\n for (var n in t._plots)\n for (var a = t._plots[n], i = a.overlays || [], o = 0; o < i.length; o++) {\n var l = i[o];\n r[l.id] && l.plot.selectAll(\".trace\").remove();\n }\n }\n}\nfunction s6(e, t) {\n t._draggers.selectAll(\"g.\" + e).remove(), t._defs.select(\"#clip\" + t._uid + e + \"plot\").remove();\n}\nyn.toSVG = function(e) {\n var t = e._fullLayout._glimages, r = Xp.select(e).selectAll(\".svg-container\"), n = r.filter(function(i, o) {\n return o === r.size() - 1;\n }).selectAll(\".gl-canvas-context, .gl-canvas-focus\");\n function a() {\n var i = this, o = i.toDataURL(\"image/png\"), l = t.append(\"svg:image\");\n l.attr({\n xmlns: gne.svg,\n \"xlink:href\": o,\n preserveAspectRatio: \"none\",\n x: 0,\n y: 0,\n width: i.style.width,\n height: i.style.height\n });\n }\n n.each(a);\n};\nyn.updateFx = Mb.updateFx;\nvar _h = Ya, u6 = {\n hasLines: _h.hasLines,\n hasMarkers: _h.hasMarkers,\n hasText: _h.hasText,\n isBubble: _h.isBubble,\n attributes: ws,\n layoutAttributes: ub,\n supplyDefaults: Wte,\n crossTraceDefaults: Jte,\n supplyLayoutDefaults: tre,\n calc: GE.calc,\n crossTraceCalc: kre,\n arraysToCalcdata: NE,\n plot: Pre,\n colorbar: t6,\n formatLabels: r6,\n style: nM.style,\n styleOnSelect: nM.styleOnSelect,\n hoverPoints: Vre,\n selectPoints: qre,\n animatable: !0,\n moduleType: \"trace\",\n name: \"scatter\",\n basePlotModule: yn,\n categories: [\n \"cartesian\",\n \"svg\",\n \"symbols\",\n \"errorBarsOK\",\n \"showLegend\",\n \"scatter-like\",\n \"zoomScale\"\n ],\n meta: {\n description: [\n \"The scatter trace type encompasses line charts, scatter charts, text charts, and bubble charts.\",\n \"The data visualized as scatter point or lines is set in `x` and `y`.\",\n \"Text (appearing either on the chart or on hover only) is via `text`.\",\n \"Bubble charts are achieved by setting `marker.size` and/or `marker.color`\",\n \"to numerical arrays.\"\n ].join(\" \")\n }\n}, bne = lr, _ne = nr, yM = hE, c_ = Ue, xne = c_.strScale, wne = c_.strRotate, Tne = c_.strTranslate, kne = function(t, r, n) {\n var a = t.node(), i = yM[n.arrowhead || 0], o = yM[n.startarrowhead || 0], l = (n.arrowwidth || 1) * (n.arrowsize || 1), s = (n.arrowwidth || 1) * (n.startarrowsize || 1), u = r.indexOf(\"start\") >= 0, f = r.indexOf(\"end\") >= 0, d = i.backoff * l + n.standoff, h = o.backoff * s + n.startstandoff, p, v, m, g;\n if (a.nodeName === \"line\") {\n p = { x: +t.attr(\"x1\"), y: +t.attr(\"y1\") }, v = { x: +t.attr(\"x2\"), y: +t.attr(\"y2\") };\n var y = p.x - v.x, w = p.y - v.y;\n if (m = Math.atan2(w, y), g = m + Math.PI, d && h && d + h > Math.sqrt(y * y + w * w)) {\n G();\n return;\n }\n if (d) {\n if (d * d > y * y + w * w) {\n G();\n return;\n }\n var k = d * Math.cos(m), x = d * Math.sin(m);\n v.x += k, v.y += x, t.attr({ x2: v.x, y2: v.y });\n }\n if (h) {\n if (h * h > y * y + w * w) {\n G();\n return;\n }\n var _ = h * Math.cos(m), T = h * Math.sin(m);\n p.x -= _, p.y -= T, t.attr({ x1: p.x, y1: p.y });\n }\n } else if (a.nodeName === \"path\") {\n var S = a.getTotalLength(), M = \"\";\n if (S < d + h) {\n G();\n return;\n }\n var L = a.getPointAtLength(0), F = a.getPointAtLength(0.1);\n m = Math.atan2(L.y - F.y, L.x - F.x), p = a.getPointAtLength(Math.min(h, S)), M = \"0px,\" + h + \"px,\";\n var $ = a.getPointAtLength(S), I = a.getPointAtLength(S - 0.1);\n g = Math.atan2($.y - I.y, $.x - I.x), v = a.getPointAtLength(Math.max(0, S - d));\n var O = M ? h + d : d;\n M += S - O + \"px,\" + S + \"px\", t.style(\"stroke-dasharray\", M);\n }\n function G() {\n t.style(\"stroke-dasharray\", \"0px,100px\");\n }\n function K(V, z, P, R) {\n V.path && (V.noRotate && (P = 0), bne.select(a.parentNode).append(\"path\").attr({\n class: t.attr(\"class\"),\n d: V.path,\n transform: Tne(z.x, z.y) + wne(P * 180 / Math.PI) + xne(R)\n }).style({\n fill: _ne.rgb(n.arrowcolor),\n \"stroke-width\": 0\n }));\n }\n u && K(o, p, m, s), f && K(i, v, g, l);\n}, bM = lr, a0 = Nt, Ane = Tn, Vo = Ue, i0 = Vo.strTranslate, $c = Cr, Rl = nr, oo = Sr, _M = Ao, o0 = Rn, l0 = xs, Uf = Qi, Mne = Mr.arrayEditor, Sne = kne, d_ = {\n draw: Cne,\n drawOne: f6,\n drawRaw: c6\n};\nfunction Cne(e) {\n var t = e._fullLayout;\n t._infolayer.selectAll(\".annotation\").remove();\n for (var r = 0; r < t.annotations.length; r++)\n t.annotations[r].visible && f6(e, r);\n return Ane.previousPromises(e);\n}\nfunction f6(e, t) {\n var r = e._fullLayout, n = r.annotations[t] || {}, a = $c.getFromId(e, n.xref), i = $c.getFromId(e, n.yref);\n a && a.setScale(), i && i.setScale(), c6(e, n, t, !1, a, i);\n}\nfunction Bo(e, t, r, n, a) {\n var i = a[r], o = a[r + \"ref\"], l = r.indexOf(\"y\") !== -1, s = $c.getRefType(o) === \"domain\", u = l ? n.h : n.w;\n return e ? s ? i + (l ? -t : t) / e._length : e.p2r(e.r2p(i) + t) : i + (l ? -t : t) / u;\n}\nfunction c6(e, t, r, n, a, i) {\n var o = e._fullLayout, l = e._fullLayout._size, s = e._context.edits, u, f;\n n ? (u = \"annotation-\" + n, f = n + \".annotations\") : (u = \"annotation\", f = \"annotations\");\n var d = Mne(e.layout, f, t), h = d.modifyBase, p = d.modifyItem, v = d.getUpdateObj;\n o._infolayer.selectAll(\".\" + u + '[data-index=\"' + r + '\"]').remove();\n var m = \"clip\" + o._uid + \"_ann\" + r;\n if (!t._input || t.visible === !1) {\n bM.selectAll(\"#\" + m).remove();\n return;\n }\n var g = { x: {}, y: {} }, y = +t.textangle || 0, w = o._infolayer.append(\"g\").classed(u, !0).attr(\"data-index\", String(r)).style(\"opacity\", t.opacity), k = w.append(\"g\").classed(\"annotation-text-g\", !0), x = s[t.showarrow ? \"annotationTail\" : \"annotationPosition\"], _ = t.captureevents || s.annotationText || x;\n function T(R) {\n var H = {\n index: r,\n annotation: t._input,\n fullAnnotation: t,\n event: R\n };\n return n && (H.subplotId = n), H;\n }\n var S = k.append(\"g\").style(\"pointer-events\", _ ? \"all\" : null).call(l0, \"pointer\").on(\"click\", function() {\n e._dragging = !1, e.emit(\"plotly_clickannotation\", T(bM.event));\n });\n t.hovertext && S.on(\"mouseover\", function() {\n var R = t.hoverlabel, H = R.font, B = this.getBoundingClientRect(), W = e.getBoundingClientRect();\n _M.loneHover({\n x0: B.left - W.left,\n x1: B.right - W.left,\n y: (B.top + B.bottom) / 2 - W.top,\n text: t.hovertext,\n color: R.bgcolor,\n borderColor: R.bordercolor,\n fontFamily: H.family,\n fontSize: H.size,\n fontColor: H.color\n }, {\n container: o._hoverlayer.node(),\n outerContainer: o._paper.node(),\n gd: e\n });\n }).on(\"mouseout\", function() {\n _M.loneUnhover(o._hoverlayer.node());\n });\n var M = t.borderwidth, L = t.borderpad, F = M + L, $ = S.append(\"rect\").attr(\"class\", \"bg\").style(\"stroke-width\", M + \"px\").call(Rl.stroke, t.bordercolor).call(Rl.fill, t.bgcolor), I = t.width || t.height, O = o._topclips.selectAll(\"#\" + m).data(I ? [0] : []);\n O.enter().append(\"clipPath\").classed(\"annclip\", !0).attr(\"id\", m).append(\"rect\"), O.exit().remove();\n var G = t.font, K = o._meta ? Vo.templateString(t.text, o._meta) : t.text, V = S.append(\"text\").classed(\"annotation-text\", !0).text(K);\n function z(R) {\n return R.call(oo.font, G).attr({\n \"text-anchor\": {\n left: \"start\",\n right: \"end\"\n }[t.align] || \"middle\"\n }), o0.convertToTspans(R, e, P), R;\n }\n function P() {\n var R = V.selectAll(\"a\");\n if (R.size() === 1 && R.text() === V.text()) {\n var H = S.insert(\"a\", \":first-child\").attr({\n \"xlink:xlink:href\": R.attr(\"xlink:href\"),\n \"xlink:xlink:show\": R.attr(\"xlink:show\")\n }).style({ cursor: \"pointer\" });\n H.node().appendChild($.node());\n }\n var B = S.select(\".annotation-text-math-group\"), W = !B.empty(), ee = oo.bBox(\n (W ? B : V).node()\n ), re = ee.width, ae = ee.height, Q = t.width || re, ue = t.height || ae, j = Math.round(Q + 2 * F), U = Math.round(ue + 2 * F);\n function Z(Ke, st) {\n return st === \"auto\" && (Ke < 1 / 3 ? st = \"left\" : Ke > 2 / 3 ? st = \"right\" : st = \"center\"), {\n center: 0,\n middle: 0,\n left: 0.5,\n bottom: -0.5,\n right: -0.5,\n top: 0.5\n }[st];\n }\n for (var le = !1, J = [\"x\", \"y\"], pe = 0; pe < J.length; pe++) {\n var ge = J[pe], ve = t[ge + \"ref\"] || ge, me = t[\"a\" + ge + \"ref\"], Le = { x: a, y: i }[ge], ze = (y + (ge === \"x\" ? 0 : -90)) * Math.PI / 180, Fe = j * Math.cos(ze), Oe = U * Math.sin(ze), Re = Math.abs(Fe) + Math.abs(Oe), We = t[ge + \"anchor\"], Me = t[ge + \"shift\"] * (ge === \"x\" ? 1 : -1), Ve = g[ge], qe, Qe, ot, ht, vt, nt = $c.getRefType(ve);\n if (Le && nt !== \"domain\") {\n var ft = Le.r2fraction(t[ge]);\n (ft < 0 || ft > 1) && (me === ve ? (ft = Le.r2fraction(t[\"a\" + ge]), (ft < 0 || ft > 1) && (le = !0)) : le = !0), qe = Le._offset + Le.r2p(t[ge]), ht = 0.5;\n } else {\n var Pe = nt === \"domain\";\n ge === \"x\" ? (ot = t[ge], qe = Pe ? Le._offset + Le._length * ot : qe = l.l + l.w * ot) : (ot = 1 - t[ge], qe = Pe ? Le._offset + Le._length * ot : qe = l.t + l.h * ot), ht = t.showarrow ? 0.5 : ot;\n }\n if (t.showarrow) {\n Ve.head = qe;\n var Ie = t[\"a\" + ge];\n if (vt = Fe * Z(0.5, t.xanchor) - Oe * Z(0.5, t.yanchor), me === ve) {\n var Ne = $c.getRefType(me);\n Ne === \"domain\" ? (ge === \"y\" && (Ie = 1 - Ie), Ve.tail = Le._offset + Le._length * Ie) : Ne === \"paper\" ? ge === \"y\" ? (Ie = 1 - Ie, Ve.tail = l.t + l.h * Ie) : Ve.tail = l.l + l.w * Ie : Ve.tail = Le._offset + Le.r2p(Ie), Qe = vt;\n } else\n Ve.tail = qe + Ie, Qe = vt + Ie;\n Ve.text = Ve.tail + vt;\n var tt = o[ge === \"x\" ? \"width\" : \"height\"];\n if (ve === \"paper\" && (Ve.head = Vo.constrain(Ve.head, 1, tt - 1)), me === \"pixel\") {\n var Je = -Math.max(Ve.tail - 3, Ve.text), it = Math.min(Ve.tail + 3, Ve.text) - tt;\n Je > 0 ? (Ve.tail += Je, Ve.text += Je) : it > 0 && (Ve.tail -= it, Ve.text -= it);\n }\n Ve.tail += Me, Ve.head += Me;\n } else\n vt = Re * Z(ht, We), Qe = vt, Ve.text = qe + vt;\n Ve.text += Me, vt += Me, Qe += Me, t[\"_\" + ge + \"padplus\"] = Re / 2 + Qe, t[\"_\" + ge + \"padminus\"] = Re / 2 - Qe, t[\"_\" + ge + \"size\"] = Re, t[\"_\" + ge + \"shift\"] = vt;\n }\n if (le) {\n S.remove();\n return;\n }\n var at = 0, Tt = 0;\n if (t.align !== \"left\" && (at = (Q - re) * (t.align === \"center\" ? 0.5 : 1)), t.valign !== \"top\" && (Tt = (ue - ae) * (t.valign === \"middle\" ? 0.5 : 1)), W)\n B.select(\"svg\").attr({\n x: F + at - 1,\n y: F + Tt\n }).call(oo.setClipUrl, I ? m : null, e);\n else {\n var gt = F + Tt - ee.top, He = F + at - ee.left;\n V.call(o0.positionText, He, gt).call(oo.setClipUrl, I ? m : null, e);\n }\n O.select(\"rect\").call(\n oo.setRect,\n F,\n F,\n Q,\n ue\n ), $.call(\n oo.setRect,\n M / 2,\n M / 2,\n j - M,\n U - M\n ), S.call(\n oo.setTranslate,\n Math.round(g.x.text - j / 2),\n Math.round(g.y.text - U / 2)\n ), k.attr({ transform: \"rotate(\" + y + \",\" + g.x.text + \",\" + g.y.text + \")\" });\n var pt = function(Ke, st) {\n w.selectAll(\".annotation-arrow-g\").remove();\n var rt = g.x.head, ct = g.y.head, X = g.x.tail + Ke, se = g.y.tail + st, ie = g.x.text + Ke, fe = g.y.text + st, ke = Vo.rotationXYMatrix(y, ie, fe), _e = Vo.apply2DTransform(ke), Ge = Vo.apply2DTransform2(ke), je = +$.attr(\"width\"), Ee = +$.attr(\"height\"), oe = ie - 0.5 * je, Ce = oe + je, Be = fe - 0.5 * Ee, Xe = Be + Ee, Et = [\n [oe, Be, oe, Xe],\n [oe, Xe, Ce, Xe],\n [Ce, Xe, Ce, Be],\n [Ce, Be, oe, Be]\n ].map(Ge);\n if (!Et.reduce(function(St, Ut) {\n return St ^ !!Vo.segmentsIntersect(\n rt,\n ct,\n rt + 1e6,\n ct + 1e6,\n Ut[0],\n Ut[1],\n Ut[2],\n Ut[3]\n );\n }, !1)) {\n Et.forEach(function(St) {\n var Ut = Vo.segmentsIntersect(\n X,\n se,\n rt,\n ct,\n St[0],\n St[1],\n St[2],\n St[3]\n );\n Ut && (X = Ut.x, se = Ut.y);\n });\n var Pt = t.arrowwidth, It = t.arrowcolor, kt = t.arrowside, qt = w.append(\"g\").style({ opacity: Rl.opacity(It) }).classed(\"annotation-arrow-g\", !0), Ot = qt.append(\"path\").attr(\"d\", \"M\" + X + \",\" + se + \"L\" + rt + \",\" + ct).style(\"stroke-width\", Pt + \"px\").call(Rl.stroke, Rl.rgb(It));\n if (Sne(Ot, kt, t), s.annotationPosition && Ot.node().parentNode && !n) {\n var wt = rt, Yt = ct;\n if (t.standoff) {\n var Kt = Math.sqrt(Math.pow(rt - X, 2) + Math.pow(ct - se, 2));\n wt += t.standoff * (X - rt) / Kt, Yt += t.standoff * (se - ct) / Kt;\n }\n var $t = qt.append(\"path\").classed(\"annotation-arrow\", !0).classed(\"anndrag\", !0).classed(\"cursor-move\", !0).attr({\n d: \"M3,3H-3V-3H3ZM0,0L\" + (X - wt) + \",\" + (se - Yt),\n transform: i0(wt, Yt)\n }).style(\"stroke-width\", Pt + 6 + \"px\").call(Rl.stroke, \"rgba(0,0,0,0)\").call(Rl.fill, \"rgba(0,0,0,0)\"), zt, Mt;\n Uf.init({\n element: $t.node(),\n gd: e,\n prepFn: function() {\n var St = oo.getTranslate(S);\n zt = St.x, Mt = St.y, a && a.autorange && h(a._name + \".autorange\", !0), i && i.autorange && h(i._name + \".autorange\", !0);\n },\n moveFn: function(St, Ut) {\n var fr = _e(zt, Mt), Ct = fr[0] + St, tr = fr[1] + Ut;\n S.call(oo.setTranslate, Ct, tr), p(\n \"x\",\n Bo(a, St, \"x\", l, t)\n ), p(\n \"y\",\n Bo(i, Ut, \"y\", l, t)\n ), t.axref === t.xref && p(\"ax\", Bo(a, St, \"ax\", l, t)), t.ayref === t.yref && p(\"ay\", Bo(i, Ut, \"ay\", l, t)), qt.attr(\"transform\", i0(St, Ut)), k.attr({\n transform: \"rotate(\" + y + \",\" + Ct + \",\" + tr + \")\"\n });\n },\n doneFn: function() {\n a0.call(\"_guiRelayout\", e, v());\n var St = document.querySelector(\".js-notes-box-panel\");\n St && St.redraw(St.selectedObj);\n }\n });\n }\n }\n };\n if (t.showarrow && pt(0, 0), x) {\n var bt;\n Uf.init({\n element: S.node(),\n gd: e,\n prepFn: function() {\n bt = k.attr(\"transform\");\n },\n moveFn: function(Ke, st) {\n var rt = \"pointer\";\n if (t.showarrow)\n t.axref === t.xref ? p(\"ax\", Bo(a, Ke, \"ax\", l, t)) : p(\"ax\", t.ax + Ke), t.ayref === t.yref ? p(\"ay\", Bo(i, st, \"ay\", l.w, t)) : p(\"ay\", t.ay + st), pt(Ke, st);\n else {\n if (n)\n return;\n var ct, X;\n if (a)\n ct = Bo(a, Ke, \"x\", l, t);\n else {\n var se = t._xsize / l.w, ie = t.x + (t._xshift - t.xshift) / l.w - se / 2;\n ct = Uf.align(\n ie + Ke / l.w,\n se,\n 0,\n 1,\n t.xanchor\n );\n }\n if (i)\n X = Bo(i, st, \"y\", l, t);\n else {\n var fe = t._ysize / l.h, ke = t.y - (t._yshift + t.yshift) / l.h - fe / 2;\n X = Uf.align(\n ke - st / l.h,\n fe,\n 0,\n 1,\n t.yanchor\n );\n }\n p(\"x\", ct), p(\"y\", X), (!a || !i) && (rt = Uf.getCursor(\n a ? 0.5 : ct,\n i ? 0.5 : X,\n t.xanchor,\n t.yanchor\n ));\n }\n k.attr({\n transform: i0(Ke, st) + bt\n }), l0(S, rt);\n },\n clickFn: function(Ke, st) {\n t.captureevents && e.emit(\"plotly_clickannotation\", T(st));\n },\n doneFn: function() {\n l0(S), a0.call(\"_guiRelayout\", e, v());\n var Ke = document.querySelector(\".js-notes-box-panel\");\n Ke && Ke.redraw(Ke.selectedObj);\n }\n });\n }\n }\n s.annotationText ? V.call(o0.makeEditable, { delegate: S, gd: e }).call(z).on(\"edit\", function(R) {\n t.text = R, this.call(z), p(\"text\", R), a && a.autorange && h(a._name + \".autorange\", !0), i && i.autorange && h(i._name + \".autorange\", !0), a0.call(\"_guiRelayout\", e, v());\n }) : V.call(z);\n}\nvar xM = Ue, Lne = Nt, wM = Mr.arrayEditor, Dne = {\n hasClickToShow: Ene,\n onClick: Fne\n};\nfunction Ene(e, t) {\n var r = d6(e, t);\n return r.on.length > 0 || r.explicitOff.length > 0;\n}\nfunction Fne(e, t) {\n var r = d6(e, t), n = r.on, a = r.off.concat(r.explicitOff), i = {}, o = e._fullLayout.annotations, l, s;\n if (n.length || a.length) {\n for (l = 0; l < n.length; l++)\n s = wM(e.layout, \"annotations\", o[n[l]]), s.modifyItem(\"visible\", !0), xM.extendFlat(i, s.getUpdateObj());\n for (l = 0; l < a.length; l++)\n s = wM(e.layout, \"annotations\", o[a[l]]), s.modifyItem(\"visible\", !1), xM.extendFlat(i, s.getUpdateObj());\n return Lne.call(\"update\", e, {}, i);\n }\n}\nfunction d6(e, t) {\n var r = e._fullLayout.annotations, n = [], a = [], i = [], o = (t || []).length, l, s, u, f, d, h, p, v;\n for (l = 0; l < r.length; l++)\n if (u = r[l], f = u.clicktoshow, f) {\n for (s = 0; s < o; s++)\n if (d = t[s], h = d.xaxis, p = d.yaxis, h._id === u.xref && p._id === u.yref && h.d2r(d.x) === TM(u._xclick, h) && p.d2r(d.y) === TM(u._yclick, p)) {\n u.visible ? f === \"onout\" ? v = a : v = i : v = n, v.push(l);\n break;\n }\n s === o && u.visible && f === \"onout\" && a.push(l);\n }\n return { on: n, off: a, explicitOff: i };\n}\nfunction TM(e, t) {\n return t.type === \"log\" ? t.l2r(e) : t.d2r(e);\n}\nvar kM = Ue, Gs = nr, h6 = function(t, r, n, a) {\n a(\"opacity\");\n var i = a(\"bgcolor\"), o = a(\"bordercolor\"), l = Gs.opacity(o);\n a(\"borderpad\");\n var s = a(\"borderwidth\"), u = a(\"showarrow\");\n a(\"text\", u ? \" \" : n._dfltTitle.annotation), a(\"textangle\"), kM.coerceFont(a, \"font\", n.font), a(\"width\"), a(\"align\");\n var f = a(\"height\");\n if (f && a(\"valign\"), u) {\n var d = a(\"arrowside\"), h, p;\n d.indexOf(\"end\") !== -1 && (h = a(\"arrowhead\"), p = a(\"arrowsize\")), d.indexOf(\"start\") !== -1 && (a(\"startarrowhead\", h), a(\"startarrowsize\", p)), a(\"arrowcolor\", l ? r.bordercolor : Gs.defaultLine), a(\"arrowwidth\", (l && s || 1) * 2), a(\"standoff\"), a(\"startstandoff\");\n }\n var v = a(\"hovertext\"), m = n.hoverlabel || {};\n if (v) {\n var g = a(\n \"hoverlabel.bgcolor\",\n m.bgcolor || (Gs.opacity(i) ? Gs.rgb(i) : Gs.defaultLine)\n ), y = a(\n \"hoverlabel.bordercolor\",\n m.bordercolor || Gs.contrast(g)\n );\n kM.coerceFont(a, \"hoverlabel.font\", {\n family: m.font.family,\n size: m.font.size,\n color: m.font.color || y\n });\n }\n a(\"captureevents\", !!v);\n}, s0 = Ue, Pl = Cr, Rne = Ji, Pne = h6, $ne = td, zne = function(t, r) {\n Rne(t, r, {\n name: \"annotations\",\n handleItemDefaults: Ine\n });\n};\nfunction Ine(e, t, r) {\n function n(k, x) {\n return s0.coerce(e, t, $ne, k, x);\n }\n var a = n(\"visible\"), i = n(\"clicktoshow\");\n if (a || i) {\n Pne(e, t, r, n);\n for (var o = t.showarrow, l = [\"x\", \"y\"], s = [-10, -30], u = { _fullLayout: r }, f = 0; f < 2; f++) {\n var d = l[f], h = Pl.coerceRef(e, t, u, d, \"\", \"paper\");\n if (h !== \"paper\") {\n var p = Pl.getFromId(u, h);\n p._annIndices.push(t._index);\n }\n if (Pl.coercePosition(t, u, n, h, d, 0.5), o) {\n var v = \"a\" + d, m = Pl.coerceRef(\n e,\n t,\n u,\n v,\n \"pixel\",\n [\"pixel\", \"paper\"]\n );\n m !== \"pixel\" && m !== h && (m = t[v] = \"pixel\");\n var g = m === \"pixel\" ? s[f] : 0.4;\n Pl.coercePosition(t, u, n, m, v, g);\n }\n n(d + \"anchor\"), n(d + \"shift\");\n }\n if (s0.noneOrAll(e, t, [\"x\", \"y\"]), o && s0.noneOrAll(e, t, [\"ax\", \"ay\"]), i) {\n var y = n(\"xclick\"), w = n(\"yclick\");\n t._xclick = y === void 0 ? t.x : Pl.cleanPosition(y, u, t.xref), t._yclick = w === void 0 ? t.y : Pl.cleanPosition(w, u, t.yref);\n }\n }\n}\nvar Zy = Ue, jl = Cr, Nne = d_.draw, One = function(t) {\n var r = t._fullLayout, n = Zy.filterVisible(r.annotations);\n if (n.length && t._fullData.length)\n return Zy.syncOrAsync([Nne, Hne], t);\n};\nfunction Hne(e) {\n var t = e._fullLayout;\n Zy.filterVisible(t.annotations).forEach(function(r) {\n var n = jl.getFromId(e, r.xref), a = jl.getFromId(e, r.yref), i = jl.getRefType(r.xref), o = jl.getRefType(r.yref);\n r._extremes = {}, i === \"range\" && AM(r, n), o === \"range\" && AM(r, a);\n });\n}\nfunction AM(e, t) {\n var r = t._id, n = r.charAt(0), a = e[n], i = e[\"a\" + n], o = e[n + \"ref\"], l = e[\"a\" + n + \"ref\"], s = e[\"_\" + n + \"padplus\"], u = e[\"_\" + n + \"padminus\"], f = { x: 1, y: -1 }[n] * e[n + \"shift\"], d = 3 * e.arrowsize * e.arrowwidth || 0, h = d + f, p = d - f, v = 3 * e.startarrowsize * e.arrowwidth || 0, m = v + f, g = v - f, y;\n if (l === o) {\n var w = jl.findExtremes(t, [t.r2c(a)], {\n ppadplus: h,\n ppadminus: p\n }), k = jl.findExtremes(t, [t.r2c(i)], {\n ppadplus: Math.max(s, m),\n ppadminus: Math.max(u, g)\n });\n y = {\n min: [w.min[0], k.min[0]],\n max: [w.max[0], k.max[0]]\n };\n } else\n m = i ? m + i : m, g = i ? g - i : g, y = jl.findExtremes(t, [t.r2c(a)], {\n ppadplus: Math.max(s, h, m),\n ppadminus: Math.max(u, p, g)\n });\n e._extremes[r] = y;\n}\nvar Bne = sr, jne = U1, Une = function(t, r, n, a) {\n r = r || {};\n var i = n === \"log\" && r.type === \"linear\", o = n === \"linear\" && r.type === \"log\";\n if (!(i || o)) return;\n var l = t._fullLayout.annotations, s = r._id.charAt(0), u, f;\n function d(p) {\n var v = u[p], m = null;\n i ? m = jne(v, r.range) : m = Math.pow(10, v), Bne(m) || (m = null), a(f + p, m);\n }\n for (var h = 0; h < l.length; h++)\n u = l[h], f = \"annotations[\" + h + \"].\", u[s + \"ref\"] === r._id && d(s), u[\"a\" + s + \"ref\"] === r._id && d(\"a\" + s);\n}, u0 = d_, MM = Dne, Gne = {\n moduleType: \"component\",\n name: \"annotations\",\n layoutAttributes: td,\n supplyLayoutDefaults: zne,\n includeBasePlot: qp(\"annotations\"),\n calcAutorange: One,\n draw: u0.draw,\n drawOne: u0.drawOne,\n drawRaw: u0.drawRaw,\n hasClickToShow: MM.hasClickToShow,\n onClick: MM.onClick,\n convertCoords: Une\n}, Er = td, Vne = Lo.overrideAll, qne = Mr.templatedArray, Yy = Vne(qne(\"annotation\", {\n visible: Er.visible,\n x: {\n valType: \"any\",\n description: [\n \"Sets the annotation's x position.\"\n ].join(\" \")\n },\n y: {\n valType: \"any\",\n description: [\n \"Sets the annotation's y position.\"\n ].join(\" \")\n },\n z: {\n valType: \"any\",\n description: [\n \"Sets the annotation's z position.\"\n ].join(\" \")\n },\n ax: {\n valType: \"number\",\n description: [\n \"Sets the x component of the arrow tail about the arrow head (in pixels).\"\n ].join(\" \")\n },\n ay: {\n valType: \"number\",\n description: [\n \"Sets the y component of the arrow tail about the arrow head (in pixels).\"\n ].join(\" \")\n },\n xanchor: Er.xanchor,\n xshift: Er.xshift,\n yanchor: Er.yanchor,\n yshift: Er.yshift,\n text: Er.text,\n textangle: Er.textangle,\n font: Er.font,\n width: Er.width,\n height: Er.height,\n opacity: Er.opacity,\n align: Er.align,\n valign: Er.valign,\n bgcolor: Er.bgcolor,\n bordercolor: Er.bordercolor,\n borderpad: Er.borderpad,\n borderwidth: Er.borderwidth,\n showarrow: Er.showarrow,\n arrowcolor: Er.arrowcolor,\n arrowhead: Er.arrowhead,\n startarrowhead: Er.startarrowhead,\n arrowside: Er.arrowside,\n arrowsize: Er.arrowsize,\n startarrowsize: Er.startarrowsize,\n arrowwidth: Er.arrowwidth,\n standoff: Er.standoff,\n startstandoff: Er.startstandoff,\n hovertext: Er.hovertext,\n hoverlabel: Er.hoverlabel,\n captureevents: Er.captureevents\n // maybes later?\n // clicktoshow: annAttrs.clicktoshow,\n // xclick: annAttrs.xclick,\n // yclick: annAttrs.yclick,\n // not needed!\n // axref: 'pixel'\n // ayref: 'pixel'\n // xref: 'x'\n // yref: 'y\n // zref: 'z'\n}), \"calc\", \"from-root\"), f0 = Ue, Wne = Cr, Zne = Ji, Yne = h6, Xne = Yy, Kne = function(t, r, n) {\n Zne(t, r, {\n name: \"annotations\",\n handleItemDefaults: Jne,\n fullLayout: n.fullLayout\n });\n};\nfunction Jne(e, t, r, n) {\n function a(l, s) {\n return f0.coerce(e, t, Xne, l, s);\n }\n function i(l) {\n var s = l + \"axis\", u = { _fullLayout: {} };\n return u._fullLayout[s] = r[s], Wne.coercePosition(t, u, a, l, l, 0.5);\n }\n var o = a(\"visible\");\n o && (Yne(e, t, n.fullLayout, a), i(\"x\"), i(\"y\"), i(\"z\"), f0.noneOrAll(e, t, [\"x\", \"y\", \"z\"]), t.xref = \"x\", t.yref = \"y\", t.zref = \"z\", a(\"xanchor\"), a(\"yanchor\"), a(\"xshift\"), a(\"yshift\"), t.showarrow && (t.axref = \"pixel\", t.ayref = \"pixel\", a(\"ax\", -10), a(\"ay\", -30), f0.noneOrAll(e, t, [\"ax\", \"ay\"])));\n}\nvar SM = Ue, CM = Cr, Qne = function(t) {\n for (var r = t.fullSceneLayout, n = r.annotations, a = 0; a < n.length; a++)\n eae(n[a], t);\n t.fullLayout._infolayer.selectAll(\".annotation-\" + t.id).remove();\n};\nfunction eae(e, t) {\n var r = t.fullSceneLayout, n = r.domain, a = t.fullLayout._size, i = {\n // this gets fill in on render\n pdata: null,\n // to get setConvert to not execute cleanly\n type: \"linear\",\n // don't try to update them on `editable: true`\n autorange: !1,\n // set infinite range so that annotation draw routine\n // does not try to remove 'outside-range' annotations,\n // this case is handled in the render loop\n range: [-1 / 0, 1 / 0]\n };\n e._xa = {}, SM.extendFlat(e._xa, i), CM.setConvert(e._xa), e._xa._offset = a.l + n.x[0] * a.w, e._xa.l2p = function() {\n return 0.5 * (1 + e._pdata[0] / e._pdata[3]) * a.w * (n.x[1] - n.x[0]);\n }, e._ya = {}, SM.extendFlat(e._ya, i), CM.setConvert(e._ya), e._ya._offset = a.t + (1 - n.y[1]) * a.h, e._ya.l2p = function() {\n return 0.5 * (1 - e._pdata[1] / e._pdata[3]) * a.h * (n.y[1] - n.y[0]);\n };\n}\nfunction c0(e, t) {\n var r = [0, 0, 0, 0], n, a;\n for (n = 0; n < 4; ++n)\n for (a = 0; a < 4; ++a)\n r[a] += e[4 * n + a] * t[n];\n return r;\n}\nfunction tae(e, t) {\n var r = c0(\n e.projection,\n c0(\n e.view,\n c0(e.model, [t[0], t[1], t[2], 1])\n )\n );\n return r;\n}\nvar rae = tae, nae = d_.drawRaw, aae = rae, iae = [\"x\", \"y\", \"z\"], oae = function(t) {\n for (var r = t.fullSceneLayout, n = t.dataScale, a = r.annotations, i = 0; i < a.length; i++) {\n for (var o = a[i], l = !1, s = 0; s < 3; s++) {\n var u = iae[s], f = o[u], d = r[u + \"axis\"], h = d.r2fraction(f);\n if (h < 0 || h > 1) {\n l = !0;\n break;\n }\n }\n l ? t.fullLayout._infolayer.select(\".annotation-\" + t.id + '[data-index=\"' + i + '\"]').remove() : (o._pdata = aae(t.glplot.cameraParams, [\n r.xaxis.r2l(o.x) * n[0],\n r.yaxis.r2l(o.y) * n[1],\n r.zaxis.r2l(o.z) * n[2]\n ]), nae(t.graphDiv, o, i, t.id, o._xa, o._ya));\n }\n}, lae = Nt, LM = Ue, sae = {\n moduleType: \"component\",\n name: \"annotations3d\",\n schema: {\n subplots: {\n scene: { annotations: Yy }\n }\n },\n layoutAttributes: Yy,\n handleDefaults: Kne,\n includeBasePlot: uae,\n convert: Qne,\n draw: oae\n};\nfunction uae(e, t) {\n var r = lae.subplotsRegistry.gl3d;\n if (r)\n for (var n = r.attrRegex, a = Object.keys(e), i = 0; i < a.length; i++) {\n var o = a[i];\n n.test(o) && (e[o].annotations || []).length && (LM.pushUnique(t._basePlotModules, r), LM.pushUnique(t._subplots.gl3d, o));\n }\n}\nvar DM = td, EM = Fn, FM = ws.line, fae = Zi.dash, ri = en.extendFlat, cae = Mr.templatedArray, RM = Vp, Vs = Wi, dae = _i.shapeTexttemplateAttrs, hae = K1, v6 = cae(\"shape\", {\n visible: ri({}, Vs.visible, {\n editType: \"calc+arraydraw\",\n description: [\n \"Determines whether or not this shape is visible.\",\n \"If *legendonly*, the shape is not drawn,\",\n \"but can appear as a legend item\",\n \"(provided that the legend itself is visible).\"\n ].join(\" \")\n }),\n showlegend: {\n valType: \"boolean\",\n dflt: !1,\n editType: \"calc+arraydraw\",\n description: [\n \"Determines whether or not this\",\n \"shape is shown in the legend.\"\n ].join(\" \")\n },\n legend: ri({}, Vs.legend, {\n editType: \"calc+arraydraw\",\n description: [\n \"Sets the reference to a legend to show this shape in.\",\n \"References to these legends are *legend*, *legend2*, *legend3*, etc.\",\n \"Settings for these legends are set in the layout, under\",\n \"`layout.legend`, `layout.legend2`, etc.\"\n ].join(\" \")\n }),\n legendgroup: ri({}, Vs.legendgroup, {\n editType: \"calc+arraydraw\",\n description: [\n \"Sets the legend group for this shape.\",\n \"Traces and shapes part of the same legend group hide/show at the same time\",\n \"when toggling legend items.\"\n ].join(\" \")\n }),\n legendgrouptitle: {\n text: ri({}, Vs.legendgrouptitle.text, {\n editType: \"calc+arraydraw\"\n }),\n font: EM({\n editType: \"calc+arraydraw\",\n description: [\n \"Sets this legend group's title font.\"\n ].join(\" \")\n }),\n editType: \"calc+arraydraw\"\n },\n legendrank: ri({}, Vs.legendrank, {\n editType: \"calc+arraydraw\",\n description: [\n \"Sets the legend rank for this shape.\",\n \"Items and groups with smaller ranks are presented on top/left side while\",\n \"with *reversed* `legend.traceorder` they are on bottom/right side.\",\n \"The default legendrank is 1000,\",\n \"so that you can use ranks less than 1000 to place certain items before all unranked items,\",\n \"and ranks greater than 1000 to go after all unranked items.\",\n \"When having unranked or equal rank items shapes would be displayed after traces\",\n \"i.e. according to their order in data and layout.\"\n ].join(\" \")\n }),\n legendwidth: ri({}, Vs.legendwidth, {\n editType: \"calc+arraydraw\",\n description: \"Sets the width (in px or fraction) of the legend for this shape.\"\n }),\n type: {\n valType: \"enumerated\",\n values: [\"circle\", \"rect\", \"path\", \"line\"],\n editType: \"calc+arraydraw\",\n description: [\n \"Specifies the shape type to be drawn.\",\n \"If *line*, a line is drawn from (`x0`,`y0`) to (`x1`,`y1`)\",\n \"with respect to the axes' sizing mode.\",\n \"If *circle*, a circle is drawn from\",\n \"((`x0`+`x1`)/2, (`y0`+`y1`)/2))\",\n \"with radius\",\n \"(|(`x0`+`x1`)/2 - `x0`|, |(`y0`+`y1`)/2 -`y0`)|)\",\n \"with respect to the axes' sizing mode.\",\n \"If *rect*, a rectangle is drawn linking\",\n \"(`x0`,`y0`), (`x1`,`y0`), (`x1`,`y1`), (`x0`,`y1`), (`x0`,`y0`)\",\n \"with respect to the axes' sizing mode.\",\n \"If *path*, draw a custom SVG path using `path`.\",\n \"with respect to the axes' sizing mode.\"\n ].join(\" \")\n },\n layer: {\n valType: \"enumerated\",\n values: [\"below\", \"above\"],\n dflt: \"above\",\n editType: \"arraydraw\",\n description: \"Specifies whether shapes are drawn below or above traces.\"\n },\n xref: ri({}, DM.xref, {\n description: [\n \"Sets the shape's x coordinate axis.\",\n RM.axisRefDescription(\"x\", \"left\", \"right\")\n ].join(\" \")\n }),\n xsizemode: {\n valType: \"enumerated\",\n values: [\"scaled\", \"pixel\"],\n dflt: \"scaled\",\n editType: \"calc+arraydraw\",\n description: [\n \"Sets the shapes's sizing mode along the x axis.\",\n \"If set to *scaled*, `x0`, `x1` and x coordinates within `path` refer to\",\n \"data values on the x axis or a fraction of the plot area's width\",\n \"(`xref` set to *paper*).\",\n \"If set to *pixel*, `xanchor` specifies the x position in terms\",\n \"of data or plot fraction but `x0`, `x1` and x coordinates within `path`\",\n \"are pixels relative to `xanchor`. This way, the shape can have\",\n \"a fixed width while maintaining a position relative to data or\",\n \"plot fraction.\"\n ].join(\" \")\n },\n xanchor: {\n valType: \"any\",\n editType: \"calc+arraydraw\",\n description: [\n \"Only relevant in conjunction with `xsizemode` set to *pixel*.\",\n \"Specifies the anchor point on the x axis to which `x0`, `x1`\",\n \"and x coordinates within `path` are relative to.\",\n \"E.g. useful to attach a pixel sized shape to a certain data value.\",\n \"No effect when `xsizemode` not set to *pixel*.\"\n ].join(\" \")\n },\n x0: {\n valType: \"any\",\n editType: \"calc+arraydraw\",\n description: [\n \"Sets the shape's starting x position.\",\n \"See `type` and `xsizemode` for more info.\"\n ].join(\" \")\n },\n x1: {\n valType: \"any\",\n editType: \"calc+arraydraw\",\n description: [\n \"Sets the shape's end x position.\",\n \"See `type` and `xsizemode` for more info.\"\n ].join(\" \")\n },\n yref: ri({}, DM.yref, {\n description: [\n \"Sets the shape's y coordinate axis.\",\n RM.axisRefDescription(\"y\", \"bottom\", \"top\")\n ].join(\" \")\n }),\n ysizemode: {\n valType: \"enumerated\",\n values: [\"scaled\", \"pixel\"],\n dflt: \"scaled\",\n editType: \"calc+arraydraw\",\n description: [\n \"Sets the shapes's sizing mode along the y axis.\",\n \"If set to *scaled*, `y0`, `y1` and y coordinates within `path` refer to\",\n \"data values on the y axis or a fraction of the plot area's height\",\n \"(`yref` set to *paper*).\",\n \"If set to *pixel*, `yanchor` specifies the y position in terms\",\n \"of data or plot fraction but `y0`, `y1` and y coordinates within `path`\",\n \"are pixels relative to `yanchor`. This way, the shape can have\",\n \"a fixed height while maintaining a position relative to data or\",\n \"plot fraction.\"\n ].join(\" \")\n },\n yanchor: {\n valType: \"any\",\n editType: \"calc+arraydraw\",\n description: [\n \"Only relevant in conjunction with `ysizemode` set to *pixel*.\",\n \"Specifies the anchor point on the y axis to which `y0`, `y1`\",\n \"and y coordinates within `path` are relative to.\",\n \"E.g. useful to attach a pixel sized shape to a certain data value.\",\n \"No effect when `ysizemode` not set to *pixel*.\"\n ].join(\" \")\n },\n y0: {\n valType: \"any\",\n editType: \"calc+arraydraw\",\n description: [\n \"Sets the shape's starting y position.\",\n \"See `type` and `ysizemode` for more info.\"\n ].join(\" \")\n },\n y1: {\n valType: \"any\",\n editType: \"calc+arraydraw\",\n description: [\n \"Sets the shape's end y position.\",\n \"See `type` and `ysizemode` for more info.\"\n ].join(\" \")\n },\n path: {\n valType: \"string\",\n editType: \"calc+arraydraw\",\n description: [\n \"For `type` *path* - a valid SVG path with the pixel values\",\n \"replaced by data values in `xsizemode`/`ysizemode` being *scaled*\",\n \"and taken unmodified as pixels relative to `xanchor` and `yanchor`\",\n \"in case of *pixel* size mode.\",\n \"There are a few restrictions / quirks\",\n \"only absolute instructions, not relative. So the allowed segments\",\n \"are: M, L, H, V, Q, C, T, S, and Z\",\n \"arcs (A) are not allowed because radius rx and ry are relative.\",\n \"In the future we could consider supporting relative commands,\",\n \"but we would have to decide on how to handle date and log axes.\",\n \"Note that even as is, Q and C Bezier paths that are smooth on\",\n \"linear axes may not be smooth on log, and vice versa.\",\n 'no chained \"polybezier\" commands - specify the segment type for',\n \"each one.\",\n \"On category axes, values are numbers scaled to the serial numbers\",\n \"of categories because using the categories themselves there would\",\n \"be no way to describe fractional positions\",\n \"On data axes: because space and T are both normal components of path\",\n \"strings, we can't use either to separate date from time parts.\",\n \"Therefore we'll use underscore for this purpose:\",\n \"2015-02-21_13:45:56.789\"\n ].join(\" \")\n },\n opacity: {\n valType: \"number\",\n min: 0,\n max: 1,\n dflt: 1,\n editType: \"arraydraw\",\n description: \"Sets the opacity of the shape.\"\n },\n line: {\n color: ri({}, FM.color, { editType: \"arraydraw\" }),\n width: ri({}, FM.width, { editType: \"calc+arraydraw\" }),\n dash: ri({}, fae, { editType: \"arraydraw\" }),\n editType: \"calc+arraydraw\"\n },\n fillcolor: {\n valType: \"color\",\n dflt: \"rgba(0,0,0,0)\",\n editType: \"arraydraw\",\n description: [\n \"Sets the color filling the shape's interior. Only applies to closed shapes.\"\n ].join(\" \")\n },\n fillrule: {\n valType: \"enumerated\",\n values: [\"evenodd\", \"nonzero\"],\n dflt: \"evenodd\",\n editType: \"arraydraw\",\n description: [\n \"Determines which regions of complex paths constitute the interior.\",\n \"For more info please visit https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/fill-rule\"\n ].join(\" \")\n },\n editable: {\n valType: \"boolean\",\n dflt: !1,\n editType: \"calc+arraydraw\",\n description: [\n \"Determines whether the shape could be activated for edit or not.\",\n \"Has no effect when the older editable shapes mode is enabled via\",\n \"`config.editable` or `config.edits.shapePosition`.\"\n ].join(\" \")\n },\n label: {\n text: {\n valType: \"string\",\n dflt: \"\",\n editType: \"arraydraw\",\n description: [\n \"Sets the text to display with shape.\",\n \"It is also used for legend item if `name` is not provided.\"\n ].join(\" \")\n },\n texttemplate: dae({}, { keys: Object.keys(hae) }),\n font: EM({\n editType: \"calc+arraydraw\",\n colorEditType: \"arraydraw\",\n description: \"Sets the shape label text font.\"\n }),\n textposition: {\n valType: \"enumerated\",\n values: [\n \"top left\",\n \"top center\",\n \"top right\",\n \"middle left\",\n \"middle center\",\n \"middle right\",\n \"bottom left\",\n \"bottom center\",\n \"bottom right\",\n \"start\",\n \"middle\",\n \"end\"\n ],\n editType: \"arraydraw\",\n description: [\n \"Sets the position of the label text relative to the shape.\",\n \"Supported values for rectangles, circles and paths are\",\n \"*top left*, *top center*, *top right*, *middle left*,\",\n \"*middle center*, *middle right*, *bottom left*, *bottom center*,\",\n \"and *bottom right*.\",\n \"Supported values for lines are *start*, *middle*, and *end*.\",\n \"Default: *middle center* for rectangles, circles, and paths; *middle* for lines.\"\n ].join(\" \")\n },\n textangle: {\n valType: \"angle\",\n dflt: \"auto\",\n editType: \"calc+arraydraw\",\n description: [\n \"Sets the angle at which the label text is drawn\",\n \"with respect to the horizontal. For lines, angle *auto*\",\n \"is the same angle as the line. For all other shapes,\",\n \"angle *auto* is horizontal.\"\n ].join(\" \")\n },\n xanchor: {\n valType: \"enumerated\",\n values: [\"auto\", \"left\", \"center\", \"right\"],\n dflt: \"auto\",\n editType: \"calc+arraydraw\",\n description: [\n \"Sets the label's horizontal position anchor\",\n \"This anchor binds the specified `textposition` to the *left*, *center*\",\n \"or *right* of the label text.\",\n \"For example, if `textposition` is set to *top right* and\",\n \"`xanchor` to *right* then the right-most portion of the\",\n \"label text lines up with the right-most edge of the\",\n \"shape.\"\n ].join(\" \")\n },\n yanchor: {\n valType: \"enumerated\",\n values: [\"top\", \"middle\", \"bottom\"],\n editType: \"calc+arraydraw\",\n description: [\n \"Sets the label's vertical position anchor\",\n \"This anchor binds the specified `textposition` to the *top*, *middle*\",\n \"or *bottom* of the label text.\",\n \"For example, if `textposition` is set to *top right* and\",\n \"`yanchor` to *top* then the top-most portion of the\",\n \"label text lines up with the top-most edge of the\",\n \"shape.\"\n ].join(\" \")\n },\n padding: {\n valType: \"number\",\n dflt: 3,\n min: 0,\n editType: \"arraydraw\",\n description: \"Sets padding (in px) between edge of label and edge of shape.\"\n },\n editType: \"arraydraw\"\n },\n editType: \"arraydraw\"\n}), Gf = Ue, qs = Cr, vae = Ji, pae = v6, PM = xl, mae = function(t, r) {\n vae(t, r, {\n name: \"shapes\",\n handleItemDefaults: yae\n });\n};\nfunction gae(e, t) {\n return e ? \"bottom\" : t.indexOf(\"top\") !== -1 ? \"top\" : t.indexOf(\"bottom\") !== -1 ? \"bottom\" : \"middle\";\n}\nfunction yae(e, t, r) {\n function n(R, H) {\n return Gf.coerce(e, t, pae, R, H);\n }\n t._isShape = !0;\n var a = n(\"visible\");\n if (a) {\n var i = n(\"showlegend\");\n i && (n(\"legend\"), n(\"legendwidth\"), n(\"legendgroup\"), n(\"legendgrouptitle.text\"), Gf.coerceFont(n, \"legendgrouptitle.font\"), n(\"legendrank\"));\n var o = n(\"path\"), l = o ? \"path\" : \"rect\", s = n(\"type\", l), u = s !== \"path\";\n u && delete t.path, n(\"editable\"), n(\"layer\"), n(\"opacity\"), n(\"fillcolor\"), n(\"fillrule\");\n var f = n(\"line.width\");\n f && (n(\"line.color\"), n(\"line.dash\"));\n for (var d = n(\"xsizemode\"), h = n(\"ysizemode\"), p = [\"x\", \"y\"], v = 0; v < 2; v++) {\n var m = p[v], g = m + \"anchor\", y = m === \"x\" ? d : h, w = { _fullLayout: r }, k, x, _, T = qs.coerceRef(\n e,\n t,\n w,\n m,\n void 0,\n \"paper\"\n ), S = qs.getRefType(T);\n if (S === \"range\" ? (k = qs.getFromId(w, T), k._shapeIndices.push(t._index), _ = PM.rangeToShapePosition(k), x = PM.shapePositionToRange(k)) : x = _ = Gf.identity, u) {\n var M = 0.25, L = 0.75, F = m + \"0\", $ = m + \"1\", I = e[F], O = e[$];\n e[F] = x(e[F], !0), e[$] = x(e[$], !0), y === \"pixel\" ? (n(F, 0), n($, 10)) : (qs.coercePosition(t, w, n, T, F, M), qs.coercePosition(t, w, n, T, $, L)), t[F] = _(t[F]), t[$] = _(t[$]), e[F] = I, e[$] = O;\n }\n if (y === \"pixel\") {\n var G = e[g];\n e[g] = x(e[g], !0), qs.coercePosition(t, w, n, T, g, 0.25), t[g] = _(t[g]), e[g] = G;\n }\n }\n u && Gf.noneOrAll(e, t, [\"x0\", \"x1\", \"y0\", \"y1\"]);\n var K = s === \"line\", V, z;\n if (u && (V = n(\"label.texttemplate\")), V || (z = n(\"label.text\")), z || V) {\n n(\"label.textangle\");\n var P = n(\"label.textposition\", K ? \"middle\" : \"middle center\");\n n(\"label.xanchor\"), n(\"label.yanchor\", gae(K, P)), n(\"label.padding\"), Gf.coerceFont(n, \"label.font\", r.font);\n }\n }\n}\nvar bae = nr, $M = Ue;\nfunction _ae(e, t) {\n return e ? \"bottom\" : t.indexOf(\"top\") !== -1 ? \"top\" : t.indexOf(\"bottom\") !== -1 ? \"bottom\" : \"middle\";\n}\nvar xae = function(t, r, n) {\n n(\"newshape.visible\"), n(\"newshape.name\"), n(\"newshape.showlegend\"), n(\"newshape.legend\"), n(\"newshape.legendwidth\"), n(\"newshape.legendgroup\"), n(\"newshape.legendgrouptitle.text\"), $M.coerceFont(n, \"newshape.legendgrouptitle.font\"), n(\"newshape.legendrank\"), n(\"newshape.drawdirection\"), n(\"newshape.layer\"), n(\"newshape.fillcolor\"), n(\"newshape.fillrule\"), n(\"newshape.opacity\");\n var a = n(\"newshape.line.width\");\n if (a) {\n var i = (t || {}).plot_bgcolor || \"#FFF\";\n n(\"newshape.line.color\", bae.contrast(i)), n(\"newshape.line.dash\");\n }\n var o = t.dragmode === \"drawline\", l = n(\"newshape.label.text\"), s = n(\"newshape.label.texttemplate\");\n if (l || s) {\n n(\"newshape.label.textangle\");\n var u = n(\"newshape.label.textposition\", o ? \"middle\" : \"middle center\");\n n(\"newshape.label.xanchor\"), n(\"newshape.label.yanchor\", _ae(o, u)), n(\"newshape.label.padding\"), $M.coerceFont(n, \"newshape.label.font\", r.font);\n }\n n(\"activeshape.fillcolor\"), n(\"activeshape.opacity\");\n}, Xy = Ue, Ws = Cr, Iu = Np, p6 = xl, wae = function(t) {\n var r = t._fullLayout, n = Xy.filterVisible(r.shapes);\n if (!(!n.length || !t._fullData.length))\n for (var a = 0; a < n.length; a++) {\n var i = n[a];\n i._extremes = {};\n var o, l, s = Ws.getRefType(i.xref), u = Ws.getRefType(i.yref);\n if (i.xref !== \"paper\" && s !== \"domain\") {\n var f = i.xsizemode === \"pixel\" ? i.xanchor : i.x0, d = i.xsizemode === \"pixel\" ? i.xanchor : i.x1;\n o = Ws.getFromId(t, i.xref), l = zM(o, f, d, i.path, Iu.paramIsX), l && (i._extremes[o._id] = Ws.findExtremes(o, l, Tae(i)));\n }\n if (i.yref !== \"paper\" && u !== \"domain\") {\n var h = i.ysizemode === \"pixel\" ? i.yanchor : i.y0, p = i.ysizemode === \"pixel\" ? i.yanchor : i.y1;\n o = Ws.getFromId(t, i.yref), l = zM(o, h, p, i.path, Iu.paramIsY), l && (i._extremes[o._id] = Ws.findExtremes(o, l, kae(i)));\n }\n }\n};\nfunction Tae(e) {\n return m6(e.line.width, e.xsizemode, e.x0, e.x1, e.path, !1);\n}\nfunction kae(e) {\n return m6(e.line.width, e.ysizemode, e.y0, e.y1, e.path, !0);\n}\nfunction m6(e, t, r, n, a, i) {\n var o = e / 2, l = i;\n if (t === \"pixel\") {\n var s = a ? p6.extractPathCoords(a, i ? Iu.paramIsY : Iu.paramIsX) : [r, n], u = Xy.aggNums(Math.max, null, s), f = Xy.aggNums(Math.min, null, s), d = f < 0 ? Math.abs(f) + o : o, h = u > 0 ? u + o : o;\n return {\n ppad: o,\n ppadplus: l ? d : h,\n ppadminus: l ? h : d\n };\n } else\n return { ppad: o };\n}\nfunction zM(e, t, r, n, a) {\n var i = e.type === \"category\" || e.type === \"multicategory\" ? e.r2c : e.d2c;\n if (t !== void 0) return [i(t), i(r)];\n if (n) {\n var o = 1 / 0, l = -1 / 0, s = n.match(Iu.segmentRE), u, f, d, h, p;\n for (e.type === \"date\" && (i = p6.decodeDate(i)), u = 0; u < s.length; u++)\n f = s[u], d = a[f.charAt(0)].drawn, d !== void 0 && (h = s[u].substr(1).match(Iu.paramRE), !(!h || h.length < d) && (p = i(h[d]), p < o && (o = p), p > l && (l = p)));\n if (l >= o) return [o, l];\n }\n}\nvar IM = Hb, Aae = {\n moduleType: \"component\",\n name: \"shapes\",\n layoutAttributes: v6,\n supplyLayoutDefaults: mae,\n supplyDrawNewShapeDefaults: xae,\n includeBasePlot: qp(\"shapes\"),\n calcAutorange: wae,\n draw: IM.draw,\n drawOne: IM.drawOne\n}, NM = Yn, Mae = Mr.templatedArray, OM = Vp, g6 = Mae(\"image\", {\n visible: {\n valType: \"boolean\",\n dflt: !0,\n editType: \"arraydraw\",\n description: [\n \"Determines whether or not this image is visible.\"\n ].join(\" \")\n },\n source: {\n valType: \"string\",\n editType: \"arraydraw\",\n description: [\n \"Specifies the URL of the image to be used.\",\n \"The URL must be accessible from the domain where the\",\n \"plot code is run, and can be either relative or absolute.\"\n ].join(\" \")\n },\n layer: {\n valType: \"enumerated\",\n values: [\"below\", \"above\"],\n dflt: \"above\",\n editType: \"arraydraw\",\n description: [\n \"Specifies whether images are drawn below or above traces.\",\n \"When `xref` and `yref` are both set to `paper`,\",\n \"image is drawn below the entire plot area.\"\n ].join(\" \")\n },\n sizex: {\n valType: \"number\",\n dflt: 0,\n editType: \"arraydraw\",\n description: [\n \"Sets the image container size horizontally.\",\n \"The image will be sized based on the `position` value.\",\n \"When `xref` is set to `paper`, units are sized relative\",\n \"to the plot width.\",\n \"When `xref` ends with ` domain`, units are sized relative\",\n \"to the axis width.\"\n ].join(\" \")\n },\n sizey: {\n valType: \"number\",\n dflt: 0,\n editType: \"arraydraw\",\n description: [\n \"Sets the image container size vertically.\",\n \"The image will be sized based on the `position` value.\",\n \"When `yref` is set to `paper`, units are sized relative\",\n \"to the plot height.\",\n \"When `yref` ends with ` domain`, units are sized relative\",\n \"to the axis height.\"\n ].join(\" \")\n },\n sizing: {\n valType: \"enumerated\",\n values: [\"fill\", \"contain\", \"stretch\"],\n dflt: \"contain\",\n editType: \"arraydraw\",\n description: [\n \"Specifies which dimension of the image to constrain.\"\n ].join(\" \")\n },\n opacity: {\n valType: \"number\",\n min: 0,\n max: 1,\n dflt: 1,\n editType: \"arraydraw\",\n description: \"Sets the opacity of the image.\"\n },\n x: {\n valType: \"any\",\n dflt: 0,\n editType: \"arraydraw\",\n description: [\n \"Sets the image's x position.\",\n \"When `xref` is set to `paper`, units are sized relative\",\n \"to the plot height.\",\n \"See `xref` for more info\"\n ].join(\" \")\n },\n y: {\n valType: \"any\",\n dflt: 0,\n editType: \"arraydraw\",\n description: [\n \"Sets the image's y position.\",\n \"When `yref` is set to `paper`, units are sized relative\",\n \"to the plot height.\",\n \"See `yref` for more info\"\n ].join(\" \")\n },\n xanchor: {\n valType: \"enumerated\",\n values: [\"left\", \"center\", \"right\"],\n dflt: \"left\",\n editType: \"arraydraw\",\n description: \"Sets the anchor for the x position\"\n },\n yanchor: {\n valType: \"enumerated\",\n values: [\"top\", \"middle\", \"bottom\"],\n dflt: \"top\",\n editType: \"arraydraw\",\n description: \"Sets the anchor for the y position.\"\n },\n xref: {\n valType: \"enumerated\",\n values: [\n \"paper\",\n NM.idRegex.x.toString()\n ],\n dflt: \"paper\",\n editType: \"arraydraw\",\n description: [\n \"Sets the images's x coordinate axis.\",\n OM.axisRefDescription(\"x\", \"left\", \"right\")\n ].join(\" \")\n },\n yref: {\n valType: \"enumerated\",\n values: [\n \"paper\",\n NM.idRegex.y.toString()\n ],\n dflt: \"paper\",\n editType: \"arraydraw\",\n description: [\n \"Sets the images's y coordinate axis.\",\n OM.axisRefDescription(\"y\", \"bottom\", \"top\")\n ].join(\" \")\n },\n editType: \"arraydraw\"\n}), Sae = Ue, d0 = Cr, Cae = Ji, Lae = g6, Dae = \"images\", Eae = function(t, r) {\n var n = {\n name: Dae,\n handleItemDefaults: Fae\n };\n Cae(t, r, n);\n};\nfunction Fae(e, t, r) {\n function n(h, p) {\n return Sae.coerce(e, t, Lae, h, p);\n }\n var a = n(\"source\"), i = n(\"visible\", !!a);\n if (!i) return t;\n n(\"layer\"), n(\"xanchor\"), n(\"yanchor\"), n(\"sizex\"), n(\"sizey\"), n(\"sizing\"), n(\"opacity\");\n for (var o = { _fullLayout: r }, l = [\"x\", \"y\"], s = 0; s < 2; s++) {\n var u = l[s], f = d0.coerceRef(e, t, o, u, \"paper\", void 0);\n if (f !== \"paper\") {\n var d = d0.getFromId(o, f);\n d._imgIndices.push(t._index);\n }\n d0.coercePosition(t, o, n, f, u, 0);\n }\n return t;\n}\nvar HM = lr, Rae = Sr, Zs = Cr, BM = gn, Pae = yl, $ae = function(t) {\n var r = t._fullLayout, n = [], a = {}, i = [], o, l;\n for (l = 0; l < r.images.length; l++) {\n var s = r.images[l];\n if (s.visible)\n if (s.layer === \"below\" && s.xref !== \"paper\" && s.yref !== \"paper\") {\n o = BM.ref2id(s.xref) + BM.ref2id(s.yref);\n var u = r._plots[o];\n if (!u) {\n i.push(s);\n continue;\n }\n u.mainplot && (o = u.mainplot.id), a[o] || (a[o] = []), a[o].push(s);\n } else s.layer === \"above\" ? n.push(s) : i.push(s);\n }\n var f = {\n x: {\n left: { sizing: \"xMin\", offset: 0 },\n center: { sizing: \"xMid\", offset: -1 / 2 },\n right: { sizing: \"xMax\", offset: -1 }\n },\n y: {\n top: { sizing: \"YMin\", offset: 0 },\n middle: { sizing: \"YMid\", offset: -1 / 2 },\n bottom: { sizing: \"YMax\", offset: -1 }\n }\n };\n function d(w) {\n var k = HM.select(this);\n if (this._imgSrc !== w.source)\n if (k.attr(\"xmlns\", Pae.svg), w.source && w.source.slice(0, 5) === \"data:\")\n k.attr(\"xlink:href\", w.source), this._imgSrc = w.source;\n else {\n var x = new Promise((function(_) {\n var T = new Image();\n this.img = T, T.setAttribute(\"crossOrigin\", \"anonymous\"), T.onerror = S, T.onload = function() {\n var M = document.createElement(\"canvas\");\n M.width = this.width, M.height = this.height;\n var L = M.getContext(\"2d\", { willReadFrequently: !0 });\n L.drawImage(this, 0, 0);\n var F = M.toDataURL(\"image/png\");\n k.attr(\"xlink:href\", F), _();\n }, k.on(\"error\", S), T.src = w.source, this._imgSrc = w.source;\n function S() {\n k.remove(), _();\n }\n }).bind(this));\n t._promises.push(x);\n }\n }\n function h(w) {\n var k = HM.select(this), x = Zs.getFromId(t, w.xref), _ = Zs.getFromId(t, w.yref), T = Zs.getRefType(w.xref) === \"domain\", S = Zs.getRefType(w.yref) === \"domain\", M = r._size, L, F;\n x !== void 0 ? L = typeof w.xref == \"string\" && T ? x._length * w.sizex : Math.abs(x.l2p(w.sizex) - x.l2p(0)) : L = w.sizex * M.w, _ !== void 0 ? F = typeof w.yref == \"string\" && S ? _._length * w.sizey : Math.abs(_.l2p(w.sizey) - _.l2p(0)) : F = w.sizey * M.h;\n var $ = L * f.x[w.xanchor].offset, I = F * f.y[w.yanchor].offset, O = f.x[w.xanchor].sizing + f.y[w.yanchor].sizing, G, K;\n switch (x !== void 0 ? G = typeof w.xref == \"string\" && T ? x._length * w.x + x._offset : x.r2p(w.x) + x._offset : G = w.x * M.w + M.l, G += $, _ !== void 0 ? K = typeof w.yref == \"string\" && S ? (\n // consistent with \"paper\" yref value, where positive values\n // move up the page\n _._length * (1 - w.y) + _._offset\n ) : _.r2p(w.y) + _._offset : K = M.h - w.y * M.h + M.t, K += I, w.sizing) {\n case \"fill\":\n O += \" slice\";\n break;\n case \"stretch\":\n O = \"none\";\n break;\n }\n k.attr({\n x: G,\n y: K,\n width: L,\n height: F,\n preserveAspectRatio: O,\n opacity: w.opacity\n });\n var V = x && Zs.getRefType(w.xref) !== \"domain\" ? x._id : \"\", z = _ && Zs.getRefType(w.yref) !== \"domain\" ? _._id : \"\", P = V + z;\n Rae.setClipUrl(\n k,\n P ? \"clip\" + r._uid + P : null,\n t\n );\n }\n var p = r._imageLowerLayer.selectAll(\"image\").data(i), v = r._imageUpperLayer.selectAll(\"image\").data(n);\n p.enter().append(\"image\"), v.enter().append(\"image\"), p.exit().remove(), v.exit().remove(), p.each(function(w) {\n d.bind(this)(w), h.bind(this)(w);\n }), v.each(function(w) {\n d.bind(this)(w), h.bind(this)(w);\n });\n var m = Object.keys(r._plots);\n for (l = 0; l < m.length; l++) {\n o = m[l];\n var g = r._plots[o];\n if (g.imagelayer) {\n var y = g.imagelayer.selectAll(\"image\").data(a[o] || []);\n y.enter().append(\"image\"), y.exit().remove(), y.each(function(w) {\n d.bind(this)(w), h.bind(this)(w);\n });\n }\n }\n}, jM = sr, zae = U1, Iae = function(t, r, n, a) {\n r = r || {};\n var i = n === \"log\" && r.type === \"linear\", o = n === \"linear\" && r.type === \"log\";\n if (i || o) {\n for (var l = t._fullLayout.images, s = r._id.charAt(0), u, f, d = 0; d < l.length; d++)\n if (u = l[d], f = \"images[\" + d + \"].\", u[s + \"ref\"] === r._id) {\n var h = u[s], p = u[\"size\" + s], v = null, m = null;\n if (i) {\n v = zae(h, r.range);\n var g = p / Math.pow(10, v) / 2;\n m = 2 * Math.log(g + Math.sqrt(1 + g * g)) / Math.LN10;\n } else\n v = Math.pow(10, h), m = v * (Math.pow(10, p / 2) - Math.pow(10, -p / 2));\n jM(v) ? jM(m) || (m = null) : (v = null, m = null), a(f + s, v), a(f + \"size\" + s, m);\n }\n }\n}, Nae = {\n moduleType: \"component\",\n name: \"images\",\n layoutAttributes: g6,\n supplyLayoutDefaults: Eae,\n includeBasePlot: qp(\"images\"),\n draw: $ae,\n convertCoords: Iae\n}, h_ = {\n // layout attribute name\n name: \"updatemenus\",\n // class names\n containerClassName: \"updatemenu-container\",\n headerGroupClassName: \"updatemenu-header-group\",\n headerClassName: \"updatemenu-header\",\n headerArrowClassName: \"updatemenu-header-arrow\",\n dropdownButtonGroupClassName: \"updatemenu-dropdown-button-group\",\n dropdownButtonClassName: \"updatemenu-dropdown-button\",\n buttonClassName: \"updatemenu-button\",\n itemRectClassName: \"updatemenu-item-rect\",\n itemTextClassName: \"updatemenu-item-text\",\n // DOM attribute name in button group keeping track\n // of active update menu\n menuIndexAttrName: \"updatemenu-active-index\",\n // id root pass to Plots.autoMargin\n autoMarginIdRoot: \"updatemenu-\",\n // options when 'active: -1'\n blankHeaderOpts: { label: \" \" },\n // min item width / height\n minWidth: 30,\n minHeight: 30,\n // padding around item text\n textPadX: 24,\n arrowPadX: 16,\n // item rect radii\n rx: 2,\n ry: 2,\n // item text x offset off left edge\n textOffsetX: 12,\n // item text y offset (w.r.t. middle)\n textOffsetY: 3,\n // arrow offset off right edge\n arrowOffsetX: 4,\n // gap between header and buttons\n gapButtonHeader: 5,\n // gap between between buttons\n gapButton: 2,\n // color given to active buttons\n activeColor: \"#F4FAFF\",\n // color given to hovered buttons\n hoverColor: \"#F4FAFF\",\n // symbol for menu open arrow\n arrowSymbol: {\n left: \"◄\",\n right: \"►\",\n up: \"▲\",\n down: \"▼\"\n }\n}, Oae = Fn, Hae = da, Bae = en.extendFlat, jae = Lo.overrideAll, Uae = J1, y6 = Mr.templatedArray, Gae = y6(\"button\", {\n visible: {\n valType: \"boolean\",\n description: \"Determines whether or not this button is visible.\"\n },\n method: {\n valType: \"enumerated\",\n values: [\"restyle\", \"relayout\", \"animate\", \"update\", \"skip\"],\n dflt: \"restyle\",\n description: [\n \"Sets the Plotly method to be called on click.\",\n \"If the `skip` method is used, the API updatemenu will function as normal\",\n \"but will perform no API calls and will not bind automatically to state\",\n \"updates. This may be used to create a component interface and attach to\",\n \"updatemenu events manually via JavaScript.\"\n ].join(\" \")\n },\n args: {\n valType: \"info_array\",\n freeLength: !0,\n items: [\n { valType: \"any\" },\n { valType: \"any\" },\n { valType: \"any\" }\n ],\n description: [\n \"Sets the arguments values to be passed to the Plotly\",\n \"method set in `method` on click.\"\n ].join(\" \")\n },\n args2: {\n valType: \"info_array\",\n freeLength: !0,\n items: [\n { valType: \"any\" },\n { valType: \"any\" },\n { valType: \"any\" }\n ],\n description: [\n \"Sets a 2nd set of `args`,\",\n \"these arguments values are passed to the Plotly\",\n \"method set in `method` when clicking this button while in the active state.\",\n \"Use this to create toggle buttons.\"\n ].join(\" \")\n },\n label: {\n valType: \"string\",\n dflt: \"\",\n description: \"Sets the text label to appear on the button.\"\n },\n execute: {\n valType: \"boolean\",\n dflt: !0,\n description: [\n \"When true, the API method is executed. When false, all other behaviors are the same\",\n \"and command execution is skipped. This may be useful when hooking into, for example,\",\n \"the `plotly_buttonclicked` method and executing the API command manually without losing\",\n \"the benefit of the updatemenu automatically binding to the state of the plot through the\",\n \"specification of `method` and `args`.\"\n ].join(\" \")\n }\n}), b6 = jae(y6(\"updatemenu\", {\n _arrayAttrRegexps: [/^updatemenus\\[(0|[1-9][0-9]+)\\]\\.buttons/],\n visible: {\n valType: \"boolean\",\n description: [\n \"Determines whether or not the update menu is visible.\"\n ].join(\" \")\n },\n type: {\n valType: \"enumerated\",\n values: [\"dropdown\", \"buttons\"],\n dflt: \"dropdown\",\n description: [\n \"Determines whether the buttons are accessible via a dropdown menu\",\n \"or whether the buttons are stacked horizontally or vertically\"\n ].join(\" \")\n },\n direction: {\n valType: \"enumerated\",\n values: [\"left\", \"right\", \"up\", \"down\"],\n dflt: \"down\",\n description: [\n \"Determines the direction in which the buttons are laid out, whether\",\n \"in a dropdown menu or a row/column of buttons. For `left` and `up`,\",\n \"the buttons will still appear in left-to-right or top-to-bottom order\",\n \"respectively.\"\n ].join(\" \")\n },\n active: {\n valType: \"integer\",\n min: -1,\n dflt: 0,\n description: [\n \"Determines which button (by index starting from 0) is\",\n \"considered active.\"\n ].join(\" \")\n },\n showactive: {\n valType: \"boolean\",\n dflt: !0,\n description: \"Highlights active dropdown item or active button if true.\"\n },\n buttons: Gae,\n x: {\n valType: \"number\",\n min: -2,\n max: 3,\n dflt: -0.05,\n description: \"Sets the x position (in normalized coordinates) of the update menu.\"\n },\n xanchor: {\n valType: \"enumerated\",\n values: [\"auto\", \"left\", \"center\", \"right\"],\n dflt: \"right\",\n description: [\n \"Sets the update menu's horizontal position anchor.\",\n \"This anchor binds the `x` position to the *left*, *center*\",\n \"or *right* of the range selector.\"\n ].join(\" \")\n },\n y: {\n valType: \"number\",\n min: -2,\n max: 3,\n dflt: 1,\n description: \"Sets the y position (in normalized coordinates) of the update menu.\"\n },\n yanchor: {\n valType: \"enumerated\",\n values: [\"auto\", \"top\", \"middle\", \"bottom\"],\n dflt: \"top\",\n description: [\n \"Sets the update menu's vertical position anchor\",\n \"This anchor binds the `y` position to the *top*, *middle*\",\n \"or *bottom* of the range selector.\"\n ].join(\" \")\n },\n pad: Bae(Uae({ editType: \"arraydraw\" }), {\n description: \"Sets the padding around the buttons or dropdown menu.\"\n }),\n font: Oae({\n description: \"Sets the font of the update menu button text.\"\n }),\n bgcolor: {\n valType: \"color\",\n description: \"Sets the background color of the update menu buttons.\"\n },\n bordercolor: {\n valType: \"color\",\n dflt: Hae.borderLine,\n description: \"Sets the color of the border enclosing the update menu.\"\n },\n borderwidth: {\n valType: \"number\",\n min: 0,\n dflt: 1,\n editType: \"arraydraw\",\n description: \"Sets the width (in px) of the border enclosing the update menu.\"\n }\n}), \"arraydraw\", \"from-root\"), qh = Ue, _6 = Ji, x6 = b6, Vae = h_, qae = Vae.name, Wae = x6.buttons, Zae = function(t, r) {\n var n = {\n name: qae,\n handleItemDefaults: Yae\n };\n _6(t, r, n);\n};\nfunction Yae(e, t, r) {\n function n(o, l) {\n return qh.coerce(e, t, x6, o, l);\n }\n var a = _6(e, t, {\n name: \"buttons\",\n handleItemDefaults: Xae\n }), i = n(\"visible\", a.length > 0);\n i && (n(\"active\"), n(\"direction\"), n(\"type\"), n(\"showactive\"), n(\"x\"), n(\"y\"), qh.noneOrAll(e, t, [\"x\", \"y\"]), n(\"xanchor\"), n(\"yanchor\"), n(\"pad.t\"), n(\"pad.r\"), n(\"pad.b\"), n(\"pad.l\"), qh.coerceFont(n, \"font\", r.font), n(\"bgcolor\", r.paper_bgcolor), n(\"bordercolor\"), n(\"borderwidth\"));\n}\nfunction Xae(e, t) {\n function r(a, i) {\n return qh.coerce(e, t, Wae, a, i);\n }\n var n = r(\n \"visible\",\n e.method === \"skip\" || Array.isArray(e.args)\n );\n n && (r(\"method\"), r(\"args\"), r(\"args2\"), r(\"label\"), r(\"execute\"));\n}\nvar Kae = Br, fi = lr, UM = nr, _u = Sr, Dv = Ue;\nfunction Br(e, t, r) {\n this.gd = e, this.container = t, this.id = r, this.position = null, this.translateX = null, this.translateY = null, this.hbar = null, this.vbar = null, this.bg = this.container.selectAll(\"rect.scrollbox-bg\").data([0]), this.bg.exit().on(\".drag\", null).on(\"wheel\", null).remove(), this.bg.enter().append(\"rect\").classed(\"scrollbox-bg\", !0).style(\"pointer-events\", \"all\").attr({\n opacity: 0,\n x: 0,\n y: 0,\n width: 0,\n height: 0\n });\n}\nBr.barWidth = 2;\nBr.barLength = 20;\nBr.barRadius = 2;\nBr.barPad = 1;\nBr.barColor = \"#808BA4\";\nBr.prototype.enable = function(t, r, n) {\n var a = this.gd._fullLayout, i = a.width, o = a.height;\n this.position = t;\n var l = this.position.l, s = this.position.w, u = this.position.t, f = this.position.h, d = this.position.direction, h = d === \"down\", p = d === \"left\", v = d === \"right\", m = d === \"up\", g = s, y = f, w, k, x, _;\n !h && !p && !v && !m && (this.position.direction = \"down\", h = !0);\n var T = h || m;\n T ? (w = l, k = w + g, h ? (x = u, _ = Math.min(x + y, o), y = _ - x) : (_ = u + y, x = Math.max(_ - y, 0), y = _ - x)) : (x = u, _ = x + y, p ? (k = l + g, w = Math.max(k - g, 0), g = k - w) : (w = l, k = Math.min(w + g, i), g = k - w)), this._box = {\n l: w,\n t: x,\n w: g,\n h: y\n };\n var S = s > g, M = Br.barLength + 2 * Br.barPad, L = Br.barWidth + 2 * Br.barPad, F = l, $ = u + f;\n $ + L > o && ($ = o - L);\n var I = this.container.selectAll(\"rect.scrollbar-horizontal\").data(\n S ? [0] : []\n );\n I.exit().on(\".drag\", null).remove(), I.enter().append(\"rect\").classed(\"scrollbar-horizontal\", !0).call(UM.fill, Br.barColor), S ? (this.hbar = I.attr({\n rx: Br.barRadius,\n ry: Br.barRadius,\n x: F,\n y: $,\n width: M,\n height: L\n }), this._hbarXMin = F + M / 2, this._hbarTranslateMax = g - M) : (delete this.hbar, delete this._hbarXMin, delete this._hbarTranslateMax);\n var O = f > y, G = Br.barWidth + 2 * Br.barPad, K = Br.barLength + 2 * Br.barPad, V = l + s, z = u;\n V + G > i && (V = i - G);\n var P = this.container.selectAll(\"rect.scrollbar-vertical\").data(\n O ? [0] : []\n );\n P.exit().on(\".drag\", null).remove(), P.enter().append(\"rect\").classed(\"scrollbar-vertical\", !0).call(UM.fill, Br.barColor), O ? (this.vbar = P.attr({\n rx: Br.barRadius,\n ry: Br.barRadius,\n x: V,\n y: z,\n width: G,\n height: K\n }), this._vbarYMin = z + K / 2, this._vbarTranslateMax = y - K) : (delete this.vbar, delete this._vbarYMin, delete this._vbarTranslateMax);\n var R = this.id, H = w - 0.5, B = O ? k + G + 0.5 : k + 0.5, W = x - 0.5, ee = S ? _ + L + 0.5 : _ + 0.5, re = a._topdefs.selectAll(\"#\" + R).data(S || O ? [0] : []);\n if (re.exit().remove(), re.enter().append(\"clipPath\").attr(\"id\", R).append(\"rect\"), S || O ? (this._clipRect = re.select(\"rect\").attr({\n x: Math.floor(H),\n y: Math.floor(W),\n width: Math.ceil(B) - Math.floor(H),\n height: Math.ceil(ee) - Math.floor(W)\n }), this.container.call(_u.setClipUrl, R, this.gd), this.bg.attr({\n x: l,\n y: u,\n width: s,\n height: f\n })) : (this.bg.attr({\n width: 0,\n height: 0\n }), this.container.on(\"wheel\", null).on(\".drag\", null).call(_u.setClipUrl, null), delete this._clipRect), S || O) {\n var ae = fi.behavior.drag().on(\"dragstart\", function() {\n fi.event.sourceEvent.preventDefault();\n }).on(\"drag\", this._onBoxDrag.bind(this));\n this.container.on(\"wheel\", null).on(\"wheel\", this._onBoxWheel.bind(this)).on(\".drag\", null).call(ae);\n var Q = fi.behavior.drag().on(\"dragstart\", function() {\n fi.event.sourceEvent.preventDefault(), fi.event.sourceEvent.stopPropagation();\n }).on(\"drag\", this._onBarDrag.bind(this));\n S && this.hbar.on(\".drag\", null).call(Q), O && this.vbar.on(\".drag\", null).call(Q);\n }\n this.setTranslate(r, n);\n};\nBr.prototype.disable = function() {\n (this.hbar || this.vbar) && (this.bg.attr({\n width: 0,\n height: 0\n }), this.container.on(\"wheel\", null).on(\".drag\", null).call(_u.setClipUrl, null), delete this._clipRect), this.hbar && (this.hbar.on(\".drag\", null), this.hbar.remove(), delete this.hbar, delete this._hbarXMin, delete this._hbarTranslateMax), this.vbar && (this.vbar.on(\".drag\", null), this.vbar.remove(), delete this.vbar, delete this._vbarYMin, delete this._vbarTranslateMax);\n};\nBr.prototype._onBoxDrag = function() {\n var t = this.translateX, r = this.translateY;\n this.hbar && (t -= fi.event.dx), this.vbar && (r -= fi.event.dy), this.setTranslate(t, r);\n};\nBr.prototype._onBoxWheel = function() {\n var t = this.translateX, r = this.translateY;\n this.hbar && (t += fi.event.deltaY), this.vbar && (r += fi.event.deltaY), this.setTranslate(t, r);\n};\nBr.prototype._onBarDrag = function() {\n var t = this.translateX, r = this.translateY;\n if (this.hbar) {\n var n = t + this._hbarXMin, a = n + this._hbarTranslateMax, i = Dv.constrain(fi.event.x, n, a), o = (i - n) / (a - n), l = this.position.w - this._box.w;\n t = o * l;\n }\n if (this.vbar) {\n var s = r + this._vbarYMin, u = s + this._vbarTranslateMax, f = Dv.constrain(fi.event.y, s, u), d = (f - s) / (u - s), h = this.position.h - this._box.h;\n r = d * h;\n }\n this.setTranslate(t, r);\n};\nBr.prototype.setTranslate = function(t, r) {\n var n = this.position.w - this._box.w, a = this.position.h - this._box.h;\n if (t = Dv.constrain(t || 0, 0, n), r = Dv.constrain(r || 0, 0, a), this.translateX = t, this.translateY = r, this.container.call(\n _u.setTranslate,\n this._box.l - this.position.l - t,\n this._box.t - this.position.t - r\n ), this._clipRect && this._clipRect.attr({\n x: Math.floor(this.position.l + t - 0.5),\n y: Math.floor(this.position.t + r - 0.5)\n }), this.hbar) {\n var i = t / n;\n this.hbar.call(\n _u.setTranslate,\n t + i * this._hbarTranslateMax,\n r\n );\n }\n if (this.vbar) {\n var o = r / a;\n this.vbar.call(\n _u.setTranslate,\n t,\n r + o * this._vbarTranslateMax\n );\n }\n};\nvar Nu = lr, zc = Tn, Ic = nr, Ou = Sr, ba = Ue, Ev = Rn, Jae = Mr.arrayEditor, w6 = On.LINE_SPACING, Bt = h_, Qae = Kae, eie = function(t) {\n var r = t._fullLayout, n = ba.filterVisible(r[Bt.name]);\n function a(h) {\n zc.autoMargin(t, S6(h));\n }\n var i = r._menulayer.selectAll(\"g.\" + Bt.containerClassName).data(n.length > 0 ? [0] : []);\n if (i.enter().append(\"g\").classed(Bt.containerClassName, !0).style(\"cursor\", \"pointer\"), i.exit().each(function() {\n Nu.select(this).selectAll(\"g.\" + Bt.headerGroupClassName).each(a);\n }).remove(), n.length !== 0) {\n var o = i.selectAll(\"g.\" + Bt.headerGroupClassName).data(n, tie);\n o.enter().append(\"g\").classed(Bt.headerGroupClassName, !0);\n for (var l = ba.ensureSingle(i, \"g\", Bt.dropdownButtonGroupClassName, function(h) {\n h.style(\"pointer-events\", \"all\");\n }), s = 0; s < n.length; s++) {\n var u = n[s];\n lie(t, u);\n }\n var f = \"updatemenus\" + r._uid, d = new Qae(t, l, f);\n o.enter().size() && (l.node().parentNode.appendChild(l.node()), l.call(Jy)), o.exit().each(function(h) {\n l.call(Jy), a(h);\n }).remove(), o.each(function(h) {\n var p = Nu.select(this), v = h.type === \"dropdown\" ? l : null;\n zc.manageCommandObserver(t, h, h.buttons, function(m) {\n Ky(t, h, h.buttons[m.index], p, v, d, m.index, !0);\n }), h.type === \"dropdown\" ? (k6(t, p, l, d, h), T6(l, h) && Nc(t, p, l, d, h)) : Nc(t, p, null, null, h);\n });\n }\n};\nfunction tie(e) {\n return e._index;\n}\nfunction rie(e) {\n return +e.attr(Bt.menuIndexAttrName) == -1;\n}\nfunction T6(e, t) {\n return +e.attr(Bt.menuIndexAttrName) === t._index;\n}\nfunction Ky(e, t, r, n, a, i, o, l) {\n t.active = o, Jae(e.layout, Bt.name, t).applyUpdate(\"active\", o), t.type === \"buttons\" ? Nc(e, n, null, null, t) : t.type === \"dropdown\" && (a.attr(Bt.menuIndexAttrName, \"-1\"), k6(e, n, a, i, t), l || Nc(e, n, a, i, t));\n}\nfunction k6(e, t, r, n, a) {\n var i = ba.ensureSingle(t, \"g\", Bt.headerClassName, function(h) {\n h.style(\"pointer-events\", \"all\");\n }), o = a._dims, l = a.active, s = a.buttons[l] || Bt.blankHeaderOpts, u = { y: a.pad.t, yPad: 0, x: a.pad.l, xPad: 0, index: 0 }, f = {\n width: o.headerWidth,\n height: o.headerHeight\n };\n i.call(v_, a, s, e).call(C6, a, u, f);\n var d = ba.ensureSingle(t, \"text\", Bt.headerArrowClassName, function(h) {\n h.attr(\"text-anchor\", \"end\").call(Ou.font, a.font).text(Bt.arrowSymbol[a.direction]);\n });\n d.attr({\n x: o.headerWidth - Bt.arrowOffsetX + a.pad.l,\n y: o.headerHeight / 2 + Bt.textOffsetY + a.pad.t\n }), i.on(\"click\", function() {\n r.call(\n Jy,\n String(T6(r, a) ? -1 : a._index)\n ), Nc(e, t, r, n, a);\n }), i.on(\"mouseover\", function() {\n i.call(A6);\n }), i.on(\"mouseout\", function() {\n i.call(M6, a);\n }), Ou.setTranslate(t, o.lx, o.ly);\n}\nfunction Nc(e, t, r, n, a) {\n r || (r = t, r.attr(\"pointer-events\", \"all\"));\n var i = !rie(r) || a.type === \"buttons\" ? a.buttons : [], o = a.type === \"dropdown\" ? Bt.dropdownButtonClassName : Bt.buttonClassName, l = r.selectAll(\"g.\" + o).data(ba.filterVisible(i)), s = l.enter().append(\"g\").classed(o, !0), u = l.exit();\n a.type === \"dropdown\" ? (s.attr(\"opacity\", \"0\").transition().attr(\"opacity\", \"1\"), u.transition().attr(\"opacity\", \"0\").remove()) : u.remove();\n var f = 0, d = 0, h = a._dims, p = [\"up\", \"down\"].indexOf(a.direction) !== -1;\n a.type === \"dropdown\" && (p ? d = h.headerHeight + Bt.gapButtonHeader : f = h.headerWidth + Bt.gapButtonHeader), a.type === \"dropdown\" && a.direction === \"up\" && (d = -Bt.gapButtonHeader + Bt.gapButton - h.openHeight), a.type === \"dropdown\" && a.direction === \"left\" && (f = -Bt.gapButtonHeader + Bt.gapButton - h.openWidth);\n var v = {\n x: h.lx + f + a.pad.l,\n y: h.ly + d + a.pad.t,\n yPad: Bt.gapButton,\n xPad: Bt.gapButton,\n index: 0\n }, m = {\n l: v.x + a.borderwidth,\n t: v.y + a.borderwidth\n };\n l.each(function(g, y) {\n var w = Nu.select(this);\n w.call(v_, a, g, e).call(C6, a, v), w.on(\"click\", function() {\n Nu.event.defaultPrevented || (g.execute && (g.args2 && a.active === y ? (Ky(e, a, g, t, r, n, -1), zc.executeAPICommand(e, g.method, g.args2)) : (Ky(e, a, g, t, r, n, y), zc.executeAPICommand(e, g.method, g.args))), e.emit(\"plotly_buttonclicked\", { menu: a, button: g, active: a.active }));\n }), w.on(\"mouseover\", function() {\n w.call(A6);\n }), w.on(\"mouseout\", function() {\n w.call(M6, a), l.call(GM, a);\n });\n }), l.call(GM, a), p ? (m.w = Math.max(h.openWidth, h.headerWidth), m.h = v.y - m.t) : (m.w = v.x - m.l, m.h = Math.max(h.openHeight, h.headerHeight)), m.direction = a.direction, n && (l.size() ? nie(e, t, r, n, a, m) : aie(n));\n}\nfunction nie(e, t, r, n, a, i) {\n var o = a.direction, l = o === \"up\" || o === \"down\", s = a._dims, u = a.active, f, d, h;\n if (l)\n for (d = 0, h = 0; h < u; h++)\n d += s.heights[h] + Bt.gapButton;\n else\n for (f = 0, h = 0; h < u; h++)\n f += s.widths[h] + Bt.gapButton;\n n.enable(i, f, d), n.hbar && n.hbar.attr(\"opacity\", \"0\").transition().attr(\"opacity\", \"1\"), n.vbar && n.vbar.attr(\"opacity\", \"0\").transition().attr(\"opacity\", \"1\");\n}\nfunction aie(e) {\n var t = !!e.hbar, r = !!e.vbar;\n t && e.hbar.transition().attr(\"opacity\", \"0\").each(\"end\", function() {\n t = !1, r || e.disable();\n }), r && e.vbar.transition().attr(\"opacity\", \"0\").each(\"end\", function() {\n r = !1, t || e.disable();\n });\n}\nfunction v_(e, t, r, n) {\n e.call(iie, t).call(oie, t, r, n);\n}\nfunction iie(e, t) {\n var r = ba.ensureSingle(e, \"rect\", Bt.itemRectClassName, function(n) {\n n.attr({\n rx: Bt.rx,\n ry: Bt.ry,\n \"shape-rendering\": \"crispEdges\"\n });\n });\n r.call(Ic.stroke, t.bordercolor).call(Ic.fill, t.bgcolor).style(\"stroke-width\", t.borderwidth + \"px\");\n}\nfunction oie(e, t, r, n) {\n var a = ba.ensureSingle(e, \"text\", Bt.itemTextClassName, function(l) {\n l.attr({\n \"text-anchor\": \"start\",\n \"data-notex\": 1\n });\n }), i = r.label, o = n._fullLayout._meta;\n o && (i = ba.templateString(i, o)), a.call(Ou.font, t.font).text(i).call(Ev.convertToTspans, n);\n}\nfunction GM(e, t) {\n var r = t.active;\n e.each(function(n, a) {\n var i = Nu.select(this);\n a === r && t.showactive && i.select(\"rect.\" + Bt.itemRectClassName).call(Ic.fill, Bt.activeColor);\n });\n}\nfunction A6(e) {\n e.select(\"rect.\" + Bt.itemRectClassName).call(Ic.fill, Bt.hoverColor);\n}\nfunction M6(e, t) {\n e.select(\"rect.\" + Bt.itemRectClassName).call(Ic.fill, t.bgcolor);\n}\nfunction lie(e, t) {\n var r = t._dims = {\n width1: 0,\n height1: 0,\n heights: [],\n widths: [],\n totalWidth: 0,\n totalHeight: 0,\n openWidth: 0,\n openHeight: 0,\n lx: 0,\n ly: 0\n }, n = Ou.tester.selectAll(\"g.\" + Bt.dropdownButtonClassName).data(ba.filterVisible(t.buttons));\n n.enter().append(\"g\").classed(Bt.dropdownButtonClassName, !0);\n var a = [\"up\", \"down\"].indexOf(t.direction) !== -1;\n n.each(function(f, d) {\n var h = Nu.select(this);\n h.call(v_, t, f, e);\n var p = h.select(\".\" + Bt.itemTextClassName), v = p.node() && Ou.bBox(p.node()).width, m = Math.max(v + Bt.textPadX, Bt.minWidth), g = t.font.size * w6, y = Ev.lineCount(p), w = Math.max(g * y, Bt.minHeight) + Bt.textOffsetY;\n w = Math.ceil(w), m = Math.ceil(m), r.widths[d] = m, r.heights[d] = w, r.height1 = Math.max(r.height1, w), r.width1 = Math.max(r.width1, m), a ? (r.totalWidth = Math.max(r.totalWidth, m), r.openWidth = r.totalWidth, r.totalHeight += w + Bt.gapButton, r.openHeight += w + Bt.gapButton) : (r.totalWidth += m + Bt.gapButton, r.openWidth += m + Bt.gapButton, r.totalHeight = Math.max(r.totalHeight, w), r.openHeight = r.totalHeight);\n }), a ? r.totalHeight -= Bt.gapButton : r.totalWidth -= Bt.gapButton, r.headerWidth = r.width1 + Bt.arrowPadX, r.headerHeight = r.height1, t.type === \"dropdown\" && (a ? (r.width1 += Bt.arrowPadX, r.totalHeight = r.height1) : r.totalWidth = r.width1, r.totalWidth += Bt.arrowPadX), n.remove();\n var i = r.totalWidth + t.pad.l + t.pad.r, o = r.totalHeight + t.pad.t + t.pad.b, l = e._fullLayout._size;\n r.lx = l.l + l.w * t.x, r.ly = l.t + l.h * (1 - t.y);\n var s = \"left\";\n ba.isRightAnchor(t) && (r.lx -= i, s = \"right\"), ba.isCenterAnchor(t) && (r.lx -= i / 2, s = \"center\");\n var u = \"top\";\n ba.isBottomAnchor(t) && (r.ly -= o, u = \"bottom\"), ba.isMiddleAnchor(t) && (r.ly -= o / 2, u = \"middle\"), r.totalWidth = Math.ceil(r.totalWidth), r.totalHeight = Math.ceil(r.totalHeight), r.lx = Math.round(r.lx), r.ly = Math.round(r.ly), zc.autoMargin(e, S6(t), {\n x: t.x,\n y: t.y,\n l: i * ({ right: 1, center: 0.5 }[s] || 0),\n r: i * ({ left: 1, center: 0.5 }[s] || 0),\n b: o * ({ top: 1, middle: 0.5 }[u] || 0),\n t: o * ({ bottom: 1, middle: 0.5 }[u] || 0)\n });\n}\nfunction S6(e) {\n return Bt.autoMarginIdRoot + e._index;\n}\nfunction C6(e, t, r, n) {\n n = n || {};\n var a = e.select(\".\" + Bt.itemRectClassName), i = e.select(\".\" + Bt.itemTextClassName), o = t.borderwidth, l = r.index, s = t._dims;\n Ou.setTranslate(e, o + r.x, o + r.y);\n var u = [\"up\", \"down\"].indexOf(t.direction) !== -1, f = n.height || (u ? s.heights[l] : s.height1);\n a.attr({\n x: 0,\n y: 0,\n width: n.width || (u ? s.width1 : s.widths[l]),\n height: f\n });\n var d = t.font.size * w6, h = Ev.lineCount(i), p = (h - 1) * d / 2;\n Ev.positionText(\n i,\n Bt.textOffsetX,\n f / 2 - p + Bt.textOffsetY\n ), u ? r.y += s.heights[l] + r.yPad : r.x += s.widths[l] + r.xPad, r.index++;\n}\nfunction Jy(e, t) {\n e.attr(Bt.menuIndexAttrName, t || \"-1\").selectAll(\"g.\" + Bt.dropdownButtonClassName).remove();\n}\nvar sie = h_, uie = {\n moduleType: \"component\",\n name: sie.name,\n layoutAttributes: b6,\n supplyLayoutDefaults: Zae,\n draw: eie\n}, Kp = {\n // layout attribute name\n name: \"sliders\",\n // class names\n containerClassName: \"slider-container\",\n groupClassName: \"slider-group\",\n inputAreaClass: \"slider-input-area\",\n railRectClass: \"slider-rail-rect\",\n railTouchRectClass: \"slider-rail-touch-rect\",\n gripRectClass: \"slider-grip-rect\",\n tickRectClass: \"slider-tick-rect\",\n inputProxyClass: \"slider-input-proxy\",\n labelsClass: \"slider-labels\",\n labelGroupClass: \"slider-label-group\",\n labelClass: \"slider-label\",\n currentValueClass: \"slider-current-value\",\n railHeight: 5,\n // DOM attribute name in button group keeping track\n // of active update menu\n menuIndexAttrName: \"slider-active-index\",\n // id root pass to Plots.autoMargin\n autoMarginIdRoot: \"slider-\",\n // min item width / height\n minWidth: 30,\n minHeight: 30,\n // padding around item text\n textPadX: 40,\n // arrow offset off right edge\n arrowOffsetX: 4,\n railRadius: 2,\n railWidth: 5,\n railBorder: 4,\n railBorderWidth: 1,\n railBorderColor: \"#bec8d9\",\n railBgColor: \"#f8fafc\",\n // The distance of the rail from the edge of the touchable area\n // Slightly less than the step inset because of the curved edges\n // of the rail\n railInset: 8,\n // The distance from the extremal tick marks to the edge of the\n // touchable area. This is basically the same as the grip radius,\n // but for other styles it wouldn't really need to be.\n stepInset: 10,\n gripRadius: 10,\n gripWidth: 20,\n gripHeight: 20,\n gripBorder: 20,\n gripBorderWidth: 1,\n gripBorderColor: \"#bec8d9\",\n gripBgColor: \"#f6f8fa\",\n gripBgActiveColor: \"#dbdde0\",\n labelPadding: 8,\n labelOffset: 0,\n tickWidth: 1,\n tickColor: \"#333\",\n tickOffset: 25,\n tickLength: 7,\n minorTickOffset: 25,\n minorTickColor: \"#333\",\n minorTickLength: 4,\n // Extra space below the current value label:\n currentValuePadding: 8,\n currentValueInset: 0\n}, VM = Fn, fie = J1, cie = en.extendDeepAll, die = Lo.overrideAll, hie = hp, L6 = Mr.templatedArray, $l = Kp, vie = L6(\"step\", {\n visible: {\n valType: \"boolean\",\n dflt: !0,\n description: [\n \"Determines whether or not this step is included in the slider.\"\n ].join(\" \")\n },\n method: {\n valType: \"enumerated\",\n values: [\"restyle\", \"relayout\", \"animate\", \"update\", \"skip\"],\n dflt: \"restyle\",\n description: [\n \"Sets the Plotly method to be called when the slider value is changed.\",\n \"If the `skip` method is used, the API slider will function as normal\",\n \"but will perform no API calls and will not bind automatically to state\",\n \"updates. This may be used to create a component interface and attach to\",\n \"slider events manually via JavaScript.\"\n ].join(\" \")\n },\n args: {\n valType: \"info_array\",\n freeLength: !0,\n items: [\n { valType: \"any\" },\n { valType: \"any\" },\n { valType: \"any\" }\n ],\n description: [\n \"Sets the arguments values to be passed to the Plotly\",\n \"method set in `method` on slide.\"\n ].join(\" \")\n },\n label: {\n valType: \"string\",\n description: \"Sets the text label to appear on the slider\"\n },\n value: {\n valType: \"string\",\n description: [\n \"Sets the value of the slider step, used to refer to the step programatically.\",\n \"Defaults to the slider label if not provided.\"\n ].join(\" \")\n },\n execute: {\n valType: \"boolean\",\n dflt: !0,\n description: [\n \"When true, the API method is executed. When false, all other behaviors are the same\",\n \"and command execution is skipped. This may be useful when hooking into, for example,\",\n \"the `plotly_sliderchange` method and executing the API command manually without losing\",\n \"the benefit of the slider automatically binding to the state of the plot through the\",\n \"specification of `method` and `args`.\"\n ].join(\" \")\n }\n}), D6 = die(L6(\"slider\", {\n visible: {\n valType: \"boolean\",\n dflt: !0,\n description: [\n \"Determines whether or not the slider is visible.\"\n ].join(\" \")\n },\n active: {\n valType: \"number\",\n min: 0,\n dflt: 0,\n description: [\n \"Determines which button (by index starting from 0) is\",\n \"considered active.\"\n ].join(\" \")\n },\n steps: vie,\n lenmode: {\n valType: \"enumerated\",\n values: [\"fraction\", \"pixels\"],\n dflt: \"fraction\",\n description: [\n \"Determines whether this slider length\",\n \"is set in units of plot *fraction* or in *pixels.\",\n \"Use `len` to set the value.\"\n ].join(\" \")\n },\n len: {\n valType: \"number\",\n min: 0,\n dflt: 1,\n description: [\n \"Sets the length of the slider\",\n \"This measure excludes the padding of both ends.\",\n \"That is, the slider's length is this length minus the\",\n \"padding on both ends.\"\n ].join(\" \")\n },\n x: {\n valType: \"number\",\n min: -2,\n max: 3,\n dflt: 0,\n description: \"Sets the x position (in normalized coordinates) of the slider.\"\n },\n pad: cie(fie({ editType: \"arraydraw\" }), {\n description: \"Set the padding of the slider component along each side.\"\n }, { t: { dflt: 20 } }),\n xanchor: {\n valType: \"enumerated\",\n values: [\"auto\", \"left\", \"center\", \"right\"],\n dflt: \"left\",\n description: [\n \"Sets the slider's horizontal position anchor.\",\n \"This anchor binds the `x` position to the *left*, *center*\",\n \"or *right* of the range selector.\"\n ].join(\" \")\n },\n y: {\n valType: \"number\",\n min: -2,\n max: 3,\n dflt: 0,\n description: \"Sets the y position (in normalized coordinates) of the slider.\"\n },\n yanchor: {\n valType: \"enumerated\",\n values: [\"auto\", \"top\", \"middle\", \"bottom\"],\n dflt: \"top\",\n description: [\n \"Sets the slider's vertical position anchor\",\n \"This anchor binds the `y` position to the *top*, *middle*\",\n \"or *bottom* of the range selector.\"\n ].join(\" \")\n },\n transition: {\n duration: {\n valType: \"number\",\n min: 0,\n dflt: 150,\n description: \"Sets the duration of the slider transition\"\n },\n easing: {\n valType: \"enumerated\",\n values: hie.transition.easing.values,\n dflt: \"cubic-in-out\",\n description: \"Sets the easing function of the slider transition\"\n }\n },\n currentvalue: {\n visible: {\n valType: \"boolean\",\n dflt: !0,\n description: [\n \"Shows the currently-selected value above the slider.\"\n ].join(\" \")\n },\n xanchor: {\n valType: \"enumerated\",\n values: [\"left\", \"center\", \"right\"],\n dflt: \"left\",\n description: [\n \"The alignment of the value readout relative to the length of the slider.\"\n ].join(\" \")\n },\n offset: {\n valType: \"number\",\n dflt: 10,\n description: [\n \"The amount of space, in pixels, between the current value label\",\n \"and the slider.\"\n ].join(\" \")\n },\n prefix: {\n valType: \"string\",\n description: \"When currentvalue.visible is true, this sets the prefix of the label.\"\n },\n suffix: {\n valType: \"string\",\n description: \"When currentvalue.visible is true, this sets the suffix of the label.\"\n },\n font: VM({\n description: \"Sets the font of the current value label text.\"\n })\n },\n font: VM({\n description: \"Sets the font of the slider step labels.\"\n }),\n activebgcolor: {\n valType: \"color\",\n dflt: $l.gripBgActiveColor,\n description: [\n \"Sets the background color of the slider grip\",\n \"while dragging.\"\n ].join(\" \")\n },\n bgcolor: {\n valType: \"color\",\n dflt: $l.railBgColor,\n description: \"Sets the background color of the slider.\"\n },\n bordercolor: {\n valType: \"color\",\n dflt: $l.railBorderColor,\n description: \"Sets the color of the border enclosing the slider.\"\n },\n borderwidth: {\n valType: \"number\",\n min: 0,\n dflt: $l.railBorderWidth,\n description: \"Sets the width (in px) of the border enclosing the slider.\"\n },\n ticklen: {\n valType: \"number\",\n min: 0,\n dflt: $l.tickLength,\n description: \"Sets the length in pixels of step tick marks\"\n },\n tickcolor: {\n valType: \"color\",\n dflt: $l.tickColor,\n description: \"Sets the color of the border enclosing the slider.\"\n },\n tickwidth: {\n valType: \"number\",\n min: 0,\n dflt: 1,\n description: \"Sets the tick width (in px).\"\n },\n minorticklen: {\n valType: \"number\",\n min: 0,\n dflt: $l.minorTickLength,\n description: \"Sets the length in pixels of minor step tick marks\"\n }\n}), \"arraydraw\", \"from-root\"), ou = Ue, E6 = Ji, F6 = D6, pie = Kp, mie = pie.name, gie = F6.steps, yie = function(t, r) {\n E6(t, r, {\n name: mie,\n handleItemDefaults: bie\n });\n};\nfunction bie(e, t, r) {\n function n(d, h) {\n return ou.coerce(e, t, F6, d, h);\n }\n for (var a = E6(e, t, {\n name: \"steps\",\n handleItemDefaults: _ie\n }), i = 0, o = 0; o < a.length; o++)\n a[o].visible && i++;\n var l;\n if (i < 2 ? l = t.visible = !1 : l = n(\"visible\"), !!l) {\n t._stepCount = i;\n var s = t._visibleSteps = ou.filterVisible(a), u = n(\"active\");\n (a[u] || {}).visible || (t.active = s[0]._index), n(\"x\"), n(\"y\"), ou.noneOrAll(e, t, [\"x\", \"y\"]), n(\"xanchor\"), n(\"yanchor\"), n(\"len\"), n(\"lenmode\"), n(\"pad.t\"), n(\"pad.r\"), n(\"pad.b\"), n(\"pad.l\"), ou.coerceFont(n, \"font\", r.font);\n var f = n(\"currentvalue.visible\");\n f && (n(\"currentvalue.xanchor\"), n(\"currentvalue.prefix\"), n(\"currentvalue.suffix\"), n(\"currentvalue.offset\"), ou.coerceFont(n, \"currentvalue.font\", t.font)), n(\"transition.duration\"), n(\"transition.easing\"), n(\"bgcolor\"), n(\"activebgcolor\"), n(\"bordercolor\"), n(\"borderwidth\"), n(\"ticklen\"), n(\"tickwidth\"), n(\"tickcolor\"), n(\"minorticklen\");\n }\n}\nfunction _ie(e, t) {\n function r(i, o) {\n return ou.coerce(e, t, gie, i, o);\n }\n var n;\n if (e.method !== \"skip\" && !Array.isArray(e.args) ? n = t.visible = !1 : n = r(\"visible\"), n) {\n r(\"method\"), r(\"args\");\n var a = r(\"label\", \"step-\" + t._index);\n r(\"value\", a), r(\"execute\");\n }\n}\nvar ci = lr, Fv = Tn, hl = nr, vi = Sr, _a = Ue, xie = _a.strTranslate, lc = Rn, wie = Mr.arrayEditor, Qt = Kp, p_ = On, R6 = p_.LINE_SPACING, h0 = p_.FROM_TL, v0 = p_.FROM_BR, Tie = function(t) {\n var r = t._context.staticPlot, n = t._fullLayout, a = kie(n, t), i = n._infolayer.selectAll(\"g.\" + Qt.containerClassName).data(a.length > 0 ? [0] : []);\n i.enter().append(\"g\").classed(Qt.containerClassName, !0).style(\"cursor\", r ? null : \"ew-resize\");\n function o(f) {\n f._commandObserver && (f._commandObserver.remove(), delete f._commandObserver), Fv.autoMargin(t, P6(f));\n }\n if (i.exit().each(function() {\n ci.select(this).selectAll(\"g.\" + Qt.groupClassName).each(o);\n }).remove(), a.length !== 0) {\n var l = i.selectAll(\"g.\" + Qt.groupClassName).data(a, Aie);\n l.enter().append(\"g\").classed(Qt.groupClassName, !0), l.exit().each(o).remove();\n for (var s = 0; s < a.length; s++) {\n var u = a[s];\n Mie(t, u);\n }\n l.each(function(f) {\n var d = ci.select(this);\n Eie(f), Fv.manageCommandObserver(t, f, f._visibleSteps, function(h) {\n var p = d.data()[0];\n p.active !== h.index && (p._dragging || z6(t, d, p, h.index, !1, !0));\n }), Sie(t, ci.select(this), f);\n });\n }\n};\nfunction P6(e) {\n return Qt.autoMarginIdRoot + e._index;\n}\nfunction kie(e, t) {\n for (var r = e[Qt.name], n = [], a = 0; a < r.length; a++) {\n var i = r[a];\n i.visible && (i._gd = t, n.push(i));\n }\n return n;\n}\nfunction Aie(e) {\n return e._index;\n}\nfunction Mie(e, t) {\n var r = vi.tester.selectAll(\"g.\" + Qt.labelGroupClass).data(t._visibleSteps);\n r.enter().append(\"g\").classed(Qt.labelGroupClass, !0);\n var n = 0, a = 0;\n r.each(function(v) {\n var m = ci.select(this), g = $6(m, { step: v }, t), y = g.node();\n if (y) {\n var w = vi.bBox(y);\n a = Math.max(a, w.height), n = Math.max(n, w.width);\n }\n }), r.remove();\n var i = t._dims = {};\n i.inputAreaWidth = Math.max(\n Qt.railWidth,\n Qt.gripHeight\n );\n var o = e._fullLayout._size;\n i.lx = o.l + o.w * t.x, i.ly = o.t + o.h * (1 - t.y), t.lenmode === \"fraction\" ? i.outerLength = Math.round(o.w * t.len) : i.outerLength = t.len, i.inputAreaStart = 0, i.inputAreaLength = Math.round(i.outerLength - t.pad.l - t.pad.r);\n var l = i.inputAreaLength - 2 * Qt.stepInset, s = l / (t._stepCount - 1), u = n + Qt.labelPadding;\n if (i.labelStride = Math.max(1, Math.ceil(u / s)), i.labelHeight = a, i.currentValueMaxWidth = 0, i.currentValueHeight = 0, i.currentValueTotalHeight = 0, i.currentValueMaxLines = 1, t.currentvalue.visible) {\n var f = vi.tester.append(\"g\");\n r.each(function(v) {\n var m = Rv(f, t, v.label), g = m.node() && vi.bBox(m.node()) || { width: 0, height: 0 }, y = lc.lineCount(m);\n i.currentValueMaxWidth = Math.max(i.currentValueMaxWidth, Math.ceil(g.width)), i.currentValueHeight = Math.max(i.currentValueHeight, Math.ceil(g.height)), i.currentValueMaxLines = Math.max(i.currentValueMaxLines, y);\n }), i.currentValueTotalHeight = i.currentValueHeight + t.currentvalue.offset, f.remove();\n }\n i.height = i.currentValueTotalHeight + Qt.tickOffset + t.ticklen + Qt.labelOffset + i.labelHeight + t.pad.t + t.pad.b;\n var d = \"left\";\n _a.isRightAnchor(t) && (i.lx -= i.outerLength, d = \"right\"), _a.isCenterAnchor(t) && (i.lx -= i.outerLength / 2, d = \"center\");\n var h = \"top\";\n _a.isBottomAnchor(t) && (i.ly -= i.height, h = \"bottom\"), _a.isMiddleAnchor(t) && (i.ly -= i.height / 2, h = \"middle\"), i.outerLength = Math.ceil(i.outerLength), i.height = Math.ceil(i.height), i.lx = Math.round(i.lx), i.ly = Math.round(i.ly);\n var p = {\n y: t.y,\n b: i.height * v0[h],\n t: i.height * h0[h]\n };\n t.lenmode === \"fraction\" ? (p.l = 0, p.xl = t.x - t.len * h0[d], p.r = 0, p.xr = t.x + t.len * v0[d]) : (p.x = t.x, p.l = i.outerLength * h0[d], p.r = i.outerLength * v0[d]), Fv.autoMargin(e, P6(t), p);\n}\nfunction Sie(e, t, r) {\n (r.steps[r.active] || {}).visible || (r.active = r._visibleSteps[0]._index), t.call(Rv, r).call(Rie, r).call(Lie, r).call(Die, r).call(Fie, e, r).call(Cie, e, r);\n var n = r._dims;\n vi.setTranslate(t, n.lx + r.pad.l, n.ly + r.pad.t), t.call(N6, r, !1), t.call(Rv, r);\n}\nfunction Rv(e, t, r) {\n if (t.currentvalue.visible) {\n var n = t._dims, a, i;\n switch (t.currentvalue.xanchor) {\n case \"right\":\n a = n.inputAreaLength - Qt.currentValueInset - n.currentValueMaxWidth, i = \"left\";\n break;\n case \"center\":\n a = n.inputAreaLength * 0.5, i = \"middle\";\n break;\n default:\n a = Qt.currentValueInset, i = \"left\";\n }\n var o = _a.ensureSingle(e, \"text\", Qt.labelClass, function(h) {\n h.attr({\n \"text-anchor\": i,\n \"data-notex\": 1\n });\n }), l = t.currentvalue.prefix ? t.currentvalue.prefix : \"\";\n if (typeof r == \"string\")\n l += r;\n else {\n var s = t.steps[t.active].label, u = t._gd._fullLayout._meta;\n u && (s = _a.templateString(s, u)), l += s;\n }\n t.currentvalue.suffix && (l += t.currentvalue.suffix), o.call(vi.font, t.currentvalue.font).text(l).call(lc.convertToTspans, t._gd);\n var f = lc.lineCount(o), d = (n.currentValueMaxLines + 1 - f) * t.currentvalue.font.size * R6;\n return lc.positionText(o, a, d), o;\n }\n}\nfunction Cie(e, t, r) {\n var n = _a.ensureSingle(e, \"rect\", Qt.gripRectClass, function(a) {\n a.call(I6, t, e, r).style(\"pointer-events\", \"all\");\n });\n n.attr({\n width: Qt.gripWidth,\n height: Qt.gripHeight,\n rx: Qt.gripRadius,\n ry: Qt.gripRadius\n }).call(hl.stroke, r.bordercolor).call(hl.fill, r.bgcolor).style(\"stroke-width\", r.borderwidth + \"px\");\n}\nfunction $6(e, t, r) {\n var n = _a.ensureSingle(e, \"text\", Qt.labelClass, function(o) {\n o.attr({\n \"text-anchor\": \"middle\",\n \"data-notex\": 1\n });\n }), a = t.step.label, i = r._gd._fullLayout._meta;\n return i && (a = _a.templateString(a, i)), n.call(vi.font, r.font).text(a).call(lc.convertToTspans, r._gd), n;\n}\nfunction Lie(e, t) {\n var r = _a.ensureSingle(e, \"g\", Qt.labelsClass), n = t._dims, a = r.selectAll(\"g.\" + Qt.labelGroupClass).data(n.labelSteps);\n a.enter().append(\"g\").classed(Qt.labelGroupClass, !0), a.exit().remove(), a.each(function(i) {\n var o = ci.select(this);\n o.call($6, i, t), vi.setTranslate(\n o,\n m_(t, i.fraction),\n Qt.tickOffset + t.ticklen + // position is the baseline of the top line of text only, even\n // if the label spans multiple lines\n t.font.size * R6 + Qt.labelOffset + n.currentValueTotalHeight\n );\n });\n}\nfunction qM(e, t, r, n, a) {\n var i = Math.round(n * (r._stepCount - 1)), o = r._visibleSteps[i]._index;\n o !== r.active && z6(e, t, r, o, !0, a);\n}\nfunction z6(e, t, r, n, a, i) {\n var o = r.active;\n r.active = n, wie(e.layout, Qt.name, r).applyUpdate(\"active\", n);\n var l = r.steps[r.active];\n t.call(N6, r, i), t.call(Rv, r), e.emit(\"plotly_sliderchange\", {\n slider: r,\n step: r.steps[r.active],\n interaction: a,\n previousActive: o\n }), l && l.method && a && (t._nextMethod ? (t._nextMethod.step = l, t._nextMethod.doCallback = a, t._nextMethod.doTransition = i) : (t._nextMethod = { step: l, doCallback: a, doTransition: i }, t._nextMethodRaf = window.requestAnimationFrame(function() {\n var s = t._nextMethod.step;\n s.method && (s.execute && Fv.executeAPICommand(e, s.method, s.args), t._nextMethod = null, t._nextMethodRaf = null);\n })));\n}\nfunction I6(e, t, r) {\n if (t._context.staticPlot) return;\n var n = r.node(), a = ci.select(t);\n function i() {\n return r.data()[0];\n }\n function o() {\n var l = i();\n t.emit(\"plotly_sliderstart\", { slider: l });\n var s = r.select(\".\" + Qt.gripRectClass);\n ci.event.stopPropagation(), ci.event.preventDefault(), s.call(hl.fill, l.activebgcolor);\n var u = WM(l, ci.mouse(n)[0]);\n qM(t, r, l, u, !0), l._dragging = !0;\n function f() {\n var h = i(), p = WM(h, ci.mouse(n)[0]);\n qM(t, r, h, p, !1);\n }\n a.on(\"mousemove\", f), a.on(\"touchmove\", f);\n function d() {\n var h = i();\n h._dragging = !1, s.call(hl.fill, h.bgcolor), a.on(\"mouseup\", null), a.on(\"mousemove\", null), a.on(\"touchend\", null), a.on(\"touchmove\", null), t.emit(\"plotly_sliderend\", {\n slider: h,\n step: h.steps[h.active]\n });\n }\n a.on(\"mouseup\", d), a.on(\"touchend\", d);\n }\n e.on(\"mousedown\", o), e.on(\"touchstart\", o);\n}\nfunction Die(e, t) {\n var r = e.selectAll(\"rect.\" + Qt.tickRectClass).data(t._visibleSteps), n = t._dims;\n r.enter().append(\"rect\").classed(Qt.tickRectClass, !0), r.exit().remove(), r.attr({\n width: t.tickwidth + \"px\",\n \"shape-rendering\": \"crispEdges\"\n }), r.each(function(a, i) {\n var o = i % n.labelStride === 0, l = ci.select(this);\n l.attr({ height: o ? t.ticklen : t.minorticklen }).call(hl.fill, t.tickcolor), vi.setTranslate(\n l,\n m_(t, i / (t._stepCount - 1)) - 0.5 * t.tickwidth,\n (o ? Qt.tickOffset : Qt.minorTickOffset) + n.currentValueTotalHeight\n );\n });\n}\nfunction Eie(e) {\n var t = e._dims;\n t.labelSteps = [];\n for (var r = e._stepCount, n = 0; n < r; n += t.labelStride)\n t.labelSteps.push({\n fraction: n / (r - 1),\n step: e._visibleSteps[n]\n });\n}\nfunction N6(e, t, r) {\n for (var n = e.select(\"rect.\" + Qt.gripRectClass), a = 0, i = 0; i < t._stepCount; i++)\n if (t._visibleSteps[i]._index === t.active) {\n a = i;\n break;\n }\n var o = m_(t, a / (t._stepCount - 1));\n if (!t._invokingCommand) {\n var l = n;\n r && t.transition.duration > 0 && (l = l.transition().duration(t.transition.duration).ease(t.transition.easing)), l.attr(\"transform\", xie(o - Qt.gripWidth * 0.5, t._dims.currentValueTotalHeight));\n }\n}\nfunction m_(e, t) {\n var r = e._dims;\n return r.inputAreaStart + Qt.stepInset + (r.inputAreaLength - 2 * Qt.stepInset) * Math.min(1, Math.max(0, t));\n}\nfunction WM(e, t) {\n var r = e._dims;\n return Math.min(1, Math.max(0, (t - Qt.stepInset - r.inputAreaStart) / (r.inputAreaLength - 2 * Qt.stepInset - 2 * r.inputAreaStart)));\n}\nfunction Fie(e, t, r) {\n var n = r._dims, a = _a.ensureSingle(e, \"rect\", Qt.railTouchRectClass, function(i) {\n i.call(I6, t, e, r).style(\"pointer-events\", \"all\");\n });\n a.attr({\n width: n.inputAreaLength,\n height: Math.max(n.inputAreaWidth, Qt.tickOffset + r.ticklen + n.labelHeight)\n }).call(hl.fill, r.bgcolor).attr(\"opacity\", 0), vi.setTranslate(a, 0, n.currentValueTotalHeight);\n}\nfunction Rie(e, t) {\n var r = t._dims, n = r.inputAreaLength - Qt.railInset * 2, a = _a.ensureSingle(e, \"rect\", Qt.railRectClass);\n a.attr({\n width: n,\n height: Qt.railWidth,\n rx: Qt.railRadius,\n ry: Qt.railRadius,\n \"shape-rendering\": \"crispEdges\"\n }).call(hl.stroke, t.bordercolor).call(hl.fill, t.bgcolor).style(\"stroke-width\", t.borderwidth + \"px\"), vi.setTranslate(\n a,\n Qt.railInset,\n (r.inputAreaWidth - Qt.railWidth) * 0.5 + r.currentValueTotalHeight\n );\n}\nvar Pie = Kp, $ie = {\n moduleType: \"component\",\n name: Pie.name,\n layoutAttributes: D6,\n supplyLayoutDefaults: yie,\n draw: Tie\n}, ZM = da, g_ = {\n bgcolor: {\n valType: \"color\",\n dflt: ZM.background,\n editType: \"plot\",\n description: \"Sets the background color of the range slider.\"\n },\n bordercolor: {\n valType: \"color\",\n dflt: ZM.defaultLine,\n editType: \"plot\",\n description: \"Sets the border color of the range slider.\"\n },\n borderwidth: {\n valType: \"integer\",\n dflt: 0,\n min: 0,\n editType: \"plot\",\n description: \"Sets the border width of the range slider.\"\n },\n autorange: {\n valType: \"boolean\",\n dflt: !0,\n editType: \"calc\",\n impliedEdits: { \"range[0]\": void 0, \"range[1]\": void 0 },\n description: [\n \"Determines whether or not the range slider range is\",\n \"computed in relation to the input data.\",\n \"If `range` is provided, then `autorange` is set to *false*.\"\n ].join(\" \")\n },\n range: {\n valType: \"info_array\",\n items: [\n { valType: \"any\", editType: \"calc\", impliedEdits: { \"^autorange\": !1 } },\n { valType: \"any\", editType: \"calc\", impliedEdits: { \"^autorange\": !1 } }\n ],\n editType: \"calc\",\n impliedEdits: { autorange: !1 },\n description: [\n \"Sets the range of the range slider.\",\n \"If not set, defaults to the full xaxis range.\",\n \"If the axis `type` is *log*, then you must take the\",\n \"log of your desired range.\",\n \"If the axis `type` is *date*, it should be date strings,\",\n \"like date data, though Date objects and unix milliseconds\",\n \"will be accepted and converted to strings.\",\n \"If the axis `type` is *category*, it should be numbers,\",\n \"using the scale where each category is assigned a serial\",\n \"number from zero in the order it appears.\"\n ].join(\" \")\n },\n thickness: {\n valType: \"number\",\n dflt: 0.15,\n min: 0,\n max: 1,\n editType: \"plot\",\n description: [\n \"The height of the range slider as a fraction of the\",\n \"total plot area height.\"\n ].join(\" \")\n },\n visible: {\n valType: \"boolean\",\n dflt: !0,\n editType: \"calc\",\n description: [\n \"Determines whether or not the range slider will be visible.\",\n \"If visible, perpendicular axes will be set to `fixedrange`\"\n ].join(\" \")\n },\n editType: \"calc\"\n}, O6 = {\n // not really a 'subplot' attribute container,\n // but this is the flag we use to denote attributes that\n // support yaxis, yaxis2, yaxis3, ... counters\n _isSubplotObj: !0,\n rangemode: {\n valType: \"enumerated\",\n values: [\"auto\", \"fixed\", \"match\"],\n dflt: \"match\",\n editType: \"calc\",\n description: [\n \"Determines whether or not the range of this axis in\",\n \"the rangeslider use the same value than in the main plot\",\n \"when zooming in/out.\",\n \"If *auto*, the autorange will be used.\",\n \"If *fixed*, the `range` is used.\",\n \"If *match*, the current range of the corresponding y-axis on the main subplot is used.\"\n ].join(\" \")\n },\n range: {\n valType: \"info_array\",\n items: [\n { valType: \"any\", editType: \"plot\" },\n { valType: \"any\", editType: \"plot\" }\n ],\n editType: \"plot\",\n description: [\n \"Sets the range of this axis for the rangeslider.\"\n ].join(\" \")\n },\n editType: \"calc\"\n}, Jp = {}, y_ = {\n // attribute container name\n name: \"rangeslider\",\n // class names\n containerClassName: \"rangeslider-container\",\n bgClassName: \"rangeslider-bg\",\n rangePlotClassName: \"rangeslider-rangeplot\",\n maskMinClassName: \"rangeslider-mask-min\",\n maskMaxClassName: \"rangeslider-mask-max\",\n slideBoxClassName: \"rangeslider-slidebox\",\n grabberMinClassName: \"rangeslider-grabber-min\",\n grabAreaMinClassName: \"rangeslider-grabarea-min\",\n handleMinClassName: \"rangeslider-handle-min\",\n grabberMaxClassName: \"rangeslider-grabber-max\",\n grabAreaMaxClassName: \"rangeslider-grabarea-max\",\n handleMaxClassName: \"rangeslider-handle-max\",\n maskMinOppAxisClassName: \"rangeslider-mask-min-opp-axis\",\n maskMaxOppAxisClassName: \"rangeslider-mask-max-opp-axis\",\n // style constants\n maskColor: \"rgba(0,0,0,0.4)\",\n maskOppAxisColor: \"rgba(0,0,0,0.2)\",\n slideBoxFill: \"transparent\",\n slideBoxCursor: \"ew-resize\",\n grabAreaFill: \"transparent\",\n grabAreaCursor: \"col-resize\",\n grabAreaWidth: 10,\n handleWidth: 4,\n handleRadius: 1,\n handleStrokeWidth: 1,\n extraPad: 15\n}, zie = gn, Iie = Rn, H6 = y_, Nie = On.LINE_SPACING, Pv = H6.name;\nfunction B6(e) {\n var t = e && e[Pv];\n return t && t.visible;\n}\nJp.isVisible = B6;\nJp.makeData = function(e) {\n var t = zie.list({ _fullLayout: e }, \"x\", !0), r = e.margin, n = [];\n if (!e._has(\"gl2d\"))\n for (var a = 0; a < t.length; a++) {\n var i = t[a];\n if (B6(i)) {\n n.push(i);\n var o = i[Pv];\n o._id = Pv + i._id, o._height = (e.height - r.b - r.t) * o.thickness, o._offsetShift = Math.floor(o.borderwidth / 2);\n }\n }\n e._rangeSliderData = n;\n};\nJp.autoMarginOpts = function(e, t) {\n var r = e._fullLayout, n = t[Pv], a = t._id.charAt(0), i = 0, o = 0;\n if (t.side === \"bottom\" && (i = t._depth, t.title.text !== r._dfltTitle[a])) {\n o = 1.5 * t.title.font.size + 10 + n._offsetShift;\n var l = (t.title.text.match(Iie.BR_TAG_ALL) || []).length;\n o += l * t.title.font.size * Nie;\n }\n return {\n x: 0,\n y: t._counterDomainMin,\n l: 0,\n r: 0,\n t: 0,\n b: n._height + i + Math.max(r.margin.b, o),\n pad: H6.extraPad + n._offsetShift * 2\n };\n};\nvar p0, YM;\nfunction Oie() {\n if (YM) return p0;\n YM = 1;\n var e = Ue, t = Mr, r = gn, n = g_, a = O6;\n return p0 = function(o, l, s) {\n var u = o[s], f = l[s];\n if (!(u.rangeslider || l._requestRangeslider[f._id])) return;\n e.isPlainObject(u.rangeslider) || (u.rangeslider = {});\n var d = u.rangeslider, h = t.newContainer(f, \"rangeslider\");\n function p(F, $) {\n return e.coerce(d, h, n, F, $);\n }\n var v, m;\n function g(F, $) {\n return e.coerce(v, m, a, F, $);\n }\n var y = p(\"visible\");\n if (y) {\n p(\"bgcolor\", l.plot_bgcolor), p(\"bordercolor\"), p(\"borderwidth\"), p(\"thickness\"), p(\"autorange\", !f.isValidRange(d.range)), p(\"range\");\n var w = l._subplots;\n if (w)\n for (var k = w.cartesian.filter(function(F) {\n return F.substr(0, F.indexOf(\"y\")) === r.name2id(s);\n }).map(function(F) {\n return F.substr(F.indexOf(\"y\"), F.length);\n }), x = e.simpleMap(k, r.id2name), _ = 0; _ < x.length; _++) {\n var T = x[_];\n v = d[T] || {}, m = t.newContainer(h, T, \"yaxis\");\n var S = l[T], M;\n v.range && S.isValidRange(v.range) && (M = \"fixed\");\n var L = g(\"rangemode\", M);\n L !== \"match\" && g(\"range\", S.range.slice());\n }\n h._input = d;\n }\n }, p0;\n}\nvar m0, XM;\nfunction Hie() {\n if (XM) return m0;\n XM = 1;\n var e = gn.list, t = Lp.getAutoRange, r = y_;\n return m0 = function(a) {\n for (var i = e(a, \"x\", !0), o = 0; o < i.length; o++) {\n var l = i[o], s = l[r.name];\n s && s.visible && s.autorange && (s._input.autorange = !0, s._input.range = s.range = t(a, l));\n }\n }, m0;\n}\nvar g0, KM;\nfunction Bie() {\n if (KM) return g0;\n KM = 1;\n var e = lr, t = Nt, r = Tn, n = Ue, a = n.strTranslate, i = Sr, o = nr, l = Cp, s = yn, u = gn, f = Qi, d = xs, h = y_;\n g0 = function(M) {\n for (var L = M._fullLayout, F = L._rangeSliderData, $ = 0; $ < F.length; $++) {\n var I = F[$][h.name];\n I._clipId = I._id + \"-\" + L._uid;\n }\n function O(K) {\n return K._name;\n }\n var G = L._infolayer.selectAll(\"g.\" + h.containerClassName).data(F, O);\n G.exit().each(function(K) {\n var V = K[h.name];\n L._topdefs.select(\"#\" + V._clipId).remove();\n }).remove(), F.length !== 0 && (G.enter().append(\"g\").classed(h.containerClassName, !0).attr(\"pointer-events\", \"all\"), G.each(function(K) {\n var V = e.select(this), z = K[h.name], P = L[u.id2name(K.anchor)], R = z[u.id2name(K.anchor)];\n if (z.range) {\n var H = n.simpleMap(z.range, K.r2l), B = n.simpleMap(K.range, K.r2l), W;\n B[0] < B[1] ? W = [\n Math.min(H[0], B[0]),\n Math.max(H[1], B[1])\n ] : W = [\n Math.max(H[0], B[0]),\n Math.min(H[1], B[1])\n ], z.range = z._input.range = n.simpleMap(W, K.l2r);\n }\n K.cleanRange(\"rangeslider.range\");\n var ee = L._size, re = K.domain;\n z._width = ee.w * (re[1] - re[0]);\n var ae = Math.round(ee.l + ee.w * re[0]), Q = Math.round(\n ee.t + ee.h * (1 - K._counterDomainMin) + (K.side === \"bottom\" ? K._depth : 0) + z._offsetShift + h.extraPad\n );\n V.attr(\"transform\", a(ae, Q)), z._rl = n.simpleMap(z.range, K.r2l);\n var ue = z._rl[0], j = z._rl[1], U = j - ue;\n if (z.p2d = function(Fe) {\n return Fe / z._width * U + ue;\n }, z.d2p = function(Fe) {\n return (Fe - ue) / U * z._width;\n }, K.rangebreaks) {\n var Z = K.locateBreaks(ue, j);\n if (Z.length) {\n var le, J, pe = 0;\n for (le = 0; le < Z.length; le++)\n J = Z[le], pe += J.max - J.min;\n var ge = z._width / (j - ue - pe), ve = [-ge * ue];\n for (le = 0; le < Z.length; le++)\n J = Z[le], ve.push(ve[ve.length - 1] - ge * (J.max - J.min));\n for (z.d2p = function(Fe) {\n for (var Oe = ve[0], Re = 0; Re < Z.length; Re++) {\n var We = Z[Re];\n if (Fe >= We.max) Oe = ve[Re + 1];\n else if (Fe < We.min) break;\n }\n return Oe + ge * Fe;\n }, le = 0; le < Z.length; le++)\n J = Z[le], J.pmin = z.d2p(J.min), J.pmax = z.d2p(J.max);\n z.p2d = function(Fe) {\n for (var Oe = ve[0], Re = 0; Re < Z.length; Re++) {\n var We = Z[Re];\n if (Fe >= We.pmax) Oe = ve[Re + 1];\n else if (Fe < We.pmin) break;\n }\n return (Fe - Oe) / ge;\n };\n }\n }\n if (R.rangemode !== \"match\") {\n var me = P.r2l(R.range[0]), Le = P.r2l(R.range[1]), ze = Le - me;\n z.d2pOppAxis = function(Fe) {\n return (Fe - me) / ze * z._height;\n };\n }\n V.call(y, M, K, z).call(w, M, K, z).call(k, M, K, z).call(_, M, K, z, R).call(T, M, K, z).call(S, M, K, z), v(V, M, K, z), g(V, M, K, z, P, R), K.side === \"bottom\" && l.draw(M, K._id + \"title\", {\n propContainer: K,\n propName: K._name + \".title\",\n placeholder: L._dfltTitle.x,\n attributes: {\n x: K._offset + K._length / 2,\n y: Q + z._height + z._offsetShift + 10 + 1.5 * K.title.font.size,\n \"text-anchor\": \"middle\"\n }\n });\n }));\n };\n function p(M) {\n return typeof M.clientX == \"number\" ? M.clientX : M.touches && M.touches.length > 0 ? M.touches[0].clientX : 0;\n }\n function v(M, L, F, $) {\n if (L._context.staticPlot) return;\n var I = M.select(\"rect.\" + h.slideBoxClassName).node(), O = M.select(\"rect.\" + h.grabAreaMinClassName).node(), G = M.select(\"rect.\" + h.grabAreaMaxClassName).node();\n function K() {\n var V = e.event, z = V.target, P = p(V), R = P - M.node().getBoundingClientRect().left, H = $.d2p(F._rl[0]), B = $.d2p(F._rl[1]), W = f.coverSlip();\n this.addEventListener(\"touchmove\", ee), this.addEventListener(\"touchend\", re), W.addEventListener(\"mousemove\", ee), W.addEventListener(\"mouseup\", re);\n function ee(ae) {\n var Q = p(ae), ue = +Q - P, j, U, Z;\n switch (z) {\n case I:\n if (Z = \"ew-resize\", H + ue > F._length || B + ue < 0)\n return;\n j = H + ue, U = B + ue;\n break;\n case O:\n if (Z = \"col-resize\", H + ue > F._length)\n return;\n j = H + ue, U = B;\n break;\n case G:\n if (Z = \"col-resize\", B + ue < 0)\n return;\n j = H, U = B + ue;\n break;\n default:\n Z = \"ew-resize\", j = R, U = R + ue;\n break;\n }\n if (U < j) {\n var le = U;\n U = j, j = le;\n }\n $._pixelMin = j, $._pixelMax = U, d(e.select(W), Z), m(M, L, F, $);\n }\n function re() {\n W.removeEventListener(\"mousemove\", ee), W.removeEventListener(\"mouseup\", re), this.removeEventListener(\"touchmove\", ee), this.removeEventListener(\"touchend\", re), n.removeElement(W);\n }\n }\n M.on(\"mousedown\", K), M.on(\"touchstart\", K);\n }\n function m(M, L, F, $) {\n function I(K) {\n return F.l2r(n.constrain(K, $._rl[0], $._rl[1]));\n }\n var O = I($.p2d($._pixelMin)), G = I($.p2d($._pixelMax));\n window.requestAnimationFrame(function() {\n t.call(\"_guiRelayout\", L, F._name + \".range\", [O, G]);\n });\n }\n function g(M, L, F, $, I, O) {\n var G = h.handleWidth / 2;\n function K(ae) {\n return n.constrain(ae, 0, $._width);\n }\n function V(ae) {\n return n.constrain(ae, 0, $._height);\n }\n function z(ae) {\n return n.constrain(ae, -G, $._width + G);\n }\n var P = K($.d2p(F._rl[0])), R = K($.d2p(F._rl[1]));\n if (M.select(\"rect.\" + h.slideBoxClassName).attr(\"x\", P).attr(\"width\", R - P), M.select(\"rect.\" + h.maskMinClassName).attr(\"width\", P), M.select(\"rect.\" + h.maskMaxClassName).attr(\"x\", R).attr(\"width\", $._width - R), O.rangemode !== \"match\") {\n var H = $._height - V($.d2pOppAxis(I._rl[1])), B = $._height - V($.d2pOppAxis(I._rl[0]));\n M.select(\"rect.\" + h.maskMinOppAxisClassName).attr(\"x\", P).attr(\"height\", H).attr(\"width\", R - P), M.select(\"rect.\" + h.maskMaxOppAxisClassName).attr(\"x\", P).attr(\"y\", B).attr(\"height\", $._height - B).attr(\"width\", R - P), M.select(\"rect.\" + h.slideBoxClassName).attr(\"y\", H).attr(\"height\", B - H);\n }\n var W = 0.5, ee = Math.round(z(P - G)) - W, re = Math.round(z(R - G)) + W;\n M.select(\"g.\" + h.grabberMinClassName).attr(\"transform\", a(ee, W)), M.select(\"g.\" + h.grabberMaxClassName).attr(\"transform\", a(re, W));\n }\n function y(M, L, F, $) {\n var I = n.ensureSingle(M, \"rect\", h.bgClassName, function(V) {\n V.attr({\n x: 0,\n y: 0,\n \"shape-rendering\": \"crispEdges\"\n });\n }), O = $.borderwidth % 2 === 0 ? $.borderwidth : $.borderwidth - 1, G = -$._offsetShift, K = i.crispRound(L, $.borderwidth);\n I.attr({\n width: $._width + O,\n height: $._height + O,\n transform: a(G, G),\n \"stroke-width\": K\n }).call(o.stroke, $.bordercolor).call(o.fill, $.bgcolor);\n }\n function w(M, L, F, $) {\n var I = L._fullLayout, O = n.ensureSingleById(I._topdefs, \"clipPath\", $._clipId, function(G) {\n G.append(\"rect\").attr({ x: 0, y: 0 });\n });\n O.select(\"rect\").attr({\n width: $._width,\n height: $._height\n });\n }\n function k(M, L, F, $) {\n var I = L.calcdata, O = M.selectAll(\"g.\" + h.rangePlotClassName).data(F._subplotsWith, n.identity);\n O.enter().append(\"g\").attr(\"class\", function(K) {\n return h.rangePlotClassName + \" \" + K;\n }).call(i.setClipUrl, $._clipId, L), O.order(), O.exit().remove();\n var G;\n O.each(function(K, V) {\n var z = e.select(this), P = V === 0, R = u.getFromId(L, K, \"y\"), H = R._name, B = $[H], W = {\n data: [],\n layout: {\n xaxis: {\n type: F.type,\n domain: [0, 1],\n range: $.range.slice(),\n calendar: F.calendar\n },\n width: $._width,\n height: $._height,\n margin: { t: 0, b: 0, l: 0, r: 0 }\n },\n _context: L._context\n };\n F.rangebreaks && (W.layout.xaxis.rangebreaks = F.rangebreaks), W.layout[H] = {\n type: R.type,\n domain: [0, 1],\n range: B.rangemode !== \"match\" ? B.range.slice() : R.range.slice(),\n calendar: R.calendar\n }, R.rangebreaks && (W.layout[H].rangebreaks = R.rangebreaks), r.supplyDefaults(W);\n var ee = W._fullLayout.xaxis, re = W._fullLayout[H];\n ee.clearCalc(), ee.setScale(), re.clearCalc(), re.setScale();\n var ae = {\n id: K,\n plotgroup: z,\n xaxis: ee,\n yaxis: re,\n isRangePlot: !0\n };\n P ? G = ae : (ae.mainplot = \"xy\", ae.mainplotinfo = G), s.rangePlot(L, ae, x(I, K));\n });\n }\n function x(M, L) {\n for (var F = [], $ = 0; $ < M.length; $++) {\n var I = M[$], O = I[0].trace;\n O.xaxis + O.yaxis === L && F.push(I);\n }\n return F;\n }\n function _(M, L, F, $, I) {\n var O = n.ensureSingle(M, \"rect\", h.maskMinClassName, function(z) {\n z.attr({\n x: 0,\n y: 0,\n \"shape-rendering\": \"crispEdges\"\n });\n });\n O.attr(\"height\", $._height).call(o.fill, h.maskColor);\n var G = n.ensureSingle(M, \"rect\", h.maskMaxClassName, function(z) {\n z.attr({\n y: 0,\n \"shape-rendering\": \"crispEdges\"\n });\n });\n if (G.attr(\"height\", $._height).call(o.fill, h.maskColor), I.rangemode !== \"match\") {\n var K = n.ensureSingle(M, \"rect\", h.maskMinOppAxisClassName, function(z) {\n z.attr({\n y: 0,\n \"shape-rendering\": \"crispEdges\"\n });\n });\n K.attr(\"width\", $._width).call(o.fill, h.maskOppAxisColor);\n var V = n.ensureSingle(M, \"rect\", h.maskMaxOppAxisClassName, function(z) {\n z.attr({\n y: 0,\n \"shape-rendering\": \"crispEdges\"\n });\n });\n V.attr(\"width\", $._width).style(\"border-top\", h.maskOppBorder).call(o.fill, h.maskOppAxisColor);\n }\n }\n function T(M, L, F, $) {\n if (!L._context.staticPlot) {\n var I = n.ensureSingle(M, \"rect\", h.slideBoxClassName, function(O) {\n O.attr({\n y: 0,\n cursor: h.slideBoxCursor,\n \"shape-rendering\": \"crispEdges\"\n });\n });\n I.attr({\n height: $._height,\n fill: h.slideBoxFill\n });\n }\n }\n function S(M, L, F, $) {\n var I = n.ensureSingle(M, \"g\", h.grabberMinClassName), O = n.ensureSingle(M, \"g\", h.grabberMaxClassName), G = {\n x: 0,\n width: h.handleWidth,\n rx: h.handleRadius,\n fill: o.background,\n stroke: o.defaultLine,\n \"stroke-width\": h.handleStrokeWidth,\n \"shape-rendering\": \"crispEdges\"\n }, K = {\n y: Math.round($._height / 4),\n height: Math.round($._height / 2)\n }, V = n.ensureSingle(I, \"rect\", h.handleMinClassName, function(B) {\n B.attr(G);\n });\n V.attr(K);\n var z = n.ensureSingle(O, \"rect\", h.handleMaxClassName, function(B) {\n B.attr(G);\n });\n z.attr(K);\n var P = {\n width: h.grabAreaWidth,\n x: 0,\n y: 0,\n fill: h.grabAreaFill,\n cursor: L._context.staticPlot ? void 0 : h.grabAreaCursor\n }, R = n.ensureSingle(I, \"rect\", h.grabAreaMinClassName, function(B) {\n B.attr(P);\n });\n R.attr(\"height\", $._height);\n var H = n.ensureSingle(O, \"rect\", h.grabAreaMaxClassName, function(B) {\n B.attr(P);\n });\n H.attr(\"height\", $._height);\n }\n return g0;\n}\nvar jie = Ue, Uie = g_, Gie = O6, y0 = Jp, Vie = {\n moduleType: \"component\",\n name: \"rangeslider\",\n schema: {\n subplots: {\n xaxis: {\n rangeslider: jie.extendFlat({}, Uie, {\n yaxis: Gie\n })\n }\n }\n },\n layoutAttributes: g_,\n handleDefaults: Oie(),\n calcAutorange: Hie(),\n draw: Bie(),\n isVisible: y0.isVisible,\n makeData: y0.makeData,\n autoMarginOpts: y0.autoMarginOpts\n}, qie = Fn, JM = da, Wie = Mr.templatedArray, Zie = Wie(\"button\", {\n visible: {\n valType: \"boolean\",\n dflt: !0,\n editType: \"plot\",\n description: \"Determines whether or not this button is visible.\"\n },\n step: {\n valType: \"enumerated\",\n values: [\"month\", \"year\", \"day\", \"hour\", \"minute\", \"second\", \"all\"],\n dflt: \"month\",\n editType: \"plot\",\n description: [\n \"The unit of measurement that the `count` value will set the range by.\"\n ].join(\" \")\n },\n stepmode: {\n valType: \"enumerated\",\n values: [\"backward\", \"todate\"],\n dflt: \"backward\",\n editType: \"plot\",\n description: [\n \"Sets the range update mode.\",\n \"If *backward*, the range update shifts the start of range\",\n \"back *count* times *step* milliseconds.\",\n \"If *todate*, the range update shifts the start of range\",\n \"back to the first timestamp from *count* times\",\n \"*step* milliseconds back.\",\n \"For example, with `step` set to *year* and `count` set to *1*\",\n \"the range update shifts the start of the range back to\",\n \"January 01 of the current year.\",\n \"Month and year *todate* are currently available only\",\n \"for the built-in (Gregorian) calendar.\"\n ].join(\" \")\n },\n count: {\n valType: \"number\",\n min: 0,\n dflt: 1,\n editType: \"plot\",\n description: [\n \"Sets the number of steps to take to update the range.\",\n \"Use with `step` to specify the update interval.\"\n ].join(\" \")\n },\n label: {\n valType: \"string\",\n editType: \"plot\",\n description: \"Sets the text label to appear on the button.\"\n },\n editType: \"plot\",\n description: [\n \"Sets the specifications for each buttons.\",\n \"By default, a range selector comes with no buttons.\"\n ].join(\" \")\n}), Qy = {\n visible: {\n valType: \"boolean\",\n editType: \"plot\",\n description: [\n \"Determines whether or not this range selector is visible.\",\n \"Note that range selectors are only available for x axes of\",\n \"`type` set to or auto-typed to *date*.\"\n ].join(\" \")\n },\n buttons: Zie,\n x: {\n valType: \"number\",\n min: -2,\n max: 3,\n editType: \"plot\",\n description: \"Sets the x position (in normalized coordinates) of the range selector.\"\n },\n xanchor: {\n valType: \"enumerated\",\n values: [\"auto\", \"left\", \"center\", \"right\"],\n dflt: \"left\",\n editType: \"plot\",\n description: [\n \"Sets the range selector's horizontal position anchor.\",\n \"This anchor binds the `x` position to the *left*, *center*\",\n \"or *right* of the range selector.\"\n ].join(\" \")\n },\n y: {\n valType: \"number\",\n min: -2,\n max: 3,\n editType: \"plot\",\n description: \"Sets the y position (in normalized coordinates) of the range selector.\"\n },\n yanchor: {\n valType: \"enumerated\",\n values: [\"auto\", \"top\", \"middle\", \"bottom\"],\n dflt: \"bottom\",\n editType: \"plot\",\n description: [\n \"Sets the range selector's vertical position anchor\",\n \"This anchor binds the `y` position to the *top*, *middle*\",\n \"or *bottom* of the range selector.\"\n ].join(\" \")\n },\n font: qie({\n editType: \"plot\",\n description: \"Sets the font of the range selector button text.\"\n }),\n bgcolor: {\n valType: \"color\",\n dflt: JM.lightLine,\n editType: \"plot\",\n description: \"Sets the background color of the range selector buttons.\"\n },\n activecolor: {\n valType: \"color\",\n editType: \"plot\",\n description: \"Sets the background color of the active range selector button.\"\n },\n bordercolor: {\n valType: \"color\",\n dflt: JM.defaultLine,\n editType: \"plot\",\n description: \"Sets the color of the border enclosing the range selector.\"\n },\n borderwidth: {\n valType: \"number\",\n min: 0,\n dflt: 0,\n editType: \"plot\",\n description: \"Sets the width (in px) of the border enclosing the range selector.\"\n },\n editType: \"plot\"\n}, j6 = {\n // 'y' position pad above counter axis domain\n yPad: 0.02,\n // minimum button width (regardless of text size)\n minButtonWidth: 30,\n // buttons rect radii\n rx: 3,\n ry: 3,\n // light fraction used to compute the 'activecolor' default\n lightAmount: 25,\n darkAmount: 10\n}, Wh = Ue, Yie = nr, Xie = Mr, Kie = Ji, U6 = Qy, e1 = j6, Jie = function(t, r, n, a, i) {\n var o = t.rangeselector || {}, l = Xie.newContainer(r, \"rangeselector\");\n function s(p, v) {\n return Wh.coerce(o, l, U6, p, v);\n }\n var u = Kie(o, l, {\n name: \"buttons\",\n handleItemDefaults: Qie,\n calendar: i\n }), f = s(\"visible\", u.length > 0);\n if (f) {\n var d = eoe(r, n, a);\n s(\"x\", d[0]), s(\"y\", d[1]), Wh.noneOrAll(t, r, [\"x\", \"y\"]), s(\"xanchor\"), s(\"yanchor\"), Wh.coerceFont(s, \"font\", n.font);\n var h = s(\"bgcolor\");\n s(\"activecolor\", Yie.contrast(h, e1.lightAmount, e1.darkAmount)), s(\"bordercolor\"), s(\"borderwidth\");\n }\n};\nfunction Qie(e, t, r, n) {\n var a = n.calendar;\n function i(s, u) {\n return Wh.coerce(e, t, U6.buttons, s, u);\n }\n var o = i(\"visible\");\n if (o) {\n var l = i(\"step\");\n l !== \"all\" && (a && a !== \"gregorian\" && (l === \"month\" || l === \"year\") ? t.stepmode = \"backward\" : i(\"stepmode\"), i(\"count\")), i(\"label\");\n }\n}\nfunction eoe(e, t, r) {\n for (var n = r.filter(function(l) {\n return t[l].anchor === e._id;\n }), a = 0, i = 0; i < n.length; i++) {\n var o = t[n[i]].domain;\n o && (a = Math.max(o[1], a));\n }\n return [e.domain[0], a + e1.yPad];\n}\nconst toe = /* @__PURE__ */ tp(VB);\nvar roe = toe, noe = Ue.titleCase, aoe = function(t, r) {\n var n = t._name, a = {};\n if (r.step === \"all\")\n a[n + \".autorange\"] = !0;\n else {\n var i = ioe(t, r);\n a[n + \".range[0]\"] = i[0], a[n + \".range[1]\"] = i[1];\n }\n return a;\n};\nfunction ioe(e, t) {\n var r = e.range, n = new Date(e.r2l(r[1])), a = t.step, i = roe[\"utc\" + noe(a)], o = t.count, l;\n switch (t.stepmode) {\n case \"backward\":\n l = e.l2r(+i.offset(n, -o));\n break;\n case \"todate\":\n var s = i.offset(n, -o);\n l = e.l2r(+i.ceil(s));\n break;\n }\n var u = r[1];\n return [l, u];\n}\nvar $v = lr, ooe = Nt, loe = Tn, QM = nr, G6 = Sr, go = Ue, eS = go.strTranslate, Zh = Rn, soe = gn, b_ = On, tS = b_.LINE_SPACING, rS = b_.FROM_TL, nS = b_.FROM_BR, t1 = j6, uoe = aoe, foe = function(t) {\n var r = t._fullLayout, n = r._infolayer.selectAll(\".rangeselector\").data(coe(t), doe);\n n.enter().append(\"g\").classed(\"rangeselector\", !0), n.exit().remove(), n.style({\n cursor: \"pointer\",\n \"pointer-events\": \"all\"\n }), n.each(function(a) {\n var i = $v.select(this), o = a, l = o.rangeselector, s = i.selectAll(\"g.button\").data(go.filterVisible(l.buttons));\n s.enter().append(\"g\").classed(\"button\", !0), s.exit().remove(), s.each(function(u) {\n var f = $v.select(this), d = uoe(o, u);\n u._isActive = hoe(o, u, d), f.call(b0, l, u), f.call(poe, l, u, t), f.on(\"click\", function() {\n t._dragged || ooe.call(\"_guiRelayout\", t, d);\n }), f.on(\"mouseover\", function() {\n u._isHovered = !0, f.call(b0, l, u);\n }), f.on(\"mouseout\", function() {\n u._isHovered = !1, f.call(b0, l, u);\n });\n }), goe(t, s, l, o._name, i);\n });\n};\nfunction coe(e) {\n for (var t = soe.list(e, \"x\", !0), r = [], n = 0; n < t.length; n++) {\n var a = t[n];\n a.rangeselector && a.rangeselector.visible && r.push(a);\n }\n return r;\n}\nfunction doe(e) {\n return e._id;\n}\nfunction hoe(e, t, r) {\n if (t.step === \"all\")\n return e.autorange === !0;\n var n = Object.keys(r);\n return e.range[0] === r[n[0]] && e.range[1] === r[n[1]];\n}\nfunction b0(e, t, r) {\n var n = go.ensureSingle(e, \"rect\", \"selector-rect\", function(a) {\n a.attr(\"shape-rendering\", \"crispEdges\");\n });\n n.attr({\n rx: t1.rx,\n ry: t1.ry\n }), n.call(QM.stroke, t.bordercolor).call(QM.fill, voe(t, r)).style(\"stroke-width\", t.borderwidth + \"px\");\n}\nfunction voe(e, t) {\n return t._isActive || t._isHovered ? e.activecolor : e.bgcolor;\n}\nfunction poe(e, t, r, n) {\n function a(o) {\n Zh.convertToTspans(o, n);\n }\n var i = go.ensureSingle(e, \"text\", \"selector-text\", function(o) {\n o.attr(\"text-anchor\", \"middle\");\n });\n i.call(G6.font, t.font).text(moe(r, n._fullLayout._meta)).call(a);\n}\nfunction moe(e, t) {\n return e.label ? t ? go.templateString(e.label, t) : e.label : e.step === \"all\" ? \"all\" : e.count + e.step.charAt(0);\n}\nfunction goe(e, t, r, n, a) {\n var i = 0, o = 0, l = r.borderwidth;\n t.each(function() {\n var p = $v.select(this), v = p.select(\".selector-text\"), m = r.font.size * tS, g = Math.max(m * Zh.lineCount(v), 16) + 3;\n o = Math.max(o, g);\n }), t.each(function() {\n var p = $v.select(this), v = p.select(\".selector-rect\"), m = p.select(\".selector-text\"), g = m.node() && G6.bBox(m.node()).width, y = r.font.size * tS, w = Zh.lineCount(m), k = Math.max(g + 10, t1.minButtonWidth);\n p.attr(\"transform\", eS(l + i, l)), v.attr({\n x: 0,\n y: 0,\n width: k,\n height: o\n }), Zh.positionText(\n m,\n k / 2,\n o / 2 - (w - 1) * y / 2 + 3\n ), i += k + 5;\n });\n var s = e._fullLayout._size, u = s.l + s.w * r.x, f = s.t + s.h * (1 - r.y), d = \"left\";\n go.isRightAnchor(r) && (u -= i, d = \"right\"), go.isCenterAnchor(r) && (u -= i / 2, d = \"center\");\n var h = \"top\";\n go.isBottomAnchor(r) && (f -= o, h = \"bottom\"), go.isMiddleAnchor(r) && (f -= o / 2, h = \"middle\"), i = Math.ceil(i), o = Math.ceil(o), u = Math.round(u), f = Math.round(f), loe.autoMargin(e, n + \"-range-selector\", {\n x: r.x,\n y: r.y,\n l: i * rS[d],\n r: i * nS[d],\n b: o * nS[h],\n t: o * rS[h]\n }), a.attr(\"transform\", eS(u, f));\n}\nvar yoe = {\n moduleType: \"component\",\n name: \"rangeselector\",\n schema: {\n subplots: {\n xaxis: { rangeselector: Qy }\n }\n },\n layoutAttributes: Qy,\n handleDefaults: Jie,\n draw: foe\n}, __ = {}, aS = en.extendFlat;\n__.attributes = function(e, t) {\n e = e || {}, t = t || {};\n var r = {\n valType: \"info_array\",\n editType: e.editType,\n items: [\n { valType: \"number\", min: 0, max: 1, editType: e.editType },\n { valType: \"number\", min: 0, max: 1, editType: e.editType }\n ],\n dflt: [0, 1]\n }, n = e.name ? e.name + \" \" : \"\", a = e.trace ? \"trace \" : \"subplot \", i = t.description ? \" \" + t.description : \"\", o = {\n x: aS({}, r, {\n description: [\n \"Sets the horizontal domain of this \",\n n,\n a,\n \"(in plot fraction).\",\n i\n ].join(\"\")\n }),\n y: aS({}, r, {\n description: [\n \"Sets the vertical domain of this \",\n n,\n a,\n \"(in plot fraction).\",\n i\n ].join(\"\")\n }),\n editType: e.editType\n };\n return e.noGridCell || (o.row = {\n valType: \"integer\",\n min: 0,\n dflt: 0,\n editType: e.editType,\n description: [\n \"If there is a layout grid, use the domain \",\n \"for this row in the grid for this \",\n n,\n a,\n \".\",\n i\n ].join(\"\")\n }, o.column = {\n valType: \"integer\",\n min: 0,\n dflt: 0,\n editType: e.editType,\n description: [\n \"If there is a layout grid, use the domain \",\n \"for this column in the grid for this \",\n n,\n a,\n \".\",\n i\n ].join(\"\")\n }), o;\n};\n__.defaults = function(e, t, r, n) {\n var a = n && n.x || [0, 1], i = n && n.y || [0, 1], o = t.grid;\n if (o) {\n var l = r(\"domain.column\");\n l !== void 0 && (l < o.columns ? a = o._domains.x[l] : delete e.domain.column);\n var s = r(\"domain.row\");\n s !== void 0 && (s < o.rows ? i = o._domains.y[s] : delete e.domain.row);\n }\n var u = r(\"domain.x\", a), f = r(\"domain.y\", i);\n u[0] < u[1] || (e.domain.x = a.slice()), f[0] < f[1] || (e.domain.y = i.slice());\n};\nvar boe = Ue, _oe = Zu.counter, xoe = __.attributes, iS = Yn.idRegex, woe = Mr, r1 = {\n rows: {\n valType: \"integer\",\n min: 1,\n editType: \"plot\",\n description: [\n \"The number of rows in the grid. If you provide a 2D `subplots`\",\n \"array or a `yaxes` array, its length is used as the default.\",\n \"But it's also possible to have a different length, if you\",\n \"want to leave a row at the end for non-cartesian subplots.\"\n ].join(\" \")\n },\n roworder: {\n valType: \"enumerated\",\n values: [\"top to bottom\", \"bottom to top\"],\n dflt: \"top to bottom\",\n editType: \"plot\",\n description: [\n \"Is the first row the top or the bottom? Note that columns\",\n \"are always enumerated from left to right.\"\n ].join(\" \")\n },\n columns: {\n valType: \"integer\",\n min: 1,\n editType: \"plot\",\n description: [\n \"The number of columns in the grid. If you provide a 2D `subplots`\",\n \"array, the length of its longest row is used as the default.\",\n \"If you give an `xaxes` array, its length is used as the default.\",\n \"But it's also possible to have a different length, if you\",\n \"want to leave a row at the end for non-cartesian subplots.\"\n ].join(\" \")\n },\n subplots: {\n valType: \"info_array\",\n freeLength: !0,\n dimensions: 2,\n items: { valType: \"enumerated\", values: [_oe(\"xy\").toString(), \"\"], editType: \"plot\" },\n editType: \"plot\",\n description: [\n \"Used for freeform grids, where some axes may be shared across subplots\",\n \"but others are not. Each entry should be a cartesian subplot id, like\",\n \"*xy* or *x3y2*, or ** to leave that cell empty. You may reuse x axes\",\n \"within the same column, and y axes within the same row.\",\n \"Non-cartesian subplots and traces that support `domain` can place themselves\",\n \"in this grid separately using the `gridcell` attribute.\"\n ].join(\" \")\n },\n xaxes: {\n valType: \"info_array\",\n freeLength: !0,\n items: { valType: \"enumerated\", values: [iS.x.toString(), \"\"], editType: \"plot\" },\n editType: \"plot\",\n description: [\n \"Used with `yaxes` when the x and y axes are shared across columns and rows.\",\n \"Each entry should be an x axis id like *x*, *x2*, etc., or ** to\",\n \"not put an x axis in that column. Entries other than ** must be unique.\",\n \"Ignored if `subplots` is present. If missing but `yaxes` is present,\",\n \"will generate consecutive IDs.\"\n ].join(\" \")\n },\n yaxes: {\n valType: \"info_array\",\n freeLength: !0,\n items: { valType: \"enumerated\", values: [iS.y.toString(), \"\"], editType: \"plot\" },\n editType: \"plot\",\n description: [\n \"Used with `yaxes` when the x and y axes are shared across columns and rows.\",\n \"Each entry should be an y axis id like *y*, *y2*, etc., or ** to\",\n \"not put a y axis in that row. Entries other than ** must be unique.\",\n \"Ignored if `subplots` is present. If missing but `xaxes` is present,\",\n \"will generate consecutive IDs.\"\n ].join(\" \")\n },\n pattern: {\n valType: \"enumerated\",\n values: [\"independent\", \"coupled\"],\n dflt: \"coupled\",\n editType: \"plot\",\n description: [\n \"If no `subplots`, `xaxes`, or `yaxes` are given but we do have `rows` and `columns`,\",\n \"we can generate defaults using consecutive axis IDs, in two ways:\",\n \"*coupled* gives one x axis per column and one y axis per row.\",\n \"*independent* uses a new xy pair for each cell, left-to-right across each row\",\n \"then iterating rows according to `roworder`.\"\n ].join(\" \")\n },\n xgap: {\n valType: \"number\",\n min: 0,\n max: 1,\n editType: \"plot\",\n description: [\n \"Horizontal space between grid cells, expressed as a fraction\",\n \"of the total width available to one cell. Defaults to 0.1\",\n \"for coupled-axes grids and 0.2 for independent grids.\"\n ].join(\" \")\n },\n ygap: {\n valType: \"number\",\n min: 0,\n max: 1,\n editType: \"plot\",\n description: [\n \"Vertical space between grid cells, expressed as a fraction\",\n \"of the total height available to one cell. Defaults to 0.1\",\n \"for coupled-axes grids and 0.3 for independent grids.\"\n ].join(\" \")\n },\n domain: xoe({ name: \"grid\", editType: \"plot\", noGridCell: !0 }, {\n description: [\n \"The first and last cells end exactly at the domain\",\n \"edges, with no grout around the edges.\"\n ].join(\" \")\n }),\n xside: {\n valType: \"enumerated\",\n values: [\"bottom\", \"bottom plot\", \"top plot\", \"top\"],\n dflt: \"bottom plot\",\n editType: \"plot\",\n description: [\n \"Sets where the x axis labels and titles go. *bottom* means\",\n \"the very bottom of the grid. *bottom plot* is the lowest plot\",\n \"that each x axis is used in. *top* and *top plot* are similar.\"\n ].join(\" \")\n },\n yside: {\n valType: \"enumerated\",\n values: [\"left\", \"left plot\", \"right plot\", \"right\"],\n dflt: \"left plot\",\n editType: \"plot\",\n description: [\n \"Sets where the y axis labels and titles go. *left* means\",\n \"the very left edge of the grid. *left plot* is the leftmost plot\",\n \"that each y axis is used in. *right* and *right plot* are similar.\"\n ].join(\" \")\n },\n editType: \"plot\"\n};\nfunction zv(e, t, r) {\n var n = t[r + \"axes\"], a = Object.keys((e._splomAxes || {})[r] || {});\n if (Array.isArray(n)) return n;\n if (a.length) return a;\n}\nfunction Toe(e, t) {\n var r = e.grid || {}, n = zv(t, r, \"x\"), a = zv(t, r, \"y\");\n if (!e.grid && !n && !a) return;\n var i = Array.isArray(r.subplots) && Array.isArray(r.subplots[0]), o = Array.isArray(n), l = Array.isArray(a), s = o && n !== r.xaxes && l && a !== r.yaxes, u, f;\n i ? (u = r.subplots.length, f = r.subplots[0].length) : (l && (u = a.length), o && (f = n.length));\n var d = woe.newContainer(t, \"grid\");\n function h(T, S) {\n return boe.coerce(r, d, r1, T, S);\n }\n var p = h(\"rows\", u), v = h(\"columns\", f);\n if (!(p * v > 1)) {\n delete t.grid;\n return;\n }\n if (!i && !o && !l) {\n var m = h(\"pattern\") === \"independent\";\n m && (i = !0);\n }\n d._hasSubplotGrid = i;\n var g = h(\"roworder\"), y = g === \"top to bottom\", w = i ? 0.2 : 0.1, k = i ? 0.3 : 0.1, x, _;\n s && t._splomGridDflt && (x = t._splomGridDflt.xside, _ = t._splomGridDflt.yside), d._domains = {\n x: oS(\"x\", h, w, x, v),\n y: oS(\"y\", h, k, _, p, y)\n };\n}\nfunction oS(e, t, r, n, a, i) {\n var o = t(e + \"gap\", r), l = t(\"domain.\" + e);\n t(e + \"side\", n);\n for (var s = new Array(a), u = l[0], f = (l[1] - u) / (a - o), d = f * (1 - o), h = 0; h < a; h++) {\n var p = u + f * h;\n s[i ? a - 1 - h : h] = [p, p + d];\n }\n return s;\n}\nfunction koe(e, t) {\n var r = t.grid;\n if (!(!r || !r._domains)) {\n var n = e.grid || {}, a = t._subplots, i = r._hasSubplotGrid, o = r.rows, l = r.columns, s = r.pattern === \"independent\", u, f, d, h, p, v, m, g = r._axisMap = {};\n if (i) {\n var y = n.subplots || [];\n v = r.subplots = new Array(o);\n var w = 1;\n for (u = 0; u < o; u++) {\n var k = v[u] = new Array(l), x = y[u] || [];\n for (f = 0; f < l; f++)\n if (s ? (p = w === 1 ? \"xy\" : \"x\" + w + \"y\" + w, w++) : p = x[f], k[f] = \"\", a.cartesian.indexOf(p) !== -1) {\n if (m = p.indexOf(\"y\"), d = p.slice(0, m), h = p.slice(m), g[d] !== void 0 && g[d] !== f || g[h] !== void 0 && g[h] !== u)\n continue;\n k[f] = p, g[d] = f, g[h] = u;\n }\n }\n } else {\n var _ = zv(t, n, \"x\"), T = zv(t, n, \"y\");\n r.xaxes = lS(_, a.xaxis, l, g, \"x\"), r.yaxes = lS(T, a.yaxis, o, g, \"y\");\n }\n var S = r._anchors = {}, M = r.roworder === \"top to bottom\";\n for (var L in g) {\n var F = L.charAt(0), $ = r[F + \"side\"], I, O, G;\n if ($.length < 8)\n S[L] = \"free\";\n else if (F === \"x\") {\n if ($.charAt(0) === \"t\" === M ? (I = 0, O = 1, G = o) : (I = o - 1, O = -1, G = -1), i) {\n var K = g[L];\n for (u = I; u !== G; u += O)\n if (p = v[u][K], !!p && (m = p.indexOf(\"y\"), p.slice(0, m) === L)) {\n S[L] = p.slice(m);\n break;\n }\n } else\n for (u = I; u !== G; u += O)\n if (h = r.yaxes[u], a.cartesian.indexOf(L + h) !== -1) {\n S[L] = h;\n break;\n }\n } else if ($.charAt(0) === \"l\" ? (I = 0, O = 1, G = l) : (I = l - 1, O = -1, G = -1), i) {\n var V = g[L];\n for (u = I; u !== G; u += O)\n if (p = v[V][u], !!p && (m = p.indexOf(\"y\"), p.slice(m) === L)) {\n S[L] = p.slice(0, m);\n break;\n }\n } else\n for (u = I; u !== G; u += O)\n if (d = r.xaxes[u], a.cartesian.indexOf(d + L) !== -1) {\n S[L] = d;\n break;\n }\n }\n }\n}\nfunction lS(e, t, r, n, a) {\n var i = new Array(r), o;\n function l(s, u) {\n t.indexOf(u) !== -1 && n[u] === void 0 ? (i[s] = u, n[u] = s) : i[s] = \"\";\n }\n if (Array.isArray(e))\n for (o = 0; o < r; o++)\n l(o, e[o]);\n else\n for (l(0, a), o = 1; o < r; o++)\n l(o, a + (o + 1));\n return i;\n}\nvar Aoe = {\n moduleType: \"component\",\n name: \"grid\",\n schema: {\n layout: { grid: r1 }\n },\n layoutAttributes: r1,\n sizeDefaults: Toe,\n contentDefaults: koe\n}, V6 = {\n visible: {\n valType: \"boolean\",\n editType: \"calc\",\n description: [\n \"Determines whether or not this set of error bars is visible.\"\n ].join(\" \")\n },\n type: {\n valType: \"enumerated\",\n values: [\"percent\", \"constant\", \"sqrt\", \"data\"],\n editType: \"calc\",\n description: [\n \"Determines the rule used to generate the error bars.\",\n \"If *constant`, the bar lengths are of a constant value.\",\n \"Set this constant in `value`.\",\n \"If *percent*, the bar lengths correspond to a percentage of\",\n \"underlying data. Set this percentage in `value`.\",\n \"If *sqrt*, the bar lengths correspond to the square of the\",\n \"underlying data.\",\n \"If *data*, the bar lengths are set with data set `array`.\"\n ].join(\" \")\n },\n symmetric: {\n valType: \"boolean\",\n editType: \"calc\",\n description: [\n \"Determines whether or not the error bars have the same length\",\n \"in both direction\",\n \"(top/bottom for vertical bars, left/right for horizontal bars.\"\n ].join(\" \")\n },\n array: {\n valType: \"data_array\",\n editType: \"calc\",\n description: [\n \"Sets the data corresponding the length of each error bar.\",\n \"Values are plotted relative to the underlying data.\"\n ].join(\" \")\n },\n arrayminus: {\n valType: \"data_array\",\n editType: \"calc\",\n description: [\n \"Sets the data corresponding the length of each error bar in the\",\n \"bottom (left) direction for vertical (horizontal) bars\",\n \"Values are plotted relative to the underlying data.\"\n ].join(\" \")\n },\n value: {\n valType: \"number\",\n min: 0,\n dflt: 10,\n editType: \"calc\",\n description: [\n \"Sets the value of either the percentage\",\n \"(if `type` is set to *percent*) or the constant\",\n \"(if `type` is set to *constant*) corresponding to the lengths of\",\n \"the error bars.\"\n ].join(\" \")\n },\n valueminus: {\n valType: \"number\",\n min: 0,\n dflt: 10,\n editType: \"calc\",\n description: [\n \"Sets the value of either the percentage\",\n \"(if `type` is set to *percent*) or the constant\",\n \"(if `type` is set to *constant*) corresponding to the lengths of\",\n \"the error bars in the\",\n \"bottom (left) direction for vertical (horizontal) bars\"\n ].join(\" \")\n },\n traceref: {\n valType: \"integer\",\n min: 0,\n dflt: 0,\n editType: \"style\"\n },\n tracerefminus: {\n valType: \"integer\",\n min: 0,\n dflt: 0,\n editType: \"style\"\n },\n copy_ystyle: {\n valType: \"boolean\",\n editType: \"plot\"\n },\n copy_zstyle: {\n valType: \"boolean\",\n editType: \"style\"\n },\n color: {\n valType: \"color\",\n editType: \"style\",\n description: \"Sets the stoke color of the error bars.\"\n },\n thickness: {\n valType: \"number\",\n min: 0,\n dflt: 2,\n editType: \"style\",\n description: \"Sets the thickness (in px) of the error bars.\"\n },\n width: {\n valType: \"number\",\n min: 0,\n editType: \"plot\",\n description: [\n \"Sets the width (in px) of the cross-bar at both ends\",\n \"of the error bars.\"\n ].join(\" \")\n },\n editType: \"calc\",\n _deprecated: {\n opacity: {\n valType: \"number\",\n editType: \"style\",\n description: [\n \"Obsolete.\",\n \"Use the alpha channel in error bar `color` to set the opacity.\"\n ].join(\" \")\n }\n }\n}, _0, sS;\nfunction Moe() {\n if (sS) return _0;\n sS = 1;\n var e = sr, t = Nt, r = Ue, n = Mr, a = V6;\n return _0 = function(i, o, l, s) {\n var u = \"error_\" + s.axis, f = n.newContainer(o, u), d = i[u] || {};\n function h(k, x) {\n return r.coerce(d, f, a, k, x);\n }\n var p = d.array !== void 0 || d.value !== void 0 || d.type === \"sqrt\", v = h(\"visible\", p);\n if (v !== !1) {\n var m = h(\"type\", \"array\" in d ? \"data\" : \"percent\"), g = !0;\n m !== \"sqrt\" && (g = h(\n \"symmetric\",\n !((m === \"data\" ? \"arrayminus\" : \"valueminus\") in d)\n )), m === \"data\" ? (h(\"array\"), h(\"traceref\"), g || (h(\"arrayminus\"), h(\"tracerefminus\"))) : (m === \"percent\" || m === \"constant\") && (h(\"value\"), g || h(\"valueminus\"));\n var y = \"copy_\" + s.inherit + \"style\";\n if (s.inherit) {\n var w = o[\"error_\" + s.inherit];\n (w || {}).visible && h(y, !(d.color || e(d.thickness) || e(d.width)));\n }\n (!s.inherit || !f[y]) && (h(\"color\", l), h(\"thickness\"), h(\"width\", t.traceIs(o, \"gl3d\") ? 0 : 4));\n }\n }, _0;\n}\nvar x0, uS;\nfunction q6() {\n if (uS) return x0;\n uS = 1, x0 = function(r) {\n var n = r.type, a = r.symmetric;\n if (n === \"data\") {\n var i = r.array || [];\n if (a)\n return function(f, d) {\n var h = +i[d];\n return [h, h];\n };\n var o = r.arrayminus || [];\n return function(f, d) {\n var h = +i[d], p = +o[d];\n return !isNaN(h) || !isNaN(p) ? [p || 0, h || 0] : [NaN, NaN];\n };\n } else {\n var l = e(n, r.value), s = e(n, r.valueminus);\n return a || r.valueminus === void 0 ? function(f) {\n var d = l(f);\n return [d, d];\n } : function(f) {\n return [\n s(f),\n l(f)\n ];\n };\n }\n };\n function e(t, r) {\n if (t === \"percent\")\n return function(n) {\n return Math.abs(n * r / 100);\n };\n if (t === \"constant\")\n return function() {\n return Math.abs(r);\n };\n if (t === \"sqrt\")\n return function(n) {\n return Math.sqrt(Math.abs(n));\n };\n }\n return x0;\n}\nvar w0, fS;\nfunction Soe() {\n if (fS) return w0;\n fS = 1;\n var e = sr, t = Nt, r = Cr, n = Ue, a = q6();\n w0 = function(l) {\n for (var s = l.calcdata, u = 0; u < s.length; u++) {\n var f = s[u], d = f[0].trace;\n if (d.visible === !0 && t.traceIs(d, \"errorBarsOK\")) {\n var h = r.getFromId(l, d.xaxis), p = r.getFromId(l, d.yaxis);\n i(f, d, h, \"x\"), i(f, d, p, \"y\");\n }\n }\n };\n function i(o, l, s, u) {\n var f = l[\"error_\" + u] || {}, d = f.visible && [\"linear\", \"log\"].indexOf(s.type) !== -1, h = [];\n if (d) {\n for (var p = a(f), v = 0; v < o.length; v++) {\n var m = o[v], g = m.i;\n if (g === void 0) g = v;\n else if (g === null) continue;\n var y = m[u];\n if (e(s.c2l(y))) {\n var w = p(y, g);\n if (e(w[0]) && e(w[1])) {\n var k = m[u + \"s\"] = y - w[0], x = m[u + \"h\"] = y + w[1];\n h.push(k, x);\n }\n }\n }\n var _ = s._id, T = l._extremes[_], S = r.findExtremes(\n s,\n h,\n n.extendFlat({ tozero: T.opts.tozero }, { padded: !0 })\n );\n T.min = T.min.concat(S.min), T.max = T.max.concat(S.max);\n }\n }\n return w0;\n}\nvar T0, cS;\nfunction Coe() {\n if (cS) return T0;\n cS = 1;\n var e = lr, t = sr, r = Sr, n = Ya;\n T0 = function(o, l, s, u) {\n var f, d = s.xaxis, h = s.yaxis, p = u && u.duration > 0, v = o._context.staticPlot;\n l.each(function(m) {\n var g = m[0].trace, y = g.error_x || {}, w = g.error_y || {}, k;\n g.ids && (k = function(S) {\n return S.id;\n });\n var x = n.hasMarkers(g) && g.marker.maxdisplayed > 0;\n !w.visible && !y.visible && (m = []);\n var _ = e.select(this).selectAll(\"g.errorbar\").data(m, k);\n if (_.exit().remove(), !!m.length) {\n y.visible || _.selectAll(\"path.xerror\").remove(), w.visible || _.selectAll(\"path.yerror\").remove(), _.style(\"opacity\", 1);\n var T = _.enter().append(\"g\").classed(\"errorbar\", !0);\n p && T.style(\"opacity\", 0).transition().duration(u.duration).style(\"opacity\", 1), r.setClipUrl(_, s.layerClipId, o), _.each(function(S) {\n var M = e.select(this), L = a(S, d, h);\n if (!(x && !S.vis)) {\n var F, $ = M.select(\"path.yerror\");\n if (w.visible && t(L.x) && t(L.yh) && t(L.ys)) {\n var I = w.width;\n F = \"M\" + (L.x - I) + \",\" + L.yh + \"h\" + 2 * I + // hat\n \"m-\" + I + \",0V\" + L.ys, L.noYS || (F += \"m-\" + I + \",0h\" + 2 * I), f = !$.size(), f ? $ = M.append(\"path\").style(\"vector-effect\", v ? \"none\" : \"non-scaling-stroke\").classed(\"yerror\", !0) : p && ($ = $.transition().duration(u.duration).ease(u.easing)), $.attr(\"d\", F);\n } else $.remove();\n var O = M.select(\"path.xerror\");\n if (y.visible && t(L.y) && t(L.xh) && t(L.xs)) {\n var G = (y.copy_ystyle ? w : y).width;\n F = \"M\" + L.xh + \",\" + (L.y - G) + \"v\" + 2 * G + // hat\n \"m0,-\" + G + \"H\" + L.xs, L.noXS || (F += \"m0,-\" + G + \"v\" + 2 * G), f = !O.size(), f ? O = M.append(\"path\").style(\"vector-effect\", v ? \"none\" : \"non-scaling-stroke\").classed(\"xerror\", !0) : p && (O = O.transition().duration(u.duration).ease(u.easing)), O.attr(\"d\", F);\n } else O.remove();\n }\n });\n }\n });\n };\n function a(i, o, l) {\n var s = {\n x: o.c2p(i.x),\n y: l.c2p(i.y)\n };\n return i.yh !== void 0 && (s.yh = l.c2p(i.yh), s.ys = l.c2p(i.ys), t(s.ys) || (s.noYS = !0, s.ys = l.c2p(i.ys, !0))), i.xh !== void 0 && (s.xh = o.c2p(i.xh), s.xs = o.c2p(i.xs), t(s.xs) || (s.noXS = !0, s.xs = o.c2p(i.xs, !0))), s;\n }\n return T0;\n}\nvar k0, dS;\nfunction Loe() {\n if (dS) return k0;\n dS = 1;\n var e = lr, t = nr;\n return k0 = function(n) {\n n.each(function(a) {\n var i = a[0].trace, o = i.error_y || {}, l = i.error_x || {}, s = e.select(this);\n s.selectAll(\"path.yerror\").style(\"stroke-width\", o.thickness + \"px\").call(t.stroke, o.color), l.copy_ystyle && (l = o), s.selectAll(\"path.xerror\").style(\"stroke-width\", l.thickness + \"px\").call(t.stroke, l.color);\n });\n }, k0;\n}\nvar sc = Ue, hS = Lo.overrideAll, uc = V6, Ul = {\n error_x: sc.extendFlat({}, uc),\n error_y: sc.extendFlat({}, uc)\n};\ndelete Ul.error_x.copy_zstyle;\ndelete Ul.error_y.copy_zstyle;\ndelete Ul.error_y.copy_ystyle;\nvar id = {\n error_x: sc.extendFlat({}, uc),\n error_y: sc.extendFlat({}, uc),\n error_z: sc.extendFlat({}, uc)\n};\ndelete id.error_x.copy_ystyle;\ndelete id.error_y.copy_ystyle;\ndelete id.error_z.copy_ystyle;\ndelete id.error_z.copy_zstyle;\nvar Doe = {\n moduleType: \"component\",\n name: \"errorbars\",\n schema: {\n traces: {\n scatter: Ul,\n bar: Ul,\n histogram: Ul,\n scatter3d: hS(id, \"calc\", \"nested\"),\n scattergl: hS(Ul, \"calc\", \"nested\")\n }\n },\n supplyDefaults: Moe(),\n calc: Soe(),\n makeComputeError: q6(),\n plot: Coe(),\n style: Loe(),\n hoverInfo: Eoe\n};\nfunction Eoe(e, t, r) {\n (t.error_y || {}).visible && (r.yerr = e.yh - e.y, t.error_y.symmetric || (r.yerrneg = e.y - e.ys)), (t.error_x || {}).visible && (r.xerr = e.xh - e.x, t.error_x.symmetric || (r.xerrneg = e.x - e.xs));\n}\nvar Foe = {\n cn: {\n colorbar: \"colorbar\",\n cbbg: \"cbbg\",\n cbfill: \"cbfill\",\n cbfills: \"cbfills\",\n cbline: \"cbline\",\n cblines: \"cblines\",\n cbaxis: \"cbaxis\",\n cbtitleunshift: \"cbtitleunshift\",\n cbtitle: \"cbtitle\",\n cboutline: \"cboutline\",\n crisp: \"crisp\",\n jsPlaceholder: \"js-placeholder\"\n }\n}, qo = lr, A0 = bi, Yh = Tn, vS = Nt, lo = Cr, xh = Qi, Ba = Ue, oi = Ba.strTranslate, W6 = en.extendFlat, M0 = xs, ni = Sr, S0 = nr, Roe = Cp, Poe = Rn, $oe = wi.flipScale, zoe = n6, Ioe = a6, Noe = Ki, x_ = On, pS = x_.LINE_SPACING, mS = x_.FROM_TL, gS = x_.FROM_BR, Hr = Foe.cn;\nfunction Ooe(e) {\n var t = e._fullLayout, r = t._infolayer.selectAll(\"g.\" + Hr.colorbar).data(Hoe(e), function(n) {\n return n._id;\n });\n r.enter().append(\"g\").attr(\"class\", function(n) {\n return n._id;\n }).classed(Hr.colorbar, !0), r.each(function(n) {\n var a = qo.select(this);\n Ba.ensureSingle(a, \"rect\", Hr.cbbg), Ba.ensureSingle(a, \"g\", Hr.cbfills), Ba.ensureSingle(a, \"g\", Hr.cblines), Ba.ensureSingle(a, \"g\", Hr.cbaxis, function(o) {\n o.classed(Hr.crisp, !0);\n }), Ba.ensureSingle(a, \"g\", Hr.cbtitleunshift, function(o) {\n o.append(\"g\").classed(Hr.cbtitle, !0);\n }), Ba.ensureSingle(a, \"rect\", Hr.cboutline);\n var i = Boe(a, n, e);\n i && i.then && (e._promises || []).push(i), e._context.edits.colorbarPosition && joe(a, n, e);\n }), r.exit().each(function(n) {\n Yh.autoMargin(e, n._id);\n }).remove(), r.order();\n}\nfunction Hoe(e) {\n var t = e._fullLayout, r = e.calcdata, n = [], a, i, o, l;\n function s(k) {\n return W6(k, {\n // fillcolor can be a d3 scale, domain is z values, range is colors\n // or leave it out for no fill,\n // or set to a string constant for single-color fill\n _fillcolor: null,\n // line.color has the same options as fillcolor\n _line: { color: null, width: null, dash: null },\n // levels of lines to draw.\n // note that this DOES NOT determine the extent of the bar\n // that's given by the domain of fillcolor\n // (or line.color if no fillcolor domain)\n _levels: { start: null, end: null, size: null },\n // separate fill levels (for example, heatmap coloring of a\n // contour map) if this is omitted, fillcolors will be\n // evaluated halfway between levels\n _filllevels: null,\n // for continuous colorscales: fill with a gradient instead of explicit levels\n // value should be the colorscale [[0, c0], [v1, c1], ..., [1, cEnd]]\n _fillgradient: null,\n // when using a gradient, we need the data range specified separately\n _zrange: null\n });\n }\n function u() {\n typeof l.calc == \"function\" ? l.calc(e, o, a) : (a._fillgradient = i.reversescale ? $oe(i.colorscale) : i.colorscale, a._zrange = [i[l.min], i[l.max]]);\n }\n for (var f = 0; f < r.length; f++) {\n var d = r[f];\n if (o = d[0].trace, !!o._module) {\n var h = o._module.colorbar;\n if (o.visible === !0 && h)\n for (var p = Array.isArray(h), v = p ? h : [h], m = 0; m < v.length; m++) {\n l = v[m];\n var g = l.container;\n i = g ? o[g] : o, i && i.showscale && (a = s(i.colorbar), a._id = \"cb\" + o.uid + (p && g ? \"-\" + g : \"\"), a._traceIndex = o.index, a._propPrefix = (g ? g + \".\" : \"\") + \"colorbar.\", a._meta = o._meta, u(), n.push(a));\n }\n }\n }\n for (var y in t._colorAxes)\n if (i = t[y], i.showscale) {\n var w = t._colorAxes[y];\n a = s(i.colorbar), a._id = \"cb\" + y, a._propPrefix = y + \".colorbar.\", a._meta = t._meta, l = { min: \"cmin\", max: \"cmax\" }, w[0] !== \"heatmap\" && (o = w[1], l.calc = o._module.colorbar.calc), u(), n.push(a);\n }\n return n;\n}\nfunction Boe(e, t, r) {\n var n = t.orientation === \"v\", a = t.len, i = t.lenmode, o = t.thickness, l = t.thicknessmode, s = t.outlinewidth, u = t.borderwidth, f = t.bgcolor, d = t.xanchor, h = t.yanchor, p = t.xpad, v = t.ypad, m = t.x, g = n ? t.y : 1 - t.y, y = t.yref === \"paper\", w = t.xref === \"paper\", k = r._fullLayout, x = k._size, _ = t._fillcolor, T = t._line, S = t.title, M = S.side, L = t._zrange || qo.extent((typeof _ == \"function\" ? _ : T.color).domain()), F = typeof T.color == \"function\" ? T.color : function() {\n return T.color;\n }, $ = typeof _ == \"function\" ? _ : function() {\n return _;\n }, I = t._levels, O = Uoe(r, t, L), G = O.fill, K = O.line, V = Math.round(o * (l === \"fraction\" ? n ? x.w : x.h : 1)), z = V / (n ? x.w : x.h), P = Math.round(a * (i === \"fraction\" ? n ? x.h : x.w : 1)), R = P / (n ? x.h : x.w), H = w ? x.w : r._fullLayout.width, B = y ? x.h : r._fullLayout.height, W = Math.round(\n n ? m * H + p : g * B + v\n ), ee = { center: 0.5, right: 1 }[d] || 0, re = { top: 1, middle: 0.5 }[h] || 0, ae = n ? m - ee * z : g - re * z, Q = n ? g - re * R : m - ee * R, ue = Math.round(\n n ? B * (1 - Q) : H * Q\n );\n t._lenFrac = R, t._thickFrac = z, t._uFrac = ae, t._vFrac = Q;\n var j = t._axis = Goe(r, t, L);\n j.position = z + (n ? m + p / x.w : g + v / x.h);\n var U = [\"top\", \"bottom\"].indexOf(M) !== -1;\n if (n && U && (j.title.side = M, j.titlex = m + p / x.w, j.titley = Q + (S.side === \"top\" ? R - v / x.h : v / x.h)), !n && !U && (j.title.side = M, j.titley = g + v / x.h, j.titlex = Q + p / x.w), T.color && t.tickmode === \"auto\") {\n j.tickmode = \"linear\", j.tick0 = I.start;\n var Z = I.size, le = Ba.constrain(P / 50, 4, 15) + 1, J = (L[1] - L[0]) / ((t.nticks || le) * Z);\n if (J > 1) {\n var pe = Math.pow(10, Math.floor(Math.log(J) / Math.LN10));\n Z *= pe * Ba.roundUp(J / pe, [2, 5, 10]), (Math.abs(I.start) / I.size + 1e-6) % 1 < 2e-6 && (j.tick0 = 0);\n }\n j.dtick = Z;\n }\n j.domain = n ? [\n Q + v / x.h,\n Q + R - v / x.h\n ] : [\n Q + p / x.w,\n Q + R - p / x.w\n ], j.setScale(), e.attr(\"transform\", oi(Math.round(x.l), Math.round(x.t)));\n var ge = e.select(\".\" + Hr.cbtitleunshift).attr(\"transform\", oi(-Math.round(x.l), -Math.round(x.t))), ve = j.ticklabelposition, me = j.title.font.size, Le = e.select(\".\" + Hr.cbaxis), ze, Fe = 0, Oe = 0;\n function Re(Qe, ot) {\n var ht = {\n propContainer: j,\n propName: t._propPrefix + \"title\",\n traceIndex: t._traceIndex,\n _meta: t._meta,\n placeholder: k._dfltTitle.colorbar,\n containerGroup: e.select(\".\" + Hr.cbtitle)\n }, vt = Qe.charAt(0) === \"h\" ? Qe.substr(1) : \"h\" + Qe;\n e.selectAll(\".\" + vt + \",.\" + vt + \"-math-group\").remove(), Roe.draw(r, Qe, W6(ht, ot || {}));\n }\n function We() {\n if (n && U || !n && !U) {\n var Qe, ot;\n M === \"top\" && (Qe = p + x.l + H * m, ot = v + x.t + B * (1 - Q - R) + 3 + me * 0.75), M === \"bottom\" && (Qe = p + x.l + H * m, ot = v + x.t + B * (1 - Q) - 3 - me * 0.25), M === \"right\" && (ot = v + x.t + B * g + 3 + me * 0.75, Qe = p + x.l + H * Q), Re(j._id + \"title\", {\n attributes: { x: Qe, y: ot, \"text-anchor\": n ? \"start\" : \"middle\" }\n });\n }\n }\n function Me() {\n if (n && !U || !n && U) {\n var Qe = j.position || 0, ot = j._offset + j._length / 2, ht, vt;\n if (M === \"right\")\n vt = ot, ht = x.l + H * Qe + 10 + me * (j.showticklabels ? 1 : 0.5);\n else if (ht = ot, M === \"bottom\" && (vt = x.t + B * Qe + 10 + (ve.indexOf(\"inside\") === -1 ? j.tickfont.size : 0) + (j.ticks !== \"intside\" && t.ticklen || 0)), M === \"top\") {\n var nt = S.text.split(\"
\").length;\n vt = x.t + B * Qe + 10 - V - pS * me * nt;\n }\n Re((n ? (\n // the 'h' + is a hack to get around the fact that\n // convertToTspans rotates any 'y...' class by 90 degrees.\n // TODO: find a better way to control this.\n \"h\"\n ) : \"v\") + j._id + \"title\", {\n avoid: {\n selection: qo.select(r).selectAll(\"g.\" + j._id + \"tick\"),\n side: M,\n offsetTop: n ? 0 : x.t,\n offsetLeft: n ? x.l : 0,\n maxShift: n ? k.width : k.height\n },\n attributes: { x: ht, y: vt, \"text-anchor\": \"middle\" },\n transform: { rotate: n ? -90 : 0, offset: 0 }\n });\n }\n }\n function Ve() {\n if (!n && !U || n && U) {\n var Qe = e.select(\".\" + Hr.cbtitle), ot = Qe.select(\"text\"), ht = [-s / 2, s / 2], vt = Qe.select(\".h\" + j._id + \"title-math-group\").node(), nt = 15.6;\n ot.node() && (nt = parseInt(ot.node().style.fontSize, 10) * pS);\n var ft;\n if (vt ? (ft = ni.bBox(vt), Oe = ft.width, Fe = ft.height, Fe > nt && (ht[1] -= (Fe - nt) / 2)) : ot.node() && !ot.classed(Hr.jsPlaceholder) && (ft = ni.bBox(ot.node()), Oe = ft.width, Fe = ft.height), n) {\n if (Fe) {\n if (Fe += 5, M === \"top\")\n j.domain[1] -= Fe / x.h, ht[1] *= -1;\n else {\n j.domain[0] += Fe / x.h;\n var Pe = Poe.lineCount(ot);\n ht[1] += (1 - Pe) * nt;\n }\n Qe.attr(\"transform\", oi(ht[0], ht[1])), j.setScale();\n }\n } else\n Oe && (M === \"right\" && (j.domain[0] += (Oe + me / 2) / x.w), Qe.attr(\"transform\", oi(ht[0], ht[1])), j.setScale());\n }\n e.selectAll(\".\" + Hr.cbfills + \",.\" + Hr.cblines).attr(\n \"transform\",\n n ? oi(0, Math.round(x.h * (1 - j.domain[1]))) : oi(Math.round(x.w * j.domain[0]), 0)\n ), Le.attr(\n \"transform\",\n n ? oi(0, Math.round(-x.t)) : oi(Math.round(-x.l), 0)\n );\n var Ie = e.select(\".\" + Hr.cbfills).selectAll(\"rect.\" + Hr.cbfill).attr(\"style\", \"\").data(G);\n Ie.enter().append(\"rect\").classed(Hr.cbfill, !0).attr(\"style\", \"\"), Ie.exit().remove();\n var Ne = L.map(j.c2p).map(Math.round).sort(function(Tt, gt) {\n return Tt - gt;\n });\n Ie.each(function(Tt, gt) {\n var He = [\n gt === 0 ? L[0] : (G[gt] + G[gt - 1]) / 2,\n gt === G.length - 1 ? L[1] : (G[gt] + G[gt + 1]) / 2\n ].map(j.c2p).map(Math.round);\n n && (He[1] = Ba.constrain(He[1] + (He[1] > He[0]) ? 1 : -1, Ne[0], Ne[1]));\n var pt = qo.select(this).attr(n ? \"x\" : \"y\", W).attr(n ? \"y\" : \"x\", qo.min(He)).attr(n ? \"width\" : \"height\", Math.max(V, 2)).attr(n ? \"height\" : \"width\", Math.max(qo.max(He) - qo.min(He), 2));\n if (t._fillgradient)\n ni.gradient(pt, r, t._id, n ? \"vertical\" : \"horizontalreversed\", t._fillgradient, \"fill\");\n else {\n var bt = $(Tt).replace(\"e-\", \"\");\n pt.attr(\"fill\", A0(bt).toHexString());\n }\n });\n var tt = e.select(\".\" + Hr.cblines).selectAll(\"path.\" + Hr.cbline).data(T.color && T.width ? K : []);\n tt.enter().append(\"path\").classed(Hr.cbline, !0), tt.exit().remove(), tt.each(function(Tt) {\n var gt = W, He = Math.round(j.c2p(Tt)) + T.width / 2 % 1;\n qo.select(this).attr(\n \"d\",\n \"M\" + (n ? gt + \",\" + He : He + \",\" + gt) + (n ? \"h\" : \"v\") + V\n ).call(ni.lineGroupStyle, T.width, F(Tt), T.dash);\n }), Le.selectAll(\"g.\" + j._id + \"tick,path\").remove();\n var Je = W + V + (s || 0) / 2 - (t.ticks === \"outside\" ? 1 : 0), it = lo.calcTicks(j), at = lo.getTickSigns(j)[2];\n return lo.drawTicks(r, j, {\n vals: j.ticks === \"inside\" ? lo.clipEnds(j, it) : it,\n layer: Le,\n path: lo.makeTickPath(j, Je, at),\n transFn: lo.makeTransTickFn(j)\n }), lo.drawLabels(r, j, {\n vals: it,\n layer: Le,\n transFn: lo.makeTransTickLabelFn(j),\n labelFns: lo.makeLabelFns(j, Je)\n });\n }\n function qe() {\n var Qe, ot = V + s / 2;\n ve.indexOf(\"inside\") === -1 && (Qe = ni.bBox(Le.node()), ot += n ? Qe.width : Qe.height), ze = ge.select(\"text\");\n var ht = 0, vt = n && M === \"top\", nt = !n && M === \"right\", ft = 0;\n if (ze.node() && !ze.classed(Hr.jsPlaceholder)) {\n var Pe, Ie = ge.select(\".h\" + j._id + \"title-math-group\").node();\n Ie && (n && U || !n && !U) ? (Qe = ni.bBox(Ie), ht = Qe.width, Pe = Qe.height) : (Qe = ni.bBox(ge.node()), ht = Qe.right - x.l - (n ? W : ue), Pe = Qe.bottom - x.t - (n ? ue : W), !n && M === \"top\" && (ot += Qe.height, ft = Qe.height)), nt && (ze.attr(\"transform\", oi(ht / 2 + me / 2, 0)), ht *= 2), ot = Math.max(\n ot,\n n ? ht : Pe\n );\n }\n var Ne = (n ? p : v) * 2 + ot + u + s / 2, tt = 0;\n !n && S.text && h === \"bottom\" && g <= 0 && (tt = Ne / 2, Ne += tt, ft += tt), k._hColorbarMoveTitle = tt, k._hColorbarMoveCBTitle = ft;\n var Je = u + s, it = (n ? W : ue) - Je / 2 - (n ? p : 0), at = (n ? ue : W) - (n ? P : v + ft - tt);\n e.select(\".\" + Hr.cbbg).attr(\"x\", it).attr(\"y\", at).attr(n ? \"width\" : \"height\", Math.max(Ne - tt, 2)).attr(n ? \"height\" : \"width\", Math.max(P + Je, 2)).call(S0.fill, f).call(S0.stroke, t.bordercolor).style(\"stroke-width\", u);\n var Tt = nt ? Math.max(ht - 10, 0) : 0;\n e.selectAll(\".\" + Hr.cboutline).attr(\"x\", (n ? W : ue + p) + Tt).attr(\"y\", (n ? ue + v - P : W) + (vt ? Fe : 0)).attr(n ? \"width\" : \"height\", Math.max(V, 2)).attr(n ? \"height\" : \"width\", Math.max(P - (n ? 2 * v + Fe : 2 * p + Tt), 2)).call(S0.stroke, t.outlinecolor).style({\n fill: \"none\",\n \"stroke-width\": s\n });\n var gt = n ? ee * Ne : 0, He = n ? 0 : (1 - re) * Ne - ft;\n if (gt = w ? x.l - gt : -gt, He = y ? x.t - He : -He, e.attr(\"transform\", oi(\n gt,\n He\n )), !n && (u || A0(f).getAlpha() && !A0.equals(k.paper_bgcolor, f))) {\n var pt = Le.selectAll(\"text\"), bt = pt[0].length, Ke = e.select(\".\" + Hr.cbbg).node(), st = ni.bBox(Ke), rt = ni.getTranslate(e), ct = 2;\n pt.each(function(oe, Ce) {\n var Be = 0, Xe = bt - 1;\n if (Ce === Be || Ce === Xe) {\n var Et = ni.bBox(this), Pt = ni.getTranslate(this), It;\n if (Ce === Xe) {\n var kt = Et.right + Pt.x, qt = st.right + rt.x + ue - u - ct + m;\n It = qt - kt, It > 0 && (It = 0);\n } else if (Ce === Be) {\n var Ot = Et.left + Pt.x, wt = st.left + rt.x + ue + u + ct;\n It = wt - Ot, It < 0 && (It = 0);\n }\n It && (bt < 3 ? this.setAttribute(\n \"transform\",\n \"translate(\" + It + \",0) \" + this.getAttribute(\"transform\")\n ) : this.setAttribute(\"visibility\", \"hidden\"));\n }\n });\n }\n var X = {}, se = mS[d], ie = gS[d], fe = mS[h], ke = gS[h], _e = Ne - V;\n n ? (i === \"pixels\" ? (X.y = g, X.t = P * fe, X.b = P * ke) : (X.t = X.b = 0, X.yt = g + a * fe, X.yb = g - a * ke), l === \"pixels\" ? (X.x = m, X.l = Ne * se, X.r = Ne * ie) : (X.l = _e * se, X.r = _e * ie, X.xl = m - o * se, X.xr = m + o * ie)) : (i === \"pixels\" ? (X.x = m, X.l = P * se, X.r = P * ie) : (X.l = X.r = 0, X.xl = m + a * se, X.xr = m - a * ie), l === \"pixels\" ? (X.y = 1 - g, X.t = Ne * fe, X.b = Ne * ke) : (X.t = _e * fe, X.b = _e * ke, X.yt = g - o * fe, X.yb = g + o * ke));\n var Ge = t.y < 0.5 ? \"b\" : \"t\", je = t.x < 0.5 ? \"l\" : \"r\";\n r._fullLayout._reservedMargin[t._id] = {};\n var Ee = {\n r: k.width - it - gt,\n l: it + X.r,\n b: k.height - at - He,\n t: at + X.b\n };\n w && y ? Yh.autoMargin(r, t._id, X) : w ? r._fullLayout._reservedMargin[t._id][Ge] = Ee[Ge] : y || n ? r._fullLayout._reservedMargin[t._id][je] = Ee[je] : r._fullLayout._reservedMargin[t._id][Ge] = Ee[Ge];\n }\n return Ba.syncOrAsync([\n Yh.previousPromises,\n We,\n Ve,\n Me,\n Yh.previousPromises,\n qe\n ], r);\n}\nfunction joe(e, t, r) {\n var n = t.orientation === \"v\", a = r._fullLayout, i = a._size, o, l, s;\n xh.init({\n element: e.node(),\n gd: r,\n prepFn: function() {\n o = e.attr(\"transform\"), M0(e);\n },\n moveFn: function(u, f) {\n e.attr(\"transform\", o + oi(u, f)), l = xh.align(\n (n ? t._uFrac : t._vFrac) + u / i.w,\n n ? t._thickFrac : t._lenFrac,\n 0,\n 1,\n t.xanchor\n ), s = xh.align(\n (n ? t._vFrac : 1 - t._uFrac) - f / i.h,\n n ? t._lenFrac : t._thickFrac,\n 0,\n 1,\n t.yanchor\n );\n var d = xh.getCursor(l, s, t.xanchor, t.yanchor);\n M0(e, d);\n },\n doneFn: function() {\n if (M0(e), l !== void 0 && s !== void 0) {\n var u = {};\n u[t._propPrefix + \"x\"] = l, u[t._propPrefix + \"y\"] = s, t._traceIndex !== void 0 ? vS.call(\"_guiRestyle\", r, u, t._traceIndex) : vS.call(\"_guiRelayout\", r, u);\n }\n }\n });\n}\nfunction Uoe(e, t, r) {\n var n = t._levels, a = [], i = [], o, l, s = n.end + n.size / 100, u = n.size, f = 1.001 * r[0] - 1e-3 * r[1], d = 1.001 * r[1] - 1e-3 * r[0];\n for (l = 0; l < 1e5 && (o = n.start + l * u, !(u > 0 ? o >= s : o <= s)); l++)\n o > f && o < d && a.push(o);\n if (t._fillgradient)\n i = [0];\n else if (typeof t._fillcolor == \"function\") {\n var h = t._filllevels;\n if (h)\n for (s = h.end + h.size / 100, u = h.size, l = 0; l < 1e5 && (o = h.start + l * u, !(u > 0 ? o >= s : o <= s)); l++)\n o > r[0] && o < r[1] && i.push(o);\n else\n i = a.map(function(p) {\n return p - n.size / 2;\n }), i.push(i[i.length - 1] + n.size);\n } else t._fillcolor && typeof t._fillcolor == \"string\" && (i = [0]);\n return n.size < 0 && (a.reverse(), i.reverse()), { line: a, fill: i };\n}\nfunction Goe(e, t, r) {\n var n = e._fullLayout, a = t.orientation === \"v\", i = {\n type: \"linear\",\n range: r,\n tickmode: t.tickmode,\n nticks: t.nticks,\n tick0: t.tick0,\n dtick: t.dtick,\n tickvals: t.tickvals,\n ticktext: t.ticktext,\n ticks: t.ticks,\n ticklen: t.ticklen,\n tickwidth: t.tickwidth,\n tickcolor: t.tickcolor,\n showticklabels: t.showticklabels,\n labelalias: t.labelalias,\n ticklabelposition: t.ticklabelposition,\n ticklabeloverflow: t.ticklabeloverflow,\n ticklabelstep: t.ticklabelstep,\n tickfont: t.tickfont,\n tickangle: t.tickangle,\n tickformat: t.tickformat,\n exponentformat: t.exponentformat,\n minexponent: t.minexponent,\n separatethousands: t.separatethousands,\n showexponent: t.showexponent,\n showtickprefix: t.showtickprefix,\n tickprefix: t.tickprefix,\n showticksuffix: t.showticksuffix,\n ticksuffix: t.ticksuffix,\n title: t.title,\n showline: !0,\n anchor: \"free\",\n side: a ? \"right\" : \"bottom\",\n position: 1\n }, o = a ? \"y\" : \"x\", l = {\n type: \"linear\",\n _id: o + t._id\n }, s = {\n letter: o,\n font: n.font,\n noHover: !0,\n noTickson: !0,\n noTicklabelmode: !0,\n noInsideRange: !0,\n calendar: n.calendar\n // not really necessary (yet?)\n };\n function u(f, d) {\n return Ba.coerce(i, l, Noe, f, d);\n }\n return zoe(i, l, u, s, n), Ioe(i, l, u, s), l;\n}\nvar Voe = {\n draw: Ooe\n}, qoe = {\n moduleType: \"component\",\n name: \"colorbar\",\n attributes: hb,\n supplyDefaults: x4,\n draw: Voe.draw,\n hasColorbar: h4\n}, Woe = {\n moduleType: \"component\",\n name: \"legend\",\n layoutAttributes: tD,\n supplyLayoutDefaults: rD,\n draw: oD,\n style: aD\n}, Zoe = {\n moduleType: \"locale\",\n name: \"en\",\n dictionary: {\n \"Click to enter Colorscale title\": \"Click to enter Colourscale title\"\n },\n format: {\n days: [\"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\"],\n shortDays: [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"],\n months: [\n \"January\",\n \"February\",\n \"March\",\n \"April\",\n \"May\",\n \"June\",\n \"July\",\n \"August\",\n \"September\",\n \"October\",\n \"November\",\n \"December\"\n ],\n shortMonths: [\n \"Jan\",\n \"Feb\",\n \"Mar\",\n \"Apr\",\n \"May\",\n \"Jun\",\n \"Jul\",\n \"Aug\",\n \"Sep\",\n \"Oct\",\n \"Nov\",\n \"Dec\"\n ],\n periods: [\"AM\", \"PM\"],\n dateTime: \"%a %b %e %X %Y\",\n date: \"%d/%m/%Y\",\n time: \"%H:%M:%S\",\n decimal: \".\",\n thousands: \",\",\n grouping: [3],\n currency: [\"$\", \"\"],\n year: \"%Y\",\n month: \"%b %Y\",\n dayMonth: \"%b %-d\",\n dayMonthYear: \"%b %-d, %Y\"\n }\n}, Yoe = {\n moduleType: \"locale\",\n name: \"en-US\",\n dictionary: {\n \"Click to enter Colorscale title\": \"Click to enter Colorscale title\"\n },\n format: {\n date: \"%m/%d/%Y\"\n }\n}, Xoe = Nt, Z6 = Ue, C0 = Z6.extendFlat, yS = Z6.extendDeep;\nfunction bS(e) {\n var t;\n switch (e) {\n case \"themes__thumb\":\n t = {\n autosize: !0,\n width: 150,\n height: 150,\n title: { text: \"\" },\n showlegend: !1,\n margin: { l: 5, r: 5, t: 5, b: 5, pad: 0 },\n annotations: []\n };\n break;\n case \"thumbnail\":\n t = {\n title: { text: \"\" },\n hidesources: !0,\n showlegend: !1,\n borderwidth: 0,\n bordercolor: \"\",\n margin: { l: 1, r: 1, t: 1, b: 1, pad: 0 },\n annotations: []\n };\n break;\n default:\n t = {};\n }\n return t;\n}\nfunction Koe(e) {\n var t = [\"xaxis\", \"yaxis\", \"zaxis\"];\n return t.indexOf(e.slice(0, 5)) > -1;\n}\nvar Y6 = function(t, r) {\n var n, a = t.data, i = t.layout, o = yS([], a), l = yS({}, i, bS(r.tileClass)), s = t._context || {};\n if (r.width && (l.width = r.width), r.height && (l.height = r.height), r.tileClass === \"thumbnail\" || r.tileClass === \"themes__thumb\") {\n l.annotations = [];\n var u = Object.keys(l);\n for (n = 0; n < u.length; n++)\n Koe(u[n]) && (l[u[n]].title = { text: \"\" });\n for (n = 0; n < o.length; n++) {\n var f = o[n];\n f.showscale = !1, f.marker && (f.marker.showscale = !1), Xoe.traceIs(f, \"pie-like\") && (f.textposition = \"none\");\n }\n }\n if (Array.isArray(r.annotations))\n for (n = 0; n < r.annotations.length; n++)\n l.annotations.push(r.annotations[n]);\n var d = Object.keys(l).filter(function(g) {\n return g.match(/^scene\\d*$/);\n });\n if (d.length) {\n var h = {};\n for (r.tileClass === \"thumbnail\" && (h = {\n title: { text: \"\" },\n showaxeslabels: !1,\n showticklabels: !1,\n linetickenable: !1\n }), n = 0; n < d.length; n++) {\n var p = l[d[n]];\n p.xaxis || (p.xaxis = {}), p.yaxis || (p.yaxis = {}), p.zaxis || (p.zaxis = {}), C0(p.xaxis, h), C0(p.yaxis, h), C0(p.zaxis, h), p._scene = null;\n }\n }\n var v = document.createElement(\"div\");\n r.tileClass && (v.className = r.tileClass);\n var m = {\n gd: v,\n td: v,\n // for external (image server) compatibility\n layout: l,\n data: o,\n config: {\n staticPlot: r.staticPlot === void 0 ? !0 : r.staticPlot,\n plotGlPixelRatio: r.plotGlPixelRatio === void 0 ? 2 : r.plotGlPixelRatio,\n displaylogo: r.displaylogo || !1,\n showLink: r.showLink || !1,\n showTips: r.showTips || !1,\n mapboxAccessToken: s.mapboxAccessToken\n }\n };\n return r.setBackground !== \"transparent\" && (m.config.setBackground = r.setBackground || \"opaque\"), m.gd.defaultLayout = bS(r.tileClass), m;\n}, Joe = sb.EventEmitter, Qoe = Nt, ele = Ue, _S = jn, tle = Y6, rle = n_, nle = a_;\nfunction ale(e, t) {\n var r = new Joe(), n = tle(e, { format: \"png\" }), a = n.gd;\n a.style.position = \"absolute\", a.style.left = \"-5000px\", document.body.appendChild(a);\n function i() {\n var l = _S.getDelay(a._fullLayout);\n setTimeout(function() {\n var s = rle(a), u = document.createElement(\"canvas\");\n u.id = ele.randstr(), r = nle({\n format: t.format,\n width: a._fullLayout.width,\n height: a._fullLayout.height,\n canvas: u,\n emitter: r,\n svg: s\n }), r.clean = function() {\n a && document.body.removeChild(a);\n };\n }, l);\n }\n var o = _S.getRedrawFunc(a);\n return Qoe.call(\"_doPlot\", a, n.data, n.layout, n.config).then(o).then(i).catch(function(l) {\n r.emit(\"error\", l);\n }), r;\n}\nvar ile = ale, xS = jn, ole = {\n getDelay: xS.getDelay,\n getRedrawFunc: xS.getRedrawFunc,\n clone: Y6,\n toSVG: n_,\n svgToImg: a_,\n toImage: ile,\n downloadImage: LE\n}, lle = ole;\n(function(e) {\n e.version = ap.version;\n for (var t = Nt, r = e.register = t.register, n = Or, a = Object.keys(n), i = 0; i < a.length; i++) {\n var o = a[i];\n o.charAt(0) !== \"_\" && (e[o] = n[o]), r({\n moduleType: \"apiMethod\",\n name: o,\n fn: n[o]\n });\n }\n r(u6), r([\n Gne,\n sae,\n rd,\n Aae,\n Nae,\n uie,\n $ie,\n Vie,\n yoe,\n Aoe,\n Doe,\n Qc,\n qoe,\n Woe,\n // legend needs to come after shape | legend defaults depends on shapes\n Ao,\n // fx needs to come after legend | unified hover defaults depends on legends\n GD\n ]), r([\n Zoe,\n Yoe\n ]), window.PlotlyLocales && Array.isArray(window.PlotlyLocales) && (r(window.PlotlyLocales), delete window.PlotlyLocales), e.Icons = Fb;\n var l = Ao, s = Tn;\n e.Plots = {\n resize: s.resize,\n graphJson: s.graphJson,\n sendDataToCloud: s.sendDataToCloud\n }, e.Fx = {\n hover: l.hover,\n unhover: l.unhover,\n loneHover: l.loneHover,\n loneUnhover: l.loneUnhover\n }, e.Snapshot = lle, e.PlotSchema = Qu;\n})(nC);\nvar sle = nC;\nconst Oc = /* @__PURE__ */ Vc(sle);\nvar ule = u6;\nconst fle = /* @__PURE__ */ Vc(ule);\nvar X6 = {\n // padding in pixels around text\n TEXTPAD: 3,\n // 'value' and 'label' are not really necessary for bar traces,\n // but they were made available to `texttemplate` (maybe by accident)\n // via tokens `%{value}` and `%{label}` starting in 1.50.0,\n // so let's include them in the event data also.\n eventDataKeys: [\"value\", \"label\"]\n}, Zr = ws, wS = kp.axisHoverFormat, cle = _i.hovertemplateAttrs, dle = _i.texttemplateAttrs, K6 = Jc, hle = Fn, TS = X6, vle = Zi.pattern, Gl = en.extendFlat, L0 = hle({\n editType: \"calc\",\n arrayOk: !0,\n colorEditType: \"style\",\n description: \"\"\n}), ple = Zr.marker, mle = ple.line, gle = Gl(\n {},\n mle.width,\n { dflt: 0 }\n), yle = Gl({\n width: gle,\n editType: \"calc\"\n}, K6(\"marker.line\")), ble = Gl({\n line: yle,\n editType: \"calc\"\n}, K6(\"marker\"), {\n opacity: {\n valType: \"number\",\n arrayOk: !0,\n dflt: 1,\n min: 0,\n max: 1,\n editType: \"style\",\n description: \"Sets the opacity of the bars.\"\n },\n pattern: vle\n}), Qp = {\n x: Zr.x,\n x0: Zr.x0,\n dx: Zr.dx,\n y: Zr.y,\n y0: Zr.y0,\n dy: Zr.dy,\n xperiod: Zr.xperiod,\n yperiod: Zr.yperiod,\n xperiod0: Zr.xperiod0,\n yperiod0: Zr.yperiod0,\n xperiodalignment: Zr.xperiodalignment,\n yperiodalignment: Zr.yperiodalignment,\n xhoverformat: wS(\"x\"),\n yhoverformat: wS(\"y\"),\n text: Zr.text,\n texttemplate: dle({ editType: \"plot\" }, {\n keys: TS.eventDataKeys\n }),\n hovertext: Zr.hovertext,\n hovertemplate: cle({}, {\n keys: TS.eventDataKeys\n }),\n textposition: {\n valType: \"enumerated\",\n values: [\"inside\", \"outside\", \"auto\", \"none\"],\n dflt: \"auto\",\n arrayOk: !0,\n editType: \"calc\",\n description: [\n \"Specifies the location of the `text`.\",\n \"*inside* positions `text` inside, next to the bar end\",\n \"(rotated and scaled if needed).\",\n \"*outside* positions `text` outside, next to the bar end\",\n \"(scaled if needed), unless there is another bar stacked on\",\n \"this one, then the text gets pushed inside.\",\n \"*auto* tries to position `text` inside the bar, but if\",\n \"the bar is too small and no bar is stacked on this one\",\n \"the text is moved outside.\",\n \"If *none*, no text appears.\"\n ].join(\" \")\n },\n insidetextanchor: {\n valType: \"enumerated\",\n values: [\"end\", \"middle\", \"start\"],\n dflt: \"end\",\n editType: \"plot\",\n description: [\n \"Determines if texts are kept at center or start/end points in `textposition` *inside* mode.\"\n ].join(\" \")\n },\n textangle: {\n valType: \"angle\",\n dflt: \"auto\",\n editType: \"plot\",\n description: [\n \"Sets the angle of the tick labels with respect to the bar.\",\n \"For example, a `tickangle` of -90 draws the tick labels\",\n \"vertically. With *auto* the texts may automatically be\",\n \"rotated to fit with the maximum size in bars.\"\n ].join(\" \")\n },\n textfont: Gl({}, L0, {\n description: \"Sets the font used for `text`.\"\n }),\n insidetextfont: Gl({}, L0, {\n description: \"Sets the font used for `text` lying inside the bar.\"\n }),\n outsidetextfont: Gl({}, L0, {\n description: \"Sets the font used for `text` lying outside the bar.\"\n }),\n constraintext: {\n valType: \"enumerated\",\n values: [\"inside\", \"outside\", \"both\", \"none\"],\n dflt: \"both\",\n editType: \"calc\",\n description: [\n \"Constrain the size of text inside or outside a bar to be no\",\n \"larger than the bar itself.\"\n ].join(\" \")\n },\n cliponaxis: Gl({}, Zr.cliponaxis, {\n description: [\n \"Determines whether the text nodes\",\n \"are clipped about the subplot axes.\",\n \"To show the text nodes above axis lines and tick labels,\",\n \"make sure to set `xaxis.layer` and `yaxis.layer` to *below traces*.\"\n ].join(\" \")\n }),\n orientation: {\n valType: \"enumerated\",\n values: [\"v\", \"h\"],\n editType: \"calc+clearAxisTypes\",\n description: [\n \"Sets the orientation of the bars.\",\n \"With *v* (*h*), the value of the each bar spans\",\n \"along the vertical (horizontal).\"\n ].join(\" \")\n },\n base: {\n valType: \"any\",\n dflt: null,\n arrayOk: !0,\n editType: \"calc\",\n description: [\n \"Sets where the bar base is drawn (in position axis units).\",\n \"In *stack* or *relative* barmode,\",\n \"traces that set *base* will be excluded\",\n \"and drawn in *overlay* mode instead.\"\n ].join(\" \")\n },\n offset: {\n valType: \"number\",\n dflt: null,\n arrayOk: !0,\n editType: \"calc\",\n description: [\n \"Shifts the position where the bar is drawn\",\n \"(in position axis units).\",\n \"In *group* barmode,\",\n \"traces that set *offset* will be excluded\",\n \"and drawn in *overlay* mode instead.\"\n ].join(\" \")\n },\n width: {\n valType: \"number\",\n dflt: null,\n min: 0,\n arrayOk: !0,\n editType: \"calc\",\n description: [\n \"Sets the bar width (in position axis units).\"\n ].join(\" \")\n },\n marker: ble,\n offsetgroup: Zr.offsetgroup,\n alignmentgroup: Zr.alignmentgroup,\n selected: {\n marker: {\n opacity: Zr.selected.marker.opacity,\n color: Zr.selected.marker.color,\n editType: \"style\"\n },\n textfont: Zr.selected.textfont,\n editType: \"style\"\n },\n unselected: {\n marker: {\n opacity: Zr.unselected.marker.opacity,\n color: Zr.unselected.marker.color,\n editType: \"style\"\n },\n textfont: Zr.unselected.textfont,\n editType: \"style\"\n },\n _deprecated: {\n bardir: {\n valType: \"enumerated\",\n editType: \"calc\",\n values: [\"v\", \"h\"],\n description: \"Renamed to `orientation`.\"\n }\n }\n}, J6 = {\n barmode: {\n valType: \"enumerated\",\n values: [\"stack\", \"group\", \"overlay\", \"relative\"],\n dflt: \"group\",\n editType: \"calc\",\n description: [\n \"Determines how bars at the same location coordinate\",\n \"are displayed on the graph.\",\n \"With *stack*, the bars are stacked on top of one another\",\n \"With *relative*, the bars are stacked on top of one another,\",\n \"with negative values below the axis, positive values above\",\n \"With *group*, the bars are plotted next to one another\",\n \"centered around the shared location.\",\n \"With *overlay*, the bars are plotted over one another,\",\n \"you might need to reduce *opacity* to see multiple bars.\"\n ].join(\" \")\n },\n barnorm: {\n valType: \"enumerated\",\n values: [\"\", \"fraction\", \"percent\"],\n dflt: \"\",\n editType: \"calc\",\n description: [\n \"Sets the normalization for bar traces on the graph.\",\n \"With *fraction*, the value of each bar is divided by the sum of all\",\n \"values at that location coordinate.\",\n \"*percent* is the same but multiplied by 100 to show percentages.\"\n ].join(\" \")\n },\n bargap: {\n valType: \"number\",\n min: 0,\n max: 1,\n editType: \"calc\",\n description: [\n \"Sets the gap (in plot fraction) between bars of\",\n \"adjacent location coordinates.\"\n ].join(\" \")\n },\n bargroupgap: {\n valType: \"number\",\n min: 0,\n max: 1,\n dflt: 0,\n editType: \"calc\",\n description: [\n \"Sets the gap (in plot fraction) between bars of\",\n \"the same location coordinate.\"\n ].join(\" \")\n }\n}, _le = nr, kS = wi.hasColorscale, AS = ef, xle = Ue.coercePattern, wle = function(t, r, n, a, i) {\n var o = n(\"marker.color\", a), l = kS(t, \"marker\");\n l && AS(\n t,\n r,\n i,\n n,\n { prefix: \"marker.\", cLetter: \"c\" }\n ), n(\"marker.line.color\", _le.defaultLine), kS(t, \"marker.line\") && AS(\n t,\n r,\n i,\n n,\n { prefix: \"marker.line.\", cLetter: \"c\" }\n ), n(\"marker.line.width\"), n(\"marker.opacity\"), xle(n, \"marker.pattern\", o, l), n(\"selected.marker.color\"), n(\"unselected.marker.color\");\n}, Hu = Ue, MS = nr, Tle = Nt, kle = $E, Ale = o_, Mle = wle, Sle = zE, Q6 = Qp, wh = Hu.coerceFont;\nfunction Cle(e, t, r, n) {\n function a(u, f) {\n return Hu.coerce(e, t, Q6, u, f);\n }\n var i = kle(e, t, n, a);\n if (!i) {\n t.visible = !1;\n return;\n }\n Ale(e, t, n, a), a(\"xhoverformat\"), a(\"yhoverformat\"), a(\"orientation\", t.x && !t.y ? \"h\" : \"v\"), a(\"base\"), a(\"offset\"), a(\"width\"), a(\"text\"), a(\"hovertext\"), a(\"hovertemplate\");\n var o = a(\"textposition\");\n e8(e, t, n, a, o, {\n moduleHasSelected: !0,\n moduleHasUnselected: !0,\n moduleHasConstrain: !0,\n moduleHasCliponaxis: !0,\n moduleHasTextangle: !0,\n moduleHasInsideanchor: !0\n }), Mle(e, t, a, r, n);\n var l = (t.marker.line || {}).color, s = Tle.getComponentMethod(\"errorbars\", \"supplyDefaults\");\n s(e, t, l || MS.defaultLine, { axis: \"y\" }), s(e, t, l || MS.defaultLine, { axis: \"x\", inherit: \"y\" }), Hu.coerceSelectionMarkerOpacity(t, a);\n}\nfunction Lle(e, t) {\n var r, n;\n function a(o) {\n return Hu.coerce(n._input, n, Q6, o);\n }\n if (t.barmode === \"group\")\n for (var i = 0; i < e.length; i++)\n n = e[i], n.type === \"bar\" && (r = n._input, Sle(r, n, t, a));\n}\nfunction e8(e, t, r, n, a, i) {\n i = i || {};\n var o = i.moduleHasSelected !== !1, l = i.moduleHasUnselected !== !1, s = i.moduleHasConstrain !== !1, u = i.moduleHasCliponaxis !== !1, f = i.moduleHasTextangle !== !1, d = i.moduleHasInsideanchor !== !1, h = !!i.hasPathbar, p = Array.isArray(a) || a === \"auto\", v = p || a === \"inside\", m = p || a === \"outside\";\n if (v || m) {\n var g = wh(n, \"textfont\", r.font), y = Hu.extendFlat({}, g), w = e.textfont && e.textfont.color, k = !w;\n if (k && delete y.color, wh(n, \"insidetextfont\", y), h) {\n var x = Hu.extendFlat({}, g);\n k && delete x.color, wh(n, \"pathbar.textfont\", x);\n }\n m && wh(n, \"outsidetextfont\", g), o && n(\"selected.textfont.color\"), l && n(\"unselected.textfont.color\"), s && n(\"constraintext\"), u && n(\"cliponaxis\"), f && n(\"textangle\"), n(\"texttemplate\");\n }\n v && d && n(\"insidetextanchor\");\n}\nvar SS = {\n supplyDefaults: Cle,\n crossTraceDefaults: Lle,\n handleText: e8\n}, Dle = Nt, Ele = Cr, Fle = Ue, Rle = J6, Ple = function(e, t, r) {\n function n(p, v) {\n return Fle.coerce(e, t, Rle, p, v);\n }\n for (var a = !1, i = !1, o = !1, l = {}, s = n(\"barmode\"), u = 0; u < r.length; u++) {\n var f = r[u];\n if (Dle.traceIs(f, \"bar\") && f.visible) a = !0;\n else continue;\n if (s === \"group\") {\n var d = f.xaxis + f.yaxis;\n l[d] && (o = !0), l[d] = !0;\n }\n if (f.visible && f.type === \"histogram\") {\n var h = Ele.getFromId(\n { _fullLayout: t },\n f[f.orientation === \"v\" ? \"xaxis\" : \"yaxis\"]\n );\n h.type !== \"category\" && (i = !0);\n }\n }\n if (!a) {\n delete t.barmode;\n return;\n }\n s !== \"overlay\" && n(\"barnorm\"), n(\"bargap\", i && !o ? 0 : 0.2), n(\"bargroupgap\");\n}, Ys = Ue, w_ = function(t, r) {\n for (var n = 0; n < t.length; n++) t[n].i = n;\n Ys.mergeArray(r.text, t, \"tx\"), Ys.mergeArray(r.hovertext, t, \"htx\");\n var a = r.marker;\n if (a) {\n Ys.mergeArray(a.opacity, t, \"mo\", !0), Ys.mergeArray(a.color, t, \"mc\");\n var i = a.line;\n i && (Ys.mergeArray(i.color, t, \"mlc\"), Ys.mergeArrayCastPositive(i.width, t, \"mlw\"));\n }\n}, CS = Cr, LS = Wp, DS = wi.hasColorscale, ES = Mp, $le = w_, zle = OE, Ile = function(t, r) {\n var n = CS.getFromId(t, r.xaxis || \"x\"), a = CS.getFromId(t, r.yaxis || \"y\"), i, o, l, s, u, f, d = {\n msUTC: !!(r.base || r.base === 0)\n };\n r.orientation === \"h\" ? (i = n.makeCalcdata(r, \"x\", d), l = a.makeCalcdata(r, \"y\"), s = LS(r, a, \"y\", l), u = !!r.yperiodalignment, f = \"y\") : (i = a.makeCalcdata(r, \"y\", d), l = n.makeCalcdata(r, \"x\"), s = LS(r, n, \"x\", l), u = !!r.xperiodalignment, f = \"x\"), o = s.vals;\n for (var h = Math.min(o.length, i.length), p = new Array(h), v = 0; v < h; v++)\n p[v] = { p: o[v], s: i[v] }, u && (p[v].orig_p = l[v], p[v][f + \"End\"] = s.ends[v], p[v][f + \"Start\"] = s.starts[v]), r.ids && (p[v].id = String(r.ids[v]));\n return DS(r, \"marker\") && ES(t, r, {\n vals: r.marker.color,\n containerStr: \"marker\",\n cLetter: \"c\"\n }), DS(r, \"marker.line\") && ES(t, r, {\n vals: r.marker.line.color,\n containerStr: \"marker.line\",\n cLetter: \"c\"\n }), $le(p, r), zle(p, r), p;\n}, Nle = lr, Ole = Ue;\nfunction Hle(e, t, r) {\n var n = e._fullLayout, a = n[\"_\" + r + \"Text_minsize\"];\n if (a) {\n var i = n.uniformtext.mode === \"hide\", o;\n switch (r) {\n case \"funnelarea\":\n case \"pie\":\n case \"sunburst\":\n o = \"g.slice\";\n break;\n case \"treemap\":\n case \"icicle\":\n o = \"g.slice, g.pathbar\";\n break;\n default:\n o = \"g.points > g.point\";\n }\n t.selectAll(o).each(function(l) {\n var s = l.transform;\n if (s) {\n s.scale = i && s.hide ? 0 : a / s.fontSize;\n var u = Nle.select(this).select(\"text\");\n Ole.setTransormAndDisplay(u, s);\n }\n });\n }\n}\nfunction Ble(e, t, r) {\n if (r.uniformtext.mode) {\n var n = t8(e), a = r.uniformtext.minsize, i = t.scale * t.fontSize;\n t.hide = i < a, r[n] = r[n] || 1 / 0, t.hide || (r[n] = Math.min(\n r[n],\n Math.max(i, a)\n ));\n }\n}\nfunction jle(e, t) {\n var r = t8(e);\n t[r] = void 0;\n}\nfunction t8(e) {\n return \"_\" + e + \"Text_minsize\";\n}\nvar r8 = {\n recordMinTextSize: Ble,\n clearMinTextSize: jle,\n resizeText: Hle\n}, Fo = {}, Ule = sr, Gle = bi, n8 = Ue.isArrayOrTypedArray;\nFo.coerceString = function(e, t, r) {\n if (typeof t == \"string\") {\n if (t || !e.noBlank) return t;\n } else if ((typeof t == \"number\" || t === !0) && !e.strict)\n return String(t);\n return r !== void 0 ? r : e.dflt;\n};\nFo.coerceNumber = function(e, t, r) {\n if (Ule(t)) {\n t = +t;\n var n = e.min, a = e.max, i = n !== void 0 && t < n || a !== void 0 && t > a;\n if (!i) return t;\n }\n return r !== void 0 ? r : e.dflt;\n};\nFo.coerceColor = function(e, t, r) {\n return Gle(t).isValid() ? t : r !== void 0 ? r : e.dflt;\n};\nFo.coerceEnumerated = function(e, t, r) {\n return e.coerceNumber && (t = +t), e.values.indexOf(t) !== -1 ? t : r !== void 0 ? r : e.dflt;\n};\nFo.getValue = function(e, t) {\n var r;\n return n8(e) ? t < e.length && (r = e[t]) : r = e, r;\n};\nFo.getLineWidth = function(e, t) {\n var r = 0 < t.mlw ? t.mlw : n8(e.marker.line.width) ? 0 : e.marker.line.width;\n return r;\n};\nvar fc = lr, Vle = nr, Hc = Sr, a8 = Ue, i8 = Nt, o8 = r8.resizeText, T_ = Qp, qle = T_.textfont, Wle = T_.insidetextfont, Zle = T_.outsidetextfont, Xs = Fo;\nfunction Yle(e) {\n var t = fc.select(e).selectAll(\"g.barlayer\").selectAll(\"g.trace\");\n o8(e, t, \"bar\");\n var r = t.size(), n = e._fullLayout;\n t.style(\"opacity\", function(a) {\n return a[0].trace.opacity;\n }).each(function(a) {\n (n.barmode === \"stack\" && r > 1 || n.bargap === 0 && n.bargroupgap === 0 && !a[0].trace.marker.line.width) && fc.select(this).attr(\"shape-rendering\", \"crispEdges\");\n }), t.selectAll(\"g.points\").each(function(a) {\n var i = fc.select(this), o = a[0].trace;\n l8(i, o, e);\n }), i8.getComponentMethod(\"errorbars\", \"style\")(t);\n}\nfunction l8(e, t, r) {\n Hc.pointStyle(e.selectAll(\"path\"), t, r), s8(e, t, r);\n}\nfunction s8(e, t, r) {\n e.selectAll(\"text\").each(function(n) {\n var a = fc.select(this), i = a8.ensureUniformFontSize(r, u8(a, n, t, r));\n Hc.font(a, i);\n });\n}\nfunction Xle(e, t, r) {\n var n = t[0].trace;\n n.selectedpoints ? Kle(r, n, e) : (l8(r, n, e), i8.getComponentMethod(\"errorbars\", \"style\")(r));\n}\nfunction Kle(e, t, r) {\n Hc.selectedPointStyle(e.selectAll(\"path\"), t), Jle(e.selectAll(\"text\"), t, r);\n}\nfunction Jle(e, t, r) {\n e.each(function(n) {\n var a = fc.select(this), i;\n if (n.selected) {\n i = a8.ensureUniformFontSize(r, u8(a, n, t, r));\n var o = t.selected.textfont && t.selected.textfont.color;\n o && (i.color = o), Hc.font(a, i);\n } else\n Hc.selectedTextStyle(a, t);\n });\n}\nfunction u8(e, t, r, n) {\n var a = n._fullLayout.font, i = r.textfont;\n if (e.classed(\"bartext-inside\")) {\n var o = h8(t, r);\n i = c8(r, t.i, a, o);\n } else e.classed(\"bartext-outside\") && (i = d8(r, t.i, a));\n return i;\n}\nfunction f8(e, t, r) {\n return k_(\n qle,\n e.textfont,\n t,\n r\n );\n}\nfunction c8(e, t, r, n) {\n var a = f8(e, t, r), i = e._input.textfont === void 0 || e._input.textfont.color === void 0 || Array.isArray(e.textfont.color) && e.textfont.color[t] === void 0;\n return i && (a = {\n color: Vle.contrast(n),\n family: a.family,\n size: a.size\n }), k_(\n Wle,\n e.insidetextfont,\n t,\n a\n );\n}\nfunction d8(e, t, r) {\n var n = f8(e, t, r);\n return k_(\n Zle,\n e.outsidetextfont,\n t,\n n\n );\n}\nfunction k_(e, t, r, n) {\n t = t || {};\n var a = Xs.getValue(t.family, r), i = Xs.getValue(t.size, r), o = Xs.getValue(t.color, r);\n return {\n family: Xs.coerceString(\n e.family,\n a,\n n.family\n ),\n size: Xs.coerceNumber(\n e.size,\n i,\n n.size\n ),\n color: Xs.coerceColor(\n e.color,\n o,\n n.color\n )\n };\n}\nfunction h8(e, t) {\n return t.type === \"waterfall\" ? t[e.dir].marker.color : e.mcc || e.mc || t.marker.color;\n}\nvar n1 = {\n style: Yle,\n styleTextPoints: s8,\n styleOnSelect: Xle,\n getInsideTextFont: c8,\n getOutsideTextFont: d8,\n getBarColor: h8,\n resizeText: o8\n}, Th = lr, kh = sr, bn = Ue, Qle = Rn, ese = nr, el = Sr, tse = Nt, Iv = Cr.tickText, v8 = r8, rse = v8.recordMinTextSize, nse = v8.clearMinTextSize, D0 = n1, Bu = Fo, ase = X6, p8 = Qp, ise = p8.text, ose = p8.textposition, lse = Do.appendArrayPointValue, di = ase.TEXTPAD;\nfunction sse(e) {\n return e.id;\n}\nfunction use(e) {\n if (e.ids)\n return sse;\n}\nfunction al(e, t) {\n return e < t ? 1 : -1;\n}\nfunction fse(e, t, r, n) {\n var a = [], i = [], o = n ? t : r, l = n ? r : t;\n return a[0] = o.c2p(e.s0, !0), i[0] = l.c2p(e.p0, !0), a[1] = o.c2p(e.s1, !0), i[1] = l.c2p(e.p1, !0), n ? [a, i] : [i, a];\n}\nfunction m8(e, t, r, n) {\n if (!t.uniformtext.mode && g8(r)) {\n var a;\n return n && (a = n()), e.transition().duration(r.duration).ease(r.easing).each(\"end\", function() {\n a && a();\n }).each(\"interrupt\", function() {\n a && a();\n });\n } else\n return e;\n}\nfunction g8(e) {\n return e && e.duration > 0;\n}\nfunction cse(e, t, r, n, a, i) {\n var o = t.xaxis, l = t.yaxis, s = e._fullLayout, u = e._context.staticPlot;\n a || (a = {\n mode: s.barmode,\n norm: s.barmode,\n gap: s.bargap,\n groupgap: s.bargroupgap\n }, nse(\"bar\", s));\n var f = bn.makeTraceGroups(n, r, \"trace bars\").each(function(d) {\n var h = Th.select(this), p = d[0].trace, v = p.type === \"waterfall\", m = p.type === \"funnel\", g = p.type === \"bar\", y = g || m, w = 0;\n v && p.connector.visible && p.connector.mode === \"between\" && (w = p.connector.line.width / 2);\n var k = p.orientation === \"h\", x = g8(a), _ = bn.ensureSingle(h, \"g\", \"points\"), T = use(p), S = _.selectAll(\"g.point\").data(bn.identity, T);\n S.enter().append(\"g\").classed(\"point\", !0), S.exit().remove(), S.each(function(L, F) {\n var $ = Th.select(this), I = fse(L, o, l, k), O = I[0][0], G = I[0][1], K = I[1][0], V = I[1][1], z = (k ? G - O : V - K) === 0;\n z && y && Bu.getLineWidth(p, L) && (z = !1), z || (z = !kh(O) || !kh(G) || !kh(K) || !kh(V)), L.isBlank = z, z && (k ? G = O : V = K), w && !z && (k ? (O -= al(O, G) * w, G += al(O, G) * w) : (K -= al(K, V) * w, V += al(K, V) * w));\n var P, R;\n if (p.type === \"waterfall\") {\n if (!z) {\n var H = p[L.dir].marker;\n P = H.line.width, R = H.color;\n }\n } else\n P = Bu.getLineWidth(p, L), R = L.mc || p.marker.color;\n function B(ue) {\n var j = Th.round(P / 2 % 1, 2);\n return a.gap === 0 && a.groupgap === 0 ? Th.round(Math.round(ue) - j, 2) : ue;\n }\n function W(ue, j, U) {\n return U && ue === j ? ue : Math.abs(ue - j) >= 2 ? B(ue) : (\n // but if it's very thin, expand it so it's\n // necessarily visible, even if it might overlap\n // its neighbor\n ue > j ? Math.ceil(ue) : Math.floor(ue)\n );\n }\n if (!e._context.staticPlot) {\n var ee = ese.opacity(R), re = ee < 1 || P > 0.01 ? B : W;\n O = re(O, G, k), G = re(G, O, k), K = re(K, V, !k), V = re(V, K, !k);\n }\n var ae = m8(bn.ensureSingle($, \"path\"), s, a, i);\n if (ae.style(\"vector-effect\", u ? \"none\" : \"non-scaling-stroke\").attr(\"d\", isNaN((G - O) * (V - K)) || z && e._context.staticPlot ? \"M0,0Z\" : \"M\" + O + \",\" + K + \"V\" + V + \"H\" + G + \"V\" + K + \"Z\").call(el.setClipUrl, t.layerClipId, e), !s.uniformtext.mode && x) {\n var Q = el.makePointStyleFns(p);\n el.singlePointStyle(L, ae, p, Q, e);\n }\n dse(e, t, $, d, F, O, G, K, V, a, i), t.layerClipId && el.hideOutsideRangePoint(L, $.select(\"text\"), o, l, p.xcalendar, p.ycalendar);\n });\n var M = p.cliponaxis === !1;\n el.setClipUrl(h, M ? null : t.layerClipId, e);\n });\n tse.getComponentMethod(\"errorbars\", \"plot\")(e, f, t, a);\n}\nfunction dse(e, t, r, n, a, i, o, l, s, u, f) {\n var d = t.xaxis, h = t.yaxis, p = e._fullLayout, v;\n function m(ue, j, U) {\n var Z = bn.ensureSingle(ue, \"text\").text(j).attr({\n class: \"bartext bartext-\" + v,\n \"text-anchor\": \"middle\",\n // prohibit tex interpretation until we can handle\n // tex and regular text together\n \"data-notex\": 1\n }).call(el.font, U).call(Qle.convertToTspans, e);\n return Z;\n }\n var g = n[0].trace, y = g.orientation === \"h\", w = vse(p, n, a, d, h);\n v = pse(g, a);\n var k = u.mode === \"stack\" || u.mode === \"relative\", x = n[a], _ = !k || x._outmost;\n if (!w || v === \"none\" || (x.isBlank || i === o || l === s) && (v === \"auto\" || v === \"inside\")) {\n r.select(\"text\").remove();\n return;\n }\n var T = p.font, S = D0.getBarColor(n[a], g), M = D0.getInsideTextFont(g, a, T, S), L = D0.getOutsideTextFont(g, a, T), F = r.datum();\n y ? d.type === \"log\" && F.s0 <= 0 && (d.range[0] < d.range[1] ? i = 0 : i = d._length) : h.type === \"log\" && F.s0 <= 0 && (h.range[0] < h.range[1] ? l = h._length : l = 0);\n var $ = Math.abs(o - i) - 2 * di, I = Math.abs(s - l) - 2 * di, O, G, K, V, z;\n if (v === \"outside\" && !_ && !x.hasB && (v = \"inside\"), v === \"auto\")\n if (_) {\n v = \"inside\", z = bn.ensureUniformFontSize(e, M), O = m(r, w, z), G = el.bBox(O.node()), K = G.width, V = G.height;\n var P = K > 0 && V > 0, R = K <= $ && V <= I, H = K <= I && V <= $, B = y ? $ >= K * (I / V) : I >= V * ($ / K);\n P && (R || H || B) ? v = \"inside\" : (v = \"outside\", O.remove(), O = null);\n } else\n v = \"inside\";\n if (!O) {\n z = bn.ensureUniformFontSize(e, v === \"outside\" ? L : M), O = m(r, w, z);\n var W = O.attr(\"transform\");\n if (O.attr(\"transform\", \"\"), G = el.bBox(O.node()), K = G.width, V = G.height, O.attr(\"transform\", W), K <= 0 || V <= 0) {\n O.remove();\n return;\n }\n }\n var ee = g.textangle, re, ae;\n v === \"outside\" ? (ae = g.constraintext === \"both\" || g.constraintext === \"outside\", re = hse(i, o, l, s, G, {\n isHorizontal: y,\n constrained: ae,\n angle: ee\n })) : (ae = g.constraintext === \"both\" || g.constraintext === \"inside\", re = _8(i, o, l, s, G, {\n isHorizontal: y,\n constrained: ae,\n angle: ee,\n anchor: g.insidetextanchor\n })), re.fontSize = z.size, rse(g.type === \"histogram\" ? \"bar\" : g.type, re, p), x.transform = re;\n var Q = m8(O, p, u, f);\n bn.setTransormAndDisplay(Q, re);\n}\nfunction y8(e) {\n return e === \"auto\" ? 0 : e;\n}\nfunction b8(e, t) {\n var r = Math.PI / 180 * t, n = Math.abs(Math.sin(r)), a = Math.abs(Math.cos(r));\n return {\n x: e.width * a + e.height * n,\n y: e.width * n + e.height * a\n };\n}\nfunction _8(e, t, r, n, a, i) {\n var o = !!i.isHorizontal, l = !!i.constrained, s = i.angle || 0, u = i.anchor || \"end\", f = u === \"end\", d = u === \"start\", h = i.leftToRight || 0, p = (h + 1) / 2, v = 1 - p, m = a.width, g = a.height, y = Math.abs(t - e), w = Math.abs(n - r), k = y > 2 * di && w > 2 * di ? di : 0;\n y -= 2 * k, w -= 2 * k;\n var x = y8(s);\n s === \"auto\" && !(m <= y && g <= w) && (m > y || g > w) && (!(m > w || g > y) || m < g != y < w) && (x += 90);\n var _ = b8(a, x), T = 1;\n l && (T = Math.min(\n 1,\n y / _.x,\n w / _.y\n ));\n var S = a.left * v + a.right * p, M = (a.top + a.bottom) / 2, L = (e + di) * v + (t - di) * p, F = (r + n) / 2, $ = 0, I = 0;\n if (d || f) {\n var O = (o ? _.x : _.y) / 2, G = o ? al(e, t) : al(r, n);\n o ? d ? (L = e + G * k, $ = -G * O) : (L = t - G * k, $ = G * O) : d ? (F = r + G * k, I = -G * O) : (F = n - G * k, I = G * O);\n }\n return {\n textX: S,\n textY: M,\n targetX: L,\n targetY: F,\n anchorX: $,\n anchorY: I,\n scale: T,\n rotate: x\n };\n}\nfunction hse(e, t, r, n, a, i) {\n var o = !!i.isHorizontal, l = !!i.constrained, s = i.angle || 0, u = a.width, f = a.height, d = Math.abs(t - e), h = Math.abs(n - r), p;\n o ? p = h > 2 * di ? di : 0 : p = d > 2 * di ? di : 0;\n var v = 1;\n l && (v = o ? Math.min(1, h / f) : Math.min(1, d / u));\n var m = y8(s), g = b8(a, m), y = (o ? g.x : g.y) / 2, w = (a.left + a.right) / 2, k = (a.top + a.bottom) / 2, x = (e + t) / 2, _ = (r + n) / 2, T = 0, S = 0, M = o ? al(t, e) : al(r, n);\n return o ? (x = t - M * p, T = M * y) : (_ = n + M * p, S = -M * y), {\n textX: w,\n textY: k,\n targetX: x,\n targetY: _,\n anchorX: T,\n anchorY: S,\n scale: v,\n rotate: m\n };\n}\nfunction vse(e, t, r, n, a) {\n var i = t[0].trace, o = i.texttemplate, l;\n return o ? l = mse(e, t, r, n, a) : i.textinfo ? l = gse(t, r, n, a) : l = Bu.getValue(i.text, r), Bu.coerceString(ise, l);\n}\nfunction pse(e, t) {\n var r = Bu.getValue(e.textposition, t);\n return Bu.coerceEnumerated(ose, r);\n}\nfunction mse(e, t, r, n, a) {\n var i = t[0].trace, o = bn.castOption(i, r, \"texttemplate\");\n if (!o) return \"\";\n var l = i.type === \"histogram\", s = i.type === \"waterfall\", u = i.type === \"funnel\", f = i.orientation === \"h\", d, h, p, v;\n f ? (d = \"y\", h = a, p = \"x\", v = n) : (d = \"x\", h = n, p = \"y\", v = a);\n function m(T) {\n return Iv(h, h.c2l(T), !0).text;\n }\n function g(T) {\n return Iv(v, v.c2l(T), !0).text;\n }\n var y = t[r], w = {};\n w.label = y.p, w.labelLabel = w[d + \"Label\"] = m(y.p);\n var k = bn.castOption(i, y.i, \"text\");\n (k === 0 || k) && (w.text = k), w.value = y.s, w.valueLabel = w[p + \"Label\"] = g(y.s);\n var x = {};\n lse(x, i, y.i), (l || x.x === void 0) && (x.x = f ? w.value : w.label), (l || x.y === void 0) && (x.y = f ? w.label : w.value), (l || x.xLabel === void 0) && (x.xLabel = f ? w.valueLabel : w.labelLabel), (l || x.yLabel === void 0) && (x.yLabel = f ? w.labelLabel : w.valueLabel), s && (w.delta = +y.rawS || y.s, w.deltaLabel = g(w.delta), w.final = y.v, w.finalLabel = g(w.final), w.initial = w.final - w.delta, w.initialLabel = g(w.initial)), u && (w.value = y.s, w.valueLabel = g(w.value), w.percentInitial = y.begR, w.percentInitialLabel = bn.formatPercent(y.begR), w.percentPrevious = y.difR, w.percentPreviousLabel = bn.formatPercent(y.difR), w.percentTotal = y.sumR, w.percenTotalLabel = bn.formatPercent(y.sumR));\n var _ = bn.castOption(i, y.i, \"customdata\");\n return _ && (w.customdata = _), bn.texttemplateString(o, w, e._d3locale, x, w, i._meta || {});\n}\nfunction gse(e, t, r, n) {\n var a = e[0].trace, i = a.orientation === \"h\", o = a.type === \"waterfall\", l = a.type === \"funnel\";\n function s(_) {\n var T = i ? n : r;\n return Iv(T, _, !0).text;\n }\n function u(_) {\n var T = i ? r : n;\n return Iv(T, +_, !0).text;\n }\n var f = a.textinfo, d = e[t], h = f.split(\"+\"), p = [], v, m = function(_) {\n return h.indexOf(_) !== -1;\n };\n if (m(\"label\") && p.push(s(e[t].p)), m(\"text\") && (v = bn.castOption(a, d.i, \"text\"), (v === 0 || v) && p.push(v)), o) {\n var g = +d.rawS || d.s, y = d.v, w = y - g;\n m(\"initial\") && p.push(u(w)), m(\"delta\") && p.push(u(g)), m(\"final\") && p.push(u(y));\n }\n if (l) {\n m(\"value\") && p.push(u(d.s));\n var k = 0;\n m(\"percent initial\") && k++, m(\"percent previous\") && k++, m(\"percent total\") && k++;\n var x = k > 1;\n m(\"percent initial\") && (v = bn.formatPercent(d.begR), x && (v += \" of initial\"), p.push(v)), m(\"percent previous\") && (v = bn.formatPercent(d.difR), x && (v += \" of previous\"), p.push(v)), m(\"percent total\") && (v = bn.formatPercent(d.sumR), x && (v += \" of total\"), p.push(v));\n }\n return p.join(\"
\");\n}\nvar yse = {\n plot: cse,\n toMoveInsideBar: _8\n}, Vf = Ao, bse = Nt, FS = nr, _se = Ue.fillText, xse = Fo.getLineWidth, E0 = Cr.hoverLabelText, wse = Qr.BADNUM;\nfunction Tse(e, t, r, n, a) {\n var i = x8(e, t, r, n, a);\n if (i) {\n var o = i.cd, l = o[0].trace, s = o[i.index];\n return i.color = w8(l, s), bse.getComponentMethod(\"errorbars\", \"hoverInfo\")(s, l, i), [i];\n }\n}\nfunction x8(e, t, r, n, a) {\n var i = e.cd, o = i[0].trace, l = i[0].t, s = n === \"closest\", u = o.type === \"waterfall\", f = e.maxHoverDistance, d = e.maxSpikeDistance, h, p, v, m, g, y, w;\n o.orientation === \"h\" ? (h = r, p = t, v = \"y\", m = \"x\", g = K, y = I) : (h = t, p = r, v = \"x\", m = \"y\", y = K, g = I);\n var k = o[v + \"period\"], x = s || k;\n function _(Q) {\n return S(Q, -1);\n }\n function T(Q) {\n return S(Q, 1);\n }\n function S(Q, ue) {\n var j = Q.w;\n return Q[v] + ue * j / 2;\n }\n function M(Q) {\n return Q[v + \"End\"] - Q[v + \"Start\"];\n }\n var L = s ? _ : k ? function(Q) {\n return Q.p - M(Q) / 2;\n } : function(Q) {\n return Math.min(_(Q), Q.p - l.bardelta / 2);\n }, F = s ? T : k ? function(Q) {\n return Q.p + M(Q) / 2;\n } : function(Q) {\n return Math.max(T(Q), Q.p + l.bardelta / 2);\n };\n function $(Q, ue, j) {\n return a.finiteRange && (j = 0), Vf.inbox(\n Q - h,\n ue - h,\n j + Math.min(1, Math.abs(ue - Q) / w) - 1\n );\n }\n function I(Q) {\n return $(L(Q), F(Q), f);\n }\n function O(Q) {\n return $(_(Q), T(Q), d);\n }\n function G(Q) {\n var ue = Q[m];\n if (u) {\n var j = Math.abs(Q.rawS) || 0;\n p > 0 ? ue += j : p < 0 && (ue -= j);\n }\n return ue;\n }\n function K(Q) {\n var ue = p, j = Q.b, U = G(Q);\n return Vf.inbox(j - ue, U - ue, f + (U - ue) / (U - j) - 1);\n }\n function V(Q) {\n var ue = p, j = Q.b, U = G(Q);\n return Vf.inbox(j - ue, U - ue, d + (U - ue) / (U - j) - 1);\n }\n var z = e[v + \"a\"], P = e[m + \"a\"];\n w = Math.abs(z.r2c(z.range[1]) - z.r2c(z.range[0]));\n function R(Q) {\n return (g(Q) + y(Q)) / 2;\n }\n var H = Vf.getDistanceFunction(n, g, y, R);\n if (Vf.getClosest(i, H, e), e.index !== !1 && i[e.index].p !== wse) {\n x || (L = function(Q) {\n return Math.min(_(Q), Q.p - l.bargroupwidth / 2);\n }, F = function(Q) {\n return Math.max(T(Q), Q.p + l.bargroupwidth / 2);\n });\n var B = e.index, W = i[B], ee = o.base ? W.b + W.s : W.s;\n e[m + \"0\"] = e[m + \"1\"] = P.c2p(W[m], !0), e[m + \"LabelVal\"] = ee;\n var re = l.extents[l.extents.round(W.p)];\n e[v + \"0\"] = z.c2p(s ? L(W) : re[0], !0), e[v + \"1\"] = z.c2p(s ? F(W) : re[1], !0);\n var ae = W.orig_p !== void 0;\n return e[v + \"LabelVal\"] = ae ? W.orig_p : W.p, e.labelLabel = E0(z, e[v + \"LabelVal\"], o[v + \"hoverformat\"]), e.valueLabel = E0(P, e[m + \"LabelVal\"], o[m + \"hoverformat\"]), e.baseLabel = E0(P, W.b, o[m + \"hoverformat\"]), e.spikeDistance = (V(W) + O(W)) / 2, e[v + \"Spike\"] = z.c2p(W.p, !0), _se(W, o, e), e.hovertemplate = o.hovertemplate, e;\n }\n}\nfunction w8(e, t) {\n var r = t.mcc || e.marker.color, n = t.mlcc || e.marker.line.color, a = xse(e, t);\n if (FS.opacity(r)) return r;\n if (FS.opacity(n) && a) return n;\n}\nvar kse = {\n hoverPoints: Tse,\n hoverOnBars: x8,\n getTraceColor: w8\n}, Ase = function(t, r, n) {\n return t.x = \"xVal\" in r ? r.xVal : r.x, t.y = \"yVal\" in r ? r.yVal : r.y, r.xa && (t.xaxis = r.xa), r.ya && (t.yaxis = r.ya), n.orientation === \"h\" ? (t.label = t.y, t.value = t.x) : (t.label = t.x, t.value = t.y), t;\n}, Mse = function(t, r) {\n var n = t.cd, a = t.xaxis, i = t.yaxis, o = n[0].trace, l = o.type === \"funnel\", s = o.orientation === \"h\", u = [], f;\n if (r === !1)\n for (f = 0; f < n.length; f++)\n n[f].selected = 0;\n else\n for (f = 0; f < n.length; f++) {\n var d = n[f], h = \"ct\" in d ? d.ct : Sse(d, a, i, s, l);\n r.contains(h, !1, f, t) ? (u.push({\n pointNumber: f,\n x: a.c2d(d.x),\n y: i.c2d(d.y)\n }), d.selected = 1) : d.selected = 0;\n }\n return u;\n};\nfunction Sse(e, t, r, n, a) {\n var i = t.c2p(n ? e.s0 : e.p0, !0), o = t.c2p(n ? e.s1 : e.p1, !0), l = r.c2p(n ? e.p0 : e.s0, !0), s = r.c2p(n ? e.p1 : e.s1, !0);\n return a ? [(i + o) / 2, (l + s) / 2] : n ? [o, (l + s) / 2] : [(i + o) / 2, s];\n}\nvar Cse = {\n attributes: Qp,\n layoutAttributes: J6,\n supplyDefaults: SS.supplyDefaults,\n crossTraceDefaults: SS.crossTraceDefaults,\n supplyLayoutDefaults: Ple,\n calc: Ile,\n crossTraceCalc: KE.crossTraceCalc,\n colorbar: t6,\n arraysToCalcdata: w_,\n plot: yse.plot,\n style: n1.style,\n styleOnSelect: n1.styleOnSelect,\n hoverPoints: kse.hoverPoints,\n eventData: Ase,\n selectPoints: Mse,\n moduleType: \"trace\",\n name: \"bar\",\n basePlotModule: yn,\n categories: [\"bar-like\", \"cartesian\", \"svg\", \"bar\", \"oriented\", \"errorBarsOK\", \"showLegend\", \"zoomScale\"],\n animatable: !0,\n meta: {\n description: [\n \"The data visualized by the span of the bars is set in `y`\",\n \"if `orientation` is set to *v* (the default)\",\n \"and the labels are set in `x`.\",\n \"By setting `orientation` to *h*, the roles are interchanged.\"\n ].join(\" \")\n }\n}, Lse = Cse;\nconst Dse = /* @__PURE__ */ Vc(Lse);\nvar Fa = ws, Ese = Wi, Fse = Fn, F0 = kp.axisHoverFormat, Rse = _i.hovertemplateAttrs, Pse = _i.texttemplateAttrs, $se = Jc, ta = en.extendFlat, T8 = ta(\n {\n z: {\n valType: \"data_array\",\n editType: \"calc\",\n description: \"Sets the z data.\"\n },\n x: ta({}, Fa.x, { impliedEdits: { xtype: \"array\" } }),\n x0: ta({}, Fa.x0, { impliedEdits: { xtype: \"scaled\" } }),\n dx: ta({}, Fa.dx, { impliedEdits: { xtype: \"scaled\" } }),\n y: ta({}, Fa.y, { impliedEdits: { ytype: \"array\" } }),\n y0: ta({}, Fa.y0, { impliedEdits: { ytype: \"scaled\" } }),\n dy: ta({}, Fa.dy, { impliedEdits: { ytype: \"scaled\" } }),\n xperiod: ta({}, Fa.xperiod, { impliedEdits: { xtype: \"scaled\" } }),\n yperiod: ta({}, Fa.yperiod, { impliedEdits: { ytype: \"scaled\" } }),\n xperiod0: ta({}, Fa.xperiod0, { impliedEdits: { xtype: \"scaled\" } }),\n yperiod0: ta({}, Fa.yperiod0, { impliedEdits: { ytype: \"scaled\" } }),\n xperiodalignment: ta({}, Fa.xperiodalignment, { impliedEdits: { xtype: \"scaled\" } }),\n yperiodalignment: ta({}, Fa.yperiodalignment, { impliedEdits: { ytype: \"scaled\" } }),\n text: {\n valType: \"data_array\",\n editType: \"calc\",\n description: \"Sets the text elements associated with each z value.\"\n },\n hovertext: {\n valType: \"data_array\",\n editType: \"calc\",\n description: \"Same as `text`.\"\n },\n transpose: {\n valType: \"boolean\",\n dflt: !1,\n editType: \"calc\",\n description: \"Transposes the z data.\"\n },\n xtype: {\n valType: \"enumerated\",\n values: [\"array\", \"scaled\"],\n editType: \"calc+clearAxisTypes\",\n description: [\n \"If *array*, the heatmap's x coordinates are given by *x*\",\n \"(the default behavior when `x` is provided).\",\n \"If *scaled*, the heatmap's x coordinates are given by *x0* and *dx*\",\n \"(the default behavior when `x` is not provided).\"\n ].join(\" \")\n },\n ytype: {\n valType: \"enumerated\",\n values: [\"array\", \"scaled\"],\n editType: \"calc+clearAxisTypes\",\n description: [\n \"If *array*, the heatmap's y coordinates are given by *y*\",\n \"(the default behavior when `y` is provided)\",\n \"If *scaled*, the heatmap's y coordinates are given by *y0* and *dy*\",\n \"(the default behavior when `y` is not provided)\"\n ].join(\" \")\n },\n zsmooth: {\n valType: \"enumerated\",\n values: [\"fast\", \"best\", !1],\n dflt: !1,\n editType: \"calc\",\n description: [\n \"Picks a smoothing algorithm use to smooth `z` data.\"\n ].join(\" \")\n },\n hoverongaps: {\n valType: \"boolean\",\n dflt: !0,\n editType: \"none\",\n description: [\n \"Determines whether or not gaps\",\n \"(i.e. {nan} or missing values)\",\n \"in the `z` data have hover labels associated with them.\"\n ].join(\" \")\n },\n connectgaps: {\n valType: \"boolean\",\n editType: \"calc\",\n description: [\n \"Determines whether or not gaps\",\n \"(i.e. {nan} or missing values)\",\n \"in the `z` data are filled in.\",\n \"It is defaulted to true if `z` is a\",\n \"one dimensional array and `zsmooth` is not false;\",\n \"otherwise it is defaulted to false.\"\n ].join(\" \")\n },\n xgap: {\n valType: \"number\",\n dflt: 0,\n min: 0,\n editType: \"plot\",\n description: \"Sets the horizontal gap (in pixels) between bricks.\"\n },\n ygap: {\n valType: \"number\",\n dflt: 0,\n min: 0,\n editType: \"plot\",\n description: \"Sets the vertical gap (in pixels) between bricks.\"\n },\n xhoverformat: F0(\"x\"),\n yhoverformat: F0(\"y\"),\n zhoverformat: F0(\"z\", 1),\n hovertemplate: Rse(),\n texttemplate: Pse({\n arrayOk: !1,\n editType: \"plot\"\n }, {\n keys: [\"x\", \"y\", \"z\", \"text\"]\n }),\n textfont: Fse({\n editType: \"plot\",\n autoSize: !0,\n autoColor: !0,\n colorEditType: \"style\",\n description: \"Sets the text font.\"\n }),\n showlegend: ta({}, Ese.showlegend, { dflt: !1 })\n },\n {\n transforms: void 0\n },\n $se(\"\", { cLetter: \"z\", autoColorDflt: !1 })\n), zse = sr, Xh = Ue, Ise = Nt, Nse = function(t, r, n, a, i, o) {\n var l = n(\"z\");\n i = i || \"x\", o = o || \"y\";\n var s, u;\n if (l === void 0 || !l.length) return 0;\n if (Xh.isArray1D(l)) {\n s = n(i), u = n(o);\n var f = Xh.minRowLength(s), d = Xh.minRowLength(u);\n if (f === 0 || d === 0) return 0;\n r._length = Math.min(f, d, l.length);\n } else {\n if (s = RS(i, n), u = RS(o, n), !Ose(l)) return 0;\n n(\"transpose\"), r._length = null;\n }\n if (t.type === \"heatmapgl\") return !0;\n var h = Ise.getComponentMethod(\"calendars\", \"handleTraceDefaults\");\n return h(t, r, [i, o], a), !0;\n};\nfunction RS(e, t) {\n var r = t(e), n = r ? t(e + \"type\", \"array\") : \"scaled\";\n return n === \"scaled\" && (t(e + \"0\"), t(\"d\" + e)), r;\n}\nfunction Ose(e) {\n for (var t = !0, r = !1, n = !1, a, i = 0; i < e.length; i++) {\n if (a = e[i], !Xh.isArrayOrTypedArray(a)) {\n t = !1;\n break;\n }\n a.length > 0 && (r = !0);\n for (var o = 0; o < a.length; o++)\n if (zse(a[o])) {\n n = !0;\n break;\n }\n }\n return t && r && n;\n}\nvar PS = Ue, Hse = function(t, r) {\n t(\"texttemplate\");\n var n = PS.extendFlat({}, r.font, {\n color: \"auto\",\n size: \"auto\"\n });\n PS.coerceFont(t, \"textfont\", n);\n}, Bse = function(t, r, n) {\n var a = n(\"zsmooth\");\n a === !1 && (n(\"xgap\"), n(\"ygap\")), n(\"zhoverformat\");\n}, $S = Ue, jse = Nse, Use = Hse, Gse = o_, Vse = Bse, qse = ef, Wse = T8, Zse = function(t, r, n, a) {\n function i(l, s) {\n return $S.coerce(t, r, Wse, l, s);\n }\n var o = jse(t, r, i, a);\n if (!o) {\n r.visible = !1;\n return;\n }\n Gse(t, r, a, i), i(\"xhoverformat\"), i(\"yhoverformat\"), i(\"text\"), i(\"hovertext\"), i(\"hovertemplate\"), Use(i, a), Vse(t, r, i), i(\"hoverongaps\"), i(\"connectgaps\", $S.isArray1D(r.z) && r.zsmooth !== !1), qse(t, r, a, i, { prefix: \"\", cLetter: \"z\" });\n}, Ks = sr, k8 = {\n count: function(e, t, r) {\n return r[e]++, 1;\n },\n sum: function(e, t, r, n) {\n var a = n[t];\n return Ks(a) ? (a = Number(a), r[e] += a, a) : 0;\n },\n avg: function(e, t, r, n, a) {\n var i = n[t];\n return Ks(i) && (i = Number(i), r[e] += i, a[e]++), 0;\n },\n min: function(e, t, r, n) {\n var a = n[t];\n if (Ks(a))\n if (a = Number(a), Ks(r[e])) {\n if (r[e] > a) {\n var i = a - r[e];\n return r[e] = a, i;\n }\n } else return r[e] = a, a;\n return 0;\n },\n max: function(e, t, r, n) {\n var a = n[t];\n if (Ks(a))\n if (a = Number(a), Ks(r[e])) {\n if (r[e] < a) {\n var i = a - r[e];\n return r[e] = a, i;\n }\n } else return r[e] = a, a;\n return 0;\n }\n}, A8 = {\n percent: function(e, t) {\n for (var r = e.length, n = 100 / t, a = 0; a < r; a++) e[a] *= n;\n },\n probability: function(e, t) {\n for (var r = e.length, n = 0; n < r; n++) e[n] /= t;\n },\n density: function(e, t, r, n) {\n var a = e.length;\n n = n || 1;\n for (var i = 0; i < a; i++) e[i] *= r[i] * n;\n },\n \"probability density\": function(e, t, r, n) {\n var a = e.length;\n n && (t /= n);\n for (var i = 0; i < a; i++) e[i] *= r[i] / t;\n }\n}, M8 = function(t, r) {\n for (var n = t.length, a = 0, i = 0; i < n; i++)\n r[i] ? (t[i] /= r[i], a += t[i]) : t[i] = null;\n return a;\n}, af = Qr, es = af.ONEAVGYEAR, zS = af.ONEAVGMONTH, Nv = af.ONEDAY, IS = af.ONEHOUR, NS = af.ONEMIN, OS = af.ONESEC, HS = Cr.tickIncrement, S8 = function(t, r, n, a, i) {\n var o = -1.1 * r, l = -0.1 * r, s = t - l, u = n[0], f = n[1], d = Math.min(\n Ah(u + l, u + s, a, i),\n Ah(f + l, f + s, a, i)\n ), h = Math.min(\n Ah(u + o, u + l, a, i),\n Ah(f + o, f + l, a, i)\n ), p, v;\n if (d > h && h < Math.abs(f - u) / 4e3 ? (p = d, v = !1) : (p = Math.min(d, h), v = !0), a.type === \"date\" && p > Nv) {\n var m = p === es ? 1 : 6, g = p === es ? \"M12\" : \"M1\";\n return function(y, w) {\n var k = a.c2d(y, es, i), x = k.indexOf(\"-\", m);\n x > 0 && (k = k.substr(0, x));\n var _ = a.d2c(k, 0, i);\n if (_ < y) {\n var T = HS(_, g, !1, i);\n (_ + T) / 2 < y + t && (_ = T);\n }\n return w && v ? HS(_, g, !0, i) : _;\n };\n }\n return function(y, w) {\n var k = p * Math.round(y / p);\n return k + p / 10 < y && k + p * 0.9 < y + t && (k += p), w && v && (k -= p), k;\n };\n};\nfunction Ah(e, t, r, n) {\n if (e * t <= 0) return 1 / 0;\n for (var a = Math.abs(t - e), i = r.type === \"date\", o = BS(a, i), l = 0; l < 10; l++) {\n var s = BS(o * 80, i);\n if (o === s) break;\n if (Yse(s, e, t, i, r, n)) o = s;\n else break;\n }\n return o;\n}\nfunction BS(e, t) {\n return t && e > OS ? e > Nv ? e > es * 1.1 ? es : e > zS * 1.1 ? zS : Nv : e > IS ? IS : e > NS ? NS : OS : Math.pow(10, Math.floor(Math.log(e) / Math.LN10));\n}\nfunction Yse(e, t, r, n, a, i) {\n if (n && e > Nv) {\n var o = jS(t, a, i), l = jS(r, a, i), s = e === es ? 0 : 1;\n return o[s] !== l[s];\n }\n return Math.floor(r / e) - Math.floor(t / e) > 0.1;\n}\nfunction jS(e, t, r) {\n var n = t.c2d(e, es, r).split(\"-\");\n return n[0] === \"\" && (n.unshift(), n[0] = \"-\" + n[0]), n;\n}\nvar a1 = sr, Nn = Ue, US = Nt, za = Cr, Xse = w_, GS = k8, Kse = A8, Jse = M8, Qse = S8;\nfunction eue(e, t) {\n var r = [], n = [], a = t.orientation === \"h\", i = za.getFromId(e, a ? t.yaxis : t.xaxis), o = a ? \"y\" : \"x\", l = { x: \"y\", y: \"x\" }[o], s = t[o + \"calendar\"], u = t.cumulative, f, d = A_(e, t, i, o), h = d[0], p = d[1], v = typeof h.size == \"string\", m = [], g = v ? m : h, y = [], w = [], k = [], x = 0, _ = t.histnorm, T = t.histfunc, S = _.indexOf(\"density\") !== -1, M, L, F;\n u.enabled && S && (_ = _.replace(/ ?density$/, \"\"), S = !1);\n var $ = T === \"max\" || T === \"min\", I = $ ? null : 0, O = GS.count, G = Kse[_], K = !1, V = function(J) {\n return i.r2c(J, 0, s);\n }, z;\n for (Nn.isArrayOrTypedArray(t[l]) && T !== \"count\" && (z = t[l], K = T === \"avg\", O = GS[T]), f = V(h.start), L = V(h.end) + (f - za.tickIncrement(f, h.size, !1, s)) / 1e6; f < L && r.length < 1e6 && (M = za.tickIncrement(f, h.size, !1, s), r.push((f + M) / 2), n.push(I), k.push([]), m.push(f), S && y.push(1 / (M - f)), K && w.push(0), !(M <= f)); )\n f = M;\n m.push(f), !v && i.type === \"date\" && (g = {\n start: V(g.start),\n end: V(g.end),\n size: g.size\n }), e._fullLayout._roundFnOpts || (e._fullLayout._roundFnOpts = {});\n var P = t[\"_\" + o + \"bingroup\"], R = { leftGap: 1 / 0, rightGap: 1 / 0 };\n P && (e._fullLayout._roundFnOpts[P] || (e._fullLayout._roundFnOpts[P] = R), R = e._fullLayout._roundFnOpts[P]);\n var H = n.length, B = !0, W = R.leftGap, ee = R.rightGap, re = {};\n for (f = 0; f < p.length; f++) {\n var ae = p[f];\n F = Nn.findBin(ae, g), F >= 0 && F < H && (x += O(F, f, n, z, w), B && k[F].length && ae !== p[k[F][0]] && (B = !1), k[F].push(f), re[f] = F, W = Math.min(W, ae - m[F]), ee = Math.min(ee, m[F + 1] - ae));\n }\n R.leftGap = W, R.rightGap = ee;\n var Q;\n B || (Q = function(J, pe) {\n return function() {\n var ge = e._fullLayout._roundFnOpts[P];\n return Qse(\n ge.leftGap,\n ge.rightGap,\n m,\n i,\n s\n )(J, pe);\n };\n }), K && (x = Jse(n, w)), G && G(n, x, y), u.enabled && nue(n, u.direction, u.currentbin);\n var ue = Math.min(r.length, n.length), j = [], U = 0, Z = ue - 1;\n for (f = 0; f < ue; f++)\n if (n[f]) {\n U = f;\n break;\n }\n for (f = ue - 1; f >= U; f--)\n if (n[f]) {\n Z = f;\n break;\n }\n for (f = U; f <= Z; f++)\n if (a1(r[f]) && a1(n[f])) {\n var le = {\n p: r[f],\n s: n[f],\n b: 0\n };\n u.enabled || (le.pts = k[f], B ? le.ph0 = le.ph1 = k[f].length ? p[k[f][0]] : r[f] : (t._computePh = !0, le.ph0 = Q(m[f]), le.ph1 = Q(m[f + 1], !0))), j.push(le);\n }\n return j.length === 1 && (j[0].width1 = za.tickIncrement(j[0].p, h.size, !1, s) - j[0].p), Xse(j, t), Nn.isArrayOrTypedArray(t.selectedpoints) && Nn.tagSelected(j, t, re), j;\n}\nfunction A_(e, t, r, n, a) {\n var i = n + \"bins\", o = e._fullLayout, l = t[\"_\" + n + \"bingroup\"], s = o._histogramBinOpts[l], u = o.barmode === \"overlay\", f, d, h, p, v, m, g, y = function(ae) {\n return r.r2c(ae, 0, p);\n }, w = function(ae) {\n return r.c2r(ae, 0, p);\n }, k = r.type === \"date\" ? function(ae) {\n return ae || ae === 0 ? Nn.cleanDate(ae, null, p) : null;\n } : function(ae) {\n return a1(ae) ? Number(ae) : null;\n };\n function x(ae, Q, ue) {\n Q[ae + \"Found\"] ? (Q[ae] = k(Q[ae]), Q[ae] === null && (Q[ae] = ue[ae])) : (m[ae] = Q[ae] = ue[ae], Nn.nestedProperty(d[0], i + \".\" + ae).set(ue[ae]));\n }\n if (t[\"_\" + n + \"autoBinFinished\"])\n delete t[\"_\" + n + \"autoBinFinished\"];\n else {\n d = s.traces;\n var _ = [], T = !0, S = !1, M = !1;\n for (f = 0; f < d.length; f++)\n if (h = d[f], h.visible) {\n var L = s.dirs[f];\n v = h[\"_\" + L + \"pos0\"] = r.makeCalcdata(h, L), _ = Nn.concat(_, v), delete h[\"_\" + n + \"autoBinFinished\"], t.visible === !0 && (T ? T = !1 : (delete h._autoBin, h[\"_\" + n + \"autoBinFinished\"] = 1), US.traceIs(h, \"2dMap\") && (S = !0), h.type === \"histogram2dcontour\" && (M = !0));\n }\n p = d[0][n + \"calendar\"];\n var F = za.autoBin(_, r, s.nbins, S, p, s.sizeFound && s.size), $ = d[0]._autoBin = {};\n if (m = $[s.dirs[0]] = {}, M && (s.size || (F.start = w(za.tickIncrement(\n y(F.start),\n F.size,\n !0,\n p\n ))), s.end === void 0 && (F.end = w(za.tickIncrement(\n y(F.end),\n F.size,\n !1,\n p\n )))), u && !US.traceIs(t, \"2dMap\") && F._dataSpan === 0 && r.type !== \"category\" && r.type !== \"multicategory\" && t.bingroup === \"\" && typeof t.xbins > \"u\") {\n if (a) return [F, v, !0];\n F = tue(e, t, r, n, i);\n }\n g = h.cumulative || {}, g.enabled && g.currentbin !== \"include\" && (g.direction === \"decreasing\" ? F.start = w(za.tickIncrement(\n y(F.start),\n F.size,\n !0,\n p\n )) : F.end = w(za.tickIncrement(\n y(F.end),\n F.size,\n !1,\n p\n ))), s.size = F.size, s.sizeFound || (m.size = F.size, Nn.nestedProperty(d[0], i + \".size\").set(F.size)), x(\"start\", s, F), x(\"end\", s, F);\n }\n v = t[\"_\" + n + \"pos0\"], delete t[\"_\" + n + \"pos0\"];\n var I = t._input[i] || {}, O = Nn.extendFlat({}, s), G = s.start, K = r.r2l(I.start), V = K !== void 0;\n if ((s.startFound || V) && K !== r.r2l(G)) {\n var z = V ? K : Nn.aggNums(Math.min, null, v), P = {\n type: r.type === \"category\" || r.type === \"multicategory\" ? \"linear\" : r.type,\n r2l: r.r2l,\n dtick: s.size,\n tick0: G,\n calendar: p,\n range: [z, za.tickIncrement(z, s.size, !1, p)].map(r.l2r)\n }, R = za.tickFirst(P);\n R > r.r2l(z) && (R = za.tickIncrement(R, s.size, !0, p)), O.start = r.l2r(R), V || Nn.nestedProperty(t, i + \".start\").set(O.start);\n }\n var H = s.end, B = r.r2l(I.end), W = B !== void 0;\n if ((s.endFound || W) && B !== r.r2l(H)) {\n var ee = W ? B : Nn.aggNums(Math.max, null, v);\n O.end = r.l2r(ee), W || Nn.nestedProperty(t, i + \".start\").set(O.end);\n }\n var re = \"autobin\" + n;\n return t._input[re] === !1 && (t._input[i] = Nn.extendFlat({}, t[i] || {}), delete t._input[re], delete t[re]), [O, v];\n}\nfunction tue(e, t, r, n, a) {\n var i = e._fullLayout, o = rue(e, t), l = !1, s = 1 / 0, u = [t], f, d, h;\n for (f = 0; f < o.length; f++)\n if (d = o[f], d === t)\n l = !0;\n else if (!l)\n h = i._histogramBinOpts[d[\"_\" + n + \"bingroup\"]], s = Math.min(s, h.size || d[a].size);\n else {\n var p = A_(e, d, r, n, !0), v = p[0], m = p[2];\n d[\"_\" + n + \"autoBinFinished\"] = 1, d[\"_\" + n + \"pos0\"] = p[1], m ? u.push(d) : s = Math.min(s, v.size);\n }\n var g = new Array(u.length);\n for (f = 0; f < u.length; f++)\n for (var y = u[f][\"_\" + n + \"pos0\"], w = 0; w < y.length; w++)\n if (y[w] !== void 0) {\n g[f] = y[w];\n break;\n }\n for (isFinite(s) || (s = Nn.distinctVals(g).minDiff), f = 0; f < u.length; f++) {\n d = u[f];\n var k = d[n + \"calendar\"], x = {\n start: r.c2r(g[f] - s / 2, 0, k),\n end: r.c2r(g[f] + s / 2, 0, k),\n size: s\n };\n d._input[a] = d[a] = x, h = i._histogramBinOpts[d[\"_\" + n + \"bingroup\"]], h && Nn.extendFlat(h, x);\n }\n return t[a];\n}\nfunction rue(e, t) {\n for (var r = t.xaxis, n = t.yaxis, a = t.orientation, i = [], o = e._fullData, l = 0; l < o.length; l++) {\n var s = o[l];\n s.type === \"histogram\" && s.visible === !0 && s.orientation === a && s.xaxis === r && s.yaxis === n && i.push(s);\n }\n return i;\n}\nfunction nue(e, t, r) {\n var n, a, i;\n function o(s) {\n i = e[s], e[s] /= 2;\n }\n function l(s) {\n a = e[s], e[s] = i + a / 2, i += a;\n }\n if (r === \"half\")\n if (t === \"increasing\")\n for (o(0), n = 1; n < e.length; n++)\n l(n);\n else\n for (o(e.length - 1), n = e.length - 2; n >= 0; n--)\n l(n);\n else if (t === \"increasing\") {\n for (n = 1; n < e.length; n++)\n e[n] += e[n - 1];\n r === \"exclude\" && (e.unshift(0), e.pop());\n } else {\n for (n = e.length - 2; n >= 0; n--)\n e[n] += e[n + 1];\n r === \"exclude\" && (e.push(0), e.shift());\n }\n}\nvar aue = {\n calc: eue,\n calcAllAutoBins: A_\n}, VS = Ue, Js = Cr, qS = k8, iue = A8, oue = M8, lue = S8, WS = aue.calcAllAutoBins, sue = function(t, r) {\n var n = Js.getFromId(t, r.xaxis), a = Js.getFromId(t, r.yaxis), i = r.xcalendar, o = r.ycalendar, l = function(Pe) {\n return n.r2c(Pe, 0, i);\n }, s = function(Pe) {\n return a.r2c(Pe, 0, o);\n }, u = function(Pe) {\n return n.c2r(Pe, 0, i);\n }, f = function(Pe) {\n return a.c2r(Pe, 0, o);\n }, d, h, p, v, m = WS(t, r, n, \"x\"), g = m[0], y = m[1], w = WS(t, r, a, \"y\"), k = w[0], x = w[1], _ = r._length;\n y.length > _ && y.splice(_, y.length - _), x.length > _ && x.splice(_, x.length - _);\n var T = [], S = [], M = [], L = typeof g.size == \"string\", F = typeof k.size == \"string\", $ = [], I = [], O = L ? $ : g, G = F ? I : k, K = 0, V = [], z = [], P = r.histnorm, R = r.histfunc, H = P.indexOf(\"density\") !== -1, B = R === \"max\" || R === \"min\", W = B ? null : 0, ee = qS.count, re = iue[P], ae = !1, Q = [], ue = [], j = \"z\" in r ? r.z : \"marker\" in r && Array.isArray(r.marker.color) ? r.marker.color : \"\";\n j && R !== \"count\" && (ae = R === \"avg\", ee = qS[R]);\n var U = g.size, Z = l(g.start), le = l(g.end) + (Z - Js.tickIncrement(Z, U, !1, i)) / 1e6;\n for (d = Z; d < le; d = Js.tickIncrement(d, U, !1, i))\n S.push(W), $.push(d), ae && M.push(0);\n $.push(d);\n var J = S.length, pe = (d - Z) / J, ge = u(Z + pe / 2), ve = k.size, me = s(k.start), Le = s(k.end) + (me - Js.tickIncrement(me, ve, !1, o)) / 1e6;\n for (d = me; d < Le; d = Js.tickIncrement(d, ve, !1, o)) {\n T.push(S.slice()), I.push(d);\n var ze = new Array(J);\n for (h = 0; h < J; h++) ze[h] = [];\n z.push(ze), ae && V.push(M.slice());\n }\n I.push(d);\n var Fe = T.length, Oe = (d - me) / Fe, Re = f(me + Oe / 2);\n H && (Q = ZS(S.length, O, pe, L), ue = ZS(T.length, G, Oe, F)), !L && n.type === \"date\" && (O = YS(l, O)), !F && a.type === \"date\" && (G = YS(s, G));\n var We = !0, Me = !0, Ve = new Array(J), qe = new Array(Fe), Qe = 1 / 0, ot = 1 / 0, ht = 1 / 0, vt = 1 / 0;\n for (d = 0; d < _; d++) {\n var nt = y[d], ft = x[d];\n p = VS.findBin(nt, O), v = VS.findBin(ft, G), p >= 0 && p < J && v >= 0 && v < Fe && (K += ee(p, d, T[v], j, V[v]), z[v][p].push(d), We && (Ve[p] === void 0 ? Ve[p] = nt : Ve[p] !== nt && (We = !1)), Me && (qe[v] === void 0 ? qe[v] = ft : qe[v] !== ft && (Me = !1)), Qe = Math.min(Qe, nt - $[p]), ot = Math.min(ot, $[p + 1] - nt), ht = Math.min(ht, ft - I[v]), vt = Math.min(vt, I[v + 1] - ft));\n }\n if (ae)\n for (v = 0; v < Fe; v++) K += oue(T[v], V[v]);\n if (re)\n for (v = 0; v < Fe; v++) re(T[v], K, Q, ue[v]);\n return {\n x: y,\n xRanges: XS($, We && Ve, Qe, ot, n, i),\n x0: ge,\n dx: pe,\n y: x,\n yRanges: XS(I, Me && qe, ht, vt, a, o),\n y0: Re,\n dy: Oe,\n z: T,\n pts: z\n };\n};\nfunction ZS(e, t, r, n) {\n var a = new Array(e), i;\n if (n)\n for (i = 0; i < e; i++) a[i] = 1 / (t[i + 1] - t[i]);\n else {\n var o = 1 / r;\n for (i = 0; i < e; i++) a[i] = o;\n }\n return a;\n}\nfunction YS(e, t) {\n return {\n start: e(t.start),\n end: e(t.end),\n size: t.size\n };\n}\nfunction XS(e, t, r, n, a, i) {\n var o, l = e.length - 1, s = new Array(l), u = lue(r, n, e, a, i);\n for (o = 0; o < l; o++) {\n var f = (t || [])[o];\n s[o] = f === void 0 ? [u(e[o]), u(e[o + 1], !0)] : [f, f];\n }\n return s;\n}\nvar Ei = Ue, KS = Qr.BADNUM, JS = Wp, uue = function(t, r, n, a, i, o) {\n var l = t._length, s = r.makeCalcdata(t, a), u = n.makeCalcdata(t, i);\n s = JS(t, r, a, s).vals, u = JS(t, n, i, u).vals;\n var f = t.text, d = f !== void 0 && Ei.isArray1D(f), h = t.hovertext, p = h !== void 0 && Ei.isArray1D(h), v, m, g = Ei.distinctVals(s), y = g.vals, w = Ei.distinctVals(u), k = w.vals, x = [], _, T, S = k.length, M = y.length;\n for (v = 0; v < o.length; v++)\n x[v] = Ei.init2dArray(S, M);\n d && (_ = Ei.init2dArray(S, M)), p && (T = Ei.init2dArray(S, M));\n var L = Ei.init2dArray(S, M);\n for (v = 0; v < l; v++)\n if (s[v] !== KS && u[v] !== KS) {\n var F = Ei.findBin(s[v] + g.minDiff / 2, y), $ = Ei.findBin(u[v] + w.minDiff / 2, k);\n for (m = 0; m < o.length; m++) {\n var I = o[m], O = t[I], G = x[m];\n G[$][F] = O[v], L[$][F] = v;\n }\n d && (_[$][F] = f[v]), p && (T[$][F] = h[v]);\n }\n for (t[\"_\" + a] = y, t[\"_\" + i] = k, m = 0; m < o.length; m++)\n t[\"_\" + o[m]] = x[m];\n d && (t._text = _), p && (t._hovertext = T), r && r.type === \"category\" && (t[\"_\" + a + \"CategoryMap\"] = y.map(function(K) {\n return r._categories[K];\n })), n && n.type === \"category\" && (t[\"_\" + i + \"CategoryMap\"] = k.map(function(K) {\n return n._categories[K];\n })), t._after2before = L;\n}, fue = sr, cue = Ue, Mh = Qr.BADNUM, due = function(t, r, n, a) {\n var i, o, l, s, u, f;\n function d(y) {\n if (fue(y))\n return +y;\n }\n if (r && r.transpose) {\n for (i = 0, u = 0; u < t.length; u++) i = Math.max(i, t[u].length);\n if (i === 0) return !1;\n l = function(y) {\n return y.length;\n }, s = function(y, w, k) {\n return (y[k] || [])[w];\n };\n } else\n i = t.length, l = function(y, w) {\n return y[w].length;\n }, s = function(y, w, k) {\n return (y[w] || [])[k];\n };\n var h = function(y, w, k) {\n return w === Mh || k === Mh ? Mh : s(y, w, k);\n };\n function p(y) {\n if (r && r.type !== \"carpet\" && r.type !== \"contourcarpet\" && y && y.type === \"category\" && r[\"_\" + y._id.charAt(0)].length) {\n var w = y._id.charAt(0), k = {}, x = r[\"_\" + w + \"CategoryMap\"] || r[w];\n for (u = 0; u < x.length; u++)\n k[x[u]] = u;\n return function(_) {\n var T = k[y._categories[_]];\n return T + 1 ? T : Mh;\n };\n } else\n return cue.identity;\n }\n var v = p(n), m = p(a);\n a && a.type === \"category\" && (i = a._categories.length);\n var g = new Array(i);\n for (u = 0; u < i; u++)\n for (n && n.type === \"category\" ? o = n._categories.length : o = l(t, u), g[u] = new Array(o), f = 0; f < o; f++) g[u][f] = d(h(t, m(u), v(f)));\n return g;\n}, hue = Ue, QS = 0.01, vue = [[-1, 0], [1, 0], [0, -1], [0, 1]];\nfunction pue(e) {\n return 0.5 - 0.25 * Math.min(1, e * 0.5);\n}\nvar mue = function(t, r) {\n var n = 1, a;\n for (e3(t, r), a = 0; a < r.length && !(r[a][2] < 4); a++)\n ;\n for (r = r.slice(a), a = 0; a < 100 && n > QS; a++)\n n = e3(\n t,\n r,\n pue(n)\n );\n return n > QS && hue.log(\"interp2d didn't converge quickly\", n), t;\n};\nfunction e3(e, t, r) {\n var n = 0, a, i, o, l, s, u, f, d, h, p, v, m, g;\n for (l = 0; l < t.length; l++) {\n for (a = t[l], i = a[0], o = a[1], v = e[i][o], p = 0, h = 0, s = 0; s < 4; s++)\n u = vue[s], f = e[i + u[0]], f && (d = f[o + u[1]], d !== void 0 && (p === 0 ? m = g = d : (m = Math.min(m, d), g = Math.max(g, d)), h++, p += d));\n if (h === 0)\n throw \"iterateInterp2d order is wrong: no defined neighbors\";\n e[i][o] = p / h, v === void 0 ? h < 4 && (n = 1) : (e[i][o] = (1 + r) * e[i][o] - r * v, g > m && (n = Math.max(\n n,\n Math.abs(e[i][o] - v) / (g - m)\n )));\n }\n return n;\n}\nvar gue = Ue.maxRowLength, yue = function(t) {\n var r = [], n = {}, a = [], i = t[0], o = [], l = [0, 0, 0], s = gue(t), u, f, d, h, p, v, m, g;\n for (f = 0; f < t.length; f++)\n for (u = o, o = i, i = t[f + 1] || [], d = 0; d < s; d++)\n o[d] === void 0 && (v = (o[d - 1] !== void 0 ? 1 : 0) + (o[d + 1] !== void 0 ? 1 : 0) + (u[d] !== void 0 ? 1 : 0) + (i[d] !== void 0 ? 1 : 0), v ? (f === 0 && v++, d === 0 && v++, f === t.length - 1 && v++, d === o.length - 1 && v++, v < 4 && (n[[f, d]] = [f, d, v]), r.push([f, d, v])) : a.push([f, d]));\n for (; a.length; ) {\n for (m = {}, g = !1, p = a.length - 1; p >= 0; p--)\n h = a[p], f = h[0], d = h[1], v = ((n[[f - 1, d]] || l)[2] + (n[[f + 1, d]] || l)[2] + (n[[f, d - 1]] || l)[2] + (n[[f, d + 1]] || l)[2]) / 20, v && (m[h] = [f, d, v], a.splice(p, 1), g = !0);\n if (!g)\n throw \"findEmpties iterated with no new neighbors\";\n for (h in m)\n n[h] = m[h], r.push(m[h]);\n }\n return r.sort(function(y, w) {\n return w[2] - y[2];\n });\n}, R0 = Nt, t3 = Ue.isArrayOrTypedArray, bue = function(t, r, n, a, i, o) {\n var l = [], s = R0.traceIs(t, \"contour\"), u = R0.traceIs(t, \"histogram\"), f = R0.traceIs(t, \"gl2d\"), d, h, p, v = t3(r) && r.length > 1;\n if (v && !u && o.type !== \"category\") {\n var m = r.length;\n if (m <= i) {\n if (s || f) l = Array.from(r).slice(0, i);\n else if (i === 1)\n l = [r[0] - 0.5, r[0] + 0.5];\n else {\n for (l = [1.5 * r[0] - 0.5 * r[1]], p = 1; p < m; p++)\n l.push((r[p - 1] + r[p]) * 0.5);\n l.push(1.5 * r[m - 1] - 0.5 * r[m - 2]);\n }\n if (m < i) {\n var g = l[l.length - 1], y = g - l[l.length - 2];\n for (p = m; p < i; p++)\n g += y, l.push(g);\n }\n } else\n return s ? r.slice(0, i) : (\n // we must be strict for contours\n r.slice(0, i + 1)\n );\n } else {\n var w = t[o._id.charAt(0) + \"calendar\"];\n if (u)\n d = o.r2c(n, 0, w);\n else if (t3(r) && r.length === 1)\n d = r[0];\n else if (n === void 0)\n d = 0;\n else {\n var k = o.type === \"log\" ? o.d2c : o.r2c;\n d = k(n, 0, w);\n }\n for (h = a || 1, p = s || f ? 0 : -0.5; p < i; p++)\n l.push(d + h * p);\n }\n return l;\n}, P0 = Nt, $0 = Ue, Sh = Cr, r3 = Wp, _ue = sue, xue = Mp, wue = uue, Tue = due, kue = mue, Aue = yue, Ch = bue, i1 = Qr.BADNUM, Mue = function(t, r) {\n var n = Sh.getFromId(t, r.xaxis || \"x\"), a = Sh.getFromId(t, r.yaxis || \"y\"), i = P0.traceIs(r, \"contour\"), o = P0.traceIs(r, \"histogram\"), l = P0.traceIs(r, \"gl2d\"), s = i ? \"best\" : r.zsmooth, u, f, d, h, p, v, m, g, y, w, k;\n if (n._minDtick = 0, a._minDtick = 0, o)\n k = _ue(t, r), h = k.orig_x, u = k.x, f = k.x0, d = k.dx, g = k.orig_y, p = k.y, v = k.y0, m = k.dy, y = k.z;\n else {\n var x = r.z;\n $0.isArray1D(x) ? (wue(r, n, a, \"x\", \"y\", [\"z\"]), u = r._x, p = r._y, x = r._z) : (h = r.x ? n.makeCalcdata(r, \"x\") : [], g = r.y ? a.makeCalcdata(r, \"y\") : [], u = r3(r, n, \"x\", h).vals, p = r3(r, a, \"y\", g).vals, r._x = u, r._y = p), f = r.x0, d = r.dx, v = r.y0, m = r.dy, y = Tue(x, r, n, a);\n }\n (n.rangebreaks || a.rangebreaks) && (y = Sue(u, p, y), o || (u = n3(u), p = n3(p), r._x = u, r._y = p)), !o && (i || r.connectgaps) && (r._emptypoints = Aue(y), kue(y, r._emptypoints));\n function _(G) {\n s = r._input.zsmooth = r.zsmooth = !1, $0.warn('cannot use zsmooth: \"fast\": ' + G);\n }\n function T(G) {\n if (G.length > 1) {\n var K = (G[G.length - 1] - G[0]) / (G.length - 1), V = Math.abs(K / 100);\n for (w = 0; w < G.length - 1; w++)\n if (Math.abs(G[w + 1] - G[w] - K) > V)\n return !1;\n }\n return !0;\n }\n r._islinear = !1, n.type === \"log\" || a.type === \"log\" ? s === \"fast\" && _(\"log axis found\") : T(u) ? T(p) ? r._islinear = !0 : s === \"fast\" && _(\"y scale is not linear\") : s === \"fast\" && _(\"x scale is not linear\");\n var S = $0.maxRowLength(y), M = r.xtype === \"scaled\" ? \"\" : u, L = Ch(r, M, f, d, S, n), F = r.ytype === \"scaled\" ? \"\" : p, $ = Ch(r, F, v, m, y.length, a);\n l || (r._extremes[n._id] = Sh.findExtremes(n, L), r._extremes[a._id] = Sh.findExtremes(a, $));\n var I = {\n x: L,\n y: $,\n z: y,\n text: r._text || r.text,\n hovertext: r._hovertext || r.hovertext\n };\n if (r.xperiodalignment && h && (I.orig_x = h), r.yperiodalignment && g && (I.orig_y = g), M && M.length === L.length - 1 && (I.xCenter = M), F && F.length === $.length - 1 && (I.yCenter = F), o && (I.xRanges = k.xRanges, I.yRanges = k.yRanges, I.pts = k.pts), i || xue(t, r, { vals: y, cLetter: \"z\" }), i && r.contours && r.contours.coloring === \"heatmap\") {\n var O = {\n type: r.type === \"contour\" ? \"heatmap\" : \"histogram2d\",\n xcalendar: r.xcalendar,\n ycalendar: r.ycalendar\n };\n I.xfill = Ch(O, M, f, d, S, n), I.yfill = Ch(O, F, v, m, y.length, a);\n }\n return [I];\n};\nfunction n3(e) {\n for (var t = [], r = e.length, n = 0; n < r; n++) {\n var a = e[n];\n a !== i1 && t.push(a);\n }\n return t;\n}\nfunction Sue(e, t, r) {\n for (var n = [], a = -1, i = 0; i < r.length; i++)\n if (t[i] !== i1) {\n a++, n[a] = [];\n for (var o = 0; o < r[i].length; o++)\n e[o] !== i1 && n[a].push(r[i][o]);\n }\n return n;\n}\nvar M_ = {};\n(function(e) {\n e.CSS_DECLARATIONS = [\n [\"image-rendering\", \"optimizeSpeed\"],\n [\"image-rendering\", \"-moz-crisp-edges\"],\n [\"image-rendering\", \"-o-crisp-edges\"],\n [\"image-rendering\", \"-webkit-optimize-contrast\"],\n [\"image-rendering\", \"optimize-contrast\"],\n [\"image-rendering\", \"crisp-edges\"],\n [\"image-rendering\", \"pixelated\"]\n ], e.STYLE = e.CSS_DECLARATIONS.map(function(t) {\n return t.join(\": \") + \"; \";\n }).join(\"\");\n})(M_);\nvar a3 = M_, Cue = Sr, z0 = Ue, Qs = null;\nfunction Lue() {\n if (Qs !== null)\n return Qs;\n Qs = !1;\n var e = z0.isIE() || z0.isSafari() || z0.isIOS();\n if (window.navigator.userAgent && !e) {\n var t = Array.from(a3.CSS_DECLARATIONS).reverse(), r = window.CSS && window.CSS.supports || window.supportsCSS;\n if (typeof r == \"function\")\n Qs = t.some(function(o) {\n return r.apply(null, o);\n });\n else {\n var n = Cue.tester.append(\"image\").attr(\"style\", a3.STYLE), a = window.getComputedStyle(n.node()), i = a.imageRendering;\n Qs = t.some(function(o) {\n var l = o[1];\n return i === l || i === l.toLowerCase();\n }), n.remove();\n }\n }\n return Qs;\n}\nvar Due = Lue, i3 = lr, Eue = bi, Fue = Nt, Rue = Sr, Pue = Cr, Ia = Ue, o3 = Rn, $ue = r6, zue = nr, Iue = Qc.extractOpts, Nue = Qc.makeColorScaleFuncFromTrace, Oue = yl, Hue = On, I0 = Hue.LINE_SPACING, Bue = Due, jue = M_.STYLE, C8 = \"heatmap-label\";\nfunction L8(e) {\n return e.selectAll(\"g.\" + C8);\n}\nfunction l3(e) {\n L8(e).remove();\n}\nvar Uue = function(e, t, r, n) {\n var a = t.xaxis, i = t.yaxis;\n Ia.makeTraceGroups(n, r, \"hm\").each(function(o) {\n var l = i3.select(this), s = o[0], u = s.trace, f = u.xgap || 0, d = u.ygap || 0, h = s.z, p = s.x, v = s.y, m = s.xCenter, g = s.yCenter, y = Fue.traceIs(u, \"contour\"), w = y ? \"best\" : u.zsmooth, k = h.length, x = Ia.maxRowLength(h), _ = !1, T = !1, S, M, L, F, $, I, O, G;\n for (I = 0; S === void 0 && I < p.length - 1; )\n S = a.c2p(p[I]), I++;\n for (I = p.length - 1; M === void 0 && I > 0; )\n M = a.c2p(p[I]), I--;\n for (M < S && (L = M, M = S, S = L, _ = !0), I = 0; F === void 0 && I < v.length - 1; )\n F = i.c2p(v[I]), I++;\n for (I = v.length - 1; $ === void 0 && I > 0; )\n $ = i.c2p(v[I]), I--;\n $ < F && (L = F, F = $, $ = L, T = !0), y && (m = p, g = v, p = s.xfill, v = s.yfill);\n var K = \"default\";\n if (w ? K = w === \"best\" ? \"smooth\" : \"fast\" : u._islinear && f === 0 && d === 0 && Bue() && (K = \"fast\"), K !== \"fast\") {\n var V = w === \"best\" ? 0 : 0.5;\n S = Math.max(-V * a._length, S), M = Math.min((1 + V) * a._length, M), F = Math.max(-V * i._length, F), $ = Math.min((1 + V) * i._length, $);\n }\n var z = Math.round(M - S), P = Math.round($ - F), R = S >= a._length || M <= 0 || F >= i._length || $ <= 0;\n if (R) {\n var H = l.selectAll(\"image\").data([]);\n H.exit().remove(), l3(l);\n return;\n }\n var B, W;\n K === \"fast\" ? (B = x, W = k) : (B = z, W = P);\n var ee = document.createElement(\"canvas\");\n ee.width = B, ee.height = W;\n var re = ee.getContext(\"2d\", { willReadFrequently: !0 }), ae = Nue(u, { noNumericCheck: !0, returnArray: !0 }), Q, ue;\n K === \"fast\" ? (Q = _ ? function(Ht) {\n return x - 1 - Ht;\n } : Ia.identity, ue = T ? function(Ht) {\n return k - 1 - Ht;\n } : Ia.identity) : (Q = function(Ht) {\n return Ia.constrain(\n Math.round(a.c2p(p[Ht]) - S),\n 0,\n z\n );\n }, ue = function(Ht) {\n return Ia.constrain(\n Math.round(i.c2p(v[Ht]) - F),\n 0,\n P\n );\n });\n var j = ue(0), U = [j, j], Z = _ ? 0 : 1, le = T ? 0 : 1, J = 0, pe = 0, ge = 0, ve = 0, me, Le, ze, Fe, Oe;\n function Re(Ht, $r) {\n if (Ht !== void 0) {\n var ar = ae(Ht);\n return ar[0] = Math.round(ar[0]), ar[1] = Math.round(ar[1]), ar[2] = Math.round(ar[2]), J += $r, pe += ar[0] * $r, ge += ar[1] * $r, ve += ar[2] * $r, ar;\n }\n return [0, 0, 0, 0];\n }\n function We(Ht, $r, ar, Pr) {\n var Ur = Ht[ar.bin0];\n if (Ur === void 0) return Re(void 0, 1);\n var Pn = Ht[ar.bin1], hn = $r[ar.bin0], vn = $r[ar.bin1], Ka = Pn - Ur || 0, to = hn - Ur || 0, ln;\n return Pn === void 0 ? vn === void 0 ? ln = 0 : hn === void 0 ? ln = 2 * (vn - Ur) : ln = (2 * vn - hn - Ur) * 2 / 3 : vn === void 0 ? hn === void 0 ? ln = 0 : ln = (2 * Ur - Pn - hn) * 2 / 3 : hn === void 0 ? ln = (2 * vn - Pn - Ur) * 2 / 3 : ln = vn + Ur - Pn - hn, Re(Ur + ar.frac * Ka + Pr.frac * (to + ar.frac * ln));\n }\n if (K !== \"default\") {\n var Me = 0, Ve;\n try {\n Ve = new Uint8Array(B * W * 4);\n } catch {\n Ve = new Array(B * W * 4);\n }\n if (K === \"smooth\") {\n var qe = m || p, Qe = g || v, ot = new Array(qe.length), ht = new Array(Qe.length), vt = new Array(z), nt = m ? u3 : s3, ft = g ? u3 : s3, Pe, Ie, Ne;\n for (I = 0; I < qe.length; I++) ot[I] = Math.round(a.c2p(qe[I]) - S);\n for (I = 0; I < Qe.length; I++) ht[I] = Math.round(i.c2p(Qe[I]) - F);\n for (I = 0; I < z; I++) vt[I] = nt(I, ot);\n for (O = 0; O < P; O++)\n for (Pe = ft(O, ht), Ie = h[Pe.bin0], Ne = h[Pe.bin1], I = 0; I < z; I++, Me += 4)\n Oe = We(Ie, Ne, vt[I], Pe), f3(Ve, Me, Oe);\n } else\n for (O = 0; O < k; O++)\n for (Fe = h[O], U = ue(O), I = 0; I < x; I++)\n Oe = Re(Fe[I], 1), Me = (U * x + Q(I)) * 4, f3(Ve, Me, Oe);\n var tt = re.createImageData(B, W);\n try {\n tt.data.set(Ve);\n } catch {\n var Je = tt.data, it = Je.length;\n for (O = 0; O < it; O++)\n Je[O] = Ve[O];\n }\n re.putImageData(tt, 0, 0);\n } else {\n var at = Math.floor(f / 2), Tt = Math.floor(d / 2);\n for (O = 0; O < k; O++)\n if (Fe = h[O], U.reverse(), U[le] = ue(O + 1), !(U[0] === U[1] || U[0] === void 0 || U[1] === void 0))\n for (Le = Q(0), me = [Le, Le], I = 0; I < x; I++)\n me.reverse(), me[Z] = Q(I + 1), !(me[0] === me[1] || me[0] === void 0 || me[1] === void 0) && (ze = Fe[I], Oe = Re(ze, (me[1] - me[0]) * (U[1] - U[0])), re.fillStyle = \"rgba(\" + Oe.join(\",\") + \")\", re.fillRect(\n me[0] + at,\n U[0] + Tt,\n me[1] - me[0] - f,\n U[1] - U[0] - d\n ));\n }\n pe = Math.round(pe / J), ge = Math.round(ge / J), ve = Math.round(ve / J);\n var gt = Eue(\"rgb(\" + pe + \",\" + ge + \",\" + ve + \")\");\n e._hmpixcount = (e._hmpixcount || 0) + J, e._hmlumcount = (e._hmlumcount || 0) + J * gt.getLuminance();\n var He = l.selectAll(\"image\").data(o);\n He.enter().append(\"svg:image\").attr({\n xmlns: Oue.svg,\n preserveAspectRatio: \"none\"\n }), He.attr({\n height: P,\n width: z,\n x: S,\n y: F,\n \"xlink:href\": ee.toDataURL(\"image/png\")\n }), K === \"fast\" && !w && He.attr(\"style\", jue), l3(l);\n var pt = u.texttemplate;\n if (pt) {\n var bt = Iue(u), Ke = {\n type: \"linear\",\n range: [bt.min, bt.max],\n _separators: a._separators,\n _numFormat: a._numFormat\n }, st = u.type === \"histogram2dcontour\", rt = u.type === \"contour\", ct = rt ? 1 : 0, X = rt ? k - 1 : k, se = rt ? 1 : 0, ie = rt ? x - 1 : x, fe = [];\n for (I = ct; I < X; I++) {\n var ke;\n if (rt)\n ke = s.y[I];\n else if (st) {\n if (I === 0 || I === k - 1) continue;\n ke = s.y[I];\n } else if (s.yCenter)\n ke = s.yCenter[I];\n else {\n if (I + 1 === k && s.y[I + 1] === void 0) continue;\n ke = (s.y[I] + s.y[I + 1]) / 2;\n }\n var _e = Math.round(i.c2p(ke));\n if (!(0 > _e || _e > i._length))\n for (O = se; O < ie; O++) {\n var Ge;\n if (rt)\n Ge = s.x[O];\n else if (st) {\n if (O === 0 || O === x - 1) continue;\n Ge = s.x[O];\n } else if (s.xCenter)\n Ge = s.xCenter[O];\n else {\n if (O + 1 === x && s.x[O + 1] === void 0) continue;\n Ge = (s.x[O] + s.x[O + 1]) / 2;\n }\n var je = Math.round(a.c2p(Ge));\n if (!(0 > je || je > a._length)) {\n var Ee = $ue({\n x: Ge,\n y: ke\n }, u, e._fullLayout);\n Ee.x = Ge, Ee.y = ke;\n var oe = s.z[I][O];\n oe === void 0 ? (Ee.z = \"\", Ee.zLabel = \"\") : (Ee.z = oe, Ee.zLabel = Pue.tickText(Ke, oe, \"hover\").text);\n var Ce = s.text && s.text[I] && s.text[I][O];\n (Ce === void 0 || Ce === !1) && (Ce = \"\"), Ee.text = Ce;\n var Be = Ia.texttemplateString(pt, Ee, e._fullLayout._d3locale, Ee, u._meta || {});\n if (Be) {\n var Xe = Be.split(\"
\"), Et = Xe.length, Pt = 0;\n for (G = 0; G < Et; G++)\n Pt = Math.max(Pt, Xe[G].length);\n fe.push({\n l: Et,\n // number of lines\n c: Pt,\n // maximum number of chars in a line\n t: Be,\n // text\n x: je,\n y: _e,\n z: oe\n });\n }\n }\n }\n }\n var It = u.textfont, kt = It.family, qt = It.size, Ot = e._fullLayout.font.size;\n if (!qt || qt === \"auto\") {\n var wt = 1 / 0, Yt = 1 / 0, Kt = 0, $t = 0;\n for (G = 0; G < fe.length; G++) {\n var zt = fe[G];\n if (Kt = Math.max(Kt, zt.l), $t = Math.max($t, zt.c), G < fe.length - 1) {\n var Mt = fe[G + 1], St = Math.abs(Mt.x - zt.x), Ut = Math.abs(Mt.y - zt.y);\n St && (wt = Math.min(wt, St)), Ut && (Yt = Math.min(Yt, Ut));\n }\n }\n !isFinite(wt) || !isFinite(Yt) ? qt = Ot : (wt -= f, Yt -= d, wt /= $t, Yt /= Kt, wt /= I0 / 2, Yt /= I0, qt = Math.min(\n Math.floor(wt),\n Math.floor(Yt),\n Ot\n ));\n }\n if (qt <= 0 || !isFinite(qt)) return;\n var fr = function(Ht) {\n return Ht.x;\n }, Ct = function(Ht) {\n return Ht.y - qt * (Ht.l * I0 / 2 - 1);\n }, tr = L8(l).data(fe);\n tr.enter().append(\"g\").classed(C8, 1).append(\"text\").attr(\"text-anchor\", \"middle\").each(function(Ht) {\n var $r = i3.select(this), ar = It.color;\n (!ar || ar === \"auto\") && (ar = zue.contrast(\n \"rgba(\" + ae(Ht.z).join() + \")\"\n )), $r.attr(\"data-notex\", 1).call(o3.positionText, fr(Ht), Ct(Ht)).call(Rue.font, kt, qt, ar).text(Ht.t).call(o3.convertToTspans, e);\n });\n }\n });\n};\nfunction s3(e, t) {\n var r = t.length - 2, n = Ia.constrain(Ia.findBin(e, t), 0, r), a = t[n], i = t[n + 1], o = Ia.constrain(n + (e - a) / (i - a) - 0.5, 0, r), l = Math.round(o), s = Math.abs(o - l);\n return !o || o === r || !s ? {\n bin0: l,\n bin1: l,\n frac: 0\n } : {\n bin0: l,\n frac: s,\n bin1: Math.round(l + s / (o - l))\n };\n}\nfunction u3(e, t) {\n var r = t.length - 1, n = Ia.constrain(Ia.findBin(e, t), 0, r), a = t[n], i = t[n + 1], o = (e - a) / (i - a) || 0;\n return o <= 0 ? {\n bin0: n,\n bin1: n,\n frac: 0\n } : o < 0.5 ? {\n bin0: n,\n bin1: n + 1,\n frac: o\n } : {\n bin0: n + 1,\n bin1: n,\n frac: 1 - o\n };\n}\nfunction f3(e, t, r) {\n e[t] = r[0], e[t + 1] = r[1], e[t + 2] = r[2], e[t + 3] = Math.round(r[3] * 255);\n}\nvar Gue = {\n min: \"zmin\",\n max: \"zmax\"\n}, Vue = lr, que = function(t) {\n Vue.select(t).selectAll(\".hm image\").style(\"opacity\", function(r) {\n return r.trace.opacity;\n });\n}, c3 = Ao, Kf = Ue, Lh = Kf.isArrayOrTypedArray, Wue = Cr, Zue = Qc.extractOpts, Yue = function(t, r, n, a, i) {\n i || (i = {});\n var o = i.isContour, l = t.cd[0], s = l.trace, u = t.xa, f = t.ya, d = l.x, h = l.y, p = l.z, v = l.xCenter, m = l.yCenter, g = l.zmask, y = s.zhoverformat, w = d, k = h, x, _, T, S;\n if (t.index !== !1) {\n try {\n T = Math.round(t.index[1]), S = Math.round(t.index[0]);\n } catch {\n Kf.error(\"Error hovering on heatmap, pointNumber must be [row,col], found:\", t.index);\n return;\n }\n if (T < 0 || T >= p[0].length || S < 0 || S > p.length)\n return;\n } else {\n if (c3.inbox(r - d[0], r - d[d.length - 1], 0) > 0 || c3.inbox(n - h[0], n - h[h.length - 1], 0) > 0)\n return;\n if (o) {\n var M;\n for (w = [2 * d[0] - d[1]], M = 1; M < d.length; M++)\n w.push((d[M] + d[M - 1]) / 2);\n for (w.push([2 * d[d.length - 1] - d[d.length - 2]]), k = [2 * h[0] - h[1]], M = 1; M < h.length; M++)\n k.push((h[M] + h[M - 1]) / 2);\n k.push([2 * h[h.length - 1] - h[h.length - 2]]);\n }\n T = Math.max(0, Math.min(w.length - 2, Kf.findBin(r, w))), S = Math.max(0, Math.min(k.length - 2, Kf.findBin(n, k)));\n }\n var L = u.c2p(d[T]), F = u.c2p(d[T + 1]), $ = f.c2p(h[S]), I = f.c2p(h[S + 1]), O, G;\n o ? (O = l.orig_x || d, G = l.orig_y || h, F = L, x = O[T], I = $, _ = G[S]) : (O = l.orig_x || v || d, G = l.orig_y || m || h, x = v ? O[T] : (O[T] + O[T + 1]) / 2, _ = m ? G[S] : (G[S] + G[S + 1]) / 2, u && u.type === \"category\" && (x = d[T]), f && f.type === \"category\" && (_ = h[S]), s.zsmooth && (L = F = u.c2p(x), $ = I = f.c2p(_)));\n var K = p[S][T];\n if (g && !g[S][T] && (K = void 0), !(K === void 0 && !s.hoverongaps)) {\n var V;\n Lh(l.hovertext) && Lh(l.hovertext[S]) ? V = l.hovertext[S][T] : Lh(l.text) && Lh(l.text[S]) && (V = l.text[S][T]);\n var z = Zue(s), P = {\n type: \"linear\",\n range: [z.min, z.max],\n hoverformat: y,\n _separators: u._separators,\n _numFormat: u._numFormat\n }, R = Wue.tickText(P, K, \"hover\").text;\n return [Kf.extendFlat(t, {\n index: s._after2before ? s._after2before[S][T] : [S, T],\n // never let a 2D override 1D type as closest point\n distance: t.maxHoverDistance,\n spikeDistance: t.maxSpikeDistance,\n x0: L,\n x1: F,\n y0: $,\n y1: I,\n xLabelVal: x,\n yLabelVal: _,\n zLabelVal: K,\n zLabel: R,\n text: V\n })];\n }\n}, Xue = {\n attributes: T8,\n supplyDefaults: Zse,\n calc: Mue,\n plot: Uue,\n colorbar: Gue,\n style: que,\n hoverPoints: Yue,\n moduleType: \"trace\",\n name: \"heatmap\",\n basePlotModule: yn,\n categories: [\"cartesian\", \"svg\", \"2dMap\", \"showLegend\"],\n meta: {\n description: [\n \"The data that describes the heatmap value-to-color mapping\",\n \"is set in `z`.\",\n \"Data in `z` can either be a {2D array} of values (ragged or not)\",\n \"or a 1D array of values.\",\n \"In the case where `z` is a {2D array},\",\n \"say that `z` has N rows and M columns.\",\n \"Then, by default, the resulting heatmap will have N partitions along\",\n \"the y axis and M partitions along the x axis.\",\n \"In other words, the i-th row/ j-th column cell in `z`\",\n \"is mapped to the i-th partition of the y axis\",\n \"(starting from the bottom of the plot) and the j-th partition\",\n \"of the x-axis (starting from the left of the plot).\",\n \"This behavior can be flipped by using `transpose`.\",\n \"Moreover, `x` (`y`) can be provided with M or M+1 (N or N+1) elements.\",\n \"If M (N), then the coordinates correspond to the center of the\",\n \"heatmap cells and the cells have equal width.\",\n \"If M+1 (N+1), then the coordinates correspond to the edges of the\",\n \"heatmap cells.\",\n \"In the case where `z` is a 1D {array}, the x and y coordinates must be\",\n \"provided in `x` and `y` respectively to form data triplets.\"\n ].join(\" \")\n }\n}, Kue = Xue;\nconst Jue = /* @__PURE__ */ Vc(Kue);\nOc.register([fle, Dse, Jue]);\nvar D8 = { exports: {} };\n/* @license\nPapa Parse\nv5.4.1\nhttps://github.com/mholt/PapaParse\nLicense: MIT\n*/\n(function(e, t) {\n (function(r, n) {\n e.exports = n();\n })(Wl, function r() {\n var n = typeof self < \"u\" ? self : typeof window < \"u\" ? window : n !== void 0 ? n : {}, a = !n.document && !!n.postMessage, i = n.IS_PAPA_WORKER || !1, o = {}, l = 0, s = { parse: function(M, L) {\n var F = (L = L || {}).dynamicTyping || !1;\n if (S(F) && (L.dynamicTypingFunction = F, F = {}), L.dynamicTyping = F, L.transform = !!S(L.transform) && L.transform, L.worker && s.WORKERS_SUPPORTED) {\n var $ = function() {\n if (!s.WORKERS_SUPPORTED) return !1;\n var O = (K = n.URL || n.webkitURL || null, V = r.toString(), s.BLOB_URL || (s.BLOB_URL = K.createObjectURL(new Blob([\"var global = (function() { if (typeof self !== 'undefined') { return self; } if (typeof window !== 'undefined') { return window; } if (typeof global !== 'undefined') { return global; } return {}; })(); global.IS_PAPA_WORKER=true; \", \"(\", V, \")();\"], { type: \"text/javascript\" })))), G = new n.Worker(O), K, V;\n return G.onmessage = w, G.id = l++, o[G.id] = G;\n }();\n return $.userStep = L.step, $.userChunk = L.chunk, $.userComplete = L.complete, $.userError = L.error, L.step = S(L.step), L.chunk = S(L.chunk), L.complete = S(L.complete), L.error = S(L.error), delete L.worker, void $.postMessage({ input: M, config: L, workerId: $.id });\n }\n var I = null;\n return s.NODE_STREAM_INPUT, typeof M == \"string\" ? (M = function(O) {\n return O.charCodeAt(0) === 65279 ? O.slice(1) : O;\n }(M), I = L.download ? new d(L) : new p(L)) : M.readable === !0 && S(M.read) && S(M.on) ? I = new v(L) : (n.File && M instanceof File || M instanceof Object) && (I = new h(L)), I.stream(M);\n }, unparse: function(M, L) {\n var F = !1, $ = !0, I = \",\", O = `\\r\n`, G = '\"', K = G + G, V = !1, z = null, P = !1;\n (function() {\n if (typeof L == \"object\") {\n if (typeof L.delimiter != \"string\" || s.BAD_DELIMITERS.filter(function(W) {\n return L.delimiter.indexOf(W) !== -1;\n }).length || (I = L.delimiter), (typeof L.quotes == \"boolean\" || typeof L.quotes == \"function\" || Array.isArray(L.quotes)) && (F = L.quotes), typeof L.skipEmptyLines != \"boolean\" && typeof L.skipEmptyLines != \"string\" || (V = L.skipEmptyLines), typeof L.newline == \"string\" && (O = L.newline), typeof L.quoteChar == \"string\" && (G = L.quoteChar), typeof L.header == \"boolean\" && ($ = L.header), Array.isArray(L.columns)) {\n if (L.columns.length === 0) throw new Error(\"Option columns is empty\");\n z = L.columns;\n }\n L.escapeChar !== void 0 && (K = L.escapeChar + G), (typeof L.escapeFormulae == \"boolean\" || L.escapeFormulae instanceof RegExp) && (P = L.escapeFormulae instanceof RegExp ? L.escapeFormulae : /^[=+\\-@\\t\\r].*$/);\n }\n })();\n var R = new RegExp(g(G), \"g\");\n if (typeof M == \"string\" && (M = JSON.parse(M)), Array.isArray(M)) {\n if (!M.length || Array.isArray(M[0])) return H(null, M, V);\n if (typeof M[0] == \"object\") return H(z || Object.keys(M[0]), M, V);\n } else if (typeof M == \"object\") return typeof M.data == \"string\" && (M.data = JSON.parse(M.data)), Array.isArray(M.data) && (M.fields || (M.fields = M.meta && M.meta.fields || z), M.fields || (M.fields = Array.isArray(M.data[0]) ? M.fields : typeof M.data[0] == \"object\" ? Object.keys(M.data[0]) : []), Array.isArray(M.data[0]) || typeof M.data[0] == \"object\" || (M.data = [M.data])), H(M.fields || [], M.data || [], V);\n throw new Error(\"Unable to serialize unrecognized input\");\n function H(W, ee, re) {\n var ae = \"\";\n typeof W == \"string\" && (W = JSON.parse(W)), typeof ee == \"string\" && (ee = JSON.parse(ee));\n var Q = Array.isArray(W) && 0 < W.length, ue = !Array.isArray(ee[0]);\n if (Q && $) {\n for (var j = 0; j < W.length; j++) 0 < j && (ae += I), ae += B(W[j], j);\n 0 < ee.length && (ae += O);\n }\n for (var U = 0; U < ee.length; U++) {\n var Z = Q ? W.length : ee[U].length, le = !1, J = Q ? Object.keys(ee[U]).length === 0 : ee[U].length === 0;\n if (re && !Q && (le = re === \"greedy\" ? ee[U].join(\"\").trim() === \"\" : ee[U].length === 1 && ee[U][0].length === 0), re === \"greedy\" && Q) {\n for (var pe = [], ge = 0; ge < Z; ge++) {\n var ve = ue ? W[ge] : ge;\n pe.push(ee[U][ve]);\n }\n le = pe.join(\"\").trim() === \"\";\n }\n if (!le) {\n for (var me = 0; me < Z; me++) {\n 0 < me && !J && (ae += I);\n var Le = Q && ue ? W[me] : me;\n ae += B(ee[U][Le], me);\n }\n U < ee.length - 1 && (!re || 0 < Z && !J) && (ae += O);\n }\n }\n return ae;\n }\n function B(W, ee) {\n if (W == null) return \"\";\n if (W.constructor === Date) return JSON.stringify(W).slice(1, 25);\n var re = !1;\n P && typeof W == \"string\" && P.test(W) && (W = \"'\" + W, re = !0);\n var ae = W.toString().replace(R, K);\n return (re = re || F === !0 || typeof F == \"function\" && F(W, ee) || Array.isArray(F) && F[ee] || function(Q, ue) {\n for (var j = 0; j < ue.length; j++) if (-1 < Q.indexOf(ue[j])) return !0;\n return !1;\n }(ae, s.BAD_DELIMITERS) || -1 < ae.indexOf(I) || ae.charAt(0) === \" \" || ae.charAt(ae.length - 1) === \" \") ? G + ae + G : ae;\n }\n } };\n if (s.RECORD_SEP = \"\u001E\", s.UNIT_SEP = \"\u001F\", s.BYTE_ORDER_MARK = \"\\uFEFF\", s.BAD_DELIMITERS = [\"\\r\", `\n`, '\"', s.BYTE_ORDER_MARK], s.WORKERS_SUPPORTED = !a && !!n.Worker, s.NODE_STREAM_INPUT = 1, s.LocalChunkSize = 10485760, s.RemoteChunkSize = 5242880, s.DefaultDelimiter = \",\", s.Parser = y, s.ParserHandle = m, s.NetworkStreamer = d, s.FileStreamer = h, s.StringStreamer = p, s.ReadableStreamStreamer = v, n.jQuery) {\n var u = n.jQuery;\n u.fn.parse = function(M) {\n var L = M.config || {}, F = [];\n return this.each(function(O) {\n if (!(u(this).prop(\"tagName\").toUpperCase() === \"INPUT\" && u(this).attr(\"type\").toLowerCase() === \"file\" && n.FileReader) || !this.files || this.files.length === 0) return !0;\n for (var G = 0; G < this.files.length; G++) F.push({ file: this.files[G], inputElem: this, instanceConfig: u.extend({}, L) });\n }), $(), this;\n function $() {\n if (F.length !== 0) {\n var O, G, K, V, z = F[0];\n if (S(M.before)) {\n var P = M.before(z.file, z.inputElem);\n if (typeof P == \"object\") {\n if (P.action === \"abort\") return O = \"AbortError\", G = z.file, K = z.inputElem, V = P.reason, void (S(M.error) && M.error({ name: O }, G, K, V));\n if (P.action === \"skip\") return void I();\n typeof P.config == \"object\" && (z.instanceConfig = u.extend(z.instanceConfig, P.config));\n } else if (P === \"skip\") return void I();\n }\n var R = z.instanceConfig.complete;\n z.instanceConfig.complete = function(H) {\n S(R) && R(H, z.file, z.inputElem), I();\n }, s.parse(z.file, z.instanceConfig);\n } else S(M.complete) && M.complete();\n }\n function I() {\n F.splice(0, 1), $();\n }\n };\n }\n function f(M) {\n this._handle = null, this._finished = !1, this._completed = !1, this._halted = !1, this._input = null, this._baseIndex = 0, this._partialLine = \"\", this._rowCount = 0, this._start = 0, this._nextChunk = null, this.isFirstChunk = !0, this._completeResults = { data: [], errors: [], meta: {} }, (function(L) {\n var F = _(L);\n F.chunkSize = parseInt(F.chunkSize), L.step || L.chunk || (F.chunkSize = null), this._handle = new m(F), (this._handle.streamer = this)._config = F;\n }).call(this, M), this.parseChunk = function(L, F) {\n if (this.isFirstChunk && S(this._config.beforeFirstChunk)) {\n var $ = this._config.beforeFirstChunk(L);\n $ !== void 0 && (L = $);\n }\n this.isFirstChunk = !1, this._halted = !1;\n var I = this._partialLine + L;\n this._partialLine = \"\";\n var O = this._handle.parse(I, this._baseIndex, !this._finished);\n if (!this._handle.paused() && !this._handle.aborted()) {\n var G = O.meta.cursor;\n this._finished || (this._partialLine = I.substring(G - this._baseIndex), this._baseIndex = G), O && O.data && (this._rowCount += O.data.length);\n var K = this._finished || this._config.preview && this._rowCount >= this._config.preview;\n if (i) n.postMessage({ results: O, workerId: s.WORKER_ID, finished: K });\n else if (S(this._config.chunk) && !F) {\n if (this._config.chunk(O, this._handle), this._handle.paused() || this._handle.aborted()) return void (this._halted = !0);\n O = void 0, this._completeResults = void 0;\n }\n return this._config.step || this._config.chunk || (this._completeResults.data = this._completeResults.data.concat(O.data), this._completeResults.errors = this._completeResults.errors.concat(O.errors), this._completeResults.meta = O.meta), this._completed || !K || !S(this._config.complete) || O && O.meta.aborted || (this._config.complete(this._completeResults, this._input), this._completed = !0), K || O && O.meta.paused || this._nextChunk(), O;\n }\n this._halted = !0;\n }, this._sendError = function(L) {\n S(this._config.error) ? this._config.error(L) : i && this._config.error && n.postMessage({ workerId: s.WORKER_ID, error: L, finished: !1 });\n };\n }\n function d(M) {\n var L;\n (M = M || {}).chunkSize || (M.chunkSize = s.RemoteChunkSize), f.call(this, M), this._nextChunk = a ? function() {\n this._readChunk(), this._chunkLoaded();\n } : function() {\n this._readChunk();\n }, this.stream = function(F) {\n this._input = F, this._nextChunk();\n }, this._readChunk = function() {\n if (this._finished) this._chunkLoaded();\n else {\n if (L = new XMLHttpRequest(), this._config.withCredentials && (L.withCredentials = this._config.withCredentials), a || (L.onload = T(this._chunkLoaded, this), L.onerror = T(this._chunkError, this)), L.open(this._config.downloadRequestBody ? \"POST\" : \"GET\", this._input, !a), this._config.downloadRequestHeaders) {\n var F = this._config.downloadRequestHeaders;\n for (var $ in F) L.setRequestHeader($, F[$]);\n }\n if (this._config.chunkSize) {\n var I = this._start + this._config.chunkSize - 1;\n L.setRequestHeader(\"Range\", \"bytes=\" + this._start + \"-\" + I);\n }\n try {\n L.send(this._config.downloadRequestBody);\n } catch (O) {\n this._chunkError(O.message);\n }\n a && L.status === 0 && this._chunkError();\n }\n }, this._chunkLoaded = function() {\n L.readyState === 4 && (L.status < 200 || 400 <= L.status ? this._chunkError() : (this._start += this._config.chunkSize ? this._config.chunkSize : L.responseText.length, this._finished = !this._config.chunkSize || this._start >= function(F) {\n var $ = F.getResponseHeader(\"Content-Range\");\n return $ === null ? -1 : parseInt($.substring($.lastIndexOf(\"/\") + 1));\n }(L), this.parseChunk(L.responseText)));\n }, this._chunkError = function(F) {\n var $ = L.statusText || F;\n this._sendError(new Error($));\n };\n }\n function h(M) {\n var L, F;\n (M = M || {}).chunkSize || (M.chunkSize = s.LocalChunkSize), f.call(this, M);\n var $ = typeof FileReader < \"u\";\n this.stream = function(I) {\n this._input = I, F = I.slice || I.webkitSlice || I.mozSlice, $ ? ((L = new FileReader()).onload = T(this._chunkLoaded, this), L.onerror = T(this._chunkError, this)) : L = new FileReaderSync(), this._nextChunk();\n }, this._nextChunk = function() {\n this._finished || this._config.preview && !(this._rowCount < this._config.preview) || this._readChunk();\n }, this._readChunk = function() {\n var I = this._input;\n if (this._config.chunkSize) {\n var O = Math.min(this._start + this._config.chunkSize, this._input.size);\n I = F.call(I, this._start, O);\n }\n var G = L.readAsText(I, this._config.encoding);\n $ || this._chunkLoaded({ target: { result: G } });\n }, this._chunkLoaded = function(I) {\n this._start += this._config.chunkSize, this._finished = !this._config.chunkSize || this._start >= this._input.size, this.parseChunk(I.target.result);\n }, this._chunkError = function() {\n this._sendError(L.error);\n };\n }\n function p(M) {\n var L;\n f.call(this, M = M || {}), this.stream = function(F) {\n return L = F, this._nextChunk();\n }, this._nextChunk = function() {\n if (!this._finished) {\n var F, $ = this._config.chunkSize;\n return $ ? (F = L.substring(0, $), L = L.substring($)) : (F = L, L = \"\"), this._finished = !L, this.parseChunk(F);\n }\n };\n }\n function v(M) {\n f.call(this, M = M || {});\n var L = [], F = !0, $ = !1;\n this.pause = function() {\n f.prototype.pause.apply(this, arguments), this._input.pause();\n }, this.resume = function() {\n f.prototype.resume.apply(this, arguments), this._input.resume();\n }, this.stream = function(I) {\n this._input = I, this._input.on(\"data\", this._streamData), this._input.on(\"end\", this._streamEnd), this._input.on(\"error\", this._streamError);\n }, this._checkIsFinished = function() {\n $ && L.length === 1 && (this._finished = !0);\n }, this._nextChunk = function() {\n this._checkIsFinished(), L.length ? this.parseChunk(L.shift()) : F = !0;\n }, this._streamData = T(function(I) {\n try {\n L.push(typeof I == \"string\" ? I : I.toString(this._config.encoding)), F && (F = !1, this._checkIsFinished(), this.parseChunk(L.shift()));\n } catch (O) {\n this._streamError(O);\n }\n }, this), this._streamError = T(function(I) {\n this._streamCleanUp(), this._sendError(I);\n }, this), this._streamEnd = T(function() {\n this._streamCleanUp(), $ = !0, this._streamData(\"\");\n }, this), this._streamCleanUp = T(function() {\n this._input.removeListener(\"data\", this._streamData), this._input.removeListener(\"end\", this._streamEnd), this._input.removeListener(\"error\", this._streamError);\n }, this);\n }\n function m(M) {\n var L, F, $, I = Math.pow(2, 53), O = -I, G = /^\\s*-?(\\d+\\.?|\\.\\d+|\\d+\\.\\d+)([eE][-+]?\\d+)?\\s*$/, K = /^((\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d\\.\\d+([+-][0-2]\\d:[0-5]\\d|Z))|(\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d([+-][0-2]\\d:[0-5]\\d|Z))|(\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d([+-][0-2]\\d:[0-5]\\d|Z)))$/, V = this, z = 0, P = 0, R = !1, H = !1, B = [], W = { data: [], errors: [], meta: {} };\n if (S(M.step)) {\n var ee = M.step;\n M.step = function(U) {\n if (W = U, Q()) ae();\n else {\n if (ae(), W.data.length === 0) return;\n z += U.data.length, M.preview && z > M.preview ? F.abort() : (W.data = W.data[0], ee(W, V));\n }\n };\n }\n function re(U) {\n return M.skipEmptyLines === \"greedy\" ? U.join(\"\").trim() === \"\" : U.length === 1 && U[0].length === 0;\n }\n function ae() {\n return W && $ && (j(\"Delimiter\", \"UndetectableDelimiter\", \"Unable to auto-detect delimiting character; defaulted to '\" + s.DefaultDelimiter + \"'\"), $ = !1), M.skipEmptyLines && (W.data = W.data.filter(function(U) {\n return !re(U);\n })), Q() && function() {\n if (!W) return;\n function U(le, J) {\n S(M.transformHeader) && (le = M.transformHeader(le, J)), B.push(le);\n }\n if (Array.isArray(W.data[0])) {\n for (var Z = 0; Q() && Z < W.data.length; Z++) W.data[Z].forEach(U);\n W.data.splice(0, 1);\n } else W.data.forEach(U);\n }(), function() {\n if (!W || !M.header && !M.dynamicTyping && !M.transform) return W;\n function U(le, J) {\n var pe, ge = M.header ? {} : [];\n for (pe = 0; pe < le.length; pe++) {\n var ve = pe, me = le[pe];\n M.header && (ve = pe >= B.length ? \"__parsed_extra\" : B[pe]), M.transform && (me = M.transform(me, ve)), me = ue(ve, me), ve === \"__parsed_extra\" ? (ge[ve] = ge[ve] || [], ge[ve].push(me)) : ge[ve] = me;\n }\n return M.header && (pe > B.length ? j(\"FieldMismatch\", \"TooManyFields\", \"Too many fields: expected \" + B.length + \" fields but parsed \" + pe, P + J) : pe < B.length && j(\"FieldMismatch\", \"TooFewFields\", \"Too few fields: expected \" + B.length + \" fields but parsed \" + pe, P + J)), ge;\n }\n var Z = 1;\n return !W.data.length || Array.isArray(W.data[0]) ? (W.data = W.data.map(U), Z = W.data.length) : W.data = U(W.data, 0), M.header && W.meta && (W.meta.fields = B), P += Z, W;\n }();\n }\n function Q() {\n return M.header && B.length === 0;\n }\n function ue(U, Z) {\n return le = U, M.dynamicTypingFunction && M.dynamicTyping[le] === void 0 && (M.dynamicTyping[le] = M.dynamicTypingFunction(le)), (M.dynamicTyping[le] || M.dynamicTyping) === !0 ? Z === \"true\" || Z === \"TRUE\" || Z !== \"false\" && Z !== \"FALSE\" && (function(J) {\n if (G.test(J)) {\n var pe = parseFloat(J);\n if (O < pe && pe < I) return !0;\n }\n return !1;\n }(Z) ? parseFloat(Z) : K.test(Z) ? new Date(Z) : Z === \"\" ? null : Z) : Z;\n var le;\n }\n function j(U, Z, le, J) {\n var pe = { type: U, code: Z, message: le };\n J !== void 0 && (pe.row = J), W.errors.push(pe);\n }\n this.parse = function(U, Z, le) {\n var J = M.quoteChar || '\"';\n if (M.newline || (M.newline = function(ve, me) {\n ve = ve.substring(0, 1048576);\n var Le = new RegExp(g(me) + \"([^]*?)\" + g(me), \"gm\"), ze = (ve = ve.replace(Le, \"\")).split(\"\\r\"), Fe = ve.split(`\n`), Oe = 1 < Fe.length && Fe[0].length < ze[0].length;\n if (ze.length === 1 || Oe) return `\n`;\n for (var Re = 0, We = 0; We < ze.length; We++) ze[We][0] === `\n` && Re++;\n return Re >= ze.length / 2 ? `\\r\n` : \"\\r\";\n }(U, J)), $ = !1, M.delimiter) S(M.delimiter) && (M.delimiter = M.delimiter(U), W.meta.delimiter = M.delimiter);\n else {\n var pe = function(ve, me, Le, ze, Fe) {\n var Oe, Re, We, Me;\n Fe = Fe || [\",\", \"\t\", \"|\", \";\", s.RECORD_SEP, s.UNIT_SEP];\n for (var Ve = 0; Ve < Fe.length; Ve++) {\n var qe = Fe[Ve], Qe = 0, ot = 0, ht = 0;\n We = void 0;\n for (var vt = new y({ comments: ze, delimiter: qe, newline: me, preview: 10 }).parse(ve), nt = 0; nt < vt.data.length; nt++) if (Le && re(vt.data[nt])) ht++;\n else {\n var ft = vt.data[nt].length;\n ot += ft, We !== void 0 ? 0 < ft && (Qe += Math.abs(ft - We), We = ft) : We = ft;\n }\n 0 < vt.data.length && (ot /= vt.data.length - ht), (Re === void 0 || Qe <= Re) && (Me === void 0 || Me < ot) && 1.99 < ot && (Re = Qe, Oe = qe, Me = ot);\n }\n return { successful: !!(M.delimiter = Oe), bestDelimiter: Oe };\n }(U, M.newline, M.skipEmptyLines, M.comments, M.delimitersToGuess);\n pe.successful ? M.delimiter = pe.bestDelimiter : ($ = !0, M.delimiter = s.DefaultDelimiter), W.meta.delimiter = M.delimiter;\n }\n var ge = _(M);\n return M.preview && M.header && ge.preview++, L = U, F = new y(ge), W = F.parse(L, Z, le), ae(), R ? { meta: { paused: !0 } } : W || { meta: { paused: !1 } };\n }, this.paused = function() {\n return R;\n }, this.pause = function() {\n R = !0, F.abort(), L = S(M.chunk) ? \"\" : L.substring(F.getCharIndex());\n }, this.resume = function() {\n V.streamer._halted ? (R = !1, V.streamer.parseChunk(L, !0)) : setTimeout(V.resume, 3);\n }, this.aborted = function() {\n return H;\n }, this.abort = function() {\n H = !0, F.abort(), W.meta.aborted = !0, S(M.complete) && M.complete(W), L = \"\";\n };\n }\n function g(M) {\n return M.replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\");\n }\n function y(M) {\n var L, F = (M = M || {}).delimiter, $ = M.newline, I = M.comments, O = M.step, G = M.preview, K = M.fastMode, V = L = M.quoteChar === void 0 || M.quoteChar === null ? '\"' : M.quoteChar;\n if (M.escapeChar !== void 0 && (V = M.escapeChar), (typeof F != \"string\" || -1 < s.BAD_DELIMITERS.indexOf(F)) && (F = \",\"), I === F) throw new Error(\"Comment character same as delimiter\");\n I === !0 ? I = \"#\" : (typeof I != \"string\" || -1 < s.BAD_DELIMITERS.indexOf(I)) && (I = !1), $ !== `\n` && $ !== \"\\r\" && $ !== `\\r\n` && ($ = `\n`);\n var z = 0, P = !1;\n this.parse = function(R, H, B) {\n if (typeof R != \"string\") throw new Error(\"Input must be a string\");\n var W = R.length, ee = F.length, re = $.length, ae = I.length, Q = S(O), ue = [], j = [], U = [], Z = z = 0;\n if (!R) return Pe();\n if (M.header && !H) {\n var le = R.split($)[0].split(F), J = [], pe = {}, ge = !1;\n for (var ve in le) {\n var me = le[ve];\n S(M.transformHeader) && (me = M.transformHeader(me, ve));\n var Le = me, ze = pe[me] || 0;\n for (0 < ze && (ge = !0, Le = me + \"_\" + ze), pe[me] = ze + 1; J.includes(Le); ) Le = Le + \"_\" + ze;\n J.push(Le);\n }\n if (ge) {\n var Fe = R.split($);\n Fe[0] = J.join(F), R = Fe.join($);\n }\n }\n if (K || K !== !1 && R.indexOf(L) === -1) {\n for (var Oe = R.split($), Re = 0; Re < Oe.length; Re++) {\n if (U = Oe[Re], z += U.length, Re !== Oe.length - 1) z += $.length;\n else if (B) return Pe();\n if (!I || U.substring(0, ae) !== I) {\n if (Q) {\n if (ue = [], ht(U.split(F)), Ie(), P) return Pe();\n } else ht(U.split(F));\n if (G && G <= Re) return ue = ue.slice(0, G), Pe(!0);\n }\n }\n return Pe();\n }\n for (var We = R.indexOf(F, z), Me = R.indexOf($, z), Ve = new RegExp(g(V) + g(L), \"g\"), qe = R.indexOf(L, z); ; ) if (R[z] !== L) if (I && U.length === 0 && R.substring(z, z + ae) === I) {\n if (Me === -1) return Pe();\n z = Me + re, Me = R.indexOf($, z), We = R.indexOf(F, z);\n } else if (We !== -1 && (We < Me || Me === -1)) U.push(R.substring(z, We)), z = We + ee, We = R.indexOf(F, z);\n else {\n if (Me === -1) break;\n if (U.push(R.substring(z, Me)), ft(Me + re), Q && (Ie(), P)) return Pe();\n if (G && ue.length >= G) return Pe(!0);\n }\n else for (qe = z, z++; ; ) {\n if ((qe = R.indexOf(L, qe + 1)) === -1) return B || j.push({ type: \"Quotes\", code: \"MissingQuotes\", message: \"Quoted field unterminated\", row: ue.length, index: z }), nt();\n if (qe === W - 1) return nt(R.substring(z, qe).replace(Ve, L));\n if (L !== V || R[qe + 1] !== V) {\n if (L === V || qe === 0 || R[qe - 1] !== V) {\n We !== -1 && We < qe + 1 && (We = R.indexOf(F, qe + 1)), Me !== -1 && Me < qe + 1 && (Me = R.indexOf($, qe + 1));\n var Qe = vt(Me === -1 ? We : Math.min(We, Me));\n if (R.substr(qe + 1 + Qe, ee) === F) {\n U.push(R.substring(z, qe).replace(Ve, L)), R[z = qe + 1 + Qe + ee] !== L && (qe = R.indexOf(L, z)), We = R.indexOf(F, z), Me = R.indexOf($, z);\n break;\n }\n var ot = vt(Me);\n if (R.substring(qe + 1 + ot, qe + 1 + ot + re) === $) {\n if (U.push(R.substring(z, qe).replace(Ve, L)), ft(qe + 1 + ot + re), We = R.indexOf(F, z), qe = R.indexOf(L, z), Q && (Ie(), P)) return Pe();\n if (G && ue.length >= G) return Pe(!0);\n break;\n }\n j.push({ type: \"Quotes\", code: \"InvalidQuotes\", message: \"Trailing quote on quoted field is malformed\", row: ue.length, index: z }), qe++;\n }\n } else qe++;\n }\n return nt();\n function ht(Ne) {\n ue.push(Ne), Z = z;\n }\n function vt(Ne) {\n var tt = 0;\n if (Ne !== -1) {\n var Je = R.substring(qe + 1, Ne);\n Je && Je.trim() === \"\" && (tt = Je.length);\n }\n return tt;\n }\n function nt(Ne) {\n return B || (Ne === void 0 && (Ne = R.substring(z)), U.push(Ne), z = W, ht(U), Q && Ie()), Pe();\n }\n function ft(Ne) {\n z = Ne, ht(U), U = [], Me = R.indexOf($, z);\n }\n function Pe(Ne) {\n return { data: ue, errors: j, meta: { delimiter: F, linebreak: $, aborted: P, truncated: !!Ne, cursor: Z + (H || 0) } };\n }\n function Ie() {\n O(Pe()), ue = [], j = [];\n }\n }, this.abort = function() {\n P = !0;\n }, this.getCharIndex = function() {\n return z;\n };\n }\n function w(M) {\n var L = M.data, F = o[L.workerId], $ = !1;\n if (L.error) F.userError(L.error, L.file);\n else if (L.results && L.results.data) {\n var I = { abort: function() {\n $ = !0, k(L.workerId, { data: [], errors: [], meta: { aborted: !0 } });\n }, pause: x, resume: x };\n if (S(F.userStep)) {\n for (var O = 0; O < L.results.data.length && (F.userStep({ data: L.results.data[O], errors: L.results.errors, meta: L.results.meta }, I), !$); O++) ;\n delete L.results;\n } else S(F.userChunk) && (F.userChunk(L.results, I, L.file), delete L.results);\n }\n L.finished && !$ && k(L.workerId, L.results);\n }\n function k(M, L) {\n var F = o[M];\n S(F.userComplete) && F.userComplete(L), F.terminate(), delete o[M];\n }\n function x() {\n throw new Error(\"Not implemented.\");\n }\n function _(M) {\n if (typeof M != \"object\" || M === null) return M;\n var L = Array.isArray(M) ? [] : {};\n for (var F in M) L[F] = _(M[F]);\n return L;\n }\n function T(M, L) {\n return function() {\n M.apply(L, arguments);\n };\n }\n function S(M) {\n return typeof M == \"function\";\n }\n return i && (n.onmessage = function(M) {\n var L = M.data;\n if (s.WORKER_ID === void 0 && L && (s.WORKER_ID = L.workerId), typeof L.input == \"string\") n.postMessage({ workerId: s.WORKER_ID, results: s.parse(L.input, L.config), finished: !0 });\n else if (n.File && L.input instanceof File || L.input instanceof Object) {\n var F = s.parse(L.input, L.config);\n F && n.postMessage({ workerId: s.WORKER_ID, results: F, finished: !0 });\n }\n }), (d.prototype = Object.create(f.prototype)).constructor = d, (h.prototype = Object.create(f.prototype)).constructor = h, (p.prototype = Object.create(p.prototype)).constructor = p, (v.prototype = Object.create(f.prototype)).constructor = v, s;\n });\n})(D8);\nvar Que = D8.exports;\nconst efe = /* @__PURE__ */ Vc(Que), tfe = (e, t) => efe.parse(e, { download: !0, complete: t }), o1 = {\n loadFile: tfe\n}, E8 = {\n components: { PlotControls: qc },\n props: {\n metadata: {\n type: Object,\n required: !0\n },\n sourceData: {\n type: Object,\n required: !0\n },\n plotLayout: {\n type: Object,\n required: !0\n },\n supplementalData: {\n type: Array,\n required: !0\n },\n version: {\n type: String,\n required: !0\n },\n selectorUi: {\n type: Boolean,\n default: !0\n }\n },\n data: function() {\n return {\n layout: {\n paper_bgcolor: \"rgba(0,0,0,0)\",\n plot_bgcolor: \"rgba(0,0,0,0)\",\n autosize: !0,\n margin: {\n t: 25,\n l: 55,\n r: 55,\n b: 90,\n pad: 4\n }\n },\n loading: !1,\n options: {\n responsive: !0,\n scrollZoom: !0\n }\n };\n },\n computed: {\n title() {\n return this.sourceData.url.split(\"\\\\\").pop().split(\"/\").pop().split(\".\")[0];\n }\n }\n}, rfe = {\n name: \"TimeseriesPlot\",\n components: { PlotControls: qc, ElSelect: Vu, ElButton: Gc, ElOption: qu },\n mixins: [E8],\n data: function() {\n return {\n dataValues: co([]),\n filterX: [],\n parsedData: null,\n time: co([]),\n traceData: null,\n traceNames: [],\n xAxisLabel: \"time\"\n };\n },\n computed: {\n fullMetadata() {\n let e = JSON.parse(JSON.stringify(this.metadata));\n return e[\"y-axes-columns\"] || (e[\"y-axes-columns\"] = []), e[\"x-axis-column\"] || (e[\"x-axis-column\"] = 0), e[\"no-header\"] || (e[\"no-header\"] = !1), e[\"row-major\"] || (e[\"row-major\"] = !1), e;\n }\n },\n watch: {\n sourceData: function() {\n this.loadData(this.sourceData);\n }\n },\n mounted: function() {\n this.loadData(this.sourceData);\n },\n methods: {\n loadData(e) {\n e.url ? (this.loading = !0, o1.loadFile(e.url, this.dataReady)) : Oc.react(this.$refs.plotlyplot, this.sourceData.data, this.plotLayout ? this.plotLayout : this.layout, this.options);\n },\n dataReady(e) {\n const t = Date.now();\n this.fullMetadata[\"no-header\"] && o1.loadFile(this.supplementalData[0].url, this.headerDataReady), this.loading = !1, this.parsedData = co(e), this.findYaxesCols(), this.populateTime(), this.populateDataValues(), this.fullMetadata[\"no-header\"] || (this.populateXaxisLabel(), this.populateTraceNames()), this.createPlot(this.time, this.xAxisLabel, this.dataValues, this.traceNames), console.log(Date.now() - t);\n },\n headerDataReady(e) {\n this.traceData = co(e), this.populateXaxisLabel(), this.populateTraceNames(), this.loading || this.createPlot(this.time, this.xAxisLabel, this.dataValues, this.traceNames);\n },\n filterPlot() {\n let e = this.filterX;\n if (e.length === 0) {\n this.createPlot(this.time, this.xAxisLabel, this.dataValues, this.traceNames);\n return;\n }\n let t = [];\n for (let a of e)\n t.push(this.fullMetadata[\"y-axes-columns\"][this.traceNames.indexOf(a)]);\n let r = this.parsedData.data;\n this.fullMetadata[\"no-header\"] || (r = r.slice(1));\n let n = [];\n for (let a of t) {\n const i = r.map((o) => o[a]);\n n.push(i);\n }\n this.createPlot(this.time, this.xAxisLabel, n, e);\n },\n createPlot(e, t, r, n) {\n let a = [];\n for (let s = 0; s < r.length; s++)\n a.push({\n type: \"scatter\",\n mode: \"lines\",\n name: n[s],\n x: e,\n y: r[s]\n });\n let i = this.plotLayout ? this.plotLayout : this.layout, o = { title: { text: this.title }, xaxis: { title: { text: t } } }, l = { ...l1(i), ...o };\n Oc.react(this.$refs.plotlyplot, a, l, this.options);\n },\n findYaxesCols() {\n if (this.fullMetadata[\"y-axes-columns\"].length === 0) {\n let e = Array(this.parsedData.data[0].length).keys();\n e.shift(), e.shift(), this.fullMetadata[\"y-axes-columns\"] = e;\n }\n },\n populateXaxisLabel() {\n this.fullMetadata[\"no-header\"] ? this.xAxisLabel = this.traceData.data[0][this.fullMetadata[\"x-axis-column\"]] : this.xAxisLabel = this.parsedData.data[0][this.fullMetadata[\"x-axis-column\"]];\n },\n populateTraceNames() {\n if (this.fullMetadata[\"no-header\"]) {\n this.traceNames.splice(0, this.traceNames.length);\n for (let e of this.fullMetadata[\"y-axes-columns\"])\n this.traceNames.push(this.traceData.data[0][e]);\n this.$set(this.traceNames, 0, this.traceNames[0]);\n } else {\n this.traceNames = [];\n for (let e of this.fullMetadata[\"y-axes-columns\"])\n this.traceNames.push(this.parsedData.data[0][e]);\n }\n },\n populateTime() {\n const e = this;\n let t = this.parsedData.data;\n this.fullMetadata[\"no-header\"] || (t = t.slice(1)), this.time = co(t.map(function(r) {\n return r[e.fullMetadata[\"x-axis-column\"]];\n }));\n },\n populateDataValues() {\n let e = this.parsedData.data;\n this.fullMetadata[\"no-header\"] || (e = e.slice(1));\n let t = [];\n for (let r of this.fullMetadata[\"y-axes-columns\"]) {\n const n = e.map((a) => a[r]);\n t.push(n);\n }\n this.dataValues = co(t);\n }\n }\n}, nfe = {\n ref: \"plotContainer\",\n class: \"container\"\n}, afe = {\n ref: \"plotlyplot\",\n class: \"vue-plotly\"\n};\nfunction ife(e, t, r, n, a, i) {\n const o = qu, l = Vu, s = Gc, u = qc;\n return At(), Xt(\"div\", nfe, [\n cr(\"div\", afe, null, 512),\n e.selectorUi ? (At(), Xt(\"div\", {\n key: 0,\n class: Vt([\"chooser-container\", { inactive: e.loading }])\n }, [\n cr(\"span\", null, [\n Ar(l, {\n ref: \"selectBox\",\n modelValue: e.filterX,\n \"onUpdate:modelValue\": t[0] || (t[0] = (f) => e.filterX = f),\n class: \"channel-select\",\n size: \"large\",\n multiple: \"\",\n filterable: \"\",\n \"collapse-tags\": \"\",\n \"default-first-option\": \"\",\n teleported: !1,\n placeholder: \"select\"\n }, {\n default: ir(() => [\n (At(!0), Xt(wo, null, xu(e.traceNames, (f) => (At(), kr(o, {\n key: f,\n label: f,\n value: f\n }, null, 8, [\"label\", \"value\"]))), 128))\n ]),\n _: 1\n }, 8, [\"modelValue\"])\n ]),\n cr(\"span\", null, [\n Ar(s, {\n class: \"view-heatmap-button\",\n onClick: i.filterPlot\n }, {\n default: ir(() => [\n rs(\"Filter plot\")\n ]),\n _: 1\n }, 8, [\"onClick\"])\n ])\n ], 2)) : Fr(\"\", !0),\n Ar(u, {\n ref: \"controls\",\n \"parent-element\": { element: e.$refs.plotContainer },\n \"controls-enabled\": !e.loading\n }, null, 8, [\"parent-element\", \"controls-enabled\"])\n ], 512);\n}\nconst ofe = /* @__PURE__ */ np(rfe, [[\"render\", ife], [\"__scopeId\", \"data-v-ab61b52c\"]]), lfe = {\n name: \"HeatmapPlot\",\n components: {\n PlotControls: qc,\n ElSelect: Vu,\n ElOption: qu,\n ElCollapse: g5,\n ElCollapseItem: y5,\n ElButton: Gc,\n ElPopover: z1\n },\n mixins: [E8],\n data: function() {\n return {\n columnHeaders: [],\n rowHeaders: [],\n dataValues: co([]),\n filterX: [],\n filterY: [],\n loading: !1,\n logScale: !1,\n logDataValues: co([])\n };\n },\n computed: {\n fullMetadata() {\n let e = JSON.parse(JSON.stringify(this.metadata));\n return e.columnHeaderSize || (e.columnHeaderSize = 1), e.columnHeaderIndex || (e.columnHeaderIndex = 0), e.rowHeaderSize || (e.rowHeaderSize = 1), e.rowHeaderIndex || (e.rowHeaderIndex = 0), e;\n },\n logScaleEnabled() {\n return !!JSON.parse(JSON.stringify(this.metadata)).logScale;\n },\n plotTitle() {\n return this.logScale ? this.title + \" (Log scale)\" : this.title;\n }\n },\n watch: {\n sourceData: function() {\n this.loadData(this.sourceData);\n }\n },\n mounted: function() {\n this.loadData(this.sourceData);\n },\n methods: {\n loadData(e) {\n e.url ? (this.loading = !0, o1.loadFile(e.url, this.dataReady)) : Oc.react(this.$refs.plotlyplot, this.sourceData.data, this.sourceData.layout ? this.sourceData.layout : this.layout, this.options);\n },\n dataReady(e) {\n this.loading = !1;\n const t = e;\n this.populateColumnHeaders(t), this.populateRowHeaders(t), this.populateDataValues(t), this.logScaleEnabled ? (this.logValues(), this.logScale = !0, this.createPlot(this.columnHeaders, this.rowHeaders, this.logDataValues, \"heatmap\")) : this.createPlot(this.columnHeaders, this.rowHeaders, this.dataValues, \"heatmap\");\n },\n logValues() {\n this.dataValues.forEach((e, t) => {\n this.logDataValues.push([]), e.forEach((r) => {\n this.logDataValues[t].push(Math.log10(r));\n });\n });\n },\n logToggle() {\n this.logScale ? (this.logScale = !1, this.createPlot(this.columnHeaders, this.rowHeaders, this.dataValues, \"heatmap\")) : (this.logScale = !0, this.createPlot(this.columnHeaders, this.rowHeaders, this.logDataValues, \"heatmap\"));\n },\n filterPlot() {\n let e = this.filterX, t = this.filterY;\n if (e.length === 0 && t.length === 0) {\n this.createPlot(this.columnHeaders, this.rowHeaders, this.dataValues, \"heatmap\");\n return;\n }\n e.length === 0 && (e = this.columnHeaders), t.length === 0 && (t = this.rowHeaders);\n let r = [];\n for (let i of e)\n r.push(this.columnHeaders.indexOf(i));\n let n = [];\n for (let i of t)\n n.push(this.rowHeaders.indexOf(i));\n let a = [];\n for (let i of r) {\n const o = this.dataValues.map((s) => s[i]);\n let l = [];\n for (let s of n)\n l.push(o[s]);\n a.push(l);\n }\n a = a[0].map((i, o) => a.map((l) => l[o])), this.createPlot(e, t, a, \"heatmap\");\n },\n createPlot(e, t, r, n) {\n var a = [\n {\n x: e,\n y: t,\n z: r,\n type: n\n }\n ];\n const i = { title: { text: this.plotTitle } };\n Oc.react(this.$refs.plotlyplot, a, { ...this.layout, ...i, ...this.plotLayout }, this.options);\n },\n populateColumnHeaders(e) {\n let r = [...e.data[this.fullMetadata.columnHeaderIndex]];\n this.columnHeaders = r.slice(this.fullMetadata.rowHeaderSize);\n },\n populateRowHeaders(e) {\n const r = e.data.map((n) => n[this.fullMetadata.rowHeaderIndex]);\n this.rowHeaders = r.slice(this.fullMetadata.columnHeaderSize);\n },\n populateDataValues(e) {\n const r = e.data.slice(this.fullMetadata.columnHeaderSize);\n this.dataValues = co(r.map((n) => n.slice(this.fullMetadata.rowHeaderSize)));\n }\n }\n}, sfe = {\n ref: \"plotContainer\",\n class: \"container\"\n}, ufe = {\n ref: \"plotlyplot\",\n class: \"vue-plotly\"\n}, ffe = { key: 0 };\nfunction cfe(e, t, r, n, a, i) {\n const o = qu, l = Vu, s = Gc, u = qc;\n return At(), Xt(\"div\", sfe, [\n cr(\"div\", ufe, null, 512),\n e.selectorUi ? (At(), Xt(\"div\", {\n key: 0,\n class: Vt([\"chooser-container\", { inactive: e.loading }])\n }, [\n cr(\"span\", null, [\n Ar(l, {\n modelValue: e.filterX,\n \"onUpdate:modelValue\": t[0] || (t[0] = (f) => e.filterX = f),\n class: \"channel-select\",\n multiple: \"\",\n filterable: \"\",\n \"collapse-tags\": \"\",\n \"default-first-option\": \"\",\n placeholder: \"select\"\n }, {\n default: ir(() => [\n (At(!0), Xt(wo, null, xu(e.columnHeaders, (f) => (At(), kr(o, {\n key: f,\n label: f,\n value: f\n }, null, 8, [\"label\", \"value\"]))), 128))\n ]),\n _: 1\n }, 8, [\"modelValue\"])\n ]),\n cr(\"span\", null, [\n Ar(l, {\n modelValue: e.filterY,\n \"onUpdate:modelValue\": t[1] || (t[1] = (f) => e.filterY = f),\n class: \"channel-select\",\n multiple: \"\",\n filterable: \"\",\n \"collapse-tags\": \"\",\n \"default-first-option\": \"\",\n placeholder: \"select\"\n }, {\n default: ir(() => [\n (At(!0), Xt(wo, null, xu(e.rowHeaders, (f) => (At(), kr(o, {\n key: f,\n label: f,\n value: f\n }, null, 8, [\"label\", \"value\"]))), 128))\n ]),\n _: 1\n }, 8, [\"modelValue\"])\n ]),\n cr(\"span\", null, [\n Ar(s, {\n class: \"view-heatmap-button\",\n onClick: i.filterPlot\n }, {\n default: ir(() => [\n rs(\"Filter plot\")\n ]),\n _: 1\n }, 8, [\"onClick\"])\n ]),\n i.logScaleEnabled ? (At(), Xt(\"span\", ffe, [\n Ar(s, {\n class: \"view-heatmap-button\",\n onClick: i.logToggle\n }, {\n default: ir(() => [\n rs(\"Toggle log\")\n ]),\n _: 1\n }, 8, [\"onClick\"])\n ])) : Fr(\"\", !0)\n ], 2)) : Fr(\"\", !0),\n Ar(u, {\n \"parent-element\": { element: e.$refs.plotContainer },\n \"controls-enabled\": !e.loading\n }, null, 8, [\"parent-element\", \"controls-enabled\"])\n ], 512);\n}\nconst dfe = /* @__PURE__ */ np(lfe, [[\"render\", cfe], [\"__scopeId\", \"data-v-e71fb8c3\"]]), hfe = [\"1.2.0\", \"1.1.0\"], vfe = {\n name: \"PlotVuer\",\n components: {\n TimeseriesPlot: ofe,\n HeatmapPlot: dfe\n },\n props: {\n /**\n * The object with `url` property\n * where the `url` is the source url to load the data.\n */\n dataSource: {\n type: Object,\n required: !0,\n default: () => {\n }\n },\n /**\n * The metadata object\n * with `version`, `type`, and `attrs` properties.\n */\n metadata: {\n type: Object,\n required: !0,\n validator: function(e) {\n return hfe.includes(e.version) && e.type === \"plot\";\n }\n },\n /**\n * The plotLayout for UI.\n */\n plotLayout: {\n type: Object,\n /**\n * `{\n * paper_bgcolor: 'rgba(0,0,0,0)',\n plot_bgcolor: 'rgba(0,0,0,0)',\n autosize: true,\n margin: {\n t: 25,\n l: 55,\n r: 55,\n b: 90,\n pad: 4\n },\n loading: false,\n options: {\n responsive: true,\n scrollZoom: true\n }\n * }`\n */\n default: () => ({\n paper_bgcolor: \"rgba(0,0,0,0)\",\n plot_bgcolor: \"rgba(0,0,0,0)\",\n autosize: !0,\n margin: {\n t: 25,\n l: 55,\n r: 55,\n b: 90,\n pad: 4\n },\n loading: !1,\n options: {\n responsive: !0,\n scrollZoom: !0\n }\n })\n },\n /**\n * The supplemental data to load.\n */\n supplementalData: {\n type: Array,\n default: () => []\n },\n /**\n * The option to choose helpMode.\n */\n helpMode: {\n type: Boolean,\n default: !1\n },\n /**\n * The option to show the selector UI.\n */\n selectorUi: {\n type: Boolean,\n default: !0\n }\n },\n computed: {\n plotType: function() {\n return this.metadata.attrs.style + \"-plot\";\n },\n layout: function() {\n return this.metadata ? this.metadata.attrs ? this.metadata.attrs.layout ? this.metadata.attrs.layout : this.plotLayout : this.plotLayout : this.plotLayout;\n }\n }\n}, pfe = { class: \"plotvuer_parent\" };\nfunction mfe(e, t, r, n, a, i) {\n return At(), Xt(\"div\", pfe, [\n i.plotType != \"-plot\" ? (At(), kr(bo(i.plotType), {\n key: 0,\n sourceData: r.dataSource,\n plotLayout: i.layout,\n version: r.metadata.version,\n metadata: r.metadata.attrs,\n selectorUi: r.selectorUi,\n supplementalData: r.supplementalData\n }, null, 8, [\"sourceData\", \"plotLayout\", \"version\", \"metadata\", \"selectorUi\", \"supplementalData\"])) : Fr(\"\", !0)\n ]);\n}\nconst yfe = /* @__PURE__ */ np(vfe, [[\"render\", mfe], [\"__scopeId\", \"data-v-72189ced\"]]);\nexport {\n yfe as PlotVuer\n};\n"], "mappings": "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AE,GAAG,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI;AAC9b,SAAO,KAAK,IAAI,IAAI,GAAGA,IAAE,CAAC,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,GAAGA,IAAE,CAAC,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,GAAGA,IAAE,CAAC,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,GAAGA,IAAE,CAAC,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,GAAGA,IAAE,CAAC,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,GAAGA,IAAE,CAAC,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,GAAGA,IAAE,CAAC,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,GAAGA,IAAE,CAAC,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,GAAGA,IAAE,CAAC,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,GAAGA,IAAE,CAAC,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,GAAGA,IAAE,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,GAAGA,IAAE,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,GAAGA,IAAE,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,GAAGA,IAAE,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,GAAGA,IAAE,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,GAAGA,IAAE,EAAE,KAAK,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", "names": ["e", "e6", "e8", "e3"] }