(function(K){function Ad(){function O(d,e){d.attr("transform",function(d){return"translate("+(e(d)+ga)+", 0)"})}function w(d,e){d.attr("transform",function(d){return"translate(0,"+e(d)+")"})}function z(d){var e=d[0];d=d[d.length-1];return ezc?zc:a}function Z(a){var b=!1;Ob(g.data.targets).forEach(function(c){b||c.data.id!==a.data.id||(b=!0,a=c)});return b?a:null}function Dd(){var a=e.svg.arc().outerRadius(Na).innerRadius(Db), b=function(b,f){var k;return f?a(b):(k=Z(b))?a(k):"M 0 0"};b.centroid=a.centroid;return b}function sc(a){var b=e.svg.arc().outerRadius(Cb*(a?a:1)).innerRadius(Db);return function(a){return(a=Z(a))?b(a):"M 0 0"}}function wb(a){a=Z(a);var b,c;b="";a&&(b=ib.centroid(a),a=b[0],b=b[1],c=Math.sqrt(a*a+b*b),b="translate("+0.8*(a/c)*Na+","+0.8*(b/c)*Na+")");return b}function Ed(a){return Qd(a,(a.endAngle-a.startAngle)/(2*Math.PI))}function Ac(a,b){var c=p.selectAll(".chart-arc"+ka(a)),f=p.selectAll(".-arc").filter(function(b){return b.data.id!== a});c.selectAll("path").transition().duration(50).attr("d",wc).transition().duration(100).attr("d",xc).each(function(a){Pb(a.data)});b||f.style("opacity",0.3)}function Qb(a){p.selectAll(".chart-arc"+ka(a)).selectAll("path").transition().duration(50).attr("d",ib);p.selectAll(".-arc").style("opacity",1)}function Rd(a){var b=Bc(a),c,f,k,d;if(0a?a:0}),c=1;c+a||(b[f][c]+=+a)});return e.max(Object.keys(b).map(function(a){return e.max(b[a])}))}function kb(a){var b=lb(function(b){return Y(b.id)===a}),c="y2"=== a?Ud:Vd,f="y2"===a?Wd:Xd,c=c?c:Rd(b),f=f?f:Sd(b),k=0.22*Math.abs(f-c),d=k,e=k,h="y2"===a?Yd:Zd;h&&(c=Math.max(Math.abs(c),Math.abs(f)),f=c-h,c=h-c);"y"===a&&Pa&&(d=A(Pa.top)?Pa.top:k,e=A(Pa.bottom)?Pa.bottom:k);"y2"===a&&Qa&&(d=A(Qa.top)?Qa.top:k,e=A(Qa.bottom)?Qa.bottom:k);$(b,"bar")&&!Cc(b)&&(e=c);return[c-e,f+d]}function $d(a){return e.min(a,function(a){return e.min(a.values,function(a){return a.x})})}function ae(a){return e.max(a,function(a){return e.max(a.values,function(a){return a.x})})}function mb(a){var b= [$d(a),ae(a)],c=b[0],f=b[1],b=Math.abs(b[0]-b[1]);a=ja?0:$(a,"bar")?b/(za()-1)/2:0.01*b;c=D?new Date(c.getTime()-a):c-a;f=D?new Date(f.getTime()+a):f+a;return[c,f]}function ya(a){return a[1]-a[0]}function be(a){for(var b=0;ba?0:a} function Fc(a){return ta&&a===ta||ca&&de(ca,a)}function ee(a){return!Fc(a)}function fe(a){Object.keys(a).forEach(function(b){ca[b]=a[b]})}function ob(a){var b;a&&(b=Ra[a.id],a.name=b?b:a.id);return a}function Gc(a){var b=a[0],c={},f=[],k,d;for(k=1;kb&&(c=a,b=a.values.length)}):c=a?g.data.targets[0]:null;return c}function Ta(a){a=w(a)?g.data.targets:a;return a.map(function(a){return a.id})}function Kc(a){var b=Ta(),c;for(c=0;ca})}function Td(a){return Lc(a,function(a){return 0 k&&(d-=c+30)),c=b[1]+15+fv[c].indexOf(k.id)))for(f=0;fb.value?-1:1)):a[0][0]+(a[2][0]-a[0][0])/2} function De(a,b,c){return h?(a[0][0]+a[2][0]+0.6*c.offsetHeight)/2:a[2][1]+(0>b.value?c.offsetHeight:ua(b)?-3:-6)}function md(a,b){var c=a.__max__+1,f=c?1.2*T.tickOffset()/c:0,d=te(f,c,a,!!b),e=ue(!!b),h=ve(a,!!b),g=b?L:u;return function(a,b){var c=g(a.id)(0),l=h(a,b)||c;return[[d(a),l],[d(a),e(a)-(c-l)],[d(a)+f,e(a)-(c-l)],[d(a)+f,l]]}}function Ee(a,b,c,f){var d,e,g="M",l,m,n,p,r,q=[];if(z(f))for(d=0;d=e;e+=Fe)g+=f(a[d-1],a[d],e,n)}return g}function ac(a){var b;qb=e.select(xa);if(qb.empty())K.alert('No bind element found. Check the selector specified by "bindto" and existance of that element. Default "bindto" is "#chart".');else{qb.html("");g.data.x={};g.data.targets=Sa(a);qa();Q();n.domain(e.extent(mb(g.data.targets)));B.domain(kb("y"));ba.domain(kb("y2")); U.domain(n.domain());gb.domain(B.domain());hb.domain(ba.domain());aa=n.domain();G.scale(U);fa&&C.scale(n);p=e.select(xa).append("svg").attr("width",r+t+H).attr("height",q+m+pa).on("mouseenter",Ge).on("mouseleave",He);rb=p.append("defs");rb.append("clipPath").attr("id",bc).append("rect").attr("y",m).attr("width",r).attr("height",q-m);rb.append("clipPath").attr("id","xaxis-clip").append("rect").attr("x",-1-t).attr("y",-20).attr("width",ia).attr("height",X);rb.append("clipPath").attr("id","yaxis-clip").append("rect").attr("x", -t+1).attr("y",m-1).attr("width",Ka).attr("height",xb);l=p.append("g").attr("transform",J.main);F=Ga?p.append("g").attr("transform",J.context):null;Ha=Ia?p.append("g").attr("transform",J.legend):null;V=e.select(xa).style("position","relative").append("div").style("position","absolute").style("z-index","10").style("display","none");l.append("g").attr("class","x axis").attr("clip-path",h?"":"url("+document.URL+"#xaxis-clip)").attr("transform",J.x).append("text").attr("class","-axis-x-label").attr("x", r).attr("dy","-.5em").style("text-anchor","end").text(Ie);l.append("g").attr("class","y axis").attr("clip-path",h?"url("+document.URL+"#yaxis-clip)":"").append("text").attr("transform","rotate(-90)").attr("dy","1.2em").attr("dx","-.5em").style("text-anchor","end").text(Je);Ab&&l.append("g").attr("class","y2 axis").attr("transform",J.y2);a=l.append("g").attr("clip-path",Ya).attr("class","grid");od&&a.append("g").attr("class","xgrids");cc&&(b=a.append("g").attr("class","xgrid-lines").selectAll(".xgrid-line").data(cc).enter().append("g").attr("class", "xgrid-line"),b.append("line").attr("class",function(a){return""+a["class"]}),b.append("text").attr("class",function(a){return""+a["class"]}).attr("text-anchor","end").attr("transform",h?"":"rotate(-90)").attr("dx",h?0:-m).attr("dy",-5).text(function(a){return a.text}));Ke&&a.append("g").attr("class","xgrid-focus").append("line").attr("class","xgrid-focus").attr("x1",h?0:-10).attr("x2",h?r:-10).attr("y1",h?-10:m).attr("y2",h?-10:q);pd&&a.append("g").attr("class","ygrids");dc&&(a=a.append("g").attr("class", "ygrid-lines").selectAll("ygrid-line").data(dc).enter().append("g").attr("class","ygrid-line"),a.append("line").attr("class",function(a){return""+a["class"]}),a.append("text").attr("class",function(a){return""+a["class"]}).attr("text-anchor","end").attr("transform",h?"rotate(-90)":"").attr("dx",h?0:-m).attr("dy",-5).text(function(a){return a.text}));l.append("g").attr("clip-path",Ya).attr("class","regions");l.append("g").attr("clip-path",Ya).attr("class","chart");l.select(".chart").append("g").attr("class", "event-rects").style("fill-opacity",0).style("cursor",fa?h?"ns-resize":"ew-resize":null);l.select(".chart").append("g").attr("class","chart-bars");l.select(".chart").append("g").attr("class","chart-lines");l.select(".chart").append("g").attr("class","chart-arcs").attr("transform",J.arc).append("text").attr("class","chart-arcs-title").style("text-anchor","middle").text(Le);l.select(".chart").append("g").attr("class","chart-texts");if(fa)l.insert("rect",Me?null:"g.grid").attr("class","zoom-rect").attr("width", r).attr("height",q).style("opacity",0).style("cursor",h?"ns-resize":"ew-resize").call(C).on("dblclick.zoom",null);null!==sb&&G.extent("function"!==typeof sb?sb:sb(mb()));Ga&&(F.append("g").attr("clip-path",Ya).attr("class","chart"),F.select(".chart").append("g").attr("class","chart-bars"),F.select(".chart").append("g").attr("class","chart-lines"),F.append("g").attr("clip-path",Ya).attr("class","x brush").call(G).selectAll("rect").attr(h?"width":"height",h?Bb:fb),F.append("g").attr("class","x axis").attr("transform", J.subx).attr("clip-path",h?"url("+document.URL+"#yaxis-clip)":""));Ia&&tb(g.data.targets);qd(g.data.targets);x({withTransform:!0,withUpdateXDomain:!0});if(Ne){if(D&&"string"===typeof Ja){Ja=sa(Ja);for(a=0;aUb(c,a)?p.select(".event-rect").style("cursor","pointer"):p.select(".event-rect").style("cursor",null))}).on("click",function(){var a, c;E(g.data.targets)||(a=e.mouse(this),c=Xc(g.data.targets,a),100>Ub(c,a)&&l.select(".-circles-"+c.id).select(".-circle-"+c.index).each(function(){td(this,c,c.index)}))}).call(e.behavior.drag().origin(Object).on("drag",function(){ud(e.mouse(this))}).on("dragstart",function(){vd(e.mouse(this))}).on("dragend",function(){wd()})).call(C).on("dblclick.zoom",null)}function td(a,b,c){var d=e.select(a),k=d.classed(na),g=!1,h;"circle"===a.nodeName?(g=fd(a,1.5*Xa),h=id):"rect"===a.nodeName&&(g=gd(a),h=kd);if(va|| g)la&&ma(b)&&(d.classed(na,!k),h(!k,d,b,c)),Re(b,d)}function ud(a){var b,c,d,k,h,n,p;E(g.data.targets)||!la||fa&&!C.altDomain||(b=hc[0],c=hc[1],d=a[0],a=a[1],k=Math.min(b,d),h=Math.max(b,d),n=va?m:Math.min(c,a),p=va?q:Math.max(c,a),l.select(".dragarea").attr("x",k).attr("y",n).attr("width",h-k).attr("height",p-n),l.selectAll(".-shapes").selectAll(".-shape").filter(function(a){return ma(a)}).each(function(a,b){var c=e.select(this),d=c.classed(na),f=c.classed(ic),g,l,m,q;g=!1;"circle"===this.nodeName? (g=1*c.attr("cx"),l=1*c.attr("cy"),q=id,g=ka.value?"end":"start":"middle"}).style("stroke","none").style("fill-opacity",0).text(function(a){return Tc(a.value)});c.style("fill-opacity",pe).transition().duration(s).attr("x",t).attr("y",a).style("fill-opacity",Qc);c.exit().transition().duration(s).style("fill-opacity",0).remove();l.selectAll(".-line").style("opacity",Aa).transition().duration(s).attr("d", Ue).style("opacity",1);l.selectAll(".-area").style("opacity",0).transition().duration(s).attr("d",Ve).style("opacity",xd);c=l.selectAll(".-circles").selectAll(".-circle").data(we);c.enter().append("circle").attr("class",ne).style("opacity",0).attr("r",$b);c.style("opacity",Aa).transition().duration(s).style("opacity",qe).attr("cx",h?Fa:Ea).attr("cy",h?Ea:Fa);c.exit().remove();l.selectAll(".chart-arc").select(".-arc").attr("transform",u?"scale(0)":"").style("opacity",function(a){return a===this._current? 0:1}).transition().duration(s).attrTween("d",function(a){a=Z(a);if(!a)return function(){return"M 0 0"};var b=e.interpolate(this._current,a);this._current=b(0);return function(a){a=b(a);return dd(a.data)||Pb(a.data)?ib(a,!0):"M 0 0"}}).attr("transform",u?"scale(1)":"").style("opacity",1);l.selectAll(".chart-arc").select("text").attr("transform",wb).style("opacity",0).transition().duration(s).text(Ed).style("opacity",function(a){return dd(a.data)||Pb(a.data)?1:0});l.select(".chart-arcs-title").style("opacity", $(g.data.targets,"donut")?1:0);Ga&&(null!==e.event&&"zoom"===e.event.type&&G.extent(n.orgDomain()).update(),k&&(F.select(".x.axis").style("opacity",v?0:1).transition().duration(h?s:0).call(Lb),G.empty()||G.extent(n.orgDomain()).update(),k=ld(d,!0),d=F.selectAll(".-bars").selectAll(".-bar").data(ed),d.enter().append("path").attr("d",k).style("stroke","none").style("fill",function(a){return I(a.id)}).attr("class",Oc),d.style("opacity",Aa).transition().duration(s).attr("d",k).style("opacity",1),d.exit().transition().duration(s).style("opacity", 0).remove(),F.selectAll(".-line").style("opacity",Aa).transition().duration(s).attr("d",We).style("opacity",1)));l.selectAll(".selected-circles").filter(function(a){return ua(a)}).selectAll("circle").remove();l.selectAll(".selected-circle").transition().duration(s).attr("cx",h?Fa:Ea).attr("cy",h?Ea:Fa);ca?(k=l.select(".event-rects").selectAll(".event-rect").data([0]),Qe(k.enter()),k.attr("x",0).attr("y",0).attr("width",r).attr("height",q)):(Sb?(p=function(a,b){var c=Jc(b),d=b"+c+""),g=a[d].name,e=Tc(a[d].value),c+=""+g+""+e+"");return c+""}),Ne=d(["tooltip","init","show"],!1),Ja=d(["tooltip","init","x"],0),rd=d(["tooltip","init","position"],{top:"0px",left:"50px"}),bc=xa.replace("#","")+"-clip",Ya="url("+document.URL+"#"+bc+")",D="timeseries"=== nc,ja="categorized"===nc,Sb=!D&&(ta||ca),hc=null,Za=!1,gc=!1,ra=Ia?40:0,I=function(a,b){var c=[],d=null!==b?b:"#1f77b4 #ff7f0e #2ca02c #d62728 #9467bd #8c564b #e377c2 #7f7f7f #bcbd22 #17becf".split(" ");return function(b){if(b in a)return a[b];-1===c.indexOf(b)&&c.push(b);return d[c.indexOf(b)%d.length]}}($e,af),Nd=function(){var a=[[e.time.format("%Y/%-m/%-d"),function(){return!0}],[e.time.format("%-m/%-d"),function(a){return a.getMonth()}],[e.time.format("%-m/%-d"),function(a){return 1!==a.getDate()}], [e.time.format("%-m/%-d"),function(a){return a.getDay()&&1!==a.getDate()}],[e.time.format("%I %p"),function(a){return a.getHours()}],[e.time.format("%I:%M"),function(a){return a.getMinutes()}],[e.time.format(":%S"),function(a){return a.getSeconds()}],[e.time.format(".%L"),function(a){return a.getMilliseconds()}]];return function(b){for(var c=a.length-1,d=a[c];!d[1](b);)d=a[--c];return d[0](b)}}(),r,Bb,q,fb,yb,wa,Na,Cb,Db,ib,wc,xc,Ob,Fb,Gb,Hb,Ib,Jb,Kb,n,B,ba,U,gb,hb,T,Mb,vc,Lb,Fd=h?"left":"bottom", Hd=h?cb?"top":"bottom":cb?"right":"left",Jd=h?eb?"bottom":"top":eb?"left":"right",Gd=h?"left":"bottom",J={main:function(){return"translate("+t+","+m+")"},context:function(){return"translate("+qc+","+vb+")"},legend:function(){return"translate("+pc+","+oc+")"},y2:function(){return"translate("+(h?0:r)+","+(h?10:0)+")"},x:function(){return"translate(0,"+q+")"},subx:function(){return"translate(0,"+(h?0:fb)+")"},arc:function(){return"translate("+r/2+","+q/2+")"}},uc=40,tc=20;Ob=e.layout.pie().value(function(a){return a.values.reduce(function(a, c){return a+c.value},0)});var Ue=function(){var a=e.svg.line().x(h?function(a){return u(a.id)(a.value)}:Ca).y(h?Ca:function(a){return u(a.id)(a.value)});return function(b){var c=Xb(b.values),d;if(pb(b))return cd(b)?a.interpolate("cardinal"):a.interpolate("linear"),zd[b.id]?Ee(c,n,u(b.id),zd[b.id]):a(c);d=n(c[0].x);b=u(b.id)(c[0].value);return h?"M "+b+" "+d:"M "+d+" "+b}}(),Ve=function(){var a;a=h?e.svg.area().x0(function(a){return u(a.id)(0)}).x1(function(a){return u(a.id)(a.value)}).y(Ca):e.svg.area().x(Ca).y0(function(a){return u(a.id)(0)}).y1(function(a){return u(a.id)(a.value)}); return function(b){var c=Xb(b.values),d;if($([b],"area")||$([b],"area-spline"))return cd(b)?a.interpolate("cardinal"):a.interpolate("linear"),a(c);d=n(c[0].x);b=u(b.id)(c[0].value);return h?"M "+b+" "+d:"M "+d+" "+b}}(),We=function(){var a=e.svg.line().x(h?function(a){return L(a.id)(a.value)}:Sc).y(h?Sc:function(a){return L(a.id)(a.value)});return function(b){var c=Xb(b.values);return pb(b)?a(c):"M "+U(c[0].x)+" "+L(b.id)(c[0].value)}}(),G,C=function(){};G=e.svg.brush().on("brush",function(){x({withTransition:!1, withY:!1,withSubchart:!1,withUpdateXDomain:!0})});G.update=function(){F&&F.select(".x.brush").call(this);return this};G.scale=function(a){return h?this.y(a):this.x(a)};fa&&(C=e.behavior.zoom().on("zoomstart",function(){C.altDomain=e.event.sourceEvent.altKey?n.orgDomain():null}).on("zoom",fa?Xe:null),C.scale=function(a){return h?this.y(a):this.x(a)},C.orgScaleExtent=function(){var a=yd?yd:[1,10];return[a[0],Math.max(za()/a[1],a[1])]},C.updateScaleExtent=function(){var a=ya(n.orgDomain())/ya(aa),b= this.orgScaleExtent();this.scaleExtent([b[0]*a,b[1]*a]);return this});var p,rb,l,F,Ha,V,qb,aa,xd,Tb={};g.focus=function(a){var b=p.selectAll(ka(a)),c=b.filter(lc),b=b.filter(mc);g.revert();g.defocus();c.classed("focused",!0).transition().duration(100).style("opacity",1);b.transition().duration(100).style("opacity",1);E(g.data.targets)&&Ac(a,!0);jc(a)};g.defocus=function(a){var b=p.selectAll(ka(a)),c=b.filter(lc),b=b.filter(mc);g.revert();c.classed("focused",!1).transition().duration(100).style("opacity", 0.3);b.transition().duration(100).style("opacity",0.3);E(g.data.targets)&&Qb(a);Ye(a)};g.revert=function(a){var b=p.selectAll(ka(a)),c=b.filter(lc),b=b.filter(mc);c.classed("focused",!1).transition().duration(100).style("opacity",1);b.transition().duration(100).style("opacity",1);E(g.data.targets)&&Qb(a);kc()};g.show=function(a){p.selectAll(ka(a)).transition().style("opacity",1)};g.hide=function(a){p.selectAll(ka(a)).transition().style("opacity",0)};g.unzoom=function(){G.clear().update();x({withUpdateXDomain:!0})}; g.load=function(a){"function"!==typeof a.done&&(a.done=function(){});a.xs&&fe(a.xs);"categories"in a&&ja&&(Oa=a.categories,T.categories(Oa));if("cacheIds"in a&&be(a.cacheIds))$a(ce(a.cacheIds),a.done);else if("data"in a)$a(Sa(a.data),a.done);else if("url"in a)e.csv(a.url,function(b,c){$a(Sa(c),a.done)});else if("rows"in a)$a(Sa(Gc(a.rows)),a.done);else if("columns"in a)$a(Sa(Hc(a.columns)),a.done);else throw Error("url or rows or columns is required.");};g.unload=function(a){g.data.targets=g.data.targets.filter(function(b){return b.id!== a});p.selectAll(ka(a)).transition().style("opacity",0).remove();Ia&&(p.selectAll(".legend-item"+ub(a)).remove(),tb(g.data.targets));0b.classes.indexOf(a)})});return N};g.data.get=function(a){a=g.data.getAsTarget(a);return z(a)?a.values.map(function(a){return a.value}):void 0};g.data.getAsTarget=function(a){var b=lb(function(b){return b.id===a});return 0