victory-canvas
Version:
HTML5 Canvas Components for Victory
1 lines • 53.6 kB
JavaScript
!function(t,n){"object"==typeof exports&&"object"==typeof module?module.exports=n(require("react")):"function"==typeof define&&define.amd?define(["react"],n):"object"==typeof exports?exports.VictoryCanvas=n(require("react")):t.VictoryCanvas=n(t.React)}(self,(function(t){return function(){var n={2596:function(t,n,i){var e=i(2373).Symbol;t.exports=e},6082:function(t){t.exports=function(t,n,i){switch(i.length){case 0:return t.call(n);case 1:return t.call(n,i[0]);case 2:return t.call(n,i[0],i[1]);case 3:return t.call(n,i[0],i[1],i[2])}return t.apply(n,i)}},8644:function(t){t.exports=function(t,n){for(var i=-1,e=null==t?0:t.length,o=Array(e);++i<e;)o[i]=n(t[i],i,t);return o}},9559:function(t){t.exports=function(t,n){for(var i=-1,e=n.length,o=t.length;++i<e;)t[o+i]=n[i];return t}},4132:function(t,n,i){var e=i(8347),o=i(788),r=Object.prototype.hasOwnProperty;t.exports=function(t,n,i){var s=t[n];r.call(t,n)&&o(s,i)&&(void 0!==i||n in t)||e(t,n,i)}},8347:function(t,n,i){var e=i(5525);t.exports=function(t,n,i){"__proto__"==n&&e?e(t,n,{configurable:!0,enumerable:!0,value:i,writable:!0}):t[n]=i}},6457:function(t,n,i){var e=i(9559),o=i(3608);t.exports=function t(n,i,r,s,u){var c=-1,h=n.length;for(r||(r=o),u||(u=[]);++c<h;){var a=n[c];i>0&&r(a)?i>1?t(a,i-1,r,s,u):e(u,a):s||(u[u.length]=a)}return u}},4432:function(t,n,i){var e=i(9026),o=i(3110);t.exports=function(t,n){for(var i=0,r=(n=e(n,t)).length;null!=t&&i<r;)t=t[o(n[i++])];return i&&i==r?t:void 0}},563:function(t){var n=Object.prototype.toString;t.exports=function(t){return n.call(t)}},6776:function(t){t.exports=function(t,n){return null!=t&&n in Object(t)}},5436:function(t,n,i){var e=i(6371),o=i(5066);t.exports=function(t,n){return e(t,n,(function(n,i){return o(t,i)}))}},6371:function(t,n,i){var e=i(4432),o=i(6539),r=i(9026);t.exports=function(t,n,i){for(var s=-1,u=n.length,c={};++s<u;){var h=n[s],a=e(t,h);i(a,h)&&o(c,r(h,t),a)}return c}},1600:function(t){t.exports=function(t){return function(n){return null==n?void 0:n[t]}}},3301:function(t,n,i){var e=i(4432);t.exports=function(t){return function(n){return e(n,t)}}},6317:function(t,n,i){var e=i(5346),o=i(4280),r=i(201);t.exports=function(t,n){return r(o(t,n,e),t+"")}},6539:function(t,n,i){var e=i(4132),o=i(9026),r=i(9099),s=i(7709),u=i(3110);t.exports=function(t,n,i,c){if(!s(t))return t;for(var h=-1,a=(n=o(n,t)).length,l=a-1,_=t;null!=_&&++h<a;){var f=u(n[h]),x=i;if("__proto__"===f||"constructor"===f||"prototype"===f)return t;if(h!=l){var y=_[f];void 0===(x=c?c(y,f,_):void 0)&&(x=s(y)?y:r(n[h+1])?[]:{})}e(_,f,x),_=_[f]}return t}},6316:function(t,n,i){var e=i(2596),o=i(8644),r=i(163),s=i(1995),u=e?e.prototype:void 0,c=u?u.toString:void 0;t.exports=function t(n){if("string"==typeof n)return n;if(r(n))return o(n,t)+"";if(s(n))return c?c.call(n):"";var i=n+"";return"0"==i&&1/n==-1/0?"-0":i}},9026:function(t,n,i){var e=i(163),o=i(726),r=i(7801),s=i(7010);t.exports=function(t,n){return e(t)?t:o(t,n)?[t]:r(s(t))}},5525:function(t,n,i){var e=i(3743),o=function(){try{var t=e(Object,"defineProperty");return t({},"",{}),t}catch(t){}}();t.exports=o},5557:function(t,n,i){var e=i(2645),o=i(4280),r=i(201);t.exports=function(t){return r(o(t,void 0,e),t+"")}},2117:function(t,n,i){var e="object"==typeof i.g&&i.g&&i.g.Object===Object&&i.g;t.exports=e},3743:function(t){t.exports=function(t,n){return null==t?void 0:t[n]}},9817:function(t,n,i){var e=i(5125)(Object.getPrototypeOf,Object);t.exports=e},3096:function(t,n,i){var e=i(9026),o=i(5075),r=i(163),s=i(9099),u=i(8454),c=i(3110);t.exports=function(t,n,i){for(var h=-1,a=(n=e(n,t)).length,l=!1;++h<a;){var _=c(n[h]);if(!(l=null!=t&&i(t,_)))break;t=t[_]}return l||++h!=a?l:!!(a=null==t?0:t.length)&&u(a)&&s(_,a)&&(r(t)||o(t))}},3608:function(t,n,i){var e=i(2596),o=i(5075),r=i(163),s=e?e.isConcatSpreadable:void 0;t.exports=function(t){return r(t)||o(t)||!!(s&&t&&t[s])}},9099:function(t){var n=/^(?:0|[1-9]\d*)$/;t.exports=function(t,i){var e=typeof t;return!!(i=null==i?9007199254740991:i)&&("number"==e||"symbol"!=e&&n.test(t))&&t>-1&&t%1==0&&t<i}},8286:function(t){t.exports=function(){return!1}},726:function(t,n,i){var e=i(163),o=i(1995),r=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,s=/^\w*$/;t.exports=function(t,n){if(e(t))return!1;var i=typeof t;return!("number"!=i&&"symbol"!=i&&"boolean"!=i&&null!=t&&!o(t))||s.test(t)||!r.test(t)||null!=n&&t in Object(n)}},2453:function(t){t.exports=function(t){return t}},5125:function(t){t.exports=function(t,n){return function(i){return t(n(i))}}},4280:function(t,n,i){var e=i(6082),o=Math.max;t.exports=function(t,n,i){return n=o(void 0===n?t.length-1:n,0),function(){for(var r=arguments,s=-1,u=o(r.length-n,0),c=Array(u);++s<u;)c[s]=r[n+s];s=-1;for(var h=Array(n+1);++s<n;)h[s]=r[s];return h[n]=i(c),e(t,this,h)}}},2373:function(t,n,i){var e=i(2117),o="object"==typeof self&&self&&self.Object===Object&&self,r=e||o||Function("return this")();t.exports=r},201:function(t){t.exports=function(t){return t}},7801:function(t,n,i){var e=i(2453),o=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,r=/\\(\\)?/g,s=e((function(t){var n=[];return 46===t.charCodeAt(0)&&n.push(""),t.replace(o,(function(t,i,e,o){n.push(e?o.replace(r,"$1"):i||t)})),n}));t.exports=s},3110:function(t,n,i){var e=i(1995);t.exports=function(t){if("string"==typeof t||e(t))return t;var n=t+"";return"0"==n&&1/t==-1/0?"-0":n}},1893:function(t,n,i){var e=i(6317),o=i(788),r=i(8286),s=i(8855),u=Object.prototype,c=u.hasOwnProperty,h=e((function(t,n){t=Object(t);var i=-1,e=n.length,h=e>2?n[2]:void 0;for(h&&r(n[0],n[1],h)&&(e=1);++i<e;)for(var a=n[i],l=s(a),_=-1,f=l.length;++_<f;){var x=l[_],y=t[x];(void 0===y||o(y,u[x])&&!c.call(t,x))&&(t[x]=a[x])}return t}));t.exports=h},788:function(t){t.exports=function(t,n){return t===n||t!=t&&n!=n}},2645:function(t,n,i){var e=i(6457);t.exports=function(t){return null!=t&&t.length?e(t,1):[]}},5066:function(t,n,i){var e=i(6776),o=i(3096);t.exports=function(t,n){return null!=t&&o(t,n,e)}},5346:function(t){t.exports=function(t){return t}},5075:function(t){t.exports=function(){return!1}},163:function(t){var n=Array.isArray;t.exports=n},8454:function(t){t.exports=function(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=9007199254740991}},7709:function(t){t.exports=function(t){var n=typeof t;return null!=t&&("object"==n||"function"==n)}},3474:function(t){t.exports=function(t){return null!=t&&"object"==typeof t}},3849:function(t,n,i){var e=i(563),o=i(9817),r=i(3474),s=Function.prototype,u=Object.prototype,c=s.toString,h=u.hasOwnProperty,a=c.call(Object);t.exports=function(t){if(!r(t)||"[object Object]"!=e(t))return!1;var n=o(t);if(null===n)return!0;var i=h.call(n,"constructor")&&n.constructor;return"function"==typeof i&&i instanceof i&&c.call(i)==a}},1995:function(t){t.exports=function(){return!1}},8855:function(t){t.exports=function(t){var n=[];if(null!=t)for(var i in Object(t))n.push(i);return n}},9082:function(t,n,i){var e=i(5436),o=i(5557)((function(t,n){return null==t?{}:e(t,n)}));t.exports=o},8532:function(t,n,i){var e=i(1600),o=i(3301),r=i(726),s=i(3110);t.exports=function(t){return r(t)?e(s(t)):o(t)}},7010:function(t,n,i){var e=i(6316);t.exports=function(t){return null==t?"":e(t)}},9787:function(n){"use strict";n.exports=t}},i={};function e(t){var o=i[t];if(void 0!==o)return o.exports;var r=i[t]={exports:{}};return n[t](r,r.exports,e),r.exports}e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,{a:n}),n},e.d=function(t,n){for(var i in n)e.o(n,i)&&!e.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:n[i]})},e.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),e.o=function(t,n){return Object.prototype.hasOwnProperty.call(t,n)},e.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})};var o={};return function(){"use strict";e.r(o),e.d(o,{CanvasBar:function(){return H},CanvasCurve:function(){return _i},CanvasGroup:function(){return Q},CanvasPoint:function(){return Ti},useCanvasContext:function(){return G}});var t={};e.r(t),e.d(t,{arc:function(){return I},area:function(){return rt},areaRadial:function(){return xt},curveBasis:function(){return rn},curveBasisClosed:function(){return un},curveBasisOpen:function(){return hn},curveBumpX:function(){return dt},curveBumpY:function(){return gt},curveBundle:function(){return ln},curveCardinal:function(){return xn},curveCardinalClosed:function(){return pn},curveCardinalOpen:function(){return dn},curveCatmullRom:function(){return mn},curveCatmullRomClosed:function(){return $n},curveCatmullRomOpen:function(){return wn},curveLinear:function(){return nt},curveLinearClosed:function(){return Sn},curveMonotoneX:function(){return Ln},curveMonotoneY:function(){return jn},curveNatural:function(){return In},curveStep:function(){return Xn},curveStepAfter:function(){return Dn},curveStepBefore:function(){return Yn},line:function(){return ot},lineRadial:function(){return ft},link:function(){return $t},linkHorizontal:function(){return Mt},linkRadial:function(){return kt},linkVertical:function(){return wt},pie:function(){return ct},pointRadial:function(){return yt},radialArea:function(){return xt},radialLine:function(){return ft},stack:function(){return Gn},stackOffsetDiverging:function(){return Hn},stackOffsetExpand:function(){return Un},stackOffsetNone:function(){return Bn},stackOffsetSilhouette:function(){return Qn},stackOffsetWiggle:function(){return Jn},stackOrderAppearance:function(){return Kn},stackOrderAscending:function(){return ni},stackOrderDescending:function(){return ei},stackOrderInsideOut:function(){return oi},stackOrderNone:function(){return Zn},stackOrderReverse:function(){return ri},symbol:function(){return tn},symbolAsterisk:function(){return Pt},symbolCircle:function(){return Ct},symbolCross:function(){return Rt},symbolDiamond:function(){return Et},symbolDiamond2:function(){return Nt},symbolPlus:function(){return Lt},symbolSquare:function(){return jt},symbolSquare2:function(){return zt},symbolStar:function(){return Xt},symbolTriangle:function(){return Dt},symbolTriangle2:function(){return Zt},symbolWye:function(){return Ht},symbolX:function(){return Qt},symbols:function(){return Jt},symbolsFill:function(){return Jt},symbolsStroke:function(){return Kt}});var n=e(9787),i=e.n(n),r=e(3849),s=e.n(r);function u(t,n){return a(t)?t(n):t}function c(t,n){return n.disableInlineStyles?{}:t&&Object.keys(t).some((n=>a(t[n])))?Object.keys(t).reduce(((i,e)=>(i[e]=u(t[e],n),i)),{}):t}function h(t){return null==t}function a(t){return"function"==typeof t}e(1893),e(8532),e(9082);const l=Math.PI,_=2*l,f=1e-6,x=_-f;function y(){this._x0=this._y0=this._x1=this._y1=null,this._=""}function p(){return new y}y.prototype=p.prototype={constructor:y,moveTo:function(t,n){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+n)},closePath:function(){null!==this._x1&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")},lineTo:function(t,n){this._+="L"+(this._x1=+t)+","+(this._y1=+n)},quadraticCurveTo:function(t,n,i,e){this._+="Q"+ +t+","+ +n+","+(this._x1=+i)+","+(this._y1=+e)},bezierCurveTo:function(t,n,i,e,o,r){this._+="C"+ +t+","+ +n+","+ +i+","+ +e+","+(this._x1=+o)+","+(this._y1=+r)},arcTo:function(t,n,i,e,o){t=+t,n=+n,i=+i,e=+e,o=+o;var r=this._x1,s=this._y1,u=i-t,c=e-n,h=r-t,a=s-n,_=h*h+a*a;if(o<0)throw new Error("negative radius: "+o);if(null===this._x1)this._+="M"+(this._x1=t)+","+(this._y1=n);else if(_>f)if(Math.abs(a*u-c*h)>f&&o){var x=i-r,y=e-s,p=u*u+c*c,v=x*x+y*y,d=Math.sqrt(p),g=Math.sqrt(_),b=o*Math.tan((l-Math.acos((p+_-v)/(2*d*g)))/2),m=b/g,T=b/d;Math.abs(m-1)>f&&(this._+="L"+(t+m*h)+","+(n+m*a)),this._+="A"+o+","+o+",0,0,"+ +(a*x>h*y)+","+(this._x1=t+T*u)+","+(this._y1=n+T*c)}else this._+="L"+(this._x1=t)+","+(this._y1=n)},arc:function(t,n,i,e,o,r){t=+t,n=+n,r=!!r;var s=(i=+i)*Math.cos(e),u=i*Math.sin(e),c=t+s,h=n+u,a=1^r,y=r?e-o:o-e;if(i<0)throw new Error("negative radius: "+i);null===this._x1?this._+="M"+c+","+h:(Math.abs(this._x1-c)>f||Math.abs(this._y1-h)>f)&&(this._+="L"+c+","+h),i&&(y<0&&(y=y%_+_),y>x?this._+="A"+i+","+i+",0,1,"+a+","+(t-s)+","+(n-u)+"A"+i+","+i+",0,1,"+a+","+(this._x1=c)+","+(this._y1=h):y>f&&(this._+="A"+i+","+i+",0,"+ +(y>=l)+","+a+","+(this._x1=t+i*Math.cos(o))+","+(this._y1=n+i*Math.sin(o))))},rect:function(t,n,i,e){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+n)+"h"+ +i+"v"+ +e+"h"+-i+"Z"},toString:function(){return this._}};var v=p;function d(t){return function(){return t}}const g=Math.abs,b=Math.atan2,m=Math.cos,T=Math.max,$=Math.min,M=Math.sin,w=Math.sqrt,k=1e-12,S=Math.PI,P=S/2,C=2*S;function R(t){return t>1?0:t<-1?S:Math.acos(t)}function A(t){return t>=1?P:t<=-1?-P:Math.asin(t)}function O(t){return t.innerRadius}function E(t){return t.outerRadius}function N(t){return t.startAngle}function L(t){return t.endAngle}function j(t){return t&&t.padAngle}function z(t,n,i,e,o,r,s,u){var c=i-t,h=e-n,a=s-o,l=u-r,_=l*c-a*h;if(!(_*_<k))return[t+(_=(a*(n-r)-l*(t-o))/_)*c,n+_*h]}function q(t,n,i,e,o,r,s){var u=t-i,c=n-e,h=(s?r:-r)/w(u*u+c*c),a=h*c,l=-h*u,_=t+a,f=n+l,x=i+a,y=e+l,p=(_+x)/2,v=(f+y)/2,d=x-_,g=y-f,b=d*d+g*g,m=o-r,$=_*y-x*f,M=(g<0?-1:1)*w(T(0,m*m*b-$*$)),k=($*g-d*M)/b,S=(-$*d-g*M)/b,P=($*g+d*M)/b,C=(-$*d+g*M)/b,R=k-p,A=S-v,O=P-p,E=C-v;return R*R+A*A>O*O+E*E&&(k=P,S=C),{cx:k,cy:S,x01:-a,y01:-l,x11:k*(o/m-1),y11:S*(o/m-1)}}function I(){var t=O,n=E,i=d(0),e=null,o=N,r=L,s=j,u=null;function c(){var c,h,a=+t.apply(this,arguments),l=+n.apply(this,arguments),_=o.apply(this,arguments)-P,f=r.apply(this,arguments)-P,x=g(f-_),y=f>_;if(u||(u=c=v()),l<a&&(h=l,l=a,a=h),l>k)if(x>C-k)u.moveTo(l*m(_),l*M(_)),u.arc(0,0,l,_,f,!y),a>k&&(u.moveTo(a*m(f),a*M(f)),u.arc(0,0,a,f,_,y));else{var p,d,T=_,O=f,E=_,N=f,L=x,j=x,I=s.apply(this,arguments)/2,W=I>k&&(e?+e.apply(this,arguments):w(a*a+l*l)),X=$(g(l-a)/2,+i.apply(this,arguments)),Y=X,D=X;if(W>k){var B=A(W/a*M(I)),Z=A(W/l*M(I));(L-=2*B)>k?(E+=B*=y?1:-1,N-=B):(L=0,E=N=(_+f)/2),(j-=2*Z)>k?(T+=Z*=y?1:-1,O-=Z):(j=0,T=O=(_+f)/2)}var F=l*m(T),V=l*M(T),G=a*m(N),U=a*M(N);if(X>k){var H,Q=l*m(O),J=l*M(O),K=a*m(E),tt=a*M(E);if(x<S&&(H=z(F,V,K,tt,Q,J,G,U))){var nt=F-H[0],it=V-H[1],et=Q-H[0],ot=J-H[1],rt=1/M(R((nt*et+it*ot)/(w(nt*nt+it*it)*w(et*et+ot*ot)))/2),st=w(H[0]*H[0]+H[1]*H[1]);Y=$(X,(a-st)/(rt-1)),D=$(X,(l-st)/(rt+1))}}j>k?D>k?(p=q(K,tt,F,V,l,D,y),d=q(Q,J,G,U,l,D,y),u.moveTo(p.cx+p.x01,p.cy+p.y01),D<X?u.arc(p.cx,p.cy,D,b(p.y01,p.x01),b(d.y01,d.x01),!y):(u.arc(p.cx,p.cy,D,b(p.y01,p.x01),b(p.y11,p.x11),!y),u.arc(0,0,l,b(p.cy+p.y11,p.cx+p.x11),b(d.cy+d.y11,d.cx+d.x11),!y),u.arc(d.cx,d.cy,D,b(d.y11,d.x11),b(d.y01,d.x01),!y))):(u.moveTo(F,V),u.arc(0,0,l,T,O,!y)):u.moveTo(F,V),a>k&&L>k?Y>k?(p=q(G,U,Q,J,a,-Y,y),d=q(F,V,K,tt,a,-Y,y),u.lineTo(p.cx+p.x01,p.cy+p.y01),Y<X?u.arc(p.cx,p.cy,Y,b(p.y01,p.x01),b(d.y01,d.x01),!y):(u.arc(p.cx,p.cy,Y,b(p.y01,p.x01),b(p.y11,p.x11),!y),u.arc(0,0,a,b(p.cy+p.y11,p.cx+p.x11),b(d.cy+d.y11,d.cx+d.x11),y),u.arc(d.cx,d.cy,Y,b(d.y11,d.x11),b(d.y01,d.x01),!y))):u.arc(0,0,a,N,E,y):u.lineTo(G,U)}else u.moveTo(0,0);if(u.closePath(),c)return u=null,c+""||null}return c.centroid=function(){var i=(+t.apply(this,arguments)+ +n.apply(this,arguments))/2,e=(+o.apply(this,arguments)+ +r.apply(this,arguments))/2-S/2;return[m(e)*i,M(e)*i]},c.innerRadius=function(n){return arguments.length?(t="function"==typeof n?n:d(+n),c):t},c.outerRadius=function(t){return arguments.length?(n="function"==typeof t?t:d(+t),c):n},c.cornerRadius=function(t){return arguments.length?(i="function"==typeof t?t:d(+t),c):i},c.padRadius=function(t){return arguments.length?(e=null==t?null:"function"==typeof t?t:d(+t),c):e},c.startAngle=function(t){return arguments.length?(o="function"==typeof t?t:d(+t),c):o},c.endAngle=function(t){return arguments.length?(r="function"==typeof t?t:d(+t),c):r},c.padAngle=function(t){return arguments.length?(s="function"==typeof t?t:d(+t),c):s},c.context=function(t){return arguments.length?(u=null==t?null:t,c):u},c}const W=(t,n)=>({x:t,y:n,distance(t){return Math.sqrt(Math.pow(this.x-t.x,2)+Math.pow(this.y-t.y,2))},add(t){return W(this.x+t.x,this.y+t.y)},subtract(t){return W(this.x-t.x,this.y-t.y)},scalarMult(t){return W(this.x*t,this.y*t)},scalarDivide(t){if(0===t)throw new Error("Division by 0 error");return W(this.x/t,this.y/t)},equals(t){return this.x===t.x&&this.y===t.y}}),X=(t,n)=>({center:t,radius:n,hasIntersection(t){const n=this.center,i=t.center,e=this.radius,o=t.radius,r=n.distance(i);return!(r>e+o||r<Math.abs(e-o))},equals(t){const n=this.center,i=t.center;return this.radius===t.radius&&n.equals(i)},intersection(t){const n=this.center,i=t.center,e=this.radius,o=t.radius,r=n.distance(i);if(!this.hasIntersection(t)||this.equals(t))return[];const s=(Math.pow(e,2)-Math.pow(o,2)+Math.pow(r,2))/(2*r),u=Math.sqrt(Math.pow(e,2)-Math.pow(s,2)),c=n.add(i.subtract(n).scalarMult(s).scalarDivide(r)),{x:h,y:a}=n,{x:l,y:_}=i,{x:f,y:x}=c,y=[W(f-u*(_-a)/r,x+u*(l-h)/r),W(f+u*(_-a)/r,x-u*(l-h)/r)];return y.sort(((t,n)=>t.x-n.x)),y},solveX(t){const n=Math.sqrt(Math.pow(this.radius,2)-Math.pow(t-this.center.y,2));return[this.center.x-n,this.center.x+n]},solveY(t){const n=Math.sqrt(Math.pow(this.radius,2)-Math.pow(t-this.center.x,2));return[this.center.y-n,this.center.y+n]}}),Y=(t,n)=>{const{x:i,x0:e,y:o,y0:r,horizontal:s}=t,u=t.alignment||"middle",c="middle"===u?n/2:n,h=s?-1:1;return s?{x0:e,x1:i,y0:"start"===u?o:o-h*c,y1:"end"===u?o:o+h*c}:{x0:"start"===u?i:i-h*c,x1:"end"===u?i:i+h*c,y0:r,y1:o}},D=(t,n)=>{const{data:i,scale:e}=t,o=void 0===i[n]._x1?"_x":"_x1";return e.x(i[n][o])},B=t=>-1*t+Math.PI/2,Z=(t,n,i)=>{const e=`${n.topLeft} ${n.topLeft} ${i}`,o=`${n.topRight} ${n.topRight} ${i}`;return`${["M",`A ${n.bottomLeft} ${n.bottomLeft} ${i},`,"L",`A ${e},`,"L",`A ${o},`,"L",`A ${n.bottomRight} ${n.bottomRight} ${i},`].reduce(((n,i,e)=>`${n}${i} ${t[e].x}, ${t[e].y} \n`),"")} z`},F=(t,n,i)=>t.getPath?((t,n)=>{const{getPath:i}=t;if("function"==typeof i)return i({...t,...Y(t,n)})})(t,n):t.horizontal?((t,n,i)=>{const e=Y(t,n),o=e.x0<e.x1?1:-1,r={topRight:o>0?i.topLeft:i.bottomLeft,bottomRight:o>0?i.topRight:i.bottomRight,bottomLeft:o>0?i.bottomRight:i.topRight,topLeft:o>0?i.bottomLeft:i.topLeft},s=((t,n,i)=>{const{y0:e,y1:o}=t,r=t.x0<t.x1?t.x0:t.x1,s=t.x0<t.x1?t.x1:t.x0,u=t=>{const u="top"===t,c=u?-1:1,h=u?o:e;let a={x:r,y:h-c*i[`${t}Left`]},l={x:r+i[`${t}Left`],y:h},_={x:s-i[`${t}Right`],y:h},f={x:s,y:h-c*i[`${t}Right`]};if(l.x>_.x){const e=W(r+i[`${t}Left`],h-c*i[`${t}Left`]),o=X(e,i[`${t}Left`]),x=W(s-i[`${t}Right`],h-c*i[`${t}Right`]),y=X(x,i[`${t}Right`]),p=o.intersection(y);if(p.length>0){const t=p[n>0?1:0];l={x:t.x,y:t.y},_={x:t.x,y:t.y}}else if(i[`${t}Right`]>i[`${t}Left`]){const t=y.solveY(r)[u?0:1];a={x:r,y:t},l={x:r,y:t},_={x:r,y:t}}else{const t=o.solveY(s)[u?0:1];f={x:s,y:t},_={x:s,y:t},l={x:s,y:t}}}return[a,l,_,f]},c=u("top"),h=u("bottom");return[h[1],h[0],...c,h[3],h[2]]})(e,o,r);return Z(s,r,"0 0 1")})(t,n,i):((t,n,i)=>{const e=Y(t,n),o=e.y0>e.y1?1:-1,r=o>0?"0 0 1":"0 0 0",s=((t,n,i)=>{const{x0:e,x1:o,y0:r,y1:s}=t,u=t=>{const u="Left"===t,c=u?1:-1,h=u?e:o;let a={x:h+c*i[`bottom${t}`],y:r},l={x:h,y:r-n*i[`bottom${t}`]},_={x:h,y:s+n*i[`top${t}`]},f={x:h+c*i[`top${t}`],y:s};if(1===n?r-i[`bottom${t}`]<s+i[`top${t}`]:r+i[`bottom${t}`]>s-i[`top${t}`]){const e=W(h+c*i[`top${t}`],s+n*i[`top${t}`]),o=X(e,i[`top${t}`]),x=W(h+c*i[`bottom${t}`],r-n*i[`bottom${t}`]),y=X(x,i[`bottom${t}`]),p=o.intersection(y);if(p.length>0){const t=p[u?0:1];l={x:t.x,y:t.y},_={x:t.x,y:t.y}}else if(i[`top${t}`]>i[`bottom${t}`]){const t=o.solveX(r)[u?0:1];a={x:t,y:r},l={x:t,y:r},_={x:t,y:r}}else{const t=y.solveX(s)[u?0:1];l={x:t,y:s},_={x:t,y:s},f={x:t,y:s}}}const x=[a,l,_,f];return u?x:x.reverse()};return u("Left").concat(u("Right"))})(e,o,i);return Z(s,i,r)})(t,n,i),V=i().createContext(void 0),G=()=>{const t=i().useContext(V);if(!t)throw new Error("This component must be wrapped in a CanvasContext.Provider component.\n Try setting groupComponent={<CanvasGroup />} in your chart component.");return t},U=t=>{const n=function(t,n){if(void 0===t&&(t={}),n.disableInlineStyles)return{};const i={fill:"black",stroke:t.fill||"black"};return c(Object.assign(i,t),n)}(t.style,t),i=((t,n)=>{const{scale:i,data:e,style:o}=n;if(t)return u(t,n);if(o.width)return o.width;const r=i.x.range(),s=Math.abs(r[1]-r[0]),c=e.length+2,h=(n.barRatio||.5)*(e.length<2?8:s/c);return Math.max(1,h)})(t.barWidth,Object.assign({},t,{style:n})),e=((t,n)=>{const i={topLeft:0,topRight:0,bottomLeft:0,bottomRight:0};return t?function(t){return s()(t)}(t)?((t,n)=>{const i={topLeft:0,topRight:0,bottomLeft:0,bottomRight:0},e=(e,o)=>{h(t[e])?h(t[o])||(i[e]=u(t[o],n)):i[e]=u(t[e],n)};return e("topLeft","top"),e("topRight","top"),e("bottomLeft","bottom"),e("bottomRight","bottom"),i})(t,n):(i.topLeft=u(t,n),i.topRight=u(t,n),i):i})(t.cornerRadius,Object.assign({},t,{style:n,barWidth:i}));return Object.assign({},t,{style:n,barWidth:i,cornerRadius:e})},H=t=>{const{canvasRef:n}=G(),e=U(t),{polar:o,style:r,barWidth:s,cornerRadius:u,origin:c}=e,h=i().useMemo((()=>{const t=o?((t,n)=>((t,n)=>{const{datum:i,scale:e,index:o,alignment:r,style:s}=t,u=e.y(i._y0||0),c=e.y(void 0!==i._y1?i._y1:i._y),h=e.x(void 0!==i._x1?i._x1:i._x);let a,l;if(s.width){const n=((t,n)=>{const{scale:i}=t,e=i.y.range(),o=Math.max(...e),r=Math.abs(i.x.range()[1]-i.x.range()[0]);return n/(2*Math.PI*o)*r})(t,s.width),i="middle"===r?n/2:n;a="start"===r?h:h-i,l="end"===r?h:h+i}else a=((t,n)=>{const{data:i,scale:e,alignment:o}=t,r=D(t,n),s=Math.abs(e.x.range()[1]-e.x.range()[0]),u=0===n?D(t,i.length-1)-2*Math.PI:D(t,n-1);return 0===n&&s<2*Math.PI?e.x.range()[0]:"start"===o||"end"===o?"start"===o?u:r:(r+u)/2})(t,Number(o)),l=((t,n)=>{const{data:i,scale:e,alignment:o}=t,r=D(t,n),s=Math.abs(e.x.range()[1]-e.x.range()[0]),u=e.x.range()[1]===2*Math.PI?D(t,0)+2*Math.PI:e.x.range()[1],c=n===i.length-1?D(t,0)+2*Math.PI:D(t,n+1);return n===i.length-1&&s<2*Math.PI?u:"start"===o||"end"===o?"start"===o?r:c:(r+c)/2})(t,Number(o));const _=t=>I().innerRadius(u).outerRadius(c).startAngle(B(a)).endAngle(B(l)).cornerRadius(n[t])(),f=t=>{const n=_(`${t}Right`),i=n.match(/[A-Z]/g)||[],e=n.split(/[A-Z]/).slice(1),o=i.indexOf("L"),r=_(`${t}Left`),s=r.match(/[A-Z]/g)||[],u=r.split(/[A-Z]/).slice(1),c=s.indexOf("L");return{rightMoves:i,rightCoords:e,rightMiddle:o,leftMoves:s,leftCoords:u,leftMiddle:c}};return`${[...(()=>{const{topRight:t,topLeft:i}=n,e=c*Math.abs(l-a),{rightMoves:o,rightCoords:r,rightMiddle:s,leftMoves:u,leftCoords:h,leftMiddle:_}=f("top");let x,y;if(t===i||e<2*t+2*i)x=t>i?o:u,y=t>i?r:h;else{const n=t=>t<3,e=i>t&&n(s)?1:2;let c;if(t>i){const t=n(s)?_:_-2;c=n(_)?_-1:t}else{const t=n(_)?1:2;c=n(s)?t:_-2}x=[...o.slice(0,e),...u.slice(c)],y=[...r.slice(0,e),...h.slice(c)]}const p=x.indexOf("L"),v=x.slice(0,p),d=y.slice(0,p);return v.map(((t,n)=>({command:t,coords:d[n].split(",")})))})(),...(()=>{const{bottomRight:t,bottomLeft:i}=n,e=u*Math.abs(l-a),{rightMoves:o,rightCoords:r,rightMiddle:s,leftMoves:c,leftCoords:h,leftMiddle:_}=f("bottom");let x,y;if(t===i||e<2*t+2*i)x=t>i?o:c,y=t>i?r:h;else{const n=(t,n)=>t.length-n<4,e=(t>i?n(o,s):n(c,_))?-1:-3;x=[...c.slice(0,_+2),...o.slice(e)],y=[...h.slice(0,_+2),...r.slice(e)]}const p=x.indexOf("L"),v=x.slice(p,-1),d=y.slice(p,-1);return v.map(((t,n)=>({command:t,coords:d[n].split(",")})))})()].reduce(((t,n)=>`${t}${n.command} ${n.coords.join()}`),"")} z`})(t,n))(e,u):F(e,s,u);return new Path2D(t)}),[o,s,u,e]),a=(t=>{const n=i().useRef();return i().useEffect((()=>{n.current=t})),n.current})(h),l=i().useCallback(((t,n)=>{t.fillStyle=r.fill,t.strokeStyle=r.stroke,t.globalAlpha=r.fillOpacity,t.lineWidth=r.strokeWidth,o&&t.translate(c?.x||0,c?.y||0),t.fill(n),t.setTransform(1,0,0,1,0,0)}),[r,c,o]),_=i().useCallback((t=>{if(a){t.save();const n=r.strokeWidth||0;t.lineWidth=n+2,t.globalCompositeOperation="destination-out",l(t,a),t.stroke(a),t.restore()}}),[l,a,r]);return i().useEffect((()=>{const t=n.current?.getContext("2d");t&&(_(t),l(t,h))}),[n,l,o,s,u,e,h,_]),null},Q=t=>{const n=i().useRef(null),{children:e,width:o=0,height:r=0,clipWidth:s,padding:u}=t,c=i().useCallback((t=>t.clearRect(0,0,o,r)),[o,r]),h=i().useCallback((t=>{const n="number"==typeof u?u:u?.right||0,i=o-n-("number"==typeof u?u:u?.left||0);t.clearRect(o-n,0,s?-1*(i-s):0,r)}),[o,r,u,s]);return i().createElement(V.Provider,{value:{canvasRef:n,clear:c,clip:h}},i().createElement("foreignObject",{width:o,height:r,x:0,y:0},i().createElement("canvas",{width:o,height:r,ref:n})),e)};Q.role="container";var J=Array.prototype.slice;function K(t){return"object"==typeof t&&"length"in t?t:Array.from(t)}function tt(t){this._context=t}function nt(t){return new tt(t)}function it(t){return t[0]}function et(t){return t[1]}function ot(t,n){var i=d(!0),e=null,o=nt,r=null;function s(s){var u,c,h,a=(s=K(s)).length,l=!1;for(null==e&&(r=o(h=v())),u=0;u<=a;++u)!(u<a&&i(c=s[u],u,s))===l&&((l=!l)?r.lineStart():r.lineEnd()),l&&r.point(+t(c,u,s),+n(c,u,s));if(h)return r=null,h+""||null}return t="function"==typeof t?t:void 0===t?it:d(t),n="function"==typeof n?n:void 0===n?et:d(n),s.x=function(n){return arguments.length?(t="function"==typeof n?n:d(+n),s):t},s.y=function(t){return arguments.length?(n="function"==typeof t?t:d(+t),s):n},s.defined=function(t){return arguments.length?(i="function"==typeof t?t:d(!!t),s):i},s.curve=function(t){return arguments.length?(o=t,null!=e&&(r=o(e)),s):o},s.context=function(t){return arguments.length?(null==t?e=r=null:r=o(e=t),s):e},s}function rt(t,n,i){var e=null,o=d(!0),r=null,s=nt,u=null;function c(c){var h,a,l,_,f,x=(c=K(c)).length,y=!1,p=new Array(x),d=new Array(x);for(null==r&&(u=s(f=v())),h=0;h<=x;++h){if(!(h<x&&o(_=c[h],h,c))===y)if(y=!y)a=h,u.areaStart(),u.lineStart();else{for(u.lineEnd(),u.lineStart(),l=h-1;l>=a;--l)u.point(p[l],d[l]);u.lineEnd(),u.areaEnd()}y&&(p[h]=+t(_,h,c),d[h]=+n(_,h,c),u.point(e?+e(_,h,c):p[h],i?+i(_,h,c):d[h]))}if(f)return u=null,f+""||null}function h(){return ot().defined(o).curve(s).context(r)}return t="function"==typeof t?t:void 0===t?it:d(+t),n="function"==typeof n?n:d(void 0===n?0:+n),i="function"==typeof i?i:void 0===i?et:d(+i),c.x=function(n){return arguments.length?(t="function"==typeof n?n:d(+n),e=null,c):t},c.x0=function(n){return arguments.length?(t="function"==typeof n?n:d(+n),c):t},c.x1=function(t){return arguments.length?(e=null==t?null:"function"==typeof t?t:d(+t),c):e},c.y=function(t){return arguments.length?(n="function"==typeof t?t:d(+t),i=null,c):n},c.y0=function(t){return arguments.length?(n="function"==typeof t?t:d(+t),c):n},c.y1=function(t){return arguments.length?(i=null==t?null:"function"==typeof t?t:d(+t),c):i},c.lineX0=c.lineY0=function(){return h().x(t).y(n)},c.lineY1=function(){return h().x(t).y(i)},c.lineX1=function(){return h().x(e).y(n)},c.defined=function(t){return arguments.length?(o="function"==typeof t?t:d(!!t),c):o},c.curve=function(t){return arguments.length?(s=t,null!=r&&(u=s(r)),c):s},c.context=function(t){return arguments.length?(null==t?r=u=null:u=s(r=t),c):r},c}function st(t,n){return n<t?-1:n>t?1:n>=t?0:NaN}function ut(t){return t}function ct(){var t=ut,n=st,i=null,e=d(0),o=d(C),r=d(0);function s(s){var u,c,h,a,l,_=(s=K(s)).length,f=0,x=new Array(_),y=new Array(_),p=+e.apply(this,arguments),v=Math.min(C,Math.max(-C,o.apply(this,arguments)-p)),d=Math.min(Math.abs(v)/_,r.apply(this,arguments)),g=d*(v<0?-1:1);for(u=0;u<_;++u)(l=y[x[u]=u]=+t(s[u],u,s))>0&&(f+=l);for(null!=n?x.sort((function(t,i){return n(y[t],y[i])})):null!=i&&x.sort((function(t,n){return i(s[t],s[n])})),u=0,h=f?(v-_*g)/f:0;u<_;++u,p=a)c=x[u],a=p+((l=y[c])>0?l*h:0)+g,y[c]={data:s[c],index:u,value:l,startAngle:p,endAngle:a,padAngle:d};return y}return s.value=function(n){return arguments.length?(t="function"==typeof n?n:d(+n),s):t},s.sortValues=function(t){return arguments.length?(n=t,i=null,s):n},s.sort=function(t){return arguments.length?(i=t,n=null,s):i},s.startAngle=function(t){return arguments.length?(e="function"==typeof t?t:d(+t),s):e},s.endAngle=function(t){return arguments.length?(o="function"==typeof t?t:d(+t),s):o},s.padAngle=function(t){return arguments.length?(r="function"==typeof t?t:d(+t),s):r},s}tt.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)}}};var ht=lt(nt);function at(t){this._curve=t}function lt(t){function n(n){return new at(t(n))}return n._curve=t,n}function _t(t){var n=t.curve;return t.angle=t.x,delete t.x,t.radius=t.y,delete t.y,t.curve=function(t){return arguments.length?n(lt(t)):n()._curve},t}function ft(){return _t(ot().curve(ht))}function xt(){var t=rt().curve(ht),n=t.curve,i=t.lineX0,e=t.lineX1,o=t.lineY0,r=t.lineY1;return t.angle=t.x,delete t.x,t.startAngle=t.x0,delete t.x0,t.endAngle=t.x1,delete t.x1,t.radius=t.y,delete t.y,t.innerRadius=t.y0,delete t.y0,t.outerRadius=t.y1,delete t.y1,t.lineStartAngle=function(){return _t(i())},delete t.lineX0,t.lineEndAngle=function(){return _t(e())},delete t.lineX1,t.lineInnerRadius=function(){return _t(o())},delete t.lineY0,t.lineOuterRadius=function(){return _t(r())},delete t.lineY1,t.curve=function(t){return arguments.length?n(lt(t)):n()._curve},t}function yt(t,n){return[(n=+n)*Math.cos(t-=Math.PI/2),n*Math.sin(t)]}at.prototype={areaStart:function(){this._curve.areaStart()},areaEnd:function(){this._curve.areaEnd()},lineStart:function(){this._curve.lineStart()},lineEnd:function(){this._curve.lineEnd()},point:function(t,n){this._curve.point(n*Math.sin(t),n*-Math.cos(t))}};class pt{constructor(t,n){this._context=t,this._x=n}areaStart(){this._line=0}areaEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line}point(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._x?this._context.bezierCurveTo(this._x0=(this._x0+t)/2,this._y0,this._x0,n,t,n):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+n)/2,t,this._y0,t,n)}this._x0=t,this._y0=n}}class vt{constructor(t){this._context=t}lineStart(){this._point=0}lineEnd(){}point(t,n){if(t=+t,n=+n,0==this._point++)this._x0=t,this._y0=n;else{const i=yt(this._x0,this._y0),e=yt(this._x0,this._y0=(this._y0+n)/2),o=yt(t,this._y0),r=yt(t,n);this._context.moveTo(...i),this._context.bezierCurveTo(...e,...o,...r)}}}function dt(t){return new pt(t,!0)}function gt(t){return new pt(t,!1)}function bt(t){return new vt(t)}function mt(t){return t.source}function Tt(t){return t.target}function $t(t){let n=mt,i=Tt,e=it,o=et,r=null,s=null;function u(){let u;const c=J.call(arguments),h=n.apply(this,c),a=i.apply(this,c);if(null==r&&(s=t(u=v())),s.lineStart(),c[0]=h,s.point(+e.apply(this,c),+o.apply(this,c)),c[0]=a,s.point(+e.apply(this,c),+o.apply(this,c)),s.lineEnd(),u)return s=null,u+""||null}return u.source=function(t){return arguments.length?(n=t,u):n},u.target=function(t){return arguments.length?(i=t,u):i},u.x=function(t){return arguments.length?(e="function"==typeof t?t:d(+t),u):e},u.y=function(t){return arguments.length?(o="function"==typeof t?t:d(+t),u):o},u.context=function(n){return arguments.length?(null==n?r=s=null:s=t(r=n),u):r},u}function Mt(){return $t(dt)}function wt(){return $t(gt)}function kt(){const t=$t(bt);return t.angle=t.x,delete t.x,t.radius=t.y,delete t.y,t}const St=w(3);var Pt={draw(t,n){const i=.59436*w(n+$(n/28,.75)),e=i/2,o=e*St;t.moveTo(0,i),t.lineTo(0,-i),t.moveTo(-o,-e),t.lineTo(o,e),t.moveTo(-o,e),t.lineTo(o,-e)}},Ct={draw(t,n){const i=w(n/S);t.moveTo(i,0),t.arc(0,0,i,0,C)}},Rt={draw(t,n){const i=w(n/5)/2;t.moveTo(-3*i,-i),t.lineTo(-i,-i),t.lineTo(-i,-3*i),t.lineTo(i,-3*i),t.lineTo(i,-i),t.lineTo(3*i,-i),t.lineTo(3*i,i),t.lineTo(i,i),t.lineTo(i,3*i),t.lineTo(-i,3*i),t.lineTo(-i,i),t.lineTo(-3*i,i),t.closePath()}};const At=w(1/3),Ot=2*At;var Et={draw(t,n){const i=w(n/Ot),e=i*At;t.moveTo(0,-i),t.lineTo(e,0),t.lineTo(0,i),t.lineTo(-e,0),t.closePath()}},Nt={draw(t,n){const i=.62625*w(n);t.moveTo(0,-i),t.lineTo(i,0),t.lineTo(0,i),t.lineTo(-i,0),t.closePath()}},Lt={draw(t,n){const i=.87559*w(n-$(n/7,2));t.moveTo(-i,0),t.lineTo(i,0),t.moveTo(0,i),t.lineTo(0,-i)}},jt={draw(t,n){const i=w(n),e=-i/2;t.rect(e,e,i,i)}},zt={draw(t,n){const i=.4431*w(n);t.moveTo(i,i),t.lineTo(i,-i),t.lineTo(-i,-i),t.lineTo(-i,i),t.closePath()}};const qt=M(S/10)/M(7*S/10),It=M(C/10)*qt,Wt=-m(C/10)*qt;var Xt={draw(t,n){const i=w(.8908130915292852*n),e=It*i,o=Wt*i;t.moveTo(0,-i),t.lineTo(e,o);for(let n=1;n<5;++n){const r=C*n/5,s=m(r),u=M(r);t.lineTo(u*i,-s*i),t.lineTo(s*e-u*o,u*e+s*o)}t.closePath()}};const Yt=w(3);var Dt={draw(t,n){const i=-w(n/(3*Yt));t.moveTo(0,2*i),t.lineTo(-Yt*i,-i),t.lineTo(Yt*i,-i),t.closePath()}};const Bt=w(3);var Zt={draw(t,n){const i=.6824*w(n),e=i/2,o=i*Bt/2;t.moveTo(0,-i),t.lineTo(o,e),t.lineTo(-o,e),t.closePath()}};const Ft=-.5,Vt=w(3)/2,Gt=1/w(12),Ut=3*(Gt/2+1);var Ht={draw(t,n){const i=w(n/Ut),e=i/2,o=i*Gt,r=e,s=i*Gt+i,u=-r,c=s;t.moveTo(e,o),t.lineTo(r,s),t.lineTo(u,c),t.lineTo(Ft*e-Vt*o,Vt*e+Ft*o),t.lineTo(Ft*r-Vt*s,Vt*r+Ft*s),t.lineTo(Ft*u-Vt*c,Vt*u+Ft*c),t.lineTo(Ft*e+Vt*o,Ft*o-Vt*e),t.lineTo(Ft*r+Vt*s,Ft*s-Vt*r),t.lineTo(Ft*u+Vt*c,Ft*c-Vt*u),t.closePath()}},Qt={draw(t,n){const i=.6189*w(n-$(n/6,1.7));t.moveTo(-i,-i),t.lineTo(i,i),t.moveTo(-i,i),t.lineTo(i,-i)}};const Jt=[Ct,Rt,Et,jt,Xt,Dt,Ht],Kt=[Ct,Lt,Qt,Zt,Pt,zt,Nt];function tn(t,n){let i=null;function e(){let e;if(i||(i=e=v()),t.apply(this,arguments).draw(i,+n.apply(this,arguments)),e)return i=null,e+""||null}return t="function"==typeof t?t:d(t||Ct),n="function"==typeof n?n:d(void 0===n?64:+n),e.type=function(n){return arguments.length?(t="function"==typeof n?n:d(n),e):t},e.size=function(t){return arguments.length?(n="function"==typeof t?t:d(+t),e):n},e.context=function(t){return arguments.length?(i=null==t?null:t,e):i},e}function nn(){}function en(t,n,i){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+i)/6)}function on(t){this._context=t}function rn(t){return new on(t)}function sn(t){this._context=t}function un(t){return new sn(t)}function cn(t){this._context=t}function hn(t){return new cn(t)}function an(t,n){this._basis=new on(t),this._beta=n}on.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:en(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:en(this,t,n)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=n}},sn.prototype={areaStart:nn,areaEnd:nn,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x2,this._y2),this._context.closePath();break;case 2:this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break;case 3:this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4)}},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1,this._x2=t,this._y2=n;break;case 1:this._point=2,this._x3=t,this._y3=n;break;case 2:this._point=3,this._x4=t,this._y4=n,this._context.moveTo((this._x0+4*this._x1+t)/6,(this._y0+4*this._y1+n)/6);break;default:en(this,t,n)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=n}},cn.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(){(this._line||0!==this._line&&3===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;break;case 1:this._point=2;break;case 2:this._point=3;var i=(this._x0+4*this._x1+t)/6,e=(this._y0+4*this._y1+n)/6;this._line?this._context.lineTo(i,e):this._context.moveTo(i,e);break;case 3:this._point=4;default:en(this,t,n)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=n}},an.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var t=this._x,n=this._y,i=t.length-1;if(i>0)for(var e,o=t[0],r=n[0],s=t[i]-o,u=n[i]-r,c=-1;++c<=i;)e=c/i,this._basis.point(this._beta*t[c]+(1-this._beta)*(o+e*s),this._beta*n[c]+(1-this._beta)*(r+e*u));this._x=this._y=null,this._basis.lineEnd()},point:function(t,n){this._x.push(+t),this._y.push(+n)}};var ln=function t(n){function i(t){return 1===n?new on(t):new an(t,n)}return i.beta=function(n){return t(+n)},i}(.85);function _n(t,n,i){t._context.bezierCurveTo(t._x1+t._k*(t._x2-t._x0),t._y1+t._k*(t._y2-t._y0),t._x2+t._k*(t._x1-n),t._y2+t._k*(t._y1-i),t._x2,t._y2)}function fn(t,n){this._context=t,this._k=(1-n)/6}fn.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:_n(this,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,this._x1=t,this._y1=n;break;case 2:this._point=3;default:_n(this,t,n)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=n}};var xn=function t(n){function i(t){return new fn(t,n)}return i.tension=function(n){return t(+n)},i}(0);function yn(t,n){this._context=t,this._k=(1-n)/6}yn.prototype={areaStart:nn,areaEnd:nn,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1,this._x3=t,this._y3=n;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=n);break;case 2:this._point=3,this._x5=t,this._y5=n;break;default:_n(this,t,n)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=n}};var pn=function t(n){function i(t){return new yn(t,n)}return i.tension=function(n){return t(+n)},i}(0);function vn(t,n){this._context=t,this._k=(1-n)/6}vn.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===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;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:_n(this,t,n)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=n}};var dn=function t(n){function i(t){return new vn(t,n)}return i.tension=function(n){return t(+n)},i}(0);function gn(t,n,i){var e=t._x1,o=t._y1,r=t._x2,s=t._y2;if(t._l01_a>k){var u=2*t._l01_2a+3*t._l01_a*t._l12_a+t._l12_2a,c=3*t._l01_a*(t._l01_a+t._l12_a);e=(e*u-t._x0*t._l12_2a+t._x2*t._l01_2a)/c,o=(o*u-t._y0*t._l12_2a+t._y2*t._l01_2a)/c}if(t._l23_a>k){var h=2*t._l23_2a+3*t._l23_a*t._l12_a+t._l12_2a,a=3*t._l23_a*(t._l23_a+t._l12_a);r=(r*h+t._x1*t._l23_2a-n*t._l12_2a)/a,s=(s*h+t._y1*t._l23_2a-i*t._l12_2a)/a}t._context.bezierCurveTo(e,o,r,s,t._x2,t._y2)}function bn(t,n){this._context=t,this._alpha=n}bn.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){if(t=+t,n=+n,this._point){var i=this._x2-t,e=this._y2-n;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(i*i+e*e,this._alpha))}switch(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;default:gn(this,t,n)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=n}};var mn=function t(n){function i(t){return n?new bn(t,n):new fn(t,0)}return i.alpha=function(n){return t(+n)},i}(.5);function Tn(t,n){this._context=t,this._alpha=n}Tn.prototype={areaStart:nn,areaEnd:nn,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(t,n){if(t=+t,n=+n,this._point){var i=this._x2-t,e=this._y2-n;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(i*i+e*e,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=t,this._y3=n;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=n);break;case 2:this._point=3,this._x5=t,this._y5=n;break;default:gn(this,t,n)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=n}};var $n=function t(n){function i(t){return n?new Tn(t,n):new yn(t,0)}return i.alpha=function(n){return t(+n)},i}(.5);function Mn(t,n){this._context=t,this._alpha=n}Mn.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){if(t=+t,n=+n,this._point){var i=this._x2-t,e=this._y2-n;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(i*i+e*e,this._alpha))}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:gn(this,t,n)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=n}};var wn=function t(n){function i(t){return n?new Mn(t,n):new vn(t,0)}return i.alpha=function(n){return t(+n)},i}(.5);function kn(t){this._context=t}function Sn(t){return new kn(t)}function Pn(t){return t<0?-1:1}function Cn(t,n,i){var e=t._x1-t._x0,o=n-t._x1,r=(t._y1-t._y0)/(e||o<0&&-0),s=(i-t._y1)/(o||e<0&&-0),u=(r*o+s*e)/(e+o);return(Pn(r)+Pn(s))*Math.min(Math.abs(r),Math.abs(s),.5*Math.abs(u))||0}function Rn(t,n){var i=t._x1-t._x0;return i?(3*(t._y1-t._y0)/i-n)/2:n}function An(t,n,i){var e=t._x0,o=t._y0,r=t._x1,s=t._y1,u=(r-e)/3;t._context.bezierCurveTo(e+u,o+u*n,r-u,s-u*i,r,s)}function On(t){this._context=t}function En(t){this._context=new Nn(t)}function Nn(t){this._context=t}function Ln(t){return new On(t)}function jn(t){return new En(t)}function zn(t){this._context=t}function qn(t){var n,i,e=t.length-1,o=new Array(e),r=new Array(e),s=new Array(e);for(o[0]=0,r[0]=2,s[0]=t[0]+2*t[1],n=1;n<e-1;++n)o[n]=1,r[n]=4,s[n]=4*t[n]+2*t[n+1];for(o[e-1]=2,r[e-1]=7,s[e-1]=8*t[e-1]+t[e],n=1;n<e;++n)i=o[n]/r[n-1],r[n]-=i,s[n]-=i*s[n-1];for(o[e-1]=s[e-1]/r[e-1],n=e-2;n>=0;--n)o[n]=(s[n]-o[n+1])/r[n];for(r[e-1]=(t[e]+o[e-1])/2,n=0;n<e-1;++n)r[n]=2*t[n+1]-o[n+1];return[o,r]}function In(t){return new zn(t)}function Wn(t,n){this._context=t,this._t=n}function Xn(t){return new Wn(t,.5)}function Yn(t){return new Wn(t,0)}function Dn(t){return new Wn(t,1)}function Bn(t,n){if((o=t.length)>1)for(var i,e,o,r=1,s=t[n[0]],u=s.length;r<o;++r)for(e=s,s=t[n[r]],i=0;i<u;++i)s[i][1]+=s[i][0]=isNaN(e[i][1])?e[i][0]:e[i][1]}function Zn(t){for(var n=t.length,i=new Array(n);--n>=0;)i[n]=n;return i}function Fn(t,n){return t[n]}function Vn(t){const n=[];return n.key=t,n}function Gn(){var t=d([]),n=Zn,i=Bn,e=Fn;function o(o){var r,s,u=Array.from(t.apply(this,arguments),Vn),c=u.length,h=-1;for(const t of o)for(r=0,++h;r<c;++r)(u[r][h]=[0,+e(t,u[r].key,h,o)]).data=t;for(r=0,s=K(n(u));r<c;++r)u[s[r]].index=r;return i(u,s),u}return o.keys=function(n){return arguments.length?(t="function"==typeof n?n:d(Array.from(n)),o):t},o.value=function(t){return arguments.length?(e="function"==typeof t?t:d(+t),o):e},o.order=function(t){return arguments.length?(n=null==t?Zn:"function"==typeof t?t:d(Array.from(t)),o):n},o.offset=function(t){return arguments.length?(i=null==t?Bn:t,o):i},o}function Un(t,n){if((e=t.length)>0){for(var i,e,o,r=0,s=t[0].length;r<s;++r){for(o=i=0;i<e;++i)o+=t[i][r][1]||0;if(o)for(i=0;i<e;++i)t[i][r][1]/=o}Bn(t,n)}}function Hn(t,n){if((u=t.length)>0)for(var i,e,o,r,s,u,c=0,h=t[n[0]].length;c<h;++c)for(r=s=0,i=0;i<u;++i)(o=(e=t[n[i]][c])[1]-e[0])>0?(e[0]=r,e[1]=r+=o):o<0?(e[1]=s,e[0]=s+=o):(e[0]=0,e[1]=o)}function Qn(t,n){if((i=t.length)>0){for(var i,e=0,o=t[n[0]],r=o.length;e<r;++e){for(var s=0,u=0;s<i;++s)u+=t[s][e][1]||0;o[e][1]+=o[e][0]=-u/2}Bn(t,n)}}function Jn(t,n){if((o=t.length)>0&&(e=(i=t[n[0]]).length)>0){for(var i,e,o,r=0,s=1;s<e;++s){for(var u=0,c=0,h=0;u<o;++u){for(var a=t[n[u]],l=a[s][1]||0,_=(l-(a[s-1][1]||0))/2,f=0;f<u;++f){var x=t[n[f]];_+=(x[s][1]||0)-(x[s-1][1]||0)}c+=l,h+=_*l}i[s-1][1]+=i[s-1][0]=r,c&&(r-=h/c)}i[s-1][1]+=i[s-1][0]=r,Bn(t,n)}}function Kn(t){var n=t.map(ti);return Zn(t).sort((function(t,i){return n[t]-n[i]}))}function ti(t){for(var n,i=-1,e=0,o=t.length,r=-1/0;++i<o;)(n=+t[i][1])>r&&(r=n,e=i);return e}function ni(t){var n=t.map(ii);return Zn(t).sort((function(t,i){return n[t]-n[i]}))}function ii(t){for(var n,i=0,e=-1,o=t.length;++e<o;)(n=+t[e][1])&&(i+=n);return i}function ei(t){return ni(t).reverse()}function oi(t){var n,i,e=t.length,o=t.map(ii),r=Kn(t),s=0,u=0,c=[],h=[];for(n=0;n<e;++n)i=r[n],s<u?(s+=o[i],c.push(i)):(u+=o[i],h.push(i));return h.reverse().concat(c)}function ri(t){return Zn(t).reverse()}kn.prototype={areaStart:nn,areaEnd:nn,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(t,n){t=+t,n=+n,this._point?this._context.lineTo(t,n):(this._point=1,this._context.moveTo(t,n))}},On.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:An(this,this._t0,Rn(this,this._t0))}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){var i=NaN;if(n=+n,(t=+t)!==this._x1||n!==this._y1){switch(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,An(this,Rn(this,i=Cn(this,t,n)),i);break;default:An(this,this._t0,i=Cn(this,t,n))}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=n,this._t0=i}}},(En.prototype=Object.create(On.prototype)).point=function(t,n){On.prototype.point.call(this,n,t)},Nn.prototype={moveTo:function(t,n){this._context.moveTo(n,t)},closePath:function(){this._context.closePath()},lineTo:function(t,n){this._context.lineTo(n,t)},bezierCurveTo:function(t,n,i,e,o,r){this._context.bezierCurveTo(n,t,e,i,r,o)}},zn.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var t=this._x,n=this._y,i=t.length;if(i)if(this._line?this._context.lineTo(t[0],n[0]):this._context.moveTo(t[0],n[0]),2===i)this._context.lineTo(t[1],n[1]);else for(var e=qn(t),o=qn(n),r=0,s=1;s<i;++r,++s)this._context.bezierCurveTo(e[0][r],o[0][r],e[1][r],o[1][r],t[s],n[s]);(this._line||0!==this._line&&1===i)&&this._context.closePath(),this._line=1-this._line,this._x=this._y=null},point:function(t,n){this._x.push(+t),this._y.push(+n)}},Wn.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=this._y=NaN,this._point=0},lineEnd:function(){0<this._t&&this._t<1&&2===this._point&&this._context.lineTo(this._x,this._y),(this._line||0!==this._line&&1===this._poin