Socket
Socket
Sign inDemoInstall

@antv/util

Package Overview
Dependencies
4
Maintainers
66
Versions
66
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 3.3.4 to 3.3.5

dist/dom/create-dom.d.ts

11

dist/color/torgb.d.ts
/**
* 将颜色转换到 rgb 的格式
* @param {color} color 颜色
* @return 将颜色转换到 '#ffffff' 的格式
* export with memoize.
* @param color
* @returns
*/
export declare function toRGB(color: string): string;
export declare const toRGB: {
(...args: any[]): any;
cache: import("flru").flruCache<any>;
};

@@ -6,1 +6,2 @@ export * from './color';

export * from './math';
export * from './dom';

@@ -1,4 +0,4 @@

declare const _default: (f: Function, resolver?: (...args: any[]) => string) => {
declare const _default: (f: Function, resolver?: (...args: any[]) => string, maxSize?: number) => {
(...args: any[]): any;
cache: Map<any, any>;
cache: import("flru").flruCache<any>;
};

@@ -10,3 +10,4 @@ /**

* @param resolver
* @param maxSize lru maxSize
*/
export default _default;
/**
* 根据 actions 来做 transform
* @param m
* @param actions
*/
export declare function transform(m: number[], actions: any[][]): any[];
/**
* 向量 v1 到 向量 v2 夹角的方向
* @param {Array} v1 向量
* @param {Array} v2 向量
* @return {Boolean} >= 0 顺时针 < 0 逆时针
*/
export declare function direction(v1: number[], v2: number[]): number;
/**
* 二维向量 v1 到 v2 的夹角
* @param v1
* @param v2
* @param direct
*/
export declare function angleTo(v1: [number, number], v2: [number, number], direct?: boolean): number;
/**
* 计算二维向量的垂直向量
* @param out
* @param v
* @param flag
*/
export declare function vertical(out: number[], v: number[], flag: boolean): number[];
* @description 扩展方法,提供 gl-matrix 为提供的方法
**/
export { transform } from './transform';
export { angleTo } from './angle-to';
export { direction } from './direction';
export { vertical } from './vertical';

@@ -1,1 +0,1 @@

!function(n,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((n="undefined"!=typeof globalThis?globalThis:n||self).util={})}(this,function(n){"use strict";function N(n){return[parseInt(n.substr(1,2),16),parseInt(n.substr(3,2),16),parseInt(n.substr(5,2),16)]}function t(n){n=Math.round(n).toString(16);return 1===n.length?"0"+n:n}function z(n){return"#"+t(n[0])+t(n[1])+t(n[2])}var r,L=/rgba?\(([\s.,0-9]+)\)/;function V(n){var t;return"#"===n[0]&&7===n.length?n:(r||((t=document.createElement("i")).title="Web Colour Picker",t.style.display="none",document.body.appendChild(t),r=t),r.style.color=n,t=document.defaultView.getComputedStyle(r,"").getPropertyValue("color"),z(L.exec(t)[1].split(/\s*,\s*/).map(function(n){return Number(n)})))}function o(n,t,r,e){return n[e]+(t[e]-n[e])*r}var B=/^l\s*\(\s*([\d.]+)\s*\)\s*(.*)/i,D=/^r\s*\(\s*([\d.]+)\s*,\s*([\d.]+)\s*,\s*([\d.]+)\s*\)\s*(.*)/i,_=/[\d.]+:(#[^\s]+|[^)]+\))/gi;var a="undefined"!=typeof Float32Array?Float32Array:Array;function s(n,t,r){var e=t[0],a=t[1],i=t[2],o=t[3],u=t[4],c=t[5],f=t[6],l=t[7],t=t[8],h=r[0],s=r[1],p=r[2],y=r[3],v=r[4],m=r[5],x=r[6],g=r[7],r=r[8];return n[0]=h*e+s*o+p*f,n[1]=h*a+s*u+p*l,n[2]=h*i+s*c+p*t,n[3]=y*e+v*o+m*f,n[4]=y*a+v*u+m*l,n[5]=y*i+v*c+m*t,n[6]=x*e+g*o+r*f,n[7]=x*a+g*u+r*l,n[8]=x*i+g*c+r*t,n}function Q(){var n=new a(3);return a!=Float32Array&&(n[0]=0,n[1]=0,n[2]=0),n}function X(n,t,r){var e=new a(3);return e[0]=n,e[1]=t,e[2]=r,e}Math.hypot||(Math.hypot=function(){for(var n=0,t=arguments.length;t--;)n+=arguments[t]*arguments[t];return Math.sqrt(n)});function Y(){var n=new a(4);return a!=Float32Array&&(n[0]=0,n[1]=0,n[2]=0),n[3]=1,n}Q(),q=new a(4),a!=Float32Array&&(q[0]=0,q[1]=0,q[2]=0,q[3]=0);function Z(n,t,r){var e,a,i=[0,0,0,0,0,0,0,0,0];e=i,r=r,a=Math.sin(r),r=Math.cos(r),e[0]=r,e[1]=a,e[2]=0,e[3]=-a,e[4]=r,e[5]=0,e[6]=0,e[7]=0,e[8]=1,s(n,i,t)}function U(n,t){return n[0]*t[1]-t[0]*n[1]}Q(),X(1,0,0),X(0,1,0),Y(),Y(),q=new a(9),a!=Float32Array&&(q[1]=0,q[2]=0,q[3]=0,q[5]=0,q[6]=0,q[7]=0),q[0]=1,q[4]=1,q[8]=1,q=new a(2),a!=Float32Array&&(q[0]=0,q[1]=0);var x=function(){return(x=Object.assign||function(n){for(var t,r=1,e=arguments.length;r<e;r++)for(var a in t=arguments[r])Object.prototype.hasOwnProperty.call(t,a)&&(n[a]=t[a]);return n}).apply(this,arguments)};function W(n,t,r){if(r||2===arguments.length)for(var e,a=0,i=t.length;a<i;a++)!e&&a in t||((e=e||Array.prototype.slice.call(t,0,a))[a]=t[a]);return n.concat(e||Array.prototype.slice.call(t))}var H={x1:0,y1:0,x2:0,y2:0,x:0,y:0,qx:null,qy:null};var p={a:7,c:6,h:1,l:2,m:2,r:4,q:4,s:4,t:2,v:1,z:0};function G(n){return Array.isArray(n)&&n.every(function(n){var t=n[0].toLowerCase();return p[t]===n.length-1&&"achlmqstvz".includes(t)})}function K(n){return G(n)&&n.every(function(n){n=n[0];return n===n.toUpperCase()})}function $(n){return K(n)&&n.every(function(n){n=n[0];return"ACLMQZ".includes(n)})}function J(n){for(var t=n.pathValue[n.segmentStart],r=t.toLowerCase(),e=n.data;e.length>=p[r]&&("m"===r&&2<e.length?(n.segments.push([t].concat(e.splice(0,2))),r="l",t="m"===t?"l":"L"):n.segments.push([t].concat(e.splice(0,p[r]))),p[r]););}function y(n){return 48<=n&&n<=57}function v(n){for(var t,r=n.pathValue,e=n.max;n.index<e&&(10===(t=r.charCodeAt(n.index))||13===t||8232===t||8233===t||32===t||9===t||11===t||12===t||160===t||5760<=t&&[5760,6158,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288,65279].includes(t));)n.index+=1}function nn(n){var t,r,e,a,i,o=n.max,u=n.pathValue,c=n.index,f=u.charCodeAt(c),l=p[u[c].toLowerCase()];if(n.segmentStart=c,function(n){switch(32|n){case 109:case 122:case 108:case 104:case 118:case 99:case 115:case 113:case 116:case 97:return 1;default:return}}(f)){if(n.index+=1,v(n),n.data=[],l)for(;;){for(var h=l;0<h;--h){if(97!=(32|f)||3!==h&&4!==h?function(n){var t,r,e=n.max,a=n.pathValue,i=n.index,o=i,u=!1,c=!1,f=!1;if(e<=o)n.err="[path-util]: Invalid path value at index "+o+', "pathValue" is missing param';else if(y(r=43!==(r=a.charCodeAt(o))&&45!==r?r:a.charCodeAt(o+=1))||46===r){if(46!==r){if(t=48===r,r=a.charCodeAt(o+=1),t&&o<e&&r&&y(r))return n.err="[path-util]: Invalid path value at index "+i+', "'+a[i]+'" illegal number';for(;o<e&&y(a.charCodeAt(o));)o+=1,u=!0;r=a.charCodeAt(o)}if(46===r){for(f=!0,o+=1;y(a.charCodeAt(o));)o+=1,c=!0;r=a.charCodeAt(o)}if(101===r||69===r){if(f&&!u&&!c)return n.err="[path-util]: Invalid path value at index "+o+', "'+a[o]+'" invalid float exponent';if(43!==(r=a.charCodeAt(o+=1))&&45!==r||(o+=1),!(o<e&&y(a.charCodeAt(o))))return n.err="[path-util]: Invalid path value at index "+o+', "'+a[o]+'" invalid integer exponent';for(;o<e&&y(a.charCodeAt(o));)o+=1}n.index=o,n.param=+n.pathValue.slice(i,o)}else n.err="[path-util]: Invalid path value at index "+o+', "'+a[o]+'" is not a number'}(n):(i=a=e=void 0,e=(r=n).index,a=r.pathValue,48===(i=a.charCodeAt(e))?(r.param=0,r.index+=1):49===i?(r.param=1,r.index+=1):r.err='[path-util]: invalid Arc flag "'+a[e]+'", expecting 0 or 1 at index '+e),n.err.length)return;n.data.push(n.param),v(n),n.index<o&&44===u.charCodeAt(n.index)&&(n.index+=1,v(n))}if(n.index>=n.max)break;if(!(48<=(t=u.charCodeAt(n.index))&&t<=57||43===t||45===t||46===t))break}J(n)}else n.err='[path-util]: Invalid path value "'+u[c]+'" is not a path command'}var tn=function(n){this.pathValue=n,this.segments=[],this.max=n.length,this.index=0,this.param=0,this.segmentStart=0,this.data=[],this.err=""};function g(n){if(G(n))return[].concat(n);var t=new tn(n);for(v(t);t.index<t.max&&!t.err.length;)nn(t);return t.err||t.segments}function rn(n){var o,u,c,f;return K(n)?[].concat(n):(n=g(n),f=c=u=o=0,n.map(function(n){var t=n.slice(1).map(Number),n=n[0],r=n.toUpperCase();if("M"===n)return o=t[0],u=t[1],["M",c=o,f=u];if(n!==r)switch(r){case"A":a=[r,t[0],t[1],t[2],t[3],t[4],t[5]+o,t[6]+u];break;case"V":a=[r,t[0]+u];break;case"H":a=[r,t[0]+o];break;default:var e=t.map(function(n,t){return n+(t%2?u:o)}),a=[r].concat(e)}else a=[r].concat(t);var i=a.length;switch(r){case"Z":o=c,u=f;break;case"H":o=a[1];break;case"V":u=a[1];break;default:o=a[i-2],u=a[i-1],"M"===r&&(c=o,f=u)}return a}))}function A(n){if($(n))return[].concat(n);for(var t,r,e,a,i,o,u,c=rn(n),f=x({},H),l=0;l<c.length;l+=1){c[l]=(t=c[l],r=f,u=o=s=i=h=a=e=void 0,e=t[0],a=r.x1,h=r.y1,i=r.x2,s=r.y2,o=t.slice(1).map(Number),u=t,"TQ".includes(e)||(r.qx=null,r.qy=null),"H"===e?u=["L",t[1],h]:"V"===e?u=["L",a,t[1]]:"S"===e?(t=2*h-s,u=["C",r.x1=2*a-i,r.y1=t].concat(o)):"T"===e?(s=2*a-r.qx,i=2*h-r.qy,u=["Q",r.qx=s,r.qy=i].concat(o)):"Q"===e&&(t=o[0],a=o[1],r.qx=t,r.qy=a),u);var h=c[l],s=h.length;f.x1=+h[s-2],f.y1=+h[s-1],f.x2=+h[s-4]||f.x1,f.y2=+h[s-3]||f.y1}return c}function O(n,t,r){return{x:n*Math.cos(r)-t*Math.sin(r),y:n*Math.sin(r)+t*Math.cos(r)}}function en(n,t,r,e,a,i,o,u,c,f){var l=120*Math.PI/180,h=Math.PI/180*(+a||0),s=[],p=(f?(d=f[0],M=f[1],x=f[2],g=f[3]):(n=(v=O(n,t,-h)).x,t=v.y,1<(p=(y=(n-(u=(v=O(u,c,-h)).x))/2)*y/(r*r)+(v=(t-(c=v.y))/2)*v/(e*e))&&(r*=p=Math.sqrt(p),e*=p),p=r*r,m=e*e,x=(i=(i===o?-1:1)*Math.sqrt(Math.abs((p*m-p*v*v-m*y*y)/(p*v*v+m*y*y))))*r*v/e+(n+u)/2,g=i*-e*y/r+(t+c)/2,d=Math.asin(((t-g)/e*Math.pow(10,9)>>0)/Math.pow(10,9)),M=Math.asin(((c-g)/e*Math.pow(10,9)>>0)/Math.pow(10,9)),d=n<x?Math.PI-d:d,M=u<x?Math.PI-M:M,d<0&&(d=2*Math.PI+d),M<0&&(M=2*Math.PI+M),o&&M<d&&(d-=2*Math.PI),!o&&d<M&&(M-=2*Math.PI)),M-d),y=(Math.abs(p)>l&&(m=M,v=u,i=c,M=d+l*(o&&d<M?1:-1),s=en(u=x+r*Math.cos(M),c=g+e*Math.sin(M),r,e,a,0,o,v,i,[M,m,x,g])),p=M-d,Math.cos(d)),l=Math.sin(d),a=Math.cos(M),o=Math.sin(M),v=Math.tan(p/4),i=4/3*r*v,m=4/3*e*v,x=[n,t],g=[n+i*l,t-m*y],d=[u+i*o,c-m*a],M=[u,c];if(g[0]=2*x[0]-g[0],g[1]=2*x[1]-g[1],f)return g.concat(d,M,s);for(var b=[],w=0,A=(s=g.concat(d,M,s)).length;w<A;w+=1)b[w]=w%2?O(s[w-1],s[w],h).y:O(s[w],s[w+1],h).x;return b}function c(n,t,r){var e=n[0],n=n[1];return[e+(t[0]-e)*r,n+(t[1]-n)*r]}var an=function(n,t,r,e){return W(W([],c([n,t],[r,e],.5),!0),[r,e,r,e],!1)};function on(n,t){var r;if(void 0===t&&(t=!1),$(r=n)&&r.every(function(n){n=n[0];return"MC".includes(n)}))return r=[].concat(n),t?[r,[]]:r;for(var e,a=A(n),i=x({},H),o=[],u="",c=a.length,f=[],l=0;l<c;l+=1){a[l]&&(u=a[l][0]),o[l]=u;var h=function(n,t){var r,e,a,i,o,u,c=n[0],f=n.slice(1).map(Number),l=f[0],h=f[1],s=t.x1,p=t.y1,y=t.x,v=t.y;switch("TQ".includes(c)||(t.qx=null,t.qy=null),c){case"M":return t.x=l,t.y=h,n;case"A":return u=[s,p].concat(f),["C"].concat(en(u[0],u[1],u[2],u[3],u[4],u[5],u[6],u[7],u[8],u[9]));case"Q":return t.qx=l,t.qy=h,u=[s,p].concat(f),["C"].concat((r=u[0],e=u[1],a=u[2],i=u[3],o=u[4],u=u[5],[1/3*r+2/3*a,1/3*e+2/3*i,1/3*o+2/3*a,1/3*u+2/3*i,o,u]));case"L":return["C"].concat(an(s,p,l,h));case"Z":return s===y&&p===v?["C",s,p,y,v,y,v]:["C"].concat(an(s,p,y,v))}return n}(a[l],i),s=(a[l]=h,m=v=y=p=s=void 0,a),p=o,y=l;if(7<s[y].length){s[y].shift();for(var v=s[y],m=y;v.length;)p[y]="A",s.splice(m+=1,0,["C"].concat(v.splice(0,6)));s.splice(y,1)}c=a.length,"Z"===u&&f.push(l),e=(h=a[l]).length,i.x1=+h[e-2],i.y1=+h[e-1],i.x2=+h[e-4]||i.x1,i.y2=+h[e-3]||i.y1}return t?[a,f]:a}function R(n,t){return Math.sqrt((n[0]-t[0])*(n[0]-t[0])+(n[1]-t[1])*(n[1]-t[1]))}function un(n,t,r,e,a){var i=R([n,t],[r,e]),o={x:0,y:0};return{length:i,point:o="number"==typeof a?a<=0?{x:n,y:t}:i<=a?{x:r,y:e}:{x:(a=c([n,t],[r,e],a/i))[0],y:a[1]}:o,min:{x:Math.min(n,r),y:Math.min(t,e)},max:{x:Math.max(n,r),y:Math.max(t,e)}}}function cn(n,t){var r=n.x,n=n.y,e=t.x,t=t.y,a=r*e+n*t,i=Math.sqrt((Math.pow(r,2)+Math.pow(n,2))*(Math.pow(e,2)+Math.pow(t,2)));return(r*t-n*e<0?-1:1)*Math.acos(a/i)}function fn(n,t,r,e,a,z,L,i,o,u,c){var f=c.bbox,V=void 0===f||f,f=c.length,B=void 0===f||f,f=c.sampleSize,l=void 0===f?30:f,h="number"==typeof u,s=n,p=t,y=0,v=[s,p,y],m=[s,p],x={x:0,y:0},g=[{x:s,y:p}];h&&u<=0&&(x={x:s,y:p});for(var d,M,b,w,A,O,C,j,P,q,I,k,S,F,E,T,N=0;N<=l;N+=1)d=n,M=t,b=r,w=e,A=a,O=z,C=L,j=i,P=o,q=N/l,k=T=E=F=S=k=I=void 0,k=Math.abs,S=Math.sin,F=Math.cos,E=Math.sqrt,T=Math.PI,b=k(b),k=k(w),w=T/180*((A%360+360)%360),s=(I=d===j&&M===P?{x:d,y:M}:0===b||0===k?un(d,M,j,P,q).point:(A=(d-j)/2,I=(M-P)/2,A={x:F(w)*A+S(w)*I,y:-S(w)*A+F(w)*I},1<(I=Math.pow(A.x,2)/Math.pow(b,2)+Math.pow(A.y,2)/Math.pow(k,2))&&(b*=E(I),k*=E(I)),I=(Math.pow(b,2)*Math.pow(k,2)-Math.pow(b,2)*Math.pow(A.y,2)-Math.pow(k,2)*Math.pow(A.x,2))/(Math.pow(b,2)*Math.pow(A.y,2)+Math.pow(k,2)*Math.pow(A.x,2)),O=(O!==C?1:-1)*E(I<0?0:I),E=b*A.y/k*O,I=-k*A.x/b*O,O=F(w)*E-S(w)*I+(d+j)/2,d=S(w)*E+F(w)*I+(M+P)/2,M=cn({x:1,y:0},j={x:(A.x-E)/b,y:(A.y-I)/k}),P=cn(j,{x:(-A.x-E)/b,y:(-A.y-I)/k}),!C&&0<P?P-=2*T:C&&P<0&&(P+=2*T),j=M+(P%=2*T)*q,E=b*F(j),A=k*S(j),{x:F(w)*E-S(w)*A+O,y:S(w)*E+F(w)*A+d})).x,p=I.y,V&&g.push({x:s,y:p}),B&&(y+=R(m,[s,p])),m=[s,p],h&&u<=y&&u>v[2]&&(C=(y-u)/(y-v[2]),x={x:m[0]*(1-C)+v[0]*C,y:m[1]*(1-C)+v[1]*C}),v=[s,p,y];return{length:y,point:x=h&&y<=u?{x:i,y:o}:x,min:{x:Math.min.apply(null,g.map(function(n){return n.x})),y:Math.min.apply(null,g.map(function(n){return n.y}))},max:{x:Math.max.apply(null,g.map(function(n){return n.x})),y:Math.max.apply(null,g.map(function(n){return n.y}))}}}function ln(n,t,r,e,a,i,o,u,c,f){var l=f.bbox,h=void 0===l||l,l=f.length,s=void 0===l||l,l=f.sampleSize,p=void 0===l?10:l,y="number"==typeof c,v=n,m=t,x=0,g=[v,m,x],d=[v,m],M={x:0,y:0},b=[{x:v,y:m}];y&&c<=0&&(M={x:v,y:m});for(var w,A,O,C,j,P,q,I,k,S,F=0;F<=p;F+=1)w=n,A=t,O=r,C=e,j=a,P=i,q=o,I=u,S=void 0,S=1-(k=F/p),v=(w={x:Math.pow(S,3)*w+3*Math.pow(S,2)*k*O+3*S*Math.pow(k,2)*j+Math.pow(k,3)*q,y:Math.pow(S,3)*A+3*Math.pow(S,2)*k*C+3*S*Math.pow(k,2)*P+Math.pow(k,3)*I}).x,m=w.y,h&&b.push({x:v,y:m}),s&&(x+=R(d,[v,m])),d=[v,m],y&&c<=x&&c>g[2]&&(O=(x-c)/(x-g[2]),M={x:d[0]*(1-O)+g[0]*O,y:d[1]*(1-O)+g[1]*O}),g=[v,m,x];return{length:x,point:M=y&&x<=c?{x:o,y:u}:M,min:{x:Math.min.apply(null,b.map(function(n){return n.x})),y:Math.min.apply(null,b.map(function(n){return n.y}))},max:{x:Math.max.apply(null,b.map(function(n){return n.x})),y:Math.max.apply(null,b.map(function(n){return n.y}))}}}function hn(n,t,r,e,a,i,o,u){var c=u.bbox,f=void 0===c||c,c=u.length,l=void 0===c||c,c=u.sampleSize,h=void 0===c?10:c,s="number"==typeof o,p=n,y=t,v=0,m=[p,y,v],x=[p,y],g={x:0,y:0},d=[{x:p,y:y}];s&&o<=0&&(g={x:p,y:y});for(var M,b,w,A,O,C,j,P,q=0;q<=h;q+=1)M=n,b=t,w=r,A=e,O=a,C=i,P=void 0,P=1-(j=q/h),p=(M={x:Math.pow(P,2)*M+2*P*j*w+Math.pow(j,2)*O,y:Math.pow(P,2)*b+2*P*j*A+Math.pow(j,2)*C}).x,y=M.y,f&&d.push({x:p,y:y}),l&&(v+=R(x,[p,y])),x=[p,y],s&&o<=v&&o>m[2]&&(w=(v-o)/(v-m[2]),g={x:x[0]*(1-w)+m[0]*w,y:x[1]*(1-w)+m[1]*w}),m=[p,y,v];return{length:v,point:g=s&&v<=o?{x:a,y:i}:g,min:{x:Math.min.apply(null,d.map(function(n){return n.x})),y:Math.min.apply(null,d.map(function(n){return n.y}))},max:{x:Math.max.apply(null,d.map(function(n){return n.x})),y:Math.max.apply(null,d.map(function(n){return n.y}))}}}function u(n,t,r){for(var e,a,i,o=A(n),u="number"==typeof t,c=[],f=0,l=0,h=0,s=0,p=[],y=[],v=0,m={x:0,y:0},x=m,g=m,d=m,M=0,b=0,w=o.length;b<w;b+=1)c=(e="M"===(a=(i=o[b])[0]))?c:[f,l].concat(i.slice(1)),e?(x=m={x:h=i[1],y:s=i[2]},v=0,u&&t<.001&&(d=m)):"L"===a?(v=(e=un(c[0],c[1],c[2],c[3],(t||0)-M)).length,m=e.min,x=e.max,g=e.point):"A"===a?(v=(e=fn(c[0],c[1],c[2],c[3],c[4],c[5],c[6],c[7],c[8],(t||0)-M,r||{})).length,m=e.min,x=e.max,g=e.point):"C"===a?(v=(e=ln(c[0],c[1],c[2],c[3],c[4],c[5],c[6],c[7],(t||0)-M,r||{})).length,m=e.min,x=e.max,g=e.point):"Q"===a?(v=(e=hn(c[0],c[1],c[2],c[3],c[4],c[5],(t||0)-M,r||{})).length,m=e.min,x=e.max,g=e.point):"Z"===a&&(v=(e=un((c=[f,l,h,s])[0],c[1],c[2],c[3],(t||0)-M)).length,m=e.min,x=e.max,g=e.point),u&&M<t&&t<=M+v&&(d=g),y.push(x),p.push(m),M+=v,f=(e="Z"!==a?i.slice(-2):[h,s])[0],l=e[1];return{length:M,point:d=u&&M<=t?{x:f,y:l}:d,min:{x:Math.min.apply(null,p.map(function(n){return n.x})),y:Math.min.apply(null,p.map(function(n){return n.y}))},max:{x:Math.max.apply(null,y.map(function(n){return n.x})),y:Math.max.apply(null,y.map(function(n){return n.y}))}}}function d(n,t){return u(n,void 0,x(x({},t),{bbox:!1,length:!0})).length}function sn(n){var u=0,c=0,f=0;return on(n).map(function(n){var t,r,e,a,i,o;return"M"===n[0]?(u=n[1],c=n[2],0):(o=n.slice(1),t=o[0],r=o[1],e=o[2],a=o[3],i=o[4],o=o[5],f=3*((o-c)*(t+e)-(i-u)*(r+a)+r*(u-e)-t*(c-a)+o*(e+u/3)-i*(a+c/3))/20,r=n.slice(-2),u=r[0],c=r[1],f)}).reduce(function(n,t){return n+t},0)}function M(n,t,r){return u(n,t,x(x({},r),{bbox:!1,length:!0})).point}function pn(n,r){for(var t,e,a,i,o,n=g(n),u=A(n),c=d(n),f=function(n){var t=n.x-r.x,n=n.y-r.y;return t*t+n*n},l=8,h=0,s=1/0,p=0;p<=c;p+=l)(e=f(t=M(u,p)))<s&&(a=t,h=p,s=e);l/=2;for(var y,v,m,x;.5<l;)m=f(i=M(u,y=h-l)),x=f(o=M(u,v=h+l)),0<=y&&m<s?(a=i,h=y,s=m):v<=c&&x<s?(a=o,h=v,s=x):l/=2;n=function(n,t){if("string"==typeof(n=g(n)))throw TypeError(n);var r=n.slice(),e=d(r),a=r.length-1,i=0,o=0,u=n[0],c={x:(c=u.slice(-2))[0],y:c[1]};if(a<=0||!t||!Number.isFinite(t))return{segment:u,index:0,length:o,point:c,lengthAtSegment:i};if(e<=t)return i=d(r=n.slice(0,-1)),{segment:n[a],index:a,length:o=e-i,lengthAtSegment:i};for(var f=[];0<a;)u=r[a],o=e-(i=d(r=r.slice(0,-1))),e=i,f.push({segment:u,index:a,length:o,lengthAtSegment:i}),--a;return f.find(function(n){return n.lengthAtSegment<=t})}(n,h);return{closest:a,distance:Math.sqrt(s),segment:n}}function yn(n){return n.map(function(n,t,r){var e,a,i,o,r=t&&r[t-1].slice(-2).concat(n.slice(1)),u=t?ln(r[0],r[1],r[2],r[3],r[4],r[5],r[6],r[7],r[8],{bbox:!1}).length:0,r=t?u?(void 0===e&&(e=.5),r=(t=r).slice(0,2),a=t.slice(2,4),i=t.slice(4,6),t=t.slice(6,8),r=c(r,a,e),a=c(a,i,e),i=c(i,t,e),o=c(r,a,e),a=c(a,i,e),e=c(o,a,e),[["C"].concat(r,o,e),["C"].concat(a,i,t)]):[n,n]:[n];return{s:n,ss:r,l:u}})}function e(n,t){return!!f(n)&&-1<n.indexOf(t)}function vn(n,t){if(!f(n))return n;for(var r=[],e=0;e<n.length;e++){var a=n[e];t(a,e)&&r.push(a)}return r}function i(n){var t=typeof n;return null!==n&&"object"==t||"function"==t}var f=function(n){return null!==n&&"function"!=typeof n&&isFinite(n.length)},l=function(n){return"function"==typeof n},h=function(n){return null==n},mn={}.toString,m=function(n,t){return mn.call(n)==="[object "+t+"]"},b=function(n){return Array.isArray?Array.isArray(n):m(n,"Array")};function w(n,t){if(n)if(b(n))for(var r=0,e=n.length;r<e&&!1!==t(n[r],r);r++);else if(i(n))for(var a in n)if(n.hasOwnProperty(a)&&!1===t(n[a],a))break}var xn=Object.keys?function(n){return Object.keys(n)}:function(r){var e=[];return w(r,function(n,t){l(r)&&"prototype"===t||e.push(t)}),e};function gn(n,t){var r=xn(t),e=r.length;if(h(n))return!e;for(var a=0;a<e;a+=1){var i=r[a];if(t[i]!==n[i]||!(i in n))return!1}return!0}var C=function(n){return"object"==typeof n&&null!==n},j=function(n){if(!C(n)||!m(n,"Object"))return!1;if(null===Object.getPrototypeOf(n))return!0;for(var t=n;null!==Object.getPrototypeOf(t);)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(n)===t};function dn(n,t){if(void 0===t&&(t=[]),b(n))for(var r=0;r<n.length;r+=1)dn(n[r],t);else t.push(n);return t}function Mn(n){if(b(n))return n.reduce(function(n,t){return Math.max(n,t)},n[0])}function bn(n){if(b(n))return n.reduce(function(n,t){return Math.min(n,t)},n[0])}function wn(n,t){if(!f(n))return[];for(var r=n?t.length:0,e=r-1;r--;){var a=t[r];r!==e&&void 0===a||jn.call(n,a,1)}return n}function An(n,r,t){var e;return b(n)||j(n)?(e=t,w(n,function(n,t){e=r(e,n,t)}),e):n}function P(n){return m(n,"String")}var q=Array.prototype,On=q.splice,Cn=q.indexOf,jn=Array.prototype.splice;function Pn(n,t){void 0===t&&(t=new Map);var r=[];if(Array.isArray(n))for(var e=0,a=n.length;e<a;e++){var i=n[e];t.has(i)||(r.push(i),t.set(i,!0))}return r}var qn=Object.prototype.hasOwnProperty;function In(n,t){if(!t||!b(n))return{};for(var r={},e=l(t)?t:function(n){return n[t]},a=0;a<n.length;a++){var i=n[a],o=e(i);qn.call(r,o)?r[o].push(i):r[o]=[i]}return r}function kn(n,t){var a;return t?(l(t)||(a=b(t)?t:t.replace(/\s+/g,"").split("*"),t=function(n){for(var t="_",r=0,e=a.length;r<e;r++)t+=n[a[r]]&&n[a[r]].toString();return t}),In(n,t)):{0:n}}var Sn={};function I(n){return m(n,"Number")}q=Number.isInteger||function(n){return I(n)&&n%1==0};function Fn(n,t){return n.hasOwnProperty(t)}function k(n){return h(n)?"":n.toString()}var En=180/Math.PI,Tn=parseInt,Nn=Math.PI/180,zn=Object.values?function(n){return Object.values(n)}:function(r){var e=[];return w(r,function(n,t){l(r)&&"prototype"===t||e.push(n)}),e};function Ln(n){return Vn.call(n).replace(/^\[object /,"").replace(/]$/,"")}var Vn={}.toString;function Bn(n){var t=n&&n.constructor;return n===("function"==typeof t&&t.prototype||Rn)}var Rn=Object.prototype;function Dn(n,t){for(var r in t)t.hasOwnProperty(r)&&"constructor"!==r&&void 0!==t[r]&&(n[r]=t[r])}function S(n,t,r,e){return t&&Dn(n,t),r&&Dn(n,r),e&&Dn(n,e),n}function _n(n){if("object"!=typeof n||null===n)return n;if(b(n))for(var t=[],r=0,e=n.length;r<e;r++)"object"==typeof n[r]&&null!=n[r]?t[r]=_n(n[r]):t[r]=n[r];else for(var a in t={},n)"object"==typeof n[a]&&null!=n[a]?t[a]=_n(n[a]):t[a]=n[a];return t}var Qn=5;function Xn(n,t,r,e){for(var a in r=r||0,e=e||Qn,t){var i;!function(n,t){if(Object.hasOwn)return Object.hasOwn(n,t);if(null==n)throw new TypeError("Cannot convert undefined or null to object");return Object.prototype.hasOwnProperty.call(Object(n),t)}(t,a)||(null!==(i=t[a])&&j(i)?(j(n[a])||(n[a]={}),r<e?Xn(n[a],i,r+1,e):n[a]=t[a]):b(i)?(n[a]=[],n[a]=n[a].concat(i)):void 0!==i&&(n[a]=i))}}var Yn=Object.prototype.hasOwnProperty;function F(n,t){if(n===t)return!0;if(n&&t&&!P(n)&&!P(t)){if(f(n)||f(t)){if(n.length!==t.length)return!1;for(var r=!0,e=0;e<n.length&&(r=F(n[e],t[e]));e++);return r}if(C(n)||C(t)){var a=Object.keys(n),i=Object.keys(t);if(a.length!==i.length)return!1;for(r=!0,e=0;e<a.length&&(r=F(n[a[e]],t[a[e]]));e++);return r}}return!1}function Zn(n){return n}var Un=Object.prototype.hasOwnProperty,E={};function T(){this.map={}}T.prototype.has=function(n){return void 0!==this.map[n]},T.prototype.get=function(n,t){n=this.map[n];return void 0===n?t:n},T.prototype.set=function(n,t){this.map[n]=t},T.prototype.clear=function(){this.map={}},T.prototype.delete=function(n){delete this.map[n]},T.prototype.size=function(){return Object.keys(this.map).length};var Wn=1e-6;function Hn(n){return Math.abs(n)<Wn?0:n<0?-1:1}function Gn(n,t,r){var e=!1,a=n.length;if(a<=2)return!1;for(var i,o,u,c=0;c<a;c++){var f=n[c],l=n[(c+1)%a];if(o=l,((u=[t,r])[0]-(i=f)[0])*(o[1]-i[1])==(o[0]-i[0])*(u[1]-i[1])&&Math.min(i[0],o[0])<=u[0]&&u[0]<=Math.max(i[0],o[0])&&Math.min(i[1],o[1])<=u[1]&&u[1]<=Math.max(i[1],o[1]))return!0;0<Hn(f[1]-r)!=0<Hn(l[1]-r)&&Hn(t-(r-f[1])*(f[0]-l[0])/(f[1]-l[1])-f[0])<0&&(e=!e)}return e}function Kn(n,t,r){return t<=n&&n<=r}function $n(n){for(var t,r,e=[],a=n.length,i=0;i<a-1;i++){var o=n[i],u=n[i+1];e.push({from:{x:o[0],y:o[1]},to:{x:u[0],y:u[1]}})}return 1<e.length&&(t=n[0],r=n[a-1],e.push({from:{x:r[0],y:r[1]},to:{x:t[0],y:t[1]}})),e}function Jn(n,f){var l=!1;return n.forEach(function(n){if(t=n.from,n=n.to,r=f.from,e=f.to,a=r.x-t.x,i=r.y-t.y,o=n.x-t.x,n=n.y-t.y,u=e.x-r.x,e=e.y-r.y,c=null,c=.001*(o*o+n*n)*(u*u+e*e)<(r=o*e-n*u)*r&&Kn(e=(a*e-i*u)/r,0,1)&&Kn((a*n-i*o)/r,0,1)?{x:t.x+e*o,y:t.y+e*n}:c)return!(l=!0);var t,r,e,a,i,o,u,c}),l}function nt(n){var t=n.map(function(n){return n[0]}),n=n.map(function(n){return n[1]});return{minX:Math.min.apply(null,t),maxX:Math.max.apply(null,t),minY:Math.min.apply(null,n),maxY:Math.max.apply(null,n)}}n.Cache=T,n.angleTo=function(n,t,r){a=t,o=(e=n)[0],e=e[1],u=a[0],a=a[1],i=Math.sqrt(o*o+e*e)*Math.sqrt(u*u+a*a);var e,a,i,o=Math.acos(Math.min(Math.max(i&&(o*u+e*a)/i,-1),1)),u=0<=U(n,t);return r?u?2*Math.PI-o:o:u?o:2*Math.PI-o},n.arcToCubic=en,n.assign=S,n.augment=function(){for(var n=[],t=0;t<arguments.length;t++)n[t]=arguments[t];for(var r=n[0],e=1;e<n.length;e++){var a=n[e];l(a)&&(a=a.prototype),S(r.prototype,a)}},n.clamp=function(n,t,r){return n<t?t:r<n?r:n},n.clearAnimationFrame=function(n){(window.cancelAnimationFrame||window.webkitCancelAnimationFrame||window.mozCancelAnimationFrame||window.msCancelAnimationFrame||clearTimeout)(n)},n.clone=_n,n.clonePath=function(n){return n.map(function(n){return Array.isArray(n)?[].concat(n):n})},n.contains=e,n.debounce=function(e,a,i){var o;return function(){var n=this,t=arguments,r=i&&!o;clearTimeout(o),o=setTimeout(function(){o=null,i||e.apply(n,t)},a),r&&e.apply(n,t)}},n.deepMix=function(n){for(var t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[r];for(var e=0;e<t.length;e+=1)Xn(n,t[e]);return n},n.difference=function(n,t){return void 0===t&&(t=[]),vn(n,function(n){return!e(t,n)})},n.direction=U,n.distanceSquareRoot=R,n.each=w,n.endsWith=function(n,t){return!(!b(n)&&!P(n))&&n[n.length-1]===t},n.equalizeSegments=function n(t,r,e){var a,t=yn(t),r=yn(r),i=t.length,o=r.length,u=t.filter(function(n){return n.l}).length,c=r.filter(function(n){return n.l}).length,u=t.filter(function(n){return n.l}).reduce(function(n,t){return n+t.l},0)/u||0,c=r.filter(function(n){return n.l}).reduce(function(n,t){return n+t.l},0)/c||0,f=e||Math.max(i,o),l=[u,c],h=[f-i,f-o],e=[t,r].map(function(n,r){return n.l===f?n.map(function(n){return n.s}):n.map(function(n,t){return a=t&&h[r]&&n.l>=l[r],h[r]-=a?1:0,a?n.ss:[n.s]}).flat()});return e[0].length===e[1].length?e:n(e[0],e[1],f)},n.every=function(n,t){for(var r=0;r<n.length;r++)if(!t(n[r],r))return!1;return!0},n.extend=function(n,t,r,e){l(t)||(r=t,t=n,n=function(){});var a=Object.create?function(n,t){return Object.create(n,{constructor:{value:t}})}:function(n,t){function r(){}r.prototype=n;n=new r;return n.constructor=t,n},i=a(t.prototype,n);return n.prototype=S(i,n.prototype),n.superclass=a(t.prototype,t),S(i,r),S(n,e),n},n.filter=vn,n.find=function(n,t){var r;if(b(n)&&(l(t)&&(r=t),r=j(t)?function(n){return gn(n,t)}:r))for(var e=0;e<n.length;e+=1)if(r(n[e]))return n[e];return null},n.findIndex=function(n,t,r){for(var e=r=void 0===r?0:r;e<n.length;e++)if(t(n[e],e))return e;return-1},n.firstValue=function(n,t){for(var r=null,e=0;e<n.length;e++){var a=n[e][t];if(!h(a)){r=b(a)?a[0]:a;break}}return r},n.fixedBase=function(n,t){var t=t.toString(),r=t.indexOf(".");return-1===r?Math.round(n):(20<(t=t.substr(r+1).length)&&(t=20),parseFloat(n.toFixed(t)))},n.flatten=function(n){if(!b(n))return[];for(var t=[],r=0;r<n.length;r++)t=t.concat(n[r]);return t},n.flattenDeep=dn,n.forIn=w,n.get=function(n,t,r){for(var e=0,a=P(t)?t.split("."):t;n&&e<a.length;)n=n[a[e++]];return void 0===n||e<a.length?r:n},n.getDrawDirection=function(n){return 0<=sn(n)},n.getPathArea=sn,n.getPathBBox=function(n,t){var r,e,a,i;return n?(r=(t=(n=u(n,void 0,x(x({},t),{length:!1}))).min).x,t=t.y,{width:a=(e=(n=n.max).x)-r,height:i=(n=n.y)-t,x:r,y:t,x2:e,y2:n,cx:r+a/2,cy:t+i/2,cz:Math.max(a,i)+Math.min(a,i)/2}):{x:0,y:0,width:0,height:0,x2:0,y2:0,cx:0,cy:0,cz:0}},n.getPathBBoxTotalLength=function(n,t){var r,e,a,i;return n?(t=(n=u(n,void 0,x(x({},t),{bbox:!0,length:!0}))).length,r=(e=n.min).x,e=e.y,{length:t,width:a=(n=(t=n.max).x)-r,height:i=(t=t.y)-e,x:r,y:e,x2:n,y2:t,cx:r+a/2,cy:e+i/2,cz:Math.max(a,i)+Math.min(a,i)/2}):{length:0,x:0,y:0,width:0,height:0,x2:0,y2:0,cx:0,cy:0,cz:0}},n.getPointAtLength=M,n.getRange=function(n){var t=n.filter(function(n){return!isNaN(n)});if(!t.length)return{min:0,max:0};if(b(n[0])){for(var r=[],e=0;e<n.length;e++)r=r.concat(n[e]);t=r}var a=Mn(t);return{min:bn(t),max:a}},n.getRotatedCurve=function(e,a){var i,o,u,c=e.length-1,t=[],f=0,n=(o=(i=e).length,u=o-1,i.map(function(n,e){return i.map(function(n,t){var r=e+t;return 0===t||i[r]&&"M"===i[r][0]?(t=i[r],["M"].concat(t.slice(-2))):(o<=r&&(r-=u),i[r])})}));return n.forEach(function(n,r){e.slice(1).forEach(function(n,t){f+=R(e[(r+t)%c].slice(-2),a[t%c].slice(-2))}),t[r]=f,f=0}),n[t.indexOf(Math.min.apply(null,t))]},n.getTotalLength=d,n.getType=Ln,n.getWrapBehavior=function(n,t){return n["_wrap_"+t]},n.gradient=function(n){var i=("string"==typeof n?n.split("-"):n).map(function(n){return N(-1===n.indexOf("#")?V(n):n)});return function(n){return t=i,n=n,n=isNaN(Number(n))||n<0?0:1<n?1:Number(n),r=t.length-1,e=Math.floor(r*n),n=r*n-e,a=t[e],r=e===r?a:t[e+1],z([o(a,r,n,0),o(a,r,n,1),o(a,r,n,2)]);var t,r,e,a}},n.group=function(n,t){if(!t)return[n];var r,e=kn(n,t),a=[];for(r in e)a.push(e[r]);return a},n.groupBy=In,n.groupToMap=kn,n.has=Fn,n.hasKey=Fn,n.hasValue=function(n,t){return e(zn(n),t)},n.head=function(n){if(f(n))return n[0]},n.identity=function(n){return n},n.includes=e,n.indexOf=function(n,t){if(!f(n))return-1;var r=Array.prototype.indexOf;if(r)return r.call(n,t);for(var e=-1,a=0;a<n.length;a++)if(n[a]===t){e=a;break}return e},n.isArguments=function(n){return m(n,"Arguments")},n.isArray=b,n.isArrayLike=f,n.isBoolean=function(n){return m(n,"Boolean")},n.isDate=function(n){return m(n,"Date")},n.isDecimal=function(n){return I(n)&&n%1!=0},n.isElement=function(n){return n instanceof Element||n instanceof Document},n.isEmpty=function(n){if(!h(n)){if(f(n))return!n.length;var t,r=Ln(n);if("Map"===r||"Set"===r)return!n.size;if(Bn(n))return!Object.keys(n).length;for(t in n)if(Yn.call(n,t))return!1}return!0},n.isEqual=F,n.isEqualWith=function(n,t,r){return l(r)?!!r(n,t):F(n,t)},n.isError=function(n){return m(n,"Error")},n.isEven=function(n){return I(n)&&n%2==0},n.isFinite=function(n){return I(n)&&isFinite(n)},n.isFunction=l,n.isInteger=q,n.isMatch=gn,n.isNegative=function(n){return I(n)&&n<0},n.isNil=h,n.isNull=function(n){return null===n},n.isNumber=I,n.isNumberEqual=function(n,t,r){return void 0===r&&(r=1e-5),Math.abs(n-t)<r},n.isObject=i,n.isObjectLike=C,n.isOdd=function(n){return I(n)&&n%2!=0},n.isPlainObject=j,n.isPointInPolygon=Gn,n.isPointInStroke=function(n,t){return n=pn(n,t).distance,Math.abs(n)<.001},n.isPolygonsIntersect=function(t,r){var n,e,a,i,o;return!(t.length<2||r.length<2||(n=nt(t),i=nt(r),n=n,(i=i).minX>n.maxX)||i.maxX<n.minX||i.minY>n.maxY||i.maxY<n.minY)&&(e=!1,r.forEach(function(n){if(Gn(t,n[0],n[1]))return!(e=!0)}),!!e||(t.forEach(function(n){if(Gn(r,n[0],n[1]))return!(e=!0)}),!!e)||(a=$n(t),i=$n(r),o=!1,i.forEach(function(n){if(Jn(a,n))return!(o=!0)}),o))},n.isPositive=function(n){return I(n)&&0<n},n.isPrototype=Bn,n.isRegExp=function(n){return m(n,"RegExp")},n.isString=P,n.isType=m,n.isUndefined=function(n){return void 0===n},n.keys=xn,n.last=function(n){if(f(n))return n[n.length-1]},n.lowerCase=function(n){return k(n).toLowerCase()},n.lowerFirst=function(n){n=k(n);return n.charAt(0).toLowerCase()+n.substring(1)},n.map=function(n,t){if(!f(n))return n;for(var r=[],e=0;e<n.length;e++){var a=n[e];r.push(t(a,e))}return r},n.mapValues=function(t,r){void 0===r&&(r=Zn);var e={};return i(t)&&!h(t)&&Object.keys(t).forEach(function(n){e[n]=r(t[n],n)}),e},n.max=Mn,n.maxBy=function(n,t){if(b(n)){for(var r,e=-1/0,a=0;a<n.length;a++){var i=n[a],o=l(t)?t(i):i[t];e<o&&(r=i,e=o)}return r}},n.memoize=function(i,o){var u;if(l(i))return(u=function(){for(var n=[],t=0;t<arguments.length;t++)n[t]=arguments[t];var r,e=o?o.apply(this,n):n[0],a=u.cache;return a.has(e)?a.get(e):(r=i.apply(this,n),a.set(e,r),r)}).cache=new Map,u;throw new TypeError("Expected a function")},n.min=bn,n.minBy=function(n,t){if(b(n)){for(var r,e=1/0,a=0;a<n.length;a++){var i=n[a],o=l(t)?t(i):i[t];o<e&&(r=i,e=o)}return r}},n.mix=S,n.mod=function(n,t){return(n%t+t)%t},n.noop=function(){},n.normalizePath=A,n.number2color=function(n){var t=Sn[n];if(!t){for(var r=n.toString(16),e=r.length;e<6;e++)r="0"+r;Sn[n]=t="#"+r}return t},n.omit=function(n,e){return An(n,function(n,t,r){return e.includes(r)||(n[r]=t),n},{})},n.parseRadius=function(n){var t=0,r=0,e=0,a=0;return b(n)?1===n.length?t=r=e=a=n[0]:2===n.length?(t=e=n[0],r=a=n[1]):3===n.length?(t=n[0],r=a=n[1],e=n[2]):(t=n[0],r=n[1],e=n[2],a=n[3]):t=r=e=a=n,{r1:t,r2:r,r3:e,r4:a}},n.path2Absolute=rn,n.path2Curve=on,n.path2String=function(n,t){return n=n,("off"===(r=t=void 0===t?"off":t)?[].concat(n):(e="number"==typeof r&&1<=r?Math.pow(10,r):1,n.map(function(n){var t=n.slice(1).map(Number).map(function(n){return r?Math.round(n*e)/e:Math.round(n)});return[n[0]].concat(t)}))).map(function(n){return n[0]+n.slice(1).join(" ")}).join("");var r,e},n.pick=function(t,n){var r;return null!==t&&j(t)?(r={},w(n,function(n){Un.call(t,n)&&(r[n]=t[n])}),r):{}},n.pull=function(n){for(var t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[r];for(var e=0;e<t.length;e++)for(var a,i=t[e];-1<(a=Cn.call(n,i));)On.call(n,a,1);return n},n.pullAt=wn,n.reduce=An,n.remove=function(n,t){var r=[];if(f(n)){for(var e=-1,a=[],i=n.length;++e<i;){var o=n[e];t(o,e,n)&&(r.push(o),a.push(e))}wn(n,a)}return r},n.requestAnimationFrame=function(n){return(window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.msRequestAnimationFrame||function(n){return setTimeout(n,16)})(n)},n.reverseCurve=function(e){var n=e.slice(1).map(function(n,t,r){return(t?r[t-1].slice(-2):e[0].slice(1)).concat(n.slice(1))}).map(function(r){return r.map(function(n,t){return r[r.length-t-2*(1-t%2)]})}).reverse();return[["M"].concat(n[0].slice(0,2))].concat(n.map(function(n){return["C"].concat(n.slice(2))}))},n.rgb2arr=N,n.set=function(n,t,r){var e=n,a=P(t)?t.split("."):t;return a.forEach(function(n,t){t<a.length-1?(i(e[n])||(e[n]=I(a[t+1])?[]:{}),e=e[n]):e[n]=r}),n},n.size=function(n){return h(n)?0:(f(n)?n:Object.keys(n)).length},n.some=function(n,t){for(var r=0;r<n.length;r++)if(t(n[r],r))return!0;return!1},n.sortBy=function(n,r){var a,t=l(r)?function(n,t){return r(n)-r(t)}:(a=[],P(r)?a.push(r):b(r)&&(a=r),function(n,t){for(var r=0;r<a.length;r+=1){var e=a[r];if(n[e]>t[e])return 1;if(n[e]<t[e])return-1}return 0});return n.sort(t),n},n.startsWith=function(n,t){return!(!b(n)&&!P(n))&&n[0]===t},n.substitute=function(n,r){return n&&r?n.replace(/\\?\{([^{}]+)\}/g,function(n,t){return"\\"===n.charAt(0)?n.slice(1):void 0===r[t]?"":r[t]}):n},n.throttle=function(r,e,a){function i(){l=!1===a.leading?0:Date.now(),o=null,f=r.apply(u,c),o||(u=c=null)}function n(){var n=Date.now(),t=(l||!1!==a.leading||(l=n),e-(n-l));return u=this,c=arguments,t<=0||e<t?(o&&(clearTimeout(o),o=null),l=n,f=r.apply(u,c),o||(u=c=null)):o||!1===a.trailing||(o=setTimeout(i,t)),f}var o,u,c,f,l=0;a=a||{};return n.cancel=function(){clearTimeout(o),l=0,o=u=c=null},n},n.toArray=function(n){return f(n)?Array.prototype.slice.call(n):[]},n.toCSSGradient=function(n){var t,r,e,a,i;return/^[r,R,L,l]{1}[\s]*\(/.test(n)?(r=void 0,"l"===n[0]?(t=+(a=B.exec(n))[1]+90,r=a[2],e="linear-gradient("+t+"deg, "):"r"===n[0]&&(e="radial-gradient(",r=(a=D.exec(n))[4]),(i=r.match(_)).forEach(function(n,t){n=n.split(":");e+=n[1]+" "+100*Number(n[0])+"%",t!==i.length-1&&(e+=", ")}),e+=")"):n},n.toDegree=function(n){return En*n},n.toInteger=Tn,n.toRGB=V,n.toRadian=function(n){return Nn*n},n.toString=k,n.transform=function(n,t){for(var r,e,a,i,o,u,c=n?[].concat(n):[1,0,0,0,1,0,0,0,1],f=0,l=t.length;f<l;f++){var h=t[f];switch(h[0]){case"t":a=e=c,i=[h[1],h[2]],o=void 0,i=i,(o=u=[0,0,0,0,0,0,0,0,0])[0]=1,o[1]=0,o[2]=0,o[3]=0,o[4]=1,o[5]=0,o[6]=i[0],o[7]=i[1],o[8]=1,s(e,u,a);break;case"s":o=i=c,e=[h[1],h[2]],u=void 0,(u=a=[0,0,0,0,0,0,0,0,0])[0]=(e=e)[0],u[1]=0,u[2]=0,u[3]=0,u[4]=e[1],u[5]=0,u[6]=0,u[7]=0,u[8]=1,s(i,a,o);break;case"r":Z(c,c,h[1]);break;case"m":r=h[1],s(c,r,c)}}return c},n.union=function(){for(var n=[],t=0;t<arguments.length;t++)n[t]=arguments[t];return Pn([].concat.apply([],n))},n.uniq=Pn,n.uniqueId=function(n){return E[n=n||"g"]?E[n]+=1:E[n]=1,n+E[n]},n.upperCase=function(n){return k(n).toUpperCase()},n.upperFirst=function(n){n=k(n);return n.charAt(0).toUpperCase()+n.substring(1)},n.values=zn,n.valuesOfKey=function(n,t){for(var r=[],e={},a=0;a<n.length;a++){var i=n[a][t];if(!h(i)){b(i)||(i=[i]);for(var o=0;o<i.length;o++){var u=i[o];e[u]||(r.push(u),e[u]=!0)}}}return r},n.vertical=function(n,t,r){return r?(n[0]=t[1],n[1]=-1*t[0]):(n[0]=-1*t[1],n[1]=t[0]),n},n.wrapBehavior=function(t,r){return t["_wrap_"+r]||(t["_wrap_"+r]=function(n){t[r](n)})},Object.defineProperty(n,"__esModule",{value:!0})});
!function(n,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((n="undefined"!=typeof globalThis?globalThis:n||self).util={})}(this,function(n){"use strict";function N(n){return[parseInt(n.substr(1,2),16),parseInt(n.substr(3,2),16),parseInt(n.substr(5,2),16)]}function t(n){n=Math.round(n).toString(16);return 1===n.length?"0"+n:n}function L(n){return"#"+t(n[0])+t(n[1])+t(n[2])}function r(n,t){return!!u(n)&&-1<n.indexOf(t)}function z(n,t){if(!u(n))return n;for(var r=[],e=0;e<n.length;e++){var a=n[e];t(a,e)&&r.push(a)}return r}function i(n){var t=typeof n;return null!==n&&"object"==t||"function"==t}var u=function(n){return null!==n&&"function"!=typeof n&&isFinite(n.length)},h=function(n){return"function"==typeof n},c=function(n){return null==n},V={}.toString,e=function(n,t){return V.call(n)==="[object "+t+"]"},f=function(n){return Array.isArray?Array.isArray(n):e(n,"Array")};function a(n,t){if(n)if(f(n))for(var r=0,e=n.length;r<e&&!1!==t(n[r],r);r++);else if(i(n))for(var a in n)if(n.hasOwnProperty(a)&&!1===t(n[a],a))break}var B=Object.keys?function(n){return Object.keys(n)}:function(r){var e=[];return a(r,function(n,t){h(r)&&"prototype"===t||e.push(t)}),e};function D(n,t){var r=B(t),e=r.length;if(c(n))return!e;for(var a=0;a<e;a+=1){var i=r[a];if(t[i]!==n[i]||!(i in n))return!1}return!0}var o=function(n){return"object"==typeof n&&null!==n},l=function(n){if(!o(n)||!e(n,"Object"))return!1;if(null===Object.getPrototypeOf(n))return!0;for(var t=n;null!==Object.getPrototypeOf(t);)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(n)===t};function _(n,t){if(void 0===t&&(t=[]),f(n))for(var r=0;r<n.length;r+=1)_(n[r],t);else t.push(n);return t}function Q(n){if(f(n))return n.reduce(function(n,t){return Math.max(n,t)},n[0])}function X(n){if(f(n))return n.reduce(function(n,t){return Math.min(n,t)},n[0])}function Y(n,t){if(!u(n))return[];for(var r=n?t.length:0,e=r-1;r--;){var a=t[r];r!==e&&void 0===a||H.call(n,a,1)}return n}function Z(n,r,t){var e;return f(n)||l(n)?(e=t,a(n,function(n,t){e=r(e,n,t)}),e):n}function s(n){return e(n,"String")}var p=Array.prototype,U=p.splice,W=p.indexOf,H=Array.prototype.splice;function G(n,t){void 0===t&&(t=new Map);var r=[];if(Array.isArray(n))for(var e=0,a=n.length;e<a;e++){var i=n[e];t.has(i)||(r.push(i),t.set(i,!0))}return r}var K=Object.prototype.hasOwnProperty;function $(n,t){if(!t||!f(n))return{};for(var r={},e=h(t)?t:function(n){return n[t]},a=0;a<n.length;a++){var i=n[a],o=e(i);K.call(r,o)?r[o].push(i):r[o]=[i]}return r}function J(n,t){var a;return t?(h(t)||(a=f(t)?t:t.replace(/\s+/g,"").split("*"),t=function(n){for(var t="_",r=0,e=a.length;r<e;r++)t+=n[a[r]]&&n[a[r]].toString();return t}),$(n,t)):{0:n}}var nn={};function y(n){return e(n,"Number")}p=Number.isInteger||function(n){return y(n)&&n%1==0};function tn(n,t){return n.hasOwnProperty(t)}function v(n){return c(n)?"":n.toString()}var rn=180/Math.PI,en=parseInt,an=Math.PI/180,on=Object.values?function(n){return Object.values(n)}:function(r){var e=[];return a(r,function(n,t){h(r)&&"prototype"===t||e.push(n)}),e};function un(n){return cn.call(n).replace(/^\[object /,"").replace(/]$/,"")}var cn={}.toString;function fn(n){var t=n&&n.constructor;return n===("function"==typeof t&&t.prototype||ln)}var ln=Object.prototype;function m(n,t){for(var r in t)t.hasOwnProperty(r)&&"constructor"!==r&&void 0!==t[r]&&(n[r]=t[r])}function x(n,t,r,e){return t&&m(n,t),r&&m(n,r),e&&m(n,e),n}function hn(n){if("object"!=typeof n||null===n)return n;if(f(n))for(var t=[],r=0,e=n.length;r<e;r++)"object"==typeof n[r]&&null!=n[r]?t[r]=hn(n[r]):t[r]=n[r];else for(var a in t={},n)"object"==typeof n[a]&&null!=n[a]?t[a]=hn(n[a]):t[a]=n[a];return t}function sn(i,o,n){var u,r,e,a,c;if(void 0===n&&(n=128),h(i))return(u=function(){for(var n=[],t=0;t<arguments.length;t++)n[t]=arguments[t];var r,e=o?o.apply(this,n):n[0],a=u.cache;return a.has(e)?a.get(e):(r=i.apply(this,n),a.set(e,r),r)}).cache=(c=n||1,l(),{clear:l,has:function(n){return void 0!==e[n]||void 0!==a[n]},get:function(n){var t=e[n];return void 0!==t?t:void 0!==(t=a[n])?(f(n,t),t):void 0},set:function(n,t){void 0!==e[n]?e[n]=t:f(n,t)}}),u;throw new TypeError("Expected a function");function f(n,t){++r>c&&(a=e,l(1),++r),e[n]=t}function l(n){r=0,e=Object.create(null),n||(a=Object.create(null))}}var pn=5;function yn(n,t,r,e){for(var a in r=r||0,e=e||pn,t){var i;!function(n,t){if(Object.hasOwn)return Object.hasOwn(n,t);if(null==n)throw new TypeError("Cannot convert undefined or null to object");return Object.prototype.hasOwnProperty.call(Object(n),t)}(t,a)||(null!==(i=t[a])&&l(i)?(l(n[a])||(n[a]={}),r<e?yn(n[a],i,r+1,e):n[a]=t[a]):f(i)?(n[a]=[],n[a]=n[a].concat(i)):void 0!==i&&(n[a]=i))}}var vn=Object.prototype.hasOwnProperty;function g(n,t){if(n===t)return!0;if(n&&t&&!s(n)&&!s(t)){if(u(n)||u(t)){if(n.length!==t.length)return!1;for(var r=!0,e=0;e<n.length&&(r=g(n[e],t[e]));e++);return r}if(o(n)||o(t)){var a=Object.keys(n),i=Object.keys(t);if(a.length!==i.length)return!1;for(r=!0,e=0;e<a.length&&(r=g(n[a[e]],t[a[e]]));e++);return r}}return!1}function mn(n){return n}var xn=Object.prototype.hasOwnProperty,d={};M.prototype.has=function(n){return void 0!==this.map[n]},M.prototype.get=function(n,t){n=this.map[n];return void 0===n?t:n},M.prototype.set=function(n,t){this.map[n]=t},M.prototype.clear=function(){this.map={}},M.prototype.delete=function(n){delete this.map[n]},M.prototype.size=function(){return Object.keys(this.map).length};var gn=M;function M(){this.map={}}var b,dn=/rgba?\(([\s.,0-9]+)\)/;var Mn=sn(function(n){var t;return"#"===n[0]&&7===n.length?n:(b||((t=document.createElement("i")).title="Web Colour Picker",t.style.display="none",document.body.appendChild(t),b=t),b.style.color=n,t=document.defaultView.getComputedStyle(b,"").getPropertyValue("color"),L(dn.exec(t)[1].split(/\s*,\s*/).map(function(n){return Number(n)})))},function(n){return n},256);function bn(n,t,r,e){return n[e]+(t[e]-n[e])*r}var wn=/^l\s*\(\s*([\d.]+)\s*\)\s*(.*)/i,An=/^r\s*\(\s*([\d.]+)\s*,\s*([\d.]+)\s*,\s*([\d.]+)\s*\)\s*(.*)/i,On=/[\d.]+:(#[^\s]+|[^)]+\))/gi;var w="undefined"!=typeof Float32Array?Float32Array:Array;function A(n,t,r){var e=t[0],a=t[1],i=t[2],o=t[3],u=t[4],c=t[5],f=t[6],l=t[7],t=t[8],h=r[0],s=r[1],p=r[2],y=r[3],v=r[4],m=r[5],x=r[6],g=r[7],r=r[8];return n[0]=h*e+s*o+p*f,n[1]=h*a+s*u+p*l,n[2]=h*i+s*c+p*t,n[3]=y*e+v*o+m*f,n[4]=y*a+v*u+m*l,n[5]=y*i+v*c+m*t,n[6]=x*e+g*o+r*f,n[7]=x*a+g*u+r*l,n[8]=x*i+g*c+r*t,n}function Cn(){var n=new w(3);return w!=Float32Array&&(n[0]=0,n[1]=0,n[2]=0),n}function jn(n,t,r){var e=new w(3);return e[0]=n,e[1]=t,e[2]=r,e}Math.hypot||(Math.hypot=function(){for(var n=0,t=arguments.length;t--;)n+=arguments[t]*arguments[t];return Math.sqrt(n)});function Pn(){var n=new w(4);return w!=Float32Array&&(n[0]=0,n[1]=0,n[2]=0),n[3]=1,n}Cn(),O=new w(4),w!=Float32Array&&(O[0]=0,O[1]=0,O[2]=0,O[3]=0);var O;function qn(n,t,r){var e,a,i=[0,0,0,0,0,0,0,0,0];e=i,r=r,a=Math.sin(r),r=Math.cos(r),e[0]=r,e[1]=a,e[2]=0,e[3]=-a,e[4]=r,e[5]=0,e[6]=0,e[7]=0,e[8]=1,A(n,i,t)}function In(n,t){return n[0]*t[1]-t[0]*n[1]}Cn(),jn(1,0,0),jn(0,1,0),Pn(),Pn(),O=new w(9),w!=Float32Array&&(O[1]=0,O[2]=0,O[3]=0,O[5]=0,O[6]=0,O[7]=0),O[0]=1,O[4]=1,O[8]=1,O=new w(2),w!=Float32Array&&(O[0]=0,O[1]=0);var C=function(){return(C=Object.assign||function(n){for(var t,r=1,e=arguments.length;r<e;r++)for(var a in t=arguments[r])Object.prototype.hasOwnProperty.call(t,a)&&(n[a]=t[a]);return n}).apply(this,arguments)};function kn(n,t,r){if(r||2===arguments.length)for(var e,a=0,i=t.length;a<i;a++)!e&&a in t||((e=e||Array.prototype.slice.call(t,0,a))[a]=t[a]);return n.concat(e||Array.prototype.slice.call(t))}var Sn={x1:0,y1:0,x2:0,y2:0,x:0,y:0,qx:null,qy:null};var j={a:7,c:6,h:1,l:2,m:2,r:4,q:4,s:4,t:2,v:1,z:0};function En(n){return Array.isArray(n)&&n.every(function(n){var t=n[0].toLowerCase();return j[t]===n.length-1&&"achlmqstvz".includes(t)})}function Fn(n){return En(n)&&n.every(function(n){n=n[0];return n===n.toUpperCase()})}function Tn(n){return Fn(n)&&n.every(function(n){n=n[0];return"ACLMQZ".includes(n)})}function Nn(n){for(var t=n.pathValue[n.segmentStart],r=t.toLowerCase(),e=n.data;e.length>=j[r]&&("m"===r&&2<e.length?(n.segments.push([t].concat(e.splice(0,2))),r="l",t="m"===t?"l":"L"):n.segments.push([t].concat(e.splice(0,j[r]))),j[r]););}function P(n){return 48<=n&&n<=57}function q(n){for(var t,r=n.pathValue,e=n.max;n.index<e&&(10===(t=r.charCodeAt(n.index))||13===t||8232===t||8233===t||32===t||9===t||11===t||12===t||160===t||5760<=t&&[5760,6158,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288,65279].includes(t));)n.index+=1}function Ln(n){var t,r,e,a,i,o=n.max,u=n.pathValue,c=n.index,f=u.charCodeAt(c),l=j[u[c].toLowerCase()];if(n.segmentStart=c,function(n){switch(32|n){case 109:case 122:case 108:case 104:case 118:case 99:case 115:case 113:case 116:case 97:return 1;default:return}}(f)){if(n.index+=1,q(n),n.data=[],l)for(;;){for(var h=l;0<h;--h){if(97!=(32|f)||3!==h&&4!==h?function(n){var t,r,e=n.max,a=n.pathValue,i=n.index,o=i,u=!1,c=!1,f=!1;if(e<=o)n.err="[path-util]: Invalid path value at index "+o+', "pathValue" is missing param';else if(P(r=43!==(r=a.charCodeAt(o))&&45!==r?r:a.charCodeAt(o+=1))||46===r){if(46!==r){if(t=48===r,r=a.charCodeAt(o+=1),t&&o<e&&r&&P(r))return n.err="[path-util]: Invalid path value at index "+i+', "'+a[i]+'" illegal number';for(;o<e&&P(a.charCodeAt(o));)o+=1,u=!0;r=a.charCodeAt(o)}if(46===r){for(f=!0,o+=1;P(a.charCodeAt(o));)o+=1,c=!0;r=a.charCodeAt(o)}if(101===r||69===r){if(f&&!u&&!c)return n.err="[path-util]: Invalid path value at index "+o+', "'+a[o]+'" invalid float exponent';if(43!==(r=a.charCodeAt(o+=1))&&45!==r||(o+=1),!(o<e&&P(a.charCodeAt(o))))return n.err="[path-util]: Invalid path value at index "+o+', "'+a[o]+'" invalid integer exponent';for(;o<e&&P(a.charCodeAt(o));)o+=1}n.index=o,n.param=+n.pathValue.slice(i,o)}else n.err="[path-util]: Invalid path value at index "+o+', "'+a[o]+'" is not a number'}(n):(i=a=e=void 0,e=(r=n).index,a=r.pathValue,48===(i=a.charCodeAt(e))?(r.param=0,r.index+=1):49===i?(r.param=1,r.index+=1):r.err='[path-util]: invalid Arc flag "'+a[e]+'", expecting 0 or 1 at index '+e),n.err.length)return;n.data.push(n.param),q(n),n.index<o&&44===u.charCodeAt(n.index)&&(n.index+=1,q(n))}if(n.index>=n.max)break;if(!(48<=(t=u.charCodeAt(n.index))&&t<=57||43===t||45===t||46===t))break}Nn(n)}else n.err='[path-util]: Invalid path value "'+u[c]+'" is not a path command'}var zn=function(n){this.pathValue=n,this.segments=[],this.max=n.length,this.index=0,this.param=0,this.segmentStart=0,this.data=[],this.err=""};function Vn(n){if(En(n))return[].concat(n);var t=new zn(n);for(q(t);t.index<t.max&&!t.err.length;)Ln(t);return t.err||t.segments}function Bn(n){var o,u,c,f;return Fn(n)?[].concat(n):(n=Vn(n),f=c=u=o=0,n.map(function(n){var t=n.slice(1).map(Number),n=n[0],r=n.toUpperCase();if("M"===n)return o=t[0],u=t[1],["M",c=o,f=u];if(n!==r)switch(r){case"A":a=[r,t[0],t[1],t[2],t[3],t[4],t[5]+o,t[6]+u];break;case"V":a=[r,t[0]+u];break;case"H":a=[r,t[0]+o];break;default:var e=t.map(function(n,t){return n+(t%2?u:o)}),a=[r].concat(e)}else a=[r].concat(t);var i=a.length;switch(r){case"Z":o=c,u=f;break;case"H":o=a[1];break;case"V":u=a[1];break;default:o=a[i-2],u=a[i-1],"M"===r&&(c=o,f=u)}return a}))}function I(n){if(Tn(n))return[].concat(n);for(var t,r,e,a,i,o,u,c=Bn(n),f=C({},Sn),l=0;l<c.length;l+=1){c[l]=(t=c[l],r=f,u=o=s=i=h=a=e=void 0,e=t[0],a=r.x1,h=r.y1,i=r.x2,s=r.y2,o=t.slice(1).map(Number),u=t,"TQ".includes(e)||(r.qx=null,r.qy=null),"H"===e?u=["L",t[1],h]:"V"===e?u=["L",a,t[1]]:"S"===e?(t=2*h-s,u=["C",r.x1=2*a-i,r.y1=t].concat(o)):"T"===e?(s=2*a-r.qx,i=2*h-r.qy,u=["Q",r.qx=s,r.qy=i].concat(o)):"Q"===e&&(t=o[0],a=o[1],r.qx=t,r.qy=a),u);var h=c[l],s=h.length;f.x1=+h[s-2],f.y1=+h[s-1],f.x2=+h[s-4]||f.x1,f.y2=+h[s-3]||f.y1}return c}function k(n,t,r){return{x:n*Math.cos(r)-t*Math.sin(r),y:n*Math.sin(r)+t*Math.cos(r)}}function Rn(n,t,r,e,a,i,o,u,c,f){var l=120*Math.PI/180,h=Math.PI/180*(+a||0),s=[],p=(f?(d=f[0],M=f[1],x=f[2],g=f[3]):(n=(v=k(n,t,-h)).x,t=v.y,1<(p=(y=(n-(u=(v=k(u,c,-h)).x))/2)*y/(r*r)+(v=(t-(c=v.y))/2)*v/(e*e))&&(r*=p=Math.sqrt(p),e*=p),p=r*r,m=e*e,x=(i=(i===o?-1:1)*Math.sqrt(Math.abs((p*m-p*v*v-m*y*y)/(p*v*v+m*y*y))))*r*v/e+(n+u)/2,g=i*-e*y/r+(t+c)/2,d=Math.asin(((t-g)/e*Math.pow(10,9)>>0)/Math.pow(10,9)),M=Math.asin(((c-g)/e*Math.pow(10,9)>>0)/Math.pow(10,9)),d=n<x?Math.PI-d:d,M=u<x?Math.PI-M:M,d<0&&(d=2*Math.PI+d),M<0&&(M=2*Math.PI+M),o&&M<d&&(d-=2*Math.PI),!o&&d<M&&(M-=2*Math.PI)),M-d),y=(Math.abs(p)>l&&(m=M,v=u,i=c,M=d+l*(o&&d<M?1:-1),s=Rn(u=x+r*Math.cos(M),c=g+e*Math.sin(M),r,e,a,0,o,v,i,[M,m,x,g])),p=M-d,Math.cos(d)),l=Math.sin(d),a=Math.cos(M),o=Math.sin(M),v=Math.tan(p/4),i=4/3*r*v,m=4/3*e*v,x=[n,t],g=[n+i*l,t-m*y],d=[u+i*o,c-m*a],M=[u,c];if(g[0]=2*x[0]-g[0],g[1]=2*x[1]-g[1],f)return g.concat(d,M,s);for(var b=[],w=0,A=(s=g.concat(d,M,s)).length;w<A;w+=1)b[w]=w%2?k(s[w-1],s[w],h).y:k(s[w],s[w+1],h).x;return b}function S(n,t,r){var e=n[0],n=n[1];return[e+(t[0]-e)*r,n+(t[1]-n)*r]}var Dn=function(n,t,r,e){return kn(kn([],S([n,t],[r,e],.5),!0),[r,e,r,e],!1)};function _n(n,t){var r;if(void 0===t&&(t=!1),Tn(r=n)&&r.every(function(n){n=n[0];return"MC".includes(n)}))return r=[].concat(n),t?[r,[]]:r;for(var e,a=I(n),i=C({},Sn),o=[],u="",c=a.length,f=[],l=0;l<c;l+=1){a[l]&&(u=a[l][0]),o[l]=u;var h=function(n,t){var r,e,a,i,o,u,c=n[0],f=n.slice(1).map(Number),l=f[0],h=f[1],s=t.x1,p=t.y1,y=t.x,v=t.y;switch("TQ".includes(c)||(t.qx=null,t.qy=null),c){case"M":return t.x=l,t.y=h,n;case"A":return u=[s,p].concat(f),["C"].concat(Rn(u[0],u[1],u[2],u[3],u[4],u[5],u[6],u[7],u[8],u[9]));case"Q":return t.qx=l,t.qy=h,u=[s,p].concat(f),["C"].concat((r=u[0],e=u[1],a=u[2],i=u[3],o=u[4],u=u[5],[1/3*r+2/3*a,1/3*e+2/3*i,1/3*o+2/3*a,1/3*u+2/3*i,o,u]));case"L":return["C"].concat(Dn(s,p,l,h));case"Z":return s===y&&p===v?["C",s,p,y,v,y,v]:["C"].concat(Dn(s,p,y,v))}return n}(a[l],i),s=(a[l]=h,m=v=y=p=s=void 0,a),p=o,y=l;if(7<s[y].length){s[y].shift();for(var v=s[y],m=y;v.length;)p[y]="A",s.splice(m+=1,0,["C"].concat(v.splice(0,6)));s.splice(y,1)}c=a.length,"Z"===u&&f.push(l),e=(h=a[l]).length,i.x1=+h[e-2],i.y1=+h[e-1],i.x2=+h[e-4]||i.x1,i.y2=+h[e-3]||i.y1}return t?[a,f]:a}function R(n,t){return Math.sqrt((n[0]-t[0])*(n[0]-t[0])+(n[1]-t[1])*(n[1]-t[1]))}function Qn(n,t,r,e,a){var i=R([n,t],[r,e]),o={x:0,y:0};return{length:i,point:o="number"==typeof a?a<=0?{x:n,y:t}:i<=a?{x:r,y:e}:{x:(a=S([n,t],[r,e],a/i))[0],y:a[1]}:o,min:{x:Math.min(n,r),y:Math.min(t,e)},max:{x:Math.max(n,r),y:Math.max(t,e)}}}function Xn(n,t){var r=n.x,n=n.y,e=t.x,t=t.y,a=r*e+n*t,i=Math.sqrt((Math.pow(r,2)+Math.pow(n,2))*(Math.pow(e,2)+Math.pow(t,2)));return(r*t-n*e<0?-1:1)*Math.acos(a/i)}function Yn(n,t,r,e,a,L,z,i,o,u,c){var f=c.bbox,V=void 0===f||f,f=c.length,B=void 0===f||f,f=c.sampleSize,l=void 0===f?30:f,h="number"==typeof u,s=n,p=t,y=0,v=[s,p,y],m=[s,p],x={x:0,y:0},g=[{x:s,y:p}];h&&u<=0&&(x={x:s,y:p});for(var d,M,b,w,A,O,C,j,P,q,I,k,S,E,F,T,N=0;N<=l;N+=1)d=n,M=t,b=r,w=e,A=a,O=L,C=z,j=i,P=o,q=N/l,k=T=F=E=S=k=I=void 0,k=Math.abs,S=Math.sin,E=Math.cos,F=Math.sqrt,T=Math.PI,b=k(b),k=k(w),w=T/180*((A%360+360)%360),s=(I=d===j&&M===P?{x:d,y:M}:0===b||0===k?Qn(d,M,j,P,q).point:(A=(d-j)/2,I=(M-P)/2,A={x:E(w)*A+S(w)*I,y:-S(w)*A+E(w)*I},1<(I=Math.pow(A.x,2)/Math.pow(b,2)+Math.pow(A.y,2)/Math.pow(k,2))&&(b*=F(I),k*=F(I)),I=(Math.pow(b,2)*Math.pow(k,2)-Math.pow(b,2)*Math.pow(A.y,2)-Math.pow(k,2)*Math.pow(A.x,2))/(Math.pow(b,2)*Math.pow(A.y,2)+Math.pow(k,2)*Math.pow(A.x,2)),O=(O!==C?1:-1)*F(I<0?0:I),F=b*A.y/k*O,I=-k*A.x/b*O,O=E(w)*F-S(w)*I+(d+j)/2,d=S(w)*F+E(w)*I+(M+P)/2,M=Xn({x:1,y:0},j={x:(A.x-F)/b,y:(A.y-I)/k}),P=Xn(j,{x:(-A.x-F)/b,y:(-A.y-I)/k}),!C&&0<P?P-=2*T:C&&P<0&&(P+=2*T),j=M+(P%=2*T)*q,F=b*E(j),A=k*S(j),{x:E(w)*F-S(w)*A+O,y:S(w)*F+E(w)*A+d})).x,p=I.y,V&&g.push({x:s,y:p}),B&&(y+=R(m,[s,p])),m=[s,p],h&&u<=y&&u>v[2]&&(C=(y-u)/(y-v[2]),x={x:m[0]*(1-C)+v[0]*C,y:m[1]*(1-C)+v[1]*C}),v=[s,p,y];return{length:y,point:x=h&&y<=u?{x:i,y:o}:x,min:{x:Math.min.apply(null,g.map(function(n){return n.x})),y:Math.min.apply(null,g.map(function(n){return n.y}))},max:{x:Math.max.apply(null,g.map(function(n){return n.x})),y:Math.max.apply(null,g.map(function(n){return n.y}))}}}function Zn(n,t,r,e,a,i,o,u,c,f){var l=f.bbox,h=void 0===l||l,l=f.length,s=void 0===l||l,l=f.sampleSize,p=void 0===l?10:l,y="number"==typeof c,v=n,m=t,x=0,g=[v,m,x],d=[v,m],M={x:0,y:0},b=[{x:v,y:m}];y&&c<=0&&(M={x:v,y:m});for(var w,A,O,C,j,P,q,I,k,S,E=0;E<=p;E+=1)w=n,A=t,O=r,C=e,j=a,P=i,q=o,I=u,S=void 0,S=1-(k=E/p),v=(w={x:Math.pow(S,3)*w+3*Math.pow(S,2)*k*O+3*S*Math.pow(k,2)*j+Math.pow(k,3)*q,y:Math.pow(S,3)*A+3*Math.pow(S,2)*k*C+3*S*Math.pow(k,2)*P+Math.pow(k,3)*I}).x,m=w.y,h&&b.push({x:v,y:m}),s&&(x+=R(d,[v,m])),d=[v,m],y&&c<=x&&c>g[2]&&(O=(x-c)/(x-g[2]),M={x:d[0]*(1-O)+g[0]*O,y:d[1]*(1-O)+g[1]*O}),g=[v,m,x];return{length:x,point:M=y&&x<=c?{x:o,y:u}:M,min:{x:Math.min.apply(null,b.map(function(n){return n.x})),y:Math.min.apply(null,b.map(function(n){return n.y}))},max:{x:Math.max.apply(null,b.map(function(n){return n.x})),y:Math.max.apply(null,b.map(function(n){return n.y}))}}}function Un(n,t,r,e,a,i,o,u){var c=u.bbox,f=void 0===c||c,c=u.length,l=void 0===c||c,c=u.sampleSize,h=void 0===c?10:c,s="number"==typeof o,p=n,y=t,v=0,m=[p,y,v],x=[p,y],g={x:0,y:0},d=[{x:p,y:y}];s&&o<=0&&(g={x:p,y:y});for(var M,b,w,A,O,C,j,P,q=0;q<=h;q+=1)M=n,b=t,w=r,A=e,O=a,C=i,P=void 0,P=1-(j=q/h),p=(M={x:Math.pow(P,2)*M+2*P*j*w+Math.pow(j,2)*O,y:Math.pow(P,2)*b+2*P*j*A+Math.pow(j,2)*C}).x,y=M.y,f&&d.push({x:p,y:y}),l&&(v+=R(x,[p,y])),x=[p,y],s&&o<=v&&o>m[2]&&(w=(v-o)/(v-m[2]),g={x:x[0]*(1-w)+m[0]*w,y:x[1]*(1-w)+m[1]*w}),m=[p,y,v];return{length:v,point:g=s&&v<=o?{x:a,y:i}:g,min:{x:Math.min.apply(null,d.map(function(n){return n.x})),y:Math.min.apply(null,d.map(function(n){return n.y}))},max:{x:Math.max.apply(null,d.map(function(n){return n.x})),y:Math.max.apply(null,d.map(function(n){return n.y}))}}}function E(n,t,r){for(var e,a,i,o=I(n),u="number"==typeof t,c=[],f=0,l=0,h=0,s=0,p=[],y=[],v=0,m={x:0,y:0},x=m,g=m,d=m,M=0,b=0,w=o.length;b<w;b+=1)c=(e="M"===(a=(i=o[b])[0]))?c:[f,l].concat(i.slice(1)),e?(x=m={x:h=i[1],y:s=i[2]},v=0,u&&t<.001&&(d=m)):"L"===a?(v=(e=Qn(c[0],c[1],c[2],c[3],(t||0)-M)).length,m=e.min,x=e.max,g=e.point):"A"===a?(v=(e=Yn(c[0],c[1],c[2],c[3],c[4],c[5],c[6],c[7],c[8],(t||0)-M,r||{})).length,m=e.min,x=e.max,g=e.point):"C"===a?(v=(e=Zn(c[0],c[1],c[2],c[3],c[4],c[5],c[6],c[7],(t||0)-M,r||{})).length,m=e.min,x=e.max,g=e.point):"Q"===a?(v=(e=Un(c[0],c[1],c[2],c[3],c[4],c[5],(t||0)-M,r||{})).length,m=e.min,x=e.max,g=e.point):"Z"===a&&(v=(e=Qn((c=[f,l,h,s])[0],c[1],c[2],c[3],(t||0)-M)).length,m=e.min,x=e.max,g=e.point),u&&M<t&&t<=M+v&&(d=g),y.push(x),p.push(m),M+=v,f=(e="Z"!==a?i.slice(-2):[h,s])[0],l=e[1];return{length:M,point:d=u&&M<=t?{x:f,y:l}:d,min:{x:Math.min.apply(null,p.map(function(n){return n.x})),y:Math.min.apply(null,p.map(function(n){return n.y}))},max:{x:Math.max.apply(null,y.map(function(n){return n.x})),y:Math.max.apply(null,y.map(function(n){return n.y}))}}}function F(n,t){return E(n,void 0,C(C({},t),{bbox:!1,length:!0})).length}function Wn(n){var u=0,c=0,f=0;return _n(n).map(function(n){var t,r,e,a,i,o;return"M"===n[0]?(u=n[1],c=n[2],0):(o=n.slice(1),t=o[0],r=o[1],e=o[2],a=o[3],i=o[4],o=o[5],f=3*((o-c)*(t+e)-(i-u)*(r+a)+r*(u-e)-t*(c-a)+o*(e+u/3)-i*(a+c/3))/20,r=n.slice(-2),u=r[0],c=r[1],f)}).reduce(function(n,t){return n+t},0)}function T(n,t,r){return E(n,t,C(C({},r),{bbox:!1,length:!0})).point}function Hn(n,r){for(var t,e,a,i,o,n=Vn(n),u=I(n),c=F(n),f=function(n){var t=n.x-r.x,n=n.y-r.y;return t*t+n*n},l=8,h=0,s=1/0,p=0;p<=c;p+=l)(e=f(t=T(u,p)))<s&&(a=t,h=p,s=e);l/=2;for(var y,v,m,x;.5<l;)m=f(i=T(u,y=h-l)),x=f(o=T(u,v=h+l)),0<=y&&m<s?(a=i,h=y,s=m):v<=c&&x<s?(a=o,h=v,s=x):l/=2;n=function(n,t){if("string"==typeof(n=Vn(n)))throw TypeError(n);var r=n.slice(),e=F(r),a=r.length-1,i=0,o=0,u=n[0],c={x:(c=u.slice(-2))[0],y:c[1]};if(a<=0||!t||!Number.isFinite(t))return{segment:u,index:0,length:o,point:c,lengthAtSegment:i};if(e<=t)return i=F(r=n.slice(0,-1)),{segment:n[a],index:a,length:o=e-i,lengthAtSegment:i};for(var f=[];0<a;)u=r[a],o=e-(i=F(r=r.slice(0,-1))),e=i,f.push({segment:u,index:a,length:o,lengthAtSegment:i}),--a;return f.find(function(n){return n.lengthAtSegment<=t})}(n,h);return{closest:a,distance:Math.sqrt(s),segment:n}}function Gn(n){return n.map(function(n,t,r){var e,a,i,o,r=t&&r[t-1].slice(-2).concat(n.slice(1)),u=t?Zn(r[0],r[1],r[2],r[3],r[4],r[5],r[6],r[7],r[8],{bbox:!1}).length:0,r=t?u?(void 0===e&&(e=.5),r=(t=r).slice(0,2),a=t.slice(2,4),i=t.slice(4,6),t=t.slice(6,8),r=S(r,a,e),a=S(a,i,e),i=S(i,t,e),o=S(r,a,e),a=S(a,i,e),e=S(o,a,e),[["C"].concat(r,o,e),["C"].concat(a,i,t)]):[n,n]:[n];return{s:n,ss:r,l:u}})}var Kn=1e-6;function $n(n){return Math.abs(n)<Kn?0:n<0?-1:1}function Jn(n,t,r){var e=!1,a=n.length;if(a<=2)return!1;for(var i,o,u,c=0;c<a;c++){var f=n[c],l=n[(c+1)%a];if(o=l,((u=[t,r])[0]-(i=f)[0])*(o[1]-i[1])==(o[0]-i[0])*(u[1]-i[1])&&Math.min(i[0],o[0])<=u[0]&&u[0]<=Math.max(i[0],o[0])&&Math.min(i[1],o[1])<=u[1]&&u[1]<=Math.max(i[1],o[1]))return!0;0<$n(f[1]-r)!=0<$n(l[1]-r)&&$n(t-(r-f[1])*(f[0]-l[0])/(f[1]-l[1])-f[0])<0&&(e=!e)}return e}function nt(n,t,r){return t<=n&&n<=r}function tt(n){for(var t,r,e=[],a=n.length,i=0;i<a-1;i++){var o=n[i],u=n[i+1];e.push({from:{x:o[0],y:o[1]},to:{x:u[0],y:u[1]}})}return 1<e.length&&(t=n[0],r=n[a-1],e.push({from:{x:r[0],y:r[1]},to:{x:t[0],y:t[1]}})),e}function rt(n,f){var l=!1;return n.forEach(function(n){if(t=n.from,n=n.to,r=f.from,e=f.to,a=r.x-t.x,i=r.y-t.y,o=n.x-t.x,n=n.y-t.y,u=e.x-r.x,e=e.y-r.y,c=null,c=.001*(o*o+n*n)*(u*u+e*e)<(r=o*e-n*u)*r&&nt(e=(a*e-i*u)/r,0,1)&&nt((a*n-i*o)/r,0,1)?{x:t.x+e*o,y:t.y+e*n}:c)return!(l=!0);var t,r,e,a,i,o,u,c}),l}function et(n){var t=n.map(function(n){return n[0]}),n=n.map(function(n){return n[1]});return{minX:Math.min.apply(null,t),maxX:Math.max.apply(null,t),minY:Math.min.apply(null,n),maxY:Math.max.apply(null,n)}}n.Cache=gn,n.angleTo=function(n,t,r){a=t,o=(e=n)[0],e=e[1],u=a[0],a=a[1],i=Math.sqrt(o*o+e*e)*Math.sqrt(u*u+a*a);var e,a,i,o=Math.acos(Math.min(Math.max(i&&(o*u+e*a)/i,-1),1)),u=0<=In(n,t);return r?u?2*Math.PI-o:o:u?o:2*Math.PI-o},n.arcToCubic=Rn,n.assign=x,n.augment=function(){for(var n=[],t=0;t<arguments.length;t++)n[t]=arguments[t];for(var r=n[0],e=1;e<n.length;e++){var a=n[e];h(a)&&(a=a.prototype),x(r.prototype,a)}},n.clamp=function(n,t,r){return n<t?t:r<n?r:n},n.clearAnimationFrame=function(n){(window.cancelAnimationFrame||window.webkitCancelAnimationFrame||window.mozCancelAnimationFrame||window.msCancelAnimationFrame||clearTimeout)(n)},n.clone=hn,n.clonePath=function(n){return n.map(function(n){return Array.isArray(n)?[].concat(n):n})},n.contains=r,n.createDOM=function(n){var t=document.createElement("div");return t.innerHTML=n,(n=t.childNodes[0])&&t.contains(n)&&t.removeChild(n),n},n.debounce=function(e,a,i){var o;return function(){var n=this,t=arguments,r=i&&!o;clearTimeout(o),o=setTimeout(function(){o=null,i||e.apply(n,t)},a),r&&e.apply(n,t)}},n.deepMix=function(n){for(var t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[r];for(var e=0;e<t.length;e+=1)yn(n,t[e]);return n},n.difference=function(n,t){return void 0===t&&(t=[]),z(n,function(n){return!r(t,n)})},n.direction=In,n.distanceSquareRoot=R,n.each=a,n.endsWith=function(n,t){return!(!f(n)&&!s(n))&&n[n.length-1]===t},n.equalizeSegments=function n(t,r,e){var a,t=Gn(t),r=Gn(r),i=t.length,o=r.length,u=t.filter(function(n){return n.l}).length,c=r.filter(function(n){return n.l}).length,u=t.filter(function(n){return n.l}).reduce(function(n,t){return n+t.l},0)/u||0,c=r.filter(function(n){return n.l}).reduce(function(n,t){return n+t.l},0)/c||0,f=e||Math.max(i,o),l=[u,c],h=[f-i,f-o],e=[t,r].map(function(n,r){return n.l===f?n.map(function(n){return n.s}):n.map(function(n,t){return a=t&&h[r]&&n.l>=l[r],h[r]-=a?1:0,a?n.ss:[n.s]}).flat()});return e[0].length===e[1].length?e:n(e[0],e[1],f)},n.every=function(n,t){for(var r=0;r<n.length;r++)if(!t(n[r],r))return!1;return!0},n.extend=function(n,t,r,e){h(t)||(r=t,t=n,n=function(){});var a=Object.create?function(n,t){return Object.create(n,{constructor:{value:t}})}:function(n,t){function r(){}r.prototype=n;n=new r;return n.constructor=t,n},i=a(t.prototype,n);return n.prototype=x(i,n.prototype),n.superclass=a(t.prototype,t),x(i,r),x(n,e),n},n.filter=z,n.find=function(n,t){var r;if(f(n)&&(h(t)&&(r=t),r=l(t)?function(n){return D(n,t)}:r))for(var e=0;e<n.length;e+=1)if(r(n[e]))return n[e];return null},n.findIndex=function(n,t,r){for(var e=r=void 0===r?0:r;e<n.length;e++)if(t(n[e],e))return e;return-1},n.firstValue=function(n,t){for(var r=null,e=0;e<n.length;e++){var a=n[e][t];if(!c(a)){r=f(a)?a[0]:a;break}}return r},n.fixedBase=function(n,t){var t=t.toString(),r=t.indexOf(".");return-1===r?Math.round(n):(20<(t=t.substr(r+1).length)&&(t=20),parseFloat(n.toFixed(t)))},n.flatten=function(n){if(!f(n))return[];for(var t=[],r=0;r<n.length;r++)t=t.concat(n[r]);return t},n.flattenDeep=_,n.forIn=a,n.get=function(n,t,r){for(var e=0,a=s(t)?t.split("."):t;n&&e<a.length;)n=n[a[e++]];return void 0===n||e<a.length?r:n},n.getDrawDirection=function(n){return 0<=Wn(n)},n.getPathArea=Wn,n.getPathBBox=function(n,t){var r,e,a,i;return n?(r=(t=(n=E(n,void 0,C(C({},t),{length:!1}))).min).x,t=t.y,{width:a=(e=(n=n.max).x)-r,height:i=(n=n.y)-t,x:r,y:t,x2:e,y2:n,cx:r+a/2,cy:t+i/2,cz:Math.max(a,i)+Math.min(a,i)/2}):{x:0,y:0,width:0,height:0,x2:0,y2:0,cx:0,cy:0,cz:0}},n.getPathBBoxTotalLength=function(n,t){var r,e,a,i;return n?(t=(n=E(n,void 0,C(C({},t),{bbox:!0,length:!0}))).length,r=(e=n.min).x,e=e.y,{length:t,width:a=(n=(t=n.max).x)-r,height:i=(t=t.y)-e,x:r,y:e,x2:n,y2:t,cx:r+a/2,cy:e+i/2,cz:Math.max(a,i)+Math.min(a,i)/2}):{length:0,x:0,y:0,width:0,height:0,x2:0,y2:0,cx:0,cy:0,cz:0}},n.getPointAtLength=T,n.getRange=function(n){var t=n.filter(function(n){return!isNaN(n)});if(!t.length)return{min:0,max:0};if(f(n[0])){for(var r=[],e=0;e<n.length;e++)r=r.concat(n[e]);t=r}var a=Q(t);return{min:X(t),max:a}},n.getRotatedCurve=function(e,a){var i,o,u,c=e.length-1,t=[],f=0,n=(o=(i=e).length,u=o-1,i.map(function(n,e){return i.map(function(n,t){var r=e+t;return 0===t||i[r]&&"M"===i[r][0]?(t=i[r],["M"].concat(t.slice(-2))):(o<=r&&(r-=u),i[r])})}));return n.forEach(function(n,r){e.slice(1).forEach(function(n,t){f+=R(e[(r+t)%c].slice(-2),a[t%c].slice(-2))}),t[r]=f,f=0}),n[t.indexOf(Math.min.apply(null,t))]},n.getTotalLength=F,n.getType=un,n.getWrapBehavior=function(n,t){return n["_wrap_"+t]},n.gradient=function(n){var i=("string"==typeof n?n.split("-"):n).map(function(n){return N(-1===n.indexOf("#")?Mn(n):n)});return function(n){return t=i,n=n,n=isNaN(Number(n))||n<0?0:1<n?1:Number(n),r=t.length-1,e=Math.floor(r*n),n=r*n-e,a=t[e],r=e===r?a:t[e+1],L([bn(a,r,n,0),bn(a,r,n,1),bn(a,r,n,2)]);var t,r,e,a}},n.group=function(n,t){if(!t)return[n];var r,e=J(n,t),a=[];for(r in e)a.push(e[r]);return a},n.groupBy=$,n.groupToMap=J,n.has=tn,n.hasKey=tn,n.hasValue=function(n,t){return r(on(n),t)},n.head=function(n){if(u(n))return n[0]},n.identity=function(n){return n},n.includes=r,n.indexOf=function(n,t){if(!u(n))return-1;var r=Array.prototype.indexOf;if(r)return r.call(n,t);for(var e=-1,a=0;a<n.length;a++)if(n[a]===t){e=a;break}return e},n.isArguments=function(n){return e(n,"Arguments")},n.isArray=f,n.isArrayLike=u,n.isBoolean=function(n){return e(n,"Boolean")},n.isDate=function(n){return e(n,"Date")},n.isDecimal=function(n){return y(n)&&n%1!=0},n.isElement=function(n){return n instanceof Element||n instanceof Document},n.isEmpty=function(n){if(!c(n)){if(u(n))return!n.length;var t,r=un(n);if("Map"===r||"Set"===r)return!n.size;if(fn(n))return!Object.keys(n).length;for(t in n)if(vn.call(n,t))return!1}return!0},n.isEqual=g,n.isEqualWith=function(n,t,r){return h(r)?!!r(n,t):g(n,t)},n.isError=function(n){return e(n,"Error")},n.isEven=function(n){return y(n)&&n%2==0},n.isFinite=function(n){return y(n)&&isFinite(n)},n.isFunction=h,n.isInteger=p,n.isMatch=D,n.isNegative=function(n){return y(n)&&n<0},n.isNil=c,n.isNull=function(n){return null===n},n.isNumber=y,n.isNumberEqual=function(n,t,r){return void 0===r&&(r=1e-5),Math.abs(n-t)<r},n.isObject=i,n.isObjectLike=o,n.isOdd=function(n){return y(n)&&n%2!=0},n.isPlainObject=l,n.isPointInPolygon=Jn,n.isPointInStroke=function(n,t){return n=Hn(n,t).distance,Math.abs(n)<.001},n.isPolygonsIntersect=function(t,r){var n,e,a,i,o;return!(t.length<2||r.length<2||(n=et(t),i=et(r),n=n,(i=i).minX>n.maxX)||i.maxX<n.minX||i.minY>n.maxY||i.maxY<n.minY)&&(e=!1,r.forEach(function(n){if(Jn(t,n[0],n[1]))return!(e=!0)}),!!e||(t.forEach(function(n){if(Jn(r,n[0],n[1]))return!(e=!0)}),!!e)||(a=tt(t),i=tt(r),o=!1,i.forEach(function(n){if(rt(a,n))return!(o=!0)}),o))},n.isPositive=function(n){return y(n)&&0<n},n.isPrototype=fn,n.isRegExp=function(n){return e(n,"RegExp")},n.isString=s,n.isType=e,n.isUndefined=function(n){return void 0===n},n.keys=B,n.last=function(n){if(u(n))return n[n.length-1]},n.lowerCase=function(n){return v(n).toLowerCase()},n.lowerFirst=function(n){n=v(n);return n.charAt(0).toLowerCase()+n.substring(1)},n.map=function(n,t){if(!u(n))return n;for(var r=[],e=0;e<n.length;e++){var a=n[e];r.push(t(a,e))}return r},n.mapValues=function(t,r){void 0===r&&(r=mn);var e={};return i(t)&&!c(t)&&Object.keys(t).forEach(function(n){e[n]=r(t[n],n)}),e},n.max=Q,n.maxBy=function(n,t){if(f(n)){for(var r,e=-1/0,a=0;a<n.length;a++){var i=n[a],o=h(t)?t(i):i[t];e<o&&(r=i,e=o)}return r}},n.memoize=sn,n.min=X,n.minBy=function(n,t){if(f(n)){for(var r,e=1/0,a=0;a<n.length;a++){var i=n[a],o=h(t)?t(i):i[t];o<e&&(r=i,e=o)}return r}},n.mix=x,n.mod=function(n,t){return(n%t+t)%t},n.modifyCSS=function(t,r){if(t)return Object.keys(r).forEach(function(n){t.style[n]=r[n]}),t},n.noop=function(){},n.normalizePath=I,n.number2color=function(n){var t=nn[n];if(!t){for(var r=n.toString(16),e=r.length;e<6;e++)r="0"+r;nn[n]=t="#"+r}return t},n.omit=function(n,e){return Z(n,function(n,t,r){return e.includes(r)||(n[r]=t),n},{})},n.parseRadius=function(n){var t=0,r=0,e=0,a=0;return f(n)?1===n.length?t=r=e=a=n[0]:2===n.length?(t=e=n[0],r=a=n[1]):3===n.length?(t=n[0],r=a=n[1],e=n[2]):(t=n[0],r=n[1],e=n[2],a=n[3]):t=r=e=a=n,{r1:t,r2:r,r3:e,r4:a}},n.path2Absolute=Bn,n.path2Curve=_n,n.path2String=function(n,t){return n=n,("off"===(r=t=void 0===t?"off":t)?[].concat(n):(e="number"==typeof r&&1<=r?Math.pow(10,r):1,n.map(function(n){var t=n.slice(1).map(Number).map(function(n){return r?Math.round(n*e)/e:Math.round(n)});return[n[0]].concat(t)}))).map(function(n){return n[0]+n.slice(1).join(" ")}).join("");var r,e},n.pick=function(t,n){var r;return null!==t&&l(t)?(r={},a(n,function(n){xn.call(t,n)&&(r[n]=t[n])}),r):{}},n.pull=function(n){for(var t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[r];for(var e=0;e<t.length;e++)for(var a,i=t[e];-1<(a=W.call(n,i));)U.call(n,a,1);return n},n.pullAt=Y,n.reduce=Z,n.remove=function(n,t){var r=[];if(u(n)){for(var e=-1,a=[],i=n.length;++e<i;){var o=n[e];t(o,e,n)&&(r.push(o),a.push(e))}Y(n,a)}return r},n.requestAnimationFrame=function(n){return(window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.msRequestAnimationFrame||function(n){return setTimeout(n,16)})(n)},n.reverseCurve=function(e){var n=e.slice(1).map(function(n,t,r){return(t?r[t-1].slice(-2):e[0].slice(1)).concat(n.slice(1))}).map(function(r){return r.map(function(n,t){return r[r.length-t-2*(1-t%2)]})}).reverse();return[["M"].concat(n[0].slice(0,2))].concat(n.map(function(n){return["C"].concat(n.slice(2))}))},n.rgb2arr=N,n.set=function(n,t,r){var e=n,a=s(t)?t.split("."):t;return a.forEach(function(n,t){t<a.length-1?(i(e[n])||(e[n]=y(a[t+1])?[]:{}),e=e[n]):e[n]=r}),n},n.size=function(n){return c(n)?0:(u(n)?n:Object.keys(n)).length},n.some=function(n,t){for(var r=0;r<n.length;r++)if(t(n[r],r))return!0;return!1},n.sortBy=function(n,r){var a,t=h(r)?function(n,t){return r(n)-r(t)}:(a=[],s(r)?a.push(r):f(r)&&(a=r),function(n,t){for(var r=0;r<a.length;r+=1){var e=a[r];if(n[e]>t[e])return 1;if(n[e]<t[e])return-1}return 0});return n.sort(t),n},n.startsWith=function(n,t){return!(!f(n)&&!s(n))&&n[0]===t},n.substitute=function(n,r){return n&&r?n.replace(/\\?\{([^{}]+)\}/g,function(n,t){return"\\"===n.charAt(0)?n.slice(1):void 0===r[t]?"":r[t]}):n},n.throttle=function(r,e,a){function i(){l=!1===a.leading?0:Date.now(),o=null,f=r.apply(u,c),o||(u=c=null)}function n(){var n=Date.now(),t=(l||!1!==a.leading||(l=n),e-(n-l));return u=this,c=arguments,t<=0||e<t?(o&&(clearTimeout(o),o=null),l=n,f=r.apply(u,c),o||(u=c=null)):o||!1===a.trailing||(o=setTimeout(i,t)),f}var o,u,c,f,l=0;a=a||{};return n.cancel=function(){clearTimeout(o),l=0,o=u=c=null},n},n.toArray=function(n){return u(n)?Array.prototype.slice.call(n):[]},n.toCSSGradient=function(n){var t,r,e,a,i;return/^[r,R,L,l]{1}[\s]*\(/.test(n)?(r=void 0,"l"===n[0]?(t=+(a=wn.exec(n))[1]+90,r=a[2],e="linear-gradient("+t+"deg, "):"r"===n[0]&&(e="radial-gradient(",r=(a=An.exec(n))[4]),(i=r.match(On)).forEach(function(n,t){n=n.split(":");e+=n[1]+" "+100*Number(n[0])+"%",t!==i.length-1&&(e+=", ")}),e+=")"):n},n.toDegree=function(n){return rn*n},n.toInteger=en,n.toRGB=Mn,n.toRadian=function(n){return an*n},n.toString=v,n.transform=function(n,t){for(var r,e,a,i,o,u,c=n?[].concat(n):[1,0,0,0,1,0,0,0,1],f=0,l=t.length;f<l;f++){var h=t[f];switch(h[0]){case"t":a=e=c,i=[h[1],h[2]],o=void 0,i=i,(o=u=[0,0,0,0,0,0,0,0,0])[0]=1,o[1]=0,o[2]=0,o[3]=0,o[4]=1,o[5]=0,o[6]=i[0],o[7]=i[1],o[8]=1,A(e,u,a);break;case"s":o=i=c,e=[h[1],h[2]],u=void 0,(u=a=[0,0,0,0,0,0,0,0,0])[0]=(e=e)[0],u[1]=0,u[2]=0,u[3]=0,u[4]=e[1],u[5]=0,u[6]=0,u[7]=0,u[8]=1,A(i,a,o);break;case"r":qn(c,c,h[1]);break;case"m":r=h[1],A(c,r,c)}}return c},n.union=function(){for(var n=[],t=0;t<arguments.length;t++)n[t]=arguments[t];return G([].concat.apply([],n))},n.uniq=G,n.uniqueId=function(n){return d[n=n||"g"]?d[n]+=1:d[n]=1,n+d[n]},n.upperCase=function(n){return v(n).toUpperCase()},n.upperFirst=function(n){n=v(n);return n.charAt(0).toUpperCase()+n.substring(1)},n.values=on,n.valuesOfKey=function(n,t){for(var r=[],e={},a=0;a<n.length;a++){var i=n[a][t];if(!c(i)){f(i)||(i=[i]);for(var o=0;o<i.length;o++){var u=i[o];e[u]||(r.push(u),e[u]=!0)}}}return r},n.vertical=function(n,t,r){return r?(n[0]=t[1],n[1]=-1*t[0]):(n[0]=-1*t[1],n[1]=t[0]),n},n.wrapBehavior=function(t,r){return t["_wrap_"+r]||(t["_wrap_"+r]=function(n){t[r](n)})},Object.defineProperty(n,"__esModule",{value:!0})});
export { rgb2arr } from './rgb2arr';
export { gradient } from './gradient';
// todo 没有 memoize
export { toRGB } from './torgb';
export { toCSSGradient } from './tocssgradient';
//# sourceMappingURL=index.js.map
/**
* 将颜色转换到 rgb 的格式
* @param {color} color 颜色
* @return 将颜色转换到 '#ffffff' 的格式
* export with memoize.
* @param color
* @returns
*/
export declare function toRGB(color: string): string;
export declare const toRGB: {
(...args: any[]): any;
cache: import("flru").flruCache<any>;
};

@@ -0,1 +1,2 @@

import { memoize } from '../lodash';
import { arr2rgb } from './arr2rgb';

@@ -20,3 +21,3 @@ var RGB_REG = /rgba?\(([\s.,0-9]+)\)/;

*/
export function toRGB(color) {
function toRGBString(color) {
// 如果已经是 rgb的格式

@@ -37,2 +38,8 @@ if (color[0] === '#' && color.length === 7) {

}
/**
* export with memoize.
* @param color
* @returns
*/
export var toRGB = memoize(toRGBString, function (color) { return color; }, 256);
//# sourceMappingURL=torgb.js.map

@@ -6,1 +6,2 @@ export * from './color';

export * from './math';
export * from './dom';

@@ -6,2 +6,3 @@ export * from './color';

export * from './math';
export * from './dom';
//# sourceMappingURL=index.js.map

@@ -1,4 +0,4 @@

declare const _default: (f: Function, resolver?: (...args: any[]) => string) => {
declare const _default: (f: Function, resolver?: (...args: any[]) => string, maxSize?: number) => {
(...args: any[]): any;
cache: Map<any, any>;
cache: import("flru").flruCache<any>;
};

@@ -10,3 +10,4 @@ /**

* @param resolver
* @param maxSize lru maxSize
*/
export default _default;

@@ -0,1 +1,2 @@

import flru from 'flru';
import isFunction from './is-function';

@@ -7,4 +8,6 @@ /**

* @param resolver
* @param maxSize lru maxSize
*/
export default (function (f, resolver) {
export default (function (f, resolver, maxSize) {
if (maxSize === void 0) { maxSize = 128; }
if (!isFunction(f)) {

@@ -29,5 +32,5 @@ throw new TypeError('Expected a function');

};
memoized.cache = new Map();
memoized.cache = flru(maxSize);
return memoized;
});
//# sourceMappingURL=memoize.js.map
/**
* 根据 actions 来做 transform
* @param m
* @param actions
*/
export declare function transform(m: number[], actions: any[][]): any[];
/**
* 向量 v1 到 向量 v2 夹角的方向
* @param {Array} v1 向量
* @param {Array} v2 向量
* @return {Boolean} >= 0 顺时针 < 0 逆时针
*/
export declare function direction(v1: number[], v2: number[]): number;
/**
* 二维向量 v1 到 v2 的夹角
* @param v1
* @param v2
* @param direct
*/
export declare function angleTo(v1: [number, number], v2: [number, number], direct?: boolean): number;
/**
* 计算二维向量的垂直向量
* @param out
* @param v
* @param flag
*/
export declare function vertical(out: number[], v: number[], flag: boolean): number[];
* @description 扩展方法,提供 gl-matrix 为提供的方法
**/
export { transform } from './transform';
export { angleTo } from './angle-to';
export { direction } from './direction';
export { vertical } from './vertical';
/**
* @description 扩展方法,提供 gl-matrix 为提供的方法
* */
import { mat3, vec2 } from 'gl-matrix';
function leftTranslate(out, a, v) {
var transMat = [0, 0, 0, 0, 0, 0, 0, 0, 0];
mat3.fromTranslation(transMat, v);
return mat3.multiply(out, transMat, a);
}
function leftRotate(out, a, rad) {
var rotateMat = [0, 0, 0, 0, 0, 0, 0, 0, 0];
mat3.fromRotation(rotateMat, rad);
return mat3.multiply(out, rotateMat, a);
}
function leftScale(out, a, v) {
var scaleMat = [0, 0, 0, 0, 0, 0, 0, 0, 0];
mat3.fromScaling(scaleMat, v);
return mat3.multiply(out, scaleMat, a);
}
function leftMultiply(out, a, a1) {
return mat3.multiply(out, a1, a);
}
/**
* 根据 actions 来做 transform
* @param m
* @param actions
*/
export function transform(m, actions) {
var matrix = m ? [].concat(m) : [1, 0, 0, 0, 1, 0, 0, 0, 1];
for (var i = 0, len = actions.length; i < len; i++) {
var action = actions[i];
switch (action[0]) {
case 't':
leftTranslate(matrix, matrix, [action[1], action[2]]);
break;
case 's':
leftScale(matrix, matrix, [action[1], action[2]]);
break;
case 'r':
leftRotate(matrix, matrix, action[1]);
break;
case 'm':
leftMultiply(matrix, matrix, action[1]);
break;
default:
break;
}
}
return matrix;
}
/**
* 向量 v1 到 向量 v2 夹角的方向
* @param {Array} v1 向量
* @param {Array} v2 向量
* @return {Boolean} >= 0 顺时针 < 0 逆时针
*/
export function direction(v1, v2) {
return v1[0] * v2[1] - v2[0] * v1[1];
}
/**
* 二维向量 v1 到 v2 的夹角
* @param v1
* @param v2
* @param direct
*/
export function angleTo(v1, v2, direct) {
var ang = vec2.angle(v1, v2);
var angleLargeThanPI = direction(v1, v2) >= 0;
if (direct) {
if (angleLargeThanPI) {
return Math.PI * 2 - ang;
}
return ang;
}
if (angleLargeThanPI) {
return ang;
}
return Math.PI * 2 - ang;
}
/**
* 计算二维向量的垂直向量
* @param out
* @param v
* @param flag
*/
export function vertical(out, v, flag) {
if (flag) {
out[0] = v[1];
out[1] = -1 * v[0];
}
else {
out[0] = -1 * v[1];
out[1] = v[0];
}
return out;
}
**/
export { transform } from './transform';
export { angleTo } from './angle-to';
export { direction } from './direction';
export { vertical } from './vertical';
//# sourceMappingURL=index.js.map

@@ -8,3 +8,2 @@ "use strict";

Object.defineProperty(exports, "gradient", { enumerable: true, get: function () { return gradient_1.gradient; } });
// todo 没有 memoize
var torgb_1 = require("./torgb");

@@ -11,0 +10,0 @@ Object.defineProperty(exports, "toRGB", { enumerable: true, get: function () { return torgb_1.toRGB; } });

/**
* 将颜色转换到 rgb 的格式
* @param {color} color 颜色
* @return 将颜色转换到 '#ffffff' 的格式
* export with memoize.
* @param color
* @returns
*/
export declare function toRGB(color: string): string;
export declare const toRGB: {
(...args: any[]): any;
cache: import("flru").flruCache<any>;
};
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.toRGB = void 0;
var lodash_1 = require("../lodash");
var arr2rgb_1 = require("./arr2rgb");

@@ -23,3 +24,3 @@ var RGB_REG = /rgba?\(([\s.,0-9]+)\)/;

*/
function toRGB(color) {
function toRGBString(color) {
// 如果已经是 rgb的格式

@@ -40,3 +41,8 @@ if (color[0] === '#' && color.length === 7) {

}
exports.toRGB = toRGB;
/**
* export with memoize.
* @param color
* @returns
*/
exports.toRGB = (0, lodash_1.memoize)(toRGBString, function (color) { return color; }, 256);
//# sourceMappingURL=torgb.js.map

@@ -6,1 +6,2 @@ export * from './color';

export * from './math';
export * from './dom';

@@ -9,2 +9,3 @@ "use strict";

(0, tslib_1.__exportStar)(require("./math"), exports);
(0, tslib_1.__exportStar)(require("./dom"), exports);
//# sourceMappingURL=index.js.map

@@ -1,4 +0,4 @@

declare const _default: (f: Function, resolver?: (...args: any[]) => string) => {
declare const _default: (f: Function, resolver?: (...args: any[]) => string, maxSize?: number) => {
(...args: any[]): any;
cache: Map<any, any>;
cache: import("flru").flruCache<any>;
};

@@ -10,3 +10,4 @@ /**

* @param resolver
* @param maxSize lru maxSize
*/
export default _default;
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var tslib_1 = require("tslib");
var flru_1 = (0, tslib_1.__importDefault)(require("flru"));
var is_function_1 = (0, tslib_1.__importDefault)(require("./is-function"));

@@ -10,4 +11,6 @@ /**

* @param resolver
* @param maxSize lru maxSize
*/
exports.default = (function (f, resolver) {
exports.default = (function (f, resolver, maxSize) {
if (maxSize === void 0) { maxSize = 128; }
if (!(0, is_function_1.default)(f)) {

@@ -32,5 +35,5 @@ throw new TypeError('Expected a function');

};
memoized.cache = new Map();
memoized.cache = (0, flru_1.default)(maxSize);
return memoized;
});
//# sourceMappingURL=memoize.js.map
/**
* 根据 actions 来做 transform
* @param m
* @param actions
*/
export declare function transform(m: number[], actions: any[][]): any[];
/**
* 向量 v1 到 向量 v2 夹角的方向
* @param {Array} v1 向量
* @param {Array} v2 向量
* @return {Boolean} >= 0 顺时针 < 0 逆时针
*/
export declare function direction(v1: number[], v2: number[]): number;
/**
* 二维向量 v1 到 v2 的夹角
* @param v1
* @param v2
* @param direct
*/
export declare function angleTo(v1: [number, number], v2: [number, number], direct?: boolean): number;
/**
* 计算二维向量的垂直向量
* @param out
* @param v
* @param flag
*/
export declare function vertical(out: number[], v: number[], flag: boolean): number[];
* @description 扩展方法,提供 gl-matrix 为提供的方法
**/
export { transform } from './transform';
export { angleTo } from './angle-to';
export { direction } from './direction';
export { vertical } from './vertical';
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.vertical = exports.angleTo = exports.direction = exports.transform = void 0;
exports.vertical = exports.direction = exports.angleTo = exports.transform = void 0;
/**
* @description 扩展方法,提供 gl-matrix 为提供的方法
* */
var gl_matrix_1 = require("gl-matrix");
function leftTranslate(out, a, v) {
var transMat = [0, 0, 0, 0, 0, 0, 0, 0, 0];
gl_matrix_1.mat3.fromTranslation(transMat, v);
return gl_matrix_1.mat3.multiply(out, transMat, a);
}
function leftRotate(out, a, rad) {
var rotateMat = [0, 0, 0, 0, 0, 0, 0, 0, 0];
gl_matrix_1.mat3.fromRotation(rotateMat, rad);
return gl_matrix_1.mat3.multiply(out, rotateMat, a);
}
function leftScale(out, a, v) {
var scaleMat = [0, 0, 0, 0, 0, 0, 0, 0, 0];
gl_matrix_1.mat3.fromScaling(scaleMat, v);
return gl_matrix_1.mat3.multiply(out, scaleMat, a);
}
function leftMultiply(out, a, a1) {
return gl_matrix_1.mat3.multiply(out, a1, a);
}
/**
* 根据 actions 来做 transform
* @param m
* @param actions
*/
function transform(m, actions) {
var matrix = m ? [].concat(m) : [1, 0, 0, 0, 1, 0, 0, 0, 1];
for (var i = 0, len = actions.length; i < len; i++) {
var action = actions[i];
switch (action[0]) {
case 't':
leftTranslate(matrix, matrix, [action[1], action[2]]);
break;
case 's':
leftScale(matrix, matrix, [action[1], action[2]]);
break;
case 'r':
leftRotate(matrix, matrix, action[1]);
break;
case 'm':
leftMultiply(matrix, matrix, action[1]);
break;
default:
break;
}
}
return matrix;
}
exports.transform = transform;
/**
* 向量 v1 到 向量 v2 夹角的方向
* @param {Array} v1 向量
* @param {Array} v2 向量
* @return {Boolean} >= 0 顺时针 < 0 逆时针
*/
function direction(v1, v2) {
return v1[0] * v2[1] - v2[0] * v1[1];
}
exports.direction = direction;
/**
* 二维向量 v1 到 v2 的夹角
* @param v1
* @param v2
* @param direct
*/
function angleTo(v1, v2, direct) {
var ang = gl_matrix_1.vec2.angle(v1, v2);
var angleLargeThanPI = direction(v1, v2) >= 0;
if (direct) {
if (angleLargeThanPI) {
return Math.PI * 2 - ang;
}
return ang;
}
if (angleLargeThanPI) {
return ang;
}
return Math.PI * 2 - ang;
}
exports.angleTo = angleTo;
/**
* 计算二维向量的垂直向量
* @param out
* @param v
* @param flag
*/
function vertical(out, v, flag) {
if (flag) {
out[0] = v[1];
out[1] = -1 * v[0];
}
else {
out[0] = -1 * v[1];
out[1] = v[0];
}
return out;
}
exports.vertical = vertical;
**/
var transform_1 = require("./transform");
Object.defineProperty(exports, "transform", { enumerable: true, get: function () { return transform_1.transform; } });
var angle_to_1 = require("./angle-to");
Object.defineProperty(exports, "angleTo", { enumerable: true, get: function () { return angle_to_1.angleTo; } });
var direction_1 = require("./direction");
Object.defineProperty(exports, "direction", { enumerable: true, get: function () { return direction_1.direction; } });
var vertical_1 = require("./vertical");
Object.defineProperty(exports, "vertical", { enumerable: true, get: function () { return vertical_1.vertical; } });
//# sourceMappingURL=index.js.map
{
"name": "@antv/util",
"version": "3.3.4",
"version": "3.3.5",
"license": "MIT",

@@ -93,2 +93,3 @@ "sideEffects": false,

"fast-deep-equal": "^3.1.3",
"flru": "^1.0.2",
"gl-matrix": "^3.3.0",

@@ -95,0 +96,0 @@ "tslib": "^2.3.1"

export { rgb2arr } from './rgb2arr';
export { gradient } from './gradient';
// todo 没有 memoize
export { toRGB } from './torgb';
export { toCSSGradient } from './tocssgradient';

@@ -0,1 +1,2 @@

import { memoize } from '../lodash';
import { arr2rgb } from './arr2rgb';

@@ -24,3 +25,3 @@

*/
export function toRGB(color: string): string {
function toRGBString(color: string): string {
// 如果已经是 rgb的格式

@@ -47,1 +48,8 @@ if (color[0] === '#' && color.length === 7) {

}
/**
* export with memoize.
* @param color
* @returns
*/
export const toRGB = memoize(toRGBString, (color) => color, 256);

@@ -6,1 +6,2 @@ export * from './color';

export * from './math';
export * from './dom';

@@ -0,1 +1,2 @@

import flru from 'flru';
import isFunction from './is-function';

@@ -8,4 +9,5 @@

* @param resolver
* @param maxSize lru maxSize
*/
export default (f: Function, resolver?: (...args: any[]) => string) => {
export default (f: Function, resolver?: (...args: any[]) => string, maxSize = 128) => {
if (!isFunction(f)) {

@@ -29,5 +31,5 @@ throw new TypeError('Expected a function');

memoized.cache = new Map();
memoized.cache = flru(maxSize);
return memoized;
};
/**
* @description 扩展方法,提供 gl-matrix 为提供的方法
* */
import { mat3, vec2 } from 'gl-matrix';
type mat3Type = [number, number, number, number, number, number, number, number, number];
function leftTranslate(out, a, v) {
const transMat: mat3Type = [0, 0, 0, 0, 0, 0, 0, 0, 0];
mat3.fromTranslation(transMat, v);
return mat3.multiply(out, transMat, a);
}
function leftRotate(out, a, rad) {
const rotateMat: mat3Type = [0, 0, 0, 0, 0, 0, 0, 0, 0];
mat3.fromRotation(rotateMat, rad);
return mat3.multiply(out, rotateMat, a);
}
function leftScale(out, a, v) {
const scaleMat: mat3Type = [0, 0, 0, 0, 0, 0, 0, 0, 0];
mat3.fromScaling(scaleMat, v);
return mat3.multiply(out, scaleMat, a);
}
function leftMultiply(out, a, a1) {
return mat3.multiply(out, a1, a);
}
/**
* 根据 actions 来做 transform
* @param m
* @param actions
*/
export function transform(m: number[], actions: any[][]) {
const matrix = m ? [].concat(m) : [1, 0, 0, 0, 1, 0, 0, 0, 1];
for (let i = 0, len = actions.length; i < len; i++) {
const action = actions[i];
switch (action[0]) {
case 't':
leftTranslate(matrix, matrix, [action[1], action[2]]);
break;
case 's':
leftScale(matrix, matrix, [action[1], action[2]]);
break;
case 'r':
leftRotate(matrix, matrix, action[1]);
break;
case 'm':
leftMultiply(matrix, matrix, action[1]);
break;
default:
break;
}
}
return matrix;
}
/**
* 向量 v1 到 向量 v2 夹角的方向
* @param {Array} v1 向量
* @param {Array} v2 向量
* @return {Boolean} >= 0 顺时针 < 0 逆时针
*/
export function direction(v1: number[], v2: number[]): number {
return v1[0] * v2[1] - v2[0] * v1[1];
}
/**
* 二维向量 v1 到 v2 的夹角
* @param v1
* @param v2
* @param direct
*/
export function angleTo(v1: [number, number], v2: [number, number], direct?: boolean): number {
const ang = vec2.angle(v1, v2);
const angleLargeThanPI = direction(v1, v2) >= 0;
if (direct) {
if (angleLargeThanPI) {
return Math.PI * 2 - ang;
}
return ang;
}
if (angleLargeThanPI) {
return ang;
}
return Math.PI * 2 - ang;
}
/**
* 计算二维向量的垂直向量
* @param out
* @param v
* @param flag
*/
export function vertical(out: number[], v: number[], flag: boolean): number[] {
if (flag) {
out[0] = v[1];
out[1] = -1 * v[0];
} else {
out[0] = -1 * v[1];
out[1] = v[0];
}
return out;
}
**/
export { transform } from './transform';
export { angleTo } from './angle-to';
export { direction } from './direction';
export { vertical } from './vertical';

@@ -28,4 +28,4 @@ import { normalizePath } from '../process/normalize-path';

let seg;
let MIN = [];
let MAX = [];
const MIN = [];
const MAX = [];
let length = 0;

@@ -32,0 +32,0 @@ let min = { x: 0, y: 0 };

@@ -148,3 +148,3 @@ import type { Point, LengthFactory, PathLengthFactoryOptions } from '../types';

let POINT = { x: 0, y: 0 };
let POINTS = [{ x, y }];
const POINTS = [{ x, y }];

@@ -151,0 +151,0 @@ if (distanceIsNumber && distance <= 0) {

@@ -51,3 +51,3 @@ import type { LengthFactory, PathLengthFactoryOptions } from '../types';

let POINT = { x: 0, y: 0 };
let POINTS = [{ x, y }];
const POINTS = [{ x, y }];

@@ -54,0 +54,0 @@ if (distanceIsNumber && distance <= 0) {

@@ -49,3 +49,3 @@ import type { LengthFactory, PathLengthFactoryOptions } from '../types';

let POINT = { x: 0, y: 0 };
let POINTS = [{ x, y }];
const POINTS = [{ x, y }];

@@ -52,0 +52,0 @@ if (distanceIsNumber && distance <= 0) {

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc