Best JavaScript code snippet using backstopjs
d3.min.js
Source:d3.min.js
1const define = "define";2let XDomainRequest, Sizzle;3!(function () {4 function n(n) {5 return n && (n.ownerDocument || n.document || n).documentElement;6 }7 function t(n) {8 return (9 n &&10 ((n.ownerDocument && n.ownerDocument.defaultView) ||11 (n.document && n) ||12 n.defaultView)13 );14 }15 function e(n, t) {16 return t > n ? -1 : n > t ? 1 : n >= t ? 0 : NaN;17 }18 function r(n) {19 return null === n ? NaN : +n;20 }21 function i(n) {22 return !isNaN(n);23 }24 function u(n) {25 return {26 left: function (t, e, r, i) {27 for (28 arguments.length < 3 && (r = 0),29 arguments.length < 4 && (i = t.length);30 i > r;31 ) {32 var u = (r + i) >>> 1;33 n(t[u], e) < 0 ? (r = u + 1) : (i = u);34 }35 return r;36 },37 right: function (t, e, r, i) {38 for (39 arguments.length < 3 && (r = 0),40 arguments.length < 4 && (i = t.length);41 i > r;42 ) {43 var u = (r + i) >>> 1;44 n(t[u], e) > 0 ? (i = u) : (r = u + 1);45 }46 return r;47 },48 };49 }50 function o(n) {51 return n.length;52 }53 function a(n) {54 for (var t = 1; (n * t) % 1; ) t *= 10;55 return t;56 }57 function l(n, t) {58 for (var e in t)59 Object.defineProperty(n.prototype, e, { value: t[e], enumerable: !1 });60 }61 function c() {62 this._ = Object.create(null);63 }64 function f(n) {65 return (n += "") === bo || n[0] === _o ? _o + n : n;66 }67 function s(n) {68 return (n += "")[0] === _o ? n.slice(1) : n;69 }70 function h(n) {71 return f(n) in this._;72 }73 function p(n) {74 return (n = f(n)) in this._ && delete this._[n];75 }76 function g() {77 var n = [];78 for (var t in this._) n.push(s(t));79 return n;80 }81 function v() {82 var n = 0;83 for (var t in this._) ++n;84 return n;85 }86 function d() {87 for (var n in this._) return !1;88 return !0;89 }90 function y() {91 this._ = Object.create(null);92 }93 function m(n) {94 return n;95 }96 function M(n, t, e) {97 return function () {98 var r = e.apply(t, arguments);99 return r === t ? n : r;100 };101 }102 function x(n, t) {103 if (t in n) return t;104 t = t.charAt(0).toUpperCase() + t.slice(1);105 for (var e = 0, r = wo.length; r > e; ++e) {106 var i = wo[e] + t;107 if (i in n) return i;108 }109 }110 function b() {}111 function _() {}112 function w(n) {113 function t() {114 for (var t, r = e, i = -1, u = r.length; ++i < u; )115 (t = r[i].on) && t.apply(this, arguments);116 return n;117 }118 var e = [],119 r = new c();120 return (121 (t.on = function (t, i) {122 var u,123 o = r.get(t);124 return arguments.length < 2125 ? o && o.on126 : (o &&127 ((o.on = null),128 (e = e.slice(0, (u = e.indexOf(o))).concat(e.slice(u + 1))),129 r.remove(t)),130 i && e.push(r.set(t, { on: i })),131 n);132 }),133 t134 );135 }136 function S() {137 ao.event.preventDefault();138 }139 function k() {140 for (var n, t = ao.event; (n = t.sourceEvent); ) t = n;141 return t;142 }143 function N(n) {144 for (var t = new _(), e = 0, r = arguments.length; ++e < r; )145 t[arguments[e]] = w(t);146 return (147 (t.of = function (e, r) {148 return function (i) {149 try {150 var u = (i.sourceEvent = ao.event);151 (i.target = n), (ao.event = i), t[i.type].apply(e, r);152 } finally {153 ao.event = u;154 }155 };156 }),157 t158 );159 }160 function E(n) {161 return ko(n, Co), n;162 }163 function A(n) {164 return "function" == typeof n165 ? n166 : function () {167 return No(n, this);168 };169 }170 function C(n) {171 return "function" == typeof n172 ? n173 : function () {174 return Eo(n, this);175 };176 }177 function z(n, t) {178 function e() {179 this.removeAttribute(n);180 }181 function r() {182 this.removeAttributeNS(n.space, n.local);183 }184 function i() {185 this.setAttribute(n, t);186 }187 function u() {188 this.setAttributeNS(n.space, n.local, t);189 }190 function o() {191 var e = t.apply(this, arguments);192 null == e ? this.removeAttribute(n) : this.setAttribute(n, e);193 }194 function a() {195 var e = t.apply(this, arguments);196 null == e197 ? this.removeAttributeNS(n.space, n.local)198 : this.setAttributeNS(n.space, n.local, e);199 }200 return (201 (n = ao.ns.qualify(n)),202 null == t203 ? n.local204 ? r205 : e206 : "function" == typeof t207 ? n.local208 ? a209 : o210 : n.local211 ? u212 : i213 );214 }215 function L(n) {216 return n.trim().replace(/\s+/g, " ");217 }218 function q(n) {219 return new RegExp("(?:^|\\s+)" + ao.requote(n) + "(?:\\s+|$)", "g");220 }221 function T(n) {222 return (n + "").trim().split(/^|\s+/);223 }224 function R(n, t) {225 function e() {226 for (var e = -1; ++e < i; ) n[e](this, t);227 }228 function r() {229 for (var e = -1, r = t.apply(this, arguments); ++e < i; ) n[e](this, r);230 }231 n = T(n).map(D);232 var i = n.length;233 return "function" == typeof t ? r : e;234 }235 function D(n) {236 var t = q(n);237 return function (e, r) {238 if ((i = e.classList)) return r ? i.add(n) : i.remove(n);239 var i = e.getAttribute("class") || "";240 r241 ? ((t.lastIndex = 0),242 t.test(i) || e.setAttribute("class", L(i + " " + n)))243 : e.setAttribute("class", L(i.replace(t, " ")));244 };245 }246 function P(n, t, e) {247 function r() {248 this.style.removeProperty(n);249 }250 function i() {251 this.style.setProperty(n, t, e);252 }253 function u() {254 var r = t.apply(this, arguments);255 null == r256 ? this.style.removeProperty(n)257 : this.style.setProperty(n, r, e);258 }259 return null == t ? r : "function" == typeof t ? u : i;260 }261 function U(n, t) {262 function e() {263 delete this[n];264 }265 function r() {266 this[n] = t;267 }268 function i() {269 var e = t.apply(this, arguments);270 null == e ? delete this[n] : (this[n] = e);271 }272 return null == t ? e : "function" == typeof t ? i : r;273 }274 function j(n) {275 function t() {276 var t = this.ownerDocument,277 e = this.namespaceURI;278 return e === zo && t.documentElement.namespaceURI === zo279 ? t.createElement(n)280 : t.createElementNS(e, n);281 }282 function e() {283 return this.ownerDocument.createElementNS(n.space, n.local);284 }285 return "function" == typeof n ? n : (n = ao.ns.qualify(n)).local ? e : t;286 }287 function F() {288 var n = this.parentNode;289 n && n.removeChild(this);290 }291 function H(n) {292 return { __data__: n };293 }294 function O(n) {295 return function () {296 return Ao(this, n);297 };298 }299 function I(n) {300 return (301 arguments.length || (n = e),302 function (t, e) {303 return t && e ? n(t.__data__, e.__data__) : !t - !e;304 }305 );306 }307 function Y(n, t) {308 for (var e = 0, r = n.length; r > e; e++)309 for (var i, u = n[e], o = 0, a = u.length; a > o; o++)310 (i = u[o]) && t(i, o, e);311 return n;312 }313 function Z(n) {314 return ko(n, qo), n;315 }316 function V(n) {317 var t, e;318 return function (r, i, u) {319 var o,320 a = n[u].update,321 l = a.length;322 for (323 u != e && ((e = u), (t = 0)), i >= t && (t = i + 1);324 !(o = a[t]) && ++t < l;325 );326 return o;327 };328 }329 function X(n, t, e) {330 function r() {331 var t = this[o];332 t && (this.removeEventListener(n, t, t.$), delete this[o]);333 }334 function i() {335 var i = l(t, co(arguments));336 r.call(this),337 this.addEventListener(n, (this[o] = i), (i.$ = e)),338 (i._ = t);339 }340 function u() {341 var t,342 e = new RegExp("^__on([^.]+)" + ao.requote(n) + "$");343 for (var r in this)344 if ((t = r.match(e))) {345 var i = this[r];346 this.removeEventListener(t[1], i, i.$), delete this[r];347 }348 }349 var o = "__on" + n,350 a = n.indexOf("."),351 l = $;352 a > 0 && (n = n.slice(0, a));353 var c = To.get(n);354 return c && ((n = c), (l = B)), a ? (t ? i : r) : t ? b : u;355 }356 function $(n, t) {357 return function (e) {358 var r = ao.event;359 (ao.event = e), (t[0] = this.__data__);360 try {361 n.apply(this, t);362 } finally {363 ao.event = r;364 }365 };366 }367 function B(n, t) {368 var e = $(n, t);369 return function (n) {370 var t = this,371 r = n.relatedTarget;372 (r && (r === t || 8 & r.compareDocumentPosition(t))) || e.call(t, n);373 };374 }375 function W(e) {376 var r = ".dragsuppress-" + ++Do,377 i = "click" + r,378 u = ao379 .select(t(e))380 .on("touchmove" + r, S)381 .on("dragstart" + r, S)382 .on("selectstart" + r, S);383 if (384 (null == Ro &&385 (Ro = "onselectstart" in e ? !1 : x(e.style, "userSelect")),386 Ro)387 ) {388 var o = n(e).style,389 a = o[Ro];390 o[Ro] = "none";391 }392 return function (n) {393 if ((u.on(r, null), Ro && (o[Ro] = a), n)) {394 var t = function () {395 u.on(i, null);396 };397 u.on(398 i,399 function () {400 S(), t();401 },402 !0403 ),404 setTimeout(t, 0);405 }406 };407 }408 function J(n, e) {409 e.changedTouches && (e = e.changedTouches[0]);410 var r = n.ownerSVGElement || n;411 if (r.createSVGPoint) {412 var i = r.createSVGPoint();413 if (0 > Po) {414 var u = t(n);415 if (u.scrollX || u.scrollY) {416 r = ao.select("body").append("svg").style(417 {418 position: "absolute",419 top: 0,420 left: 0,421 margin: 0,422 padding: 0,423 border: "none",424 },425 "important"426 );427 var o = r[0][0].getScreenCTM();428 (Po = !(o.f || o.e)), r.remove();429 }430 }431 return (432 Po433 ? ((i.x = e.pageX), (i.y = e.pageY))434 : ((i.x = e.clientX), (i.y = e.clientY)),435 (i = i.matrixTransform(n.getScreenCTM().inverse())),436 [i.x, i.y]437 );438 }439 var a = n.getBoundingClientRect();440 return [e.clientX - a.left - n.clientLeft, e.clientY - a.top - n.clientTop];441 }442 function G() {443 return ao.event.changedTouches[0].identifier;444 }445 function K(n) {446 return n > 0 ? 1 : 0 > n ? -1 : 0;447 }448 function Q(n, t, e) {449 return (t[0] - n[0]) * (e[1] - n[1]) - (t[1] - n[1]) * (e[0] - n[0]);450 }451 function nn(n) {452 return n > 1 ? 0 : -1 > n ? Fo : Math.acos(n);453 }454 function tn(n) {455 return n > 1 ? Io : -1 > n ? -Io : Math.asin(n);456 }457 function en(n) {458 return ((n = Math.exp(n)) - 1 / n) / 2;459 }460 function rn(n) {461 return ((n = Math.exp(n)) + 1 / n) / 2;462 }463 function un(n) {464 return ((n = Math.exp(2 * n)) - 1) / (n + 1);465 }466 function on(n) {467 return (n = Math.sin(n / 2)) * n;468 }469 function an() {}470 function ln(n, t, e) {471 return this instanceof ln472 ? ((this.h = +n), (this.s = +t), void (this.l = +e))473 : arguments.length < 2474 ? n instanceof ln475 ? new ln(n.h, n.s, n.l)476 : _n("" + n, wn, ln)477 : new ln(n, t, e);478 }479 function cn(n, t, e) {480 function r(n) {481 return (482 n > 360 ? (n -= 360) : 0 > n && (n += 360),483 60 > n484 ? u + ((o - u) * n) / 60485 : 180 > n486 ? o487 : 240 > n488 ? u + ((o - u) * (240 - n)) / 60489 : u490 );491 }492 function i(n) {493 return Math.round(255 * r(n));494 }495 var u, o;496 return (497 (n = isNaN(n) ? 0 : (n %= 360) < 0 ? n + 360 : n),498 (t = isNaN(t) ? 0 : 0 > t ? 0 : t > 1 ? 1 : t),499 (e = 0 > e ? 0 : e > 1 ? 1 : e),500 (o = 0.5 >= e ? e * (1 + t) : e + t - e * t),501 (u = 2 * e - o),502 new mn(i(n + 120), i(n), i(n - 120))503 );504 }505 function fn(n, t, e) {506 return this instanceof fn507 ? ((this.h = +n), (this.c = +t), void (this.l = +e))508 : arguments.length < 2509 ? n instanceof fn510 ? new fn(n.h, n.c, n.l)511 : n instanceof hn512 ? gn(n.l, n.a, n.b)513 : gn((n = Sn((n = ao.rgb(n)).r, n.g, n.b)).l, n.a, n.b)514 : new fn(n, t, e);515 }516 function sn(n, t, e) {517 return (518 isNaN(n) && (n = 0),519 isNaN(t) && (t = 0),520 new hn(e, Math.cos((n *= Yo)) * t, Math.sin(n) * t)521 );522 }523 function hn(n, t, e) {524 return this instanceof hn525 ? ((this.l = +n), (this.a = +t), void (this.b = +e))526 : arguments.length < 2527 ? n instanceof hn528 ? new hn(n.l, n.a, n.b)529 : n instanceof fn530 ? sn(n.h, n.c, n.l)531 : Sn((n = mn(n)).r, n.g, n.b)532 : new hn(n, t, e);533 }534 function pn(n, t, e) {535 var r = (n + 16) / 116,536 i = r + t / 500,537 u = r - e / 200;538 return (539 (i = vn(i) * na),540 (r = vn(r) * ta),541 (u = vn(u) * ea),542 new mn(543 yn(3.2404542 * i - 1.5371385 * r - 0.4985314 * u),544 yn(-0.969266 * i + 1.8760108 * r + 0.041556 * u),545 yn(0.0556434 * i - 0.2040259 * r + 1.0572252 * u)546 )547 );548 }549 function gn(n, t, e) {550 return n > 0551 ? new fn(Math.atan2(e, t) * Zo, Math.sqrt(t * t + e * e), n)552 : new fn(NaN, NaN, n);553 }554 function vn(n) {555 return n > 0.206893034 ? n * n * n : (n - 4 / 29) / 7.787037;556 }557 function dn(n) {558 return n > 0.008856 ? Math.pow(n, 1 / 3) : 7.787037 * n + 4 / 29;559 }560 function yn(n) {561 return Math.round(562 255 * (0.00304 >= n ? 12.92 * n : 1.055 * Math.pow(n, 1 / 2.4) - 0.055)563 );564 }565 function mn(n, t, e) {566 return this instanceof mn567 ? ((this.r = ~~n), (this.g = ~~t), void (this.b = ~~e))568 : arguments.length < 2569 ? n instanceof mn570 ? new mn(n.r, n.g, n.b)571 : _n("" + n, mn, cn)572 : new mn(n, t, e);573 }574 function Mn(n) {575 return new mn(n >> 16, (n >> 8) & 255, 255 & n);576 }577 function xn(n) {578 return Mn(n) + "";579 }580 function bn(n) {581 return 16 > n582 ? "0" + Math.max(0, n).toString(16)583 : Math.min(255, n).toString(16);584 }585 function _n(n, t, e) {586 var r,587 i,588 u,589 o = 0,590 a = 0,591 l = 0;592 if ((r = /([a-z]+)\((.*)\)/.exec((n = n.toLowerCase()))))593 switch (((i = r[2].split(",")), r[1])) {594 case "hsl":595 return e(596 parseFloat(i[0]),597 parseFloat(i[1]) / 100,598 parseFloat(i[2]) / 100599 );600 case "rgb":601 return t(Nn(i[0]), Nn(i[1]), Nn(i[2]));602 }603 return (u = ua.get(n))604 ? t(u.r, u.g, u.b)605 : (null == n ||606 "#" !== n.charAt(0) ||607 isNaN((u = parseInt(n.slice(1), 16))) ||608 (4 === n.length609 ? ((o = (3840 & u) >> 4),610 (o = (o >> 4) | o),611 (a = 240 & u),612 (a = (a >> 4) | a),613 (l = 15 & u),614 (l = (l << 4) | l))615 : 7 === n.length &&616 ((o = (16711680 & u) >> 16),617 (a = (65280 & u) >> 8),618 (l = 255 & u))),619 t(o, a, l));620 }621 function wn(n, t, e) {622 var r,623 i,624 u = Math.min((n /= 255), (t /= 255), (e /= 255)),625 o = Math.max(n, t, e),626 a = o - u,627 l = (o + u) / 2;628 return (629 a630 ? ((i = 0.5 > l ? a / (o + u) : a / (2 - o - u)),631 (r =632 n == o633 ? (t - e) / a + (e > t ? 6 : 0)634 : t == o635 ? (e - n) / a + 2636 : (n - t) / a + 4),637 (r *= 60))638 : ((r = NaN), (i = l > 0 && 1 > l ? 0 : r)),639 new ln(r, i, l)640 );641 }642 function Sn(n, t, e) {643 (n = kn(n)), (t = kn(t)), (e = kn(e));644 var r = dn((0.4124564 * n + 0.3575761 * t + 0.1804375 * e) / na),645 i = dn((0.2126729 * n + 0.7151522 * t + 0.072175 * e) / ta),646 u = dn((0.0193339 * n + 0.119192 * t + 0.9503041 * e) / ea);647 return hn(116 * i - 16, 500 * (r - i), 200 * (i - u));648 }649 function kn(n) {650 return (n /= 255) <= 0.04045651 ? n / 12.92652 : Math.pow((n + 0.055) / 1.055, 2.4);653 }654 function Nn(n) {655 var t = parseFloat(n);656 return "%" === n.charAt(n.length - 1) ? Math.round(2.55 * t) : t;657 }658 function En(n) {659 return "function" == typeof n660 ? n661 : function () {662 return n;663 };664 }665 function An(n) {666 return function (t, e, r) {667 return (668 2 === arguments.length &&669 "function" == typeof e &&670 ((r = e), (e = null)),671 Cn(t, e, n, r)672 );673 };674 }675 function Cn(n, t, e, r) {676 function i() {677 var n,678 t = l.status;679 if ((!t && Ln(l)) || (t >= 200 && 300 > t) || 304 === t) {680 try {681 n = e.call(u, l);682 } catch (r) {683 return void o.error.call(u, r);684 }685 o.load.call(u, n);686 } else o.error.call(u, l);687 }688 var u = {},689 o = ao.dispatch("beforesend", "progress", "load", "error"),690 a = {},691 l = new XMLHttpRequest(),692 c = null;693 return (694 !this.XDomainRequest ||695 "withCredentials" in l ||696 !/^(http(s)?:)?\/\//.test(n) ||697 (l = new XDomainRequest()),698 "onload" in l699 ? (l.onload = l.onerror = i)700 : (l.onreadystatechange = function () {701 l.readyState > 3 && i();702 }),703 (l.onprogress = function (n) {704 var t = ao.event;705 ao.event = n;706 try {707 o.progress.call(u, l);708 } finally {709 ao.event = t;710 }711 }),712 (u.header = function (n, t) {713 return (714 (n = (n + "").toLowerCase()),715 arguments.length < 2716 ? a[n]717 : (null == t ? delete a[n] : (a[n] = t + ""), u)718 );719 }),720 (u.mimeType = function (n) {721 return arguments.length ? ((t = null == n ? null : n + ""), u) : t;722 }),723 (u.responseType = function (n) {724 return arguments.length ? ((c = n), u) : c;725 }),726 (u.response = function (n) {727 return (e = n), u;728 }),729 ["get", "post"].forEach(function (n) {730 u[n] = function () {731 return u.send.apply(u, [n].concat(co(arguments)));732 };733 }),734 (u.send = function (e, r, i) {735 if (736 (2 === arguments.length &&737 "function" == typeof r &&738 ((i = r), (r = null)),739 l.open(e, n, !0),740 null == t || "accept" in a || (a.accept = t + ",*/*"),741 l.setRequestHeader)742 )743 for (var f in a) l.setRequestHeader(f, a[f]);744 return (745 null != t && l.overrideMimeType && l.overrideMimeType(t),746 null != c && (l.responseType = c),747 null != i &&748 u.on("error", i).on("load", function (n) {749 i(null, n);750 }),751 o.beforesend.call(u, l),752 l.send(null == r ? null : r),753 u754 );755 }),756 (u.abort = function () {757 return l.abort(), u;758 }),759 ao.rebind(u, o, "on"),760 null == r ? u : u.get(zn(r))761 );762 }763 function zn(n) {764 return 1 === n.length765 ? function (t, e) {766 n(null == t ? e : null);767 }768 : n;769 }770 function Ln(n) {771 var t = n.responseType;772 return t && "text" !== t ? n.response : n.responseText;773 }774 function qn(n, t, e) {775 var r = arguments.length;776 2 > r && (t = 0), 3 > r && (e = Date.now());777 var i = e + t,778 u = { c: n, t: i, n: null };779 return (780 aa ? (aa.n = u) : (oa = u),781 (aa = u),782 la || ((ca = clearTimeout(ca)), (la = 1), fa(Tn)),783 u784 );785 }786 function Tn() {787 var n = Rn(),788 t = Dn() - n;789 t > 24790 ? (isFinite(t) && (clearTimeout(ca), (ca = setTimeout(Tn, t))), (la = 0))791 : ((la = 1), fa(Tn));792 }793 function Rn() {794 for (var n = Date.now(), t = oa; t; )795 n >= t.t && t.c(n - t.t) && (t.c = null), (t = t.n);796 return n;797 }798 function Dn() {799 for (var n, t = oa, e = 1 / 0; t; )800 t.c801 ? (t.t < e && (e = t.t), (t = (n = t).n))802 : (t = n ? (n.n = t.n) : (oa = t.n));803 return (aa = n), e;804 }805 function Pn(n, t) {806 return t - (n ? Math.ceil(Math.log(n) / Math.LN10) : 1);807 }808 function Un(n, t) {809 var e = Math.pow(10, 3 * xo(8 - t));810 return {811 scale:812 t > 8813 ? function (n) {814 return n / e;815 }816 : function (n) {817 return n * e;818 },819 symbol: n,820 };821 }822 function jn(n) {823 var t = n.decimal,824 e = n.thousands,825 r = n.grouping,826 i = n.currency,827 u =828 r && e829 ? function (n, t) {830 for (831 var i = n.length, u = [], o = 0, a = r[0], l = 0;832 i > 0 &&833 a > 0 &&834 (l + a + 1 > t && (a = Math.max(1, t - l)),835 u.push(n.substring((i -= a), i + a)),836 !((l += a + 1) > t));837 )838 a = r[(o = (o + 1) % r.length)];839 return u.reverse().join(e);840 }841 : m;842 return function (n) {843 var e = ha.exec(n),844 r = e[1] || " ",845 o = e[2] || ">",846 a = e[3] || "-",847 l = e[4] || "",848 c = e[5],849 f = +e[6],850 s = e[7],851 h = e[8],852 p = e[9],853 g = 1,854 v = "",855 d = "",856 y = !1,857 m = !0;858 switch (859 (h && (h = +h.substring(1)),860 (c || ("0" === r && "=" === o)) && ((c = r = "0"), (o = "=")),861 p)862 ) {863 case "n":864 (s = !0), (p = "g");865 break;866 case "%":867 (g = 100), (d = "%"), (p = "f");868 break;869 case "p":870 (g = 100), (d = "%"), (p = "r");871 break;872 case "b":873 case "o":874 case "x":875 case "X":876 "#" === l && (v = "0" + p.toLowerCase());877 case "c":878 m = !1;879 case "d":880 (y = !0), (h = 0);881 break;882 case "s":883 (g = -1), (p = "r");884 }885 "$" === l && ((v = i[0]), (d = i[1])),886 "r" != p || h || (p = "g"),887 null != h &&888 ("g" == p889 ? (h = Math.max(1, Math.min(21, h)))890 : ("e" != p && "f" != p) || (h = Math.max(0, Math.min(20, h)))),891 (p = pa.get(p) || Fn);892 var M = c && s;893 return function (n) {894 var e = d;895 if (y && n % 1) return "";896 var i =897 0 > n || (0 === n && 0 > 1 / n)898 ? ((n = -n), "-")899 : "-" === a900 ? ""901 : a;902 if (0 > g) {903 var l = ao.formatPrefix(n, h);904 (n = l.scale(n)), (e = l.symbol + d);905 } else n *= g;906 n = p(n, h);907 var x,908 b,909 _ = n.lastIndexOf(".");910 if (0 > _) {911 var w = m ? n.lastIndexOf("e") : -1;912 0 > w913 ? ((x = n), (b = ""))914 : ((x = n.substring(0, w)), (b = n.substring(w)));915 } else (x = n.substring(0, _)), (b = t + n.substring(_ + 1));916 !c && s && (x = u(x, 1 / 0));917 var S = v.length + x.length + b.length + (M ? 0 : i.length),918 k = f > S ? new Array((S = f - S + 1)).join(r) : "";919 return (920 M && (x = u(k + x, k.length ? f - b.length : 1 / 0)),921 (i += v),922 (n = x + b),923 ("<" === o924 ? i + n + k925 : ">" === o926 ? k + i + n927 : "^" === o928 ? k.substring(0, (S >>= 1)) + i + n + k.substring(S)929 : i + (M ? n : k + n)) + e930 );931 };932 };933 }934 function Fn(n) {935 return n + "";936 }937 function Hn() {938 this._ = new Date(939 arguments.length > 1 ? Date.UTC.apply(this, arguments) : arguments[0]940 );941 }942 function On(n, t, e) {943 function r(t) {944 var e = n(t),945 r = u(e, 1);946 return r - t > t - e ? e : r;947 }948 function i(e) {949 return t((e = n(new va(e - 1))), 1), e;950 }951 function u(n, e) {952 return t((n = new va(+n)), e), n;953 }954 function o(n, r, u) {955 var o = i(n),956 a = [];957 if (u > 1) for (; r > o; ) e(o) % u || a.push(new Date(+o)), t(o, 1);958 else for (; r > o; ) a.push(new Date(+o)), t(o, 1);959 return a;960 }961 function a(n, t, e) {962 try {963 va = Hn;964 var r = new Hn();965 return (r._ = n), o(r, t, e);966 } finally {967 va = Date;968 }969 }970 (n.floor = n), (n.round = r), (n.ceil = i), (n.offset = u), (n.range = o);971 var l = (n.utc = In(n));972 return (973 (l.floor = l),974 (l.round = In(r)),975 (l.ceil = In(i)),976 (l.offset = In(u)),977 (l.range = a),978 n979 );980 }981 function In(n) {982 return function (t, e) {983 try {984 va = Hn;985 var r = new Hn();986 return (r._ = t), n(r, e)._;987 } finally {988 va = Date;989 }990 };991 }992 function Yn(n) {993 function t(n) {994 function t(t) {995 for (var e, i, u, o = [], a = -1, l = 0; ++a < r; )996 37 === n.charCodeAt(a) &&997 (o.push(n.slice(l, a)),998 null != (i = ya[(e = n.charAt(++a))]) && (e = n.charAt(++a)),999 (u = A[e]) && (e = u(t, null == i ? ("e" === e ? " " : "0") : i)),1000 o.push(e),1001 (l = a + 1));1002 return o.push(n.slice(l, a)), o.join("");1003 }1004 var r = n.length;1005 return (1006 (t.parse = function (t) {1007 var r = { y: 1900, m: 0, d: 1, H: 0, M: 0, S: 0, L: 0, Z: null },1008 i = e(r, n, t, 0);1009 if (i != t.length) return null;1010 "p" in r && (r.H = (r.H % 12) + 12 * r.p);1011 var u = null != r.Z && va !== Hn,1012 o = new (u ? Hn : va)();1013 return (1014 "j" in r1015 ? o.setFullYear(r.y, 0, r.j)1016 : "W" in r || "U" in r1017 ? ("w" in r || (r.w = "W" in r ? 1 : 0),1018 o.setFullYear(r.y, 0, 1),1019 o.setFullYear(1020 r.y,1021 0,1022 "W" in r1023 ? ((r.w + 6) % 7) + 7 * r.W - ((o.getDay() + 5) % 7)1024 : r.w + 7 * r.U - ((o.getDay() + 6) % 7)1025 ))1026 : o.setFullYear(r.y, r.m, r.d),1027 o.setHours(r.H + ((r.Z / 100) | 0), r.M + (r.Z % 100), r.S, r.L),1028 u ? o._ : o1029 );1030 }),1031 (t.toString = function () {1032 return n;1033 }),1034 t1035 );1036 }1037 function e(n, t, e, r) {1038 for (var i, u, o, a = 0, l = t.length, c = e.length; l > a; ) {1039 if (r >= c) return -1;1040 if (((i = t.charCodeAt(a++)), 37 === i)) {1041 if (1042 ((o = t.charAt(a++)),1043 (u = C[o in ya ? t.charAt(a++) : o]),1044 !u || (r = u(n, e, r)) < 0)1045 )1046 return -1;1047 } else if (i != e.charCodeAt(r++)) return -1;1048 }1049 return r;1050 }1051 function r(n, t, e) {1052 _.lastIndex = 0;1053 var r = _.exec(t.slice(e));1054 return r ? ((n.w = w.get(r[0].toLowerCase())), e + r[0].length) : -1;1055 }1056 function i(n, t, e) {1057 x.lastIndex = 0;1058 var r = x.exec(t.slice(e));1059 return r ? ((n.w = b.get(r[0].toLowerCase())), e + r[0].length) : -1;1060 }1061 function u(n, t, e) {1062 N.lastIndex = 0;1063 var r = N.exec(t.slice(e));1064 return r ? ((n.m = E.get(r[0].toLowerCase())), e + r[0].length) : -1;1065 }1066 function o(n, t, e) {1067 S.lastIndex = 0;1068 var r = S.exec(t.slice(e));1069 return r ? ((n.m = k.get(r[0].toLowerCase())), e + r[0].length) : -1;1070 }1071 function a(n, t, r) {1072 return e(n, A.c.toString(), t, r);1073 }1074 function l(n, t, r) {1075 return e(n, A.x.toString(), t, r);1076 }1077 function c(n, t, r) {1078 return e(n, A.X.toString(), t, r);1079 }1080 function f(n, t, e) {1081 var r = M.get(t.slice(e, (e += 2)).toLowerCase());1082 return null == r ? -1 : ((n.p = r), e);1083 }1084 var s = n.dateTime,1085 h = n.date,1086 p = n.time,1087 g = n.periods,1088 v = n.days,1089 d = n.shortDays,1090 y = n.months,1091 m = n.shortMonths;1092 (t.utc = function (n) {1093 function e(n) {1094 try {1095 va = Hn;1096 var t = new va();1097 return (t._ = n), r(t);1098 } finally {1099 va = Date;1100 }1101 }1102 var r = t(n);1103 return (1104 (e.parse = function (n) {1105 try {1106 va = Hn;1107 var t = r.parse(n);1108 return t && t._;1109 } finally {1110 va = Date;1111 }1112 }),1113 (e.toString = r.toString),1114 e1115 );1116 }),1117 (t.multi = t.utc.multi = ct);1118 var M = ao.map(),1119 x = Vn(v),1120 b = Xn(v),1121 _ = Vn(d),1122 w = Xn(d),1123 S = Vn(y),1124 k = Xn(y),1125 N = Vn(m),1126 E = Xn(m);1127 g.forEach(function (n, t) {1128 M.set(n.toLowerCase(), t);1129 });1130 var A = {1131 a: function (n) {1132 return d[n.getDay()];1133 },1134 A: function (n) {1135 return v[n.getDay()];1136 },1137 b: function (n) {1138 return m[n.getMonth()];1139 },1140 B: function (n) {1141 return y[n.getMonth()];1142 },1143 c: t(s),1144 d: function (n, t) {1145 return Zn(n.getDate(), t, 2);1146 },1147 e: function (n, t) {1148 return Zn(n.getDate(), t, 2);1149 },1150 H: function (n, t) {1151 return Zn(n.getHours(), t, 2);1152 },1153 I: function (n, t) {1154 return Zn(n.getHours() % 12 || 12, t, 2);1155 },1156 j: function (n, t) {1157 return Zn(1 + ga.dayOfYear(n), t, 3);1158 },1159 L: function (n, t) {1160 return Zn(n.getMilliseconds(), t, 3);1161 },1162 m: function (n, t) {1163 return Zn(n.getMonth() + 1, t, 2);1164 },1165 M: function (n, t) {1166 return Zn(n.getMinutes(), t, 2);1167 },1168 p: function (n) {1169 return g[+(n.getHours() >= 12)];1170 },1171 S: function (n, t) {1172 return Zn(n.getSeconds(), t, 2);1173 },1174 U: function (n, t) {1175 return Zn(ga.sundayOfYear(n), t, 2);1176 },1177 w: function (n) {1178 return n.getDay();1179 },1180 W: function (n, t) {1181 return Zn(ga.mondayOfYear(n), t, 2);1182 },1183 x: t(h),1184 X: t(p),1185 y: function (n, t) {1186 return Zn(n.getFullYear() % 100, t, 2);1187 },1188 Y: function (n, t) {1189 return Zn(n.getFullYear() % 1e4, t, 4);1190 },1191 Z: at,1192 "%": function () {1193 return "%";1194 },1195 },1196 C = {1197 a: r,1198 A: i,1199 b: u,1200 B: o,1201 c: a,1202 d: tt,1203 e: tt,1204 H: rt,1205 I: rt,1206 j: et,1207 L: ot,1208 m: nt,1209 M: it,1210 p: f,1211 S: ut,1212 U: Bn,1213 w: $n,1214 W: Wn,1215 x: l,1216 X: c,1217 y: Gn,1218 Y: Jn,1219 Z: Kn,1220 "%": lt,1221 };1222 return t;1223 }1224 function Zn(n, t, e) {1225 var r = 0 > n ? "-" : "",1226 i = (r ? -n : n) + "",1227 u = i.length;1228 return r + (e > u ? new Array(e - u + 1).join(t) + i : i);1229 }1230 function Vn(n) {1231 return new RegExp("^(?:" + n.map(ao.requote).join("|") + ")", "i");1232 }1233 function Xn(n) {1234 for (var t = new c(), e = -1, r = n.length; ++e < r; )1235 t.set(n[e].toLowerCase(), e);1236 return t;1237 }1238 function $n(n, t, e) {1239 ma.lastIndex = 0;1240 var r = ma.exec(t.slice(e, e + 1));1241 return r ? ((n.w = +r[0]), e + r[0].length) : -1;1242 }1243 function Bn(n, t, e) {1244 ma.lastIndex = 0;1245 var r = ma.exec(t.slice(e));1246 return r ? ((n.U = +r[0]), e + r[0].length) : -1;1247 }1248 function Wn(n, t, e) {1249 ma.lastIndex = 0;1250 var r = ma.exec(t.slice(e));1251 return r ? ((n.W = +r[0]), e + r[0].length) : -1;1252 }1253 function Jn(n, t, e) {1254 ma.lastIndex = 0;1255 var r = ma.exec(t.slice(e, e + 4));1256 return r ? ((n.y = +r[0]), e + r[0].length) : -1;1257 }1258 function Gn(n, t, e) {1259 ma.lastIndex = 0;1260 var r = ma.exec(t.slice(e, e + 2));1261 return r ? ((n.y = Qn(+r[0])), e + r[0].length) : -1;1262 }1263 function Kn(n, t, e) {1264 return /^[+-]\d{4}$/.test((t = t.slice(e, e + 5)))1265 ? ((n.Z = -t), e + 5)1266 : -1;1267 }1268 function Qn(n) {1269 return n + (n > 68 ? 1900 : 2e3);1270 }1271 function nt(n, t, e) {1272 ma.lastIndex = 0;1273 var r = ma.exec(t.slice(e, e + 2));1274 return r ? ((n.m = r[0] - 1), e + r[0].length) : -1;1275 }1276 function tt(n, t, e) {1277 ma.lastIndex = 0;1278 var r = ma.exec(t.slice(e, e + 2));1279 return r ? ((n.d = +r[0]), e + r[0].length) : -1;1280 }1281 function et(n, t, e) {1282 ma.lastIndex = 0;1283 var r = ma.exec(t.slice(e, e + 3));1284 return r ? ((n.j = +r[0]), e + r[0].length) : -1;1285 }1286 function rt(n, t, e) {1287 ma.lastIndex = 0;1288 var r = ma.exec(t.slice(e, e + 2));1289 return r ? ((n.H = +r[0]), e + r[0].length) : -1;1290 }1291 function it(n, t, e) {1292 ma.lastIndex = 0;1293 var r = ma.exec(t.slice(e, e + 2));1294 return r ? ((n.M = +r[0]), e + r[0].length) : -1;1295 }1296 function ut(n, t, e) {1297 ma.lastIndex = 0;1298 var r = ma.exec(t.slice(e, e + 2));1299 return r ? ((n.S = +r[0]), e + r[0].length) : -1;1300 }1301 function ot(n, t, e) {1302 ma.lastIndex = 0;1303 var r = ma.exec(t.slice(e, e + 3));1304 return r ? ((n.L = +r[0]), e + r[0].length) : -1;1305 }1306 function at(n) {1307 var t = n.getTimezoneOffset(),1308 e = t > 0 ? "-" : "+",1309 r = (xo(t) / 60) | 0,1310 i = xo(t) % 60;1311 return e + Zn(r, "0", 2) + Zn(i, "0", 2);1312 }1313 function lt(n, t, e) {1314 Ma.lastIndex = 0;1315 var r = Ma.exec(t.slice(e, e + 1));1316 return r ? e + r[0].length : -1;1317 }1318 function ct(n) {1319 for (var t = n.length, e = -1; ++e < t; ) n[e][0] = this(n[e][0]);1320 return function (t) {1321 for (var e = 0, r = n[e]; !r[1](t); ) r = n[++e];1322 return r[0](t);1323 };1324 }1325 function ft() {}1326 function st(n, t, e) {1327 var r = (e.s = n + t),1328 i = r - n,1329 u = r - i;1330 e.t = n - u + (t - i);1331 }1332 function ht(n, t) {1333 n && wa.hasOwnProperty(n.type) && wa[n.type](n, t);1334 }1335 function pt(n, t, e) {1336 var r,1337 i = -1,1338 u = n.length - e;1339 for (t.lineStart(); ++i < u; ) (r = n[i]), t.point(r[0], r[1], r[2]);1340 t.lineEnd();1341 }1342 function gt(n, t) {1343 var e = -1,1344 r = n.length;1345 for (t.polygonStart(); ++e < r; ) pt(n[e], t, 1);1346 t.polygonEnd();1347 }1348 function vt() {1349 function n(n, t) {1350 (n *= Yo), (t = (t * Yo) / 2 + Fo / 4);1351 var e = n - r,1352 o = e >= 0 ? 1 : -1,1353 a = o * e,1354 l = Math.cos(t),1355 c = Math.sin(t),1356 f = u * c,1357 s = i * l + f * Math.cos(a),1358 h = f * o * Math.sin(a);1359 ka.add(Math.atan2(h, s)), (r = n), (i = l), (u = c);1360 }1361 var t, e, r, i, u;1362 (Na.point = function (o, a) {1363 (Na.point = n),1364 (r = (t = o) * Yo),1365 (i = Math.cos((a = ((e = a) * Yo) / 2 + Fo / 4))),1366 (u = Math.sin(a));1367 }),1368 (Na.lineEnd = function () {1369 n(t, e);1370 });1371 }1372 function dt(n) {1373 var t = n[0],1374 e = n[1],1375 r = Math.cos(e);1376 return [r * Math.cos(t), r * Math.sin(t), Math.sin(e)];1377 }1378 function yt(n, t) {1379 return n[0] * t[0] + n[1] * t[1] + n[2] * t[2];1380 }1381 function mt(n, t) {1382 return [1383 n[1] * t[2] - n[2] * t[1],1384 n[2] * t[0] - n[0] * t[2],1385 n[0] * t[1] - n[1] * t[0],1386 ];1387 }1388 function Mt(n, t) {1389 (n[0] += t[0]), (n[1] += t[1]), (n[2] += t[2]);1390 }1391 function xt(n, t) {1392 return [n[0] * t, n[1] * t, n[2] * t];1393 }1394 function bt(n) {1395 var t = Math.sqrt(n[0] * n[0] + n[1] * n[1] + n[2] * n[2]);1396 (n[0] /= t), (n[1] /= t), (n[2] /= t);1397 }1398 function _t(n) {1399 return [Math.atan2(n[1], n[0]), tn(n[2])];1400 }1401 function wt(n, t) {1402 return xo(n[0] - t[0]) < Uo && xo(n[1] - t[1]) < Uo;1403 }1404 function St(n, t) {1405 n *= Yo;1406 var e = Math.cos((t *= Yo));1407 kt(e * Math.cos(n), e * Math.sin(n), Math.sin(t));1408 }1409 function kt(n, t, e) {1410 ++Ea, (Ca += (n - Ca) / Ea), (za += (t - za) / Ea), (La += (e - La) / Ea);1411 }1412 function Nt() {1413 function n(n, i) {1414 n *= Yo;1415 var u = Math.cos((i *= Yo)),1416 o = u * Math.cos(n),1417 a = u * Math.sin(n),1418 l = Math.sin(i),1419 c = Math.atan2(1420 Math.sqrt(1421 (c = e * l - r * a) * c +1422 (c = r * o - t * l) * c +1423 (c = t * a - e * o) * c1424 ),1425 t * o + e * a + r * l1426 );1427 (Aa += c),1428 (qa += c * (t + (t = o))),1429 (Ta += c * (e + (e = a))),1430 (Ra += c * (r + (r = l))),1431 kt(t, e, r);1432 }1433 var t, e, r;1434 ja.point = function (i, u) {1435 i *= Yo;1436 var o = Math.cos((u *= Yo));1437 (t = o * Math.cos(i)),1438 (e = o * Math.sin(i)),1439 (r = Math.sin(u)),1440 (ja.point = n),1441 kt(t, e, r);1442 };1443 }1444 function Et() {1445 ja.point = St;1446 }1447 function At() {1448 function n(n, t) {1449 n *= Yo;1450 var e = Math.cos((t *= Yo)),1451 o = e * Math.cos(n),1452 a = e * Math.sin(n),1453 l = Math.sin(t),1454 c = i * l - u * a,1455 f = u * o - r * l,1456 s = r * a - i * o,1457 h = Math.sqrt(c * c + f * f + s * s),1458 p = r * o + i * a + u * l,1459 g = h && -nn(p) / h,1460 v = Math.atan2(h, p);1461 (Da += g * c),1462 (Pa += g * f),1463 (Ua += g * s),1464 (Aa += v),1465 (qa += v * (r + (r = o))),1466 (Ta += v * (i + (i = a))),1467 (Ra += v * (u + (u = l))),1468 kt(r, i, u);1469 }1470 var t, e, r, i, u;1471 (ja.point = function (o, a) {1472 (t = o), (e = a), (ja.point = n), (o *= Yo);1473 var l = Math.cos((a *= Yo));1474 (r = l * Math.cos(o)),1475 (i = l * Math.sin(o)),1476 (u = Math.sin(a)),1477 kt(r, i, u);1478 }),1479 (ja.lineEnd = function () {1480 n(t, e), (ja.lineEnd = Et), (ja.point = St);1481 });1482 }1483 function Ct(n, t) {1484 function e(e, r) {1485 return (e = n(e, r)), t(e[0], e[1]);1486 }1487 return (1488 n.invert &&1489 t.invert &&1490 (e.invert = function (e, r) {1491 return (e = t.invert(e, r)), e && n.invert(e[0], e[1]);1492 }),1493 e1494 );1495 }1496 function zt() {1497 return !0;1498 }1499 function Lt(n, t, e, r, i) {1500 var u = [],1501 o = [];1502 if (1503 (n.forEach(function (n) {1504 if (!((t = n.length - 1) <= 0)) {1505 var t,1506 e = n[0],1507 r = n[t];1508 if (wt(e, r)) {1509 i.lineStart();1510 for (var a = 0; t > a; ++a) i.point((e = n[a])[0], e[1]);1511 return void i.lineEnd();1512 }1513 var l = new Tt(e, n, null, !0),1514 c = new Tt(e, null, l, !1);1515 (l.o = c),1516 u.push(l),1517 o.push(c),1518 (l = new Tt(r, n, null, !1)),1519 (c = new Tt(r, null, l, !0)),1520 (l.o = c),1521 u.push(l),1522 o.push(c);1523 }1524 }),1525 o.sort(t),1526 qt(u),1527 qt(o),1528 u.length)1529 ) {1530 for (var a = 0, l = e, c = o.length; c > a; ++a) o[a].e = l = !l;1531 for (var f, s, h = u[0]; ; ) {1532 for (var p = h, g = !0; p.v; ) if ((p = p.n) === h) return;1533 (f = p.z), i.lineStart();1534 do {1535 if (((p.v = p.o.v = !0), p.e)) {1536 if (g)1537 for (var a = 0, c = f.length; c > a; ++a)1538 i.point((s = f[a])[0], s[1]);1539 else r(p.x, p.n.x, 1, i);1540 p = p.n;1541 } else {1542 if (g) {1543 f = p.p.z;1544 for (var a = f.length - 1; a >= 0; --a)1545 i.point((s = f[a])[0], s[1]);1546 } else r(p.x, p.p.x, -1, i);1547 p = p.p;1548 }1549 (p = p.o), (f = p.z), (g = !g);1550 } while (!p.v);1551 i.lineEnd();1552 }1553 }1554 }1555 function qt(n) {1556 if ((t = n.length)) {1557 for (var t, e, r = 0, i = n[0]; ++r < t; )1558 (i.n = e = n[r]), (e.p = i), (i = e);1559 (i.n = e = n[0]), (e.p = i);1560 }1561 }1562 function Tt(n, t, e, r) {1563 (this.x = n),1564 (this.z = t),1565 (this.o = e),1566 (this.e = r),1567 (this.v = !1),1568 (this.n = this.p = null);1569 }1570 function Rt(n, t, e, r) {1571 return function (i, u) {1572 function o(t, e) {1573 var r = i(t, e);1574 n((t = r[0]), (e = r[1])) && u.point(t, e);1575 }1576 function a(n, t) {1577 var e = i(n, t);1578 d.point(e[0], e[1]);1579 }1580 function l() {1581 (m.point = a), d.lineStart();1582 }1583 function c() {1584 (m.point = o), d.lineEnd();1585 }1586 function f(n, t) {1587 v.push([n, t]);1588 var e = i(n, t);1589 x.point(e[0], e[1]);1590 }1591 function s() {1592 x.lineStart(), (v = []);1593 }1594 function h() {1595 f(v[0][0], v[0][1]), x.lineEnd();1596 var n,1597 t = x.clean(),1598 e = M.buffer(),1599 r = e.length;1600 if ((v.pop(), g.push(v), (v = null), r))1601 if (1 & t) {1602 n = e[0];1603 var i,1604 r = n.length - 1,1605 o = -1;1606 if (r > 0) {1607 for (b || (u.polygonStart(), (b = !0)), u.lineStart(); ++o < r; )1608 u.point((i = n[o])[0], i[1]);1609 u.lineEnd();1610 }1611 } else1612 r > 1 && 2 & t && e.push(e.pop().concat(e.shift())),1613 p.push(e.filter(Dt));1614 }1615 var p,1616 g,1617 v,1618 d = t(u),1619 y = i.invert(r[0], r[1]),1620 m = {1621 point: o,1622 lineStart: l,1623 lineEnd: c,1624 polygonStart: function () {1625 (m.point = f),1626 (m.lineStart = s),1627 (m.lineEnd = h),1628 (p = []),1629 (g = []);1630 },1631 polygonEnd: function () {1632 (m.point = o),1633 (m.lineStart = l),1634 (m.lineEnd = c),1635 (p = ao.merge(p));1636 var n = Ot(y, g);1637 p.length1638 ? (b || (u.polygonStart(), (b = !0)), Lt(p, Ut, n, e, u))1639 : n &&1640 (b || (u.polygonStart(), (b = !0)),1641 u.lineStart(),1642 e(null, null, 1, u),1643 u.lineEnd()),1644 b && (u.polygonEnd(), (b = !1)),1645 (p = g = null);1646 },1647 sphere: function () {1648 u.polygonStart(),1649 u.lineStart(),1650 e(null, null, 1, u),1651 u.lineEnd(),1652 u.polygonEnd();1653 },1654 },1655 M = Pt(),1656 x = t(M),1657 b = !1;1658 return m;1659 };1660 }1661 function Dt(n) {1662 return n.length > 1;1663 }1664 function Pt() {1665 var n,1666 t = [];1667 return {1668 lineStart: function () {1669 t.push((n = []));1670 },1671 point: function (t, e) {1672 n.push([t, e]);1673 },1674 lineEnd: b,1675 buffer: function () {1676 var e = t;1677 return (t = []), (n = null), e;1678 },1679 rejoin: function () {1680 t.length > 1 && t.push(t.pop().concat(t.shift()));1681 },1682 };1683 }1684 function Ut(n, t) {1685 return (1686 ((n = n.x)[0] < 0 ? n[1] - Io - Uo : Io - n[1]) -1687 ((t = t.x)[0] < 0 ? t[1] - Io - Uo : Io - t[1])1688 );1689 }1690 function jt(n) {1691 var t,1692 e = NaN,1693 r = NaN,1694 i = NaN;1695 return {1696 lineStart: function () {1697 n.lineStart(), (t = 1);1698 },1699 point: function (u, o) {1700 var a = u > 0 ? Fo : -Fo,1701 l = xo(u - e);1702 xo(l - Fo) < Uo1703 ? (n.point(e, (r = (r + o) / 2 > 0 ? Io : -Io)),1704 n.point(i, r),1705 n.lineEnd(),1706 n.lineStart(),1707 n.point(a, r),1708 n.point(u, r),1709 (t = 0))1710 : i !== a &&1711 l >= Fo &&1712 (xo(e - i) < Uo && (e -= i * Uo),1713 xo(u - a) < Uo && (u -= a * Uo),1714 (r = Ft(e, r, u, o)),1715 n.point(i, r),1716 n.lineEnd(),1717 n.lineStart(),1718 n.point(a, r),1719 (t = 0)),1720 n.point((e = u), (r = o)),1721 (i = a);1722 },1723 lineEnd: function () {1724 n.lineEnd(), (e = r = NaN);1725 },1726 clean: function () {1727 return 2 - t;1728 },1729 };1730 }1731 function Ft(n, t, e, r) {1732 var i,1733 u,1734 o = Math.sin(n - e);1735 return xo(o) > Uo1736 ? Math.atan(1737 (Math.sin(t) * (u = Math.cos(r)) * Math.sin(e) -1738 Math.sin(r) * (i = Math.cos(t)) * Math.sin(n)) /1739 (i * u * o)1740 )1741 : (t + r) / 2;1742 }1743 function Ht(n, t, e, r) {1744 var i;1745 if (null == n)1746 (i = e * Io),1747 r.point(-Fo, i),1748 r.point(0, i),1749 r.point(Fo, i),1750 r.point(Fo, 0),1751 r.point(Fo, -i),1752 r.point(0, -i),1753 r.point(-Fo, -i),1754 r.point(-Fo, 0),1755 r.point(-Fo, i);1756 else if (xo(n[0] - t[0]) > Uo) {1757 var u = n[0] < t[0] ? Fo : -Fo;1758 (i = (e * u) / 2), r.point(-u, i), r.point(0, i), r.point(u, i);1759 } else r.point(t[0], t[1]);1760 }1761 function Ot(n, t) {1762 var e = n[0],1763 r = n[1],1764 i = [Math.sin(e), -Math.cos(e), 0],1765 u = 0,1766 o = 0;1767 ka.reset();1768 for (var a = 0, l = t.length; l > a; ++a) {1769 var c = t[a],1770 f = c.length;1771 if (f)1772 for (1773 var s = c[0],1774 h = s[0],1775 p = s[1] / 2 + Fo / 4,1776 g = Math.sin(p),1777 v = Math.cos(p),1778 d = 1;1779 ;1780 ) {1781 d === f && (d = 0), (n = c[d]);1782 var y = n[0],1783 m = n[1] / 2 + Fo / 4,1784 M = Math.sin(m),1785 x = Math.cos(m),1786 b = y - h,1787 _ = b >= 0 ? 1 : -1,1788 w = _ * b,1789 S = w > Fo,1790 k = g * M;1791 if (1792 (ka.add(Math.atan2(k * _ * Math.sin(w), v * x + k * Math.cos(w))),1793 (u += S ? b + _ * Ho : b),1794 S ^ (h >= e) ^ (y >= e))1795 ) {1796 var N = mt(dt(s), dt(n));1797 bt(N);1798 var E = mt(i, N);1799 bt(E);1800 var A = (S ^ (b >= 0) ? -1 : 1) * tn(E[2]);1801 (r > A || (r === A && (N[0] || N[1]))) &&1802 (o += S ^ (b >= 0) ? 1 : -1);1803 }1804 if (!d++) break;1805 (h = y), (g = M), (v = x), (s = n);1806 }1807 }1808 return (-Uo > u || (Uo > u && -Uo > ka)) ^ (1 & o);1809 }1810 function It(n) {1811 function t(n, t) {1812 return Math.cos(n) * Math.cos(t) > u;1813 }1814 function e(n) {1815 var e, u, l, c, f;1816 return {1817 lineStart: function () {1818 (c = l = !1), (f = 1);1819 },1820 point: function (s, h) {1821 var p,1822 g = [s, h],1823 v = t(s, h),1824 d = o ? (v ? 0 : i(s, h)) : v ? i(s + (0 > s ? Fo : -Fo), h) : 0;1825 if (1826 (!e && (c = l = v) && n.lineStart(),1827 v !== l &&1828 ((p = r(e, g)),1829 (wt(e, p) || wt(g, p)) &&1830 ((g[0] += Uo), (g[1] += Uo), (v = t(g[0], g[1])))),1831 v !== l)1832 )1833 (f = 0),1834 v1835 ? (n.lineStart(), (p = r(g, e)), n.point(p[0], p[1]))1836 : ((p = r(e, g)), n.point(p[0], p[1]), n.lineEnd()),1837 (e = p);1838 else if (a && e && o ^ v) {1839 var y;1840 d & u ||1841 !(y = r(g, e, !0)) ||1842 ((f = 0),1843 o1844 ? (n.lineStart(),1845 n.point(y[0][0], y[0][1]),1846 n.point(y[1][0], y[1][1]),1847 n.lineEnd())1848 : (n.point(y[1][0], y[1][1]),1849 n.lineEnd(),1850 n.lineStart(),1851 n.point(y[0][0], y[0][1])));1852 }1853 !v || (e && wt(e, g)) || n.point(g[0], g[1]),1854 (e = g),1855 (l = v),1856 (u = d);1857 },1858 lineEnd: function () {1859 l && n.lineEnd(), (e = null);1860 },1861 clean: function () {1862 return f | ((c && l) << 1);1863 },1864 };1865 }1866 function r(n, t, e) {1867 var r = dt(n),1868 i = dt(t),1869 o = [1, 0, 0],1870 a = mt(r, i),1871 l = yt(a, a),1872 c = a[0],1873 f = l - c * c;1874 if (!f) return !e && n;1875 var s = (u * l) / f,1876 h = (-u * c) / f,1877 p = mt(o, a),1878 g = xt(o, s),1879 v = xt(a, h);1880 Mt(g, v);1881 var d = p,1882 y = yt(g, d),1883 m = yt(d, d),1884 M = y * y - m * (yt(g, g) - 1);1885 if (!(0 > M)) {1886 var x = Math.sqrt(M),1887 b = xt(d, (-y - x) / m);1888 if ((Mt(b, g), (b = _t(b)), !e)) return b;1889 var _,1890 w = n[0],1891 S = t[0],1892 k = n[1],1893 N = t[1];1894 w > S && ((_ = w), (w = S), (S = _));1895 var E = S - w,1896 A = xo(E - Fo) < Uo,1897 C = A || Uo > E;1898 if (1899 (!A && k > N && ((_ = k), (k = N), (N = _)),1900 C1901 ? A1902 ? (k + N > 0) ^ (b[1] < (xo(b[0] - w) < Uo ? k : N))1903 : k <= b[1] && b[1] <= N1904 : (E > Fo) ^ (w <= b[0] && b[0] <= S))1905 ) {1906 var z = xt(d, (-y + x) / m);1907 return Mt(z, g), [b, _t(z)];1908 }1909 }1910 }1911 function i(t, e) {1912 var r = o ? n : Fo - n,1913 i = 0;1914 return (1915 -r > t ? (i |= 1) : t > r && (i |= 2),1916 -r > e ? (i |= 4) : e > r && (i |= 8),1917 i1918 );1919 }1920 var u = Math.cos(n),1921 o = u > 0,1922 a = xo(u) > Uo,1923 l = ve(n, 6 * Yo);1924 return Rt(t, e, l, o ? [0, -n] : [-Fo, n - Fo]);1925 }1926 function Yt(n, t, e, r) {1927 return function (i) {1928 var u,1929 o = i.a,1930 a = i.b,1931 l = o.x,1932 c = o.y,1933 f = a.x,1934 s = a.y,1935 h = 0,1936 p = 1,1937 g = f - l,1938 v = s - c;1939 if (((u = n - l), g || !(u > 0))) {1940 if (((u /= g), 0 > g)) {1941 if (h > u) return;1942 p > u && (p = u);1943 } else if (g > 0) {1944 if (u > p) return;1945 u > h && (h = u);1946 }1947 if (((u = e - l), g || !(0 > u))) {1948 if (((u /= g), 0 > g)) {1949 if (u > p) return;1950 u > h && (h = u);1951 } else if (g > 0) {1952 if (h > u) return;1953 p > u && (p = u);1954 }1955 if (((u = t - c), v || !(u > 0))) {1956 if (((u /= v), 0 > v)) {1957 if (h > u) return;1958 p > u && (p = u);1959 } else if (v > 0) {1960 if (u > p) return;1961 u > h && (h = u);1962 }1963 if (((u = r - c), v || !(0 > u))) {1964 if (((u /= v), 0 > v)) {1965 if (u > p) return;1966 u > h && (h = u);1967 } else if (v > 0) {1968 if (h > u) return;1969 p > u && (p = u);1970 }1971 return (1972 h > 0 && (i.a = { x: l + h * g, y: c + h * v }),1973 1 > p && (i.b = { x: l + p * g, y: c + p * v }),1974 i1975 );1976 }1977 }1978 }1979 }1980 };1981 }1982 function Zt(n, t, e, r) {1983 function i(r, i) {1984 return xo(r[0] - n) < Uo1985 ? i > 01986 ? 01987 : 31988 : xo(r[0] - e) < Uo1989 ? i > 01990 ? 21991 : 11992 : xo(r[1] - t) < Uo1993 ? i > 01994 ? 11995 : 01996 : i > 01997 ? 31998 : 2;1999 }2000 function u(n, t) {2001 return o(n.x, t.x);2002 }2003 function o(n, t) {2004 var e = i(n, 1),2005 r = i(t, 1);2006 return e !== r2007 ? e - r2008 : 0 === e2009 ? t[1] - n[1]2010 : 1 === e2011 ? n[0] - t[0]2012 : 2 === e2013 ? n[1] - t[1]2014 : t[0] - n[0];2015 }2016 return function (a) {2017 function l(n) {2018 for (var t = 0, e = d.length, r = n[1], i = 0; e > i; ++i)2019 for (var u, o = 1, a = d[i], l = a.length, c = a[0]; l > o; ++o)2020 (u = a[o]),2021 c[1] <= r2022 ? u[1] > r && Q(c, u, n) > 0 && ++t2023 : u[1] <= r && Q(c, u, n) < 0 && --t,2024 (c = u);2025 return 0 !== t;2026 }2027 function c(u, a, l, c) {2028 var f = 0,2029 s = 0;2030 if (2031 null == u ||2032 (f = i(u, l)) !== (s = i(a, l)) ||2033 (o(u, a) < 0) ^ (l > 0)2034 ) {2035 do c.point(0 === f || 3 === f ? n : e, f > 1 ? r : t);2036 while ((f = (f + l + 4) % 4) !== s);2037 } else c.point(a[0], a[1]);2038 }2039 function f(i, u) {2040 return i >= n && e >= i && u >= t && r >= u;2041 }2042 function s(n, t) {2043 f(n, t) && a.point(n, t);2044 }2045 function h() {2046 (C.point = g), d && d.push((y = [])), (S = !0), (w = !1), (b = _ = NaN);2047 }2048 function p() {2049 v && (g(m, M), x && w && E.rejoin(), v.push(E.buffer())),2050 (C.point = s),2051 w && a.lineEnd();2052 }2053 function g(n, t) {2054 (n = Math.max(-Ha, Math.min(Ha, n))),2055 (t = Math.max(-Ha, Math.min(Ha, t)));2056 var e = f(n, t);2057 if ((d && y.push([n, t]), S))2058 (m = n),2059 (M = t),2060 (x = e),2061 (S = !1),2062 e && (a.lineStart(), a.point(n, t));2063 else if (e && w) a.point(n, t);2064 else {2065 var r = { a: { x: b, y: _ }, b: { x: n, y: t } };2066 A(r)2067 ? (w || (a.lineStart(), a.point(r.a.x, r.a.y)),2068 a.point(r.b.x, r.b.y),2069 e || a.lineEnd(),2070 (k = !1))2071 : e && (a.lineStart(), a.point(n, t), (k = !1));2072 }2073 (b = n), (_ = t), (w = e);2074 }2075 var v,2076 d,2077 y,2078 m,2079 M,2080 x,2081 b,2082 _,2083 w,2084 S,2085 k,2086 N = a,2087 E = Pt(),2088 A = Yt(n, t, e, r),2089 C = {2090 point: s,2091 lineStart: h,2092 lineEnd: p,2093 polygonStart: function () {2094 (a = E), (v = []), (d = []), (k = !0);2095 },2096 polygonEnd: function () {2097 (a = N), (v = ao.merge(v));2098 var t = l([n, r]),2099 e = k && t,2100 i = v.length;2101 (e || i) &&2102 (a.polygonStart(),2103 e && (a.lineStart(), c(null, null, 1, a), a.lineEnd()),2104 i && Lt(v, u, t, c, a),2105 a.polygonEnd()),2106 (v = d = y = null);2107 },2108 };2109 return C;2110 };2111 }2112 function Vt(n) {2113 var t = 0,2114 e = Fo / 3,2115 r = ae(n),2116 i = r(t, e);2117 return (2118 (i.parallels = function (n) {2119 return arguments.length2120 ? r((t = (n[0] * Fo) / 180), (e = (n[1] * Fo) / 180))2121 : [(t / Fo) * 180, (e / Fo) * 180];2122 }),2123 i2124 );2125 }2126 function Xt(n, t) {2127 function e(n, t) {2128 var e = Math.sqrt(u - 2 * i * Math.sin(t)) / i;2129 return [e * Math.sin((n *= i)), o - e * Math.cos(n)];2130 }2131 var r = Math.sin(n),2132 i = (r + Math.sin(t)) / 2,2133 u = 1 + r * (2 * i - r),2134 o = Math.sqrt(u) / i;2135 return (2136 (e.invert = function (n, t) {2137 var e = o - t;2138 return [2139 Math.atan2(n, e) / i,2140 tn((u - (n * n + e * e) * i * i) / (2 * i)),2141 ];2142 }),2143 e2144 );2145 }2146 function $t() {2147 function n(n, t) {2148 (Ia += i * n - r * t), (r = n), (i = t);2149 }2150 var t, e, r, i;2151 ($a.point = function (u, o) {2152 ($a.point = n), (t = r = u), (e = i = o);2153 }),2154 ($a.lineEnd = function () {2155 n(t, e);2156 });2157 }2158 function Bt(n, t) {2159 Ya > n && (Ya = n),2160 n > Va && (Va = n),2161 Za > t && (Za = t),2162 t > Xa && (Xa = t);2163 }2164 function Wt() {2165 function n(n, t) {2166 o.push("M", n, ",", t, u);2167 }2168 function t(n, t) {2169 o.push("M", n, ",", t), (a.point = e);2170 }2171 function e(n, t) {2172 o.push("L", n, ",", t);2173 }2174 function r() {2175 a.point = n;2176 }2177 function i() {2178 o.push("Z");2179 }2180 var u = Jt(4.5),2181 o = [],2182 a = {2183 point: n,2184 lineStart: function () {2185 a.point = t;2186 },2187 lineEnd: r,2188 polygonStart: function () {2189 a.lineEnd = i;2190 },2191 polygonEnd: function () {2192 (a.lineEnd = r), (a.point = n);2193 },2194 pointRadius: function (n) {2195 return (u = Jt(n)), a;2196 },2197 result: function () {2198 if (o.length) {2199 var n = o.join("");2200 return (o = []), n;2201 }2202 },2203 };2204 return a;2205 }2206 function Jt(n) {2207 return (2208 "m0," +2209 n +2210 "a" +2211 n +2212 "," +2213 n +2214 " 0 1,1 0," +2215 -2 * n +2216 "a" +2217 n +2218 "," +2219 n +2220 " 0 1,1 0," +2221 2 * n +2222 "z"2223 );2224 }2225 function Gt(n, t) {2226 (Ca += n), (za += t), ++La;2227 }2228 function Kt() {2229 function n(n, r) {2230 var i = n - t,2231 u = r - e,2232 o = Math.sqrt(i * i + u * u);2233 (qa += (o * (t + n)) / 2),2234 (Ta += (o * (e + r)) / 2),2235 (Ra += o),2236 Gt((t = n), (e = r));2237 }2238 var t, e;2239 Wa.point = function (r, i) {2240 (Wa.point = n), Gt((t = r), (e = i));2241 };2242 }2243 function Qt() {2244 Wa.point = Gt;2245 }2246 function ne() {2247 function n(n, t) {2248 var e = n - r,2249 u = t - i,2250 o = Math.sqrt(e * e + u * u);2251 (qa += (o * (r + n)) / 2),2252 (Ta += (o * (i + t)) / 2),2253 (Ra += o),2254 (o = i * n - r * t),2255 (Da += o * (r + n)),2256 (Pa += o * (i + t)),2257 (Ua += 3 * o),2258 Gt((r = n), (i = t));2259 }2260 var t, e, r, i;2261 (Wa.point = function (u, o) {2262 (Wa.point = n), Gt((t = r = u), (e = i = o));2263 }),2264 (Wa.lineEnd = function () {2265 n(t, e);2266 });2267 }2268 function te(n) {2269 function t(t, e) {2270 n.moveTo(t + o, e), n.arc(t, e, o, 0, Ho);2271 }2272 function e(t, e) {2273 n.moveTo(t, e), (a.point = r);2274 }2275 function r(t, e) {2276 n.lineTo(t, e);2277 }2278 function i() {2279 a.point = t;2280 }2281 function u() {2282 n.closePath();2283 }2284 var o = 4.5,2285 a = {2286 point: t,2287 lineStart: function () {2288 a.point = e;2289 },2290 lineEnd: i,2291 polygonStart: function () {2292 a.lineEnd = u;2293 },2294 polygonEnd: function () {2295 (a.lineEnd = i), (a.point = t);2296 },2297 pointRadius: function (n) {2298 return (o = n), a;2299 },2300 result: b,2301 };2302 return a;2303 }2304 function ee(n) {2305 function t(n) {2306 return (a ? r : e)(n);2307 }2308 function e(t) {2309 return ue(t, function (e, r) {2310 (e = n(e, r)), t.point(e[0], e[1]);2311 });2312 }2313 function r(t) {2314 function e(e, r) {2315 (e = n(e, r)), t.point(e[0], e[1]);2316 }2317 function r() {2318 (M = NaN), (S.point = u), t.lineStart();2319 }2320 function u(e, r) {2321 var u = dt([e, r]),2322 o = n(e, r);2323 i(2324 M,2325 x,2326 m,2327 b,2328 _,2329 w,2330 (M = o[0]),2331 (x = o[1]),2332 (m = e),2333 (b = u[0]),2334 (_ = u[1]),2335 (w = u[2]),2336 a,2337 t2338 ),2339 t.point(M, x);2340 }2341 function o() {2342 (S.point = e), t.lineEnd();2343 }2344 function l() {2345 r(), (S.point = c), (S.lineEnd = f);2346 }2347 function c(n, t) {2348 u((s = n), (h = t)),2349 (p = M),2350 (g = x),2351 (v = b),2352 (d = _),2353 (y = w),2354 (S.point = u);2355 }2356 function f() {2357 i(M, x, m, b, _, w, p, g, s, v, d, y, a, t), (S.lineEnd = o), o();2358 }2359 var s,2360 h,2361 p,2362 g,2363 v,2364 d,2365 y,2366 m,2367 M,2368 x,2369 b,2370 _,2371 w,2372 S = {2373 point: e,2374 lineStart: r,2375 lineEnd: o,2376 polygonStart: function () {2377 t.polygonStart(), (S.lineStart = l);2378 },2379 polygonEnd: function () {2380 t.polygonEnd(), (S.lineStart = r);2381 },2382 };2383 return S;2384 }2385 function i(t, e, r, a, l, c, f, s, h, p, g, v, d, y) {2386 var m = f - t,2387 M = s - e,2388 x = m * m + M * M;2389 if (x > 4 * u && d--) {2390 var b = a + p,2391 _ = l + g,2392 w = c + v,2393 S = Math.sqrt(b * b + _ * _ + w * w),2394 k = Math.asin((w /= S)),2395 N =2396 xo(xo(w) - 1) < Uo || xo(r - h) < Uo2397 ? (r + h) / 22398 : Math.atan2(_, b),2399 E = n(N, k),2400 A = E[0],2401 C = E[1],2402 z = A - t,2403 L = C - e,2404 q = M * z - m * L;2405 ((q * q) / x > u ||2406 xo((m * z + M * L) / x - 0.5) > 0.3 ||2407 o > a * p + l * g + c * v) &&2408 (i(t, e, r, a, l, c, A, C, N, (b /= S), (_ /= S), w, d, y),2409 y.point(A, C),2410 i(A, C, N, b, _, w, f, s, h, p, g, v, d, y));2411 }2412 }2413 var u = 0.5,2414 o = Math.cos(30 * Yo),2415 a = 16;2416 return (2417 (t.precision = function (n) {2418 return arguments.length2419 ? ((a = (u = n * n) > 0 && 16), t)2420 : Math.sqrt(u);2421 }),2422 t2423 );2424 }2425 function re(n) {2426 var t = ee(function (t, e) {2427 return n([t * Zo, e * Zo]);2428 });2429 return function (n) {2430 return le(t(n));2431 };2432 }2433 function ie(n) {2434 this.stream = n;2435 }2436 function ue(n, t) {2437 return {2438 point: t,2439 sphere: function () {2440 n.sphere();2441 },2442 lineStart: function () {2443 n.lineStart();2444 },2445 lineEnd: function () {2446 n.lineEnd();2447 },2448 polygonStart: function () {2449 n.polygonStart();2450 },2451 polygonEnd: function () {2452 n.polygonEnd();2453 },2454 };2455 }2456 function oe(n) {2457 return ae(function () {2458 return n;2459 })();2460 }2461 function ae(n) {2462 function t(n) {2463 return (n = a(n[0] * Yo, n[1] * Yo)), [n[0] * h + l, c - n[1] * h];2464 }2465 function e(n) {2466 return (2467 (n = a.invert((n[0] - l) / h, (c - n[1]) / h)),2468 n && [n[0] * Zo, n[1] * Zo]2469 );2470 }2471 function r() {2472 a = Ct((o = se(y, M, x)), u);2473 var n = u(v, d);2474 return (l = p - n[0] * h), (c = g + n[1] * h), i();2475 }2476 function i() {2477 return f && ((f.valid = !1), (f = null)), t;2478 }2479 var u,2480 o,2481 a,2482 l,2483 c,2484 f,2485 s = ee(function (n, t) {2486 return (n = u(n, t)), [n[0] * h + l, c - n[1] * h];2487 }),2488 h = 150,2489 p = 480,2490 g = 250,2491 v = 0,2492 d = 0,2493 y = 0,2494 M = 0,2495 x = 0,2496 b = Fa,2497 _ = m,2498 w = null,2499 S = null;2500 return (2501 (t.stream = function (n) {2502 return f && (f.valid = !1), (f = le(b(o, s(_(n))))), (f.valid = !0), f;2503 }),2504 (t.clipAngle = function (n) {2505 return arguments.length2506 ? ((b = null == n ? ((w = n), Fa) : It((w = +n) * Yo)), i())2507 : w;2508 }),2509 (t.clipExtent = function (n) {2510 return arguments.length2511 ? ((S = n), (_ = n ? Zt(n[0][0], n[0][1], n[1][0], n[1][1]) : m), i())2512 : S;2513 }),2514 (t.scale = function (n) {2515 return arguments.length ? ((h = +n), r()) : h;2516 }),2517 (t.translate = function (n) {2518 return arguments.length ? ((p = +n[0]), (g = +n[1]), r()) : [p, g];2519 }),2520 (t.center = function (n) {2521 return arguments.length2522 ? ((v = (n[0] % 360) * Yo), (d = (n[1] % 360) * Yo), r())2523 : [v * Zo, d * Zo];2524 }),2525 (t.rotate = function (n) {2526 return arguments.length2527 ? ((y = (n[0] % 360) * Yo),2528 (M = (n[1] % 360) * Yo),2529 (x = n.length > 2 ? (n[2] % 360) * Yo : 0),2530 r())2531 : [y * Zo, M * Zo, x * Zo];2532 }),2533 ao.rebind(t, s, "precision"),2534 function () {2535 return (u = n.apply(this, arguments)), (t.invert = u.invert && e), r();2536 }2537 );2538 }2539 function le(n) {2540 return ue(n, function (t, e) {2541 n.point(t * Yo, e * Yo);2542 });2543 }2544 function ce(n, t) {2545 return [n, t];2546 }2547 function fe(n, t) {2548 return [n > Fo ? n - Ho : -Fo > n ? n + Ho : n, t];2549 }2550 function se(n, t, e) {2551 return n ? (t || e ? Ct(pe(n), ge(t, e)) : pe(n)) : t || e ? ge(t, e) : fe;2552 }2553 function he(n) {2554 return function (t, e) {2555 return (t += n), [t > Fo ? t - Ho : -Fo > t ? t + Ho : t, e];2556 };2557 }2558 function pe(n) {2559 var t = he(n);2560 return (t.invert = he(-n)), t;2561 }2562 function ge(n, t) {2563 function e(n, t) {2564 var e = Math.cos(t),2565 a = Math.cos(n) * e,2566 l = Math.sin(n) * e,2567 c = Math.sin(t),2568 f = c * r + a * i;2569 return [Math.atan2(l * u - f * o, a * r - c * i), tn(f * u + l * o)];2570 }2571 var r = Math.cos(n),2572 i = Math.sin(n),2573 u = Math.cos(t),2574 o = Math.sin(t);2575 return (2576 (e.invert = function (n, t) {2577 var e = Math.cos(t),2578 a = Math.cos(n) * e,2579 l = Math.sin(n) * e,2580 c = Math.sin(t),2581 f = c * u - l * o;2582 return [Math.atan2(l * u + c * o, a * r + f * i), tn(f * r - a * i)];2583 }),2584 e2585 );2586 }2587 function ve(n, t) {2588 var e = Math.cos(n),2589 r = Math.sin(n);2590 return function (i, u, o, a) {2591 var l = o * t;2592 null != i2593 ? ((i = de(e, i)),2594 (u = de(e, u)),2595 (o > 0 ? u > i : i > u) && (i += o * Ho))2596 : ((i = n + o * Ho), (u = n - 0.5 * l));2597 for (var c, f = i; o > 0 ? f > u : u > f; f -= l)2598 a.point((c = _t([e, -r * Math.cos(f), -r * Math.sin(f)]))[0], c[1]);2599 };2600 }2601 function de(n, t) {2602 var e = dt(t);2603 (e[0] -= n), bt(e);2604 var r = nn(-e[1]);2605 return ((-e[2] < 0 ? -r : r) + 2 * Math.PI - Uo) % (2 * Math.PI);2606 }2607 function ye(n, t, e) {2608 var r = ao.range(n, t - Uo, e).concat(t);2609 return function (n) {2610 return r.map(function (t) {2611 return [n, t];2612 });2613 };2614 }2615 function me(n, t, e) {2616 var r = ao.range(n, t - Uo, e).concat(t);2617 return function (n) {2618 return r.map(function (t) {2619 return [t, n];2620 });2621 };2622 }2623 function Me(n) {2624 return n.source;2625 }2626 function xe(n) {2627 return n.target;2628 }2629 function be(n, t, e, r) {2630 var i = Math.cos(t),2631 u = Math.sin(t),2632 o = Math.cos(r),2633 a = Math.sin(r),2634 l = i * Math.cos(n),2635 c = i * Math.sin(n),2636 f = o * Math.cos(e),2637 s = o * Math.sin(e),2638 h = 2 * Math.asin(Math.sqrt(on(r - t) + i * o * on(e - n))),2639 p = 1 / Math.sin(h),2640 g = h2641 ? function (n) {2642 var t = Math.sin((n *= h)) * p,2643 e = Math.sin(h - n) * p,2644 r = e * l + t * f,2645 i = e * c + t * s,2646 o = e * u + t * a;2647 return [2648 Math.atan2(i, r) * Zo,2649 Math.atan2(o, Math.sqrt(r * r + i * i)) * Zo,2650 ];2651 }2652 : function () {2653 return [n * Zo, t * Zo];2654 };2655 return (g.distance = h), g;2656 }2657 function _e() {2658 function n(n, i) {2659 var u = Math.sin((i *= Yo)),2660 o = Math.cos(i),2661 a = xo((n *= Yo) - t),2662 l = Math.cos(a);2663 (Ja += Math.atan2(2664 Math.sqrt((a = o * Math.sin(a)) * a + (a = r * u - e * o * l) * a),2665 e * u + r * o * l2666 )),2667 (t = n),2668 (e = u),2669 (r = o);2670 }2671 var t, e, r;2672 (Ga.point = function (i, u) {2673 (t = i * Yo),2674 (e = Math.sin((u *= Yo))),2675 (r = Math.cos(u)),2676 (Ga.point = n);2677 }),2678 (Ga.lineEnd = function () {2679 Ga.point = Ga.lineEnd = b;2680 });2681 }2682 function we(n, t) {2683 function e(t, e) {2684 var r = Math.cos(t),2685 i = Math.cos(e),2686 u = n(r * i);2687 return [u * i * Math.sin(t), u * Math.sin(e)];2688 }2689 return (2690 (e.invert = function (n, e) {2691 var r = Math.sqrt(n * n + e * e),2692 i = t(r),2693 u = Math.sin(i),2694 o = Math.cos(i);2695 return [Math.atan2(n * u, r * o), Math.asin(r && (e * u) / r)];2696 }),2697 e2698 );2699 }2700 function Se(n, t) {2701 function e(n, t) {2702 o > 0 ? -Io + Uo > t && (t = -Io + Uo) : t > Io - Uo && (t = Io - Uo);2703 var e = o / Math.pow(i(t), u);2704 return [e * Math.sin(u * n), o - e * Math.cos(u * n)];2705 }2706 var r = Math.cos(n),2707 i = function (n) {2708 return Math.tan(Fo / 4 + n / 2);2709 },2710 u =2711 n === t2712 ? Math.sin(n)2713 : Math.log(r / Math.cos(t)) / Math.log(i(t) / i(n)),2714 o = (r * Math.pow(i(n), u)) / u;2715 return u2716 ? ((e.invert = function (n, t) {2717 var e = o - t,2718 r = K(u) * Math.sqrt(n * n + e * e);2719 return [2720 Math.atan2(n, e) / u,2721 2 * Math.atan(Math.pow(o / r, 1 / u)) - Io,2722 ];2723 }),2724 e)2725 : Ne;2726 }2727 function ke(n, t) {2728 function e(n, t) {2729 var e = u - t;2730 return [e * Math.sin(i * n), u - e * Math.cos(i * n)];2731 }2732 var r = Math.cos(n),2733 i = n === t ? Math.sin(n) : (r - Math.cos(t)) / (t - n),2734 u = r / i + n;2735 return xo(i) < Uo2736 ? ce2737 : ((e.invert = function (n, t) {2738 var e = u - t;2739 return [Math.atan2(n, e) / i, u - K(i) * Math.sqrt(n * n + e * e)];2740 }),2741 e);2742 }2743 function Ne(n, t) {2744 return [n, Math.log(Math.tan(Fo / 4 + t / 2))];2745 }2746 function Ee(n) {2747 var t,2748 e = oe(n),2749 r = e.scale,2750 i = e.translate,2751 u = e.clipExtent;2752 return (2753 (e.scale = function () {2754 var n = r.apply(e, arguments);2755 return n === e ? (t ? e.clipExtent(null) : e) : n;2756 }),2757 (e.translate = function () {2758 var n = i.apply(e, arguments);2759 return n === e ? (t ? e.clipExtent(null) : e) : n;2760 }),2761 (e.clipExtent = function (n) {2762 var o = u.apply(e, arguments);2763 if (o === e) {2764 if ((t = null == n)) {2765 var a = Fo * r(),2766 l = i();2767 u([2768 [l[0] - a, l[1] - a],2769 [l[0] + a, l[1] + a],2770 ]);2771 }2772 } else t && (o = null);2773 return o;2774 }),2775 e.clipExtent(null)2776 );2777 }2778 function Ae(n, t) {2779 return [Math.log(Math.tan(Fo / 4 + t / 2)), -n];2780 }2781 function Ce(n) {2782 return n[0];2783 }2784 function ze(n) {2785 return n[1];2786 }2787 function Le(n) {2788 for (var t = n.length, e = [0, 1], r = 2, i = 2; t > i; i++) {2789 for (; r > 1 && Q(n[e[r - 2]], n[e[r - 1]], n[i]) <= 0; ) --r;2790 e[r++] = i;2791 }2792 return e.slice(0, r);2793 }2794 function qe(n, t) {2795 return n[0] - t[0] || n[1] - t[1];2796 }2797 function Te(n, t, e) {2798 return (e[0] - t[0]) * (n[1] - t[1]) < (e[1] - t[1]) * (n[0] - t[0]);2799 }2800 function Re(n, t, e, r) {2801 var i = n[0],2802 u = e[0],2803 o = t[0] - i,2804 a = r[0] - u,2805 l = n[1],2806 c = e[1],2807 f = t[1] - l,2808 s = r[1] - c,2809 h = (a * (l - c) - s * (i - u)) / (s * o - a * f);2810 return [i + h * o, l + h * f];2811 }2812 function De(n) {2813 var t = n[0],2814 e = n[n.length - 1];2815 return !(t[0] - e[0] || t[1] - e[1]);2816 }2817 function Pe() {2818 rr(this), (this.edge = this.site = this.circle = null);2819 }2820 function Ue(n) {2821 var t = cl.pop() || new Pe();2822 return (t.site = n), t;2823 }2824 function je(n) {2825 Be(n), ol.remove(n), cl.push(n), rr(n);2826 }2827 function Fe(n) {2828 var t = n.circle,2829 e = t.x,2830 r = t.cy,2831 i = { x: e, y: r },2832 u = n.P,2833 o = n.N,2834 a = [n];2835 je(n);2836 for (2837 var l = u;2838 l.circle && xo(e - l.circle.x) < Uo && xo(r - l.circle.cy) < Uo;2839 )2840 (u = l.P), a.unshift(l), je(l), (l = u);2841 a.unshift(l), Be(l);2842 for (2843 var c = o;2844 c.circle && xo(e - c.circle.x) < Uo && xo(r - c.circle.cy) < Uo;2845 )2846 (o = c.N), a.push(c), je(c), (c = o);2847 a.push(c), Be(c);2848 var f,2849 s = a.length;2850 for (f = 1; s > f; ++f)2851 (c = a[f]), (l = a[f - 1]), nr(c.edge, l.site, c.site, i);2852 (l = a[0]),2853 (c = a[s - 1]),2854 (c.edge = Ke(l.site, c.site, null, i)),2855 $e(l),2856 $e(c);2857 }2858 function He(n) {2859 for (var t, e, r, i, u = n.x, o = n.y, a = ol._; a; )2860 if (((r = Oe(a, o) - u), r > Uo)) a = a.L;2861 else {2862 if (((i = u - Ie(a, o)), !(i > Uo))) {2863 r > -Uo2864 ? ((t = a.P), (e = a))2865 : i > -Uo2866 ? ((t = a), (e = a.N))2867 : (t = e = a);2868 break;2869 }2870 if (!a.R) {2871 t = a;2872 break;2873 }2874 a = a.R;2875 }2876 var l = Ue(n);2877 if ((ol.insert(t, l), t || e)) {2878 if (t === e)2879 return (2880 Be(t),2881 (e = Ue(t.site)),2882 ol.insert(l, e),2883 (l.edge = e.edge = Ke(t.site, l.site)),2884 $e(t),2885 void $e(e)2886 );2887 if (!e) return void (l.edge = Ke(t.site, l.site));2888 Be(t), Be(e);2889 var c = t.site,2890 f = c.x,2891 s = c.y,2892 h = n.x - f,2893 p = n.y - s,2894 g = e.site,2895 v = g.x - f,2896 d = g.y - s,2897 y = 2 * (h * d - p * v),2898 m = h * h + p * p,2899 M = v * v + d * d,2900 x = { x: (d * m - p * M) / y + f, y: (h * M - v * m) / y + s };2901 nr(e.edge, c, g, x),2902 (l.edge = Ke(c, n, null, x)),2903 (e.edge = Ke(n, g, null, x)),2904 $e(t),2905 $e(e);2906 }2907 }2908 function Oe(n, t) {2909 var e = n.site,2910 r = e.x,2911 i = e.y,2912 u = i - t;2913 if (!u) return r;2914 var o = n.P;2915 if (!o) return -(1 / 0);2916 e = o.site;2917 var a = e.x,2918 l = e.y,2919 c = l - t;2920 if (!c) return a;2921 var f = a - r,2922 s = 1 / u - 1 / c,2923 h = f / c;2924 return s2925 ? (-h +2926 Math.sqrt(2927 h * h - 2 * s * ((f * f) / (-2 * c) - l + c / 2 + i - u / 2)2928 )) /2929 s +2930 r2931 : (r + a) / 2;2932 }2933 function Ie(n, t) {2934 var e = n.N;2935 if (e) return Oe(e, t);2936 var r = n.site;2937 return r.y === t ? r.x : 1 / 0;2938 }2939 function Ye(n) {2940 (this.site = n), (this.edges = []);2941 }2942 function Ze(n) {2943 for (2944 var t,2945 e,2946 r,2947 i,2948 u,2949 o,2950 a,2951 l,2952 c,2953 f,2954 s = n[0][0],2955 h = n[1][0],2956 p = n[0][1],2957 g = n[1][1],2958 v = ul,2959 d = v.length;2960 d--;2961 )2962 if (((u = v[d]), u && u.prepare()))2963 for (a = u.edges, l = a.length, o = 0; l > o; )2964 (f = a[o].end()),2965 (r = f.x),2966 (i = f.y),2967 (c = a[++o % l].start()),2968 (t = c.x),2969 (e = c.y),2970 (xo(r - t) > Uo || xo(i - e) > Uo) &&2971 (a.splice(2972 o,2973 0,2974 new tr(2975 Qe(2976 u.site,2977 f,2978 xo(r - s) < Uo && g - i > Uo2979 ? { x: s, y: xo(t - s) < Uo ? e : g }2980 : xo(i - g) < Uo && h - r > Uo2981 ? { x: xo(e - g) < Uo ? t : h, y: g }2982 : xo(r - h) < Uo && i - p > Uo2983 ? { x: h, y: xo(t - h) < Uo ? e : p }2984 : xo(i - p) < Uo && r - s > Uo2985 ? { x: xo(e - p) < Uo ? t : s, y: p }2986 : null2987 ),2988 u.site,2989 null2990 )2991 ),2992 ++l);2993 }2994 function Ve(n, t) {2995 return t.angle - n.angle;2996 }2997 function Xe() {2998 rr(this), (this.x = this.y = this.arc = this.site = this.cy = null);2999 }3000 function $e(n) {3001 var t = n.P,3002 e = n.N;3003 if (t && e) {3004 var r = t.site,3005 i = n.site,3006 u = e.site;3007 if (r !== u) {3008 var o = i.x,3009 a = i.y,3010 l = r.x - o,3011 c = r.y - a,3012 f = u.x - o,3013 s = u.y - a,3014 h = 2 * (l * s - c * f);3015 if (!(h >= -jo)) {3016 var p = l * l + c * c,3017 g = f * f + s * s,3018 v = (s * p - c * g) / h,3019 d = (l * g - f * p) / h,3020 s = d + a,3021 y = fl.pop() || new Xe();3022 (y.arc = n),3023 (y.site = i),3024 (y.x = v + o),3025 (y.y = s + Math.sqrt(v * v + d * d)),3026 (y.cy = s),3027 (n.circle = y);3028 for (var m = null, M = ll._; M; )3029 if (y.y < M.y || (y.y === M.y && y.x <= M.x)) {3030 if (!M.L) {3031 m = M.P;3032 break;3033 }3034 M = M.L;3035 } else {3036 if (!M.R) {3037 m = M;3038 break;3039 }3040 M = M.R;3041 }3042 ll.insert(m, y), m || (al = y);3043 }3044 }3045 }3046 }3047 function Be(n) {3048 var t = n.circle;3049 t &&3050 (t.P || (al = t.N), ll.remove(t), fl.push(t), rr(t), (n.circle = null));3051 }3052 function We(n) {3053 for (3054 var t, e = il, r = Yt(n[0][0], n[0][1], n[1][0], n[1][1]), i = e.length;3055 i--;3056 )3057 (t = e[i]),3058 (!Je(t, n) ||3059 !r(t) ||3060 (xo(t.a.x - t.b.x) < Uo && xo(t.a.y - t.b.y) < Uo)) &&3061 ((t.a = t.b = null), e.splice(i, 1));3062 }3063 function Je(n, t) {3064 var e = n.b;3065 if (e) return !0;3066 var r,3067 i,3068 u = n.a,3069 o = t[0][0],3070 a = t[1][0],3071 l = t[0][1],3072 c = t[1][1],3073 f = n.l,3074 s = n.r,3075 h = f.x,3076 p = f.y,3077 g = s.x,3078 v = s.y,3079 d = (h + g) / 2,3080 y = (p + v) / 2;3081 if (v === p) {3082 if (o > d || d >= a) return;3083 if (h > g) {3084 if (u) {3085 if (u.y >= c) return;3086 } else u = { x: d, y: l };3087 e = { x: d, y: c };3088 } else {3089 if (u) {3090 if (u.y < l) return;3091 } else u = { x: d, y: c };3092 e = { x: d, y: l };3093 }3094 } else if (((r = (h - g) / (v - p)), (i = y - r * d), -1 > r || r > 1))3095 if (h > g) {3096 if (u) {3097 if (u.y >= c) return;3098 } else u = { x: (l - i) / r, y: l };3099 e = { x: (c - i) / r, y: c };3100 } else {3101 if (u) {3102 if (u.y < l) return;3103 } else u = { x: (c - i) / r, y: c };3104 e = { x: (l - i) / r, y: l };3105 }3106 else if (v > p) {3107 if (u) {3108 if (u.x >= a) return;3109 } else u = { x: o, y: r * o + i };3110 e = { x: a, y: r * a + i };3111 } else {3112 if (u) {3113 if (u.x < o) return;3114 } else u = { x: a, y: r * a + i };3115 e = { x: o, y: r * o + i };3116 }3117 return (n.a = u), (n.b = e), !0;3118 }3119 function Ge(n, t) {3120 (this.l = n), (this.r = t), (this.a = this.b = null);3121 }3122 function Ke(n, t, e, r) {3123 var i = new Ge(n, t);3124 return (3125 il.push(i),3126 e && nr(i, n, t, e),3127 r && nr(i, t, n, r),3128 ul[n.i].edges.push(new tr(i, n, t)),3129 ul[t.i].edges.push(new tr(i, t, n)),3130 i3131 );3132 }3133 function Qe(n, t, e) {3134 var r = new Ge(n, null);3135 return (r.a = t), (r.b = e), il.push(r), r;3136 }3137 function nr(n, t, e, r) {3138 n.a || n.b3139 ? n.l === e3140 ? (n.b = r)3141 : (n.a = r)3142 : ((n.a = r), (n.l = t), (n.r = e));3143 }3144 function tr(n, t, e) {3145 var r = n.a,3146 i = n.b;3147 (this.edge = n),3148 (this.site = t),3149 (this.angle = e3150 ? Math.atan2(e.y - t.y, e.x - t.x)3151 : n.l === t3152 ? Math.atan2(i.x - r.x, r.y - i.y)3153 : Math.atan2(r.x - i.x, i.y - r.y));3154 }3155 function er() {3156 this._ = null;3157 }3158 function rr(n) {3159 n.U = n.C = n.L = n.R = n.P = n.N = null;3160 }3161 function ir(n, t) {3162 var e = t,3163 r = t.R,3164 i = e.U;3165 i ? (i.L === e ? (i.L = r) : (i.R = r)) : (n._ = r),3166 (r.U = i),3167 (e.U = r),3168 (e.R = r.L),3169 e.R && (e.R.U = e),3170 (r.L = e);3171 }3172 function ur(n, t) {3173 var e = t,3174 r = t.L,3175 i = e.U;3176 i ? (i.L === e ? (i.L = r) : (i.R = r)) : (n._ = r),3177 (r.U = i),3178 (e.U = r),3179 (e.L = r.R),3180 e.L && (e.L.U = e),3181 (r.R = e);3182 }3183 function or(n) {3184 for (; n.L; ) n = n.L;3185 return n;3186 }3187 function ar(n, t) {3188 var e,3189 r,3190 i,3191 u = n.sort(lr).pop();3192 for (il = [], ul = new Array(n.length), ol = new er(), ll = new er(); ; )3193 if (((i = al), u && (!i || u.y < i.y || (u.y === i.y && u.x < i.x))))3194 (u.x === e && u.y === r) ||3195 ((ul[u.i] = new Ye(u)), He(u), (e = u.x), (r = u.y)),3196 (u = n.pop());3197 else {3198 if (!i) break;3199 Fe(i.arc);3200 }3201 t && (We(t), Ze(t));3202 var o = { cells: ul, edges: il };3203 return (ol = ll = il = ul = null), o;3204 }3205 function lr(n, t) {3206 return t.y - n.y || t.x - n.x;3207 }3208 function cr(n, t, e) {3209 return (n.x - e.x) * (t.y - n.y) - (n.x - t.x) * (e.y - n.y);3210 }3211 function fr(n) {3212 return n.x;3213 }3214 function sr(n) {3215 return n.y;3216 }3217 function hr() {3218 return { leaf: !0, nodes: [], point: null, x: null, y: null };3219 }3220 function pr(n, t, e, r, i, u) {3221 if (!n(t, e, r, i, u)) {3222 var o = 0.5 * (e + i),3223 a = 0.5 * (r + u),3224 l = t.nodes;3225 l[0] && pr(n, l[0], e, r, o, a),3226 l[1] && pr(n, l[1], o, r, i, a),3227 l[2] && pr(n, l[2], e, a, o, u),3228 l[3] && pr(n, l[3], o, a, i, u);3229 }3230 }3231 function gr(n, t, e, r, i, u, o) {3232 var a,3233 l = 1 / 0;3234 return (3235 (function c(n, f, s, h, p) {3236 if (!(f > u || s > o || r > h || i > p)) {3237 if ((g = n.point)) {3238 var g,3239 v = t - n.x,3240 d = e - n.y,3241 y = v * v + d * d;3242 if (l > y) {3243 var m = Math.sqrt((l = y));3244 (r = t - m), (i = e - m), (u = t + m), (o = e + m), (a = g);3245 }3246 }3247 for (3248 var M = n.nodes,3249 x = 0.5 * (f + h),3250 b = 0.5 * (s + p),3251 _ = t >= x,3252 w = e >= b,3253 S = (w << 1) | _,3254 k = S + 4;3255 k > S;3256 ++S3257 )3258 if ((n = M[3 & S]))3259 switch (3 & S) {3260 case 0:3261 c(n, f, s, x, b);3262 break;3263 case 1:3264 c(n, x, s, h, b);3265 break;3266 case 2:3267 c(n, f, b, x, p);3268 break;3269 case 3:3270 c(n, x, b, h, p);3271 }3272 }3273 })(n, r, i, u, o),3274 a3275 );3276 }3277 function vr(n, t) {3278 (n = ao.rgb(n)), (t = ao.rgb(t));3279 var e = n.r,3280 r = n.g,3281 i = n.b,3282 u = t.r - e,3283 o = t.g - r,3284 a = t.b - i;3285 return function (n) {3286 return (3287 "#" +3288 bn(Math.round(e + u * n)) +3289 bn(Math.round(r + o * n)) +3290 bn(Math.round(i + a * n))3291 );3292 };3293 }3294 function dr(n, t) {3295 var e,3296 r = {},3297 i = {};3298 for (e in n) e in t ? (r[e] = Mr(n[e], t[e])) : (i[e] = n[e]);3299 for (e in t) e in n || (i[e] = t[e]);3300 return function (n) {3301 for (e in r) i[e] = r[e](n);3302 return i;3303 };3304 }3305 function yr(n, t) {3306 return (3307 (n = +n),3308 (t = +t),3309 function (e) {3310 return n * (1 - e) + t * e;3311 }3312 );3313 }3314 function mr(n, t) {3315 var e,3316 r,3317 i,3318 u = (hl.lastIndex = pl.lastIndex = 0),3319 o = -1,3320 a = [],3321 l = [];3322 for (n += "", t += ""; (e = hl.exec(n)) && (r = pl.exec(t)); )3323 (i = r.index) > u &&3324 ((i = t.slice(u, i)), a[o] ? (a[o] += i) : (a[++o] = i)),3325 (e = e[0]) === (r = r[0])3326 ? a[o]3327 ? (a[o] += r)3328 : (a[++o] = r)3329 : ((a[++o] = null), l.push({ i: o, x: yr(e, r) })),3330 (u = pl.lastIndex);3331 return (3332 u < t.length && ((i = t.slice(u)), a[o] ? (a[o] += i) : (a[++o] = i)),3333 a.length < 23334 ? l[0]3335 ? ((t = l[0].x),3336 function (n) {3337 return t(n) + "";3338 })3339 : function () {3340 return t;3341 }3342 : ((t = l.length),3343 function (n) {3344 for (var e, r = 0; t > r; ++r) a[(e = l[r]).i] = e.x(n);3345 return a.join("");3346 })3347 );3348 }3349 function Mr(n, t) {3350 for (3351 var e, r = ao.interpolators.length;3352 --r >= 0 && !(e = ao.interpolators[r](n, t));3353 );3354 return e;3355 }3356 function xr(n, t) {3357 var e,3358 r = [],3359 i = [],3360 u = n.length,3361 o = t.length,3362 a = Math.min(n.length, t.length);3363 for (e = 0; a > e; ++e) r.push(Mr(n[e], t[e]));3364 for (; u > e; ++e) i[e] = n[e];3365 for (; o > e; ++e) i[e] = t[e];3366 return function (n) {3367 for (e = 0; a > e; ++e) i[e] = r[e](n);3368 return i;3369 };3370 }3371 function br(n) {3372 return function (t) {3373 return 0 >= t ? 0 : t >= 1 ? 1 : n(t);3374 };3375 }3376 function _r(n) {3377 return function (t) {3378 return 1 - n(1 - t);3379 };3380 }3381 function wr(n) {3382 return function (t) {3383 return 0.5 * (0.5 > t ? n(2 * t) : 2 - n(2 - 2 * t));3384 };3385 }3386 function Sr(n) {3387 return n * n;3388 }3389 function kr(n) {3390 return n * n * n;3391 }3392 function Nr(n) {3393 if (0 >= n) return 0;3394 if (n >= 1) return 1;3395 var t = n * n,3396 e = t * n;3397 return 4 * (0.5 > n ? e : 3 * (n - t) + e - 0.75);3398 }3399 function Er(n) {3400 return function (t) {3401 return Math.pow(t, n);3402 };3403 }3404 function Ar(n) {3405 return 1 - Math.cos(n * Io);3406 }3407 function Cr(n) {3408 return Math.pow(2, 10 * (n - 1));3409 }3410 function zr(n) {3411 return 1 - Math.sqrt(1 - n * n);3412 }3413 function Lr(n, t) {3414 var e;3415 return (3416 arguments.length < 2 && (t = 0.45),3417 arguments.length3418 ? (e = (t / Ho) * Math.asin(1 / n))3419 : ((n = 1), (e = t / 4)),3420 function (r) {3421 return 1 + n * Math.pow(2, -10 * r) * Math.sin(((r - e) * Ho) / t);3422 }3423 );3424 }3425 function qr(n) {3426 return (3427 n || (n = 1.70158),3428 function (t) {3429 return t * t * ((n + 1) * t - n);3430 }3431 );3432 }3433 function Tr(n) {3434 return 1 / 2.75 > n3435 ? 7.5625 * n * n3436 : 2 / 2.75 > n3437 ? 7.5625 * (n -= 1.5 / 2.75) * n + 0.753438 : 2.5 / 2.75 > n3439 ? 7.5625 * (n -= 2.25 / 2.75) * n + 0.93753440 : 7.5625 * (n -= 2.625 / 2.75) * n + 0.984375;3441 }3442 function Rr(n, t) {3443 (n = ao.hcl(n)), (t = ao.hcl(t));3444 var e = n.h,3445 r = n.c,3446 i = n.l,3447 u = t.h - e,3448 o = t.c - r,3449 a = t.l - i;3450 return (3451 isNaN(o) && ((o = 0), (r = isNaN(r) ? t.c : r)),3452 isNaN(u)3453 ? ((u = 0), (e = isNaN(e) ? t.h : e))3454 : u > 1803455 ? (u -= 360)3456 : -180 > u && (u += 360),3457 function (n) {3458 return sn(e + u * n, r + o * n, i + a * n) + "";3459 }3460 );3461 }3462 function Dr(n, t) {3463 (n = ao.hsl(n)), (t = ao.hsl(t));3464 var e = n.h,3465 r = n.s,3466 i = n.l,3467 u = t.h - e,3468 o = t.s - r,3469 a = t.l - i;3470 return (3471 isNaN(o) && ((o = 0), (r = isNaN(r) ? t.s : r)),3472 isNaN(u)3473 ? ((u = 0), (e = isNaN(e) ? t.h : e))3474 : u > 1803475 ? (u -= 360)3476 : -180 > u && (u += 360),3477 function (n) {3478 return cn(e + u * n, r + o * n, i + a * n) + "";3479 }3480 );3481 }3482 function Pr(n, t) {3483 (n = ao.lab(n)), (t = ao.lab(t));3484 var e = n.l,3485 r = n.a,3486 i = n.b,3487 u = t.l - e,3488 o = t.a - r,3489 a = t.b - i;3490 return function (n) {3491 return pn(e + u * n, r + o * n, i + a * n) + "";3492 };3493 }3494 function Ur(n, t) {3495 return (3496 (t -= n),3497 function (e) {3498 return Math.round(n + t * e);3499 }3500 );3501 }3502 function jr(n) {3503 var t = [n.a, n.b],3504 e = [n.c, n.d],3505 r = Hr(t),3506 i = Fr(t, e),3507 u = Hr(Or(e, t, -i)) || 0;3508 t[0] * e[1] < e[0] * t[1] &&3509 ((t[0] *= -1), (t[1] *= -1), (r *= -1), (i *= -1)),3510 (this.rotate =3511 (r ? Math.atan2(t[1], t[0]) : Math.atan2(-e[0], e[1])) * Zo),3512 (this.translate = [n.e, n.f]),3513 (this.scale = [r, u]),3514 (this.skew = u ? Math.atan2(i, u) * Zo : 0);3515 }3516 function Fr(n, t) {3517 return n[0] * t[0] + n[1] * t[1];3518 }3519 function Hr(n) {3520 var t = Math.sqrt(Fr(n, n));3521 return t && ((n[0] /= t), (n[1] /= t)), t;3522 }3523 function Or(n, t, e) {3524 return (n[0] += e * t[0]), (n[1] += e * t[1]), n;3525 }3526 function Ir(n) {3527 return n.length ? n.pop() + "," : "";3528 }3529 function Yr(n, t, e, r) {3530 if (n[0] !== t[0] || n[1] !== t[1]) {3531 var i = e.push("translate(", null, ",", null, ")");3532 r.push({ i: i - 4, x: yr(n[0], t[0]) }, { i: i - 2, x: yr(n[1], t[1]) });3533 } else (t[0] || t[1]) && e.push("translate(" + t + ")");3534 }3535 function Zr(n, t, e, r) {3536 n !== t3537 ? (n - t > 180 ? (t += 360) : t - n > 180 && (n += 360),3538 r.push({ i: e.push(Ir(e) + "rotate(", null, ")") - 2, x: yr(n, t) }))3539 : t && e.push(Ir(e) + "rotate(" + t + ")");3540 }3541 function Vr(n, t, e, r) {3542 n !== t3543 ? r.push({ i: e.push(Ir(e) + "skewX(", null, ")") - 2, x: yr(n, t) })3544 : t && e.push(Ir(e) + "skewX(" + t + ")");3545 }3546 function Xr(n, t, e, r) {3547 if (n[0] !== t[0] || n[1] !== t[1]) {3548 var i = e.push(Ir(e) + "scale(", null, ",", null, ")");3549 r.push({ i: i - 4, x: yr(n[0], t[0]) }, { i: i - 2, x: yr(n[1], t[1]) });3550 } else (1 === t[0] && 1 === t[1]) || e.push(Ir(e) + "scale(" + t + ")");3551 }3552 function $r(n, t) {3553 var e = [],3554 r = [];3555 return (3556 (n = ao.transform(n)),3557 (t = ao.transform(t)),3558 Yr(n.translate, t.translate, e, r),3559 Zr(n.rotate, t.rotate, e, r),3560 Vr(n.skew, t.skew, e, r),3561 Xr(n.scale, t.scale, e, r),3562 (n = t = null),3563 function (n) {3564 for (var t, i = -1, u = r.length; ++i < u; ) e[(t = r[i]).i] = t.x(n);3565 return e.join("");3566 }3567 );3568 }3569 function Br(n, t) {3570 return (3571 (t = (t -= n = +n) || 1 / t),3572 function (e) {3573 return (e - n) / t;3574 }3575 );3576 }3577 function Wr(n, t) {3578 return (3579 (t = (t -= n = +n) || 1 / t),3580 function (e) {3581 return Math.max(0, Math.min(1, (e - n) / t));3582 }3583 );3584 }3585 function Jr(n) {3586 for (var t = n.source, e = n.target, r = Kr(t, e), i = [t]; t !== r; )3587 (t = t.parent), i.push(t);3588 for (var u = i.length; e !== r; ) i.splice(u, 0, e), (e = e.parent);3589 return i;3590 }3591 function Gr(n) {3592 for (var t = [], e = n.parent; null != e; )3593 t.push(n), (n = e), (e = e.parent);3594 return t.push(n), t;3595 }3596 function Kr(n, t) {3597 if (n === t) return n;3598 for (3599 var e = Gr(n), r = Gr(t), i = e.pop(), u = r.pop(), o = null;3600 i === u;3601 )3602 (o = i), (i = e.pop()), (u = r.pop());3603 return o;3604 }3605 function Qr(n) {3606 n.fixed |= 2;3607 }3608 function ni(n) {3609 n.fixed &= -7;3610 }3611 function ti(n) {3612 (n.fixed |= 4), (n.px = n.x), (n.py = n.y);3613 }3614 function ei(n) {3615 n.fixed &= -5;3616 }3617 function ri(n, t, e) {3618 var r = 0,3619 i = 0;3620 if (((n.charge = 0), !n.leaf))3621 for (var u, o = n.nodes, a = o.length, l = -1; ++l < a; )3622 (u = o[l]),3623 null != u &&3624 (ri(u, t, e),3625 (n.charge += u.charge),3626 (r += u.charge * u.cx),3627 (i += u.charge * u.cy));3628 if (n.point) {3629 n.leaf ||3630 ((n.point.x += Math.random() - 0.5),3631 (n.point.y += Math.random() - 0.5));3632 var c = t * e[n.point.index];3633 (n.charge += n.pointCharge = c),3634 (r += c * n.point.x),3635 (i += c * n.point.y);3636 }3637 (n.cx = r / n.charge), (n.cy = i / n.charge);3638 }3639 function ii(n, t) {3640 return (3641 ao.rebind(n, t, "sort", "children", "value"),3642 (n.nodes = n),3643 (n.links = fi),3644 n3645 );3646 }3647 function ui(n, t) {3648 for (var e = [n]; null != (n = e.pop()); )3649 if ((t(n), (i = n.children) && (r = i.length)))3650 for (var r, i; --r >= 0; ) e.push(i[r]);3651 }3652 function oi(n, t) {3653 for (var e = [n], r = []; null != (n = e.pop()); )3654 if ((r.push(n), (u = n.children) && (i = u.length)))3655 for (var i, u, o = -1; ++o < i; ) e.push(u[o]);3656 for (; null != (n = r.pop()); ) t(n);3657 }3658 function ai(n) {3659 return n.children;3660 }3661 function li(n) {3662 return n.value;3663 }3664 function ci(n, t) {3665 return t.value - n.value;3666 }3667 function fi(n) {3668 return ao.merge(3669 n.map(function (n) {3670 return (n.children || []).map(function (t) {3671 return { source: n, target: t };3672 });3673 })3674 );3675 }3676 function si(n) {3677 return n.x;3678 }3679 function hi(n) {3680 return n.y;3681 }3682 function pi(n, t, e) {3683 (n.y0 = t), (n.y = e);3684 }3685 function gi(n) {3686 return ao.range(n.length);3687 }3688 function vi(n) {3689 for (var t = -1, e = n[0].length, r = []; ++t < e; ) r[t] = 0;3690 return r;3691 }3692 function di(n) {3693 for (var t, e = 1, r = 0, i = n[0][1], u = n.length; u > e; ++e)3694 (t = n[e][1]) > i && ((r = e), (i = t));3695 return r;3696 }3697 function yi(n) {3698 return n.reduce(mi, 0);3699 }3700 function mi(n, t) {3701 return n + t[1];3702 }3703 function Mi(n, t) {3704 return xi(n, Math.ceil(Math.log(t.length) / Math.LN2 + 1));3705 }3706 function xi(n, t) {3707 for (var e = -1, r = +n[0], i = (n[1] - r) / t, u = []; ++e <= t; )3708 u[e] = i * e + r;3709 return u;3710 }3711 function bi(n) {3712 return [ao.min(n), ao.max(n)];3713 }3714 function _i(n, t) {3715 return n.value - t.value;3716 }3717 function wi(n, t) {3718 var e = n._pack_next;3719 (n._pack_next = t),3720 (t._pack_prev = n),3721 (t._pack_next = e),3722 (e._pack_prev = t);3723 }3724 function Si(n, t) {3725 (n._pack_next = t), (t._pack_prev = n);3726 }3727 function ki(n, t) {3728 var e = t.x - n.x,3729 r = t.y - n.y,3730 i = n.r + t.r;3731 return 0.999 * i * i > e * e + r * r;3732 }3733 function Ni(n) {3734 function t(n) {3735 (f = Math.min(n.x - n.r, f)),3736 (s = Math.max(n.x + n.r, s)),3737 (h = Math.min(n.y - n.r, h)),3738 (p = Math.max(n.y + n.r, p));3739 }3740 if ((e = n.children) && (c = e.length)) {3741 var e,3742 r,3743 i,3744 u,3745 o,3746 a,3747 l,3748 c,3749 f = 1 / 0,3750 s = -(1 / 0),3751 h = 1 / 0,3752 p = -(1 / 0);3753 if (3754 (e.forEach(Ei),3755 (r = e[0]),3756 (r.x = -r.r),3757 (r.y = 0),3758 t(r),3759 c > 1 && ((i = e[1]), (i.x = i.r), (i.y = 0), t(i), c > 2))3760 )3761 for (3762 u = e[2],3763 zi(r, i, u),3764 t(u),3765 wi(r, u),3766 r._pack_prev = u,3767 wi(u, i),3768 i = r._pack_next,3769 o = 3;3770 c > o;3771 o++3772 ) {3773 zi(r, i, (u = e[o]));3774 var g = 0,3775 v = 1,3776 d = 1;3777 for (a = i._pack_next; a !== i; a = a._pack_next, v++)3778 if (ki(a, u)) {3779 g = 1;3780 break;3781 }3782 if (1 == g)3783 for (3784 l = r._pack_prev;3785 l !== a._pack_prev && !ki(l, u);3786 l = l._pack_prev, d++3787 );3788 g3789 ? (d > v || (v == d && i.r < r.r) ? Si(r, (i = a)) : Si((r = l), i),3790 o--)3791 : (wi(r, u), (i = u), t(u));3792 }3793 var y = (f + s) / 2,3794 m = (h + p) / 2,3795 M = 0;3796 for (o = 0; c > o; o++)3797 (u = e[o]),3798 (u.x -= y),3799 (u.y -= m),3800 (M = Math.max(M, u.r + Math.sqrt(u.x * u.x + u.y * u.y)));3801 (n.r = M), e.forEach(Ai);3802 }3803 }3804 function Ei(n) {3805 n._pack_next = n._pack_prev = n;3806 }3807 function Ai(n) {3808 delete n._pack_next, delete n._pack_prev;3809 }3810 function Ci(n, t, e, r) {3811 var i = n.children;3812 if (((n.x = t += r * n.x), (n.y = e += r * n.y), (n.r *= r), i))3813 for (var u = -1, o = i.length; ++u < o; ) Ci(i[u], t, e, r);3814 }3815 function zi(n, t, e) {3816 var r = n.r + e.r,3817 i = t.x - n.x,3818 u = t.y - n.y;3819 if (r && (i || u)) {3820 var o = t.r + e.r,3821 a = i * i + u * u;3822 (o *= o), (r *= r);3823 var l = 0.5 + (r - o) / (2 * a),3824 c =3825 Math.sqrt(Math.max(0, 2 * o * (r + a) - (r -= a) * r - o * o)) /3826 (2 * a);3827 (e.x = n.x + l * i + c * u), (e.y = n.y + l * u - c * i);3828 } else (e.x = n.x + r), (e.y = n.y);3829 }3830 function Li(n, t) {3831 return n.parent == t.parent ? 1 : 2;3832 }3833 function qi(n) {3834 var t = n.children;3835 return t.length ? t[0] : n.t;3836 }3837 function Ti(n) {3838 var t,3839 e = n.children;3840 return (t = e.length) ? e[t - 1] : n.t;3841 }3842 function Ri(n, t, e) {3843 var r = e / (t.i - n.i);3844 (t.c -= r), (t.s += e), (n.c += r), (t.z += e), (t.m += e);3845 }3846 function Di(n) {3847 for (var t, e = 0, r = 0, i = n.children, u = i.length; --u >= 0; )3848 (t = i[u]), (t.z += e), (t.m += e), (e += t.s + (r += t.c));3849 }3850 function Pi(n, t, e) {3851 return n.a.parent === t.parent ? n.a : e;3852 }3853 function Ui(n) {3854 return (3855 1 +3856 ao.max(n, function (n) {3857 return n.y;3858 })3859 );3860 }3861 function ji(n) {3862 return (3863 n.reduce(function (n, t) {3864 return n + t.x;3865 }, 0) / n.length3866 );3867 }3868 function Fi(n) {3869 var t = n.children;3870 return t && t.length ? Fi(t[0]) : n;3871 }3872 function Hi(n) {3873 var t,3874 e = n.children;3875 return e && (t = e.length) ? Hi(e[t - 1]) : n;3876 }3877 function Oi(n) {3878 return { x: n.x, y: n.y, dx: n.dx, dy: n.dy };3879 }3880 function Ii(n, t) {3881 var e = n.x + t[3],3882 r = n.y + t[0],3883 i = n.dx - t[1] - t[3],3884 u = n.dy - t[0] - t[2];3885 return (3886 0 > i && ((e += i / 2), (i = 0)),3887 0 > u && ((r += u / 2), (u = 0)),3888 { x: e, y: r, dx: i, dy: u }3889 );3890 }3891 function Yi(n) {3892 var t = n[0],3893 e = n[n.length - 1];3894 return e > t ? [t, e] : [e, t];3895 }3896 function Zi(n) {3897 return n.rangeExtent ? n.rangeExtent() : Yi(n.range());3898 }3899 function Vi(n, t, e, r) {3900 var i = e(n[0], n[1]),3901 u = r(t[0], t[1]);3902 return function (n) {3903 return u(i(n));3904 };3905 }3906 function Xi(n, t) {3907 var e,3908 r = 0,3909 i = n.length - 1,3910 u = n[r],3911 o = n[i];3912 return (3913 u > o && ((e = r), (r = i), (i = e), (e = u), (u = o), (o = e)),3914 (n[r] = t.floor(u)),3915 (n[i] = t.ceil(o)),3916 n3917 );3918 }3919 function $i(n) {3920 return n3921 ? {3922 floor: function (t) {3923 return Math.floor(t / n) * n;3924 },3925 ceil: function (t) {3926 return Math.ceil(t / n) * n;3927 },3928 }3929 : Sl;3930 }3931 function Bi(n, t, e, r) {3932 var i = [],3933 u = [],3934 o = 0,3935 a = Math.min(n.length, t.length) - 1;3936 for (3937 n[a] < n[0] && ((n = n.slice().reverse()), (t = t.slice().reverse()));3938 ++o <= a;3939 )3940 i.push(e(n[o - 1], n[o])), u.push(r(t[o - 1], t[o]));3941 return function (t) {3942 var e = ao.bisect(n, t, 1, a) - 1;3943 return u[e](i[e](t));3944 };3945 }3946 function Wi(n, t, e, r) {3947 function i() {3948 var i = Math.min(n.length, t.length) > 2 ? Bi : Vi,3949 l = r ? Wr : Br;3950 return (o = i(n, t, l, e)), (a = i(t, n, l, Mr)), u;3951 }3952 function u(n) {3953 return o(n);3954 }3955 var o, a;3956 return (3957 (u.invert = function (n) {3958 return a(n);3959 }),3960 (u.domain = function (t) {3961 return arguments.length ? ((n = t.map(Number)), i()) : n;3962 }),3963 (u.range = function (n) {3964 return arguments.length ? ((t = n), i()) : t;3965 }),3966 (u.rangeRound = function (n) {3967 return u.range(n).interpolate(Ur);3968 }),3969 (u.clamp = function (n) {3970 return arguments.length ? ((r = n), i()) : r;3971 }),3972 (u.interpolate = function (n) {3973 return arguments.length ? ((e = n), i()) : e;3974 }),3975 (u.ticks = function (t) {3976 return Qi(n, t);3977 }),3978 (u.tickFormat = function (t, e) {3979 return nu(n, t, e);3980 }),3981 (u.nice = function (t) {3982 return Gi(n, t), i();3983 }),3984 (u.copy = function () {3985 return Wi(n, t, e, r);3986 }),3987 i()3988 );3989 }3990 function Ji(n, t) {3991 return ao.rebind(n, t, "range", "rangeRound", "interpolate", "clamp");3992 }3993 function Gi(n, t) {3994 return Xi(n, $i(Ki(n, t)[2])), Xi(n, $i(Ki(n, t)[2])), n;3995 }3996 function Ki(n, t) {3997 null == t && (t = 10);3998 var e = Yi(n),3999 r = e[1] - e[0],4000 i = Math.pow(10, Math.floor(Math.log(r / t) / Math.LN10)),4001 u = (t / r) * i;4002 return (4003 0.15 >= u ? (i *= 10) : 0.35 >= u ? (i *= 5) : 0.75 >= u && (i *= 2),4004 (e[0] = Math.ceil(e[0] / i) * i),4005 (e[1] = Math.floor(e[1] / i) * i + 0.5 * i),4006 (e[2] = i),4007 e4008 );4009 }4010 function Qi(n, t) {4011 return ao.range.apply(ao, Ki(n, t));4012 }4013 function nu(n, t, e) {4014 var r = Ki(n, t);4015 if (e) {4016 var i = ha.exec(e);4017 if ((i.shift(), "s" === i[8])) {4018 var u = ao.formatPrefix(Math.max(xo(r[0]), xo(r[1])));4019 return (4020 i[7] || (i[7] = "." + tu(u.scale(r[2]))),4021 (i[8] = "f"),4022 (e = ao.format(i.join(""))),4023 function (n) {4024 return e(u.scale(n)) + u.symbol;4025 }4026 );4027 }4028 i[7] || (i[7] = "." + eu(i[8], r)), (e = i.join(""));4029 } else e = ",." + tu(r[2]) + "f";4030 return ao.format(e);4031 }4032 function tu(n) {4033 return -Math.floor(Math.log(n) / Math.LN10 + 0.01);4034 }4035 function eu(n, t) {4036 var e = tu(t[2]);4037 return n in kl4038 ? Math.abs(e - tu(Math.max(xo(t[0]), xo(t[1])))) + +("e" !== n)4039 : e - 2 * ("%" === n);4040 }4041 function ru(n, t, e, r) {4042 function i(n) {4043 return (4044 (e ? Math.log(0 > n ? 0 : n) : -Math.log(n > 0 ? 0 : -n)) / Math.log(t)4045 );4046 }4047 function u(n) {4048 return e ? Math.pow(t, n) : -Math.pow(t, -n);4049 }4050 function o(t) {4051 return n(i(t));4052 }4053 return (4054 (o.invert = function (t) {4055 return u(n.invert(t));4056 }),4057 (o.domain = function (t) {4058 return arguments.length4059 ? ((e = t[0] >= 0), n.domain((r = t.map(Number)).map(i)), o)4060 : r;4061 }),4062 (o.base = function (e) {4063 return arguments.length ? ((t = +e), n.domain(r.map(i)), o) : t;4064 }),4065 (o.nice = function () {4066 var t = Xi(r.map(i), e ? Math : El);4067 return n.domain(t), (r = t.map(u)), o;4068 }),4069 (o.ticks = function () {4070 var n = Yi(r),4071 o = [],4072 a = n[0],4073 l = n[1],4074 c = Math.floor(i(a)),4075 f = Math.ceil(i(l)),4076 s = t % 1 ? 2 : t;4077 if (isFinite(f - c)) {4078 if (e) {4079 for (; f > c; c++) for (var h = 1; s > h; h++) o.push(u(c) * h);4080 o.push(u(c));4081 } else4082 for (o.push(u(c)); c++ < f; )4083 for (var h = s - 1; h > 0; h--) o.push(u(c) * h);4084 for (c = 0; o[c] < a; c++);4085 for (f = o.length; o[f - 1] > l; f--);4086 o = o.slice(c, f);4087 }4088 return o;4089 }),4090 (o.tickFormat = function (n, e) {4091 if (!arguments.length) return Nl;4092 arguments.length < 24093 ? (e = Nl)4094 : "function" != typeof e && (e = ao.format(e));4095 var r = Math.max(1, (t * n) / o.ticks().length);4096 return function (n) {4097 var o = n / u(Math.round(i(n)));4098 return t - 0.5 > o * t && (o *= t), r >= o ? e(n) : "";4099 };4100 }),4101 (o.copy = function () {4102 return ru(n.copy(), t, e, r);4103 }),4104 Ji(o, n)4105 );4106 }4107 function iu(n, t, e) {4108 function r(t) {4109 return n(i(t));4110 }4111 var i = uu(t),4112 u = uu(1 / t);4113 return (4114 (r.invert = function (t) {4115 return u(n.invert(t));4116 }),4117 (r.domain = function (t) {4118 return arguments.length ? (n.domain((e = t.map(Number)).map(i)), r) : e;4119 }),4120 (r.ticks = function (n) {4121 return Qi(e, n);4122 }),4123 (r.tickFormat = function (n, t) {4124 return nu(e, n, t);4125 }),4126 (r.nice = function (n) {4127 return r.domain(Gi(e, n));4128 }),4129 (r.exponent = function (o) {4130 return arguments.length4131 ? ((i = uu((t = o))), (u = uu(1 / t)), n.domain(e.map(i)), r)4132 : t;4133 }),4134 (r.copy = function () {4135 return iu(n.copy(), t, e);4136 }),4137 Ji(r, n)4138 );4139 }4140 function uu(n) {4141 return function (t) {4142 return 0 > t ? -Math.pow(-t, n) : Math.pow(t, n);4143 };4144 }4145 function ou(n, t) {4146 function e(e) {4147 return u[4148 ((i.get(e) || ("range" === t.t ? i.set(e, n.push(e)) : NaN)) - 1) %4149 u.length4150 ];4151 }4152 function r(t, e) {4153 return ao.range(n.length).map(function (n) {4154 return t + e * n;4155 });4156 }4157 var i, u, o;4158 return (4159 (e.domain = function (r) {4160 if (!arguments.length) return n;4161 (n = []), (i = new c());4162 for (var u, o = -1, a = r.length; ++o < a; )4163 i.has((u = r[o])) || i.set(u, n.push(u));4164 return e[t.t].apply(e, t.a);4165 }),4166 (e.range = function (n) {4167 return arguments.length4168 ? ((u = n), (o = 0), (t = { t: "range", a: arguments }), e)4169 : u;4170 }),4171 (e.rangePoints = function (i, a) {4172 arguments.length < 2 && (a = 0);4173 var l = i[0],4174 c = i[1],4175 f =4176 n.length < 24177 ? ((l = (l + c) / 2), 0)4178 : (c - l) / (n.length - 1 + a);4179 return (4180 (u = r(l + (f * a) / 2, f)),4181 (o = 0),4182 (t = { t: "rangePoints", a: arguments }),4183 e4184 );4185 }),4186 (e.rangeRoundPoints = function (i, a) {4187 arguments.length < 2 && (a = 0);4188 var l = i[0],4189 c = i[1],4190 f =4191 n.length < 24192 ? ((l = c = Math.round((l + c) / 2)), 0)4193 : ((c - l) / (n.length - 1 + a)) | 0;4194 return (4195 (u = r(4196 l + Math.round((f * a) / 2 + (c - l - (n.length - 1 + a) * f) / 2),4197 f4198 )),4199 (o = 0),4200 (t = { t: "rangeRoundPoints", a: arguments }),4201 e4202 );4203 }),4204 (e.rangeBands = function (i, a, l) {4205 arguments.length < 2 && (a = 0), arguments.length < 3 && (l = a);4206 var c = i[1] < i[0],4207 f = i[c - 0],4208 s = i[1 - c],4209 h = (s - f) / (n.length - a + 2 * l);4210 return (4211 (u = r(f + h * l, h)),4212 c && u.reverse(),4213 (o = h * (1 - a)),4214 (t = { t: "rangeBands", a: arguments }),4215 e4216 );4217 }),4218 (e.rangeRoundBands = function (i, a, l) {4219 arguments.length < 2 && (a = 0), arguments.length < 3 && (l = a);4220 var c = i[1] < i[0],4221 f = i[c - 0],4222 s = i[1 - c],4223 h = Math.floor((s - f) / (n.length - a + 2 * l));4224 return (4225 (u = r(f + Math.round((s - f - (n.length - a) * h) / 2), h)),4226 c && u.reverse(),4227 (o = Math.round(h * (1 - a))),4228 (t = { t: "rangeRoundBands", a: arguments }),4229 e4230 );4231 }),4232 (e.rangeBand = function () {4233 return o;4234 }),4235 (e.rangeExtent = function () {4236 return Yi(t.a[0]);4237 }),4238 (e.copy = function () {4239 return ou(n, t);4240 }),4241 e.domain(n)4242 );4243 }4244 function au(n, t) {4245 function u() {4246 var e = 0,4247 r = t.length;4248 for (a = []; ++e < r; ) a[e - 1] = ao.quantile(n, e / r);4249 return o;4250 }4251 function o(n) {4252 return isNaN((n = +n)) ? void 0 : t[ao.bisect(a, n)];4253 }4254 var a;4255 return (4256 (o.domain = function (t) {4257 return arguments.length ? ((n = t.map(r).filter(i).sort(e)), u()) : n;4258 }),4259 (o.range = function (n) {4260 return arguments.length ? ((t = n), u()) : t;4261 }),4262 (o.quantiles = function () {4263 return a;4264 }),4265 (o.invertExtent = function (e) {4266 return (4267 (e = t.indexOf(e)),4268 0 > e4269 ? [NaN, NaN]4270 : [e > 0 ? a[e - 1] : n[0], e < a.length ? a[e] : n[n.length - 1]]4271 );4272 }),4273 (o.copy = function () {4274 return au(n, t);4275 }),4276 u()4277 );4278 }4279 function lu(n, t, e) {4280 function r(t) {4281 return e[Math.max(0, Math.min(o, Math.floor(u * (t - n))))];4282 }4283 function i() {4284 return (u = e.length / (t - n)), (o = e.length - 1), r;4285 }4286 var u, o;4287 return (4288 (r.domain = function (e) {4289 return arguments.length4290 ? ((n = +e[0]), (t = +e[e.length - 1]), i())4291 : [n, t];4292 }),4293 (r.range = function (n) {4294 return arguments.length ? ((e = n), i()) : e;4295 }),4296 (r.invertExtent = function (t) {4297 return (4298 (t = e.indexOf(t)), (t = 0 > t ? NaN : t / u + n), [t, t + 1 / u]4299 );4300 }),4301 (r.copy = function () {4302 return lu(n, t, e);4303 }),4304 i()4305 );4306 }4307 function cu(n, t) {4308 function e(e) {4309 return e >= e ? t[ao.bisect(n, e)] : void 0;4310 }4311 return (4312 (e.domain = function (t) {4313 return arguments.length ? ((n = t), e) : n;4314 }),4315 (e.range = function (n) {4316 return arguments.length ? ((t = n), e) : t;4317 }),4318 (e.invertExtent = function (e) {4319 return (e = t.indexOf(e)), [n[e - 1], n[e]];4320 }),4321 (e.copy = function () {4322 return cu(n, t);4323 }),4324 e4325 );4326 }4327 function fu(n) {4328 function t(n) {4329 return +n;4330 }4331 return (4332 (t.invert = t),4333 (t.domain = t.range = function (e) {4334 return arguments.length ? ((n = e.map(t)), t) : n;4335 }),4336 (t.ticks = function (t) {4337 return Qi(n, t);4338 }),4339 (t.tickFormat = function (t, e) {4340 return nu(n, t, e);4341 }),4342 (t.copy = function () {4343 return fu(n);4344 }),4345 t4346 );4347 }4348 function su() {4349 return 0;4350 }4351 function hu(n) {4352 return n.innerRadius;4353 }4354 function pu(n) {4355 return n.outerRadius;4356 }4357 function gu(n) {4358 return n.startAngle;4359 }4360 function vu(n) {4361 return n.endAngle;4362 }4363 function du(n) {4364 return n && n.padAngle;4365 }4366 function yu(n, t, e, r) {4367 return (n - e) * t - (t - r) * n > 0 ? 0 : 1;4368 }4369 function mu(n, t, e, r, i) {4370 var u = n[0] - t[0],4371 o = n[1] - t[1],4372 a = (i ? r : -r) / Math.sqrt(u * u + o * o),4373 l = a * o,4374 c = -a * u,4375 f = n[0] + l,4376 s = n[1] + c,4377 h = t[0] + l,4378 p = t[1] + c,4379 g = (f + h) / 2,4380 v = (s + p) / 2,4381 d = h - f,4382 y = p - s,4383 m = d * d + y * y,4384 M = e - r,4385 x = f * p - h * s,4386 b = (0 > y ? -1 : 1) * Math.sqrt(Math.max(0, M * M * m - x * x)),4387 _ = (x * y - d * b) / m,4388 w = (-x * d - y * b) / m,4389 S = (x * y + d * b) / m,4390 k = (-x * d + y * b) / m,4391 N = _ - g,4392 E = w - v,4393 A = S - g,4394 C = k - v;4395 return (4396 N * N + E * E > A * A + C * C && ((_ = S), (w = k)),4397 [4398 [_ - l, w - c],4399 [(_ * e) / M, (w * e) / M],4400 ]4401 );4402 }4403 function Mu(n) {4404 function t(t) {4405 function o() {4406 c.push("M", u(n(f), a));4407 }4408 for (4409 var l, c = [], f = [], s = -1, h = t.length, p = En(e), g = En(r);4410 ++s < h;4411 )4412 i.call(this, (l = t[s]), s)4413 ? f.push([+p.call(this, l, s), +g.call(this, l, s)])4414 : f.length && (o(), (f = []));4415 return f.length && o(), c.length ? c.join("") : null;4416 }4417 var e = Ce,4418 r = ze,4419 i = zt,4420 u = xu,4421 o = u.key,4422 a = 0.7;4423 return (4424 (t.x = function (n) {4425 return arguments.length ? ((e = n), t) : e;4426 }),4427 (t.y = function (n) {4428 return arguments.length ? ((r = n), t) : r;4429 }),4430 (t.defined = function (n) {4431 return arguments.length ? ((i = n), t) : i;4432 }),4433 (t.interpolate = function (n) {4434 return arguments.length4435 ? ((o = "function" == typeof n ? (u = n) : (u = Tl.get(n) || xu).key),4436 t)4437 : o;4438 }),4439 (t.tension = function (n) {4440 return arguments.length ? ((a = n), t) : a;4441 }),4442 t4443 );4444 }4445 function xu(n) {4446 return n.length > 1 ? n.join("L") : n + "Z";4447 }4448 function bu(n) {4449 return n.join("L") + "Z";4450 }4451 function _u(n) {4452 for (var t = 0, e = n.length, r = n[0], i = [r[0], ",", r[1]]; ++t < e; )4453 i.push("H", (r[0] + (r = n[t])[0]) / 2, "V", r[1]);4454 return e > 1 && i.push("H", r[0]), i.join("");4455 }4456 function wu(n) {4457 for (var t = 0, e = n.length, r = n[0], i = [r[0], ",", r[1]]; ++t < e; )4458 i.push("V", (r = n[t])[1], "H", r[0]);4459 return i.join("");4460 }4461 function Su(n) {4462 for (var t = 0, e = n.length, r = n[0], i = [r[0], ",", r[1]]; ++t < e; )4463 i.push("H", (r = n[t])[0], "V", r[1]);4464 return i.join("");4465 }4466 function ku(n, t) {4467 return n.length < 4 ? xu(n) : n[1] + Au(n.slice(1, -1), Cu(n, t));4468 }4469 function Nu(n, t) {4470 return n.length < 34471 ? bu(n)4472 : n[0] +4473 Au((n.push(n[0]), n), Cu([n[n.length - 2]].concat(n, [n[1]]), t));4474 }4475 function Eu(n, t) {4476 return n.length < 3 ? xu(n) : n[0] + Au(n, Cu(n, t));4477 }4478 function Au(n, t) {4479 if (t.length < 1 || (n.length != t.length && n.length != t.length + 2))4480 return xu(n);4481 var e = n.length != t.length,4482 r = "",4483 i = n[0],4484 u = n[1],4485 o = t[0],4486 a = o,4487 l = 1;4488 if (4489 (e &&4490 ((r +=4491 "Q" +4492 (u[0] - (2 * o[0]) / 3) +4493 "," +4494 (u[1] - (2 * o[1]) / 3) +4495 "," +4496 u[0] +4497 "," +4498 u[1]),4499 (i = n[1]),4500 (l = 2)),4501 t.length > 1)4502 ) {4503 (a = t[1]),4504 (u = n[l]),4505 l++,4506 (r +=4507 "C" +4508 (i[0] + o[0]) +4509 "," +4510 (i[1] + o[1]) +4511 "," +4512 (u[0] - a[0]) +4513 "," +4514 (u[1] - a[1]) +4515 "," +4516 u[0] +4517 "," +4518 u[1]);4519 for (var c = 2; c < t.length; c++, l++)4520 (u = n[l]),4521 (a = t[c]),4522 (r +=4523 "S" +4524 (u[0] - a[0]) +4525 "," +4526 (u[1] - a[1]) +4527 "," +4528 u[0] +4529 "," +4530 u[1]);4531 }4532 if (e) {4533 var f = n[l];4534 r +=4535 "Q" +4536 (u[0] + (2 * a[0]) / 3) +4537 "," +4538 (u[1] + (2 * a[1]) / 3) +4539 "," +4540 f[0] +4541 "," +4542 f[1];4543 }4544 return r;4545 }4546 function Cu(n, t) {4547 for (4548 var e, r = [], i = (1 - t) / 2, u = n[0], o = n[1], a = 1, l = n.length;4549 ++a < l;4550 )4551 (e = u),4552 (u = o),4553 (o = n[a]),4554 r.push([i * (o[0] - e[0]), i * (o[1] - e[1])]);4555 return r;4556 }4557 function zu(n) {4558 if (n.length < 3) return xu(n);4559 var t = 1,4560 e = n.length,4561 r = n[0],4562 i = r[0],4563 u = r[1],4564 o = [i, i, i, (r = n[1])[0]],4565 a = [u, u, u, r[1]],4566 l = [i, ",", u, "L", Ru(Pl, o), ",", Ru(Pl, a)];4567 for (n.push(n[e - 1]); ++t <= e; )4568 (r = n[t]), o.shift(), o.push(r[0]), a.shift(), a.push(r[1]), Du(l, o, a);4569 return n.pop(), l.push("L", r), l.join("");4570 }4571 function Lu(n) {4572 if (n.length < 4) return xu(n);4573 for (var t, e = [], r = -1, i = n.length, u = [0], o = [0]; ++r < 3; )4574 (t = n[r]), u.push(t[0]), o.push(t[1]);4575 for (e.push(Ru(Pl, u) + "," + Ru(Pl, o)), --r; ++r < i; )4576 (t = n[r]), u.shift(), u.push(t[0]), o.shift(), o.push(t[1]), Du(e, u, o);4577 return e.join("");4578 }4579 function qu(n) {4580 for (var t, e, r = -1, i = n.length, u = i + 4, o = [], a = []; ++r < 4; )4581 (e = n[r % i]), o.push(e[0]), a.push(e[1]);4582 for (t = [Ru(Pl, o), ",", Ru(Pl, a)], --r; ++r < u; )4583 (e = n[r % i]),4584 o.shift(),4585 o.push(e[0]),4586 a.shift(),4587 a.push(e[1]),4588 Du(t, o, a);4589 return t.join("");4590 }4591 function Tu(n, t) {4592 var e = n.length - 1;4593 if (e)4594 for (4595 var r,4596 i,4597 u = n[0][0],4598 o = n[0][1],4599 a = n[e][0] - u,4600 l = n[e][1] - o,4601 c = -1;4602 ++c <= e;4603 )4604 (r = n[c]),4605 (i = c / e),4606 (r[0] = t * r[0] + (1 - t) * (u + i * a)),4607 (r[1] = t * r[1] + (1 - t) * (o + i * l));4608 return zu(n);4609 }4610 function Ru(n, t) {4611 return n[0] * t[0] + n[1] * t[1] + n[2] * t[2] + n[3] * t[3];4612 }4613 function Du(n, t, e) {4614 n.push(4615 "C",4616 Ru(Rl, t),4617 ",",4618 Ru(Rl, e),4619 ",",4620 Ru(Dl, t),4621 ",",4622 Ru(Dl, e),4623 ",",4624 Ru(Pl, t),4625 ",",4626 Ru(Pl, e)4627 );4628 }4629 function Pu(n, t) {4630 return (t[1] - n[1]) / (t[0] - n[0]);4631 }4632 function Uu(n) {4633 for (4634 var t = 0,4635 e = n.length - 1,4636 r = [],4637 i = n[0],4638 u = n[1],4639 o = (r[0] = Pu(i, u));4640 ++t < e;4641 )4642 r[t] = (o + (o = Pu((i = u), (u = n[t + 1])))) / 2;4643 return (r[t] = o), r;4644 }4645 function ju(n) {4646 for (var t, e, r, i, u = [], o = Uu(n), a = -1, l = n.length - 1; ++a < l; )4647 (t = Pu(n[a], n[a + 1])),4648 xo(t) < Uo4649 ? (o[a] = o[a + 1] = 0)4650 : ((e = o[a] / t),4651 (r = o[a + 1] / t),4652 (i = e * e + r * r),4653 i > 9 &&4654 ((i = (3 * t) / Math.sqrt(i)),4655 (o[a] = i * e),4656 (o[a + 1] = i * r)));4657 for (a = -1; ++a <= l; )4658 (i =4659 (n[Math.min(l, a + 1)][0] - n[Math.max(0, a - 1)][0]) /4660 (6 * (1 + o[a] * o[a]))),4661 u.push([i || 0, o[a] * i || 0]);4662 return u;4663 }4664 function Fu(n) {4665 return n.length < 3 ? xu(n) : n[0] + Au(n, ju(n));4666 }4667 function Hu(n) {4668 for (var t, e, r, i = -1, u = n.length; ++i < u; )4669 (t = n[i]),4670 (e = t[0]),4671 (r = t[1] - Io),4672 (t[0] = e * Math.cos(r)),4673 (t[1] = e * Math.sin(r));4674 return n;4675 }4676 function Ou(n) {4677 function t(t) {4678 function l() {4679 v.push("M", a(n(y), s), f, c(n(d.reverse()), s), "Z");4680 }4681 for (4682 var h,4683 p,4684 g,4685 v = [],4686 d = [],4687 y = [],4688 m = -1,4689 M = t.length,4690 x = En(e),4691 b = En(i),4692 _ =4693 e === r4694 ? function () {4695 return p;4696 }4697 : En(r),4698 w =4699 i === u4700 ? function () {4701 return g;4702 }4703 : En(u);4704 ++m < M;4705 )4706 o.call(this, (h = t[m]), m)4707 ? (d.push([(p = +x.call(this, h, m)), (g = +b.call(this, h, m))]),4708 y.push([+_.call(this, h, m), +w.call(this, h, m)]))4709 : d.length && (l(), (d = []), (y = []));4710 return d.length && l(), v.length ? v.join("") : null;4711 }4712 var e = Ce,4713 r = Ce,4714 i = 0,4715 u = ze,4716 o = zt,4717 a = xu,4718 l = a.key,4719 c = a,4720 f = "L",4721 s = 0.7;4722 return (4723 (t.x = function (n) {4724 return arguments.length ? ((e = r = n), t) : r;4725 }),4726 (t.x0 = function (n) {4727 return arguments.length ? ((e = n), t) : e;4728 }),4729 (t.x1 = function (n) {4730 return arguments.length ? ((r = n), t) : r;4731 }),4732 (t.y = function (n) {4733 return arguments.length ? ((i = u = n), t) : u;4734 }),4735 (t.y0 = function (n) {4736 return arguments.length ? ((i = n), t) : i;4737 }),4738 (t.y1 = function (n) {4739 return arguments.length ? ((u = n), t) : u;4740 }),4741 (t.defined = function (n) {4742 return arguments.length ? ((o = n), t) : o;4743 }),4744 (t.interpolate = function (n) {4745 return arguments.length4746 ? ((l = "function" == typeof n ? (a = n) : (a = Tl.get(n) || xu).key),4747 (c = a.reverse || a),4748 (f = a.closed ? "M" : "L"),4749 t)4750 : l;4751 }),4752 (t.tension = function (n) {4753 return arguments.length ? ((s = n), t) : s;4754 }),4755 t4756 );4757 }4758 function Iu(n) {4759 return n.radius;4760 }4761 function Yu(n) {4762 return [n.x, n.y];4763 }4764 function Zu(n) {4765 return function () {4766 var t = n.apply(this, arguments),4767 e = t[0],4768 r = t[1] - Io;4769 return [e * Math.cos(r), e * Math.sin(r)];4770 };4771 }4772 function Vu() {4773 return 64;4774 }4775 function Xu() {4776 return "circle";4777 }4778 function $u(n) {4779 var t = Math.sqrt(n / Fo);4780 return (4781 "M0," +4782 t +4783 "A" +4784 t +4785 "," +4786 t +4787 " 0 1,1 0," +4788 -t +4789 "A" +4790 t +4791 "," +4792 t +4793 " 0 1,1 0," +4794 t +4795 "Z"4796 );4797 }4798 function Bu(n) {4799 return function () {4800 var t, e, r;4801 (t = this[n]) &&4802 (r = t[(e = t.active)]) &&4803 ((r.timer.c = null),4804 (r.timer.t = NaN),4805 --t.count ? delete t[e] : delete this[n],4806 (t.active += 0.5),4807 r.event && r.event.interrupt.call(this, this.__data__, r.index));4808 };4809 }4810 function Wu(n, t, e) {4811 return ko(n, Yl), (n.namespace = t), (n.id = e), n;4812 }4813 function Ju(n, t, e, r) {4814 var i = n.id,4815 u = n.namespace;4816 return Y(4817 n,4818 "function" == typeof e4819 ? function (n, o, a) {4820 n[u][i].tween.set(t, r(e.call(n, n.__data__, o, a)));4821 }4822 : ((e = r(e)),4823 function (n) {4824 n[u][i].tween.set(t, e);4825 })4826 );4827 }4828 function Gu(n) {4829 return (4830 null == n && (n = ""),4831 function () {4832 this.textContent = n;4833 }4834 );4835 }4836 function Ku(n) {4837 return null == n ? "__transition__" : "__transition_" + n + "__";4838 }4839 function Qu(n, t, e, r, i) {4840 function u(n) {4841 var t = v.delay;4842 return (f.t = t + l), n >= t ? o(n - t) : void (f.c = o);4843 }4844 function o(e) {4845 var i = g.active,4846 u = g[i];4847 u &&4848 ((u.timer.c = null),4849 (u.timer.t = NaN),4850 --g.count,4851 delete g[i],4852 u.event && u.event.interrupt.call(n, n.__data__, u.index));4853 for (var o in g)4854 if (r > +o) {4855 var c = g[o];4856 (c.timer.c = null), (c.timer.t = NaN), --g.count, delete g[o];4857 }4858 (f.c = a),4859 qn(4860 function () {4861 return f.c && a(e || 1) && ((f.c = null), (f.t = NaN)), 1;4862 },4863 0,4864 l4865 ),4866 (g.active = r),4867 v.event && v.event.start.call(n, n.__data__, t),4868 (p = []),4869 v.tween.forEach(function (e, r) {4870 (r = r.call(n, n.__data__, t)) && p.push(r);4871 }),4872 (h = v.ease),4873 (s = v.duration);4874 }4875 function a(i) {4876 for (var u = i / s, o = h(u), a = p.length; a > 0; ) p[--a].call(n, o);4877 return u >= 14878 ? (v.event && v.event.end.call(n, n.__data__, t),4879 --g.count ? delete g[r] : delete n[e],4880 1)4881 : void 0;4882 }4883 var l,4884 f,4885 s,4886 h,4887 p,4888 g = n[e] || (n[e] = { active: 0, count: 0 }),4889 v = g[r];4890 v ||4891 ((l = i.time),4892 (f = qn(u, 0, l)),4893 (v = g[r] = {4894 tween: new c(),4895 time: l,4896 timer: f,4897 delay: i.delay,4898 duration: i.duration,4899 ease: i.ease,4900 index: t,4901 }),4902 (i = null),4903 ++g.count);4904 }4905 function no(n, t, e) {4906 n.attr("transform", function (n) {4907 var r = t(n);4908 return "translate(" + (isFinite(r) ? r : e(n)) + ",0)";4909 });4910 }4911 function to(n, t, e) {4912 n.attr("transform", function (n) {4913 var r = t(n);4914 return "translate(0," + (isFinite(r) ? r : e(n)) + ")";4915 });4916 }4917 function eo(n) {4918 return n.toISOString();4919 }4920 function ro(n, t, e) {4921 function r(t) {4922 return n(t);4923 }4924 function i(n, e) {4925 var r = n[1] - n[0],4926 i = r / e,4927 u = ao.bisect(Kl, i);4928 return u == Kl.length4929 ? [4930 t.year,4931 Ki(4932 n.map(function (n) {4933 return n / 31536e6;4934 }),4935 e4936 )[2],4937 ]4938 : u4939 ? t[i / Kl[u - 1] < Kl[u] / i ? u - 1 : u]4940 : [tc, Ki(n, e)[2]];4941 }4942 return (4943 (r.invert = function (t) {4944 return io(n.invert(t));4945 }),4946 (r.domain = function (t) {4947 return arguments.length ? (n.domain(t), r) : n.domain().map(io);4948 }),4949 (r.nice = function (n, t) {4950 function e(e) {4951 return !isNaN(e) && !n.range(e, io(+e + 1), t).length;4952 }4953 var u = r.domain(),4954 o = Yi(u),4955 a = null == n ? i(o, 10) : "number" == typeof n && i(o, n);4956 return (4957 a && ((n = a[0]), (t = a[1])),4958 r.domain(4959 Xi(4960 u,4961 t > 14962 ? {4963 floor: function (t) {4964 for (; e((t = n.floor(t))); ) t = io(t - 1);4965 return t;4966 },4967 ceil: function (t) {4968 for (; e((t = n.ceil(t))); ) t = io(+t + 1);4969 return t;4970 },4971 }4972 : n4973 )4974 )4975 );4976 }),4977 (r.ticks = function (n, t) {4978 var e = Yi(r.domain()),4979 u =4980 null == n4981 ? i(e, 10)4982 : "number" == typeof n4983 ? i(e, n)4984 : !n.range && [{ range: n }, t];4985 return (4986 u && ((n = u[0]), (t = u[1])),4987 n.range(e[0], io(+e[1] + 1), 1 > t ? 1 : t)4988 );4989 }),4990 (r.tickFormat = function () {4991 return e;4992 }),4993 (r.copy = function () {4994 return ro(n.copy(), t, e);4995 }),4996 Ji(r, n)4997 );4998 }4999 function io(n) {5000 return new Date(n);5001 }5002 function uo(n) {5003 return JSON.parse(n.responseText);5004 }5005 function oo(n) {5006 var t = fo.createRange();5007 return t.selectNode(fo.body), t.createContextualFragment(n.responseText);5008 }5009 var ao = { version: "3.5.17" },5010 lo = [].slice,5011 co = function (n) {5012 return lo.call(n);5013 },5014 fo = this.document;5015 if (fo)5016 try {5017 co(fo.documentElement.childNodes)[0].nodeType;5018 } catch (so) {5019 co = function (n) {5020 for (var t = n.length, e = new Array(t); t--; ) e[t] = n[t];5021 return e;5022 };5023 }5024 if (5025 (Date.now ||5026 (Date.now = function () {5027 return +new Date();5028 }),5029 fo)5030 )5031 try {5032 fo.createElement("DIV").style.setProperty("opacity", 0, "");5033 } catch (ho) {5034 var po = this.Element.prototype,5035 go = po.setAttribute,5036 vo = po.setAttributeNS,5037 yo = this.CSSStyleDeclaration.prototype,5038 mo = yo.setProperty;5039 (po.setAttribute = function (n, t) {5040 go.call(this, n, t + "");5041 }),5042 (po.setAttributeNS = function (n, t, e) {5043 vo.call(this, n, t, e + "");5044 }),5045 (yo.setProperty = function (n, t, e) {5046 mo.call(this, n, t + "", e);5047 });5048 }5049 (ao.ascending = e),5050 (ao.descending = function (n, t) {5051 return n > t ? -1 : t > n ? 1 : t >= n ? 0 : NaN;5052 }),5053 (ao.min = function (n, t) {5054 var e,5055 r,5056 i = -1,5057 u = n.length;5058 if (1 === arguments.length) {5059 for (; ++i < u; )5060 if (null != (r = n[i]) && r >= r) {5061 e = r;5062 break;5063 }5064 for (; ++i < u; ) null != (r = n[i]) && e > r && (e = r);5065 } else {5066 for (; ++i < u; )5067 if (null != (r = t.call(n, n[i], i)) && r >= r) {5068 e = r;5069 break;5070 }5071 for (; ++i < u; ) null != (r = t.call(n, n[i], i)) && e > r && (e = r);5072 }5073 return e;5074 }),5075 (ao.max = function (n, t) {5076 var e,5077 r,5078 i = -1,5079 u = n.length;5080 if (1 === arguments.length) {5081 for (; ++i < u; )5082 if (null != (r = n[i]) && r >= r) {5083 e = r;5084 break;5085 }5086 for (; ++i < u; ) null != (r = n[i]) && r > e && (e = r);5087 } else {5088 for (; ++i < u; )5089 if (null != (r = t.call(n, n[i], i)) && r >= r) {5090 e = r;5091 break;5092 }5093 for (; ++i < u; ) null != (r = t.call(n, n[i], i)) && r > e && (e = r);5094 }5095 return e;5096 }),5097 (ao.extent = function (n, t) {5098 var e,5099 r,5100 i,5101 u = -1,5102 o = n.length;5103 if (1 === arguments.length) {5104 for (; ++u < o; )5105 if (null != (r = n[u]) && r >= r) {5106 e = i = r;5107 break;5108 }5109 for (; ++u < o; )5110 null != (r = n[u]) && (e > r && (e = r), r > i && (i = r));5111 } else {5112 for (; ++u < o; )5113 if (null != (r = t.call(n, n[u], u)) && r >= r) {5114 e = i = r;5115 break;5116 }5117 for (; ++u < o; )5118 null != (r = t.call(n, n[u], u)) &&5119 (e > r && (e = r), r > i && (i = r));5120 }5121 return [e, i];5122 }),5123 (ao.sum = function (n, t) {5124 var e,5125 r = 0,5126 u = n.length,5127 o = -1;5128 if (1 === arguments.length) for (; ++o < u; ) i((e = +n[o])) && (r += e);5129 else for (; ++o < u; ) i((e = +t.call(n, n[o], o))) && (r += e);5130 return r;5131 }),5132 (ao.mean = function (n, t) {5133 var e,5134 u = 0,5135 o = n.length,5136 a = -1,5137 l = o;5138 if (1 === arguments.length)5139 for (; ++a < o; ) i((e = r(n[a]))) ? (u += e) : --l;5140 else for (; ++a < o; ) i((e = r(t.call(n, n[a], a)))) ? (u += e) : --l;5141 return l ? u / l : void 0;5142 }),5143 (ao.quantile = function (n, t) {5144 var e = (n.length - 1) * t + 1,5145 r = Math.floor(e),5146 i = +n[r - 1],5147 u = e - r;5148 return u ? i + u * (n[r] - i) : i;5149 }),5150 (ao.median = function (n, t) {5151 var u,5152 o = [],5153 a = n.length,5154 l = -1;5155 if (1 === arguments.length)5156 for (; ++l < a; ) i((u = r(n[l]))) && o.push(u);5157 else for (; ++l < a; ) i((u = r(t.call(n, n[l], l)))) && o.push(u);5158 return o.length ? ao.quantile(o.sort(e), 0.5) : void 0;5159 }),5160 (ao.variance = function (n, t) {5161 var e,5162 u,5163 o = n.length,5164 a = 0,5165 l = 0,5166 c = -1,5167 f = 0;5168 if (1 === arguments.length)5169 for (; ++c < o; )5170 i((e = r(n[c]))) && ((u = e - a), (a += u / ++f), (l += u * (e - a)));5171 else5172 for (; ++c < o; )5173 i((e = r(t.call(n, n[c], c)))) &&5174 ((u = e - a), (a += u / ++f), (l += u * (e - a)));5175 return f > 1 ? l / (f - 1) : void 0;5176 }),5177 (ao.deviation = function () {5178 var n = ao.variance.apply(this, arguments);5179 return n ? Math.sqrt(n) : n;5180 });5181 var Mo = u(e);5182 (ao.bisectLeft = Mo.left),5183 (ao.bisect = ao.bisectRight = Mo.right),5184 (ao.bisector = function (n) {5185 return u(5186 1 === n.length5187 ? function (t, r) {5188 return e(n(t), r);5189 }5190 : n5191 );5192 }),5193 (ao.shuffle = function (n, t, e) {5194 (u = arguments.length) < 3 && ((e = n.length), 2 > u && (t = 0));5195 for (var r, i, u = e - t; u; )5196 (i = (Math.random() * u--) | 0),5197 (r = n[u + t]),5198 (n[u + t] = n[i + t]),5199 (n[i + t] = r);5200 return n;5201 }),5202 (ao.permute = function (n, t) {5203 for (var e = t.length, r = new Array(e); e--; ) r[e] = n[t[e]];5204 return r;5205 }),5206 (ao.pairs = function (n) {5207 for (5208 var t, e = 0, r = n.length - 1, i = n[0], u = new Array(0 > r ? 0 : r);5209 r > e;5210 )5211 u[e] = [(t = i), (i = n[++e])];5212 return u;5213 }),5214 (ao.transpose = function (n) {5215 if (!(i = n.length)) return [];5216 for (var t = -1, e = ao.min(n, o), r = new Array(e); ++t < e; )5217 for (var i, u = -1, a = (r[t] = new Array(i)); ++u < i; )5218 a[u] = n[u][t];5219 return r;5220 }),5221 (ao.zip = function () {5222 return ao.transpose(arguments);5223 }),5224 (ao.keys = function (n) {5225 var t = [];5226 for (var e in n) t.push(e);5227 return t;5228 }),5229 (ao.values = function (n) {5230 var t = [];5231 for (var e in n) t.push(n[e]);5232 return t;5233 }),5234 (ao.entries = function (n) {5235 var t = [];5236 for (var e in n) t.push({ key: e, value: n[e] });5237 return t;5238 }),5239 (ao.merge = function (n) {5240 for (var t, e, r, i = n.length, u = -1, o = 0; ++u < i; )5241 o += n[u].length;5242 for (e = new Array(o); --i >= 0; )5243 for (r = n[i], t = r.length; --t >= 0; ) e[--o] = r[t];5244 return e;5245 });5246 var xo = Math.abs;5247 (ao.range = function (n, t, e) {5248 if (5249 (arguments.length < 3 &&5250 ((e = 1), arguments.length < 2 && ((t = n), (n = 0))),5251 (t - n) / e === 1 / 0)5252 )5253 throw new Error("infinite range");5254 var r,5255 i = [],5256 u = a(xo(e)),5257 o = -1;5258 if (((n *= u), (t *= u), (e *= u), 0 > e))5259 for (; (r = n + e * ++o) > t; ) i.push(r / u);5260 else for (; (r = n + e * ++o) < t; ) i.push(r / u);5261 return i;5262 }),5263 (ao.map = function (n, t) {5264 var e = new c();5265 if (n instanceof c)5266 n.forEach(function (n, t) {5267 e.set(n, t);5268 });5269 else if (Array.isArray(n)) {5270 var r,5271 i = -1,5272 u = n.length;5273 if (1 === arguments.length) for (; ++i < u; ) e.set(i, n[i]);5274 else for (; ++i < u; ) e.set(t.call(n, (r = n[i]), i), r);5275 } else for (var o in n) e.set(o, n[o]);5276 return e;5277 });5278 var bo = "__proto__",5279 _o = "\x00";5280 l(c, {5281 has: h,5282 get: function (n) {5283 return this._[f(n)];5284 },5285 set: function (n, t) {5286 return (this._[f(n)] = t);5287 },5288 remove: p,5289 keys: g,5290 values: function () {5291 var n = [];5292 for (var t in this._) n.push(this._[t]);5293 return n;5294 },5295 entries: function () {5296 var n = [];5297 for (var t in this._) n.push({ key: s(t), value: this._[t] });5298 return n;5299 },5300 size: v,5301 empty: d,5302 forEach: function (n) {5303 for (var t in this._) n.call(this, s(t), this._[t]);5304 },5305 }),5306 (ao.nest = function () {5307 function n(t, o, a) {5308 if (a >= u.length) return r ? r.call(i, o) : e ? o.sort(e) : o;5309 for (5310 var l, f, s, h, p = -1, g = o.length, v = u[a++], d = new c();5311 ++p < g;5312 )5313 (h = d.get((l = v((f = o[p]))))) ? h.push(f) : d.set(l, [f]);5314 return (5315 t5316 ? ((f = t()),5317 (s = function (e, r) {5318 f.set(e, n(t, r, a));5319 }))5320 : ((f = {}),5321 (s = function (e, r) {5322 f[e] = n(t, r, a);5323 })),5324 d.forEach(s),5325 f5326 );5327 }5328 function t(n, e) {5329 if (e >= u.length) return n;5330 var r = [],5331 i = o[e++];5332 return (5333 n.forEach(function (n, i) {5334 r.push({ key: n, values: t(i, e) });5335 }),5336 i5337 ? r.sort(function (n, t) {5338 return i(n.key, t.key);5339 })5340 : r5341 );5342 }5343 var e,5344 r,5345 i = {},5346 u = [],5347 o = [];5348 return (5349 (i.map = function (t, e) {5350 return n(e, t, 0);5351 }),5352 (i.entries = function (e) {5353 return t(n(ao.map, e, 0), 0);5354 }),5355 (i.key = function (n) {5356 return u.push(n), i;5357 }),5358 (i.sortKeys = function (n) {5359 return (o[u.length - 1] = n), i;5360 }),5361 (i.sortValues = function (n) {5362 return (e = n), i;5363 }),5364 (i.rollup = function (n) {5365 return (r = n), i;5366 }),5367 i5368 );5369 }),5370 (ao.set = function (n) {5371 var t = new y();5372 if (n) for (var e = 0, r = n.length; r > e; ++e) t.add(n[e]);5373 return t;5374 }),5375 l(y, {5376 has: h,5377 add: function (n) {5378 return (this._[f((n += ""))] = !0), n;5379 },5380 remove: p,5381 values: g,5382 size: v,5383 empty: d,5384 forEach: function (n) {5385 for (var t in this._) n.call(this, s(t));5386 },5387 }),5388 (ao.behavior = {}),5389 (ao.rebind = function (n, t) {5390 for (var e, r = 1, i = arguments.length; ++r < i; )5391 n[(e = arguments[r])] = M(n, t, t[e]);5392 return n;5393 });5394 var wo = ["webkit", "ms", "moz", "Moz", "o", "O"];5395 (ao.dispatch = function () {5396 for (var n = new _(), t = -1, e = arguments.length; ++t < e; )5397 n[arguments[t]] = w(n);5398 return n;5399 }),5400 (_.prototype.on = function (n, t) {5401 var e = n.indexOf("."),5402 r = "";5403 if ((e >= 0 && ((r = n.slice(e + 1)), (n = n.slice(0, e))), n))5404 return arguments.length < 2 ? this[n].on(r) : this[n].on(r, t);5405 if (2 === arguments.length) {5406 if (null == t)5407 for (n in this) this.hasOwnProperty(n) && this[n].on(r, null);5408 return this;5409 }5410 }),5411 (ao.event = null),5412 (ao.requote = function (n) {5413 return n.replace(So, "\\$&");5414 });5415 var So = /[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g,5416 ko = {}.__proto__5417 ? function (n, t) {5418 n.__proto__ = t;5419 }5420 : function (n, t) {5421 for (var e in t) n[e] = t[e];5422 },5423 No = function (n, t) {5424 return t.querySelector(n);5425 },5426 Eo = function (n, t) {5427 return t.querySelectorAll(n);5428 },5429 Ao = function (n, t) {5430 var e = n.matches || n[x(n, "matchesSelector")];5431 return (Ao = function (n, t) {5432 return e.call(n, t);5433 })(n, t);5434 };5435 "function" == typeof Sizzle &&5436 ((No = function (n, t) {5437 return Sizzle(n, t)[0] || null;5438 }),5439 (Eo = Sizzle),5440 (Ao = Sizzle.matchesSelector)),5441 (ao.selection = function () {5442 return ao.select(fo.documentElement);5443 });5444 var Co = (ao.selection.prototype = []);5445 (Co.select = function (n) {5446 var t,5447 e,5448 r,5449 i,5450 u = [];5451 n = A(n);5452 for (var o = -1, a = this.length; ++o < a; ) {5453 u.push((t = [])), (t.parentNode = (r = this[o]).parentNode);5454 for (var l = -1, c = r.length; ++l < c; )5455 (i = r[l])5456 ? (t.push((e = n.call(i, i.__data__, l, o))),5457 e && "__data__" in i && (e.__data__ = i.__data__))5458 : t.push(null);5459 }5460 return E(u);5461 }),5462 (Co.selectAll = function (n) {5463 var t,5464 e,5465 r = [];5466 n = C(n);5467 for (var i = -1, u = this.length; ++i < u; )5468 for (var o = this[i], a = -1, l = o.length; ++a < l; )5469 (e = o[a]) &&5470 (r.push((t = co(n.call(e, e.__data__, a, i)))), (t.parentNode = e));5471 return E(r);5472 });5473 var zo = "http://www.w3.org/1999/xhtml",5474 Lo = {5475 svg: "http://www.w3.org/2000/svg",5476 xhtml: zo,5477 xlink: "http://www.w3.org/1999/xlink",5478 xml: "http://www.w3.org/XML/1998/namespace",5479 xmlns: "http://www.w3.org/2000/xmlns/",5480 };5481 (ao.ns = {5482 prefix: Lo,5483 qualify: function (n) {5484 var t = n.indexOf(":"),5485 e = n;5486 return (5487 t >= 0 && "xmlns" !== (e = n.slice(0, t)) && (n = n.slice(t + 1)),5488 Lo.hasOwnProperty(e) ? { space: Lo[e], local: n } : n5489 );5490 },5491 }),5492 (Co.attr = function (n, t) {5493 if (arguments.length < 2) {5494 if ("string" == typeof n) {5495 var e = this.node();5496 return (5497 (n = ao.ns.qualify(n)),5498 n.local ? e.getAttributeNS(n.space, n.local) : e.getAttribute(n)5499 );5500 }5501 for (t in n) this.each(z(t, n[t]));5502 return this;5503 }5504 return this.each(z(n, t));5505 }),5506 (Co.classed = function (n, t) {5507 if (arguments.length < 2) {5508 if ("string" == typeof n) {5509 var e = this.node(),5510 r = (n = T(n)).length,5511 i = -1;5512 if ((t = e.classList)) {5513 for (; ++i < r; ) if (!t.contains(n[i])) return !1;5514 } else5515 for (t = e.getAttribute("class"); ++i < r; )5516 if (!q(n[i]).test(t)) return !1;5517 return !0;5518 }5519 for (t in n) this.each(R(t, n[t]));5520 return this;5521 }5522 return this.each(R(n, t));5523 }),5524 (Co.style = function (n, e, r) {5525 var i = arguments.length;5526 if (3 > i) {5527 if ("string" != typeof n) {5528 2 > i && (e = "");5529 for (r in n) this.each(P(r, n[r], e));5530 return this;5531 }5532 if (2 > i) {5533 var u = this.node();5534 return t(u).getComputedStyle(u, null).getPropertyValue(n);5535 }5536 r = "";5537 }5538 return this.each(P(n, e, r));5539 }),5540 (Co.property = function (n, t) {5541 if (arguments.length < 2) {5542 if ("string" == typeof n) return this.node()[n];5543 for (t in n) this.each(U(t, n[t]));5544 return this;5545 }5546 return this.each(U(n, t));5547 }),5548 (Co.text = function (n) {5549 return arguments.length5550 ? this.each(5551 "function" == typeof n5552 ? function () {5553 var t = n.apply(this, arguments);5554 this.textContent = null == t ? "" : t;5555 }5556 : null == n5557 ? function () {5558 this.textContent = "";5559 }5560 : function () {5561 this.textContent = n;5562 }5563 )5564 : this.node().textContent;5565 }),5566 (Co.html = function (n) {5567 return arguments.length5568 ? this.each(5569 "function" == typeof n5570 ? function () {5571 var t = n.apply(this, arguments);5572 this.innerHTML = null == t ? "" : t;5573 }5574 : null == n5575 ? function () {5576 this.innerHTML = "";5577 }5578 : function () {5579 this.innerHTML = n;5580 }5581 )5582 : this.node().innerHTML;5583 }),5584 (Co.append = function (n) {5585 return (5586 (n = j(n)),5587 this.select(function () {5588 return this.appendChild(n.apply(this, arguments));5589 })5590 );5591 }),5592 (Co.insert = function (n, t) {5593 return (5594 (n = j(n)),5595 (t = A(t)),5596 this.select(function () {5597 return this.insertBefore(5598 n.apply(this, arguments),5599 t.apply(this, arguments) || null5600 );5601 })5602 );5603 }),5604 (Co.remove = function () {5605 return this.each(F);5606 }),5607 (Co.data = function (n, t) {5608 function e(n, e) {5609 var r,5610 i,5611 u,5612 o = n.length,5613 s = e.length,5614 h = Math.min(o, s),5615 p = new Array(s),5616 g = new Array(s),5617 v = new Array(o);5618 if (t) {5619 var d,5620 y = new c(),5621 m = new Array(o);5622 for (r = -1; ++r < o; )5623 (i = n[r]) &&5624 (y.has((d = t.call(i, i.__data__, r))) ? (v[r] = i) : y.set(d, i),5625 (m[r] = d));5626 for (r = -1; ++r < s; )5627 (i = y.get((d = t.call(e, (u = e[r]), r))))5628 ? i !== !0 && ((p[r] = i), (i.__data__ = u))5629 : (g[r] = H(u)),5630 y.set(d, !0);5631 for (r = -1; ++r < o; ) r in m && y.get(m[r]) !== !0 && (v[r] = n[r]);5632 } else {5633 for (r = -1; ++r < h; )5634 (i = n[r]),5635 (u = e[r]),5636 i ? ((i.__data__ = u), (p[r] = i)) : (g[r] = H(u));5637 for (; s > r; ++r) g[r] = H(e[r]);5638 for (; o > r; ++r) v[r] = n[r];5639 }5640 (g.update = p),5641 (g.parentNode = p.parentNode = v.parentNode = n.parentNode),5642 a.push(g),5643 l.push(p),5644 f.push(v);5645 }5646 var r,5647 i,5648 u = -1,5649 o = this.length;5650 if (!arguments.length) {5651 for (n = new Array((o = (r = this[0]).length)); ++u < o; )5652 (i = r[u]) && (n[u] = i.__data__);5653 return n;5654 }5655 var a = Z([]),5656 l = E([]),5657 f = E([]);5658 if ("function" == typeof n)5659 for (; ++u < o; ) e((r = this[u]), n.call(r, r.parentNode.__data__, u));5660 else for (; ++u < o; ) e((r = this[u]), n);5661 return (5662 (l.enter = function () {5663 return a;5664 }),5665 (l.exit = function () {5666 return f;5667 }),5668 l5669 );5670 }),5671 (Co.datum = function (n) {5672 return arguments.length5673 ? this.property("__data__", n)5674 : this.property("__data__");5675 }),5676 (Co.filter = function (n) {5677 var t,5678 e,5679 r,5680 i = [];5681 "function" != typeof n && (n = O(n));5682 for (var u = 0, o = this.length; o > u; u++) {5683 i.push((t = [])), (t.parentNode = (e = this[u]).parentNode);5684 for (var a = 0, l = e.length; l > a; a++)5685 (r = e[a]) && n.call(r, r.__data__, a, u) && t.push(r);5686 }5687 return E(i);5688 }),5689 (Co.order = function () {5690 for (var n = -1, t = this.length; ++n < t; )5691 for (var e, r = this[n], i = r.length - 1, u = r[i]; --i >= 0; )5692 (e = r[i]) &&5693 (u && u !== e.nextSibling && u.parentNode.insertBefore(e, u),5694 (u = e));5695 return this;5696 }),5697 (Co.sort = function (n) {5698 n = I.apply(this, arguments);5699 for (var t = -1, e = this.length; ++t < e; ) this[t].sort(n);5700 return this.order();5701 }),5702 (Co.each = function (n) {5703 return Y(this, function (t, e, r) {5704 n.call(t, t.__data__, e, r);5705 });5706 }),5707 (Co.call = function (n) {5708 var t = co(arguments);5709 return n.apply((t[0] = this), t), this;5710 }),5711 (Co.empty = function () {5712 return !this.node();5713 }),5714 (Co.node = function () {5715 for (var n = 0, t = this.length; t > n; n++)5716 for (var e = this[n], r = 0, i = e.length; i > r; r++) {5717 var u = e[r];5718 if (u) return u;5719 }5720 return null;5721 }),5722 (Co.size = function () {5723 var n = 0;5724 return (5725 Y(this, function () {5726 ++n;5727 }),5728 n5729 );5730 });5731 var qo = [];5732 (ao.selection.enter = Z),5733 (ao.selection.enter.prototype = qo),5734 (qo.append = Co.append),5735 (qo.empty = Co.empty),5736 (qo.node = Co.node),5737 (qo.call = Co.call),5738 (qo.size = Co.size),5739 (qo.select = function (n) {5740 for (var t, e, r, i, u, o = [], a = -1, l = this.length; ++a < l; ) {5741 (r = (i = this[a]).update),5742 o.push((t = [])),5743 (t.parentNode = i.parentNode);5744 for (var c = -1, f = i.length; ++c < f; )5745 (u = i[c])5746 ? (t.push((r[c] = e = n.call(i.parentNode, u.__data__, c, a))),5747 (e.__data__ = u.__data__))5748 : t.push(null);5749 }5750 return E(o);5751 }),5752 (qo.insert = function (n, t) {5753 return arguments.length < 2 && (t = V(this)), Co.insert.call(this, n, t);5754 }),5755 (ao.select = function (t) {5756 var e;5757 return (5758 "string" == typeof t5759 ? ((e = [No(t, fo)]), (e.parentNode = fo.documentElement))5760 : ((e = [t]), (e.parentNode = n(t))),5761 E([e])5762 );5763 }),5764 (ao.selectAll = function (n) {5765 var t;5766 return (5767 "string" == typeof n5768 ? ((t = co(Eo(n, fo))), (t.parentNode = fo.documentElement))5769 : ((t = co(n)), (t.parentNode = null)),5770 E([t])5771 );5772 }),5773 (Co.on = function (n, t, e) {5774 var r = arguments.length;5775 if (3 > r) {5776 if ("string" != typeof n) {5777 2 > r && (t = !1);5778 for (e in n) this.each(X(e, n[e], t));5779 return this;5780 }5781 if (2 > r) return (r = this.node()["__on" + n]) && r._;5782 e = !1;5783 }5784 return this.each(X(n, t, e));5785 });5786 var To = ao.map({ mouseenter: "mouseover", mouseleave: "mouseout" });5787 fo &&5788 To.forEach(function (n) {5789 "on" + n in fo && To.remove(n);5790 });5791 var Ro,5792 Do = 0;5793 ao.mouse = function (n) {5794 return J(n, k());5795 };5796 var Po = this.navigator && /WebKit/.test(this.navigator.userAgent) ? -1 : 0;5797 (ao.touch = function (n, t, e) {5798 if ((arguments.length < 3 && ((e = t), (t = k().changedTouches)), t))5799 for (var r, i = 0, u = t.length; u > i; ++i)5800 if ((r = t[i]).identifier === e) return J(n, r);5801 }),5802 (ao.behavior.drag = function () {5803 function n() {5804 this.on("mousedown.drag", u).on("touchstart.drag", o);5805 }5806 function e(n, t, e, u, o) {5807 return function () {5808 function a() {5809 var n,5810 e,5811 r = t(h, v);5812 r &&5813 ((n = r[0] - M[0]),5814 (e = r[1] - M[1]),5815 (g |= n | e),5816 (M = r),5817 p({5818 type: "drag",5819 x: r[0] + c[0],5820 y: r[1] + c[1],5821 dx: n,5822 dy: e,5823 }));5824 }5825 function l() {5826 t(h, v) &&5827 (y.on(u + d, null).on(o + d, null), m(g), p({ type: "dragend" }));5828 }5829 var c,5830 f = this,5831 s = ao.event.target.correspondingElement || ao.event.target,5832 h = f.parentNode,5833 p = r.of(f, arguments),5834 g = 0,5835 v = n(),5836 d = ".drag" + (null == v ? "" : "-" + v),5837 y = ao5838 .select(e(s))5839 .on(u + d, a)5840 .on(o + d, l),5841 m = W(s),5842 M = t(h, v);5843 i5844 ? ((c = i.apply(f, arguments)), (c = [c.x - M[0], c.y - M[1]]))5845 : (c = [0, 0]),5846 p({ type: "dragstart" });5847 };5848 }5849 var r = N(n, "drag", "dragstart", "dragend"),5850 i = null,5851 u = e(b, ao.mouse, t, "mousemove", "mouseup"),5852 o = e(G, ao.touch, m, "touchmove", "touchend");5853 return (5854 (n.origin = function (t) {5855 return arguments.length ? ((i = t), n) : i;5856 }),5857 ao.rebind(n, r, "on")5858 );5859 }),5860 (ao.touches = function (n, t) {5861 return (5862 arguments.length < 2 && (t = k().touches),5863 t5864 ? co(t).map(function (t) {5865 var e = J(n, t);5866 return (e.identifier = t.identifier), e;5867 })5868 : []5869 );5870 });5871 var Uo = 1e-6,5872 jo = Uo * Uo,5873 Fo = Math.PI,5874 Ho = 2 * Fo,5875 Oo = Ho - Uo,5876 Io = Fo / 2,5877 Yo = Fo / 180,5878 Zo = 180 / Fo,5879 Vo = Math.SQRT2,5880 Xo = 2,5881 $o = 4;5882 (ao.interpolateZoom = function (n, t) {5883 var e,5884 r,5885 i = n[0],5886 u = n[1],5887 o = n[2],5888 a = t[0],5889 l = t[1],5890 c = t[2],5891 f = a - i,5892 s = l - u,5893 h = f * f + s * s;5894 if (jo > h)5895 (r = Math.log(c / o) / Vo),5896 (e = function (n) {5897 return [i + n * f, u + n * s, o * Math.exp(Vo * n * r)];5898 });5899 else {5900 var p = Math.sqrt(h),5901 g = (c * c - o * o + $o * h) / (2 * o * Xo * p),5902 v = (c * c - o * o - $o * h) / (2 * c * Xo * p),5903 d = Math.log(Math.sqrt(g * g + 1) - g),5904 y = Math.log(Math.sqrt(v * v + 1) - v);5905 (r = (y - d) / Vo),5906 (e = function (n) {5907 var t = n * r,5908 e = rn(d),5909 a = (o / (Xo * p)) * (e * un(Vo * t + d) - en(d));5910 return [i + a * f, u + a * s, (o * e) / rn(Vo * t + d)];5911 });5912 }5913 return (e.duration = 1e3 * r), e;5914 }),5915 (ao.behavior.zoom = function () {5916 function n(n) {5917 n.on(L, s)5918 .on(Wo + ".zoom", p)5919 .on("dblclick.zoom", g)5920 .on(R, h);5921 }5922 function e(n) {5923 return [(n[0] - k.x) / k.k, (n[1] - k.y) / k.k];5924 }5925 function r(n) {5926 return [n[0] * k.k + k.x, n[1] * k.k + k.y];5927 }5928 function i(n) {5929 k.k = Math.max(A[0], Math.min(A[1], n));5930 }5931 function u(n, t) {5932 (t = r(t)), (k.x += n[0] - t[0]), (k.y += n[1] - t[1]);5933 }5934 function o(t, e, r, o) {5935 (t.__chart__ = { x: k.x, y: k.y, k: k.k }),5936 i(Math.pow(2, o)),5937 u((d = e), r),5938 (t = ao.select(t)),5939 C > 0 && (t = t.transition().duration(C)),5940 t.call(n.event);5941 }5942 function a() {5943 b &&5944 b.domain(5945 x5946 .range()5947 .map(function (n) {5948 return (n - k.x) / k.k;5949 })5950 .map(x.invert)5951 ),5952 w &&5953 w.domain(5954 _.range()5955 .map(function (n) {5956 return (n - k.y) / k.k;5957 })5958 .map(_.invert)5959 );5960 }5961 function l(n) {5962 z++ || n({ type: "zoomstart" });5963 }5964 function c(n) {5965 a(), n({ type: "zoom", scale: k.k, translate: [k.x, k.y] });5966 }5967 function f(n) {5968 --z || (n({ type: "zoomend" }), (d = null));5969 }5970 function s() {5971 function n() {5972 (a = 1), u(ao.mouse(i), h), c(o);5973 }5974 function r() {5975 s.on(q, null).on(T, null), p(a), f(o);5976 }5977 var i = this,5978 o = D.of(i, arguments),5979 a = 0,5980 s = ao.select(t(i)).on(q, n).on(T, r),5981 h = e(ao.mouse(i)),5982 p = W(i);5983 Il.call(i), l(o);5984 }5985 function h() {5986 function n() {5987 var n = ao.touches(g);5988 return (5989 (p = k.k),5990 n.forEach(function (n) {5991 n.identifier in d && (d[n.identifier] = e(n));5992 }),5993 n5994 );5995 }5996 function t() {5997 var t = ao.event.target;5998 ao.select(t).on(x, r).on(b, a), _.push(t);5999 for (var e = ao.event.changedTouches, i = 0, u = e.length; u > i; ++i)6000 d[e[i].identifier] = null;6001 var l = n(),6002 c = Date.now();6003 if (1 === l.length) {6004 if (500 > c - M) {6005 var f = l[0];6006 o(6007 g,6008 f,6009 d[f.identifier],6010 Math.floor(Math.log(k.k) / Math.LN2) + 16011 ),6012 S();6013 }6014 M = c;6015 } else if (l.length > 1) {6016 var f = l[0],6017 s = l[1],6018 h = f[0] - s[0],6019 p = f[1] - s[1];6020 y = h * h + p * p;6021 }6022 }6023 function r() {6024 var n,6025 t,6026 e,6027 r,6028 o = ao.touches(g);6029 Il.call(g);6030 for (var a = 0, l = o.length; l > a; ++a, r = null)6031 if (((e = o[a]), (r = d[e.identifier]))) {6032 if (t) break;6033 (n = e), (t = r);6034 }6035 if (r) {6036 var f = (f = e[0] - n[0]) * f + (f = e[1] - n[1]) * f,6037 s = y && Math.sqrt(f / y);6038 (n = [(n[0] + e[0]) / 2, (n[1] + e[1]) / 2]),6039 (t = [(t[0] + r[0]) / 2, (t[1] + r[1]) / 2]),6040 i(s * p);6041 }6042 (M = null), u(n, t), c(v);6043 }6044 function a() {6045 if (ao.event.touches.length) {6046 for (6047 var t = ao.event.changedTouches, e = 0, r = t.length;6048 r > e;6049 ++e6050 )6051 delete d[t[e].identifier];6052 for (var i in d) return void n();6053 }6054 ao.selectAll(_).on(m, null), w.on(L, s).on(R, h), N(), f(v);6055 }6056 var p,6057 g = this,6058 v = D.of(g, arguments),6059 d = {},6060 y = 0,6061 m = ".zoom-" + ao.event.changedTouches[0].identifier,6062 x = "touchmove" + m,6063 b = "touchend" + m,6064 _ = [],6065 w = ao.select(g),6066 N = W(g);6067 t(), l(v), w.on(L, null).on(R, t);6068 }6069 function p() {6070 var n = D.of(this, arguments);6071 m6072 ? clearTimeout(m)6073 : (Il.call(this), (v = e((d = y || ao.mouse(this)))), l(n)),6074 (m = setTimeout(function () {6075 (m = null), f(n);6076 }, 50)),6077 S(),6078 i(Math.pow(2, 0.002 * Bo()) * k.k),6079 u(d, v),6080 c(n);6081 }6082 function g() {6083 var n = ao.mouse(this),6084 t = Math.log(k.k) / Math.LN2;6085 o(6086 this,6087 n,6088 e(n),6089 ao.event.shiftKey ? Math.ceil(t) - 1 : Math.floor(t) + 16090 );6091 }6092 var v,6093 d,6094 y,6095 m,6096 M,6097 x,6098 b,6099 _,6100 w,6101 k = { x: 0, y: 0, k: 1 },6102 E = [960, 500],6103 A = Jo,6104 C = 250,6105 z = 0,6106 L = "mousedown.zoom",6107 q = "mousemove.zoom",6108 T = "mouseup.zoom",6109 R = "touchstart.zoom",6110 D = N(n, "zoomstart", "zoom", "zoomend");6111 return (6112 Wo ||6113 (Wo =6114 "onwheel" in fo6115 ? ((Bo = function () {6116 return -ao.event.deltaY * (ao.event.deltaMode ? 120 : 1);6117 }),6118 "wheel")6119 : "onmousewheel" in fo6120 ? ((Bo = function () {6121 return ao.event.wheelDelta;6122 }),6123 "mousewheel")6124 : ((Bo = function () {6125 return -ao.event.detail;6126 }),6127 "MozMousePixelScroll")),6128 (n.event = function (n) {6129 n.each(function () {6130 var n = D.of(this, arguments),6131 t = k;6132 Hl6133 ? ao6134 .select(this)6135 .transition()6136 .each("start.zoom", function () {6137 (k = this.__chart__ || { x: 0, y: 0, k: 1 }), l(n);6138 })6139 .tween("zoom:zoom", function () {6140 var e = E[0],6141 r = E[1],6142 i = d ? d[0] : e / 2,6143 u = d ? d[1] : r / 2,6144 o = ao.interpolateZoom(6145 [(i - k.x) / k.k, (u - k.y) / k.k, e / k.k],6146 [(i - t.x) / t.k, (u - t.y) / t.k, e / t.k]6147 );6148 return function (t) {6149 var r = o(t),6150 a = e / r[2];6151 (this.__chart__ = k = {6152 x: i - r[0] * a,6153 y: u - r[1] * a,6154 k: a,6155 }),6156 c(n);6157 };6158 })6159 .each("interrupt.zoom", function () {6160 f(n);6161 })6162 .each("end.zoom", function () {6163 f(n);6164 })6165 : ((this.__chart__ = k), l(n), c(n), f(n));6166 });6167 }),6168 (n.translate = function (t) {6169 return arguments.length6170 ? ((k = { x: +t[0], y: +t[1], k: k.k }), a(), n)6171 : [k.x, k.y];6172 }),6173 (n.scale = function (t) {6174 return arguments.length6175 ? ((k = { x: k.x, y: k.y, k: null }), i(+t), a(), n)6176 : k.k;6177 }),6178 (n.scaleExtent = function (t) {6179 return arguments.length6180 ? ((A = null == t ? Jo : [+t[0], +t[1]]), n)6181 : A;6182 }),6183 (n.center = function (t) {6184 return arguments.length ? ((y = t && [+t[0], +t[1]]), n) : y;6185 }),6186 (n.size = function (t) {6187 return arguments.length ? ((E = t && [+t[0], +t[1]]), n) : E;6188 }),6189 (n.duration = function (t) {6190 return arguments.length ? ((C = +t), n) : C;6191 }),6192 (n.x = function (t) {6193 return arguments.length6194 ? ((b = t), (x = t.copy()), (k = { x: 0, y: 0, k: 1 }), n)6195 : b;6196 }),6197 (n.y = function (t) {6198 return arguments.length6199 ? ((w = t), (_ = t.copy()), (k = { x: 0, y: 0, k: 1 }), n)6200 : w;6201 }),6202 ao.rebind(n, D, "on")6203 );6204 });6205 var Bo,6206 Wo,6207 Jo = [0, 1 / 0];6208 (ao.color = an),6209 (an.prototype.toString = function () {6210 return this.rgb() + "";6211 }),6212 (ao.hsl = ln);6213 var Go = (ln.prototype = new an());6214 (Go.brighter = function (n) {6215 return (6216 (n = Math.pow(0.7, arguments.length ? n : 1)),6217 new ln(this.h, this.s, this.l / n)6218 );6219 }),6220 (Go.darker = function (n) {6221 return (6222 (n = Math.pow(0.7, arguments.length ? n : 1)),6223 new ln(this.h, this.s, n * this.l)6224 );6225 }),6226 (Go.rgb = function () {6227 return cn(this.h, this.s, this.l);6228 }),6229 (ao.hcl = fn);6230 var Ko = (fn.prototype = new an());6231 (Ko.brighter = function (n) {6232 return new fn(6233 this.h,6234 this.c,6235 Math.min(100, this.l + Qo * (arguments.length ? n : 1))6236 );6237 }),6238 (Ko.darker = function (n) {6239 return new fn(6240 this.h,6241 this.c,6242 Math.max(0, this.l - Qo * (arguments.length ? n : 1))6243 );6244 }),6245 (Ko.rgb = function () {6246 return sn(this.h, this.c, this.l).rgb();6247 }),6248 (ao.lab = hn);6249 var Qo = 18,6250 na = 0.95047,6251 ta = 1,6252 ea = 1.08883,6253 ra = (hn.prototype = new an());6254 (ra.brighter = function (n) {6255 return new hn(6256 Math.min(100, this.l + Qo * (arguments.length ? n : 1)),6257 this.a,6258 this.b6259 );6260 }),6261 (ra.darker = function (n) {6262 return new hn(6263 Math.max(0, this.l - Qo * (arguments.length ? n : 1)),6264 this.a,6265 this.b6266 );6267 }),6268 (ra.rgb = function () {6269 return pn(this.l, this.a, this.b);6270 }),6271 (ao.rgb = mn);6272 var ia = (mn.prototype = new an());6273 (ia.brighter = function (n) {6274 n = Math.pow(0.7, arguments.length ? n : 1);6275 var t = this.r,6276 e = this.g,6277 r = this.b,6278 i = 30;6279 return t || e || r6280 ? (t && i > t && (t = i),6281 e && i > e && (e = i),6282 r && i > r && (r = i),6283 new mn(6284 Math.min(255, t / n),6285 Math.min(255, e / n),6286 Math.min(255, r / n)6287 ))6288 : new mn(i, i, i);6289 }),6290 (ia.darker = function (n) {6291 return (6292 (n = Math.pow(0.7, arguments.length ? n : 1)),6293 new mn(n * this.r, n * this.g, n * this.b)6294 );6295 }),6296 (ia.hsl = function () {6297 return wn(this.r, this.g, this.b);6298 }),6299 (ia.toString = function () {6300 return "#" + bn(this.r) + bn(this.g) + bn(this.b);6301 });6302 var ua = ao.map({6303 aliceblue: 15792383,6304 antiquewhite: 16444375,6305 aqua: 65535,6306 aquamarine: 8388564,6307 azure: 15794175,6308 beige: 16119260,6309 bisque: 16770244,6310 black: 0,6311 blanchedalmond: 16772045,6312 blue: 255,6313 blueviolet: 9055202,6314 brown: 10824234,6315 burlywood: 14596231,6316 cadetblue: 6266528,6317 chartreuse: 8388352,6318 chocolate: 13789470,6319 coral: 16744272,6320 cornflowerblue: 6591981,6321 cornsilk: 16775388,6322 crimson: 14423100,6323 cyan: 65535,6324 darkblue: 139,6325 darkcyan: 35723,6326 darkgoldenrod: 12092939,6327 darkgray: 11119017,6328 darkgreen: 25600,6329 darkgrey: 11119017,6330 darkkhaki: 12433259,6331 darkmagenta: 9109643,6332 darkolivegreen: 5597999,6333 darkorange: 16747520,6334 darkorchid: 10040012,6335 darkred: 9109504,6336 darksalmon: 15308410,6337 darkseagreen: 9419919,6338 darkslateblue: 4734347,6339 darkslategray: 3100495,6340 darkslategrey: 3100495,6341 darkturquoise: 52945,6342 darkviolet: 9699539,6343 deeppink: 16716947,6344 deepskyblue: 49151,6345 dimgray: 6908265,6346 dimgrey: 6908265,6347 dodgerblue: 2003199,6348 firebrick: 11674146,6349 floralwhite: 16775920,6350 forestgreen: 2263842,6351 fuchsia: 16711935,6352 gainsboro: 14474460,6353 ghostwhite: 16316671,6354 gold: 16766720,6355 goldenrod: 14329120,6356 gray: 8421504,6357 green: 32768,6358 greenyellow: 11403055,6359 grey: 8421504,6360 honeydew: 15794160,6361 hotpink: 16738740,6362 indianred: 13458524,6363 indigo: 4915330,6364 ivory: 16777200,6365 khaki: 15787660,6366 lavender: 15132410,6367 lavenderblush: 16773365,6368 lawngreen: 8190976,6369 lemonchiffon: 16775885,6370 lightblue: 11393254,6371 lightcoral: 15761536,6372 lightcyan: 14745599,6373 lightgoldenrodyellow: 16448210,6374 lightgray: 13882323,6375 lightgreen: 9498256,6376 lightgrey: 13882323,6377 lightpink: 16758465,6378 lightsalmon: 16752762,6379 lightseagreen: 2142890,6380 lightskyblue: 8900346,6381 lightslategray: 7833753,6382 lightslategrey: 7833753,6383 lightsteelblue: 11584734,6384 lightyellow: 16777184,6385 lime: 65280,6386 limegreen: 3329330,6387 linen: 16445670,6388 magenta: 16711935,6389 maroon: 8388608,6390 mediumaquamarine: 6737322,6391 mediumblue: 205,6392 mediumorchid: 12211667,6393 mediumpurple: 9662683,6394 mediumseagreen: 3978097,6395 mediumslateblue: 8087790,6396 mediumspringgreen: 64154,6397 mediumturquoise: 4772300,6398 mediumvioletred: 13047173,6399 midnightblue: 1644912,6400 mintcream: 16121850,6401 mistyrose: 16770273,6402 moccasin: 16770229,6403 navajowhite: 16768685,6404 navy: 128,6405 oldlace: 16643558,6406 olive: 8421376,6407 olivedrab: 7048739,6408 orange: 16753920,6409 orangered: 16729344,6410 orchid: 14315734,6411 palegoldenrod: 15657130,6412 palegreen: 10025880,6413 paleturquoise: 11529966,6414 palevioletred: 14381203,6415 papayawhip: 16773077,6416 peachpuff: 16767673,6417 peru: 13468991,6418 pink: 16761035,6419 plum: 14524637,6420 powderblue: 11591910,6421 purple: 8388736,6422 rebeccapurple: 6697881,6423 red: 16711680,6424 rosybrown: 12357519,6425 royalblue: 4286945,6426 saddlebrown: 9127187,6427 salmon: 16416882,6428 sandybrown: 16032864,6429 seagreen: 3050327,6430 seashell: 16774638,6431 sienna: 10506797,6432 silver: 12632256,6433 skyblue: 8900331,6434 slateblue: 6970061,6435 slategray: 7372944,6436 slategrey: 7372944,6437 snow: 16775930,6438 springgreen: 65407,6439 steelblue: 4620980,6440 tan: 13808780,6441 teal: 32896,6442 thistle: 14204888,6443 tomato: 16737095,6444 turquoise: 4251856,6445 violet: 15631086,6446 wheat: 16113331,6447 white: 16777215,6448 whitesmoke: 16119285,6449 yellow: 16776960,6450 yellowgreen: 10145074,6451 });6452 ua.forEach(function (n, t) {6453 ua.set(n, Mn(t));6454 }),6455 (ao.functor = En),6456 (ao.xhr = An(m)),6457 (ao.dsv = function (n, t) {6458 function e(n, e, u) {6459 arguments.length < 3 && ((u = e), (e = null));6460 var o = Cn(n, t, null == e ? r : i(e), u);6461 return (6462 (o.row = function (n) {6463 return arguments.length6464 ? o.response(null == (e = n) ? r : i(n))6465 : e;6466 }),6467 o6468 );6469 }6470 function r(n) {6471 return e.parse(n.responseText);6472 }6473 function i(n) {6474 return function (t) {6475 return e.parse(t.responseText, n);6476 };6477 }6478 function u(t) {6479 return t.map(o).join(n);6480 }6481 function o(n) {6482 return a.test(n) ? '"' + n.replace(/\"/g, '""') + '"' : n;6483 }6484 var a = new RegExp('["' + n + "\n]"),6485 l = n.charCodeAt(0);6486 return (6487 (e.parse = function (n, t) {6488 var r;6489 return e.parseRows(n, function (n, e) {6490 if (r) return r(n, e - 1);6491 var i = new Function(6492 "d",6493 "return {" +6494 n6495 .map(function (n, t) {6496 return JSON.stringify(n) + ": d[" + t + "]";6497 })6498 .join(",") +6499 "}"6500 );6501 r = t6502 ? function (n, e) {6503 return t(i(n), e);6504 }6505 : i;6506 });6507 }),6508 (e.parseRows = function (n, t) {6509 function e() {6510 if (f >= c) return o;6511 if (i) return (i = !1), u;6512 var t = f;6513 if (34 === n.charCodeAt(t)) {6514 for (var e = t; e++ < c; )6515 if (34 === n.charCodeAt(e)) {6516 if (34 !== n.charCodeAt(e + 1)) break;6517 ++e;6518 }6519 f = e + 2;6520 var r = n.charCodeAt(e + 1);6521 return (6522 13 === r6523 ? ((i = !0), 10 === n.charCodeAt(e + 2) && ++f)6524 : 10 === r && (i = !0),6525 n.slice(t + 1, e).replace(/""/g, '"')6526 );6527 }6528 for (; c > f; ) {6529 var r = n.charCodeAt(f++),6530 a = 1;6531 if (10 === r) i = !0;6532 else if (13 === r) (i = !0), 10 === n.charCodeAt(f) && (++f, ++a);6533 else if (r !== l) continue;6534 return n.slice(t, f - a);6535 }6536 return n.slice(t);6537 }6538 for (6539 var r, i, u = {}, o = {}, a = [], c = n.length, f = 0, s = 0;6540 (r = e()) !== o;6541 ) {6542 for (var h = []; r !== u && r !== o; ) h.push(r), (r = e());6543 (t && null == (h = t(h, s++))) || a.push(h);6544 }6545 return a;6546 }),6547 (e.format = function (t) {6548 if (Array.isArray(t[0])) return e.formatRows(t);6549 var r = new y(),6550 i = [];6551 return (6552 t.forEach(function (n) {6553 for (var t in n) r.has(t) || i.push(r.add(t));6554 }),6555 [i.map(o).join(n)]6556 .concat(6557 t.map(function (t) {6558 return i6559 .map(function (n) {6560 return o(t[n]);6561 })6562 .join(n);6563 })6564 )6565 .join("\n")6566 );6567 }),6568 (e.formatRows = function (n) {6569 return n.map(u).join("\n");6570 }),6571 e6572 );6573 }),6574 (ao.csv = ao.dsv(",", "text/csv")),6575 (ao.tsv = ao.dsv(" ", "text/tab-separated-values"));6576 var oa,6577 aa,6578 la,6579 ca,6580 fa =6581 this[x(this, "requestAnimationFrame")] ||6582 function (n) {6583 setTimeout(n, 17);6584 };6585 (ao.timer = function () {6586 qn.apply(this, arguments);6587 }),6588 (ao.timer.flush = function () {6589 Rn(), Dn();6590 }),6591 (ao.round = function (n, t) {6592 return t ? Math.round(n * (t = Math.pow(10, t))) / t : Math.round(n);6593 });6594 var sa = [6595 "y",6596 "z",6597 "a",6598 "f",6599 "p",6600 "n",6601 "\xb5",6602 "m",6603 "",6604 "k",6605 "M",6606 "G",6607 "T",6608 "P",6609 "E",6610 "Z",6611 "Y",6612 ].map(Un);6613 ao.formatPrefix = function (n, t) {6614 var e = 0;6615 return (6616 (n = +n) &&6617 (0 > n && (n *= -1),6618 t && (n = ao.round(n, Pn(n, t))),6619 (e = 1 + Math.floor(1e-12 + Math.log(n) / Math.LN10)),6620 (e = Math.max(-24, Math.min(24, 3 * Math.floor((e - 1) / 3))))),6621 sa[8 + e / 3]6622 );6623 };6624 var ha = /(?:([^{])?([<>=^]))?([+\- ])?([$#])?(0)?(\d+)?(,)?(\.-?\d+)?([a-z%])?/i,6625 pa = ao.map({6626 b: function (n) {6627 return n.toString(2);6628 },6629 c: function (n) {6630 return String.fromCharCode(n);6631 },6632 o: function (n) {6633 return n.toString(8);6634 },6635 x: function (n) {6636 return n.toString(16);6637 },6638 X: function (n) {6639 return n.toString(16).toUpperCase();6640 },6641 g: function (n, t) {6642 return n.toPrecision(t);6643 },6644 e: function (n, t) {6645 return n.toExponential(t);6646 },6647 f: function (n, t) {6648 return n.toFixed(t);6649 },6650 r: function (n, t) {6651 return (n = ao.round(n, Pn(n, t))).toFixed(6652 Math.max(0, Math.min(20, Pn(n * (1 + 1e-15), t)))6653 );6654 },6655 }),6656 ga = (ao.time = {}),6657 va = Date;6658 Hn.prototype = {6659 getDate: function () {6660 return this._.getUTCDate();6661 },6662 getDay: function () {6663 return this._.getUTCDay();6664 },6665 getFullYear: function () {6666 return this._.getUTCFullYear();6667 },6668 getHours: function () {6669 return this._.getUTCHours();6670 },6671 getMilliseconds: function () {6672 return this._.getUTCMilliseconds();6673 },6674 getMinutes: function () {6675 return this._.getUTCMinutes();6676 },6677 getMonth: function () {6678 return this._.getUTCMonth();6679 },6680 getSeconds: function () {6681 return this._.getUTCSeconds();6682 },6683 getTime: function () {6684 return this._.getTime();6685 },6686 getTimezoneOffset: function () {6687 return 0;6688 },6689 valueOf: function () {6690 return this._.valueOf();6691 },6692 setDate: function () {6693 da.setUTCDate.apply(this._, arguments);6694 },6695 setDay: function () {6696 da.setUTCDay.apply(this._, arguments);6697 },6698 setFullYear: function () {6699 da.setUTCFullYear.apply(this._, arguments);6700 },6701 setHours: function () {6702 da.setUTCHours.apply(this._, arguments);6703 },6704 setMilliseconds: function () {6705 da.setUTCMilliseconds.apply(this._, arguments);6706 },6707 setMinutes: function () {6708 da.setUTCMinutes.apply(this._, arguments);6709 },6710 setMonth: function () {6711 da.setUTCMonth.apply(this._, arguments);6712 },6713 setSeconds: function () {6714 da.setUTCSeconds.apply(this._, arguments);6715 },6716 setTime: function () {6717 da.setTime.apply(this._, arguments);6718 },6719 };6720 var da = Date.prototype;6721 (ga.year = On(6722 function (n) {6723 return (n = ga.day(n)), n.setMonth(0, 1), n;6724 },6725 function (n, t) {6726 n.setFullYear(n.getFullYear() + t);6727 },6728 function (n) {6729 return n.getFullYear();6730 }6731 )),6732 (ga.years = ga.year.range),6733 (ga.years.utc = ga.year.utc.range),6734 (ga.day = On(6735 function (n) {6736 var t = new va(2e3, 0);6737 return t.setFullYear(n.getFullYear(), n.getMonth(), n.getDate()), t;6738 },6739 function (n, t) {6740 n.setDate(n.getDate() + t);6741 },6742 function (n) {6743 return n.getDate() - 1;6744 }6745 )),6746 (ga.days = ga.day.range),6747 (ga.days.utc = ga.day.utc.range),6748 (ga.dayOfYear = function (n) {6749 var t = ga.year(n);6750 return Math.floor(6751 (n - t - 6e4 * (n.getTimezoneOffset() - t.getTimezoneOffset())) / 864e56752 );6753 }),6754 [6755 "sunday",6756 "monday",6757 "tuesday",6758 "wednesday",6759 "thursday",6760 "friday",6761 "saturday",6762 ].forEach(function (n, t) {6763 t = 7 - t;6764 var e = (ga[n] = On(6765 function (n) {6766 return (6767 (n = ga.day(n)).setDate(n.getDate() - ((n.getDay() + t) % 7)), n6768 );6769 },6770 function (n, t) {6771 n.setDate(n.getDate() + 7 * Math.floor(t));6772 },6773 function (n) {6774 var e = ga.year(n).getDay();6775 return Math.floor((ga.dayOfYear(n) + ((e + t) % 7)) / 7) - (e !== t);6776 }6777 ));6778 (ga[n + "s"] = e.range),6779 (ga[n + "s"].utc = e.utc.range),6780 (ga[n + "OfYear"] = function (n) {6781 var e = ga.year(n).getDay();6782 return Math.floor((ga.dayOfYear(n) + ((e + t) % 7)) / 7);6783 });6784 }),6785 (ga.week = ga.sunday),6786 (ga.weeks = ga.sunday.range),6787 (ga.weeks.utc = ga.sunday.utc.range),6788 (ga.weekOfYear = ga.sundayOfYear);6789 var ya = { "-": "", _: " ", 0: "0" },6790 ma = /^\s*\d+/,6791 Ma = /^%/;6792 ao.locale = function (n) {6793 return { numberFormat: jn(n), timeFormat: Yn(n) };6794 };6795 var xa = ao.locale({6796 decimal: ".",6797 thousands: ",",6798 grouping: [3],6799 currency: ["$", ""],6800 dateTime: "%a %b %e %X %Y",6801 date: "%m/%d/%Y",6802 time: "%H:%M:%S",6803 periods: ["AM", "PM"],6804 days: [6805 "Sunday",6806 "Monday",6807 "Tuesday",6808 "Wednesday",6809 "Thursday",6810 "Friday",6811 "Saturday",6812 ],6813 shortDays: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"],6814 months: [6815 "January",6816 "February",6817 "March",6818 "April",6819 "May",6820 "June",6821 "July",6822 "August",6823 "September",6824 "October",6825 "November",6826 "December",6827 ],6828 shortMonths: [6829 "Jan",6830 "Feb",6831 "Mar",6832 "Apr",6833 "May",6834 "Jun",6835 "Jul",6836 "Aug",6837 "Sep",6838 "Oct",6839 "Nov",6840 "Dec",6841 ],6842 });6843 (ao.format = xa.numberFormat),6844 (ao.geo = {}),6845 (ft.prototype = {6846 s: 0,6847 t: 0,6848 add: function (n) {6849 st(n, this.t, ba),6850 st(ba.s, this.s, this),6851 this.s ? (this.t += ba.t) : (this.s = ba.t);6852 },6853 reset: function () {6854 this.s = this.t = 0;6855 },6856 valueOf: function () {6857 return this.s;6858 },6859 });6860 var ba = new ft();6861 ao.geo.stream = function (n, t) {6862 n && _a.hasOwnProperty(n.type) ? _a[n.type](n, t) : ht(n, t);6863 };6864 var _a = {6865 Feature: function (n, t) {6866 ht(n.geometry, t);6867 },6868 FeatureCollection: function (n, t) {6869 for (var e = n.features, r = -1, i = e.length; ++r < i; )6870 ht(e[r].geometry, t);6871 },6872 },6873 wa = {6874 Sphere: function (n, t) {6875 t.sphere();6876 },6877 Point: function (n, t) {6878 (n = n.coordinates), t.point(n[0], n[1], n[2]);6879 },6880 MultiPoint: function (n, t) {6881 for (var e = n.coordinates, r = -1, i = e.length; ++r < i; )6882 (n = e[r]), t.point(n[0], n[1], n[2]);6883 },6884 LineString: function (n, t) {6885 pt(n.coordinates, t, 0);6886 },6887 MultiLineString: function (n, t) {6888 for (var e = n.coordinates, r = -1, i = e.length; ++r < i; )6889 pt(e[r], t, 0);6890 },6891 Polygon: function (n, t) {6892 gt(n.coordinates, t);6893 },6894 MultiPolygon: function (n, t) {6895 for (var e = n.coordinates, r = -1, i = e.length; ++r < i; )6896 gt(e[r], t);6897 },6898 GeometryCollection: function (n, t) {6899 for (var e = n.geometries, r = -1, i = e.length; ++r < i; ) ht(e[r], t);6900 },6901 };6902 ao.geo.area = function (n) {6903 return (Sa = 0), ao.geo.stream(n, Na), Sa;6904 };6905 var Sa,6906 ka = new ft(),6907 Na = {6908 sphere: function () {6909 Sa += 4 * Fo;6910 },6911 point: b,6912 lineStart: b,6913 lineEnd: b,6914 polygonStart: function () {6915 ka.reset(), (Na.lineStart = vt);6916 },6917 polygonEnd: function () {6918 var n = 2 * ka;6919 (Sa += 0 > n ? 4 * Fo + n : n),6920 (Na.lineStart = Na.lineEnd = Na.point = b);6921 },6922 };6923 (ao.geo.bounds = (function () {6924 function n(n, t) {6925 M.push((x = [(f = n), (h = n)])), s > t && (s = t), t > p && (p = t);6926 }6927 function t(t, e) {6928 var r = dt([t * Yo, e * Yo]);6929 if (y) {6930 var i = mt(y, r),6931 u = [i[1], -i[0], 0],6932 o = mt(u, i);6933 bt(o), (o = _t(o));6934 var l = t - g,6935 c = l > 0 ? 1 : -1,6936 v = o[0] * Zo * c,6937 d = xo(l) > 180;6938 if (d ^ (v > c * g && c * t > v)) {6939 var m = o[1] * Zo;6940 m > p && (p = m);6941 } else if (6942 ((v = ((v + 360) % 360) - 180), d ^ (v > c * g && c * t > v))6943 ) {6944 var m = -o[1] * Zo;6945 s > m && (s = m);6946 } else s > e && (s = e), e > p && (p = e);6947 d6948 ? g > t6949 ? a(f, t) > a(f, h) && (h = t)6950 : a(t, h) > a(f, h) && (f = t)6951 : h >= f6952 ? (f > t && (f = t), t > h && (h = t))6953 : t > g6954 ? a(f, t) > a(f, h) && (h = t)6955 : a(t, h) > a(f, h) && (f = t);6956 } else n(t, e);6957 (y = r), (g = t);6958 }6959 function e() {6960 b.point = t;6961 }6962 function r() {6963 (x[0] = f), (x[1] = h), (b.point = n), (y = null);6964 }6965 function i(n, e) {6966 if (y) {6967 var r = n - g;6968 m += xo(r) > 180 ? r + (r > 0 ? 360 : -360) : r;6969 } else (v = n), (d = e);6970 Na.point(n, e), t(n, e);6971 }6972 function u() {6973 Na.lineStart();6974 }6975 function o() {6976 i(v, d),6977 Na.lineEnd(),6978 xo(m) > Uo && (f = -(h = 180)),6979 (x[0] = f),6980 (x[1] = h),6981 (y = null);6982 }6983 function a(n, t) {6984 return (t -= n) < 0 ? t + 360 : t;6985 }6986 function l(n, t) {6987 return n[0] - t[0];6988 }6989 function c(n, t) {6990 return t[0] <= t[1] ? t[0] <= n && n <= t[1] : n < t[0] || t[1] < n;6991 }6992 var f,6993 s,6994 h,6995 p,6996 g,6997 v,6998 d,6999 y,7000 m,7001 M,7002 x,7003 b = {7004 point: n,7005 lineStart: e,7006 lineEnd: r,7007 polygonStart: function () {7008 (b.point = i),7009 (b.lineStart = u),7010 (b.lineEnd = o),7011 (m = 0),7012 Na.polygonStart();7013 },7014 polygonEnd: function () {7015 Na.polygonEnd(),7016 (b.point = n),7017 (b.lineStart = e),7018 (b.lineEnd = r),7019 0 > ka7020 ? ((f = -(h = 180)), (s = -(p = 90)))7021 : m > Uo7022 ? (p = 90)7023 : -Uo > m && (s = -90),7024 (x[0] = f),7025 (x[1] = h);7026 },7027 };7028 return function (n) {7029 (p = h = -(f = s = 1 / 0)), (M = []), ao.geo.stream(n, b);7030 var t = M.length;7031 if (t) {7032 M.sort(l);7033 for (var e, r = 1, i = M[0], u = [i]; t > r; ++r)7034 (e = M[r]),7035 c(e[0], i) || c(e[1], i)7036 ? (a(i[0], e[1]) > a(i[0], i[1]) && (i[1] = e[1]),7037 a(e[0], i[1]) > a(i[0], i[1]) && (i[0] = e[0]))7038 : u.push((i = e));7039 for (7040 var o, e, g = -(1 / 0), t = u.length - 1, r = 0, i = u[t];7041 t >= r;7042 i = e, ++r7043 )7044 (e = u[r]),7045 (o = a(i[1], e[0])) > g && ((g = o), (f = e[0]), (h = i[1]));7046 }7047 return (7048 (M = x = null),7049 f === 1 / 0 || s === 1 / 07050 ? [7051 [NaN, NaN],7052 [NaN, NaN],7053 ]7054 : [7055 [f, s],7056 [h, p],7057 ]7058 );7059 };7060 })()),7061 (ao.geo.centroid = function (n) {7062 (Ea = Aa = Ca = za = La = qa = Ta = Ra = Da = Pa = Ua = 0),7063 ao.geo.stream(n, ja);7064 var t = Da,7065 e = Pa,7066 r = Ua,7067 i = t * t + e * e + r * r;7068 return jo > i &&7069 ((t = qa),7070 (e = Ta),7071 (r = Ra),7072 Uo > Aa && ((t = Ca), (e = za), (r = La)),7073 (i = t * t + e * e + r * r),7074 jo > i)7075 ? [NaN, NaN]7076 : [Math.atan2(e, t) * Zo, tn(r / Math.sqrt(i)) * Zo];7077 });7078 var Ea,7079 Aa,7080 Ca,7081 za,7082 La,7083 qa,7084 Ta,7085 Ra,7086 Da,7087 Pa,7088 Ua,7089 ja = {7090 sphere: b,7091 point: St,7092 lineStart: Nt,7093 lineEnd: Et,7094 polygonStart: function () {7095 ja.lineStart = At;7096 },7097 polygonEnd: function () {7098 ja.lineStart = Nt;7099 },7100 },7101 Fa = Rt(zt, jt, Ht, [-Fo, -Fo / 2]),7102 Ha = 1e9;7103 (ao.geo.clipExtent = function () {7104 var n,7105 t,7106 e,7107 r,7108 i,7109 u,7110 o = {7111 stream: function (n) {7112 return i && (i.valid = !1), (i = u(n)), (i.valid = !0), i;7113 },7114 extent: function (a) {7115 return arguments.length7116 ? ((u = Zt(7117 (n = +a[0][0]),7118 (t = +a[0][1]),7119 (e = +a[1][0]),7120 (r = +a[1][1])7121 )),7122 i && ((i.valid = !1), (i = null)),7123 o)7124 : [7125 [n, t],7126 [e, r],7127 ];7128 },7129 };7130 return o.extent([7131 [0, 0],7132 [960, 500],7133 ]);7134 }),7135 ((ao.geo.conicEqualArea = function () {7136 return Vt(Xt);7137 }).raw = Xt),7138 (ao.geo.albers = function () {7139 return ao.geo7140 .conicEqualArea()7141 .rotate([96, 0])7142 .center([-0.6, 38.7])7143 .parallels([29.5, 45.5])7144 .scale(1070);7145 }),7146 (ao.geo.albersUsa = function () {7147 function n(n) {7148 var u = n[0],7149 o = n[1];7150 return (t = null), e(u, o), t || (r(u, o), t) || i(u, o), t;7151 }7152 var t,7153 e,7154 r,7155 i,7156 u = ao.geo.albers(),7157 o = ao.geo7158 .conicEqualArea()7159 .rotate([154, 0])7160 .center([-2, 58.5])7161 .parallels([55, 65]),7162 a = ao.geo7163 .conicEqualArea()7164 .rotate([157, 0])7165 .center([-3, 19.9])7166 .parallels([8, 18]),7167 l = {7168 point: function (n, e) {7169 t = [n, e];7170 },7171 };7172 return (7173 (n.invert = function (n) {7174 var t = u.scale(),7175 e = u.translate(),7176 r = (n[0] - e[0]) / t,7177 i = (n[1] - e[1]) / t;7178 return (i >= 0.12 && 0.234 > i && r >= -0.425 && -0.214 > r7179 ? o7180 : i >= 0.166 && 0.234 > i && r >= -0.214 && -0.115 > r7181 ? a7182 : u7183 ).invert(n);7184 }),7185 (n.stream = function (n) {7186 var t = u.stream(n),7187 e = o.stream(n),7188 r = a.stream(n);7189 return {7190 point: function (n, i) {7191 t.point(n, i), e.point(n, i), r.point(n, i);7192 },7193 sphere: function () {7194 t.sphere(), e.sphere(), r.sphere();7195 },7196 lineStart: function () {7197 t.lineStart(), e.lineStart(), r.lineStart();7198 },7199 lineEnd: function () {7200 t.lineEnd(), e.lineEnd(), r.lineEnd();7201 },7202 polygonStart: function () {7203 t.polygonStart(), e.polygonStart(), r.polygonStart();7204 },7205 polygonEnd: function () {7206 t.polygonEnd(), e.polygonEnd(), r.polygonEnd();7207 },7208 };7209 }),7210 (n.precision = function (t) {7211 return arguments.length7212 ? (u.precision(t), o.precision(t), a.precision(t), n)7213 : u.precision();7214 }),7215 (n.scale = function (t) {7216 return arguments.length7217 ? (u.scale(t),7218 o.scale(0.35 * t),7219 a.scale(t),7220 n.translate(u.translate()))7221 : u.scale();7222 }),7223 (n.translate = function (t) {7224 if (!arguments.length) return u.translate();7225 var c = u.scale(),7226 f = +t[0],7227 s = +t[1];7228 return (7229 (e = u7230 .translate(t)7231 .clipExtent([7232 [f - 0.455 * c, s - 0.238 * c],7233 [f + 0.455 * c, s + 0.238 * c],7234 ])7235 .stream(l).point),7236 (r = o7237 .translate([f - 0.307 * c, s + 0.201 * c])7238 .clipExtent([7239 [f - 0.425 * c + Uo, s + 0.12 * c + Uo],7240 [f - 0.214 * c - Uo, s + 0.234 * c - Uo],7241 ])7242 .stream(l).point),7243 (i = a7244 .translate([f - 0.205 * c, s + 0.212 * c])7245 .clipExtent([7246 [f - 0.214 * c + Uo, s + 0.166 * c + Uo],7247 [f - 0.115 * c - Uo, s + 0.234 * c - Uo],7248 ])7249 .stream(l).point),7250 n7251 );7252 }),7253 n.scale(1070)7254 );7255 });7256 var Oa,7257 Ia,7258 Ya,7259 Za,7260 Va,7261 Xa,7262 $a = {7263 point: b,7264 lineStart: b,7265 lineEnd: b,7266 polygonStart: function () {7267 (Ia = 0), ($a.lineStart = $t);7268 },7269 polygonEnd: function () {7270 ($a.lineStart = $a.lineEnd = $a.point = b), (Oa += xo(Ia / 2));7271 },7272 },7273 Ba = {7274 point: Bt,7275 lineStart: b,7276 lineEnd: b,7277 polygonStart: b,7278 polygonEnd: b,7279 },7280 Wa = {7281 point: Gt,7282 lineStart: Kt,7283 lineEnd: Qt,7284 polygonStart: function () {7285 Wa.lineStart = ne;7286 },7287 polygonEnd: function () {7288 (Wa.point = Gt), (Wa.lineStart = Kt), (Wa.lineEnd = Qt);7289 },7290 };7291 (ao.geo.path = function () {7292 function n(n) {7293 return (7294 n &&7295 ("function" == typeof a && u.pointRadius(+a.apply(this, arguments)),7296 (o && o.valid) || (o = i(u)),7297 ao.geo.stream(n, o)),7298 u.result()7299 );7300 }7301 function t() {7302 return (o = null), n;7303 }7304 var e,7305 r,7306 i,7307 u,7308 o,7309 a = 4.5;7310 return (7311 (n.area = function (n) {7312 return (Oa = 0), ao.geo.stream(n, i($a)), Oa;7313 }),7314 (n.centroid = function (n) {7315 return (7316 (Ca = za = La = qa = Ta = Ra = Da = Pa = Ua = 0),7317 ao.geo.stream(n, i(Wa)),7318 Ua7319 ? [Da / Ua, Pa / Ua]7320 : Ra7321 ? [qa / Ra, Ta / Ra]7322 : La7323 ? [Ca / La, za / La]7324 : [NaN, NaN]7325 );7326 }),7327 (n.bounds = function (n) {7328 return (7329 (Va = Xa = -(Ya = Za = 1 / 0)),7330 ao.geo.stream(n, i(Ba)),7331 [7332 [Ya, Za],7333 [Va, Xa],7334 ]7335 );7336 }),7337 (n.projection = function (n) {7338 return arguments.length7339 ? ((i = (e = n) ? n.stream || re(n) : m), t())7340 : e;7341 }),7342 (n.context = function (n) {7343 return arguments.length7344 ? ((u = null == (r = n) ? new Wt() : new te(n)),7345 "function" != typeof a && u.pointRadius(a),7346 t())7347 : r;7348 }),7349 (n.pointRadius = function (t) {7350 return arguments.length7351 ? ((a = "function" == typeof t ? t : (u.pointRadius(+t), +t)), n)7352 : a;7353 }),7354 n.projection(ao.geo.albersUsa()).context(null)7355 );7356 }),7357 (ao.geo.transform = function (n) {7358 return {7359 stream: function (t) {7360 var e = new ie(t);7361 for (var r in n) e[r] = n[r];7362 return e;7363 },7364 };7365 }),7366 (ie.prototype = {7367 point: function (n, t) {7368 this.stream.point(n, t);7369 },7370 sphere: function () {7371 this.stream.sphere();7372 },7373 lineStart: function () {7374 this.stream.lineStart();7375 },7376 lineEnd: function () {7377 this.stream.lineEnd();7378 },7379 polygonStart: function () {7380 this.stream.polygonStart();7381 },7382 polygonEnd: function () {7383 this.stream.polygonEnd();7384 },7385 }),7386 (ao.geo.projection = oe),7387 (ao.geo.projectionMutator = ae),7388 ((ao.geo.equirectangular = function () {7389 return oe(ce);7390 }).raw = ce.invert = ce),7391 (ao.geo.rotation = function (n) {7392 function t(t) {7393 return (t = n(t[0] * Yo, t[1] * Yo)), (t[0] *= Zo), (t[1] *= Zo), t;7394 }7395 return (7396 (n = se((n[0] % 360) * Yo, n[1] * Yo, n.length > 2 ? n[2] * Yo : 0)),7397 (t.invert = function (t) {7398 return (7399 (t = n.invert(t[0] * Yo, t[1] * Yo)), (t[0] *= Zo), (t[1] *= Zo), t7400 );7401 }),7402 t7403 );7404 }),7405 (fe.invert = ce),7406 (ao.geo.circle = function () {7407 function n() {7408 var n = "function" == typeof r ? r.apply(this, arguments) : r,7409 t = se(-n[0] * Yo, -n[1] * Yo, 0).invert,7410 i = [];7411 return (7412 e(null, null, 1, {7413 point: function (n, e) {7414 i.push((n = t(n, e))), (n[0] *= Zo), (n[1] *= Zo);7415 },7416 }),7417 { type: "Polygon", coordinates: [i] }7418 );7419 }7420 var t,7421 e,7422 r = [0, 0],7423 i = 6;7424 return (7425 (n.origin = function (t) {7426 return arguments.length ? ((r = t), n) : r;7427 }),7428 (n.angle = function (r) {7429 return arguments.length ? ((e = ve((t = +r) * Yo, i * Yo)), n) : t;7430 }),7431 (n.precision = function (r) {7432 return arguments.length ? ((e = ve(t * Yo, (i = +r) * Yo)), n) : i;7433 }),7434 n.angle(90)7435 );7436 }),7437 (ao.geo.distance = function (n, t) {7438 var e,7439 r = (t[0] - n[0]) * Yo,7440 i = n[1] * Yo,7441 u = t[1] * Yo,7442 o = Math.sin(r),7443 a = Math.cos(r),7444 l = Math.sin(i),7445 c = Math.cos(i),7446 f = Math.sin(u),7447 s = Math.cos(u);7448 return Math.atan2(7449 Math.sqrt((e = s * o) * e + (e = c * f - l * s * a) * e),7450 l * f + c * s * a7451 );7452 }),7453 (ao.geo.graticule = function () {7454 function n() {7455 return { type: "MultiLineString", coordinates: t() };7456 }7457 function t() {7458 return ao7459 .range(Math.ceil(u / d) * d, i, d)7460 .map(h)7461 .concat(ao.range(Math.ceil(c / y) * y, l, y).map(p))7462 .concat(7463 ao7464 .range(Math.ceil(r / g) * g, e, g)7465 .filter(function (n) {7466 return xo(n % d) > Uo;7467 })7468 .map(f)7469 )7470 .concat(7471 ao7472 .range(Math.ceil(a / v) * v, o, v)7473 .filter(function (n) {7474 return xo(n % y) > Uo;7475 })7476 .map(s)7477 );7478 }7479 var e,7480 r,7481 i,7482 u,7483 o,7484 a,7485 l,7486 c,7487 f,7488 s,7489 h,7490 p,7491 g = 10,7492 v = g,7493 d = 90,7494 y = 360,7495 m = 2.5;7496 return (7497 (n.lines = function () {7498 return t().map(function (n) {7499 return { type: "LineString", coordinates: n };7500 });7501 }),7502 (n.outline = function () {7503 return {7504 type: "Polygon",7505 coordinates: [7506 h(u).concat(7507 p(l).slice(1),7508 h(i).reverse().slice(1),7509 p(c).reverse().slice(1)7510 ),7511 ],7512 };7513 }),7514 (n.extent = function (t) {7515 return arguments.length7516 ? n.majorExtent(t).minorExtent(t)7517 : n.minorExtent();7518 }),7519 (n.majorExtent = function (t) {7520 return arguments.length7521 ? ((u = +t[0][0]),7522 (i = +t[1][0]),7523 (c = +t[0][1]),7524 (l = +t[1][1]),7525 u > i && ((t = u), (u = i), (i = t)),7526 c > l && ((t = c), (c = l), (l = t)),7527 n.precision(m))7528 : [7529 [u, c],7530 [i, l],7531 ];7532 }),7533 (n.minorExtent = function (t) {7534 return arguments.length7535 ? ((r = +t[0][0]),7536 (e = +t[1][0]),7537 (a = +t[0][1]),7538 (o = +t[1][1]),7539 r > e && ((t = r), (r = e), (e = t)),7540 a > o && ((t = a), (a = o), (o = t)),7541 n.precision(m))7542 : [7543 [r, a],7544 [e, o],7545 ];7546 }),7547 (n.step = function (t) {7548 return arguments.length ? n.majorStep(t).minorStep(t) : n.minorStep();7549 }),7550 (n.majorStep = function (t) {7551 return arguments.length ? ((d = +t[0]), (y = +t[1]), n) : [d, y];7552 }),7553 (n.minorStep = function (t) {7554 return arguments.length ? ((g = +t[0]), (v = +t[1]), n) : [g, v];7555 }),7556 (n.precision = function (t) {7557 return arguments.length7558 ? ((m = +t),7559 (f = ye(a, o, 90)),7560 (s = me(r, e, m)),7561 (h = ye(c, l, 90)),7562 (p = me(u, i, m)),7563 n)7564 : m;7565 }),7566 n7567 .majorExtent([7568 [-180, -90 + Uo],7569 [180, 90 - Uo],7570 ])7571 .minorExtent([7572 [-180, -80 - Uo],7573 [180, 80 + Uo],7574 ])7575 );7576 }),7577 (ao.geo.greatArc = function () {7578 function n() {7579 return {7580 type: "LineString",7581 coordinates: [7582 t || r.apply(this, arguments),7583 e || i.apply(this, arguments),7584 ],7585 };7586 }7587 var t,7588 e,7589 r = Me,7590 i = xe;7591 return (7592 (n.distance = function () {7593 return ao.geo.distance(7594 t || r.apply(this, arguments),7595 e || i.apply(this, arguments)7596 );7597 }),7598 (n.source = function (e) {7599 return arguments.length7600 ? ((r = e), (t = "function" == typeof e ? null : e), n)7601 : r;7602 }),7603 (n.target = function (t) {7604 return arguments.length7605 ? ((i = t), (e = "function" == typeof t ? null : t), n)7606 : i;7607 }),7608 (n.precision = function () {7609 return arguments.length ? n : 0;7610 }),7611 n7612 );7613 }),7614 (ao.geo.interpolate = function (n, t) {7615 return be(n[0] * Yo, n[1] * Yo, t[0] * Yo, t[1] * Yo);7616 }),7617 (ao.geo.length = function (n) {7618 return (Ja = 0), ao.geo.stream(n, Ga), Ja;7619 });7620 var Ja,7621 Ga = {7622 sphere: b,7623 point: b,7624 lineStart: _e,7625 lineEnd: b,7626 polygonStart: b,7627 polygonEnd: b,7628 },7629 Ka = we(7630 function (n) {7631 return Math.sqrt(2 / (1 + n));7632 },7633 function (n) {7634 return 2 * Math.asin(n / 2);7635 }7636 );7637 (ao.geo.azimuthalEqualArea = function () {7638 return oe(Ka);7639 }).raw = Ka;7640 var Qa = we(function (n) {7641 var t = Math.acos(n);7642 return t && t / Math.sin(t);7643 }, m);7644 ((ao.geo.azimuthalEquidistant = function () {7645 return oe(Qa);7646 }).raw = Qa),7647 ((ao.geo.conicConformal = function () {7648 return Vt(Se);7649 }).raw = Se),7650 ((ao.geo.conicEquidistant = function () {7651 return Vt(ke);7652 }).raw = ke);7653 var nl = we(function (n) {7654 return 1 / n;7655 }, Math.atan);7656 ((ao.geo.gnomonic = function () {7657 return oe(nl);7658 }).raw = nl),7659 (Ne.invert = function (n, t) {7660 return [n, 2 * Math.atan(Math.exp(t)) - Io];7661 }),7662 ((ao.geo.mercator = function () {7663 return Ee(Ne);7664 }).raw = Ne);7665 var tl = we(function () {7666 return 1;7667 }, Math.asin);7668 (ao.geo.orthographic = function () {7669 return oe(tl);7670 }).raw = tl;7671 var el = we(7672 function (n) {7673 return 1 / (1 + n);7674 },7675 function (n) {7676 return 2 * Math.atan(n);7677 }7678 );7679 ((ao.geo.stereographic = function () {7680 return oe(el);7681 }).raw = el),7682 (Ae.invert = function (n, t) {7683 return [-t, 2 * Math.atan(Math.exp(n)) - Io];7684 }),7685 ((ao.geo.transverseMercator = function () {7686 var n = Ee(Ae),7687 t = n.center,7688 e = n.rotate;7689 return (7690 (n.center = function (n) {7691 return n ? t([-n[1], n[0]]) : ((n = t()), [n[1], -n[0]]);7692 }),7693 (n.rotate = function (n) {7694 return n7695 ? e([n[0], n[1], n.length > 2 ? n[2] + 90 : 90])7696 : ((n = e()), [n[0], n[1], n[2] - 90]);7697 }),7698 e([0, 0, 90])7699 );7700 }).raw = Ae),7701 (ao.geom = {}),7702 (ao.geom.hull = function (n) {7703 function t(n) {7704 if (n.length < 3) return [];7705 var t,7706 i = En(e),7707 u = En(r),7708 o = n.length,7709 a = [],7710 l = [];7711 for (t = 0; o > t; t++)7712 a.push([+i.call(this, n[t], t), +u.call(this, n[t], t), t]);7713 for (a.sort(qe), t = 0; o > t; t++) l.push([a[t][0], -a[t][1]]);7714 var c = Le(a),7715 f = Le(l),7716 s = f[0] === c[0],7717 h = f[f.length - 1] === c[c.length - 1],7718 p = [];7719 for (t = c.length - 1; t >= 0; --t) p.push(n[a[c[t]][2]]);7720 for (t = +s; t < f.length - h; ++t) p.push(n[a[f[t]][2]]);7721 return p;7722 }7723 var e = Ce,7724 r = ze;7725 return arguments.length7726 ? t(n)7727 : ((t.x = function (n) {7728 return arguments.length ? ((e = n), t) : e;7729 }),7730 (t.y = function (n) {7731 return arguments.length ? ((r = n), t) : r;7732 }),7733 t);7734 }),7735 (ao.geom.polygon = function (n) {7736 return ko(n, rl), n;7737 });7738 var rl = (ao.geom.polygon.prototype = []);7739 (rl.area = function () {7740 for (var n, t = -1, e = this.length, r = this[e - 1], i = 0; ++t < e; )7741 (n = r), (r = this[t]), (i += n[1] * r[0] - n[0] * r[1]);7742 return 0.5 * i;7743 }),7744 (rl.centroid = function (n) {7745 var t,7746 e,7747 r = -1,7748 i = this.length,7749 u = 0,7750 o = 0,7751 a = this[i - 1];7752 for (arguments.length || (n = -1 / (6 * this.area())); ++r < i; )7753 (t = a),7754 (a = this[r]),7755 (e = t[0] * a[1] - a[0] * t[1]),7756 (u += (t[0] + a[0]) * e),7757 (o += (t[1] + a[1]) * e);7758 return [u * n, o * n];7759 }),7760 (rl.clip = function (n) {7761 for (7762 var t,7763 e,7764 r,7765 i,7766 u,7767 o,7768 a = De(n),7769 l = -1,7770 c = this.length - De(this),7771 f = this[c - 1];7772 ++l < c;7773 ) {7774 for (7775 t = n.slice(),7776 n.length = 0,7777 i = this[l],7778 u = t[(r = t.length - a) - 1],7779 e = -1;7780 ++e < r;7781 )7782 (o = t[e]),7783 Te(o, f, i)7784 ? (Te(u, f, i) || n.push(Re(u, o, f, i)), n.push(o))7785 : Te(u, f, i) && n.push(Re(u, o, f, i)),7786 (u = o);7787 a && n.push(n[0]), (f = i);7788 }7789 return n;7790 });7791 var il,7792 ul,7793 ol,7794 al,7795 ll,7796 cl = [],7797 fl = [];7798 (Ye.prototype.prepare = function () {7799 for (var n, t = this.edges, e = t.length; e--; )7800 (n = t[e].edge), (n.b && n.a) || t.splice(e, 1);7801 return t.sort(Ve), t.length;7802 }),7803 (tr.prototype = {7804 start: function () {7805 return this.edge.l === this.site ? this.edge.a : this.edge.b;7806 },7807 end: function () {7808 return this.edge.l === this.site ? this.edge.b : this.edge.a;7809 },7810 }),7811 (er.prototype = {7812 insert: function (n, t) {7813 var e, r, i;7814 if (n) {7815 if (((t.P = n), (t.N = n.N), n.N && (n.N.P = t), (n.N = t), n.R)) {7816 for (n = n.R; n.L; ) n = n.L;7817 n.L = t;7818 } else n.R = t;7819 e = n;7820 } else7821 this._7822 ? ((n = or(this._)),7823 (t.P = null),7824 (t.N = n),7825 (n.P = n.L = t),7826 (e = n))7827 : ((t.P = t.N = null), (this._ = t), (e = null));7828 for (t.L = t.R = null, t.U = e, t.C = !0, n = t; e && e.C; )7829 (r = e.U),7830 e === r.L7831 ? ((i = r.R),7832 i && i.C7833 ? ((e.C = i.C = !1), (r.C = !0), (n = r))7834 : (n === e.R && (ir(this, e), (n = e), (e = n.U)),7835 (e.C = !1),7836 (r.C = !0),7837 ur(this, r)))7838 : ((i = r.L),7839 i && i.C7840 ? ((e.C = i.C = !1), (r.C = !0), (n = r))7841 : (n === e.L && (ur(this, e), (n = e), (e = n.U)),7842 (e.C = !1),7843 (r.C = !0),7844 ir(this, r))),7845 (e = n.U);7846 this._.C = !1;7847 },7848 remove: function (n) {7849 n.N && (n.N.P = n.P), n.P && (n.P.N = n.N), (n.N = n.P = null);7850 var t,7851 e,7852 r,7853 i = n.U,7854 u = n.L,7855 o = n.R;7856 if (7857 ((e = u ? (o ? or(o) : u) : o),7858 i ? (i.L === n ? (i.L = e) : (i.R = e)) : (this._ = e),7859 u && o7860 ? ((r = e.C),7861 (e.C = n.C),7862 (e.L = u),7863 (u.U = e),7864 e !== o7865 ? ((i = e.U),7866 (e.U = n.U),7867 (n = e.R),7868 (i.L = n),7869 (e.R = o),7870 (o.U = e))7871 : ((e.U = i), (i = e), (n = e.R)))7872 : ((r = n.C), (n = e)),7873 n && (n.U = i),7874 !r)7875 ) {7876 if (n && n.C) return void (n.C = !1);7877 do {7878 if (n === this._) break;7879 if (n === i.L) {7880 if (7881 ((t = i.R),7882 t.C && ((t.C = !1), (i.C = !0), ir(this, i), (t = i.R)),7883 (t.L && t.L.C) || (t.R && t.R.C))7884 ) {7885 (t.R && t.R.C) ||7886 ((t.L.C = !1), (t.C = !0), ur(this, t), (t = i.R)),7887 (t.C = i.C),7888 (i.C = t.R.C = !1),7889 ir(this, i),7890 (n = this._);7891 break;7892 }7893 } else if (7894 ((t = i.L),7895 t.C && ((t.C = !1), (i.C = !0), ur(this, i), (t = i.L)),7896 (t.L && t.L.C) || (t.R && t.R.C))7897 ) {7898 (t.L && t.L.C) ||7899 ((t.R.C = !1), (t.C = !0), ir(this, t), (t = i.L)),7900 (t.C = i.C),7901 (i.C = t.L.C = !1),7902 ur(this, i),7903 (n = this._);7904 break;7905 }7906 (t.C = !0), (n = i), (i = i.U);7907 } while (!n.C);7908 n && (n.C = !1);7909 }7910 },7911 }),7912 (ao.geom.voronoi = function (n) {7913 function t(n) {7914 var t = new Array(n.length),7915 r = a[0][0],7916 i = a[0][1],7917 u = a[1][0],7918 o = a[1][1];7919 return (7920 ar(e(n), a).cells.forEach(function (e, a) {7921 var l = e.edges,7922 c = e.site,7923 f = (t[a] = l.length7924 ? l.map(function (n) {7925 var t = n.start();7926 return [t.x, t.y];7927 })7928 : c.x >= r && c.x <= u && c.y >= i && c.y <= o7929 ? [7930 [r, o],7931 [u, o],7932 [u, i],7933 [r, i],7934 ]7935 : []);7936 f.point = n[a];7937 }),7938 t7939 );7940 }7941 function e(n) {7942 return n.map(function (n, t) {7943 return {7944 x: Math.round(u(n, t) / Uo) * Uo,7945 y: Math.round(o(n, t) / Uo) * Uo,7946 i: t,7947 };7948 });7949 }7950 var r = Ce,7951 i = ze,7952 u = r,7953 o = i,7954 a = sl;7955 return n7956 ? t(n)7957 : ((t.links = function (n) {7958 return ar(e(n))7959 .edges.filter(function (n) {7960 return n.l && n.r;7961 })7962 .map(function (t) {7963 return { source: n[t.l.i], target: n[t.r.i] };7964 });7965 }),7966 (t.triangles = function (n) {7967 var t = [];7968 return (7969 ar(e(n)).cells.forEach(function (e, r) {7970 for (7971 var i,7972 u,7973 o = e.site,7974 a = e.edges.sort(Ve),7975 l = -1,7976 c = a.length,7977 f = a[c - 1].edge,7978 s = f.l === o ? f.r : f.l;7979 ++l < c;7980 )7981 (i = f),7982 (u = s),7983 (f = a[l].edge),7984 (s = f.l === o ? f.r : f.l),7985 r < u.i &&7986 r < s.i &&7987 cr(o, u, s) < 0 &&7988 t.push([n[r], n[u.i], n[s.i]]);7989 }),7990 t7991 );7992 }),7993 (t.x = function (n) {7994 return arguments.length ? ((u = En((r = n))), t) : r;7995 }),7996 (t.y = function (n) {7997 return arguments.length ? ((o = En((i = n))), t) : i;7998 }),7999 (t.clipExtent = function (n) {8000 return arguments.length8001 ? ((a = null == n ? sl : n), t)8002 : a === sl8003 ? null8004 : a;8005 }),8006 (t.size = function (n) {8007 return arguments.length8008 ? t.clipExtent(n && [[0, 0], n])8009 : a === sl8010 ? null8011 : a && a[1];8012 }),8013 t);8014 });8015 var sl = [8016 [-1e6, -1e6],8017 [1e6, 1e6],8018 ];8019 (ao.geom.delaunay = function (n) {8020 return ao.geom.voronoi().triangles(n);8021 }),8022 (ao.geom.quadtree = function (n, t, e, r, i) {8023 function u(n) {8024 function u(n, t, e, r, i, u, o, a) {8025 if (!isNaN(e) && !isNaN(r))8026 if (n.leaf) {8027 var l = n.x,8028 f = n.y;8029 if (null != l)8030 if (xo(l - e) + xo(f - r) < 0.01) c(n, t, e, r, i, u, o, a);8031 else {8032 var s = n.point;8033 (n.x = n.y = n.point = null),8034 c(n, s, l, f, i, u, o, a),8035 c(n, t, e, r, i, u, o, a);8036 }8037 else (n.x = e), (n.y = r), (n.point = t);8038 } else c(n, t, e, r, i, u, o, a);8039 }8040 function c(n, t, e, r, i, o, a, l) {8041 var c = 0.5 * (i + a),8042 f = 0.5 * (o + l),8043 s = e >= c,8044 h = r >= f,8045 p = (h << 1) | s;8046 (n.leaf = !1),8047 (n = n.nodes[p] || (n.nodes[p] = hr())),8048 s ? (i = c) : (a = c),8049 h ? (o = f) : (l = f),8050 u(n, t, e, r, i, o, a, l);8051 }8052 var f,8053 s,8054 h,8055 p,8056 g,8057 v,8058 d,8059 y,8060 m,8061 M = En(a),8062 x = En(l);8063 if (null != t) (v = t), (d = e), (y = r), (m = i);8064 else if (8065 ((y = m = -(v = d = 1 / 0)), (s = []), (h = []), (g = n.length), o)8066 )8067 for (p = 0; g > p; ++p)8068 (f = n[p]),8069 f.x < v && (v = f.x),8070 f.y < d && (d = f.y),8071 f.x > y && (y = f.x),8072 f.y > m && (m = f.y),8073 s.push(f.x),8074 h.push(f.y);8075 else8076 for (p = 0; g > p; ++p) {8077 var b = +M((f = n[p]), p),8078 _ = +x(f, p);8079 v > b && (v = b),8080 d > _ && (d = _),8081 b > y && (y = b),8082 _ > m && (m = _),8083 s.push(b),8084 h.push(_);8085 }8086 var w = y - v,8087 S = m - d;8088 w > S ? (m = d + w) : (y = v + S);8089 var k = hr();8090 if (8091 ((k.add = function (n) {8092 u(k, n, +M(n, ++p), +x(n, p), v, d, y, m);8093 }),8094 (k.visit = function (n) {8095 pr(n, k, v, d, y, m);8096 }),8097 (k.find = function (n) {8098 return gr(k, n[0], n[1], v, d, y, m);8099 }),8100 (p = -1),8101 null == t)8102 ) {8103 for (; ++p < g; ) u(k, n[p], s[p], h[p], v, d, y, m);8104 --p;8105 } else n.forEach(k.add);8106 return (s = h = n = f = null), k;8107 }8108 var o,8109 a = Ce,8110 l = ze;8111 return (o = arguments.length)8112 ? ((a = fr), (l = sr), 3 === o && ((i = e), (r = t), (e = t = 0)), u(n))8113 : ((u.x = function (n) {8114 return arguments.length ? ((a = n), u) : a;8115 }),8116 (u.y = function (n) {8117 return arguments.length ? ((l = n), u) : l;8118 }),8119 (u.extent = function (n) {8120 return arguments.length8121 ? (null == n8122 ? (t = e = r = i = null)8123 : ((t = +n[0][0]),8124 (e = +n[0][1]),8125 (r = +n[1][0]),8126 (i = +n[1][1])),8127 u)8128 : null == t8129 ? null8130 : [8131 [t, e],8132 [r, i],8133 ];8134 }),8135 (u.size = function (n) {8136 return arguments.length8137 ? (null == n8138 ? (t = e = r = i = null)8139 : ((t = e = 0), (r = +n[0]), (i = +n[1])),8140 u)8141 : null == t8142 ? null8143 : [r - t, i - e];8144 }),8145 u);8146 }),8147 (ao.interpolateRgb = vr),8148 (ao.interpolateObject = dr),8149 (ao.interpolateNumber = yr),8150 (ao.interpolateString = mr);8151 var hl = /[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,8152 pl = new RegExp(hl.source, "g");8153 (ao.interpolate = Mr),8154 (ao.interpolators = [8155 function (n, t) {8156 var e = typeof t;8157 return ("string" === e8158 ? ua.has(t.toLowerCase()) || /^(#|rgb\(|hsl\()/i.test(t)8159 ? vr8160 : mr8161 : t instanceof an8162 ? vr8163 : Array.isArray(t)8164 ? xr8165 : "object" === e && isNaN(t)8166 ? dr8167 : yr)(n, t);8168 },8169 ]),8170 (ao.interpolateArray = xr);8171 var gl = function () {8172 return m;8173 },8174 vl = ao.map({8175 linear: gl,8176 poly: Er,8177 quad: function () {8178 return Sr;8179 },8180 cubic: function () {8181 return kr;8182 },8183 sin: function () {8184 return Ar;8185 },8186 exp: function () {8187 return Cr;8188 },8189 circle: function () {8190 return zr;8191 },8192 elastic: Lr,8193 back: qr,8194 bounce: function () {8195 return Tr;8196 },8197 }),8198 dl = ao.map({8199 in: m,8200 out: _r,8201 "in-out": wr,8202 "out-in": function (n) {8203 return wr(_r(n));8204 },8205 });8206 (ao.ease = function (n) {8207 var t = n.indexOf("-"),8208 e = t >= 0 ? n.slice(0, t) : n,8209 r = t >= 0 ? n.slice(t + 1) : "in";8210 return (8211 (e = vl.get(e) || gl),8212 (r = dl.get(r) || m),8213 br(r(e.apply(null, lo.call(arguments, 1))))8214 );8215 }),8216 (ao.interpolateHcl = Rr),8217 (ao.interpolateHsl = Dr),8218 (ao.interpolateLab = Pr),8219 (ao.interpolateRound = Ur),8220 (ao.transform = function (n) {8221 var t = fo.createElementNS(ao.ns.prefix.svg, "g");8222 return (ao.transform = function (n) {8223 if (null != n) {8224 t.setAttribute("transform", n);8225 var e = t.transform.baseVal.consolidate();8226 }8227 return new jr(e ? e.matrix : yl);8228 })(n);8229 }),8230 (jr.prototype.toString = function () {8231 return (8232 "translate(" +8233 this.translate +8234 ")rotate(" +8235 this.rotate +8236 ")skewX(" +8237 this.skew +8238 ")scale(" +8239 this.scale +8240 ")"8241 );8242 });8243 var yl = { a: 1, b: 0, c: 0, d: 1, e: 0, f: 0 };8244 (ao.interpolateTransform = $r),8245 (ao.layout = {}),8246 (ao.layout.bundle = function () {8247 return function (n) {8248 for (var t = [], e = -1, r = n.length; ++e < r; ) t.push(Jr(n[e]));8249 return t;8250 };8251 }),8252 (ao.layout.chord = function () {8253 function n() {8254 var n,8255 c,8256 s,8257 h,8258 p,8259 g = {},8260 v = [],8261 d = ao.range(u),8262 y = [];8263 for (e = [], r = [], n = 0, h = -1; ++h < u; ) {8264 for (c = 0, p = -1; ++p < u; ) c += i[h][p];8265 v.push(c), y.push(ao.range(u)), (n += c);8266 }8267 for (8268 o &&8269 d.sort(function (n, t) {8270 return o(v[n], v[t]);8271 }),8272 a &&8273 y.forEach(function (n, t) {8274 n.sort(function (n, e) {8275 return a(i[t][n], i[t][e]);8276 });8277 }),8278 n = (Ho - f * u) / n,8279 c = 0,8280 h = -1;8281 ++h < u;8282 ) {8283 for (s = c, p = -1; ++p < u; ) {8284 var m = d[h],8285 M = y[m][p],8286 x = i[m][M],8287 b = c,8288 _ = (c += x * n);8289 g[m + "-" + M] = {8290 index: m,8291 subindex: M,8292 startAngle: b,8293 endAngle: _,8294 value: x,8295 };8296 }8297 (r[m] = { index: m, startAngle: s, endAngle: c, value: v[m] }),8298 (c += f);8299 }8300 for (h = -1; ++h < u; )8301 for (p = h - 1; ++p < u; ) {8302 var w = g[h + "-" + p],8303 S = g[p + "-" + h];8304 (w.value || S.value) &&8305 e.push(8306 w.value < S.value8307 ? { source: S, target: w }8308 : { source: w, target: S }8309 );8310 }8311 l && t();8312 }8313 function t() {8314 e.sort(function (n, t) {8315 return l(8316 (n.source.value + n.target.value) / 2,8317 (t.source.value + t.target.value) / 28318 );8319 });8320 }8321 var e,8322 r,8323 i,8324 u,8325 o,8326 a,8327 l,8328 c = {},8329 f = 0;8330 return (8331 (c.matrix = function (n) {8332 return arguments.length8333 ? ((u = (i = n) && i.length), (e = r = null), c)8334 : i;8335 }),8336 (c.padding = function (n) {8337 return arguments.length ? ((f = n), (e = r = null), c) : f;8338 }),8339 (c.sortGroups = function (n) {8340 return arguments.length ? ((o = n), (e = r = null), c) : o;8341 }),8342 (c.sortSubgroups = function (n) {8343 return arguments.length ? ((a = n), (e = null), c) : a;8344 }),8345 (c.sortChords = function (n) {8346 return arguments.length ? ((l = n), e && t(), c) : l;8347 }),8348 (c.chords = function () {8349 return e || n(), e;8350 }),8351 (c.groups = function () {8352 return r || n(), r;8353 }),8354 c8355 );8356 }),8357 (ao.layout.force = function () {8358 function n(n) {8359 return function (t, e, r, i) {8360 if (t.point !== n) {8361 var u = t.cx - n.x,8362 o = t.cy - n.y,8363 a = i - e,8364 l = u * u + o * o;8365 if (l > (a * a) / y) {8366 if (v > l) {8367 var c = t.charge / l;8368 (n.px -= u * c), (n.py -= o * c);8369 }8370 return !0;8371 }8372 if (t.point && l && v > l) {8373 var c = t.pointCharge / l;8374 (n.px -= u * c), (n.py -= o * c);8375 }8376 }8377 return !t.charge;8378 };8379 }8380 function t(n) {8381 (n.px = ao.event.x), (n.py = ao.event.y), l.resume();8382 }8383 var e,8384 r,8385 i,8386 u,8387 o,8388 a,8389 l = {},8390 c = ao.dispatch("start", "tick", "end"),8391 f = [1, 1],8392 s = 0.9,8393 h = ml,8394 p = Ml,8395 g = -30,8396 v = xl,8397 d = 0.1,8398 y = 0.64,8399 M = [],8400 x = [];8401 return (8402 (l.tick = function () {8403 if ((i *= 0.99) < 0.005)8404 return (e = null), c.end({ type: "end", alpha: (i = 0) }), !0;8405 var t,8406 r,8407 l,8408 h,8409 p,8410 v,8411 y,8412 m,8413 b,8414 _ = M.length,8415 w = x.length;8416 for (r = 0; w > r; ++r)8417 (l = x[r]),8418 (h = l.source),8419 (p = l.target),8420 (m = p.x - h.x),8421 (b = p.y - h.y),8422 (v = m * m + b * b) &&8423 ((v = (i * o[r] * ((v = Math.sqrt(v)) - u[r])) / v),8424 (m *= v),8425 (b *= v),8426 (p.x -=8427 m *8428 (y =8429 h.weight + p.weight8430 ? h.weight / (h.weight + p.weight)8431 : 0.5)),8432 (p.y -= b * y),8433 (h.x += m * (y = 1 - y)),8434 (h.y += b * y));8435 if ((y = i * d) && ((m = f[0] / 2), (b = f[1] / 2), (r = -1), y))8436 for (; ++r < _; )8437 (l = M[r]), (l.x += (m - l.x) * y), (l.y += (b - l.y) * y);8438 if (g)8439 for (ri((t = ao.geom.quadtree(M)), i, a), r = -1; ++r < _; )8440 (l = M[r]).fixed || t.visit(n(l));8441 for (r = -1; ++r < _; )8442 (l = M[r]),8443 l.fixed8444 ? ((l.x = l.px), (l.y = l.py))8445 : ((l.x -= (l.px - (l.px = l.x)) * s),8446 (l.y -= (l.py - (l.py = l.y)) * s));8447 c.tick({ type: "tick", alpha: i });8448 }),8449 (l.nodes = function (n) {8450 return arguments.length ? ((M = n), l) : M;8451 }),8452 (l.links = function (n) {8453 return arguments.length ? ((x = n), l) : x;8454 }),8455 (l.size = function (n) {8456 return arguments.length ? ((f = n), l) : f;8457 }),8458 (l.linkDistance = function (n) {8459 return arguments.length8460 ? ((h = "function" == typeof n ? n : +n), l)8461 : h;8462 }),8463 (l.distance = l.linkDistance),8464 (l.linkStrength = function (n) {8465 return arguments.length8466 ? ((p = "function" == typeof n ? n : +n), l)8467 : p;8468 }),8469 (l.friction = function (n) {8470 return arguments.length ? ((s = +n), l) : s;8471 }),8472 (l.charge = function (n) {8473 return arguments.length8474 ? ((g = "function" == typeof n ? n : +n), l)8475 : g;8476 }),8477 (l.chargeDistance = function (n) {8478 return arguments.length ? ((v = n * n), l) : Math.sqrt(v);8479 }),8480 (l.gravity = function (n) {8481 return arguments.length ? ((d = +n), l) : d;8482 }),8483 (l.theta = function (n) {8484 return arguments.length ? ((y = n * n), l) : Math.sqrt(y);8485 }),8486 (l.alpha = function (n) {8487 return arguments.length8488 ? ((n = +n),8489 i8490 ? n > 08491 ? (i = n)8492 : ((e.c = null),8493 (e.t = NaN),8494 (e = null),8495 c.end({ type: "end", alpha: (i = 0) }))8496 : n > 0 &&8497 (c.start({ type: "start", alpha: (i = n) }),8498 (e = qn(l.tick))),8499 l)8500 : i;8501 }),8502 (l.start = function () {8503 function n(n, r) {8504 if (!e) {8505 for (e = new Array(i), l = 0; i > l; ++l) e[l] = [];8506 for (l = 0; c > l; ++l) {8507 var u = x[l];8508 e[u.source.index].push(u.target),8509 e[u.target.index].push(u.source);8510 }8511 }8512 for (var o, a = e[t], l = -1, f = a.length; ++l < f; )8513 if (!isNaN((o = a[l][n]))) return o;8514 return Math.random() * r;8515 }8516 var t,8517 e,8518 r,8519 i = M.length,8520 c = x.length,8521 s = f[0],8522 v = f[1];8523 for (t = 0; i > t; ++t) ((r = M[t]).index = t), (r.weight = 0);8524 for (t = 0; c > t; ++t)8525 (r = x[t]),8526 "number" == typeof r.source && (r.source = M[r.source]),8527 "number" == typeof r.target && (r.target = M[r.target]),8528 ++r.source.weight,8529 ++r.target.weight;8530 for (t = 0; i > t; ++t)8531 (r = M[t]),8532 isNaN(r.x) && (r.x = n("x", s)),8533 isNaN(r.y) && (r.y = n("y", v)),8534 isNaN(r.px) && (r.px = r.x),8535 isNaN(r.py) && (r.py = r.y);8536 if (((u = []), "function" == typeof h))8537 for (t = 0; c > t; ++t) u[t] = +h.call(this, x[t], t);8538 else for (t = 0; c > t; ++t) u[t] = h;8539 if (((o = []), "function" == typeof p))8540 for (t = 0; c > t; ++t) o[t] = +p.call(this, x[t], t);8541 else for (t = 0; c > t; ++t) o[t] = p;8542 if (((a = []), "function" == typeof g))8543 for (t = 0; i > t; ++t) a[t] = +g.call(this, M[t], t);8544 else for (t = 0; i > t; ++t) a[t] = g;8545 return l.resume();8546 }),8547 (l.resume = function () {8548 return l.alpha(0.1);8549 }),8550 (l.stop = function () {8551 return l.alpha(0);8552 }),8553 (l.drag = function () {8554 return (8555 r ||8556 (r = ao.behavior8557 .drag()8558 .origin(m)8559 .on("dragstart.force", Qr)8560 .on("drag.force", t)8561 .on("dragend.force", ni)),8562 arguments.length8563 ? void this.on("mouseover.force", ti)8564 .on("mouseout.force", ei)8565 .call(r)8566 : r8567 );8568 }),8569 ao.rebind(l, c, "on")8570 );8571 });8572 var ml = 20,8573 Ml = 1,8574 xl = 1 / 0;8575 (ao.layout.hierarchy = function () {8576 function n(i) {8577 var u,8578 o = [i],8579 a = [];8580 for (i.depth = 0; null != (u = o.pop()); )8581 if ((a.push(u), (c = e.call(n, u, u.depth)) && (l = c.length))) {8582 for (var l, c, f; --l >= 0; )8583 o.push((f = c[l])), (f.parent = u), (f.depth = u.depth + 1);8584 r && (u.value = 0), (u.children = c);8585 } else r && (u.value = +r.call(n, u, u.depth) || 0), delete u.children;8586 return (8587 oi(i, function (n) {8588 var e, i;8589 t && (e = n.children) && e.sort(t),8590 r && (i = n.parent) && (i.value += n.value);8591 }),8592 a8593 );8594 }8595 var t = ci,8596 e = ai,8597 r = li;8598 return (8599 (n.sort = function (e) {8600 return arguments.length ? ((t = e), n) : t;8601 }),8602 (n.children = function (t) {8603 return arguments.length ? ((e = t), n) : e;8604 }),8605 (n.value = function (t) {8606 return arguments.length ? ((r = t), n) : r;8607 }),8608 (n.revalue = function (t) {8609 return (8610 r &&8611 (ui(t, function (n) {8612 n.children && (n.value = 0);8613 }),8614 oi(t, function (t) {8615 var e;8616 t.children || (t.value = +r.call(n, t, t.depth) || 0),8617 (e = t.parent) && (e.value += t.value);8618 })),8619 t8620 );8621 }),8622 n8623 );8624 }),8625 (ao.layout.partition = function () {8626 function n(t, e, r, i) {8627 var u = t.children;8628 if (8629 ((t.x = e),8630 (t.y = t.depth * i),8631 (t.dx = r),8632 (t.dy = i),8633 u && (o = u.length))8634 ) {8635 var o,8636 a,8637 l,8638 c = -1;8639 for (r = t.value ? r / t.value : 0; ++c < o; )8640 n((a = u[c]), e, (l = a.value * r), i), (e += l);8641 }8642 }8643 function t(n) {8644 var e = n.children,8645 r = 0;8646 if (e && (i = e.length))8647 for (var i, u = -1; ++u < i; ) r = Math.max(r, t(e[u]));8648 return 1 + r;8649 }8650 function e(e, u) {8651 var o = r.call(this, e, u);8652 return n(o[0], 0, i[0], i[1] / t(o[0])), o;8653 }8654 var r = ao.layout.hierarchy(),8655 i = [1, 1];8656 return (8657 (e.size = function (n) {8658 return arguments.length ? ((i = n), e) : i;8659 }),8660 ii(e, r)8661 );8662 }),8663 (ao.layout.pie = function () {8664 function n(o) {8665 var a,8666 l = o.length,8667 c = o.map(function (e, r) {8668 return +t.call(n, e, r);8669 }),8670 f = +("function" == typeof r ? r.apply(this, arguments) : r),8671 s = ("function" == typeof i ? i.apply(this, arguments) : i) - f,8672 h = Math.min(8673 Math.abs(s) / l,8674 +("function" == typeof u ? u.apply(this, arguments) : u)8675 ),8676 p = h * (0 > s ? -1 : 1),8677 g = ao.sum(c),8678 v = g ? (s - l * p) / g : 0,8679 d = ao.range(l),8680 y = [];8681 return (8682 null != e &&8683 d.sort(8684 e === bl8685 ? function (n, t) {8686 return c[t] - c[n];8687 }8688 : function (n, t) {8689 return e(o[n], o[t]);8690 }8691 ),8692 d.forEach(function (n) {8693 y[n] = {8694 data: o[n],8695 value: (a = c[n]),8696 startAngle: f,8697 endAngle: (f += a * v + p),8698 padAngle: h,8699 };8700 }),8701 y8702 );8703 }8704 var t = Number,8705 e = bl,8706 r = 0,8707 i = Ho,8708 u = 0;8709 return (8710 (n.value = function (e) {8711 return arguments.length ? ((t = e), n) : t;8712 }),8713 (n.sort = function (t) {8714 return arguments.length ? ((e = t), n) : e;8715 }),8716 (n.startAngle = function (t) {8717 return arguments.length ? ((r = t), n) : r;8718 }),8719 (n.endAngle = function (t) {8720 return arguments.length ? ((i = t), n) : i;8721 }),8722 (n.padAngle = function (t) {8723 return arguments.length ? ((u = t), n) : u;8724 }),8725 n8726 );8727 });8728 var bl = {};8729 ao.layout.stack = function () {8730 function n(a, l) {8731 if (!(h = a.length)) return a;8732 var c = a.map(function (e, r) {8733 return t.call(n, e, r);8734 }),8735 f = c.map(function (t) {8736 return t.map(function (t, e) {8737 return [u.call(n, t, e), o.call(n, t, e)];8738 });8739 }),8740 s = e.call(n, f, l);8741 (c = ao.permute(c, s)), (f = ao.permute(f, s));8742 var h,8743 p,8744 g,8745 v,8746 d = r.call(n, f, l),8747 y = c[0].length;8748 for (g = 0; y > g; ++g)8749 for (i.call(n, c[0][g], (v = d[g]), f[0][g][1]), p = 1; h > p; ++p)8750 i.call(n, c[p][g], (v += f[p - 1][g][1]), f[p][g][1]);8751 return a;8752 }8753 var t = m,8754 e = gi,8755 r = vi,8756 i = pi,8757 u = si,8758 o = hi;8759 return (8760 (n.values = function (e) {8761 return arguments.length ? ((t = e), n) : t;8762 }),8763 (n.order = function (t) {8764 return arguments.length8765 ? ((e = "function" == typeof t ? t : _l.get(t) || gi), n)8766 : e;8767 }),8768 (n.offset = function (t) {8769 return arguments.length8770 ? ((r = "function" == typeof t ? t : wl.get(t) || vi), n)8771 : r;8772 }),8773 (n.x = function (t) {8774 return arguments.length ? ((u = t), n) : u;8775 }),8776 (n.y = function (t) {8777 return arguments.length ? ((o = t), n) : o;8778 }),8779 (n.out = function (t) {8780 return arguments.length ? ((i = t), n) : i;8781 }),8782 n8783 );8784 };8785 var _l = ao.map({8786 "inside-out": function (n) {8787 var t,8788 e,8789 r = n.length,8790 i = n.map(di),8791 u = n.map(yi),8792 o = ao.range(r).sort(function (n, t) {8793 return i[n] - i[t];8794 }),8795 a = 0,8796 l = 0,8797 c = [],8798 f = [];8799 for (t = 0; r > t; ++t)8800 (e = o[t]),8801 l > a ? ((a += u[e]), c.push(e)) : ((l += u[e]), f.push(e));8802 return f.reverse().concat(c);8803 },8804 reverse: function (n) {8805 return ao.range(n.length).reverse();8806 },8807 default: gi,8808 }),8809 wl = ao.map({8810 silhouette: function (n) {8811 var t,8812 e,8813 r,8814 i = n.length,8815 u = n[0].length,8816 o = [],8817 a = 0,8818 l = [];8819 for (e = 0; u > e; ++e) {8820 for (t = 0, r = 0; i > t; t++) r += n[t][e][1];8821 r > a && (a = r), o.push(r);8822 }8823 for (e = 0; u > e; ++e) l[e] = (a - o[e]) / 2;8824 return l;8825 },8826 wiggle: function (n) {8827 var t,8828 e,8829 r,8830 i,8831 u,8832 o,8833 a,8834 l,8835 c,8836 f = n.length,8837 s = n[0],8838 h = s.length,8839 p = [];8840 for (p[0] = l = c = 0, e = 1; h > e; ++e) {8841 for (t = 0, i = 0; f > t; ++t) i += n[t][e][1];8842 for (t = 0, u = 0, a = s[e][0] - s[e - 1][0]; f > t; ++t) {8843 for (r = 0, o = (n[t][e][1] - n[t][e - 1][1]) / (2 * a); t > r; ++r)8844 o += (n[r][e][1] - n[r][e - 1][1]) / a;8845 u += o * n[t][e][1];8846 }8847 (p[e] = l -= i ? (u / i) * a : 0), c > l && (c = l);8848 }8849 for (e = 0; h > e; ++e) p[e] -= c;8850 return p;8851 },8852 expand: function (n) {8853 var t,8854 e,8855 r,8856 i = n.length,8857 u = n[0].length,8858 o = 1 / i,8859 a = [];8860 for (e = 0; u > e; ++e) {8861 for (t = 0, r = 0; i > t; t++) r += n[t][e][1];8862 if (r) for (t = 0; i > t; t++) n[t][e][1] /= r;8863 else for (t = 0; i > t; t++) n[t][e][1] = o;8864 }8865 for (e = 0; u > e; ++e) a[e] = 0;8866 return a;8867 },8868 zero: vi,8869 });8870 (ao.layout.histogram = function () {8871 function n(n, u) {8872 for (8873 var o,8874 a,8875 l = [],8876 c = n.map(e, this),8877 f = r.call(this, c, u),8878 s = i.call(this, f, c, u),8879 u = -1,8880 h = c.length,8881 p = s.length - 1,8882 g = t ? 1 : 1 / h;8883 ++u < p;8884 )8885 (o = l[u] = []), (o.dx = s[u + 1] - (o.x = s[u])), (o.y = 0);8886 if (p > 0)8887 for (u = -1; ++u < h; )8888 (a = c[u]),8889 a >= f[0] &&8890 a <= f[1] &&8891 ((o = l[ao.bisect(s, a, 1, p) - 1]), (o.y += g), o.push(n[u]));8892 return l;8893 }8894 var t = !0,8895 e = Number,8896 r = bi,8897 i = Mi;8898 return (8899 (n.value = function (t) {8900 return arguments.length ? ((e = t), n) : e;8901 }),8902 (n.range = function (t) {8903 return arguments.length ? ((r = En(t)), n) : r;8904 }),8905 (n.bins = function (t) {8906 return arguments.length8907 ? ((i =8908 "number" == typeof t8909 ? function (n) {8910 return xi(n, t);8911 }8912 : En(t)),8913 n)8914 : i;8915 }),8916 (n.frequency = function (e) {8917 return arguments.length ? ((t = !!e), n) : t;8918 }),8919 n8920 );8921 }),8922 (ao.layout.pack = function () {8923 function n(n, u) {8924 var o = e.call(this, n, u),8925 a = o[0],8926 l = i[0],8927 c = i[1],8928 f =8929 null == t8930 ? Math.sqrt8931 : "function" == typeof t8932 ? t8933 : function () {8934 return t;8935 };8936 if (8937 ((a.x = a.y = 0),8938 oi(a, function (n) {8939 n.r = +f(n.value);8940 }),8941 oi(a, Ni),8942 r)8943 ) {8944 var s = (r * (t ? 1 : Math.max((2 * a.r) / l, (2 * a.r) / c))) / 2;8945 oi(a, function (n) {8946 n.r += s;8947 }),8948 oi(a, Ni),8949 oi(a, function (n) {8950 n.r -= s;8951 });8952 }8953 return (8954 Ci(8955 a,8956 l / 2,8957 c / 2,8958 t ? 1 : 1 / Math.max((2 * a.r) / l, (2 * a.r) / c)8959 ),8960 o8961 );8962 }8963 var t,8964 e = ao.layout.hierarchy().sort(_i),8965 r = 0,8966 i = [1, 1];8967 return (8968 (n.size = function (t) {8969 return arguments.length ? ((i = t), n) : i;8970 }),8971 (n.radius = function (e) {8972 return arguments.length8973 ? ((t = null == e || "function" == typeof e ? e : +e), n)8974 : t;8975 }),8976 (n.padding = function (t) {8977 return arguments.length ? ((r = +t), n) : r;8978 }),8979 ii(n, e)8980 );8981 }),8982 (ao.layout.tree = function () {8983 function n(n, i) {8984 var f = o.call(this, n, i),8985 s = f[0],8986 h = t(s);8987 if ((oi(h, e), (h.parent.m = -h.z), ui(h, r), c)) ui(s, u);8988 else {8989 var p = s,8990 g = s,8991 v = s;8992 ui(s, function (n) {8993 n.x < p.x && (p = n),8994 n.x > g.x && (g = n),8995 n.depth > v.depth && (v = n);8996 });8997 var d = a(p, g) / 2 - p.x,8998 y = l[0] / (g.x + a(g, p) / 2 + d),8999 m = l[1] / (v.depth || 1);9000 ui(s, function (n) {9001 (n.x = (n.x + d) * y), (n.y = n.depth * m);9002 });9003 }9004 return f;9005 }9006 function t(n) {9007 for (9008 var t, e = { A: null, children: [n] }, r = [e];9009 null != (t = r.pop());9010 )9011 for (var i, u = t.children, o = 0, a = u.length; a > o; ++o)9012 r.push(9013 ((u[o] = i = {9014 _: u[o],9015 parent: t,9016 children: ((i = u[o].children) && i.slice()) || [],9017 A: null,9018 a: null,9019 z: 0,9020 m: 0,9021 c: 0,9022 s: 0,9023 t: null,9024 i: o,9025 }).a = i)9026 );9027 return e.children[0];9028 }9029 function e(n) {9030 var t = n.children,9031 e = n.parent.children,9032 r = n.i ? e[n.i - 1] : null;9033 if (t.length) {9034 Di(n);9035 var u = (t[0].z + t[t.length - 1].z) / 2;9036 r ? ((n.z = r.z + a(n._, r._)), (n.m = n.z - u)) : (n.z = u);9037 } else r && (n.z = r.z + a(n._, r._));9038 n.parent.A = i(n, r, n.parent.A || e[0]);9039 }9040 function r(n) {9041 (n._.x = n.z + n.parent.m), (n.m += n.parent.m);9042 }9043 function i(n, t, e) {9044 if (t) {9045 for (9046 var r,9047 i = n,9048 u = n,9049 o = t,9050 l = i.parent.children[0],9051 c = i.m,9052 f = u.m,9053 s = o.m,9054 h = l.m;9055 (o = Ti(o)), (i = qi(i)), o && i;9056 )9057 (l = qi(l)),9058 (u = Ti(u)),9059 (u.a = n),9060 (r = o.z + s - i.z - c + a(o._, i._)),9061 r > 0 && (Ri(Pi(o, n, e), n, r), (c += r), (f += r)),9062 (s += o.m),9063 (c += i.m),9064 (h += l.m),9065 (f += u.m);9066 o && !Ti(u) && ((u.t = o), (u.m += s - f)),9067 i && !qi(l) && ((l.t = i), (l.m += c - h), (e = n));9068 }9069 return e;9070 }9071 function u(n) {9072 (n.x *= l[0]), (n.y = n.depth * l[1]);9073 }9074 var o = ao.layout.hierarchy().sort(null).value(null),9075 a = Li,9076 l = [1, 1],9077 c = null;9078 return (9079 (n.separation = function (t) {9080 return arguments.length ? ((a = t), n) : a;9081 }),9082 (n.size = function (t) {9083 return arguments.length9084 ? ((c = null == (l = t) ? u : null), n)9085 : c9086 ? null9087 : l;9088 }),9089 (n.nodeSize = function (t) {9090 return arguments.length9091 ? ((c = null == (l = t) ? null : u), n)9092 : c9093 ? l9094 : null;9095 }),9096 ii(n, o)9097 );9098 }),9099 (ao.layout.cluster = function () {9100 function n(n, u) {9101 var o,9102 a = t.call(this, n, u),9103 l = a[0],9104 c = 0;9105 oi(l, function (n) {9106 var t = n.children;9107 t && t.length9108 ? ((n.x = ji(t)), (n.y = Ui(t)))9109 : ((n.x = o ? (c += e(n, o)) : 0), (n.y = 0), (o = n));9110 });9111 var f = Fi(l),9112 s = Hi(l),9113 h = f.x - e(f, s) / 2,9114 p = s.x + e(s, f) / 2;9115 return (9116 oi(9117 l,9118 i9119 ? function (n) {9120 (n.x = (n.x - l.x) * r[0]), (n.y = (l.y - n.y) * r[1]);9121 }9122 : function (n) {9123 (n.x = ((n.x - h) / (p - h)) * r[0]),9124 (n.y = (1 - (l.y ? n.y / l.y : 1)) * r[1]);9125 }9126 ),9127 a9128 );9129 }9130 var t = ao.layout.hierarchy().sort(null).value(null),9131 e = Li,9132 r = [1, 1],9133 i = !1;9134 return (9135 (n.separation = function (t) {9136 return arguments.length ? ((e = t), n) : e;9137 }),9138 (n.size = function (t) {9139 return arguments.length ? ((i = null == (r = t)), n) : i ? null : r;9140 }),9141 (n.nodeSize = function (t) {9142 return arguments.length ? ((i = null != (r = t)), n) : i ? r : null;9143 }),9144 ii(n, t)9145 );9146 }),9147 (ao.layout.treemap = function () {9148 function n(n, t) {9149 for (var e, r, i = -1, u = n.length; ++i < u; )9150 (r = (e = n[i]).value * (0 > t ? 0 : t)),9151 (e.area = isNaN(r) || 0 >= r ? 0 : r);9152 }9153 function t(e) {9154 var u = e.children;9155 if (u && u.length) {9156 var o,9157 a,9158 l,9159 c = s(e),9160 f = [],9161 h = u.slice(),9162 g = 1 / 0,9163 v =9164 "slice" === p9165 ? c.dx9166 : "dice" === p9167 ? c.dy9168 : "slice-dice" === p9169 ? 1 & e.depth9170 ? c.dy9171 : c.dx9172 : Math.min(c.dx, c.dy);9173 for (n(h, (c.dx * c.dy) / e.value), f.area = 0; (l = h.length) > 0; )9174 f.push((o = h[l - 1])),9175 (f.area += o.area),9176 "squarify" !== p || (a = r(f, v)) <= g9177 ? (h.pop(), (g = a))9178 : ((f.area -= f.pop().area),9179 i(f, v, c, !1),9180 (v = Math.min(c.dx, c.dy)),9181 (f.length = f.area = 0),9182 (g = 1 / 0));9183 f.length && (i(f, v, c, !0), (f.length = f.area = 0)), u.forEach(t);9184 }9185 }9186 function e(t) {9187 var r = t.children;9188 if (r && r.length) {9189 var u,9190 o = s(t),9191 a = r.slice(),9192 l = [];9193 for (n(a, (o.dx * o.dy) / t.value), l.area = 0; (u = a.pop()); )9194 l.push(u),9195 (l.area += u.area),9196 null != u.z &&9197 (i(l, u.z ? o.dx : o.dy, o, !a.length),9198 (l.length = l.area = 0));9199 r.forEach(e);9200 }9201 }9202 function r(n, t) {9203 for (9204 var e, r = n.area, i = 0, u = 1 / 0, o = -1, a = n.length;9205 ++o < a;9206 )9207 (e = n[o].area) && (u > e && (u = e), e > i && (i = e));9208 return (9209 (r *= r),9210 (t *= t),9211 r ? Math.max((t * i * g) / r, r / (t * u * g)) : 1 / 09212 );9213 }9214 function i(n, t, e, r) {9215 var i,9216 u = -1,9217 o = n.length,9218 a = e.x,9219 c = e.y,9220 f = t ? l(n.area / t) : 0;9221 if (t == e.dx) {9222 for ((r || f > e.dy) && (f = e.dy); ++u < o; )9223 (i = n[u]),9224 (i.x = a),9225 (i.y = c),9226 (i.dy = f),9227 (a += i.dx = Math.min(e.x + e.dx - a, f ? l(i.area / f) : 0));9228 (i.z = !0), (i.dx += e.x + e.dx - a), (e.y += f), (e.dy -= f);9229 } else {9230 for ((r || f > e.dx) && (f = e.dx); ++u < o; )9231 (i = n[u]),9232 (i.x = a),9233 (i.y = c),9234 (i.dx = f),9235 (c += i.dy = Math.min(e.y + e.dy - c, f ? l(i.area / f) : 0));9236 (i.z = !1), (i.dy += e.y + e.dy - c), (e.x += f), (e.dx -= f);9237 }9238 }9239 function u(r) {9240 var i = o || a(r),9241 u = i[0];9242 return (9243 (u.x = u.y = 0),9244 u.value ? ((u.dx = c[0]), (u.dy = c[1])) : (u.dx = u.dy = 0),9245 o && a.revalue(u),9246 n([u], (u.dx * u.dy) / u.value),9247 (o ? e : t)(u),9248 h && (o = i),9249 i9250 );9251 }9252 var o,9253 a = ao.layout.hierarchy(),9254 l = Math.round,9255 c = [1, 1],9256 f = null,9257 s = Oi,9258 h = !1,9259 p = "squarify",9260 g = 0.5 * (1 + Math.sqrt(5));9261 return (9262 (u.size = function (n) {9263 return arguments.length ? ((c = n), u) : c;9264 }),9265 (u.padding = function (n) {9266 function t(t) {9267 var e = n.call(u, t, t.depth);9268 return null == e9269 ? Oi(t)9270 : Ii(t, "number" == typeof e ? [e, e, e, e] : e);9271 }9272 function e(t) {9273 return Ii(t, n);9274 }9275 if (!arguments.length) return f;9276 var r;9277 return (9278 (s =9279 null == (f = n)9280 ? Oi9281 : "function" == (r = typeof n)9282 ? t9283 : "number" === r9284 ? ((n = [n, n, n, n]), e)9285 : e),9286 u9287 );9288 }),9289 (u.round = function (n) {9290 return arguments.length9291 ? ((l = n ? Math.round : Number), u)9292 : l != Number;9293 }),9294 (u.sticky = function (n) {9295 return arguments.length ? ((h = n), (o = null), u) : h;9296 }),9297 (u.ratio = function (n) {9298 return arguments.length ? ((g = n), u) : g;9299 }),9300 (u.mode = function (n) {9301 return arguments.length ? ((p = n + ""), u) : p;9302 }),9303 ii(u, a)9304 );9305 }),9306 (ao.random = {9307 normal: function (n, t) {9308 var e = arguments.length;9309 return (9310 2 > e && (t = 1),9311 1 > e && (n = 0),9312 function () {9313 var e, r, i;9314 do9315 (e = 2 * Math.random() - 1),9316 (r = 2 * Math.random() - 1),9317 (i = e * e + r * r);9318 while (!i || i > 1);9319 return n + t * e * Math.sqrt((-2 * Math.log(i)) / i);9320 }9321 );9322 },9323 logNormal: function () {9324 var n = ao.random.normal.apply(ao, arguments);9325 return function () {9326 return Math.exp(n());9327 };9328 },9329 bates: function (n) {9330 var t = ao.random.irwinHall(n);9331 return function () {9332 return t() / n;9333 };9334 },9335 irwinHall: function (n) {9336 return function () {9337 for (var t = 0, e = 0; n > e; e++) t += Math.random();9338 return t;9339 };9340 },9341 }),9342 (ao.scale = {});9343 var Sl = { floor: m, ceil: m };9344 ao.scale.linear = function () {9345 return Wi([0, 1], [0, 1], Mr, !1);9346 };9347 var kl = { s: 1, g: 1, p: 1, r: 1, e: 1 };9348 ao.scale.log = function () {9349 return ru(ao.scale.linear().domain([0, 1]), 10, !0, [1, 10]);9350 };9351 var Nl = ao.format(".0e"),9352 El = {9353 floor: function (n) {9354 return -Math.ceil(-n);9355 },9356 ceil: function (n) {9357 return -Math.floor(-n);9358 },9359 };9360 (ao.scale.pow = function () {9361 return iu(ao.scale.linear(), 1, [0, 1]);9362 }),9363 (ao.scale.sqrt = function () {9364 return ao.scale.pow().exponent(0.5);9365 }),9366 (ao.scale.ordinal = function () {9367 return ou([], { t: "range", a: [[]] });9368 }),9369 (ao.scale.category10 = function () {9370 return ao.scale.ordinal().range(Al);9371 }),9372 (ao.scale.category20 = function () {9373 return ao.scale.ordinal().range(Cl);9374 }),9375 (ao.scale.category20b = function () {9376 return ao.scale.ordinal().range(zl);9377 }),9378 (ao.scale.category20c = function () {9379 return ao.scale.ordinal().range(Ll);9380 });9381 var Al = [9382 2062260,9383 16744206,9384 2924588,9385 14034728,9386 9725885,9387 9197131,9388 14907330,9389 8355711,9390 12369186,9391 1556175,9392 ].map(xn),9393 Cl = [9394 2062260,9395 11454440,9396 16744206,9397 16759672,9398 2924588,9399 10018698,9400 14034728,9401 16750742,9402 9725885,9403 12955861,9404 9197131,9405 12885140,9406 14907330,9407 16234194,9408 8355711,9409 13092807,9410 12369186,9411 14408589,9412 1556175,9413 10410725,9414 ].map(xn),9415 zl = [9416 3750777,9417 5395619,9418 7040719,9419 10264286,9420 6519097,9421 9216594,9422 11915115,9423 13556636,9424 9202993,9425 12426809,9426 15186514,9427 15190932,9428 8666169,9429 11356490,9430 14049643,9431 15177372,9432 8077683,9433 10834324,9434 13528509,9435 14589654,9436 ].map(xn),9437 Ll = [9438 3244733,9439 7057110,9440 10406625,9441 13032431,9442 15095053,9443 16616764,9444 16625259,9445 16634018,9446 3253076,9447 7652470,9448 10607003,9449 13101504,9450 7695281,9451 10394312,9452 12369372,9453 14342891,9454 6513507,9455 9868950,9456 12434877,9457 14277081,9458 ].map(xn);9459 (ao.scale.quantile = function () {9460 return au([], []);9461 }),9462 (ao.scale.quantize = function () {9463 return lu(0, 1, [0, 1]);9464 }),9465 (ao.scale.threshold = function () {9466 return cu([0.5], [0, 1]);9467 }),9468 (ao.scale.identity = function () {9469 return fu([0, 1]);9470 }),9471 (ao.svg = {}),9472 (ao.svg.arc = function () {9473 function n() {9474 var n = Math.max(0, +e.apply(this, arguments)),9475 c = Math.max(0, +r.apply(this, arguments)),9476 f = o.apply(this, arguments) - Io,9477 s = a.apply(this, arguments) - Io,9478 h = Math.abs(s - f),9479 p = f > s ? 0 : 1;9480 if ((n > c && ((g = c), (c = n), (n = g)), h >= Oo))9481 return t(c, p) + (n ? t(n, 1 - p) : "") + "Z";9482 var g,9483 v,9484 d,9485 y,9486 m,9487 M,9488 x,9489 b,9490 _,9491 w,9492 S,9493 k,9494 N = 0,9495 E = 0,9496 A = [];9497 if (9498 ((y = (+l.apply(this, arguments) || 0) / 2) &&9499 ((d =9500 u === ql ? Math.sqrt(n * n + c * c) : +u.apply(this, arguments)),9501 p || (E *= -1),9502 c && (E = tn((d / c) * Math.sin(y))),9503 n && (N = tn((d / n) * Math.sin(y)))),9504 c)9505 ) {9506 (m = c * Math.cos(f + E)),9507 (M = c * Math.sin(f + E)),9508 (x = c * Math.cos(s - E)),9509 (b = c * Math.sin(s - E));9510 var C = Math.abs(s - f - 2 * E) <= Fo ? 0 : 1;9511 if (E && (yu(m, M, x, b) === p) ^ C) {9512 var z = (f + s) / 2;9513 (m = c * Math.cos(z)), (M = c * Math.sin(z)), (x = b = null);9514 }9515 } else m = M = 0;9516 if (n) {9517 (_ = n * Math.cos(s - N)),9518 (w = n * Math.sin(s - N)),9519 (S = n * Math.cos(f + N)),9520 (k = n * Math.sin(f + N));9521 var L = Math.abs(f - s + 2 * N) <= Fo ? 0 : 1;9522 if (N && (yu(_, w, S, k) === 1 - p) ^ L) {9523 var q = (f + s) / 2;9524 (_ = n * Math.cos(q)), (w = n * Math.sin(q)), (S = k = null);9525 }9526 } else _ = w = 0;9527 if (9528 h > Uo &&9529 (g = Math.min(Math.abs(c - n) / 2, +i.apply(this, arguments))) > 0.0019530 ) {9531 v = (c > n) ^ p ? 0 : 1;9532 var T = g,9533 R = g;9534 if (Fo > h) {9535 var D =9536 null == S9537 ? [_, w]9538 : null == x9539 ? [m, M]9540 : Re([m, M], [S, k], [x, b], [_, w]),9541 P = m - D[0],9542 U = M - D[1],9543 j = x - D[0],9544 F = b - D[1],9545 H =9546 1 /9547 Math.sin(9548 Math.acos(9549 (P * j + U * F) /9550 (Math.sqrt(P * P + U * U) * Math.sqrt(j * j + F * F))9551 ) / 29552 ),9553 O = Math.sqrt(D[0] * D[0] + D[1] * D[1]);9554 (R = Math.min(g, (n - O) / (H - 1))),9555 (T = Math.min(g, (c - O) / (H + 1)));9556 }9557 if (null != x) {9558 var I = mu(null == S ? [_, w] : [S, k], [m, M], c, T, p),9559 Y = mu([x, b], [_, w], c, T, p);9560 g === T9561 ? A.push(9562 "M",9563 I[0],9564 "A",9565 T,9566 ",",9567 T,9568 " 0 0,",9569 v,9570 " ",9571 I[1],9572 "A",9573 c,9574 ",",9575 c,9576 " 0 ",9577 (1 - p) ^ yu(I[1][0], I[1][1], Y[1][0], Y[1][1]),9578 ",",9579 p,9580 " ",9581 Y[1],9582 "A",9583 T,9584 ",",9585 T,9586 " 0 0,",9587 v,9588 " ",9589 Y[0]9590 )9591 : A.push("M", I[0], "A", T, ",", T, " 0 1,", v, " ", Y[0]);9592 } else A.push("M", m, ",", M);9593 if (null != S) {9594 var Z = mu([m, M], [S, k], n, -R, p),9595 V = mu([_, w], null == x ? [m, M] : [x, b], n, -R, p);9596 g === R9597 ? A.push(9598 "L",9599 V[0],9600 "A",9601 R,9602 ",",9603 R,9604 " 0 0,",9605 v,9606 " ",9607 V[1],9608 "A",9609 n,9610 ",",9611 n,9612 " 0 ",9613 p ^ yu(V[1][0], V[1][1], Z[1][0], Z[1][1]),9614 ",",9615 1 - p,9616 " ",9617 Z[1],9618 "A",9619 R,9620 ",",9621 R,9622 " 0 0,",9623 v,9624 " ",9625 Z[0]9626 )9627 : A.push("L", V[0], "A", R, ",", R, " 0 0,", v, " ", Z[0]);9628 } else A.push("L", _, ",", w);9629 } else9630 A.push("M", m, ",", M),9631 null != x &&9632 A.push("A", c, ",", c, " 0 ", C, ",", p, " ", x, ",", b),9633 A.push("L", _, ",", w),9634 null != S &&9635 A.push("A", n, ",", n, " 0 ", L, ",", 1 - p, " ", S, ",", k);9636 return A.push("Z"), A.join("");9637 }9638 function t(n, t) {9639 return (9640 "M0," +9641 n +9642 "A" +9643 n +9644 "," +9645 n +9646 " 0 1," +9647 t +9648 " 0," +9649 -n +9650 "A" +9651 n +9652 "," +9653 n +9654 " 0 1," +9655 t +9656 " 0," +9657 n9658 );9659 }9660 var e = hu,9661 r = pu,9662 i = su,9663 u = ql,9664 o = gu,9665 a = vu,9666 l = du;9667 return (9668 (n.innerRadius = function (t) {9669 return arguments.length ? ((e = En(t)), n) : e;9670 }),9671 (n.outerRadius = function (t) {9672 return arguments.length ? ((r = En(t)), n) : r;9673 }),9674 (n.cornerRadius = function (t) {9675 return arguments.length ? ((i = En(t)), n) : i;9676 }),9677 (n.padRadius = function (t) {9678 return arguments.length ? ((u = t == ql ? ql : En(t)), n) : u;9679 }),9680 (n.startAngle = function (t) {9681 return arguments.length ? ((o = En(t)), n) : o;9682 }),9683 (n.endAngle = function (t) {9684 return arguments.length ? ((a = En(t)), n) : a;9685 }),9686 (n.padAngle = function (t) {9687 return arguments.length ? ((l = En(t)), n) : l;9688 }),9689 (n.centroid = function () {9690 var n = (+e.apply(this, arguments) + +r.apply(this, arguments)) / 2,9691 t =9692 (+o.apply(this, arguments) + +a.apply(this, arguments)) / 2 - Io;9693 return [Math.cos(t) * n, Math.sin(t) * n];9694 }),9695 n9696 );9697 });9698 var ql = "auto";9699 ao.svg.line = function () {9700 return Mu(m);9701 };9702 var Tl = ao.map({9703 linear: xu,9704 "linear-closed": bu,9705 step: _u,9706 "step-before": wu,9707 "step-after": Su,9708 basis: zu,9709 "basis-open": Lu,9710 "basis-closed": qu,9711 bundle: Tu,9712 cardinal: Eu,9713 "cardinal-open": ku,9714 "cardinal-closed": Nu,9715 monotone: Fu,9716 });9717 Tl.forEach(function (n, t) {9718 (t.key = n), (t.closed = /-closed$/.test(n));9719 });9720 var Rl = [0, 2 / 3, 1 / 3, 0],9721 Dl = [0, 1 / 3, 2 / 3, 0],9722 Pl = [0, 1 / 6, 2 / 3, 1 / 6];9723 (ao.svg.line.radial = function () {9724 var n = Mu(Hu);9725 return (n.radius = n.x), delete n.x, (n.angle = n.y), delete n.y, n;9726 }),9727 (wu.reverse = Su),9728 (Su.reverse = wu),9729 (ao.svg.area = function () {9730 return Ou(m);9731 }),9732 (ao.svg.area.radial = function () {9733 var n = Ou(Hu);9734 return (9735 (n.radius = n.x),9736 delete n.x,9737 (n.innerRadius = n.x0),9738 delete n.x0,9739 (n.outerRadius = n.x1),9740 delete n.x1,9741 (n.angle = n.y),9742 delete n.y,9743 (n.startAngle = n.y0),9744 delete n.y0,9745 (n.endAngle = n.y1),9746 delete n.y1,9747 n9748 );9749 }),9750 (ao.svg.chord = function () {9751 function n(n, a) {9752 var l = t(this, u, n, a),9753 c = t(this, o, n, a);9754 return (9755 "M" +9756 l.p0 +9757 r(l.r, l.p1, l.a1 - l.a0) +9758 (e(l, c)9759 ? i(l.r, l.p1, l.r, l.p0)9760 : i(l.r, l.p1, c.r, c.p0) +9761 r(c.r, c.p1, c.a1 - c.a0) +9762 i(c.r, c.p1, l.r, l.p0)) +9763 "Z"9764 );9765 }9766 function t(n, t, e, r) {9767 var i = t.call(n, e, r),9768 u = a.call(n, i, r),9769 o = l.call(n, i, r) - Io,9770 f = c.call(n, i, r) - Io;9771 return {9772 r: u,9773 a0: o,9774 a1: f,9775 p0: [u * Math.cos(o), u * Math.sin(o)],9776 p1: [u * Math.cos(f), u * Math.sin(f)],9777 };9778 }9779 function e(n, t) {9780 return n.a0 == t.a0 && n.a1 == t.a1;9781 }9782 function r(n, t, e) {9783 return "A" + n + "," + n + " 0 " + +(e > Fo) + ",1 " + t;9784 }9785 function i(n, t, e, r) {9786 return "Q 0,0 " + r;9787 }9788 var u = Me,9789 o = xe,9790 a = Iu,9791 l = gu,9792 c = vu;9793 return (9794 (n.radius = function (t) {9795 return arguments.length ? ((a = En(t)), n) : a;9796 }),9797 (n.source = function (t) {9798 return arguments.length ? ((u = En(t)), n) : u;9799 }),9800 (n.target = function (t) {9801 return arguments.length ? ((o = En(t)), n) : o;9802 }),9803 (n.startAngle = function (t) {9804 return arguments.length ? ((l = En(t)), n) : l;9805 }),9806 (n.endAngle = function (t) {9807 return arguments.length ? ((c = En(t)), n) : c;9808 }),9809 n9810 );9811 }),9812 (ao.svg.diagonal = function () {9813 function n(n, i) {9814 var u = t.call(this, n, i),9815 o = e.call(this, n, i),9816 a = (u.y + o.y) / 2,9817 l = [u, { x: u.x, y: a }, { x: o.x, y: a }, o];9818 return (9819 (l = l.map(r)), "M" + l[0] + "C" + l[1] + " " + l[2] + " " + l[3]9820 );9821 }9822 var t = Me,9823 e = xe,9824 r = Yu;9825 return (9826 (n.source = function (e) {9827 return arguments.length ? ((t = En(e)), n) : t;9828 }),9829 (n.target = function (t) {9830 return arguments.length ? ((e = En(t)), n) : e;9831 }),9832 (n.projection = function (t) {9833 return arguments.length ? ((r = t), n) : r;9834 }),9835 n9836 );9837 }),9838 (ao.svg.diagonal.radial = function () {9839 var n = ao.svg.diagonal(),9840 t = Yu,9841 e = n.projection;9842 return (9843 (n.projection = function (n) {9844 return arguments.length ? e(Zu((t = n))) : t;9845 }),9846 n9847 );9848 }),9849 (ao.svg.symbol = function () {9850 function n(n, r) {9851 return (Ul.get(t.call(this, n, r)) || $u)(e.call(this, n, r));9852 }9853 var t = Xu,9854 e = Vu;9855 return (9856 (n.type = function (e) {9857 return arguments.length ? ((t = En(e)), n) : t;9858 }),9859 (n.size = function (t) {9860 return arguments.length ? ((e = En(t)), n) : e;9861 }),9862 n9863 );9864 });9865 var Ul = ao.map({9866 circle: $u,9867 cross: function (n) {9868 var t = Math.sqrt(n / 5) / 2;9869 return (9870 "M" +9871 -3 * t +9872 "," +9873 -t +9874 "H" +9875 -t +9876 "V" +9877 -3 * t +9878 "H" +9879 t +9880 "V" +9881 -t +9882 "H" +9883 3 * t +9884 "V" +9885 t +9886 "H" +9887 t +9888 "V" +9889 3 * t +9890 "H" +9891 -t +9892 "V" +9893 t +9894 "H" +9895 -3 * t +9896 "Z"9897 );9898 },9899 diamond: function (n) {9900 var t = Math.sqrt(n / (2 * Fl)),9901 e = t * Fl;9902 return "M0," + -t + "L" + e + ",0 0," + t + " " + -e + ",0Z";9903 },9904 square: function (n) {9905 var t = Math.sqrt(n) / 2;9906 return (9907 "M" +9908 -t +9909 "," +9910 -t +9911 "L" +9912 t +9913 "," +9914 -t +9915 " " +9916 t +9917 "," +9918 t +9919 " " +9920 -t +9921 "," +9922 t +9923 "Z"9924 );9925 },9926 "triangle-down": function (n) {9927 var t = Math.sqrt(n / jl),9928 e = (t * jl) / 2;9929 return "M0," + e + "L" + t + "," + -e + " " + -t + "," + -e + "Z";9930 },9931 "triangle-up": function (n) {9932 var t = Math.sqrt(n / jl),9933 e = (t * jl) / 2;9934 return "M0," + -e + "L" + t + "," + e + " " + -t + "," + e + "Z";9935 },9936 });9937 ao.svg.symbolTypes = Ul.keys();9938 var jl = Math.sqrt(3),9939 Fl = Math.tan(30 * Yo);9940 (Co.transition = function (n) {9941 for (9942 var t,9943 e,9944 r = Hl || ++Zl,9945 i = Ku(n),9946 u = [],9947 o = Ol || { time: Date.now(), ease: Nr, delay: 0, duration: 250 },9948 a = -1,9949 l = this.length;9950 ++a < l;9951 ) {9952 u.push((t = []));9953 for (var c = this[a], f = -1, s = c.length; ++f < s; )9954 (e = c[f]) && Qu(e, f, i, r, o), t.push(e);9955 }9956 return Wu(u, i, r);9957 }),9958 (Co.interrupt = function (n) {9959 return this.each(null == n ? Il : Bu(Ku(n)));9960 });9961 var Hl,9962 Ol,9963 Il = Bu(Ku()),9964 Yl = [],9965 Zl = 0;9966 (Yl.call = Co.call),9967 (Yl.empty = Co.empty),9968 (Yl.node = Co.node),9969 (Yl.size = Co.size),9970 (ao.transition = function (n, t) {9971 return n && n.transition9972 ? Hl9973 ? n.transition(t)9974 : n9975 : ao.selection().transition(n);9976 }),9977 (ao.transition.prototype = Yl),9978 (Yl.select = function (n) {9979 var t,9980 e,9981 r,9982 i = this.id,9983 u = this.namespace,9984 o = [];9985 n = A(n);9986 for (var a = -1, l = this.length; ++a < l; ) {9987 o.push((t = []));9988 for (var c = this[a], f = -1, s = c.length; ++f < s; )9989 (r = c[f]) && (e = n.call(r, r.__data__, f, a))9990 ? ("__data__" in r && (e.__data__ = r.__data__),9991 Qu(e, f, u, i, r[u][i]),9992 t.push(e))9993 : t.push(null);9994 }9995 return Wu(o, u, i);9996 }),9997 (Yl.selectAll = function (n) {9998 var t,9999 e,10000 r,10001 i,10002 u,10003 o = this.id,10004 a = this.namespace,10005 l = [];10006 n = C(n);10007 for (var c = -1, f = this.length; ++c < f; )10008 for (var s = this[c], h = -1, p = s.length; ++h < p; )10009 if ((r = s[h])) {10010 (u = r[a][o]), (e = n.call(r, r.__data__, h, c)), l.push((t = []));10011 for (var g = -1, v = e.length; ++g < v; )10012 (i = e[g]) && Qu(i, g, a, o, u), t.push(i);10013 }10014 return Wu(l, a, o);10015 }),10016 (Yl.filter = function (n) {10017 var t,10018 e,10019 r,10020 i = [];10021 "function" != typeof n && (n = O(n));10022 for (var u = 0, o = this.length; o > u; u++) {10023 i.push((t = []));10024 for (var e = this[u], a = 0, l = e.length; l > a; a++)10025 (r = e[a]) && n.call(r, r.__data__, a, u) && t.push(r);10026 }10027 return Wu(i, this.namespace, this.id);10028 }),10029 (Yl.tween = function (n, t) {10030 var e = this.id,10031 r = this.namespace;10032 return arguments.length < 210033 ? this.node()[r][e].tween.get(n)10034 : Y(10035 this,10036 null == t10037 ? function (t) {10038 t[r][e].tween.remove(n);10039 }10040 : function (i) {10041 i[r][e].tween.set(n, t);10042 }10043 );10044 }),10045 (Yl.attr = function (n, t) {10046 function e() {10047 this.removeAttribute(a);10048 }10049 function r() {10050 this.removeAttributeNS(a.space, a.local);10051 }10052 function i(n) {10053 return null == n10054 ? e10055 : ((n += ""),10056 function () {10057 var t,10058 e = this.getAttribute(a);10059 return (10060 e !== n &&10061 ((t = o(e, n)),10062 function (n) {10063 this.setAttribute(a, t(n));10064 })10065 );10066 });10067 }10068 function u(n) {10069 return null == n10070 ? r10071 : ((n += ""),10072 function () {10073 var t,10074 e = this.getAttributeNS(a.space, a.local);10075 return (10076 e !== n &&10077 ((t = o(e, n)),10078 function (n) {10079 this.setAttributeNS(a.space, a.local, t(n));10080 })10081 );10082 });10083 }10084 if (arguments.length < 2) {10085 for (t in n) this.attr(t, n[t]);10086 return this;10087 }10088 var o = "transform" == n ? $r : Mr,10089 a = ao.ns.qualify(n);10090 return Ju(this, "attr." + n, t, a.local ? u : i);10091 }),10092 (Yl.attrTween = function (n, t) {10093 function e(n, e) {10094 var r = t.call(this, n, e, this.getAttribute(i));10095 return (10096 r &&10097 function (n) {10098 this.setAttribute(i, r(n));10099 }10100 );10101 }10102 function r(n, e) {10103 var r = t.call(this, n, e, this.getAttributeNS(i.space, i.local));10104 return (10105 r &&10106 function (n) {10107 this.setAttributeNS(i.space, i.local, r(n));10108 }10109 );10110 }10111 var i = ao.ns.qualify(n);10112 return this.tween("attr." + n, i.local ? r : e);10113 }),10114 (Yl.style = function (n, e, r) {10115 function i() {10116 this.style.removeProperty(n);10117 }10118 function u(e) {10119 return null == e10120 ? i10121 : ((e += ""),10122 function () {10123 var i,10124 u = t(this).getComputedStyle(this, null).getPropertyValue(n);10125 return (10126 u !== e &&10127 ((i = Mr(u, e)),10128 function (t) {10129 this.style.setProperty(n, i(t), r);10130 })10131 );10132 });10133 }10134 var o = arguments.length;10135 if (3 > o) {10136 if ("string" != typeof n) {10137 2 > o && (e = "");10138 for (r in n) this.style(r, n[r], e);10139 return this;10140 }10141 r = "";10142 }10143 return Ju(this, "style." + n, e, u);10144 }),10145 (Yl.styleTween = function (n, e, r) {10146 function i(i, u) {10147 var o = e.call(10148 this,10149 i,10150 u,10151 t(this).getComputedStyle(this, null).getPropertyValue(n)10152 );10153 return (10154 o &&10155 function (t) {10156 this.style.setProperty(n, o(t), r);10157 }10158 );10159 }10160 return arguments.length < 3 && (r = ""), this.tween("style." + n, i);10161 }),10162 (Yl.text = function (n) {10163 return Ju(this, "text", n, Gu);10164 }),10165 (Yl.remove = function () {10166 var n = this.namespace;10167 return this.each("end.transition", function () {10168 var t;10169 this[n].count < 2 && (t = this.parentNode) && t.removeChild(this);10170 });10171 }),10172 (Yl.ease = function (n) {10173 var t = this.id,10174 e = this.namespace;10175 return arguments.length < 110176 ? this.node()[e][t].ease10177 : ("function" != typeof n && (n = ao.ease.apply(ao, arguments)),10178 Y(this, function (r) {10179 r[e][t].ease = n;10180 }));10181 }),10182 (Yl.delay = function (n) {10183 var t = this.id,10184 e = this.namespace;10185 return arguments.length < 110186 ? this.node()[e][t].delay10187 : Y(10188 this,10189 "function" == typeof n10190 ? function (r, i, u) {10191 r[e][t].delay = +n.call(r, r.__data__, i, u);10192 }10193 : ((n = +n),10194 function (r) {10195 r[e][t].delay = n;10196 })10197 );10198 }),10199 (Yl.duration = function (n) {10200 var t = this.id,10201 e = this.namespace;10202 return arguments.length < 110203 ? this.node()[e][t].duration10204 : Y(10205 this,10206 "function" == typeof n10207 ? function (r, i, u) {10208 r[e][t].duration = Math.max(1, n.call(r, r.__data__, i, u));10209 }10210 : ((n = Math.max(1, n)),10211 function (r) {10212 r[e][t].duration = n;10213 })10214 );10215 }),10216 (Yl.each = function (n, t) {10217 var e = this.id,10218 r = this.namespace;10219 if (arguments.length < 2) {10220 var i = Ol,10221 u = Hl;10222 try {10223 (Hl = e),10224 Y(this, function (t, i, u) {10225 (Ol = t[r][e]), n.call(t, t.__data__, i, u);10226 });10227 } finally {10228 (Ol = i), (Hl = u);10229 }10230 } else10231 Y(this, function (i) {10232 var u = i[r][e];10233 (u.event || (u.event = ao.dispatch("start", "end", "interrupt"))).on(10234 n,10235 t10236 );10237 });10238 return this;10239 }),10240 (Yl.transition = function () {10241 for (10242 var n,10243 t,10244 e,10245 r,10246 i = this.id,10247 u = ++Zl,10248 o = this.namespace,10249 a = [],10250 l = 0,10251 c = this.length;10252 c > l;10253 l++10254 ) {10255 a.push((n = []));10256 for (var t = this[l], f = 0, s = t.length; s > f; f++)10257 (e = t[f]) &&10258 ((r = e[o][i]),10259 Qu(e, f, o, u, {10260 time: r.time,10261 ease: r.ease,10262 delay: r.delay + r.duration,10263 duration: r.duration,10264 })),10265 n.push(e);10266 }10267 return Wu(a, o, u);10268 }),10269 (ao.svg.axis = function () {10270 function n(n) {10271 n.each(function () {10272 var n,10273 c = ao.select(this),10274 f = this.__chart__ || e,10275 s = (this.__chart__ = e.copy()),10276 h = null == l ? (s.ticks ? s.ticks.apply(s, a) : s.domain()) : l,10277 p = null == t ? (s.tickFormat ? s.tickFormat.apply(s, a) : m) : t,10278 g = c.selectAll(".tick").data(h, s),10279 v = g10280 .enter()10281 .insert("g", ".domain")10282 .attr("class", "tick")10283 .style("opacity", Uo),10284 d = ao.transition(g.exit()).style("opacity", Uo).remove(),10285 y = ao.transition(g.order()).style("opacity", 1),10286 M = Math.max(i, 0) + o,10287 x = Zi(s),10288 b = c.selectAll(".domain").data([0]),10289 _ =10290 (b.enter().append("path").attr("class", "domain"),10291 ao.transition(b));10292 v.append("line"), v.append("text");10293 var w,10294 S,10295 k,10296 N,10297 E = v.select("line"),10298 A = y.select("line"),10299 C = g.select("text").text(p),10300 z = v.select("text"),10301 L = y.select("text"),10302 q = "top" === r || "left" === r ? -1 : 1;10303 if (10304 ("bottom" === r || "top" === r10305 ? ((n = no),10306 (w = "x"),10307 (k = "y"),10308 (S = "x2"),10309 (N = "y2"),10310 C.attr("dy", 0 > q ? "0em" : ".71em").style(10311 "text-anchor",10312 "middle"10313 ),10314 _.attr(10315 "d",10316 "M" + x[0] + "," + q * u + "V0H" + x[1] + "V" + q * u10317 ))10318 : ((n = to),10319 (w = "y"),10320 (k = "x"),10321 (S = "y2"),10322 (N = "x2"),10323 C.attr("dy", ".32em").style(10324 "text-anchor",10325 0 > q ? "end" : "start"10326 ),10327 _.attr(10328 "d",10329 "M" + q * u + "," + x[0] + "H0V" + x[1] + "H" + q * u10330 )),10331 E.attr(N, q * i),10332 z.attr(k, q * M),10333 A.attr(S, 0).attr(N, q * i),10334 L.attr(w, 0).attr(k, q * M),10335 s.rangeBand)10336 ) {10337 var T = s,10338 R = T.rangeBand() / 2;10339 f = s = function (n) {10340 return T(n) + R;10341 };10342 } else f.rangeBand ? (f = s) : d.call(n, s, f);10343 v.call(n, f, s), y.call(n, s, s);10344 });10345 }10346 var t,10347 e = ao.scale.linear(),10348 r = Vl,10349 i = 6,10350 u = 6,10351 o = 3,10352 a = [10],10353 l = null;10354 return (10355 (n.scale = function (t) {10356 return arguments.length ? ((e = t), n) : e;10357 }),10358 (n.orient = function (t) {10359 return arguments.length ? ((r = t in Xl ? t + "" : Vl), n) : r;10360 }),10361 (n.ticks = function () {10362 return arguments.length ? ((a = co(arguments)), n) : a;10363 }),10364 (n.tickValues = function (t) {10365 return arguments.length ? ((l = t), n) : l;10366 }),10367 (n.tickFormat = function (e) {10368 return arguments.length ? ((t = e), n) : t;10369 }),10370 (n.tickSize = function (t) {10371 var e = arguments.length;10372 return e ? ((i = +t), (u = +arguments[e - 1]), n) : i;10373 }),10374 (n.innerTickSize = function (t) {10375 return arguments.length ? ((i = +t), n) : i;10376 }),10377 (n.outerTickSize = function (t) {10378 return arguments.length ? ((u = +t), n) : u;10379 }),10380 (n.tickPadding = function (t) {10381 return arguments.length ? ((o = +t), n) : o;10382 }),10383 (n.tickSubdivide = function () {10384 return arguments.length && n;10385 }),10386 n10387 );10388 });10389 var Vl = "bottom",10390 Xl = { top: 1, right: 1, bottom: 1, left: 1 };10391 ao.svg.brush = function () {10392 function n(t) {10393 t.each(function () {10394 var t = ao10395 .select(this)10396 .style("pointer-events", "all")10397 .style("-webkit-tap-highlight-color", "rgba(0,0,0,0)")10398 .on("mousedown.brush", u)10399 .on("touchstart.brush", u),10400 o = t.selectAll(".background").data([0]);10401 o10402 .enter()10403 .append("rect")10404 .attr("class", "background")10405 .style("visibility", "hidden")10406 .style("cursor", "crosshair"),10407 t10408 .selectAll(".extent")10409 .data([0])10410 .enter()10411 .append("rect")10412 .attr("class", "extent")10413 .style("cursor", "move");10414 var a = t.selectAll(".resize").data(v, m);10415 a.exit().remove(),10416 a10417 .enter()10418 .append("g")10419 .attr("class", function (n) {10420 return "resize " + n;10421 })10422 .style("cursor", function (n) {10423 return $l[n];10424 })10425 .append("rect")10426 .attr("x", function (n) {10427 return /[ew]$/.test(n) ? -3 : null;10428 })10429 .attr("y", function (n) {10430 return /^[ns]/.test(n) ? -3 : null;10431 })10432 .attr("width", 6)10433 .attr("height", 6)10434 .style("visibility", "hidden"),10435 a.style("display", n.empty() ? "none" : null);10436 var l,10437 s = ao.transition(t),10438 h = ao.transition(o);10439 c && ((l = Zi(c)), h.attr("x", l[0]).attr("width", l[1] - l[0]), r(s)),10440 f &&10441 ((l = Zi(f)), h.attr("y", l[0]).attr("height", l[1] - l[0]), i(s)),10442 e(s);10443 });10444 }10445 function e(n) {10446 n.selectAll(".resize").attr("transform", function (n) {10447 return "translate(" + s[+/e$/.test(n)] + "," + h[+/^s/.test(n)] + ")";10448 });10449 }10450 function r(n) {10451 n.select(".extent").attr("x", s[0]),10452 n.selectAll(".extent,.n>rect,.s>rect").attr("width", s[1] - s[0]);10453 }10454 function i(n) {10455 n.select(".extent").attr("y", h[0]),10456 n.selectAll(".extent,.e>rect,.w>rect").attr("height", h[1] - h[0]);10457 }10458 function u() {10459 function u() {10460 32 == ao.event.keyCode &&10461 (C || ((M = null), (L[0] -= s[1]), (L[1] -= h[1]), (C = 2)), S());10462 }10463 function v() {10464 32 == ao.event.keyCode &&10465 2 == C &&10466 ((L[0] += s[1]), (L[1] += h[1]), (C = 0), S());10467 }10468 function d() {10469 var n = ao.mouse(b),10470 t = !1;10471 x && ((n[0] += x[0]), (n[1] += x[1])),10472 C ||10473 (ao.event.altKey10474 ? (M || (M = [(s[0] + s[1]) / 2, (h[0] + h[1]) / 2]),10475 (L[0] = s[+(n[0] < M[0])]),10476 (L[1] = h[+(n[1] < M[1])]))10477 : (M = null)),10478 E && y(n, c, 0) && (r(k), (t = !0)),10479 A && y(n, f, 1) && (i(k), (t = !0)),10480 t && (e(k), w({ type: "brush", mode: C ? "move" : "resize" }));10481 }10482 function y(n, t, e) {10483 var r,10484 i,10485 u = Zi(t),10486 l = u[0],10487 c = u[1],10488 f = L[e],10489 v = e ? h : s,10490 d = v[1] - v[0];10491 return (10492 C && ((l -= f), (c -= d + f)),10493 (r = (e ? g : p) ? Math.max(l, Math.min(c, n[e])) : n[e]),10494 C10495 ? (i = (r += f) + d)10496 : (M && (f = Math.max(l, Math.min(c, 2 * M[e] - r))),10497 r > f ? ((i = r), (r = f)) : (i = f)),10498 v[0] != r || v[1] != i10499 ? (e ? (a = null) : (o = null), (v[0] = r), (v[1] = i), !0)10500 : void 010501 );10502 }10503 function m() {10504 d(),10505 k10506 .style("pointer-events", "all")10507 .selectAll(".resize")10508 .style("display", n.empty() ? "none" : null),10509 ao.select("body").style("cursor", null),10510 q10511 .on("mousemove.brush", null)10512 .on("mouseup.brush", null)10513 .on("touchmove.brush", null)10514 .on("touchend.brush", null)10515 .on("keydown.brush", null)10516 .on("keyup.brush", null),10517 z(),10518 w({ type: "brushend" });10519 }10520 var M,10521 x,10522 b = this,10523 _ = ao.select(ao.event.target),10524 w = l.of(b, arguments),10525 k = ao.select(b),10526 N = _.datum(),10527 E = !/^(n|s)$/.test(N) && c,10528 A = !/^(e|w)$/.test(N) && f,10529 C = _.classed("extent"),10530 z = W(b),10531 L = ao.mouse(b),10532 q = ao.select(t(b)).on("keydown.brush", u).on("keyup.brush", v);10533 if (10534 (ao.event.changedTouches10535 ? q.on("touchmove.brush", d).on("touchend.brush", m)10536 : q.on("mousemove.brush", d).on("mouseup.brush", m),10537 k.interrupt().selectAll("*").interrupt(),10538 C)10539 )10540 (L[0] = s[0] - L[0]), (L[1] = h[0] - L[1]);10541 else if (N) {10542 var T = +/w$/.test(N),10543 R = +/^n/.test(N);10544 (x = [s[1 - T] - L[0], h[1 - R] - L[1]]), (L[0] = s[T]), (L[1] = h[R]);10545 } else ao.event.altKey && (M = L.slice());10546 k10547 .style("pointer-events", "none")10548 .selectAll(".resize")10549 .style("display", null),10550 ao.select("body").style("cursor", _.style("cursor")),10551 w({ type: "brushstart" }),10552 d();10553 }10554 var o,10555 a,10556 l = N(n, "brushstart", "brush", "brushend"),10557 c = null,10558 f = null,10559 s = [0, 0],10560 h = [0, 0],10561 p = !0,10562 g = !0,10563 v = Bl[0];10564 return (10565 (n.event = function (n) {10566 n.each(function () {10567 var n = l.of(this, arguments),10568 t = { x: s, y: h, i: o, j: a },10569 e = this.__chart__ || t;10570 (this.__chart__ = t),10571 Hl10572 ? ao10573 .select(this)10574 .transition()10575 .each("start.brush", function () {10576 (o = e.i),10577 (a = e.j),10578 (s = e.x),10579 (h = e.y),10580 n({ type: "brushstart" });10581 })10582 .tween("brush:brush", function () {10583 var e = xr(s, t.x),10584 r = xr(h, t.y);10585 return (10586 (o = a = null),10587 function (i) {10588 (s = t.x = e(i)),10589 (h = t.y = r(i)),10590 n({ type: "brush", mode: "resize" });10591 }10592 );10593 })10594 .each("end.brush", function () {10595 (o = t.i),10596 (a = t.j),10597 n({ type: "brush", mode: "resize" }),10598 n({ type: "brushend" });10599 })10600 : (n({ type: "brushstart" }),10601 n({ type: "brush", mode: "resize" }),10602 n({ type: "brushend" }));10603 });10604 }),10605 (n.x = function (t) {10606 return arguments.length ? ((c = t), (v = Bl[(!c << 1) | !f]), n) : c;10607 }),10608 (n.y = function (t) {10609 return arguments.length ? ((f = t), (v = Bl[(!c << 1) | !f]), n) : f;10610 }),10611 (n.clamp = function (t) {10612 return arguments.length10613 ? (c && f10614 ? ((p = !!t[0]), (g = !!t[1]))10615 : c10616 ? (p = !!t)10617 : f && (g = !!t),10618 n)10619 : c && f10620 ? [p, g]10621 : c10622 ? p10623 : f10624 ? g10625 : null;10626 }),10627 (n.extent = function (t) {10628 var e, r, i, u, l;10629 return arguments.length10630 ? (c &&10631 ((e = t[0]),10632 (r = t[1]),10633 f && ((e = e[0]), (r = r[0])),10634 (o = [e, r]),10635 c.invert && ((e = c(e)), (r = c(r))),10636 e > r && ((l = e), (e = r), (r = l)),10637 (e == s[0] && r == s[1]) || (s = [e, r])),10638 f &&10639 ((i = t[0]),10640 (u = t[1]),10641 c && ((i = i[1]), (u = u[1])),10642 (a = [i, u]),10643 f.invert && ((i = f(i)), (u = f(u))),10644 i > u && ((l = i), (i = u), (u = l)),10645 (i == h[0] && u == h[1]) || (h = [i, u])),10646 n)10647 : (c &&10648 (o10649 ? ((e = o[0]), (r = o[1]))10650 : ((e = s[0]),10651 (r = s[1]),10652 c.invert && ((e = c.invert(e)), (r = c.invert(r))),10653 e > r && ((l = e), (e = r), (r = l)))),10654 f &&10655 (a10656 ? ((i = a[0]), (u = a[1]))10657 : ((i = h[0]),10658 (u = h[1]),10659 f.invert && ((i = f.invert(i)), (u = f.invert(u))),10660 i > u && ((l = i), (i = u), (u = l)))),10661 c && f10662 ? [10663 [e, i],10664 [r, u],10665 ]10666 : c10667 ? [e, r]10668 : f && [i, u]);10669 }),10670 (n.clear = function () {10671 return n.empty() || ((s = [0, 0]), (h = [0, 0]), (o = a = null)), n;10672 }),10673 (n.empty = function () {10674 return (!!c && s[0] == s[1]) || (!!f && h[0] == h[1]);10675 }),10676 ao.rebind(n, l, "on")10677 );10678 };10679 var $l = {10680 n: "ns-resize",10681 e: "ew-resize",10682 s: "ns-resize",10683 w: "ew-resize",10684 nw: "nwse-resize",10685 ne: "nesw-resize",10686 se: "nwse-resize",10687 sw: "nesw-resize",10688 },10689 Bl = [10690 ["n", "e", "s", "w", "nw", "ne", "se", "sw"],10691 ["e", "w"],10692 ["n", "s"],10693 [],10694 ],10695 Wl = (ga.format = xa.timeFormat),10696 Jl = Wl.utc,10697 Gl = Jl("%Y-%m-%dT%H:%M:%S.%LZ");10698 (Wl.iso =10699 Date.prototype.toISOString && +new Date("2000-01-01T00:00:00.000Z")10700 ? eo10701 : Gl),10702 (eo.parse = function (n) {10703 var t = new Date(n);10704 return isNaN(t) ? null : t;10705 }),10706 (eo.toString = Gl.toString),10707 (ga.second = On(10708 function (n) {10709 return new va(1e3 * Math.floor(n / 1e3));10710 },10711 function (n, t) {10712 n.setTime(n.getTime() + 1e3 * Math.floor(t));10713 },10714 function (n) {10715 return n.getSeconds();10716 }10717 )),10718 (ga.seconds = ga.second.range),10719 (ga.seconds.utc = ga.second.utc.range),10720 (ga.minute = On(10721 function (n) {10722 return new va(6e4 * Math.floor(n / 6e4));10723 },10724 function (n, t) {10725 n.setTime(n.getTime() + 6e4 * Math.floor(t));10726 },10727 function (n) {10728 return n.getMinutes();10729 }10730 )),10731 (ga.minutes = ga.minute.range),10732 (ga.minutes.utc = ga.minute.utc.range),10733 (ga.hour = On(10734 function (n) {10735 var t = n.getTimezoneOffset() / 60;10736 return new va(36e5 * (Math.floor(n / 36e5 - t) + t));10737 },10738 function (n, t) {10739 n.setTime(n.getTime() + 36e5 * Math.floor(t));10740 },10741 function (n) {10742 return n.getHours();10743 }10744 )),10745 (ga.hours = ga.hour.range),10746 (ga.hours.utc = ga.hour.utc.range),10747 (ga.month = On(10748 function (n) {10749 return (n = ga.day(n)), n.setDate(1), n;10750 },10751 function (n, t) {10752 n.setMonth(n.getMonth() + t);10753 },10754 function (n) {10755 return n.getMonth();10756 }10757 )),10758 (ga.months = ga.month.range),10759 (ga.months.utc = ga.month.utc.range);10760 var Kl = [10761 1e3,10762 5e3,10763 15e3,10764 3e4,10765 6e4,10766 3e5,10767 9e5,10768 18e5,10769 36e5,10770 108e5,10771 216e5,10772 432e5,10773 864e5,10774 1728e5,10775 6048e5,10776 2592e6,10777 7776e6,10778 31536e6,10779 ],10780 Ql = [10781 [ga.second, 1],10782 [ga.second, 5],10783 [ga.second, 15],10784 [ga.second, 30],10785 [ga.minute, 1],10786 [ga.minute, 5],10787 [ga.minute, 15],10788 [ga.minute, 30],10789 [ga.hour, 1],10790 [ga.hour, 3],10791 [ga.hour, 6],10792 [ga.hour, 12],10793 [ga.day, 1],10794 [ga.day, 2],10795 [ga.week, 1],10796 [ga.month, 1],10797 [ga.month, 3],10798 [ga.year, 1],10799 ],10800 nc = Wl.multi([10801 [10802 ".%L",10803 function (n) {10804 return n.getMilliseconds();10805 },10806 ],10807 [10808 ":%S",10809 function (n) {10810 return n.getSeconds();10811 },10812 ],10813 [10814 "%I:%M",10815 function (n) {10816 return n.getMinutes();10817 },10818 ],10819 [10820 "%I %p",10821 function (n) {10822 return n.getHours();10823 },10824 ],10825 [10826 "%a %d",10827 function (n) {10828 return n.getDay() && 1 != n.getDate();10829 },10830 ],10831 [10832 "%b %d",10833 function (n) {10834 return 1 != n.getDate();10835 },10836 ],10837 [10838 "%B",10839 function (n) {10840 return n.getMonth();10841 },10842 ],10843 ["%Y", zt],10844 ]),10845 tc = {10846 range: function (n, t, e) {10847 return ao.range(Math.ceil(n / e) * e, +t, e).map(io);10848 },10849 floor: m,10850 ceil: m,10851 };10852 (Ql.year = ga.year),10853 (ga.scale = function () {10854 return ro(ao.scale.linear(), Ql, nc);10855 });10856 var ec = Ql.map(function (n) {10857 return [n[0].utc, n[1]];10858 }),10859 rc = Jl.multi([10860 [10861 ".%L",10862 function (n) {10863 return n.getUTCMilliseconds();10864 },10865 ],10866 [10867 ":%S",10868 function (n) {10869 return n.getUTCSeconds();10870 },10871 ],10872 [10873 "%I:%M",10874 function (n) {10875 return n.getUTCMinutes();10876 },10877 ],10878 [10879 "%I %p",10880 function (n) {10881 return n.getUTCHours();10882 },10883 ],10884 [10885 "%a %d",10886 function (n) {10887 return n.getUTCDay() && 1 != n.getUTCDate();10888 },10889 ],10890 [10891 "%b %d",10892 function (n) {10893 return 1 != n.getUTCDate();10894 },10895 ],10896 [10897 "%B",10898 function (n) {10899 return n.getUTCMonth();10900 },10901 ],10902 ["%Y", zt],10903 ]);10904 (ec.year = ga.year.utc),10905 (ga.scale.utc = function () {10906 return ro(ao.scale.linear(), ec, rc);10907 }),10908 (ao.text = An(function (n) {10909 return n.responseText;10910 })),10911 (ao.json = function (n, t) {10912 return Cn(n, "application/json", uo, t);10913 }),10914 (ao.html = function (n, t) {10915 return Cn(n, "text/html", oo, t);10916 }),10917 (ao.xml = An(function (n) {10918 return n.responseXML;10919 })),10920 "function" == typeof define && define.amd10921 ? ((this.d3 = ao), define(ao))10922 : "object" == typeof module && module.exports10923 ? (module.exports = ao)10924 : (this.d3 = ao);...
d3.v3.min.js
Source:d3.v3.min.js
1!function() {2 function n(n, t) {3 return t > n?-1 : n > t ? 1 : n >= t ? 0 : 0 / 04 }5 function t(n) {6 return null === n ? 0 / 0 : + n7 }8 function e(n) {9 return !isNaN(n)10 }11 function r(n) {12 return {13 left: function(t, e, r, u) {14 for (arguments.length < 3 && (r = 0), arguments.length < 4 && (u = t.length); u > r;) {15 var i = r + u>>>1;16 n(t[i], e) < 0 ? r = i + 1 : u = i17 }18 return r19 },20 right: function(t, e, r, u) {21 for (arguments.length < 3 && (r = 0), arguments.length < 4 && (u = t.length); u > r;) {22 var i = r + u>>>1;23 n(t[i], e) > 0 ? u = i : r = i + 124 }25 return r26 }27 }28 }29 function u(n) {30 return n.length31 }32 function i(n) {33 for (var t = 1; n * t%1;)34 t*=10;35 return t36 }37 function o(n, t) {38 for (var e in t)39 Object.defineProperty(n.prototype, e, {40 value: t[e],41 enumerable: !142 })43 }44 function a() {45 this._ = Object.create(null)46 }47 function c(n) {48 return (n += "") === da || n[0] === ma ? ma + n : n49 }50 function l(n) {51 return (n += "")[0] === ma ? n.slice(1) : n52 }53 function s(n) {54 return c(n)in this._55 }56 function f(n) {57 return (n = c(n))in this._ && delete this._[n]58 }59 function h() {60 var n = [];61 for (var t in this._)62 n.push(l(t));63 return n64 }65 function g() {66 var n = 0;67 for (var t in this._)68 ++n;69 return n70 }71 function p() {72 for (var n in this._)73 return !1;74 return !075 }76 function v() {77 this._ = Object.create(null)78 }79 function d(n, t, e) {80 return function() {81 var r = e.apply(t, arguments);82 return r === t ? n : r83 }84 }85 function m(n, t) {86 if (t in n)87 return t;88 t = t.charAt(0).toUpperCase() + t.slice(1);89 for (var e = 0, r = ya.length; r > e; ++e) {90 var u = ya[e] + t;91 if (u in n)92 return u93 }94 }95 function y() {}96 function M() {}97 function x(n) {98 function t() {99 for (var t, r = e, u =- 1, i = r.length; ++u < i;)(t = r[u].on) 100 && t.apply(this, arguments);101 return n102 }103 var e = [], r = new a;104 return t.on = function(t, u) {105 var i, o = r.get(t);106 return arguments.length < 2 ? o && o.on : (o && (o.on = null, e = e.slice(0, i = e.indexOf(o)).concat(e.slice(i + 1)), r.remove(t)), u && e.push(r.set(t, {107 on: u108 })), n)109 }, t110 }111 function b() {112 ta.event.preventDefault()113 }114 function _() {115 for (var n, t = ta.event; n = t.sourceEvent;)116 t = n;117 return t118 }119 function w(n) {120 for (var t = new M, e = 0, r = arguments.length; ++e < r;)121 t[arguments[e]] = x(t);122 return t.of = function(e, r) {123 return function(u) {124 try {125 var i = u.sourceEvent = ta.event;126 u.target = n, ta.event = u, t[u.type].apply(e, r)127 } finally {128 ta.event = i129 }130 }131 }, t132 }133 function S(n) {134 return xa(n, ka), n135 }136 function k(n) {137 return "function" == typeof n ? n : function() {138 return ba(n, this)139 }140 }141 function E(n) {142 return "function" == typeof n ? n : function() {143 return _a(n, this)144 }145 }146 function A(n, t) {147 function e() {148 this.removeAttribute(n)149 }150 function r() {151 this.removeAttributeNS(n.space, n.local)152 }153 function u() {154 this.setAttribute(n, t)155 }156 function i() {157 this.setAttributeNS(n.space, n.local, t)158 }159 function o() {160 var e = t.apply(this, arguments);161 null == e ? this.removeAttribute(n) : this.setAttribute(n, e)162 }163 function a() {164 var e = t.apply(this, arguments);165 null == e ? this.removeAttributeNS(n.space, n.local) : this.setAttributeNS(n.space, n.local, e)166 }167 return n = ta.ns.qualify(n), null == t ? n.local ? r : e : "function" == typeof t ? n.local ? a : o : n.local ? i : u168 }169 function N(n) {170 return n.trim().replace(/\s+/g, " ")171 }172 function C(n) {173 return new RegExp("(?:^|\\s+)" + ta.requote(n) + "(?:\\s+|$)", "g")174 }175 function z(n) {176 return (n + "").trim().split(/^|\s+/)177 }178 function q(n, t) {179 function e() {180 for (var e =- 1; ++e < u;)181 n[e](this, t)182 }183 function r() {184 for (var e =- 1, r = t.apply(this, arguments); ++e < u;)185 n[e](this, r)186 }187 n = z(n).map(L);188 var u = n.length;189 return "function" == typeof t ? r : e190 }191 function L(n) {192 var t = C(n);193 return function(e, r) {194 if (u = e.classList)195 return r ? u.add(n) : u.remove(n);196 var u = e.getAttribute("class") || "";197 r ? (t.lastIndex = 0, t.test(u) || e.setAttribute("class", N(u + " " + n))) : e.setAttribute("class", N(u.replace(t, " ")))198 }199 }200 function T(n, t, e) {201 function r() {202 this.style.removeProperty(n)203 }204 function u() {205 this.style.setProperty(n, t, e)206 }207 function i() {208 var r = t.apply(this, arguments);209 null == r ? this.style.removeProperty(n) : this.style.setProperty(n, r, e)210 }211 return null == t ? r : "function" == typeof t ? i : u212 }213 function R(n, t) {214 function e() {215 delete this[n]216 }217 function r() {218 this[n] = t219 }220 function u() {221 var e = t.apply(this, arguments);222 null == e ? delete this[n] : this[n] = e223 }224 return null == t ? e : "function" == typeof t ? u : r225 }226 function D(n) {227 return "function" == typeof n ? n : (n = ta.ns.qualify(n)).local ? function() {228 return this.ownerDocument.createElementNS(n.space, n.local)229 } : function() {230 return this.ownerDocument.createElementNS(this.namespaceURI, n)231 }232 }233 function P() {234 var n = this.parentNode;235 n && n.removeChild(this)236 }237 function U(n) {238 return {239 __data__: n240 }241 }242 function j(n) {243 return function() {244 return Sa(this, n)245 }246 }247 function F(t) {248 return arguments.length || (t = n), function(n, e) {249 return n && e ? t(n.__data__, e.__data__) : !n-!e250 }251 }252 function H(n, t) {253 for (var e = 0, r = n.length; r > e; e++)254 for (var u, i = n[e], o = 0, a = i.length; a > o; o++)(u = i[o]) 255 && t(u, o, e);256 return n257 }258 function O(n) {259 return xa(n, Aa), n260 }261 function Y(n) {262 var t, e;263 return function(r, u, i) {264 var o, a = n[i].update, c = a.length;265 for (i != e && (e = i, t = 0), u >= t && (t = u + 1); !(o = a[t])&&++t < c;);266 return o267 }268 }269 function I(n, t, e) {270 function r() {271 var t = this[o];272 t && (this.removeEventListener(n, t, t.$), delete this[o])273 }274 function u() {275 var u = c(t, ra(arguments));276 r.call(this), this.addEventListener(n, this[o] = u, u.$ = e), u._ = t277 }278 function i() {279 var t, e = new RegExp("^__on([^.]+)" + ta.requote(n) + "$");280 for (var r in this)281 if (t = r.match(e)) {282 var u = this[r];283 this.removeEventListener(t[1], u, u.$), delete this[r]284 }285 }286 var o = "__on" + n, a = n.indexOf("."), c = Z;287 a > 0 && (n = n.slice(0, a));288 var l = Ca.get(n);289 return l && (n = l, c = V), a ? t ? u : r : t ? y : i290 }291 function Z(n, t) {292 return function(e) {293 var r = ta.event;294 ta.event = e, t[0] = this.__data__;295 try {296 n.apply(this, t)297 } finally {298 ta.event = r299 }300 }301 }302 function V(n, t) {303 var e = Z(n, t);304 return function(n) {305 var t = this, r = n.relatedTarget;306 r && (r === t || 8 & r.compareDocumentPosition(t)) || e.call(t, n)307 }308 }309 function X() {310 var n = ".dragsuppress-" + ++qa, t = "click" + n, e = ta.select(oa).on("touchmove" + n, b).on("dragstart" + n, b).on("selectstart" + n, b);311 if (za) {312 var r = ia.style, u = r[za];313 r[za] = "none"314 }315 return function(i) {316 if (e.on(n, null), za && (r[za] = u), i) {317 var o = function() {318 e.on(t, null)319 };320 e.on(t, function() {321 b(), o()322 }, !0), setTimeout(o, 0)323 }324 }325 }326 function $(n, t) {327 t.changedTouches && (t = t.changedTouches[0]);328 var e = n.ownerSVGElement || n;329 if (e.createSVGPoint) {330 var r = e.createSVGPoint();331 if (0 > La && (oa.scrollX || oa.scrollY)) {332 e = ta.select("body").append("svg").style({333 position: "absolute",334 top: 0,335 left: 0,336 margin: 0,337 padding: 0,338 border: "none"339 }, "important");340 var u = e[0][0].getScreenCTM();341 La=!(u.f || u.e), e.remove()342 }343 return La ? (r.x = t.pageX, r.y = t.pageY) : (r.x = t.clientX, r.y = t.clientY), r = r.matrixTransform(n.getScreenCTM().inverse()), [r.x, r.y]344 }345 var i = n.getBoundingClientRect();346 return [t.clientX - i.left - n.clientLeft, t.clientY - i.top - n.clientTop]347 }348 function B() {349 return ta.event.changedTouches[0].identifier350 }351 function W() {352 return ta.event.target353 }354 function J() {355 return oa356 }357 function G(n) {358 return n > 0 ? 1 : 0 > n?-1 : 0359 }360 function K(n, t, e) {361 return (t[0] - n[0]) * (e[1] - n[1]) - (t[1] - n[1]) * (e[0] - n[0])362 }363 function Q(n) {364 return n > 1 ? 0 : - 1 > n ? Da : Math.acos(n)365 }366 function nt(n) {367 return n > 1 ? ja : - 1 > n?-ja : Math.asin(n)368 }369 function tt(n) {370 return ((n = Math.exp(n)) - 1 / n) / 2371 }372 function et(n) {373 return ((n = Math.exp(n)) + 1 / n) / 2374 }375 function rt(n) {376 return ((n = Math.exp(2 * n)) - 1) / (n + 1)377 }378 function ut(n) {379 return (n = Math.sin(n / 2)) * n380 }381 function it() {}382 function ot(n, t, e) {383 return this instanceof ot ? (this.h =+ n, this.s =+ t, void(this.l =+ e)) : arguments.length < 2 ? n instanceof ot ? new ot(n.h, n.s, n.l) : xt("" + n, bt, ot) : new ot(n, t, e)384 }385 function at(n, t, e) {386 function r(n) {387 return n > 360 ? n -= 360 : 0 > n && (n += 360), 60 > n ? i + (o - i) * n / 60 : 180 > n ? o : 240 > n ? i + (o - i) * (240 - n) / 60 : i388 }389 function u(n) {390 return Math.round(255 * r(n))391 }392 var i, o;393 return n = isNaN(n) ? 0 : (n%=360) < 0 ? n + 360 : n, t = isNaN(t) ? 0 : 0 > t ? 0 : t > 1 ? 1 : t, e = 0 > e ? 0 : e > 1 ? 1 : e, o = .5 >= e ? e * (1 + t) : e + t - e * t, i = 2 * e - o, new dt(u(n + 120), u(n), u(n - 120))394 }395 function ct(n, t, e) {396 return this instanceof ct ? (this.h =+ n, this.c =+ t, void(this.l =+ e)) : arguments.length < 2 ? n instanceof ct ? new ct(n.h, n.c, n.l) : n instanceof st ? ht(n.l, n.a, n.b) : ht((n = _t((n = ta.rgb(n)).r, n.g, n.b)).l, n.a, n.b) : new ct(n, t, e)397 }398 function lt(n, t, e) {399 return isNaN(n) && (n = 0), isNaN(t) && (t = 0), new st(e, Math.cos(n*=Fa) * t, Math.sin(n) * t)400 }401 function st(n, t, e) {402 return this instanceof st ? (this.l =+ n, this.a =+ t, void(this.b =+ e)) : arguments.length < 2 ? n instanceof st ? new st(n.l, n.a, n.b) : n instanceof ct ? lt(n.h, n.c, n.l) : _t((n = dt(n)).r, n.g, n.b) : new st(n, t, e)403 }404 function ft(n, t, e) {405 var r = (n + 16) / 116, u = r + t / 500, i = r - e / 200;406 return u = gt(u) * Ja, r = gt(r) * Ga, i = gt(i) * Ka, new dt(vt(3.2404542 * u - 1.5371385 * r - .4985314 * i), vt( - .969266 * u + 1.8760108 * r + .041556 * i), vt(.0556434 * u - .2040259 * r + 1.0572252 * i))407 }408 function ht(n, t, e) {409 return n > 0 ? new ct(Math.atan2(e, t) * Ha, Math.sqrt(t * t + e * e), n) : new ct(0 / 0, 0 / 0, n)410 }411 function gt(n) {412 return n > .206893034 ? n * n * n : (n - 4 / 29) / 7.787037413 }414 function pt(n) {415 return n > .008856 ? Math.pow(n, 1 / 3) : 7.787037 * n + 4 / 29416 }417 function vt(n) {418 return Math.round(255 * (.00304 >= n ? 12.92 * n : 1.055 * Math.pow(n, 1 / 2.4) - .055))419 }420 function dt(n, t, e) {421 return this instanceof dt ? (this.r=~~n, this.g=~~t, void(this.b=~~e)) : arguments.length < 2 ? n instanceof dt ? new dt(n.r, n.g, n.b) : xt("" + n, dt, at) : new dt(n, t, e)422 }423 function mt(n) {424 return new dt(n>>16, 255 & n>>8, 255 & n)425 }426 function yt(n) {427 return mt(n) + ""428 }429 function Mt(n) {430 return 16 > n ? "0" + Math.max(0, n).toString(16) : Math.min(255, n).toString(16)431 }432 function xt(n, t, e) {433 var r, u, i, o = 0, a = 0, c = 0;434 if (r = /([a-z]+)\((.*)\)/i.exec(n))435 switch (u = r[2].split(","), r[1]) {436 case"hsl":437 return e(parseFloat(u[0]), parseFloat(u[1]) / 100, parseFloat(u[2]) / 100);438 case"rgb":439 return t(St(u[0]), St(u[1]), St(u[2]))440 }441 return (i = tc.get(n)) ? t(i.r, i.g, i.b) : (null == n || "#" !== n.charAt(0) || isNaN(i = parseInt(n.slice(1), 16)) || (4 === n.length ? (o = (3840 & i)>>4, o = o>>4 | o, a = 240 & i, a = a>>4 | a, c = 15 & i, c = c<<4 | c) : 7 === n.length && (o = (16711680 & i)>>16, a = (65280 & i)>>8, c = 255 & i)), t(o, a, c))442 }443 function bt(n, t, e) {444 var r, u, i = Math.min(n/=255, t/=255, e/=255), o = Math.max(n, t, e), a = o - i, c = (o + i) / 2;445 return a ? (u = .5 > c ? a / (o + i) : a / (2 - o - i), r = n == o ? (t - e) / a + (e > t ? 6 : 0) : t == o ? (e - n) / a + 2 : (n - t) / a + 4, r*=60) : (r = 0 / 0, u = c > 0 && 1 > c ? 0 : r), new ot(r, u, c)446 }447 function _t(n, t, e) {448 n = wt(n), t = wt(t), e = wt(e);449 var r = pt((.4124564 * n + .3575761 * t + .1804375 * e) / Ja), u = pt((.2126729 * n + .7151522 * t + .072175 * e) / Ga), i = pt((.0193339 * n + .119192 * t + .9503041 * e) / Ka);450 return st(116 * u - 16, 500 * (r - u), 200 * (u - i))451 }452 function wt(n) {453 return (n/=255) <= .04045 ? n / 12.92 : Math.pow((n + .055) / 1.055, 2.4)454 }455 function St(n) {456 var t = parseFloat(n);457 return "%" === n.charAt(n.length - 1) ? Math.round(2.55 * t) : t458 }459 function kt(n) {460 return "function" == typeof n ? n : function() {461 return n462 }463 }464 function Et(n) {465 return n466 }467 function At(n) {468 return function(t, e, r) {469 return 2 === arguments.length && "function" == typeof e && (r = e, e = null), Nt(t, e, n, r)470 }471 }472 function Nt(n, t, e, r) {473 function u() {474 var n, t = c.status;475 if (!t && zt(c) || t >= 200 && 300 > t || 304 === t) {476 try {477 n = e.call(i, c)478 } catch (r) {479 return o.error.call(i, r), void 0480 }481 o.load.call(i, n)482 } else 483 o.error.call(i, c)484 }485 var i = {}, o = ta.dispatch("beforesend", "progress", "load", "error"), a = {}, c = new XMLHttpRequest, l = null;486 return !oa.XDomainRequest || "withCredentials"in c ||!/^(http(s)?:)?\/\//.test(n) || (c = new XDomainRequest), "onload"in c ? c.onload = c.onerror = u : c.onreadystatechange = function() {487 c.readyState > 3 && u()488 }, c.onprogress = function(n) {489 var t = ta.event;490 ta.event = n;491 try {492 o.progress.call(i, c)493 } finally {494 ta.event = t495 }496 }, i.header = function(n, t) {497 return n = (n + "").toLowerCase(), arguments.length < 2 ? a[n] : (null == t ? delete a[n] : a[n] = t + "", i)498 }, i.mimeType = function(n) {499 return arguments.length ? (t = null == n ? null : n + "", i) : t500 }, i.responseType = function(n) {501 return arguments.length ? (l = n, i) : l502 }, i.response = function(n) {503 return e = n, i504 }, ["get", "post"].forEach(function(n) {505 i[n] = function() {506 return i.send.apply(i, [n].concat(ra(arguments)))507 }508 }), i.send = function(e, r, u) {509 if (2 === arguments.length && "function" == typeof r && (u = r, r = null), c.open(e, n, !0), null == t || "accept"in a || (a.accept = t + ",*/*"), c.setRequestHeader)510 for (var s in a)511 c.setRequestHeader(s, a[s]);512 return null != t && c.overrideMimeType && c.overrideMimeType(t), null != l && (c.responseType = l), null != u && i.on("error", u).on("load", function(n) {513 u(null, n)514 }), o.beforesend.call(i, c), c.send(null == r ? null : r), i515 }, i.abort = function() {516 return c.abort(), i517 }, ta.rebind(i, o, "on"), null == r ? i : i.get(Ct(r))518 }519 function Ct(n) {520 return 1 === n.length ? function(t, e) {521 n(null == t ? e : null)522 } : n523 }524 function zt(n) {525 var t = n.responseType;526 return t && "text" !== t ? n.response : n.responseText527 }528 function qt() {529 var n = Lt(), t = Tt() - n;530 t > 24 ? (isFinite(t) && (clearTimeout(ic), ic = setTimeout(qt, t)), uc = 0) : (uc = 1, ac(qt))531 }532 function Lt() {533 var n = Date.now();534 for (oc = ec; oc;)535 n >= oc.t && (oc.f = oc.c(n - oc.t)), oc = oc.n;536 return n537 }538 function Tt() {539 for (var n, t = ec, e = 1 / 0; t;)540 t.f ? t = n ? n.n = t.n : ec = t.n : (t.t < e && (e = t.t), t = (n = t).n);541 return rc = n, e542 }543 function Rt(n, t) {544 return t - (n ? Math.ceil(Math.log(n) / Math.LN10) : 1)545 }546 function Dt(n, t) {547 var e = Math.pow(10, 3 * va(8 - t));548 return {549 scale: t > 8 ? function(n) {550 return n / e551 }552 : function(n) {553 return n * e554 },555 symbol: n556 }557 }558 function Pt(n) {559 var t = n.decimal, e = n.thousands, r = n.grouping, u = n.currency, i = r && e ? function(n, t) {560 for (var u = n.length, i = [], o = 0, a = r[0], c = 0; u > 0 && a > 0 && (c + a + 1 > t && (a = Math.max(1, t - c)), i.push(n.substring(u -= a, u + a)), !((c += a + 1) > t));)561 a = r[o = (o + 1)%r.length];562 return i.reverse().join(e)563 }564 : Et;565 return function(n) {566 var e = lc.exec(n), r = e[1] || " ", o = e[2] || ">", a = e[3] || "-", c = e[4] || "", l = e[5], s =+ e[6], f = e[7], h = e[8], g = e[9], p = 1, v = "", d = "", m=!1, y=!0;567 switch (h && (h =+ h.substring(1)), (l || "0" === r && "=" === o) && (l = r = "0", o = "="), g) {568 case"n":569 f=!0, g = "g";570 break;571 case"%":572 p = 100, d = "%", g = "f";573 break;574 case"p":575 p = 100, d = "%", g = "r";576 break;577 case"b":578 case"o":579 case"x":580 case"X":581 "#" === c && (v = "0" + g.toLowerCase());582 case"c":583 y=!1;584 case"d":585 m=!0, h = 0;586 break;587 case"s":588 p =- 1, g = "r"589 }590 "$" === c && (v = u[0], d = u[1]), "r" != g || h || (g = "g"), null != h && ("g" == g ? h = Math.max(1, Math.min(21, h)) : ("e" == g || "f" == g) && (h = Math.max(0, Math.min(20, h)))), g = sc.get(g) || Ut;591 var M = l && f;592 return function(n) {593 var e = d;594 if (m && n%1)595 return "";596 var u = 0 > n || 0 === n && 0 > 1 / n ? (n =- n, "-"): "-" === a ? "": a;597 if (0 > p) {598 var c = ta.formatPrefix(n, h);599 n = c.scale(n), e = c.symbol + d600 } else 601 n*=p;602 n = g(n, h);603 var x, b, _ = n.lastIndexOf(".");604 if (0 > _) {605 var w = y ? n.lastIndexOf("e"): - 1;606 0 > w ? (x = n, b = "") : (x = n.substring(0, w), b = n.substring(w))607 } else 608 x = n.substring(0, _), b = t + n.substring(_ + 1);609 !l && f && (x = i(x, 1 / 0));610 var S = v.length + x.length + b.length + (M ? 0 : u.length), k = s > S ? new Array(S = s - S + 1).join(r): "";611 return M && (x = i(k + x, k.length ? s - b.length : 1 / 0)), u += v, n = x + b, ("<" === o ? u + n + k : ">" === o ? k + u + n : "^" === o ? k.substring(0, S>>=1) + u + n + k.substring(S) : u + (M ? n : k + n)) + e612 }613 }614 }615 function Ut(n) {616 return n + ""617 }618 function jt() {619 this._ = new Date(arguments.length > 1 ? Date.UTC.apply(this, arguments) : arguments[0])620 }621 function Ft(n, t, e) {622 function r(t) {623 var e = n(t), r = i(e, 1);624 return r - t > t - e ? e : r625 }626 function u(e) {627 return t(e = n(new hc(e - 1)), 1), e628 }629 function i(n, e) {630 return t(n = new hc( + n), e), n631 }632 function o(n, r, i) {633 var o = u(n), a = [];634 if (i > 1)635 for (; r > o;)636 e(o)%i || a.push(new Date( + o)), t(o, 1);637 else 638 for (; r > o;)639 a.push(new Date( + o)), t(o, 1);640 return a641 }642 function a(n, t, e) {643 try {644 hc = jt;645 var r = new jt;646 return r._ = n, o(r, t, e)647 } finally {648 hc = Date649 }650 }651 n.floor = n, n.round = r, n.ceil = u, n.offset = i, n.range = o;652 var c = n.utc = Ht(n);653 return c.floor = c, c.round = Ht(r), c.ceil = Ht(u), c.offset = Ht(i), c.range = a, n654 }655 function Ht(n) {656 return function(t, e) {657 try {658 hc = jt;659 var r = new jt;660 return r._ = t, n(r, e)._661 } finally {662 hc = Date663 }664 }665 }666 function Ot(n) {667 function t(n) {668 function t(t) {669 for (var e, u, i, o = [], a =- 1, c = 0; ++a < r;)670 37 === n.charCodeAt(a) && (o.push(n.slice(c, a)), null != (u = pc[e = n.charAt(++a)]) && (e = n.charAt(++a)), (i = N[e]) && (e = i(t, null == u ? "e" === e ? " " : "0" : u)), o.push(e), c = a + 1);671 return o.push(n.slice(c, a)), o.join("")672 }673 var r = n.length;674 return t.parse = function(t) {675 var r = {676 y: 1900,677 m: 0,678 d: 1,679 H: 0,680 M: 0,681 S: 0,682 L: 0,683 Z: null684 }, u = e(r, n, t, 0);685 if (u != t.length)686 return null;687 "p"in r && (r.H = r.H%12 + 12 * r.p);688 var i = null != r.Z && hc !== jt, o = new (i ? jt : hc);689 return "j"in r ? o.setFullYear(r.y, 0, r.j) : "w"in r && ("W"in r || "U"in r) ? (o.setFullYear(r.y, 0, 1), o.setFullYear(r.y, 0, "W"in r ? (r.w + 6)%7 + 7 * r.W - (o.getDay() + 5)%7 : r.w + 7 * r.U - (o.getDay() + 6)%7)) : o.setFullYear(r.y, r.m, r.d), o.setHours(r.H + (0 | r.Z / 100), r.M + r.Z%100, r.S, r.L), i ? o._ : o690 }, t.toString = function() {691 return n692 }, t693 }694 function e(n, t, e, r) {695 for (var u, i, o, a = 0, c = t.length, l = e.length; c > a;) {696 if (r >= l)697 return - 1;698 if (u = t.charCodeAt(a++), 37 === u) {699 if (o = t.charAt(a++), i = C[o in pc ? t.charAt(a++): o], !i || (r = i(n, e, r)) < 0)700 return - 1701 } else if (u != e.charCodeAt(r++))702 return - 1703 }704 return r705 }706 function r(n, t, e) {707 _.lastIndex = 0;708 var r = _.exec(t.slice(e));709 return r ? (n.w = w.get(r[0].toLowerCase()), e + r[0].length) : - 1710 }711 function u(n, t, e) {712 x.lastIndex = 0;713 var r = x.exec(t.slice(e));714 return r ? (n.w = b.get(r[0].toLowerCase()), e + r[0].length) : - 1715 }716 function i(n, t, e) {717 E.lastIndex = 0;718 var r = E.exec(t.slice(e));719 return r ? (n.m = A.get(r[0].toLowerCase()), e + r[0].length) : - 1720 }721 function o(n, t, e) {722 S.lastIndex = 0;723 var r = S.exec(t.slice(e));724 return r ? (n.m = k.get(r[0].toLowerCase()), e + r[0].length) : - 1725 }726 function a(n, t, r) {727 return e(n, N.c.toString(), t, r)728 }729 function c(n, t, r) {730 return e(n, N.x.toString(), t, r)731 }732 function l(n, t, r) {733 return e(n, N.X.toString(), t, r)734 }735 function s(n, t, e) {736 var r = M.get(t.slice(e, e += 2).toLowerCase());737 return null == r?-1 : (n.p = r, e)738 }739 var f = n.dateTime, h = n.date, g = n.time, p = n.periods, v = n.days, d = n.shortDays, m = n.months, y = n.shortMonths;740 t.utc = function(n) {741 function e(n) {742 try {743 hc = jt;744 var t = new hc;745 return t._ = n, r(t)746 } finally {747 hc = Date748 }749 }750 var r = t(n);751 return e.parse = function(n) {752 try {753 hc = jt;754 var t = r.parse(n);755 return t && t._756 } finally {757 hc = Date758 }759 }, e.toString = r.toString, e760 }, t.multi = t.utc.multi = ae;761 var M = ta.map(), x = It(v), b = Zt(v), _ = It(d), w = Zt(d), S = It(m), k = Zt(m), E = It(y), A = Zt(y);762 p.forEach(function(n, t) {763 M.set(n.toLowerCase(), t)764 });765 var N = {766 a: function(n) {767 return d[n.getDay()]768 },769 A: function(n) {770 return v[n.getDay()]771 },772 b: function(n) {773 return y[n.getMonth()]774 },775 B: function(n) {776 return m[n.getMonth()]777 },778 c: t(f),779 d: function(n, t) {780 return Yt(n.getDate(), t, 2)781 },782 e: function(n, t) {783 return Yt(n.getDate(), t, 2)784 },785 H: function(n, t) {786 return Yt(n.getHours(), t, 2)787 },788 I: function(n, t) {789 return Yt(n.getHours()%12 || 12, t, 2)790 },791 j: function(n, t) {792 return Yt(1 + fc.dayOfYear(n), t, 3)793 },794 L: function(n, t) {795 return Yt(n.getMilliseconds(), t, 3)796 },797 m: function(n, t) {798 return Yt(n.getMonth() + 1, t, 2)799 },800 M: function(n, t) {801 return Yt(n.getMinutes(), t, 2)802 },803 p: function(n) {804 return p[ + (n.getHours() >= 12)]805 },806 S: function(n, t) {807 return Yt(n.getSeconds(), t, 2)808 },809 U: function(n, t) {810 return Yt(fc.sundayOfYear(n), t, 2)811 },812 w: function(n) {813 return n.getDay()814 },815 W: function(n, t) {816 return Yt(fc.mondayOfYear(n), t, 2)817 },818 x: t(h),819 X: t(g),820 y: function(n, t) {821 return Yt(n.getFullYear()%100, t, 2)822 },823 Y: function(n, t) {824 return Yt(n.getFullYear()%1e4, t, 4)825 },826 Z: ie,827 "%": function() {828 return "%"829 }830 }, C = {831 a: r,832 A: u,833 b: i,834 B: o,835 c: a,836 d: Qt,837 e: Qt,838 H: te,839 I: te,840 j: ne,841 L: ue,842 m: Kt,843 M: ee,844 p: s,845 S: re,846 U: Xt,847 w: Vt,848 W: $t,849 x: c,850 X: l,851 y: Wt,852 Y: Bt,853 Z: Jt,854 "%": oe855 };856 return t857 }858 function Yt(n, t, e) {859 var r = 0 > n ? "-": "", u = (r?-n : n) + "", i = u.length;860 return r + (e > i ? new Array(e - i + 1).join(t) + u : u)861 }862 function It(n) {863 return new RegExp("^(?:" + n.map(ta.requote).join("|") + ")", "i")864 }865 function Zt(n) {866 for (var t = new a, e =- 1, r = n.length; ++e < r;)867 t.set(n[e].toLowerCase(), e);868 return t869 }870 function Vt(n, t, e) {871 vc.lastIndex = 0;872 var r = vc.exec(t.slice(e, e + 1));873 return r ? (n.w =+ r[0], e + r[0].length) : - 1874 }875 function Xt(n, t, e) {876 vc.lastIndex = 0;877 var r = vc.exec(t.slice(e));878 return r ? (n.U =+ r[0], e + r[0].length) : - 1879 }880 function $t(n, t, e) {881 vc.lastIndex = 0;882 var r = vc.exec(t.slice(e));883 return r ? (n.W =+ r[0], e + r[0].length) : - 1884 }885 function Bt(n, t, e) {886 vc.lastIndex = 0;887 var r = vc.exec(t.slice(e, e + 4));888 return r ? (n.y =+ r[0], e + r[0].length) : - 1889 }890 function Wt(n, t, e) {891 vc.lastIndex = 0;892 var r = vc.exec(t.slice(e, e + 2));893 return r ? (n.y = Gt( + r[0]), e + r[0].length) : - 1894 }895 function Jt(n, t, e) {896 return /^[+-]\d{4}$/.test(t = t.slice(e, e + 5)) ? (n.Z =- t, e + 5) : - 1897 }898 function Gt(n) {899 return n + (n > 68 ? 1900 : 2e3)900 }901 function Kt(n, t, e) {902 vc.lastIndex = 0;903 var r = vc.exec(t.slice(e, e + 2));904 return r ? (n.m = r[0] - 1, e + r[0].length) : - 1905 }906 function Qt(n, t, e) {907 vc.lastIndex = 0;908 var r = vc.exec(t.slice(e, e + 2));909 return r ? (n.d =+ r[0], e + r[0].length) : - 1910 }911 function ne(n, t, e) {912 vc.lastIndex = 0;913 var r = vc.exec(t.slice(e, e + 3));914 return r ? (n.j =+ r[0], e + r[0].length) : - 1915 }916 function te(n, t, e) {917 vc.lastIndex = 0;918 var r = vc.exec(t.slice(e, e + 2));919 return r ? (n.H =+ r[0], e + r[0].length) : - 1920 }921 function ee(n, t, e) {922 vc.lastIndex = 0;923 var r = vc.exec(t.slice(e, e + 2));924 return r ? (n.M =+ r[0], e + r[0].length) : - 1925 }926 function re(n, t, e) {927 vc.lastIndex = 0;928 var r = vc.exec(t.slice(e, e + 2));929 return r ? (n.S =+ r[0], e + r[0].length) : - 1930 }931 function ue(n, t, e) {932 vc.lastIndex = 0;933 var r = vc.exec(t.slice(e, e + 3));934 return r ? (n.L =+ r[0], e + r[0].length) : - 1935 }936 function ie(n) {937 var t = n.getTimezoneOffset(), e = t > 0 ? "-": "+", r = 0 | va(t) / 60, u = va(t)%60;938 return e + Yt(r, "0", 2) + Yt(u, "0", 2)939 }940 function oe(n, t, e) {941 dc.lastIndex = 0;942 var r = dc.exec(t.slice(e, e + 1));943 return r ? e + r[0].length : - 1944 }945 function ae(n) {946 for (var t = n.length, e =- 1; ++e < t;)947 n[e][0] = this (n[e][0]);948 return function(t) {949 for (var e = 0, r = n[e]; !r[1](t);)950 r = n[++e];951 return r[0](t)952 }953 }954 function ce() {}955 function le(n, t, e) {956 var r = e.s = n + t, u = r - n, i = r - u;957 e.t = n - i + (t - u)958 }959 function se(n, t) {960 n && xc.hasOwnProperty(n.type) && xc[n.type](n, t)961 }962 function fe(n, t, e) {963 var r, u =- 1, i = n.length - e;964 for (t.lineStart(); ++u < i;)965 r = n[u], t.point(r[0], r[1], r[2]);966 t.lineEnd()967 }968 function he(n, t) {969 var e =- 1, r = n.length;970 for (t.polygonStart(); ++e < r;)971 fe(n[e], t, 1);972 t.polygonEnd()973 }974 function ge() {975 function n(n, t) {976 n*=Fa, t = t * Fa / 2 + Da / 4;977 var e = n - r, o = e >= 0 ? 1: - 1, a = o * e, c = Math.cos(t), l = Math.sin(t), s = i * l, f = u * c + s * Math.cos(a), h = s * o * Math.sin(a);978 _c.add(Math.atan2(h, f)), r = n, u = c, i = l979 }980 var t, e, r, u, i;981 wc.point = function(o, a) {982 wc.point = n, r = (t = o) * Fa, u = Math.cos(a = (e = a) * Fa / 2 + Da / 4), i = Math.sin(a)983 }, wc.lineEnd = function() {984 n(t, e)985 }986 }987 function pe(n) {988 var t = n[0], e = n[1], r = Math.cos(e);989 return [r * Math.cos(t), r * Math.sin(t), Math.sin(e)]990 }991 function ve(n, t) {992 return n[0] * t[0] + n[1] * t[1] + n[2] * t[2]993 }994 function de(n, t) {995 return [n[1] * t[2] - n[2] * t[1], n[2] * t[0] - n[0] * t[2], n[0] * t[1] - n[1] * t[0]]996 }997 function me(n, t) {998 n[0] += t[0], n[1] += t[1], n[2] += t[2]999 }1000 function ye(n, t) {1001 return [n[0] * t, n[1] * t, n[2] * t]1002 }1003 function Me(n) {1004 var t = Math.sqrt(n[0] * n[0] + n[1] * n[1] + n[2] * n[2]);1005 n[0]/=t, n[1]/=t, n[2]/=t1006 }1007 function xe(n) {1008 return [Math.atan2(n[1], n[0]), nt(n[2])]1009 }1010 function be(n, t) {1011 return va(n[0] - t[0]) < Ta && va(n[1] - t[1]) < Ta1012 }1013 function _e(n, t) {1014 n*=Fa;1015 var e = Math.cos(t*=Fa);1016 we(e * Math.cos(n), e * Math.sin(n), Math.sin(t))1017 }1018 function we(n, t, e) {1019 ++Sc, Ec += (n - Ec) / Sc, Ac += (t - Ac) / Sc, Nc += (e - Nc) / Sc1020 }1021 function Se() {1022 function n(n, u) {1023 n*=Fa;1024 var i = Math.cos(u*=Fa), o = i * Math.cos(n), a = i * Math.sin(n), c = Math.sin(u), l = Math.atan2(Math.sqrt((l = e * c - r * a) * l + (l = r * o - t * c) * l + (l = t * a - e * o) * l), t * o + e * a + r * c);1025 kc += l, Cc += l * (t + (t = o)), zc += l * (e + (e = a)), qc += l * (r + (r = c)), we(t, e, r)1026 }1027 var t, e, r;1028 Dc.point = function(u, i) {1029 u*=Fa;1030 var o = Math.cos(i*=Fa);1031 t = o * Math.cos(u), e = o * Math.sin(u), r = Math.sin(i), Dc.point = n, we(t, e, r)1032 }1033 }1034 function ke() {1035 Dc.point = _e1036 }1037 function Ee() {1038 function n(n, t) {1039 n*=Fa;1040 var e = Math.cos(t*=Fa), o = e * Math.cos(n), a = e * Math.sin(n), c = Math.sin(t), l = u * c - i * a, s = i * o - r * c, f = r * a - u * o, h = Math.sqrt(l * l + s * s + f * f), g = r * o + u * a + i * c, p = h&&-Q(g) / h, v = Math.atan2(h, g);1041 Lc += p * l, Tc += p * s, Rc += p * f, kc += v, Cc += v * (r + (r = o)), zc += v * (u + (u = a)), qc += v * (i + (i = c)), we(r, u, i)1042 }1043 var t, e, r, u, i;1044 Dc.point = function(o, a) {1045 t = o, e = a, Dc.point = n, o*=Fa;1046 var c = Math.cos(a*=Fa);1047 r = c * Math.cos(o), u = c * Math.sin(o), i = Math.sin(a), we(r, u, i)1048 }, Dc.lineEnd = function() {1049 n(t, e), Dc.lineEnd = ke, Dc.point = _e1050 }1051 }1052 function Ae(n, t) {1053 function e(e, r) {1054 return e = n(e, r), t(e[0], e[1])1055 }1056 return n.invert && t.invert && (e.invert = function(e, r) {1057 return e = t.invert(e, r), e && n.invert(e[0], e[1])1058 }), e1059 }1060 function Ne() {1061 return !01062 }1063 function Ce(n, t, e, r, u) {1064 var i = [], o = [];1065 if (n.forEach(function(n) {1066 if (!((t = n.length - 1) <= 0)) {1067 var t, e = n[0], r = n[t];1068 if (be(e, r)) {1069 u.lineStart();1070 for (var a = 0; t > a; ++a)1071 u.point((e = n[a])[0], e[1]);1072 return u.lineEnd(), void 01073 }1074 var c = new qe(e, n, null, !0), l = new qe(e, null, c, !1);1075 c.o = l, i.push(c), o.push(l), c = new qe(r, n, null, !1), l = new qe(r, null, c, !0), c.o = l, i.push(c), o.push(l)1076 }1077 }), o.sort(t), ze(i), ze(o), i.length) {1078 for (var a = 0, c = e, l = o.length; l > a; ++a)1079 o[a].e = c=!c;1080 for (var s, f, h = i[0]; ;) {1081 for (var g = h, p=!0; g.v;)1082 if ((g = g.n) === h)1083 return;1084 s = g.z, u.lineStart();1085 do {1086 if (g.v = g.o.v=!0, g.e) {1087 if (p)1088 for (var a = 0, l = s.length; l > a; ++a)1089 u.point((f = s[a])[0], f[1]);1090 else 1091 r(g.x, g.n.x, 1, u);1092 g = g.n1093 } else {1094 if (p) {1095 s = g.p.z;1096 for (var a = s.length - 1; a >= 0; --a)1097 u.point((f = s[a])[0], f[1])1098 } else 1099 r(g.x, g.p.x, - 1, u);1100 g = g.p1101 }1102 g = g.o, s = g.z, p=!p1103 }1104 while (!g.v);1105 u.lineEnd()1106 }1107 }1108 }1109 function ze(n) {1110 if (t = n.length) {1111 for (var t, e, r = 0, u = n[0]; ++r < t;)1112 u.n = e = n[r], e.p = u, u = e;1113 u.n = e = n[0], e.p = u1114 }1115 }1116 function qe(n, t, e, r) {1117 this.x = n, this.z = t, this.o = e, this.e = r, this.v=!1, this.n = this.p = null1118 }1119 function Le(n, t, e, r) {1120 return function(u, i) {1121 function o(t, e) {1122 var r = u(t, e);1123 n(t = r[0], e = r[1]) && i.point(t, e)1124 }1125 function a(n, t) {1126 var e = u(n, t);1127 d.point(e[0], e[1])1128 }1129 function c() {1130 y.point = a, d.lineStart()1131 }1132 function l() {1133 y.point = o, d.lineEnd()1134 }1135 function s(n, t) {1136 v.push([n, t]);1137 var e = u(n, t);1138 x.point(e[0], e[1])1139 }1140 function f() {1141 x.lineStart(), v = []1142 }1143 function h() {1144 s(v[0][0], v[0][1]), x.lineEnd();1145 var n, t = x.clean(), e = M.buffer(), r = e.length;1146 if (v.pop(), p.push(v), v = null, r)1147 if (1 & t) {1148 n = e[0];1149 var u, r = n.length - 1, o =- 1;1150 if (r > 0) {1151 for (b || (i.polygonStart(), b=!0), i.lineStart(); ++o < r;)1152 i.point((u = n[o])[0], u[1]);1153 i.lineEnd()1154 }1155 } else 1156 r > 1 && 2 & t && e.push(e.pop().concat(e.shift())), g.push(e.filter(Te))1157 }1158 var g, p, v, d = t(i), m = u.invert(r[0], r[1]), y = {1159 point: o,1160 lineStart: c,1161 lineEnd: l,1162 polygonStart: function() {1163 y.point = s, y.lineStart = f, y.lineEnd = h, g = [], p = []1164 },1165 polygonEnd: function() {1166 y.point = o, y.lineStart = c, y.lineEnd = l, g = ta.merge(g);1167 var n = Fe(m, p);1168 g.length ? (b || (i.polygonStart(), b=!0), Ce(g, De, n, e, i)) : n && (b || (i.polygonStart(), b=!0), i.lineStart(), e(null, null, 1, i), i.lineEnd()), b && (i.polygonEnd(), b=!1), g = p = null1169 },1170 sphere: function() {1171 i.polygonStart(), i.lineStart(), e(null, null, 1, i), i.lineEnd(), i.polygonEnd()1172 }1173 }, M = Re(), x = t(M), b=!1;1174 return y1175 }1176 }1177 function Te(n) {1178 return n.length > 11179 }1180 function Re() {1181 var n, t = [];1182 return {1183 lineStart: function() {1184 t.push(n = [])1185 },1186 point: function(t, e) {1187 n.push([t, e])1188 },1189 lineEnd: y,1190 buffer: function() {1191 var e = t;1192 return t = [], n = null, e1193 },1194 rejoin: function() {1195 t.length > 1 && t.push(t.pop().concat(t.shift()))1196 }1197 }1198 }1199 function De(n, t) {1200 return ((n = n.x)[0] < 0 ? n[1] - ja - Ta : ja - n[1]) - ((t = t.x)[0] < 0 ? t[1] - ja - Ta : ja - t[1])1201 }1202 function Pe(n) {1203 var t, e = 0 / 0, r = 0 / 0, u = 0 / 0;1204 return {1205 lineStart: function() {1206 n.lineStart(), t = 11207 },1208 point: function(i, o) {1209 var a = i > 0 ? Da: - Da, c = va(i - e);1210 va(c - Da) < Ta ? (n.point(e, r = (r + o) / 2 > 0 ? ja : - ja), n.point(u, r), n.lineEnd(), n.lineStart(), n.point(a, r), n.point(i, r), t = 0) : u !== a && c >= Da && (va(e - u) < Ta && (e -= u * Ta), va(i - a) < Ta && (i -= a * Ta), r = Ue(e, r, i, o), n.point(u, r), n.lineEnd(), n.lineStart(), n.point(a, r), t = 0), n.point(e = i, r = o), u = a1211 },1212 lineEnd: function() {1213 n.lineEnd(), e = r = 0 / 01214 },1215 clean: function() {1216 return 2 - t1217 }1218 }1219 }1220 function Ue(n, t, e, r) {1221 var u, i, o = Math.sin(n - e);1222 return va(o) > Ta ? Math.atan((Math.sin(t) * (i = Math.cos(r)) * Math.sin(e) - Math.sin(r) * (u = Math.cos(t)) * Math.sin(n)) / (u * i * o)) : (t + r) / 21223 }1224 function je(n, t, e, r) {1225 var u;1226 if (null == n)1227 u = e * ja, r.point( - Da, u), r.point(0, u), r.point(Da, u), r.point(Da, 0), r.point(Da, - u), r.point(0, - u), r.point( - Da, - u), r.point( - Da, 0), r.point( - Da, u);1228 else if (va(n[0] - t[0]) > Ta) {1229 var i = n[0] < t[0] ? Da: - Da;1230 u = e * i / 2, r.point( - i, u), r.point(0, u), r.point(i, u)1231 } else 1232 r.point(t[0], t[1])1233 }1234 function Fe(n, t) {1235 var e = n[0], r = n[1], u = [Math.sin(e), - Math.cos(e), 0], i = 0, o = 0;1236 _c.reset();1237 for (var a = 0, c = t.length; c > a; ++a) {1238 var l = t[a], s = l.length;1239 if (s)1240 for (var f = l[0], h = f[0], g = f[1] / 2 + Da / 4, p = Math.sin(g), v = Math.cos(g), d = 1; ;) {1241 d === s && (d = 0), n = l[d];1242 var m = n[0], y = n[1] / 2 + Da / 4, M = Math.sin(y), x = Math.cos(y), b = m - h, _ = b >= 0 ? 1: - 1, w = _ * b, S = w > Da, k = p * M;1243 if (_c.add(Math.atan2(k * _ * Math.sin(w), v * x + k * Math.cos(w))), i += S ? b + _ * Pa : b, S^h >= e^m >= e) {1244 var E = de(pe(f), pe(n));1245 Me(E);1246 var A = de(u, E);1247 Me(A);1248 var N = (S^b >= 0?-1 : 1) * nt(A[2]);1249 (r > N || r === N && (E[0] || E[1])) && (o += S^b >= 0 ? 1 : - 1)1250 }1251 if (!d++)1252 break;1253 h = m, p = M, v = x, f = n1254 }1255 }1256 return ( - Ta > i || Ta > i && 0 > _c)^1 & o1257 }1258 function He(n) {1259 function t(n, t) {1260 return Math.cos(n) * Math.cos(t) > i1261 }1262 function e(n) {1263 var e, i, c, l, s;1264 return {1265 lineStart: function() {1266 l = c=!1, s = 11267 },1268 point: function(f, h) {1269 var g, p = [f, h], v = t(f, h), d = o ? v ? 0: u(f, h): v ? u(f + (0 > f ? Da : - Da), h): 0;1270 if (!e && (l = c = v) && n.lineStart(), v !== c && (g = r(e, p), (be(e, g) || be(p, g)) && (p[0] += Ta, p[1] += Ta, v = t(p[0], p[1]))), v !== c)1271 s = 0, v ? (n.lineStart(), g = r(p, e), n.point(g[0], g[1])) : (g = r(e, p), n.point(g[0], g[1]), n.lineEnd()), e = g;1272 else if (a && e && o^v) {1273 var m;1274 d & i ||!(m = r(p, e, !0)) || (s = 0, o ? (n.lineStart(), n.point(m[0][0], m[0][1]), n.point(m[1][0], m[1][1]), n.lineEnd()) : (n.point(m[1][0], m[1][1]), n.lineEnd(), n.lineStart(), n.point(m[0][0], m[0][1])))1275 }1276 !v || e && be(e, p) || n.point(p[0], p[1]), e = p, c = v, i = d1277 },1278 lineEnd: function() {1279 c && n.lineEnd(), e = null1280 },1281 clean: function() {1282 return s | (l && c)<<11283 }1284 }1285 }1286 function r(n, t, e) {1287 var r = pe(n), u = pe(t), o = [1, 0, 0], a = de(r, u), c = ve(a, a), l = a[0], s = c - l * l;1288 if (!s)1289 return !e && n;1290 var f = i * c / s, h =- i * l / s, g = de(o, a), p = ye(o, f), v = ye(a, h);1291 me(p, v);1292 var d = g, m = ve(p, d), y = ve(d, d), M = m * m - y * (ve(p, p) - 1);1293 if (!(0 > M)) {1294 var x = Math.sqrt(M), b = ye(d, ( - m - x) / y);1295 if (me(b, p), b = xe(b), !e)1296 return b;1297 var _, w = n[0], S = t[0], k = n[1], E = t[1];1298 w > S && (_ = w, w = S, S = _);1299 var A = S - w, N = va(A - Da) < Ta, C = N || Ta > A;1300 if (!N && k > E && (_ = k, k = E, E = _), C ? N ? k + E > 0^b[1] < (va(b[0] - w) < Ta ? k : E) : k <= b[1] && b[1] <= E : A > Da^(w <= b[0] && b[0] <= S)) {1301 var z = ye(d, ( - m + x) / y);1302 return me(z, p), [b, xe(z)]1303 }1304 }1305 }1306 function u(t, e) {1307 var r = o ? n: Da - n, u = 0;1308 return - r > t ? u|=1 : t > r && (u|=2), - r > e ? u|=4 : e > r && (u|=8), u1309 }1310 var i = Math.cos(n), o = i > 0, a = va(i) > Ta, c = gr(n, 6 * Fa);1311 return Le(t, e, c, o ? [0, - n] : [ - Da, n - Da])1312 }1313 function Oe(n, t, e, r) {1314 return function(u) {1315 var i, o = u.a, a = u.b, c = o.x, l = o.y, s = a.x, f = a.y, h = 0, g = 1, p = s - c, v = f - l;1316 if (i = n - c, p ||!(i > 0)) {1317 if (i/=p, 0 > p) {1318 if (h > i)1319 return;1320 g > i && (g = i)1321 } else if (p > 0) {1322 if (i > g)1323 return;1324 i > h && (h = i)1325 }1326 if (i = e - c, p ||!(0 > i)) {1327 if (i/=p, 0 > p) {1328 if (i > g)1329 return;1330 i > h && (h = i)1331 } else if (p > 0) {1332 if (h > i)1333 return;1334 g > i && (g = i)1335 }1336 if (i = t - l, v ||!(i > 0)) {1337 if (i/=v, 0 > v) {1338 if (h > i)1339 return;1340 g > i && (g = i)1341 } else if (v > 0) {1342 if (i > g)1343 return;1344 i > h && (h = i)1345 }1346 if (i = r - l, v ||!(0 > i)) {1347 if (i/=v, 0 > v) {1348 if (i > g)1349 return;1350 i > h && (h = i)1351 } else if (v > 0) {1352 if (h > i)1353 return;1354 g > i && (g = i)1355 }1356 return h > 0 && (u.a = {1357 x: c + h * p,1358 y: l + h * v1359 }), 1 > g && (u.b = {1360 x: c + g * p,1361 y: l + g * v1362 }), u1363 }1364 }1365 }1366 }1367 }1368 }1369 function Ye(n, t, e, r) {1370 function u(r, u) {1371 return va(r[0] - n) < Ta ? u > 0 ? 0 : 3 : va(r[0] - e) < Ta ? u > 0 ? 2 : 1 : va(r[1] - t) < Ta ? u > 0 ? 1 : 0 : u > 0 ? 3 : 21372 }1373 function i(n, t) {1374 return o(n.x, t.x)1375 }1376 function o(n, t) {1377 var e = u(n, 1), r = u(t, 1);1378 return e !== r ? e - r : 0 === e ? t[1] - n[1] : 1 === e ? n[0] - t[0] : 2 === e ? n[1] - t[1] : t[0] - n[0]1379 }1380 return function(a) {1381 function c(n) {1382 for (var t = 0, e = d.length, r = n[1], u = 0; e > u; ++u)1383 for (var i, o = 1, a = d[u], c = a.length, l = a[0]; c > o; ++o)1384 i = a[o], l[1] <= r ? i[1] > r && K(l, i, n) > 0&&++t : i[1] <= r && K(l, i, n) < 0&&--t, l = i;1385 return 0 !== t1386 }1387 function l(i, a, c, l) {1388 var s = 0, f = 0;1389 if (null == i || (s = u(i, c)) !== (f = u(a, c)) || o(i, a) < 0^c > 0) {1390 do 1391 l.point(0 === s || 3 === s ? n : e, s > 1 ? r : t);1392 while ((s = (s + c + 4)%4) !== f)1393 } else 1394 l.point(a[0], a[1])1395 }1396 function s(u, i) {1397 return u >= n && e >= u && i >= t && r >= i1398 }1399 function f(n, t) {1400 s(n, t) && a.point(n, t)1401 }1402 function h() {1403 C.point = p, d && d.push(m = []), S=!0, w=!1, b = _ = 0 / 01404 }1405 function g() {1406 v && (p(y, M), x && w && A.rejoin(), v.push(A.buffer())), C.point = f, w && a.lineEnd()1407 }1408 function p(n, t) {1409 n = Math.max( - Uc, Math.min(Uc, n)), t = Math.max( - Uc, Math.min(Uc, t));1410 var e = s(n, t);1411 if (d && m.push([n, t]), S)1412 y = n, M = t, x = e, S=!1, e && (a.lineStart(), a.point(n, t));1413 else if (e && w)1414 a.point(n, t);1415 else {1416 var r = {1417 a: {1418 x: b,1419 y: _1420 },1421 b: {1422 x: n,1423 y: t1424 }1425 };1426 N(r) ? (w || (a.lineStart(), a.point(r.a.x, r.a.y)), a.point(r.b.x, r.b.y), e || a.lineEnd(), k=!1) : e && (a.lineStart(), a.point(n, t), k=!1)1427 }1428 b = n, _ = t, w = e1429 }1430 var v, d, m, y, M, x, b, _, w, S, k, E = a, A = Re(), N = Oe(n, t, e, r), C = {1431 point: f,1432 lineStart: h,1433 lineEnd: g,1434 polygonStart: function() {1435 a = A, v = [], d = [], k=!01436 },1437 polygonEnd: function() {1438 a = E, v = ta.merge(v);1439 var t = c([n, r]), e = k && t, u = v.length;1440 (e || u) && (a.polygonStart(), e && (a.lineStart(), l(null, null, 1, a), a.lineEnd()), u && Ce(v, i, t, l, a), a.polygonEnd()), v = d = m = null1441 }1442 };1443 return C1444 }1445 }1446 function Ie(n) {1447 var t = 0, e = Da / 3, r = ir(n), u = r(t, e);1448 return u.parallels = function(n) {1449 return arguments.length ? r(t = n[0] * Da / 180, e = n[1] * Da / 180) : [180 * (t / Da), 180 * (e / Da)]1450 }, u1451 }1452 function Ze(n, t) {1453 function e(n, t) {1454 var e = Math.sqrt(i - 2 * u * Math.sin(t)) / u;1455 return [e * Math.sin(n*=u), o - e * Math.cos(n)]1456 }1457 var r = Math.sin(n), u = (r + Math.sin(t)) / 2, i = 1 + r * (2 * u - r), o = Math.sqrt(i) / u;1458 return e.invert = function(n, t) {1459 var e = o - t;1460 return [Math.atan2(n, e) / u, nt((i - (n * n + e * e) * u * u) / (2 * u))]1461 }, e1462 }1463 function Ve() {1464 function n(n, t) {1465 Fc += u * n - r * t, r = n, u = t1466 }1467 var t, e, r, u;1468 Zc.point = function(i, o) {1469 Zc.point = n, t = r = i, e = u = o1470 }, Zc.lineEnd = function() {1471 n(t, e)1472 }1473 }1474 function Xe(n, t) {1475 Hc > n && (Hc = n), n > Yc && (Yc = n), Oc > t && (Oc = t), t > Ic && (Ic = t)1476 }1477 function $e() {1478 function n(n, t) {1479 o.push("M", n, ",", t, i)1480 }1481 function t(n, t) {1482 o.push("M", n, ",", t), a.point = e1483 }1484 function e(n, t) {1485 o.push("L", n, ",", t)1486 }1487 function r() {1488 a.point = n1489 }1490 function u() {1491 o.push("Z")1492 }1493 var i = Be(4.5), o = [], a = {1494 point: n,1495 lineStart: function() {1496 a.point = t1497 },1498 lineEnd: r,1499 polygonStart: function() {1500 a.lineEnd = u1501 },1502 polygonEnd: function() {1503 a.lineEnd = r, a.point = n1504 },1505 pointRadius: function(n) {1506 return i = Be(n), a1507 },1508 result: function() {1509 if (o.length) {1510 var n = o.join("");1511 return o = [], n1512 }1513 }1514 };1515 return a1516 }1517 function Be(n) {1518 return "m0," + n + "a" + n + "," + n + " 0 1,1 0," +- 2 * n + "a" + n + "," + n + " 0 1,1 0," + 2 * n + "z"1519 }1520 function We(n, t) {1521 Ec += n, Ac += t, ++Nc1522 }1523 function Je() {1524 function n(n, r) {1525 var u = n - t, i = r - e, o = Math.sqrt(u * u + i * i);1526 Cc += o * (t + n) / 2, zc += o * (e + r) / 2, qc += o, We(t = n, e = r)1527 }1528 var t, e;1529 Xc.point = function(r, u) {1530 Xc.point = n, We(t = r, e = u)1531 }1532 }1533 function Ge() {1534 Xc.point = We1535 }1536 function Ke() {1537 function n(n, t) {1538 var e = n - r, i = t - u, o = Math.sqrt(e * e + i * i);1539 Cc += o * (r + n) / 2, zc += o * (u + t) / 2, qc += o, o = u * n - r * t, Lc += o * (r + n), Tc += o * (u + t), Rc += 3 * o, We(r = n, u = t)1540 }1541 var t, e, r, u;1542 Xc.point = function(i, o) {1543 Xc.point = n, We(t = r = i, e = u = o)1544 }, Xc.lineEnd = function() {1545 n(t, e)1546 }1547 }1548 function Qe(n) {1549 function t(t, e) {1550 n.moveTo(t + o, e), n.arc(t, e, o, 0, Pa)1551 }1552 function e(t, e) {1553 n.moveTo(t, e), a.point = r1554 }1555 function r(t, e) {1556 n.lineTo(t, e)1557 }1558 function u() {1559 a.point = t1560 }1561 function i() {1562 n.closePath()1563 }1564 var o = 4.5, a = {1565 point: t,1566 lineStart: function() {1567 a.point = e1568 },1569 lineEnd: u,1570 polygonStart: function() {1571 a.lineEnd = i1572 },1573 polygonEnd: function() {1574 a.lineEnd = u, a.point = t1575 },1576 pointRadius: function(n) {1577 return o = n, a1578 },1579 result: y1580 };1581 return a1582 }1583 function nr(n) {1584 function t(n) {1585 return (a ? r : e)(n)1586 }1587 function e(t) {1588 return rr(t, function(e, r) {1589 e = n(e, r), t.point(e[0], e[1])1590 })1591 }1592 function r(t) {1593 function e(e, r) {1594 e = n(e, r), t.point(e[0], e[1])1595 }1596 function r() {1597 M = 0 / 0, S.point = i, t.lineStart()1598 }1599 function i(e, r) {1600 var i = pe([e, r]), o = n(e, r);1601 u(M, x, y, b, _, w, M = o[0], x = o[1], y = e, b = i[0], _ = i[1], w = i[2], a, t), t.point(M, x)1602 }1603 function o() {1604 S.point = e, t.lineEnd()1605 }1606 function c() {1607 r(), S.point = l, S.lineEnd = s1608 }1609 function l(n, t) {1610 i(f = n, h = t), g = M, p = x, v = b, d = _, m = w, S.point = i1611 }1612 function s() {1613 u(M, x, y, b, _, w, g, p, f, v, d, m, a, t), S.lineEnd = o, o()1614 }1615 var f, h, g, p, v, d, m, y, M, x, b, _, w, S = {1616 point: e,1617 lineStart: r,1618 lineEnd: o,1619 polygonStart: function() {1620 t.polygonStart(), S.lineStart = c1621 },1622 polygonEnd: function() {1623 t.polygonEnd(), S.lineStart = r1624 }1625 };1626 return S1627 }1628 function u(t, e, r, a, c, l, s, f, h, g, p, v, d, m) {1629 var y = s - t, M = f - e, x = y * y + M * M;1630 if (x > 4 * i && d--) {1631 var b = a + g, _ = c + p, w = l + v, S = Math.sqrt(b * b + _ * _ + w * w), k = Math.asin(w/=S), E = va(va(w) - 1) < Ta || va(r - h) < Ta ? (r + h) / 2: Math.atan2(_, b), A = n(E, k), N = A[0], C = A[1], z = N - t, q = C - e, L = M * z - y * q;1632 (L * L / x > i || va((y * z + M * q) / x - .5) > .3 || o > a * g + c * p + l * v) && (u(t, e, r, a, c, l, N, C, E, b/=S, _/=S, w, d, m), m.point(N, C), u(N, C, E, b, _, w, s, f, h, g, p, v, d, m))1633 }1634 }1635 var i = .5, o = Math.cos(30 * Fa), a = 16;1636 return t.precision = function(n) {1637 return arguments.length ? (a = (i = n * n) > 0 && 16, t) : Math.sqrt(i)1638 }, t1639 }1640 function tr(n) {1641 var t = nr(function(t, e) {1642 return n([t * Ha, e * Ha])1643 });1644 return function(n) {1645 return or(t(n))1646 }1647 }1648 function er(n) {1649 this.stream = n1650 }1651 function rr(n, t) {1652 return {1653 point: t,1654 sphere: function() {1655 n.sphere()1656 },1657 lineStart: function() {1658 n.lineStart()1659 },1660 lineEnd: function() {1661 n.lineEnd()1662 },1663 polygonStart: function() {1664 n.polygonStart()1665 },1666 polygonEnd: function() {1667 n.polygonEnd()1668 }1669 }1670 }1671 function ur(n) {1672 return ir(function() {1673 return n1674 })()1675 }1676 function ir(n) {1677 function t(n) {1678 return n = a(n[0] * Fa, n[1] * Fa), [n[0] * h + c, l - n[1] * h]1679 }1680 function e(n) {1681 return n = a.invert((n[0] - c) / h, (l - n[1]) / h), n && [n[0] * Ha, n[1] * Ha]1682 }1683 function r() {1684 a = Ae(o = lr(m, y, M), i);1685 var n = i(v, d);1686 return c = g - n[0] * h, l = p + n[1] * h, u()1687 }1688 function u() {1689 return s && (s.valid=!1, s = null), t1690 }1691 var i, o, a, c, l, s, f = nr(function(n, t) {1692 return n = i(n, t), [n[0] * h + c, l - n[1] * h]1693 }), h = 150, g = 480, p = 250, v = 0, d = 0, m = 0, y = 0, M = 0, x = Pc, b = Et, _ = null, w = null;1694 return t.stream = function(n) {1695 return s && (s.valid=!1), s = or(x(o, f(b(n)))), s.valid=!0, s1696 }, t.clipAngle = function(n) {1697 return arguments.length ? (x = null == n ? (_ = n, Pc) : He((_ =+ n) * Fa), u()) : _1698 }, t.clipExtent = function(n) {1699 return arguments.length ? (w = n, b = n ? Ye(n[0][0], n[0][1], n[1][0], n[1][1]) : Et, u()) : w1700 }, t.scale = function(n) {1701 return arguments.length ? (h =+ n, r()) : h1702 }, t.translate = function(n) {1703 return arguments.length ? (g =+ n[0], p =+ n[1], r()) : [g, p]1704 }, t.center = function(n) {1705 return arguments.length ? (v = n[0]%360 * Fa, d = n[1]%360 * Fa, r()) : [v * Ha, d * Ha]1706 }, t.rotate = function(n) {1707 return arguments.length ? (m = n[0]%360 * Fa, y = n[1]%360 * Fa, M = n.length > 2 ? n[2]%360 * Fa : 0, r()) : [m * Ha, y * Ha, M * Ha]1708 }, ta.rebind(t, f, "precision"), function() {1709 return i = n.apply(this, arguments), t.invert = i.invert && e, r()1710 }1711 }1712 function or(n) {1713 return rr(n, function(t, e) {1714 n.point(t * Fa, e * Fa)1715 })1716 }1717 function ar(n, t) {1718 return [n, t]1719 }1720 function cr(n, t) {1721 return [n > Da ? n - Pa: - Da > n ? n + Pa: n, t]1722 }1723 function lr(n, t, e) {1724 return n ? t || e ? Ae(fr(n), hr(t, e)) : fr(n) : t || e ? hr(t, e) : cr1725 }1726 function sr(n) {1727 return function(t, e) {1728 return t += n, [t > Da ? t - Pa: - Da > t ? t + Pa: t, e]1729 }1730 }1731 function fr(n) {1732 var t = sr(n);1733 return t.invert = sr( - n), t1734 }1735 function hr(n, t) {1736 function e(n, t) {1737 var e = Math.cos(t), a = Math.cos(n) * e, c = Math.sin(n) * e, l = Math.sin(t), s = l * r + a * u;1738 return [Math.atan2(c * i - s * o, a * r - l * u), nt(s * i + c * o)]1739 }1740 var r = Math.cos(n), u = Math.sin(n), i = Math.cos(t), o = Math.sin(t);1741 return e.invert = function(n, t) {1742 var e = Math.cos(t), a = Math.cos(n) * e, c = Math.sin(n) * e, l = Math.sin(t), s = l * i - c * o;1743 return [Math.atan2(c * i + l * o, a * r + s * u), nt(s * r - a * u)]1744 }, e1745 }1746 function gr(n, t) {1747 var e = Math.cos(n), r = Math.sin(n);1748 return function(u, i, o, a) {1749 var c = o * t;1750 null != u ? (u = pr(e, u), i = pr(e, i), (o > 0 ? i > u : u > i) && (u += o * Pa)) : (u = n + o * Pa, i = n - .5 * c);1751 for (var l, s = u; o > 0 ? s > i : i > s; s -= c)1752 a.point((l = xe([e, - r * Math.cos(s), - r * Math.sin(s)]))[0], l[1])1753 }1754 }1755 function pr(n, t) {1756 var e = pe(t);1757 e[0] -= n, Me(e);1758 var r = Q( - e[1]);1759 return (( - e[2] < 0?-r : r) + 2 * Math.PI - Ta)%(2 * Math.PI)1760 }1761 function vr(n, t, e) {1762 var r = ta.range(n, t - Ta, e).concat(t);1763 return function(n) {1764 return r.map(function(t) {1765 return [n, t]1766 })1767 }1768 }1769 function dr(n, t, e) {1770 var r = ta.range(n, t - Ta, e).concat(t);1771 return function(n) {1772 return r.map(function(t) {1773 return [t, n]1774 })1775 }1776 }1777 function mr(n) {1778 return n.source1779 }1780 function yr(n) {1781 return n.target1782 }1783 function Mr(n, t, e, r) {1784 var u = Math.cos(t), i = Math.sin(t), o = Math.cos(r), a = Math.sin(r), c = u * Math.cos(n), l = u * Math.sin(n), s = o * Math.cos(e), f = o * Math.sin(e), h = 2 * Math.asin(Math.sqrt(ut(r - t) + u * o * ut(e - n))), g = 1 / Math.sin(h), p = h ? function(n) {1785 var t = Math.sin(n*=h) * g, e = Math.sin(h - n) * g, r = e * c + t * s, u = e * l + t * f, o = e * i + t * a;1786 return [Math.atan2(u, r) * Ha, Math.atan2(o, Math.sqrt(r * r + u * u)) * Ha]1787 }1788 : function() {1789 return [n * Ha, t * Ha]1790 };1791 return p.distance = h, p1792 }1793 function xr() {1794 function n(n, u) {1795 var i = Math.sin(u*=Fa), o = Math.cos(u), a = va((n*=Fa) - t), c = Math.cos(a);1796 $c += Math.atan2(Math.sqrt((a = o * Math.sin(a)) * a + (a = r * i - e * o * c) * a), e * i + r * o * c), t = n, e = i, r = o1797 }1798 var t, e, r;1799 Bc.point = function(u, i) {1800 t = u * Fa, e = Math.sin(i*=Fa), r = Math.cos(i), Bc.point = n1801 }, Bc.lineEnd = function() {1802 Bc.point = Bc.lineEnd = y1803 }1804 }1805 function br(n, t) {1806 function e(t, e) {1807 var r = Math.cos(t), u = Math.cos(e), i = n(r * u);1808 return [i * u * Math.sin(t), i * Math.sin(e)]1809 }1810 return e.invert = function(n, e) {1811 var r = Math.sqrt(n * n + e * e), u = t(r), i = Math.sin(u), o = Math.cos(u);1812 return [Math.atan2(n * i, r * o), Math.asin(r && e * i / r)]1813 }, e1814 }1815 function _r(n, t) {1816 function e(n, t) {1817 o > 0?-ja + Ta > t && (t =- ja + Ta) : t > ja - Ta && (t = ja - Ta);1818 var e = o / Math.pow(u(t), i);1819 return [e * Math.sin(i * n), o - e * Math.cos(i * n)]1820 }1821 var r = Math.cos(n), u = function(n) {1822 return Math.tan(Da / 4 + n / 2)1823 }, i = n === t ? Math.sin(n): Math.log(r / Math.cos(t)) / Math.log(u(t) / u(n)), o = r * Math.pow(u(n), i) / i;1824 return i ? (e.invert = function(n, t) {1825 var e = o - t, r = G(i) * Math.sqrt(n * n + e * e);1826 return [Math.atan2(n, e) / i, 2 * Math.atan(Math.pow(o / r, 1 / i)) - ja]1827 }, e) : Sr1828 }1829 function wr(n, t) {1830 function e(n, t) {1831 var e = i - t;1832 return [e * Math.sin(u * n), i - e * Math.cos(u * n)]1833 }1834 var r = Math.cos(n), u = n === t ? Math.sin(n): (r - Math.cos(t)) / (t - n), i = r / u + n;1835 return va(u) < Ta ? ar : (e.invert = function(n, t) {1836 var e = i - t;1837 return [Math.atan2(n, e) / u, i - G(u) * Math.sqrt(n * n + e * e)]1838 }, e)1839 }1840 function Sr(n, t) {1841 return [n, Math.log(Math.tan(Da / 4 + t / 2))]1842 }1843 function kr(n) {1844 var t, e = ur(n), r = e.scale, u = e.translate, i = e.clipExtent;1845 return e.scale = function() {1846 var n = r.apply(e, arguments);1847 return n === e ? t ? e.clipExtent(null) : e : n1848 }, e.translate = function() {1849 var n = u.apply(e, arguments);1850 return n === e ? t ? e.clipExtent(null) : e : n1851 }, e.clipExtent = function(n) {1852 var o = i.apply(e, arguments);1853 if (o === e) {1854 if (t = null == n) {1855 var a = Da * r(), c = u();1856 i([[c[0] - a, c[1] - a], [c[0] + a, c[1] + a]])1857 }1858 } else 1859 t && (o = null);1860 return o1861 }, e.clipExtent(null)1862 }1863 function Er(n, t) {1864 return [Math.log(Math.tan(Da / 4 + t / 2)), - n]1865 }1866 function Ar(n) {1867 return n[0]1868 }1869 function Nr(n) {1870 return n[1]1871 }1872 function Cr(n) {1873 for (var t = n.length, e = [0, 1], r = 2, u = 2; t > u; u++) {1874 for (; r > 1 && K(n[e[r - 2]], n[e[r - 1]], n[u]) <= 0;)1875 --r;1876 e[r++] = u1877 }1878 return e.slice(0, r)1879 }1880 function zr(n, t) {1881 return n[0] - t[0] || n[1] - t[1]1882 }1883 function qr(n, t, e) {1884 return (e[0] - t[0]) * (n[1] - t[1]) < (e[1] - t[1]) * (n[0] - t[0])1885 }1886 function Lr(n, t, e, r) {1887 var u = n[0], i = e[0], o = t[0] - u, a = r[0] - i, c = n[1], l = e[1], s = t[1] - c, f = r[1] - l, h = (a * (c - l) - f * (u - i)) / (f * o - a * s);1888 return [u + h * o, c + h * s]1889 }1890 function Tr(n) {1891 var t = n[0], e = n[n.length - 1];1892 return !(t[0] - e[0] || t[1] - e[1])1893 }1894 function Rr() {1895 tu(this), this.edge = this.site = this.circle = null1896 }1897 function Dr(n) {1898 var t = ol.pop() || new Rr;1899 return t.site = n, t1900 }1901 function Pr(n) {1902 Xr(n), rl.remove(n), ol.push(n), tu(n)1903 }1904 function Ur(n) {1905 var t = n.circle, e = t.x, r = t.cy, u = {1906 x: e,1907 y: r1908 }, i = n.P, o = n.N, a = [n];1909 Pr(n);1910 for (var c = i; c.circle && va(e - c.circle.x) < Ta && va(r - c.circle.cy) < Ta;)1911 i = c.P, a.unshift(c), Pr(c), c = i;1912 a.unshift(c), Xr(c);1913 for (var l = o; l.circle && va(e - l.circle.x) < Ta && va(r - l.circle.cy) < Ta;)1914 o = l.N, a.push(l), Pr(l), l = o;1915 a.push(l), Xr(l);1916 var s, f = a.length;1917 for (s = 1; f > s; ++s)1918 l = a[s], c = a[s - 1], Kr(l.edge, c.site, l.site, u);1919 c = a[0], l = a[f - 1], l.edge = Jr(c.site, l.site, null, u), Vr(c), Vr(l)1920 }1921 function jr(n) {1922 for (var t, e, r, u, i = n.x, o = n.y, a = rl._; a;)1923 if (r = Fr(a, o) - i, r > Ta)1924 a = a.L;1925 else {1926 if (u = i - Hr(a, o), !(u > Ta)) {1927 r>-Ta ? (t = a.P, e = a) : u>-Ta ? (t = a, e = a.N) : t = e = a;1928 break1929 }1930 if (!a.R) {1931 t = a;1932 break1933 }1934 a = a.R1935 }1936 var c = Dr(n);1937 if (rl.insert(t, c), t || e) {1938 if (t === e)1939 return Xr(t), e = Dr(t.site), rl.insert(c, e), c.edge = e.edge = Jr(t.site, c.site), Vr(t), Vr(e), void 0;1940 if (!e)1941 return c.edge = Jr(t.site, c.site), void 0;1942 Xr(t), Xr(e);1943 var l = t.site, s = l.x, f = l.y, h = n.x - s, g = n.y - f, p = e.site, v = p.x - s, d = p.y - f, m = 2 * (h * d - g * v), y = h * h + g * g, M = v * v + d * d, x = {1944 x: (d * y - g * M) / m + s,1945 y: (h * M - v * y) / m + f1946 };1947 Kr(e.edge, l, p, x), c.edge = Jr(l, n, null, x), e.edge = Jr(n, p, null, x), Vr(t), Vr(e)1948 }1949 }1950 function Fr(n, t) {1951 var e = n.site, r = e.x, u = e.y, i = u - t;1952 if (!i)1953 return r;1954 var o = n.P;1955 if (!o)1956 return - 1 / 0;1957 e = o.site;1958 var a = e.x, c = e.y, l = c - t;1959 if (!l)1960 return a;1961 var s = a - r, f = 1 / i - 1 / l, h = s / l;1962 return f ? ( - h + Math.sqrt(h * h - 2 * f * (s * s / ( - 2 * l) - c + l / 2 + u - i / 2))) / f + r : (r + a) / 21963 }1964 function Hr(n, t) {1965 var e = n.N;1966 if (e)1967 return Fr(e, t);1968 var r = n.site;1969 return r.y === t ? r.x : 1 / 01970 }1971 function Or(n) {1972 this.site = n, this.edges = []1973 }1974 function Yr(n) {1975 for (var t, e, r, u, i, o, a, c, l, s, f = n[0][0], h = n[1][0], g = n[0][1], p = n[1][1], v = el, d = v.length; d--;)1976 if (i = v[d], i && i.prepare())1977 for (a = i.edges, c = a.length, o = 0; c > o;)1978 s = a[o].end(), r = s.x, u = s.y, l = a[++o%c].start(), t = l.x, e = l.y, (va(r - t) > Ta || va(u - e) > Ta) && (a.splice(o, 0, new Qr(Gr(i.site, s, va(r - f) < Ta && p - u > Ta ? {1979 x: f,1980 y: va(t - f) < Ta ? e: p1981 } : va(u - p) < Ta && h - r > Ta ? {1982 x: va(e - p) < Ta ? t: h,1983 y: p1984 } : va(r - h) < Ta && u - g > Ta ? {1985 x: h,1986 y: va(t - h) < Ta ? e: g1987 } : va(u - g) < Ta && r - f > Ta ? {1988 x: va(e - g) < Ta ? t: f,1989 y: g1990 } : null), i.site, null)), ++c)1991 }1992 function Ir(n, t) {1993 return t.angle - n.angle1994 }1995 function Zr() {1996 tu(this), this.x = this.y = this.arc = this.site = this.cy = null1997 }1998 function Vr(n) {1999 var t = n.P, e = n.N;2000 if (t && e) {2001 var r = t.site, u = n.site, i = e.site;2002 if (r !== i) {2003 var o = u.x, a = u.y, c = r.x - o, l = r.y - a, s = i.x - o, f = i.y - a, h = 2 * (c * f - l * s);2004 if (!(h>=-Ra)) {2005 var g = c * c + l * l, p = s * s + f * f, v = (f * g - l * p) / h, d = (c * p - s * g) / h, f = d + a, m = al.pop() || new Zr;2006 m.arc = n, m.site = u, m.x = v + o, m.y = f + Math.sqrt(v * v + d * d), m.cy = f, n.circle = m;2007 for (var y = null, M = il._; M;)2008 if (m.y < M.y || m.y === M.y && m.x <= M.x) {2009 if (!M.L) {2010 y = M.P;2011 break2012 }2013 M = M.L2014 } else {2015 if (!M.R) {2016 y = M;2017 break2018 }2019 M = M.R2020 }2021 il.insert(y, m), y || (ul = m)2022 }2023 }2024 }2025 }2026 function Xr(n) {2027 var t = n.circle;2028 t && (t.P || (ul = t.N), il.remove(t), al.push(t), tu(t), n.circle = null)2029 }2030 function $r(n) {2031 for (var t, e = tl, r = Oe(n[0][0], n[0][1], n[1][0], n[1][1]), u = e.length; u--;)2032 t = e[u], (!Br(t, n) ||!r(t) || va(t.a.x - t.b.x) < Ta && va(t.a.y - t.b.y) < Ta) && (t.a = t.b = null, e.splice(u, 1))2033 }2034 function Br(n, t) {2035 var e = n.b;2036 if (e)2037 return !0;2038 var r, u, i = n.a, o = t[0][0], a = t[1][0], c = t[0][1], l = t[1][1], s = n.l, f = n.r, h = s.x, g = s.y, p = f.x, v = f.y, d = (h + p) / 2, m = (g + v) / 2;2039 if (v === g) {2040 if (o > d || d >= a)2041 return;2042 if (h > p) {2043 if (i) {2044 if (i.y >= l)2045 return 2046 } else 2047 i = {2048 x: d,2049 y: c2050 };2051 e = {2052 x: d,2053 y: l2054 }2055 } else {2056 if (i) {2057 if (i.y < c)2058 return 2059 } else 2060 i = {2061 x: d,2062 y: l2063 };2064 e = {2065 x: d,2066 y: c2067 }2068 }2069 } else if (r = (h - p) / (v - g), u = m - r * d, - 1 > r || r > 1)2070 if (h > p) {2071 if (i) {2072 if (i.y >= l)2073 return 2074 } else 2075 i = {2076 x: (c - u) / r,2077 y: c2078 };2079 e = {2080 x: (l - u) / r,2081 y: l2082 }2083 } else {2084 if (i) {2085 if (i.y < c)2086 return 2087 } else 2088 i = {2089 x: (l - u) / r,2090 y: l2091 };2092 e = {2093 x: (c - u) / r,2094 y: c2095 }2096 } else if (v > g) {2097 if (i) {2098 if (i.x >= a)2099 return 2100 } else 2101 i = {2102 x: o,2103 y: r * o + u2104 };2105 e = {2106 x: a,2107 y: r * a + u2108 }2109 } else {2110 if (i) {2111 if (i.x < o)2112 return 2113 } else 2114 i = {2115 x: a,2116 y: r * a + u2117 };2118 e = {2119 x: o,2120 y: r * o + u2121 }2122 }2123 return n.a = i, n.b = e, !02124 }2125 function Wr(n, t) {2126 this.l = n, this.r = t, this.a = this.b = null2127 }2128 function Jr(n, t, e, r) {2129 var u = new Wr(n, t);2130 return tl.push(u), e && Kr(u, n, t, e), r && Kr(u, t, n, r), el[n.i].edges.push(new Qr(u, n, t)), el[t.i].edges.push(new Qr(u, t, n)), u2131 }2132 function Gr(n, t, e) {2133 var r = new Wr(n, null);2134 return r.a = t, r.b = e, tl.push(r), r2135 }2136 function Kr(n, t, e, r) {2137 n.a || n.b ? n.l === e ? n.b = r : n.a = r : (n.a = r, n.l = t, n.r = e)2138 }2139 function Qr(n, t, e) {2140 var r = n.a, u = n.b;2141 this.edge = n, this.site = t, this.angle = e ? Math.atan2(e.y - t.y, e.x - t.x) : n.l === t ? Math.atan2(u.x - r.x, r.y - u.y) : Math.atan2(r.x - u.x, u.y - r.y)2142 }2143 function nu() {2144 this._ = null2145 }2146 function tu(n) {2147 n.U = n.C = n.L = n.R = n.P = n.N = null2148 }2149 function eu(n, t) {2150 var e = t, r = t.R, u = e.U;2151 u ? u.L === e ? u.L = r : u.R = r : n._ = r, r.U = u, e.U = r, e.R = r.L, e.R && (e.R.U = e), r.L = e2152 }2153 function ru(n, t) {2154 var e = t, r = t.L, u = e.U;2155 u ? u.L === e ? u.L = r : u.R = r : n._ = r, r.U = u, e.U = r, e.L = r.R, e.L && (e.L.U = e), r.R = e2156 }2157 function uu(n) {2158 for (; n.L;)2159 n = n.L;2160 return n2161 }2162 function iu(n, t) {2163 var e, r, u, i = n.sort(ou).pop();2164 for (tl = [], el = new Array(n.length), rl = new nu, il = new nu; ;)2165 if (u = ul, i && (!u || i.y < u.y || i.y === u.y && i.x < u.x))(i.x !== e || i.y !== r) && (el[i.i] = new Or(i), jr(i), e = i.x, r = i.y), i = n.pop();2166 else {2167 if (!u)2168 break;2169 Ur(u.arc)2170 }2171 t && ($r(t), Yr(t));2172 var o = {2173 cells: el,2174 edges: tl2175 };2176 return rl = il = tl = el = null, o2177 }2178 function ou(n, t) {2179 return t.y - n.y || t.x - n.x2180 }2181 function au(n, t, e) {2182 return (n.x - e.x) * (t.y - n.y) - (n.x - t.x) * (e.y - n.y)2183 }2184 function cu(n) {2185 return n.x2186 }2187 function lu(n) {2188 return n.y2189 }2190 function su() {2191 return {2192 leaf: !0,2193 nodes: [],2194 point: null,2195 x: null,2196 y: null2197 }2198 }2199 function fu(n, t, e, r, u, i) {2200 if (!n(t, e, r, u, i)) {2201 var o = .5 * (e + u), a = .5 * (r + i), c = t.nodes;2202 c[0] && fu(n, c[0], e, r, o, a), c[1] && fu(n, c[1], o, r, u, a), c[2] && fu(n, c[2], e, a, o, i), c[3] && fu(n, c[3], o, a, u, i)2203 }2204 }2205 function hu(n, t, e, r, u, i, o) {2206 var a, c = 1 / 0;2207 return function l(n, s, f, h, g) {2208 if (!(s > i || f > o || r > h || u > g)) {2209 if (p = n.point) {2210 var p, v = t - p[0], d = e - p[1], m = v * v + d * d;2211 if (c > m) {2212 var y = Math.sqrt(c = m);2213 r = t - y, u = e - y, i = t + y, o = e + y, a = p2214 }2215 }2216 for (var M = n.nodes, x = .5 * (s + h), b = .5 * (f + g), _ = t >= x, w = e >= b, S = w<<1 | _, k = S + 4; k > S; ++S)2217 if (n = M[3 & S])2218 switch (3 & S) {2219 case 0:2220 l(n, s, f, x, b);2221 break;2222 case 1:2223 l(n, x, f, h, b);2224 break;2225 case 2:2226 l(n, s, b, x, g);2227 break;2228 case 3:2229 l(n, x, b, h, g)2230 }2231 }2232 }(n, r, u, i, o), a2233 }2234 function gu(n, t) {2235 n = ta.rgb(n), t = ta.rgb(t);2236 var e = n.r, r = n.g, u = n.b, i = t.r - e, o = t.g - r, a = t.b - u;2237 return function(n) {2238 return "#" + Mt(Math.round(e + i * n)) + Mt(Math.round(r + o * n)) + Mt(Math.round(u + a * n))2239 }2240 }2241 function pu(n, t) {2242 var e, r = {}, u = {};2243 for (e in n)2244 e in t ? r[e] = mu(n[e], t[e]) : u[e] = n[e];2245 for (e in t)2246 e in n || (u[e] = t[e]);2247 return function(n) {2248 for (e in r)2249 u[e] = r[e](n);2250 return u2251 }2252 }2253 function vu(n, t) {2254 return n =+ n, t =+ t, function(e) {2255 return n * (1 - e) + t * e2256 }2257 }2258 function du(n, t) {2259 var e, r, u, i = ll.lastIndex = sl.lastIndex = 0, o =- 1, a = [], c = [];2260 for (n += "", t += ""; (e = ll.exec(n)) && (r = sl.exec(t));)(u = r.index) 2261 > i && (u = t.slice(i, u), a[o] ? a[o] += u : a[++o] = u), (e = e[0]) === (r = r[0]) ? a[o] ? a[o] += r : a[++o] = r : (a[++o] = null, c.push({2262 i: o,2263 x: vu(e, r)2264 })), i = sl.lastIndex;2265 return i < t.length && (u = t.slice(i), a[o] ? a[o] += u : a[++o] = u), a.length < 2 ? c[0] ? (t = c[0].x, function(n) {2266 return t(n) + ""2267 }) : function() {2268 return t2269 } : (t = c.length, function(n) {2270 for (var e, r = 0; t > r; ++r)2271 a[(e = c[r]).i] = e.x(n);2272 return a.join("")2273 })2274 }2275 function mu(n, t) {2276 for (var e, r = ta.interpolators.length; --r >= 0&&!(e = ta.interpolators[r](n, t)););2277 return e2278 }2279 function yu(n, t) {2280 var e, r = [], u = [], i = n.length, o = t.length, a = Math.min(n.length, t.length);2281 for (e = 0; a > e; ++e)2282 r.push(mu(n[e], t[e]));2283 for (; i > e; ++e)2284 u[e] = n[e];2285 for (; o > e; ++e)2286 u[e] = t[e];2287 return function(n) {2288 for (e = 0; a > e; ++e)2289 u[e] = r[e](n);2290 return u2291 }2292 }2293 function Mu(n) {2294 return function(t) {2295 return 0 >= t ? 0 : t >= 1 ? 1 : n(t)2296 }2297 }2298 function xu(n) {2299 return function(t) {2300 return 1 - n(1 - t)2301 }2302 }2303 function bu(n) {2304 return function(t) {2305 return .5 * (.5 > t ? n(2 * t) : 2 - n(2 - 2 * t))2306 }2307 }2308 function _u(n) {2309 return n * n2310 }2311 function wu(n) {2312 return n * n * n2313 }2314 function Su(n) {2315 if (0 >= n)2316 return 0;2317 if (n >= 1)2318 return 1;2319 var t = n * n, e = t * n;2320 return 4 * (.5 > n ? e : 3 * (n - t) + e - .75)2321 }2322 function ku(n) {2323 return function(t) {2324 return Math.pow(t, n)2325 }2326 }2327 function Eu(n) {2328 return 1 - Math.cos(n * ja)2329 }2330 function Au(n) {2331 return Math.pow(2, 10 * (n - 1))2332 }2333 function Nu(n) {2334 return 1 - Math.sqrt(1 - n * n)2335 }2336 function Cu(n, t) {2337 var e;2338 return arguments.length < 2 && (t = .45), arguments.length ? e = t / Pa * Math.asin(1 / n) : (n = 1, e = t / 4), function(r) {2339 return 1 + n * Math.pow(2, - 10 * r) * Math.sin((r - e) * Pa / t)2340 }2341 }2342 function zu(n) {2343 return n || (n = 1.70158), function(t) {2344 return t * t * ((n + 1) * t - n)2345 }2346 }2347 function qu(n) {2348 return 1 / 2.75 > n ? 7.5625 * n * n : 2 / 2.75 > n ? 7.5625 * (n -= 1.5 / 2.75) * n + .75 : 2.5 / 2.75 > n ? 7.5625 * (n -= 2.25 / 2.75) * n + .9375 : 7.5625 * (n -= 2.625 / 2.75) * n + .9843752349 }2350 function Lu(n, t) {2351 n = ta.hcl(n), t = ta.hcl(t);2352 var e = n.h, r = n.c, u = n.l, i = t.h - e, o = t.c - r, a = t.l - u;2353 return isNaN(o) && (o = 0, r = isNaN(r) ? t.c : r), isNaN(i) ? (i = 0, e = isNaN(e) ? t.h : e) : i > 180 ? i -= 360 : - 180 > i && (i += 360), function(n) {2354 return lt(e + i * n, r + o * n, u + a * n) + ""2355 }2356 }2357 function Tu(n, t) {2358 n = ta.hsl(n), t = ta.hsl(t);2359 var e = n.h, r = n.s, u = n.l, i = t.h - e, o = t.s - r, a = t.l - u;2360 return isNaN(o) && (o = 0, r = isNaN(r) ? t.s : r), isNaN(i) ? (i = 0, e = isNaN(e) ? t.h : e) : i > 180 ? i -= 360 : - 180 > i && (i += 360), function(n) {2361 return at(e + i * n, r + o * n, u + a * n) + ""2362 }2363 }2364 function Ru(n, t) {2365 n = ta.lab(n), t = ta.lab(t);2366 var e = n.l, r = n.a, u = n.b, i = t.l - e, o = t.a - r, a = t.b - u;2367 return function(n) {2368 return ft(e + i * n, r + o * n, u + a * n) + ""2369 }2370 }2371 function Du(n, t) {2372 return t -= n, function(e) {2373 return Math.round(n + t * e)2374 }2375 }2376 function Pu(n) {2377 var t = [n.a, n.b], e = [n.c, n.d], r = ju(t), u = Uu(t, e), i = ju(Fu(e, t, - u)) || 0;2378 t[0] * e[1] < e[0] * t[1] && (t[0]*=-1, t[1]*=-1, r*=-1, u*=-1), this.rotate = (r ? Math.atan2(t[1], t[0]) : Math.atan2( - e[0], e[1])) * Ha, this.translate = [n.e, n.f], this.scale = [r, i], this.skew = i ? Math.atan2(u, i) * Ha : 02379 }2380 function Uu(n, t) {2381 return n[0] * t[0] + n[1] * t[1]2382 }2383 function ju(n) {2384 var t = Math.sqrt(Uu(n, n));2385 return t && (n[0]/=t, n[1]/=t), t2386 }2387 function Fu(n, t, e) {2388 return n[0] += e * t[0], n[1] += e * t[1], n2389 }2390 function Hu(n, t) {2391 var e, r = [], u = [], i = ta.transform(n), o = ta.transform(t), a = i.translate, c = o.translate, l = i.rotate, s = o.rotate, f = i.skew, h = o.skew, g = i.scale, p = o.scale;2392 return a[0] != c[0] || a[1] != c[1] ? (r.push("translate(", null, ",", null, ")"), u.push({2393 i: 1,2394 x: vu(a[0], c[0])2395 }, {2396 i: 3,2397 x: vu(a[1], c[1])2398 })) : c[0] || c[1] ? r.push("translate(" + c + ")") : r.push(""), l != s ? (l - s > 180 ? s += 360 : s - l > 180 && (l += 360), u.push({2399 i: r.push(r.pop() + "rotate(", null, ")") - 2,2400 x: vu(l, s)2401 })) : s && r.push(r.pop() + "rotate(" + s + ")"), f != h ? u.push({2402 i: r.push(r.pop() + "skewX(", null, ")") - 2,2403 x: vu(f, h)2404 }) : h && r.push(r.pop() + "skewX(" + h + ")"), g[0] != p[0] || g[1] != p[1] ? (e = r.push(r.pop() + "scale(", null, ",", null, ")"), u.push({2405 i: e - 4,2406 x: vu(g[0], p[0])2407 }, {2408 i: e - 2,2409 x: vu(g[1], p[1])2410 })) : (1 != p[0] || 1 != p[1]) && r.push(r.pop() + "scale(" + p + ")"), e = u.length, function(n) {2411 for (var t, i =- 1; ++i < e;)2412 r[(t = u[i]).i] = t.x(n);2413 return r.join("")2414 }2415 }2416 function Ou(n, t) {2417 return t = (t -= n =+ n) || 1 / t, function(e) {2418 return (e - n) / t2419 }2420 }2421 function Yu(n, t) {2422 return t = (t -= n =+ n) || 1 / t, function(e) {2423 return Math.max(0, Math.min(1, (e - n) / t))2424 }2425 }2426 function Iu(n) {2427 for (var t = n.source, e = n.target, r = Vu(t, e), u = [t]; t !== r;)2428 t = t.parent, u.push(t);2429 for (var i = u.length; e !== r;)2430 u.splice(i, 0, e), e = e.parent;2431 return u2432 }2433 function Zu(n) {2434 for (var t = [], e = n.parent; null != e;)2435 t.push(n), n = e, e = e.parent;2436 return t.push(n), t2437 }2438 function Vu(n, t) {2439 if (n === t)2440 return n;2441 for (var e = Zu(n), r = Zu(t), u = e.pop(), i = r.pop(), o = null; u === i;)2442 o = u, u = e.pop(), i = r.pop();2443 return o2444 }2445 function Xu(n) {2446 n.fixed|=22447 }2448 function $u(n) {2449 n.fixed&=-72450 }2451 function Bu(n) {2452 n.fixed|=4, n.px = n.x, n.py = n.y2453 }2454 function Wu(n) {2455 n.fixed&=-52456 }2457 function Ju(n, t, e) {2458 var r = 0, u = 0;2459 if (n.charge = 0, !n.leaf)2460 for (var i, o = n.nodes, a = o.length, c =- 1; ++c < a;)2461 i = o[c], null != i && (Ju(i, t, e), n.charge += i.charge, r += i.charge * i.cx, u += i.charge * i.cy);2462 if (n.point) {2463 n.leaf || (n.point.x += Math.random() - .5, n.point.y += Math.random() - .5);2464 var l = t * e[n.point.index];2465 n.charge += n.pointCharge = l, r += l * n.point.x, u += l * n.point.y2466 }2467 n.cx = r / n.charge, n.cy = u / n.charge2468 }2469 function Gu(n, t) {2470 return ta.rebind(n, t, "sort", "children", "value"), n.nodes = n, n.links = ri, n2471 }2472 function Ku(n, t) {2473 for (var e = [n]; null != (n = e.pop());)2474 if (t(n), (u = n.children) && (r = u.length))2475 for (var r, u; --r >= 0;)2476 e.push(u[r])2477 }2478 function Qu(n, t) {2479 for (var e = [n], r = []; null != (n = e.pop());)2480 if (r.push(n), (i = n.children) && (u = i.length))2481 for (var u, i, o =- 1; ++o < u;)2482 e.push(i[o]);2483 for (; null != (n = r.pop());)2484 t(n)2485 }2486 function ni(n) {2487 return n.children2488 }2489 function ti(n) {2490 return n.value2491 }2492 function ei(n, t) {2493 return t.value - n.value2494 }2495 function ri(n) {2496 return ta.merge(n.map(function(n) {2497 return (n.children || []).map(function(t) {2498 return {2499 source: n,2500 target: t2501 }2502 })2503 }))2504 }2505 function ui(n) {2506 return n.x2507 }2508 function ii(n) {2509 return n.y2510 }2511 function oi(n, t, e) {2512 n.y0 = t, n.y = e2513 }2514 function ai(n) {2515 return ta.range(n.length)2516 }2517 function ci(n) {2518 for (var t =- 1, e = n[0].length, r = []; ++t < e;)2519 r[t] = 0;2520 return r2521 }2522 function li(n) {2523 for (var t, e = 1, r = 0, u = n[0][1], i = n.length; i > e; ++e)(t = n[e][1]) 2524 > u && (r = e, u = t);2525 return r2526 }2527 function si(n) {2528 return n.reduce(fi, 0)2529 }2530 function fi(n, t) {2531 return n + t[1]2532 }2533 function hi(n, t) {2534 return gi(n, Math.ceil(Math.log(t.length) / Math.LN2 + 1))2535 }2536 function gi(n, t) {2537 for (var e =- 1, r =+ n[0], u = (n[1] - r) / t, i = []; ++e <= t;)2538 i[e] = u * e + r;2539 return i2540 }2541 function pi(n) {2542 return [ta.min(n), ta.max(n)]2543 }2544 function vi(n, t) {2545 return n.value - t.value2546 }2547 function di(n, t) {2548 var e = n._pack_next;2549 n._pack_next = t, t._pack_prev = n, t._pack_next = e, e._pack_prev = t2550 }2551 function mi(n, t) {2552 n._pack_next = t, t._pack_prev = n2553 }2554 function yi(n, t) {2555 var e = t.x - n.x, r = t.y - n.y, u = n.r + t.r;2556 return .999 * u * u > e * e + r * r2557 }2558 function Mi(n) {2559 function t(n) {2560 s = Math.min(n.x - n.r, s), f = Math.max(n.x + n.r, f), h = Math.min(n.y - n.r, h), g = Math.max(n.y + n.r, g)2561 }2562 if ((e = n.children) && (l = e.length)) {2563 var e, r, u, i, o, a, c, l, s = 1 / 0, f =- 1 / 0, h = 1 / 0, g =- 1 / 0;2564 if (e.forEach(xi), r = e[0], r.x =- r.r, r.y = 0, t(r), l > 1 && (u = e[1], u.x = u.r, u.y = 0, t(u), l > 2))2565 for (i = e[2], wi(r, u, i), t(i), di(r, i), r._pack_prev = i, di(i, u), u = r._pack_next, o = 3; l > o; o++) {2566 wi(r, u, i = e[o]);2567 var p = 0, v = 1, d = 1;2568 for (a = u._pack_next; a !== u; a = a._pack_next, v++)2569 if (yi(a, i)) {2570 p = 1;2571 break2572 }2573 if (1 == p)2574 for (c = r._pack_prev; c !== a._pack_prev&&!yi(c, i); c = c._pack_prev, d++);2575 p ? (d > v || v == d && u.r < r.r ? mi(r, u = a) : mi(r = c, u), o--) : (di(r, i), u = i, t(i))2576 }2577 var m = (s + f) / 2, y = (h + g) / 2, M = 0;2578 for (o = 0; l > o; o++)2579 i = e[o], i.x -= m, i.y -= y, M = Math.max(M, i.r + Math.sqrt(i.x * i.x + i.y * i.y));2580 n.r = M, e.forEach(bi)2581 }2582 }2583 function xi(n) {2584 n._pack_next = n._pack_prev = n2585 }2586 function bi(n) {2587 delete n._pack_next, delete n._pack_prev2588 }2589 function _i(n, t, e, r) {2590 var u = n.children;2591 if (n.x = t += r * n.x, n.y = e += r * n.y, n.r*=r, u)2592 for (var i =- 1, o = u.length; ++i < o;)2593 _i(u[i], t, e, r)2594 }2595 function wi(n, t, e) {2596 var r = n.r + e.r, u = t.x - n.x, i = t.y - n.y;2597 if (r && (u || i)) {2598 var o = t.r + e.r, a = u * u + i * i;2599 o*=o, r*=r;2600 var c = .5 + (r - o) / (2 * a), l = Math.sqrt(Math.max(0, 2 * o * (r + a) - (r -= a) * r - o * o)) / (2 * a);2601 e.x = n.x + c * u + l * i, e.y = n.y + c * i - l * u2602 } else 2603 e.x = n.x + r, e.y = n.y2604 }2605 function Si(n, t) {2606 return n.parent == t.parent ? 1 : 22607 }2608 function ki(n) {2609 var t = n.children;2610 return t.length ? t[0] : n.t2611 }2612 function Ei(n) {2613 var t, e = n.children;2614 return (t = e.length) ? e[t - 1] : n.t2615 }2616 function Ai(n, t, e) {2617 var r = e / (t.i - n.i);2618 t.c -= r, t.s += e, n.c += r, t.z += e, t.m += e2619 }2620 function Ni(n) {2621 for (var t, e = 0, r = 0, u = n.children, i = u.length; --i >= 0;)2622 t = u[i], t.z += e, t.m += e, e += t.s + (r += t.c)2623 }2624 function Ci(n, t, e) {2625 return n.a.parent === t.parent ? n.a : e2626 }2627 function zi(n) {2628 return 1 + ta.max(n, function(n) {2629 return n.y2630 })2631 }2632 function qi(n) {2633 return n.reduce(function(n, t) {2634 return n + t.x2635 }, 0) / n.length2636 }2637 function Li(n) {2638 var t = n.children;2639 return t && t.length ? Li(t[0]) : n2640 }2641 function Ti(n) {2642 var t, e = n.children;2643 return e && (t = e.length) ? Ti(e[t - 1]) : n2644 }2645 function Ri(n) {2646 return {2647 x: n.x,2648 y: n.y,2649 dx: n.dx,2650 dy: n.dy2651 }2652 }2653 function Di(n, t) {2654 var e = n.x + t[3], r = n.y + t[0], u = n.dx - t[1] - t[3], i = n.dy - t[0] - t[2];2655 return 0 > u && (e += u / 2, u = 0), 0 > i && (r += i / 2, i = 0), {2656 x: e,2657 y: r,2658 dx: u,2659 dy: i2660 }2661 }2662 function Pi(n) {2663 var t = n[0], e = n[n.length - 1];2664 return e > t ? [t, e] : [e, t]2665 }2666 function Ui(n) {2667 return n.rangeExtent ? n.rangeExtent() : Pi(n.range())2668 }2669 function ji(n, t, e, r) {2670 var u = e(n[0], n[1]), i = r(t[0], t[1]);2671 return function(n) {2672 return i(u(n))2673 }2674 }2675 function Fi(n, t) {2676 var e, r = 0, u = n.length - 1, i = n[r], o = n[u];2677 return i > o && (e = r, r = u, u = e, e = i, i = o, o = e), n[r] = t.floor(i), n[u] = t.ceil(o), n2678 }2679 function Hi(n) {2680 return n ? {2681 floor: function(t) {2682 return Math.floor(t / n) * n2683 },2684 ceil: function(t) {2685 return Math.ceil(t / n) * n2686 }2687 } : bl2688 }2689 function Oi(n, t, e, r) {2690 var u = [], i = [], o = 0, a = Math.min(n.length, t.length) - 1;2691 for (n[a] < n[0] && (n = n.slice()2692 .reverse(), t = t.slice().reverse());2693 ++o <= a;2694 )u.push(e(n[o - 1], n[o])), i.push(r(t[o - 1], t[o]));2695 return function(t) {2696 var e = ta.bisect(n, t, 1, a) - 1;2697 return i[e](u[e](t))2698 }2699 }2700 function Yi(n, t, e, r) {2701 function u() {2702 var u = Math.min(n.length, t.length) > 2 ? Oi: ji, c = r ? Yu: Ou;2703 return o = u(n, t, c, e), a = u(t, n, c, mu), i2704 }2705 function i(n) {2706 return o(n)2707 }2708 var o, a;2709 return i.invert = function(n) {2710 return a(n)2711 }, i.domain = function(t) {2712 return arguments.length ? (n = t.map(Number), u()) : n2713 }, i.range = function(n) {2714 return arguments.length ? (t = n, u()) : t2715 }, i.rangeRound = function(n) {2716 return i.range(n).interpolate(Du)2717 }, i.clamp = function(n) {2718 return arguments.length ? (r = n, u()) : r2719 }, i.interpolate = function(n) {2720 return arguments.length ? (e = n, u()) : e2721 }, i.ticks = function(t) {2722 return Xi(n, t)2723 }, i.tickFormat = function(t, e) {2724 return $i(n, t, e)2725 }, i.nice = function(t) {2726 return Zi(n, t), u()2727 }, i.copy = function() {2728 return Yi(n, t, e, r)2729 }, u()2730 }2731 function Ii(n, t) {2732 return ta.rebind(n, t, "range", "rangeRound", "interpolate", "clamp")2733 }2734 function Zi(n, t) {2735 return Fi(n, Hi(Vi(n, t)[2]))2736 }2737 function Vi(n, t) {2738 null == t && (t = 10);2739 var e = Pi(n), r = e[1] - e[0], u = Math.pow(10, Math.floor(Math.log(r / t) / Math.LN10)), i = t / r * u;2740 return .15 >= i ? u*=10 : .35 >= i ? u*=5 : .75 >= i && (u*=2), e[0] = Math.ceil(e[0] / u) * u, e[1] = Math.floor(e[1] / u) * u + .5 * u, e[2] = u, e2741 }2742 function Xi(n, t) {2743 return ta.range.apply(ta, Vi(n, t))2744 }2745 function $i(n, t, e) {2746 var r = Vi(n, t);2747 if (e) {2748 var u = lc.exec(e);2749 if (u.shift(), "s" === u[8]) {2750 var i = ta.formatPrefix(Math.max(va(r[0]), va(r[1])));2751 return u[7] || (u[7] = "." + Bi(i.scale(r[2]))), u[8] = "f", e = ta.format(u.join("")), function(n) {2752 return e(i.scale(n)) + i.symbol2753 }2754 }2755 u[7] || (u[7] = "." + Wi(u[8], r)), e = u.join("")2756 } else 2757 e = ",." + Bi(r[2]) + "f";2758 return ta.format(e)2759 }2760 function Bi(n) {2761 return - Math.floor(Math.log(n) / Math.LN10 + .01)2762 }2763 function Wi(n, t) {2764 var e = Bi(t[2]);2765 return n in _l ? Math.abs(e - Bi(Math.max(va(t[0]), va(t[1])))) + + ("e" !== n) : e - 2 * ("%" === n)2766 }2767 function Ji(n, t, e, r) {2768 function u(n) {2769 return (e ? Math.log(0 > n ? 0 : n) : - Math.log(n > 0 ? 0 : - n)) / Math.log(t)2770 }2771 function i(n) {2772 return e ? Math.pow(t, n) : - Math.pow(t, - n)2773 }2774 function o(t) {2775 return n(u(t))2776 }2777 return o.invert = function(t) {2778 return i(n.invert(t))2779 }, o.domain = function(t) {2780 return arguments.length ? (e = t[0] >= 0, n.domain((r = t.map(Number)).map(u)), o) : r2781 }, o.base = function(e) {2782 return arguments.length ? (t =+ e, n.domain(r.map(u)), o) : t2783 }, o.nice = function() {2784 var t = Fi(r.map(u), e ? Math : Sl);2785 return n.domain(t), r = t.map(i), o2786 }, o.ticks = function() {2787 var n = Pi(r), o = [], a = n[0], c = n[1], l = Math.floor(u(a)), s = Math.ceil(u(c)), f = t%1 ? 2: t;2788 if (isFinite(s - l)) {2789 if (e) {2790 for (; s > l; l++)2791 for (var h = 1; f > h; h++)2792 o.push(i(l) * h);2793 o.push(i(l))2794 } else 2795 for (o.push(i(l)); l++<s;)2796 for (var h = f - 1; h > 0; h--)2797 o.push(i(l) * h);2798 for (l = 0; o[l] < a; l++);2799 for (s = o.length; o[s - 1] > c; s--);2800 o = o.slice(l, s)2801 }2802 return o2803 }, o.tickFormat = function(n, t) {2804 if (!arguments.length)2805 return wl;2806 arguments.length < 2 ? t = wl : "function" != typeof t && (t = ta.format(t));2807 var r, a = Math.max(.1, n / o.ticks().length), c = e ? (r = 1e-12, Math.ceil): (r =- 1e-12, Math.floor);2808 return function(n) {2809 return n / i(c(u(n) + r)) <= a ? t(n) : ""2810 }2811 }, o.copy = function() {2812 return Ji(n.copy(), t, e, r)2813 }, Ii(o, n)2814 }2815 function Gi(n, t, e) {2816 function r(t) {2817 return n(u(t))2818 }2819 var u = Ki(t), i = Ki(1 / t);2820 return r.invert = function(t) {2821 return i(n.invert(t))2822 }, r.domain = function(t) {2823 return arguments.length ? (n.domain((e = t.map(Number)).map(u)), r) : e2824 }, r.ticks = function(n) {2825 return Xi(e, n)2826 }, r.tickFormat = function(n, t) {2827 return $i(e, n, t)2828 }, r.nice = function(n) {2829 return r.domain(Zi(e, n))2830 }, r.exponent = function(o) {2831 return arguments.length ? (u = Ki(t = o), i = Ki(1 / t), n.domain(e.map(u)), r) : t2832 }, r.copy = function() {2833 return Gi(n.copy(), t, e)2834 }, Ii(r, n)2835 }2836 function Ki(n) {2837 return function(t) {2838 return 0 > t?-Math.pow( - t, n) : Math.pow(t, n)2839 }2840 }2841 function Qi(n, t) {2842 function e(e) {2843 return i[((u.get(e) || ("range" === t.t ? u.set(e, n.push(e)) : 0 / 0)) - 1)%i.length]2844 }2845 function r(t, e) {2846 return ta.range(n.length).map(function(n) {2847 return t + e * n2848 })2849 }2850 var u, i, o;2851 return e.domain = function(r) {2852 if (!arguments.length)2853 return n;2854 n = [], u = new a;2855 for (var i, o =- 1, c = r.length; ++o < c;)2856 u.has(i = r[o]) || u.set(i, n.push(i));2857 return e[t.t].apply(e, t.a)2858 }, e.range = function(n) {2859 return arguments.length ? (i = n, o = 0, t = {2860 t: "range",2861 a: arguments2862 }, e) : i2863 }, e.rangePoints = function(u, a) {2864 arguments.length < 2 && (a = 0);2865 var c = u[0], l = u[1], s = n.length < 2 ? (c = (c + l) / 2, 0): (l - c) / (n.length - 1 + a);2866 return i = r(c + s * a / 2, s), o = 0, t = {2867 t: "rangePoints",2868 a: arguments2869 }, e2870 }, e.rangeRoundPoints = function(u, a) {2871 arguments.length < 2 && (a = 0);2872 var c = u[0], l = u[1], s = n.length < 2 ? (c = l = Math.round((c + l) / 2), 0): 0 | (l - c) / (n.length - 1 + a);2873 return i = r(c + Math.round(s * a / 2 + (l - c - (n.length - 1 + a) * s) / 2), s), o = 0, t = {2874 t: "rangeRoundPoints",2875 a: arguments2876 }, e2877 }, e.rangeBands = function(u, a, c) {2878 arguments.length < 2 && (a = 0), arguments.length < 3 && (c = a);2879 var l = u[1] < u[0], s = u[l - 0], f = u[1 - l], h = (f - s) / (n.length - a + 2 * c);2880 return i = r(s + h * c, h), l && i.reverse(), o = h * (1 - a), t = {2881 t: "rangeBands",2882 a: arguments2883 }, e2884 }, e.rangeRoundBands = function(u, a, c) {2885 arguments.length < 2 && (a = 0), arguments.length < 3 && (c = a);2886 var l = u[1] < u[0], s = u[l - 0], f = u[1 - l], h = Math.floor((f - s) / (n.length - a + 2 * c));2887 return i = r(s + Math.round((f - s - (n.length - a) * h) / 2), h), l && i.reverse(), o = Math.round(h * (1 - a)), t = {2888 t: "rangeRoundBands",2889 a: arguments2890 }, e2891 }, e.rangeBand = function() {2892 return o2893 }, e.rangeExtent = function() {2894 return Pi(t.a[0])2895 }, e.copy = function() {2896 return Qi(n, t)2897 }, e.domain(n)2898 }2899 function no(r, u) {2900 function i() {2901 var n = 0, t = u.length;2902 for (a = []; ++n < t;)2903 a[n - 1] = ta.quantile(r, n / t);2904 return o2905 }2906 function o(n) {2907 return isNaN(n =+ n) ? void 0 : u[ta.bisect(a, n)]2908 }2909 var a;2910 return o.domain = function(u) {2911 return arguments.length ? (r = u.map(t).filter(e).sort(n), i()) : r2912 }, o.range = function(n) {2913 return arguments.length ? (u = n, i()) : u2914 }, o.quantiles = function() {2915 return a2916 }, o.invertExtent = function(n) {2917 return n = u.indexOf(n), 0 > n ? [0 / 0, 0 / 0] : [n > 0 ? a[n - 1]: r[0], n < a.length ? a[n]: r[r.length - 1]]2918 }, o.copy = function() {2919 return no(r, u)2920 }, i()2921 }2922 function to(n, t, e) {2923 function r(t) {2924 return e[Math.max(0, Math.min(o, Math.floor(i * (t - n))))]2925 }2926 function u() {2927 return i = e.length / (t - n), o = e.length - 1, r2928 }2929 var i, o;2930 return r.domain = function(e) {2931 return arguments.length ? (n =+ e[0], t =+ e[e.length - 1], u()) : [n, t]2932 }, r.range = function(n) {2933 return arguments.length ? (e = n, u()) : e2934 }, r.invertExtent = function(t) {2935 return t = e.indexOf(t), t = 0 > t ? 0 / 0 : t / i + n, [t, t + 1 / i]2936 }, r.copy = function() {2937 return to(n, t, e)2938 }, u()2939 }2940 function eo(n, t) {2941 function e(e) {2942 return e >= e ? t[ta.bisect(n, e)] : void 02943 }2944 return e.domain = function(t) {2945 return arguments.length ? (n = t, e) : n2946 }, e.range = function(n) {2947 return arguments.length ? (t = n, e) : t2948 }, e.invertExtent = function(e) {2949 return e = t.indexOf(e), [n[e - 1], n[e]]2950 }, e.copy = function() {2951 return eo(n, t)2952 }, e2953 }2954 function ro(n) {2955 function t(n) {2956 return + n2957 }2958 return t.invert = t, t.domain = t.range = function(e) {2959 return arguments.length ? (n = e.map(t), t) : n2960 }, t.ticks = function(t) {2961 return Xi(n, t)2962 }, t.tickFormat = function(t, e) {2963 return $i(n, t, e)2964 }, t.copy = function() {2965 return ro(n)2966 }, t2967 }2968 function uo() {2969 return 02970 }2971 function io(n) {2972 return n.innerRadius2973 }2974 function oo(n) {2975 return n.outerRadius2976 }2977 function ao(n) {2978 return n.startAngle2979 }2980 function co(n) {2981 return n.endAngle2982 }2983 function lo(n) {2984 return n && n.padAngle2985 }2986 function so(n, t, e, r) {2987 return (n - e) * t - (t - r) * n > 0 ? 0 : 12988 }2989 function fo(n, t, e, r, u) {2990 var i = n[0] - t[0], o = n[1] - t[1], a = (u ? r : - r) / Math.sqrt(i * i + o * o), c = a * o, l =- a * i, s = n[0] + c, f = n[1] + l, h = t[0] + c, g = t[1] + l, p = (s + h) / 2, v = (f + g) / 2, d = h - s, m = g - f, y = d * d + m * m, M = e - r, x = s * g - h * f, b = (0 > m?-1 : 1) * Math.sqrt(M * M * y - x * x), _ = (x * m - d * b) / y, w = ( - x * d - m * b) / y, S = (x * m + d * b) / y, k = ( - x * d + m * b) / y, E = _ - p, A = w - v, N = S - p, C = k - v;2991 return E * E + A * A > N * N + C * C && (_ = S, w = k), [[_ - c, w - l], [_ * e / M, w * e / M]]2992 }2993 function ho(n) {2994 function t(t) {2995 function o() {2996 l.push("M", i(n(s), a))2997 }2998 for (var c, l = [], s = [], f =- 1, h = t.length, g = kt(e), p = kt(r); ++f < h;)2999 u.call(this, c = t[f], f) ? s.push([ + g.call(this, c, f), + p.call(this, c, f)]) : s.length && (o(), s = []);3000 return s.length && o(), l.length ? l.join("") : null3001 }3002 var e = Ar, r = Nr, u = Ne, i = go, o = i.key, a = .7;3003 return t.x = function(n) {3004 return arguments.length ? (e = n, t) : e3005 }, t.y = function(n) {3006 return arguments.length ? (r = n, t) : r3007 }, t.defined = function(n) {3008 return arguments.length ? (u = n, t) : u3009 }, t.interpolate = function(n) {3010 return arguments.length ? (o = "function" == typeof n ? i = n : (i = zl.get(n) || go).key, t) : o3011 }, t.tension = function(n) {3012 return arguments.length ? (a = n, t) : a3013 }, t3014 }3015 function go(n) {3016 return n.join("L")3017 }3018 function po(n) {3019 return go(n) + "Z"3020 }3021 function vo(n) {3022 for (var t = 0, e = n.length, r = n[0], u = [r[0], ",", r[1]]; ++t < e;)3023 u.push("H", (r[0] + (r = n[t])[0]) / 2, "V", r[1]);3024 return e > 1 && u.push("H", r[0]), u.join("")3025 }3026 function mo(n) {3027 for (var t = 0, e = n.length, r = n[0], u = [r[0], ",", r[1]]; ++t < e;)3028 u.push("V", (r = n[t])[1], "H", r[0]);3029 return u.join("")3030 }3031 function yo(n) {3032 for (var t = 0, e = n.length, r = n[0], u = [r[0], ",", r[1]]; ++t < e;)3033 u.push("H", (r = n[t])[0], "V", r[1]);3034 return u.join("")3035 }3036 function Mo(n, t) {3037 return n.length < 4 ? go(n) : n[1] + _o(n.slice(1, - 1), wo(n, t))3038 }3039 function xo(n, t) {3040 return n.length < 3 ? go(n) : n[0] + _o((n.push(n[0]), n), wo([n[n.length - 2]].concat(n, [n[1]]), t))3041 }3042 function bo(n, t) {3043 return n.length < 3 ? go(n) : n[0] + _o(n, wo(n, t))3044 }3045 function _o(n, t) {3046 if (t.length < 1 || n.length != t.length && n.length != t.length + 2)3047 return go(n);3048 var e = n.length != t.length, r = "", u = n[0], i = n[1], o = t[0], a = o, c = 1;3049 if (e && (r += "Q" + (i[0] - 2 * o[0] / 3) + "," + (i[1] - 2 * o[1] / 3) + "," + i[0] + "," + i[1], u = n[1], c = 2), t.length > 1) {3050 a = t[1], i = n[c], c++, r += "C" + (u[0] + o[0]) + "," + (u[1] + o[1]) + "," + (i[0] - a[0]) + "," + (i[1] - a[1]) + "," + i[0] + "," + i[1];3051 for (var l = 2; l < t.length; l++, c++)3052 i = n[c], a = t[l], r += "S" + (i[0] - a[0]) + "," + (i[1] - a[1]) + "," + i[0] + "," + i[1]3053 }3054 if (e) {3055 var s = n[c];3056 r += "Q" + (i[0] + 2 * a[0] / 3) + "," + (i[1] + 2 * a[1] / 3) + "," + s[0] + "," + s[1]3057 }3058 return r3059 }3060 function wo(n, t) {3061 for (var e, r = [], u = (1 - t) / 2, i = n[0], o = n[1], a = 1, c = n.length; ++a < c;)3062 e = i, i = o, o = n[a], r.push([u * (o[0] - e[0]), u * (o[1] - e[1])]);3063 return r3064 }3065 function So(n) {3066 if (n.length < 3)3067 return go(n);3068 var t = 1, e = n.length, r = n[0], u = r[0], i = r[1], o = [u, u, u, (r = n[1])[0]], a = [i, i, i, r[1]], c = [u, ",", i, "L", No(Tl, o), ",", No(Tl, a)];3069 for (n.push(n[e - 1]); ++t <= e;)3070 r = n[t], o.shift(), o.push(r[0]), a.shift(), a.push(r[1]), Co(c, o, a);3071 return n.pop(), c.push("L", r), c.join("")3072 }3073 function ko(n) {3074 if (n.length < 4)3075 return go(n);3076 for (var t, e = [], r =- 1, u = n.length, i = [0], o = [0]; ++r < 3;)3077 t = n[r], i.push(t[0]), o.push(t[1]);3078 for (e.push(No(Tl, i) + "," + No(Tl, o)), --r; ++r < u;)3079 t = n[r], i.shift(), i.push(t[0]), o.shift(), o.push(t[1]), Co(e, i, o);3080 return e.join("")3081 }3082 function Eo(n) {3083 for (var t, e, r =- 1, u = n.length, i = u + 4, o = [], a = []; ++r < 4;)3084 e = n[r%u], o.push(e[0]), a.push(e[1]);3085 for (t = [No(Tl, o), ",", No(Tl, a)], --r; ++r < i;)3086 e = n[r%u], o.shift(), o.push(e[0]), a.shift(), a.push(e[1]), Co(t, o, a);3087 return t.join("")3088 }3089 function Ao(n, t) {3090 var e = n.length - 1;3091 if (e)3092 for (var r, u, i = n[0][0], o = n[0][1], a = n[e][0] - i, c = n[e][1] - o, l =- 1; ++l <= e;)3093 r = n[l], u = l / e, r[0] = t * r[0] + (1 - t) * (i + u * a), r[1] = t * r[1] + (1 - t) * (o + u * c);3094 return So(n)3095 }3096 function No(n, t) {3097 return n[0] * t[0] + n[1] * t[1] + n[2] * t[2] + n[3] * t[3]3098 }3099 function Co(n, t, e) {3100 n.push("C", No(ql, t), ",", No(ql, e), ",", No(Ll, t), ",", No(Ll, e), ",", No(Tl, t), ",", No(Tl, e))3101 }3102 function zo(n, t) {3103 return (t[1] - n[1]) / (t[0] - n[0])3104 }3105 function qo(n) {3106 for (var t = 0, e = n.length - 1, r = [], u = n[0], i = n[1], o = r[0] = zo(u, i); ++t < e;)3107 r[t] = (o + (o = zo(u = i, i = n[t + 1]))) / 2;3108 return r[t] = o, r3109 }3110 function Lo(n) {3111 for (var t, e, r, u, i = [], o = qo(n), a =- 1, c = n.length - 1; ++a < c;)3112 t = zo(n[a], n[a + 1]), va(t) < Ta ? o[a] = o[a + 1] = 0 : (e = o[a] / t, r = o[a + 1] / t, u = e * e + r * r, u > 9 && (u = 3 * t / Math.sqrt(u), o[a] = u * e, o[a + 1] = u * r));3113 for (a =- 1; ++a <= c;)3114 u = (n[Math.min(c, a + 1)][0] - n[Math.max(0, a - 1)][0]) / (6 * (1 + o[a] * o[a])), i.push([u || 0, o[a] * u || 0]);3115 return i3116 }3117 function To(n) {3118 return n.length < 3 ? go(n) : n[0] + _o(n, Lo(n))3119 }3120 function Ro(n) {3121 for (var t, e, r, u =- 1, i = n.length; ++u < i;)3122 t = n[u], e = t[0], r = t[1] - ja, t[0] = e * Math.cos(r), t[1] = e * Math.sin(r);3123 return n3124 }3125 function Do(n) {3126 function t(t) {3127 function c() {3128 v.push("M", a(n(m), f), s, l(n(d.reverse()), f), "Z")3129 }3130 for (var h, g, p, v = [], d = [], m = [], y =- 1, M = t.length, x = kt(e), b = kt(u), _ = e === r ? function() {3131 return g3132 } : kt(r), w = u === i ? function() {3133 return p3134 } : kt(i); ++y < M;)3135 o.call(this, h = t[y], y) ? (d.push([g =+ x.call(this, h, y), p =+ b.call(this, h, y)]), m.push([ + _.call(this, h, y), + w.call(this, h, y)])) : d.length && (c(), d = [], m = []);3136 return d.length && c(), v.length ? v.join("") : null3137 }3138 var e = Ar, r = Ar, u = 0, i = Nr, o = Ne, a = go, c = a.key, l = a, s = "L", f = .7;3139 return t.x = function(n) {3140 return arguments.length ? (e = r = n, t) : r3141 }, t.x0 = function(n) {3142 return arguments.length ? (e = n, t) : e3143 }, t.x1 = function(n) {3144 return arguments.length ? (r = n, t) : r3145 }, t.y = function(n) {3146 return arguments.length ? (u = i = n, t) : i3147 }, t.y0 = function(n) {3148 return arguments.length ? (u = n, t) : u3149 }, t.y1 = function(n) {3150 return arguments.length ? (i = n, t) : i3151 }, t.defined = function(n) {3152 return arguments.length ? (o = n, t) : o3153 }, t.interpolate = function(n) {3154 return arguments.length ? (c = "function" == typeof n ? a = n : (a = zl.get(n) || go).key, l = a.reverse || a, s = a.closed ? "M" : "L", t) : c3155 }, t.tension = function(n) {3156 return arguments.length ? (f = n, t) : f3157 }, t3158 }3159 function Po(n) {3160 return n.radius3161 }3162 function Uo(n) {3163 return [n.x, n.y]3164 }3165 function jo(n) {3166 return function() {3167 var t = n.apply(this, arguments), e = t[0], r = t[1] - ja;3168 return [e * Math.cos(r), e * Math.sin(r)]3169 }3170 }3171 function Fo() {3172 return 643173 }3174 function Ho() {3175 return "circle"3176 }3177 function Oo(n) {3178 var t = Math.sqrt(n / Da);3179 return "M0," + t + "A" + t + "," + t + " 0 1,1 0," +- t + "A" + t + "," + t + " 0 1,1 0," + t + "Z"3180 }3181 function Yo(n) {3182 return function() {3183 var t, e;3184 (t = this[n]) && (e = t[t.active]) && (--t.count ? delete t[t.active] : delete this[n], t.active += .5, e.event && e.event.interrupt.call(this, this.__data__, e.index))3185 }3186 }3187 function Io(n, t, e) {3188 return xa(n, Hl), n.namespace = t, n.id = e, n3189 }3190 function Zo(n, t, e, r) {3191 var u = n.id, i = n.namespace;3192 return H(n, "function" == typeof e ? function(n, o, a) {3193 n[i][u].tween.set(t, r(e.call(n, n.__data__, o, a)))3194 } : (e = r(e), function(n) {3195 n[i][u].tween.set(t, e)3196 }))3197 }3198 function Vo(n) {3199 return null == n && (n = ""), function() {3200 this.textContent = n3201 }3202 }3203 function Xo(n) {3204 return null == n ? "__transition__" : "__transition_" + n + "__"3205 }3206 function $o(n, t, e, r, u) {3207 var i = n[e] || (n[e] = {3208 active: 0,3209 count: 03210 }), o = i[r];3211 if (!o) {3212 var c = u.time;3213 o = i[r] = {3214 tween: new a,3215 time: c,3216 delay: u.delay,3217 duration: u.duration,3218 ease: u.ease,3219 index: t3220 }, u = null, ++i.count, ta.timer(function(u) {3221 function a(e) {3222 if (i.active > r)3223 return s();3224 var u = i[i.active];3225 u && (--i.count, delete i[i.active], u.event && u.event.interrupt.call(n, n.__data__, u.index)), i.active = r, o.event && o.event.start.call(n, n.__data__, t), o.tween.forEach(function(e, r) {3226 (r = r.call(n, n.__data__, t)) && v.push(r)3227 }), h = o.ease, f = o.duration, ta.timer(function() {3228 return p.c = l(e || 1) ? Ne : l, 13229 }, 0, c)3230 }3231 function l(e) {3232 if (i.active !== r)3233 return 1;3234 for (var u = e / f, a = h(u), c = v.length; c > 0;)3235 v[--c].call(n, a);3236 return u >= 1 ? (o.event && o.event.end.call(n, n.__data__, t), s()) : void 03237 }3238 function s() {3239 return --i.count ? delete i[r] : delete n[e], 13240 }3241 var f, h, g = o.delay, p = oc, v = [];3242 return p.t = g + c, u >= g ? a(u - g) : (p.c = a, void 0)3243 }, 0, c)3244 }3245 }3246 function Bo(n, t, e) {3247 n.attr("transform", function(n) {3248 var r = t(n);3249 return "translate(" + (isFinite(r) ? r : e(n)) + ",0)"3250 })3251 }3252 function Wo(n, t, e) {3253 n.attr("transform", function(n) {3254 var r = t(n);3255 return "translate(0," + (isFinite(r) ? r : e(n)) + ")"3256 })3257 }3258 function Jo(n) {3259 return n.toISOString()3260 }3261 function Go(n, t, e) {3262 function r(t) {3263 return n(t)3264 }3265 function u(n, e) {3266 var r = n[1] - n[0], u = r / e, i = ta.bisect(Wl, u);3267 return i == Wl.length ? [t.year, Vi(n.map(function(n) {3268 return n / 31536e63269 }), e)[2]] : i ? t[u / Wl[i - 1] < Wl[i] / u ? i - 1: i] : [Kl, Vi(n, e)[2]]3270 }3271 return r.invert = function(t) {3272 return Ko(n.invert(t))3273 }, r.domain = function(t) {3274 return arguments.length ? (n.domain(t), r) : n.domain().map(Ko)3275 }, r.nice = function(n, t) {3276 function e(e) {3277 return !isNaN(e)&&!n.range(e, Ko( + e + 1), t).length3278 }3279 var i = r.domain(), o = Pi(i), a = null == n ? u(o, 10): "number" == typeof n && u(o, n);3280 return a && (n = a[0], t = a[1]), r.domain(Fi(i, t > 1 ? {3281 floor: function(t) {3282 for (; e(t = n.floor(t));)3283 t = Ko(t - 1);3284 return t3285 },3286 ceil: function(t) {3287 for (; e(t = n.ceil(t));)3288 t = Ko( + t + 1);3289 return t3290 }3291 } : n))3292 }, r.ticks = function(n, t) {3293 var e = Pi(r.domain()), i = null == n ? u(e, 10): "number" == typeof n ? u(e, n): !n.range && [{3294 range: n3295 }, t];3296 return i && (n = i[0], t = i[1]), n.range(e[0], Ko( + e[1] + 1), 1 > t ? 1 : t)3297 }, r.tickFormat = function() {3298 return e3299 }, r.copy = function() {3300 return Go(n.copy(), t, e)3301 }, Ii(r, n)3302 }3303 function Ko(n) {3304 return new Date(n)3305 }3306 function Qo(n) {3307 return JSON.parse(n.responseText)3308 }3309 function na(n) {3310 var t = ua.createRange();3311 return t.selectNode(ua.body), t.createContextualFragment(n.responseText)3312 }3313 var ta = {3314 version: "3.5.3"3315 };3316 Date.now || (Date.now = function() {3317 return + new Date3318 });3319 var ea = [].slice, ra = function(n) {3320 return ea.call(n)3321 }, ua = document, ia = ua.documentElement, oa = window;3322 try {3323 ra(ia.childNodes)[0].nodeType3324 } catch (aa) {3325 ra = function(n) {3326 for (var t = n.length, e = new Array(t); t--;)3327 e[t] = n[t];3328 return e3329 }3330 }3331 try {3332 ua.createElement("div").style.setProperty("opacity", 0, "")3333 } catch (ca) {3334 var la = oa.Element.prototype, sa = la.setAttribute, fa = la.setAttributeNS, ha = oa.CSSStyleDeclaration.prototype, ga = ha.setProperty;3335 la.setAttribute = function(n, t) {3336 sa.call(this, n, t + "")3337 }, la.setAttributeNS = function(n, t, e) {3338 fa.call(this, n, t, e + "")3339 }, ha.setProperty = function(n, t, e) {3340 ga.call(this, n, t + "", e)3341 }3342 }3343 ta.ascending = n, ta.descending = function(n, t) {3344 return n > t?-1 : t > n ? 1 : t >= n ? 0 : 0 / 03345 }, ta.min = function(n, t) {3346 var e, r, u =- 1, i = n.length;3347 if (1 === arguments.length) {3348 for (; ++u < i;)3349 if (null != (r = n[u]) && r >= r) {3350 e = r;3351 break3352 }3353 for (; ++u < i;)3354 null != (r = n[u]) && e > r && (e = r)3355 } else {3356 for (; ++u < i;)3357 if (null != (r = t.call(n, n[u], u)) && r >= r) {3358 e = r;3359 break3360 }3361 for (; ++u < i;)3362 null != (r = t.call(n, n[u], u)) && e > r && (e = r)3363 }3364 return e3365 }, ta.max = function(n, t) {3366 var e, r, u =- 1, i = n.length;3367 if (1 === arguments.length) {3368 for (; ++u < i;)3369 if (null != (r = n[u]) && r >= r) {3370 e = r;3371 break3372 }3373 for (; ++u < i;)3374 null != (r = n[u]) && r > e && (e = r)3375 } else {3376 for (; ++u < i;)3377 if (null != (r = t.call(n, n[u], u)) && r >= r) {3378 e = r;3379 break3380 }3381 for (; ++u < i;)3382 null != (r = t.call(n, n[u], u)) && r > e && (e = r)3383 }3384 return e3385 }, ta.extent = function(n, t) {3386 var e, r, u, i =- 1, o = n.length;3387 if (1 === arguments.length) {3388 for (; ++i < o;)3389 if (null != (r = n[i]) && r >= r) {3390 e = u = r;3391 break3392 }3393 for (; ++i < o;)3394 null != (r = n[i]) && (e > r && (e = r), r > u && (u = r))3395 } else {3396 for (; ++i < o;)3397 if (null != (r = t.call(n, n[i], i)) && r >= r) {3398 e = u = r;3399 break3400 }3401 for (; ++i < o;)3402 null != (r = t.call(n, n[i], i)) && (e > r && (e = r), r > u && (u = r))3403 }3404 return [e, u]3405 }, ta.sum = function(n, t) {3406 var r, u = 0, i = n.length, o =- 1;3407 if (1 === arguments.length)3408 for (; ++o < i;)3409 e(r =+ n[o]) && (u += r);3410 else 3411 for (; ++o < i;)3412 e(r =+ t.call(n, n[o], o)) && (u += r);3413 return u3414 }, ta.mean = function(n, r) {3415 var u, i = 0, o = n.length, a =- 1, c = o;3416 if (1 === arguments.length)3417 for (; ++a < o;)3418 e(u = t(n[a])) ? i += u : --c;3419 else 3420 for (; ++a < o;)3421 e(u = t(r.call(n, n[a], a))) ? i += u : --c;3422 return c ? i / c : void 03423 }, ta.quantile = function(n, t) {3424 var e = (n.length - 1) * t + 1, r = Math.floor(e), u =+ n[r - 1], i = e - r;3425 return i ? u + i * (n[r] - u) : u3426 }, ta.median = function(r, u) {3427 var i, o = [], a = r.length, c =- 1;3428 if (1 === arguments.length)3429 for (; ++c < a;)3430 e(i = t(r[c])) && o.push(i);3431 else 3432 for (; ++c < a;)3433 e(i = t(u.call(r, r[c], c))) && o.push(i);3434 return o.length ? ta.quantile(o.sort(n), .5) : void 03435 }, ta.variance = function(n, r) {3436 var u, i, o = n.length, a = 0, c = 0, l =- 1, s = 0;3437 if (1 === arguments.length)3438 for (; ++l < o;)3439 e(u = t(n[l])) && (i = u - a, a += i/++s, c += i * (u - a));3440 else 3441 for (; ++l < o;)3442 e(u = t(r.call(n, n[l], l))) && (i = u - a, a += i/++s, c += i * (u - a));3443 return s > 1 ? c / (s - 1) : void 03444 }, ta.deviation = function() {3445 var n = ta.variance.apply(this, arguments);3446 return n ? Math.sqrt(n) : n3447 };3448 var pa = r(n);3449 ta.bisectLeft = pa.left, ta.bisect = ta.bisectRight = pa.right, ta.bisector = function(t) {3450 return r(1 === t.length ? function(e, r) {3451 return n(t(e), r)3452 } : t)3453 }, ta.shuffle = function(n, t, e) {3454 (i = arguments.length) < 3 && (e = n.length, 2 > i && (t = 0));3455 for (var r, u, i = e - t; i;)3456 u = 0 | Math.random() * i--, r = n[i + t], n[i + t] = n[u + t], n[u + t] = r;3457 return n3458 }, ta.permute = function(n, t) {3459 for (var e = t.length, r = new Array(e); e--;)3460 r[e] = n[t[e]];3461 return r3462 }, ta.pairs = function(n) {3463 for (var t, e = 0, r = n.length - 1, u = n[0], i = new Array(0 > r ? 0 : r); r > e;)3464 i[e] = [t = u, u = n[++e]];3465 return i3466 }, ta.zip = function() {3467 if (!(r = arguments.length))3468 return [];3469 for (var n =- 1, t = ta.min(arguments, u), e = new Array(t); ++n < t;)3470 for (var r, i =- 1, o = e[n] = new Array(r); ++i < r;)3471 o[i] = arguments[i][n];3472 return e3473 }, ta.transpose = function(n) {3474 return ta.zip.apply(ta, n)3475 }, ta.keys = function(n) {3476 var t = [];3477 for (var e in n)3478 t.push(e);3479 return t3480 }, ta.values = function(n) {3481 var t = [];3482 for (var e in n)3483 t.push(n[e]);3484 return t3485 }, ta.entries = function(n) {3486 var t = [];3487 for (var e in n)3488 t.push({3489 key: e,3490 value: n[e]3491 });3492 return t3493 }, ta.merge = function(n) {3494 for (var t, e, r, u = n.length, i =- 1, o = 0; ++i < u;)3495 o += n[i].length;3496 for (e = new Array(o); --u >= 0;)3497 for (r = n[u], t = r.length; --t >= 0;)3498 e[--o] = r[t];3499 return e3500 };3501 var va = Math.abs;3502 ta.range = function(n, t, e) {3503 if (arguments.length < 3 && (e = 1, arguments.length < 2 && (t = n, n = 0)), 1 / 0 === (t - n) / e)3504 throw new Error("infinite range");3505 var r, u = [], o = i(va(e)), a =- 1;3506 if (n*=o, t*=o, e*=o, 0 > e)3507 for (; (r = n + e*++a) > t;)3508 u.push(r / o);3509 else 3510 for (; (r = n + e*++a) < t;)3511 u.push(r / o);3512 return u3513 }, ta.map = function(n, t) {3514 var e = new a;3515 if (n instanceof a)3516 n.forEach(function(n, t) {3517 e.set(n, t)3518 });3519 else if (Array.isArray(n)) {3520 var r, u =- 1, i = n.length;3521 if (1 === arguments.length)3522 for (; ++u < i;)3523 e.set(u, n[u]);3524 else 3525 for (; ++u < i;)3526 e.set(t.call(n, r = n[u], u), r)3527 } else 3528 for (var o in n)3529 e.set(o, n[o]);3530 return e3531 };3532 var da = "__proto__", ma = "\x00";3533 o(a, {3534 has: s,3535 get: function(n) {3536 return this._[c(n)]3537 },3538 set: function(n, t) {3539 return this._[c(n)] = t3540 },3541 remove: f,3542 keys: h,3543 values: function() {3544 var n = [];3545 for (var t in this._)3546 n.push(this._[t]);3547 return n3548 },3549 entries: function() {3550 var n = [];3551 for (var t in this._)3552 n.push({3553 key: l(t),3554 value: this._[t]3555 });3556 return n3557 },3558 size: g,3559 empty: p,3560 forEach: function(n) {3561 for (var t in this._)3562 n.call(this, l(t), this._[t])3563 }3564 }), ta.nest = function() {3565 function n(t, o, c) {3566 if (c >= i.length)3567 return r ? r.call(u, o) : e ? o.sort(e) : o;3568 for (var l, s, f, h, g =- 1, p = o.length, v = i[c++], d = new a; ++g < p;)(h = d.get(l = v(s = o[g]))3569 ) ? h.push(s) : d.set(l, [s]);3570 return t ? (s = t(), f = function(e, r) {3571 s.set(e, n(t, r, c))3572 }) : (s = {}, f = function(e, r) {3573 s[e] = n(t, r, c)3574 }), d.forEach(f), s3575 }3576 function t(n, e) {3577 if (e >= i.length)3578 return n;3579 var r = [], u = o[e++];3580 return n.forEach(function(n, u) {3581 r.push({3582 key: n,3583 values: t(u, e)3584 })3585 }), u ? r.sort(function(n, t) {3586 return u(n.key, t.key)3587 }) : r3588 }3589 var e, r, u = {}, i = [], o = [];3590 return u.map = function(t, e) {3591 return n(e, t, 0)3592 }, u.entries = function(e) {3593 return t(n(ta.map, e, 0), 0)3594 }, u.key = function(n) {3595 return i.push(n), u3596 }, u.sortKeys = function(n) {3597 return o[i.length - 1] = n, u3598 }, u.sortValues = function(n) {3599 return e = n, u3600 }, u.rollup = function(n) {3601 return r = n, u3602 }, u3603 }, ta.set = function(n) {3604 var t = new v;3605 if (n)3606 for (var e = 0, r = n.length; r > e; ++e)3607 t.add(n[e]);3608 return t3609 }, o(v, {3610 has: s,3611 add: function(n) {3612 return this._[c(n += "")]=!0, n3613 },3614 remove: f,3615 values: h,3616 size: g,3617 empty: p,3618 forEach: function(n) {3619 for (var t in this._)3620 n.call(this, l(t))3621 }3622 }), ta.behavior = {}, ta.rebind = function(n, t) {3623 for (var e, r = 1, u = arguments.length; ++r < u;)3624 n[e = arguments[r]] = d(n, t, t[e]);3625 return n3626 };3627 var ya = ["webkit", "ms", "moz", "Moz", "o", "O"];3628 ta.dispatch = function() {3629 for (var n = new M, t =- 1, e = arguments.length; ++t < e;)3630 n[arguments[t]] = x(n);3631 return n3632 }, M.prototype.on = function(n, t) {3633 var e = n.indexOf("."), r = "";3634 if (e >= 0 && (r = n.slice(e + 1), n = n.slice(0, e)), n)3635 return arguments.length < 2 ? this[n].on(r) : this[n].on(r, t);3636 if (2 === arguments.length) {3637 if (null == t)3638 for (n in this)3639 this.hasOwnProperty(n) && this[n].on(r, null);3640 return this3641 }3642 }, ta.event = null, ta.requote = function(n) {3643 return n.replace(Ma, "\\$&")3644 };3645 var Ma = /[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g, xa = {}.__proto__ ? function(n, t) {3646 n.__proto__ = t3647 }3648 : function(n, t) {3649 for (var e in t)3650 n[e] = t[e]3651 }, ba = function(n, t) {3652 return t.querySelector(n)3653 }, _a = function(n, t) {3654 return t.querySelectorAll(n)3655 }, wa = ia.matches || ia[m(ia, "matchesSelector")], Sa = function(n, t) {3656 return wa.call(n, t)3657 };3658 "function" == typeof Sizzle && (ba = function(n, t) {3659 return Sizzle(n, t)[0] || null3660 }, _a = Sizzle, Sa = Sizzle.matchesSelector), ta.selection = function() {3661 return Na3662 };3663 var ka = ta.selection.prototype = [];3664 ka.select = function(n) {3665 var t, e, r, u, i = [];3666 n = k(n);3667 for (var o =- 1, a = this.length; ++o < a;) {3668 i.push(t = []), t.parentNode = (r = this[o]).parentNode;3669 for (var c =- 1, l = r.length; ++c < l;)(u = r[c]) 3670 ? (t.push(e = n.call(u, u.__data__, c, o)), e && "__data__"in u && (e.__data__ = u.__data__)) : t.push(null)3671 }3672 return S(i)3673 }, ka.selectAll = function(n) {3674 var t, e, r = [];3675 n = E(n);3676 for (var u =- 1, i = this.length; ++u < i;)3677 for (var o = this[u], a =- 1, c = o.length; ++a < c;)(e = o[a]) 3678 && (r.push(t = ra(n.call(e, e.__data__, a, u))), t.parentNode = e);3679 return S(r)3680 };3681 var Ea = {3682 svg: "http://www.w3.org/2000/svg",3683 xhtml: "http://www.w3.org/1999/xhtml",3684 xlink: "http://www.w3.org/1999/xlink",3685 xml: "http://www.w3.org/XML/1998/namespace",3686 xmlns: "http://www.w3.org/2000/xmlns/"3687 };3688 ta.ns = {3689 prefix: Ea,3690 qualify: function(n) {3691 var t = n.indexOf(":"), e = n;3692 return t >= 0 && (e = n.slice(0, t), n = n.slice(t + 1)), Ea.hasOwnProperty(e) ? {3693 space: Ea[e],3694 local: n3695 } : n3696 }3697 }, ka.attr = function(n, t) {3698 if (arguments.length < 2) {3699 if ("string" == typeof n) {3700 var e = this.node();3701 return n = ta.ns.qualify(n), n.local ? e.getAttributeNS(n.space, n.local) : e.getAttribute(n)3702 }3703 for (t in n)3704 this.each(A(t, n[t]));3705 return this3706 }3707 return this.each(A(n, t))3708 }, ka.classed = function(n, t) {3709 if (arguments.length < 2) {3710 if ("string" == typeof n) {3711 var e = this.node(), r = (n = z(n)).length, u =- 1;3712 if (t = e.classList) {3713 for (; ++u < r;)3714 if (!t.contains(n[u]))3715 return !13716 } else 3717 for (t = e.getAttribute("class"); ++u < r;)3718 if (!C(n[u]).test(t))3719 return !1;3720 return !03721 }3722 for (t in n)3723 this.each(q(t, n[t]));3724 return this3725 }3726 return this.each(q(n, t))3727 }, ka.style = function(n, t, e) {3728 var r = arguments.length;3729 if (3 > r) {3730 if ("string" != typeof n) {3731 2 > r && (t = "");3732 for (e in n)3733 this.each(T(e, n[e], t));3734 return this3735 }3736 if (2 > r)3737 return oa.getComputedStyle(this.node(), null).getPropertyValue(n);3738 e = ""3739 }3740 return this.each(T(n, t, e))3741 }, ka.property = function(n, t) {3742 if (arguments.length < 2) {3743 if ("string" == typeof n)3744 return this.node()[n];3745 for (t in n)3746 this.each(R(t, n[t]));3747 return this3748 }3749 return this.each(R(n, t))3750 }, ka.text = function(n) {3751 return arguments.length ? this.each("function" == typeof n ? function() {3752 var t = n.apply(this, arguments);3753 this.textContent = null == t ? "" : t3754 } : null == n ? function() {3755 this.textContent = ""3756 } : function() {3757 this.textContent = n3758 }) : this.node().textContent3759 }, ka.html = function(n) {3760 return arguments.length ? this.each("function" == typeof n ? function() {3761 var t = n.apply(this, arguments);3762 this.innerHTML = null == t ? "" : t3763 } : null == n ? function() {3764 this.innerHTML = ""3765 } : function() {3766 this.innerHTML = n3767 }) : this.node().innerHTML3768 }, ka.append = function(n) {3769 return n = D(n), this.select(function() {3770 return this.appendChild(n.apply(this, arguments))3771 })3772 }, ka.insert = function(n, t) {3773 return n = D(n), t = k(t), this.select(function() {3774 return this.insertBefore(n.apply(this, arguments), t.apply(this, arguments) || null)3775 })3776 }, ka.remove = function() {3777 return this.each(P)3778 }, ka.data = function(n, t) {3779 function e(n, e) {3780 var r, u, i, o = n.length, f = e.length, h = Math.min(o, f), g = new Array(f), p = new Array(f), v = new Array(o);3781 if (t) {3782 var d, m = new a, y = new Array(o);3783 for (r =- 1; ++r < o;)3784 m.has(d = t.call(u = n[r], u.__data__, r)) ? v[r] = u : m.set(d, u), y[r] = d;3785 for (r =- 1; ++r < f;)(u = m.get(d = t.call(e, i = e[r], r))3786 ) ? u!==!0 && (g[r] = u, u.__data__ = i) : p[r] = U(i), m.set(d, !0);3787 for (r =- 1; ++r < o;)3788 m.get(y[r])!==!0 && (v[r] = n[r])3789 } else {3790 for (r =- 1; ++r < h;)3791 u = n[r], i = e[r], u ? (u.__data__ = i, g[r] = u) : p[r] = U(i);3792 for (; f > r; ++r)3793 p[r] = U(e[r]);3794 for (; o > r; ++r)3795 v[r] = n[r]3796 }3797 p.update = g, p.parentNode = g.parentNode = v.parentNode = n.parentNode, c.push(p), l.push(g), s.push(v)3798 }3799 var r, u, i =- 1, o = this.length;3800 if (!arguments.length) {3801 for (n = new Array(o = (r = this[0]).length); ++i < o;)(u = r[i]) 3802 && (n[i] = u.__data__);3803 return n3804 }3805 var c = O([]), l = S([]), s = S([]);3806 if ("function" == typeof n)3807 for (; ++i < o;)3808 e(r = this[i], n.call(r, r.parentNode.__data__, i));3809 else 3810 for (; ++i < o;)3811 e(r = this[i], n);3812 return l.enter = function() {3813 return c3814 }, l.exit = function() {3815 return s3816 }, l3817 }, ka.datum = function(n) {3818 return arguments.length ? this.property("__data__", n) : this.property("__data__")3819 }, ka.filter = function(n) {3820 var t, e, r, u = [];3821 "function" != typeof n && (n = j(n));3822 for (var i = 0, o = this.length; o > i; i++) {3823 u.push(t = []), t.parentNode = (e = this[i]).parentNode;3824 for (var a = 0, c = e.length; c > a; a++)(r = e[a]) 3825 && n.call(r, r.__data__, a, i) && t.push(r)3826 }3827 return S(u)3828 }, ka.order = function() {3829 for (var n =- 1, t = this.length; ++n < t;)3830 for (var e, r = this[n], u = r.length - 1, i = r[u]; --u >= 0;)(e = r[u]) 3831 && (i && i !== e.nextSibling && i.parentNode.insertBefore(e, i), i = e);3832 return this3833 }, ka.sort = function(n) {3834 n = F.apply(this, arguments);3835 for (var t =- 1, e = this.length; ++t < e;)3836 this[t].sort(n);3837 return this.order()3838 }, ka.each = function(n) {3839 return H(this, function(t, e, r) {3840 n.call(t, t.__data__, e, r)3841 })3842 }, ka.call = function(n) {3843 var t = ra(arguments);3844 return n.apply(t[0] = this, t), this3845 }, ka.empty = function() {3846 return !this.node()3847 }, ka.node = function() {3848 for (var n = 0, t = this.length; t > n; n++)3849 for (var e = this[n], r = 0, u = e.length; u > r; r++) {3850 var i = e[r];3851 if (i)3852 return i3853 }3854 return null3855 }, ka.size = function() {3856 var n = 0;3857 return H(this, function() {3858 ++n3859 }), n3860 };3861 var Aa = [];3862 ta.selection.enter = O, ta.selection.enter.prototype = Aa, Aa.append = ka.append, Aa.empty = ka.empty, Aa.node = ka.node, Aa.call = ka.call, Aa.size = ka.size, Aa.select = function(n) {3863 for (var t, e, r, u, i, o = [], a =- 1, c = this.length; ++a < c;) {3864 r = (u = this[a]).update, o.push(t = []), t.parentNode = u.parentNode;3865 for (var l =- 1, s = u.length; ++l < s;)(i = u[l]) 3866 ? (t.push(r[l] = e = n.call(u.parentNode, i.__data__, l, a)), e.__data__ = i.__data__) : t.push(null)3867 }3868 return S(o)3869 }, Aa.insert = function(n, t) {3870 return arguments.length < 2 && (t = Y(this)), ka.insert.call(this, n, t)3871 }, ta.select = function(n) {3872 var t = ["string" == typeof n ? ba(n, ua): n];3873 return t.parentNode = ia, S([t])3874 }, ta.selectAll = function(n) {3875 var t = ra("string" == typeof n ? _a(n, ua) : n);3876 return t.parentNode = ia, S([t])3877 };3878 var Na = ta.select(ia);3879 ka.on = function(n, t, e) {3880 var r = arguments.length;3881 if (3 > r) {3882 if ("string" != typeof n) {3883 2 > r && (t=!1);3884 for (e in n)3885 this.each(I(e, n[e], t));3886 return this3887 }3888 if (2 > r)3889 return (r = this.node()["__on" + n]) && r._;3890 e=!13891 }3892 return this.each(I(n, t, e))3893 };3894 var Ca = ta.map({3895 mouseenter: "mouseover",3896 mouseleave: "mouseout"3897 });3898 Ca.forEach(function(n) {3899 "on" + n in ua && Ca.remove(n)3900 });3901 var za = "onselectstart"in ua ? null: m(ia.style, "userSelect"), qa = 0;3902 ta.mouse = function(n) {3903 return $(n, _())3904 };3905 var La = /WebKit/.test(oa.navigator.userAgent)?-1 : 0;3906 ta.touch = function(n, t, e) {3907 if (arguments.length < 3 && (e = t, t = _().changedTouches), t)3908 for (var r, u = 0, i = t.length; i > u; ++u)3909 if ((r = t[u]).identifier === e)3910 return $(n, r)3911 }, ta.behavior.drag = function() {3912 function n() {3913 this.on("mousedown.drag", u).on("touchstart.drag", i)3914 }3915 function t(n, t, u, i, o) {3916 return function() {3917 function a() {3918 var n, e, r = t(h, v);3919 r && (n = r[0] - M[0], e = r[1] - M[1], p|=n | e, M = r, g({3920 type: "drag",3921 x: r[0] + l[0],3922 y: r[1] + l[1],3923 dx: n,3924 dy: e3925 }))3926 }3927 function c() {3928 t(h, v) && (m.on(i + d, null).on(o + d, null), y(p && ta.event.target === f), g({3929 type: "dragend"3930 }))3931 }3932 var l, s = this, f = ta.event.target, h = s.parentNode, g = e.of(s, arguments), p = 0, v = n(), d = ".drag" + (null == v ? "" : "-" + v), m = ta.select(u()).on(i + d, a).on(o + d, c), y = X(), M = t(h, v);3933 r ? (l = r.apply(s, arguments), l = [l.x - M[0], l.y - M[1]]) : l = [0, 0], g({3934 type: "dragstart"3935 })3936 }3937 }3938 var e = w(n, "drag", "dragstart", "dragend"), r = null, u = t(y, ta.mouse, J, "mousemove", "mouseup"), i = t(B, ta.touch, W, "touchmove", "touchend");3939 return n.origin = function(t) {3940 return arguments.length ? (r = t, n) : r3941 }, ta.rebind(n, e, "on")3942 }, ta.touches = function(n, t) {3943 return arguments.length < 2 && (t = _().touches), t ? ra(t).map(function(t) {3944 var e = $(n, t);3945 return e.identifier = t.identifier, e3946 }) : []3947 };3948 var Ta = 1e-6, Ra = Ta * Ta, Da = Math.PI, Pa = 2 * Da, Ua = Pa - Ta, ja = Da / 2, Fa = Da / 180, Ha = 180 / Da, Oa = Math.SQRT2, Ya = 2, Ia = 4;3949 ta.interpolateZoom = function(n, t) {3950 function e(n) {3951 var t = n * y;3952 if (m) {3953 var e = et(v), o = i / (Ya * h) * (e * rt(Oa * t + v) - tt(v));3954 return [r + o * l, u + o * s, i * e / et(Oa * t + v)]3955 }3956 return [r + n * l, u + n * s, i * Math.exp(Oa * t)]3957 }3958 var r = n[0], u = n[1], i = n[2], o = t[0], a = t[1], c = t[2], l = o - r, s = a - u, f = l * l + s * s, h = Math.sqrt(f), g = (c * c - i * i + Ia * f) / (2 * i * Ya * h), p = (c * c - i * i - Ia * f) / (2 * c * Ya * h), v = Math.log(Math.sqrt(g * g + 1) - g), d = Math.log(Math.sqrt(p * p + 1) - p), m = d - v, y = (m || Math.log(c / i)) / Oa;3959 return e.duration = 1e3 * y, e3960 }, ta.behavior.zoom = function() {3961 function n(n) {3962 n.on(z, s).on(Xa + ".zoom", h).on("dblclick.zoom", g).on(T, f)3963 }3964 function t(n) {3965 return [(n[0] - k.x) / k.k, (n[1] - k.y) / k.k]3966 }3967 function e(n) {3968 return [n[0] * k.k + k.x, n[1] * k.k + k.y]3969 }3970 function r(n) {3971 k.k = Math.max(A[0], Math.min(A[1], n))3972 }3973 function u(n, t) {3974 t = e(t), k.x += n[0] - t[0], k.y += n[1] - t[1]3975 }3976 function i(t, e, i, o) {3977 t.__chart__ = {3978 x: k.x,3979 y: k.y,3980 k: k.k3981 }, r(Math.pow(2, o)), u(v = e, i), t = ta.select(t), N > 0 && (t = t.transition().duration(N)), t.call(n.event)3982 }3983 function o() {3984 x && x.domain(M.range().map(function(n) {3985 return (n - k.x) / k.k3986 }).map(M.invert)), S && S.domain(_.range().map(function(n) {3987 return (n - k.y) / k.k3988 }).map(_.invert))3989 }3990 function a(n) {3991 C++||n({3992 type: "zoomstart"3993 })3994 }3995 function c(n) {3996 o(), n({3997 type: "zoom",3998 scale: k.k,3999 translate: [k.x, k.y]4000 })4001 }4002 function l(n) {4003 --C || n({4004 type: "zoomend"4005 }), v = null4006 }4007 function s() {4008 function n() {4009 s = 1, u(ta.mouse(r), h), c(o)4010 }4011 function e() {4012 f.on(q, null).on(L, null), g(s && ta.event.target === i), l(o)4013 }4014 var r = this, i = ta.event.target, o = R.of(r, arguments), s = 0, f = ta.select(oa).on(q, n).on(L, e), h = t(ta.mouse(r)), g = X();4015 Fl.call(r), a(o)4016 }4017 function f() {4018 function n() {4019 var n = ta.touches(p);4020 return g = k.k, n.forEach(function(n) {4021 n.identifier in d && (d[n.identifier] = t(n))4022 }), n4023 }4024 function e() {4025 var t = ta.event.target;4026 ta.select(t).on(x, o).on(_, h), w.push(t);4027 for (var e = ta.event.changedTouches, r = 0, u = e.length; u > r; ++r)4028 d[e[r].identifier] = null;4029 var a = n(), c = Date.now();4030 if (1 === a.length) {4031 if (500 > c - y) {4032 var l = a[0];4033 i(p, l, d[l.identifier], Math.floor(Math.log(k.k) / Math.LN2) + 1), b()4034 }4035 y = c4036 } else if (a.length > 1) {4037 var l = a[0], s = a[1], f = l[0] - s[0], g = l[1] - s[1];4038 m = f * f + g * g4039 }4040 }4041 function o() {4042 var n, t, e, i, o = ta.touches(p);4043 Fl.call(p);4044 for (var a = 0, l = o.length; l > a; ++a, i = null)4045 if (e = o[a], i = d[e.identifier]) {4046 if (t)4047 break;4048 n = e, t = i4049 }4050 if (i) {4051 var s = (s = e[0] - n[0]) * s + (s = e[1] - n[1]) * s, f = m && Math.sqrt(s / m);4052 n = [(n[0] + e[0]) / 2, (n[1] + e[1]) / 2], t = [(t[0] + i[0]) / 2, (t[1] + i[1]) / 2], r(f * g)4053 }4054 y = null, u(n, t), c(v)4055 }4056 function h() {4057 if (ta.event.touches.length) {4058 for (var t = ta.event.changedTouches, e = 0, r = t.length; r > e; ++e)4059 delete d[t[e].identifier];4060 for (var u in d)4061 return void n()4062 }4063 ta.selectAll(w).on(M, null), S.on(z, s).on(T, f), E(), l(v)4064 }4065 var g, p = this, v = R.of(p, arguments), d = {}, m = 0, M = ".zoom-" + ta.event.changedTouches[0].identifier, x = "touchmove" + M, _ = "touchend" + M, w = [], S = ta.select(p), E = X();4066 e(), a(v), S.on(z, null).on(T, e)4067 }4068 function h() {4069 var n = R.of(this, arguments);4070 m ? clearTimeout(m) : (p = t(v = d || ta.mouse(this)), Fl.call(this), a(n)), m = setTimeout(function() {4071 m = null, l(n)4072 }, 50), b(), r(Math.pow(2, .002 * Za()) * k.k), u(v, p), c(n)4073 }4074 function g() {4075 var n = ta.mouse(this), e = Math.log(k.k) / Math.LN2;4076 i(this, n, t(n), ta.event.shiftKey ? Math.ceil(e) - 1 : Math.floor(e) + 1)4077 }4078 var p, v, d, m, y, M, x, _, S, k = {4079 x: 0,4080 y: 0,4081 k: 14082 }, E = [960, 500], A = Va, N = 250, C = 0, z = "mousedown.zoom", q = "mousemove.zoom", L = "mouseup.zoom", T = "touchstart.zoom", R = w(n, "zoomstart", "zoom", "zoomend");4083 return n.event = function(n) {4084 n.each(function() {4085 var n = R.of(this, arguments), t = k;4086 Ul ? ta.select(this).transition().each("start.zoom", function() {4087 k = this.__chart__ || {4088 x: 0,4089 y: 0,4090 k: 14091 }, a(n)4092 }).tween("zoom:zoom", function() {4093 var e = E[0], r = E[1], u = v ? v[0]: e / 2, i = v ? v[1]: r / 2, o = ta.interpolateZoom([(u - k.x) / k.k, (i - k.y) / k.k, e / k.k], [(u - t.x) / t.k, (i - t.y) / t.k, e / t.k]);4094 return function(t) {4095 var r = o(t), a = e / r[2];4096 this.__chart__ = k = {4097 x: u - r[0] * a,4098 y: i - r[1] * a,4099 k: a4100 }, c(n)4101 }4102 }).each("interrupt.zoom", function() {4103 l(n)4104 }).each("end.zoom", function() {4105 l(n)4106 }) : (this.__chart__ = k, a(n), c(n), l(n))4107 })4108 }, n.translate = function(t) {4109 return arguments.length ? (k = {4110 x: + t[0],4111 y: + t[1],4112 k: k.k4113 }, o(), n) : [k.x, k.y]4114 }, n.scale = function(t) {4115 return arguments.length ? (k = {4116 x: k.x,4117 y: k.y,4118 k: + t4119 }, o(), n) : k.k4120 }, n.scaleExtent = function(t) {4121 return arguments.length ? (A = null == t ? Va : [ + t[0], + t[1]], n) : A4122 }, n.center = function(t) {4123 return arguments.length ? (d = t && [ + t[0], + t[1]], n) : d4124 }, n.size = function(t) {4125 return arguments.length ? (E = t && [ + t[0], + t[1]], n) : E4126 }, n.duration = function(t) {4127 return arguments.length ? (N =+ t, n) : N4128 }, n.x = function(t) {4129 return arguments.length ? (x = t, M = t.copy(), k = {4130 x: 0,4131 y: 0,4132 k: 14133 }, n) : x4134 }, n.y = function(t) {4135 return arguments.length ? (S = t, _ = t.copy(), k = {4136 x: 0,4137 y: 0,4138 k: 14139 }, n) : S4140 }, ta.rebind(n, R, "on")4141 };4142 var Za, Va = [0, 1 / 0], Xa = "onwheel"in ua ? (Za = function() {4143 return - ta.event.deltaY * (ta.event.deltaMode ? 120 : 1)4144 }, "wheel"): "onmousewheel"in ua ? (Za = function() {4145 return ta.event.wheelDelta4146 }, "mousewheel"): (Za = function() {4147 return - ta.event.detail4148 }, "MozMousePixelScroll");4149 ta.color = it, it.prototype.toString = function() {4150 return this.rgb() + ""4151 }, ta.hsl = ot;4152 var $a = ot.prototype = new it;4153 $a.brighter = function(n) {4154 return n = Math.pow(.7, arguments.length ? n : 1), new ot(this.h, this.s, this.l / n)4155 }, $a.darker = function(n) {4156 return n = Math.pow(.7, arguments.length ? n : 1), new ot(this.h, this.s, n * this.l)4157 }, $a.rgb = function() {4158 return at(this.h, this.s, this.l)4159 }, ta.hcl = ct;4160 var Ba = ct.prototype = new it;4161 Ba.brighter = function(n) {4162 return new ct(this.h, this.c, Math.min(100, this.l + Wa * (arguments.length ? n : 1)))4163 }, Ba.darker = function(n) {4164 return new ct(this.h, this.c, Math.max(0, this.l - Wa * (arguments.length ? n : 1)))4165 }, Ba.rgb = function() {4166 return lt(this.h, this.c, this.l).rgb()4167 }, ta.lab = st;4168 var Wa = 18, Ja = .95047, Ga = 1, Ka = 1.08883, Qa = st.prototype = new it;4169 Qa.brighter = function(n) {4170 return new st(Math.min(100, this.l + Wa * (arguments.length ? n : 1)), this.a, this.b)4171 }, Qa.darker = function(n) {4172 return new st(Math.max(0, this.l - Wa * (arguments.length ? n : 1)), this.a, this.b)4173 }, Qa.rgb = function() {4174 return ft(this.l, this.a, this.b)4175 }, ta.rgb = dt;4176 var nc = dt.prototype = new it;4177 nc.brighter = function(n) {4178 n = Math.pow(.7, arguments.length ? n : 1);4179 var t = this.r, e = this.g, r = this.b, u = 30;4180 return t || e || r ? (t && u > t && (t = u), e && u > e && (e = u), r && u > r && (r = u), new dt(Math.min(255, t / n), Math.min(255, e / n), Math.min(255, r / n))) : new dt(u, u, u)4181 }, nc.darker = function(n) {4182 return n = Math.pow(.7, arguments.length ? n : 1), new dt(n * this.r, n * this.g, n * this.b)4183 }, nc.hsl = function() {4184 return bt(this.r, this.g, this.b)4185 }, nc.toString = function() {4186 return "#" + Mt(this.r) + Mt(this.g) + Mt(this.b)4187 };4188 var tc = ta.map({4189 aliceblue: 15792383,4190 antiquewhite: 16444375,4191 aqua: 65535,4192 aquamarine: 8388564,4193 azure: 15794175,4194 beige: 16119260,4195 bisque: 16770244,4196 black: 0,4197 blanchedalmond: 16772045,4198 blue: 255,4199 blueviolet: 9055202,4200 brown: 10824234,4201 burlywood: 14596231,4202 cadetblue: 6266528,4203 chartreuse: 8388352,4204 chocolate: 13789470,4205 coral: 16744272,4206 cornflowerblue: 6591981,4207 cornsilk: 16775388,4208 crimson: 14423100,4209 cyan: 65535,4210 darkblue: 139,4211 darkcyan: 35723,4212 darkgoldenrod: 12092939,4213 darkgray: 11119017,4214 darkgreen: 25600,4215 darkgrey: 11119017,4216 darkkhaki: 12433259,4217 darkmagenta: 9109643,4218 darkolivegreen: 5597999,4219 darkorange: 16747520,4220 darkorchid: 10040012,4221 darkred: 9109504,4222 darksalmon: 15308410,4223 darkseagreen: 9419919,4224 darkslateblue: 4734347,4225 darkslategray: 3100495,4226 darkslategrey: 3100495,4227 darkturquoise: 52945,4228 darkviolet: 9699539,4229 deeppink: 16716947,4230 deepskyblue: 49151,4231 dimgray: 6908265,4232 dimgrey: 6908265,4233 dodgerblue: 2003199,4234 firebrick: 11674146,4235 floralwhite: 16775920,4236 forestgreen: 2263842,4237 fuchsia: 16711935,4238 gainsboro: 14474460,4239 ghostwhite: 16316671,4240 gold: 16766720,4241 goldenrod: 14329120,4242 gray: 8421504,4243 green: 32768,4244 greenyellow: 11403055,4245 grey: 8421504,4246 honeydew: 15794160,4247 hotpink: 16738740,4248 indianred: 13458524,4249 indigo: 4915330,4250 ivory: 16777200,4251 khaki: 15787660,4252 lavender: 15132410,4253 lavenderblush: 16773365,4254 lawngreen: 8190976,4255 lemonchiffon: 16775885,4256 lightblue: 11393254,4257 lightcoral: 15761536,4258 lightcyan: 14745599,4259 lightgoldenrodyellow: 16448210,4260 lightgray: 13882323,4261 lightgreen: 9498256,4262 lightgrey: 13882323,4263 lightpink: 16758465,4264 lightsalmon: 16752762,4265 lightseagreen: 2142890,4266 lightskyblue: 8900346,4267 lightslategray: 7833753,4268 lightslategrey: 7833753,4269 lightsteelblue: 11584734,4270 lightyellow: 16777184,4271 lime: 65280,4272 limegreen: 3329330,4273 linen: 16445670,4274 magenta: 16711935,4275 maroon: 8388608,4276 mediumaquamarine: 6737322,4277 mediumblue: 205,4278 mediumorchid: 12211667,4279 mediumpurple: 9662683,4280 mediumseagreen: 3978097,4281 mediumslateblue: 8087790,4282 mediumspringgreen: 64154,4283 mediumturquoise: 4772300,4284 mediumvioletred: 13047173,4285 midnightblue: 1644912,4286 mintcream: 16121850,4287 mistyrose: 16770273,4288 moccasin: 16770229,4289 navajowhite: 16768685,4290 navy: 128,4291 oldlace: 16643558,4292 olive: 8421376,4293 olivedrab: 7048739,4294 orange: 16753920,4295 orangered: 16729344,4296 orchid: 14315734,4297 palegoldenrod: 15657130,4298 palegreen: 10025880,4299 paleturquoise: 11529966,4300 palevioletred: 14381203,4301 papayawhip: 16773077,4302 peachpuff: 16767673,4303 peru: 13468991,4304 pink: 16761035,4305 plum: 14524637,4306 powderblue: 11591910,4307 purple: 8388736,4308 red: 16711680,4309 rosybrown: 12357519,4310 royalblue: 4286945,4311 saddlebrown: 9127187,4312 salmon: 16416882,4313 sandybrown: 16032864,4314 seagreen: 3050327,4315 seashell: 16774638,4316 sienna: 10506797,4317 silver: 12632256,4318 skyblue: 8900331,4319 slateblue: 6970061,4320 slategray: 7372944,4321 slategrey: 7372944,4322 snow: 16775930,4323 springgreen: 65407,4324 steelblue: 4620980,4325 tan: 13808780,4326 teal: 32896,4327 thistle: 14204888,4328 tomato: 16737095,4329 turquoise: 4251856,4330 violet: 15631086,4331 wheat: 16113331,4332 white: 16777215,4333 whitesmoke: 16119285,4334 yellow: 16776960,4335 yellowgreen: 101450744336 });4337 tc.forEach(function(n, t) {4338 tc.set(n, mt(t))4339 }), ta.functor = kt, ta.xhr = At(Et), ta.dsv = function(n, t) {4340 function e(n, e, i) {4341 arguments.length < 3 && (i = e, e = null);4342 var o = Nt(n, t, null == e ? r : u(e), i);4343 return o.row = function(n) {4344 return arguments.length ? o.response(null == (e = n) ? r : u(n)) : e4345 }, o4346 }4347 function r(n) {4348 return e.parse(n.responseText)4349 }4350 function u(n) {4351 return function(t) {4352 return e.parse(t.responseText, n)4353 }4354 }4355 function i(t) {4356 return t.map(o).join(n)4357 }4358 function o(n) {4359 return a.test(n) ? '"' + n.replace(/\"/g, '""') + '"' : n4360 }4361 var a = new RegExp('["' + n + "\n]"), c = n.charCodeAt(0);4362 return e.parse = function(n, t) {4363 var r;4364 return e.parseRows(n, function(n, e) {4365 if (r)4366 return r(n, e - 1);4367 var u = new Function("d", "return {" + n.map(function(n, t) {4368 return JSON.stringify(n) + ": d[" + t + "]"4369 }).join(",") + "}");4370 r = t ? function(n, e) {4371 return t(u(n), e)4372 } : u4373 })4374 }, e.parseRows = function(n, t) {4375 function e() {4376 if (s >= l)4377 return o;4378 if (u)4379 return u=!1, i;4380 var t = s;4381 if (34 === n.charCodeAt(t)) {4382 for (var e = t; e++<l;)4383 if (34 === n.charCodeAt(e)) {4384 if (34 !== n.charCodeAt(e + 1))4385 break;4386 ++e4387 }4388 s = e + 2;4389 var r = n.charCodeAt(e + 1);4390 return 13 === r ? (u=!0, 10 === n.charCodeAt(e + 2)&&++s) : 10 === r && (u=!0), n.slice(t + 1, e).replace(/""/g, '"')4391 }4392 for (; l > s;) {4393 var r = n.charCodeAt(s++), a = 1;4394 if (10 === r)4395 u=!0;4396 else if (13 === r)4397 u=!0, 10 === n.charCodeAt(s) && (++s, ++a);4398 else if (r !== c)4399 continue;4400 return n.slice(t, s - a)4401 }4402 return n.slice(t)4403 }4404 for (var r, u, i = {}, o = {}, a = [], l = n.length, s = 0, f = 0; (r = e()) !== o;) {4405 for (var h = []; r !== i && r !== o;)4406 h.push(r), r = e();4407 t && null == (h = t(h, f++)) || a.push(h)4408 }4409 return a4410 }, e.format = function(t) {4411 if (Array.isArray(t[0]))4412 return e.formatRows(t);4413 var r = new v, u = [];4414 return t.forEach(function(n) {4415 for (var t in n)4416 r.has(t) || u.push(r.add(t))4417 }), [u.map(o).join(n)].concat(t.map(function(t) {4418 return u.map(function(n) {4419 return o(t[n])4420 }).join(n)4421 })).join("\n")4422 }, e.formatRows = function(n) {4423 return n.map(i).join("\n")4424 }, e4425 }, ta.csv = ta.dsv(",", "text/csv"), ta.tsv = ta.dsv(" ", "text/tab-separated-values");4426 var ec, rc, uc, ic, oc, ac = oa[m(oa, "requestAnimationFrame")] || function(n) {4427 setTimeout(n, 17)4428 };4429 ta.timer = function(n, t, e) {4430 var r = arguments.length;4431 2 > r && (t = 0), 3 > r && (e = Date.now());4432 var u = e + t, i = {4433 c: n,4434 t: u,4435 f: !1,4436 n: null4437 };4438 rc ? rc.n = i : ec = i, rc = i, uc || (ic = clearTimeout(ic), uc = 1, ac(qt))4439 }, ta.timer.flush = function() {4440 Lt(), Tt()4441 }, ta.round = function(n, t) {4442 return t ? Math.round(n * (t = Math.pow(10, t))) / t : Math.round(n)4443 };4444 var cc = ["y", "z", "a", "f", "p", "n", "\xb5", "m", "", "k", "M", "G", "T", "P", "E", "Z", "Y"].map(Dt);4445 ta.formatPrefix = function(n, t) {4446 var e = 0;4447 return n && (0 > n && (n*=-1), t && (n = ta.round(n, Rt(n, t))), e = 1 + Math.floor(1e-12 + Math.log(n) / Math.LN10), e = Math.max( - 24, Math.min(24, 3 * Math.floor((e - 1) / 3)))), cc[8 + e / 3]4448 };4449 var lc = /(?:([^{])?([<>=^]))?([+\- ])?([$#])?(0)?(\d+)?(,)?(\.-?\d+)?([a-z%])?/i, sc = ta.map({4450 b: function(n) {4451 return n.toString(2)4452 },4453 c: function(n) {4454 return String.fromCharCode(n)4455 },4456 o: function(n) {4457 return n.toString(8)4458 },4459 x: function(n) {4460 return n.toString(16)4461 },4462 X: function(n) {4463 return n.toString(16).toUpperCase()4464 },4465 g: function(n, t) {4466 return n.toPrecision(t)4467 },4468 e: function(n, t) {4469 return n.toExponential(t)4470 },4471 f: function(n, t) {4472 return n.toFixed(t)4473 },4474 r: function(n, t) {4475 return (n = ta.round(n, Rt(n, t))).toFixed(Math.max(0, Math.min(20, Rt(n * (1 + 1e-15), t))))4476 }4477 }), fc = ta.time = {}, hc = Date;4478 jt.prototype = {4479 getDate: function() {4480 return this._.getUTCDate()4481 },4482 getDay: function() {4483 return this._.getUTCDay()4484 },4485 getFullYear: function() {4486 return this._.getUTCFullYear()4487 },4488 getHours: function() {4489 return this._.getUTCHours()4490 },4491 getMilliseconds: function() {4492 return this._.getUTCMilliseconds()4493 },4494 getMinutes: function() {4495 return this._.getUTCMinutes()4496 },4497 getMonth: function() {4498 return this._.getUTCMonth()4499 },4500 getSeconds: function() {4501 return this._.getUTCSeconds()4502 },4503 getTime: function() {4504 return this._.getTime()4505 },4506 getTimezoneOffset: function() {4507 return 04508 },4509 valueOf: function() {4510 return this._.valueOf()4511 },4512 setDate: function() {4513 gc.setUTCDate.apply(this._, arguments)4514 },4515 setDay: function() {4516 gc.setUTCDay.apply(this._, arguments)4517 },4518 setFullYear: function() {4519 gc.setUTCFullYear.apply(this._, arguments)4520 },4521 setHours: function() {4522 gc.setUTCHours.apply(this._, arguments)4523 },4524 setMilliseconds: function() {4525 gc.setUTCMilliseconds.apply(this._, arguments)4526 },4527 setMinutes: function() {4528 gc.setUTCMinutes.apply(this._, arguments)4529 },4530 setMonth: function() {4531 gc.setUTCMonth.apply(this._, arguments)4532 },4533 setSeconds: function() {4534 gc.setUTCSeconds.apply(this._, arguments)4535 },4536 setTime: function() {4537 gc.setTime.apply(this._, arguments)4538 }4539 };4540 var gc = Date.prototype;4541 fc.year = Ft(function(n) {4542 return n = fc.day(n), n.setMonth(0, 1), n4543 }, function(n, t) {4544 n.setFullYear(n.getFullYear() + t)4545 }, function(n) {4546 return n.getFullYear()4547 }), fc.years = fc.year.range, fc.years.utc = fc.year.utc.range, fc.day = Ft(function(n) {4548 var t = new hc(2e3, 0);4549 return t.setFullYear(n.getFullYear(), n.getMonth(), n.getDate()), t4550 }, function(n, t) {4551 n.setDate(n.getDate() + t)4552 }, function(n) {4553 return n.getDate() - 14554 }), fc.days = fc.day.range, fc.days.utc = fc.day.utc.range, fc.dayOfYear = function(n) {4555 var t = fc.year(n);4556 return Math.floor((n - t - 6e4 * (n.getTimezoneOffset() - t.getTimezoneOffset())) / 864e5)4557 }, ["sunday", "monday", "tuesday", "wednesday", "thursday", "friday", "saturday"].forEach(function(n, t) {4558 t = 7 - t;4559 var e = fc[n] = Ft(function(n) {4560 return (n = fc.day(n)).setDate(n.getDate() - (n.getDay() + t)%7), n4561 }, function(n, t) {4562 n.setDate(n.getDate() + 7 * Math.floor(t))4563 }, function(n) {4564 var e = fc.year(n).getDay();4565 return Math.floor((fc.dayOfYear(n) + (e + t)%7) / 7) - (e !== t)4566 });4567 fc[n + "s"] = e.range, fc[n + "s"].utc = e.utc.range, fc[n + "OfYear"] = function(n) {4568 var e = fc.year(n).getDay();4569 return Math.floor((fc.dayOfYear(n) + (e + t)%7) / 7)4570 }4571 }), fc.week = fc.sunday, fc.weeks = fc.sunday.range, fc.weeks.utc = fc.sunday.utc.range, fc.weekOfYear = fc.sundayOfYear;4572 var pc = {4573 "-": "",4574 _: " ",4575 0: "0"4576 }, vc = /^\s*\d+/, dc = /^%/;4577 ta.locale = function(n) {4578 return {4579 numberFormat: Pt(n),4580 timeFormat: Ot(n)4581 }4582 };4583 var mc = ta.locale({4584 decimal: ".",4585 thousands: ",",4586 grouping: [3],4587 currency: ["$", ""],4588 dateTime: "%a %b %e %X %Y",4589 date: "%m/%d/%Y",4590 time: "%H:%M:%S",4591 periods: ["AM", "PM"],4592 days: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"],4593 shortDays: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"],4594 months: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"],4595 shortMonths: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]4596 });4597 ta.format = mc.numberFormat, ta.geo = {}, ce.prototype = {4598 s: 0,4599 t: 0,4600 add: function(n) {4601 le(n, this.t, yc), le(yc.s, this.s, this), this.s ? this.t += yc.t : this.s = yc.t4602 },4603 reset: function() {4604 this.s = this.t = 04605 },4606 valueOf: function() {4607 return this.s4608 }4609 };4610 var yc = new ce;4611 ta.geo.stream = function(n, t) {4612 n && Mc.hasOwnProperty(n.type) ? Mc[n.type](n, t) : se(n, t)4613 };4614 var Mc = {4615 Feature: function(n, t) {4616 se(n.geometry, t)4617 },4618 FeatureCollection: function(n, t) {4619 for (var e = n.features, r =- 1, u = e.length; ++r < u;)4620 se(e[r].geometry, t)4621 }4622 }, xc = {4623 Sphere: function(n, t) {4624 t.sphere()4625 },4626 Point: function(n, t) {4627 n = n.coordinates, t.point(n[0], n[1], n[2])4628 },4629 MultiPoint: function(n, t) {4630 for (var e = n.coordinates, r =- 1, u = e.length; ++r < u;)4631 n = e[r], t.point(n[0], n[1], n[2])4632 },4633 LineString: function(n, t) {4634 fe(n.coordinates, t, 0)4635 },4636 MultiLineString: function(n, t) {4637 for (var e = n.coordinates, r =- 1, u = e.length; ++r < u;)4638 fe(e[r], t, 0)4639 },4640 Polygon: function(n, t) {4641 he(n.coordinates, t)4642 },4643 MultiPolygon: function(n, t) {4644 for (var e = n.coordinates, r =- 1, u = e.length; ++r < u;)4645 he(e[r], t)4646 },4647 GeometryCollection: function(n, t) {4648 for (var e = n.geometries, r =- 1, u = e.length; ++r < u;)4649 se(e[r], t)4650 }4651 };4652 ta.geo.area = function(n) {4653 return bc = 0, ta.geo.stream(n, wc), bc4654 };4655 var bc, _c = new ce, wc = {4656 sphere: function() {4657 bc += 4 * Da4658 },4659 point: y,4660 lineStart: y,4661 lineEnd: y,4662 polygonStart: function() {4663 _c.reset(), wc.lineStart = ge4664 },4665 polygonEnd: function() {4666 var n = 2 * _c;4667 bc += 0 > n ? 4 * Da + n : n, wc.lineStart = wc.lineEnd = wc.point = y4668 }4669 };4670 ta.geo.bounds = function() {4671 function n(n, t) {4672 M.push(x = [s = n, h = n]), f > t && (f = t), t > g && (g = t)4673 }4674 function t(t, e) {4675 var r = pe([t * Fa, e * Fa]);4676 if (m) {4677 var u = de(m, r), i = [u[1], - u[0], 0], o = de(i, u);4678 Me(o), o = xe(o);4679 var c = t - p, l = c > 0 ? 1: - 1, v = o[0] * Ha * l, d = va(c) > 180;4680 if (d^(v > l * p && l * t > v)) {4681 var y = o[1] * Ha;4682 y > g && (g = y)4683 } else if (v = (v + 360)%360 - 180, d^(v > l * p && l * t > v)) {4684 var y =- o[1] * Ha;4685 f > y && (f = y)4686 } else 4687 f > e && (f = e), e > g && (g = e);4688 d ? p > t ? a(s, t) > a(s, h) && (h = t) : a(t, h) > a(s, h) && (s = t) : h >= s ? (s > t && (s = t), t > h && (h = t)) : t > p ? a(s, t) > a(s, h) && (h = t) : a(t, h) > a(s, h) && (s = t)4689 } else 4690 n(t, e);4691 m = r, p = t4692 }4693 function e() {4694 b.point = t4695 }4696 function r() {4697 x[0] = s, x[1] = h, b.point = n, m = null4698 }4699 function u(n, e) {4700 if (m) {4701 var r = n - p;4702 y += va(r) > 180 ? r + (r > 0 ? 360 : - 360) : r4703 } else 4704 v = n, d = e;4705 wc.point(n, e), t(n, e)4706 }4707 function i() {4708 wc.lineStart()4709 }4710 function o() {4711 u(v, d), wc.lineEnd(), va(y) > Ta && (s =- (h = 180)), x[0] = s, x[1] = h, m = null4712 }4713 function a(n, t) {4714 return (t -= n) < 0 ? t + 360 : t4715 }4716 function c(n, t) {4717 return n[0] - t[0]4718 }4719 function l(n, t) {4720 return t[0] <= t[1] ? t[0] <= n && n <= t[1] : n < t[0] || t[1] < n4721 }4722 var s, f, h, g, p, v, d, m, y, M, x, b = {4723 point: n,4724 lineStart: e,4725 lineEnd: r,4726 polygonStart: function() {4727 b.point = u, b.lineStart = i, b.lineEnd = o, y = 0, wc.polygonStart()4728 },4729 polygonEnd: function() {4730 wc.polygonEnd(), b.point = n, b.lineStart = e, b.lineEnd = r, 0 > _c ? (s =- (h = 180), f =- (g = 90)) : y > Ta ? g = 90 : - Ta > y && (f =- 90), x[0] = s, x[1] = h4731 }4732 };4733 return function(n) {4734 g = h =- (s = f = 1 / 0), M = [], ta.geo.stream(n, b);4735 var t = M.length;4736 if (t) {4737 M.sort(c);4738 for (var e, r = 1, u = M[0], i = [u]; t > r; ++r)4739 e = M[r], l(e[0], u) || l(e[1], u) ? (a(u[0], e[1]) > a(u[0], u[1]) && (u[1] = e[1]), a(e[0], u[1]) > a(u[0], u[1]) && (u[0] = e[0])) : i.push(u = e);4740 for (var o, e, p =- 1 / 0, t = i.length - 1, r = 0, u = i[t]; t >= r; u = e, ++r)4741 e = i[r], (o = a(u[1], e[0])) > p && (p = o, s = e[0], h = u[1])4742 }4743 return M = x = null, 1 / 0 === s || 1 / 0 === f ? [[0 / 0, 0 / 0], [0 / 0, 0 / 0]] : [[s, f], [h, g]]4744 }4745 }(), ta.geo.centroid = function(n) {4746 Sc = kc = Ec = Ac = Nc = Cc = zc = qc = Lc = Tc = Rc = 0, ta.geo.stream(n, Dc);4747 var t = Lc, e = Tc, r = Rc, u = t * t + e * e + r * r;4748 return Ra > u && (t = Cc, e = zc, r = qc, Ta > kc && (t = Ec, e = Ac, r = Nc), u = t * t + e * e + r * r, Ra > u) ? [0 / 0, 0 / 0] : [Math.atan2(e, t) * Ha, nt(r / Math.sqrt(u)) * Ha]4749 };4750 var Sc, kc, Ec, Ac, Nc, Cc, zc, qc, Lc, Tc, Rc, Dc = {4751 sphere: y,4752 point: _e,4753 lineStart: Se,4754 lineEnd: ke,4755 polygonStart: function() {4756 Dc.lineStart = Ee4757 },4758 polygonEnd: function() {4759 Dc.lineStart = Se4760 }4761 }, Pc = Le(Ne, Pe, je, [ - Da, - Da / 2]), Uc = 1e9;4762 ta.geo.clipExtent = function() {4763 var n, t, e, r, u, i, o = {4764 stream: function(n) {4765 return u && (u.valid=!1), u = i(n), u.valid=!0, u4766 },4767 extent: function(a) {4768 return arguments.length ? (i = Ye(n =+ a[0][0], t =+ a[0][1], e =+ a[1][0], r =+ a[1][1]), u && (u.valid=!1, u = null), o) : [[n, t], [e, r]]4769 }4770 };4771 return o.extent([[0, 0], [960, 500]])4772 }, (ta.geo.conicEqualArea = function() {4773 return Ie(Ze)4774 }).raw = Ze, ta.geo.albers = function() {4775 return ta.geo.conicEqualArea().rotate([96, 0]).center([ - .6, 38.7]).parallels([29.5, 45.5]).scale(1070)4776 }, ta.geo.albersUsa = function() {4777 function n(n) {4778 var i = n[0], o = n[1];4779 return t = null, e(i, o), t || (r(i, o), t) || u(i, o), t4780 }4781 var t, e, r, u, i = ta.geo.albers(), o = ta.geo.conicEqualArea().rotate([154, 0]).center([ - 2, 58.5]).parallels([55, 65]), a = ta.geo.conicEqualArea().rotate([157, 0]).center([ - 3, 19.9]).parallels([8, 18]), c = {4782 point: function(n, e) {4783 t = [n, e]4784 }4785 };4786 return n.invert = function(n) {4787 var t = i.scale(), e = i.translate(), r = (n[0] - e[0]) / t, u = (n[1] - e[1]) / t;4788 return (u >= .12 && .234 > u && r>=-.425&&-.214 > r ? o : u >= .166 && .234 > u && r>=-.214&&-.115 > r ? a : i).invert(n)4789 }, n.stream = function(n) {4790 var t = i.stream(n), e = o.stream(n), r = a.stream(n);4791 return {4792 point: function(n, u) {4793 t.point(n, u), e.point(n, u), r.point(n, u)4794 },4795 sphere: function() {4796 t.sphere(), e.sphere(), r.sphere()4797 },4798 lineStart: function() {4799 t.lineStart(), e.lineStart(), r.lineStart()4800 },4801 lineEnd: function() {4802 t.lineEnd(), e.lineEnd(), r.lineEnd()4803 },4804 polygonStart: function() {4805 t.polygonStart(), e.polygonStart(), r.polygonStart()4806 },4807 polygonEnd: function() {4808 t.polygonEnd(), e.polygonEnd(), r.polygonEnd()4809 }4810 }4811 }, n.precision = function(t) {4812 return arguments.length ? (i.precision(t), o.precision(t), a.precision(t), n) : i.precision()4813 }, n.scale = function(t) {4814 return arguments.length ? (i.scale(t), o.scale(.35 * t), a.scale(t), n.translate(i.translate())) : i.scale()4815 }, n.translate = function(t) {4816 if (!arguments.length)4817 return i.translate();4818 var l = i.scale(), s =+ t[0], f =+ t[1];4819 return e = i.translate(t).clipExtent([[s - .455 * l, f - .238 * l], [s + .455 * l, f + .238 * l]]).stream(c).point, r = o.translate([s - .307 * l, f + .201 * l]).clipExtent([[s - .425 * l + Ta, f + .12 * l + Ta], [s - .214 * l - Ta, f + .234 * l - Ta]]).stream(c).point, u = a.translate([s - .205 * l, f + .212 * l]).clipExtent([[s - .214 * l + Ta, f + .166 * l + Ta], [s - .115 * l - Ta, f + .234 * l - Ta]]).stream(c).point, n4820 }, n.scale(1070)4821 };4822 var jc, Fc, Hc, Oc, Yc, Ic, Zc = {4823 point: y,4824 lineStart: y,4825 lineEnd: y,4826 polygonStart: function() {4827 Fc = 0, Zc.lineStart = Ve4828 },4829 polygonEnd: function() {4830 Zc.lineStart = Zc.lineEnd = Zc.point = y, jc += va(Fc / 2)4831 }4832 }, Vc = {4833 point: Xe,4834 lineStart: y,4835 lineEnd: y,4836 polygonStart: y,4837 polygonEnd: y4838 }, Xc = {4839 point: We,4840 lineStart: Je,4841 lineEnd: Ge,4842 polygonStart: function() {4843 Xc.lineStart = Ke4844 },4845 polygonEnd: function() {4846 Xc.point = We, Xc.lineStart = Je, Xc.lineEnd = Ge4847 }4848 };4849 ta.geo.path = function() {4850 function n(n) {4851 return n && ("function" == typeof a && i.pointRadius( + a.apply(this, arguments)), o && o.valid || (o = u(i)), ta.geo.stream(n, o)), i.result()4852 }4853 function t() {4854 return o = null, n4855 }4856 var e, r, u, i, o, a = 4.5;4857 return n.area = function(n) {4858 return jc = 0, ta.geo.stream(n, u(Zc)), jc4859 }, n.centroid = function(n) {4860 return Ec = Ac = Nc = Cc = zc = qc = Lc = Tc = Rc = 0, ta.geo.stream(n, u(Xc)), Rc ? [Lc / Rc, Tc / Rc] : qc ? [Cc / qc, zc / qc] : Nc ? [Ec / Nc, Ac / Nc] : [0 / 0, 0 / 0]4861 }, n.bounds = function(n) {4862 return Yc = Ic =- (Hc = Oc = 1 / 0), ta.geo.stream(n, u(Vc)), [[Hc, Oc], [Yc, Ic]]4863 }, n.projection = function(n) {4864 return arguments.length ? (u = (e = n) ? n.stream || tr(n) : Et, t()) : e4865 }, n.context = function(n) {4866 return arguments.length ? (i = null == (r = n) ? new $e : new Qe(n), "function" != typeof a && i.pointRadius(a), t()) : r4867 }, n.pointRadius = function(t) {4868 return arguments.length ? (a = "function" == typeof t ? t : (i.pointRadius( + t), + t), n) : a4869 }, n.projection(ta.geo.albersUsa()).context(null)4870 }, ta.geo.transform = function(n) {4871 return {4872 stream: function(t) {4873 var e = new er(t);4874 for (var r in n)4875 e[r] = n[r];4876 return e4877 }4878 }4879 }, er.prototype = {4880 point: function(n, t) {4881 this.stream.point(n, t)4882 },4883 sphere: function() {4884 this.stream.sphere()4885 },4886 lineStart: function() {4887 this.stream.lineStart()4888 },4889 lineEnd: function() {4890 this.stream.lineEnd()4891 },4892 polygonStart: function() {4893 this.stream.polygonStart()4894 },4895 polygonEnd: function() {4896 this.stream.polygonEnd()4897 }4898 }, ta.geo.projection = ur, ta.geo.projectionMutator = ir, (ta.geo.equirectangular = function() {4899 return ur(ar)4900 }).raw = ar.invert = ar, ta.geo.rotation = function(n) {4901 function t(t) {4902 return t = n(t[0] * Fa, t[1] * Fa), t[0]*=Ha, t[1]*=Ha, t4903 }4904 return n = lr(n[0]%360 * Fa, n[1] * Fa, n.length > 2 ? n[2] * Fa : 0), t.invert = function(t) {4905 return t = n.invert(t[0] * Fa, t[1] * Fa), t[0]*=Ha, t[1]*=Ha, t4906 }, t4907 }, cr.invert = ar, ta.geo.circle = function() {4908 function n() {4909 var n = "function" == typeof r ? r.apply(this, arguments): r, t = lr( - n[0] * Fa, - n[1] * Fa, 0).invert, u = [];4910 return e(null, null, 1, {4911 point: function(n, e) {4912 u.push(n = t(n, e)), n[0]*=Ha, n[1]*=Ha4913 }4914 }), {4915 type: "Polygon",4916 coordinates: [u]4917 }4918 }4919 var t, e, r = [0, 0], u = 6;4920 return n.origin = function(t) {4921 return arguments.length ? (r = t, n) : r4922 }, n.angle = function(r) {4923 return arguments.length ? (e = gr((t =+ r) * Fa, u * Fa), n) : t4924 }, n.precision = function(r) {4925 return arguments.length ? (e = gr(t * Fa, (u =+ r) * Fa), n) : u4926 }, n.angle(90)4927 }, ta.geo.distance = function(n, t) {4928 var e, r = (t[0] - n[0]) * Fa, u = n[1] * Fa, i = t[1] * Fa, o = Math.sin(r), a = Math.cos(r), c = Math.sin(u), l = Math.cos(u), s = Math.sin(i), f = Math.cos(i);4929 return Math.atan2(Math.sqrt((e = f * o) * e + (e = l * s - c * f * a) * e), c * s + l * f * a)4930 }, ta.geo.graticule = function() {4931 function n() {4932 return {4933 type: "MultiLineString",4934 coordinates: t()4935 }4936 }4937 function t() {4938 return ta.range(Math.ceil(i / d) * d, u, d).map(h).concat(ta.range(Math.ceil(l / m) * m, c, m).map(g)).concat(ta.range(Math.ceil(r / p) * p, e, p).filter(function(n) {4939 return va(n%d) > Ta4940 }).map(s)).concat(ta.range(Math.ceil(a / v) * v, o, v).filter(function(n) {4941 return va(n%m) > Ta4942 }).map(f))4943 }4944 var e, r, u, i, o, a, c, l, s, f, h, g, p = 10, v = p, d = 90, m = 360, y = 2.5;4945 return n.lines = function() {4946 return t().map(function(n) {4947 return {4948 type: "LineString",4949 coordinates: n4950 }4951 })4952 }, n.outline = function() {4953 return {4954 type: "Polygon",4955 coordinates: [h(i).concat(g(c).slice(1), h(u).reverse().slice(1), g(l).reverse().slice(1))]4956 }4957 }, n.extent = function(t) {4958 return arguments.length ? n.majorExtent(t).minorExtent(t) : n.minorExtent()4959 }, n.majorExtent = function(t) {4960 return arguments.length ? (i =+ t[0][0], u =+ t[1][0], l =+ t[0][1], c =+ t[1][1], i > u && (t = i, i = u, u = t), l > c && (t = l, l = c, c = t), n.precision(y)) : [[i, l], [u, c]]4961 }, n.minorExtent = function(t) {4962 return arguments.length ? (r =+ t[0][0], e =+ t[1][0], a =+ t[0][1], o =+ t[1][1], r > e && (t = r, r = e, e = t), a > o && (t = a, a = o, o = t), n.precision(y)) : [[r, a], [e, o]]4963 }, n.step = function(t) {4964 return arguments.length ? n.majorStep(t).minorStep(t) : n.minorStep()4965 }, n.majorStep = function(t) {4966 return arguments.length ? (d =+ t[0], m =+ t[1], n) : [d, m]4967 }, n.minorStep = function(t) {4968 return arguments.length ? (p =+ t[0], v =+ t[1], n) : [p, v]4969 }, n.precision = function(t) {4970 return arguments.length ? (y =+ t, s = vr(a, o, 90), f = dr(r, e, y), h = vr(l, c, 90), g = dr(i, u, y), n) : y4971 }, n.majorExtent([[ - 180, - 90 + Ta], [180, 90 - Ta]]).minorExtent([[ - 180, - 80 - Ta], [180, 80 + Ta]])4972 }, ta.geo.greatArc = function() {4973 function n() {4974 return {4975 type: "LineString",4976 coordinates: [t || r.apply(this, arguments), e || u.apply(this, arguments)]4977 }4978 }4979 var t, e, r = mr, u = yr;4980 return n.distance = function() {4981 return ta.geo.distance(t || r.apply(this, arguments), e || u.apply(this, arguments))4982 }, n.source = function(e) {4983 return arguments.length ? (r = e, t = "function" == typeof e ? null : e, n) : r4984 }, n.target = function(t) {4985 return arguments.length ? (u = t, e = "function" == typeof t ? null : t, n) : u4986 }, n.precision = function() {4987 return arguments.length ? n : 04988 }, n4989 }, ta.geo.interpolate = function(n, t) {4990 return Mr(n[0] * Fa, n[1] * Fa, t[0] * Fa, t[1] * Fa)4991 }, ta.geo.length = function(n) {4992 return $c = 0, ta.geo.stream(n, Bc), $c4993 };4994 var $c, Bc = {4995 sphere: y,4996 point: y,4997 lineStart: xr,4998 lineEnd: y,4999 polygonStart: y,5000 polygonEnd: y5001 }, Wc = br(function(n) {5002 return Math.sqrt(2 / (1 + n))5003 }, function(n) {5004 return 2 * Math.asin(n / 2)5005 });5006 (ta.geo.azimuthalEqualArea = function() {5007 return ur(Wc)5008 }).raw = Wc;5009 var Jc = br(function(n) {5010 var t = Math.acos(n);5011 return t && t / Math.sin(t)5012 }, Et);5013 (ta.geo.azimuthalEquidistant = function() {5014 return ur(Jc)5015 }).raw = Jc, (ta.geo.conicConformal = function() {5016 return Ie(_r)5017 }).raw = _r, (ta.geo.conicEquidistant = function() {5018 return Ie(wr)5019 }).raw = wr;5020 var Gc = br(function(n) {5021 return 1 / n5022 }, Math.atan);5023 (ta.geo.gnomonic = function() {5024 return ur(Gc)5025 }).raw = Gc, Sr.invert = function(n, t) {5026 return [n, 2 * Math.atan(Math.exp(t)) - ja]5027 }, (ta.geo.mercator = function() {5028 return kr(Sr)5029 }).raw = Sr;5030 var Kc = br(function() {5031 return 15032 }, Math.asin);5033 (ta.geo.orthographic = function() {5034 return ur(Kc)5035 }).raw = Kc;5036 var Qc = br(function(n) {5037 return 1 / (1 + n)5038 }, function(n) {5039 return 2 * Math.atan(n)5040 });5041 (ta.geo.stereographic = function() {5042 return ur(Qc)5043 }).raw = Qc, Er.invert = function(n, t) {5044 return [ - t, 2 * Math.atan(Math.exp(n)) - ja]5045 }, (ta.geo.transverseMercator = function() {5046 var n = kr(Er), t = n.center, e = n.rotate;5047 return n.center = function(n) {5048 return n ? t([ - n[1], n[0]]) : (n = t(), [n[1], - n[0]])5049 }, n.rotate = function(n) {5050 return n ? e([n[0], n[1], n.length > 2 ? n[2] + 90: 90]) : (n = e(), [n[0], n[1], n[2] - 90])5051 }, e([0, 0, 90])5052 }).raw = Er, ta.geom = {}, ta.geom.hull = function(n) {5053 function t(n) {5054 if (n.length < 3)5055 return [];5056 var t, u = kt(e), i = kt(r), o = n.length, a = [], c = [];5057 for (t = 0; o > t; t++)5058 a.push([ + u.call(this, n[t], t), + i.call(this, n[t], t), t]);5059 for (a.sort(zr), t = 0; o > t; t++)5060 c.push([a[t][0], - a[t][1]]);5061 var l = Cr(a), s = Cr(c), f = s[0] === l[0], h = s[s.length - 1] === l[l.length - 1], g = [];5062 for (t = l.length - 1; t >= 0; --t)5063 g.push(n[a[l[t]][2]]);5064 for (t =+ f; t < s.length - h; ++t)5065 g.push(n[a[s[t]][2]]);5066 return g5067 }5068 var e = Ar, r = Nr;5069 return arguments.length ? t(n) : (t.x = function(n) {5070 return arguments.length ? (e = n, t) : e5071 }, t.y = function(n) {5072 return arguments.length ? (r = n, t) : r5073 }, t)5074 }, ta.geom.polygon = function(n) {5075 return xa(n, nl), n5076 };5077 var nl = ta.geom.polygon.prototype = [];5078 nl.area = function() {5079 for (var n, t =- 1, e = this.length, r = this[e - 1], u = 0; ++t < e;)5080 n = r, r = this[t], u += n[1] * r[0] - n[0] * r[1];5081 return .5 * u5082 }, nl.centroid = function(n) {5083 var t, e, r =- 1, u = this.length, i = 0, o = 0, a = this[u - 1];5084 for (arguments.length || (n =- 1 / (6 * this.area())); ++r < u;)5085 t = a, a = this[r], e = t[0] * a[1] - a[0] * t[1], i += (t[0] + a[0]) * e, o += (t[1] + a[1]) * e;5086 return [i * n, o * n]5087 }, nl.clip = function(n) {5088 for (var t, e, r, u, i, o, a = Tr(n), c =- 1, l = this.length - Tr(this), s = this[l - 1]; ++c < l;) {5089 for (t = n.slice(), n.length = 0, u = this[c], i = t[(r = t.length - a) - 1], e =- 1; ++e < r;)5090 o = t[e], qr(o, s, u) ? (qr(i, s, u) || n.push(Lr(i, o, s, u)), n.push(o)) : qr(i, s, u) && n.push(Lr(i, o, s, u)), i = o;5091 a && n.push(n[0]), s = u5092 }5093 return n5094 };5095 var tl, el, rl, ul, il, ol = [], al = [];5096 Or.prototype.prepare = function() {5097 for (var n, t = this.edges, e = t.length; e--;)5098 n = t[e].edge, n.b && n.a || t.splice(e, 1);5099 return t.sort(Ir), t.length5100 }, Qr.prototype = {5101 start: function() {5102 return this.edge.l === this.site ? this.edge.a : this.edge.b5103 },5104 end: function() {5105 return this.edge.l === this.site ? this.edge.b : this.edge.a5106 }5107 }, nu.prototype = {5108 insert: function(n, t) {5109 var e, r, u;5110 if (n) {5111 if (t.P = n, t.N = n.N, n.N && (n.N.P = t), n.N = t, n.R) {5112 for (n = n.R; n.L;)5113 n = n.L;5114 n.L = t5115 } else 5116 n.R = t;5117 e = n5118 } else 5119 this._ ? (n = uu(this._), t.P = null, t.N = n, n.P = n.L = t, e = n) : (t.P = t.N = null, this._ = t, e = null);5120 for (t.L = t.R = null, t.U = e, t.C=!0, n = t; e && e.C;)5121 r = e.U, e === r.L ? (u = r.R, u && u.C ? (e.C = u.C=!1, r.C=!0, n = r) : (n === e.R && (eu(this, e), n = e, e = n.U), e.C=!1, r.C=!0, ru(this, r))) : (u = r.L, u && u.C ? (e.C = u.C=!1, r.C=!0, n = r) : (n === e.L && (ru(this, e), n = e, e = n.U), e.C=!1, r.C=!0, eu(this, r))), e = n.U;5122 this._.C=!15123 },5124 remove: function(n) {5125 n.N && (n.N.P = n.P), n.P && (n.P.N = n.N), n.N = n.P = null;5126 var t, e, r, u = n.U, i = n.L, o = n.R;5127 if (e = i ? o ? uu(o) : i : o, u ? u.L === n ? u.L = e : u.R = e : this._ = e, i && o ? (r = e.C, e.C = n.C, e.L = i, i.U = e, e !== o ? (u = e.U, e.U = n.U, n = e.R, u.L = n, e.R = o, o.U = e) : (e.U = u, u = e, n = e.R)) : (r = n.C, n = e), n && (n.U = u), !r) {5128 if (n && n.C)5129 return n.C=!1, void 0;5130 do {5131 if (n === this._)5132 break;5133 if (n === u.L) {5134 if (t = u.R, t.C && (t.C=!1, u.C=!0, eu(this, u), t = u.R), t.L && t.L.C || t.R && t.R.C) {5135 t.R && t.R.C || (t.L.C=!1, t.C=!0, ru(this, t), t = u.R), t.C = u.C, u.C = t.R.C=!1, eu(this, u), n = this._;5136 break5137 }5138 } else if (t = u.L, t.C && (t.C=!1, u.C=!0, ru(this, u), t = u.L), t.L && t.L.C || t.R && t.R.C) {5139 t.L && t.L.C || (t.R.C=!1, t.C=!0, eu(this, t), t = u.L), t.C = u.C, u.C = t.L.C=!1, ru(this, u), n = this._;5140 break5141 }5142 t.C=!0, n = u, u = u.U5143 }5144 while (!n.C);5145 n && (n.C=!1)5146 }5147 }5148 }, ta.geom.voronoi = function(n) {5149 function t(n) {5150 var t = new Array(n.length), r = a[0][0], u = a[0][1], i = a[1][0], o = a[1][1];5151 return iu(e(n), a).cells.forEach(function(e, a) {5152 var c = e.edges, l = e.site, s = t[a] = c.length ? c.map(function(n) {5153 var t = n.start();5154 return [t.x, t.y]5155 }): l.x >= r && l.x <= i && l.y >= u && l.y <= o ? [[r, o], [i, o], [i, u], [r, u]]: [];5156 s.point = n[a]5157 }), t5158 }5159 function e(n) {5160 return n.map(function(n, t) {5161 return {5162 x: Math.round(i(n, t) / Ta) * Ta,5163 y: Math.round(o(n, t) / Ta) * Ta,5164 i: t5165 }5166 })5167 }5168 var r = Ar, u = Nr, i = r, o = u, a = cl;5169 return n ? t(n) : (t.links = function(n) {5170 return iu(e(n)).edges.filter(function(n) {5171 return n.l && n.r5172 }).map(function(t) {5173 return {5174 source: n[t.l.i],5175 target: n[t.r.i]5176 }5177 })5178 }, t.triangles = function(n) {5179 var t = [];5180 return iu(e(n)).cells.forEach(function(e, r) {5181 for (var u, i, o = e.site, a = e.edges.sort(Ir), c =- 1, l = a.length, s = a[l - 1].edge, f = s.l === o ? s.r : s.l; ++c < l;)5182 u = s, i = f, s = a[c].edge, f = s.l === o ? s.r : s.l, r < i.i && r < f.i && au(o, i, f) < 0 && t.push([n[r], n[i.i], n[f.i]])5183 }), t5184 }, t.x = function(n) {5185 return arguments.length ? (i = kt(r = n), t) : r5186 }, t.y = function(n) {5187 return arguments.length ? (o = kt(u = n), t) : u5188 }, t.clipExtent = function(n) {5189 return arguments.length ? (a = null == n ? cl : n, t) : a === cl ? null : a5190 }, t.size = function(n) {5191 return arguments.length ? t.clipExtent(n && [[0, 0], n]) : a === cl ? null : a && a[1]5192 }, t)5193 };5194 var cl = [[ - 1e6, - 1e6], [1e6, 1e6]];5195 ta.geom.delaunay = function(n) {5196 return ta.geom.voronoi().triangles(n)5197 }, ta.geom.quadtree = function(n, t, e, r, u) {5198 function i(n) {5199 function i(n, t, e, r, u, i, o, a) {5200 if (!isNaN(e)&&!isNaN(r))5201 if (n.leaf) {5202 var c = n.x, s = n.y;5203 if (null != c)5204 if (va(c - e) + va(s - r) < .01)5205 l(n, t, e, r, u, i, o, a);5206 else {5207 var f = n.point;5208 n.x = n.y = n.point = null, l(n, f, c, s, u, i, o, a), l(n, t, e, r, u, i, o, a)5209 } else 5210 n.x = e, n.y = r, n.point = t5211 } else 5212 l(n, t, e, r, u, i, o, a)5213 }5214 function l(n, t, e, r, u, o, a, c) {5215 var l = .5 * (u + a), s = .5 * (o + c), f = e >= l, h = r >= s, g = h<<1 | f;5216 n.leaf=!1, n = n.nodes[g] || (n.nodes[g] = su()), f ? u = l : a = l, h ? o = s : c = s, i(n, t, e, r, u, o, a, c)5217 }5218 var s, f, h, g, p, v, d, m, y, M = kt(a), x = kt(c);5219 if (null != t)5220 v = t, d = e, m = r, y = u;5221 else if (m = y =- (v = d = 1 / 0), f = [], h = [], p = n.length, o)5222 for (g = 0; p > g; ++g)5223 s = n[g], s.x < v && (v = s.x), s.y < d && (d = s.y), s.x > m && (m = s.x), s.y > y && (y = s.y), f.push(s.x), h.push(s.y);5224 else 5225 for (g = 0; p > g; ++g) {5226 var b =+ M(s = n[g], g), _ =+ x(s, g);5227 v > b && (v = b), d > _ && (d = _), b > m && (m = b), _ > y && (y = _), f.push(b), h.push(_)5228 }5229 var w = m - v, S = y - d;5230 w > S ? y = d + w : m = v + S;5231 var k = su();5232 if (k.add = function(n) {5233 i(k, n, + M(n, ++g), + x(n, g), v, d, m, y)5234 }, k.visit = function(n) {5235 fu(n, k, v, d, m, y)5236 }, k.find = function(n) {5237 return hu(k, n[0], n[1], v, d, m, y)5238 }, g =- 1, null == t) {5239 for (; ++g < p;)5240 i(k, n[g], f[g], h[g], v, d, m, y);5241 --g5242 } else 5243 n.forEach(k.add);5244 return f = h = n = s = null, k5245 }5246 var o, a = Ar, c = Nr;5247 return (o = arguments.length) ? (a = cu, c = lu, 3 === o && (u = e, r = t, e = t = 0), i(n)) : (i.x = function(n) {5248 return arguments.length ? (a = n, i) : a5249 }, i.y = function(n) {5250 return arguments.length ? (c = n, i) : c5251 }, i.extent = function(n) {5252 return arguments.length ? (null == n ? t = e = r = u = null : (t =+ n[0][0], e =+ n[0][1], r =+ n[1][0], u =+ n[1][1]), i) : null == t ? null : [[t, e], [r, u]]5253 }, i.size = function(n) {5254 return arguments.length ? (null == n ? t = e = r = u = null : (t = e = 0, r =+ n[0], u =+ n[1]), i) : null == t ? null : [r - t, u - e]5255 }, i)5256 }, ta.interpolateRgb = gu, ta.interpolateObject = pu, ta.interpolateNumber = vu, ta.interpolateString = du;5257 var ll = /[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g, sl = new RegExp(ll.source, "g");5258 ta.interpolate = mu, ta.interpolators = [function(n, t) {5259 var e = typeof t;5260 return ("string" === e ? tc.has(t) || /^(#|rgb\(|hsl\()/.test(t) ? gu : du : t instanceof it ? gu : Array.isArray(t) ? yu : "object" === e && isNaN(t) ? pu : vu)(n, t)5261 }5262 ], ta.interpolateArray = yu;5263 var fl = function() {5264 return Et5265 }, hl = ta.map({5266 linear: fl,5267 poly: ku,5268 quad: function() {5269 return _u5270 },5271 cubic: function() {5272 return wu5273 },5274 sin: function() {5275 return Eu5276 },5277 exp: function() {5278 return Au5279 },5280 circle: function() {5281 return Nu5282 },5283 elastic: Cu,5284 back: zu,5285 bounce: function() {5286 return qu5287 }5288 }), gl = ta.map({5289 "in": Et,5290 out: xu,5291 "in-out": bu,5292 "out-in": function(n) {5293 return bu(xu(n))5294 }5295 });5296 ta.ease = function(n) {5297 var t = n.indexOf("-"), e = t >= 0 ? n.slice(0, t): n, r = t >= 0 ? n.slice(t + 1): "in";5298 return e = hl.get(e) || fl, r = gl.get(r) || Et, Mu(r(e.apply(null, ea.call(arguments, 1))))5299 }, ta.interpolateHcl = Lu, ta.interpolateHsl = Tu, ta.interpolateLab = Ru, ta.interpolateRound = Du, ta.transform = function(n) {5300 var t = ua.createElementNS(ta.ns.prefix.svg, "g");5301 return (ta.transform = function(n) {5302 if (null != n) {5303 t.setAttribute("transform", n);5304 var e = t.transform.baseVal.consolidate()5305 }5306 return new Pu(e ? e.matrix : pl)5307 })(n)5308 }, Pu.prototype.toString = function() {5309 return "translate(" + this.translate + ")rotate(" + this.rotate + ")skewX(" + this.skew + ")scale(" + this.scale + ")"5310 };5311 var pl = {5312 a: 1,5313 b: 0,5314 c: 0,5315 d: 1,5316 e: 0,5317 f: 05318 };5319 ta.interpolateTransform = Hu, ta.layout = {}, ta.layout.bundle = function() {5320 return function(n) {5321 for (var t = [], e =- 1, r = n.length; ++e < r;)5322 t.push(Iu(n[e]));5323 return t5324 }5325 }, ta.layout.chord = function() {5326 function n() {5327 var n, l, f, h, g, p = {}, v = [], d = ta.range(i), m = [];5328 for (e = [], r = [], n = 0, h =- 1; ++h < i;) {5329 for (l = 0, g =- 1; ++g < i;)5330 l += u[h][g];5331 v.push(l), m.push(ta.range(i)), n += l5332 }5333 for (o && d.sort(function(n, t) {5334 return o(v[n], v[t])5335 }), a && m.forEach(function(n, t) {5336 n.sort(function(n, e) {5337 return a(u[t][n], u[t][e])5338 })5339 }), n = (Pa - s * i) / n, l = 0, h =- 1; ++h < i;) {5340 for (f = l, g =- 1; ++g < i;) {5341 var y = d[h], M = m[y][g], x = u[y][M], b = l, _ = l += x * n;5342 p[y + "-" + M] = {5343 index: y,5344 subindex: M,5345 startAngle: b,5346 endAngle: _,5347 value: x5348 }5349 }5350 r[y] = {5351 index: y,5352 startAngle: f,5353 endAngle: l,5354 value: (l - f) / n5355 }, l += s5356 }5357 for (h =- 1; ++h < i;)5358 for (g = h - 1; ++g < i;) {5359 var w = p[h + "-" + g], S = p[g + "-" + h];5360 (w.value || S.value) && e.push(w.value < S.value ? {5361 source: S,5362 target: w5363 } : {5364 source: w,5365 target: S5366 })5367 }5368 c && t()5369 }5370 function t() {5371 e.sort(function(n, t) {5372 return c((n.source.value + n.target.value) / 2, (t.source.value + t.target.value) / 2)5373 })5374 }5375 var e, r, u, i, o, a, c, l = {}, s = 0;5376 return l.matrix = function(n) {5377 return arguments.length ? (i = (u = n) && u.length, e = r = null, l) : u5378 }, l.padding = function(n) {5379 return arguments.length ? (s = n, e = r = null, l) : s5380 }, l.sortGroups = function(n) {5381 return arguments.length ? (o = n, e = r = null, l) : o5382 }, l.sortSubgroups = function(n) {5383 return arguments.length ? (a = n, e = null, l) : a5384 }, l.sortChords = function(n) {5385 return arguments.length ? (c = n, e && t(), l) : c5386 }, l.chords = function() {5387 return e || n(), e5388 }, l.groups = function() {5389 return r || n(), r5390 }, l5391 }, ta.layout.force = function() {5392 function n(n) {5393 return function(t, e, r, u) {5394 if (t.point !== n) {5395 var i = t.cx - n.x, o = t.cy - n.y, a = u - e, c = i * i + o * o;5396 if (c > a * a / d) {5397 if (p > c) {5398 var l = t.charge / c;5399 n.px -= i * l, n.py -= o * l5400 }5401 return !05402 }5403 if (t.point && c && p > c) {5404 var l = t.pointCharge / c;5405 n.px -= i * l, n.py -= o * l5406 }5407 }5408 return !t.charge5409 }5410 }5411 function t(n) {5412 n.px = ta.event.x, n.py = ta.event.y, a.resume()5413 }5414 var e, r, u, i, o, a = {}, c = ta.dispatch("start", "tick", "end"), l = [1, 1], s = .9, f = vl, h = dl, g =- 30, p = ml, v = .1, d = .64, m = [], y = [];5415 return a.tick = function() {5416 if ((r*=.99) < .005)5417 return c.end({5418 type: "end",5419 alpha: r = 05420 }), !0;5421 var t, e, a, f, h, p, d, M, x, b = m.length, _ = y.length;5422 for (e = 0; _ > e; ++e)5423 a = y[e], f = a.source, h = a.target, M = h.x - f.x, x = h.y - f.y, (p = M * M + x * x) && (p = r * i[e] * ((p = Math.sqrt(p)) - u[e]) / p, M*=p, x*=p, h.x -= M * (d = f.weight / (h.weight + f.weight)), h.y -= x * d, f.x += M * (d = 1 - d), f.y += x * d);5424 if ((d = r * v) && (M = l[0] / 2, x = l[1] / 2, e =- 1, d))5425 for (; ++e < b;)5426 a = m[e], a.x += (M - a.x) * d, a.y += (x - a.y) * d;5427 if (g)5428 for (Ju(t = ta.geom.quadtree(m), r, o)5429 , e =- 1;5430 ++e < b;5431 )(a = m[e]).fixed || t.visit(n(a));5432 for (e =- 1; ++e < b;)5433 a = m[e], a.fixed ? (a.x = a.px, a.y = a.py) : (a.x -= (a.px - (a.px = a.x)) * s, a.y -= (a.py - (a.py = a.y)) * s);5434 c.tick({5435 type: "tick",5436 alpha: r5437 })5438 }, a.nodes = function(n) {5439 return arguments.length ? (m = n, a) : m5440 }, a.links = function(n) {5441 return arguments.length ? (y = n, a) : y5442 }, a.size = function(n) {5443 return arguments.length ? (l = n, a) : l5444 }, a.linkDistance = function(n) {5445 return arguments.length ? (f = "function" == typeof n ? n : + n, a) : f5446 }, a.distance = a.linkDistance, a.linkStrength = function(n) {5447 return arguments.length ? (h = "function" == typeof n ? n : + n, a) : h5448 }, a.friction = function(n) {5449 return arguments.length ? (s =+ n, a) : s5450 }, a.charge = function(n) {5451 return arguments.length ? (g = "function" == typeof n ? n : + n, a) : g5452 }, a.chargeDistance = function(n) {5453 return arguments.length ? (p = n * n, a) : Math.sqrt(p)5454 }, a.gravity = function(n) {5455 return arguments.length ? (v =+ n, a) : v5456 }, a.theta = function(n) {5457 return arguments.length ? (d = n * n, a) : Math.sqrt(d)5458 }, a.alpha = function(n) {5459 return arguments.length ? (n =+ n, r ? r = n > 0 ? n : 0 : n > 0 && (c.start({5460 type: "start",5461 alpha: r = n5462 }), ta.timer(a.tick)), a) : r5463 }, a.start = function() {5464 function n(n, r) {5465 if (!e) {5466 for (e = new Array(c), a = 0; c > a; ++a)5467 e[a] = [];5468 for (a = 0; l > a; ++a) {5469 var u = y[a];5470 e[u.source.index].push(u.target), e[u.target.index].push(u.source)5471 }5472 }5473 for (var i, o = e[t], a =- 1, l = o.length; ++a < l;)5474 if (!isNaN(i = o[a][n]))5475 return i;5476 return Math.random() * r5477 }5478 var t, e, r, c = m.length, s = y.length, p = l[0], v = l[1];5479 for (t = 0; c > t; ++t)(r = m[t])5480 .index = t, r.weight = 0;5481 for (t = 0; s > t; ++t)5482 r = y[t], "number" == typeof r.source && (r.source = m[r.source]), "number" == typeof r.target && (r.target = m[r.target]), ++r.source.weight, ++r.target.weight;5483 for (t = 0; c > t; ++t)5484 r = m[t], isNaN(r.x) && (r.x = n("x", p)), isNaN(r.y) && (r.y = n("y", v)), isNaN(r.px) && (r.px = r.x), isNaN(r.py) && (r.py = r.y);5485 if (u = [], "function" == typeof f)5486 for (t = 0; s > t; ++t)5487 u[t] =+ f.call(this, y[t], t);5488 else 5489 for (t = 0; s > t; ++t)5490 u[t] = f;5491 if (i = [], "function" == typeof h)5492 for (t = 0; s > t; ++t)5493 i[t] =+ h.call(this, y[t], t);5494 else 5495 for (t = 0; s > t; ++t)5496 i[t] = h;5497 if (o = [], "function" == typeof g)5498 for (t = 0; c > t; ++t)5499 o[t] =+ g.call(this, m[t], t);5500 else 5501 for (t = 0; c > t; ++t)5502 o[t] = g;5503 return a.resume()5504 }, a.resume = function() {5505 return a.alpha(.1)5506 }, a.stop = function() {5507 return a.alpha(0)5508 }, a.drag = function() {5509 return e || (e = ta.behavior.drag().origin(Et).on("dragstart.force", Xu).on("drag.force", t).on("dragend.force", $u)), arguments.length ? (this.on("mouseover.force", Bu).on("mouseout.force", Wu).call(e), void 0) : e5510 }, ta.rebind(a, c, "on")5511 };5512 var vl = 20, dl = 1, ml = 1 / 0;5513 ta.layout.hierarchy = function() {5514 function n(u) {5515 var i, o = [u], a = [];5516 for (u.depth = 0; null != (i = o.pop());)5517 if (a.push(i), (l = e.call(n, i, i.depth)) && (c = l.length)) {5518 for (var c, l, s; --c >= 0;)5519 o.push(s = l[c]), s.parent = i, s.depth = i.depth + 1;5520 r && (i.value = 0), i.children = l5521 } else 5522 r && (i.value =+ r.call(n, i, i.depth) || 0), delete i.children;5523 return Qu(u, function(n) {5524 var e, u;5525 t && (e = n.children) && e.sort(t), r && (u = n.parent) && (u.value += n.value)5526 }), a5527 }5528 var t = ei, e = ni, r = ti;5529 return n.sort = function(e) {5530 return arguments.length ? (t = e, n) : t5531 }, n.children = function(t) {5532 return arguments.length ? (e = t, n) : e5533 }, n.value = function(t) {5534 return arguments.length ? (r = t, n) : r5535 }, n.revalue = function(t) {5536 return r && (Ku(t, function(n) {5537 n.children && (n.value = 0)5538 }), Qu(t, function(t) {5539 var e;5540 t.children || (t.value =+ r.call(n, t, t.depth) || 0), (e = t.parent) && (e.value += t.value)5541 })), t5542 }, n5543 }, ta.layout.partition = function() {5544 function n(t, e, r, u) {5545 var i = t.children;5546 if (t.x = e, t.y = t.depth * u, t.dx = r, t.dy = u, i && (o = i.length)) {5547 var o, a, c, l =- 1;5548 for (r = t.value ? r / t.value : 0; ++l < o;)5549 n(a = i[l], e, c = a.value * r, u), e += c5550 }5551 }5552 function t(n) {5553 var e = n.children, r = 0;5554 if (e && (u = e.length))5555 for (var u, i =- 1; ++i < u;)5556 r = Math.max(r, t(e[i]));5557 return 1 + r5558 }5559 function e(e, i) {5560 var o = r.call(this, e, i);5561 return n(o[0], 0, u[0], u[1] / t(o[0])), o5562 }5563 var r = ta.layout.hierarchy(), u = [1, 1];5564 return e.size = function(n) {5565 return arguments.length ? (u = n, e) : u5566 }, Gu(e, r)5567 }, ta.layout.pie = function() {5568 function n(o) {5569 var a, c = o.length, l = o.map(function(e, r) {5570 return + t.call(n, e, r)5571 }), s =+ ("function" == typeof r ? r.apply(this, arguments) : r), f = ("function" == typeof u ? u.apply(this, arguments) : u) - s, h = Math.min(Math.abs(f) / c, + ("function" == typeof i ? i.apply(this, arguments) : i)), g = h * (0 > f?-1 : 1), p = (f - c * g) / ta.sum(l), v = ta.range(c), d = [];5572 return null != e && v.sort(e === yl ? function(n, t) {5573 return l[t] - l[n]5574 } : function(n, t) {5575 return e(o[n], o[t])5576 }), v.forEach(function(n) {5577 d[n] = {5578 data: o[n],5579 value: a = l[n],5580 startAngle: s,5581 endAngle: s += a * p + g,5582 padAngle: h5583 }5584 }), d5585 }5586 var t = Number, e = yl, r = 0, u = Pa, i = 0;5587 return n.value = function(e) {5588 return arguments.length ? (t = e, n) : t5589 }, n.sort = function(t) {5590 return arguments.length ? (e = t, n) : e5591 }, n.startAngle = function(t) {5592 return arguments.length ? (r = t, n) : r5593 }, n.endAngle = function(t) {5594 return arguments.length ? (u = t, n) : u5595 }, n.padAngle = function(t) {5596 return arguments.length ? (i = t, n) : i5597 }, n5598 };5599 var yl = {};5600 ta.layout.stack = function() {5601 function n(a, c) {5602 if (!(h = a.length))5603 return a;5604 var l = a.map(function(e, r) {5605 return t.call(n, e, r)5606 }), s = l.map(function(t) {5607 return t.map(function(t, e) {5608 return [i.call(n, t, e), o.call(n, t, e)]5609 })5610 }), f = e.call(n, s, c);5611 l = ta.permute(l, f), s = ta.permute(s, f);5612 var h, g, p, v, d = r.call(n, s, c), m = l[0].length;5613 for (p = 0; m > p; ++p)5614 for (u.call(n, l[0][p], v = d[p], s[0][p][1]), g = 1; h > g; ++g)5615 u.call(n, l[g][p], v += s[g - 1][p][1], s[g][p][1]);5616 return a5617 }5618 var t = Et, e = ai, r = ci, u = oi, i = ui, o = ii;5619 return n.values = function(e) {5620 return arguments.length ? (t = e, n) : t5621 }, n.order = function(t) {5622 return arguments.length ? (e = "function" == typeof t ? t : Ml.get(t) || ai, n) : e5623 }, n.offset = function(t) {5624 return arguments.length ? (r = "function" == typeof t ? t : xl.get(t) || ci, n) : r5625 }, n.x = function(t) {5626 return arguments.length ? (i = t, n) : i5627 }, n.y = function(t) {5628 return arguments.length ? (o = t, n) : o5629 }, n.out = function(t) {5630 return arguments.length ? (u = t, n) : u5631 }, n5632 };5633 var Ml = ta.map({5634 "inside-out": function(n) {5635 var t, e, r = n.length, u = n.map(li), i = n.map(si), o = ta.range(r).sort(function(n, t) {5636 return u[n] - u[t]5637 }), a = 0, c = 0, l = [], s = [];5638 for (t = 0; r > t; ++t)5639 e = o[t], c > a ? (a += i[e], l.push(e)) : (c += i[e], s.push(e));5640 return s.reverse().concat(l)5641 },5642 reverse: function(n) {5643 return ta.range(n.length).reverse()5644 },5645 "default": ai5646 }), xl = ta.map({5647 silhouette: function(n) {5648 var t, e, r, u = n.length, i = n[0].length, o = [], a = 0, c = [];5649 for (e = 0; i > e; ++e) {5650 for (t = 0, r = 0; u > t; t++)5651 r += n[t][e][1];5652 r > a && (a = r), o.push(r)5653 }5654 for (e = 0; i > e; ++e)5655 c[e] = (a - o[e]) / 2;5656 return c5657 },5658 wiggle: function(n) {5659 var t, e, r, u, i, o, a, c, l, s = n.length, f = n[0], h = f.length, g = [];5660 for (g[0] = c = l = 0, e = 1; h > e; ++e) {5661 for (t = 0, u = 0; s > t; ++t)5662 u += n[t][e][1];5663 for (t = 0, i = 0, a = f[e][0] - f[e - 1][0]; s > t; ++t) {5664 for (r = 0, o = (n[t][e][1] - n[t][e - 1][1]) / (2 * a); t > r; ++r)5665 o += (n[r][e][1] - n[r][e - 1][1]) / a;5666 i += o * n[t][e][1]5667 }5668 g[e] = c -= u ? i / u * a : 0, l > c && (l = c)5669 }5670 for (e = 0; h > e; ++e)5671 g[e] -= l;5672 return g5673 },5674 expand: function(n) {5675 var t, e, r, u = n.length, i = n[0].length, o = 1 / u, a = [];5676 for (e = 0; i > e; ++e) {5677 for (t = 0, r = 0; u > t; t++)5678 r += n[t][e][1];5679 if (r)5680 for (t = 0; u > t; t++)5681 n[t][e][1]/=r;5682 else 5683 for (t = 0; u > t; t++)5684 n[t][e][1] = o5685 }5686 for (e = 0; i > e; ++e)5687 a[e] = 0;5688 return a5689 },5690 zero: ci5691 });5692 ta.layout.histogram = function() {5693 function n(n, i) {5694 for (var o, a, c = [], l = n.map(e, this), s = r.call(this, l, i), f = u.call(this, s, l, i), i =- 1, h = l.length, g = f.length - 1, p = t ? 1 : 1 / h; ++i < g;)5695 o = c[i] = [], o.dx = f[i + 1] - (o.x = f[i]), o.y = 0;5696 if (g > 0)5697 for (i =- 1; ++i < h;)5698 a = l[i], a >= s[0] && a <= s[1] && (o = c[ta.bisect(f, a, 1, g) - 1], o.y += p, o.push(n[i]));5699 return c5700 }5701 var t=!0, e = Number, r = pi, u = hi;5702 return n.value = function(t) {5703 return arguments.length ? (e = t, n) : e5704 }, n.range = function(t) {5705 return arguments.length ? (r = kt(t), n) : r5706 }, n.bins = function(t) {5707 return arguments.length ? (u = "number" == typeof t ? function(n) {5708 return gi(n, t)5709 } : kt(t), n) : u5710 }, n.frequency = function(e) {5711 return arguments.length ? (t=!!e, n) : t5712 }, n5713 }, ta.layout.pack = function() {5714 function n(n, i) {5715 var o = e.call(this, n, i), a = o[0], c = u[0], l = u[1], s = null == t ? Math.sqrt: "function" == typeof t ? t: function() {5716 return t5717 };5718 if (a.x = a.y = 0, Qu(a, function(n) {5719 n.r =+ s(n.value)5720 }), Qu(a, Mi), r) {5721 var f = r * (t ? 1 : Math.max(2 * a.r / c, 2 * a.r / l)) / 2;5722 Qu(a, function(n) {5723 n.r += f5724 }), Qu(a, Mi), Qu(a, function(n) {5725 n.r -= f5726 })5727 }5728 return _i(a, c / 2, l / 2, t ? 1 : 1 / Math.max(2 * a.r / c, 2 * a.r / l)), o5729 }5730 var t, e = ta.layout.hierarchy().sort(vi), r = 0, u = [1, 1];5731 return n.size = function(t) {5732 return arguments.length ? (u = t, n) : u5733 }, n.radius = function(e) {5734 return arguments.length ? (t = null == e || "function" == typeof e ? e : + e, n) : t5735 }, n.padding = function(t) {5736 return arguments.length ? (r =+ t, n) : r5737 }, Gu(n, e)5738 }, ta.layout.tree = function() {5739 function n(n, u) {5740 var s = o.call(this, n, u), f = s[0], h = t(f);5741 if (Qu(h, e), h.parent.m =- h.z, Ku(h, r), l)5742 Ku(f, i);5743 else {5744 var g = f, p = f, v = f;5745 Ku(f, function(n) {5746 n.x < g.x && (g = n), n.x > p.x && (p = n), n.depth > v.depth && (v = n)5747 });5748 var d = a(g, p) / 2 - g.x, m = c[0] / (p.x + a(p, g) / 2 + d), y = c[1] / (v.depth || 1);5749 Ku(f, function(n) {5750 n.x = (n.x + d) * m, n.y = n.depth * y5751 })5752 }5753 return s5754 }5755 function t(n) {5756 for (var t, e = {5757 A: null,5758 children: [n]5759 }, r = [e]; null != (t = r.pop());)5760 for (var u, i = t.children, o = 0, a = i.length; a > o; ++o)5761 r.push((i[o] = u = {5762 _: i[o],5763 parent: t,5764 children: (u = i[o].children) && u.slice() || [],5765 A: null,5766 a: null,5767 z: 0,5768 m: 0,5769 c: 0,5770 s: 0,5771 t: null,5772 i: o5773 }).a = u);5774 return e.children[0]5775 }5776 function e(n) {5777 var t = n.children, e = n.parent.children, r = n.i ? e[n.i - 1]: null;5778 if (t.length) {5779 Ni(n);5780 var i = (t[0].z + t[t.length - 1].z) / 2;5781 r ? (n.z = r.z + a(n._, r._), n.m = n.z - i) : n.z = i5782 } else 5783 r && (n.z = r.z + a(n._, r._));5784 n.parent.A = u(n, r, n.parent.A || e[0])5785 }5786 function r(n) {5787 n._.x = n.z + n.parent.m, n.m += n.parent.m5788 }5789 function u(n, t, e) {5790 if (t) {5791 for (var r, u = n, i = n, o = t, c = u.parent.children[0], l = u.m, s = i.m, f = o.m, h = c.m; o = Ei(o), u = ki(u), o && u;)5792 c = ki(c), i = Ei(i), i.a = n, r = o.z + f - u.z - l + a(o._, u._), r > 0 && (Ai(Ci(o, n, e), n, r), l += r, s += r), f += o.m, l += u.m, h += c.m, s += i.m;5793 o&&!Ei(i) && (i.t = o, i.m += f - s), u&&!ki(c) && (c.t = u, c.m += l - h, e = n)5794 }5795 return e5796 }5797 function i(n) {5798 n.x*=c[0], n.y = n.depth * c[1]5799 }5800 var o = ta.layout.hierarchy().sort(null).value(null), a = Si, c = [1, 1], l = null;5801 return n.separation = function(t) {5802 return arguments.length ? (a = t, n) : a5803 }, n.size = function(t) {5804 return arguments.length ? (l = null == (c = t) ? i : null, n) : l ? null : c5805 }, n.nodeSize = function(t) {5806 return arguments.length ? (l = null == (c = t) ? null : i, n) : l ? c : null5807 }, Gu(n, o)5808 }, ta.layout.cluster = function() {5809 function n(n, i) {5810 var o, a = t.call(this, n, i), c = a[0], l = 0;5811 Qu(c, function(n) {5812 var t = n.children;5813 t && t.length ? (n.x = qi(t), n.y = zi(t)) : (n.x = o ? l += e(n, o) : 0, n.y = 0, o = n)5814 });5815 var s = Li(c), f = Ti(c), h = s.x - e(s, f) / 2, g = f.x + e(f, s) / 2;5816 return Qu(c, u ? function(n) {5817 n.x = (n.x - c.x) * r[0], n.y = (c.y - n.y) * r[1]5818 } : function(n) {5819 n.x = (n.x - h) / (g - h) * r[0], n.y = (1 - (c.y ? n.y / c.y : 1)) * r[1]5820 }), a5821 }5822 var t = ta.layout.hierarchy().sort(null).value(null), e = Si, r = [1, 1], u=!1;5823 return n.separation = function(t) {5824 return arguments.length ? (e = t, n) : e5825 }, n.size = function(t) {5826 return arguments.length ? (u = null == (r = t), n) : u ? null : r5827 }, n.nodeSize = function(t) {5828 return arguments.length ? (u = null != (r = t), n) : u ? r : null5829 }, Gu(n, t)5830 }, ta.layout.treemap = function() {5831 function n(n, t) {5832 for (var e, r, u =- 1, i = n.length; ++u < i;)5833 r = (e = n[u]).value * (0 > t ? 0 : t), e.area = isNaN(r) || 0 >= r ? 0 : r5834 }5835 function t(e) {5836 var i = e.children;5837 if (i && i.length) {5838 var o, a, c, l = f(e), s = [], h = i.slice(), p = 1 / 0, v = "slice" === g ? l.dx: "dice" === g ? l.dy: "slice-dice" === g ? 1 & e.depth ? l.dy: l.dx: Math.min(l.dx, l.dy);5839 for (n(h, l.dx * l.dy / e.value)5840 , s.area = 0;5841 (c = h.length) > 0;5842 )s.push(o = h[c - 1]), s.area += o.area, "squarify" !== g || (a = r(s, v)) <= p ? (h.pop(), p = a) : (s.area -= s.pop().area, u(s, v, l, !1), v = Math.min(l.dx, l.dy), s.length = s.area = 0, p = 1 / 0);5843 s.length && (u(s, v, l, !0), s.length = s.area = 0), i.forEach(t)5844 }5845 }5846 function e(t) {5847 var r = t.children;5848 if (r && r.length) {5849 var i, o = f(t), a = r.slice(), c = [];5850 for (n(a, o.dx * o.dy / t.value)5851 , c.area = 0;5852 i = a.pop();5853 )c.push(i), c.area += i.area, null != i.z && (u(c, i.z ? o.dx : o.dy, o, !a.length), c.length = c.area = 0);5854 r.forEach(e)5855 }5856 }5857 function r(n, t) {5858 for (var e, r = n.area, u = 0, i = 1 / 0, o =- 1, a = n.length; ++o < a;)(e = n[o].area) 5859 && (i > e && (i = e), e > u && (u = e));5860 return r*=r, t*=t, r ? Math.max(t * u * p / r, r / (t * i * p)) : 1 / 05861 }5862 function u(n, t, e, r) {5863 var u, i =- 1, o = n.length, a = e.x, l = e.y, s = t ? c(n.area / t) : 0;5864 if (t == e.dx) {5865 for ((r || s > e.dy) && (s = e.dy); ++i < o;)5866 u = n[i], u.x = a, u.y = l, u.dy = s, a += u.dx = Math.min(e.x + e.dx - a, s ? c(u.area / s) : 0);5867 u.z=!0, u.dx += e.x + e.dx - a, e.y += s, e.dy -= s5868 } else {5869 for ((r || s > e.dx) && (s = e.dx); ++i < o;)5870 u = n[i], u.x = a, u.y = l, u.dx = s, l += u.dy = Math.min(e.y + e.dy - l, s ? c(u.area / s) : 0);5871 u.z=!1, u.dy += e.y + e.dy - l, e.x += s, e.dx -= s5872 }5873 }5874 function i(r) {5875 var u = o || a(r), i = u[0];5876 return i.x = 0, i.y = 0, i.dx = l[0], i.dy = l[1], o && a.revalue(i), n([i], i.dx * i.dy / i.value), (o ? e : t)(i), h && (o = u), u5877 }5878 var o, a = ta.layout.hierarchy(), c = Math.round, l = [1, 1], s = null, f = Ri, h=!1, g = "squarify", p = .5 * (1 + Math.sqrt(5));5879 return i.size = function(n) {5880 return arguments.length ? (l = n, i) : l5881 }, i.padding = function(n) {5882 function t(t) {5883 var e = n.call(i, t, t.depth);5884 return null == e ? Ri(t) : Di(t, "number" == typeof e ? [e, e, e, e] : e)5885 }5886 function e(t) {5887 return Di(t, n)5888 }5889 if (!arguments.length)5890 return s;5891 var r;5892 return f = null == (s = n) ? Ri : "function" == (r = typeof n) ? t : "number" === r ? (n = [n, n, n, n], e) : e, i5893 }, i.round = function(n) {5894 return arguments.length ? (c = n ? Math.round : Number, i) : c != Number5895 }, i.sticky = function(n) {5896 return arguments.length ? (h = n, o = null, i) : h5897 }, i.ratio = function(n) {5898 return arguments.length ? (p = n, i) : p5899 }, i.mode = function(n) {5900 return arguments.length ? (g = n + "", i) : g5901 }, Gu(i, a)5902 }, ta.random = {5903 normal: function(n, t) {5904 var e = arguments.length;5905 return 2 > e && (t = 1), 1 > e && (n = 0), function() {5906 var e, r, u;5907 do 5908 e = 2 * Math.random() - 1, r = 2 * Math.random() - 1, u = e * e + r * r;5909 while (!u || u > 1);5910 return n + t * e * Math.sqrt( - 2 * Math.log(u) / u)5911 }5912 },5913 logNormal: function() {5914 var n = ta.random.normal.apply(ta, arguments);5915 return function() {5916 return Math.exp(n())5917 }5918 },5919 bates: function(n) {5920 var t = ta.random.irwinHall(n);5921 return function() {5922 return t() / n5923 }5924 },5925 irwinHall: function(n) {5926 return function() {5927 for (var t = 0, e = 0; n > e; e++)5928 t += Math.random();5929 return t5930 }5931 }5932 }, ta.scale = {};5933 var bl = {5934 floor: Et,5935 ceil: Et5936 };5937 ta.scale.linear = function() {5938 return Yi([0, 1], [0, 1], mu, !1)5939 };5940 var _l = {5941 s: 1,5942 g: 1,5943 p: 1,5944 r: 1,5945 e: 15946 };5947 ta.scale.log = function() {5948 return Ji(ta.scale.linear().domain([0, 1]), 10, !0, [1, 10])5949 };5950 var wl = ta.format(".0e"), Sl = {5951 floor: function(n) {5952 return - Math.ceil( - n)5953 },5954 ceil: function(n) {5955 return - Math.floor( - n)5956 }5957 };5958 ta.scale.pow = function() {5959 return Gi(ta.scale.linear(), 1, [0, 1])5960 }, ta.scale.sqrt = function() {5961 return ta.scale.pow().exponent(.5)5962 }, ta.scale.ordinal = function() {5963 return Qi([], {5964 t: "range",5965 a: [[]]5966 })5967 }, ta.scale.category10 = function() {5968 return ta.scale.ordinal().range(kl)5969 }, ta.scale.category20 = function() {5970 return ta.scale.ordinal().range(El)5971 }, ta.scale.category20b = function() {5972 return ta.scale.ordinal().range(Al)5973 }, ta.scale.category20c = function() {5974 return ta.scale.ordinal().range(Nl)5975 };5976 var kl = [2062260, 16744206, 2924588, 14034728, 9725885, 9197131, 14907330, 8355711, 12369186, 1556175].map(yt), El = [2062260, 11454440, 16744206, 16759672, 2924588, 10018698, 14034728, 16750742, 9725885, 12955861, 9197131, 12885140, 14907330, 16234194, 8355711, 13092807, 12369186, 14408589, 1556175, 10410725].map(yt), Al = [3750777, 5395619, 7040719, 10264286, 6519097, 9216594, 11915115, 13556636, 9202993, 12426809, 15186514, 15190932, 8666169, 11356490, 14049643, 15177372, 8077683, 10834324, 13528509, 14589654].map(yt), Nl = [3244733, 7057110, 10406625, 13032431, 15095053, 16616764, 16625259, 16634018, 3253076, 7652470, 10607003, 13101504, 7695281, 10394312, 12369372, 14342891, 6513507, 9868950, 12434877, 14277081].map(yt);5977 ta.scale.quantile = function() {5978 return no([], [])5979 }, ta.scale.quantize = function() {5980 return to(0, 1, [0, 1])5981 }, ta.scale.threshold = function() {5982 return eo([.5], [0, 1])5983 }, ta.scale.identity = function() {5984 return ro([0, 1])5985 }, ta.svg = {}, ta.svg.arc = function() {5986 function n() {5987 var n = Math.max(0, + e.apply(this, arguments)), l = Math.max(0, + r.apply(this, arguments)), s = o.apply(this, arguments) - ja, f = a.apply(this, arguments) - ja, h = Math.abs(f - s), g = s > f ? 0: 1;5988 if (n > l && (p = l, l = n, n = p), h >= Ua)5989 return t(l, g) + (n ? t(n, 1 - g) : "") + "Z";5990 var p, v, d, m, y, M, x, b, _, w, S, k, E = 0, A = 0, N = [];5991 if ((m = ( + c.apply(this, arguments) || 0) / 2) && (d = i === Cl ? Math.sqrt(n * n + l * l) : + i.apply(this, arguments), g || (A*=-1), l && (A = nt(d / l * Math.sin(m))), n && (E = nt(d / n * Math.sin(m)))), l) {5992 y = l * Math.cos(s + A), M = l * Math.sin(s + A), x = l * Math.cos(f - A), b = l * Math.sin(f - A);5993 var C = Math.abs(f - s - 2 * A) <= Da ? 0: 1;5994 if (A && so(y, M, x, b) === g^C) {5995 var z = (s + f) / 2;5996 y = l * Math.cos(z), M = l * Math.sin(z), x = b = null5997 }5998 } else 5999 y = M = 0;6000 if (n) {6001 _ = n * Math.cos(f - E), w = n * Math.sin(f - E), S = n * Math.cos(s + E), k = n * Math.sin(s + E);6002 var q = Math.abs(s - f + 2 * E) <= Da ? 0: 1;6003 if (E && so(_, w, S, k) === 1 - g^q) {6004 var L = (s + f) / 2;6005 _ = n * Math.cos(L), w = n * Math.sin(L), S = k = null6006 }6007 } else 6008 _ = w = 0;6009 if ((p = Math.min(Math.abs(l - n) / 2, + u.apply(this, arguments))) > .001) {6010 v = l > n^g ? 0 : 1;6011 var T = null == S ? [_, w]: null == x ? [y, M]: Lr([y, M], [S, k], [x, b], [_, w]), R = y - T[0], D = M - T[1], P = x - T[0], U = b - T[1], j = 1 / Math.sin(Math.acos((R * P + D * U) / (Math.sqrt(R * R + D * D) * Math.sqrt(P * P + U * U))) / 2), F = Math.sqrt(T[0] * T[0] + T[1] * T[1]);6012 if (null != x) {6013 var H = Math.min(p, (l - F) / (j + 1)), O = fo(null == S ? [_, w] : [S, k], [y, M], l, H, g), Y = fo([x, b], [_, w], l, H, g);6014 p === H ? N.push("M", O[0], "A", H, ",", H, " 0 0,", v, " ", O[1], "A", l, ",", l, " 0 ", 1 - g^so(O[1][0], O[1][1], Y[1][0], Y[1][1]), ",", g, " ", Y[1], "A", H, ",", H, " 0 0,", v, " ", Y[0]) : N.push("M", O[0], "A", H, ",", H, " 0 1,", v, " ", Y[0])6015 } else 6016 N.push("M", y, ",", M);6017 if (null != S) {6018 var I = Math.min(p, (n - F) / (j - 1)), Z = fo([y, M], [S, k], n, - I, g), V = fo([_, w], null == x ? [y, M] : [x, b], n, - I, g);6019 p === I ? N.push("L", V[0], "A", I, ",", I, " 0 0,", v, " ", V[1], "A", n, ",", n, " 0 ", g^so(V[1][0], V[1][1], Z[1][0], Z[1][1]), ",", 1 - g, " ", Z[1], "A", I, ",", I, " 0 0,", v, " ", Z[0]) : N.push("L", V[0], "A", I, ",", I, " 0 0,", v, " ", Z[0])6020 } else 6021 N.push("L", _, ",", w)6022 } else 6023 N.push("M", y, ",", M), null != x && N.push("A", l, ",", l, " 0 ", C, ",", g, " ", x, ",", b), N.push("L", _, ",", w), null != S && N.push("A", n, ",", n, " 0 ", q, ",", 1 - g, " ", S, ",", k);6024 return N.push("Z"), N.join("")6025 }6026 function t(n, t) {6027 return "M0," + n + "A" + n + "," + n + " 0 1," + t + " 0," +- n + "A" + n + "," + n + " 0 1," + t + " 0," + n6028 }6029 var e = io, r = oo, u = uo, i = Cl, o = ao, a = co, c = lo;6030 return n.innerRadius = function(t) {6031 return arguments.length ? (e = kt(t), n) : e6032 }, n.outerRadius = function(t) {6033 return arguments.length ? (r = kt(t), n) : r6034 }, n.cornerRadius = function(t) {6035 return arguments.length ? (u = kt(t), n) : u6036 }, n.padRadius = function(t) {6037 return arguments.length ? (i = t == Cl ? Cl : kt(t), n) : i6038 }, n.startAngle = function(t) {6039 return arguments.length ? (o = kt(t), n) : o6040 }, n.endAngle = function(t) {6041 return arguments.length ? (a = kt(t), n) : a6042 }, n.padAngle = function(t) {6043 return arguments.length ? (c = kt(t), n) : c6044 }, n.centroid = function() {6045 var n = ( + e.apply(this, arguments) + + r.apply(this, arguments)) / 2, t = ( + o.apply(this, arguments) + + a.apply(this, arguments)) / 2 - ja;6046 return [Math.cos(t) * n, Math.sin(t) * n]6047 }, n6048 };6049 var Cl = "auto";6050 ta.svg.line = function() {6051 return ho(Et)6052 };6053 var zl = ta.map({6054 linear: go,6055 "linear-closed": po,6056 step: vo,6057 "step-before": mo,6058 "step-after": yo,6059 basis: So,6060 "basis-open": ko,6061 "basis-closed": Eo,6062 bundle: Ao,6063 cardinal: bo,6064 "cardinal-open": Mo,6065 "cardinal-closed": xo,6066 monotone: To6067 });6068 zl.forEach(function(n, t) {6069 t.key = n, t.closed = /-closed$/.test(n)6070 });6071 var ql = [0, 2 / 3, 1 / 3, 0], Ll = [0, 1 / 3, 2 / 3, 0], Tl = [0, 1 / 6, 2 / 3, 1 / 6];6072 ta.svg.line.radial = function() {6073 var n = ho(Ro);6074 return n.radius = n.x, delete n.x, n.angle = n.y, delete n.y, n6075 }, mo.reverse = yo, yo.reverse = mo, ta.svg.area = function() {6076 return Do(Et)6077 }, ta.svg.area.radial = function() {6078 var n = Do(Ro);6079 return n.radius = n.x, delete n.x, n.innerRadius = n.x0, delete n.x0, n.outerRadius = n.x1, delete n.x1, n.angle = n.y, delete n.y, n.startAngle = n.y0, delete n.y0, n.endAngle = n.y1, delete n.y1, n6080 }, ta.svg.chord = function() {6081 function n(n, a) {6082 var c = t(this, i, n, a), l = t(this, o, n, a);6083 return "M" + c.p0 + r(c.r, c.p1, c.a1 - c.a0) + (e(c, l) ? u(c.r, c.p1, c.r, c.p0) : u(c.r, c.p1, l.r, l.p0) + r(l.r, l.p1, l.a1 - l.a0) + u(l.r, l.p1, c.r, c.p0)) + "Z"6084 }6085 function t(n, t, e, r) {6086 var u = t.call(n, e, r), i = a.call(n, u, r), o = c.call(n, u, r) - ja, s = l.call(n, u, r) - ja;6087 return {6088 r: i,6089 a0: o,6090 a1: s,6091 p0: [i * Math.cos(o), i * Math.sin(o)],6092 p1: [i * Math.cos(s), i * Math.sin(s)]6093 }6094 }6095 function e(n, t) {6096 return n.a0 == t.a0 && n.a1 == t.a16097 }6098 function r(n, t, e) {6099 return "A" + n + "," + n + " 0 " + + (e > Da) + ",1 " + t6100 }6101 function u(n, t, e, r) {6102 return "Q 0,0 " + r6103 }6104 var i = mr, o = yr, a = Po, c = ao, l = co;6105 return n.radius = function(t) {6106 return arguments.length ? (a = kt(t), n) : a6107 }, n.source = function(t) {6108 return arguments.length ? (i = kt(t), n) : i6109 }, n.target = function(t) {6110 return arguments.length ? (o = kt(t), n) : o6111 }, n.startAngle = function(t) {6112 return arguments.length ? (c = kt(t), n) : c6113 }, n.endAngle = function(t) {6114 return arguments.length ? (l = kt(t), n) : l6115 }, n6116 }, ta.svg.diagonal = function() {6117 function n(n, u) {6118 var i = t.call(this, n, u), o = e.call(this, n, u), a = (i.y + o.y) / 2, c = [i, {6119 x: i.x,6120 y: a6121 }, {6122 x: o.x,6123 y: a6124 }, o];6125 return c = c.map(r), "M" + c[0] + "C" + c[1] + " " + c[2] + " " + c[3]6126 }6127 var t = mr, e = yr, r = Uo;6128 return n.source = function(e) {6129 return arguments.length ? (t = kt(e), n) : t6130 }, n.target = function(t) {6131 return arguments.length ? (e = kt(t), n) : e6132 }, n.projection = function(t) {6133 return arguments.length ? (r = t, n) : r6134 }, n6135 }, ta.svg.diagonal.radial = function() {6136 var n = ta.svg.diagonal(), t = Uo, e = n.projection;6137 return n.projection = function(n) {6138 return arguments.length ? e(jo(t = n)) : t6139 }, n6140 }, ta.svg.symbol = function() {6141 function n(n, r) {6142 return (Rl.get(t.call(this, n, r)) || Oo)(e.call(this, n, r))6143 }6144 var t = Ho, e = Fo;6145 return n.type = function(e) {6146 return arguments.length ? (t = kt(e), n) : t6147 }, n.size = function(t) {6148 return arguments.length ? (e = kt(t), n) : e6149 }, n6150 };6151 var Rl = ta.map({6152 circle: Oo,6153 cross: function(n) {6154 var t = Math.sqrt(n / 5) / 2;6155 return "M" +- 3 * t + "," +- t + "H" +- t + "V" +- 3 * t + "H" + t + "V" +- t + "H" + 3 * t + "V" + t + "H" + t + "V" + 3 * t + "H" +- t + "V" + t + "H" +- 3 * t + "Z"6156 },6157 diamond: function(n) {6158 var t = Math.sqrt(n / (2 * Pl)), e = t * Pl;6159 return "M0," +- t + "L" + e + ",0" + " 0," + t + " " +- e + ",0" + "Z"6160 },6161 square: function(n) {6162 var t = Math.sqrt(n) / 2;6163 return "M" +- t + "," +- t + "L" + t + "," +- t + " " + t + "," + t + " " +- t + "," + t + "Z"6164 },6165 "triangle-down": function(n) {6166 var t = Math.sqrt(n / Dl), e = t * Dl / 2;6167 return "M0," + e + "L" + t + "," +- e + " " +- t + "," +- e + "Z"6168 },6169 "triangle-up": function(n) {6170 var t = Math.sqrt(n / Dl), e = t * Dl / 2;6171 return "M0," +- e + "L" + t + "," + e + " " +- t + "," + e + "Z"6172 }6173 });6174 ta.svg.symbolTypes = Rl.keys();6175 var Dl = Math.sqrt(3), Pl = Math.tan(30 * Fa);6176 ka.transition = function(n) {6177 for (var t, e, r = Ul||++Ol, u = Xo(n), i = [], o = jl || {6178 time: Date.now(),6179 ease: Su,6180 delay: 0,6181 duration: 2506182 }, a =- 1, c = this.length; ++a < c;) {6183 i.push(t = []);6184 for (var l = this[a], s =- 1, f = l.length; ++s < f;)(e = l[s]) 6185 && $o(e, s, u, r, o), t.push(e)6186 }6187 return Io(i, u, r)6188 }, ka.interrupt = function(n) {6189 return this.each(null == n ? Fl : Yo(Xo(n)))6190 };6191 var Ul, jl, Fl = Yo(Xo()), Hl = [], Ol = 0;6192 Hl.call = ka.call, Hl.empty = ka.empty, Hl.node = ka.node, Hl.size = ka.size, ta.transition = function(n, t) {6193 return n && n.transition ? Ul ? n.transition(t) : n : Na.transition(n)6194 }, ta.transition.prototype = Hl, Hl.select = function(n) {6195 var t, e, r, u = this.id, i = this.namespace, o = [];6196 n = k(n);6197 for (var a =- 1, c = this.length; ++a < c;) {6198 o.push(t = []);6199 for (var l = this[a], s =- 1, f = l.length; ++s < f;)(r = l[s]) 6200 && (e = n.call(r, r.__data__, s, a)) ? ("__data__"in r && (e.__data__ = r.__data__), $o(e, s, i, u, r[i][u]), t.push(e)) : t.push(null)6201 }6202 return Io(o, i, u)6203 }, Hl.selectAll = function(n) {6204 var t, e, r, u, i, o = this.id, a = this.namespace, c = [];6205 n = E(n);6206 for (var l =- 1, s = this.length; ++l < s;)6207 for (var f = this[l], h =- 1, g = f.length; ++h < g;)6208 if (r = f[h]) {6209 i = r[a][o], e = n.call(r, r.__data__, h, l), c.push(t = []);6210 for (var p =- 1, v = e.length; ++p < v;)(u = e[p]) 6211 && $o(u, p, a, o, i), t.push(u)6212 }6213 return Io(c, a, o)6214 }, Hl.filter = function(n) {6215 var t, e, r, u = [];6216 "function" != typeof n && (n = j(n));6217 for (var i = 0, o = this.length; o > i; i++) {6218 u.push(t = []);6219 for (var e = this[i], a = 0, c = e.length; c > a; a++)(r = e[a]) 6220 && n.call(r, r.__data__, a, i) && t.push(r)6221 }6222 return Io(u, this.namespace, this.id)6223 }, Hl.tween = function(n, t) {6224 var e = this.id, r = this.namespace;6225 return arguments.length < 2 ? this.node()[r][e].tween.get(n) : H(this, null == t ? function(t) {6226 t[r][e].tween.remove(n)6227 } : function(u) {6228 u[r][e].tween.set(n, t)6229 })6230 }, Hl.attr = function(n, t) {6231 function e() {6232 this.removeAttribute(a)6233 }6234 function r() {6235 this.removeAttributeNS(a.space, a.local)6236 }6237 function u(n) {6238 return null == n ? e : (n += "", function() {6239 var t, e = this.getAttribute(a);6240 return e !== n && (t = o(e, n), function(n) {6241 this.setAttribute(a, t(n))6242 })6243 })6244 }6245 function i(n) {6246 return null == n ? r : (n += "", function() {6247 var t, e = this.getAttributeNS(a.space, a.local);6248 return e !== n && (t = o(e, n), function(n) {6249 this.setAttributeNS(a.space, a.local, t(n))6250 })6251 })6252 }6253 if (arguments.length < 2) {6254 for (t in n)6255 this.attr(t, n[t]);6256 return this6257 }6258 var o = "transform" == n ? Hu: mu, a = ta.ns.qualify(n);6259 return Zo(this, "attr." + n, t, a.local ? i : u)6260 }, Hl.attrTween = function(n, t) {6261 function e(n, e) {6262 var r = t.call(this, n, e, this.getAttribute(u));6263 return r && function(n) {6264 this.setAttribute(u, r(n))6265 }6266 }6267 function r(n, e) {6268 var r = t.call(this, n, e, this.getAttributeNS(u.space, u.local));6269 return r && function(n) {6270 this.setAttributeNS(u.space, u.local, r(n))6271 }6272 }6273 var u = ta.ns.qualify(n);6274 return this.tween("attr." + n, u.local ? r : e)6275 }, Hl.style = function(n, t, e) {6276 function r() {6277 this.style.removeProperty(n)6278 }6279 function u(t) {6280 return null == t ? r : (t += "", function() {6281 var r, u = oa.getComputedStyle(this, null).getPropertyValue(n);6282 return u !== t && (r = mu(u, t), function(t) {6283 this.style.setProperty(n, r(t), e)6284 })6285 })6286 }6287 var i = arguments.length;6288 if (3 > i) {6289 if ("string" != typeof n) {6290 2 > i && (t = "");6291 for (e in n)6292 this.style(e, n[e], t);6293 return this6294 }6295 e = ""6296 }6297 return Zo(this, "style." + n, t, u)6298 }, Hl.styleTween = function(n, t, e) {6299 function r(r, u) {6300 var i = t.call(this, r, u, oa.getComputedStyle(this, null).getPropertyValue(n));6301 return i && function(t) {6302 this.style.setProperty(n, i(t), e)6303 }6304 }6305 return arguments.length < 3 && (e = ""), this.tween("style." + n, r)6306 }, Hl.text = function(n) {6307 return Zo(this, "text", n, Vo)6308 }, Hl.remove = function() {6309 var n = this.namespace;6310 return this.each("end.transition", function() {6311 var t;6312 this[n].count < 2 && (t = this.parentNode) && t.removeChild(this)6313 })6314 }, Hl.ease = function(n) {6315 var t = this.id, e = this.namespace;6316 return arguments.length < 1 ? this.node()[e][t].ease : ("function" != typeof n && (n = ta.ease.apply(ta, arguments)), H(this, function(r) {6317 r[e][t].ease = n6318 }))6319 }, Hl.delay = function(n) {6320 var t = this.id, e = this.namespace;6321 return arguments.length < 1 ? this.node()[e][t].delay : H(this, "function" == typeof n ? function(r, u, i) {6322 r[e][t].delay =+ n.call(r, r.__data__, u, i)6323 } : (n =+ n, function(r) {6324 r[e][t].delay = n6325 }))6326 }, Hl.duration = function(n) {6327 var t = this.id, e = this.namespace;6328 return arguments.length < 1 ? this.node()[e][t].duration : H(this, "function" == typeof n ? function(r, u, i) {6329 r[e][t].duration = Math.max(1, n.call(r, r.__data__, u, i))6330 } : (n = Math.max(1, n), function(r) {6331 r[e][t].duration = n6332 }))6333 }, Hl.each = function(n, t) {6334 var e = this.id, r = this.namespace;6335 if (arguments.length < 2) {6336 var u = jl, i = Ul;6337 try {6338 Ul = e, H(this, function(t, u, i) {6339 jl = t[r][e], n.call(t, t.__data__, u, i)6340 })6341 } finally {6342 jl = u, Ul = i6343 }6344 } else 6345 H(this, function(u) {6346 var i = u[r][e];6347 (i.event || (i.event = ta.dispatch("start", "end", "interrupt"))).on(n, t)6348 });6349 return this6350 }, Hl.transition = function() {6351 for (var n, t, e, r, u = this.id, i=++Ol, o = this.namespace, a = [], c = 0, l = this.length; l > c; c++) {6352 a.push(n = []);6353 for (var t = this[c], s = 0, f = t.length; f > s; s++)(e = t[s]) 6354 && (r = e[o][u], $o(e, s, o, i, {6355 time: r.time,6356 ease: r.ease,6357 delay: r.delay + r.duration,6358 duration: r.duration6359 })), n.push(e)6360 }6361 return Io(a, o, i)6362 }, ta.svg.axis = function() {6363 function n(n) {6364 n.each(function() {6365 var n, l = ta.select(this), s = this.__chart__ || e, f = this.__chart__ = e.copy(), h = null == c ? f.ticks ? f.ticks.apply(f, a): f.domain(): c, g = null == t ? f.tickFormat ? f.tickFormat.apply(f, a): Et: t, p = l.selectAll(".tick").data(h, f), v = p.enter().insert("g", ".domain").attr("class", "tick").style("opacity", Ta), d = ta.transition(p.exit()).style("opacity", Ta).remove(), m = ta.transition(p.order()).style("opacity", 1), y = Math.max(u, 0) + o, M = Ui(f), x = l.selectAll(".domain").data([0]), b = (x.enter().append("path").attr("class", "domain"), ta.transition(x));6366 v.append("line"), v.append("text");6367 var _, w, S, k, E = v.select("line"), A = m.select("line"), N = p.select("text").text(g), C = v.select("text"), z = m.select("text"), q = "top" === r || "left" === r?-1 : 1;6368 if ("bottom" === r || "top" === r ? (n = Bo, _ = "x", S = "y", w = "x2", k = "y2", N.attr("dy", 0 > q ? "0em" : ".71em").style("text-anchor", "middle"), b.attr("d", "M" + M[0] + "," + q * i + "V0H" + M[1] + "V" + q * i)) : (n = Wo, _ = "y", S = "x", w = "y2", k = "x2", N.attr("dy", ".32em").style("text-anchor", 0 > q ? "end" : "start"), b.attr("d", "M" + q * i + "," + M[0] + "H0V" + M[1] + "H" + q * i)), E.attr(k, q * u), C.attr(S, q * y), A.attr(w, 0).attr(k, q * u), z.attr(_, 0).attr(S, q * y), f.rangeBand) {6369 var L = f, T = L.rangeBand() / 2;6370 s = f = function(n) {6371 return L(n) + T6372 }6373 } else 6374 s.rangeBand ? s = f : d.call(n, f, s);6375 v.call(n, s, f), m.call(n, f, f)6376 })6377 }6378 var t, e = ta.scale.linear(), r = Yl, u = 6, i = 6, o = 3, a = [10], c = null;6379 return n.scale = function(t) {6380 return arguments.length ? (e = t, n) : e6381 }, n.orient = function(t) {6382 return arguments.length ? (r = t in Il ? t + "" : Yl, n) : r6383 }, n.ticks = function() {6384 return arguments.length ? (a = arguments, n) : a6385 }, n.tickValues = function(t) {6386 return arguments.length ? (c = t, n) : c6387 }, n.tickFormat = function(e) {6388 return arguments.length ? (t = e, n) : t6389 }, n.tickSize = function(t) {6390 var e = arguments.length;6391 return e ? (u =+ t, i =+ arguments[e - 1], n) : u6392 }, n.innerTickSize = function(t) {6393 return arguments.length ? (u =+ t, n) : u6394 }, n.outerTickSize = function(t) {6395 return arguments.length ? (i =+ t, n) : i6396 }, n.tickPadding = function(t) {6397 return arguments.length ? (o =+ t, n) : o6398 }, n.tickSubdivide = function() {6399 return arguments.length && n6400 }, n6401 };6402 var Yl = "bottom", Il = {6403 top: 1,6404 right: 1,6405 bottom: 1,6406 left: 16407 };6408 ta.svg.brush = function() {6409 function n(i) {6410 i.each(function() {6411 var i = ta.select(this).style("pointer-events", "all").style("-webkit-tap-highlight-color", "rgba(0,0,0,0)").on("mousedown.brush", u).on("touchstart.brush", u), o = i.selectAll(".background").data([0]);6412 o.enter().append("rect").attr("class", "background").style("visibility", "hidden").style("cursor", "crosshair"), i.selectAll(".extent").data([0]).enter().append("rect").attr("class", "extent").style("cursor", "move");6413 var a = i.selectAll(".resize").data(p, Et);6414 a.exit().remove(), a.enter().append("g").attr("class", function(n) {6415 return "resize " + n6416 }).style("cursor", function(n) {6417 return Zl[n]6418 }).append("rect").attr("x", function(n) {6419 return /[ew]$/.test(n)?-3 : null6420 }).attr("y", function(n) {6421 return /^[ns]/.test(n)?-3 : null6422 }).attr("width", 6).attr("height", 6).style("visibility", "hidden"), a.style("display", n.empty() ? "none" : null);6423 var s, f = ta.transition(i), h = ta.transition(o);6424 c && (s = Ui(c), h.attr("x", s[0]).attr("width", s[1] - s[0]), e(f)), l && (s = Ui(l), h.attr("y", s[0]).attr("height", s[1] - s[0]), r(f)), t(f)6425 })6426 }6427 function t(n) {6428 n.selectAll(".resize").attr("transform", function(n) {6429 return "translate(" + s[ + /e$/.test(n)] + "," + f[ + /^s/.test(n)] + ")"6430 })6431 }6432 function e(n) {6433 n.select(".extent").attr("x", s[0]), n.selectAll(".extent,.n>rect,.s>rect").attr("width", s[1] - s[0])6434 }6435 function r(n) {6436 n.select(".extent").attr("y", f[0]), n.selectAll(".extent,.e>rect,.w>rect").attr("height", f[1] - f[0])6437 }6438 function u() {6439 function u() {6440 32 == ta.event.keyCode && (N || (y = null, z[0] -= s[1], z[1] -= f[1], N = 2), b())6441 }6442 function p() {6443 32 == ta.event.keyCode && 2 == N && (z[0] += s[1], z[1] += f[1], N = 0, b())6444 }6445 function v() {6446 var n = ta.mouse(x), u=!1;6447 M && (n[0] += M[0], n[1] += M[1]), N || (ta.event.altKey ? (y || (y = [(s[0] + s[1]) / 2, (f[0] + f[1]) / 2]), z[0] = s[ + (n[0] < y[0])], z[1] = f[ + (n[1] < y[1])]) : y = null), E && d(n, c, 0) && (e(S), u=!0), A && d(n, l, 1) && (r(S), u=!0), u && (t(S), w({6448 type: "brush",6449 mode: N ? "move": "resize"6450 }))6451 }6452 function d(n, t, e) {6453 var r, u, a = Ui(t), c = a[0], l = a[1], p = z[e], v = e ? f: s, d = v[1] - v[0];6454 return N && (c -= p, l -= d + p), r = (e ? g : h) ? Math.max(c, Math.min(l, n[e])) : n[e], N ? u = (r += p) + d : (y && (p = Math.max(c, Math.min(l, 2 * y[e] - r))), r > p ? (u = r, r = p) : u = p), v[0] != r || v[1] != u ? (e ? o = null : i = null, v[0] = r, v[1] = u, !0) : void 06455 }6456 function m() {6457 v(), S.style("pointer-events", "all").selectAll(".resize").style("display", n.empty() ? "none" : null), ta.select("body").style("cursor", null), q.on("mousemove.brush", null).on("mouseup.brush", null).on("touchmove.brush", null).on("touchend.brush", null).on("keydown.brush", null).on("keyup.brush", null), C(), w({6458 type: "brushend"6459 })6460 }6461 var y, M, x = this, _ = ta.select(ta.event.target), w = a.of(x, arguments), S = ta.select(x), k = _.datum(), E=!/^(n|s)$/.test(k) && c, A=!/^(e|w)$/.test(k) && l, N = _.classed("extent"), C = X(), z = ta.mouse(x), q = ta.select(oa).on("keydown.brush", u).on("keyup.brush", p);6462 if (ta.event.changedTouches ? q.on("touchmove.brush", v).on("touchend.brush", m) : q.on("mousemove.brush", v).on("mouseup.brush", m), S.interrupt().selectAll("*").interrupt(), N)6463 z[0] = s[0] - z[0], z[1] = f[0] - z[1];6464 else if (k) {6465 var L =+ /w$/.test(k), T =+ /^n/.test(k);6466 M = [s[1 - L] - z[0], f[1 - T] - z[1]], z[0] = s[L], z[1] = f[T]6467 } else 6468 ta.event.altKey && (y = z.slice());6469 S.style("pointer-events", "none").selectAll(".resize").style("display", null), ta.select("body").style("cursor", _.style("cursor")), w({6470 type: "brushstart"6471 }), v()6472 }6473 var i, o, a = w(n, "brushstart", "brush", "brushend"), c = null, l = null, s = [0, 0], f = [0, 0], h=!0, g=!0, p = Vl[0];6474 return n.event = function(n) {6475 n.each(function() {6476 var n = a.of(this, arguments), t = {6477 x: s,6478 y: f,6479 i: i,6480 j: o6481 }, e = this.__chart__ || t;6482 this.__chart__ = t, Ul ? ta.select(this).transition().each("start.brush", function() {6483 i = e.i, o = e.j, s = e.x, f = e.y, n({6484 type: "brushstart"6485 })6486 }).tween("brush:brush", function() {6487 var e = yu(s, t.x), r = yu(f, t.y);6488 return i = o = null, function(u) {6489 s = t.x = e(u), f = t.y = r(u), n({6490 type: "brush",6491 mode: "resize"6492 })6493 }6494 }).each("end.brush", function() {6495 i = t.i, o = t.j, n({6496 type: "brush",6497 mode: "resize"6498 }), n({6499 type: "brushend"6500 })6501 }) : (n({6502 type: "brushstart"6503 }), n({6504 type: "brush",6505 mode: "resize"6506 }), n({6507 type: "brushend"6508 }))6509 })6510 }, n.x = function(t) {6511 return arguments.length ? (c = t, p = Vl[!c<<1 |!l], n) : c6512 }, n.y = function(t) {6513 return arguments.length ? (l = t, p = Vl[!c<<1 |!l], n) : l6514 }, n.clamp = function(t) {6515 return arguments.length ? (c && l ? (h=!!t[0], g=!!t[1]) : c ? h=!!t : l && (g=!!t), n) : c && l ? [h, g] : c ? h : l ? g : null6516 }, n.extent = function(t) {6517 var e, r, u, a, h;6518 return arguments.length ? (c && (e = t[0], r = t[1], l && (e = e[0], r = r[0]), i = [e, r], c.invert && (e = c(e), r = c(r)), e > r && (h = e, e = r, r = h), (e != s[0] || r != s[1]) && (s = [e, r])), l && (u = t[0], a = t[1], c && (u = u[1], a = a[1]), o = [u, a], l.invert && (u = l(u), a = l(a)), u > a && (h = u, u = a, a = h), (u != f[0] || a != f[1]) && (f = [u, a])), n) : (c && (i ? (e = i[0], r = i[1]) : (e = s[0], r = s[1], c.invert && (e = c.invert(e), r = c.invert(r)), e > r && (h = e, e = r, r = h))), l && (o ? (u = o[0], a = o[1]) : (u = f[0], a = f[1], l.invert && (u = l.invert(u), a = l.invert(a)), u > a && (h = u, u = a, a = h))), c && l ? [[e, u], [r, a]] : c ? [e, r] : l && [u, a])6519 }, n.clear = function() {6520 return n.empty() || (s = [0, 0], f = [0, 0], i = o = null), n6521 }, n.empty = function() {6522 return !!c && s[0] == s[1]||!!l && f[0] == f[1]6523 }, ta.rebind(n, a, "on")6524 };6525 var Zl = {6526 n: "ns-resize",6527 e: "ew-resize",6528 s: "ns-resize",6529 w: "ew-resize",6530 nw: "nwse-resize",6531 ne: "nesw-resize",6532 se: "nwse-resize",6533 sw: "nesw-resize"6534 }, Vl = [["n", "e", "s", "w", "nw", "ne", "se", "sw"], ["e", "w"], ["n", "s"], []], Xl = fc.format = mc.timeFormat, $l = Xl.utc, Bl = $l("%Y-%m-%dT%H:%M:%S.%LZ");6535 Xl.iso = Date.prototype.toISOString&&+new Date("2000-01-01T00:00:00.000Z") ? Jo : Bl, Jo.parse = function(n) {6536 var t = new Date(n);6537 return isNaN(t) ? null : t6538 }, Jo.toString = Bl.toString, fc.second = Ft(function(n) {6539 return new hc(1e3 * Math.floor(n / 1e3))6540 }, function(n, t) {6541 n.setTime(n.getTime() + 1e3 * Math.floor(t))6542 }, function(n) {6543 return n.getSeconds()6544 }), fc.seconds = fc.second.range, fc.seconds.utc = fc.second.utc.range, fc.minute = Ft(function(n) {6545 return new hc(6e4 * Math.floor(n / 6e4))6546 }, function(n, t) {6547 n.setTime(n.getTime() + 6e4 * Math.floor(t))6548 }, function(n) {6549 return n.getMinutes()6550 }), fc.minutes = fc.minute.range, fc.minutes.utc = fc.minute.utc.range, fc.hour = Ft(function(n) {6551 var t = n.getTimezoneOffset() / 60;6552 return new hc(36e5 * (Math.floor(n / 36e5 - t) + t))6553 }, function(n, t) {6554 n.setTime(n.getTime() + 36e5 * Math.floor(t))6555 }, function(n) {6556 return n.getHours()6557 }), fc.hours = fc.hour.range, fc.hours.utc = fc.hour.utc.range, fc.month = Ft(function(n) {6558 return n = fc.day(n), n.setDate(1), n6559 }, function(n, t) {6560 n.setMonth(n.getMonth() + t)6561 }, function(n) {6562 return n.getMonth()6563 }), fc.months = fc.month.range, fc.months.utc = fc.month.utc.range;6564 var Wl = [1e3, 5e3, 15e3, 3e4, 6e4, 3e5, 9e5, 18e5, 36e5, 108e5, 216e5, 432e5, 864e5, 1728e5, 6048e5, 2592e6, 7776e6, 31536e6], Jl = [[fc.second, 1], [fc.second, 5], [fc.second, 15], [fc.second, 30], [fc.minute, 1], [fc.minute, 5], [fc.minute, 15], [fc.minute, 30], [fc.hour, 1], [fc.hour, 3], [fc.hour, 6], [fc.hour, 12], [fc.day, 1], [fc.day, 2], [fc.week, 1], [fc.month, 1], [fc.month, 3], [fc.year, 1]], Gl = Xl.multi([[".%L", function(n) {6565 return n.getMilliseconds()6566 }6567 ], [":%S", function(n) {6568 return n.getSeconds()6569 }6570 ], ["%I:%M", function(n) {6571 return n.getMinutes()6572 }6573 ], ["%I %p", function(n) {6574 return n.getHours()6575 }6576 ], ["%a %d", function(n) {6577 return n.getDay() && 1 != n.getDate()6578 }6579 ], ["%b %d", function(n) {6580 return 1 != n.getDate()6581 }6582 ], ["%B", function(n) {6583 return n.getMonth()6584 }6585 ], ["%Y", Ne]]), Kl = {6586 range: function(n, t, e) {6587 return ta.range(Math.ceil(n / e) * e, + t, e).map(Ko)6588 },6589 floor: Et,6590 ceil: Et6591 };6592 Jl.year = fc.year, fc.scale = function() {6593 return Go(ta.scale.linear(), Jl, Gl)6594 };6595 var Ql = Jl.map(function(n) {6596 return [n[0].utc, n[1]]6597 }), ns = $l.multi([[".%L", function(n) {6598 return n.getUTCMilliseconds()6599 }6600 ], [":%S", function(n) {6601 return n.getUTCSeconds()6602 }6603 ], ["%I:%M", function(n) {6604 return n.getUTCMinutes()6605 }6606 ], ["%I %p", function(n) {6607 return n.getUTCHours()6608 }6609 ], ["%a %d", function(n) {6610 return n.getUTCDay() && 1 != n.getUTCDate()6611 }6612 ], ["%b %d", function(n) {6613 return 1 != n.getUTCDate()6614 }6615 ], ["%B", function(n) {6616 return n.getUTCMonth()6617 }6618 ], ["%Y", Ne]]);6619 Ql.year = fc.year.utc, fc.scale.utc = function() {6620 return Go(ta.scale.linear(), Ql, ns)6621 }, ta.text = At(function(n) {6622 return n.responseText6623 }), ta.json = function(n, t) {6624 return Nt(n, "application/json", Qo, t)6625 }, ta.html = function(n, t) {6626 return Nt(n, "text/html", na, t)6627 }, ta.xml = At(function(n) {6628 return n.responseXML6629 }), "function" == typeof define && define.amd ? define(ta) : "object" == typeof module && module.exports && (module.exports = ta), this.d3 = ta...
L2Dwidget.min.js
Source:L2Dwidget.min.js
1var L2Dwidget = function(t) {2 var n = window.webpackJsonpL2Dwidget;3 window.webpackJsonpL2Dwidget = function(e, o, i) { for (var c, u, a = 0, f = []; a < e.length; a++) u = e[a], r[u] && f.push(r[u][0]), r[u] = 0; for (c in o) Object.prototype.hasOwnProperty.call(o, c) && (t[c] = o[c]); for (n && n(e, o, i); f.length;) f.shift()() };4 var e = {},5 r = { 1: 0 };67 function o(n) { if (e[n]) return e[n].exports; var r = e[n] = { i: n, l: !1, exports: {} }; return t[n].call(r.exports, r, r.exports, o), r.l = !0, r.exports }8 return o.e = function(t) {9 var n = r[t];10 if (0 === n) return new Promise(function(t) { t() });11 if (n) return n[2];12 var e = new Promise(function(e, o) { n = r[t] = [e, o] });13 n[2] = e;14 var i = document.getElementsByTagName("head")[0],15 c = document.createElement("script");16 c.type = "text/javascript", c.charset = "utf-8", c.async = !0, c.timeout = 12e4, o.nc && c.setAttribute("nonce", o.nc), c.src = o.p + "L2Dwidget." + t + ".min.js";17 var u = setTimeout(a, 12e4);1819 function a() {20 c.onerror = c.onload = null, clearTimeout(u);21 var n = r[t];22 0 !== n && (n && n[1](new Error("Loading chunk " + t + " failed.")), r[t] = void 0)23 }24 return c.onerror = c.onload = a, i.appendChild(c), e25 }, o.m = t, o.c = e, o.d = function(t, n, e) { o.o(t, n) || Object.defineProperty(t, n, { configurable: !1, enumerable: !0, get: e }) }, o.n = function(t) { var n = t && t.__esModule ? function() { return t.default } : function() { return t }; return o.d(n, "a", n), n }, o.o = function(t, n) { return Object.prototype.hasOwnProperty.call(t, n) }, o.p = "", o.oe = function(t) { throw console.error(t), t }, o(o.s = 53)26}([function(t, n, e) {27 var r = e(29)("wks"),28 o = e(19),29 i = e(1).Symbol,30 c = "function" == typeof i;31 (t.exports = function(t) { return r[t] || (r[t] = c && i[t] || (c ? i : o)("Symbol." + t)) }).store = r32}, function(t, n) { var e = t.exports = "undefined" != typeof window && window.Math == Math ? window : "undefined" != typeof self && self.Math == Math ? self : Function("return this")(); "number" == typeof __g && (__g = e) }, function(t, n) { var e = t.exports = { version: "2.6.1" }; "number" == typeof __e && (__e = e) }, function(t, n, e) {33 var r = e(6);34 t.exports = function(t) { if (!r(t)) throw TypeError(t + " is not an object!"); return t }35}, function(t, n, e) {36 var r = e(11),37 o = e(31);38 t.exports = e(7) ? function(t, n, e) { return r.f(t, n, o(1, e)) } : function(t, n, e) { return t[n] = e, t }39}, function(t, n, e) {40 var r = e(1),41 o = e(4),42 i = e(12),43 c = e(19)("src"),44 u = Function.toString,45 a = ("" + u).split("toString");46 e(2).inspectSource = function(t) { return u.call(t) }, (t.exports = function(t, n, e, u) {47 var f = "function" == typeof e;48 f && (i(e, "name") || o(e, "name", n)), t[n] !== e && (f && (i(e, c) || o(e, c, t[n] ? "" + t[n] : a.join(String(n)))), t === r ? t[n] = e : u ? t[n] ? t[n] = e : o(t, n, e) : (delete t[n], o(t, n, e)))49 })(Function.prototype, "toString", function() { return "function" == typeof this && this[c] || u.call(this) })50}, function(t, n) { t.exports = function(t) { return "object" == typeof t ? null !== t : "function" == typeof t } }, function(t, n, e) { t.exports = !e(30)(function() { return 7 != Object.defineProperty({}, "a", { get: function() { return 7 } }).a }) }, function(t, n) { t.exports = {} }, function(t, n) { t.exports = function(t) { var n = typeof t; return null != t && ("object" == n || "function" == n) } }, function(t, n) {51 var e = {}.toString;52 t.exports = function(t) { return e.call(t).slice(8, -1) }53}, function(t, n, e) {54 var r = e(3),55 o = e(56),56 i = e(57),57 c = Object.defineProperty;58 n.f = e(7) ? Object.defineProperty : function(t, n, e) {59 if (r(t), n = i(n, !0), r(e), o) try { return c(t, n, e) } catch (t) {}60 if ("get" in e || "set" in e) throw TypeError("Accessors not supported!");61 return "value" in e && (t[n] = e.value), t62 }63}, function(t, n) {64 var e = {}.hasOwnProperty;65 t.exports = function(t, n) { return e.call(t, n) }66}, function(t, n, e) {67 var r = e(1),68 o = e(2),69 i = e(4),70 c = e(5),71 u = e(14),72 a = function(t, n, e) {73 var f, s, l, p, v = t & a.F,74 d = t & a.G,75 h = t & a.S,76 y = t & a.P,77 b = t & a.B,78 m = d ? r : h ? r[n] || (r[n] = {}) : (r[n] || {}).prototype,79 w = d ? o : o[n] || (o[n] = {}),80 x = w.prototype || (w.prototype = {});81 for (f in d && (e = n), e) l = ((s = !v && m && void 0 !== m[f]) ? m : e)[f], p = b && s ? u(l, r) : y && "function" == typeof l ? u(Function.call, l) : l, m && c(m, f, l, t & a.U), w[f] != l && i(w, f, p), y && x[f] != l && (x[f] = l)82 };83 r.core = o, a.F = 1, a.G = 2, a.S = 4, a.P = 8, a.B = 16, a.W = 32, a.U = 64, a.R = 128, t.exports = a84}, function(t, n, e) {85 var r = e(15);86 t.exports = function(t, n, e) {87 if (r(t), void 0 === n) return t;88 switch (e) {89 case 1:90 return function(e) { return t.call(n, e) };91 case 2:92 return function(e, r) { return t.call(n, e, r) };93 case 3:94 return function(e, r, o) { return t.call(n, e, r, o) }95 }96 return function() { return t.apply(n, arguments) }97 }98}, function(t, n) { t.exports = function(t) { if ("function" != typeof t) throw TypeError(t + " is not a function!"); return t } }, function(t, n, e) {99 var r = e(27);100 t.exports = function(t, n) {101 for (var e = t.length; e--;)102 if (r(t[e][0], n)) return e;103 return -1104 }105}, function(t, n, e) {106 var r = e(10),107 o = e(0)("toStringTag"),108 i = "Arguments" == r(function() { return arguments }());109 t.exports = function(t) { var n, e, c; return void 0 === t ? "Undefined" : null === t ? "Null" : "string" == typeof(e = function(t, n) { try { return t[n] } catch (t) {} }(n = Object(t), o)) ? e : i ? r(n) : "Object" == (c = r(n)) && "function" == typeof n.callee ? "Arguments" : c }110}, function(t, n) { t.exports = !1 }, function(t, n) {111 var e = 0,112 r = Math.random();113 t.exports = function(t) { return "Symbol(".concat(void 0 === t ? "" : t, ")_", (++e + r).toString(36)) }114}, function(t, n, e) {115 var r = e(6),116 o = e(1).document,117 i = r(o) && r(o.createElement);118 t.exports = function(t) { return i ? o.createElement(t) : {} }119}, function(t, n) {120 var e = Math.ceil,121 r = Math.floor;122 t.exports = function(t) { return isNaN(t = +t) ? 0 : (t > 0 ? r : e)(t) }123}, function(t, n) { t.exports = function(t) { if (void 0 == t) throw TypeError("Can't call method on " + t); return t } }, function(t, n, e) {124 var r = e(64),125 o = e(22);126 t.exports = function(t) { return r(o(t)) }127}, function(t, n, e) {128 var r = e(29)("keys"),129 o = e(19);130 t.exports = function(t) { return r[t] || (r[t] = o(t)) }131}, function(t, n, e) {132 var r = e(11).f,133 o = e(12),134 i = e(0)("toStringTag");135 t.exports = function(t, n, e) { t && !o(t = e ? t : t.prototype, i) && r(t, i, { configurable: !0, value: n }) }136}, function(t, n, e) {137 "use strict";138 var r = e(15);139 t.exports.f = function(t) {140 return new function(t) {141 var n, e;142 this.promise = new t(function(t, r) {143 if (void 0 !== n || void 0 !== e) throw TypeError("Bad Promise constructor");144 n = t, e = r145 }), this.resolve = r(n), this.reject = r(e)146 }(t)147 }148}, function(t, n) { t.exports = function(t, n) { return t === n || t != t && n != n } }, function(t, n, e) {149 var r = e(101);150 t.exports = function(t, n, e) { "__proto__" == n && r ? r(t, n, { configurable: !0, enumerable: !0, value: e, writable: !0 }) : t[n] = e }151}, function(t, n, e) {152 var r = e(2),153 o = e(1),154 i = o["__core-js_shared__"] || (o["__core-js_shared__"] = {});155 (t.exports = function(t, n) { return i[t] || (i[t] = void 0 !== n ? n : {}) })("versions", []).push({ version: r.version, mode: e(18) ? "pure" : "global", copyright: "© 2018 Denis Pushkarev (zloirock.ru)" })156}, function(t, n) { t.exports = function(t) { try { return !!t() } catch (t) { return !0 } } }, function(t, n) { t.exports = function(t, n) { return { enumerable: !(1 & t), configurable: !(2 & t), writable: !(4 & t), value: n } } }, function(t, n, e) {157 "use strict";158 var r = e(18),159 o = e(13),160 i = e(5),161 c = e(4),162 u = e(8),163 a = e(60),164 f = e(25),165 s = e(67),166 l = e(0)("iterator"),167 p = !([].keys && "next" in [].keys()),168 v = function() { return this };169 t.exports = function(t, n, e, d, h, y, b) {170 a(e, n, d);171 var m, w, x, g = function(t) {172 if (!p && t in P) return P[t];173 switch (t) {174 case "keys":175 case "values":176 return function() { return new e(this, t) }177 }178 return function() { return new e(this, t) }179 },180 _ = n + " Iterator",181 j = "values" == h,182 O = !1,183 P = t.prototype,184 k = P[l] || P["@@iterator"] || h && P[h],185 S = k || g(h),186 T = h ? j ? g("entries") : S : void 0,187 L = "Array" == n && P.entries || k;188 if (L && (x = s(L.call(new t))) !== Object.prototype && x.next && (f(x, _, !0), r || "function" == typeof x[l] || c(x, l, v)), j && k && "values" !== k.name && (O = !0, S = function() { return k.call(this) }), r && !b || !p && !O && P[l] || c(P, l, S), u[n] = S, u[_] = v, h)189 if (m = { values: j ? S : g("values"), keys: y ? S : g("keys"), entries: T }, b)190 for (w in m) w in P || i(P, w, m[w]);191 else o(o.P + o.F * (p || O), n, m);192 return m193 }194}, function(t, n, e) {195 var r = e(63),196 o = e(35);197 t.exports = Object.keys || function(t) { return r(t, o) }198}, function(t, n, e) {199 var r = e(21),200 o = Math.min;201 t.exports = function(t) { return t > 0 ? o(r(t), 9007199254740991) : 0 }202}, function(t, n) { t.exports = "constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",") }, function(t, n, e) {203 var r = e(1).document;204 t.exports = r && r.documentElement205}, function(t, n, e) {206 var r = e(3),207 o = e(15),208 i = e(0)("species");209 t.exports = function(t, n) { var e, c = r(t).constructor; return void 0 === c || void 0 == (e = r(c)[i]) ? n : o(e) }210}, function(t, n, e) {211 var r, o, i, c = e(14),212 u = e(79),213 a = e(36),214 f = e(20),215 s = e(1),216 l = s.process,217 p = s.setImmediate,218 v = s.clearImmediate,219 d = s.MessageChannel,220 h = s.Dispatch,221 y = 0,222 b = {},223 m = function() {224 var t = +this;225 if (b.hasOwnProperty(t)) {226 var n = b[t];227 delete b[t], n()228 }229 },230 w = function(t) { m.call(t.data) };231 p && v || (p = function(t) { for (var n = [], e = 1; arguments.length > e;) n.push(arguments[e++]); return b[++y] = function() { u("function" == typeof t ? t : Function(t), n) }, r(y), y }, v = function(t) { delete b[t] }, "process" == e(10)(l) ? r = function(t) { l.nextTick(c(m, t, 1)) } : h && h.now ? r = function(t) { h.now(c(m, t, 1)) } : d ? (i = (o = new d).port2, o.port1.onmessage = w, r = c(i.postMessage, i, 1)) : s.addEventListener && "function" == typeof postMessage && !s.importScripts ? (r = function(t) { s.postMessage(t + "", "*") }, s.addEventListener("message", w, !1)) : r = "onreadystatechange" in f("script") ? function(t) { a.appendChild(f("script")).onreadystatechange = function() { a.removeChild(this), m.call(t) } } : function(t) { setTimeout(c(m, t, 1), 0) }), t.exports = { set: p, clear: v }232}, function(t, n) { t.exports = function(t) { try { return { e: !1, v: t() } } catch (t) { return { e: !0, v: t } } } }, function(t, n, e) {233 var r = e(3),234 o = e(6),235 i = e(26);236 t.exports = function(t, n) { if (r(t), o(n) && n.constructor === t) return n; var e = i.f(t); return (0, e.resolve)(n), e.promise }237}, function(t, n) {238 t.exports = function(t, n, e) {239 switch (e.length) {240 case 0:241 return t.call(n);242 case 1:243 return t.call(n, e[0]);244 case 2:245 return t.call(n, e[0], e[1]);246 case 3:247 return t.call(n, e[0], e[1], e[2])248 }249 return t.apply(n, e)250 }251}, function(t, n, e) {252 var r = e(91),253 o = e(92),254 i = e(93);255 t.exports = function(t, n) { return i(o(t, n, r), t + "") }256}, function(t, n, e) {257 var r = e(95),258 o = e(44),259 i = e(103),260 c = e(105),261 u = e(9),262 a = e(51),263 f = e(50);264 t.exports = function t(n, e, s, l, p) {265 n !== e && i(e, function(i, a) {266 if (u(i)) p || (p = new r), c(n, e, a, s, t, l, p);267 else {268 var v = l ? l(f(n, a), i, a + "", n, e, p) : void 0;269 void 0 === v && (v = i), o(n, a, v)270 }271 }, a)272 }273}, function(t, n, e) {274 var r = e(28),275 o = e(27);276 t.exports = function(t, n, e) {277 (void 0 === e || o(t[n], e)) && (void 0 !== e || n in t) || r(t, n, e)278 }279}, function(t, n, e) {280 var r = e(108),281 o = "object" == typeof self && self && self.Object === Object && self,282 i = r || o || Function("return this")();283 t.exports = i284}, function(t, n, e) {285 var r = e(116)(Object.getPrototypeOf, Object);286 t.exports = r287}, function(t, n, e) {288 var r = e(48),289 o = e(9),290 i = "[object AsyncFunction]",291 c = "[object Function]",292 u = "[object GeneratorFunction]",293 a = "[object Proxy]";294 t.exports = function(t) { if (!o(t)) return !1; var n = r(t); return n == c || n == u || n == i || n == a }295}, function(t, n) {296 var e = Object.prototype.toString;297 t.exports = function(t) { return e.call(t) }298}, function(t, n) { t.exports = function(t) { return null != t && "object" == typeof t } }, function(t, n) { t.exports = function(t, n) { if ("__proto__" != n) return t[n] } }, function(t, n) {299 t.exports = function(t) {300 var n = [];301 if (null != t)302 for (var e in Object(t)) n.push(e);303 return n304 }305}, function(t, n, e) {306 "use strict";307 Object.defineProperty(n, "__esModule", { value: !0 }), n.config = n.configApplyer = void 0;308 var r = i(e(90)),309 o = i(e(132));310311 function i(t) { return t && t.__esModule ? t : { default: t } }312 var c = {};313 n.configApplyer = function(t) { n.config = c = (0, r.default)(t, o.default) }, n.config = c314}, function(t, n, e) { e(54), e(87), t.exports = e(88) }, function(t, n, e) { e(55), e(58), e(69), e(73), e(85), e(86), t.exports = e(2).Promise }, function(t, n, e) {315 "use strict";316 var r = e(17),317 o = {};318 o[e(0)("toStringTag")] = "z", o + "" != "[object z]" && e(5)(Object.prototype, "toString", function() { return "[object " + r(this) + "]" }, !0)319}, function(t, n, e) { t.exports = !e(7) && !e(30)(function() { return 7 != Object.defineProperty(e(20)("div"), "a", { get: function() { return 7 } }).a }) }, function(t, n, e) {320 var r = e(6);321 t.exports = function(t, n) { if (!r(t)) return t; var e, o; if (n && "function" == typeof(e = t.toString) && !r(o = e.call(t))) return o; if ("function" == typeof(e = t.valueOf) && !r(o = e.call(t))) return o; if (!n && "function" == typeof(e = t.toString) && !r(o = e.call(t))) return o; throw TypeError("Can't convert object to primitive value") }322}, function(t, n, e) {323 "use strict";324 var r = e(59)(!0);325 e(32)(String, "String", function(t) { this._t = String(t), this._i = 0 }, function() {326 var t, n = this._t,327 e = this._i;328 return e >= n.length ? { value: void 0, done: !0 } : (t = r(n, e), this._i += t.length, { value: t, done: !1 })329 })330}, function(t, n, e) {331 var r = e(21),332 o = e(22);333 t.exports = function(t) {334 return function(n, e) {335 var i, c, u = String(o(n)),336 a = r(e),337 f = u.length;338 return a < 0 || a >= f ? t ? "" : void 0 : (i = u.charCodeAt(a)) < 55296 || i > 56319 || a + 1 === f || (c = u.charCodeAt(a + 1)) < 56320 || c > 57343 ? t ? u.charAt(a) : i : t ? u.slice(a, a + 2) : c - 56320 + (i - 55296 << 10) + 65536339 }340 }341}, function(t, n, e) {342 "use strict";343 var r = e(61),344 o = e(31),345 i = e(25),346 c = {};347 e(4)(c, e(0)("iterator"), function() { return this }), t.exports = function(t, n, e) { t.prototype = r(c, { next: o(1, e) }), i(t, n + " Iterator") }348}, function(t, n, e) {349 var r = e(3),350 o = e(62),351 i = e(35),352 c = e(24)("IE_PROTO"),353 u = function() {},354 a = function() {355 var t, n = e(20)("iframe"),356 r = i.length;357 for (n.style.display = "none", e(36).appendChild(n), n.src = "javascript:", (t = n.contentWindow.document).open(), t.write("<script>document.F=Object<\/script>"), t.close(), a = t.F; r--;) delete a.prototype[i[r]];358 return a()359 };360 t.exports = Object.create || function(t, n) { var e; return null !== t ? (u.prototype = r(t), e = new u, u.prototype = null, e[c] = t) : e = a(), void 0 === n ? e : o(e, n) }361}, function(t, n, e) {362 var r = e(11),363 o = e(3),364 i = e(33);365 t.exports = e(7) ? Object.defineProperties : function(t, n) { o(t); for (var e, c = i(n), u = c.length, a = 0; u > a;) r.f(t, e = c[a++], n[e]); return t }366}, function(t, n, e) {367 var r = e(12),368 o = e(23),369 i = e(65)(!1),370 c = e(24)("IE_PROTO");371 t.exports = function(t, n) {372 var e, u = o(t),373 a = 0,374 f = [];375 for (e in u) e != c && r(u, e) && f.push(e);376 for (; n.length > a;) r(u, e = n[a++]) && (~i(f, e) || f.push(e));377 return f378 }379}, function(t, n, e) {380 var r = e(10);381 t.exports = Object("z").propertyIsEnumerable(0) ? Object : function(t) { return "String" == r(t) ? t.split("") : Object(t) }382}, function(t, n, e) {383 var r = e(23),384 o = e(34),385 i = e(66);386 t.exports = function(t) {387 return function(n, e, c) {388 var u, a = r(n),389 f = o(a.length),390 s = i(c, f);391 if (t && e != e) {392 for (; f > s;)393 if ((u = a[s++]) != u) return !0394 } else395 for (; f > s; s++)396 if ((t || s in a) && a[s] === e) return t || s || 0; return !t && -1397 }398 }399}, function(t, n, e) {400 var r = e(21),401 o = Math.max,402 i = Math.min;403 t.exports = function(t, n) { return (t = r(t)) < 0 ? o(t + n, 0) : i(t, n) }404}, function(t, n, e) {405 var r = e(12),406 o = e(68),407 i = e(24)("IE_PROTO"),408 c = Object.prototype;409 t.exports = Object.getPrototypeOf || function(t) { return t = o(t), r(t, i) ? t[i] : "function" == typeof t.constructor && t instanceof t.constructor ? t.constructor.prototype : t instanceof Object ? c : null }410}, function(t, n, e) {411 var r = e(22);412 t.exports = function(t) { return Object(r(t)) }413}, function(t, n, e) {414 for (var r = e(70), o = e(33), i = e(5), c = e(1), u = e(4), a = e(8), f = e(0), s = f("iterator"), l = f("toStringTag"), p = a.Array, v = { CSSRuleList: !0, CSSStyleDeclaration: !1, CSSValueList: !1, ClientRectList: !1, DOMRectList: !1, DOMStringList: !1, DOMTokenList: !0, DataTransferItemList: !1, FileList: !1, HTMLAllCollection: !1, HTMLCollection: !1, HTMLFormElement: !1, HTMLSelectElement: !1, MediaList: !0, MimeTypeArray: !1, NamedNodeMap: !1, NodeList: !0, PaintRequestList: !1, Plugin: !1, PluginArray: !1, SVGLengthList: !1, SVGNumberList: !1, SVGPathSegList: !1, SVGPointList: !1, SVGStringList: !1, SVGTransformList: !1, SourceBufferList: !1, StyleSheetList: !0, TextTrackCueList: !1, TextTrackList: !1, TouchList: !1 }, d = o(v), h = 0; h < d.length; h++) {415 var y, b = d[h],416 m = v[b],417 w = c[b],418 x = w && w.prototype;419 if (x && (x[s] || u(x, s, p), x[l] || u(x, l, b), a[b] = p, m))420 for (y in r) x[y] || i(x, y, r[y], !0)421 }422}, function(t, n, e) {423 "use strict";424 var r = e(71),425 o = e(72),426 i = e(8),427 c = e(23);428 t.exports = e(32)(Array, "Array", function(t, n) { this._t = c(t), this._i = 0, this._k = n }, function() {429 var t = this._t,430 n = this._k,431 e = this._i++;432 return !t || e >= t.length ? (this._t = void 0, o(1)) : o(0, "keys" == n ? e : "values" == n ? t[e] : [e, t[e]])433 }, "values"), i.Arguments = i.Array, r("keys"), r("values"), r("entries")434}, function(t, n, e) {435 var r = e(0)("unscopables"),436 o = Array.prototype;437 void 0 == o[r] && e(4)(o, r, {}), t.exports = function(t) { o[r][t] = !0 }438}, function(t, n) { t.exports = function(t, n) { return { value: n, done: !!t } } }, function(t, n, e) {439 "use strict";440 var r, o, i, c, u = e(18),441 a = e(1),442 f = e(14),443 s = e(17),444 l = e(13),445 p = e(6),446 v = e(15),447 d = e(74),448 h = e(75),449 y = e(37),450 b = e(38).set,451 m = e(80)(),452 w = e(26),453 x = e(39),454 g = e(81),455 _ = e(40),456 j = a.TypeError,457 O = a.process,458 P = O && O.versions,459 k = P && P.v8 || "",460 S = a.Promise,461 T = "process" == s(O),462 L = function() {},463 E = o = w.f,464 M = !! function() {465 try {466 var t = S.resolve(1),467 n = (t.constructor = {})[e(0)("species")] = function(t) { t(L, L) };468 return (T || "function" == typeof PromiseRejectionEvent) && t.then(L) instanceof n && 0 !== k.indexOf("6.6") && -1 === g.indexOf("Chrome/66")469 } catch (t) {}470 }(),471 A = function(t) { var n; return !(!p(t) || "function" != typeof(n = t.then)) && n },472 F = function(t, n) {473 if (!t._n) {474 t._n = !0;475 var e = t._c;476 m(function() {477 for (var r = t._v, o = 1 == t._s, i = 0, c = function(n) {478 var e, i, c, u = o ? n.ok : n.fail,479 a = n.resolve,480 f = n.reject,481 s = n.domain;482 try { u ? (o || (2 == t._h && N(t), t._h = 1), !0 === u ? e = r : (s && s.enter(), e = u(r), s && (s.exit(), c = !0)), e === n.promise ? f(j("Promise-chain cycle")) : (i = A(e)) ? i.call(e, a, f) : a(e)) : f(r) } catch (t) { s && !c && s.exit(), f(t) }483 }; e.length > i;) c(e[i++]);484 t._c = [], t._n = !1, n && !t._h && C(t)485 })486 }487 },488 C = function(t) {489 b.call(a, function() {490 var n, e, r, o = t._v,491 i = D(t);492 if (i && (n = x(function() { T ? O.emit("unhandledRejection", o, t) : (e = a.onunhandledrejection) ? e({ promise: t, reason: o }) : (r = a.console) && r.error && r.error("Unhandled promise rejection", o) }), t._h = T || D(t) ? 2 : 1), t._a = void 0, i && n.e) throw n.v493 })494 },495 D = function(t) { return 1 !== t._h && 0 === (t._a || t._c).length },496 N = function(t) {497 b.call(a, function() {498 var n;499 T ? O.emit("rejectionHandled", t) : (n = a.onrejectionhandled) && n({ promise: t, reason: t._v })500 })501 },502 R = function(t) {503 var n = this;504 n._d || (n._d = !0, (n = n._w || n)._v = t, n._s = 2, n._a || (n._a = n._c.slice()), F(n, !0))505 },506 I = function(t) {507 var n, e = this;508 if (!e._d) {509 e._d = !0, e = e._w || e;510 try {511 if (e === t) throw j("Promise can't be resolved itself");512 (n = A(t)) ? m(function() { var r = { _w: e, _d: !1 }; try { n.call(t, f(I, r, 1), f(R, r, 1)) } catch (t) { R.call(r, t) } }): (e._v = t, e._s = 1, F(e, !1))513 } catch (t) { R.call({ _w: e, _d: !1 }, t) }514 }515 };516 M || (S = function(t) { d(this, S, "Promise", "_h"), v(t), r.call(this); try { t(f(I, this, 1), f(R, this, 1)) } catch (t) { R.call(this, t) } }, (r = function(t) { this._c = [], this._a = void 0, this._s = 0, this._d = !1, this._v = void 0, this._h = 0, this._n = !1 }).prototype = e(82)(S.prototype, { then: function(t, n) { var e = E(y(this, S)); return e.ok = "function" != typeof t || t, e.fail = "function" == typeof n && n, e.domain = T ? O.domain : void 0, this._c.push(e), this._a && this._a.push(e), this._s && F(this, !1), e.promise }, catch: function(t) { return this.then(void 0, t) } }), i = function() {517 var t = new r;518 this.promise = t, this.resolve = f(I, t, 1), this.reject = f(R, t, 1)519 }, w.f = E = function(t) { return t === S || t === c ? new i(t) : o(t) }), l(l.G + l.W + l.F * !M, { Promise: S }), e(25)(S, "Promise"), e(83)("Promise"), c = e(2).Promise, l(l.S + l.F * !M, "Promise", { reject: function(t) { var n = E(this); return (0, n.reject)(t), n.promise } }), l(l.S + l.F * (u || !M), "Promise", { resolve: function(t) { return _(u && this === c ? S : this, t) } }), l(l.S + l.F * !(M && e(84)(function(t) { S.all(t).catch(L) })), "Promise", {520 all: function(t) {521 var n = this,522 e = E(n),523 r = e.resolve,524 o = e.reject,525 i = x(function() {526 var e = [],527 i = 0,528 c = 1;529 h(t, !1, function(t) {530 var u = i++,531 a = !1;532 e.push(void 0), c++, n.resolve(t).then(function(t) { a || (a = !0, e[u] = t, --c || r(e)) }, o)533 }), --c || r(e)534 });535 return i.e && o(i.v), e.promise536 },537 race: function(t) {538 var n = this,539 e = E(n),540 r = e.reject,541 o = x(function() { h(t, !1, function(t) { n.resolve(t).then(e.resolve, r) }) });542 return o.e && r(o.v), e.promise543 }544 })545}, function(t, n) { t.exports = function(t, n, e, r) { if (!(t instanceof n) || void 0 !== r && r in t) throw TypeError(e + ": incorrect invocation!"); return t } }, function(t, n, e) {546 var r = e(14),547 o = e(76),548 i = e(77),549 c = e(3),550 u = e(34),551 a = e(78),552 f = {},553 s = {};554 (n = t.exports = function(t, n, e, l, p) {555 var v, d, h, y, b = p ? function() { return t } : a(t),556 m = r(e, l, n ? 2 : 1),557 w = 0;558 if ("function" != typeof b) throw TypeError(t + " is not iterable!");559 if (i(b)) {560 for (v = u(t.length); v > w; w++)561 if ((y = n ? m(c(d = t[w])[0], d[1]) : m(t[w])) === f || y === s) return y562 } else563 for (h = b.call(t); !(d = h.next()).done;)564 if ((y = o(h, m, d.value, n)) === f || y === s) return y565 }).BREAK = f, n.RETURN = s566}, function(t, n, e) {567 var r = e(3);568 t.exports = function(t, n, e, o) { try { return o ? n(r(e)[0], e[1]) : n(e) } catch (n) { var i = t.return; throw void 0 !== i && r(i.call(t)), n } }569}, function(t, n, e) {570 var r = e(8),571 o = e(0)("iterator"),572 i = Array.prototype;573 t.exports = function(t) { return void 0 !== t && (r.Array === t || i[o] === t) }574}, function(t, n, e) {575 var r = e(17),576 o = e(0)("iterator"),577 i = e(8);578 t.exports = e(2).getIteratorMethod = function(t) { if (void 0 != t) return t[o] || t["@@iterator"] || i[r(t)] }579}, function(t, n) {580 t.exports = function(t, n, e) {581 var r = void 0 === e;582 switch (n.length) {583 case 0:584 return r ? t() : t.call(e);585 case 1:586 return r ? t(n[0]) : t.call(e, n[0]);587 case 2:588 return r ? t(n[0], n[1]) : t.call(e, n[0], n[1]);589 case 3:590 return r ? t(n[0], n[1], n[2]) : t.call(e, n[0], n[1], n[2]);591 case 4:592 return r ? t(n[0], n[1], n[2], n[3]) : t.call(e, n[0], n[1], n[2], n[3])593 }594 return t.apply(e, n)595 }596}, function(t, n, e) {597 var r = e(1),598 o = e(38).set,599 i = r.MutationObserver || r.WebKitMutationObserver,600 c = r.process,601 u = r.Promise,602 a = "process" == e(10)(c);603 t.exports = function() {604 var t, n, e, f = function() {605 var r, o;606 for (a && (r = c.domain) && r.exit(); t;) { o = t.fn, t = t.next; try { o() } catch (r) { throw t ? e() : n = void 0, r } }607 n = void 0, r && r.enter()608 };609 if (a) e = function() { c.nextTick(f) };610 else if (!i || r.navigator && r.navigator.standalone)611 if (u && u.resolve) {612 var s = u.resolve(void 0);613 e = function() { s.then(f) }614 } else e = function() { o.call(r, f) };615 else {616 var l = !0,617 p = document.createTextNode("");618 new i(f).observe(p, { characterData: !0 }), e = function() { p.data = l = !l }619 }620 return function(r) {621 var o = { fn: r, next: void 0 };622 n && (n.next = o), t || (t = o, e()), n = o623 }624 }625}, function(t, n, e) {626 var r = e(1).navigator;627 t.exports = r && r.userAgent || ""628}, function(t, n, e) {629 var r = e(5);630 t.exports = function(t, n, e) { for (var o in n) r(t, o, n[o], e); return t }631}, function(t, n, e) {632 "use strict";633 var r = e(1),634 o = e(11),635 i = e(7),636 c = e(0)("species");637 t.exports = function(t) {638 var n = r[t];639 i && n && !n[c] && o.f(n, c, { configurable: !0, get: function() { return this } })640 }641}, function(t, n, e) {642 var r = e(0)("iterator"),643 o = !1;644 try {645 var i = [7][r]();646 i.return = function() { o = !0 }, Array.from(i, function() { throw 2 })647 } catch (t) {}648 t.exports = function(t, n) {649 if (!n && !o) return !1;650 var e = !1;651 try {652 var i = [7],653 c = i[r]();654 c.next = function() { return { done: e = !0 } }, i[r] = function() { return c }, t(i)655 } catch (t) {}656 return e657 }658}, function(t, n, e) {659 "use strict";660 var r = e(13),661 o = e(2),662 i = e(1),663 c = e(37),664 u = e(40);665 r(r.P + r.R, "Promise", {666 finally: function(t) {667 var n = c(this, o.Promise || i.Promise),668 e = "function" == typeof t;669 return this.then(e ? function(e) { return u(n, t()).then(function() { return e }) } : t, e ? function(e) { return u(n, t()).then(function() { throw e }) } : t)670 }671 })672}, function(t, n, e) {673 "use strict";674 var r = e(13),675 o = e(26),676 i = e(39);677 r(r.S, "Promise", {678 try: function(t) {679 var n = o.f(this),680 e = i(t);681 return (e.e ? n.reject : n.resolve)(e.v), n.promise682 }683 })684}, function(t, n, e) {685 "use strict";686687 function r() { try { return document.currentScript.src } catch (n) { var t = document.getElementsByTagName("script"); return t[t.length - 1].src } }688 Object.defineProperty(n, "__esModule", { value: !0 }), e.p = r().replace(/[^/\\\\]+$/, ""), n.getCurrentPath = r689}, function(t, n, e) {690 "use strict";691 Object.defineProperty(n, "__esModule", { value: !0 }), n.L2Dwidget = void 0;692 var r, o = function() {693 function t(t, n) {694 for (var e = 0; e < n.length; e++) {695 var r = n[e];696 r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(t, r.key, r)697 }698 }699 return function(n, e, r) { return e && t(n.prototype, e), r && t(n, r), n }700 }(),701 i = e(89),702 c = (r = i) && r.__esModule ? r : { default: r },703 u = e(52);704 var a = void 0,705 f = new(function() {706 function t() {! function(t, n) { if (!(t instanceof n)) throw new TypeError("Cannot call a class as a function") }(this, t) }707 return o(t, [{708 key: "init",709 value: function() {710 var t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {};711 (0, u.configApplyer)(t), !u.config.mobile.show && c.default.mobile() || e.e(0).then(e.bind(null, 133)).then(function(t) {712 (a = t).theRealInit()713 }).catch(function(t) { console.error(t) })714 }715 }, { key: "captureFrame", value: function(t) { return a.captureFrame(t) } }, {716 key: "downloadFrame",717 value: function() {718 this.captureFrame(function(t) {719 var n = document.createElement("a");720 document.body.appendChild(n), n.setAttribute("type", "hidden"), n.href = t, n.download = "live2d.png", n.click()721 })722 }723 }]), t724 }());725 n.L2Dwidget = f726}, function(t, n, e) {727 "use strict";728 Object.defineProperty(n, "__esModule", { value: !0 });729 var r = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(t) { return typeof t } : function(t) { return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t },730 o = window.device,731 i = {},732 c = [];733 window.device = i;734 var u = window.document.documentElement,735 a = window.navigator.userAgent.toLowerCase(),736 f = ["googletv", "viera", "smarttv", "internet.tv", "netcast", "nettv", "appletv", "boxee", "kylo", "roku", "dlnadoc", "roku", "pov_tv", "hbbtv", "ce-html"];737738 function s(t) { return -1 !== a.indexOf(t) }739740 function l(t) { return u.className.match(new RegExp(t, "i")) }741742 function p(t) {743 var n = null;744 l(t) || (n = u.className.replace(/^\s+|\s+$/g, ""), u.className = n + " " + t)745 }746747 function v(t) { l(t) && (u.className = u.className.replace(" " + t, "")) }748749 function d() { i.landscape() ? (v("portrait"), p("landscape"), h("landscape")) : (v("landscape"), p("portrait"), h("portrait")), m() }750751 function h(t) { for (var n in c) c[n](t) }752 i.macos = function() { return s("mac") }, i.ios = function() { return i.iphone() || i.ipod() || i.ipad() }, i.iphone = function() { return !i.windows() && s("iphone") }, i.ipod = function() { return s("ipod") }, i.ipad = function() { return s("ipad") }, i.android = function() { return !i.windows() && s("android") }, i.androidPhone = function() { return i.android() && s("mobile") }, i.androidTablet = function() { return i.android() && !s("mobile") }, i.blackberry = function() { return s("blackberry") || s("bb10") || s("rim") }, i.blackberryPhone = function() { return i.blackberry() && !s("tablet") }, i.blackberryTablet = function() { return i.blackberry() && s("tablet") }, i.windows = function() { return s("windows") }, i.windowsPhone = function() { return i.windows() && s("phone") }, i.windowsTablet = function() { return i.windows() && s("touch") && !i.windowsPhone() }, i.fxos = function() { return (s("(mobile") || s("(tablet")) && s(" rv:") }, i.fxosPhone = function() { return i.fxos() && s("mobile") }, i.fxosTablet = function() { return i.fxos() && s("tablet") }, i.meego = function() { return s("meego") }, i.cordova = function() { return window.cordova && "file:" === location.protocol }, i.nodeWebkit = function() { return "object" === r(window.process) }, i.mobile = function() { return i.androidPhone() || i.iphone() || i.ipod() || i.windowsPhone() || i.blackberryPhone() || i.fxosPhone() || i.meego() }, i.tablet = function() { return i.ipad() || i.androidTablet() || i.blackberryTablet() || i.windowsTablet() || i.fxosTablet() }, i.desktop = function() { return !i.tablet() && !i.mobile() }, i.television = function() {753 for (var t = 0; t < f.length;) {754 if (s(f[t])) return !0;755 t++756 }757 return !1758 }, i.portrait = function() { return screen.orientation && Object.prototype.hasOwnProperty.call(window, "onorientationchange") ? screen.orientation.type.includes("portrait") : window.innerHeight / window.innerWidth > 1 }, i.landscape = function() { return screen.orientation && Object.prototype.hasOwnProperty.call(window, "onorientationchange") ? screen.orientation.type.includes("landscape") : window.innerHeight / window.innerWidth < 1 }, i.noConflict = function() { return window.device = o, this }, i.ios() ? i.ipad() ? p("ios ipad tablet") : i.iphone() ? p("ios iphone mobile") : i.ipod() && p("ios ipod mobile") : i.macos() ? p("macos desktop") : i.android() ? i.androidTablet() ? p("android tablet") : p("android mobile") : i.blackberry() ? i.blackberryTablet() ? p("blackberry tablet") : p("blackberry mobile") : i.windows() ? i.windowsTablet() ? p("windows tablet") : i.windowsPhone() ? p("windows mobile") : p("windows desktop") : i.fxos() ? i.fxosTablet() ? p("fxos tablet") : p("fxos mobile") : i.meego() ? p("meego mobile") : i.nodeWebkit() ? p("node-webkit") : i.television() ? p("television") : i.desktop() && p("desktop"), i.cordova() && p("cordova"), i.onChangeOrientation = function(t) { "function" == typeof t && c.push(t) };759 var y = "resize";760761 function b(t) {762 for (var n = 0; n < t.length; n++)763 if (i[t[n]]()) return t[n];764 return "unknown"765 }766767 function m() { i.orientation = b(["portrait", "landscape"]) }768 Object.prototype.hasOwnProperty.call(window, "onorientationchange") && (y = "orientationchange"), window.addEventListener ? window.addEventListener(y, d, !1) : window.attachEvent ? window.attachEvent(y, d) : window[y] = d, d(), i.type = b(["mobile", "tablet", "desktop"]), i.os = b(["ios", "iphone", "ipad", "ipod", "android", "blackberry", "windows", "fxos", "meego", "television"]), m(), n.default = i769}, function(t, n, e) {770 var r = e(41),771 o = e(42),772 i = e(94),773 c = e(129),774 u = o(function(t) { return t.push(void 0, i), r(c, void 0, t) });775 t.exports = u776}, function(t, n) { t.exports = function(t) { return t } }, function(t, n, e) {777 var r = e(41),778 o = Math.max;779 t.exports = function(t, n, e) {780 return n = o(void 0 === n ? t.length - 1 : n, 0),781 function() {782 for (var i = arguments, c = -1, u = o(i.length - n, 0), a = Array(u); ++c < u;) a[c] = i[n + c];783 c = -1;784 for (var f = Array(n + 1); ++c < n;) f[c] = i[c];785 return f[n] = e(a), r(t, this, f)786 }787 }788}, function(t, n) { t.exports = function(t) { return t } }, function(t, n, e) {789 var r = e(43),790 o = e(9);791 t.exports = function t(n, e, i, c, u, a) { return o(n) && o(e) && (a.set(e, n), r(n, e, void 0, t, a), a.delete(e)), n }792}, function(t, n, e) {793 var r = e(96),794 o = e(97),795 i = e(98),796 c = e(99),797 u = e(100);798799 function a(t) {800 var n = -1,801 e = null == t ? 0 : t.length;802 for (this.clear(); ++n < e;) {803 var r = t[n];804 this.set(r[0], r[1])805 }806 }807 a.prototype.clear = r, a.prototype.delete = o, a.prototype.get = i, a.prototype.has = c, a.prototype.set = u, t.exports = a808}, function(t, n) { t.exports = function() { this.__data__ = [], this.size = 0 } }, function(t, n, e) {809 var r = e(16),810 o = Array.prototype.splice;811 t.exports = function(t) {812 var n = this.__data__,813 e = r(n, t);814 return !(e < 0 || (e == n.length - 1 ? n.pop() : o.call(n, e, 1), --this.size, 0))815 }816}, function(t, n, e) {817 var r = e(16);818 t.exports = function(t) {819 var n = this.__data__,820 e = r(n, t);821 return e < 0 ? void 0 : n[e][1]822 }823}, function(t, n, e) {824 var r = e(16);825 t.exports = function(t) { return r(this.__data__, t) > -1 }826}, function(t, n, e) {827 var r = e(16);828 t.exports = function(t, n) {829 var e = this.__data__,830 o = r(e, t);831 return o < 0 ? (++this.size, e.push([t, n])) : e[o][1] = n, this832 }833}, function(t, n, e) {834 var r = e(102),835 o = function() { try { var t = r(Object, "defineProperty"); return t({}, "", {}), t } catch (t) {} }();836 t.exports = o837}, function(t, n) { t.exports = function(t, n) { return null == t ? void 0 : t[n] } }, function(t, n, e) {838 var r = e(104)();839 t.exports = r840}, function(t, n) { t.exports = function(t) { return function(n, e, r) { for (var o = -1, i = Object(n), c = r(n), u = c.length; u--;) { var a = c[t ? u : ++o]; if (!1 === e(i[a], a, i)) break } return n } } }, function(t, n, e) {841 var r = e(44),842 o = e(106),843 i = e(110),844 c = e(113),845 u = e(114),846 a = e(118),847 f = e(119),848 s = e(120),849 l = e(123),850 p = e(47),851 v = e(9),852 d = e(124),853 h = e(125),854 y = e(50),855 b = e(126);856 t.exports = function(t, n, e, m, w, x, g) {857 var _ = y(t, e),858 j = y(n, e),859 O = g.get(j);860 if (O) r(t, e, O);861 else {862 var P = x ? x(_, j, e + "", t, n, g) : void 0,863 k = void 0 === P;864 if (k) {865 var S = f(j),866 T = !S && l(j),867 L = !S && !T && h(j);868 P = j, S || T || L ? f(_) ? P = _ : s(_) ? P = c(_) : T ? (k = !1, P = o(j, !0)) : L ? (k = !1, P = i(j, !0)) : P = [] : d(j) || a(j) ? (P = _, a(_) ? P = b(_) : v(_) && !p(_) || (P = u(j))) : k = !1869 }870 k && (g.set(j, P), w(P, j, m, x, g), g.delete(j)), r(t, e, P)871 }872 }873}, function(t, n, e) {874 (function(t) {875 var r = e(45),876 o = "object" == typeof n && n && !n.nodeType && n,877 i = o && "object" == typeof t && t && !t.nodeType && t,878 c = i && i.exports === o ? r.Buffer : void 0,879 u = c ? c.allocUnsafe : void 0;880 t.exports = function(t, n) {881 if (n) return t.slice();882 var e = t.length,883 r = u ? u(e) : new t.constructor(e);884 return t.copy(r), r885 }886 }).call(n, e(107)(t))887}, function(t, n) { t.exports = function(t) { return t.webpackPolyfill || (t.deprecate = function() {}, t.paths = [], t.children || (t.children = []), Object.defineProperty(t, "loaded", { enumerable: !0, get: function() { return t.l } }), Object.defineProperty(t, "id", { enumerable: !0, get: function() { return t.i } }), t.webpackPolyfill = 1), t } }, function(t, n, e) {888 (function(n) {889 var e = "object" == typeof n && n && n.Object === Object && n;890 t.exports = e891 }).call(n, e(109))892}, function(t, n) {893 var e;894 e = function() { return this }();895 try { e = e || Function("return this")() || (0, eval)("this") } catch (t) { "object" == typeof window && (e = window) }896 t.exports = e897}, function(t, n, e) {898 var r = e(111);899 t.exports = function(t, n) { var e = n ? r(t.buffer) : t.buffer; return new t.constructor(e, t.byteOffset, t.length) }900}, function(t, n, e) {901 var r = e(112);902 t.exports = function(t) { var n = new t.constructor(t.byteLength); return new r(n).set(new r(t)), n }903}, function(t, n, e) {904 var r = e(45).Uint8Array;905 t.exports = r906}, function(t, n) {907 t.exports = function(t, n) {908 var e = -1,909 r = t.length;910 for (n || (n = Array(r)); ++e < r;) n[e] = t[e];911 return n912 }913}, function(t, n, e) {914 var r = e(115),915 o = e(46),916 i = e(117);917 t.exports = function(t) { return "function" != typeof t.constructor || i(t) ? {} : r(o(t)) }918}, function(t, n, e) {919 var r = e(9),920 o = Object.create,921 i = function() {922 function t() {}923 return function(n) {924 if (!r(n)) return {};925 if (o) return o(n);926 t.prototype = n;927 var e = new t;928 return t.prototype = void 0, e929 }930 }();931 t.exports = i932}, function(t, n) { t.exports = function(t, n) { return function(e) { return t(n(e)) } } }, function(t, n) { t.exports = function() { return !1 } }, function(t, n) { t.exports = function() { return !1 } }, function(t, n) {933 var e = Array.isArray;934 t.exports = e935}, function(t, n, e) {936 var r = e(121),937 o = e(49);938 t.exports = function(t) { return o(t) && r(t) }939}, function(t, n, e) {940 var r = e(47),941 o = e(122);942 t.exports = function(t) { return null != t && o(t.length) && !r(t) }943}, function(t, n) {944 var e = 9007199254740991;945 t.exports = function(t) { return "number" == typeof t && t > -1 && t % 1 == 0 && t <= e }946}, function(t, n) { t.exports = function() { return !1 } }, function(t, n, e) {947 var r = e(48),948 o = e(46),949 i = e(49),950 c = "[object Object]",951 u = Function.prototype,952 a = Object.prototype,953 f = u.toString,954 s = a.hasOwnProperty,955 l = f.call(Object);956 t.exports = function(t) { if (!i(t) || r(t) != c) return !1; var n = o(t); if (null === n) return !0; var e = s.call(n, "constructor") && n.constructor; return "function" == typeof e && e instanceof e && f.call(e) == l }957}, function(t, n) { t.exports = function() { return !1 } }, function(t, n, e) {958 var r = e(127),959 o = e(51);960 t.exports = function(t) { return r(t, o(t)) }961}, function(t, n, e) {962 var r = e(128),963 o = e(28);964 t.exports = function(t, n, e, i) {965 var c = !e;966 e || (e = {});967 for (var u = -1, a = n.length; ++u < a;) {968 var f = n[u],969 s = i ? i(e[f], t[f], f, e, t) : void 0;970 void 0 === s && (s = t[f]), c ? o(e, f, s) : r(e, f, s)971 }972 return e973 }974}, function(t, n, e) {975 var r = e(28),976 o = e(27),977 i = Object.prototype.hasOwnProperty;978 t.exports = function(t, n, e) {979 var c = t[n];980 i.call(t, n) && o(c, e) && (void 0 !== e || n in t) || r(t, n, e)981 }982}, function(t, n, e) {983 var r = e(43),984 o = e(130)(function(t, n, e, o) { r(t, n, e, o) });985 t.exports = o986}, function(t, n, e) {987 var r = e(42),988 o = e(131);989 t.exports = function(t) {990 return r(function(n, e) {991 var r = -1,992 i = e.length,993 c = i > 1 ? e[i - 1] : void 0,994 u = i > 2 ? e[2] : void 0;995 for (c = t.length > 3 && "function" == typeof c ? (i--, c) : void 0, u && o(e[0], e[1], u) && (c = i < 3 ? void 0 : c, i = 1), n = Object(n); ++r < i;) {996 var a = e[r];997 a && t(n, a, r, c)998 }999 return n1000 })1001 }1002}, function(t, n) { t.exports = function() { return !1 } }, function(t, n, e) {1003 "use strict";1004 var r = { model: { jsonPath: "https://unpkg.com/live2d-widget-model-shizuku@latest/assets/shizuku.model.json", scale: 1, hHeadPos: .5, vHeadPos: .618, myDefine: [] }, display: { superSample: 2, width: 150, height: 300, position: "right", hOffset: 0, vOffset: -20 }, mobile: { show: !0, scale: .5, motion: !0 }, name: { canvas: "live2dcanvas", div: "live2d-widget" }, react: { opacityDefault: .7, opacityOnHover: .2, myFunc: function(t) { console.log("(undefined) â( ̄Р ̄)â") } }, dev: { log: !1, border: !1, mouseLog: !1, mouseFunc: function(t, n, e, r) { console.log("MouseFunc: " + t + "," + n + "; " + e + ", " + r) } } };1005 t.exports = r
...
publicApiSpec.js
Source:publicApiSpec.js
1describe('Plugin initialization and component basic construction', function () {2 'use strict';3 it('loads jquery plugin properly', function () {4 expect($('<div>').datetimepicker).toBeDefined();5 expect(typeof $('<div>').datetimepicker).toEqual('function');6 expect($('<div>').datetimepicker.defaults).toBeDefined();7 });8 it('creates the component with default options on an input element', function () {9 var dtpElement = $('<input>'),10 dtp;11 $(document).find('body').append(dtpElement);12 expect(function () {13 expect(dtpElement.datetimepicker()).toBe(dtpElement);14 }).not.toThrow();15 dtp = dtpElement.data('DateTimePicker');16 expect(dtpElement).not.toBe(null);17 });18 it('creates the component with default options merged with those provided on an input element', function () {19 var options = {locale: 'fr'},20 dtpElement = $('<input>'),21 dtp;22 $(document).find('body').append(dtpElement);23 expect(function () {24 expect(dtpElement.datetimepicker(options)).toBe(dtpElement);25 }).not.toThrow();26 dtp = dtpElement.data('DateTimePicker');27 expect(dtp).not.toBe(null);28 expect(dtp.options()).toEqual($.extend(true, {}, dtpElement.datetimepicker.defaults, options));29 });30 it('does not accept non-object or string types', function () {31 var dtpElement = $('<input>');32 $(document).find('body').append(dtpElement);33 expect(function () {34 dtpElement.datetimepicker(true);35 }).toThrow();36 });37 xit('calls destroy when Element that the component is attached is removed', function () {38 var dtpElement = $('<div>').attr('class', 'row').append($('<div>').attr('class', 'col-md-12').append($('<input>'))),39 dtp;40 $(document).find('body').append(dtpElement);41 dtpElement.datetimepicker();42 dtp = dtpElement.data('DateTimePicker');43 spyOn(dtp, 'destroy').and.callThrough();44 dtpElement.remove();45 expect(dtp.destroy).toHaveBeenCalled();46 });47});48describe('Public API method tests', function () {49 'use strict';50 var dtp,51 dtpElement,52 dpChangeSpy,53 dpShowSpy,54 dpHideSpy,55 dpErrorSpy,56 dpClassifySpy;57 beforeEach(function () {58 dpChangeSpy = jasmine.createSpy('dp.change event Spy');59 dpShowSpy = jasmine.createSpy('dp.show event Spy');60 dpHideSpy = jasmine.createSpy('dp.hide event Spy');61 dpErrorSpy = jasmine.createSpy('dp.error event Spy');62 dpClassifySpy = jasmine.createSpy('dp.classify event Spy');63 dtpElement = $('<input>').attr('id', 'dtp');64 $(document).find('body').append($('<div>').attr('class', 'row').append($('<div>').attr('class', 'col-md-12').append(dtpElement)));65 $(document).find('body').on('dp.change', dpChangeSpy);66 $(document).find('body').on('dp.show', dpShowSpy);67 $(document).find('body').on('dp.hide', dpHideSpy);68 $(document).find('body').on('dp.error', dpErrorSpy);69 $(document).find('body').on('dp.classify', dpClassifySpy);70 dtpElement.datetimepicker();71 dtp = dtpElement.data('DateTimePicker');72 });73 afterEach(function () {74 dtp.destroy();75 dtpElement.remove();76 });77 describe('configuration option name match to public api function', function () {78 Object.getOwnPropertyNames($.fn.datetimepicker.defaults).forEach(function (key) {79 it('has function ' + key + '()', function () {80 expect(dtp[key]).toBeDefined();81 });82 });83 });84 describe('unknown functions', function () {85 it('are not allowed', function () {86 expect(function () {87 dtpElement.datetimepicker('abcdef');88 }).toThrow();89 });90 });91 describe('date() function', function () {92 describe('typechecking', function () {93 it('accepts a null', function () {94 expect(function () {95 dtp.date(null);96 }).not.toThrow();97 });98 it('accepts a string', function () {99 expect(function () {100 dtp.date('2013/05/24');101 }).not.toThrow();102 });103 it('accepts a Date object', function () {104 expect(function () {105 dtp.date(new Date());106 }).not.toThrow();107 });108 it('accepts a Moment object', function () {109 expect(function () {110 dtp.date(moment());111 }).not.toThrow();112 });113 it('does not accept undefined', function () {114 expect(function () {115 dtp.date(undefined);116 }).toThrow();117 });118 it('does not accept a number', function () {119 expect(function () {120 dtp.date(0);121 }).toThrow();122 });123 it('does not accept a generic Object', function () {124 expect(function () {125 dtp.date({});126 }).toThrow();127 });128 it('does not accept a boolean', function () {129 expect(function () {130 dtp.date(false);131 }).toThrow();132 });133 });134 describe('functionality', function () {135 it('has no date set upon construction', function () {136 expect(dtp.date()).toBe(null);137 });138 it('sets the date correctly', function () {139 var timestamp = moment();140 dtp.date(timestamp);141 expect(dtp.date().isSame(timestamp)).toBe(true);142 });143 });144 describe('access', function () {145 it('gets date', function () {146 expect(dtpElement.datetimepicker('date')).toBe(null);147 });148 it('sets date', function () {149 var timestamp = moment();150 expect(dtpElement.datetimepicker('date', timestamp)).toBe(dtpElement);151 expect(dtpElement.datetimepicker('date').isSame(timestamp)).toBe(true);152 });153 });154 });155 describe('format() function', function () {156 describe('typechecking', function () {157 it('accepts a false value', function () {158 expect(function () {159 dtp.format(false);160 }).not.toThrow();161 });162 it('accepts a string', function () {163 expect(function () {164 dtp.format('YYYY-MM-DD');165 }).not.toThrow();166 });167 it('does not accept undefined', function () {168 expect(function () {169 dtp.format(undefined);170 }).toThrow();171 });172 it('does not accept true', function () {173 expect(function () {174 dtp.format(true);175 }).toThrow();176 });177 it('does not accept a generic Object', function () {178 expect(function () {179 dtp.format({});180 }).toThrow();181 });182 });183 describe('functionality', function () {184 it('returns no format before format is set', function () {185 expect(dtp.format()).toBe(false);186 });187 it('sets the format correctly', function () {188 var format = 'YYYY-MM-DD';189 dtp.format(format);190 expect(dtp.format()).toBe(format);191 });192 });193 describe('access', function () {194 it('gets format', function () {195 expect(dtpElement.datetimepicker('format')).toBe(false);196 });197 it('sets format', function () {198 var format = 'YYYY-MM-DD';199 expect(dtpElement.datetimepicker('format', format)).toBe(dtpElement);200 expect(dtpElement.datetimepicker('format')).toBe(format);201 });202 });203 });204 describe('destroy() function', function () {205 describe('existence', function () {206 it('is defined', function () {207 expect(dtp.destroy).toBeDefined();208 });209 });210 describe('access', function () {211 it('returns jQuery object', function () {212 expect(dtpElement.datetimepicker('destroy')).toBe(dtpElement);213 });214 });215 });216 describe('toggle() function', function () {217 describe('existence', function () {218 it('is defined', function () {219 expect(dtp.toggle).toBeDefined();220 });221 });222 // describe('functionality', function () {223 // it('')224 // });225 describe('access', function () {226 it('returns jQuery object', function () {227 expect(dtpElement.datetimepicker('toggle')).toBe(dtpElement);228 });229 });230 });231 describe('show() function', function () {232 describe('existence', function () {233 it('is defined', function () {234 expect(dtp.show).toBeDefined();235 });236 });237 describe('functionality', function () {238 it('emits a show event when called while widget is hidden', function () {239 dtp.show();240 expect(dpShowSpy).toHaveBeenCalled();241 });242 it('does not emit a show event when called and widget is already showing', function () {243 dtp.hide();244 dtp.show();245 dpShowSpy.calls.reset();246 dtp.show();247 expect(dpShowSpy).not.toHaveBeenCalled();248 });249 it('calls the classify event for each day that is shown', function () {250 dtp.show();251 expect(dpClassifySpy.calls.count()).toEqual(42);252 });253 it('actually shows the widget', function () {254 dtp.show();255 expect($(document).find('body').find('.bootstrap-datetimepicker-widget').length).toEqual(1);256 });257 it('applies the styles appended in the classify event handler', function () {258 var handler = function (event) {259 if (event.date.get('weekday') === 4) {260 event.classNames.push('humpday');261 }262 event.classNames.push('injected');263 };264 $(document).find('body').on('dp.classify', handler);265 dtp.show();266 $(document).find('body').off('dp.classify', handler);267 expect($(document).find('body').find('.bootstrap-datetimepicker-widget td.day.injected').length).toEqual(42);268 expect($(document).find('body').find('.bootstrap-datetimepicker-widget td.day.humpday').length).toEqual(6);269 });270 });271 describe('access', function () {272 it('returns jQuery object', function () {273 expect(dtpElement.datetimepicker('show')).toBe(dtpElement);274 });275 });276 });277 describe('hide() function', function () {278 describe('existence', function () {279 it('is defined', function () {280 expect(dtp.hide).toBeDefined();281 });282 });283 describe('functionality', function () {284 it('emits a hide event when called while widget is shown', function () {285 dtp.show();286 dtp.hide();287 expect(dpHideSpy).toHaveBeenCalled();288 });289 it('does not emit a hide event when called while widget is hidden', function () {290 dtp.hide();291 expect(dpHideSpy).not.toHaveBeenCalled();292 });293 it('actually hides the widget', function () {294 dtp.show();295 dtp.hide();296 expect($(document).find('body').find('.bootstrap-datetimepicker-widget').length).toEqual(0);297 });298 });299 describe('access', function () {300 it('returns jQuery object', function () {301 expect(dtpElement.datetimepicker('hide')).toBe(dtpElement);302 });303 });304 });305 describe('disable() function', function () {306 describe('existence', function () {307 it('is defined', function () {308 expect(dtp.disable).toBeDefined();309 });310 });311 describe('access', function () {312 it('returns jQuery object', function () {313 expect(dtpElement.datetimepicker('disable')).toBe(dtpElement);314 });315 });316 });317 describe('enable() function', function () {318 describe('existence', function () {319 it('is defined', function () {320 expect(dtp.enable).toBeDefined();321 });322 });323 describe('access', function () {324 it('returns jQuery object', function () {325 expect(dtpElement.datetimepicker('enable')).toBe(dtpElement);326 });327 });328 });329 describe('options() function', function () {330 describe('existence', function () {331 it('is defined', function () {332 expect(dtp.options).toBeDefined();333 });334 });335 describe('access', function () {336 it('gets options', function () {337 expect(dtpElement.datetimepicker('options')).toEqual(dtpElement.datetimepicker.defaults);338 });339 it('sets options', function () {340 var options = {locale: 'fr'};341 expect(dtpElement.datetimepicker('options', options)).toBe(dtpElement);342 expect(dtpElement.datetimepicker('options')).toEqual($.extend(true, {}, dtpElement.datetimepicker.defaults, options));343 });344 });345 });346 describe('disabledDates() function', function () {347 describe('existence', function () {348 it('is defined', function () {349 expect(dtp.disabledDates).toBeDefined();350 });351 });352 describe('access', function () {353 it('gets disabled dates', function () {354 expect(dtpElement.datetimepicker('disabledDates')).toBe(false);355 });356 it('sets disabled dates', function () {357 var timestamps = [moment()];358 expect(dtpElement.datetimepicker('disabledDates', timestamps)).toBe(dtpElement);359 expect(dtpElement.datetimepicker('disabledDates')).not.toBe(false);360 });361 });362 });363 describe('enabledDates() function', function () {364 describe('existence', function () {365 it('is defined', function () {366 expect(dtp.enabledDates).toBeDefined();367 });368 });369 describe('access', function () {370 it('gets enabled dates', function () {371 expect(dtpElement.datetimepicker('enabledDates')).toBe(false);372 });373 it('sets enabled dates', function () {374 var timestamps = [moment()];375 expect(dtpElement.datetimepicker('enabledDates', timestamps)).toBe(dtpElement);376 expect(dtpElement.datetimepicker('enabledDates')).not.toBe(false);377 });378 });379 });380 describe('daysOfWeekDisabled() function', function () {381 describe('existence', function () {382 it('is defined', function () {383 expect(dtp.daysOfWeekDisabled).toBeDefined();384 });385 });386 describe('access', function () {387 xit('gets days of week disabled', function () {388 expect(dtpElement.datetimepicker('daysOfWeekDisabled')).toEqual([]);389 });390 it('sets days of week disabled', function () {391 var daysOfWeek = [0];392 expect(dtpElement.datetimepicker('daysOfWeekDisabled', daysOfWeek)).toBe(dtpElement);393 expect(dtpElement.datetimepicker('daysOfWeekDisabled')).toEqual(daysOfWeek);394 });395 });396 });397 describe('maxDate() function', function () {398 describe('existence', function () {399 it('is defined', function () {400 expect(dtp.maxDate).toBeDefined();401 });402 });403 describe('access', function () {404 it('gets max date', function () {405 expect(dtpElement.datetimepicker('maxDate')).toBe(false);406 });407 it('sets max date', function () {408 var timestamp = moment();409 expect(dtpElement.datetimepicker('maxDate', timestamp)).toBe(dtpElement);410 expect(dtpElement.datetimepicker('maxDate').isSame(timestamp)).toBe(true);411 });412 });413 });414 describe('minDate() function', function () {415 describe('existence', function () {416 it('is defined', function () {417 expect(dtp.minDate).toBeDefined();418 });419 });420 describe('access', function () {421 it('gets min date', function () {422 expect(dtpElement.datetimepicker('minDate')).toBe(false);423 });424 it('sets min date', function () {425 var timestamp = moment();426 expect(dtpElement.datetimepicker('minDate', timestamp)).toBe(dtpElement);427 expect(dtpElement.datetimepicker('minDate').isSame(timestamp)).toBe(true);428 });429 });430 });431 describe('defaultDate() function', function () {432 describe('existence', function () {433 it('is defined', function () {434 expect(dtp.defaultDate).toBeDefined();435 });436 });437 describe('functionality', function () {438 it('returns no defaultDate before defaultDate is set', function () {439 expect(dtp.defaultDate()).toBe(false);440 });441 it('sets the defaultDate correctly', function () {442 var timestamp = moment();443 dtp.defaultDate(timestamp);444 expect(dtp.defaultDate().isSame(timestamp)).toBe(true);445 expect(dtp.date().isSame(timestamp)).toBe(true);446 });447 it('triggers a change event upon setting a default date and input field is empty', function () {448 dtp.date(null);449 dtp.defaultDate(moment());450 expect(dpChangeSpy).toHaveBeenCalled();451 });452 it('does not override input value if it already has one', function () {453 var timestamp = moment();454 dtp.date(timestamp);455 dtp.defaultDate(moment().year(2000));456 expect(dtp.date().isSame(timestamp)).toBe(true);457 });458 });459 describe('access', function () {460 it('gets default date', function () {461 expect(dtpElement.datetimepicker('defaultDate')).toBe(false);462 });463 it('sets default date', function () {464 var timestamp = moment();465 expect(dtpElement.datetimepicker('defaultDate', timestamp)).toBe(dtpElement);466 expect(dtpElement.datetimepicker('defaultDate').isSame(timestamp)).toBe(true);467 });468 });469 });470 describe('locale() function', function () {471 describe('functionality', function () {472 it('it has the same locale as the global moment locale with default options', function () {473 expect(dtp.locale()).toBe(moment.locale());474 });475 it('it switches to a selected locale without affecting global moment locale', function () {476 dtp.locale('el');477 dtp.date(moment());478 expect(dtp.locale()).toBe('el');479 expect(dtp.date().locale()).toBe('el');480 expect(moment.locale()).toBe('en');481 });482 });483 describe('access', function () {484 it('gets locale', function () {485 expect(dtpElement.datetimepicker('locale')).toBe(moment.locale());486 });487 it('sets locale', function () {488 var locale = 'fr';489 expect(dtpElement.datetimepicker('locale', locale)).toBe(dtpElement);490 expect(dtpElement.datetimepicker('locale')).toBe(locale);491 });492 });493 });494 describe('useCurrent() function', function () {495 describe('existence', function () {496 it('is defined', function () {497 expect(dtp.useCurrent).toBeDefined();498 });499 });500 describe('check type and parameter validity', function () {501 it('accepts either a boolean value or string', function () {502 var useCurrentOptions = ['year', 'month', 'day', 'hour', 'minute'];503 expect(function () {504 dtp.useCurrent(false);505 }).not.toThrow();506 expect(function () {507 dtp.useCurrent(true);508 }).not.toThrow();509 useCurrentOptions.forEach(function (value) {510 expect(function () {511 dtp.useCurrent(value);512 }).not.toThrow();513 });514 expect(function () {515 dtp.useCurrent('test');516 }).toThrow();517 expect(function () {518 dtp.useCurrent({});519 }).toThrow();520 });521 });522 describe('functionality', function () {523 it('triggers a change event upon show() and input field is empty', function () {524 dtp.useCurrent(true);525 dtp.show();526 expect(dpChangeSpy).toHaveBeenCalled();527 });528 });529 describe('access', function () {530 it('gets use current', function () {531 expect(dtpElement.datetimepicker('useCurrent')).toBe(true);532 });533 it('sets use current', function () {534 var useCurrent = false;535 expect(dtpElement.datetimepicker('useCurrent', useCurrent)).toBe(dtpElement);536 expect(dtpElement.datetimepicker('useCurrent')).toBe(useCurrent);537 });538 });539 });540 describe('ignoreReadonly() function', function () {541 describe('existence', function () {542 it('is defined', function () {543 expect(dtp.ignoreReadonly).toBeDefined();544 });545 });546 describe('access', function () {547 it('gets ignore readonly', function () {548 expect(dtpElement.datetimepicker('ignoreReadonly')).toBe(false);549 });550 it('sets ignore readonly', function () {551 var ignoreReadonly = true;552 expect(dtpElement.datetimepicker('ignoreReadonly', ignoreReadonly)).toBe(dtpElement);553 expect(dtpElement.datetimepicker('ignoreReadonly')).toBe(ignoreReadonly);554 });555 });556 });557 describe('stepping() function', function () {558 describe('existence', function () {559 it('is defined', function () {560 expect(dtp.stepping).toBeDefined();561 });562 });563 describe('access', function () {564 it('gets stepping', function () {565 expect(dtpElement.datetimepicker('stepping')).toBe(1);566 });567 it('sets stepping', function () {568 var stepping = 2;569 expect(dtpElement.datetimepicker('stepping', stepping)).toBe(dtpElement);570 expect(dtpElement.datetimepicker('stepping')).toBe(stepping);571 });572 });573 });574 describe('collapse() function', function () {575 describe('existence', function () {576 it('is defined', function () {577 expect(dtp.collapse).toBeDefined();578 });579 });580 describe('access', function () {581 it('gets collapse', function () {582 expect(dtpElement.datetimepicker('collapse')).toBe(true);583 });584 it('sets collapse', function () {585 var collapse = false;586 expect(dtpElement.datetimepicker('collapse', collapse)).toBe(dtpElement);587 expect(dtpElement.datetimepicker('collapse')).toBe(collapse);588 });589 });590 });591 describe('icons() function', function () {592 describe('existence', function () {593 it('is defined', function () {594 expect(dtp.icons).toBeDefined();595 });596 });597 describe('access', function () {598 it('gets icons', function () {599 expect(dtpElement.datetimepicker('icons')).toEqual(dtpElement.datetimepicker.defaults.icons);600 });601 it('sets icons', function () {602 var icons = {time: 'fa fa-time'};603 expect(dtpElement.datetimepicker('icons', icons)).toBe(dtpElement);604 expect(dtpElement.datetimepicker('icons')).toEqual($.extend(true, {}, dtpElement.datetimepicker.defaults.icons, icons));605 });606 });607 });608 describe('useStrict() function', function () {609 describe('existence', function () {610 it('is defined', function () {611 expect(dtp.useStrict).toBeDefined();612 });613 });614 describe('access', function () {615 it('gets use strict', function () {616 expect(dtpElement.datetimepicker('useStrict')).toBe(false);617 });618 it('sets use strict', function () {619 var useStrict = true;620 expect(dtpElement.datetimepicker('useStrict', useStrict)).toBe(dtpElement);621 expect(dtpElement.datetimepicker('useStrict')).toBe(useStrict);622 });623 });624 });625 describe('sideBySide() function', function () {626 describe('existence', function () {627 it('is defined', function () {628 expect(dtp.sideBySide).toBeDefined();629 });630 });631 describe('access', function () {632 it('gets side-by-side', function () {633 expect(dtpElement.datetimepicker('sideBySide')).toBe(false);634 });635 it('sets side-by-side', function () {636 var sideBySide = true;637 expect(dtpElement.datetimepicker('sideBySide', sideBySide)).toBe(dtpElement);638 expect(dtpElement.datetimepicker('sideBySide')).toBe(sideBySide);639 });640 });641 });642 describe('viewMode() function', function () {643 describe('existence', function () {644 it('is defined', function () {645 expect(dtp.viewMode).toBeDefined();646 });647 });648 describe('access', function () {649 it('gets view mode', function () {650 expect(dtpElement.datetimepicker('viewMode')).toBe('days');651 });652 it('sets view mode', function () {653 var viewMode = 'years';654 expect(dtpElement.datetimepicker('viewMode', viewMode)).toBe(dtpElement);655 expect(dtpElement.datetimepicker('viewMode')).toBe(viewMode);656 });657 });658 });659 describe('widgetPositioning() function', function () {660 describe('existence', function () {661 it('is defined', function () {662 expect(dtp.widgetPositioning).toBeDefined();663 });664 });665 describe('access', function () {666 it('gets widget positioning', function () {667 expect(dtpElement.datetimepicker('widgetPositioning')).toEqual(dtpElement.datetimepicker.defaults.widgetPositioning);668 });669 it('sets widget positioning', function () {670 var widgetPositioning = {horizontal: 'left'};671 expect(dtpElement.datetimepicker('widgetPositioning', widgetPositioning)).toBe(dtpElement);672 expect(dtpElement.datetimepicker('widgetPositioning')).toEqual($.extend(true, {}, dtpElement.datetimepicker.defaults.widgetPositioning, widgetPositioning));673 });674 });675 });676 describe('calendarWeeks() function', function () {677 describe('existence', function () {678 it('is defined', function () {679 expect(dtp.calendarWeeks).toBeDefined();680 });681 });682 describe('access', function () {683 it('gets calendar weeks', function () {684 expect(dtpElement.datetimepicker('calendarWeeks')).toBe(false);685 });686 it('sets calendar weeks', function () {687 var calendarWeeks = true;688 expect(dtpElement.datetimepicker('calendarWeeks', calendarWeeks)).toBe(dtpElement);689 expect(dtpElement.datetimepicker('calendarWeeks')).toBe(calendarWeeks);690 });691 });692 });693 describe('showTodayButton() function', function () {694 describe('existence', function () {695 it('is defined', function () {696 expect(dtp.showTodayButton).toBeDefined();697 });698 });699 describe('access', function () {700 it('gets show today button', function () {701 expect(dtpElement.datetimepicker('showTodayButton')).toBe(false);702 });703 it('sets show today button', function () {704 var showTodayButton = true;705 expect(dtpElement.datetimepicker('showTodayButton', showTodayButton)).toBe(dtpElement);706 expect(dtpElement.datetimepicker('showTodayButton')).toBe(showTodayButton);707 });708 });709 });710 describe('showClear() function', function () {711 describe('existence', function () {712 it('is defined', function () {713 expect(dtp.showClear).toBeDefined();714 });715 });716 describe('access', function () {717 it('gets show clear', function () {718 expect(dtpElement.datetimepicker('showClear')).toBe(false);719 });720 it('sets show clear', function () {721 var showClear = true;722 expect(dtpElement.datetimepicker('showClear', showClear)).toBe(dtpElement);723 expect(dtpElement.datetimepicker('showClear')).toBe(showClear);724 });725 });726 });727 describe('dayViewHeaderFormat() function', function () {728 describe('typechecking', function () {729 it('does not accept a false value', function () {730 expect(function () {731 dtp.dayViewHeaderFormat(false);732 }).toThrow();733 });734 it('accepts a string', function () {735 expect(function () {736 dtp.dayViewHeaderFormat('YYYY-MM-DD');737 }).not.toThrow();738 });739 it('does not accept undefined', function () {740 expect(function () {741 dtp.dayViewHeaderFormat(undefined);742 }).toThrow();743 });744 it('does not accept true', function () {745 expect(function () {746 dtp.dayViewHeaderFormat(true);747 }).toThrow();748 });749 it('does not accept a generic Object', function () {750 expect(function () {751 dtp.dayViewHeaderFormat({});752 }).toThrow();753 });754 });755 describe('functionality', function () {756 it('expects dayViewHeaderFormat to be default of MMMM YYYY', function () {757 expect(dtp.dayViewHeaderFormat()).toBe('MMMM YYYY');758 });759 it('sets the dayViewHeaderFormat correctly', function () {760 dtp.dayViewHeaderFormat('MM YY');761 expect(dtp.dayViewHeaderFormat()).toBe('MM YY');762 });763 });764 describe('access', function () {765 it('gets day view header format', function () {766 expect(dtpElement.datetimepicker('dayViewHeaderFormat')).toBe('MMMM YYYY');767 });768 it('sets day view header format', function () {769 var dayViewHeaderFormat = 'MM YY';770 expect(dtpElement.datetimepicker('dayViewHeaderFormat', dayViewHeaderFormat)).toBe(dtpElement);771 expect(dtpElement.datetimepicker('dayViewHeaderFormat')).toBe(dayViewHeaderFormat);772 });773 });774 });775 describe('extraFormats() function', function () {776 describe('typechecking', function () {777 it('accepts a false value', function () {778 expect(function () {779 dtp.extraFormats(false);780 }).not.toThrow();781 });782 it('does not accept a string', function () {783 expect(function () {784 dtp.extraFormats('YYYY-MM-DD');785 }).toThrow();786 });787 it('does not accept undefined', function () {788 expect(function () {789 dtp.extraFormats(undefined);790 }).toThrow();791 });792 it('does not accept true', function () {793 expect(function () {794 dtp.extraFormats(true);795 }).toThrow();796 });797 it('accepts an Array', function () {798 expect(function () {799 dtp.extraFormats(['YYYY-MM-DD']);800 }).not.toThrow();801 });802 });803 describe('functionality', function () {804 it('returns no extraFormats before extraFormats is set', function () {805 expect(dtp.extraFormats()).toBe(false);806 });807 it('sets the extraFormats correctly', function () {808 dtp.extraFormats(['YYYY-MM-DD']);809 expect(dtp.extraFormats()[0]).toBe('YYYY-MM-DD');810 });811 });812 describe('access', function () {813 it('gets extra formats', function () {814 expect(dtpElement.datetimepicker('extraFormats')).toBe(false);815 });816 it('sets extra formats', function () {817 var extraFormats = ['YYYY-MM-DD'];818 expect(dtpElement.datetimepicker('extraFormats', extraFormats)).toBe(dtpElement);819 expect(dtpElement.datetimepicker('extraFormats')).toEqual(extraFormats);820 });821 });822 });823 describe('toolbarPlacement() function', function () {824 describe('existence', function () {825 it('is defined', function () {826 expect(dtp.toolbarPlacement).toBeDefined();827 });828 });829 describe('check type and parameter validity', function () {830 it('does not accept a false value', function () {831 expect(function () {832 dtp.dayViewHeaderFormat(false);833 }).toThrow();834 });835 it('does not accept a false value', function () {836 expect(function () {837 dtp.dayViewHeaderFormat(false);838 }).toThrow();839 });840 it('accepts a string', function () {841 var toolbarPlacementOptions = ['default', 'top', 'bottom'];842 toolbarPlacementOptions.forEach(function (value) {843 expect(function () {844 dtp.toolbarPlacement(value);845 }).not.toThrow();846 });847 expect(function () {848 dtp.toolbarPlacement('test');849 }).toThrow();850 expect(function () {851 dtp.toolbarPlacement({});852 }).toThrow();853 });854 });855 describe('access', function () {856 it('gets toolbar placement', function () {857 expect(dtpElement.datetimepicker('toolbarPlacement')).toBe('default');858 });859 it('sets toolbar placement', function () {860 var toolbarPlacement = 'top';861 expect(dtpElement.datetimepicker('toolbarPlacement', toolbarPlacement)).toBe(dtpElement);862 expect(dtpElement.datetimepicker('toolbarPlacement')).toBe(toolbarPlacement);863 });864 });865 });866 describe('widgetParent() function', function () {867 describe('typechecking', function () {868 it('accepts a null', function () {869 expect(function () {870 dtp.widgetParent(null);871 }).not.toThrow();872 });873 it('accepts a string', function () {874 expect(function () {875 dtp.widgetParent('testDiv');876 }).not.toThrow();877 });878 it('accepts a jquery object', function () {879 expect(function () {880 dtp.widgetParent($('#testDiv'));881 }).not.toThrow();882 });883 it('does not accept undefined', function () {884 expect(function () {885 dtp.widgetParent(undefined);886 }).toThrow();887 });888 it('does not accept a number', function () {889 expect(function () {890 dtp.widgetParent(0);891 }).toThrow();892 });893 it('does not accept a generic Object', function () {894 expect(function () {895 dtp.widgetParent({});896 }).toThrow();897 });898 it('does not accept a boolean', function () {899 expect(function () {900 dtp.widgetParent(false);901 }).toThrow();902 });903 });904 describe('access', function () {905 it('gets widget parent', function () {906 expect(dtpElement.datetimepicker('widgetParent')).toBe(null);907 });908 it('sets widget parent', function () {909 expect(dtpElement.datetimepicker('widgetParent', 'testDiv')).toBe(dtpElement);910 expect(dtpElement.datetimepicker('widgetParent')).not.toBe(null);911 });912 });913 });914 describe('keepOpen() function', function () {915 describe('existence', function () {916 it('is defined', function () {917 expect(dtp.keepOpen).toBeDefined();918 });919 });920 describe('access', function () {921 it('gets keep open', function () {922 expect(dtpElement.datetimepicker('keepOpen')).toBe(false);923 });924 it('sets keep open', function () {925 var keepOpen = true;926 expect(dtpElement.datetimepicker('keepOpen', keepOpen)).toBe(dtpElement);927 expect(dtpElement.datetimepicker('keepOpen')).toBe(keepOpen);928 });929 });930 });931 describe('inline() function', function () {932 describe('existence', function () {933 it('is defined', function () {934 expect(dtp.inline).toBeDefined();935 });936 });937 describe('access', function () {938 it('gets inline', function () {939 expect(dtpElement.datetimepicker('inline')).toBe(false);940 });941 it('sets inline', function () {942 var inline = true;943 expect(dtpElement.datetimepicker('inline', inline)).toBe(dtpElement);944 expect(dtpElement.datetimepicker('inline')).toBe(inline);945 });946 });947 });948 describe('clear() function', function () {949 describe('existence', function () {950 it('is defined', function () {951 expect(dtp.clear).toBeDefined();952 });953 });954 describe('access', function () {955 it('returns jQuery object', function () {956 expect(dtpElement.datetimepicker('clear')).toBe(dtpElement);957 });958 });959 });960 describe('keyBinds() function', function () {961 describe('existence', function () {962 it('is defined', function () {963 expect(dtp.keyBinds).toBeDefined();964 });965 });966 describe('access', function () {967 it('gets key binds', function () {968 expect(dtpElement.datetimepicker('keyBinds')).toEqual(dtpElement.datetimepicker.defaults.keyBinds);969 });970 it('sets key binds', function () {971 var keyBinds = {up: function () {}};972 expect(dtpElement.datetimepicker('keyBinds', keyBinds)).toBe(dtpElement);973 expect(dtpElement.datetimepicker('keyBinds')).toEqual(keyBinds);974 });975 });976 });977 describe('parseInputDate() function', function () {978 describe('existence', function () {979 it('is defined', function () {980 expect(dtp.parseInputDate).toBeDefined();981 });982 });983 describe('access', function () {984 it('gets parse input date', function () {985 expect(dtpElement.datetimepicker('parseInputDate')).toBe(undefined);986 });987 it('sets parse input date', function () {988 var parseInputDate = function () {};989 expect(dtpElement.datetimepicker('parseInputDate', parseInputDate)).toBe(dtpElement);990 expect(dtpElement.datetimepicker('parseInputDate')).toBe(parseInputDate);991 });992 });993 });994 describe('Time zone tests', function () {995 function makeFormatTest (format, displayTimeZone) {996 it('should not change the value that was set when using format ' + format, function () { // #1326997 var oldFormat = dtp.format(),998 oldTimeZone = dtp.timeZone(),999 now = moment().startOf('second');1000 dtp.timeZone(displayTimeZone);1001 dtp.format(format);1002 dtp.date(now);1003 dpChangeSpy.calls.reset();1004 dtp.show();1005 dtp.hide();1006 expect(dpChangeSpy).not.toHaveBeenCalled();1007 expect(dtp.date().format()).toEqual(now.tz(displayTimeZone).format());1008 dtp.format(oldFormat);1009 dtp.timeZone(oldTimeZone);1010 });1011 }1012 makeFormatTest('YYYY-MM-DD HH:mm:ss Z', 'UTC');1013 makeFormatTest('YYYY-MM-DD HH:mm:ss', 'UTC');1014 makeFormatTest('YYYY-MM-DD HH:mm:ss Z', 'America/New_York');1015 makeFormatTest('YYYY-MM-DD HH:mm:ss', 'America/New_York');1016 });...
index.js
Source:index.js
1Date.Specification = new Specification({2 'Overview': {3 setup: function() { },4 'Now': {5 run: function() { this.date = Date.parse('Now') },6 assert: function() { 7 // clear milliseconds since there is a delay between parsing and testing8 if(this.date != null)9 return this.date.setMilliseconds(0) == ( Date.now() ).setMilliseconds(0) 10 else11 return false;12 }13 },14 'Today': {15 run: function() { this.date = Date.parse('Today'); },16 assert: function() { return Date.today().equals( this.date ) }17 },18 'Yesterday': {19 run: function() { this.date = Date.parse('Yesterday') },20 assert: function() { return Date.today().addDays(-1).equals( this.date ) } 21 },22 'Tomorrow': {23 run: function() { this.date = Date.parse('Tomorrow') },24 assert: function() { return Date.today().addDays(1).equals( this.date ) }25 }, 26 'Last Tuesday': {27 run: function() { this.date = Date.parse('last tuesday') },28 assert: function() { return Date.today().last().tuesday().equals( this.date ) } 29 },30 'Next Tuesday': {31 run: function() { this.date = Date.parse('next tuesday') },32 assert: function() { return Date.today().next().tuesday().equals( this.date ) } 33 },34 'Last July': {35 run: function() { this.date = Date.parse('Last July') },36 assert: function() { return Date.today().last().july().equals( this.date ) }37 },38 'Next July': {39 run: function() { this.date = Date.parse('Next July') },40 assert: function() { return Date.today().next().july().equals( this.date ) }41 }, 42 43 'Next Week': {44 run: function() { this.date = Date.parse('Next Week') },45 assert: function() { return Date.today().next().week().equals( this.date ) }46 }, 47 'Last Week': {48 run: function() { this.date = Date.parse('Last Week') },49 assert: function() { return Date.today().last().week().equals( this.date ) }50 }, 51 'Next Month': {52 run: function() { this.date = Date.parse('Next Month') },53 assert: function() { return Date.today().next().month().equals( this.date ) }54 }, 55 'Last Month': {56 run: function() { this.date = Date.parse('Last Month') },57 assert: function() { return Date.today().last().month().equals( this.date ) }58 },59 'Next Year': {60 run: function() { this.date = Date.parse('Next Year') },61 assert: function() { return Date.today().next().year().equals( this.date ) }62 }, 63 'Last Year': {64 run: function() { this.date = Date.parse('Last Year') },65 assert: function() { return Date.today().last().year().equals( this.date ) } 66 }67 68 },69'Date Math': {70 setup: function() { 71 var dow = function(dow,orient,date) { 72 date.setDate(date.getDate() + (( dow - date.getDay() ) + ( 7 * orient )) % 7);73 return date;74 };75 76 this.today = new Date().clearTime(); 77 var y = new Date; y.setDate( y.getDate() - 1 ); this.yesterday = y;78 79 this.last_tuesday = dow(2,-1, new Date().clearTime() );80 this.next_tuesday = dow(2,+1, new Date().clearTime() );81 82 this.last_july = new Date().clearTime();83 this.last_july.setMonth(6);84 if(this.today.compareTo(this.last_july) == -1)85 this.last_july.addYears(-1);86 87 this.next_july = new Date().clearTime();88 this.next_july.setMonth(6);89 if(this.today.compareTo(this.next_july) == 1)90 this.next_july.addYears(1);91 }, 92 't': {93 run: function() { this.date = Date.parse('t') },94 assert: function() { return this.today.equals( this.date) } 95 }, 96 'today+': {97 run: function() { this.date = Date.parse('today+') },98 assert: function() { return this.today.addDays(1).equals( this.date ) } 99 },100 't+': {101 run: function() { this.date = Date.parse('t+') },102 assert: function() { return this.today.addDays(1).equals( this.date ) } 103 }, 104105 't+1 d': {106 run: function() { this.date = Date.parse('t+1 d') },107 assert: function() { return this.today.addDays(1).equals( this.date ) } 108 }, 109 't + 1 d': {110 run: function() { this.date = Date.parse('t + 1 d') },111 assert: function() { return this.today.addDays(1).equals( this.date ) }112 }, 113 'today + 1 d': {114 run: function() { this.date = Date.parse('today + 1 d') },115 assert: function() { return this.today.addDays(1).equals( this.date ) }116 },117118 't+1 day': {119 run: function() { this.date = Date.parse('t+1 day') },120 assert: function() { return this.today.addDays(1).equals( this.date ) } 121 }, 122 't + 1 day': {123 run: function() { this.date = Date.parse('t + 1 day') },124 assert: function() { return this.today.addDays(1).equals( this.date ) }125 },126 'today + 1 day': {127 run: function() { this.date = Date.parse('today + 1 day') },128 assert: function() { return this.today.addDays(1).equals( this.date ) }129 }, 130 131 'today+5': {132 run: function() { this.date = Date.parse('today+5') },133 assert: function() { return this.today.addDays(5).equals( this.date ) } 134 }, 135 't+5': {136 run: function() { this.date = Date.parse('t+5') },137 assert: function() { return this.today.addDays(5).equals( this.date ) } 138 }, 139 't + 5': {140 run: function() { this.date = Date.parse('t + 5') },141 assert: function() { return this.today.addDays(5).equals( this.date ) }142 }, 143 'today + 5': {144 run: function() { this.date = Date.parse('today + 5') },145 assert: function() { return this.today.addDays(5).equals( this.date ) }146 },147148 't+5d': {149 run: function() { this.date = Date.parse('t+5d') },150 assert: function() { return this.today.addDays(5).equals( this.date ) } 151 }, 152 't + 5d': {153 run: function() { this.date = Date.parse('t + 5d') },154 assert: function() { return this.today.addDays(5).equals( this.date ) }155 }, 156 'today + 5d': {157 run: function() { this.date = Date.parse('today + 5d') },158 assert: function() { return this.today.addDays(5).equals( this.date ) }159 }, 160161 't+5days': {162 run: function() { this.date = Date.parse('t+5days') },163 assert: function() { return this.today.addDays(5).equals( this.date ) } 164 }, 165 't + 5days': {166 run: function() { this.date = Date.parse('t + 5days') },167 assert: function() { return this.today.addDays(5).equals( this.date ) }168 }, 169 'today + 5days': {170 run: function() { this.date = Date.parse('today + 5days') },171 assert: function() { return this.today.addDays(5).equals( this.date ) }172 }, 173 174 't+5 days': {175 run: function() { this.date = Date.parse('t+5 days') },176 assert: function() { return this.today.addDays(5).equals( this.date ) } 177 }, 178 't + 5 days': {179 run: function() { this.date = Date.parse('t + 5 days') },180 assert: function() { return this.today.addDays(5).equals( this.date ) }181 }, 182 'today + 5 days': {183 run: function() { this.date = Date.parse('today + 5 days') },184 assert: function() { return this.today.addDays(5).equals( this.date ) }185 }, 186187 't+1 m': {188 run: function() { this.date = Date.parse('t+1 m') },189 assert: function() { return this.today.addMonths(1).equals( this.date ) } 190 }, 191 't + 1 m': {192 run: function() { this.date = Date.parse('t + 1 m') },193 assert: function() { return this.today.addMonths(1).equals( this.date ) }194 }, 195 'today + 1 m': {196 run: function() { this.date = Date.parse('today + 1 m') },197 assert: function() { return this.today.addMonths(1).equals( this.date ) }198 },199200 't+1 month': {201 run: function() { this.date = Date.parse('t+1 month') },202 assert: function() { return this.today.addMonths(1).equals( this.date ) } 203 }, 204 't + 1 month': {205 run: function() { this.date = Date.parse('t + 1 month') },206 assert: function() { return this.today.addMonths(1).equals( this.date ) }207 }, 208 'today + 1 month': {209 run: function() { this.date = Date.parse('today + 1 month') },210 assert: function() { return this.today.addMonths(1).equals( this.date ) }211 }, 212 213 't+5m': {214 run: function() { this.date = Date.parse('t+5m') },215 assert: function() { return this.today.addMonths(5).equals( this.date ) } 216 }, 217 't + 5m': {218 run: function() { this.date = Date.parse('t + 5m') },219 assert: function() { return this.today.addMonths(5).equals( this.date ) }220 }, 221 'today + 5m': {222 run: function() { this.date = Date.parse('today + 5m') },223 assert: function() { return this.today.addMonths(5).equals( this.date ) }224 }, 225226 't+5months': {227 run: function() { this.date = Date.parse('t+5months') },228 assert: function() { return this.today.addMonths(5).equals( this.date ) } 229 }, 230 't + 5months': {231 run: function() { this.date = Date.parse('t + 5months') },232 assert: function() { return this.today.addMonths(5).equals( this.date ) }233 }, 234 'today + 5months': {235 run: function() { this.date = Date.parse('today + 5months') },236 assert: function() { return this.today.addMonths(5).equals( this.date ) }237 }, 238 239 't+5 months': {240 run: function() { this.date = Date.parse('t+5 months') },241 assert: function() { return this.today.addMonths(5).equals( this.date ) } 242 }, 243 't + 5 months': {244 run: function() { this.date = Date.parse('t + 5 months') },245 assert: function() { return this.today.addMonths(5).equals( this.date ) }246 }, 247 'today + 5 months': {248 run: function() { this.date = Date.parse('today + 5 months') },249 assert: function() { return this.today.addMonths(5).equals( this.date ) }250 }, 251 252 't+1 y': {253 run: function() { this.date = Date.parse('t+1 y') },254 assert: function() { return this.today.addYears(1).equals( this.date ) } 255 }, 256 't + 1 y': {257 run: function() { this.date = Date.parse('t + 1 y') },258 assert: function() { return this.today.addYears(1).equals( this.date ) }259 }, 260 'today + 1 y': {261 run: function() { this.date = Date.parse('today + 1 y') },262 assert: function() { return this.today.addYears(1).equals( this.date ) }263 },264265 't+1 year': {266 run: function() { this.date = Date.parse('t+1 year') },267 assert: function() { return this.today.addYears(1).equals( this.date ) } 268 }, 269 't + 1 year': {270 run: function() { this.date = Date.parse('t + 1 year') },271 assert: function() { return this.today.addYears(1).equals( this.date ) }272 }, 273 'today + 1 year': {274 run: function() { this.date = Date.parse('today + 1 year') },275 assert: function() { return this.today.addYears(1).equals( this.date ) }276 }, 277 278 't+5y': {279 run: function() { this.date = Date.parse('t+5y') },280 assert: function() { return this.today.addYears(5).equals( this.date ) } 281 }, 282 't + 5y': {283 run: function() { this.date = Date.parse('t + 5y') },284 assert: function() { return this.today.addYears(5).equals( this.date ) }285 }, 286 'today + 5y': {287 run: function() { this.date = Date.parse('today + 5y') },288 assert: function() { return this.today.addYears(5).equals( this.date ) }289 }, 290291 't+5years': {292 run: function() { this.date = Date.parse('t+5years') },293 assert: function() { return this.today.addYears(5).equals( this.date ) } 294 }, 295 't + 5years': {296 run: function() { this.date = Date.parse('t + 5years') },297 assert: function() { return this.today.addYears(5).equals( this.date ) }298 }, 299 'today + 5years': {300 run: function() { this.date = Date.parse('today + 5years') },301 assert: function() { return this.today.addYears(5).equals( this.date ) }302 }, 303 304 't+5 years': {305 run: function() { this.date = Date.parse('t+5 years') },306 assert: function() { return this.today.addYears(5).equals( this.date ) } 307 }, 308 't + 5 years': {309 run: function() { this.date = Date.parse('t + 5 years') },310 assert: function() { return this.today.addYears(5).equals( this.date ) }311 }, 312 'today + 5 years': {313 run: function() { this.date = Date.parse('today + 5 years') },314 assert: function() { return this.today.addYears(5).equals( this.date ) }315 },316 317 'today-': {318 run: function() { this.date = Date.parse('today-') },319 assert: function() { return this.today.addDays(-1).equals( this.date ) } 320 },321 't-': {322 run: function() { this.date = Date.parse('t-') },323 assert: function() { return this.today.addDays(-1).equals( this.date ) } 324 }, 325326 't-1 d': {327 run: function() { this.date = Date.parse('t-1 d') },328 assert: function() { return this.today.addDays(-1).equals( this.date ) } 329 }, 330 't - 1 d': {331 run: function() { this.date = Date.parse('t - 1 d') },332 assert: function() { return this.today.addDays(-1).equals( this.date ) }333 }, 334 'today - 1 d': {335 run: function() { this.date = Date.parse('today - 1 d') },336 assert: function() { return this.today.addDays(-1).equals( this.date ) }337 },338339 't-1 day': {340 run: function() { this.date = Date.parse('t-1 day') },341 assert: function() { return this.today.addDays(-1).equals( this.date ) } 342 }, 343 't - 1 day': {344 run: function() { this.date = Date.parse('t - 1 day') },345 assert: function() { return this.today.addDays(-1).equals( this.date ) }346 }, 347 'today - 1 day': {348 run: function() { this.date = Date.parse('today - 1 day') },349 assert: function() { return this.today.addDays(-1).equals( this.date ) }350 }, 351 352 'today-5': {353 run: function() { this.date = Date.parse('today-5') },354 assert: function() { return this.today.addDays(-5).equals( this.date ) } 355 }, 356 't-5': {357 run: function() { this.date = Date.parse('t-5') },358 assert: function() { return this.today.addDays(-5).equals( this.date ) } 359 }, 360 't - 5': {361 run: function() { this.date = Date.parse('t - 5') },362 assert: function() { return this.today.addDays(-5).equals( this.date ) }363 }, 364 'today - 5': {365 run: function() { this.date = Date.parse('today - 5') },366 assert: function() { return this.today.addDays(-5).equals( this.date ) }367 },368369 't-5d': {370 run: function() { this.date = Date.parse('t-5d') },371 assert: function() { return this.today.addDays(-5).equals( this.date ) } 372 }, 373 't - 5d': {374 run: function() { this.date = Date.parse('t - 5d') },375 assert: function() { return this.today.addDays(-5).equals( this.date ) }376 }, 377 'today - 5d': {378 run: function() { this.date = Date.parse('today - 5d') },379 assert: function() { return this.today.addDays(-5).equals( this.date ) }380 }, 381382 't-5days': {383 run: function() { this.date = Date.parse('t-5days') },384 assert: function() { return this.today.addDays(-5).equals( this.date ) } 385 }, 386 't - 5days': {387 run: function() { this.date = Date.parse('t - 5days') },388 assert: function() { return this.today.addDays(-5).equals( this.date ) }389 }, 390 'today - 5days': {391 run: function() { this.date = Date.parse('today - 5days') },392 assert: function() { return this.today.addDays(-5).equals( this.date ) }393 }, 394 395 't-5 days': {396 run: function() { this.date = Date.parse('t-5 days') },397 assert: function() { return this.today.addDays(-5).equals( this.date ) } 398 }, 399 't - 5 days': {400 run: function() { this.date = Date.parse('t - 5 days') },401 assert: function() { return this.today.addDays(-5).equals( this.date ) }402 }, 403 'today - 5 days': {404 run: function() { this.date = Date.parse('today - 5 days') },405 assert: function() { return this.today.addDays(-5).equals( this.date ) }406 }, 407 't-1 m': {408 run: function() { this.date = Date.parse('t-1 m') },409 assert: function() { return this.today.addMonths(-1).equals( this.date ) } 410 }, 411 't - 1 m': {412 run: function() { this.date = Date.parse('t - 1 m') },413 assert: function() { return this.today.addMonths(-1).equals( this.date ) }414 }, 415 'today - 1 m': {416 run: function() { this.date = Date.parse('today - 1 m') },417 assert: function() { return this.today.addMonths(-1).equals( this.date ) }418 },419 't-1 month': {420 run: function() { this.date = Date.parse('t-1 month') },421 assert: function() { return this.today.addMonths(-1).equals( this.date ) } 422 }, 423 't - 1 month': {424 run: function() { this.date = Date.parse('t - 1 month') },425 assert: function() { return this.today.addMonths(-1).equals( this.date ) }426 }, 427 'today - 1 month': {428 run: function() { this.date = Date.parse('today - 1 month') },429 assert: function() { return this.today.addMonths(-1).equals( this.date ) }430 }, 431 't-5m': {432 run: function() { this.date = Date.parse('t-5m') },433 assert: function() { return this.today.addMonths(-5).equals( this.date ) } 434 }, 435 't - 5m': {436 run: function() { this.date = Date.parse('t - 5m') },437 assert: function() { return this.today.addMonths(-5).equals( this.date ) }438 }, 439 'today - 5m': {440 run: function() { this.date = Date.parse('today - 5m') },441 assert: function() { return this.today.addMonths(-5).equals( this.date ) }442 }, 443 't-5months': {444 run: function() { this.date = Date.parse('t-5months') },445 assert: function() { return this.today.addMonths(-5).equals( this.date ) } 446 }, 447 't - 5months': {448 run: function() { this.date = Date.parse('t - 5months') },449 assert: function() { return this.today.addMonths(-5).equals( this.date ) }450 }, 451 'today - 5months': {452 run: function() { this.date = Date.parse('today - 5months') },453 assert: function() { return this.today.addMonths(-5).equals( this.date ) }454 }, 455 't-5 months': {456 run: function() { this.date = Date.parse('t-5 months') },457 assert: function() { return this.today.addMonths(-5).equals( this.date ) } 458 }, 459 't - 5 months': {460 run: function() { this.date = Date.parse('t - 5 months') },461 assert: function() { return this.today.addMonths(-5).equals( this.date ) }462 }, 463 'today - 5 months': {464 run: function() { this.date = Date.parse('today - 5 months') },465 assert: function() { return this.today.addMonths(-5).equals( this.date ) }466 }, 467 't-1 y': {468 run: function() { this.date = Date.parse('t-1 y') },469 assert: function() { return this.today.addYears(-1).equals( this.date ) } 470 }, 471 't - 1 y': {472 run: function() { this.date = Date.parse('t - 1 y') },473 assert: function() { return this.today.addYears(-1).equals( this.date ) }474 }, 475 'today - 1 y': {476 run: function() { this.date = Date.parse('today - 1 y') },477 assert: function() { return this.today.addYears(-1).equals( this.date ) }478 },479 't-1 year': {480 run: function() { this.date = Date.parse('t-1 year') },481 assert: function() { return this.today.addYears(-1).equals( this.date ) } 482 }, 483 't - 1 year': {484 run: function() { this.date = Date.parse('t - 1 year') },485 assert: function() { return this.today.addYears(-1).equals( this.date ) }486 }, 487 'today - 1 year': {488 run: function() { this.date = Date.parse('today - 1 year') },489 assert: function() { return this.today.addYears(-1).equals( this.date ) }490 }, 491 't-5y': {492 run: function() { this.date = Date.parse('t-5y') },493 assert: function() { return this.today.addYears(-5).equals( this.date ) } 494 }, 495 't - 5y': {496 run: function() { this.date = Date.parse('t - 5y') },497 assert: function() { return this.today.addYears(-5).equals( this.date ) }498 }, 499 'today - 5y': {500 run: function() { this.date = Date.parse('today - 5y') },501 assert: function() { return this.today.addYears(-5).equals( this.date ) }502 }, 503504 't-5years': {505 run: function() { this.date = Date.parse('t-5years') },506 assert: function() { return this.today.addYears(-5).equals( this.date ) } 507 }, 508 't - 5years': {509 run: function() { this.date = Date.parse('t - 5years') },510 assert: function() { return this.today.addYears(-5).equals( this.date ) }511 }, 512 'today - 5years': {513 run: function() { this.date = Date.parse('today - 5years') },514 assert: function() { return this.today.addYears(-5).equals( this.date ) }515 }, 516 517 't-5 years': {518 run: function() { this.date = Date.parse('t-5 years') },519 assert: function() { return this.today.addYears(-5).equals( this.date ) } 520 }, 521 't - 5 years': {522 run: function() { this.date = Date.parse('t - 5 years') },523 assert: function() { return this.today.addYears(-5).equals( this.date ) }524 }, 525 'today - 5 years': {526 run: function() { this.date = Date.parse('today - 5 years') },527 assert: function() { return this.today.addYears(-5).equals( this.date ) }528 },529 '+': {530 run: function() { this.date = Date.parse('+') },531 assert: function() { return this.today.addDays(1).equals( this.date ) } 532 }, 533534 '+1 d': {535 run: function() { this.date = Date.parse('+1 d') },536 assert: function() { return this.today.addDays(1).equals( this.date ) } 537 }, 538 '+ 1 d': {539 run: function() { this.date = Date.parse('+ 1 d') },540 assert: function() { return this.today.addDays(1).equals( this.date ) }541 }, 542 '+1 day': {543 run: function() { this.date = Date.parse('+1 day') },544 assert: function() { return this.today.addDays(1).equals( this.date ) } 545 }, 546 '+ 1 day': {547 run: function() { this.date = Date.parse('+ 1 day') },548 assert: function() { return this.today.addDays(1).equals( this.date ) }549 },550 '+5': {551 run: function() { this.date = Date.parse('+5') },552 assert: function() { return this.today.addDays(5).equals( this.date ) } 553 }, 554 '+ 5': {555 run: function() { this.date = Date.parse('+ 5') },556 assert: function() { return this.today.addDays(5).equals( this.date ) }557 }, 558 '+5d': {559 run: function() { this.date = Date.parse('+5d') },560 assert: function() { return this.today.addDays(5).equals( this.date ) } 561 }, 562 '+ 5d': {563 run: function() { this.date = Date.parse('+ 5d') },564 assert: function() { return this.today.addDays(5).equals( this.date ) }565 }, 566 '+5days': {567 run: function() { this.date = Date.parse('+5days') },568 assert: function() { return this.today.addDays(5).equals( this.date ) } 569 }, 570 '+ 5days': {571 run: function() { this.date = Date.parse('+ 5days') },572 assert: function() { return this.today.addDays(5).equals( this.date ) }573 }, 574 '+5 days': {575 run: function() { this.date = Date.parse('+5 days') },576 assert: function() { return this.today.addDays(5).equals( this.date ) } 577 }, 578 '+ 5 days': {579 run: function() { this.date = Date.parse('+ 5 days') },580 assert: function() { return this.today.addDays(5).equals( this.date ) }581 }, 582 '+1 m': {583 run: function() { this.date = Date.parse('+1 m') },584 assert: function() { return this.today.addMonths(1).equals( this.date ) } 585 }, 586 '+ 1 m': {587 run: function() { this.date = Date.parse('+ 1 m') },588 assert: function() { return this.today.addMonths(1).equals( this.date ) }589 }, 590 '+1 month': {591 run: function() { this.date = Date.parse('+1 month') },592 assert: function() { return this.today.addMonths(1).equals( this.date ) } 593 }, 594 '+ 1 month': {595 run: function() { this.date = Date.parse('+ 1 month') },596 assert: function() { return this.today.addMonths(1).equals( this.date ) }597 }, 598 '+5m': {599 run: function() { this.date = Date.parse('+5m') },600 assert: function() { return this.today.addMonths(5).equals( this.date ) } 601 }, 602 '+ 5m': {603 run: function() { this.date = Date.parse('+ 5m') },604 assert: function() { return this.today.addMonths(5).equals( this.date ) }605 }, 606 '+5months': {607 run: function() { this.date = Date.parse('+5months') },608 assert: function() { return this.today.addMonths(5).equals( this.date ) } 609 }, 610 '+ 5months': {611 run: function() { this.date = Date.parse('+ 5months') },612 assert: function() { return this.today.addMonths(5).equals( this.date ) }613 }, 614 '+5 months': {615 run: function() { this.date = Date.parse('+5 months') },616 assert: function() { return this.today.addMonths(5).equals( this.date ) } 617 }, 618 '+ 5 months': {619 run: function() { this.date = Date.parse('+ 5 months') },620 assert: function() { return this.today.addMonths(5).equals( this.date ) }621 }, 622 '+1 y': {623 run: function() { this.date = Date.parse('+1 y') },624 assert: function() { return this.today.addYears(1).equals( this.date ) } 625 }, 626 '+ 1 y': {627 run: function() { this.date = Date.parse('+ 1 y') },628 assert: function() { return this.today.addYears(1).equals( this.date ) }629 }, 630 '+1 year': {631 run: function() { this.date = Date.parse('+1 year') },632 assert: function() { return this.today.addYears(1).equals( this.date ) } 633 }, 634 '+ 1 year': {635 run: function() { this.date = Date.parse('+ 1 year') },636 assert: function() { return this.today.addYears(1).equals( this.date ) }637 }, 638 '+5y': {639 run: function() { this.date = Date.parse('+5y') },640 assert: function() { return this.today.addYears(5).equals( this.date ) } 641 }, 642 '+ 5y': {643 run: function() { this.date = Date.parse('+ 5y') },644 assert: function() { return this.today.addYears(5).equals( this.date ) }645 }, 646 '+5years': {647 run: function() { this.date = Date.parse('+5years') },648 assert: function() { return this.today.addYears(5).equals( this.date ) } 649 }, 650 '+ 5years': {651 run: function() { this.date = Date.parse('+ 5years') },652 assert: function() { return this.today.addYears(5).equals( this.date ) }653 }, 654 '+5 years': {655 run: function() { this.date = Date.parse('+5 years') },656 assert: function() { return this.today.addYears(5).equals( this.date ) } 657 }, 658 '+ 5 years': {659 run: function() { this.date = Date.parse('+ 5 years') },660 assert: function() { return this.today.addYears(5).equals( this.date ) }661 }, 662 '-': {663 run: function() { this.date = Date.parse('-') },664 assert: function() { return this.today.addDays(-1).equals( this.date ) } 665 }, 666 '-1 d': {667 run: function() { this.date = Date.parse('-1 d') },668 assert: function() { return this.today.addDays(-1).equals( this.date ) } 669 }, 670 '- 1 d': {671 run: function() { this.date = Date.parse(' - 1 d') },672 assert: function() { return this.today.addDays(-1).equals( this.date ) }673 }, 674 '-1 day': {675 run: function() { this.date = Date.parse('-1 day') },676 assert: function() { return this.today.addDays(-1).equals( this.date ) } 677 }, 678 '- 1 day': {679 run: function() { this.date = Date.parse(' - 1 day') },680 assert: function() { return this.today.addDays(-1).equals( this.date ) }681 }, 682 '-5': {683 run: function() { this.date = Date.parse('-5') },684 assert: function() { return this.today.addDays(-5).equals( this.date ) } 685 }, 686 '- 5': {687 run: function() { this.date = Date.parse('- 5') },688 assert: function() { return this.today.addDays(-5).equals( this.date ) }689 }, 690 '-5d': {691 run: function() { this.date = Date.parse('-5d') },692 assert: function() { return this.today.addDays(-5).equals( this.date ) } 693 }, 694 '- 5d': {695 run: function() { this.date = Date.parse('- 5d') },696 assert: function() { return this.today.addDays(-5).equals( this.date ) }697 }, 698 '-5days': {699 run: function() { this.date = Date.parse('-5days') },700 assert: function() { return this.today.addDays(-5).equals( this.date ) } 701 }, 702 '- 5days': {703 run: function() { this.date = Date.parse('- 5days') },704 assert: function() { return this.today.addDays(-5).equals( this.date ) }705 }, 706 '-5 days': {707 run: function() { this.date = Date.parse('-5 days') },708 assert: function() { return this.today.addDays(-5).equals( this.date ) } 709 }, 710 '- 5 days': {711 run: function() { this.date = Date.parse('- 5 days') },712 assert: function() { return this.today.addDays(-5).equals( this.date ) }713 }, 714 '-1 m': {715 run: function() { this.date = Date.parse('-1 m') },716 assert: function() { return this.today.addMonths(-1).equals( this.date ) } 717 }, 718 '- 1 m': {719 run: function() { this.date = Date.parse('- 1 m') },720 assert: function() { return this.today.addMonths(-1).equals( this.date ) }721 }, 722 '-1 month': {723 run: function() { this.date = Date.parse('-1 month') },724 assert: function() { return this.today.addMonths(-1).equals( this.date ) } 725 }, 726 '- 1 month': {727 run: function() { this.date = Date.parse('- 1 month') },728 assert: function() { return this.today.addMonths(-1).equals( this.date ) }729 }, 730 '-5m': {731 run: function() { this.date = Date.parse('-5m') },732 assert: function() { return this.today.addMonths(-5).equals( this.date ) } 733 }, 734 '- 5m': {735 run: function() { this.date = Date.parse('- 5m') },736 assert: function() { return this.today.addMonths(-5).equals( this.date ) }737 }, 738 '-5months': {739 run: function() { this.date = Date.parse('-5months') },740 assert: function() { return this.today.addMonths(-5).equals( this.date ) } 741 }, 742 '- 5months': {743 run: function() { this.date = Date.parse('- 5months') },744 assert: function() { return this.today.addMonths(-5).equals( this.date ) }745 }, 746 '-5 months': {747 run: function() { this.date = Date.parse('-5 months') },748 assert: function() { return this.today.addMonths(-5).equals( this.date ) } 749 }, 750 '- 5 months': {751 run: function() { this.date = Date.parse('- 5 months') },752 assert: function() { return this.today.addMonths(-5).equals( this.date ) }753 }, 754 '-1 y': {755 run: function() { this.date = Date.parse('-1 y') },756 assert: function() { return this.today.addYears(-1).equals( this.date ) } 757 }, 758 '- 1 y': {759 run: function() { this.date = Date.parse('- 1 y') },760 assert: function() { return this.today.addYears(-1).equals( this.date ) }761 }, 762 '-1 year': {763 run: function() { this.date = Date.parse('-1 year') },764 assert: function() { return this.today.addYears(-1).equals( this.date ) } 765 }, 766 '-5y': {767 run: function() { this.date = Date.parse('-5y') },768 assert: function() { return this.today.addYears(-5).equals( this.date ) } 769 }, 770 '- 5y': {771 run: function() { this.date = Date.parse('- 5y') },772 assert: function() { return this.today.addYears(-5).equals( this.date ) }773 }, 774 '-5years': {775 run: function() { this.date = Date.parse('-5years') },776 assert: function() { return this.today.addYears(-5).equals( this.date ) } 777 }, 778 '- 5years': {779 run: function() { this.date = Date.parse('- 5years') },780 assert: function() { return this.today.addYears(-5).equals( this.date ) }781 },782 '-5 years': {783 run: function() { this.date = Date.parse('-5 years') },784 assert: function() { return this.today.addYears(-5).equals( this.date ) } 785 }, 786 '- 5 years': {787 run: function() { this.date = Date.parse('- 5 years') },788 assert: function() { return this.today.addYears(-5).equals( this.date ) }789 }790 } 791});...
closure-externs.js
Source:closure-externs.js
...8// Closure externs used by library_uuid.js9/**10 * @param {Array} typedArray11 */12crypto.getRandomValues = function(typedArray) {};13/**14 BEGIN_NODE_INCLUDE15 var crypto = require('crypto');16 END_NODE_INCLUDE17 */18/**19 * @type {Object.<string,*>}20 */21var crypto = {};22/**23 * @param {number} size24 * @param {function(Error, buffer.Buffer)} callback25 */26crypto.randomBytes = function(size, callback) {};27// Closure externs used by library_sockfs.js28/**29 BEGIN_NODE_INCLUDE30 var ws = require('ws');31 END_NODE_INCLUDE32 */33/**34 * @type {Object.<string,*>}35 */36var ws = {};37/**38 * @param {string} event39 * @param {function()} callback40 */41ws.on = function(event, callback) {};42/**43 * @param {Object} data44 * @param {Object} flags45 * @param {function()=} callback46 */47ws.send = function(data, flags, callback) {};48/**49* @type {boolean}50*/51ws.binaryType;52/**53 * @type {Object.<string,*>}54 */55var wss = ws.Server;56/**57 * @param {string} event58 * @param {function()} callback59 */60wss.on = function(event, callback) {};61/**62 * @param {function()} callback63 */64wss.broadcast = function(callback) {};65/**66* @type {Object.<string,*>}67*/68wss._socket;69/**70* @type {string}71*/72wss.url;73/**74* @type {string}75*/76wss._socket.remoteAddress;77/**78* @type {number}79*/80wss._socket.remotePort;81/**82* @type {Object.<string,*>}83*/84var flags = {};85/**86* @type {boolean}87*/88flags.binary;89/**90 * @fileoverview Definitions for W3C's Gamepad specification.91 * @see http://www.w3.org/TR/gamepad/92 * @externs93 */94/**95 * @typedef {{id: string, index: number, timestamp: number, axes: Array.<number>, buttons: Array.<number>}}96 */97var Gamepad;98/**99* @type {Array.<number>}100*/101Gamepad.buttons;102/**103* @type {Array.<number>}104*/105Gamepad.axes;106/**107* @type {number}108*/109Gamepad.index;110/**111* @type {string}112*/113Gamepad.id;114/**115* @type {number}116*/117Gamepad.timestamp;118/**119 * @return {Array.<Gamepad>}120 */121navigator.getGamepads = function() {};122/**123 * @return {Array.<Gamepad>}124 */125navigator.webkitGetGamepads = function() {};126/**127 * @return {Array.<Gamepad>}128 */129navigator.webkitGamepads = function() {};130/**131 * @return {Array.<Gamepad>}132 */133navigator.mozGamepads = function() {};134/**135 * @return {Array.<Gamepad>}136 */137navigator.gamepads = function() {};138/**139 * Backported from latest closure...140 * @see https://developer.mozilla.org/en-US/docs/Web/API/Document/currentScript141 */142Document.prototype.currentScript;143//Atomics library (not yet in latest closure):144//See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Atomics145var Atomics;146Atomics.prototype.NOTEQUAL = -1;147Atomics.prototype.OK = 0;148Atomics.prototype.TIMEDOUT = -2;149Atomics.prototype.add = function(typedArray, index, value) {};150Atomics.prototype.and = function(typedArray, index, value) {};151Atomics.prototype.compareExchange = function(typedArray, index, expectedValue, replacementValue) {};152Atomics.prototype.exchange = function(typedArray, index, value) {};153Atomics.prototype.load = function(typedArray, index) {};154Atomics.prototype.or = function(typedArray, index, value) {};155Atomics.prototype.store = function(typedArray, index, value) {};156Atomics.prototype.sub = function(typedArray, index, value) {};157Atomics.prototype.xor = function(typedArray, index, value) {};158Atomics.prototype.wait = function(typedArray, index, valuei, timeout) {};159Atomics.prototype.wake = function(typedArray, index, value) {};160Atomics.prototype.isLockFree = function(size) {};161/**162 * SIMD.js support (not in upstream closure yet).163 */164var SIMD;165//Base objects166SIMD.Float32x4;167SIMD.Float64x2;168SIMD.Int8x16;169SIMD.Int16x8;170SIMD.Int32x4;171SIMD.Uint8x16;172SIMD.Uint16x8;173SIMD.Uint32x4;174SIMD.Bool8x16;175SIMD.Bool16x8;176SIMD.Bool32x4;177SIMD.Bool64x2;178SIMD.Float32x4.abs = function() {};179SIMD.Float64x2.abs = function() {};180SIMD.Int8x16.abs = function() {};181SIMD.Int16x8.abs = function() {};182SIMD.Int32x4.abs = function() {};183SIMD.Uint8x16.abs = function() {};184SIMD.Uint16x8.abs = function() {};185SIMD.Uint32x4.abs = function() {};186SIMD.Bool8x16.abs = function() {};187SIMD.Bool16x8.abs = function() {};188SIMD.Bool32x4.abs = function() {};189SIMD.Bool64x2.abs = function() {};190SIMD.Float32x4.add = function() {};191SIMD.Float64x2.add = function() {};192SIMD.Int8x16.add = function() {};193SIMD.Int16x8.add = function() {};194SIMD.Int32x4.add = function() {};195SIMD.Uint8x16.add = function() {};196SIMD.Uint16x8.add = function() {};197SIMD.Uint32x4.add = function() {};198SIMD.Bool8x16.add = function() {};199SIMD.Bool16x8.add = function() {};200SIMD.Bool32x4.add = function() {};201SIMD.Bool64x2.add = function() {};202SIMD.Float32x4.addSaturate = function() {};203SIMD.Float64x2.addSaturate = function() {};204SIMD.Int8x16.addSaturate = function() {};205SIMD.Int16x8.addSaturate = function() {};206SIMD.Int32x4.addSaturate = function() {};207SIMD.Uint8x16.addSaturate = function() {};208SIMD.Uint16x8.addSaturate = function() {};209SIMD.Uint32x4.addSaturate = function() {};210SIMD.Bool8x16.addSaturate = function() {};211SIMD.Bool16x8.addSaturate = function() {};212SIMD.Bool32x4.addSaturate = function() {};213SIMD.Bool64x2.addSaturate = function() {};214SIMD.Float32x4.allTrue = function() {};215SIMD.Float64x2.allTrue = function() {};216SIMD.Int8x16.allTrue = function() {};217SIMD.Int16x8.allTrue = function() {};218SIMD.Int32x4.allTrue = function() {};219SIMD.Uint8x16.allTrue = function() {};220SIMD.Uint16x8.allTrue = function() {};221SIMD.Uint32x4.allTrue = function() {};222SIMD.Bool8x16.allTrue = function() {};223SIMD.Bool16x8.allTrue = function() {};224SIMD.Bool32x4.allTrue = function() {};225SIMD.Bool64x2.allTrue = function() {};226SIMD.Float32x4.and = function() {};227SIMD.Float64x2.and = function() {};228SIMD.Int8x16.and = function() {};229SIMD.Int16x8.and = function() {};230SIMD.Int32x4.and = function() {};231SIMD.Uint8x16.and = function() {};232SIMD.Uint16x8.and = function() {};233SIMD.Uint32x4.and = function() {};234SIMD.Bool8x16.and = function() {};235SIMD.Bool16x8.and = function() {};236SIMD.Bool32x4.and = function() {};237SIMD.Bool64x2.and = function() {};238SIMD.Float32x4.check = function() {};239SIMD.Float64x2.check = function() {};240SIMD.Int8x16.check = function() {};241SIMD.Int16x8.check = function() {};242SIMD.Int32x4.check = function() {};243SIMD.Uint8x16.check = function() {};244SIMD.Uint16x8.check = function() {};245SIMD.Uint32x4.check = function() {};246SIMD.Bool8x16.check = function() {};247SIMD.Bool16x8.check = function() {};248SIMD.Bool32x4.check = function() {};249SIMD.Bool64x2.check = function() {};250SIMD.Float32x4.div = function() {};251SIMD.Float64x2.div = function() {};252SIMD.Int8x16.div = function() {};253SIMD.Int16x8.div = function() {};254SIMD.Int32x4.div = function() {};255SIMD.Uint8x16.div = function() {};256SIMD.Uint16x8.div = function() {};257SIMD.Uint32x4.div = function() {};258SIMD.Bool8x16.div = function() {};259SIMD.Bool16x8.div = function() {};260SIMD.Bool32x4.div = function() {};261SIMD.Bool64x2.div = function() {};262SIMD.Float32x4.equal = function() {};263SIMD.Float64x2.equal = function() {};264SIMD.Int8x16.equal = function() {};265SIMD.Int16x8.equal = function() {};266SIMD.Int32x4.equal = function() {};267SIMD.Uint8x16.equal = function() {};268SIMD.Uint16x8.equal = function() {};269SIMD.Uint32x4.equal = function() {};270SIMD.Bool8x16.equal = function() {};271SIMD.Bool16x8.equal = function() {};272SIMD.Bool32x4.equal = function() {};273SIMD.Bool64x2.equal = function() {};274SIMD.Float32x4.extractLane = function() {};275SIMD.Float64x2.extractLane = function() {};276SIMD.Int8x16.extractLane = function() {};277SIMD.Int16x8.extractLane = function() {};278SIMD.Int32x4.extractLane = function() {};279SIMD.Uint8x16.extractLane = function() {};280SIMD.Uint16x8.extractLane = function() {};281SIMD.Uint32x4.extractLane = function() {};282SIMD.Bool8x16.extractLane = function() {};283SIMD.Bool16x8.extractLane = function() {};284SIMD.Bool32x4.extractLane = function() {};285SIMD.Bool64x2.extractLane = function() {};286SIMD.Float32x4.fromFloat32x4 = function() {};287SIMD.Float64x2.fromFloat32x4 = function() {};288SIMD.Int8x16.fromFloat32x4 = function() {};289SIMD.Int16x8.fromFloat32x4 = function() {};290SIMD.Int32x4.fromFloat32x4 = function() {};291SIMD.Uint8x16.fromFloat32x4 = function() {};292SIMD.Uint16x8.fromFloat32x4 = function() {};293SIMD.Uint32x4.fromFloat32x4 = function() {};294SIMD.Bool8x16.fromFloat32x4 = function() {};295SIMD.Bool16x8.fromFloat32x4 = function() {};296SIMD.Bool32x4.fromFloat32x4 = function() {};297SIMD.Bool64x2.fromFloat32x4 = function() {};298SIMD.Float32x4.fromFloat32x4Bits = function() {};299SIMD.Float64x2.fromFloat32x4Bits = function() {};300SIMD.Int8x16.fromFloat32x4Bits = function() {};301SIMD.Int16x8.fromFloat32x4Bits = function() {};302SIMD.Int32x4.fromFloat32x4Bits = function() {};303SIMD.Uint8x16.fromFloat32x4Bits = function() {};304SIMD.Uint16x8.fromFloat32x4Bits = function() {};305SIMD.Uint32x4.fromFloat32x4Bits = function() {};306SIMD.Bool8x16.fromFloat32x4Bits = function() {};307SIMD.Bool16x8.fromFloat32x4Bits = function() {};308SIMD.Bool32x4.fromFloat32x4Bits = function() {};309SIMD.Bool64x2.fromFloat32x4Bits = function() {};310SIMD.Float32x4.fromFloat64x2Bits = function() {};311SIMD.Float64x2.fromFloat64x2Bits = function() {};312SIMD.Int8x16.fromFloat64x2Bits = function() {};313SIMD.Int16x8.fromFloat64x2Bits = function() {};314SIMD.Int32x4.fromFloat64x2Bits = function() {};315SIMD.Uint8x16.fromFloat64x2Bits = function() {};316SIMD.Uint16x8.fromFloat64x2Bits = function() {};317SIMD.Uint32x4.fromFloat64x2Bits = function() {};318SIMD.Bool8x16.fromFloat64x2Bits = function() {};319SIMD.Bool16x8.fromFloat64x2Bits = function() {};320SIMD.Bool32x4.fromFloat64x2Bits = function() {};321SIMD.Bool64x2.fromFloat64x2Bits = function() {};322SIMD.Float32x4.fromInt16x8Bits = function() {};323SIMD.Float64x2.fromInt16x8Bits = function() {};324SIMD.Int8x16.fromInt16x8Bits = function() {};325SIMD.Int16x8.fromInt16x8Bits = function() {};326SIMD.Int32x4.fromInt16x8Bits = function() {};327SIMD.Uint8x16.fromInt16x8Bits = function() {};328SIMD.Uint16x8.fromInt16x8Bits = function() {};329SIMD.Uint32x4.fromInt16x8Bits = function() {};330SIMD.Bool8x16.fromInt16x8Bits = function() {};331SIMD.Bool16x8.fromInt16x8Bits = function() {};332SIMD.Bool32x4.fromInt16x8Bits = function() {};333SIMD.Bool64x2.fromInt16x8Bits = function() {};334SIMD.Float32x4.fromInt32x4 = function() {};335SIMD.Float64x2.fromInt32x4 = function() {};336SIMD.Int8x16.fromInt32x4 = function() {};337SIMD.Int16x8.fromInt32x4 = function() {};338SIMD.Int32x4.fromInt32x4 = function() {};339SIMD.Uint8x16.fromInt32x4 = function() {};340SIMD.Uint16x8.fromInt32x4 = function() {};341SIMD.Uint32x4.fromInt32x4 = function() {};342SIMD.Bool8x16.fromInt32x4 = function() {};343SIMD.Bool16x8.fromInt32x4 = function() {};344SIMD.Bool32x4.fromInt32x4 = function() {};345SIMD.Bool64x2.fromInt32x4 = function() {};346SIMD.Float32x4.fromInt32x4Bits = function() {};347SIMD.Float64x2.fromInt32x4Bits = function() {};348SIMD.Int8x16.fromInt32x4Bits = function() {};349SIMD.Int16x8.fromInt32x4Bits = function() {};350SIMD.Int32x4.fromInt32x4Bits = function() {};351SIMD.Uint8x16.fromInt32x4Bits = function() {};352SIMD.Uint16x8.fromInt32x4Bits = function() {};353SIMD.Uint32x4.fromInt32x4Bits = function() {};354SIMD.Bool8x16.fromInt32x4Bits = function() {};355SIMD.Bool16x8.fromInt32x4Bits = function() {};356SIMD.Bool32x4.fromInt32x4Bits = function() {};357SIMD.Bool64x2.fromInt32x4Bits = function() {};358SIMD.Float32x4.fromInt8x16Bits = function() {};359SIMD.Float64x2.fromInt8x16Bits = function() {};360SIMD.Int8x16.fromInt8x16Bits = function() {};361SIMD.Int16x8.fromInt8x16Bits = function() {};362SIMD.Int32x4.fromInt8x16Bits = function() {};363SIMD.Uint8x16.fromInt8x16Bits = function() {};364SIMD.Uint16x8.fromInt8x16Bits = function() {};365SIMD.Uint32x4.fromInt8x16Bits = function() {};366SIMD.Bool8x16.fromInt8x16Bits = function() {};367SIMD.Bool16x8.fromInt8x16Bits = function() {};368SIMD.Bool32x4.fromInt8x16Bits = function() {};369SIMD.Bool64x2.fromInt8x16Bits = function() {};370SIMD.Float32x4.fromUint16x8Bits = function() {};371SIMD.Float64x2.fromUint16x8Bits = function() {};372SIMD.Int8x16.fromUint16x8Bits = function() {};373SIMD.Int16x8.fromUint16x8Bits = function() {};374SIMD.Int32x4.fromUint16x8Bits = function() {};375SIMD.Uint8x16.fromUint16x8Bits = function() {};376SIMD.Uint16x8.fromUint16x8Bits = function() {};377SIMD.Uint32x4.fromUint16x8Bits = function() {};378SIMD.Bool8x16.fromUint16x8Bits = function() {};379SIMD.Bool16x8.fromUint16x8Bits = function() {};380SIMD.Bool32x4.fromUint16x8Bits = function() {};381SIMD.Bool64x2.fromUint16x8Bits = function() {};382SIMD.Float32x4.fromUint32x4 = function() {};383SIMD.Float64x2.fromUint32x4 = function() {};384SIMD.Int8x16.fromUint32x4 = function() {};385SIMD.Int16x8.fromUint32x4 = function() {};386SIMD.Int32x4.fromUint32x4 = function() {};387SIMD.Uint8x16.fromUint32x4 = function() {};388SIMD.Uint16x8.fromUint32x4 = function() {};389SIMD.Uint32x4.fromUint32x4 = function() {};390SIMD.Bool8x16.fromUint32x4 = function() {};391SIMD.Bool16x8.fromUint32x4 = function() {};392SIMD.Bool32x4.fromUint32x4 = function() {};393SIMD.Bool64x2.fromUint32x4 = function() {};394SIMD.Float32x4.fromUint32x4Bits = function() {};395SIMD.Float64x2.fromUint32x4Bits = function() {};396SIMD.Int8x16.fromUint32x4Bits = function() {};397SIMD.Int16x8.fromUint32x4Bits = function() {};398SIMD.Int32x4.fromUint32x4Bits = function() {};399SIMD.Uint8x16.fromUint32x4Bits = function() {};400SIMD.Uint16x8.fromUint32x4Bits = function() {};401SIMD.Uint32x4.fromUint32x4Bits = function() {};402SIMD.Bool8x16.fromUint32x4Bits = function() {};403SIMD.Bool16x8.fromUint32x4Bits = function() {};404SIMD.Bool32x4.fromUint32x4Bits = function() {};405SIMD.Bool64x2.fromUint32x4Bits = function() {};406SIMD.Float32x4.fromUint8x16Bits = function() {};407SIMD.Float64x2.fromUint8x16Bits = function() {};408SIMD.Int8x16.fromUint8x16Bits = function() {};409SIMD.Int16x8.fromUint8x16Bits = function() {};410SIMD.Int32x4.fromUint8x16Bits = function() {};411SIMD.Uint8x16.fromUint8x16Bits = function() {};412SIMD.Uint16x8.fromUint8x16Bits = function() {};413SIMD.Uint32x4.fromUint8x16Bits = function() {};414SIMD.Bool8x16.fromUint8x16Bits = function() {};415SIMD.Bool16x8.fromUint8x16Bits = function() {};416SIMD.Bool32x4.fromUint8x16Bits = function() {};417SIMD.Bool64x2.fromUint8x16Bits = function() {};418SIMD.Float32x4.greaterThan = function() {};419SIMD.Float64x2.greaterThan = function() {};420SIMD.Int8x16.greaterThan = function() {};421SIMD.Int16x8.greaterThan = function() {};422SIMD.Int32x4.greaterThan = function() {};423SIMD.Uint8x16.greaterThan = function() {};424SIMD.Uint16x8.greaterThan = function() {};425SIMD.Uint32x4.greaterThan = function() {};426SIMD.Bool8x16.greaterThan = function() {};427SIMD.Bool16x8.greaterThan = function() {};428SIMD.Bool32x4.greaterThan = function() {};429SIMD.Bool64x2.greaterThan = function() {};430SIMD.Float32x4.greaterThanOrEqual = function() {};431SIMD.Float64x2.greaterThanOrEqual = function() {};432SIMD.Int8x16.greaterThanOrEqual = function() {};433SIMD.Int16x8.greaterThanOrEqual = function() {};434SIMD.Int32x4.greaterThanOrEqual = function() {};435SIMD.Uint8x16.greaterThanOrEqual = function() {};436SIMD.Uint16x8.greaterThanOrEqual = function() {};437SIMD.Uint32x4.greaterThanOrEqual = function() {};438SIMD.Bool8x16.greaterThanOrEqual = function() {};439SIMD.Bool16x8.greaterThanOrEqual = function() {};440SIMD.Bool32x4.greaterThanOrEqual = function() {};441SIMD.Bool64x2.greaterThanOrEqual = function() {};442SIMD.Float32x4.lessThan = function() {};443SIMD.Float64x2.lessThan = function() {};444SIMD.Int8x16.lessThan = function() {};445SIMD.Int16x8.lessThan = function() {};446SIMD.Int32x4.lessThan = function() {};447SIMD.Uint8x16.lessThan = function() {};448SIMD.Uint16x8.lessThan = function() {};449SIMD.Uint32x4.lessThan = function() {};450SIMD.Bool8x16.lessThan = function() {};451SIMD.Bool16x8.lessThan = function() {};452SIMD.Bool32x4.lessThan = function() {};453SIMD.Bool64x2.lessThan = function() {};454SIMD.Float32x4.lessThanOrEqual = function() {};455SIMD.Float64x2.lessThanOrEqual = function() {};456SIMD.Int8x16.lessThanOrEqual = function() {};457SIMD.Int16x8.lessThanOrEqual = function() {};458SIMD.Int32x4.lessThanOrEqual = function() {};459SIMD.Uint8x16.lessThanOrEqual = function() {};460SIMD.Uint16x8.lessThanOrEqual = function() {};461SIMD.Uint32x4.lessThanOrEqual = function() {};462SIMD.Bool8x16.lessThanOrEqual = function() {};463SIMD.Bool16x8.lessThanOrEqual = function() {};464SIMD.Bool32x4.lessThanOrEqual = function() {};465SIMD.Bool64x2.lessThanOrEqual = function() {};466SIMD.Float32x4.load = function() {};467SIMD.Float64x2.load = function() {};468SIMD.Int8x16.load = function() {};469SIMD.Int16x8.load = function() {};470SIMD.Int32x4.load = function() {};471SIMD.Uint8x16.load = function() {};472SIMD.Uint16x8.load = function() {};473SIMD.Uint32x4.load = function() {};474SIMD.Bool8x16.load = function() {};475SIMD.Bool16x8.load = function() {};476SIMD.Bool32x4.load = function() {};477SIMD.Bool64x2.load = function() {};478SIMD.Float32x4.max = function() {};479SIMD.Float64x2.max = function() {};480SIMD.Int8x16.max = function() {};481SIMD.Int16x8.max = function() {};482SIMD.Int32x4.max = function() {};483SIMD.Uint8x16.max = function() {};484SIMD.Uint16x8.max = function() {};485SIMD.Uint32x4.max = function() {};486SIMD.Bool8x16.max = function() {};487SIMD.Bool16x8.max = function() {};488SIMD.Bool32x4.max = function() {};489SIMD.Bool64x2.max = function() {};490SIMD.Float32x4.maxNum = function() {};491SIMD.Float64x2.maxNum = function() {};492SIMD.Int8x16.maxNum = function() {};493SIMD.Int16x8.maxNum = function() {};494SIMD.Int32x4.maxNum = function() {};495SIMD.Uint8x16.maxNum = function() {};496SIMD.Uint16x8.maxNum = function() {};497SIMD.Uint32x4.maxNum = function() {};498SIMD.Bool8x16.maxNum = function() {};499SIMD.Bool16x8.maxNum = function() {};500SIMD.Bool32x4.maxNum = function() {};501SIMD.Bool64x2.maxNum = function() {};502SIMD.Float32x4.min = function() {};503SIMD.Float64x2.min = function() {};504SIMD.Int8x16.min = function() {};505SIMD.Int16x8.min = function() {};506SIMD.Int32x4.min = function() {};507SIMD.Uint8x16.min = function() {};508SIMD.Uint16x8.min = function() {};509SIMD.Uint32x4.min = function() {};510SIMD.Bool8x16.min = function() {};511SIMD.Bool16x8.min = function() {};512SIMD.Bool32x4.min = function() {};513SIMD.Bool64x2.min = function() {};514SIMD.Float32x4.minNum = function() {};515SIMD.Float64x2.minNum = function() {};516SIMD.Int8x16.minNum = function() {};517SIMD.Int16x8.minNum = function() {};518SIMD.Int32x4.minNum = function() {};519SIMD.Uint8x16.minNum = function() {};520SIMD.Uint16x8.minNum = function() {};521SIMD.Uint32x4.minNum = function() {};522SIMD.Bool8x16.minNum = function() {};523SIMD.Bool16x8.minNum = function() {};524SIMD.Bool32x4.minNum = function() {};525SIMD.Bool64x2.minNum = function() {};526SIMD.Float32x4.mul = function() {};527SIMD.Float64x2.mul = function() {};528SIMD.Int8x16.mul = function() {};529SIMD.Int16x8.mul = function() {};530SIMD.Int32x4.mul = function() {};531SIMD.Uint8x16.mul = function() {};532SIMD.Uint16x8.mul = function() {};533SIMD.Uint32x4.mul = function() {};534SIMD.Bool8x16.mul = function() {};535SIMD.Bool16x8.mul = function() {};536SIMD.Bool32x4.mul = function() {};537SIMD.Bool64x2.mul = function() {};538SIMD.Float32x4.neg = function() {};539SIMD.Float64x2.neg = function() {};540SIMD.Int8x16.neg = function() {};541SIMD.Int16x8.neg = function() {};542SIMD.Int32x4.neg = function() {};543SIMD.Uint8x16.neg = function() {};544SIMD.Uint16x8.neg = function() {};545SIMD.Uint32x4.neg = function() {};546SIMD.Bool8x16.neg = function() {};547SIMD.Bool16x8.neg = function() {};548SIMD.Bool32x4.neg = function() {};549SIMD.Bool64x2.neg = function() {};550SIMD.Float32x4.not = function() {};551SIMD.Float64x2.not = function() {};552SIMD.Int8x16.not = function() {};553SIMD.Int16x8.not = function() {};554SIMD.Int32x4.not = function() {};555SIMD.Uint8x16.not = function() {};556SIMD.Uint16x8.not = function() {};557SIMD.Uint32x4.not = function() {};558SIMD.Bool8x16.not = function() {};559SIMD.Bool16x8.not = function() {};560SIMD.Bool32x4.not = function() {};561SIMD.Bool64x2.not = function() {};562SIMD.Float32x4.notEqual = function() {};563SIMD.Float64x2.notEqual = function() {};564SIMD.Int8x16.notEqual = function() {};565SIMD.Int16x8.notEqual = function() {};566SIMD.Int32x4.notEqual = function() {};567SIMD.Uint8x16.notEqual = function() {};568SIMD.Uint16x8.notEqual = function() {};569SIMD.Uint32x4.notEqual = function() {};570SIMD.Bool8x16.notEqual = function() {};571SIMD.Bool16x8.notEqual = function() {};572SIMD.Bool32x4.notEqual = function() {};573SIMD.Bool64x2.notEqual = function() {};574SIMD.Float32x4.or = function() {};575SIMD.Float64x2.or = function() {};576SIMD.Int8x16.or = function() {};577SIMD.Int16x8.or = function() {};578SIMD.Int32x4.or = function() {};579SIMD.Uint8x16.or = function() {};580SIMD.Uint16x8.or = function() {};581SIMD.Uint32x4.or = function() {};582SIMD.Bool8x16.or = function() {};583SIMD.Bool16x8.or = function() {};584SIMD.Bool32x4.or = function() {};585SIMD.Bool64x2.or = function() {};586SIMD.Float32x4.prototype.toSource = function() {};587SIMD.Float64x2.prototype.toSource = function() {};588SIMD.Int8x16.prototype.toSource = function() {};589SIMD.Int16x8.prototype.toSource = function() {};590SIMD.Int32x4.prototype.toSource = function() {};591SIMD.Uint8x16.prototype.toSource = function() {};592SIMD.Uint16x8.prototype.toSource = function() {};593SIMD.Uint32x4.prototype.toSource = function() {};594SIMD.Bool8x16.prototype.toSource = function() {};595SIMD.Bool16x8.prototype.toSource = function() {};596SIMD.Bool32x4.prototype.toSource = function() {};597SIMD.Bool64x2.prototype.toSource = function() {};598SIMD.Float32x4.reciprocalApproximation = function() {};599SIMD.Float64x2.reciprocalApproximation = function() {};600SIMD.Int8x16.reciprocalApproximation = function() {};601SIMD.Int16x8.reciprocalApproximation = function() {};602SIMD.Int32x4.reciprocalApproximation = function() {};603SIMD.Uint8x16.reciprocalApproximation = function() {};604SIMD.Uint16x8.reciprocalApproximation = function() {};605SIMD.Uint32x4.reciprocalApproximation = function() {};606SIMD.Bool8x16.reciprocalApproximation = function() {};607SIMD.Bool16x8.reciprocalApproximation = function() {};608SIMD.Bool32x4.reciprocalApproximation = function() {};609SIMD.Bool64x2.reciprocalApproximation = function() {};610SIMD.Float32x4.reciprocalSqrtApproximation = function() {};611SIMD.Float64x2.reciprocalSqrtApproximation = function() {};612SIMD.Int8x16.reciprocalSqrtApproximation = function() {};613SIMD.Int16x8.reciprocalSqrtApproximation = function() {};614SIMD.Int32x4.reciprocalSqrtApproximation = function() {};615SIMD.Uint8x16.reciprocalSqrtApproximation = function() {};616SIMD.Uint16x8.reciprocalSqrtApproximation = function() {};617SIMD.Uint32x4.reciprocalSqrtApproximation = function() {};618SIMD.Bool8x16.reciprocalSqrtApproximation = function() {};619SIMD.Bool16x8.reciprocalSqrtApproximation = function() {};620SIMD.Bool32x4.reciprocalSqrtApproximation = function() {};621SIMD.Bool64x2.reciprocalSqrtApproximation = function() {};622SIMD.Float32x4.replaceLane = function() {};623SIMD.Float64x2.replaceLane = function() {};624SIMD.Int8x16.replaceLane = function() {};625SIMD.Int16x8.replaceLane = function() {};626SIMD.Int32x4.replaceLane = function() {};627SIMD.Uint8x16.replaceLane = function() {};628SIMD.Uint16x8.replaceLane = function() {};629SIMD.Uint32x4.replaceLane = function() {};630SIMD.Bool8x16.replaceLane = function() {};631SIMD.Bool16x8.replaceLane = function() {};632SIMD.Bool32x4.replaceLane = function() {};633SIMD.Bool64x2.replaceLane = function() {};634SIMD.Float32x4.select = function() {};635SIMD.Float64x2.select = function() {};636SIMD.Int8x16.select = function() {};637SIMD.Int16x8.select = function() {};638SIMD.Int32x4.select = function() {};639SIMD.Uint8x16.select = function() {};640SIMD.Uint16x8.select = function() {};641SIMD.Uint32x4.select = function() {};642SIMD.Bool8x16.select = function() {};643SIMD.Bool16x8.select = function() {};644SIMD.Bool32x4.select = function() {};645SIMD.Bool64x2.select = function() {};646SIMD.Float32x4.shiftLeftByScalar = function() {};647SIMD.Float64x2.shiftLeftByScalar = function() {};648SIMD.Int8x16.shiftLeftByScalar = function() {};649SIMD.Int16x8.shiftLeftByScalar = function() {};650SIMD.Int32x4.shiftLeftByScalar = function() {};651SIMD.Uint8x16.shiftLeftByScalar = function() {};652SIMD.Uint16x8.shiftLeftByScalar = function() {};653SIMD.Uint32x4.shiftLeftByScalar = function() {};654SIMD.Bool8x16.shiftLeftByScalar = function() {};655SIMD.Bool16x8.shiftLeftByScalar = function() {};656SIMD.Bool32x4.shiftLeftByScalar = function() {};657SIMD.Bool64x2.shiftLeftByScalar = function() {};658SIMD.Float32x4.shiftRightByScalar = function() {};659SIMD.Float64x2.shiftRightByScalar = function() {};660SIMD.Int8x16.shiftRightByScalar = function() {};661SIMD.Int16x8.shiftRightByScalar = function() {};662SIMD.Int32x4.shiftRightByScalar = function() {};663SIMD.Uint8x16.shiftRightByScalar = function() {};664SIMD.Uint16x8.shiftRightByScalar = function() {};665SIMD.Uint32x4.shiftRightByScalar = function() {};666SIMD.Bool8x16.shiftRightByScalar = function() {};667SIMD.Bool16x8.shiftRightByScalar = function() {};668SIMD.Bool32x4.shiftRightByScalar = function() {};669SIMD.Bool64x2.shiftRightByScalar = function() {};670SIMD.Float32x4.shuffle = function() {};671SIMD.Float64x2.shuffle = function() {};672SIMD.Int8x16.shuffle = function() {};673SIMD.Int16x8.shuffle = function() {};674SIMD.Int32x4.shuffle = function() {};675SIMD.Uint8x16.shuffle = function() {};676SIMD.Uint16x8.shuffle = function() {};677SIMD.Uint32x4.shuffle = function() {};678SIMD.Bool8x16.shuffle = function() {};679SIMD.Bool16x8.shuffle = function() {};680SIMD.Bool32x4.shuffle = function() {};681SIMD.Bool64x2.shuffle = function() {};682SIMD.Float32x4.splat = function() {};683SIMD.Float64x2.splat = function() {};684SIMD.Int8x16.splat = function() {};685SIMD.Int16x8.splat = function() {};686SIMD.Int32x4.splat = function() {};687SIMD.Uint8x16.splat = function() {};688SIMD.Uint16x8.splat = function() {};689SIMD.Uint32x4.splat = function() {};690SIMD.Bool8x16.splat = function() {};691SIMD.Bool16x8.splat = function() {};692SIMD.Bool32x4.splat = function() {};693SIMD.Bool64x2.splat = function() {};694SIMD.Float32x4.sqrt = function() {};695SIMD.Float64x2.sqrt = function() {};696SIMD.Int8x16.sqrt = function() {};697SIMD.Int16x8.sqrt = function() {};698SIMD.Int32x4.sqrt = function() {};699SIMD.Uint8x16.sqrt = function() {};700SIMD.Uint16x8.sqrt = function() {};701SIMD.Uint32x4.sqrt = function() {};702SIMD.Bool8x16.sqrt = function() {};703SIMD.Bool16x8.sqrt = function() {};704SIMD.Bool32x4.sqrt = function() {};705SIMD.Bool64x2.sqrt = function() {};706SIMD.Float32x4.store = function() {};707SIMD.Float64x2.store = function() {};708SIMD.Int8x16.store = function() {};709SIMD.Int16x8.store = function() {};710SIMD.Int32x4.store = function() {};711SIMD.Uint8x16.store = function() {};712SIMD.Uint16x8.store = function() {};713SIMD.Uint32x4.store = function() {};714SIMD.Bool8x16.store = function() {};715SIMD.Bool16x8.store = function() {};716SIMD.Bool32x4.store = function() {};717SIMD.Bool64x2.store = function() {};718SIMD.Float32x4.sub = function() {};719SIMD.Float64x2.sub = function() {};720SIMD.Int8x16.sub = function() {};721SIMD.Int16x8.sub = function() {};722SIMD.Int32x4.sub = function() {};723SIMD.Uint8x16.sub = function() {};724SIMD.Uint16x8.sub = function() {};725SIMD.Uint32x4.sub = function() {};726SIMD.Bool8x16.sub = function() {};727SIMD.Bool16x8.sub = function() {};728SIMD.Bool32x4.sub = function() {};729SIMD.Bool64x2.sub = function() {};730SIMD.Float32x4.subSaturate = function() {};731SIMD.Float64x2.subSaturate = function() {};732SIMD.Int8x16.subSaturate = function() {};733SIMD.Int16x8.subSaturate = function() {};734SIMD.Int32x4.subSaturate = function() {};735SIMD.Uint8x16.subSaturate = function() {};736SIMD.Uint16x8.subSaturate = function() {};737SIMD.Uint32x4.subSaturate = function() {};738SIMD.Bool8x16.subSaturate = function() {};739SIMD.Bool16x8.subSaturate = function() {};740SIMD.Bool32x4.subSaturate = function() {};741SIMD.Bool64x2.subSaturate = function() {};742SIMD.Float32x4.swizzle = function() {};743SIMD.Float64x2.swizzle = function() {};744SIMD.Int8x16.swizzle = function() {};745SIMD.Int16x8.swizzle = function() {};746SIMD.Int32x4.swizzle = function() {};747SIMD.Uint8x16.swizzle = function() {};748SIMD.Uint16x8.swizzle = function() {};749SIMD.Uint32x4.swizzle = function() {};750SIMD.Bool8x16.swizzle = function() {};751SIMD.Bool16x8.swizzle = function() {};752SIMD.Bool32x4.swizzle = function() {};753SIMD.Bool64x2.swizzle = function() {};754SIMD.Float32x4.xor = function() {};755SIMD.Float64x2.xor = function() {};756SIMD.Int8x16.xor = function() {};757SIMD.Int16x8.xor = function() {};758SIMD.Int32x4.xor = function() {};759SIMD.Uint8x16.xor = function() {};760SIMD.Uint16x8.xor = function() {};761SIMD.Uint32x4.xor = function() {};762SIMD.Bool8x16.xor = function() {};763SIMD.Bool16x8.xor = function() {};764SIMD.Bool32x4.xor = function() {};765SIMD.Bool64x2.xor = function() {};766SIMD.Float32x4.load1 = function() {};767SIMD.Float32x4.load2 = function() {};768SIMD.Float32x4.load3 = function() {};769SIMD.Float32x4.load4 = function() {};770SIMD.Float32x4.store1 = function() {};771SIMD.Float32x4.store2 = function() {};772SIMD.Float32x4.store3 = function() {};773SIMD.Float32x4.store4 = function() {};774SIMD.Int32x4.load1 = function() {};775SIMD.Int32x4.load2 = function() {};776SIMD.Int32x4.load3 = function() {};777SIMD.Int32x4.load4 = function() {};778SIMD.Int32x4.store1 = function() {};779SIMD.Int32x4.store2 = function() {};780SIMD.Int32x4.store3 = function() {};781SIMD.Int32x4.store4 = function() {};782SIMD.Uint32x4.load1 = function() {};783SIMD.Uint32x4.load2 = function() {};784SIMD.Uint32x4.load3 = function() {};785SIMD.Uint32x4.load4 = function() {};786SIMD.Uint32x4.store1 = function() {};787SIMD.Uint32x4.store2 = function() {};788SIMD.Uint32x4.store3 = function() {};789SIMD.Uint32x4.store4 = function() {};790SIMD.bool64x2.anyTrue = function() {};791SIMD.bool32x4.anyTrue = function() {};792SIMD.bool16x8.anyTrue = function() {};793SIMD.bool8x16.anyTrue = function() {};794SIMD.Float32x4.fromBool64x2Bits = function() {};795SIMD.Float64x2.fromBool64x2Bits = function() {};796SIMD.Int8x16.fromBool64x2Bits = function() {};797SIMD.Int16x8.fromBool64x2Bits = function() {};798SIMD.Int32x4.fromBool64x2Bits = function() {};799SIMD.Uint8x16.fromBool64x2Bits = function() {};800SIMD.Uint16x8.fromBool64x2Bits = function() {};801SIMD.Uint32x4.fromBool64x2Bits = function() {};802SIMD.Bool8x16.fromBool64x2Bits = function() {};803SIMD.Bool16x8.fromBool64x2Bits = function() {};804SIMD.Bool32x4.fromBool64x2Bits = function() {};805SIMD.Bool64x2.fromBool64x2Bits = function() {};806SIMD.Float32x4.fromFloat64x2 = function() {};807SIMD.Float64x2.fromFloat64x2 = function() {};808SIMD.Int8x16.fromFloat64x2 = function() {};809SIMD.Int16x8.fromFloat64x2 = function() {};810SIMD.Int32x4.fromFloat64x2 = function() {};811SIMD.Uint8x16.fromFloat64x2 = function() {};812SIMD.Uint16x8.fromFloat64x2 = function() {};813SIMD.Uint32x4.fromFloat64x2 = function() {};814SIMD.Bool8x16.fromFloat64x2 = function() {};815SIMD.Bool16x8.fromFloat64x2 = function() {};816SIMD.Bool32x4.fromFloat64x2 = function() {};817SIMD.Bool64x2.fromFloat64x2 = function() {};818var GLctx = {};819/**820 * @const821 */822var WebAssembly = {};823/**824 * @constructor825 * @param {!BufferSource} bytes826 */827WebAssembly.Module = function(bytes) {};828/** 829 * @constructor830 * @param {!WebAssembly.Module} moduleObject831 * @param {Object=} importObject832 */833WebAssembly.Instance = function(moduleObject, importObject) {};834/** @typedef {{initial:number, maximum:(number|undefined)}} */835var MemoryDescriptor;836/**837 * @constructor838 * @param {MemoryDescriptor} memoryDescriptor839 */840WebAssembly.Memory = function(memoryDescriptor) {};841/** @typedef {{element:string, initial:number, maximum:(number|undefined)}} */842var TableDescriptor;843/**844 * @constructor845 * @param {TableDescriptor} tableDescriptor846 */847WebAssembly.Table = function(tableDescriptor) {};848/**849 * @constructor850 * @extends {Error}851 */852WebAssembly.CompileError = function() {};853/**854 * @constructor855 * @extends {Error}856 */857WebAssembly.LinkError = function() {};858/**859 * @constructor860 * @extends {Error}861 */862WebAssembly.RuntimeError = function() {};863/**864 * Note: Closure compiler does not support function overloading, omit this overload for now.865 * {function(!WebAssembly.Module, Object=):!Promise<!WebAssembly.Instance>}866 */867/**868 * @param {!BufferSource} moduleObject869 * @param {Object=} importObject870 * @return {!Promise<{module:WebAssembly.Module, instance:WebAssembly.Instance}>}871 */872WebAssembly.instantiate = function(moduleObject, importObject) {};873/**874 * @param {!BufferSource} bytes875 * @return {!Promise<!WebAssembly.Module>}876 */877WebAssembly.compile = function(bytes) {};878/**879 * @param {!BufferSource} bytes880 * @return {boolean}881 */882WebAssembly.validate = function(bytes) {};883/**884 * @param {!WebAssembly.Module} moduleObject885 * @return {!Array<{name:string, kind:string}>}886 */887WebAssembly.Module.exports = function(moduleObject) {};888/** 889 * @param {!WebAssembly.Module} moduleObject890 * @return {!Array<{module:string, name:string, kind:string}>}891 */892WebAssembly.Module.imports = function(moduleObject) {};893/**894 * @param {!WebAssembly.Module} moduleObject895 * @param {string} sectionName896 * @return {!Array<!ArrayBuffer>}897 */898WebAssembly.Module.customSections = function(moduleObject, sectionName) {};899/** @dict */900WebAssembly.Instance.prototype.exports;901/** 902 * @param {number} delta903 * @return {number}904 */905WebAssembly.Memory.prototype.grow = function(delta) {};906/**907 * @type {!ArrayBuffer}908 */909WebAssembly.Memory.prototype.buffer;910/**911 * @param {number} delta912 * @return {number}913 */914WebAssembly.Table.prototype.grow = function(delta) {};915/**916 * @type {number}917 */918WebAssembly.Table.prototype.length;919/**920 * @param {number} index921 * @return {function(...)}922 */923WebAssembly.Table.prototype.get = function(index) {};924/**925 * @param {number} index926 * @param {?function(...)} value927 */...
externs.js
Source:externs.js
...29 */30// WebKit Web Facing API31var console = {}32/** @param {...*} vararg */33console.warn = function(vararg) {}34/** @param {...*} vararg */35console.assert = function(vararg) {}36/** @param {...*} vararg */37console.error = function(vararg) {}38console.trace = function() {}39/** @type {boolean} */40Event.prototype.isMetaOrCtrlForTest = false;41/** @param {...*} vararg */42Event.prototype.initWebKitWheelEvent = function(vararg) {}43Event.prototype.stopImmediatePropagation = function() {}44/**45 * @constructor46 * @extends {KeyboardEvent}47 * @param {string} eventType48 * @param {Object=} properties49 */50window.KeyboardEvent = function(eventType, properties) {}51/** @param {Element} element */52window.getComputedStyle = function(element) {}53/** @param {*} message */54function postMessage(message) {}55/** @type {*} */56window.testRunner = null;57/**58 * @constructor59 */60function WebKitMutation(callback)61{62 this.type = "";63 /** @type {Node} */ this.target = null;64 /** @type {Array.<Node>} */ this.addedNodes = [];65 /** @type {Array.<Node>} */ this.removedNodes = [];66}67/**68 * @constructor69 * @param {function(Array.<WebKitMutation>)} callback70 */71function WebKitMutationObserver(callback) {}72/**73 * @param {Node} container74 * @param {Object} options75 */76WebKitMutationObserver.prototype.observe = function(container, options) {}77WebKitMutationObserver.prototype.disconnect = function() {}78/**79 * @param {string} eventName80 * @param {Function} listener81 * @param {boolean=} capturing82 */83function addEventListener(eventName, listener, capturing) {}84/**85 * @param {T} value86 * @param {boolean=} onlyFirst87 * @this {Array.<T>}88 * @template T89 */90Array.prototype.remove = function(value, onlyFirst) {}91/**92 * @return {!Object.<string, boolean>}93 * @this {Array.<*>}94 */95Array.prototype.keySet = function() {}96/**97 * @param {number} index98 * @return {!Array.<T>}99 * @this {Array.<T>}100 * @template T101 */102Array.prototype.rotate = function(index) {}103/**104 * @param {T} object105 * @param {function(T,S):number=} comparator106 * @return {number}107 * @this {Array.<S>}108 * @template T,S109 */110Array.prototype.lowerBound = function(object, comparator) {}111/**112 * @param {T} object113 * @param {function(T,S):number=} comparator114 * @return {number}115 * @this {Array.<S>}116 * @template T,S117 */118Array.prototype.upperBound = function(object, comparator) {}119/**120 * @param {T} value121 * @param {function(T,S):number} comparator122 * @return {number}123 * @this {Array.<S>}124 * @template T,S125 */126Array.prototype.binaryIndexOf = function(value, comparator) {}127/**128 * @param {function(number, number): number} comparator129 * @param {number} leftBound130 * @param {number} rightBound131 * @param {number} sortWindowLeft132 * @param {number} sortWindowRight133 * @return {!Array.<number>}134 * @this {Array.<number>}135 */136Array.prototype.sortRange = function(comparator, leftBound, rightBound, sortWindowLeft, sortWindowRight) {}137/**138 * @this {Array.<number>}139 * @param {function(number,number):boolean} comparator140 * @param {number} left141 * @param {number} right142 * @param {number} pivotIndex143 * @return {number}144 */145Array.prototype.partition = function(comparator, left, right, pivotIndex) {}146/**147 * @this {Array.<number>}148 * @param {number} k149 * @param {function(number,number):boolean=} comparator150 * @return {number}151 */152Array.prototype.qselect = function(k, comparator) {}153/**154 * @param {string} field155 * @return {!Array.<T>}156 * @this {Array.<Object.<string,T>>}157 * @template T158 */159Array.prototype.select = function(field) {}160/**161 * @return {T|undefined}162 * @this {Array.<T>}163 * @template T164 */165Array.prototype.peekLast = function() {}166DOMApplicationCache.prototype.UNCACHED = 0;167DOMApplicationCache.prototype.IDLE = 1;168DOMApplicationCache.prototype.CHECKING = 2;169DOMApplicationCache.prototype.DOWNLOADING = 3;170DOMApplicationCache.prototype.UPDATEREADY = 4;171DOMApplicationCache.prototype.OBSOLETE = 5;172// File System API173/**174 * @constructor175 */176function DOMFileSystem() {}177/**178 * @type {DirectoryEntry}179 */180DOMFileSystem.prototype.root = null;181/** @type {Node} */182Range.prototype.startContainer;183// Inspector Backend184var InspectorBackend = {}185InspectorBackend.runAfterPendingDispatches = function(message) {}186/** @interface */187function InspectorFrontendHostAPI() {}188InspectorFrontendHostAPI.prototype.platform = function() {}189InspectorFrontendHostAPI.prototype.port = function() {}190InspectorFrontendHostAPI.prototype.bringToFront = function() {}191InspectorFrontendHostAPI.prototype.closeWindow = function() {}192InspectorFrontendHostAPI.prototype.requestSetDockSide = function(dockSide) {}193InspectorFrontendHostAPI.prototype.setAttachedWindowHeight = function(height) {}194InspectorFrontendHostAPI.prototype.moveWindowBy = function(x, y) {}195InspectorFrontendHostAPI.prototype.setInjectedScriptForOrigin = function(origin, script) {}196InspectorFrontendHostAPI.prototype.loaded = function() {}197InspectorFrontendHostAPI.prototype.localizedStringsURL = function() {}198InspectorFrontendHostAPI.prototype.inspectedURLChanged = function(url) {}199InspectorFrontendHostAPI.prototype.documentCopy = function(event) {}200InspectorFrontendHostAPI.prototype.copyText = function(text) {}201InspectorFrontendHostAPI.prototype.openInNewTab = function(url) {}202InspectorFrontendHostAPI.prototype.canSave = function() {}203InspectorFrontendHostAPI.prototype.save = function(url, content, forceSaveAs) {}204InspectorFrontendHostAPI.prototype.close = function(url) {}205InspectorFrontendHostAPI.prototype.append = function(url, content) {}206InspectorFrontendHostAPI.prototype.sendMessageToBackend = function(message) {}207InspectorFrontendHostAPI.prototype.sendMessageToEmbedder = function(message) {}208InspectorFrontendHostAPI.prototype.recordActionTaken = function(actionCode) {}209InspectorFrontendHostAPI.prototype.recordPanelShown = function(panelCode) {}210InspectorFrontendHostAPI.prototype.recordSettingChanged = function(settingCode) {}211InspectorFrontendHostAPI.prototype.loadResourceSynchronously = function(url) {}212InspectorFrontendHostAPI.prototype.supportsFileSystems = function() {}213InspectorFrontendHostAPI.prototype.requestFileSystems = function() {}214InspectorFrontendHostAPI.prototype.addFileSystem = function() {}215InspectorFrontendHostAPI.prototype.removeFileSystem = function(fileSystemPath) {}216InspectorFrontendHostAPI.prototype.isolatedFileSystem = function(fileSystemId, registeredName) {}217InspectorFrontendHostAPI.prototype.indexPath = function(requestId, fileSystemPath) {}218InspectorFrontendHostAPI.prototype.stopIndexing = function(requestId) {}219InspectorFrontendHostAPI.prototype.searchInPath = function(requestId, fileSystemPath, query) {}220InspectorFrontendHostAPI.prototype.setZoomFactor = function(zoom) {}221/** @type {InspectorFrontendHostAPI} */222var InspectorFrontendHost;223/** @constructor */224function SourceMapV3()225{226 /** @type {number} */ this.version;227 /** @type {string} */ this.file;228 /** @type {Array.<string>} */ this.sources;229 /** @type {Array.<SourceMapV3.Section>} */ this.sections;230 /** @type {string} */ this.mappings;231 /** @type {string} */ this.sourceRoot;232}233/** @constructor */234SourceMapV3.Section = function()235{236 /** @type {SourceMapV3} */ this.map;237 /** @type {SourceMapV3.Offset} */ this.offset;238}239/** @constructor */240SourceMapV3.Offset = function()241{242 /** @type {number} */ this.line;243 /** @type {number} */ this.column;244}245// FIXME: remove everything below.246var WebInspector = {}247WebInspector.queryParamsObject = {}248WebInspector.toggleSearchingForNode = function() {}249WebInspector.panels = {};250/**251 * @param {Element} element252 * @param {function()=} onclose253 */254WebInspector.showViewInDrawer = function(element, view, onclose) {}255WebInspector.closeViewInDrawer = function() {}256/**257 * @param {string=} messageLevel258 * @param {boolean=} showConsole259 */260WebInspector.log = function(message, messageLevel, showConsole) {}261WebInspector.showErrorMessage = function(error) {}262WebInspector.addMainEventListeners = function(doc) {}263WebInspector.openResource = function(url, external) {}264WebInspector.showConsole = function() {}265/**266 * @param {string} expression267 * @param {boolean=} showResultOnly268 */269WebInspector.evaluateInConsole = function(expression, showResultOnly) {}270WebInspector.queryParamsObject = {}271/**272 * @param {Element} element273 */274WebInspector.showAnchorLocation = function(element) {}275WebInspector.Events = {276 InspectorLoaded: "InspectorLoaded",277 InspectorClosing: "InspectorClosing"278}279/** @type {WebInspector.SettingsController} */280WebInspector.settingsController;281/** Extensions API */282/** @constructor */283function AuditCategory() {}284/** @constructor */285function AuditResult() {}286/** @constructor */287function EventSink() {}288/** @constructor */289function ExtensionSidebarPane() {}290/** @constructor */291function Panel() {}292/** @constructor */293function PanelWithSidebar() {}294/** @constructor */295function Request() {}296/** @constructor */297function Resource() {}298/** @constructor */299function Timeline() {}300var extensionServer;301/** @type {string} */302Location.prototype.origin = "";303/**304 * @constructor305 */306function ExtensionDescriptor() {307 this.startPage = "";308 this.name = "";309}310/**311 * @constructor312 */313function ExtensionReloadOptions() {314 this.ignoreCache = false;315 this.injectedScript = "";316 this.preprocessingScript = "";317 this.userAgent = "";318}319WebInspector.showPanel = function(panel)320{321}322/**323 * @param {ExtensionDescriptor} extensionInfo324 * @return {string}325 */326function buildPlatformExtensionAPI(extensionInfo) {}327/**328 * @type {string}329 */330WebInspector.inspectedPageDomain;331WebInspector.SourceJavaScriptTokenizer = {}332WebInspector.SourceJavaScriptTokenizer.Keywords = {}333var InspectorTest = {}334/* jsdifflib API */335var difflib = {};336difflib.stringAsLines = function(text) { return []; }337/** @constructor */338difflib.SequenceMatcher = function(baseText, newText) { }339difflib.SequenceMatcher.prototype.get_opcodes = function() { return []; }340/** @constructor */341var CodeMirror = function() { }342CodeMirror.on = function(obj, type, handler) { }343CodeMirror.prototype = {344 addKeyMap: function(map) { },345 addLineClass: function(handle, where, cls) { },346 addLineWidget: function(handle, node, options) { },347 /**348 * @param {string|Object} spec349 * @param {Object=} options350 */351 addOverlay: function(spec, options) { },352 addWidget: function(pos, node, scroll, vert, horiz) { },353 charCoords: function(pos, mode) { },354 clearGutter: function(gutterID) { },355 clearHistory: function() { },356 clipPos: function(pos) { },357 coordsChar: function(coords, mode) { },358 cursorCoords: function(start, mode) { },359 defaultCharWidth: function() { },360 defaultTextHeight: function() { },361 deleteH: function(dir, unit) { },362 eachLine: function(from, to, op) { },363 execCommand: function(cmd) { },364 extendSelection: function(from, to) { },365 findMarksAt: function(pos) { },366 findMatchingBracket: function() { },367 findPosH: function(from, amount, unit, visually) { },368 findPosV: function(from, amount, unit, goalColumn) { },369 firstLine: function() { },370 focus: function() { },371 getAllMarks: function() { },372 /** @param {string=} start */373 getCursor: function(start) { },374 getDoc: function() { },375 getGutterElement: function() { },376 getHistory: function() { },377 getInputField: function(){ },378 getLine: function(line) { },379 /**380 * @return {{wrapClass: string}}381 */382 getLineHandle: function(line) { },383 getLineNumber: function(line) { },384 getMode: function() { },385 getOption: function(option) { },386 getRange: function(from, to, lineSep) { },387 /**388 * @return {{left: number, top: number, width: number, height: number, clientWidth: number, clientHeight: number}}389 */390 getScrollInfo: function() { },391 getScrollerElement: function() { },392 getSelection: function() { },393 getStateAfter: function(line) { },394 getTokenAt: function(pos) { },395 getValue: function(lineSep) { },396 getViewport: function() { },397 getWrapperElement: function() { },398 hasFocus: function() { },399 historySize: function() { },400 indentLine: function(n, dir, aggressive) { },401 indentSelection: function(how) { },402 indexFromPos: function(coords) { },403 isClean: function() { },404 iterLinkedDocs: function(f) { },405 lastLine: function() { },406 lineCount: function() { },407 lineInfo: function(line) { },408 /**409 * @param {number} height410 * @param {string=} mode411 */412 lineAtHeight: function(height, mode) { },413 linkedDoc: function(options) { },414 markClean: function() { },415 markText: function(from, to, options) { },416 moveH: function(dir, unit) { },417 moveV: function(dir, unit) { },418 off: function(type, f) { },419 on: function(type, f) { },420 operation: function(f) { },421 posFromIndex: function(off) { },422 redo: function() { },423 refresh: function() { },424 removeKeyMap: function(map) { },425 removeLine: function(line) { },426 removeLineClass: function(handle, where, cls) { },427 removeLineWidget: function(widget) { },428 removeOverlay: function(spec) { },429 replaceRange: function(code, from, to, origin) { },430 replaceSelection: function(code, collapse, origin) { },431 scrollIntoView: function(pos, margin) { },432 scrollTo: function(x, y) { },433 setBookmark: function(pos, options) { },434 setCursor: function(line, ch, extend) { },435 setExtending: function(val) { },436 setGutterMarker: function(line, gutterID, value) { },437 setHistory: function(histData) { },438 setLine: function(line, text) { },439 setOption: function(option, value) { },440 setSelection: function(anchor, head) { },441 setSize: function(width, height) { },442 setValue: function(code) { },443 somethingSelected: function() { },444 swapDoc: function(doc) { },445 undo: function() { },446 unlinkDoc: function(other) { }447}448/** @type {number} */449CodeMirror.prototype.lineCount;450CodeMirror.Pass;451CodeMirror.showHint = function(codeMirror, hintintFunction) { };452CodeMirror.commands = {};453CodeMirror.modes = {};454CodeMirror.mimeModes = {};455CodeMirror.getMode = function(options, spec) { };456CodeMirror.overlayMode = function(mode1, mode2, squashSpans) { };457CodeMirror.defineMode = function(modeName, modeConstructor) { };458CodeMirror.startState = function(mode) { };459/** @constructor */460CodeMirror.Pos = function(line, ch) { }461/** type {number} */462CodeMirror.Pos.prototype.line;463/** type {number} */464CodeMirror.Pos.prototype.ch;465/** @constructor */466CodeMirror.StringStream = function(line)467{468 this.pos = 0;469 this.start = 0;470}471CodeMirror.StringStream.prototype = {472 backUp: function (n) { },473 column: function () { },474 current: function () { },475 eat: function (match) { },476 eatSpace: function () { },477 eatWhile: function (match) { },478 eol: function () { },479 indentation: function () { },480 /**481 * @param {RegExp|string} pattern482 * @param {boolean=} consume483 * @param {boolean=} caseInsensitive484 */485 match: function (pattern, consume, caseInsensitive) { },486 next: function () { },487 peek: function () { },488 skipTo: function (ch) { },489 skipToEnd: function () { },490 sol: function () { }491}492/** @type {Object.<string, Object.<string, string>>} */493CodeMirror.keyMap;494WebInspector.suggestReload = function() { }495WebInspector.reload = function() { }496WebInspector.settings.continuousPainting = /** type {WebInspector.Setting} */ { }497WebInspector.settings.showDebugBorders = /** type {WebInspector.Setting} */ { }498WebInspector.settings.showScrollBottleneckRects = /** type {WebInspector.Setting} */ { }499WebInspector.settings.forceCompositingMode = /** type {WebInspector.Setting} */ { }500WebInspector.settings.showFPSCounter = /** type {WebInspector.Setting} */ { }501WebInspector.settings.showPaintRects = /** type {WebInspector.Setting} */ { }502/** @type {boolean} */503window.dispatchStandaloneTestRunnerMessages;...
chromeDebuggerRemote.js
Source:chromeDebuggerRemote.js
...19chromeDebuggerRemote.version = 0.1;20/* unsupported */ 21chromeDebuggerRemote.Inspector = {22 commands: {23 enable: function(){},24 disable: function(){},25 },26 events: {27 evaluateForTestInFrontend: function(testCallId, script) {},28 inspect: function(object, hints) {},29 didCreateWorker: function(id, url, isShared) {},30 didDestroyWorker: function(id) {},31 }32};33/* unsupported */ 34chromeDebuggerRemote.Memory = {35 commands: {36 getDOMNodeCount: /*count */ function(){},37 },38};39chromeDebuggerRemote.Page = {40 commands: {41 enable: function(){},42 disable: function(){},43 /* unsupported */ addScriptToEvaluateOnLoad: /*identifier */ function(scriptSource){},44 /* unsupported */ removeScriptToEvaluateOnLoad: function(identifier){},45 reload: function(ignoreCache, scriptToEvaluateOnLoad){},46 /* unsupported */ open: function(url, newWindow){},47 /* unsupported */ getCookies: /*cookies,cookiesString */ function(){},48 /* unsupported */ deleteCookie: function(cookieName, domain){},49 /* unsupported */ getResourceTree: /*frameTree */ function(){},50 /* unsupported */ getResourceContent: /*content,base64Encoded */ function(frameId, url){},51 /* unsupported */ searchInResource: /*result */ function(frameId, url, query, caseSensitive, isRegex){},52 /* unsupported */ searchInResources: /*result */ function(text, caseSensitive, isRegex){},53 },54 events: {55 domContentEventFired: function(timestamp) {},56 loadEventFired: function(timestamp) {},57 /* unsupported */ frameNavigated: function(frame) {},58 /* unsupported */ frameDetached: function(frameId) {},59 }60};61chromeDebuggerRemote.Runtime = {62 commands: {63 evaluate: /*result,wasThrown */ function(expression, objectGroup, includeCommandLineAPI, doNotPauseOnExceptions, frameId, returnByValue){},64 callFunctionOn: /*result,wasThrown */ function(objectId, functionDeclaration, arguments, returnByValue){},65 getProperties: /*result */ function(objectId, ownProperties){},66 releaseObject: function(objectId){},67 releaseObjectGroup: function(objectGroup){},68 /* unsupported */ run: function(){},69 },70};71chromeDebuggerRemote.Console = {72 commands: {73 enable: function(){},74 disable: function(){},75 clearMessages: function(){},76 /* unsupported */ setMonitoringXHREnabled: function(enabled){},77 /* unsupported */ addInspectedNode: function(nodeId){},78 },79 events: {80 messageAdded: function(message) {},81 messageRepeatCountUpdated: function(count) {},82 messagesCleared: function() {},83 }84};85chromeDebuggerRemote.Network = {86 commands: {87 enable: function(){},88 disable: function(){},89 setUserAgentOverride: function(userAgent){},90 setExtraHTTPHeaders: function(headers){},91 getResponseBody: /*body,base64Encoded */ function(requestId){},92 canClearBrowserCache: /*result */ function(){},93 clearBrowserCache: function(){},94 canClearBrowserCookies: /*result */ function(){},95 clearBrowserCookies: function(){},96 setCacheDisabled: function(cacheDisabled){},97 },98 events: {99 requestWillBeSent: function(requestId, frameId, loaderId, documentURL, request, timestamp, initiator, stackTrace, redirectResponse) {},100 requestServedFromCache: function(requestId) {},101 responseReceived: function(requestId, frameId, loaderId, timestamp, type, response) {},102 dataReceived: function(requestId, timestamp, dataLength, encodedDataLength) {},103 loadingFinished: function(requestId, timestamp) {},104 loadingFailed: function(requestId, timestamp, errorText, canceled) {},105 requestServedFromMemoryCache: function(requestId, frameId, loaderId, documentURL, timestamp, initiator, resource) {},106 /* unsupported */ webSocketWillSendHandshakeRequest: function(requestId, timestamp, request) {},107 /* unsupported */ webSocketHandshakeResponseReceived: function(requestId, timestamp, response) {},108 /* unsupported */ webSocketCreated: function(requestId, url) {},109 /* unsupported */ webSocketClosed: function(requestId, timestamp) {},110 }111};112/* unsupported */ 113chromeDebuggerRemote.Database = {114 commands: {115 enable: function(){},116 disable: function(){},117 getDatabaseTableNames: /*tableNames */ function(databaseId){},118 executeSQL: /*success,transactionId */ function(databaseId, query){},119 },120 events: {121 addDatabase: function(database) {},122 sqlTransactionSucceeded: function(transactionId, columnNames, values) {},123 sqlTransactionFailed: function(transactionId, sqlError) {},124 }125};126/* unsupported */ 127chromeDebuggerRemote.DOMStorage = {128 commands: {129 enable: function(){},130 disable: function(){},131 getDOMStorageEntries: /*entries */ function(storageId){},132 setDOMStorageItem: /*success */ function(storageId, key, value){},133 removeDOMStorageItem: /*success */ function(storageId, key){},134 },135 events: {136 addDOMStorage: function(storage) {},137 updateDOMStorage: function(storageId) {},138 }139};140/* unsupported */ 141chromeDebuggerRemote.ApplicationCache = {142 commands: {143 getFramesWithManifests: /*frameIds */ function(){},144 enable: function(){},145 getManifestForFrame: /*manifestURL */ function(frameId){},146 getApplicationCacheForFrame: /*applicationCache */ function(frameId){},147 },148 events: {149 applicationCacheStatusUpdated: function(frameId, manifestURL, status) {},150 networkStateUpdated: function(isNowOnline) {},151 }152};153/* unsupported */ 154chromeDebuggerRemote.FileSystem = {155 commands: {156 enable: function(){},157 disable: function(){},158 },159};160chromeDebuggerRemote.DOM = {161 commands: {162 getDocument: /*root */ function(){},163 requestChildNodes: function(nodeId){},164 querySelector: /*nodeId */ function(nodeId, selector){},165 querySelectorAll: /*nodeIds */ function(nodeId, selector){},166 setNodeName: /*nodeId */ function(nodeId, name){},167 setNodeValue: function(nodeId, value){},168 removeNode: function(nodeId){},169 setAttributeValue: function(nodeId, name, value){},170 setAttributesAsText: function(nodeId, text, name){},171 removeAttribute: function(nodeId, name){},172 /* unsupported */ getEventListenersForNode: /*listeners */ function(nodeId){},173 /* unsupported */ copyNode: function(nodeId){},174 getOuterHTML: /*outerHTML */ function(nodeId){},175 setOuterHTML: /*nodeId */ function(nodeId, outerHTML){},176 /* unsupported */ performSearch: /*searchId,resultCount */ function(query){},177 /* unsupported */ getSearchResults: /*nodeIds */ function(searchId, fromIndex, toIndex){},178 /* unsupported */ discardSearchResults: function(searchId){},179 requestNode: /*nodeId */ function(objectId){},180 /* unsupported */ setInspectModeEnabled: function(enabled, highlightConfig){},181 highlightRect: function(x, y, width, height, color, outlineColor){},182 highlightNode: function(nodeId, highlightConfig){},183 hideHighlight: function(){},184 /* unsupported */ highlightFrame: function(frameId, contentColor, contentOutlineColor){},185 /* unsupported */ pushNodeByPathToFrontend: /*nodeId */ function(path){},186 resolveNode: /*object */ function(nodeId, objectGroup){},187 getAttributes: /*attributes */ function(nodeId){},188 moveTo: /*nodeId */ function(nodeId, targetNodeId, insertBeforeNodeId){},189 },190 events: {191 documentUpdated: function() {},192 setChildNodes: function(parentId, nodes) {},193 attributeModified: function(nodeId, name, value) {},194 attributeRemoved: function(nodeId, name) {},195 /* unsupported */ inlineStyleInvalidated: function(nodeIds) {},196 characterDataModified: function(nodeId, characterData) {},197 childNodeCountUpdated: function(nodeId, childNodeCount) {},198 childNodeInserted: function(parentNodeId, previousNodeId, node) {},199 childNodeRemoved: function(parentNodeId, nodeId) {},200 }201};202/* unsupported */ 203chromeDebuggerRemote.CSS = {204 commands: {205 enable: function(){},206 disable: function(){},207 getMatchedStylesForNode: /*matchedCSSRules,pseudoElements,inherited */ function(nodeId, forcedPseudoClasses, includePseudo, includeInherited){},208 getInlineStylesForNode: /*inlineStyle,styleAttributes */ function(nodeId){},209 getComputedStyleForNode: /*computedStyle */ function(nodeId, forcedPseudoClasses){},210 getAllStyleSheets: /*headers */ function(){},211 getStyleSheet: /*styleSheet */ function(styleSheetId){},212 getStyleSheetText: /*text */ function(styleSheetId){},213 setStyleSheetText: function(styleSheetId, text){},214 setPropertyText: /*style */ function(styleId, propertyIndex, text, overwrite){},215 toggleProperty: /*style */ function(styleId, propertyIndex, disable){},216 setRuleSelector: /*rule */ function(ruleId, selector){},217 addRule: /*rule */ function(contextNodeId, selector){},218 getSupportedCSSProperties: /*cssProperties */ function(){},219 startSelectorProfiler: function(){},220 stopSelectorProfiler: /*profile */ function(){},221 },222 events: {223 mediaQueryResultChanged: function() {},224 }225};226chromeDebuggerRemote.Timeline = {227 commands: {228 start: function(maxCallStackDepth){},229 stop: function(){},230 },231 events: {232 eventRecorded: function(record) {},233 }234};235chromeDebuggerRemote.Debugger = {236 commands: {237 /* unsupported */ causesRecompilation: /*result */ function(){},238 /* unsupported */ supportsNativeBreakpoints: /*result */ function(){},239 enable: function(){},240 disable: function(){},241 setBreakpointsActive: function(active){},242 setBreakpointByUrl: /*breakpointId,locations */ function(lineNumber, url, urlRegex, columnNumber, condition){},243 setBreakpoint: /*breakpointId,actualLocation */ function(location, condition){},244 removeBreakpoint: function(breakpointId){},245 continueToLocation: function(location){},246 stepOver: function(){},247 stepInto: function(){},248 stepOut: function(){},249 pause: function(){},250 resume: function(){},251 searchInContent: /*result */ function(scriptId, query, caseSensitive, isRegex){},252 canSetScriptSource: /*result */ function(){},253 setScriptSource: /*callFrames,result */ function(scriptId, scriptSource, preview){},254 getScriptSource: /*scriptSource */ function(scriptId){},255 getFunctionLocation: /*location */ function(functionId){},256 setPauseOnExceptions: function(state){},257 evaluateOnCallFrame: /*result,wasThrown */ function(callFrameId, expression, objectGroup, includeCommandLineAPI, returnByValue){},258 },259 events: {260 globalObjectCleared: function() {},261 scriptParsed: function(scriptId, url, startLine, startColumn, endLine, endColumn, isContentScript, sourceMapURL) {},262 scriptFailedToParse: function(url, scriptSource, startLine, errorLine, errorMessage) {},263 breakpointResolved: function(breakpointId, location) {},264 paused: function(callFrames, reason, data) {},265 resumed: function() {},266 }267};268chromeDebuggerRemote.DOMDebugger = {269 commands: {270 setDOMBreakpoint: function(nodeId, type){},271 removeDOMBreakpoint: function(nodeId, type){},272 setEventListenerBreakpoint: function(eventName){},273 removeEventListenerBreakpoint: function(eventName){},274 setXHRBreakpoint: function(url){},275 removeXHRBreakpoint: function(url){},276 },277};278/* unsupported */ 279chromeDebuggerRemote.Profiler = {280 commands: {281 causesRecompilation: /*result */ function(){},282 isSampling: /*result */ function(){},283 hasHeapProfiler: /*result */ function(){},284 enable: function(){},285 disable: function(){},286 start: function(){},287 stop: function(){},288 getProfileHeaders: /*headers */ function(){},289 getProfile: /*profile */ function(type, uid){},290 removeProfile: function(type, uid){},291 clearProfiles: function(){},292 takeHeapSnapshot: function(){},293 collectGarbage: function(){},294 getObjectByHeapObjectId: /*result */ function(objectId){},295 },296 events: {297 addProfileHeader: function(header) {},298 addHeapSnapshotChunk: function(uid, chunk) {},299 finishHeapSnapshot: function(uid) {},300 setRecordingProfile: function(isProfiling) {},301 resetProfiles: function() {},302 reportHeapSnapshotProgress: function(done, total) {},303 }304};305/* unsupported */ 306chromeDebuggerRemote.Worker = {307 commands: {308 setWorkerInspectionEnabled: function(value){},309 sendMessageToWorker: function(workerId, message){},310 connectToWorker: function(workerId){},311 disconnectFromWorker: function(workerId){},312 setAutoconnectToWorkers: function(value){},313 },314 events: {315 workerCreated: function(workerId, url, inspectorConnected) {},316 workerTerminated: function(workerId) {},317 dispatchMessageFromWorker: function(workerId, message) {},318 disconnectedFromWorker: function() {},319 }320};321return chromeDebuggerRemote;322/* copyright 2011 Google, inc. johnjbarton@google.com Google BSD License */323/* See https://github.com/johnjbarton/atopwi/blob/master/tailFeathers.html */...
Using AI Code Generation
1module.exports = {2 {3 },4 {5 },6 {7 },8 {9 }10 {11 }12 paths: {13 },14 engineOptions: {15 },16};
Using AI Code Generation
1module.exports = {2 {3 },4 {5 },6 {7 },8 {9 }10 {11 }12 paths: {13 },14 engineOptions: {15 },16};
Using AI Code Generation
1module.exports = {2 {3 },4 {5 },6 {7 },8 {9 }10 {11 }12 paths: {13 },14 engineOptions: {15 },16};17const fs = require('fs');18const path = require('path');19module.exports = async (page, scenario) => {20 const cookies = [{21 }];22 await page.setCookie(...cookies);23 await page.goto(scenario.url, { waitUntil: 'networkidle2' });24 await page.setViewport({ width: 1366, height: 768 });25 await page.waitFor(500);26 await page.evaluate(() => {27 window.scrollBy(0, 100);
Using AI Code Generation
1module.exports = {2 {3 },4 {5 },6 {7 },8 {9 }10 {11 },12 {13 },14 {15 }16 paths: {
Using AI Code Generation
1module.exports = {2 {3 },4 {5 },6 {7 },8 {9 }10 {11 }12 "paths": {13 },14 "engineOptions": {15 },16}
Using AI Code Generation
1var backstop = require('child_process').spawn('backstopjs', ['test']);2backstop.stdout.on('data', function (data) {3 console.log('stdout: ' + data);4});5backstop.stderr.on('data', function (data) {6 console.log('stderr: ' + data);7});8backstop.on('close', function (code) {9 console.log('child process exited with code ' + code);10});
Using AI Code Generation
1module.exports = async (page, scenario) => {2 await require('./clickAndHoverHelper')(page, scenario);3};4 {5 },6];7module.exports = {8 engineOptions: {},
Using AI Code Generation
1var backstop = require('backstopjs');2var fs = require('fs-extra');3var path = require('path');4var config = require('./backstop.json');5var scenarioName = 'test3';6var scenario = {7};8config.scenarios = [scenario];9backstop('test', {config: config}).then(function (result) {10 console.log(result);11});12- [BackstopJS](
Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!