UNPKG

taucharts

Version:

Data-focused charting library based on D3

9 lines 249 kB
/*! * /* * taucharts@2.8.0 (2020-02-26) * Copyright 2020 Targetprocess, Inc. * Licensed under Apache License 2.0 * * / * */ !function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(require("d3-selection"),require("d3-array"),require("d3-scale"),require("topojson-client"),require("d3-transition"),require("d3-format"),require("d3-time-format"),require("d3-brush"),require("d3-color"),require("d3-axis"),require("d3-geo"),require("d3-quadtree"),require("d3-shape"),require("d3-time")):"function"==typeof define&&define.amd?define(["d3-selection","d3-array","d3-scale","topojson-client","d3-transition","d3-format","d3-time-format","d3-brush","d3-color","d3-axis","d3-geo","d3-quadtree","d3-shape","d3-time"],e):"object"==typeof exports?exports.Taucharts=e(require("d3-selection"),require("d3-array"),require("d3-scale"),require("topojson-client"),require("d3-transition"),require("d3-format"),require("d3-time-format"),require("d3-brush"),require("d3-color"),require("d3-axis"),require("d3-geo"),require("d3-quadtree"),require("d3-shape"),require("d3-time")):t.Taucharts=e(t.d3,t.d3,t.d3,t.topojson,t.d3,t.d3,t.d3,t.d3,t.d3,t.d3,t.d3,t.d3,t.d3,t.d3)}(window,(function(t,e,n,r,i,o,a,u,s,c,l,f,d,h){return function(t){var e={};function n(r){if(e[r])return e[r].exports;var i=e[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=t,n.c=e,n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:r})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var i in t)n.d(r,i,function(e){return t[e]}.bind(null,i));return r},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=20)}([function(e,n){e.exports=t},function(t,e,n){"use strict";n.r(e);var r={};n.r(r),n.d(r,"traverseJSON",(function(){return vt})),n.d(r,"traverseSpec",(function(){return bt})),n.d(r,"clone",(function(){return Ct})),n.d(r,"isDate",(function(){return Nt})),n.d(r,"isObject",(function(){return Lt})),n.d(r,"niceZeroBased",(function(){return jt})),n.d(r,"niceTimeDomain",(function(){return Pt})),n.d(r,"generateHash",(function(){return Rt})),n.d(r,"generateRatioFunction",(function(){return Dt})),n.d(r,"isSpecRectCoordsOnly",(function(){return It})),n.d(r,"throttleLastEvent",(function(){return Bt})),n.d(r,"splitEvenly",(function(){return Wt})),n.d(r,"extRGBColor",(function(){return Ht})),n.d(r,"extCSSClass",(function(){return Ut})),n.d(r,"toRadian",(function(){return Gt})),n.d(r,"normalizeAngle",(function(){return qt})),n.d(r,"range",(function(){return Xt})),n.d(r,"hasXOverflow",(function(){return Yt})),n.d(r,"hasYOverflow",(function(){return Vt})),n.d(r,"flatten",(function(){return $t})),n.d(r,"unique",(function(){return Jt})),n.d(r,"groupBy",(function(){return Kt})),n.d(r,"union",(function(){return Zt})),n.d(r,"intersection",(function(){return Qt})),n.d(r,"defaults",(function(){return te})),n.d(r,"omit",(function(){return ee})),n.d(r,"memoize",(function(){return ne})),n.d(r,"createMultiSorter",(function(){return re})),n.d(r,"pick",(function(){return ie})),n.d(r,"escape",(function(){return oe})),n.d(r,"template",(function(){return ae})),n.d(r,"escapeHtml",(function(){return ue})),n.d(r,"xml",(function(){return ce})),n.d(r,"take",(function(){return le})),n.d(r,"isChartElement",(function(){return de})),n.d(r,"isFacetUnit",(function(){return he}));var i={};n.r(i),n.d(i,"appendTo",(function(){return me})),n.d(i,"getScrollbarSize",(function(){return ye})),n.d(i,"setScrollPadding",(function(){return ve})),n.d(i,"getStyle",(function(){return be})),n.d(i,"getStyleAsNum",(function(){return xe})),n.d(i,"getContainerSize",(function(){return _e})),n.d(i,"getAxisTickLabelSize",(function(){return we})),n.d(i,"getLabelSize",(function(){return Se})),n.d(i,"getCharSize",(function(){return Me})),n.d(i,"selectOrAppend",(function(){return Oe})),n.d(i,"selectImmediate",(function(){return ke})),n.d(i,"selectAllImmediate",(function(){return Ae})),n.d(i,"sortChildren",(function(){return Te})),n.d(i,"classes",(function(){return Ee})),n.d(i,"dispatchMouseEvent",(function(){return Ce}));var o={};n.r(o),n.d(o,"translate",(function(){return Ne})),n.d(o,"rotate",(function(){return Le})),n.d(o,"getOrientation",(function(){return je})),n.d(o,"parseTransformTranslate",(function(){return Pe})),n.d(o,"isIntersect",(function(){return Fe})),n.d(o,"getDeepTransformTranslate",(function(){return ze})),n.d(o,"raiseElements",(function(){return Re}));var a=n(0),u=n(2),s=n(3),c={},l={};function f(t){var e=l[t];return e||(e=function(){for(var e,n,r=this,i=0,o=[];r=r.handler;){if("function"==typeof(n=r.callbacks[t])){if(!e)for(e=[this],i=0;i<arguments.length;i++)e.push(arguments[i]);o.unshift({fn:n,context:r.context,args:e})}if("function"==typeof(n=r.callbacks["*"])){if(!e)for(e=[this],i=0;i<arguments.length;i++)e.push(arguments[i]);o.unshift({fn:n,context:r.context,args:[{sender:this,type:t,args:e}]})}}o.forEach((function(t){return t.fn.apply(t.context,t.args)}))},l[t]=e),e}var d,h=function(){function t(){this.handler=null,this.emit_destroy=f("destroy")}return t.prototype.addHandler=function(t,e){e=e||this,this.handler={callbacks:t,context:e,handler:this.handler}},t.prototype.on=function(t,e,n){var r={};return r[t]=e,this.addHandler(r,n),r},t.prototype.fire=function(t,e){f.call(this,t).call(this,e)},t.prototype.removeHandler=function(t,e){var n,r=this;for(e=e||this;n=r,r=r.handler;)if(r.callbacks===t&&r.context===e)return r.callbacks=c,void(n.handler=r.handler)},t.prototype.destroy=function(){this.emit_destroy(),this.handler=null},t}(),p=(d=function(t,e){return(d=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])})(t,e)},function(t,e){function n(){this.constructor=t}d(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}),g=function(){return(g=Object.assign||function(t){for(var e,n=1,r=arguments.length;n<r;n++)for(var i in e=arguments[n])Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i]);return t}).apply(this,arguments)},m=(g({},a),function(t){function e(e){var n=t.call(this)||this;return n.screenModel=null,n._elementNameSpace=e.namespace||"default",n._elementScalesHub={},n}return p(e,t),e.prototype.regScale=function(t,e){return this._elementScalesHub[t]=e,this},e.prototype.getScale=function(t){return this._elementScalesHub[t]||null},e.prototype.fireNameSpaceEvent=function(t,e){var n=this._elementNameSpace;this.fire(t+"."+n,e)},e.prototype.subscribe=function(t,e,n){void 0===e&&(e=function(t){return t}),void 0===n&&(n=function(t){return t});var r=this,i={};[{event:"mouseover",limit:0},{event:"mouseout",limit:0},{event:"click",limit:0},{event:"mousemove",limit:"requestAnimationFrame"}].forEach((function(o){var u=o.event,s=o.limit;t.on(u,Bt(i,u,(function(t){var i={data:e.call(this,t),event:n.call(this,a.event,t)};r.fire(u,i),r.fireNameSpaceEvent(u,i)}),s))}))},e.prototype.allocateRect=function(){return{left:0,top:0,width:0,height:0}},e.prototype.defineGrammarModel=function(t){return{}},e.prototype.getGrammarRules=function(){return[]},e.prototype.getAdjustScalesRules=function(){return[]},e.prototype.createScreenModel=function(t){return null},e.prototype.getClosestElement=function(t,e){return null},e.prototype.addInteraction=function(){},e.prototype.draw=function(){this.config.options.container=this.config.options.slot(this.config.uid),this.drawFrames(this.config.frames)},e.prototype.data=function(){return this.config.frames.reduce((function(t,e){return t.concat(e.part())}),[])},e.prototype.node=function(){return this},e}(h)),y=function(t){return{day:{cast:function(e){var n=new Date(e);return new Date(n[t.setHours](0,0,0,0))},next:function(e){var n=new Date(e),r=new Date(n[t.setDate](n[t.getDate]()+1));return this.cast(r)}},week:{cast:function(e){var n=new Date(e);return n=new Date(n[t.setHours](0,0,0,0)),new Date(n[t.setDate](n[t.getDate]()-n[t.getDay]()))},next:function(e){var n=new Date(e),r=new Date(n[t.setDate](n[t.getDate]()+7));return this.cast(r)}},month:{cast:function(e){var n=new Date(e);return n=new Date(n[t.setHours](0,0,0,0)),n=new Date(n[t.setDate](1))},next:function(e){var n=new Date(e),r=new Date(n[t.setMonth](n[t.getMonth]()+1));return this.cast(r)}},quarter:{cast:function(e){var n=new Date(e);n=new Date(n[t.setHours](0,0,0,0));var r=(n=new Date(n[t.setDate](1)))[t.getMonth](),i=r-r%3;return new Date(n[t.setMonth](i))},next:function(e){var n=new Date(e),r=new Date(n[t.setMonth](n[t.getMonth]()+3));return this.cast(r)}},year:{cast:function(e){var n=new Date(e);return n=new Date(n[t.setHours](0,0,0,0)),n=new Date(n[t.setDate](1)),n=new Date(n[t.setMonth](0))},next:function(e){var n=new Date(e),r=new Date(n[t.setFullYear](n[t.getFullYear]()+1));return this.cast(r)}}}},v=y({setHours:"setHours",setDate:"setDate",getDate:"getDate",setMonth:"setMonth",getDay:"getDay",getMonth:"getMonth",setFullYear:"setFullYear",getFullYear:"getFullYear"}),b=y({setHours:"setUTCHours",setDate:"setUTCDate",getDate:"getUTCDate",setMonth:"setUTCMonth",getDay:"getUTCDay",getMonth:"getUTCMonth",setFullYear:"setUTCFullYear",getFullYear:"getUTCFullYear"}),x={add:function(t,e,n){return((void 0===n?{utc:!1}:n).utc?b:v)[t.toLowerCase()]=e,this},get:function(t,e){return((void 0===e?{utc:!1}:e).utc?b:v)[(t||"").toLowerCase()]||null},generate:function(t,e,n,r){var i=(void 0===r?{utc:!1}:r).utc,o=[],a=x.get(n,{utc:i});if(a){var u=a.cast(new Date(e)),s=a.cast(new Date(t));for(o.push(s);(s=a.next(new Date(s)))<=u;)o.push(s)}return o}},_=function(){var t=function(e,n){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])})(e,n)};return function(e,n){function r(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),w=function(t){function e(e,n,r){var i=t.call(this)||this;return i.name="TauChartError",i.message=e,i.errorCode=n,i.errorArgs=r,i}return _(e,t),e}(Error),S={STACKED_FIELD_NOT_NUMBER:"STACKED_FIELD_NOT_NUMBER",NO_DATA:"NO_DATA",NOT_SUPPORTED_TYPE_CHART:"NOT_SUPPORTED_TYPE_CHART",UNKNOWN_UNIT_TYPE:"UNKNOWN_UNIT_TYPE",INVALID_LOG_DOMAIN:"INVALID_LOG_DOMAIN"},M={},O={get:function(t){return M[t]},reg:function(t,e){return M[t]=e,this}},k="taucharts_synthetic_record";O.reg("identity",(function(){return{}})).reg("flip",(function(t){var e=t.scaleY,n=t.scaleX,r=n.domain(),i=n.discrete?r[0]:Math.max(0,Math.min.apply(Math,r)),o=n.value(i)+-.5*n.stepSize(i);return{flip:!0,scaleX:e,scaleY:n,xi:function(t){return e.value(t[e.dim])},yi:function(t){return n.value(t[n.dim])},y0:function(){return o}}})).reg("obsoleteVerticalStackOrder",(function(){return{obsoleteVerticalStackOrder:!0}})).reg("positioningByColor",(function(t){return(t.scaleX.discrete?function(t){var e=t.data().reduce((function(e,n){var r=n[t.scaleX.dim],i=n[t.scaleColor.dim];return e.hasOwnProperty(r)||(e[r]=[]),e[r].indexOf(i)<0&&e[r].push(i),e}),{}),n=t.scaleX,r=t.scaleColor,i=r.discrete?r.domain():r.originalSeries().sort((function(t,e){return t-e})),o=i.length||1,a=i.reduce((function(t,e,n){return t[e]=n,t}),{});return Object.keys(e).forEach((function(t){return e[t].sort((function(t,e){return a[t]-a[e]}))})),{xi:function(r){var i=r[t.scaleX.dim],a=e[i]||[r[t.scaleColor.dim]],u=a.length,s=a.indexOf(r[t.scaleColor.dim]),c=function(t){return n.stepSize(t[n.dim])*(o/(1+o))}(r)/(o+1);return t.xi(r)-(u+1)*c/2+(1+s)*c}}}:function(){return{}})(t)})).reg("groupOrderByAvg",(function(t){var e=t.data(),n=e.reduce((function(e,n){var r=t.group(n);return e[r]=e[r]||[],e[r].push(n),e}),{}),r=Object.keys(n).map((function(e){return[e,(r=n[e],r.map(t.yi).reduce((function(t,e){return t+e}),0)/r.length)];var r})).sort((function(t,e){return t[1]-e[1]})).map((function(t){return t[0]}));return{order:function(t){var e=r.indexOf(t);return e<0?Number.MAX_VALUE:e}}})).reg("stack",(function(t){var e=t.data(),n=t.scaleX,r=t.scaleY;if(r.discrete||r.domain().some((function(t){return"number"!=typeof t})))throw new w("Stacked field ["+r.dim+"] should be a number",S.STACKED_FIELD_NOT_NUMBER,{field:r.dim});var i=function(t){return function(e){var i=e[n.dim],o=e[r.dim],a=o>=0?t.positive:t.negative,u=a[i]||0,s=u+o;return a[i]=s,{nextStack:s,prevStack:u}}},o=i({positive:{},negative:{}}),a=i({positive:{},negative:{}}),u=function(e){return ne(e,t.id)},s=Number.MAX_VALUE,c=Number.MIN_VALUE,l=function(t){return s=t<s?t:s,c=t>c?t:c,r.value(t)},f=u((function(t){return l(o(t).nextStack)})),d=u((function(t){return l(a(t).prevStack)})),h=function(e){return t.group(e)+"/"+(e[r.dim]>=0?1:-1)},p=Kt(e,h),g=Object.keys(p).sort(t.flip||!t.flip&&t.obsoleteVerticalStackOrder?function(e,n){return t.order(e)-t.order(n)}:function(e,n){return t.order(n)-t.order(e)}).reduce((function(t,e){return t.concat(p[e])}),[]);return g.forEach((function(t){f(t),d(t)})),r.fixup((function(t){var e={};return(!t.hasOwnProperty("max")||t.max<c)&&(e.max=c),(!t.hasOwnProperty("min")||t.min>s)&&(e.min=s),e})),{group:h,data:function(){return g},yi:f,y0:d}})).reg("size_distribute_evenly",(function(t,e){var n=e.minLimit,r=e.maxLimit,i=e.defMin,o=e.defMax,a=t.data(),u=function(t,e){return t-e},s=t.scaleX.discrete?t.scaleX.stepSize()/2:Number.MAX_VALUE,c=a.map((function(e){return t.xi(e)})).sort(u),l=c[0],f=c.slice(1).map((function(t){var e=t-l;return l=t,e})).filter((function(t){return t>0})).sort(u).concat(Number.MAX_VALUE)[0],d=Math.min(f,s),h="number"==typeof n?n:i,p={minSize:h,maxSize:"number"==typeof r?r:Math.max(h,Math.min(o,d))};return t.scaleSize.fixup((function(t){var e={};return t.fixed?t.maxSize>p.maxSize&&(e.maxSize=p.maxSize):(e.fixed=!0,e.minSize=p.minSize,e.maxSize=p.maxSize),e})),{}})).reg("adjustStaticSizeScale",(function(t,e){var n=e.minLimit,r=e.maxLimit,i=e.defMin,o=e.defMax,a={minSize:"number"==typeof n?n:i,maxSize:"number"==typeof r?r:o};return t.scaleSize.fixup((function(t){var e={};return t.fixed||(e.fixed=!0,e.minSize=a.minSize,e.maxSize=a.maxSize),e})),{}})).reg("adjustSigmaSizeScale",(function(t,e){var n,r,i,o,a=e.minLimit,u=e.maxLimit,s=e.defMin,c=e.defMax,l=function(t,e){return t-e},f=t.data().map((function(e){return t.xi(e)})).sort(l),d=f[0],h=f.slice(1).map((function(t){var e=t-d;return d=t,e})).filter((function(t){return t>0})).sort(l).concat(Number.MAX_VALUE)[0],p=t.scaleX.discrete?t.scaleX.stepSize()/2:Number.MAX_VALUE,g=Math.min(h,p),m="number"==typeof a?a:s,y="number"==typeof u?u:c,v={minSize:m,maxSize:Math.max(m,Math.min(y,(n=g,r=(m+y)/2,i=y,o=m,Math.round(r+(i-r)/(1+Math.exp(-(n-o)/.5))))))};return t.scaleSize.fixup((function(t){var e={};return t.fixed?t.maxSize>v.maxSize&&(e.maxSize=v.maxSize):(e.fixed=!0,e.minSize=v.minSize,e.maxSize=v.maxSize),e})),{}})).reg("avoidScalesOverflow",(function(t,e){var n,r,i=e.sizeDirection,o=function(t,e){return!t||t.discrete||"logarithmic"===t.scaleType||i.indexOf(e)<0},a=o(t.scaleX,"x"),u=o(t.scaleY,"y");if(a&&u)return{};t.scaleSize.fixup((function(t){return n=t.minSize,r=t.maxSize,t}));var s=t.data().reduce((function(e,i){var o,s,c=t.size(i),l=(c>=n?c:n+c*(r-n))/2;return a||(o=t.xi(i),e.left=Math.min(e.left,o-l),e.right=Math.max(e.right,o+l)),u||(s=t.yi(i),e.top=Math.min(e.top,s-l),e.bottom=Math.max(e.bottom,s+l)),e}),{top:Number.MAX_VALUE,right:-Number.MAX_VALUE,bottom:-Number.MAX_VALUE,left:Number.MAX_VALUE}),c=function(e,n,r,i){var o=e.domain(),a=Math.abs(e.value(o[1])-e.value(o[0])),u=(o[1]-o[0])/a;if(0===a)return 1;var s=Math.max(0,-n),c=Math.max(0,r-a),l=t.flip?c:s,f=t.flip?s:c,d=Number(o[0])-(i?f:l)*u,h=Number(o[1])+(i?l:f)*u;return e.fixup((function(t){var e={};if(t.fixedBorders){var i=t.fixedBorders.slice(),o=i[0],a=i[1];(o>n||a<r)&&(e.min=Math.min(t.min,d),e.max=Math.max(t.max,h),o=Math.min(n,o),a=Math.max(r,a)),e.fixedBorders=[o,a]}else e.fixed=!0,e.min=d,e.max=h,e.nice=!1,e.fixedBorders=[n,r];return e})),a/(l+a+f)},l=a?1:c(t.scaleX,s.left,s.right,!1),f=u?1:c(t.scaleY,s.top,s.bottom,!0),d=Math.min(n*l,n*f),h=Math.min(r*l,r*f);return t.scaleSize.fixup((function(){return{minSize:d,maxSize:h}})),{}})).reg("fillGaps",(function(t,e){var n=e.isStack,r=e.xPeriod,i=e.utc,o=Kt(t.data(),t.group),a=Object.keys(o).sort((function(e,n){return t.order(e)-t.order(n)})).reduce((function(t,e){return t.concat([o[e]])}),[]),u=t.scaleX.dim,s=t.scaleY.dim,c=t.scaleColor.dim,l=t.scaleSplit.dim,f=function(t){return t[s]>=0?1:-1},d=function(e,n,r){var i,o=[e,t.id(n),r].join(" ");return(i={})[u]=e,i[s]=1e-10*r,i[l]=n[l],i[c]=n[c],i[k]=!0,i[k+"id"]=o,i},h=function(t,e,n){var r=Kt(e,(function(t){return t[u]})),i=e[0];return t.reduce((function(t,e){return t.push.apply(t,r[e]||[d(e,i,n)]),t}),[])},p=function(t,e){return t-e},g=function(){return Jt(a.reduce((function(t,e){return t.concat(e.map((function(t){return t[u]})))}),[])).sort(p)},m=r?function(){var e=g(),n=Math.max.apply(Math,e.map((function(t){return Number(t)}))),o=t.scaleX.domain(),a=x.generate(o[0],o[1],r,{utc:i}).filter((function(t){return t>=o[0]&&t<=o[1]})),u=0,s=[],c=x.get(r,{utc:i});return a.forEach((function(t){var r=Number(t);if(!(r>=n)){for(var i=u;i<e.length;i++)if(Number(c.cast(e[i]))===r)return void u++;s.push(t)}})),e.concat(s).sort(p)}():g(),y=a.map((function(e){return e.sort((function(e,n){return t.xi(e)-t.xi(n)}))})).reduce(n?function(t,e){var n=Kt(e,(function(t){return String(f(t))}));return Object.keys(n).reduce((function(t,e){return t.concat(h(m,n[e],e))}),t)}:function(t,e){Kt(e,(function(t){return String(f(t))}));var n=Math.max.apply(Math,e.map((function(t){return t[u]})));return t.concat(h(m.filter((function(t){return t<=n})),e,0))},[]);return{data:function(){return y},size:function(e){return e[k]?t.scaleSize(0):t.size(e)},id:function(e){return e[k]?e[k+"id"]:t.id(e)}}}));var A=n(5);function T(t){for(var e=[],n=1;n<arguments.length;n++)e[n-1]=arguments[n];return 2===e.length?e[0]*(1-t)+e[1]*t:3===e.length?e[0]*(1-t)*(1-t)+2*e[1]*(1-t)*t+e[2]*t*t:e[0]*(1-t)*(1-t)*(1-t)+3*e[1]*(1-t)*(1-t)*t+3*e[2]*(1-t)*t*t+e[3]*t*t*t}function E(t){for(var e=[],n=1;n<arguments.length;n++)e[n-1]=arguments[n];var r=e.map((function(t){return t.x})),i=e.map((function(t){return t.y}));return{x:T.apply(void 0,[t].concat(r)),y:T.apply(void 0,[t].concat(i))}}function C(t,e,n,r,i){var o=E(t,e,n),a=E(t,e,n,r),u=E(t,n,r,i),s=E(t,r,i);return[e,o,a,E(t,a,u),u,s,i]}function N(t,e,n){var r;return void 0===n&&(n="polyline"),function(i){return 0===i?t:1===i?e:(r||(r=("cubic"===n?j:L)(t,e)),r(i))}}function L(t,e){var n=(t=t.filter((function(t){return!t.isInterpolated}))).map((function(t){return t.id})),r=e.map((function(t){return t.id})),i=n.filter((function(t){return r.indexOf(t)>=0})),o=t.filter((function(t){return!t.positionIsBeingChanged})),a=e.filter((function(t){return!t.positionIsBeingChanged})),u=X(o,a),s=X(a,o),c=[];return i.forEach((function(o,a){var l=n.indexOf(o),f=r.indexOf(o);if(0===a&&(l>0||f>0)&&c.push(P({isCubic:!1,polylineFrom:t.slice(0,l+1),polylineTo:e.slice(0,f+1),toOppositeScale:0===f?u:s})),a>0){var d=n.indexOf(i[a-1]),h=r.indexOf(i[a-1]);(l-d>1||f-h>1)&&c.push(F({isCubic:!1,polylineFrom:t.slice(d,l+1),polylineTo:e.slice(h,f+1)}))}c.push(z({pointFrom:t[l],pointTo:e[f]})),a===i.length-1&&(t.length-l-1>0||e.length-f-1>0)&&c.push(P({isCubic:!1,polylineFrom:t.slice(l),polylineTo:e.slice(f),toOppositeScale:e.length-f==1?u:s}))})),0===c.length&&(e.length>0&&0===i.length||t.length>0&&0===i.length)&&c.push(R({isCubic:!1,polylineFrom:t.slice(0),polylineTo:e.slice(0)})),function(t){var e=[];return c.forEach((function(n){var r=n(t);D(e,r)})),e}}function j(t,e){for(var n=2;n<t.length-1;n+=3)t[n-1].isCubicControl=!0,t[n].isCubicControl=!0;for(n=2;n<e.length-1;n+=3)e[n-1].isCubicControl=!0,e[n].isCubicControl=!0;var r,i;for(n=(t=t.filter((function(t){return!t.isInterpolated}))).length-2;n>=0;n--)i=t[n+1],(r=t[n]).isCubicControl||i.isCubicControl||(t.splice(n+1,0,E(1/3,i,r),E(2/3,i,r)),t[n+1].isCubicControl=!0,t[n+2].isCubicControl=!0);var o=t.filter((function(t,e){return e%3==0})),a=e.filter((function(t,e){return e%3==0})),u=o.map((function(t){return t.id})),s=a.map((function(t){return t.id})),c=u.reduce((function(e,n){return e[n]=t.findIndex((function(t){return t.id===n})),e}),{}),l=s.reduce((function(t,n){return t[n]=e.findIndex((function(t){return t.id===n})),t}),{}),f=u.filter((function(t){return s.indexOf(t)>=0})),d=o.filter((function(t){return!t.positionIsBeingChanged})),h=a.filter((function(t){return!t.positionIsBeingChanged})),p=X(d,h),g=X(h,d),m=[];return f.forEach((function(n,r){var i,o,a,u=c[n],s=l[n];if(0===r&&(u>0||s>0)&&m.push(P({polylineFrom:t.slice(0,u+1),polylineTo:e.slice(0,s+1),toOppositeScale:0===s?p:g,isCubic:!0})),r>0){var d=c[f[r-1]],h=l[f[r-1]];u-d>3||s-h>3?m.push(F({polylineFrom:t.slice(d,u+1),polylineTo:e.slice(h,s+1),isCubic:!0})):m.push((i={polylineFrom:t.slice(d,u+1),polylineTo:e.slice(h,s+1)},o=i.polylineFrom,a=i.polylineTo,function(t){return W(o.slice(1,3),a.slice(1,3),t)}))}m.push(z({pointFrom:t[u],pointTo:e[s]})),r===f.length-1&&(t.length-u-1>0||e.length-s-1>0)&&m.push(P({polylineFrom:t.slice(u),polylineTo:e.slice(s),toOppositeScale:e.length-s==1?p:g,isCubic:!0}))})),0===m.length&&(e.length>0&&0===f.length||t.length>0&&0===f.length)&&m.push(R({polylineFrom:t.slice(0),polylineTo:e.slice(0),isCubic:!0})),function(t){var e=[];return m.forEach((function(n){var r=n(t);D(e,r)})),e}}function P(t){var e=t.polylineFrom,n=t.polylineTo,r=t.isCubic,i=t.toOppositeScale,o=e.length>n.length?e:n,a=1===n.length,u=e[0].id!==n[0].id,s=Boolean(u!==a);return function(t){var e=(r?U:H)({t:t,polyline:o,decreasing:a,rightToLeft:s});a===s?e.shift():e.pop();var n=W(e.map(i),e,a?1-t:t);return n.forEach((function(t){return t.positionIsBeingChanged=!0})),n}}function F(t){var e=t.polylineFrom,n=t.polylineTo,r=t.isCubic,i=e.length,o=n.length;if(o!==i){var a=o<i,u=a?e:n,s=(r?q:G)({smallerPolyline:a?n:e,biggerPolyline:u,decreasing:a}),c=u.slice(1,u.length-1),l=s.slice(1,s.length-1);return function(t){var e=W(l,c,a?1-t:t);return e.forEach((function(t){return t.positionIsBeingChanged=!0})),e}}var f=e.slice(1,e.length-1),d=n.slice(1,n.length-1);return function(t){var e=W(f,d,t);return e.forEach((function(t){return t.positionIsBeingChanged=!0})),e}}function z(t){var e=t.pointFrom,n=t.pointTo;return function(t){return[B(e,n,t)]}}function R(t){var e=t.polylineFrom,n=t.polylineTo,r=t.isCubic,i=0===n.length,o=i,a=i?e:n;return function(t){var e=(r?U:H)({t:t,polyline:a,decreasing:i,rightToLeft:o});return e.forEach((function(t,e){e>0&&(t.positionIsBeingChanged=!0)})),e}}function D(t,e){return Array.prototype.push.apply(t,e)}function I(t,e,n){return void 0===e?t:"number"==typeof e?t+n*(e-t):e}function B(t,e,n){if(t===e)return e;var r={};return Object.keys(t).forEach((function(i){return r[i]=I(t[i],e[i],n)})),void 0!==e.id&&(r.id=e.id),r}function W(t,e,n){return t.map((function(t,r){return B(t,e[r],n)}))}function H(t){var e=t.t,n=t.polyline,r=t.decreasing,i=t.rightToLeft,o=Boolean(r)!==Boolean(i),a=function(t,e){var n=0;if(t>0){for(var r,i,o,a,u=[0],s=0,c=1;c<e.length;c++)o=e[c-1].x,a=e[c-1].y,r=e[c].x,i=e[c].y,s+=Math.sqrt((r-o)*(r-o)+(i-a)*(i-a)),u.push(s);var l=t*s;for(c=1;c<u.length;c++)if(l<=u[c]){n=Math.min(1,(c-1+(l-u[c-1])/(u[c]-u[c-1]))/(e.length-1));break}}var f=Math.floor((e.length-1)*n)+1,d=e.length-f,h=f,p=e.slice(0,f);if(n<1){var g=n*(e.length-1)%1,m=B(e[f-1],e[f],g);D(p,Xt(d).map((function(t){return Object.assign({},m,{id:e[h+t].id,isInterpolated:!0})})))}return p}(r?1-e:e,o?n.slice(0).reverse():n);return o&&a.reverse(),a}function U(t){var e=t.t,n=t.polyline,r=t.decreasing,i=t.rightToLeft,o=Boolean(r)!==Boolean(i),a=function(t,e){var n=(e.length-1)/3+1,r=0;if(t>0){for(var i,o,a,u,s,c,l,f,d=[0],h=0,p=1;p<n;p++)a=e[3*p-3].x,u=e[3*p-3].y,s=e[3*p-2].x,c=e[3*p-2].y,l=e[3*p-1].x,f=e[3*p-1].y,i=e[3*p].x,o=e[3*p].y,h+=(Y(a,u,s,c)+Y(s,c,l,f)+Y(l,f,i,o)+Y(i,o,a,u))/2,d.push(h);var g=t*h;for(p=1;p<d.length;p++)if(g<=d[p]){r=Math.min(1,(p-1+(g-d[p-1])/(d[p]-d[p-1]))/(n-1));break}}var m=Math.floor((n-1)*r)+1,y=n-m,v=3*m,b=e.slice(0,3*(m-1)+1);if(r<1){var x=V(r*(n-1)%1,e.slice(3*(m-1),3*m+1)).slice(1,4);x.forEach((function(t){return t.isInterpolated=!0})),x[2].id=e[v].id,D(b,x),Xt(1,y).forEach((function(t){D(b,[{x:x[2].x,y:x[2].y,isCubicControl:!0,isInterpolated:!0},{x:x[2].x,y:x[2].y,isCubicControl:!0,isInterpolated:!0},Object.assign({},x[2],{id:e[v+3*t].id,isInterpolated:!0})])}))}return b}(r?1-e:e,o?n.slice(0).reverse():n);return o&&a.reverse(),a}function G(t){var e=t.smallerPolyline,n=t.biggerPolyline,r=t.decreasing,i=e.length-1,o=n.length-1,a=Math.floor(o/i)+1,u=o%i,s=Xt(i).map((function(t){return a+Number(t<u)})),c=[e[0]],l=1;return s.forEach((function(t){Xt(1,t).forEach((function(i){var o;i===t-1?(o=Object.assign({},e[l]),r||(o.id=n[c.length].id)):((o=B(e[l-1],e[l],i/(t-1))).id=n[c.length].id,r&&(o.isInterpolated=!0)),c.push(o)})),l++})),c}function q(t){var e=t.smallerPolyline,n=t.biggerPolyline,r=t.decreasing,i=(e.length-1)/3,o=(n.length-1)/3,a=Math.floor(o/i)+1,u=o%i,s=Xt(i).map((function(t){return a+Number(t<u)})),c=[e[0]],l=3;return s.forEach((function(t){if(t>2){var i=function(t,e){for(var n,r,i=[e[0]],o=0;o<t.length;o++)n=0===o?t[0]:t[o]/(1-t[o-1]),r=V(n,e),D(i,r.slice(1,4)),e=r.slice(3);return D(i,e.slice(1)),i}(Xt(1,t-1).map((function(e){return e/(t-1)})),e.slice(l-3,l+1));Xt(t-2).forEach((function(t){return i[3*(t+1)].id=n[c.length-1+3*t].id})),r&&i.forEach((function(t,e){e>0&&e<i.length-1&&(t.isInterpolated=!0)})),D(c,i.slice(1))}else{var o=Object.assign({},e[l-2]),a=Object.assign({},e[l-1]),u=Object.assign({},e[l]);r||(u.id=n[c.length+2].id),c.push(o,a,u)}l+=3})),c}function X(t,e){var n,r,i,o,a=[],u=[],s=0,c=t.length,l=e.length;for(n=0;n<c;n++)for(i=t[n],r=s;r<l;r++)if(o=e[r],i.id===o.id){s=r+1,a.push(i),u.push(o);break}if(a.length<1||u.length<1)return function(t){return t};var f=Object.keys(a[0]).filter((function(t){return"number"==typeof a[0][t]})).filter((function(t){return"id"!==t})),d={},h=function(t,e,n,r){return function(i){return r+(i-e)*(r-n)/(e-t)}};return f.forEach((function(t){for(var e,n,r=a[0][t],i=u[0][t],o=a.length-1;o>0;o--)if((e=a[o][t])!==r)return n=u[o][t],void(d[t]=h(r,e,i,n));d[t]=function(t,e){return function(n){return n-t+e}}(r,i)})),function(t){var e=Object.assign({},t);return f.forEach((function(n){e[n]=d[n](t[n])})),e}}function Y(t,e,n,r){return Math.sqrt((n-t)*(n-t)+(r-e)*(r-e))}function V(t,e){var n=e[0],r=e[1],i=e[2],o=e[3],a=C(t,n,r,i,o);return[a[1],a[2],a[4],a[5]].forEach((function(t){return t.isCubicControl=!0})),Object.keys(o).forEach((function(e){"x"!==e&&"y"!==e&&"id"!==e&&(a[3][e]=I(n[e],o[e],t))})),a}function $(t,e){if(t.length<2)return t.slice(0);if(2===t.length)return[t[0],{x:J(t[0].x,t[1].x,1/3),y:J(t[0].y,t[1].y,1/3)},{x:J(t[0].x,t[1].x,2/3),y:J(t[0].y,t[1].y,2/3)},t[1]];for(var n,r,i,o,a,u,s,c,l,f,d,h,p,g,m=new Array(3*(t.length-1)+1),y=m.length-1,v=0;v<t.length;v++)m[3*v]=t[v],v>0&&(m[3*v-2]=E(1/3,t[v-1],t[v]),m[3*v-1]=E(2/3,t[v-1],t[v]));for(var b=m.slice(0),x=0;x<3;x++){for(m[1]={x:J(m[0].x,m[3].x,1/3),y:J(m[0].y,J(m[3].y,m[2].y,1.5),2/3)},m[y-1]={x:J(m[y].x,m[y-3].x,1/3),y:J(m[y].y,J(m[y-3].y,m[y-2].y,1.5),2/3)},e&&((m[1].y-m[0].y)*(m[3].y-m[2].y)<0&&(m[1]={x:m[1].x,y:m[0].y}),(m[y-1].y-m[y].y)*(m[y-3].y-m[y-2].y)<0&&(m[y-1]={x:m[y-1].x,y:m[y].y})),v=6;v<b.length;v+=3)n=b[v-5],r=b[v-3],i=b[v-1],(r.x-n.x)*(i.x-r.x)*1e12<1?(o=J(n.x,r.x,.5),u=J(r.x,i.x,.5),a=J(n.y,r.y,.5),s=J(r.y,i.y,.5)):(f=(r.x-n.x)/(i.x-n.x),c=(r.x-n.x*(1-f)*(1-f)-i.x*f*f)/(2*(1-f)*f),l=(r.y-n.y*(1-f)*(1-f)-i.y*f*f)/(2*(1-f)*f),o=J(n.x,c,f),u=J(c,i.x,f),a=J(n.y,l,f),s=J(l,i.y,f),e&&(h=r.x-o,p=u-r.x,d=(s-r.y)/p,(r.y-n.y)*(i.y-r.y)<=0?d=0:(r.y>n.y==s>i.y&&(p=J(p*(g=(i.y-r.y)/(s-r.y)),p,1/(1+Math.abs(g))),d=(i.y-r.y)/p),r.y>n.y==a<n.y&&(h=J(h*(g=(r.y-n.y)/(r.y-a)),h,1/(1+Math.abs(g))),d=(r.y-n.y)/h)),o=r.x-h,u=r.x+p,a=r.y-d*h,s=r.y+d*p)),m[v-4]={x:o,y:a},m[v-2]={x:u,y:s};b=m.slice(0)}return b}function J(t,e,n){return t+n*(e-t)}var K={linear:function(t){return t},step:function(t){for(var e,n,r,i,o=[],a=void 0!==t[0].id,u=void 0!==t[0].size,s=1;s<t.length;s++)e=t[s-1],n=t[s],r={x:(e.x+n.x)/2,y:e.y},i={x:(e.x+n.x)/2,y:n.y},a&&(r.id=e.id+"-"+n.id+"-1",i.id=e.id+"-"+n.id+"-2"),u&&(r.size=e.size,i.size=n.size),1===s&&o.push(e),o.push(r,i,n);return o},"step-before":function(t){for(var e,n,r,i=[],o=void 0!==t[0].id,a=void 0!==t[0].size,u=1;u<t.length;u++)e=t[u-1],n=t[u],r={x:e.x,y:n.y},o&&(r.id=e.id+"-"+n.id),a&&(r.size=n.size),1===u&&i.push(e),i.push(r,n);return i},"step-after":function(t){for(var e,n,r,i=[],o=void 0!==t[0].id,a=void 0!==t[0].size,u=1;u<t.length;u++)e=t[u-1],r={x:(n=t[u]).x,y:e.y},o&&(r.id=e.id+"-"+n.id),a&&(r.size=e.size),1===u&&i.push(e),i.push(r,n);return i}},Z={smooth:function(t){return $(t,!1)},"smooth-keep-extremum":function(t){return $(t,!0)}};function Q(t){return K[t]||Z[t]}function tt(t){return void 0!==Z[t]?"cubic":"polyline"}var et=function(){return(et=Object.assign||function(t){for(var e,n=1,r=arguments.length;n<r;n++)for(var i in e=arguments[n])Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i]);return t}).apply(this,arguments)},nt=et({},a,A),rt=function(){return ne((function(t){return t.node().getComputedTextLength()}),(function(t){return t.node().textContent.length}))};var it=function(t,e,n){return e>0&&!document.hidden&&((t=t.transition(n).duration(e)).attr=ot),t.onTransitionEnd=function(t){return st(this,t),this},t},ot=function(t,e){var n,r,i=this,o=nt.transition.prototype.attr.apply(this,arguments);if(0===arguments.length)throw new Error("Unexpected `transition().attr()` arguments.");1===arguments.length?r=t:arguments.length>1&&((n={})[t]=e,r=n);var a="__transitionAttrs__",u="__lastTransitions__",s=ut();this.each((function(){var t=this,e={};for(var n in r)"function"==typeof r[n]?e[n]=r[n].apply(this,arguments):e[n]=r[n];this[a]=Object.assign(this[a]||{},e),this[a][u]||Object.defineProperty(this[a],u,{value:{}}),Object.keys(e).forEach((function(e){return t[a][u][e]=s}))}));var c=function(){var t=this;this[a]&&(Object.keys(r).filter((function(e){return t[a][u][e]===s})).forEach((function(e){return delete t[a][e]})),0===Object.keys(this[a]).length&&delete this[a])};return this.on("interrupt."+s,(function(){return i.each(c)})),this.on("end."+s,(function(){return i.each(c)})),o},at=0,ut=function(){return++at},st=function(t,e){if(nt.transition.prototype.isPrototypeOf(t)&&!t.empty()){var n=function(){return e.call(null,t)};return t.on("interrupt.d3_on_transition_end",n),t.on("end.d3_on_transition_end",n),t}e.call(null,t)},ct=function(t,e,n,r){var i=r||function(t){return t},o=function(){i(this)};return function(r){var i=r;return e&&(i=i.call(dt(te(e,n)))),i=(i=it(i,t)).call(dt(n)),t>0?i.on("end.d3_animationInterceptor",(function(){return i.each(o)})):i.each(o),i}},lt=function(t,e){var n=t.node();return t.selectAll(e).filter((function(){return this.parentNode===n}))},ft=function(t,e,n,r,i){void 0===i&&(i="linear");var o="__pathPoints__";return function(t){var a=this;this[o]||(this[o]=n.map((function(){return[]})));var u=n.map((function(e,n){var u=Jt(t,r).map(e),s=(Q(i)||Q("linear"))(u),c=a[o][n];return{pointsFrom:c,pointsTo:s,interpolate:N(c,s,tt(i))}}));return function(t){if(0===t){var n=u.map((function(t){return t.pointsFrom}));return e.apply(void 0,n)}if(1===t){var r=u.map((function(t){return t.pointsTo}));return a[o]=r,e.apply(void 0,r)}var i=u.map((function(e){return e.interpolate(t)}));return a[o]=i,e.apply(void 0,i)}}},dt=function(t){return function(e){return Object.keys(t).forEach((function(n){return e.attr(n,t[n])})),e}},ht=function(t){return function(e){return Object.keys(t).forEach((function(n){return e.classed(n,t[n])})),e}},pt=function(){var t=function(e,n){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])})(e,n)};return function(e,n){function r(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),gt=function(t){function e(e){var n=t.call(this,e)||this;n.config=e,n.config.guide=te(n.config.guide||{},{animationSpeed:0,enableColorToBarPosition:!1}),n.config.guide.size=n.config.guide.size||{};var r=n.config.stack,i=n.config.guide.enableColorToBarPosition,o=[e.flip&&O.get("flip"),r&&O.get("stack"),i&&O.get("positioningByColor")];return n.decorators=(n.config.transformRules||o).concat(e.transformModel||[]),n.adjusters=(n.config.adjustRules||[]).concat(e.adjustScales||[]),n}return pt(e,t),e.prototype.defineGrammarModel=function(t){var e=this,n=this.config;this.regScale("x",t("pos",n.x,[0,n.options.width])).regScale("y",t("pos",n.y,[n.options.height,0])).regScale("y",t("pos",n.y,(function(t){return["ordinal","period"].indexOf(t.type)>=0?[0,n.options.height]:[n.options.height,0]}))).regScale("size",t("size",n.size,{})).regScale("color",t("color",n.color,{})).regScale("split",t("split",n.split,{})).regScale("label",t("label",n.label,{})).regScale("identity",t("identity",n.identity,{}));var r=this.getScale("x"),i=this.getScale("y"),o=this.getScale("size"),a=this.getScale("label"),u=this.getScale("color"),s=this.getScale("split"),c=this.getScale("identity"),l=i.domain(),f=i.discrete?l[0]:Math.max(0,Math.min.apply(Math,l)),d=i.value(f)+.5*i.stepSize(f),h=u.domain(),p={data:function(){return e.data()},flip:!1,scaleX:r,scaleY:i,scaleSize:o,scaleLabel:a,scaleColor:u,scaleSplit:s,scaleIdentity:c,color:function(t){return u.value(t[u.dim])},label:function(t){return a.value(t[a.dim])},group:function(t){return t[u.dim]+"(@taucharts@)"+t[s.dim]},order:function(t){var e=t.split("(@taucharts@)")[0],n=h.indexOf(e);return n<0?Number.MAX_VALUE:n},size:function(t){return o.value(t[o.dim])},id:function(t){return c.value(t[c.dim],t)},xi:function(t){return r.value(t[r.dim])},yi:function(t){return i.value(t[i.dim])},y0:function(){return d}};return p.data().forEach((function(t){return p.id(t)})),p},e.prototype.getGrammarRules=function(){return this.decorators.filter((function(t){return t}))},e.prototype.getAdjustScalesRules=function(){return(this.adjusters||[]).filter((function(t){return t}))},e.prototype.createScreenModel=function(t){var e=t.flip,n=function(t,e,n){return t?e:n};return{flip:e,id:t.id,x:n(e,t.yi,t.xi),y:n(e,t.xi,t.yi),x0:n(e,t.y0,t.xi),y0:n(e,t.xi,t.y0),size:t.size,group:t.group,order:t.order,label:t.label,color:function(e){return t.scaleColor.toColor(t.color(e))},class:function(e){return t.scaleColor.toClass(t.color(e))},model:t,toFibers:function(){var e=Kt(t.data(),t.group);return Object.keys(e).sort((function(e,n){return t.order(e)-t.order(n)})).reduce((function(t,n){return t.concat([e[n]])}),[])}}},e.prototype.drawFrames=function(){var t=this,e=this.config.options,n=function(e){return function(t,e){var n=Math.pow(10,e);return Math.round(n*t)/n}(t.screenModel.size(e)/2,4)},r=ct,i=function(e,n,i){var o=t.config.guide.animationSpeed,u=e.selectAll("."+n).data((function(t){return[t]}),t.screenModel.id);u.exit().call(r(o,null,{width:0},(function(t){return a.select(t).remove()}))),u.call(r(o,null,i)),u.enter().append("rect").style("stroke-width",0).call(r(o,{width:0},i))},o=this.config.flip,u=o?"y":"x",s=o?"x":"y",c=o?"x0":"y0",l=o?"height":"width",f=o?"width":"height",d=function(e){var r,o,a;i(e,"lvl-top",((r={})[l]=function(t){return n(t)},r[f]=1,r[u]=function(e){return t.screenModel[u](e)-n(e)/2},r[s]=function(e){return t.screenModel[s](e)},r.fill=function(e){return t.screenModel.color(e)},r.class=function(e){return"lvl-top "+t.screenModel.class(e)},r)),i(e,"lvl-btm",((o={})[l]=function(t){return n(t)},o[f]=1,o[u]=function(e){return t.screenModel[u](e)-n(e)/2},o[s]=function(e){return t.screenModel[c](e)},o.fill=function(e){return t.screenModel.color(e)},o.class=function(e){return"lvl-btm "+t.screenModel.class(e)},o)),i(e,"lvl-link",((a={})[l]=.5,a[f]=function(e){return Math.abs(t.screenModel[s](e)-t.screenModel[c](e))},a[u]=function(e){return t.screenModel[u](e)-.25},a[s]=function(e){return Math.min(t.screenModel[s](e),t.screenModel[c](e))},a.fill=function(e){return t.screenModel.color(e)},a.class=function(e){return"lvl-link "+t.screenModel.class(e)},a))},h=function(e){e.attr("class","frame-id-"+t.config.uid).call((function(e){var n=e.selectAll(".generic").data((function(t){return t}),t.screenModel.id);n.exit().remove(),n.call(d),n.enter().append("g").attr("class","generic").call(d)}))},p=Kt(this.data(),t.screenModel.group),g=Object.keys(p).sort((function(e,n){return t.screenModel.order(e)-t.screenModel.order(n)})).reduce((function(t,e){return t.concat([p[e]])}),[]),m=e.container.selectAll(".frame-id-"+t.config.uid).data(g);m.exit().remove(),m.call(h),m.enter().append("g").call(h)},e}(m),mt=function(){return(mt=Object.assign||function(t){for(var e,n=1,r=arguments.length;n<r;n++)for(var i in e=arguments[n])Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i]);return t}).apply(this,arguments)},yt=mt({},u,s);function vt(t,e,n,r){var i=r(n(t),t);return(i[e]||[]).forEach((function(t){return vt(t,e,n,r)})),i}function bt(t,e,n,r){void 0===r&&(r=0),e(t,r)&&(t.units||[]).map((function(t){return bt(t,e,n,r+1)})),n(t,r)}var xt=function(){var t=[];function e(t){for(var e in t)this[e]=t[e]}function n(){this.copiedObjects=[];var t=this;this.recursiveDeepCopy=function(e){return t.deepCopy(e)},this.depth=0}function r(t,e){var r=new n;return e&&(r.maxDepth=e),r.deepCopy(t)}return e.prototype={constructor:e,canCopy:function(t){return!1},create:function(t){},populate:function(t,e,n){}},n.prototype={constructor:n,maxDepth:256,cacheResult:function(t,e){this.copiedObjects.push([t,e])},getCachedResult:function(t){for(var e=this.copiedObjects,n=e.length,r=0;r<n;r++)if(e[r][0]===t)return e[r][1]},deepCopy:function(e){if(null===e)return null;if("object"!=typeof e)return e;var n=this.getCachedResult(e);if(n)return n;for(var r=0;r<t.length;r++){var i=t[r];if(i.canCopy(e))return this.applyDeepCopier(i,e)}throw new Error("no DeepCopier is able to copy "+e)},applyDeepCopier:function(t,e){var n=t.create(e);if(this.cacheResult(e,n),this.depth++,this.depth>this.maxDepth)throw new Error("Exceeded max recursion depth in deep copy.");return t.populate(this.recursiveDeepCopy,e,n),this.depth--,n}},r.DeepCopier=e,r.deepCopiers=t,r.register=function(n){n instanceof e||(n=new e(n)),t.unshift(n)},r.register({canCopy:function(){return!0},create:function(t){return t instanceof t.constructor?"object"==typeof(e=t.constructor.prototype)?JSON.parse(JSON.stringify(e)):e:{};var e},populate:function(t,e,n){for(var r in e)e.hasOwnProperty(r)&&(n[r]=t(e[r]));return n}}),r.register({canCopy:function(t){return t instanceof Array},create:function(t){return new t.constructor},populate:function(t,e,n){for(var r=0;r<e.length;r++)n.push(t(e[r]));return n}}),r.register({canCopy:function(t){return t instanceof Date},create:function(t){return new Date(t)}}),r}(),_t=function(t){return/^(#|rgb\(|rgba\()/.test(t)},wt=/(.)^/,St={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;","`":"&#x60;"},Mt={"'":"'","\\":"\\","\r":"r","\n":"n","\u2028":"u2028","\u2029":"u2029"},Ot=/\\|'|\r|\n|\u2028|\u2029/g,kt="(?:"+Object.keys(St).join("|")+")",At=RegExp(kt),Tt=RegExp(kt,"g"),Et={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};function Ct(t){return xt(t)}function Nt(t){return t instanceof Date&&!isNaN(Number(t))}function Lt(t){return null!=t&&"object"==typeof t}function jt(t){var e=parseFloat(Math.min.apply(Math,t).toFixed(15)),n=parseFloat(Math.max.apply(Math,t).toFixed(15));e===n&&(n-=(n>=0?-1:1)*(n||1)/10);for(var r=[e=Math.min(0,e),n=Math.max(0,n)],i=r[1]-r[0],o=Math.pow(10,Math.floor(Math.log(i/10)/Math.LN10)),a=10/i*o,u=[[.15,10],[.35,5],[.75,2],[1,1],[2,1]],s=-1;a>u[++s][0];);o*=u[s][1],r[0]=Math.floor(r[0]/o)*o,r[1]=Math.ceil(r[1]/o)*o;var c=e-r[0],l=r[1]-n,f=o/2;if(e<0){var d=c>=f?-c:0;r[0]=r[0]-d}if(n>0){var h=l>=f?-l:0;r[1]=r[1]+h}return[parseFloat(r[0].toFixed(15)),parseFloat(r[1].toFixed(15))]}function Pt(t,e,n){var r=(void 0===n?{utc:!1}:n).utc,i=yt.extent(t),o=i[0],a=i[1],u=+a-+o,s=r?yt.scaleUtc:yt.scaleTime;if(0===u){return o=new Date(o.getTime()-864e5),a=new Date(a.getTime()+864e5),s().domain([o,a]).nice(e).domain()}var c=s().domain([o,a]).nice(e);if(e)return c.domain();var l=s().domain([o,a]).nice(e).domain(),f=l[0],d=l[1],h=c.ticks(),p=h.length-1;return(+o-+f)/(+h[1]-+f)<.5&&(o=f),(+d-+a)/(+d-+h[p-1])<.5&&(a=d),[o,a]}var Ft=0,zt={};function Rt(t){var e=btoa(encodeURIComponent(t)).replace(/=/g,"_");return zt.hasOwnProperty(e)||(zt[e]="H"+ ++Ft),zt[e]}function Dt(t,e,n){var r=0,i=null,o=ne((function(t,e){return Jt(t.map((function(t){return e.reduce((function(e,n){return e.concat(Nt(r=t[n])?r.getTime():r);var r}),[])})),(function(t){return JSON.stringify(t)})).reduce((function(t,e){var n=e[0];return t[n]=t[n]||0,t[n]+=1,t}),{})}),(function(t,e){var n=i===t?r:++r;return i=t,e.join("")+"-"+n}));return function(r,i,a){var u=a.length,s=n.getSpec(),c=s.sources["/"].data,l=s.unit.units[0].guide||{};l.padding=l.padding||{l:0,r:0,t:0,b:0};var f=0;"x"===t?f=l.padding.l+l.padding.r:"y"===t&&(f=l.padding.t+l.padding.b);var d,h=(i-u*f)/(d=o(c,e),Object.keys(d).reduce((function(t,e){return t+d[e]}),0));return(function(t,e){return o(c,t)[e]}(e,r)*h+f)/i}}function It(t){var e=!0;try{bt(t,(function(t){if(0===t.type.indexOf("COORDS.")&&"COORDS.RECT"!==t.type)throw new Error("Not applicable")}),(function(t){return t}))}catch(t){"Not applicable"===t.message&&(e=!1)}return e}function Bt(t,e,n,r){if(void 0===r&&(r=0),"requestAnimationFrame"===r){var i=!1;return function(){for(var r=[],o=0;o<arguments.length;o++)r[o]=arguments[o];i||(requestAnimationFrame((function(){i=!1})),n.apply(this,r),i=!0),t.e=e,t.ts=Date.now()}}return function(){for(var i=[],o=0;o<arguments.length;o++)i[o]=arguments[o];var a={e:e,ts:Date.now()},u=t.e&&t.e===a.e?a.ts-t.ts:r;u>=r&&n.apply(this,i),t.e=a.e,t.ts=a.ts}}function Wt(t,e){var n=t[0],r=t[1],i=(r-n)/(e-1),o=e>=2?Xt(e-2).map((function(t){return n+i*(t+1)})):[];return[n].concat(o,[r])}function Ht(t){return _t(t)?t:""}function Ut(t){return _t(t)?"":t}function Gt(t){return t/180*Math.PI}function qt(t){return Math.abs(t)>=360&&(t%=360),t<0&&(t=360+t),t}function Xt(t,e){1===arguments.length&&(e=t,t=0);for(var n=[],r=t;r<e;r++)n.push(r);return n}function Yt(t,e,n,r){return t+e*(90===n?-1:1)-r>100}function Vt(t,e,n,r){return t+e*(-90===n?-1:1)-r>20}function $t(t){return Array.isArray(t)?[].concat.apply([],t.map((function(t){return $t(t)}))):t}function Jt(t,e){for(var n={},r=[],i=t.length,o=e||function(t){return String(t)},a=0;a<i;++a){var u=t[a],s=o(u);n.hasOwnProperty(s)||(n[s]=!0,r.push(u))}return r}function Kt(t,e){return t.reduce((function(t,n){var r=e(n);return t[r]=t[r]||[],t[r].push(n),t}),{})}function Zt(t,e){return Jt(t.concat(e))}function Qt(t,e){return t.filter((function(t){return-1!==e.indexOf(t)}))}function te(t){for(var e=[],n=1;n<arguments.length;n++)e[n-1]=arguments[n];var r=e.length;if(0===r||!t)return t;for(var i=0;i<r;i++)for(var o=e[i],a=Lt(o)?Object.keys(o):[],u=a.length,s=0;s<u;s++){var c=a[s];void 0===t[c]&&(t[c]=o[c])}return t}function ee(t){for(var e=[],n=1;n<arguments.length;n++)e[n-1]=arguments[n];var r=Object.assign({},t);return e.forEach((function(t){delete r[t]})),r}function ne(t,e){var n=function(r){var i=n.cache,o=String(e?e.apply(this,arguments):r);return i.hasOwnProperty(o)||(i[o]=t.apply(this,arguments)),i[o]};return n.cache={},n}function re(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return function(e,n){var r=0;return t.every((function(t){return 0===(r=t(e,n))})),r}}function ie(t){for(var e=[],n=1;n<arguments.length;n++)e[n-1]=arguments[n];var r={};return null==t?r:e.reduce((function(e,n){var r=t[n];return r&&(e[n]=r),e}),{})}function oe(t){return t=null==t?"":String(t),At.test(t)?t.replace(Tt,(function(t){return St[t]})):t}function ae(t,e,n){!e&&n&&(e=n),e=te({},e,Et);var r=RegExp([(e.escape||wt).source,(e.interpolate||wt).source,(e.evaluate||wt).source].join("|")+"|$","g"),i=0,o="__p+='";t.replace(r,(function(e,n,r,a,u){return o+=t.slice(i,u).replace(Ot,(function(t){return"\\"+Mt[t]})),i=u+e.length,n?o+="'+\n((__t=("+n+"))==null?'':utils.escape(__t))+\n'":r?o+="'+\n((__t=("+r+"))==null?'':__t)+\n'":a&&(o+="';\n"+a+"\n__p+='"),e})),o+="';\n",e.variable||(o="with(obj||{}){\n"+o+"}\n"),o="var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n"+o+"return __p;\n";try{var a=new Function(e.variable||"obj",o)}catch(t){throw t.source=o,t}var u=function(t){return a.call(this,t)},s=e.variable||"obj";return u.source="function("+s+"){\n"+o+"}",u}function ue(t){return String(t).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#039;")}var se=["img","input","br","embed","link","meta","area","base","basefont","bgsound","col","command","frame","hr","image","isindex","keygen","menuitem","nextid","param","source","track","wbr","circle","ellipse","line","path","polygon","rect"].reduce((function(t,e){return t[e]=!0,t}),{});function ce(t){var e=2,n=arguments[1];("object"!=typeof arguments[1]||Array.isArray(arguments[1]))&&(e=1,n={});var r=$t(Array.prototype.slice.call(arguments,e)),i=1===r.length&&"<"!==r[0].trim()[0],o=se[t];if(o&&r.length>0)throw new Error('Tag "'+t+'" is void but content is assigned to it');var a="<"+t,u=Object.keys(n).map((function(t){return" "+t+'="'+n[t]+'"'})).join("");u.length>32&&(u=Object.keys(n).map((function(t){return"\n "+t+'="'+n[t]+'"'})).join(""));var s=i?r[0]:"\n"+r.map((function(t){return String(t).split("\n").map((function(t){return" "+t})).join("\n")})).join("\n")+"\n",c=o?"/>":">"+s+"</"+t+">";return""+a+u+c}function le(t){var e=t,n={then:function(t){return e=t(e),n},result:function(){return e}};return n}var fe=[gt];function de(t){return fe.some((function(e){return t instanceof e}))}function he(t){return(t.units||[]).some((function(t){return t.hasOwnProperty("units")}))}var pe=document.createElement("div"),ge=new WeakMap;function me(t,e){var n;return t instanceof Node?n=t:(pe.insertAdjacentHTML("afterbegin",t),n=pe.childNodes[0]),e.appendChild(n),n}function ye(t){if(ge.has(t))return ge.get(t);var e=t.style.overflow;t.style.overflow="scroll";var n={width:t.offsetWidth-t.clientWidth,height:t.offsetHeight-t.clientHeight};return t.style.overflow=e,ge.set(t,n),n}function ve(t,e){var n="horizontal"===(e=e||"both")||"both"===e,r="vertical"===e||"both"===e,i=ye(t),o=r?i.width+"px":"0",a=n?i.height+"px":"0";t.style.overflow="hidden",t.style.padding="0 "+o+" "+a+" 0";var u=t.scrollWidth>t.clientWidth,s=t.scrollHeight>t.clientHeight,c=r&&!s?i.width+"px":"0",l=n&&!u?i.height+"px":"0";return t.style.padding="0 "+c+" "+l+" 0",t.style.overflow="",t.style.overflowX=u?"scroll":"hidden",t.style.overflowY=s?"scroll":"hidden",i}function be(t,e){return window.getComputedStyle(t).getPropertyValue(e)}function xe(t,e){return parseInt(be(t,e)||"0",10)}function _e(t){var e=xe(t,"padding-left"),n=xe(t,"padding-right"),r=xe(t,"padding-bottom"),i=xe(t,"padding-top"),o=xe(t,"border-top-width")+xe(t,"border-left-width")+xe(t,"border-right-width")+xe(t,"border-bottom-width"),a=t.getBoundingClientRect();return{width:a.width-e-n-2*o,height:a.height-r-i-2*o}}function we(t){var e=document.createElement("div");e.style.position="absolute",e.style.visibility="hidden",e.style.width="100px",e.style.height="100px",e.style.border="1px solid green",e.style.top="0",document.body.appendChild(e),e.innerHTML='<svg class="tau-chart__svg">\n <g class="tau-chart__cell cell">\n <g class="x axis">\n <g class="tick"><text></text></g>\n </g>\n </g>\n </svg>';var n=e.querySelector(".x.axis .tick text");n.textContent=t;var r={width:0,height:0},i=n.getBoundingClientRect();r.width=i.right-i.left,r.height=i.bottom-i.top;var o=0!==t.length?r.width/t.length:0;return r.width=r.width+1.5*o,document.body.removeChild(e),r}function Se(t,e){var n=e.fontSize,r=e.fontFamily,i=e.fontWeight,o="string"==typeof n?n:n+"px",a=t.map((function(t){for(var e=0,n=0;e<=t.length-1;e++){n+=Me(t.charAt(e),{fontSize:o,fontFamily:r,fontWeight:i}).width}return n})).sort((function(t,e){return e-t}))[0],u=t.length,s=parseInt(o);return{width:a,height:s*u+.39*s*u}}var Me=ne((function(t,e){var n=e.fontSize,r=e.fontFamily,i=e.fontWeight,o=document.createElement("div");o.style.position="absolute",o.style.visibility="hidden",o.style.border="0px",o.style.top="0",o.style.fontSize=n,o.style.fontFamily=r,o.style.fontWeight=i,document.body.appendChild(o),o.innerHTML=" "===t?"&nbsp;":t;var a={width:0,height:0},u=o.getBoundingClientRect();return a.width=u.right-u.left,a.height=u.bottom-u.top,document.body.removeChild(o),a}),(function(t,e){return t+"_"+JSON.stringify(e)}));function Oe(t,e){var n={".":function(t,e){return e.classed(t,!0)},"#":function(t,e){return e.attr("id",t)}},r=Object.keys(n).join("");if(e.indexOf(" ")>=0)throw new Error("Selector should not contain whitespaces.");if(r.indexOf(e[0])>=0)throw new Error("Selector must have tag at the beginning.");var i,o=t instanceof Element,u=o?a.select(t):t,s=function(t){return o?t.node():t},c=u.selectAll(e).filter((function(){return this.parentNode===u.node()})).filter((function(t,e){return 0===e}));if(!c.empty())return s(c);for(var l,f=-1,d=null,h=1,p=e.length;h<=p;h++)(h==p||r.indexOf(e[h])>=0)&&(l=e.substring(f+1,h),f<0?i=u.append(l):n[d].call(null,l,i),d=e[h],f=h);return s(i)}function ke(t,e){return Ae(t,e)[0]||null}function Ae(t,e){for(var n=[],r=Element.prototype.matches||Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector,i=t.firstElementChild;Boolean(i);i=i.nextElementSibling)r.call(i,e)&&n.push(i);return n}function Te(t,e){if(t.childElementCount>