http://git-wip-us.apache.org/repos/asf/stratos/blob/c795440d/extensions/das/modules/artifacts/metering-dashboard/capps/stratos-metering-service/GadgetApplicationSignUps/Application_Signups/js/d3.min.js ---------------------------------------------------------------------- diff --git a/extensions/das/modules/artifacts/metering-dashboard/capps/stratos-metering-service/GadgetApplicationSignUps/Application_Signups/js/d3.min.js b/extensions/das/modules/artifacts/metering-dashboard/capps/stratos-metering-service/GadgetApplicationSignUps/Application_Signups/js/d3.min.js new file mode 100644 index 0000000..75e8662 --- /dev/null +++ b/extensions/das/modules/artifacts/metering-dashboard/capps/stratos-metering-service/GadgetApplicationSignUps/Application_Signups/js/d3.min.js @@ -0,0 +1,6332 @@ +/* + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + * + */ +!function () { + function n(n, t) { + return t > n ? -1 : n > t ? 1 : n >= t ? 0 : 0 / 0 + } + + function t(n) { + return null === n ? 0 / 0 : +n + } + + function e(n) { + return !isNaN(n) + } + + function r(n) { + return { + left: function (t, e, r, u) { + for (arguments.length < 3 && (r = 0), arguments.length < 4 && (u = t.length); u > r;) { + var i = r + u >>> 1; + n(t[i], e) < 0 ? r = i + 1 : u = i + } + return r + }, right: function (t, e, r, u) { + for (arguments.length < 3 && (r = 0), arguments.length < 4 && (u = t.length); u > r;) { + var i = r + u >>> 1; + n(t[i], e) > 0 ? u = i : r = i + 1 + } + return r + } + } + } + + function u(n) { + return n.length + } + + function i(n) { + for (var t = 1; n * t % 1;)t *= 10; + return t + } + + function o(n, t) { + for (var e in t)Object.defineProperty(n.prototype, e, {value: t[e], enumerable: !1}) + } + + function a() { + this._ = Object.create(null) + } + + function c(n) { + return (n += "") === da || n[0] === ma ? ma + n : n + } + + function l(n) { + return (n += "")[0] === ma ? n.slice(1) : n + } + + function s(n) { + return c(n) in this._ + } + + function f(n) { + return (n = c(n)) in this._ && delete this._[n] + } + + function h() { + var n = []; + for (var t in this._)n.push(l(t)); + return n + } + + function g() { + var n = 0; + for (var t in this._)++n; + return n + } + + function p() { + for (var n in this._)return !1; + return !0 + } + + function v() { + this._ = Object.create(null) + } + + function d(n, t, e) { + return function () { + var r = e.apply(t, arguments); + return r === t ? n : r + } + } + + function m(n, t) { + if (t in n)return t; + t = t.charAt(0).toUpperCase() + t.slice(1); + for (var e = 0, r = ya.length; r > e; ++e) { + var u = ya[e] + t; + if (u in n)return u + } + } + + function y() { + } + + function M() { + } + + function x(n) { + function t() { + for (var t, r = e, u = -1, i = r.length; ++u < i;)(t = r[u].on) && t.apply(this, arguments); + return n + } + + var e = [], r = new a; + return t.on = function (t, u) { + var i, o = r.get(t); + 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, {on: u})), n) + }, t + } + + function b() { + ta.event.preventDefault() + } + + function _() { + for (var n, t = ta.event; n = t.sourceEvent;)t = n; + return t + } + + function w(n) { + for (var t = new M, e = 0, r = arguments.length; ++e < r;)t[arguments[e]] = x(t); + return t.of = function (e, r) { + return function (u) { + try { + var i = u.sourceEvent = ta.event; + u.target = n, ta.event = u, t[u.type].apply(e, r) + } finally { + ta.event = i + } + } + }, t + } + + function S(n) { + return xa(n, ka), n + } + + function k(n) { + return "function" == typeof n ? n : function () { + return ba(n, this) + } + } + + function E(n) { + return "function" == typeof n ? n : function () { + return _a(n, this) + } + } + + function A(n, t) { + function e() { + this.removeAttribute(n) + } + + function r() { + this.removeAttributeNS(n.space, n.local) + } + + function u() { + this.setAttribute(n, t) + } + + function i() { + this.setAttributeNS(n.space, n.local, t) + } + + function o() { + var e = t.apply(this, arguments); + null == e ? this.removeAttribute(n) : this.setAttribute(n, e) + } + + function a() { + var e = t.apply(this, arguments); + null == e ? this.removeAttributeNS(n.space, n.local) : this.setAttributeNS(n.space, n.local, e) + } + + return n = ta.ns.qualify(n), null == t ? n.local ? r : e : "function" == typeof t ? n.local ? a : o : n.local ? i : u + } + + function N(n) { + return n.trim().replace(/\s+/g, " ") + } + + function C(n) { + return new RegExp("(?:^|\\s+)" + ta.requote(n) + "(?:\\s+|$)", "g") + } + + function z(n) { + return (n + "").trim().split(/^|\s+/) + } + + function q(n, t) { + function e() { + for (var e = -1; ++e < u;)n[e](this, t) + } + + function r() { + for (var e = -1, r = t.apply(this, arguments); ++e < u;)n[e](this, r) + } + + n = z(n).map(L); + var u = n.length; + return "function" == typeof t ? r : e + } + + function L(n) { + var t = C(n); + return function (e, r) { + if (u = e.classList)return r ? u.add(n) : u.remove(n); + var u = e.getAttribute("class") || ""; + r ? (t.lastIndex = 0, t.test(u) || e.setAttribute("class", N(u + " " + n))) : e.setAttribute("class", N(u.replace(t, " "))) + } + } + + function T(n, t, e) { + function r() { + this.style.removeProperty(n) + } + + function u() { + this.style.setProperty(n, t, e) + } + + function i() { + var r = t.apply(this, arguments); + null == r ? this.style.removeProperty(n) : this.style.setProperty(n, r, e) + } + + return null == t ? r : "function" == typeof t ? i : u + } + + function R(n, t) { + function e() { + delete this[n] + } + + function r() { + this[n] = t + } + + function u() { + var e = t.apply(this, arguments); + null == e ? delete this[n] : this[n] = e + } + + return null == t ? e : "function" == typeof t ? u : r + } + + function D(n) { + return "function" == typeof n ? n : (n = ta.ns.qualify(n)).local ? function () { + return this.ownerDocument.createElementNS(n.space, n.local) + } : function () { + return this.ownerDocument.createElementNS(this.namespaceURI, n) + } + } + + function P() { + var n = this.parentNode; + n && n.removeChild(this) + } + + function U(n) { + return {__data__: n} + } + + function j(n) { + return function () { + return Sa(this, n) + } + } + + function F(t) { + return arguments.length || (t = n), function (n, e) { + return n && e ? t(n.__data__, e.__data__) : !n - !e + } + } + + function H(n, t) { + for (var e = 0, r = n.length; r > e; e++)for (var u, i = n[e], o = 0, a = i.length; a > o; o++)(u = i[o]) && t(u, o, e); + return n + } + + function O(n) { + return xa(n, Aa), n + } + + function Y(n) { + var t, e; + return function (r, u, i) { + var o, a = n[i].update, c = a.length; + for (i != e && (e = i, t = 0), u >= t && (t = u + 1); !(o = a[t]) && ++t < c;); + return o + } + } + + function I(n, t, e) { + function r() { + var t = this[o]; + t && (this.removeEventListener(n, t, t.$), delete this[o]) + } + + function u() { + var u = c(t, ra(arguments)); + r.call(this), this.addEventListener(n, this[o] = u, u.$ = e), u._ = t + } + + function i() { + var t, e = new RegExp("^__on([^.]+)" + ta.requote(n) + "$"); + for (var r in this)if (t = r.match(e)) { + var u = this[r]; + this.removeEventListener(t[1], u, u.$), delete this[r] + } + } + + var o = "__on" + n, a = n.indexOf("."), c = Z; + a > 0 && (n = n.slice(0, a)); + var l = Ca.get(n); + return l && (n = l, c = V), a ? t ? u : r : t ? y : i + } + + function Z(n, t) { + return function (e) { + var r = ta.event; + ta.event = e, t[0] = this.__data__; + try { + n.apply(this, t) + } finally { + ta.event = r + } + } + } + + function V(n, t) { + var e = Z(n, t); + return function (n) { + var t = this, r = n.relatedTarget; + r && (r === t || 8 & r.compareDocumentPosition(t)) || e.call(t, n) + } + } + + function X() { + var n = ".dragsuppress-" + ++qa, t = "click" + n, e = ta.select(oa).on("touchmove" + n, b).on("dragstart" + n, b).on("selectstart" + n, b); + if (za) { + var r = ia.style, u = r[za]; + r[za] = "none" + } + return function (i) { + if (e.on(n, null), za && (r[za] = u), i) { + var o = function () { + e.on(t, null) + }; + e.on(t, function () { + b(), o() + }, !0), setTimeout(o, 0) + } + } + } + + function $(n, t) { + t.changedTouches && (t = t.changedTouches[0]); + var e = n.ownerSVGElement || n; + if (e.createSVGPoint) { + var r = e.createSVGPoint(); + if (0 > La && (oa.scrollX || oa.scrollY)) { + e = ta.select("body").append("svg").style({ + position: "absolute", + top: 0, + left: 0, + margin: 0, + padding: 0, + border: "none" + }, "important"); + var u = e[0][0].getScreenCTM(); + La = !(u.f || u.e), e.remove() + } + 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] + } + var i = n.getBoundingClientRect(); + return [t.clientX - i.left - n.clientLeft, t.clientY - i.top - n.clientTop] + } + + function B() { + return ta.event.changedTouches[0].identifier + } + + function W() { + return ta.event.target + } + + function J() { + return oa + } + + function G(n) { + return n > 0 ? 1 : 0 > n ? -1 : 0 + } + + function K(n, t, e) { + return (t[0] - n[0]) * (e[1] - n[1]) - (t[1] - n[1]) * (e[0] - n[0]) + } + + function Q(n) { + return n > 1 ? 0 : -1 > n ? Da : Math.acos(n) + } + + function nt(n) { + return n > 1 ? ja : -1 > n ? -ja : Math.asin(n) + } + + function tt(n) { + return ((n = Math.exp(n)) - 1 / n) / 2 + } + + function et(n) { + return ((n = Math.exp(n)) + 1 / n) / 2 + } + + function rt(n) { + return ((n = Math.exp(2 * n)) - 1) / (n + 1) + } + + function ut(n) { + return (n = Math.sin(n / 2)) * n + } + + function it() { + } + + function ot(n, t, e) { + 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) + } + + function at(n, t, e) { + function r(n) { + 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 : i + } + + function u(n) { + return Math.round(255 * r(n)) + } + + var i, o; + 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)) + } + + function ct(n, t, e) { + 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) + } + + function lt(n, t, e) { + return isNaN(n) && (n = 0), isNaN(t) && (t = 0), new st(e, Math.cos(n *= Fa) * t, Math.sin(n) * t) + } + + function st(n, t, e) { + 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) + } + + function ft(n, t, e) { + var r = (n + 16) / 116, u = r + t / 500, i = r - e / 200; + 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)) + } + + function ht(n, t, e) { + return n > 0 ? new ct(Math.atan2(e, t) * Ha, Math.sqrt(t * t + e * e), n) : new ct(0 / 0, 0 / 0, n) + } + + function gt(n) { + return n > .206893034 ? n * n * n : (n - 4 / 29) / 7.787037 + } + + function pt(n) { + return n > .008856 ? Math.pow(n, 1 / 3) : 7.787037 * n + 4 / 29 + } + + function vt(n) { + return Math.round(255 * (.00304 >= n ? 12.92 * n : 1.055 * Math.pow(n, 1 / 2.4) - .055)) + } + + function dt(n, t, e) { + 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) + } + + function mt(n) { + return new dt(n >> 16, 255 & n >> 8, 255 & n) + } + + function yt(n) { + return mt(n) + "" + } + + function Mt(n) { + return 16 > n ? "0" + Math.max(0, n).toString(16) : Math.min(255, n).toString(16) + } + + function xt(n, t, e) { + var r, u, i, o = 0, a = 0, c = 0; + if (r = /([a-z]+)\((.*)\)/i.exec(n))switch (u = r[2].split(","), r[1]) { + case"hsl": + return e(parseFloat(u[0]), parseFloat(u[1]) / 100, parseFloat(u[2]) / 100); + case"rgb": + return t(St(u[0]), St(u[1]), St(u[2])) + } + 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)) + } + + function bt(n, t, e) { + 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; + 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) + } + + function _t(n, t, e) { + n = wt(n), t = wt(t), e = wt(e); + 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); + return st(116 * u - 16, 500 * (r - u), 200 * (u - i)) + } + + function wt(n) { + return (n /= 255) <= .04045 ? n / 12.92 : Math.pow((n + .055) / 1.055, 2.4) + } + + function St(n) { + var t = parseFloat(n); + return "%" === n.charAt(n.length - 1) ? Math.round(2.55 * t) : t + } + + function kt(n) { + return "function" == typeof n ? n : function () { + return n + } + } + + function Et(n) { + return n + } + + function At(n) { + return function (t, e, r) { + return 2 === arguments.length && "function" == typeof e && (r = e, e = null), Nt(t, e, n, r) + } + } + + function Nt(n, t, e, r) { + function u() { + var n, t = c.status; + if (!t && zt(c) || t >= 200 && 300 > t || 304 === t) { + try { + n = e.call(i, c) + } catch (r) { + return o.error.call(i, r), void 0 + } + o.load.call(i, n) + } else o.error.call(i, c) + } + + var i = {}, o = ta.dispatch("beforesend", "progress", "load", "error"), a = {}, c = new XMLHttpRequest, l = null; + return !oa.XDomainRequest || "withCredentials" in c || !/^(http(s)?:)?\/\//.test(n) || (c = new XDomainRequest), "onload" in c ? c.onload = c.onerror = u : c.onreadystatechange = function () { + c.readyState > 3 && u() + }, c.onprogress = function (n) { + var t = ta.event; + ta.event = n; + try { + o.progress.call(i, c) + } finally { + ta.event = t + } + }, i.header = function (n, t) { + return n = (n + "").toLowerCase(), arguments.length < 2 ? a[n] : (null == t ? delete a[n] : a[n] = t + "", i) + }, i.mimeType = function (n) { + return arguments.length ? (t = null == n ? null : n + "", i) : t + }, i.responseType = function (n) { + return arguments.length ? (l = n, i) : l + }, i.response = function (n) { + return e = n, i + }, ["get", "post"].forEach(function (n) { + i[n] = function () { + return i.send.apply(i, [n].concat(ra(arguments))) + } + }), i.send = function (e, r, u) { + 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)for (var s in a)c.setRequestHeader(s, a[s]); + return null != t && c.overrideMimeType && c.overrideMimeType(t), null != l && (c.responseType = l), null != u && i.on("error", u).on("load", function (n) { + u(null, n) + }), o.beforesend.call(i, c), c.send(null == r ? null : r), i + }, i.abort = function () { + return c.abort(), i + }, ta.rebind(i, o, "on"), null == r ? i : i.get(Ct(r)) + } + + function Ct(n) { + return 1 === n.length ? function (t, e) { + n(null == t ? e : null) + } : n + } + + function zt(n) { + var t = n.responseType; + return t && "text" !== t ? n.response : n.responseText + } + + function qt() { + var n = Lt(), t = Tt() - n; + t > 24 ? (isFinite(t) && (clearTimeout(ic), ic = setTimeout(qt, t)), uc = 0) : (uc = 1, ac(qt)) + } + + function Lt() { + var n = Date.now(); + for (oc = ec; oc;)n >= oc.t && (oc.f = oc.c(n - oc.t)), oc = oc.n; + return n + } + + function Tt() { + for (var n, t = ec, e = 1 / 0; t;)t.f ? t = n ? n.n = t.n : ec = t.n : (t.t < e && (e = t.t), t = (n = t).n); + return rc = n, e + } + + function Rt(n, t) { + return t - (n ? Math.ceil(Math.log(n) / Math.LN10) : 1) + } + + function Dt(n, t) { + var e = Math.pow(10, 3 * va(8 - t)); + return { + scale: t > 8 ? function (n) { + return n / e + } : function (n) { + return n * e + }, symbol: n + } + } + + function Pt(n) { + var t = n.decimal, e = n.thousands, r = n.grouping, u = n.currency, i = r && e ? function (n, t) { + 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));)a = r[o = (o + 1) % r.length]; + return i.reverse().join(e) + } : Et; + return function (n) { + 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; + switch (h && (h = +h.substring(1)), (l || "0" === r && "=" === o) && (l = r = "0", o = "="), g) { + case"n": + f = !0, g = "g"; + break; + case"%": + p = 100, d = "%", g = "f"; + break; + case"p": + p = 100, d = "%", g = "r"; + break; + case"b": + case"o": + case"x": + case"X": + "#" === c && (v = "0" + g.toLowerCase()); + case"c": + y = !1; + case"d": + m = !0, h = 0; + break; + case"s": + p = -1, g = "r" + } + "$" === 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; + var M = l && f; + return function (n) { + var e = d; + if (m && n % 1)return ""; + var u = 0 > n || 0 === n && 0 > 1 / n ? (n = -n, "-") : "-" === a ? "" : a; + if (0 > p) { + var c = ta.formatPrefix(n, h); + n = c.scale(n), e = c.symbol + d + } else n *= p; + n = g(n, h); + var x, b, _ = n.lastIndexOf("."); + if (0 > _) { + var w = y ? n.lastIndexOf("e") : -1; + 0 > w ? (x = n, b = "") : (x = n.substring(0, w), b = n.substring(w)) + } else x = n.substring(0, _), b = t + n.substring(_ + 1); + !l && f && (x = i(x, 1 / 0)); + var S = v.length + x.length + b.length + (M ? 0 : u.length), k = s > S ? new Array(S = s - S + 1).join(r) : ""; + 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)) + e + } + } + } + + function Ut(n) { + return n + "" + } + + function jt() { + this._ = new Date(arguments.length > 1 ? Date.UTC.apply(this, arguments) : arguments[0]) + } + + function Ft(n, t, e) { + function r(t) { + var e = n(t), r = i(e, 1); + return r - t > t - e ? e : r + } + + function u(e) { + return t(e = n(new hc(e - 1)), 1), e + } + + function i(n, e) { + return t(n = new hc(+n), e), n + } + + function o(n, r, i) { + var o = u(n), a = []; + if (i > 1)for (; r > o;)e(o) % i || a.push(new Date(+o)), t(o, 1); else for (; r > o;)a.push(new Date(+o)), t(o, 1); + return a + } + + function a(n, t, e) { + try { + hc = jt; + var r = new jt; + return r._ = n, o(r, t, e) + } finally { + hc = Date + } + } + + n.floor = n, n.round = r, n.ceil = u, n.offset = i, n.range = o; + var c = n.utc = Ht(n); + return c.floor = c, c.round = Ht(r), c.ceil = Ht(u), c.offset = Ht(i), c.range = a, n + } + + function Ht(n) { + return function (t, e) { + try { + hc = jt; + var r = new jt; + return r._ = t, n(r, e)._ + } finally { + hc = Date + } + } + } + + function Ot(n) { + function t(n) { + function t(t) { + for (var e, u, i, o = [], a = -1, c = 0; ++a < r;)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); + return o.push(n.slice(c, a)), o.join("") + } + + var r = n.length; + return t.parse = function (t) { + var r = {y: 1900, m: 0, d: 1, H: 0, M: 0, S: 0, L: 0, Z: null}, u = e(r, n, t, 0); + if (u != t.length)return null; + "p" in r && (r.H = r.H % 12 + 12 * r.p); + var i = null != r.Z && hc !== jt, o = new (i ? jt : hc); + 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._ : o + }, t.toString = function () { + return n + }, t + } + + function e(n, t, e, r) { + for (var u, i, o, a = 0, c = t.length, l = e.length; c > a;) { + if (r >= l)return -1; + if (u = t.charCodeAt(a++), 37 === u) { + if (o = t.charAt(a++), i = C[o in pc ? t.charAt(a++) : o], !i || (r = i(n, e, r)) < 0)return -1 + } else if (u != e.charCodeAt(r++))return -1 + } + return r + } + + function r(n, t, e) { + _.lastIndex = 0; + var r = _.exec(t.slice(e)); + return r ? (n.w = w.get(r[0].toLowerCase()), e + r[0].length) : -1 + } + + function u(n, t, e) { + x.lastIndex = 0; + var r = x.exec(t.slice(e)); + return r ? (n.w = b.get(r[0].toLowerCase()), e + r[0].length) : -1 + } + + function i(n, t, e) { + E.lastIndex = 0; + var r = E.exec(t.slice(e)); + return r ? (n.m = A.get(r[0].toLowerCase()), e + r[0].length) : -1 + } + + function o(n, t, e) { + S.lastIndex = 0; + var r = S.exec(t.slice(e)); + return r ? (n.m = k.get(r[0].toLowerCase()), e + r[0].length) : -1 + } + + function a(n, t, r) { + return e(n, N.c.toString(), t, r) + } + + function c(n, t, r) { + return e(n, N.x.toString(), t, r) + } + + function l(n, t, r) { + return e(n, N.X.toString(), t, r) + } + + function s(n, t, e) { + var r = M.get(t.slice(e, e += 2).toLowerCase()); + return null == r ? -1 : (n.p = r, e) + } + + 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; + t.utc = function (n) { + function e(n) { + try { + hc = jt; + var t = new hc; + return t._ = n, r(t) + } finally { + hc = Date + } + } + + var r = t(n); + return e.parse = function (n) { + try { + hc = jt; + var t = r.parse(n); + return t && t._ + } finally { + hc = Date + } + }, e.toString = r.toString, e + }, t.multi = t.utc.multi = ae; + 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); + p.forEach(function (n, t) { + M.set(n.toLowerCase(), t) + }); + var N = { + a: function (n) { + return d[n.getDay()] + }, A: function (n) { + return v[n.getDay()] + }, b: function (n) { + return y[n.getMonth()] + }, B: function (n) { + return m[n.getMonth()] + }, c: t(f), d: function (n, t) { + return Yt(n.getDate(), t, 2) + }, e: function (n, t) { + return Yt(n.getDate(), t, 2) + }, H: function (n, t) { + return Yt(n.getHours(), t, 2) + }, I: function (n, t) { + return Yt(n.getHours() % 12 || 12, t, 2) + }, j: function (n, t) { + return Yt(1 + fc.dayOfYear(n), t, 3) + }, L: function (n, t) { + return Yt(n.getMilliseconds(), t, 3) + }, m: function (n, t) { + return Yt(n.getMonth() + 1, t, 2) + }, M: function (n, t) { + return Yt(n.getMinutes(), t, 2) + }, p: function (n) { + return p[+(n.getHours() >= 12)] + }, S: function (n, t) { + return Yt(n.getSeconds(), t, 2) + }, U: function (n, t) { + return Yt(fc.sundayOfYear(n), t, 2) + }, w: function (n) { + return n.getDay() + }, W: function (n, t) { + return Yt(fc.mondayOfYear(n), t, 2) + }, x: t(h), X: t(g), y: function (n, t) { + return Yt(n.getFullYear() % 100, t, 2) + }, Y: function (n, t) { + return Yt(n.getFullYear() % 1e4, t, 4) + }, Z: ie, "%": function () { + return "%" + } + }, C = { + a: r, + A: u, + b: i, + B: o, + c: a, + d: Qt, + e: Qt, + H: te, + I: te, + j: ne, + L: ue, + m: Kt, + M: ee, + p: s, + S: re, + U: Xt, + w: Vt, + W: $t, + x: c, + X: l, + y: Wt, + Y: Bt, + Z: Jt, + "%": oe + }; + return t + } + + function Yt(n, t, e) { + var r = 0 > n ? "-" : "", u = (r ? -n : n) + "", i = u.length; + return r + (e > i ? new Array(e - i + 1).join(t) + u : u) + } + + function It(n) { + return new RegExp("^(?:" + n.map(ta.requote).join("|") + ")", "i") + } + + function Zt(n) { + for (var t = new a, e = -1, r = n.length; ++e < r;)t.set(n[e].toLowerCase(), e); + return t + } + + function Vt(n, t, e) { + vc.lastIndex = 0; + var r = vc.exec(t.slice(e, e + 1)); + return r ? (n.w = +r[0], e + r[0].length) : -1 + } + + function Xt(n, t, e) { + vc.lastIndex = 0; + var r = vc.exec(t.slice(e)); + return r ? (n.U = +r[0], e + r[0].length) : -1 + } + + function $t(n, t, e) { + vc.lastIndex = 0; + var r = vc.exec(t.slice(e)); + return r ? (n.W = +r[0], e + r[0].length) : -1 + } + + function Bt(n, t, e) { + vc.lastIndex = 0; + var r = vc.exec(t.slice(e, e + 4)); + return r ? (n.y = +r[0], e + r[0].length) : -1 + } + + function Wt(n, t, e) { + vc.lastIndex = 0; + var r = vc.exec(t.slice(e, e + 2)); + return r ? (n.y = Gt(+r[0]), e + r[0].length) : -1 + } + + function Jt(n, t, e) { + return /^[+-]\d{4}$/.test(t = t.slice(e, e + 5)) ? (n.Z = -t, e + 5) : -1 + } + + function Gt(n) { + return n + (n > 68 ? 1900 : 2e3) + } + + function Kt(n, t, e) { + vc.lastIndex = 0; + var r = vc.exec(t.slice(e, e + 2)); + return r ? (n.m = r[0] - 1, e + r[0].length) : -1 + } + + function Qt(n, t, e) { + vc.lastIndex = 0; + var r = vc.exec(t.slice(e, e + 2)); + return r ? (n.d = +r[0], e + r[0].length) : -1 + } + + function ne(n, t, e) { + vc.lastIndex = 0; + var r = vc.exec(t.slice(e, e + 3)); + return r ? (n.j = +r[0], e + r[0].length) : -1 + } + + function te(n, t, e) { + vc.lastIndex = 0; + var r = vc.exec(t.slice(e, e + 2)); + return r ? (n.H = +r[0], e + r[0].length) : -1 + } + + function ee(n, t, e) { + vc.lastIndex = 0; + var r = vc.exec(t.slice(e, e + 2)); + return r ? (n.M = +r[0], e + r[0].length) : -1 + } + + function re(n, t, e) { + vc.lastIndex = 0; + var r = vc.exec(t.slice(e, e + 2)); + return r ? (n.S = +r[0], e + r[0].length) : -1 + } + + function ue(n, t, e) { + vc.lastIndex = 0; + var r = vc.exec(t.slice(e, e + 3)); + return r ? (n.L = +r[0], e + r[0].length) : -1 + } + + function ie(n) { + var t = n.getTimezoneOffset(), e = t > 0 ? "-" : "+", r = 0 | va(t) / 60, u = va(t) % 60; + return e + Yt(r, "0", 2) + Yt(u, "0", 2) + } + + function oe(n, t, e) { + dc.lastIndex = 0; + var r = dc.exec(t.slice(e, e + 1)); + return r ? e + r[0].length : -1 + } + + function ae(n) { + for (var t = n.length, e = -1; ++e < t;)n[e][0] = this(n[e][0]); + return function (t) { + for (var e = 0, r = n[e]; !r[1](t);)r = n[++e]; + return r[0](t) + } + } + + function ce() { + } + + function le(n, t, e) { + var r = e.s = n + t, u = r - n, i = r - u; + e.t = n - i + (t - u) + } + + function se(n, t) { + n && xc.hasOwnProperty(n.type) && xc[n.type](n, t) + } + + function fe(n, t, e) { + var r, u = -1, i = n.length - e; + for (t.lineStart(); ++u < i;)r = n[u], t.point(r[0], r[1], r[2]); + t.lineEnd() + } + + function he(n, t) { + var e = -1, r = n.length; + for (t.polygonStart(); ++e < r;)fe(n[e], t, 1); + t.polygonEnd() + } + + function ge() { + function n(n, t) { + n *= Fa, t = t * Fa / 2 + Da / 4; + 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); + _c.add(Math.atan2(h, f)), r = n, u = c, i = l + } + + var t, e, r, u, i; + wc.point = function (o, a) { + wc.point = n, r = (t = o) * Fa, u = Math.cos(a = (e = a) * Fa / 2 + Da / 4), i = Math.sin(a) + }, wc.lineEnd = function () { + n(t, e) + } + } + + function pe(n) { + var t = n[0], e = n[1], r = Math.cos(e); + return [r * Math.cos(t), r * Math.sin(t), Math.sin(e)] + } + + function ve(n, t) { + return n[0] * t[0] + n[1] * t[1] + n[2] * t[2] + } + + function de(n, t) { + 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]] + } + + function me(n, t) { + n[0] += t[0], n[1] += t[1], n[2] += t[2] + } + + function ye(n, t) { + return [n[0] * t, n[1] * t, n[2] * t] + } + + function Me(n) { + var t = Math.sqrt(n[0] * n[0] + n[1] * n[1] + n[2] * n[2]); + n[0] /= t, n[1] /= t, n[2] /= t + } + + function xe(n) { + return [Math.atan2(n[1], n[0]), nt(n[2])] + } + + function be(n, t) { + return va(n[0] - t[0]) < Ta && va(n[1] - t[1]) < Ta + } + + function _e(n, t) { + n *= Fa; + var e = Math.cos(t *= Fa); + we(e * Math.cos(n), e * Math.sin(n), Math.sin(t)) + } + + function we(n, t, e) { + ++Sc, Ec += (n - Ec) / Sc, Ac += (t - Ac) / Sc, Nc += (e - Nc) / Sc + } + + function Se() { + function n(n, u) { + n *= Fa; + 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); + kc += l, Cc += l * (t + (t = o)), zc += l * (e + (e = a)), qc += l * (r + (r = c)), we(t, e, r) + } + + var t, e, r; + Dc.point = function (u, i) { + u *= Fa; + var o = Math.cos(i *= Fa); + t = o * Math.cos(u), e = o * Math.sin(u), r = Math.sin(i), Dc.point = n, we(t, e, r) + } + } + + function ke() { + Dc.point = _e + } + + function Ee() { + function n(n, t) { + n *= Fa; + 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); + 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) + } + + var t, e, r, u, i; + Dc.point = function (o, a) { + t = o, e = a, Dc.point = n, o *= Fa; + var c = Math.cos(a *= Fa); + r = c * Math.cos(o), u = c * Math.sin(o), i = Math.sin(a), we(r, u, i) + }, Dc.lineEnd = function () { + n(t, e), Dc.lineEnd = ke, Dc.point = _e + } + } + + function Ae(n, t) { + function e(e, r) { + return e = n(e, r), t(e[0], e[1]) + } + + return n.invert && t.invert && (e.invert = function (e, r) { + return e = t.invert(e, r), e && n.invert(e[0], e[1]) + }), e + } + + function Ne() { + return !0 + } + + function Ce(n, t, e, r, u) { + var i = [], o = []; + if (n.forEach(function (n) { + if (!((t = n.length - 1) <= 0)) { + var t, e = n[0], r = n[t]; + if (be(e, r)) { + u.lineStart(); + for (var a = 0; t > a; ++a)u.point((e = n[a])[0], e[1]); + return u.lineEnd(), void 0 + } + var c = new qe(e, n, null, !0), l = new qe(e, null, c, !1); + 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) + } + }), o.sort(t), ze(i), ze(o), i.length) { + for (var a = 0, c = e, l = o.length; l > a; ++a)o[a].e = c = !c; + for (var s, f, h = i[0]; ;) { + for (var g = h, p = !0; g.v;)if ((g = g.n) === h)return; + s = g.z, u.lineStart(); + do { + if (g.v = g.o.v = !0, g.e) { + if (p)for (var a = 0, l = s.length; l > a; ++a)u.point((f = s[a])[0], f[1]); else r(g.x, g.n.x, 1, u); + g = g.n + } else { + if (p) { + s = g.p.z; + for (var a = s.length - 1; a >= 0; --a)u.point((f = s[a])[0], f[1]) + } else r(g.x, g.p.x, -1, u); + g = g.p + } + g = g.o, s = g.z, p = !p + } while (!g.v); + u.lineEnd() + } + } + } + + function ze(n) { + if (t = n.length) { + for (var t, e, r = 0, u = n[0]; ++r < t;)u.n = e = n[r], e.p = u, u = e; + u.n = e = n[0], e.p = u + } + } + + function qe(n, t, e, r) { + this.x = n, this.z = t, this.o = e, this.e = r, this.v = !1, this.n = this.p = null + } + + function Le(n, t, e, r) { + return function (u, i) { + function o(t, e) { + var r = u(t, e); + n(t = r[0], e = r[1]) && i.point(t, e) + } + + function a(n, t) { + var e = u(n, t); + d.point(e[0], e[1]) + } + + function c() { + y.point = a, d.lineStart() + } + + function l() { + y.point = o, d.lineEnd() + } + + function s(n, t) { + v.push([n, t]); + var e = u(n, t); + x.point(e[0], e[1]) + } + + function f() { + x.lineStart(), v = [] + } + + function h() { + s(v[0][0], v[0][1]), x.lineEnd(); + var n, t = x.clean(), e = M.buffer(), r = e.length; + if (v.pop(), p.push(v), v = null, r)if (1 & t) { + n = e[0]; + var u, r = n.length - 1, o = -1; + if (r > 0) { + for (b || (i.polygonStart(), b = !0), i.lineStart(); ++o < r;)i.point((u = n[o])[0], u[1]); + i.lineEnd() + } + } else r > 1 && 2 & t && e.push(e.pop().concat(e.shift())), g.push(e.filter(Te)) + } + + var g, p, v, d = t(i), m = u.invert(r[0], r[1]), y = { + point: o, + lineStart: c, + lineEnd: l, + polygonStart: function () { + y.point = s, y.lineStart = f, y.lineEnd = h, g = [], p = [] + }, + polygonEnd: function () { + y.point = o, y.lineStart = c, y.lineEnd = l, g = ta.merge(g); + var n = Fe(m, p); + 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 = null + }, + sphere: function () { + i.polygonStart(), i.lineStart(), e(null, null, 1, i), i.lineEnd(), i.polygonEnd() + } + }, M = Re(), x = t(M), b = !1; + return y + } + } + + function Te(n) { + return n.length > 1 + } + + function Re() { + var n, t = []; + return { + lineStart: function () { + t.push(n = []) + }, point: function (t, e) { + n.push([t, e]) + }, lineEnd: y, buffer: function () { + var e = t; + return t = [], n = null, e + }, rejoin: function () { + t.length > 1 && t.push(t.pop().concat(t.shift())) + } + } + } + + function De(n, t) { + 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]) + } + + function Pe(n) { + var t, e = 0 / 0, r = 0 / 0, u = 0 / 0; + return { + lineStart: function () { + n.lineStart(), t = 1 + }, point: function (i, o) { + var a = i > 0 ? Da : -Da, c = va(i - e); + 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 = a + }, lineEnd: function () { + n.lineEnd(), e = r = 0 / 0 + }, clean: function () { + return 2 - t + } + } + } + + function Ue(n, t, e, r) { + var u, i, o = Math.sin(n - e); + 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) / 2 + } + + function je(n, t, e, r) { + var u; + if (null == n)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); else if (va(n[0] - t[0]) > Ta) { + var i = n[0] < t[0] ? Da : -Da; + u = e * i / 2, r.point(-i, u), r.point(0, u), r.point(i, u) + } else r.point(t[0], t[1]) + } + + function Fe(n, t) { + var e = n[0], r = n[1], u = [Math.sin(e), -Math.cos(e), 0], i = 0, o = 0; + _c.reset(); + for (var a = 0, c = t.length; c > a; ++a) { + var l = t[a], s = l.length; + if (s)for (var f = l[0], h = f[0], g = f[1] / 2 + Da / 4, p = Math.sin(g), v = Math.cos(g), d = 1; ;) { + d === s && (d = 0), n = l[d]; + 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; + 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) { + var E = de(pe(f), pe(n)); + Me(E); + var A = de(u, E); + Me(A); + var N = (S ^ b >= 0 ? -1 : 1) * nt(A[2]); + (r > N || r === N && (E[0] || E[1])) && (o += S ^ b >= 0 ? 1 : -1) + } + if (!d++)break; + h = m, p = M, v = x, f = n + } + } + return (-Ta > i || Ta > i && 0 > _c) ^ 1 & o + } + + function He(n) { + function t(n, t) { + return Math.cos(n) * Math.cos(t) > i + } + + function e(n) { + var e, i, c, l, s; + return { + lineStart: function () { + l = c = !1, s = 1 + }, point: function (f, h) { + 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; + 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)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; else if (a && e && o ^ v) { + var m; + 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]))) + } + !v || e && be(e, p) || n.point(p[0], p[1]), e = p, c = v, i = d + }, lineEnd: function () { + c && n.lineEnd(), e = null + }, clean: function () { + return s | (l && c) << 1 + } + } + } + + function r(n, t, e) { + 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; + if (!s)return !e && n; + var f = i * c / s, h = -i * l / s, g = de(o, a), p = ye(o, f), v = ye(a, h); + me(p, v); + var d = g, m = ve(p, d), y = ve(d, d), M = m * m - y * (ve(p, p) - 1); + if (!(0 > M)) { + var x = Math.sqrt(M), b = ye(d, (-m - x) / y); + if (me(b, p), b = xe(b), !e)return b; + var _, w = n[0], S = t[0], k = n[1], E = t[1]; + w > S && (_ = w, w = S, S = _); + var A = S - w, N = va(A - Da) < Ta, C = N || Ta > A; + 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)) { + var z = ye(d, (-m + x) / y); + return me(z, p), [b, xe(z)] + } + } + } + + function u(t, e) { + var r = o ? n : Da - n, u = 0; + return -r > t ? u |= 1 : t > r && (u |= 2), -r > e ? u |= 4 : e > r && (u |= 8), u + } + + var i = Math.cos(n), o = i > 0, a = va(i) > Ta, c = gr(n, 6 * Fa); + return Le(t, e, c, o ? [0, -n] : [-Da, n - Da]) + } + + function Oe(n, t, e, r) { + return function (u) { + 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; + if (i = n - c, p || !(i > 0)) { + if (i /= p, 0 > p) { + if (h > i)return; + g > i && (g = i) + } else if (p > 0) { + if (i > g)return; + i > h && (h = i) + } + if (i = e - c, p || !(0 > i)) { + if (i /= p, 0 > p) { + if (i > g)return; + i > h && (h = i) + } else if (p > 0) { + if (h > i)return; + g > i && (g = i) + } + if (i = t - l, v || !(i > 0)) { + if (i /= v, 0 > v) { + if (h > i)return; + g > i && (g = i) + } else if (v > 0) { + if (i > g)return; + i > h && (h = i) + } + if (i = r - l, v || !(0 > i)) { + if (i /= v, 0 > v) { + if (i > g)return; + i > h && (h = i) + } else if (v > 0) { + if (h > i)return; + g > i && (g = i) + } + return h > 0 && (u.a = {x: c + h * p, y: l + h * v}), 1 > g && (u.b = { + x: c + g * p, + y: l + g * v + }), u + } + } + } + } + } + } + + function Ye(n, t, e, r) { + function u(r, u) { + 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 : 2 + } + + function i(n, t) { + return o(n.x, t.x) + } + + function o(n, t) { + var e = u(n, 1), r = u(t, 1); + 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] + } + + return function (a) { + function c(n) { + for (var t = 0, e = d.length, r = n[1], u = 0; e > u; ++u)for (var i, o = 1, a = d[u], c = a.length, l = a[0]; c > o; ++o)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; + return 0 !== t + } + + function l(i, a, c, l) { + var s = 0, f = 0; + if (null == i || (s = u(i, c)) !== (f = u(a, c)) || o(i, a) < 0 ^ c > 0) { + do l.point(0 === s || 3 === s ? n : e, s > 1 ? r : t); while ((s = (s + c + 4) % 4) !== f) + } else l.point(a[0], a[1]) + } + + function s(u, i) { + return u >= n && e >= u && i >= t && r >= i + } + + function f(n, t) { + s(n, t) && a.point(n, t) + } + + function h() { + C.point = p, d && d.push(m = []), S = !0, w = !1, b = _ = 0 / 0 + } + + function g() { + v && (p(y, M), x && w && A.rejoin(), v.push(A.buffer())), C.point = f, w && a.lineEnd() + } + + function p(n, t) { + n = Math.max(-Uc, Math.min(Uc, n)), t = Math.max(-Uc, Math.min(Uc, t)); + var e = s(n, t); + if (d && m.push([n, t]), S)y = n, M = t, x = e, S = !1, e && (a.lineStart(), a.point(n, t)); else if (e && w)a.point(n, t); else { + var r = {a: {x: b, y: _}, b: {x: n, y: t}}; + 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) + } + b = n, _ = t, w = e + } + + var v, d, m, y, M, x, b, _, w, S, k, E = a, A = Re(), N = Oe(n, t, e, r), C = { + point: f, + lineStart: h, + lineEnd: g, + polygonStart: function () { + a = A, v = [], d = [], k = !0 + }, + polygonEnd: function () { + a = E, v = ta.merge(v); + var t = c([n, r]), e = k && t, u = v.length; + (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 = null + } + }; + return C + } + } + + function Ie(n) { + var t = 0, e = Da / 3, r = ir(n), u = r(t, e); + return u.parallels = function (n) { + return arguments.length ? r(t = n[0] * Da / 180, e = n[1] * Da / 180) : [180 * (t / Da), 180 * (e / Da)] + }, u + } + + function Ze(n, t) { + function e(n, t) { + var e = Math.sqrt(i - 2 * u * Math.sin(t)) / u; + return [e * Math.sin(n *= u), o - e * Math.cos(n)] + } + + var r = Math.sin(n), u = (r + Math.sin(t)) / 2, i = 1 + r * (2 * u - r), o = Math.sqrt(i) / u; + return e.invert = function (n, t) { + var e = o - t; + return [Math.atan2(n, e) / u, nt((i - (n * n + e * e) * u * u) / (2 * u))] + }, e + } + + function Ve() { + function n(n, t) { + Fc += u * n - r * t, r = n, u = t + } + + var t, e, r, u; + Zc.point = function (i, o) { + Zc.point = n, t = r = i, e = u = o + }, Zc.lineEnd = function () { + n(t, e) + } + } + + function Xe(n, t) { + Hc > n && (Hc = n), n > Yc && (Yc = n), Oc > t && (Oc = t), t > Ic && (Ic = t) + } + + function $e() { + function n(n, t) { + o.push("M", n, ",", t, i) + } + + function t(n, t) { + o.push("M", n, ",", t), a.point = e + } + + function e(n, t) { + o.push("L", n, ",", t) + } + + function r() { + a.point = n + } + + function u() { + o.push("Z") + } + + var i = Be(4.5), o = [], a = { + point: n, lineStart: function () { + a.point = t + }, lineEnd: r, polygonStart: function () { + a.lineEnd = u + }, polygonEnd: function () { + a.lineEnd = r, a.point = n + }, pointRadius: function (n) { + return i = Be(n), a + }, result: function () { + if (o.length) { + var n = o.join(""); + return o = [], n + } + } + }; + return a + } + + function Be(n) { + return "m0," + n + "a" + n + "," + n + " 0 1,1 0," + -2 * n + "a" + n + "," + n + " 0 1,1 0," + 2 * n + "z" + } + + function We(n, t) { + Ec += n, Ac += t, ++Nc + } + + function Je() { + function n(n, r) { + var u = n - t, i = r - e, o = Math.sqrt(u * u + i * i); + Cc += o * (t + n) / 2, zc += o * (e + r) / 2, qc += o, We(t = n, e = r) + } + + var t, e; + Xc.point = function (r, u) { + Xc.point = n, We(t = r, e = u) + } + } + + function Ge() { + Xc.point = We + } + + function Ke() { + function n(n, t) { + var e = n - r, i = t - u, o = Math.sqrt(e * e + i * i); + 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) + } + + var t, e, r, u; + Xc.point = function (i, o) { + Xc.point = n, We(t = r = i, e = u = o) + }, Xc.lineEnd = function () { + n(t, e) + } + } + + function Qe(n) { + function t(t, e) { + n.moveTo(t + o, e), n.arc(t, e, o, 0, Pa) + } + + function e(t, e) { + n.moveTo(t, e), a.point = r + } + + function r(t, e) { + n.lineTo(t, e) + } + + function u() { + a.point = t + } + + function i() { + n.closePath() + } + + var o = 4.5, a = { + point: t, lineStart: function () { + a.point = e + }, lineEnd: u, polygonStart: function () { + a.lineEnd = i + }, polygonEnd: function () { + a.lineEnd = u, a.point = t + }, pointRadius: function (n) { + return o = n, a + }, result: y + }; + return a + } + + function nr(n) { + function t(n) { + return (a ? r : e)(n) + } + + function e(t) { + return rr(t, function (e, r) { + e = n(e, r), t.point(e[0], e[1]) + }) + } + + function r(t) { + function e(e, r) { + e = n(e, r), t.point(e[0], e[1]) + } + + function r() { + M = 0 / 0, S.point = i, t.lineStart() + } + + function i(e, r) { + var i = pe([e, r]), o = n(e, r); + 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) + } + + function o() { + S.point = e, t.lineEnd() + } + + function c() { + r(), S.point = l, S.lineEnd = s + } + + function l(n, t) { + i(f = n, h = t), g = M, p = x, v = b, d = _, m = w, S.point = i + } + + function s() { + u(M, x, y, b, _, w, g, p, f, v, d, m, a, t), S.lineEnd = o, o() + } + + var f, h, g, p, v, d, m, y, M, x, b, _, w, S = { + point: e, + lineStart: r, + lineEnd: o, + polygonStart: function () { + t.polygonStart(), S.lineStart = c + }, + polygonEnd: function () { + t.polygonEnd(), S.lineStart = r + } + }; + return S + } + + function u(t, e, r, a, c, l, s, f, h, g, p, v, d, m) { + var y = s - t, M = f - e, x = y * y + M * M; + if (x > 4 * i && d--) { + 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; + (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)) + } + } + + var i = .5, o = Math.cos(30 * Fa), a = 16; + return t.precision = function (n) { + return arguments.length ? (a = (i = n * n) > 0 && 16, t) : Math.sqrt(i) + }, t + } + + function tr(n) { + var t = nr(function (t, e) { + return n([t * Ha, e * Ha]) + }); + return function (n) { + return or(t(n)) + } + } + + function er(n) { + this.stream = n + } + + function rr(n, t) { + return { + point: t, sphere: function () { + n.sphere() + }, lineStart: function () { + n.lineStart() + }, lineEnd: function () { + n.lineEnd() + }, polygonStart: function () { + n.polygonStart() + }, polygonEnd: function () { + n.polygonEnd() + } + } + } + + function ur(n) { + return ir(function () { + return n + })() + } + + function ir(n) { + function t(n) { + return n = a(n[0] * Fa, n[1] * Fa), [n[0] * h + c, l - n[1] * h] + } + + function e(n) { + return n = a.invert((n[0] - c) / h, (l - n[1]) / h), n && [n[0] * Ha, n[1] * Ha] + } + + function r() { + a = Ae(o = lr(m, y, M), i); + var n = i(v, d); + return c = g - n[0] * h, l = p + n[1] * h, u() + } + + function u() { + return s && (s.valid = !1, s = null), t + } + + var i, o, a, c, l, s, f = nr(function (n, t) { + return n = i(n, t), [n[0] * h + c, l - n[1] * h] + }), h = 150, g = 480, p = 250, v = 0, d = 0, m = 0, y = 0, M = 0, x = Pc, b = Et, _ = null, w = null; + return t.stream = function (n) { + return s && (s.valid = !1), s = or(x(o, f(b(n)))), s.valid = !0, s + }, t.clipAngle = function (n) { + return arguments.length ? (x = null == n ? (_ = n, Pc) : He((_ = +n) * Fa), u()) : _ + }, t.clipExtent = function (n) { + return arguments.length ? (w = n, b = n ? Ye(n[0][0], n[0][1], n[1][0], n[1][1]) : Et, u()) : w + }, t.scale = function (n) { + return arguments.length ? (h = +n, r()) : h + }, t.translate = function (n) { + return arguments.length ? (g = +n[0], p = +n[1], r()) : [g, p] + }, t.center = function (n) { + return arguments.length ? (v = n[0] % 360 * Fa, d = n[1] % 360 * Fa, r()) : [v * Ha, d * Ha] + }, t.rotate = function (n) { + 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] + }, ta.rebind(t, f, "precision"), function () { + return i = n.apply(this, arguments), t.invert = i.invert && e, r() + } + } + + function or(n) { + return rr(n, function (t, e) { + n.point(t * Fa, e * Fa) + }) + } + + function ar(n, t) { + return [n, t] + } + + function cr(n, t) { + return [n > Da ? n - Pa : -Da > n ? n + Pa : n, t] + } + + function lr(n, t, e) { + return n ? t || e ? Ae(fr(n), hr(t, e)) : fr(n) : t || e ? hr(t, e) : cr + } + + function sr(n) { + return function (t, e) { + return t += n, [t > Da ? t - Pa : -Da > t ? t + Pa : t, e] + } + } + + function fr(n) { + var t = sr(n); + return t.invert = sr(-n), t + } + + function hr(n, t) { + function e(n, t) { + var e = Math.cos(t), a = Math.cos(n) * e, c = Math.sin(n) * e, l = Math.sin(t), s = l * r + a * u; + return [Math.atan2(c * i - s * o, a * r - l * u), nt(s * i + c * o)] + } + + var r = Math.cos(n), u = Math.sin(n), i = Math.cos(t), o = Math.sin(t); + return e.invert = function (n, t) { + var e = Math.cos(t), a = Math.cos(n) * e, c = Math.sin(n) * e, l = Math.sin(t), s = l * i - c * o; + return [Math.atan2(c * i + l * o, a * r + s * u), nt(s * r - a * u)] + }, e + } + + function gr(n, t) { + var e = Math.cos(n), r = Math.sin(n); + return function (u, i, o, a) { + var c = o * t; + 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); + for (var l, s = u; o > 0 ? s > i : i > s; s -= c)a.point((l = xe([e, -r * Math.cos(s), -r * Math.sin(s)]))[0], l[1]) + } + } + + function pr(n, t) { + var e = pe(t); + e[0] -= n, Me(e); + var r = Q(-e[1]); + return ((-e[2] < 0 ? -r : r) + 2 * Math.PI - Ta) % (2 * Math.PI) + } + + function vr(n, t, e) { + var r = ta.range(n, t - Ta, e).concat(t); + return function (n) { + return r.map(function (t) { + return [n, t] + }) + } + } + + function dr(n, t, e) { + var r = ta.range(n, t - Ta, e).concat(t); + return function (n) { + return r.map(function (t) { + return [t, n] + }) + } + } + + function mr(n) { + return n.source + } + + function yr(n) { + return n.target + } + + function Mr(n, t, e, r) { + 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) { + 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; + return [Math.atan2(u, r) * Ha, Math.atan2(o, Math.sqrt(r * r + u * u)) * Ha] + } : function () { + return [n * Ha, t * Ha] + }; + return p.distance = h, p + } + + function xr() { + function n(n, u) { + var i = Math.sin(u *= Fa), o = Math.cos(u), a = va((n *= Fa) - t), c = Math.cos(a); + $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 = o + } + + var t, e, r; + Bc.point = function (u, i) { + t = u * Fa, e = Math.sin(i *= Fa), r = Math.cos(i), Bc.point = n + }, Bc.lineEnd = function () { + Bc.point = Bc.lineEnd = y + } + } + + function br(n, t) { + function e(t, e) { + var r = Math.cos(t), u = Math.cos(e), i = n(r * u); + return [i * u * Math.sin(t), i * Math.sin(e)] + } + + return e.invert = function (n, e) { + var r = Math.sqrt(n * n + e * e), u = t(r), i = Math.sin(u), o = Math.cos(u); + return [Math.atan2(n * i, r * o), Math.asin(r && e * i / r)] + }, e + } + + function _r(n, t) { + function e(n, t) { + o > 0 ? -ja + Ta > t && (t = -ja + Ta) : t > ja - Ta && (t = ja - Ta); + var e = o / Math.pow(u(t), i); + return [e * Math.sin(i * n), o - e * Math.cos(i * n)] + } + + var r = Math.cos(n), u = function (n) { + return Math.tan(Da / 4 + n / 2) + }, 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; + return i ? (e.invert = function (n, t) { + var e = o - t, r = G(i) * Math.sqrt(n * n + e * e); + return [Math.atan2(n, e) / i, 2 * Math.atan(Math.pow(o / r, 1 / i)) - ja] + }, e) : Sr + } + + function wr(n, t) { + function e(n, t) { + var e = i - t; + return [e * Math.sin(u * n), i - e * Math.cos(u * n)] + } + + var r = Math.cos(n), u = n === t ? Math.sin(n) : (r - Math.cos(t)) / (t - n), i = r / u + n; + return va(u) < Ta ? ar : (e.invert = function (n, t) { + var e = i - t; + return [Math.atan2(n, e) / u, i - G(u) * Math.sqrt(n * n + e * e)] + }, e) + } + + function Sr(n, t) { + return [n, Math.log(Math.tan(Da / 4 + t / 2))] + } + + function kr(n) { + var t, e = ur(n), r = e.scale, u = e.translate, i = e.clipExtent; + return e.scale = function () { + var n = r.apply(e, arguments); + return n === e ? t ? e.clipExtent(null) : e : n + }, e.translate = function () { + var n = u.apply(e, arguments); + return n === e ? t ? e.clipExtent(null) : e : n + }, e.clipExtent = function (n) { + var o = i.apply(e, arguments); + if (o === e) { + if (t = null == n) { + var a = Da * r(), c = u(); + i([[c[0] - a, c[1] - a], [c[0] + a, c[1] + a]]) + } + } else t && (o = null); + return o + }, e.clipExtent(null) + } + + function Er(n, t) { + return [Math.log(Math.tan(Da / 4 + t / 2)), -n] + } + + function Ar(n) { + return n[0] + } + + function Nr(n) { + return n[1] + } + + function Cr(n) { + for (var t = n.length, e = [0, 1], r = 2, u = 2; t > u; u++) { + for (; r > 1 && K(n[e[r - 2]], n[e[r - 1]], n[u]) <= 0;)--r; + e[r++] = u + } + return e.slice(0, r) + } + + function zr(n, t) { + return n[0] - t[0] || n[1] - t[1] + } + + function qr(n, t, e) { + return (e[0] - t[0]) * (n[1] - t[1]) < (e[1] - t[1]) * (n[0] - t[0]) + } + + function Lr(n, t, e, r) { + 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); + return [u + h * o, c + h * s] + } + + function Tr(n) { + var t = n[0], e = n[n.length - 1]; + return !(t[0] - e[0] || t[1] - e[1]) + } + + function Rr() { + tu(this), this.edge = this.site = this.circle = null + } + + function Dr(n) { + var t = ol.pop() || new Rr; + return t.site = n, t + } + + function Pr(n) { + Xr(n), rl.remove(n), ol.push(n), tu(n) + } + + function Ur(n) { + var t = n.circle, e = t.x, r = t.cy, u = {x: e, y: r}, i = n.P, o = n.N, a = [n]; + Pr(n); + for (var c = i; c.circle && va(e - c.circle.x) < Ta && va(r - c.circle.cy) < Ta;)i = c.P, a.unshift(c), Pr(c), c = i; + a.unshift(c), Xr(c); + for (var l = o; l.circle && va(e - l.circle.x) < Ta && va(r - l.circle.cy) < Ta;)o = l.N, a.push(l), Pr(l), l = o; + a.push(l), Xr(l); + var s, f = a.length; + for (s = 1; f > s; ++s)l = a[s], c = a[s - 1], Kr(l.edge, c.site, l.site, u); + c = a[0], l = a[f - 1], l.edge = Jr(c.site, l.site, null, u), Vr(c), Vr(l) + } + + function jr(n) { + for (var t, e, r, u, i = n.x, o = n.y, a = rl._; a;)if (r = Fr(a, o) - i, r > Ta)a = a.L; else { + if (u = i - Hr(a, o), !(u > Ta)) { + r > -Ta ? (t = a.P, e = a) : u > -Ta ? (t = a, e = a.N) : t = e = a; + break + } + if (!a.R) { + t = a; + break + } + a = a.R + } + var c = Dr(n); + if (rl.insert(t, c), t || e) { + if (t === e)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; + if (!e)return c.edge = Jr(t.site, c.site), void 0; + Xr(t), Xr(e); + 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 = { + x: (d * y - g * M) / m + s, + y: (h * M - v * y) / m + f + }; + Kr(e.edge, l, p, x), c.edge = Jr(l, n, null, x), e.edge = Jr(n, p, null, x), Vr(t), Vr(e) + } + } + + function Fr(n, t) { + var e = n.site, r = e.x, u = e.y, i = u - t; + if (!i)return r; + var o = n.P; + if (!o)return -1 / 0; + e = o.site; + var a = e.x, c = e.y, l = c - t; + if (!l)return a; + var s = a - r, f = 1 / i - 1 / l, h = s / l; + return f ? (-h + Math.sqrt(h * h - 2 * f * (s * s / (-2 * l) - c + l / 2 + u - i / 2))) / f + r : (r + a) / 2 + } + + function Hr(n, t) { + var e = n.N; + if (e)return Fr(e, t); + var r = n.site; + return r.y === t ? r.x : 1 / 0 + } + + function Or(n) { + this.site = n, this.edges = [] + } + + function Yr(n) { + 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--;)if (i = v[d], i && i.prepare())for (a = i.edges, c = a.length, o = 0; c > o;)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 ? { + x: f, + y: va(t - f) < Ta ? e : p + } : va(u - p) < Ta && h - r > Ta ? {x: va(e - p) < Ta ? t : h, y: p} : va(r - h) < Ta && u - g > Ta ? { + x: h, + y: va(t - h) < Ta ? e : g + } : va(u - g) < Ta && r - f > Ta ? {x: va(e - g) < Ta ? t : f, y: g} : null), i.site, null)), ++c) + } + + function Ir(n, t) { + return t.angle - n.angle + } + + function Zr() { + tu(this), this.x = this.y = this.arc = this.site = this.cy = null + } + + function Vr(n) { + var t = n.P, e = n.N; + if (t && e) { + var r = t.site, u = n.site, i = e.site; + if (r !== i) { + 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); + if (!(h >= -Ra)) { + 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; + 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; + for (var y = null, M = il._; M;)if (m.y < M.y || m.y === M.y && m.x <= M.x) { + if (!M.L) { + y = M.P; + break + } + M = M.L + } else { + if (!M.R) { + y = M; + break + } + M = M.R + } + il.insert(y, m), y || (ul = m) + } + } + } + } + + function Xr(n) { + var t = n.circle; + t && (t.P || (ul = t.N), il.remove(t), al.push(t), tu(t), n.circle = null) + } + + function $r(n) { + for (var t, e = tl, r = Oe(n[0][0], n[0][1], n[1][0], n[1][1]), u = e.length; u--;)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)) + } + + function Br(n, t) { + var e = n.b; + if (e)return !0; + 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; + if (v === g) { + if (o > d || d >= a)return; + if (h > p) { + if (i) { + if (i.y >= l)return + } else i = {x: d, y: c}; + e = {x: d, y: l} + } else { + if (i) { + if (i.y < c)return + } else i = {x: d, y: l}; + e = {x: d, y: c} + } + } else if (r = (h - p) / (v - g), u = m - r * d, -1 > r || r > 1)if (h > p) { + if (i) { + if (i.y >= l)return + } else i = {x: (c - u) / r, y: c}; + e = {x: (l - u) / r, y: l} + } else { + if (i) { + if (i.y < c)return + } else i = {x: (l - u) / r, y: l}; + e = {x: (c - u) / r, y: c} + } else if (v > g) { + if (i) { + if (i.x >= a)return + } else i = {x: o, y: r * o + u}; + e = {x: a, y: r * a + u} + } else { + if (i) { + if (i.x < o)return + } else i = {x: a, y: r * a + u}; + e = {x: o, y: r * o + u} + } + return n.a = i, n.b = e, !0 + } + + function Wr(n, t) { + this.l = n, this.r = t, this.a = this.b = null + } + + function Jr(n, t, e, r) { + var u = new Wr(n, t); + 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)), u + } + + function Gr(n, t, e) { + var r = new Wr(n, null); + return r.a = t, r.b = e, tl.push(r), r + } + + function Kr(n, t, e, r) { + n.a || n.b ? n.l === e ? n.b = r : n.a = r : (n.a = r, n.l = t, n.r = e) + } + + function Qr(n, t, e) { + var r = n.a, u = n.b; + 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) + } + + function nu() { + this._ = null + } + + function tu(n) { + n.U = n.C = n.L = n.R = n.P = n.N = null + } + + function eu(n, t) { + var e = t, r = t.R, u = e.U; + 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 = e + } + + function ru(n, t) { + var e = t, r = t.L, u = e.U; + 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 = e + } + + function uu(n) { + for (; n.L;)n = n.L; + return n + } + + function iu(n, t) { + var e, r, u, i = n.sort(ou).pop(); + for (tl = [], el = new Array(n.length), rl = new nu, il = new nu; ;)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(); else { + if (!u)break; + Ur(u.arc) + } + t && ($r(t), Yr(t)); + var o = {cells: el, edges: tl}; + return rl = il = tl = el = null, o + } + + function ou(n, t) { + return t.y - n.y || t.x - n.x + } + + function au(n, t, e) { + return (n.x - e.x) * (t.y - n.y) - (n.x - t.x) * (e.y - n.y) + } + + function cu(n) { + return n.x + } + + function lu(n) { + return n.y + } + + function su() { + return {leaf: !0, nodes: [], point: null, x: null, y: null} + } + + function fu(n, t, e, r, u, i) { + if (!n(t, e, r, u, i)) { + var o = .5 * (e + u), a = .5 * (r + i), c = t.nodes; + 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) + } + } + + function hu(n, t, e, r, u, i, o) { + var a, c = 1 / 0; + return function l(n, s, f, h, g) { + if (!(s > i || f > o || r > h || u > g)) { + if (p = n.point) { + var p, v = t - p[0], d = e - p[1], m = v * v + d * d; + if (c > m) { + var y = Math.sqrt(c = m); + r = t - y, u = e - y, i = t + y, o = e + y, a = p + } + } + 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)if (n = M[3 & S])switch (3 & S) { + case 0: + l(n, s, f, x, b); + break; + case 1: + l(n, x, f, h, b); + break; + case 2: + l(n, s, b, x, g); + break; + case 3: + l(n, x, b, h, g) + } + } + }(n, r, u, i, o), a + } + + function gu(n, t) { + n = ta.rgb(n), t = ta.rgb(t); + var e = n.r, r = n.g, u = n.b, i = t.r - e, o = t.g - r, a = t.b - u; + return function (n) { + return "#" + Mt(Math.round(e + i * n)) + Mt(Math.round(r + o * n)) + Mt(Math.round(u + a * n)) + } + } + + function pu(n, t) { + var e, r = {}, u = {}; + for (e in n)e in t ? r[e] = mu(n[e], t[e]) : u[e] = n[e]; + for (e in t)e in n || (u[e] = t[e]); + return function (n) { + for (e in r)u[e] = r[e](n); + return u + } + } + + function vu(n, t) { + return n = +n, t = +t, function (e) { + return n * (1 - e) + t * e + } + } + + function du(n, t) { + var e, r, u, i = ll.lastIndex = sl.lastIndex = 0, o = -1, a = [], c = []; + for (n += "", t += ""; (e = ll.exec(n)) && (r = sl.exec(t));)(u = r.index) > 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({ + i: o, + x: vu(e, r) + })), i = sl.lastIndex; + 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) { + return t(n) + "" + }) : function () { + return t + } : (t = c.length, function (n) { + for (var e, r = 0; t > r; ++r)a[(e = c[r]).i] = e.x(n); + return a.join("") + }) + } + + function mu(n, t) { + for (var e, r = ta.interpolators.length; --r >= 0 && !(e = ta.interpolators[r](n, t));); + return e + } + + function yu(n, t) { + var e, r = [], u = [], i = n.length, o = t.length, a = Math.min(n.length, t.length); + for (e = 0; a > e; ++e)r.push(mu(n[e], t[e])); + for (; i > e; ++e)u[e] = n[e]; + for (; o > e; ++e)u[e] = t[e]; + return function (n) { + for (e = 0; a > e; ++e)u[e] = r[e](n); + return u + } + } + + function Mu(n) { + return function (t) { + return 0 >= t ? 0 : t >= 1 ? 1 : n(t) + } + } + + function xu(n) { + return function (t) { + return 1 - n(1 - t) + } + } + + function bu(n) { + return function (t) { + return .5 * (.5 > t ? n(2 * t) : 2 - n(2 - 2 * t)) + } + } + + function _u(n) { + return n * n + } + + function wu(n) { + return n * n * n + } + + function Su(n) { + if (0 >= n)return 0; + if (n >= 1)return 1; + var t = n * n, e = t * n; + return 4 * (.5 > n ? e : 3 * (n - t) + e - .75) + } + + function ku(n) { + return function (t) { + return Math.pow(t, n) + } + } + + function Eu(n) { + return 1 - Math.cos(n * ja) + } + + function Au(n) { + return Math.pow(2, 10 * (n - 1)) + } + + function Nu(n) { + return 1 - Math.sqrt(1 - n * n) + } + + function Cu(n, t) { + var e; + return arguments.length < 2 && (t = .45), arguments.length ? e = t / Pa * Math.asin(1 / n) : (n = 1, e = t / 4), function (r) { + return 1 + n * Math.pow(2, -10 * r) * Math.sin((r - e) * Pa / t) + } + } + + function zu(n) { + return n || (n = 1.70158), function (t) { + return t * t * ((n + 1) * t - n) + } + } + + function qu(n) { + 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 + .984375 + } + + function Lu(n, t) { + n = ta.hcl(n), t = ta.hcl(t); + var e = n.h, r = n.c, u = n.l, i = t.h - e, o = t.c - r, a = t.l - u; + 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) { + return lt(e + i * n, r + o * n, u + a * n) + "" + } + } + + function Tu(n, t) { + n = ta.hsl(n), t = ta.hsl(t); + var e = n.h, r = n.s, u = n.l, i = t.h - e, o = t.s - r, a = t.l - u; + 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) { + return at(e + i * n, r + o * n, u + a * n) + "" + } + } + + function Ru(n, t) { + n = ta.lab(n), t = ta.lab(t); + var e = n.l, r = n.a, u = n.b, i = t.l - e, o = t.a - r, a = t.b - u; + return function (n) { + return ft(e + i * n, r + o * n, u + a * n) + "" + } + } + + function Du(n, t) { + return t -= n, function (e) { + return Math.round(n + t * e) + } + } + + function Pu(n) { + 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; + 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 : 0 + } + + function Uu(n, t) { + return n[0] * t[0] + n[1] * t[1] + } + + function ju(n) { + var t = Math.sqrt(Uu(n, n)); + return t && (n[0] /= t, n[1] /= t), t + } + + function Fu(n, t, e) { + return n[0] += e * t[0], n[1] += e * t[1], n + } + + function Hu(n, t) { + 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; + return a[0] != c[0] || a[1] != c[1] ? (r.push("translate(", null, ",", null, ")"), u.push({ + i: 1, + x: vu(a[0], c[0]) + }, { + i: 3, + x: vu(a[1], c[1]) + })) : c[0] || c[1] ? r.push("translate(" + c + ")") : r.push(""), l != s ? (l - s > 180 ? s += 360 : s - l > 180 && (l += 360), u.push({ + i: r.push(r.pop() + "rotate(", null, ")") - 2, + x: vu(l, s) + })) : s && r.push(r.pop() + "rotate(" + s + ")"), f != h ? u.push({ + i: r.push(r.pop() + "skewX(", null, ")") - 2, + x: vu(f, h) + }) : 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({ + i: e - 4, + x: vu(g[0], p[0]) + }, { + i: e - 2, + x: vu(g[1], p[1]) + })) : (1 != p[0] || 1 != p[1]) && r.push(r.pop() + "scale(" + p + ")"), e = u.length, function (n) { + for (var t, i = -1; ++i < e;)r[(t = u[i]).i] = t.x(n); + return r.join("") + } + } + + function Ou(n, t) { + return t = (t -= n = +n) || 1 / t, function (e) { + return (e - n) / t + } + } + + function Yu(n, t) { + return t = (t -= n = +n) || 1 / t, function (e) { + return Math.max(0, Math.min(1, (e - n) / t)) + } + } + + function Iu(n) { + for (var t = n.source, e = n.target, r = Vu(t, e), u = [t]; t !== r;)t = t.parent, u.push(t); + for (var i = u.length; e !== r;)u.splice(i, 0, e), e = e.parent; + return u + } + + function Zu(n) { + for (var t = [], e = n.parent; null != e;)t.push(n), n = e, e = e.parent; + return t.push(n), t + } + + function Vu(n, t) { + if (n === t)return n; + for (var e = Zu(n), r = Zu(t), u = e.pop(), i = r.pop(), o = null; u === i;)o = u, u = e.pop(), i = r.pop(); + return o + } + + function Xu(n) { + n.fixed |= 2 + } + + function $u(n) { + n.fixed &= -7 + } + + function Bu(n) { + n.fixed |= 4, n.px = n.x, n.py = n.y + } + + function Wu(n) { + n.fixed &= -5 + } + + function Ju(n, t, e) { + var r = 0, u = 0; + if (n.charge = 0, !n.leaf)for (var i, o = n.nodes, a = o.length, c = -1; ++c < a;)i = o[c], null != i && (Ju(i, t, e), n.charge += i.charge, r += i.charge * i.cx, u += i.charge * i.cy); + if (n.point) { + n.leaf || (n.point.x += Math.random() - .5, n.point.y += Math.random() - .5); + var l = t * e[n.point.index]; + n.charge += n.pointCharge = l, r += l * n.point.x, u += l * n.point.y + } + n.cx = r / n.charge, n.cy = u / n.charge + } + + function Gu(n, t) { + return ta.rebind(n, t, "sort", "children", "value"), n.nodes = n, n.links = ri, n + } + + function Ku(n, t) { + for (var e = [n]; null != (n = e.pop());)if (t(n), (u = n.children) && (r = u.length))for (var r, u; --r >= 0;)e.push(u[r]) + } + + function Qu(n, t) { + for (var e = [n], r = []; null != (n = e.pop());)if (r.push(n), (i = n.children) && (u = i.length))for (var u, i, o = -1; ++o < u;)e.push(i[o]); + for (; null !=
<TRUNCATED>