UNPKG

plotly.js

Version:

The open source javascript graphing library that powers plotly

18 lines 1.14 MB
/** * plotly.js (finance - minified) v3.0.1 * Copyright 2012-2025, Plotly, Inc. * All rights reserved. * Licensed under the MIT license */ ( function(root, factory) { if (typeof module === "object" && module.exports) { module.exports = factory(); } else { root.moduleName = factory(); } } (typeof self !== "undefined" ? self : this, () => { "use strict";var Plotly=(()=>{var wy=Object.defineProperty;var WW=Object.getOwnPropertyDescriptor;var XW=Object.getOwnPropertyNames;var ZW=Object.prototype.hasOwnProperty;var nt=(e,r)=>()=>(e&&(r=e(e=0)),r);var B=(e,r)=>()=>(r||e((r={exports:{}}).exports,r),r.exports),JW=(e,r)=>{for(var t in r)wy(e,t,{get:r[t],enumerable:!0})},$W=(e,r,t,a)=>{if(r&&typeof r=="object"||typeof r=="function")for(let n of XW(r))!ZW.call(e,n)&&n!==t&&wy(e,n,{get:()=>r[n],enumerable:!(a=WW(r,n))||a.enumerable});return e};var Ty=e=>$W(wy({},"__esModule",{value:!0}),e);var Q0=B(G4=>{"use strict";G4.version="3.0.1"});var V4=B((U4,j0)=>{(function(r,t,a){t[r]=t[r]||a(),typeof j0!="undefined"&&j0.exports&&(j0.exports=t[r])})("Promise",typeof window!="undefined"?window:U4,function(){"use strict";var r,t,a,n=Object.prototype.toString,i=typeof setImmediate!="undefined"?function(_){return setImmediate(_)}:setTimeout;try{Object.defineProperty({},"x",{}),r=function(_,T,x,M){return Object.defineProperty(_,T,{value:x,writable:!0,configurable:M!==!1})}}catch(b){r=function(T,x,M){return T[x]=M,T}}a=function(){var _,T,x;function M(A,k){this.fn=A,this.self=k,this.next=void 0}return{add:function(k,L){x=new M(k,L),T?T.next=x:_=x,T=x,x=void 0},drain:function(){var k=_;for(_=T=t=void 0;k;)k.fn.call(k.self),k=k.next}}}();function l(b,_){a.add(b,_),t||(t=i(a.drain))}function o(b){var _,T=typeof b;return b!=null&&(T=="object"||T=="function")&&(_=b.then),typeof _=="function"?_:!1}function s(){for(var b=0;b<this.chain.length;b++)u(this,this.state===1?this.chain[b].success:this.chain[b].failure,this.chain[b]);this.chain.length=0}function u(b,_,T){var x,M;try{_===!1?T.reject(b.msg):(_===!0?x=b.msg:x=_.call(void 0,b.msg),x===T.promise?T.reject(TypeError("Promise-chain cycle")):(M=o(x))?M.call(x,T.resolve,T.reject):T.resolve(x))}catch(A){T.reject(A)}}function f(b){var _,T=this;if(!T.triggered){T.triggered=!0,T.def&&(T=T.def);try{(_=o(b))?l(function(){var x=new d(T);try{_.call(b,function(){f.apply(x,arguments)},function(){c.apply(x,arguments)})}catch(M){c.call(x,M)}}):(T.msg=b,T.state=1,T.chain.length>0&&l(s,T))}catch(x){c.call(new d(T),x)}}}function c(b){var _=this;_.triggered||(_.triggered=!0,_.def&&(_=_.def),_.msg=b,_.state=2,_.chain.length>0&&l(s,_))}function h(b,_,T,x){for(var M=0;M<_.length;M++)(function(k){b.resolve(_[k]).then(function(D){T(k,D)},x)})(M)}function d(b){this.def=b,this.triggered=!1}function p(b){this.promise=b,this.state=0,this.triggered=!1,this.chain=[],this.msg=void 0}function y(b){if(typeof b!="function")throw TypeError("Not a function");if(this.__NPO__!==0)throw TypeError("Not a promise");this.__NPO__=1;var _=new p(this);this.then=function(x,M){var A={success:typeof x=="function"?x:!0,failure:typeof M=="function"?M:!1};return A.promise=new this.constructor(function(L,D){if(typeof L!="function"||typeof D!="function")throw TypeError("Not a function");A.resolve=L,A.reject=D}),_.chain.push(A),_.state!==0&&l(s,_),A.promise},this.catch=function(x){return this.then(void 0,x)};try{b.call(void 0,function(x){f.call(_,x)},function(x){c.call(_,x)})}catch(T){c.call(_,T)}}var m=r({},"constructor",y,!1);return y.prototype=m,r(m,"__NPO__",0,!1),r(y,"resolve",function(_){var T=this;return _&&typeof _=="object"&&_.__NPO__===1?_:new T(function(M,A){if(typeof M!="function"||typeof A!="function")throw TypeError("Not a function");M(_)})}),r(y,"reject",function(_){return new this(function(x,M){if(typeof x!="function"||typeof M!="function")throw TypeError("Not a function");M(_)})}),r(y,"all",function(_){var T=this;return n.call(_)!="[object Array]"?T.reject(TypeError("Not an array")):_.length===0?T.resolve([]):new T(function(M,A){if(typeof M!="function"||typeof A!="function")throw TypeError("Not a function");var k=_.length,L=Array(k),D=0;h(T,_,function(R,z){L[R]=z,++D===k&&M(L)},A)})}),r(y,"race",function(_){var T=this;return n.call(_)!="[object Array]"?T.reject(TypeError("Not an array")):new T(function(M,A){if(typeof M!="function"||typeof A!="function")throw TypeError("Not a function");h(T,_,function(L,D){M(D)},A)})}),y})});var kr=B((Rpe,eh)=>{(function(){var e={version:"3.8.2"},r=[].slice,t=function(v){return r.call(v)},a=self.document;function n(v){return v&&(v.ownerDocument||v.document||v).documentElement}function i(v){return v&&(v.ownerDocument&&v.ownerDocument.defaultView||v.document&&v||v.defaultView)}if(a)try{t(a.documentElement.childNodes)[0].nodeType}catch(v){t=function(g){for(var w=g.length,q=new Array(w);w--;)q[w]=g[w];return q}}if(Date.now||(Date.now=function(){return+new Date}),a)try{a.createElement("DIV").style.setProperty("opacity",0,"")}catch(v){var l=this.Element.prototype,o=l.setAttribute,s=l.setAttributeNS,u=this.CSSStyleDeclaration.prototype,f=u.setProperty;l.setAttribute=function(g,w){o.call(this,g,w+"")},l.setAttributeNS=function(g,w,q){s.call(this,g,w,q+"")},u.setProperty=function(g,w,q){f.call(this,g,w+"",q)}}e.ascending=c;function c(v,g){return v<g?-1:v>g?1:v>=g?0:NaN}e.descending=function(v,g){return g<v?-1:g>v?1:g>=v?0:NaN},e.min=function(v,g){var w=-1,q=v.length,C,S;if(arguments.length===1){for(;++w<q;)if((S=v[w])!=null&&S>=S){C=S;break}for(;++w<q;)(S=v[w])!=null&&C>S&&(C=S)}else{for(;++w<q;)if((S=g.call(v,v[w],w))!=null&&S>=S){C=S;break}for(;++w<q;)(S=g.call(v,v[w],w))!=null&&C>S&&(C=S)}return C},e.max=function(v,g){var w=-1,q=v.length,C,S;if(arguments.length===1){for(;++w<q;)if((S=v[w])!=null&&S>=S){C=S;break}for(;++w<q;)(S=v[w])!=null&&S>C&&(C=S)}else{for(;++w<q;)if((S=g.call(v,v[w],w))!=null&&S>=S){C=S;break}for(;++w<q;)(S=g.call(v,v[w],w))!=null&&S>C&&(C=S)}return C},e.extent=function(v,g){var w=-1,q=v.length,C,S,N;if(arguments.length===1){for(;++w<q;)if((S=v[w])!=null&&S>=S){C=N=S;break}for(;++w<q;)(S=v[w])!=null&&(C>S&&(C=S),N<S&&(N=S))}else{for(;++w<q;)if((S=g.call(v,v[w],w))!=null&&S>=S){C=N=S;break}for(;++w<q;)(S=g.call(v,v[w],w))!=null&&(C>S&&(C=S),N<S&&(N=S))}return[C,N]};function h(v){return v===null?NaN:+v}function d(v){return!isNaN(v)}e.sum=function(v,g){var w=0,q=v.length,C,S=-1;if(arguments.length===1)for(;++S<q;)d(C=+v[S])&&(w+=C);else for(;++S<q;)d(C=+g.call(v,v[S],S))&&(w+=C);return w},e.mean=function(v,g){var w=0,q=v.length,C,S=-1,N=q;if(arguments.length===1)for(;++S<q;)d(C=h(v[S]))?w+=C:--N;else for(;++S<q;)d(C=h(g.call(v,v[S],S)))?w+=C:--N;if(N)return w/N},e.quantile=function(v,g){var w=(v.length-1)*g+1,q=Math.floor(w),C=+v[q-1],S=w-q;return S?C+S*(v[q]-C):C},e.median=function(v,g){var w=[],q=v.length,C,S=-1;if(arguments.length===1)for(;++S<q;)d(C=h(v[S]))&&w.push(C);else for(;++S<q;)d(C=h(g.call(v,v[S],S)))&&w.push(C);if(w.length)return e.quantile(w.sort(c),.5)},e.variance=function(v,g){var w=v.length,q=0,C,S,N=0,E=-1,F=0;if(arguments.length===1)for(;++E<w;)d(C=h(v[E]))&&(S=C-q,q+=S/++F,N+=S*(C-q));else for(;++E<w;)d(C=h(g.call(v,v[E],E)))&&(S=C-q,q+=S/++F,N+=S*(C-q));if(F>1)return N/(F-1)},e.deviation=function(){var v=e.variance.apply(this,arguments);return v&&Math.sqrt(v)};function p(v){return{left:function(g,w,q,C){for(arguments.length<3&&(q=0),arguments.length<4&&(C=g.length);q<C;){var S=q+C>>>1;v(g[S],w)<0?q=S+1:C=S}return q},right:function(g,w,q,C){for(arguments.length<3&&(q=0),arguments.length<4&&(C=g.length);q<C;){var S=q+C>>>1;v(g[S],w)>0?C=S:q=S+1}return q}}}var y=p(c);e.bisectLeft=y.left,e.bisect=e.bisectRight=y.right,e.bisector=function(v){return p(v.length===1?function(g,w){return c(v(g),w)}:v)},e.shuffle=function(v,g,w){(q=arguments.length)<3&&(w=v.length,q<2&&(g=0));for(var q=w-g,C,S;q;)S=Math.random()*q--|0,C=v[q+g],v[q+g]=v[S+g],v[S+g]=C;return v},e.permute=function(v,g){for(var w=g.length,q=new Array(w);w--;)q[w]=v[g[w]];return q},e.pairs=function(v){for(var g=0,w=v.length-1,q,C=v[0],S=new Array(w<0?0:w);g<w;)S[g]=[q=C,C=v[++g]];return S},e.transpose=function(v){if(!(S=v.length))return[];for(var g=-1,w=e.min(v,m),q=new Array(w);++g<w;)for(var C=-1,S,N=q[g]=new Array(S);++C<S;)N[C]=v[C][g];return q};function m(v){return v.length}e.zip=function(){return e.transpose(arguments)},e.keys=function(v){var g=[];for(var w in v)g.push(w);return g},e.values=function(v){var g=[];for(var w in v)g.push(v[w]);return g},e.entries=function(v){var g=[];for(var w in v)g.push({key:w,value:v[w]});return g},e.merge=function(v){for(var g=v.length,w,q=-1,C=0,S,N;++q<g;)C+=v[q].length;for(S=new Array(C);--g>=0;)for(N=v[g],w=N.length;--w>=0;)S[--C]=N[w];return S};var b=Math.abs;e.range=function(v,g,w){if(arguments.length<3&&(w=1,arguments.length<2&&(g=v,v=0)),(g-v)/w===1/0)throw new Error("infinite range");var q=[],C=_(b(w)),S=-1,N;if(v*=C,g*=C,w*=C,w<0)for(;(N=v+w*++S)>g;)q.push(N/C);else for(;(N=v+w*++S)<g;)q.push(N/C);return q};function _(v){for(var g=1;v*g%1;)g*=10;return g}function T(v,g){for(var w in g)Object.defineProperty(v.prototype,w,{value:g[w],enumerable:!1})}e.map=function(v,g){var w=new x;if(v instanceof x)v.forEach(function(E,F){w.set(E,F)});else if(Array.isArray(v)){var q=-1,C=v.length,S;if(arguments.length===1)for(;++q<C;)w.set(q,v[q]);else for(;++q<C;)w.set(g.call(v,S=v[q],q),S)}else for(var N in v)w.set(N,v[N]);return w};function x(){this._=Object.create(null)}var M="__proto__",A="\0";T(x,{has:D,get:function(v){return this._[k(v)]},set:function(v,g){return this._[k(v)]=g},remove:P,keys:R,values:function(){var v=[];for(var g in this._)v.push(this._[g]);return v},entries:function(){var v=[];for(var g in this._)v.push({key:L(g),value:this._[g]});return v},size:z,empty:H,forEach:function(v){for(var g in this._)v.call(this,L(g),this._[g])}});function k(v){return(v+="")===M||v[0]===A?A+v:v}function L(v){return(v+="")[0]===A?v.slice(1):v}function D(v){return k(v)in this._}function P(v){return(v=k(v))in this._&&delete this._[v]}function R(){var v=[];for(var g in this._)v.push(L(g));return v}function z(){var v=0;for(var g in this._)++v;return v}function H(){for(var v in this._)return!1;return!0}e.nest=function(){var v={},g=[],w=[],q,C;function S(E,F,J){if(J>=g.length)return C?C.call(v,F):q?F.sort(q):F;for(var $=-1,j=F.length,ee=g[J++],me,Te,ae,oe=new x,he;++$<j;)(he=oe.get(me=ee(Te=F[$])))?he.push(Te):oe.set(me,[Te]);return E?(Te=E(),ae=function(we,Me){Te.set(we,S(E,Me,J))}):(Te={},ae=function(we,Me){Te[we]=S(E,Me,J)}),oe.forEach(ae),Te}function N(E,F){if(F>=g.length)return E;var J=[],$=w[F++];return E.forEach(function(j,ee){J.push({key:j,values:N(ee,F)})}),$?J.sort(function(j,ee){return $(j.key,ee.key)}):J}return v.map=function(E,F){return S(F,E,0)},v.entries=function(E){return N(S(e.map,E,0),0)},v.key=function(E){return g.push(E),v},v.sortKeys=function(E){return w[g.length-1]=E,v},v.sortValues=function(E){return q=E,v},v.rollup=function(E){return C=E,v},v},e.set=function(v){var g=new O;if(v)for(var w=0,q=v.length;w<q;++w)g.add(v[w]);return g};function O(){this._=Object.create(null)}T(O,{has:D,add:function(v){return this._[k(v+="")]=!0,v},remove:P,values:R,size:z,empty:H,forEach:function(v){for(var g in this._)v.call(this,L(g))}}),e.behavior={};function U(v){return v}e.rebind=function(v,g){for(var w=1,q=arguments.length,C;++w<q;)v[C=arguments[w]]=V(v,g,g[C]);return v};function V(v,g,w){return function(){var q=w.apply(g,arguments);return q===g?v:q}}function Y(v,g){if(g in v)return g;g=g.charAt(0).toUpperCase()+g.slice(1);for(var w=0,q=I.length;w<q;++w){var C=I[w]+g;if(C in v)return C}}var I=["webkit","ms","moz","Moz","o","O"];function G(){}e.dispatch=function(){for(var v=new Z,g=-1,w=arguments.length;++g<w;)v[arguments[g]]=K(v);return v};function Z(){}Z.prototype.on=function(v,g){var w=v.indexOf("."),q="";if(w>=0&&(q=v.slice(w+1),v=v.slice(0,w)),v)return arguments.length<2?this[v].on(q):this[v].on(q,g);if(arguments.length===2){if(g==null)for(v in this)this.hasOwnProperty(v)&&this[v].on(q,null);return this}};function K(v){var g=[],w=new x;function q(){for(var C=g,S=-1,N=C.length,E;++S<N;)(E=C[S].on)&&E.apply(this,arguments);return v}return q.on=function(C,S){var N=w.get(C),E;return arguments.length<2?N&&N.on:(N&&(N.on=null,g=g.slice(0,E=g.indexOf(N)).concat(g.slice(E+1)),w.remove(C)),S&&g.push(w.set(C,{on:S})),v)},q}e.event=null;function re(){e.event.preventDefault()}function se(){for(var v=e.event,g;g=v.sourceEvent;)v=g;return v}function ce(v){for(var g=new Z,w=0,q=arguments.length;++w<q;)g[arguments[w]]=K(g);return g.of=function(C,S){return function(N){try{var E=N.sourceEvent=e.event;N.target=v,e.event=N,g[N.type].apply(C,S)}finally{e.event=E}}},g}e.requote=function(v){return v.replace(le,"\\$&")};var le=/[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g,Q={}.__proto__?function(v,g){v.__proto__=g}:function(v,g){for(var w in g)v[w]=g[w]};function ge(v){return Q(v,be),v}var ue=function(v,g){return g.querySelector(v)},ke=function(v,g){return g.querySelectorAll(v)},ve=function(v,g){var w=v.matches||v[Y(v,"matchesSelector")];return ve=function(q,C){return w.call(q,C)},ve(v,g)};typeof Sizzle=="function"&&(ue=function(v,g){return Sizzle(v,g)[0]||null},ke=Sizzle,ve=Sizzle.matchesSelector),e.selection=function(){return e.select(a.documentElement)};var be=e.selection.prototype=[];be.select=function(v){var g=[],w,q,C,S;v=W(v);for(var N=-1,E=this.length;++N<E;){g.push(w=[]),w.parentNode=(C=this[N]).parentNode;for(var F=-1,J=C.length;++F<J;)(S=C[F])?(w.push(q=v.call(S,S.__data__,F,N)),q&&"__data__"in S&&(q.__data__=S.__data__)):w.push(null)}return ge(g)};function W(v){return typeof v=="function"?v:function(){return ue(v,this)}}be.selectAll=function(v){var g=[],w,q;v=te(v);for(var C=-1,S=this.length;++C<S;)for(var N=this[C],E=-1,F=N.length;++E<F;)(q=N[E])&&(g.push(w=t(v.call(q,q.__data__,E,C))),w.parentNode=q);return ge(g)};function te(v){return typeof v=="function"?v:function(){return ke(v,this)}}var X="http://www.w3.org/1999/xhtml",ye={svg:"http://www.w3.org/2000/svg",xhtml:X,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};e.ns={prefix:ye,qualify:function(v){var g=v.indexOf(":"),w=v;return g>=0&&(w=v.slice(0,g))!=="xmlns"&&(v=v.slice(g+1)),ye.hasOwnProperty(w)?{space:ye[w],local:v}:v}},be.attr=function(v,g){if(arguments.length<2){if(typeof v=="string"){var w=this.node();return v=e.ns.qualify(v),v.local?w.getAttributeNS(v.space,v.local):w.getAttribute(v)}for(g in v)this.each(_e(g,v[g]));return this}return this.each(_e(v,g))};function _e(v,g){v=e.ns.qualify(v);function w(){this.removeAttribute(v)}function q(){this.removeAttributeNS(v.space,v.local)}function C(){this.setAttribute(v,g)}function S(){this.setAttributeNS(v.space,v.local,g)}function N(){var F=g.apply(this,arguments);F==null?this.removeAttribute(v):this.setAttribute(v,F)}function E(){var F=g.apply(this,arguments);F==null?this.removeAttributeNS(v.space,v.local):this.setAttributeNS(v.space,v.local,F)}return g==null?v.local?q:w:typeof g=="function"?v.local?E:N:v.local?S:C}function xe(v){return v.trim().replace(/\s+/g," ")}be.classed=function(v,g){if(arguments.length<2){if(typeof v=="string"){var w=this.node(),q=(v=ze(v)).length,C=-1;if(g=w.classList){for(;++C<q;)if(!g.contains(v[C]))return!1}else for(g=w.getAttribute("class");++C<q;)if(!Ie(v[C]).test(g))return!1;return!0}for(g in v)this.each(Re(g,v[g]));return this}return this.each(Re(v,g))};function Ie(v){return new RegExp("(?:^|\\s+)"+e.requote(v)+"(?:\\s+|$)","g")}function ze(v){return(v+"").trim().split(/^|\s+/)}function Re(v,g){v=ze(v).map(He);var w=v.length;function q(){for(var S=-1;++S<w;)v[S](this,g)}function C(){for(var S=-1,N=g.apply(this,arguments);++S<w;)v[S](this,N)}return typeof g=="function"?C:q}function He(v){var g=Ie(v);return function(w,q){if(C=w.classList)return q?C.add(v):C.remove(v);var C=w.getAttribute("class")||"";q?(g.lastIndex=0,g.test(C)||w.setAttribute("class",xe(C+" "+v))):w.setAttribute("class",xe(C.replace(g," ")))}}be.style=function(v,g,w){var q=arguments.length;if(q<3){if(typeof v!="string"){q<2&&(g="");for(w in v)this.each(Be(w,v[w],g));return this}if(q<2){var C=this.node();return i(C).getComputedStyle(C,null).getPropertyValue(v)}w=""}return this.each(Be(v,g,w))};function Be(v,g,w){function q(){this.style.removeProperty(v)}function C(){this.style.setProperty(v,g,w)}function S(){var N=g.apply(this,arguments);N==null?this.style.removeProperty(v):this.style.setProperty(v,N,w)}return g==null?q:typeof g=="function"?S:C}be.property=function(v,g){if(arguments.length<2){if(typeof v=="string")return this.node()[v];for(g in v)this.each(Fe(g,v[g]));return this}return this.each(Fe(v,g))};function Fe(v,g){function w(){delete this[v]}function q(){this[v]=g}function C(){var S=g.apply(this,arguments);S==null?delete this[v]:this[v]=S}return g==null?w:typeof g=="function"?C:q}be.text=function(v){return arguments.length?this.each(typeof v=="function"?function(){var g=v.apply(this,arguments);this.textContent=g==null?"":g}:v==null?function(){this.textContent=""}:function(){this.textContent=v}):this.node().textContent},be.html=function(v){return arguments.length?this.each(typeof v=="function"?function(){var g=v.apply(this,arguments);this.innerHTML=g==null?"":g}:v==null?function(){this.innerHTML=""}:function(){this.innerHTML=v}):this.node().innerHTML},be.append=function(v){return v=Pe(v),this.select(function(){return this.appendChild(v.apply(this,arguments))})};function Pe(v){function g(){var q=this.ownerDocument,C=this.namespaceURI;return C===X&&q.documentElement.namespaceURI===X?q.createElement(v):q.createElementNS(C,v)}function w(){return this.ownerDocument.createElementNS(v.space,v.local)}return typeof v=="function"?v:(v=e.ns.qualify(v)).local?w:g}be.insert=function(v,g){return v=Pe(v),g=W(g),this.select(function(){return this.insertBefore(v.apply(this,arguments),g.apply(this,arguments)||null)})},be.remove=function(){return this.each(Je)};function Je(){var v=this.parentNode;v&&v.removeChild(this)}be.data=function(v,g){var w=-1,q=this.length,C,S;if(!arguments.length){for(v=new Array(q=(C=this[0]).length);++w<q;)(S=C[w])&&(v[w]=S.__data__);return v}function N($,j){var ee,me=$.length,Te=j.length,ae=Math.min(me,Te),oe=new Array(Te),he=new Array(Te),we=new Array(me),Me,pe;if(g){var Ue=new x,rr=new Array(me),or;for(ee=-1;++ee<me;)(Me=$[ee])&&(Ue.has(or=g.call(Me,Me.__data__,ee))?we[ee]=Me:Ue.set(or,Me),rr[ee]=or);for(ee=-1;++ee<Te;)(Me=Ue.get(or=g.call(j,pe=j[ee],ee)))?Me!==!0&&(oe[ee]=Me,Me.__data__=pe):he[ee]=We(pe),Ue.set(or,!0);for(ee=-1;++ee<me;)ee in rr&&Ue.get(rr[ee])!==!0&&(we[ee]=$[ee])}else{for(ee=-1;++ee<ae;)Me=$[ee],pe=j[ee],Me?(Me.__data__=pe,oe[ee]=Me):he[ee]=We(pe);for(;ee<Te;++ee)he[ee]=We(j[ee]);for(;ee<me;++ee)we[ee]=$[ee]}he.update=oe,he.parentNode=oe.parentNode=we.parentNode=$.parentNode,E.push(he),F.push(oe),J.push(we)}var E=cr([]),F=ge([]),J=ge([]);if(typeof v=="function")for(;++w<q;)N(C=this[w],v.call(C,C.parentNode.__data__,w));else for(;++w<q;)N(C=this[w],v);return F.enter=function(){return E},F.exit=function(){return J},F};function We(v){return{__data__:v}}be.datum=function(v){return arguments.length?this.property("__data__",v):this.property("__data__")},be.filter=function(v){var g=[],w,q,C;typeof v!="function"&&(v=ie(v));for(var S=0,N=this.length;S<N;S++){g.push(w=[]),w.parentNode=(q=this[S]).parentNode;for(var E=0,F=q.length;E<F;E++)(C=q[E])&&v.call(C,C.__data__,E,S)&&w.push(C)}return ge(g)};function ie(v){return function(){return ve(this,v)}}be.order=function(){for(var v=-1,g=this.length;++v<g;)for(var w=this[v],q=w.length-1,C=w[q],S;--q>=0;)(S=w[q])&&(C&&C!==S.nextSibling&&C.parentNode.insertBefore(S,C),C=S);return this},be.sort=function(v){v=Ae.apply(this,arguments);for(var g=-1,w=this.length;++g<w;)this[g].sort(v);return this.order()};function Ae(v){return arguments.length||(v=c),function(g,w){return g&&w?v(g.__data__,w.__data__):!g-!w}}be.each=function(v){return Ce(this,function(g,w,q){v.call(g,g.__data__,w,q)})};function Ce(v,g){for(var w=0,q=v.length;w<q;w++)for(var C=v[w],S=0,N=C.length,E;S<N;S++)(E=C[S])&&g(E,S,w);return v}be.call=function(v){var g=t(arguments);return v.apply(g[0]=this,g),this},be.empty=function(){return!this.node()},be.node=function(){for(var v=0,g=this.length;v<g;v++)for(var w=this[v],q=0,C=w.length;q<C;q++){var S=w[q];if(S)return S}return null},be.size=function(){var v=0;return Ce(this,function(){++v}),v};function cr(v){return Q(v,tr),v}var tr=[];e.selection.enter=cr,e.selection.enter.prototype=tr,tr.append=be.append,tr.empty=be.empty,tr.node=be.node,tr.call=be.call,tr.size=be.size,tr.select=function(v){for(var g=[],w,q,C,S,N,E=-1,F=this.length;++E<F;){C=(S=this[E]).update,g.push(w=[]),w.parentNode=S.parentNode;for(var J=-1,$=S.length;++J<$;)(N=S[J])?(w.push(C[J]=q=v.call(S.parentNode,N.__data__,J,E)),q.__data__=N.__data__):w.push(null)}return ge(g)},tr.insert=function(v,g){return arguments.length<2&&(g=De(this)),be.insert.call(this,v,g)};function De(v){var g,w;return function(q,C,S){var N=v[S].update,E=N.length,F;for(S!=w&&(w=S,g=0),C>=g&&(g=C+1);!(F=N[g])&&++g<E;);return F}}e.select=function(v){var g;return typeof v=="string"?(g=[ue(v,a)],g.parentNode=a.documentElement):(g=[v],g.parentNode=n(v)),ge([g])},e.selectAll=function(v){var g;return typeof v=="string"?(g=t(ke(v,a)),g.parentNode=a.documentElement):(g=t(v),g.parentNode=null),ge([g])},be.on=function(v,g,w){var q=arguments.length;if(q<3){if(typeof v!="string"){q<2&&(g=!1);for(w in v)this.each(Le(w,v[w],g));return this}if(q<2)return(q=this.node()["__on"+v])&&q._;w=!1}return this.each(Le(v,g,w))};function Le(v,g,w){var q="__on"+v,C=v.indexOf("."),S=Xe;C>0&&(v=v.slice(0,C));var N=Ye.get(v);N&&(v=N,S=Ge);function E(){var $=this[q];$&&(this.removeEventListener(v,$,$.$),delete this[q])}function F(){var $=S(g,t(arguments));E.call(this),this.addEventListener(v,this[q]=$,$.$=w),$._=g}function J(){var $=new RegExp("^__on([^.]+)"+e.requote(v)+"$"),j;for(var ee in this)if(j=ee.match($)){var me=this[ee];this.removeEventListener(j[1],me,me.$),delete this[ee]}}return C?g?F:E:g?G:J}var Ye=e.map({mouseenter:"mouseover",mouseleave:"mouseout"});a&&Ye.forEach(function(v){"on"+v in a&&Ye.remove(v)});function Xe(v,g){return function(w){var q=e.event;e.event=w,g[0]=this.__data__;try{v.apply(this,g)}finally{e.event=q}}}function Ge(v,g){var w=Xe(v,g);return function(q){var C=this,S=q.relatedTarget;(!S||S!==C&&!(S.compareDocumentPosition(C)&8))&&w.call(C,q)}}var Oe,$e=0;function fr(v){var g=".dragsuppress-"+ ++$e,w="click"+g,q=e.select(i(v)).on("touchmove"+g,re).on("dragstart"+g,re).on("selectstart"+g,re);if(Oe==null&&(Oe="onselectstart"in v?!1:Y(v.style,"userSelect")),Oe){var C=n(v).style,S=C[Oe];C[Oe]="none"}return function(N){if(q.on(g,null),Oe&&(C[Oe]=S),N){var E=function(){q.on(w,null)};q.on(w,function(){re(),E()},!0),setTimeout(E,0)}}}e.mouse=function(v){return Ne(v,se())};var lr=this.navigator&&/WebKit/.test(this.navigator.userAgent)?-1:0;function Ne(v,g){g.changedTouches&&(g=g.changedTouches[0]);var w=v.ownerSVGElement||v;if(w.createSVGPoint){var q=w.createSVGPoint();if(lr<0){var C=i(v);if(C.scrollX||C.scrollY){w=e.select("body").append("svg").style({position:"absolute",top:0,left:0,margin:0,padding:0,border:"none"},"important");var S=w[0][0].getScreenCTM();lr=!(S.f||S.e),w.remove()}}return lr?(q.x=g.pageX,q.y=g.pageY):(q.x=g.clientX,q.y=g.clientY),q=q.matrixTransform(v.getScreenCTM().inverse()),[q.x,q.y]}var N=v.getBoundingClientRect();return[g.clientX-N.left-v.clientLeft,g.clientY-N.top-v.clientTop]}e.touch=function(v,g,w){if(arguments.length<3&&(w=g,g=se().changedTouches),g){for(var q=0,C=g.length,S;q<C;++q)if((S=g[q]).identifier===w)return Ne(v,S)}},e.behavior.drag=function(){var v=ce(C,"drag","dragstart","dragend"),g=null,w=S(G,e.mouse,i,"mousemove","mouseup"),q=S(ne,e.touch,U,"touchmove","touchend");function C(){this.on("mousedown.drag",w).on("touchstart.drag",q)}function S(N,E,F,J,$){return function(){var j=this,ee=e.event.target.correspondingElement||e.event.target,me=j.parentNode,Te=v.of(j,arguments),ae=0,oe=N(),he=".drag"+(oe==null?"":"-"+oe),we,Me=e.select(F(ee)).on(J+he,rr).on($+he,or),pe=fr(ee),Ue=E(me,oe);g?(we=g.apply(j,arguments),we=[we.x-Ue[0],we.y-Ue[1]]):we=[0,0],Te({type:"dragstart"});function rr(){var ar=E(me,oe),hr,dr;ar&&(hr=ar[0]-Ue[0],dr=ar[1]-Ue[1],ae|=hr|dr,Ue=ar,Te({type:"drag",x:ar[0]+we[0],y:ar[1]+we[1],dx:hr,dy:dr}))}function or(){E(me,oe)&&(Me.on(J+he,null).on($+he,null),pe(ae),Te({type:"dragend"}))}}}return C.origin=function(N){return arguments.length?(g=N,C):g},e.rebind(C,v,"on")};function ne(){return e.event.changedTouches[0].identifier}e.touches=function(v,g){return arguments.length<2&&(g=se().touches),g?t(g).map(function(w){var q=Ne(v,w);return q.identifier=w.identifier,q}):[]};var fe=1e-6,Se=fe*fe,qe=Math.PI,ir=2*qe,vr=ir-fe,sr=qe/2,Ar=qe/180,Ur=180/qe;function et(v){return v>0?1:v<0?-1:0}function Wr(v,g,w){return(g[0]-v[0])*(w[1]-v[1])-(g[1]-v[1])*(w[0]-v[0])}function Nt(v){return v>1?0:v<-1?qe:Math.acos(v)}function oa(v){return v>1?sr:v<-1?-sr:Math.asin(v)}function Na(v){return((v=Math.exp(v))-1/v)/2}function sa(v){return((v=Math.exp(v))+1/v)/2}function Sn(v){return((v=Math.exp(2*v))-1)/(v+1)}function Za(v){return(v=Math.sin(v/2))*v}var ua=Math.SQRT2,Ja=2,gr=4;e.interpolateZoom=function(v,g){var w=v[0],q=v[1],C=v[2],S=g[0],N=g[1],E=g[2],F=S-w,J=N-q,$=F*F+J*J,j,ee;if($<Se)ee=Math.log(E/C)/ua,j=function(we){return[w+we*F,q+we*J,C*Math.exp(ua*we*ee)]};else{var me=Math.sqrt($),Te=(E*E-C*C+gr*$)/(2*C*Ja*me),ae=(E*E-C*C-gr*$)/(2*E*Ja*me),oe=Math.log(Math.sqrt(Te*Te+1)-Te),he=Math.log(Math.sqrt(ae*ae+1)-ae);ee=(he-oe)/ua,j=function(we){var Me=we*ee,pe=sa(oe),Ue=C/(Ja*me)*(pe*Sn(ua*Me+oe)-Na(oe));return[w+Ue*F,q+Ue*J,C*pe/sa(ua*Me+oe)]}}return j.duration=ee*1e3,j},e.behavior.zoom=function(){var v={x:0,y:0,k:1},g,w,q,C=[960,500],S=ft,N=250,E=0,F="mousedown.zoom",J="mousemove.zoom",$="mouseup.zoom",j,ee="touchstart.zoom",me,Te=ce(Me,"zoomstart","zoom","zoomend"),ae,oe,he,we;bt||(bt="onwheel"in a?(Xr=function(){return-e.event.deltaY*(e.event.deltaMode?120:1)},"wheel"):"onmousewheel"in a?(Xr=function(){return e.event.wheelDelta},"mousewheel"):(Xr=function(){return-e.event.detail},"MozMousePixelScroll"));function Me(er){er.on(F,Mr).on(bt+".zoom",Ft).on("dblclick.zoom",at).on(ee,Kr)}Me.event=function(er){er.each(function(){var Dr=Te.of(this,arguments),Pr=v;No?e.select(this).transition().each("start.zoom",function(){v=this.__chart__||{x:0,y:0,k:1},dr(Dr)}).tween("zoom:zoom",function(){var Qr=C[0],kt=C[1],Xt=w?w[0]:Qr/2,xa=w?w[1]:kt/2,Ha=e.interpolateZoom([(Xt-v.x)/v.k,(xa-v.y)/v.k,Qr/v.k],[(Xt-Pr.x)/Pr.k,(xa-Pr.y)/Pr.k,Qr/Pr.k]);return function($a){var Oa=Ha($a),en=Qr/Oa[2];this.__chart__=v={x:Xt-Oa[0]*en,y:xa-Oa[1]*en,k:en},Sr(Dr)}}).each("interrupt.zoom",function(){pr(Dr)}).each("end.zoom",function(){pr(Dr)}):(this.__chart__=v,dr(Dr),Sr(Dr),pr(Dr))})},Me.translate=function(er){return arguments.length?(v={x:+er[0],y:+er[1],k:v.k},hr(),Me):[v.x,v.y]},Me.scale=function(er){return arguments.length?(v={x:v.x,y:v.y,k:null},rr(+er),hr(),Me):v.k},Me.scaleExtent=function(er){return arguments.length?(S=er==null?ft:[+er[0],+er[1]],Me):S},Me.center=function(er){return arguments.length?(q=er&&[+er[0],+er[1]],Me):q},Me.size=function(er){return arguments.length?(C=er&&[+er[0],+er[1]],Me):C},Me.duration=function(er){return arguments.length?(N=+er,Me):N},Me.x=function(er){return arguments.length?(oe=er,ae=er.copy(),v={x:0,y:0,k:1},Me):oe},Me.y=function(er){return arguments.length?(we=er,he=er.copy(),v={x:0,y:0,k:1},Me):we};function pe(er){return[(er[0]-v.x)/v.k,(er[1]-v.y)/v.k]}function Ue(er){return[er[0]*v.k+v.x,er[1]*v.k+v.y]}function rr(er){v.k=Math.max(S[0],Math.min(S[1],er))}function or(er,Dr){Dr=Ue(Dr),v.x+=er[0]-Dr[0],v.y+=er[1]-Dr[1]}function ar(er,Dr,Pr,Qr){er.__chart__={x:v.x,y:v.y,k:v.k},rr(Math.pow(2,Qr)),or(w=Dr,Pr),er=e.select(er),N>0&&(er=er.transition().duration(N)),er.call(Me.event)}function hr(){oe&&oe.domain(ae.range().map(function(er){return(er-v.x)/v.k}).map(ae.invert)),we&&we.domain(he.range().map(function(er){return(er-v.y)/v.k}).map(he.invert))}function dr(er){E++||er({type:"zoomstart"})}function Sr(er){hr(),er({type:"zoom",scale:v.k,translate:[v.x,v.y]})}function pr(er){--E||(er({type:"zoomend"}),w=null)}function Mr(){var er=this,Dr=Te.of(er,arguments),Pr=0,Qr=e.select(i(er)).on(J,xa).on($,Ha),kt=pe(e.mouse(er)),Xt=fr(er);Z0.call(er),dr(Dr);function xa(){Pr=1,or(e.mouse(er),kt),Sr(Dr)}function Ha(){Qr.on(J,null).on($,null),Xt(Pr),pr(Dr)}}function Kr(){var er=this,Dr=Te.of(er,arguments),Pr={},Qr=0,kt,Xt=".zoom-"+e.event.changedTouches[0].identifier,xa="touchmove"+Xt,Ha="touchend"+Xt,$a=[],Oa=e.select(er),en=fr(er);rn(),dr(Dr),Oa.on(F,null).on(ee,rn);function La(){var oi=e.touches(er);return kt=v.k,oi.forEach(function(ba){ba.identifier in Pr&&(Pr[ba.identifier]=pe(ba))}),oi}function rn(){var oi=e.event.target;e.select(oi).on(xa,Fo).on(Ha,VW),$a.push(oi);for(var ba=e.event.changedTouches,Pn=0,zi=ba.length;Pn<zi;++Pn)Pr[ba[Pn].identifier]=null;var En=La(),fu=Date.now();if(En.length===1){if(fu-me<500){var Io=En[0];ar(er,Io,Pr[Io.identifier],Math.floor(Math.log(v.k)/Math.LN2)+1),re()}me=fu}else if(En.length>1){var Io=En[0],Pl=En[1],K0=Io[0]-Pl[0],Y4=Io[1]-Pl[1];Qr=K0*K0+Y4*Y4}}function Fo(){var oi=e.touches(er),ba,Pn,zi,En;Z0.call(er);for(var fu=0,Io=oi.length;fu<Io;++fu,En=null)if(zi=oi[fu],En=Pr[zi.identifier]){if(Pn)break;ba=zi,Pn=En}if(En){var Pl=(Pl=zi[0]-ba[0])*Pl+(Pl=zi[1]-ba[1])*Pl,K0=Qr&&Math.sqrt(Pl/Qr);ba=[(ba[0]+zi[0])/2,(ba[1]+zi[1])/2],Pn=[(Pn[0]+En[0])/2,(Pn[1]+En[1])/2],rr(K0*kt)}me=null,or(ba,Pn),Sr(Dr)}function VW(){if(e.event.touches.length){for(var oi=e.event.changedTouches,ba=0,Pn=oi.length;ba<Pn;++ba)delete Pr[oi[ba].identifier];for(var zi in Pr)return void La()}e.selectAll($a).on(Xt,null),Oa.on(F,Mr).on(ee,Kr),en(),pr(Dr)}}function Ft(){var er=Te.of(this,arguments);j?clearTimeout(j):(Z0.call(this),g=pe(w=q||e.mouse(this)),dr(er)),j=setTimeout(function(){j=null,pr(er)},50),re(),rr(Math.pow(2,Xr()*.002)*v.k),or(w,g),Sr(er)}function at(){var er=e.mouse(this),Dr=Math.log(v.k)/Math.LN2;ar(this,er,pe(er),e.event.shiftKey?Math.ceil(Dr)-1:Math.floor(Dr)+1)}return e.rebind(Me,Te,"on")};var ft=[0,1/0],Xr,bt;e.color=Lt;function Lt(){}Lt.prototype.toString=function(){return this.rgb()+""},e.hsl=ct;function ct(v,g,w){return this instanceof ct?(this.h=+v,this.s=+g,void(this.l=+w)):arguments.length<2?v instanceof ct?new ct(v.h,v.s,v.l):Zr(""+v,rt,ct):new ct(v,g,w)}var _t=ct.prototype=new Lt;_t.brighter=function(v){return v=Math.pow(.7,arguments.length?v:1),new ct(this.h,this.s,this.l/v)},_t.darker=function(v){return v=Math.pow(.7,arguments.length?v:1),new ct(this.h,this.s,v*this.l)},_t.rgb=function(){return Fa(this.h,this.s,this.l)};function Fa(v,g,w){var q,C;v=isNaN(v)?0:(v%=360)<0?v+360:v,g=isNaN(g)||g<0?0:g>1?1:g,w=w<0?0:w>1?1:w,C=w<=.5?w*(1+g):w+g-w*g,q=2*w-C;function S(E){return E>360?E-=360:E<0&&(E+=360),E<60?q+(C-q)*E/60:E<180?C:E<240?q+(C-q)*(240-E)/60:q}function N(E){return Math.round(S(E)*255)}return new Ia(N(v+120),N(v),N(v-120))}e.hcl=fa;function fa(v,g,w){return this instanceof fa?(this.h=+v,this.c=+g,void(this.l=+w)):arguments.length<2?v instanceof fa?new fa(v.h,v.c,v.l):v instanceof Qt?q0(v.l,v.a,v.b):q0((v=nr((v=e.rgb(v)).r,v.g,v.b)).l,v.a,v.b):new fa(v,g,w)}var ai=fa.prototype=new Lt;ai.brighter=function(v){return new fa(this.h,this.c,Math.min(100,this.l+it*(arguments.length?v:1)))},ai.darker=function(v){return new fa(this.h,this.c,Math.max(0,this.l-it*(arguments.length?v:1)))},ai.rgb=function(){return ni(this.h,this.c,this.l).rgb()};function ni(v,g,w){return isNaN(v)&&(v=0),isNaN(g)&&(g=0),new Qt(w,Math.cos(v*=Ar)*g,Math.sin(v)*g)}e.lab=Qt;function Qt(v,g,w){return this instanceof Qt?(this.l=+v,this.a=+g,void(this.b=+w)):arguments.length<2?v instanceof Qt?new Qt(v.l,v.a,v.b):v instanceof fa?ni(v.h,v.c,v.l):nr((v=Ia(v)).r,v.g,v.b):new Qt(v,g,w)}var it=18,ma=.95047,Do=1,Po=1.08883,Sl=Qt.prototype=new Lt;Sl.brighter=function(v){return new Qt(Math.min(100,this.l+it*(arguments.length?v:1)),this.a,this.b)},Sl.darker=function(v){return new Qt(Math.max(0,this.l-it*(arguments.length?v:1)),this.a,this.b)},Sl.rgb=function(){return k0(this.l,this.a,this.b)};function k0(v,g,w){var q=(v+16)/116,C=q+g/500,S=q-w/200;return C=ac(C)*ma,q=ac(q)*Do,S=ac(S)*Po,new Ia(ic(3.2404542*C-1.5371385*q-.4985314*S),ic(-.969266*C+1.8760108*q+.041556*S),ic(.0556434*C-.2040259*q+1.0572252*S))}function q0(v,g,w){return v>0?new fa(Math.atan2(w,g)*Ur,Math.sqrt(g*g+w*w),v):new fa(NaN,NaN,v)}function ac(v){return v>.206893034?v*v*v:(v-4/29)/7.787037}function nc(v){return v>.008856?Math.pow(v,1/3):7.787037*v+4/29}function ic(v){return Math.round(255*(v<=.00304?12.92*v:1.055*Math.pow(v,1/2.4)-.055))}e.rgb=Ia;function Ia(v,g,w){return this instanceof Ia?(this.r=~~v,this.g=~~g,void(this.b=~~w)):arguments.length<2?v instanceof Ia?new Ia(v.r,v.g,v.b):Zr(""+v,Ia,Fa):new Ia(v,g,w)}function C0(v){return new Ia(v>>16,v>>8&255,v&255)}function tu(v){return C0(v)+""}var au=Ia.prototype=new Lt;au.brighter=function(v){v=Math.pow(.7,arguments.length?v:1);var g=this.r,w=this.g,q=this.b,C=30;return!g&&!w&&!q?new Ia(C,C,C):(g&&g<C&&(g=C),w&&w<C&&(w=C),q&&q<C&&(q=C),new Ia(Math.min(255,g/v),Math.min(255,w/v),Math.min(255,q/v)))},au.darker=function(v){return v=Math.pow(.7,arguments.length?v:1),new Ia(v*this.r,v*this.g,v*this.b)},au.hsl=function(){return rt(this.r,this.g,this.b)},au.toString=function(){return"#"+mr(this.r)+mr(this.g)+mr(this.b)};function mr(v){return v<16?"0"+Math.max(0,v).toString(16):Math.min(255,v).toString(16)}function Zr(v,g,w){var q=0,C=0,S=0,N,E,F;if(N=/([a-z]+)\((.*)\)/.exec(v=v.toLowerCase()),N)switch(E=N[2].split(","),N[1]){case"hsl":return w(parseFloat(E[0]),parseFloat(E[1])/100,parseFloat(E[2])/100);case"rgb":return g(vt(E[0]),vt(E[1]),vt(E[2]))}return(F=ga.get(v))?g(F.r,F.g,F.b):(v!=null&&v.charAt(0)==="#"&&!isNaN(F=parseInt(v.slice(1),16))&&(v.length===4?(q=(F&3840)>>4,q=q>>4|q,C=F&240,C=C>>4|C,S=F&15,S=S<<4|S):v.length===7&&(q=(F&16711680)>>16,C=(F&65280)>>8,S=F&255)),g(q,C,S))}function rt(v,g,w){var q=Math.min(v/=255,g/=255,w/=255),C=Math.max(v,g,w),S=C-q,N,E,F=(C+q)/2;return S?(E=F<.5?S/(C+q):S/(2-C-q),v==C?N=(g-w)/S+(g<w?6:0):g==C?N=(w-v)/S+2:N=(v-g)/S+4,N*=60):(N=NaN,E=F>0&&F<1?0:N),new ct(N,E,F)}function nr(v,g,w){v=ya(v),g=ya(g),w=ya(w);var q=nc((.4124564*v+.3575761*g+.1804375*w)/ma),C=nc((.2126729*v+.7151522*g+.072175*w)/Do),S=nc((.0193339*v+.119192*g+.9503041*w)/Po);return Qt(116*C-16,500*(q-C),200*(C-S))}function ya(v){return(v/=255)<=.04045?v/12.92:Math.pow((v+.055)/1.055,2.4)}function vt(v){var g=parseFloat(v);return v.charAt(v.length-1)==="%"?Math.round(g*2.55):g}var ga=e.map({aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074});ga.forEach(function(v,g){ga.set(v,C0(g))});function Nr(v){return typeof v=="function"?v:function(){return v}}e.functor=Nr,e.xhr=ii(U);function ii(v){return function(g,w,q){return arguments.length===2&&typeof w=="function"&&(q=w,w=null),Eo(g,w,v,q)}}function Eo(v,g,w,q){var C={},S=e.dispatch("beforesend","progress","load","error"),N={},E=new XMLHttpRequest,F=null;self.XDomainRequest&&!("withCredentials"in E)&&/^(http(s)?:)?\/\//.test(v)&&(E=new XDomainRequest),"onload"in E?E.onload=E.onerror=J:E.onreadystatechange=function(){E.readyState>3&&J()};function J(){var $=E.status,j;if(!$&&XU(E)||$>=200&&$<300||$===304){try{j=w.call(C,E)}catch(ee){S.error.call(C,ee);return}S.load.call(C,j)}else S.error.call(C,E)}return E.onprogress=function($){var j=e.event;e.event=$;try{S.progress.call(C,E)}finally{e.event=j}},C.header=function($,j){return $=($+"").toLowerCase(),arguments.length<2?N[$]:(j==null?delete N[$]:N[$]=j+"",C)},C.mimeType=function($){return arguments.length?(g=$==null?null:$+"",C):g},C.responseType=function($){return arguments.length?(F=$,C):F},C.response=function($){return w=$,C},["get","post"].forEach(function($){C[$]=function(){return C.send.apply(C,[$].concat(t(arguments)))}}),C.send=function($,j,ee){if(arguments.length===2&&typeof j=="function"&&(ee=j,j=null),E.open($,v,!0),g!=null&&!("accept"in N)&&(N.accept=g+",*/*"),E.setRequestHeader)for(var me in N)E.setRequestHeader(me,N[me]);return g!=null&&E.overrideMimeType&&E.overrideMimeType(g),F!=null&&(E.responseType=F),ee!=null&&C.on("error",ee).on("load",function(Te){ee(null,Te)}),S.beforesend.call(C,E),E.send(j==null?null:j),C},C.abort=function(){return E.abort(),C},e.rebind(C,S,"on"),q==null?C:C.get(WU(q))}function WU(v){return v.length===1?function(g,w){v(g==null?w:null)}:v}function XU(v){var g=v.responseType;return g&&g!=="text"?v.response:v.responseText}e.dsv=function(v,g){var w=new RegExp('["'+v+` ]`),q=v.charCodeAt(0);function C(J,$,j){arguments.length<3&&(j=$,$=null);var ee=Eo(J,g,$==null?S:N($),j);return ee.row=function(me){return arguments.length?ee.response(($=me)==null?S:N(me)):$},ee}function S(J){return C.parse(J.responseText)}function N(J){return function($){return C.parse($.responseText,J)}}C.parse=function(J,$){var j;return C.parseRows(J,function(ee,me){if(j)return j(ee,me-1);var Te=function(ae){for(var oe={},he=ee.length,we=0;we<he;++we)oe[ee[we]]=ae[we];return oe};j=$?function(ae,oe){return $(Te(ae),oe)}:Te})},C.parseRows=function(J,$){var j={},ee={},me=[],Te=J.length,ae=0,oe=0,he,we;function Me(){if(ae>=Te)return ee;if(we)return we=!1,j;var Ue=ae;if(J.charCodeAt(Ue)===34){for(var rr=Ue;rr++<Te;)if(J.charCodeAt(rr)===34){if(J.charCodeAt(rr+1)!==34)break;++rr}ae=rr+2;var or=J.charCodeAt(rr+1);return or===13?(we=!0,J.charCodeAt(rr+2)===10&&++ae):or===10&&(we=!0),J.slice(Ue+1,rr).replace(/""/g,'"')}for(;ae<Te;){var or=J.charCodeAt(ae++),ar=1;if(or===10)we=!0;else if(or===13)we=!0,J.charCodeAt(ae)===10&&(++ae,++ar);else if(or!==q)continue;return J.slice(Ue,ae-ar)}return J.slice(Ue)}for(;(he=Me())!==ee;){for(var pe=[];he!==j&&he!==ee;)pe.push(he),he=Me();$&&(pe=$(pe,oe++))==null||me.push(pe)}return me},C.format=function(J){if(Array.isArray(J[0]))return C.formatRows(J);var $=new O,j=[];return J.forEach(function(ee){for(var me in ee)$.has(me)||j.push($.add(me))}),[j.map(F).join(v)].concat(J.map(function(ee){return j.map(function(me){return F(ee[me])}).join(v)})).join(` `)},C.formatRows=function(J){return J.map(E).join(` `)};function E(J){return J.map(F).join(v)}function F(J){return w.test(J)?'"'+J.replace(/\"/g,'""')+'"':J}return C},e.csv=e.dsv(",","text/csv"),e.tsv=e.dsv(" ","text/tab-separated-values");var L0,S0,D0,P0,C_=this[Y(this,"requestAnimationFrame")]||function(v){setTimeout(v,17)};e.timer=function(){E0.apply(this,arguments)};function E0(v,g,w){var q=arguments.length;q<2&&(g=0),q<3&&(w=Date.now());var C=w+g,S={c:v,t:C,n:null};return S0?S0.n=S:L0=S,S0=S,D0||(P0=clearTimeout(P0),D0=1,C_(Zm)),S}function Zm(){var v=L_(),g=S_()-v;g>24?(isFinite(g)&&(clearTimeout(P0),P0=setTimeout(Zm,g)),D0=0):(D0=1,C_(Zm))}e.timer.flush=function(){L_(),S_()};function L_(){for(var v=Date.now(),g=L0;g;)v>=g.t&&g.c(v-g.t)&&(g.c=null),g=g.n;return v}function S_(){for(var v,g=L0,w=1/0;g;)g.c?(g.t<w&&(w=g.t),g=(v=g).n):g=v?v.n=g.n:L0=g.n;return S0=v,w}e.round=function(v,g){return g?Math.round(v*(g=Math.pow(10,g)))/g:Math.round(v)},e.geom={};function nu(v){return v[0]}function lc(v){return v[1]}e.geom.hull=function(v){var g=nu,w=lc;if(arguments.length)return q(v);function q(C){if(C.length<3)return[];var S=Nr(g),N=Nr(w),E,F=C.length,J=[],$=[];for(E=0;E<F;E++)J.push([+S.call(this,C[E],E),+N.call(this,C[E],E),E]);for(J.sort(ZU),E=0;E<F;E++)$.push([J[E][0],-J[E][1]]);var j=D_(J),ee=D_($),me=ee[0]===j[0],Te=ee[ee.length-1]===j[j.length-1],ae=[];for(E=j.length-1;E>=0;--E)ae.push(C[J[j[E]][2]]);for(E=+me;E<ee.length-Te;++E)ae.push(C[J[ee[E]][2]]);return ae}return q.x=function(C){return arguments.length?(g=C,q):g},q.y=function(C){return arguments.length?(w=C,q):w},q};function D_(v){for(var g=v.length,w=[0,1],q=2,C=2;C<g;C++){for(;q>1&&Wr(v[w[q-2]],v[w[q-1]],v[C])<=0;)--q;w[q++]=C}return w.slice(0,q)}function ZU(v,g){return v[0]-g[0]||v[1]-g[1]}e.geom.polygon=function(v){return Q(v,R0),v};var R0=e.geom.polygon.prototype=[];R0.area=function(){for(var v=-1,g=this.length,w,q=this[g-1],C=0;++v<g;)w=q,q=this[v],C+=w[1]*q[0]-w[0]*q[1];return C*.5},R0.centroid=function(v){var g=-1,w=this.length,q=0,C=0,S,N=this[w-1],E;for(arguments.length||(v=-1/(6*this.area()));++g<w;)S=N,N=this[g],E=S[0]*N[1]-N[0]*S[1],q+=(S[0]+N[0])*E,C+=(S[1]+N[1])*E;return[q*v,C*v]},R0.clip=function(v){for(var g,w=P_(v),q=-1,C=this.length-P_(this),S,N,E=this[C-1],F,J,$;++q<C;){for(g=v.slice(),v.length=0,F=this[q],J=g[(N=g.length-w)-1],S=-1;++S<N;)$=g[S],Jm($,E,F)?(Jm(J,E,F)||v.push($m(J,$,E,F)),v.push($)):Jm(J,E,F)&&v.push($m(J,$,E,F)),J=$;w&&v.push(v[0]),E=F}return v};function Jm(v,g,w){return(w[0]-g[0])*(v[1]-g[1])<(w[1]-g[1])*(v[0]-g[0])}function $m(v,g,w,q){var C=v[0],S=w[0],N=g[0]-C,E=q[0]-S,F=v[1],J=w[1],$=g[1]-F,j=q[1]-J,ee=(E*(F-J)-j*(C-S))/(j*N-E*$);return[C+ee*N,F+ee*$]}function P_(v){var g=v[0],w=v[v.length-1];return!(g[0]-w[0]||g[1]-w[1])}var iu,Ro,lu,E_=[],Km,oc,R_=[];function JU(){F0(this),this.edge=this.site=this.circle=null}function z_(v){var g=E_.pop()||new JU;return g.site=v,g}function Qm(v){su(v),lu.remove(v),E_.push(v),F0(v)}function $U(v){var g=v.circle,w=g.x,q=g.cy,C={x:w,y:q},S=v.P,N=v.N,E=[v];Qm(v);for(var F=S;F.circle&&b(w-F.circle.x)<fe&&b(q-F.circle.cy)<fe;)S=F.P,E.unshift(F),Qm(F),F=S;E.unshift(F),su(F);for(var J=N;J.circle&&b(w-J.circle.x)<fe&&b(q-J.circle.cy)<fe;)N=J.N,E.push(J),Qm(J),J=N;E.push(J),su(J);var $=E.length,j;for(j=1;j<$;++j)J=E[j],F=E[j-1],z0(J.edge,F.site,J.site,C);F=E[0],J=E[$-1],J.edge=sc(F.site,J.site,null,C),ou(F),ou(J)}function KU(v){for(var g=v.x,w=v.y,q,C,S,N,E=lu._;E;)if(S=N_(E,w)-g,S>fe)E=E.L;else if(N=g-QU(E,w),N>fe){if(!E.R){q=E;break}E=E.R}else{S>-fe?(q=E.P,C=E):N>-fe?(q=E,C=E.N):q=C=E;break}var F=z_(v);if(lu.insert(q,F),!(!q&&!C)){if(q===C){su(q),C=z_(q.site),lu.insert(F,C),F.edge=C.edge=sc(q.site,F.site),ou(q),ou(C);return}if(!C){F.edge=sc(q.site,F.site);return}su(q),su(C);var J=q.site,$=J.x,j=J.y,ee=v.x-$,me=v.y-j,Te=C.site,ae=Te.x-$,oe=Te.y-j,he=2*(ee*oe-me*ae),we=ee*ee+me*me,Me=ae*ae+oe*oe,pe={x:(oe*we-me*Me)/he+$,y:(ee*Me-ae*we)/he+j};z0(C.edge,J,Te,pe),F.edge=sc(J,v,null,pe),C.edge=sc(v,Te,null,pe),ou(q),ou(C)}}function N_(v,g){var w=v.site,q=w.x,C=w.y,S=C-g;if(!S)return q;var N=v.P;if(!N)return-1/0;w=N.site;var E=w.x,F=w.y,J=F-g;if(!J)return E;var $=E-q,j=1/S-1/J,ee=$/J;return j?(-ee+Math.sqrt(ee*ee-2*j*($*$/(-2*J)-F+J/2+C-S/2)))/j+q:(q+E)/2}function QU(v,g){var w=v.N;if(w)return N_(w,g);var q=v.site;return q.y===g?q.x:1/0}function F_(v){this.site=v,this.edges=[]}F_.prototype.prepare=function(){for(var v=this.edges,g=v.length,w;g--;)w=v[g].edge,(!w.b||!w.a)&&v.splice(g,1);return v.sort(I_),v.length};function jU(v){for(var g=v[0][0],w=v[1][0],q=v[0][1],C=v[1][1],S,N,E,F,J=Ro,$=J.length,j,ee,me,Te,ae,oe;$--;)if(j=J[$],!(!j||!j.prepare()))for(me=j.edges,Te=me.length,ee=0;ee<Te;)oe=me[ee].end(),E=oe.x,F=oe.y,ae=me[++ee%Te].start(),S=ae.x,N=ae.y,(b(E-S)>fe||b(F-N)>fe)&&(me.splice(ee,0,new N0(nV(j.site,oe,b(E-g)<fe&&C-F>fe?{x:g,y:b(S-g)<fe?N:C}:b(F-C)<fe&&w-E>fe?{x:b(N-C)<fe?S:w,y:C}:b(E-w)<fe&&F-q>fe?{x:w,y:b(S-w)<fe?N:q}:b(F-q)<fe&&E-g>fe?{x:b(N-q)<fe?S:g,y:q}:null),j.site,null)),++Te)}function I_(v,g){return g.angle-v.angle}function eV(){F0(this),this.x=this.y=this.arc=this.site=this.cy=null}function ou(v){var g=v.P,w=v.N;if(!(!g||!w)){var q=g.site,C=v.site,S=w.site;if(q!==S){var N=C.x,E=C.y,F=q.x-N,J=q.y-E,$=S.x-N,oe=S.y-E,j=2*(F*oe-J*$);if(!(j>=-Se)){var ee=F*F+J*J,me=$*$+oe*oe,Te=(oe*ee-J*me)/j,ae=(F*me-$*ee)/j,oe=ae+E,he=R_.pop()||new eV;he.arc=v,he.site=C,he.x=Te+N,he.y=oe+Math.sqrt(Te*Te+ae*ae),he.cy=oe,v.circle=he;for(var we=null,Me=oc._;Me;)if(he.y<Me.y||he.y===Me.y&&he.x<=Me.x)if(Me.L)Me=Me.L;else{we=Me.P;break}else if(Me.R)Me=Me.R;else{we=Me;break}oc.insert(we,he),we||(Km=he)}}}}function su(v){var g=v.circle;g&&(g.P||(Km=g.N),oc.remove(g),R_.push(g),F0(g),v.circle=null)}function rV(v,g,w,q){return function(C){var S=C.a,N=C.b,E=S.x,F=S.y,J=N.x,$=N.y,j=0,ee=1,me=J-E,Te=$-F,ae;if(ae=v-E,!(!me&&ae>0)){if(ae/=me,me<0){if(ae<j)return;ae<ee&&(ee=ae)}else if(me>0){if(ae>ee)return;ae>j&&(j=ae)}if(ae=w-E,!(!me&&ae<0)){if(ae/=me,me<0){if(ae>ee)return;ae>j&&(j=ae)}else if(me>0){if(ae<j)return;ae<ee&&(ee=ae)}if(ae=g-F,!(!Te&&ae>0)){if(ae/=Te,Te<0){if(ae<j)return;ae<ee&&(ee=ae)}else if(Te>0){if(ae>ee)return;ae>j&&(j=ae)}if(ae=q-F,!(!Te&&ae<0)){if(ae/=Te,Te<0){if(ae>ee)return;ae>j&&(j=ae)}else if(Te>0){if(ae<j)return;ae<ee&&(ee=ae)}return j>0&&(C.a={x:E+j*me,y:F+j*Te}),ee<1&&(C.b={x:E+ee*me,y:F+ee*Te}),C}}}}}}function tV(v){for(var g=iu,w=rV(v[0][0],v[0][1],v[1][0],v[1][1]),q=g.length,C;q--;)C=g[q],(!aV(C,v)||!w(C)||b(C.a.x-C.b.x)<fe&&b(C.a.y-C.b.y)<fe)&&(C.a=C.b=null,g.splice(q,1))}function aV(v,g){var w=v.b;if(w)return!0;var q=v.a,C=g[0][0],S=g[1][0],N=g[0][1],E=g[1][1],F=v.l,J=v.r,$=F.x,j=F.y,ee=J.x,me=J.y,Te=($+ee)/2,ae=(j+me)/2,oe,he;if(me===j){if(Te<C||Te>=S)return;if($>ee){if(!q)q={x:Te,y:N};else if(q.y>=E)return;w={x:Te,y:E}}else{if(!q)q={x:Te,y:E};else if(q.y<N)return;w={x:Te,y:N}}}else if(oe=($-ee)/(me-j),he=ae-oe*Te,oe<-1||oe>1)if($>ee){if(!q)q={x:(N-he)/oe,y:N};else if(q.y>=E)return;w={x:(E-he)/oe,y:E}}else{if(!q)q={x:(E-he)/oe,y:E};else if(q.y<N)return;w={x:(N-he)/oe,y:N}}else if(j<me){if(!q)q={x:C,y:oe*C+he};else if(q.x>=S)return;w={x:S,y:oe*S+he}}else{if(!q)q={x:S,y:oe*S+he};else if(q.x<C)return;w={x:C,y:oe*C+he}}return v.a=q,v.b=w,!0}function H_(v,g){this.l=v,this.r=g,this.a=this.b=null}function sc(v,g,w,q){var C=new H_(v,g);return iu.push(C),w&&z0(C,v,g,w),q&&z0(C,g,v,q),Ro[v.i].edges.push(new N0(C,v,g)),Ro[g.i].edges.push(new N0(C,g,v)),C}function nV(v,g,w){var q=new H_(v,null);return q.a=g,q.b=w,iu.push(q),q}function z0(v,g,w,q){!v.a&&!v.b?(v.a=q,v.l=g,v.r=w):v.l===w?v.b=q:v.a=q}function N0(v,g,w){var q=v.a,C=v.b;this.edge=v,this.site=g,this.angle=w?Math.atan2(w.y-g.y,w.x-g.x):v.l===g?Math.atan2(C.x-q.x,q.y-C.y):Math.atan2(q.x-C.x,C.y-q.y)}N0.prototype={start:function(){return this.edge.l===this.site?this.edge.a:this.edge.b},end:function(){return this.edge.l===this.site?this.edge.b:this.edge.a}};function jm(){this._=null}function F0(v){v.U=v.C=v.L=v.R=v.P=v.N=null}jm.prototype={insert:function(v,g){var w,q,C;if(v){if(g.P=v,g.N=v.N,v.N&&(v.N.P=g),v.N=g,v.R){for(v=v.R;v.L;)v=v.L;v.L=g}else v.R=g;w=v}else this._?(v=O_(this._),g.P=null,g.N=v,v.P=v.L=g,w=v):(g.P=g.N=null,this._=g,w=null);for(g.L=g.R=null,g.U=w,g.C=!0,v=g;w&&w.C;)q=w.U,w===q.L?(C=q.R,C&&C.C?(w.C=C.C=!1,q.C=!0,v=q):(v===w.R&&(uc(this,w),v=w,w=v.U),w.C=!1,q.C=!0,fc(this,q))):(C=q.L,C&&C.C?(w.C=C.C=!1,q.C=!0,v=q):(v===w.L&&(fc(this,w),v=w,w=v.U),w.C=!1,q.C=!0,uc(this,q))),w=v.U;this._.C=!1},remove:function(v){v.N&&(v.N.P=v.P),v.P&&(v.P.N=v.N),v.N=v.P=null;var g=v.U,w,q=v.L,C=v.R,S,N;if(q?C?S=O_(C):S=q:S=C,g?g.L===v?g.L=S:g.R=S:this._=S,q&&C?(N=S.C,S.C=v.C,S.L=q,q.U=S,S!==C?(g=S.U,S.U=v.U,v=S.R,g.L=v,S.R=C,C.U=S):(S.U=g,g=S,v=S.R)):(N=v.C,v=S),v&&(v.U=g),!N){if(v&&v.C){v.C=!1;return}do{if(v===this._)break;if(v===g.L){if(w=g.R,w.C&&(w.C=!1,g.C=!0,uc(this,g),w=g.R),w.L&&w.L.C||w.R&&w.R.C){(!w.R||!w.R.C)&&(w.L.C=!1,w.C=!0,fc(this,w),w=g.R),w.C=g.C,g.C=w.R.C=!1,uc(this,g),v=this._;break}}else if(w=g.L,w.C&&(w.C=!1,g.C=!0,fc(this,g),w=g.L),w.L&&w.L.C||w.R&&w.R.C){(!w.L||!w.L.C)&&(w.R.C=!1,w.C=!0,uc(this,w),w=g.L),w.C=g.C,g.C=w.L.C=!1,fc(this,g),v=this._;break}w.C=!0,v=g,g=g.U}while(!v.C);v&&(v.C=!1)}}};function uc(v,g){var w=g,q=g.R,C=w.U;C?C.L===w?C.L=q:C.R=q:v._=q,q.U=C,w.U=q,w.R=q.L,w.R&&(w.R.U=w),q.L=w}function fc(v,g){var w=g,q=g.L,C=w.U;C?C.