datly 0.0.8 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/datly.cjs CHANGED
@@ -1 +1 @@
1
- function t(t,n){(null==n||n>t.length)&&(n=t.length);for(var r=0,e=Array(n);r<n;r++)e[r]=t[r];return e}function n(n,r){var e="undefined"!=typeof Symbol&&n[Symbol.iterator]||n["@@iterator"];if(e)return(e=e.call(n)).next.bind(e);if(Array.isArray(n)||(e=function(n,r){if(n){if("string"==typeof n)return t(n,r);var e={}.toString.call(n).slice(8,-1);return"Object"===e&&n.constructor&&(e=n.constructor.name),"Map"===e||"Set"===e?Array.from(n):"Arguments"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e)?t(n,r):void 0}}(n))||r&&n&&"number"==typeof n.length){e&&(n=e);var i=0;return function(){return i>=n.length?{done:!0}:{done:!1,value:n[i++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function r(){return r=Object.assign?Object.assign.bind():function(t){for(var n=1;n<arguments.length;n++){var r=arguments[n];for(var e in r)({}).hasOwnProperty.call(r,e)&&(t[e]=r[e])}return t},r.apply(null,arguments)}var e="http://www.w3.org/1999/xhtml",i={svg:"http://www.w3.org/2000/svg",xhtml:e,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function a(t){var n=t+="",r=n.indexOf(":");return r>=0&&"xmlns"!==(n=t.slice(0,r))&&(t=t.slice(r+1)),i.hasOwnProperty(n)?{space:i[n],local:t}:t}function o(t){return function(){var n=this.ownerDocument,r=this.namespaceURI;return r===e&&n.documentElement.namespaceURI===e?n.createElement(t):n.createElementNS(r,t)}}function u(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}function c(t){var n=a(t);return(n.local?u:o)(n)}function l(){}function s(t){return null==t?l:function(){return this.querySelector(t)}}function f(){return[]}function h(t){return function(n){return n.matches(t)}}var p=Array.prototype.find;function d(){return this.firstElementChild}var m=Array.prototype.filter;function g(){return Array.from(this.children)}function v(t){return new Array(t.length)}function _(t,n){this.ownerDocument=t.ownerDocument,this.namespaceURI=t.namespaceURI,this._next=null,this._parent=t,this.__data__=n}function y(t,n,r,e,i,a){for(var o,u=0,c=n.length,l=a.length;u<l;++u)(o=n[u])?(o.__data__=a[u],e[u]=o):r[u]=new _(t,a[u]);for(;u<c;++u)(o=n[u])&&(i[u]=o)}function b(t,n,r,e,i,a,o){var u,c,l,s=new Map,f=n.length,h=a.length,p=new Array(f);for(u=0;u<f;++u)(c=n[u])&&(p[u]=l=o.call(c,c.__data__,u,n)+"",s.has(l)?i[u]=c:s.set(l,c));for(u=0;u<h;++u)l=o.call(t,a[u],u,a)+"",(c=s.get(l))?(e[u]=c,c.__data__=a[u],s.delete(l)):r[u]=new _(t,a[u]);for(u=0;u<f;++u)(c=n[u])&&s.get(p[u])===c&&(i[u]=c)}function w(t){return t.__data__}function x(t){return"object"==typeof t&&"length"in t?t:Array.from(t)}function M(t,n){return t<n?-1:t>n?1:t>=n?0:NaN}function A(t){return function(){this.removeAttribute(t)}}function k(t){return function(){this.removeAttributeNS(t.space,t.local)}}function N(t,n){return function(){this.setAttribute(t,n)}}function $(t,n){return function(){this.setAttributeNS(t.space,t.local,n)}}function E(t,n){return function(){var r=n.apply(this,arguments);null==r?this.removeAttribute(t):this.setAttribute(t,r)}}function q(t,n){return function(){var r=n.apply(this,arguments);null==r?this.removeAttributeNS(t.space,t.local):this.setAttributeNS(t.space,t.local,r)}}function S(t){return t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView}function j(t){return function(){this.style.removeProperty(t)}}function O(t,n,r){return function(){this.style.setProperty(t,n,r)}}function z(t,n,r){return function(){var e=n.apply(this,arguments);null==e?this.style.removeProperty(t):this.style.setProperty(t,e,r)}}function C(t){return function(){delete this[t]}}function T(t,n){return function(){this[t]=n}}function P(t,n){return function(){var r=n.apply(this,arguments);null==r?delete this[t]:this[t]=r}}function R(t){return t.trim().split(/^|\s+/)}function I(t){return t.classList||new L(t)}function L(t){this._node=t,this._names=R(t.getAttribute("class")||"")}function F(t,n){for(var r=I(t),e=-1,i=n.length;++e<i;)r.add(n[e])}function H(t,n){for(var r=I(t),e=-1,i=n.length;++e<i;)r.remove(n[e])}function V(t){return function(){F(this,t)}}function D(t){return function(){H(this,t)}}function B(t,n){return function(){(n.apply(this,arguments)?F:H)(this,t)}}function X(){this.textContent=""}function U(t){return function(){this.textContent=t}}function J(t){return function(){var n=t.apply(this,arguments);this.textContent=null==n?"":n}}function G(){this.innerHTML=""}function Q(t){return function(){this.innerHTML=t}}function Z(t){return function(){var n=t.apply(this,arguments);this.innerHTML=null==n?"":n}}function W(){this.nextSibling&&this.parentNode.appendChild(this)}function Y(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function K(){return null}function tt(){var t=this.parentNode;t&&t.removeChild(this)}function nt(){var t=this.cloneNode(!1),n=this.parentNode;return n?n.insertBefore(t,this.nextSibling):t}function rt(){var t=this.cloneNode(!0),n=this.parentNode;return n?n.insertBefore(t,this.nextSibling):t}function et(t){return function(){var n=this.__on;if(n){for(var r,e=0,i=-1,a=n.length;e<a;++e)r=n[e],t.type&&r.type!==t.type||r.name!==t.name?n[++i]=r:this.removeEventListener(r.type,r.listener,r.options);++i?n.length=i:delete this.__on}}}function it(t,n,r){return function(){var e,i=this.__on,a=function(t){return function(n){t.call(this,n,this.__data__)}}(n);if(i)for(var o=0,u=i.length;o<u;++o)if((e=i[o]).type===t.type&&e.name===t.name)return this.removeEventListener(e.type,e.listener,e.options),this.addEventListener(e.type,e.listener=a,e.options=r),void(e.value=n);this.addEventListener(t.type,a,r),e={type:t.type,name:t.name,value:n,listener:a,options:r},i?i.push(e):this.__on=[e]}}function at(t,n,r){var e=S(t),i=e.CustomEvent;"function"==typeof i?i=new i(n,r):(i=e.document.createEvent("Event"),r?(i.initEvent(n,r.bubbles,r.cancelable),i.detail=r.detail):i.initEvent(n,!1,!1)),t.dispatchEvent(i)}function ot(t,n){return function(){return at(this,t,n)}}function ut(t,n){return function(){return at(this,t,n.apply(this,arguments))}}_.prototype={constructor:_,appendChild:function(t){return this._parent.insertBefore(t,this._next)},insertBefore:function(t,n){return this._parent.insertBefore(t,n)},querySelector:function(t){return this._parent.querySelector(t)},querySelectorAll:function(t){return this._parent.querySelectorAll(t)}},L.prototype={add:function(t){this._names.indexOf(t)<0&&(this._names.push(t),this._node.setAttribute("class",this._names.join(" ")))},remove:function(t){var n=this._names.indexOf(t);n>=0&&(this._names.splice(n,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(t){return this._names.indexOf(t)>=0}};var ct=[null];function lt(t,n){this._groups=t,this._parents=n}function st(t){return"string"==typeof t?new lt([[document.querySelector(t)]],[document.documentElement]):new lt([[t]],ct)}function ft(t,n){return null==t||null==n?NaN:t<n?-1:t>n?1:t>=n?0:NaN}function ht(t,n){return null==t||null==n?NaN:n<t?-1:n>t?1:n>=t?0:NaN}function pt(t){let n,r,e;function i(t,e,i=0,a=t.length){if(i<a){if(0!==n(e,e))return a;do{const n=i+a>>>1;r(t[n],e)<0?i=n+1:a=n}while(i<a)}return i}return 2!==t.length?(n=ft,r=(n,r)=>ft(t(n),r),e=(n,r)=>t(n)-r):(n=t===ft||t===ht?t:dt,r=t,e=t),{left:i,center:function(t,n,r=0,a=t.length){const o=i(t,n,r,a-1);return o>r&&e(t[o-1],n)>-e(t[o],n)?o-1:o},right:function(t,e,i=0,a=t.length){if(i<a){if(0!==n(e,e))return a;do{const n=i+a>>>1;r(t[n],e)<=0?i=n+1:a=n}while(i<a)}return i}}}function dt(){return 0}lt.prototype={constructor:lt,select:function(t){"function"!=typeof t&&(t=s(t));for(var n=this._groups,r=n.length,e=new Array(r),i=0;i<r;++i)for(var a,o,u=n[i],c=u.length,l=e[i]=new Array(c),f=0;f<c;++f)(a=u[f])&&(o=t.call(a,a.__data__,f,u))&&("__data__"in a&&(o.__data__=a.__data__),l[f]=o);return new lt(e,this._parents)},selectAll:function(t){t="function"==typeof t?function(t){return function(){return function(t){return null==t?[]:Array.isArray(t)?t:Array.from(t)}(t.apply(this,arguments))}}(t):function(t){return null==t?f:function(){return this.querySelectorAll(t)}}(t);for(var n=this._groups,r=n.length,e=[],i=[],a=0;a<r;++a)for(var o,u=n[a],c=u.length,l=0;l<c;++l)(o=u[l])&&(e.push(t.call(o,o.__data__,l,u)),i.push(o));return new lt(e,i)},selectChild:function(t){return this.select(null==t?d:function(t){return function(){return p.call(this.children,t)}}("function"==typeof t?t:h(t)))},selectChildren:function(t){return this.selectAll(null==t?g:function(t){return function(){return m.call(this.children,t)}}("function"==typeof t?t:h(t)))},filter:function(t){"function"!=typeof t&&(t=function(t){return function(){return this.matches(t)}}(t));for(var n=this._groups,r=n.length,e=new Array(r),i=0;i<r;++i)for(var a,o=n[i],u=o.length,c=e[i]=[],l=0;l<u;++l)(a=o[l])&&t.call(a,a.__data__,l,o)&&c.push(a);return new lt(e,this._parents)},data:function(t,n){if(!arguments.length)return Array.from(this,w);var r=n?b:y,e=this._parents,i=this._groups;"function"!=typeof t&&(t=function(t){return function(){return t}}(t));for(var a=i.length,o=new Array(a),u=new Array(a),c=new Array(a),l=0;l<a;++l){var s=e[l],f=i[l],h=f.length,p=x(t.call(s,s&&s.__data__,l,e)),d=p.length,m=u[l]=new Array(d),g=o[l]=new Array(d);r(s,f,m,g,c[l]=new Array(h),p,n);for(var v,_,M=0,A=0;M<d;++M)if(v=m[M]){for(M>=A&&(A=M+1);!(_=g[A])&&++A<d;);v._next=_||null}}return(o=new lt(o,e))._enter=u,o._exit=c,o},enter:function(){return new lt(this._enter||this._groups.map(v),this._parents)},exit:function(){return new lt(this._exit||this._groups.map(v),this._parents)},join:function(t,n,r){var e=this.enter(),i=this,a=this.exit();return"function"==typeof t?(e=t(e))&&(e=e.selection()):e=e.append(t+""),null!=n&&(i=n(i))&&(i=i.selection()),null==r?a.remove():r(a),e&&i?e.merge(i).order():i},merge:function(t){for(var n=t.selection?t.selection():t,r=this._groups,e=n._groups,i=r.length,a=Math.min(i,e.length),o=new Array(i),u=0;u<a;++u)for(var c,l=r[u],s=e[u],f=l.length,h=o[u]=new Array(f),p=0;p<f;++p)(c=l[p]||s[p])&&(h[p]=c);for(;u<i;++u)o[u]=r[u];return new lt(o,this._parents)},selection:function(){return this},order:function(){for(var t=this._groups,n=-1,r=t.length;++n<r;)for(var e,i=t[n],a=i.length-1,o=i[a];--a>=0;)(e=i[a])&&(o&&4^e.compareDocumentPosition(o)&&o.parentNode.insertBefore(e,o),o=e);return this},sort:function(t){function n(n,r){return n&&r?t(n.__data__,r.__data__):!n-!r}t||(t=M);for(var r=this._groups,e=r.length,i=new Array(e),a=0;a<e;++a){for(var o,u=r[a],c=u.length,l=i[a]=new Array(c),s=0;s<c;++s)(o=u[s])&&(l[s]=o);l.sort(n)}return new lt(i,this._parents).order()},call:function(){var t=arguments[0];return arguments[0]=this,t.apply(null,arguments),this},nodes:function(){return Array.from(this)},node:function(){for(var t=this._groups,n=0,r=t.length;n<r;++n)for(var e=t[n],i=0,a=e.length;i<a;++i){var o=e[i];if(o)return o}return null},size:function(){let t=0;for(const n of this)++t;return t},empty:function(){return!this.node()},each:function(t){for(var n=this._groups,r=0,e=n.length;r<e;++r)for(var i,a=n[r],o=0,u=a.length;o<u;++o)(i=a[o])&&t.call(i,i.__data__,o,a);return this},attr:function(t,n){var r=a(t);if(arguments.length<2){var e=this.node();return r.local?e.getAttributeNS(r.space,r.local):e.getAttribute(r)}return this.each((null==n?r.local?k:A:"function"==typeof n?r.local?q:E:r.local?$:N)(r,n))},style:function(t,n,r){return arguments.length>1?this.each((null==n?j:"function"==typeof n?z:O)(t,n,null==r?"":r)):function(t,n){return t.style.getPropertyValue(n)||S(t).getComputedStyle(t,null).getPropertyValue(n)}(this.node(),t)},property:function(t,n){return arguments.length>1?this.each((null==n?C:"function"==typeof n?P:T)(t,n)):this.node()[t]},classed:function(t,n){var r=R(t+"");if(arguments.length<2){for(var e=I(this.node()),i=-1,a=r.length;++i<a;)if(!e.contains(r[i]))return!1;return!0}return this.each(("function"==typeof n?B:n?V:D)(r,n))},text:function(t){return arguments.length?this.each(null==t?X:("function"==typeof t?J:U)(t)):this.node().textContent},html:function(t){return arguments.length?this.each(null==t?G:("function"==typeof t?Z:Q)(t)):this.node().innerHTML},raise:function(){return this.each(W)},lower:function(){return this.each(Y)},append:function(t){var n="function"==typeof t?t:c(t);return this.select(function(){return this.appendChild(n.apply(this,arguments))})},insert:function(t,n){var r="function"==typeof t?t:c(t),e=null==n?K:"function"==typeof n?n:s(n);return this.select(function(){return this.insertBefore(r.apply(this,arguments),e.apply(this,arguments)||null)})},remove:function(){return this.each(tt)},clone:function(t){return this.select(t?rt:nt)},datum:function(t){return arguments.length?this.property("__data__",t):this.node().__data__},on:function(t,n,r){var e,i,a=function(t){return t.trim().split(/^|\s+/).map(function(t){var n="",r=t.indexOf(".");return r>=0&&(n=t.slice(r+1),t=t.slice(0,r)),{type:t,name:n}})}(t+""),o=a.length;if(!(arguments.length<2)){for(u=n?it:et,e=0;e<o;++e)this.each(u(a[e],n,r));return this}var u=this.node().__on;if(u)for(var c,l=0,s=u.length;l<s;++l)for(e=0,c=u[l];e<o;++e)if((i=a[e]).type===c.type&&i.name===c.name)return c.value},dispatch:function(t,n){return this.each(("function"==typeof n?ut:ot)(t,n))},[Symbol.iterator]:function*(){for(var t=this._groups,n=0,r=t.length;n<r;++n)for(var e,i=t[n],a=0,o=i.length;a<o;++a)(e=i[a])&&(yield e)}};const mt=pt(ft).right;pt(function(t){return null===t?NaN:+t});var gt=mt;function vt(t,n){let r,e;if(void 0===n)for(const n of t)null!=n&&(void 0===r?n>=n&&(r=e=n):(r>n&&(r=n),e<n&&(e=n)));else{let i=-1;for(let a of t)null!=(a=n(a,++i,t))&&(void 0===r?a>=a&&(r=e=a):(r>a&&(r=a),e<a&&(e=a)))}return[r,e]}class _t extends Map{constructor(t,n=bt){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:n}}),null!=t)for(const[n,r]of t)this.set(n,r)}get(t){return super.get(yt(this,t))}has(t){return super.has(yt(this,t))}set(t,n){return super.set(function({_intern:t,_key:n},r){const e=n(r);return t.has(e)?t.get(e):(t.set(e,r),r)}(this,t),n)}delete(t){return super.delete(function({_intern:t,_key:n},r){const e=n(r);return t.has(e)&&(r=t.get(e),t.delete(e)),r}(this,t))}}function yt({_intern:t,_key:n},r){const e=n(r);return t.has(e)?t.get(e):r}function bt(t){return null!==t&&"object"==typeof t?t.valueOf():t}function wt(t){return t}function xt(t,n){return(null==t||!(t>=t))-(null==n||!(n>=n))||(t<n?-1:t>n?1:0)}var Mt=Array.prototype.slice;function At(t){return()=>t}const kt=Math.sqrt(50),Nt=Math.sqrt(10),$t=Math.sqrt(2);function Et(t,n,r){const e=(n-t)/Math.max(0,r),i=Math.floor(Math.log10(e)),a=e/Math.pow(10,i),o=a>=kt?10:a>=Nt?5:a>=$t?2:1;let u,c,l;return i<0?(l=Math.pow(10,-i)/o,u=Math.round(t*l),c=Math.round(n*l),u/l<t&&++u,c/l>n&&--c,l=-l):(l=Math.pow(10,i)*o,u=Math.round(t/l),c=Math.round(n/l),u*l<t&&++u,c*l>n&&--c),c<u&&.5<=r&&r<2?Et(t,n,2*r):[u,c,l]}function qt(t,n,r){if(!((r=+r)>0))return[];if((t=+t)===(n=+n))return[t];const e=n<t,[i,a,o]=e?Et(n,t,r):Et(t,n,r);if(!(a>=i))return[];const u=a-i+1,c=new Array(u);if(e)if(o<0)for(let t=0;t<u;++t)c[t]=(a-t)/-o;else for(let t=0;t<u;++t)c[t]=(a-t)*o;else if(o<0)for(let t=0;t<u;++t)c[t]=(i+t)/-o;else for(let t=0;t<u;++t)c[t]=(i+t)*o;return c}function St(t,n,r){return Et(t=+t,n=+n,r=+r)[2]}function jt(t){return Math.max(1,Math.ceil(Math.log(function(t){let n=0;for(let r of t)null!=r&&(r=+r)>=r&&++n;return n}(t))/Math.LN2)+1)}function Ot(){var t=wt,n=vt,r=jt;function e(e){Array.isArray(e)||(e=Array.from(e));var i,a,o,u=e.length,c=new Array(u);for(i=0;i<u;++i)c[i]=t(e[i],i,e);var l=n(c),s=l[0],f=l[1],h=r(c,s,f);if(!Array.isArray(h)){const t=f,r=+h;if(n===vt&&([s,f]=function(t,n,r){let e;for(;;){const i=St(t,n,r);if(i===e||0===i||!isFinite(i))return[t,n];i>0?(t=Math.floor(t/i)*i,n=Math.ceil(n/i)*i):i<0&&(t=Math.ceil(t*i)/i,n=Math.floor(n*i)/i),e=i}}(s,f,r)),(h=qt(s,f,r))[0]<=s&&(o=St(s,f,r)),h[h.length-1]>=f)if(t>=f&&n===vt){const t=St(s,f,r);isFinite(t)&&(t>0?f=(Math.floor(f/t)+1)*t:t<0&&(f=(Math.ceil(f*-t)+1)/-t))}else h.pop()}for(var p=h.length,d=0,m=p;h[d]<=s;)++d;for(;h[m-1]>f;)--m;(d||m<p)&&(h=h.slice(d,m),p=m-d);var g,v=new Array(p+1);for(i=0;i<=p;++i)(g=v[i]=[]).x0=i>0?h[i-1]:s,g.x1=i<p?h[i]:f;if(isFinite(o)){if(o>0)for(i=0;i<u;++i)null!=(a=c[i])&&s<=a&&a<=f&&v[Math.min(p,Math.floor((a-s)/o))].push(e[i]);else if(o<0)for(i=0;i<u;++i)if(null!=(a=c[i])&&s<=a&&a<=f){const t=Math.floor((s-a)*o);v[Math.min(p,t+(h[t]<=a))].push(e[i])}}else for(i=0;i<u;++i)null!=(a=c[i])&&s<=a&&a<=f&&v[gt(h,a,0,p)].push(e[i]);return v}return e.value=function(n){return arguments.length?(t="function"==typeof n?n:At(n),e):t},e.domain=function(t){return arguments.length?(n="function"==typeof t?t:At([t[0],t[1]]),e):n},e.thresholds=function(t){return arguments.length?(r="function"==typeof t?t:At(Array.isArray(t)?Mt.call(t):t),e):r},e}function zt(t,n){let r;if(void 0===n)for(const n of t)null!=n&&(r<n||void 0===r&&n>=n)&&(r=n);else{let e=-1;for(let i of t)null!=(i=n(i,++e,t))&&(r<i||void 0===r&&i>=i)&&(r=i)}return r}function Ct(t,n){let r;if(void 0===n)for(const n of t)null!=n&&(r>n||void 0===r&&n>=n)&&(r=n);else{let e=-1;for(let i of t)null!=(i=n(i,++e,t))&&(r>i||void 0===r&&i>=i)&&(r=i)}return r}function Tt(t,n,r=0,e=Infinity,i){if(n=Math.floor(n),r=Math.floor(Math.max(0,r)),e=Math.floor(Math.min(t.length-1,e)),!(r<=n&&n<=e))return t;for(i=void 0===i?xt:function(t=ft){if(t===ft)return xt;if("function"!=typeof t)throw new TypeError("compare is not a function");return(n,r)=>{const e=t(n,r);return e||0===e?e:(0===t(r,r))-(0===t(n,n))}}(i);e>r;){if(e-r>600){const a=e-r+1,o=n-r+1,u=Math.log(a),c=.5*Math.exp(2*u/3),l=.5*Math.sqrt(u*c*(a-c)/a)*(o-a/2<0?-1:1);Tt(t,n,Math.max(r,Math.floor(n-o*c/a+l)),Math.min(e,Math.floor(n+(a-o)*c/a+l)),i)}const a=t[n];let o=r,u=e;for(Pt(t,r,n),i(t[e],a)>0&&Pt(t,r,e);o<u;){for(Pt(t,o,u),++o,--u;i(t[o],a)<0;)++o;for(;i(t[u],a)>0;)--u}0===i(t[r],a)?Pt(t,r,u):(++u,Pt(t,u,e)),u<=n&&(r=u+1),n<=u&&(e=u-1)}return t}function Pt(t,n,r){const e=t[n];t[n]=t[r],t[r]=e}function Rt(t,n,r){if(t=Float64Array.from(function*(t,n){if(void 0===n)for(let n of t)null!=n&&(n=+n)>=n&&(yield n);else{let r=-1;for(let e of t)null!=(e=n(e,++r,t))&&(e=+e)>=e&&(yield e)}}(t,r)),(e=t.length)&&!isNaN(n=+n)){if(n<=0||e<2)return Ct(t);if(n>=1)return zt(t);var e,i=(e-1)*n,a=Math.floor(i),o=zt(Tt(t,a).subarray(0,a+1));return o+(Ct(t.subarray(a+1))-o)*(i-a)}}function It(t,n){let r=0,e=0;if(void 0===n)for(let n of t)null!=n&&(n=+n)>=n&&(++r,e+=n);else{let i=-1;for(let a of t)null!=(a=n(a,++i,t))&&(a=+a)>=a&&(++r,e+=a)}if(r)return e/r}function Lt(t,n){switch(arguments.length){case 0:break;case 1:this.range(t);break;default:this.range(n).domain(t)}return this}function Ft(t,n){switch(arguments.length){case 0:break;case 1:"function"==typeof t?this.interpolator(t):this.range(t);break;default:this.domain(t),"function"==typeof n?this.interpolator(n):this.range(n)}return this}const Ht=Symbol("implicit");function Vt(){var t=new _t,n=[],r=[],e=Ht;function i(i){let a=t.get(i);if(void 0===a){if(e!==Ht)return e;t.set(i,a=n.push(i)-1)}return r[a%r.length]}return i.domain=function(r){if(!arguments.length)return n.slice();n=[],t=new _t;for(const e of r)t.has(e)||t.set(e,n.push(e)-1);return i},i.range=function(t){return arguments.length?(r=Array.from(t),i):r.slice()},i.unknown=function(t){return arguments.length?(e=t,i):e},i.copy=function(){return Vt(n,r).unknown(e)},Lt.apply(i,arguments),i}function Dt(){var t,n,r=Vt().unknown(void 0),e=r.domain,i=r.range,a=0,o=1,u=!1,c=0,l=0,s=.5;function f(){var r=e().length,f=o<a,h=f?o:a,p=f?a:o;t=(p-h)/Math.max(1,r-c+2*l),u&&(t=Math.floor(t)),h+=(p-h-t*(r-c))*s,n=t*(1-c),u&&(h=Math.round(h),n=Math.round(n));var d=function(t,n,r){t=+t,n=+n,r=(i=arguments.length)<2?(n=t,t=0,1):i<3?1:+r;for(var e=-1,i=0|Math.max(0,Math.ceil((n-t)/r)),a=new Array(i);++e<i;)a[e]=t+e*r;return a}(r).map(function(n){return h+t*n});return i(f?d.reverse():d)}return delete r.unknown,r.domain=function(t){return arguments.length?(e(t),f()):e()},r.range=function(t){return arguments.length?([a,o]=t,a=+a,o=+o,f()):[a,o]},r.rangeRound=function(t){return[a,o]=t,a=+a,o=+o,u=!0,f()},r.bandwidth=function(){return n},r.step=function(){return t},r.round=function(t){return arguments.length?(u=!!t,f()):u},r.padding=function(t){return arguments.length?(c=Math.min(1,l=+t),f()):c},r.paddingInner=function(t){return arguments.length?(c=Math.min(1,t),f()):c},r.paddingOuter=function(t){return arguments.length?(l=+t,f()):l},r.align=function(t){return arguments.length?(s=Math.max(0,Math.min(1,t)),f()):s},r.copy=function(){return Dt(e(),[a,o]).round(u).paddingInner(c).paddingOuter(l).align(s)},Lt.apply(f(),arguments)}function Bt(t){var n=t.copy;return t.padding=t.paddingOuter,delete t.paddingInner,delete t.paddingOuter,t.copy=function(){return Bt(n())},t}function Xt(){return Bt(Dt.apply(null,arguments).paddingInner(1))}function Ut(t,n,r){t.prototype=n.prototype=r,r.constructor=t}function Jt(t,n){var r=Object.create(t.prototype);for(var e in n)r[e]=n[e];return r}function Gt(){}var Qt=.7,Zt=1/Qt,Wt="\\s*([+-]?\\d+)\\s*",Yt="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",Kt="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",tn=/^#([0-9a-f]{3,8})$/,nn=new RegExp(`^rgb\\(${Wt},${Wt},${Wt}\\)$`),rn=new RegExp(`^rgb\\(${Kt},${Kt},${Kt}\\)$`),en=new RegExp(`^rgba\\(${Wt},${Wt},${Wt},${Yt}\\)$`),an=new RegExp(`^rgba\\(${Kt},${Kt},${Kt},${Yt}\\)$`),on=new RegExp(`^hsl\\(${Yt},${Kt},${Kt}\\)$`),un=new RegExp(`^hsla\\(${Yt},${Kt},${Kt},${Yt}\\)$`),cn={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};function ln(){return this.rgb().formatHex()}function sn(){return this.rgb().formatRgb()}function fn(t){var n,r;return t=(t+"").trim().toLowerCase(),(n=tn.exec(t))?(r=n[1].length,n=parseInt(n[1],16),6===r?hn(n):3===r?new mn(n>>8&15|n>>4&240,n>>4&15|240&n,(15&n)<<4|15&n,1):8===r?pn(n>>24&255,n>>16&255,n>>8&255,(255&n)/255):4===r?pn(n>>12&15|n>>8&240,n>>8&15|n>>4&240,n>>4&15|240&n,((15&n)<<4|15&n)/255):null):(n=nn.exec(t))?new mn(n[1],n[2],n[3],1):(n=rn.exec(t))?new mn(255*n[1]/100,255*n[2]/100,255*n[3]/100,1):(n=en.exec(t))?pn(n[1],n[2],n[3],n[4]):(n=an.exec(t))?pn(255*n[1]/100,255*n[2]/100,255*n[3]/100,n[4]):(n=on.exec(t))?wn(n[1],n[2]/100,n[3]/100,1):(n=un.exec(t))?wn(n[1],n[2]/100,n[3]/100,n[4]):cn.hasOwnProperty(t)?hn(cn[t]):"transparent"===t?new mn(NaN,NaN,NaN,0):null}function hn(t){return new mn(t>>16&255,t>>8&255,255&t,1)}function pn(t,n,r,e){return e<=0&&(t=n=r=NaN),new mn(t,n,r,e)}function dn(t,n,r,e){return 1===arguments.length?((i=t)instanceof Gt||(i=fn(i)),i?new mn((i=i.rgb()).r,i.g,i.b,i.opacity):new mn):new mn(t,n,r,null==e?1:e);var i}function mn(t,n,r,e){this.r=+t,this.g=+n,this.b=+r,this.opacity=+e}function gn(){return`#${bn(this.r)}${bn(this.g)}${bn(this.b)}`}function vn(){const t=_n(this.opacity);return`${1===t?"rgb(":"rgba("}${yn(this.r)}, ${yn(this.g)}, ${yn(this.b)}${1===t?")":`, ${t})`}`}function _n(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function yn(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function bn(t){return((t=yn(t))<16?"0":"")+t.toString(16)}function wn(t,n,r,e){return e<=0?t=n=r=NaN:r<=0||r>=1?t=n=NaN:n<=0&&(t=NaN),new Mn(t,n,r,e)}function xn(t){if(t instanceof Mn)return new Mn(t.h,t.s,t.l,t.opacity);if(t instanceof Gt||(t=fn(t)),!t)return new Mn;if(t instanceof Mn)return t;var n=(t=t.rgb()).r/255,r=t.g/255,e=t.b/255,i=Math.min(n,r,e),a=Math.max(n,r,e),o=NaN,u=a-i,c=(a+i)/2;return u?(o=n===a?(r-e)/u+6*(r<e):r===a?(e-n)/u+2:(n-r)/u+4,u/=c<.5?a+i:2-a-i,o*=60):u=c>0&&c<1?0:o,new Mn(o,u,c,t.opacity)}function Mn(t,n,r,e){this.h=+t,this.s=+n,this.l=+r,this.opacity=+e}function An(t){return(t=(t||0)%360)<0?t+360:t}function kn(t){return Math.max(0,Math.min(1,t||0))}function Nn(t,n,r){return 255*(t<60?n+(r-n)*t/60:t<180?r:t<240?n+(r-n)*(240-t)/60:n)}Ut(Gt,fn,{copy(t){return Object.assign(new this.constructor,this,t)},displayable(){return this.rgb().displayable()},hex:ln,formatHex:ln,formatHex8:function(){return this.rgb().formatHex8()},formatHsl:function(){return xn(this).formatHsl()},formatRgb:sn,toString:sn}),Ut(mn,dn,Jt(Gt,{brighter(t){return t=null==t?Zt:Math.pow(Zt,t),new mn(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=null==t?Qt:Math.pow(Qt,t),new mn(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new mn(yn(this.r),yn(this.g),yn(this.b),_n(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:gn,formatHex:gn,formatHex8:function(){return`#${bn(this.r)}${bn(this.g)}${bn(this.b)}${bn(255*(isNaN(this.opacity)?1:this.opacity))}`},formatRgb:vn,toString:vn})),Ut(Mn,function(t,n,r,e){return 1===arguments.length?xn(t):new Mn(t,n,r,null==e?1:e)},Jt(Gt,{brighter(t){return t=null==t?Zt:Math.pow(Zt,t),new Mn(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=null==t?Qt:Math.pow(Qt,t),new Mn(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=this.h%360+360*(this.h<0),n=isNaN(t)||isNaN(this.s)?0:this.s,r=this.l,e=r+(r<.5?r:1-r)*n,i=2*r-e;return new mn(Nn(t>=240?t-240:t+120,i,e),Nn(t,i,e),Nn(t<120?t+240:t-120,i,e),this.opacity)},clamp(){return new Mn(An(this.h),kn(this.s),kn(this.l),_n(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const t=_n(this.opacity);return`${1===t?"hsl(":"hsla("}${An(this.h)}, ${100*kn(this.s)}%, ${100*kn(this.l)}%${1===t?")":`, ${t})`}`}}));var $n=t=>()=>t;function En(t,n){var r=n-t;return r?function(t,n){return function(r){return t+r*n}}(t,r):$n(isNaN(t)?n:t)}var qn,Sn=function t(n){var r=function(t){return 1===(t=+t)?En:function(n,r){return r-n?function(t,n,r){return t=Math.pow(t,r),n=Math.pow(n,r)-t,r=1/r,function(e){return Math.pow(t+e*n,r)}}(n,r,t):$n(isNaN(n)?r:n)}}(n);function e(t,n){var e=r((t=dn(t)).r,(n=dn(n)).r),i=r(t.g,n.g),a=r(t.b,n.b),o=En(t.opacity,n.opacity);return function(n){return t.r=e(n),t.g=i(n),t.b=a(n),t.opacity=o(n),t+""}}return e.gamma=t,e}(1),jn=(qn=function(t){var n=t.length-1;return function(r){var e=r<=0?r=0:r>=1?(r=1,n-1):Math.floor(r*n),i=t[e],a=t[e+1];return function(t,n,r,e,i){var a=t*t,o=a*t;return((1-3*t+3*a-o)*n+(4-6*a+3*o)*r+(1+3*t+3*a-3*o)*e+o*i)/6}((r-e/n)*n,e>0?t[e-1]:2*i-a,i,a,e<n-1?t[e+2]:2*a-i)}},function(t){var n,r,e=t.length,i=new Array(e),a=new Array(e),o=new Array(e);for(n=0;n<e;++n)r=dn(t[n]),i[n]=r.r||0,a[n]=r.g||0,o[n]=r.b||0;return i=qn(i),a=qn(a),o=qn(o),r.opacity=1,function(t){return r.r=i(t),r.g=a(t),r.b=o(t),r+""}});function On(t,n){n||(n=[]);var r,e=t?Math.min(n.length,t.length):0,i=n.slice();return function(a){for(r=0;r<e;++r)i[r]=t[r]*(1-a)+n[r]*a;return i}}function zn(t,n){var r,e=n?n.length:0,i=t?Math.min(e,t.length):0,a=new Array(i),o=new Array(e);for(r=0;r<i;++r)a[r]=Fn(t[r],n[r]);for(;r<e;++r)o[r]=n[r];return function(t){for(r=0;r<i;++r)o[r]=a[r](t);return o}}function Cn(t,n){var r=new Date;return t=+t,n=+n,function(e){return r.setTime(t*(1-e)+n*e),r}}function Tn(t,n){return t=+t,n=+n,function(r){return t*(1-r)+n*r}}function Pn(t,n){var r,e={},i={};for(r in null!==t&&"object"==typeof t||(t={}),null!==n&&"object"==typeof n||(n={}),n)r in t?e[r]=Fn(t[r],n[r]):i[r]=n[r];return function(t){for(r in e)i[r]=e[r](t);return i}}var Rn=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,In=new RegExp(Rn.source,"g");function Ln(t,n){var r,e,i,a=Rn.lastIndex=In.lastIndex=0,o=-1,u=[],c=[];for(t+="",n+="";(r=Rn.exec(t))&&(e=In.exec(n));)(i=e.index)>a&&(i=n.slice(a,i),u[o]?u[o]+=i:u[++o]=i),(r=r[0])===(e=e[0])?u[o]?u[o]+=e:u[++o]=e:(u[++o]=null,c.push({i:o,x:Tn(r,e)})),a=In.lastIndex;return a<n.length&&(i=n.slice(a),u[o]?u[o]+=i:u[++o]=i),u.length<2?c[0]?function(t){return function(n){return t(n)+""}}(c[0].x):function(t){return function(){return t}}(n):(n=c.length,function(t){for(var r,e=0;e<n;++e)u[(r=c[e]).i]=r.x(t);return u.join("")})}function Fn(t,n){var r,e=typeof n;return null==n||"boolean"===e?$n(n):("number"===e?Tn:"string"===e?(r=fn(n))?(n=r,Sn):Ln:n instanceof fn?Sn:n instanceof Date?Cn:function(t){return ArrayBuffer.isView(t)&&!(t instanceof DataView)}(n)?On:Array.isArray(n)?zn:"function"!=typeof n.valueOf&&"function"!=typeof n.toString||isNaN(n)?Pn:Tn)(t,n)}function Hn(t,n){return t=+t,n=+n,function(r){return Math.round(t*(1-r)+n*r)}}function Vn(t){return+t}var Dn=[0,1];function Bn(t){return t}function Xn(t,n){return(n-=t=+t)?function(r){return(r-t)/n}:function(t){return function(){return t}}(isNaN(n)?NaN:.5)}function Un(t,n,r){var e=t[0],i=t[1],a=n[0],o=n[1];return i<e?(e=Xn(i,e),a=r(o,a)):(e=Xn(e,i),a=r(a,o)),function(t){return a(e(t))}}function Jn(t,n,r){var e=Math.min(t.length,n.length)-1,i=new Array(e),a=new Array(e),o=-1;for(t[e]<t[0]&&(t=t.slice().reverse(),n=n.slice().reverse());++o<e;)i[o]=Xn(t[o],t[o+1]),a[o]=r(n[o],n[o+1]);return function(n){var r=gt(t,n,1,e)-1;return a[r](i[r](n))}}function Gn(t,n){if((r=(t=n?t.toExponential(n-1):t.toExponential()).indexOf("e"))<0)return null;var r,e=t.slice(0,r);return[e.length>1?e[0]+e.slice(2):e,+t.slice(r+1)]}function Qn(t){return(t=Gn(Math.abs(t)))?t[1]:NaN}var Zn,Wn=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function Yn(t){if(!(n=Wn.exec(t)))throw new Error("invalid format: "+t);var n;return new Kn({fill:n[1],align:n[2],sign:n[3],symbol:n[4],zero:n[5],width:n[6],comma:n[7],precision:n[8]&&n[8].slice(1),trim:n[9],type:n[10]})}function Kn(t){this.fill=void 0===t.fill?" ":t.fill+"",this.align=void 0===t.align?">":t.align+"",this.sign=void 0===t.sign?"-":t.sign+"",this.symbol=void 0===t.symbol?"":t.symbol+"",this.zero=!!t.zero,this.width=void 0===t.width?void 0:+t.width,this.comma=!!t.comma,this.precision=void 0===t.precision?void 0:+t.precision,this.trim=!!t.trim,this.type=void 0===t.type?"":t.type+""}function tr(t,n){var r=Gn(t,n);if(!r)return t+"";var e=r[0],i=r[1];return i<0?"0."+new Array(-i).join("0")+e:e.length>i+1?e.slice(0,i+1)+"."+e.slice(i+1):e+new Array(i-e.length+2).join("0")}Yn.prototype=Kn.prototype,Kn.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(void 0===this.width?"":Math.max(1,0|this.width))+(this.comma?",":"")+(void 0===this.precision?"":"."+Math.max(0,0|this.precision))+(this.trim?"~":"")+this.type};var nr={"%":(t,n)=>(100*t).toFixed(n),b:t=>Math.round(t).toString(2),c:t=>t+"",d:function(t){return Math.abs(t=Math.round(t))>=1e21?t.toLocaleString("en").replace(/,/g,""):t.toString(10)},e:(t,n)=>t.toExponential(n),f:(t,n)=>t.toFixed(n),g:(t,n)=>t.toPrecision(n),o:t=>Math.round(t).toString(8),p:(t,n)=>tr(100*t,n),r:tr,s:function(t,n){var r=Gn(t,n);if(!r)return t+"";var e=r[0],i=r[1],a=i-(Zn=3*Math.max(-8,Math.min(8,Math.floor(i/3))))+1,o=e.length;return a===o?e:a>o?e+new Array(a-o+1).join("0"):a>0?e.slice(0,a)+"."+e.slice(a):"0."+new Array(1-a).join("0")+Gn(t,Math.max(0,n+a-1))[0]},X:t=>Math.round(t).toString(16).toUpperCase(),x:t=>Math.round(t).toString(16)};function rr(t){return t}var er,ir,ar,or=Array.prototype.map,ur=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function cr(t){var n=t.domain;return t.ticks=function(t){var r=n();return qt(r[0],r[r.length-1],null==t?10:t)},t.tickFormat=function(t,r){var e=n();return function(t,n,r,e){var i,a=function(t,n,r){r=+r;const e=(n=+n)<(t=+t),i=e?St(n,t,r):St(t,n,r);return(e?-1:1)*(i<0?1/-i:i)}(t,n,r);switch((e=Yn(null==e?",f":e)).type){case"s":var o=Math.max(Math.abs(t),Math.abs(n));return null!=e.precision||isNaN(i=function(t,n){return Math.max(0,3*Math.max(-8,Math.min(8,Math.floor(Qn(n)/3)))-Qn(Math.abs(t)))}(a,o))||(e.precision=i),ar(e,o);case"":case"e":case"g":case"p":case"r":null!=e.precision||isNaN(i=function(t,n){return t=Math.abs(t),n=Math.abs(n)-t,Math.max(0,Qn(n)-Qn(t))+1}(a,Math.max(Math.abs(t),Math.abs(n))))||(e.precision=i-("e"===e.type));break;case"f":case"%":null!=e.precision||isNaN(i=function(t){return Math.max(0,-Qn(Math.abs(t)))}(a))||(e.precision=i-2*("%"===e.type))}return ir(e)}(e[0],e[e.length-1],null==t?10:t,r)},t.nice=function(r){null==r&&(r=10);var e,i,a=n(),o=0,u=a.length-1,c=a[o],l=a[u],s=10;for(l<c&&(i=c,c=l,l=i,i=o,o=u,u=i);s-- >0;){if((i=St(c,l,r))===e)return a[o]=c,a[u]=l,n(a);if(i>0)c=Math.floor(c/i)*i,l=Math.ceil(l/i)*i;else{if(!(i<0))break;c=Math.ceil(c*i)/i,l=Math.floor(l*i)/i}e=i}return t},t}function lr(){var t=function(){var t,n,r,e,i,a,o=Dn,u=Dn,c=Fn,l=Bn;function s(){var t,n,r,c=Math.min(o.length,u.length);return l!==Bn&&((t=o[0])>(n=o[c-1])&&(r=t,t=n,n=r),l=function(r){return Math.max(t,Math.min(n,r))}),e=c>2?Jn:Un,i=a=null,f}function f(n){return null==n||isNaN(n=+n)?r:(i||(i=e(o.map(t),u,c)))(t(l(n)))}return f.invert=function(r){return l(n((a||(a=e(u,o.map(t),Tn)))(r)))},f.domain=function(t){return arguments.length?(o=Array.from(t,Vn),s()):o.slice()},f.range=function(t){return arguments.length?(u=Array.from(t),s()):u.slice()},f.rangeRound=function(t){return u=Array.from(t),c=Hn,s()},f.clamp=function(t){return arguments.length?(l=!!t||Bn,s()):l!==Bn},f.interpolate=function(t){return arguments.length?(c=t,s()):c},f.unknown=function(t){return arguments.length?(r=t,f):r},function(r,e){return t=r,n=e,s()}}()(Bn,Bn);return t.copy=function(){return n=t,lr().domain(n.domain()).range(n.range()).interpolate(n.interpolate()).clamp(n.clamp()).unknown(n.unknown());var n},Lt.apply(t,arguments),cr(t)}function sr(){var t=cr(function(){var t,n,r,e,i,a=0,o=1,u=Bn,c=!1;function l(n){return null==n||isNaN(n=+n)?i:u(0===r?.5:(n=(e(n)-t)*r,c?Math.max(0,Math.min(1,n)):n))}function s(t){return function(n){var r,e;return arguments.length?([r,e]=n,u=t(r,e),l):[u(0),u(1)]}}return l.domain=function(i){return arguments.length?([a,o]=i,t=e(a=+a),n=e(o=+o),r=t===n?0:1/(n-t),l):[a,o]},l.clamp=function(t){return arguments.length?(c=!!t,l):c},l.interpolator=function(t){return arguments.length?(u=t,l):u},l.range=s(Fn),l.rangeRound=s(Hn),l.unknown=function(t){return arguments.length?(i=t,l):i},function(i){return e=i,t=i(a),n=i(o),r=t===n?0:1/(n-t),l}}()(Bn));return t.copy=function(){return n=t,sr().domain(n.domain()).interpolator(n.interpolator()).clamp(n.clamp()).unknown(n.unknown());var n},Ft.apply(t,arguments)}function fr(t){return t}er=function(t){var n,r,e=void 0===t.grouping||void 0===t.thousands?rr:(n=or.call(t.grouping,Number),r=t.thousands+"",function(t,e){for(var i=t.length,a=[],o=0,u=n[0],c=0;i>0&&u>0&&(c+u+1>e&&(u=Math.max(1,e-c)),a.push(t.substring(i-=u,i+u)),!((c+=u+1)>e));)u=n[o=(o+1)%n.length];return a.reverse().join(r)}),i=void 0===t.currency?"":t.currency[0]+"",a=void 0===t.currency?"":t.currency[1]+"",o=void 0===t.decimal?".":t.decimal+"",u=void 0===t.numerals?rr:function(t){return function(n){return n.replace(/[0-9]/g,function(n){return t[+n]})}}(or.call(t.numerals,String)),c=void 0===t.percent?"%":t.percent+"",l=void 0===t.minus?"−":t.minus+"",s=void 0===t.nan?"NaN":t.nan+"";function f(t){var n=(t=Yn(t)).fill,r=t.align,f=t.sign,h=t.symbol,p=t.zero,d=t.width,m=t.comma,g=t.precision,v=t.trim,_=t.type;"n"===_?(m=!0,_="g"):nr[_]||(void 0===g&&(g=12),v=!0,_="g"),(p||"0"===n&&"="===r)&&(p=!0,n="0",r="=");var y="$"===h?i:"#"===h&&/[boxX]/.test(_)?"0"+_.toLowerCase():"",b="$"===h?a:/[%p]/.test(_)?c:"",w=nr[_],x=/[defgprs%]/.test(_);function M(t){var i,a,c,h=y,M=b;if("c"===_)M=w(t)+M,t="";else{var A=(t=+t)<0||1/t<0;if(t=isNaN(t)?s:w(Math.abs(t),g),v&&(t=function(t){t:for(var n,r=t.length,e=1,i=-1;e<r;++e)switch(t[e]){case".":i=n=e;break;case"0":0===i&&(i=e),n=e;break;default:if(!+t[e])break t;i>0&&(i=0)}return i>0?t.slice(0,i)+t.slice(n+1):t}(t)),A&&0===+t&&"+"!==f&&(A=!1),h=(A?"("===f?f:l:"-"===f||"("===f?"":f)+h,M=("s"===_?ur[8+Zn/3]:"")+M+(A&&"("===f?")":""),x)for(i=-1,a=t.length;++i<a;)if(48>(c=t.charCodeAt(i))||c>57){M=(46===c?o+t.slice(i+1):t.slice(i))+M,t=t.slice(0,i);break}}m&&!p&&(t=e(t,Infinity));var k=h.length+t.length+M.length,N=k<d?new Array(d-k+1).join(n):"";switch(m&&p&&(t=e(N+t,N.length?d-M.length:Infinity),N=""),r){case"<":t=h+t+M+N;break;case"=":t=h+N+t+M;break;case"^":t=N.slice(0,k=N.length>>1)+h+t+M+N.slice(k);break;default:t=N+h+t+M}return u(t)}return g=void 0===g?6:/[gprs]/.test(_)?Math.max(1,Math.min(21,g)):Math.max(0,Math.min(20,g)),M.toString=function(){return t+""},M}return{format:f,formatPrefix:function(t,n){var r=f(((t=Yn(t)).type="f",t)),e=3*Math.max(-8,Math.min(8,Math.floor(Qn(n)/3))),i=Math.pow(10,-e),a=ur[8+e/3];return function(t){return r(i*t)+a}}}}({thousands:",",grouping:[3],currency:["$",""]}),ir=er.format,ar=er.formatPrefix;var hr=1e-6;function pr(t){return"translate("+t+",0)"}function dr(t){return"translate(0,"+t+")"}function mr(t){return n=>+t(n)}function gr(t,n){return n=Math.max(0,t.bandwidth()-2*n)/2,t.round()&&(n=Math.round(n)),r=>+t(r)+n}function vr(){return!this.__axis}function _r(t,n){var r=[],e=null,i=null,a=6,o=6,u=3,c="undefined"!=typeof window&&window.devicePixelRatio>1?0:.5,l=1===t||4===t?-1:1,s=4===t||2===t?"x":"y",f=1===t||3===t?pr:dr;function h(h){var p=null==e?n.ticks?n.ticks.apply(n,r):n.domain():e,d=null==i?n.tickFormat?n.tickFormat.apply(n,r):fr:i,m=Math.max(a,0)+u,g=n.range(),v=+g[0]+c,_=+g[g.length-1]+c,y=(n.bandwidth?gr:mr)(n.copy(),c),b=h.selection?h.selection():h,w=b.selectAll(".domain").data([null]),x=b.selectAll(".tick").data(p,n).order(),M=x.exit(),A=x.enter().append("g").attr("class","tick"),k=x.select("line"),N=x.select("text");w=w.merge(w.enter().insert("path",".tick").attr("class","domain").attr("stroke","currentColor")),x=x.merge(A),k=k.merge(A.append("line").attr("stroke","currentColor").attr(s+"2",l*a)),N=N.merge(A.append("text").attr("fill","currentColor").attr(s,l*m).attr("dy",1===t?"0em":3===t?"0.71em":"0.32em")),h!==b&&(w=w.transition(h),x=x.transition(h),k=k.transition(h),N=N.transition(h),M=M.transition(h).attr("opacity",hr).attr("transform",function(t){return isFinite(t=y(t))?f(t+c):this.getAttribute("transform")}),A.attr("opacity",hr).attr("transform",function(t){var n=this.parentNode.__axis;return f((n&&isFinite(n=n(t))?n:y(t))+c)})),M.remove(),w.attr("d",4===t||2===t?o?"M"+l*o+","+v+"H"+c+"V"+_+"H"+l*o:"M"+c+","+v+"V"+_:o?"M"+v+","+l*o+"V"+c+"H"+_+"V"+l*o:"M"+v+","+c+"H"+_),x.attr("opacity",1).attr("transform",function(t){return f(y(t)+c)}),k.attr(s+"2",l*a),N.attr(s,l*m).text(d),b.filter(vr).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",2===t?"start":4===t?"end":"middle"),b.each(function(){this.__axis=y})}return h.scale=function(t){return arguments.length?(n=t,h):n},h.ticks=function(){return r=Array.from(arguments),h},h.tickArguments=function(t){return arguments.length?(r=null==t?[]:Array.from(t),h):r.slice()},h.tickValues=function(t){return arguments.length?(e=null==t?null:Array.from(t),h):e&&e.slice()},h.tickFormat=function(t){return arguments.length?(i=t,h):i},h.tickSize=function(t){return arguments.length?(a=o=+t,h):a},h.tickSizeInner=function(t){return arguments.length?(a=+t,h):a},h.tickSizeOuter=function(t){return arguments.length?(o=+t,h):o},h.tickPadding=function(t){return arguments.length?(u=+t,h):u},h.offset=function(t){return arguments.length?(c=+t,h):c},h}function yr(t){return _r(3,t)}function br(t){return _r(4,t)}function wr(t){for(var n=t.length/6|0,r=new Array(n),e=0;e<n;)r[e]="#"+t.slice(6*e,6*++e);return r}var xr,Mr=wr("1f77b4ff7f0e2ca02cd627289467bd8c564be377c27f7f7fbcbd2217becf"),Ar=jn((xr=new Array(3).concat("fc8d59ffffbf91bfdb","d7191cfdae61abd9e92c7bb6","d7191cfdae61ffffbfabd9e92c7bb6","d73027fc8d59fee090e0f3f891bfdb4575b4","d73027fc8d59fee090ffffbfe0f3f891bfdb4575b4","d73027f46d43fdae61fee090e0f3f8abd9e974add14575b4","d73027f46d43fdae61fee090ffffbfe0f3f8abd9e974add14575b4","a50026d73027f46d43fdae61fee090e0f3f8abd9e974add14575b4313695","a50026d73027f46d43fdae61fee090ffffbfe0f3f8abd9e974add14575b4313695").map(wr))[xr.length-1]);function kr(t){return function(){return t}}const Nr=Math.abs,$r=Math.atan2,Er=Math.cos,qr=Math.max,Sr=Math.min,jr=Math.sin,Or=Math.sqrt,zr=1e-12,Cr=Math.PI,Tr=Cr/2,Pr=2*Cr;function Rr(t){return t>=1?Tr:t<=-1?-Tr:Math.asin(t)}const Ir=Math.PI,Lr=2*Ir,Fr=1e-6,Hr=Lr-Fr;function Vr(t){this._+=t[0];for(let n=1,r=t.length;n<r;++n)this._+=arguments[n]+t[n]}class Dr{constructor(t){this._x0=this._y0=this._x1=this._y1=null,this._="",this._append=null==t?Vr:function(t){let n=Math.floor(t);if(!(n>=0))throw new Error(`invalid digits: ${t}`);if(n>15)return Vr;const r=10**n;return function(t){this._+=t[0];for(let n=1,e=t.length;n<e;++n)this._+=Math.round(arguments[n]*r)/r+t[n]}}(t)}moveTo(t,n){this._append`M${this._x0=this._x1=+t},${this._y0=this._y1=+n}`}closePath(){null!==this._x1&&(this._x1=this._x0,this._y1=this._y0,this._append`Z`)}lineTo(t,n){this._append`L${this._x1=+t},${this._y1=+n}`}quadraticCurveTo(t,n,r,e){this._append`Q${+t},${+n},${this._x1=+r},${this._y1=+e}`}bezierCurveTo(t,n,r,e,i,a){this._append`C${+t},${+n},${+r},${+e},${this._x1=+i},${this._y1=+a}`}arcTo(t,n,r,e,i){if(t=+t,n=+n,r=+r,e=+e,(i=+i)<0)throw new Error(`negative radius: ${i}`);let a=this._x1,o=this._y1,u=r-t,c=e-n,l=a-t,s=o-n,f=l*l+s*s;if(null===this._x1)this._append`M${this._x1=t},${this._y1=n}`;else if(f>Fr)if(Math.abs(s*u-c*l)>Fr&&i){let h=r-a,p=e-o,d=u*u+c*c,m=h*h+p*p,g=Math.sqrt(d),v=Math.sqrt(f),_=i*Math.tan((Ir-Math.acos((d+f-m)/(2*g*v)))/2),y=_/v,b=_/g;Math.abs(y-1)>Fr&&this._append`L${t+y*l},${n+y*s}`,this._append`A${i},${i},0,0,${+(s*h>l*p)},${this._x1=t+b*u},${this._y1=n+b*c}`}else this._append`L${this._x1=t},${this._y1=n}`}arc(t,n,r,e,i,a){if(t=+t,n=+n,a=!!a,(r=+r)<0)throw new Error(`negative radius: ${r}`);let o=r*Math.cos(e),u=r*Math.sin(e),c=t+o,l=n+u,s=1^a,f=a?e-i:i-e;null===this._x1?this._append`M${c},${l}`:(Math.abs(this._x1-c)>Fr||Math.abs(this._y1-l)>Fr)&&this._append`L${c},${l}`,r&&(f<0&&(f=f%Lr+Lr),f>Hr?this._append`A${r},${r},0,1,${s},${t-o},${n-u}A${r},${r},0,1,${s},${this._x1=c},${this._y1=l}`:f>Fr&&this._append`A${r},${r},0,${+(f>=Ir)},${s},${this._x1=t+r*Math.cos(i)},${this._y1=n+r*Math.sin(i)}`)}rect(t,n,r,e){this._append`M${this._x0=this._x1=+t},${this._y0=this._y1=+n}h${r=+r}v${+e}h${-r}Z`}toString(){return this._}}function Br(t){let n=3;return t.digits=function(r){if(!arguments.length)return n;if(null==r)n=null;else{const t=Math.floor(r);if(!(t>=0))throw new RangeError(`invalid digits: ${r}`);n=t}return t},()=>new Dr(n)}function Xr(t){return t.innerRadius}function Ur(t){return t.outerRadius}function Jr(t){return t.startAngle}function Gr(t){return t.endAngle}function Qr(t){return t&&t.padAngle}function Zr(t,n,r,e,i,a,o){var u=t-r,c=n-e,l=(o?a:-a)/Or(u*u+c*c),s=l*c,f=-l*u,h=t+s,p=n+f,d=r+s,m=e+f,g=(h+d)/2,v=(p+m)/2,_=d-h,y=m-p,b=_*_+y*y,w=i-a,x=h*m-d*p,M=(y<0?-1:1)*Or(qr(0,w*w*b-x*x)),A=(x*y-_*M)/b,k=(-x*_-y*M)/b,N=(x*y+_*M)/b,$=(-x*_+y*M)/b,E=A-g,q=k-v,S=N-g,j=$-v;return E*E+q*q>S*S+j*j&&(A=N,k=$),{cx:A,cy:k,x01:-s,y01:-f,x11:A*(i/w-1),y11:k*(i/w-1)}}function Wr(t){return"object"==typeof t&&"length"in t?t:Array.from(t)}function Yr(t){this._context=t}function Kr(t){return new Yr(t)}function te(t){return t[0]}function ne(t){return t[1]}function re(t,n){var r=kr(!0),e=null,i=Kr,a=null,o=Br(u);function u(u){var c,l,s,f=(u=Wr(u)).length,h=!1;for(null==e&&(a=i(s=o())),c=0;c<=f;++c)!(c<f&&r(l=u[c],c,u))===h&&((h=!h)?a.lineStart():a.lineEnd()),h&&a.point(+t(l,c,u),+n(l,c,u));if(s)return a=null,s+""||null}return t="function"==typeof t?t:void 0===t?te:kr(t),n="function"==typeof n?n:void 0===n?ne:kr(n),u.x=function(n){return arguments.length?(t="function"==typeof n?n:kr(+n),u):t},u.y=function(t){return arguments.length?(n="function"==typeof t?t:kr(+t),u):n},u.defined=function(t){return arguments.length?(r="function"==typeof t?t:kr(!!t),u):r},u.curve=function(t){return arguments.length?(i=t,null!=e&&(a=i(e)),u):i},u.context=function(t){return arguments.length?(null==t?e=a=null:a=i(e=t),u):e},u}function ee(t,n){return n<t?-1:n>t?1:n>=t?0:NaN}function ie(t){return t}function ae(t,n,r){t._context.bezierCurveTo((2*t._x0+t._x1)/3,(2*t._y0+t._y1)/3,(t._x0+2*t._x1)/3,(t._y0+2*t._y1)/3,(t._x0+4*t._x1+n)/6,(t._y0+4*t._y1+r)/6)}function oe(t){this._context=t}function ue(t){return new oe(t)}Yr.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,n):this._context.moveTo(t,n);break;case 1:this._point=2;default:this._context.lineTo(t,n)}}},oe.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:ae(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,n):this._context.moveTo(t,n);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:ae(this,t,n)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=n}};var ce=0,le={width:400,height:400,color:"#000",background:"#fff",title:"",xlabel:"",ylabel:""};function se(t,n){var e,i=r({},le,n),a=t;if(!a){a="#datly-plot-"+ce++;var o=document.createElement("div");o.id=a.replace("#",""),document.body.appendChild(o)}return(e=st(a)).html(""),e.style("background",i.background).style("display","inline-block"),i.title&&e.append("h3").style("text-align","center").style("font-family","sans-serif").style("margin-bottom","5px").text(i.title),{svg:e.append("svg").attr("width",i.width).attr("height",i.height).style("background",i.background),config:i}}function fe(t,n,r,e){void 0===r&&(r={});var i=se(e,r),a=i.svg,o=i.config,u=o.width-40-20,c=o.height-20-40,l=lr().domain(vt(t)).nice().range([0,u]),s=lr().domain(vt(n)).nice().range([c,0]),f=a.append("g").attr("transform","translate(40,20)");f.selectAll("circle").data(t).enter().append("circle").attr("cx",function(n,r){return l(t[r])}).attr("cy",function(t,r){return s(n[r])}).attr("r",r.size||4).attr("fill",o.color),f.append("g").attr("transform","translate(0,"+c+")").call(yr(l)),f.append("g").call(br(s))}var he=function(t){return""===t||"null"===t||"NULL"===t||"NaN"===t?null:"true"===t||"TRUE"===t||"false"!==t&&"FALSE"!==t&&(/^-?\d+$/.test(t)?parseInt(t,10):/^-?\d*\.\d+$/.test(t)?parseFloat(t):t)},pe=function(t,n){return{type:"dataframe",columns:t,data:n,n_rows:n.length,n_cols:t.length}},de=function(){return pe([],[])},me=function(t){return[].concat(new Set(t))},ge=function(t,n,r,e){void 0===n&&(n=""),void 0===r&&(r=5),void 0===e&&(e=0);var i={};if(e>=r)return i[n||"value"]=t,i;for(var a=function(){var t=u[o],a=t[0],c=t[1],l=n?n+"."+a:a;if(Array.isArray(c))i[l]=c,c.length>0&&"object"==typeof c[0]&&!Array.isArray(c[0])&&Object.keys(c[0]).forEach(function(t){i[l+"."+t]=c.map(function(n){var r;return null!=(r=n[t])?r:null})});else if(c&&"object"==typeof c&&null!==c){var s=ge(c,l,r,e+1);Object.assign(i,s)}else i[l]=c},o=0,u=Object.entries(t);o<u.length;o++)a();return i},ve=function(t){return"number"==typeof t&&Number.isFinite(t)},_e=function(t){return null==t||""===t?NaN:Number(t)},ye=function(t){return t.map(_e).filter(function(t){return Number.isFinite(t)})},be=function(t){return ye(t).reduce(function(t,n){return t+n},0)},we=function(t){var n=ye(t),r=n.length;return r?be(n)/r:NaN},xe=function(t,n){void 0===n&&(n=!0);var r=ye(t),e=r.length;if(e<2)return NaN;var i=we(r);return r.reduce(function(t,n){return t+Math.pow(n-i,2)},0)/(n?e-1:e)},Me=function(t,n){return void 0===n&&(n=!0),Math.sqrt(xe(t,n))},Ae=function(t){return Math.min.apply(Math,ye(t))},ke=function(t){return Math.max.apply(Math,ye(t))},Ne=function(t){var n=ye(t).sort(function(t,n){return t-n}),r=n.length;if(!r)return NaN;var e=Math.floor(r/2);return r%2?n[e]:(n[e-1]+n[e])/2},$e=function(t,n){var r=ye(t).sort(function(t,n){return t-n}),e=r.length;if(!e)return NaN;var i=(e-1)*n,a=Math.floor(i),o=i-a;return r[a]+(r[Math.min(a+1,e-1)]-r[a])*o},Ee=function(t){var n=ye(t),r=n.length;if(r<3)return NaN;var e=we(n),i=Me(n,!0);return n.reduce(function(t,n){return t+Math.pow(n-e,3)},0)/r/Math.pow(i,3)*Math.sqrt(r*(r-1))/(r-2)},qe=function(t){var n=ye(t),r=n.length;if(r<4)return NaN;var e=we(n),i=xe(n,!0);return n.reduce(function(t,n){return t+Math.pow(n-e,4)},0)/r/Math.pow(i,2)-3},Se=function(t,n){var r=ye(t),e=ye(n),i=Math.min(r.length,e.length);if(i<2)return NaN;for(var a=r.slice(0,i),o=e.slice(0,i),u=we(a),c=we(o),l=0,s=0,f=0,h=0;h<i;h++){var p=a[h]-u,d=o[h]-c;l+=p*d,s+=p*p,f+=d*d}return l/Math.sqrt(s*f)},je=function(t){for(var n=ye(t).map(function(t,n){return{v:t,i:n}}).sort(function(t,n){return t.v-n.v}),r=Array(t.length).fill(NaN),e=0;e<n.length;){for(var i=e;i+1<n.length&&n[i+1].v===n[e].v;)i++;for(var a=(e+i)/2+1,o=e;o<=i;o++)r[n[o].i]=a;e=i+1}return r.filter(Number.isFinite)},Oe=function(t,n){return Se(je(t),je(n))},ze=function(t){return Math.exp(-.5*t*t)/Math.sqrt(2*Math.PI)},Ce=function(t){return.5*(1+Te(t/Math.SQRT2))},Te=function(t){var n=Math.sign(t),r=1/(1+.3275911*(t=Math.abs(t)));return n*(1-((((1.061405429*r-1.453152027)*r+1.421413741)*r-.284496736)*r+.254829592)*r*Math.exp(-t*t))},Pe=function(t){return t<=0||t>=1?NaN:Math.SQRT2*function(t){var n=Math.log(1-t*t),r=2/(.147*Math.PI)+n/2;return Math.sign(t)*Math.sqrt(Math.sqrt(r*r-n/.147)-r)}(2*t-1)},Re=function(t,n){return r({type:t},n)},Ie=function(t,n){return{type:t,error:n}},Le=function(t){return Array.isArray(t)&&t.length?{type:"missing_report",rows:me(ge(t.map(function(t){return Object.keys(t)}))).map(function(n){var r=t.map(function(t){return t[n]}),e=r.filter(function(t){return null==t||""===t}).length;return{column:n,missing:e,missing_rate:e/r.length}})}:Ie("missing_report","empty data")},Fe=function(t,n){void 0===n&&(n="pearson");var r=me(ge(t.map(function(t){return Object.keys(t)}))).filter(function(n){return t.every(function(t){return Number.isFinite(_e(t[n]))||null==t[n]})}),e={};return r.forEach(function(i){e[i]={};var a=t.map(function(t){return _e(t[i])});r.forEach(function(r){var o=t.map(function(t){return _e(t[r])}),u="spearman"===n?Oe(a,o):Se(a,o);e[i][r]=u})}),{type:"correlation_matrix",method:n,matrix:e}},He=function(t,n,r){return void 0===n&&(n=0),void 0===r&&(r=1),Re("distribution",{name:"normal_cdf",params:{mu:n,sigma:r},value:Array.isArray(t)?t.map(function(t){return Ce((t-n)/r)}):Ce((t-n)/r)})},Ve=function(t,n,r){return void 0===n&&(n=0),void 0===r&&(r=1),Re("distribution",{name:"normal_ppf",params:{mu:n,sigma:r},value:Array.isArray(t)?t.map(function(t){return n+r*Pe(t)}):n+r*Pe(t)})},De=function(t,n){var r=n/2,e=n/(n+t*t),i=Math.pow(e,r)*Math.pow(1-e,.5)/r*function(t,n,r){for(var e,i=1,a=1,o=1,u=t+.5,c=t+1,l=t-1,s=1-u*r/c,f=1;f<=200;f++){var h=f+f,p=f*(.5-f)*r/((l+h)*(t+h)),d=o+p*i,m=s+p*a,g=m+(p=-(t+f)*(u+f)*r/((t+h)*(c+h)))*s;if(e=o,i=d/g,a=m/g,o=(d+p*o)/g,s=1,Math.abs(o-e)<3e-7*Math.abs(o))return o}return o}(r,0,e),a=.5*i;return t>=0?1-a:a},Be=function(t,n){for(var r=t.length,e=n[0].length,i=n.length,a=Array(r).fill(0).map(function(){return Array(e).fill(0)}),o=0;o<r;o++)for(var u=0;u<e;u++){for(var c=0,l=0;l<i;l++)c+=t[o][l]*n[l][u];a[o][u]=c}return a},Xe=function(t,n){var r,e,i=function(t){return t.map(function(t){return[1].concat(t)})}(t),a=function(t,n){void 0===n&&(n=1e-8);for(var r=function(t){return t[0].map(function(n,r){return t.map(function(t){return t[r]})})}(t),e=Be(r,t),i=e.length,a=0;a<i;a++)e[a][a]+=n;var o=function(t){for(var n=t.length,r=t.map(function(t,r){return t.concat(Array.from({length:n},function(t,n){return r===n?1:0}))}),e=0;e<n;e++){for(var i=r[e][e],a=e,o=e+1;o<n;o++)Math.abs(r[o][e])>Math.abs(i)&&(i=r[o][e],a=o);if(a!==e){var u=r[e];r[e]=r[a],r[a]=u}var c=r[e][e];if(!(Math.abs(c)<1e-12)){for(var l=0;l<2*n;l++)r[e][l]/=c;for(var s=0;s<n;s++)if(s!==e)for(var f=r[s][e],h=0;h<2*n;h++)r[s][h]-=f*r[e][h]}}return r.map(function(t){return t.slice(n)})}(e);return Be(o,r)}(i),o=Be(a,n.map(function(t){return[t]})).map(function(t){return t[0]}),u=t.map(function(t){return o[0]+t.reduce(function(t,n,r){return t+o[r+1]*n},0)}),c=n.map(function(t,n){return t-u[n]}),l=we(c.map(function(t){return t*t})),s=1-be(c.map(function(t){return t*t}))/be(n.map(function(t){return Math.pow(t-we(n),2)}));return{type:"linear_regression",weights:o,mse:l,r2:s,n:n.length,p:null!=(r=null==(e=t[0])?void 0:e.length)?r:0}},Ue=function(t){return 1/(1+Math.exp(-t))},Je=function(t,n,r){var e,i,a,o,u;void 0===r&&(r={});for(var c=null!=(e=r.learning_rate)?e:.1,l=null!=(i=r.iterations)?i:1e3,s=null!=(a=r.l2)?a:0,f=null!=(o=null==(u=t[0])?void 0:u.length)?o:0,h=Array(f+1).fill(0),p=t.map(function(t){return[1].concat(t)}),d=0;d<l;d++){for(var m=Array(f+1).fill(0),g=function(t){for(var r=h.reduce(function(n,r,e){return n+r*p[t][e]},0),e=Ue(r)-n[t],i=0;i<m.length;i++)m[i]+=e*p[t][i]},v=0;v<p.length;v++)g(v);for(var _=0;_<h.length;_++)m[_]=m[_]/p.length+s*h[_],h[_]-=c*m[_]}var y=t.map(function(t){return Ue(h[0]+t.reduce(function(t,n,r){return t+h[r+1]*n},0))}),b=y.map(function(t){return t>=.5?1:0}),w=b.filter(function(t,r){return t===n[r]}).length/n.length;return{type:"logistic_regression",weights:h,accuracy:w,n:n.length,p:f}},Ge=function(t,n){try{var r,e=JSON.parse(JSON.stringify(Ze(t))),i=e.weights||(null==(r=e.model)?void 0:r.weights);return i?{type:"prediction",name:"linear_regression",predictions:n.map(function(t){return i[0]+t.reduce(function(t,n,r){return t+i[r+1]*n},0)})}:Ie("predict_linear","invalid model")}catch(t){return Ie("predict_linear","invalid model text")}},Qe=function(t,n,r){void 0===r&&(r=.5);try{var e,i=JSON.parse(JSON.stringify(Ze(t))),a=i.weights||(null==(e=i.model)?void 0:e.weights);if(!a)return Ie("predict_logistic","invalid model");var o=n.map(function(t){return Ue(a[0]+t.reduce(function(t,n,r){return t+a[r+1]*n},0))}),u=o.map(function(t){return t>=r?1:0});return{type:"prediction",name:"logistic_regression",threshold:r,probabilities:o,classes:u}}catch(t){return Ie("predict_logistic","invalid model text")}},Ze=function(t){var n=function(t){return Array.isArray(t)?t.map(n):t&&"object"==typeof t?Object.fromEntries(Object.entries(t).map(function(t){var r=t[1];return[String(t[0]).toLowerCase(),n(r)]})):t};return n(function(t){try{return"string"==typeof t?JSON.parse(t):t}catch(t){return{}}}(t))},We=function(t,n){for(var r=Math.min(t.length,n.length),e=0,i=0,a=0,o=0,u=0;u<r;u++)1===n[u]&&1===t[u]?e++:0===n[u]&&0===t[u]?i++:1===n[u]&&0===t[u]?a++:0===n[u]&&1===t[u]&&o++;var c=e+a?e/(e+a):0,l=e+o?e/(e+o):0;return{type:"metric",name:"classification_report",confusion_matrix:{tp:e,fp:a,tn:i,fn:o},accuracy:(e+i)/r,precision:c,recall:l,f1:c+l?2*c*l/(c+l):0}},Ye=function(t,n){var r=Math.min(t.length,n.length),e=Array.from({length:r},function(r,e){return t[e]-n[e]});return{type:"metric",name:"regression_report",mse:we(e.map(function(t){return t*t})),mae:we(e.map(function(t){return Math.abs(t)})),r2:1-be(e.map(function(t){return t*t}))/be(t.map(function(n){return Math.pow(n-we(t),2)}))}},Ke=function(t,n){var r=ye(t),e=ye(n),i=Math.min(r.length,e.length);if(i<2)return Ie("corr_kendall","insufficient data");for(var a=0,o=0,u=0;u<i-1;u++)for(var c=u+1;c<i;c++){var l=r[c]-r[u],s=e[c]-e[u];l*s>0?a++:l*s<0&&o++}return Re("statistic",{name:"kendall_tau",value:(a-o)/(.5*i*(i-1)),concordant:a,discordant:o,n:i})},ti=function(t,n){return Math.sqrt(t.reduce(function(t,r,e){return t+Math.pow(r-n[e],2)},0))},ni=function(t,n,r){var e,i;return void 0===r&&(r=5),t.length!==n.length?Ie("train_knn_classifier","X and y length mismatch"):{type:"knn_classifier",k:r,X:t,y:n,n:n.length,p:null!=(e=null==(i=t[0])?void 0:i.length)?e:0}},ri=function(t,n){try{var r=Ze(t);if("knn_classifier"!==r.type)return Ie("predict_knn_classifier","invalid model type");var e=r.k,i=r.x,a=r.y,o=n.map(function(t){var n=i.map(function(n,r){return{dist:ti(t,n),label:a[r]}});n.sort(function(t,n){return t.dist-n.dist});var r=n.slice(0,e),o={};r.forEach(function(t){var n=t.label;o[n]=(o[n]||0)+1});var u=Object.entries(o).sort(function(t,n){return n[1]-t[1]})[0][0];return Number(u)});return{type:"prediction",name:"knn_classifier",k:e,predictions:o}}catch(t){return Ie("predict_knn_classifier","invalid model text")}},ei=function(t,n,r){var e,i;return void 0===r&&(r=5),t.length!==n.length?Ie("train_knn_regressor","X and y length mismatch"):{type:"knn_regressor",k:r,X:t,y:n,n:n.length,p:null!=(e=null==(i=t[0])?void 0:i.length)?e:0}},ii=function(t,n){try{var r=Ze(t);if("knn_regressor"!==r.type)return Ie("predict_knn_regressor","invalid model type");var e=r.k,i=r.x,a=r.y,o=n.map(function(t){var n=i.map(function(n,r){return{dist:ti(t,n),value:a[r]}});n.sort(function(t,n){return t.dist-n.dist});var r=n.slice(0,e);return we(r.map(function(t){return t.value}))});return{type:"prediction",name:"knn_regressor",k:e,predictions:o}}catch(t){return Ie("predict_knn_regressor","invalid model text")}},ai=function(t){var n={};t.forEach(function(t){n[t]=(n[t]||0)+1});var r=t.length;return 1-Object.values(n).reduce(function(t,n){return t+Math.pow(n/r,2)},0)},oi=function(t){var n=we(t);return we(t.map(function(t){return Math.pow(t-n,2)}))},ui=function(t,n,r,e,i,a){if(r>=e||n.length<i){var o="classification"===a?Object.entries(n.reduce(function(t,n){return t[n]=(t[n]||0)+1,t},{})).sort(function(t,n){return n[1]-t[1]})[0][0]:we(n);return{leaf:!0,prediction:Number(o),n:n.length}}var u=function(t,n,r){void 0===r&&(r="classification");for(var e={feature:-1,threshold:0,score:Infinity},i=t[0].length,a=function(i){for(var a=me(t.map(function(t){return t[i]})).sort(function(t,n){return t-n}),o=function(){var o=(a[u]+a[u+1])/2,c=[],l=[];if(t.forEach(function(t,n){t[i]<=o?c.push(n):l.push(n)}),0===c.length||0===l.length)return 1;var s,f=c.map(function(t){return n[t]}),h=l.map(function(t){return n[t]});(s="classification"===r?f.length/n.length*ai(f)+h.length/n.length*ai(h):f.length/n.length*oi(f)+h.length/n.length*oi(h))<e.score&&(e={feature:i,threshold:o,score:s})},u=0;u<a.length-1;u++)o()},o=0;o<i;o++)a(o);return e}(t,n,a);if(-1===u.feature){var c="classification"===a?Object.entries(n.reduce(function(t,n){return t[n]=(t[n]||0)+1,t},{})).sort(function(t,n){return n[1]-t[1]})[0][0]:we(n);return{leaf:!0,prediction:Number(c),n:n.length}}var l=[],s=[];t.forEach(function(t,n){t[u.feature]<=u.threshold?l.push(n):s.push(n)});var f=l.map(function(n){return t[n]}),h=l.map(function(t){return n[t]}),p=s.map(function(n){return t[n]}),d=s.map(function(t){return n[t]});return{leaf:!1,feature:u.feature,threshold:u.threshold,left:ui(f,h,r+1,e,i,a),right:ui(p,d,r+1,e,i,a)}},ci=function(t,n,r){var e,i,a,o;void 0===r&&(r={});var u=null!=(e=r.max_depth)?e:5,c=null!=(i=r.min_samples_split)?i:2;return{type:"decision_tree_classifier",tree:ui(t,n,0,u,c,"classification"),max_depth:u,min_samples:c,n:n.length,p:null!=(a=null==(o=t[0])?void 0:o.length)?a:0}},li=function(t,n,r){var e,i,a,o;void 0===r&&(r={});var u=null!=(e=r.max_depth)?e:5,c=null!=(i=r.min_samples_split)?i:2;return{type:"decision_tree_regressor",tree:ui(t,n,0,u,c,"regression"),max_depth:u,min_samples:c,n:n.length,p:null!=(a=null==(o=t[0])?void 0:o.length)?a:0}},si=function(t,n){return t.leaf?t.prediction:si(n[t.feature]<=t.threshold?t.left:t.right,n)},fi=function(t,n){try{var r=Ze(t),e=n.map(function(t){return si(r.tree,t)});return{type:"prediction",name:r.type,predictions:e}}catch(t){return Ie("predict_decision_tree","invalid model text")}},hi=function(t,n,r){var e=t.length,i=r,a=Array.from({length:e},function(){return Math.floor((i=(9301*i+49297)%233280)/233280*e)});return{X_boot:a.map(function(n){return t[n]}),y_boot:a.map(function(t){return n[t]})}},pi=function(t,n,r){var e,i,a,o,u,c;void 0===r&&(r={});for(var l=null!=(e=r.n_estimators)?e:10,s=null!=(i=r.max_depth)?i:5,f=null!=(a=r.min_samples_split)?a:2,h=null!=(o=r.seed)?o:42,p=[],d=0;d<l;d++){var m=hi(t,n,h+d),g=Ze(ci(m.X_boot,m.y_boot,{max_depth:s,min_samples:f}));p.push(g.tree)}return{type:"random_forest_classifier",trees:p,n_trees:l,max_depth:s,min_samples:f,n:n.length,p:null!=(u=null==(c=t[0])?void 0:c.length)?u:0}},di=function(t,n,r){var e,i,a,o,u,c;void 0===r&&(r={});for(var l=null!=(e=r.n_estimators)?e:10,s=null!=(i=r.max_depth)?i:5,f=null!=(a=r.min_samples_split)?a:2,h=null!=(o=r.seed)?o:42,p=[],d=0;d<l;d++){var m=hi(t,n,h+d),g=Ze(li(m.X_boot,m.y_boot,{max_depth:s,min_samples:f}));p.push(g.tree)}return{type:"random_forest_regressor",trees:p,n_trees:l,max_depth:s,min_samples:f,n:n.length,p:null!=(u=null==(c=t[0])?void 0:c.length)?u:0}},mi=function(t,n){try{var r=Ze(t),e=n.map(function(t){var n=r.trees.map(function(n){return si(n,t)}),e={};return n.forEach(function(t){e[t]=(e[t]||0)+1}),Number(Object.entries(e).sort(function(t,n){return n[1]-t[1]})[0][0])});return{type:"prediction",name:"random_forest_classifier",n_trees:r.n_trees,predictions:e}}catch(t){return Ie("predict_random_forest_classifier","invalid model text")}},gi=function(t,n){try{var r=Ze(t),e=n.map(function(t){var n=r.trees.map(function(n){return si(n,t)});return we(n)});return{type:"prediction",name:"random_forest_regressor",n_trees:r.n_trees,predictions:e}}catch(t){return Ie("predict_random_forest_regressor","invalid model text")}},vi=function(t,n){try{var r=Ze(t),e=n.map(function(t){var n={};return r.classes.forEach(function(e){var i=Math.log(r.priors[e]);r.stats[e].forEach(function(n,r){var e=(t[r]-n.mean)/n.std;i+=-.5*e*e-Math.log(n.std)-.5*Math.log(2*Math.PI)}),n[e]=i}),Number(Object.entries(n).sort(function(t,n){return n[1]-t[1]})[0][0])});return{type:"prediction",name:"naive_bayes",predictions:e}}catch(t){return Ie("predict_naive_bayes","invalid model text")}},_i=function(t){var n,r,e=null!=(n=null==(r=t[0])?void 0:r.length)?n:0;return{type:"standard_scaler",params:Array.from({length:e},function(n,r){var e=t.map(function(t){return t[r]});return{mean:we(e),std:Me(e,!0)}}),n:t.length,p:e}},yi=function(t,n){try{var r=Ze(t),e=n.map(function(t){return t.map(function(t,n){return(t-r.params[n].mean)/r.params[n].std})});return{type:"scaled_data",method:"standard",data:e,preview:e.slice(0,5)}}catch(t){return Ie("standard_scaler_transform","invalid scaler text")}},bi=function(t,n){var r=Array(n).fill(0),e=function(t,n){t.leaf||(r[t.feature]+=n,e(t.left,n),e(t.right,n))};e(t,1);var i=r.reduce(function(t,n){return t+n},0);return r.map(function(t){return i>0?t/i:0})},wi=function(t){if(!t.length)return de();var n=me(t.flatMap(function(t){return Object.keys(t)})),r=t.map(function(t){var r={};return n.forEach(function(n){return r[n]=he(t[n])}),r});return pe(n,r)},xi=function(t){var n=t.headers,r=t.data.map(function(t){var r={};return n.forEach(function(n,e){return r[n]=he(t[e])}),r});return pe(n,r)},Mi=function(t,n){void 0===n&&(n={});var e=r({flatten:!0,maxDepth:10},n);if(e.flatten){var i=ge(t,"",e.maxDepth),a=Object.keys(i);return pe(a,[i])}var o=Object.entries(t).map(function(t){return{key:t[0],value:he(t[1])}});return pe(["key","value"],o)},Ai=function(t,n){if(!t.columns.includes(n))throw new Error("Column '"+n+"' not found. Available: "+t.columns.join(", "));return t.data.map(function(t){return t[n]})},ki=function(t,n){void 0===n&&(n=null);var r=n||t.columns.filter(function(n){var r;return"number"==typeof(null==(r=t.data[0])?void 0:r[n])}),e={};return r.forEach(function(n){var r=t.data.map(function(t){return t[n]}).filter(function(t){return"number"==typeof t&&!isNaN(t)});if(0!==r.length){var i=[].concat(r).sort(function(t,n){return t-n}),a=r.reduce(function(t,n){return t+n},0),o=a/r.length,u=i[0],c=i[i.length-1],l=i.length%2==0?(i[i.length/2-1]+i[i.length/2])/2:i[Math.floor(i.length/2)];e[n]={count:r.length,mean:o,median:l,min:u,max:c,sum:a}}else e[n]={error:"no numeric values"}}),{description:"Descriptive Statistics",analyzed_columns:r.length,statistics:e}},Ni={df_from_csv:function(t,n){void 0===n&&(n={});var e=r({delimiter:",",header:!0,skipEmptyLines:!0},n),i=t.split("\n").filter(function(t){return!e.skipEmptyLines||""!==t.trim()});if(0===i.length)return de();for(var a=e.header?i[0].split(e.delimiter).map(function(t){return t.trim().replace(/['"]/g,"")}):Array.from({length:i[0].split(e.delimiter).length},function(t,n){return"col_"+n}),o=[],u=function(){var t=i[c].split(e.delimiter);if(t.length===a.length){var n={};a.forEach(function(r,e){n[r]=he(t[e].trim().replace(/['"]/g,""))}),o.push(n)}},c=e.header?1:0;c<i.length;c++)u();return pe(a,o)},df_from_json:function(t){var n;return n="string"==typeof t?JSON.parse(t):t,Array.isArray(n)?wi(n):n.headers&&n.data?xi(n):"object"==typeof n?Mi(n):de()},df_from_array:wi,df_from_structured_json:xi,df_from_object:Mi,df_get_column:Ai,df_get_columns:function(t,n){var r={};return n.forEach(function(n){return r[n]=Ai(t,n)}),r},df_filter:function(t,n){var r=t.data.filter(n);return pe(t.columns,r)},df_sort:function(t,n,r){if(void 0===r&&(r="asc"),!t.columns.includes(n))throw new Error("Column '"+n+"' not found");var e=[].concat(t.data).sort(function(t,e){var i=t[n],a=e[n];return null==i?1:null==a?-1:"string"==typeof i&&"string"==typeof a?"asc"===r?i.localeCompare(a):a.localeCompare(i):"asc"===r?i-a:a-i});return pe(t.columns,e)},df_select:function(t,n){n.forEach(function(n){if(!t.columns.includes(n))throw new Error("Column '"+n+"' not found")});var r=t.data.map(function(t){var r={};return n.forEach(function(n){return r[n]=t[n]}),r});return pe(n,r)},df_info:function(t){var n={},r={},e={};return t.columns.forEach(function(i){var a=t.data.map(function(t){return t[i]}),o=a.filter(function(t){return null!=t}),u=new Set(o.map(function(t){return typeof t}));n[i]=0===u.size?"empty":1===u.size?Array.from(u)[0]:"mixed",r[i]=a.length-o.length,e[i]=new Set(o).size}),{n_rows:t.n_rows,n_cols:t.n_cols,columns:t.columns,types:n,null_counts:r,unique_counts:e}},df_head:function(t,n){return void 0===n&&(n=5),pe(t.columns,t.data.slice(0,n))},df_tail:function(t,n){return void 0===n&&(n=5),pe(t.columns,t.data.slice(-n))},df_concat:function(){var t=[].slice.call(arguments);if(!t.length)return de();var n=me(t.flatMap(function(t){return t.columns})),r=t.flatMap(function(t){return t.data.map(function(t){var r={};return n.forEach(function(n){var e;return r[n]=null!=(e=t[n])?e:null}),r})});return pe(n,r)},df_merge:function(t,e,i){var a=i.on,o=i.how,u=void 0===o?"inner":o;Array.isArray(a)||(a=[a]);for(var c,l=me([].concat(t.columns,e.columns)),s=[],f=function(){var t=c.value,i=e.data.filter(function(n){return a.every(function(r){return t[r]===n[r]})});if(i.length>0)for(var o,l=n(i);!(o=l()).done;)s.push(r({},t,o.value));else if("left"===u||"outer"===u){var f=r({},t);e.columns.forEach(function(t){a.includes(t)||(f[t]=null)}),s.push(f)}},h=n(t.data);!(c=h()).done;)f();if("right"===u||"outer"===u)for(var p,d=function(){var n=p.value;if(!t.data.some(function(t){return a.every(function(r){return t[r]===n[r]})})){var e=r({},n);t.columns.forEach(function(t){a.includes(t)||(e[t]=null)}),s.push(e)}},m=n(e.data);!(p=m()).done;)d();return pe(l,s)},df_dropna:function(t,n){void 0===n&&(n=null);var r=n||t.columns,e=t.data.filter(function(t){return r.every(function(n){return null!=t[n]})});return pe(t.columns,e)},df_fillna:function(t,n,e){void 0===e&&(e=null);var i=e||t.columns,a=t.data.map(function(t){var e=r({},t);return i.forEach(function(t){null==e[t]&&(e[t]=n)}),e});return pe(t.columns,a)},df_groupby:function(t,n){Array.isArray(n)||(n=[n]);var r=new Map;return t.data.forEach(function(t){var e=n.map(function(n){return t[n]}).join("|");r.has(e)||r.set(e,[]),r.get(e).push(t)}),{keys:n,groups:r}},df_aggregate:function(t,n){var r=[];t.groups.forEach(function(e,i){var a=i.split("|"),o={};t.keys.forEach(function(t,n){return o[t]=a[n]}),Object.entries(n).forEach(function(t){var n=t[0],r=t[1],i=e.map(function(t){return t[n]}).filter(function(t){return null!=t});o[n]=r(i)}),r.push(o)});var e=me([].concat(t.keys,Object.keys(n)));return pe(e,r)},df_apply:function(t,n,e){if(!t.columns.includes(n))throw new Error("Column '"+n+"' not found");var i=t.data.map(function(t){var i;return r({},t,((i={})[n]=e(t[n],t),i))});return pe(t.columns,i)},df_to_csv:function(t,n){void 0===n&&(n=",");var r=t.columns.join(n),e=t.data.map(function(r){return t.columns.map(function(t){var n=r[t];return Array.isArray(n)||"object"==typeof n&&null!==n?JSON.stringify(n):null!=n?n:""}).join(n)});return[r].concat(e).join("\n")},df_sample:function(t,n,r){void 0===n&&(n=5),void 0===r&&(r=null);var e=[].concat(t.data);if(null!==r){var i=r;e.sort(function(){return Math.sin(i++)>0?1:-1})}else e.sort(function(){return Math.random()-.5});return pe(t.columns,e.slice(0,n))},df_unique:function(t,n){if(!t.columns.includes(n))throw new Error("Column '"+n+"' not found");return me(t.data.map(function(t){return t[n]}))},df_rename:function(t,n){var r=t.columns.map(function(t){return n[t]||t}),e=t.data.map(function(r){var e={};return t.columns.forEach(function(t){e[n[t]||t]=r[t]}),e});return pe(r,e)},df_add_column:function(t,n,e){if(t.columns.includes(n))throw new Error("Column '"+n+"' already exists");var i=t.data.map(function(t){var i;return r({},t,((i={})[n]=e(t),i))});return pe([].concat(t.columns,[n]),i)},df_drop:function(t,n){Array.isArray(n)||(n=[n]);var r=t.columns.filter(function(t){return!n.includes(t)}),e=t.data.map(function(t){var n={};return r.forEach(function(r){return n[r]=t[r]}),n});return pe(r,e)},df_describe:ki,df_missing_report:Le,df_corr:Fe,df_explode:function(t,n){if(!t.columns.includes(n))throw new Error("Column '"+n+"' not found");var e=[];return t.data.forEach(function(t){var i=t[n];Array.isArray(i)&&i.length>0?i.forEach(function(i){var a;e.push(r({},t,((a={})[n]=i,a)))}):e.push(t)}),pe(t.columns,e)},eda_overview:function(t){var n,r,e,i=Ze(ki(t)),a=Ze(Le(t)),o=Ze(Fe(t,"pearson"));return{type:"eda",summary:null!=(n=i.columns)?n:i,missing:null!=(r=a.rows)?r:a,correlation:null!=(e=o.matrix)?e:o}},mean:function(t){return Re("statistic",{name:"mean",n:ye(t).length,value:we(t)})},stddeviation:function(t,n){return void 0===n&&(n=!0),Re("statistic",{name:"std_deviation",sample:n,n:ye(t).length,value:Me(t,n)})},variance:function(t,n){return void 0===n&&(n=!0),Re("statistic",{name:"variance",sample:n,n:ye(t).length,value:xe(t,n)})},median:function(t){return Re("statistic",{name:"median",n:ye(t).length,value:Ne(t)})},quantile:function(t,n){return Re("statistic",{name:"quantile",q:n,n:ye(t).length,value:$e(t,n)})},minv:function(t){return Re("statistic",{name:"min",value:Ae(t)})},maxv:function(t){return Re("statistic",{name:"max",value:ke(t)})},skewness:function(t){return Re("statistic",{name:"skewness",value:Ee(t)})},kurtosis:function(t){return Re("statistic",{name:"kurtosis",value:qe(t)})},corr_pearson:function(t,n){return Re("statistic",{name:"pearson_correlation",value:Se(t,n)})},corr_spearman:function(t,n){return Re("statistic",{name:"spearman_correlation",value:Oe(t,n)})},normal_pdf:function(t,n,r){return void 0===n&&(n=0),void 0===r&&(r=1),Re("distribution",{name:"normal_pdf",params:{mu:n,sigma:r},value:Array.isArray(t)?t.map(function(t){return ze((t-n)/r)/r}):ze((t-n)/r)/r})},normal_cdf:He,normal_ppf:Ve,binomial_pmf:function(t,n,r){var e=function(t){return function(t,n){if(n<0||n>t)return 0;n=Math.min(n,t-n);for(var r=1,e=1,i=1;i<=n;i++)r*=t-(n-i),e*=i;return r/e}(n,t)*Math.pow(r,t)*Math.pow(1-r,n-t)},i=Array.isArray(t)?t.map(e):e(t);return Re("distribution",{name:"binomial_pmf",params:{n:n,p:r},value:i})},binomial_cdf:function(t,n,r){var e=function(t){for(var e=0,i=0;i<=t;i++)e+=function(t,n){if(n<0||n>t)return 0;n=Math.min(n,t-n);for(var r=1,e=1,i=1;i<=n;i++)r*=t-(n-i),e*=i;return r/e}(n,i)*Math.pow(r,i)*Math.pow(1-r,n-i);return e},i=Array.isArray(t)?t.map(e):e(t);return Re("distribution",{name:"binomial_cdf",params:{n:n,p:r},value:i})},poisson_pmf:function(t,n){var r=function(t){return Math.exp(-n)*Math.pow(n,t)/function(t){for(var n=1,r=2;r<=t;r++)n*=r;return n}(t)};return Re("distribution",{name:"poisson_pmf",params:{lambda:n},value:Array.isArray(t)?t.map(r):r(t)})},poisson_cdf:function(t,n){var r=function(t){for(var r=0,e=0;e<=t;e++)r+=Math.exp(-n)*Math.pow(n,e)/function(t){for(var n=1,r=2;r<=t;r++)n*=r;return n}(e);return r};return Re("distribution",{name:"poisson_cdf",params:{lambda:n},value:Array.isArray(t)?t.map(r):r(t)})},t_test_independent:function(t,n,r){void 0===r&&(r=!0);var e=ye(t),i=ye(n),a=e.length,o=i.length;if(a<2||o<2)return Ie("t_test_independent","insufficient data");var u,c,l=we(e),s=we(i),f=xe(e,!0),h=xe(i,!0);r?(c=Math.sqrt(((a-1)*f+(o-1)*h)/(a+o-2)*(1/a+1/o)),u=a+o-2):(c=Math.sqrt(f/a+h/o),u=Math.pow(f/a+h/o,2)/(Math.pow(f,2)/(Math.pow(a,2)*(a-1))+Math.pow(h,2)/(Math.pow(o,2)*(o-1))));var p=(l-s)/c;return{type:"hypothesis_test",name:"independent_t_test",statistic:p,df:u,p_value:2*(1-De(Math.abs(p),u)),means:{group_a:l,group_b:s}}},z_test_one_sample:function(t,n,r,e){void 0===n&&(n=0),void 0===r&&(r=null),void 0===e&&(e=.05);var i=ye(t),a=i.length;if(a<2)return Ie("z_test_one_sample","insufficient data");var o=we(i),u=null!=r?r:Me(i,!0),c=u/Math.sqrt(a),l=(o-n)/c,s=2*(1-He(Math.abs(l))),f=Ve(1-e/2)*c;return{type:"hypothesis_test",name:"one_sample_z_test",statistic:l,p_value:s,ci_lower:o-f,ci_upper:o+f,confidence:1-e,extra:{sample_mean:o,hypothesized_mean:n,se:c,sigma_used:u,n:a,effect_size:(o-n)/u}}},chi_square_independence:function(t,n){void 0===n&&(n=.05);var r=t.length,e=t[0].length,i=t.map(function(t){return t.reduce(function(t,n){return t+n},0)}),a=Array(e).fill(0);t.forEach(function(t){return t.forEach(function(t,n){return a[n]+=t})});for(var o=i.reduce(function(t,n){return t+n},0),u=0,c=Array.from({length:r},function(t,n){return Array.from({length:e},function(t,r){return i[n]*a[r]/o})}),l=0;l<r;l++)for(var s=0;s<e;s++)u+=Math.pow(t[l][s]-c[l][s],2)/c[l][s];var f=(r-1)*(e-1);return{type:"hypothesis_test",name:"chi_square_independence",statistic:u,df:f,p_value:1-chi_square_cdf(u,f),confidence:1-n,extra:{observed:t,expected:c,dof:f}}},anova_oneway:function(t,n){void 0===n&&(n=.05);var r=t.length,e=t.map(function(t){return ye(t).length}),i=t.map(we),a=we(t.flat()),o=t.reduce(function(t,n,r){return t+e[r]*Math.pow(i[r]-a,2)},0),u=t.reduce(function(t,n,r){return t+ye(n).reduce(function(t,n){return t+Math.pow(n-i[r],2)},0)},0),c=r-1,l=e.reduce(function(t,n){return t+n},0)-r,s=o/c/(u/l);return{type:"hypothesis_test",name:"anova_oneway",statistic:s,df:{between:c,within:l},p_value:1-f_cdf(s,c,l),confidence:1-n,extra:{group_means:i,grand_mean:a,ssb:o,ssw:u}}},train_test_split:function(t,n,r,e){void 0===r&&(r=.2),void 0===e&&(e=42);var i=t.length,a=Array.from({length:i},function(t,n){return n}),o=e;a.sort(function(){return(o=(9301*o+49297)%233280)/233280-.5});var u=Math.max(1,Math.floor(i*r)),c=a.slice(0,u),l=a.slice(u),s=l.map(function(n){return t[n]}),f=l.map(function(t){return n[t]});c.map(function(n){return t[n]});var h=c.map(function(t){return n[t]});return{type:"split",sizes:{train:f.length,test:h.length},indices:{train:l,test:c},preview:{x_train:s.slice(0,2),y_train:f.slice(0,5)}}},train_linear_regression:Xe,train_logistic_regression:Je,predict_linear:Ge,predict_logistic:Qe,metrics_classification:We,metrics_regression:Ye,t_test_paired:function(t,n){var r=ye(t),e=ye(n),i=Math.min(r.length,e.length);if(i<2)return Ie("t_test_paired","insufficient data");var a=Array.from({length:i},function(t,n){return r[n]-e[n]}),o=we(a),u=o/(Me(a,!0)/Math.sqrt(i)),c=i-1;return{type:"hypothesis_test",name:"paired_t_test",statistic:u,df:c,p_value:2*(1-De(Math.abs(u),c)),mean_difference:o}},t_test_one_sample:function(t,n){var r=ye(t),e=r.length;if(e<2)return Ie("t_test_one_sample","insufficient data");var i=we(r),a=(i-n)/(Me(r,!0)/Math.sqrt(e)),o=e-1;return{type:"hypothesis_test",name:"one_sample_t_test",statistic:a,df:o,p_value:2*(1-De(Math.abs(a),o)),mean:i,hypothesized_mean:n}},shapiro_wilk:function(t){var n=ye(t).sort(function(t,n){return t-n}),r=n.length;if(r<3||r>5e3)return Ie("shapiro_wilk","sample size must be between 3 and 5000");for(var e=we(n),i=n.reduce(function(t,n){return t+Math.pow(n-e,2)},0),a=0,o=Math.floor(r/2),u=0;u<o;u++)a+=(0===u?-2.706056/Math.sqrt(r):u===o-1&&r%2==0?2.706056/Math.sqrt(r):0)*(n[r-1-u]-n[u]);return{type:"hypothesis_test",name:"shapiro_wilk",statistic:a*a/i,n:r,note:"approximation; w > 0.9 suggests normality"}},jarque_bera:function(t){var n=ye(t),r=n.length;if(r<4)return Ie("jarque_bera","insufficient data");var e=Ee(n),i=qe(n);return{type:"hypothesis_test",name:"jarque_bera",statistic:r/6*(e*e+i*i/4),n:r,df:2,note:"tests normality; low p-value rejects normality"}},levene_test:function(t){var n=t.length,r=t.map(Ne),e=t.map(function(t,n){return ye(t).map(function(t){return Math.abs(t-r[n])})}),i=ge(e),a=Ne(i),o=e.map(function(t){return t.length}),u=n-1,c=o.reduce(function(t,n){return t+n},0)-n;return{type:"hypothesis_test",name:"levene_test",statistic:e.reduce(function(t,n,r){return t+o[r]*Math.pow(we(n)-a,2)},0)/u/(e.reduce(function(t,n){return t+n.reduce(function(t,r){return t+Math.pow(r-we(n),2)},0)},0)/c),df_between:u,df_within:c,note:"tests homogeneity of variance"}},kruskal_wallis:function(t){var n=ge(t),r=n.length,e=je(n),i=0;return{type:"hypothesis_test",name:"kruskal_wallis",statistic:12/(r*(r+1))*t.map(function(t){var n=ye(t).length,r=e.slice(i,i+n).reduce(function(t,n){return t+n},0);return i+=n,{n:n,rsum:r}}).reduce(function(t,n){var r=n.rsum;return t+r*r/n.n},0)-3*(r+1),df:t.length-1,note:"non-parametric alternative to anova"}},mann_whitney:function(t,n){var r=ye(t),e=ye(n),i=r.length,a=e.length;if(i<1||a<1)return Ie("mann_whitney","insufficient data");var o=r.concat(e),u=je(o).slice(0,i).reduce(function(t,n){return t+n},0)-i*(i+1)/2,c=Math.min(u,i*a-u),l=(c-i*a/2)/Math.sqrt(i*a*(i+a+1)/12);return{type:"hypothesis_test",name:"mann_whitney_u",statistic:c,z_score:l,p_value:2*(1-Ce(Math.abs(l))),note:"non-parametric alternative to t-test"}},wilcoxon_signed_rank:function(t,n){var r=ye(t),e=ye(n),i=Math.min(r.length,e.length);if(i<2)return Ie("wilcoxon_signed_rank","insufficient data");var a=Array.from({length:i},function(t,n){return r[n]-e[n]}).filter(function(t){return 0!==t}),o=a.map(Math.abs),u=je(o).reduce(function(t,n,r){return t+(a[r]>0?n:0)},0),c=a.length,l=(u-c*(c+1)/4)/Math.sqrt(c*(c+1)*(2*c+1)/24);return{type:"hypothesis_test",name:"wilcoxon_signed_rank",statistic:u,z_score:l,p_value:2*(1-Ce(Math.abs(l))),n:c}},chi_square_goodness:function(t,n,r){void 0===r&&(r=.05);for(var e=ye(t),i=ye(n),a=Math.min(e.length,i.length),o=0,u=0;u<a;u++)o+=Math.pow(e[u]-i[u],2)/i[u];var c=a-1;return{type:"hypothesis_test",name:"chi_square_goodness_of_fit",statistic:o,df:c,p_value:1-chi_square_cdf(o,c),confidence:1-r,extra:{observed:e,expected:i,dof:c}}},confidence_interval_mean:function(t,n){void 0===n&&(n=.95);var r=ye(t),e=r.length;if(e<2)return Ie("confidence_interval_mean","insufficient data");var i=we(r),a=Me(r,!0),o=Pe(1-(1-n)/2)*(e>30?1:1.15)*a/Math.sqrt(e);return{type:"confidence_interval",parameter:"mean",confidence:n,n:e,mean:i,lower:i-o,upper:i+o,margin:o}},confidence_interval_proportion:function(t,n,r){if(void 0===r&&(r=.95),n<1)return Ie("confidence_interval_proportion","invalid sample size");var e=t/n,i=Pe(1-(1-r)/2)*Math.sqrt(e*(1-e)/n);return{type:"confidence_interval",parameter:"proportion",confidence:r,n:n,proportion:e,lower:Math.max(0,e-i),upper:Math.min(1,e+i),margin:i}},confidence_interval_variance:function(t,n){void 0===n&&(n=.95);var r=ye(t),e=r.length;if(e<2)return Ie("confidence_interval_variance","insufficient data");var i=xe(r,!0),a=e-1,o=1-n,u=a/(1+Pe(1-o/2)*Math.sqrt(2/a));return{type:"confidence_interval",parameter:"variance",confidence:n,n:e,variance:i,lower:a*i/(a/(1-Pe(1-o/2)*Math.sqrt(2/a))),upper:a*i/u}},confidence_interval_difference:function(t,n,r){void 0===r&&(r=.95);var e=ye(t),i=ye(n),a=e.length,o=i.length;if(a<2||o<2)return Ie("confidence_interval_difference","insufficient data");var u=we(e),c=we(i),l=xe(e,!0),s=xe(i,!0),f=u-c,h=Math.sqrt(l/a+s/o),p=Pe(1-(1-r)/2)*h;return{type:"confidence_interval",parameter:"difference_of_means",confidence:r,difference:f,lower:f-p,upper:f+p,margin:p,means:{group_a:u,group_b:c}}},corr_kendall:Ke,corr_partial:function(t,n,r){var e=Se(t,n),i=Se(t,r),a=Se(n,r),o=(e-i*a)/Math.sqrt((1-i*i)*(1-a*a));return Re("statistic",{name:"partial_correlation",value:o,controlling_for:"third_variable"})},corr_matrix_all:function(t,n){var r=Ze(Fe(t,"pearson")).matrix,e=Ze(Fe(t,"spearman")).matrix,i=Object.keys(r),a={};return i.forEach(function(n){a[n]={},i.forEach(function(r){var e,i=t.map(function(t){return _e(t[n])}),o=t.map(function(t){return _e(t[r])}),u=null!=(e=Ze(Ke(i,o)).value)?e:NaN;a[n][r]=u})}),{type:"correlation_analysis",pearson:r,spearman:e,kendall:a}},train_knn_classifier:ni,predict_knn_classifier:ri,train_knn_regressor:ei,predict_knn_regressor:ii,train_decision_tree_classifier:ci,train_decision_tree_regressor:li,predict_decision_tree:fi,train_random_forest_classifier:pi,train_random_forest_regressor:di,predict_random_forest_classifier:mi,predict_random_forest_regressor:gi,train_naive_bayes:function(t,n){var r,e,i=me(n),a=n.length,o=null!=(r=null==(e=t[0])?void 0:e.length)?r:0,u={},c={};return i.forEach(function(r){var e=n.map(function(t,n){return t===r?n:-1}).filter(function(t){return t>=0});u[r]=e.length/a,c[r]=Array.from({length:o},function(n,r){var i=e.map(function(n){return t[n][r]});return{mean:we(i),std:Me(i,!0)}})}),{type:"naive_bayes",classes:i,priors:u,stats:c,n:a,p:o}},predict_naive_bayes:vi,standard_scaler_fit:_i,standard_scaler_transform:yi,minmax_scaler_fit:function(t){var n,r,e=null!=(n=null==(r=t[0])?void 0:r.length)?n:0;return{type:"minmax_scaler",params:Array.from({length:e},function(n,r){var e=t.map(function(t){return t[r]});return{min:Ae(e),max:ke(e)}}),n:t.length,p:e}},minmax_scaler_transform:function(t,n){try{var r=Ze(t);return{type:"scaled_data",method:"minmax",preview:n.map(function(t){return t.map(function(t,n){var e=r.params[n].max-r.params[n].min;return 0===e?0:(t-r.params[n].min)/e})}).slice(0,5)}}catch(t){return Ie("minmax_scaler_transform","invalid scaler text")}},train_pca:function(t,n){var r,e;void 0===n&&(n=2);var i=t.length,a=null!=(r=null==(e=t[0])?void 0:e.length)?r:0;if(n>a)return Ie("train_pca","n_components cannot exceed number of features");for(var o=Array.from({length:a},function(n,r){return we(t.map(function(t){return t[r]}))}),u=t.map(function(t){return t.map(function(t,n){return t-o[n]})}),c=Array.from({length:a},function(t,n){return Array.from({length:a},function(t,r){for(var e=0,a=0;a<i;a++)e+=u[a][n]*u[a][r];return e/(i-1)})}),l=[],s=function(){for(var t=Array.from({length:a},function(){return Math.random()}),n=function(){var n=Array.from({length:a},function(n,r){return c[r].reduce(function(n,r,e){return n+r*t[e]},0)}),r=Math.sqrt(n.reduce(function(t,n){return t+n*n},0));t=n.map(function(t){return t/r})},r=0;r<100;r++)n();l.push(t);for(var e=0;e<a;e++)for(var i=0;i<a;i++)c[e][i]-=t[e]*t[i]*c[e].reduce(function(n,r,e){return n+r*t[e]},0)},f=0;f<n;f++)s();return{type:"pca",n_components:n,means:o,components:l,n:i,p:a}},transform_pca:function(t,n){try{var r=Ze(t),e=n.map(function(t){return t.map(function(t,n){return t-r.means[n]})}).map(function(t){return r.components.map(function(n){return t.reduce(function(t,r,e){return t+r*n[e]},0)})});return{type:"pca_transform",n_components:r.n_components,preview:e.slice(0,5)}}catch(t){return Ie("transform_pca","invalid model text")}},train_kmeans:function(t,n,r){var e,i,a,o;void 0===n&&(n=3),void 0===r&&(r={});for(var u=null!=(e=r.max_iterations)?e:100,c=null!=(i=r.seed)?i:42,l=t.length,s=null!=(a=null==(o=t[0])?void 0:o.length)?a:0,f=Array.from({length:n},function(){return Math.floor((c=(9301*c+49297)%233280)/233280*l)}).map(function(n){return[].concat(t[n])}),h=Array(l).fill(0),p=function(){var r=t.map(function(t){var n=f.map(function(n){return ti(t,n)});return n.indexOf(Math.min.apply(Math,n))});if(h.every(function(t,n){return t===r[n]}))return 1;h=r,f=Array.from({length:n},function(n,r){var e=t.filter(function(t,n){return h[n]===r});return 0===e.length?f[r]:Array.from({length:s},function(t,n){return we(e.map(function(t){return t[n]}))})})},d=0;d<u&&!p();d++);var m=t.reduce(function(t,n,r){return t+Math.pow(ti(n,f[h[r]]),2)},0);return{type:"kmeans",k:n,centroids:f,inertia:m,n:l,p:s}},predict_kmeans:function(t,n){try{var r=Ze(t),e=n.map(function(t){var n=r.centroids.map(function(n){return ti(t,n)});return n.indexOf(Math.min.apply(Math,n))});return{type:"prediction",name:"kmeans",k:r.k,cluster_labels:e}}catch(t){return Ie("predict_kmeans","invalid model text")}},ensemble_voting_classifier:function(t,n,r){void 0===r&&(r="hard");try{var e=t.map(function(t){return Ze(t)});if("hard"===r){var i=e.map(function(t){return"logistic_regression"===t.type?Ze(Qe(t,n)).classes:"knn_classifier"===t.type?Ze(ri(t,n)).predictions:"decision_tree_classifier"===t.type?Ze(fi(t,n)).predictions:"random_forest_classifier"===t.type?Ze(mi(t,n)).predictions:"naive_bayes"===t.type?Ze(vi(t,n)).predictions:[]}),a=n.map(function(t,n){var r={};return i.forEach(function(t){var e=t[n];r[e]=(r[e]||0)+1}),Number(Object.entries(r).sort(function(t,n){return n[1]-t[1]})[0][0])});return{type:"ensemble_prediction",method:"voting_hard",n_models:e.length,predictions:a}}return Ie("ensemble_voting_classifier","soft voting not yet implemented")}catch(t){return Ie("ensemble_voting_classifier","invalid models")}},ensemble_voting_regressor:function(t,n){try{var r=t.map(function(t){return Ze(t)}),e=r.map(function(t){return"linear_regression"===t.type?Ze(Ge(t,n)).predictions:"knn_regressor"===t.type?Ze(ii(t,n)).predictions:"decision_tree_regressor"===t.type?Ze(fi(t,n)).predictions:"random_forest_regressor"===t.type?Ze(gi(t,n)).predictions:[]}),i=n.map(function(t,n){var r=e.map(function(t){return t[n]});return we(r)});return{type:"ensemble_prediction",method:"voting_average",n_models:r.length,predictions:i}}catch(t){return Ie("ensemble_voting_regressor","invalid models")}},cross_validate:function(t,n,r,e){var i,a,o,u;void 0===e&&(e={});var c=null!=(i=e.k_folds)?i:5,l=null!=(a=e.normalize)&&a,s=null==(o=e.shuffle)||o,f=null!=(u=e.seed)?u:42,h=t.length,p=Array.from({length:h},function(t,n){return n});if(s){var d=f;p.sort(function(){return(d=(9301*d+49297)%233280)/233280-.5})}for(var m=Math.floor(h/c),g=[],v=0;v<c;v++){var _=v*m,y=v===c-1?h:(v+1)*m,b=[].concat(p.slice(0,_),p.slice(y)),w=p.slice(_,y),x=b.map(function(n){return t[n]}),M=b.map(function(t){return n[t]}),A=w.map(function(n){return t[n]}),k=w.map(function(t){return n[t]});if(l){var N=_i(x),$=yi(N,x),E=yi(N,A);x=Ze($).data||$.data,A=Ze(E).data||E.data}var q=void 0;if("linear_regression"===r){q=Xe(x,M);var S=Ze(Ge(q,A)),j=Ze(Ye(k,S.predictions));g.push(j.r2)}else if("logistic_regression"===r){q=Je(x,M,e);var O=Ze(Qe(q,A)),z=Ze(We(k,O.classes));g.push(z.accuracy)}else if("knn_classifier"===r){var C;q=ni(x,M,null!=(C=e.k)?C:5);var T=Ze(ri(q,A)),P=Ze(We(k,T.predictions));g.push(P.accuracy)}else if("decision_tree_classifier"===r){q=ci(x,M,e);var R=Ze(fi(q,A)),I=Ze(We(k,R.predictions));g.push(I.accuracy)}else if("random_forest_classifier"===r){q=pi(x,M,e);var L=Ze(mi(q,A)),F=Ze(We(k,L.predictions));g.push(F.accuracy)}else if("knn_regressor"===r){var H;q=ei(x,M,null!=(H=e.k)?H:5);var V=Ze(ii(q,A)),D=Ze(Ye(k,V.predictions));g.push(D.r2)}else if("decision_tree_regressor"===r){q=li(x,M,e);var B=Ze(fi(q,A)),X=Ze(Ye(k,B.predictions));g.push(X.r2)}else if("random_forest_regressor"===r){q=di(x,M,e);var U=Ze(gi(q,A)),J=Ze(Ye(k,U.predictions));g.push(J.r2)}}return{type:"cross_validation",model_type:r,k_folds:c,scores:g,mean_score:we(g),std_score:Me(g,!0),min_score:Ae(g),max_score:ke(g),normalized:l,shuffled:s}},feature_importance_tree:function(t){try{var n=Ze(t);if("decision_tree_classifier"===n.type||"decision_tree_regressor"===n.type){var r=bi(n.tree,n.p);return{type:"feature_importance",model:n.type,importance:r}}if("random_forest_classifier"===n.type||"random_forest_regressor"===n.type){var e=n.trees.map(function(t){return bi(t,n.p)}),i=Array.from({length:n.p},function(t,n){return we(e.map(function(t){return t[n]}))});return{type:"feature_importance",model:n.type,n_trees:n.n_trees,importance:i}}return Ie("feature_importance_tree","model must be tree-based")}catch(t){return Ie("feature_importance_tree","invalid model text")}},outliers_iqr:function(t){var n=ye(t),r=$e(n,.25),e=$e(n,.75),i=e-r,a=r-1.5*i,o=e+1.5*i,u=n.filter(function(t){return t<a||t>o}),c=t.map(function(t,n){return ve(t)&&(t<a||t>o)?n:-1}).filter(function(t){return t>=0});return{type:"outlier_detection",method:"iqr",lower_bound:a,upper_bound:o,n_outliers:u.length,outlier_indices:c,outlier_values:u}},outliers_zscore:function(t,n){void 0===n&&(n=3);var r=ye(t),e=we(r),i=Me(r,!0),a=r.map(function(t){return Math.abs((t-e)/i)}),o=r.filter(function(t,r){return a[r]>n}),u=t.map(function(t,r){return ve(t)&&Math.abs((t-e)/i)>n?r:-1}).filter(function(t){return t>=0});return{type:"outlier_detection",method:"zscore",threshold:n,n_outliers:o.length,outlier_indices:u,outlier_values:o}},moving_average:function(t,n){void 0===n&&(n=3);for(var r=ye(t),e=[],i=0;i<r.length;i++){var a=Math.max(0,i-n+1),o=r.slice(a,i+1);e.push(we(o))}return{type:"time_series",method:"moving_average",window:n,values:e}},exponential_smoothing:function(t,n){void 0===n&&(n=.3);var r=ye(t);if(0===r.length)return Ie("exponential_smoothing","empty data");for(var e=[r[0]],i=1;i<r.length;i++)e.push(n*r[i]+(1-n)*e[i-1]);return{type:"time_series",method:"exponential_smoothing",alpha:n,values:e}},autocorrelation:function(t,n){void 0===n&&(n=1);var r=ye(t),e=r.length;if(e<n+1)return Ie("autocorrelation","insufficient data for lag");for(var i=we(r),a=0,o=0,u=0;u<e;u++)o+=Math.pow(r[u]-i,2),u>=n&&(a+=(r[u]-i)*(r[u-n]-i));return Re("statistic",{name:"autocorrelation",lag:n,value:a/o})},plotHistogram:function(t,n,r){void 0===n&&(n={});var e=se(r,n),i=e.svg,a=e.config,o=a.width-40-20,u=a.height-20-40,c=lr().domain(vt(t)).nice().range([0,o]),l=Ot().domain(c.domain()).thresholds(n.bins||10)(t),s=lr().domain([0,zt(l,function(t){return t.length})]).nice().range([u,0]),f=i.append("g").attr("transform","translate(40,20)");f.selectAll("rect").data(l).enter().append("rect").attr("x",function(t){return c(t.x0)}).attr("y",function(t){return s(t.length)}).attr("width",function(t){return c(t.x1)-c(t.x0)-1}).attr("height",function(t){return u-s(t.length)}).attr("fill",a.color),f.append("g").attr("transform","translate(0,"+u+")").call(yr(c)),f.append("g").call(br(s))},plotBoxplot:function(t,n,r){void 0===n&&(n={});var e=Array.isArray(t[0])?t:[t],i=se(r,n),a=i.svg,o=i.config,u=o.width-40-20,c=o.height-20-40,l=Dt().domain(e.map(function(t,r){return n.labels?n.labels[r]:"Group "+(r+1)})).range([0,u]).padding(.5),s=e.flat(),f=lr().domain(vt(s)).nice().range([c,0]),h=a.append("g").attr("transform","translate(40,20)");e.forEach(function(t,r){var e=[].concat(t).sort(function(t,n){return t-n}),i=Rt(e,.25),a=Rt(e,.5),u=Rt(e,.75),c=Ct(e),s=zt(e),p=l(n.labels?n.labels[r]:"Group "+(r+1))+l.bandwidth()/2,d=l.bandwidth()/2;h.append("line").attr("x1",p).attr("x2",p).attr("y1",f(c)).attr("y2",f(s)).attr("stroke",o.color),h.append("rect").attr("x",p-d/2).attr("y",f(u)).attr("width",d).attr("height",f(i)-f(u)).attr("stroke",o.color).attr("fill","none"),h.append("line").attr("x1",p-d/2).attr("x2",p+d/2).attr("y1",f(a)).attr("y2",f(a)).attr("stroke",o.color)}),h.append("g").attr("transform","translate(0,"+c+")").call(yr(l)),h.append("g").call(br(f))},plotScatter:fe,plotLine:function(t,n,r,e){void 0===r&&(r={});var i=se(e,r),a=i.svg,o=i.config,u=o.width-40-20,c=o.height-20-40,l=lr().domain(vt(t)).range([0,u]),s=lr().domain(vt(n)).range([c,0]),f=a.append("g").attr("transform","translate(40,20)"),h=re().x(function(n,r){return l(t[r])}).y(function(t,r){return s(n[r])}).curve(ue);f.append("path").datum(t).attr("fill","none").attr("stroke",o.color).attr("stroke-width",r.lineWidth||2).attr("d",h),r.showPoints&&f.selectAll("circle").data(t).enter().append("circle").attr("cx",function(n,r){return l(t[r])}).attr("cy",function(t,r){return s(n[r])}).attr("r",3).attr("fill",o.color),f.append("g").attr("transform","translate(0,"+c+")").call(yr(l)),f.append("g").call(br(s))},plotBar:function(t,n,r,e){void 0===r&&(r={});var i=se(e,r),a=i.svg,o=i.config,u=o.width-40-20,c=o.height-20-40,l=Dt().domain(t).range([0,u]).padding(.2),s=lr().domain([0,zt(n)]).nice().range([c,0]),f=a.append("g").attr("transform","translate(40,20)");f.selectAll("rect").data(n).enter().append("rect").attr("x",function(n,r){return l(t[r])}).attr("y",function(t){return s(t)}).attr("width",l.bandwidth()).attr("height",function(t){return c-s(t)}).attr("fill",o.color),f.append("g").attr("transform","translate(0,"+c+")").call(yr(l)),f.append("g").call(br(s))},plotPie:function(t,n,r,e){void 0===r&&(r={});var i=se(e,r),a=i.svg,o=i.config,u=Math.min(o.width,o.height)/2,c=a.append("g").attr("transform","translate("+o.width/2+","+o.height/2+")"),l=Vt(Mr),s=function(){var t=ie,n=ee,r=null,e=kr(0),i=kr(Pr),a=kr(0);function o(o){var u,c,l,s,f,h=(o=Wr(o)).length,p=0,d=new Array(h),m=new Array(h),g=+e.apply(this,arguments),v=Math.min(Pr,Math.max(-Pr,i.apply(this,arguments)-g)),_=Math.min(Math.abs(v)/h,a.apply(this,arguments)),y=_*(v<0?-1:1);for(u=0;u<h;++u)(f=m[d[u]=u]=+t(o[u],u,o))>0&&(p+=f);for(null!=n?d.sort(function(t,r){return n(m[t],m[r])}):null!=r&&d.sort(function(t,n){return r(o[t],o[n])}),u=0,l=p?(v-h*y)/p:0;u<h;++u,g=s)m[c=d[u]]={data:o[c],index:u,value:f=m[c],startAngle:g,endAngle:s=g+(f>0?f*l:0)+y,padAngle:_};return m}return o.value=function(n){return arguments.length?(t="function"==typeof n?n:kr(+n),o):t},o.sortValues=function(t){return arguments.length?(n=t,r=null,o):n},o.sort=function(t){return arguments.length?(r=t,n=null,o):r},o.startAngle=function(t){return arguments.length?(e="function"==typeof t?t:kr(+t),o):e},o.endAngle=function(t){return arguments.length?(i="function"==typeof t?t:kr(+t),o):i},o.padAngle=function(t){return arguments.length?(a="function"==typeof t?t:kr(+t),o):a},o}()(n),f=function(){var t=Xr,n=Ur,r=kr(0),e=null,i=Jr,a=Gr,o=Qr,u=null,c=Br(l);function l(){var l,s,f=+t.apply(this,arguments),h=+n.apply(this,arguments),p=i.apply(this,arguments)-Tr,d=a.apply(this,arguments)-Tr,m=Nr(d-p),g=d>p;if(u||(u=l=c()),h<f&&(s=h,h=f,f=s),h>zr)if(m>Pr-zr)u.moveTo(h*Er(p),h*jr(p)),u.arc(0,0,h,p,d,!g),f>zr&&(u.moveTo(f*Er(d),f*jr(d)),u.arc(0,0,f,d,p,g));else{var v,_,y=p,b=d,w=p,x=d,M=m,A=m,k=o.apply(this,arguments)/2,N=k>zr&&(e?+e.apply(this,arguments):Or(f*f+h*h)),$=Sr(Nr(h-f)/2,+r.apply(this,arguments)),E=$,q=$;if(N>zr){var S=Rr(N/f*jr(k)),j=Rr(N/h*jr(k));(M-=2*S)>zr?(w+=S*=g?1:-1,x-=S):(M=0,w=x=(p+d)/2),(A-=2*j)>zr?(y+=j*=g?1:-1,b-=j):(A=0,y=b=(p+d)/2)}var O=h*Er(y),z=h*jr(y),C=f*Er(x),T=f*jr(x);if($>zr){var P,R=h*Er(b),I=h*jr(b),L=f*Er(w),F=f*jr(w);if(m<Cr)if(P=function(t,n,r,e,i,a,o,u){var c=r-t,l=e-n,s=o-i,f=u-a,h=f*c-s*l;if(!(h*h<zr))return[t+(h=(s*(n-a)-f*(t-i))/h)*c,n+h*l]}(O,z,L,F,R,I,C,T)){var H=O-P[0],V=z-P[1],D=R-P[0],B=I-P[1],X=1/jr(function(t){return t>1?0:t<-1?Cr:Math.acos(t)}((H*D+V*B)/(Or(H*H+V*V)*Or(D*D+B*B)))/2),U=Or(P[0]*P[0]+P[1]*P[1]);E=Sr($,(f-U)/(X-1)),q=Sr($,(h-U)/(X+1))}else E=q=0}A>zr?q>zr?(v=Zr(L,F,O,z,h,q,g),_=Zr(R,I,C,T,h,q,g),u.moveTo(v.cx+v.x01,v.cy+v.y01),q<$?u.arc(v.cx,v.cy,q,$r(v.y01,v.x01),$r(_.y01,_.x01),!g):(u.arc(v.cx,v.cy,q,$r(v.y01,v.x01),$r(v.y11,v.x11),!g),u.arc(0,0,h,$r(v.cy+v.y11,v.cx+v.x11),$r(_.cy+_.y11,_.cx+_.x11),!g),u.arc(_.cx,_.cy,q,$r(_.y11,_.x11),$r(_.y01,_.x01),!g))):(u.moveTo(O,z),u.arc(0,0,h,y,b,!g)):u.moveTo(O,z),f>zr&&M>zr?E>zr?(v=Zr(C,T,R,I,f,-E,g),_=Zr(O,z,L,F,f,-E,g),u.lineTo(v.cx+v.x01,v.cy+v.y01),E<$?u.arc(v.cx,v.cy,E,$r(v.y01,v.x01),$r(_.y01,_.x01),!g):(u.arc(v.cx,v.cy,E,$r(v.y01,v.x01),$r(v.y11,v.x11),!g),u.arc(0,0,f,$r(v.cy+v.y11,v.cx+v.x11),$r(_.cy+_.y11,_.cx+_.x11),g),u.arc(_.cx,_.cy,E,$r(_.y11,_.x11),$r(_.y01,_.x01),!g))):u.arc(0,0,f,x,w,g):u.lineTo(C,T)}else u.moveTo(0,0);if(u.closePath(),l)return u=null,l+""||null}return l.centroid=function(){var r=(+t.apply(this,arguments)+ +n.apply(this,arguments))/2,e=(+i.apply(this,arguments)+ +a.apply(this,arguments))/2-Cr/2;return[Er(e)*r,jr(e)*r]},l.innerRadius=function(n){return arguments.length?(t="function"==typeof n?n:kr(+n),l):t},l.outerRadius=function(t){return arguments.length?(n="function"==typeof t?t:kr(+t),l):n},l.cornerRadius=function(t){return arguments.length?(r="function"==typeof t?t:kr(+t),l):r},l.padRadius=function(t){return arguments.length?(e=null==t?null:"function"==typeof t?t:kr(+t),l):e},l.startAngle=function(t){return arguments.length?(i="function"==typeof t?t:kr(+t),l):i},l.endAngle=function(t){return arguments.length?(a="function"==typeof t?t:kr(+t),l):a},l.padAngle=function(t){return arguments.length?(o="function"==typeof t?t:kr(+t),l):o},l.context=function(t){return arguments.length?(u=null==t?null:t,l):u},l}().innerRadius(0).outerRadius(u);c.selectAll("path").data(s).enter().append("path").attr("d",f).attr("fill",function(t,n){return l(n)}),r.showLabels&&c.selectAll("text").data(s).enter().append("text").attr("transform",function(t){return"translate("+f.centroid(t)+")"}).attr("text-anchor","middle").text(function(n,r){return t[r]})},plotHeatmap:function(t,n,r){void 0===n&&(n={});var e=se(r,n),i=e.svg,a=e.config,o=n.labels||t.map(function(t,n){return"Var"+(n+1)}),u=a.width-60-20,c=a.height-40-40,l=Dt().domain(o).range([0,u]).padding(.05),s=Dt().domain(o).range([0,c]).padding(.05),f=sr(Ar).domain([1,-1]),h=i.append("g").attr("transform","translate(60,40)"),p=[];t.forEach(function(t,n){t.forEach(function(t,r){return p.push({x:o[r],y:o[n],value:t})})}),h.selectAll("rect").data(p).enter().append("rect").attr("x",function(t){return l(t.x)}).attr("y",function(t){return s(t.y)}).attr("width",l.bandwidth()).attr("height",s.bandwidth()).attr("fill",function(t){return f(t.value)}),n.showValues&&h.selectAll("text").data(p).enter().append("text").attr("x",function(t){return l(t.x)+l.bandwidth()/2}).attr("y",function(t){return s(t.y)+s.bandwidth()/2}).attr("text-anchor","middle").style("font-size","10px").text(function(t){return t.value.toFixed(2)}),h.append("g").attr("transform","translate(0,"+c+")").call(yr(l)),h.append("g").call(br(s))},plotViolin:function(t,n,r){void 0===n&&(n={});var e=se(r,n),i=e.svg,a=e.config,o=Array.isArray(t[0])?t:[t],u=a.width-40-20,c=a.height-20-40,l=Dt().domain(o.map(function(t,r){return n.labels?n.labels[r]:"Group "+(r+1)})).range([0,u]).padding(.5),s=o.flat(),f=lr().domain(vt(s)).nice().range([c,0]),h=i.append("g").attr("transform","translate(40,20)");o.forEach(function(t,r){var e=Ot().domain(f.domain()).thresholds(20)(t),i=zt(e,function(t){return t.length}),o=l(n.labels?n.labels[r]:"Group "+(r+1)),u=lr().domain([0,i]).range([0,l.bandwidth()/2]),c=re().x(function(t){return u(t.length)}).y(function(t){return f((t.x0+t.x1)/2)}),s=re().x(function(t){return-u(t.length)}).y(function(t){return f((t.x0+t.x1)/2)}),p=h.append("g").attr("transform","translate("+(o+l.bandwidth()/2)+",0)");p.append("path").datum(e).attr("fill",n.color||a.color).attr("fill-opacity",.3).attr("stroke",a.color).attr("d",c),p.append("path").datum(e).attr("fill",n.color||a.color).attr("fill-opacity",.3).attr("stroke",a.color).attr("d",s)}),h.append("g").attr("transform","translate(0,"+c+")").call(yr(l)),h.append("g").call(br(f))},plotDensity:function(t,n,r){void 0===n&&(n={});var e,i,a,o=se(r,n),u=o.svg,c=o.config,l=c.width-40-20,s=c.height-20-40,f=lr().domain(vt(t)).nice().range([0,l]),h=(a=n.bandwidth||5,e=function(t){return t/=a,Math.abs(t)<=1?.75*(1-t*t)/a:0},i=f.ticks(50),function(t){return i.map(function(n){return[n,It(t,function(t){return e(n-t)})]})})(t),p=lr().domain([0,zt(h,function(t){return t[1]})]).range([s,0]),d=u.append("g").attr("transform","translate(40,20)"),m=re().curve(ue).x(function(t){return f(t[0])}).y(function(t){return p(t[1])});d.append("path").datum(h).attr("fill","none").attr("stroke",c.color).attr("stroke-width",2).attr("d",m),d.append("g").attr("transform","translate(0,"+s+")").call(yr(f)),d.append("g").call(br(p))},plotQQ:function(t,n,r){void 0===n&&(n={});var e=[].concat(t).sort(function(t,n){return t-n}),i=e.length;fe(e.map(function(t,n){return(n+.5)/i}).map(function(t){return function(t){var n,r,e=-.00778489400243029,i=-.322396458041136,a=-2.40075827716184,o=-2.54973253934373,u=4.37466414146497,c=2.93816398269878,l=.00778469570904146,s=.32246712907004,f=2.445134137143,h=3.75440866190742;return t<.02425?(((((e*(n=Math.sqrt(-2*Math.log(t)))+i)*n+a)*n+o)*n+u)*n+c)/((((l*n+s)*n+f)*n+h)*n+1):.97575<t?-(((((e*(n=Math.sqrt(-2*Math.log(1-t)))+i)*n+a)*n+o)*n+u)*n+c)/((((l*n+s)*n+f)*n+h)*n+1):(((((-39.6968302866538*(r=(n=t-.5)*n)+220.946098424521)*r-275.928510446969)*r+138.357751867269)*r-30.6647980661472)*r+2.50662827745924)*n/((((-54.4760987982241*r+161.585836858041)*r-155.698979859887)*r+66.8013118877197)*r-13.2806815528857)+1}(t)}),e,n,r)},plotParallel:function(t,n,r,e){void 0===r&&(r={});var i=se(e,r),a=i.svg,o=i.config,u=o.width-30-30,c=o.height-30-10,l=Xt().range([0,u]).padding(1).domain(n),s={};n.forEach(function(n){s[n]=lr().domain(vt(t,function(t){return t[n]})).range([c,0])});var f=re(),h=a.append("g").attr("transform","translate(30,30)");h.selectAll("path").data(t).enter().append("path").attr("d",function(t){return f(n.map(function(n){return[l(n),s[n](t[n])]}))}).attr("fill","none").attr("stroke",function(t,n){return r.colors?r.colors[n%r.colors.length]:o.color}).attr("stroke-width",1).attr("opacity",.6),n.forEach(function(t){h.append("g").attr("transform","translate("+l(t)+",0)").call(br(s[t])).append("text").style("text-anchor","middle").attr("y",-9).text(t)})},plotPairplot:function(t,n,r,e){void 0===r&&(r={});var i=r.size||120,a=10,o=n.length*(i+a),u=e||"#datly-plot-"+ce++,c=document.createElement("div");c.id=u.replace("#",""),document.body.appendChild(c);var l=st(u);l.html(""),l.style("display","inline-block");var s=l.append("svg").attr("width",o).attr("height",o).style("background","#fff"),f={},h={};n.forEach(function(n){f[n]=lr().domain(vt(t,function(t){return t[n]})).range([a,i-a]),h[n]=lr().domain(vt(t,function(t){return t[n]})).range([i-a,a])}),n.forEach(function(e,o){n.forEach(function(n,u){s.append("g").attr("transform","translate("+o*(i+a)+","+u*(i+a)+")").selectAll("circle").data(t).enter().append("circle").attr("cx",function(t){return f[e](t[e])}).attr("cy",function(t){return h[n](t[n])}).attr("r",2).attr("fill",r.color||"#000")})})},plotMultiline:function(t,n,r){void 0===n&&(n={});var e=se(r,n),i=e.svg,a=e.config,o=a.width-40-20,u=a.height-20-40,c=t.flatMap(function(t){return t.data.map(function(t){return t.x})}),l=t.flatMap(function(t){return t.data.map(function(t){return t.y})}),s=lr().domain(vt(c)).range([0,o]),f=lr().domain(vt(l)).range([u,0]),h=Vt(Mr),p=i.append("g").attr("transform","translate(40,20)");if(t.forEach(function(t,n){var r=re().x(function(t){return s(t.x)}).y(function(t){return f(t.y)});p.append("path").datum(t.data).attr("fill","none").attr("stroke",h(n)).attr("stroke-width",2).attr("d",r)}),n.legend){var d=i.append("g").attr("transform","translate("+(o-100)+",20)");t.forEach(function(t,n){d.append("rect").attr("x",0).attr("y",20*n).attr("width",12).attr("height",12).attr("fill",h(n)),d.append("text").attr("x",20).attr("y",20*n+10).text(t.name).style("font-size","12px")})}p.append("g").attr("transform","translate(0,"+u+")").call(yr(s)),p.append("g").call(br(f))}};module.exports=Ni;
1
+ function t(t,n){(null==n||n>t.length)&&(n=t.length);for(var r=0,e=Array(n);r<n;r++)e[r]=t[r];return e}function n(n,r){var e="undefined"!=typeof Symbol&&n[Symbol.iterator]||n["@@iterator"];if(e)return(e=e.call(n)).next.bind(e);if(Array.isArray(n)||(e=function(n,r){if(n){if("string"==typeof n)return t(n,r);var e={}.toString.call(n).slice(8,-1);return"Object"===e&&n.constructor&&(e=n.constructor.name),"Map"===e||"Set"===e?Array.from(n):"Arguments"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e)?t(n,r):void 0}}(n))||r&&n&&"number"==typeof n.length){e&&(n=e);var i=0;return function(){return i>=n.length?{done:!0}:{done:!1,value:n[i++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function r(){return r=Object.assign?Object.assign.bind():function(t){for(var n=1;n<arguments.length;n++){var r=arguments[n];for(var e in r)({}).hasOwnProperty.call(r,e)&&(t[e]=r[e])}return t},r.apply(null,arguments)}var e="http://www.w3.org/1999/xhtml",i={svg:"http://www.w3.org/2000/svg",xhtml:e,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function a(t){var n=t+="",r=n.indexOf(":");return r>=0&&"xmlns"!==(n=t.slice(0,r))&&(t=t.slice(r+1)),i.hasOwnProperty(n)?{space:i[n],local:t}:t}function o(t){return function(){var n=this.ownerDocument,r=this.namespaceURI;return r===e&&n.documentElement.namespaceURI===e?n.createElement(t):n.createElementNS(r,t)}}function u(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}function c(t){var n=a(t);return(n.local?u:o)(n)}function l(){}function s(t){return null==t?l:function(){return this.querySelector(t)}}function f(){return[]}function h(t){return function(n){return n.matches(t)}}var p=Array.prototype.find;function d(){return this.firstElementChild}var m=Array.prototype.filter;function g(){return Array.from(this.children)}function v(t){return new Array(t.length)}function _(t,n){this.ownerDocument=t.ownerDocument,this.namespaceURI=t.namespaceURI,this._next=null,this._parent=t,this.__data__=n}function y(t,n,r,e,i,a){for(var o,u=0,c=n.length,l=a.length;u<l;++u)(o=n[u])?(o.__data__=a[u],e[u]=o):r[u]=new _(t,a[u]);for(;u<c;++u)(o=n[u])&&(i[u]=o)}function x(t,n,r,e,i,a,o){var u,c,l,s=new Map,f=n.length,h=a.length,p=new Array(f);for(u=0;u<f;++u)(c=n[u])&&(p[u]=l=o.call(c,c.__data__,u,n)+"",s.has(l)?i[u]=c:s.set(l,c));for(u=0;u<h;++u)l=o.call(t,a[u],u,a)+"",(c=s.get(l))?(e[u]=c,c.__data__=a[u],s.delete(l)):r[u]=new _(t,a[u]);for(u=0;u<f;++u)(c=n[u])&&s.get(p[u])===c&&(i[u]=c)}function b(t){return t.__data__}function w(t){return"object"==typeof t&&"length"in t?t:Array.from(t)}function M(t,n){return t<n?-1:t>n?1:t>=n?0:NaN}function A(t){return function(){this.removeAttribute(t)}}function k(t){return function(){this.removeAttributeNS(t.space,t.local)}}function N(t,n){return function(){this.setAttribute(t,n)}}function $(t,n){return function(){this.setAttributeNS(t.space,t.local,n)}}function E(t,n){return function(){var r=n.apply(this,arguments);null==r?this.removeAttribute(t):this.setAttribute(t,r)}}function C(t,n){return function(){var r=n.apply(this,arguments);null==r?this.removeAttributeNS(t.space,t.local):this.setAttributeNS(t.space,t.local,r)}}function q(t){return t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView}function S(t){return function(){this.style.removeProperty(t)}}function j(t,n,r){return function(){this.style.setProperty(t,n,r)}}function O(t,n,r){return function(){var e=n.apply(this,arguments);null==e?this.style.removeProperty(t):this.style.setProperty(t,e,r)}}function z(t){return function(){delete this[t]}}function T(t,n){return function(){this[t]=n}}function P(t,n){return function(){var r=n.apply(this,arguments);null==r?delete this[t]:this[t]=r}}function R(t){return t.trim().split(/^|\s+/)}function I(t){return t.classList||new L(t)}function L(t){this._node=t,this._names=R(t.getAttribute("class")||"")}function F(t,n){for(var r=I(t),e=-1,i=n.length;++e<i;)r.add(n[e])}function H(t,n){for(var r=I(t),e=-1,i=n.length;++e<i;)r.remove(n[e])}function V(t){return function(){F(this,t)}}function D(t){return function(){H(this,t)}}function B(t,n){return function(){(n.apply(this,arguments)?F:H)(this,t)}}function X(){this.textContent=""}function U(t){return function(){this.textContent=t}}function J(t){return function(){var n=t.apply(this,arguments);this.textContent=null==n?"":n}}function G(){this.innerHTML=""}function Q(t){return function(){this.innerHTML=t}}function Z(t){return function(){var n=t.apply(this,arguments);this.innerHTML=null==n?"":n}}function W(){this.nextSibling&&this.parentNode.appendChild(this)}function Y(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function K(){return null}function tt(){var t=this.parentNode;t&&t.removeChild(this)}function nt(){var t=this.cloneNode(!1),n=this.parentNode;return n?n.insertBefore(t,this.nextSibling):t}function rt(){var t=this.cloneNode(!0),n=this.parentNode;return n?n.insertBefore(t,this.nextSibling):t}function et(t){return function(){var n=this.__on;if(n){for(var r,e=0,i=-1,a=n.length;e<a;++e)r=n[e],t.type&&r.type!==t.type||r.name!==t.name?n[++i]=r:this.removeEventListener(r.type,r.listener,r.options);++i?n.length=i:delete this.__on}}}function it(t,n,r){return function(){var e,i=this.__on,a=function(t){return function(n){t.call(this,n,this.__data__)}}(n);if(i)for(var o=0,u=i.length;o<u;++o)if((e=i[o]).type===t.type&&e.name===t.name)return this.removeEventListener(e.type,e.listener,e.options),this.addEventListener(e.type,e.listener=a,e.options=r),void(e.value=n);this.addEventListener(t.type,a,r),e={type:t.type,name:t.name,value:n,listener:a,options:r},i?i.push(e):this.__on=[e]}}function at(t,n,r){var e=q(t),i=e.CustomEvent;"function"==typeof i?i=new i(n,r):(i=e.document.createEvent("Event"),r?(i.initEvent(n,r.bubbles,r.cancelable),i.detail=r.detail):i.initEvent(n,!1,!1)),t.dispatchEvent(i)}function ot(t,n){return function(){return at(this,t,n)}}function ut(t,n){return function(){return at(this,t,n.apply(this,arguments))}}_.prototype={constructor:_,appendChild:function(t){return this._parent.insertBefore(t,this._next)},insertBefore:function(t,n){return this._parent.insertBefore(t,n)},querySelector:function(t){return this._parent.querySelector(t)},querySelectorAll:function(t){return this._parent.querySelectorAll(t)}},L.prototype={add:function(t){this._names.indexOf(t)<0&&(this._names.push(t),this._node.setAttribute("class",this._names.join(" ")))},remove:function(t){var n=this._names.indexOf(t);n>=0&&(this._names.splice(n,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(t){return this._names.indexOf(t)>=0}};var ct=[null];function lt(t,n){this._groups=t,this._parents=n}function st(t){return"string"==typeof t?new lt([[document.querySelector(t)]],[document.documentElement]):new lt([[t]],ct)}function ft(t,n){return null==t||null==n?NaN:t<n?-1:t>n?1:t>=n?0:NaN}function ht(t,n){return null==t||null==n?NaN:n<t?-1:n>t?1:n>=t?0:NaN}function pt(t){let n,r,e;function i(t,e,i=0,a=t.length){if(i<a){if(0!==n(e,e))return a;do{const n=i+a>>>1;r(t[n],e)<0?i=n+1:a=n}while(i<a)}return i}return 2!==t.length?(n=ft,r=(n,r)=>ft(t(n),r),e=(n,r)=>t(n)-r):(n=t===ft||t===ht?t:dt,r=t,e=t),{left:i,center:function(t,n,r=0,a=t.length){const o=i(t,n,r,a-1);return o>r&&e(t[o-1],n)>-e(t[o],n)?o-1:o},right:function(t,e,i=0,a=t.length){if(i<a){if(0!==n(e,e))return a;do{const n=i+a>>>1;r(t[n],e)<=0?i=n+1:a=n}while(i<a)}return i}}}function dt(){return 0}lt.prototype={constructor:lt,select:function(t){"function"!=typeof t&&(t=s(t));for(var n=this._groups,r=n.length,e=new Array(r),i=0;i<r;++i)for(var a,o,u=n[i],c=u.length,l=e[i]=new Array(c),f=0;f<c;++f)(a=u[f])&&(o=t.call(a,a.__data__,f,u))&&("__data__"in a&&(o.__data__=a.__data__),l[f]=o);return new lt(e,this._parents)},selectAll:function(t){t="function"==typeof t?function(t){return function(){return function(t){return null==t?[]:Array.isArray(t)?t:Array.from(t)}(t.apply(this,arguments))}}(t):function(t){return null==t?f:function(){return this.querySelectorAll(t)}}(t);for(var n=this._groups,r=n.length,e=[],i=[],a=0;a<r;++a)for(var o,u=n[a],c=u.length,l=0;l<c;++l)(o=u[l])&&(e.push(t.call(o,o.__data__,l,u)),i.push(o));return new lt(e,i)},selectChild:function(t){return this.select(null==t?d:function(t){return function(){return p.call(this.children,t)}}("function"==typeof t?t:h(t)))},selectChildren:function(t){return this.selectAll(null==t?g:function(t){return function(){return m.call(this.children,t)}}("function"==typeof t?t:h(t)))},filter:function(t){"function"!=typeof t&&(t=function(t){return function(){return this.matches(t)}}(t));for(var n=this._groups,r=n.length,e=new Array(r),i=0;i<r;++i)for(var a,o=n[i],u=o.length,c=e[i]=[],l=0;l<u;++l)(a=o[l])&&t.call(a,a.__data__,l,o)&&c.push(a);return new lt(e,this._parents)},data:function(t,n){if(!arguments.length)return Array.from(this,b);var r=n?x:y,e=this._parents,i=this._groups;"function"!=typeof t&&(t=function(t){return function(){return t}}(t));for(var a=i.length,o=new Array(a),u=new Array(a),c=new Array(a),l=0;l<a;++l){var s=e[l],f=i[l],h=f.length,p=w(t.call(s,s&&s.__data__,l,e)),d=p.length,m=u[l]=new Array(d),g=o[l]=new Array(d);r(s,f,m,g,c[l]=new Array(h),p,n);for(var v,_,M=0,A=0;M<d;++M)if(v=m[M]){for(M>=A&&(A=M+1);!(_=g[A])&&++A<d;);v._next=_||null}}return(o=new lt(o,e))._enter=u,o._exit=c,o},enter:function(){return new lt(this._enter||this._groups.map(v),this._parents)},exit:function(){return new lt(this._exit||this._groups.map(v),this._parents)},join:function(t,n,r){var e=this.enter(),i=this,a=this.exit();return"function"==typeof t?(e=t(e))&&(e=e.selection()):e=e.append(t+""),null!=n&&(i=n(i))&&(i=i.selection()),null==r?a.remove():r(a),e&&i?e.merge(i).order():i},merge:function(t){for(var n=t.selection?t.selection():t,r=this._groups,e=n._groups,i=r.length,a=Math.min(i,e.length),o=new Array(i),u=0;u<a;++u)for(var c,l=r[u],s=e[u],f=l.length,h=o[u]=new Array(f),p=0;p<f;++p)(c=l[p]||s[p])&&(h[p]=c);for(;u<i;++u)o[u]=r[u];return new lt(o,this._parents)},selection:function(){return this},order:function(){for(var t=this._groups,n=-1,r=t.length;++n<r;)for(var e,i=t[n],a=i.length-1,o=i[a];--a>=0;)(e=i[a])&&(o&&4^e.compareDocumentPosition(o)&&o.parentNode.insertBefore(e,o),o=e);return this},sort:function(t){function n(n,r){return n&&r?t(n.__data__,r.__data__):!n-!r}t||(t=M);for(var r=this._groups,e=r.length,i=new Array(e),a=0;a<e;++a){for(var o,u=r[a],c=u.length,l=i[a]=new Array(c),s=0;s<c;++s)(o=u[s])&&(l[s]=o);l.sort(n)}return new lt(i,this._parents).order()},call:function(){var t=arguments[0];return arguments[0]=this,t.apply(null,arguments),this},nodes:function(){return Array.from(this)},node:function(){for(var t=this._groups,n=0,r=t.length;n<r;++n)for(var e=t[n],i=0,a=e.length;i<a;++i){var o=e[i];if(o)return o}return null},size:function(){let t=0;for(const n of this)++t;return t},empty:function(){return!this.node()},each:function(t){for(var n=this._groups,r=0,e=n.length;r<e;++r)for(var i,a=n[r],o=0,u=a.length;o<u;++o)(i=a[o])&&t.call(i,i.__data__,o,a);return this},attr:function(t,n){var r=a(t);if(arguments.length<2){var e=this.node();return r.local?e.getAttributeNS(r.space,r.local):e.getAttribute(r)}return this.each((null==n?r.local?k:A:"function"==typeof n?r.local?C:E:r.local?$:N)(r,n))},style:function(t,n,r){return arguments.length>1?this.each((null==n?S:"function"==typeof n?O:j)(t,n,null==r?"":r)):function(t,n){return t.style.getPropertyValue(n)||q(t).getComputedStyle(t,null).getPropertyValue(n)}(this.node(),t)},property:function(t,n){return arguments.length>1?this.each((null==n?z:"function"==typeof n?P:T)(t,n)):this.node()[t]},classed:function(t,n){var r=R(t+"");if(arguments.length<2){for(var e=I(this.node()),i=-1,a=r.length;++i<a;)if(!e.contains(r[i]))return!1;return!0}return this.each(("function"==typeof n?B:n?V:D)(r,n))},text:function(t){return arguments.length?this.each(null==t?X:("function"==typeof t?J:U)(t)):this.node().textContent},html:function(t){return arguments.length?this.each(null==t?G:("function"==typeof t?Z:Q)(t)):this.node().innerHTML},raise:function(){return this.each(W)},lower:function(){return this.each(Y)},append:function(t){var n="function"==typeof t?t:c(t);return this.select(function(){return this.appendChild(n.apply(this,arguments))})},insert:function(t,n){var r="function"==typeof t?t:c(t),e=null==n?K:"function"==typeof n?n:s(n);return this.select(function(){return this.insertBefore(r.apply(this,arguments),e.apply(this,arguments)||null)})},remove:function(){return this.each(tt)},clone:function(t){return this.select(t?rt:nt)},datum:function(t){return arguments.length?this.property("__data__",t):this.node().__data__},on:function(t,n,r){var e,i,a=function(t){return t.trim().split(/^|\s+/).map(function(t){var n="",r=t.indexOf(".");return r>=0&&(n=t.slice(r+1),t=t.slice(0,r)),{type:t,name:n}})}(t+""),o=a.length;if(!(arguments.length<2)){for(u=n?it:et,e=0;e<o;++e)this.each(u(a[e],n,r));return this}var u=this.node().__on;if(u)for(var c,l=0,s=u.length;l<s;++l)for(e=0,c=u[l];e<o;++e)if((i=a[e]).type===c.type&&i.name===c.name)return c.value},dispatch:function(t,n){return this.each(("function"==typeof n?ut:ot)(t,n))},[Symbol.iterator]:function*(){for(var t=this._groups,n=0,r=t.length;n<r;++n)for(var e,i=t[n],a=0,o=i.length;a<o;++a)(e=i[a])&&(yield e)}};const mt=pt(ft).right;pt(function(t){return null===t?NaN:+t});var gt=mt;function vt(t,n){let r,e;if(void 0===n)for(const n of t)null!=n&&(void 0===r?n>=n&&(r=e=n):(r>n&&(r=n),e<n&&(e=n)));else{let i=-1;for(let a of t)null!=(a=n(a,++i,t))&&(void 0===r?a>=a&&(r=e=a):(r>a&&(r=a),e<a&&(e=a)))}return[r,e]}class _t extends Map{constructor(t,n=xt){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:n}}),null!=t)for(const[n,r]of t)this.set(n,r)}get(t){return super.get(yt(this,t))}has(t){return super.has(yt(this,t))}set(t,n){return super.set(function({_intern:t,_key:n},r){const e=n(r);return t.has(e)?t.get(e):(t.set(e,r),r)}(this,t),n)}delete(t){return super.delete(function({_intern:t,_key:n},r){const e=n(r);return t.has(e)&&(r=t.get(e),t.delete(e)),r}(this,t))}}function yt({_intern:t,_key:n},r){const e=n(r);return t.has(e)?t.get(e):r}function xt(t){return null!==t&&"object"==typeof t?t.valueOf():t}function bt(t){return t}function wt(t,n){return(null==t||!(t>=t))-(null==n||!(n>=n))||(t<n?-1:t>n?1:0)}var Mt=Array.prototype.slice;function At(t){return()=>t}const kt=Math.sqrt(50),Nt=Math.sqrt(10),$t=Math.sqrt(2);function Et(t,n,r){const e=(n-t)/Math.max(0,r),i=Math.floor(Math.log10(e)),a=e/Math.pow(10,i),o=a>=kt?10:a>=Nt?5:a>=$t?2:1;let u,c,l;return i<0?(l=Math.pow(10,-i)/o,u=Math.round(t*l),c=Math.round(n*l),u/l<t&&++u,c/l>n&&--c,l=-l):(l=Math.pow(10,i)*o,u=Math.round(t/l),c=Math.round(n/l),u*l<t&&++u,c*l>n&&--c),c<u&&.5<=r&&r<2?Et(t,n,2*r):[u,c,l]}function Ct(t,n,r){if(!((r=+r)>0))return[];if((t=+t)===(n=+n))return[t];const e=n<t,[i,a,o]=e?Et(n,t,r):Et(t,n,r);if(!(a>=i))return[];const u=a-i+1,c=new Array(u);if(e)if(o<0)for(let t=0;t<u;++t)c[t]=(a-t)/-o;else for(let t=0;t<u;++t)c[t]=(a-t)*o;else if(o<0)for(let t=0;t<u;++t)c[t]=(i+t)/-o;else for(let t=0;t<u;++t)c[t]=(i+t)*o;return c}function qt(t,n,r){return Et(t=+t,n=+n,r=+r)[2]}function St(t){return Math.max(1,Math.ceil(Math.log(function(t){let n=0;for(let r of t)null!=r&&(r=+r)>=r&&++n;return n}(t))/Math.LN2)+1)}function jt(){var t=bt,n=vt,r=St;function e(e){Array.isArray(e)||(e=Array.from(e));var i,a,o,u=e.length,c=new Array(u);for(i=0;i<u;++i)c[i]=t(e[i],i,e);var l=n(c),s=l[0],f=l[1],h=r(c,s,f);if(!Array.isArray(h)){const t=f,r=+h;if(n===vt&&([s,f]=function(t,n,r){let e;for(;;){const i=qt(t,n,r);if(i===e||0===i||!isFinite(i))return[t,n];i>0?(t=Math.floor(t/i)*i,n=Math.ceil(n/i)*i):i<0&&(t=Math.ceil(t*i)/i,n=Math.floor(n*i)/i),e=i}}(s,f,r)),(h=Ct(s,f,r))[0]<=s&&(o=qt(s,f,r)),h[h.length-1]>=f)if(t>=f&&n===vt){const t=qt(s,f,r);isFinite(t)&&(t>0?f=(Math.floor(f/t)+1)*t:t<0&&(f=(Math.ceil(f*-t)+1)/-t))}else h.pop()}for(var p=h.length,d=0,m=p;h[d]<=s;)++d;for(;h[m-1]>f;)--m;(d||m<p)&&(h=h.slice(d,m),p=m-d);var g,v=new Array(p+1);for(i=0;i<=p;++i)(g=v[i]=[]).x0=i>0?h[i-1]:s,g.x1=i<p?h[i]:f;if(isFinite(o)){if(o>0)for(i=0;i<u;++i)null!=(a=c[i])&&s<=a&&a<=f&&v[Math.min(p,Math.floor((a-s)/o))].push(e[i]);else if(o<0)for(i=0;i<u;++i)if(null!=(a=c[i])&&s<=a&&a<=f){const t=Math.floor((s-a)*o);v[Math.min(p,t+(h[t]<=a))].push(e[i])}}else for(i=0;i<u;++i)null!=(a=c[i])&&s<=a&&a<=f&&v[gt(h,a,0,p)].push(e[i]);return v}return e.value=function(n){return arguments.length?(t="function"==typeof n?n:At(n),e):t},e.domain=function(t){return arguments.length?(n="function"==typeof t?t:At([t[0],t[1]]),e):n},e.thresholds=function(t){return arguments.length?(r="function"==typeof t?t:At(Array.isArray(t)?Mt.call(t):t),e):r},e}function Ot(t,n){let r;if(void 0===n)for(const n of t)null!=n&&(r<n||void 0===r&&n>=n)&&(r=n);else{let e=-1;for(let i of t)null!=(i=n(i,++e,t))&&(r<i||void 0===r&&i>=i)&&(r=i)}return r}function zt(t,n){let r;if(void 0===n)for(const n of t)null!=n&&(r>n||void 0===r&&n>=n)&&(r=n);else{let e=-1;for(let i of t)null!=(i=n(i,++e,t))&&(r>i||void 0===r&&i>=i)&&(r=i)}return r}function Tt(t,n,r=0,e=Infinity,i){if(n=Math.floor(n),r=Math.floor(Math.max(0,r)),e=Math.floor(Math.min(t.length-1,e)),!(r<=n&&n<=e))return t;for(i=void 0===i?wt:function(t=ft){if(t===ft)return wt;if("function"!=typeof t)throw new TypeError("compare is not a function");return(n,r)=>{const e=t(n,r);return e||0===e?e:(0===t(r,r))-(0===t(n,n))}}(i);e>r;){if(e-r>600){const a=e-r+1,o=n-r+1,u=Math.log(a),c=.5*Math.exp(2*u/3),l=.5*Math.sqrt(u*c*(a-c)/a)*(o-a/2<0?-1:1);Tt(t,n,Math.max(r,Math.floor(n-o*c/a+l)),Math.min(e,Math.floor(n+(a-o)*c/a+l)),i)}const a=t[n];let o=r,u=e;for(Pt(t,r,n),i(t[e],a)>0&&Pt(t,r,e);o<u;){for(Pt(t,o,u),++o,--u;i(t[o],a)<0;)++o;for(;i(t[u],a)>0;)--u}0===i(t[r],a)?Pt(t,r,u):(++u,Pt(t,u,e)),u<=n&&(r=u+1),n<=u&&(e=u-1)}return t}function Pt(t,n,r){const e=t[n];t[n]=t[r],t[r]=e}function Rt(t,n,r){if(t=Float64Array.from(function*(t,n){if(void 0===n)for(let n of t)null!=n&&(n=+n)>=n&&(yield n);else{let r=-1;for(let e of t)null!=(e=n(e,++r,t))&&(e=+e)>=e&&(yield e)}}(t,r)),(e=t.length)&&!isNaN(n=+n)){if(n<=0||e<2)return zt(t);if(n>=1)return Ot(t);var e,i=(e-1)*n,a=Math.floor(i),o=Ot(Tt(t,a).subarray(0,a+1));return o+(zt(t.subarray(a+1))-o)*(i-a)}}function It(t,n){let r=0,e=0;if(void 0===n)for(let n of t)null!=n&&(n=+n)>=n&&(++r,e+=n);else{let i=-1;for(let a of t)null!=(a=n(a,++i,t))&&(a=+a)>=a&&(++r,e+=a)}if(r)return e/r}function Lt(t,n){switch(arguments.length){case 0:break;case 1:this.range(t);break;default:this.range(n).domain(t)}return this}function Ft(t,n){switch(arguments.length){case 0:break;case 1:"function"==typeof t?this.interpolator(t):this.range(t);break;default:this.domain(t),"function"==typeof n?this.interpolator(n):this.range(n)}return this}const Ht=Symbol("implicit");function Vt(){var t=new _t,n=[],r=[],e=Ht;function i(i){let a=t.get(i);if(void 0===a){if(e!==Ht)return e;t.set(i,a=n.push(i)-1)}return r[a%r.length]}return i.domain=function(r){if(!arguments.length)return n.slice();n=[],t=new _t;for(const e of r)t.has(e)||t.set(e,n.push(e)-1);return i},i.range=function(t){return arguments.length?(r=Array.from(t),i):r.slice()},i.unknown=function(t){return arguments.length?(e=t,i):e},i.copy=function(){return Vt(n,r).unknown(e)},Lt.apply(i,arguments),i}function Dt(){var t,n,r=Vt().unknown(void 0),e=r.domain,i=r.range,a=0,o=1,u=!1,c=0,l=0,s=.5;function f(){var r=e().length,f=o<a,h=f?o:a,p=f?a:o;t=(p-h)/Math.max(1,r-c+2*l),u&&(t=Math.floor(t)),h+=(p-h-t*(r-c))*s,n=t*(1-c),u&&(h=Math.round(h),n=Math.round(n));var d=function(t,n,r){t=+t,n=+n,r=(i=arguments.length)<2?(n=t,t=0,1):i<3?1:+r;for(var e=-1,i=0|Math.max(0,Math.ceil((n-t)/r)),a=new Array(i);++e<i;)a[e]=t+e*r;return a}(r).map(function(n){return h+t*n});return i(f?d.reverse():d)}return delete r.unknown,r.domain=function(t){return arguments.length?(e(t),f()):e()},r.range=function(t){return arguments.length?([a,o]=t,a=+a,o=+o,f()):[a,o]},r.rangeRound=function(t){return[a,o]=t,a=+a,o=+o,u=!0,f()},r.bandwidth=function(){return n},r.step=function(){return t},r.round=function(t){return arguments.length?(u=!!t,f()):u},r.padding=function(t){return arguments.length?(c=Math.min(1,l=+t),f()):c},r.paddingInner=function(t){return arguments.length?(c=Math.min(1,t),f()):c},r.paddingOuter=function(t){return arguments.length?(l=+t,f()):l},r.align=function(t){return arguments.length?(s=Math.max(0,Math.min(1,t)),f()):s},r.copy=function(){return Dt(e(),[a,o]).round(u).paddingInner(c).paddingOuter(l).align(s)},Lt.apply(f(),arguments)}function Bt(t){var n=t.copy;return t.padding=t.paddingOuter,delete t.paddingInner,delete t.paddingOuter,t.copy=function(){return Bt(n())},t}function Xt(){return Bt(Dt.apply(null,arguments).paddingInner(1))}function Ut(t,n,r){t.prototype=n.prototype=r,r.constructor=t}function Jt(t,n){var r=Object.create(t.prototype);for(var e in n)r[e]=n[e];return r}function Gt(){}var Qt=.7,Zt=1/Qt,Wt="\\s*([+-]?\\d+)\\s*",Yt="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",Kt="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",tn=/^#([0-9a-f]{3,8})$/,nn=new RegExp(`^rgb\\(${Wt},${Wt},${Wt}\\)$`),rn=new RegExp(`^rgb\\(${Kt},${Kt},${Kt}\\)$`),en=new RegExp(`^rgba\\(${Wt},${Wt},${Wt},${Yt}\\)$`),an=new RegExp(`^rgba\\(${Kt},${Kt},${Kt},${Yt}\\)$`),on=new RegExp(`^hsl\\(${Yt},${Kt},${Kt}\\)$`),un=new RegExp(`^hsla\\(${Yt},${Kt},${Kt},${Yt}\\)$`),cn={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};function ln(){return this.rgb().formatHex()}function sn(){return this.rgb().formatRgb()}function fn(t){var n,r;return t=(t+"").trim().toLowerCase(),(n=tn.exec(t))?(r=n[1].length,n=parseInt(n[1],16),6===r?hn(n):3===r?new mn(n>>8&15|n>>4&240,n>>4&15|240&n,(15&n)<<4|15&n,1):8===r?pn(n>>24&255,n>>16&255,n>>8&255,(255&n)/255):4===r?pn(n>>12&15|n>>8&240,n>>8&15|n>>4&240,n>>4&15|240&n,((15&n)<<4|15&n)/255):null):(n=nn.exec(t))?new mn(n[1],n[2],n[3],1):(n=rn.exec(t))?new mn(255*n[1]/100,255*n[2]/100,255*n[3]/100,1):(n=en.exec(t))?pn(n[1],n[2],n[3],n[4]):(n=an.exec(t))?pn(255*n[1]/100,255*n[2]/100,255*n[3]/100,n[4]):(n=on.exec(t))?bn(n[1],n[2]/100,n[3]/100,1):(n=un.exec(t))?bn(n[1],n[2]/100,n[3]/100,n[4]):cn.hasOwnProperty(t)?hn(cn[t]):"transparent"===t?new mn(NaN,NaN,NaN,0):null}function hn(t){return new mn(t>>16&255,t>>8&255,255&t,1)}function pn(t,n,r,e){return e<=0&&(t=n=r=NaN),new mn(t,n,r,e)}function dn(t,n,r,e){return 1===arguments.length?((i=t)instanceof Gt||(i=fn(i)),i?new mn((i=i.rgb()).r,i.g,i.b,i.opacity):new mn):new mn(t,n,r,null==e?1:e);var i}function mn(t,n,r,e){this.r=+t,this.g=+n,this.b=+r,this.opacity=+e}function gn(){return`#${xn(this.r)}${xn(this.g)}${xn(this.b)}`}function vn(){const t=_n(this.opacity);return`${1===t?"rgb(":"rgba("}${yn(this.r)}, ${yn(this.g)}, ${yn(this.b)}${1===t?")":`, ${t})`}`}function _n(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function yn(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function xn(t){return((t=yn(t))<16?"0":"")+t.toString(16)}function bn(t,n,r,e){return e<=0?t=n=r=NaN:r<=0||r>=1?t=n=NaN:n<=0&&(t=NaN),new Mn(t,n,r,e)}function wn(t){if(t instanceof Mn)return new Mn(t.h,t.s,t.l,t.opacity);if(t instanceof Gt||(t=fn(t)),!t)return new Mn;if(t instanceof Mn)return t;var n=(t=t.rgb()).r/255,r=t.g/255,e=t.b/255,i=Math.min(n,r,e),a=Math.max(n,r,e),o=NaN,u=a-i,c=(a+i)/2;return u?(o=n===a?(r-e)/u+6*(r<e):r===a?(e-n)/u+2:(n-r)/u+4,u/=c<.5?a+i:2-a-i,o*=60):u=c>0&&c<1?0:o,new Mn(o,u,c,t.opacity)}function Mn(t,n,r,e){this.h=+t,this.s=+n,this.l=+r,this.opacity=+e}function An(t){return(t=(t||0)%360)<0?t+360:t}function kn(t){return Math.max(0,Math.min(1,t||0))}function Nn(t,n,r){return 255*(t<60?n+(r-n)*t/60:t<180?r:t<240?n+(r-n)*(240-t)/60:n)}Ut(Gt,fn,{copy(t){return Object.assign(new this.constructor,this,t)},displayable(){return this.rgb().displayable()},hex:ln,formatHex:ln,formatHex8:function(){return this.rgb().formatHex8()},formatHsl:function(){return wn(this).formatHsl()},formatRgb:sn,toString:sn}),Ut(mn,dn,Jt(Gt,{brighter(t){return t=null==t?Zt:Math.pow(Zt,t),new mn(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=null==t?Qt:Math.pow(Qt,t),new mn(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new mn(yn(this.r),yn(this.g),yn(this.b),_n(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:gn,formatHex:gn,formatHex8:function(){return`#${xn(this.r)}${xn(this.g)}${xn(this.b)}${xn(255*(isNaN(this.opacity)?1:this.opacity))}`},formatRgb:vn,toString:vn})),Ut(Mn,function(t,n,r,e){return 1===arguments.length?wn(t):new Mn(t,n,r,null==e?1:e)},Jt(Gt,{brighter(t){return t=null==t?Zt:Math.pow(Zt,t),new Mn(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=null==t?Qt:Math.pow(Qt,t),new Mn(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=this.h%360+360*(this.h<0),n=isNaN(t)||isNaN(this.s)?0:this.s,r=this.l,e=r+(r<.5?r:1-r)*n,i=2*r-e;return new mn(Nn(t>=240?t-240:t+120,i,e),Nn(t,i,e),Nn(t<120?t+240:t-120,i,e),this.opacity)},clamp(){return new Mn(An(this.h),kn(this.s),kn(this.l),_n(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const t=_n(this.opacity);return`${1===t?"hsl(":"hsla("}${An(this.h)}, ${100*kn(this.s)}%, ${100*kn(this.l)}%${1===t?")":`, ${t})`}`}}));var $n=t=>()=>t;function En(t,n){var r=n-t;return r?function(t,n){return function(r){return t+r*n}}(t,r):$n(isNaN(t)?n:t)}var Cn,qn=function t(n){var r=function(t){return 1===(t=+t)?En:function(n,r){return r-n?function(t,n,r){return t=Math.pow(t,r),n=Math.pow(n,r)-t,r=1/r,function(e){return Math.pow(t+e*n,r)}}(n,r,t):$n(isNaN(n)?r:n)}}(n);function e(t,n){var e=r((t=dn(t)).r,(n=dn(n)).r),i=r(t.g,n.g),a=r(t.b,n.b),o=En(t.opacity,n.opacity);return function(n){return t.r=e(n),t.g=i(n),t.b=a(n),t.opacity=o(n),t+""}}return e.gamma=t,e}(1),Sn=(Cn=function(t){var n=t.length-1;return function(r){var e=r<=0?r=0:r>=1?(r=1,n-1):Math.floor(r*n),i=t[e],a=t[e+1];return function(t,n,r,e,i){var a=t*t,o=a*t;return((1-3*t+3*a-o)*n+(4-6*a+3*o)*r+(1+3*t+3*a-3*o)*e+o*i)/6}((r-e/n)*n,e>0?t[e-1]:2*i-a,i,a,e<n-1?t[e+2]:2*a-i)}},function(t){var n,r,e=t.length,i=new Array(e),a=new Array(e),o=new Array(e);for(n=0;n<e;++n)r=dn(t[n]),i[n]=r.r||0,a[n]=r.g||0,o[n]=r.b||0;return i=Cn(i),a=Cn(a),o=Cn(o),r.opacity=1,function(t){return r.r=i(t),r.g=a(t),r.b=o(t),r+""}});function jn(t,n){n||(n=[]);var r,e=t?Math.min(n.length,t.length):0,i=n.slice();return function(a){for(r=0;r<e;++r)i[r]=t[r]*(1-a)+n[r]*a;return i}}function On(t,n){var r,e=n?n.length:0,i=t?Math.min(e,t.length):0,a=new Array(i),o=new Array(e);for(r=0;r<i;++r)a[r]=Fn(t[r],n[r]);for(;r<e;++r)o[r]=n[r];return function(t){for(r=0;r<i;++r)o[r]=a[r](t);return o}}function zn(t,n){var r=new Date;return t=+t,n=+n,function(e){return r.setTime(t*(1-e)+n*e),r}}function Tn(t,n){return t=+t,n=+n,function(r){return t*(1-r)+n*r}}function Pn(t,n){var r,e={},i={};for(r in null!==t&&"object"==typeof t||(t={}),null!==n&&"object"==typeof n||(n={}),n)r in t?e[r]=Fn(t[r],n[r]):i[r]=n[r];return function(t){for(r in e)i[r]=e[r](t);return i}}var Rn=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,In=new RegExp(Rn.source,"g");function Ln(t,n){var r,e,i,a=Rn.lastIndex=In.lastIndex=0,o=-1,u=[],c=[];for(t+="",n+="";(r=Rn.exec(t))&&(e=In.exec(n));)(i=e.index)>a&&(i=n.slice(a,i),u[o]?u[o]+=i:u[++o]=i),(r=r[0])===(e=e[0])?u[o]?u[o]+=e:u[++o]=e:(u[++o]=null,c.push({i:o,x:Tn(r,e)})),a=In.lastIndex;return a<n.length&&(i=n.slice(a),u[o]?u[o]+=i:u[++o]=i),u.length<2?c[0]?function(t){return function(n){return t(n)+""}}(c[0].x):function(t){return function(){return t}}(n):(n=c.length,function(t){for(var r,e=0;e<n;++e)u[(r=c[e]).i]=r.x(t);return u.join("")})}function Fn(t,n){var r,e=typeof n;return null==n||"boolean"===e?$n(n):("number"===e?Tn:"string"===e?(r=fn(n))?(n=r,qn):Ln:n instanceof fn?qn:n instanceof Date?zn:function(t){return ArrayBuffer.isView(t)&&!(t instanceof DataView)}(n)?jn:Array.isArray(n)?On:"function"!=typeof n.valueOf&&"function"!=typeof n.toString||isNaN(n)?Pn:Tn)(t,n)}function Hn(t,n){return t=+t,n=+n,function(r){return Math.round(t*(1-r)+n*r)}}function Vn(t){return+t}var Dn=[0,1];function Bn(t){return t}function Xn(t,n){return(n-=t=+t)?function(r){return(r-t)/n}:function(t){return function(){return t}}(isNaN(n)?NaN:.5)}function Un(t,n,r){var e=t[0],i=t[1],a=n[0],o=n[1];return i<e?(e=Xn(i,e),a=r(o,a)):(e=Xn(e,i),a=r(a,o)),function(t){return a(e(t))}}function Jn(t,n,r){var e=Math.min(t.length,n.length)-1,i=new Array(e),a=new Array(e),o=-1;for(t[e]<t[0]&&(t=t.slice().reverse(),n=n.slice().reverse());++o<e;)i[o]=Xn(t[o],t[o+1]),a[o]=r(n[o],n[o+1]);return function(n){var r=gt(t,n,1,e)-1;return a[r](i[r](n))}}function Gn(t,n){if((r=(t=n?t.toExponential(n-1):t.toExponential()).indexOf("e"))<0)return null;var r,e=t.slice(0,r);return[e.length>1?e[0]+e.slice(2):e,+t.slice(r+1)]}function Qn(t){return(t=Gn(Math.abs(t)))?t[1]:NaN}var Zn,Wn=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function Yn(t){if(!(n=Wn.exec(t)))throw new Error("invalid format: "+t);var n;return new Kn({fill:n[1],align:n[2],sign:n[3],symbol:n[4],zero:n[5],width:n[6],comma:n[7],precision:n[8]&&n[8].slice(1),trim:n[9],type:n[10]})}function Kn(t){this.fill=void 0===t.fill?" ":t.fill+"",this.align=void 0===t.align?">":t.align+"",this.sign=void 0===t.sign?"-":t.sign+"",this.symbol=void 0===t.symbol?"":t.symbol+"",this.zero=!!t.zero,this.width=void 0===t.width?void 0:+t.width,this.comma=!!t.comma,this.precision=void 0===t.precision?void 0:+t.precision,this.trim=!!t.trim,this.type=void 0===t.type?"":t.type+""}function tr(t,n){var r=Gn(t,n);if(!r)return t+"";var e=r[0],i=r[1];return i<0?"0."+new Array(-i).join("0")+e:e.length>i+1?e.slice(0,i+1)+"."+e.slice(i+1):e+new Array(i-e.length+2).join("0")}Yn.prototype=Kn.prototype,Kn.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(void 0===this.width?"":Math.max(1,0|this.width))+(this.comma?",":"")+(void 0===this.precision?"":"."+Math.max(0,0|this.precision))+(this.trim?"~":"")+this.type};var nr={"%":(t,n)=>(100*t).toFixed(n),b:t=>Math.round(t).toString(2),c:t=>t+"",d:function(t){return Math.abs(t=Math.round(t))>=1e21?t.toLocaleString("en").replace(/,/g,""):t.toString(10)},e:(t,n)=>t.toExponential(n),f:(t,n)=>t.toFixed(n),g:(t,n)=>t.toPrecision(n),o:t=>Math.round(t).toString(8),p:(t,n)=>tr(100*t,n),r:tr,s:function(t,n){var r=Gn(t,n);if(!r)return t+"";var e=r[0],i=r[1],a=i-(Zn=3*Math.max(-8,Math.min(8,Math.floor(i/3))))+1,o=e.length;return a===o?e:a>o?e+new Array(a-o+1).join("0"):a>0?e.slice(0,a)+"."+e.slice(a):"0."+new Array(1-a).join("0")+Gn(t,Math.max(0,n+a-1))[0]},X:t=>Math.round(t).toString(16).toUpperCase(),x:t=>Math.round(t).toString(16)};function rr(t){return t}var er,ir,ar,or=Array.prototype.map,ur=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function cr(t){var n=t.domain;return t.ticks=function(t){var r=n();return Ct(r[0],r[r.length-1],null==t?10:t)},t.tickFormat=function(t,r){var e=n();return function(t,n,r,e){var i,a=function(t,n,r){r=+r;const e=(n=+n)<(t=+t),i=e?qt(n,t,r):qt(t,n,r);return(e?-1:1)*(i<0?1/-i:i)}(t,n,r);switch((e=Yn(null==e?",f":e)).type){case"s":var o=Math.max(Math.abs(t),Math.abs(n));return null!=e.precision||isNaN(i=function(t,n){return Math.max(0,3*Math.max(-8,Math.min(8,Math.floor(Qn(n)/3)))-Qn(Math.abs(t)))}(a,o))||(e.precision=i),ar(e,o);case"":case"e":case"g":case"p":case"r":null!=e.precision||isNaN(i=function(t,n){return t=Math.abs(t),n=Math.abs(n)-t,Math.max(0,Qn(n)-Qn(t))+1}(a,Math.max(Math.abs(t),Math.abs(n))))||(e.precision=i-("e"===e.type));break;case"f":case"%":null!=e.precision||isNaN(i=function(t){return Math.max(0,-Qn(Math.abs(t)))}(a))||(e.precision=i-2*("%"===e.type))}return ir(e)}(e[0],e[e.length-1],null==t?10:t,r)},t.nice=function(r){null==r&&(r=10);var e,i,a=n(),o=0,u=a.length-1,c=a[o],l=a[u],s=10;for(l<c&&(i=c,c=l,l=i,i=o,o=u,u=i);s-- >0;){if((i=qt(c,l,r))===e)return a[o]=c,a[u]=l,n(a);if(i>0)c=Math.floor(c/i)*i,l=Math.ceil(l/i)*i;else{if(!(i<0))break;c=Math.ceil(c*i)/i,l=Math.floor(l*i)/i}e=i}return t},t}function lr(){var t=function(){var t,n,r,e,i,a,o=Dn,u=Dn,c=Fn,l=Bn;function s(){var t,n,r,c=Math.min(o.length,u.length);return l!==Bn&&((t=o[0])>(n=o[c-1])&&(r=t,t=n,n=r),l=function(r){return Math.max(t,Math.min(n,r))}),e=c>2?Jn:Un,i=a=null,f}function f(n){return null==n||isNaN(n=+n)?r:(i||(i=e(o.map(t),u,c)))(t(l(n)))}return f.invert=function(r){return l(n((a||(a=e(u,o.map(t),Tn)))(r)))},f.domain=function(t){return arguments.length?(o=Array.from(t,Vn),s()):o.slice()},f.range=function(t){return arguments.length?(u=Array.from(t),s()):u.slice()},f.rangeRound=function(t){return u=Array.from(t),c=Hn,s()},f.clamp=function(t){return arguments.length?(l=!!t||Bn,s()):l!==Bn},f.interpolate=function(t){return arguments.length?(c=t,s()):c},f.unknown=function(t){return arguments.length?(r=t,f):r},function(r,e){return t=r,n=e,s()}}()(Bn,Bn);return t.copy=function(){return n=t,lr().domain(n.domain()).range(n.range()).interpolate(n.interpolate()).clamp(n.clamp()).unknown(n.unknown());var n},Lt.apply(t,arguments),cr(t)}function sr(){var t=cr(function(){var t,n,r,e,i,a=0,o=1,u=Bn,c=!1;function l(n){return null==n||isNaN(n=+n)?i:u(0===r?.5:(n=(e(n)-t)*r,c?Math.max(0,Math.min(1,n)):n))}function s(t){return function(n){var r,e;return arguments.length?([r,e]=n,u=t(r,e),l):[u(0),u(1)]}}return l.domain=function(i){return arguments.length?([a,o]=i,t=e(a=+a),n=e(o=+o),r=t===n?0:1/(n-t),l):[a,o]},l.clamp=function(t){return arguments.length?(c=!!t,l):c},l.interpolator=function(t){return arguments.length?(u=t,l):u},l.range=s(Fn),l.rangeRound=s(Hn),l.unknown=function(t){return arguments.length?(i=t,l):i},function(i){return e=i,t=i(a),n=i(o),r=t===n?0:1/(n-t),l}}()(Bn));return t.copy=function(){return n=t,sr().domain(n.domain()).interpolator(n.interpolator()).clamp(n.clamp()).unknown(n.unknown());var n},Ft.apply(t,arguments)}function fr(t){return t}er=function(t){var n,r,e=void 0===t.grouping||void 0===t.thousands?rr:(n=or.call(t.grouping,Number),r=t.thousands+"",function(t,e){for(var i=t.length,a=[],o=0,u=n[0],c=0;i>0&&u>0&&(c+u+1>e&&(u=Math.max(1,e-c)),a.push(t.substring(i-=u,i+u)),!((c+=u+1)>e));)u=n[o=(o+1)%n.length];return a.reverse().join(r)}),i=void 0===t.currency?"":t.currency[0]+"",a=void 0===t.currency?"":t.currency[1]+"",o=void 0===t.decimal?".":t.decimal+"",u=void 0===t.numerals?rr:function(t){return function(n){return n.replace(/[0-9]/g,function(n){return t[+n]})}}(or.call(t.numerals,String)),c=void 0===t.percent?"%":t.percent+"",l=void 0===t.minus?"−":t.minus+"",s=void 0===t.nan?"NaN":t.nan+"";function f(t){var n=(t=Yn(t)).fill,r=t.align,f=t.sign,h=t.symbol,p=t.zero,d=t.width,m=t.comma,g=t.precision,v=t.trim,_=t.type;"n"===_?(m=!0,_="g"):nr[_]||(void 0===g&&(g=12),v=!0,_="g"),(p||"0"===n&&"="===r)&&(p=!0,n="0",r="=");var y="$"===h?i:"#"===h&&/[boxX]/.test(_)?"0"+_.toLowerCase():"",x="$"===h?a:/[%p]/.test(_)?c:"",b=nr[_],w=/[defgprs%]/.test(_);function M(t){var i,a,c,h=y,M=x;if("c"===_)M=b(t)+M,t="";else{var A=(t=+t)<0||1/t<0;if(t=isNaN(t)?s:b(Math.abs(t),g),v&&(t=function(t){t:for(var n,r=t.length,e=1,i=-1;e<r;++e)switch(t[e]){case".":i=n=e;break;case"0":0===i&&(i=e),n=e;break;default:if(!+t[e])break t;i>0&&(i=0)}return i>0?t.slice(0,i)+t.slice(n+1):t}(t)),A&&0===+t&&"+"!==f&&(A=!1),h=(A?"("===f?f:l:"-"===f||"("===f?"":f)+h,M=("s"===_?ur[8+Zn/3]:"")+M+(A&&"("===f?")":""),w)for(i=-1,a=t.length;++i<a;)if(48>(c=t.charCodeAt(i))||c>57){M=(46===c?o+t.slice(i+1):t.slice(i))+M,t=t.slice(0,i);break}}m&&!p&&(t=e(t,Infinity));var k=h.length+t.length+M.length,N=k<d?new Array(d-k+1).join(n):"";switch(m&&p&&(t=e(N+t,N.length?d-M.length:Infinity),N=""),r){case"<":t=h+t+M+N;break;case"=":t=h+N+t+M;break;case"^":t=N.slice(0,k=N.length>>1)+h+t+M+N.slice(k);break;default:t=N+h+t+M}return u(t)}return g=void 0===g?6:/[gprs]/.test(_)?Math.max(1,Math.min(21,g)):Math.max(0,Math.min(20,g)),M.toString=function(){return t+""},M}return{format:f,formatPrefix:function(t,n){var r=f(((t=Yn(t)).type="f",t)),e=3*Math.max(-8,Math.min(8,Math.floor(Qn(n)/3))),i=Math.pow(10,-e),a=ur[8+e/3];return function(t){return r(i*t)+a}}}}({thousands:",",grouping:[3],currency:["$",""]}),ir=er.format,ar=er.formatPrefix;var hr=1e-6;function pr(t){return"translate("+t+",0)"}function dr(t){return"translate(0,"+t+")"}function mr(t){return n=>+t(n)}function gr(t,n){return n=Math.max(0,t.bandwidth()-2*n)/2,t.round()&&(n=Math.round(n)),r=>+t(r)+n}function vr(){return!this.__axis}function _r(t,n){var r=[],e=null,i=null,a=6,o=6,u=3,c="undefined"!=typeof window&&window.devicePixelRatio>1?0:.5,l=1===t||4===t?-1:1,s=4===t||2===t?"x":"y",f=1===t||3===t?pr:dr;function h(h){var p=null==e?n.ticks?n.ticks.apply(n,r):n.domain():e,d=null==i?n.tickFormat?n.tickFormat.apply(n,r):fr:i,m=Math.max(a,0)+u,g=n.range(),v=+g[0]+c,_=+g[g.length-1]+c,y=(n.bandwidth?gr:mr)(n.copy(),c),x=h.selection?h.selection():h,b=x.selectAll(".domain").data([null]),w=x.selectAll(".tick").data(p,n).order(),M=w.exit(),A=w.enter().append("g").attr("class","tick"),k=w.select("line"),N=w.select("text");b=b.merge(b.enter().insert("path",".tick").attr("class","domain").attr("stroke","currentColor")),w=w.merge(A),k=k.merge(A.append("line").attr("stroke","currentColor").attr(s+"2",l*a)),N=N.merge(A.append("text").attr("fill","currentColor").attr(s,l*m).attr("dy",1===t?"0em":3===t?"0.71em":"0.32em")),h!==x&&(b=b.transition(h),w=w.transition(h),k=k.transition(h),N=N.transition(h),M=M.transition(h).attr("opacity",hr).attr("transform",function(t){return isFinite(t=y(t))?f(t+c):this.getAttribute("transform")}),A.attr("opacity",hr).attr("transform",function(t){var n=this.parentNode.__axis;return f((n&&isFinite(n=n(t))?n:y(t))+c)})),M.remove(),b.attr("d",4===t||2===t?o?"M"+l*o+","+v+"H"+c+"V"+_+"H"+l*o:"M"+c+","+v+"V"+_:o?"M"+v+","+l*o+"V"+c+"H"+_+"V"+l*o:"M"+v+","+c+"H"+_),w.attr("opacity",1).attr("transform",function(t){return f(y(t)+c)}),k.attr(s+"2",l*a),N.attr(s,l*m).text(d),x.filter(vr).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",2===t?"start":4===t?"end":"middle"),x.each(function(){this.__axis=y})}return h.scale=function(t){return arguments.length?(n=t,h):n},h.ticks=function(){return r=Array.from(arguments),h},h.tickArguments=function(t){return arguments.length?(r=null==t?[]:Array.from(t),h):r.slice()},h.tickValues=function(t){return arguments.length?(e=null==t?null:Array.from(t),h):e&&e.slice()},h.tickFormat=function(t){return arguments.length?(i=t,h):i},h.tickSize=function(t){return arguments.length?(a=o=+t,h):a},h.tickSizeInner=function(t){return arguments.length?(a=+t,h):a},h.tickSizeOuter=function(t){return arguments.length?(o=+t,h):o},h.tickPadding=function(t){return arguments.length?(u=+t,h):u},h.offset=function(t){return arguments.length?(c=+t,h):c},h}function yr(t){return _r(3,t)}function xr(t){return _r(4,t)}function br(t){for(var n=t.length/6|0,r=new Array(n),e=0;e<n;)r[e]="#"+t.slice(6*e,6*++e);return r}var wr,Mr=br("1f77b4ff7f0e2ca02cd627289467bd8c564be377c27f7f7fbcbd2217becf"),Ar=Sn((wr=new Array(3).concat("fc8d59ffffbf91bfdb","d7191cfdae61abd9e92c7bb6","d7191cfdae61ffffbfabd9e92c7bb6","d73027fc8d59fee090e0f3f891bfdb4575b4","d73027fc8d59fee090ffffbfe0f3f891bfdb4575b4","d73027f46d43fdae61fee090e0f3f8abd9e974add14575b4","d73027f46d43fdae61fee090ffffbfe0f3f8abd9e974add14575b4","a50026d73027f46d43fdae61fee090e0f3f8abd9e974add14575b4313695","a50026d73027f46d43fdae61fee090ffffbfe0f3f8abd9e974add14575b4313695").map(br))[wr.length-1]);function kr(t){return function(){return t}}const Nr=Math.abs,$r=Math.atan2,Er=Math.cos,Cr=Math.max,qr=Math.min,Sr=Math.sin,jr=Math.sqrt,Or=1e-12,zr=Math.PI,Tr=zr/2,Pr=2*zr;function Rr(t){return t>=1?Tr:t<=-1?-Tr:Math.asin(t)}const Ir=Math.PI,Lr=2*Ir,Fr=1e-6,Hr=Lr-Fr;function Vr(t){this._+=t[0];for(let n=1,r=t.length;n<r;++n)this._+=arguments[n]+t[n]}class Dr{constructor(t){this._x0=this._y0=this._x1=this._y1=null,this._="",this._append=null==t?Vr:function(t){let n=Math.floor(t);if(!(n>=0))throw new Error(`invalid digits: ${t}`);if(n>15)return Vr;const r=10**n;return function(t){this._+=t[0];for(let n=1,e=t.length;n<e;++n)this._+=Math.round(arguments[n]*r)/r+t[n]}}(t)}moveTo(t,n){this._append`M${this._x0=this._x1=+t},${this._y0=this._y1=+n}`}closePath(){null!==this._x1&&(this._x1=this._x0,this._y1=this._y0,this._append`Z`)}lineTo(t,n){this._append`L${this._x1=+t},${this._y1=+n}`}quadraticCurveTo(t,n,r,e){this._append`Q${+t},${+n},${this._x1=+r},${this._y1=+e}`}bezierCurveTo(t,n,r,e,i,a){this._append`C${+t},${+n},${+r},${+e},${this._x1=+i},${this._y1=+a}`}arcTo(t,n,r,e,i){if(t=+t,n=+n,r=+r,e=+e,(i=+i)<0)throw new Error(`negative radius: ${i}`);let a=this._x1,o=this._y1,u=r-t,c=e-n,l=a-t,s=o-n,f=l*l+s*s;if(null===this._x1)this._append`M${this._x1=t},${this._y1=n}`;else if(f>Fr)if(Math.abs(s*u-c*l)>Fr&&i){let h=r-a,p=e-o,d=u*u+c*c,m=h*h+p*p,g=Math.sqrt(d),v=Math.sqrt(f),_=i*Math.tan((Ir-Math.acos((d+f-m)/(2*g*v)))/2),y=_/v,x=_/g;Math.abs(y-1)>Fr&&this._append`L${t+y*l},${n+y*s}`,this._append`A${i},${i},0,0,${+(s*h>l*p)},${this._x1=t+x*u},${this._y1=n+x*c}`}else this._append`L${this._x1=t},${this._y1=n}`}arc(t,n,r,e,i,a){if(t=+t,n=+n,a=!!a,(r=+r)<0)throw new Error(`negative radius: ${r}`);let o=r*Math.cos(e),u=r*Math.sin(e),c=t+o,l=n+u,s=1^a,f=a?e-i:i-e;null===this._x1?this._append`M${c},${l}`:(Math.abs(this._x1-c)>Fr||Math.abs(this._y1-l)>Fr)&&this._append`L${c},${l}`,r&&(f<0&&(f=f%Lr+Lr),f>Hr?this._append`A${r},${r},0,1,${s},${t-o},${n-u}A${r},${r},0,1,${s},${this._x1=c},${this._y1=l}`:f>Fr&&this._append`A${r},${r},0,${+(f>=Ir)},${s},${this._x1=t+r*Math.cos(i)},${this._y1=n+r*Math.sin(i)}`)}rect(t,n,r,e){this._append`M${this._x0=this._x1=+t},${this._y0=this._y1=+n}h${r=+r}v${+e}h${-r}Z`}toString(){return this._}}function Br(t){let n=3;return t.digits=function(r){if(!arguments.length)return n;if(null==r)n=null;else{const t=Math.floor(r);if(!(t>=0))throw new RangeError(`invalid digits: ${r}`);n=t}return t},()=>new Dr(n)}function Xr(t){return t.innerRadius}function Ur(t){return t.outerRadius}function Jr(t){return t.startAngle}function Gr(t){return t.endAngle}function Qr(t){return t&&t.padAngle}function Zr(t,n,r,e,i,a,o){var u=t-r,c=n-e,l=(o?a:-a)/jr(u*u+c*c),s=l*c,f=-l*u,h=t+s,p=n+f,d=r+s,m=e+f,g=(h+d)/2,v=(p+m)/2,_=d-h,y=m-p,x=_*_+y*y,b=i-a,w=h*m-d*p,M=(y<0?-1:1)*jr(Cr(0,b*b*x-w*w)),A=(w*y-_*M)/x,k=(-w*_-y*M)/x,N=(w*y+_*M)/x,$=(-w*_+y*M)/x,E=A-g,C=k-v,q=N-g,S=$-v;return E*E+C*C>q*q+S*S&&(A=N,k=$),{cx:A,cy:k,x01:-s,y01:-f,x11:A*(i/b-1),y11:k*(i/b-1)}}function Wr(t){return"object"==typeof t&&"length"in t?t:Array.from(t)}function Yr(t){this._context=t}function Kr(t){return new Yr(t)}function te(t){return t[0]}function ne(t){return t[1]}function re(t,n){var r=kr(!0),e=null,i=Kr,a=null,o=Br(u);function u(u){var c,l,s,f=(u=Wr(u)).length,h=!1;for(null==e&&(a=i(s=o())),c=0;c<=f;++c)!(c<f&&r(l=u[c],c,u))===h&&((h=!h)?a.lineStart():a.lineEnd()),h&&a.point(+t(l,c,u),+n(l,c,u));if(s)return a=null,s+""||null}return t="function"==typeof t?t:void 0===t?te:kr(t),n="function"==typeof n?n:void 0===n?ne:kr(n),u.x=function(n){return arguments.length?(t="function"==typeof n?n:kr(+n),u):t},u.y=function(t){return arguments.length?(n="function"==typeof t?t:kr(+t),u):n},u.defined=function(t){return arguments.length?(r="function"==typeof t?t:kr(!!t),u):r},u.curve=function(t){return arguments.length?(i=t,null!=e&&(a=i(e)),u):i},u.context=function(t){return arguments.length?(null==t?e=a=null:a=i(e=t),u):e},u}function ee(t,n){return n<t?-1:n>t?1:n>=t?0:NaN}function ie(t){return t}function ae(t,n,r){t._context.bezierCurveTo((2*t._x0+t._x1)/3,(2*t._y0+t._y1)/3,(t._x0+2*t._x1)/3,(t._y0+2*t._y1)/3,(t._x0+4*t._x1+n)/6,(t._y0+4*t._y1+r)/6)}function oe(t){this._context=t}function ue(t){return new oe(t)}Yr.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,n):this._context.moveTo(t,n);break;case 1:this._point=2;default:this._context.lineTo(t,n)}}},oe.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:ae(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,n):this._context.moveTo(t,n);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:ae(this,t,n)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=n}};var ce=0,le={width:400,height:400,color:"#000",background:"#fff",title:"",xlabel:"",ylabel:"",axisColor:"#000000",titleColor:"#000000",xAxisColor:null,yAxisColor:null};function se(t,n){var e,i=r({},le,n),a=t;if(!a){a="#datly-plot-"+ce++;var o=document.createElement("div");o.id=a.replace("#",""),document.body.appendChild(o)}return(e=st(a)).html(""),e.style("background",i.background).style("display","inline-block"),i.title&&e.append("h3").style("text-align","center").style("font-family","sans-serif").style("margin-bottom","5px").style("color",i.titleColor||le.titleColor).text(i.title),{svg:e.append("svg").attr("width",i.width).attr("height",i.height).style("background",i.background),config:i}}function fe(t,n){t.selectAll("path").attr("stroke",n),t.selectAll("line").attr("stroke",n),t.selectAll("text").attr("fill",n)}function he(t,n,r,e){void 0===r&&(r={});var i=se(e,r),a=i.svg,o=i.config,u=o.width-40-20,c=o.height-20-40,l=lr().domain(vt(t)).nice().range([0,u]),s=lr().domain(vt(n)).nice().range([c,0]),f=a.append("g").attr("transform","translate(40,20)");f.selectAll("circle").data(t).enter().append("circle").attr("cx",function(n,r){return l(t[r])}).attr("cy",function(t,r){return s(n[r])}).attr("r",r.size||4).attr("fill",o.color);var h=f.append("g").attr("transform","translate(0,"+c+")").call(yr(l)),p=f.append("g").call(xr(s));fe(h,o.xAxisColor||o.axisColor),fe(p,o.yAxisColor||o.axisColor)}var pe=function(t){return""===t||"null"===t||"NULL"===t||"NaN"===t?null:"true"===t||"TRUE"===t||"false"!==t&&"FALSE"!==t&&(/^-?\d+$/.test(t)?parseInt(t,10):/^-?\d*\.\d+$/.test(t)?parseFloat(t):t)},de=function(t,n){return{type:"dataframe",columns:t,data:n,n_rows:n.length,n_cols:t.length}},me=function(){return de([],[])},ge=function(t){return[].concat(new Set(t))},ve=function(t,n,r,e){void 0===n&&(n=""),void 0===r&&(r=5),void 0===e&&(e=0);var i={};if(e>=r)return i[n||"value"]=t,i;for(var a=function(){var t=u[o],a=t[0],c=t[1],l=n?n+"."+a:a;if(Array.isArray(c))i[l]=c,c.length>0&&"object"==typeof c[0]&&!Array.isArray(c[0])&&Object.keys(c[0]).forEach(function(t){i[l+"."+t]=c.map(function(n){var r;return null!=(r=n[t])?r:null})});else if(c&&"object"==typeof c&&null!==c){var s=ve(c,l,r,e+1);Object.assign(i,s)}else i[l]=c},o=0,u=Object.entries(t);o<u.length;o++)a();return i},_e=function(t){return"number"==typeof t&&Number.isFinite(t)},ye=function(t){return null==t||""===t?NaN:Number(t)},xe=function(t){return t.map(ye).filter(function(t){return Number.isFinite(t)})},be=function(t){return xe(t).reduce(function(t,n){return t+n},0)},we=function(t){var n=xe(t),r=n.length;return r?be(n)/r:NaN},Me=function(t,n){void 0===n&&(n=!0);var r=xe(t),e=r.length;if(e<2)return NaN;var i=we(r);return r.reduce(function(t,n){return t+Math.pow(n-i,2)},0)/(n?e-1:e)},Ae=function(t,n){return void 0===n&&(n=!0),Math.sqrt(Me(t,n))},ke=function(t){return Math.min.apply(Math,xe(t))},Ne=function(t){return Math.max.apply(Math,xe(t))},$e=function(t){var n=xe(t).sort(function(t,n){return t-n}),r=n.length;if(!r)return NaN;var e=Math.floor(r/2);return r%2?n[e]:(n[e-1]+n[e])/2},Ee=function(t,n){var r=xe(t).sort(function(t,n){return t-n}),e=r.length;if(!e)return NaN;var i=(e-1)*n,a=Math.floor(i),o=i-a;return r[a]+(r[Math.min(a+1,e-1)]-r[a])*o},Ce=function(t){var n=xe(t),r=n.length;if(r<3)return NaN;var e=we(n),i=Ae(n,!0);return n.reduce(function(t,n){return t+Math.pow(n-e,3)},0)/r/Math.pow(i,3)*Math.sqrt(r*(r-1))/(r-2)},qe=function(t){var n=xe(t),r=n.length;if(r<4)return NaN;var e=we(n),i=Me(n,!0);return n.reduce(function(t,n){return t+Math.pow(n-e,4)},0)/r/Math.pow(i,2)-3},Se=function(t,n){var r=xe(t),e=xe(n),i=Math.min(r.length,e.length);if(i<2)return NaN;for(var a=r.slice(0,i),o=e.slice(0,i),u=we(a),c=we(o),l=0,s=0,f=0,h=0;h<i;h++){var p=a[h]-u,d=o[h]-c;l+=p*d,s+=p*p,f+=d*d}return l/Math.sqrt(s*f)},je=function(t){for(var n=xe(t).map(function(t,n){return{v:t,i:n}}).sort(function(t,n){return t.v-n.v}),r=Array(t.length).fill(NaN),e=0;e<n.length;){for(var i=e;i+1<n.length&&n[i+1].v===n[e].v;)i++;for(var a=(e+i)/2+1,o=e;o<=i;o++)r[n[o].i]=a;e=i+1}return r.filter(Number.isFinite)},Oe=function(t,n){return Se(je(t),je(n))},ze=function(t){return Math.exp(-.5*t*t)/Math.sqrt(2*Math.PI)},Te=function(t){return.5*(1+Pe(t/Math.SQRT2))},Pe=function(t){var n=Math.sign(t),r=1/(1+.3275911*(t=Math.abs(t)));return n*(1-((((1.061405429*r-1.453152027)*r+1.421413741)*r-.284496736)*r+.254829592)*r*Math.exp(-t*t))},Re=function(t){return t<=0||t>=1?NaN:Math.SQRT2*function(t){var n=Math.log(1-t*t),r=2/(.147*Math.PI)+n/2;return Math.sign(t)*Math.sqrt(Math.sqrt(r*r-n/.147)-r)}(2*t-1)},Ie=function(t,n){return r({type:t},n)},Le=function(t,n){return{type:t,error:n}},Fe=function(t){return Array.isArray(t)&&t.length?{type:"missing_report",rows:ge(ve(t.map(function(t){return Object.keys(t)}))).map(function(n){var r=t.map(function(t){return t[n]}),e=r.filter(function(t){return null==t||""===t}).length;return{column:n,missing:e,missing_rate:e/r.length}})}:Le("missing_report","empty data")},He=function(t,n){void 0===n&&(n="pearson");var r=ge(ve(t.map(function(t){return Object.keys(t)}))).filter(function(n){return t.every(function(t){return Number.isFinite(ye(t[n]))||null==t[n]})}),e={};return r.forEach(function(i){e[i]={};var a=t.map(function(t){return ye(t[i])});r.forEach(function(r){var o=t.map(function(t){return ye(t[r])}),u="spearman"===n?Oe(a,o):Se(a,o);e[i][r]=u})}),{type:"correlation_matrix",method:n,matrix:e}},Ve=function(t,n,r){return void 0===n&&(n=0),void 0===r&&(r=1),Ie("distribution",{name:"normal_cdf",params:{mu:n,sigma:r},value:Array.isArray(t)?t.map(function(t){return Te((t-n)/r)}):Te((t-n)/r)})},De=function(t,n,r){return void 0===n&&(n=0),void 0===r&&(r=1),Ie("distribution",{name:"normal_ppf",params:{mu:n,sigma:r},value:Array.isArray(t)?t.map(function(t){return n+r*Re(t)}):n+r*Re(t)})},Be=function(t,n){var r=n/2,e=n/(n+t*t),i=Math.pow(e,r)*Math.pow(1-e,.5)/r*function(t,n,r){for(var e,i=1,a=1,o=1,u=t+.5,c=t+1,l=t-1,s=1-u*r/c,f=1;f<=200;f++){var h=f+f,p=f*(.5-f)*r/((l+h)*(t+h)),d=o+p*i,m=s+p*a,g=m+(p=-(t+f)*(u+f)*r/((t+h)*(c+h)))*s;if(e=o,i=d/g,a=m/g,o=(d+p*o)/g,s=1,Math.abs(o-e)<3e-7*Math.abs(o))return o}return o}(r,0,e),a=.5*i;return t>=0?1-a:a},Xe=function(t,n){for(var r=t.length,e=n[0].length,i=n.length,a=Array(r).fill(0).map(function(){return Array(e).fill(0)}),o=0;o<r;o++)for(var u=0;u<e;u++){for(var c=0,l=0;l<i;l++)c+=t[o][l]*n[l][u];a[o][u]=c}return a},Ue=function(t,n){var r,e,i=function(t){return t.map(function(t){return[1].concat(t)})}(t),a=function(t,n){void 0===n&&(n=1e-8);for(var r=function(t){return t[0].map(function(n,r){return t.map(function(t){return t[r]})})}(t),e=Xe(r,t),i=e.length,a=0;a<i;a++)e[a][a]+=n;var o=function(t){for(var n=t.length,r=t.map(function(t,r){return t.concat(Array.from({length:n},function(t,n){return r===n?1:0}))}),e=0;e<n;e++){for(var i=r[e][e],a=e,o=e+1;o<n;o++)Math.abs(r[o][e])>Math.abs(i)&&(i=r[o][e],a=o);if(a!==e){var u=r[e];r[e]=r[a],r[a]=u}var c=r[e][e];if(!(Math.abs(c)<1e-12)){for(var l=0;l<2*n;l++)r[e][l]/=c;for(var s=0;s<n;s++)if(s!==e)for(var f=r[s][e],h=0;h<2*n;h++)r[s][h]-=f*r[e][h]}}return r.map(function(t){return t.slice(n)})}(e);return Xe(o,r)}(i),o=Xe(a,n.map(function(t){return[t]})).map(function(t){return t[0]}),u=t.map(function(t){return o[0]+t.reduce(function(t,n,r){return t+o[r+1]*n},0)}),c=n.map(function(t,n){return t-u[n]}),l=we(c.map(function(t){return t*t})),s=1-be(c.map(function(t){return t*t}))/be(n.map(function(t){return Math.pow(t-we(n),2)}));return{type:"linear_regression",weights:o,mse:l,r2:s,n:n.length,p:null!=(r=null==(e=t[0])?void 0:e.length)?r:0}},Je=function(t){return 1/(1+Math.exp(-t))},Ge=function(t,n,r){var e,i,a,o,u;void 0===r&&(r={});for(var c=null!=(e=r.learning_rate)?e:.1,l=null!=(i=r.iterations)?i:1e3,s=null!=(a=r.l2)?a:0,f=null!=(o=null==(u=t[0])?void 0:u.length)?o:0,h=Array(f+1).fill(0),p=t.map(function(t){return[1].concat(t)}),d=0;d<l;d++){for(var m=Array(f+1).fill(0),g=function(t){for(var r=h.reduce(function(n,r,e){return n+r*p[t][e]},0),e=Je(r)-n[t],i=0;i<m.length;i++)m[i]+=e*p[t][i]},v=0;v<p.length;v++)g(v);for(var _=0;_<h.length;_++)m[_]=m[_]/p.length+s*h[_],h[_]-=c*m[_]}var y=t.map(function(t){return Je(h[0]+t.reduce(function(t,n,r){return t+h[r+1]*n},0))}),x=y.map(function(t){return t>=.5?1:0}),b=x.filter(function(t,r){return t===n[r]}).length/n.length;return{type:"logistic_regression",weights:h,accuracy:b,n:n.length,p:f}},Qe=function(t,n){try{var r,e=JSON.parse(JSON.stringify(We(t))),i=e.weights||(null==(r=e.model)?void 0:r.weights);return i?{type:"prediction",name:"linear_regression",predictions:n.map(function(t){return i[0]+t.reduce(function(t,n,r){return t+i[r+1]*n},0)})}:Le("predict_linear","invalid model")}catch(t){return Le("predict_linear","invalid model text")}},Ze=function(t,n,r){void 0===r&&(r=.5);try{var e,i=JSON.parse(JSON.stringify(We(t))),a=i.weights||(null==(e=i.model)?void 0:e.weights);if(!a)return Le("predict_logistic","invalid model");var o=n.map(function(t){return Je(a[0]+t.reduce(function(t,n,r){return t+a[r+1]*n},0))}),u=o.map(function(t){return t>=r?1:0});return{type:"prediction",name:"logistic_regression",threshold:r,probabilities:o,classes:u}}catch(t){return Le("predict_logistic","invalid model text")}},We=function(t){var n=function(t){return Array.isArray(t)?t.map(n):t&&"object"==typeof t?Object.fromEntries(Object.entries(t).map(function(t){var r=t[1];return[String(t[0]).toLowerCase(),n(r)]})):t};return n(function(t){try{return"string"==typeof t?JSON.parse(t):t}catch(t){return{}}}(t))},Ye=function(t,n){for(var r=Math.min(t.length,n.length),e=0,i=0,a=0,o=0,u=0;u<r;u++)1===n[u]&&1===t[u]?e++:0===n[u]&&0===t[u]?i++:1===n[u]&&0===t[u]?a++:0===n[u]&&1===t[u]&&o++;var c=e+a?e/(e+a):0,l=e+o?e/(e+o):0;return{type:"metric",name:"classification_report",confusion_matrix:{tp:e,fp:a,tn:i,fn:o},accuracy:(e+i)/r,precision:c,recall:l,f1:c+l?2*c*l/(c+l):0}},Ke=function(t,n){var r=Math.min(t.length,n.length),e=Array.from({length:r},function(r,e){return t[e]-n[e]});return{type:"metric",name:"regression_report",mse:we(e.map(function(t){return t*t})),mae:we(e.map(function(t){return Math.abs(t)})),r2:1-be(e.map(function(t){return t*t}))/be(t.map(function(n){return Math.pow(n-we(t),2)}))}},ti=function(t,n){var r=xe(t),e=xe(n),i=Math.min(r.length,e.length);if(i<2)return Le("corr_kendall","insufficient data");for(var a=0,o=0,u=0;u<i-1;u++)for(var c=u+1;c<i;c++){var l=r[c]-r[u],s=e[c]-e[u];l*s>0?a++:l*s<0&&o++}return Ie("statistic",{name:"kendall_tau",value:(a-o)/(.5*i*(i-1)),concordant:a,discordant:o,n:i})},ni=function(t,n){return Math.sqrt(t.reduce(function(t,r,e){return t+Math.pow(r-n[e],2)},0))},ri=function(t,n,r){var e,i;return void 0===r&&(r=5),t.length!==n.length?Le("train_knn_classifier","X and y length mismatch"):{type:"knn_classifier",k:r,X:t,y:n,n:n.length,p:null!=(e=null==(i=t[0])?void 0:i.length)?e:0}},ei=function(t,n){try{var r=We(t);if("knn_classifier"!==r.type)return Le("predict_knn_classifier","invalid model type");var e=r.k,i=r.x,a=r.y,o=n.map(function(t){var n=i.map(function(n,r){return{dist:ni(t,n),label:a[r]}});n.sort(function(t,n){return t.dist-n.dist});var r=n.slice(0,e),o={};r.forEach(function(t){var n=t.label;o[n]=(o[n]||0)+1});var u=Object.entries(o).sort(function(t,n){return n[1]-t[1]})[0][0];return Number(u)});return{type:"prediction",name:"knn_classifier",k:e,predictions:o}}catch(t){return Le("predict_knn_classifier","invalid model text")}},ii=function(t,n,r){var e,i;return void 0===r&&(r=5),t.length!==n.length?Le("train_knn_regressor","X and y length mismatch"):{type:"knn_regressor",k:r,X:t,y:n,n:n.length,p:null!=(e=null==(i=t[0])?void 0:i.length)?e:0}},ai=function(t,n){try{var r=We(t);if("knn_regressor"!==r.type)return Le("predict_knn_regressor","invalid model type");var e=r.k,i=r.x,a=r.y,o=n.map(function(t){var n=i.map(function(n,r){return{dist:ni(t,n),value:a[r]}});n.sort(function(t,n){return t.dist-n.dist});var r=n.slice(0,e);return we(r.map(function(t){return t.value}))});return{type:"prediction",name:"knn_regressor",k:e,predictions:o}}catch(t){return Le("predict_knn_regressor","invalid model text")}},oi=function(t){var n={};t.forEach(function(t){n[t]=(n[t]||0)+1});var r=t.length;return 1-Object.values(n).reduce(function(t,n){return t+Math.pow(n/r,2)},0)},ui=function(t){var n=we(t);return we(t.map(function(t){return Math.pow(t-n,2)}))},ci=function(t,n,r,e,i,a){if(r>=e||n.length<i){var o="classification"===a?Object.entries(n.reduce(function(t,n){return t[n]=(t[n]||0)+1,t},{})).sort(function(t,n){return n[1]-t[1]})[0][0]:we(n);return{leaf:!0,prediction:Number(o),n:n.length}}var u=function(t,n,r){void 0===r&&(r="classification");for(var e={feature:-1,threshold:0,score:Infinity},i=t[0].length,a=function(i){for(var a=ge(t.map(function(t){return t[i]})).sort(function(t,n){return t-n}),o=function(){var o=(a[u]+a[u+1])/2,c=[],l=[];if(t.forEach(function(t,n){t[i]<=o?c.push(n):l.push(n)}),0===c.length||0===l.length)return 1;var s,f=c.map(function(t){return n[t]}),h=l.map(function(t){return n[t]});(s="classification"===r?f.length/n.length*oi(f)+h.length/n.length*oi(h):f.length/n.length*ui(f)+h.length/n.length*ui(h))<e.score&&(e={feature:i,threshold:o,score:s})},u=0;u<a.length-1;u++)o()},o=0;o<i;o++)a(o);return e}(t,n,a);if(-1===u.feature){var c="classification"===a?Object.entries(n.reduce(function(t,n){return t[n]=(t[n]||0)+1,t},{})).sort(function(t,n){return n[1]-t[1]})[0][0]:we(n);return{leaf:!0,prediction:Number(c),n:n.length}}var l=[],s=[];t.forEach(function(t,n){t[u.feature]<=u.threshold?l.push(n):s.push(n)});var f=l.map(function(n){return t[n]}),h=l.map(function(t){return n[t]}),p=s.map(function(n){return t[n]}),d=s.map(function(t){return n[t]});return{leaf:!1,feature:u.feature,threshold:u.threshold,left:ci(f,h,r+1,e,i,a),right:ci(p,d,r+1,e,i,a)}},li=function(t,n,r){var e,i,a,o;void 0===r&&(r={});var u=null!=(e=r.max_depth)?e:5,c=null!=(i=r.min_samples_split)?i:2;return{type:"decision_tree_classifier",tree:ci(t,n,0,u,c,"classification"),max_depth:u,min_samples:c,n:n.length,p:null!=(a=null==(o=t[0])?void 0:o.length)?a:0}},si=function(t,n,r){var e,i,a,o;void 0===r&&(r={});var u=null!=(e=r.max_depth)?e:5,c=null!=(i=r.min_samples_split)?i:2;return{type:"decision_tree_regressor",tree:ci(t,n,0,u,c,"regression"),max_depth:u,min_samples:c,n:n.length,p:null!=(a=null==(o=t[0])?void 0:o.length)?a:0}},fi=function(t,n){return t.leaf?t.prediction:fi(n[t.feature]<=t.threshold?t.left:t.right,n)},hi=function(t,n){try{var r=We(t),e=n.map(function(t){return fi(r.tree,t)});return{type:"prediction",name:r.type,predictions:e}}catch(t){return Le("predict_decision_tree","invalid model text")}},pi=function(t,n,r){var e=t.length,i=r,a=Array.from({length:e},function(){return Math.floor((i=(9301*i+49297)%233280)/233280*e)});return{X_boot:a.map(function(n){return t[n]}),y_boot:a.map(function(t){return n[t]})}},di=function(t,n,r){var e,i,a,o,u,c;void 0===r&&(r={});for(var l=null!=(e=r.n_estimators)?e:10,s=null!=(i=r.max_depth)?i:5,f=null!=(a=r.min_samples_split)?a:2,h=null!=(o=r.seed)?o:42,p=[],d=0;d<l;d++){var m=pi(t,n,h+d),g=We(li(m.X_boot,m.y_boot,{max_depth:s,min_samples:f}));p.push(g.tree)}return{type:"random_forest_classifier",trees:p,n_trees:l,max_depth:s,min_samples:f,n:n.length,p:null!=(u=null==(c=t[0])?void 0:c.length)?u:0}},mi=function(t,n,r){var e,i,a,o,u,c;void 0===r&&(r={});for(var l=null!=(e=r.n_estimators)?e:10,s=null!=(i=r.max_depth)?i:5,f=null!=(a=r.min_samples_split)?a:2,h=null!=(o=r.seed)?o:42,p=[],d=0;d<l;d++){var m=pi(t,n,h+d),g=We(si(m.X_boot,m.y_boot,{max_depth:s,min_samples:f}));p.push(g.tree)}return{type:"random_forest_regressor",trees:p,n_trees:l,max_depth:s,min_samples:f,n:n.length,p:null!=(u=null==(c=t[0])?void 0:c.length)?u:0}},gi=function(t,n){try{var r=We(t),e=n.map(function(t){var n=r.trees.map(function(n){return fi(n,t)}),e={};return n.forEach(function(t){e[t]=(e[t]||0)+1}),Number(Object.entries(e).sort(function(t,n){return n[1]-t[1]})[0][0])});return{type:"prediction",name:"random_forest_classifier",n_trees:r.n_trees,predictions:e}}catch(t){return Le("predict_random_forest_classifier","invalid model text")}},vi=function(t,n){try{var r=We(t),e=n.map(function(t){var n=r.trees.map(function(n){return fi(n,t)});return we(n)});return{type:"prediction",name:"random_forest_regressor",n_trees:r.n_trees,predictions:e}}catch(t){return Le("predict_random_forest_regressor","invalid model text")}},_i=function(t,n){try{var r=We(t),e=n.map(function(t){var n={};return r.classes.forEach(function(e){var i=Math.log(r.priors[e]);r.stats[e].forEach(function(n,r){var e=(t[r]-n.mean)/n.std;i+=-.5*e*e-Math.log(n.std)-.5*Math.log(2*Math.PI)}),n[e]=i}),Number(Object.entries(n).sort(function(t,n){return n[1]-t[1]})[0][0])});return{type:"prediction",name:"naive_bayes",predictions:e}}catch(t){return Le("predict_naive_bayes","invalid model text")}},yi=function(t){var n,r,e=null!=(n=null==(r=t[0])?void 0:r.length)?n:0;return{type:"standard_scaler",params:Array.from({length:e},function(n,r){var e=t.map(function(t){return t[r]});return{mean:we(e),std:Ae(e,!0)}}),n:t.length,p:e}},xi=function(t,n){try{var r=We(t),e=n.map(function(t){return t.map(function(t,n){return(t-r.params[n].mean)/r.params[n].std})});return{type:"scaled_data",method:"standard",data:e,preview:e.slice(0,5)}}catch(t){return Le("standard_scaler_transform","invalid scaler text")}},bi=function(t,n){var r=Array(n).fill(0),e=function(t,n){t.leaf||(r[t.feature]+=n,e(t.left,n),e(t.right,n))};e(t,1);var i=r.reduce(function(t,n){return t+n},0);return r.map(function(t){return i>0?t/i:0})},wi=function(t){if(!t.length)return me();var n=ge(t.flatMap(function(t){return Object.keys(t)})),r=t.map(function(t){var r={};return n.forEach(function(n){return r[n]=pe(t[n])}),r});return de(n,r)},Mi=function(t){var n=t.headers,r=t.data.map(function(t){var r={};return n.forEach(function(n,e){return r[n]=pe(t[e])}),r});return de(n,r)},Ai=function(t,n){void 0===n&&(n={});var e=r({flatten:!0,maxDepth:10},n);if(e.flatten){var i=ve(t,"",e.maxDepth),a=Object.keys(i);return de(a,[i])}var o=Object.entries(t).map(function(t){return{key:t[0],value:pe(t[1])}});return de(["key","value"],o)},ki=function(t,n){if(!t.columns.includes(n))throw new Error("Column '"+n+"' not found. Available: "+t.columns.join(", "));return t.data.map(function(t){return t[n]})},Ni=function(t,n){void 0===n&&(n=null);var r=n||t.columns.filter(function(n){var r;return"number"==typeof(null==(r=t.data[0])?void 0:r[n])}),e={};return r.forEach(function(n){var r=t.data.map(function(t){return t[n]}).filter(function(t){return"number"==typeof t&&!isNaN(t)});if(0!==r.length){var i=[].concat(r).sort(function(t,n){return t-n}),a=r.reduce(function(t,n){return t+n},0),o=a/r.length,u=i[0],c=i[i.length-1],l=i.length%2==0?(i[i.length/2-1]+i[i.length/2])/2:i[Math.floor(i.length/2)];e[n]={count:r.length,mean:o,median:l,min:u,max:c,sum:a}}else e[n]={error:"no numeric values"}}),{description:"Descriptive Statistics",analyzed_columns:r.length,statistics:e}},$i={df_from_csv:function(t,n){void 0===n&&(n={});var e=r({delimiter:",",header:!0,skipEmptyLines:!0},n),i=t.split("\n").filter(function(t){return!e.skipEmptyLines||""!==t.trim()});if(0===i.length)return me();for(var a=e.header?i[0].split(e.delimiter).map(function(t){return t.trim().replace(/['"]/g,"")}):Array.from({length:i[0].split(e.delimiter).length},function(t,n){return"col_"+n}),o=[],u=function(){var t=i[c].split(e.delimiter);if(t.length===a.length){var n={};a.forEach(function(r,e){n[r]=pe(t[e].trim().replace(/['"]/g,""))}),o.push(n)}},c=e.header?1:0;c<i.length;c++)u();return de(a,o)},df_from_json:function(t){var n;return n="string"==typeof t?JSON.parse(t):t,Array.isArray(n)?wi(n):n.headers&&n.data?Mi(n):"object"==typeof n?Ai(n):me()},df_from_array:wi,df_from_structured_json:Mi,df_from_object:Ai,df_get_column:ki,df_get_columns:function(t,n){var r={};return n.forEach(function(n){return r[n]=ki(t,n)}),r},df_filter:function(t,n){var r=t.data.filter(n);return de(t.columns,r)},df_sort:function(t,n,r){if(void 0===r&&(r="asc"),!t.columns.includes(n))throw new Error("Column '"+n+"' not found");var e=[].concat(t.data).sort(function(t,e){var i=t[n],a=e[n];return null==i?1:null==a?-1:"string"==typeof i&&"string"==typeof a?"asc"===r?i.localeCompare(a):a.localeCompare(i):"asc"===r?i-a:a-i});return de(t.columns,e)},df_select:function(t,n){n.forEach(function(n){if(!t.columns.includes(n))throw new Error("Column '"+n+"' not found")});var r=t.data.map(function(t){var r={};return n.forEach(function(n){return r[n]=t[n]}),r});return de(n,r)},df_info:function(t){var n={},r={},e={};return t.columns.forEach(function(i){var a=t.data.map(function(t){return t[i]}),o=a.filter(function(t){return null!=t}),u=new Set(o.map(function(t){return typeof t}));n[i]=0===u.size?"empty":1===u.size?Array.from(u)[0]:"mixed",r[i]=a.length-o.length,e[i]=new Set(o).size}),{n_rows:t.n_rows,n_cols:t.n_cols,columns:t.columns,types:n,null_counts:r,unique_counts:e}},df_head:function(t,n){return void 0===n&&(n=5),de(t.columns,t.data.slice(0,n))},df_tail:function(t,n){return void 0===n&&(n=5),de(t.columns,t.data.slice(-n))},df_concat:function(){var t=[].slice.call(arguments);if(!t.length)return me();var n=ge(t.flatMap(function(t){return t.columns})),r=t.flatMap(function(t){return t.data.map(function(t){var r={};return n.forEach(function(n){var e;return r[n]=null!=(e=t[n])?e:null}),r})});return de(n,r)},df_merge:function(t,e,i){var a=i.on,o=i.how,u=void 0===o?"inner":o;Array.isArray(a)||(a=[a]);for(var c,l=ge([].concat(t.columns,e.columns)),s=[],f=function(){var t=c.value,i=e.data.filter(function(n){return a.every(function(r){return t[r]===n[r]})});if(i.length>0)for(var o,l=n(i);!(o=l()).done;)s.push(r({},t,o.value));else if("left"===u||"outer"===u){var f=r({},t);e.columns.forEach(function(t){a.includes(t)||(f[t]=null)}),s.push(f)}},h=n(t.data);!(c=h()).done;)f();if("right"===u||"outer"===u)for(var p,d=function(){var n=p.value;if(!t.data.some(function(t){return a.every(function(r){return t[r]===n[r]})})){var e=r({},n);t.columns.forEach(function(t){a.includes(t)||(e[t]=null)}),s.push(e)}},m=n(e.data);!(p=m()).done;)d();return de(l,s)},df_dropna:function(t,n){void 0===n&&(n=null);var r=n||t.columns,e=t.data.filter(function(t){return r.every(function(n){return null!=t[n]})});return de(t.columns,e)},df_fillna:function(t,n,e){void 0===e&&(e=null);var i=e||t.columns,a=t.data.map(function(t){var e=r({},t);return i.forEach(function(t){null==e[t]&&(e[t]=n)}),e});return de(t.columns,a)},df_groupby:function(t,n){Array.isArray(n)||(n=[n]);var r=new Map;return t.data.forEach(function(t){var e=n.map(function(n){return t[n]}).join("|");r.has(e)||r.set(e,[]),r.get(e).push(t)}),{keys:n,groups:r}},df_aggregate:function(t,n){var r=[];t.groups.forEach(function(e,i){var a=i.split("|"),o={};t.keys.forEach(function(t,n){return o[t]=a[n]}),Object.entries(n).forEach(function(t){var n=t[0],r=t[1],i=e.map(function(t){return t[n]}).filter(function(t){return null!=t});o[n]=r(i)}),r.push(o)});var e=ge([].concat(t.keys,Object.keys(n)));return de(e,r)},df_apply:function(t,n,e){if(!t.columns.includes(n))throw new Error("Column '"+n+"' not found");var i=t.data.map(function(t){var i;return r({},t,((i={})[n]=e(t[n],t),i))});return de(t.columns,i)},df_to_csv:function(t,n){void 0===n&&(n=",");var r=t.columns.join(n),e=t.data.map(function(r){return t.columns.map(function(t){var n=r[t];return Array.isArray(n)||"object"==typeof n&&null!==n?JSON.stringify(n):null!=n?n:""}).join(n)});return[r].concat(e).join("\n")},df_sample:function(t,n,r){void 0===n&&(n=5),void 0===r&&(r=null);var e=[].concat(t.data);if(null!==r){var i=r;e.sort(function(){return Math.sin(i++)>0?1:-1})}else e.sort(function(){return Math.random()-.5});return de(t.columns,e.slice(0,n))},df_unique:function(t,n){if(!t.columns.includes(n))throw new Error("Column '"+n+"' not found");return ge(t.data.map(function(t){return t[n]}))},df_rename:function(t,n){var r=t.columns.map(function(t){return n[t]||t}),e=t.data.map(function(r){var e={};return t.columns.forEach(function(t){e[n[t]||t]=r[t]}),e});return de(r,e)},df_add_column:function(t,n,e){if(t.columns.includes(n))throw new Error("Column '"+n+"' already exists");var i=t.data.map(function(t){var i;return r({},t,((i={})[n]=e(t),i))});return de([].concat(t.columns,[n]),i)},df_drop:function(t,n){Array.isArray(n)||(n=[n]);var r=t.columns.filter(function(t){return!n.includes(t)}),e=t.data.map(function(t){var n={};return r.forEach(function(r){return n[r]=t[r]}),n});return de(r,e)},df_describe:Ni,df_missing_report:Fe,df_corr:He,df_explode:function(t,n){if(!t.columns.includes(n))throw new Error("Column '"+n+"' not found");var e=[];return t.data.forEach(function(t){var i=t[n];Array.isArray(i)&&i.length>0?i.forEach(function(i){var a;e.push(r({},t,((a={})[n]=i,a)))}):e.push(t)}),de(t.columns,e)},eda_overview:function(t){var n,r,e,i=We(Ni(t)),a=We(Fe(t)),o=We(He(t,"pearson"));return{type:"eda",summary:null!=(n=i.columns)?n:i,missing:null!=(r=a.rows)?r:a,correlation:null!=(e=o.matrix)?e:o}},mean:function(t){return Ie("statistic",{name:"mean",n:xe(t).length,value:we(t)})},stddeviation:function(t,n){return void 0===n&&(n=!0),Ie("statistic",{name:"std_deviation",sample:n,n:xe(t).length,value:Ae(t,n)})},variance:function(t,n){return void 0===n&&(n=!0),Ie("statistic",{name:"variance",sample:n,n:xe(t).length,value:Me(t,n)})},median:function(t){return Ie("statistic",{name:"median",n:xe(t).length,value:$e(t)})},quantile:function(t,n){return Ie("statistic",{name:"quantile",q:n,n:xe(t).length,value:Ee(t,n)})},minv:function(t){return Ie("statistic",{name:"min",value:ke(t)})},maxv:function(t){return Ie("statistic",{name:"max",value:Ne(t)})},skewness:function(t){return Ie("statistic",{name:"skewness",value:Ce(t)})},kurtosis:function(t){return Ie("statistic",{name:"kurtosis",value:qe(t)})},corr_pearson:function(t,n){return Ie("statistic",{name:"pearson_correlation",value:Se(t,n)})},corr_spearman:function(t,n){return Ie("statistic",{name:"spearman_correlation",value:Oe(t,n)})},normal_pdf:function(t,n,r){return void 0===n&&(n=0),void 0===r&&(r=1),Ie("distribution",{name:"normal_pdf",params:{mu:n,sigma:r},value:Array.isArray(t)?t.map(function(t){return ze((t-n)/r)/r}):ze((t-n)/r)/r})},normal_cdf:Ve,normal_ppf:De,binomial_pmf:function(t,n,r){var e=function(t){return function(t,n){if(n<0||n>t)return 0;n=Math.min(n,t-n);for(var r=1,e=1,i=1;i<=n;i++)r*=t-(n-i),e*=i;return r/e}(n,t)*Math.pow(r,t)*Math.pow(1-r,n-t)},i=Array.isArray(t)?t.map(e):e(t);return Ie("distribution",{name:"binomial_pmf",params:{n:n,p:r},value:i})},binomial_cdf:function(t,n,r){var e=function(t){for(var e=0,i=0;i<=t;i++)e+=function(t,n){if(n<0||n>t)return 0;n=Math.min(n,t-n);for(var r=1,e=1,i=1;i<=n;i++)r*=t-(n-i),e*=i;return r/e}(n,i)*Math.pow(r,i)*Math.pow(1-r,n-i);return e},i=Array.isArray(t)?t.map(e):e(t);return Ie("distribution",{name:"binomial_cdf",params:{n:n,p:r},value:i})},poisson_pmf:function(t,n){var r=function(t){return Math.exp(-n)*Math.pow(n,t)/function(t){for(var n=1,r=2;r<=t;r++)n*=r;return n}(t)};return Ie("distribution",{name:"poisson_pmf",params:{lambda:n},value:Array.isArray(t)?t.map(r):r(t)})},poisson_cdf:function(t,n){var r=function(t){for(var r=0,e=0;e<=t;e++)r+=Math.exp(-n)*Math.pow(n,e)/function(t){for(var n=1,r=2;r<=t;r++)n*=r;return n}(e);return r};return Ie("distribution",{name:"poisson_cdf",params:{lambda:n},value:Array.isArray(t)?t.map(r):r(t)})},t_test_independent:function(t,n,r){void 0===r&&(r=!0);var e=xe(t),i=xe(n),a=e.length,o=i.length;if(a<2||o<2)return Le("t_test_independent","insufficient data");var u,c,l=we(e),s=we(i),f=Me(e,!0),h=Me(i,!0);r?(c=Math.sqrt(((a-1)*f+(o-1)*h)/(a+o-2)*(1/a+1/o)),u=a+o-2):(c=Math.sqrt(f/a+h/o),u=Math.pow(f/a+h/o,2)/(Math.pow(f,2)/(Math.pow(a,2)*(a-1))+Math.pow(h,2)/(Math.pow(o,2)*(o-1))));var p=(l-s)/c;return{type:"hypothesis_test",name:"independent_t_test",statistic:p,df:u,p_value:2*(1-Be(Math.abs(p),u)),means:{group_a:l,group_b:s}}},z_test_one_sample:function(t,n,r,e){void 0===n&&(n=0),void 0===r&&(r=null),void 0===e&&(e=.05);var i=xe(t),a=i.length;if(a<2)return Le("z_test_one_sample","insufficient data");var o=we(i),u=null!=r?r:Ae(i,!0),c=u/Math.sqrt(a),l=(o-n)/c,s=2*(1-Ve(Math.abs(l))),f=De(1-e/2)*c;return{type:"hypothesis_test",name:"one_sample_z_test",statistic:l,p_value:s,ci_lower:o-f,ci_upper:o+f,confidence:1-e,extra:{sample_mean:o,hypothesized_mean:n,se:c,sigma_used:u,n:a,effect_size:(o-n)/u}}},chi_square_independence:function(t,n){void 0===n&&(n=.05);var r=t.length,e=t[0].length,i=t.map(function(t){return t.reduce(function(t,n){return t+n},0)}),a=Array(e).fill(0);t.forEach(function(t){return t.forEach(function(t,n){return a[n]+=t})});for(var o=i.reduce(function(t,n){return t+n},0),u=0,c=Array.from({length:r},function(t,n){return Array.from({length:e},function(t,r){return i[n]*a[r]/o})}),l=0;l<r;l++)for(var s=0;s<e;s++)u+=Math.pow(t[l][s]-c[l][s],2)/c[l][s];var f=(r-1)*(e-1);return{type:"hypothesis_test",name:"chi_square_independence",statistic:u,df:f,p_value:1-chi_square_cdf(u,f),confidence:1-n,extra:{observed:t,expected:c,dof:f}}},anova_oneway:function(t,n){void 0===n&&(n=.05);var r=t.length,e=t.map(function(t){return xe(t).length}),i=t.map(we),a=we(t.flat()),o=t.reduce(function(t,n,r){return t+e[r]*Math.pow(i[r]-a,2)},0),u=t.reduce(function(t,n,r){return t+xe(n).reduce(function(t,n){return t+Math.pow(n-i[r],2)},0)},0),c=r-1,l=e.reduce(function(t,n){return t+n},0)-r,s=o/c/(u/l);return{type:"hypothesis_test",name:"anova_oneway",statistic:s,df:{between:c,within:l},p_value:1-f_cdf(s,c,l),confidence:1-n,extra:{group_means:i,grand_mean:a,ssb:o,ssw:u}}},train_test_split:function(t,n,r,e){void 0===r&&(r=.2),void 0===e&&(e=42);var i=t.length,a=Array.from({length:i},function(t,n){return n}),o=e;a.sort(function(){return(o=(9301*o+49297)%233280)/233280-.5});var u=Math.max(1,Math.floor(i*r)),c=a.slice(0,u),l=a.slice(u),s=l.map(function(n){return t[n]}),f=l.map(function(t){return n[t]});c.map(function(n){return t[n]});var h=c.map(function(t){return n[t]});return{type:"split",sizes:{train:f.length,test:h.length},indices:{train:l,test:c},preview:{x_train:s.slice(0,2),y_train:f.slice(0,5)}}},train_linear_regression:Ue,train_logistic_regression:Ge,predict_linear:Qe,predict_logistic:Ze,metrics_classification:Ye,metrics_regression:Ke,t_test_paired:function(t,n){var r=xe(t),e=xe(n),i=Math.min(r.length,e.length);if(i<2)return Le("t_test_paired","insufficient data");var a=Array.from({length:i},function(t,n){return r[n]-e[n]}),o=we(a),u=o/(Ae(a,!0)/Math.sqrt(i)),c=i-1;return{type:"hypothesis_test",name:"paired_t_test",statistic:u,df:c,p_value:2*(1-Be(Math.abs(u),c)),mean_difference:o}},t_test_one_sample:function(t,n){var r=xe(t),e=r.length;if(e<2)return Le("t_test_one_sample","insufficient data");var i=we(r),a=(i-n)/(Ae(r,!0)/Math.sqrt(e)),o=e-1;return{type:"hypothesis_test",name:"one_sample_t_test",statistic:a,df:o,p_value:2*(1-Be(Math.abs(a),o)),mean:i,hypothesized_mean:n}},shapiro_wilk:function(t){var n=xe(t).sort(function(t,n){return t-n}),r=n.length;if(r<3||r>5e3)return Le("shapiro_wilk","sample size must be between 3 and 5000");for(var e=we(n),i=n.reduce(function(t,n){return t+Math.pow(n-e,2)},0),a=0,o=Math.floor(r/2),u=0;u<o;u++)a+=(0===u?-2.706056/Math.sqrt(r):u===o-1&&r%2==0?2.706056/Math.sqrt(r):0)*(n[r-1-u]-n[u]);return{type:"hypothesis_test",name:"shapiro_wilk",statistic:a*a/i,n:r,note:"approximation; w > 0.9 suggests normality"}},jarque_bera:function(t){var n=xe(t),r=n.length;if(r<4)return Le("jarque_bera","insufficient data");var e=Ce(n),i=qe(n);return{type:"hypothesis_test",name:"jarque_bera",statistic:r/6*(e*e+i*i/4),n:r,df:2,note:"tests normality; low p-value rejects normality"}},levene_test:function(t){var n=t.length,r=t.map($e),e=t.map(function(t,n){return xe(t).map(function(t){return Math.abs(t-r[n])})}),i=ve(e),a=$e(i),o=e.map(function(t){return t.length}),u=n-1,c=o.reduce(function(t,n){return t+n},0)-n;return{type:"hypothesis_test",name:"levene_test",statistic:e.reduce(function(t,n,r){return t+o[r]*Math.pow(we(n)-a,2)},0)/u/(e.reduce(function(t,n){return t+n.reduce(function(t,r){return t+Math.pow(r-we(n),2)},0)},0)/c),df_between:u,df_within:c,note:"tests homogeneity of variance"}},kruskal_wallis:function(t){var n=ve(t),r=n.length,e=je(n),i=0;return{type:"hypothesis_test",name:"kruskal_wallis",statistic:12/(r*(r+1))*t.map(function(t){var n=xe(t).length,r=e.slice(i,i+n).reduce(function(t,n){return t+n},0);return i+=n,{n:n,rsum:r}}).reduce(function(t,n){var r=n.rsum;return t+r*r/n.n},0)-3*(r+1),df:t.length-1,note:"non-parametric alternative to anova"}},mann_whitney:function(t,n){var r=xe(t),e=xe(n),i=r.length,a=e.length;if(i<1||a<1)return Le("mann_whitney","insufficient data");var o=r.concat(e),u=je(o).slice(0,i).reduce(function(t,n){return t+n},0)-i*(i+1)/2,c=Math.min(u,i*a-u),l=(c-i*a/2)/Math.sqrt(i*a*(i+a+1)/12);return{type:"hypothesis_test",name:"mann_whitney_u",statistic:c,z_score:l,p_value:2*(1-Te(Math.abs(l))),note:"non-parametric alternative to t-test"}},wilcoxon_signed_rank:function(t,n){var r=xe(t),e=xe(n),i=Math.min(r.length,e.length);if(i<2)return Le("wilcoxon_signed_rank","insufficient data");var a=Array.from({length:i},function(t,n){return r[n]-e[n]}).filter(function(t){return 0!==t}),o=a.map(Math.abs),u=je(o).reduce(function(t,n,r){return t+(a[r]>0?n:0)},0),c=a.length,l=(u-c*(c+1)/4)/Math.sqrt(c*(c+1)*(2*c+1)/24);return{type:"hypothesis_test",name:"wilcoxon_signed_rank",statistic:u,z_score:l,p_value:2*(1-Te(Math.abs(l))),n:c}},chi_square_goodness:function(t,n,r){void 0===r&&(r=.05);for(var e=xe(t),i=xe(n),a=Math.min(e.length,i.length),o=0,u=0;u<a;u++)o+=Math.pow(e[u]-i[u],2)/i[u];var c=a-1;return{type:"hypothesis_test",name:"chi_square_goodness_of_fit",statistic:o,df:c,p_value:1-chi_square_cdf(o,c),confidence:1-r,extra:{observed:e,expected:i,dof:c}}},confidence_interval_mean:function(t,n){void 0===n&&(n=.95);var r=xe(t),e=r.length;if(e<2)return Le("confidence_interval_mean","insufficient data");var i=we(r),a=Ae(r,!0),o=Re(1-(1-n)/2)*(e>30?1:1.15)*a/Math.sqrt(e);return{type:"confidence_interval",parameter:"mean",confidence:n,n:e,mean:i,lower:i-o,upper:i+o,margin:o}},confidence_interval_proportion:function(t,n,r){if(void 0===r&&(r=.95),n<1)return Le("confidence_interval_proportion","invalid sample size");var e=t/n,i=Re(1-(1-r)/2)*Math.sqrt(e*(1-e)/n);return{type:"confidence_interval",parameter:"proportion",confidence:r,n:n,proportion:e,lower:Math.max(0,e-i),upper:Math.min(1,e+i),margin:i}},confidence_interval_variance:function(t,n){void 0===n&&(n=.95);var r=xe(t),e=r.length;if(e<2)return Le("confidence_interval_variance","insufficient data");var i=Me(r,!0),a=e-1,o=1-n,u=a/(1+Re(1-o/2)*Math.sqrt(2/a));return{type:"confidence_interval",parameter:"variance",confidence:n,n:e,variance:i,lower:a*i/(a/(1-Re(1-o/2)*Math.sqrt(2/a))),upper:a*i/u}},confidence_interval_difference:function(t,n,r){void 0===r&&(r=.95);var e=xe(t),i=xe(n),a=e.length,o=i.length;if(a<2||o<2)return Le("confidence_interval_difference","insufficient data");var u=we(e),c=we(i),l=Me(e,!0),s=Me(i,!0),f=u-c,h=Math.sqrt(l/a+s/o),p=Re(1-(1-r)/2)*h;return{type:"confidence_interval",parameter:"difference_of_means",confidence:r,difference:f,lower:f-p,upper:f+p,margin:p,means:{group_a:u,group_b:c}}},corr_kendall:ti,corr_partial:function(t,n,r){var e=Se(t,n),i=Se(t,r),a=Se(n,r),o=(e-i*a)/Math.sqrt((1-i*i)*(1-a*a));return Ie("statistic",{name:"partial_correlation",value:o,controlling_for:"third_variable"})},corr_matrix_all:function(t,n){var r=We(He(t,"pearson")).matrix,e=We(He(t,"spearman")).matrix,i=Object.keys(r),a={};return i.forEach(function(n){a[n]={},i.forEach(function(r){var e,i=t.map(function(t){return ye(t[n])}),o=t.map(function(t){return ye(t[r])}),u=null!=(e=We(ti(i,o)).value)?e:NaN;a[n][r]=u})}),{type:"correlation_analysis",pearson:r,spearman:e,kendall:a}},train_knn_classifier:ri,predict_knn_classifier:ei,train_knn_regressor:ii,predict_knn_regressor:ai,train_decision_tree_classifier:li,train_decision_tree_regressor:si,predict_decision_tree:hi,train_random_forest_classifier:di,train_random_forest_regressor:mi,predict_random_forest_classifier:gi,predict_random_forest_regressor:vi,train_naive_bayes:function(t,n){var r,e,i=ge(n),a=n.length,o=null!=(r=null==(e=t[0])?void 0:e.length)?r:0,u={},c={};return i.forEach(function(r){var e=n.map(function(t,n){return t===r?n:-1}).filter(function(t){return t>=0});u[r]=e.length/a,c[r]=Array.from({length:o},function(n,r){var i=e.map(function(n){return t[n][r]});return{mean:we(i),std:Ae(i,!0)}})}),{type:"naive_bayes",classes:i,priors:u,stats:c,n:a,p:o}},predict_naive_bayes:_i,standard_scaler_fit:yi,standard_scaler_transform:xi,minmax_scaler_fit:function(t){var n,r,e=null!=(n=null==(r=t[0])?void 0:r.length)?n:0;return{type:"minmax_scaler",params:Array.from({length:e},function(n,r){var e=t.map(function(t){return t[r]});return{min:ke(e),max:Ne(e)}}),n:t.length,p:e}},minmax_scaler_transform:function(t,n){try{var r=We(t);return{type:"scaled_data",method:"minmax",preview:n.map(function(t){return t.map(function(t,n){var e=r.params[n].max-r.params[n].min;return 0===e?0:(t-r.params[n].min)/e})}).slice(0,5)}}catch(t){return Le("minmax_scaler_transform","invalid scaler text")}},train_pca:function(t,n){var r,e;void 0===n&&(n=2);var i=t.length,a=null!=(r=null==(e=t[0])?void 0:e.length)?r:0;if(n>a)return Le("train_pca","n_components cannot exceed number of features");for(var o=Array.from({length:a},function(n,r){return we(t.map(function(t){return t[r]}))}),u=t.map(function(t){return t.map(function(t,n){return t-o[n]})}),c=Array.from({length:a},function(t,n){return Array.from({length:a},function(t,r){for(var e=0,a=0;a<i;a++)e+=u[a][n]*u[a][r];return e/(i-1)})}),l=[],s=function(){for(var t=Array.from({length:a},function(){return Math.random()}),n=function(){var n=Array.from({length:a},function(n,r){return c[r].reduce(function(n,r,e){return n+r*t[e]},0)}),r=Math.sqrt(n.reduce(function(t,n){return t+n*n},0));t=n.map(function(t){return t/r})},r=0;r<100;r++)n();l.push(t);for(var e=0;e<a;e++)for(var i=0;i<a;i++)c[e][i]-=t[e]*t[i]*c[e].reduce(function(n,r,e){return n+r*t[e]},0)},f=0;f<n;f++)s();return{type:"pca",n_components:n,means:o,components:l,n:i,p:a}},transform_pca:function(t,n){try{var r=We(t),e=n.map(function(t){return t.map(function(t,n){return t-r.means[n]})}).map(function(t){return r.components.map(function(n){return t.reduce(function(t,r,e){return t+r*n[e]},0)})});return{type:"pca_transform",n_components:r.n_components,preview:e.slice(0,5)}}catch(t){return Le("transform_pca","invalid model text")}},train_kmeans:function(t,n,r){var e,i,a,o;void 0===n&&(n=3),void 0===r&&(r={});for(var u=null!=(e=r.max_iterations)?e:100,c=null!=(i=r.seed)?i:42,l=t.length,s=null!=(a=null==(o=t[0])?void 0:o.length)?a:0,f=Array.from({length:n},function(){return Math.floor((c=(9301*c+49297)%233280)/233280*l)}).map(function(n){return[].concat(t[n])}),h=Array(l).fill(0),p=function(){var r=t.map(function(t){var n=f.map(function(n){return ni(t,n)});return n.indexOf(Math.min.apply(Math,n))});if(h.every(function(t,n){return t===r[n]}))return 1;h=r,f=Array.from({length:n},function(n,r){var e=t.filter(function(t,n){return h[n]===r});return 0===e.length?f[r]:Array.from({length:s},function(t,n){return we(e.map(function(t){return t[n]}))})})},d=0;d<u&&!p();d++);var m=t.reduce(function(t,n,r){return t+Math.pow(ni(n,f[h[r]]),2)},0);return{type:"kmeans",k:n,centroids:f,inertia:m,n:l,p:s}},predict_kmeans:function(t,n){try{var r=We(t),e=n.map(function(t){var n=r.centroids.map(function(n){return ni(t,n)});return n.indexOf(Math.min.apply(Math,n))});return{type:"prediction",name:"kmeans",k:r.k,cluster_labels:e}}catch(t){return Le("predict_kmeans","invalid model text")}},ensemble_voting_classifier:function(t,n,r){void 0===r&&(r="hard");try{var e=t.map(function(t){return We(t)});if("hard"===r){var i=e.map(function(t){return"logistic_regression"===t.type?We(Ze(t,n)).classes:"knn_classifier"===t.type?We(ei(t,n)).predictions:"decision_tree_classifier"===t.type?We(hi(t,n)).predictions:"random_forest_classifier"===t.type?We(gi(t,n)).predictions:"naive_bayes"===t.type?We(_i(t,n)).predictions:[]}),a=n.map(function(t,n){var r={};return i.forEach(function(t){var e=t[n];r[e]=(r[e]||0)+1}),Number(Object.entries(r).sort(function(t,n){return n[1]-t[1]})[0][0])});return{type:"ensemble_prediction",method:"voting_hard",n_models:e.length,predictions:a}}return Le("ensemble_voting_classifier","soft voting not yet implemented")}catch(t){return Le("ensemble_voting_classifier","invalid models")}},ensemble_voting_regressor:function(t,n){try{var r=t.map(function(t){return We(t)}),e=r.map(function(t){return"linear_regression"===t.type?We(Qe(t,n)).predictions:"knn_regressor"===t.type?We(ai(t,n)).predictions:"decision_tree_regressor"===t.type?We(hi(t,n)).predictions:"random_forest_regressor"===t.type?We(vi(t,n)).predictions:[]}),i=n.map(function(t,n){var r=e.map(function(t){return t[n]});return we(r)});return{type:"ensemble_prediction",method:"voting_average",n_models:r.length,predictions:i}}catch(t){return Le("ensemble_voting_regressor","invalid models")}},cross_validate:function(t,n,r,e){var i,a,o,u;void 0===e&&(e={});var c=null!=(i=e.k_folds)?i:5,l=null!=(a=e.normalize)&&a,s=null==(o=e.shuffle)||o,f=null!=(u=e.seed)?u:42,h=t.length,p=Array.from({length:h},function(t,n){return n});if(s){var d=f;p.sort(function(){return(d=(9301*d+49297)%233280)/233280-.5})}for(var m=Math.floor(h/c),g=[],v=0;v<c;v++){var _=v*m,y=v===c-1?h:(v+1)*m,x=[].concat(p.slice(0,_),p.slice(y)),b=p.slice(_,y),w=x.map(function(n){return t[n]}),M=x.map(function(t){return n[t]}),A=b.map(function(n){return t[n]}),k=b.map(function(t){return n[t]});if(l){var N=yi(w),$=xi(N,w),E=xi(N,A);w=We($).data||$.data,A=We(E).data||E.data}var C=void 0;if("linear_regression"===r){C=Ue(w,M);var q=We(Qe(C,A)),S=We(Ke(k,q.predictions));g.push(S.r2)}else if("logistic_regression"===r){C=Ge(w,M,e);var j=We(Ze(C,A)),O=We(Ye(k,j.classes));g.push(O.accuracy)}else if("knn_classifier"===r){var z;C=ri(w,M,null!=(z=e.k)?z:5);var T=We(ei(C,A)),P=We(Ye(k,T.predictions));g.push(P.accuracy)}else if("decision_tree_classifier"===r){C=li(w,M,e);var R=We(hi(C,A)),I=We(Ye(k,R.predictions));g.push(I.accuracy)}else if("random_forest_classifier"===r){C=di(w,M,e);var L=We(gi(C,A)),F=We(Ye(k,L.predictions));g.push(F.accuracy)}else if("knn_regressor"===r){var H;C=ii(w,M,null!=(H=e.k)?H:5);var V=We(ai(C,A)),D=We(Ke(k,V.predictions));g.push(D.r2)}else if("decision_tree_regressor"===r){C=si(w,M,e);var B=We(hi(C,A)),X=We(Ke(k,B.predictions));g.push(X.r2)}else if("random_forest_regressor"===r){C=mi(w,M,e);var U=We(vi(C,A)),J=We(Ke(k,U.predictions));g.push(J.r2)}}return{type:"cross_validation",model_type:r,k_folds:c,scores:g,mean_score:we(g),std_score:Ae(g,!0),min_score:ke(g),max_score:Ne(g),normalized:l,shuffled:s}},feature_importance_tree:function(t){try{var n=We(t);if("decision_tree_classifier"===n.type||"decision_tree_regressor"===n.type){var r=bi(n.tree,n.p);return{type:"feature_importance",model:n.type,importance:r}}if("random_forest_classifier"===n.type||"random_forest_regressor"===n.type){var e=n.trees.map(function(t){return bi(t,n.p)}),i=Array.from({length:n.p},function(t,n){return we(e.map(function(t){return t[n]}))});return{type:"feature_importance",model:n.type,n_trees:n.n_trees,importance:i}}return Le("feature_importance_tree","model must be tree-based")}catch(t){return Le("feature_importance_tree","invalid model text")}},outliers_iqr:function(t){var n=xe(t),r=Ee(n,.25),e=Ee(n,.75),i=e-r,a=r-1.5*i,o=e+1.5*i,u=n.filter(function(t){return t<a||t>o}),c=t.map(function(t,n){return _e(t)&&(t<a||t>o)?n:-1}).filter(function(t){return t>=0});return{type:"outlier_detection",method:"iqr",lower_bound:a,upper_bound:o,n_outliers:u.length,outlier_indices:c,outlier_values:u}},outliers_zscore:function(t,n){void 0===n&&(n=3);var r=xe(t),e=we(r),i=Ae(r,!0),a=r.map(function(t){return Math.abs((t-e)/i)}),o=r.filter(function(t,r){return a[r]>n}),u=t.map(function(t,r){return _e(t)&&Math.abs((t-e)/i)>n?r:-1}).filter(function(t){return t>=0});return{type:"outlier_detection",method:"zscore",threshold:n,n_outliers:o.length,outlier_indices:u,outlier_values:o}},moving_average:function(t,n){void 0===n&&(n=3);for(var r=xe(t),e=[],i=0;i<r.length;i++){var a=Math.max(0,i-n+1),o=r.slice(a,i+1);e.push(we(o))}return{type:"time_series",method:"moving_average",window:n,values:e}},exponential_smoothing:function(t,n){void 0===n&&(n=.3);var r=xe(t);if(0===r.length)return Le("exponential_smoothing","empty data");for(var e=[r[0]],i=1;i<r.length;i++)e.push(n*r[i]+(1-n)*e[i-1]);return{type:"time_series",method:"exponential_smoothing",alpha:n,values:e}},autocorrelation:function(t,n){void 0===n&&(n=1);var r=xe(t),e=r.length;if(e<n+1)return Le("autocorrelation","insufficient data for lag");for(var i=we(r),a=0,o=0,u=0;u<e;u++)o+=Math.pow(r[u]-i,2),u>=n&&(a+=(r[u]-i)*(r[u-n]-i));return Ie("statistic",{name:"autocorrelation",lag:n,value:a/o})},plotHistogram:function(t,n,r){void 0===n&&(n={});var e=se(r,n),i=e.svg,a=e.config,o=a.width-40-20,u=a.height-20-40,c=lr().domain(vt(t)).nice().range([0,o]),l=jt().domain(c.domain()).thresholds(n.bins||10)(t),s=lr().domain([0,Ot(l,function(t){return t.length})]).nice().range([u,0]),f=i.append("g").attr("transform","translate(40,20)");f.selectAll("rect").data(l).enter().append("rect").attr("x",function(t){return c(t.x0)}).attr("y",function(t){return s(t.length)}).attr("width",function(t){return c(t.x1)-c(t.x0)-1}).attr("height",function(t){return u-s(t.length)}).attr("fill",a.color);var h=f.append("g").attr("transform","translate(0,"+u+")").call(yr(c)),p=f.append("g").call(xr(s));fe(h,a.xAxisColor||a.axisColor),fe(p,a.yAxisColor||a.axisColor)},plotBoxplot:function(t,n,r){void 0===n&&(n={});var e=Array.isArray(t[0])?t:[t],i=se(r,n),a=i.svg,o=i.config,u=o.width-40-20,c=o.height-20-40,l=Dt().domain(e.map(function(t,r){return n.labels?n.labels[r]:"Group "+(r+1)})).range([0,u]).padding(.5),s=e.flat(),f=lr().domain(vt(s)).nice().range([c,0]),h=a.append("g").attr("transform","translate(40,20)");e.forEach(function(t,r){var e=[].concat(t).sort(function(t,n){return t-n}),i=Rt(e,.25),a=Rt(e,.5),u=Rt(e,.75),c=zt(e),s=Ot(e),p=l(n.labels?n.labels[r]:"Group "+(r+1))+l.bandwidth()/2,d=l.bandwidth()/2;h.append("line").attr("x1",p).attr("x2",p).attr("y1",f(c)).attr("y2",f(s)).attr("stroke",o.color),h.append("rect").attr("x",p-d/2).attr("y",f(u)).attr("width",d).attr("height",f(i)-f(u)).attr("stroke",o.color).attr("fill","none"),h.append("line").attr("x1",p-d/2).attr("x2",p+d/2).attr("y1",f(a)).attr("y2",f(a)).attr("stroke",o.color)});var p=h.append("g").attr("transform","translate(0,"+c+")").call(yr(l)),d=h.append("g").call(xr(f));fe(p,o.xAxisColor||o.axisColor),fe(d,o.yAxisColor||o.axisColor)},plotScatter:he,plotLine:function(t,n,r,e){void 0===r&&(r={});var i=se(e,r),a=i.svg,o=i.config,u=o.width-40-20,c=o.height-20-40,l=lr().domain(vt(t)).range([0,u]),s=lr().domain(vt(n)).range([c,0]),f=a.append("g").attr("transform","translate(40,20)"),h=re().x(function(n,r){return l(t[r])}).y(function(t,r){return s(n[r])}).curve(ue);f.append("path").datum(t).attr("fill","none").attr("stroke",o.color).attr("stroke-width",r.lineWidth||2).attr("d",h),r.showPoints&&f.selectAll("circle").data(t).enter().append("circle").attr("cx",function(n,r){return l(t[r])}).attr("cy",function(t,r){return s(n[r])}).attr("r",3).attr("fill",o.color);var p=f.append("g").attr("transform","translate(0,"+c+")").call(yr(l)),d=f.append("g").call(xr(s));fe(p,o.xAxisColor||o.axisColor),fe(d,o.yAxisColor||o.axisColor)},plotBar:function(t,n,r,e){void 0===r&&(r={});var i=se(e,r),a=i.svg,o=i.config,u=o.width-40-20,c=o.height-20-40,l=Dt().domain(t).range([0,u]).padding(.2),s=lr().domain([0,Ot(n)]).nice().range([c,0]),f=a.append("g").attr("transform","translate(40,20)");f.selectAll("rect").data(n).enter().append("rect").attr("x",function(n,r){return l(t[r])}).attr("y",function(t){return s(t)}).attr("width",l.bandwidth()).attr("height",function(t){return c-s(t)}).attr("fill",o.color);var h=f.append("g").attr("transform","translate(0,"+c+")").call(yr(l)),p=f.append("g").call(xr(s));fe(h,o.xAxisColor||o.axisColor),fe(p,o.yAxisColor||o.axisColor)},plotPie:function(t,n,r,e){void 0===r&&(r={});var i=se(e,r),a=i.svg,o=i.config,u=Math.min(o.width,o.height)/2,c=a.append("g").attr("transform","translate("+o.width/2+","+o.height/2+")"),l=Vt(Mr),s=function(){var t=ie,n=ee,r=null,e=kr(0),i=kr(Pr),a=kr(0);function o(o){var u,c,l,s,f,h=(o=Wr(o)).length,p=0,d=new Array(h),m=new Array(h),g=+e.apply(this,arguments),v=Math.min(Pr,Math.max(-Pr,i.apply(this,arguments)-g)),_=Math.min(Math.abs(v)/h,a.apply(this,arguments)),y=_*(v<0?-1:1);for(u=0;u<h;++u)(f=m[d[u]=u]=+t(o[u],u,o))>0&&(p+=f);for(null!=n?d.sort(function(t,r){return n(m[t],m[r])}):null!=r&&d.sort(function(t,n){return r(o[t],o[n])}),u=0,l=p?(v-h*y)/p:0;u<h;++u,g=s)m[c=d[u]]={data:o[c],index:u,value:f=m[c],startAngle:g,endAngle:s=g+(f>0?f*l:0)+y,padAngle:_};return m}return o.value=function(n){return arguments.length?(t="function"==typeof n?n:kr(+n),o):t},o.sortValues=function(t){return arguments.length?(n=t,r=null,o):n},o.sort=function(t){return arguments.length?(r=t,n=null,o):r},o.startAngle=function(t){return arguments.length?(e="function"==typeof t?t:kr(+t),o):e},o.endAngle=function(t){return arguments.length?(i="function"==typeof t?t:kr(+t),o):i},o.padAngle=function(t){return arguments.length?(a="function"==typeof t?t:kr(+t),o):a},o}()(n),f=function(){var t=Xr,n=Ur,r=kr(0),e=null,i=Jr,a=Gr,o=Qr,u=null,c=Br(l);function l(){var l,s,f=+t.apply(this,arguments),h=+n.apply(this,arguments),p=i.apply(this,arguments)-Tr,d=a.apply(this,arguments)-Tr,m=Nr(d-p),g=d>p;if(u||(u=l=c()),h<f&&(s=h,h=f,f=s),h>Or)if(m>Pr-Or)u.moveTo(h*Er(p),h*Sr(p)),u.arc(0,0,h,p,d,!g),f>Or&&(u.moveTo(f*Er(d),f*Sr(d)),u.arc(0,0,f,d,p,g));else{var v,_,y=p,x=d,b=p,w=d,M=m,A=m,k=o.apply(this,arguments)/2,N=k>Or&&(e?+e.apply(this,arguments):jr(f*f+h*h)),$=qr(Nr(h-f)/2,+r.apply(this,arguments)),E=$,C=$;if(N>Or){var q=Rr(N/f*Sr(k)),S=Rr(N/h*Sr(k));(M-=2*q)>Or?(b+=q*=g?1:-1,w-=q):(M=0,b=w=(p+d)/2),(A-=2*S)>Or?(y+=S*=g?1:-1,x-=S):(A=0,y=x=(p+d)/2)}var j=h*Er(y),O=h*Sr(y),z=f*Er(w),T=f*Sr(w);if($>Or){var P,R=h*Er(x),I=h*Sr(x),L=f*Er(b),F=f*Sr(b);if(m<zr)if(P=function(t,n,r,e,i,a,o,u){var c=r-t,l=e-n,s=o-i,f=u-a,h=f*c-s*l;if(!(h*h<Or))return[t+(h=(s*(n-a)-f*(t-i))/h)*c,n+h*l]}(j,O,L,F,R,I,z,T)){var H=j-P[0],V=O-P[1],D=R-P[0],B=I-P[1],X=1/Sr(function(t){return t>1?0:t<-1?zr:Math.acos(t)}((H*D+V*B)/(jr(H*H+V*V)*jr(D*D+B*B)))/2),U=jr(P[0]*P[0]+P[1]*P[1]);E=qr($,(f-U)/(X-1)),C=qr($,(h-U)/(X+1))}else E=C=0}A>Or?C>Or?(v=Zr(L,F,j,O,h,C,g),_=Zr(R,I,z,T,h,C,g),u.moveTo(v.cx+v.x01,v.cy+v.y01),C<$?u.arc(v.cx,v.cy,C,$r(v.y01,v.x01),$r(_.y01,_.x01),!g):(u.arc(v.cx,v.cy,C,$r(v.y01,v.x01),$r(v.y11,v.x11),!g),u.arc(0,0,h,$r(v.cy+v.y11,v.cx+v.x11),$r(_.cy+_.y11,_.cx+_.x11),!g),u.arc(_.cx,_.cy,C,$r(_.y11,_.x11),$r(_.y01,_.x01),!g))):(u.moveTo(j,O),u.arc(0,0,h,y,x,!g)):u.moveTo(j,O),f>Or&&M>Or?E>Or?(v=Zr(z,T,R,I,f,-E,g),_=Zr(j,O,L,F,f,-E,g),u.lineTo(v.cx+v.x01,v.cy+v.y01),E<$?u.arc(v.cx,v.cy,E,$r(v.y01,v.x01),$r(_.y01,_.x01),!g):(u.arc(v.cx,v.cy,E,$r(v.y01,v.x01),$r(v.y11,v.x11),!g),u.arc(0,0,f,$r(v.cy+v.y11,v.cx+v.x11),$r(_.cy+_.y11,_.cx+_.x11),g),u.arc(_.cx,_.cy,E,$r(_.y11,_.x11),$r(_.y01,_.x01),!g))):u.arc(0,0,f,w,b,g):u.lineTo(z,T)}else u.moveTo(0,0);if(u.closePath(),l)return u=null,l+""||null}return l.centroid=function(){var r=(+t.apply(this,arguments)+ +n.apply(this,arguments))/2,e=(+i.apply(this,arguments)+ +a.apply(this,arguments))/2-zr/2;return[Er(e)*r,Sr(e)*r]},l.innerRadius=function(n){return arguments.length?(t="function"==typeof n?n:kr(+n),l):t},l.outerRadius=function(t){return arguments.length?(n="function"==typeof t?t:kr(+t),l):n},l.cornerRadius=function(t){return arguments.length?(r="function"==typeof t?t:kr(+t),l):r},l.padRadius=function(t){return arguments.length?(e=null==t?null:"function"==typeof t?t:kr(+t),l):e},l.startAngle=function(t){return arguments.length?(i="function"==typeof t?t:kr(+t),l):i},l.endAngle=function(t){return arguments.length?(a="function"==typeof t?t:kr(+t),l):a},l.padAngle=function(t){return arguments.length?(o="function"==typeof t?t:kr(+t),l):o},l.context=function(t){return arguments.length?(u=null==t?null:t,l):u},l}().innerRadius(0).outerRadius(u);c.selectAll("path").data(s).enter().append("path").attr("d",f).attr("fill",function(t,n){return l(n)}),r.showLabels&&c.selectAll("text").data(s).enter().append("text").attr("transform",function(t){return"translate("+f.centroid(t)+")"}).attr("text-anchor","middle").text(function(n,r){return t[r]})},plotHeatmap:function(t,n,r){void 0===n&&(n={});var e=se(r,n),i=e.svg,a=e.config,o=n.labels||t.map(function(t,n){return"Var"+(n+1)}),u=a.width-60-20,c=a.height-40-40,l=Dt().domain(o).range([0,u]).padding(.05),s=Dt().domain(o).range([0,c]).padding(.05),f=sr(Ar).domain([1,-1]),h=i.append("g").attr("transform","translate(60,40)"),p=[];t.forEach(function(t,n){t.forEach(function(t,r){return p.push({x:o[r],y:o[n],value:t})})}),h.selectAll("rect").data(p).enter().append("rect").attr("x",function(t){return l(t.x)}).attr("y",function(t){return s(t.y)}).attr("width",l.bandwidth()).attr("height",s.bandwidth()).attr("fill",function(t){return f(t.value)}),n.showValues&&h.selectAll("text").data(p).enter().append("text").attr("x",function(t){return l(t.x)+l.bandwidth()/2}).attr("y",function(t){return s(t.y)+s.bandwidth()/2}).attr("text-anchor","middle").style("font-size","10px").text(function(t){return t.value.toFixed(2)});var d=h.append("g").attr("transform","translate(0,"+c+")").call(yr(l)),m=h.append("g").call(xr(s));fe(d,a.xAxisColor||a.axisColor),fe(m,a.yAxisColor||a.axisColor)},plotViolin:function(t,n,r){void 0===n&&(n={});var e=se(r,n),i=e.svg,a=e.config,o=Array.isArray(t[0])?t:[t],u=a.width-40-20,c=a.height-20-40,l=Dt().domain(o.map(function(t,r){return n.labels?n.labels[r]:"Group "+(r+1)})).range([0,u]).padding(.5),s=o.flat(),f=lr().domain(vt(s)).nice().range([c,0]),h=i.append("g").attr("transform","translate(40,20)");o.forEach(function(t,r){var e=jt().domain(f.domain()).thresholds(20)(t),i=Ot(e,function(t){return t.length}),o=l(n.labels?n.labels[r]:"Group "+(r+1)),u=lr().domain([0,i]).range([0,l.bandwidth()/2]),c=re().x(function(t){return u(t.length)}).y(function(t){return f((t.x0+t.x1)/2)}),s=re().x(function(t){return-u(t.length)}).y(function(t){return f((t.x0+t.x1)/2)}),p=h.append("g").attr("transform","translate("+(o+l.bandwidth()/2)+",0)");p.append("path").datum(e).attr("fill",n.color||a.color).attr("fill-opacity",.3).attr("stroke",a.color).attr("d",c),p.append("path").datum(e).attr("fill",n.color||a.color).attr("fill-opacity",.3).attr("stroke",a.color).attr("d",s)});var p=h.append("g").attr("transform","translate(0,"+c+")").call(yr(l)),d=h.append("g").call(xr(f));fe(p,a.xAxisColor||a.axisColor),fe(d,a.yAxisColor||a.axisColor)},plotDensity:function(t,n,r){void 0===n&&(n={});var e,i,a,o=se(r,n),u=o.svg,c=o.config,l=c.width-40-20,s=c.height-20-40,f=lr().domain(vt(t)).nice().range([0,l]),h=(a=n.bandwidth||5,e=function(t){return t/=a,Math.abs(t)<=1?.75*(1-t*t)/a:0},i=f.ticks(50),function(t){return i.map(function(n){return[n,It(t,function(t){return e(n-t)})]})})(t),p=lr().domain([0,Ot(h,function(t){return t[1]})]).range([s,0]),d=u.append("g").attr("transform","translate(40,20)"),m=re().curve(ue).x(function(t){return f(t[0])}).y(function(t){return p(t[1])});d.append("path").datum(h).attr("fill","none").attr("stroke",c.color).attr("stroke-width",2).attr("d",m);var g=d.append("g").attr("transform","translate(0,"+s+")").call(yr(f)),v=d.append("g").call(xr(p));fe(g,c.xAxisColor||c.axisColor),fe(v,c.yAxisColor||c.axisColor)},plotQQ:function(t,n,r){void 0===n&&(n={});var e=[].concat(t).sort(function(t,n){return t-n}),i=e.length;he(e.map(function(t,n){return(n+.5)/i}).map(function(t){return function(t){var n,r,e=-.00778489400243029,i=-.322396458041136,a=-2.40075827716184,o=-2.54973253934373,u=4.37466414146497,c=2.93816398269878,l=.00778469570904146,s=.32246712907004,f=2.445134137143,h=3.75440866190742;return t<.02425?(((((e*(n=Math.sqrt(-2*Math.log(t)))+i)*n+a)*n+o)*n+u)*n+c)/((((l*n+s)*n+f)*n+h)*n+1):.97575<t?-(((((e*(n=Math.sqrt(-2*Math.log(1-t)))+i)*n+a)*n+o)*n+u)*n+c)/((((l*n+s)*n+f)*n+h)*n+1):(((((-39.6968302866538*(r=(n=t-.5)*n)+220.946098424521)*r-275.928510446969)*r+138.357751867269)*r-30.6647980661472)*r+2.50662827745924)*n/((((-54.4760987982241*r+161.585836858041)*r-155.698979859887)*r+66.8013118877197)*r-13.2806815528857)+1}(t)}),e,n,r)},plotParallel:function(t,n,r,e){void 0===r&&(r={});var i=se(e,r),a=i.svg,o=i.config,u=o.width-30-30,c=o.height-30-10,l=Xt().range([0,u]).padding(1).domain(n),s={};n.forEach(function(n){s[n]=lr().domain(vt(t,function(t){return t[n]})).range([c,0])});var f=re(),h=a.append("g").attr("transform","translate(30,30)");h.selectAll("path").data(t).enter().append("path").attr("d",function(t){return f(n.map(function(n){return[l(n),s[n](t[n])]}))}).attr("fill","none").attr("stroke",function(t,n){return r.colors?r.colors[n%r.colors.length]:o.color}).attr("stroke-width",1).attr("opacity",.6),n.forEach(function(t){var n=h.append("g").attr("transform","translate("+l(t)+",0)").call(xr(s[t]));fe(n,o.yAxisColor||o.axisColor),n.append("text").style("text-anchor","middle").attr("y",-9).text(t)})},plotPairplot:function(t,n,r,e){void 0===r&&(r={});var i=r.size||120,a=10,o=n.length*(i+a),u=e||"#datly-plot-"+ce++,c=document.createElement("div");c.id=u.replace("#",""),document.body.appendChild(c);var l=st(u);l.html(""),l.style("display","inline-block");var s=l.append("svg").attr("width",o).attr("height",o).style("background","#fff"),f={},h={};n.forEach(function(n){f[n]=lr().domain(vt(t,function(t){return t[n]})).range([a,i-a]),h[n]=lr().domain(vt(t,function(t){return t[n]})).range([i-a,a])}),n.forEach(function(e,o){n.forEach(function(n,u){s.append("g").attr("transform","translate("+o*(i+a)+","+u*(i+a)+")").selectAll("circle").data(t).enter().append("circle").attr("cx",function(t){return f[e](t[e])}).attr("cy",function(t){return h[n](t[n])}).attr("r",2).attr("fill",r.color||"#000")})})},plotMultiline:function(t,n,r){void 0===n&&(n={});var e=se(r,n),i=e.svg,a=e.config,o=a.width-40-20,u=a.height-20-40,c=t.flatMap(function(t){return t.data.map(function(t){return t.x})}),l=t.flatMap(function(t){return t.data.map(function(t){return t.y})}),s=lr().domain(vt(c)).range([0,o]),f=lr().domain(vt(l)).range([u,0]),h=Vt(Mr),p=i.append("g").attr("transform","translate(40,20)");if(t.forEach(function(t,n){var r=re().x(function(t){return s(t.x)}).y(function(t){return f(t.y)});p.append("path").datum(t.data).attr("fill","none").attr("stroke",h(n)).attr("stroke-width",2).attr("d",r)}),n.legend){var d=i.append("g").attr("transform","translate("+(o-100)+",20)");t.forEach(function(t,n){d.append("rect").attr("x",0).attr("y",20*n).attr("width",12).attr("height",12).attr("fill",h(n)),d.append("text").attr("x",20).attr("y",20*n+10).text(t.name).style("font-size","12px")})}var m=p.append("g").attr("transform","translate(0,"+u+")").call(yr(s)),g=p.append("g").call(xr(f));fe(m,a.xAxisColor||a.axisColor),fe(g,a.yAxisColor||a.axisColor)}};module.exports=$i;