oecd-simple-charts
Version:
D3 charting library for creating pearl charts, stacked bar charts and box plots
3 lines • 82.3 kB
JavaScript
!function(a,b){typeof exports==='object'&&typeof module!=='undefined'?b(exports):typeof define==='function'&&define.amd?define(['exports'],b):(b((a.OECDCharts={})))}(this,(function(m){'use strict';var u="http://www.w3.org/1999/xhtml",v={svg:"http://www.w3.org/2000/svg",xhtml:u,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function w(a){var b=a+="",c=b.indexOf(":");c>=0&&(b=a.slice(0,c))!=="xmlns"&&(a=a.slice(c+1));return v.hasOwnProperty(b)?{space:v[b],local:a}:a}function z(a){return function(){var b=this.ownerDocument,c=this.namespaceURI;return c===u&&b.documentElement.namespaceURI===u?b.createElement(a):b.createElementNS(c,a)}}function A(a){return function(){return this.ownerDocument.createElementNS(a.space,a.local)}}function B(a){var b=w(a);return(b.local?A:z)(b)}function C(){}function D(a){return a==null?C:function(){return this.querySelector(a)}}function E(a){typeof a!=="function"&&(a=D(a));for(var b=this._groups,c=b.length,d=new Array(c),e=0;e<c;++e){for(var f=b[e],g=f.length,h=d[e]=new Array(g),i,j,k=0;k<g;++k)(i=f[k])&&(j=a.call(i,i.__data__,k,f))&&("__data__" in i&&(j.__data__=i.__data__),h[k]=j)}return new bl(d,this._parents)}function F(){return[]}function G(a){return a==null?F:function(){return this.querySelectorAll(a)}}function H(a){typeof a!=="function"&&(a=G(a));for(var b=this._groups,c=b.length,d=[],e=[],f=0;f<c;++f){for(var g=b[f],h=g.length,i,j=0;j<h;++j)(i=g[j])&&(d.push(a.call(i,i.__data__,j,g)),e.push(i))}return new bl(d,e)}var I=function(a){return function(){return this.matches(a)}};if(typeof document!=="undefined"){var J=document.documentElement;if(!J.matches){var K=J.webkitMatchesSelector||J.msMatchesSelector||J.mozMatchesSelector||J.oMatchesSelector;I=function(a){return function(){return K.call(this,a)}}}}var L=I;function M(a){typeof a!=="function"&&(a=L(a));for(var b=this._groups,c=b.length,d=new Array(c),e=0;e<c;++e){for(var f=b[e],g=f.length,h=d[e]=[],i,j=0;j<g;++j)(i=f[j])&&a.call(i,i.__data__,j,f)&&h.push(i)}return new bl(d,this._parents)}function N(a){return new Array(a.length)}function O(){return new bl(this._enter||this._groups.map(N),this._parents)}function P(a,b){this.ownerDocument=a.ownerDocument;this.namespaceURI=a.namespaceURI;this._next=null;this._parent=a;this.__data__=b}P.prototype={constructor:P,appendChild:function(a){return this._parent.insertBefore(a,this._next)},insertBefore:function(a,b){return this._parent.insertBefore(a,b)},querySelector:function(a){return this._parent.querySelector(a)},querySelectorAll:function(a){return this._parent.querySelectorAll(a)}};function Q(a){return function(){return a}}var R="$";function S(a,b,c,d,e,f){var g=0,h,i=b.length,j=f.length;for(;g<j;++g)(h=b[g])?(h.__data__=f[g],d[g]=h):(c[g]=new P(a,f[g]));for(;g<i;++g)(h=b[g])&&(e[g]=h)}function T(a,b,c,d,e,f,g){var h,i,j={},k=b.length,l=f.length,m=new Array(k),n;for(h=0;h<k;++h)(i=b[h])&&(m[h]=n=R+g.call(i,i.__data__,h,b),n in j?(e[h]=i):(j[n]=i));for(h=0;h<l;++h)n=R+g.call(a,f[h],h,f),(i=j[n])?(d[h]=i,i.__data__=f[h],j[n]=null):(c[h]=new P(a,f[h]));for(h=0;h<k;++h)(i=b[h])&&j[m[h]]===i&&(e[h]=i)}function U(a,b){if(!a){o=new Array(this.size()), k=-1;this.each(function(a){o[++k]=a});return o}var c=b?T:S,e=this._parents,f=this._groups;typeof a!=="function"&&(a=Q(a));for(var g=f.length,h=new Array(g),i=new Array(g),j=new Array(g),k=0;k<g;++k){var l=e[k],m=f[k],n=m.length,o=a.call(l,l&&l.__data__,k,e),p=o.length,q=i[k]=new Array(p),r=h[k]=new Array(p),s=j[k]=new Array(n);c(l,m,q,r,s,o,b);for(var t=0,u=0,v,w;t<p;++t){if(v=q[t]){t>=u&&(u=t+1);while(!(w=r[u])&&++u<p);;v._next=w||null}}}h=new bl(h,e);h._enter=i;h._exit=j;return h}function V(){return new bl(this._exit||this._groups.map(N),this._parents)}function W(a){for(var b=this._groups,c=a._groups,d=b.length,e=c.length,f=Math.min(d,e),g=new Array(d),h=0;h<f;++h){for(var i=b[h],j=c[h],k=i.length,l=g[h]=new Array(k),m,n=0;n<k;++n)(m=i[n]||j[n])&&(l[n]=m)}for(;h<d;++h)g[h]=b[h];return new bl(g,this._parents)}function X(){for(var a=this._groups,b=-1,c=a.length;++b<c;){for(var d=a[b],e=d.length-1,f=d[e],g;--e>=0;)(g=d[e])&&(f&&f!==g.nextSibling&&f.parentNode.insertBefore(g,f),f=g)}return this}function Y(c){c||(c=Z);function d(a,b){return a&&b?c(a.__data__,b.__data__):!a-!b}for(var e=this._groups,f=e.length,g=new Array(f),h=0;h<f;++h){for(var i=e[h],j=i.length,k=g[h]=new Array(j),l,m=0;m<j;++m)(l=i[m])&&(k[m]=l);k.sort(d)}return new bl(g,this._parents).order()}function Z(a,b){return a<b?-1:a>b?1:a>=b?0:NaN}function $(){var a=arguments[0];arguments[0]=this;a.apply(null,arguments);return this}function aa(){var a=new Array(this.size()),b=-1;this.each(function(){a[++b]=this});return a}function ab(){for(var a=this._groups,b=0,c=a.length;b<c;++b){for(var d=a[b],e=0,f=d.length;e<f;++e){var g=d[e];if(g)return g}}return null}function ac(){var a=0;this.each(function(){++a});return a}function ad(){return!this.node()}function ae(a){for(var b=this._groups,c=0,d=b.length;c<d;++c){for(var e=b[c],f=0,g=e.length,h;f<g;++f)(h=e[f])&&a.call(h,h.__data__,f,e)}return this}function af(a){return function(){this.removeAttribute(a)}}function ag(a){return function(){this.removeAttributeNS(a.space,a.local)}}function ah(a,b){return function(){this.setAttribute(a,b)}}function ai(a,b){return function(){this.setAttributeNS(a.space,a.local,b)}}function aj(a,b){return function(){var c=b.apply(this,arguments);c==null?this.removeAttribute(a):this.setAttribute(a,c)}}function ak(a,b){return function(){var c=b.apply(this,arguments);c==null?this.removeAttributeNS(a.space,a.local):this.setAttributeNS(a.space,a.local,c)}}function al(a,b){var c=w(a);if(arguments.length<2){var d=this.node();return c.local?d.getAttributeNS(c.space,c.local):d.getAttribute(c)}return this.each((b==null?(c.local?ag:af):(typeof b==="function"?(c.local?ak:aj):(c.local?ai:ah)))(c,b))}function am(a){return a.ownerDocument&&a.ownerDocument.defaultView||a.document&&a||a.defaultView}function an(a){return function(){this.style.removeProperty(a)}}function ao(a,b,c){return function(){this.style.setProperty(a,b,c)}}function ap(a,b,c){return function(){var d=b.apply(this,arguments);d==null?this.style.removeProperty(a):this.style.setProperty(a,d,c)}}function aq(a,b,c){return arguments.length>1?this.each((b==null?an:typeof b==="function"?ap:ao)(a,b,c==null?"":c)):ar(this.node(),a)}function ar(a,b){return a.style.getPropertyValue(b)||am(a).getComputedStyle(a,null).getPropertyValue(b)}function as(a){return function(){delete this[a]}}function at(a,b){return function(){this[a]=b}}function au(a,b){return function(){var c=b.apply(this,arguments);c==null?delete this[a]:(this[a]=c)}}function av(a,b){return arguments.length>1?this.each((b==null?as:typeof b==="function"?au:at)(a,b)):this.node()[a]}function aw(a){return a.trim().split(/^|\s+/)}function ax(a){return a.classList||new ay(a)}function ay(a){this._node=a;this._names=aw(a.getAttribute("class")||"")}ay.prototype={add:function(a){var b=this._names.indexOf(a);b<0&&(this._names.push(a),this._node.setAttribute("class",this._names.join(" ")))},remove:function(a){var b=this._names.indexOf(a);b>=0&&(this._names.splice(b,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(a){return this._names.indexOf(a)>=0}};function az(a,b){var c=ax(a),d=-1,e=b.length;while(++d<e)c.add(b[d])}function aA(a,b){var c=ax(a),d=-1,e=b.length;while(++d<e)c.remove(b[d])}function aB(a){return function(){az(this,a)}}function aC(a){return function(){aA(this,a)}}function aD(a,b){return function(){(b.apply(this,arguments)?az:aA)(this,a)}}function aE(a,b){var c=aw(a+"");if(arguments.length<2){var d=ax(this.node()),e=-1,f=c.length;while(++e<f)if(!d.contains(c[e]))return !1;return !0}return this.each((typeof b==="function"?aD:b?aB:aC)(c,b))}function aF(){this.textContent=""}function aG(a){return function(){this.textContent=a}}function aH(a){return function(){var b=a.apply(this,arguments);this.textContent=b==null?"":b}}function aI(a){return arguments.length?this.each(a==null?aF:(typeof a==="function"?aH:aG)(a)):this.node().textContent}function aJ(){this.innerHTML=""}function aK(a){return function(){this.innerHTML=a}}function aL(a){return function(){var b=a.apply(this,arguments);this.innerHTML=b==null?"":b}}function aM(a){return arguments.length?this.each(a==null?aJ:(typeof a==="function"?aL:aK)(a)):this.node().innerHTML}function aN(){this.nextSibling&&this.parentNode.appendChild(this)}function aO(){return this.each(aN)}function aP(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function aQ(){return this.each(aP)}function aR(a){var b=typeof a==="function"?a:B(a);return this.select(function(){return this.appendChild(b.apply(this,arguments))})}function aS(){return null}function aT(a,b){var c=typeof a==="function"?a:B(a),d=b==null?aS:typeof b==="function"?b:D(b);return this.select(function(){return this.insertBefore(c.apply(this,arguments),d.apply(this,arguments)||null)})}function aU(){var a=this.parentNode;a&&a.removeChild(this)}function aV(){return this.each(aU)}function aW(){return this.parentNode.insertBefore(this.cloneNode(!1),this.nextSibling)}function aX(){return this.parentNode.insertBefore(this.cloneNode(!0),this.nextSibling)}function aY(a){return this.select(a?aX:aW)}function aZ(a){return arguments.length?this.property("__data__",a):this.node().__data__}var a_={};if(typeof document!=="undefined"){var a$=document.documentElement;("onmouseenter" in a$)||(a_={mouseenter:"mouseover",mouseleave:"mouseout"})}function ba(a,b,c){a=bb(a,b,c);return function(b){var c=b.relatedTarget;(!c||c!==this&&!(c.compareDocumentPosition(this)&8))&&a.call(this,b)}}function bb(a,b,c){return function(d){try{a.call(this,this.__data__,b,c)}finally{}}}function bc(a){return a.trim().split(/^|\s+/).map(function(a){var b="",c=a.indexOf(".");c>=0&&(b=a.slice(c+1), a=a.slice(0,c));return{type:a,name:b}})}function bd(a){return function(){var b=this.__on;if(!b)return;for(var c=0,d=-1,e=b.length,f;c<e;++c)(f=b[c], (!a.type||f.type===a.type)&&f.name===a.name)?this.removeEventListener(f.type,f.listener,f.capture):(b[++d]=f);++d?(b.length=d):delete this.__on}}function be(a,b,c){var e=a_.hasOwnProperty(a.type)?ba:bb;return function(d,f,g){var h=this.__on,i,j=e(b,f,g);if(h)for(var k=0,l=h.length;k<l;++k){if((i=h[k]).type===a.type&&i.name===a.name){this.removeEventListener(i.type,i.listener,i.capture);this.addEventListener(i.type,i.listener=j,i.capture=c);i.value=b;return}};this.addEventListener(a.type,j,c);i={type:a.type,name:a.name,value:b,listener:j,capture:c};h?h.push(i):(this.__on=[i])}}function bf(a,b,c){var d=bc(a+""),e,f=d.length,g;if(arguments.length<2){var h=this.node().__on;if(h)for(var i=0,j=h.length,k;i<j;++i){for(e=0, k=h[i];e<f;++e){if((g=d[e]).type===k.type&&g.name===k.name){return k.value}}};return}h=b?be:bd;c==null&&(c=!1);for(e=0;e<f;++e)this.each(h(d[e],b,c));return this}function bg(a,b,c){var d=am(a),e=d.CustomEvent;typeof e==="function"?(e=new e(b,c)):(e=d.document.createEvent("Event"),c?(e.initEvent(b,c.bubbles,c.cancelable), e.detail=c.detail):e.initEvent(b,!1,!1));a.dispatchEvent(e)}function bh(a,b){return function(){return bg(this,a,b)}}function bi(a,b){return function(){return bg(this,a,b.apply(this,arguments))}}function bj(a,b){return this.each((typeof b==="function"?bi:bh)(a,b))}var bk=[null];function bl(a,b){this._groups=a;this._parents=b}function bm(){return new bl([[document.documentElement]],bk)}bl.prototype=bm.prototype={constructor:bl,select:E,selectAll:H,filter:M,data:U,enter:O,exit:V,merge:W,order:X,sort:Y,call:$,nodes:aa,node:ab,size:ac,empty:ad,each:ae,attr:al,style:aq,property:av,classed:aE,text:aI,html:aM,raise:aO,lower:aQ,append:aR,insert:aT,remove:aV,clone:aY,datum:aZ,on:bf,dispatch:bj};function bn(a){return typeof a==="string"?new bl([[document.querySelector(a)]],[document.documentElement]):new bl([[a]],bk)}var bo=Array.prototype.slice;function bp(a){return a}var bq=1,br=2,bs=3,bt=4,bu=1e-6;function bv(a){return"translate("+(a+0.5)+",0)"}function bw(a){return"translate(0,"+(a+0.5)+")"}function bx(a){return function(b){return+a(b)}}function by(a){var b=Math.max(0,a.bandwidth()-1)/2;a.round()&&(b=Math.round(b));return function(c){return+a(c)+b}}function bz(){return!this.__axis}function bA(a,b){var c=[],e=null,f=null,g=6,h=6,i=3,j=a===bq||a===bt?-1:1,k=a===bt||a===br?"x":"y",l=a===bq||a===bs?bv:bw;function m(m){var n=e==null?(b.ticks?b.ticks.apply(b,c):b.domain()):e,o=f==null?(b.tickFormat?b.tickFormat.apply(b,c):bp):f,p=Math.max(g,0)+i,q=b.range(),r=+q[0]+0.5,s=+q[q.length-1]+0.5,t=(b.bandwidth?by:bx)(b.copy()),u=m.selection?m.selection():m,v=u.selectAll(".domain").data([null]),w=u.selectAll(".tick").data(n,b).order(),x=w.exit(),y=w.enter().append("g").attr("class","tick"),z=w.select("line"),A=w.select("text");v=v.merge(v.enter().insert("path",".tick").attr("class","domain").attr("stroke","#000"));w=w.merge(y);z=z.merge(y.append("line").attr("stroke","#000").attr(k+"2",j*g));A=A.merge(y.append("text").attr("fill","#000").attr(k,j*p).attr("dy",a===bq?"0em":a===bs?"0.71em":"0.32em"));m!==u&&(v=v.transition(m),w=w.transition(m),z=z.transition(m),A=A.transition(m),x=x.transition(m).attr("opacity",bu).attr("transform",function(a){return isFinite(a=t(a))?l(a):this.getAttribute("transform")}),y.attr("opacity",bu).attr("transform",function(a){var b=this.parentNode.__axis;return l(b&&isFinite(b=b(a))?b:t(a))}));x.remove();v.attr("d",a===bt||a==br?"M"+j*h+","+r+"H0.5V"+s+"H"+j*h:"M"+r+","+j*h+"V0.5H"+s+"V"+j*h);w.attr("opacity",1).attr("transform",function(a){return l(t(a))});z.attr(k+"2",j*g);A.attr(k,j*p).text(o);u.filter(bz).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",a===br?"start":a===bt?"end":"middle");u.each(function(){this.__axis=t})}m.scale=function(a){return arguments.length?(b=a, m):b};m.ticks=function(){return c=bo.call(arguments), m};m.tickArguments=function(a){return arguments.length?(c=a==null?[]:bo.call(a), m):c.slice()};m.tickValues=function(a){return arguments.length?(e=a==null?null:bo.call(a), m):e&&e.slice()};m.tickFormat=function(a){return arguments.length?(f=a, m):f};m.tickSize=function(a){return arguments.length?(g=h=+a, m):g};m.tickSizeInner=function(a){return arguments.length?(g=+a, m):g};m.tickSizeOuter=function(a){return arguments.length?(h=+a, m):h};m.tickPadding=function(a){return arguments.length?(i=+a, m):i};return m}function bB(a){return bA(bs,a)}function bC(a,b){if((c=(a=b?a.toExponential(b-1):a.toExponential()).indexOf("e"))<0)return null;var c,d=a.slice(0,c);return[d.length>1?d[0]+d.slice(2):d,+a.slice(c+1)]}function bD(a){return a=bC(Math.abs(a)), a?a[1]:NaN}function bE(a,b){return function(c,d){var e=c.length,f=[],g=0,h=a[0],i=0;while(e>0&&h>0){i+h+1>d&&(h=Math.max(1,d-i));f.push(c.substring(e-=h,e+h));if((i+=h+1)>d)break;h=a[g=(g+1)%a.length]}return f.reverse().join(b)}}function bF(a){return function(b){return b.replace(/[0-9]/g,function(b){return a[+b]})}}function bG(a,b){a=a.toPrecision(b);out: for(var c=a.length,d=1,e=-1,f;d<c;++d){switch(a[d]){case ".":e=f=d;break;case "0":e===0&&(e=d);f=d;break;case "e":break out;default:e>0&&(e=0);break}};return e>0?a.slice(0,e)+a.slice(f+1):a}var bH;function bI(a,b){var c=bC(a,b);if(!c)return a+"";var d=c[0],e=c[1],f=e-(bH=Math.max(-8,Math.min(8,Math.floor(e/3)))*3)+1,g=d.length;return f===g?d:f>g?d+new Array(f-g+1).join("0"):f>0?d.slice(0,f)+"."+d.slice(f):"0."+new Array(1-f).join("0")+bC(a,Math.max(0,b+f-1))[0]}function bJ(a,b){var c=bC(a,b);if(!c)return a+"";var d=c[0],e=c[1];return e<0?"0."+new Array(-e).join("0")+d:d.length>e+1?d.slice(0,e+1)+"."+d.slice(e+1):d+new Array(e-d.length+2).join("0")}var bK={"":bG,"%":function(a,b){return(a*100).toFixed(b)},"b":function(a){return Math.round(a).toString(2)},"c":function(a){return a+""},"d":function(a){return Math.round(a).toString(10)},"e":function(a,b){return a.toExponential(b)},"f":function(a,b){return a.toFixed(b)},"g":function(a,b){return a.toPrecision(b)},"o":function(a){return Math.round(a).toString(8)},"p":function(a,b){return bJ(a*100,b)},"r":bJ,"s":bI,"X":function(a){return Math.round(a).toString(16).toUpperCase()},"x":function(a){return Math.round(a).toString(16)}},bL=/^(?:(.)?([<>=^]))?([+\-\( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?([a-z%])?$/i;function bM(a){return new bN(a)}bM.prototype=bN.prototype;function bN(a){if(!(b=bL.exec(a)))throw new Error("invalid format: "+a);var b,c=b[1]||" ",d=b[2]||">",e=b[3]||"-",f=b[4]||"",g=!!b[5],h=b[6]&&+b[6],i=!!b[7],j=b[8]&&+b[8].slice(1),k=b[9]||"";k==="n"?(i=!0, k="g"):bK[k]||(k="");(g||c==="0"&&d==="=")&&(g=!0, c="0", d="=");this.fill=c;this.align=d;this.sign=e;this.symbol=f;this.zero=g;this.width=h;this.comma=i;this.precision=j;this.type=k}bN.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width==null?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision==null?"":"."+Math.max(0,this.precision|0))+this.type};function bO(a){return a}var bP=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function bQ(a){var b=a.grouping&&a.thousands?bE(a.grouping,a.thousands):bO,c=a.currency,d=a.decimal,e=a.numerals?bF(a.numerals):bO,f=a.percent||"%";function g(a){a=bM(a);var g=a.fill,h=a.align,i=a.sign,j=a.symbol,k=a.zero,l=a.width,m=a.comma,n=a.precision,o=a.type,p=j==="$"?c[0]:j==="#"&&/[boxX]/.test(o)?"0"+o.toLowerCase():"",q=j==="$"?c[1]:/[%p]/.test(o)?f:"",r=bK[o],s=!o||/[defgprs%]/.test(o);n=n==null?(o?6:12):/[gprs]/.test(o)?Math.max(1,Math.min(21,n)):Math.max(0,Math.min(20,n));function t(a){var c=p,f=q,j,t,u;if(o==="c")f=r(a)+f,a="";else{a=+a;var v=a<0;a=r(Math.abs(a),n);v&&+a===0&&(v=!1);c=(v?(i==="("?i:"-"):i==="-"||i==="("?"":i)+c;f=(o==="s"?bP[8+bH/3]:"")+f+(v&&i==="("?")":"");if(s){j=-1, t=a.length;while(++j<t){if(u=a.charCodeAt(j), 48>u||u>57){f=(u===46?d+a.slice(j+1):a.slice(j))+f;a=a.slice(0,j);break}}}}m&&!k&&(a=b(a,Infinity));var w=c.length+a.length+f.length,x=w<l?new Array(l-w+1).join(g):"";m&&k&&(a=b(x+a,x.length?l-f.length:Infinity), x="");switch(h){case "<":a=c+a+f+x;break;case "=":a=c+x+a+f;break;case "^":a=x.slice(0,w=x.length>>1)+c+a+f+x.slice(w);break;default:a=x+c+a+f;break};return e(a)}t.toString=function(){return a+""};return t}function h(a,b){var c=g((a=bM(a), a.type="f", a)),d=Math.max(-8,Math.min(8,Math.floor(bD(b)/3)))*3,e=Math.pow(10,-d),f=bP[8+d/3];return function(a){return c(e*a)+f}}return{format:g,formatPrefix:h}}var bR,bS,bT;bU({decimal:".",thousands:",",grouping:[3],currency:["$",""]});function bU(a){bR=bQ(a);bS=bR.format;bT=bR.formatPrefix;return bR}function bV(a){return Math.max(0,-bD(Math.abs(a)))}function bW(a,b){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(bD(b)/3)))*3-bD(Math.abs(a)))}function bX(a,b){a=Math.abs(a), b=Math.abs(b)-a;return Math.max(0,bD(b)-bD(a))+1}function bY(a,b){return a<b?-1:a>b?1:a>=b?0:NaN}function bZ(b){b.length===1&&(b=b_(b));return{left:function(a,c,d,e){d==null&&(d=0);e==null&&(e=a.length);while(d<e){var f=d+e>>>1;b(a[f],c)<0?(d=f+1):(e=f)}return d},right:function(a,c,d,e){d==null&&(d=0);e==null&&(e=a.length);while(d<e){var f=d+e>>>1;b(a[f],c)>0?(e=f):(d=f+1)}return d}}}function b_(a){return function(b,c){return bY(a(b),c)}}var b$=bZ(bY),ca=b$.right,cc=Math.sqrt(50),cd=Math.sqrt(10),ce=Math.sqrt(2);function cf(a,b,c){var d,e=-1,f,g,h;b=+b, a=+a, c=+c;if(a===b&&c>0)return[a];(d=b<a)&&(f=a, a=b, b=f);if((h=cg(a,b,c))===0||!isFinite(h))return[];if(h>0){a=Math.ceil(a/h);b=Math.floor(b/h);g=new Array(f=Math.ceil(b-a+1));while(++e<f)g[e]=(a+e)*h}else{a=Math.floor(a*h);b=Math.ceil(b*h);g=new Array(f=Math.ceil(a-b+1));while(++e<f)g[e]=(a-e)/h}d&&g.reverse();return g}function cg(a,b,c){var d=(b-a)/Math.max(0,c),e=Math.floor(Math.log(d)/Math.LN10),f=d/Math.pow(10,e);return e>=0?(f>=cc?10:f>=cd?5:f>=ce?2:1)*Math.pow(10,e):-Math.pow(10,-e)/(f>=cc?10:f>=cd?5:f>=ce?2:1)}function ch(a,b,c){var d=Math.abs(b-a)/Math.max(0,c),e=Math.pow(10,Math.floor(Math.log(d)/Math.LN10)),f=d/e;f>=cc?(e*=10):f>=cd?(e*=5):f>=ce&&(e*=2);return b<a?-e:e}function ci(a,b){var c=a.length,d=-1,e,f=0;if(b==null){while(++d<c)(e=+a[d])&&(f+=e)}else{while(++d<c)(e=+b(a[d],d,a))&&(f+=e)}return f}var cj="$";function ck(){}ck.prototype=cl.prototype={constructor:ck,has:function(a){return cj+a in this},get:function(a){return this[cj+a]},set:function(a,b){this[cj+a]=b;return this},remove:function(a){var b=cj+a;return b in this&&delete this[b]},clear:function(){for(y in this)property[0]===prefix&&delete this[property]},keys:function(){var a=[];for(y in this)property[0]===prefix&&keys.push(property.slice(1));return a},values:function(){var a=[];for(y in this)property[0]===prefix&&values.push(this[property]);return a},entries:function(){var a=[];for(y in this)property[0]===prefix&&entries.push({key:property.slice(1),value:this[property]});return a},size:function(){var a=0;for(y in this)property[0]===prefix&&++size;return a},empty:function(){for(y in this)if(property[0]===prefix)return !1;return !0},each:function(a){for(y in this)property[0]===prefix&&f(this[property],property.slice(1),this)}};function cl(a,b){var c=new ck;if(a instanceof ck)a.each(function(a,b){c.set(b,a)});else if(Array.isArray(a)){var d=-1,e=a.length,f;if(b==null)while(++d<e)c.set(d,a[d]);else while(++d<e)c.set(b(f=a[d],d,a),f)}else if(a)for(var g in a)c.set(g,a[g]);return c}function cm(){}var cn=cl.prototype;cm.prototype=co.prototype={constructor:cm,has:cn.has,add:function(a){a+="";this[cj+a]=a;return this},remove:cn.remove,clear:cn.clear,values:cn.keys,size:cn.size,empty:cn.empty,each:cn.each};function co(a,b){var c=new cm;if(a instanceof cm)a.each(function(a){c.add(a)});else if(a){var d=-1,e=a.length;if(b==null)while(++d<e)c.add(a[d]);else while(++d<e)c.add(b(a[d],d,a))};return c}var cp=Array.prototype,cq=cp.map,cr=cp.slice;function cs(a,b,c){a.prototype=b.prototype=c;c.constructor=a}function ct(a,b){var c=Object.create(a.prototype);for(var d in b)c[d]=b[d];return c}function cu(){}var cv=0.7,cw=1/cv,cx="\\s*([+-]?\\d+)\\s*",cy="\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)\\s*",cz="\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)%\\s*",cA=/^#([0-9a-f]{3})$/,cB=/^#([0-9a-f]{6})$/,cC=new RegExp("^rgb\\([object Object]\\)$"),cD=new RegExp("^rgb\\([object Object]\\)$"),cE=new RegExp("^rgba\\([object Object]\\)$"),cF=new RegExp("^rgba\\([object Object]\\)$"),cG=new RegExp("^hsl\\([object Object]\\)$"),cH=new RegExp("^hsla\\([object Object]\\)$"),cI={aliceblue:0xf0f8ff,antiquewhite:0xfaebd7,aqua:0x00ffff,aquamarine:0x7fffd4,azure:0xf0ffff,beige:0xf5f5dc,bisque:0xffe4c4,black:0x000000,blanchedalmond:0xffebcd,blue:0x0000ff,blueviolet:0x8a2be2,brown:0xa52a2a,burlywood:0xdeb887,cadetblue:0x5f9ea0,chartreuse:0x7fff00,chocolate:0xd2691e,coral:0xff7f50,cornflowerblue:0x6495ed,cornsilk:0xfff8dc,crimson:0xdc143c,cyan:0x00ffff,darkblue:0x00008b,darkcyan:0x008b8b,darkgoldenrod:0xb8860b,darkgray:0xa9a9a9,darkgreen:0x006400,darkgrey:0xa9a9a9,darkkhaki:0xbdb76b,darkmagenta:0x8b008b,darkolivegreen:0x556b2f,darkorange:0xff8c00,darkorchid:0x9932cc,darkred:0x8b0000,darksalmon:0xe9967a,darkseagreen:0x8fbc8f,darkslateblue:0x483d8b,darkslategray:0x2f4f4f,darkslategrey:0x2f4f4f,darkturquoise:0x00ced1,darkviolet:0x9400d3,deeppink:0xff1493,deepskyblue:0x00bfff,dimgray:0x696969,dimgrey:0x696969,dodgerblue:0x1e90ff,firebrick:0xb22222,floralwhite:0xfffaf0,forestgreen:0x228b22,fuchsia:0xff00ff,gainsboro:0xdcdcdc,ghostwhite:0xf8f8ff,gold:0xffd700,goldenrod:0xdaa520,gray:0x808080,green:0x008000,greenyellow:0xadff2f,grey:0x808080,honeydew:0xf0fff0,hotpink:0xff69b4,indianred:0xcd5c5c,indigo:0x4b0082,ivory:0xfffff0,khaki:0xf0e68c,lavender:0xe6e6fa,lavenderblush:0xfff0f5,lawngreen:0x7cfc00,lemonchiffon:0xfffacd,lightblue:0xadd8e6,lightcoral:0xf08080,lightcyan:0xe0ffff,lightgoldenrodyellow:0xfafad2,lightgray:0xd3d3d3,lightgreen:0x90ee90,lightgrey:0xd3d3d3,lightpink:0xffb6c1,lightsalmon:0xffa07a,lightseagreen:0x20b2aa,lightskyblue:0x87cefa,lightslategray:0x778899,lightslategrey:0x778899,lightsteelblue:0xb0c4de,lightyellow:0xffffe0,lime:0x00ff00,limegreen:0x32cd32,linen:0xfaf0e6,magenta:0xff00ff,maroon:0x800000,mediumaquamarine:0x66cdaa,mediumblue:0x0000cd,mediumorchid:0xba55d3,mediumpurple:0x9370db,mediumseagreen:0x3cb371,mediumslateblue:0x7b68ee,mediumspringgreen:0x00fa9a,mediumturquoise:0x48d1cc,mediumvioletred:0xc71585,midnightblue:0x191970,mintcream:0xf5fffa,mistyrose:0xffe4e1,moccasin:0xffe4b5,navajowhite:0xffdead,navy:0x000080,oldlace:0xfdf5e6,olive:0x808000,olivedrab:0x6b8e23,orange:0xffa500,orangered:0xff4500,orchid:0xda70d6,palegoldenrod:0xeee8aa,palegreen:0x98fb98,paleturquoise:0xafeeee,palevioletred:0xdb7093,papayawhip:0xffefd5,peachpuff:0xffdab9,peru:0xcd853f,pink:0xffc0cb,plum:0xdda0dd,powderblue:0xb0e0e6,purple:0x800080,rebeccapurple:0x663399,red:0xff0000,rosybrown:0xbc8f8f,royalblue:0x4169e1,saddlebrown:0x8b4513,salmon:0xfa8072,sandybrown:0xf4a460,seagreen:0x2e8b57,seashell:0xfff5ee,sienna:0xa0522d,silver:0xc0c0c0,skyblue:0x87ceeb,slateblue:0x6a5acd,slategray:0x708090,slategrey:0x708090,snow:0xfffafa,springgreen:0x00ff7f,steelblue:0x4682b4,tan:0xd2b48c,teal:0x008080,thistle:0xd8bfd8,tomato:0xff6347,turquoise:0x40e0d0,violet:0xee82ee,wheat:0xf5deb3,white:0xffffff,whitesmoke:0xf5f5f5,yellow:0xffff00,yellowgreen:0x9acd32};cs(cu,cJ,{displayable:function(){return this.rgb().displayable()},toString:function(){return this.rgb()+""}});function cJ(a){var b;a=(a+"").trim().toLowerCase();return(b=cA.exec(a))?(b=parseInt(b[1],16), new cO(b>>8&0xf|b>>4&0x0f0,b>>4&0xf|b&0xf0,(b&0xf)<<4|b&0xf,1)):(b=cB.exec(a))?cK(parseInt(b[1],16)):(b=cC.exec(a))?new cO(b[1],b[2],b[3],1):(b=cD.exec(a))?new cO(b[1]*255/100,b[2]*255/100,b[3]*255/100,1):(b=cE.exec(a))?cL(b[1],b[2],b[3],b[4]):(b=cF.exec(a))?cL(b[1]*255/100,b[2]*255/100,b[3]*255/100,b[4]):(b=cG.exec(a))?cP(b[1],b[2]/100,b[3]/100,1):(b=cH.exec(a))?cP(b[1],b[2]/100,b[3]/100,b[4]):cI.hasOwnProperty(a)?cK(cI[a]):a==="transparent"?new cO(NaN,NaN,NaN,0):null}function cK(a){return new cO(a>>16&0xff,a>>8&0xff,a&0xff,1)}function cL(a,b,c,d){d<=0&&(a=b=c=NaN);return new cO(a,b,c,d)}function cM(a){(a instanceof cu)||(a=cJ(a));if(!a)return new cO;a=a.rgb();return new cO(a.r,a.g,a.b,a.opacity)}function cN(a,b,c,d){return arguments.length===1?cM(a):new cO(a,b,c,d==null?1:d)}function cO(a,b,c,d){this.r=+a;this.g=+b;this.b=+c;this.opacity=+d}cs(cO,cN,ct(cu,{brighter:function(a){a=a==null?cw:Math.pow(cw,a);return new cO(this.r*a,this.g*a,this.b*a,this.opacity)},darker:function(a){a=a==null?cv:Math.pow(cv,a);return new cO(this.r*a,this.g*a,this.b*a,this.opacity)},rgb:function(){return this},displayable:function(){return 0<=this.r&&this.r<=255&&(0<=this.g&&this.g<=255)&&(0<=this.b&&this.b<=255)&&(0<=this.opacity&&this.opacity<=1)},toString:function(){var a=this.opacity;a=isNaN(a)?1:Math.max(0,Math.min(1,a));return(a===1?"rgb(":"rgba(")+Math.max(0,Math.min(255,Math.round(this.r)||0))+", "+Math.max(0,Math.min(255,Math.round(this.g)||0))+", "+Math.max(0,Math.min(255,Math.round(this.b)||0))+(a===1?")":", "+a+")")}}));function cP(a,b,c,d){d<=0?(a=b=c=NaN):c<=0||c>=1?(a=b=NaN):b<=0&&(a=NaN);return new cS(a,b,c,d)}function cQ(a){if(a instanceof cS)return new cS(a.h,a.s,a.l,a.opacity);(a instanceof cu)||(a=cJ(a));if(!a)return new cS;if(a instanceof cS)return a;a=a.rgb();var b=a.r/255,c=a.g/255,d=a.b/255,e=Math.min(b,c,d),f=Math.max(b,c,d),g=NaN,h=f-e,i=(f+e)/2;h?(b===f?(g=(c-d)/h+(c<d)*6):c===f?(g=(d-b)/h+2):(g=(b-c)/h+4),h/=i<0.5?f+e:2-f-e,g*=60):(h=i>0&&i<1?0:g);return new cS(g,h,i,a.opacity)}function cR(a,b,c,d){return arguments.length===1?cQ(a):new cS(a,b,c,d==null?1:d)}function cS(a,b,c,d){this.h=+a;this.s=+b;this.l=+c;this.opacity=+d}cs(cS,cR,ct(cu,{brighter:function(a){a=a==null?cw:Math.pow(cw,a);return new cS(this.h,this.s,this.l*a,this.opacity)},darker:function(a){a=a==null?cv:Math.pow(cv,a);return new cS(this.h,this.s,this.l*a,this.opacity)},rgb:function(){var a=this.h%360+(this.h<0)*360,b=isNaN(a)||isNaN(this.s)?0:this.s,c=this.l,d=c+(c<0.5?c:1-c)*b,e=2*c-d;return new cO(cT(a>=240?a-240:a+120,e,d),cT(a,e,d),cT(a<120?a+240:a-120,e,d),this.opacity)},displayable:function(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&(0<=this.l&&this.l<=1)&&(0<=this.opacity&&this.opacity<=1)}}));function cT(a,b,c){return(a<60?b+(c-b)*a/60:a<180?c:a<240?b+(c-b)*(240-a)/60:b)*255}var cU=Math.PI/180,cV=180/Math.PI,cW=18,cX=0.950470,cY=1,cZ=1.088830,c_=0.13793103448275862,c$=0.20689655172413793,da=3*c$*c$,db=c$*c$*c$;function dc(a){if(a instanceof de)return new de(a.l,a.a,a.b,a.opacity);if(a instanceof dl){var b=a.h*cU;return new de(a.l,Math.cos(b)*a.c,Math.sin(b)*a.c,a.opacity)}(a instanceof cO)||(a=cM(a));var c=di(a.r),d=di(a.g),e=di(a.b),f=df((0.4124564*c+0.3575761*d+0.1804375*e)/cX),g=df((0.2126729*c+0.7151522*d+0.0721750*e)/cY),h=df((0.0193339*c+0.1191920*d+0.9503041*e)/cZ);return new de(116*g-16,500*(f-g),200*(g-h),a.opacity)}function dd(a,b,c,d){return arguments.length===1?dc(a):new de(a,b,c,d==null?1:d)}function de(a,b,c,d){this.l=+a;this.a=+b;this.b=+c;this.opacity=+d}cs(de,dd,ct(cu,{brighter:function(a){return new de(this.l+cW*(a==null?1:a),this.a,this.b,this.opacity)},darker:function(a){return new de(this.l-cW*(a==null?1:a),this.a,this.b,this.opacity)},rgb:function(){var a=(this.l+16)/116,b=isNaN(this.a)?a:a+this.a/500,c=isNaN(this.b)?a:a-this.b/200;a=cY*dg(a);b=cX*dg(b);c=cZ*dg(c);return new cO(dh(3.2404542*b-1.5371385*a-0.4985314*c),dh(-0.969266*b+1.8760108*a+0.0415560*c),dh(0.0556434*b-0.2040259*a+1.0572252*c),this.opacity)}}));function df(a){return a>db?Math.pow(a,0.3333333333333333):a/da+c_}function dg(a){return a>c$?a*a*a:da*(a-c_)}function dh(a){return 255*(a<=0.0031308?12.92*a:1.055*Math.pow(a,0.4166666666666667)-0.055)}function di(a){return(a/=255)<=0.04045?a/12.92:Math.pow((a+0.055)/1.055,2.4)}function dj(a){if(a instanceof dl)return new dl(a.h,a.c,a.l,a.opacity);(a instanceof de)||(a=dc(a));var b=Math.atan2(a.b,a.a)*cV;return new dl(b<0?b+360:b,Math.sqrt(a.a*a.a+a.b*a.b),a.l,a.opacity)}function dk(a,b,c,d){return arguments.length===1?dj(a):new dl(a,b,c,d==null?1:d)}function dl(a,b,c,d){this.h=+a;this.c=+b;this.l=+c;this.opacity=+d}cs(dl,dk,ct(cu,{brighter:function(a){return new dl(this.h,this.c,this.l+cW*(a==null?1:a),this.opacity)},darker:function(a){return new dl(this.h,this.c,this.l-cW*(a==null?1:a),this.opacity)},rgb:function(){return dc(this).rgb()}}));var dm=-0.14861,dn=1.78277,dp=-0.29227,dq=-0.90649,dr=1.97294,ds=dr*dq,dt=dr*dn,du=dn*dp-dq*dm;function dv(a){if(a instanceof dx)return new dx(a.h,a.s,a.l,a.opacity);(a instanceof cO)||(a=cM(a));var b=a.r/255,c=a.g/255,d=a.b/255,e=(du*d+ds*b-dt*c)/(du+ds-dt),f=d-e,g=(dr*(c-e)-dp*f)/dq,h=Math.sqrt(g*g+f*f)/(dr*e*(1-e)),i=h?Math.atan2(g,f)*cV-120:NaN;return new dx(i<0?i+360:i,h,e,a.opacity)}function dw(a,b,c,d){return arguments.length===1?dv(a):new dx(a,b,c,d==null?1:d)}function dx(a,b,c,d){this.h=+a;this.s=+b;this.l=+c;this.opacity=+d}cs(dx,dw,ct(cu,{brighter:function(a){a=a==null?cw:Math.pow(cw,a);return new dx(this.h,this.s,this.l*a,this.opacity)},darker:function(a){a=a==null?cv:Math.pow(cv,a);return new dx(this.h,this.s,this.l*a,this.opacity)},rgb:function(){var a=isNaN(this.h)?0:(this.h+120)*cU,b=+this.l,c=isNaN(this.s)?0:this.s*b*(1-b),d=Math.cos(a),e=Math.sin(a);return new cO(255*(b+c*(dm*d+dn*e)),255*(b+c*(dp*d+dq*e)),255*(b+c*(dr*d)),this.opacity)}}));function dy(a){return function(){return a}}function dz(a,b){return function(c){return a+c*b}}function dA(a,b,c){return a=Math.pow(a,c), b=Math.pow(b,c)-a, c=1/c, function(d){return Math.pow(a+d*b,c)}}function dB(a,b){var c=b-a;return c?dz(a,c>180||c<-180?c-360*Math.round(c/360):c):dy(isNaN(a)?b:a)}function dC(c){return(c=+c)===1?dD:function(a,b){return b-a?dA(a,b,c):dy(isNaN(a)?b:a)}}function dD(a,b){var c=b-a;return c?dz(a,c):dy(isNaN(a)?b:a)}var dE=(function b(a){var c=dC(a);function d(a,b){var d=c((a=cN(a)).r,(b=cN(b)).r),e=c(a.g,b.g),f=c(a.b,b.b),g=dD(a.opacity,b.opacity);return function(b){a.r=d(b);a.g=e(b);a.b=f(b);a.opacity=g(b);return a+""}}d.gamma=b;return d})(1);function dF(a,b){var c=b?b.length:0,d=a?Math.min(c,a.length):0,e=new Array(d),f=new Array(c),g;for(g=0;g<d;++g)e[g]=dO(a[g],b[g]);for(;g<c;++g)f[g]=b[g];return function(a){for(g=0;g<d;++g)f[g]=e[g](a);return f}}function dG(a,b){var c=new Date;return a=+a, b-=a, function(d){return c.setTime(a+b*d), c}}function dH(a,b){return a=+a, b-=a, function(c){return a+b*c}}function dI(a,b){var c={},d={},e;(a===null||typeof a!=="object")&&(a={});(b===null||typeof b!=="object")&&(b={});for(e in b)e in a?(c[e]=dO(a[e],b[e])):(d[e]=b[e]);return function(a){for(e in c)d[e]=c[e](a);return d}}var dJ=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,dK=new RegExp(dJ.source,"g");function dL(a){return function(){return a}}function dM(a){return function(b){return a(b)+""}}function dN(a,b){var c=dJ.lastIndex=dK.lastIndex=0,d,e,f,g=-1,h=[],i=[];a+="", b+="";while((d=dJ.exec(a))&&(e=dK.exec(b)))(f=e.index)>c&&(f=b.slice(c,f),h[g]?(h[g]+=f):(h[++g]=f)),(d=d[0])===(e=e[0])?(h[g]?(h[g]+=e):(h[++g]=e)):(h[++g]=null,i.push({i:g,x:dH(d,e)})),c=dK.lastIndex;c<b.length&&(f=b.slice(c),h[g]?(h[g]+=f):(h[++g]=f));return h.length<2?(i[0]?dM(i[0].x):dL(b)):(b=i.length, function(a){for(var c=0,d;c<b;++c)h[(d=i[c]).i]=d.x(a);return h.join("")})}function dO(a,b){var c=typeof b,d;return b==null||c==="boolean"?dy(b):(c==="number"?dH:c==="string"?((d=cJ(b))?(b=d, dE):dN):b instanceof cJ?dE:b instanceof Date?dG:Array.isArray(b)?dF:typeof b.valueOf!=="function"&&typeof b.toString!=="function"||isNaN(b)?dI:dH)(a,b)}function dP(a,b){return a=+a, b-=a, function(c){return Math.round(a+b*c)}}var dQ=180/Math.PI,dR={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function dS(a,b,c,d,e,f){var g,h,i;(g=Math.sqrt(a*a+b*b))&&(a/=g, b/=g);(i=a*c+b*d)&&(c-=a*i, d-=b*i);(h=Math.sqrt(c*c+d*d))&&(c/=h, d/=h, i/=h);a*d<b*c&&(a=-a, b=-b, i=-i, g=-g);return{translateX:e,translateY:f,rotate:Math.atan2(b,a)*dQ,skewX:Math.atan(i)*dQ,scaleX:g,scaleY:h}}var dT,dU,dV,dW;function dX(a){if(a==="none")return dR;dT||(dT=document.createElement("DIV"), dU=document.documentElement, dV=document.defaultView);dT.style.transform=a;a=dV.getComputedStyle(dU.appendChild(dT),null).getPropertyValue("transform");dU.removeChild(dT);a=a.slice(7,-1).split(",");return dS(+a[0],+a[1],+a[2],+a[3],+a[4],+a[5])}function dY(a){if(a==null)return dR;dW||(dW=document.createElementNS("http://www.w3.org/2000/svg","g"));dW.setAttribute("transform",a);if(!(a=dW.transform.baseVal.consolidate()))return dR;a=a.matrix;return dS(a.a,a.b,a.c,a.d,a.e,a.f)}function dZ(c,d,e,f){function g(a){return a.length?a.pop()+" ":""}function h(a,b,c,f,g,h){if(a!==c||b!==f){var i=g.push("translate(",null,d,null,e);h.push({i:i-4,x:dH(a,c)},{i:i-2,x:dH(b,f)})}else (c||f)&&g.push("translate("+c+d+f+e)}function i(a,b,c,d){a!==b?(a-b>180?(b+=360):b-a>180&&(a+=360),d.push({i:c.push(g(c)+"rotate(",null,f)-2,x:dH(a,b)})):b&&c.push(g(c)+"rotate("+b+f)}function j(a,b,c,d){a!==b?d.push({i:c.push(g(c)+"skewX(",null,f)-2,x:dH(a,b)}):b&&c.push(g(c)+"skewX("+b+f)}function k(a,b,c,d,e,f){if(a!==c||b!==d){var h=e.push(g(e)+"scale(",null,",",null,")");f.push({i:h-4,x:dH(a,c)},{i:h-2,x:dH(b,d)})}else (c!==1||d!==1)&&e.push(g(e)+"scale("+c+","+d+")")}return function(a,b){var d=[],e=[];a=c(a), b=c(b);h(a.translateX,a.translateY,b.translateX,b.translateY,d,e);i(a.rotate,b.rotate,d,e);j(a.skewX,b.skewX,d,e);k(a.scaleX,a.scaleY,b.scaleX,b.scaleY,d,e);a=b=null;return function(a){var b=-1,c=e.length,f;while(++b<c)d[(f=e[b]).i]=f.x(a);return d.join("")}}}var d_=dZ(dX,"px, ","px)","deg)"),d$=dZ(dY,", ",")",")");function eb(a){return(function c(b){b=+b;function d(c,d){var e=a((c=dw(c)).h,(d=dw(d)).h),f=dD(c.s,d.s),g=dD(c.l,d.l),h=dD(c.opacity,d.opacity);return function(a){c.h=e(a);c.s=f(a);c.l=g(Math.pow(a,b));c.opacity=h(a);return c+""}}d.gamma=c;return d})(1)}eb(dB);var ec=eb(dD);function ed(a){return function(){return a}}function ee(a){return+a}var ef=[0,1];function eg(a,b){return(b-=a=+a)?function(c){return(c-a)/b}:ed(b)}function eh(c){return function(a,b){var d=c(a=+a,b=+b);return function(c){return c<=a?0:c>=b?1:d(c)}}}function ei(c){return function(a,b){var d=c(a=+a,b=+b);return function(c){return c<=0?a:c>=1?b:d(c)}}}function ej(a,b,c,d){var e=a[0],f=a[1],g=b[0],h=b[1];f<e?(e=c(f,e), g=d(h,g)):(e=c(e,f), g=d(g,h));return function(a){return g(e(a))}}function ek(a,b,c,d){var e=Math.min(a.length,b.length)-1,f=new Array(e),g=new Array(e),h=-1;a[e]<a[0]&&(a=a.slice().reverse(),b=b.slice().reverse());while(++h<e)f[h]=c(a[h],a[h+1]),g[h]=d(b[h],b[h+1]);return function(b){var c=ca(a,b,1,e)-1;return g[c](f[c](b))}}function el(a,b){return b.domain(a.domain()).range(a.range()).interpolate(a.interpolate()).clamp(a.clamp())}function em(a,b){var c=ef,d=ef,e=dO,f=!1,g,h,i;function j(){g=Math.min(c.length,d.length)>2?ek:ej;h=i=null;return k}function k(b){return(h||(h=g(c,d,f?eh(a):a,e)))(+b)}k.invert=function(a){return(i||(i=g(d,c,eg,f?ei(b):b)))(+a)};k.domain=function(a){return arguments.length?(c=cq.call(a,ee), j()):c.slice()};k.range=function(a){return arguments.length?(d=cr.call(a), j()):d.slice()};k.rangeRound=function(a){return d=cr.call(a), e=dP, j()};k.clamp=function(a){return arguments.length?(f=!!a, j()):f};k.interpolate=function(a){return arguments.length?(e=a, j()):e};return j()}function en(a,b,c){var d=a[0],e=a[a.length-1],f=ch(d,e,b==null?10:b),g;c=bM(c==null?",f":c);switch(c.type){case "s":{var h=Math.max(Math.abs(d),Math.abs(e));c.precision==null&&!isNaN(g=bW(f,h))&&(c.precision=g);return bT(c,h)};case "":;case "e":;case "g":;case "p":;case "r":{c.precision==null&&!isNaN(g=bX(f,Math.max(Math.abs(d),Math.abs(e))))&&(c.precision=g-(c.type==="e"));break};case "f":;case "%":{c.precision==null&&!isNaN(g=bV(f))&&(c.precision=g-(c.type==="%")*2);break}};return bS(c)}function eo(a){var b=a.domain;a.ticks=function(a){var c=b();return cf(c[0],c[c.length-1],a==null?10:a)};a.tickFormat=function(a,c){return en(b(),a,c)};a.nice=function(c){c==null&&(c=10);var d=b(),e=0,f=d.length-1,g=d[e],h=d[f],i;h<g&&(i=g, g=h, h=i,i=e, e=f, f=i);i=cg(g,h,c);i>0?(g=Math.floor(g/i)*i,h=Math.ceil(h/i)*i,i=cg(g,h,c)):i<0&&(g=Math.ceil(g*i)/i,h=Math.floor(h*i)/i,i=cg(g,h,c));i>0?(d[e]=Math.floor(g/i)*i,d[f]=Math.ceil(h/i)*i,b(d)):i<0&&(d[e]=Math.ceil(g*i)/i,d[f]=Math.floor(h*i)/i,b(d));return a};return a}function ep(){var a=em(eg,dH);a.copy=function(){return el(a,ep())};return eo(a)}var eq=new Date,er=new Date;function es(a,b,c,e){function f(b){return a(b=new Date(+b)), b}f.floor=f;f.ceil=function(c){return a(c=new Date(c-1)), b(c,1), a(c), c};f.round=function(a){var b=f(a),c=f.ceil(a);return a-b<c-a?b:c};f.offset=function(a,c){return b(a=new Date(+a),c==null?1:Math.floor(c)), a};f.range=function(c,d,e){var g=[],h;c=f.ceil(c);e=e==null?1:Math.floor(e);if(!(c<d)||!(e>0))return g;do{g.push(h=new Date(+c)), b(c,e), a(c)}while(h<c&&c<d);return g};f.filter=function(c){return es(function(b){if(b>=b)while(a(b), !c(b))b.setTime(b-1)},function(a,d){if(a>=a){if(d<0)while(++d<=0){while(b(a,-1), !c(a));}else while(--d>=0){while(b(a,1), !c(a));}}})};c&&(f.count=function(b,d){eq.setTime(+b), er.setTime(+d);a(eq), a(er);return Math.floor(c(eq,er))},f.every=function(a){a=Math.floor(a);return!isFinite(a)||!(a>0)?null:!(a>1)?f:f.filter(e?function(b){return e(b)%a===0}:function(b){return f.count(0,b)%a===0})});return f}var et=es(function(){},function(a,b){a.setTime(+a+b)},function(a,b){return b-a});et.every=function(a){a=Math.floor(a);if(!isFinite(a)||!(a>0))return null;if(!(a>1))return et;return es(function(b){b.setTime(Math.floor(b/a)*a)},function(b,c){b.setTime(+b+c*a)},function(b,c){return(c-b)/a})};var ev=6e4,ex=864e5,ey=6048e5,eC=es(function(a){a.setHours(0,0,0,0)},function(a,b){a.setDate(a.getDate()+b)},function(a,b){return(b-a-(b.getTimezoneOffset()-a.getTimezoneOffset())*ev)/ex},function(a){return a.getDate()-1});function eD(a){return es(function(b){b.setDate(b.getDate()-(b.getDay()+7-a)%7);b.setHours(0,0,0,0)},function(a,b){a.setDate(a.getDate()+b*7)},function(a,b){return(b-a-(b.getTimezoneOffset()-a.getTimezoneOffset())*ev)/ey})}var eE=eD(0),eF=eD(1),eI=eD(4),eM=es(function(a){a.setMonth(0,1);a.setHours(0,0,0,0)},function(a,b){a.setFullYear(a.getFullYear()+b)},function(a,b){return b.getFullYear()-a.getFullYear()},function(a){return a.getFullYear()});eM.every=function(a){return!isFinite(a=Math.floor(a))||!(a>0)?null:es(function(b){b.setFullYear(Math.floor(b.getFullYear()/a)*a);b.setMonth(0,1);b.setHours(0,0,0,0)},function(b,c){b.setFullYear(b.getFullYear()+c*a)})};var eP=es(function(a){a.setUTCHours(0,0,0,0)},function(a,b){a.setUTCDate(a.getUTCDate()+b)},function(a,b){return(b-a)/ex},function(a){return a.getUTCDate()-1});function eQ(a){return es(function(b){b.setUTCDate(b.getUTCDate()-(b.getUTCDay()+7-a)%7);b.setUTCHours(0,0,0,0)},function(a,b){a.setUTCDate(a.getUTCDate()+b*7)},function(a,b){return(b-a)/ey})}var eR=eQ(0),eS=eQ(1),eV=eQ(4),eZ=es(function(a){a.setUTCMonth(0,1);a.setUTCHours(0,0,0,0)},function(a,b){a.setUTCFullYear(a.getUTCFullYear()+b)},function(a,b){return b.getUTCFullYear()-a.getUTCFullYear()},function(a){return a.getUTCFullYear()});eZ.every=function(a){return!isFinite(a=Math.floor(a))||!(a>0)?null:es(function(b){b.setUTCFullYear(Math.floor(b.getUTCFullYear()/a)*a);b.setUTCMonth(0,1);b.setUTCHours(0,0,0,0)},function(b,c){b.setUTCFullYear(b.getUTCFullYear()+c*a)})};function e_(a){if(0<=a.y&&a.y<100){var b=new Date(-1,a.m,a.d,a.H,a.M,a.S,a.L);b.setFullYear(a.y);return b}return new Date(a.y,a.m,a.d,a.H,a.M,a.S,a.L)}function e$(a){if(0<=a.y&&a.y<100){var b=new Date(Date.UTC(-1,a.m,a.d,a.H,a.M,a.S,a.L));b.setUTCFullYear(a.y);return b}return new Date(Date.UTC(a.y,a.m,a.d,a.H,a.M,a.S,a.L))}function fa(a){return{y:a,m:0,d:1,H:0,M:0,S:0,L:0}}function fb(a){var b=a.dateTime,c=a.date,e=a.time,f=a.periods,g=a.days,h=a.shortDays,k=a.months,l=a.shortMonths,m=fi(f),n=fj(f),o=fi(g),p=fj(g),q=fi(h),r=fj(h),s=fi(k),t=fj(k),u=fi(l),v=fj(l),w={"a":K,"A":L,"b":M,"B":N,"c":null,"d":fD,"e":fD,"f":fI,"H":fE,"I":fF,"j":fG,"L":fH,"m":fJ,"M":fK,"p":O,"Q":gk,"s":gl,"S":fL,"u":fM,"U":fN,"V":fO,"w":fP,"W":fQ,"x":null,"X":null,"y":fR,"Y":fS,"Z":fT,"%":gj},x={"a":P,"A":Q,"b":R,"B":S,"c":null,"d":fU,"e":fU,"f":fZ,"H":fV,"I":fW,"j":fX,"L":fY,"m":f_,"M":f$,"p":T,"Q":gk,"s":gl,"S":ga,"u":gb,"U":gc,"V":gd,"w":ge,"W":gf,"x":null,"X":null,"y":gg,"Y":gh,"Z":gi,"%":gj},y={"a":D,"A":E,"b":F,"B":G,"c":H,"d":ft,"e":ft,"f":fz,"H":fv,"I":fv,"j":fu,"L":fy,"m":fs,"M":fw,"p":C,"Q":fB,"s":fC,"S":fx,"u":fl,"U":fm,"V":fn,"w":fk,"W":fo,"x":I,"X":J,"y":fq,"Y":fp,"Z":fr,"%":fA};w.x=z(c,w);w.X=z(e,w);w.c=z(b,w);x.x=z(c,x);x.X=z(e,x);x.c=z(b,x);function z(a,b){return function(c){var d=[],e=-1,f=0,g=a.length,h,i,j;(c instanceof Date)||(c=new Date(+c));while(++e<g)a.charCodeAt(e)===37&&(d.push(a.slice(f,e)),(i=fc[h=a.charAt(++e)])!=null?(h=a.charAt(++e)):(i=h==="e"?" ":"0"),(j=b[h])&&(h=j(c,i)),d.push(h),f=e+1);d.push(a.slice(f,e));return d.join("")}}function A(a,b){return function(c){var d=fa(1900),e=B(d,a,c+="",0),f,g;if(e!=c.length)return null;if("Q" in d)return new Date(d.Q);"p" in d&&(d.H=d.H%12+d.p*12);if("V" in d){if(d.V<1||d.V>53)return null;("w" in d)||(d.w=1);"Z" in d?(f=e$(fa(d.y)), g=f.getUTCDay(),f=g>4||g===0?eS.ceil(f):eS(f),f=eP.offset(f,(d.V-1)*7),d.y=f.getUTCFullYear(),d.m=f.getUTCMonth(),d.d=f.getUTCDate()+(d.w+6)%7):(f=b(fa(d.y)), g=f.getDay(),f=g>4||g===0?eF.ceil(f):eF(f),f=eC.offset(f,(d.V-1)*7),d.y=f.getFullYear(),d.m=f.getMonth(),d.d=f.getDate()+(d.w+6)%7)}else ("W" in d||"U" in d)&&(("w" in d)||(d.w="u" in d?d.u%7:"W" in d?1:0),g="Z" in d?e$(fa(d.y)).getUTCDay():b(fa(d.y)).getDay(),d.m=0,d.d="W" in d?(d.w+6)%7+d.W*7-(g+5)%7:d.w+d.U*7-(g+6)%7);if("Z" in d){d.H+=d.Z/100|0;d.M+=d.Z%100;return e$(d)}return b(d)}}function B(a,b,c,d){var e=0,f=b.length,g=c.length,h,i;while(e<f){if(d>=g)return-1;h=b.charCodeAt(e++);if(h===37){h=b.charAt(e++);i=y[h in fc?b.charAt(e++):h];if(!i||(d=i(a,c,d))<0)return-1}else if(h!=c.charCodeAt(d++)){return-1}}return d}function C(a,b,c){var d=m.exec(b.slice(c));return d?(a.p=n[d[0].toLowerCase()], c+d[0].length):-1}function D(a,b,c){var d=q.exec(b.slice(c));return d?(a.w=r[d[0].toLowerCase()], c+d[0].length):-1}function E(a,b,c){var d=o.exec(b.slice(c));return d?(a.w=p[d[0].toLowerCase()], c+d[0].length):-1}function F(a,b,c){var d=u.exec(b.slice(c));return d?(a.m=v[d[0].toLowerCase()], c+d[0].length):-1}function G(a,b,c){var d=s.exec(b.slice(c));return d?(a.m=t[d[0].toLowerCase()], c+d[0].length):-1}function H(a,c,d){return B(a,b,c,d)}function I(a,b,d){return B(a,c,b,d)}function J(a,b,c){return B(a,e,b,c)}function K(a){return h[a.getDay()]}function L(a){return g[a.getDay()]}function M(a){return l[a.getMonth()]}function N(a){return k[a.getMonth()]}function O(a){return f[+(a.getHours()>=12)]}function P(a){return h[a.getUTCDay()]}function Q(a){return g[a.getUTCDay()]}function R(a){return l[a.getUTCMonth()]}function S(a){return k[a.getUTCMonth()]}function T(a){return f[+(a.getUTCHours()>=12)]}return{format:function(a){var b=z(a+="",w);b.toString=function(){return a};return b},parse:function(a){var b=A(a+="",e_);b.toString=function(){return a};return b},utcFormat:function(a){var b=z(a+="",x);b.toString=function(){return a};return b},utcParse:function(a){var b=A(a,e$);b.toString=function(){return a};return b}}}var fc={"-":"","_":" ","0":"0"},fd=/^\s*\d+/,fe=/^%/,ff=/[\\^$*+?|[\]().{}]/g;function fg(a,b,c){var d=a<0?"-":"",e=(d?-a:a)+"",f=e.length;return d+(f<c?new Array(c-f+1).join(b)+e:e)}function fh(a){return a.replace(ff,"\\$&")}function fi(a){return new RegExp("^(?:"+a.map(fh).join("|")+")","i")}function fj(a){var b={},c=-1,d=a.length;while(++c<d)b[a[c].toLowerCase()]=c;return b}function fk(a,b,c){var d=fd.exec(b.slice(c,c+1));return d?(a.w=+d[0], c+d[0].length):-1}function fl(a,b,c){var d=fd.exec(b.slice(c,c+1));return d?(a.u=+d[0], c+d[0].length):-1}function fm(a,b,c){var d=fd.exec(b.slice(c,c+2));return d?(a.U=+d[0], c+d[0].length):-1}function fn(a,b,c){var d=fd.exec(b.slice(c,c+2));return d?(a.V=+d[0], c+d[0].length):-1}function fo(a,b,c){var d=fd.exec(b.slice(c,c+2));return d?(a.W=+d[0], c+d[0].length):-1}function fp(a,b,c){var d=fd.exec(b.slice(c,c+4));return d?(a.y=+d[0], c+d[0].length):-1}function fq(a,b,c){var d=fd.exec(b.slice(c,c+2));return d?(a.y=+d[0]+(+d[0]>68?1900:2000), c+d[0].length):-1}function fr(a,b,c){var d=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(b.slice(c,c+6));return d?(a.Z=d[1]?0:-(d[2]+(d[3]||"00")), c+d[0].length):-1}function fs(a,b,c){var d=fd.exec(b.slice(c,c+2));return d?(a.m=d[0]-1, c+d[0].length):-1}function ft(a,b,c){var d=fd.exec(b.slice(c,c+2));return d?(a.d=+d[0], c+d[0].length):-1}function fu(a,b,c){var d=fd.exec(b.slice(c,c+3));return d?(a.m=0, a.d=+d[0], c+d[0].length):-1}function fv(a,b,c){var d=fd.exec(b.slice(c,c+2));return d?(a.H=+d[0], c+d[0].length):-1}function fw(a,b,c){var d=fd.exec(b.slice(c,c+2));return d?(a.M=+d[0], c+d[0].length):-1}function fx(a,b,c){var d=fd.exec(b.slice(c,c+2));return d?(a.S=+d[0], c+d[0].length):-1}function fy(a,b,c){var d=fd.exec(b.slice(c,c+3));return d?(a.L=+d[0], c+d[0].length):-1}function fz(a,b,c){var d=fd.exec(b.slice(c,c+6));return d?(a.L=Math.floor(d[0]/1000), c+d[0].length):-1}function fA(a,b,c){var d=fe.exec(b.slice(c,c+1));return d?c+d[0].length:-1}function fB(a,b,c){var d=fd.exec(b.slice(c));return d?(a.Q=+d[0], c+d[0].length):-1}function fC(a,b,c){var d=fd.exec(b.slice(c));return d?(a.Q=+d[0]*1000, c+d[0].length):-1}function fD(a,b){return fg(a.getDate(),b,2)}function fE(a,b){return fg(a.getHours(),b,2)}function fF(a,b){return fg(a.getHours()%12||12,b,2)}function fG(a,b){return fg(1+eC.count(eM(a),a),b,3)}function fH(a,b){return fg(a.getMilliseconds(),b,3)}function fI(a,b){return fH(a,b)+"000"}function fJ(a,b){return fg(a.getMonth()+1,b,2)}function fK(a,b){return fg(a.getMinutes(),b,2)}function fL(a,b){return fg(a.getSeconds(),b,2)}function fM(a){var b=a.getDay();return b===0?7:b}function fN(a,b){return fg(eE.count(eM(a),a),b,2)}function fO(a,b){var c=a.getDay();a=c>=4||c===0?eI(a):eI.ceil(a);return fg(eI.count(eM(a),a)+(eM(a).getDay()===4),b,2)}function fP(a){return a.getDay()}function fQ(a,b){return fg(eF.count(eM(a),a),b,2)}function fR(a,b){return fg(a.getFullYear()%100,b,2)}function fS(a,b){return fg(a.getFullYear()%10000,b,4)}function fT(a){var b=a.getTimezoneOffset();return(b>0?"-":(b*=-1, "+"))+fg(b/60|0,"0",2)+fg(b%60,"0",2)}function fU(a,b){return fg(a.getUTCDate(),b,2)}function fV(a,b){return fg(a.getUTCHours(),b,2)}function fW(a,b){return fg(a.getUTCHours()%12||12,b,2)}function fX(a,b){return fg(1+eP.count(eZ(a),a),b,3)}function fY(a,b){return fg(a.getUTCMilliseconds(),b,3)}function fZ(a,b){return fY(a,b)+"000"}function f_(a,b){return fg(a.getUTCMonth()+1,b,2)}function f$(a,b){return fg(a.getUTCMinutes(),b,2)}function ga(a,b){return fg(a.getUTCSeconds(),b,2)}function gb(a){var b=a.getUTCDay();return b===0?7:b}function gc(a,b){return fg(eR.count(eZ(a),a),b,2)}function gd(a,b){var c=a.getUTCDay();a=c>=4||c===0?eV(a):eV.ceil(a);return fg(eV.count(eZ(a),a)+(eZ(a).getUTCDay()===4),b,2)}function ge(a){return a.getUTCDay()}function gf(a,b){return fg(eS.count(eZ(a),a),b,2)}function gg(a,b){return fg(a.getUTCFullYear()%100,b,2)}function gh(a,b){return fg(a.getUTCFullYear()%10000,b,4)}function gi(){return"+0000"}function gj(){return"%"}function gk(a){return+a}function gl(a){return Math.floor(+a/1000)}var gm,gn,go,gp,gq;gr({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});function gr(a){gm=fb(a);gn=gm.format;go=gm.parse;gp=gm.utcFormat;gq=gm.utcParse;return gm}function gx(a){return a.match(/.{6}/g).map(function(a){return"#"+a})}gx("1f77b4ff7f0e2ca02cd627289467bd8c564be377c27f7f7fbcbd2217becf");gx("393b795254a36b6ecf9c9ede6379398ca252b5cf6bcedb9c8c6d31bd9e39e7ba52e7cb94843c39ad494ad6616be7969c7b4173a55194ce6dbdde9ed6");gx("3182bd6baed69ecae1c6dbefe6550dfd8d3cfdae6bfdd0a231a35474c476a1d99bc7e9c0756bb19e9ac8bcbddcdadaeb636363969696bdbdbdd9d9d9");gx("1f77b4aec7e8ff7f0effbb782ca02c98df8ad62728ff98969467bdc5b0d58c564bc49c94e377c2f7b6d27f7f7fc7c7c7bcbd22dbdb8d17becf9edae5");ec(dw(300,0.5,0.0),dw(-240,0.5,1.0));function gB(a){var b=a.length;return function(c){return a[Math.max(0,Math.min(b-1,Math.floor(c*b)))]}}gB(gx("44015444025645045745055946075a46085c460a5d460b5e470d60470e6147106347116447136548146748166848176948186a481a6c481b6d481c6e481d6f481f70482071482173482374482475482576482677482878482979472a7a472c7a472d7b472e7c472f7d46307e46327e46337f463480453581453781453882443983443a83443b84433d84433e85423f854240864241864142874144874045884046883f47883f48893e49893e4a893e4c8a3d4d8a3d4e8a3c4f8a3c508b3b518b3b528b3a538b3a548c39558c39568c38588c38598c375a8c375b8d365c8d365d8d355e8d355f8d34608d34618d33628d33638d32648e32658e31668e31678e31688e30698e306a8e2f6b8e2f6c8e2e6d8e2e6e8e2e6f8e2d708e2d718e2c718e2c728e2c738e2b748e2b758e2a768e2a778e2a788e29798e297a8e297b8e287c8e287d8e277e8e277f8e27808e26818e26828e26828e25838e25848e25858e24868e24878e23888e23898e238a8d228b8d228c8d228d8d218e8d218f8d21908d21918c20928c20928c20938c1f948c1f958b1f968b1f978b1f988b1f998a1f9a8a1e9b8a1e9c891e9d891f9e891f9f881fa0881fa1881fa1871fa28720a38620a48621a58521a68522a78522a88423a98324aa8325ab8225ac8226ad8127ad8128ae8029af7f2ab07f2cb17e2db27d2eb37c2fb47c31b57b32b67a34b67935b77937b87838b9773aba763bbb753dbc743fbc7340bd7242be7144bf7046c06f48c16e4ac16d4cc26c4ec36b50c46a52c56954c56856c66758c7655ac8645cc8635ec96260ca6063cb5f65cb5e67cc5c69cd5b6ccd5a6ece5870cf5773d05675d05477d1537ad1517cd2507fd34e81d34d84d44b86d54989d5488bd6468ed64590d74393d74195d84098d83e9bd93c9dd93ba0da39a2da37a5db36a8db34aadc32addc30b0dd2fb2dd2db5de2bb8de29bade28bddf26c0df25c2df23c5e021c8e020cae11fcde11dd0e11cd2e21bd5e21ad8e219dae319dde318dfe318e2e418e5e419e7e419eae51aece51befe51cf1e51df4e61ef6e620f8e621fbe723fde725"));var gF={value:function(){}};function gG(){for(var a=0,b=arguments.length,c={},d;a<b;++a){if(!(d=arguments[a]+"")||d in c)throw new Error("illegal type: "+d);c[d]=[]}return new gH(c)}function gH(a){this._=a}function gI(a,b){return a.trim().split(/^|\s+/).map(function(a){var c="",d=a.indexOf(".");d>=0&&(c=a.slice(d+1), a=a.slice(0,d));if(a&&!b.hasOwnProperty(a))throw new Error("unknown type: "+a);return{type:a,name:c}})}gH.prototype=gG.prototype={constructor:gH,on:function(a,b){var c=this._,d=gI(a+"",c),e,f=-1,g=d.length;if(arguments.length<2){while(++f<g)if((e=(a=d[f]).type)&&(e=gJ(c[e],a.name)))return e;return}if(b!=null&&typeof b!=="function")throw new Error("invalid callback: "+b);while(++f<g){if(e=(a=d[f]).type)c[e]=gK(c[e],a.name,b);else if(b==null)for(e in c)c[e]=gK(c[e],a.name,null)}return this},copy:function(){var a={},b=this._;for(var c in b)a[c]=b[c].slice();return new gH(a)},call:function(a,b){if((e=arguments.length-2)>0)for(var c=new Array(e),d=0,e,f;d<e;++d)c[d]=arguments[d+2];if(!this._.hasOwnProperty(a))throw new Error("unknown type: "+a);for(f=this._[a], d=0, e=f.length;d<e;++d)f[d].value.apply(b,c)},apply:function(a,b,c){if(!this._.hasOwnProperty(a))throw new Error("unknown type: "+a);for(var d=this._[a],e=0,f=d.length;e<f;++e)d[e].value.apply(b,c)}};function gJ(a,b){for(var c=0,d=a.length,e;c<d;++c){if((e=a[c]).name===b){return e.value}}}function gK(a,b,c){for(var d=0,e=a.length;d<e;++d){if(a[d].name===b){a[d]=gF, a=a.slice(0,d).concat(a.slice(d+1));break}}c!=null&&a.push({name:b,value:c});return a}var gL=0,gM=0,gN=0,gO=1000,gP,gQ,gR=0,gS=0,gT=0,gU=typeof performance==="object"&&performance.now?performance:Date,gV=typeof window==="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(a){setTimeout(a,17)};function gW(){return gS||(gV(gX), gS=gU.now()+gT)}function gX(){gS=0}function gY(){this._call=this._time=this._next=null}gY.prototype=gZ.prototype={constructor:gY,restart:function(a,b,c){if(typeof a!=="function")throw new TypeError("callback is not a function");c=(c==null?gW():+c)+(b==null?0:+b);!this._next&&gQ!==this&&(gQ?(gQ._next=this):(gP=this),gQ=this);this._call=a;this._time=c;hc()},stop:function(){this._call&&(this._call=null,this._time=Infinity,hc())}};function gZ(a,b,c){var d=new gY;d.restart(a,b,c);return d}function g_(){gW();++gL;var a=gP,b;while(a)(b=gS-a._time)>=0&&a._call.call(null,b),a=a._next;--gL}function g$(){gS=(gR=gU.now())+gT;gL=gM=0;try{g_()}finally{gL=0,hb(),gS=0}}function ha(){var a=gU.now(),b=a-gR;b>gO&&(gT-=b, gR=a)}function hb(){var a,b=gP,c,d=Infinity;while(b)b._call?(d>b._time&&(d=b._time),a=b, b=b._next):(c=b._next, b._next=null,b=a?a._next=c:gP=c);gQ=a;hc(d)}function hc(a){if(gL)return;gM&&(gM=clearTimeout(gM));var b=a-gS;b>24?(a<Infinity&&(gM=setTimeout(g$,a-gU.now()-gT)),gN&&(gN=clearInterval(gN))):(gN||(gR=gU.now(), gN=setInterval(ha,gO)),gL=1, gV(g$))}function hd(a,b,c){var d=new gY;b=b==null?0:+b;d.restart(function(c){d.stop();a(c+b)},b,c);return d}var he=gG("start","end","interrupt"),hf=[],hg=0,hh=1,hj=2,hk=3,hl=4,hm=5,hn=6;function ho(a,b,c,d,e,f){var g=a.__transition;if(!g)a.__transition={};else if(c in g)return;hs(a,c,{name:b,index:d,group:e,on:he,tween:hf,time:f.time,delay:f.delay,duration:f.duration,ease:f.ease,timer:null,state:hg})}function hp(a,b){var c=hr(a,b);if(c.state>hg)throw new Error("too late; already scheduled");return c}function hq(a,b){var c=hr(a,b);if(c.state>hj)throw new Error("too late; already started");return c}function hr(a,b){var c=a.__transition;if(!c||!(c=c[b]))throw new Error("transition not found");return c}function hs(a,b,c){var d=a.__transition,e;d[b]=c;c.timer=gZ(f,0,c.time);function f(a){c.state=hh;c.timer.restart(g,c.delay,c.time);c.delay<=a&&g(a-c.delay)}function g(f){var j,k,l,m;if(c.state!==hh)return i();for(j in d){m=d[j];if(m.name!==c.name)continue;if(m.state===hk)return hd(g);m.state===hl?(m.state=hn,m.timer.stop(),m.on.call("interrupt",a,a.__data__,m.index,m.group),delete d[j]):+j<b&&(m.state=hn,m.timer.stop(),delete d[j])}hd(function(){c.state===hk&&(c.state=hl,c.timer.restart(h,c.delay,c.time),h(f))});c.state=hj;c.on.call("start",a,a.__data__,c.index,c.group);if(c.state!==hj)return;c.state=hk;e=new Array(l=c.tween.length);for(j=0, k=-1;j<l;++j)(m=c.tween[j].value.call(a,a.__data__,c.index,c.group))&&(e[++k]=m);e.length=k+1}function h(b){var d=b<c.duration?c.ease.call(null,b/c.duration):(c.timer.restart(i), c.state=hm, 1),f=-1,g=e.length;while(++f<g)e[f].call(null,d);c.state===hm&&(c.on.call("end",a,a.__data__,c.index,c.group),i())}function i(){c.state=hn;c.timer.stop();delete d[b];for(i in d)return;delete a.__transition}}function ht(a,b){var c=a.__transition,d,e,f=!0,g;if(!c)return;b=b==null?null:b+"";for(g in c){if((d=c[g]).name!==b){f=!1;continue}e=d.state>hj&&d.state<hm;d.state=hn;d.timer.stop();e&&d.on.call("interrupt",a,a.__data__,d.index,d.group);delete c[g]}f&&delete a.__transition}function hu(a){return this.each(function(){ht(this,a)})}function hv(a,b){var c,d;return function(){var e=hq(this,a),f=e.tween;if(f!==c){d=c=f;for(var g=0,h=d.length;g<h;++g){if(d[g].name===b){d=d.slice();d.splice(g,1);break}}}e.tween=d}}function hw(a,b,c){var d,e;if(typeof c!=="function")throw new Error;return function(){var f=hq(this,a),g=f.tween;if(g!==d){e=(d=g).slice();for(var h={name:b,value:c},i=0,j=e.length;i<j;++i){if(e[i].name===b){e[i]=h;break}}i===j&&e.push(h)}f.tween=e}}function hx(a,b){var c=this._id;a+="";if(arguments.length<2){var d=hr(this.node(),c).tween;for(var e=0,f=d.length,g;e<f;++e){if((g=d[e]).name===a){return g.value}}return null}return this.each((b==null?hv:hw)(c,a,b))}function hy(a,b,c){var d=a._id;a.each(function(){var a=hq(this,d);(a.value||(a.value={}))[b]=c.apply(this,arguments)});return function(a){return hr(a,d).value[b]}}function hz(a,b){var c;return(typeof b==="number"?dH:b instanceof cJ?dE:(c=cJ(b))?(b=c, dE):dN)(a,b)}function hA(a){return function(){this.removeAttribute(a)}}function hB(a){return function(){this.removeAttributeNS(a.space,a.local)}}function hC(a,b,c){var d,e;return function(){var f=this.getAttribute(a);return f===c?null:f===d?e:e=b(d=f,c)}}function hD(a,b,c){var d,e;return function(){var f=this.getAttributeNS(a.space,a.local);return f===c?null:f===d?e:e=b(d=f,c)}}function hE(a,b,c){var d,e,f;return function(){var g,h=c(this);if(h==null)return void this.removeAttribute(a);g=this.getAttribute(a);return g===h?null:g===d&&h===e?f:f=b(d=g,e=h)}}function hF(a,b,c){var d,e,f;return function(){var g,h=c(this);if(h==null)return void this.removeAttributeNS(a.space,a.local);g=this.getAttributeNS(a.space,a.local);return g===h?null:g===d&&h===e?f:f=b(d=g,e=h)}}function hG(a,b){var c=w(a),d=c==="transform"?d$:hz;return this.attrTween(a,typeof b==="function"?(c.local?hF:hE)(c,d,hy(this,"attr."+a,b)):b==null?(c.local?hB:hA)(c):(c.local?hD:hC)(c,d,b+""))}function hH(a,b){function c(){var c=this,d=b.apply(c,arguments);return d&&function(b){c.setAttributeNS(a.space,a.local,d(b))}}c._value=b;return c}function hI(a,b){function c(){var c=this,d=b.apply(c,arguments);return d&&function(b){c.setAttribute(a,d(b))}}c._value=b;return c}function hJ(a,b){var c="attr."+a;if(arguments.length<2)return(c=this.tween(c))&&c._value;if(b==null)return this.tween(c,null);if(typeof b!=="function")throw new Error;var d=w(a);return this.tween(c,(d.local?hH:hI)(d,b))}function hK(a,b){return function(){hp(this,a).delay=+b.apply(this,arguments)}}function hL(a,b){return b=+b, function(){hp(this,a).delay=b}}function hM(a){var b=this._id;return arguments.length?this.each((typeof a==="function"?hK:hL)(b,a)):hr(this.node(),b).delay}function hN(a,b){return function(){hq(this,a).duration=+b.apply(this,arguments)}}function hO(a,b){return b=+b, function(){hq(this,a).duration=b}}function hP(a){var b=this._id;return arguments.length?this.each((typeof a==="function"?hN:hO)(b,a)):hr(this.node(),b).duration}function hQ(a,b){if(typeof b!=="function")throw new Error;return function(){hq(this,a).ease=b}}function hR(a){var b=this._id;return arguments.length?this.each(hQ(b,a)):hr(this.node(),b).ease}function hS(a){typeof a!=="function"&&(a=L(a));for(var b=this._groups,c=b.length,d=new Array(c),e=0;e<c;++e){for(var f=b[e],g=f.length,h=d[e]=[],i,j=0;j<g;++j)(i=f[j])&&a.call(i,i.__data__,j,f)&&h.push(i)}return new ip(d,this._parents,this._name,this._id)}function hT(a){if(a._id!==this._id)throw new Error;for(var b=this._groups,c=a._groups,d=b.length,e=c.length,f=Math.min(d,e),g=new Array(d),h=0;h<f;++h){for(var i=b[h],j=c[h],k=i.length,l=g[h]=new Array(k),m,n=0;n<k;++n)(m=i[n]||j[n])&&(l[n]=m)}for(;h<d;++h)g[h]=b[h];return new ip(g,this._parents,this._name,this._id)}function hU(a){return(a+"").trim().split(/^|\s+/).every(function(a){var b=a.indexOf(".");b>=0&&(a=a.slice(0,b));return!a||a==="start"})}function hV(a,b,c){var d,e,f=hU(b)?hp:hq;return function(){var g=f(this,a),h=g.on;h!==d&&(e=(d=h).copy()).on(b,c);g.on=e}}function hW(a,b){var c=this._id;return arguments.length<2?hr(this.node(),c).on.on(a):this.each(hV(c,a,b))}function hX(a){return function(){var a=this.parentNode;for(i in this.__transition)if(+i!==id)return;a&&a.removeChild(this)}}function hY(){return this.on("end.remove",hX(this._id))}function hZ(a){var b=this._name,c=this._id;typeof a!=="function"&&(a=D(a));for(var d=this._groups,e=d.length,f=new Array(e),g=0;g<e;++g){for(var h=d[g],i=h.length,j=f[g]=new Array(i),k,l,m=0;m<i;++m)(k=h[m])&&(l=a.call(k,k.__data__,m,h))&&("__data__" in k&&(l.__data__=k.__data__),j[m]=l,ho(j[m],b,c,m,j,hr(k,c)))}return new ip(f,this._parents,b,c)}function h_(a){var b=this._name,c=this._id;typeof a!=="function"&&(a=G(a));for(var d=this._groups,e=d.length,f=[],g=[],h=0;h<e;++h){for(var i=d[h],j=i.length,k,l=0;l<j;++l){if(k=i[l]){for(var m=a.call(k,k.__data__,l,i),n,o=hr(k,c),p=0,q=m.length;p<q;++p)(n=m[p])&&ho(n,b,c,p,m,o);f.push(m);g.push(k)}}}return new ip(f,g,b,c)}var h$=bm.prototype.constructor;function ia(){return new h$(this._groups,this._parents)}function ib(a,b){var c,d,e;return function(){var f=ar(this,a),g=(this.style.removeProperty(a), ar(this,a));return f===g?null:f===c&&g===d?e:e=b(c=f,d=g)}}function ic(a){return function(){this.style.removeProperty(a)}}function id(a,b,c){var d,e;return function(){var f=ar(this,a);return f===c?null:f===d?e:e=b(d=f,c)}}function ie(a,b,c){var d,e,f;return function(){var g=ar(this,a),h=c(this);h==null&&(h=(this.style.removeProperty(a), ar(this,a)));return g===h?null:g===d&&h===e?f:f=b(d=g,e=h)}}function ig(a,b,c){var d=(a+="")==="transform"?d_:hz;return b==null?this.styleTween(a,ib(a,d)).on("end.style."+a,ic(a)):this.styleTween(a,typeof b==="function"?ie(a,d,hy(this,"style."+a,b)):id(a,d,b+""),c)}function ih(a,b,c){function d(){var d=this,e=b.apply(d,arguments);return e&&function(b){d.style.setProperty(a,e(b),c)}}d._value=b;return d}function ii(a,b,c){var d="style."+(a+="");if(arguments.length<2)return(d=this.tween(d))&&d._value;if(b==null)return this.tween(d,null);if(typeof b!=="function")throw new Error;return this.tween(d,ih(a,b,c==null?"":c))}function ij(a){return function(){this.textContent=a}}function ik(a){return function(){var b=a(this);this.textContent=b==null?"":b}}function il(a){return this.tween("text",typeof a==="function"?ik(hy(this,"text",a)):ij(a==null?"":a+""))}function im(){var a=this._name,b=this._id,c=ir();for(var d=this._groups,e=d.length,f=0;f<e;++f){for(var g=d[f],h=g.length,i,j=0;j<h;++j){if(i=g[j]){var k=hr(i,b);ho(i,a,c,j,g,{time:k.time+k.delay+k.duration,delay:0,duration:k.duration,ease:k.ease})}}}return new ip(d,this._parents,a,c)}var io=0;function ip(a,b,c,d){this._groups=a;this._parents=b;this._name=c;this._id=d}function iq(a){return bm().transition(a)}function ir(){return++io}var is=bm.prototype;ip.prototype=iq.prototype={constructor:ip,select:hZ,selectAll:h_,filter:hS,merge:hT,selection:ia,transition:im,call:is.call,nodes:is.nodes,node:is.node,size:is.size,empty:is.empty,each:is.each,on:hW,attr:hG,attrTween:hJ,style:ig,styleTween:ii,text:il,remove:hY,tween:hx,delay:hM,duration:hP,ease:hR};function it(a){return((a*=2)<=1?a*a*a:(a-=2)*a*a+2)/2}var iw={time:null,delay:0,duration:250,ease:it};function ix(a,b){var c;while(!(c=a.__transition)||!(c=c[b])){if(!(a=a.parentNode)){return iw.time=gW(), iw}}return c}function iy(a){var b,c;a instanceof ip?(b=a._id, a=a._name):(b=ir(), (c=iw).time=gW(), a=a==null?null:a+"");for(var d=this._groups,e=d.length,f=0;f<e;++f){for(var g=d[f],h=g.length,i,j=0;j<h;++j)(i=g[j])&&ho(i,a,b,j,g,c||ix(i,b))}return new ip(d,this._parents,a,b)}bm.prototype.interrupt=hu;bm.prototype.transition=iy;function iz(a){var b=typeof a;return a!=null&&(b=='object'||b=='function')}var iA=typeof global=='object'&&global&&global.Object===Object&&global,iB=typeof self=='object'&&self&&self.Object===Object&&self,iC=iA||iB||Function('return this')(),iD=function(){return iC.Date.now()},iE=iC.Symbol,iF=Object.prototype,iG=iF.hasOwnProperty,iH=iF.toString,iI=iE?iE.toStringTag:undefined;function iJ(a){var b=iG.call(a,iI),c=a[iI];try{a[iI]=undefined;var d=!0}catch(a){};var f=iH.call(a);d&&(b?(a[iI]=c):delete a[iI]);return f}var iK=Object.prototype,iL=iK.toString;function iM(a){return iL.call(a)}var iN='[object Null]',iO='[object Undefined]',iP=iE?iE.toStringTag:undefined;function iQ(a){if(a==null){return a===undefined?iO:iN}return iP&&iP in Object(a)?iJ(a):iM(a)}function iR(a){return a!=null&&typeof a=='object'}var iS='[object Symbol]';function iT(a){return typeof a=='symbol'||iR(a)&&iQ(a)==iS}var iU=NaN,iV=/^\s+|\s+$/g,iW=/^[-+]0x[0-9a-f]+$/i,iX=/^0b[01]+$/i,iY=/^0o[0-7]+$/i,iZ=parseInt;function i_(a){if(typeof a=='number'){return a}if(iT(a)){return iU}if(iz(a)){var b=typeof a.valueOf=='function'?a.valueOf():a;a=iz(b)?b+'':b}if(typeof a!='string'){return a===0?a:+a}a=a.replace(iV,'');var c=iX.test(a);return c||iY.test(a)?iZ(a.slice(2),c?2:8):(iW.test(a)?iU:+a)}var i$='Expected a function',ja=Math.max,jb=Math.min;function jc(a,b,c){var d,e,f,g,h,i,j=0,k=!1,l=!1,m=!0;if(typeof a!='function'){throw new TypeError(i$)}b=i_(b)||0;iz(c)&&(k=!!c.leading,l='maxWait' in c,f=l?ja(i_(c.maxWait)||0,b):f,m='trailing' in c?!!c.trailing:m);function n(b){var c=d,f=e;d=e=undefined;j=b;g=a.apply(f,c);return g}function o(a){j=a;h=setTimeout(r,b);return k?n(a):g}function p(a){var c=a-i,d=a-j,e=b-c;return l?jb(e,f-d):e}function q(a){var c=a-i,d=a-j;return i===undefined||c>=b||c<0||l&&d>=f}function r(){var a=iD();if(q(a)){return s(a)}h=setTimeout(r,p(a))}function s(a){h=undefined;if(m&&d){return n(a)}d=e=undefined;return g}function t(){h!==undefined&&clearTimeout(h);j=0;d=i=e=h=undefined}function u(){return h===undefined?g:s(iD())}function v(){var a=iD(),c=q(a);d=arguments;e=this;i=a;if(c){if(h===undefined){return o(i)}if(l){h=setTimeout(r,b);return n(i)}}h===undefined&&(h=setTimeout(r,b));return g}v.cancel=t;v.flush=u;return v}var jd=function(a,b){if(!(a instanceof b)){throw new TypeError("Cannot call a class as a function")}},je=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1;d.configurable=!0;"value" in d&&(d.writable=!0);Object.defineProperty(a,d.key,d)}}return function(b,c,d){c&&a(b.prototype,c);d&&a(b,d);return b}}(),jf=Object.assign||function(a){for(var b=1;b<arguments.length;b++){var c=arguments[b];for(var d in c)Object.prototype.hasOwnProperty.call(c,d)&&(a[d]=c[d])}return a},jg=function(a,b){if(typeof b!=="function"&&b!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof b)}a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}});b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)},jh=function(a,b){if(!a){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return b&&(typeof b==="object"||typeof b==="function")?b:a},ji=function(){function a(){var b=this;jd(this,a);this.baseDefaultOptions={};this.dispatch=gG('infoclick');this.on=function(a,c){return b.dispatch.on(a,c)};this.handleInfoClick=this.handleInfoClick.bind(this);this.onResize=this.onResize.bind(this);var c=jc(this.onResize,250);window.addEventListener('resize',c)}je(a,[{key:'init',value:function a(){var b=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{};this.options=jf({},this.baseDefaultOptions,this.defaultOptions,b);var c=bn(this.options.container);c.classed('oecd-chart__container',!0);if(this.options.title||this.options.renderInfoButton){var d=c.append('div').attr('class','oecd-chart__title-container');this.options.title&&d.append('div').attr('class','oecd-chart__title').text(this.options.title);this.options.renderInfoButton&&d.append('div').attr('class','oecd-chart__info').html('<svg class="oecd-chart__info-icon" width="25" height="25" viewBox="0 0 40 40"><path d="M18.4 15v-3.4h3.3V15h-3.3zM20 33.4q5.5 0 9.4-4t4-9.3-4-9.3-9.4-4-9.4 4-4 9.4 4 9.5 9.4 4zm0-30q7 0 11.8 5t5 11.7-5 12T20 36.7t-11.8-5-5-11.7 5-11.7 11.8-5zm-1.6 25v-10h3.3v10h-3.3z"/></svg>').on('click',this.handleInfoClick)}this.render(b)}},{key:'handleInfoClick',value:function a(){this.dispatch.call('infoclick')}},{key:'onResize',value:function a(){var b=bn(this.options.container).node().clientWidth;b!==window.innerWidth&&this.render(this.options)}},{key:'removeSelections',value:function b(a){var c=this;a.forEach(function(a){return bn(c.options.container).selectAll(a).remove()})}},{key:'toggleTitle',value:function a(){var b=document.querySelector(this.options.container+' .oecd-chart__title-container');b.classList.toggle('oecd-chart__title-container--hidden')}}]);return a}(),jj=function(a){jg(b,a);function b(){var a=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{};jd(this,b);var c=jh(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));c.defaultOptions={container:null,extent:[0,100],data:[],height:55,marginLeft:35,marginRight:35,fontSize:14,radius:10,labelOffset:5,ticks:4,tickValues:null,showLabels:!1,colorLabels:!1,callback:null,showTicks:!0,labelFormat:function b(a){return Math.round(a*10)/10}};c.init(a);return c}je(b,[{key:'render',value:function a(){var b=this.options,c=b.data,d=b.height,e=b.container,f=b.extent,g=b.marginLeft,h=b.marginRight,i=b.labelOffset,j=bn(e),k=j.node().clientWidth,l=k-g-h,m=d+i;this.removeSelections(['.pearlchart__svg']);this.scale=ep().domain(f).range([0,l]);var n=j.classed('OECDCharts__PearlChart',!0).append('svg').classed('pearlchart__svg',!0).attr('width',k).attr('height',m);this.chartWrapper=n.append('g').classed('pearlchart__chart',!0).attr('transform','translate('+(g-i)+', '+(this.options.title||this.options.renderInfoButton?-10:10)+')');this.getAxis({chartWrapper:this.chartWrapper,extent:f,innerWidth:l,innerHeight:m,labelOffset:i});this.nodesWrapper=this.chartWrapper.append('g').classed('pearlchart__nodes',!0);this.update(c)}},{key:'update',value:function c(a){this.options.data=a;var d=b.parseData(a),e=iq().duration(750),f=this.options,g=f.labelOffset,h=f.radius,i=f.height,j=i+g;this.getCircles(d,j,h,e,g)}},{key:'getAxis',value:function a(){var b=this,c=arguments.length>0&&arguments[0]!==undefined?arguments[0]:this.defaultOptions,e=c.chartWrapper,f=c.extent,g=c.innerWidth,h=c.innerHeight,j=c.labelOffset,k=e.append('g').classed('pearlchart__x-axis',!0);k.append('line').attr('x1',0).attr('x2',g).attr('y1',h/2).attr('y2',h/2);var l=k.selectAll('.pearlchart__axis-label').data(f);l.exit().remove();l.enter().append('text').classed('pearlchart__axis-label',!0).text(function(a){return a}).attr('font-size',this.options.fontSize).attr('x',function(a,c){return b.scale.range()[c]}).attr('dx',function(a,b){return b===0?'-'+j+'px':j+'px'}).attr('y',h/2).attr('dy',j).attr('text-anchor',function(a,b){return b===0?'end':'start'});var m=bB(this.scale).tickFormat(bS('.0f')).tickSize(15);this.options.tickValues?m.tickValues(this.options.tickValues):m.ticks(this.options.ticks);k.append('g').classed('pearlchart__axis-ticks',!0).style('display',this.options.showTicks?'block':'none').attr('transform','translate(0, '+(this.options.radius*2+10)+')').call(m);+k.select('.tick:last-of-type').text()===this.options.extent[1]&&k.select('.tick:last-of-type').style('display','none');+k.select('.tick').text()===this.options.extent[0]&&k.select('.tick').style('display','none');k.selectAll('pearlchart__axis-ticks').style('font-size',this.options.fontSize*0.8)}},{key:'getCircles',value:function g(a,b,c,e,f){var h=this,j=this.nodesWrapper.selectAll('.pearlchart__circle-wrapper').data(a,function(a){return a.value});j.exit().remove();j.transition(e).style('fill',function(a){return a.color});var k=j.enter().append('g').classed('pearlchart__circle-wrapper',!0).classed('clickable',this.options.callback!==null).on('mouseenter',function(a,b,c){bn(c[b]).select('.pearlchart__circle-tooltip').style('display','block')}).on('mouseleave',function(a,b,c){bn(c[b]).select('.pearlchart__circle-tooltip').style('display','none')}).on('click',function(){h.options.callback&&h.options.callback(h.options.data)});k.append('circle').classed('pearlchart__circle',!0).attr('cx',function(a){return h.scale(a.value)}).attr('cy',b/2).attr('r',c).style('fill',function(a){return a.color});this.options.showLabels?k.append('text').classed('pearlchart__circle-label',!0).attr('font-size',this.options.fontSize).attr('x',function(a){return h.scale(a.value)}).attr('y',b/2).attr('dy',-(c*2)+f).text(function(a){return h.options.labelFormat(a.value)}).attr('text-anchor','middle').style('fill',function(a){return!h.options.colorLabels?'#000':a.color}):k.append('text').classed('pearlchart__circle-tooltip',!0).attr('font-size',this.options.fontSize).attr('x',function(a){return h.scale(a.value)}).attr('y',b/2).attr('dy',-(c*2)+f).text(function(a){return h.options.labelFormat(a.value)}).attr('text-anchor','middle').style('fill',function(a){return!h.options.colorLabels?'#000':a.color}).style('display','none')}}],[{key:'parseData',value:function b(a){return a.map(function(a){a.color=a.color||'#777777';return a})}}]);return b}(ji),jk=function(c){jg(e,c);function e(){var a=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{};jd(this,e);var b=jh(this,(e.__proto__||Object.getPrototypeOf(e)).call(this));b.defaultOptions={container:null,extent:[0,100],data:[],fontSize:14,marginTop:15,barHeight:30,marginLeft:30,marginRight:45,labelOffset:5};b.init(a);return b}je(e,[{key:'render',value:function a(){var b=this.options,c=b.data,d=b.container,e=b.extent,f=b.marginTop,g=b.barHeight,i=b.marginLeft,j=b.marginRight,k=bn(d),l=k.node().getBoundingClientRect(),m=l.width,n=m-i-j,o=(g+f)*c.length;this.removeSelections(['.stacked-chart__svg']);this.x=ep().range([0,n]).domain(e);this.colorScale=ep();var p=k.classed('OECDCharts__StackedChart',!0).append('svg').classed('stacked-chart__svg',!0).attr('width',m).attr('height',o);this.chartWrapper=p.append('g').attr('class','stacked-chart').attr('transform','translate('+i+', 0)');this.update(c)}},{key:'update',value:function b(a){this.options.data=a;var c=e.parseData(a);e.validateData(a);var d=this.getChart(c);this.getBars(d);this.getStackedLabels(d);this.getBarLabels(d)}},{key:'getChart',value:function b(a){var c=this,e=this.chartWrapper.selectAll('.stacked-chart__bar').data(a,function(a){return JSON.stringify(a)});e.exit().remove();return e.enter().append('g').classed('stacked-chart__bar',!0).attr('transform',function(a,b){return'translate(0, '+b*(c.options.barHeight+c.options.marginTop)+')'})}},{key:'getBars',value:function b(a){var c=this;a.selectAll('.stacked-chart__rect').data(function(a){return a.values.map(function(b,c){return{value:b,offset:a.offset[c],colors:a.colors}})}).enter().append('rect').classed('stacked-chart__rect',!0).attr('width',function(a){return c.x(a.value)}).attr('x',function(a){return c.x(a.offset)}).attr('height',this.options.barHeight).attr('fill',function(a,b,d){return c.colorScale.domain([0,d.length]).range(a.colors)(b)})}},{key:'getStackedLabels',value:function b(a){var c=this;a.selectAll('.stacked-chart__stackedlabel').data(function(a){return a.stackLabels.map(function(b,c){return{stackLabel:b,offset:a.offset[c],value:a.values[c]}})}).enter().append('text').classed('stacked-chart__stackedlabel',!0).attr('y',this.options.barHeight/2).attr('x',function(a){return c.x(a.offset+a.value/2)}).attr('text-anchor','middle').attr('dy','.35em').attr('fill','#fff').text(function(a){return a.stackLabel}).attr('font-size',this.options.fontSize)}},{key:'getBarLabels',value:function b(a){var c=this.options,e=c.labelOffset,f=c.barHeight,g=c.fontSize;a.selectAll('.stacked-chart__barlabel').data(function(a){return a.barLabels}).enter().append('text').classed('stacked-chart__barlabel',!0).attr('y',f/2).attr('x',function(a,b,c){return b===0?0:c[b].parentNode.getBoundingClientRect().width}).attr('dy','.35em').attr('dx',function(a,b){return b===0?'-'+e+'px':e+'px'}).attr('text-anchor',function(a,b){return b===0?'end':'start'}).text(function(a){return a}).attr('font-size',g)}}],[{key:'parseData',value:function e(c){return c.map(function(c){var d=100/c.values.reduce(function(a,b){return a+b});c.values=c.values.map(function(a){return a*d});c.offset=c.values.map(function(a,b){return ci(c.values.slice(0,b))});c.stackLabels=c.stackLabels||[];return c})}},{key:'validateData',value:function b(a){var c=a.filter(function(a){return a.values.length!==a.stackLabels.length&&a.stackLabels.length});if(c.length){throw Error('invalid data: amount of stackLabels is not matching amount of values.')}}}]);return e}(ji),jl=function(a){jg(b,a);function b(){var a=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{};jd(this,b);var c=jh(this,(b.__proto__||Object.getPrototypeOf(b)).call(this));c.defaultOptions={container:null,extent:null,data:[],step:50,legend:null,innerMarginTop:10,innerMarginBottom:10,innerMarginLeft:5,innerMarginRight:5,markerHeight:30,markerWidth:10,radius:10,fontSize:12};c.init(a);return c}je(b,[{key:'render',value:function b(a){this.update(this.options.data)}},{key:'update',value:function c(a){this.options.data=a;var d=b.parseData(a);b.validateData(d);this.getChart(d);var e=this.getMarkerGroups(d);this.getMarkers(e);this.getLabels(e)}},{key:'getChart',value:function b(a){var c=this.options,d=c.container,e=c.extent,f=c.step,g=c.legend,h=c.markerHeight,i=c.innerMarginTop,j=c.innerMarginBottom,k=c.innerMarginLeft,l=c.innerMarginRight,m=bn(d),n=m.node().getBoundingClientRect(),o=n.width,p=o-k-l;this.removeSelections(['.boxplot__svg','.boxplot__legend']);this.x=ep().range([0,p-l-k]).domain(e);var q=(h+20)*a.length+i+j;m.append('div').attr('class','boxplot__legend').html(g);this.svg=m.classed('OECDCharts__BoxPlot',!0).append('svg').classed('boxplot__svg',!0).attr('width',p).attr('height',q).append('g').attr('transform','translate('+k+', 0)');var r=(e[1]-e[0])/f,s=bB(this.x).ticks(r).tickSize(-q);this.svg.append('g').classed('boxplot__axis',!0).attr('transform','translate('+k+', '+(q-i-j)+')').call(s)}},{key:'getMarkerGroups',value:function b(a){var c=this,e=this.svg.selectAll('.boxplot__marker-group').data(a,function(a){return JSON.stringify(a)});e.exit().remove();return e.enter().append('g').classed('boxplot__marker-group',!0).attr('transform',function(a,b){return'translate(0, '+((c.options.markerHeight+20)*b+1)+')'})}},{key:'getMarkers',value:function b(a){var c=this;a.append('line').classed('marker-group__line',!0).attr('x1',function(a){return c.x(a.values[0])+5}).attr('x2',function(a){return c.x(a.values[2])+5}).attr('y1',this.options.markerHeight/2).attr('y2',this.options.markerHeight/2).style('stroke',function(a){return a.colors[1]});a.selectAll('.marker-group__rect').data(function(a){return[0,2].map(function(b){return{value:a.values[b],color:a.colors[b]}})}).enter().append('rect').classed('marker-group__rect',!0).attr('height',this.options.markerHeight).attr('width',this.options.markerWidth).attr('x',function(a){return c.x(a.value)+5-c.options.markerWidth/2}).style('fill',function(a){return a.color});a.selectAll('.marker-group__circle').data(function(a){return[a]}).enter().append('circle').classed('marker-group__circle',!0).attr('r',this.options.radius).attr('cx',function(a){return c.x(a.values[1])+5}).attr('cy',this.options.markerHeight/2).style('fill',function(a){return a.colors[1]})}},{key:'getLabels',value:function b(a){this.getLabel(a,'left');this.getLabel(a,'right')}},{key:'getLabel',value:function e(a,c){var f=this,g=c==='left',h=a.filter(function(a){return g?a.labelLeft:a.labelRight}).selectAll('.marker-group__label--'+c).data(function(a){return[a]}).enter().append('g').classed('marker-group__label--'+c,!0);h.filter(function(a){return g?a.labelLeft.text:a.labelRight.text}).selectAll('.marker-group__label--text-'+c).data(function(a){var b=g?a.labelLeft:a.labelRight,c=b.text,d=b.icon;return[{text:c,icon:d,value:g?a.values[0]:a.values[2]}]}).enter().append('text').classed('marker-group__label--text-'+c,!0).attr('y',this.options.markerHeight/2+this.options.fontSize/4).attr('x',function(a){var b=a.icon?30:5;return g?f.x(a.value)-b:f.x(a.value)+b+10}).text(function(a){return a.text}).attr('text-anchor',g?'end':'start').attr('font-size',this.options.fontSize);h.filter(function(a){return g?a.labelLeft.icon:a.labelRight.icon}).selectAll('.marker-group__label--icon-'+c).data(function(a){var b=g?a.labelLeft:a.labelRight,c=b.icon;return[{icon:c,value:g?a.values[0]:a.values[2]}]}).enter().append('svg:image').classed('marker-group__label--icon-'+c,!0).attr('y',this.options.markerHeight/2-10).attr('x',function(a){return g?f.x(a.value)-25:f.x(a.value)+15}).attr('xlink:href',function(a){return a.icon}).attr('width',20).attr('height',20);b.arrangeLabels(a,this.svg)}}],[{key:'arrangeLabels',value:function c(a,b){var d=b.node().getBoundingClientRect();a.selectAll('.marker-group__label--left').each(function(a,b,c){var e=c[b],f=e.getBoundingClientRect();f.left<=d.left&&bn(e).attr('transform','translate('+(f.width+20)+', '+f.height/1.1+')')});a.selectAll('.marker-group__label--right').each(function(a,b,c){var e=c[b],f=e.getBoundingClientRect();f.right>=d.right&&bn(e).attr('transform','translate(-'+(f.width+20)+', '+f.height/1.1+')')})}},{key:'parseData',value:function b(a){return a.map(function(a){a.colors=a.colors||['#f0f0f0','#555','#000'];return a})}},{key:'validateData',value:function b(a){var c=a.filter(function(a){return a.values&&a.values.length!==3});if(c.length){throw Error('invalid data: values needs three items.')}}}]);return b}(ji);m.PearlChart=jj;m.StackedChart=jk;m.BoxPlot=jl;Object.defineProperty(m,'__esModule',{value:!0})}))
//# sourceMappingURL=oecd-simple-charts.min.js.map