diff --git a/frontend/src/modules/inventory/components/PurchaseOrdersTab.vue b/frontend/src/modules/inventory/components/PurchaseOrdersTab.vue index 712d55b..d231fac 100644 --- a/frontend/src/modules/inventory/components/PurchaseOrdersTab.vue +++ b/frontend/src/modules/inventory/components/PurchaseOrdersTab.vue @@ -178,7 +178,7 @@ async function receivePurchaseOrder() { .filter((item: any) => item.receive_quantity > 0) .map((item: any) => ({ item_id: item.id, - quantity: item.receive_quantity + receive_quantity: item.receive_quantity })) if (items.length === 0) { addNotification('请输入本次入库数量', 'warning') diff --git a/static/assets/DesignSystemView-C8aljcxF.js b/static/assets/DesignSystemView-B6f7U1Zd.js similarity index 78% rename from static/assets/DesignSystemView-C8aljcxF.js rename to static/assets/DesignSystemView-B6f7U1Zd.js index 265277b..418cb3a 100644 --- a/static/assets/DesignSystemView-C8aljcxF.js +++ b/static/assets/DesignSystemView-B6f7U1Zd.js @@ -1 +1 @@ -import{D as e,g as t,t as n,y as r}from"./index-Tuyb_Kvo.js";var i={};function a(n,i){return e(),r(`div`,null,[...i[0]||=[t(`div`,{class:`page-header`},[t(`h1`,{class:`page-title`},`设计体系`),t(`p`,{class:`page-subtitle`},`迁移中...`)],-1)]])}var o=n(i,[[`render`,a]]);export{o as default}; \ No newline at end of file +import{D as e,g as t,t as n,y as r}from"./index-Dyxl3OsB.js";var i={};function a(n,i){return e(),r(`div`,null,[...i[0]||=[t(`div`,{class:`page-header`},[t(`h1`,{class:`page-title`},`设计体系`),t(`p`,{class:`page-subtitle`},`迁移中...`)],-1)]])}var o=n(i,[[`render`,a]]);export{o as default}; \ No newline at end of file diff --git a/static/assets/HomeView-D5NfCH6x.js b/static/assets/HomeView-D5QgCeau.js similarity index 99% rename from static/assets/HomeView-D5NfCH6x.js rename to static/assets/HomeView-D5QgCeau.js index 0517f2d..9f2fc0b 100644 --- a/static/assets/HomeView-D5NfCH6x.js +++ b/static/assets/HomeView-D5QgCeau.js @@ -1,3 +1,3 @@ -import{C as e,D as t,F as n,I as r,L as i,P as a,T as o,g as s,l as c,o as l,t as u,v as d,w as f,x as p,y as m,z as h}from"./index-Tuyb_Kvo.js";function g(e){return e+.5|0}var _=(e,t,n)=>Math.max(Math.min(e,n),t);function v(e){return _(g(e*2.55),0,255)}function y(e){return _(g(e*255),0,255)}function b(e){return _(g(e/2.55)/100,0,1)}function x(e){return _(g(e*100),0,100)}var S={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,A:10,B:11,C:12,D:13,E:14,F:15,a:10,b:11,c:12,d:13,e:14,f:15},C=[...`0123456789ABCDEF`],w=e=>C[e&15],T=e=>C[(e&240)>>4]+C[e&15],E=e=>(e&240)>>4==(e&15),D=e=>E(e.r)&&E(e.g)&&E(e.b)&&E(e.a);function ee(e){var t=e.length,n;return e[0]===`#`&&(t===4||t===5?n={r:255&S[e[1]]*17,g:255&S[e[2]]*17,b:255&S[e[3]]*17,a:t===5?S[e[4]]*17:255}:(t===7||t===9)&&(n={r:S[e[1]]<<4|S[e[2]],g:S[e[3]]<<4|S[e[4]],b:S[e[5]]<<4|S[e[6]],a:t===9?S[e[7]]<<4|S[e[8]]:255})),n}var O=(e,t)=>e<255?t(e):``;function te(e){var t=D(e)?w:T;return e?`#`+t(e.r)+t(e.g)+t(e.b)+O(e.a,t):void 0}var ne=/^(hsla?|hwb|hsv)\(\s*([-+.e\d]+)(?:deg)?[\s,]+([-+.e\d]+)%[\s,]+([-+.e\d]+)%(?:[\s,]+([-+.e\d]+)(%)?)?\s*\)$/;function re(e,t,n){let r=t*Math.min(n,1-n),i=(t,i=(t+e/30)%12)=>n-r*Math.max(Math.min(i-3,9-i,1),-1);return[i(0),i(8),i(4)]}function ie(e,t,n){let r=(r,i=(r+e/60)%6)=>n-n*t*Math.max(Math.min(i,4-i,1),0);return[r(5),r(3),r(1)]}function ae(e,t,n){let r=re(e,1,.5),i;for(t+n>1&&(i=1/(t+n),t*=i,n*=i),i=0;i<3;i++)r[i]*=1-t-n,r[i]+=t;return r}function oe(e,t,n,r,i){return e===i?(t-n)/r+(t.5?l/(2-i-a):l/(i+a),s=oe(t,n,r,l,i),s=s*60+.5),[s|0,c||0,o]}function ce(e,t,n,r){return(Array.isArray(t)?e(t[0],t[1],t[2]):e(t,n,r)).map(y)}function le(e,t,n){return ce(re,e,t,n)}function ue(e,t,n){return ce(ae,e,t,n)}function de(e,t,n){return ce(ie,e,t,n)}function fe(e){return(e%360+360)%360}function pe(e){let t=ne.exec(e),n=255,r;if(!t)return;t[5]!==r&&(n=t[6]?v(+t[5]):y(+t[5]));let i=fe(+t[2]),a=t[3]/100,o=t[4]/100;return r=t[1]===`hwb`?ue(i,a,o):t[1]===`hsv`?de(i,a,o):le(i,a,o),{r:r[0],g:r[1],b:r[2],a:n}}function me(e,t){var n=se(e);n[0]=fe(n[0]+t),n=le(n),e.r=n[0],e.g=n[1],e.b=n[2]}function he(e){if(!e)return;let t=se(e),n=t[0],r=x(t[1]),i=x(t[2]);return e.a<255?`hsla(${n}, ${r}%, ${i}%, ${b(e.a)})`:`hsl(${n}, ${r}%, ${i}%)`}var ge={x:`dark`,Z:`light`,Y:`re`,X:`blu`,W:`gr`,V:`medium`,U:`slate`,A:`ee`,T:`ol`,S:`or`,B:`ra`,C:`lateg`,D:`ights`,R:`in`,Q:`turquois`,E:`hi`,P:`ro`,O:`al`,N:`le`,M:`de`,L:`yello`,F:`en`,K:`ch`,G:`arks`,H:`ea`,I:`ightg`,J:`wh`},_e={OiceXe:`f0f8ff`,antiquewEte:`faebd7`,aqua:`ffff`,aquamarRe:`7fffd4`,azuY:`f0ffff`,beige:`f5f5dc`,bisque:`ffe4c4`,black:`0`,blanKedOmond:`ffebcd`,Xe:`ff`,XeviTet:`8a2be2`,bPwn:`a52a2a`,burlywood:`deb887`,caMtXe:`5f9ea0`,KartYuse:`7fff00`,KocTate:`d2691e`,cSO:`ff7f50`,cSnflowerXe:`6495ed`,cSnsilk:`fff8dc`,crimson:`dc143c`,cyan:`ffff`,xXe:`8b`,xcyan:`8b8b`,xgTMnPd:`b8860b`,xWay:`a9a9a9`,xgYF:`6400`,xgYy:`a9a9a9`,xkhaki:`bdb76b`,xmagFta:`8b008b`,xTivegYF:`556b2f`,xSange:`ff8c00`,xScEd:`9932cc`,xYd:`8b0000`,xsOmon:`e9967a`,xsHgYF:`8fbc8f`,xUXe:`483d8b`,xUWay:`2f4f4f`,xUgYy:`2f4f4f`,xQe:`ced1`,xviTet:`9400d3`,dAppRk:`ff1493`,dApskyXe:`bfff`,dimWay:`696969`,dimgYy:`696969`,dodgerXe:`1e90ff`,fiYbrick:`b22222`,flSOwEte:`fffaf0`,foYstWAn:`228b22`,fuKsia:`ff00ff`,gaRsbSo:`dcdcdc`,ghostwEte:`f8f8ff`,gTd:`ffd700`,gTMnPd:`daa520`,Way:`808080`,gYF:`8000`,gYFLw:`adff2f`,gYy:`808080`,honeyMw:`f0fff0`,hotpRk:`ff69b4`,RdianYd:`cd5c5c`,Rdigo:`4b0082`,ivSy:`fffff0`,khaki:`f0e68c`,lavFMr:`e6e6fa`,lavFMrXsh:`fff0f5`,lawngYF:`7cfc00`,NmoncEffon:`fffacd`,ZXe:`add8e6`,ZcSO:`f08080`,Zcyan:`e0ffff`,ZgTMnPdLw:`fafad2`,ZWay:`d3d3d3`,ZgYF:`90ee90`,ZgYy:`d3d3d3`,ZpRk:`ffb6c1`,ZsOmon:`ffa07a`,ZsHgYF:`20b2aa`,ZskyXe:`87cefa`,ZUWay:`778899`,ZUgYy:`778899`,ZstAlXe:`b0c4de`,ZLw:`ffffe0`,lime:`ff00`,limegYF:`32cd32`,lRF:`faf0e6`,magFta:`ff00ff`,maPon:`800000`,VaquamarRe:`66cdaa`,VXe:`cd`,VScEd:`ba55d3`,VpurpN:`9370db`,VsHgYF:`3cb371`,VUXe:`7b68ee`,VsprRggYF:`fa9a`,VQe:`48d1cc`,VviTetYd:`c71585`,midnightXe:`191970`,mRtcYam:`f5fffa`,mistyPse:`ffe4e1`,moccasR:`ffe4b5`,navajowEte:`ffdead`,navy:`80`,Tdlace:`fdf5e6`,Tive:`808000`,TivedBb:`6b8e23`,Sange:`ffa500`,SangeYd:`ff4500`,ScEd:`da70d6`,pOegTMnPd:`eee8aa`,pOegYF:`98fb98`,pOeQe:`afeeee`,pOeviTetYd:`db7093`,papayawEp:`ffefd5`,pHKpuff:`ffdab9`,peru:`cd853f`,pRk:`ffc0cb`,plum:`dda0dd`,powMrXe:`b0e0e6`,purpN:`800080`,YbeccapurpN:`663399`,Yd:`ff0000`,Psybrown:`bc8f8f`,PyOXe:`4169e1`,saddNbPwn:`8b4513`,sOmon:`fa8072`,sandybPwn:`f4a460`,sHgYF:`2e8b57`,sHshell:`fff5ee`,siFna:`a0522d`,silver:`c0c0c0`,skyXe:`87ceeb`,UXe:`6a5acd`,UWay:`708090`,UgYy:`708090`,snow:`fffafa`,sprRggYF:`ff7f`,stAlXe:`4682b4`,tan:`d2b48c`,teO:`8080`,tEstN:`d8bfd8`,tomato:`ff6347`,Qe:`40e0d0`,viTet:`ee82ee`,JHt:`f5deb3`,wEte:`ffffff`,wEtesmoke:`f5f5f5`,Lw:`ffff00`,LwgYF:`9acd32`};function ve(){let e={},t=Object.keys(_e),n=Object.keys(ge),r,i,a,o,s;for(r=0;r>16&255,a>>8&255,a&255]}return e}var ye;function be(e){ye||(ye=ve(),ye.transparent=[0,0,0,0]);let t=ye[e.toLowerCase()];return t&&{r:t[0],g:t[1],b:t[2],a:t.length===4?t[3]:255}}var xe=/^rgba?\(\s*([-+.\d]+)(%)?[\s,]+([-+.e\d]+)(%)?[\s,]+([-+.e\d]+)(%)?(?:[\s,/]+([-+.e\d]+)(%)?)?\s*\)$/;function Se(e){let t=xe.exec(e),n=255,r,i,a;if(t){if(t[7]!==r){let e=+t[7];n=t[8]?v(e):_(e*255,0,255)}return r=+t[1],i=+t[3],a=+t[5],r=255&(t[2]?v(r):_(r,0,255)),i=255&(t[4]?v(i):_(i,0,255)),a=255&(t[6]?v(a):_(a,0,255)),{r,g:i,b:a,a:n}}}function Ce(e){return e&&(e.a<255?`rgba(${e.r}, ${e.g}, ${e.b}, ${b(e.a)})`:`rgb(${e.r}, ${e.g}, ${e.b})`)}var we=e=>e<=.0031308?e*12.92:e**(1/2.4)*1.055-.055,Te=e=>e<=.04045?e/12.92:((e+.055)/1.055)**2.4;function Ee(e,t,n){let r=Te(b(e.r)),i=Te(b(e.g)),a=Te(b(e.b));return{r:y(we(r+n*(Te(b(t.r))-r))),g:y(we(i+n*(Te(b(t.g))-i))),b:y(we(a+n*(Te(b(t.b))-a))),a:e.a+n*(t.a-e.a)}}function De(e,t,n){if(e){let r=se(e);r[t]=Math.max(0,Math.min(r[t]+r[t]*n,t===0?360:1)),r=le(r),e.r=r[0],e.g=r[1],e.b=r[2]}}function Oe(e,t){return e&&Object.assign(t||{},e)}function ke(e){var t={r:0,g:0,b:0,a:255};return Array.isArray(e)?e.length>=3&&(t={r:e[0],g:e[1],b:e[2],a:255},e.length>3&&(t.a=y(e[3]))):(t=Oe(e,{r:0,g:0,b:0,a:1}),t.a=y(t.a)),t}function Ae(e){return e.charAt(0)===`r`?Se(e):pe(e)}var je=class e{constructor(t){if(t instanceof e)return t;let n=typeof t,r;n===`object`?r=ke(t):n===`string`&&(r=ee(t)||be(t)||Ae(t)),this._rgb=r,this._valid=!!r}get valid(){return this._valid}get rgb(){var e=Oe(this._rgb);return e&&(e.a=b(e.a)),e}set rgb(e){this._rgb=ke(e)}rgbString(){return this._valid?Ce(this._rgb):void 0}hexString(){return this._valid?te(this._rgb):void 0}hslString(){return this._valid?he(this._rgb):void 0}mix(e,t){if(e){let n=this.rgb,r=e.rgb,i,a=t===i?.5:t,o=2*a-1,s=n.a-r.a,c=((o*s===-1?o:(o+s)/(1+o*s))+1)/2;i=1-c,n.r=255&c*n.r+i*r.r+.5,n.g=255&c*n.g+i*r.g+.5,n.b=255&c*n.b+i*r.b+.5,n.a=a*n.a+(1-a)*r.a,this.rgb=n}return this}interpolate(e,t){return e&&(this._rgb=Ee(this._rgb,e._rgb,t)),this}clone(){return new e(this.rgb)}alpha(e){return this._rgb.a=y(e),this}clearer(e){let t=this._rgb;return t.a*=1-e,this}greyscale(){let e=this._rgb;return e.r=e.g=e.b=g(e.r*.3+e.g*.59+e.b*.11),this}opaquer(e){let t=this._rgb;return t.a*=1+e,this}negate(){let e=this._rgb;return e.r=255-e.r,e.g=255-e.g,e.b=255-e.b,this}lighten(e){return De(this._rgb,2,e),this}darken(e){return De(this._rgb,2,-e),this}saturate(e){return De(this._rgb,1,e),this}desaturate(e){return De(this._rgb,1,-e),this}rotate(e){return me(this._rgb,e),this}};function Me(){}var Ne=(()=>{let e=0;return()=>e++})();function k(e){return e==null}function A(e){if(Array.isArray&&Array.isArray(e))return!0;let t=Object.prototype.toString.call(e);return t.slice(0,7)===`[object`&&t.slice(-6)===`Array]`}function j(e){return e!==null&&Object.prototype.toString.call(e)===`[object Object]`}function M(e){return(typeof e==`number`||e instanceof Number)&&isFinite(+e)}function N(e,t){return M(e)?e:t}function P(e,t){return e===void 0?t:e}var Pe=(e,t)=>typeof e==`string`&&e.endsWith(`%`)?parseFloat(e)/100:+e/t,Fe=(e,t)=>typeof e==`string`&&e.endsWith(`%`)?parseFloat(e)/100*t:+e;function F(e,t,n){if(e&&typeof e.call==`function`)return e.apply(n,t)}function I(e,t,n,r){let i,a,o;if(A(e))if(a=e.length,r)for(i=a-1;i>=0;i--)t.call(n,e[i],i);else for(i=0;ie,x:e=>e.x,y:e=>e.y};function We(e){let t=e.split(`.`),n=[],r=``;for(let e of t)r+=e,r.endsWith(`\\`)?r=r.slice(0,-1)+`.`:(n.push(r),r=``);return n}function Ge(e){let t=We(e);return e=>{for(let n of t){if(n===``)break;e&&=e[n]}return e}}function Ke(e,t){return(Ue[t]||(Ue[t]=Ge(t)))(e)}function qe(e){return e.charAt(0).toUpperCase()+e.slice(1)}var Je=e=>e!==void 0,Ye=e=>typeof e==`function`,Xe=(e,t)=>{if(e.size!==t.size)return!1;for(let n of e)if(!t.has(n))return!1;return!0};function Ze(e){return e.type===`mouseup`||e.type===`click`||e.type===`contextmenu`}var L=Math.PI,R=2*L,Qe=R+L,$e=1/0,et=L/180,z=L/2,tt=L/4,nt=L*2/3,rt=Math.log10,B=Math.sign;function it(e,t,n){return Math.abs(e-t)e-t).pop(),t}function st(e){return typeof e==`symbol`||typeof e==`object`&&!!e&&!(Symbol.toPrimitive in e||`toString`in e||`valueOf`in e)}function ct(e){return!st(e)&&!isNaN(parseFloat(e))&&isFinite(e)}function lt(e,t){let n=Math.round(e);return n-t<=e&&n+t>=e}function ut(e,t,n){let r,i,a;for(r=0,i=e.length;rc&&l=Math.min(t,n)-r&&e<=Math.max(t,n)+r}function vt(e,t,n){n||=(n=>e[n]1;)a=i+r>>1,n(a)?i=a:r=a;return{lo:i,hi:r}}var yt=(e,t,n,r)=>vt(e,n,r?r=>{let i=e[r][t];return ie[r][t]vt(e,n,r=>e[r][t]>=n);function xt(e,t,n){let r=0,i=e.length;for(;rr&&e[i-1]>n;)i--;return r>0||i{let n=`_onData`+qe(t),r=e[t];Object.defineProperty(e,t,{configurable:!0,enumerable:!1,value(...t){let i=r.apply(this,t);return e._chartjs.listeners.forEach(e=>{typeof e[n]==`function`&&e[n](...t)}),i}})})}function wt(e,t){let n=e._chartjs;if(!n)return;let r=n.listeners,i=r.indexOf(t);i!==-1&&r.splice(i,1),!(r.length>0)&&(St.forEach(t=>{delete e[t]}),delete e._chartjs)}function Tt(e){let t=new Set(e);return t.size===e.length?e:Array.from(t)}var Et=function(){return typeof window>`u`?function(e){return e()}:window.requestAnimationFrame}();function Dt(e,t){let n=[],r=!1;return function(...i){n=i,r||(r=!0,Et.call(window,()=>{r=!1,e.apply(t,n)}))}}function Ot(e,t){let n;return function(...r){return t?(clearTimeout(n),n=setTimeout(e,t,r)):e.apply(this,r),t}}var kt=e=>e===`start`?`left`:e===`end`?`right`:`center`,G=(e,t,n)=>e===`start`?t:e===`end`?n:(t+n)/2,At=(e,t,n,r)=>e===(r?`left`:`right`)?n:e===`center`?(t+n)/2:t;function jt(e,t,n){let r=t.length,i=0,a=r;if(e._sorted){let{iScale:o,vScale:s,_parsed:c}=e,l=e.dataset&&e.dataset.options?e.dataset.options.spanGaps:null,u=o.axis,{min:d,max:f,minDefined:p,maxDefined:m}=o.getUserBounds();if(p){if(i=Math.min(yt(c,u,d).lo,n?r:yt(t,u,o.getPixelForValue(d)).lo),l){let e=c.slice(0,i+1).reverse().findIndex(e=>!k(e[s.axis]));i-=Math.max(0,e)}i=U(i,0,r-1)}if(m){let e=Math.max(yt(c,o.axis,f,!0).hi+1,n?0:yt(t,u,o.getPixelForValue(f),!0).hi+1);if(l){let t=c.slice(e-1).findIndex(e=>!k(e[s.axis]));e+=Math.max(0,t)}a=U(e,i,r)-i}else a=r-i}return{start:i,count:a}}function Mt(e){let{xScale:t,yScale:n,_scaleRanges:r}=e,i={xmin:t.min,xmax:t.max,ymin:n.min,ymax:n.max};if(!r)return e._scaleRanges=i,!0;let a=r.xmin!==t.min||r.xmax!==t.max||r.ymin!==n.min||r.ymax!==n.max;return Object.assign(r,i),a}var Nt=e=>e===0||e===1,Pt=(e,t,n)=>-(2**(10*--e)*Math.sin((e-t)*R/n)),Ft=(e,t,n)=>2**(-10*e)*Math.sin((e-t)*R/n)+1,It={linear:e=>e,easeInQuad:e=>e*e,easeOutQuad:e=>-e*(e-2),easeInOutQuad:e=>(e/=.5)<1?.5*e*e:-.5*(--e*(e-2)-1),easeInCubic:e=>e*e*e,easeOutCubic:e=>--e*e*e+1,easeInOutCubic:e=>(e/=.5)<1?.5*e*e*e:.5*((e-=2)*e*e+2),easeInQuart:e=>e*e*e*e,easeOutQuart:e=>-(--e*e*e*e-1),easeInOutQuart:e=>(e/=.5)<1?.5*e*e*e*e:-.5*((e-=2)*e*e*e-2),easeInQuint:e=>e*e*e*e*e,easeOutQuint:e=>--e*e*e*e*e+1,easeInOutQuint:e=>(e/=.5)<1?.5*e*e*e*e*e:.5*((e-=2)*e*e*e*e+2),easeInSine:e=>-Math.cos(e*z)+1,easeOutSine:e=>Math.sin(e*z),easeInOutSine:e=>-.5*(Math.cos(L*e)-1),easeInExpo:e=>e===0?0:2**(10*(e-1)),easeOutExpo:e=>e===1?1:-(2**(-10*e))+1,easeInOutExpo:e=>Nt(e)?e:e<.5?.5*2**(10*(e*2-1)):.5*(-(2**(-10*(e*2-1)))+2),easeInCirc:e=>e>=1?e:-(Math.sqrt(1-e*e)-1),easeOutCirc:e=>Math.sqrt(1- --e*e),easeInOutCirc:e=>(e/=.5)<1?-.5*(Math.sqrt(1-e*e)-1):.5*(Math.sqrt(1-(e-=2)*e)+1),easeInElastic:e=>Nt(e)?e:Pt(e,.075,.3),easeOutElastic:e=>Nt(e)?e:Ft(e,.075,.3),easeInOutElastic(e){let t=.1125,n=.45;return Nt(e)?e:e<.5?.5*Pt(e*2,t,n):.5+.5*Ft(e*2-1,t,n)},easeInBack(e){return e*e*(2.70158*e-1.70158)},easeOutBack(e){return--e*e*(2.70158*e+1.70158)+1},easeInOutBack(e){let t=1.70158;return(e/=.5)<1?.5*(e*e*(((t*=1.525)+1)*e-t)):.5*((e-=2)*e*(((t*=1.525)+1)*e+t)+2)},easeInBounce:e=>1-It.easeOutBounce(1-e),easeOutBounce(e){let t=7.5625,n=2.75;return e<1/n?t*e*e:e<2/n?t*(e-=1.5/n)*e+.75:e<2.5/n?t*(e-=2.25/n)*e+.9375:t*(e-=2.625/n)*e+.984375},easeInOutBounce:e=>e<.5?It.easeInBounce(e*2)*.5:It.easeOutBounce(e*2-1)*.5+.5};function Lt(e){if(e&&typeof e==`object`){let t=e.toString();return t===`[object CanvasPattern]`||t===`[object CanvasGradient]`}return!1}function Rt(e){return Lt(e)?e:new je(e)}function zt(e){return Lt(e)?e:new je(e).saturate(.5).darken(.1).hexString()}var Bt=[`x`,`y`,`borderWidth`,`radius`,`tension`],Vt=[`color`,`borderColor`,`backgroundColor`];function Ht(e){e.set(`animation`,{delay:void 0,duration:1e3,easing:`easeOutQuart`,fn:void 0,from:void 0,loop:void 0,to:void 0,type:void 0}),e.describe(`animation`,{_fallback:!1,_indexable:!1,_scriptable:e=>e!==`onProgress`&&e!==`onComplete`&&e!==`fn`}),e.set(`animations`,{colors:{type:`color`,properties:Vt},numbers:{type:`number`,properties:Bt}}),e.describe(`animations`,{_fallback:`animation`}),e.set(`transitions`,{active:{animation:{duration:400}},resize:{animation:{duration:0}},show:{animations:{colors:{from:`transparent`},visible:{type:`boolean`,duration:0}}},hide:{animations:{colors:{to:`transparent`},visible:{type:`boolean`,easing:`linear`,fn:e=>e|0}}}})}function Ut(e){e.set(`layout`,{autoPadding:!0,padding:{top:0,right:0,bottom:0,left:0}})}var Wt=new Map;function Gt(e,t){t||={};let n=e+JSON.stringify(t),r=Wt.get(n);return r||(r=new Intl.NumberFormat(e,t),Wt.set(n,r)),r}function Kt(e,t,n){return Gt(t,n).format(e)}var qt={values(e){return A(e)?e:``+e},numeric(e,t,n){if(e===0)return`0`;let r=this.chart.options.locale,i,a=e;if(n.length>1){let t=Math.max(Math.abs(n[0].value),Math.abs(n[n.length-1].value));(t<1e-4||t>0x38d7ea4c68000)&&(i=`scientific`),a=Jt(e,n)}let o=rt(Math.abs(a)),s=isNaN(o)?1:Math.max(Math.min(-1*Math.floor(o),20),0),c={notation:i,minimumFractionDigits:s,maximumFractionDigits:s};return Object.assign(c,this.options.ticks.format),Kt(e,r,c)},logarithmic(e,t,n){if(e===0)return`0`;let r=n[t].significand||e/10**Math.floor(rt(e));return[1,2,3,5,10,15].includes(r)||t>.8*n.length?qt.numeric.call(this,e,t,n):``}};function Jt(e,t){let n=t.length>3?t[2].value-t[1].value:t[1].value-t[0].value;return Math.abs(n)>=1&&e!==Math.floor(e)&&(n=e-Math.floor(e)),n}var Yt={formatters:qt};function Xt(e){e.set(`scale`,{display:!0,offset:!1,reverse:!1,beginAtZero:!1,bounds:`ticks`,clip:!0,grace:0,grid:{display:!0,lineWidth:1,drawOnChartArea:!0,drawTicks:!0,tickLength:8,tickWidth:(e,t)=>t.lineWidth,tickColor:(e,t)=>t.color,offset:!1},border:{display:!0,dash:[],dashOffset:0,width:1},title:{display:!1,text:``,padding:{top:4,bottom:4}},ticks:{minRotation:0,maxRotation:50,mirror:!1,textStrokeWidth:0,textStrokeColor:``,padding:3,display:!0,autoSkip:!0,autoSkipPadding:3,labelOffset:0,callback:Yt.formatters.values,minor:{},major:{},align:`center`,crossAlign:`near`,showLabelBackdrop:!1,backdropColor:`rgba(255, 255, 255, 0.75)`,backdropPadding:2}}),e.route(`scale.ticks`,`color`,``,`color`),e.route(`scale.grid`,`color`,``,`borderColor`),e.route(`scale.border`,`color`,``,`borderColor`),e.route(`scale.title`,`color`,``,`color`),e.describe(`scale`,{_fallback:!1,_scriptable:e=>!e.startsWith(`before`)&&!e.startsWith(`after`)&&e!==`callback`&&e!==`parser`,_indexable:e=>e!==`borderDash`&&e!==`tickBorderDash`&&e!==`dash`}),e.describe(`scales`,{_fallback:`scale`}),e.describe(`scale.ticks`,{_scriptable:e=>e!==`backdropPadding`&&e!==`callback`,_indexable:e=>e!==`backdropPadding`})}var Zt=Object.create(null),Qt=Object.create(null);function $t(e,t){if(!t)return e;let n=t.split(`.`);for(let t=0,r=n.length;te.chart.platform.getDevicePixelRatio(),this.elements={},this.events=[`mousemove`,`mouseout`,`click`,`touchstart`,`touchmove`],this.font={family:`'Helvetica Neue', 'Helvetica', 'Arial', sans-serif`,size:12,style:`normal`,lineHeight:1.2,weight:null},this.hover={},this.hoverBackgroundColor=(e,t)=>zt(t.backgroundColor),this.hoverBorderColor=(e,t)=>zt(t.borderColor),this.hoverColor=(e,t)=>zt(t.color),this.indexAxis=`x`,this.interaction={mode:`nearest`,intersect:!0,includeInvisible:!1},this.maintainAspectRatio=!0,this.onHover=null,this.onClick=null,this.parsing=!0,this.plugins={},this.responsive=!0,this.scale=void 0,this.scales={},this.showLine=!0,this.drawActiveElementsOnTop=!0,this.describe(e),this.apply(t)}set(e,t){return en(this,e,t)}get(e){return $t(this,e)}describe(e,t){return en(Qt,e,t)}override(e,t){return en(Zt,e,t)}route(e,t,n,r){let i=$t(this,e),a=$t(this,n),o=`_`+t;Object.defineProperties(i,{[o]:{value:i[t],writable:!0},[t]:{enumerable:!0,get(){let e=this[o],t=a[r];return j(e)?Object.assign({},t,e):P(e,t)},set(e){this[o]=e}}})}apply(e){e.forEach(e=>e(this))}}({_scriptable:e=>!e.startsWith(`on`),_indexable:e=>e!==`events`,hover:{_fallback:`interaction`},interaction:{_scriptable:!1,_indexable:!1}},[Ht,Ut,Xt]);function tn(e){return!e||k(e.size)||k(e.family)?null:(e.style?e.style+` `:``)+(e.weight?e.weight+` `:``)+e.size+`px `+e.family}function nn(e,t,n,r,i){let a=t[i];return a||(a=t[i]=e.measureText(i).width,n.push(i)),a>r&&(r=a),r}function rn(e,t,n,r){r||={};let i=r.data=r.data||{},a=r.garbageCollect=r.garbageCollect||[];r.font!==t&&(i=r.data={},a=r.garbageCollect=[],r.font=t),e.save(),e.font=t;let o=0,s=n.length,c,l,u,d,f;for(c=0;cn.length){for(c=0;c0&&e.stroke()}}function ln(e,t,n){return n||=.5,!t||e&&e.x>t.left-n&&e.xt.top-n&&e.y0&&a.strokeColor!==``,c,l;for(e.save(),e.font=i.string,mn(e,a),c=0;c+e||0;function Cn(e,t){let n={},r=j(t),i=r?Object.keys(t):t,a=j(e)?r?n=>P(e[n],e[t[n]]):t=>e[t]:()=>e;for(let e of i)n[e]=Sn(a(e));return n}function wn(e){return Cn(e,{top:`y`,right:`x`,bottom:`y`,left:`x`})}function Tn(e){return Cn(e,[`topLeft`,`topRight`,`bottomLeft`,`bottomRight`])}function q(e){let t=wn(e);return t.width=t.left+t.right,t.height=t.top+t.bottom,t}function J(e,t){e||={},t||=K.font;let n=P(e.size,t.size);typeof n==`string`&&(n=parseInt(n,10));let r=P(e.style,t.style);r&&!(``+r).match(bn)&&(console.warn(`Invalid font style specified: "`+r+`"`),r=void 0);let i={family:P(e.family,t.family),lineHeight:xn(P(e.lineHeight,t.lineHeight),n),size:n,style:r,weight:P(e.weight,t.weight),string:``};return i.string=tn(i),i}function En(e,t,n,r){let i=!0,a,o,s;for(a=0,o=e.length;an&&e===0?0:e+t;return{min:o(r,-Math.abs(a)),max:o(i,a)}}function On(e,t){return Object.assign(Object.create(e),t)}function kn(e,t=[``],n,r,i=()=>e[0]){let a=n||e;return r===void 0&&(r=Gn(`_fallback`,e)),new Proxy({[Symbol.toStringTag]:`Object`,_cacheable:!0,_scopes:e,_rootScopes:a,_fallback:r,_getTarget:i,override:n=>kn([n,...e],t,a,r)},{deleteProperty(t,n){return delete t[n],delete t._keys,delete e[0][n],!0},get(n,r){return Pn(n,r,()=>Wn(r,t,e,n))},getOwnPropertyDescriptor(e,t){return Reflect.getOwnPropertyDescriptor(e._scopes[0],t)},getPrototypeOf(){return Reflect.getPrototypeOf(e[0])},has(e,t){return Kn(e).includes(t)},ownKeys(e){return Kn(e)},set(e,t,n){let r=e._storage||=i();return e[t]=r[t]=n,delete e._keys,!0}})}function An(e,t,n,r){let i={_cacheable:!1,_proxy:e,_context:t,_subProxy:n,_stack:new Set,_descriptors:jn(e,r),setContext:t=>An(e,t,n,r),override:i=>An(e.override(i),t,n,r)};return new Proxy(i,{deleteProperty(t,n){return delete t[n],delete e[n],!0},get(e,t,n){return Pn(e,t,()=>Fn(e,t,n))},getOwnPropertyDescriptor(t,n){return t._descriptors.allKeys?Reflect.has(e,n)?{enumerable:!0,configurable:!0}:void 0:Reflect.getOwnPropertyDescriptor(e,n)},getPrototypeOf(){return Reflect.getPrototypeOf(e)},has(t,n){return Reflect.has(e,n)},ownKeys(){return Reflect.ownKeys(e)},set(t,n,r){return e[n]=r,delete t[n],!0}})}function jn(e,t={scriptable:!0,indexable:!0}){let{_scriptable:n=t.scriptable,_indexable:r=t.indexable,_allKeys:i=t.allKeys}=e;return{allKeys:i,scriptable:n,indexable:r,isScriptable:Ye(n)?n:()=>n,isIndexable:Ye(r)?r:()=>r}}var Mn=(e,t)=>e?e+qe(t):t,Nn=(e,t)=>j(t)&&e!==`adapters`&&(Object.getPrototypeOf(t)===null||t.constructor===Object);function Pn(e,t,n){if(Object.prototype.hasOwnProperty.call(e,t)||t===`constructor`)return e[t];let r=n();return e[t]=r,r}function Fn(e,t,n){let{_proxy:r,_context:i,_subProxy:a,_descriptors:o}=e,s=r[t];return Ye(s)&&o.isScriptable(t)&&(s=In(t,s,e,n)),A(s)&&s.length&&(s=Ln(t,s,e,o.isIndexable)),Nn(t,s)&&(s=An(s,i,a&&a[t],o)),s}function In(e,t,n,r){let{_proxy:i,_context:a,_subProxy:o,_stack:s}=n;if(s.has(e))throw Error(`Recursion detected: `+Array.from(s).join(`->`)+`->`+e);s.add(e);let c=t(a,o||r);return s.delete(e),Nn(e,c)&&(c=Vn(i._scopes,i,e,c)),c}function Ln(e,t,n,r){let{_proxy:i,_context:a,_subProxy:o,_descriptors:s}=n;if(a.index!==void 0&&r(e))return t[a.index%t.length];if(j(t[0])){let n=t,r=i._scopes.filter(e=>e!==n);t=[];for(let c of n){let n=Vn(r,i,e,c);t.push(An(n,a,o&&o[e],s))}}return t}function Rn(e,t,n){return Ye(e)?e(t,n):e}var zn=(e,t)=>e===!0?t:typeof e==`string`?Ke(t,e):void 0;function Bn(e,t,n,r,i){for(let a of t){let t=zn(n,a);if(t){e.add(t);let a=Rn(t._fallback,n,i);if(a!==void 0&&a!==n&&a!==r)return a}else if(t===!1&&r!==void 0&&n!==r)return null}return!1}function Vn(e,t,n,r){let i=t._rootScopes,a=Rn(t._fallback,n,r),o=[...e,...i],s=new Set;s.add(r);let c=Hn(s,o,n,a||n,r);return c===null||a!==void 0&&a!==n&&(c=Hn(s,o,a,c,r),c===null)?!1:kn(Array.from(s),[``],i,a,()=>Un(t,n,r))}function Hn(e,t,n,r,i){for(;n;)n=Bn(e,t,n,r,i);return n}function Un(e,t,n){let r=e._getTarget();t in r||(r[t]={});let i=r[t];return A(i)&&j(n)?n:i||{}}function Wn(e,t,n,r){let i;for(let a of t)if(i=Gn(Mn(a,e),n),i!==void 0)return Nn(e,i)?Vn(n,r,e,i):i}function Gn(e,t){for(let n of t){if(!n)continue;let t=n[e];if(t!==void 0)return t}}function Kn(e){let t=e._keys;return t||=e._keys=qn(e._scopes),t}function qn(e){let t=new Set;for(let n of e)for(let e of Object.keys(n).filter(e=>!e.startsWith(`_`)))t.add(e);return Array.from(t)}function Jn(e,t,n,r){let{iScale:i}=e,{key:a=`r`}=this._parsing,o=Array(r),s,c,l,u;for(s=0,c=r;ste===`x`?`y`:`x`;function Qn(e,t,n,r){let i=e.skip?t:e,a=t,o=n.skip?t:n,s=mt(a,i),c=mt(o,a),l=s/(s+c),u=c/(s+c);l=isNaN(l)?0:l,u=isNaN(u)?0:u;let d=r*l,f=r*u;return{previous:{x:a.x-d*(o.x-i.x),y:a.y-d*(o.y-i.y)},next:{x:a.x+f*(o.x-i.x),y:a.y+f*(o.y-i.y)}}}function $n(e,t,n){let r=e.length,i,a,o,s,c,l=Xn(e,0);for(let u=0;u!e.skip)),t.cubicInterpolationMode===`monotone`)tr(e,i);else{let n=r?e[e.length-1]:e[0];for(a=0,o=e.length;ae.ownerDocument.defaultView.getComputedStyle(e,null);function lr(e,t){return cr(e).getPropertyValue(t)}var ur=[`top`,`right`,`bottom`,`left`];function dr(e,t,n){let r={};n=n?`-`+n:``;for(let i=0;i<4;i++){let a=ur[i];r[a]=parseFloat(e[t+`-`+a+n])||0}return r.width=r.left+r.right,r.height=r.top+r.bottom,r}var fr=(e,t,n)=>(e>0||t>0)&&(!n||!n.shadowRoot);function pr(e,t){let n=e.touches,r=n&&n.length?n[0]:e,{offsetX:i,offsetY:a}=r,o=!1,s,c;if(fr(i,a,e.target))s=i,c=a;else{let e=t.getBoundingClientRect();s=r.clientX-e.left,c=r.clientY-e.top,o=!0}return{x:s,y:c,box:o}}function mr(e,t){if(`native`in e)return e;let{canvas:n,currentDevicePixelRatio:r}=t,i=cr(n),a=i.boxSizing===`border-box`,o=dr(i,`padding`),s=dr(i,`border`,`width`),{x:c,y:l,box:u}=pr(e,n),d=o.left+(u&&s.left),f=o.top+(u&&s.top),{width:p,height:m}=t;return a&&(p-=o.width+s.width,m-=o.height+s.height),{x:Math.round((c-d)/p*n.width/r),y:Math.round((l-f)/m*n.height/r)}}function hr(e,t,n){let r,i;if(t===void 0||n===void 0){let a=e&&or(e);if(!a)t=e.clientWidth,n=e.clientHeight;else{let e=a.getBoundingClientRect(),o=cr(a),s=dr(o,`border`,`width`),c=dr(o,`padding`);t=e.width-c.width-s.width,n=e.height-c.height-s.height,r=sr(o.maxWidth,a,`clientWidth`),i=sr(o.maxHeight,a,`clientHeight`)}}return{width:t,height:n,maxWidth:r||$e,maxHeight:i||$e}}var gr=e=>Math.round(e*10)/10;function _r(e,t,n,r){let i=cr(e),a=dr(i,`margin`),o=sr(i.maxWidth,e,`clientWidth`)||$e,s=sr(i.maxHeight,e,`clientHeight`)||$e,c=hr(e,t,n),{width:l,height:u}=c;if(i.boxSizing===`content-box`){let e=dr(i,`border`,`width`),t=dr(i,`padding`);l-=t.width+e.width,u-=t.height+e.height}return l=Math.max(0,l-a.width),u=Math.max(0,r?l/r:u-a.height),l=gr(Math.min(l,o,c.maxWidth)),u=gr(Math.min(u,s,c.maxHeight)),l&&!u&&(u=gr(l/2)),(t!==void 0||n!==void 0)&&r&&c.height&&u>c.height&&(u=c.height,l=gr(Math.floor(u*r))),{width:l,height:u}}function vr(e,t,n){let r=t||1,i=gr(e.height*r),a=gr(e.width*r);e.height=gr(e.height),e.width=gr(e.width);let o=e.canvas;return o.style&&(n||!o.style.height&&!o.style.width)&&(o.style.height=`${e.height}px`,o.style.width=`${e.width}px`),e.currentDevicePixelRatio!==r||o.height!==i||o.width!==a?(e.currentDevicePixelRatio=r,o.height=i,o.width=a,e.ctx.setTransform(r,0,0,r,0,0),!0):!1}var yr=function(){let e=!1;try{let t={get passive(){return e=!0,!1}};ar()&&(window.addEventListener(`test`,null,t),window.removeEventListener(`test`,null,t))}catch{}return e}();function br(e,t){let n=lr(e,t),r=n&&n.match(/^(\d+)(\.\d+)?px$/);return r?+r[1]:void 0}function xr(e,t,n,r){return{x:e.x+n*(t.x-e.x),y:e.y+n*(t.y-e.y)}}function Sr(e,t,n,r){return{x:e.x+n*(t.x-e.x),y:r===`middle`?n<.5?e.y:t.y:r===`after`?n<1?e.y:t.y:n>0?t.y:e.y}}function Cr(e,t,n,r){let i={x:e.cp2x,y:e.cp2y},a={x:t.cp1x,y:t.cp1y},o=xr(e,i,n),s=xr(i,a,n),c=xr(a,t,n);return xr(xr(o,s,n),xr(s,c,n),n)}var wr=function(e,t){return{x(n){return e+e+t-n},setWidth(e){t=e},textAlign(e){return e===`center`?e:e===`right`?`left`:`right`},xPlus(e,t){return e-t},leftForLtr(e,t){return e-t}}},Tr=function(){return{x(e){return e},setWidth(e){},textAlign(e){return e},xPlus(e,t){return e+t},leftForLtr(e,t){return e}}};function Er(e,t,n){return e?wr(t,n):Tr()}function Dr(e,t){let n,r;(t===`ltr`||t===`rtl`)&&(n=e.canvas.style,r=[n.getPropertyValue(`direction`),n.getPropertyPriority(`direction`)],n.setProperty(`direction`,t,`important`),e.prevTextDirection=r)}function Or(e,t){t!==void 0&&(delete e.prevTextDirection,e.canvas.style.setProperty(`direction`,t[0],t[1]))}function kr(e){return e===`angle`?{between:gt,compare:ht,normalize:H}:{between:W,compare:(e,t)=>e-t,normalize:e=>e}}function Ar({start:e,end:t,count:n,loop:r,style:i}){return{start:e%n,end:t%n,loop:r&&(t-e+1)%n===0,style:i}}function jr(e,t,n){let{property:r,start:i,end:a}=n,{between:o,normalize:s}=kr(r),c=t.length,{start:l,end:u,loop:d}=e,f,p;if(d){for(l+=c,u+=c,f=0,p=c;fc(i,y,_)&&s(i,y)!==0,x=()=>s(a,_)===0||c(a,y,_),S=()=>h||b(),C=()=>!h||x();for(let e=u,n=u;e<=d;++e)v=t[e%o],!v.skip&&(_=l(v[r]),_!==y&&(h=c(_,i,a),g===null&&S()&&(g=s(_,i)===0?e:n),g!==null&&C()&&(m.push(Ar({start:g,end:e,loop:f,count:o,style:p})),g=null),n=e,y=_));return g!==null&&m.push(Ar({start:g,end:d,loop:f,count:o,style:p})),m}function Nr(e,t){let n=[],r=e.segments;for(let i=0;ii&&e[a%t].skip;)a--;return a%=t,{start:i,end:a}}function Fr(e,t,n,r){let i=e.length,a=[],o=t,s=e[t],c;for(c=t+1;c<=n;++c){let n=e[c%i];n.skip||n.stop?s.skip||(r=!1,a.push({start:t%i,end:(c-1)%i,loop:r}),t=o=n.stop?c:null):(o=c,s.skip&&(t=c)),s=n}return o!==null&&a.push({start:t%i,end:o%i,loop:r}),a}function Ir(e,t){let n=e.points,r=e.options.spanGaps,i=n.length;if(!i)return[];let a=!!e._loop,{start:o,end:s}=Pr(n,i,a,r);return r===!0?Lr(e,[{start:o,end:s,loop:a}],n,t):Lr(e,Fr(n,o,sr({chart:e,initial:t.initial,numSteps:a,currentStep:Math.min(n-t.start,a)}))}_refresh(){this._request||=(this._running=!0,Et.call(window,()=>{this._update(),this._request=null,this._running&&this._refresh()}))}_update(e=Date.now()){let t=0;this._charts.forEach((n,r)=>{if(!n.running||!n.items.length)return;let i=n.items,a=i.length-1,o=!1,s;for(;a>=0;--a)s=i[a],s._active?(s._total>n.duration&&(n.duration=s._total),s.tick(e),o=!0):(i[a]=i[i.length-1],i.pop());o&&(r.draw(),this._notify(r,n,e,`progress`)),i.length||(n.running=!1,this._notify(r,n,e,`complete`),n.initial=!1),t+=i.length}),this._lastDate=e,t===0&&(this._running=!1)}_getAnims(e){let t=this._charts,n=t.get(e);return n||(n={running:!1,initial:!0,items:[],listeners:{complete:[],progress:[]}},t.set(e,n)),n}listen(e,t,n){this._getAnims(e).listeners[t].push(n)}add(e,t){!t||!t.length||this._getAnims(e).items.push(...t)}has(e){return this._getAnims(e).items.length>0}start(e){let t=this._charts.get(e);t&&(t.running=!0,t.start=Date.now(),t.duration=t.items.reduce((e,t)=>Math.max(e,t._duration),0),this._refresh())}running(e){if(!this._running)return!1;let t=this._charts.get(e);return!(!t||!t.running||!t.items.length)}stop(e){let t=this._charts.get(e);if(!t||!t.items.length)return;let n=t.items,r=n.length-1;for(;r>=0;--r)n[r].cancel();t.items=[],this._notify(e,t,Date.now(),`complete`)}remove(e){return this._charts.delete(e)}},Gr=`transparent`,Kr={boolean(e,t,n){return n>.5?t:e},color(e,t,n){let r=Rt(e||Gr),i=r.valid&&Rt(t||Gr);return i&&i.valid?i.mix(r,n).hexString():t},number(e,t,n){return e+(t-e)*n}},qr=class{constructor(e,t,n,r){let i=t[n];r=En([e.to,r,i,e.from]);let a=En([e.from,i,r]);this._active=!0,this._fn=e.fn||Kr[e.type||typeof a],this._easing=It[e.easing]||It.linear,this._start=Math.floor(Date.now()+(e.delay||0)),this._duration=this._total=Math.floor(e.duration),this._loop=!!e.loop,this._target=t,this._prop=n,this._from=a,this._to=r,this._promises=void 0}active(){return this._active}update(e,t,n){if(this._active){this._notify(!1);let r=this._target[this._prop],i=n-this._start,a=this._duration-i;this._start=n,this._duration=Math.floor(Math.max(a,e.duration)),this._total+=i,this._loop=!!e.loop,this._to=En([e.to,t,r,e.from]),this._from=En([e.from,r,t])}}cancel(){this._active&&(this.tick(Date.now()),this._active=!1,this._notify(!1))}tick(e){let t=e-this._start,n=this._duration,r=this._prop,i=this._from,a=this._loop,o=this._to,s;if(this._active=i!==o&&(a||t1?2-s:s,s=this._easing(Math.min(1,Math.max(0,s))),this._target[r]=this._fn(i,o,s)}wait(){let e=this._promises||=[];return new Promise((t,n)=>{e.push({res:t,rej:n})})}_notify(e){let t=e?`res`:`rej`,n=this._promises||[];for(let e=0;e{let i=e[r];if(!j(i))return;let a={};for(let e of t)a[e]=i[e];(A(i.properties)&&i.properties||[r]).forEach(e=>{(e===r||!n.has(e))&&n.set(e,a)})})}_animateOptions(e,t){let n=t.options,r=Xr(e,n);if(!r)return[];let i=this._createAnimations(r,n);return n.$shared&&Yr(e.options.$animations,n).then(()=>{e.options=n},()=>{}),i}_createAnimations(e,t){let n=this._properties,r=[],i=e.$animations||={},a=Object.keys(t),o=Date.now(),s;for(s=a.length-1;s>=0;--s){let c=a[s];if(c.charAt(0)===`$`)continue;if(c===`options`){r.push(...this._animateOptions(e,t));continue}let l=t[c],u=i[c],d=n.get(c);if(u)if(d&&u.active()){u.update(d,l,o);continue}else u.cancel();if(!d||!d.duration){e[c]=l;continue}i[c]=u=new qr(d,e,c,l),r.push(u)}return r}update(e,t){if(this._properties.size===0){Object.assign(e,t);return}let n=this._createAnimations(e,t);if(n.length)return Wr.add(this._chart,n),!0}};function Yr(e,t){let n=[],r=Object.keys(t);for(let t=0;t0||!n&&t<0)return i.index}return null}function ci(e,t){let{chart:n,_cachedMeta:r}=e,i=n._stacks||={},{iScale:a,vScale:o,index:s}=r,c=a.axis,l=o.axis,u=ii(a,o,r),d=t.length,f;for(let e=0;en[e].axis===t).shift()}function ui(e,t){return On(e,{active:!1,dataset:void 0,datasetIndex:t,index:t,mode:`default`,type:`dataset`})}function di(e,t,n){return On(e,{active:!1,dataIndex:t,parsed:void 0,raw:void 0,element:n,index:t,mode:`default`,type:`data`})}function fi(e,t){let n=e.controller.index,r=e.vScale&&e.vScale.axis;if(r){t||=e._parsed;for(let e of t){let t=e._stacks;if(!t||t[r]===void 0||t[r][n]===void 0)return;delete t[r][n],t[r]._visualValues!==void 0&&t[r]._visualValues[n]!==void 0&&delete t[r]._visualValues[n]}}}var pi=e=>e===`reset`||e===`none`,mi=(e,t)=>t?e:Object.assign({},e),hi=(e,t,n)=>e&&!t.hidden&&t._stacked&&{keys:ei(n,!0),values:null},gi=class{static defaults={};static datasetElementType=null;static dataElementType=null;constructor(e,t){this.chart=e,this._ctx=e.ctx,this.index=t,this._cachedDataOpts={},this._cachedMeta=this.getMeta(),this._type=this._cachedMeta.type,this.options=void 0,this._parsing=!1,this._data=void 0,this._objectData=void 0,this._sharedOptions=void 0,this._drawStart=void 0,this._drawCount=void 0,this.enableOptionSharing=!1,this.supportsDecimation=!1,this.$context=void 0,this._syncList=[],this.datasetElementType=new.target.datasetElementType,this.dataElementType=new.target.dataElementType,this.initialize()}initialize(){let e=this._cachedMeta;this.configure(),this.linkScales(),e._stacked=ri(e.vScale,e),this.addElements(),this.options.fill&&!this.chart.isPluginEnabled(`filler`)&&console.warn(`Tried to use the 'fill' option without the 'Filler' plugin enabled. Please import and register the 'Filler' plugin and make sure it is not disabled in the options`)}updateIndex(e){this.index!==e&&fi(this._cachedMeta),this.index=e}linkScales(){let e=this.chart,t=this._cachedMeta,n=this.getDataset(),r=(e,t,n,r)=>e===`x`?t:e===`r`?r:n,i=t.xAxisID=P(n.xAxisID,li(e,`x`)),a=t.yAxisID=P(n.yAxisID,li(e,`y`)),o=t.rAxisID=P(n.rAxisID,li(e,`r`)),s=t.indexAxis,c=t.iAxisID=r(s,i,a,o),l=t.vAxisID=r(s,a,i,o);t.xScale=this.getScaleForId(i),t.yScale=this.getScaleForId(a),t.rScale=this.getScaleForId(o),t.iScale=this.getScaleForId(c),t.vScale=this.getScaleForId(l)}getDataset(){return this.chart.data.datasets[this.index]}getMeta(){return this.chart.getDatasetMeta(this.index)}getScaleForId(e){return this.chart.scales[e]}_getOtherScale(e){let t=this._cachedMeta;return e===t.iScale?t.vScale:t.iScale}reset(){this._update(`reset`)}_destroy(){let e=this._cachedMeta;this._data&&wt(this._data,this),e._stacked&&fi(e)}_dataCheck(){let e=this.getDataset(),t=e.data||=[],n=this._data;if(j(t)){let e=this._cachedMeta;this._data=ni(t,e)}else if(n!==t){if(n){wt(n,this);let e=this._cachedMeta;fi(e),e._parsed=[]}t&&Object.isExtensible(t)&&Ct(t,this),this._syncList=[],this._data=t}}addElements(){let e=this._cachedMeta;this._dataCheck(),this.datasetElementType&&(e.dataset=new this.datasetElementType)}buildOrUpdateElements(e){let t=this._cachedMeta,n=this.getDataset(),r=!1;this._dataCheck();let i=t._stacked;t._stacked=ri(t.vScale,t),t.stack!==n.stack&&(r=!0,fi(t),t.stack=n.stack),this._resyncElements(e),(r||i!==t._stacked)&&(ci(this,t._parsed),t._stacked=ri(t.vScale,t))}configure(){let e=this.chart.config,t=e.datasetScopeKeys(this._type),n=e.getOptionScopes(this.getDataset(),t,!0);this.options=e.createResolver(n,this.getContext()),this._parsing=this.options.parsing,this._cachedDataOpts={}}parse(e,t){let{_cachedMeta:n,_data:r}=this,{iScale:i,_stacked:a}=n,o=i.axis,s=e===0&&t===r.length?!0:n._sorted,c=e>0&&n._parsed[e-1],l,u,d;if(this._parsing===!1)n._parsed=r,n._sorted=!0,d=r;else{d=A(r[e])?this.parseArrayData(n,r,e,t):j(r[e])?this.parseObjectData(n,r,e,t):this.parsePrimitiveData(n,r,e,t);let i=()=>u[o]===null||c&&u[o]t||u=0;--d)if(!p()){this.updateRangeFromParsed(c,e,f,s);break}}return c}getAllParsedValues(e){let t=this._cachedMeta._parsed,n=[],r,i,a;for(r=0,i=t.length;r=0&&ethis.getContext(n,r,t),u);return p.$shared&&(p.$shared=s,i[a]=Object.freeze(mi(p,s))),p}_resolveAnimations(e,t,n){let r=this.chart,i=this._cachedDataOpts,a=`animation-${t}`,o=i[a];if(o)return o;let s;if(r.options.animation!==!1){let r=this.chart.config,i=r.datasetAnimationScopeKeys(this._type,t),a=r.getOptionScopes(this.getDataset(),i);s=r.createResolver(a,this.getContext(e,n,t))}let c=new Jr(r,s&&s.animations);return s&&s._cacheable&&(i[a]=Object.freeze(c)),c}getSharedOptions(e){if(e.$shared)return this._sharedOptions||=Object.assign({},e)}includeOptions(e,t){return!t||pi(e)||this.chart._animationsDisabled}_getSharedOptions(e,t){let n=this.resolveDataElementOptions(e,t),r=this._sharedOptions,i=this.getSharedOptions(n),a=this.includeOptions(t,i)||i!==r;return this.updateSharedOptions(i,t,n),{sharedOptions:i,includeOptions:a}}updateElement(e,t,n,r){pi(r)?Object.assign(e,n):this._resolveAnimations(t,r).update(e,n)}updateSharedOptions(e,t,n){e&&!pi(t)&&this._resolveAnimations(void 0,t).update(e,n)}_setStyle(e,t,n,r){e.active=r;let i=this.getStyle(t,r);this._resolveAnimations(t,n,r).update(e,{options:!r&&this.getSharedOptions(i)||i})}removeHoverStyle(e,t,n){this._setStyle(e,n,`active`,!1)}setHoverStyle(e,t,n){this._setStyle(e,n,`active`,!0)}_removeDatasetHoverStyle(){let e=this._cachedMeta.dataset;e&&this._setStyle(e,void 0,`active`,!1)}_setDatasetHoverStyle(){let e=this._cachedMeta.dataset;e&&this._setStyle(e,void 0,`active`,!0)}_resyncElements(e){let t=this._data,n=this._cachedMeta.data;for(let[e,t,n]of this._syncList)this[e](t,n);this._syncList=[];let r=n.length,i=t.length,a=Math.min(i,r);a&&this.parse(0,a),i>r?this._insertElements(r,i-r,e):i{for(e.length+=t,o=e.length-1;o>=a;o--)e[o]=e[o-t]};for(s(i),o=e;oe-t))}return e._cache.$bar}function vi(e){let t=e.iScale,n=_i(t,e.type),r=t._length,i,a,o,s,c=()=>{o===32767||o===-32768||(Je(s)&&(r=Math.min(r,Math.abs(o-s)||r)),s=o)};for(i=0,a=n.length;i0?i[e-1]:null,s=eMath.abs(s)&&(c=s,l=o),t[n.axis]=l,t._custom={barStart:c,barEnd:l,start:i,end:a,min:o,max:s}}function Si(e,t,n,r){return A(e)?xi(e,t,n,r):t[n.axis]=n.parse(e,r),t}function Ci(e,t,n,r){let i=e.iScale,a=e.vScale,o=i.getLabels(),s=i===a,c=[],l,u,d,f;for(l=n,u=n+r;l=n?1:-1):B(e)}function Ei(e){let t,n,r,i,a;return e.horizontal?(t=e.base>e.x,n=`left`,r=`right`):(t=e.basee.controller.options.grouped),i=n.options.stacked,a=[],o=this._cachedMeta.controller.getParsed(t),s=o&&o[n.axis],c=e=>{let t=e._parsed.find(e=>e[n.axis]===s),r=t&&t[e.vScale.axis];if(k(r)||isNaN(r))return!0};for(let n of r)if(!(t!==void 0&&c(n))&&((i===!1||a.indexOf(n.stack)===-1||i===void 0&&n.stack===void 0)&&a.push(n.stack),n.index===e))break;return a.length||a.push(void 0),a}_getStackCount(e){return this._getStacks(void 0,e).length}_getAxisCount(){return this._getAxis().length}getFirstScaleIdForIndexAxis(){let e=this.chart.scales,t=this.chart.options.indexAxis;return Object.keys(e).filter(n=>e[n].axis===t).shift()}_getAxis(){let e={},t=this.getFirstScaleIdForIndexAxis();for(let n of this.chart.data.datasets)e[P(this.chart.options.indexAxis===`x`?n.xAxisID:n.yAxisID,t)]=!0;return Object.keys(e)}_getStackIndex(e,t,n){let r=this._getStacks(e,n),i=t===void 0?-1:r.indexOf(t);return i===-1?r.length-1:i}_getRuler(){let e=this.options,t=this._cachedMeta,n=t.iScale,r=[],i,a;for(i=0,a=t.data.length;i=0;--n)t=Math.max(t,e[n].size(this.resolveDataElementOptions(n))/2);return t>0&&t}getLabelAndValue(e){let t=this._cachedMeta,n=this.chart.data.labels||[],{xScale:r,yScale:i}=t,a=this.getParsed(e),o=r.getLabelForValue(a.x),s=i.getLabelForValue(a.y),c=a._custom;return{label:n[e]||``,value:`(`+o+`, `+s+(c?`, `+c:``)+`)`}}update(e){let t=this._cachedMeta.data;this.updateElements(t,0,t.length,e)}updateElements(e,t,n,r){let i=r===`reset`,{iScale:a,vScale:o}=this._cachedMeta,{sharedOptions:s,includeOptions:c}=this._getSharedOptions(t,r),l=a.axis,u=o.axis;for(let d=t;dgt(e,s,c,!0)?1:Math.max(t,t*n,r,r*n),m=(e,t,r)=>gt(e,s,c,!0)?-1:Math.min(t,t*n,r,r*n),h=p(0,l,d),g=p(z,u,f),_=m(L,l,d),v=m(L+z,u,f);r=(h-_)/2,i=(g-v)/2,a=-(h+_)/2,o=-(g+v)/2}return{ratioX:r,ratioY:i,offsetX:a,offsetY:o}}var Fi=class extends gi{static id=`doughnut`;static defaults={datasetElementType:!1,dataElementType:`arc`,animation:{animateRotate:!0,animateScale:!1},animations:{numbers:{type:`number`,properties:[`circumference`,`endAngle`,`innerRadius`,`outerRadius`,`startAngle`,`x`,`y`,`offset`,`borderWidth`,`spacing`]}},cutout:`50%`,rotation:0,circumference:360,radius:`100%`,spacing:0,indexAxis:`r`};static descriptors={_scriptable:e=>e!==`spacing`,_indexable:e=>e!==`spacing`&&!e.startsWith(`borderDash`)&&!e.startsWith(`hoverBorderDash`)};static overrides={aspectRatio:1,plugins:{legend:{labels:{generateLabels(e){let t=e.data,{labels:{pointStyle:n,textAlign:r,color:i,useBorderRadius:a,borderRadius:o}}=e.legend.options;return t.labels.length&&t.datasets.length?t.labels.map((t,s)=>{let c=e.getDatasetMeta(0).controller.getStyle(s);return{text:t,fillStyle:c.backgroundColor,fontColor:i,hidden:!e.getDataVisibility(s),lineDash:c.borderDash,lineDashOffset:c.borderDashOffset,lineJoin:c.borderJoinStyle,lineWidth:c.borderWidth,strokeStyle:c.borderColor,textAlign:r,pointStyle:n,borderRadius:a&&(o||c.borderRadius),index:s}}):[]}},onClick(e,t,n){n.chart.toggleDataVisibility(t.index),n.chart.update()}}}};constructor(e,t){super(e,t),this.enableOptionSharing=!0,this.innerRadius=void 0,this.outerRadius=void 0,this.offsetX=void 0,this.offsetY=void 0}linkScales(){}parse(e,t){let n=this.getDataset().data,r=this._cachedMeta;if(this._parsing===!1)r._parsed=n;else{let i=e=>+n[e];if(j(n[e])){let{key:e=`value`}=this._parsing;i=t=>+Ke(n[t],e)}let a,o;for(a=e,o=e+t;a0&&!isNaN(e)?Math.abs(e)/t*R:0}getLabelAndValue(e){let t=this._cachedMeta,n=this.chart,r=n.data.labels||[],i=Kt(t._parsed[e],n.options.locale);return{label:r[e]||``,value:i}}getMaxBorderWidth(e){let t=0,n=this.chart,r,i,a,o,s;if(!e){for(r=0,i=n.data.datasets.length;r0&&this.getParsed(t-1);for(let n=0;n=_){v.skip=!0;continue}let b=this.getParsed(n),x=k(b[f]),S=v[d]=a.getPixelForValue(b[d],n),C=v[f]=i||x?o.getBasePixel():o.getPixelForValue(s?this.applyStack(o,b,s):b[f],n);v.skip=isNaN(S)||isNaN(C)||x,v.stop=n>0&&Math.abs(b[d]-y[d])>h,m&&(v.parsed=b,v.raw=c.data[n]),u&&(v.options=l||this.resolveDataElementOptions(n,p.active?`active`:r)),g||this.updateElement(p,n,v,r),y=b}}getMaxOverflow(){let e=this._cachedMeta,t=e.dataset,n=t.options&&t.options.borderWidth||0,r=e.data||[];if(!r.length)return n;let i=r[0].size(this.resolveDataElementOptions(0)),a=r[r.length-1].size(this.resolveDataElementOptions(r.length-1));return Math.max(n,i,a)/2}draw(){let e=this._cachedMeta;e.dataset.updateControlPoints(this.chart.chartArea,e.iScale.axis),super.draw()}},Li=class extends gi{static id=`polarArea`;static defaults={dataElementType:`arc`,animation:{animateRotate:!0,animateScale:!0},animations:{numbers:{type:`number`,properties:[`x`,`y`,`startAngle`,`endAngle`,`innerRadius`,`outerRadius`]}},indexAxis:`r`,startAngle:0};static overrides={aspectRatio:1,plugins:{legend:{labels:{generateLabels(e){let t=e.data;if(t.labels.length&&t.datasets.length){let{labels:{pointStyle:n,color:r}}=e.legend.options;return t.labels.map((t,i)=>{let a=e.getDatasetMeta(0).controller.getStyle(i);return{text:t,fillStyle:a.backgroundColor,strokeStyle:a.borderColor,fontColor:r,lineWidth:a.borderWidth,pointStyle:n,hidden:!e.getDataVisibility(i),index:i}})}return[]}},onClick(e,t,n){n.chart.toggleDataVisibility(t.index),n.chart.update()}}},scales:{r:{type:`radialLinear`,angleLines:{display:!1},beginAtZero:!0,grid:{circular:!0},pointLabels:{display:!1},startAngle:0}}};constructor(e,t){super(e,t),this.innerRadius=void 0,this.outerRadius=void 0}getLabelAndValue(e){let t=this._cachedMeta,n=this.chart,r=n.data.labels||[],i=Kt(t._parsed[e].r,n.options.locale);return{label:r[e]||``,value:i}}parseObjectData(e,t,n,r){return Jn.bind(this)(e,t,n,r)}update(e){let t=this._cachedMeta.data;this._updateRadius(),this.updateElements(t,0,t.length,e)}getMinMax(){let e=this._cachedMeta,t={min:1/0,max:-1/0};return e.data.forEach((e,n)=>{let r=this.getParsed(n).r;!isNaN(r)&&this.chart.getDataVisibility(n)&&(rt.max&&(t.max=r))}),t}_updateRadius(){let e=this.chart,t=e.chartArea,n=e.options,r=Math.min(t.right-t.left,t.bottom-t.top),i=Math.max(r/2,0),a=(i-Math.max(n.cutoutPercentage?i/100*n.cutoutPercentage:1,0))/e.getVisibleDatasetCount();this.outerRadius=i-a*this.index,this.innerRadius=this.outerRadius-a}updateElements(e,t,n,r){let i=r===`reset`,a=this.chart,o=a.options.animation,s=this._cachedMeta.rScale,c=s.xCenter,l=s.yCenter,u=s.getIndexAngle(0)-.5*L,d=u,f,p=360/this.countVisibleElements();for(f=0;f{!isNaN(this.getParsed(n).r)&&this.chart.getDataVisibility(n)&&t++}),t}_computeAngle(e,t,n){return this.chart.getDataVisibility(e)?V(this.resolveDataElementOptions(e,t).angle||n):0}},Ri=Object.freeze({__proto__:null,BarController:Mi,BubbleController:Ni,DoughnutController:Fi,LineController:Ii,PieController:class extends Fi{static id=`pie`;static defaults={cutout:0,rotation:0,circumference:360,radius:`100%`}},PolarAreaController:Li,RadarController:class extends gi{static id=`radar`;static defaults={datasetElementType:`line`,dataElementType:`point`,indexAxis:`r`,showLine:!0,elements:{line:{fill:`start`}}};static overrides={aspectRatio:1,scales:{r:{type:`radialLinear`}}};getLabelAndValue(e){let t=this._cachedMeta.vScale,n=this.getParsed(e);return{label:t.getLabels()[e],value:``+t.getLabelForValue(n[t.axis])}}parseObjectData(e,t,n,r){return Jn.bind(this)(e,t,n,r)}update(e){let t=this._cachedMeta,n=t.dataset,r=t.data||[],i=t.iScale.getLabels();if(n.points=r,e!==`resize`){let t=this.resolveDatasetElementOptions(e);this.options.showLine||(t.borderWidth=0);let a={_loop:!0,_fullLoop:i.length===r.length,options:t};this.updateElement(n,void 0,a,e)}this.updateElements(r,0,r.length,e)}updateElements(e,t,n,r){let i=this._cachedMeta.rScale,a=r===`reset`;for(let o=t;o0&&this.getParsed(t-1);for(let l=t;l0&&Math.abs(n[f]-v[f])>g,h&&(m.parsed=n,m.raw=c.data[l]),d&&(m.options=u||this.resolveDataElementOptions(l,t.active?`active`:r)),_||this.updateElement(t,l,m,r),v=n}this.updateSharedOptions(u,r,l)}getMaxOverflow(){let e=this._cachedMeta,t=e.data||[];if(!this.options.showLine){let e=0;for(let n=t.length-1;n>=0;--n)e=Math.max(e,t[n].size(this.resolveDataElementOptions(n))/2);return e>0&&e}let n=e.dataset,r=n.options&&n.options.borderWidth||0;if(!t.length)return r;let i=t[0].size(this.resolveDataElementOptions(0)),a=t[t.length-1].size(this.resolveDataElementOptions(t.length-1));return Math.max(r,i,a)/2}}});function zi(){throw Error(`This method is not implemented: Check that a complete date adapter is provided.`)}var Bi={_date:class e{static override(t){Object.assign(e.prototype,t)}options;constructor(e){this.options=e||{}}init(){}formats(){return zi()}parse(){return zi()}format(){return zi()}add(){return zi()}diff(){return zi()}startOf(){return zi()}endOf(){return zi()}}};function Vi(e,t,n,r){let{controller:i,data:a,_sorted:o}=e,s=i._cachedMeta.iScale,c=e.dataset&&e.dataset.options?e.dataset.options.spanGaps:null;if(s&&t===s.axis&&t!==`r`&&o&&a.length){let o=s._reversePixels?bt:yt;if(!r){let r=o(a,t,n);if(c){let{vScale:t}=i._cachedMeta,{_parsed:n}=e,a=n.slice(0,r.lo+1).reverse().findIndex(e=>!k(e[t.axis]));r.lo-=Math.max(0,a);let o=n.slice(r.hi).findIndex(e=>!k(e[t.axis]));r.hi+=Math.max(0,o)}return r}else if(i._sharedOptions){let e=a[0],r=typeof e.getRange==`function`&&e.getRange(t);if(r){let e=o(a,t,n-r),i=o(a,t,n+r);return{lo:e.lo,hi:i.hi}}}}return{lo:0,hi:a.length-1}}function Hi(e,t,n,r,i){let a=e.getSortedVisibleDatasetMetas(),o=n[t];for(let e=0,n=a.length;e{e[o]&&e[o](t[n],i)&&(a.push({element:e,datasetIndex:r,index:c}),s||=e.inRange(t.x,t.y,i))}),r&&!s?[]:a}var Yi={evaluateInteractionItems:Hi,modes:{index(e,t,n,r){let i=mr(t,e),a=n.axis||`x`,o=n.includeInvisible||!1,s=n.intersect?Wi(e,i,a,r,o):qi(e,i,a,!1,r,o),c=[];return s.length?(e.getSortedVisibleDatasetMetas().forEach(e=>{let t=s[0].index,n=e.data[t];n&&!n.skip&&c.push({element:n,datasetIndex:e.index,index:t})}),c):[]},dataset(e,t,n,r){let i=mr(t,e),a=n.axis||`xy`,o=n.includeInvisible||!1,s=n.intersect?Wi(e,i,a,r,o):qi(e,i,a,!1,r,o);if(s.length>0){let t=s[0].datasetIndex,n=e.getDatasetMeta(t).data;s=[];for(let e=0;ee.pos===t)}function Qi(e,t){return e.filter(e=>Xi.indexOf(e.pos)===-1&&e.box.axis===t)}function $i(e,t){return e.sort((e,n)=>{let r=t?n:e,i=t?e:n;return r.weight===i.weight?r.index-i.index:r.weight-i.weight})}function ea(e){let t=[],n,r,i,a,o,s;for(n=0,r=(e||[]).length;ne.box.fullSize),!0),r=$i(Zi(t,`left`),!0),i=$i(Zi(t,`right`)),a=$i(Zi(t,`top`),!0),o=$i(Zi(t,`bottom`)),s=Qi(t,`x`),c=Qi(t,`y`);return{fullSize:n,leftAndTop:r.concat(a),rightAndBottom:i.concat(c).concat(o).concat(s),chartArea:Zi(t,`chartArea`),vertical:r.concat(i).concat(c),horizontal:a.concat(o).concat(s)}}function ia(e,t,n,r){return Math.max(e[n],t[n])+Math.max(e[r],t[r])}function aa(e,t){e.top=Math.max(e.top,t.top),e.left=Math.max(e.left,t.left),e.bottom=Math.max(e.bottom,t.bottom),e.right=Math.max(e.right,t.right)}function oa(e,t,n,r){let{pos:i,box:a}=n,o=e.maxPadding;if(!j(i)){n.size&&(e[i]-=n.size);let t=r[n.stack]||{size:0,count:1};t.size=Math.max(t.size,n.horizontal?a.height:a.width),n.size=t.size/t.count,e[i]+=n.size}a.getPadding&&aa(o,a.getPadding());let s=Math.max(0,t.outerWidth-ia(o,e,`left`,`right`)),c=Math.max(0,t.outerHeight-ia(o,e,`top`,`bottom`)),l=s!==e.w,u=c!==e.h;return e.w=s,e.h=c,n.horizontal?{same:l,other:u}:{same:u,other:l}}function sa(e){let t=e.maxPadding;function n(n){let r=Math.max(t[n]-e[n],0);return e[n]+=r,r}e.y+=n(`top`),e.x+=n(`left`),n(`right`),n(`bottom`)}function ca(e,t){let n=t.maxPadding;function r(e){let r={left:0,top:0,right:0,bottom:0};return e.forEach(e=>{r[e]=Math.max(t[e],n[e])}),r}return r(e?[`left`,`right`]:[`top`,`bottom`])}function la(e,t,n,r){let i=[],a,o,s,c,l,u;for(a=0,o=e.length,l=0;a{typeof e.beforeLayout==`function`&&e.beforeLayout()});let u=c.reduce((e,t)=>t.box.options&&t.box.options.display===!1?e:e+1,0)||1,d=Object.freeze({outerWidth:t,outerHeight:n,padding:i,availableWidth:a,availableHeight:o,vBoxMaxWidth:a/2/u,hBoxMaxHeight:o/2}),f=Object.assign({},i);aa(f,q(r));let p=Object.assign({maxPadding:f,w:a,h:o,x:i.left,y:i.top},i),m=na(c.concat(l),d);la(s.fullSize,p,d,m),la(c,p,d,m),la(l,p,d,m)&&la(c,p,d,m),sa(p),da(s.leftAndTop,p,d,m),p.x+=p.w,p.y+=p.h,da(s.rightAndBottom,p,d,m),e.chartArea={left:p.left,top:p.top,right:p.left+p.w,bottom:p.top+p.h,height:p.h,width:p.w},I(s.chartArea,t=>{let n=t.box;Object.assign(n,e.chartArea),n.update(p.w,p.h,{left:0,top:0,right:0,bottom:0})})}},fa=class{acquireContext(e,t){}releaseContext(e){return!1}addEventListener(e,t,n){}removeEventListener(e,t,n){}getDevicePixelRatio(){return 1}getMaximumSize(e,t,n,r){return t=Math.max(0,t||e.width),n||=e.height,{width:t,height:Math.max(0,r?Math.floor(t/r):n)}}isAttached(e){return!0}updateConfig(e){}},pa=class extends fa{acquireContext(e){return e&&e.getContext&&e.getContext(`2d`)||null}updateConfig(e){e.options.animation=!1}},ma=`$chartjs`,ha={touchstart:`mousedown`,touchmove:`mousemove`,touchend:`mouseup`,pointerenter:`mouseenter`,pointerdown:`mousedown`,pointermove:`mousemove`,pointerup:`mouseup`,pointerleave:`mouseout`,pointerout:`mouseout`},ga=e=>e===null||e===``;function _a(e,t){let n=e.style,r=e.getAttribute(`height`),i=e.getAttribute(`width`);if(e[ma]={initial:{height:r,width:i,style:{display:n.display,height:n.height,width:n.width}}},n.display=n.display||`block`,n.boxSizing=n.boxSizing||`border-box`,ga(i)){let t=br(e,`width`);t!==void 0&&(e.width=t)}if(ga(r))if(e.style.height===``)e.height=e.width/(t||2);else{let t=br(e,`height`);t!==void 0&&(e.height=t)}return e}var va=yr?{passive:!0}:!1;function ya(e,t,n){e&&e.addEventListener(t,n,va)}function ba(e,t,n){e&&e.canvas&&e.canvas.removeEventListener(t,n,va)}function xa(e,t){let n=ha[e.type]||e.type,{x:r,y:i}=mr(e,t);return{type:n,chart:t,native:e,x:r===void 0?null:r,y:i===void 0?null:i}}function Sa(e,t){for(let n of e)if(n===t||n.contains(t))return!0}function Ca(e,t,n){let r=e.canvas,i=new MutationObserver(e=>{let t=!1;for(let n of e)t||=Sa(n.addedNodes,r),t&&=!Sa(n.removedNodes,r);t&&n()});return i.observe(document,{childList:!0,subtree:!0}),i}function wa(e,t,n){let r=e.canvas,i=new MutationObserver(e=>{let t=!1;for(let n of e)t||=Sa(n.removedNodes,r),t&&=!Sa(n.addedNodes,r);t&&n()});return i.observe(document,{childList:!0,subtree:!0}),i}var Ta=new Map,Ea=0;function Da(){let e=window.devicePixelRatio;e!==Ea&&(Ea=e,Ta.forEach((t,n)=>{n.currentDevicePixelRatio!==e&&t()}))}function Oa(e,t){Ta.size||window.addEventListener(`resize`,Da),Ta.set(e,t)}function ka(e){Ta.delete(e),Ta.size||window.removeEventListener(`resize`,Da)}function Aa(e,t,n){let r=e.canvas,i=r&&or(r);if(!i)return;let a=Dt((e,t)=>{let r=i.clientWidth;n(e,t),r{let t=e[0],n=t.contentRect.width,r=t.contentRect.height;n===0&&r===0||a(n,r)});return o.observe(i),Oa(e,a),o}function ja(e,t,n){n&&n.disconnect(),t===`resize`&&ka(e)}function Ma(e,t,n){let r=e.canvas,i=Dt(t=>{e.ctx!==null&&n(xa(t,e))},e);return ya(r,t,i),i}var Na=class extends fa{acquireContext(e,t){let n=e&&e.getContext&&e.getContext(`2d`);return n&&n.canvas===e?(_a(e,t),n):null}releaseContext(e){let t=e.canvas;if(!t[ma])return!1;let n=t[ma].initial;[`height`,`width`].forEach(e=>{let r=n[e];k(r)?t.removeAttribute(e):t.setAttribute(e,r)});let r=n.style||{};return Object.keys(r).forEach(e=>{t.style[e]=r[e]}),t.width=t.width,delete t[ma],!0}addEventListener(e,t,n){this.removeEventListener(e,t);let r=e.$proxies||={};r[t]=({attach:Ca,detach:wa,resize:Aa}[t]||Ma)(e,t,n)}removeEventListener(e,t){let n=e.$proxies||={},r=n[t];r&&(({attach:ja,detach:ja,resize:ja}[t]||ba)(e,t,r),n[t]=void 0)}getDevicePixelRatio(){return window.devicePixelRatio}getMaximumSize(e,t,n,r){return _r(e,t,n,r)}isAttached(e){let t=e&&or(e);return!!(t&&t.isConnected)}};function Pa(e){return!ar()||typeof OffscreenCanvas<`u`&&e instanceof OffscreenCanvas?pa:Na}var Fa=class{static defaults={};static defaultRoutes=void 0;x;y;active=!1;options;$animations;tooltipPosition(e){let{x:t,y:n}=this.getProps([`x`,`y`],e);return{x:t,y:n}}hasValue(){return ct(this.x)&&ct(this.y)}getProps(e,t){let n=this.$animations;if(!t||!n)return this;let r={};return e.forEach(e=>{r[e]=n[e]&&n[e].active()?n[e]._to:this[e]}),r}};function Ia(e,t){let n=e.options.ticks,r=La(e),i=Math.min(n.maxTicksLimit||r,r),a=n.major.enabled?za(t):[],o=a.length,s=a[0],c=a[o-1],l=[];if(o>i)return Ba(t,l,a,o/i),l;let u=Ra(a,t,i);if(o>0){let e,n,r=o>1?Math.round((c-s)/(o-1)):null;for(Va(t,l,u,k(r)?0:s-r,s),e=0,n=o-1;ei)return t}return Math.max(i,1)}function za(e){let t=[],n,r;for(n=0,r=e.length;ne===`left`?`right`:e===`right`?`left`:e,Wa=(e,t,n)=>t===`top`||t===`left`?e[t]+n:e[t]-n,Ga=(e,t)=>Math.min(t||e,e);function Ka(e,t){let n=[],r=e.length/t,i=e.length,a=0;for(;ao+s)))return c}function Ja(e,t){I(e,e=>{let n=e.gc,r=n.length/2,i;if(r>t){for(i=0;in?n:t,n=r&&t>n?t:n,{min:N(t,N(n,t)),max:N(n,N(t,n))}}getPadding(){return{left:this.paddingLeft||0,top:this.paddingTop||0,right:this.paddingRight||0,bottom:this.paddingBottom||0}}getTicks(){return this.ticks}getLabels(){let e=this.chart.data;return this.options.labels||(this.isHorizontal()?e.xLabels:e.yLabels)||e.labels||[]}getLabelItems(e=this.chart.chartArea){return this._labelItems||=this._computeLabelItems(e)}beforeLayout(){this._cache={},this._dataLimitsCached=!1}beforeUpdate(){F(this.options.beforeUpdate,[this])}update(e,t,n){let{beginAtZero:r,grace:i,ticks:a}=this.options,o=a.sampleSize;this.beforeUpdate(),this.maxWidth=e,this.maxHeight=t,this._margins=n=Object.assign({left:0,right:0,top:0,bottom:0},n),this.ticks=null,this._labelSizes=null,this._gridLineItems=null,this._labelItems=null,this.beforeSetDimensions(),this.setDimensions(),this.afterSetDimensions(),this._maxLength=this.isHorizontal()?this.width+n.left+n.right:this.height+n.top+n.bottom,this._dataLimitsCached||=(this.beforeDataLimits(),this.determineDataLimits(),this.afterDataLimits(),this._range=Dn(this,i,r),!0),this.beforeBuildTicks(),this.ticks=this.buildTicks()||[],this.afterBuildTicks();let s=o=i||n<=1||!this.isHorizontal()){this.labelRotation=r;return}let l=this._getLabelSizes(),u=l.widest.width,d=l.highest.height,f=U(this.chart.width-u,0,this.maxWidth);o=e.offset?this.maxWidth/n:f/(n-1),u+6>o&&(o=f/(n-(e.offset?.5:1)),s=this.maxHeight-Ya(e.grid)-t.padding-Xa(e.title,this.chart.options.font),c=Math.sqrt(u*u+d*d),a=dt(Math.min(Math.asin(U((l.highest.height+6)/o,-1,1)),Math.asin(U(s/c,-1,1))-Math.asin(U(d/c,-1,1)))),a=Math.max(r,Math.min(i,a))),this.labelRotation=a}afterCalculateLabelRotation(){F(this.options.afterCalculateLabelRotation,[this])}afterAutoSkip(){}beforeFit(){F(this.options.beforeFit,[this])}fit(){let e={width:0,height:0},{chart:t,options:{ticks:n,title:r,grid:i}}=this,a=this._isVisible(),o=this.isHorizontal();if(a){let a=Xa(r,t.options.font);if(o?(e.width=this.maxWidth,e.height=Ya(i)+a):(e.height=this.maxHeight,e.width=Ya(i)+a),n.display&&this.ticks.length){let{first:t,last:r,widest:i,highest:a}=this._getLabelSizes(),s=n.padding*2,c=V(this.labelRotation),l=Math.cos(c),u=Math.sin(c);if(o){let t=n.mirror?0:u*i.width+l*a.height;e.height=Math.min(this.maxHeight,e.height+t+s)}else{let t=n.mirror?0:l*i.width+u*a.height;e.width=Math.min(this.maxWidth,e.width+t+s)}this._calculatePadding(t,r,u,l)}}this._handleMargins(),o?(this.width=this._length=t.width-this._margins.left-this._margins.right,this.height=e.height):(this.width=e.width,this.height=this._length=t.height-this._margins.top-this._margins.bottom)}_calculatePadding(e,t,n,r){let{ticks:{align:i,padding:a},position:o}=this.options,s=this.labelRotation!==0,c=o!==`top`&&this.axis===`x`;if(this.isHorizontal()){let o=this.getPixelForTick(0)-this.left,l=this.right-this.getPixelForTick(this.ticks.length-1),u=0,d=0;s?c?(u=r*e.width,d=n*t.height):(u=n*e.height,d=r*t.width):i===`start`?d=t.width:i===`end`?u=e.width:i!==`inner`&&(u=e.width/2,d=t.width/2),this.paddingLeft=Math.max((u-o+a)*this.width/(this.width-o),0),this.paddingRight=Math.max((d-l+a)*this.width/(this.width-l),0)}else{let n=t.height/2,r=e.height/2;i===`start`?(n=0,r=e.height):i===`end`&&(n=t.height,r=0),this.paddingTop=n+a,this.paddingBottom=r+a}}_handleMargins(){this._margins&&(this._margins.left=Math.max(this.paddingLeft,this._margins.left),this._margins.top=Math.max(this.paddingTop,this._margins.top),this._margins.right=Math.max(this.paddingRight,this._margins.right),this._margins.bottom=Math.max(this.paddingBottom,this._margins.bottom))}afterFit(){F(this.options.afterFit,[this])}isHorizontal(){let{axis:e,position:t}=this.options;return t===`top`||t===`bottom`||e===`x`}isFullSize(){return this.options.fullSize}_convertTicksToLabels(e){this.beforeTickToLabelConversion(),this.generateTickLabels(e);let t,n;for(t=0,n=e.length;t({width:a[e]||0,height:o[e]||0});return{first:C(0),last:C(t-1),widest:C(x),highest:C(S),widths:a,heights:o}}getLabelForValue(e){return e}getPixelForValue(e,t){return NaN}getValueForPixel(e){}getPixelForTick(e){let t=this.ticks;return e<0||e>t.length-1?null:this.getPixelForValue(t[e].value)}getPixelForDecimal(e){this._reversePixels&&(e=1-e);let t=this._startPixel+e*this._length;return _t(this._alignToPixels?an(this.chart,t,0):t)}getDecimalForPixel(e){let t=(e-this._startPixel)/this._length;return this._reversePixels?1-t:t}getBasePixel(){return this.getPixelForValue(this.getBaseValue())}getBaseValue(){let{min:e,max:t}=this;return e<0&&t<0?t:e>0&&t>0?e:0}getContext(e){let t=this.ticks||[];if(e>=0&&eo*r?o/n:s/r:s*r0:!!e}_computeGridLineItems(e){let t=this.axis,n=this.chart,r=this.options,{grid:i,position:a,border:o}=r,s=i.offset,c=this.isHorizontal(),l=this.ticks.length+ +!!s,u=Ya(i),d=[],f=o.setContext(this.getContext()),p=f.display?f.width:0,m=p/2,h=function(e){return an(n,e,p)},g,_,v,y,b,x,S,C,w,T,E,D;if(a===`top`)g=h(this.bottom),x=this.bottom-u,C=g-m,T=h(e.top)+m,D=e.bottom;else if(a===`bottom`)g=h(this.top),T=e.top,D=h(e.bottom)-m,x=g+m,C=this.top+u;else if(a===`left`)g=h(this.right),b=this.right-u,S=g-m,w=h(e.left)+m,E=e.right;else if(a===`right`)g=h(this.left),w=e.left,E=h(e.right)-m,b=g+m,S=this.left+u;else if(t===`x`){if(a===`center`)g=h((e.top+e.bottom)/2+.5);else if(j(a)){let e=Object.keys(a)[0],t=a[e];g=h(this.chart.scales[e].getPixelForValue(t))}T=e.top,D=e.bottom,x=g+m,C=x+u}else if(t===`y`){if(a===`center`)g=h((e.left+e.right)/2);else if(j(a)){let e=Object.keys(a)[0],t=a[e];g=h(this.chart.scales[e].getPixelForValue(t))}b=g-m,S=b-u,w=e.left,E=e.right}let ee=P(r.ticks.maxTicksLimit,l),O=Math.max(1,Math.ceil(l/ee));for(_=0;_0&&(a-=r/2);break}f={left:a,top:i,width:r+t.width,height:n+t.height,color:e.backdropColor}}h.push({label:y,font:w,textOffset:D,options:{rotation:m,color:n,strokeColor:s,strokeWidth:l,textAlign:d,textBaseline:ee,translation:[b,x],backdrop:f}})}return h}_getXAxisLabelAlignment(){let{position:e,ticks:t}=this.options;if(-V(this.labelRotation))return e===`top`?`left`:`right`;let n=`center`;return t.align===`start`?n=`left`:t.align===`end`?n=`right`:t.align===`inner`&&(n=`inner`),n}_getYAxisLabelAlignment(e){let{position:t,ticks:{crossAlign:n,mirror:r,padding:i}}=this.options,a=this._getLabelSizes(),o=e+i,s=a.widest.width,c,l;return t===`left`?r?(l=this.right+i,n===`near`?c=`left`:n===`center`?(c=`center`,l+=s/2):(c=`right`,l+=s)):(l=this.right-o,n===`near`?c=`right`:n===`center`?(c=`center`,l-=s/2):(c=`left`,l=this.left)):t===`right`?r?(l=this.left+i,n===`near`?c=`right`:n===`center`?(c=`center`,l-=s/2):(c=`left`,l-=s)):(l=this.left+o,n===`near`?c=`left`:n===`center`?(c=`center`,l+=s/2):(c=`right`,l=this.right)):c=`right`,{textAlign:c,x:l}}_computeLabelArea(){if(this.options.ticks.mirror)return;let e=this.chart,t=this.options.position;if(t===`left`||t===`right`)return{top:0,left:this.left,bottom:e.height,right:this.right};if(t===`top`||t===`bottom`)return{top:this.top,left:0,bottom:this.bottom,right:e.width}}drawBackground(){let{ctx:e,options:{backgroundColor:t},left:n,top:r,width:i,height:a}=this;t&&(e.save(),e.fillStyle=t,e.fillRect(n,r,i,a),e.restore())}getLineWidthForValue(e){let t=this.options.grid;if(!this._isVisible()||!t.display)return 0;let n=this.ticks.findIndex(t=>t.value===e);return n>=0?t.setContext(this.getContext(n)).lineWidth:0}drawGrid(e){let t=this.options.grid,n=this.ctx,r=this._gridLineItems||=this._computeGridLineItems(e),i,a,o=(e,t,r)=>{!r.width||!r.color||(n.save(),n.lineWidth=r.width,n.strokeStyle=r.color,n.setLineDash(r.borderDash||[]),n.lineDashOffset=r.borderDashOffset,n.beginPath(),n.moveTo(e.x,e.y),n.lineTo(t.x,t.y),n.stroke(),n.restore())};if(t.display)for(i=0,a=r.length;i{this.draw(e)}}]:[{z:r,draw:e=>{this.drawBackground(),this.drawGrid(e),this.drawTitle()}},{z:i,draw:()=>{this.drawBorder()}},{z:n,draw:e=>{this.drawLabels(e)}}]}getMatchingVisibleMetas(e){let t=this.chart.getSortedVisibleDatasetMetas(),n=this.axis+`AxisID`,r=[],i,a;for(i=0,a=t.length;i{let r=n.split(`.`),i=r.pop(),a=[e].concat(r).join(`.`),o=t[n].split(`.`),s=o.pop(),c=o.join(`.`);K.route(a,i,c,s)})}function ao(e){return`id`in e&&`defaults`in e}var X=new class{constructor(){this.controllers=new no(gi,`datasets`,!0),this.elements=new no(Fa,`elements`),this.plugins=new no(Object,`plugins`),this.scales=new no(to,`scales`),this._typedRegistries=[this.controllers,this.scales,this.elements]}add(...e){this._each(`register`,e)}remove(...e){this._each(`unregister`,e)}addControllers(...e){this._each(`register`,e,this.controllers)}addElements(...e){this._each(`register`,e,this.elements)}addPlugins(...e){this._each(`register`,e,this.plugins)}addScales(...e){this._each(`register`,e,this.scales)}getController(e){return this._get(e,this.controllers,`controller`)}getElement(e){return this._get(e,this.elements,`element`)}getPlugin(e){return this._get(e,this.plugins,`plugin`)}getScale(e){return this._get(e,this.scales,`scale`)}removeControllers(...e){this._each(`unregister`,e,this.controllers)}removeElements(...e){this._each(`unregister`,e,this.elements)}removePlugins(...e){this._each(`unregister`,e,this.plugins)}removeScales(...e){this._each(`unregister`,e,this.scales)}_each(e,t,n){[...t].forEach(t=>{let r=n||this._getRegistryForType(t);n||r.isForType(t)||r===this.plugins&&t.id?this._exec(e,r,t):I(t,t=>{let r=n||this._getRegistryForType(t);this._exec(e,r,t)})})}_exec(e,t,n){let r=qe(e);F(n[`before`+r],[],n),t[e](n),F(n[`after`+r],[],n)}_getRegistryForType(e){for(let t=0;te.filter(e=>!t.some(t=>e.plugin.id===t.plugin.id));this._notify(r(t,n),e,`stop`),this._notify(r(n,t),e,`start`)}};function so(e){let t={},n=[],r=Object.keys(X.plugins.items);for(let e=0;e1&&ho(e[0].toLowerCase());if(t)return t}throw Error(`Cannot determine type of '${e}' axis. Please provide 'axis' or 'position' option.`)}function vo(e,t,n){if(n[t+`AxisID`]===e)return{axis:t}}function yo(e,t){if(t.data&&t.data.datasets){let n=t.data.datasets.filter(t=>t.xAxisID===e||t.yAxisID===e);if(n.length)return vo(e,`x`,n[0])||vo(e,`y`,n[0])}return{}}function bo(e,t){let n=Zt[e.type]||{scales:{}},r=t.scales||{},i=fo(e.type,t),a=Object.create(null);return Object.keys(r).forEach(t=>{let o=r[t];if(!j(o))return console.error(`Invalid scale configuration for scale: ${t}`);if(o._proxy)return console.warn(`Ignoring resolver passed as options for scale: ${t}`);let s=_o(t,o,yo(t,e),K.scales[o.type]),c=mo(s,i),l=n.scales||{};a[t]=Ve(Object.create(null),[{axis:s},o,l[s],l[c]])}),e.data.datasets.forEach(n=>{let i=n.type||e.type,o=n.indexAxis||fo(i,t),s=(Zt[i]||{}).scales||{};Object.keys(s).forEach(e=>{let t=po(e,o),i=n[t+`AxisID`]||t;a[i]=a[i]||Object.create(null),Ve(a[i],[{axis:t},r[i],s[e]])})}),Object.keys(a).forEach(e=>{let t=a[e];Ve(t,[K.scales[t.type],K.scale])}),a}function xo(e){let t=e.options||={};t.plugins=P(t.plugins,{}),t.scales=bo(e,t)}function So(e){return e||={},e.datasets=e.datasets||[],e.labels=e.labels||[],e}function Co(e){return e||={},e.data=So(e.data),xo(e),e}var wo=new Map,To=new Set;function Eo(e,t){let n=wo.get(e);return n||(n=t(),wo.set(e,n),To.add(n)),n}var Do=(e,t,n)=>{let r=Ke(t,n);r!==void 0&&e.add(r)},Oo=class{constructor(e){this._config=Co(e),this._scopeCache=new Map,this._resolverCache=new Map}get platform(){return this._config.platform}get type(){return this._config.type}set type(e){this._config.type=e}get data(){return this._config.data}set data(e){this._config.data=So(e)}get options(){return this._config.options}set options(e){this._config.options=e}get plugins(){return this._config.plugins}update(){let e=this._config;this.clearCache(),xo(e)}clearCache(){this._scopeCache.clear(),this._resolverCache.clear()}datasetScopeKeys(e){return Eo(e,()=>[[`datasets.${e}`,``]])}datasetAnimationScopeKeys(e,t){return Eo(`${e}.transition.${t}`,()=>[[`datasets.${e}.transitions.${t}`,`transitions.${t}`],[`datasets.${e}`,``]])}datasetElementScopeKeys(e,t){return Eo(`${e}-${t}`,()=>[[`datasets.${e}.elements.${t}`,`datasets.${e}`,`elements.${t}`,``]])}pluginScopeKeys(e){let t=e.id,n=this.type;return Eo(`${n}-plugin-${t}`,()=>[[`plugins.${t}`,...e.additionalOptionScopes||[]]])}_cachedScopes(e,t){let n=this._scopeCache,r=n.get(e);return(!r||t)&&(r=new Map,n.set(e,r)),r}getOptionScopes(e,t,n){let{options:r,type:i}=this,a=this._cachedScopes(e,n),o=a.get(t);if(o)return o;let s=new Set;t.forEach(t=>{e&&(s.add(e),t.forEach(t=>Do(s,e,t))),t.forEach(e=>Do(s,r,e)),t.forEach(e=>Do(s,Zt[i]||{},e)),t.forEach(e=>Do(s,K,e)),t.forEach(e=>Do(s,Qt,e))});let c=Array.from(s);return c.length===0&&c.push(Object.create(null)),To.has(t)&&a.set(t,c),c}chartOptionScopes(){let{options:e,type:t}=this;return[e,Zt[t]||{},K.datasets[t]||{},{type:t},K,Qt]}resolveNamedOptions(e,t,n,r=[``]){let i={$shared:!0},{resolver:a,subPrefixes:o}=ko(this._resolverCache,e,r),s=a;if(jo(a,t)){i.$shared=!1,n=Ye(n)?n():n;let t=this.createResolver(e,n,o);s=An(a,n,t)}for(let e of t)i[e]=s[e];return i}createResolver(e,t,n=[``],r){let{resolver:i}=ko(this._resolverCache,e,n);return j(t)?An(i,t,void 0,r):i}};function ko(e,t,n){let r=e.get(t);r||(r=new Map,e.set(t,r));let i=n.join(),a=r.get(i);return a||(a={resolver:kn(t,n),subPrefixes:n.filter(e=>!e.toLowerCase().includes(`hover`))},r.set(i,a)),a}var Ao=e=>j(e)&&Object.getOwnPropertyNames(e).some(t=>Ye(e[t]));function jo(e,t){let{isScriptable:n,isIndexable:r}=jn(e);for(let i of t){let t=n(i),a=r(i),o=(a||t)&&e[i];if(t&&(Ye(o)||Ao(o))||a&&A(o))return!0}return!1}var Mo=`4.5.1`,No=[`top`,`bottom`,`left`,`right`,`chartArea`];function Po(e,t){return e===`top`||e===`bottom`||No.indexOf(e)===-1&&t===`x`}function Fo(e,t){return function(n,r){return n[e]===r[e]?n[t]-r[t]:n[e]-r[e]}}function Io(e){let t=e.chart,n=t.options.animation;t.notifyPlugins(`afterRender`),F(n&&n.onComplete,[e],t)}function Lo(e){let t=e.chart,n=t.options.animation;F(n&&n.onProgress,[e],t)}function Ro(e){return ar()&&typeof e==`string`?e=document.getElementById(e):e&&e.length&&(e=e[0]),e&&e.canvas&&(e=e.canvas),e}var zo={},Bo=e=>{let t=Ro(e);return Object.values(zo).filter(e=>e.canvas===t).pop()};function Vo(e,t,n){let r=Object.keys(e);for(let i of r){let r=+i;if(r>=t){let a=e[i];delete e[i],(n>0||r>t)&&(e[r+n]=a)}}}function Ho(e,t,n,r){return!n||e.type===`mouseout`?null:r?t:e}var Uo=class{static defaults=K;static instances=zo;static overrides=Zt;static registry=X;static version=Mo;static getChart=Bo;static register(...e){X.add(...e),Wo()}static unregister(...e){X.remove(...e),Wo()}constructor(e,t){let n=this.config=new Oo(t),r=Ro(e),i=Bo(r);if(i)throw Error(`Canvas is already in use. Chart with ID '`+i.id+`' must be destroyed before the canvas with ID '`+i.canvas.id+`' can be reused.`);let a=n.createResolver(n.chartOptionScopes(),this.getContext());this.platform=new(n.platform||(Pa(r))),this.platform.updateConfig(n);let o=this.platform.acquireContext(r,a.aspectRatio),s=o&&o.canvas,c=s&&s.height,l=s&&s.width;if(this.id=Ne(),this.ctx=o,this.canvas=s,this.width=l,this.height=c,this._options=a,this._aspectRatio=this.aspectRatio,this._layers=[],this._metasets=[],this._stacks=void 0,this.boxes=[],this.currentDevicePixelRatio=void 0,this.chartArea=void 0,this._active=[],this._lastEvent=void 0,this._listeners={},this._responsiveListeners=void 0,this._sortedMetasets=[],this.scales={},this._plugins=new oo,this.$proxies={},this._hiddenIndices={},this.attached=!1,this._animationsDisabled=void 0,this.$context=void 0,this._doResize=Ot(e=>this.update(e),a.resizeDelay||0),this._dataChanges=[],zo[this.id]=this,!o||!s){console.error(`Failed to create chart: can't acquire context from the given item`);return}Wr.listen(this,`complete`,Io),Wr.listen(this,`progress`,Lo),this._initialize(),this.attached&&this.update()}get aspectRatio(){let{options:{aspectRatio:e,maintainAspectRatio:t},width:n,height:r,_aspectRatio:i}=this;return k(e)?t&&i?i:r?n/r:null:e}get data(){return this.config.data}set data(e){this.config.data=e}get options(){return this._options}set options(e){this.config.options=e}get registry(){return X}_initialize(){return this.notifyPlugins(`beforeInit`),this.options.responsive?this.resize():vr(this,this.options.devicePixelRatio),this.bindEvents(),this.notifyPlugins(`afterInit`),this}clear(){return on(this.canvas,this.ctx),this}stop(){return Wr.stop(this),this}resize(e,t){Wr.running(this)?this._resizeBeforeDraw={width:e,height:t}:this._resize(e,t)}_resize(e,t){let n=this.options,r=this.canvas,i=n.maintainAspectRatio&&this.aspectRatio,a=this.platform.getMaximumSize(r,e,t,i),o=n.devicePixelRatio||this.platform.getDevicePixelRatio(),s=this.width?`resize`:`attach`;this.width=a.width,this.height=a.height,this._aspectRatio=this.aspectRatio,vr(this,o,!0)&&(this.notifyPlugins(`resize`,{size:a}),F(n.onResize,[this,a],this),this.attached&&this._doResize(s)&&this.render())}ensureScalesHaveIDs(){I(this.options.scales||{},(e,t)=>{e.id=t})}buildOrUpdateScales(){let e=this.options,t=e.scales,n=this.scales,r=Object.keys(n).reduce((e,t)=>(e[t]=!1,e),{}),i=[];t&&(i=i.concat(Object.keys(t).map(e=>{let n=t[e],r=_o(e,n),i=r===`r`,a=r===`x`;return{options:n,dposition:i?`chartArea`:a?`bottom`:`left`,dtype:i?`radialLinear`:a?`category`:`linear`}}))),I(i,t=>{let i=t.options,a=i.id,o=_o(a,i),s=P(i.type,t.dtype);(i.position===void 0||Po(i.position,o)!==Po(t.dposition))&&(i.position=t.dposition),r[a]=!0;let c=null;a in n&&n[a].type===s?c=n[a]:(c=new(X.getScale(s))({id:a,type:s,ctx:this.ctx,chart:this}),n[c.id]=c),c.init(i,e)}),I(r,(e,t)=>{e||delete n[t]}),I(n,e=>{Y.configure(this,e,e.options),Y.addBox(this,e)})}_updateMetasets(){let e=this._metasets,t=this.data.datasets.length,n=e.length;if(e.sort((e,t)=>e.index-t.index),n>t){for(let e=t;et.length&&delete this._stacks,e.forEach((e,n)=>{t.filter(t=>t===e._dataset).length===0&&this._destroyDatasetMeta(n)})}buildOrUpdateControllers(){let e=[],t=this.data.datasets,n,r;for(this._removeUnreferencedMetasets(),n=0,r=t.length;n{this.getDatasetMeta(t).controller.reset()},this)}reset(){this._resetElements(),this.notifyPlugins(`reset`)}update(e){let t=this.config;t.update();let n=this._options=t.createResolver(t.chartOptionScopes(),this.getContext()),r=this._animationsDisabled=!n.animation;if(this._updateScales(),this._checkEventBindings(),this._updateHiddenIndices(),this._plugins.invalidate(),this.notifyPlugins(`beforeUpdate`,{mode:e,cancelable:!0})===!1)return;let i=this.buildOrUpdateControllers();this.notifyPlugins(`beforeElementsUpdate`);let a=0;for(let e=0,t=this.data.datasets.length;e{e.reset()}),this._updateDatasets(e),this.notifyPlugins(`afterUpdate`,{mode:e}),this._layers.sort(Fo(`z`,`_idx`));let{_active:o,_lastEvent:s}=this;s?this._eventHandler(s,!0):o.length&&this._updateHoverStyles(o,o,!0),this.render()}_updateScales(){I(this.scales,e=>{Y.removeBox(this,e)}),this.ensureScalesHaveIDs(),this.buildOrUpdateScales()}_checkEventBindings(){let e=this.options;(!Xe(new Set(Object.keys(this._listeners)),new Set(e.events))||!!this._responsiveListeners!==e.responsive)&&(this.unbindEvents(),this.bindEvents())}_updateHiddenIndices(){let{_hiddenIndices:e}=this,t=this._getUniformDataChanges()||[];for(let{method:n,start:r,count:i}of t)Vo(e,r,n===`_removeElements`?-i:i)}_getUniformDataChanges(){let e=this._dataChanges;if(!e||!e.length)return;this._dataChanges=[];let t=this.data.datasets.length,n=t=>new Set(e.filter(e=>e[0]===t).map((e,t)=>t+`,`+e.splice(1).join(`,`))),r=n(0);for(let e=1;ee.split(`,`)).map(e=>({method:e[1],start:+e[2],count:+e[3]}))}_updateLayout(e){if(this.notifyPlugins(`beforeLayout`,{cancelable:!0})===!1)return;Y.update(this,this.width,this.height,e);let t=this.chartArea,n=t.width<=0||t.height<=0;this._layers=[],I(this.boxes,e=>{n&&e.position===`chartArea`||(e.configure&&e.configure(),this._layers.push(...e._layers()))},this),this._layers.forEach((e,t)=>{e._idx=t}),this.notifyPlugins(`afterLayout`)}_updateDatasets(e){if(this.notifyPlugins(`beforeDatasetsUpdate`,{mode:e,cancelable:!0})!==!1){for(let e=0,t=this.data.datasets.length;e=0;--t)this._drawDataset(e[t]);this.notifyPlugins(`afterDatasetsDraw`)}_drawDataset(e){let t=this.ctx,n={meta:e,index:e.index,cancelable:!0},r=Ur(this,e);this.notifyPlugins(`beforeDatasetDraw`,n)!==!1&&(r&&un(t,r),e.controller.draw(),r&&dn(t),n.cancelable=!1,this.notifyPlugins(`afterDatasetDraw`,n))}isPointInArea(e){return ln(e,this.chartArea,this._minPadding)}getElementsAtEventForMode(e,t,n,r){let i=Yi.modes[t];return typeof i==`function`?i(this,e,n,r):[]}getDatasetMeta(e){let t=this.data.datasets[e],n=this._metasets,r=n.filter(e=>e&&e._dataset===t).pop();return r||(r={type:null,data:[],dataset:null,controller:null,hidden:null,xAxisID:null,yAxisID:null,order:t&&t.order||0,index:e,_dataset:t,_parsed:[],_sorted:!1},n.push(r)),r}getContext(){return this.$context||=On(null,{chart:this,type:`chart`})}getVisibleDatasetCount(){return this.getSortedVisibleDatasetMetas().length}isDatasetVisible(e){let t=this.data.datasets[e];if(!t)return!1;let n=this.getDatasetMeta(e);return typeof n.hidden==`boolean`?!n.hidden:!t.hidden}setDatasetVisibility(e,t){let n=this.getDatasetMeta(e);n.hidden=!t}toggleDataVisibility(e){this._hiddenIndices[e]=!this._hiddenIndices[e]}getDataVisibility(e){return!this._hiddenIndices[e]}_updateVisibility(e,t,n){let r=n?`show`:`hide`,i=this.getDatasetMeta(e),a=i.controller._resolveAnimations(void 0,r);Je(t)?(i.data[t].hidden=!n,this.update()):(this.setDatasetVisibility(e,n),a.update(i,{visible:n}),this.update(t=>t.datasetIndex===e?r:void 0))}hide(e,t){this._updateVisibility(e,t,!1)}show(e,t){this._updateVisibility(e,t,!0)}_destroyDatasetMeta(e){let t=this._metasets[e];t&&t.controller&&t.controller._destroy(),delete this._metasets[e]}_stop(){let e,t;for(this.stop(),Wr.remove(this),e=0,t=this.data.datasets.length;e{t.addEventListener(this,n,r),e[n]=r},r=(e,t,n)=>{e.offsetX=t,e.offsetY=n,this._eventHandler(e)};I(this.options.events,e=>n(e,r))}bindResponsiveEvents(){this._responsiveListeners||={};let e=this._responsiveListeners,t=this.platform,n=(n,r)=>{t.addEventListener(this,n,r),e[n]=r},r=(n,r)=>{e[n]&&(t.removeEventListener(this,n,r),delete e[n])},i=(e,t)=>{this.canvas&&this.resize(e,t)},a,o=()=>{r(`attach`,o),this.attached=!0,this.resize(),n(`resize`,i),n(`detach`,a)};a=()=>{this.attached=!1,r(`resize`,i),this._stop(),this._resize(0,0),n(`attach`,o)},t.isAttached(this.canvas)?o():a()}unbindEvents(){I(this._listeners,(e,t)=>{this.platform.removeEventListener(this,t,e)}),this._listeners={},I(this._responsiveListeners,(e,t)=>{this.platform.removeEventListener(this,t,e)}),this._responsiveListeners=void 0}updateHoverStyle(e,t,n){let r=n?`set`:`remove`,i,a,o,s;for(t===`dataset`&&(i=this.getDatasetMeta(e[0].datasetIndex),i.controller[`_`+r+`DatasetHoverStyle`]()),o=0,s=e.length;o{let n=this.getDatasetMeta(e);if(!n)throw Error(`No dataset found at index `+e);return{datasetIndex:e,element:n.data[t],index:t}});Ie(n,t)||(this._active=n,this._lastEvent=null,this._updateHoverStyles(n,t))}notifyPlugins(e,t,n){return this._plugins.notify(this,e,t,n)}isPluginEnabled(e){return this._plugins._cache.filter(t=>t.plugin.id===e).length===1}_updateHoverStyles(e,t,n){let r=this.options.hover,i=(e,t)=>e.filter(e=>!t.some(t=>e.datasetIndex===t.datasetIndex&&e.index===t.index)),a=i(t,e),o=n?e:i(e,t);a.length&&this.updateHoverStyle(a,r.mode,!1),o.length&&r.mode&&this.updateHoverStyle(o,r.mode,!0)}_eventHandler(e,t){let n={event:e,replay:t,cancelable:!0,inChartArea:this.isPointInArea(e)},r=t=>(t.options.events||this.options.events).includes(e.native.type);if(this.notifyPlugins(`beforeEvent`,n,r)===!1)return;let i=this._handleEvent(e,t,n.inChartArea);return n.cancelable=!1,this.notifyPlugins(`afterEvent`,n,r),(i||n.changed)&&this.render(),this}_handleEvent(e,t,n){let{_active:r=[],options:i}=this,a=t,o=this._getActiveElements(e,r,n,a),s=Ze(e),c=Ho(e,this._lastEvent,n,s);n&&(this._lastEvent=null,F(i.onHover,[e,o,this],this),s&&F(i.onClick,[e,o,this],this));let l=!Ie(o,r);return(l||t)&&(this._active=o,this._updateHoverStyles(o,r,t)),this._lastEvent=c,l}_getActiveElements(e,t,n,r){if(e.type===`mouseout`)return[];if(!n)return t;let i=this.options.hover;return this.getElementsAtEventForMode(e,i.mode,i,r)}};function Wo(){return I(Uo.instances,e=>e._plugins.invalidate())}function Go(e,t,n){let{startAngle:r,x:i,y:a,outerRadius:o,innerRadius:s,options:c}=t,{borderWidth:l,borderJoinStyle:u}=c,d=Math.min(l/o,H(r-n));if(e.beginPath(),e.arc(i,a,o-l/2,r+d/2,n-d/2),s>0){let t=Math.min(l/s,H(r-n));e.arc(i,a,s+l/2,n-t/2,r+t/2,!0)}else{let t=Math.min(l/2,o*H(r-n));if(u===`round`)e.arc(i,a,t,n-L/2,r+L/2,!0);else if(u===`bevel`){let o=2*t*t,s=-o*Math.cos(n+L/2)+i,c=-o*Math.sin(n+L/2)+a,l=o*Math.cos(r+L/2)+i,u=o*Math.sin(r+L/2)+a;e.lineTo(s,c),e.lineTo(l,u)}}e.closePath(),e.moveTo(0,0),e.rect(0,0,e.canvas.width,e.canvas.height),e.clip(`evenodd`)}function Ko(e,t,n){let{startAngle:r,pixelMargin:i,x:a,y:o,outerRadius:s,innerRadius:c}=t,l=i/s;e.beginPath(),e.arc(a,o,s,r-l,n+l),c>i?(l=i/c,e.arc(a,o,c,n+l,r-l,!0)):e.arc(a,o,i,n+z,r-z),e.closePath(),e.clip()}function qo(e){return Cn(e,[`outerStart`,`outerEnd`,`innerStart`,`innerEnd`])}function Jo(e,t,n,r){let i=qo(e.options.borderRadius),a=(n-t)/2,o=Math.min(a,r*t/2),s=e=>{let t=(n-Math.min(a,e))*r/2;return U(e,0,Math.min(a,t))};return{outerStart:s(i.outerStart),outerEnd:s(i.outerEnd),innerStart:U(i.innerStart,0,o),innerEnd:U(i.innerEnd,0,o)}}function Yo(e,t,n,r){return{x:n+e*Math.cos(t),y:r+e*Math.sin(t)}}function Xo(e,t,n,r,i,a){let{x:o,y:s,startAngle:c,pixelMargin:l,innerRadius:u}=t,d=Math.max(t.outerRadius+r+n-l,0),f=u>0?u+r+n+l:0,p=0,m=i-c;if(r){let e=((u>0?u-r:0)+(d>0?d-r:0))/2;p=(m-(e===0?m:m*e/(e+r)))/2}let h=(m-Math.max(.001,m*d-n/L)/d)/2,g=c+h+p,_=i-h-p,{outerStart:v,outerEnd:y,innerStart:b,innerEnd:x}=Jo(t,f,d,_-g),S=d-v,C=d-y,w=g+v/S,T=_-y/C,E=f+b,D=f+x,ee=g+b/E,O=_-x/D;if(e.beginPath(),a){let t=(w+T)/2;if(e.arc(o,s,d,w,t),e.arc(o,s,d,t,T),y>0){let t=Yo(C,T,o,s);e.arc(t.x,t.y,y,T,_+z)}let n=Yo(D,_,o,s);if(e.lineTo(n.x,n.y),x>0){let t=Yo(D,O,o,s);e.arc(t.x,t.y,x,_+z,O+Math.PI)}let r=(_-x/f+(g+b/f))/2;if(e.arc(o,s,f,_-x/f,r,!0),e.arc(o,s,f,r,g+b/f,!0),b>0){let t=Yo(E,ee,o,s);e.arc(t.x,t.y,b,ee+Math.PI,g-z)}let i=Yo(S,g,o,s);if(e.lineTo(i.x,i.y),v>0){let t=Yo(S,w,o,s);e.arc(t.x,t.y,v,g-z,w)}}else{e.moveTo(o,s);let t=Math.cos(w)*d+o,n=Math.sin(w)*d+s;e.lineTo(t,n);let r=Math.cos(T)*d+o,i=Math.sin(T)*d+s;e.lineTo(r,i)}e.closePath()}function Zo(e,t,n,r,i){let{fullCircles:a,startAngle:o,circumference:s}=t,c=t.endAngle;if(a){Xo(e,t,n,r,c,i);for(let t=0;t=L&&p===0&&u!==`miter`&&Go(e,t,h),a||(Xo(e,t,n,r,h,i),e.stroke())}var $o=class extends Fa{static id=`arc`;static defaults={borderAlign:`center`,borderColor:`#fff`,borderDash:[],borderDashOffset:0,borderJoinStyle:void 0,borderRadius:0,borderWidth:2,offset:0,spacing:0,angle:void 0,circular:!0,selfJoin:!1};static defaultRoutes={backgroundColor:`backgroundColor`};static descriptors={_scriptable:!0,_indexable:e=>e!==`borderDash`};circumference;endAngle;fullCircles;innerRadius;outerRadius;pixelMargin;startAngle;constructor(e){super(),this.options=void 0,this.circumference=void 0,this.startAngle=void 0,this.endAngle=void 0,this.innerRadius=void 0,this.outerRadius=void 0,this.pixelMargin=0,this.fullCircles=0,e&&Object.assign(this,e)}inRange(e,t,n){let{angle:r,distance:i}=pt(this.getProps([`x`,`y`],n),{x:e,y:t}),{startAngle:a,endAngle:o,innerRadius:s,outerRadius:c,circumference:l}=this.getProps([`startAngle`,`endAngle`,`innerRadius`,`outerRadius`,`circumference`],n),u=(this.options.spacing+this.options.borderWidth)/2,d=P(l,o-a),f=gt(r,a,o)&&a!==o,p=d>=R||f,m=W(i,s+u,c+u);return p&&m}getCenterPoint(e){let{x:t,y:n,startAngle:r,endAngle:i,innerRadius:a,outerRadius:o}=this.getProps([`x`,`y`,`startAngle`,`endAngle`,`innerRadius`,`outerRadius`],e),{offset:s,spacing:c}=this.options,l=(r+i)/2,u=(a+o+c+s)/2;return{x:t+Math.cos(l)*u,y:n+Math.sin(l)*u}}tooltipPosition(e){return this.getCenterPoint(e)}draw(e){let{options:t,circumference:n}=this,r=(t.offset||0)/4,i=(t.spacing||0)/2,a=t.circular;if(this.pixelMargin=t.borderAlign===`inner`?.33:0,this.fullCircles=n>R?Math.floor(n/R):0,n===0||this.innerRadius<0||this.outerRadius<0)return;e.save();let o=(this.startAngle+this.endAngle)/2;e.translate(Math.cos(o)*r,Math.sin(o)*r);let s=r*(1-Math.sin(Math.min(L,n||0)));e.fillStyle=t.backgroundColor,e.strokeStyle=t.borderColor,Zo(e,this,s,i,a),Qo(e,this,s,i,a),e.restore()}};function es(e,t,n=t){e.lineCap=P(n.borderCapStyle,t.borderCapStyle),e.setLineDash(P(n.borderDash,t.borderDash)),e.lineDashOffset=P(n.borderDashOffset,t.borderDashOffset),e.lineJoin=P(n.borderJoinStyle,t.borderJoinStyle),e.lineWidth=P(n.borderWidth,t.borderWidth),e.strokeStyle=P(n.borderColor,t.borderColor)}function ts(e,t,n){e.lineTo(n.x,n.y)}function ns(e){return e.stepped?fn:e.tension||e.cubicInterpolationMode===`monotone`?pn:ts}function rs(e,t,n={}){let r=e.length,{start:i=0,end:a=r-1}=n,{start:o,end:s}=t,c=Math.max(i,o),l=Math.min(a,s),u=is&&a>s;return{count:r,start:c,loop:t.loop,ilen:l(o+(l?s-e:e))%a,y=()=>{h!==g&&(e.lineTo(u,g),e.lineTo(u,h),e.lineTo(u,_))};for(c&&(p=i[v(0)],e.moveTo(p.x,p.y)),f=0;f<=s;++f){if(p=i[v(f)],p.skip)continue;let t=p.x,n=p.y,r=t|0;r===m?(ng&&(g=n),u=(d*u+t)/++d):(y(),e.lineTo(t,n),m=r,d=0,h=g=n),_=n}y()}function os(e){let t=e.options,n=t.borderDash&&t.borderDash.length;return!e._decimated&&!e._loop&&!t.tension&&t.cubicInterpolationMode!==`monotone`&&!t.stepped&&!n?as:is}function ss(e){return e.stepped?Sr:e.tension||e.cubicInterpolationMode===`monotone`?Cr:xr}function cs(e,t,n,r){let i=t._path;i||(i=t._path=new Path2D,t.path(i,n,r)&&i.closePath()),es(e,t.options),e.stroke(i)}function ls(e,t,n,r){let{segments:i,options:a}=t,o=os(t);for(let s of i)es(e,a,s.style),e.beginPath(),o(e,t,s,{start:n,end:n+r-1})&&e.closePath(),e.stroke()}var us=typeof Path2D==`function`;function ds(e,t,n,r){us&&!t.options.segment?cs(e,t,n,r):ls(e,t,n,r)}var fs=class extends Fa{static id=`line`;static defaults={borderCapStyle:`butt`,borderDash:[],borderDashOffset:0,borderJoinStyle:`miter`,borderWidth:3,capBezierPoints:!0,cubicInterpolationMode:`default`,fill:!1,spanGaps:!1,stepped:!1,tension:0};static defaultRoutes={backgroundColor:`backgroundColor`,borderColor:`borderColor`};static descriptors={_scriptable:!0,_indexable:e=>e!==`borderDash`&&e!==`fill`};constructor(e){super(),this.animated=!0,this.options=void 0,this._chart=void 0,this._loop=void 0,this._fullLoop=void 0,this._path=void 0,this._points=void 0,this._segments=void 0,this._decimated=!1,this._pointsUpdated=!1,this._datasetIndex=void 0,e&&Object.assign(this,e)}updateControlPoints(e,t){let n=this.options;if((n.tension||n.cubicInterpolationMode===`monotone`)&&!n.stepped&&!this._pointsUpdated){let r=n.spanGaps?this._loop:this._fullLoop;ir(this._points,n,e,r,t),this._pointsUpdated=!0}}set points(e){this._points=e,delete this._segments,delete this._path,this._pointsUpdated=!1}get points(){return this._points}get segments(){return this._segments||=Ir(this,this.options.segment)}first(){let e=this.segments,t=this.points;return e.length&&t[e[0].start]}last(){let e=this.segments,t=this.points,n=e.length;return n&&t[e[n-1].end]}interpolate(e,t){let n=this.options,r=e[t],i=this.points,a=Nr(this,{property:t,start:r,end:r});if(!a.length)return;let o=[],s=ss(n),c,l;for(c=0,l=a.length;ce.replace(`rgb(`,`rgba(`).replace(`)`,`, 0.5)`));function Ds(e){return Ts[e%Ts.length]}function Os(e){return Es[e%Es.length]}function ks(e,t){return e.borderColor=Ds(t),e.backgroundColor=Os(t),++t}function As(e,t){return e.backgroundColor=e.data.map(()=>Ds(t++)),t}function js(e,t){return e.backgroundColor=e.data.map(()=>Os(t++)),t}function Ms(e){let t=0;return(n,r)=>{let i=e.getDatasetMeta(r).controller;i instanceof Fi?t=As(n,t):i instanceof Li?t=js(n,t):i&&(t=ks(n,t))}}function Ns(e){let t;for(t in e)if(e[t].borderColor||e[t].backgroundColor)return!0;return!1}function Ps(e){return e&&(e.borderColor||e.backgroundColor)}function Fs(){return K.borderColor!==`rgba(0,0,0,0.1)`||K.backgroundColor!==`rgba(0,0,0,0.1)`}var Is={id:`colors`,defaults:{enabled:!0,forceOverride:!1},beforeLayout(e,t,n){if(!n.enabled)return;let{data:{datasets:r},options:i}=e.config,{elements:a}=i,o=Ns(r)||Ps(i)||a&&Ns(a)||Fs();if(!n.forceOverride&&o)return;let s=Ms(e);r.forEach(s)}};function Ls(e,t,n,r,i){let a=i.samples||r;if(a>=n)return e.slice(t,t+n);let o=[],s=(n-2)/(a-2),c=0,l=t+n-1,u=t,d,f,p,m,h;for(o[c++]=e[u],d=0;dp&&(p=m,f=e[a],h=a);o[c++]=f,u=h}return o[c++]=e[l],o}function Rs(e,t,n,r){let i=0,a=0,o,s,c,l,u,d,f,p,m,h,g=[],_=t+n-1,v=e[t].x,y=e[_].x-v;for(o=t;oh&&(h=l,f=o),i=(a*i+s.x)/++a;else{let n=o-1;if(!k(d)&&!k(f)){let t=Math.min(d,f),r=Math.max(d,f);t!==p&&t!==n&&g.push({...e[t],x:i}),r!==p&&r!==n&&g.push({...e[r],x:i})}o>0&&n!==p&&g.push(e[n]),g.push(s),u=t,a=0,m=h=l,d=f=p=o}}return g}function zs(e){if(e._decimated){let t=e._data;delete e._decimated,delete e._data,Object.defineProperty(e,"data",{configurable:!0,enumerable:!0,writable:!0,value:t})}}function Bs(e){e.data.datasets.forEach(e=>{zs(e)})}function Vs(e,t){let n=t.length,r=0,i,{iScale:a}=e,{min:o,max:s,minDefined:c,maxDefined:l}=a.getUserBounds();return c&&(r=U(yt(t,a.axis,o).lo,0,n-1)),i=l?U(yt(t,a.axis,s).hi+1,r,n)-r:n-r,{start:r,count:i}}var Hs={id:`decimation`,defaults:{algorithm:`min-max`,enabled:!1},beforeElementsUpdate:(e,t,n)=>{if(!n.enabled){Bs(e);return}let r=e.width;e.data.datasets.forEach((t,i)=>{let{_data:a,indexAxis:o}=t,s=e.getDatasetMeta(i),c=a||t.data;if(En([o,e.options.indexAxis])===`y`||!s.controller.supportsDecimation)return;let l=e.scales[s.xAxisID];if(l.type!==`linear`&&l.type!==`time`||e.options.parsing)return;let{start:u,count:d}=Vs(s,c);if(d<=(n.threshold||4*r)){zs(t);return}k(a)&&(t._data=c,delete t.data,Object.defineProperty(t,"data",{configurable:!0,enumerable:!0,get:function(){return this._decimated},set:function(e){this._data=e}}));let f;switch(n.algorithm){case`lttb`:f=Ls(c,u,d,r,n);break;case`min-max`:f=Rs(c,u,d,r);break;default:throw Error(`Unsupported decimation algorithm '${n.algorithm}'`)}t._decimated=f})},destroy(e){Bs(e)}};function Us(e,t,n){let r=e.segments,i=e.points,a=t.points,o=[];for(let e of r){let{start:r,end:s}=e;s=Ks(r,s,i);let c=Ws(n,i[r],i[s],e.loop);if(!t.segments){o.push({source:e,target:c,start:i[r],end:i[s]});continue}let l=Nr(t,c);for(let t of l){let r=Ws(n,a[t.start],a[t.end],t.loop),s=Mr(e,i,r);for(let e of s)o.push({source:e,target:t,start:{[n]:qs(c,r,`start`,Math.max)},end:{[n]:qs(c,r,`end`,Math.min)}})}}return o}function Ws(e,t,n,r){if(r)return;let i=t[e],a=n[e];return e===`angle`&&(i=H(i),a=H(a)),{property:e,start:i,end:a}}function Gs(e,t){let{x:n=null,y:r=null}=e||{},i=t.points,a=[];return t.segments.forEach(({start:e,end:t})=>{t=Ks(e,t,i);let o=i[e],s=i[t];r===null?n!==null&&(a.push({x:n,y:o.y}),a.push({x:n,y:s.y})):(a.push({x:o.x,y:r}),a.push({x:s.x,y:r}))}),a}function Ks(e,t,n){for(;t>e;t--){let e=n[t];if(!isNaN(e.x)&&!isNaN(e.y))break}return t}function qs(e,t,n,r){return e&&t?r(e[n],t[n]):e?e[n]:t?t[n]:0}function Js(e,t){let n=[],r=!1;return A(e)?(r=!0,n=e):n=Gs(e,t),n.length?new fs({points:n,options:{tension:0},_loop:r,_fullLoop:r}):null}function Ys(e){return e&&e.fill!==!1}function Xs(e,t,n){let r=e[t].fill,i=[t],a;if(!n)return r;for(;r!==!1&&i.indexOf(r)===-1;){if(!M(r))return r;if(a=e[r],!a)return!1;if(a.visible)return r;i.push(r),r=a.fill}return!1}function Zs(e,t,n){let r=tc(e);if(j(r))return isNaN(r.value)?!1:r;let i=parseFloat(r);return M(i)&&Math.floor(i)===i?Qs(r[0],t,i,n):[`origin`,`start`,`end`,`stack`,`shape`].indexOf(r)>=0&&r}function Qs(e,t,n,r){return(e===`-`||e===`+`)&&(n=t+n),n===t||n<0||n>=r?!1:n}function $s(e,t){let n=null;return e===`start`?n=t.bottom:e===`end`?n=t.top:j(e)?n=t.getPixelForValue(e.value):t.getBasePixel&&(n=t.getBasePixel()),n}function ec(e,t,n){let r;return r=e===`start`?n:e===`end`?t.options.reverse?t.min:t.max:j(e)?e.value:t.getBaseValue(),r}function tc(e){let t=e.options,n=t.fill,r=P(n&&n.target,n);return r===void 0&&(r=!!t.backgroundColor),r===!1||r===null?!1:r===!0?`origin`:r}function nc(e){let{scale:t,index:n,line:r}=e,i=[],a=r.segments,o=r.points,s=rc(t,n);s.push(Js({x:null,y:t.bottom},r));for(let e=0;e=0;--t){let n=i[t].$filler;n&&(n.line.updateControlPoints(a,n.axis),r&&n.fill&&fc(e.ctx,n,a))}},beforeDatasetsDraw(e,t,n){if(n.drawTime!==`beforeDatasetsDraw`)return;let r=e.getSortedVisibleDatasetMetas();for(let t=r.length-1;t>=0;--t){let n=r[t].$filler;Ys(n)&&fc(e.ctx,n,e.chartArea)}},beforeDatasetDraw(e,t,n){let r=t.meta.$filler;!Ys(r)||n.drawTime!==`beforeDatasetDraw`||fc(e.ctx,r,e.chartArea)},defaults:{propagate:!0,drawTime:`beforeDatasetDraw`}},bc=(e,t)=>{let{boxHeight:n=t,boxWidth:r=t}=e;return e.usePointStyle&&(n=Math.min(n,t),r=e.pointStyleWidth||Math.min(r,t)),{boxWidth:r,boxHeight:n,itemHeight:Math.max(t,n)}},xc=(e,t)=>e!==null&&t!==null&&e.datasetIndex===t.datasetIndex&&e.index===t.index,Sc=class extends Fa{constructor(e){super(),this._added=!1,this.legendHitBoxes=[],this._hoveredItem=null,this.doughnutMode=!1,this.chart=e.chart,this.options=e.options,this.ctx=e.ctx,this.legendItems=void 0,this.columnSizes=void 0,this.lineWidths=void 0,this.maxHeight=void 0,this.maxWidth=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.height=void 0,this.width=void 0,this._margins=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(e,t,n){this.maxWidth=e,this.maxHeight=t,this._margins=n,this.setDimensions(),this.buildLabels(),this.fit()}setDimensions(){this.isHorizontal()?(this.width=this.maxWidth,this.left=this._margins.left,this.right=this.width):(this.height=this.maxHeight,this.top=this._margins.top,this.bottom=this.height)}buildLabels(){let e=this.options.labels||{},t=F(e.generateLabels,[this.chart],this)||[];e.filter&&(t=t.filter(t=>e.filter(t,this.chart.data))),e.sort&&(t=t.sort((t,n)=>e.sort(t,n,this.chart.data))),this.options.reverse&&t.reverse(),this.legendItems=t}fit(){let{options:e,ctx:t}=this;if(!e.display){this.width=this.height=0;return}let n=e.labels,r=J(n.font),i=r.size,a=this._computeTitleHeight(),{boxWidth:o,itemHeight:s}=bc(n,i),c,l;t.font=r.string,this.isHorizontal()?(c=this.maxWidth,l=this._fitRows(a,i,o,s)+10):(l=this.maxHeight,c=this._fitCols(a,r,o,s)+10),this.width=Math.min(c,e.maxWidth||this.maxWidth),this.height=Math.min(l,e.maxHeight||this.maxHeight)}_fitRows(e,t,n,r){let{ctx:i,maxWidth:a,options:{labels:{padding:o}}}=this,s=this.legendHitBoxes=[],c=this.lineWidths=[0],l=r+o,u=e;i.textAlign=`left`,i.textBaseline=`middle`;let d=-1,f=-l;return this.legendItems.forEach((e,p)=>{let m=n+t/2+i.measureText(e.text).width;(p===0||c[c.length-1]+m+2*o>a)&&(u+=l,c[c.length-(p>0?0:1)]=0,f+=l,d++),s[p]={left:0,top:f,row:d,width:m,height:r},c[c.length-1]+=m+o}),u}_fitCols(e,t,n,r){let{ctx:i,maxHeight:a,options:{labels:{padding:o}}}=this,s=this.legendHitBoxes=[],c=this.columnSizes=[],l=a-e,u=o,d=0,f=0,p=0,m=0;return this.legendItems.forEach((e,a)=>{let{itemWidth:h,itemHeight:g}=Cc(n,t,i,e,r);a>0&&f+g+2*o>l&&(u+=d+o,c.push({width:d,height:f}),p+=d+o,m++,d=f=0),s[a]={left:p,top:f,col:m,width:h,height:g},d=Math.max(d,h),f+=g+o}),u+=d,c.push({width:d,height:f}),u}adjustHitBoxes(){if(!this.options.display)return;let e=this._computeTitleHeight(),{legendHitBoxes:t,options:{align:n,labels:{padding:r},rtl:i}}=this,a=Er(i,this.left,this.width);if(this.isHorizontal()){let i=0,o=G(n,this.left+r,this.right-this.lineWidths[i]);for(let s of t)i!==s.row&&(i=s.row,o=G(n,this.left+r,this.right-this.lineWidths[i])),s.top+=this.top+e+r,s.left=a.leftForLtr(a.x(o),s.width),o+=s.width+r}else{let i=0,o=G(n,this.top+e+r,this.bottom-this.columnSizes[i].height);for(let s of t)s.col!==i&&(i=s.col,o=G(n,this.top+e+r,this.bottom-this.columnSizes[i].height)),s.top=o,s.left+=this.left+r,s.left=a.leftForLtr(a.x(s.left),s.width),o+=s.height+r}}isHorizontal(){return this.options.position===`top`||this.options.position===`bottom`}draw(){if(this.options.display){let e=this.ctx;un(e,this),this._draw(),dn(e)}}_draw(){let{options:e,columnSizes:t,lineWidths:n,ctx:r}=this,{align:i,labels:a}=e,o=K.color,s=Er(e.rtl,this.left,this.width),c=J(a.font),{padding:l}=a,u=c.size,d=u/2,f;this.drawTitle(),r.textAlign=s.textAlign(`left`),r.textBaseline=`middle`,r.lineWidth=.5,r.font=c.string;let{boxWidth:p,boxHeight:m,itemHeight:h}=bc(a,u),g=function(e,t,n){if(isNaN(p)||p<=0||isNaN(m)||m<0)return;r.save();let i=P(n.lineWidth,1);if(r.fillStyle=P(n.fillStyle,o),r.lineCap=P(n.lineCap,`butt`),r.lineDashOffset=P(n.lineDashOffset,0),r.lineJoin=P(n.lineJoin,`miter`),r.lineWidth=i,r.strokeStyle=P(n.strokeStyle,o),r.setLineDash(P(n.lineDash,[])),a.usePointStyle)cn(r,{radius:m*Math.SQRT2/2,pointStyle:n.pointStyle,rotation:n.rotation,borderWidth:i},s.xPlus(e,p/2),t+d,a.pointStyleWidth&&p);else{let a=t+Math.max((u-m)/2,0),o=s.leftForLtr(e,p),c=Tn(n.borderRadius);r.beginPath(),Object.values(c).some(e=>e!==0)?vn(r,{x:o,y:a,w:p,h:m,radius:c}):r.rect(o,a,p,m),r.fill(),i!==0&&r.stroke()}r.restore()},_=function(e,t,n){_n(r,n.text,e,t+h/2,c,{strikethrough:n.hidden,textAlign:s.textAlign(n.textAlign)})},v=this.isHorizontal(),y=this._computeTitleHeight();f=v?{x:G(i,this.left+l,this.right-n[0]),y:this.top+l+y,line:0}:{x:this.left+l,y:G(i,this.top+y+l,this.bottom-t[0].height),line:0},Dr(this.ctx,e.textDirection);let b=h+l;this.legendItems.forEach((o,u)=>{r.strokeStyle=o.fontColor,r.fillStyle=o.fontColor;let m=r.measureText(o.text).width,h=s.textAlign(o.textAlign||=a.textAlign),x=p+d+m,S=f.x,C=f.y;if(s.setWidth(this.width),v?u>0&&S+x+l>this.right&&(C=f.y+=b,f.line++,S=f.x=G(i,this.left+l,this.right-n[f.line])):u>0&&C+b>this.bottom&&(S=f.x=S+t[f.line].width+l,f.line++,C=f.y=G(i,this.top+y+l,this.bottom-t[f.line].height)),g(s.x(S),C,o),S=At(h,S+p+d,v?S+x:this.right,e.rtl),_(s.x(S),C,o),v)f.x+=x+l;else if(typeof o.text!=`string`){let e=c.lineHeight;f.y+=Ec(o,e)+l}else f.y+=b}),Or(this.ctx,e.textDirection)}drawTitle(){let e=this.options,t=e.title,n=J(t.font),r=q(t.padding);if(!t.display)return;let i=Er(e.rtl,this.left,this.width),a=this.ctx,o=t.position,s=n.size/2,c=r.top+s,l,u=this.left,d=this.width;if(this.isHorizontal())d=Math.max(...this.lineWidths),l=this.top+c,u=G(e.align,u,this.right-d);else{let t=this.columnSizes.reduce((e,t)=>Math.max(e,t.height),0);l=c+G(e.align,this.top,this.bottom-t-e.labels.padding-this._computeTitleHeight())}let f=G(o,u,u+d);a.textAlign=i.textAlign(kt(o)),a.textBaseline=`middle`,a.strokeStyle=t.color,a.fillStyle=t.color,a.font=n.string,_n(a,t.text,f,l,n)}_computeTitleHeight(){let e=this.options.title,t=J(e.font),n=q(e.padding);return e.display?t.lineHeight+n.height:0}_getLegendItemAt(e,t){let n,r,i;if(W(e,this.left,this.right)&&W(t,this.top,this.bottom)){for(i=this.legendHitBoxes,n=0;ne.length>t.length?e:t)),t+n.size/2+r.measureText(i).width}function Tc(e,t,n){let r=e;return typeof t.text!=`string`&&(r=Ec(t,n)),r}function Ec(e,t){return t*(e.text?e.text.length:0)}function Dc(e,t){return!!((e===`mousemove`||e===`mouseout`)&&(t.onHover||t.onLeave)||t.onClick&&(e===`click`||e===`mouseup`))}var Oc={id:`legend`,_element:Sc,start(e,t,n){let r=e.legend=new Sc({ctx:e.ctx,options:n,chart:e});Y.configure(e,r,n),Y.addBox(e,r)},stop(e){Y.removeBox(e,e.legend),delete e.legend},beforeUpdate(e,t,n){let r=e.legend;Y.configure(e,r,n),r.options=n},afterUpdate(e){let t=e.legend;t.buildLabels(),t.adjustHitBoxes()},afterEvent(e,t){t.replay||e.legend.handleEvent(t.event)},defaults:{display:!0,position:`top`,align:`center`,fullSize:!0,reverse:!1,weight:1e3,onClick(e,t,n){let r=t.datasetIndex,i=n.chart;i.isDatasetVisible(r)?(i.hide(r),t.hidden=!0):(i.show(r),t.hidden=!1)},onHover:null,onLeave:null,labels:{color:e=>e.chart.options.color,boxWidth:40,padding:10,generateLabels(e){let t=e.data.datasets,{labels:{usePointStyle:n,pointStyle:r,textAlign:i,color:a,useBorderRadius:o,borderRadius:s}}=e.legend.options;return e._getSortedDatasetMetas().map(e=>{let c=e.controller.getStyle(n?0:void 0),l=q(c.borderWidth);return{text:t[e.index].label,fillStyle:c.backgroundColor,fontColor:a,hidden:!e.visible,lineCap:c.borderCapStyle,lineDash:c.borderDash,lineDashOffset:c.borderDashOffset,lineJoin:c.borderJoinStyle,lineWidth:(l.width+l.height)/4,strokeStyle:c.borderColor,pointStyle:r||c.pointStyle,rotation:c.rotation,textAlign:i||c.textAlign,borderRadius:o&&(s||c.borderRadius),datasetIndex:e.index}},this)}},title:{color:e=>e.chart.options.color,display:!1,position:`center`,text:``}},descriptors:{_scriptable:e=>!e.startsWith(`on`),labels:{_scriptable:e=>![`generateLabels`,`filter`,`sort`].includes(e)}}},kc=class extends Fa{constructor(e){super(),this.chart=e.chart,this.options=e.options,this.ctx=e.ctx,this._padding=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.width=void 0,this.height=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(e,t){let n=this.options;if(this.left=0,this.top=0,!n.display){this.width=this.height=this.right=this.bottom=0;return}this.width=this.right=e,this.height=this.bottom=t;let r=A(n.text)?n.text.length:1;this._padding=q(n.padding);let i=r*J(n.font).lineHeight+this._padding.height;this.isHorizontal()?this.height=i:this.width=i}isHorizontal(){let e=this.options.position;return e===`top`||e===`bottom`}_drawArgs(e){let{top:t,left:n,bottom:r,right:i,options:a}=this,o=a.align,s=0,c,l,u;return this.isHorizontal()?(l=G(o,n,i),u=t+e,c=i-n):(a.position===`left`?(l=n+e,u=G(o,r,t),s=L*-.5):(l=i-e,u=G(o,t,r),s=L*.5),c=r-t),{titleX:l,titleY:u,maxWidth:c,rotation:s}}draw(){let e=this.ctx,t=this.options;if(!t.display)return;let n=J(t.font),r=n.lineHeight/2+this._padding.top,{titleX:i,titleY:a,maxWidth:o,rotation:s}=this._drawArgs(r);_n(e,t.text,0,0,n,{color:t.color,maxWidth:o,rotation:s,textAlign:kt(t.align),textBaseline:`middle`,translation:[i,a]})}};function Ac(e,t){let n=new kc({ctx:e.ctx,options:t,chart:e});Y.configure(e,n,t),Y.addBox(e,n),e.titleBlock=n}var jc={id:`title`,_element:kc,start(e,t,n){Ac(e,n)},stop(e){let t=e.titleBlock;Y.removeBox(e,t),delete e.titleBlock},beforeUpdate(e,t,n){let r=e.titleBlock;Y.configure(e,r,n),r.options=n},defaults:{align:`center`,display:!1,font:{weight:`bold`},fullSize:!0,padding:10,position:`top`,text:``,weight:2e3},defaultRoutes:{color:`color`},descriptors:{_scriptable:!0,_indexable:!1}},Mc=new WeakMap,Nc={id:`subtitle`,start(e,t,n){let r=new kc({ctx:e.ctx,options:n,chart:e});Y.configure(e,r,n),Y.addBox(e,r),Mc.set(e,r)},stop(e){Y.removeBox(e,Mc.get(e)),Mc.delete(e)},beforeUpdate(e,t,n){let r=Mc.get(e);Y.configure(e,r,n),r.options=n},defaults:{align:`center`,display:!1,font:{weight:`normal`},fullSize:!0,padding:0,position:`top`,text:``,weight:1500},defaultRoutes:{color:`color`},descriptors:{_scriptable:!0,_indexable:!1}},Pc={average(e){if(!e.length)return!1;let t,n,r=new Set,i=0,a=0;for(t=0,n=e.length;te+t)/r.size,y:i/a}},nearest(e,t){if(!e.length)return!1;let n=t.x,r=t.y,i=1/0,a,o,s;for(a=0,o=e.length;aMath.max(Math.min(e,n),t);function v(e){return _(g(e*2.55),0,255)}function y(e){return _(g(e*255),0,255)}function b(e){return _(g(e/2.55)/100,0,1)}function x(e){return _(g(e*100),0,100)}var S={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,A:10,B:11,C:12,D:13,E:14,F:15,a:10,b:11,c:12,d:13,e:14,f:15},C=[...`0123456789ABCDEF`],w=e=>C[e&15],T=e=>C[(e&240)>>4]+C[e&15],E=e=>(e&240)>>4==(e&15),D=e=>E(e.r)&&E(e.g)&&E(e.b)&&E(e.a);function ee(e){var t=e.length,n;return e[0]===`#`&&(t===4||t===5?n={r:255&S[e[1]]*17,g:255&S[e[2]]*17,b:255&S[e[3]]*17,a:t===5?S[e[4]]*17:255}:(t===7||t===9)&&(n={r:S[e[1]]<<4|S[e[2]],g:S[e[3]]<<4|S[e[4]],b:S[e[5]]<<4|S[e[6]],a:t===9?S[e[7]]<<4|S[e[8]]:255})),n}var O=(e,t)=>e<255?t(e):``;function te(e){var t=D(e)?w:T;return e?`#`+t(e.r)+t(e.g)+t(e.b)+O(e.a,t):void 0}var ne=/^(hsla?|hwb|hsv)\(\s*([-+.e\d]+)(?:deg)?[\s,]+([-+.e\d]+)%[\s,]+([-+.e\d]+)%(?:[\s,]+([-+.e\d]+)(%)?)?\s*\)$/;function re(e,t,n){let r=t*Math.min(n,1-n),i=(t,i=(t+e/30)%12)=>n-r*Math.max(Math.min(i-3,9-i,1),-1);return[i(0),i(8),i(4)]}function ie(e,t,n){let r=(r,i=(r+e/60)%6)=>n-n*t*Math.max(Math.min(i,4-i,1),0);return[r(5),r(3),r(1)]}function ae(e,t,n){let r=re(e,1,.5),i;for(t+n>1&&(i=1/(t+n),t*=i,n*=i),i=0;i<3;i++)r[i]*=1-t-n,r[i]+=t;return r}function oe(e,t,n,r,i){return e===i?(t-n)/r+(t.5?l/(2-i-a):l/(i+a),s=oe(t,n,r,l,i),s=s*60+.5),[s|0,c||0,o]}function ce(e,t,n,r){return(Array.isArray(t)?e(t[0],t[1],t[2]):e(t,n,r)).map(y)}function le(e,t,n){return ce(re,e,t,n)}function ue(e,t,n){return ce(ae,e,t,n)}function de(e,t,n){return ce(ie,e,t,n)}function fe(e){return(e%360+360)%360}function pe(e){let t=ne.exec(e),n=255,r;if(!t)return;t[5]!==r&&(n=t[6]?v(+t[5]):y(+t[5]));let i=fe(+t[2]),a=t[3]/100,o=t[4]/100;return r=t[1]===`hwb`?ue(i,a,o):t[1]===`hsv`?de(i,a,o):le(i,a,o),{r:r[0],g:r[1],b:r[2],a:n}}function me(e,t){var n=se(e);n[0]=fe(n[0]+t),n=le(n),e.r=n[0],e.g=n[1],e.b=n[2]}function he(e){if(!e)return;let t=se(e),n=t[0],r=x(t[1]),i=x(t[2]);return e.a<255?`hsla(${n}, ${r}%, ${i}%, ${b(e.a)})`:`hsl(${n}, ${r}%, ${i}%)`}var ge={x:`dark`,Z:`light`,Y:`re`,X:`blu`,W:`gr`,V:`medium`,U:`slate`,A:`ee`,T:`ol`,S:`or`,B:`ra`,C:`lateg`,D:`ights`,R:`in`,Q:`turquois`,E:`hi`,P:`ro`,O:`al`,N:`le`,M:`de`,L:`yello`,F:`en`,K:`ch`,G:`arks`,H:`ea`,I:`ightg`,J:`wh`},_e={OiceXe:`f0f8ff`,antiquewEte:`faebd7`,aqua:`ffff`,aquamarRe:`7fffd4`,azuY:`f0ffff`,beige:`f5f5dc`,bisque:`ffe4c4`,black:`0`,blanKedOmond:`ffebcd`,Xe:`ff`,XeviTet:`8a2be2`,bPwn:`a52a2a`,burlywood:`deb887`,caMtXe:`5f9ea0`,KartYuse:`7fff00`,KocTate:`d2691e`,cSO:`ff7f50`,cSnflowerXe:`6495ed`,cSnsilk:`fff8dc`,crimson:`dc143c`,cyan:`ffff`,xXe:`8b`,xcyan:`8b8b`,xgTMnPd:`b8860b`,xWay:`a9a9a9`,xgYF:`6400`,xgYy:`a9a9a9`,xkhaki:`bdb76b`,xmagFta:`8b008b`,xTivegYF:`556b2f`,xSange:`ff8c00`,xScEd:`9932cc`,xYd:`8b0000`,xsOmon:`e9967a`,xsHgYF:`8fbc8f`,xUXe:`483d8b`,xUWay:`2f4f4f`,xUgYy:`2f4f4f`,xQe:`ced1`,xviTet:`9400d3`,dAppRk:`ff1493`,dApskyXe:`bfff`,dimWay:`696969`,dimgYy:`696969`,dodgerXe:`1e90ff`,fiYbrick:`b22222`,flSOwEte:`fffaf0`,foYstWAn:`228b22`,fuKsia:`ff00ff`,gaRsbSo:`dcdcdc`,ghostwEte:`f8f8ff`,gTd:`ffd700`,gTMnPd:`daa520`,Way:`808080`,gYF:`8000`,gYFLw:`adff2f`,gYy:`808080`,honeyMw:`f0fff0`,hotpRk:`ff69b4`,RdianYd:`cd5c5c`,Rdigo:`4b0082`,ivSy:`fffff0`,khaki:`f0e68c`,lavFMr:`e6e6fa`,lavFMrXsh:`fff0f5`,lawngYF:`7cfc00`,NmoncEffon:`fffacd`,ZXe:`add8e6`,ZcSO:`f08080`,Zcyan:`e0ffff`,ZgTMnPdLw:`fafad2`,ZWay:`d3d3d3`,ZgYF:`90ee90`,ZgYy:`d3d3d3`,ZpRk:`ffb6c1`,ZsOmon:`ffa07a`,ZsHgYF:`20b2aa`,ZskyXe:`87cefa`,ZUWay:`778899`,ZUgYy:`778899`,ZstAlXe:`b0c4de`,ZLw:`ffffe0`,lime:`ff00`,limegYF:`32cd32`,lRF:`faf0e6`,magFta:`ff00ff`,maPon:`800000`,VaquamarRe:`66cdaa`,VXe:`cd`,VScEd:`ba55d3`,VpurpN:`9370db`,VsHgYF:`3cb371`,VUXe:`7b68ee`,VsprRggYF:`fa9a`,VQe:`48d1cc`,VviTetYd:`c71585`,midnightXe:`191970`,mRtcYam:`f5fffa`,mistyPse:`ffe4e1`,moccasR:`ffe4b5`,navajowEte:`ffdead`,navy:`80`,Tdlace:`fdf5e6`,Tive:`808000`,TivedBb:`6b8e23`,Sange:`ffa500`,SangeYd:`ff4500`,ScEd:`da70d6`,pOegTMnPd:`eee8aa`,pOegYF:`98fb98`,pOeQe:`afeeee`,pOeviTetYd:`db7093`,papayawEp:`ffefd5`,pHKpuff:`ffdab9`,peru:`cd853f`,pRk:`ffc0cb`,plum:`dda0dd`,powMrXe:`b0e0e6`,purpN:`800080`,YbeccapurpN:`663399`,Yd:`ff0000`,Psybrown:`bc8f8f`,PyOXe:`4169e1`,saddNbPwn:`8b4513`,sOmon:`fa8072`,sandybPwn:`f4a460`,sHgYF:`2e8b57`,sHshell:`fff5ee`,siFna:`a0522d`,silver:`c0c0c0`,skyXe:`87ceeb`,UXe:`6a5acd`,UWay:`708090`,UgYy:`708090`,snow:`fffafa`,sprRggYF:`ff7f`,stAlXe:`4682b4`,tan:`d2b48c`,teO:`8080`,tEstN:`d8bfd8`,tomato:`ff6347`,Qe:`40e0d0`,viTet:`ee82ee`,JHt:`f5deb3`,wEte:`ffffff`,wEtesmoke:`f5f5f5`,Lw:`ffff00`,LwgYF:`9acd32`};function ve(){let e={},t=Object.keys(_e),n=Object.keys(ge),r,i,a,o,s;for(r=0;r>16&255,a>>8&255,a&255]}return e}var ye;function be(e){ye||(ye=ve(),ye.transparent=[0,0,0,0]);let t=ye[e.toLowerCase()];return t&&{r:t[0],g:t[1],b:t[2],a:t.length===4?t[3]:255}}var xe=/^rgba?\(\s*([-+.\d]+)(%)?[\s,]+([-+.e\d]+)(%)?[\s,]+([-+.e\d]+)(%)?(?:[\s,/]+([-+.e\d]+)(%)?)?\s*\)$/;function Se(e){let t=xe.exec(e),n=255,r,i,a;if(t){if(t[7]!==r){let e=+t[7];n=t[8]?v(e):_(e*255,0,255)}return r=+t[1],i=+t[3],a=+t[5],r=255&(t[2]?v(r):_(r,0,255)),i=255&(t[4]?v(i):_(i,0,255)),a=255&(t[6]?v(a):_(a,0,255)),{r,g:i,b:a,a:n}}}function Ce(e){return e&&(e.a<255?`rgba(${e.r}, ${e.g}, ${e.b}, ${b(e.a)})`:`rgb(${e.r}, ${e.g}, ${e.b})`)}var we=e=>e<=.0031308?e*12.92:e**(1/2.4)*1.055-.055,Te=e=>e<=.04045?e/12.92:((e+.055)/1.055)**2.4;function Ee(e,t,n){let r=Te(b(e.r)),i=Te(b(e.g)),a=Te(b(e.b));return{r:y(we(r+n*(Te(b(t.r))-r))),g:y(we(i+n*(Te(b(t.g))-i))),b:y(we(a+n*(Te(b(t.b))-a))),a:e.a+n*(t.a-e.a)}}function De(e,t,n){if(e){let r=se(e);r[t]=Math.max(0,Math.min(r[t]+r[t]*n,t===0?360:1)),r=le(r),e.r=r[0],e.g=r[1],e.b=r[2]}}function Oe(e,t){return e&&Object.assign(t||{},e)}function ke(e){var t={r:0,g:0,b:0,a:255};return Array.isArray(e)?e.length>=3&&(t={r:e[0],g:e[1],b:e[2],a:255},e.length>3&&(t.a=y(e[3]))):(t=Oe(e,{r:0,g:0,b:0,a:1}),t.a=y(t.a)),t}function Ae(e){return e.charAt(0)===`r`?Se(e):pe(e)}var je=class e{constructor(t){if(t instanceof e)return t;let n=typeof t,r;n===`object`?r=ke(t):n===`string`&&(r=ee(t)||be(t)||Ae(t)),this._rgb=r,this._valid=!!r}get valid(){return this._valid}get rgb(){var e=Oe(this._rgb);return e&&(e.a=b(e.a)),e}set rgb(e){this._rgb=ke(e)}rgbString(){return this._valid?Ce(this._rgb):void 0}hexString(){return this._valid?te(this._rgb):void 0}hslString(){return this._valid?he(this._rgb):void 0}mix(e,t){if(e){let n=this.rgb,r=e.rgb,i,a=t===i?.5:t,o=2*a-1,s=n.a-r.a,c=((o*s===-1?o:(o+s)/(1+o*s))+1)/2;i=1-c,n.r=255&c*n.r+i*r.r+.5,n.g=255&c*n.g+i*r.g+.5,n.b=255&c*n.b+i*r.b+.5,n.a=a*n.a+(1-a)*r.a,this.rgb=n}return this}interpolate(e,t){return e&&(this._rgb=Ee(this._rgb,e._rgb,t)),this}clone(){return new e(this.rgb)}alpha(e){return this._rgb.a=y(e),this}clearer(e){let t=this._rgb;return t.a*=1-e,this}greyscale(){let e=this._rgb;return e.r=e.g=e.b=g(e.r*.3+e.g*.59+e.b*.11),this}opaquer(e){let t=this._rgb;return t.a*=1+e,this}negate(){let e=this._rgb;return e.r=255-e.r,e.g=255-e.g,e.b=255-e.b,this}lighten(e){return De(this._rgb,2,e),this}darken(e){return De(this._rgb,2,-e),this}saturate(e){return De(this._rgb,1,e),this}desaturate(e){return De(this._rgb,1,-e),this}rotate(e){return me(this._rgb,e),this}};function Me(){}var Ne=(()=>{let e=0;return()=>e++})();function k(e){return e==null}function A(e){if(Array.isArray&&Array.isArray(e))return!0;let t=Object.prototype.toString.call(e);return t.slice(0,7)===`[object`&&t.slice(-6)===`Array]`}function j(e){return e!==null&&Object.prototype.toString.call(e)===`[object Object]`}function M(e){return(typeof e==`number`||e instanceof Number)&&isFinite(+e)}function N(e,t){return M(e)?e:t}function P(e,t){return e===void 0?t:e}var Pe=(e,t)=>typeof e==`string`&&e.endsWith(`%`)?parseFloat(e)/100:+e/t,Fe=(e,t)=>typeof e==`string`&&e.endsWith(`%`)?parseFloat(e)/100*t:+e;function F(e,t,n){if(e&&typeof e.call==`function`)return e.apply(n,t)}function I(e,t,n,r){let i,a,o;if(A(e))if(a=e.length,r)for(i=a-1;i>=0;i--)t.call(n,e[i],i);else for(i=0;ie,x:e=>e.x,y:e=>e.y};function We(e){let t=e.split(`.`),n=[],r=``;for(let e of t)r+=e,r.endsWith(`\\`)?r=r.slice(0,-1)+`.`:(n.push(r),r=``);return n}function Ge(e){let t=We(e);return e=>{for(let n of t){if(n===``)break;e&&=e[n]}return e}}function Ke(e,t){return(Ue[t]||(Ue[t]=Ge(t)))(e)}function qe(e){return e.charAt(0).toUpperCase()+e.slice(1)}var Je=e=>e!==void 0,Ye=e=>typeof e==`function`,Xe=(e,t)=>{if(e.size!==t.size)return!1;for(let n of e)if(!t.has(n))return!1;return!0};function Ze(e){return e.type===`mouseup`||e.type===`click`||e.type===`contextmenu`}var L=Math.PI,R=2*L,Qe=R+L,$e=1/0,et=L/180,z=L/2,tt=L/4,nt=L*2/3,rt=Math.log10,B=Math.sign;function it(e,t,n){return Math.abs(e-t)e-t).pop(),t}function st(e){return typeof e==`symbol`||typeof e==`object`&&!!e&&!(Symbol.toPrimitive in e||`toString`in e||`valueOf`in e)}function ct(e){return!st(e)&&!isNaN(parseFloat(e))&&isFinite(e)}function lt(e,t){let n=Math.round(e);return n-t<=e&&n+t>=e}function ut(e,t,n){let r,i,a;for(r=0,i=e.length;rc&&l=Math.min(t,n)-r&&e<=Math.max(t,n)+r}function vt(e,t,n){n||=(n=>e[n]1;)a=i+r>>1,n(a)?i=a:r=a;return{lo:i,hi:r}}var yt=(e,t,n,r)=>vt(e,n,r?r=>{let i=e[r][t];return ie[r][t]vt(e,n,r=>e[r][t]>=n);function xt(e,t,n){let r=0,i=e.length;for(;rr&&e[i-1]>n;)i--;return r>0||i{let n=`_onData`+qe(t),r=e[t];Object.defineProperty(e,t,{configurable:!0,enumerable:!1,value(...t){let i=r.apply(this,t);return e._chartjs.listeners.forEach(e=>{typeof e[n]==`function`&&e[n](...t)}),i}})})}function wt(e,t){let n=e._chartjs;if(!n)return;let r=n.listeners,i=r.indexOf(t);i!==-1&&r.splice(i,1),!(r.length>0)&&(St.forEach(t=>{delete e[t]}),delete e._chartjs)}function Tt(e){let t=new Set(e);return t.size===e.length?e:Array.from(t)}var Et=function(){return typeof window>`u`?function(e){return e()}:window.requestAnimationFrame}();function Dt(e,t){let n=[],r=!1;return function(...i){n=i,r||(r=!0,Et.call(window,()=>{r=!1,e.apply(t,n)}))}}function Ot(e,t){let n;return function(...r){return t?(clearTimeout(n),n=setTimeout(e,t,r)):e.apply(this,r),t}}var kt=e=>e===`start`?`left`:e===`end`?`right`:`center`,G=(e,t,n)=>e===`start`?t:e===`end`?n:(t+n)/2,At=(e,t,n,r)=>e===(r?`left`:`right`)?n:e===`center`?(t+n)/2:t;function jt(e,t,n){let r=t.length,i=0,a=r;if(e._sorted){let{iScale:o,vScale:s,_parsed:c}=e,l=e.dataset&&e.dataset.options?e.dataset.options.spanGaps:null,u=o.axis,{min:d,max:f,minDefined:p,maxDefined:m}=o.getUserBounds();if(p){if(i=Math.min(yt(c,u,d).lo,n?r:yt(t,u,o.getPixelForValue(d)).lo),l){let e=c.slice(0,i+1).reverse().findIndex(e=>!k(e[s.axis]));i-=Math.max(0,e)}i=U(i,0,r-1)}if(m){let e=Math.max(yt(c,o.axis,f,!0).hi+1,n?0:yt(t,u,o.getPixelForValue(f),!0).hi+1);if(l){let t=c.slice(e-1).findIndex(e=>!k(e[s.axis]));e+=Math.max(0,t)}a=U(e,i,r)-i}else a=r-i}return{start:i,count:a}}function Mt(e){let{xScale:t,yScale:n,_scaleRanges:r}=e,i={xmin:t.min,xmax:t.max,ymin:n.min,ymax:n.max};if(!r)return e._scaleRanges=i,!0;let a=r.xmin!==t.min||r.xmax!==t.max||r.ymin!==n.min||r.ymax!==n.max;return Object.assign(r,i),a}var Nt=e=>e===0||e===1,Pt=(e,t,n)=>-(2**(10*--e)*Math.sin((e-t)*R/n)),Ft=(e,t,n)=>2**(-10*e)*Math.sin((e-t)*R/n)+1,It={linear:e=>e,easeInQuad:e=>e*e,easeOutQuad:e=>-e*(e-2),easeInOutQuad:e=>(e/=.5)<1?.5*e*e:-.5*(--e*(e-2)-1),easeInCubic:e=>e*e*e,easeOutCubic:e=>--e*e*e+1,easeInOutCubic:e=>(e/=.5)<1?.5*e*e*e:.5*((e-=2)*e*e+2),easeInQuart:e=>e*e*e*e,easeOutQuart:e=>-(--e*e*e*e-1),easeInOutQuart:e=>(e/=.5)<1?.5*e*e*e*e:-.5*((e-=2)*e*e*e-2),easeInQuint:e=>e*e*e*e*e,easeOutQuint:e=>--e*e*e*e*e+1,easeInOutQuint:e=>(e/=.5)<1?.5*e*e*e*e*e:.5*((e-=2)*e*e*e*e+2),easeInSine:e=>-Math.cos(e*z)+1,easeOutSine:e=>Math.sin(e*z),easeInOutSine:e=>-.5*(Math.cos(L*e)-1),easeInExpo:e=>e===0?0:2**(10*(e-1)),easeOutExpo:e=>e===1?1:-(2**(-10*e))+1,easeInOutExpo:e=>Nt(e)?e:e<.5?.5*2**(10*(e*2-1)):.5*(-(2**(-10*(e*2-1)))+2),easeInCirc:e=>e>=1?e:-(Math.sqrt(1-e*e)-1),easeOutCirc:e=>Math.sqrt(1- --e*e),easeInOutCirc:e=>(e/=.5)<1?-.5*(Math.sqrt(1-e*e)-1):.5*(Math.sqrt(1-(e-=2)*e)+1),easeInElastic:e=>Nt(e)?e:Pt(e,.075,.3),easeOutElastic:e=>Nt(e)?e:Ft(e,.075,.3),easeInOutElastic(e){let t=.1125,n=.45;return Nt(e)?e:e<.5?.5*Pt(e*2,t,n):.5+.5*Ft(e*2-1,t,n)},easeInBack(e){return e*e*(2.70158*e-1.70158)},easeOutBack(e){return--e*e*(2.70158*e+1.70158)+1},easeInOutBack(e){let t=1.70158;return(e/=.5)<1?.5*(e*e*(((t*=1.525)+1)*e-t)):.5*((e-=2)*e*(((t*=1.525)+1)*e+t)+2)},easeInBounce:e=>1-It.easeOutBounce(1-e),easeOutBounce(e){let t=7.5625,n=2.75;return e<1/n?t*e*e:e<2/n?t*(e-=1.5/n)*e+.75:e<2.5/n?t*(e-=2.25/n)*e+.9375:t*(e-=2.625/n)*e+.984375},easeInOutBounce:e=>e<.5?It.easeInBounce(e*2)*.5:It.easeOutBounce(e*2-1)*.5+.5};function Lt(e){if(e&&typeof e==`object`){let t=e.toString();return t===`[object CanvasPattern]`||t===`[object CanvasGradient]`}return!1}function Rt(e){return Lt(e)?e:new je(e)}function zt(e){return Lt(e)?e:new je(e).saturate(.5).darken(.1).hexString()}var Bt=[`x`,`y`,`borderWidth`,`radius`,`tension`],Vt=[`color`,`borderColor`,`backgroundColor`];function Ht(e){e.set(`animation`,{delay:void 0,duration:1e3,easing:`easeOutQuart`,fn:void 0,from:void 0,loop:void 0,to:void 0,type:void 0}),e.describe(`animation`,{_fallback:!1,_indexable:!1,_scriptable:e=>e!==`onProgress`&&e!==`onComplete`&&e!==`fn`}),e.set(`animations`,{colors:{type:`color`,properties:Vt},numbers:{type:`number`,properties:Bt}}),e.describe(`animations`,{_fallback:`animation`}),e.set(`transitions`,{active:{animation:{duration:400}},resize:{animation:{duration:0}},show:{animations:{colors:{from:`transparent`},visible:{type:`boolean`,duration:0}}},hide:{animations:{colors:{to:`transparent`},visible:{type:`boolean`,easing:`linear`,fn:e=>e|0}}}})}function Ut(e){e.set(`layout`,{autoPadding:!0,padding:{top:0,right:0,bottom:0,left:0}})}var Wt=new Map;function Gt(e,t){t||={};let n=e+JSON.stringify(t),r=Wt.get(n);return r||(r=new Intl.NumberFormat(e,t),Wt.set(n,r)),r}function Kt(e,t,n){return Gt(t,n).format(e)}var qt={values(e){return A(e)?e:``+e},numeric(e,t,n){if(e===0)return`0`;let r=this.chart.options.locale,i,a=e;if(n.length>1){let t=Math.max(Math.abs(n[0].value),Math.abs(n[n.length-1].value));(t<1e-4||t>0x38d7ea4c68000)&&(i=`scientific`),a=Jt(e,n)}let o=rt(Math.abs(a)),s=isNaN(o)?1:Math.max(Math.min(-1*Math.floor(o),20),0),c={notation:i,minimumFractionDigits:s,maximumFractionDigits:s};return Object.assign(c,this.options.ticks.format),Kt(e,r,c)},logarithmic(e,t,n){if(e===0)return`0`;let r=n[t].significand||e/10**Math.floor(rt(e));return[1,2,3,5,10,15].includes(r)||t>.8*n.length?qt.numeric.call(this,e,t,n):``}};function Jt(e,t){let n=t.length>3?t[2].value-t[1].value:t[1].value-t[0].value;return Math.abs(n)>=1&&e!==Math.floor(e)&&(n=e-Math.floor(e)),n}var Yt={formatters:qt};function Xt(e){e.set(`scale`,{display:!0,offset:!1,reverse:!1,beginAtZero:!1,bounds:`ticks`,clip:!0,grace:0,grid:{display:!0,lineWidth:1,drawOnChartArea:!0,drawTicks:!0,tickLength:8,tickWidth:(e,t)=>t.lineWidth,tickColor:(e,t)=>t.color,offset:!1},border:{display:!0,dash:[],dashOffset:0,width:1},title:{display:!1,text:``,padding:{top:4,bottom:4}},ticks:{minRotation:0,maxRotation:50,mirror:!1,textStrokeWidth:0,textStrokeColor:``,padding:3,display:!0,autoSkip:!0,autoSkipPadding:3,labelOffset:0,callback:Yt.formatters.values,minor:{},major:{},align:`center`,crossAlign:`near`,showLabelBackdrop:!1,backdropColor:`rgba(255, 255, 255, 0.75)`,backdropPadding:2}}),e.route(`scale.ticks`,`color`,``,`color`),e.route(`scale.grid`,`color`,``,`borderColor`),e.route(`scale.border`,`color`,``,`borderColor`),e.route(`scale.title`,`color`,``,`color`),e.describe(`scale`,{_fallback:!1,_scriptable:e=>!e.startsWith(`before`)&&!e.startsWith(`after`)&&e!==`callback`&&e!==`parser`,_indexable:e=>e!==`borderDash`&&e!==`tickBorderDash`&&e!==`dash`}),e.describe(`scales`,{_fallback:`scale`}),e.describe(`scale.ticks`,{_scriptable:e=>e!==`backdropPadding`&&e!==`callback`,_indexable:e=>e!==`backdropPadding`})}var Zt=Object.create(null),Qt=Object.create(null);function $t(e,t){if(!t)return e;let n=t.split(`.`);for(let t=0,r=n.length;te.chart.platform.getDevicePixelRatio(),this.elements={},this.events=[`mousemove`,`mouseout`,`click`,`touchstart`,`touchmove`],this.font={family:`'Helvetica Neue', 'Helvetica', 'Arial', sans-serif`,size:12,style:`normal`,lineHeight:1.2,weight:null},this.hover={},this.hoverBackgroundColor=(e,t)=>zt(t.backgroundColor),this.hoverBorderColor=(e,t)=>zt(t.borderColor),this.hoverColor=(e,t)=>zt(t.color),this.indexAxis=`x`,this.interaction={mode:`nearest`,intersect:!0,includeInvisible:!1},this.maintainAspectRatio=!0,this.onHover=null,this.onClick=null,this.parsing=!0,this.plugins={},this.responsive=!0,this.scale=void 0,this.scales={},this.showLine=!0,this.drawActiveElementsOnTop=!0,this.describe(e),this.apply(t)}set(e,t){return en(this,e,t)}get(e){return $t(this,e)}describe(e,t){return en(Qt,e,t)}override(e,t){return en(Zt,e,t)}route(e,t,n,r){let i=$t(this,e),a=$t(this,n),o=`_`+t;Object.defineProperties(i,{[o]:{value:i[t],writable:!0},[t]:{enumerable:!0,get(){let e=this[o],t=a[r];return j(e)?Object.assign({},t,e):P(e,t)},set(e){this[o]=e}}})}apply(e){e.forEach(e=>e(this))}}({_scriptable:e=>!e.startsWith(`on`),_indexable:e=>e!==`events`,hover:{_fallback:`interaction`},interaction:{_scriptable:!1,_indexable:!1}},[Ht,Ut,Xt]);function tn(e){return!e||k(e.size)||k(e.family)?null:(e.style?e.style+` `:``)+(e.weight?e.weight+` `:``)+e.size+`px `+e.family}function nn(e,t,n,r,i){let a=t[i];return a||(a=t[i]=e.measureText(i).width,n.push(i)),a>r&&(r=a),r}function rn(e,t,n,r){r||={};let i=r.data=r.data||{},a=r.garbageCollect=r.garbageCollect||[];r.font!==t&&(i=r.data={},a=r.garbageCollect=[],r.font=t),e.save(),e.font=t;let o=0,s=n.length,c,l,u,d,f;for(c=0;cn.length){for(c=0;c0&&e.stroke()}}function ln(e,t,n){return n||=.5,!t||e&&e.x>t.left-n&&e.xt.top-n&&e.y0&&a.strokeColor!==``,c,l;for(e.save(),e.font=i.string,mn(e,a),c=0;c+e||0;function Cn(e,t){let n={},r=j(t),i=r?Object.keys(t):t,a=j(e)?r?n=>P(e[n],e[t[n]]):t=>e[t]:()=>e;for(let e of i)n[e]=Sn(a(e));return n}function wn(e){return Cn(e,{top:`y`,right:`x`,bottom:`y`,left:`x`})}function Tn(e){return Cn(e,[`topLeft`,`topRight`,`bottomLeft`,`bottomRight`])}function q(e){let t=wn(e);return t.width=t.left+t.right,t.height=t.top+t.bottom,t}function J(e,t){e||={},t||=K.font;let n=P(e.size,t.size);typeof n==`string`&&(n=parseInt(n,10));let r=P(e.style,t.style);r&&!(``+r).match(bn)&&(console.warn(`Invalid font style specified: "`+r+`"`),r=void 0);let i={family:P(e.family,t.family),lineHeight:xn(P(e.lineHeight,t.lineHeight),n),size:n,style:r,weight:P(e.weight,t.weight),string:``};return i.string=tn(i),i}function En(e,t,n,r){let i=!0,a,o,s;for(a=0,o=e.length;an&&e===0?0:e+t;return{min:o(r,-Math.abs(a)),max:o(i,a)}}function On(e,t){return Object.assign(Object.create(e),t)}function kn(e,t=[``],n,r,i=()=>e[0]){let a=n||e;return r===void 0&&(r=Gn(`_fallback`,e)),new Proxy({[Symbol.toStringTag]:`Object`,_cacheable:!0,_scopes:e,_rootScopes:a,_fallback:r,_getTarget:i,override:n=>kn([n,...e],t,a,r)},{deleteProperty(t,n){return delete t[n],delete t._keys,delete e[0][n],!0},get(n,r){return Pn(n,r,()=>Wn(r,t,e,n))},getOwnPropertyDescriptor(e,t){return Reflect.getOwnPropertyDescriptor(e._scopes[0],t)},getPrototypeOf(){return Reflect.getPrototypeOf(e[0])},has(e,t){return Kn(e).includes(t)},ownKeys(e){return Kn(e)},set(e,t,n){let r=e._storage||=i();return e[t]=r[t]=n,delete e._keys,!0}})}function An(e,t,n,r){let i={_cacheable:!1,_proxy:e,_context:t,_subProxy:n,_stack:new Set,_descriptors:jn(e,r),setContext:t=>An(e,t,n,r),override:i=>An(e.override(i),t,n,r)};return new Proxy(i,{deleteProperty(t,n){return delete t[n],delete e[n],!0},get(e,t,n){return Pn(e,t,()=>Fn(e,t,n))},getOwnPropertyDescriptor(t,n){return t._descriptors.allKeys?Reflect.has(e,n)?{enumerable:!0,configurable:!0}:void 0:Reflect.getOwnPropertyDescriptor(e,n)},getPrototypeOf(){return Reflect.getPrototypeOf(e)},has(t,n){return Reflect.has(e,n)},ownKeys(){return Reflect.ownKeys(e)},set(t,n,r){return e[n]=r,delete t[n],!0}})}function jn(e,t={scriptable:!0,indexable:!0}){let{_scriptable:n=t.scriptable,_indexable:r=t.indexable,_allKeys:i=t.allKeys}=e;return{allKeys:i,scriptable:n,indexable:r,isScriptable:Ye(n)?n:()=>n,isIndexable:Ye(r)?r:()=>r}}var Mn=(e,t)=>e?e+qe(t):t,Nn=(e,t)=>j(t)&&e!==`adapters`&&(Object.getPrototypeOf(t)===null||t.constructor===Object);function Pn(e,t,n){if(Object.prototype.hasOwnProperty.call(e,t)||t===`constructor`)return e[t];let r=n();return e[t]=r,r}function Fn(e,t,n){let{_proxy:r,_context:i,_subProxy:a,_descriptors:o}=e,s=r[t];return Ye(s)&&o.isScriptable(t)&&(s=In(t,s,e,n)),A(s)&&s.length&&(s=Ln(t,s,e,o.isIndexable)),Nn(t,s)&&(s=An(s,i,a&&a[t],o)),s}function In(e,t,n,r){let{_proxy:i,_context:a,_subProxy:o,_stack:s}=n;if(s.has(e))throw Error(`Recursion detected: `+Array.from(s).join(`->`)+`->`+e);s.add(e);let c=t(a,o||r);return s.delete(e),Nn(e,c)&&(c=Vn(i._scopes,i,e,c)),c}function Ln(e,t,n,r){let{_proxy:i,_context:a,_subProxy:o,_descriptors:s}=n;if(a.index!==void 0&&r(e))return t[a.index%t.length];if(j(t[0])){let n=t,r=i._scopes.filter(e=>e!==n);t=[];for(let c of n){let n=Vn(r,i,e,c);t.push(An(n,a,o&&o[e],s))}}return t}function Rn(e,t,n){return Ye(e)?e(t,n):e}var zn=(e,t)=>e===!0?t:typeof e==`string`?Ke(t,e):void 0;function Bn(e,t,n,r,i){for(let a of t){let t=zn(n,a);if(t){e.add(t);let a=Rn(t._fallback,n,i);if(a!==void 0&&a!==n&&a!==r)return a}else if(t===!1&&r!==void 0&&n!==r)return null}return!1}function Vn(e,t,n,r){let i=t._rootScopes,a=Rn(t._fallback,n,r),o=[...e,...i],s=new Set;s.add(r);let c=Hn(s,o,n,a||n,r);return c===null||a!==void 0&&a!==n&&(c=Hn(s,o,a,c,r),c===null)?!1:kn(Array.from(s),[``],i,a,()=>Un(t,n,r))}function Hn(e,t,n,r,i){for(;n;)n=Bn(e,t,n,r,i);return n}function Un(e,t,n){let r=e._getTarget();t in r||(r[t]={});let i=r[t];return A(i)&&j(n)?n:i||{}}function Wn(e,t,n,r){let i;for(let a of t)if(i=Gn(Mn(a,e),n),i!==void 0)return Nn(e,i)?Vn(n,r,e,i):i}function Gn(e,t){for(let n of t){if(!n)continue;let t=n[e];if(t!==void 0)return t}}function Kn(e){let t=e._keys;return t||=e._keys=qn(e._scopes),t}function qn(e){let t=new Set;for(let n of e)for(let e of Object.keys(n).filter(e=>!e.startsWith(`_`)))t.add(e);return Array.from(t)}function Jn(e,t,n,r){let{iScale:i}=e,{key:a=`r`}=this._parsing,o=Array(r),s,c,l,u;for(s=0,c=r;ste===`x`?`y`:`x`;function Qn(e,t,n,r){let i=e.skip?t:e,a=t,o=n.skip?t:n,s=mt(a,i),c=mt(o,a),l=s/(s+c),u=c/(s+c);l=isNaN(l)?0:l,u=isNaN(u)?0:u;let d=r*l,f=r*u;return{previous:{x:a.x-d*(o.x-i.x),y:a.y-d*(o.y-i.y)},next:{x:a.x+f*(o.x-i.x),y:a.y+f*(o.y-i.y)}}}function $n(e,t,n){let r=e.length,i,a,o,s,c,l=Xn(e,0);for(let u=0;u!e.skip)),t.cubicInterpolationMode===`monotone`)tr(e,i);else{let n=r?e[e.length-1]:e[0];for(a=0,o=e.length;ae.ownerDocument.defaultView.getComputedStyle(e,null);function lr(e,t){return cr(e).getPropertyValue(t)}var ur=[`top`,`right`,`bottom`,`left`];function dr(e,t,n){let r={};n=n?`-`+n:``;for(let i=0;i<4;i++){let a=ur[i];r[a]=parseFloat(e[t+`-`+a+n])||0}return r.width=r.left+r.right,r.height=r.top+r.bottom,r}var fr=(e,t,n)=>(e>0||t>0)&&(!n||!n.shadowRoot);function pr(e,t){let n=e.touches,r=n&&n.length?n[0]:e,{offsetX:i,offsetY:a}=r,o=!1,s,c;if(fr(i,a,e.target))s=i,c=a;else{let e=t.getBoundingClientRect();s=r.clientX-e.left,c=r.clientY-e.top,o=!0}return{x:s,y:c,box:o}}function mr(e,t){if(`native`in e)return e;let{canvas:n,currentDevicePixelRatio:r}=t,i=cr(n),a=i.boxSizing===`border-box`,o=dr(i,`padding`),s=dr(i,`border`,`width`),{x:c,y:l,box:u}=pr(e,n),d=o.left+(u&&s.left),f=o.top+(u&&s.top),{width:p,height:m}=t;return a&&(p-=o.width+s.width,m-=o.height+s.height),{x:Math.round((c-d)/p*n.width/r),y:Math.round((l-f)/m*n.height/r)}}function hr(e,t,n){let r,i;if(t===void 0||n===void 0){let a=e&&or(e);if(!a)t=e.clientWidth,n=e.clientHeight;else{let e=a.getBoundingClientRect(),o=cr(a),s=dr(o,`border`,`width`),c=dr(o,`padding`);t=e.width-c.width-s.width,n=e.height-c.height-s.height,r=sr(o.maxWidth,a,`clientWidth`),i=sr(o.maxHeight,a,`clientHeight`)}}return{width:t,height:n,maxWidth:r||$e,maxHeight:i||$e}}var gr=e=>Math.round(e*10)/10;function _r(e,t,n,r){let i=cr(e),a=dr(i,`margin`),o=sr(i.maxWidth,e,`clientWidth`)||$e,s=sr(i.maxHeight,e,`clientHeight`)||$e,c=hr(e,t,n),{width:l,height:u}=c;if(i.boxSizing===`content-box`){let e=dr(i,`border`,`width`),t=dr(i,`padding`);l-=t.width+e.width,u-=t.height+e.height}return l=Math.max(0,l-a.width),u=Math.max(0,r?l/r:u-a.height),l=gr(Math.min(l,o,c.maxWidth)),u=gr(Math.min(u,s,c.maxHeight)),l&&!u&&(u=gr(l/2)),(t!==void 0||n!==void 0)&&r&&c.height&&u>c.height&&(u=c.height,l=gr(Math.floor(u*r))),{width:l,height:u}}function vr(e,t,n){let r=t||1,i=gr(e.height*r),a=gr(e.width*r);e.height=gr(e.height),e.width=gr(e.width);let o=e.canvas;return o.style&&(n||!o.style.height&&!o.style.width)&&(o.style.height=`${e.height}px`,o.style.width=`${e.width}px`),e.currentDevicePixelRatio!==r||o.height!==i||o.width!==a?(e.currentDevicePixelRatio=r,o.height=i,o.width=a,e.ctx.setTransform(r,0,0,r,0,0),!0):!1}var yr=function(){let e=!1;try{let t={get passive(){return e=!0,!1}};ar()&&(window.addEventListener(`test`,null,t),window.removeEventListener(`test`,null,t))}catch{}return e}();function br(e,t){let n=lr(e,t),r=n&&n.match(/^(\d+)(\.\d+)?px$/);return r?+r[1]:void 0}function xr(e,t,n,r){return{x:e.x+n*(t.x-e.x),y:e.y+n*(t.y-e.y)}}function Sr(e,t,n,r){return{x:e.x+n*(t.x-e.x),y:r===`middle`?n<.5?e.y:t.y:r===`after`?n<1?e.y:t.y:n>0?t.y:e.y}}function Cr(e,t,n,r){let i={x:e.cp2x,y:e.cp2y},a={x:t.cp1x,y:t.cp1y},o=xr(e,i,n),s=xr(i,a,n),c=xr(a,t,n);return xr(xr(o,s,n),xr(s,c,n),n)}var wr=function(e,t){return{x(n){return e+e+t-n},setWidth(e){t=e},textAlign(e){return e===`center`?e:e===`right`?`left`:`right`},xPlus(e,t){return e-t},leftForLtr(e,t){return e-t}}},Tr=function(){return{x(e){return e},setWidth(e){},textAlign(e){return e},xPlus(e,t){return e+t},leftForLtr(e,t){return e}}};function Er(e,t,n){return e?wr(t,n):Tr()}function Dr(e,t){let n,r;(t===`ltr`||t===`rtl`)&&(n=e.canvas.style,r=[n.getPropertyValue(`direction`),n.getPropertyPriority(`direction`)],n.setProperty(`direction`,t,`important`),e.prevTextDirection=r)}function Or(e,t){t!==void 0&&(delete e.prevTextDirection,e.canvas.style.setProperty(`direction`,t[0],t[1]))}function kr(e){return e===`angle`?{between:gt,compare:ht,normalize:H}:{between:W,compare:(e,t)=>e-t,normalize:e=>e}}function Ar({start:e,end:t,count:n,loop:r,style:i}){return{start:e%n,end:t%n,loop:r&&(t-e+1)%n===0,style:i}}function jr(e,t,n){let{property:r,start:i,end:a}=n,{between:o,normalize:s}=kr(r),c=t.length,{start:l,end:u,loop:d}=e,f,p;if(d){for(l+=c,u+=c,f=0,p=c;fc(i,y,_)&&s(i,y)!==0,x=()=>s(a,_)===0||c(a,y,_),S=()=>h||b(),C=()=>!h||x();for(let e=u,n=u;e<=d;++e)v=t[e%o],!v.skip&&(_=l(v[r]),_!==y&&(h=c(_,i,a),g===null&&S()&&(g=s(_,i)===0?e:n),g!==null&&C()&&(m.push(Ar({start:g,end:e,loop:f,count:o,style:p})),g=null),n=e,y=_));return g!==null&&m.push(Ar({start:g,end:d,loop:f,count:o,style:p})),m}function Nr(e,t){let n=[],r=e.segments;for(let i=0;ii&&e[a%t].skip;)a--;return a%=t,{start:i,end:a}}function Fr(e,t,n,r){let i=e.length,a=[],o=t,s=e[t],c;for(c=t+1;c<=n;++c){let n=e[c%i];n.skip||n.stop?s.skip||(r=!1,a.push({start:t%i,end:(c-1)%i,loop:r}),t=o=n.stop?c:null):(o=c,s.skip&&(t=c)),s=n}return o!==null&&a.push({start:t%i,end:o%i,loop:r}),a}function Ir(e,t){let n=e.points,r=e.options.spanGaps,i=n.length;if(!i)return[];let a=!!e._loop,{start:o,end:s}=Pr(n,i,a,r);return r===!0?Lr(e,[{start:o,end:s,loop:a}],n,t):Lr(e,Fr(n,o,sr({chart:e,initial:t.initial,numSteps:a,currentStep:Math.min(n-t.start,a)}))}_refresh(){this._request||=(this._running=!0,Et.call(window,()=>{this._update(),this._request=null,this._running&&this._refresh()}))}_update(e=Date.now()){let t=0;this._charts.forEach((n,r)=>{if(!n.running||!n.items.length)return;let i=n.items,a=i.length-1,o=!1,s;for(;a>=0;--a)s=i[a],s._active?(s._total>n.duration&&(n.duration=s._total),s.tick(e),o=!0):(i[a]=i[i.length-1],i.pop());o&&(r.draw(),this._notify(r,n,e,`progress`)),i.length||(n.running=!1,this._notify(r,n,e,`complete`),n.initial=!1),t+=i.length}),this._lastDate=e,t===0&&(this._running=!1)}_getAnims(e){let t=this._charts,n=t.get(e);return n||(n={running:!1,initial:!0,items:[],listeners:{complete:[],progress:[]}},t.set(e,n)),n}listen(e,t,n){this._getAnims(e).listeners[t].push(n)}add(e,t){!t||!t.length||this._getAnims(e).items.push(...t)}has(e){return this._getAnims(e).items.length>0}start(e){let t=this._charts.get(e);t&&(t.running=!0,t.start=Date.now(),t.duration=t.items.reduce((e,t)=>Math.max(e,t._duration),0),this._refresh())}running(e){if(!this._running)return!1;let t=this._charts.get(e);return!(!t||!t.running||!t.items.length)}stop(e){let t=this._charts.get(e);if(!t||!t.items.length)return;let n=t.items,r=n.length-1;for(;r>=0;--r)n[r].cancel();t.items=[],this._notify(e,t,Date.now(),`complete`)}remove(e){return this._charts.delete(e)}},Gr=`transparent`,Kr={boolean(e,t,n){return n>.5?t:e},color(e,t,n){let r=Rt(e||Gr),i=r.valid&&Rt(t||Gr);return i&&i.valid?i.mix(r,n).hexString():t},number(e,t,n){return e+(t-e)*n}},qr=class{constructor(e,t,n,r){let i=t[n];r=En([e.to,r,i,e.from]);let a=En([e.from,i,r]);this._active=!0,this._fn=e.fn||Kr[e.type||typeof a],this._easing=It[e.easing]||It.linear,this._start=Math.floor(Date.now()+(e.delay||0)),this._duration=this._total=Math.floor(e.duration),this._loop=!!e.loop,this._target=t,this._prop=n,this._from=a,this._to=r,this._promises=void 0}active(){return this._active}update(e,t,n){if(this._active){this._notify(!1);let r=this._target[this._prop],i=n-this._start,a=this._duration-i;this._start=n,this._duration=Math.floor(Math.max(a,e.duration)),this._total+=i,this._loop=!!e.loop,this._to=En([e.to,t,r,e.from]),this._from=En([e.from,r,t])}}cancel(){this._active&&(this.tick(Date.now()),this._active=!1,this._notify(!1))}tick(e){let t=e-this._start,n=this._duration,r=this._prop,i=this._from,a=this._loop,o=this._to,s;if(this._active=i!==o&&(a||t1?2-s:s,s=this._easing(Math.min(1,Math.max(0,s))),this._target[r]=this._fn(i,o,s)}wait(){let e=this._promises||=[];return new Promise((t,n)=>{e.push({res:t,rej:n})})}_notify(e){let t=e?`res`:`rej`,n=this._promises||[];for(let e=0;e{let i=e[r];if(!j(i))return;let a={};for(let e of t)a[e]=i[e];(A(i.properties)&&i.properties||[r]).forEach(e=>{(e===r||!n.has(e))&&n.set(e,a)})})}_animateOptions(e,t){let n=t.options,r=Xr(e,n);if(!r)return[];let i=this._createAnimations(r,n);return n.$shared&&Yr(e.options.$animations,n).then(()=>{e.options=n},()=>{}),i}_createAnimations(e,t){let n=this._properties,r=[],i=e.$animations||={},a=Object.keys(t),o=Date.now(),s;for(s=a.length-1;s>=0;--s){let c=a[s];if(c.charAt(0)===`$`)continue;if(c===`options`){r.push(...this._animateOptions(e,t));continue}let l=t[c],u=i[c],d=n.get(c);if(u)if(d&&u.active()){u.update(d,l,o);continue}else u.cancel();if(!d||!d.duration){e[c]=l;continue}i[c]=u=new qr(d,e,c,l),r.push(u)}return r}update(e,t){if(this._properties.size===0){Object.assign(e,t);return}let n=this._createAnimations(e,t);if(n.length)return Wr.add(this._chart,n),!0}};function Yr(e,t){let n=[],r=Object.keys(t);for(let t=0;t0||!n&&t<0)return i.index}return null}function ci(e,t){let{chart:n,_cachedMeta:r}=e,i=n._stacks||={},{iScale:a,vScale:o,index:s}=r,c=a.axis,l=o.axis,u=ii(a,o,r),d=t.length,f;for(let e=0;en[e].axis===t).shift()}function ui(e,t){return On(e,{active:!1,dataset:void 0,datasetIndex:t,index:t,mode:`default`,type:`dataset`})}function di(e,t,n){return On(e,{active:!1,dataIndex:t,parsed:void 0,raw:void 0,element:n,index:t,mode:`default`,type:`data`})}function fi(e,t){let n=e.controller.index,r=e.vScale&&e.vScale.axis;if(r){t||=e._parsed;for(let e of t){let t=e._stacks;if(!t||t[r]===void 0||t[r][n]===void 0)return;delete t[r][n],t[r]._visualValues!==void 0&&t[r]._visualValues[n]!==void 0&&delete t[r]._visualValues[n]}}}var pi=e=>e===`reset`||e===`none`,mi=(e,t)=>t?e:Object.assign({},e),hi=(e,t,n)=>e&&!t.hidden&&t._stacked&&{keys:ei(n,!0),values:null},gi=class{static defaults={};static datasetElementType=null;static dataElementType=null;constructor(e,t){this.chart=e,this._ctx=e.ctx,this.index=t,this._cachedDataOpts={},this._cachedMeta=this.getMeta(),this._type=this._cachedMeta.type,this.options=void 0,this._parsing=!1,this._data=void 0,this._objectData=void 0,this._sharedOptions=void 0,this._drawStart=void 0,this._drawCount=void 0,this.enableOptionSharing=!1,this.supportsDecimation=!1,this.$context=void 0,this._syncList=[],this.datasetElementType=new.target.datasetElementType,this.dataElementType=new.target.dataElementType,this.initialize()}initialize(){let e=this._cachedMeta;this.configure(),this.linkScales(),e._stacked=ri(e.vScale,e),this.addElements(),this.options.fill&&!this.chart.isPluginEnabled(`filler`)&&console.warn(`Tried to use the 'fill' option without the 'Filler' plugin enabled. Please import and register the 'Filler' plugin and make sure it is not disabled in the options`)}updateIndex(e){this.index!==e&&fi(this._cachedMeta),this.index=e}linkScales(){let e=this.chart,t=this._cachedMeta,n=this.getDataset(),r=(e,t,n,r)=>e===`x`?t:e===`r`?r:n,i=t.xAxisID=P(n.xAxisID,li(e,`x`)),a=t.yAxisID=P(n.yAxisID,li(e,`y`)),o=t.rAxisID=P(n.rAxisID,li(e,`r`)),s=t.indexAxis,c=t.iAxisID=r(s,i,a,o),l=t.vAxisID=r(s,a,i,o);t.xScale=this.getScaleForId(i),t.yScale=this.getScaleForId(a),t.rScale=this.getScaleForId(o),t.iScale=this.getScaleForId(c),t.vScale=this.getScaleForId(l)}getDataset(){return this.chart.data.datasets[this.index]}getMeta(){return this.chart.getDatasetMeta(this.index)}getScaleForId(e){return this.chart.scales[e]}_getOtherScale(e){let t=this._cachedMeta;return e===t.iScale?t.vScale:t.iScale}reset(){this._update(`reset`)}_destroy(){let e=this._cachedMeta;this._data&&wt(this._data,this),e._stacked&&fi(e)}_dataCheck(){let e=this.getDataset(),t=e.data||=[],n=this._data;if(j(t)){let e=this._cachedMeta;this._data=ni(t,e)}else if(n!==t){if(n){wt(n,this);let e=this._cachedMeta;fi(e),e._parsed=[]}t&&Object.isExtensible(t)&&Ct(t,this),this._syncList=[],this._data=t}}addElements(){let e=this._cachedMeta;this._dataCheck(),this.datasetElementType&&(e.dataset=new this.datasetElementType)}buildOrUpdateElements(e){let t=this._cachedMeta,n=this.getDataset(),r=!1;this._dataCheck();let i=t._stacked;t._stacked=ri(t.vScale,t),t.stack!==n.stack&&(r=!0,fi(t),t.stack=n.stack),this._resyncElements(e),(r||i!==t._stacked)&&(ci(this,t._parsed),t._stacked=ri(t.vScale,t))}configure(){let e=this.chart.config,t=e.datasetScopeKeys(this._type),n=e.getOptionScopes(this.getDataset(),t,!0);this.options=e.createResolver(n,this.getContext()),this._parsing=this.options.parsing,this._cachedDataOpts={}}parse(e,t){let{_cachedMeta:n,_data:r}=this,{iScale:i,_stacked:a}=n,o=i.axis,s=e===0&&t===r.length?!0:n._sorted,c=e>0&&n._parsed[e-1],l,u,d;if(this._parsing===!1)n._parsed=r,n._sorted=!0,d=r;else{d=A(r[e])?this.parseArrayData(n,r,e,t):j(r[e])?this.parseObjectData(n,r,e,t):this.parsePrimitiveData(n,r,e,t);let i=()=>u[o]===null||c&&u[o]t||u=0;--d)if(!p()){this.updateRangeFromParsed(c,e,f,s);break}}return c}getAllParsedValues(e){let t=this._cachedMeta._parsed,n=[],r,i,a;for(r=0,i=t.length;r=0&&ethis.getContext(n,r,t),u);return p.$shared&&(p.$shared=s,i[a]=Object.freeze(mi(p,s))),p}_resolveAnimations(e,t,n){let r=this.chart,i=this._cachedDataOpts,a=`animation-${t}`,o=i[a];if(o)return o;let s;if(r.options.animation!==!1){let r=this.chart.config,i=r.datasetAnimationScopeKeys(this._type,t),a=r.getOptionScopes(this.getDataset(),i);s=r.createResolver(a,this.getContext(e,n,t))}let c=new Jr(r,s&&s.animations);return s&&s._cacheable&&(i[a]=Object.freeze(c)),c}getSharedOptions(e){if(e.$shared)return this._sharedOptions||=Object.assign({},e)}includeOptions(e,t){return!t||pi(e)||this.chart._animationsDisabled}_getSharedOptions(e,t){let n=this.resolveDataElementOptions(e,t),r=this._sharedOptions,i=this.getSharedOptions(n),a=this.includeOptions(t,i)||i!==r;return this.updateSharedOptions(i,t,n),{sharedOptions:i,includeOptions:a}}updateElement(e,t,n,r){pi(r)?Object.assign(e,n):this._resolveAnimations(t,r).update(e,n)}updateSharedOptions(e,t,n){e&&!pi(t)&&this._resolveAnimations(void 0,t).update(e,n)}_setStyle(e,t,n,r){e.active=r;let i=this.getStyle(t,r);this._resolveAnimations(t,n,r).update(e,{options:!r&&this.getSharedOptions(i)||i})}removeHoverStyle(e,t,n){this._setStyle(e,n,`active`,!1)}setHoverStyle(e,t,n){this._setStyle(e,n,`active`,!0)}_removeDatasetHoverStyle(){let e=this._cachedMeta.dataset;e&&this._setStyle(e,void 0,`active`,!1)}_setDatasetHoverStyle(){let e=this._cachedMeta.dataset;e&&this._setStyle(e,void 0,`active`,!0)}_resyncElements(e){let t=this._data,n=this._cachedMeta.data;for(let[e,t,n]of this._syncList)this[e](t,n);this._syncList=[];let r=n.length,i=t.length,a=Math.min(i,r);a&&this.parse(0,a),i>r?this._insertElements(r,i-r,e):i{for(e.length+=t,o=e.length-1;o>=a;o--)e[o]=e[o-t]};for(s(i),o=e;oe-t))}return e._cache.$bar}function vi(e){let t=e.iScale,n=_i(t,e.type),r=t._length,i,a,o,s,c=()=>{o===32767||o===-32768||(Je(s)&&(r=Math.min(r,Math.abs(o-s)||r)),s=o)};for(i=0,a=n.length;i0?i[e-1]:null,s=eMath.abs(s)&&(c=s,l=o),t[n.axis]=l,t._custom={barStart:c,barEnd:l,start:i,end:a,min:o,max:s}}function Si(e,t,n,r){return A(e)?xi(e,t,n,r):t[n.axis]=n.parse(e,r),t}function Ci(e,t,n,r){let i=e.iScale,a=e.vScale,o=i.getLabels(),s=i===a,c=[],l,u,d,f;for(l=n,u=n+r;l=n?1:-1):B(e)}function Ei(e){let t,n,r,i,a;return e.horizontal?(t=e.base>e.x,n=`left`,r=`right`):(t=e.basee.controller.options.grouped),i=n.options.stacked,a=[],o=this._cachedMeta.controller.getParsed(t),s=o&&o[n.axis],c=e=>{let t=e._parsed.find(e=>e[n.axis]===s),r=t&&t[e.vScale.axis];if(k(r)||isNaN(r))return!0};for(let n of r)if(!(t!==void 0&&c(n))&&((i===!1||a.indexOf(n.stack)===-1||i===void 0&&n.stack===void 0)&&a.push(n.stack),n.index===e))break;return a.length||a.push(void 0),a}_getStackCount(e){return this._getStacks(void 0,e).length}_getAxisCount(){return this._getAxis().length}getFirstScaleIdForIndexAxis(){let e=this.chart.scales,t=this.chart.options.indexAxis;return Object.keys(e).filter(n=>e[n].axis===t).shift()}_getAxis(){let e={},t=this.getFirstScaleIdForIndexAxis();for(let n of this.chart.data.datasets)e[P(this.chart.options.indexAxis===`x`?n.xAxisID:n.yAxisID,t)]=!0;return Object.keys(e)}_getStackIndex(e,t,n){let r=this._getStacks(e,n),i=t===void 0?-1:r.indexOf(t);return i===-1?r.length-1:i}_getRuler(){let e=this.options,t=this._cachedMeta,n=t.iScale,r=[],i,a;for(i=0,a=t.data.length;i=0;--n)t=Math.max(t,e[n].size(this.resolveDataElementOptions(n))/2);return t>0&&t}getLabelAndValue(e){let t=this._cachedMeta,n=this.chart.data.labels||[],{xScale:r,yScale:i}=t,a=this.getParsed(e),o=r.getLabelForValue(a.x),s=i.getLabelForValue(a.y),c=a._custom;return{label:n[e]||``,value:`(`+o+`, `+s+(c?`, `+c:``)+`)`}}update(e){let t=this._cachedMeta.data;this.updateElements(t,0,t.length,e)}updateElements(e,t,n,r){let i=r===`reset`,{iScale:a,vScale:o}=this._cachedMeta,{sharedOptions:s,includeOptions:c}=this._getSharedOptions(t,r),l=a.axis,u=o.axis;for(let d=t;dgt(e,s,c,!0)?1:Math.max(t,t*n,r,r*n),m=(e,t,r)=>gt(e,s,c,!0)?-1:Math.min(t,t*n,r,r*n),h=p(0,l,d),g=p(z,u,f),_=m(L,l,d),v=m(L+z,u,f);r=(h-_)/2,i=(g-v)/2,a=-(h+_)/2,o=-(g+v)/2}return{ratioX:r,ratioY:i,offsetX:a,offsetY:o}}var Fi=class extends gi{static id=`doughnut`;static defaults={datasetElementType:!1,dataElementType:`arc`,animation:{animateRotate:!0,animateScale:!1},animations:{numbers:{type:`number`,properties:[`circumference`,`endAngle`,`innerRadius`,`outerRadius`,`startAngle`,`x`,`y`,`offset`,`borderWidth`,`spacing`]}},cutout:`50%`,rotation:0,circumference:360,radius:`100%`,spacing:0,indexAxis:`r`};static descriptors={_scriptable:e=>e!==`spacing`,_indexable:e=>e!==`spacing`&&!e.startsWith(`borderDash`)&&!e.startsWith(`hoverBorderDash`)};static overrides={aspectRatio:1,plugins:{legend:{labels:{generateLabels(e){let t=e.data,{labels:{pointStyle:n,textAlign:r,color:i,useBorderRadius:a,borderRadius:o}}=e.legend.options;return t.labels.length&&t.datasets.length?t.labels.map((t,s)=>{let c=e.getDatasetMeta(0).controller.getStyle(s);return{text:t,fillStyle:c.backgroundColor,fontColor:i,hidden:!e.getDataVisibility(s),lineDash:c.borderDash,lineDashOffset:c.borderDashOffset,lineJoin:c.borderJoinStyle,lineWidth:c.borderWidth,strokeStyle:c.borderColor,textAlign:r,pointStyle:n,borderRadius:a&&(o||c.borderRadius),index:s}}):[]}},onClick(e,t,n){n.chart.toggleDataVisibility(t.index),n.chart.update()}}}};constructor(e,t){super(e,t),this.enableOptionSharing=!0,this.innerRadius=void 0,this.outerRadius=void 0,this.offsetX=void 0,this.offsetY=void 0}linkScales(){}parse(e,t){let n=this.getDataset().data,r=this._cachedMeta;if(this._parsing===!1)r._parsed=n;else{let i=e=>+n[e];if(j(n[e])){let{key:e=`value`}=this._parsing;i=t=>+Ke(n[t],e)}let a,o;for(a=e,o=e+t;a0&&!isNaN(e)?Math.abs(e)/t*R:0}getLabelAndValue(e){let t=this._cachedMeta,n=this.chart,r=n.data.labels||[],i=Kt(t._parsed[e],n.options.locale);return{label:r[e]||``,value:i}}getMaxBorderWidth(e){let t=0,n=this.chart,r,i,a,o,s;if(!e){for(r=0,i=n.data.datasets.length;r0&&this.getParsed(t-1);for(let n=0;n=_){v.skip=!0;continue}let b=this.getParsed(n),x=k(b[f]),S=v[d]=a.getPixelForValue(b[d],n),C=v[f]=i||x?o.getBasePixel():o.getPixelForValue(s?this.applyStack(o,b,s):b[f],n);v.skip=isNaN(S)||isNaN(C)||x,v.stop=n>0&&Math.abs(b[d]-y[d])>h,m&&(v.parsed=b,v.raw=c.data[n]),u&&(v.options=l||this.resolveDataElementOptions(n,p.active?`active`:r)),g||this.updateElement(p,n,v,r),y=b}}getMaxOverflow(){let e=this._cachedMeta,t=e.dataset,n=t.options&&t.options.borderWidth||0,r=e.data||[];if(!r.length)return n;let i=r[0].size(this.resolveDataElementOptions(0)),a=r[r.length-1].size(this.resolveDataElementOptions(r.length-1));return Math.max(n,i,a)/2}draw(){let e=this._cachedMeta;e.dataset.updateControlPoints(this.chart.chartArea,e.iScale.axis),super.draw()}},Li=class extends gi{static id=`polarArea`;static defaults={dataElementType:`arc`,animation:{animateRotate:!0,animateScale:!0},animations:{numbers:{type:`number`,properties:[`x`,`y`,`startAngle`,`endAngle`,`innerRadius`,`outerRadius`]}},indexAxis:`r`,startAngle:0};static overrides={aspectRatio:1,plugins:{legend:{labels:{generateLabels(e){let t=e.data;if(t.labels.length&&t.datasets.length){let{labels:{pointStyle:n,color:r}}=e.legend.options;return t.labels.map((t,i)=>{let a=e.getDatasetMeta(0).controller.getStyle(i);return{text:t,fillStyle:a.backgroundColor,strokeStyle:a.borderColor,fontColor:r,lineWidth:a.borderWidth,pointStyle:n,hidden:!e.getDataVisibility(i),index:i}})}return[]}},onClick(e,t,n){n.chart.toggleDataVisibility(t.index),n.chart.update()}}},scales:{r:{type:`radialLinear`,angleLines:{display:!1},beginAtZero:!0,grid:{circular:!0},pointLabels:{display:!1},startAngle:0}}};constructor(e,t){super(e,t),this.innerRadius=void 0,this.outerRadius=void 0}getLabelAndValue(e){let t=this._cachedMeta,n=this.chart,r=n.data.labels||[],i=Kt(t._parsed[e].r,n.options.locale);return{label:r[e]||``,value:i}}parseObjectData(e,t,n,r){return Jn.bind(this)(e,t,n,r)}update(e){let t=this._cachedMeta.data;this._updateRadius(),this.updateElements(t,0,t.length,e)}getMinMax(){let e=this._cachedMeta,t={min:1/0,max:-1/0};return e.data.forEach((e,n)=>{let r=this.getParsed(n).r;!isNaN(r)&&this.chart.getDataVisibility(n)&&(rt.max&&(t.max=r))}),t}_updateRadius(){let e=this.chart,t=e.chartArea,n=e.options,r=Math.min(t.right-t.left,t.bottom-t.top),i=Math.max(r/2,0),a=(i-Math.max(n.cutoutPercentage?i/100*n.cutoutPercentage:1,0))/e.getVisibleDatasetCount();this.outerRadius=i-a*this.index,this.innerRadius=this.outerRadius-a}updateElements(e,t,n,r){let i=r===`reset`,a=this.chart,o=a.options.animation,s=this._cachedMeta.rScale,c=s.xCenter,l=s.yCenter,u=s.getIndexAngle(0)-.5*L,d=u,f,p=360/this.countVisibleElements();for(f=0;f{!isNaN(this.getParsed(n).r)&&this.chart.getDataVisibility(n)&&t++}),t}_computeAngle(e,t,n){return this.chart.getDataVisibility(e)?V(this.resolveDataElementOptions(e,t).angle||n):0}},Ri=Object.freeze({__proto__:null,BarController:Mi,BubbleController:Ni,DoughnutController:Fi,LineController:Ii,PieController:class extends Fi{static id=`pie`;static defaults={cutout:0,rotation:0,circumference:360,radius:`100%`}},PolarAreaController:Li,RadarController:class extends gi{static id=`radar`;static defaults={datasetElementType:`line`,dataElementType:`point`,indexAxis:`r`,showLine:!0,elements:{line:{fill:`start`}}};static overrides={aspectRatio:1,scales:{r:{type:`radialLinear`}}};getLabelAndValue(e){let t=this._cachedMeta.vScale,n=this.getParsed(e);return{label:t.getLabels()[e],value:``+t.getLabelForValue(n[t.axis])}}parseObjectData(e,t,n,r){return Jn.bind(this)(e,t,n,r)}update(e){let t=this._cachedMeta,n=t.dataset,r=t.data||[],i=t.iScale.getLabels();if(n.points=r,e!==`resize`){let t=this.resolveDatasetElementOptions(e);this.options.showLine||(t.borderWidth=0);let a={_loop:!0,_fullLoop:i.length===r.length,options:t};this.updateElement(n,void 0,a,e)}this.updateElements(r,0,r.length,e)}updateElements(e,t,n,r){let i=this._cachedMeta.rScale,a=r===`reset`;for(let o=t;o0&&this.getParsed(t-1);for(let l=t;l0&&Math.abs(n[f]-v[f])>g,h&&(m.parsed=n,m.raw=c.data[l]),d&&(m.options=u||this.resolveDataElementOptions(l,t.active?`active`:r)),_||this.updateElement(t,l,m,r),v=n}this.updateSharedOptions(u,r,l)}getMaxOverflow(){let e=this._cachedMeta,t=e.data||[];if(!this.options.showLine){let e=0;for(let n=t.length-1;n>=0;--n)e=Math.max(e,t[n].size(this.resolveDataElementOptions(n))/2);return e>0&&e}let n=e.dataset,r=n.options&&n.options.borderWidth||0;if(!t.length)return r;let i=t[0].size(this.resolveDataElementOptions(0)),a=t[t.length-1].size(this.resolveDataElementOptions(t.length-1));return Math.max(r,i,a)/2}}});function zi(){throw Error(`This method is not implemented: Check that a complete date adapter is provided.`)}var Bi={_date:class e{static override(t){Object.assign(e.prototype,t)}options;constructor(e){this.options=e||{}}init(){}formats(){return zi()}parse(){return zi()}format(){return zi()}add(){return zi()}diff(){return zi()}startOf(){return zi()}endOf(){return zi()}}};function Vi(e,t,n,r){let{controller:i,data:a,_sorted:o}=e,s=i._cachedMeta.iScale,c=e.dataset&&e.dataset.options?e.dataset.options.spanGaps:null;if(s&&t===s.axis&&t!==`r`&&o&&a.length){let o=s._reversePixels?bt:yt;if(!r){let r=o(a,t,n);if(c){let{vScale:t}=i._cachedMeta,{_parsed:n}=e,a=n.slice(0,r.lo+1).reverse().findIndex(e=>!k(e[t.axis]));r.lo-=Math.max(0,a);let o=n.slice(r.hi).findIndex(e=>!k(e[t.axis]));r.hi+=Math.max(0,o)}return r}else if(i._sharedOptions){let e=a[0],r=typeof e.getRange==`function`&&e.getRange(t);if(r){let e=o(a,t,n-r),i=o(a,t,n+r);return{lo:e.lo,hi:i.hi}}}}return{lo:0,hi:a.length-1}}function Hi(e,t,n,r,i){let a=e.getSortedVisibleDatasetMetas(),o=n[t];for(let e=0,n=a.length;e{e[o]&&e[o](t[n],i)&&(a.push({element:e,datasetIndex:r,index:c}),s||=e.inRange(t.x,t.y,i))}),r&&!s?[]:a}var Yi={evaluateInteractionItems:Hi,modes:{index(e,t,n,r){let i=mr(t,e),a=n.axis||`x`,o=n.includeInvisible||!1,s=n.intersect?Wi(e,i,a,r,o):qi(e,i,a,!1,r,o),c=[];return s.length?(e.getSortedVisibleDatasetMetas().forEach(e=>{let t=s[0].index,n=e.data[t];n&&!n.skip&&c.push({element:n,datasetIndex:e.index,index:t})}),c):[]},dataset(e,t,n,r){let i=mr(t,e),a=n.axis||`xy`,o=n.includeInvisible||!1,s=n.intersect?Wi(e,i,a,r,o):qi(e,i,a,!1,r,o);if(s.length>0){let t=s[0].datasetIndex,n=e.getDatasetMeta(t).data;s=[];for(let e=0;ee.pos===t)}function Qi(e,t){return e.filter(e=>Xi.indexOf(e.pos)===-1&&e.box.axis===t)}function $i(e,t){return e.sort((e,n)=>{let r=t?n:e,i=t?e:n;return r.weight===i.weight?r.index-i.index:r.weight-i.weight})}function ea(e){let t=[],n,r,i,a,o,s;for(n=0,r=(e||[]).length;ne.box.fullSize),!0),r=$i(Zi(t,`left`),!0),i=$i(Zi(t,`right`)),a=$i(Zi(t,`top`),!0),o=$i(Zi(t,`bottom`)),s=Qi(t,`x`),c=Qi(t,`y`);return{fullSize:n,leftAndTop:r.concat(a),rightAndBottom:i.concat(c).concat(o).concat(s),chartArea:Zi(t,`chartArea`),vertical:r.concat(i).concat(c),horizontal:a.concat(o).concat(s)}}function ia(e,t,n,r){return Math.max(e[n],t[n])+Math.max(e[r],t[r])}function aa(e,t){e.top=Math.max(e.top,t.top),e.left=Math.max(e.left,t.left),e.bottom=Math.max(e.bottom,t.bottom),e.right=Math.max(e.right,t.right)}function oa(e,t,n,r){let{pos:i,box:a}=n,o=e.maxPadding;if(!j(i)){n.size&&(e[i]-=n.size);let t=r[n.stack]||{size:0,count:1};t.size=Math.max(t.size,n.horizontal?a.height:a.width),n.size=t.size/t.count,e[i]+=n.size}a.getPadding&&aa(o,a.getPadding());let s=Math.max(0,t.outerWidth-ia(o,e,`left`,`right`)),c=Math.max(0,t.outerHeight-ia(o,e,`top`,`bottom`)),l=s!==e.w,u=c!==e.h;return e.w=s,e.h=c,n.horizontal?{same:l,other:u}:{same:u,other:l}}function sa(e){let t=e.maxPadding;function n(n){let r=Math.max(t[n]-e[n],0);return e[n]+=r,r}e.y+=n(`top`),e.x+=n(`left`),n(`right`),n(`bottom`)}function ca(e,t){let n=t.maxPadding;function r(e){let r={left:0,top:0,right:0,bottom:0};return e.forEach(e=>{r[e]=Math.max(t[e],n[e])}),r}return r(e?[`left`,`right`]:[`top`,`bottom`])}function la(e,t,n,r){let i=[],a,o,s,c,l,u;for(a=0,o=e.length,l=0;a{typeof e.beforeLayout==`function`&&e.beforeLayout()});let u=c.reduce((e,t)=>t.box.options&&t.box.options.display===!1?e:e+1,0)||1,d=Object.freeze({outerWidth:t,outerHeight:n,padding:i,availableWidth:a,availableHeight:o,vBoxMaxWidth:a/2/u,hBoxMaxHeight:o/2}),f=Object.assign({},i);aa(f,q(r));let p=Object.assign({maxPadding:f,w:a,h:o,x:i.left,y:i.top},i),m=na(c.concat(l),d);la(s.fullSize,p,d,m),la(c,p,d,m),la(l,p,d,m)&&la(c,p,d,m),sa(p),da(s.leftAndTop,p,d,m),p.x+=p.w,p.y+=p.h,da(s.rightAndBottom,p,d,m),e.chartArea={left:p.left,top:p.top,right:p.left+p.w,bottom:p.top+p.h,height:p.h,width:p.w},I(s.chartArea,t=>{let n=t.box;Object.assign(n,e.chartArea),n.update(p.w,p.h,{left:0,top:0,right:0,bottom:0})})}},fa=class{acquireContext(e,t){}releaseContext(e){return!1}addEventListener(e,t,n){}removeEventListener(e,t,n){}getDevicePixelRatio(){return 1}getMaximumSize(e,t,n,r){return t=Math.max(0,t||e.width),n||=e.height,{width:t,height:Math.max(0,r?Math.floor(t/r):n)}}isAttached(e){return!0}updateConfig(e){}},pa=class extends fa{acquireContext(e){return e&&e.getContext&&e.getContext(`2d`)||null}updateConfig(e){e.options.animation=!1}},ma=`$chartjs`,ha={touchstart:`mousedown`,touchmove:`mousemove`,touchend:`mouseup`,pointerenter:`mouseenter`,pointerdown:`mousedown`,pointermove:`mousemove`,pointerup:`mouseup`,pointerleave:`mouseout`,pointerout:`mouseout`},ga=e=>e===null||e===``;function _a(e,t){let n=e.style,r=e.getAttribute(`height`),i=e.getAttribute(`width`);if(e[ma]={initial:{height:r,width:i,style:{display:n.display,height:n.height,width:n.width}}},n.display=n.display||`block`,n.boxSizing=n.boxSizing||`border-box`,ga(i)){let t=br(e,`width`);t!==void 0&&(e.width=t)}if(ga(r))if(e.style.height===``)e.height=e.width/(t||2);else{let t=br(e,`height`);t!==void 0&&(e.height=t)}return e}var va=yr?{passive:!0}:!1;function ya(e,t,n){e&&e.addEventListener(t,n,va)}function ba(e,t,n){e&&e.canvas&&e.canvas.removeEventListener(t,n,va)}function xa(e,t){let n=ha[e.type]||e.type,{x:r,y:i}=mr(e,t);return{type:n,chart:t,native:e,x:r===void 0?null:r,y:i===void 0?null:i}}function Sa(e,t){for(let n of e)if(n===t||n.contains(t))return!0}function Ca(e,t,n){let r=e.canvas,i=new MutationObserver(e=>{let t=!1;for(let n of e)t||=Sa(n.addedNodes,r),t&&=!Sa(n.removedNodes,r);t&&n()});return i.observe(document,{childList:!0,subtree:!0}),i}function wa(e,t,n){let r=e.canvas,i=new MutationObserver(e=>{let t=!1;for(let n of e)t||=Sa(n.removedNodes,r),t&&=!Sa(n.addedNodes,r);t&&n()});return i.observe(document,{childList:!0,subtree:!0}),i}var Ta=new Map,Ea=0;function Da(){let e=window.devicePixelRatio;e!==Ea&&(Ea=e,Ta.forEach((t,n)=>{n.currentDevicePixelRatio!==e&&t()}))}function Oa(e,t){Ta.size||window.addEventListener(`resize`,Da),Ta.set(e,t)}function ka(e){Ta.delete(e),Ta.size||window.removeEventListener(`resize`,Da)}function Aa(e,t,n){let r=e.canvas,i=r&&or(r);if(!i)return;let a=Dt((e,t)=>{let r=i.clientWidth;n(e,t),r{let t=e[0],n=t.contentRect.width,r=t.contentRect.height;n===0&&r===0||a(n,r)});return o.observe(i),Oa(e,a),o}function ja(e,t,n){n&&n.disconnect(),t===`resize`&&ka(e)}function Ma(e,t,n){let r=e.canvas,i=Dt(t=>{e.ctx!==null&&n(xa(t,e))},e);return ya(r,t,i),i}var Na=class extends fa{acquireContext(e,t){let n=e&&e.getContext&&e.getContext(`2d`);return n&&n.canvas===e?(_a(e,t),n):null}releaseContext(e){let t=e.canvas;if(!t[ma])return!1;let n=t[ma].initial;[`height`,`width`].forEach(e=>{let r=n[e];k(r)?t.removeAttribute(e):t.setAttribute(e,r)});let r=n.style||{};return Object.keys(r).forEach(e=>{t.style[e]=r[e]}),t.width=t.width,delete t[ma],!0}addEventListener(e,t,n){this.removeEventListener(e,t);let r=e.$proxies||={};r[t]=({attach:Ca,detach:wa,resize:Aa}[t]||Ma)(e,t,n)}removeEventListener(e,t){let n=e.$proxies||={},r=n[t];r&&(({attach:ja,detach:ja,resize:ja}[t]||ba)(e,t,r),n[t]=void 0)}getDevicePixelRatio(){return window.devicePixelRatio}getMaximumSize(e,t,n,r){return _r(e,t,n,r)}isAttached(e){let t=e&&or(e);return!!(t&&t.isConnected)}};function Pa(e){return!ar()||typeof OffscreenCanvas<`u`&&e instanceof OffscreenCanvas?pa:Na}var Fa=class{static defaults={};static defaultRoutes=void 0;x;y;active=!1;options;$animations;tooltipPosition(e){let{x:t,y:n}=this.getProps([`x`,`y`],e);return{x:t,y:n}}hasValue(){return ct(this.x)&&ct(this.y)}getProps(e,t){let n=this.$animations;if(!t||!n)return this;let r={};return e.forEach(e=>{r[e]=n[e]&&n[e].active()?n[e]._to:this[e]}),r}};function Ia(e,t){let n=e.options.ticks,r=La(e),i=Math.min(n.maxTicksLimit||r,r),a=n.major.enabled?za(t):[],o=a.length,s=a[0],c=a[o-1],l=[];if(o>i)return Ba(t,l,a,o/i),l;let u=Ra(a,t,i);if(o>0){let e,n,r=o>1?Math.round((c-s)/(o-1)):null;for(Va(t,l,u,k(r)?0:s-r,s),e=0,n=o-1;ei)return t}return Math.max(i,1)}function za(e){let t=[],n,r;for(n=0,r=e.length;ne===`left`?`right`:e===`right`?`left`:e,Wa=(e,t,n)=>t===`top`||t===`left`?e[t]+n:e[t]-n,Ga=(e,t)=>Math.min(t||e,e);function Ka(e,t){let n=[],r=e.length/t,i=e.length,a=0;for(;ao+s)))return c}function Ja(e,t){I(e,e=>{let n=e.gc,r=n.length/2,i;if(r>t){for(i=0;in?n:t,n=r&&t>n?t:n,{min:N(t,N(n,t)),max:N(n,N(t,n))}}getPadding(){return{left:this.paddingLeft||0,top:this.paddingTop||0,right:this.paddingRight||0,bottom:this.paddingBottom||0}}getTicks(){return this.ticks}getLabels(){let e=this.chart.data;return this.options.labels||(this.isHorizontal()?e.xLabels:e.yLabels)||e.labels||[]}getLabelItems(e=this.chart.chartArea){return this._labelItems||=this._computeLabelItems(e)}beforeLayout(){this._cache={},this._dataLimitsCached=!1}beforeUpdate(){F(this.options.beforeUpdate,[this])}update(e,t,n){let{beginAtZero:r,grace:i,ticks:a}=this.options,o=a.sampleSize;this.beforeUpdate(),this.maxWidth=e,this.maxHeight=t,this._margins=n=Object.assign({left:0,right:0,top:0,bottom:0},n),this.ticks=null,this._labelSizes=null,this._gridLineItems=null,this._labelItems=null,this.beforeSetDimensions(),this.setDimensions(),this.afterSetDimensions(),this._maxLength=this.isHorizontal()?this.width+n.left+n.right:this.height+n.top+n.bottom,this._dataLimitsCached||=(this.beforeDataLimits(),this.determineDataLimits(),this.afterDataLimits(),this._range=Dn(this,i,r),!0),this.beforeBuildTicks(),this.ticks=this.buildTicks()||[],this.afterBuildTicks();let s=o=i||n<=1||!this.isHorizontal()){this.labelRotation=r;return}let l=this._getLabelSizes(),u=l.widest.width,d=l.highest.height,f=U(this.chart.width-u,0,this.maxWidth);o=e.offset?this.maxWidth/n:f/(n-1),u+6>o&&(o=f/(n-(e.offset?.5:1)),s=this.maxHeight-Ya(e.grid)-t.padding-Xa(e.title,this.chart.options.font),c=Math.sqrt(u*u+d*d),a=dt(Math.min(Math.asin(U((l.highest.height+6)/o,-1,1)),Math.asin(U(s/c,-1,1))-Math.asin(U(d/c,-1,1)))),a=Math.max(r,Math.min(i,a))),this.labelRotation=a}afterCalculateLabelRotation(){F(this.options.afterCalculateLabelRotation,[this])}afterAutoSkip(){}beforeFit(){F(this.options.beforeFit,[this])}fit(){let e={width:0,height:0},{chart:t,options:{ticks:n,title:r,grid:i}}=this,a=this._isVisible(),o=this.isHorizontal();if(a){let a=Xa(r,t.options.font);if(o?(e.width=this.maxWidth,e.height=Ya(i)+a):(e.height=this.maxHeight,e.width=Ya(i)+a),n.display&&this.ticks.length){let{first:t,last:r,widest:i,highest:a}=this._getLabelSizes(),s=n.padding*2,c=V(this.labelRotation),l=Math.cos(c),u=Math.sin(c);if(o){let t=n.mirror?0:u*i.width+l*a.height;e.height=Math.min(this.maxHeight,e.height+t+s)}else{let t=n.mirror?0:l*i.width+u*a.height;e.width=Math.min(this.maxWidth,e.width+t+s)}this._calculatePadding(t,r,u,l)}}this._handleMargins(),o?(this.width=this._length=t.width-this._margins.left-this._margins.right,this.height=e.height):(this.width=e.width,this.height=this._length=t.height-this._margins.top-this._margins.bottom)}_calculatePadding(e,t,n,r){let{ticks:{align:i,padding:a},position:o}=this.options,s=this.labelRotation!==0,c=o!==`top`&&this.axis===`x`;if(this.isHorizontal()){let o=this.getPixelForTick(0)-this.left,l=this.right-this.getPixelForTick(this.ticks.length-1),u=0,d=0;s?c?(u=r*e.width,d=n*t.height):(u=n*e.height,d=r*t.width):i===`start`?d=t.width:i===`end`?u=e.width:i!==`inner`&&(u=e.width/2,d=t.width/2),this.paddingLeft=Math.max((u-o+a)*this.width/(this.width-o),0),this.paddingRight=Math.max((d-l+a)*this.width/(this.width-l),0)}else{let n=t.height/2,r=e.height/2;i===`start`?(n=0,r=e.height):i===`end`&&(n=t.height,r=0),this.paddingTop=n+a,this.paddingBottom=r+a}}_handleMargins(){this._margins&&(this._margins.left=Math.max(this.paddingLeft,this._margins.left),this._margins.top=Math.max(this.paddingTop,this._margins.top),this._margins.right=Math.max(this.paddingRight,this._margins.right),this._margins.bottom=Math.max(this.paddingBottom,this._margins.bottom))}afterFit(){F(this.options.afterFit,[this])}isHorizontal(){let{axis:e,position:t}=this.options;return t===`top`||t===`bottom`||e===`x`}isFullSize(){return this.options.fullSize}_convertTicksToLabels(e){this.beforeTickToLabelConversion(),this.generateTickLabels(e);let t,n;for(t=0,n=e.length;t({width:a[e]||0,height:o[e]||0});return{first:C(0),last:C(t-1),widest:C(x),highest:C(S),widths:a,heights:o}}getLabelForValue(e){return e}getPixelForValue(e,t){return NaN}getValueForPixel(e){}getPixelForTick(e){let t=this.ticks;return e<0||e>t.length-1?null:this.getPixelForValue(t[e].value)}getPixelForDecimal(e){this._reversePixels&&(e=1-e);let t=this._startPixel+e*this._length;return _t(this._alignToPixels?an(this.chart,t,0):t)}getDecimalForPixel(e){let t=(e-this._startPixel)/this._length;return this._reversePixels?1-t:t}getBasePixel(){return this.getPixelForValue(this.getBaseValue())}getBaseValue(){let{min:e,max:t}=this;return e<0&&t<0?t:e>0&&t>0?e:0}getContext(e){let t=this.ticks||[];if(e>=0&&eo*r?o/n:s/r:s*r0:!!e}_computeGridLineItems(e){let t=this.axis,n=this.chart,r=this.options,{grid:i,position:a,border:o}=r,s=i.offset,c=this.isHorizontal(),l=this.ticks.length+ +!!s,u=Ya(i),d=[],f=o.setContext(this.getContext()),p=f.display?f.width:0,m=p/2,h=function(e){return an(n,e,p)},g,_,v,y,b,x,S,C,w,T,E,D;if(a===`top`)g=h(this.bottom),x=this.bottom-u,C=g-m,T=h(e.top)+m,D=e.bottom;else if(a===`bottom`)g=h(this.top),T=e.top,D=h(e.bottom)-m,x=g+m,C=this.top+u;else if(a===`left`)g=h(this.right),b=this.right-u,S=g-m,w=h(e.left)+m,E=e.right;else if(a===`right`)g=h(this.left),w=e.left,E=h(e.right)-m,b=g+m,S=this.left+u;else if(t===`x`){if(a===`center`)g=h((e.top+e.bottom)/2+.5);else if(j(a)){let e=Object.keys(a)[0],t=a[e];g=h(this.chart.scales[e].getPixelForValue(t))}T=e.top,D=e.bottom,x=g+m,C=x+u}else if(t===`y`){if(a===`center`)g=h((e.left+e.right)/2);else if(j(a)){let e=Object.keys(a)[0],t=a[e];g=h(this.chart.scales[e].getPixelForValue(t))}b=g-m,S=b-u,w=e.left,E=e.right}let ee=P(r.ticks.maxTicksLimit,l),O=Math.max(1,Math.ceil(l/ee));for(_=0;_0&&(a-=r/2);break}f={left:a,top:i,width:r+t.width,height:n+t.height,color:e.backdropColor}}h.push({label:y,font:w,textOffset:D,options:{rotation:m,color:n,strokeColor:s,strokeWidth:l,textAlign:d,textBaseline:ee,translation:[b,x],backdrop:f}})}return h}_getXAxisLabelAlignment(){let{position:e,ticks:t}=this.options;if(-V(this.labelRotation))return e===`top`?`left`:`right`;let n=`center`;return t.align===`start`?n=`left`:t.align===`end`?n=`right`:t.align===`inner`&&(n=`inner`),n}_getYAxisLabelAlignment(e){let{position:t,ticks:{crossAlign:n,mirror:r,padding:i}}=this.options,a=this._getLabelSizes(),o=e+i,s=a.widest.width,c,l;return t===`left`?r?(l=this.right+i,n===`near`?c=`left`:n===`center`?(c=`center`,l+=s/2):(c=`right`,l+=s)):(l=this.right-o,n===`near`?c=`right`:n===`center`?(c=`center`,l-=s/2):(c=`left`,l=this.left)):t===`right`?r?(l=this.left+i,n===`near`?c=`right`:n===`center`?(c=`center`,l-=s/2):(c=`left`,l-=s)):(l=this.left+o,n===`near`?c=`left`:n===`center`?(c=`center`,l+=s/2):(c=`right`,l=this.right)):c=`right`,{textAlign:c,x:l}}_computeLabelArea(){if(this.options.ticks.mirror)return;let e=this.chart,t=this.options.position;if(t===`left`||t===`right`)return{top:0,left:this.left,bottom:e.height,right:this.right};if(t===`top`||t===`bottom`)return{top:this.top,left:0,bottom:this.bottom,right:e.width}}drawBackground(){let{ctx:e,options:{backgroundColor:t},left:n,top:r,width:i,height:a}=this;t&&(e.save(),e.fillStyle=t,e.fillRect(n,r,i,a),e.restore())}getLineWidthForValue(e){let t=this.options.grid;if(!this._isVisible()||!t.display)return 0;let n=this.ticks.findIndex(t=>t.value===e);return n>=0?t.setContext(this.getContext(n)).lineWidth:0}drawGrid(e){let t=this.options.grid,n=this.ctx,r=this._gridLineItems||=this._computeGridLineItems(e),i,a,o=(e,t,r)=>{!r.width||!r.color||(n.save(),n.lineWidth=r.width,n.strokeStyle=r.color,n.setLineDash(r.borderDash||[]),n.lineDashOffset=r.borderDashOffset,n.beginPath(),n.moveTo(e.x,e.y),n.lineTo(t.x,t.y),n.stroke(),n.restore())};if(t.display)for(i=0,a=r.length;i{this.draw(e)}}]:[{z:r,draw:e=>{this.drawBackground(),this.drawGrid(e),this.drawTitle()}},{z:i,draw:()=>{this.drawBorder()}},{z:n,draw:e=>{this.drawLabels(e)}}]}getMatchingVisibleMetas(e){let t=this.chart.getSortedVisibleDatasetMetas(),n=this.axis+`AxisID`,r=[],i,a;for(i=0,a=t.length;i{let r=n.split(`.`),i=r.pop(),a=[e].concat(r).join(`.`),o=t[n].split(`.`),s=o.pop(),c=o.join(`.`);K.route(a,i,c,s)})}function ao(e){return`id`in e&&`defaults`in e}var X=new class{constructor(){this.controllers=new no(gi,`datasets`,!0),this.elements=new no(Fa,`elements`),this.plugins=new no(Object,`plugins`),this.scales=new no(to,`scales`),this._typedRegistries=[this.controllers,this.scales,this.elements]}add(...e){this._each(`register`,e)}remove(...e){this._each(`unregister`,e)}addControllers(...e){this._each(`register`,e,this.controllers)}addElements(...e){this._each(`register`,e,this.elements)}addPlugins(...e){this._each(`register`,e,this.plugins)}addScales(...e){this._each(`register`,e,this.scales)}getController(e){return this._get(e,this.controllers,`controller`)}getElement(e){return this._get(e,this.elements,`element`)}getPlugin(e){return this._get(e,this.plugins,`plugin`)}getScale(e){return this._get(e,this.scales,`scale`)}removeControllers(...e){this._each(`unregister`,e,this.controllers)}removeElements(...e){this._each(`unregister`,e,this.elements)}removePlugins(...e){this._each(`unregister`,e,this.plugins)}removeScales(...e){this._each(`unregister`,e,this.scales)}_each(e,t,n){[...t].forEach(t=>{let r=n||this._getRegistryForType(t);n||r.isForType(t)||r===this.plugins&&t.id?this._exec(e,r,t):I(t,t=>{let r=n||this._getRegistryForType(t);this._exec(e,r,t)})})}_exec(e,t,n){let r=qe(e);F(n[`before`+r],[],n),t[e](n),F(n[`after`+r],[],n)}_getRegistryForType(e){for(let t=0;te.filter(e=>!t.some(t=>e.plugin.id===t.plugin.id));this._notify(r(t,n),e,`stop`),this._notify(r(n,t),e,`start`)}};function so(e){let t={},n=[],r=Object.keys(X.plugins.items);for(let e=0;e1&&ho(e[0].toLowerCase());if(t)return t}throw Error(`Cannot determine type of '${e}' axis. Please provide 'axis' or 'position' option.`)}function vo(e,t,n){if(n[t+`AxisID`]===e)return{axis:t}}function yo(e,t){if(t.data&&t.data.datasets){let n=t.data.datasets.filter(t=>t.xAxisID===e||t.yAxisID===e);if(n.length)return vo(e,`x`,n[0])||vo(e,`y`,n[0])}return{}}function bo(e,t){let n=Zt[e.type]||{scales:{}},r=t.scales||{},i=fo(e.type,t),a=Object.create(null);return Object.keys(r).forEach(t=>{let o=r[t];if(!j(o))return console.error(`Invalid scale configuration for scale: ${t}`);if(o._proxy)return console.warn(`Ignoring resolver passed as options for scale: ${t}`);let s=_o(t,o,yo(t,e),K.scales[o.type]),c=mo(s,i),l=n.scales||{};a[t]=Ve(Object.create(null),[{axis:s},o,l[s],l[c]])}),e.data.datasets.forEach(n=>{let i=n.type||e.type,o=n.indexAxis||fo(i,t),s=(Zt[i]||{}).scales||{};Object.keys(s).forEach(e=>{let t=po(e,o),i=n[t+`AxisID`]||t;a[i]=a[i]||Object.create(null),Ve(a[i],[{axis:t},r[i],s[e]])})}),Object.keys(a).forEach(e=>{let t=a[e];Ve(t,[K.scales[t.type],K.scale])}),a}function xo(e){let t=e.options||={};t.plugins=P(t.plugins,{}),t.scales=bo(e,t)}function So(e){return e||={},e.datasets=e.datasets||[],e.labels=e.labels||[],e}function Co(e){return e||={},e.data=So(e.data),xo(e),e}var wo=new Map,To=new Set;function Eo(e,t){let n=wo.get(e);return n||(n=t(),wo.set(e,n),To.add(n)),n}var Do=(e,t,n)=>{let r=Ke(t,n);r!==void 0&&e.add(r)},Oo=class{constructor(e){this._config=Co(e),this._scopeCache=new Map,this._resolverCache=new Map}get platform(){return this._config.platform}get type(){return this._config.type}set type(e){this._config.type=e}get data(){return this._config.data}set data(e){this._config.data=So(e)}get options(){return this._config.options}set options(e){this._config.options=e}get plugins(){return this._config.plugins}update(){let e=this._config;this.clearCache(),xo(e)}clearCache(){this._scopeCache.clear(),this._resolverCache.clear()}datasetScopeKeys(e){return Eo(e,()=>[[`datasets.${e}`,``]])}datasetAnimationScopeKeys(e,t){return Eo(`${e}.transition.${t}`,()=>[[`datasets.${e}.transitions.${t}`,`transitions.${t}`],[`datasets.${e}`,``]])}datasetElementScopeKeys(e,t){return Eo(`${e}-${t}`,()=>[[`datasets.${e}.elements.${t}`,`datasets.${e}`,`elements.${t}`,``]])}pluginScopeKeys(e){let t=e.id,n=this.type;return Eo(`${n}-plugin-${t}`,()=>[[`plugins.${t}`,...e.additionalOptionScopes||[]]])}_cachedScopes(e,t){let n=this._scopeCache,r=n.get(e);return(!r||t)&&(r=new Map,n.set(e,r)),r}getOptionScopes(e,t,n){let{options:r,type:i}=this,a=this._cachedScopes(e,n),o=a.get(t);if(o)return o;let s=new Set;t.forEach(t=>{e&&(s.add(e),t.forEach(t=>Do(s,e,t))),t.forEach(e=>Do(s,r,e)),t.forEach(e=>Do(s,Zt[i]||{},e)),t.forEach(e=>Do(s,K,e)),t.forEach(e=>Do(s,Qt,e))});let c=Array.from(s);return c.length===0&&c.push(Object.create(null)),To.has(t)&&a.set(t,c),c}chartOptionScopes(){let{options:e,type:t}=this;return[e,Zt[t]||{},K.datasets[t]||{},{type:t},K,Qt]}resolveNamedOptions(e,t,n,r=[``]){let i={$shared:!0},{resolver:a,subPrefixes:o}=ko(this._resolverCache,e,r),s=a;if(jo(a,t)){i.$shared=!1,n=Ye(n)?n():n;let t=this.createResolver(e,n,o);s=An(a,n,t)}for(let e of t)i[e]=s[e];return i}createResolver(e,t,n=[``],r){let{resolver:i}=ko(this._resolverCache,e,n);return j(t)?An(i,t,void 0,r):i}};function ko(e,t,n){let r=e.get(t);r||(r=new Map,e.set(t,r));let i=n.join(),a=r.get(i);return a||(a={resolver:kn(t,n),subPrefixes:n.filter(e=>!e.toLowerCase().includes(`hover`))},r.set(i,a)),a}var Ao=e=>j(e)&&Object.getOwnPropertyNames(e).some(t=>Ye(e[t]));function jo(e,t){let{isScriptable:n,isIndexable:r}=jn(e);for(let i of t){let t=n(i),a=r(i),o=(a||t)&&e[i];if(t&&(Ye(o)||Ao(o))||a&&A(o))return!0}return!1}var Mo=`4.5.1`,No=[`top`,`bottom`,`left`,`right`,`chartArea`];function Po(e,t){return e===`top`||e===`bottom`||No.indexOf(e)===-1&&t===`x`}function Fo(e,t){return function(n,r){return n[e]===r[e]?n[t]-r[t]:n[e]-r[e]}}function Io(e){let t=e.chart,n=t.options.animation;t.notifyPlugins(`afterRender`),F(n&&n.onComplete,[e],t)}function Lo(e){let t=e.chart,n=t.options.animation;F(n&&n.onProgress,[e],t)}function Ro(e){return ar()&&typeof e==`string`?e=document.getElementById(e):e&&e.length&&(e=e[0]),e&&e.canvas&&(e=e.canvas),e}var zo={},Bo=e=>{let t=Ro(e);return Object.values(zo).filter(e=>e.canvas===t).pop()};function Vo(e,t,n){let r=Object.keys(e);for(let i of r){let r=+i;if(r>=t){let a=e[i];delete e[i],(n>0||r>t)&&(e[r+n]=a)}}}function Ho(e,t,n,r){return!n||e.type===`mouseout`?null:r?t:e}var Uo=class{static defaults=K;static instances=zo;static overrides=Zt;static registry=X;static version=Mo;static getChart=Bo;static register(...e){X.add(...e),Wo()}static unregister(...e){X.remove(...e),Wo()}constructor(e,t){let n=this.config=new Oo(t),r=Ro(e),i=Bo(r);if(i)throw Error(`Canvas is already in use. Chart with ID '`+i.id+`' must be destroyed before the canvas with ID '`+i.canvas.id+`' can be reused.`);let a=n.createResolver(n.chartOptionScopes(),this.getContext());this.platform=new(n.platform||(Pa(r))),this.platform.updateConfig(n);let o=this.platform.acquireContext(r,a.aspectRatio),s=o&&o.canvas,c=s&&s.height,l=s&&s.width;if(this.id=Ne(),this.ctx=o,this.canvas=s,this.width=l,this.height=c,this._options=a,this._aspectRatio=this.aspectRatio,this._layers=[],this._metasets=[],this._stacks=void 0,this.boxes=[],this.currentDevicePixelRatio=void 0,this.chartArea=void 0,this._active=[],this._lastEvent=void 0,this._listeners={},this._responsiveListeners=void 0,this._sortedMetasets=[],this.scales={},this._plugins=new oo,this.$proxies={},this._hiddenIndices={},this.attached=!1,this._animationsDisabled=void 0,this.$context=void 0,this._doResize=Ot(e=>this.update(e),a.resizeDelay||0),this._dataChanges=[],zo[this.id]=this,!o||!s){console.error(`Failed to create chart: can't acquire context from the given item`);return}Wr.listen(this,`complete`,Io),Wr.listen(this,`progress`,Lo),this._initialize(),this.attached&&this.update()}get aspectRatio(){let{options:{aspectRatio:e,maintainAspectRatio:t},width:n,height:r,_aspectRatio:i}=this;return k(e)?t&&i?i:r?n/r:null:e}get data(){return this.config.data}set data(e){this.config.data=e}get options(){return this._options}set options(e){this.config.options=e}get registry(){return X}_initialize(){return this.notifyPlugins(`beforeInit`),this.options.responsive?this.resize():vr(this,this.options.devicePixelRatio),this.bindEvents(),this.notifyPlugins(`afterInit`),this}clear(){return on(this.canvas,this.ctx),this}stop(){return Wr.stop(this),this}resize(e,t){Wr.running(this)?this._resizeBeforeDraw={width:e,height:t}:this._resize(e,t)}_resize(e,t){let n=this.options,r=this.canvas,i=n.maintainAspectRatio&&this.aspectRatio,a=this.platform.getMaximumSize(r,e,t,i),o=n.devicePixelRatio||this.platform.getDevicePixelRatio(),s=this.width?`resize`:`attach`;this.width=a.width,this.height=a.height,this._aspectRatio=this.aspectRatio,vr(this,o,!0)&&(this.notifyPlugins(`resize`,{size:a}),F(n.onResize,[this,a],this),this.attached&&this._doResize(s)&&this.render())}ensureScalesHaveIDs(){I(this.options.scales||{},(e,t)=>{e.id=t})}buildOrUpdateScales(){let e=this.options,t=e.scales,n=this.scales,r=Object.keys(n).reduce((e,t)=>(e[t]=!1,e),{}),i=[];t&&(i=i.concat(Object.keys(t).map(e=>{let n=t[e],r=_o(e,n),i=r===`r`,a=r===`x`;return{options:n,dposition:i?`chartArea`:a?`bottom`:`left`,dtype:i?`radialLinear`:a?`category`:`linear`}}))),I(i,t=>{let i=t.options,a=i.id,o=_o(a,i),s=P(i.type,t.dtype);(i.position===void 0||Po(i.position,o)!==Po(t.dposition))&&(i.position=t.dposition),r[a]=!0;let c=null;a in n&&n[a].type===s?c=n[a]:(c=new(X.getScale(s))({id:a,type:s,ctx:this.ctx,chart:this}),n[c.id]=c),c.init(i,e)}),I(r,(e,t)=>{e||delete n[t]}),I(n,e=>{Y.configure(this,e,e.options),Y.addBox(this,e)})}_updateMetasets(){let e=this._metasets,t=this.data.datasets.length,n=e.length;if(e.sort((e,t)=>e.index-t.index),n>t){for(let e=t;et.length&&delete this._stacks,e.forEach((e,n)=>{t.filter(t=>t===e._dataset).length===0&&this._destroyDatasetMeta(n)})}buildOrUpdateControllers(){let e=[],t=this.data.datasets,n,r;for(this._removeUnreferencedMetasets(),n=0,r=t.length;n{this.getDatasetMeta(t).controller.reset()},this)}reset(){this._resetElements(),this.notifyPlugins(`reset`)}update(e){let t=this.config;t.update();let n=this._options=t.createResolver(t.chartOptionScopes(),this.getContext()),r=this._animationsDisabled=!n.animation;if(this._updateScales(),this._checkEventBindings(),this._updateHiddenIndices(),this._plugins.invalidate(),this.notifyPlugins(`beforeUpdate`,{mode:e,cancelable:!0})===!1)return;let i=this.buildOrUpdateControllers();this.notifyPlugins(`beforeElementsUpdate`);let a=0;for(let e=0,t=this.data.datasets.length;e{e.reset()}),this._updateDatasets(e),this.notifyPlugins(`afterUpdate`,{mode:e}),this._layers.sort(Fo(`z`,`_idx`));let{_active:o,_lastEvent:s}=this;s?this._eventHandler(s,!0):o.length&&this._updateHoverStyles(o,o,!0),this.render()}_updateScales(){I(this.scales,e=>{Y.removeBox(this,e)}),this.ensureScalesHaveIDs(),this.buildOrUpdateScales()}_checkEventBindings(){let e=this.options;(!Xe(new Set(Object.keys(this._listeners)),new Set(e.events))||!!this._responsiveListeners!==e.responsive)&&(this.unbindEvents(),this.bindEvents())}_updateHiddenIndices(){let{_hiddenIndices:e}=this,t=this._getUniformDataChanges()||[];for(let{method:n,start:r,count:i}of t)Vo(e,r,n===`_removeElements`?-i:i)}_getUniformDataChanges(){let e=this._dataChanges;if(!e||!e.length)return;this._dataChanges=[];let t=this.data.datasets.length,n=t=>new Set(e.filter(e=>e[0]===t).map((e,t)=>t+`,`+e.splice(1).join(`,`))),r=n(0);for(let e=1;ee.split(`,`)).map(e=>({method:e[1],start:+e[2],count:+e[3]}))}_updateLayout(e){if(this.notifyPlugins(`beforeLayout`,{cancelable:!0})===!1)return;Y.update(this,this.width,this.height,e);let t=this.chartArea,n=t.width<=0||t.height<=0;this._layers=[],I(this.boxes,e=>{n&&e.position===`chartArea`||(e.configure&&e.configure(),this._layers.push(...e._layers()))},this),this._layers.forEach((e,t)=>{e._idx=t}),this.notifyPlugins(`afterLayout`)}_updateDatasets(e){if(this.notifyPlugins(`beforeDatasetsUpdate`,{mode:e,cancelable:!0})!==!1){for(let e=0,t=this.data.datasets.length;e=0;--t)this._drawDataset(e[t]);this.notifyPlugins(`afterDatasetsDraw`)}_drawDataset(e){let t=this.ctx,n={meta:e,index:e.index,cancelable:!0},r=Ur(this,e);this.notifyPlugins(`beforeDatasetDraw`,n)!==!1&&(r&&un(t,r),e.controller.draw(),r&&dn(t),n.cancelable=!1,this.notifyPlugins(`afterDatasetDraw`,n))}isPointInArea(e){return ln(e,this.chartArea,this._minPadding)}getElementsAtEventForMode(e,t,n,r){let i=Yi.modes[t];return typeof i==`function`?i(this,e,n,r):[]}getDatasetMeta(e){let t=this.data.datasets[e],n=this._metasets,r=n.filter(e=>e&&e._dataset===t).pop();return r||(r={type:null,data:[],dataset:null,controller:null,hidden:null,xAxisID:null,yAxisID:null,order:t&&t.order||0,index:e,_dataset:t,_parsed:[],_sorted:!1},n.push(r)),r}getContext(){return this.$context||=On(null,{chart:this,type:`chart`})}getVisibleDatasetCount(){return this.getSortedVisibleDatasetMetas().length}isDatasetVisible(e){let t=this.data.datasets[e];if(!t)return!1;let n=this.getDatasetMeta(e);return typeof n.hidden==`boolean`?!n.hidden:!t.hidden}setDatasetVisibility(e,t){let n=this.getDatasetMeta(e);n.hidden=!t}toggleDataVisibility(e){this._hiddenIndices[e]=!this._hiddenIndices[e]}getDataVisibility(e){return!this._hiddenIndices[e]}_updateVisibility(e,t,n){let r=n?`show`:`hide`,i=this.getDatasetMeta(e),a=i.controller._resolveAnimations(void 0,r);Je(t)?(i.data[t].hidden=!n,this.update()):(this.setDatasetVisibility(e,n),a.update(i,{visible:n}),this.update(t=>t.datasetIndex===e?r:void 0))}hide(e,t){this._updateVisibility(e,t,!1)}show(e,t){this._updateVisibility(e,t,!0)}_destroyDatasetMeta(e){let t=this._metasets[e];t&&t.controller&&t.controller._destroy(),delete this._metasets[e]}_stop(){let e,t;for(this.stop(),Wr.remove(this),e=0,t=this.data.datasets.length;e{t.addEventListener(this,n,r),e[n]=r},r=(e,t,n)=>{e.offsetX=t,e.offsetY=n,this._eventHandler(e)};I(this.options.events,e=>n(e,r))}bindResponsiveEvents(){this._responsiveListeners||={};let e=this._responsiveListeners,t=this.platform,n=(n,r)=>{t.addEventListener(this,n,r),e[n]=r},r=(n,r)=>{e[n]&&(t.removeEventListener(this,n,r),delete e[n])},i=(e,t)=>{this.canvas&&this.resize(e,t)},a,o=()=>{r(`attach`,o),this.attached=!0,this.resize(),n(`resize`,i),n(`detach`,a)};a=()=>{this.attached=!1,r(`resize`,i),this._stop(),this._resize(0,0),n(`attach`,o)},t.isAttached(this.canvas)?o():a()}unbindEvents(){I(this._listeners,(e,t)=>{this.platform.removeEventListener(this,t,e)}),this._listeners={},I(this._responsiveListeners,(e,t)=>{this.platform.removeEventListener(this,t,e)}),this._responsiveListeners=void 0}updateHoverStyle(e,t,n){let r=n?`set`:`remove`,i,a,o,s;for(t===`dataset`&&(i=this.getDatasetMeta(e[0].datasetIndex),i.controller[`_`+r+`DatasetHoverStyle`]()),o=0,s=e.length;o{let n=this.getDatasetMeta(e);if(!n)throw Error(`No dataset found at index `+e);return{datasetIndex:e,element:n.data[t],index:t}});Ie(n,t)||(this._active=n,this._lastEvent=null,this._updateHoverStyles(n,t))}notifyPlugins(e,t,n){return this._plugins.notify(this,e,t,n)}isPluginEnabled(e){return this._plugins._cache.filter(t=>t.plugin.id===e).length===1}_updateHoverStyles(e,t,n){let r=this.options.hover,i=(e,t)=>e.filter(e=>!t.some(t=>e.datasetIndex===t.datasetIndex&&e.index===t.index)),a=i(t,e),o=n?e:i(e,t);a.length&&this.updateHoverStyle(a,r.mode,!1),o.length&&r.mode&&this.updateHoverStyle(o,r.mode,!0)}_eventHandler(e,t){let n={event:e,replay:t,cancelable:!0,inChartArea:this.isPointInArea(e)},r=t=>(t.options.events||this.options.events).includes(e.native.type);if(this.notifyPlugins(`beforeEvent`,n,r)===!1)return;let i=this._handleEvent(e,t,n.inChartArea);return n.cancelable=!1,this.notifyPlugins(`afterEvent`,n,r),(i||n.changed)&&this.render(),this}_handleEvent(e,t,n){let{_active:r=[],options:i}=this,a=t,o=this._getActiveElements(e,r,n,a),s=Ze(e),c=Ho(e,this._lastEvent,n,s);n&&(this._lastEvent=null,F(i.onHover,[e,o,this],this),s&&F(i.onClick,[e,o,this],this));let l=!Ie(o,r);return(l||t)&&(this._active=o,this._updateHoverStyles(o,r,t)),this._lastEvent=c,l}_getActiveElements(e,t,n,r){if(e.type===`mouseout`)return[];if(!n)return t;let i=this.options.hover;return this.getElementsAtEventForMode(e,i.mode,i,r)}};function Wo(){return I(Uo.instances,e=>e._plugins.invalidate())}function Go(e,t,n){let{startAngle:r,x:i,y:a,outerRadius:o,innerRadius:s,options:c}=t,{borderWidth:l,borderJoinStyle:u}=c,d=Math.min(l/o,H(r-n));if(e.beginPath(),e.arc(i,a,o-l/2,r+d/2,n-d/2),s>0){let t=Math.min(l/s,H(r-n));e.arc(i,a,s+l/2,n-t/2,r+t/2,!0)}else{let t=Math.min(l/2,o*H(r-n));if(u===`round`)e.arc(i,a,t,n-L/2,r+L/2,!0);else if(u===`bevel`){let o=2*t*t,s=-o*Math.cos(n+L/2)+i,c=-o*Math.sin(n+L/2)+a,l=o*Math.cos(r+L/2)+i,u=o*Math.sin(r+L/2)+a;e.lineTo(s,c),e.lineTo(l,u)}}e.closePath(),e.moveTo(0,0),e.rect(0,0,e.canvas.width,e.canvas.height),e.clip(`evenodd`)}function Ko(e,t,n){let{startAngle:r,pixelMargin:i,x:a,y:o,outerRadius:s,innerRadius:c}=t,l=i/s;e.beginPath(),e.arc(a,o,s,r-l,n+l),c>i?(l=i/c,e.arc(a,o,c,n+l,r-l,!0)):e.arc(a,o,i,n+z,r-z),e.closePath(),e.clip()}function qo(e){return Cn(e,[`outerStart`,`outerEnd`,`innerStart`,`innerEnd`])}function Jo(e,t,n,r){let i=qo(e.options.borderRadius),a=(n-t)/2,o=Math.min(a,r*t/2),s=e=>{let t=(n-Math.min(a,e))*r/2;return U(e,0,Math.min(a,t))};return{outerStart:s(i.outerStart),outerEnd:s(i.outerEnd),innerStart:U(i.innerStart,0,o),innerEnd:U(i.innerEnd,0,o)}}function Yo(e,t,n,r){return{x:n+e*Math.cos(t),y:r+e*Math.sin(t)}}function Xo(e,t,n,r,i,a){let{x:o,y:s,startAngle:c,pixelMargin:l,innerRadius:u}=t,d=Math.max(t.outerRadius+r+n-l,0),f=u>0?u+r+n+l:0,p=0,m=i-c;if(r){let e=((u>0?u-r:0)+(d>0?d-r:0))/2;p=(m-(e===0?m:m*e/(e+r)))/2}let h=(m-Math.max(.001,m*d-n/L)/d)/2,g=c+h+p,_=i-h-p,{outerStart:v,outerEnd:y,innerStart:b,innerEnd:x}=Jo(t,f,d,_-g),S=d-v,C=d-y,w=g+v/S,T=_-y/C,E=f+b,D=f+x,ee=g+b/E,O=_-x/D;if(e.beginPath(),a){let t=(w+T)/2;if(e.arc(o,s,d,w,t),e.arc(o,s,d,t,T),y>0){let t=Yo(C,T,o,s);e.arc(t.x,t.y,y,T,_+z)}let n=Yo(D,_,o,s);if(e.lineTo(n.x,n.y),x>0){let t=Yo(D,O,o,s);e.arc(t.x,t.y,x,_+z,O+Math.PI)}let r=(_-x/f+(g+b/f))/2;if(e.arc(o,s,f,_-x/f,r,!0),e.arc(o,s,f,r,g+b/f,!0),b>0){let t=Yo(E,ee,o,s);e.arc(t.x,t.y,b,ee+Math.PI,g-z)}let i=Yo(S,g,o,s);if(e.lineTo(i.x,i.y),v>0){let t=Yo(S,w,o,s);e.arc(t.x,t.y,v,g-z,w)}}else{e.moveTo(o,s);let t=Math.cos(w)*d+o,n=Math.sin(w)*d+s;e.lineTo(t,n);let r=Math.cos(T)*d+o,i=Math.sin(T)*d+s;e.lineTo(r,i)}e.closePath()}function Zo(e,t,n,r,i){let{fullCircles:a,startAngle:o,circumference:s}=t,c=t.endAngle;if(a){Xo(e,t,n,r,c,i);for(let t=0;t=L&&p===0&&u!==`miter`&&Go(e,t,h),a||(Xo(e,t,n,r,h,i),e.stroke())}var $o=class extends Fa{static id=`arc`;static defaults={borderAlign:`center`,borderColor:`#fff`,borderDash:[],borderDashOffset:0,borderJoinStyle:void 0,borderRadius:0,borderWidth:2,offset:0,spacing:0,angle:void 0,circular:!0,selfJoin:!1};static defaultRoutes={backgroundColor:`backgroundColor`};static descriptors={_scriptable:!0,_indexable:e=>e!==`borderDash`};circumference;endAngle;fullCircles;innerRadius;outerRadius;pixelMargin;startAngle;constructor(e){super(),this.options=void 0,this.circumference=void 0,this.startAngle=void 0,this.endAngle=void 0,this.innerRadius=void 0,this.outerRadius=void 0,this.pixelMargin=0,this.fullCircles=0,e&&Object.assign(this,e)}inRange(e,t,n){let{angle:r,distance:i}=pt(this.getProps([`x`,`y`],n),{x:e,y:t}),{startAngle:a,endAngle:o,innerRadius:s,outerRadius:c,circumference:l}=this.getProps([`startAngle`,`endAngle`,`innerRadius`,`outerRadius`,`circumference`],n),u=(this.options.spacing+this.options.borderWidth)/2,d=P(l,o-a),f=gt(r,a,o)&&a!==o,p=d>=R||f,m=W(i,s+u,c+u);return p&&m}getCenterPoint(e){let{x:t,y:n,startAngle:r,endAngle:i,innerRadius:a,outerRadius:o}=this.getProps([`x`,`y`,`startAngle`,`endAngle`,`innerRadius`,`outerRadius`],e),{offset:s,spacing:c}=this.options,l=(r+i)/2,u=(a+o+c+s)/2;return{x:t+Math.cos(l)*u,y:n+Math.sin(l)*u}}tooltipPosition(e){return this.getCenterPoint(e)}draw(e){let{options:t,circumference:n}=this,r=(t.offset||0)/4,i=(t.spacing||0)/2,a=t.circular;if(this.pixelMargin=t.borderAlign===`inner`?.33:0,this.fullCircles=n>R?Math.floor(n/R):0,n===0||this.innerRadius<0||this.outerRadius<0)return;e.save();let o=(this.startAngle+this.endAngle)/2;e.translate(Math.cos(o)*r,Math.sin(o)*r);let s=r*(1-Math.sin(Math.min(L,n||0)));e.fillStyle=t.backgroundColor,e.strokeStyle=t.borderColor,Zo(e,this,s,i,a),Qo(e,this,s,i,a),e.restore()}};function es(e,t,n=t){e.lineCap=P(n.borderCapStyle,t.borderCapStyle),e.setLineDash(P(n.borderDash,t.borderDash)),e.lineDashOffset=P(n.borderDashOffset,t.borderDashOffset),e.lineJoin=P(n.borderJoinStyle,t.borderJoinStyle),e.lineWidth=P(n.borderWidth,t.borderWidth),e.strokeStyle=P(n.borderColor,t.borderColor)}function ts(e,t,n){e.lineTo(n.x,n.y)}function ns(e){return e.stepped?fn:e.tension||e.cubicInterpolationMode===`monotone`?pn:ts}function rs(e,t,n={}){let r=e.length,{start:i=0,end:a=r-1}=n,{start:o,end:s}=t,c=Math.max(i,o),l=Math.min(a,s),u=is&&a>s;return{count:r,start:c,loop:t.loop,ilen:l(o+(l?s-e:e))%a,y=()=>{h!==g&&(e.lineTo(u,g),e.lineTo(u,h),e.lineTo(u,_))};for(c&&(p=i[v(0)],e.moveTo(p.x,p.y)),f=0;f<=s;++f){if(p=i[v(f)],p.skip)continue;let t=p.x,n=p.y,r=t|0;r===m?(ng&&(g=n),u=(d*u+t)/++d):(y(),e.lineTo(t,n),m=r,d=0,h=g=n),_=n}y()}function os(e){let t=e.options,n=t.borderDash&&t.borderDash.length;return!e._decimated&&!e._loop&&!t.tension&&t.cubicInterpolationMode!==`monotone`&&!t.stepped&&!n?as:is}function ss(e){return e.stepped?Sr:e.tension||e.cubicInterpolationMode===`monotone`?Cr:xr}function cs(e,t,n,r){let i=t._path;i||(i=t._path=new Path2D,t.path(i,n,r)&&i.closePath()),es(e,t.options),e.stroke(i)}function ls(e,t,n,r){let{segments:i,options:a}=t,o=os(t);for(let s of i)es(e,a,s.style),e.beginPath(),o(e,t,s,{start:n,end:n+r-1})&&e.closePath(),e.stroke()}var us=typeof Path2D==`function`;function ds(e,t,n,r){us&&!t.options.segment?cs(e,t,n,r):ls(e,t,n,r)}var fs=class extends Fa{static id=`line`;static defaults={borderCapStyle:`butt`,borderDash:[],borderDashOffset:0,borderJoinStyle:`miter`,borderWidth:3,capBezierPoints:!0,cubicInterpolationMode:`default`,fill:!1,spanGaps:!1,stepped:!1,tension:0};static defaultRoutes={backgroundColor:`backgroundColor`,borderColor:`borderColor`};static descriptors={_scriptable:!0,_indexable:e=>e!==`borderDash`&&e!==`fill`};constructor(e){super(),this.animated=!0,this.options=void 0,this._chart=void 0,this._loop=void 0,this._fullLoop=void 0,this._path=void 0,this._points=void 0,this._segments=void 0,this._decimated=!1,this._pointsUpdated=!1,this._datasetIndex=void 0,e&&Object.assign(this,e)}updateControlPoints(e,t){let n=this.options;if((n.tension||n.cubicInterpolationMode===`monotone`)&&!n.stepped&&!this._pointsUpdated){let r=n.spanGaps?this._loop:this._fullLoop;ir(this._points,n,e,r,t),this._pointsUpdated=!0}}set points(e){this._points=e,delete this._segments,delete this._path,this._pointsUpdated=!1}get points(){return this._points}get segments(){return this._segments||=Ir(this,this.options.segment)}first(){let e=this.segments,t=this.points;return e.length&&t[e[0].start]}last(){let e=this.segments,t=this.points,n=e.length;return n&&t[e[n-1].end]}interpolate(e,t){let n=this.options,r=e[t],i=this.points,a=Nr(this,{property:t,start:r,end:r});if(!a.length)return;let o=[],s=ss(n),c,l;for(c=0,l=a.length;ce.replace(`rgb(`,`rgba(`).replace(`)`,`, 0.5)`));function Ds(e){return Ts[e%Ts.length]}function Os(e){return Es[e%Es.length]}function ks(e,t){return e.borderColor=Ds(t),e.backgroundColor=Os(t),++t}function As(e,t){return e.backgroundColor=e.data.map(()=>Ds(t++)),t}function js(e,t){return e.backgroundColor=e.data.map(()=>Os(t++)),t}function Ms(e){let t=0;return(n,r)=>{let i=e.getDatasetMeta(r).controller;i instanceof Fi?t=As(n,t):i instanceof Li?t=js(n,t):i&&(t=ks(n,t))}}function Ns(e){let t;for(t in e)if(e[t].borderColor||e[t].backgroundColor)return!0;return!1}function Ps(e){return e&&(e.borderColor||e.backgroundColor)}function Fs(){return K.borderColor!==`rgba(0,0,0,0.1)`||K.backgroundColor!==`rgba(0,0,0,0.1)`}var Is={id:`colors`,defaults:{enabled:!0,forceOverride:!1},beforeLayout(e,t,n){if(!n.enabled)return;let{data:{datasets:r},options:i}=e.config,{elements:a}=i,o=Ns(r)||Ps(i)||a&&Ns(a)||Fs();if(!n.forceOverride&&o)return;let s=Ms(e);r.forEach(s)}};function Ls(e,t,n,r,i){let a=i.samples||r;if(a>=n)return e.slice(t,t+n);let o=[],s=(n-2)/(a-2),c=0,l=t+n-1,u=t,d,f,p,m,h;for(o[c++]=e[u],d=0;dp&&(p=m,f=e[a],h=a);o[c++]=f,u=h}return o[c++]=e[l],o}function Rs(e,t,n,r){let i=0,a=0,o,s,c,l,u,d,f,p,m,h,g=[],_=t+n-1,v=e[t].x,y=e[_].x-v;for(o=t;oh&&(h=l,f=o),i=(a*i+s.x)/++a;else{let n=o-1;if(!k(d)&&!k(f)){let t=Math.min(d,f),r=Math.max(d,f);t!==p&&t!==n&&g.push({...e[t],x:i}),r!==p&&r!==n&&g.push({...e[r],x:i})}o>0&&n!==p&&g.push(e[n]),g.push(s),u=t,a=0,m=h=l,d=f=p=o}}return g}function zs(e){if(e._decimated){let t=e._data;delete e._decimated,delete e._data,Object.defineProperty(e,"data",{configurable:!0,enumerable:!0,writable:!0,value:t})}}function Bs(e){e.data.datasets.forEach(e=>{zs(e)})}function Vs(e,t){let n=t.length,r=0,i,{iScale:a}=e,{min:o,max:s,minDefined:c,maxDefined:l}=a.getUserBounds();return c&&(r=U(yt(t,a.axis,o).lo,0,n-1)),i=l?U(yt(t,a.axis,s).hi+1,r,n)-r:n-r,{start:r,count:i}}var Hs={id:`decimation`,defaults:{algorithm:`min-max`,enabled:!1},beforeElementsUpdate:(e,t,n)=>{if(!n.enabled){Bs(e);return}let r=e.width;e.data.datasets.forEach((t,i)=>{let{_data:a,indexAxis:o}=t,s=e.getDatasetMeta(i),c=a||t.data;if(En([o,e.options.indexAxis])===`y`||!s.controller.supportsDecimation)return;let l=e.scales[s.xAxisID];if(l.type!==`linear`&&l.type!==`time`||e.options.parsing)return;let{start:u,count:d}=Vs(s,c);if(d<=(n.threshold||4*r)){zs(t);return}k(a)&&(t._data=c,delete t.data,Object.defineProperty(t,"data",{configurable:!0,enumerable:!0,get:function(){return this._decimated},set:function(e){this._data=e}}));let f;switch(n.algorithm){case`lttb`:f=Ls(c,u,d,r,n);break;case`min-max`:f=Rs(c,u,d,r);break;default:throw Error(`Unsupported decimation algorithm '${n.algorithm}'`)}t._decimated=f})},destroy(e){Bs(e)}};function Us(e,t,n){let r=e.segments,i=e.points,a=t.points,o=[];for(let e of r){let{start:r,end:s}=e;s=Ks(r,s,i);let c=Ws(n,i[r],i[s],e.loop);if(!t.segments){o.push({source:e,target:c,start:i[r],end:i[s]});continue}let l=Nr(t,c);for(let t of l){let r=Ws(n,a[t.start],a[t.end],t.loop),s=Mr(e,i,r);for(let e of s)o.push({source:e,target:t,start:{[n]:qs(c,r,`start`,Math.max)},end:{[n]:qs(c,r,`end`,Math.min)}})}}return o}function Ws(e,t,n,r){if(r)return;let i=t[e],a=n[e];return e===`angle`&&(i=H(i),a=H(a)),{property:e,start:i,end:a}}function Gs(e,t){let{x:n=null,y:r=null}=e||{},i=t.points,a=[];return t.segments.forEach(({start:e,end:t})=>{t=Ks(e,t,i);let o=i[e],s=i[t];r===null?n!==null&&(a.push({x:n,y:o.y}),a.push({x:n,y:s.y})):(a.push({x:o.x,y:r}),a.push({x:s.x,y:r}))}),a}function Ks(e,t,n){for(;t>e;t--){let e=n[t];if(!isNaN(e.x)&&!isNaN(e.y))break}return t}function qs(e,t,n,r){return e&&t?r(e[n],t[n]):e?e[n]:t?t[n]:0}function Js(e,t){let n=[],r=!1;return A(e)?(r=!0,n=e):n=Gs(e,t),n.length?new fs({points:n,options:{tension:0},_loop:r,_fullLoop:r}):null}function Ys(e){return e&&e.fill!==!1}function Xs(e,t,n){let r=e[t].fill,i=[t],a;if(!n)return r;for(;r!==!1&&i.indexOf(r)===-1;){if(!M(r))return r;if(a=e[r],!a)return!1;if(a.visible)return r;i.push(r),r=a.fill}return!1}function Zs(e,t,n){let r=tc(e);if(j(r))return isNaN(r.value)?!1:r;let i=parseFloat(r);return M(i)&&Math.floor(i)===i?Qs(r[0],t,i,n):[`origin`,`start`,`end`,`stack`,`shape`].indexOf(r)>=0&&r}function Qs(e,t,n,r){return(e===`-`||e===`+`)&&(n=t+n),n===t||n<0||n>=r?!1:n}function $s(e,t){let n=null;return e===`start`?n=t.bottom:e===`end`?n=t.top:j(e)?n=t.getPixelForValue(e.value):t.getBasePixel&&(n=t.getBasePixel()),n}function ec(e,t,n){let r;return r=e===`start`?n:e===`end`?t.options.reverse?t.min:t.max:j(e)?e.value:t.getBaseValue(),r}function tc(e){let t=e.options,n=t.fill,r=P(n&&n.target,n);return r===void 0&&(r=!!t.backgroundColor),r===!1||r===null?!1:r===!0?`origin`:r}function nc(e){let{scale:t,index:n,line:r}=e,i=[],a=r.segments,o=r.points,s=rc(t,n);s.push(Js({x:null,y:t.bottom},r));for(let e=0;e=0;--t){let n=i[t].$filler;n&&(n.line.updateControlPoints(a,n.axis),r&&n.fill&&fc(e.ctx,n,a))}},beforeDatasetsDraw(e,t,n){if(n.drawTime!==`beforeDatasetsDraw`)return;let r=e.getSortedVisibleDatasetMetas();for(let t=r.length-1;t>=0;--t){let n=r[t].$filler;Ys(n)&&fc(e.ctx,n,e.chartArea)}},beforeDatasetDraw(e,t,n){let r=t.meta.$filler;!Ys(r)||n.drawTime!==`beforeDatasetDraw`||fc(e.ctx,r,e.chartArea)},defaults:{propagate:!0,drawTime:`beforeDatasetDraw`}},bc=(e,t)=>{let{boxHeight:n=t,boxWidth:r=t}=e;return e.usePointStyle&&(n=Math.min(n,t),r=e.pointStyleWidth||Math.min(r,t)),{boxWidth:r,boxHeight:n,itemHeight:Math.max(t,n)}},xc=(e,t)=>e!==null&&t!==null&&e.datasetIndex===t.datasetIndex&&e.index===t.index,Sc=class extends Fa{constructor(e){super(),this._added=!1,this.legendHitBoxes=[],this._hoveredItem=null,this.doughnutMode=!1,this.chart=e.chart,this.options=e.options,this.ctx=e.ctx,this.legendItems=void 0,this.columnSizes=void 0,this.lineWidths=void 0,this.maxHeight=void 0,this.maxWidth=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.height=void 0,this.width=void 0,this._margins=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(e,t,n){this.maxWidth=e,this.maxHeight=t,this._margins=n,this.setDimensions(),this.buildLabels(),this.fit()}setDimensions(){this.isHorizontal()?(this.width=this.maxWidth,this.left=this._margins.left,this.right=this.width):(this.height=this.maxHeight,this.top=this._margins.top,this.bottom=this.height)}buildLabels(){let e=this.options.labels||{},t=F(e.generateLabels,[this.chart],this)||[];e.filter&&(t=t.filter(t=>e.filter(t,this.chart.data))),e.sort&&(t=t.sort((t,n)=>e.sort(t,n,this.chart.data))),this.options.reverse&&t.reverse(),this.legendItems=t}fit(){let{options:e,ctx:t}=this;if(!e.display){this.width=this.height=0;return}let n=e.labels,r=J(n.font),i=r.size,a=this._computeTitleHeight(),{boxWidth:o,itemHeight:s}=bc(n,i),c,l;t.font=r.string,this.isHorizontal()?(c=this.maxWidth,l=this._fitRows(a,i,o,s)+10):(l=this.maxHeight,c=this._fitCols(a,r,o,s)+10),this.width=Math.min(c,e.maxWidth||this.maxWidth),this.height=Math.min(l,e.maxHeight||this.maxHeight)}_fitRows(e,t,n,r){let{ctx:i,maxWidth:a,options:{labels:{padding:o}}}=this,s=this.legendHitBoxes=[],c=this.lineWidths=[0],l=r+o,u=e;i.textAlign=`left`,i.textBaseline=`middle`;let d=-1,f=-l;return this.legendItems.forEach((e,p)=>{let m=n+t/2+i.measureText(e.text).width;(p===0||c[c.length-1]+m+2*o>a)&&(u+=l,c[c.length-(p>0?0:1)]=0,f+=l,d++),s[p]={left:0,top:f,row:d,width:m,height:r},c[c.length-1]+=m+o}),u}_fitCols(e,t,n,r){let{ctx:i,maxHeight:a,options:{labels:{padding:o}}}=this,s=this.legendHitBoxes=[],c=this.columnSizes=[],l=a-e,u=o,d=0,f=0,p=0,m=0;return this.legendItems.forEach((e,a)=>{let{itemWidth:h,itemHeight:g}=Cc(n,t,i,e,r);a>0&&f+g+2*o>l&&(u+=d+o,c.push({width:d,height:f}),p+=d+o,m++,d=f=0),s[a]={left:p,top:f,col:m,width:h,height:g},d=Math.max(d,h),f+=g+o}),u+=d,c.push({width:d,height:f}),u}adjustHitBoxes(){if(!this.options.display)return;let e=this._computeTitleHeight(),{legendHitBoxes:t,options:{align:n,labels:{padding:r},rtl:i}}=this,a=Er(i,this.left,this.width);if(this.isHorizontal()){let i=0,o=G(n,this.left+r,this.right-this.lineWidths[i]);for(let s of t)i!==s.row&&(i=s.row,o=G(n,this.left+r,this.right-this.lineWidths[i])),s.top+=this.top+e+r,s.left=a.leftForLtr(a.x(o),s.width),o+=s.width+r}else{let i=0,o=G(n,this.top+e+r,this.bottom-this.columnSizes[i].height);for(let s of t)s.col!==i&&(i=s.col,o=G(n,this.top+e+r,this.bottom-this.columnSizes[i].height)),s.top=o,s.left+=this.left+r,s.left=a.leftForLtr(a.x(s.left),s.width),o+=s.height+r}}isHorizontal(){return this.options.position===`top`||this.options.position===`bottom`}draw(){if(this.options.display){let e=this.ctx;un(e,this),this._draw(),dn(e)}}_draw(){let{options:e,columnSizes:t,lineWidths:n,ctx:r}=this,{align:i,labels:a}=e,o=K.color,s=Er(e.rtl,this.left,this.width),c=J(a.font),{padding:l}=a,u=c.size,d=u/2,f;this.drawTitle(),r.textAlign=s.textAlign(`left`),r.textBaseline=`middle`,r.lineWidth=.5,r.font=c.string;let{boxWidth:p,boxHeight:m,itemHeight:h}=bc(a,u),g=function(e,t,n){if(isNaN(p)||p<=0||isNaN(m)||m<0)return;r.save();let i=P(n.lineWidth,1);if(r.fillStyle=P(n.fillStyle,o),r.lineCap=P(n.lineCap,`butt`),r.lineDashOffset=P(n.lineDashOffset,0),r.lineJoin=P(n.lineJoin,`miter`),r.lineWidth=i,r.strokeStyle=P(n.strokeStyle,o),r.setLineDash(P(n.lineDash,[])),a.usePointStyle)cn(r,{radius:m*Math.SQRT2/2,pointStyle:n.pointStyle,rotation:n.rotation,borderWidth:i},s.xPlus(e,p/2),t+d,a.pointStyleWidth&&p);else{let a=t+Math.max((u-m)/2,0),o=s.leftForLtr(e,p),c=Tn(n.borderRadius);r.beginPath(),Object.values(c).some(e=>e!==0)?vn(r,{x:o,y:a,w:p,h:m,radius:c}):r.rect(o,a,p,m),r.fill(),i!==0&&r.stroke()}r.restore()},_=function(e,t,n){_n(r,n.text,e,t+h/2,c,{strikethrough:n.hidden,textAlign:s.textAlign(n.textAlign)})},v=this.isHorizontal(),y=this._computeTitleHeight();f=v?{x:G(i,this.left+l,this.right-n[0]),y:this.top+l+y,line:0}:{x:this.left+l,y:G(i,this.top+y+l,this.bottom-t[0].height),line:0},Dr(this.ctx,e.textDirection);let b=h+l;this.legendItems.forEach((o,u)=>{r.strokeStyle=o.fontColor,r.fillStyle=o.fontColor;let m=r.measureText(o.text).width,h=s.textAlign(o.textAlign||=a.textAlign),x=p+d+m,S=f.x,C=f.y;if(s.setWidth(this.width),v?u>0&&S+x+l>this.right&&(C=f.y+=b,f.line++,S=f.x=G(i,this.left+l,this.right-n[f.line])):u>0&&C+b>this.bottom&&(S=f.x=S+t[f.line].width+l,f.line++,C=f.y=G(i,this.top+y+l,this.bottom-t[f.line].height)),g(s.x(S),C,o),S=At(h,S+p+d,v?S+x:this.right,e.rtl),_(s.x(S),C,o),v)f.x+=x+l;else if(typeof o.text!=`string`){let e=c.lineHeight;f.y+=Ec(o,e)+l}else f.y+=b}),Or(this.ctx,e.textDirection)}drawTitle(){let e=this.options,t=e.title,n=J(t.font),r=q(t.padding);if(!t.display)return;let i=Er(e.rtl,this.left,this.width),a=this.ctx,o=t.position,s=n.size/2,c=r.top+s,l,u=this.left,d=this.width;if(this.isHorizontal())d=Math.max(...this.lineWidths),l=this.top+c,u=G(e.align,u,this.right-d);else{let t=this.columnSizes.reduce((e,t)=>Math.max(e,t.height),0);l=c+G(e.align,this.top,this.bottom-t-e.labels.padding-this._computeTitleHeight())}let f=G(o,u,u+d);a.textAlign=i.textAlign(kt(o)),a.textBaseline=`middle`,a.strokeStyle=t.color,a.fillStyle=t.color,a.font=n.string,_n(a,t.text,f,l,n)}_computeTitleHeight(){let e=this.options.title,t=J(e.font),n=q(e.padding);return e.display?t.lineHeight+n.height:0}_getLegendItemAt(e,t){let n,r,i;if(W(e,this.left,this.right)&&W(t,this.top,this.bottom)){for(i=this.legendHitBoxes,n=0;ne.length>t.length?e:t)),t+n.size/2+r.measureText(i).width}function Tc(e,t,n){let r=e;return typeof t.text!=`string`&&(r=Ec(t,n)),r}function Ec(e,t){return t*(e.text?e.text.length:0)}function Dc(e,t){return!!((e===`mousemove`||e===`mouseout`)&&(t.onHover||t.onLeave)||t.onClick&&(e===`click`||e===`mouseup`))}var Oc={id:`legend`,_element:Sc,start(e,t,n){let r=e.legend=new Sc({ctx:e.ctx,options:n,chart:e});Y.configure(e,r,n),Y.addBox(e,r)},stop(e){Y.removeBox(e,e.legend),delete e.legend},beforeUpdate(e,t,n){let r=e.legend;Y.configure(e,r,n),r.options=n},afterUpdate(e){let t=e.legend;t.buildLabels(),t.adjustHitBoxes()},afterEvent(e,t){t.replay||e.legend.handleEvent(t.event)},defaults:{display:!0,position:`top`,align:`center`,fullSize:!0,reverse:!1,weight:1e3,onClick(e,t,n){let r=t.datasetIndex,i=n.chart;i.isDatasetVisible(r)?(i.hide(r),t.hidden=!0):(i.show(r),t.hidden=!1)},onHover:null,onLeave:null,labels:{color:e=>e.chart.options.color,boxWidth:40,padding:10,generateLabels(e){let t=e.data.datasets,{labels:{usePointStyle:n,pointStyle:r,textAlign:i,color:a,useBorderRadius:o,borderRadius:s}}=e.legend.options;return e._getSortedDatasetMetas().map(e=>{let c=e.controller.getStyle(n?0:void 0),l=q(c.borderWidth);return{text:t[e.index].label,fillStyle:c.backgroundColor,fontColor:a,hidden:!e.visible,lineCap:c.borderCapStyle,lineDash:c.borderDash,lineDashOffset:c.borderDashOffset,lineJoin:c.borderJoinStyle,lineWidth:(l.width+l.height)/4,strokeStyle:c.borderColor,pointStyle:r||c.pointStyle,rotation:c.rotation,textAlign:i||c.textAlign,borderRadius:o&&(s||c.borderRadius),datasetIndex:e.index}},this)}},title:{color:e=>e.chart.options.color,display:!1,position:`center`,text:``}},descriptors:{_scriptable:e=>!e.startsWith(`on`),labels:{_scriptable:e=>![`generateLabels`,`filter`,`sort`].includes(e)}}},kc=class extends Fa{constructor(e){super(),this.chart=e.chart,this.options=e.options,this.ctx=e.ctx,this._padding=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.width=void 0,this.height=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(e,t){let n=this.options;if(this.left=0,this.top=0,!n.display){this.width=this.height=this.right=this.bottom=0;return}this.width=this.right=e,this.height=this.bottom=t;let r=A(n.text)?n.text.length:1;this._padding=q(n.padding);let i=r*J(n.font).lineHeight+this._padding.height;this.isHorizontal()?this.height=i:this.width=i}isHorizontal(){let e=this.options.position;return e===`top`||e===`bottom`}_drawArgs(e){let{top:t,left:n,bottom:r,right:i,options:a}=this,o=a.align,s=0,c,l,u;return this.isHorizontal()?(l=G(o,n,i),u=t+e,c=i-n):(a.position===`left`?(l=n+e,u=G(o,r,t),s=L*-.5):(l=i-e,u=G(o,t,r),s=L*.5),c=r-t),{titleX:l,titleY:u,maxWidth:c,rotation:s}}draw(){let e=this.ctx,t=this.options;if(!t.display)return;let n=J(t.font),r=n.lineHeight/2+this._padding.top,{titleX:i,titleY:a,maxWidth:o,rotation:s}=this._drawArgs(r);_n(e,t.text,0,0,n,{color:t.color,maxWidth:o,rotation:s,textAlign:kt(t.align),textBaseline:`middle`,translation:[i,a]})}};function Ac(e,t){let n=new kc({ctx:e.ctx,options:t,chart:e});Y.configure(e,n,t),Y.addBox(e,n),e.titleBlock=n}var jc={id:`title`,_element:kc,start(e,t,n){Ac(e,n)},stop(e){let t=e.titleBlock;Y.removeBox(e,t),delete e.titleBlock},beforeUpdate(e,t,n){let r=e.titleBlock;Y.configure(e,r,n),r.options=n},defaults:{align:`center`,display:!1,font:{weight:`bold`},fullSize:!0,padding:10,position:`top`,text:``,weight:2e3},defaultRoutes:{color:`color`},descriptors:{_scriptable:!0,_indexable:!1}},Mc=new WeakMap,Nc={id:`subtitle`,start(e,t,n){let r=new kc({ctx:e.ctx,options:n,chart:e});Y.configure(e,r,n),Y.addBox(e,r),Mc.set(e,r)},stop(e){Y.removeBox(e,Mc.get(e)),Mc.delete(e)},beforeUpdate(e,t,n){let r=Mc.get(e);Y.configure(e,r,n),r.options=n},defaults:{align:`center`,display:!1,font:{weight:`normal`},fullSize:!0,padding:0,position:`top`,text:``,weight:1500},defaultRoutes:{color:`color`},descriptors:{_scriptable:!0,_indexable:!1}},Pc={average(e){if(!e.length)return!1;let t,n,r=new Set,i=0,a=0;for(t=0,n=e.length;te+t)/r.size,y:i/a}},nearest(e,t){if(!e.length)return!1;let n=t.x,r=t.y,i=1/0,a,o,s;for(a=0,o=e.length;a-1?e.split(` `):e}function Ic(e,t){let{element:n,datasetIndex:r,index:i}=t,a=e.getDatasetMeta(r).controller,{label:o,value:s}=a.getLabelAndValue(i);return{chart:e,label:o,parsed:a.getParsed(i),raw:e.data.datasets[r].data[i],formattedValue:s,dataset:a.getDataset(),dataIndex:i,datasetIndex:r,element:n}}function Lc(e,t){let n=e.chart.ctx,{body:r,footer:i,title:a}=e,{boxWidth:o,boxHeight:s}=t,c=J(t.bodyFont),l=J(t.titleFont),u=J(t.footerFont),d=a.length,f=i.length,p=r.length,m=q(t.padding),h=m.height,g=0,_=r.reduce((e,t)=>e+t.before.length+t.lines.length+t.after.length,0);if(_+=e.beforeBody.length+e.afterBody.length,d&&(h+=d*l.lineHeight+(d-1)*t.titleSpacing+t.titleMarginBottom),_){let e=t.displayColors?Math.max(s,c.lineHeight):c.lineHeight;h+=p*e+(_-p)*c.lineHeight+(_-1)*t.bodySpacing}f&&(h+=t.footerMarginTop+f*u.lineHeight+(f-1)*t.footerSpacing);let v=0,y=function(e){g=Math.max(g,n.measureText(e).width+v)};return n.save(),n.font=l.string,I(e.title,y),n.font=c.string,I(e.beforeBody.concat(e.afterBody),y),v=t.displayColors?o+2+t.boxPadding:0,I(r,e=>{I(e.before,y),I(e.lines,y),I(e.after,y)}),v=0,n.font=u.string,I(e.footer,y),n.restore(),g+=m.width,{width:g,height:h}}function Rc(e,t){let{y:n,height:r}=t;return ne.height-r/2?`bottom`:`center`}function zc(e,t,n,r){let{x:i,width:a}=r,o=n.caretSize+n.caretPadding;if(e===`left`&&i+a+o>t.width||e===`right`&&i-a-o<0)return!0}function Bc(e,t,n,r){let{x:i,width:a}=n,{width:o,chartArea:{left:s,right:c}}=e,l=`center`;return r===`center`?l=i<=(s+c)/2?`left`:`right`:i<=a/2?l=`left`:i>=o-a/2&&(l=`right`),zc(l,e,t,n)&&(l=`center`),l}function Vc(e,t,n){let r=n.yAlign||t.yAlign||Rc(e,n);return{xAlign:n.xAlign||t.xAlign||Bc(e,t,n,r),yAlign:r}}function Hc(e,t){let{x:n,width:r}=e;return t===`right`?n-=r:t===`center`&&(n-=r/2),n}function Uc(e,t,n){let{y:r,height:i}=e;return t===`top`?r+=n:t===`bottom`?r-=i+n:r-=i/2,r}function Wc(e,t,n,r){let{caretSize:i,caretPadding:a,cornerRadius:o}=e,{xAlign:s,yAlign:c}=n,l=i+a,{topLeft:u,topRight:d,bottomLeft:f,bottomRight:p}=Tn(o),m=Hc(t,s),h=Uc(t,c,l);return c===`center`?s===`left`?m+=l:s===`right`&&(m-=l):s===`left`?m-=Math.max(u,f)+i:s===`right`&&(m+=Math.max(d,p)+i),{x:U(m,0,r.width-t.width),y:U(h,0,r.height-t.height)}}function Gc(e,t,n){let r=q(n.padding);return t===`center`?e.x+e.width/2:t===`right`?e.x+e.width-r.right:e.x+r.left}function Kc(e){return Z([],Fc(e))}function qc(e,t,n){return On(e,{tooltip:t,tooltipItems:n,type:`tooltip`})}function Jc(e,t){let n=t&&t.dataset&&t.dataset.tooltip&&t.dataset.tooltip.callbacks;return n?e.override(n):e}var Yc={beforeTitle:Me,title(e){if(e.length>0){let t=e[0],n=t.chart.data.labels,r=n?n.length:0;if(this&&this.options&&this.options.mode===`dataset`)return t.dataset.label||``;if(t.label)return t.label;if(r>0&&t.dataIndex{let t={before:[],lines:[],after:[]},i=Jc(n,e);Z(t.before,Fc(Q(i,`beforeLabel`,this,e))),Z(t.lines,Q(i,`label`,this,e)),Z(t.after,Fc(Q(i,`afterLabel`,this,e))),r.push(t)}),r}getAfterBody(e,t){return Kc(Q(t.callbacks,`afterBody`,this,e))}getFooter(e,t){let{callbacks:n}=t,r=Q(n,`beforeFooter`,this,e),i=Q(n,`footer`,this,e),a=Q(n,`afterFooter`,this,e),o=[];return o=Z(o,Fc(r)),o=Z(o,Fc(i)),o=Z(o,Fc(a)),o}_createItems(e){let t=this._active,n=this.chart.data,r=[],i=[],a=[],o=[],s,c;for(s=0,c=t.length;se.filter(t,r,i,n))),e.itemSort&&(o=o.sort((t,r)=>e.itemSort(t,r,n))),I(o,t=>{let n=Jc(e.callbacks,t);r.push(Q(n,`labelColor`,this,t)),i.push(Q(n,`labelPointStyle`,this,t)),a.push(Q(n,`labelTextColor`,this,t))}),this.labelColors=r,this.labelPointStyles=i,this.labelTextColors=a,this.dataPoints=o,o}update(e,t){let n=this.options.setContext(this.getContext()),r=this._active,i,a=[];if(!r.length)this.opacity!==0&&(i={opacity:0});else{let e=Pc[n.position].call(this,r,this._eventPosition);a=this._createItems(n),this.title=this.getTitle(a,n),this.beforeBody=this.getBeforeBody(a,n),this.body=this.getBody(a,n),this.afterBody=this.getAfterBody(a,n),this.footer=this.getFooter(a,n);let t=this._size=Lc(this,n),o=Object.assign({},e,t),s=Vc(this.chart,n,o),c=Wc(n,o,s,this.chart);this.xAlign=s.xAlign,this.yAlign=s.yAlign,i={opacity:1,x:c.x,y:c.y,width:t.width,height:t.height,caretX:e.x,caretY:e.y}}this._tooltipItems=a,this.$context=void 0,i&&this._resolveAnimations().update(this,i),e&&n.external&&n.external.call(this,{chart:this.chart,tooltip:this,replay:t})}drawCaret(e,t,n,r){let i=this.getCaretPosition(e,n,r);t.lineTo(i.x1,i.y1),t.lineTo(i.x2,i.y2),t.lineTo(i.x3,i.y3)}getCaretPosition(e,t,n){let{xAlign:r,yAlign:i}=this,{caretSize:a,cornerRadius:o}=n,{topLeft:s,topRight:c,bottomLeft:l,bottomRight:u}=Tn(o),{x:d,y:f}=e,{width:p,height:m}=t,h,g,_,v,y,b;return i===`center`?(y=f+m/2,r===`left`?(h=d,g=h-a,v=y+a,b=y-a):(h=d+p,g=h+a,v=y-a,b=y+a),_=h):(g=r===`left`?d+Math.max(s,l)+a:r===`right`?d+p-Math.max(c,u)-a:this.caretX,i===`top`?(v=f,y=v-a,h=g-a,_=g+a):(v=f+m,y=v+a,h=g+a,_=g-a),b=v),{x1:h,x2:g,x3:_,y1:v,y2:y,y3:b}}drawTitle(e,t,n){let r=this.title,i=r.length,a,o,s;if(i){let c=Er(n.rtl,this.x,this.width);for(e.x=Gc(this,n.titleAlign,n),t.textAlign=c.textAlign(n.titleAlign),t.textBaseline=`middle`,a=J(n.titleFont),o=n.titleSpacing,t.fillStyle=n.titleColor,t.font=a.string,s=0;se!==0)?(e.beginPath(),e.fillStyle=i.multiKeyBackground,vn(e,{x:t,y:p,w:c,h:s,radius:o}),e.fill(),e.stroke(),e.fillStyle=a.backgroundColor,e.beginPath(),vn(e,{x:n,y:p+1,w:c-2,h:s-2,radius:o}),e.fill()):(e.fillStyle=i.multiKeyBackground,e.fillRect(t,p,c,s),e.strokeRect(t,p,c,s),e.fillStyle=a.backgroundColor,e.fillRect(n,p+1,c-2,s-2))}e.fillStyle=this.labelTextColors[n]}drawBody(e,t,n){let{body:r}=this,{bodySpacing:i,bodyAlign:a,displayColors:o,boxHeight:s,boxWidth:c,boxPadding:l}=n,u=J(n.bodyFont),d=u.lineHeight,f=0,p=Er(n.rtl,this.x,this.width),m=function(n){t.fillText(n,p.x(e.x+f),e.y+d/2),e.y+=d+i},h=p.textAlign(a),g,_,v,y,b,x,S;for(t.textAlign=a,t.textBaseline=`middle`,t.font=u.string,e.x=Gc(this,h,n),t.fillStyle=n.bodyColor,I(this.beforeBody,m),f=o&&h!==`right`?a===`center`?c/2+l:c+2+l:0,y=0,x=r.length;y0&&t.stroke()}_updateAnimationTarget(e){let t=this.chart,n=this.$animations,r=n&&n.x,i=n&&n.y;if(r||i){let n=Pc[e.position].call(this,this._active,this._eventPosition);if(!n)return;let a=this._size=Lc(this,e),o=Object.assign({},n,this._size),s=Vc(t,e,o),c=Wc(e,o,s,t);(r._to!==c.x||i._to!==c.y)&&(this.xAlign=s.xAlign,this.yAlign=s.yAlign,this.width=a.width,this.height=a.height,this.caretX=n.x,this.caretY=n.y,this._resolveAnimations().update(this,c))}}_willRender(){return!!this.opacity}draw(e){let t=this.options.setContext(this.getContext()),n=this.opacity;if(!n)return;this._updateAnimationTarget(t);let r={width:this.width,height:this.height},i={x:this.x,y:this.y};n=Math.abs(n)<.001?0:n;let a=q(t.padding),o=this.title.length||this.beforeBody.length||this.body.length||this.afterBody.length||this.footer.length;t.enabled&&o&&(e.save(),e.globalAlpha=n,this.drawBackground(i,e,r,t),Dr(e,t.textDirection),i.y+=a.top,this.drawTitle(i,e,t),this.drawBody(i,e,t),this.drawFooter(i,e,t),Or(e,t.textDirection),e.restore())}getActiveElements(){return this._active||[]}setActiveElements(e,t){let n=this._active,r=e.map(({datasetIndex:e,index:t})=>{let n=this.chart.getDatasetMeta(e);if(!n)throw Error(`Cannot find a dataset at index `+e);return{datasetIndex:e,element:n.data[t],index:t}}),i=!Ie(n,r),a=this._positionChanged(r,t);(i||a)&&(this._active=r,this._eventPosition=t,this._ignoreReplayEvents=!0,this.update(!0))}handleEvent(e,t,n=!0){if(t&&this._ignoreReplayEvents)return!1;this._ignoreReplayEvents=!1;let r=this.options,i=this._active||[],a=this._getActiveElements(e,i,t,n),o=this._positionChanged(a,e),s=t||!Ie(a,i)||o;return s&&(this._active=a,(r.enabled||r.external)&&(this._eventPosition={x:e.x,y:e.y},this.update(!0,t))),s}_getActiveElements(e,t,n,r){let i=this.options;if(e.type===`mouseout`)return[];if(!r)return t.filter(e=>this.chart.data.datasets[e.datasetIndex]&&this.chart.getDatasetMeta(e.datasetIndex).controller.getParsed(e.index)!==void 0);let a=this.chart.getElementsAtEventForMode(e,i.mode,i,n);return i.reverse&&a.reverse(),a}_positionChanged(e,t){let{caretX:n,caretY:r,options:i}=this,a=Pc[i.position].call(this,e,t);return a!==!1&&(n!==a.x||r!==a.y)}},Zc=Object.freeze({__proto__:null,Colors:Is,Decimation:Hs,Filler:yc,Legend:Oc,SubTitle:Nc,Title:jc,Tooltip:{id:`tooltip`,_element:Xc,positioners:Pc,afterInit(e,t,n){n&&(e.tooltip=new Xc({chart:e,options:n}))},beforeUpdate(e,t,n){e.tooltip&&e.tooltip.initialize(n)},reset(e,t,n){e.tooltip&&e.tooltip.initialize(n)},afterDraw(e){let t=e.tooltip;if(t&&t._willRender()){let n={tooltip:t};if(e.notifyPlugins(`beforeTooltipDraw`,{...n,cancelable:!0})===!1)return;t.draw(e.ctx),e.notifyPlugins(`afterTooltipDraw`,n)}},afterEvent(e,t){if(e.tooltip){let n=t.replay;e.tooltip.handleEvent(t.event,n,t.inChartArea)&&(t.changed=!0)}},defaults:{enabled:!0,external:null,position:`average`,backgroundColor:`rgba(0,0,0,0.8)`,titleColor:`#fff`,titleFont:{weight:`bold`},titleSpacing:2,titleMarginBottom:6,titleAlign:`left`,bodyColor:`#fff`,bodySpacing:2,bodyFont:{},bodyAlign:`left`,footerColor:`#fff`,footerSpacing:2,footerMarginTop:6,footerFont:{weight:`bold`},footerAlign:`left`,padding:6,caretPadding:2,caretSize:5,cornerRadius:6,boxHeight:(e,t)=>t.bodyFont.size,boxWidth:(e,t)=>t.bodyFont.size,multiKeyBackground:`#fff`,displayColors:!0,boxPadding:0,borderColor:`rgba(0,0,0,0)`,borderWidth:0,animation:{duration:400,easing:`easeOutQuart`},animations:{numbers:{type:`number`,properties:[`x`,`y`,`width`,`height`,`caretX`,`caretY`]},opacity:{easing:`linear`,duration:200}},callbacks:Yc},defaultRoutes:{bodyFont:`font`,footerFont:`font`,titleFont:`font`},descriptors:{_scriptable:e=>e!==`filter`&&e!==`itemSort`&&e!==`external`,_indexable:!1,callbacks:{_scriptable:!1,_indexable:!1},animation:{_fallback:!1},animations:{_fallback:`animation`}},additionalOptionScopes:[`interaction`]}}),Qc=(e,t,n,r)=>(typeof t==`string`?(n=e.push(t)-1,r.unshift({index:n,label:t})):isNaN(t)&&(n=null),n);function $c(e,t,n,r){let i=e.indexOf(t);return i===-1?Qc(e,t,n,r):i===e.lastIndexOf(t)?i:n}var el=(e,t)=>e===null?null:U(Math.round(e),0,t);function tl(e){let t=this.getLabels();return e>=0&&et.length-1?null:this.getPixelForValue(t[e].value)}getValueForPixel(e){return Math.round(this._startValue+this.getDecimalForPixel(e)*this._valueRange)}getBasePixel(){return this.bottom}};function rl(e,t){let n=[],{bounds:r,step:i,min:a,max:o,precision:s,count:c,maxTicks:l,maxDigits:u,includeBounds:d}=e,f=i||1,p=l-1,{min:m,max:h}=t,g=!k(a),_=!k(o),v=!k(c),y=(h-m)/(u+1),b=at((h-m)/p/f)*f,x,S,C,w;if(b<1e-14&&!g&&!_)return[{value:m},{value:h}];w=Math.ceil(h/b)-Math.floor(m/b),w>p&&(b=at(w*b/p/f)*f),k(s)||(x=10**s,b=Math.ceil(b*x)/x),r===`ticks`?(S=Math.floor(m/b)*b,C=Math.ceil(h/b)*b):(S=m,C=h),g&&_&&i&<((o-a)/i,b/1e3)?(w=Math.round(Math.min((o-a)/b,l)),b=(o-a)/w,S=a,C=o):v?(S=g?a:S,C=_?o:C,w=c-1,b=(C-S)/w):(w=(C-S)/b,w=it(w,Math.round(w),b/1e3)?Math.round(w):Math.ceil(w));let T=Math.max(ft(b),ft(S));x=10**(k(s)?T:s),S=Math.round(S*x)/x,C=Math.round(C*x)/x;let E=0;for(g&&(d&&S!==a?(n.push({value:a}),So)break;n.push({value:e})}return _&&d&&C!==o?n.length&&it(n[n.length-1].value,o,il(o,y,e))?n[n.length-1].value=o:n.push({value:o}):(!_||C===o)&&n.push({value:C}),n}function il(e,t,{horizontal:n,minRotation:r}){let i=V(r),a=(n?Math.sin(i):Math.cos(i))||.001,o=.75*t*(``+e).length;return Math.min(t/a,o)}var al=class extends to{constructor(e){super(e),this.start=void 0,this.end=void 0,this._startValue=void 0,this._endValue=void 0,this._valueRange=0}parse(e,t){return k(e)||(typeof e==`number`||e instanceof Number)&&!isFinite(+e)?null:+e}handleTickRangeOptions(){let{beginAtZero:e}=this.options,{minDefined:t,maxDefined:n}=this.getUserBounds(),{min:r,max:i}=this,a=e=>r=t?r:e,o=e=>i=n?i:e;if(e){let e=B(r),t=B(i);e<0&&t<0?o(0):e>0&&t>0&&a(0)}if(r===i){let t=i===0?1:Math.abs(i*.05);o(i+t),e||a(r-t)}this.min=r,this.max=i}getTickLimit(){let{maxTicksLimit:e,stepSize:t}=this.options.ticks,n;return t?(n=Math.ceil(this.max/t)-Math.floor(this.min/t)+1,n>1e3&&(console.warn(`scales.${this.id}.ticks.stepSize: ${t} would result generating up to ${n} ticks. Limiting to 1000.`),n=1e3)):(n=this.computeTickLimit(),e||=11),e&&(n=Math.min(e,n)),n}computeTickLimit(){return 1/0}buildTicks(){let e=this.options,t=e.ticks,n=this.getTickLimit();n=Math.max(2,n);let r=rl({maxTicks:n,bounds:e.bounds,min:e.min,max:e.max,precision:t.precision,step:t.stepSize,count:t.count,maxDigits:this._maxDigits(),horizontal:this.isHorizontal(),minRotation:t.minRotation||0,includeBounds:t.includeBounds!==!1},this._range||this);return e.bounds===`ticks`&&ut(r,this,`value`),e.reverse?(r.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),r}configure(){let e=this.ticks,t=this.min,n=this.max;if(super.configure(),this.options.offset&&e.length){let r=(n-t)/Math.max(e.length-1,1)/2;t-=r,n+=r}this._startValue=t,this._endValue=n,this._valueRange=n-t}getLabelForValue(e){return Kt(e,this.chart.options.locale,this.options.ticks.format)}},ol=class extends al{static id=`linear`;static defaults={ticks:{callback:Yt.formatters.numeric}};determineDataLimits(){let{min:e,max:t}=this.getMinMax(!0);this.min=M(e)?e:0,this.max=M(t)?t:1,this.handleTickRangeOptions()}computeTickLimit(){let e=this.isHorizontal(),t=e?this.width:this.height,n=V(this.options.ticks.minRotation),r=(e?Math.sin(n):Math.cos(n))||.001,i=this._resolveTickFontOptions(0);return Math.ceil(t/Math.min(40,i.lineHeight/r))}getPixelForValue(e){return e===null?NaN:this.getPixelForDecimal((e-this._startValue)/this._valueRange)}getValueForPixel(e){return this._startValue+this.getDecimalForPixel(e)*this._valueRange}},sl=e=>Math.floor(rt(e)),cl=(e,t)=>10**(sl(e)+t);function ll(e){return e/10**sl(e)==1}function ul(e,t,n){let r=10**n,i=Math.floor(e/r);return Math.ceil(t/r)-i}function dl(e,t){let n=sl(t-e);for(;ul(e,t,n)>10;)n++;for(;ul(e,t,n)<10;)n--;return Math.min(n,sl(e))}function fl(e,{min:t,max:n}){t=N(e.min,t);let r=[],i=sl(t),a=dl(t,n),o=a<0?10**Math.abs(a):1,s=10**a,c=i>a?10**i:0,l=Math.round((t-c)*o)/o,u=Math.floor((t-c)/s/10)*s*10,d=Math.floor((l-u)/10**a),f=N(e.min,Math.round((c+u+d*10**a)*o)/o);for(;f=10?d=d<15?15:20:d++,d>=20&&(a++,d=2,o=a>=0?1:o),f=Math.round((c+u+d*10**a)*o)/o;let p=N(e.max,f);return r.push({value:p,major:ll(p),significand:d}),r}var pl=class extends to{static id=`logarithmic`;static defaults={ticks:{callback:Yt.formatters.logarithmic,major:{enabled:!0}}};constructor(e){super(e),this.start=void 0,this.end=void 0,this._startValue=void 0,this._valueRange=0}parse(e,t){let n=al.prototype.parse.apply(this,[e,t]);if(n===0){this._zero=!0;return}return M(n)&&n>0?n:null}determineDataLimits(){let{min:e,max:t}=this.getMinMax(!0);this.min=M(e)?Math.max(0,e):null,this.max=M(t)?Math.max(0,t):null,this.options.beginAtZero&&(this._zero=!0),this._zero&&this.min!==this._suggestedMin&&!M(this._userMin)&&(this.min=e===cl(this.min,0)?cl(this.min,-1):cl(this.min,0)),this.handleTickRangeOptions()}handleTickRangeOptions(){let{minDefined:e,maxDefined:t}=this.getUserBounds(),n=this.min,r=this.max,i=t=>n=e?n:t,a=e=>r=t?r:e;n===r&&(n<=0?(i(1),a(10)):(i(cl(n,-1)),a(cl(r,1)))),n<=0&&i(cl(r,-1)),r<=0&&a(cl(n,1)),this.min=n,this.max=r}buildTicks(){let e=this.options,t=fl({min:this._userMin,max:this._userMax},this);return e.bounds===`ticks`&&ut(t,this,`value`),e.reverse?(t.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),t}getLabelForValue(e){return e===void 0?`0`:Kt(e,this.chart.options.locale,this.options.ticks.format)}configure(){let e=this.min;super.configure(),this._startValue=rt(e),this._valueRange=rt(this.max)-rt(e)}getPixelForValue(e){return(e===void 0||e===0)&&(e=this.min),e===null||isNaN(e)?NaN:this.getPixelForDecimal(e===this.min?0:(rt(e)-this._startValue)/this._valueRange)}getValueForPixel(e){let t=this.getDecimalForPixel(e);return 10**(this._startValue+t*this._valueRange)}};function ml(e){let t=e.ticks;if(t.display&&e.display){let e=q(t.backdropPadding);return P(t.font&&t.font.size,K.font.size)+e.height}return 0}function hl(e,t,n){return n=A(n)?n:[n],{w:rn(e,t.string,n),h:n.length*t.lineHeight}}function gl(e,t,n,r,i){return e===r||e===i?{start:t-n/2,end:t+n/2}:ei?{start:t-n,end:t}:{start:t,end:t+n}}function _l(e){let t={l:e.left+e._padding.left,r:e.right-e._padding.right,t:e.top+e._padding.top,b:e.bottom-e._padding.bottom},n=Object.assign({},t),r=[],i=[],a=e._pointLabels.length,o=e.options.pointLabels,s=o.centerPointLabels?L/a:0;for(let c=0;ct.r&&(s=(r.end-t.r)/a,e.r=Math.max(e.r,t.r+s)),i.startt.b&&(c=(i.end-t.b)/o,e.b=Math.max(e.b,t.b+c))}function yl(e,t,n){let r=e.drawingArea,{extra:i,additionalAngle:a,padding:o,size:s}=n,c=e.getPointPosition(t,r+i+o,a),l=Math.round(dt(H(c.angle+z))),u=wl(c.y,s.h,l),d=Sl(l),f=Cl(c.x,s.w,d);return{visible:!0,x:c.x,y:u,textAlign:d,left:f,top:u,right:f+s.w,bottom:u+s.h}}function bl(e,t){if(!t)return!0;let{left:n,top:r,right:i,bottom:a}=e;return!(ln({x:n,y:r},t)||ln({x:n,y:a},t)||ln({x:i,y:r},t)||ln({x:i,y:a},t))}function xl(e,t,n){let r=[],i=e._pointLabels.length,a=e.options,{centerPointLabels:o,display:s}=a.pointLabels,c={extra:ml(a)/2,additionalAngle:o?L/i:0},l;for(let a=0;a270||n<90)&&(e-=t),e}function Tl(e,t,n){let{left:r,top:i,right:a,bottom:o}=n,{backdropColor:s}=t;if(!k(s)){let n=Tn(t.borderRadius),c=q(t.backdropPadding);e.fillStyle=s;let l=r-c.left,u=i-c.top,d=a-r+c.width,f=o-i+c.height;Object.values(n).some(e=>e!==0)?(e.beginPath(),vn(e,{x:l,y:u,w:d,h:f,radius:n}),e.fill()):e.fillRect(l,u,d,f)}}function El(e,t){let{ctx:n,options:{pointLabels:r}}=e;for(let i=t-1;i>=0;i--){let t=e._pointLabelItems[i];if(!t.visible)continue;let a=r.setContext(e.getPointLabelContext(i));Tl(n,a,t);let o=J(a.font),{x:s,y:c,textAlign:l}=t;_n(n,e._pointLabels[i],s,c+o.lineHeight/2,o,{color:a.color,textAlign:l,textBaseline:`middle`})}}function Dl(e,t,n,r){let{ctx:i}=e;if(n)i.arc(e.xCenter,e.yCenter,t,0,R);else{let n=e.getPointPosition(0,t);i.moveTo(n.x,n.y);for(let a=1;a{let n=F(this.options.pointLabels.callback,[e,t],this);return n||n===0?n:``}).filter((e,t)=>this.chart.getDataVisibility(t))}fit(){let e=this.options;e.display&&e.pointLabels.display?_l(this):this.setCenterPoint(0,0,0,0)}setCenterPoint(e,t,n,r){this.xCenter+=Math.floor((e-t)/2),this.yCenter+=Math.floor((n-r)/2),this.drawingArea-=Math.min(this.drawingArea/2,Math.max(e,t,n,r))}getIndexAngle(e){let t=R/(this._pointLabels.length||1),n=this.options.startAngle||0;return H(e*t+V(n))}getDistanceFromCenterForValue(e){if(k(e))return NaN;let t=this.drawingArea/(this.max-this.min);return this.options.reverse?(this.max-e)*t:(e-this.min)*t}getValueForDistanceFromCenter(e){if(k(e))return NaN;let t=e/(this.drawingArea/(this.max-this.min));return this.options.reverse?this.max-t:this.min+t}getPointLabelContext(e){let t=this._pointLabels||[];if(e>=0&&e{if(t!==0||t===0&&this.min<0){s=this.getDistanceFromCenterForValue(e.value);let n=this.getContext(t),o=r.setContext(n),c=i.setContext(n);Ol(this,o,s,a,c)}}),n.display){for(e.save(),o=a-1;o>=0;o--){let r=n.setContext(this.getPointLabelContext(o)),{color:i,lineWidth:a}=r;!a||!i||(e.lineWidth=a,e.strokeStyle=i,e.setLineDash(r.borderDash),e.lineDashOffset=r.borderDashOffset,s=this.getDistanceFromCenterForValue(t.reverse?this.min:this.max),c=this.getPointPosition(o,s),e.beginPath(),e.moveTo(this.xCenter,this.yCenter),e.lineTo(c.x,c.y),e.stroke())}e.restore()}}drawBorder(){}drawLabels(){let e=this.ctx,t=this.options,n=t.ticks;if(!n.display)return;let r=this.getIndexAngle(0),i,a;e.save(),e.translate(this.xCenter,this.yCenter),e.rotate(r),e.textAlign=`center`,e.textBaseline=`middle`,this.ticks.forEach((r,o)=>{if(o===0&&this.min>=0&&!t.reverse)return;let s=n.setContext(this.getContext(o)),c=J(s.font);if(i=this.getDistanceFromCenterForValue(this.ticks[o].value),s.showLabelBackdrop){e.font=c.string,a=e.measureText(r.label).width,e.fillStyle=s.backdropColor;let t=q(s.backdropPadding);e.fillRect(-a/2-t.left,-i-c.size/2-t.top,a+t.width,c.size+t.height)}_n(e,r.label,0,-i,c,{color:s.color,strokeColor:s.textStrokeColor,strokeWidth:s.textStrokeWidth})}),e.restore()}drawTitle(){}},jl={millisecond:{common:!0,size:1,steps:1e3},second:{common:!0,size:1e3,steps:60},minute:{common:!0,size:6e4,steps:60},hour:{common:!0,size:36e5,steps:24},day:{common:!0,size:864e5,steps:30},week:{common:!1,size:6048e5,steps:4},month:{common:!0,size:2628e6,steps:12},quarter:{common:!1,size:7884e6,steps:4},year:{common:!0,size:3154e7}},$=Object.keys(jl);function Ml(e,t){return e-t}function Nl(e,t){if(k(t))return null;let n=e._adapter,{parser:r,round:i,isoWeekday:a}=e._parseOpts,o=t;return typeof r==`function`&&(o=r(o)),M(o)||(o=typeof r==`string`?n.parse(o,r):n.parse(o)),o===null?null:(i&&(o=i===`week`&&(ct(a)||a===!0)?n.startOf(o,`isoWeek`,a):n.startOf(o,i)),+o)}function Pl(e,t,n,r){let i=$.length;for(let a=$.indexOf(e);a=$.indexOf(n);a--){let n=$[a];if(jl[n].common&&e._adapter.diff(i,r,n)>=t-1)return n}return $[n?$.indexOf(n):0]}function Il(e){for(let t=$.indexOf(e)+1,n=$.length;t=t?n[r]:n[i];e[a]=!0}}function Rl(e,t,n,r){let i=e._adapter,a=+i.startOf(t[0].value,r),o=t[t.length-1].value,s,c;for(s=a;s<=o;s=+i.add(s,1,r))c=n[s],c>=0&&(t[c].major=!0);return t}function zl(e,t,n){let r=[],i={},a=t.length,o,s;for(o=0;o+e.value))}initOffsets(e=[]){let t=0,n=0,r,i;this.options.offset&&e.length&&(r=this.getDecimalForValue(e[0]),t=e.length===1?1-r:(this.getDecimalForValue(e[1])-r)/2,i=this.getDecimalForValue(e[e.length-1]),n=e.length===1?i:(i-this.getDecimalForValue(e[e.length-2]))/2);let a=e.length<3?.5:.25;t=U(t,0,a),n=U(n,0,a),this._offsets={start:t,end:n,factor:1/(t+1+n)}}_generate(){let e=this._adapter,t=this.min,n=this.max,r=this.options,i=r.time,a=i.unit||Pl(i.minUnit,t,n,this._getLabelCapacity(t)),o=P(r.ticks.stepSize,1),s=a===`week`?i.isoWeekday:!1,c=ct(s)||s===!0,l={},u=t,d,f;if(c&&(u=+e.startOf(u,`isoWeek`,s)),u=+e.startOf(u,c?`day`:a),e.diff(n,t,a)>1e5*o)throw Error(t+` and `+n+` are too far apart with stepSize of `+o+` `+a);let p=r.ticks.source===`data`&&this.getDataTimestamps();for(d=u,f=0;d+e)}getLabelForValue(e){let t=this._adapter,n=this.options.time;return n.tooltipFormat?t.format(e,n.tooltipFormat):t.format(e,n.displayFormats.datetime)}format(e,t){let n=this.options.time.displayFormats,r=this._unit,i=t||n[r];return this._adapter.format(e,i)}_tickFormatFunction(e,t,n,r){let i=this.options,a=i.ticks.callback;if(a)return F(a,[e,t,n],this);let o=i.time.displayFormats,s=this._unit,c=this._majorUnit,l=s&&o[s],u=c&&o[c],d=n[t],f=c&&u&&d&&d.major;return this._adapter.format(e,r||(f?u:l))}generateTickLabels(e){let t,n,r;for(t=0,n=e.length;t0?o:1}getDataTimestamps(){let e=this._cache.data||[],t,n;if(e.length)return e;let r=this.getMatchingVisibleMetas();if(this._normalized&&r.length)return this._cache.data=r[0].controller.getAllParsedValues(this);for(t=0,n=r.length;t=e[r].pos&&t<=e[i].pos&&({lo:r,hi:i}=yt(e,`pos`,t)),{pos:a,time:s}=e[r],{pos:o,time:c}=e[i]):(t>=e[r].time&&t<=e[i].time&&({lo:r,hi:i}=yt(e,`time`,t)),{time:a,pos:s}=e[r],{time:o,pos:c}=e[i]);let l=o-a;return l?s+(c-s)*(t-a)/l:s}var Hl=class extends Bl{static id=`timeseries`;static defaults=Bl.defaults;constructor(e){super(e),this._table=[],this._minPos=void 0,this._tableRange=void 0}initOffsets(){let e=this._getTimestampsForTable(),t=this._table=this.buildLookupTable(e);this._minPos=Vl(t,this.min),this._tableRange=Vl(t,this.max)-this._minPos,super.initOffsets(e)}buildLookupTable(e){let{min:t,max:n}=this,r=[],i=[],a,o,s,c,l;for(a=0,o=e.length;a=t&&c<=n&&r.push(c);if(r.length<2)return[{time:t,pos:0},{time:n,pos:1}];for(a=0,o=r.length;ae-t)}_getTimestampsForTable(){let e=this._cache.all||[];if(e.length)return e;let t=this.getDataTimestamps(),n=this.getLabelTimestamps();return e=t.length&&n.length?this.normalize(t.concat(n)):t.length?t:n,e=this._cache.all=e,e}getDecimalForValue(e){return(Vl(this._table,e)-this._minPos)/this._tableRange}getValueForPixel(e){let t=this._offsets,n=this.getDecimalForPixel(e)/t.factor-t.end;return Vl(this._table,n*this._tableRange+this._minPos,!0)}},Ul=[Ri,ws,Zc,Object.freeze({__proto__:null,CategoryScale:nl,LinearScale:ol,LogarithmicScale:pl,RadialLinearScale:Al,TimeScale:Bl,TimeSeriesScale:Hl})],Wl={key:0,class:`aluminum-section`},Gl={class:`card aluminum-price-card`},Kl={class:`card-header`},ql={class:`aluminum-source`},Jl={class:`aluminum-content`},Yl={class:`aluminum-price-row`},Xl={class:`aluminum-current`},Zl={class:`aluminum-price-value`},Ql={class:`change-arrow`},$l={class:`aluminum-detail-row`},eu={class:`aluminum-detail-item`},tu={class:`detail-value`},nu={class:`aluminum-detail-item`},ru={class:`detail-value`},iu={class:`aluminum-detail-item`},au={class:`detail-value`},ou={class:`aluminum-detail-item`},su={class:`detail-value`},cu={class:`aluminum-detail-item`},lu={class:`detail-value`},uu={key:0,class:`aluminum-chart-wrapper`},du={class:`aluminum-chart-container`},fu={class:`features-grid`},pu=u(e({__name:`HomeView`,setup(e){let u=c(),g=n(null),_=null,v=a({price:null,unit:``,date:``,change:0,change_percent:0,open:0,high:0,low:0,prev_close:0,week_ago_price:0,history:[]}),y=e=>e==null?`--`:Math.round(e).toLocaleString(`zh-CN`),b=async()=>{try{let e=await l(`/api/aluminum-price/current`);v.price=e.price,v.unit=e.unit,v.date=e.date,v.change=e.change,v.change_percent=e.change_percent,v.open=e.open,v.high=e.high,v.low=e.low,v.prev_close=e.prev_close,v.week_ago_price=e.week_ago_price}catch(e){console.error(`加载铝价失败:`,e)}try{v.history=await l(`/api/aluminum-price/history?days=30`),await f(),x()}catch(e){console.error(`加载铝价历史失败:`,e)}},x=()=>{if(!g.value||v.history.length===0)return;_&&_.destroy();let e=v.change>=0,t=e?`#dc2626`:`#16a34a`,n=e?`rgba(220, 38, 38, 0.08)`:`rgba(22, 163, 74, 0.08)`;_=new Uo(g.value,{type:`line`,data:{labels:v.history.map(e=>e.date.slice(5)),datasets:[{label:`收盘价 (元/吨)`,data:v.history.map(e=>e.close),borderColor:t,backgroundColor:n,fill:!0,tension:.3,pointRadius:0,borderWidth:2}]},options:{responsive:!0,maintainAspectRatio:!1,plugins:{legend:{display:!1},tooltip:{callbacks:{label:e=>`${Math.round(e.parsed.y??0).toLocaleString(`zh-CN`)} 元/吨`}}},scales:{x:{grid:{display:!1},ticks:{maxTicksLimit:10,font:{size:10},color:`var(--text-tertiary)`}},y:{grid:{color:`var(--border-light)`},ticks:{font:{size:10},color:`var(--text-tertiary)`,callback:e=>e.toLocaleString(`zh-CN`)}}}}})};return o(()=>{Uo.register(...Ul),b()}),(e,n)=>(t(),m(`div`,null,[n[13]||=s(`div`,{class:`hero-section`},[s(`h1`,{class:`hero-title`},`Gemold 模具制造管理系统`),s(`p`,{class:`hero-subtitle`},`智能模具设计与制造一体化平台,从零件分析到模具生成,全流程数字化解决方案`)],-1),v.price?(t(),m(`div`,Wl,[s(`div`,Gl,[s(`div`,Kl,[n[2]||=s(`div`,{class:`card-title`},[s(`span`,{class:`aluminum-icon`},`🪙`),p(` 铝金属价格 (SHFE) `)],-1),s(`span`,ql,`数据来源: 上海期货交易所 | 更新于 `+h(v.date),1)]),s(`div`,Jl,[s(`div`,Yl,[s(`div`,Xl,[s(`span`,Zl,h(y(v.price)),1),n[3]||=s(`span`,{class:`aluminum-price-unit`},`元/吨`,-1)]),s(`div`,{class:i([`aluminum-change`,v.change>=0?`price-up`:`price-down`])},[s(`span`,Ql,h(v.change>=0?`▲`:`▼`),1),s(`span`,null,h(y(Math.abs(v.change))),1),s(`span`,null,`(`+h(v.change_percent>=0?`+`:``)+h(v.change_percent)+`%)`,1)],2)]),s(`div`,$l,[s(`div`,eu,[n[4]||=s(`span`,{class:`detail-label`},`开盘价`,-1),s(`span`,tu,h(y(v.open)),1)]),s(`div`,nu,[n[5]||=s(`span`,{class:`detail-label`},`最高价`,-1),s(`span`,ru,h(y(v.high)),1)]),s(`div`,iu,[n[6]||=s(`span`,{class:`detail-label`},`最低价`,-1),s(`span`,au,h(y(v.low)),1)]),s(`div`,ou,[n[7]||=s(`span`,{class:`detail-label`},`昨收价`,-1),s(`span`,su,h(y(v.prev_close)),1)]),s(`div`,cu,[n[8]||=s(`span`,{class:`detail-label`},`7日前`,-1),s(`span`,lu,h(y(v.week_ago_price)),1)])]),v.history.length>0?(t(),m(`div`,uu,[n[9]||=s(`div`,{class:`aluminum-chart-title`},`近30日价格走势`,-1),s(`div`,du,[s(`canvas`,{ref_key:`chartCanvas`,ref:g},null,512)])])):d(``,!0)])])])):d(``,!0),s(`div`,fu,[s(`div`,{class:`feature-card`,onClick:n[0]||=e=>r(u).push(`/moldinsight`),style:{cursor:`pointer`}},[...n[10]||=[s(`div`,{class:`feature-icon`},`◈`,-1),s(`h3`,{class:`feature-title`},`MoldInsight`,-1),s(`p`,{class:`feature-desc`},`智能模具分析引擎,支持 STP/STEP 文件解析、分模设计、CAM 刀路规划`,-1)]]),s(`div`,{class:`feature-card`,onClick:n[1]||=e=>r(u).push(`/inventory`),style:{cursor:`pointer`}},[...n[11]||=[s(`div`,{class:`feature-icon`},`⊞`,-1),s(`h3`,{class:`feature-title`},`进销存管理`,-1),s(`p`,{class:`feature-desc`},`产品管理、采购销售、库存管理、财务管理,一站式 ERP 解决方案`,-1)]]),n[12]||=s(`div`,{class:`feature-card`},[s(`div`,{class:`feature-icon`},`⚙`),s(`h3`,{class:`feature-title`},`AI 驱动`),s(`p`,{class:`feature-desc`},`AI 分型面检测、模具方案评分、智能设计建议,提升设计效率`)],-1)])]))}}),[[`__scopeId`,`data-v-dc82ceb2`]]);export{pu as default}; \ No newline at end of file diff --git a/static/assets/InventoryView-CV9T7V57.js b/static/assets/InventoryView-CV9T7V57.js deleted file mode 100644 index c4e99cd..0000000 --- a/static/assets/InventoryView-CV9T7V57.js +++ /dev/null @@ -1 +0,0 @@ -import{A as e,C as t,D as n,E as r,F as i,I as a,M as o,N as s,O as c,P as l,S as u,T as d,_ as f,g as p,h as m,j as h,k as g,l as _,m as v,n as y,o as b,r as x,s as S,t as C,v as w,x as T,y as E,z as D}from"./index-Tuyb_Kvo.js";import{a as O,n as k,r as A,t as j}from"./utils-COFIQvWo.js";var M=l({activeTab:`dashboard`,backendDbReady:!0,backendDbMessage:``,productCategory:`finished`,dashboard:null,financeSummary:null,financePeriod:{year:new Date().getFullYear(),quarter:``},financeTransactions:[],receivables:[],payables:[],customerFinanceStatement:[],supplierFinanceStatement:[],customerProductStatement:[],supplierProductStatement:[],products:[],materials:[],finishedProducts:[],purchaseOrders:[],purchaseWarehouseId:null,purchaseReceiveItems:[],productionOrders:[],productionPlan:null,productionWarehouseId:null,suppliers:[],customers:[],warehouses:[],inventory:[],movements:[],loading:!1,showModal:!1,modalType:``,editingItem:null,productBomItems:[],materialConsumptionItems:[],showMaterialConsumptionModal:!1,consumedMaterials:[],restockItems:[],showRestockModal:!1,form:{}}),N=null,P=null,F=i(null),I=i(null),L=i(null),R=i(null);function z(){let e=e=>{if(!e)return null;let t=String(e).trim().replace(`T`,` `).slice(0,16).match(/^(\d{4})-(\d{2})-(\d{2})\s(\d{2}):(\d{2})$/);if(!t)return null;let n=Number(t[1]),r=Number(t[2]),i=Number(t[3]),a=Number(t[4]),o=Number(t[5]);return Number.isFinite(n+r+i+a+o)?new Date(n,r-1,i,a,o,0):null},t=e=>{if(!e)return``;let t=String(e).trim();if(/^\d{4}-\d{2}-\d{2}\s\d{2}:\d{2}/.test(t))return t.slice(0,16);if(t.includes(`T`))return t.replace(`T`,` `).slice(0,16);let n=new Date(t);if(!Number.isFinite(n.getTime()))return``;let r=e=>String(e).padStart(2,`0`);return`${n.getFullYear()}-${r(n.getMonth()+1)}-${r(n.getDate())} ${r(n.getHours())}:${r(n.getMinutes())}`},n=e=>{if(!e)return null;let t=String(e).trim();return t.includes(`T`)?t.split(`T`)[0]:t.includes(` `)?t.split(` `)[0]:t.length===10?t:e instanceof Date?`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,`0`)}-${String(e.getDate()).padStart(2,`0`)}`:t},r=e=>{if(!e)return``;let t=String(e).trim();if(t.length===10&&!t.includes(`T`)&&!t.includes(` `))return t;let n=t.replace(` `,`T`);return n.length>=16?n.slice(0,16):n},i=e=>{if(!e)return``;let t=String(e).trim();return t.length===10&&!t.includes(`T`)&&!t.includes(` `)?t:t.replace(`T`,` `).slice(0,16)},a=()=>{N&&=(N.destroy(),null),P&&=(P.destroy(),null)},o=()=>{if(a(),typeof AirDatepicker==`function`){if(M.modalType===`salesOrder`&&F.value){N=new AirDatepicker(F.value,{timepicker:!1,autoClose:!0,zIndex:2005,dateFormat:`yyyy-MM-dd`,onSelect:({formattedDate:e})=>{M.form.delivery_date=e||``,M.form.delivery_date_native=r(e||``)}});let t=e(M.form.delivery_date);t&&N.selectDate(t,{silent:!0})}if(M.modalType===`purchaseOrder`&&I.value){P=new AirDatepicker(I.value,{timepicker:!1,autoClose:!0,zIndex:2005,dateFormat:`yyyy-MM-dd`,onSelect:({formattedDate:e})=>{M.form.expected_date=e||``,M.form.expected_date_native=r(e||``)}});let t=e(M.form.expected_date);t&&P.selectDate(t,{silent:!0})}}},s=e=>{if(e===`delivery`&&N){N.show();return}if(e===`expected`&&P){P.show();return}let t=e===`delivery`?L.value:R.value;if(t){if(typeof t.showPicker==`function`){t.showPicker();return}t.focus(),t.click()}},c=e=>({in:`其他入库`,out:`其他出库`,adjust:`库存调整`,purchase_in:`采购入库`,return_from_production:`生产退料入库`,outsource_return:`外协回库`,finish_in:`完工入库`,issue_to_production:`生产领料出库`,outsource_send:`外协发料出库`,shipment_out:`销售出库`,scrap_out:`报废出库`})[e]||e,u=e=>[`purchase_in`,`return_from_production`,`outsource_return`,`finish_in`,`in`].includes(e)?`badge-success`:[`issue_to_production`,`outsource_send`,`shipment_out`,`scrap_out`,`out`].includes(e)?`badge-error`:`badge-warning`,d=e=>({draft:`已下单`,pending:`已下单`,partial_received:`部分收货`,received:`已收货`,paid:`已付款`,cancelled:`已作废`})[e]||e,f=e=>[`received`,`paid`,`cancelled`].includes(e),p=e=>({manufacturing:`制造中`,delivered:`已交付`,paid:`已收款`,cancelled:`已作废`})[e]||e,h=e=>({manufacturing:`制造中`,delivered:`已交付`,cancelled:`已作废`})[e]||e,g=e=>({unpaid:`未收款`,paid:`已收款`})[e]||e,_=e=>({pending:`已下单`,partial_received:`部分收货`,received:`已收货`,cancelled:`已作废`})[e]||e,v=async()=>{try{let e=await fetch(`/health`,{method:`GET`});if(!e.ok){M.backendDbReady=!1,M.backendDbMessage=`后端服务异常,暂无法加载业务数据`;return}let t=await e.json().catch(()=>null);if(t&&t.database_connected===!1){M.backendDbReady=!1,M.backendDbMessage=`数据库未连接,当前仅可浏览界面,业务数据暂不可用`;return}M.backendDbReady=!0,M.backendDbMessage=``}catch{M.backendDbReady=!1,M.backendDbMessage=`无法连接后端服务`}},S=async()=>{M.loading=!0;try{M.dashboard=await b(`/api/dashboard`)}catch(e){x(e,`加载仪表盘`)}finally{M.loading=!1}},C=async()=>{M.loading=!0;try{M.finishedProducts=await b(`/api/products?item_type=finished&limit=100`)}catch(e){x(e,`加载成品`)}finally{M.loading=!1}},w=async()=>{await C()},T=async()=>{M.loading=!0;try{M.materials=await b(`/api/products?item_type=material&limit=100`)}catch(e){x(e,`加载物料`)}finally{M.loading=!1}},E=async()=>{M.loading=!0;try{M.warehouses=await b(`/api/warehouses`)}catch(e){x(e,`加载仓库`)}finally{M.loading=!1}},D=async()=>{if(M.materials.length||await T(),M.warehouses.length||await E(),!M.warehouses.length)try{await b(`/api/warehouses`,{method:`POST`,body:JSON.stringify({name:`默认仓库`})}),await E(),y(`已自动创建默认仓库`,`success`)}catch(e){x(e,`自动创建默认仓库`)}},z=async()=>{M.loading=!0;try{M.suppliers=await b(`/api/suppliers`)}catch(e){x(e,`加载供应商`)}finally{M.loading=!1}},B=async()=>{M.loading=!0;try{let[e,t]=await Promise.all([b(`/api/sales-orders?limit=100`),b(`/api/warehouses`)]);M.productionOrders=e?.items||[],M.warehouses=t||[],M.productionWarehouseId||=M.warehouses.find(e=>e.is_default)?.id||M.warehouses[0]?.id||null}catch(e){x(e,`加载按单生产数据`)}finally{M.loading=!1}},V=async()=>{M.loading=!0;try{let[e,t]=await Promise.all([b(`/api/purchase-orders?limit=100`),b(`/api/warehouses`)]);M.purchaseOrders=e?.items||[],M.warehouses=t||[],M.purchaseWarehouseId||=M.warehouses.find(e=>e.is_default)?.id||M.warehouses[0]?.id||null}catch(e){x(e,`加载采购订单`)}finally{M.loading=!1}},H=async()=>{M.loading=!0;try{M.customers=await b(`/api/customers`)}catch(e){x(e,`加载客户`)}finally{M.loading=!1}},U=async()=>{M.loading=!0;try{M.inventory=(await b(`/api/inventory`))?.items||[]}catch(e){x(e,`加载库存`)}finally{M.loading=!1}},W=async()=>{M.loading=!0;try{M.movements=(await b(`/api/stock-movements`))?.items||[]}catch(e){x(e,`加载变动记录`)}finally{M.loading=!1}},G=async()=>{M.loading=!0;try{let e=Number(M.financePeriod.year)||new Date().getFullYear(),t=M.financePeriod.quarter?Number(M.financePeriod.quarter):null,n=t?`year=${e}&quarter=${t}`:`year=${e}`,[r,i,a,o,s,c,l,u]=await Promise.all([b(`/api/finance/summary?${n}`),b(`/api/finance/transactions?status=confirmed&limit=20&${n}`),b(`/api/finance/receivables?limit=20&${n}`),b(`/api/finance/payables?limit=20&${n}`),b(`/api/finance/partner-statement/customer?${n}`),b(`/api/finance/partner-statement/supplier?${n}`),b(`/api/finance/partner-product-statement/customer?${n}`),b(`/api/finance/partner-product-statement/supplier?${n}`)]);M.financeSummary=r,M.financeTransactions=i,M.receivables=a,M.payables=o,M.customerFinanceStatement=s.items||[],M.supplierFinanceStatement=c.items||[],M.customerProductStatement=l.items||[],M.supplierProductStatement=u.items||[]}catch(e){x(e,`加载财务数据`)}finally{M.loading=!1}},K=()=>{M.activeTab===`finance`&&G()},q=e=>{M.activeTab=e},J=()=>{M.showModal=!1,M.modalType=``,M.editingItem=null,M.productBomItems=[],M.purchaseReceiveItems=[],M.form={},a()},Y=m(()=>(M.editingItem?`编辑`:`新增`)+({product:M.form.item_type===`finished`?`成品`:`物料`,inventoryItem:`物料库存`,salesOrder:`销售订单`,purchaseOrder:`采购订单`,purchaseReceive:`采购到货入库`,supplier:`供应商`,customer:`客户`}[M.modalType]||``)),X=[{key:`overview`,title:`概览`,items:[{key:`dashboard`,label:`仪表盘`}]},{key:`sales`,title:`销售`,items:[{key:`sales_orders`,label:`销售订单管理`}]},{key:`purchase`,title:`采购`,items:[{key:`purchases`,label:`采购订单管理`}]},{key:`product`,title:`产品`,items:[{key:`products`,label:`成品管理`},{key:`materials`,label:`物料管理`}]},{key:`partner`,title:`往来单位`,items:[{key:`customers`,label:`客户管理`},{key:`suppliers`,label:`供应商管理`}]},{key:`warehouse`,title:`仓库`,items:[{key:`inventory`,label:`库存管理`},{key:`movements`,label:`库存变动记录`}]},{key:`finance`,title:`财务`,items:[{key:`finance`,label:`财务概览`}]}],Z=l(Object.fromEntries(X.map(e=>[e.key,!0])));return{state:M,deliveryDateInput:F,expectedDateInput:I,deliveryDateNativeInput:L,expectedDateNativeInput:R,menuGroups:X,openGroups:Z,activeMenu:m(()=>{for(let e of X){let t=e.items.find(e=>e.key===M.activeTab);if(t)return{group:e,item:t}}return null}),modalTitle:Y,parseDateTimeLocal:e,toPickerValue:t,toApiDateTime:n,toNativeValue:r,fromNativeValue:i,destroyPickers:a,initPickers:o,openDateTimePicker:s,getMovementTypeLabel:c,getMovementBadgeClass:u,getPurchaseOrderStatusLabel:d,isPurchaseOrderLocked:f,getSalesOrderStatusLabel:p,getDeliveryStatusLabel:h,getPaymentStatusLabel:g,getReceiptStatusLabel:_,checkBackendHealth:v,loadDashboard:S,loadFinishedProducts:C,loadProducts:w,loadMaterials:T,loadWarehouses:E,ensureStockBaseData:D,loadSuppliers:z,loadProductionOrders:B,loadPurchaseOrders:V,loadCustomers:H,loadInventory:U,loadMovements:W,loadFinance:G,refreshFinanceByPeriod:K,switchTab:q,closeModal:J,toggleGroup:e=>{Z[e]=!Z[e]},handleMenuClick:e=>{q(e)},switchProductCategory:e=>{M.productCategory=e},formatCurrency:j,formatNumber:O,formatDateTime:A,formatDate:k}}var B=[`onClick`],V=t({__name:`InventorySidebar`,setup(e){let{state:t,menuGroups:r,openGroups:i,toggleGroup:s,handleMenuClick:l}=z();return(e,d)=>{let m=g(`el-icon`),_=g(`el-menu-item`),y=g(`el-menu`);return n(),f(y,{"default-active":a(t).activeTab,class:`inventory-sidebar`,onSelect:d[0]||=e=>a(l)(e)},{default:o(()=>[(n(!0),E(v,null,c(a(r),e=>(n(),E(`div`,{key:e.key,class:`sidebar-group`},[p(`div`,{class:`sidebar-group-title`,onClick:t=>a(s)(e.key)},[p(`span`,null,D(e.title),1),u(m,null,{default:o(()=>[(n(),f(h(a(i)[e.key]?`ArrowDown`:`ArrowRight`)))]),_:2},1024)],8,B),a(i)[e.key]?(n(!0),E(v,{key:0},c(e.items,t=>(n(),f(_,{key:e.key+`-`+t.key,index:t.key},{default:o(()=>[T(D(t.label),1)]),_:2},1032,[`index`]))),128)):w(``,!0)]))),128))]),_:1},8,[`default-active`])}}}),H={style:{display:`flex`,"align-items":`center`,gap:`12px`}},U={style:{"font-size":`32px`}},W={style:{"font-size":`24px`,"font-weight":`700`}},G={style:{color:`var(--text-tertiary)`,"font-size":`13px`}},K=t({__name:`DashboardTab`,setup(e){let{state:t,formatCurrency:r}=z();return(e,i)=>{let s=g(`el-card`),l=g(`el-col`),d=g(`el-row`);return n(),f(d,{gutter:16},{default:o(()=>[(n(!0),E(v,null,c([{icon:`📦`,value:a(t).dashboard?.product_count||0,label:`成品数量`},{icon:`📊`,value:a(t).dashboard?.total_stock||0,label:`物料库存总量`},{icon:`💰`,value:a(r)(a(t).dashboard?.total_value||0),label:`库存价值`},{icon:`🏭`,value:a(t).dashboard?.supplier_count||0,label:`供应商`},{icon:`👥`,value:a(t).dashboard?.customer_count||0,label:`客户`},{icon:`🏪`,value:a(t).dashboard?.warehouse_count||0,label:`仓库`}],e=>(n(),f(l,{span:8,key:e.label,style:{"margin-bottom":`16px`}},{default:o(()=>[u(s,{shadow:`hover`},{default:o(()=>[p(`div`,H,[p(`span`,U,D(e.icon),1),p(`div`,null,[p(`div`,W,D(e.value),1),p(`div`,G,D(e.label),1)])])]),_:2},1024)]),_:2},1024))),128))]),_:1})}}}),q={style:{"margin-bottom":`12px`}},J={style:{padding:`0 12px 12px 12px`}},Y=t({__name:`ProductsTab`,setup(t){let{state:r,formatCurrency:l,loadFinishedProducts:m,loadMaterials:h}=z(),_=i(!1),S=i(null),C=i({}),O=i([]);function k(){S.value=null,C.value={item_type:`finished`,unit:`件`,min_stock:0,max_stock:1e3,cost_price:0,sale_price:0,sku:``,name:``,category:``},O.value=[],_.value=!0}async function A(e){S.value=e,C.value={...e},await h();try{O.value=((await b(`/api/products/${e.id}/materials`)).items||[]).map(e=>({material_id:e.material_id,quantity:e.quantity}))}catch(e){x(e,`加载BOM`)}_.value=!0}function j(){O.value.push({material_id:r.materials[0]?.id||null,quantity:1})}function M(e){O.value.splice(e,1)}async function N(){if(!C.value.sku){y(`请输入SKU`,`warning`);return}if(!C.value.name){y(`请输入名称`,`warning`);return}try{S.value?(await b(`/api/products/${S.value.id}`,{method:`PUT`,body:JSON.stringify(C.value)}),C.value.item_type===`finished`&&O.value.length>0&&await b(`/api/products/${S.value.id}/materials`,{method:`PUT`,body:JSON.stringify({items:O.value})}),y(`成品更新成功`,`success`)):(await b(`/api/products`,{method:`POST`,body:JSON.stringify(C.value)}),y(`成品创建成功`,`success`)),_.value=!1,S.value=null,C.value={},O.value=[],m(),h()}catch(e){x(e,`保存成品`)}}async function P(e){if(confirm(`确定要删除这个成品吗?`))try{await b(`/api/products/${e}`,{method:`DELETE`}),y(`成品已删除`,`success`),m(),h()}catch(e){x(e,`删除成品`)}}function F(){_.value=!1,S.value=null,C.value={},O.value=[]}return d(()=>{m()}),(t,i)=>{let d=g(`el-button`),m=g(`el-table-column`),h=g(`el-table`),y=g(`el-empty`),b=g(`el-input`),x=g(`el-form-item`),I=g(`el-input-number`),L=g(`el-divider`),R=g(`el-option`),z=g(`el-select`),B=g(`el-form`),V=g(`el-dialog`),H=e(`loading`);return n(),E(`div`,null,[p(`div`,q,[u(d,{type:`primary`,onClick:k},{default:o(()=>[...i[8]||=[T(`新增成品`,-1)]]),_:1})]),s((n(),f(h,{data:a(r).finishedProducts,stripe:``},{default:o(()=>[u(m,{prop:`sku`,label:`SKU`}),u(m,{prop:`name`,label:`名称`}),u(m,{prop:`category`,label:`分类`},{default:o(({row:e})=>[T(D(e.category||`-`),1)]),_:1}),u(m,{prop:`unit`,label:`单位`}),u(m,{label:`成本价`},{default:o(({row:e})=>[T(D(a(l)(e.cost_price)),1)]),_:1}),u(m,{label:`销售价`},{default:o(({row:e})=>[T(D(a(l)(e.sale_price)),1)]),_:1}),u(m,{label:`基础物料成本`},{default:o(({row:e})=>[T(D(a(l)(e.material_cost||0)),1)]),_:1}),u(m,{label:`操作`,width:`180`},{default:o(({row:e})=>[u(d,{type:`primary`,size:`small`,onClick:t=>A(e)},{default:o(()=>[...i[9]||=[T(`编辑`,-1)]]),_:1},8,[`onClick`]),u(d,{type:`danger`,size:`small`,onClick:t=>P(e.id)},{default:o(()=>[...i[10]||=[T(`删除`,-1)]]),_:1},8,[`onClick`])]),_:1})]),_:1},8,[`data`])),[[H,a(r).loading]]),!a(r).loading&&a(r).finishedProducts.length===0?(n(),f(y,{key:0,description:`暂无成品数据`})):w(``,!0),u(V,{modelValue:_.value,"onUpdate:modelValue":i[7]||=e=>_.value=e,title:(S.value?`编辑`:`新增`)+`成品`,width:`560px`,onClosed:F},{footer:o(()=>[u(d,{onClick:i[6]||=e=>_.value=!1},{default:o(()=>[...i[14]||=[T(`取消`,-1)]]),_:1}),u(d,{type:`primary`,onClick:N},{default:o(()=>[...i[15]||=[T(`保存`,-1)]]),_:1})]),default:o(()=>[u(B,{"label-width":`100px`},{default:o(()=>[u(x,{label:`类型`},{default:o(()=>[u(b,{"model-value":`成品(按单生产,不做库存)`,disabled:``})]),_:1}),u(x,{label:`SKU`,required:``},{default:o(()=>[u(b,{modelValue:C.value.sku,"onUpdate:modelValue":i[0]||=e=>C.value.sku=e,placeholder:`产品编码`},null,8,[`modelValue`])]),_:1}),u(x,{label:`名称`,required:``},{default:o(()=>[u(b,{modelValue:C.value.name,"onUpdate:modelValue":i[1]||=e=>C.value.name=e,placeholder:`产品名称`},null,8,[`modelValue`])]),_:1}),u(x,{label:`分类`},{default:o(()=>[u(b,{modelValue:C.value.category,"onUpdate:modelValue":i[2]||=e=>C.value.category=e,placeholder:`产品分类`},null,8,[`modelValue`])]),_:1}),u(x,{label:`单位`},{default:o(()=>[u(b,{modelValue:C.value.unit,"onUpdate:modelValue":i[3]||=e=>C.value.unit=e,placeholder:`件`},null,8,[`modelValue`])]),_:1}),u(x,{label:`成本价`},{default:o(()=>[u(I,{modelValue:C.value.cost_price,"onUpdate:modelValue":i[4]||=e=>C.value.cost_price=e,precision:2,min:0,step:.01,style:{width:`100%`}},null,8,[`modelValue`])]),_:1}),u(x,{label:`销售价`},{default:o(()=>[u(I,{modelValue:C.value.sale_price,"onUpdate:modelValue":i[5]||=e=>C.value.sale_price=e,precision:2,min:0,step:.01,style:{width:`100%`}},null,8,[`modelValue`])]),_:1}),u(x,{label:`说明`},{default:o(()=>[u(b,{"model-value":`成品不做库存,成本由下方BOM定义物料构成后自动计算`,disabled:``})]),_:1}),S.value?(n(),E(v,{key:0},[u(L,{"content-position":`left`},{default:o(()=>[...i[11]||=[T(`BOM物料配置`,-1)]]),_:1}),p(`div`,J,[u(d,{type:`primary`,size:`small`,onClick:j,style:{"margin-bottom":`8px`}},{default:o(()=>[...i[12]||=[T(`+ 添加物料`,-1)]]),_:1}),u(h,{data:O.value,size:`small`,border:``},{default:o(()=>[u(m,{label:`物料`},{default:o(({row:e})=>[u(z,{modelValue:e.material_id,"onUpdate:modelValue":t=>e.material_id=t,placeholder:`选择物料`,style:{width:`100%`}},{default:o(()=>[(n(!0),E(v,null,c(a(r).materials,e=>(n(),f(R,{key:e.id,label:`${e.sku} - ${e.name}`,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`onUpdate:modelValue`])]),_:1}),u(m,{label:`数量`,width:`120`},{default:o(({row:e})=>[u(I,{modelValue:e.quantity,"onUpdate:modelValue":t=>e.quantity=t,min:1e-4,step:1e-4,size:`small`,style:{width:`100%`}},null,8,[`modelValue`,`onUpdate:modelValue`])]),_:1}),u(m,{label:`操作`,width:`80`},{default:o(({$index:e})=>[u(d,{type:`danger`,size:`small`,onClick:t=>M(e)},{default:o(()=>[...i[13]||=[T(`删除`,-1)]]),_:1},8,[`onClick`])]),_:1})]),_:1},8,[`data`])])],64)):w(``,!0)]),_:1})]),_:1},8,[`modelValue`,`title`])])}}}),X={style:{"margin-bottom":`12px`,display:`flex`,gap:`8px`}},Z={style:{display:`flex`,"justify-content":`space-between`,"align-items":`center`,"margin-bottom":`12px`}},ee={style:{"text-align":`right`,"margin-top":`8px`,"font-weight":`600`}},te=t({__name:`MaterialsTab`,setup(t){let{state:r,formatCurrency:l,loadMaterials:h,loadSuppliers:_,loadPurchaseOrders:S}=z(),C=i(!1),O=i(null),k=i({}),A=i(!1),j=i([]),M=i(null);function N(){O.value=null,k.value={item_type:`material`,unit:`kg`,min_stock:0,max_stock:1e3,cost_price:0,sale_price:0,sku:``,name:``,category:``},C.value=!0}async function P(e){O.value=e,k.value={...e},C.value=!0}async function F(){if(!k.value.sku){y(`请输入SKU`,`warning`);return}if(!k.value.name){y(`请输入名称`,`warning`);return}try{O.value?(await b(`/api/products/${O.value.id}`,{method:`PUT`,body:JSON.stringify(k.value)}),y(`物料更新成功`,`success`)):(await b(`/api/products`,{method:`POST`,body:JSON.stringify(k.value)}),y(`物料创建成功`,`success`)),C.value=!1,O.value=null,k.value={},h()}catch(e){x(e,`保存物料`)}}async function I(e){if(confirm(`确定要删除这个物料吗?`))try{await b(`/api/products/${e}`,{method:`DELETE`}),y(`物料已删除`,`success`),h()}catch(e){x(e,`删除物料`)}}async function L(){await h(),await _(),j.value=[],A.value=!0}function R(){j.value.push({material_id:r.materials[0]?.id||null,quantity:1,unit_price:0,remark:``})}function B(e){j.value.splice(e,1)}let V=m(()=>j.value.reduce((e,t)=>e+(t.unit_price||0)*(t.quantity||0),0));async function H(){if(!j.value||j.value.length===0){y(`请至少添加一个补货物料`,`warning`);return}for(let[e,t]of j.value.entries()){let n=e+1;if(!t.material_id){y(`第 ${n} 行:请选择物料`,`warning`);return}if(!Number.isFinite(t.quantity)||t.quantity<=0){y(`第 ${n} 行:数量必须大于 0`,`warning`);return}if(!Number.isFinite(t.unit_price)||t.unit_price<0){y(`第 ${n} 行:单价必须大于等于 0`,`warning`);return}}try{let e={supplier_id:M.value||r.suppliers[0]?.id||null,expected_date:new Date().toISOString().split(`T`)[0],remark:`物料补货`,items:j.value.map(e=>({product_id:e.material_id,quantity:e.quantity,unit_price:e.unit_price,remark:e.remark}))};if(!e.supplier_id){y(`请先添加供应商`,`warning`);return}await b(`/api/purchase-orders`,{method:`POST`,body:JSON.stringify(e)}),y(`采购订单创建成功`,`success`),A.value=!1,j.value=[],S()}catch(e){x(e,`保存补货订单`)}}function U(){C.value=!1,O.value=null,k.value={}}function W(){A.value=!1,j.value=[]}return d(()=>{h()}),(t,i)=>{let d=g(`el-button`),m=g(`el-table-column`),h=g(`el-table`),_=g(`el-empty`),y=g(`el-input`),b=g(`el-form-item`),x=g(`el-input-number`),S=g(`el-form`),z=g(`el-dialog`),G=g(`el-option`),K=g(`el-select`),q=e(`loading`);return n(),E(`div`,null,[p(`div`,X,[u(d,{type:`primary`,onClick:N},{default:o(()=>[...i[12]||=[T(`新增物料`,-1)]]),_:1}),u(d,{type:`success`,onClick:L},{default:o(()=>[...i[13]||=[T(`物料补货`,-1)]]),_:1})]),s((n(),f(h,{data:a(r).materials,stripe:``},{default:o(()=>[u(m,{prop:`sku`,label:`SKU`}),u(m,{prop:`name`,label:`名称`}),u(m,{prop:`category`,label:`分类`},{default:o(({row:e})=>[T(D(e.category||`-`),1)]),_:1}),u(m,{prop:`unit`,label:`单位`}),u(m,{label:`成本价`},{default:o(({row:e})=>[T(D(a(l)(e.cost_price)),1)]),_:1}),u(m,{prop:`min_stock`,label:`最低库存`},{default:o(({row:e})=>[T(D(e.min_stock??`-`),1)]),_:1}),u(m,{label:`操作`,width:`180`},{default:o(({row:e})=>[u(d,{type:`primary`,size:`small`,onClick:t=>P(e)},{default:o(()=>[...i[14]||=[T(`编辑`,-1)]]),_:1},8,[`onClick`]),u(d,{type:`danger`,size:`small`,onClick:t=>I(e.id)},{default:o(()=>[...i[15]||=[T(`删除`,-1)]]),_:1},8,[`onClick`])]),_:1})]),_:1},8,[`data`])),[[q,a(r).loading]]),!a(r).loading&&a(r).materials.length===0?(n(),f(_,{key:0,description:`暂无物料数据`})):w(``,!0),u(z,{modelValue:C.value,"onUpdate:modelValue":i[8]||=e=>C.value=e,title:(O.value?`编辑`:`新增`)+`物料`,width:`560px`,onClosed:U},{footer:o(()=>[u(d,{onClick:i[7]||=e=>C.value=!1},{default:o(()=>[...i[16]||=[T(`取消`,-1)]]),_:1}),u(d,{type:`primary`,onClick:F},{default:o(()=>[...i[17]||=[T(`保存`,-1)]]),_:1})]),default:o(()=>[u(S,{"label-width":`100px`},{default:o(()=>[u(b,{label:`类型`},{default:o(()=>[u(y,{"model-value":`物料(纳入库存)`,disabled:``})]),_:1}),u(b,{label:`SKU`,required:``},{default:o(()=>[u(y,{modelValue:k.value.sku,"onUpdate:modelValue":i[0]||=e=>k.value.sku=e,placeholder:`产品编码`},null,8,[`modelValue`])]),_:1}),u(b,{label:`名称`,required:``},{default:o(()=>[u(y,{modelValue:k.value.name,"onUpdate:modelValue":i[1]||=e=>k.value.name=e,placeholder:`产品名称`},null,8,[`modelValue`])]),_:1}),u(b,{label:`分类`},{default:o(()=>[u(y,{modelValue:k.value.category,"onUpdate:modelValue":i[2]||=e=>k.value.category=e,placeholder:`产品分类`},null,8,[`modelValue`])]),_:1}),u(b,{label:`单位`},{default:o(()=>[u(y,{modelValue:k.value.unit,"onUpdate:modelValue":i[3]||=e=>k.value.unit=e,placeholder:`kg`},null,8,[`modelValue`])]),_:1}),u(b,{label:`成本价`},{default:o(()=>[u(x,{modelValue:k.value.cost_price,"onUpdate:modelValue":i[4]||=e=>k.value.cost_price=e,precision:2,min:0,step:.01,style:{width:`100%`}},null,8,[`modelValue`])]),_:1}),u(b,{label:`最低库存`},{default:o(()=>[u(x,{modelValue:k.value.min_stock,"onUpdate:modelValue":i[5]||=e=>k.value.min_stock=e,min:0,style:{width:`100%`}},null,8,[`modelValue`])]),_:1}),u(b,{label:`最高库存`},{default:o(()=>[u(x,{modelValue:k.value.max_stock,"onUpdate:modelValue":i[6]||=e=>k.value.max_stock=e,min:0,style:{width:`100%`}},null,8,[`modelValue`])]),_:1})]),_:1})]),_:1},8,[`modelValue`,`title`]),u(z,{modelValue:A.value,"onUpdate:modelValue":i[11]||=e=>A.value=e,title:`物料补货`,width:`900px`,onClosed:W},{footer:o(()=>[u(d,{onClick:i[10]||=e=>A.value=!1},{default:o(()=>[...i[21]||=[T(`取消`,-1)]]),_:1}),u(d,{type:`primary`,onClick:H},{default:o(()=>[...i[22]||=[T(`创建采购订单`,-1)]]),_:1})]),default:o(()=>[u(S,{"label-width":`100px`,style:{"margin-bottom":`16px`}},{default:o(()=>[u(b,{label:`供应商`},{default:o(()=>[u(K,{modelValue:M.value,"onUpdate:modelValue":i[9]||=e=>M.value=e,placeholder:`请选择供应商`,style:{width:`100%`}},{default:o(()=>[(n(!0),E(v,null,c(a(r).suppliers,e=>(n(),f(G,{key:e.id,label:e.name,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`])]),_:1})]),_:1}),p(`div`,Z,[i[19]||=p(`span`,{style:{"font-weight":`600`}},`补货物料明细`,-1),u(d,{type:`primary`,size:`small`,onClick:R},{default:o(()=>[...i[18]||=[T(`+ 添加物料`,-1)]]),_:1})]),u(h,{data:j.value,border:``,size:`small`},{default:o(()=>[u(m,{label:`物料`,"min-width":`200`},{default:o(({row:e})=>[u(K,{modelValue:e.material_id,"onUpdate:modelValue":t=>e.material_id=t,placeholder:`请选择物料`,style:{width:`100%`}},{default:o(()=>[(n(!0),E(v,null,c(a(r).materials,e=>(n(),f(G,{key:e.id,label:`${e.sku} - ${e.name}`,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`onUpdate:modelValue`])]),_:1}),u(m,{label:`数量`,width:`120`},{default:o(({row:e})=>[u(x,{modelValue:e.quantity,"onUpdate:modelValue":t=>e.quantity=t,min:1,size:`small`,style:{width:`100%`}},null,8,[`modelValue`,`onUpdate:modelValue`])]),_:1}),u(m,{label:`单价`,width:`120`},{default:o(({row:e})=>[u(x,{modelValue:e.unit_price,"onUpdate:modelValue":t=>e.unit_price=t,min:0,precision:2,step:.01,size:`small`,style:{width:`100%`}},null,8,[`modelValue`,`onUpdate:modelValue`])]),_:1}),u(m,{label:`总价`,width:`120`},{default:o(({row:e})=>[T(D(a(l)((e.unit_price||0)*(e.quantity||0))),1)]),_:1}),u(m,{label:`备注`,width:`150`},{default:o(({row:e})=>[u(y,{modelValue:e.remark,"onUpdate:modelValue":t=>e.remark=t,size:`small`,placeholder:`备注`},null,8,[`modelValue`,`onUpdate:modelValue`])]),_:1}),u(m,{label:`操作`,width:`80`},{default:o(({$index:e})=>[u(d,{type:`danger`,size:`small`,onClick:t=>B(e)},{default:o(()=>[...i[20]||=[T(`删除`,-1)]]),_:1},8,[`onClick`])]),_:1})]),_:1},8,[`data`]),p(`div`,ee,` 补货总金额:`+D(a(l)(V.value)),1)]),_:1},8,[`modelValue`])])}}}),ne={class:`inventory-tab`},re={class:`table-header`},ie=C(t({__name:`InventoryTab`,setup(t){let{state:r,loadInventory:m,ensureStockBaseData:h}=z(),_=i(!1),S=i(null),C=l({product_id:null,warehouse_id:null,quantity:0,locked_quantity:0,batch_no:``,location:``});function w(){h(),S.value=null,C.product_id=null,C.warehouse_id=null,C.quantity=0,C.locked_quantity=0,C.batch_no=``,C.location=``,_.value=!0}function D(e){h(),S.value=e,C.product_id=e.product_id??null,C.warehouse_id=e.warehouse_id??null,C.quantity=e.quantity??0,C.locked_quantity=e.locked_quantity??0,C.batch_no=e.batch_no??``,C.location=e.location??``,_.value=!0}async function O(){try{let e={product_id:C.product_id,warehouse_id:C.warehouse_id,quantity:C.quantity,locked_quantity:C.locked_quantity,batch_no:C.batch_no||null,location:C.location||null};S.value?(await b(`/api/inventory/${S.value.id}`,{method:`PUT`,body:JSON.stringify(e)}),y(`物料库存更新成功`,`success`)):(await b(`/api/inventory`,{method:`POST`,body:JSON.stringify(e)}),y(`物料库存已创建`,`success`)),_.value=!1,m()}catch(e){x(e,`保存物料库存`)}}async function k(e){if(confirm(`确定要删除这个物料库存记录吗?`))try{await b(`/api/inventory/${e}`,{method:`DELETE`}),y(`物料库存已删除`,`success`),m()}catch(e){x(e,`删除物料库存`)}}return d(()=>{m()}),(t,i)=>{let l=g(`el-button`),d=g(`el-table-column`),m=g(`el-table`),h=g(`el-option`),y=g(`el-select`),b=g(`el-form-item`),x=g(`el-input-number`),A=g(`el-input`),j=g(`el-form`),M=g(`el-dialog`),N=e(`loading`);return n(),E(`div`,ne,[p(`div`,re,[u(l,{type:`primary`,onClick:w},{default:o(()=>[...i[8]||=[T(`+ 新增物料库存`,-1)]]),_:1})]),s((n(),f(m,{data:a(r).inventory,style:{width:`100%`},"empty-text":`暂无库存数据`},{default:o(()=>[u(d,{prop:`product_sku`,label:`SKU`}),u(d,{prop:`product_name`,label:`物料`}),u(d,{prop:`warehouse_name`,label:`仓库`}),u(d,{prop:`quantity`,label:`数量`}),u(d,{prop:`available_quantity`,label:`可用`}),u(d,{label:`操作`,width:`180`},{default:o(({row:e})=>[u(l,{size:`small`,onClick:t=>D(e)},{default:o(()=>[...i[9]||=[T(`编辑`,-1)]]),_:1},8,[`onClick`]),u(l,{size:`small`,type:`danger`,onClick:t=>k(e.id)},{default:o(()=>[...i[10]||=[T(`删除`,-1)]]),_:1},8,[`onClick`])]),_:1})]),_:1},8,[`data`])),[[N,a(r).loading]]),u(M,{modelValue:_.value,"onUpdate:modelValue":i[7]||=e=>_.value=e,title:S.value?`编辑物料库存`:`新增物料库存`,width:`520px`,"close-on-click-modal":!1},{footer:o(()=>[u(l,{onClick:i[6]||=e=>_.value=!1},{default:o(()=>[...i[11]||=[T(`取消`,-1)]]),_:1}),u(l,{type:`primary`,onClick:O},{default:o(()=>[...i[12]||=[T(`保存`,-1)]]),_:1})]),default:o(()=>[u(j,{model:C,"label-width":`80px`},{default:o(()=>[u(b,{label:`物料`,required:``},{default:o(()=>[u(y,{modelValue:C.product_id,"onUpdate:modelValue":i[0]||=e=>C.product_id=e,placeholder:`请选择物料`,style:{width:`100%`}},{default:o(()=>[(n(!0),E(v,null,c(a(r).materials,e=>(n(),f(h,{key:e.id,label:e.name+(e.sku?` (`+e.sku+`)`:``),value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`])]),_:1}),u(b,{label:`仓库`,required:``},{default:o(()=>[u(y,{modelValue:C.warehouse_id,"onUpdate:modelValue":i[1]||=e=>C.warehouse_id=e,placeholder:`请选择仓库`,style:{width:`100%`}},{default:o(()=>[(n(!0),E(v,null,c(a(r).warehouses,e=>(n(),f(h,{key:e.id,label:e.name,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`])]),_:1}),u(b,{label:`数量`,required:``},{default:o(()=>[u(x,{modelValue:C.quantity,"onUpdate:modelValue":i[2]||=e=>C.quantity=e,min:0,style:{width:`100%`}},null,8,[`modelValue`])]),_:1}),u(b,{label:`锁定数量`},{default:o(()=>[u(x,{modelValue:C.locked_quantity,"onUpdate:modelValue":i[3]||=e=>C.locked_quantity=e,min:0,style:{width:`100%`}},null,8,[`modelValue`])]),_:1}),u(b,{label:`批次号`},{default:o(()=>[u(A,{modelValue:C.batch_no,"onUpdate:modelValue":i[4]||=e=>C.batch_no=e,placeholder:`请输入批次号`},null,8,[`modelValue`])]),_:1}),u(b,{label:`库位`},{default:o(()=>[u(A,{modelValue:C.location,"onUpdate:modelValue":i[5]||=e=>C.location=e,placeholder:`请输入库位`},null,8,[`modelValue`])]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`,`title`])])}}}),[[`__scopeId`,`data-v-ac629843`]]),ae={style:{"margin-bottom":`12px`,display:`flex`,gap:`12px`,"align-items":`center`}},oe={style:{display:`flex`,gap:`4px`}},Q={style:{display:`flex`,"justify-content":`space-between`,"align-items":`center`,"margin-bottom":`12px`}},se={style:{"text-align":`right`,"margin-top":`8px`,"font-weight":`600`}},$=t({__name:`PurchaseOrdersTab`,setup(t){let{state:r,formatCurrency:l,formatDateTime:h,formatDate:_,getPurchaseOrderStatusLabel:S,getReceiptStatusLabel:C,getPaymentStatusLabel:O,isPurchaseOrderLocked:k,loadPurchaseOrders:A,loadSuppliers:j,loadMaterials:M,loadInventory:N,loadMovements:P}=z(),F=i(!1),I=i(null),L=i({}),R=i([]),B=i(null),V=i(!1),H=i(null),U=i([]),W=i(null),G=i(``);function K(){I.value=null,L.value={supplier_id:null,expected_date:``,remark:``},R.value=[],F.value=!0}function q(){R.value.push({product_id:r.materials[0]?.id||null,quantity:1,remark:``})}function J(e){R.value.splice(e,1)}let Y=m(()=>R.value.reduce((e,t)=>e+(r.materials.find(e=>e.id===t.product_id)?.cost_price||0)*(t.quantity||0),0));async function X(e){await M(),await j(),I.value=e,L.value={supplier_id:e.supplier_id||null,expected_date:e.expected_date||``,remark:e.remark||``};try{R.value=((await b(`/api/purchase-orders/${e.id}`)).items||[]).map(e=>({product_id:e.product_id,quantity:e.quantity,remark:e.remark||``}))}catch(e){x(e,`加载采购订单详情`)}F.value=!0}async function Z(){if(!L.value.supplier_id){y(`请选择供应商`,`warning`);return}if(!R.value||R.value.length===0){y(`请至少添加一个物料`,`warning`);return}for(let[e,t]of R.value.entries()){if(!t.product_id){y(`第 ${e+1} 行:请选择物料`,`warning`);return}if(!t.quantity||t.quantity<=0){y(`第 ${e+1} 行:数量必须大于 0`,`warning`);return}}try{let e={supplier_id:L.value.supplier_id,expected_date:L.value.expected_date||null,remark:L.value.remark||``,items:R.value.map(e=>({product_id:e.product_id,quantity:e.quantity,remark:e.remark}))};I.value?(await b(`/api/purchase-orders/${I.value.id}`,{method:`PUT`,body:JSON.stringify(e)}),y(`采购订单更新成功`,`success`)):(await b(`/api/purchase-orders`,{method:`POST`,body:JSON.stringify(e)}),y(`采购订单创建成功`,`success`)),F.value=!1,I.value=null,L.value={},R.value=[],A()}catch(e){x(e,`保存采购订单`)}}async function ee(e){if(confirm(`确定要删除这个采购订单吗?`))try{await b(`/api/purchase-orders/${e}`,{method:`DELETE`}),y(`采购订单已删除`,`success`),A()}catch(e){x(e,`删除采购订单`)}}async function te(e){try{let t=await b(`/api/purchase-orders/${e.id}`);H.value=e,U.value=(t.items||[]).map(e=>({id:e.id,material_label:e.product_name||e.product_sku||``,quantity:e.quantity||0,received_quantity:e.received_quantity||0,remaining:(e.quantity||0)-(e.received_quantity||0),receive_quantity:0})),W.value=B.value||r.warehouses[0]?.id||null,G.value=``,V.value=!0}catch(e){x(e,`加载采购订单详情`)}}async function ne(){if(!W.value){y(`请选择入库仓库`,`warning`);return}let e=U.value.filter(e=>e.receive_quantity>0).map(e=>({item_id:e.id,quantity:e.receive_quantity}));if(e.length===0){y(`请输入本次入库数量`,`warning`);return}try{await b(`/api/purchase-orders/${H.value.id}/receive`,{method:`POST`,body:JSON.stringify({warehouse_id:W.value,remark:G.value,items:e})}),y(`入库完成`,`success`),V.value=!1,H.value=null,U.value=[],A(),N(),P()}catch(e){x(e,`采购入库`)}}async function re(e){if(confirm(`确认标记为已付款?`))try{await b(`/api/purchase-orders/${e}/status`,{method:`PATCH`,body:JSON.stringify({status:`paid`})}),y(`已标记为已付款`,`success`),A(),P()}catch(e){x(e,`更新状态`)}}async function ie(e,t){let n=t===`cancelled`?`作废`:t;if(confirm(`确认${n}该订单?`))try{await b(`/api/purchase-orders/${e}/status`,{method:`PATCH`,body:JSON.stringify({status:t})}),y(`订单已${n}`,`success`),A(),P(),N()}catch(e){x(e,`更新状态`)}}function $(){F.value=!1,I.value=null,L.value={},R.value=[]}function ce(){V.value=!1,H.value=null,U.value=[]}async function le(){await M(),await j(),await A()}return d(()=>{le()}),(t,i)=>{let d=g(`el-option`),m=g(`el-select`),y=g(`el-button`),b=g(`el-table-column`),x=g(`el-tag`),S=g(`el-table`),j=g(`el-empty`),M=g(`el-form-item`),N=g(`el-date-picker`),P=g(`el-input`),z=g(`el-form`),H=g(`el-input-number`),le=g(`el-dialog`),ue=e(`loading`);return n(),E(`div`,null,[p(`div`,ae,[u(m,{modelValue:B.value,"onUpdate:modelValue":i[0]||=e=>B.value=e,placeholder:`选择仓库`,style:{width:`200px`},clearable:``},{default:o(()=>[(n(!0),E(v,null,c(a(r).warehouses,e=>(n(),f(d,{key:e.id,label:e.name,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`]),u(y,{onClick:a(A)},{default:o(()=>[...i[10]||=[T(`刷新`,-1)]]),_:1},8,[`onClick`]),u(y,{type:`primary`,onClick:K},{default:o(()=>[...i[11]||=[T(`新增采购订单`,-1)]]),_:1})]),s((n(),f(S,{data:a(r).purchaseOrders,stripe:``},{default:o(()=>[u(b,{prop:`order_no`,label:`采购单`}),u(b,{prop:`supplier_name`,label:`供应商`}),u(b,{label:`状态`},{default:o(({row:e})=>[p(`div`,oe,[u(x,{type:e.receipt_status===`received`?`success`:e.receipt_status===`partial_received`?`warning`:e.receipt_status===`cancelled`?`danger`:`info`,size:`small`},{default:o(()=>[T(D(a(C)(e.receipt_status)),1)]),_:2},1032,[`type`]),u(x,{type:e.payment_status===`paid`?`success`:`info`,size:`small`},{default:o(()=>[T(D(a(O)(e.payment_status)),1)]),_:2},1032,[`type`])])]),_:1}),u(b,{label:`订单创建`},{default:o(({row:e})=>[T(D(a(h)(e.created_at)),1)]),_:1}),u(b,{label:`预计到货`},{default:o(({row:e})=>[T(D(a(_)(e.expected_date)),1)]),_:1}),u(b,{label:`实际到货`},{default:o(({row:e})=>[T(D(e.received_at?a(h)(e.received_at):`-`),1)]),_:1}),u(b,{label:`实际付款`},{default:o(({row:e})=>[T(D(e.paid_at?a(h)(e.paid_at):`-`),1)]),_:1}),u(b,{label:`总金额`},{default:o(({row:e})=>[T(D(a(l)(e.total_amount)),1)]),_:1}),u(b,{label:`已付款`},{default:o(({row:e})=>[T(D(a(l)(e.paid_amount||0)),1)]),_:1}),u(b,{label:`操作`,width:`280`},{default:o(({row:e})=>[u(y,{type:`primary`,size:`small`,disabled:a(k)(e.status),onClick:t=>X(e)},{default:o(()=>[...i[12]||=[T(` 编辑 `,-1)]]),_:1},8,[`disabled`,`onClick`]),u(y,{type:`danger`,size:`small`,disabled:a(k)(e.status),onClick:t=>ee(e.id)},{default:o(()=>[...i[13]||=[T(` 删除 `,-1)]]),_:1},8,[`disabled`,`onClick`]),e.receipt_status===`pending`||e.receipt_status===`partial_received`?(n(),f(y,{key:0,type:`success`,size:`small`,onClick:t=>te(e)},{default:o(()=>[...i[14]||=[T(` 到货入库 `,-1)]]),_:1},8,[`onClick`])):w(``,!0),e.receipt_status===`received`&&e.payment_status!==`paid`?(n(),f(y,{key:1,type:`warning`,size:`small`,onClick:t=>re(e.id)},{default:o(()=>[...i[15]||=[T(` 标记为已付款 `,-1)]]),_:1},8,[`onClick`])):w(``,!0),e.payment_status!==`paid`&&e.receipt_status!==`cancelled`?(n(),f(y,{key:2,type:`info`,size:`small`,onClick:t=>ie(e.id,`cancelled`)},{default:o(()=>[...i[16]||=[T(` 作废 `,-1)]]),_:1},8,[`onClick`])):w(``,!0)]),_:1})]),_:1},8,[`data`])),[[ue,a(r).loading]]),!a(r).loading&&a(r).purchaseOrders.length===0?(n(),f(j,{key:0,description:`暂无采购订单`})):w(``,!0),u(le,{modelValue:F.value,"onUpdate:modelValue":i[5]||=e=>F.value=e,title:(I.value?`编辑`:`新增`)+`采购订单`,width:`800px`,onClosed:$},{footer:o(()=>[u(y,{onClick:i[4]||=e=>F.value=!1},{default:o(()=>[...i[20]||=[T(`取消`,-1)]]),_:1}),u(y,{type:`primary`,onClick:Z},{default:o(()=>[...i[21]||=[T(`保存`,-1)]]),_:1})]),default:o(()=>[u(z,{"label-width":`100px`},{default:o(()=>[u(M,{label:`供应商`,required:``},{default:o(()=>[u(m,{modelValue:L.value.supplier_id,"onUpdate:modelValue":i[1]||=e=>L.value.supplier_id=e,placeholder:`请选择供应商`,style:{width:`100%`}},{default:o(()=>[(n(!0),E(v,null,c(a(r).suppliers,e=>(n(),f(d,{key:e.id,label:e.name,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`])]),_:1}),u(M,{label:`预计到货`},{default:o(()=>[u(N,{modelValue:L.value.expected_date,"onUpdate:modelValue":i[2]||=e=>L.value.expected_date=e,type:`date`,placeholder:`选择日期`,style:{width:`100%`},"value-format":`YYYY-MM-DD`},null,8,[`modelValue`])]),_:1}),u(M,{label:`备注`},{default:o(()=>[u(P,{modelValue:L.value.remark,"onUpdate:modelValue":i[3]||=e=>L.value.remark=e,placeholder:`备注信息`},null,8,[`modelValue`])]),_:1})]),_:1}),p(`div`,Q,[i[18]||=p(`span`,{style:{"font-weight":`600`}},`物料明细`,-1),u(y,{type:`primary`,size:`small`,onClick:q},{default:o(()=>[...i[17]||=[T(`+ 添加物料`,-1)]]),_:1})]),u(S,{data:R.value,border:``,size:`small`},{default:o(()=>[u(b,{label:`物料`,"min-width":`200`},{default:o(({row:e})=>[u(m,{modelValue:e.product_id,"onUpdate:modelValue":t=>e.product_id=t,placeholder:`请选择物料`,style:{width:`100%`}},{default:o(()=>[(n(!0),E(v,null,c(a(r).materials,e=>(n(),f(d,{key:e.id,label:`${e.sku} - ${e.name}`,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`onUpdate:modelValue`])]),_:1}),u(b,{label:`数量`,width:`120`},{default:o(({row:e})=>[u(H,{modelValue:e.quantity,"onUpdate:modelValue":t=>e.quantity=t,min:1e-4,step:1e-4,size:`small`,style:{width:`100%`}},null,8,[`modelValue`,`onUpdate:modelValue`])]),_:1}),u(b,{label:`单价`,width:`120`},{default:o(({row:e})=>[u(H,{"model-value":a(r).materials.find(t=>t.id===e.product_id)?.cost_price||0,disabled:``,size:`small`,style:{width:`100%`}},null,8,[`model-value`])]),_:1}),u(b,{label:`总价`,width:`120`},{default:o(({row:e})=>[T(D(a(l)((a(r).materials.find(t=>t.id===e.product_id)?.cost_price||0)*(e.quantity||0))),1)]),_:1}),u(b,{label:`备注`,width:`150`},{default:o(({row:e})=>[u(P,{modelValue:e.remark,"onUpdate:modelValue":t=>e.remark=t,size:`small`,placeholder:`备注`},null,8,[`modelValue`,`onUpdate:modelValue`])]),_:1}),u(b,{label:`操作`,width:`80`},{default:o(({$index:e})=>[u(y,{type:`danger`,size:`small`,onClick:t=>J(e)},{default:o(()=>[...i[19]||=[T(`删除`,-1)]]),_:1},8,[`onClick`])]),_:1})]),_:1},8,[`data`]),p(`div`,se,` 订单总金额:`+D(a(l)(Y.value)),1)]),_:1},8,[`modelValue`,`title`]),u(le,{modelValue:V.value,"onUpdate:modelValue":i[9]||=e=>V.value=e,title:`采购到货入库`,width:`700px`,onClosed:ce},{footer:o(()=>[u(y,{onClick:i[8]||=e=>V.value=!1},{default:o(()=>[...i[22]||=[T(`取消`,-1)]]),_:1}),u(y,{type:`primary`,onClick:ne},{default:o(()=>[...i[23]||=[T(`确认入库`,-1)]]),_:1})]),default:o(()=>[u(z,{"label-width":`100px`},{default:o(()=>[u(M,{label:`入库仓库`,required:``},{default:o(()=>[u(m,{modelValue:W.value,"onUpdate:modelValue":i[6]||=e=>W.value=e,placeholder:`请选择仓库`,style:{width:`100%`}},{default:o(()=>[(n(!0),E(v,null,c(a(r).warehouses,e=>(n(),f(d,{key:e.id,label:e.name,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`])]),_:1}),u(M,{label:`备注`},{default:o(()=>[u(P,{modelValue:G.value,"onUpdate:modelValue":i[7]||=e=>G.value=e,placeholder:`入库备注`},null,8,[`modelValue`])]),_:1})]),_:1}),u(S,{data:U.value,border:``,size:`small`},{default:o(()=>[u(b,{prop:`material_label`,label:`物料`}),u(b,{prop:`id`,label:`明细ID`,width:`80`}),u(b,{label:`剩余待入库`,width:`100`},{default:o(({row:e})=>[T(D(e.remaining),1)]),_:1}),u(b,{label:`本次入库`,width:`140`},{default:o(({row:e})=>[u(H,{modelValue:e.receive_quantity,"onUpdate:modelValue":t=>e.receive_quantity=t,min:0,max:e.remaining,size:`small`,style:{width:`100%`}},null,8,[`modelValue`,`onUpdate:modelValue`,`max`])]),_:1})]),_:1},8,[`data`])]),_:1},8,[`modelValue`])])}}}),ce={style:{"margin-bottom":`12px`,display:`flex`,gap:`12px`,"align-items":`center`}},le={style:{display:`flex`,gap:`4px`}},ue={style:{display:`flex`,"justify-content":`space-between`,"align-items":`center`,"margin-bottom":`12px`}},de={style:{display:`flex`,gap:`8px`}},fe={key:1,style:{"padding-left":`8px`}},pe={style:{"text-align":`right`,"margin-top":`8px`,"font-weight":`600`}},me={style:{display:`flex`,"justify-content":`space-between`,"align-items":`center`,"margin-bottom":`12px`}},he={style:{"text-align":`right`,"margin-top":`8px`,"font-weight":`600`}},ge=t({__name:`SalesOrdersTab`,setup(t){let{state:r,formatCurrency:l,formatDateTime:h,formatDate:_,getSalesOrderStatusLabel:S,getDeliveryStatusLabel:C,getPaymentStatusLabel:O,loadProductionOrders:k,loadFinishedProducts:A,loadCustomers:j,loadMaterials:M,loadInventory:N,loadMovements:P}=z(),F=i(!1),I=i(null),L=i({}),R=i([]),B=i(null),V=i(!1),H=i([]),U=i([]);function W(){I.value=null,L.value={customer_id:null,delivery_date:``,remark:``},R.value=[],U.value=[],F.value=!0}function G(){R.value.push({mold_mode:`new`,mold_sku:``,mold_name:``,mold_id:null,quantity:1,unit_price:0,remark:``})}function K(e){R.value.splice(e,1)}let q=m(()=>R.value.reduce((e,t)=>e+(t.unit_price||0)*(t.quantity||0),0));async function J(e){await j(),await A(),await M();try{let t=await b(`/api/sales-orders/${e.id}`);I.value=e,L.value={customer_id:t.customer_id||e.customer_id||null,delivery_date:t.delivery_date||e.delivery_date||``,remark:t.remark||e.remark||``},R.value=(t.items||[]).map(e=>({mold_mode:e.mold_id?`existing`:`new`,mold_sku:e.sku||``,mold_name:e.name||``,mold_id:e.mold_id||null,quantity:e.quantity||1,unit_price:e.unit_price||0,remark:e.remark||``}));try{U.value=((await b(`/api/sales-orders/${e.id}/consume-materials`)).items||[]).map(e=>({material_id:e.material_id,material_name:e.material_name||e.material_sku||``,quantity:e.quantity,unit_price:e.unit_price||0,remark:e.remark||``}))}catch{U.value=[]}}catch(e){x(e,`加载销售订单详情`)}F.value=!0}async function Y(){if(!L.value.customer_id){y(`请选择客户`,`warning`);return}if(!R.value||R.value.length===0){y(`请至少添加一个模具`,`warning`);return}try{let e={customer_id:L.value.customer_id,delivery_date:L.value.delivery_date||null,remark:L.value.remark||``,items:R.value.map(e=>({mold_mode:e.mold_mode,mold_sku:e.mold_sku||``,mold_name:e.mold_name||``,mold_id:e.mold_id||null,quantity:e.quantity,unit_price:e.unit_price||0,remark:e.remark||``}))};I.value?(await b(`/api/sales-orders/${I.value.id}`,{method:`PUT`,body:JSON.stringify(e)}),y(`销售订单更新成功`,`success`)):(await b(`/api/sales-orders`,{method:`POST`,body:JSON.stringify(e)}),y(`销售订单创建成功`,`success`)),F.value=!1,I.value=null,L.value={},R.value=[],U.value=[],k(),A(),N(),P()}catch(e){x(e,`保存销售订单`)}}async function X(e){if(confirm(`确定要删除这个销售订单吗?`))try{await b(`/api/sales-orders/${e}`,{method:`DELETE`}),y(`销售订单已删除`,`success`),k(),N(),P()}catch(e){x(e,`删除销售订单`)}}async function Z(e,t){let n=t===`delivered`?`已交付`:`已收款`;if(confirm(`确认标记为${n}?`))try{await b(`/api/sales-orders/${e}/status`,{method:`PATCH`,body:JSON.stringify({status:t})}),y(`已标记为${n}`,`success`),k(),P()}catch(e){x(e,`更新状态`)}}function ee(){H.value=[],V.value=!0}function te(){H.value.push({material_id:r.materials[0]?.id||null,quantity:1,remark:``})}function ne(e){H.value.splice(e,1)}let re=m(()=>H.value.reduce((e,t)=>e+(r.materials.find(e=>e.id===t.material_id)?.cost_price||0)*(t.quantity||0),0));async function ie(){if(I.value){if(!H.value||H.value.length===0){y(`请至少添加一个消耗物料`,`warning`);return}try{let e={items:H.value.map(e=>({material_id:e.material_id,quantity:e.quantity,unit_price:r.materials.find(t=>t.id===e.material_id)?.cost_price||0,remark:e.remark||``}))};await b(`/api/sales-orders/${I.value.id}/consume-materials`,{method:`POST`,body:JSON.stringify(e)}),y(`物料消耗记录保存成功`,`success`),V.value=!1;try{U.value=((await b(`/api/sales-orders/${I.value.id}/consume-materials`)).items||[]).map(e=>({material_id:e.material_id,material_name:e.material_name||e.material_sku||``,quantity:e.quantity,unit_price:e.unit_price||0,remark:e.remark||``}))}catch{U.value=[]}N(),P()}catch(e){x(e,`保存物料消耗`)}}}function ae(){F.value=!1,I.value=null,L.value={},R.value=[],U.value=[]}function oe(){V.value=!1,H.value=[]}async function Q(){await j(),await M(),await A(),await k()}return d(()=>{Q()}),(t,i)=>{let d=g(`el-option`),m=g(`el-select`),y=g(`el-button`),b=g(`el-table-column`),x=g(`el-tag`),S=g(`el-dropdown-item`),A=g(`el-dropdown-menu`),j=g(`el-dropdown`),M=g(`el-table`),N=g(`el-empty`),P=g(`el-form-item`),z=g(`el-date-picker`),Q=g(`el-input`),se=g(`el-form`),$=g(`el-input-number`),ge=g(`el-divider`),_e=g(`el-dialog`),ve=e(`loading`);return n(),E(`div`,null,[p(`div`,ce,[u(m,{modelValue:B.value,"onUpdate:modelValue":i[0]||=e=>B.value=e,placeholder:`选择仓库`,style:{width:`200px`},clearable:``},{default:o(()=>[(n(!0),E(v,null,c(a(r).warehouses,e=>(n(),f(d,{key:e.id,label:e.name,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`]),u(y,{onClick:a(k)},{default:o(()=>[...i[8]||=[T(`刷新`,-1)]]),_:1},8,[`onClick`]),u(y,{type:`primary`,onClick:W},{default:o(()=>[...i[9]||=[T(`新增销售订单`,-1)]]),_:1})]),s((n(),f(M,{data:a(r).productionOrders,stripe:``},{default:o(()=>[u(b,{prop:`order_no`,label:`销售单`}),u(b,{prop:`customer_name`,label:`客户`}),u(b,{label:`订单金额`},{default:o(({row:e})=>[T(D(a(l)(e.total_amount)),1)]),_:1}),u(b,{label:`交付日期`},{default:o(({row:e})=>[T(D(a(_)(e.delivery_date)),1)]),_:1}),u(b,{label:`订单创建`},{default:o(({row:e})=>[T(D(a(h)(e.created_at)),1)]),_:1}),u(b,{label:`实际交付`},{default:o(({row:e})=>[T(D(e.delivered_at?a(h)(e.delivered_at):`-`),1)]),_:1}),u(b,{label:`实际收款`},{default:o(({row:e})=>[T(D(e.paid_at?a(h)(e.paid_at):`-`),1)]),_:1}),u(b,{label:`订单状态`,width:`160`},{default:o(({row:e})=>[p(`div`,le,[u(x,{type:e.delivery_status===`delivered`?`warning`:e.delivery_status===`cancelled`?`danger`:`info`,size:`small`},{default:o(()=>[T(D(a(C)(e.delivery_status)),1)]),_:2},1032,[`type`]),u(x,{type:e.payment_status===`paid`?`success`:`info`,size:`small`},{default:o(()=>[T(D(a(O)(e.payment_status)),1)]),_:2},1032,[`type`])])]),_:1}),u(b,{label:`操作`,width:`240`},{default:o(({row:e})=>[e.delivery_status!==`cancelled`&&e.payment_status!==`paid`?(n(),f(j,{key:0,style:{"margin-right":`8px`}},{dropdown:o(()=>[u(A,null,{default:o(()=>[e.delivery_status===`manufacturing`?(n(),f(S,{key:0,onClick:t=>Z(e.id,`delivered`)},{default:o(()=>[...i[11]||=[T(`已交付`,-1)]]),_:1},8,[`onClick`])):w(``,!0),e.delivery_status===`delivered`&&e.payment_status!==`paid`?(n(),f(S,{key:1,onClick:t=>Z(e.id,`paid`)},{default:o(()=>[...i[12]||=[T(`已收款`,-1)]]),_:1},8,[`onClick`])):w(``,!0),e.payment_status===`paid`?w(``,!0):(n(),f(S,{key:2,onClick:t=>Z(e.id,`cancelled`),style:{color:`#f56c6c`}},{default:o(()=>[...i[13]||=[T(`作废`,-1)]]),_:1},8,[`onClick`]))]),_:2},1024)]),default:o(()=>[u(y,{size:`small`},{default:o(()=>[...i[10]||=[T(`状态 ▾`,-1)]]),_:1})]),_:2},1024)):w(``,!0),u(y,{type:`primary`,size:`small`,disabled:e.payment_status===`paid`||e.delivery_status===`cancelled`,onClick:t=>J(e)},{default:o(()=>[...i[14]||=[T(` 编辑 `,-1)]]),_:1},8,[`disabled`,`onClick`]),u(y,{type:`danger`,size:`small`,onClick:t=>X(e.id)},{default:o(()=>[...i[15]||=[T(` 删除 `,-1)]]),_:1},8,[`onClick`])]),_:1})]),_:1},8,[`data`])),[[ve,a(r).loading]]),!a(r).loading&&a(r).productionOrders.length===0?(n(),f(N,{key:0,description:`暂无销售订单`})):w(``,!0),u(_e,{modelValue:F.value,"onUpdate:modelValue":i[5]||=e=>F.value=e,title:(I.value?`编辑`:`新增`)+`销售订单`,width:`900px`,onClosed:ae},{footer:o(()=>[u(y,{onClick:i[4]||=e=>F.value=!1},{default:o(()=>[...i[21]||=[T(`取消`,-1)]]),_:1}),u(y,{type:`primary`,onClick:Y},{default:o(()=>[...i[22]||=[T(`保存`,-1)]]),_:1})]),default:o(()=>[u(se,{"label-width":`100px`},{default:o(()=>[u(P,{label:`客户`,required:``},{default:o(()=>[u(m,{modelValue:L.value.customer_id,"onUpdate:modelValue":i[1]||=e=>L.value.customer_id=e,placeholder:`请选择客户`,style:{width:`100%`}},{default:o(()=>[(n(!0),E(v,null,c(a(r).customers,e=>(n(),f(d,{key:e.id,label:e.name,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`])]),_:1}),u(P,{label:`交付日期`},{default:o(()=>[u(z,{modelValue:L.value.delivery_date,"onUpdate:modelValue":i[2]||=e=>L.value.delivery_date=e,type:`date`,placeholder:`选择日期`,style:{width:`100%`},"value-format":`YYYY-MM-DD`},null,8,[`modelValue`])]),_:1}),u(P,{label:`备注`},{default:o(()=>[u(Q,{modelValue:L.value.remark,"onUpdate:modelValue":i[3]||=e=>L.value.remark=e,placeholder:`备注信息`},null,8,[`modelValue`])]),_:1})]),_:1}),p(`div`,ue,[i[18]||=p(`span`,{style:{"font-weight":`600`}},`模具明细`,-1),p(`div`,de,[I.value?(n(),f(y,{key:0,type:`warning`,size:`small`,onClick:ee},{default:o(()=>[...i[16]||=[T(`+ 消耗物料`,-1)]]),_:1})):w(``,!0),u(y,{type:`primary`,size:`small`,onClick:G},{default:o(()=>[...i[17]||=[T(`+ 添加模具`,-1)]]),_:1})])]),u(M,{data:R.value,border:``,size:`small`},{default:o(()=>[u(b,{label:`模式`,width:`80`},{default:o(({row:e})=>[u(m,{modelValue:e.mold_mode,"onUpdate:modelValue":t=>e.mold_mode=t,size:`small`,style:{width:`100%`}},{default:o(()=>[u(d,{label:`新模`,value:`new`}),u(d,{label:`改模`,value:`existing`})]),_:1},8,[`modelValue`,`onUpdate:modelValue`])]),_:1}),u(b,{label:`模具SKU`,"min-width":`120`},{default:o(({row:e})=>[e.mold_mode===`new`?(n(),f(Q,{key:0,modelValue:e.mold_sku,"onUpdate:modelValue":t=>e.mold_sku=t,size:`small`,placeholder:`模具SKU`},null,8,[`modelValue`,`onUpdate:modelValue`])):(n(),f(m,{key:1,modelValue:e.mold_id,"onUpdate:modelValue":t=>e.mold_id=t,placeholder:`选择模具`,size:`small`,style:{width:`100%`}},{default:o(()=>[(n(!0),E(v,null,c(a(r).finishedProducts,e=>(n(),f(d,{key:e.id,label:`${e.sku} - ${e.name}`,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`onUpdate:modelValue`]))]),_:1}),u(b,{label:`模具名称`,"min-width":`120`},{default:o(({row:e})=>[e.mold_mode===`new`?(n(),f(Q,{key:0,modelValue:e.mold_name,"onUpdate:modelValue":t=>e.mold_name=t,size:`small`,placeholder:`模具名称`},null,8,[`modelValue`,`onUpdate:modelValue`])):(n(),E(`span`,fe,D(a(r).finishedProducts.find(t=>t.id===e.mold_id)?.name||`-`),1))]),_:1}),u(b,{label:`数量`,width:`100`},{default:o(({row:e})=>[u($,{modelValue:e.quantity,"onUpdate:modelValue":t=>e.quantity=t,min:1,size:`small`,style:{width:`100%`}},null,8,[`modelValue`,`onUpdate:modelValue`])]),_:1}),u(b,{label:`单价`,width:`120`},{default:o(({row:e})=>[u($,{modelValue:e.unit_price,"onUpdate:modelValue":t=>e.unit_price=t,min:0,precision:2,step:.01,size:`small`,style:{width:`100%`}},null,8,[`modelValue`,`onUpdate:modelValue`])]),_:1}),u(b,{label:`备注`,width:`120`},{default:o(({row:e})=>[u(Q,{modelValue:e.remark,"onUpdate:modelValue":t=>e.remark=t,size:`small`,placeholder:`备注`},null,8,[`modelValue`,`onUpdate:modelValue`])]),_:1}),u(b,{label:`操作`,width:`80`},{default:o(({$index:e})=>[u(y,{type:`danger`,size:`small`,onClick:t=>K(e)},{default:o(()=>[...i[19]||=[T(`删除`,-1)]]),_:1},8,[`onClick`])]),_:1})]),_:1},8,[`data`]),p(`div`,pe,` 订单总金额:`+D(a(l)(q.value)),1),I.value&&U.value.length>0?(n(),E(v,{key:0},[u(ge,{"content-position":`left`},{default:o(()=>[...i[20]||=[T(`已消耗物料`,-1)]]),_:1}),u(M,{data:U.value,border:``,size:`small`},{default:o(()=>[u(b,{label:`物料`},{default:o(({row:e})=>[T(D(e.material_name),1)]),_:1}),u(b,{label:`数量`},{default:o(({row:e})=>[T(D(e.quantity),1)]),_:1}),u(b,{label:`单价`},{default:o(({row:e})=>[T(D(a(l)(e.unit_price)),1)]),_:1}),u(b,{label:`备注`},{default:o(({row:e})=>[T(D(e.remark||`-`),1)]),_:1})]),_:1},8,[`data`])],64)):w(``,!0)]),_:1},8,[`modelValue`,`title`]),u(_e,{modelValue:V.value,"onUpdate:modelValue":i[7]||=e=>V.value=e,title:`物料消耗`,width:`800px`,onClosed:oe},{footer:o(()=>[u(y,{onClick:i[6]||=e=>V.value=!1},{default:o(()=>[...i[26]||=[T(`取消`,-1)]]),_:1}),u(y,{type:`primary`,onClick:ie},{default:o(()=>[...i[27]||=[T(`保存消耗`,-1)]]),_:1})]),default:o(()=>[p(`div`,me,[i[24]||=p(`span`,{style:{"font-weight":`600`}},`消耗物料明细`,-1),u(y,{type:`primary`,size:`small`,onClick:te},{default:o(()=>[...i[23]||=[T(`+ 添加物料`,-1)]]),_:1})]),u(M,{data:H.value,border:``,size:`small`},{default:o(()=>[u(b,{label:`物料`,"min-width":`200`},{default:o(({row:e})=>[u(m,{modelValue:e.material_id,"onUpdate:modelValue":t=>e.material_id=t,placeholder:`请选择物料`,style:{width:`100%`}},{default:o(()=>[(n(!0),E(v,null,c(a(r).materials,e=>(n(),f(d,{key:e.id,label:`${e.sku} - ${e.name}`,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`onUpdate:modelValue`])]),_:1}),u(b,{label:`数量`,width:`120`},{default:o(({row:e})=>[u($,{modelValue:e.quantity,"onUpdate:modelValue":t=>e.quantity=t,min:1e-4,step:1e-4,size:`small`,style:{width:`100%`}},null,8,[`modelValue`,`onUpdate:modelValue`])]),_:1}),u(b,{label:`单价`,width:`120`},{default:o(({row:e})=>[u($,{"model-value":a(r).materials.find(t=>t.id===e.material_id)?.cost_price||0,disabled:``,size:`small`,style:{width:`100%`}},null,8,[`model-value`])]),_:1}),u(b,{label:`总价`,width:`120`},{default:o(({row:e})=>[T(D(a(l)((a(r).materials.find(t=>t.id===e.material_id)?.cost_price||0)*(e.quantity||0))),1)]),_:1}),u(b,{label:`备注`,width:`150`},{default:o(({row:e})=>[u(Q,{modelValue:e.remark,"onUpdate:modelValue":t=>e.remark=t,size:`small`,placeholder:`备注`},null,8,[`modelValue`,`onUpdate:modelValue`])]),_:1}),u(b,{label:`操作`,width:`80`},{default:o(({$index:e})=>[u(y,{type:`danger`,size:`small`,onClick:t=>ne(e)},{default:o(()=>[...i[25]||=[T(`删除`,-1)]]),_:1},8,[`onClick`])]),_:1})]),_:1},8,[`data`]),p(`div`,he,` 消耗总金额:`+D(a(l)(re.value)),1)]),_:1},8,[`modelValue`])])}}}),_e={class:`suppliers-tab`},ve={class:`table-header`},ye=C(t({__name:`SuppliersTab`,setup(t){let{state:r,loadSuppliers:c}=z(),m=i(!1),h=i(null),_=l({name:``,contact_person:``,phone:``,email:``,address:``});function v(){h.value=null,_.name=``,_.contact_person=``,_.phone=``,_.email=``,_.address=``,m.value=!0}function S(e){h.value=e,_.name=e.name??``,_.contact_person=e.contact_person??``,_.phone=e.phone??``,_.email=e.email??``,_.address=e.address??``,m.value=!0}async function C(){try{let e={name:_.name,contact_person:_.contact_person||null,phone:_.phone||null,email:_.email||null,address:_.address||null};h.value?(await b(`/api/suppliers/${h.value.id}`,{method:`PUT`,body:JSON.stringify(e)}),y(`供应商更新成功`,`success`)):(await b(`/api/suppliers`,{method:`POST`,body:JSON.stringify(e)}),y(`供应商已创建`,`success`)),m.value=!1,c()}catch(e){x(e,`保存供应商`)}}async function w(e){if(confirm(`确定要删除这个供应商吗?`))try{await b(`/api/suppliers/${e}`,{method:`DELETE`}),y(`供应商已删除`,`success`),c()}catch(e){x(e,`删除供应商`)}}return d(()=>{c()}),(t,i)=>{let c=g(`el-button`),l=g(`el-table-column`),d=g(`el-table`),y=g(`el-input`),b=g(`el-form-item`),x=g(`el-form`),O=g(`el-dialog`),k=e(`loading`);return n(),E(`div`,_e,[p(`div`,ve,[u(c,{type:`primary`,onClick:v},{default:o(()=>[...i[7]||=[T(`+ 新增供应商`,-1)]]),_:1})]),s((n(),f(d,{data:a(r).suppliers,style:{width:`100%`},"empty-text":`暂无供应商数据`},{default:o(()=>[u(l,{prop:`code`,label:`编码`}),u(l,{prop:`name`,label:`名称`}),u(l,{prop:`contact_person`,label:`联系人`},{default:o(({row:e})=>[T(D(e.contact_person||`-`),1)]),_:1}),u(l,{prop:`phone`,label:`电话`},{default:o(({row:e})=>[T(D(e.phone||`-`),1)]),_:1}),u(l,{prop:`email`,label:`邮箱`},{default:o(({row:e})=>[T(D(e.email||`-`),1)]),_:1}),u(l,{label:`操作`,width:`180`},{default:o(({row:e})=>[u(c,{size:`small`,onClick:t=>S(e)},{default:o(()=>[...i[8]||=[T(`编辑`,-1)]]),_:1},8,[`onClick`]),u(c,{size:`small`,type:`danger`,onClick:t=>w(e.id)},{default:o(()=>[...i[9]||=[T(`删除`,-1)]]),_:1},8,[`onClick`])]),_:1})]),_:1},8,[`data`])),[[k,a(r).loading]]),u(O,{modelValue:m.value,"onUpdate:modelValue":i[6]||=e=>m.value=e,title:h.value?`编辑供应商`:`新增供应商`,width:`520px`,"close-on-click-modal":!1},{footer:o(()=>[u(c,{onClick:i[5]||=e=>m.value=!1},{default:o(()=>[...i[10]||=[T(`取消`,-1)]]),_:1}),u(c,{type:`primary`,onClick:C},{default:o(()=>[...i[11]||=[T(`保存`,-1)]]),_:1})]),default:o(()=>[u(x,{model:_,"label-width":`80px`},{default:o(()=>[u(b,{label:`名称`,required:``},{default:o(()=>[u(y,{modelValue:_.name,"onUpdate:modelValue":i[0]||=e=>_.name=e,placeholder:`请输入供应商名称`},null,8,[`modelValue`])]),_:1}),u(b,{label:`联系人`},{default:o(()=>[u(y,{modelValue:_.contact_person,"onUpdate:modelValue":i[1]||=e=>_.contact_person=e,placeholder:`请输入联系人`},null,8,[`modelValue`])]),_:1}),u(b,{label:`电话`},{default:o(()=>[u(y,{modelValue:_.phone,"onUpdate:modelValue":i[2]||=e=>_.phone=e,placeholder:`请输入电话`},null,8,[`modelValue`])]),_:1}),u(b,{label:`邮箱`},{default:o(()=>[u(y,{modelValue:_.email,"onUpdate:modelValue":i[3]||=e=>_.email=e,type:`email`,placeholder:`请输入邮箱`},null,8,[`modelValue`])]),_:1}),u(b,{label:`地址`},{default:o(()=>[u(y,{modelValue:_.address,"onUpdate:modelValue":i[4]||=e=>_.address=e,placeholder:`请输入地址`},null,8,[`modelValue`])]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`,`title`])])}}}),[[`__scopeId`,`data-v-9c9827fc`]]),be={class:`customers-tab`},xe={class:`table-header`},Se=C(t({__name:`CustomersTab`,setup(t){let{state:r,loadCustomers:c}=z(),m=i(!1),h=i(null),_=l({name:``,contact_person:``,phone:``,email:``,address:``});function v(){h.value=null,_.name=``,_.contact_person=``,_.phone=``,_.email=``,_.address=``,m.value=!0}function S(e){h.value=e,_.name=e.name??``,_.contact_person=e.contact_person??``,_.phone=e.phone??``,_.email=e.email??``,_.address=e.address??``,m.value=!0}async function C(){try{let e={name:_.name,contact_person:_.contact_person||null,phone:_.phone||null,email:_.email||null,address:_.address||null};h.value?(await b(`/api/customers/${h.value.id}`,{method:`PUT`,body:JSON.stringify(e)}),y(`客户更新成功`,`success`)):(await b(`/api/customers`,{method:`POST`,body:JSON.stringify(e)}),y(`客户已创建`,`success`)),m.value=!1,c()}catch(e){x(e,`保存客户`)}}async function w(e){if(confirm(`确定要删除这个客户吗?`))try{await b(`/api/customers/${e}`,{method:`DELETE`}),y(`客户已删除`,`success`),c()}catch(e){x(e,`删除客户`)}}return d(()=>{c()}),(t,i)=>{let c=g(`el-button`),l=g(`el-table-column`),d=g(`el-table`),y=g(`el-input`),b=g(`el-form-item`),x=g(`el-form`),O=g(`el-dialog`),k=e(`loading`);return n(),E(`div`,be,[p(`div`,xe,[u(c,{type:`primary`,onClick:v},{default:o(()=>[...i[7]||=[T(`+ 新增客户`,-1)]]),_:1})]),s((n(),f(d,{data:a(r).customers,style:{width:`100%`},"empty-text":`暂无客户数据`},{default:o(()=>[u(l,{prop:`code`,label:`编码`}),u(l,{prop:`name`,label:`名称`}),u(l,{prop:`contact_person`,label:`联系人`},{default:o(({row:e})=>[T(D(e.contact_person||`-`),1)]),_:1}),u(l,{prop:`phone`,label:`电话`},{default:o(({row:e})=>[T(D(e.phone||`-`),1)]),_:1}),u(l,{prop:`email`,label:`邮箱`},{default:o(({row:e})=>[T(D(e.email||`-`),1)]),_:1}),u(l,{label:`操作`,width:`180`},{default:o(({row:e})=>[u(c,{size:`small`,onClick:t=>S(e)},{default:o(()=>[...i[8]||=[T(`编辑`,-1)]]),_:1},8,[`onClick`]),u(c,{size:`small`,type:`danger`,onClick:t=>w(e.id)},{default:o(()=>[...i[9]||=[T(`删除`,-1)]]),_:1},8,[`onClick`])]),_:1})]),_:1},8,[`data`])),[[k,a(r).loading]]),u(O,{modelValue:m.value,"onUpdate:modelValue":i[6]||=e=>m.value=e,title:h.value?`编辑客户`:`新增客户`,width:`520px`,"close-on-click-modal":!1},{footer:o(()=>[u(c,{onClick:i[5]||=e=>m.value=!1},{default:o(()=>[...i[10]||=[T(`取消`,-1)]]),_:1}),u(c,{type:`primary`,onClick:C},{default:o(()=>[...i[11]||=[T(`保存`,-1)]]),_:1})]),default:o(()=>[u(x,{model:_,"label-width":`80px`},{default:o(()=>[u(b,{label:`名称`,required:``},{default:o(()=>[u(y,{modelValue:_.name,"onUpdate:modelValue":i[0]||=e=>_.name=e,placeholder:`请输入客户名称`},null,8,[`modelValue`])]),_:1}),u(b,{label:`联系人`},{default:o(()=>[u(y,{modelValue:_.contact_person,"onUpdate:modelValue":i[1]||=e=>_.contact_person=e,placeholder:`请输入联系人`},null,8,[`modelValue`])]),_:1}),u(b,{label:`电话`},{default:o(()=>[u(y,{modelValue:_.phone,"onUpdate:modelValue":i[2]||=e=>_.phone=e,placeholder:`请输入电话`},null,8,[`modelValue`])]),_:1}),u(b,{label:`邮箱`},{default:o(()=>[u(y,{modelValue:_.email,"onUpdate:modelValue":i[3]||=e=>_.email=e,type:`email`,placeholder:`请输入邮箱`},null,8,[`modelValue`])]),_:1}),u(b,{label:`地址`},{default:o(()=>[u(y,{modelValue:_.address,"onUpdate:modelValue":i[4]||=e=>_.address=e,placeholder:`请输入地址`},null,8,[`modelValue`])]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`,`title`])])}}}),[[`__scopeId`,`data-v-f6d9461f`]]),Ce={style:{"margin-bottom":`16px`,display:`flex`,gap:`12px`,"align-items":`center`,"flex-wrap":`wrap`}},we={style:{"text-align":`center`}},Te={style:{"font-size":`24px`,"font-weight":`700`,color:`#409eff`}},Ee={style:{"text-align":`center`}},De={style:{"font-size":`24px`,"font-weight":`700`,color:`#e6a23c`}},Oe={style:{"text-align":`center`}},ke={style:{"font-size":`24px`,"font-weight":`700`,color:`#67c23a`}},Ae={style:{"text-align":`center`}},je={style:{"font-size":`24px`,"font-weight":`700`,color:`#f56c6c`}},Me=t({__name:`FinanceTab`,setup(t){let{state:r,formatCurrency:l,formatDateTime:h,formatDate:_,loadFinance:y,refreshFinanceByPeriod:b}=z(),x=i(r.financePeriod.year),S=i(r.financePeriod.quarter),C=[{label:`全年`,value:``},{label:`Q1`,value:`1`},{label:`Q2`,value:`2`},{label:`Q3`,value:`3`},{label:`Q4`,value:`4`}],O=m(()=>S.value?`${x.value}年 Q${S.value}`:`${x.value}年 全年`);function k(){r.financePeriod.year=x.value,r.financePeriod.quarter=S.value,y()}d(()=>{k()});let A=m(()=>r.financeSummary?.total_receivable??0),j=m(()=>r.financeSummary?.total_payable??0),M=m(()=>r.financeSummary?.period_received??0),N=m(()=>r.financeSummary?.period_paid??0);function P(e){return e===`receipt`?`收款`:`付款`}function F(e){return e===`receipt`?`success`:`warning`}function I(e){return{confirmed:`已确认`,pending:`待确认`}[e]||e}return(t,i)=>{let d=g(`el-input-number`),m=g(`el-option`),h=g(`el-select`),y=g(`el-button`),b=g(`el-tag`),L=g(`el-card`),R=g(`el-col`),z=g(`el-row`),B=g(`el-table-column`),V=g(`el-table`),H=g(`el-empty`),U=e(`loading`);return n(),E(`div`,null,[p(`div`,Ce,[i[3]||=p(`span`,{style:{"font-weight":`600`}},`统计周期:`,-1),u(d,{modelValue:x.value,"onUpdate:modelValue":i[0]||=e=>x.value=e,min:2020,max:2099,style:{width:`120px`}},null,8,[`modelValue`]),i[4]||=p(`span`,null,`年`,-1),u(h,{modelValue:S.value,"onUpdate:modelValue":i[1]||=e=>S.value=e,placeholder:`选择季度`,style:{width:`120px`}},{default:o(()=>[(n(),E(v,null,c(C,e=>u(m,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`]),u(y,{type:`primary`,onClick:k},{default:o(()=>[...i[2]||=[T(`刷新统计`,-1)]]),_:1}),u(b,{type:`info`,size:`large`},{default:o(()=>[T(D(O.value),1)]),_:1})]),u(z,{gutter:16,style:{"margin-bottom":`16px`}},{default:o(()=>[u(R,{span:6},{default:o(()=>[u(L,{shadow:`hover`},{default:o(()=>[p(`div`,we,[i[5]||=p(`div`,{style:{color:`#909399`,"font-size":`14px`,"margin-bottom":`8px`}},`应收总额`,-1),p(`div`,Te,D(a(l)(A.value)),1)])]),_:1})]),_:1}),u(R,{span:6},{default:o(()=>[u(L,{shadow:`hover`},{default:o(()=>[p(`div`,Ee,[i[6]||=p(`div`,{style:{color:`#909399`,"font-size":`14px`,"margin-bottom":`8px`}},`应付总额`,-1),p(`div`,De,D(a(l)(j.value)),1)])]),_:1})]),_:1}),u(R,{span:6},{default:o(()=>[u(L,{shadow:`hover`},{default:o(()=>[p(`div`,Oe,[i[7]||=p(`div`,{style:{color:`#909399`,"font-size":`14px`,"margin-bottom":`8px`}},`周期收款`,-1),p(`div`,ke,D(a(l)(M.value)),1)])]),_:1})]),_:1}),u(R,{span:6},{default:o(()=>[u(L,{shadow:`hover`},{default:o(()=>[p(`div`,Ae,[i[8]||=p(`div`,{style:{color:`#909399`,"font-size":`14px`,"margin-bottom":`8px`}},`周期付款`,-1),p(`div`,je,D(a(l)(N.value)),1)])]),_:1})]),_:1})]),_:1}),u(L,{style:{"margin-bottom":`16px`}},{header:o(()=>[...i[9]||=[p(`span`,{style:{"font-weight":`600`}},`客户账款(周期)`,-1)]]),default:o(()=>[s((n(),f(V,{data:a(r).customerFinanceStatement,stripe:``,size:`small`},{default:o(()=>[u(B,{prop:`partner_name`,label:`客户`}),u(B,{prop:`order_count`,label:`订单数`}),u(B,{prop:`transaction_count`,label:`流水数`}),u(B,{label:`订单金额`},{default:o(({row:e})=>[T(D(a(l)(e.order_amount)),1)]),_:1}),u(B,{label:`订单已收`},{default:o(({row:e})=>[T(D(a(l)(e.order_received)),1)]),_:1}),u(B,{label:`实收流水`},{default:o(({row:e})=>[T(D(a(l)(e.transaction_received)),1)]),_:1}),u(B,{label:`应收余额`},{default:o(({row:e})=>[T(D(a(l)(e.receivable_balance)),1)]),_:1})]),_:1},8,[`data`])),[[U,a(r).loading]]),!a(r).loading&&a(r).customerFinanceStatement.length===0?(n(),f(H,{key:0,description:`暂无数据`})):w(``,!0)]),_:1}),u(L,{style:{"margin-bottom":`16px`}},{header:o(()=>[...i[10]||=[p(`span`,{style:{"font-weight":`600`}},`供应商账款(周期)`,-1)]]),default:o(()=>[s((n(),f(V,{data:a(r).supplierFinanceStatement,stripe:``,size:`small`},{default:o(()=>[u(B,{prop:`partner_name`,label:`供应商`}),u(B,{prop:`order_count`,label:`订单数`}),u(B,{prop:`transaction_count`,label:`流水数`}),u(B,{label:`订单金额`},{default:o(({row:e})=>[T(D(a(l)(e.order_amount)),1)]),_:1}),u(B,{label:`订单已付`},{default:o(({row:e})=>[T(D(a(l)(e.order_paid)),1)]),_:1}),u(B,{label:`实付流水`},{default:o(({row:e})=>[T(D(a(l)(e.transaction_paid)),1)]),_:1}),u(B,{label:`应付余额`},{default:o(({row:e})=>[T(D(a(l)(e.payable_balance)),1)]),_:1})]),_:1},8,[`data`])),[[U,a(r).loading]]),!a(r).loading&&a(r).supplierFinanceStatement.length===0?(n(),f(H,{key:0,description:`暂无数据`})):w(``,!0)]),_:1}),u(L,{style:{"margin-bottom":`16px`}},{header:o(()=>[...i[11]||=[p(`span`,{style:{"font-weight":`600`}},`客户-商品追溯(周期)`,-1)]]),default:o(()=>[s((n(),f(V,{data:a(r).customerProductStatement,stripe:``,size:`small`},{default:o(()=>[u(B,{prop:`partner_name`,label:`客户`}),u(B,{prop:`product_sku`,label:`SKU`}),u(B,{prop:`product_name`,label:`商品`}),u(B,{prop:`order_count`,label:`订单数`}),u(B,{prop:`quantity`,label:`数量`}),u(B,{label:`订单金额`},{default:o(({row:e})=>[T(D(a(l)(e.order_amount)),1)]),_:1}),u(B,{label:`已结款`},{default:o(({row:e})=>[T(D(a(l)(e.settled_amount)),1)]),_:1}),u(B,{label:`未结款`},{default:o(({row:e})=>[T(D(a(l)(e.unsettled_amount)),1)]),_:1})]),_:1},8,[`data`])),[[U,a(r).loading]]),!a(r).loading&&a(r).customerProductStatement.length===0?(n(),f(H,{key:0,description:`暂无数据`})):w(``,!0)]),_:1}),u(L,{style:{"margin-bottom":`16px`}},{header:o(()=>[...i[12]||=[p(`span`,{style:{"font-weight":`600`}},`供应商-商品追溯(周期)`,-1)]]),default:o(()=>[s((n(),f(V,{data:a(r).supplierProductStatement,stripe:``,size:`small`},{default:o(()=>[u(B,{prop:`partner_name`,label:`供应商`}),u(B,{prop:`product_sku`,label:`SKU`}),u(B,{prop:`product_name`,label:`商品`}),u(B,{prop:`order_count`,label:`订单数`}),u(B,{prop:`quantity`,label:`数量`}),u(B,{label:`订单金额`},{default:o(({row:e})=>[T(D(a(l)(e.order_amount)),1)]),_:1}),u(B,{label:`已结款`},{default:o(({row:e})=>[T(D(a(l)(e.settled_amount)),1)]),_:1}),u(B,{label:`未结款`},{default:o(({row:e})=>[T(D(a(l)(e.unsettled_amount)),1)]),_:1})]),_:1},8,[`data`])),[[U,a(r).loading]]),!a(r).loading&&a(r).supplierProductStatement.length===0?(n(),f(H,{key:0,description:`暂无数据`})):w(``,!0)]),_:1}),u(L,null,{header:o(()=>[...i[13]||=[p(`span`,{style:{"font-weight":`600`}},`最近财务流水`,-1)]]),default:o(()=>[s((n(),f(V,{data:a(r).financeTransactions,stripe:``,size:`small`},{default:o(()=>[u(B,{prop:`order_no`,label:`单号`}),u(B,{label:`类型`},{default:o(({row:e})=>[u(b,{type:F(e.type),size:`small`},{default:o(()=>[T(D(P(e.type)),1)]),_:2},1032,[`type`])]),_:1}),u(B,{prop:`partner_name`,label:`往来方`}),u(B,{label:`金额`},{default:o(({row:e})=>[T(D(a(l)(e.amount)),1)]),_:1}),u(B,{label:`状态`},{default:o(({row:e})=>[u(b,{type:e.status===`confirmed`?`success`:`warning`,size:`small`},{default:o(()=>[T(D(I(e.status)),1)]),_:2},1032,[`type`])]),_:1}),u(B,{label:`日期`},{default:o(({row:e})=>[T(D(a(_)(e.transaction_date)),1)]),_:1})]),_:1},8,[`data`])),[[U,a(r).loading]]),!a(r).loading&&a(r).financeTransactions.length===0?(n(),f(H,{key:0,description:`暂无数据`})):w(``,!0)]),_:1})])}}}),Ne={class:`movements-tab`},Pe=C(t({__name:`MovementsTab`,setup(t){let{state:r,loadMovements:i,getMovementTypeLabel:c,getMovementBadgeClass:l,formatDateTime:p}=z(),m=e=>{let t=l(e);return t===`badge-success`?`success`:t===`badge-error`?`danger`:t===`badge-warning`?`warning`:`info`};return d(()=>{i()}),(t,i)=>{let l=g(`el-table-column`),d=g(`el-tag`),h=g(`el-table`),_=e(`loading`);return n(),E(`div`,Ne,[s((n(),f(h,{data:a(r).movements,style:{width:`100%`},"empty-text":`暂无库存变动记录`},{default:o(()=>[u(l,{label:`物料`},{default:o(({row:e})=>[T(D(e.product_name)+D(e.product_sku?` (`+e.product_sku+`)`:``),1)]),_:1}),u(l,{label:`类型`,width:`140`},{default:o(({row:e})=>[u(d,{type:m(e.movement_type),size:`small`},{default:o(()=>[T(D(a(c)(e.movement_type)),1)]),_:2},1032,[`type`])]),_:1}),u(l,{prop:`quantity`,label:`数量`,width:`80`}),u(l,{prop:`before_quantity`,label:`变动前`,width:`80`}),u(l,{prop:`after_quantity`,label:`变动后`,width:`80`}),u(l,{label:`时间`,width:`180`},{default:o(({row:e})=>[T(D(a(p)(e.created_at)),1)]),_:1})]),_:1},8,[`data`])),[[_,a(r).loading]])])}}}),[[`__scopeId`,`data-v-d9f61c89`]]),Fe={class:`page-container`},Ie={class:`inventory-layout`},Le={class:`inventory-sidebar-wrapper`},Re={class:`inventory-content`},ze={class:`inventory-content-header`},Be={class:`inventory-breadcrumb`},Ve={class:`current`},He=C(t({__name:`InventoryView`,setup(t){let i=S(),o=_(),{state:c,activeMenu:l,checkBackendHealth:m,loadDashboard:h,destroyPickers:v}=z();return d(()=>{if(!i.user){o.push(`/login`);return}m().then(()=>{if(!c.backendDbReady){y(c.backendDbMessage||`业务服务不可用`,`warning`);return}h()})}),r(()=>{v()}),(t,r)=>{let i=g(`el-alert`),o=e(`loading`);return n(),E(`div`,Fe,[r[1]||=p(`div`,{class:`page-header`},[p(`h1`,null,`进销存管理`),p(`p`,null,`库存、采购、销售管理`)],-1),p(`div`,Ie,[p(`aside`,Le,[u(V)]),p(`section`,Re,[p(`div`,ze,[p(`div`,Be,[p(`span`,null,D(a(l)?.group?.title||`进销存`),1),r[0]||=p(`span`,{class:`sep`},`/`,-1),p(`span`,Ve,D(a(l)?.item?.label||``),1)])]),a(c).backendDbReady?w(``,!0):(n(),f(i,{key:0,title:a(c).backendDbMessage,type:`warning`,"show-icon":``,closable:!1,style:{"margin-bottom":`16px`}},null,8,[`title`])),s((n(),E(`div`,null,[a(c).activeTab===`dashboard`?(n(),f(K,{key:0})):a(c).activeTab===`products`?(n(),f(Y,{key:1})):a(c).activeTab===`materials`?(n(),f(te,{key:2})):a(c).activeTab===`inventory`?(n(),f(ie,{key:3})):a(c).activeTab===`purchases`?(n(),f($,{key:4})):a(c).activeTab===`sales_orders`?(n(),f(ge,{key:5})):a(c).activeTab===`suppliers`?(n(),f(ye,{key:6})):a(c).activeTab===`customers`?(n(),f(Se,{key:7})):a(c).activeTab===`finance`?(n(),f(Me,{key:8})):a(c).activeTab===`movements`?(n(),f(Pe,{key:9})):w(``,!0)])),[[o,a(c).loading]])])])])}}}),[[`__scopeId`,`data-v-c02cf723`]]);export{He as default}; \ No newline at end of file diff --git a/static/assets/InventoryView-CdgAif-b.js b/static/assets/InventoryView-CdgAif-b.js new file mode 100644 index 0000000..ea0664e --- /dev/null +++ b/static/assets/InventoryView-CdgAif-b.js @@ -0,0 +1 @@ +import{A as e,C as t,D as n,E as r,F as i,I as a,M as o,N as s,O as c,P as l,S as u,T as d,_ as f,g as p,h as m,j as h,k as g,l as _,m as v,n as y,o as b,r as x,s as S,t as C,v as w,x as T,y as E,z as D}from"./index-Dyxl3OsB.js";import{a as O,n as k,r as A,t as j}from"./utils-COFIQvWo.js";var M=l({activeTab:`dashboard`,backendDbReady:!0,backendDbMessage:``,productCategory:`finished`,dashboard:null,financeSummary:null,financePeriod:{year:new Date().getFullYear(),quarter:``},financeTransactions:[],receivables:[],payables:[],customerFinanceStatement:[],supplierFinanceStatement:[],customerProductStatement:[],supplierProductStatement:[],products:[],materials:[],finishedProducts:[],purchaseOrders:[],purchaseWarehouseId:null,purchaseReceiveItems:[],productionOrders:[],productionPlan:null,productionWarehouseId:null,suppliers:[],customers:[],warehouses:[],inventory:[],movements:[],loading:!1,showModal:!1,modalType:``,editingItem:null,productBomItems:[],materialConsumptionItems:[],showMaterialConsumptionModal:!1,consumedMaterials:[],restockItems:[],showRestockModal:!1,form:{}}),N=null,P=null,F=i(null),I=i(null),L=i(null),R=i(null);function z(){let e=e=>{if(!e)return null;let t=String(e).trim().replace(`T`,` `).slice(0,16).match(/^(\d{4})-(\d{2})-(\d{2})\s(\d{2}):(\d{2})$/);if(!t)return null;let n=Number(t[1]),r=Number(t[2]),i=Number(t[3]),a=Number(t[4]),o=Number(t[5]);return Number.isFinite(n+r+i+a+o)?new Date(n,r-1,i,a,o,0):null},t=e=>{if(!e)return``;let t=String(e).trim();if(/^\d{4}-\d{2}-\d{2}\s\d{2}:\d{2}/.test(t))return t.slice(0,16);if(t.includes(`T`))return t.replace(`T`,` `).slice(0,16);let n=new Date(t);if(!Number.isFinite(n.getTime()))return``;let r=e=>String(e).padStart(2,`0`);return`${n.getFullYear()}-${r(n.getMonth()+1)}-${r(n.getDate())} ${r(n.getHours())}:${r(n.getMinutes())}`},n=e=>{if(!e)return null;let t=String(e).trim();return t.includes(`T`)?t.split(`T`)[0]:t.includes(` `)?t.split(` `)[0]:t.length===10?t:e instanceof Date?`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,`0`)}-${String(e.getDate()).padStart(2,`0`)}`:t},r=e=>{if(!e)return``;let t=String(e).trim();if(t.length===10&&!t.includes(`T`)&&!t.includes(` `))return t;let n=t.replace(` `,`T`);return n.length>=16?n.slice(0,16):n},i=e=>{if(!e)return``;let t=String(e).trim();return t.length===10&&!t.includes(`T`)&&!t.includes(` `)?t:t.replace(`T`,` `).slice(0,16)},a=()=>{N&&=(N.destroy(),null),P&&=(P.destroy(),null)},o=()=>{if(a(),typeof AirDatepicker==`function`){if(M.modalType===`salesOrder`&&F.value){N=new AirDatepicker(F.value,{timepicker:!1,autoClose:!0,zIndex:2005,dateFormat:`yyyy-MM-dd`,onSelect:({formattedDate:e})=>{M.form.delivery_date=e||``,M.form.delivery_date_native=r(e||``)}});let t=e(M.form.delivery_date);t&&N.selectDate(t,{silent:!0})}if(M.modalType===`purchaseOrder`&&I.value){P=new AirDatepicker(I.value,{timepicker:!1,autoClose:!0,zIndex:2005,dateFormat:`yyyy-MM-dd`,onSelect:({formattedDate:e})=>{M.form.expected_date=e||``,M.form.expected_date_native=r(e||``)}});let t=e(M.form.expected_date);t&&P.selectDate(t,{silent:!0})}}},s=e=>{if(e===`delivery`&&N){N.show();return}if(e===`expected`&&P){P.show();return}let t=e===`delivery`?L.value:R.value;if(t){if(typeof t.showPicker==`function`){t.showPicker();return}t.focus(),t.click()}},c=e=>({in:`其他入库`,out:`其他出库`,adjust:`库存调整`,purchase_in:`采购入库`,return_from_production:`生产退料入库`,outsource_return:`外协回库`,finish_in:`完工入库`,issue_to_production:`生产领料出库`,outsource_send:`外协发料出库`,shipment_out:`销售出库`,scrap_out:`报废出库`})[e]||e,u=e=>[`purchase_in`,`return_from_production`,`outsource_return`,`finish_in`,`in`].includes(e)?`badge-success`:[`issue_to_production`,`outsource_send`,`shipment_out`,`scrap_out`,`out`].includes(e)?`badge-error`:`badge-warning`,d=e=>({draft:`已下单`,pending:`已下单`,partial_received:`部分收货`,received:`已收货`,paid:`已付款`,cancelled:`已作废`})[e]||e,f=e=>[`received`,`paid`,`cancelled`].includes(e),p=e=>({manufacturing:`制造中`,delivered:`已交付`,paid:`已收款`,cancelled:`已作废`})[e]||e,h=e=>({manufacturing:`制造中`,delivered:`已交付`,cancelled:`已作废`})[e]||e,g=e=>({unpaid:`未收款`,paid:`已收款`})[e]||e,_=e=>({pending:`已下单`,partial_received:`部分收货`,received:`已收货`,cancelled:`已作废`})[e]||e,v=async()=>{try{let e=await fetch(`/health`,{method:`GET`});if(!e.ok){M.backendDbReady=!1,M.backendDbMessage=`后端服务异常,暂无法加载业务数据`;return}let t=await e.json().catch(()=>null);if(t&&t.database_connected===!1){M.backendDbReady=!1,M.backendDbMessage=`数据库未连接,当前仅可浏览界面,业务数据暂不可用`;return}M.backendDbReady=!0,M.backendDbMessage=``}catch{M.backendDbReady=!1,M.backendDbMessage=`无法连接后端服务`}},S=async()=>{M.loading=!0;try{M.dashboard=await b(`/api/dashboard`)}catch(e){x(e,`加载仪表盘`)}finally{M.loading=!1}},C=async()=>{M.loading=!0;try{M.finishedProducts=await b(`/api/products?item_type=finished&limit=100`)}catch(e){x(e,`加载成品`)}finally{M.loading=!1}},w=async()=>{await C()},T=async()=>{M.loading=!0;try{M.materials=await b(`/api/products?item_type=material&limit=100`)}catch(e){x(e,`加载物料`)}finally{M.loading=!1}},E=async()=>{M.loading=!0;try{M.warehouses=await b(`/api/warehouses`)}catch(e){x(e,`加载仓库`)}finally{M.loading=!1}},D=async()=>{if(M.materials.length||await T(),M.warehouses.length||await E(),!M.warehouses.length)try{await b(`/api/warehouses`,{method:`POST`,body:JSON.stringify({name:`默认仓库`})}),await E(),y(`已自动创建默认仓库`,`success`)}catch(e){x(e,`自动创建默认仓库`)}},z=async()=>{M.loading=!0;try{M.suppliers=await b(`/api/suppliers`)}catch(e){x(e,`加载供应商`)}finally{M.loading=!1}},B=async()=>{M.loading=!0;try{let[e,t]=await Promise.all([b(`/api/sales-orders?limit=100`),b(`/api/warehouses`)]);M.productionOrders=e?.items||[],M.warehouses=t||[],M.productionWarehouseId||=M.warehouses.find(e=>e.is_default)?.id||M.warehouses[0]?.id||null}catch(e){x(e,`加载按单生产数据`)}finally{M.loading=!1}},V=async()=>{M.loading=!0;try{let[e,t]=await Promise.all([b(`/api/purchase-orders?limit=100`),b(`/api/warehouses`)]);M.purchaseOrders=e?.items||[],M.warehouses=t||[],M.purchaseWarehouseId||=M.warehouses.find(e=>e.is_default)?.id||M.warehouses[0]?.id||null}catch(e){x(e,`加载采购订单`)}finally{M.loading=!1}},H=async()=>{M.loading=!0;try{M.customers=await b(`/api/customers`)}catch(e){x(e,`加载客户`)}finally{M.loading=!1}},U=async()=>{M.loading=!0;try{M.inventory=(await b(`/api/inventory`))?.items||[]}catch(e){x(e,`加载库存`)}finally{M.loading=!1}},W=async()=>{M.loading=!0;try{M.movements=(await b(`/api/stock-movements`))?.items||[]}catch(e){x(e,`加载变动记录`)}finally{M.loading=!1}},G=async()=>{M.loading=!0;try{let e=Number(M.financePeriod.year)||new Date().getFullYear(),t=M.financePeriod.quarter?Number(M.financePeriod.quarter):null,n=t?`year=${e}&quarter=${t}`:`year=${e}`,[r,i,a,o,s,c,l,u]=await Promise.all([b(`/api/finance/summary?${n}`),b(`/api/finance/transactions?status=confirmed&limit=20&${n}`),b(`/api/finance/receivables?limit=20&${n}`),b(`/api/finance/payables?limit=20&${n}`),b(`/api/finance/partner-statement/customer?${n}`),b(`/api/finance/partner-statement/supplier?${n}`),b(`/api/finance/partner-product-statement/customer?${n}`),b(`/api/finance/partner-product-statement/supplier?${n}`)]);M.financeSummary=r,M.financeTransactions=i,M.receivables=a,M.payables=o,M.customerFinanceStatement=s.items||[],M.supplierFinanceStatement=c.items||[],M.customerProductStatement=l.items||[],M.supplierProductStatement=u.items||[]}catch(e){x(e,`加载财务数据`)}finally{M.loading=!1}},K=()=>{M.activeTab===`finance`&&G()},q=e=>{M.activeTab=e},J=()=>{M.showModal=!1,M.modalType=``,M.editingItem=null,M.productBomItems=[],M.purchaseReceiveItems=[],M.form={},a()},Y=m(()=>(M.editingItem?`编辑`:`新增`)+({product:M.form.item_type===`finished`?`成品`:`物料`,inventoryItem:`物料库存`,salesOrder:`销售订单`,purchaseOrder:`采购订单`,purchaseReceive:`采购到货入库`,supplier:`供应商`,customer:`客户`}[M.modalType]||``)),X=[{key:`overview`,title:`概览`,items:[{key:`dashboard`,label:`仪表盘`}]},{key:`sales`,title:`销售`,items:[{key:`sales_orders`,label:`销售订单管理`}]},{key:`purchase`,title:`采购`,items:[{key:`purchases`,label:`采购订单管理`}]},{key:`product`,title:`产品`,items:[{key:`products`,label:`成品管理`},{key:`materials`,label:`物料管理`}]},{key:`partner`,title:`往来单位`,items:[{key:`customers`,label:`客户管理`},{key:`suppliers`,label:`供应商管理`}]},{key:`warehouse`,title:`仓库`,items:[{key:`inventory`,label:`库存管理`},{key:`movements`,label:`库存变动记录`}]},{key:`finance`,title:`财务`,items:[{key:`finance`,label:`财务概览`}]}],Z=l(Object.fromEntries(X.map(e=>[e.key,!0])));return{state:M,deliveryDateInput:F,expectedDateInput:I,deliveryDateNativeInput:L,expectedDateNativeInput:R,menuGroups:X,openGroups:Z,activeMenu:m(()=>{for(let e of X){let t=e.items.find(e=>e.key===M.activeTab);if(t)return{group:e,item:t}}return null}),modalTitle:Y,parseDateTimeLocal:e,toPickerValue:t,toApiDateTime:n,toNativeValue:r,fromNativeValue:i,destroyPickers:a,initPickers:o,openDateTimePicker:s,getMovementTypeLabel:c,getMovementBadgeClass:u,getPurchaseOrderStatusLabel:d,isPurchaseOrderLocked:f,getSalesOrderStatusLabel:p,getDeliveryStatusLabel:h,getPaymentStatusLabel:g,getReceiptStatusLabel:_,checkBackendHealth:v,loadDashboard:S,loadFinishedProducts:C,loadProducts:w,loadMaterials:T,loadWarehouses:E,ensureStockBaseData:D,loadSuppliers:z,loadProductionOrders:B,loadPurchaseOrders:V,loadCustomers:H,loadInventory:U,loadMovements:W,loadFinance:G,refreshFinanceByPeriod:K,switchTab:q,closeModal:J,toggleGroup:e=>{Z[e]=!Z[e]},handleMenuClick:e=>{q(e)},switchProductCategory:e=>{M.productCategory=e},formatCurrency:j,formatNumber:O,formatDateTime:A,formatDate:k}}var B=[`onClick`],V=t({__name:`InventorySidebar`,setup(e){let{state:t,menuGroups:r,openGroups:i,toggleGroup:s,handleMenuClick:l}=z();return(e,d)=>{let m=g(`el-icon`),_=g(`el-menu-item`),y=g(`el-menu`);return n(),f(y,{"default-active":a(t).activeTab,class:`inventory-sidebar`,onSelect:d[0]||=e=>a(l)(e)},{default:o(()=>[(n(!0),E(v,null,c(a(r),e=>(n(),E(`div`,{key:e.key,class:`sidebar-group`},[p(`div`,{class:`sidebar-group-title`,onClick:t=>a(s)(e.key)},[p(`span`,null,D(e.title),1),u(m,null,{default:o(()=>[(n(),f(h(a(i)[e.key]?`ArrowDown`:`ArrowRight`)))]),_:2},1024)],8,B),a(i)[e.key]?(n(!0),E(v,{key:0},c(e.items,t=>(n(),f(_,{key:e.key+`-`+t.key,index:t.key},{default:o(()=>[T(D(t.label),1)]),_:2},1032,[`index`]))),128)):w(``,!0)]))),128))]),_:1},8,[`default-active`])}}}),H={style:{display:`flex`,"align-items":`center`,gap:`12px`}},U={style:{"font-size":`32px`}},W={style:{"font-size":`24px`,"font-weight":`700`}},G={style:{color:`var(--text-tertiary)`,"font-size":`13px`}},K=t({__name:`DashboardTab`,setup(e){let{state:t,formatCurrency:r}=z();return(e,i)=>{let s=g(`el-card`),l=g(`el-col`),d=g(`el-row`);return n(),f(d,{gutter:16},{default:o(()=>[(n(!0),E(v,null,c([{icon:`📦`,value:a(t).dashboard?.product_count||0,label:`成品数量`},{icon:`📊`,value:a(t).dashboard?.total_stock||0,label:`物料库存总量`},{icon:`💰`,value:a(r)(a(t).dashboard?.total_value||0),label:`库存价值`},{icon:`🏭`,value:a(t).dashboard?.supplier_count||0,label:`供应商`},{icon:`👥`,value:a(t).dashboard?.customer_count||0,label:`客户`},{icon:`🏪`,value:a(t).dashboard?.warehouse_count||0,label:`仓库`}],e=>(n(),f(l,{span:8,key:e.label,style:{"margin-bottom":`16px`}},{default:o(()=>[u(s,{shadow:`hover`},{default:o(()=>[p(`div`,H,[p(`span`,U,D(e.icon),1),p(`div`,null,[p(`div`,W,D(e.value),1),p(`div`,G,D(e.label),1)])])]),_:2},1024)]),_:2},1024))),128))]),_:1})}}}),q={style:{"margin-bottom":`12px`}},J={style:{padding:`0 12px 12px 12px`}},Y=t({__name:`ProductsTab`,setup(t){let{state:r,formatCurrency:l,loadFinishedProducts:m,loadMaterials:h}=z(),_=i(!1),S=i(null),C=i({}),O=i([]);function k(){S.value=null,C.value={item_type:`finished`,unit:`件`,min_stock:0,max_stock:1e3,cost_price:0,sale_price:0,sku:``,name:``,category:``},O.value=[],_.value=!0}async function A(e){S.value=e,C.value={...e},await h();try{O.value=((await b(`/api/products/${e.id}/materials`)).items||[]).map(e=>({material_id:e.material_id,quantity:e.quantity}))}catch(e){x(e,`加载BOM`)}_.value=!0}function j(){O.value.push({material_id:r.materials[0]?.id||null,quantity:1})}function M(e){O.value.splice(e,1)}async function N(){if(!C.value.sku){y(`请输入SKU`,`warning`);return}if(!C.value.name){y(`请输入名称`,`warning`);return}try{S.value?(await b(`/api/products/${S.value.id}`,{method:`PUT`,body:JSON.stringify(C.value)}),C.value.item_type===`finished`&&O.value.length>0&&await b(`/api/products/${S.value.id}/materials`,{method:`PUT`,body:JSON.stringify({items:O.value})}),y(`成品更新成功`,`success`)):(await b(`/api/products`,{method:`POST`,body:JSON.stringify(C.value)}),y(`成品创建成功`,`success`)),_.value=!1,S.value=null,C.value={},O.value=[],m(),h()}catch(e){x(e,`保存成品`)}}async function P(e){if(confirm(`确定要删除这个成品吗?`))try{await b(`/api/products/${e}`,{method:`DELETE`}),y(`成品已删除`,`success`),m(),h()}catch(e){x(e,`删除成品`)}}function F(){_.value=!1,S.value=null,C.value={},O.value=[]}return d(()=>{m()}),(t,i)=>{let d=g(`el-button`),m=g(`el-table-column`),h=g(`el-table`),y=g(`el-empty`),b=g(`el-input`),x=g(`el-form-item`),I=g(`el-input-number`),L=g(`el-divider`),R=g(`el-option`),z=g(`el-select`),B=g(`el-form`),V=g(`el-dialog`),H=e(`loading`);return n(),E(`div`,null,[p(`div`,q,[u(d,{type:`primary`,onClick:k},{default:o(()=>[...i[8]||=[T(`新增成品`,-1)]]),_:1})]),s((n(),f(h,{data:a(r).finishedProducts,stripe:``},{default:o(()=>[u(m,{prop:`sku`,label:`SKU`}),u(m,{prop:`name`,label:`名称`}),u(m,{prop:`category`,label:`分类`},{default:o(({row:e})=>[T(D(e.category||`-`),1)]),_:1}),u(m,{prop:`unit`,label:`单位`}),u(m,{label:`成本价`},{default:o(({row:e})=>[T(D(a(l)(e.cost_price)),1)]),_:1}),u(m,{label:`销售价`},{default:o(({row:e})=>[T(D(a(l)(e.sale_price)),1)]),_:1}),u(m,{label:`基础物料成本`},{default:o(({row:e})=>[T(D(a(l)(e.material_cost||0)),1)]),_:1}),u(m,{label:`操作`,width:`180`},{default:o(({row:e})=>[u(d,{type:`primary`,size:`small`,onClick:t=>A(e)},{default:o(()=>[...i[9]||=[T(`编辑`,-1)]]),_:1},8,[`onClick`]),u(d,{type:`danger`,size:`small`,onClick:t=>P(e.id)},{default:o(()=>[...i[10]||=[T(`删除`,-1)]]),_:1},8,[`onClick`])]),_:1})]),_:1},8,[`data`])),[[H,a(r).loading]]),!a(r).loading&&a(r).finishedProducts.length===0?(n(),f(y,{key:0,description:`暂无成品数据`})):w(``,!0),u(V,{modelValue:_.value,"onUpdate:modelValue":i[7]||=e=>_.value=e,title:(S.value?`编辑`:`新增`)+`成品`,width:`560px`,onClosed:F},{footer:o(()=>[u(d,{onClick:i[6]||=e=>_.value=!1},{default:o(()=>[...i[14]||=[T(`取消`,-1)]]),_:1}),u(d,{type:`primary`,onClick:N},{default:o(()=>[...i[15]||=[T(`保存`,-1)]]),_:1})]),default:o(()=>[u(B,{"label-width":`100px`},{default:o(()=>[u(x,{label:`类型`},{default:o(()=>[u(b,{"model-value":`成品(按单生产,不做库存)`,disabled:``})]),_:1}),u(x,{label:`SKU`,required:``},{default:o(()=>[u(b,{modelValue:C.value.sku,"onUpdate:modelValue":i[0]||=e=>C.value.sku=e,placeholder:`产品编码`},null,8,[`modelValue`])]),_:1}),u(x,{label:`名称`,required:``},{default:o(()=>[u(b,{modelValue:C.value.name,"onUpdate:modelValue":i[1]||=e=>C.value.name=e,placeholder:`产品名称`},null,8,[`modelValue`])]),_:1}),u(x,{label:`分类`},{default:o(()=>[u(b,{modelValue:C.value.category,"onUpdate:modelValue":i[2]||=e=>C.value.category=e,placeholder:`产品分类`},null,8,[`modelValue`])]),_:1}),u(x,{label:`单位`},{default:o(()=>[u(b,{modelValue:C.value.unit,"onUpdate:modelValue":i[3]||=e=>C.value.unit=e,placeholder:`件`},null,8,[`modelValue`])]),_:1}),u(x,{label:`成本价`},{default:o(()=>[u(I,{modelValue:C.value.cost_price,"onUpdate:modelValue":i[4]||=e=>C.value.cost_price=e,precision:2,min:0,step:.01,style:{width:`100%`}},null,8,[`modelValue`])]),_:1}),u(x,{label:`销售价`},{default:o(()=>[u(I,{modelValue:C.value.sale_price,"onUpdate:modelValue":i[5]||=e=>C.value.sale_price=e,precision:2,min:0,step:.01,style:{width:`100%`}},null,8,[`modelValue`])]),_:1}),u(x,{label:`说明`},{default:o(()=>[u(b,{"model-value":`成品不做库存,成本由下方BOM定义物料构成后自动计算`,disabled:``})]),_:1}),S.value?(n(),E(v,{key:0},[u(L,{"content-position":`left`},{default:o(()=>[...i[11]||=[T(`BOM物料配置`,-1)]]),_:1}),p(`div`,J,[u(d,{type:`primary`,size:`small`,onClick:j,style:{"margin-bottom":`8px`}},{default:o(()=>[...i[12]||=[T(`+ 添加物料`,-1)]]),_:1}),u(h,{data:O.value,size:`small`,border:``},{default:o(()=>[u(m,{label:`物料`},{default:o(({row:e})=>[u(z,{modelValue:e.material_id,"onUpdate:modelValue":t=>e.material_id=t,placeholder:`选择物料`,style:{width:`100%`}},{default:o(()=>[(n(!0),E(v,null,c(a(r).materials,e=>(n(),f(R,{key:e.id,label:`${e.sku} - ${e.name}`,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`onUpdate:modelValue`])]),_:1}),u(m,{label:`数量`,width:`120`},{default:o(({row:e})=>[u(I,{modelValue:e.quantity,"onUpdate:modelValue":t=>e.quantity=t,min:1e-4,step:1e-4,size:`small`,style:{width:`100%`}},null,8,[`modelValue`,`onUpdate:modelValue`])]),_:1}),u(m,{label:`操作`,width:`80`},{default:o(({$index:e})=>[u(d,{type:`danger`,size:`small`,onClick:t=>M(e)},{default:o(()=>[...i[13]||=[T(`删除`,-1)]]),_:1},8,[`onClick`])]),_:1})]),_:1},8,[`data`])])],64)):w(``,!0)]),_:1})]),_:1},8,[`modelValue`,`title`])])}}}),X={style:{"margin-bottom":`12px`,display:`flex`,gap:`8px`}},Z={style:{display:`flex`,"justify-content":`space-between`,"align-items":`center`,"margin-bottom":`12px`}},ee={style:{"text-align":`right`,"margin-top":`8px`,"font-weight":`600`}},te=t({__name:`MaterialsTab`,setup(t){let{state:r,formatCurrency:l,loadMaterials:h,loadSuppliers:_,loadPurchaseOrders:S}=z(),C=i(!1),O=i(null),k=i({}),A=i(!1),j=i([]),M=i(null);function N(){O.value=null,k.value={item_type:`material`,unit:`kg`,min_stock:0,max_stock:1e3,cost_price:0,sale_price:0,sku:``,name:``,category:``},C.value=!0}async function P(e){O.value=e,k.value={...e},C.value=!0}async function F(){if(!k.value.sku){y(`请输入SKU`,`warning`);return}if(!k.value.name){y(`请输入名称`,`warning`);return}try{O.value?(await b(`/api/products/${O.value.id}`,{method:`PUT`,body:JSON.stringify(k.value)}),y(`物料更新成功`,`success`)):(await b(`/api/products`,{method:`POST`,body:JSON.stringify(k.value)}),y(`物料创建成功`,`success`)),C.value=!1,O.value=null,k.value={},h()}catch(e){x(e,`保存物料`)}}async function I(e){if(confirm(`确定要删除这个物料吗?`))try{await b(`/api/products/${e}`,{method:`DELETE`}),y(`物料已删除`,`success`),h()}catch(e){x(e,`删除物料`)}}async function L(){await h(),await _(),j.value=[],A.value=!0}function R(){j.value.push({material_id:r.materials[0]?.id||null,quantity:1,unit_price:0,remark:``})}function B(e){j.value.splice(e,1)}let V=m(()=>j.value.reduce((e,t)=>e+(t.unit_price||0)*(t.quantity||0),0));async function H(){if(!j.value||j.value.length===0){y(`请至少添加一个补货物料`,`warning`);return}for(let[e,t]of j.value.entries()){let n=e+1;if(!t.material_id){y(`第 ${n} 行:请选择物料`,`warning`);return}if(!Number.isFinite(t.quantity)||t.quantity<=0){y(`第 ${n} 行:数量必须大于 0`,`warning`);return}if(!Number.isFinite(t.unit_price)||t.unit_price<0){y(`第 ${n} 行:单价必须大于等于 0`,`warning`);return}}try{let e={supplier_id:M.value||r.suppliers[0]?.id||null,expected_date:new Date().toISOString().split(`T`)[0],remark:`物料补货`,items:j.value.map(e=>({product_id:e.material_id,quantity:e.quantity,unit_price:e.unit_price,remark:e.remark}))};if(!e.supplier_id){y(`请先添加供应商`,`warning`);return}await b(`/api/purchase-orders`,{method:`POST`,body:JSON.stringify(e)}),y(`采购订单创建成功`,`success`),A.value=!1,j.value=[],S()}catch(e){x(e,`保存补货订单`)}}function U(){C.value=!1,O.value=null,k.value={}}function W(){A.value=!1,j.value=[]}return d(()=>{h()}),(t,i)=>{let d=g(`el-button`),m=g(`el-table-column`),h=g(`el-table`),_=g(`el-empty`),y=g(`el-input`),b=g(`el-form-item`),x=g(`el-input-number`),S=g(`el-form`),z=g(`el-dialog`),G=g(`el-option`),K=g(`el-select`),q=e(`loading`);return n(),E(`div`,null,[p(`div`,X,[u(d,{type:`primary`,onClick:N},{default:o(()=>[...i[12]||=[T(`新增物料`,-1)]]),_:1}),u(d,{type:`success`,onClick:L},{default:o(()=>[...i[13]||=[T(`物料补货`,-1)]]),_:1})]),s((n(),f(h,{data:a(r).materials,stripe:``},{default:o(()=>[u(m,{prop:`sku`,label:`SKU`}),u(m,{prop:`name`,label:`名称`}),u(m,{prop:`category`,label:`分类`},{default:o(({row:e})=>[T(D(e.category||`-`),1)]),_:1}),u(m,{prop:`unit`,label:`单位`}),u(m,{label:`成本价`},{default:o(({row:e})=>[T(D(a(l)(e.cost_price)),1)]),_:1}),u(m,{prop:`min_stock`,label:`最低库存`},{default:o(({row:e})=>[T(D(e.min_stock??`-`),1)]),_:1}),u(m,{label:`操作`,width:`180`},{default:o(({row:e})=>[u(d,{type:`primary`,size:`small`,onClick:t=>P(e)},{default:o(()=>[...i[14]||=[T(`编辑`,-1)]]),_:1},8,[`onClick`]),u(d,{type:`danger`,size:`small`,onClick:t=>I(e.id)},{default:o(()=>[...i[15]||=[T(`删除`,-1)]]),_:1},8,[`onClick`])]),_:1})]),_:1},8,[`data`])),[[q,a(r).loading]]),!a(r).loading&&a(r).materials.length===0?(n(),f(_,{key:0,description:`暂无物料数据`})):w(``,!0),u(z,{modelValue:C.value,"onUpdate:modelValue":i[8]||=e=>C.value=e,title:(O.value?`编辑`:`新增`)+`物料`,width:`560px`,onClosed:U},{footer:o(()=>[u(d,{onClick:i[7]||=e=>C.value=!1},{default:o(()=>[...i[16]||=[T(`取消`,-1)]]),_:1}),u(d,{type:`primary`,onClick:F},{default:o(()=>[...i[17]||=[T(`保存`,-1)]]),_:1})]),default:o(()=>[u(S,{"label-width":`100px`},{default:o(()=>[u(b,{label:`类型`},{default:o(()=>[u(y,{"model-value":`物料(纳入库存)`,disabled:``})]),_:1}),u(b,{label:`SKU`,required:``},{default:o(()=>[u(y,{modelValue:k.value.sku,"onUpdate:modelValue":i[0]||=e=>k.value.sku=e,placeholder:`产品编码`},null,8,[`modelValue`])]),_:1}),u(b,{label:`名称`,required:``},{default:o(()=>[u(y,{modelValue:k.value.name,"onUpdate:modelValue":i[1]||=e=>k.value.name=e,placeholder:`产品名称`},null,8,[`modelValue`])]),_:1}),u(b,{label:`分类`},{default:o(()=>[u(y,{modelValue:k.value.category,"onUpdate:modelValue":i[2]||=e=>k.value.category=e,placeholder:`产品分类`},null,8,[`modelValue`])]),_:1}),u(b,{label:`单位`},{default:o(()=>[u(y,{modelValue:k.value.unit,"onUpdate:modelValue":i[3]||=e=>k.value.unit=e,placeholder:`kg`},null,8,[`modelValue`])]),_:1}),u(b,{label:`成本价`},{default:o(()=>[u(x,{modelValue:k.value.cost_price,"onUpdate:modelValue":i[4]||=e=>k.value.cost_price=e,precision:2,min:0,step:.01,style:{width:`100%`}},null,8,[`modelValue`])]),_:1}),u(b,{label:`最低库存`},{default:o(()=>[u(x,{modelValue:k.value.min_stock,"onUpdate:modelValue":i[5]||=e=>k.value.min_stock=e,min:0,style:{width:`100%`}},null,8,[`modelValue`])]),_:1}),u(b,{label:`最高库存`},{default:o(()=>[u(x,{modelValue:k.value.max_stock,"onUpdate:modelValue":i[6]||=e=>k.value.max_stock=e,min:0,style:{width:`100%`}},null,8,[`modelValue`])]),_:1})]),_:1})]),_:1},8,[`modelValue`,`title`]),u(z,{modelValue:A.value,"onUpdate:modelValue":i[11]||=e=>A.value=e,title:`物料补货`,width:`900px`,onClosed:W},{footer:o(()=>[u(d,{onClick:i[10]||=e=>A.value=!1},{default:o(()=>[...i[21]||=[T(`取消`,-1)]]),_:1}),u(d,{type:`primary`,onClick:H},{default:o(()=>[...i[22]||=[T(`创建采购订单`,-1)]]),_:1})]),default:o(()=>[u(S,{"label-width":`100px`,style:{"margin-bottom":`16px`}},{default:o(()=>[u(b,{label:`供应商`},{default:o(()=>[u(K,{modelValue:M.value,"onUpdate:modelValue":i[9]||=e=>M.value=e,placeholder:`请选择供应商`,style:{width:`100%`}},{default:o(()=>[(n(!0),E(v,null,c(a(r).suppliers,e=>(n(),f(G,{key:e.id,label:e.name,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`])]),_:1})]),_:1}),p(`div`,Z,[i[19]||=p(`span`,{style:{"font-weight":`600`}},`补货物料明细`,-1),u(d,{type:`primary`,size:`small`,onClick:R},{default:o(()=>[...i[18]||=[T(`+ 添加物料`,-1)]]),_:1})]),u(h,{data:j.value,border:``,size:`small`},{default:o(()=>[u(m,{label:`物料`,"min-width":`200`},{default:o(({row:e})=>[u(K,{modelValue:e.material_id,"onUpdate:modelValue":t=>e.material_id=t,placeholder:`请选择物料`,style:{width:`100%`}},{default:o(()=>[(n(!0),E(v,null,c(a(r).materials,e=>(n(),f(G,{key:e.id,label:`${e.sku} - ${e.name}`,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`onUpdate:modelValue`])]),_:1}),u(m,{label:`数量`,width:`120`},{default:o(({row:e})=>[u(x,{modelValue:e.quantity,"onUpdate:modelValue":t=>e.quantity=t,min:1,size:`small`,style:{width:`100%`}},null,8,[`modelValue`,`onUpdate:modelValue`])]),_:1}),u(m,{label:`单价`,width:`120`},{default:o(({row:e})=>[u(x,{modelValue:e.unit_price,"onUpdate:modelValue":t=>e.unit_price=t,min:0,precision:2,step:.01,size:`small`,style:{width:`100%`}},null,8,[`modelValue`,`onUpdate:modelValue`])]),_:1}),u(m,{label:`总价`,width:`120`},{default:o(({row:e})=>[T(D(a(l)((e.unit_price||0)*(e.quantity||0))),1)]),_:1}),u(m,{label:`备注`,width:`150`},{default:o(({row:e})=>[u(y,{modelValue:e.remark,"onUpdate:modelValue":t=>e.remark=t,size:`small`,placeholder:`备注`},null,8,[`modelValue`,`onUpdate:modelValue`])]),_:1}),u(m,{label:`操作`,width:`80`},{default:o(({$index:e})=>[u(d,{type:`danger`,size:`small`,onClick:t=>B(e)},{default:o(()=>[...i[20]||=[T(`删除`,-1)]]),_:1},8,[`onClick`])]),_:1})]),_:1},8,[`data`]),p(`div`,ee,` 补货总金额:`+D(a(l)(V.value)),1)]),_:1},8,[`modelValue`])])}}}),ne={class:`inventory-tab`},re={class:`table-header`},ie=C(t({__name:`InventoryTab`,setup(t){let{state:r,loadInventory:m,ensureStockBaseData:h}=z(),_=i(!1),S=i(null),C=l({product_id:null,warehouse_id:null,quantity:0,locked_quantity:0,batch_no:``,location:``});function w(){h(),S.value=null,C.product_id=null,C.warehouse_id=null,C.quantity=0,C.locked_quantity=0,C.batch_no=``,C.location=``,_.value=!0}function D(e){h(),S.value=e,C.product_id=e.product_id??null,C.warehouse_id=e.warehouse_id??null,C.quantity=e.quantity??0,C.locked_quantity=e.locked_quantity??0,C.batch_no=e.batch_no??``,C.location=e.location??``,_.value=!0}async function O(){try{let e={product_id:C.product_id,warehouse_id:C.warehouse_id,quantity:C.quantity,locked_quantity:C.locked_quantity,batch_no:C.batch_no||null,location:C.location||null};S.value?(await b(`/api/inventory/${S.value.id}`,{method:`PUT`,body:JSON.stringify(e)}),y(`物料库存更新成功`,`success`)):(await b(`/api/inventory`,{method:`POST`,body:JSON.stringify(e)}),y(`物料库存已创建`,`success`)),_.value=!1,m()}catch(e){x(e,`保存物料库存`)}}async function k(e){if(confirm(`确定要删除这个物料库存记录吗?`))try{await b(`/api/inventory/${e}`,{method:`DELETE`}),y(`物料库存已删除`,`success`),m()}catch(e){x(e,`删除物料库存`)}}return d(()=>{m()}),(t,i)=>{let l=g(`el-button`),d=g(`el-table-column`),m=g(`el-table`),h=g(`el-option`),y=g(`el-select`),b=g(`el-form-item`),x=g(`el-input-number`),A=g(`el-input`),j=g(`el-form`),M=g(`el-dialog`),N=e(`loading`);return n(),E(`div`,ne,[p(`div`,re,[u(l,{type:`primary`,onClick:w},{default:o(()=>[...i[8]||=[T(`+ 新增物料库存`,-1)]]),_:1})]),s((n(),f(m,{data:a(r).inventory,style:{width:`100%`},"empty-text":`暂无库存数据`},{default:o(()=>[u(d,{prop:`product_sku`,label:`SKU`}),u(d,{prop:`product_name`,label:`物料`}),u(d,{prop:`warehouse_name`,label:`仓库`}),u(d,{prop:`quantity`,label:`数量`}),u(d,{prop:`available_quantity`,label:`可用`}),u(d,{label:`操作`,width:`180`},{default:o(({row:e})=>[u(l,{size:`small`,onClick:t=>D(e)},{default:o(()=>[...i[9]||=[T(`编辑`,-1)]]),_:1},8,[`onClick`]),u(l,{size:`small`,type:`danger`,onClick:t=>k(e.id)},{default:o(()=>[...i[10]||=[T(`删除`,-1)]]),_:1},8,[`onClick`])]),_:1})]),_:1},8,[`data`])),[[N,a(r).loading]]),u(M,{modelValue:_.value,"onUpdate:modelValue":i[7]||=e=>_.value=e,title:S.value?`编辑物料库存`:`新增物料库存`,width:`520px`,"close-on-click-modal":!1},{footer:o(()=>[u(l,{onClick:i[6]||=e=>_.value=!1},{default:o(()=>[...i[11]||=[T(`取消`,-1)]]),_:1}),u(l,{type:`primary`,onClick:O},{default:o(()=>[...i[12]||=[T(`保存`,-1)]]),_:1})]),default:o(()=>[u(j,{model:C,"label-width":`80px`},{default:o(()=>[u(b,{label:`物料`,required:``},{default:o(()=>[u(y,{modelValue:C.product_id,"onUpdate:modelValue":i[0]||=e=>C.product_id=e,placeholder:`请选择物料`,style:{width:`100%`}},{default:o(()=>[(n(!0),E(v,null,c(a(r).materials,e=>(n(),f(h,{key:e.id,label:e.name+(e.sku?` (`+e.sku+`)`:``),value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`])]),_:1}),u(b,{label:`仓库`,required:``},{default:o(()=>[u(y,{modelValue:C.warehouse_id,"onUpdate:modelValue":i[1]||=e=>C.warehouse_id=e,placeholder:`请选择仓库`,style:{width:`100%`}},{default:o(()=>[(n(!0),E(v,null,c(a(r).warehouses,e=>(n(),f(h,{key:e.id,label:e.name,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`])]),_:1}),u(b,{label:`数量`,required:``},{default:o(()=>[u(x,{modelValue:C.quantity,"onUpdate:modelValue":i[2]||=e=>C.quantity=e,min:0,style:{width:`100%`}},null,8,[`modelValue`])]),_:1}),u(b,{label:`锁定数量`},{default:o(()=>[u(x,{modelValue:C.locked_quantity,"onUpdate:modelValue":i[3]||=e=>C.locked_quantity=e,min:0,style:{width:`100%`}},null,8,[`modelValue`])]),_:1}),u(b,{label:`批次号`},{default:o(()=>[u(A,{modelValue:C.batch_no,"onUpdate:modelValue":i[4]||=e=>C.batch_no=e,placeholder:`请输入批次号`},null,8,[`modelValue`])]),_:1}),u(b,{label:`库位`},{default:o(()=>[u(A,{modelValue:C.location,"onUpdate:modelValue":i[5]||=e=>C.location=e,placeholder:`请输入库位`},null,8,[`modelValue`])]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`,`title`])])}}}),[[`__scopeId`,`data-v-ac629843`]]),ae={style:{"margin-bottom":`12px`,display:`flex`,gap:`12px`,"align-items":`center`}},oe={style:{display:`flex`,gap:`4px`}},Q={style:{display:`flex`,"justify-content":`space-between`,"align-items":`center`,"margin-bottom":`12px`}},se={style:{"text-align":`right`,"margin-top":`8px`,"font-weight":`600`}},$=t({__name:`PurchaseOrdersTab`,setup(t){let{state:r,formatCurrency:l,formatDateTime:h,formatDate:_,getPurchaseOrderStatusLabel:S,getReceiptStatusLabel:C,getPaymentStatusLabel:O,isPurchaseOrderLocked:k,loadPurchaseOrders:A,loadSuppliers:j,loadMaterials:M,loadInventory:N,loadMovements:P}=z(),F=i(!1),I=i(null),L=i({}),R=i([]),B=i(null),V=i(!1),H=i(null),U=i([]),W=i(null),G=i(``);function K(){I.value=null,L.value={supplier_id:null,expected_date:``,remark:``},R.value=[],F.value=!0}function q(){R.value.push({product_id:r.materials[0]?.id||null,quantity:1,remark:``})}function J(e){R.value.splice(e,1)}let Y=m(()=>R.value.reduce((e,t)=>e+(r.materials.find(e=>e.id===t.product_id)?.cost_price||0)*(t.quantity||0),0));async function X(e){await M(),await j(),I.value=e,L.value={supplier_id:e.supplier_id||null,expected_date:e.expected_date||``,remark:e.remark||``};try{R.value=((await b(`/api/purchase-orders/${e.id}`)).items||[]).map(e=>({product_id:e.product_id,quantity:e.quantity,remark:e.remark||``}))}catch(e){x(e,`加载采购订单详情`)}F.value=!0}async function Z(){if(!L.value.supplier_id){y(`请选择供应商`,`warning`);return}if(!R.value||R.value.length===0){y(`请至少添加一个物料`,`warning`);return}for(let[e,t]of R.value.entries()){if(!t.product_id){y(`第 ${e+1} 行:请选择物料`,`warning`);return}if(!t.quantity||t.quantity<=0){y(`第 ${e+1} 行:数量必须大于 0`,`warning`);return}}try{let e={supplier_id:L.value.supplier_id,expected_date:L.value.expected_date||null,remark:L.value.remark||``,items:R.value.map(e=>({product_id:e.product_id,quantity:e.quantity,remark:e.remark}))};I.value?(await b(`/api/purchase-orders/${I.value.id}`,{method:`PUT`,body:JSON.stringify(e)}),y(`采购订单更新成功`,`success`)):(await b(`/api/purchase-orders`,{method:`POST`,body:JSON.stringify(e)}),y(`采购订单创建成功`,`success`)),F.value=!1,I.value=null,L.value={},R.value=[],A()}catch(e){x(e,`保存采购订单`)}}async function ee(e){if(confirm(`确定要删除这个采购订单吗?`))try{await b(`/api/purchase-orders/${e}`,{method:`DELETE`}),y(`采购订单已删除`,`success`),A()}catch(e){x(e,`删除采购订单`)}}async function te(e){try{let t=await b(`/api/purchase-orders/${e.id}`);H.value=e,U.value=(t.items||[]).map(e=>({id:e.id,material_label:e.product_name||e.product_sku||``,quantity:e.quantity||0,received_quantity:e.received_quantity||0,remaining:(e.quantity||0)-(e.received_quantity||0),receive_quantity:0})),W.value=B.value||r.warehouses[0]?.id||null,G.value=``,V.value=!0}catch(e){x(e,`加载采购订单详情`)}}async function ne(){if(!W.value){y(`请选择入库仓库`,`warning`);return}let e=U.value.filter(e=>e.receive_quantity>0).map(e=>({item_id:e.id,receive_quantity:e.receive_quantity}));if(e.length===0){y(`请输入本次入库数量`,`warning`);return}try{await b(`/api/purchase-orders/${H.value.id}/receive`,{method:`POST`,body:JSON.stringify({warehouse_id:W.value,remark:G.value,items:e})}),y(`入库完成`,`success`),V.value=!1,H.value=null,U.value=[],A(),N(),P()}catch(e){x(e,`采购入库`)}}async function re(e){if(confirm(`确认标记为已付款?`))try{await b(`/api/purchase-orders/${e}/status`,{method:`PATCH`,body:JSON.stringify({status:`paid`})}),y(`已标记为已付款`,`success`),A(),P()}catch(e){x(e,`更新状态`)}}async function ie(e,t){let n=t===`cancelled`?`作废`:t;if(confirm(`确认${n}该订单?`))try{await b(`/api/purchase-orders/${e}/status`,{method:`PATCH`,body:JSON.stringify({status:t})}),y(`订单已${n}`,`success`),A(),P(),N()}catch(e){x(e,`更新状态`)}}function $(){F.value=!1,I.value=null,L.value={},R.value=[]}function ce(){V.value=!1,H.value=null,U.value=[]}async function le(){await M(),await j(),await A()}return d(()=>{le()}),(t,i)=>{let d=g(`el-option`),m=g(`el-select`),y=g(`el-button`),b=g(`el-table-column`),x=g(`el-tag`),S=g(`el-table`),j=g(`el-empty`),M=g(`el-form-item`),N=g(`el-date-picker`),P=g(`el-input`),z=g(`el-form`),H=g(`el-input-number`),le=g(`el-dialog`),ue=e(`loading`);return n(),E(`div`,null,[p(`div`,ae,[u(m,{modelValue:B.value,"onUpdate:modelValue":i[0]||=e=>B.value=e,placeholder:`选择仓库`,style:{width:`200px`},clearable:``},{default:o(()=>[(n(!0),E(v,null,c(a(r).warehouses,e=>(n(),f(d,{key:e.id,label:e.name,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`]),u(y,{onClick:a(A)},{default:o(()=>[...i[10]||=[T(`刷新`,-1)]]),_:1},8,[`onClick`]),u(y,{type:`primary`,onClick:K},{default:o(()=>[...i[11]||=[T(`新增采购订单`,-1)]]),_:1})]),s((n(),f(S,{data:a(r).purchaseOrders,stripe:``},{default:o(()=>[u(b,{prop:`order_no`,label:`采购单`}),u(b,{prop:`supplier_name`,label:`供应商`}),u(b,{label:`状态`},{default:o(({row:e})=>[p(`div`,oe,[u(x,{type:e.receipt_status===`received`?`success`:e.receipt_status===`partial_received`?`warning`:e.receipt_status===`cancelled`?`danger`:`info`,size:`small`},{default:o(()=>[T(D(a(C)(e.receipt_status)),1)]),_:2},1032,[`type`]),u(x,{type:e.payment_status===`paid`?`success`:`info`,size:`small`},{default:o(()=>[T(D(a(O)(e.payment_status)),1)]),_:2},1032,[`type`])])]),_:1}),u(b,{label:`订单创建`},{default:o(({row:e})=>[T(D(a(h)(e.created_at)),1)]),_:1}),u(b,{label:`预计到货`},{default:o(({row:e})=>[T(D(a(_)(e.expected_date)),1)]),_:1}),u(b,{label:`实际到货`},{default:o(({row:e})=>[T(D(e.received_at?a(h)(e.received_at):`-`),1)]),_:1}),u(b,{label:`实际付款`},{default:o(({row:e})=>[T(D(e.paid_at?a(h)(e.paid_at):`-`),1)]),_:1}),u(b,{label:`总金额`},{default:o(({row:e})=>[T(D(a(l)(e.total_amount)),1)]),_:1}),u(b,{label:`已付款`},{default:o(({row:e})=>[T(D(a(l)(e.paid_amount||0)),1)]),_:1}),u(b,{label:`操作`,width:`280`},{default:o(({row:e})=>[u(y,{type:`primary`,size:`small`,disabled:a(k)(e.status),onClick:t=>X(e)},{default:o(()=>[...i[12]||=[T(` 编辑 `,-1)]]),_:1},8,[`disabled`,`onClick`]),u(y,{type:`danger`,size:`small`,disabled:a(k)(e.status),onClick:t=>ee(e.id)},{default:o(()=>[...i[13]||=[T(` 删除 `,-1)]]),_:1},8,[`disabled`,`onClick`]),e.receipt_status===`pending`||e.receipt_status===`partial_received`?(n(),f(y,{key:0,type:`success`,size:`small`,onClick:t=>te(e)},{default:o(()=>[...i[14]||=[T(` 到货入库 `,-1)]]),_:1},8,[`onClick`])):w(``,!0),e.receipt_status===`received`&&e.payment_status!==`paid`?(n(),f(y,{key:1,type:`warning`,size:`small`,onClick:t=>re(e.id)},{default:o(()=>[...i[15]||=[T(` 标记为已付款 `,-1)]]),_:1},8,[`onClick`])):w(``,!0),e.payment_status!==`paid`&&e.receipt_status!==`cancelled`?(n(),f(y,{key:2,type:`info`,size:`small`,onClick:t=>ie(e.id,`cancelled`)},{default:o(()=>[...i[16]||=[T(` 作废 `,-1)]]),_:1},8,[`onClick`])):w(``,!0)]),_:1})]),_:1},8,[`data`])),[[ue,a(r).loading]]),!a(r).loading&&a(r).purchaseOrders.length===0?(n(),f(j,{key:0,description:`暂无采购订单`})):w(``,!0),u(le,{modelValue:F.value,"onUpdate:modelValue":i[5]||=e=>F.value=e,title:(I.value?`编辑`:`新增`)+`采购订单`,width:`800px`,onClosed:$},{footer:o(()=>[u(y,{onClick:i[4]||=e=>F.value=!1},{default:o(()=>[...i[20]||=[T(`取消`,-1)]]),_:1}),u(y,{type:`primary`,onClick:Z},{default:o(()=>[...i[21]||=[T(`保存`,-1)]]),_:1})]),default:o(()=>[u(z,{"label-width":`100px`},{default:o(()=>[u(M,{label:`供应商`,required:``},{default:o(()=>[u(m,{modelValue:L.value.supplier_id,"onUpdate:modelValue":i[1]||=e=>L.value.supplier_id=e,placeholder:`请选择供应商`,style:{width:`100%`}},{default:o(()=>[(n(!0),E(v,null,c(a(r).suppliers,e=>(n(),f(d,{key:e.id,label:e.name,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`])]),_:1}),u(M,{label:`预计到货`},{default:o(()=>[u(N,{modelValue:L.value.expected_date,"onUpdate:modelValue":i[2]||=e=>L.value.expected_date=e,type:`date`,placeholder:`选择日期`,style:{width:`100%`},"value-format":`YYYY-MM-DD`},null,8,[`modelValue`])]),_:1}),u(M,{label:`备注`},{default:o(()=>[u(P,{modelValue:L.value.remark,"onUpdate:modelValue":i[3]||=e=>L.value.remark=e,placeholder:`备注信息`},null,8,[`modelValue`])]),_:1})]),_:1}),p(`div`,Q,[i[18]||=p(`span`,{style:{"font-weight":`600`}},`物料明细`,-1),u(y,{type:`primary`,size:`small`,onClick:q},{default:o(()=>[...i[17]||=[T(`+ 添加物料`,-1)]]),_:1})]),u(S,{data:R.value,border:``,size:`small`},{default:o(()=>[u(b,{label:`物料`,"min-width":`200`},{default:o(({row:e})=>[u(m,{modelValue:e.product_id,"onUpdate:modelValue":t=>e.product_id=t,placeholder:`请选择物料`,style:{width:`100%`}},{default:o(()=>[(n(!0),E(v,null,c(a(r).materials,e=>(n(),f(d,{key:e.id,label:`${e.sku} - ${e.name}`,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`onUpdate:modelValue`])]),_:1}),u(b,{label:`数量`,width:`120`},{default:o(({row:e})=>[u(H,{modelValue:e.quantity,"onUpdate:modelValue":t=>e.quantity=t,min:1e-4,step:1e-4,size:`small`,style:{width:`100%`}},null,8,[`modelValue`,`onUpdate:modelValue`])]),_:1}),u(b,{label:`单价`,width:`120`},{default:o(({row:e})=>[u(H,{"model-value":a(r).materials.find(t=>t.id===e.product_id)?.cost_price||0,disabled:``,size:`small`,style:{width:`100%`}},null,8,[`model-value`])]),_:1}),u(b,{label:`总价`,width:`120`},{default:o(({row:e})=>[T(D(a(l)((a(r).materials.find(t=>t.id===e.product_id)?.cost_price||0)*(e.quantity||0))),1)]),_:1}),u(b,{label:`备注`,width:`150`},{default:o(({row:e})=>[u(P,{modelValue:e.remark,"onUpdate:modelValue":t=>e.remark=t,size:`small`,placeholder:`备注`},null,8,[`modelValue`,`onUpdate:modelValue`])]),_:1}),u(b,{label:`操作`,width:`80`},{default:o(({$index:e})=>[u(y,{type:`danger`,size:`small`,onClick:t=>J(e)},{default:o(()=>[...i[19]||=[T(`删除`,-1)]]),_:1},8,[`onClick`])]),_:1})]),_:1},8,[`data`]),p(`div`,se,` 订单总金额:`+D(a(l)(Y.value)),1)]),_:1},8,[`modelValue`,`title`]),u(le,{modelValue:V.value,"onUpdate:modelValue":i[9]||=e=>V.value=e,title:`采购到货入库`,width:`700px`,onClosed:ce},{footer:o(()=>[u(y,{onClick:i[8]||=e=>V.value=!1},{default:o(()=>[...i[22]||=[T(`取消`,-1)]]),_:1}),u(y,{type:`primary`,onClick:ne},{default:o(()=>[...i[23]||=[T(`确认入库`,-1)]]),_:1})]),default:o(()=>[u(z,{"label-width":`100px`},{default:o(()=>[u(M,{label:`入库仓库`,required:``},{default:o(()=>[u(m,{modelValue:W.value,"onUpdate:modelValue":i[6]||=e=>W.value=e,placeholder:`请选择仓库`,style:{width:`100%`}},{default:o(()=>[(n(!0),E(v,null,c(a(r).warehouses,e=>(n(),f(d,{key:e.id,label:e.name,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`])]),_:1}),u(M,{label:`备注`},{default:o(()=>[u(P,{modelValue:G.value,"onUpdate:modelValue":i[7]||=e=>G.value=e,placeholder:`入库备注`},null,8,[`modelValue`])]),_:1})]),_:1}),u(S,{data:U.value,border:``,size:`small`},{default:o(()=>[u(b,{prop:`material_label`,label:`物料`}),u(b,{prop:`id`,label:`明细ID`,width:`80`}),u(b,{label:`剩余待入库`,width:`100`},{default:o(({row:e})=>[T(D(e.remaining),1)]),_:1}),u(b,{label:`本次入库`,width:`140`},{default:o(({row:e})=>[u(H,{modelValue:e.receive_quantity,"onUpdate:modelValue":t=>e.receive_quantity=t,min:0,max:e.remaining,size:`small`,style:{width:`100%`}},null,8,[`modelValue`,`onUpdate:modelValue`,`max`])]),_:1})]),_:1},8,[`data`])]),_:1},8,[`modelValue`])])}}}),ce={style:{"margin-bottom":`12px`,display:`flex`,gap:`12px`,"align-items":`center`}},le={style:{display:`flex`,gap:`4px`}},ue={style:{display:`flex`,"justify-content":`space-between`,"align-items":`center`,"margin-bottom":`12px`}},de={style:{display:`flex`,gap:`8px`}},fe={key:1,style:{"padding-left":`8px`}},pe={style:{"text-align":`right`,"margin-top":`8px`,"font-weight":`600`}},me={style:{display:`flex`,"justify-content":`space-between`,"align-items":`center`,"margin-bottom":`12px`}},he={style:{"text-align":`right`,"margin-top":`8px`,"font-weight":`600`}},ge=t({__name:`SalesOrdersTab`,setup(t){let{state:r,formatCurrency:l,formatDateTime:h,formatDate:_,getSalesOrderStatusLabel:S,getDeliveryStatusLabel:C,getPaymentStatusLabel:O,loadProductionOrders:k,loadFinishedProducts:A,loadCustomers:j,loadMaterials:M,loadInventory:N,loadMovements:P}=z(),F=i(!1),I=i(null),L=i({}),R=i([]),B=i(null),V=i(!1),H=i([]),U=i([]);function W(){I.value=null,L.value={customer_id:null,delivery_date:``,remark:``},R.value=[],U.value=[],F.value=!0}function G(){R.value.push({mold_mode:`new`,mold_sku:``,mold_name:``,mold_id:null,quantity:1,unit_price:0,remark:``})}function K(e){R.value.splice(e,1)}let q=m(()=>R.value.reduce((e,t)=>e+(t.unit_price||0)*(t.quantity||0),0));async function J(e){await j(),await A(),await M();try{let t=await b(`/api/sales-orders/${e.id}`);I.value=e,L.value={customer_id:t.customer_id||e.customer_id||null,delivery_date:t.delivery_date||e.delivery_date||``,remark:t.remark||e.remark||``},R.value=(t.items||[]).map(e=>({mold_mode:e.mold_id?`existing`:`new`,mold_sku:e.sku||``,mold_name:e.name||``,mold_id:e.mold_id||null,quantity:e.quantity||1,unit_price:e.unit_price||0,remark:e.remark||``}));try{U.value=((await b(`/api/sales-orders/${e.id}/consume-materials`)).items||[]).map(e=>({material_id:e.material_id,material_name:e.material_name||e.material_sku||``,quantity:e.quantity,unit_price:e.unit_price||0,remark:e.remark||``}))}catch{U.value=[]}}catch(e){x(e,`加载销售订单详情`)}F.value=!0}async function Y(){if(!L.value.customer_id){y(`请选择客户`,`warning`);return}if(!R.value||R.value.length===0){y(`请至少添加一个模具`,`warning`);return}try{let e={customer_id:L.value.customer_id,delivery_date:L.value.delivery_date||null,remark:L.value.remark||``,items:R.value.map(e=>({mold_mode:e.mold_mode,mold_sku:e.mold_sku||``,mold_name:e.mold_name||``,mold_id:e.mold_id||null,quantity:e.quantity,unit_price:e.unit_price||0,remark:e.remark||``}))};I.value?(await b(`/api/sales-orders/${I.value.id}`,{method:`PUT`,body:JSON.stringify(e)}),y(`销售订单更新成功`,`success`)):(await b(`/api/sales-orders`,{method:`POST`,body:JSON.stringify(e)}),y(`销售订单创建成功`,`success`)),F.value=!1,I.value=null,L.value={},R.value=[],U.value=[],k(),A(),N(),P()}catch(e){x(e,`保存销售订单`)}}async function X(e){if(confirm(`确定要删除这个销售订单吗?`))try{await b(`/api/sales-orders/${e}`,{method:`DELETE`}),y(`销售订单已删除`,`success`),k(),N(),P()}catch(e){x(e,`删除销售订单`)}}async function Z(e,t){let n=t===`delivered`?`已交付`:`已收款`;if(confirm(`确认标记为${n}?`))try{await b(`/api/sales-orders/${e}/status`,{method:`PATCH`,body:JSON.stringify({status:t})}),y(`已标记为${n}`,`success`),k(),P()}catch(e){x(e,`更新状态`)}}function ee(){H.value=[],V.value=!0}function te(){H.value.push({material_id:r.materials[0]?.id||null,quantity:1,remark:``})}function ne(e){H.value.splice(e,1)}let re=m(()=>H.value.reduce((e,t)=>e+(r.materials.find(e=>e.id===t.material_id)?.cost_price||0)*(t.quantity||0),0));async function ie(){if(I.value){if(!H.value||H.value.length===0){y(`请至少添加一个消耗物料`,`warning`);return}try{let e={items:H.value.map(e=>({material_id:e.material_id,quantity:e.quantity,unit_price:r.materials.find(t=>t.id===e.material_id)?.cost_price||0,remark:e.remark||``}))};await b(`/api/sales-orders/${I.value.id}/consume-materials`,{method:`POST`,body:JSON.stringify(e)}),y(`物料消耗记录保存成功`,`success`),V.value=!1;try{U.value=((await b(`/api/sales-orders/${I.value.id}/consume-materials`)).items||[]).map(e=>({material_id:e.material_id,material_name:e.material_name||e.material_sku||``,quantity:e.quantity,unit_price:e.unit_price||0,remark:e.remark||``}))}catch{U.value=[]}N(),P()}catch(e){x(e,`保存物料消耗`)}}}function ae(){F.value=!1,I.value=null,L.value={},R.value=[],U.value=[]}function oe(){V.value=!1,H.value=[]}async function Q(){await j(),await M(),await A(),await k()}return d(()=>{Q()}),(t,i)=>{let d=g(`el-option`),m=g(`el-select`),y=g(`el-button`),b=g(`el-table-column`),x=g(`el-tag`),S=g(`el-dropdown-item`),A=g(`el-dropdown-menu`),j=g(`el-dropdown`),M=g(`el-table`),N=g(`el-empty`),P=g(`el-form-item`),z=g(`el-date-picker`),Q=g(`el-input`),se=g(`el-form`),$=g(`el-input-number`),ge=g(`el-divider`),_e=g(`el-dialog`),ve=e(`loading`);return n(),E(`div`,null,[p(`div`,ce,[u(m,{modelValue:B.value,"onUpdate:modelValue":i[0]||=e=>B.value=e,placeholder:`选择仓库`,style:{width:`200px`},clearable:``},{default:o(()=>[(n(!0),E(v,null,c(a(r).warehouses,e=>(n(),f(d,{key:e.id,label:e.name,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`]),u(y,{onClick:a(k)},{default:o(()=>[...i[8]||=[T(`刷新`,-1)]]),_:1},8,[`onClick`]),u(y,{type:`primary`,onClick:W},{default:o(()=>[...i[9]||=[T(`新增销售订单`,-1)]]),_:1})]),s((n(),f(M,{data:a(r).productionOrders,stripe:``},{default:o(()=>[u(b,{prop:`order_no`,label:`销售单`}),u(b,{prop:`customer_name`,label:`客户`}),u(b,{label:`订单金额`},{default:o(({row:e})=>[T(D(a(l)(e.total_amount)),1)]),_:1}),u(b,{label:`交付日期`},{default:o(({row:e})=>[T(D(a(_)(e.delivery_date)),1)]),_:1}),u(b,{label:`订单创建`},{default:o(({row:e})=>[T(D(a(h)(e.created_at)),1)]),_:1}),u(b,{label:`实际交付`},{default:o(({row:e})=>[T(D(e.delivered_at?a(h)(e.delivered_at):`-`),1)]),_:1}),u(b,{label:`实际收款`},{default:o(({row:e})=>[T(D(e.paid_at?a(h)(e.paid_at):`-`),1)]),_:1}),u(b,{label:`订单状态`,width:`160`},{default:o(({row:e})=>[p(`div`,le,[u(x,{type:e.delivery_status===`delivered`?`warning`:e.delivery_status===`cancelled`?`danger`:`info`,size:`small`},{default:o(()=>[T(D(a(C)(e.delivery_status)),1)]),_:2},1032,[`type`]),u(x,{type:e.payment_status===`paid`?`success`:`info`,size:`small`},{default:o(()=>[T(D(a(O)(e.payment_status)),1)]),_:2},1032,[`type`])])]),_:1}),u(b,{label:`操作`,width:`240`},{default:o(({row:e})=>[e.delivery_status!==`cancelled`&&e.payment_status!==`paid`?(n(),f(j,{key:0,style:{"margin-right":`8px`}},{dropdown:o(()=>[u(A,null,{default:o(()=>[e.delivery_status===`manufacturing`?(n(),f(S,{key:0,onClick:t=>Z(e.id,`delivered`)},{default:o(()=>[...i[11]||=[T(`已交付`,-1)]]),_:1},8,[`onClick`])):w(``,!0),e.delivery_status===`delivered`&&e.payment_status!==`paid`?(n(),f(S,{key:1,onClick:t=>Z(e.id,`paid`)},{default:o(()=>[...i[12]||=[T(`已收款`,-1)]]),_:1},8,[`onClick`])):w(``,!0),e.payment_status===`paid`?w(``,!0):(n(),f(S,{key:2,onClick:t=>Z(e.id,`cancelled`),style:{color:`#f56c6c`}},{default:o(()=>[...i[13]||=[T(`作废`,-1)]]),_:1},8,[`onClick`]))]),_:2},1024)]),default:o(()=>[u(y,{size:`small`},{default:o(()=>[...i[10]||=[T(`状态 ▾`,-1)]]),_:1})]),_:2},1024)):w(``,!0),u(y,{type:`primary`,size:`small`,disabled:e.payment_status===`paid`||e.delivery_status===`cancelled`,onClick:t=>J(e)},{default:o(()=>[...i[14]||=[T(` 编辑 `,-1)]]),_:1},8,[`disabled`,`onClick`]),u(y,{type:`danger`,size:`small`,onClick:t=>X(e.id)},{default:o(()=>[...i[15]||=[T(` 删除 `,-1)]]),_:1},8,[`onClick`])]),_:1})]),_:1},8,[`data`])),[[ve,a(r).loading]]),!a(r).loading&&a(r).productionOrders.length===0?(n(),f(N,{key:0,description:`暂无销售订单`})):w(``,!0),u(_e,{modelValue:F.value,"onUpdate:modelValue":i[5]||=e=>F.value=e,title:(I.value?`编辑`:`新增`)+`销售订单`,width:`900px`,onClosed:ae},{footer:o(()=>[u(y,{onClick:i[4]||=e=>F.value=!1},{default:o(()=>[...i[21]||=[T(`取消`,-1)]]),_:1}),u(y,{type:`primary`,onClick:Y},{default:o(()=>[...i[22]||=[T(`保存`,-1)]]),_:1})]),default:o(()=>[u(se,{"label-width":`100px`},{default:o(()=>[u(P,{label:`客户`,required:``},{default:o(()=>[u(m,{modelValue:L.value.customer_id,"onUpdate:modelValue":i[1]||=e=>L.value.customer_id=e,placeholder:`请选择客户`,style:{width:`100%`}},{default:o(()=>[(n(!0),E(v,null,c(a(r).customers,e=>(n(),f(d,{key:e.id,label:e.name,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`])]),_:1}),u(P,{label:`交付日期`},{default:o(()=>[u(z,{modelValue:L.value.delivery_date,"onUpdate:modelValue":i[2]||=e=>L.value.delivery_date=e,type:`date`,placeholder:`选择日期`,style:{width:`100%`},"value-format":`YYYY-MM-DD`},null,8,[`modelValue`])]),_:1}),u(P,{label:`备注`},{default:o(()=>[u(Q,{modelValue:L.value.remark,"onUpdate:modelValue":i[3]||=e=>L.value.remark=e,placeholder:`备注信息`},null,8,[`modelValue`])]),_:1})]),_:1}),p(`div`,ue,[i[18]||=p(`span`,{style:{"font-weight":`600`}},`模具明细`,-1),p(`div`,de,[I.value?(n(),f(y,{key:0,type:`warning`,size:`small`,onClick:ee},{default:o(()=>[...i[16]||=[T(`+ 消耗物料`,-1)]]),_:1})):w(``,!0),u(y,{type:`primary`,size:`small`,onClick:G},{default:o(()=>[...i[17]||=[T(`+ 添加模具`,-1)]]),_:1})])]),u(M,{data:R.value,border:``,size:`small`},{default:o(()=>[u(b,{label:`模式`,width:`80`},{default:o(({row:e})=>[u(m,{modelValue:e.mold_mode,"onUpdate:modelValue":t=>e.mold_mode=t,size:`small`,style:{width:`100%`}},{default:o(()=>[u(d,{label:`新模`,value:`new`}),u(d,{label:`改模`,value:`existing`})]),_:1},8,[`modelValue`,`onUpdate:modelValue`])]),_:1}),u(b,{label:`模具SKU`,"min-width":`120`},{default:o(({row:e})=>[e.mold_mode===`new`?(n(),f(Q,{key:0,modelValue:e.mold_sku,"onUpdate:modelValue":t=>e.mold_sku=t,size:`small`,placeholder:`模具SKU`},null,8,[`modelValue`,`onUpdate:modelValue`])):(n(),f(m,{key:1,modelValue:e.mold_id,"onUpdate:modelValue":t=>e.mold_id=t,placeholder:`选择模具`,size:`small`,style:{width:`100%`}},{default:o(()=>[(n(!0),E(v,null,c(a(r).finishedProducts,e=>(n(),f(d,{key:e.id,label:`${e.sku} - ${e.name}`,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`onUpdate:modelValue`]))]),_:1}),u(b,{label:`模具名称`,"min-width":`120`},{default:o(({row:e})=>[e.mold_mode===`new`?(n(),f(Q,{key:0,modelValue:e.mold_name,"onUpdate:modelValue":t=>e.mold_name=t,size:`small`,placeholder:`模具名称`},null,8,[`modelValue`,`onUpdate:modelValue`])):(n(),E(`span`,fe,D(a(r).finishedProducts.find(t=>t.id===e.mold_id)?.name||`-`),1))]),_:1}),u(b,{label:`数量`,width:`100`},{default:o(({row:e})=>[u($,{modelValue:e.quantity,"onUpdate:modelValue":t=>e.quantity=t,min:1,size:`small`,style:{width:`100%`}},null,8,[`modelValue`,`onUpdate:modelValue`])]),_:1}),u(b,{label:`单价`,width:`120`},{default:o(({row:e})=>[u($,{modelValue:e.unit_price,"onUpdate:modelValue":t=>e.unit_price=t,min:0,precision:2,step:.01,size:`small`,style:{width:`100%`}},null,8,[`modelValue`,`onUpdate:modelValue`])]),_:1}),u(b,{label:`备注`,width:`120`},{default:o(({row:e})=>[u(Q,{modelValue:e.remark,"onUpdate:modelValue":t=>e.remark=t,size:`small`,placeholder:`备注`},null,8,[`modelValue`,`onUpdate:modelValue`])]),_:1}),u(b,{label:`操作`,width:`80`},{default:o(({$index:e})=>[u(y,{type:`danger`,size:`small`,onClick:t=>K(e)},{default:o(()=>[...i[19]||=[T(`删除`,-1)]]),_:1},8,[`onClick`])]),_:1})]),_:1},8,[`data`]),p(`div`,pe,` 订单总金额:`+D(a(l)(q.value)),1),I.value&&U.value.length>0?(n(),E(v,{key:0},[u(ge,{"content-position":`left`},{default:o(()=>[...i[20]||=[T(`已消耗物料`,-1)]]),_:1}),u(M,{data:U.value,border:``,size:`small`},{default:o(()=>[u(b,{label:`物料`},{default:o(({row:e})=>[T(D(e.material_name),1)]),_:1}),u(b,{label:`数量`},{default:o(({row:e})=>[T(D(e.quantity),1)]),_:1}),u(b,{label:`单价`},{default:o(({row:e})=>[T(D(a(l)(e.unit_price)),1)]),_:1}),u(b,{label:`备注`},{default:o(({row:e})=>[T(D(e.remark||`-`),1)]),_:1})]),_:1},8,[`data`])],64)):w(``,!0)]),_:1},8,[`modelValue`,`title`]),u(_e,{modelValue:V.value,"onUpdate:modelValue":i[7]||=e=>V.value=e,title:`物料消耗`,width:`800px`,onClosed:oe},{footer:o(()=>[u(y,{onClick:i[6]||=e=>V.value=!1},{default:o(()=>[...i[26]||=[T(`取消`,-1)]]),_:1}),u(y,{type:`primary`,onClick:ie},{default:o(()=>[...i[27]||=[T(`保存消耗`,-1)]]),_:1})]),default:o(()=>[p(`div`,me,[i[24]||=p(`span`,{style:{"font-weight":`600`}},`消耗物料明细`,-1),u(y,{type:`primary`,size:`small`,onClick:te},{default:o(()=>[...i[23]||=[T(`+ 添加物料`,-1)]]),_:1})]),u(M,{data:H.value,border:``,size:`small`},{default:o(()=>[u(b,{label:`物料`,"min-width":`200`},{default:o(({row:e})=>[u(m,{modelValue:e.material_id,"onUpdate:modelValue":t=>e.material_id=t,placeholder:`请选择物料`,style:{width:`100%`}},{default:o(()=>[(n(!0),E(v,null,c(a(r).materials,e=>(n(),f(d,{key:e.id,label:`${e.sku} - ${e.name}`,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`onUpdate:modelValue`])]),_:1}),u(b,{label:`数量`,width:`120`},{default:o(({row:e})=>[u($,{modelValue:e.quantity,"onUpdate:modelValue":t=>e.quantity=t,min:1e-4,step:1e-4,size:`small`,style:{width:`100%`}},null,8,[`modelValue`,`onUpdate:modelValue`])]),_:1}),u(b,{label:`单价`,width:`120`},{default:o(({row:e})=>[u($,{"model-value":a(r).materials.find(t=>t.id===e.material_id)?.cost_price||0,disabled:``,size:`small`,style:{width:`100%`}},null,8,[`model-value`])]),_:1}),u(b,{label:`总价`,width:`120`},{default:o(({row:e})=>[T(D(a(l)((a(r).materials.find(t=>t.id===e.material_id)?.cost_price||0)*(e.quantity||0))),1)]),_:1}),u(b,{label:`备注`,width:`150`},{default:o(({row:e})=>[u(Q,{modelValue:e.remark,"onUpdate:modelValue":t=>e.remark=t,size:`small`,placeholder:`备注`},null,8,[`modelValue`,`onUpdate:modelValue`])]),_:1}),u(b,{label:`操作`,width:`80`},{default:o(({$index:e})=>[u(y,{type:`danger`,size:`small`,onClick:t=>ne(e)},{default:o(()=>[...i[25]||=[T(`删除`,-1)]]),_:1},8,[`onClick`])]),_:1})]),_:1},8,[`data`]),p(`div`,he,` 消耗总金额:`+D(a(l)(re.value)),1)]),_:1},8,[`modelValue`])])}}}),_e={class:`suppliers-tab`},ve={class:`table-header`},ye=C(t({__name:`SuppliersTab`,setup(t){let{state:r,loadSuppliers:c}=z(),m=i(!1),h=i(null),_=l({name:``,contact_person:``,phone:``,email:``,address:``});function v(){h.value=null,_.name=``,_.contact_person=``,_.phone=``,_.email=``,_.address=``,m.value=!0}function S(e){h.value=e,_.name=e.name??``,_.contact_person=e.contact_person??``,_.phone=e.phone??``,_.email=e.email??``,_.address=e.address??``,m.value=!0}async function C(){try{let e={name:_.name,contact_person:_.contact_person||null,phone:_.phone||null,email:_.email||null,address:_.address||null};h.value?(await b(`/api/suppliers/${h.value.id}`,{method:`PUT`,body:JSON.stringify(e)}),y(`供应商更新成功`,`success`)):(await b(`/api/suppliers`,{method:`POST`,body:JSON.stringify(e)}),y(`供应商已创建`,`success`)),m.value=!1,c()}catch(e){x(e,`保存供应商`)}}async function w(e){if(confirm(`确定要删除这个供应商吗?`))try{await b(`/api/suppliers/${e}`,{method:`DELETE`}),y(`供应商已删除`,`success`),c()}catch(e){x(e,`删除供应商`)}}return d(()=>{c()}),(t,i)=>{let c=g(`el-button`),l=g(`el-table-column`),d=g(`el-table`),y=g(`el-input`),b=g(`el-form-item`),x=g(`el-form`),O=g(`el-dialog`),k=e(`loading`);return n(),E(`div`,_e,[p(`div`,ve,[u(c,{type:`primary`,onClick:v},{default:o(()=>[...i[7]||=[T(`+ 新增供应商`,-1)]]),_:1})]),s((n(),f(d,{data:a(r).suppliers,style:{width:`100%`},"empty-text":`暂无供应商数据`},{default:o(()=>[u(l,{prop:`code`,label:`编码`}),u(l,{prop:`name`,label:`名称`}),u(l,{prop:`contact_person`,label:`联系人`},{default:o(({row:e})=>[T(D(e.contact_person||`-`),1)]),_:1}),u(l,{prop:`phone`,label:`电话`},{default:o(({row:e})=>[T(D(e.phone||`-`),1)]),_:1}),u(l,{prop:`email`,label:`邮箱`},{default:o(({row:e})=>[T(D(e.email||`-`),1)]),_:1}),u(l,{label:`操作`,width:`180`},{default:o(({row:e})=>[u(c,{size:`small`,onClick:t=>S(e)},{default:o(()=>[...i[8]||=[T(`编辑`,-1)]]),_:1},8,[`onClick`]),u(c,{size:`small`,type:`danger`,onClick:t=>w(e.id)},{default:o(()=>[...i[9]||=[T(`删除`,-1)]]),_:1},8,[`onClick`])]),_:1})]),_:1},8,[`data`])),[[k,a(r).loading]]),u(O,{modelValue:m.value,"onUpdate:modelValue":i[6]||=e=>m.value=e,title:h.value?`编辑供应商`:`新增供应商`,width:`520px`,"close-on-click-modal":!1},{footer:o(()=>[u(c,{onClick:i[5]||=e=>m.value=!1},{default:o(()=>[...i[10]||=[T(`取消`,-1)]]),_:1}),u(c,{type:`primary`,onClick:C},{default:o(()=>[...i[11]||=[T(`保存`,-1)]]),_:1})]),default:o(()=>[u(x,{model:_,"label-width":`80px`},{default:o(()=>[u(b,{label:`名称`,required:``},{default:o(()=>[u(y,{modelValue:_.name,"onUpdate:modelValue":i[0]||=e=>_.name=e,placeholder:`请输入供应商名称`},null,8,[`modelValue`])]),_:1}),u(b,{label:`联系人`},{default:o(()=>[u(y,{modelValue:_.contact_person,"onUpdate:modelValue":i[1]||=e=>_.contact_person=e,placeholder:`请输入联系人`},null,8,[`modelValue`])]),_:1}),u(b,{label:`电话`},{default:o(()=>[u(y,{modelValue:_.phone,"onUpdate:modelValue":i[2]||=e=>_.phone=e,placeholder:`请输入电话`},null,8,[`modelValue`])]),_:1}),u(b,{label:`邮箱`},{default:o(()=>[u(y,{modelValue:_.email,"onUpdate:modelValue":i[3]||=e=>_.email=e,type:`email`,placeholder:`请输入邮箱`},null,8,[`modelValue`])]),_:1}),u(b,{label:`地址`},{default:o(()=>[u(y,{modelValue:_.address,"onUpdate:modelValue":i[4]||=e=>_.address=e,placeholder:`请输入地址`},null,8,[`modelValue`])]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`,`title`])])}}}),[[`__scopeId`,`data-v-9c9827fc`]]),be={class:`customers-tab`},xe={class:`table-header`},Se=C(t({__name:`CustomersTab`,setup(t){let{state:r,loadCustomers:c}=z(),m=i(!1),h=i(null),_=l({name:``,contact_person:``,phone:``,email:``,address:``});function v(){h.value=null,_.name=``,_.contact_person=``,_.phone=``,_.email=``,_.address=``,m.value=!0}function S(e){h.value=e,_.name=e.name??``,_.contact_person=e.contact_person??``,_.phone=e.phone??``,_.email=e.email??``,_.address=e.address??``,m.value=!0}async function C(){try{let e={name:_.name,contact_person:_.contact_person||null,phone:_.phone||null,email:_.email||null,address:_.address||null};h.value?(await b(`/api/customers/${h.value.id}`,{method:`PUT`,body:JSON.stringify(e)}),y(`客户更新成功`,`success`)):(await b(`/api/customers`,{method:`POST`,body:JSON.stringify(e)}),y(`客户已创建`,`success`)),m.value=!1,c()}catch(e){x(e,`保存客户`)}}async function w(e){if(confirm(`确定要删除这个客户吗?`))try{await b(`/api/customers/${e}`,{method:`DELETE`}),y(`客户已删除`,`success`),c()}catch(e){x(e,`删除客户`)}}return d(()=>{c()}),(t,i)=>{let c=g(`el-button`),l=g(`el-table-column`),d=g(`el-table`),y=g(`el-input`),b=g(`el-form-item`),x=g(`el-form`),O=g(`el-dialog`),k=e(`loading`);return n(),E(`div`,be,[p(`div`,xe,[u(c,{type:`primary`,onClick:v},{default:o(()=>[...i[7]||=[T(`+ 新增客户`,-1)]]),_:1})]),s((n(),f(d,{data:a(r).customers,style:{width:`100%`},"empty-text":`暂无客户数据`},{default:o(()=>[u(l,{prop:`code`,label:`编码`}),u(l,{prop:`name`,label:`名称`}),u(l,{prop:`contact_person`,label:`联系人`},{default:o(({row:e})=>[T(D(e.contact_person||`-`),1)]),_:1}),u(l,{prop:`phone`,label:`电话`},{default:o(({row:e})=>[T(D(e.phone||`-`),1)]),_:1}),u(l,{prop:`email`,label:`邮箱`},{default:o(({row:e})=>[T(D(e.email||`-`),1)]),_:1}),u(l,{label:`操作`,width:`180`},{default:o(({row:e})=>[u(c,{size:`small`,onClick:t=>S(e)},{default:o(()=>[...i[8]||=[T(`编辑`,-1)]]),_:1},8,[`onClick`]),u(c,{size:`small`,type:`danger`,onClick:t=>w(e.id)},{default:o(()=>[...i[9]||=[T(`删除`,-1)]]),_:1},8,[`onClick`])]),_:1})]),_:1},8,[`data`])),[[k,a(r).loading]]),u(O,{modelValue:m.value,"onUpdate:modelValue":i[6]||=e=>m.value=e,title:h.value?`编辑客户`:`新增客户`,width:`520px`,"close-on-click-modal":!1},{footer:o(()=>[u(c,{onClick:i[5]||=e=>m.value=!1},{default:o(()=>[...i[10]||=[T(`取消`,-1)]]),_:1}),u(c,{type:`primary`,onClick:C},{default:o(()=>[...i[11]||=[T(`保存`,-1)]]),_:1})]),default:o(()=>[u(x,{model:_,"label-width":`80px`},{default:o(()=>[u(b,{label:`名称`,required:``},{default:o(()=>[u(y,{modelValue:_.name,"onUpdate:modelValue":i[0]||=e=>_.name=e,placeholder:`请输入客户名称`},null,8,[`modelValue`])]),_:1}),u(b,{label:`联系人`},{default:o(()=>[u(y,{modelValue:_.contact_person,"onUpdate:modelValue":i[1]||=e=>_.contact_person=e,placeholder:`请输入联系人`},null,8,[`modelValue`])]),_:1}),u(b,{label:`电话`},{default:o(()=>[u(y,{modelValue:_.phone,"onUpdate:modelValue":i[2]||=e=>_.phone=e,placeholder:`请输入电话`},null,8,[`modelValue`])]),_:1}),u(b,{label:`邮箱`},{default:o(()=>[u(y,{modelValue:_.email,"onUpdate:modelValue":i[3]||=e=>_.email=e,type:`email`,placeholder:`请输入邮箱`},null,8,[`modelValue`])]),_:1}),u(b,{label:`地址`},{default:o(()=>[u(y,{modelValue:_.address,"onUpdate:modelValue":i[4]||=e=>_.address=e,placeholder:`请输入地址`},null,8,[`modelValue`])]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`,`title`])])}}}),[[`__scopeId`,`data-v-f6d9461f`]]),Ce={style:{"margin-bottom":`16px`,display:`flex`,gap:`12px`,"align-items":`center`,"flex-wrap":`wrap`}},we={style:{"text-align":`center`}},Te={style:{"font-size":`24px`,"font-weight":`700`,color:`#409eff`}},Ee={style:{"text-align":`center`}},De={style:{"font-size":`24px`,"font-weight":`700`,color:`#e6a23c`}},Oe={style:{"text-align":`center`}},ke={style:{"font-size":`24px`,"font-weight":`700`,color:`#67c23a`}},Ae={style:{"text-align":`center`}},je={style:{"font-size":`24px`,"font-weight":`700`,color:`#f56c6c`}},Me=t({__name:`FinanceTab`,setup(t){let{state:r,formatCurrency:l,formatDateTime:h,formatDate:_,loadFinance:y,refreshFinanceByPeriod:b}=z(),x=i(r.financePeriod.year),S=i(r.financePeriod.quarter),C=[{label:`全年`,value:``},{label:`Q1`,value:`1`},{label:`Q2`,value:`2`},{label:`Q3`,value:`3`},{label:`Q4`,value:`4`}],O=m(()=>S.value?`${x.value}年 Q${S.value}`:`${x.value}年 全年`);function k(){r.financePeriod.year=x.value,r.financePeriod.quarter=S.value,y()}d(()=>{k()});let A=m(()=>r.financeSummary?.total_receivable??0),j=m(()=>r.financeSummary?.total_payable??0),M=m(()=>r.financeSummary?.period_received??0),N=m(()=>r.financeSummary?.period_paid??0);function P(e){return e===`receipt`?`收款`:`付款`}function F(e){return e===`receipt`?`success`:`warning`}function I(e){return{confirmed:`已确认`,pending:`待确认`}[e]||e}return(t,i)=>{let d=g(`el-input-number`),m=g(`el-option`),h=g(`el-select`),y=g(`el-button`),b=g(`el-tag`),L=g(`el-card`),R=g(`el-col`),z=g(`el-row`),B=g(`el-table-column`),V=g(`el-table`),H=g(`el-empty`),U=e(`loading`);return n(),E(`div`,null,[p(`div`,Ce,[i[3]||=p(`span`,{style:{"font-weight":`600`}},`统计周期:`,-1),u(d,{modelValue:x.value,"onUpdate:modelValue":i[0]||=e=>x.value=e,min:2020,max:2099,style:{width:`120px`}},null,8,[`modelValue`]),i[4]||=p(`span`,null,`年`,-1),u(h,{modelValue:S.value,"onUpdate:modelValue":i[1]||=e=>S.value=e,placeholder:`选择季度`,style:{width:`120px`}},{default:o(()=>[(n(),E(v,null,c(C,e=>u(m,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`]),u(y,{type:`primary`,onClick:k},{default:o(()=>[...i[2]||=[T(`刷新统计`,-1)]]),_:1}),u(b,{type:`info`,size:`large`},{default:o(()=>[T(D(O.value),1)]),_:1})]),u(z,{gutter:16,style:{"margin-bottom":`16px`}},{default:o(()=>[u(R,{span:6},{default:o(()=>[u(L,{shadow:`hover`},{default:o(()=>[p(`div`,we,[i[5]||=p(`div`,{style:{color:`#909399`,"font-size":`14px`,"margin-bottom":`8px`}},`应收总额`,-1),p(`div`,Te,D(a(l)(A.value)),1)])]),_:1})]),_:1}),u(R,{span:6},{default:o(()=>[u(L,{shadow:`hover`},{default:o(()=>[p(`div`,Ee,[i[6]||=p(`div`,{style:{color:`#909399`,"font-size":`14px`,"margin-bottom":`8px`}},`应付总额`,-1),p(`div`,De,D(a(l)(j.value)),1)])]),_:1})]),_:1}),u(R,{span:6},{default:o(()=>[u(L,{shadow:`hover`},{default:o(()=>[p(`div`,Oe,[i[7]||=p(`div`,{style:{color:`#909399`,"font-size":`14px`,"margin-bottom":`8px`}},`周期收款`,-1),p(`div`,ke,D(a(l)(M.value)),1)])]),_:1})]),_:1}),u(R,{span:6},{default:o(()=>[u(L,{shadow:`hover`},{default:o(()=>[p(`div`,Ae,[i[8]||=p(`div`,{style:{color:`#909399`,"font-size":`14px`,"margin-bottom":`8px`}},`周期付款`,-1),p(`div`,je,D(a(l)(N.value)),1)])]),_:1})]),_:1})]),_:1}),u(L,{style:{"margin-bottom":`16px`}},{header:o(()=>[...i[9]||=[p(`span`,{style:{"font-weight":`600`}},`客户账款(周期)`,-1)]]),default:o(()=>[s((n(),f(V,{data:a(r).customerFinanceStatement,stripe:``,size:`small`},{default:o(()=>[u(B,{prop:`partner_name`,label:`客户`}),u(B,{prop:`order_count`,label:`订单数`}),u(B,{prop:`transaction_count`,label:`流水数`}),u(B,{label:`订单金额`},{default:o(({row:e})=>[T(D(a(l)(e.order_amount)),1)]),_:1}),u(B,{label:`订单已收`},{default:o(({row:e})=>[T(D(a(l)(e.order_received)),1)]),_:1}),u(B,{label:`实收流水`},{default:o(({row:e})=>[T(D(a(l)(e.transaction_received)),1)]),_:1}),u(B,{label:`应收余额`},{default:o(({row:e})=>[T(D(a(l)(e.receivable_balance)),1)]),_:1})]),_:1},8,[`data`])),[[U,a(r).loading]]),!a(r).loading&&a(r).customerFinanceStatement.length===0?(n(),f(H,{key:0,description:`暂无数据`})):w(``,!0)]),_:1}),u(L,{style:{"margin-bottom":`16px`}},{header:o(()=>[...i[10]||=[p(`span`,{style:{"font-weight":`600`}},`供应商账款(周期)`,-1)]]),default:o(()=>[s((n(),f(V,{data:a(r).supplierFinanceStatement,stripe:``,size:`small`},{default:o(()=>[u(B,{prop:`partner_name`,label:`供应商`}),u(B,{prop:`order_count`,label:`订单数`}),u(B,{prop:`transaction_count`,label:`流水数`}),u(B,{label:`订单金额`},{default:o(({row:e})=>[T(D(a(l)(e.order_amount)),1)]),_:1}),u(B,{label:`订单已付`},{default:o(({row:e})=>[T(D(a(l)(e.order_paid)),1)]),_:1}),u(B,{label:`实付流水`},{default:o(({row:e})=>[T(D(a(l)(e.transaction_paid)),1)]),_:1}),u(B,{label:`应付余额`},{default:o(({row:e})=>[T(D(a(l)(e.payable_balance)),1)]),_:1})]),_:1},8,[`data`])),[[U,a(r).loading]]),!a(r).loading&&a(r).supplierFinanceStatement.length===0?(n(),f(H,{key:0,description:`暂无数据`})):w(``,!0)]),_:1}),u(L,{style:{"margin-bottom":`16px`}},{header:o(()=>[...i[11]||=[p(`span`,{style:{"font-weight":`600`}},`客户-商品追溯(周期)`,-1)]]),default:o(()=>[s((n(),f(V,{data:a(r).customerProductStatement,stripe:``,size:`small`},{default:o(()=>[u(B,{prop:`partner_name`,label:`客户`}),u(B,{prop:`product_sku`,label:`SKU`}),u(B,{prop:`product_name`,label:`商品`}),u(B,{prop:`order_count`,label:`订单数`}),u(B,{prop:`quantity`,label:`数量`}),u(B,{label:`订单金额`},{default:o(({row:e})=>[T(D(a(l)(e.order_amount)),1)]),_:1}),u(B,{label:`已结款`},{default:o(({row:e})=>[T(D(a(l)(e.settled_amount)),1)]),_:1}),u(B,{label:`未结款`},{default:o(({row:e})=>[T(D(a(l)(e.unsettled_amount)),1)]),_:1})]),_:1},8,[`data`])),[[U,a(r).loading]]),!a(r).loading&&a(r).customerProductStatement.length===0?(n(),f(H,{key:0,description:`暂无数据`})):w(``,!0)]),_:1}),u(L,{style:{"margin-bottom":`16px`}},{header:o(()=>[...i[12]||=[p(`span`,{style:{"font-weight":`600`}},`供应商-商品追溯(周期)`,-1)]]),default:o(()=>[s((n(),f(V,{data:a(r).supplierProductStatement,stripe:``,size:`small`},{default:o(()=>[u(B,{prop:`partner_name`,label:`供应商`}),u(B,{prop:`product_sku`,label:`SKU`}),u(B,{prop:`product_name`,label:`商品`}),u(B,{prop:`order_count`,label:`订单数`}),u(B,{prop:`quantity`,label:`数量`}),u(B,{label:`订单金额`},{default:o(({row:e})=>[T(D(a(l)(e.order_amount)),1)]),_:1}),u(B,{label:`已结款`},{default:o(({row:e})=>[T(D(a(l)(e.settled_amount)),1)]),_:1}),u(B,{label:`未结款`},{default:o(({row:e})=>[T(D(a(l)(e.unsettled_amount)),1)]),_:1})]),_:1},8,[`data`])),[[U,a(r).loading]]),!a(r).loading&&a(r).supplierProductStatement.length===0?(n(),f(H,{key:0,description:`暂无数据`})):w(``,!0)]),_:1}),u(L,null,{header:o(()=>[...i[13]||=[p(`span`,{style:{"font-weight":`600`}},`最近财务流水`,-1)]]),default:o(()=>[s((n(),f(V,{data:a(r).financeTransactions,stripe:``,size:`small`},{default:o(()=>[u(B,{prop:`order_no`,label:`单号`}),u(B,{label:`类型`},{default:o(({row:e})=>[u(b,{type:F(e.type),size:`small`},{default:o(()=>[T(D(P(e.type)),1)]),_:2},1032,[`type`])]),_:1}),u(B,{prop:`partner_name`,label:`往来方`}),u(B,{label:`金额`},{default:o(({row:e})=>[T(D(a(l)(e.amount)),1)]),_:1}),u(B,{label:`状态`},{default:o(({row:e})=>[u(b,{type:e.status===`confirmed`?`success`:`warning`,size:`small`},{default:o(()=>[T(D(I(e.status)),1)]),_:2},1032,[`type`])]),_:1}),u(B,{label:`日期`},{default:o(({row:e})=>[T(D(a(_)(e.transaction_date)),1)]),_:1})]),_:1},8,[`data`])),[[U,a(r).loading]]),!a(r).loading&&a(r).financeTransactions.length===0?(n(),f(H,{key:0,description:`暂无数据`})):w(``,!0)]),_:1})])}}}),Ne={class:`movements-tab`},Pe=C(t({__name:`MovementsTab`,setup(t){let{state:r,loadMovements:i,getMovementTypeLabel:c,getMovementBadgeClass:l,formatDateTime:p}=z(),m=e=>{let t=l(e);return t===`badge-success`?`success`:t===`badge-error`?`danger`:t===`badge-warning`?`warning`:`info`};return d(()=>{i()}),(t,i)=>{let l=g(`el-table-column`),d=g(`el-tag`),h=g(`el-table`),_=e(`loading`);return n(),E(`div`,Ne,[s((n(),f(h,{data:a(r).movements,style:{width:`100%`},"empty-text":`暂无库存变动记录`},{default:o(()=>[u(l,{label:`物料`},{default:o(({row:e})=>[T(D(e.product_name)+D(e.product_sku?` (`+e.product_sku+`)`:``),1)]),_:1}),u(l,{label:`类型`,width:`140`},{default:o(({row:e})=>[u(d,{type:m(e.movement_type),size:`small`},{default:o(()=>[T(D(a(c)(e.movement_type)),1)]),_:2},1032,[`type`])]),_:1}),u(l,{prop:`quantity`,label:`数量`,width:`80`}),u(l,{prop:`before_quantity`,label:`变动前`,width:`80`}),u(l,{prop:`after_quantity`,label:`变动后`,width:`80`}),u(l,{label:`时间`,width:`180`},{default:o(({row:e})=>[T(D(a(p)(e.created_at)),1)]),_:1})]),_:1},8,[`data`])),[[_,a(r).loading]])])}}}),[[`__scopeId`,`data-v-d9f61c89`]]),Fe={class:`page-container`},Ie={class:`inventory-layout`},Le={class:`inventory-sidebar-wrapper`},Re={class:`inventory-content`},ze={class:`inventory-content-header`},Be={class:`inventory-breadcrumb`},Ve={class:`current`},He=C(t({__name:`InventoryView`,setup(t){let i=S(),o=_(),{state:c,activeMenu:l,checkBackendHealth:m,loadDashboard:h,destroyPickers:v}=z();return d(()=>{if(!i.user){o.push(`/login`);return}m().then(()=>{if(!c.backendDbReady){y(c.backendDbMessage||`业务服务不可用`,`warning`);return}h()})}),r(()=>{v()}),(t,r)=>{let i=g(`el-alert`),o=e(`loading`);return n(),E(`div`,Fe,[r[1]||=p(`div`,{class:`page-header`},[p(`h1`,null,`进销存管理`),p(`p`,null,`库存、采购、销售管理`)],-1),p(`div`,Ie,[p(`aside`,Le,[u(V)]),p(`section`,Re,[p(`div`,ze,[p(`div`,Be,[p(`span`,null,D(a(l)?.group?.title||`进销存`),1),r[0]||=p(`span`,{class:`sep`},`/`,-1),p(`span`,Ve,D(a(l)?.item?.label||``),1)])]),a(c).backendDbReady?w(``,!0):(n(),f(i,{key:0,title:a(c).backendDbMessage,type:`warning`,"show-icon":``,closable:!1,style:{"margin-bottom":`16px`}},null,8,[`title`])),s((n(),E(`div`,null,[a(c).activeTab===`dashboard`?(n(),f(K,{key:0})):a(c).activeTab===`products`?(n(),f(Y,{key:1})):a(c).activeTab===`materials`?(n(),f(te,{key:2})):a(c).activeTab===`inventory`?(n(),f(ie,{key:3})):a(c).activeTab===`purchases`?(n(),f($,{key:4})):a(c).activeTab===`sales_orders`?(n(),f(ge,{key:5})):a(c).activeTab===`suppliers`?(n(),f(ye,{key:6})):a(c).activeTab===`customers`?(n(),f(Se,{key:7})):a(c).activeTab===`finance`?(n(),f(Me,{key:8})):a(c).activeTab===`movements`?(n(),f(Pe,{key:9})):w(``,!0)])),[[o,a(c).loading]])])])])}}}),[[`__scopeId`,`data-v-c02cf723`]]);export{He as default}; \ No newline at end of file diff --git a/static/assets/LoginView-C7tagjuV.js b/static/assets/LoginView-DsNPOtT0.js similarity index 92% rename from static/assets/LoginView-C7tagjuV.js rename to static/assets/LoginView-DsNPOtT0.js index 7c392c9..0ba9eb3 100644 --- a/static/assets/LoginView-C7tagjuV.js +++ b/static/assets/LoginView-DsNPOtT0.js @@ -1 +1 @@ -import{C as e,D as t,N as n,P as r,a as i,f as a,g as o,l as s,n as c,o as l,p as u,t as d,v as f,y as p,z as m}from"./index-Tuyb_Kvo.js";var h={class:`login-container`},g={class:`login-card`},_={class:`form-group`},v={class:`form-group`},y={key:0,class:`form-error`},b=[`disabled`],x=d(e({__name:`LoginView`,setup(e){let d=s(),x=r({username:``,password:``,error:``,loading:!1}),S=async()=>{x.error=``,x.loading=!0;try{let e=await l(`/api/auth/login/json`,{method:`POST`,body:JSON.stringify({username:x.username,password:x.password})});i(e.access_token,e.user),c(`登录成功`,`success`),d.push(`/`)}catch(e){x.error=e.message||`登录失败`}finally{x.loading=!1}};return(e,r)=>(t(),p(`div`,h,[o(`div`,g,[r[4]||=o(`div`,{class:`login-header`},[o(`div`,{class:`login-logo`},`G`),o(`h1`,{class:`login-title`},`Gemold`),o(`p`,{class:`login-subtitle`},`模具制造管理系统`)],-1),o(`form`,{onSubmit:u(S,[`prevent`])},[o(`div`,_,[r[2]||=o(`label`,{class:`form-label`},`用户名`,-1),n(o(`input`,{"onUpdate:modelValue":r[0]||=e=>x.username=e,type:`text`,class:`form-input`,placeholder:`请输入用户名`,required:``},null,512),[[a,x.username]])]),o(`div`,v,[r[3]||=o(`label`,{class:`form-label`},`密码`,-1),n(o(`input`,{"onUpdate:modelValue":r[1]||=e=>x.password=e,type:`password`,class:`form-input`,placeholder:`请输入密码`,required:``},null,512),[[a,x.password]])]),x.error?(t(),p(`div`,y,m(x.error),1)):f(``,!0),o(`button`,{type:`submit`,class:`btn btn-primary w-full mt-4`,disabled:x.loading},m(x.loading?`登录中...`:`登录`),9,b)],32)])]))}}),[[`__scopeId`,`data-v-01da5b35`]]);export{x as default}; \ No newline at end of file +import{C as e,D as t,N as n,P as r,a as i,f as a,g as o,l as s,n as c,o as l,p as u,t as d,v as f,y as p,z as m}from"./index-Dyxl3OsB.js";var h={class:`login-container`},g={class:`login-card`},_={class:`form-group`},v={class:`form-group`},y={key:0,class:`form-error`},b=[`disabled`],x=d(e({__name:`LoginView`,setup(e){let d=s(),x=r({username:``,password:``,error:``,loading:!1}),S=async()=>{x.error=``,x.loading=!0;try{let e=await l(`/api/auth/login/json`,{method:`POST`,body:JSON.stringify({username:x.username,password:x.password})});i(e.access_token,e.user),c(`登录成功`,`success`),d.push(`/`)}catch(e){x.error=e.message||`登录失败`}finally{x.loading=!1}};return(e,r)=>(t(),p(`div`,h,[o(`div`,g,[r[4]||=o(`div`,{class:`login-header`},[o(`div`,{class:`login-logo`},`G`),o(`h1`,{class:`login-title`},`Gemold`),o(`p`,{class:`login-subtitle`},`模具制造管理系统`)],-1),o(`form`,{onSubmit:u(S,[`prevent`])},[o(`div`,_,[r[2]||=o(`label`,{class:`form-label`},`用户名`,-1),n(o(`input`,{"onUpdate:modelValue":r[0]||=e=>x.username=e,type:`text`,class:`form-input`,placeholder:`请输入用户名`,required:``},null,512),[[a,x.username]])]),o(`div`,v,[r[3]||=o(`label`,{class:`form-label`},`密码`,-1),n(o(`input`,{"onUpdate:modelValue":r[1]||=e=>x.password=e,type:`password`,class:`form-input`,placeholder:`请输入密码`,required:``},null,512),[[a,x.password]])]),x.error?(t(),p(`div`,y,m(x.error),1)):f(``,!0),o(`button`,{type:`submit`,class:`btn btn-primary w-full mt-4`,disabled:x.loading},m(x.loading?`登录中...`:`登录`),9,b)],32)])]))}}),[[`__scopeId`,`data-v-01da5b35`]]);export{x as default}; \ No newline at end of file diff --git a/static/assets/MoldInsightView-BZIQoy0M.js b/static/assets/MoldInsightView-C9d1FJEi.js similarity index 99% rename from static/assets/MoldInsightView-BZIQoy0M.js rename to static/assets/MoldInsightView-C9d1FJEi.js index 211f692..44058e5 100644 --- a/static/assets/MoldInsightView-BZIQoy0M.js +++ b/static/assets/MoldInsightView-C9d1FJEi.js @@ -1 +1 @@ -import{C as e,D as t,F as n,I as r,L as i,N as a,O as o,P as ee,R as te,T as ne,b as s,d as re,f as ie,g as c,i as ae,l as oe,m as l,n as u,o as d,p as f,r as p,s as se,v as m,y as h,z as g}from"./index-Tuyb_Kvo.js";import{a as _,i as v,r as y}from"./utils-COFIQvWo.js";var b={class:`page-container`},x={class:`upload-layout`},S={class:`upload-main-card`},C={key:0,class:`file-info`},w={class:`file-name`},T={class:`file-size`},E={key:1,class:`error-message`},D={key:2,class:`progress-bar`},O={class:`upload-side-card`},k={class:`material-panel compact-panel`},A={class:`form-group`},j={class:`advanced-params`},M={class:`advanced-params-body`},N={class:`advanced-param-grid`},P={class:`form-label`},F={class:`param-input-row`},I=[`onUpdate:modelValue`,`min`,`max`,`step`],L={class:`param-unit`},R={class:`param-meta-row`},z={class:`range-value`},B={class:`range-value`},V={class:`param-hint`},H=[`disabled`],U={key:1,class:`inline-note`},ce={key:0,class:`history-collapsible section`},W={class:`history-summary`},G={class:`table-container`},le={class:`data-table`},ue={class:`badge badge-info`},de={class:`action-buttons`},fe=[`onClick`],pe=[`onClick`,`title`],me={key:0,class:`history-detail-row`},he={colspan:`6`},ge={class:`history-dropdown`},_e={class:`data-table inner-table`},ve=[`onClick`],K=e({__name:`MoldInsightView`,setup(e){let K=oe(),q=se(),J=n(null),Y=ee({selectedFile:null,selectedMaterial:`ABS`,moldParams:{draftAngle:2,shrinkageRate:.5,partingPrecision:.1,cavityMatch:95},uploading:!1,error:``,currentTask:null,task:null,polling:!1,dragOver:!1,progress:0,history:null,expandedFiles:{}}),X=async()=>{try{Y.history=await d(`/api/history`)}catch(e){console.error(`加载历史记录失败:`,e)}},Z=async e=>{if(Y.expandedFiles[e])Y.expandedFiles[e]=null;else try{let t=await d(`/api/history/${encodeURIComponent(e)}`);Y.expandedFiles[e]=t}catch(e){p(e,`加载文件历史`)}},Q=e=>{K.push(`/moldinsight/result/${e.task_id}`)},ye=e=>{let t=e.target.files?.[0];t&&$(t)},$=e=>{let t=e.name.toLowerCase();if(!t.endsWith(`.stp`)&&!t.endsWith(`.step`)){Y.error=`请选择 STP 或 STEP 格式文件`,Y.selectedFile=null;return}if(e.size>100*1024*1024){Y.error=`文件大小不能超过 100MB`,Y.selectedFile=null;return}Y.error=``,Y.selectedFile=e,u(`已选择文件: ${e.name}`,`success`)},be=e=>{e.preventDefault(),Y.dragOver=!1;let t=e.dataTransfer?.files;t&&t.length>0&&$(t[0])},xe=async()=>{if(!Y.selectedFile)return;if(!q.token){Y.error=`请先登录后再上传文件`,u(`请先登录`,`warning`),K.push(`/login`);return}if(q.token===`demo`){Y.error=`演示模式不支持文件上传,请使用完整账户登录`,u(`演示模式不支持上传`,`warning`);return}Y.uploading=!0,Y.error=``,Y.progress=0;let e=new FormData;e.append(`file`,Y.selectedFile),e.append(`material`,Y.selectedMaterial),e.append(`draft_angle`,String(Y.moldParams.draftAngle)),e.append(`shrinkage_rate`,String(Y.moldParams.shrinkageRate)),e.append(`parting_precision`,String(Y.moldParams.partingPrecision)),e.append(`cavity_match`,String(Y.moldParams.cavityMatch));try{let t=await fetch(`/api/upload`,{method:`POST`,headers:{Authorization:`Bearer ${q.token}`},body:e});if(t.status===401){ae(),Y.error=`登录已过期,请重新登录`,u(`登录已过期,请重新登录`,`warning`),K.push(`/login`);return}if(!t.ok)throw Error(`上传失败: ${t.status}`);let n=await t.json();Y.currentTask={task_id:n.task_id,status:`processing`,filename:n.file_info?.filename},u(`文件上传成功,开始分析...`,`success`),Se(n.task_id)}catch(e){Y.error=p(e,`文件上传`)}finally{Y.uploading=!1}},Se=async e=>{Y.polling=!0,Y.progress=10;let t=0,n=async()=>{try{t++,Y.progress=Math.min(90,10+t*.5);let r=await d(`/api/status/${e}`,{method:`POST`});if(Y.currentTask=r,Y.task=r,r.status===`completed`){Y.polling=!1,Y.progress=100,u(`分析完成`,`success`),X(),K.push(`/moldinsight/result/${e}`);return}if(r.status===`failed`){Y.polling=!1,Y.error=r.error||`分析失败`,u(`分析失败`,`error`);return}t<300&&setTimeout(n,2e3)}catch(e){Y.polling=!1,Y.error=p(e,`轮询状态`)}};n()},Ce=[{key:`draftAngle`,label:`拔模角`,unit:`°`,min:1,max:10,step:.5,defaultValue:2,hint:`常规注塑件建议从 1.5° 到 3° 起步`},{key:`shrinkageRate`,label:`收缩率`,unit:`%`,min:.5,max:3,step:.1,defaultValue:.5,hint:`按材料牌号校核,默认值用于首轮方案评估`},{key:`partingPrecision`,label:`分型精度`,unit:`mm`,min:.01,max:1,step:.01,defaultValue:.1,hint:`用于控制分型面拟合与边界容差`},{key:`cavityMatch`,label:`型腔匹配度`,unit:`%`,min:80,max:100,step:1,defaultValue:95,hint:`数值越高越偏向紧配合与严格封合`}];return ne(()=>{if(!q.user){K.push(`/login`);return}X()}),(e,n)=>(t(),h(`div`,b,[n[15]||=s(`
输入
STEP/STP 产品件,面向注塑模主流程
输出
分模方案、DFM 风险、注塑模系统摘要与 CAD 导出
目标
先确认推荐方案,再进入导出与 CAM 准备
`,2),c(`div`,x,[c(`div`,S,[n[7]||=c(`h2`,{class:`section-title`},`1. 上传产品件`,-1),c(`div`,{class:i([`upload-zone`,{"drag-over":Y.dragOver}]),onDragover:n[0]||=f(e=>Y.dragOver=!0,[`prevent`]),onDragleave:n[1]||=f(e=>Y.dragOver=!1,[`prevent`]),onDrop:be,onClick:n[2]||=e=>J.value?.click()},[c(`input`,{ref_key:`fileInput`,ref:J,type:`file`,accept:`.stp,.step`,onChange:ye,hidden:``},null,544),n[5]||=c(`div`,{class:`upload-icon`},`📁`,-1),n[6]||=c(`div`,{class:`upload-text`},[c(`span`,{class:`upload-title`},`点击选择或拖拽 STP/STEP 文件`),c(`span`,{class:`upload-hint`},`支持注塑模产品件分析,最大 100MB`)],-1)],34),Y.selectedFile?(t(),h(`div`,C,[c(`span`,w,g(Y.selectedFile.name),1),c(`span`,T,g(r(v)(Y.selectedFile.size)),1),c(`button`,{class:`btn-clear`,onClick:n[3]||=e=>Y.selectedFile=null,title:`清除文件`},`×`)])):m(``,!0),Y.error?(t(),h(`div`,E,g(Y.error),1)):m(``,!0),Y.polling?(t(),h(`div`,D,[c(`div`,{class:`progress-fill`,style:te({width:Y.progress+`%`})},null,4)])):m(``,!0)]),c(`div`,O,[n[12]||=c(`h2`,{class:`section-title`},`2. 注塑模参数`,-1),c(`div`,k,[c(`div`,A,[n[9]||=c(`label`,{class:`form-label`},`产品材料`,-1),a(c(`select`,{"onUpdate:modelValue":n[4]||=e=>Y.selectedMaterial=e,class:`form-select`},[...n[8]||=[s(``,8)]],512),[[re,Y.selectedMaterial]])]),c(`details`,j,[n[11]||=c(`summary`,null,`高级工艺参数`,-1),c(`div`,M,[n[10]||=c(`div`,{class:`inline-note`},`默认值适用于多数注塑件;仅在已知工艺约束时再调整。`,-1),c(`div`,N,[(t(),h(l,null,o(Ce,e=>c(`div`,{class:`param-input-card`,key:e.key},[c(`label`,P,g(e.label),1),c(`div`,F,[a(c(`input`,{type:`number`,class:`form-input param-number-input`,"onUpdate:modelValue":t=>Y.moldParams[e.key]=t,min:e.min,max:e.max,step:e.step},null,8,I),[[ie,Y.moldParams[e.key],void 0,{number:!0}]]),c(`span`,L,g(e.unit),1)]),c(`div`,R,[c(`span`,z,`默认 `+g(e.defaultValue)+g(e.unit),1),c(`span`,B,`范围 `+g(e.min)+` - `+g(e.max)+g(e.unit),1)]),c(`div`,V,g(e.hint),1)])),64))])])])]),Y.selectedFile?(t(),h(`button`,{key:0,class:`btn-primary upload-submit-btn`,onClick:xe,disabled:Y.uploading||Y.polling},g(Y.uploading?`上传中...`:Y.polling?`分析中...`:`3. 开始注塑模分析`),9,H)):(t(),h(`div`,U,`先选择 STP 文件,再填写材料并开始分析。`))])]),Y.history?.files?.length?(t(),h(`details`,ce,[c(`summary`,W,`分析历史(`+g(Y.history.files.length)+` 个文件)`,1),c(`div`,G,[c(`table`,le,[n[14]||=c(`thead`,null,[c(`tr`,null,[c(`th`,null,`文件名`),c(`th`,null,`上传次数`),c(`th`,null,`文件大小`),c(`th`,null,`最新状态`),c(`th`,null,`最新分析时间`),c(`th`,null,`操作`)])],-1),c(`tbody`,null,[(t(!0),h(l,null,o(Y.history.files,e=>(t(),h(l,{key:e.filename},[c(`tr`,null,[c(`td`,null,g(e.filename),1),c(`td`,null,[c(`span`,ue,g(e.upload_count)+` 次`,1)]),c(`td`,null,g(r(v)(e.file_size)),1),c(`td`,null,[c(`span`,{class:i([`badge`,e.latest_status===`completed`?`badge-success`:e.latest_status===`failed`?`badge-error`:`badge-warning`])},g(e.latest_status),3)]),c(`td`,null,g(r(y)(e.latest_upload_time)),1),c(`td`,null,[c(`div`,de,[e.latest_status===`completed`?(t(),h(`button`,{key:0,class:`btn-sm btn-primary`,onClick:t=>Q({task_id:e.latest_task_id})},` 查看最新 `,8,fe)):m(``,!0),c(`button`,{class:`btn-sm btn-icon`,onClick:t=>Z(e.filename),title:Y.expandedFiles[e.filename]?`收起`:`展开历史记录`},[c(`span`,{class:i([`dropdown-icon`,{expanded:Y.expandedFiles[e.filename]}])},`▼`,2)],8,pe)])])]),Y.expandedFiles[e.filename]?(t(),h(`tr`,me,[c(`td`,he,[c(`div`,ge,[c(`table`,_e,[n[13]||=c(`thead`,null,[c(`tr`,null,[c(`th`,null,`上传时间`),c(`th`,null,`文件大小`),c(`th`,null,`状态`),c(`th`,null,`体积 (mm³)`),c(`th`,null,`表面积 (mm²)`),c(`th`,null,`重量 (g)`),c(`th`,null,`操作`)])],-1),c(`tbody`,null,[(t(!0),h(l,null,o(Y.expandedFiles[e.filename],e=>(t(),h(`tr`,{key:e.id},[c(`td`,null,g(r(y)(e.upload_time)),1),c(`td`,null,g(r(v)(e.file_size)),1),c(`td`,null,[c(`span`,{class:i([`badge`,e.status===`completed`?`badge-success`:e.status===`failed`?`badge-error`:`badge-warning`])},g(e.status),3)]),c(`td`,null,g(e.volume?r(_)(e.volume):`-`),1),c(`td`,null,g(e.surface_area?r(_)(e.surface_area):`-`),1),c(`td`,null,g(e.product_weight?e.product_weight.toFixed(2):`-`),1),c(`td`,null,[e.has_analysis?(t(),h(`button`,{key:0,class:`btn-sm btn-primary`,onClick:t=>Q(e)},` 查看详情 `,8,ve)):m(``,!0)])]))),128))])])])])])):m(``,!0)],64))),128))])])])])):m(``,!0)]))}});export{K as default}; \ No newline at end of file +import{C as e,D as t,F as n,I as r,L as i,N as a,O as o,P as ee,R as te,T as ne,b as s,d as re,f as ie,g as c,i as ae,l as oe,m as l,n as u,o as d,p as f,r as p,s as se,v as m,y as h,z as g}from"./index-Dyxl3OsB.js";import{a as _,i as v,r as y}from"./utils-COFIQvWo.js";var b={class:`page-container`},x={class:`upload-layout`},S={class:`upload-main-card`},C={key:0,class:`file-info`},w={class:`file-name`},T={class:`file-size`},E={key:1,class:`error-message`},D={key:2,class:`progress-bar`},O={class:`upload-side-card`},k={class:`material-panel compact-panel`},A={class:`form-group`},j={class:`advanced-params`},M={class:`advanced-params-body`},N={class:`advanced-param-grid`},P={class:`form-label`},F={class:`param-input-row`},I=[`onUpdate:modelValue`,`min`,`max`,`step`],L={class:`param-unit`},R={class:`param-meta-row`},z={class:`range-value`},B={class:`range-value`},V={class:`param-hint`},H=[`disabled`],U={key:1,class:`inline-note`},ce={key:0,class:`history-collapsible section`},W={class:`history-summary`},G={class:`table-container`},le={class:`data-table`},ue={class:`badge badge-info`},de={class:`action-buttons`},fe=[`onClick`],pe=[`onClick`,`title`],me={key:0,class:`history-detail-row`},he={colspan:`6`},ge={class:`history-dropdown`},_e={class:`data-table inner-table`},ve=[`onClick`],K=e({__name:`MoldInsightView`,setup(e){let K=oe(),q=se(),J=n(null),Y=ee({selectedFile:null,selectedMaterial:`ABS`,moldParams:{draftAngle:2,shrinkageRate:.5,partingPrecision:.1,cavityMatch:95},uploading:!1,error:``,currentTask:null,task:null,polling:!1,dragOver:!1,progress:0,history:null,expandedFiles:{}}),X=async()=>{try{Y.history=await d(`/api/history`)}catch(e){console.error(`加载历史记录失败:`,e)}},Z=async e=>{if(Y.expandedFiles[e])Y.expandedFiles[e]=null;else try{let t=await d(`/api/history/${encodeURIComponent(e)}`);Y.expandedFiles[e]=t}catch(e){p(e,`加载文件历史`)}},Q=e=>{K.push(`/moldinsight/result/${e.task_id}`)},ye=e=>{let t=e.target.files?.[0];t&&$(t)},$=e=>{let t=e.name.toLowerCase();if(!t.endsWith(`.stp`)&&!t.endsWith(`.step`)){Y.error=`请选择 STP 或 STEP 格式文件`,Y.selectedFile=null;return}if(e.size>100*1024*1024){Y.error=`文件大小不能超过 100MB`,Y.selectedFile=null;return}Y.error=``,Y.selectedFile=e,u(`已选择文件: ${e.name}`,`success`)},be=e=>{e.preventDefault(),Y.dragOver=!1;let t=e.dataTransfer?.files;t&&t.length>0&&$(t[0])},xe=async()=>{if(!Y.selectedFile)return;if(!q.token){Y.error=`请先登录后再上传文件`,u(`请先登录`,`warning`),K.push(`/login`);return}if(q.token===`demo`){Y.error=`演示模式不支持文件上传,请使用完整账户登录`,u(`演示模式不支持上传`,`warning`);return}Y.uploading=!0,Y.error=``,Y.progress=0;let e=new FormData;e.append(`file`,Y.selectedFile),e.append(`material`,Y.selectedMaterial),e.append(`draft_angle`,String(Y.moldParams.draftAngle)),e.append(`shrinkage_rate`,String(Y.moldParams.shrinkageRate)),e.append(`parting_precision`,String(Y.moldParams.partingPrecision)),e.append(`cavity_match`,String(Y.moldParams.cavityMatch));try{let t=await fetch(`/api/upload`,{method:`POST`,headers:{Authorization:`Bearer ${q.token}`},body:e});if(t.status===401){ae(),Y.error=`登录已过期,请重新登录`,u(`登录已过期,请重新登录`,`warning`),K.push(`/login`);return}if(!t.ok)throw Error(`上传失败: ${t.status}`);let n=await t.json();Y.currentTask={task_id:n.task_id,status:`processing`,filename:n.file_info?.filename},u(`文件上传成功,开始分析...`,`success`),Se(n.task_id)}catch(e){Y.error=p(e,`文件上传`)}finally{Y.uploading=!1}},Se=async e=>{Y.polling=!0,Y.progress=10;let t=0,n=async()=>{try{t++,Y.progress=Math.min(90,10+t*.5);let r=await d(`/api/status/${e}`,{method:`POST`});if(Y.currentTask=r,Y.task=r,r.status===`completed`){Y.polling=!1,Y.progress=100,u(`分析完成`,`success`),X(),K.push(`/moldinsight/result/${e}`);return}if(r.status===`failed`){Y.polling=!1,Y.error=r.error||`分析失败`,u(`分析失败`,`error`);return}t<300&&setTimeout(n,2e3)}catch(e){Y.polling=!1,Y.error=p(e,`轮询状态`)}};n()},Ce=[{key:`draftAngle`,label:`拔模角`,unit:`°`,min:1,max:10,step:.5,defaultValue:2,hint:`常规注塑件建议从 1.5° 到 3° 起步`},{key:`shrinkageRate`,label:`收缩率`,unit:`%`,min:.5,max:3,step:.1,defaultValue:.5,hint:`按材料牌号校核,默认值用于首轮方案评估`},{key:`partingPrecision`,label:`分型精度`,unit:`mm`,min:.01,max:1,step:.01,defaultValue:.1,hint:`用于控制分型面拟合与边界容差`},{key:`cavityMatch`,label:`型腔匹配度`,unit:`%`,min:80,max:100,step:1,defaultValue:95,hint:`数值越高越偏向紧配合与严格封合`}];return ne(()=>{if(!q.user){K.push(`/login`);return}X()}),(e,n)=>(t(),h(`div`,b,[n[15]||=s(`
输入
STEP/STP 产品件,面向注塑模主流程
输出
分模方案、DFM 风险、注塑模系统摘要与 CAD 导出
目标
先确认推荐方案,再进入导出与 CAM 准备
`,2),c(`div`,x,[c(`div`,S,[n[7]||=c(`h2`,{class:`section-title`},`1. 上传产品件`,-1),c(`div`,{class:i([`upload-zone`,{"drag-over":Y.dragOver}]),onDragover:n[0]||=f(e=>Y.dragOver=!0,[`prevent`]),onDragleave:n[1]||=f(e=>Y.dragOver=!1,[`prevent`]),onDrop:be,onClick:n[2]||=e=>J.value?.click()},[c(`input`,{ref_key:`fileInput`,ref:J,type:`file`,accept:`.stp,.step`,onChange:ye,hidden:``},null,544),n[5]||=c(`div`,{class:`upload-icon`},`📁`,-1),n[6]||=c(`div`,{class:`upload-text`},[c(`span`,{class:`upload-title`},`点击选择或拖拽 STP/STEP 文件`),c(`span`,{class:`upload-hint`},`支持注塑模产品件分析,最大 100MB`)],-1)],34),Y.selectedFile?(t(),h(`div`,C,[c(`span`,w,g(Y.selectedFile.name),1),c(`span`,T,g(r(v)(Y.selectedFile.size)),1),c(`button`,{class:`btn-clear`,onClick:n[3]||=e=>Y.selectedFile=null,title:`清除文件`},`×`)])):m(``,!0),Y.error?(t(),h(`div`,E,g(Y.error),1)):m(``,!0),Y.polling?(t(),h(`div`,D,[c(`div`,{class:`progress-fill`,style:te({width:Y.progress+`%`})},null,4)])):m(``,!0)]),c(`div`,O,[n[12]||=c(`h2`,{class:`section-title`},`2. 注塑模参数`,-1),c(`div`,k,[c(`div`,A,[n[9]||=c(`label`,{class:`form-label`},`产品材料`,-1),a(c(`select`,{"onUpdate:modelValue":n[4]||=e=>Y.selectedMaterial=e,class:`form-select`},[...n[8]||=[s(``,8)]],512),[[re,Y.selectedMaterial]])]),c(`details`,j,[n[11]||=c(`summary`,null,`高级工艺参数`,-1),c(`div`,M,[n[10]||=c(`div`,{class:`inline-note`},`默认值适用于多数注塑件;仅在已知工艺约束时再调整。`,-1),c(`div`,N,[(t(),h(l,null,o(Ce,e=>c(`div`,{class:`param-input-card`,key:e.key},[c(`label`,P,g(e.label),1),c(`div`,F,[a(c(`input`,{type:`number`,class:`form-input param-number-input`,"onUpdate:modelValue":t=>Y.moldParams[e.key]=t,min:e.min,max:e.max,step:e.step},null,8,I),[[ie,Y.moldParams[e.key],void 0,{number:!0}]]),c(`span`,L,g(e.unit),1)]),c(`div`,R,[c(`span`,z,`默认 `+g(e.defaultValue)+g(e.unit),1),c(`span`,B,`范围 `+g(e.min)+` - `+g(e.max)+g(e.unit),1)]),c(`div`,V,g(e.hint),1)])),64))])])])]),Y.selectedFile?(t(),h(`button`,{key:0,class:`btn-primary upload-submit-btn`,onClick:xe,disabled:Y.uploading||Y.polling},g(Y.uploading?`上传中...`:Y.polling?`分析中...`:`3. 开始注塑模分析`),9,H)):(t(),h(`div`,U,`先选择 STP 文件,再填写材料并开始分析。`))])]),Y.history?.files?.length?(t(),h(`details`,ce,[c(`summary`,W,`分析历史(`+g(Y.history.files.length)+` 个文件)`,1),c(`div`,G,[c(`table`,le,[n[14]||=c(`thead`,null,[c(`tr`,null,[c(`th`,null,`文件名`),c(`th`,null,`上传次数`),c(`th`,null,`文件大小`),c(`th`,null,`最新状态`),c(`th`,null,`最新分析时间`),c(`th`,null,`操作`)])],-1),c(`tbody`,null,[(t(!0),h(l,null,o(Y.history.files,e=>(t(),h(l,{key:e.filename},[c(`tr`,null,[c(`td`,null,g(e.filename),1),c(`td`,null,[c(`span`,ue,g(e.upload_count)+` 次`,1)]),c(`td`,null,g(r(v)(e.file_size)),1),c(`td`,null,[c(`span`,{class:i([`badge`,e.latest_status===`completed`?`badge-success`:e.latest_status===`failed`?`badge-error`:`badge-warning`])},g(e.latest_status),3)]),c(`td`,null,g(r(y)(e.latest_upload_time)),1),c(`td`,null,[c(`div`,de,[e.latest_status===`completed`?(t(),h(`button`,{key:0,class:`btn-sm btn-primary`,onClick:t=>Q({task_id:e.latest_task_id})},` 查看最新 `,8,fe)):m(``,!0),c(`button`,{class:`btn-sm btn-icon`,onClick:t=>Z(e.filename),title:Y.expandedFiles[e.filename]?`收起`:`展开历史记录`},[c(`span`,{class:i([`dropdown-icon`,{expanded:Y.expandedFiles[e.filename]}])},`▼`,2)],8,pe)])])]),Y.expandedFiles[e.filename]?(t(),h(`tr`,me,[c(`td`,he,[c(`div`,ge,[c(`table`,_e,[n[13]||=c(`thead`,null,[c(`tr`,null,[c(`th`,null,`上传时间`),c(`th`,null,`文件大小`),c(`th`,null,`状态`),c(`th`,null,`体积 (mm³)`),c(`th`,null,`表面积 (mm²)`),c(`th`,null,`重量 (g)`),c(`th`,null,`操作`)])],-1),c(`tbody`,null,[(t(!0),h(l,null,o(Y.expandedFiles[e.filename],e=>(t(),h(`tr`,{key:e.id},[c(`td`,null,g(r(y)(e.upload_time)),1),c(`td`,null,g(r(v)(e.file_size)),1),c(`td`,null,[c(`span`,{class:i([`badge`,e.status===`completed`?`badge-success`:e.status===`failed`?`badge-error`:`badge-warning`])},g(e.status),3)]),c(`td`,null,g(e.volume?r(_)(e.volume):`-`),1),c(`td`,null,g(e.surface_area?r(_)(e.surface_area):`-`),1),c(`td`,null,g(e.product_weight?e.product_weight.toFixed(2):`-`),1),c(`td`,null,[e.has_analysis?(t(),h(`button`,{key:0,class:`btn-sm btn-primary`,onClick:t=>Q(e)},` 查看详情 `,8,ve)):m(``,!0)])]))),128))])])])])])):m(``,!0)],64))),128))])])])])):m(``,!0)]))}});export{K as default}; \ No newline at end of file diff --git a/static/assets/ReleaseView-HUQ2vWbo.js b/static/assets/ReleaseView-mk9si7Bn.js similarity index 79% rename from static/assets/ReleaseView-HUQ2vWbo.js rename to static/assets/ReleaseView-mk9si7Bn.js index 1781aca..f7a3ac8 100644 --- a/static/assets/ReleaseView-HUQ2vWbo.js +++ b/static/assets/ReleaseView-mk9si7Bn.js @@ -1 +1 @@ -import{D as e,g as t,t as n,y as r}from"./index-Tuyb_Kvo.js";var i={};function a(n,i){return e(),r(`div`,null,[...i[0]||=[t(`div`,{class:`page-header`},[t(`h1`,{class:`page-title`},`灰度发布与回滚`),t(`p`,{class:`page-subtitle`},`迁移中...`)],-1)]])}var o=n(i,[[`render`,a]]);export{o as default}; \ No newline at end of file +import{D as e,g as t,t as n,y as r}from"./index-Dyxl3OsB.js";var i={};function a(n,i){return e(),r(`div`,null,[...i[0]||=[t(`div`,{class:`page-header`},[t(`h1`,{class:`page-title`},`灰度发布与回滚`),t(`p`,{class:`page-subtitle`},`迁移中...`)],-1)]])}var o=n(i,[[`render`,a]]);export{o as default}; \ No newline at end of file diff --git a/static/assets/ResultView-CnHElmOY.js b/static/assets/ResultView-CuXmgqk1.js similarity index 99% rename from static/assets/ResultView-CnHElmOY.js rename to static/assets/ResultView-CuXmgqk1.js index 5daaa19..f67d81a 100644 --- a/static/assets/ResultView-CnHElmOY.js +++ b/static/assets/ResultView-CuXmgqk1.js @@ -1 +1 @@ -import{C as e,D as t,I as n,L as r,N as i,O as a,P as o,R as s,T as ee,b as te,c as ne,d as c,g as l,h as u,l as re,m as d,n as f,o as p,r as ie,s as ae,u as oe,v as m,x as se,y as h,z as g}from"./index-Tuyb_Kvo.js";import{a as _}from"./utils-COFIQvWo.js";var ce={class:`page-container`},le={class:`page-header`},ue={key:0,class:`loading-state`},de={key:1,class:`error-state`},fe={key:2,class:`result-container`},pe={class:`result-header`},me={class:`result-anchor-nav`},he=[`href`],ge={class:`result-grid result-priority-grid`},_e={class:`summary-header`},v={class:`badge badge-info`},y={class:`info-list`},b={class:`info-item`},x={class:`info-value`,style:{"font-weight":`600`,"font-size":`1.05rem`,color:`var(--text-primary)`}},S={class:`info-item`},C={class:`info-value`},w={class:`info-item`},T={class:`info-value`},E={class:`info-item`},D={class:`info-value`},O={class:`info-item`},k={class:`info-value`},A={class:`info-item`},j={class:`info-value`},M={class:`info-list`},N={class:`info-item`},P={class:`info-value`},F={class:`info-item`},I={class:`info-value`},ve={class:`info-item`},ye={class:`info-value`},be={class:`info-item`},xe={class:`info-value`},Se={class:`info-item`},Ce={class:`info-value`},we={key:1,class:`result-card result-card-highlight`},Te={class:`info-list`},Ee={class:`info-item`},De={class:`info-value`,style:{"font-weight":`500`}},Oe={key:0,class:`export-buttons-bar`,style:{display:`flex`,gap:`var(--space-2)`,"flex-wrap":`wrap`,"justify-content":`center`,padding:`var(--space-3) 0`}},ke={key:1,id:`preview-3d`,class:`viewer-section viewer-section-hero`},Ae={key:0,class:`inline-alert inline-alert-warning`,style:{"margin-bottom":`var(--space-3)`}},je={class:`inline-alert-message`},Me=[`src`],Ne={key:2,id:`preview-3d-placeholder`,class:`viewer-section viewer-section-hero`},Pe={key:3,id:`candidate-schemes`,class:`viewer-section diagnostic-panel`,style:{"margin-top":`var(--space-3)`}},Fe={class:`result-card full-width diagnostic-panel-body`},Ie={class:`data-table`},Le=[`onClick`],Re={key:0,style:{color:`var(--primary-color)`,"font-weight":`600`}},ze={key:1,style:{color:`var(--warning-color)`,"font-weight":`600`}},Be={id:`ai-side-action`,class:`viewer-section`},Ve={class:`summary-header`},He={key:1,class:`badge badge-warning`},Ue={key:0,class:`result-grid`},We={class:`result-card result-card-highlight`},Ge={class:`info-list`},Ke={class:`info-item`},qe={class:`info-value`},Je={class:`info-item`},Ye={class:`info-value`},Xe={key:0,class:`info-item`},Ze={class:`info-value`},Qe={class:`info-item`},$e={class:`info-value`},et={class:`inline-note`,style:{"margin-top":`var(--space-2)`,"font-weight":`600`,"font-size":`1rem`,color:`var(--text-primary)`}},tt={class:`result-card`},nt={key:0},rt={class:`recommendations-list`},it={class:`recommendation-text`},at={key:1,style:{"margin-top":`var(--space-3)`}},ot={class:`recommendations-list`},st={class:`recommendation-text`},ct={key:2,style:{"margin-top":`var(--space-3)`}},L={class:`recommendations-list`},lt={class:`recommendation-text`},ut={key:1,class:`inline-alert inline-alert-warning`},dt={id:`export-cam`,class:`viewer-section`},ft={class:`result-card`,style:{"margin-bottom":`var(--space-4)`}},pt={class:`info-list`},mt={class:`info-item`},ht=[`value`],gt={class:`info-item`},_t=[`value`],vt={class:`info-item`},yt=[`value`],bt={class:`info-item`},xt={class:`checkbox-group`},St=[`disabled`],Ct={key:0,class:`inline-alert inline-alert-warning`},wt={class:`inline-alert-message`},Tt={key:1,class:`inline-alert inline-alert-warning`},Et={class:`result-grid`},Dt={class:`result-card`},Ot={class:`info-list`},kt={class:`info-item`},At={class:`info-value`},jt={class:`info-item`},Mt={class:`info-value`},Nt={class:`info-item`},Pt={class:`info-value`},Ft={class:`info-item`},It={class:`info-value`},Lt={class:`result-card`},Rt={class:`info-list`},zt={class:`info-item`},Bt={class:`info-value`},Vt={class:`info-item`},Ht={class:`info-value`},Ut={class:`result-card full-width`},Wt={class:`data-table`},Gt={class:`result-card full-width`},Kt={class:`recommendations-list`},qt={class:`recommendation-text`},Jt={key:4,id:`llm-report`,class:`viewer-section`},Yt={class:`summary-header`},Xt={key:0,class:`inline-note`,style:{"margin-bottom":`var(--space-4)`,"font-size":`0.95rem`,color:`var(--text-primary)`}},Zt={class:`result-grid`},Qt={key:0,class:`recommendations-list`},$t={class:`recommendation-text`},en={key:1,class:`data-table`},tn={key:2,class:`recommendations-list`},nn={class:`recommendation-text`},rn={key:3,class:`inline-note`},R=e({__name:`ResultView`,setup(e){let R=ne(),z=re(),B=ae(),V=o({task:null,loading:!0,error:``,selectedSchemeId:null,previewStatus:`idle`,camLoading:!1,camError:``,camPlan:null,camForm:{mold_steel:`P20`,surface_quality:`standard`,controller:`fanuc`,include_gcode:!1}}),an=[{value:`P20`,label:`P20`},{value:`718H`,label:`718H`},{value:`NAK80`,label:`NAK80`},{value:`S136`,label:`S136`},{value:`H13`,label:`H13`}],on=[{value:`standard`,label:`标准`},{value:`fine`,label:`精细`},{value:`mirror`,label:`镜面`}],sn=[{value:`fanuc`,label:`Fanuc`},{value:`siemens`,label:`Siemens`}],cn=async()=>{try{V.task=await p(`/api/status/${R.params.taskId}`,{method:`POST`}),V.task?.best_scheme_id?V.selectedSchemeId=V.task.best_scheme_id:V.task?.candidate_schemes?.length&&(V.selectedSchemeId=V.task.candidate_schemes[0].scheme_id);let e=V.task?.cam_preferences||{};V.camForm.mold_steel=e.mold_steel||`P20`,V.camForm.surface_quality=e.surface_quality||`standard`,V.camForm.controller=e.controller||`fanuc`,V.camForm.include_gcode=!!e.include_gcode,V.previewStatus=`loading`}catch(e){V.error=ie(e,`加载任务详情`)}finally{V.loading=!1}};ee(()=>{if(!B.user){z.push(`/login`);return}cn()});let H=u(()=>V.task?.candidate_schemes||[]);u(()=>H.value.length===1);let U=u(()=>H.value.length?H.value.find(e=>e.scheme_id===V.selectedSchemeId)||H.value[0]:null),W=u(()=>U.value?.cavity_data||V.task?.cavity_data||null),ln=u(()=>U.value?.key_info||V.task?.key_info||null),G=u(()=>U.value?.html_file||V.task?.html_file||``),K=u(()=>U.value?.dfm_violations||[]),un=u(()=>W.value?.injection_system||V.task?.plan_result?.injection_system||null),dn=u(()=>U.value?.side_actions||W.value?.side_actions||V.task?.side_actions||null),fn=e=>{let t=String(e||``).match(/\s*([\s\S]*?)\s*/);if(!t)return null;try{return JSON.parse(t[1])}catch(e){return console.warn(`AI 倒扣分析解析失败:`,e),null}},pn=e=>{let t=String(e||``).match(/\s*([\s\S]*?)\s*/);if(!t)return null;try{return JSON.parse(t[1])}catch(e){return console.warn(`LLM 设计报告解析失败:`,e),null}},q=(e,t=`ai`)=>{if(!e||typeof e!=`object`)return null;let n=[`required`,`not_required`,`manual_review`].includes(e.status)?e.status:`manual_review`,r=[`slider`,`lifter`,`mixed`,`none`,`manual_review`].includes(e.mechanism_recommendation)?e.mechanism_recommendation:`manual_review`,i=Number(e.confidence),a={required:`需要倒扣/抽芯`,not_required:`无需倒扣/抽芯`,manual_review:`需人工确认`};return{source:t,status:n,statusLabel:a[n],mechanismRecommendation:r,mechanismLabel:{slider:`优先滑块`,lifter:`优先斜顶`,mixed:`滑块 + 斜顶`,none:`无需侧向机构`,manual_review:`人工评审`}[r],confidence:Number.isFinite(i)?Math.max(0,Math.min(i,1)):null,conclusion:e.conclusion||a[n],summary:e.summary||``,reasons:Array.isArray(e.reasons)?e.reasons.filter(Boolean).slice(0,5):[],standardAdvice:Array.isArray(e.standard_advice)?e.standard_advice.filter(Boolean).slice(0,5):[],manualReviewItems:Array.isArray(e.manual_review_items)?e.manual_review_items.filter(Boolean).slice(0,4):[]}},mn=u(()=>{let e=dn.value;if(!e||typeof e!=`object`)return null;let t=e.summary||{},n=(e.slider_mechanisms||[]).length,r=(e.lifter_mechanisms||[]).length,i=n+r,a=n&&r?`mixed`:n?`slider`:r?`lifter`:`none`,o=i>0?`required`:t.total_undercut_faces===0?`not_required`:`manual_review`;return q({status:o,confidence:.55,conclusion:o===`required`?`规则分析判断当前产品需要倒扣/抽芯机构`:o===`not_required`?`规则分析未发现必须采用倒扣/抽芯机构的特征`:`当前规则结果不足以完成稳定判断,建议人工复核`,mechanism_recommendation:a===`none`?`none`:a,summary:o===`required`?`检测到 ${n} 个滑块需求、${r} 个斜顶需求,建议先按标准机构路线做结构评审。`:o===`not_required`?`当前方案未发现明显倒扣特征,可优先按常规模具结构推进。`:`现有数据可用于初筛,但不足以替代工程师对复杂倒扣的最终确认。`,reasons:[i>0?`规则分析识别出 ${i} 处侧向机构需求`:`规则分析未识别出明确侧向机构需求`,t.complexity?`当前复杂度判定为 ${t.complexity}`:`当前复杂度信息不足`,`当前倒扣方案若存在大行程滑块,优先按气动抽芯条件评估`].filter(Boolean),standard_advice:(e.recommendations||[]).slice(0,4),manual_review_items:[`结合 3D 预览复核倒扣是否可通过改产品取消`,`确认侧向机构与顶出、冷却、分型面是否存在干涉`]},`rules`)});u(()=>{let e={critical:0,high:0,medium:0,low:0};return(K.value||[]).forEach(t=>{let n=String(t.level||`medium`).toLowerCase();e[n]===void 0?e.medium+=1:e[n]+=1}),e});let J=u(()=>q(fn(V.task?.llm_report||``),`ai`)||mn.value),Y=u(()=>pn(V.task?.llm_report||``)),hn=u(()=>Y.value&&(Y.value.sections&&Y.value.sections.length>0||!!Y.value.overview)),gn=u(()=>(Y.value?.sections||[]).filter(e=>e.type===`issues`?e.items?.length>0:e.type===`params_table`?e.rows?.length>0:e.type===`recommendations`?e.items?.length>0:!0));u(()=>{let e=V.task?.stage_timings||{};return Object.entries(e).filter(([,e])=>typeof e==`number`).sort((e,t)=>t[1]-e[1])});let _n=u(()=>{let e={critical:0,high:1,medium:2,low:3};return[...V.task?.analysis_result?.design_recommendations||[]].sort((t,n)=>(e[t.priority]??99)-(e[n.priority]??99))});u(()=>_n.value[0]||null);let X=u(()=>K.value?.length||0),vn=u(()=>{let e=W.value?.mold_cavities?.cavity_count;if(typeof e==`number`)return e;let t=W.value?.mold_cavities||ln.value?.mold_cavities||{};return t.cavity_count||Object.keys(t).filter(e=>e.startsWith(`cavity_`)).length||1});u(()=>X.value?X.value>=4?`高风险`:X.value>=2?`中风险`:`低风险`:`低风险`);let yn=[{id:`candidate-schemes`,label:`方案`},{id:`preview-3d`,label:`预览`},{id:`ai-side-action`,label:`AI倒扣分析`},{id:`export-cam`,label:`CAM/CNC`},{id:`llm-report`,label:`设计报告`}],Z=e=>{e&&(V.selectedSchemeId=e),V.previewStatus=`loading`,V.camPlan=null,V.camError=``},bn=()=>{V.previewStatus=`loaded`},xn=()=>{V.previewStatus=`error`},Q=e=>{if(!e)return`N/A`;if(e.parting?.axis)return`${e.parting.axis} 轴`;let t=e.parting?.direction;return Array.isArray(t)?`[${t.map(e=>Number(e).toFixed(2)).join(`, `)}]`:`N/A`};u(()=>V.task?.analysis_result?.detected_features||[]);let Sn=async(e,t)=>{let n={};B.token&&(n.Authorization=`Bearer ${B.token}`);let r=await fetch(e,{headers:n});if(!r.ok)throw Error(`下载失败 (${r.status}): 无法下载,需要授权`);let i=await r.blob(),a=URL.createObjectURL(i),o=document.createElement(`a`);o.href=a,o.download=t,document.body.appendChild(o),o.click(),document.body.removeChild(o),URL.revokeObjectURL(a)},$=async e=>{try{let t=R.params.taskId,n=await p(`/api/export-mold`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({task_id:t,scheme_id:U.value?.scheme_id||V.selectedSchemeId,formats:[e],components:[`cavity`,`core`,`parting_surface`]})});if(n.status===`success`&&n.data.files){for(let e of n.data.files){let n=e.relative_path||(e.filepath?e.filepath.replace(/\\/g,`/`).split(`/`).slice(-2).join(`/`):``);await Sn(e.download_path||`/api/export-download/${encodeURI(n)}?task_id=${encodeURIComponent(t)}`,e.filename)}f(`已导出 ${n.data.files.length} 个 ${e.toUpperCase()} 文件`,`success`)}else n.data.errors&&n.data.errors.length>0&&f(`导出失败: ${n.data.errors[0]}`,`error`)}catch(e){f(`导出失败: ${e.message}`,`error`)}},Cn=async()=>{try{V.camLoading=!0,V.camError=``;let e={task_id:R.params.taskId,scheme_id:U.value?.scheme_id,mold_steel:V.camForm.mold_steel,surface_quality:V.camForm.surface_quality,controller:V.camForm.controller,include_gcode:V.camForm.include_gcode},t=await p(`/api/cam/plan`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(e)});V.camPlan=t?.data||null,t?.cam_preferences&&(V.camForm.mold_steel=t.cam_preferences.mold_steel||V.camForm.mold_steel,V.camForm.surface_quality=t.cam_preferences.surface_quality||V.camForm.surface_quality,V.camForm.controller=t.cam_preferences.controller||V.camForm.controller,V.camForm.include_gcode=!!t.cam_preferences.include_gcode),f(`CAM 计划生成完成`,`success`)}catch(e){V.camPlan=null,V.camError=e.message||`CAM 计划生成失败`,f(`CAM 计划生成失败: ${V.camError}`,`error`)}finally{V.camLoading=!1}};return(e,o)=>(t(),h(`div`,ce,[l(`div`,le,[l(`button`,{class:`btn-back`,onClick:o[0]||=e=>n(z).back()},[...o[12]||=[l(`svg`,{width:`16`,height:`16`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2.2`,"stroke-linecap":`round`,"stroke-linejoin":`round`},[l(`path`,{d:`M19 12H5M12 19l-7-7 7-7`})],-1),se(` 返回 `,-1)]]),o[13]||=l(`h1`,null,`分析结果`,-1)]),V.loading?(t(),h(`div`,ue,[...o[14]||=[l(`div`,{class:`spinner`},null,-1),l(`span`,null,`加载中...`,-1)]])):V.error?(t(),h(`div`,de,[l(`p`,null,g(V.error),1)])):V.task?(t(),h(`div`,fe,[l(`div`,pe,[l(`h2`,null,g(V.task.filename),1),l(`span`,{class:r([`badge`,V.task.status===`completed`?`badge-success`:`badge-error`])},g(V.task.status),3)]),l(`div`,me,[(t(),h(d,null,a(yn,e=>l(`a`,{key:e.id,class:`anchor-pill`,href:`#`+e.id},g(e.label),9,he)),64))]),l(`div`,ge,[l(`div`,{class:`result-card result-card-highlight`,style:{cursor:`pointer`},onClick:o[1]||=e=>Z(U.value?.scheme_id)},[l(`div`,_e,[o[15]||=l(`h3`,null,`推荐方案`,-1),l(`span`,v,g(U.value?.title||U.value?.scheme_id||`方案待定`),1)]),l(`div`,y,[l(`div`,b,[o[16]||=l(`span`,{class:`info-label`},`方案说明`,-1),l(`span`,x,g(U.value?.summary||U.value?.reason||`基于当前几何与制造约束自动推荐`),1)]),l(`div`,S,[o[17]||=l(`span`,{class:`info-label`},`分型方向`,-1),l(`span`,C,g(Q(U.value)),1)]),l(`div`,w,[o[18]||=l(`span`,{class:`info-label`},`模具结构`,-1),l(`span`,T,g(U.value?.mold_structure_type===`two_half_cavity`?`两板半腔(无独立模芯)`:`型腔 + 模芯`),1)]),l(`div`,E,[o[19]||=l(`span`,{class:`info-label`},`分型面位置`,-1),l(`span`,D,g(U.value?.offset_label||`中面`),1)]),l(`div`,O,[o[20]||=l(`span`,{class:`info-label`},`型腔数`,-1),l(`span`,k,g(vn.value)+` 腔`,1)]),l(`div`,A,[o[21]||=l(`span`,{class:`info-label`},`预计成型周期`,-1),l(`span`,j,g(un.value?.overall_assessment?.estimated_cycle_time||`N/A`)+` s`,1)])])]),H.value.length>1?(t(),h(`div`,{key:0,class:`result-card result-card-highlight`,style:{cursor:`pointer`},onClick:o[2]||=e=>Z(H.value[1]?.scheme_id)},[o[27]||=l(`div`,{class:`summary-header`},[l(`h3`,null,`备选方案`),l(`span`,{class:`badge badge-warning`},`1 个备选`)],-1),l(`div`,M,[(t(!0),h(d,null,a(H.value.slice(1,2),e=>(t(),h(d,{key:`alt-`+e.scheme_id},[l(`div`,N,[o[22]||=l(`span`,{class:`info-label`},`方案说明`,-1),l(`span`,P,g(e.summary||e.reason||`暂无说明`),1)]),l(`div`,F,[o[23]||=l(`span`,{class:`info-label`},`分型方向`,-1),l(`span`,I,g(Q(e)),1)]),l(`div`,ve,[o[24]||=l(`span`,{class:`info-label`},`模具结构`,-1),l(`span`,ye,g(e.mold_structure_type===`two_half_cavity`?`两板半腔(无独立模芯)`:`型腔 + 模芯`),1)]),l(`div`,be,[o[25]||=l(`span`,{class:`info-label`},`分型面位置`,-1),l(`span`,xe,g(e.offset_label||`中面`),1)]),l(`div`,Se,[o[26]||=l(`span`,{class:`info-label`},`方案总分`,-1),l(`span`,Ce,g(n(_)(e.score)),1)])],64))),128))])])):(t(),h(`div`,we,[o[29]||=l(`div`,{class:`summary-header`},[l(`h3`,null,`方案概览`),l(`span`,{class:`badge badge-success`},`单一方案`)],-1),l(`div`,Te,[l(`div`,Ee,[o[28]||=l(`span`,{class:`info-label`},`详细方案说明`,-1),l(`span`,De,g(U.value?.summary||U.value?.reason||`当前仅生成 1 套可用分模方案,已在推荐方案区域展示核心参数。`),1)])])]))]),V.task.status===`completed`?(t(),h(`div`,Oe,[l(`button`,{class:`btn-sm btn-primary`,onClick:o[3]||=e=>$(`step`),title:`导出装配体STEP格式(UG/FreeCAD/SolidWorks通用)`},` 📦 导出 STEP `),l(`button`,{class:`btn-sm btn-secondary`,onClick:o[4]||=e=>$(`iges`),title:`导出IGES格式(兼容旧系统)`},` 导出 IGES `),l(`button`,{class:`btn-sm btn-secondary`,onClick:o[5]||=e=>$(`stl`),title:`导出STL网格格式(3D打印预览)`},` 导出 STL `),l(`button`,{class:`btn-sm btn-secondary`,onClick:o[6]||=e=>$(`brep`),title:`导出BRep格式(FreeCAD原生)`},` 导出 BRep `)])):m(``,!0),G.value?(t(),h(`div`,ke,[o[31]||=l(`div`,{class:`summary-header`},[l(`h3`,null,`3D 预览`),l(`span`,{class:`badge badge-info`},`重点区域`)],-1),V.previewStatus===`error`?(t(),h(`div`,Ae,[o[30]||=l(`div`,{class:`inline-alert-title`},`预览加载失败`,-1),l(`div`,je,`HTML 已生成但加载异常,请检查该链接是否可访问:`+g(G.value),1)])):m(``,!0),(t(),h(`iframe`,{key:G.value,src:G.value,class:`viewer-frame viewer-frame-hero`,onLoad:bn,onError:xn},null,40,Me))])):(t(),h(`div`,Ne,[...o[32]||=[te(`

3D 预览

未生成
预览未生成
当前任务没有返回 HTML 预览链接,属于未生成状态。
`,2)]])),H.value.length>1?(t(),h(`div`,Pe,[o[34]||=l(`summary`,null,`📊 方案对比`,-1),l(`div`,Fe,[l(`table`,Ie,[o[33]||=l(`thead`,null,[l(`tr`,null,[l(`th`,null,`方案`),l(`th`,null,`方向`),l(`th`,null,`位置`),l(`th`,null,`总分`),l(`th`,null,`可制造性`),l(`th`,null,`分型质量`),l(`th`,null,`倒扣数`),l(`th`,null,`锁模力`)])],-1),l(`tbody`,null,[(t(!0),h(d,null,a(H.value.slice(0,2),(e,r)=>(t(),h(`tr`,{key:`cmp-`+e.scheme_id,style:s(V.selectedSchemeId===e.scheme_id?`background: rgba(var(--primary-rgb), 0.06); font-weight: 600;cursor:pointer`:`cursor:pointer`),onClick:t=>Z(e.scheme_id)},[l(`td`,null,[r===0?(t(),h(`span`,Re,`★ 推荐方案`)):(t(),h(`span`,ze,`备选方案`))]),l(`td`,null,g(Q(e)),1),l(`td`,null,g(e.offset_label||`中面`),1),l(`td`,null,g(n(_)(e.score)),1),l(`td`,null,g(n(_)(e.score_breakdown?.manufacturability||0)),1),l(`td`,null,g(n(_)(e.score_breakdown?.parting_quality||0)),1),l(`td`,null,g(e.key_info?.quality_considerations?.undercut_count||0),1),l(`td`,null,g(e.cavity_data?.manufacturing_info?.estimated_clamping_force||`N/A`),1)],12,Le))),128))])])])])):m(``,!0),l(`div`,Be,[l(`div`,Ve,[o[35]||=l(`h3`,null,`AI 倒扣与抽芯分析`,-1),J.value?(t(),h(`span`,{key:0,class:r([`badge`,J.value.status===`required`?`badge-error`:J.value.status===`not_required`?`badge-success`:`badge-warning`])},g(J.value.statusLabel),3)):(t(),h(`span`,He,`未生成`))]),J.value?(t(),h(`div`,Ue,[l(`div`,We,[o[40]||=l(`h4`,null,`AI 结论`,-1),l(`div`,Ge,[l(`div`,Ke,[o[36]||=l(`span`,{class:`info-label`},`判断结果`,-1),l(`span`,qe,g(J.value.conclusion),1)]),l(`div`,Je,[o[37]||=l(`span`,{class:`info-label`},`推荐方案`,-1),l(`span`,Ye,g(J.value.mechanismLabel),1)]),J.value.confidence==null?m(``,!0):(t(),h(`div`,Xe,[o[38]||=l(`span`,{class:`info-label`},`置信度`,-1),l(`span`,Ze,g(Math.round(J.value.confidence*100))+`%`,1)])),l(`div`,Qe,[o[39]||=l(`span`,{class:`info-label`},`分析来源`,-1),l(`span`,$e,g(J.value.source===`ai`?`AI 模型`:`规则回退`),1)])]),l(`div`,et,g(J.value.summary||`当前任务未返回更多摘要。`),1)]),l(`div`,tt,[J.value.reasons.length?(t(),h(`div`,nt,[o[41]||=l(`h4`,null,`判断依据`,-1),l(`div`,rt,[(t(!0),h(d,null,a(J.value.reasons,(e,n)=>(t(),h(`div`,{class:`recommendation-item medium`,key:`ai-reason-`+n},[l(`div`,it,g(e),1)]))),128))])])):m(``,!0),J.value.standardAdvice.length?(t(),h(`div`,at,[o[42]||=l(`h4`,null,`标准化建议`,-1),l(`div`,ot,[(t(!0),h(d,null,a(J.value.standardAdvice,(e,n)=>(t(),h(`div`,{class:`recommendation-item low`,key:`ai-advice-`+n},[l(`div`,st,g(e),1)]))),128))])])):m(``,!0),J.value.manualReviewItems.length?(t(),h(`div`,ct,[o[43]||=l(`h4`,null,`人工复核项`,-1),l(`div`,L,[(t(!0),h(d,null,a(J.value.manualReviewItems,(e,n)=>(t(),h(`div`,{class:`recommendation-item medium`,key:`ai-review-`+n},[l(`div`,lt,g(e),1)]))),128))])])):m(``,!0)])])):(t(),h(`div`,ut,[...o[44]||=[l(`div`,{class:`inline-alert-title`},`AI 结论未生成`,-1),l(`div`,{class:`inline-alert-message`},`当前任务未生成倒扣与抽芯 AI 分析,请检查模型配置或重新运行分析。`,-1)]]))]),l(`div`,dt,[o[64]||=l(`div`,{class:`summary-header`},[l(`h3`,null,`CAM 与 CNC 加工`),l(`span`,{class:`badge badge-info`},`工艺规划`)],-1),l(`div`,ft,[o[50]||=l(`h4`,null,`CAM 参数`,-1),l(`div`,pt,[l(`div`,mt,[o[45]||=l(`span`,{class:`info-label`},`模具钢`,-1),i(l(`select`,{"onUpdate:modelValue":o[7]||=e=>V.camForm.mold_steel=e,class:`form-select`},[(t(),h(d,null,a(an,e=>l(`option`,{key:`steel-`+e.value,value:e.value},g(e.label),9,ht)),64))],512),[[c,V.camForm.mold_steel]])]),l(`div`,gt,[o[46]||=l(`span`,{class:`info-label`},`表面质量`,-1),i(l(`select`,{"onUpdate:modelValue":o[8]||=e=>V.camForm.surface_quality=e,class:`form-select`},[(t(),h(d,null,a(on,e=>l(`option`,{key:`surf-`+e.value,value:e.value},g(e.label),9,_t)),64))],512),[[c,V.camForm.surface_quality]])]),l(`div`,vt,[o[47]||=l(`span`,{class:`info-label`},`控制器`,-1),i(l(`select`,{"onUpdate:modelValue":o[9]||=e=>V.camForm.controller=e,class:`form-select`},[(t(),h(d,null,a(sn,e=>l(`option`,{key:`ctrl-`+e.value,value:e.value},g(e.label),9,yt)),64))],512),[[c,V.camForm.controller]])]),l(`div`,bt,[o[49]||=l(`span`,{class:`info-label`},`包含G代码`,-1),l(`label`,xt,[i(l(`input`,{type:`checkbox`,class:`checkbox-input`,"onUpdate:modelValue":o[10]||=e=>V.camForm.include_gcode=e},null,512),[[oe,V.camForm.include_gcode]]),o[48]||=l(`span`,{class:`checkbox-label`},`返回G代码文本`,-1)])])]),l(`button`,{class:`btn-sm btn-primary`,disabled:V.camLoading,onClick:o[11]||=e=>Cn(),style:{"margin-top":`var(--space-2)`},title:`基于当前选中方案生成CAM工艺计划`},g(V.camLoading?`⏳ 生成中...`:`🔧 生成 CAM 计划`),9,St)]),V.camError?(t(),h(`div`,Ct,[o[51]||=l(`div`,{class:`inline-alert-title`},`CAM 计划生成失败`,-1),l(`div`,wt,g(V.camError),1)])):V.camPlan?(t(),h(d,{key:2},[l(`div`,Et,[l(`div`,Dt,[o[57]||=l(`h4`,null,`计划摘要`,-1),l(`div`,Ot,[l(`div`,kt,[o[53]||=l(`span`,{class:`info-label`},`方案ID`,-1),l(`span`,At,g(V.camPlan.scheme_id||`N/A`),1)]),l(`div`,jt,[o[54]||=l(`span`,{class:`info-label`},`总工序数`,-1),l(`span`,Mt,g(V.camPlan.summary?.total_operations||0),1)]),l(`div`,Nt,[o[55]||=l(`span`,{class:`info-label`},`预计总时长`,-1),l(`span`,Pt,g(n(_)(V.camPlan.summary?.total_estimated_time_min||0))+` min`,1)]),l(`div`,Ft,[o[56]||=l(`span`,{class:`info-label`},`方案可信度`,-1),l(`span`,It,g(n(_)(V.camPlan.confidence?.score||0)),1)])])]),l(`div`,Lt,[o[60]||=l(`h4`,null,`刀具建议`,-1),l(`div`,Rt,[l(`div`,zt,[o[58]||=l(`span`,{class:`info-label`},`粗加工刀具`,-1),l(`span`,Bt,g(V.camPlan.tooling_suggestion?.roughing_tool?.tool_id||`N/A`),1)]),l(`div`,Vt,[o[59]||=l(`span`,{class:`info-label`},`精加工刀具`,-1),l(`span`,Ht,g(V.camPlan.tooling_suggestion?.finishing_tool?.tool_id||`N/A`),1)])])])]),l(`div`,Ut,[o[62]||=l(`h4`,null,`工序计划`,-1),l(`table`,Wt,[o[61]||=l(`thead`,null,[l(`tr`,null,[l(`th`,null,`序号`),l(`th`,null,`工序`),l(`th`,null,`刀具`),l(`th`,null,`主轴转速`),l(`th`,null,`进给率`),l(`th`,null,`预计时长(min)`)])],-1),l(`tbody`,null,[(t(!0),h(d,null,a(V.camPlan.process_plan||[],e=>(t(),h(`tr`,{key:`cam-op-`+e.seq},[l(`td`,null,g(e.seq),1),l(`td`,null,g(e.operation),1),l(`td`,null,g(e.tool_id||`N/A`),1),l(`td`,null,g(n(_)(e.spindle_speed_rpm||0)),1),l(`td`,null,g(n(_)(e.feed_rate_mm_min||0)),1),l(`td`,null,g(n(_)(e.estimated_time_min||0)),1)]))),128))])])]),l(`div`,Gt,[o[63]||=l(`h4`,null,`制造风险提示`,-1),l(`div`,Kt,[(t(!0),h(d,null,a(V.camPlan.manufacturing_warnings||[],(e,n)=>(t(),h(`div`,{class:`recommendation-item medium`,key:`cam-warn-`+n},[l(`div`,qt,g(e),1)]))),128))])])],64)):(t(),h(`div`,Tt,[...o[52]||=[l(`div`,{class:`inline-alert-title`},`尚未生成 CAM 计划`,-1),l(`div`,{class:`inline-alert-message`},`点击上方"生成 CAM 计划"后,将返回工序计划、刀具建议与制造风险提示。`,-1)]]))]),hn.value?(t(),h(`div`,Jt,[l(`div`,Yt,[o[65]||=l(`h3`,null,`LLM 设计报告`,-1),l(`span`,{class:r([`badge`,(Y.value?.overall_score||0)>=7?`badge-success`:(Y.value?.overall_score||0)>=5?`badge-warning`:`badge-error`])},` 评分 `+g(Y.value?.overall_score||`N/A`)+` / 10 `,3)]),Y.value?.overview?(t(),h(`div`,Xt,g(Y.value?.overview),1)):m(``,!0),l(`div`,Zt,[(t(!0),h(d,null,a(gn.value,(e,n)=>(t(),h(`div`,{key:`dr-sec-`+n,class:r([`result-card`,e.type===`issues`?`result-card-highlight`:``])},[l(`h4`,{style:s(e.type===`issues`?`color: var(--danger-color);`:``)},g(e.heading),5),e.type===`issues`?(t(),h(`div`,Qt,[(t(!0),h(d,null,a(e.items,(e,n)=>(t(),h(`div`,{key:`dr-issue-`+n,class:r([`recommendation-item`,e.level===`high`?`high`:e.level===`medium`?`medium`:`low`])},[l(`span`,{class:r([`priority-badge`,e.level||`medium`]),style:{"margin-right":`var(--space-1)`}},g(e.level===`high`?`🔴`:e.level===`medium`?`🟡`:`🟢`),3),l(`div`,$t,g(e.content),1)],2))),128))])):e.type===`params_table`?(t(),h(`table`,en,[l(`thead`,null,[l(`tr`,null,[(t(!0),h(d,null,a(e.headers,(e,n)=>(t(),h(`th`,{key:`dr-h-`+n},g(e),1))),128))])]),l(`tbody`,null,[(t(!0),h(d,null,a(e.rows,(e,n)=>(t(),h(`tr`,{key:`dr-r-`+n},[(t(!0),h(d,null,a(e,(e,n)=>(t(),h(`td`,{key:`dr-c-`+n},g(e),1))),128))]))),128))])])):e.type===`recommendations`?(t(),h(`div`,tn,[(t(!0),h(d,null,a(e.items,(e,n)=>(t(),h(`div`,{class:`recommendation-item low`,key:`dr-rec-`+n},[l(`div`,nn,`💡 `+g(e),1)]))),128))])):(t(),h(`div`,rn,g(JSON.stringify(e)),1))],2))),128))])])):m(``,!0)])):m(``,!0)]))}});export{R as default}; \ No newline at end of file +import{C as e,D as t,I as n,L as r,N as i,O as a,P as o,R as s,T as ee,b as te,c as ne,d as c,g as l,h as u,l as re,m as d,n as f,o as p,r as ie,s as ae,u as oe,v as m,x as se,y as h,z as g}from"./index-Dyxl3OsB.js";import{a as _}from"./utils-COFIQvWo.js";var ce={class:`page-container`},le={class:`page-header`},ue={key:0,class:`loading-state`},de={key:1,class:`error-state`},fe={key:2,class:`result-container`},pe={class:`result-header`},me={class:`result-anchor-nav`},he=[`href`],ge={class:`result-grid result-priority-grid`},_e={class:`summary-header`},v={class:`badge badge-info`},y={class:`info-list`},b={class:`info-item`},x={class:`info-value`,style:{"font-weight":`600`,"font-size":`1.05rem`,color:`var(--text-primary)`}},S={class:`info-item`},C={class:`info-value`},w={class:`info-item`},T={class:`info-value`},E={class:`info-item`},D={class:`info-value`},O={class:`info-item`},k={class:`info-value`},A={class:`info-item`},j={class:`info-value`},M={class:`info-list`},N={class:`info-item`},P={class:`info-value`},F={class:`info-item`},I={class:`info-value`},ve={class:`info-item`},ye={class:`info-value`},be={class:`info-item`},xe={class:`info-value`},Se={class:`info-item`},Ce={class:`info-value`},we={key:1,class:`result-card result-card-highlight`},Te={class:`info-list`},Ee={class:`info-item`},De={class:`info-value`,style:{"font-weight":`500`}},Oe={key:0,class:`export-buttons-bar`,style:{display:`flex`,gap:`var(--space-2)`,"flex-wrap":`wrap`,"justify-content":`center`,padding:`var(--space-3) 0`}},ke={key:1,id:`preview-3d`,class:`viewer-section viewer-section-hero`},Ae={key:0,class:`inline-alert inline-alert-warning`,style:{"margin-bottom":`var(--space-3)`}},je={class:`inline-alert-message`},Me=[`src`],Ne={key:2,id:`preview-3d-placeholder`,class:`viewer-section viewer-section-hero`},Pe={key:3,id:`candidate-schemes`,class:`viewer-section diagnostic-panel`,style:{"margin-top":`var(--space-3)`}},Fe={class:`result-card full-width diagnostic-panel-body`},Ie={class:`data-table`},Le=[`onClick`],Re={key:0,style:{color:`var(--primary-color)`,"font-weight":`600`}},ze={key:1,style:{color:`var(--warning-color)`,"font-weight":`600`}},Be={id:`ai-side-action`,class:`viewer-section`},Ve={class:`summary-header`},He={key:1,class:`badge badge-warning`},Ue={key:0,class:`result-grid`},We={class:`result-card result-card-highlight`},Ge={class:`info-list`},Ke={class:`info-item`},qe={class:`info-value`},Je={class:`info-item`},Ye={class:`info-value`},Xe={key:0,class:`info-item`},Ze={class:`info-value`},Qe={class:`info-item`},$e={class:`info-value`},et={class:`inline-note`,style:{"margin-top":`var(--space-2)`,"font-weight":`600`,"font-size":`1rem`,color:`var(--text-primary)`}},tt={class:`result-card`},nt={key:0},rt={class:`recommendations-list`},it={class:`recommendation-text`},at={key:1,style:{"margin-top":`var(--space-3)`}},ot={class:`recommendations-list`},st={class:`recommendation-text`},ct={key:2,style:{"margin-top":`var(--space-3)`}},L={class:`recommendations-list`},lt={class:`recommendation-text`},ut={key:1,class:`inline-alert inline-alert-warning`},dt={id:`export-cam`,class:`viewer-section`},ft={class:`result-card`,style:{"margin-bottom":`var(--space-4)`}},pt={class:`info-list`},mt={class:`info-item`},ht=[`value`],gt={class:`info-item`},_t=[`value`],vt={class:`info-item`},yt=[`value`],bt={class:`info-item`},xt={class:`checkbox-group`},St=[`disabled`],Ct={key:0,class:`inline-alert inline-alert-warning`},wt={class:`inline-alert-message`},Tt={key:1,class:`inline-alert inline-alert-warning`},Et={class:`result-grid`},Dt={class:`result-card`},Ot={class:`info-list`},kt={class:`info-item`},At={class:`info-value`},jt={class:`info-item`},Mt={class:`info-value`},Nt={class:`info-item`},Pt={class:`info-value`},Ft={class:`info-item`},It={class:`info-value`},Lt={class:`result-card`},Rt={class:`info-list`},zt={class:`info-item`},Bt={class:`info-value`},Vt={class:`info-item`},Ht={class:`info-value`},Ut={class:`result-card full-width`},Wt={class:`data-table`},Gt={class:`result-card full-width`},Kt={class:`recommendations-list`},qt={class:`recommendation-text`},Jt={key:4,id:`llm-report`,class:`viewer-section`},Yt={class:`summary-header`},Xt={key:0,class:`inline-note`,style:{"margin-bottom":`var(--space-4)`,"font-size":`0.95rem`,color:`var(--text-primary)`}},Zt={class:`result-grid`},Qt={key:0,class:`recommendations-list`},$t={class:`recommendation-text`},en={key:1,class:`data-table`},tn={key:2,class:`recommendations-list`},nn={class:`recommendation-text`},rn={key:3,class:`inline-note`},R=e({__name:`ResultView`,setup(e){let R=ne(),z=re(),B=ae(),V=o({task:null,loading:!0,error:``,selectedSchemeId:null,previewStatus:`idle`,camLoading:!1,camError:``,camPlan:null,camForm:{mold_steel:`P20`,surface_quality:`standard`,controller:`fanuc`,include_gcode:!1}}),an=[{value:`P20`,label:`P20`},{value:`718H`,label:`718H`},{value:`NAK80`,label:`NAK80`},{value:`S136`,label:`S136`},{value:`H13`,label:`H13`}],on=[{value:`standard`,label:`标准`},{value:`fine`,label:`精细`},{value:`mirror`,label:`镜面`}],sn=[{value:`fanuc`,label:`Fanuc`},{value:`siemens`,label:`Siemens`}],cn=async()=>{try{V.task=await p(`/api/status/${R.params.taskId}`,{method:`POST`}),V.task?.best_scheme_id?V.selectedSchemeId=V.task.best_scheme_id:V.task?.candidate_schemes?.length&&(V.selectedSchemeId=V.task.candidate_schemes[0].scheme_id);let e=V.task?.cam_preferences||{};V.camForm.mold_steel=e.mold_steel||`P20`,V.camForm.surface_quality=e.surface_quality||`standard`,V.camForm.controller=e.controller||`fanuc`,V.camForm.include_gcode=!!e.include_gcode,V.previewStatus=`loading`}catch(e){V.error=ie(e,`加载任务详情`)}finally{V.loading=!1}};ee(()=>{if(!B.user){z.push(`/login`);return}cn()});let H=u(()=>V.task?.candidate_schemes||[]);u(()=>H.value.length===1);let U=u(()=>H.value.length?H.value.find(e=>e.scheme_id===V.selectedSchemeId)||H.value[0]:null),W=u(()=>U.value?.cavity_data||V.task?.cavity_data||null),ln=u(()=>U.value?.key_info||V.task?.key_info||null),G=u(()=>U.value?.html_file||V.task?.html_file||``),K=u(()=>U.value?.dfm_violations||[]),un=u(()=>W.value?.injection_system||V.task?.plan_result?.injection_system||null),dn=u(()=>U.value?.side_actions||W.value?.side_actions||V.task?.side_actions||null),fn=e=>{let t=String(e||``).match(/\s*([\s\S]*?)\s*/);if(!t)return null;try{return JSON.parse(t[1])}catch(e){return console.warn(`AI 倒扣分析解析失败:`,e),null}},pn=e=>{let t=String(e||``).match(/\s*([\s\S]*?)\s*/);if(!t)return null;try{return JSON.parse(t[1])}catch(e){return console.warn(`LLM 设计报告解析失败:`,e),null}},q=(e,t=`ai`)=>{if(!e||typeof e!=`object`)return null;let n=[`required`,`not_required`,`manual_review`].includes(e.status)?e.status:`manual_review`,r=[`slider`,`lifter`,`mixed`,`none`,`manual_review`].includes(e.mechanism_recommendation)?e.mechanism_recommendation:`manual_review`,i=Number(e.confidence),a={required:`需要倒扣/抽芯`,not_required:`无需倒扣/抽芯`,manual_review:`需人工确认`};return{source:t,status:n,statusLabel:a[n],mechanismRecommendation:r,mechanismLabel:{slider:`优先滑块`,lifter:`优先斜顶`,mixed:`滑块 + 斜顶`,none:`无需侧向机构`,manual_review:`人工评审`}[r],confidence:Number.isFinite(i)?Math.max(0,Math.min(i,1)):null,conclusion:e.conclusion||a[n],summary:e.summary||``,reasons:Array.isArray(e.reasons)?e.reasons.filter(Boolean).slice(0,5):[],standardAdvice:Array.isArray(e.standard_advice)?e.standard_advice.filter(Boolean).slice(0,5):[],manualReviewItems:Array.isArray(e.manual_review_items)?e.manual_review_items.filter(Boolean).slice(0,4):[]}},mn=u(()=>{let e=dn.value;if(!e||typeof e!=`object`)return null;let t=e.summary||{},n=(e.slider_mechanisms||[]).length,r=(e.lifter_mechanisms||[]).length,i=n+r,a=n&&r?`mixed`:n?`slider`:r?`lifter`:`none`,o=i>0?`required`:t.total_undercut_faces===0?`not_required`:`manual_review`;return q({status:o,confidence:.55,conclusion:o===`required`?`规则分析判断当前产品需要倒扣/抽芯机构`:o===`not_required`?`规则分析未发现必须采用倒扣/抽芯机构的特征`:`当前规则结果不足以完成稳定判断,建议人工复核`,mechanism_recommendation:a===`none`?`none`:a,summary:o===`required`?`检测到 ${n} 个滑块需求、${r} 个斜顶需求,建议先按标准机构路线做结构评审。`:o===`not_required`?`当前方案未发现明显倒扣特征,可优先按常规模具结构推进。`:`现有数据可用于初筛,但不足以替代工程师对复杂倒扣的最终确认。`,reasons:[i>0?`规则分析识别出 ${i} 处侧向机构需求`:`规则分析未识别出明确侧向机构需求`,t.complexity?`当前复杂度判定为 ${t.complexity}`:`当前复杂度信息不足`,`当前倒扣方案若存在大行程滑块,优先按气动抽芯条件评估`].filter(Boolean),standard_advice:(e.recommendations||[]).slice(0,4),manual_review_items:[`结合 3D 预览复核倒扣是否可通过改产品取消`,`确认侧向机构与顶出、冷却、分型面是否存在干涉`]},`rules`)});u(()=>{let e={critical:0,high:0,medium:0,low:0};return(K.value||[]).forEach(t=>{let n=String(t.level||`medium`).toLowerCase();e[n]===void 0?e.medium+=1:e[n]+=1}),e});let J=u(()=>q(fn(V.task?.llm_report||``),`ai`)||mn.value),Y=u(()=>pn(V.task?.llm_report||``)),hn=u(()=>Y.value&&(Y.value.sections&&Y.value.sections.length>0||!!Y.value.overview)),gn=u(()=>(Y.value?.sections||[]).filter(e=>e.type===`issues`?e.items?.length>0:e.type===`params_table`?e.rows?.length>0:e.type===`recommendations`?e.items?.length>0:!0));u(()=>{let e=V.task?.stage_timings||{};return Object.entries(e).filter(([,e])=>typeof e==`number`).sort((e,t)=>t[1]-e[1])});let _n=u(()=>{let e={critical:0,high:1,medium:2,low:3};return[...V.task?.analysis_result?.design_recommendations||[]].sort((t,n)=>(e[t.priority]??99)-(e[n.priority]??99))});u(()=>_n.value[0]||null);let X=u(()=>K.value?.length||0),vn=u(()=>{let e=W.value?.mold_cavities?.cavity_count;if(typeof e==`number`)return e;let t=W.value?.mold_cavities||ln.value?.mold_cavities||{};return t.cavity_count||Object.keys(t).filter(e=>e.startsWith(`cavity_`)).length||1});u(()=>X.value?X.value>=4?`高风险`:X.value>=2?`中风险`:`低风险`:`低风险`);let yn=[{id:`candidate-schemes`,label:`方案`},{id:`preview-3d`,label:`预览`},{id:`ai-side-action`,label:`AI倒扣分析`},{id:`export-cam`,label:`CAM/CNC`},{id:`llm-report`,label:`设计报告`}],Z=e=>{e&&(V.selectedSchemeId=e),V.previewStatus=`loading`,V.camPlan=null,V.camError=``},bn=()=>{V.previewStatus=`loaded`},xn=()=>{V.previewStatus=`error`},Q=e=>{if(!e)return`N/A`;if(e.parting?.axis)return`${e.parting.axis} 轴`;let t=e.parting?.direction;return Array.isArray(t)?`[${t.map(e=>Number(e).toFixed(2)).join(`, `)}]`:`N/A`};u(()=>V.task?.analysis_result?.detected_features||[]);let Sn=async(e,t)=>{let n={};B.token&&(n.Authorization=`Bearer ${B.token}`);let r=await fetch(e,{headers:n});if(!r.ok)throw Error(`下载失败 (${r.status}): 无法下载,需要授权`);let i=await r.blob(),a=URL.createObjectURL(i),o=document.createElement(`a`);o.href=a,o.download=t,document.body.appendChild(o),o.click(),document.body.removeChild(o),URL.revokeObjectURL(a)},$=async e=>{try{let t=R.params.taskId,n=await p(`/api/export-mold`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({task_id:t,scheme_id:U.value?.scheme_id||V.selectedSchemeId,formats:[e],components:[`cavity`,`core`,`parting_surface`]})});if(n.status===`success`&&n.data.files){for(let e of n.data.files){let n=e.relative_path||(e.filepath?e.filepath.replace(/\\/g,`/`).split(`/`).slice(-2).join(`/`):``);await Sn(e.download_path||`/api/export-download/${encodeURI(n)}?task_id=${encodeURIComponent(t)}`,e.filename)}f(`已导出 ${n.data.files.length} 个 ${e.toUpperCase()} 文件`,`success`)}else n.data.errors&&n.data.errors.length>0&&f(`导出失败: ${n.data.errors[0]}`,`error`)}catch(e){f(`导出失败: ${e.message}`,`error`)}},Cn=async()=>{try{V.camLoading=!0,V.camError=``;let e={task_id:R.params.taskId,scheme_id:U.value?.scheme_id,mold_steel:V.camForm.mold_steel,surface_quality:V.camForm.surface_quality,controller:V.camForm.controller,include_gcode:V.camForm.include_gcode},t=await p(`/api/cam/plan`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(e)});V.camPlan=t?.data||null,t?.cam_preferences&&(V.camForm.mold_steel=t.cam_preferences.mold_steel||V.camForm.mold_steel,V.camForm.surface_quality=t.cam_preferences.surface_quality||V.camForm.surface_quality,V.camForm.controller=t.cam_preferences.controller||V.camForm.controller,V.camForm.include_gcode=!!t.cam_preferences.include_gcode),f(`CAM 计划生成完成`,`success`)}catch(e){V.camPlan=null,V.camError=e.message||`CAM 计划生成失败`,f(`CAM 计划生成失败: ${V.camError}`,`error`)}finally{V.camLoading=!1}};return(e,o)=>(t(),h(`div`,ce,[l(`div`,le,[l(`button`,{class:`btn-back`,onClick:o[0]||=e=>n(z).back()},[...o[12]||=[l(`svg`,{width:`16`,height:`16`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2.2`,"stroke-linecap":`round`,"stroke-linejoin":`round`},[l(`path`,{d:`M19 12H5M12 19l-7-7 7-7`})],-1),se(` 返回 `,-1)]]),o[13]||=l(`h1`,null,`分析结果`,-1)]),V.loading?(t(),h(`div`,ue,[...o[14]||=[l(`div`,{class:`spinner`},null,-1),l(`span`,null,`加载中...`,-1)]])):V.error?(t(),h(`div`,de,[l(`p`,null,g(V.error),1)])):V.task?(t(),h(`div`,fe,[l(`div`,pe,[l(`h2`,null,g(V.task.filename),1),l(`span`,{class:r([`badge`,V.task.status===`completed`?`badge-success`:`badge-error`])},g(V.task.status),3)]),l(`div`,me,[(t(),h(d,null,a(yn,e=>l(`a`,{key:e.id,class:`anchor-pill`,href:`#`+e.id},g(e.label),9,he)),64))]),l(`div`,ge,[l(`div`,{class:`result-card result-card-highlight`,style:{cursor:`pointer`},onClick:o[1]||=e=>Z(U.value?.scheme_id)},[l(`div`,_e,[o[15]||=l(`h3`,null,`推荐方案`,-1),l(`span`,v,g(U.value?.title||U.value?.scheme_id||`方案待定`),1)]),l(`div`,y,[l(`div`,b,[o[16]||=l(`span`,{class:`info-label`},`方案说明`,-1),l(`span`,x,g(U.value?.summary||U.value?.reason||`基于当前几何与制造约束自动推荐`),1)]),l(`div`,S,[o[17]||=l(`span`,{class:`info-label`},`分型方向`,-1),l(`span`,C,g(Q(U.value)),1)]),l(`div`,w,[o[18]||=l(`span`,{class:`info-label`},`模具结构`,-1),l(`span`,T,g(U.value?.mold_structure_type===`two_half_cavity`?`两板半腔(无独立模芯)`:`型腔 + 模芯`),1)]),l(`div`,E,[o[19]||=l(`span`,{class:`info-label`},`分型面位置`,-1),l(`span`,D,g(U.value?.offset_label||`中面`),1)]),l(`div`,O,[o[20]||=l(`span`,{class:`info-label`},`型腔数`,-1),l(`span`,k,g(vn.value)+` 腔`,1)]),l(`div`,A,[o[21]||=l(`span`,{class:`info-label`},`预计成型周期`,-1),l(`span`,j,g(un.value?.overall_assessment?.estimated_cycle_time||`N/A`)+` s`,1)])])]),H.value.length>1?(t(),h(`div`,{key:0,class:`result-card result-card-highlight`,style:{cursor:`pointer`},onClick:o[2]||=e=>Z(H.value[1]?.scheme_id)},[o[27]||=l(`div`,{class:`summary-header`},[l(`h3`,null,`备选方案`),l(`span`,{class:`badge badge-warning`},`1 个备选`)],-1),l(`div`,M,[(t(!0),h(d,null,a(H.value.slice(1,2),e=>(t(),h(d,{key:`alt-`+e.scheme_id},[l(`div`,N,[o[22]||=l(`span`,{class:`info-label`},`方案说明`,-1),l(`span`,P,g(e.summary||e.reason||`暂无说明`),1)]),l(`div`,F,[o[23]||=l(`span`,{class:`info-label`},`分型方向`,-1),l(`span`,I,g(Q(e)),1)]),l(`div`,ve,[o[24]||=l(`span`,{class:`info-label`},`模具结构`,-1),l(`span`,ye,g(e.mold_structure_type===`two_half_cavity`?`两板半腔(无独立模芯)`:`型腔 + 模芯`),1)]),l(`div`,be,[o[25]||=l(`span`,{class:`info-label`},`分型面位置`,-1),l(`span`,xe,g(e.offset_label||`中面`),1)]),l(`div`,Se,[o[26]||=l(`span`,{class:`info-label`},`方案总分`,-1),l(`span`,Ce,g(n(_)(e.score)),1)])],64))),128))])])):(t(),h(`div`,we,[o[29]||=l(`div`,{class:`summary-header`},[l(`h3`,null,`方案概览`),l(`span`,{class:`badge badge-success`},`单一方案`)],-1),l(`div`,Te,[l(`div`,Ee,[o[28]||=l(`span`,{class:`info-label`},`详细方案说明`,-1),l(`span`,De,g(U.value?.summary||U.value?.reason||`当前仅生成 1 套可用分模方案,已在推荐方案区域展示核心参数。`),1)])])]))]),V.task.status===`completed`?(t(),h(`div`,Oe,[l(`button`,{class:`btn-sm btn-primary`,onClick:o[3]||=e=>$(`step`),title:`导出装配体STEP格式(UG/FreeCAD/SolidWorks通用)`},` 📦 导出 STEP `),l(`button`,{class:`btn-sm btn-secondary`,onClick:o[4]||=e=>$(`iges`),title:`导出IGES格式(兼容旧系统)`},` 导出 IGES `),l(`button`,{class:`btn-sm btn-secondary`,onClick:o[5]||=e=>$(`stl`),title:`导出STL网格格式(3D打印预览)`},` 导出 STL `),l(`button`,{class:`btn-sm btn-secondary`,onClick:o[6]||=e=>$(`brep`),title:`导出BRep格式(FreeCAD原生)`},` 导出 BRep `)])):m(``,!0),G.value?(t(),h(`div`,ke,[o[31]||=l(`div`,{class:`summary-header`},[l(`h3`,null,`3D 预览`),l(`span`,{class:`badge badge-info`},`重点区域`)],-1),V.previewStatus===`error`?(t(),h(`div`,Ae,[o[30]||=l(`div`,{class:`inline-alert-title`},`预览加载失败`,-1),l(`div`,je,`HTML 已生成但加载异常,请检查该链接是否可访问:`+g(G.value),1)])):m(``,!0),(t(),h(`iframe`,{key:G.value,src:G.value,class:`viewer-frame viewer-frame-hero`,onLoad:bn,onError:xn},null,40,Me))])):(t(),h(`div`,Ne,[...o[32]||=[te(`

3D 预览

未生成
预览未生成
当前任务没有返回 HTML 预览链接,属于未生成状态。
`,2)]])),H.value.length>1?(t(),h(`div`,Pe,[o[34]||=l(`summary`,null,`📊 方案对比`,-1),l(`div`,Fe,[l(`table`,Ie,[o[33]||=l(`thead`,null,[l(`tr`,null,[l(`th`,null,`方案`),l(`th`,null,`方向`),l(`th`,null,`位置`),l(`th`,null,`总分`),l(`th`,null,`可制造性`),l(`th`,null,`分型质量`),l(`th`,null,`倒扣数`),l(`th`,null,`锁模力`)])],-1),l(`tbody`,null,[(t(!0),h(d,null,a(H.value.slice(0,2),(e,r)=>(t(),h(`tr`,{key:`cmp-`+e.scheme_id,style:s(V.selectedSchemeId===e.scheme_id?`background: rgba(var(--primary-rgb), 0.06); font-weight: 600;cursor:pointer`:`cursor:pointer`),onClick:t=>Z(e.scheme_id)},[l(`td`,null,[r===0?(t(),h(`span`,Re,`★ 推荐方案`)):(t(),h(`span`,ze,`备选方案`))]),l(`td`,null,g(Q(e)),1),l(`td`,null,g(e.offset_label||`中面`),1),l(`td`,null,g(n(_)(e.score)),1),l(`td`,null,g(n(_)(e.score_breakdown?.manufacturability||0)),1),l(`td`,null,g(n(_)(e.score_breakdown?.parting_quality||0)),1),l(`td`,null,g(e.key_info?.quality_considerations?.undercut_count||0),1),l(`td`,null,g(e.cavity_data?.manufacturing_info?.estimated_clamping_force||`N/A`),1)],12,Le))),128))])])])])):m(``,!0),l(`div`,Be,[l(`div`,Ve,[o[35]||=l(`h3`,null,`AI 倒扣与抽芯分析`,-1),J.value?(t(),h(`span`,{key:0,class:r([`badge`,J.value.status===`required`?`badge-error`:J.value.status===`not_required`?`badge-success`:`badge-warning`])},g(J.value.statusLabel),3)):(t(),h(`span`,He,`未生成`))]),J.value?(t(),h(`div`,Ue,[l(`div`,We,[o[40]||=l(`h4`,null,`AI 结论`,-1),l(`div`,Ge,[l(`div`,Ke,[o[36]||=l(`span`,{class:`info-label`},`判断结果`,-1),l(`span`,qe,g(J.value.conclusion),1)]),l(`div`,Je,[o[37]||=l(`span`,{class:`info-label`},`推荐方案`,-1),l(`span`,Ye,g(J.value.mechanismLabel),1)]),J.value.confidence==null?m(``,!0):(t(),h(`div`,Xe,[o[38]||=l(`span`,{class:`info-label`},`置信度`,-1),l(`span`,Ze,g(Math.round(J.value.confidence*100))+`%`,1)])),l(`div`,Qe,[o[39]||=l(`span`,{class:`info-label`},`分析来源`,-1),l(`span`,$e,g(J.value.source===`ai`?`AI 模型`:`规则回退`),1)])]),l(`div`,et,g(J.value.summary||`当前任务未返回更多摘要。`),1)]),l(`div`,tt,[J.value.reasons.length?(t(),h(`div`,nt,[o[41]||=l(`h4`,null,`判断依据`,-1),l(`div`,rt,[(t(!0),h(d,null,a(J.value.reasons,(e,n)=>(t(),h(`div`,{class:`recommendation-item medium`,key:`ai-reason-`+n},[l(`div`,it,g(e),1)]))),128))])])):m(``,!0),J.value.standardAdvice.length?(t(),h(`div`,at,[o[42]||=l(`h4`,null,`标准化建议`,-1),l(`div`,ot,[(t(!0),h(d,null,a(J.value.standardAdvice,(e,n)=>(t(),h(`div`,{class:`recommendation-item low`,key:`ai-advice-`+n},[l(`div`,st,g(e),1)]))),128))])])):m(``,!0),J.value.manualReviewItems.length?(t(),h(`div`,ct,[o[43]||=l(`h4`,null,`人工复核项`,-1),l(`div`,L,[(t(!0),h(d,null,a(J.value.manualReviewItems,(e,n)=>(t(),h(`div`,{class:`recommendation-item medium`,key:`ai-review-`+n},[l(`div`,lt,g(e),1)]))),128))])])):m(``,!0)])])):(t(),h(`div`,ut,[...o[44]||=[l(`div`,{class:`inline-alert-title`},`AI 结论未生成`,-1),l(`div`,{class:`inline-alert-message`},`当前任务未生成倒扣与抽芯 AI 分析,请检查模型配置或重新运行分析。`,-1)]]))]),l(`div`,dt,[o[64]||=l(`div`,{class:`summary-header`},[l(`h3`,null,`CAM 与 CNC 加工`),l(`span`,{class:`badge badge-info`},`工艺规划`)],-1),l(`div`,ft,[o[50]||=l(`h4`,null,`CAM 参数`,-1),l(`div`,pt,[l(`div`,mt,[o[45]||=l(`span`,{class:`info-label`},`模具钢`,-1),i(l(`select`,{"onUpdate:modelValue":o[7]||=e=>V.camForm.mold_steel=e,class:`form-select`},[(t(),h(d,null,a(an,e=>l(`option`,{key:`steel-`+e.value,value:e.value},g(e.label),9,ht)),64))],512),[[c,V.camForm.mold_steel]])]),l(`div`,gt,[o[46]||=l(`span`,{class:`info-label`},`表面质量`,-1),i(l(`select`,{"onUpdate:modelValue":o[8]||=e=>V.camForm.surface_quality=e,class:`form-select`},[(t(),h(d,null,a(on,e=>l(`option`,{key:`surf-`+e.value,value:e.value},g(e.label),9,_t)),64))],512),[[c,V.camForm.surface_quality]])]),l(`div`,vt,[o[47]||=l(`span`,{class:`info-label`},`控制器`,-1),i(l(`select`,{"onUpdate:modelValue":o[9]||=e=>V.camForm.controller=e,class:`form-select`},[(t(),h(d,null,a(sn,e=>l(`option`,{key:`ctrl-`+e.value,value:e.value},g(e.label),9,yt)),64))],512),[[c,V.camForm.controller]])]),l(`div`,bt,[o[49]||=l(`span`,{class:`info-label`},`包含G代码`,-1),l(`label`,xt,[i(l(`input`,{type:`checkbox`,class:`checkbox-input`,"onUpdate:modelValue":o[10]||=e=>V.camForm.include_gcode=e},null,512),[[oe,V.camForm.include_gcode]]),o[48]||=l(`span`,{class:`checkbox-label`},`返回G代码文本`,-1)])])]),l(`button`,{class:`btn-sm btn-primary`,disabled:V.camLoading,onClick:o[11]||=e=>Cn(),style:{"margin-top":`var(--space-2)`},title:`基于当前选中方案生成CAM工艺计划`},g(V.camLoading?`⏳ 生成中...`:`🔧 生成 CAM 计划`),9,St)]),V.camError?(t(),h(`div`,Ct,[o[51]||=l(`div`,{class:`inline-alert-title`},`CAM 计划生成失败`,-1),l(`div`,wt,g(V.camError),1)])):V.camPlan?(t(),h(d,{key:2},[l(`div`,Et,[l(`div`,Dt,[o[57]||=l(`h4`,null,`计划摘要`,-1),l(`div`,Ot,[l(`div`,kt,[o[53]||=l(`span`,{class:`info-label`},`方案ID`,-1),l(`span`,At,g(V.camPlan.scheme_id||`N/A`),1)]),l(`div`,jt,[o[54]||=l(`span`,{class:`info-label`},`总工序数`,-1),l(`span`,Mt,g(V.camPlan.summary?.total_operations||0),1)]),l(`div`,Nt,[o[55]||=l(`span`,{class:`info-label`},`预计总时长`,-1),l(`span`,Pt,g(n(_)(V.camPlan.summary?.total_estimated_time_min||0))+` min`,1)]),l(`div`,Ft,[o[56]||=l(`span`,{class:`info-label`},`方案可信度`,-1),l(`span`,It,g(n(_)(V.camPlan.confidence?.score||0)),1)])])]),l(`div`,Lt,[o[60]||=l(`h4`,null,`刀具建议`,-1),l(`div`,Rt,[l(`div`,zt,[o[58]||=l(`span`,{class:`info-label`},`粗加工刀具`,-1),l(`span`,Bt,g(V.camPlan.tooling_suggestion?.roughing_tool?.tool_id||`N/A`),1)]),l(`div`,Vt,[o[59]||=l(`span`,{class:`info-label`},`精加工刀具`,-1),l(`span`,Ht,g(V.camPlan.tooling_suggestion?.finishing_tool?.tool_id||`N/A`),1)])])])]),l(`div`,Ut,[o[62]||=l(`h4`,null,`工序计划`,-1),l(`table`,Wt,[o[61]||=l(`thead`,null,[l(`tr`,null,[l(`th`,null,`序号`),l(`th`,null,`工序`),l(`th`,null,`刀具`),l(`th`,null,`主轴转速`),l(`th`,null,`进给率`),l(`th`,null,`预计时长(min)`)])],-1),l(`tbody`,null,[(t(!0),h(d,null,a(V.camPlan.process_plan||[],e=>(t(),h(`tr`,{key:`cam-op-`+e.seq},[l(`td`,null,g(e.seq),1),l(`td`,null,g(e.operation),1),l(`td`,null,g(e.tool_id||`N/A`),1),l(`td`,null,g(n(_)(e.spindle_speed_rpm||0)),1),l(`td`,null,g(n(_)(e.feed_rate_mm_min||0)),1),l(`td`,null,g(n(_)(e.estimated_time_min||0)),1)]))),128))])])]),l(`div`,Gt,[o[63]||=l(`h4`,null,`制造风险提示`,-1),l(`div`,Kt,[(t(!0),h(d,null,a(V.camPlan.manufacturing_warnings||[],(e,n)=>(t(),h(`div`,{class:`recommendation-item medium`,key:`cam-warn-`+n},[l(`div`,qt,g(e),1)]))),128))])])],64)):(t(),h(`div`,Tt,[...o[52]||=[l(`div`,{class:`inline-alert-title`},`尚未生成 CAM 计划`,-1),l(`div`,{class:`inline-alert-message`},`点击上方"生成 CAM 计划"后,将返回工序计划、刀具建议与制造风险提示。`,-1)]]))]),hn.value?(t(),h(`div`,Jt,[l(`div`,Yt,[o[65]||=l(`h3`,null,`LLM 设计报告`,-1),l(`span`,{class:r([`badge`,(Y.value?.overall_score||0)>=7?`badge-success`:(Y.value?.overall_score||0)>=5?`badge-warning`:`badge-error`])},` 评分 `+g(Y.value?.overall_score||`N/A`)+` / 10 `,3)]),Y.value?.overview?(t(),h(`div`,Xt,g(Y.value?.overview),1)):m(``,!0),l(`div`,Zt,[(t(!0),h(d,null,a(gn.value,(e,n)=>(t(),h(`div`,{key:`dr-sec-`+n,class:r([`result-card`,e.type===`issues`?`result-card-highlight`:``])},[l(`h4`,{style:s(e.type===`issues`?`color: var(--danger-color);`:``)},g(e.heading),5),e.type===`issues`?(t(),h(`div`,Qt,[(t(!0),h(d,null,a(e.items,(e,n)=>(t(),h(`div`,{key:`dr-issue-`+n,class:r([`recommendation-item`,e.level===`high`?`high`:e.level===`medium`?`medium`:`low`])},[l(`span`,{class:r([`priority-badge`,e.level||`medium`]),style:{"margin-right":`var(--space-1)`}},g(e.level===`high`?`🔴`:e.level===`medium`?`🟡`:`🟢`),3),l(`div`,$t,g(e.content),1)],2))),128))])):e.type===`params_table`?(t(),h(`table`,en,[l(`thead`,null,[l(`tr`,null,[(t(!0),h(d,null,a(e.headers,(e,n)=>(t(),h(`th`,{key:`dr-h-`+n},g(e),1))),128))])]),l(`tbody`,null,[(t(!0),h(d,null,a(e.rows,(e,n)=>(t(),h(`tr`,{key:`dr-r-`+n},[(t(!0),h(d,null,a(e,(e,n)=>(t(),h(`td`,{key:`dr-c-`+n},g(e),1))),128))]))),128))])])):e.type===`recommendations`?(t(),h(`div`,tn,[(t(!0),h(d,null,a(e.items,(e,n)=>(t(),h(`div`,{class:`recommendation-item low`,key:`dr-rec-`+n},[l(`div`,nn,`💡 `+g(e),1)]))),128))])):(t(),h(`div`,rn,g(JSON.stringify(e)),1))],2))),128))])])):m(``,!0)])):m(``,!0)]))}});export{R as default}; \ No newline at end of file diff --git a/static/assets/UsersView-D4WXKojS.js b/static/assets/UsersView-FmP8hKPZ.js similarity index 98% rename from static/assets/UsersView-D4WXKojS.js rename to static/assets/UsersView-FmP8hKPZ.js index 6c22ea8..e3a95a4 100644 --- a/static/assets/UsersView-D4WXKojS.js +++ b/static/assets/UsersView-FmP8hKPZ.js @@ -1 +1 @@ -import{C as e,D as t,I as n,L as r,N as i,O as a,P as o,T as s,f as c,g as l,l as u,m as d,n as f,o as p,p as m,s as h,u as g,v as _,x as v,y,z as b}from"./index-Tuyb_Kvo.js";import{r as x}from"./utils-COFIQvWo.js";var S={class:`page-container`},C={class:`page-header`},w={key:0,class:`loading-state`},T={key:1,class:`table-container`},E={class:`data-table`},D={class:`action-buttons`,style:{display:`flex`,gap:`4px`}},O=[`onClick`],k=[`onClick`],A=[`onClick`],j={class:`modal-content`},M={class:`modal-header`},N={class:`modal-body`},P={class:`form-group`},F=[`disabled`],I={class:`form-group`},L={key:0,class:`form-group`},R={class:`form-group`},z={class:`form-group`},B={class:`checkbox-group`,style:{"flex-direction":`column`,gap:`8px`}},V=[`value`],H={class:`modal-footer`},U=e({__name:`UsersView`,setup(e){let U=u(),W=h(),G=W.user,K=o({users:[],roles:[],loading:!0,showUserModal:!1,editingUser:null,userForm:{username:``,email:``,password:``,full_name:``,role_ids:[]}}),q=async()=>{try{K.users=await p(`/api/auth/users`)}catch(e){f(e.message||`加载用户列表失败`,`error`)}finally{K.loading=!1}},J=async()=>{try{K.roles=await p(`/api/auth/roles`)}catch(e){f(e.message||`加载角色列表失败`,`error`)}},Y=(e=null)=>{K.editingUser=e,e?K.userForm={username:e.username,email:e.email,password:``,full_name:e.full_name||``,role_ids:e.roles.map(e=>{let t=K.roles.find(t=>t.code===e);return t?t.id:null}).filter(e=>e!==null)}:K.userForm={username:``,email:``,password:``,full_name:``,role_ids:[]},K.showUserModal=!0},X=async()=>{if(!K.userForm.username||!K.userForm.email){f(`请填写用户名和邮箱`,`error`);return}if(!K.editingUser&&!K.userForm.password){f(`请填写密码`,`error`);return}try{K.editingUser?(await p(`/api/auth/users/${K.editingUser.id}`,{method:`PUT`,body:JSON.stringify({email:K.userForm.email,full_name:K.userForm.full_name||null,role_ids:K.userForm.role_ids})}),f(`用户更新成功`,`success`)):(await p(`/api/auth/users`,{method:`POST`,body:JSON.stringify(K.userForm)}),f(`用户创建成功`,`success`)),K.showUserModal=!1,q()}catch(e){f(e.message||`保存用户失败`,`error`)}},Z=async e=>{if(confirm(`确定要删除用户 ${e.username} 吗?`))try{await p(`/api/auth/users/${e.id}`,{method:`DELETE`}),f(`用户已删除`,`success`),q()}catch(e){f(e.message||`删除用户失败`,`error`)}},Q=async e=>{let t=prompt(`请输入 ${e.username} 的新密码:`);if(!t||t.length<6){f(`密码长度至少6位`,`error`);return}try{await p(`/api/auth/users/${e.id}/reset-password`,{method:`PUT`,body:JSON.stringify(t)}),f(`密码已重置`,`success`)}catch(e){f(e.message||`重置密码失败`,`error`)}};return s(async()=>{if(!W.user?.is_superuser){U.push(`/`);return}await J(),q()}),(e,o)=>(t(),y(`div`,S,[l(`div`,C,[o[9]||=l(`div`,null,[l(`h1`,null,`用户管理`),l(`p`,null,`管理系统用户和权限`)],-1),l(`button`,{class:`btn btn-primary`,onClick:o[0]||=e=>Y()},`+ 添加用户`)]),K.loading?(t(),y(`div`,w,[...o[10]||=[l(`div`,{class:`loading-spinner`},null,-1),l(`span`,null,`加载中...`,-1)]])):(t(),y(`div`,T,[l(`table`,E,[o[11]||=l(`thead`,null,[l(`tr`,null,[l(`th`,null,`用户名`),l(`th`,null,`邮箱`),l(`th`,null,`姓名`),l(`th`,null,`状态`),l(`th`,null,`角色`),l(`th`,null,`注册时间`),l(`th`,null,`操作`)])],-1),l(`tbody`,null,[(t(!0),y(d,null,a(K.users,e=>(t(),y(`tr`,{key:e.id},[l(`td`,null,b(e.username),1),l(`td`,null,b(e.email),1),l(`td`,null,b(e.full_name||`-`),1),l(`td`,null,[l(`span`,{class:r([`badge`,e.is_active?`badge-success`:`badge-error`])},b(e.is_active?`正常`:`禁用`),3)]),l(`td`,null,[(t(!0),y(d,null,a(e.roles,e=>(t(),y(`span`,{key:e,class:`badge badge-info`,style:{"margin-right":`4px`}},b(e),1))),128))]),l(`td`,null,b(n(x)(e.created_at)),1),l(`td`,null,[l(`div`,D,[l(`button`,{class:`btn btn-sm`,style:{background:`var(--primary-500)`,color:`white`},onClick:t=>Y(e)},`编辑`,8,O),l(`button`,{class:`btn btn-sm`,style:{background:`#eab308`,color:`white`},onClick:t=>Q(e)},`重置密码`,8,k),e.id===n(G)?.id?_(``,!0):(t(),y(`button`,{key:0,class:`btn btn-sm`,style:{background:`var(--error)`,color:`white`},onClick:t=>Z(e)},`删除`,8,A))])])]))),128))])])])),K.showUserModal?(t(),y(`div`,{key:2,class:`modal-overlay`,onClick:o[8]||=m(e=>K.showUserModal=!1,[`self`])},[l(`div`,j,[l(`div`,M,[l(`h2`,null,b(K.editingUser?`编辑用户`:`添加用户`),1),l(`button`,{class:`modal-close`,onClick:o[1]||=e=>K.showUserModal=!1},`×`)]),l(`div`,N,[l(`div`,P,[o[12]||=l(`label`,{class:`form-label`},`用户名`,-1),i(l(`input`,{"onUpdate:modelValue":o[2]||=e=>K.userForm.username=e,type:`text`,class:`form-input`,disabled:!!K.editingUser},null,8,F),[[c,K.userForm.username]])]),l(`div`,I,[o[13]||=l(`label`,{class:`form-label`},`邮箱`,-1),i(l(`input`,{"onUpdate:modelValue":o[3]||=e=>K.userForm.email=e,type:`email`,class:`form-input`},null,512),[[c,K.userForm.email]])]),K.editingUser?_(``,!0):(t(),y(`div`,L,[o[14]||=l(`label`,{class:`form-label`},`密码`,-1),i(l(`input`,{"onUpdate:modelValue":o[4]||=e=>K.userForm.password=e,type:`password`,class:`form-input`},null,512),[[c,K.userForm.password]])])),l(`div`,R,[o[15]||=l(`label`,{class:`form-label`},`姓名`,-1),i(l(`input`,{"onUpdate:modelValue":o[5]||=e=>K.userForm.full_name=e,type:`text`,class:`form-input`},null,512),[[c,K.userForm.full_name]])]),l(`div`,z,[o[16]||=l(`label`,{class:`form-label`},`角色`,-1),l(`div`,B,[(t(!0),y(d,null,a(K.roles,e=>(t(),y(`label`,{key:e.id,class:`checkbox-label`},[i(l(`input`,{type:`checkbox`,value:e.id,"onUpdate:modelValue":o[6]||=e=>K.userForm.role_ids=e,class:`checkbox-input`},null,8,V),[[g,K.userForm.role_ids]]),v(` `+b(e.name),1)]))),128))])])]),l(`div`,H,[l(`button`,{class:`btn btn-secondary`,onClick:o[7]||=e=>K.showUserModal=!1},`取消`),l(`button`,{class:`btn btn-primary`,onClick:X},`保存`)])])])):_(``,!0)]))}});export{U as default}; \ No newline at end of file +import{C as e,D as t,I as n,L as r,N as i,O as a,P as o,T as s,f as c,g as l,l as u,m as d,n as f,o as p,p as m,s as h,u as g,v as _,x as v,y,z as b}from"./index-Dyxl3OsB.js";import{r as x}from"./utils-COFIQvWo.js";var S={class:`page-container`},C={class:`page-header`},w={key:0,class:`loading-state`},T={key:1,class:`table-container`},E={class:`data-table`},D={class:`action-buttons`,style:{display:`flex`,gap:`4px`}},O=[`onClick`],k=[`onClick`],A=[`onClick`],j={class:`modal-content`},M={class:`modal-header`},N={class:`modal-body`},P={class:`form-group`},F=[`disabled`],I={class:`form-group`},L={key:0,class:`form-group`},R={class:`form-group`},z={class:`form-group`},B={class:`checkbox-group`,style:{"flex-direction":`column`,gap:`8px`}},V=[`value`],H={class:`modal-footer`},U=e({__name:`UsersView`,setup(e){let U=u(),W=h(),G=W.user,K=o({users:[],roles:[],loading:!0,showUserModal:!1,editingUser:null,userForm:{username:``,email:``,password:``,full_name:``,role_ids:[]}}),q=async()=>{try{K.users=await p(`/api/auth/users`)}catch(e){f(e.message||`加载用户列表失败`,`error`)}finally{K.loading=!1}},J=async()=>{try{K.roles=await p(`/api/auth/roles`)}catch(e){f(e.message||`加载角色列表失败`,`error`)}},Y=(e=null)=>{K.editingUser=e,e?K.userForm={username:e.username,email:e.email,password:``,full_name:e.full_name||``,role_ids:e.roles.map(e=>{let t=K.roles.find(t=>t.code===e);return t?t.id:null}).filter(e=>e!==null)}:K.userForm={username:``,email:``,password:``,full_name:``,role_ids:[]},K.showUserModal=!0},X=async()=>{if(!K.userForm.username||!K.userForm.email){f(`请填写用户名和邮箱`,`error`);return}if(!K.editingUser&&!K.userForm.password){f(`请填写密码`,`error`);return}try{K.editingUser?(await p(`/api/auth/users/${K.editingUser.id}`,{method:`PUT`,body:JSON.stringify({email:K.userForm.email,full_name:K.userForm.full_name||null,role_ids:K.userForm.role_ids})}),f(`用户更新成功`,`success`)):(await p(`/api/auth/users`,{method:`POST`,body:JSON.stringify(K.userForm)}),f(`用户创建成功`,`success`)),K.showUserModal=!1,q()}catch(e){f(e.message||`保存用户失败`,`error`)}},Z=async e=>{if(confirm(`确定要删除用户 ${e.username} 吗?`))try{await p(`/api/auth/users/${e.id}`,{method:`DELETE`}),f(`用户已删除`,`success`),q()}catch(e){f(e.message||`删除用户失败`,`error`)}},Q=async e=>{let t=prompt(`请输入 ${e.username} 的新密码:`);if(!t||t.length<6){f(`密码长度至少6位`,`error`);return}try{await p(`/api/auth/users/${e.id}/reset-password`,{method:`PUT`,body:JSON.stringify(t)}),f(`密码已重置`,`success`)}catch(e){f(e.message||`重置密码失败`,`error`)}};return s(async()=>{if(!W.user?.is_superuser){U.push(`/`);return}await J(),q()}),(e,o)=>(t(),y(`div`,S,[l(`div`,C,[o[9]||=l(`div`,null,[l(`h1`,null,`用户管理`),l(`p`,null,`管理系统用户和权限`)],-1),l(`button`,{class:`btn btn-primary`,onClick:o[0]||=e=>Y()},`+ 添加用户`)]),K.loading?(t(),y(`div`,w,[...o[10]||=[l(`div`,{class:`loading-spinner`},null,-1),l(`span`,null,`加载中...`,-1)]])):(t(),y(`div`,T,[l(`table`,E,[o[11]||=l(`thead`,null,[l(`tr`,null,[l(`th`,null,`用户名`),l(`th`,null,`邮箱`),l(`th`,null,`姓名`),l(`th`,null,`状态`),l(`th`,null,`角色`),l(`th`,null,`注册时间`),l(`th`,null,`操作`)])],-1),l(`tbody`,null,[(t(!0),y(d,null,a(K.users,e=>(t(),y(`tr`,{key:e.id},[l(`td`,null,b(e.username),1),l(`td`,null,b(e.email),1),l(`td`,null,b(e.full_name||`-`),1),l(`td`,null,[l(`span`,{class:r([`badge`,e.is_active?`badge-success`:`badge-error`])},b(e.is_active?`正常`:`禁用`),3)]),l(`td`,null,[(t(!0),y(d,null,a(e.roles,e=>(t(),y(`span`,{key:e,class:`badge badge-info`,style:{"margin-right":`4px`}},b(e),1))),128))]),l(`td`,null,b(n(x)(e.created_at)),1),l(`td`,null,[l(`div`,D,[l(`button`,{class:`btn btn-sm`,style:{background:`var(--primary-500)`,color:`white`},onClick:t=>Y(e)},`编辑`,8,O),l(`button`,{class:`btn btn-sm`,style:{background:`#eab308`,color:`white`},onClick:t=>Q(e)},`重置密码`,8,k),e.id===n(G)?.id?_(``,!0):(t(),y(`button`,{key:0,class:`btn btn-sm`,style:{background:`var(--error)`,color:`white`},onClick:t=>Z(e)},`删除`,8,A))])])]))),128))])])])),K.showUserModal?(t(),y(`div`,{key:2,class:`modal-overlay`,onClick:o[8]||=m(e=>K.showUserModal=!1,[`self`])},[l(`div`,j,[l(`div`,M,[l(`h2`,null,b(K.editingUser?`编辑用户`:`添加用户`),1),l(`button`,{class:`modal-close`,onClick:o[1]||=e=>K.showUserModal=!1},`×`)]),l(`div`,N,[l(`div`,P,[o[12]||=l(`label`,{class:`form-label`},`用户名`,-1),i(l(`input`,{"onUpdate:modelValue":o[2]||=e=>K.userForm.username=e,type:`text`,class:`form-input`,disabled:!!K.editingUser},null,8,F),[[c,K.userForm.username]])]),l(`div`,I,[o[13]||=l(`label`,{class:`form-label`},`邮箱`,-1),i(l(`input`,{"onUpdate:modelValue":o[3]||=e=>K.userForm.email=e,type:`email`,class:`form-input`},null,512),[[c,K.userForm.email]])]),K.editingUser?_(``,!0):(t(),y(`div`,L,[o[14]||=l(`label`,{class:`form-label`},`密码`,-1),i(l(`input`,{"onUpdate:modelValue":o[4]||=e=>K.userForm.password=e,type:`password`,class:`form-input`},null,512),[[c,K.userForm.password]])])),l(`div`,R,[o[15]||=l(`label`,{class:`form-label`},`姓名`,-1),i(l(`input`,{"onUpdate:modelValue":o[5]||=e=>K.userForm.full_name=e,type:`text`,class:`form-input`},null,512),[[c,K.userForm.full_name]])]),l(`div`,z,[o[16]||=l(`label`,{class:`form-label`},`角色`,-1),l(`div`,B,[(t(!0),y(d,null,a(K.roles,e=>(t(),y(`label`,{key:e.id,class:`checkbox-label`},[i(l(`input`,{type:`checkbox`,value:e.id,"onUpdate:modelValue":o[6]||=e=>K.userForm.role_ids=e,class:`checkbox-input`},null,8,V),[[g,K.userForm.role_ids]]),v(` `+b(e.name),1)]))),128))])])]),l(`div`,H,[l(`button`,{class:`btn btn-secondary`,onClick:o[7]||=e=>K.showUserModal=!1},`取消`),l(`button`,{class:`btn btn-primary`,onClick:X},`保存`)])])])):_(``,!0)]))}});export{U as default}; \ No newline at end of file diff --git a/static/assets/index-Tuyb_Kvo.js b/static/assets/index-Dyxl3OsB.js similarity index 99% rename from static/assets/index-Tuyb_Kvo.js rename to static/assets/index-Dyxl3OsB.js index 708d262..cbf596c 100644 --- a/static/assets/index-Tuyb_Kvo.js +++ b/static/assets/index-Dyxl3OsB.js @@ -1,5 +1,5 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/HomeView-D5NfCH6x.js","assets/HomeView-wPEC1q8T.css","assets/LoginView-C7tagjuV.js","assets/LoginView--ukxbAHo.css","assets/UsersView-D4WXKojS.js","assets/utils-COFIQvWo.js","assets/MoldInsightView-BZIQoy0M.js","assets/ResultView-CnHElmOY.js","assets/InventoryView-CV9T7V57.js","assets/InventoryView-CVBodUpg.css"])))=>i.map(i=>d[i]); -var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),s=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;li[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},c=(n,r,a)=>(a=n==null?{}:e(i(n)),s(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n));(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),e.crossOrigin===`use-credentials`?t.credentials=`include`:e.crossOrigin===`anonymous`?t.credentials=`omit`:t.credentials=`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();function l(e){let t=Object.create(null);for(let n of e.split(`,`))t[n]=1;return e=>e in t}var u={},d=[],f=()=>{},p=()=>!1,m=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),h=e=>e.startsWith(`onUpdate:`),g=Object.assign,_=(e,t)=>{let n=e.indexOf(t);n>-1&&e.splice(n,1)},v=Object.prototype.hasOwnProperty,y=(e,t)=>v.call(e,t),b=Array.isArray,x=e=>A(e)===`[object Map]`,S=e=>A(e)===`[object Set]`,C=e=>A(e)===`[object Date]`,w=e=>typeof e==`function`,T=e=>typeof e==`string`,E=e=>typeof e==`symbol`,D=e=>typeof e==`object`&&!!e,O=e=>(D(e)||w(e))&&w(e.then)&&w(e.catch),k=Object.prototype.toString,A=e=>k.call(e),ee=e=>A(e).slice(8,-1),j=e=>A(e)===`[object Object]`,te=e=>T(e)&&e!==`NaN`&&e[0]!==`-`&&``+parseInt(e,10)===e,ne=l(`,key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted`),re=e=>{let t=Object.create(null);return(n=>t[n]||(t[n]=e(n)))},ie=/-\w/g,ae=re(e=>e.replace(ie,e=>e.slice(1).toUpperCase())),oe=/\B([A-Z])/g,se=re(e=>e.replace(oe,`-$1`).toLowerCase()),ce=re(e=>e.charAt(0).toUpperCase()+e.slice(1)),le=re(e=>e?`on${ce(e)}`:``),ue=(e,t)=>!Object.is(e,t),de=(e,...t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:r,value:n})},pe=e=>{let t=parseFloat(e);return isNaN(t)?e:t},me=e=>{let t=T(e)?Number(e):NaN;return isNaN(t)?e:t},he,ge=()=>he||=typeof globalThis<`u`?globalThis:typeof self<`u`?self:typeof window<`u`?window:typeof global<`u`?global:{};function M(e){if(b(e)){let t={};for(let n=0;n{if(e){let n=e.split(ve);n.length>1&&(t[n[0].trim()]=n[1].trim())}}),t}function N(e){let t=``;if(T(e))t=e;else if(b(e))for(let n=0;nEe(e,t))}var Oe=e=>!!(e&&e.__v_isRef===!0),P=e=>T(e)?e:e==null?``:b(e)||D(e)&&(e.toString===k||!w(e.toString))?Oe(e)?P(e.value):JSON.stringify(e,ke,2):String(e),ke=(e,t)=>Oe(t)?ke(e,t.value):x(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((e,[t,n],r)=>(e[Ae(t,r)+` =>`]=n,e),{})}:S(t)?{[`Set(${t.size})`]:[...t.values()].map(e=>Ae(e))}:E(t)?Ae(t):D(t)&&!b(t)&&!j(t)?String(t):t,Ae=(e,t=``)=>E(e)?`Symbol(${e.description??t})`:e,je,Me=class{constructor(e=!1){this.detached=e,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this._warnOnRun=!0,this.__v_skip=!0,!e&&je&&(je.active?(this.parent=je,this.index=(je.scopes||=[]).push(this)-1):(this._active=!1,this._warnOnRun=!1))}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let e,t;if(this.scopes)for(e=0,t=this.scopes.length;e0&&--this._on===0){if(je===this)je=this.prevScope;else{let e=je;for(;e;){if(e.prevScope===this){e.prevScope=this.prevScope;break}e=e.prevScope}}this.prevScope=void 0}}stop(e){if(this._active){this._active=!1;let t,n;for(t=0,n=this.effects.length;t0)return;if(Ve){let e=Ve;for(Ve=void 0;e;){let t=e.next;e.next=void 0,e.flags&=-9,e=t}}let e;for(;Be;){let t=Be;for(Be=void 0;t;){let n=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(t){e||=t}t=n}}if(e)throw e}function Ge(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function Ke(e){let t,n=e.depsTail,r=n;for(;r;){let e=r.prevDep;r.version===-1?(r===n&&(n=e),Ye(r),Xe(r)):t=r,r.dep.activeLink=r.prevActiveLink,r.prevActiveLink=void 0,r=e}e.deps=t,e.depsTail=n}function qe(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(Je(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function Je(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===nt)||(e.globalVersion=nt,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!qe(e))))return;e.flags|=2;let t=e.dep,n=Ie,r=Ze;Ie=e,Ze=!0;try{Ge(e);let n=e.fn(e._value);(t.version===0||ue(n,e._value))&&(e.flags|=128,e._value=n,t.version++)}catch(e){throw t.version++,e}finally{Ie=n,Ze=r,Ke(e),e.flags&=-3}}function Ye(e,t=!1){let{dep:n,prevSub:r,nextSub:i}=e;if(r&&(r.nextSub=i,e.prevSub=void 0),i&&(i.prevSub=r,e.nextSub=void 0),n.subs===e&&(n.subs=r,!r&&n.computed)){n.computed.flags&=-5;for(let e=n.computed.deps;e;e=e.nextDep)Ye(e,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function Xe(e){let{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}var Ze=!0,Qe=[];function $e(){Qe.push(Ze),Ze=!1}function et(){let e=Qe.pop();Ze=e===void 0?!0:e}function tt(e){let{cleanup:t}=e;if(e.cleanup=void 0,t){let e=Ie;Ie=void 0;try{t()}finally{Ie=e}}}var nt=0,rt=class{constructor(e,t){this.sub=e,this.dep=t,this.version=t.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}},it=class{constructor(e){this.computed=e,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0}track(e){if(!Ie||!Ze||Ie===this.computed)return;let t=this.activeLink;if(t===void 0||t.sub!==Ie)t=this.activeLink=new rt(Ie,this),Ie.deps?(t.prevDep=Ie.depsTail,Ie.depsTail.nextDep=t,Ie.depsTail=t):Ie.deps=Ie.depsTail=t,at(t);else if(t.version===-1&&(t.version=this.version,t.nextDep)){let e=t.nextDep;e.prevDep=t.prevDep,t.prevDep&&(t.prevDep.nextDep=e),t.prevDep=Ie.depsTail,t.nextDep=void 0,Ie.depsTail.nextDep=t,Ie.depsTail=t,Ie.deps===t&&(Ie.deps=e)}return t}trigger(e){this.version++,nt++,this.notify(e)}notify(e){Ue();try{for(let e=this.subs;e;e=e.prevSub)e.sub.notify()&&e.sub.dep.notify()}finally{We()}}};function at(e){if(e.dep.sc++,e.sub.flags&4){let t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let e=t.deps;e;e=e.nextDep)at(e)}let n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}var ot=new WeakMap,st=Symbol(``),ct=Symbol(``),lt=Symbol(``);function ut(e,t,n){if(Ze&&Ie){let t=ot.get(e);t||ot.set(e,t=new Map);let r=t.get(n);r||(t.set(n,r=new it),r.map=t,r.key=n),r.track()}}function dt(e,t,n,r,i,a){let o=ot.get(e);if(!o){nt++;return}let s=e=>{e&&e.trigger()};if(Ue(),t===`clear`)o.forEach(s);else{let i=b(e),a=i&&te(n);if(i&&n===`length`){let e=Number(r);o.forEach((t,n)=>{(n===`length`||n===lt||!E(n)&&n>=e)&&s(t)})}else switch((n!==void 0||o.has(void 0))&&s(o.get(n)),a&&s(o.get(lt)),t){case`add`:i?a&&s(o.get(`length`)):(s(o.get(st)),x(e)&&s(o.get(ct)));break;case`delete`:i||(s(o.get(st)),x(e)&&s(o.get(ct)));break;case`set`:x(e)&&s(o.get(st));break}}We()}function ft(e,t){let n=ot.get(e);return n&&n.get(t)}function pt(e){let t=rn(e);return t===e?t:(ut(t,`iterate`,lt),tn(e)?t:t.map(on))}function mt(e){return ut(e=rn(e),`iterate`,lt),e}function ht(e,t){return en(e)?sn($t(e)?on(t):t):on(t)}var gt={__proto__:null,[Symbol.iterator](){return _t(this,Symbol.iterator,e=>ht(this,e))},concat(...e){return pt(this).concat(...e.map(e=>b(e)?pt(e):e))},entries(){return _t(this,`entries`,e=>(e[1]=ht(this,e[1]),e))},every(e,t){return yt(this,`every`,e,t,void 0,arguments)},filter(e,t){return yt(this,`filter`,e,t,e=>e.map(e=>ht(this,e)),arguments)},find(e,t){return yt(this,`find`,e,t,e=>ht(this,e),arguments)},findIndex(e,t){return yt(this,`findIndex`,e,t,void 0,arguments)},findLast(e,t){return yt(this,`findLast`,e,t,e=>ht(this,e),arguments)},findLastIndex(e,t){return yt(this,`findLastIndex`,e,t,void 0,arguments)},forEach(e,t){return yt(this,`forEach`,e,t,void 0,arguments)},includes(...e){return xt(this,`includes`,e)},indexOf(...e){return xt(this,`indexOf`,e)},join(e){return pt(this).join(e)},lastIndexOf(...e){return xt(this,`lastIndexOf`,e)},map(e,t){return yt(this,`map`,e,t,void 0,arguments)},pop(){return St(this,`pop`)},push(...e){return St(this,`push`,e)},reduce(e,...t){return bt(this,`reduce`,e,t)},reduceRight(e,...t){return bt(this,`reduceRight`,e,t)},shift(){return St(this,`shift`)},some(e,t){return yt(this,`some`,e,t,void 0,arguments)},splice(...e){return St(this,`splice`,e)},toReversed(){return pt(this).toReversed()},toSorted(e){return pt(this).toSorted(e)},toSpliced(...e){return pt(this).toSpliced(...e)},unshift(...e){return St(this,`unshift`,e)},values(){return _t(this,`values`,e=>ht(this,e))}};function _t(e,t,n){let r=mt(e),i=r[t]();return r!==e&&!tn(e)&&(i._next=i.next,i.next=()=>{let e=i._next();return e.done||(e.value=n(e.value)),e}),i}var vt=Array.prototype;function yt(e,t,n,r,i,a){let o=mt(e),s=o!==e&&!tn(e),c=o[t];if(c!==vt[t]){let t=c.apply(e,a);return s?on(t):t}let l=n;o!==e&&(s?l=function(t,r){return n.call(this,ht(e,t),r,e)}:n.length>2&&(l=function(t,r){return n.call(this,t,r,e)}));let u=c.call(o,l,r);return s&&i?i(u):u}function bt(e,t,n,r){let i=mt(e),a=i!==e&&!tn(e),o=n,s=!1;i!==e&&(a?(s=r.length===0,o=function(t,r,i){return s&&(s=!1,t=ht(e,t)),n.call(this,t,ht(e,r),i,e)}):n.length>3&&(o=function(t,r,i){return n.call(this,t,r,i,e)}));let c=i[t](o,...r);return s?ht(e,c):c}function xt(e,t,n){let r=rn(e);ut(r,`iterate`,lt);let i=r[t](...n);return(i===-1||i===!1)&&nn(n[0])?(n[0]=rn(n[0]),r[t](...n)):i}function St(e,t,n=[]){$e(),Ue();let r=rn(e)[t].apply(e,n);return We(),et(),r}var Ct=l(`__proto__,__v_isRef,__isVue`),wt=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!==`arguments`&&e!==`caller`).map(e=>Symbol[e]).filter(E));function Tt(e){E(e)||(e=String(e));let t=rn(this);return ut(t,`has`,e),t.hasOwnProperty(e)}var Et=class{constructor(e=!1,t=!1){this._isReadonly=e,this._isShallow=t}get(e,t,n){if(t===`__v_skip`)return e.__v_skip;let r=this._isReadonly,i=this._isShallow;if(t===`__v_isReactive`)return!r;if(t===`__v_isReadonly`)return r;if(t===`__v_isShallow`)return i;if(t===`__v_raw`)return n===(r?i?Kt:Gt:i?Wt:Ut).get(e)||Object.getPrototypeOf(e)===Object.getPrototypeOf(n)?e:void 0;let a=b(e);if(!r){let e;if(a&&(e=gt[t]))return e;if(t===`hasOwnProperty`)return Tt}let o=Reflect.get(e,t,cn(e)?e:n);if((E(t)?wt.has(t):Ct(t))||(r||ut(e,`get`,t),i))return o;if(cn(o)){let e=a&&te(t)?o:o.value;return r&&D(e)?Xt(e):e}return D(o)?r?Xt(o):Jt(o):o}},Dt=class extends Et{constructor(e=!1){super(!1,e)}set(e,t,n,r){let i=e[t],a=b(e)&&te(t);if(!this._isShallow){let e=en(i);if(!tn(n)&&!en(n)&&(i=rn(i),n=rn(n)),!a&&cn(i)&&!cn(n))return e||(i.value=n),!0}let o=a?Number(t)e,Pt=e=>Reflect.getPrototypeOf(e);function Ft(e,t,n){return function(...r){let i=this.__v_raw,a=rn(i),o=x(a),s=e===`entries`||e===Symbol.iterator&&o,c=e===`keys`&&o,l=i[e](...r),u=n?Nt:t?sn:on;return!t&&ut(a,`iterate`,c?ct:st),g(Object.create(l),{next(){let{value:e,done:t}=l.next();return t?{value:e,done:t}:{value:s?[u(e[0]),u(e[1])]:u(e),done:t}}})}}function It(e){return function(...t){return e===`delete`?!1:e===`clear`?void 0:this}}function Lt(e,t){let n={get(n){let r=this.__v_raw,i=rn(r),a=rn(n);e||(ue(n,a)&&ut(i,`get`,n),ut(i,`get`,a));let{has:o}=Pt(i),s=t?Nt:e?sn:on;if(o.call(i,n))return s(r.get(n));if(o.call(i,a))return s(r.get(a));r!==i&&r.get(n)},get size(){let t=this.__v_raw;return!e&&ut(rn(t),`iterate`,st),t.size},has(t){let n=this.__v_raw,r=rn(n),i=rn(t);return e||(ue(t,i)&&ut(r,`has`,t),ut(r,`has`,i)),t===i?n.has(t):n.has(t)||n.has(i)},forEach(n,r){let i=this,a=i.__v_raw,o=rn(a),s=t?Nt:e?sn:on;return!e&&ut(o,`iterate`,st),a.forEach((e,t)=>n.call(r,s(e),s(t),i))}};return g(n,e?{add:It(`add`),set:It(`set`),delete:It(`delete`),clear:It(`clear`)}:{add(e){let n=rn(this),r=Pt(n),i=rn(e),a=!t&&!tn(e)&&!en(e)?i:e;return r.has.call(n,a)||ue(e,a)&&r.has.call(n,e)||ue(i,a)&&r.has.call(n,i)||(n.add(a),dt(n,`add`,a,a)),this},set(e,n){!t&&!tn(n)&&!en(n)&&(n=rn(n));let r=rn(this),{has:i,get:a}=Pt(r),o=i.call(r,e);o||=(e=rn(e),i.call(r,e));let s=a.call(r,e);return r.set(e,n),o?ue(n,s)&&dt(r,`set`,e,n,s):dt(r,`add`,e,n),this},delete(e){let t=rn(this),{has:n,get:r}=Pt(t),i=n.call(t,e);i||=(e=rn(e),n.call(t,e));let a=r?r.call(t,e):void 0,o=t.delete(e);return i&&dt(t,`delete`,e,void 0,a),o},clear(){let e=rn(this),t=e.size!==0,n=e.clear();return t&&dt(e,`clear`,void 0,void 0,void 0),n}}),[`keys`,`values`,`entries`,Symbol.iterator].forEach(r=>{n[r]=Ft(r,e,t)}),n}function Rt(e,t){let n=Lt(e,t);return(t,r,i)=>r===`__v_isReactive`?!e:r===`__v_isReadonly`?e:r===`__v_raw`?t:Reflect.get(y(n,r)&&r in t?n:t,r,i)}var zt={get:Rt(!1,!1)},Bt={get:Rt(!1,!0)},Vt={get:Rt(!0,!1)},Ht={get:Rt(!0,!0)},Ut=new WeakMap,Wt=new WeakMap,Gt=new WeakMap,Kt=new WeakMap;function qt(e){switch(e){case`Object`:case`Array`:return 1;case`Map`:case`Set`:case`WeakMap`:case`WeakSet`:return 2;default:return 0}}function Jt(e){return en(e)?e:Qt(e,!1,kt,zt,Ut)}function Yt(e){return Qt(e,!1,jt,Bt,Wt)}function Xt(e){return Qt(e,!0,At,Vt,Gt)}function Zt(e){return Qt(e,!0,Mt,Ht,Kt)}function Qt(e,t,n,r,i){if(!D(e)||e.__v_raw&&!(t&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;let a=i.get(e);if(a)return a;let o=qt(ee(e));if(o===0)return e;let s=new Proxy(e,o===2?r:n);return i.set(e,s),s}function $t(e){return en(e)?$t(e.__v_raw):!!(e&&e.__v_isReactive)}function en(e){return!!(e&&e.__v_isReadonly)}function tn(e){return!!(e&&e.__v_isShallow)}function nn(e){return e?!!e.__v_raw:!1}function rn(e){let t=e&&e.__v_raw;return t?rn(t):e}function an(e){return!y(e,`__v_skip`)&&Object.isExtensible(e)&&fe(e,`__v_skip`,!0),e}var on=e=>D(e)?Jt(e):e,sn=e=>D(e)?Xt(e):e;function cn(e){return e?e.__v_isRef===!0:!1}function F(e){return un(e,!1)}function ln(e){return un(e,!0)}function un(e,t){return cn(e)?e:new dn(e,t)}var dn=class{constructor(e,t){this.dep=new it,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=t?e:rn(e),this._value=t?e:on(e),this.__v_isShallow=t}get value(){return this.dep.track(),this._value}set value(e){let t=this._rawValue,n=this.__v_isShallow||tn(e)||en(e);e=n?e:rn(e),ue(e,t)&&(this._rawValue=e,this._value=n?e:on(e),this.dep.trigger())}};function fn(e){e.dep&&e.dep.trigger()}function I(e){return cn(e)?e.value:e}function pn(e){return w(e)?e():I(e)}var mn={get:(e,t,n)=>t===`__v_raw`?e:I(Reflect.get(e,t,n)),set:(e,t,n,r)=>{let i=e[t];return cn(i)&&!cn(n)?(i.value=n,!0):Reflect.set(e,t,n,r)}};function hn(e){return $t(e)?e:new Proxy(e,mn)}function gn(e){let t=b(e)?Array(e.length):{};for(let n in e)t[n]=bn(e,n);return t}var _n=class{constructor(e,t,n){this._object=e,this._defaultValue=n,this.__v_isRef=!0,this._value=void 0,this._key=E(t)?t:String(t),this._raw=rn(e);let r=!0,i=e;if(!b(e)||E(this._key)||!te(this._key))do r=!nn(i)||tn(i);while(r&&(i=i.__v_raw));this._shallow=r}get value(){let e=this._object[this._key];return this._shallow&&(e=I(e)),this._value=e===void 0?this._defaultValue:e}set value(e){if(this._shallow&&cn(this._raw[this._key])){let t=this._object[this._key];if(cn(t)){t.value=e;return}}this._object[this._key]=e}get dep(){return ft(this._raw,this._key)}},vn=class{constructor(e){this._getter=e,this.__v_isRef=!0,this.__v_isReadonly=!0,this._value=void 0}get value(){return this._value=this._getter()}};function yn(e,t,n){return cn(e)?e:w(e)?new vn(e):D(e)&&arguments.length>1?bn(e,t,n):F(e)}function bn(e,t,n){return new _n(e,t,n)}var xn=class{constructor(e,t,n){this.fn=e,this.setter=t,this._value=void 0,this.dep=new it(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=nt-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!t,this.isSSR=n}notify(){if(this.flags|=16,!(this.flags&8)&&Ie!==this)return He(this,!0),!0}get value(){let e=this.dep.track();return Je(this),e&&(e.version=this.dep.version),this._value}set value(e){this.setter&&this.setter(e)}};function Sn(e,t,n=!1){let r,i;return w(e)?r=e:(r=e.get,i=e.set),new xn(r,i,n)}var Cn={},wn=new WeakMap,Tn=void 0;function En(e,t=!1,n=Tn){if(n){let t=wn.get(n);t||wn.set(n,t=[]),t.push(e)}}function Dn(e,t,n=u){let{immediate:r,deep:i,once:a,scheduler:o,augmentJob:s,call:c}=n,l=e=>i?e:tn(e)||i===!1||i===0?On(e,1):On(e),d,p,m,h,g=!1,v=!1;if(cn(e)?(p=()=>e.value,g=tn(e)):$t(e)?(p=()=>l(e),g=!0):b(e)?(v=!0,g=e.some(e=>$t(e)||tn(e)),p=()=>e.map(e=>{if(cn(e))return e.value;if($t(e))return l(e);if(w(e))return c?c(e,2):e()})):p=w(e)?t?c?()=>c(e,2):e:()=>{if(m){$e();try{m()}finally{et()}}let t=Tn;Tn=d;try{return c?c(e,3,[h]):e(h)}finally{Tn=t}}:f,t&&i){let e=p,t=i===!0?1/0:i;p=()=>On(e(),t)}let y=Pe(),x=()=>{d.stop(),y&&y.active&&_(y.effects,d)};if(a&&t){let e=t;t=(...t)=>{e(...t),x()}}let S=v?Array(e.length).fill(Cn):Cn,C=e=>{if(!(!(d.flags&1)||!d.dirty&&!e))if(t){let e=d.run();if(i||g||(v?e.some((e,t)=>ue(e,S[t])):ue(e,S))){m&&m();let n=Tn;Tn=d;try{let n=[e,S===Cn?void 0:v&&S[0]===Cn?[]:S,h];S=e,c?c(t,3,n):t(...n)}finally{Tn=n}}}else d.run()};return s&&s(C),d=new Re(p),d.scheduler=o?()=>o(C,!1):C,h=e=>En(e,!1,d),m=d.onStop=()=>{let e=wn.get(d);if(e){if(c)c(e,4);else for(let t of e)t();wn.delete(d)}},t?r?C(!0):S=d.run():o?o(C.bind(null,!0),!0):d.run(),x.pause=d.pause.bind(d),x.resume=d.resume.bind(d),x.stop=x,x}function On(e,t=1/0,n){if(t<=0||!D(e)||e.__v_skip||(n||=new Map,(n.get(e)||0)>=t))return e;if(n.set(e,t),t--,cn(e))On(e.value,t,n);else if(b(e))for(let r=0;r{On(e,t,n)});else if(j(e)){for(let r in e)On(e[r],t,n);for(let r of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,r)&&On(e[r],t,n)}return e}function kn(e,t,n,r){try{return r?e(...r):e()}catch(e){jn(e,t,n)}}function An(e,t,n,r){if(w(e)){let i=kn(e,t,n,r);return i&&O(i)&&i.catch(e=>{jn(e,t,n)}),i}if(b(e)){let i=[];for(let a=0;a>>1,i=Nn[r],a=Kn(i);a=Kn(n)?Nn.push(e):Nn.splice(Bn(t),0,e),e.flags|=1,Hn()}}function Hn(){zn||=Rn.then(qn)}function Un(e){b(e)?Fn.push(...e):In&&e.id===-1?In.splice(Ln+1,0,e):e.flags&1||(Fn.push(e),e.flags|=1),Hn()}function Wn(e,t,n=Pn+1){for(;nKn(e)-Kn(t));if(Fn.length=0,In){In.push(...e);return}for(In=e,Ln=0;Lne.id==null?e.flags&2?-1:1/0:e.id;function qn(e){try{for(Pn=0;Pn{r._d&&Va(-1);let i=Xn(t),a;try{a=e(...n)}finally{Xn(i),r._d&&Va(1)}return a};return r._n=!0,r._c=!0,r._d=!0,r}function Zn(e,t){if(Jn===null)return e;let n=Co(Jn),r=e.dirs||=[];for(let e=0;e1)return n&&w(t)?t.call(r&&r.proxy):t}}function er(){return!!(so()||Ui)}var tr=Symbol.for(`v-scx`),nr=()=>z(tr);function rr(e,t){return ir(e,null,t)}function B(e,t,n){return ir(e,t,n)}function ir(e,t,n=u){let{immediate:r,deep:i,flush:a,once:o}=n,s=g({},n),c=t&&r||!t&&a!==`post`,l;if(mo){if(a===`sync`){let e=nr();l=e.__watcherHandles||=[]}else if(!c){let e=()=>{};return e.stop=f,e.resume=f,e.pause=f,e}}let d=oo;s.call=(e,t,n)=>An(e,d,t,n);let p=!1;a===`post`?s.scheduler=e=>{ba(e,d&&d.suspense)}:a!==`sync`&&(p=!0,s.scheduler=(e,t)=>{t?e():Vn(e)}),s.augmentJob=e=>{t&&(e.flags|=4),p&&(e.flags|=2,d&&(e.id=d.uid,e.i=d))};let m=Dn(e,t,s);return mo&&(l?l.push(m):c&&m()),m}function ar(e,t,n){let r=this.proxy,i=T(e)?e.includes(`.`)?or(r,e):()=>r[e]:e.bind(r,r),a;w(t)?a=t:(a=t.handler,n=t);let o=uo(this),s=ir(i,a.bind(r),n);return o(),s}function or(e,t){let n=t.split(`.`);return()=>{let t=e;for(let e=0;ee.__isTeleport,ur=e=>e&&(e.disabled||e.disabled===``),dr=e=>e&&(e.defer||e.defer===``),fr=e=>typeof SVGElement<`u`&&e instanceof SVGElement,pr=e=>typeof MathMLElement==`function`&&e instanceof MathMLElement,mr=(e,t)=>{let n=e&&e.to;return T(n)?t?t(n):null:n},hr={name:`Teleport`,__isTeleport:!0,process(e,t,n,r,i,a,o,s,c,l){let{mc:u,pc:d,pbc:f,o:{insert:p,querySelector:m,createText:h,createComment:g,parentNode:_}}=l,v=ur(t.props),{dynamicChildren:y}=t,b=(e,t,n)=>{e.shapeFlag&16&&u(e.children,t,n,i,a,o,s,c)},x=(e=t)=>{let n=ur(e.props),r=e.target=mr(e.props,m),a=br(r,e,h,p);r&&(o!==`svg`&&fr(r)?o=`svg`:o!==`mathml`&&pr(r)&&(o=`mathml`),i&&i.isCE&&(i.ce._teleportTargets||(i.ce._teleportTargets=new Set)).add(r),n||(b(e,r,a),yr(e,!1)))},S=e=>{let t=()=>{sr.get(e)===t&&(sr.delete(e),ur(e.props)&&(b(e,_(e.el)||n,e.anchor),yr(e,!0)),x(e))};sr.set(e,t),ba(t,a)};if(e==null){let e=t.el=h(``),i=t.anchor=h(``);if(p(e,n,r),p(i,n,r),dr(t.props)||a&&a.pendingBranch){S(t);return}v&&(b(t,n,i),yr(t,!0)),x()}else{t.el=e.el;let r=t.anchor=e.anchor,u=sr.get(e);if(u){u.flags|=8,sr.delete(e),S(t);return}t.targetStart=e.targetStart;let p=t.target=e.target,h=t.targetAnchor=e.targetAnchor,g=ur(e.props),_=g?n:p,b=g?r:h;if(o===`svg`||fr(p)?o=`svg`:(o===`mathml`||pr(p))&&(o=`mathml`),y?(f(e.dynamicChildren,y,_,i,a,o,s),Ea(e,t,!0)):c||d(e,t,_,b,i,a,o,s,!1),v)g?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):gr(t,n,r,l,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){let e=t.target=mr(t.props,m);e&&gr(t,e,null,l,0)}else g&&gr(t,p,h,l,1);yr(t,v)}},remove(e,t,n,{um:r,o:{remove:i}},a){let{shapeFlag:o,children:s,anchor:c,targetStart:l,targetAnchor:u,target:d,props:f}=e,p=a||!ur(f),m=sr.get(e);if(m&&(m.flags|=8,sr.delete(e)),d&&(i(l),i(u)),a&&i(c),!m&&o&16)for(let e=0;e{e.isMounted=!0}),$r(()=>{e.isUnmounting=!0}),e}var wr=[Function,Array],Tr={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:wr,onEnter:wr,onAfterEnter:wr,onEnterCancelled:wr,onBeforeLeave:wr,onLeave:wr,onAfterLeave:wr,onLeaveCancelled:wr,onBeforeAppear:wr,onAppear:wr,onAfterAppear:wr,onAppearCancelled:wr},Er=e=>{let t=e.subTree;return t.component?Er(t.component):t},Dr={name:`BaseTransition`,props:Tr,setup(e,{slots:t}){let n=so(),r=Cr();return()=>{let i=t.default&&Fr(t.default(),!0),a=i&&i.length?Or(i):n.subTree?J():void 0;if(!a)return;let o=rn(e),{mode:s}=o;if(r.isLeaving)return Mr(a);let c=Nr(a);if(!c)return Mr(a);let l=jr(c,o,r,n,e=>l=e);c.type!==Fa&&Pr(c,l);let u=n.subTree&&Nr(n.subTree);if(u&&u.type!==Fa&&!Wa(u,c)&&Er(n).type!==Fa){let e=jr(u,o,r,n);if(Pr(u,e),s===`out-in`&&c.type!==Fa)return r.isLeaving=!0,e.afterLeave=()=>{r.isLeaving=!1,n.job.flags&8||n.update(),delete e.afterLeave,u=void 0},Mr(a);s===`in-out`&&c.type!==Fa?e.delayLeave=(e,t,n)=>{let i=Ar(r,u);i[String(u.key)]=u,e[xr]=()=>{t(),e[xr]=void 0,delete l.delayedLeave,u=void 0},l.delayedLeave=()=>{n(),delete l.delayedLeave,u=void 0}}:u=void 0}else u&&=void 0;return a}}};function Or(e){let t=e[0];if(e.length>1){for(let n of e)if(n.type!==Fa){t=n;break}}return t}var kr=Dr;function Ar(e,t){let{leavingVNodes:n}=e,r=n.get(t.type);return r||(r=Object.create(null),n.set(t.type,r)),r}function jr(e,t,n,r,i){let{appear:a,mode:o,persisted:s=!1,onBeforeEnter:c,onEnter:l,onAfterEnter:u,onEnterCancelled:d,onBeforeLeave:f,onLeave:p,onAfterLeave:m,onLeaveCancelled:h,onBeforeAppear:g,onAppear:_,onAfterAppear:v,onAppearCancelled:y}=t,x=String(e.key),S=Ar(n,e),C=(e,t)=>{e&&An(e,r,9,t)},w=(e,t)=>{let n=t[1];C(e,t),b(e)?e.every(e=>e.length<=1)&&n():e.length<=1&&n()},T={mode:o,persisted:s,beforeEnter(t){let r=c;if(!n.isMounted)if(a)r=g||c;else return;t[xr]&&t[xr](!0);let i=S[x];i&&Wa(e,i)&&i.el[xr]&&i.el[xr](),C(r,[t])},enter(t){if(S[x]===e)return;let r=l,i=u,o=d;if(!n.isMounted)if(a)r=_||l,i=v||u,o=y||d;else return;let s=!1;t[Sr]=e=>{s||(s=!0,C(e?o:i,[t]),T.delayedLeave&&T.delayedLeave(),t[Sr]=void 0)};let c=t[Sr].bind(null,!1);r?w(r,[t,c]):c()},leave(t,r){let i=String(e.key);if(t[Sr]&&t[Sr](!0),n.isUnmounting)return r();C(f,[t]);let a=!1;t[xr]=n=>{a||(a=!0,r(),C(n?h:m,[t]),t[xr]=void 0,S[i]===e&&delete S[i])};let o=t[xr].bind(null,!1);S[i]=e,p?w(p,[t,o]):o()},clone(e){let a=jr(e,t,n,r,i);return i&&i(a),a}};return T}function Mr(e){if(Hr(e))return e=Ya(e),e.children=null,e}function Nr(e){if(!Hr(e))return lr(e.type)&&e.children?Or(e.children):e;if(e.component)return e.component.subTree;let{shapeFlag:t,children:n}=e;if(n){if(t&16)return n[0];if(t&32&&w(n.default))return n.default()}}function Pr(e,t){e.shapeFlag&6&&e.component?(e.transition=t,Pr(e.component.subTree,t)):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function Fr(e,t=!1,n){let r=[],i=0;for(let a=0;a1)for(let e=0;ezr(e,t&&(b(t)?t[a]:t),n,r,i));return}if(Vr(r)&&!i){r.shapeFlag&512&&r.type.__asyncResolved&&r.component.subTree.component&&zr(e,t,n,r.component.subTree);return}let a=r.shapeFlag&4?Co(r.component):r.el,o=i?null:a,{i:s,r:c}=e,l=t&&t.r,d=s.refs===u?s.refs={}:s.refs,f=s.setupState,m=rn(f),h=f===u?p:e=>Lr(d,e)?!1:y(m,e),g=(e,t)=>!(t&&Lr(d,t));if(l!=null&&l!==c){if(Br(t),T(l))d[l]=null,h(l)&&(f[l]=null);else if(cn(l)){let e=t;g(l,e.k)&&(l.value=null),e.k&&(d[e.k]=null)}}if(w(c))kn(c,s,12,[o,d]);else{let t=T(c),r=cn(c);if(t||r){let s=()=>{if(e.f){let n=t?h(c)?f[c]:d[c]:g(c)||!e.k?c.value:d[e.k];if(i)b(n)&&_(n,a);else if(b(n))n.includes(a)||n.push(a);else if(t)d[c]=[a],h(c)&&(f[c]=d[c]);else{let t=[a];g(c,e.k)&&(c.value=t),e.k&&(d[e.k]=t)}}else t?(d[c]=o,h(c)&&(f[c]=o)):r&&(g(c,e.k)&&(c.value=o),e.k&&(d[e.k]=o))};if(o){let t=()=>{s(),Rr.delete(e)};t.id=-1,Rr.set(e,t),ba(t,n)}else Br(e),s()}}}function Br(e){let t=Rr.get(e);t&&(t.flags|=8,Rr.delete(e))}ge().requestIdleCallback,ge().cancelIdleCallback;var Vr=e=>!!e.type.__asyncLoader,Hr=e=>e.type.__isKeepAlive;function Ur(e,t){Gr(e,`a`,t)}function Wr(e,t){Gr(e,`da`,t)}function Gr(e,t,n=oo){let r=e.__wdc||=()=>{let t=n;for(;t;){if(t.isDeactivated)return;t=t.parent}return e()};if(qr(t,r,n),n){let e=n.parent;for(;e&&e.parent;)Hr(e.parent.vnode)&&Kr(r,t,n,e),e=e.parent}}function Kr(e,t,n,r){let i=qr(t,e,r,!0);ei(()=>{_(r[t],i)},n)}function qr(e,t,n=oo,r=!1){if(n){let i=n[e]||(n[e]=[]),a=t.__weh||=(...r)=>{$e();let i=uo(n),a=An(t,n,e,r);return i(),et(),a};return r?i.unshift(a):i.push(a),a}}var Jr=e=>(t,n=oo)=>{(!mo||e===`sp`)&&qr(e,(...e)=>t(...e),n)},Yr=Jr(`bm`),Xr=Jr(`m`),Zr=Jr(`bu`),Qr=Jr(`u`),$r=Jr(`bum`),ei=Jr(`um`),ti=Jr(`sp`),ni=Jr(`rtg`),ri=Jr(`rtc`);function ii(e,t=oo){qr(`ec`,e,t)}var ai=`components`,oi=`directives`;function si(e,t){return di(ai,e,!0,t)||e}var ci=Symbol.for(`v-ndc`);function li(e){return T(e)?di(ai,e,!1)||e:e||ci}function ui(e){return di(oi,e)}function di(e,t,n=!0,r=!1){let i=Jn||oo;if(i){let n=i.type;if(e===ai){let e=wo(n,!1);if(e&&(e===t||e===ae(t)||e===ce(ae(t))))return n}let a=fi(i[e]||n[e],t)||fi(i.appContext[e],t);return!a&&r?n:a}}function fi(e,t){return e&&(e[t]||e[ae(t)]||e[ce(ae(t))])}function pi(e,t,n,r){let i,a=n&&n[r],o=b(e);if(o||T(e)){let n=o&&$t(e),r=!1,s=!1;n&&(r=!tn(e),s=en(e),e=mt(e)),i=Array(e.length);for(let n=0,o=e.length;nt(e,n,void 0,a&&a[n]));else{let n=Object.keys(e);i=Array(n.length);for(let r=0,o=n.length;r{let t=r.fn(...e);return t&&(t.key=r.key),t}:r.fn)}return e}function H(e,t,n={},r,i){if(Jn.ce||Jn.parent&&Vr(Jn.parent)&&Jn.parent.ce){let e=Object.keys(n).length>0;return t!==`default`&&(n.name=t),U(),G(Na,null,[q(`slot`,n,r&&r())],e?-2:64)}let a=e[t];a&&a._c&&(a._d=!1),U();let o=a&&hi(a(n)),s=n.key||o&&o.key,c=G(Na,{key:(s&&!E(s)?s:`_${t}`)+(!o&&r?`_fb`:``)},o||(r?r():[]),o&&e._===1?64:-2);return!i&&c.scopeId&&(c.slotScopeIds=[c.scopeId+`-s`]),a&&a._c&&(a._d=!0),c}function hi(e){return e.some(e=>Ua(e)?!(e.type===Fa||e.type===Na&&!hi(e.children)):!0)?e:null}function gi(e,t){let n={};for(let r in e)n[t&&/[A-Z]/.test(r)?`on:${r}`:le(r)]=e[r];return n}var _i=e=>e?po(e)?Co(e):_i(e.parent):null,vi=g(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>_i(e.parent),$root:e=>_i(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Ai(e),$forceUpdate:e=>e.f||=()=>{Vn(e.update)},$nextTick:e=>e.n||=L.bind(e.proxy),$watch:e=>ar.bind(e)}),yi=(e,t)=>e!==u&&!e.__isScriptSetup&&y(e,t),bi={get({_:e},t){if(t===`__v_skip`)return!0;let{ctx:n,setupState:r,data:i,props:a,accessCache:o,type:s,appContext:c}=e;if(t[0]!==`$`){let e=o[t];if(e!==void 0)switch(e){case 1:return r[t];case 2:return i[t];case 4:return n[t];case 3:return a[t]}else if(yi(r,t))return o[t]=1,r[t];else if(i!==u&&y(i,t))return o[t]=2,i[t];else if(y(a,t))return o[t]=3,a[t];else if(n!==u&&y(n,t))return o[t]=4,n[t];else Ti&&(o[t]=0)}let l=vi[t],d,f;if(l)return t===`$attrs`&&ut(e.attrs,`get`,``),l(e);if((d=s.__cssModules)&&(d=d[t]))return d;if(n!==u&&y(n,t))return o[t]=4,n[t];if(f=c.config.globalProperties,y(f,t))return f[t]},set({_:e},t,n){let{data:r,setupState:i,ctx:a}=e;return yi(i,t)?(i[t]=n,!0):r!==u&&y(r,t)?(r[t]=n,!0):y(e.props,t)||t[0]===`$`&&t.slice(1)in e?!1:(a[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:r,appContext:i,props:a,type:o}},s){let c;return!!(n[s]||e!==u&&s[0]!==`$`&&y(e,s)||yi(t,s)||y(a,s)||y(r,s)||y(vi,s)||y(i.config.globalProperties,s)||(c=o.__cssModules)&&c[s])},defineProperty(e,t,n){return n.get==null?y(n,`value`)&&this.set(e,t,n.value,null):e._.accessCache[t]=0,Reflect.defineProperty(e,t,n)}};function xi(){return Ci(`useSlots`).slots}function Si(){return Ci(`useAttrs`).attrs}function Ci(e){let t=so();return t.setupContext||=So(t)}function wi(e){return b(e)?e.reduce((e,t)=>(e[t]=null,e),{}):e}var Ti=!0;function Ei(e){let t=Ai(e),n=e.proxy,r=e.ctx;Ti=!1,t.beforeCreate&&Oi(t.beforeCreate,e,`bc`);let{data:i,computed:a,methods:o,watch:s,provide:c,inject:l,created:u,beforeMount:d,mounted:p,beforeUpdate:m,updated:h,activated:g,deactivated:_,beforeDestroy:v,beforeUnmount:y,destroyed:x,unmounted:S,render:C,renderTracked:T,renderTriggered:E,errorCaptured:O,serverPrefetch:k,expose:A,inheritAttrs:ee,components:j,directives:te,filters:ne}=t;if(l&&Di(l,r,null),o)for(let e in o){let t=o[e];w(t)&&(r[e]=t.bind(n))}if(i){let t=i.call(n,n);D(t)&&(e.data=Jt(t))}if(Ti=!0,a)for(let e in a){let t=a[e],i=Y({get:w(t)?t.bind(n,n):w(t.get)?t.get.bind(n,n):f,set:!w(t)&&w(t.set)?t.set.bind(n):f});Object.defineProperty(r,e,{enumerable:!0,configurable:!0,get:()=>i.value,set:e=>i.value=e})}if(s)for(let e in s)ki(s[e],r,n,e);if(c){let e=w(c)?c.call(n):c;Reflect.ownKeys(e).forEach(t=>{$n(t,e[t])})}u&&Oi(u,e,`c`);function re(e,t){b(t)?t.forEach(t=>e(t.bind(n))):t&&e(t.bind(n))}if(re(Yr,d),re(Xr,p),re(Zr,m),re(Qr,h),re(Ur,g),re(Wr,_),re(ii,O),re(ri,T),re(ni,E),re($r,y),re(ei,S),re(ti,k),b(A))if(A.length){let t=e.exposed||={};A.forEach(e=>{Object.defineProperty(t,e,{get:()=>n[e],set:t=>n[e]=t,enumerable:!0})})}else e.exposed||={};C&&e.render===f&&(e.render=C),ee!=null&&(e.inheritAttrs=ee),j&&(e.components=j),te&&(e.directives=te),k&&Ir(e)}function Di(e,t,n=f){b(e)&&(e=Fi(e));for(let n in e){let r=e[n],i;i=D(r)?`default`in r?z(r.from||n,r.default,!0):z(r.from||n):z(r),cn(i)?Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:()=>i.value,set:e=>i.value=e}):t[n]=i}}function Oi(e,t,n){An(b(e)?e.map(e=>e.bind(t.proxy)):e.bind(t.proxy),t,n)}function ki(e,t,n,r){let i=r.includes(`.`)?or(n,r):()=>n[r];if(T(e)){let n=t[e];w(n)&&B(i,n)}else if(w(e))B(i,e.bind(n));else if(D(e))if(b(e))e.forEach(e=>ki(e,t,n,r));else{let r=w(e.handler)?e.handler.bind(n):t[e.handler];w(r)&&B(i,r,e)}}function Ai(e){let t=e.type,{mixins:n,extends:r}=t,{mixins:i,optionsCache:a,config:{optionMergeStrategies:o}}=e.appContext,s=a.get(t),c;return s?c=s:!i.length&&!n&&!r?c=t:(c={},i.length&&i.forEach(e=>ji(c,e,o,!0)),ji(c,t,o)),D(t)&&a.set(t,c),c}function ji(e,t,n,r=!1){let{mixins:i,extends:a}=t;a&&ji(e,a,n,!0),i&&i.forEach(t=>ji(e,t,n,!0));for(let i in t)if(!(r&&i===`expose`)){let r=Mi[i]||n&&n[i];e[i]=r?r(e[i],t[i]):t[i]}return e}var Mi={data:Ni,props:Ri,emits:Ri,methods:Li,computed:Li,beforeCreate:Ii,created:Ii,beforeMount:Ii,mounted:Ii,beforeUpdate:Ii,updated:Ii,beforeDestroy:Ii,beforeUnmount:Ii,destroyed:Ii,unmounted:Ii,activated:Ii,deactivated:Ii,errorCaptured:Ii,serverPrefetch:Ii,components:Li,directives:Li,watch:zi,provide:Ni,inject:Pi};function Ni(e,t){return t?e?function(){return g(w(e)?e.call(this,this):e,w(t)?t.call(this,this):t)}:t:e}function Pi(e,t){return Li(Fi(e),Fi(t))}function Fi(e){if(b(e)){let t={};for(let n=0;nt===`modelValue`||t===`model-value`?e.modelModifiers:e[`${t}Modifiers`]||e[`${ae(t)}Modifiers`]||e[`${se(t)}Modifiers`];function Gi(e,t,...n){if(e.isUnmounted)return;let r=e.vnode.props||u,i=n,a=t.startsWith(`update:`),o=a&&Wi(r,t.slice(7));o&&(o.trim&&(i=n.map(e=>T(e)?e.trim():e)),o.number&&(i=n.map(pe)));let s,c=r[s=le(t)]||r[s=le(ae(t))];!c&&a&&(c=r[s=le(se(t))]),c&&An(c,e,6,i);let l=r[s+`Once`];if(l){if(!e.emitted)e.emitted={};else if(e.emitted[s])return;e.emitted[s]=!0,An(l,e,6,i)}}var Ki=new WeakMap;function qi(e,t,n=!1){let r=n?Ki:t.emitsCache,i=r.get(e);if(i!==void 0)return i;let a=e.emits,o={},s=!1;if(!w(e)){let r=e=>{let n=qi(e,t,!0);n&&(s=!0,g(o,n))};!n&&t.mixins.length&&t.mixins.forEach(r),e.extends&&r(e.extends),e.mixins&&e.mixins.forEach(r)}return!a&&!s?(D(e)&&r.set(e,null),null):(b(a)?a.forEach(e=>o[e]=null):g(o,a),D(e)&&r.set(e,o),o)}function Ji(e,t){return!e||!m(t)?!1:(t=t.slice(2).replace(/Once$/,``),y(e,t[0].toLowerCase()+t.slice(1))||y(e,se(t))||y(e,t))}function Yi(e){let{type:t,vnode:n,proxy:r,withProxy:i,propsOptions:[a],slots:o,attrs:s,emit:c,render:l,renderCache:u,props:d,data:f,setupState:p,ctx:m,inheritAttrs:g}=e,_=Xn(e),v,y;try{if(n.shapeFlag&4){let e=i||r,t=e;v=Qa(l.call(t,e,u,d,p,f,m)),y=s}else{let e=t;v=Qa(e.length>1?e(d,{attrs:s,slots:o,emit:c}):e(d,null)),y=t.props?s:Xi(s)}}catch(t){La.length=0,jn(t,e,1),v=q(Fa)}let b=v;if(y&&g!==!1){let e=Object.keys(y),{shapeFlag:t}=b;e.length&&t&7&&(a&&e.some(h)&&(y=Zi(y,a)),b=Ya(b,y,!1,!0))}return n.dirs&&(b=Ya(b,null,!1,!0),b.dirs=b.dirs?b.dirs.concat(n.dirs):n.dirs),n.transition&&Pr(b,n.transition),v=b,Xn(_),v}var Xi=e=>{let t;for(let n in e)(n===`class`||n===`style`||m(n))&&((t||={})[n]=e[n]);return t},Zi=(e,t)=>{let n={};for(let r in e)(!h(r)||!(r.slice(9)in t))&&(n[r]=e[r]);return n};function Qi(e,t,n){let{props:r,children:i,component:a}=e,{props:o,children:s,patchFlag:c}=t,l=a.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&c>=0){if(c&1024)return!0;if(c&16)return r?$i(r,o,l):!!o;if(c&8){let e=t.dynamicProps;for(let t=0;tObject.create(na),ia=e=>Object.getPrototypeOf(e)===na;function aa(e,t,n,r=!1){let i={},a=ra();e.propsDefaults=Object.create(null),sa(e,t,i,a);for(let t in e.propsOptions[0])t in i||(i[t]=void 0);n?e.props=r?i:Yt(i):e.type.props?e.props=i:e.props=a,e.attrs=a}function oa(e,t,n,r){let{props:i,attrs:a,vnode:{patchFlag:o}}=e,s=rn(i),[c]=e.propsOptions,l=!1;if((r||o>0)&&!(o&16)){if(o&8){let n=e.vnode.dynamicProps;for(let r=0;r{c=!0;let[n,r]=ua(e,t,!0);g(o,n),r&&s.push(...r)};!n&&t.mixins.length&&t.mixins.forEach(r),e.extends&&r(e.extends),e.mixins&&e.mixins.forEach(r)}if(!a&&!c)return D(e)&&r.set(e,d),d;if(b(a))for(let e=0;ee===`_`||e===`_ctx`||e===`$stable`,pa=e=>b(e)?e.map(Qa):[Qa(e)],ma=(e,t,n)=>{if(t._n)return t;let r=R((...e)=>pa(t(...e)),n);return r._c=!1,r},ha=(e,t,n)=>{let r=e._ctx;for(let n in e){if(fa(n))continue;let i=e[n];if(w(i))t[n]=ma(n,i,r);else if(i!=null){let e=pa(i);t[n]=()=>e}}},ga=(e,t)=>{let n=pa(t);e.slots.default=()=>n},_a=(e,t,n)=>{for(let r in t)(n||!fa(r))&&(e[r]=t[r])},va=(e,t,n)=>{let r=e.slots=ra();if(e.vnode.shapeFlag&32){let e=t._;e?(_a(r,t,n),n&&fe(r,`_`,e,!0)):ha(t,r)}else t&&ga(e,t)},ya=(e,t,n)=>{let{vnode:r,slots:i}=e,a=!0,o=u;if(r.shapeFlag&32){let e=t._;e?n&&e===1?a=!1:_a(i,t,n):(a=!t.$stable,ha(t,i)),o=t}else t&&(ga(e,t),o={default:1});if(a)for(let e in i)!fa(e)&&o[e]==null&&delete i[e]},ba=Ma;function xa(e){return Sa(e)}function Sa(e,t){let n=ge();n.__VUE__=!0;let{insert:r,remove:i,patchProp:a,createElement:o,createText:s,createComment:c,setText:l,setElementText:p,parentNode:m,nextSibling:h,setScopeId:g=f,insertStaticContent:_}=e,v=(e,t,n,r=null,i=null,a=null,o=void 0,s=null,c=!!t.dynamicChildren)=>{if(e===t)return;e&&!Wa(e,t)&&(r=M(e),ue(e,i,a,!0),e=null),t.patchFlag===-2&&(c=!1,t.dynamicChildren=null);let{type:l,ref:u,shapeFlag:d}=t;switch(l){case Pa:y(e,t,n,r);break;case Fa:b(e,t,n,r);break;case Ia:e??x(t,n,r,o);break;case Na:ee(e,t,n,r,i,a,o,s,c);break;default:d&1?w(e,t,n,r,i,a,o,s,c):d&6?j(e,t,n,r,i,a,o,s,c):(d&64||d&128)&&l.process(e,t,n,r,i,a,o,s,c,ye)}u!=null&&i?zr(u,e&&e.ref,a,t||e,!t):u==null&&e&&e.ref!=null&&zr(e.ref,null,a,e,!0)},y=(e,t,n,i)=>{if(e==null)r(t.el=s(t.children),n,i);else{let n=t.el=e.el;t.children!==e.children&&l(n,t.children)}},b=(e,t,n,i)=>{e==null?r(t.el=c(t.children||``),n,i):t.el=e.el},x=(e,t,n,r)=>{[e.el,e.anchor]=_(e.children,t,n,r,e.el,e.anchor)},S=({el:e,anchor:t},n,i)=>{let a;for(;e&&e!==t;)a=h(e),r(e,n,i),e=a;r(t,n,i)},C=({el:e,anchor:t})=>{let n;for(;e&&e!==t;)n=h(e),i(e),e=n;i(t)},w=(e,t,n,r,i,a,o,s,c)=>{if(t.type===`svg`?o=`svg`:t.type===`math`&&(o=`mathml`),e==null)T(t,n,r,i,a,o,s,c);else{let n=e.el&&e.el._isVueCE?e.el:null;try{n&&n._beginPatch(),O(e,t,i,a,o,s,c)}finally{n&&n._endPatch()}}},T=(e,t,n,i,s,c,l,u)=>{let d,f,{props:m,shapeFlag:h,transition:g,dirs:_}=e;if(d=e.el=o(e.type,c,m&&m.is,m),h&8?p(d,e.children):h&16&&D(e.children,d,null,i,s,Ca(e,c),l,u),_&&Qn(e,null,i,`created`),E(d,e,e.scopeId,l,i),m){for(let e in m)e!==`value`&&!ne(e)&&a(d,e,null,m[e],c,i);`value`in m&&a(d,`value`,null,m.value,c),(f=m.onVnodeBeforeMount)&&no(f,i,e)}_&&Qn(e,null,i,`beforeMount`);let v=Ta(s,g);v&&g.beforeEnter(d),r(d,t,n),((f=m&&m.onVnodeMounted)||v||_)&&ba(()=>{try{f&&no(f,i,e),v&&g.enter(d),_&&Qn(e,null,i,`mounted`)}finally{}},s)},E=(e,t,n,r,i)=>{if(n&&g(e,n),r)for(let t=0;t{for(let l=c;l{let c=t.el=e.el,{patchFlag:l,dynamicChildren:d,dirs:f}=t;l|=e.patchFlag&16;let m=e.props||u,h=t.props||u,g;if(n&&wa(n,!1),(g=h.onVnodeBeforeUpdate)&&no(g,n,t,e),f&&Qn(t,e,n,`beforeUpdate`),n&&wa(n,!0),(m.innerHTML&&h.innerHTML==null||m.textContent&&h.textContent==null)&&p(c,``),d?k(e.dynamicChildren,d,c,n,r,Ca(t,i),o):s||oe(e,t,c,null,n,r,Ca(t,i),o,!1),l>0){if(l&16)A(c,m,h,n,i);else if(l&2&&m.class!==h.class&&a(c,`class`,null,h.class,i),l&4&&a(c,`style`,m.style,h.style,i),l&8){let e=t.dynamicProps;for(let t=0;t{g&&no(g,n,t,e),f&&Qn(t,e,n,`updated`)},r)},k=(e,t,n,r,i,a,o)=>{for(let s=0;s{if(t!==n){if(t!==u)for(let o in t)!ne(o)&&!(o in n)&&a(e,o,t[o],null,i,r);for(let o in n){if(ne(o))continue;let s=n[o],c=t[o];s!==c&&o!==`value`&&a(e,o,c,s,i,r)}`value`in n&&a(e,`value`,t.value,n.value,i)}},ee=(e,t,n,i,a,o,c,l,u)=>{let d=t.el=e?e.el:s(``),f=t.anchor=e?e.anchor:s(``),{patchFlag:p,dynamicChildren:m,slotScopeIds:h}=t;h&&(l=l?l.concat(h):h),e==null?(r(d,n,i),r(f,n,i),D(t.children||[],n,f,a,o,c,l,u)):p>0&&p&64&&m&&e.dynamicChildren&&e.dynamicChildren.length===m.length?(k(e.dynamicChildren,m,n,a,o,c,l),(t.key!=null||a&&t===a.subTree)&&Ea(e,t,!0)):oe(e,t,n,f,a,o,c,l,u)},j=(e,t,n,r,i,a,o,s,c)=>{t.slotScopeIds=s,e==null?t.shapeFlag&512?i.ctx.activate(t,n,r,o,c):te(t,n,r,i,a,o,c):re(e,t,c)},te=(e,t,n,r,i,a,o)=>{let s=e.component=ao(e,r,i);if(Hr(e)&&(s.ctx.renderer=ye),ho(s,!1,o),s.asyncDep){if(i&&i.registerDep(s,ie,o),!e.el){let r=s.subTree=q(Fa);b(null,r,t,n),e.placeholder=r.el}}else ie(s,e,t,n,i,a,o)},re=(e,t,n)=>{let r=t.component=e.component;if(Qi(e,t,n))if(r.asyncDep&&!r.asyncResolved){ae(r,t,n);return}else r.next=t,r.update();else t.el=e.el,r.vnode=t},ie=(e,t,n,r,i,a,o)=>{let s=()=>{if(e.isMounted){let{next:t,bu:n,u:r,parent:s,vnode:c}=e;{let n=Oa(e);if(n){t&&(t.el=c.el,ae(e,t,o)),n.asyncDep.then(()=>{ba(()=>{e.isUnmounted||l()},i)});return}}let u=t,d;wa(e,!1),t?(t.el=c.el,ae(e,t,o)):t=c,n&&de(n),(d=t.props&&t.props.onVnodeBeforeUpdate)&&no(d,s,t,c),wa(e,!0);let f=Yi(e),p=e.subTree;e.subTree=f,v(p,f,m(p.el),M(p),e,i,a),t.el=f.el,u===null&&ta(e,f.el),r&&ba(r,i),(d=t.props&&t.props.onVnodeUpdated)&&ba(()=>no(d,s,t,c),i)}else{let o,{el:s,props:c}=t,{bm:l,m:u,parent:d,root:f,type:p}=e,m=Vr(t);if(wa(e,!1),l&&de(l),!m&&(o=c&&c.onVnodeBeforeMount)&&no(o,d,t),wa(e,!0),s&&N){let t=()=>{e.subTree=Yi(e),N(s,e.subTree,e,i,null)};m&&p.__asyncHydrate?p.__asyncHydrate(s,e,t):t()}else{f.ce&&f.ce._hasShadowRoot()&&f.ce._injectChildStyle(p,e.parent?e.parent.type:void 0);let o=e.subTree=Yi(e);v(null,o,n,r,e,i,a),t.el=o.el}if(u&&ba(u,i),!m&&(o=c&&c.onVnodeMounted)){let e=t;ba(()=>no(o,d,e),i)}(t.shapeFlag&256||d&&Vr(d.vnode)&&d.vnode.shapeFlag&256)&&e.a&&ba(e.a,i),e.isMounted=!0,t=n=r=null}};e.scope.on();let c=e.effect=new Re(s);e.scope.off();let l=e.update=c.run.bind(c),u=e.job=c.runIfDirty.bind(c);u.i=e,u.id=e.uid,c.scheduler=()=>Vn(u),wa(e,!0),l()},ae=(e,t,n)=>{t.component=e;let r=e.vnode.props;e.vnode=t,e.next=null,oa(e,t.props,r,n),ya(e,t.children,n),$e(),Wn(e),et()},oe=(e,t,n,r,i,a,o,s,c=!1)=>{let l=e&&e.children,u=e?e.shapeFlag:0,d=t.children,{patchFlag:f,shapeFlag:m}=t;if(f>0){if(f&128){ce(l,d,n,r,i,a,o,s,c);return}else if(f&256){se(l,d,n,r,i,a,o,s,c);return}}m&8?(u&16&&he(l,i,a),d!==l&&p(n,d)):u&16?m&16?ce(l,d,n,r,i,a,o,s,c):he(l,i,a,!0):(u&8&&p(n,``),m&16&&D(d,n,r,i,a,o,s,c))},se=(e,t,n,r,i,a,o,s,c)=>{e||=d,t||=d;let l=e.length,u=t.length,f=Math.min(l,u),p;for(p=0;pu?he(e,i,a,!0,!1,f):D(t,n,r,i,a,o,s,c,f)},ce=(e,t,n,r,i,a,o,s,c)=>{let l=0,u=t.length,f=e.length-1,p=u-1;for(;l<=f&&l<=p;){let r=e[l],u=t[l]=c?$a(t[l]):Qa(t[l]);if(Wa(r,u))v(r,u,n,null,i,a,o,s,c);else break;l++}for(;l<=f&&l<=p;){let r=e[f],l=t[p]=c?$a(t[p]):Qa(t[p]);if(Wa(r,l))v(r,l,n,null,i,a,o,s,c);else break;f--,p--}if(l>f){if(l<=p){let e=p+1,d=ep)for(;l<=f;)ue(e[l],i,a,!0),l++;else{let m=l,h=l,g=new Map;for(l=h;l<=p;l++){let e=t[l]=c?$a(t[l]):Qa(t[l]);e.key!=null&&g.set(e.key,l)}let _,y=0,b=p-h+1,x=!1,S=0,C=Array(b);for(l=0;l=b){ue(r,i,a,!0);continue}let u;if(r.key!=null)u=g.get(r.key);else for(_=h;_<=p;_++)if(C[_-h]===0&&Wa(r,t[_])){u=_;break}u===void 0?ue(r,i,a,!0):(C[u-h]=l+1,u>=S?S=u:x=!0,v(r,t[u],n,null,i,a,o,s,c),y++)}let w=x?Da(C):d;for(_=w.length-1,l=b-1;l>=0;l--){let e=h+l,d=t[e],f=t[e+1],p=e+1{let{el:s,type:c,transition:l,children:u,shapeFlag:d}=e;if(d&6){le(e.component.subTree,t,n,a);return}if(d&128){e.suspense.move(t,n,a);return}if(d&64){c.move(e,t,n,ye);return}if(c===Na){r(s,t,n);for(let e=0;el.enter(s),o));else{let{leave:a,delayLeave:o,afterLeave:c}=l,u=()=>{e.ctx.isUnmounted?i(s):r(s,t,n)},d=()=>{let e=s._isLeaving||!!s[xr];s._isLeaving&&s[xr](!0),l.persisted&&!e?u():a(s,()=>{u(),c&&c()})};o?o(s,u,d):d()}else r(s,t,n)},ue=(e,t,n,r=!1,i=!1)=>{let{type:a,props:o,ref:s,children:c,dynamicChildren:l,shapeFlag:u,patchFlag:d,dirs:f,cacheIndex:p,memo:m}=e;if(d===-2&&(i=!1),s!=null&&($e(),zr(s,null,n,e,!0),et()),p!=null&&(t.renderCache[p]=void 0),u&256){t.ctx.deactivate(e);return}let h=u&1&&f,g=!Vr(e),_;if(g&&(_=o&&o.onVnodeBeforeUnmount)&&no(_,t,e),u&6)me(e.component,n,r);else{if(u&128){e.suspense.unmount(n,r);return}h&&Qn(e,null,t,`beforeUnmount`),u&64?e.type.remove(e,t,n,ye,r):l&&!l.hasOnce&&(a!==Na||d>0&&d&64)?he(l,t,n,!1,!0):(a===Na&&d&384||!i&&u&16)&&he(c,t,n),r&&fe(e)}let v=m!=null&&p==null;(g&&(_=o&&o.onVnodeUnmounted)||h||v)&&ba(()=>{_&&no(_,t,e),h&&Qn(e,null,t,`unmounted`),v&&(e.el=null)},n)},fe=e=>{let{type:t,el:n,anchor:r,transition:a}=e;if(t===Na){pe(n,r);return}if(t===Ia){C(e);return}let o=()=>{i(n),a&&!a.persisted&&a.afterLeave&&a.afterLeave()};if(e.shapeFlag&1&&a&&!a.persisted){let{leave:t,delayLeave:r}=a,i=()=>t(n,o);r?r(e.el,o,i):i()}else o()},pe=(e,t)=>{let n;for(;e!==t;)n=h(e),i(e),e=n;i(t)},me=(e,t,n)=>{let{bum:r,scope:i,job:a,subTree:o,um:s,m:c,a:l}=e;ka(c),ka(l),r&&de(r),i.stop(),a&&(a.flags|=8,ue(o,e,t,n)),s&&ba(s,t),ba(()=>{e.isUnmounted=!0},t)},he=(e,t,n,r=!1,i=!1,a=0)=>{for(let o=a;o{if(e.shapeFlag&6)return M(e.component.subTree);if(e.shapeFlag&128)return e.suspense.next();let t=h(e.anchor||e.el),n=t&&t[cr];return n?h(n):t},_e=!1,ve=(e,t,n)=>{let r;e==null?t._vnode&&(ue(t._vnode,null,null,!0),r=t._vnode.component):v(t._vnode||null,e,t,null,null,null,n),t._vnode=e,_e||=(_e=!0,Wn(r),Gn(),!1)},ye={p:v,um:ue,m:le,r:fe,mt:te,mc:D,pc:oe,pbc:k,n:M,o:e},be,N;return t&&([be,N]=t(ye)),{render:ve,hydrate:be,createApp:Hi(ve,be)}}function Ca({type:e,props:t},n){return n===`svg`&&e===`foreignObject`||n===`mathml`&&e===`annotation-xml`&&t&&t.encoding&&t.encoding.includes(`html`)?void 0:n}function wa({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function Ta(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Ea(e,t,n=!1){let r=e.children,i=t.children;if(b(r)&&b(i))for(let e=0;e>1,e[n[s]]0&&(t[r]=n[a-1]),n[a]=r)}}for(a=n.length,o=n[a-1];a-- >0;)n[a]=o,o=t[o];return n}function Oa(e){let t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Oa(t)}function ka(e){if(e)for(let t=0;te.__isSuspense;function Ma(e,t){t&&t.pendingBranch?b(e)?t.effects.push(...e):t.effects.push(e):Un(e)}var Na=Symbol.for(`v-fgt`),Pa=Symbol.for(`v-txt`),Fa=Symbol.for(`v-cmt`),Ia=Symbol.for(`v-stc`),La=[],Ra=null;function U(e=!1){La.push(Ra=e?null:[])}function za(){La.pop(),Ra=La[La.length-1]||null}var Ba=1;function Va(e,t=!1){Ba+=e,e<0&&Ra&&t&&(Ra.hasOnce=!0)}function Ha(e){return e.dynamicChildren=Ba>0?Ra||d:null,za(),Ba>0&&Ra&&Ra.push(e),e}function W(e,t,n,r,i,a){return Ha(K(e,t,n,r,i,a,!0))}function G(e,t,n,r,i){return Ha(q(e,t,n,r,i,!0))}function Ua(e){return e?e.__v_isVNode===!0:!1}function Wa(e,t){return e.type===t.type&&e.key===t.key}var Ga=({key:e})=>e??null,Ka=({ref:e,ref_key:t,ref_for:n})=>(typeof e==`number`&&(e=``+e),e==null?null:T(e)||cn(e)||w(e)?{i:Jn,r:e,k:t,f:!!n}:e);function K(e,t=null,n=null,r=0,i=null,a=e===Na?0:1,o=!1,s=!1){let c={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Ga(t),ref:t&&Ka(t),scopeId:Yn,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:a,patchFlag:r,dynamicProps:i,dynamicChildren:null,appContext:null,ctx:Jn};return s?(eo(c,n),a&128&&e.normalize(c)):n&&(c.shapeFlag|=T(n)?8:16),Ba>0&&!o&&Ra&&(c.patchFlag>0||a&6)&&c.patchFlag!==32&&Ra.push(c),c}var q=qa;function qa(e,t=null,n=null,r=0,i=null,a=!1){if((!e||e===ci)&&(e=Fa),Ua(e)){let r=Ya(e,t,!0);return n&&eo(r,n),Ba>0&&!a&&Ra&&(r.shapeFlag&6?Ra[Ra.indexOf(e)]=r:Ra.push(r)),r.patchFlag=-2,r}if(To(e)&&(e=e.__vccOpts),t){t=Ja(t);let{class:e,style:n}=t;e&&!T(e)&&(t.class=N(e)),D(n)&&(nn(n)&&!b(n)&&(n=g({},n)),t.style=M(n))}let o=T(e)?1:ja(e)?128:lr(e)?64:D(e)?4:w(e)?2:0;return K(e,t,n,r,i,o,a,!0)}function Ja(e){return e?nn(e)||ia(e)?g({},e):e:null}function Ya(e,t,n=!1,r=!1){let{props:i,ref:a,patchFlag:o,children:s,transition:c}=e,l=t?to(i||{},t):i,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:l,key:l&&Ga(l),ref:t&&t.ref?n&&a?b(a)?a.concat(Ka(t)):[a,Ka(t)]:Ka(t):a,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:s,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Na?o===-1?16:o|16:o,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:c,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Ya(e.ssContent),ssFallback:e.ssFallback&&Ya(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return c&&r&&Pr(u,c.clone(u)),u}function Xa(e=` `,t=0){return q(Pa,null,e,t)}function Za(e,t){let n=q(Ia,null,e);return n.staticCount=t,n}function J(e=``,t=!1){return t?(U(),G(Fa,null,e)):q(Fa,null,e)}function Qa(e){return e==null||typeof e==`boolean`?q(Fa):b(e)?q(Na,null,e.slice()):Ua(e)?$a(e):q(Pa,null,String(e))}function $a(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Ya(e)}function eo(e,t){let n=0,{shapeFlag:r}=e;if(t==null)t=null;else if(b(t))n=16;else if(typeof t==`object`)if(r&65){let n=t.default;n&&(n._c&&(n._d=!1),eo(e,n()),n._c&&(n._d=!0));return}else{n=32;let r=t._;!r&&!ia(t)?t._ctx=Jn:r===3&&Jn&&(Jn.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else w(t)?(t={default:t,_ctx:Jn},n=32):(t=String(t),r&64?(n=16,t=[Xa(t)]):n=8);e.children=t,e.shapeFlag|=n}function to(...e){let t={};for(let n=0;noo||Jn,co,lo;{let e=ge(),t=(t,n)=>{let r;return(r=e[t])||(r=e[t]=[]),r.push(n),e=>{r.length>1?r.forEach(t=>t(e)):r[0](e)}};co=t(`__VUE_INSTANCE_SETTERS__`,e=>oo=e),lo=t(`__VUE_SSR_SETTERS__`,e=>mo=e)}var uo=e=>{let t=oo;return co(e),e.scope.on(),()=>{e.scope.off(),co(t)}},fo=()=>{oo&&oo.scope.off(),co(null)};function po(e){return e.vnode.shapeFlag&4}var mo=!1;function ho(e,t=!1,n=!1){t&&lo(t);let{props:r,children:i}=e.vnode,a=po(e);aa(e,r,a,t),va(e,i,n||t);let o=a?go(e,t):void 0;return t&&lo(!1),o}function go(e,t){let n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,bi);let{setup:r}=n;if(r){$e();let n=e.setupContext=r.length>1?So(e):null,i=uo(e),a=kn(r,e,0,[e.props,n]),o=O(a);if(et(),i(),(o||e.sp)&&!Vr(e)&&Ir(e),o){if(a.then(fo,fo),t)return a.then(n=>{_o(e,n,t)}).catch(t=>{jn(t,e,0)});e.asyncDep=a}else _o(e,a,t)}else bo(e,t)}function _o(e,t,n){w(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:D(t)&&(e.setupState=hn(t)),bo(e,n)}var vo,yo;function bo(e,t,n){let r=e.type;if(!e.render){if(!t&&vo&&!r.render){let t=r.template||Ai(e).template;if(t){let{isCustomElement:n,compilerOptions:i}=e.appContext.config,{delimiters:a,compilerOptions:o}=r;r.render=vo(t,g(g({isCustomElement:n,delimiters:a},i),o))}}e.render=r.render||f,yo&&yo(e)}{let t=uo(e);$e();try{Ei(e)}finally{et(),t()}}}var xo={get(e,t){return ut(e,`get`,``),e[t]}};function So(e){return{attrs:new Proxy(e.attrs,xo),slots:e.slots,emit:e.emit,expose:t=>{e.exposed=t||{}}}}function Co(e){return e.exposed?e.exposeProxy||=new Proxy(hn(an(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in vi)return vi[n](e)},has(e,t){return t in e||t in vi}}):e.proxy}function wo(e,t=!0){return w(e)?e.displayName||e.name:e.name||t&&e.__name}function To(e){return w(e)&&`__vccOpts`in e}var Y=(e,t)=>Sn(e,t,mo);function Eo(e,t,n){try{Va(-1);let r=arguments.length;return r===2?D(t)&&!b(t)?Ua(t)?q(e,null,[t]):q(e,t):q(e,null,t):(r>3?n=Array.prototype.slice.call(arguments,2):r===3&&Ua(n)&&(n=[n]),q(e,t,n))}finally{Va(1)}}var Do=`3.5.35`,Oo=f,ko=void 0,Ao=typeof window<`u`&&window.trustedTypes;if(Ao)try{ko=Ao.createPolicy(`vue`,{createHTML:e=>e})}catch{}var jo=ko?e=>ko.createHTML(e):e=>e,Mo=`http://www.w3.org/2000/svg`,No=`http://www.w3.org/1998/Math/MathML`,Po=typeof document<`u`?document:null,Fo=Po&&Po.createElement(`template`),Io={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{let t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,r)=>{let i=t===`svg`?Po.createElementNS(Mo,e):t===`mathml`?Po.createElementNS(No,e):n?Po.createElement(e,{is:n}):Po.createElement(e);return e===`select`&&r&&r.multiple!=null&&i.setAttribute(`multiple`,r.multiple),i},createText:e=>Po.createTextNode(e),createComment:e=>Po.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Po.querySelector(e),setScopeId(e,t){e.setAttribute(t,``)},insertStaticContent(e,t,n,r,i,a){let o=n?n.previousSibling:t.lastChild;if(i&&(i===a||i.nextSibling))for(;t.insertBefore(i.cloneNode(!0),n),!(i===a||!(i=i.nextSibling)););else{Fo.innerHTML=jo(r===`svg`?`${e}`:r===`mathml`?`${e}`:e);let i=Fo.content;if(r===`svg`||r===`mathml`){let e=i.firstChild;for(;e.firstChild;)i.appendChild(e.firstChild);i.removeChild(e)}t.insertBefore(i,n)}return[o?o.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},Lo=`transition`,Ro=`animation`,zo=Symbol(`_vtc`),Bo={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},Vo=g({},Tr,Bo),Ho=(e=>(e.displayName=`Transition`,e.props=Vo,e))((e,{slots:t})=>Eo(kr,Go(e),t)),Uo=(e,t=[])=>{b(e)?e.forEach(e=>e(...t)):e&&e(...t)},Wo=e=>e?b(e)?e.some(e=>e.length>1):e.length>1:!1;function Go(e){let t={};for(let n in e)n in Bo||(t[n]=e[n]);if(e.css===!1)return t;let{name:n=`v`,type:r,duration:i,enterFromClass:a=`${n}-enter-from`,enterActiveClass:o=`${n}-enter-active`,enterToClass:s=`${n}-enter-to`,appearFromClass:c=a,appearActiveClass:l=o,appearToClass:u=s,leaveFromClass:d=`${n}-leave-from`,leaveActiveClass:f=`${n}-leave-active`,leaveToClass:p=`${n}-leave-to`}=e,m=Ko(i),h=m&&m[0],_=m&&m[1],{onBeforeEnter:v,onEnter:y,onEnterCancelled:b,onLeave:x,onLeaveCancelled:S,onBeforeAppear:C=v,onAppear:w=y,onAppearCancelled:T=b}=t,E=(e,t,n,r)=>{e._enterCancelled=r,Yo(e,t?u:s),Yo(e,t?l:o),n&&n()},D=(e,t)=>{e._isLeaving=!1,Yo(e,d),Yo(e,p),Yo(e,f),t&&t()},O=e=>(t,n)=>{let i=e?w:y,o=()=>E(t,e,n);Uo(i,[t,o]),Xo(()=>{Yo(t,e?c:a),Jo(t,e?u:s),Wo(i)||Qo(t,r,h,o)})};return g(t,{onBeforeEnter(e){Uo(v,[e]),Jo(e,a),Jo(e,o)},onBeforeAppear(e){Uo(C,[e]),Jo(e,c),Jo(e,l)},onEnter:O(!1),onAppear:O(!0),onLeave(e,t){e._isLeaving=!0;let n=()=>D(e,t);Jo(e,d),e._enterCancelled?(Jo(e,f),ns(e)):(ns(e),Jo(e,f)),Xo(()=>{e._isLeaving&&(Yo(e,d),Jo(e,p),Wo(x)||Qo(e,r,_,n))}),Uo(x,[e,n])},onEnterCancelled(e){E(e,!1,void 0,!0),Uo(b,[e])},onAppearCancelled(e){E(e,!0,void 0,!0),Uo(T,[e])},onLeaveCancelled(e){D(e),Uo(S,[e])}})}function Ko(e){if(e==null)return null;if(D(e))return[qo(e.enter),qo(e.leave)];{let t=qo(e);return[t,t]}}function qo(e){return me(e)}function Jo(e,t){t.split(/\s+/).forEach(t=>t&&e.classList.add(t)),(e[zo]||(e[zo]=new Set)).add(t)}function Yo(e,t){t.split(/\s+/).forEach(t=>t&&e.classList.remove(t));let n=e[zo];n&&(n.delete(t),n.size||(e[zo]=void 0))}function Xo(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}var Zo=0;function Qo(e,t,n,r){let i=e._endId=++Zo,a=()=>{i===e._endId&&r()};if(n!=null)return setTimeout(a,n);let{type:o,timeout:s,propCount:c}=$o(e,t);if(!o)return r();let l=o+`end`,u=0,d=()=>{e.removeEventListener(l,f),a()},f=t=>{t.target===e&&++u>=c&&d()};setTimeout(()=>{u(n[e]||``).split(`, `),i=r(`${Lo}Delay`),a=r(`${Lo}Duration`),o=es(i,a),s=r(`${Ro}Delay`),c=r(`${Ro}Duration`),l=es(s,c),u=null,d=0,f=0;t===Lo?o>0&&(u=Lo,d=o,f=a.length):t===Ro?l>0&&(u=Ro,d=l,f=c.length):(d=Math.max(o,l),u=d>0?o>l?Lo:Ro:null,f=u?u===Lo?a.length:c.length:0);let p=u===Lo&&/\b(?:transform|all)(?:,|$)/.test(r(`${Lo}Property`).toString());return{type:u,timeout:d,propCount:f,hasTransform:p}}function es(e,t){for(;e.lengthts(t)+ts(e[n])))}function ts(e){return e===`auto`?0:Number(e.slice(0,-1).replace(`,`,`.`))*1e3}function ns(e){return(e?e.ownerDocument:document).body.offsetHeight}function rs(e,t,n){let r=e[zo];r&&(t=(t?[t,...r]:[...r]).join(` `)),t==null?e.removeAttribute(`class`):n?e.setAttribute(`class`,t):e.className=t}var is=Symbol(`_vod`),as=Symbol(`_vsh`),os={name:`show`,beforeMount(e,{value:t},{transition:n}){e[is]=e.style.display===`none`?``:e.style.display,n&&t?n.beforeEnter(e):ss(e,t)},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:r}){!t!=!n&&(r?t?(r.beforeEnter(e),ss(e,!0),r.enter(e)):r.leave(e,()=>{ss(e,!1)}):ss(e,t))},beforeUnmount(e,{value:t}){ss(e,t)}};function ss(e,t){e.style.display=t?e[is]:`none`,e[as]=!t}var cs=Symbol(``),ls=/(?:^|;)\s*display\s*:/;function us(e,t,n){let r=e.style,i=T(n),a=!1;if(n&&!i){if(t)if(T(t))for(let e of t.split(`;`)){let t=e.slice(0,e.indexOf(`:`)).trim();n[t]??fs(r,t,``)}else for(let e in t)n[e]??fs(r,e,``);for(let i in n){i===`display`&&(a=!0);let o=n[i];o==null?fs(r,i,``):gs(e,i,!T(t)&&t?t[i]:void 0,o)||fs(r,i,o)}}else if(i){if(t!==n){let e=r[cs];e&&(n+=`;`+e),r.cssText=n,a=ls.test(n)}}else t&&e.removeAttribute(`style`);is in e&&(e[is]=a?r.display:``,e[as]&&(r.display=`none`))}var ds=/\s*!important$/;function fs(e,t,n){if(b(n))n.forEach(n=>fs(e,t,n));else if(n??=``,t.startsWith(`--`))e.setProperty(t,n);else{let r=hs(e,t);ds.test(n)?e.setProperty(se(r),n.replace(ds,``),`important`):e[r]=n}}var ps=[`Webkit`,`Moz`,`ms`],ms={};function hs(e,t){let n=ms[t];if(n)return n;let r=ae(t);if(r!==`filter`&&r in e)return ms[t]=r;r=ce(r);for(let n=0;nEs||=(Ds.then(()=>Es=0),Date.now());function ks(e,t){let n=e=>{if(!e._vts)e._vts=Date.now();else if(e._vts<=n.attached)return;let r=n.value;if(b(r)){let n=e.stopImmediatePropagation;e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0};let i=r.slice(),a=[e];for(let n=0;ne.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,js=(e,t,n,r,i,a)=>{let o=i===`svg`;t===`class`?rs(e,r,o):t===`style`?us(e,n,r):m(t)?h(t)||Cs(e,t,n,r,a):(t[0]===`.`?(t=t.slice(1),!0):t[0]===`^`?(t=t.slice(1),!1):Ms(e,t,r,o))?(ys(e,t,r),!e.tagName.includes(`-`)&&(t===`value`||t===`checked`||t===`selected`)&&vs(e,t,r,o,a,t!==`value`)):e._isVueCE&&(Ns(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!T(r)))?ys(e,ae(t),r,a,t):(t===`true-value`?e._trueValue=r:t===`false-value`&&(e._falseValue=r),vs(e,t,r,o))};function Ms(e,t,n,r){if(r)return!!(t===`innerHTML`||t===`textContent`||t in e&&As(t)&&w(n));if(t===`spellcheck`||t===`draggable`||t===`translate`||t===`autocorrect`||t===`sandbox`&&e.tagName===`IFRAME`||t===`form`||t===`list`&&e.tagName===`INPUT`||t===`type`&&e.tagName===`TEXTAREA`)return!1;if(t===`width`||t===`height`){let t=e.tagName;if(t===`IMG`||t===`VIDEO`||t===`CANVAS`||t===`SOURCE`)return!1}return As(t)&&T(n)?!1:t in e}function Ns(e,t){let n=e._def.props;if(!n)return!1;let r=ae(t);return Array.isArray(n)?n.some(e=>ae(e)===r):Object.keys(n).some(e=>ae(e)===r)}var Ps=new WeakMap,Fs=new WeakMap,Is=Symbol(`_moveCb`),Ls=Symbol(`_enterCb`),Rs=(e=>(delete e.props.mode,e))({name:`TransitionGroup`,props:g({},Vo,{tag:String,moveClass:String}),setup(e,{slots:t}){let n=so(),r=Cr(),i,a;return Qr(()=>{if(!i.length)return;let t=e.moveClass||`${e.name||`v`}-move`;if(!Us(i[0].el,n.vnode.el,t)){i=[];return}i.forEach(zs),i.forEach(Bs);let r=i.filter(Vs);ns(n.vnode.el),r.forEach(e=>{let n=e.el,r=n.style;Jo(n,t),r.transform=r.webkitTransform=r.transitionDuration=``;let i=n[Is]=e=>{e&&e.target!==n||(!e||e.propertyName.endsWith(`transform`))&&(n.removeEventListener(`transitionend`,i),n[Is]=null,Yo(n,t))};n.addEventListener(`transitionend`,i)}),i=[]}),()=>{let o=rn(e),s=Go(o),c=o.tag||Na;if(i=[],a)for(let e=0;e{e.split(/\s+/).forEach(e=>e&&r.classList.remove(e))}),n.split(/\s+/).forEach(e=>e&&r.classList.add(e)),r.style.display=`none`;let a=t.nodeType===1?t:t.parentNode;a.appendChild(r);let{hasTransform:o}=$o(r);return a.removeChild(r),o}var Ws=e=>{let t=e.props[`onUpdate:modelValue`]||!1;return b(t)?e=>de(t,e):t};function Gs(e){e.target.composing=!0}function Ks(e){let t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event(`input`)))}var qs=Symbol(`_assign`);function Js(e,t,n){return t&&(e=e.trim()),n&&(e=pe(e)),e}var Ys={created(e,{modifiers:{lazy:t,trim:n,number:r}},i){e[qs]=Ws(i);let a=r||i.props&&i.props.type===`number`;bs(e,t?`change`:`input`,t=>{t.target.composing||e[qs](Js(e.value,n,a))}),(n||a)&&bs(e,`change`,()=>{e.value=Js(e.value,n,a)}),t||(bs(e,`compositionstart`,Gs),bs(e,`compositionend`,Ks),bs(e,`change`,Ks))},mounted(e,{value:t}){e.value=t??``},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:r,trim:i,number:a}},o){if(e[qs]=Ws(o),e.composing)return;let s=(a||e.type===`number`)&&!/^0\d/.test(e.value)?pe(e.value):e.value,c=t??``;if(s===c)return;let l=e.getRootNode();(l instanceof Document||l instanceof ShadowRoot)&&l.activeElement===e&&e.type!==`range`&&(r&&t===n||i&&e.value.trim()===c)||(e.value=c)}},Xs={deep:!0,created(e,t,n){e[qs]=Ws(n),bs(e,`change`,()=>{let t=e._modelValue,n=tc(e),r=e.checked,i=e[qs];if(b(t)){let e=De(t,n),a=e!==-1;if(r&&!a)i(t.concat(n));else if(!r&&a){let n=[...t];n.splice(e,1),i(n)}}else if(S(t)){let e=new Set(t);r?e.add(n):e.delete(n),i(e)}else i(nc(e,r))})},mounted:Zs,beforeUpdate(e,t,n){e[qs]=Ws(n),Zs(e,t,n)}};function Zs(e,{value:t,oldValue:n},r){e._modelValue=t;let i;if(b(t))i=De(t,r.props.value)>-1;else if(S(t))i=t.has(r.props.value);else{if(t===n)return;i=Ee(t,nc(e,!0))}e.checked!==i&&(e.checked=i)}var Qs={created(e,{value:t},n){e.checked=Ee(t,n.props.value),e[qs]=Ws(n),bs(e,`change`,()=>{e[qs](tc(e))})},beforeUpdate(e,{value:t,oldValue:n},r){e[qs]=Ws(r),t!==n&&(e.checked=Ee(t,r.props.value))}},$s={deep:!0,created(e,{value:t,modifiers:{number:n}},r){let i=S(t);bs(e,`change`,()=>{let t=Array.prototype.filter.call(e.options,e=>e.selected).map(e=>n?pe(tc(e)):tc(e));e[qs](e.multiple?i?new Set(t):t:t[0]),e._assigning=!0,L(()=>{e._assigning=!1})}),e[qs]=Ws(r)},mounted(e,{value:t}){ec(e,t)},beforeUpdate(e,t,n){e[qs]=Ws(n)},updated(e,{value:t}){e._assigning||ec(e,t)}};function ec(e,t){let n=e.multiple,r=b(t);if(!(n&&!r&&!S(t))){for(let i=0,a=e.options.length;iString(e)===String(o)):a.selected=De(t,o)>-1}else a.selected=t.has(o);else if(Ee(tc(a),t)){e.selectedIndex!==i&&(e.selectedIndex=i);return}}!n&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}}function tc(e){return`_value`in e?e._value:e.value}function nc(e,t){let n=t?`_trueValue`:`_falseValue`;return n in e?e[n]:t}var rc=[`ctrl`,`shift`,`alt`,`meta`],ic={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>`button`in e&&e.button!==0,middle:e=>`button`in e&&e.button!==1,right:e=>`button`in e&&e.button!==2,exact:(e,t)=>rc.some(n=>e[`${n}Key`]&&!t.includes(n))},ac=(e,t)=>{if(!e)return e;let n=e._withMods||={},r=t.join(`.`);return n[r]||(n[r]=((n,...r)=>{for(let e=0;e{let n=e._withKeys||={},r=t.join(`.`);return n[r]||(n[r]=(n=>{if(!(`key`in n))return;let r=se(n.key);if(t.some(e=>e===r||oc[e]===r))return e(n)}))},cc=g({patchProp:js},Io),lc;function uc(){return lc||=xa(cc)}var dc=((...e)=>{uc().render(...e)}),fc=((...e)=>{let t=uc().createApp(...e),{mount:n}=t;return t.mount=e=>{let r=mc(e);if(!r)return;let i=t._component;!w(i)&&!i.render&&!i.template&&(i.template=r.innerHTML),r.nodeType===1&&(r.textContent=``);let a=n(r,!1,pc(r));return r instanceof Element&&(r.removeAttribute(`v-cloak`),r.setAttribute(`data-v-app`,``)),a},t});function pc(e){if(e instanceof SVGElement)return`svg`;if(typeof MathMLElement==`function`&&e instanceof MathMLElement)return`mathml`}function mc(e){return T(e)?document.querySelector(e):e}var hc=typeof window<`u`,gc,_c=e=>gc=e,vc=Symbol();function yc(e){return e&&typeof e==`object`&&Object.prototype.toString.call(e)===`[object Object]`&&typeof e.toJSON!=`function`}var bc;(function(e){e.direct=`direct`,e.patchObject=`patch object`,e.patchFunction=`patch function`})(bc||={});var xc=typeof window==`object`&&window.window===window?window:typeof self==`object`&&self.self===self?self:typeof global==`object`&&global.global===global?global:typeof globalThis==`object`?globalThis:{HTMLElement:null};function Sc(e,{autoBom:t=!1}={}){return t&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(e.type)?new Blob([``,e],{type:e.type}):e}function Cc(e,t,n){let r=new XMLHttpRequest;r.open(`GET`,e),r.responseType=`blob`,r.onload=function(){Oc(r.response,t,n)},r.onerror=function(){console.error(`could not download file`)},r.send()}function wc(e){let t=new XMLHttpRequest;t.open(`HEAD`,e,!1);try{t.send()}catch{}return t.status>=200&&t.status<=299}function Tc(e){try{e.dispatchEvent(new MouseEvent(`click`))}catch{let t=new MouseEvent(`click`,{bubbles:!0,cancelable:!0,view:window,detail:0,screenX:80,screenY:20,clientX:80,clientY:20,ctrlKey:!1,altKey:!1,shiftKey:!1,metaKey:!1,button:0,relatedTarget:null});e.dispatchEvent(t)}}var Ec=typeof navigator==`object`?navigator:{userAgent:``},Dc=/Macintosh/.test(Ec.userAgent)&&/AppleWebKit/.test(Ec.userAgent)&&!/Safari/.test(Ec.userAgent),Oc=hc?typeof HTMLAnchorElement<`u`&&`download`in HTMLAnchorElement.prototype&&!Dc?kc:`msSaveOrOpenBlob`in Ec?Ac:jc:()=>{};function kc(e,t=`download`,n){let r=document.createElement(`a`);r.download=t,r.rel=`noopener`,typeof e==`string`?(r.href=e,r.origin===location.origin?Tc(r):wc(r.href)?Cc(e,t,n):(r.target=`_blank`,Tc(r))):(r.href=URL.createObjectURL(e),setTimeout(function(){URL.revokeObjectURL(r.href)},4e4),setTimeout(function(){Tc(r)},0))}function Ac(e,t=`download`,n){if(typeof e==`string`)if(wc(e))Cc(e,t,n);else{let t=document.createElement(`a`);t.href=e,t.target=`_blank`,setTimeout(function(){Tc(t)})}else navigator.msSaveOrOpenBlob(Sc(e,n),t)}function jc(e,t,n,r){if(r||=open(``,`_blank`),r&&(r.document.title=r.document.body.innerText=`downloading...`),typeof e==`string`)return Cc(e,t,n);let i=e.type===`application/octet-stream`,a=/constructor/i.test(String(xc.HTMLElement))||`safari`in xc,o=/CriOS\/[\d]+/.test(navigator.userAgent);if((o||i&&a||Dc)&&typeof FileReader<`u`){let t=new FileReader;t.onloadend=function(){let e=t.result;if(typeof e!=`string`)throw r=null,Error(`Wrong reader.result type`);e=o?e:e.replace(/^data:[^;]*;/,`data:attachment/file;`),r?r.location.href=e:location.assign(e),r=null},t.readAsDataURL(e)}else{let t=URL.createObjectURL(e);r?r.location.assign(t):location.href=t,r=null,setTimeout(function(){URL.revokeObjectURL(t)},4e4)}}var{assign:Mc}=Object;function Nc(){let e=Ne(!0),t=e.run(()=>F({})),n=[],r=[],i=an({install(e){_c(i),i._a=e,e.provide(vc,i),e.config.globalProperties.$pinia=i,r.forEach(e=>n.push(e)),r=[]},use(e){return this._a?n.push(e):r.push(e),this},_p:n,_a:null,_e:e,_s:new Map,state:t});return i}var Pc=()=>{};function Fc(e,t,n,r=Pc){e.add(t);let i=()=>{e.delete(t)&&r()};return!n&&Pe()&&Fe(i),i}function Ic(e,...t){e.forEach(e=>{e(...t)})}var Lc=e=>e(),Rc=Symbol(),zc=Symbol();function Bc(e,t){e instanceof Map&&t instanceof Map?t.forEach((t,n)=>e.set(n,t)):e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(let n in t){if(!t.hasOwnProperty(n))continue;let r=t[n],i=e[n];yc(i)&&yc(r)&&e.hasOwnProperty(n)&&!cn(r)&&!$t(r)?e[n]=Bc(i,r):e[n]=r}return e}var Vc=Symbol();function Hc(e){return!yc(e)||!Object.prototype.hasOwnProperty.call(e,Vc)}var{assign:Uc}=Object;function Wc(e){return!!(cn(e)&&e.effect)}function Gc(e,t,n,r){let{state:i,actions:a,getters:o}=t,s=n.state.value[e],c;function l(){return s||(n.state.value[e]=i?i():{}),Uc(gn(n.state.value[e]),a,Object.keys(o||{}).reduce((t,r)=>(t[r]=an(Y(()=>{_c(n);let t=n._s.get(e);return o[r].call(t,t)})),t),{}))}return c=Kc(e,l,t,n,r,!0),c}function Kc(e,t,n={},r,i,a){let o,s=Uc({actions:{}},n),c={deep:!0},l,u,d=new Set,f=new Set,p=r.state.value[e];!a&&!p&&(r.state.value[e]={});let m;function h(t){let n;l=u=!1,typeof t==`function`?(t(r.state.value[e]),n={type:bc.patchFunction,storeId:e,events:void 0}):(Bc(r.state.value[e],t),n={type:bc.patchObject,payload:t,storeId:e,events:void 0});let i=m=Symbol();L().then(()=>{m===i&&(l=!0)}),u=!0,Ic(d,n,r.state.value[e])}let g=a?function(){let{state:e}=n,t=e?e():{};this.$patch(e=>{Uc(e,t)})}:Pc;function _(){o.stop(),d.clear(),f.clear(),r._s.delete(e)}let v=(t,n=``)=>{if(Rc in t)return t[zc]=n,t;let i=function(){_c(r);let n=Array.from(arguments),a=new Set,o=new Set;function s(e){a.add(e)}function c(e){o.add(e)}Ic(f,{args:n,name:i[zc],store:y,after:s,onError:c});let l;try{l=t.apply(this&&this.$id===e?this:y,n)}catch(e){throw Ic(o,e),e}return l instanceof Promise?l.then(e=>(Ic(a,e),e)).catch(e=>(Ic(o,e),Promise.reject(e))):(Ic(a,l),l)};return i[Rc]=!0,i[zc]=n,i},y=Jt({_p:r,$id:e,$onAction:Fc.bind(null,f),$patch:h,$reset:g,$subscribe(t,n={}){let i=Fc(d,t,n.detached,()=>a()),a=o.run(()=>B(()=>r.state.value[e],r=>{(n.flush===`sync`?u:l)&&t({storeId:e,type:bc.direct,events:void 0},r)},Uc({},c,n)));return i},$dispose:_});r._s.set(e,y);let b=(r._a&&r._a.runWithContext||Lc)(()=>r._e.run(()=>(o=Ne()).run(()=>t({action:v}))));for(let t in b){let n=b[t];cn(n)&&!Wc(n)||$t(n)?a||(p&&Hc(n)&&(cn(n)?n.value=p[t]:Bc(n,p[t])),r.state.value[e][t]=n):typeof n==`function`&&(b[t]=v(n,t),s.actions[t]=n)}return Uc(y,b),Uc(rn(y),b),Object.defineProperty(y,"$state",{get:()=>r.state.value[e],set:e=>{h(t=>{Uc(t,e)})}}),r._p.forEach(e=>{Uc(y,o.run(()=>e({store:y,app:r._a,pinia:r,options:s})))}),p&&a&&n.hydrate&&n.hydrate(y.$state,p),l=!0,u=!0,y}function qc(e,t,n){let r,i=typeof t==`function`;r=i?n:t;function a(n,a){let o=er();return n||=o?z(vc,null):null,n&&_c(n),n=gc,n._s.has(e)||(i?Kc(e,t,r,n):Gc(e,r,n)),n._s.get(e)}return a.$id=e,a}var Jc=typeof document<`u`;function Yc(e){return typeof e==`object`||`displayName`in e||`props`in e||`__vccOpts`in e}function Xc(e){return e.__esModule||e[Symbol.toStringTag]===`Module`||e.default&&Yc(e.default)}var Zc=Object.assign;function Qc(e,t){let n={};for(let r in t){let i=t[r];n[r]=el(i)?i.map(e):e(i)}return n}var $c=()=>{},el=Array.isArray;function tl(e,t){let n={};for(let r in e)n[r]=r in t?t[r]:e[r];return n}var nl=/#/g,rl=/&/g,il=/\//g,al=/=/g,ol=/\?/g,sl=/\+/g,cl=/%5B/g,ll=/%5D/g,ul=/%5E/g,dl=/%60/g,fl=/%7B/g,pl=/%7C/g,ml=/%7D/g,hl=/%20/g;function gl(e){return e==null?``:encodeURI(``+e).replace(pl,`|`).replace(cl,`[`).replace(ll,`]`)}function _l(e){return gl(e).replace(fl,`{`).replace(ml,`}`).replace(ul,`^`)}function vl(e){return gl(e).replace(sl,`%2B`).replace(hl,`+`).replace(nl,`%23`).replace(rl,`%26`).replace(dl,"`").replace(fl,`{`).replace(ml,`}`).replace(ul,`^`)}function yl(e){return vl(e).replace(al,`%3D`)}function bl(e){return gl(e).replace(nl,`%23`).replace(ol,`%3F`)}function xl(e){return bl(e).replace(il,`%2F`)}function Sl(e){if(e==null)return null;try{return decodeURIComponent(``+e)}catch{}return``+e}var Cl=/\/$/,wl=e=>e.replace(Cl,``);function Tl(e,t,n=`/`){let r,i={},a=``,o=``,s=t.indexOf(`#`),c=t.indexOf(`?`);return c=s>=0&&c>s?-1:c,c>=0&&(r=t.slice(0,c),a=t.slice(c,s>0?s:t.length),i=e(a.slice(1))),s>=0&&(r||=t.slice(0,s),o=t.slice(s,t.length)),r=Nl(r??t,n),{fullPath:r+a+o,path:r,query:i,hash:Sl(o)}}function El(e,t){let n=t.query?e(t.query):``;return t.path+(n&&`?`)+n+(t.hash||``)}function Dl(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||`/`}function Ol(e,t,n){let r=t.matched.length-1,i=n.matched.length-1;return r>-1&&r===i&&kl(t.matched[r],n.matched[i])&&Al(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function kl(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function Al(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(var n in e)if(!jl(e[n],t[n]))return!1;return!0}function jl(e,t){return el(e)?Ml(e,t):el(t)?Ml(t,e):e?.valueOf()===t?.valueOf()}function Ml(e,t){return el(t)?e.length===t.length&&e.every((e,n)=>e===t[n]):e.length===1&&e[0]===t}function Nl(e,t){if(e.startsWith(`/`))return e;if(!e)return t;let n=t.split(`/`),r=e.split(`/`),i=r[r.length-1];(i===`..`||i===`.`)&&r.push(``);let a=n.length-1,o,s;for(o=0;o1&&a--;else break;return n.slice(0,a).join(`/`)+`/`+r.slice(o).join(`/`)}var Pl={path:`/`,name:void 0,params:{},query:{},hash:``,fullPath:`/`,matched:[],meta:{},redirectedFrom:void 0},Fl=function(e){return e.pop=`pop`,e.push=`push`,e}({}),Il=function(e){return e.back=`back`,e.forward=`forward`,e.unknown=``,e}({});function Ll(e){if(!e)if(Jc){let t=document.querySelector(`base`);e=t&&t.getAttribute(`href`)||`/`,e=e.replace(/^\w+:\/\/[^\/]+/,``)}else e=`/`;return e[0]!==`/`&&e[0]!==`#`&&(e=`/`+e),wl(e)}var Rl=/^[^#]+#/;function zl(e,t){return e.replace(Rl,`#`)+t}function Bl(e,t){let n=document.documentElement.getBoundingClientRect(),r=e.getBoundingClientRect();return{behavior:t.behavior,left:r.left-n.left-(t.left||0),top:r.top-n.top-(t.top||0)}}var Vl=()=>({left:window.scrollX,top:window.scrollY});function Hl(e){let t;if(`el`in e){let n=e.el,r=typeof n==`string`&&n.startsWith(`#`),i=typeof n==`string`?r?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!i)return;t=Bl(i,e)}else t=e;`scrollBehavior`in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left==null?window.scrollX:t.left,t.top==null?window.scrollY:t.top)}function Ul(e,t){return(history.state?history.state.position-t:-1)+e}var Wl=new Map;function Gl(e,t){Wl.set(e,t)}function Kl(e){let t=Wl.get(e);return Wl.delete(e),t}function ql(e){return typeof e==`string`||e&&typeof e==`object`}function Jl(e){return typeof e==`string`||typeof e==`symbol`}var Yl=function(e){return e[e.MATCHER_NOT_FOUND=1]=`MATCHER_NOT_FOUND`,e[e.NAVIGATION_GUARD_REDIRECT=2]=`NAVIGATION_GUARD_REDIRECT`,e[e.NAVIGATION_ABORTED=4]=`NAVIGATION_ABORTED`,e[e.NAVIGATION_CANCELLED=8]=`NAVIGATION_CANCELLED`,e[e.NAVIGATION_DUPLICATED=16]=`NAVIGATION_DUPLICATED`,e}({}),Xl=Symbol(``);Yl.MATCHER_NOT_FOUND,Yl.NAVIGATION_GUARD_REDIRECT,Yl.NAVIGATION_ABORTED,Yl.NAVIGATION_CANCELLED,Yl.NAVIGATION_DUPLICATED;function Zl(e,t){return Zc(Error(),{type:e,[Xl]:!0},t)}function Ql(e,t){return e instanceof Error&&Xl in e&&(t==null||!!(e.type&t))}function $l(e){let t={};if(e===``||e===`?`)return t;let n=(e[0]===`?`?e.slice(1):e).split(`&`);for(let e=0;ee&&vl(e)):[r&&vl(r)]).forEach(e=>{e!==void 0&&(t+=(t.length?`&`:``)+n,e!=null&&(t+=`=`+e))})}return t}function tu(e){let t={};for(let n in e){let r=e[n];r!==void 0&&(t[n]=el(r)?r.map(e=>e==null?null:``+e):r==null?r:``+r)}return t}var nu=Symbol(``),ru=Symbol(``),iu=Symbol(``),au=Symbol(``),ou=Symbol(``);function su(){let e=[];function t(t){return e.push(t),()=>{let n=e.indexOf(t);n>-1&&e.splice(n,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function cu(e,t,n,r,i,a=e=>e()){let o=r&&(r.enterCallbacks[i]=r.enterCallbacks[i]||[]);return()=>new Promise((s,c)=>{let l=e=>{e===!1?c(Zl(Yl.NAVIGATION_ABORTED,{from:n,to:t})):e instanceof Error?c(e):ql(e)?c(Zl(Yl.NAVIGATION_GUARD_REDIRECT,{from:t,to:e})):(o&&r.enterCallbacks[i]===o&&typeof e==`function`&&o.push(e),s())},u=a(()=>e.call(r&&r.instances[i],t,n,l)),d=Promise.resolve(u);e.length<3&&(d=d.then(l)),d.catch(e=>c(e))})}function lu(e,t,n,r,i=e=>e()){let a=[];for(let o of e)for(let e in o.components){let s=o.components[e];if(!(t!==`beforeRouteEnter`&&!o.instances[e]))if(Yc(s)){let c=(s.__vccOpts||s)[t];c&&a.push(cu(c,n,r,o,e,i))}else{let c=s();a.push(()=>c.then(a=>{if(!a)throw Error(`Couldn't resolve component "${e}" at "${o.path}"`);let s=Xc(a)?a.default:a;o.mods[e]=a,o.components[e]=s;let c=(s.__vccOpts||s)[t];return c&&cu(c,n,r,o,e,i)()}))}}return a}function uu(e,t){let n=[],r=[],i=[],a=Math.max(t.matched.length,e.matched.length);for(let o=0;okl(e,a))?r.push(a):n.push(a));let s=e.matched[o];s&&(t.matched.find(e=>kl(e,s))||i.push(s))}return[n,r,i]}var du=()=>location.protocol+`//`+location.host;function fu(e,t){let{pathname:n,search:r,hash:i}=t,a=e.indexOf(`#`);if(a>-1){let t=i.includes(e.slice(a))?e.slice(a).length:1,n=i.slice(t);return n[0]!==`/`&&(n=`/`+n),Dl(n,``)}return Dl(n,e)+r+i}function pu(e,t,n,r){let i=[],a=[],o=null,s=({state:a})=>{let s=fu(e,location),c=n.value,l=t.value,u=0;if(a){if(n.value=s,t.value=a,o&&o===c){o=null;return}u=l?a.position-l.position:0}else r(s);i.forEach(e=>{e(n.value,c,{delta:u,type:Fl.pop,direction:u?u>0?Il.forward:Il.back:Il.unknown})})};function c(){o=n.value}function l(e){i.push(e);let t=()=>{let t=i.indexOf(e);t>-1&&i.splice(t,1)};return a.push(t),t}function u(){if(document.visibilityState===`hidden`){let{history:e}=window;if(!e.state)return;e.replaceState(Zc({},e.state,{scroll:Vl()}),``)}}function d(){for(let e of a)e();a=[],window.removeEventListener(`popstate`,s),window.removeEventListener(`pagehide`,u),document.removeEventListener(`visibilitychange`,u)}return window.addEventListener(`popstate`,s),window.addEventListener(`pagehide`,u),document.addEventListener(`visibilitychange`,u),{pauseListeners:c,listen:l,destroy:d}}function mu(e,t,n,r=!1,i=!1){return{back:e,current:t,forward:n,replaced:r,position:window.history.length,scroll:i?Vl():null}}function hu(e){let{history:t,location:n}=window,r={value:fu(e,n)},i={value:t.state};i.value||a(r.value,{back:null,current:r.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function a(r,a,o){let s=e.indexOf(`#`),c=s>-1?(n.host&&document.querySelector(`base`)?e:e.slice(s))+r:du()+e+r;try{t[o?`replaceState`:`pushState`](a,``,c),i.value=a}catch(e){console.error(e),n[o?`replace`:`assign`](c)}}function o(e,n){a(e,Zc({},t.state,mu(i.value.back,e,i.value.forward,!0),n,{position:i.value.position}),!0),r.value=e}function s(e,n){let o=Zc({},i.value,t.state,{forward:e,scroll:Vl()});a(o.current,o,!0),a(e,Zc({},mu(r.value,e,null),{position:o.position+1},n),!1),r.value=e}return{location:r,state:i,push:s,replace:o}}function gu(e){e=Ll(e);let t=hu(e),n=pu(e,t.state,t.location,t.replace);function r(e,t=!0){t||n.pauseListeners(),history.go(e)}let i=Zc({location:``,base:e,go:r,createHref:zl.bind(null,e)},t,n);return Object.defineProperty(i,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(i,"state",{enumerable:!0,get:()=>t.state.value}),i}var _u=function(e){return e[e.Static=0]=`Static`,e[e.Param=1]=`Param`,e[e.Group=2]=`Group`,e}({}),vu=function(e){return e[e.Static=0]=`Static`,e[e.Param=1]=`Param`,e[e.ParamRegExp=2]=`ParamRegExp`,e[e.ParamRegExpEnd=3]=`ParamRegExpEnd`,e[e.EscapeNext=4]=`EscapeNext`,e}(vu||{}),yu={type:_u.Static,value:``},bu=/[a-zA-Z0-9_]/;function xu(e){if(!e)return[[]];if(e===`/`)return[[yu]];if(!e.startsWith(`/`))throw Error(`Invalid path "${e}"`);function t(e){throw Error(`ERR (${n})/"${l}": ${e}`)}let n=vu.Static,r=n,i=[],a;function o(){a&&i.push(a),a=[]}let s=0,c,l=``,u=``;function d(){l&&=(n===vu.Static?a.push({type:_u.Static,value:l}):n===vu.Param||n===vu.ParamRegExp||n===vu.ParamRegExpEnd?(a.length>1&&(c===`*`||c===`+`)&&t(`A repeatable param (${l}) must be alone in its segment. eg: '/:ids+.`),a.push({type:_u.Param,value:l,regexp:u,repeatable:c===`*`||c===`+`,optional:c===`*`||c===`?`})):t(`Invalid state to consume buffer`),``)}function f(){l+=c}for(;st.length?t.length===1&&t[0]===wu.Static+wu.Segment?1:-1:0}function Ou(e,t){let n=0,r=e.score,i=t.score;for(;n0&&t[t.length-1]<0}var Au={strict:!1,end:!0,sensitive:!1};function ju(e,t,n){let r=Zc(Eu(xu(e.path),n),{record:e,parent:t,children:[],alias:[]});return t&&!r.record.aliasOf==!t.record.aliasOf&&t.children.push(r),r}function Mu(e,t){let n=[],r=new Map;t=tl(Au,t);function i(e){return r.get(e)}function a(e,n,r){let i=!r,s=Pu(e);s.aliasOf=r&&r.record;let l=tl(t,e),u=[s];if(`alias`in e){let t=typeof e.alias==`string`?[e.alias]:e.alias;for(let e of t)u.push(Pu(Zc({},s,{components:r?r.record.components:s.components,path:e,aliasOf:r?r.record:s})))}let d,f;for(let t of u){let{path:u}=t;if(n&&u[0]!==`/`){let e=n.record.path,r=e[e.length-1]===`/`?``:`/`;t.path=n.record.path+(u&&r+u)}if(d=ju(t,n,l),r?r.alias.push(d):(f||=d,f!==d&&f.alias.push(d),i&&e.name&&!Iu(d)&&o(e.name)),Bu(d)&&c(d),s.children){let e=s.children;for(let t=0;t{o(f)}:$c}function o(e){if(Jl(e)){let t=r.get(e);t&&(r.delete(e),n.splice(n.indexOf(t),1),t.children.forEach(o),t.alias.forEach(o))}else{let t=n.indexOf(e);t>-1&&(n.splice(t,1),e.record.name&&r.delete(e.record.name),e.children.forEach(o),e.alias.forEach(o))}}function s(){return n}function c(e){let t=Ru(e,n);n.splice(t,0,e),e.record.name&&!Iu(e)&&r.set(e.record.name,e)}function l(e,t){let i,a={},o,s;if(`name`in e&&e.name){if(i=r.get(e.name),!i)throw Zl(Yl.MATCHER_NOT_FOUND,{location:e});s=i.record.name,a=Zc(Nu(t.params,i.keys.filter(e=>!e.optional).concat(i.parent?i.parent.keys.filter(e=>e.optional):[]).map(e=>e.name)),e.params&&Nu(e.params,i.keys.map(e=>e.name))),o=i.stringify(a)}else if(e.path!=null)o=e.path,i=n.find(e=>e.re.test(o)),i&&(a=i.parse(o),s=i.record.name);else{if(i=t.name?r.get(t.name):n.find(e=>e.re.test(t.path)),!i)throw Zl(Yl.MATCHER_NOT_FOUND,{location:e,currentLocation:t});s=i.record.name,a=Zc({},t.params,e.params),o=i.stringify(a)}let c=[],l=i;for(;l;)c.unshift(l.record),l=l.parent;return{name:s,path:o,params:a,matched:c,meta:Lu(c)}}e.forEach(e=>a(e));function u(){n.length=0,r.clear()}return{addRoute:a,resolve:l,removeRoute:o,clearRoutes:u,getRoutes:s,getRecordMatcher:i}}function Nu(e,t){let n={};for(let r of t)r in e&&(n[r]=e[r]);return n}function Pu(e){let t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:Fu(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:`components`in e?e.components||null:e.component&&{default:e.component}};return Object.defineProperty(t,"mods",{value:{}}),t}function Fu(e){let t={},n=e.props||!1;if(`component`in e)t.default=n;else for(let r in e.components)t[r]=typeof n==`object`?n[r]:n;return t}function Iu(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function Lu(e){return e.reduce((e,t)=>Zc(e,t.meta),{})}function Ru(e,t){let n=0,r=t.length;for(;n!==r;){let i=n+r>>1;Ou(e,t[i])<0?r=i:n=i+1}let i=zu(e);return i&&(r=t.lastIndexOf(i,r-1)),r}function zu(e){let t=e;for(;t=t.parent;)if(Bu(t)&&Ou(e,t)===0)return t}function Bu({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function Vu(e){let t=z(iu),n=z(au),r=Y(()=>{let n=I(e.to);return t.resolve(n)}),i=Y(()=>{let{matched:e}=r.value,{length:t}=e,i=e[t-1],a=n.matched;if(!i||!a.length)return-1;let o=a.findIndex(kl.bind(null,i));if(o>-1)return o;let s=Ku(e[t-2]);return t>1&&Ku(i)===s&&a[a.length-1].path!==s?a.findIndex(kl.bind(null,e[t-2])):o}),a=Y(()=>i.value>-1&&Gu(n.params,r.value.params)),o=Y(()=>i.value>-1&&i.value===n.matched.length-1&&Al(n.params,r.value.params));function s(n={}){if(Wu(n)){let n=t[I(e.replace)?`replace`:`push`](I(e.to)).catch($c);return e.viewTransition&&typeof document<`u`&&`startViewTransition`in document&&document.startViewTransition(()=>n),n}return Promise.resolve()}return{route:r,href:Y(()=>r.value.href),isActive:a,isExactActive:o,navigate:s}}function Hu(e){return e.length===1?e[0]:e}var Uu=V({name:`RouterLink`,compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:`page`},viewTransition:Boolean},useLink:Vu,setup(e,{slots:t}){let n=Jt(Vu(e)),{options:r}=z(iu),i=Y(()=>({[qu(e.activeClass,r.linkActiveClass,`router-link-active`)]:n.isActive,[qu(e.exactActiveClass,r.linkExactActiveClass,`router-link-exact-active`)]:n.isExactActive}));return()=>{let r=t.default&&Hu(t.default(n));return e.custom?r:Eo(`a`,{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:i.value},r)}}});function Wu(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){let t=e.currentTarget.getAttribute(`target`);if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function Gu(e,t){for(let n in t){let r=t[n],i=e[n];if(typeof r==`string`){if(r!==i)return!1}else if(!el(i)||i.length!==r.length||r.some((e,t)=>e.valueOf()!==i[t].valueOf()))return!1}return!0}function Ku(e){return e?e.aliasOf?e.aliasOf.path:e.path:``}var qu=(e,t,n)=>e??t??n,Ju=V({name:`RouterView`,inheritAttrs:!1,props:{name:{type:String,default:`default`},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){let r=z(ou),i=Y(()=>e.route||r.value),a=z(ru,0),o=Y(()=>{let e=I(a),{matched:t}=i.value,n;for(;(n=t[e])&&!n.components;)e++;return e}),s=Y(()=>i.value.matched[o.value]);$n(ru,Y(()=>o.value+1)),$n(nu,s),$n(ou,i);let c=F();return B(()=>[c.value,s.value,e.name],([e,t,n],[r,i,a])=>{t&&(t.instances[n]=e,i&&i!==t&&e&&e===r&&(t.leaveGuards.size||(t.leaveGuards=i.leaveGuards),t.updateGuards.size||(t.updateGuards=i.updateGuards))),e&&t&&(!i||!kl(t,i)||!r)&&(t.enterCallbacks[n]||[]).forEach(t=>t(e))},{flush:`post`}),()=>{let r=i.value,a=e.name,o=s.value,l=o&&o.components[a];if(!l)return Yu(n.default,{Component:l,route:r});let u=o.props[a],d=Eo(l,Zc({},u?u===!0?r.params:typeof u==`function`?u(r):u:null,t,{onVnodeUnmounted:e=>{e.component.isUnmounted&&(o.instances[a]=null)},ref:c}));return Yu(n.default,{Component:d,route:r})||d}}});function Yu(e,t){if(!e)return null;let n=e(t);return n.length===1?n[0]:n}var Xu=Ju;function Zu(e){let t=Mu(e.routes,e),n=e.parseQuery||$l,r=e.stringifyQuery||eu,i=e.history,a=su(),o=su(),s=su(),c=ln(Pl),l=Pl;Jc&&e.scrollBehavior&&`scrollRestoration`in history&&(history.scrollRestoration=`manual`);let u=Qc.bind(null,e=>``+e),d=Qc.bind(null,xl),f=Qc.bind(null,Sl);function p(e,n){let r,i;return Jl(e)?(r=t.getRecordMatcher(e),i=n):i=e,t.addRoute(i,r)}function m(e){let n=t.getRecordMatcher(e);n&&t.removeRoute(n)}function h(){return t.getRoutes().map(e=>e.record)}function g(e){return!!t.getRecordMatcher(e)}function _(e,a){if(a=Zc({},a||c.value),typeof e==`string`){let r=Tl(n,e,a.path),o=t.resolve({path:r.path},a),s=i.createHref(r.fullPath);return Zc(r,o,{params:f(o.params),hash:Sl(r.hash),redirectedFrom:void 0,href:s})}let o;if(e.path!=null)o=Zc({},e,{path:Tl(n,e.path,a.path).path});else{let t=Zc({},e.params);for(let e in t)t[e]??delete t[e];o=Zc({},e,{params:d(t)}),a.params=d(a.params)}let s=t.resolve(o,a),l=e.hash||``;s.params=u(f(s.params));let p=El(r,Zc({},e,{hash:_l(l),path:s.path})),m=i.createHref(p);return Zc({fullPath:p,hash:l,query:r===eu?tu(e.query):e.query||{}},s,{redirectedFrom:void 0,href:m})}function v(e){return typeof e==`string`?Tl(n,e,c.value.path):Zc({},e)}function y(e,t){if(l!==e)return Zl(Yl.NAVIGATION_CANCELLED,{from:t,to:e})}function b(e){return C(e)}function x(e){return b(Zc(v(e),{replace:!0}))}function S(e,t){let n=e.matched[e.matched.length-1];if(n&&n.redirect){let{redirect:r}=n,i=typeof r==`function`?r(e,t):r;return typeof i==`string`&&(i=i.includes(`?`)||i.includes(`#`)?i=v(i):{path:i},i.params={}),Zc({query:e.query,hash:e.hash,params:i.path==null?e.params:{}},i)}}function C(e,t){let n=l=_(e),i=c.value,a=e.state,o=e.force,s=e.replace===!0,u=S(n,i);if(u)return C(Zc(v(u),{state:typeof u==`object`?Zc({},a,u.state):a,force:o,replace:s}),t||n);let d=n;d.redirectedFrom=t;let f;return!o&&Ol(r,i,n)&&(f=Zl(Yl.NAVIGATION_DUPLICATED,{to:d,from:i}),ae(i,i,!0,!1)),(f?Promise.resolve(f):E(d,i)).catch(e=>Ql(e)?Ql(e,Yl.NAVIGATION_GUARD_REDIRECT)?e:ie(e):ne(e,d,i)).then(e=>{if(e){if(Ql(e,Yl.NAVIGATION_GUARD_REDIRECT))return C(Zc({replace:s},v(e.to),{state:typeof e.to==`object`?Zc({},a,e.to.state):a,force:o}),t||d)}else e=O(d,i,!0,s,a);return D(d,i,e),e})}function w(e,t){let n=y(e,t);return n?Promise.reject(n):Promise.resolve()}function T(e){let t=ce.values().next().value;return t&&typeof t.runWithContext==`function`?t.runWithContext(e):e()}function E(e,t){let n,[r,i,s]=uu(e,t);n=lu(r.reverse(),`beforeRouteLeave`,e,t);for(let i of r)i.leaveGuards.forEach(r=>{n.push(cu(r,e,t))});let c=w.bind(null,e,t);return n.push(c),ue(n).then(()=>{n=[];for(let r of a.list())n.push(cu(r,e,t));return n.push(c),ue(n)}).then(()=>{n=lu(i,`beforeRouteUpdate`,e,t);for(let r of i)r.updateGuards.forEach(r=>{n.push(cu(r,e,t))});return n.push(c),ue(n)}).then(()=>{n=[];for(let r of s)if(r.beforeEnter)if(el(r.beforeEnter))for(let i of r.beforeEnter)n.push(cu(i,e,t));else n.push(cu(r.beforeEnter,e,t));return n.push(c),ue(n)}).then(()=>(e.matched.forEach(e=>e.enterCallbacks={}),n=lu(s,`beforeRouteEnter`,e,t,T),n.push(c),ue(n))).then(()=>{n=[];for(let r of o.list())n.push(cu(r,e,t));return n.push(c),ue(n)}).catch(e=>Ql(e,Yl.NAVIGATION_CANCELLED)?e:Promise.reject(e))}function D(e,t,n){s.list().forEach(r=>T(()=>r(e,t,n)))}function O(e,t,n,r,a){let o=y(e,t);if(o)return o;let s=t===Pl,l=Jc?history.state:{};n&&(r||s?i.replace(e.fullPath,Zc({scroll:s&&l&&l.scroll},a)):i.push(e.fullPath,a)),c.value=e,ae(e,t,n,s),ie()}let k;function A(){k||=i.listen((e,t,n)=>{if(!le.listening)return;let r=_(e),a=S(r,le.currentRoute.value);if(a){C(Zc(a,{replace:!0,force:!0}),r).catch($c);return}l=r;let o=c.value;Jc&&Gl(Ul(o.fullPath,n.delta),Vl()),E(r,o).catch(e=>Ql(e,Yl.NAVIGATION_ABORTED|Yl.NAVIGATION_CANCELLED)?e:Ql(e,Yl.NAVIGATION_GUARD_REDIRECT)?(C(Zc(v(e.to),{force:!0}),r).then(e=>{Ql(e,Yl.NAVIGATION_ABORTED|Yl.NAVIGATION_DUPLICATED)&&!n.delta&&n.type===Fl.pop&&i.go(-1,!1)}).catch($c),Promise.reject()):(n.delta&&i.go(-n.delta,!1),ne(e,r,o))).then(e=>{e||=O(r,o,!1),e&&(n.delta&&!Ql(e,Yl.NAVIGATION_CANCELLED)?i.go(-n.delta,!1):n.type===Fl.pop&&Ql(e,Yl.NAVIGATION_ABORTED|Yl.NAVIGATION_DUPLICATED)&&i.go(-1,!1)),D(r,o,e)}).catch($c)})}let ee=su(),j=su(),te;function ne(e,t,n){ie(e);let r=j.list();return r.length?r.forEach(r=>r(e,t,n)):console.error(e),Promise.reject(e)}function re(){return te&&c.value!==Pl?Promise.resolve():new Promise((e,t)=>{ee.add([e,t])})}function ie(e){return te||(te=!e,A(),ee.list().forEach(([t,n])=>e?n(e):t()),ee.reset()),e}function ae(t,n,r,i){let{scrollBehavior:a}=e;if(!Jc||!a)return Promise.resolve();let o=!r&&Kl(Ul(t.fullPath,0))||(i||!r)&&history.state&&history.state.scroll||null;return L().then(()=>a(t,n,o)).then(e=>e&&Hl(e)).catch(e=>ne(e,t,n))}let oe=e=>i.go(e),se,ce=new Set,le={currentRoute:c,listening:!0,addRoute:p,removeRoute:m,clearRoutes:t.clearRoutes,hasRoute:g,getRoutes:h,resolve:_,options:e,push:b,replace:x,go:oe,back:()=>oe(-1),forward:()=>oe(1),beforeEach:a.add,beforeResolve:o.add,afterEach:s.add,onError:j.add,isReady:re,install(e){e.component(`RouterLink`,Uu),e.component(`RouterView`,Xu),e.config.globalProperties.$router=le,Object.defineProperty(e.config.globalProperties,"$route",{enumerable:!0,get:()=>I(c)}),Jc&&!se&&c.value===Pl&&(se=!0,b(i.location).catch(e=>{}));let t={};for(let e in Pl)Object.defineProperty(t,e,{get:()=>c.value[e],enumerable:!0});e.provide(iu,le),e.provide(au,Yt(t)),e.provide(ou,c);let n=e.unmount;ce.add(e),e.unmount=function(){ce.delete(e),ce.size<1&&(l=Pl,k&&k(),k=null,c.value=Pl,se=!1,te=!1),n()}}};function ue(e){return e.reduce((e,t)=>e.then(()=>T(t)),Promise.resolve())}return le}function Qu(){return z(iu)}function $u(e){return z(au)}var ed=qc(`app`,()=>{let e=F(null),t=F(null),n=F(!1),r=F([]),i=F(!1);function a(e){let t=r.value.findIndex(t=>t.id===e);t>-1&&r.value.splice(t,1)}return{user:e,token:t,loading:n,notifications:r,initialized:i,dismissNotification:a}}),td=`modulepreload`,nd=function(e){return`/static/`+e},rd={},id=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e=document.getElementsByTagName(`link`),i=document.querySelector(`meta[property=csp-nonce]`),a=i?.nonce||i?.getAttribute(`nonce`);function o(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}r=o(t.map(t=>{if(t=nd(t,n),t in rd)return;rd[t]=!0;let r=t.endsWith(`.css`),i=r?`[rel="stylesheet"]`:``;if(n)for(let n=e.length-1;n>=0;n--){let i=e[n];if(i.href===t&&(!r||i.rel===`stylesheet`))return}else if(document.querySelector(`link[href="${t}"]${i}`))return;let o=document.createElement(`link`);if(o.rel=r?`stylesheet`:td,r||(o.as=`script`),o.crossOrigin=``,o.href=t,a&&o.setAttribute(`nonce`,a),document.head.appendChild(o),r)return new Promise((e,n)=>{o.addEventListener(`load`,e),o.addEventListener(`error`,()=>n(Error(`Unable to preload CSS for ${t}`)))})}))}function i(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(let e of t||[])e.status===`rejected`&&i(e.reason);return e().catch(i)})},ad=Zu({history:gu(),routes:[{path:`/`,component:()=>id(()=>import(`./HomeView-D5NfCH6x.js`),__vite__mapDeps([0,1]))},{path:`/login`,component:()=>id(()=>import(`./LoginView-C7tagjuV.js`),__vite__mapDeps([2,3]))},{path:`/users`,component:()=>id(()=>import(`./UsersView-D4WXKojS.js`),__vite__mapDeps([4,5]))},{path:`/moldinsight`,component:()=>id(()=>import(`./MoldInsightView-BZIQoy0M.js`),__vite__mapDeps([6,5]))},{path:`/moldinsight/result/:taskId`,component:()=>id(()=>import(`./ResultView-CnHElmOY.js`),__vite__mapDeps([7,5]))},{path:`/inventory`,component:()=>id(()=>import(`./InventoryView-CV9T7V57.js`),__vite__mapDeps([8,5,9]))},{path:`/_design-system`,component:()=>id(()=>import(`./DesignSystemView-C8aljcxF.js`),[])},{path:`/_release`,component:()=>id(()=>import(`./ReleaseView-HUQ2vWbo.js`),[])}]});ad.beforeEach((e,t,n)=>{let r=![`/login`,`/_design-system`,`/_release`].includes(e.path),i=ed();if(r&&!i.user)return n(`/login`);if(e.path===`/login`&&i.user)return n(`/`);n()});async function od(e){try{if((e.headers.get(`content-type`)||``).includes(`application/json`)){let t=await e.json().catch(()=>null);if(t?.detail){if(Array.isArray(t.detail)){let e=t.detail.map(e=>{let t=Array.isArray(e?.loc)?e.loc.join(`.`):``,n=e?.msg?String(e.msg):`校验失败`;return t?`${t}: ${n}`:n}).filter(Boolean);return e.length?e.join(` +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/HomeView-D5QgCeau.js","assets/HomeView-wPEC1q8T.css","assets/LoginView-DsNPOtT0.js","assets/LoginView--ukxbAHo.css","assets/UsersView-FmP8hKPZ.js","assets/utils-COFIQvWo.js","assets/MoldInsightView-C9d1FJEi.js","assets/ResultView-CuXmgqk1.js","assets/InventoryView-CdgAif-b.js","assets/InventoryView-CVBodUpg.css"])))=>i.map(i=>d[i]); +var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),s=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;li[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},c=(n,r,a)=>(a=n==null?{}:e(i(n)),s(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n));(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),e.crossOrigin===`use-credentials`?t.credentials=`include`:e.crossOrigin===`anonymous`?t.credentials=`omit`:t.credentials=`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();function l(e){let t=Object.create(null);for(let n of e.split(`,`))t[n]=1;return e=>e in t}var u={},d=[],f=()=>{},p=()=>!1,m=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),h=e=>e.startsWith(`onUpdate:`),g=Object.assign,_=(e,t)=>{let n=e.indexOf(t);n>-1&&e.splice(n,1)},v=Object.prototype.hasOwnProperty,y=(e,t)=>v.call(e,t),b=Array.isArray,x=e=>A(e)===`[object Map]`,S=e=>A(e)===`[object Set]`,C=e=>A(e)===`[object Date]`,w=e=>typeof e==`function`,T=e=>typeof e==`string`,E=e=>typeof e==`symbol`,D=e=>typeof e==`object`&&!!e,O=e=>(D(e)||w(e))&&w(e.then)&&w(e.catch),k=Object.prototype.toString,A=e=>k.call(e),ee=e=>A(e).slice(8,-1),j=e=>A(e)===`[object Object]`,te=e=>T(e)&&e!==`NaN`&&e[0]!==`-`&&``+parseInt(e,10)===e,ne=l(`,key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted`),re=e=>{let t=Object.create(null);return(n=>t[n]||(t[n]=e(n)))},ie=/-\w/g,ae=re(e=>e.replace(ie,e=>e.slice(1).toUpperCase())),oe=/\B([A-Z])/g,se=re(e=>e.replace(oe,`-$1`).toLowerCase()),ce=re(e=>e.charAt(0).toUpperCase()+e.slice(1)),le=re(e=>e?`on${ce(e)}`:``),ue=(e,t)=>!Object.is(e,t),de=(e,...t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:r,value:n})},pe=e=>{let t=parseFloat(e);return isNaN(t)?e:t},me=e=>{let t=T(e)?Number(e):NaN;return isNaN(t)?e:t},he,ge=()=>he||=typeof globalThis<`u`?globalThis:typeof self<`u`?self:typeof window<`u`?window:typeof global<`u`?global:{};function M(e){if(b(e)){let t={};for(let n=0;n{if(e){let n=e.split(ve);n.length>1&&(t[n[0].trim()]=n[1].trim())}}),t}function N(e){let t=``;if(T(e))t=e;else if(b(e))for(let n=0;nEe(e,t))}var Oe=e=>!!(e&&e.__v_isRef===!0),P=e=>T(e)?e:e==null?``:b(e)||D(e)&&(e.toString===k||!w(e.toString))?Oe(e)?P(e.value):JSON.stringify(e,ke,2):String(e),ke=(e,t)=>Oe(t)?ke(e,t.value):x(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((e,[t,n],r)=>(e[Ae(t,r)+` =>`]=n,e),{})}:S(t)?{[`Set(${t.size})`]:[...t.values()].map(e=>Ae(e))}:E(t)?Ae(t):D(t)&&!b(t)&&!j(t)?String(t):t,Ae=(e,t=``)=>E(e)?`Symbol(${e.description??t})`:e,je,Me=class{constructor(e=!1){this.detached=e,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this._warnOnRun=!0,this.__v_skip=!0,!e&&je&&(je.active?(this.parent=je,this.index=(je.scopes||=[]).push(this)-1):(this._active=!1,this._warnOnRun=!1))}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let e,t;if(this.scopes)for(e=0,t=this.scopes.length;e0&&--this._on===0){if(je===this)je=this.prevScope;else{let e=je;for(;e;){if(e.prevScope===this){e.prevScope=this.prevScope;break}e=e.prevScope}}this.prevScope=void 0}}stop(e){if(this._active){this._active=!1;let t,n;for(t=0,n=this.effects.length;t0)return;if(Ve){let e=Ve;for(Ve=void 0;e;){let t=e.next;e.next=void 0,e.flags&=-9,e=t}}let e;for(;Be;){let t=Be;for(Be=void 0;t;){let n=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(t){e||=t}t=n}}if(e)throw e}function Ge(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function Ke(e){let t,n=e.depsTail,r=n;for(;r;){let e=r.prevDep;r.version===-1?(r===n&&(n=e),Ye(r),Xe(r)):t=r,r.dep.activeLink=r.prevActiveLink,r.prevActiveLink=void 0,r=e}e.deps=t,e.depsTail=n}function qe(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(Je(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function Je(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===nt)||(e.globalVersion=nt,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!qe(e))))return;e.flags|=2;let t=e.dep,n=Ie,r=Ze;Ie=e,Ze=!0;try{Ge(e);let n=e.fn(e._value);(t.version===0||ue(n,e._value))&&(e.flags|=128,e._value=n,t.version++)}catch(e){throw t.version++,e}finally{Ie=n,Ze=r,Ke(e),e.flags&=-3}}function Ye(e,t=!1){let{dep:n,prevSub:r,nextSub:i}=e;if(r&&(r.nextSub=i,e.prevSub=void 0),i&&(i.prevSub=r,e.nextSub=void 0),n.subs===e&&(n.subs=r,!r&&n.computed)){n.computed.flags&=-5;for(let e=n.computed.deps;e;e=e.nextDep)Ye(e,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function Xe(e){let{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}var Ze=!0,Qe=[];function $e(){Qe.push(Ze),Ze=!1}function et(){let e=Qe.pop();Ze=e===void 0?!0:e}function tt(e){let{cleanup:t}=e;if(e.cleanup=void 0,t){let e=Ie;Ie=void 0;try{t()}finally{Ie=e}}}var nt=0,rt=class{constructor(e,t){this.sub=e,this.dep=t,this.version=t.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}},it=class{constructor(e){this.computed=e,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0}track(e){if(!Ie||!Ze||Ie===this.computed)return;let t=this.activeLink;if(t===void 0||t.sub!==Ie)t=this.activeLink=new rt(Ie,this),Ie.deps?(t.prevDep=Ie.depsTail,Ie.depsTail.nextDep=t,Ie.depsTail=t):Ie.deps=Ie.depsTail=t,at(t);else if(t.version===-1&&(t.version=this.version,t.nextDep)){let e=t.nextDep;e.prevDep=t.prevDep,t.prevDep&&(t.prevDep.nextDep=e),t.prevDep=Ie.depsTail,t.nextDep=void 0,Ie.depsTail.nextDep=t,Ie.depsTail=t,Ie.deps===t&&(Ie.deps=e)}return t}trigger(e){this.version++,nt++,this.notify(e)}notify(e){Ue();try{for(let e=this.subs;e;e=e.prevSub)e.sub.notify()&&e.sub.dep.notify()}finally{We()}}};function at(e){if(e.dep.sc++,e.sub.flags&4){let t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let e=t.deps;e;e=e.nextDep)at(e)}let n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}var ot=new WeakMap,st=Symbol(``),ct=Symbol(``),lt=Symbol(``);function ut(e,t,n){if(Ze&&Ie){let t=ot.get(e);t||ot.set(e,t=new Map);let r=t.get(n);r||(t.set(n,r=new it),r.map=t,r.key=n),r.track()}}function dt(e,t,n,r,i,a){let o=ot.get(e);if(!o){nt++;return}let s=e=>{e&&e.trigger()};if(Ue(),t===`clear`)o.forEach(s);else{let i=b(e),a=i&&te(n);if(i&&n===`length`){let e=Number(r);o.forEach((t,n)=>{(n===`length`||n===lt||!E(n)&&n>=e)&&s(t)})}else switch((n!==void 0||o.has(void 0))&&s(o.get(n)),a&&s(o.get(lt)),t){case`add`:i?a&&s(o.get(`length`)):(s(o.get(st)),x(e)&&s(o.get(ct)));break;case`delete`:i||(s(o.get(st)),x(e)&&s(o.get(ct)));break;case`set`:x(e)&&s(o.get(st));break}}We()}function ft(e,t){let n=ot.get(e);return n&&n.get(t)}function pt(e){let t=rn(e);return t===e?t:(ut(t,`iterate`,lt),tn(e)?t:t.map(on))}function mt(e){return ut(e=rn(e),`iterate`,lt),e}function ht(e,t){return en(e)?sn($t(e)?on(t):t):on(t)}var gt={__proto__:null,[Symbol.iterator](){return _t(this,Symbol.iterator,e=>ht(this,e))},concat(...e){return pt(this).concat(...e.map(e=>b(e)?pt(e):e))},entries(){return _t(this,`entries`,e=>(e[1]=ht(this,e[1]),e))},every(e,t){return yt(this,`every`,e,t,void 0,arguments)},filter(e,t){return yt(this,`filter`,e,t,e=>e.map(e=>ht(this,e)),arguments)},find(e,t){return yt(this,`find`,e,t,e=>ht(this,e),arguments)},findIndex(e,t){return yt(this,`findIndex`,e,t,void 0,arguments)},findLast(e,t){return yt(this,`findLast`,e,t,e=>ht(this,e),arguments)},findLastIndex(e,t){return yt(this,`findLastIndex`,e,t,void 0,arguments)},forEach(e,t){return yt(this,`forEach`,e,t,void 0,arguments)},includes(...e){return xt(this,`includes`,e)},indexOf(...e){return xt(this,`indexOf`,e)},join(e){return pt(this).join(e)},lastIndexOf(...e){return xt(this,`lastIndexOf`,e)},map(e,t){return yt(this,`map`,e,t,void 0,arguments)},pop(){return St(this,`pop`)},push(...e){return St(this,`push`,e)},reduce(e,...t){return bt(this,`reduce`,e,t)},reduceRight(e,...t){return bt(this,`reduceRight`,e,t)},shift(){return St(this,`shift`)},some(e,t){return yt(this,`some`,e,t,void 0,arguments)},splice(...e){return St(this,`splice`,e)},toReversed(){return pt(this).toReversed()},toSorted(e){return pt(this).toSorted(e)},toSpliced(...e){return pt(this).toSpliced(...e)},unshift(...e){return St(this,`unshift`,e)},values(){return _t(this,`values`,e=>ht(this,e))}};function _t(e,t,n){let r=mt(e),i=r[t]();return r!==e&&!tn(e)&&(i._next=i.next,i.next=()=>{let e=i._next();return e.done||(e.value=n(e.value)),e}),i}var vt=Array.prototype;function yt(e,t,n,r,i,a){let o=mt(e),s=o!==e&&!tn(e),c=o[t];if(c!==vt[t]){let t=c.apply(e,a);return s?on(t):t}let l=n;o!==e&&(s?l=function(t,r){return n.call(this,ht(e,t),r,e)}:n.length>2&&(l=function(t,r){return n.call(this,t,r,e)}));let u=c.call(o,l,r);return s&&i?i(u):u}function bt(e,t,n,r){let i=mt(e),a=i!==e&&!tn(e),o=n,s=!1;i!==e&&(a?(s=r.length===0,o=function(t,r,i){return s&&(s=!1,t=ht(e,t)),n.call(this,t,ht(e,r),i,e)}):n.length>3&&(o=function(t,r,i){return n.call(this,t,r,i,e)}));let c=i[t](o,...r);return s?ht(e,c):c}function xt(e,t,n){let r=rn(e);ut(r,`iterate`,lt);let i=r[t](...n);return(i===-1||i===!1)&&nn(n[0])?(n[0]=rn(n[0]),r[t](...n)):i}function St(e,t,n=[]){$e(),Ue();let r=rn(e)[t].apply(e,n);return We(),et(),r}var Ct=l(`__proto__,__v_isRef,__isVue`),wt=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!==`arguments`&&e!==`caller`).map(e=>Symbol[e]).filter(E));function Tt(e){E(e)||(e=String(e));let t=rn(this);return ut(t,`has`,e),t.hasOwnProperty(e)}var Et=class{constructor(e=!1,t=!1){this._isReadonly=e,this._isShallow=t}get(e,t,n){if(t===`__v_skip`)return e.__v_skip;let r=this._isReadonly,i=this._isShallow;if(t===`__v_isReactive`)return!r;if(t===`__v_isReadonly`)return r;if(t===`__v_isShallow`)return i;if(t===`__v_raw`)return n===(r?i?Kt:Gt:i?Wt:Ut).get(e)||Object.getPrototypeOf(e)===Object.getPrototypeOf(n)?e:void 0;let a=b(e);if(!r){let e;if(a&&(e=gt[t]))return e;if(t===`hasOwnProperty`)return Tt}let o=Reflect.get(e,t,cn(e)?e:n);if((E(t)?wt.has(t):Ct(t))||(r||ut(e,`get`,t),i))return o;if(cn(o)){let e=a&&te(t)?o:o.value;return r&&D(e)?Xt(e):e}return D(o)?r?Xt(o):Jt(o):o}},Dt=class extends Et{constructor(e=!1){super(!1,e)}set(e,t,n,r){let i=e[t],a=b(e)&&te(t);if(!this._isShallow){let e=en(i);if(!tn(n)&&!en(n)&&(i=rn(i),n=rn(n)),!a&&cn(i)&&!cn(n))return e||(i.value=n),!0}let o=a?Number(t)e,Pt=e=>Reflect.getPrototypeOf(e);function Ft(e,t,n){return function(...r){let i=this.__v_raw,a=rn(i),o=x(a),s=e===`entries`||e===Symbol.iterator&&o,c=e===`keys`&&o,l=i[e](...r),u=n?Nt:t?sn:on;return!t&&ut(a,`iterate`,c?ct:st),g(Object.create(l),{next(){let{value:e,done:t}=l.next();return t?{value:e,done:t}:{value:s?[u(e[0]),u(e[1])]:u(e),done:t}}})}}function It(e){return function(...t){return e===`delete`?!1:e===`clear`?void 0:this}}function Lt(e,t){let n={get(n){let r=this.__v_raw,i=rn(r),a=rn(n);e||(ue(n,a)&&ut(i,`get`,n),ut(i,`get`,a));let{has:o}=Pt(i),s=t?Nt:e?sn:on;if(o.call(i,n))return s(r.get(n));if(o.call(i,a))return s(r.get(a));r!==i&&r.get(n)},get size(){let t=this.__v_raw;return!e&&ut(rn(t),`iterate`,st),t.size},has(t){let n=this.__v_raw,r=rn(n),i=rn(t);return e||(ue(t,i)&&ut(r,`has`,t),ut(r,`has`,i)),t===i?n.has(t):n.has(t)||n.has(i)},forEach(n,r){let i=this,a=i.__v_raw,o=rn(a),s=t?Nt:e?sn:on;return!e&&ut(o,`iterate`,st),a.forEach((e,t)=>n.call(r,s(e),s(t),i))}};return g(n,e?{add:It(`add`),set:It(`set`),delete:It(`delete`),clear:It(`clear`)}:{add(e){let n=rn(this),r=Pt(n),i=rn(e),a=!t&&!tn(e)&&!en(e)?i:e;return r.has.call(n,a)||ue(e,a)&&r.has.call(n,e)||ue(i,a)&&r.has.call(n,i)||(n.add(a),dt(n,`add`,a,a)),this},set(e,n){!t&&!tn(n)&&!en(n)&&(n=rn(n));let r=rn(this),{has:i,get:a}=Pt(r),o=i.call(r,e);o||=(e=rn(e),i.call(r,e));let s=a.call(r,e);return r.set(e,n),o?ue(n,s)&&dt(r,`set`,e,n,s):dt(r,`add`,e,n),this},delete(e){let t=rn(this),{has:n,get:r}=Pt(t),i=n.call(t,e);i||=(e=rn(e),n.call(t,e));let a=r?r.call(t,e):void 0,o=t.delete(e);return i&&dt(t,`delete`,e,void 0,a),o},clear(){let e=rn(this),t=e.size!==0,n=e.clear();return t&&dt(e,`clear`,void 0,void 0,void 0),n}}),[`keys`,`values`,`entries`,Symbol.iterator].forEach(r=>{n[r]=Ft(r,e,t)}),n}function Rt(e,t){let n=Lt(e,t);return(t,r,i)=>r===`__v_isReactive`?!e:r===`__v_isReadonly`?e:r===`__v_raw`?t:Reflect.get(y(n,r)&&r in t?n:t,r,i)}var zt={get:Rt(!1,!1)},Bt={get:Rt(!1,!0)},Vt={get:Rt(!0,!1)},Ht={get:Rt(!0,!0)},Ut=new WeakMap,Wt=new WeakMap,Gt=new WeakMap,Kt=new WeakMap;function qt(e){switch(e){case`Object`:case`Array`:return 1;case`Map`:case`Set`:case`WeakMap`:case`WeakSet`:return 2;default:return 0}}function Jt(e){return en(e)?e:Qt(e,!1,kt,zt,Ut)}function Yt(e){return Qt(e,!1,jt,Bt,Wt)}function Xt(e){return Qt(e,!0,At,Vt,Gt)}function Zt(e){return Qt(e,!0,Mt,Ht,Kt)}function Qt(e,t,n,r,i){if(!D(e)||e.__v_raw&&!(t&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;let a=i.get(e);if(a)return a;let o=qt(ee(e));if(o===0)return e;let s=new Proxy(e,o===2?r:n);return i.set(e,s),s}function $t(e){return en(e)?$t(e.__v_raw):!!(e&&e.__v_isReactive)}function en(e){return!!(e&&e.__v_isReadonly)}function tn(e){return!!(e&&e.__v_isShallow)}function nn(e){return e?!!e.__v_raw:!1}function rn(e){let t=e&&e.__v_raw;return t?rn(t):e}function an(e){return!y(e,`__v_skip`)&&Object.isExtensible(e)&&fe(e,`__v_skip`,!0),e}var on=e=>D(e)?Jt(e):e,sn=e=>D(e)?Xt(e):e;function cn(e){return e?e.__v_isRef===!0:!1}function F(e){return un(e,!1)}function ln(e){return un(e,!0)}function un(e,t){return cn(e)?e:new dn(e,t)}var dn=class{constructor(e,t){this.dep=new it,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=t?e:rn(e),this._value=t?e:on(e),this.__v_isShallow=t}get value(){return this.dep.track(),this._value}set value(e){let t=this._rawValue,n=this.__v_isShallow||tn(e)||en(e);e=n?e:rn(e),ue(e,t)&&(this._rawValue=e,this._value=n?e:on(e),this.dep.trigger())}};function fn(e){e.dep&&e.dep.trigger()}function I(e){return cn(e)?e.value:e}function pn(e){return w(e)?e():I(e)}var mn={get:(e,t,n)=>t===`__v_raw`?e:I(Reflect.get(e,t,n)),set:(e,t,n,r)=>{let i=e[t];return cn(i)&&!cn(n)?(i.value=n,!0):Reflect.set(e,t,n,r)}};function hn(e){return $t(e)?e:new Proxy(e,mn)}function gn(e){let t=b(e)?Array(e.length):{};for(let n in e)t[n]=bn(e,n);return t}var _n=class{constructor(e,t,n){this._object=e,this._defaultValue=n,this.__v_isRef=!0,this._value=void 0,this._key=E(t)?t:String(t),this._raw=rn(e);let r=!0,i=e;if(!b(e)||E(this._key)||!te(this._key))do r=!nn(i)||tn(i);while(r&&(i=i.__v_raw));this._shallow=r}get value(){let e=this._object[this._key];return this._shallow&&(e=I(e)),this._value=e===void 0?this._defaultValue:e}set value(e){if(this._shallow&&cn(this._raw[this._key])){let t=this._object[this._key];if(cn(t)){t.value=e;return}}this._object[this._key]=e}get dep(){return ft(this._raw,this._key)}},vn=class{constructor(e){this._getter=e,this.__v_isRef=!0,this.__v_isReadonly=!0,this._value=void 0}get value(){return this._value=this._getter()}};function yn(e,t,n){return cn(e)?e:w(e)?new vn(e):D(e)&&arguments.length>1?bn(e,t,n):F(e)}function bn(e,t,n){return new _n(e,t,n)}var xn=class{constructor(e,t,n){this.fn=e,this.setter=t,this._value=void 0,this.dep=new it(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=nt-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!t,this.isSSR=n}notify(){if(this.flags|=16,!(this.flags&8)&&Ie!==this)return He(this,!0),!0}get value(){let e=this.dep.track();return Je(this),e&&(e.version=this.dep.version),this._value}set value(e){this.setter&&this.setter(e)}};function Sn(e,t,n=!1){let r,i;return w(e)?r=e:(r=e.get,i=e.set),new xn(r,i,n)}var Cn={},wn=new WeakMap,Tn=void 0;function En(e,t=!1,n=Tn){if(n){let t=wn.get(n);t||wn.set(n,t=[]),t.push(e)}}function Dn(e,t,n=u){let{immediate:r,deep:i,once:a,scheduler:o,augmentJob:s,call:c}=n,l=e=>i?e:tn(e)||i===!1||i===0?On(e,1):On(e),d,p,m,h,g=!1,v=!1;if(cn(e)?(p=()=>e.value,g=tn(e)):$t(e)?(p=()=>l(e),g=!0):b(e)?(v=!0,g=e.some(e=>$t(e)||tn(e)),p=()=>e.map(e=>{if(cn(e))return e.value;if($t(e))return l(e);if(w(e))return c?c(e,2):e()})):p=w(e)?t?c?()=>c(e,2):e:()=>{if(m){$e();try{m()}finally{et()}}let t=Tn;Tn=d;try{return c?c(e,3,[h]):e(h)}finally{Tn=t}}:f,t&&i){let e=p,t=i===!0?1/0:i;p=()=>On(e(),t)}let y=Pe(),x=()=>{d.stop(),y&&y.active&&_(y.effects,d)};if(a&&t){let e=t;t=(...t)=>{e(...t),x()}}let S=v?Array(e.length).fill(Cn):Cn,C=e=>{if(!(!(d.flags&1)||!d.dirty&&!e))if(t){let e=d.run();if(i||g||(v?e.some((e,t)=>ue(e,S[t])):ue(e,S))){m&&m();let n=Tn;Tn=d;try{let n=[e,S===Cn?void 0:v&&S[0]===Cn?[]:S,h];S=e,c?c(t,3,n):t(...n)}finally{Tn=n}}}else d.run()};return s&&s(C),d=new Re(p),d.scheduler=o?()=>o(C,!1):C,h=e=>En(e,!1,d),m=d.onStop=()=>{let e=wn.get(d);if(e){if(c)c(e,4);else for(let t of e)t();wn.delete(d)}},t?r?C(!0):S=d.run():o?o(C.bind(null,!0),!0):d.run(),x.pause=d.pause.bind(d),x.resume=d.resume.bind(d),x.stop=x,x}function On(e,t=1/0,n){if(t<=0||!D(e)||e.__v_skip||(n||=new Map,(n.get(e)||0)>=t))return e;if(n.set(e,t),t--,cn(e))On(e.value,t,n);else if(b(e))for(let r=0;r{On(e,t,n)});else if(j(e)){for(let r in e)On(e[r],t,n);for(let r of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,r)&&On(e[r],t,n)}return e}function kn(e,t,n,r){try{return r?e(...r):e()}catch(e){jn(e,t,n)}}function An(e,t,n,r){if(w(e)){let i=kn(e,t,n,r);return i&&O(i)&&i.catch(e=>{jn(e,t,n)}),i}if(b(e)){let i=[];for(let a=0;a>>1,i=Nn[r],a=Kn(i);a=Kn(n)?Nn.push(e):Nn.splice(Bn(t),0,e),e.flags|=1,Hn()}}function Hn(){zn||=Rn.then(qn)}function Un(e){b(e)?Fn.push(...e):In&&e.id===-1?In.splice(Ln+1,0,e):e.flags&1||(Fn.push(e),e.flags|=1),Hn()}function Wn(e,t,n=Pn+1){for(;nKn(e)-Kn(t));if(Fn.length=0,In){In.push(...e);return}for(In=e,Ln=0;Lne.id==null?e.flags&2?-1:1/0:e.id;function qn(e){try{for(Pn=0;Pn{r._d&&Va(-1);let i=Xn(t),a;try{a=e(...n)}finally{Xn(i),r._d&&Va(1)}return a};return r._n=!0,r._c=!0,r._d=!0,r}function Zn(e,t){if(Jn===null)return e;let n=Co(Jn),r=e.dirs||=[];for(let e=0;e1)return n&&w(t)?t.call(r&&r.proxy):t}}function er(){return!!(so()||Ui)}var tr=Symbol.for(`v-scx`),nr=()=>z(tr);function rr(e,t){return ir(e,null,t)}function B(e,t,n){return ir(e,t,n)}function ir(e,t,n=u){let{immediate:r,deep:i,flush:a,once:o}=n,s=g({},n),c=t&&r||!t&&a!==`post`,l;if(mo){if(a===`sync`){let e=nr();l=e.__watcherHandles||=[]}else if(!c){let e=()=>{};return e.stop=f,e.resume=f,e.pause=f,e}}let d=oo;s.call=(e,t,n)=>An(e,d,t,n);let p=!1;a===`post`?s.scheduler=e=>{ba(e,d&&d.suspense)}:a!==`sync`&&(p=!0,s.scheduler=(e,t)=>{t?e():Vn(e)}),s.augmentJob=e=>{t&&(e.flags|=4),p&&(e.flags|=2,d&&(e.id=d.uid,e.i=d))};let m=Dn(e,t,s);return mo&&(l?l.push(m):c&&m()),m}function ar(e,t,n){let r=this.proxy,i=T(e)?e.includes(`.`)?or(r,e):()=>r[e]:e.bind(r,r),a;w(t)?a=t:(a=t.handler,n=t);let o=uo(this),s=ir(i,a.bind(r),n);return o(),s}function or(e,t){let n=t.split(`.`);return()=>{let t=e;for(let e=0;ee.__isTeleport,ur=e=>e&&(e.disabled||e.disabled===``),dr=e=>e&&(e.defer||e.defer===``),fr=e=>typeof SVGElement<`u`&&e instanceof SVGElement,pr=e=>typeof MathMLElement==`function`&&e instanceof MathMLElement,mr=(e,t)=>{let n=e&&e.to;return T(n)?t?t(n):null:n},hr={name:`Teleport`,__isTeleport:!0,process(e,t,n,r,i,a,o,s,c,l){let{mc:u,pc:d,pbc:f,o:{insert:p,querySelector:m,createText:h,createComment:g,parentNode:_}}=l,v=ur(t.props),{dynamicChildren:y}=t,b=(e,t,n)=>{e.shapeFlag&16&&u(e.children,t,n,i,a,o,s,c)},x=(e=t)=>{let n=ur(e.props),r=e.target=mr(e.props,m),a=br(r,e,h,p);r&&(o!==`svg`&&fr(r)?o=`svg`:o!==`mathml`&&pr(r)&&(o=`mathml`),i&&i.isCE&&(i.ce._teleportTargets||(i.ce._teleportTargets=new Set)).add(r),n||(b(e,r,a),yr(e,!1)))},S=e=>{let t=()=>{sr.get(e)===t&&(sr.delete(e),ur(e.props)&&(b(e,_(e.el)||n,e.anchor),yr(e,!0)),x(e))};sr.set(e,t),ba(t,a)};if(e==null){let e=t.el=h(``),i=t.anchor=h(``);if(p(e,n,r),p(i,n,r),dr(t.props)||a&&a.pendingBranch){S(t);return}v&&(b(t,n,i),yr(t,!0)),x()}else{t.el=e.el;let r=t.anchor=e.anchor,u=sr.get(e);if(u){u.flags|=8,sr.delete(e),S(t);return}t.targetStart=e.targetStart;let p=t.target=e.target,h=t.targetAnchor=e.targetAnchor,g=ur(e.props),_=g?n:p,b=g?r:h;if(o===`svg`||fr(p)?o=`svg`:(o===`mathml`||pr(p))&&(o=`mathml`),y?(f(e.dynamicChildren,y,_,i,a,o,s),Ea(e,t,!0)):c||d(e,t,_,b,i,a,o,s,!1),v)g?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):gr(t,n,r,l,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){let e=t.target=mr(t.props,m);e&&gr(t,e,null,l,0)}else g&&gr(t,p,h,l,1);yr(t,v)}},remove(e,t,n,{um:r,o:{remove:i}},a){let{shapeFlag:o,children:s,anchor:c,targetStart:l,targetAnchor:u,target:d,props:f}=e,p=a||!ur(f),m=sr.get(e);if(m&&(m.flags|=8,sr.delete(e)),d&&(i(l),i(u)),a&&i(c),!m&&o&16)for(let e=0;e{e.isMounted=!0}),$r(()=>{e.isUnmounting=!0}),e}var wr=[Function,Array],Tr={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:wr,onEnter:wr,onAfterEnter:wr,onEnterCancelled:wr,onBeforeLeave:wr,onLeave:wr,onAfterLeave:wr,onLeaveCancelled:wr,onBeforeAppear:wr,onAppear:wr,onAfterAppear:wr,onAppearCancelled:wr},Er=e=>{let t=e.subTree;return t.component?Er(t.component):t},Dr={name:`BaseTransition`,props:Tr,setup(e,{slots:t}){let n=so(),r=Cr();return()=>{let i=t.default&&Fr(t.default(),!0),a=i&&i.length?Or(i):n.subTree?J():void 0;if(!a)return;let o=rn(e),{mode:s}=o;if(r.isLeaving)return Mr(a);let c=Nr(a);if(!c)return Mr(a);let l=jr(c,o,r,n,e=>l=e);c.type!==Fa&&Pr(c,l);let u=n.subTree&&Nr(n.subTree);if(u&&u.type!==Fa&&!Wa(u,c)&&Er(n).type!==Fa){let e=jr(u,o,r,n);if(Pr(u,e),s===`out-in`&&c.type!==Fa)return r.isLeaving=!0,e.afterLeave=()=>{r.isLeaving=!1,n.job.flags&8||n.update(),delete e.afterLeave,u=void 0},Mr(a);s===`in-out`&&c.type!==Fa?e.delayLeave=(e,t,n)=>{let i=Ar(r,u);i[String(u.key)]=u,e[xr]=()=>{t(),e[xr]=void 0,delete l.delayedLeave,u=void 0},l.delayedLeave=()=>{n(),delete l.delayedLeave,u=void 0}}:u=void 0}else u&&=void 0;return a}}};function Or(e){let t=e[0];if(e.length>1){for(let n of e)if(n.type!==Fa){t=n;break}}return t}var kr=Dr;function Ar(e,t){let{leavingVNodes:n}=e,r=n.get(t.type);return r||(r=Object.create(null),n.set(t.type,r)),r}function jr(e,t,n,r,i){let{appear:a,mode:o,persisted:s=!1,onBeforeEnter:c,onEnter:l,onAfterEnter:u,onEnterCancelled:d,onBeforeLeave:f,onLeave:p,onAfterLeave:m,onLeaveCancelled:h,onBeforeAppear:g,onAppear:_,onAfterAppear:v,onAppearCancelled:y}=t,x=String(e.key),S=Ar(n,e),C=(e,t)=>{e&&An(e,r,9,t)},w=(e,t)=>{let n=t[1];C(e,t),b(e)?e.every(e=>e.length<=1)&&n():e.length<=1&&n()},T={mode:o,persisted:s,beforeEnter(t){let r=c;if(!n.isMounted)if(a)r=g||c;else return;t[xr]&&t[xr](!0);let i=S[x];i&&Wa(e,i)&&i.el[xr]&&i.el[xr](),C(r,[t])},enter(t){if(S[x]===e)return;let r=l,i=u,o=d;if(!n.isMounted)if(a)r=_||l,i=v||u,o=y||d;else return;let s=!1;t[Sr]=e=>{s||(s=!0,C(e?o:i,[t]),T.delayedLeave&&T.delayedLeave(),t[Sr]=void 0)};let c=t[Sr].bind(null,!1);r?w(r,[t,c]):c()},leave(t,r){let i=String(e.key);if(t[Sr]&&t[Sr](!0),n.isUnmounting)return r();C(f,[t]);let a=!1;t[xr]=n=>{a||(a=!0,r(),C(n?h:m,[t]),t[xr]=void 0,S[i]===e&&delete S[i])};let o=t[xr].bind(null,!1);S[i]=e,p?w(p,[t,o]):o()},clone(e){let a=jr(e,t,n,r,i);return i&&i(a),a}};return T}function Mr(e){if(Hr(e))return e=Ya(e),e.children=null,e}function Nr(e){if(!Hr(e))return lr(e.type)&&e.children?Or(e.children):e;if(e.component)return e.component.subTree;let{shapeFlag:t,children:n}=e;if(n){if(t&16)return n[0];if(t&32&&w(n.default))return n.default()}}function Pr(e,t){e.shapeFlag&6&&e.component?(e.transition=t,Pr(e.component.subTree,t)):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function Fr(e,t=!1,n){let r=[],i=0;for(let a=0;a1)for(let e=0;ezr(e,t&&(b(t)?t[a]:t),n,r,i));return}if(Vr(r)&&!i){r.shapeFlag&512&&r.type.__asyncResolved&&r.component.subTree.component&&zr(e,t,n,r.component.subTree);return}let a=r.shapeFlag&4?Co(r.component):r.el,o=i?null:a,{i:s,r:c}=e,l=t&&t.r,d=s.refs===u?s.refs={}:s.refs,f=s.setupState,m=rn(f),h=f===u?p:e=>Lr(d,e)?!1:y(m,e),g=(e,t)=>!(t&&Lr(d,t));if(l!=null&&l!==c){if(Br(t),T(l))d[l]=null,h(l)&&(f[l]=null);else if(cn(l)){let e=t;g(l,e.k)&&(l.value=null),e.k&&(d[e.k]=null)}}if(w(c))kn(c,s,12,[o,d]);else{let t=T(c),r=cn(c);if(t||r){let s=()=>{if(e.f){let n=t?h(c)?f[c]:d[c]:g(c)||!e.k?c.value:d[e.k];if(i)b(n)&&_(n,a);else if(b(n))n.includes(a)||n.push(a);else if(t)d[c]=[a],h(c)&&(f[c]=d[c]);else{let t=[a];g(c,e.k)&&(c.value=t),e.k&&(d[e.k]=t)}}else t?(d[c]=o,h(c)&&(f[c]=o)):r&&(g(c,e.k)&&(c.value=o),e.k&&(d[e.k]=o))};if(o){let t=()=>{s(),Rr.delete(e)};t.id=-1,Rr.set(e,t),ba(t,n)}else Br(e),s()}}}function Br(e){let t=Rr.get(e);t&&(t.flags|=8,Rr.delete(e))}ge().requestIdleCallback,ge().cancelIdleCallback;var Vr=e=>!!e.type.__asyncLoader,Hr=e=>e.type.__isKeepAlive;function Ur(e,t){Gr(e,`a`,t)}function Wr(e,t){Gr(e,`da`,t)}function Gr(e,t,n=oo){let r=e.__wdc||=()=>{let t=n;for(;t;){if(t.isDeactivated)return;t=t.parent}return e()};if(qr(t,r,n),n){let e=n.parent;for(;e&&e.parent;)Hr(e.parent.vnode)&&Kr(r,t,n,e),e=e.parent}}function Kr(e,t,n,r){let i=qr(t,e,r,!0);ei(()=>{_(r[t],i)},n)}function qr(e,t,n=oo,r=!1){if(n){let i=n[e]||(n[e]=[]),a=t.__weh||=(...r)=>{$e();let i=uo(n),a=An(t,n,e,r);return i(),et(),a};return r?i.unshift(a):i.push(a),a}}var Jr=e=>(t,n=oo)=>{(!mo||e===`sp`)&&qr(e,(...e)=>t(...e),n)},Yr=Jr(`bm`),Xr=Jr(`m`),Zr=Jr(`bu`),Qr=Jr(`u`),$r=Jr(`bum`),ei=Jr(`um`),ti=Jr(`sp`),ni=Jr(`rtg`),ri=Jr(`rtc`);function ii(e,t=oo){qr(`ec`,e,t)}var ai=`components`,oi=`directives`;function si(e,t){return di(ai,e,!0,t)||e}var ci=Symbol.for(`v-ndc`);function li(e){return T(e)?di(ai,e,!1)||e:e||ci}function ui(e){return di(oi,e)}function di(e,t,n=!0,r=!1){let i=Jn||oo;if(i){let n=i.type;if(e===ai){let e=wo(n,!1);if(e&&(e===t||e===ae(t)||e===ce(ae(t))))return n}let a=fi(i[e]||n[e],t)||fi(i.appContext[e],t);return!a&&r?n:a}}function fi(e,t){return e&&(e[t]||e[ae(t)]||e[ce(ae(t))])}function pi(e,t,n,r){let i,a=n&&n[r],o=b(e);if(o||T(e)){let n=o&&$t(e),r=!1,s=!1;n&&(r=!tn(e),s=en(e),e=mt(e)),i=Array(e.length);for(let n=0,o=e.length;nt(e,n,void 0,a&&a[n]));else{let n=Object.keys(e);i=Array(n.length);for(let r=0,o=n.length;r{let t=r.fn(...e);return t&&(t.key=r.key),t}:r.fn)}return e}function H(e,t,n={},r,i){if(Jn.ce||Jn.parent&&Vr(Jn.parent)&&Jn.parent.ce){let e=Object.keys(n).length>0;return t!==`default`&&(n.name=t),U(),G(Na,null,[q(`slot`,n,r&&r())],e?-2:64)}let a=e[t];a&&a._c&&(a._d=!1),U();let o=a&&hi(a(n)),s=n.key||o&&o.key,c=G(Na,{key:(s&&!E(s)?s:`_${t}`)+(!o&&r?`_fb`:``)},o||(r?r():[]),o&&e._===1?64:-2);return!i&&c.scopeId&&(c.slotScopeIds=[c.scopeId+`-s`]),a&&a._c&&(a._d=!0),c}function hi(e){return e.some(e=>Ua(e)?!(e.type===Fa||e.type===Na&&!hi(e.children)):!0)?e:null}function gi(e,t){let n={};for(let r in e)n[t&&/[A-Z]/.test(r)?`on:${r}`:le(r)]=e[r];return n}var _i=e=>e?po(e)?Co(e):_i(e.parent):null,vi=g(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>_i(e.parent),$root:e=>_i(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Ai(e),$forceUpdate:e=>e.f||=()=>{Vn(e.update)},$nextTick:e=>e.n||=L.bind(e.proxy),$watch:e=>ar.bind(e)}),yi=(e,t)=>e!==u&&!e.__isScriptSetup&&y(e,t),bi={get({_:e},t){if(t===`__v_skip`)return!0;let{ctx:n,setupState:r,data:i,props:a,accessCache:o,type:s,appContext:c}=e;if(t[0]!==`$`){let e=o[t];if(e!==void 0)switch(e){case 1:return r[t];case 2:return i[t];case 4:return n[t];case 3:return a[t]}else if(yi(r,t))return o[t]=1,r[t];else if(i!==u&&y(i,t))return o[t]=2,i[t];else if(y(a,t))return o[t]=3,a[t];else if(n!==u&&y(n,t))return o[t]=4,n[t];else Ti&&(o[t]=0)}let l=vi[t],d,f;if(l)return t===`$attrs`&&ut(e.attrs,`get`,``),l(e);if((d=s.__cssModules)&&(d=d[t]))return d;if(n!==u&&y(n,t))return o[t]=4,n[t];if(f=c.config.globalProperties,y(f,t))return f[t]},set({_:e},t,n){let{data:r,setupState:i,ctx:a}=e;return yi(i,t)?(i[t]=n,!0):r!==u&&y(r,t)?(r[t]=n,!0):y(e.props,t)||t[0]===`$`&&t.slice(1)in e?!1:(a[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:r,appContext:i,props:a,type:o}},s){let c;return!!(n[s]||e!==u&&s[0]!==`$`&&y(e,s)||yi(t,s)||y(a,s)||y(r,s)||y(vi,s)||y(i.config.globalProperties,s)||(c=o.__cssModules)&&c[s])},defineProperty(e,t,n){return n.get==null?y(n,`value`)&&this.set(e,t,n.value,null):e._.accessCache[t]=0,Reflect.defineProperty(e,t,n)}};function xi(){return Ci(`useSlots`).slots}function Si(){return Ci(`useAttrs`).attrs}function Ci(e){let t=so();return t.setupContext||=So(t)}function wi(e){return b(e)?e.reduce((e,t)=>(e[t]=null,e),{}):e}var Ti=!0;function Ei(e){let t=Ai(e),n=e.proxy,r=e.ctx;Ti=!1,t.beforeCreate&&Oi(t.beforeCreate,e,`bc`);let{data:i,computed:a,methods:o,watch:s,provide:c,inject:l,created:u,beforeMount:d,mounted:p,beforeUpdate:m,updated:h,activated:g,deactivated:_,beforeDestroy:v,beforeUnmount:y,destroyed:x,unmounted:S,render:C,renderTracked:T,renderTriggered:E,errorCaptured:O,serverPrefetch:k,expose:A,inheritAttrs:ee,components:j,directives:te,filters:ne}=t;if(l&&Di(l,r,null),o)for(let e in o){let t=o[e];w(t)&&(r[e]=t.bind(n))}if(i){let t=i.call(n,n);D(t)&&(e.data=Jt(t))}if(Ti=!0,a)for(let e in a){let t=a[e],i=Y({get:w(t)?t.bind(n,n):w(t.get)?t.get.bind(n,n):f,set:!w(t)&&w(t.set)?t.set.bind(n):f});Object.defineProperty(r,e,{enumerable:!0,configurable:!0,get:()=>i.value,set:e=>i.value=e})}if(s)for(let e in s)ki(s[e],r,n,e);if(c){let e=w(c)?c.call(n):c;Reflect.ownKeys(e).forEach(t=>{$n(t,e[t])})}u&&Oi(u,e,`c`);function re(e,t){b(t)?t.forEach(t=>e(t.bind(n))):t&&e(t.bind(n))}if(re(Yr,d),re(Xr,p),re(Zr,m),re(Qr,h),re(Ur,g),re(Wr,_),re(ii,O),re(ri,T),re(ni,E),re($r,y),re(ei,S),re(ti,k),b(A))if(A.length){let t=e.exposed||={};A.forEach(e=>{Object.defineProperty(t,e,{get:()=>n[e],set:t=>n[e]=t,enumerable:!0})})}else e.exposed||={};C&&e.render===f&&(e.render=C),ee!=null&&(e.inheritAttrs=ee),j&&(e.components=j),te&&(e.directives=te),k&&Ir(e)}function Di(e,t,n=f){b(e)&&(e=Fi(e));for(let n in e){let r=e[n],i;i=D(r)?`default`in r?z(r.from||n,r.default,!0):z(r.from||n):z(r),cn(i)?Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:()=>i.value,set:e=>i.value=e}):t[n]=i}}function Oi(e,t,n){An(b(e)?e.map(e=>e.bind(t.proxy)):e.bind(t.proxy),t,n)}function ki(e,t,n,r){let i=r.includes(`.`)?or(n,r):()=>n[r];if(T(e)){let n=t[e];w(n)&&B(i,n)}else if(w(e))B(i,e.bind(n));else if(D(e))if(b(e))e.forEach(e=>ki(e,t,n,r));else{let r=w(e.handler)?e.handler.bind(n):t[e.handler];w(r)&&B(i,r,e)}}function Ai(e){let t=e.type,{mixins:n,extends:r}=t,{mixins:i,optionsCache:a,config:{optionMergeStrategies:o}}=e.appContext,s=a.get(t),c;return s?c=s:!i.length&&!n&&!r?c=t:(c={},i.length&&i.forEach(e=>ji(c,e,o,!0)),ji(c,t,o)),D(t)&&a.set(t,c),c}function ji(e,t,n,r=!1){let{mixins:i,extends:a}=t;a&&ji(e,a,n,!0),i&&i.forEach(t=>ji(e,t,n,!0));for(let i in t)if(!(r&&i===`expose`)){let r=Mi[i]||n&&n[i];e[i]=r?r(e[i],t[i]):t[i]}return e}var Mi={data:Ni,props:Ri,emits:Ri,methods:Li,computed:Li,beforeCreate:Ii,created:Ii,beforeMount:Ii,mounted:Ii,beforeUpdate:Ii,updated:Ii,beforeDestroy:Ii,beforeUnmount:Ii,destroyed:Ii,unmounted:Ii,activated:Ii,deactivated:Ii,errorCaptured:Ii,serverPrefetch:Ii,components:Li,directives:Li,watch:zi,provide:Ni,inject:Pi};function Ni(e,t){return t?e?function(){return g(w(e)?e.call(this,this):e,w(t)?t.call(this,this):t)}:t:e}function Pi(e,t){return Li(Fi(e),Fi(t))}function Fi(e){if(b(e)){let t={};for(let n=0;nt===`modelValue`||t===`model-value`?e.modelModifiers:e[`${t}Modifiers`]||e[`${ae(t)}Modifiers`]||e[`${se(t)}Modifiers`];function Gi(e,t,...n){if(e.isUnmounted)return;let r=e.vnode.props||u,i=n,a=t.startsWith(`update:`),o=a&&Wi(r,t.slice(7));o&&(o.trim&&(i=n.map(e=>T(e)?e.trim():e)),o.number&&(i=n.map(pe)));let s,c=r[s=le(t)]||r[s=le(ae(t))];!c&&a&&(c=r[s=le(se(t))]),c&&An(c,e,6,i);let l=r[s+`Once`];if(l){if(!e.emitted)e.emitted={};else if(e.emitted[s])return;e.emitted[s]=!0,An(l,e,6,i)}}var Ki=new WeakMap;function qi(e,t,n=!1){let r=n?Ki:t.emitsCache,i=r.get(e);if(i!==void 0)return i;let a=e.emits,o={},s=!1;if(!w(e)){let r=e=>{let n=qi(e,t,!0);n&&(s=!0,g(o,n))};!n&&t.mixins.length&&t.mixins.forEach(r),e.extends&&r(e.extends),e.mixins&&e.mixins.forEach(r)}return!a&&!s?(D(e)&&r.set(e,null),null):(b(a)?a.forEach(e=>o[e]=null):g(o,a),D(e)&&r.set(e,o),o)}function Ji(e,t){return!e||!m(t)?!1:(t=t.slice(2).replace(/Once$/,``),y(e,t[0].toLowerCase()+t.slice(1))||y(e,se(t))||y(e,t))}function Yi(e){let{type:t,vnode:n,proxy:r,withProxy:i,propsOptions:[a],slots:o,attrs:s,emit:c,render:l,renderCache:u,props:d,data:f,setupState:p,ctx:m,inheritAttrs:g}=e,_=Xn(e),v,y;try{if(n.shapeFlag&4){let e=i||r,t=e;v=Qa(l.call(t,e,u,d,p,f,m)),y=s}else{let e=t;v=Qa(e.length>1?e(d,{attrs:s,slots:o,emit:c}):e(d,null)),y=t.props?s:Xi(s)}}catch(t){La.length=0,jn(t,e,1),v=q(Fa)}let b=v;if(y&&g!==!1){let e=Object.keys(y),{shapeFlag:t}=b;e.length&&t&7&&(a&&e.some(h)&&(y=Zi(y,a)),b=Ya(b,y,!1,!0))}return n.dirs&&(b=Ya(b,null,!1,!0),b.dirs=b.dirs?b.dirs.concat(n.dirs):n.dirs),n.transition&&Pr(b,n.transition),v=b,Xn(_),v}var Xi=e=>{let t;for(let n in e)(n===`class`||n===`style`||m(n))&&((t||={})[n]=e[n]);return t},Zi=(e,t)=>{let n={};for(let r in e)(!h(r)||!(r.slice(9)in t))&&(n[r]=e[r]);return n};function Qi(e,t,n){let{props:r,children:i,component:a}=e,{props:o,children:s,patchFlag:c}=t,l=a.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&c>=0){if(c&1024)return!0;if(c&16)return r?$i(r,o,l):!!o;if(c&8){let e=t.dynamicProps;for(let t=0;tObject.create(na),ia=e=>Object.getPrototypeOf(e)===na;function aa(e,t,n,r=!1){let i={},a=ra();e.propsDefaults=Object.create(null),sa(e,t,i,a);for(let t in e.propsOptions[0])t in i||(i[t]=void 0);n?e.props=r?i:Yt(i):e.type.props?e.props=i:e.props=a,e.attrs=a}function oa(e,t,n,r){let{props:i,attrs:a,vnode:{patchFlag:o}}=e,s=rn(i),[c]=e.propsOptions,l=!1;if((r||o>0)&&!(o&16)){if(o&8){let n=e.vnode.dynamicProps;for(let r=0;r{c=!0;let[n,r]=ua(e,t,!0);g(o,n),r&&s.push(...r)};!n&&t.mixins.length&&t.mixins.forEach(r),e.extends&&r(e.extends),e.mixins&&e.mixins.forEach(r)}if(!a&&!c)return D(e)&&r.set(e,d),d;if(b(a))for(let e=0;ee===`_`||e===`_ctx`||e===`$stable`,pa=e=>b(e)?e.map(Qa):[Qa(e)],ma=(e,t,n)=>{if(t._n)return t;let r=R((...e)=>pa(t(...e)),n);return r._c=!1,r},ha=(e,t,n)=>{let r=e._ctx;for(let n in e){if(fa(n))continue;let i=e[n];if(w(i))t[n]=ma(n,i,r);else if(i!=null){let e=pa(i);t[n]=()=>e}}},ga=(e,t)=>{let n=pa(t);e.slots.default=()=>n},_a=(e,t,n)=>{for(let r in t)(n||!fa(r))&&(e[r]=t[r])},va=(e,t,n)=>{let r=e.slots=ra();if(e.vnode.shapeFlag&32){let e=t._;e?(_a(r,t,n),n&&fe(r,`_`,e,!0)):ha(t,r)}else t&&ga(e,t)},ya=(e,t,n)=>{let{vnode:r,slots:i}=e,a=!0,o=u;if(r.shapeFlag&32){let e=t._;e?n&&e===1?a=!1:_a(i,t,n):(a=!t.$stable,ha(t,i)),o=t}else t&&(ga(e,t),o={default:1});if(a)for(let e in i)!fa(e)&&o[e]==null&&delete i[e]},ba=Ma;function xa(e){return Sa(e)}function Sa(e,t){let n=ge();n.__VUE__=!0;let{insert:r,remove:i,patchProp:a,createElement:o,createText:s,createComment:c,setText:l,setElementText:p,parentNode:m,nextSibling:h,setScopeId:g=f,insertStaticContent:_}=e,v=(e,t,n,r=null,i=null,a=null,o=void 0,s=null,c=!!t.dynamicChildren)=>{if(e===t)return;e&&!Wa(e,t)&&(r=M(e),ue(e,i,a,!0),e=null),t.patchFlag===-2&&(c=!1,t.dynamicChildren=null);let{type:l,ref:u,shapeFlag:d}=t;switch(l){case Pa:y(e,t,n,r);break;case Fa:b(e,t,n,r);break;case Ia:e??x(t,n,r,o);break;case Na:ee(e,t,n,r,i,a,o,s,c);break;default:d&1?w(e,t,n,r,i,a,o,s,c):d&6?j(e,t,n,r,i,a,o,s,c):(d&64||d&128)&&l.process(e,t,n,r,i,a,o,s,c,ye)}u!=null&&i?zr(u,e&&e.ref,a,t||e,!t):u==null&&e&&e.ref!=null&&zr(e.ref,null,a,e,!0)},y=(e,t,n,i)=>{if(e==null)r(t.el=s(t.children),n,i);else{let n=t.el=e.el;t.children!==e.children&&l(n,t.children)}},b=(e,t,n,i)=>{e==null?r(t.el=c(t.children||``),n,i):t.el=e.el},x=(e,t,n,r)=>{[e.el,e.anchor]=_(e.children,t,n,r,e.el,e.anchor)},S=({el:e,anchor:t},n,i)=>{let a;for(;e&&e!==t;)a=h(e),r(e,n,i),e=a;r(t,n,i)},C=({el:e,anchor:t})=>{let n;for(;e&&e!==t;)n=h(e),i(e),e=n;i(t)},w=(e,t,n,r,i,a,o,s,c)=>{if(t.type===`svg`?o=`svg`:t.type===`math`&&(o=`mathml`),e==null)T(t,n,r,i,a,o,s,c);else{let n=e.el&&e.el._isVueCE?e.el:null;try{n&&n._beginPatch(),O(e,t,i,a,o,s,c)}finally{n&&n._endPatch()}}},T=(e,t,n,i,s,c,l,u)=>{let d,f,{props:m,shapeFlag:h,transition:g,dirs:_}=e;if(d=e.el=o(e.type,c,m&&m.is,m),h&8?p(d,e.children):h&16&&D(e.children,d,null,i,s,Ca(e,c),l,u),_&&Qn(e,null,i,`created`),E(d,e,e.scopeId,l,i),m){for(let e in m)e!==`value`&&!ne(e)&&a(d,e,null,m[e],c,i);`value`in m&&a(d,`value`,null,m.value,c),(f=m.onVnodeBeforeMount)&&no(f,i,e)}_&&Qn(e,null,i,`beforeMount`);let v=Ta(s,g);v&&g.beforeEnter(d),r(d,t,n),((f=m&&m.onVnodeMounted)||v||_)&&ba(()=>{try{f&&no(f,i,e),v&&g.enter(d),_&&Qn(e,null,i,`mounted`)}finally{}},s)},E=(e,t,n,r,i)=>{if(n&&g(e,n),r)for(let t=0;t{for(let l=c;l{let c=t.el=e.el,{patchFlag:l,dynamicChildren:d,dirs:f}=t;l|=e.patchFlag&16;let m=e.props||u,h=t.props||u,g;if(n&&wa(n,!1),(g=h.onVnodeBeforeUpdate)&&no(g,n,t,e),f&&Qn(t,e,n,`beforeUpdate`),n&&wa(n,!0),(m.innerHTML&&h.innerHTML==null||m.textContent&&h.textContent==null)&&p(c,``),d?k(e.dynamicChildren,d,c,n,r,Ca(t,i),o):s||oe(e,t,c,null,n,r,Ca(t,i),o,!1),l>0){if(l&16)A(c,m,h,n,i);else if(l&2&&m.class!==h.class&&a(c,`class`,null,h.class,i),l&4&&a(c,`style`,m.style,h.style,i),l&8){let e=t.dynamicProps;for(let t=0;t{g&&no(g,n,t,e),f&&Qn(t,e,n,`updated`)},r)},k=(e,t,n,r,i,a,o)=>{for(let s=0;s{if(t!==n){if(t!==u)for(let o in t)!ne(o)&&!(o in n)&&a(e,o,t[o],null,i,r);for(let o in n){if(ne(o))continue;let s=n[o],c=t[o];s!==c&&o!==`value`&&a(e,o,c,s,i,r)}`value`in n&&a(e,`value`,t.value,n.value,i)}},ee=(e,t,n,i,a,o,c,l,u)=>{let d=t.el=e?e.el:s(``),f=t.anchor=e?e.anchor:s(``),{patchFlag:p,dynamicChildren:m,slotScopeIds:h}=t;h&&(l=l?l.concat(h):h),e==null?(r(d,n,i),r(f,n,i),D(t.children||[],n,f,a,o,c,l,u)):p>0&&p&64&&m&&e.dynamicChildren&&e.dynamicChildren.length===m.length?(k(e.dynamicChildren,m,n,a,o,c,l),(t.key!=null||a&&t===a.subTree)&&Ea(e,t,!0)):oe(e,t,n,f,a,o,c,l,u)},j=(e,t,n,r,i,a,o,s,c)=>{t.slotScopeIds=s,e==null?t.shapeFlag&512?i.ctx.activate(t,n,r,o,c):te(t,n,r,i,a,o,c):re(e,t,c)},te=(e,t,n,r,i,a,o)=>{let s=e.component=ao(e,r,i);if(Hr(e)&&(s.ctx.renderer=ye),ho(s,!1,o),s.asyncDep){if(i&&i.registerDep(s,ie,o),!e.el){let r=s.subTree=q(Fa);b(null,r,t,n),e.placeholder=r.el}}else ie(s,e,t,n,i,a,o)},re=(e,t,n)=>{let r=t.component=e.component;if(Qi(e,t,n))if(r.asyncDep&&!r.asyncResolved){ae(r,t,n);return}else r.next=t,r.update();else t.el=e.el,r.vnode=t},ie=(e,t,n,r,i,a,o)=>{let s=()=>{if(e.isMounted){let{next:t,bu:n,u:r,parent:s,vnode:c}=e;{let n=Oa(e);if(n){t&&(t.el=c.el,ae(e,t,o)),n.asyncDep.then(()=>{ba(()=>{e.isUnmounted||l()},i)});return}}let u=t,d;wa(e,!1),t?(t.el=c.el,ae(e,t,o)):t=c,n&&de(n),(d=t.props&&t.props.onVnodeBeforeUpdate)&&no(d,s,t,c),wa(e,!0);let f=Yi(e),p=e.subTree;e.subTree=f,v(p,f,m(p.el),M(p),e,i,a),t.el=f.el,u===null&&ta(e,f.el),r&&ba(r,i),(d=t.props&&t.props.onVnodeUpdated)&&ba(()=>no(d,s,t,c),i)}else{let o,{el:s,props:c}=t,{bm:l,m:u,parent:d,root:f,type:p}=e,m=Vr(t);if(wa(e,!1),l&&de(l),!m&&(o=c&&c.onVnodeBeforeMount)&&no(o,d,t),wa(e,!0),s&&N){let t=()=>{e.subTree=Yi(e),N(s,e.subTree,e,i,null)};m&&p.__asyncHydrate?p.__asyncHydrate(s,e,t):t()}else{f.ce&&f.ce._hasShadowRoot()&&f.ce._injectChildStyle(p,e.parent?e.parent.type:void 0);let o=e.subTree=Yi(e);v(null,o,n,r,e,i,a),t.el=o.el}if(u&&ba(u,i),!m&&(o=c&&c.onVnodeMounted)){let e=t;ba(()=>no(o,d,e),i)}(t.shapeFlag&256||d&&Vr(d.vnode)&&d.vnode.shapeFlag&256)&&e.a&&ba(e.a,i),e.isMounted=!0,t=n=r=null}};e.scope.on();let c=e.effect=new Re(s);e.scope.off();let l=e.update=c.run.bind(c),u=e.job=c.runIfDirty.bind(c);u.i=e,u.id=e.uid,c.scheduler=()=>Vn(u),wa(e,!0),l()},ae=(e,t,n)=>{t.component=e;let r=e.vnode.props;e.vnode=t,e.next=null,oa(e,t.props,r,n),ya(e,t.children,n),$e(),Wn(e),et()},oe=(e,t,n,r,i,a,o,s,c=!1)=>{let l=e&&e.children,u=e?e.shapeFlag:0,d=t.children,{patchFlag:f,shapeFlag:m}=t;if(f>0){if(f&128){ce(l,d,n,r,i,a,o,s,c);return}else if(f&256){se(l,d,n,r,i,a,o,s,c);return}}m&8?(u&16&&he(l,i,a),d!==l&&p(n,d)):u&16?m&16?ce(l,d,n,r,i,a,o,s,c):he(l,i,a,!0):(u&8&&p(n,``),m&16&&D(d,n,r,i,a,o,s,c))},se=(e,t,n,r,i,a,o,s,c)=>{e||=d,t||=d;let l=e.length,u=t.length,f=Math.min(l,u),p;for(p=0;pu?he(e,i,a,!0,!1,f):D(t,n,r,i,a,o,s,c,f)},ce=(e,t,n,r,i,a,o,s,c)=>{let l=0,u=t.length,f=e.length-1,p=u-1;for(;l<=f&&l<=p;){let r=e[l],u=t[l]=c?$a(t[l]):Qa(t[l]);if(Wa(r,u))v(r,u,n,null,i,a,o,s,c);else break;l++}for(;l<=f&&l<=p;){let r=e[f],l=t[p]=c?$a(t[p]):Qa(t[p]);if(Wa(r,l))v(r,l,n,null,i,a,o,s,c);else break;f--,p--}if(l>f){if(l<=p){let e=p+1,d=ep)for(;l<=f;)ue(e[l],i,a,!0),l++;else{let m=l,h=l,g=new Map;for(l=h;l<=p;l++){let e=t[l]=c?$a(t[l]):Qa(t[l]);e.key!=null&&g.set(e.key,l)}let _,y=0,b=p-h+1,x=!1,S=0,C=Array(b);for(l=0;l=b){ue(r,i,a,!0);continue}let u;if(r.key!=null)u=g.get(r.key);else for(_=h;_<=p;_++)if(C[_-h]===0&&Wa(r,t[_])){u=_;break}u===void 0?ue(r,i,a,!0):(C[u-h]=l+1,u>=S?S=u:x=!0,v(r,t[u],n,null,i,a,o,s,c),y++)}let w=x?Da(C):d;for(_=w.length-1,l=b-1;l>=0;l--){let e=h+l,d=t[e],f=t[e+1],p=e+1{let{el:s,type:c,transition:l,children:u,shapeFlag:d}=e;if(d&6){le(e.component.subTree,t,n,a);return}if(d&128){e.suspense.move(t,n,a);return}if(d&64){c.move(e,t,n,ye);return}if(c===Na){r(s,t,n);for(let e=0;el.enter(s),o));else{let{leave:a,delayLeave:o,afterLeave:c}=l,u=()=>{e.ctx.isUnmounted?i(s):r(s,t,n)},d=()=>{let e=s._isLeaving||!!s[xr];s._isLeaving&&s[xr](!0),l.persisted&&!e?u():a(s,()=>{u(),c&&c()})};o?o(s,u,d):d()}else r(s,t,n)},ue=(e,t,n,r=!1,i=!1)=>{let{type:a,props:o,ref:s,children:c,dynamicChildren:l,shapeFlag:u,patchFlag:d,dirs:f,cacheIndex:p,memo:m}=e;if(d===-2&&(i=!1),s!=null&&($e(),zr(s,null,n,e,!0),et()),p!=null&&(t.renderCache[p]=void 0),u&256){t.ctx.deactivate(e);return}let h=u&1&&f,g=!Vr(e),_;if(g&&(_=o&&o.onVnodeBeforeUnmount)&&no(_,t,e),u&6)me(e.component,n,r);else{if(u&128){e.suspense.unmount(n,r);return}h&&Qn(e,null,t,`beforeUnmount`),u&64?e.type.remove(e,t,n,ye,r):l&&!l.hasOnce&&(a!==Na||d>0&&d&64)?he(l,t,n,!1,!0):(a===Na&&d&384||!i&&u&16)&&he(c,t,n),r&&fe(e)}let v=m!=null&&p==null;(g&&(_=o&&o.onVnodeUnmounted)||h||v)&&ba(()=>{_&&no(_,t,e),h&&Qn(e,null,t,`unmounted`),v&&(e.el=null)},n)},fe=e=>{let{type:t,el:n,anchor:r,transition:a}=e;if(t===Na){pe(n,r);return}if(t===Ia){C(e);return}let o=()=>{i(n),a&&!a.persisted&&a.afterLeave&&a.afterLeave()};if(e.shapeFlag&1&&a&&!a.persisted){let{leave:t,delayLeave:r}=a,i=()=>t(n,o);r?r(e.el,o,i):i()}else o()},pe=(e,t)=>{let n;for(;e!==t;)n=h(e),i(e),e=n;i(t)},me=(e,t,n)=>{let{bum:r,scope:i,job:a,subTree:o,um:s,m:c,a:l}=e;ka(c),ka(l),r&&de(r),i.stop(),a&&(a.flags|=8,ue(o,e,t,n)),s&&ba(s,t),ba(()=>{e.isUnmounted=!0},t)},he=(e,t,n,r=!1,i=!1,a=0)=>{for(let o=a;o{if(e.shapeFlag&6)return M(e.component.subTree);if(e.shapeFlag&128)return e.suspense.next();let t=h(e.anchor||e.el),n=t&&t[cr];return n?h(n):t},_e=!1,ve=(e,t,n)=>{let r;e==null?t._vnode&&(ue(t._vnode,null,null,!0),r=t._vnode.component):v(t._vnode||null,e,t,null,null,null,n),t._vnode=e,_e||=(_e=!0,Wn(r),Gn(),!1)},ye={p:v,um:ue,m:le,r:fe,mt:te,mc:D,pc:oe,pbc:k,n:M,o:e},be,N;return t&&([be,N]=t(ye)),{render:ve,hydrate:be,createApp:Hi(ve,be)}}function Ca({type:e,props:t},n){return n===`svg`&&e===`foreignObject`||n===`mathml`&&e===`annotation-xml`&&t&&t.encoding&&t.encoding.includes(`html`)?void 0:n}function wa({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function Ta(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Ea(e,t,n=!1){let r=e.children,i=t.children;if(b(r)&&b(i))for(let e=0;e>1,e[n[s]]0&&(t[r]=n[a-1]),n[a]=r)}}for(a=n.length,o=n[a-1];a-- >0;)n[a]=o,o=t[o];return n}function Oa(e){let t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Oa(t)}function ka(e){if(e)for(let t=0;te.__isSuspense;function Ma(e,t){t&&t.pendingBranch?b(e)?t.effects.push(...e):t.effects.push(e):Un(e)}var Na=Symbol.for(`v-fgt`),Pa=Symbol.for(`v-txt`),Fa=Symbol.for(`v-cmt`),Ia=Symbol.for(`v-stc`),La=[],Ra=null;function U(e=!1){La.push(Ra=e?null:[])}function za(){La.pop(),Ra=La[La.length-1]||null}var Ba=1;function Va(e,t=!1){Ba+=e,e<0&&Ra&&t&&(Ra.hasOnce=!0)}function Ha(e){return e.dynamicChildren=Ba>0?Ra||d:null,za(),Ba>0&&Ra&&Ra.push(e),e}function W(e,t,n,r,i,a){return Ha(K(e,t,n,r,i,a,!0))}function G(e,t,n,r,i){return Ha(q(e,t,n,r,i,!0))}function Ua(e){return e?e.__v_isVNode===!0:!1}function Wa(e,t){return e.type===t.type&&e.key===t.key}var Ga=({key:e})=>e??null,Ka=({ref:e,ref_key:t,ref_for:n})=>(typeof e==`number`&&(e=``+e),e==null?null:T(e)||cn(e)||w(e)?{i:Jn,r:e,k:t,f:!!n}:e);function K(e,t=null,n=null,r=0,i=null,a=e===Na?0:1,o=!1,s=!1){let c={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Ga(t),ref:t&&Ka(t),scopeId:Yn,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:a,patchFlag:r,dynamicProps:i,dynamicChildren:null,appContext:null,ctx:Jn};return s?(eo(c,n),a&128&&e.normalize(c)):n&&(c.shapeFlag|=T(n)?8:16),Ba>0&&!o&&Ra&&(c.patchFlag>0||a&6)&&c.patchFlag!==32&&Ra.push(c),c}var q=qa;function qa(e,t=null,n=null,r=0,i=null,a=!1){if((!e||e===ci)&&(e=Fa),Ua(e)){let r=Ya(e,t,!0);return n&&eo(r,n),Ba>0&&!a&&Ra&&(r.shapeFlag&6?Ra[Ra.indexOf(e)]=r:Ra.push(r)),r.patchFlag=-2,r}if(To(e)&&(e=e.__vccOpts),t){t=Ja(t);let{class:e,style:n}=t;e&&!T(e)&&(t.class=N(e)),D(n)&&(nn(n)&&!b(n)&&(n=g({},n)),t.style=M(n))}let o=T(e)?1:ja(e)?128:lr(e)?64:D(e)?4:w(e)?2:0;return K(e,t,n,r,i,o,a,!0)}function Ja(e){return e?nn(e)||ia(e)?g({},e):e:null}function Ya(e,t,n=!1,r=!1){let{props:i,ref:a,patchFlag:o,children:s,transition:c}=e,l=t?to(i||{},t):i,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:l,key:l&&Ga(l),ref:t&&t.ref?n&&a?b(a)?a.concat(Ka(t)):[a,Ka(t)]:Ka(t):a,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:s,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Na?o===-1?16:o|16:o,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:c,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Ya(e.ssContent),ssFallback:e.ssFallback&&Ya(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return c&&r&&Pr(u,c.clone(u)),u}function Xa(e=` `,t=0){return q(Pa,null,e,t)}function Za(e,t){let n=q(Ia,null,e);return n.staticCount=t,n}function J(e=``,t=!1){return t?(U(),G(Fa,null,e)):q(Fa,null,e)}function Qa(e){return e==null||typeof e==`boolean`?q(Fa):b(e)?q(Na,null,e.slice()):Ua(e)?$a(e):q(Pa,null,String(e))}function $a(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Ya(e)}function eo(e,t){let n=0,{shapeFlag:r}=e;if(t==null)t=null;else if(b(t))n=16;else if(typeof t==`object`)if(r&65){let n=t.default;n&&(n._c&&(n._d=!1),eo(e,n()),n._c&&(n._d=!0));return}else{n=32;let r=t._;!r&&!ia(t)?t._ctx=Jn:r===3&&Jn&&(Jn.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else w(t)?(t={default:t,_ctx:Jn},n=32):(t=String(t),r&64?(n=16,t=[Xa(t)]):n=8);e.children=t,e.shapeFlag|=n}function to(...e){let t={};for(let n=0;noo||Jn,co,lo;{let e=ge(),t=(t,n)=>{let r;return(r=e[t])||(r=e[t]=[]),r.push(n),e=>{r.length>1?r.forEach(t=>t(e)):r[0](e)}};co=t(`__VUE_INSTANCE_SETTERS__`,e=>oo=e),lo=t(`__VUE_SSR_SETTERS__`,e=>mo=e)}var uo=e=>{let t=oo;return co(e),e.scope.on(),()=>{e.scope.off(),co(t)}},fo=()=>{oo&&oo.scope.off(),co(null)};function po(e){return e.vnode.shapeFlag&4}var mo=!1;function ho(e,t=!1,n=!1){t&&lo(t);let{props:r,children:i}=e.vnode,a=po(e);aa(e,r,a,t),va(e,i,n||t);let o=a?go(e,t):void 0;return t&&lo(!1),o}function go(e,t){let n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,bi);let{setup:r}=n;if(r){$e();let n=e.setupContext=r.length>1?So(e):null,i=uo(e),a=kn(r,e,0,[e.props,n]),o=O(a);if(et(),i(),(o||e.sp)&&!Vr(e)&&Ir(e),o){if(a.then(fo,fo),t)return a.then(n=>{_o(e,n,t)}).catch(t=>{jn(t,e,0)});e.asyncDep=a}else _o(e,a,t)}else bo(e,t)}function _o(e,t,n){w(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:D(t)&&(e.setupState=hn(t)),bo(e,n)}var vo,yo;function bo(e,t,n){let r=e.type;if(!e.render){if(!t&&vo&&!r.render){let t=r.template||Ai(e).template;if(t){let{isCustomElement:n,compilerOptions:i}=e.appContext.config,{delimiters:a,compilerOptions:o}=r;r.render=vo(t,g(g({isCustomElement:n,delimiters:a},i),o))}}e.render=r.render||f,yo&&yo(e)}{let t=uo(e);$e();try{Ei(e)}finally{et(),t()}}}var xo={get(e,t){return ut(e,`get`,``),e[t]}};function So(e){return{attrs:new Proxy(e.attrs,xo),slots:e.slots,emit:e.emit,expose:t=>{e.exposed=t||{}}}}function Co(e){return e.exposed?e.exposeProxy||=new Proxy(hn(an(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in vi)return vi[n](e)},has(e,t){return t in e||t in vi}}):e.proxy}function wo(e,t=!0){return w(e)?e.displayName||e.name:e.name||t&&e.__name}function To(e){return w(e)&&`__vccOpts`in e}var Y=(e,t)=>Sn(e,t,mo);function Eo(e,t,n){try{Va(-1);let r=arguments.length;return r===2?D(t)&&!b(t)?Ua(t)?q(e,null,[t]):q(e,t):q(e,null,t):(r>3?n=Array.prototype.slice.call(arguments,2):r===3&&Ua(n)&&(n=[n]),q(e,t,n))}finally{Va(1)}}var Do=`3.5.35`,Oo=f,ko=void 0,Ao=typeof window<`u`&&window.trustedTypes;if(Ao)try{ko=Ao.createPolicy(`vue`,{createHTML:e=>e})}catch{}var jo=ko?e=>ko.createHTML(e):e=>e,Mo=`http://www.w3.org/2000/svg`,No=`http://www.w3.org/1998/Math/MathML`,Po=typeof document<`u`?document:null,Fo=Po&&Po.createElement(`template`),Io={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{let t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,r)=>{let i=t===`svg`?Po.createElementNS(Mo,e):t===`mathml`?Po.createElementNS(No,e):n?Po.createElement(e,{is:n}):Po.createElement(e);return e===`select`&&r&&r.multiple!=null&&i.setAttribute(`multiple`,r.multiple),i},createText:e=>Po.createTextNode(e),createComment:e=>Po.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Po.querySelector(e),setScopeId(e,t){e.setAttribute(t,``)},insertStaticContent(e,t,n,r,i,a){let o=n?n.previousSibling:t.lastChild;if(i&&(i===a||i.nextSibling))for(;t.insertBefore(i.cloneNode(!0),n),!(i===a||!(i=i.nextSibling)););else{Fo.innerHTML=jo(r===`svg`?`${e}`:r===`mathml`?`${e}`:e);let i=Fo.content;if(r===`svg`||r===`mathml`){let e=i.firstChild;for(;e.firstChild;)i.appendChild(e.firstChild);i.removeChild(e)}t.insertBefore(i,n)}return[o?o.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},Lo=`transition`,Ro=`animation`,zo=Symbol(`_vtc`),Bo={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},Vo=g({},Tr,Bo),Ho=(e=>(e.displayName=`Transition`,e.props=Vo,e))((e,{slots:t})=>Eo(kr,Go(e),t)),Uo=(e,t=[])=>{b(e)?e.forEach(e=>e(...t)):e&&e(...t)},Wo=e=>e?b(e)?e.some(e=>e.length>1):e.length>1:!1;function Go(e){let t={};for(let n in e)n in Bo||(t[n]=e[n]);if(e.css===!1)return t;let{name:n=`v`,type:r,duration:i,enterFromClass:a=`${n}-enter-from`,enterActiveClass:o=`${n}-enter-active`,enterToClass:s=`${n}-enter-to`,appearFromClass:c=a,appearActiveClass:l=o,appearToClass:u=s,leaveFromClass:d=`${n}-leave-from`,leaveActiveClass:f=`${n}-leave-active`,leaveToClass:p=`${n}-leave-to`}=e,m=Ko(i),h=m&&m[0],_=m&&m[1],{onBeforeEnter:v,onEnter:y,onEnterCancelled:b,onLeave:x,onLeaveCancelled:S,onBeforeAppear:C=v,onAppear:w=y,onAppearCancelled:T=b}=t,E=(e,t,n,r)=>{e._enterCancelled=r,Yo(e,t?u:s),Yo(e,t?l:o),n&&n()},D=(e,t)=>{e._isLeaving=!1,Yo(e,d),Yo(e,p),Yo(e,f),t&&t()},O=e=>(t,n)=>{let i=e?w:y,o=()=>E(t,e,n);Uo(i,[t,o]),Xo(()=>{Yo(t,e?c:a),Jo(t,e?u:s),Wo(i)||Qo(t,r,h,o)})};return g(t,{onBeforeEnter(e){Uo(v,[e]),Jo(e,a),Jo(e,o)},onBeforeAppear(e){Uo(C,[e]),Jo(e,c),Jo(e,l)},onEnter:O(!1),onAppear:O(!0),onLeave(e,t){e._isLeaving=!0;let n=()=>D(e,t);Jo(e,d),e._enterCancelled?(Jo(e,f),ns(e)):(ns(e),Jo(e,f)),Xo(()=>{e._isLeaving&&(Yo(e,d),Jo(e,p),Wo(x)||Qo(e,r,_,n))}),Uo(x,[e,n])},onEnterCancelled(e){E(e,!1,void 0,!0),Uo(b,[e])},onAppearCancelled(e){E(e,!0,void 0,!0),Uo(T,[e])},onLeaveCancelled(e){D(e),Uo(S,[e])}})}function Ko(e){if(e==null)return null;if(D(e))return[qo(e.enter),qo(e.leave)];{let t=qo(e);return[t,t]}}function qo(e){return me(e)}function Jo(e,t){t.split(/\s+/).forEach(t=>t&&e.classList.add(t)),(e[zo]||(e[zo]=new Set)).add(t)}function Yo(e,t){t.split(/\s+/).forEach(t=>t&&e.classList.remove(t));let n=e[zo];n&&(n.delete(t),n.size||(e[zo]=void 0))}function Xo(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}var Zo=0;function Qo(e,t,n,r){let i=e._endId=++Zo,a=()=>{i===e._endId&&r()};if(n!=null)return setTimeout(a,n);let{type:o,timeout:s,propCount:c}=$o(e,t);if(!o)return r();let l=o+`end`,u=0,d=()=>{e.removeEventListener(l,f),a()},f=t=>{t.target===e&&++u>=c&&d()};setTimeout(()=>{u(n[e]||``).split(`, `),i=r(`${Lo}Delay`),a=r(`${Lo}Duration`),o=es(i,a),s=r(`${Ro}Delay`),c=r(`${Ro}Duration`),l=es(s,c),u=null,d=0,f=0;t===Lo?o>0&&(u=Lo,d=o,f=a.length):t===Ro?l>0&&(u=Ro,d=l,f=c.length):(d=Math.max(o,l),u=d>0?o>l?Lo:Ro:null,f=u?u===Lo?a.length:c.length:0);let p=u===Lo&&/\b(?:transform|all)(?:,|$)/.test(r(`${Lo}Property`).toString());return{type:u,timeout:d,propCount:f,hasTransform:p}}function es(e,t){for(;e.lengthts(t)+ts(e[n])))}function ts(e){return e===`auto`?0:Number(e.slice(0,-1).replace(`,`,`.`))*1e3}function ns(e){return(e?e.ownerDocument:document).body.offsetHeight}function rs(e,t,n){let r=e[zo];r&&(t=(t?[t,...r]:[...r]).join(` `)),t==null?e.removeAttribute(`class`):n?e.setAttribute(`class`,t):e.className=t}var is=Symbol(`_vod`),as=Symbol(`_vsh`),os={name:`show`,beforeMount(e,{value:t},{transition:n}){e[is]=e.style.display===`none`?``:e.style.display,n&&t?n.beforeEnter(e):ss(e,t)},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:r}){!t!=!n&&(r?t?(r.beforeEnter(e),ss(e,!0),r.enter(e)):r.leave(e,()=>{ss(e,!1)}):ss(e,t))},beforeUnmount(e,{value:t}){ss(e,t)}};function ss(e,t){e.style.display=t?e[is]:`none`,e[as]=!t}var cs=Symbol(``),ls=/(?:^|;)\s*display\s*:/;function us(e,t,n){let r=e.style,i=T(n),a=!1;if(n&&!i){if(t)if(T(t))for(let e of t.split(`;`)){let t=e.slice(0,e.indexOf(`:`)).trim();n[t]??fs(r,t,``)}else for(let e in t)n[e]??fs(r,e,``);for(let i in n){i===`display`&&(a=!0);let o=n[i];o==null?fs(r,i,``):gs(e,i,!T(t)&&t?t[i]:void 0,o)||fs(r,i,o)}}else if(i){if(t!==n){let e=r[cs];e&&(n+=`;`+e),r.cssText=n,a=ls.test(n)}}else t&&e.removeAttribute(`style`);is in e&&(e[is]=a?r.display:``,e[as]&&(r.display=`none`))}var ds=/\s*!important$/;function fs(e,t,n){if(b(n))n.forEach(n=>fs(e,t,n));else if(n??=``,t.startsWith(`--`))e.setProperty(t,n);else{let r=hs(e,t);ds.test(n)?e.setProperty(se(r),n.replace(ds,``),`important`):e[r]=n}}var ps=[`Webkit`,`Moz`,`ms`],ms={};function hs(e,t){let n=ms[t];if(n)return n;let r=ae(t);if(r!==`filter`&&r in e)return ms[t]=r;r=ce(r);for(let n=0;nEs||=(Ds.then(()=>Es=0),Date.now());function ks(e,t){let n=e=>{if(!e._vts)e._vts=Date.now();else if(e._vts<=n.attached)return;let r=n.value;if(b(r)){let n=e.stopImmediatePropagation;e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0};let i=r.slice(),a=[e];for(let n=0;ne.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,js=(e,t,n,r,i,a)=>{let o=i===`svg`;t===`class`?rs(e,r,o):t===`style`?us(e,n,r):m(t)?h(t)||Cs(e,t,n,r,a):(t[0]===`.`?(t=t.slice(1),!0):t[0]===`^`?(t=t.slice(1),!1):Ms(e,t,r,o))?(ys(e,t,r),!e.tagName.includes(`-`)&&(t===`value`||t===`checked`||t===`selected`)&&vs(e,t,r,o,a,t!==`value`)):e._isVueCE&&(Ns(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!T(r)))?ys(e,ae(t),r,a,t):(t===`true-value`?e._trueValue=r:t===`false-value`&&(e._falseValue=r),vs(e,t,r,o))};function Ms(e,t,n,r){if(r)return!!(t===`innerHTML`||t===`textContent`||t in e&&As(t)&&w(n));if(t===`spellcheck`||t===`draggable`||t===`translate`||t===`autocorrect`||t===`sandbox`&&e.tagName===`IFRAME`||t===`form`||t===`list`&&e.tagName===`INPUT`||t===`type`&&e.tagName===`TEXTAREA`)return!1;if(t===`width`||t===`height`){let t=e.tagName;if(t===`IMG`||t===`VIDEO`||t===`CANVAS`||t===`SOURCE`)return!1}return As(t)&&T(n)?!1:t in e}function Ns(e,t){let n=e._def.props;if(!n)return!1;let r=ae(t);return Array.isArray(n)?n.some(e=>ae(e)===r):Object.keys(n).some(e=>ae(e)===r)}var Ps=new WeakMap,Fs=new WeakMap,Is=Symbol(`_moveCb`),Ls=Symbol(`_enterCb`),Rs=(e=>(delete e.props.mode,e))({name:`TransitionGroup`,props:g({},Vo,{tag:String,moveClass:String}),setup(e,{slots:t}){let n=so(),r=Cr(),i,a;return Qr(()=>{if(!i.length)return;let t=e.moveClass||`${e.name||`v`}-move`;if(!Us(i[0].el,n.vnode.el,t)){i=[];return}i.forEach(zs),i.forEach(Bs);let r=i.filter(Vs);ns(n.vnode.el),r.forEach(e=>{let n=e.el,r=n.style;Jo(n,t),r.transform=r.webkitTransform=r.transitionDuration=``;let i=n[Is]=e=>{e&&e.target!==n||(!e||e.propertyName.endsWith(`transform`))&&(n.removeEventListener(`transitionend`,i),n[Is]=null,Yo(n,t))};n.addEventListener(`transitionend`,i)}),i=[]}),()=>{let o=rn(e),s=Go(o),c=o.tag||Na;if(i=[],a)for(let e=0;e{e.split(/\s+/).forEach(e=>e&&r.classList.remove(e))}),n.split(/\s+/).forEach(e=>e&&r.classList.add(e)),r.style.display=`none`;let a=t.nodeType===1?t:t.parentNode;a.appendChild(r);let{hasTransform:o}=$o(r);return a.removeChild(r),o}var Ws=e=>{let t=e.props[`onUpdate:modelValue`]||!1;return b(t)?e=>de(t,e):t};function Gs(e){e.target.composing=!0}function Ks(e){let t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event(`input`)))}var qs=Symbol(`_assign`);function Js(e,t,n){return t&&(e=e.trim()),n&&(e=pe(e)),e}var Ys={created(e,{modifiers:{lazy:t,trim:n,number:r}},i){e[qs]=Ws(i);let a=r||i.props&&i.props.type===`number`;bs(e,t?`change`:`input`,t=>{t.target.composing||e[qs](Js(e.value,n,a))}),(n||a)&&bs(e,`change`,()=>{e.value=Js(e.value,n,a)}),t||(bs(e,`compositionstart`,Gs),bs(e,`compositionend`,Ks),bs(e,`change`,Ks))},mounted(e,{value:t}){e.value=t??``},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:r,trim:i,number:a}},o){if(e[qs]=Ws(o),e.composing)return;let s=(a||e.type===`number`)&&!/^0\d/.test(e.value)?pe(e.value):e.value,c=t??``;if(s===c)return;let l=e.getRootNode();(l instanceof Document||l instanceof ShadowRoot)&&l.activeElement===e&&e.type!==`range`&&(r&&t===n||i&&e.value.trim()===c)||(e.value=c)}},Xs={deep:!0,created(e,t,n){e[qs]=Ws(n),bs(e,`change`,()=>{let t=e._modelValue,n=tc(e),r=e.checked,i=e[qs];if(b(t)){let e=De(t,n),a=e!==-1;if(r&&!a)i(t.concat(n));else if(!r&&a){let n=[...t];n.splice(e,1),i(n)}}else if(S(t)){let e=new Set(t);r?e.add(n):e.delete(n),i(e)}else i(nc(e,r))})},mounted:Zs,beforeUpdate(e,t,n){e[qs]=Ws(n),Zs(e,t,n)}};function Zs(e,{value:t,oldValue:n},r){e._modelValue=t;let i;if(b(t))i=De(t,r.props.value)>-1;else if(S(t))i=t.has(r.props.value);else{if(t===n)return;i=Ee(t,nc(e,!0))}e.checked!==i&&(e.checked=i)}var Qs={created(e,{value:t},n){e.checked=Ee(t,n.props.value),e[qs]=Ws(n),bs(e,`change`,()=>{e[qs](tc(e))})},beforeUpdate(e,{value:t,oldValue:n},r){e[qs]=Ws(r),t!==n&&(e.checked=Ee(t,r.props.value))}},$s={deep:!0,created(e,{value:t,modifiers:{number:n}},r){let i=S(t);bs(e,`change`,()=>{let t=Array.prototype.filter.call(e.options,e=>e.selected).map(e=>n?pe(tc(e)):tc(e));e[qs](e.multiple?i?new Set(t):t:t[0]),e._assigning=!0,L(()=>{e._assigning=!1})}),e[qs]=Ws(r)},mounted(e,{value:t}){ec(e,t)},beforeUpdate(e,t,n){e[qs]=Ws(n)},updated(e,{value:t}){e._assigning||ec(e,t)}};function ec(e,t){let n=e.multiple,r=b(t);if(!(n&&!r&&!S(t))){for(let i=0,a=e.options.length;iString(e)===String(o)):a.selected=De(t,o)>-1}else a.selected=t.has(o);else if(Ee(tc(a),t)){e.selectedIndex!==i&&(e.selectedIndex=i);return}}!n&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}}function tc(e){return`_value`in e?e._value:e.value}function nc(e,t){let n=t?`_trueValue`:`_falseValue`;return n in e?e[n]:t}var rc=[`ctrl`,`shift`,`alt`,`meta`],ic={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>`button`in e&&e.button!==0,middle:e=>`button`in e&&e.button!==1,right:e=>`button`in e&&e.button!==2,exact:(e,t)=>rc.some(n=>e[`${n}Key`]&&!t.includes(n))},ac=(e,t)=>{if(!e)return e;let n=e._withMods||={},r=t.join(`.`);return n[r]||(n[r]=((n,...r)=>{for(let e=0;e{let n=e._withKeys||={},r=t.join(`.`);return n[r]||(n[r]=(n=>{if(!(`key`in n))return;let r=se(n.key);if(t.some(e=>e===r||oc[e]===r))return e(n)}))},cc=g({patchProp:js},Io),lc;function uc(){return lc||=xa(cc)}var dc=((...e)=>{uc().render(...e)}),fc=((...e)=>{let t=uc().createApp(...e),{mount:n}=t;return t.mount=e=>{let r=mc(e);if(!r)return;let i=t._component;!w(i)&&!i.render&&!i.template&&(i.template=r.innerHTML),r.nodeType===1&&(r.textContent=``);let a=n(r,!1,pc(r));return r instanceof Element&&(r.removeAttribute(`v-cloak`),r.setAttribute(`data-v-app`,``)),a},t});function pc(e){if(e instanceof SVGElement)return`svg`;if(typeof MathMLElement==`function`&&e instanceof MathMLElement)return`mathml`}function mc(e){return T(e)?document.querySelector(e):e}var hc=typeof window<`u`,gc,_c=e=>gc=e,vc=Symbol();function yc(e){return e&&typeof e==`object`&&Object.prototype.toString.call(e)===`[object Object]`&&typeof e.toJSON!=`function`}var bc;(function(e){e.direct=`direct`,e.patchObject=`patch object`,e.patchFunction=`patch function`})(bc||={});var xc=typeof window==`object`&&window.window===window?window:typeof self==`object`&&self.self===self?self:typeof global==`object`&&global.global===global?global:typeof globalThis==`object`?globalThis:{HTMLElement:null};function Sc(e,{autoBom:t=!1}={}){return t&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(e.type)?new Blob([``,e],{type:e.type}):e}function Cc(e,t,n){let r=new XMLHttpRequest;r.open(`GET`,e),r.responseType=`blob`,r.onload=function(){Oc(r.response,t,n)},r.onerror=function(){console.error(`could not download file`)},r.send()}function wc(e){let t=new XMLHttpRequest;t.open(`HEAD`,e,!1);try{t.send()}catch{}return t.status>=200&&t.status<=299}function Tc(e){try{e.dispatchEvent(new MouseEvent(`click`))}catch{let t=new MouseEvent(`click`,{bubbles:!0,cancelable:!0,view:window,detail:0,screenX:80,screenY:20,clientX:80,clientY:20,ctrlKey:!1,altKey:!1,shiftKey:!1,metaKey:!1,button:0,relatedTarget:null});e.dispatchEvent(t)}}var Ec=typeof navigator==`object`?navigator:{userAgent:``},Dc=/Macintosh/.test(Ec.userAgent)&&/AppleWebKit/.test(Ec.userAgent)&&!/Safari/.test(Ec.userAgent),Oc=hc?typeof HTMLAnchorElement<`u`&&`download`in HTMLAnchorElement.prototype&&!Dc?kc:`msSaveOrOpenBlob`in Ec?Ac:jc:()=>{};function kc(e,t=`download`,n){let r=document.createElement(`a`);r.download=t,r.rel=`noopener`,typeof e==`string`?(r.href=e,r.origin===location.origin?Tc(r):wc(r.href)?Cc(e,t,n):(r.target=`_blank`,Tc(r))):(r.href=URL.createObjectURL(e),setTimeout(function(){URL.revokeObjectURL(r.href)},4e4),setTimeout(function(){Tc(r)},0))}function Ac(e,t=`download`,n){if(typeof e==`string`)if(wc(e))Cc(e,t,n);else{let t=document.createElement(`a`);t.href=e,t.target=`_blank`,setTimeout(function(){Tc(t)})}else navigator.msSaveOrOpenBlob(Sc(e,n),t)}function jc(e,t,n,r){if(r||=open(``,`_blank`),r&&(r.document.title=r.document.body.innerText=`downloading...`),typeof e==`string`)return Cc(e,t,n);let i=e.type===`application/octet-stream`,a=/constructor/i.test(String(xc.HTMLElement))||`safari`in xc,o=/CriOS\/[\d]+/.test(navigator.userAgent);if((o||i&&a||Dc)&&typeof FileReader<`u`){let t=new FileReader;t.onloadend=function(){let e=t.result;if(typeof e!=`string`)throw r=null,Error(`Wrong reader.result type`);e=o?e:e.replace(/^data:[^;]*;/,`data:attachment/file;`),r?r.location.href=e:location.assign(e),r=null},t.readAsDataURL(e)}else{let t=URL.createObjectURL(e);r?r.location.assign(t):location.href=t,r=null,setTimeout(function(){URL.revokeObjectURL(t)},4e4)}}var{assign:Mc}=Object;function Nc(){let e=Ne(!0),t=e.run(()=>F({})),n=[],r=[],i=an({install(e){_c(i),i._a=e,e.provide(vc,i),e.config.globalProperties.$pinia=i,r.forEach(e=>n.push(e)),r=[]},use(e){return this._a?n.push(e):r.push(e),this},_p:n,_a:null,_e:e,_s:new Map,state:t});return i}var Pc=()=>{};function Fc(e,t,n,r=Pc){e.add(t);let i=()=>{e.delete(t)&&r()};return!n&&Pe()&&Fe(i),i}function Ic(e,...t){e.forEach(e=>{e(...t)})}var Lc=e=>e(),Rc=Symbol(),zc=Symbol();function Bc(e,t){e instanceof Map&&t instanceof Map?t.forEach((t,n)=>e.set(n,t)):e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(let n in t){if(!t.hasOwnProperty(n))continue;let r=t[n],i=e[n];yc(i)&&yc(r)&&e.hasOwnProperty(n)&&!cn(r)&&!$t(r)?e[n]=Bc(i,r):e[n]=r}return e}var Vc=Symbol();function Hc(e){return!yc(e)||!Object.prototype.hasOwnProperty.call(e,Vc)}var{assign:Uc}=Object;function Wc(e){return!!(cn(e)&&e.effect)}function Gc(e,t,n,r){let{state:i,actions:a,getters:o}=t,s=n.state.value[e],c;function l(){return s||(n.state.value[e]=i?i():{}),Uc(gn(n.state.value[e]),a,Object.keys(o||{}).reduce((t,r)=>(t[r]=an(Y(()=>{_c(n);let t=n._s.get(e);return o[r].call(t,t)})),t),{}))}return c=Kc(e,l,t,n,r,!0),c}function Kc(e,t,n={},r,i,a){let o,s=Uc({actions:{}},n),c={deep:!0},l,u,d=new Set,f=new Set,p=r.state.value[e];!a&&!p&&(r.state.value[e]={});let m;function h(t){let n;l=u=!1,typeof t==`function`?(t(r.state.value[e]),n={type:bc.patchFunction,storeId:e,events:void 0}):(Bc(r.state.value[e],t),n={type:bc.patchObject,payload:t,storeId:e,events:void 0});let i=m=Symbol();L().then(()=>{m===i&&(l=!0)}),u=!0,Ic(d,n,r.state.value[e])}let g=a?function(){let{state:e}=n,t=e?e():{};this.$patch(e=>{Uc(e,t)})}:Pc;function _(){o.stop(),d.clear(),f.clear(),r._s.delete(e)}let v=(t,n=``)=>{if(Rc in t)return t[zc]=n,t;let i=function(){_c(r);let n=Array.from(arguments),a=new Set,o=new Set;function s(e){a.add(e)}function c(e){o.add(e)}Ic(f,{args:n,name:i[zc],store:y,after:s,onError:c});let l;try{l=t.apply(this&&this.$id===e?this:y,n)}catch(e){throw Ic(o,e),e}return l instanceof Promise?l.then(e=>(Ic(a,e),e)).catch(e=>(Ic(o,e),Promise.reject(e))):(Ic(a,l),l)};return i[Rc]=!0,i[zc]=n,i},y=Jt({_p:r,$id:e,$onAction:Fc.bind(null,f),$patch:h,$reset:g,$subscribe(t,n={}){let i=Fc(d,t,n.detached,()=>a()),a=o.run(()=>B(()=>r.state.value[e],r=>{(n.flush===`sync`?u:l)&&t({storeId:e,type:bc.direct,events:void 0},r)},Uc({},c,n)));return i},$dispose:_});r._s.set(e,y);let b=(r._a&&r._a.runWithContext||Lc)(()=>r._e.run(()=>(o=Ne()).run(()=>t({action:v}))));for(let t in b){let n=b[t];cn(n)&&!Wc(n)||$t(n)?a||(p&&Hc(n)&&(cn(n)?n.value=p[t]:Bc(n,p[t])),r.state.value[e][t]=n):typeof n==`function`&&(b[t]=v(n,t),s.actions[t]=n)}return Uc(y,b),Uc(rn(y),b),Object.defineProperty(y,"$state",{get:()=>r.state.value[e],set:e=>{h(t=>{Uc(t,e)})}}),r._p.forEach(e=>{Uc(y,o.run(()=>e({store:y,app:r._a,pinia:r,options:s})))}),p&&a&&n.hydrate&&n.hydrate(y.$state,p),l=!0,u=!0,y}function qc(e,t,n){let r,i=typeof t==`function`;r=i?n:t;function a(n,a){let o=er();return n||=o?z(vc,null):null,n&&_c(n),n=gc,n._s.has(e)||(i?Kc(e,t,r,n):Gc(e,r,n)),n._s.get(e)}return a.$id=e,a}var Jc=typeof document<`u`;function Yc(e){return typeof e==`object`||`displayName`in e||`props`in e||`__vccOpts`in e}function Xc(e){return e.__esModule||e[Symbol.toStringTag]===`Module`||e.default&&Yc(e.default)}var Zc=Object.assign;function Qc(e,t){let n={};for(let r in t){let i=t[r];n[r]=el(i)?i.map(e):e(i)}return n}var $c=()=>{},el=Array.isArray;function tl(e,t){let n={};for(let r in e)n[r]=r in t?t[r]:e[r];return n}var nl=/#/g,rl=/&/g,il=/\//g,al=/=/g,ol=/\?/g,sl=/\+/g,cl=/%5B/g,ll=/%5D/g,ul=/%5E/g,dl=/%60/g,fl=/%7B/g,pl=/%7C/g,ml=/%7D/g,hl=/%20/g;function gl(e){return e==null?``:encodeURI(``+e).replace(pl,`|`).replace(cl,`[`).replace(ll,`]`)}function _l(e){return gl(e).replace(fl,`{`).replace(ml,`}`).replace(ul,`^`)}function vl(e){return gl(e).replace(sl,`%2B`).replace(hl,`+`).replace(nl,`%23`).replace(rl,`%26`).replace(dl,"`").replace(fl,`{`).replace(ml,`}`).replace(ul,`^`)}function yl(e){return vl(e).replace(al,`%3D`)}function bl(e){return gl(e).replace(nl,`%23`).replace(ol,`%3F`)}function xl(e){return bl(e).replace(il,`%2F`)}function Sl(e){if(e==null)return null;try{return decodeURIComponent(``+e)}catch{}return``+e}var Cl=/\/$/,wl=e=>e.replace(Cl,``);function Tl(e,t,n=`/`){let r,i={},a=``,o=``,s=t.indexOf(`#`),c=t.indexOf(`?`);return c=s>=0&&c>s?-1:c,c>=0&&(r=t.slice(0,c),a=t.slice(c,s>0?s:t.length),i=e(a.slice(1))),s>=0&&(r||=t.slice(0,s),o=t.slice(s,t.length)),r=Nl(r??t,n),{fullPath:r+a+o,path:r,query:i,hash:Sl(o)}}function El(e,t){let n=t.query?e(t.query):``;return t.path+(n&&`?`)+n+(t.hash||``)}function Dl(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||`/`}function Ol(e,t,n){let r=t.matched.length-1,i=n.matched.length-1;return r>-1&&r===i&&kl(t.matched[r],n.matched[i])&&Al(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function kl(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function Al(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(var n in e)if(!jl(e[n],t[n]))return!1;return!0}function jl(e,t){return el(e)?Ml(e,t):el(t)?Ml(t,e):e?.valueOf()===t?.valueOf()}function Ml(e,t){return el(t)?e.length===t.length&&e.every((e,n)=>e===t[n]):e.length===1&&e[0]===t}function Nl(e,t){if(e.startsWith(`/`))return e;if(!e)return t;let n=t.split(`/`),r=e.split(`/`),i=r[r.length-1];(i===`..`||i===`.`)&&r.push(``);let a=n.length-1,o,s;for(o=0;o1&&a--;else break;return n.slice(0,a).join(`/`)+`/`+r.slice(o).join(`/`)}var Pl={path:`/`,name:void 0,params:{},query:{},hash:``,fullPath:`/`,matched:[],meta:{},redirectedFrom:void 0},Fl=function(e){return e.pop=`pop`,e.push=`push`,e}({}),Il=function(e){return e.back=`back`,e.forward=`forward`,e.unknown=``,e}({});function Ll(e){if(!e)if(Jc){let t=document.querySelector(`base`);e=t&&t.getAttribute(`href`)||`/`,e=e.replace(/^\w+:\/\/[^\/]+/,``)}else e=`/`;return e[0]!==`/`&&e[0]!==`#`&&(e=`/`+e),wl(e)}var Rl=/^[^#]+#/;function zl(e,t){return e.replace(Rl,`#`)+t}function Bl(e,t){let n=document.documentElement.getBoundingClientRect(),r=e.getBoundingClientRect();return{behavior:t.behavior,left:r.left-n.left-(t.left||0),top:r.top-n.top-(t.top||0)}}var Vl=()=>({left:window.scrollX,top:window.scrollY});function Hl(e){let t;if(`el`in e){let n=e.el,r=typeof n==`string`&&n.startsWith(`#`),i=typeof n==`string`?r?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!i)return;t=Bl(i,e)}else t=e;`scrollBehavior`in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left==null?window.scrollX:t.left,t.top==null?window.scrollY:t.top)}function Ul(e,t){return(history.state?history.state.position-t:-1)+e}var Wl=new Map;function Gl(e,t){Wl.set(e,t)}function Kl(e){let t=Wl.get(e);return Wl.delete(e),t}function ql(e){return typeof e==`string`||e&&typeof e==`object`}function Jl(e){return typeof e==`string`||typeof e==`symbol`}var Yl=function(e){return e[e.MATCHER_NOT_FOUND=1]=`MATCHER_NOT_FOUND`,e[e.NAVIGATION_GUARD_REDIRECT=2]=`NAVIGATION_GUARD_REDIRECT`,e[e.NAVIGATION_ABORTED=4]=`NAVIGATION_ABORTED`,e[e.NAVIGATION_CANCELLED=8]=`NAVIGATION_CANCELLED`,e[e.NAVIGATION_DUPLICATED=16]=`NAVIGATION_DUPLICATED`,e}({}),Xl=Symbol(``);Yl.MATCHER_NOT_FOUND,Yl.NAVIGATION_GUARD_REDIRECT,Yl.NAVIGATION_ABORTED,Yl.NAVIGATION_CANCELLED,Yl.NAVIGATION_DUPLICATED;function Zl(e,t){return Zc(Error(),{type:e,[Xl]:!0},t)}function Ql(e,t){return e instanceof Error&&Xl in e&&(t==null||!!(e.type&t))}function $l(e){let t={};if(e===``||e===`?`)return t;let n=(e[0]===`?`?e.slice(1):e).split(`&`);for(let e=0;ee&&vl(e)):[r&&vl(r)]).forEach(e=>{e!==void 0&&(t+=(t.length?`&`:``)+n,e!=null&&(t+=`=`+e))})}return t}function tu(e){let t={};for(let n in e){let r=e[n];r!==void 0&&(t[n]=el(r)?r.map(e=>e==null?null:``+e):r==null?r:``+r)}return t}var nu=Symbol(``),ru=Symbol(``),iu=Symbol(``),au=Symbol(``),ou=Symbol(``);function su(){let e=[];function t(t){return e.push(t),()=>{let n=e.indexOf(t);n>-1&&e.splice(n,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function cu(e,t,n,r,i,a=e=>e()){let o=r&&(r.enterCallbacks[i]=r.enterCallbacks[i]||[]);return()=>new Promise((s,c)=>{let l=e=>{e===!1?c(Zl(Yl.NAVIGATION_ABORTED,{from:n,to:t})):e instanceof Error?c(e):ql(e)?c(Zl(Yl.NAVIGATION_GUARD_REDIRECT,{from:t,to:e})):(o&&r.enterCallbacks[i]===o&&typeof e==`function`&&o.push(e),s())},u=a(()=>e.call(r&&r.instances[i],t,n,l)),d=Promise.resolve(u);e.length<3&&(d=d.then(l)),d.catch(e=>c(e))})}function lu(e,t,n,r,i=e=>e()){let a=[];for(let o of e)for(let e in o.components){let s=o.components[e];if(!(t!==`beforeRouteEnter`&&!o.instances[e]))if(Yc(s)){let c=(s.__vccOpts||s)[t];c&&a.push(cu(c,n,r,o,e,i))}else{let c=s();a.push(()=>c.then(a=>{if(!a)throw Error(`Couldn't resolve component "${e}" at "${o.path}"`);let s=Xc(a)?a.default:a;o.mods[e]=a,o.components[e]=s;let c=(s.__vccOpts||s)[t];return c&&cu(c,n,r,o,e,i)()}))}}return a}function uu(e,t){let n=[],r=[],i=[],a=Math.max(t.matched.length,e.matched.length);for(let o=0;okl(e,a))?r.push(a):n.push(a));let s=e.matched[o];s&&(t.matched.find(e=>kl(e,s))||i.push(s))}return[n,r,i]}var du=()=>location.protocol+`//`+location.host;function fu(e,t){let{pathname:n,search:r,hash:i}=t,a=e.indexOf(`#`);if(a>-1){let t=i.includes(e.slice(a))?e.slice(a).length:1,n=i.slice(t);return n[0]!==`/`&&(n=`/`+n),Dl(n,``)}return Dl(n,e)+r+i}function pu(e,t,n,r){let i=[],a=[],o=null,s=({state:a})=>{let s=fu(e,location),c=n.value,l=t.value,u=0;if(a){if(n.value=s,t.value=a,o&&o===c){o=null;return}u=l?a.position-l.position:0}else r(s);i.forEach(e=>{e(n.value,c,{delta:u,type:Fl.pop,direction:u?u>0?Il.forward:Il.back:Il.unknown})})};function c(){o=n.value}function l(e){i.push(e);let t=()=>{let t=i.indexOf(e);t>-1&&i.splice(t,1)};return a.push(t),t}function u(){if(document.visibilityState===`hidden`){let{history:e}=window;if(!e.state)return;e.replaceState(Zc({},e.state,{scroll:Vl()}),``)}}function d(){for(let e of a)e();a=[],window.removeEventListener(`popstate`,s),window.removeEventListener(`pagehide`,u),document.removeEventListener(`visibilitychange`,u)}return window.addEventListener(`popstate`,s),window.addEventListener(`pagehide`,u),document.addEventListener(`visibilitychange`,u),{pauseListeners:c,listen:l,destroy:d}}function mu(e,t,n,r=!1,i=!1){return{back:e,current:t,forward:n,replaced:r,position:window.history.length,scroll:i?Vl():null}}function hu(e){let{history:t,location:n}=window,r={value:fu(e,n)},i={value:t.state};i.value||a(r.value,{back:null,current:r.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function a(r,a,o){let s=e.indexOf(`#`),c=s>-1?(n.host&&document.querySelector(`base`)?e:e.slice(s))+r:du()+e+r;try{t[o?`replaceState`:`pushState`](a,``,c),i.value=a}catch(e){console.error(e),n[o?`replace`:`assign`](c)}}function o(e,n){a(e,Zc({},t.state,mu(i.value.back,e,i.value.forward,!0),n,{position:i.value.position}),!0),r.value=e}function s(e,n){let o=Zc({},i.value,t.state,{forward:e,scroll:Vl()});a(o.current,o,!0),a(e,Zc({},mu(r.value,e,null),{position:o.position+1},n),!1),r.value=e}return{location:r,state:i,push:s,replace:o}}function gu(e){e=Ll(e);let t=hu(e),n=pu(e,t.state,t.location,t.replace);function r(e,t=!0){t||n.pauseListeners(),history.go(e)}let i=Zc({location:``,base:e,go:r,createHref:zl.bind(null,e)},t,n);return Object.defineProperty(i,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(i,"state",{enumerable:!0,get:()=>t.state.value}),i}var _u=function(e){return e[e.Static=0]=`Static`,e[e.Param=1]=`Param`,e[e.Group=2]=`Group`,e}({}),vu=function(e){return e[e.Static=0]=`Static`,e[e.Param=1]=`Param`,e[e.ParamRegExp=2]=`ParamRegExp`,e[e.ParamRegExpEnd=3]=`ParamRegExpEnd`,e[e.EscapeNext=4]=`EscapeNext`,e}(vu||{}),yu={type:_u.Static,value:``},bu=/[a-zA-Z0-9_]/;function xu(e){if(!e)return[[]];if(e===`/`)return[[yu]];if(!e.startsWith(`/`))throw Error(`Invalid path "${e}"`);function t(e){throw Error(`ERR (${n})/"${l}": ${e}`)}let n=vu.Static,r=n,i=[],a;function o(){a&&i.push(a),a=[]}let s=0,c,l=``,u=``;function d(){l&&=(n===vu.Static?a.push({type:_u.Static,value:l}):n===vu.Param||n===vu.ParamRegExp||n===vu.ParamRegExpEnd?(a.length>1&&(c===`*`||c===`+`)&&t(`A repeatable param (${l}) must be alone in its segment. eg: '/:ids+.`),a.push({type:_u.Param,value:l,regexp:u,repeatable:c===`*`||c===`+`,optional:c===`*`||c===`?`})):t(`Invalid state to consume buffer`),``)}function f(){l+=c}for(;st.length?t.length===1&&t[0]===wu.Static+wu.Segment?1:-1:0}function Ou(e,t){let n=0,r=e.score,i=t.score;for(;n0&&t[t.length-1]<0}var Au={strict:!1,end:!0,sensitive:!1};function ju(e,t,n){let r=Zc(Eu(xu(e.path),n),{record:e,parent:t,children:[],alias:[]});return t&&!r.record.aliasOf==!t.record.aliasOf&&t.children.push(r),r}function Mu(e,t){let n=[],r=new Map;t=tl(Au,t);function i(e){return r.get(e)}function a(e,n,r){let i=!r,s=Pu(e);s.aliasOf=r&&r.record;let l=tl(t,e),u=[s];if(`alias`in e){let t=typeof e.alias==`string`?[e.alias]:e.alias;for(let e of t)u.push(Pu(Zc({},s,{components:r?r.record.components:s.components,path:e,aliasOf:r?r.record:s})))}let d,f;for(let t of u){let{path:u}=t;if(n&&u[0]!==`/`){let e=n.record.path,r=e[e.length-1]===`/`?``:`/`;t.path=n.record.path+(u&&r+u)}if(d=ju(t,n,l),r?r.alias.push(d):(f||=d,f!==d&&f.alias.push(d),i&&e.name&&!Iu(d)&&o(e.name)),Bu(d)&&c(d),s.children){let e=s.children;for(let t=0;t{o(f)}:$c}function o(e){if(Jl(e)){let t=r.get(e);t&&(r.delete(e),n.splice(n.indexOf(t),1),t.children.forEach(o),t.alias.forEach(o))}else{let t=n.indexOf(e);t>-1&&(n.splice(t,1),e.record.name&&r.delete(e.record.name),e.children.forEach(o),e.alias.forEach(o))}}function s(){return n}function c(e){let t=Ru(e,n);n.splice(t,0,e),e.record.name&&!Iu(e)&&r.set(e.record.name,e)}function l(e,t){let i,a={},o,s;if(`name`in e&&e.name){if(i=r.get(e.name),!i)throw Zl(Yl.MATCHER_NOT_FOUND,{location:e});s=i.record.name,a=Zc(Nu(t.params,i.keys.filter(e=>!e.optional).concat(i.parent?i.parent.keys.filter(e=>e.optional):[]).map(e=>e.name)),e.params&&Nu(e.params,i.keys.map(e=>e.name))),o=i.stringify(a)}else if(e.path!=null)o=e.path,i=n.find(e=>e.re.test(o)),i&&(a=i.parse(o),s=i.record.name);else{if(i=t.name?r.get(t.name):n.find(e=>e.re.test(t.path)),!i)throw Zl(Yl.MATCHER_NOT_FOUND,{location:e,currentLocation:t});s=i.record.name,a=Zc({},t.params,e.params),o=i.stringify(a)}let c=[],l=i;for(;l;)c.unshift(l.record),l=l.parent;return{name:s,path:o,params:a,matched:c,meta:Lu(c)}}e.forEach(e=>a(e));function u(){n.length=0,r.clear()}return{addRoute:a,resolve:l,removeRoute:o,clearRoutes:u,getRoutes:s,getRecordMatcher:i}}function Nu(e,t){let n={};for(let r of t)r in e&&(n[r]=e[r]);return n}function Pu(e){let t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:Fu(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:`components`in e?e.components||null:e.component&&{default:e.component}};return Object.defineProperty(t,"mods",{value:{}}),t}function Fu(e){let t={},n=e.props||!1;if(`component`in e)t.default=n;else for(let r in e.components)t[r]=typeof n==`object`?n[r]:n;return t}function Iu(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function Lu(e){return e.reduce((e,t)=>Zc(e,t.meta),{})}function Ru(e,t){let n=0,r=t.length;for(;n!==r;){let i=n+r>>1;Ou(e,t[i])<0?r=i:n=i+1}let i=zu(e);return i&&(r=t.lastIndexOf(i,r-1)),r}function zu(e){let t=e;for(;t=t.parent;)if(Bu(t)&&Ou(e,t)===0)return t}function Bu({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function Vu(e){let t=z(iu),n=z(au),r=Y(()=>{let n=I(e.to);return t.resolve(n)}),i=Y(()=>{let{matched:e}=r.value,{length:t}=e,i=e[t-1],a=n.matched;if(!i||!a.length)return-1;let o=a.findIndex(kl.bind(null,i));if(o>-1)return o;let s=Ku(e[t-2]);return t>1&&Ku(i)===s&&a[a.length-1].path!==s?a.findIndex(kl.bind(null,e[t-2])):o}),a=Y(()=>i.value>-1&&Gu(n.params,r.value.params)),o=Y(()=>i.value>-1&&i.value===n.matched.length-1&&Al(n.params,r.value.params));function s(n={}){if(Wu(n)){let n=t[I(e.replace)?`replace`:`push`](I(e.to)).catch($c);return e.viewTransition&&typeof document<`u`&&`startViewTransition`in document&&document.startViewTransition(()=>n),n}return Promise.resolve()}return{route:r,href:Y(()=>r.value.href),isActive:a,isExactActive:o,navigate:s}}function Hu(e){return e.length===1?e[0]:e}var Uu=V({name:`RouterLink`,compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:`page`},viewTransition:Boolean},useLink:Vu,setup(e,{slots:t}){let n=Jt(Vu(e)),{options:r}=z(iu),i=Y(()=>({[qu(e.activeClass,r.linkActiveClass,`router-link-active`)]:n.isActive,[qu(e.exactActiveClass,r.linkExactActiveClass,`router-link-exact-active`)]:n.isExactActive}));return()=>{let r=t.default&&Hu(t.default(n));return e.custom?r:Eo(`a`,{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:i.value},r)}}});function Wu(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){let t=e.currentTarget.getAttribute(`target`);if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function Gu(e,t){for(let n in t){let r=t[n],i=e[n];if(typeof r==`string`){if(r!==i)return!1}else if(!el(i)||i.length!==r.length||r.some((e,t)=>e.valueOf()!==i[t].valueOf()))return!1}return!0}function Ku(e){return e?e.aliasOf?e.aliasOf.path:e.path:``}var qu=(e,t,n)=>e??t??n,Ju=V({name:`RouterView`,inheritAttrs:!1,props:{name:{type:String,default:`default`},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){let r=z(ou),i=Y(()=>e.route||r.value),a=z(ru,0),o=Y(()=>{let e=I(a),{matched:t}=i.value,n;for(;(n=t[e])&&!n.components;)e++;return e}),s=Y(()=>i.value.matched[o.value]);$n(ru,Y(()=>o.value+1)),$n(nu,s),$n(ou,i);let c=F();return B(()=>[c.value,s.value,e.name],([e,t,n],[r,i,a])=>{t&&(t.instances[n]=e,i&&i!==t&&e&&e===r&&(t.leaveGuards.size||(t.leaveGuards=i.leaveGuards),t.updateGuards.size||(t.updateGuards=i.updateGuards))),e&&t&&(!i||!kl(t,i)||!r)&&(t.enterCallbacks[n]||[]).forEach(t=>t(e))},{flush:`post`}),()=>{let r=i.value,a=e.name,o=s.value,l=o&&o.components[a];if(!l)return Yu(n.default,{Component:l,route:r});let u=o.props[a],d=Eo(l,Zc({},u?u===!0?r.params:typeof u==`function`?u(r):u:null,t,{onVnodeUnmounted:e=>{e.component.isUnmounted&&(o.instances[a]=null)},ref:c}));return Yu(n.default,{Component:d,route:r})||d}}});function Yu(e,t){if(!e)return null;let n=e(t);return n.length===1?n[0]:n}var Xu=Ju;function Zu(e){let t=Mu(e.routes,e),n=e.parseQuery||$l,r=e.stringifyQuery||eu,i=e.history,a=su(),o=su(),s=su(),c=ln(Pl),l=Pl;Jc&&e.scrollBehavior&&`scrollRestoration`in history&&(history.scrollRestoration=`manual`);let u=Qc.bind(null,e=>``+e),d=Qc.bind(null,xl),f=Qc.bind(null,Sl);function p(e,n){let r,i;return Jl(e)?(r=t.getRecordMatcher(e),i=n):i=e,t.addRoute(i,r)}function m(e){let n=t.getRecordMatcher(e);n&&t.removeRoute(n)}function h(){return t.getRoutes().map(e=>e.record)}function g(e){return!!t.getRecordMatcher(e)}function _(e,a){if(a=Zc({},a||c.value),typeof e==`string`){let r=Tl(n,e,a.path),o=t.resolve({path:r.path},a),s=i.createHref(r.fullPath);return Zc(r,o,{params:f(o.params),hash:Sl(r.hash),redirectedFrom:void 0,href:s})}let o;if(e.path!=null)o=Zc({},e,{path:Tl(n,e.path,a.path).path});else{let t=Zc({},e.params);for(let e in t)t[e]??delete t[e];o=Zc({},e,{params:d(t)}),a.params=d(a.params)}let s=t.resolve(o,a),l=e.hash||``;s.params=u(f(s.params));let p=El(r,Zc({},e,{hash:_l(l),path:s.path})),m=i.createHref(p);return Zc({fullPath:p,hash:l,query:r===eu?tu(e.query):e.query||{}},s,{redirectedFrom:void 0,href:m})}function v(e){return typeof e==`string`?Tl(n,e,c.value.path):Zc({},e)}function y(e,t){if(l!==e)return Zl(Yl.NAVIGATION_CANCELLED,{from:t,to:e})}function b(e){return C(e)}function x(e){return b(Zc(v(e),{replace:!0}))}function S(e,t){let n=e.matched[e.matched.length-1];if(n&&n.redirect){let{redirect:r}=n,i=typeof r==`function`?r(e,t):r;return typeof i==`string`&&(i=i.includes(`?`)||i.includes(`#`)?i=v(i):{path:i},i.params={}),Zc({query:e.query,hash:e.hash,params:i.path==null?e.params:{}},i)}}function C(e,t){let n=l=_(e),i=c.value,a=e.state,o=e.force,s=e.replace===!0,u=S(n,i);if(u)return C(Zc(v(u),{state:typeof u==`object`?Zc({},a,u.state):a,force:o,replace:s}),t||n);let d=n;d.redirectedFrom=t;let f;return!o&&Ol(r,i,n)&&(f=Zl(Yl.NAVIGATION_DUPLICATED,{to:d,from:i}),ae(i,i,!0,!1)),(f?Promise.resolve(f):E(d,i)).catch(e=>Ql(e)?Ql(e,Yl.NAVIGATION_GUARD_REDIRECT)?e:ie(e):ne(e,d,i)).then(e=>{if(e){if(Ql(e,Yl.NAVIGATION_GUARD_REDIRECT))return C(Zc({replace:s},v(e.to),{state:typeof e.to==`object`?Zc({},a,e.to.state):a,force:o}),t||d)}else e=O(d,i,!0,s,a);return D(d,i,e),e})}function w(e,t){let n=y(e,t);return n?Promise.reject(n):Promise.resolve()}function T(e){let t=ce.values().next().value;return t&&typeof t.runWithContext==`function`?t.runWithContext(e):e()}function E(e,t){let n,[r,i,s]=uu(e,t);n=lu(r.reverse(),`beforeRouteLeave`,e,t);for(let i of r)i.leaveGuards.forEach(r=>{n.push(cu(r,e,t))});let c=w.bind(null,e,t);return n.push(c),ue(n).then(()=>{n=[];for(let r of a.list())n.push(cu(r,e,t));return n.push(c),ue(n)}).then(()=>{n=lu(i,`beforeRouteUpdate`,e,t);for(let r of i)r.updateGuards.forEach(r=>{n.push(cu(r,e,t))});return n.push(c),ue(n)}).then(()=>{n=[];for(let r of s)if(r.beforeEnter)if(el(r.beforeEnter))for(let i of r.beforeEnter)n.push(cu(i,e,t));else n.push(cu(r.beforeEnter,e,t));return n.push(c),ue(n)}).then(()=>(e.matched.forEach(e=>e.enterCallbacks={}),n=lu(s,`beforeRouteEnter`,e,t,T),n.push(c),ue(n))).then(()=>{n=[];for(let r of o.list())n.push(cu(r,e,t));return n.push(c),ue(n)}).catch(e=>Ql(e,Yl.NAVIGATION_CANCELLED)?e:Promise.reject(e))}function D(e,t,n){s.list().forEach(r=>T(()=>r(e,t,n)))}function O(e,t,n,r,a){let o=y(e,t);if(o)return o;let s=t===Pl,l=Jc?history.state:{};n&&(r||s?i.replace(e.fullPath,Zc({scroll:s&&l&&l.scroll},a)):i.push(e.fullPath,a)),c.value=e,ae(e,t,n,s),ie()}let k;function A(){k||=i.listen((e,t,n)=>{if(!le.listening)return;let r=_(e),a=S(r,le.currentRoute.value);if(a){C(Zc(a,{replace:!0,force:!0}),r).catch($c);return}l=r;let o=c.value;Jc&&Gl(Ul(o.fullPath,n.delta),Vl()),E(r,o).catch(e=>Ql(e,Yl.NAVIGATION_ABORTED|Yl.NAVIGATION_CANCELLED)?e:Ql(e,Yl.NAVIGATION_GUARD_REDIRECT)?(C(Zc(v(e.to),{force:!0}),r).then(e=>{Ql(e,Yl.NAVIGATION_ABORTED|Yl.NAVIGATION_DUPLICATED)&&!n.delta&&n.type===Fl.pop&&i.go(-1,!1)}).catch($c),Promise.reject()):(n.delta&&i.go(-n.delta,!1),ne(e,r,o))).then(e=>{e||=O(r,o,!1),e&&(n.delta&&!Ql(e,Yl.NAVIGATION_CANCELLED)?i.go(-n.delta,!1):n.type===Fl.pop&&Ql(e,Yl.NAVIGATION_ABORTED|Yl.NAVIGATION_DUPLICATED)&&i.go(-1,!1)),D(r,o,e)}).catch($c)})}let ee=su(),j=su(),te;function ne(e,t,n){ie(e);let r=j.list();return r.length?r.forEach(r=>r(e,t,n)):console.error(e),Promise.reject(e)}function re(){return te&&c.value!==Pl?Promise.resolve():new Promise((e,t)=>{ee.add([e,t])})}function ie(e){return te||(te=!e,A(),ee.list().forEach(([t,n])=>e?n(e):t()),ee.reset()),e}function ae(t,n,r,i){let{scrollBehavior:a}=e;if(!Jc||!a)return Promise.resolve();let o=!r&&Kl(Ul(t.fullPath,0))||(i||!r)&&history.state&&history.state.scroll||null;return L().then(()=>a(t,n,o)).then(e=>e&&Hl(e)).catch(e=>ne(e,t,n))}let oe=e=>i.go(e),se,ce=new Set,le={currentRoute:c,listening:!0,addRoute:p,removeRoute:m,clearRoutes:t.clearRoutes,hasRoute:g,getRoutes:h,resolve:_,options:e,push:b,replace:x,go:oe,back:()=>oe(-1),forward:()=>oe(1),beforeEach:a.add,beforeResolve:o.add,afterEach:s.add,onError:j.add,isReady:re,install(e){e.component(`RouterLink`,Uu),e.component(`RouterView`,Xu),e.config.globalProperties.$router=le,Object.defineProperty(e.config.globalProperties,"$route",{enumerable:!0,get:()=>I(c)}),Jc&&!se&&c.value===Pl&&(se=!0,b(i.location).catch(e=>{}));let t={};for(let e in Pl)Object.defineProperty(t,e,{get:()=>c.value[e],enumerable:!0});e.provide(iu,le),e.provide(au,Yt(t)),e.provide(ou,c);let n=e.unmount;ce.add(e),e.unmount=function(){ce.delete(e),ce.size<1&&(l=Pl,k&&k(),k=null,c.value=Pl,se=!1,te=!1),n()}}};function ue(e){return e.reduce((e,t)=>e.then(()=>T(t)),Promise.resolve())}return le}function Qu(){return z(iu)}function $u(e){return z(au)}var ed=qc(`app`,()=>{let e=F(null),t=F(null),n=F(!1),r=F([]),i=F(!1);function a(e){let t=r.value.findIndex(t=>t.id===e);t>-1&&r.value.splice(t,1)}return{user:e,token:t,loading:n,notifications:r,initialized:i,dismissNotification:a}}),td=`modulepreload`,nd=function(e){return`/static/`+e},rd={},id=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e=document.getElementsByTagName(`link`),i=document.querySelector(`meta[property=csp-nonce]`),a=i?.nonce||i?.getAttribute(`nonce`);function o(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}r=o(t.map(t=>{if(t=nd(t,n),t in rd)return;rd[t]=!0;let r=t.endsWith(`.css`),i=r?`[rel="stylesheet"]`:``;if(n)for(let n=e.length-1;n>=0;n--){let i=e[n];if(i.href===t&&(!r||i.rel===`stylesheet`))return}else if(document.querySelector(`link[href="${t}"]${i}`))return;let o=document.createElement(`link`);if(o.rel=r?`stylesheet`:td,r||(o.as=`script`),o.crossOrigin=``,o.href=t,a&&o.setAttribute(`nonce`,a),document.head.appendChild(o),r)return new Promise((e,n)=>{o.addEventListener(`load`,e),o.addEventListener(`error`,()=>n(Error(`Unable to preload CSS for ${t}`)))})}))}function i(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(let e of t||[])e.status===`rejected`&&i(e.reason);return e().catch(i)})},ad=Zu({history:gu(),routes:[{path:`/`,component:()=>id(()=>import(`./HomeView-D5QgCeau.js`),__vite__mapDeps([0,1]))},{path:`/login`,component:()=>id(()=>import(`./LoginView-DsNPOtT0.js`),__vite__mapDeps([2,3]))},{path:`/users`,component:()=>id(()=>import(`./UsersView-FmP8hKPZ.js`),__vite__mapDeps([4,5]))},{path:`/moldinsight`,component:()=>id(()=>import(`./MoldInsightView-C9d1FJEi.js`),__vite__mapDeps([6,5]))},{path:`/moldinsight/result/:taskId`,component:()=>id(()=>import(`./ResultView-CuXmgqk1.js`),__vite__mapDeps([7,5]))},{path:`/inventory`,component:()=>id(()=>import(`./InventoryView-CdgAif-b.js`),__vite__mapDeps([8,5,9]))},{path:`/_design-system`,component:()=>id(()=>import(`./DesignSystemView-B6f7U1Zd.js`),[])},{path:`/_release`,component:()=>id(()=>import(`./ReleaseView-mk9si7Bn.js`),[])}]});ad.beforeEach((e,t,n)=>{let r=![`/login`,`/_design-system`,`/_release`].includes(e.path),i=ed();if(r&&!i.user)return n(`/login`);if(e.path===`/login`&&i.user)return n(`/`);n()});async function od(e){try{if((e.headers.get(`content-type`)||``).includes(`application/json`)){let t=await e.json().catch(()=>null);if(t?.detail){if(Array.isArray(t.detail)){let e=t.detail.map(e=>{let t=Array.isArray(e?.loc)?e.loc.join(`.`):``,n=e?.msg?String(e.msg):`校验失败`;return t?`${t}: ${n}`:n}).filter(Boolean);return e.length?e.join(` `):`请求校验失败`}return typeof t.detail==`object`?JSON.stringify(t.detail):String(t.detail)}return t?.message?String(t.message):`请求失败`}let t=(await e.text().catch(()=>``)||``).trim();return t?t.length>200?t.slice(0,200)+`...`:t:`请求失败`}catch{return`请求失败`}}async function sd(e,t={}){let n=ed(),r={"Content-Type":`application/json`,...t.headers||{}};n.token&&(r.Authorization=`Bearer ${n.token}`);let i=await fetch(e,{...t,headers:r});if(i.status===401){let t=e.includes(`/api/auth/login`);t||(n.user=null,n.token=null,localStorage.removeItem(`token`),localStorage.removeItem(`user`));let r=await od(i);throw Error(t?r:`登录已过期,请重新登录`)}if(!i.ok){let e=await od(i);throw Error(e)}return i.json()}function cd(e,t){let n=ed();n.token=e,n.user=t,localStorage.setItem(`token`,e),localStorage.setItem(`user`,JSON.stringify(t))}function ld(){let e=ed();e.token=null,e.user=null,localStorage.removeItem(`token`),localStorage.removeItem(`user`)}function ud(){let e=ed(),t=localStorage.getItem(`token`),n=localStorage.getItem(`user`);if(t&&n)try{e.token=t,e.user=JSON.parse(n)}catch{ld()}e.initialized=!0}var dd=0,fd=new Map;function pd(e,t=`info`){let n=`${t}:${e}`,r=Date.now();if(r-(fd.get(n)||0)<2500)return;fd.set(n,r);let i=ed(),a=++dd,o={id:a,message:e,type:t,timestamp:new Date,visible:!0};i.notifications.push(o),setTimeout(()=>{let e=i.notifications.find(e=>e.id===a);e&&(e.visible=!1,setTimeout(()=>{i.dismissNotification(a)},300))},5e3)}function md(e,t=``){console.error(`API错误 [${t}]:`,e);let n=e instanceof Error?e.message:`请求失败,请稍后重试`;return pd(n,`error`),n}var hd={class:`app-container`},gd={key:0,class:`notification-container`},_d={class:`notification-icon`},vd={class:`notification-content`},yd={class:`notification-message`},bd=[`onClick`],xd={class:`app-header`},Sd={class:`header-content`},Cd={key:0,class:`nav-menu`},wd={class:`user-section`},Td={class:`user-info`},Ed={class:`user-avatar`},Dd={class:`user-name`},Od={class:`main-content`},kd=V({__name:`App`,setup(e){let t=$u(),n=Qu(),r=ed(),i=Y(()=>{let e=[{path:`/`,label:`首页`,icon:`⌂`},{path:`/inventory`,label:`进销存`,icon:`⊞`},{path:`/moldinsight`,label:`MoldInsight`,icon:`◈`}];return r.user?.is_superuser&&e.push({path:`/users`,label:`用户管理`,icon:`👤`}),e}),a=e=>e===`/`?t.path===`/`:t.path.startsWith(e),o=async()=>{try{await sd(`/api/auth/logout`,{method:`POST`})}catch{}ld(),pd(`已退出登录`,`success`),n.push(`/login`)},s=e=>{let t=r.notifications.find(t=>t.id===e);t&&(t.visible=!1,setTimeout(()=>{r.dismissNotification(e)},300))};return Xr(()=>{ud()}),(e,t)=>{let c=si(`router-link`),l=si(`router-view`);return U(),W(`div`,hd,[I(r).notifications.length>0?(U(),W(`div`,gd,[q(Rs,{name:`notification`},{default:R(()=>[(U(!0),W(Na,null,pi(I(r).notifications,e=>(U(),W(`div`,{key:e.id,class:N([`notification`,`notification-`+e.type])},[K(`div`,_d,P(e.type===`success`?`✓`:e.type===`error`?`✕`:e.type===`warning`?`!`:`i`),1),K(`div`,vd,[K(`div`,yd,P(e.message),1)]),K(`button`,{class:`notification-close`,onClick:t=>s(e.id)},`×`,8,bd)],2))),128))]),_:1})])):J(``,!0),K(`header`,xd,[K(`div`,Sd,[K(`div`,{class:`logo`,onClick:t[0]||=e=>I(n).push(`/`)},[...t[1]||=[K(`div`,{class:`logo-icon`},`G`,-1),K(`div`,null,[K(`div`,{class:`logo-text`},`Gemold`),K(`div`,{class:`logo-subtitle`},`模具制造管理系统`)],-1)]]),I(r).user?(U(),W(`nav`,Cd,[(U(!0),W(Na,null,pi(i.value,e=>(U(),G(c,{key:e.path,to:e.path,class:N([`nav-item`,{active:a(e.path)}])},{default:R(()=>[Xa(P(e.label),1)]),_:2},1032,[`to`,`class`]))),128))])):J(``,!0),K(`div`,wd,[I(r).user?(U(),W(Na,{key:0},[K(`div`,Td,[K(`div`,Ed,P((I(r).user.full_name||I(r).user.username).charAt(0).toUpperCase()),1),K(`span`,Dd,P(I(r).user.full_name||I(r).user.username),1)]),K(`button`,{class:`btn btn-secondary`,onClick:o},`退出`)],64)):(U(),G(c,{key:1,to:`/login`,class:`btn btn-primary`},{default:R(()=>[...t[2]||=[Xa(`登录`,-1)]]),_:1}))])])]),K(`main`,Od,[q(l,null,{default:R(({Component:e})=>[q(Ho,{name:`fade`,mode:`out-in`},{default:R(()=>[(U(),G(li(e)))]),_:2},1024)]),_:1})]),t[3]||=K(`footer`,{class:`app-footer`},[K(`div`,{class:`footer-content`},[K(`a`,{href:`https://beian.miit.gov.cn/`,target:`_blank`,class:`beian-link`},`粤ICP备2025386132号-1`)])],-1)])}}}),Ad=(e,t)=>{let n=e.__vccOpts||e;for(let[e,r]of t)n[e]=r;return n},jd=Ad(kd,[[`__scopeId`,`data-v-a57abb39`]]),X={tab:`Tab`,enter:`Enter`,space:`Space`,left:`ArrowLeft`,up:`ArrowUp`,right:`ArrowRight`,down:`ArrowDown`,esc:`Escape`,delete:`Delete`,backspace:`Backspace`,numpadEnter:`NumpadEnter`,pageUp:`PageUp`,pageDown:`PageDown`,home:`Home`,end:`End`},Md=[`year`,`years`,`month`,`months`,`date`,`dates`,`week`,`datetime`,`datetimerange`,`daterange`,`monthrange`,`yearrange`],Nd=[`sun`,`mon`,`tue`,`wed`,`thu`,`fri`,`sat`],Pd=`update:modelValue`,Fd=`change`,Id=`input`,Ld=Symbol(`INSTALLED_KEY`),Rd=[``,`default`,`small`,`large`],zd=[`left`,`center`,`right`],Bd=typeof global==`object`&&global&&global.Object===Object&&global,Vd=typeof self==`object`&&self&&self.Object===Object&&self,Hd=Bd||Vd||Function(`return this`)(),Ud=Hd.Symbol,Wd=Object.prototype,Gd=Wd.hasOwnProperty,Kd=Wd.toString,qd=Ud?Ud.toStringTag:void 0;function Jd(e){var t=Gd.call(e,qd),n=e[qd];try{e[qd]=void 0;var r=!0}catch{}var i=Kd.call(e);return r&&(t?e[qd]=n:delete e[qd]),i}var Yd=Object.prototype.toString;function Xd(e){return Yd.call(e)}var Zd=`[object Null]`,Qd=`[object Undefined]`,$d=Ud?Ud.toStringTag:void 0;function ef(e){return e==null?e===void 0?Qd:Zd:$d&&$d in Object(e)?Jd(e):Xd(e)}function tf(e){return typeof e==`object`&&!!e}var nf=`[object Symbol]`;function rf(e){return typeof e==`symbol`||tf(e)&&ef(e)==nf}function af(e,t){for(var n=-1,r=e==null?0:e.length,i=Array(r);++n0){if(++t>=$f)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}function rp(e){return function(){return e}}var ip=function(){try{var e=Kf(Object,`defineProperty`);return e({},``,{}),e}catch{}}(),ap=np(ip?function(e,t){return ip(e,`toString`,{configurable:!0,enumerable:!1,value:rp(t),writable:!0})}:Ef);function op(e,t){for(var n=-1,r=e==null?0:e.length;++n-1}var fp=9007199254740991,pp=/^(?:0|[1-9]\d*)$/;function mp(e,t){var n=typeof e;return t??=fp,!!t&&(n==`number`||n!=`symbol`&&pp.test(e))&&e>-1&&e%1==0&&e-1&&e%1==0&&e<=Cp}function Tp(e){return e!=null&&wp(e.length)&&!jf(e)}function Ep(e,t,n){if(!hf(n))return!1;var r=typeof t;return(r==`number`?Tp(n)&&mp(t,n.length):r==`string`&&t in n)?gp(n[t],e):!1}function Dp(e){return Sp(function(t,n){var r=-1,i=n.length,a=i>1?n[i-1]:void 0,o=i>2?n[2]:void 0;for(a=e.length>3&&typeof a==`function`?(i--,a):void 0,o&&Ep(n[0],n[1],o)&&(a=i<3?void 0:a,i=1),t=Object(t);++r-1}function Qm(e,t){var n=this.__data__,r=qm(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this}function $m(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t0&&n(s)?t>1?Th(s,t-1,n,r,i):Sh(i,s):r||(i[i.length]=s)}return i}function Eh(e){return e!=null&&e.length?Th(e,1):[]}function Dh(e){return ap(xp(e,void 0,Eh),e+``)}var Oh=Cm(Object.getPrototypeOf,Object),kh=`[object Object]`,Ah=Function.prototype,jh=Object.prototype,Mh=Ah.toString,Nh=jh.hasOwnProperty,Ph=Mh.call(Object);function Fh(e){if(!tf(e)||ef(e)!=kh)return!1;var t=Oh(e);if(t===null)return!0;var n=Nh.call(t,`constructor`)&&t.constructor;return typeof n==`function`&&n instanceof n&&Mh.call(n)==Ph}function Ih(e,t,n){var r=-1,i=e.length;t<0&&(t=-t>i?0:i+t),n=n>i?i:n,n<0&&(n+=i),i=t>n?0:n-t>>>0,t>>>=0;for(var a=Array(i);++r=t?e:t)),e}function zh(e,t,n){return n===void 0&&(n=t,t=void 0),n!==void 0&&(n=xf(n),n=n===n?n:0),t!==void 0&&(t=xf(t),t=t===t?t:0),Rh(xf(e),t,n)}function Bh(){this.__data__=new $m,this.size=0}function Vh(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n}function Hh(e){return this.__data__.get(e)}function Uh(e){return this.__data__.has(e)}var Wh=200;function Gh(e,t){var n=this.__data__;if(n instanceof $m){var r=n.__data__;if(!eh||r.lengths))return!1;var l=a.get(e),u=a.get(t);if(l&&u)return l==t&&u==e;var d=-1,f=!0,p=n&ev?new X_:void 0;for(a.set(e,t),a.set(t,e);++d=t||n<0||d&&r>=a}function _(){var e=Qv();if(g(e))return v(e);s=setTimeout(_,h(e))}function v(e){return s=void 0,f&&r?p(e):(r=i=void 0,o)}function y(){s!==void 0&&clearTimeout(s),l=0,r=c=i=s=void 0}function b(){return s===void 0?o:v(Qv())}function x(){var e=Qv(),n=g(e);if(r=arguments,i=this,c=e,n){if(s===void 0)return m(c);if(d)return clearTimeout(s),s=setTimeout(_,t),p(c)}return s===void 0&&(s=setTimeout(_,t)),o}return x.cancel=y,x.flush=b,x}function ry(e,t,n){(n!==void 0&&!gp(e[t],n)||n===void 0&&!(t in e))&&hp(e,t,n)}function iy(e){return tf(e)&&Tp(e)}function ay(e,t){if(!(t===`constructor`&&typeof e[t]==`function`)&&t!=`__proto__`)return e[t]}function oy(e){return yp(e,jm(e))}function sy(e,t,n,r,i,a,o){var s=ay(e,n),c=ay(t,n),l=o.get(c);if(l){ry(e,n,l);return}var u=a?a(s,c,n+``,e,t,o):void 0,d=u===void 0;if(d){var f=of(c),p=!f&&Vp(c),m=!f&&!p&&bm(c);u=c,f||p||m?of(s)?u=s:iy(s)?u=Qf(s):p?(d=!1,u=$h(c,!0)):m?(d=!1,u=Lg(c,!0)):u=[]:Fh(c)||Ip(c)?(u=s,Ip(s)?u=oy(s):(!hf(s)||jf(s))&&(u=i_(c))):d=!1}d&&(o.set(c,u),i(u,c,r,a,o),o.delete(c)),ry(e,n,u)}function cy(e,t,n,r,i){e!==t&&Jv(t,function(a,o){if(i||=new Kh,hf(a))sy(e,t,o,n,cy,r,i);else{var s=r?r(ay(e,o),a,o+``,e,t,i):void 0;s===void 0&&(s=a),ry(e,o,s)}},jm)}function ly(e,t,n){for(var r=-1,i=e==null?0:e.length;++r1,t}),yp(e,ug(e),n),r&&(n=U_(n,ky|Ay|jy,Oy));for(var i=t.length;i--;)Dy(n,t[i]);return n});function Ny(e,t,n,r){if(!hf(e))return e;t=_h(t,e);for(var i=-1,a=t.length,o=a-1,s=e;s!=null&&++i=Vy){var l=t?null:By(e);if(l)return rv(l);o=!1,i=Q_,c=new X_}else c=t?[]:s;outer:for(;++re===void 0,Gy=e=>typeof e==`boolean`,Ky=e=>typeof e==`number`,qy=e=>!e&&e!==0||b(e)&&e.length===0||D(e)&&!Object.keys(e).length,Jy=e=>typeof Element>`u`?!1:e instanceof Element,Yy=e=>Sy(e),Xy=e=>T(e)?!Number.isNaN(Number(e)):!1,Zy=e=>e===window,Qy=e=>Object.keys(e),$y=e=>Object.entries(e),eb=(e,t,n)=>({get value(){return xh(e,t,n)},set value(n){Ly(e,t,n)}}),tb=`__epPropKey`,Z=e=>e,nb=e=>D(e)&&!!e.__epPropKey,rb=(e,t)=>{if(!D(e)||nb(e))return e;let{values:n,required:r,default:i,type:a,validator:o}=e,s={type:a,required:!!r,validator:n||o?r=>{let a=!1,s=[];if(n&&(s=Array.from(n),y(e,`default`)&&s.push(i),a||=s.includes(r)),o&&(a||=o(r)),!a&&s.length>0){let e=[...new Set(s)].map(e=>JSON.stringify(e)).join(`, `);Oo(`Invalid prop: validation failed${t?` for prop "${t}"`:``}. Expected one of [${e}], got value ${JSON.stringify(r)}.`)}return a}:void 0,[tb]:!0};return y(e,`default`)&&(s.default=i),s},Q=e=>yy(Object.entries(e).map(([e,t])=>[e,rb(t,e)])),ib=Q({zIndex:{type:Z([Number,String]),default:100},target:{type:String,default:``},offset:{type:Number,default:0},position:{type:String,values:[`top`,`bottom`],default:`top`},teleported:Boolean,appendTo:{type:Z([String,Object]),default:`body`}}),ab={scroll:({scrollTop:e,fixed:t})=>Ky(e)&&Gy(t),[Fd]:e=>Gy(e)},ob=class extends Error{constructor(e){super(e),this.name=`ElementPlusError`}};function sb(e,t){throw new ob(`[${e}] ${t}`)}function cb(e,t){{let n=T(e)?new ob(`[${e}] ${t}`):e;console.warn(n)}}var lb=[`class`,`style`],ub=/^on[A-Z]/,db=(e={})=>{let{excludeListeners:t=!1,excludeKeys:n}=e,r=Y(()=>(n?.value||[]).concat(lb)),i=so();return i?Y(()=>yy(Object.entries(i.proxy?.$attrs).filter(([e])=>!r.value.includes(e)&&!(t&&ub.test(e))))):(cb(`use-attrs`,`getCurrentInstance() returned null. useAttrs() must be called at the top of a setup function`),Y(()=>({})))};function fb(e,t){let n=ln();return rr(()=>{n.value=e()},{...t,flush:t?.flush??`sync`}),Xt(n)}function pb(e,t){return Pe()?(Fe(e,t),!0):!1}var mb=new WeakMap,hb=(...e)=>{let t=e[0],n=so()?.proxy??Pe();if(n==null&&!er())throw Error(`injectLocal must be called in setup`);return n&&mb.has(n)&&t in mb.get(n)?mb.get(n)[t]:z(...e)},gb=typeof window<`u`&&typeof document<`u`;typeof WorkerGlobalScope<`u`&&globalThis instanceof WorkerGlobalScope;var _b=e=>e!==void 0,vb=e=>e!=null,yb=Object.prototype.toString,bb=e=>yb.call(e)===`[object Object]`,xb=(e,t,n)=>Math.min(n,Math.max(t,e)),Sb=()=>{},Cb=wb();function wb(){var e,t;return gb&&!!(!((e=window)==null||(e=e.navigator)==null)&&e.userAgent)&&(/iP(?:ad|hone|od)/.test(window.navigator.userAgent)||((t=window)==null||(t=t.navigator)==null?void 0:t.maxTouchPoints)>2&&/iPad|Macintosh/.test(window?.navigator.userAgent))}function Tb(e,t){function n(...n){return new Promise((r,i)=>{Promise.resolve(e(()=>t.apply(this,n),{fn:t,thisArg:this,args:n})).then(r).catch(i)})}return n}function Eb(e,t={}){let n,r,i=Sb,a=e=>{clearTimeout(e),i(),i=Sb},o;return s=>{let c=pn(e),l=pn(t.maxWait);return n&&a(n),c<=0||l!==void 0&&l<=0?(r&&=(a(r),void 0),Promise.resolve(s())):new Promise((e,u)=>{i=t.rejectOnCancel?u:e,o=s,l&&!r&&(r=setTimeout(()=>{n&&a(n),r=void 0,e(o())},l)),n=setTimeout(()=>{r&&a(r),r=void 0,e(s())},c)})}}function Db(...e){let t=0,n,r=!0,i=Sb,a,o,s,c,l;!cn(e[0])&&typeof e[0]==`object`?{delay:o,trailing:s=!0,leading:c=!0,rejectOnCancel:l=!1}=e[0]:[o,s=!0,c=!0,l=!1]=e;let u=()=>{n&&(clearTimeout(n),n=void 0,i(),i=Sb)};return e=>{let d=pn(o),f=Date.now()-t,p=()=>a=e();return u(),d<=0?(t=Date.now(),p()):(f>d?(t=Date.now(),(c||!r)&&p()):s&&(a=new Promise((e,a)=>{i=l?a:e,n=setTimeout(()=>{t=Date.now(),r=!0,e(p()),u()},Math.max(0,d-f))})),!c&&!n&&(n=setTimeout(()=>r=!0,d)),r=!1,a)}}function Ob(e){return e.endsWith(`rem`)?Number.parseFloat(e)*16:Number.parseFloat(e)}function kb(e){return Array.isArray(e)?e:[e]}function Ab(e){return e||so()}function jb(e){return Jt(cn(e)?new Proxy({},{get(t,n,r){return I(Reflect.get(e.value,n,r))},set(t,n,r){return cn(e.value[n])&&!cn(r)?e.value[n].value=r:e.value[n]=r,!0},deleteProperty(t,n){return Reflect.deleteProperty(e.value,n)},has(t,n){return Reflect.has(e.value,n)},ownKeys(){return Object.keys(e.value)},getOwnPropertyDescriptor(){return{enumerable:!0,configurable:!0}}}):e)}function Mb(e){return jb(Y(e))}function Nb(e,t=200,n={}){return Tb(Eb(t,n),e)}function Pb(e,t=200,n={}){let r=F(pn(e)),i=Nb(()=>{r.value=e.value},t,n);return B(e,()=>i()),Zt(r)}function Fb(e,t=200,n=!1,r=!0,i=!1){return Tb(Db(t,n,r,i),e)}function Ib(e,t=!0,n){Ab(n)?Xr(e,n):t?e():L(e)}function Lb(e,t,n={}){let{immediate:r=!0,immediateCallback:i=!1}=n,a=ln(!1),o;function s(){o&&=(clearTimeout(o),void 0)}function c(){a.value=!1,s()}function l(...n){i&&e(),s(),a.value=!0,o=setTimeout(()=>{a.value=!1,o=void 0,e(...n)},pn(t))}return r&&(a.value=!0,gb&&l()),pb(c),{isPending:Zt(a),start:l,stop:c}}function Rb(e,t,n){return B(e,t,{...n,immediate:!0})}var zb=gb?window:void 0,Bb=gb?window.document:void 0;gb&&window.navigator,gb&&window.location;function Vb(e){let t=pn(e);return t?.$el??t}function Hb(...e){let t=(e,t,n,r)=>(e.addEventListener(t,n,r),()=>e.removeEventListener(t,n,r)),n=Y(()=>{let t=kb(pn(e[0])).filter(e=>e!=null);return t.every(e=>typeof e!=`string`)?t:void 0});return Rb(()=>[n.value?.map(e=>Vb(e))??[zb].filter(e=>e!=null),kb(pn(n.value?e[1]:e[0])),kb(I(n.value?e[2]:e[1])),pn(n.value?e[3]:e[2])],([e,n,r,i],a,o)=>{if(!e?.length||!n?.length||!r?.length)return;let s=bb(i)?{...i}:i,c=e.flatMap(e=>n.flatMap(n=>r.map(r=>t(e,n,r,s))));o(()=>{c.forEach(e=>e())})},{flush:`post`})}var Ub=!1;function Wb(e,t,n={}){let{window:r=zb,ignore:i=[],capture:a=!0,detectIframe:o=!1,controls:s=!1}=n;if(!r)return s?{stop:Sb,cancel:Sb,trigger:Sb}:Sb;if(Cb&&!Ub){Ub=!0;let e={passive:!0};Array.from(r.document.body.children).forEach(t=>t.addEventListener(`click`,Sb,e)),r.document.documentElement.addEventListener(`click`,Sb,e)}let c=!0,l=e=>pn(i).some(t=>{if(typeof t==`string`)return Array.from(r.document.querySelectorAll(t)).some(t=>t===e.target||e.composedPath().includes(t));{let n=Vb(t);return n&&(e.target===n||e.composedPath().includes(n))}});function u(e){let t=pn(e);return t&&t.$.subTree.shapeFlag===16}function d(e,t){let n=pn(e),r=n.$.subTree&&n.$.subTree.children;return r==null||!Array.isArray(r)?!1:r.some(e=>e.el===t.target||t.composedPath().includes(e.el))}let f=n=>{let r=Vb(e);if(n.target!=null&&!(!(r instanceof Element)&&u(e)&&d(e,n))&&!(!r||r===n.target||n.composedPath().includes(r))){if(`detail`in n&&n.detail===0&&(c=!l(n)),!c){c=!0;return}t(n)}},p=!1,m=[Hb(r,`click`,e=>{p||(p=!0,setTimeout(()=>{p=!1},0),f(e))},{passive:!0,capture:a}),Hb(r,`pointerdown`,t=>{let n=Vb(e);c=!l(t)&&!!(n&&!t.composedPath().includes(n))},{passive:!0}),o&&Hb(r,`blur`,n=>{setTimeout(()=>{let i=Vb(e),a=r.document.activeElement;for(;a?.shadowRoot;)a=a.shadowRoot.activeElement;a?.tagName===`IFRAME`&&!i?.contains(r.document.activeElement)&&t(n)},0)},{passive:!0})].filter(Boolean),h=()=>m.forEach(e=>e());return s?{stop:h,cancel:()=>{c=!1},trigger:e=>{c=!0,f(e),c=!1}}:h}function Gb(){let e=ln(!1),t=so();return t&&Xr(()=>{e.value=!0},t),e}function Kb(e){let t=Gb();return Y(()=>(t.value,!!e()))}function qb(e,t,n={}){let{window:r=zb,...i}=n,a,o=Kb(()=>r&&`MutationObserver`in r),s=()=>{a&&=(a.disconnect(),void 0)},c=B(Y(()=>{let t=kb(pn(e)).map(Vb).filter(vb);return new Set(t)}),e=>{s(),o.value&&e.size&&(a=new MutationObserver(t),e.forEach(e=>a.observe(e,i)))},{immediate:!0,flush:`post`}),l=()=>a?.takeRecords(),u=()=>{c(),s()};return pb(u),{isSupported:o,stop:u,takeRecords:l}}function Jb(e,t,n={}){let{window:r=zb,document:i=r?.document,flush:a=`sync`}=n;if(!r||!i)return Sb;let o,s=e=>{o?.(),o=e},c=rr(()=>{let n=Vb(e);if(n){let{stop:e}=qb(i,e=>{e.map(e=>[...e.removedNodes]).flat().some(e=>e===n||e.contains(n))&&t(e)},{window:r,childList:!0,subtree:!0});s(e)}},{flush:a}),l=()=>{c(),s()};return pb(l),l}function Yb(e={}){let{window:t=zb,deep:n=!0,triggerOnRemoval:r=!1}=e,i=e.document??t?.document,a=()=>{let e=i?.activeElement;if(n)for(var t;e?.shadowRoot;)e=e==null||(t=e.shadowRoot)==null?void 0:t.activeElement;return e},o=ln(),s=()=>{o.value=a()};if(t){let e={capture:!0,passive:!0};Hb(t,`blur`,e=>{e.relatedTarget===null&&s()},e),Hb(t,`focus`,s,e)}return r&&Jb(o,s,{document:i}),s(),o}var Xb=Symbol(`vueuse-ssr-width`);function Zb(){let e=er()?hb(Xb,null):null;return typeof e==`number`?e:void 0}function Qb(e,t={}){let{window:n=zb,ssrWidth:r=Zb()}=t,i=Kb(()=>n&&`matchMedia`in n&&typeof n.matchMedia==`function`),a=ln(typeof r==`number`),o=ln(),s=ln(!1);return rr(()=>{if(a.value){a.value=!i.value,s.value=pn(e).split(`,`).some(e=>{let t=e.includes(`not all`),n=e.match(/\(\s*min-width:\s*(-?\d+(?:\.\d*)?[a-z]+\s*)\)/),i=e.match(/\(\s*max-width:\s*(-?\d+(?:\.\d*)?[a-z]+\s*)\)/),a=!!(n||i);return n&&a&&(a=r>=Ob(n[1])),i&&a&&(a=r<=Ob(i[1])),t?!a:a});return}i.value&&(o.value=n.matchMedia(pn(e)),s.value=o.value.matches)}),Hb(o,`change`,e=>{s.value=e.matches},{passive:!0}),Y(()=>s.value)}function $b(e){return JSON.parse(JSON.stringify(e))}function ex(e,t,n={}){let{window:r=zb,initialValue:i,observe:a=!1}=n,o=ln(i),s=Y(()=>{var e;return Vb(t)||(r==null||(e=r.document)==null?void 0:e.documentElement)});function c(){let t=pn(e),n=pn(s);n&&r&&t&&(o.value=r.getComputedStyle(n).getPropertyValue(t)?.trim()||o.value||i)}return a&&qb(s,c,{attributeFilter:[`style`,`class`],window:r}),B([s,()=>pn(e)],(e,t)=>{t[0]&&t[1]&&t[0].style.removeProperty(t[1]),c()},{immediate:!0}),B([o,s],([t,n])=>{let r=pn(e);n?.style&&r&&(t==null?n.style.removeProperty(r):n.style.setProperty(r,t))},{immediate:!0}),o}function tx(e={}){let{document:t=Bb}=e;if(!t)return ln(`visible`);let n=ln(t.visibilityState);return Hb(t,`visibilitychange`,()=>{n.value=t.visibilityState},{passive:!0}),n}function nx(e,t,n={}){let{window:r=zb,...i}=n,a,o=Kb(()=>r&&`ResizeObserver`in r),s=()=>{a&&=(a.disconnect(),void 0)},c=B(Y(()=>{let t=pn(e);return Array.isArray(t)?t.map(e=>Vb(e)):[Vb(t)]}),e=>{if(s(),o.value&&r){a=new ResizeObserver(t);for(let t of e)t&&a.observe(t,i)}},{immediate:!0,flush:`post`}),l=()=>{s(),c()};return pb(l),{isSupported:o,stop:l}}function rx(e,t={}){let{reset:n=!0,windowResize:r=!0,windowScroll:i=!0,immediate:a=!0,updateTiming:o=`sync`}=t,s=ln(0),c=ln(0),l=ln(0),u=ln(0),d=ln(0),f=ln(0),p=ln(0),m=ln(0);function h(){let t=Vb(e);if(!t){n&&(s.value=0,c.value=0,l.value=0,u.value=0,d.value=0,f.value=0,p.value=0,m.value=0);return}let r=t.getBoundingClientRect();s.value=r.height,c.value=r.bottom,l.value=r.left,u.value=r.right,d.value=r.top,f.value=r.width,p.value=r.x,m.value=r.y}function g(){o===`sync`?h():o===`next-frame`&&requestAnimationFrame(()=>h())}return nx(e,g),B(()=>Vb(e),e=>!e&&g()),qb(e,g,{attributeFilter:[`style`,`class`]}),i&&Hb(`scroll`,g,{capture:!0,passive:!0}),r&&Hb(`resize`,g,{passive:!0}),Ib(()=>{a&&g()}),{height:s,bottom:c,left:l,right:u,top:d,width:f,x:p,y:m,update:g}}function ix(e,t={width:0,height:0},n={}){let{window:r=zb,box:i=`content-box`}=n,a=Y(()=>{var t;return(t=Vb(e))==null||(t=t.namespaceURI)==null?void 0:t.includes(`svg`)}),o=ln(t.width),s=ln(t.height),{stop:c}=nx(e,([t])=>{let n=i===`border-box`?t.borderBoxSize:i===`content-box`?t.contentBoxSize:t.devicePixelContentBoxSize;if(r&&a.value){let t=Vb(e);if(t){let e=t.getBoundingClientRect();o.value=e.width,s.value=e.height}}else if(n){let e=kb(n);o.value=e.reduce((e,{inlineSize:t})=>e+t,0),s.value=e.reduce((e,{blockSize:t})=>e+t,0)}else o.value=t.contentRect.width,s.value=t.contentRect.height},n);Ib(()=>{let n=Vb(e);n&&(o.value=`offsetWidth`in n?n.offsetWidth:t.width,s.value=`offsetHeight`in n?n.offsetHeight:t.height)});let l=B(()=>Vb(e),e=>{o.value=e?t.width:0,s.value=e?t.height:0});function u(){c(),l()}return{width:o,height:s,stop:u}}function ax(e,t,n={}){let{root:r,rootMargin:i,threshold:a=0,window:o=zb,immediate:s=!0}=n,c=Kb(()=>o&&`IntersectionObserver`in o),l=Y(()=>kb(pn(e)).map(Vb).filter(vb)),u=Sb,d=ln(s),f=c.value?B(()=>[l.value,Vb(r),pn(i),d.value],([e,n,r])=>{if(u(),!d.value||!e.length)return;let i=new IntersectionObserver(t,{root:Vb(n),rootMargin:r,threshold:a});e.forEach(e=>e&&i.observe(e)),u=()=>{i.disconnect(),u=Sb}},{immediate:s,flush:`post`}):Sb,p=()=>{u(),f(),d.value=!1};return pb(p),{isSupported:c,isActive:d,pause(){u(),d.value=!1},resume(){d.value=!0},stop:p}}function ox(e,t,n,r={}){var i,a;let{clone:o=!1,passive:s=!1,eventName:c,deep:l=!1,defaultValue:u,shouldEmit:d}=r,f=so(),p=n||f?.emit||(f==null||(i=f.$emit)==null?void 0:i.bind(f))||(f==null||(a=f.proxy)==null||(a=a.$emit)==null?void 0:a.bind(f?.proxy)),m=c;t||=`modelValue`,m||=`update:${t.toString()}`;let h=e=>o?typeof o==`function`?o(e):$b(e):e,g=()=>_b(e[t])?h(e[t]):u,_=e=>{d?d(e)&&p(m,e):p(m,e)};if(s){let n=F(g()),r=!1;return B(()=>e[t],e=>{r||(r=!0,n.value=h(e),L(()=>r=!1))}),B(n,n=>{!r&&(n!==e[t]||l)&&_(n)},{deep:l}),n}else return Y({get(){return g()},set(e){_(e)}})}function sx(e={}){let{window:t=zb}=e;if(!t)return ln(!1);let n=ln(t.document.hasFocus()),r={passive:!0};return Hb(t,`blur`,()=>{n.value=!1},r),Hb(t,`focus`,()=>{n.value=!0},r),n}function cx(e={}){let{window:t=zb,initialWidth:n=1/0,initialHeight:r=1/0,listenOrientation:i=!0,includeScrollbar:a=!0,type:o=`inner`}=e,s=ln(n),c=ln(r),l=()=>{if(t)if(o===`outer`)s.value=t.outerWidth,c.value=t.outerHeight;else if(o===`visual`&&t.visualViewport){let{width:e,height:n,scale:r}=t.visualViewport;s.value=Math.round(e*r),c.value=Math.round(n*r)}else a?(s.value=t.innerWidth,c.value=t.innerHeight):(s.value=t.document.documentElement.clientWidth,c.value=t.document.documentElement.clientHeight)};l(),Ib(l);let u={passive:!0};return Hb(`resize`,l,u),t&&o===`visual`&&t.visualViewport&&Hb(t.visualViewport,`resize`,l,u),i&&B(Qb(`(orientation: portrait)`),()=>l()),{width:s,height:c}}function lx(){let e=ln(),t=F(0),n=Y(()=>({minWidth:`${Math.max(t.value,11)}px`}));return nx(e,()=>{t.value=e.value?.getBoundingClientRect().width??0}),{calculatorRef:e,calculatorWidth:t,inputStyle:n}}var ux=({from:e,replacement:t,scope:n,version:r,ref:i,type:a=`API`},o)=>{B(()=>I(o),o=>{o&&cb(n,`[${a}] ${e} is about to be deprecated in version ${r}, please use ${t} instead. For more detail, please visit: ${i} `)},{immediate:!0})},dx=`a[href],button:not([disabled]),button:not([hidden]),:not([tabindex="-1"]),input:not([disabled]),input:not([type="hidden"]),select:not([disabled]),textarea:not([disabled])`,fx=e=>typeof ShadowRoot>`u`?!1:e instanceof ShadowRoot,px=e=>typeof Element>`u`?!1:e instanceof Element,mx=e=>getComputedStyle(e).position===`fixed`?!1:e.offsetParent!==null,hx=e=>Array.from(e.querySelectorAll(dx)).filter(e=>gx(e)&&mx(e)),gx=e=>{if(e.tabIndex>0||e.tabIndex===0&&e.getAttribute(`tabIndex`)!==null)return!0;if(e.tabIndex<0||e.hasAttribute(`disabled`)||e.getAttribute(`aria-disabled`)===`true`)return!1;switch(e.nodeName){case`A`:return!!e.href&&e.rel!==`ignore`;case`INPUT`:return!(e.type===`hidden`||e.type===`file`);case`BUTTON`:case`SELECT`:case`TEXTAREA`:return!0;default:return!1}},_x=function(e,t,...n){let r;r=t.includes(`mouse`)||t.includes(`click`)?`MouseEvents`:t.includes(`key`)?`KeyboardEvent`:`HTMLEvents`;let i=document.createEvent(r);return i.initEvent(t,...n),e.dispatchEvent(i),e},vx=e=>!e.getAttribute(`aria-owns`),yx=(e,t,n)=>{let{parentNode:r}=e;if(!r)return null;let i=r.querySelectorAll(n);return i[Array.prototype.indexOf.call(i,e)+t]||null},bx=(e,t)=>{if(!e||!e.focus)return;let n=!1;px(e)&&!gx(e)&&!e.getAttribute(`tabindex`)&&(e.setAttribute(`tabindex`,`-1`),n=!0),e.focus(t),px(e)&&n&&e.removeAttribute(`tabindex`)},xx=e=>{e&&(bx(e),!vx(e)&&e.click())},Sx=()=>gb&&/firefox/i.test(window.navigator.userAgent),Cx=()=>gb&&/android/i.test(window.navigator.userAgent),wx=(e=``)=>e.replace(/[|\\{}()[\]^$+*?.]/g,`\\$&`).replace(/-/g,`\\x2d`),Tx=e=>ce(e),Ex=`utils/dom/style`,Dx=(e=``)=>e.split(` `).filter(e=>!!e.trim()),Ox=(e,t)=>{if(!e||!t)return!1;if(t.includes(` `))throw Error(`className should not contain space.`);return e.classList.contains(t)},kx=(e,t)=>{!e||!t.trim()||e.classList.add(...Dx(t))},Ax=(e,t)=>{!e||!t.trim()||e.classList.remove(...Dx(t))},jx=(e,t)=>{if(!gb||!e||!t||fx(e))return``;let n=ae(t);n===`float`&&(n=`cssFloat`);try{let t=e.style[n];if(t)return t;let r=document.defaultView?.getComputedStyle(e,``);return r?r[n]:``}catch{return e.style[n]}},Mx=(e,t,n)=>{if(!(!e||!t))if(D(t))$y(t).forEach(([t,n])=>Mx(e,t,n));else{let r=ae(t);e.style[r]=n}};function Nx(e,t=`px`){if(!e&&e!==0)return``;if(Ky(e)||Xy(e))return`${e}${t}`;if(T(e))return e;cb(Ex,`binding value must be a string or number`)}var Px=(e,t,n,r)=>{let i={offsetX:0,offsetY:0},a=F(!1),o=(t,n)=>{if(e.value){let{offsetX:a,offsetY:o}=i,s=e.value.getBoundingClientRect(),c=Math.max(s.left,0),l=Math.max(s.top,0),u=s.width,d=s.height,f=document.documentElement.clientWidth,p=document.documentElement.clientHeight,m=-c+a,h=-l+o,g=f-c-u+a,_=p-l-(d{let t=e.clientX,n=e.clientY,{offsetX:r,offsetY:s}=i,c=e=>{a.value||=!0,o(r+e.clientX-t,s+e.clientY-n)},l=()=>{a.value=!1,document.removeEventListener(`mousemove`,c),document.removeEventListener(`mouseup`,l)};document.addEventListener(`mousemove`,c),document.addEventListener(`mouseup`,l)},c=()=>{t.value&&e.value&&(t.value.addEventListener(`mousedown`,s),window.addEventListener(`resize`,d))},l=()=>{t.value&&e.value&&(t.value.removeEventListener(`mousedown`,s),window.removeEventListener(`resize`,d))},u=()=>{i.offsetX=0,i.offsetY=0,e.value&&(e.value.style.transform=``)},d=()=>{let{offsetX:e,offsetY:t}=i;o(e,t)};return Xr(()=>{rr(()=>{n.value?c():l()})}),$r(()=>{l()}),{isDragging:a,resetPosition:u,updatePosition:d}},Fx={name:`en`,el:{breadcrumb:{label:`Breadcrumb`},colorpicker:{confirm:`OK`,clear:`Clear`,defaultLabel:`color picker`,description:`current color is {color}. press enter to select a new color.`,alphaLabel:`pick alpha value`,alphaDescription:`alpha {alpha}, current color is {color}`,hueLabel:`pick hue value`,hueDescription:`hue {hue}, current color is {color}`,svLabel:`pick saturation and brightness value`,svDescription:`saturation {saturation}, brightness {brightness}, current color is {color}`,predefineDescription:`select {value} as the color`},datepicker:{now:`Now`,today:`Today`,cancel:`Cancel`,clear:`Clear`,confirm:`OK`,dateTablePrompt:`Use the arrow keys and enter to select the day of the month`,monthTablePrompt:`Use the arrow keys and enter to select the month`,yearTablePrompt:`Use the arrow keys and enter to select the year`,selectedDate:`Selected date`,selectDate:`Select date`,selectTime:`Select time`,startDate:`Start Date`,startTime:`Start Time`,endDate:`End Date`,endTime:`End Time`,prevYear:`Previous Year`,nextYear:`Next Year`,prevMonth:`Previous Month`,nextMonth:`Next Month`,year:``,month1:`January`,month2:`February`,month3:`March`,month4:`April`,month5:`May`,month6:`June`,month7:`July`,month8:`August`,month9:`September`,month10:`October`,month11:`November`,month12:`December`,weeks:{sun:`Sun`,mon:`Mon`,tue:`Tue`,wed:`Wed`,thu:`Thu`,fri:`Fri`,sat:`Sat`},weeksFull:{sun:`Sunday`,mon:`Monday`,tue:`Tuesday`,wed:`Wednesday`,thu:`Thursday`,fri:`Friday`,sat:`Saturday`},months:{jan:`Jan`,feb:`Feb`,mar:`Mar`,apr:`Apr`,may:`May`,jun:`Jun`,jul:`Jul`,aug:`Aug`,sep:`Sep`,oct:`Oct`,nov:`Nov`,dec:`Dec`}},inputNumber:{decrease:`decrease number`,increase:`increase number`},select:{loading:`Loading`,noMatch:`No matching data`,noData:`No data`,placeholder:`Select`},mention:{loading:`Loading`},dropdown:{toggleDropdown:`Toggle Dropdown`},cascader:{noMatch:`No matching data`,loading:`Loading`,placeholder:`Select`,noData:`No data`},pagination:{goto:`Go to`,pagesize:`/page`,total:`Total {total}`,pageClassifier:``,page:`Page`,prev:`Go to previous page`,next:`Go to next page`,currentPage:`page {pager}`,prevPages:`Previous {pager} pages`,nextPages:`Next {pager} pages`,deprecationWarning:`Deprecated usages detected, please refer to the el-pagination documentation for more details`},dialog:{close:`Close this dialog`},drawer:{close:`Close this dialog`},messagebox:{title:`Message`,confirm:`OK`,cancel:`Cancel`,error:`Illegal input`,close:`Close this dialog`},upload:{deleteTip:`press delete to remove`,delete:`Delete`,preview:`Preview`,continue:`Continue`},slider:{defaultLabel:`slider between {min} and {max}`,defaultRangeStartLabel:`pick start value`,defaultRangeEndLabel:`pick end value`},table:{emptyText:`No Data`,confirmFilter:`Confirm`,resetFilter:`Reset`,clearFilter:`All`,sumText:`Sum`,selectAllLabel:`Select all rows`,selectRowLabel:`Select this row`,expandRowLabel:`Expand this row`,collapseRowLabel:`Collapse this row`,sortLabel:`Sort by {column}`,filterLabel:`Filter by {column}`},tag:{close:`Close this tag`},tour:{next:`Next`,previous:`Previous`,finish:`Finish`,close:`Close this dialog`},tree:{emptyText:`No Data`},transfer:{noMatch:`No matching data`,noData:`No data`,titles:[`List 1`,`List 2`],filterPlaceholder:`Enter keyword`,noCheckedFormat:`{total} items`,hasCheckedFormat:`{checked}/{total} checked`},image:{error:`FAILED`},pageHeader:{title:`Back`},popconfirm:{confirmButtonText:`Yes`,cancelButtonText:`No`},carousel:{leftArrow:`Carousel arrow left`,rightArrow:`Carousel arrow right`,indicator:`Carousel switch to index {index}`},inputOTP:{groupLabel:`OTP Input`,defaultLabel:`Please enter OTP character {index}`}}},Ix=e=>(t,n)=>Lx(t,n,I(e)),Lx=(e,t,n)=>xh(n,e,e).replace(/\{(\w+)\}/g,(e,n)=>`${t?.[n]??`{${n}}`}`),Rx=e=>({lang:Y(()=>I(e).name),locale:cn(e)?e:F(e),t:Ix(e)}),zx=Symbol(`localeContextKey`),Bx=e=>{let t=e||z(zx,F());return Rx(Y(()=>t.value||Fx))},Vx=`is-`,Hx=(e,t,n,r,i)=>{let a=`${e}-${t}`;return n&&(a+=`-${n}`),r&&(a+=`__${r}`),i&&(a+=`--${i}`),a},Ux=Symbol(`namespaceContextKey`),Wx=e=>{let t=e||(so()?z(Ux,F(`el`)):F(`el`));return Y(()=>I(t)||`el`)},$=(e,t)=>{let n=Wx(t);return{namespace:n,b:(t=``)=>Hx(n.value,e,t,``,``),e:t=>t?Hx(n.value,e,``,t,``):``,m:t=>t?Hx(n.value,e,``,``,t):``,be:(t,r)=>t&&r?Hx(n.value,e,t,r,``):``,em:(t,r)=>t&&r?Hx(n.value,e,``,t,r):``,bm:(t,r)=>t&&r?Hx(n.value,e,t,``,r):``,bem:(t,r,i)=>t&&r&&i?Hx(n.value,e,t,r,i):``,is:(e,...t)=>{let n=t.length>=1?t[0]:!0;return e&&n?`${Vx}${e}`:``},cssVar:e=>{let t={};for(let r in e)e[r]&&(t[`--${n.value}-${r}`]=e[r]);return t},cssVarName:e=>`--${n.value}-${e}`,cssVarBlock:t=>{let r={};for(let i in t)t[i]&&(r[`--${n.value}-${e}-${i}`]=t[i]);return r},cssVarBlockName:t=>`--${n.value}-${e}-${t}`}};function Gx(e,t,n,r){let i=n-t;return e/=r/2,e<1?i/2*e*e*e+t:i/2*((e-=2)*e*e+2)+t}var Kx=e=>gb?window.requestAnimationFrame(e):setTimeout(e,16),qx=e=>gb?window.cancelAnimationFrame(e):clearTimeout(e),Jx=(e,t)=>{if(!gb)return!1;let n={undefined:`overflow`,true:`overflow-y`,false:`overflow-x`}[String(t)],r=jx(e,n);return[`scroll`,`auto`,`overlay`].some(e=>r.includes(e))},Yx=(e,t)=>{if(!gb)return;let n=e;for(;n;){if([window,document,document.documentElement].includes(n))return window;if(Jx(n,t))return n;n=fx(n)?n.host:n.parentNode}return n},Xx,Zx=e=>{if(!gb)return 0;if(Xx!==void 0)return Xx;let t=document.createElement(`div`);t.className=`${e}-scrollbar__wrap`,t.style.visibility=`hidden`,t.style.width=`100px`,t.style.position=`absolute`,t.style.top=`-9999px`,document.body.appendChild(t);let n=t.offsetWidth;t.style.overflow=`scroll`;let r=document.createElement(`div`);r.style.width=`100%`,t.appendChild(r);let i=r.offsetWidth;return t.parentNode?.removeChild(t),Xx=n-i,Xx};function Qx(e,t){if(!gb)return;if(!t){e.scrollTop=0;return}let n=[],r=t.offsetParent;for(;r!==null&&e!==r&&e.contains(r);)n.push(r),r=r.offsetParent;let i=t.offsetTop+n.reduce((e,t)=>e+t.offsetTop,0),a=i+t.offsetHeight,o=e.scrollTop,s=o+e.clientHeight;is&&(e.scrollTop=a-e.clientHeight)}function $x(e,t,n,r,i){let a=Date.now(),o,s=()=>{let c=Date.now()-a,l=Gx(c>r?r:c,t,n,r);Zy(e)?e.scrollTo(window.pageXOffset,l):e.scrollTop=l,c{o&&qx(o)}}var eS=(e,t)=>Zy(t)?e.ownerDocument.documentElement:t,tS=e=>Zy(e)?window.scrollY:e.scrollTop,nS=(e,t={})=>{cn(e)||sb(`[useLockscreen]`,`You need to pass a ref param to this function`);let n=t.ns||$(`popup`),r=Y(()=>n.bm(`parent`,`hidden`)),i=0,a=!1,o=`0`,s=!1,c=()=>{s||(s=!0,setTimeout(()=>{typeof document>`u`||a&&document&&(document.body.style.width=o,Ax(document.body,r.value))},200))};B(e,e=>{if(!e){c();return}s=!1,a=!Ox(document.body,r.value),a&&(o=document.body.style.width,kx(document.body,r.value)),i=Zx(n.namespace.value);let t=document.documentElement.clientHeight0&&(t||l===`scroll`)&&a&&(document.body.style.width=`calc(100% - ${i}px)`)}),Fe(()=>c())},rS=(e,t,{checkForDefaultPrevented:n=!0}={})=>r=>{let i=e?.(r);if(n===!1||!i)return t?.(r)},iS=e=>t=>t.pointerType===`mouse`?e(t):void 0,aS=e=>{if(e.code&&e.code!==`Unidentified`)return e.code;let t=oS(e);if(t){if(Object.values(X).includes(t))return t;switch(t){case` `:return X.space;default:return``}}return``},oS=e=>{let t=e.key&&e.key!==`Unidentified`?e.key:``;if(!t&&e.type===`keyup`&&Cx()){let n=e.target;t=n.value.charAt(n.selectionStart-1)}return t},sS=rb({type:Z(Boolean),default:null}),cS=rb({type:Z(Function)}),lS=e=>{let t=`update:${e}`,n=`onUpdate:${e}`,r=[t];return{useModelToggle:({indicator:r,toggleReason:i,shouldHideWhenRouteChanges:a,shouldProceed:o,onShow:s,onHide:c})=>{let l=so(),{emit:u}=l,d=l.props,f=Y(()=>w(d[n])),p=Y(()=>d[e]===null),m=e=>{r.value!==!0&&(r.value=!0,i&&(i.value=e),w(s)&&s(e))},h=e=>{r.value!==!1&&(r.value=!1,i&&(i.value=e),w(c)&&c(e))},g=e=>{if(d.disabled===!0||w(o)&&!o())return;let n=f.value&&gb;n&&u(t,!0),(p.value||!n)&&m(e)},_=e=>{if(d.disabled===!0||!gb)return;let n=f.value&&gb;n&&u(t,!1),(p.value||!n)&&h(e)},v=e=>{Gy(e)&&(d.disabled&&e?f.value&&u(t,!1):r.value!==e&&(e?m():h()))};return B(()=>d[e],v),a&&l.appContext.config.globalProperties.$route!==void 0&&B(()=>({...l.proxy.$route}),()=>{a.value&&r.value&&_()}),Xr(()=>{v(d[e])}),{hide:_,show:g,toggle:()=>{r.value?_():g()},hasUpdateHandler:f}},useModelToggleProps:{[e]:sS,[n]:cS},useModelToggleEmits:r}},{useModelToggle:uS,useModelToggleProps:dS,useModelToggleEmits:fS}=lS(`modelValue`),pS=e=>{let t=so();return Y(()=>t?.proxy?.$props?.[e])},mS=`bottom`,hS=`right`,gS=`left`,_S=`auto`,vS=[`top`,mS,hS,gS],yS=`start`,bS=`clippingParents`,xS=`viewport`,SS=`popper`,CS=`reference`,wS=vS.reduce(function(e,t){return e.concat([t+`-`+yS,t+`-end`])},[]),TS=[].concat(vS,[_S]).reduce(function(e,t){return e.concat([t,t+`-`+yS,t+`-end`])},[]),ES=[`beforeRead`,`read`,`afterRead`,`beforeMain`,`main`,`afterMain`,`beforeWrite`,`write`,`afterWrite`];function DS(e){return e?(e.nodeName||``).toLowerCase():null}function OS(e){if(e==null)return window;if(e.toString()!==`[object Window]`){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function kS(e){return e instanceof OS(e).Element||e instanceof Element}function AS(e){return e instanceof OS(e).HTMLElement||e instanceof HTMLElement}function jS(e){return typeof ShadowRoot>`u`?!1:e instanceof OS(e).ShadowRoot||e instanceof ShadowRoot}function MS(e){var t=e.state;Object.keys(t.elements).forEach(function(e){var n=t.styles[e]||{},r=t.attributes[e]||{},i=t.elements[e];!AS(i)||!DS(i)||(Object.assign(i.style,n),Object.keys(r).forEach(function(e){var t=r[e];t===!1?i.removeAttribute(e):i.setAttribute(e,t===!0?``:t)}))})}function NS(e){var t=e.state,n={popper:{position:t.options.strategy,left:`0`,top:`0`,margin:`0`},arrow:{position:`absolute`},reference:{}};return Object.assign(t.elements.popper.style,n.popper),t.styles=n,t.elements.arrow&&Object.assign(t.elements.arrow.style,n.arrow),function(){Object.keys(t.elements).forEach(function(e){var r=t.elements[e],i=t.attributes[e]||{},a=Object.keys(t.styles.hasOwnProperty(e)?t.styles[e]:n[e]).reduce(function(e,t){return e[t]=``,e},{});!AS(r)||!DS(r)||(Object.assign(r.style,a),Object.keys(i).forEach(function(e){r.removeAttribute(e)}))})}}var PS={name:`applyStyles`,enabled:!0,phase:`write`,fn:MS,effect:NS,requires:[`computeStyles`]};function FS(e){return e.split(`-`)[0]}var IS=Math.max,LS=Math.min,RS=Math.round;function zS(){var e=navigator.userAgentData;return e!=null&&e.brands&&Array.isArray(e.brands)?e.brands.map(function(e){return e.brand+`/`+e.version}).join(` `):navigator.userAgent}function BS(){return!/^((?!chrome|android).)*safari/i.test(zS())}function VS(e,t,n){t===void 0&&(t=!1),n===void 0&&(n=!1);var r=e.getBoundingClientRect(),i=1,a=1;t&&AS(e)&&(i=e.offsetWidth>0&&RS(r.width)/e.offsetWidth||1,a=e.offsetHeight>0&&RS(r.height)/e.offsetHeight||1);var o=(kS(e)?OS(e):window).visualViewport,s=!BS()&&n,c=(r.left+(s&&o?o.offsetLeft:0))/i,l=(r.top+(s&&o?o.offsetTop:0))/a,u=r.width/i,d=r.height/a;return{width:u,height:d,top:l,right:c+u,bottom:l+d,left:c,x:c,y:l}}function HS(e){var t=VS(e),n=e.offsetWidth,r=e.offsetHeight;return Math.abs(t.width-n)<=1&&(n=t.width),Math.abs(t.height-r)<=1&&(r=t.height),{x:e.offsetLeft,y:e.offsetTop,width:n,height:r}}function US(e,t){var n=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(n&&jS(n)){var r=t;do{if(r&&e.isSameNode(r))return!0;r=r.parentNode||r.host}while(r)}return!1}function WS(e){return OS(e).getComputedStyle(e)}function GS(e){return[`table`,`td`,`th`].indexOf(DS(e))>=0}function KS(e){return((kS(e)?e.ownerDocument:e.document)||window.document).documentElement}function qS(e){return DS(e)===`html`?e:e.assignedSlot||e.parentNode||(jS(e)?e.host:null)||KS(e)}function JS(e){return!AS(e)||WS(e).position===`fixed`?null:e.offsetParent}function YS(e){var t=/firefox/i.test(zS());if(/Trident/i.test(zS())&&AS(e)&&WS(e).position===`fixed`)return null;var n=qS(e);for(jS(n)&&(n=n.host);AS(n)&&[`html`,`body`].indexOf(DS(n))<0;){var r=WS(n);if(r.transform!==`none`||r.perspective!==`none`||r.contain===`paint`||[`transform`,`perspective`].indexOf(r.willChange)!==-1||t&&r.willChange===`filter`||t&&r.filter&&r.filter!==`none`)return n;n=n.parentNode}return null}function XS(e){for(var t=OS(e),n=JS(e);n&&GS(n)&&WS(n).position===`static`;)n=JS(n);return n&&(DS(n)===`html`||DS(n)===`body`&&WS(n).position===`static`)?t:n||YS(e)||t}function ZS(e){return[`top`,`bottom`].indexOf(e)>=0?`x`:`y`}function QS(e,t,n){return IS(e,LS(t,n))}function $S(e,t,n){var r=QS(e,t,n);return r>n?n:r}function eC(){return{top:0,right:0,bottom:0,left:0}}function tC(e){return Object.assign({},eC(),e)}function nC(e,t){return t.reduce(function(t,n){return t[n]=e,t},{})}var rC=function(e,t){return e=typeof e==`function`?e(Object.assign({},t.rects,{placement:t.placement})):e,tC(typeof e==`number`?nC(e,vS):e)};function iC(e){var t,n=e.state,r=e.name,i=e.options,a=n.elements.arrow,o=n.modifiersData.popperOffsets,s=FS(n.placement),c=ZS(s),l=[`left`,`right`].indexOf(s)>=0?`height`:`width`;if(!(!a||!o)){var u=rC(i.padding,n),d=HS(a),f=c===`y`?`top`:gS,p=c===`y`?mS:hS,m=n.rects.reference[l]+n.rects.reference[c]-o[c]-n.rects.popper[l],h=o[c]-n.rects.reference[c],g=XS(a),_=g?c===`y`?g.clientHeight||0:g.clientWidth||0:0,v=m/2-h/2,y=u[f],b=_-d[l]-u[p],x=_/2-d[l]/2+v,S=QS(y,x,b),C=c;n.modifiersData[r]=(t={},t[C]=S,t.centerOffset=S-x,t)}}function aC(e){var t=e.state,n=e.options.element,r=n===void 0?`[data-popper-arrow]`:n;r!=null&&(typeof r==`string`&&(r=t.elements.popper.querySelector(r),!r)||US(t.elements.popper,r)&&(t.elements.arrow=r))}var oC={name:`arrow`,enabled:!0,phase:`main`,fn:iC,effect:aC,requires:[`popperOffsets`],requiresIfExists:[`preventOverflow`]};function sC(e){return e.split(`-`)[1]}var cC={top:`auto`,right:`auto`,bottom:`auto`,left:`auto`};function lC(e,t){var n=e.x,r=e.y,i=t.devicePixelRatio||1;return{x:RS(n*i)/i||0,y:RS(r*i)/i||0}}function uC(e){var t,n=e.popper,r=e.popperRect,i=e.placement,a=e.variation,o=e.offsets,s=e.position,c=e.gpuAcceleration,l=e.adaptive,u=e.roundOffsets,d=e.isFixed,f=o.x,p=f===void 0?0:f,m=o.y,h=m===void 0?0:m,g=typeof u==`function`?u({x:p,y:h}):{x:p,y:h};p=g.x,h=g.y;var _=o.hasOwnProperty(`x`),v=o.hasOwnProperty(`y`),y=gS,b=`top`,x=window;if(l){var S=XS(n),C=`clientHeight`,w=`clientWidth`;if(S===OS(n)&&(S=KS(n),WS(S).position!==`static`&&s===`absolute`&&(C=`scrollHeight`,w=`scrollWidth`)),S=S,i===`top`||(i===`left`||i===`right`)&&a===`end`){b=mS;var T=d&&S===x&&x.visualViewport?x.visualViewport.height:S[C];h-=T-r.height,h*=c?1:-1}if(i===`left`||(i===`top`||i===`bottom`)&&a===`end`){y=hS;var E=d&&S===x&&x.visualViewport?x.visualViewport.width:S[w];p-=E-r.width,p*=c?1:-1}}var D=Object.assign({position:s},l&&cC),O=u===!0?lC({x:p,y:h},OS(n)):{x:p,y:h};if(p=O.x,h=O.y,c){var k;return Object.assign({},D,(k={},k[b]=v?`0`:``,k[y]=_?`0`:``,k.transform=(x.devicePixelRatio||1)<=1?`translate(`+p+`px, `+h+`px)`:`translate3d(`+p+`px, `+h+`px, 0)`,k))}return Object.assign({},D,(t={},t[b]=v?h+`px`:``,t[y]=_?p+`px`:``,t.transform=``,t))}function dC(e){var t=e.state,n=e.options,r=n.gpuAcceleration,i=r===void 0?!0:r,a=n.adaptive,o=a===void 0?!0:a,s=n.roundOffsets,c=s===void 0?!0:s,l={placement:FS(t.placement),variation:sC(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:i,isFixed:t.options.strategy===`fixed`};t.modifiersData.popperOffsets!=null&&(t.styles.popper=Object.assign({},t.styles.popper,uC(Object.assign({},l,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:o,roundOffsets:c})))),t.modifiersData.arrow!=null&&(t.styles.arrow=Object.assign({},t.styles.arrow,uC(Object.assign({},l,{offsets:t.modifiersData.arrow,position:`absolute`,adaptive:!1,roundOffsets:c})))),t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement})}var fC={name:`computeStyles`,enabled:!0,phase:`beforeWrite`,fn:dC,data:{}},pC={passive:!0};function mC(e){var t=e.state,n=e.instance,r=e.options,i=r.scroll,a=i===void 0?!0:i,o=r.resize,s=o===void 0?!0:o,c=OS(t.elements.popper),l=[].concat(t.scrollParents.reference,t.scrollParents.popper);return a&&l.forEach(function(e){e.addEventListener(`scroll`,n.update,pC)}),s&&c.addEventListener(`resize`,n.update,pC),function(){a&&l.forEach(function(e){e.removeEventListener(`scroll`,n.update,pC)}),s&&c.removeEventListener(`resize`,n.update,pC)}}var hC={name:`eventListeners`,enabled:!0,phase:`write`,fn:function(){},effect:mC,data:{}},gC={left:`right`,right:`left`,bottom:`top`,top:`bottom`};function _C(e){return e.replace(/left|right|bottom|top/g,function(e){return gC[e]})}var vC={start:`end`,end:`start`};function yC(e){return e.replace(/start|end/g,function(e){return vC[e]})}function bC(e){var t=OS(e);return{scrollLeft:t.pageXOffset,scrollTop:t.pageYOffset}}function xC(e){return VS(KS(e)).left+bC(e).scrollLeft}function SC(e,t){var n=OS(e),r=KS(e),i=n.visualViewport,a=r.clientWidth,o=r.clientHeight,s=0,c=0;if(i){a=i.width,o=i.height;var l=BS();(l||!l&&t===`fixed`)&&(s=i.offsetLeft,c=i.offsetTop)}return{width:a,height:o,x:s+xC(e),y:c}}function CC(e){var t=KS(e),n=bC(e),r=e.ownerDocument?.body,i=IS(t.scrollWidth,t.clientWidth,r?r.scrollWidth:0,r?r.clientWidth:0),a=IS(t.scrollHeight,t.clientHeight,r?r.scrollHeight:0,r?r.clientHeight:0),o=-n.scrollLeft+xC(e),s=-n.scrollTop;return WS(r||t).direction===`rtl`&&(o+=IS(t.clientWidth,r?r.clientWidth:0)-i),{width:i,height:a,x:o,y:s}}function wC(e){var t=WS(e),n=t.overflow,r=t.overflowX,i=t.overflowY;return/auto|scroll|overlay|hidden/.test(n+i+r)}function TC(e){return[`html`,`body`,`#document`].indexOf(DS(e))>=0?e.ownerDocument.body:AS(e)&&wC(e)?e:TC(qS(e))}function EC(e,t){t===void 0&&(t=[]);var n=TC(e),r=n===e.ownerDocument?.body,i=OS(n),a=r?[i].concat(i.visualViewport||[],wC(n)?n:[]):n,o=t.concat(a);return r?o:o.concat(EC(qS(a)))}function DC(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function OC(e,t){var n=VS(e,!1,t===`fixed`);return n.top+=e.clientTop,n.left+=e.clientLeft,n.bottom=n.top+e.clientHeight,n.right=n.left+e.clientWidth,n.width=e.clientWidth,n.height=e.clientHeight,n.x=n.left,n.y=n.top,n}function kC(e,t,n){return t===`viewport`?DC(SC(e,n)):kS(t)?OC(t,n):DC(CC(KS(e)))}function AC(e){var t=EC(qS(e)),n=[`absolute`,`fixed`].indexOf(WS(e).position)>=0&&AS(e)?XS(e):e;return kS(n)?t.filter(function(e){return kS(e)&&US(e,n)&&DS(e)!==`body`}):[]}function jC(e,t,n,r){var i=t===`clippingParents`?AC(e):[].concat(t),a=[].concat(i,[n]),o=a[0],s=a.reduce(function(t,n){var i=kC(e,n,r);return t.top=IS(i.top,t.top),t.right=LS(i.right,t.right),t.bottom=LS(i.bottom,t.bottom),t.left=IS(i.left,t.left),t},kC(e,o,r));return s.width=s.right-s.left,s.height=s.bottom-s.top,s.x=s.left,s.y=s.top,s}function MC(e){var t=e.reference,n=e.element,r=e.placement,i=r?FS(r):null,a=r?sC(r):null,o=t.x+t.width/2-n.width/2,s=t.y+t.height/2-n.height/2,c;switch(i){case`top`:c={x:o,y:t.y-n.height};break;case mS:c={x:o,y:t.y+t.height};break;case hS:c={x:t.x+t.width,y:s};break;case gS:c={x:t.x-n.width,y:s};break;default:c={x:t.x,y:t.y}}var l=i?ZS(i):null;if(l!=null){var u=l===`y`?`height`:`width`;switch(a){case yS:c[l]=c[l]-(t[u]/2-n[u]/2);break;case`end`:c[l]=c[l]+(t[u]/2-n[u]/2);break}}return c}function NC(e,t){t===void 0&&(t={});var n=t,r=n.placement,i=r===void 0?e.placement:r,a=n.strategy,o=a===void 0?e.strategy:a,s=n.boundary,c=s===void 0?bS:s,l=n.rootBoundary,u=l===void 0?xS:l,d=n.elementContext,f=d===void 0?SS:d,p=n.altBoundary,m=p===void 0?!1:p,h=n.padding,g=h===void 0?0:h,_=tC(typeof g==`number`?nC(g,vS):g),v=f===`popper`?CS:SS,y=e.rects.popper,b=e.elements[m?v:f],x=jC(kS(b)?b:b.contextElement||KS(e.elements.popper),c,u,o),S=VS(e.elements.reference),C=MC({reference:S,element:y,placement:i}),w=DC(Object.assign({},y,C)),T=f===`popper`?w:S,E={top:x.top-T.top+_.top,bottom:T.bottom-x.bottom+_.bottom,left:x.left-T.left+_.left,right:T.right-x.right+_.right},D=e.modifiersData.offset;if(f===`popper`&&D){var O=D[i];Object.keys(E).forEach(function(e){var t=[`right`,`bottom`].indexOf(e)>=0?1:-1,n=[`top`,`bottom`].indexOf(e)>=0?`y`:`x`;E[e]+=O[n]*t})}return E}function PC(e,t){t===void 0&&(t={});var n=t,r=n.placement,i=n.boundary,a=n.rootBoundary,o=n.padding,s=n.flipVariations,c=n.allowedAutoPlacements,l=c===void 0?TS:c,u=sC(r),d=u?s?wS:wS.filter(function(e){return sC(e)===u}):vS,f=d.filter(function(e){return l.indexOf(e)>=0});f.length===0&&(f=d);var p=f.reduce(function(t,n){return t[n]=NC(e,{placement:n,boundary:i,rootBoundary:a,padding:o})[FS(n)],t},{});return Object.keys(p).sort(function(e,t){return p[e]-p[t]})}function FC(e){if(FS(e)===`auto`)return[];var t=_C(e);return[yC(e),t,yC(t)]}function IC(e){var t=e.state,n=e.options,r=e.name;if(!t.modifiersData[r]._skip){for(var i=n.mainAxis,a=i===void 0?!0:i,o=n.altAxis,s=o===void 0?!0:o,c=n.fallbackPlacements,l=n.padding,u=n.boundary,d=n.rootBoundary,f=n.altBoundary,p=n.flipVariations,m=p===void 0?!0:p,h=n.allowedAutoPlacements,g=t.options.placement,_=FS(g)===g,v=c||(_||!m?[_C(g)]:FC(g)),y=[g].concat(v).reduce(function(e,n){return e.concat(FS(n)===`auto`?PC(t,{placement:n,boundary:u,rootBoundary:d,padding:l,flipVariations:m,allowedAutoPlacements:h}):n)},[]),b=t.rects.reference,x=t.rects.popper,S=new Map,C=!0,w=y[0],T=0;T=0,A=k?`width`:`height`,ee=NC(t,{placement:E,boundary:u,rootBoundary:d,altBoundary:f,padding:l}),j=k?O?hS:gS:O?mS:`top`;b[A]>x[A]&&(j=_C(j));var te=_C(j),ne=[];if(a&&ne.push(ee[D]<=0),s&&ne.push(ee[j]<=0,ee[te]<=0),ne.every(function(e){return e})){w=E,C=!1;break}S.set(E,ne)}if(C)for(var re=m?3:1,ie=function(e){var t=y.find(function(t){var n=S.get(t);if(n)return n.slice(0,e).every(function(e){return e})});if(t)return w=t,`break`},ae=re;ae>0&&ie(ae)!==`break`;ae--);t.placement!==w&&(t.modifiersData[r]._skip=!0,t.placement=w,t.reset=!0)}}var LC={name:`flip`,enabled:!0,phase:`main`,fn:IC,requiresIfExists:[`offset`],data:{_skip:!1}};function RC(e,t,n){return n===void 0&&(n={x:0,y:0}),{top:e.top-t.height-n.y,right:e.right-t.width+n.x,bottom:e.bottom-t.height+n.y,left:e.left-t.width-n.x}}function zC(e){return[`top`,hS,mS,gS].some(function(t){return e[t]>=0})}function BC(e){var t=e.state,n=e.name,r=t.rects.reference,i=t.rects.popper,a=t.modifiersData.preventOverflow,o=NC(t,{elementContext:`reference`}),s=NC(t,{altBoundary:!0}),c=RC(o,r),l=RC(s,i,a),u=zC(c),d=zC(l);t.modifiersData[n]={referenceClippingOffsets:c,popperEscapeOffsets:l,isReferenceHidden:u,hasPopperEscaped:d},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":u,"data-popper-escaped":d})}var VC={name:`hide`,enabled:!0,phase:`main`,requiresIfExists:[`preventOverflow`],fn:BC};function HC(e,t,n){var r=FS(e),i=[`left`,`top`].indexOf(r)>=0?-1:1,a=typeof n==`function`?n(Object.assign({},t,{placement:e})):n,o=a[0],s=a[1];return o||=0,s=(s||0)*i,[`left`,`right`].indexOf(r)>=0?{x:s,y:o}:{x:o,y:s}}function UC(e){var t=e.state,n=e.options,r=e.name,i=n.offset,a=i===void 0?[0,0]:i,o=TS.reduce(function(e,n){return e[n]=HC(n,t.rects,a),e},{}),s=o[t.placement],c=s.x,l=s.y;t.modifiersData.popperOffsets!=null&&(t.modifiersData.popperOffsets.x+=c,t.modifiersData.popperOffsets.y+=l),t.modifiersData[r]=o}var WC={name:`offset`,enabled:!0,phase:`main`,requires:[`popperOffsets`],fn:UC};function GC(e){var t=e.state,n=e.name;t.modifiersData[n]=MC({reference:t.rects.reference,element:t.rects.popper,placement:t.placement})}var KC={name:`popperOffsets`,enabled:!0,phase:`read`,fn:GC,data:{}};function qC(e){return e===`x`?`y`:`x`}function JC(e){var t=e.state,n=e.options,r=e.name,i=n.mainAxis,a=i===void 0?!0:i,o=n.altAxis,s=o===void 0?!1:o,c=n.boundary,l=n.rootBoundary,u=n.altBoundary,d=n.padding,f=n.tether,p=f===void 0?!0:f,m=n.tetherOffset,h=m===void 0?0:m,g=NC(t,{boundary:c,rootBoundary:l,padding:d,altBoundary:u}),_=FS(t.placement),v=sC(t.placement),y=!v,b=ZS(_),x=qC(b),S=t.modifiersData.popperOffsets,C=t.rects.reference,w=t.rects.popper,T=typeof h==`function`?h(Object.assign({},t.rects,{placement:t.placement})):h,E=typeof T==`number`?{mainAxis:T,altAxis:T}:Object.assign({mainAxis:0,altAxis:0},T),D=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,O={x:0,y:0};if(S){if(a){var k=b===`y`?`top`:gS,A=b===`y`?mS:hS,ee=b===`y`?`height`:`width`,j=S[b],te=j+g[k],ne=j-g[A],re=p?-w[ee]/2:0,ie=v===`start`?C[ee]:w[ee],ae=v===`start`?-w[ee]:-C[ee],oe=t.elements.arrow,se=p&&oe?HS(oe):{width:0,height:0},ce=t.modifiersData[`arrow#persistent`]?t.modifiersData[`arrow#persistent`].padding:eC(),le=ce[k],ue=ce[A],de=QS(0,C[ee],se[ee]),fe=y?C[ee]/2-re-de-le-E.mainAxis:ie-de-le-E.mainAxis,pe=y?-C[ee]/2+re+de+ue+E.mainAxis:ae+de+ue+E.mainAxis,me=t.elements.arrow&&XS(t.elements.arrow),he=me?b===`y`?me.clientTop||0:me.clientLeft||0:0,ge=D?.[b]??0,M=j+fe-ge-he,_e=j+pe-ge,ve=QS(p?LS(te,M):te,j,p?IS(ne,_e):ne);S[b]=ve,O[b]=ve-j}if(s){var ye=b===`x`?`top`:gS,be=b===`x`?mS:hS,N=S[x],xe=x===`y`?`height`:`width`,Se=N+g[ye],Ce=N-g[be],we=[`top`,gS].indexOf(_)!==-1,Te=D?.[x]??0,Ee=we?Se:N-C[xe]-w[xe]-Te+E.altAxis,De=we?N+C[xe]+w[xe]-Te-E.altAxis:Ce,Oe=p&&we?$S(Ee,N,De):QS(p?Ee:Se,N,p?De:Ce);S[x]=Oe,O[x]=Oe-N}t.modifiersData[r]=O}}var YC={name:`preventOverflow`,enabled:!0,phase:`main`,fn:JC,requiresIfExists:[`offset`]};function XC(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}}function ZC(e){return e===OS(e)||!AS(e)?bC(e):XC(e)}function QC(e){var t=e.getBoundingClientRect(),n=RS(t.width)/e.offsetWidth||1,r=RS(t.height)/e.offsetHeight||1;return n!==1||r!==1}function $C(e,t,n){n===void 0&&(n=!1);var r=AS(t),i=AS(t)&&QC(t),a=KS(t),o=VS(e,i,n),s={scrollLeft:0,scrollTop:0},c={x:0,y:0};return(r||!r&&!n)&&((DS(t)!==`body`||wC(a))&&(s=ZC(t)),AS(t)?(c=VS(t,!0),c.x+=t.clientLeft,c.y+=t.clientTop):a&&(c.x=xC(a))),{x:o.left+s.scrollLeft-c.x,y:o.top+s.scrollTop-c.y,width:o.width,height:o.height}}function ew(e){var t=new Map,n=new Set,r=[];e.forEach(function(e){t.set(e.name,e)});function i(e){n.add(e.name),[].concat(e.requires||[],e.requiresIfExists||[]).forEach(function(e){if(!n.has(e)){var r=t.get(e);r&&i(r)}}),r.push(e)}return e.forEach(function(e){n.has(e.name)||i(e)}),r}function tw(e){var t=ew(e);return ES.reduce(function(e,n){return e.concat(t.filter(function(e){return e.phase===n}))},[])}function nw(e){var t;return function(){return t||=new Promise(function(n){Promise.resolve().then(function(){t=void 0,n(e())})}),t}}function rw(e){var t=e.reduce(function(e,t){var n=e[t.name];return e[t.name]=n?Object.assign({},n,t,{options:Object.assign({},n.options,t.options),data:Object.assign({},n.data,t.data)}):t,e},{});return Object.keys(t).map(function(e){return t[e]})}var iw={placement:`bottom`,modifiers:[],strategy:`absolute`};function aw(){return![...arguments].some(function(e){return!(e&&typeof e.getBoundingClientRect==`function`)})}function ow(e){e===void 0&&(e={});var t=e,n=t.defaultModifiers,r=n===void 0?[]:n,i=t.defaultOptions,a=i===void 0?iw:i;return function(e,t,n){n===void 0&&(n=a);var i={placement:`bottom`,orderedModifiers:[],options:Object.assign({},iw,a),modifiersData:{},elements:{reference:e,popper:t},attributes:{},styles:{}},o=[],s=!1,c={state:i,setOptions:function(n){var o=typeof n==`function`?n(i.options):n;u(),i.options=Object.assign({},a,i.options,o),i.scrollParents={reference:kS(e)?EC(e):e.contextElement?EC(e.contextElement):[],popper:EC(t)};var s=tw(rw([].concat(r,i.options.modifiers)));return i.orderedModifiers=s.filter(function(e){return e.enabled}),l(),c.update()},forceUpdate:function(){if(!s){var e=i.elements,t=e.reference,n=e.popper;if(aw(t,n)){i.rects={reference:$C(t,XS(n),i.options.strategy===`fixed`),popper:HS(n)},i.reset=!1,i.placement=i.options.placement,i.orderedModifiers.forEach(function(e){return i.modifiersData[e.name]=Object.assign({},e.data)});for(var r=0;r{let r={name:`updateState`,enabled:!0,phase:`write`,fn:({state:e})=>{let t=lw(e);Object.assign(o.value,t)},requires:[`computeStyles`]},i=Y(()=>{let{onFirstUpdate:e,placement:t,strategy:i,modifiers:a}=I(n);return{onFirstUpdate:e,placement:t||`bottom`,strategy:i||`absolute`,modifiers:[...a||[],r,{name:`applyStyles`,enabled:!1}]}}),a=ln(),o=F({styles:{popper:{position:I(i).strategy,left:`0`,top:`0`},arrow:{position:`absolute`}},attributes:{}}),s=()=>{a.value&&=(a.value.destroy(),void 0)};return B(i,e=>{let t=I(a);t&&t.setOptions(e)},{deep:!0}),B([e,t],([e,t])=>{s(),!(!e||!t)&&(a.value=sw(e,t,I(i)))}),$r(()=>{s()}),{state:Y(()=>({...I(a)?.state||{}})),styles:Y(()=>I(o).styles),attributes:Y(()=>I(o).attributes),update:()=>I(a)?.update(),forceUpdate:()=>I(a)?.forceUpdate(),instanceRef:Y(()=>I(a))}};function lw(e){let t=Object.keys(e.elements);return{styles:yy(t.map(t=>[t,e.styles[t]||{}])),attributes:yy(t.map(t=>[t,e.attributes[t]]))}}var uw=e=>{if(!e)return{onClick:f,onMousedown:f,onMouseup:f};let t=!1,n=!1;return{onClick:r=>{t&&n&&e(r),t=n=!1},onMousedown:e=>{t=e.target===e.currentTarget},onMouseup:e=>{n=e.target===e.currentTarget}}},dw=(e,t=0)=>{if(t===0)return e;let n=F(D(t)&&!!t.initVal),r=null,i=t=>{if(Wy(t)){n.value=e.value;return}r&&clearTimeout(r),r=setTimeout(()=>{n.value=e.value},t)},a=e=>{e===`leading`?Ky(t)?i(t):i(t.leading):D(t)?i(t.trailing):n.value=!1};return Xr(()=>a(`leading`)),B(()=>e.value,e=>{a(e?`leading`:`trailing`)}),n};function fw(){let e,t=(t,r)=>{n(),e=globalThis.setTimeout(t,r)},n=()=>{e!==void 0&&(globalThis.clearTimeout(e),e=void 0)};return pb(()=>n()),{registerTimeout:t,cancelTimeout:n}}var pw={prefix:Math.floor(Math.random()*1e4),current:0},mw=Symbol(`elIdInjection`),hw=()=>so()?z(mw,pw):pw,gw=e=>{let t=hw();!gb&&t===pw&&cb(`IdInjection`,`Looks like you are using server rendering, you must provide a id provider to ensure the hydration process to be succeed diff --git a/static/index.html b/static/index.html index 746a850..fa04674 100644 --- a/static/index.html +++ b/static/index.html @@ -61,7 +61,7 @@ } catch (e) {} })(); - +