PageSourceSearch

https://memestack.ai/_next/static/chunks/1196.4e23a24d3abd6b35.js

js memestack.ai collected 2026-10-02 00:26:22 UTC 348,228 bytes, 414 lines download raw bytes

1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1196],{1119:(t,e,i)=>{let r,s;i.d(e,{T:()=>j});var n=i(4215),a=i(93020),o=i(76080),l=i(89660),h=i(62835),u=i(4596),d=i(68951),c=i(35821),f=i(45325);let p={a:7,c:6,h:1,l:2,m:2,q:4,s:4,t:2,v:1,z:0},m=/([astvzqmhlc])([^astvzqmhlc]*)/gi,g=/-?[0-9]*\.?[0-9]+(?:e[-+]?\d+)?/gi;var x=i(49765);class y{constructor(t=0,e=0,i=0){this.type="circle",this.x=t,this.y=e,this.radius=i}clone(){return new y(this.x,this.y,this.radius)}contains(t,e){if(this.radius<=0)return!1;let i=this.radius*this.radius,r=this.x-t,s=this.y-e;return r*=r,s*=s,r+s<=i}strokeContains(t,e,i,r=.5){if(0===this.radius)return!1;let s=this.x-t,n=this.y-e,a=this.radius,o=(1-r)*i,l=Math.sqrt(s*s+n*n);return l<=a+o&&l>a-(i-o)}getBounds(t){return t||(t=new x.M),t.x=this.x-this.radius,t.y=this.y-this.radius,t.width=2*this.radius,t.height=2*this.radius,t}copyFrom(t){return this.x=t.x,this.y=t.y,this.radius=t.radius,this}copyTo(t){return t.copyFrom(this),t}toString(){return`[pixi.js/math:Circle x=${this.x} y=${this.y} radius=${this.radius}]`}}class _{constructor(t=0,e=0,i=0,r=0){this.type="ellipse",this.x=t,this.y=e,this.halfWidth=i,this.halfHeight=r}clone(){return new _(this.x,this.y,this.halfWidth,this.halfHeight)}contains(t,e){if(this.halfWidth<=0||this.halfHeight<=0)return!1;let i=(t-this.x)/this.halfWidth,r=(e-this.y)/this.halfHeight;return i*=i,r*=r,i+r<=1}strokeContains(t,e,i,r=.5){let{halfWidth:s,halfHeight:n}=this;if(s<=0||n<=0)return!1;let a=i*(1-r),o=i-a,l=s-o,h=n-o,u=s+a,d=n+a,c=t-this.x,f=e-this.y;return c*c/(l*l)+f*f/(h*h)>1&&c*c/(u*u)+f*f/(d*d)<=1}getBounds(t){return t||(t=new x.M),t.x=this.x-this.halfWidth,t.y=this.y-this.halfHeight,t.width=2*this.halfWidth,t.height=2*this.halfHeight,t}copyFrom(t){return this.x=t.x,this.y=t.y,this.halfWidth=t.halfWidth,this.halfHeight=t.halfHeight,this}copyTo(t){return t.copyFrom(this),t}toString(){return`[pixi.js/math:Ellipse x=${this.x} y=${this.y} halfWidth=${this.halfWidth} halfHeight=${this.halfHeight}]`}}class v{constructor(...t){this.type="polygon";let e=Array.isArray(t[0])?t[0]:t;if("number"!=typeof e[0]){const t=[];for(let i=0,r=e.length;i<r;i++)t.push(e[i].x,e[i].y);e=t}this.points=e,this.closePath=!0}isClockwise(){let t=0,e=this.points,i=e.length;for(let r=0;r<i;r+=2){let s=e[r],n=e[r+1];t+=(e[(r+2)%i]-s)*(e[(r+3)%i]+n)}return t<0}containsPolygon(t){let e=this.getBounds(r),i=t.getBounds(s);if(!e.containsRect(i))return!1;let n=t.points;for(let t=0;t<n.length;t+=2){let e=n[t],i=n[t+1];if(!this.contains(e,i))return!1}return!0}clone(){let t=new v(this.points.slice());return t.closePath=this.closePath,t}contains(t,e){let i=!1,r=this.points.length/2;for(let s=0,n=r-1;s<r;n=s++){let r=this.points[2*s],a=this.points[2*s+1],o=this.points[2*n],l=this.points[2*n+1];a>e!=l>e&&t<(e-a)/(l-a)*(o-r)+r&&(i=!i)}return i}strokeContains(t,e,i,r=.5){let s=i*i,n=s*(1-r),a=s-n,{points:o}=this,l=o.length-2*!this.closePath;for(let i=0;i<l;i+=2){let r=o[i],s=o[i+1],l=o[(i+2)%o.length],h=o[(i+3)%o.length];if(function(t,e,i,r,s,n){let a,o,l=s-i,h=n-r,u=l*l+h*h,d=-1;0!==u&&(d=((t-i)*l+(e-r)*h)/u),d<0?(a=i,o=r):d>1?(a=s,o=n):(a=i+d*l,o=r+d*h);let c=t-a,f=e-o;return c*c+f*f}(t,e,r,s,l,h)<=(0>Math.sign((l-r)*(e-s)-(h-s)*(t-r))?a:n))return!0}return!1}getBounds(t){t||(t=new x.M);let e=this.points,i=1/0,r=-1/0,s=1/0,n=-1/0;for(let t=0,a=e.length;t<a;t+=2){let a=e[t],o=e[t+1];i=a<i?a:i,r=a>r?a:r,s=o<s?o:s,n=o>n?o:n}return t.x=i,t.width=r-i,t.y=s,t.height=n-s,t}copyFrom(t){return this.points=t.points.slice(),this.closePath=t.closePath,this}copyTo(t){return t.copyFrom(this),t}toString(){return`[pixi.js/math:PolygoncloseStroke=${this.closePath}points=${this.points.reduce((t,e)=>`${t}, ${e}`,"")}]`}get lastX(){return this.points[this.points.length-2]}get lastY(){return this.points[this.points.length-1]}get x(){return(0,d.t6)("8.11.0","Polygon.lastX is deprecated, please use Polygon.lastX instead."),this.points[this.points.length-2]}get y(){return(0,d.t6)("8.11.0","Polygon.y is deprecated, please use Polygon.lastY instead."),this.points[this.points.length-1]}get startX(){return this.points[0]}get startY(){return this.points[1]}}let b=(t,e,i,r,s,n,a)=>{let o=t-i,l=e-r,h=Math.sqrt(o*o+l*l);return h>=s-n&&h<=s+a};class w{constructor(t=0,e=0,i=0,r=0,s=20){this.type="roundedRectangle",this.x=t,this.y=e,this.width=i,this.height=r,this.radius=s}getBounds(t){return t||(t=new x.M),t.x=this.x,t.y=this.y,t.width=this.width,t.height=this.height,t}clone(){return new w(this.x,this.y,this.width,this.height,this.radius)}copyFrom(t){return this.x=t.x,this.y=t.y,this.width=t.width,this.height=t.height,this}copyTo(t){return t.copyFrom(this),t}contains(t,e){if(this.width<=0||this.height<=0)return!1;if(t>=this.x&&t<=this.x+this.width&&e>=this.y&&e<=this.y+this.height){let i=Math.max(0,Math.min(this.radius,Math.min(this.width,this.height)/2));if(e>=this.y+i&&e<=this.y+this.height-i||t>=this.x+i&&t<=this.x+this.width-i)return!0;let r=t-(this.x+i),s=e-(this.y+i),n=i*i;if(r*r+s*s<=n||(r=t-(this.x+this.width-i))*r+s*s<=n||r*r+(s=e-(this.y+this.height-i))*s<=n||(r=t-(this.x+i))*r+s*s<=n)return!0}return!1}strokeContains(t,e,i,r=.5){let{x:s,y:n,width:a,height:o,radius:l}=this,h=i*(1-r),u=i-h,d=s+l,c=n+l,f=a-2*l,p=o-2*l,m=s+a,g=n+o;return(t>=s-h&&t<=s+u||t>=m-u&&t<=m+h)&&e>=c&&e<=c+p||(e>=n-h&&e<=n+u||e>=g-u&&e<=g+h)&&t>=d&&t<=d+f||t<d&&e<c&&b(t,e,d,c,l,u,h)||t>m-l&&e<c&&b(t,e,m-l,c,l,u,h)||t>m-l&&e>g-l&&b(t,e,m-l,g-l,l,u,h)||t<d&&e>g-l&&b(t,e,d,g-l,l,u,h)}toString(){return`[pixi.js/math:RoundedRectangle x=${this.x} y=${this.y}width=${this.width} height=${this.height} radius=${this.radius}]`}}var A=i(22939);function S(t,e,i,r,s,n,a,o,l,h){var u,d,c;let f=(1-Math.min(.99,Math.max(0,h??A.GH.defaultOptions.bezierSmoothness)))/1;return f*=f,function t(e,i,r,s,n,a,o,l,h,u,d){if(d>8)return;let c=(e+r)/2,f=(i+s)/2,p=(r+n)/2,m=(s+a)/2,g=(n+o)/2,x=(a+l)/2,y=(c+p)/2,_=(f+m)/2,v=(p+g)/2,b=(m+x)/2,w=(y+v)/2,A=(_+b)/2;if(d>
10){let t=o-e,d=l-i,c=Math.abs((r-o)*d-(s-l)*t),f=Math.abs((n-o)*d-(a-l)*t);if(c>11920929e-14&&f>11920929e-14){if((c+f)*(c+f)<=u*(t*t+d*d))return void h.push(w,A)}else if(c>11920929e-14){if(c*c<=u*(t*t+d*d))return void h.push(w,A)}else if(f>11920929e-14){if(f*f<=u*(t*t+d*d))return void h.push(w,A)}else if((t=w-(e+o)/2)*t+(d=A-(i+l)/2)*d<=u)return void h.push(w,A)}t(e,i,c,f,y,_,w,A,h,u,d+1),t(w,A,v,b,g,x,o,l,h,u,d+1)}(e,i,r,s,n,a,u=o,d=l,c=t,f,0),c.push(u,d),t}function C(t,e,i,r,s,n,a,o){let l=Math.abs(s-n);!a&&s>n?l=2*Math.PI-l:a&&n>s&&(l=2*Math.PI-l),o||(o=Math.max(6,Math.floor(6*Math.pow(r,1/3)*(l/Math.PI))));let h=l/(o=Math.max(o,3)),u=s;h*=a?-1:1;for(let s=0;s<o+1;s++){let s=e+Math.cos(u)*r,n=i+Math.sin(u)*r;t.push(s,n),u+=h}}let T=2*Math.PI,M={centerX:0,centerY:0,ang1:0,ang2:0},P=({x:t,y:e},i,r,s,n,a,o,l)=>{let h=s*(t*=i)-n*(e*=r),u=n*t+s*e;return l.x=h+a,l.y=u+o,l},k=(t,e,i,r)=>{let s=t*i+e*r;return s>1&&(s=1),s<-1&&(s=-1),(t*r-e*i<0?-1:1)*Math.acos(s)},I=new x.M;class R{constructor(t){this.shapePrimitives=[],this._currentPoly=null,this._bounds=new c.c,this._graphicsPath2D=t,this.signed=t.checkForHoles}moveTo(t,e){return this.startPoly(t,e),this}lineTo(t,e){this._ensurePoly();let i=this._currentPoly.points,r=i[i.length-2],s=i[i.length-1];return(r!==t||s!==e)&&i.push(t,e),this}arc(t,e,i,r,s,n){return this._ensurePoly(!1),C(this._currentPoly.points,t,e,i,r,s,n),this}arcTo(t,e,i,r,s){return this._ensurePoly(),!function(t,e,i,r,s,n){let a=t[t.length-2],o=t[t.length-1]-i,l=a-e,h=s-i,u=r-e,d=Math.abs(o*u-l*h);if(d<1e-8||0===n){(t[t.length-2]!==e||t[t.length-1]!==i)&&t.push(e,i);return}let c=o*o+l*l,f=h*h+u*u,p=o*h+l*u,m=n*Math.sqrt(c)/d,g=n*Math.sqrt(f)/d,x=m*p/c,y=g*p/f,_=m*u+g*l,v=m*h+g*o,b=Math.atan2(o*(g+x)-v,l*(g+x)-_),w=Math.atan2(h*(m+y)-v,u*(m+y)-_);C(t,_+e,v+i,n,b,w,l*h>u*o)}(this._currentPoly.points,t,e,i,r,s),this}arcToSvg(t,e,i,r,s,n,a){return!function(t,e,i,r,s,n,a,o=0,l=0,h=0){var u,d;let c,f,p,m,g,x,y,_,v,b,w;if(0===n||0===a)return;let A=Math.sin(o*T/360),C=Math.cos(o*T/360),I=C*(e-r)/2+A*(i-s)/2,R=-A*(e-r)/2+C*(i-s)/2;if(0===I&&0===R)return;let E=Math.pow(I,2)/Math.pow(n=Math.abs(n),2)+Math.pow(R,2)/Math.pow(a=Math.abs(a),2);E>1&&(n*=Math.sqrt(E),a*=Math.sqrt(E)),u=n,d=a,c=Math.pow(u,2),f=Math.pow(d,2),p=Math.pow(I,2),(g=c*f-c*(m=Math.pow(R,2))-f*p)<0&&(g=0),g/=c*m+f*p,x=(g=Math.sqrt(g)*(l===h?-1:1))*u/d*R,y=-(g*d)/u*I,b=k(1,0,_=(I-x)/u,v=(R-y)/d),w=k(_,v,(-I-x)/u,(-R-y)/d),0===h&&w>0&&(w-=T),1===h&&w<0&&(w+=T),M.centerX=C*x-A*y+(e+r)/2,M.centerY=A*x+C*y+(i+s)/2,M.ang1=b,M.ang2=w;let{ang1:B,ang2:O}=M,{centerX:F,centerY:U}=M,z=Math.abs(O)/(T/4);1e-7>Math.abs(1-z)&&(z=1);let L=Math.max(Math.ceil(z),1);O/=L;let D=t[t.length-2],G=t[t.length-1],V={x:0,y:0};for(let e=0;e<L;e++){let e=function(t,e){let i=-1.5707963267948966===e?-.551915024494:4/3*Math.tan(e/4),r=1.5707963267948966===e?.551915024494:i,s=Math.cos(t),n=Math.sin(t),a=Math.cos(t+e),o=Math.sin(t+e);return[{x:s-n*r,y:n+s*r},{x:a+o*r,y:o-a*r},{x:a,y:o}]}(B,O),{x:i,y:r}=P(e[0],n,a,C,A,F,U,V),{x:s,y:o}=P(e[1],n,a,C,A,F,U,V),{x:l,y:h}=P(e[2],n,a,C,A,F,U,V);S(t,D,G,i,r,s,o,l,h),D=l,G=h,B+=O}}(this._currentPoly.points,this._currentPoly.lastX,this._currentPoly.lastY,n,a,t,e,i,r,s),this}bezierCurveTo(t,e,i,r,s,n,a){this._ensurePoly();let o=this._currentPoly;return S(this._currentPoly.points,o.lastX,o.lastY,t,e,i,r,s,n,a),this}quadraticCurveTo(t,e,i,r,s){var n,a,o,l,h,u,d,c,f,p,m;let g;this._ensurePoly();let x=this._currentPoly;return n=this._currentPoly.points,a=x.lastX,o=x.lastY,g=(1-Math.min(.99,Math.max(0,s??A.GH.defaultOptions.bezierSmoothness)))/1,l=a,h=o,u=t,d=e,c=i,f=r,p=n,m=g*=g,function t(e,i,r,s,n,a,o,l,h){if(h>8)return;let u=(i+s)/2,d=(r+n)/2,c=(s+a)/2,f=(n+o)/2,p=(u+c)/2,m=(d+f)/2,g=a-i,x=o-r,y=Math.abs((s-a)*x-(n-o)*g);if(y>11920929e-14){if(y*y<=l*(g*g+x*x))return void e.push(p,m)}else if((g=p-(i+a)/2)*g+(x=m-(r+o)/2)*x<=l)return void e.push(p,m);t(e,i,r,u,d,p,m,l,h+1),t(e,p,m,c,f,a,o,l,h+1)}(p,l,h,u,d,c,f,m,0),p.push(c,f),this}closePath(){return this.endPoly(!0),this}addPath(t,e){this.endPoly(),e&&!e.isIdentity()&&(t=t.clone(!0)).transform(e);let i=this.shapePrimitives,r=i.length;for(let e=0;e<t.instructions.length;e++){let i=t.instructions[e];this[i.action](...i.data)}if(t.checkForHoles&&i.length-r>1){let t=null;for(let e=r;e<i.length;e++){let r=i[e];if("polygon"===r.shape.type){let s=r.shape,n=t?.shape;n&&n.containsPolygon(s)?(t.holes||(t.holes=[]),t.holes.push(r),i.copyWithin(e,e+1),i.length--,e--):t=r}}}return this}finish(t=!1){this.endPoly(t)}rect(t,e,i,r,s){return this.drawShape(new x.M(t,e,i,r),s),this}circle(t,e,i,r){return this.drawShape(new y(t,e,i),r),this}poly(t,e,i){let r=new v(t);return r.closePath=e,this.drawShape(r,i),this}regularPoly(t,e,i,r,s=0,n){let a=-1*Math.PI/2+s,o=2*Math.PI/(r=Math.max(0|r,3)),l=[];for(let s=0;s<r;s++){let r=a-s*o;l.push(t+i*Math.cos(r),e+i*Math.sin(r))}return this.poly(l,!0,n),this}
1roundPoly(t,e,i,r,s,n=0,a){if(r=Math.max(0|r,3),s<=0)return this.regularPoly(t,e,i,r,n);s=Math.min(s,i*Math.sin(Math.PI/r)-.001);let o=-1*Math.PI/2+n,l=2*Math.PI/r,h=(r-2)*Math.PI/r/2;for(let n=0;n<r;n++){let r=n*l+o,u=t+i*Math.cos(r),d=e+i*Math.sin(r),c=r+Math.PI+h,f=r-Math.PI-h,p=u+s*Math.cos(c),m=d+s*Math.sin(c),g=u+s*Math.cos(f),x=d+s*Math.sin(f);0===n?this.moveTo(p,m):this.lineTo(p,m),this.quadraticCurveTo(u,d,g,x,a)}return this.closePath()}roundShape(t,e,i=!1,r){return t.length<3?this:(i?!function(t,e,i,r){let s=(t,e)=>Math.sqrt((t.x-e.x)**2+(t.y-e.y)**2),n=(t,e,i)=>({x:t.x+(e.x-t.x)*i,y:t.y+(e.y-t.y)*i}),a=e.length;for(let o=0;o<a;o++){let l,h,u=e[(o+1)%a],d=u.radius??i;if(d<=0){0===o?t.moveTo(u.x,u.y):t.lineTo(u.x,u.y);continue}let c=e[o],f=e[(o+2)%a],p=s(c,u);l=p<1e-4?u:n(u,c,Math.min(p/2,d)/p);let m=s(f,u);h=m<1e-4?u:n(u,f,Math.min(m/2,d)/m),0===o?t.moveTo(l.x,l.y):t.lineTo(l.x,l.y),t.quadraticCurveTo(u.x,u.y,h.x,h.y,r)}}(this,t,e,r):!function(t,e,i){let r=(t,e)=>{let i=e.x-t.x,r=e.y-t.y,s=Math.sqrt(i*i+r*r);return{len:s,nx:i/s,ny:r/s}},s=(e,i)=>{0===e?t.moveTo(i.x,i.y):t.lineTo(i.x,i.y)},n=e[e.length-1];for(let a=0;a<e.length;a++){let o,l=e[a%e.length],h=l.radius??i;if(h<=0){s(a,l),n=l;continue}let u=e[(a+1)%e.length],d=r(l,n),c=r(l,u);if(d.len<1e-4||c.len<1e-4){s(a,l),n=l;continue}let f=Math.asin(d.nx*c.ny-d.ny*c.nx),p=1,m=!1;d.nx*c.nx- -(d.ny*c.ny)<0?f<0?f=Math.PI+f:(f=Math.PI-f,p=-1,m=!0):f>0&&(p=-1,m=!0);let g=f/2,x=Math.abs(Math.cos(g)*h/Math.sin(g));o=x>Math.min(d.len/2,c.len/2)?Math.abs((x=Math.min(d.len/2,c.len/2))*Math.sin(g)/Math.cos(g)):h;let y=l.x+c.nx*x+-c.ny*o*p,_=l.y+c.ny*x+c.nx*o*p,v=Math.atan2(d.ny,d.nx)+Math.PI/2*p,b=Math.atan2(c.ny,c.nx)-Math.PI/2*p;0===a&&t.moveTo(y+Math.cos(v)*o,_+Math.sin(v)*o),t.arc(y,_,o,v,b,m),n=l}}(this,t,e),this.closePath())}filletRect(t,e,i,r,s){if(0===s)return this.rect(t,e,i,r);let n=Math.min(i,r)/2,a=Math.min(n,Math.max(-n,s)),o=t+i,l=e+r,h=a<0?-a:0,u=Math.abs(a);return this.moveTo(t,e+u).arcTo(t+h,e+h,t+u,e,u).lineTo(o-u,e).arcTo(o-h,e+h,o,e+u,u).lineTo(o,l-u).arcTo(o-h,l-h,t+i-u,l,u).lineTo(t+u,l).arcTo(t+h,l-h,t,l-u,u).closePath()}chamferRect(t,e,i,r,s,n){if(s<=0)return this.rect(t,e,i,r);let a=Math.min(s,Math.min(i,r)/2),o=t+i,l=e+r,h=[t+a,e,o-a,e,o,e+a,o,l-a,o-a,l,t+a,l,t,l-a,t,e+a];for(let t=h.length-1;t>=2;t-=2)h[t]===h[t-2]&&h[t-1]===h[t-3]&&h.splice(t-1,2);return this.poly(h,!0,n)}ellipse(t,e,i,r,s){return this.drawShape(new _(t,e,i,r),s),this}roundRect(t,e,i,r,s,n){return this.drawShape(new w(t,e,i,r,s),n),this}drawShape(t,e){return this.endPoly(),this.shapePrimitives.push({shape:t,transform:e}),this}startPoly(t,e){let i=this._currentPoly;return i&&this.endPoly(),(i=new v).points.push(t,e),this._currentPoly=i,this}endPoly(t=!1){let e=this._currentPoly;return e&&e.points.length>2&&(e.closePath=t,this.shapePrimitives.push({shape:e})),this._currentPoly=null,this}_ensurePoly(t=!0){if(!this._currentPoly&&(this._currentPoly=new v,t)){let t=this.shapePrimitives[this.shapePrimitives.length-1];if(t){let e=t.shape.x,i=t.shape.y;if(t.transform&&!t.transform.isIdentity()){let r=t.transform,s=e;e=r.a*e+r.c*i+r.tx,i=r.b*s+r.d*i+r.ty}this._currentPoly.points.push(e,i)}else this._currentPoly.points.push(0,0)}}buildPath(){let t=this._graphicsPath2D;this.shapePrimitives.length=0,this._currentPoly=null;for(let e=0;e<t.instructions.length;e++){let i=t.instructions[e];this[i.action](...i.data)}this.finish()}get bounds(){let t=this._bounds;t.clear();let e=this.shapePrimitives;for(let i=0;i<e.length;i++){let r=e[i],s=r.shape.getBounds(I);r.transform?t.addRect(s,r.transform):t.addRect(s)}return t}}class E{constructor(t,e=!1){this.instructions=[],this.uid=(0,u.L)("graphicsPath"),this._dirty=!0,this.checkForHoles=e,"string"==typeof t?function(t,e){let i,r=(i=[],t.replace(m,(t,e,r)=>{let s,n=e.toLowerCase(),a=e,o=(s=r.match(g))?s.map(Number):[];for("m"===n&&o.length>2&&(i.push([a,...o.splice(0,2)]),n="l",a="m"===a?"l":"L");;){if(o.length===p[n])return i.push([a,...o]),"";if(o.length<p[n])throw Error("malformed path data");i.push([a,...o.splice(0,p[n])])}}),i),s=[],n=null,a=0,o=0;for(let t=0;t<r.length;t++){let i=r[t],l=i[0];switch(l){case"M":a=i[1],o=i[2],e.moveTo(a,o);break;case"m":a+=i[1],o+=i[2],e.moveTo(a,o);break;case"H":a=i[1],e.lineTo(a,o);break;case"h":a+=i[1],e.lineTo(a,o);break;case"V":o=i[1],e.lineTo(a,o);break;case"v":o+=i[1],e.lineTo(a,o);break;case"L":a=i[1],o=i[2],e.lineTo(a,o);break;case"l":a+=i[1],o+=i[2],e.lineTo(a,o);break;case"C":a=i[5],o=i[6],e.bezierCurveTo(i[1],i[2],i[3],i[4],a,o);break;case"c":e.bezierCurveTo(a+i[1],o+i[2],a+i[3],o+i[4],a+i[5],o+i[6]),a+=i[5],o+=i[6];break;case"S":a=i[3],o=i[4],e.bezierCurveToShort(i[1],i[2],a,o);break;case"s":e.bezierCurveToShort(a+i[1],o+i[2],a+i[3],o+i[4]),a+=i[3],o+=i[4];break;case"Q":a=i[3],o=i[4],e.quadraticCurveTo(i[1],i[2],a,o);break;case"q":e.quadraticCurveTo(a+i[1],o+i[2],a+i[3],o+i[4]),a+=i[3],o+=i[4];break;case"T":a=i[1],o=i[2],e.quadraticCurveToShort(a,o);break;case"t":a+=i[1],o+=i[2],e.quadraticCurveToShort(a,o);break;case"A":a=i[6],o=i[7],e.arcToSvg(i[1],i[2],i[3],i[4],i[5],a,o);break;case"a":a+=i[6],o+=i[7],e.arcToSvg(i[1],i[2],i[3],i[4],i[5],a,o);break;case"Z":case"z":e.closePath(),s.length>0&&((n=s.pop())?(a=n.startX,o=n.startY):(a=0,o=0)),n=null;break;default:(0,f.R)(`Unknown SVG path command: ${l}`)}"Z"!==l&&"z"!==l&&null===n&&(n={startX:a,startY:o},s.push(n))}}(t,this):this.instructions=t?.slice()??[]}get shapePath(){return this._shapePath||(this._shapePath=new R(this)),this._dirty&&(this._dirty=!1,this._shapePath.buildPath()),this._shapePath}addPath(t,e){return t=t.clone(),this.instructions.push({action:"addPath",data:[t,e]}),this._dirty=!0,this}arc(...t){return this.instructions.push({action:"arc",data:t}),this._dirty=!0,this}arcTo(...t){return this.instructions.push({action:"arcTo",data:t}),this._dirty=!0,this}arcToSvg(...t){return this.instructions.push({action:"arcToSvg",data:t}),this._dirty=!0,this}bezierCurveTo(...t){return this.instructions.push({action:"bezierCurveTo",data:t}),this._dirty=!0,this}bezierCurveToShort(t,e,i,r,s){let n=this.instructions[this.instructions.length-1],a=this.getLastPoint(l.b.shared),o=0,h=0;if(n&&"bezierCurveTo"===n.action){o=n.data[2],h=n.data[3];let t=a.x,e=a.y;o=t+(t-o),h=e+(e-h)}else o=a.x,h=a.y;return this.instructions.push({action:"bezierCurveTo",data:[o,h,t,e,i,r,s]}),this._dirty=!0,this}closePath(){return this.instructions.push({action:"closePath",data:[]}),this._dirty=!0,this}ellipse(...t){return this.instructions.push({action:"ellipse",data:t}),this._dirty=!0,this}lineTo(...t){return this.instructions.push({action:"lineTo",data:t}),this._dirty=!0,this}moveTo(...t){return this.instructions.push({action:"moveTo",data:t}),this}quadraticCurveTo(...t){return this.instructions.push({action:"quadraticCurveTo",data:t}),this._dirty=!0,this}quadraticCurveToShort(t,e,i){let r=this.instructions[this.instructions.length-1],s=this.getLastPoint(l.b.shared),n=0,a=0;if(r&&"quadraticCurveTo"===r.action){n=r.data[0],a=r.data[1];let t=s.x,e=s.y;n=t+(t-n),a=e+(e-a)}else n=s.x,a=s.y;return this.instructions.push({action:"quadraticCurveTo",data:[n,a,t,e,i]}),this._dirty=!0,this}rect(t,e,i,r,s){return this.instructions.push({action:"rect",data:[t,e,i,r,s]}),this._dirty=!0,this}circle(t,e,i,r){return this.instructions.push({action:"circle",data:[t,e,i,r]}),this._dirty=!0,this}
1roundRect(...t){return this.instructions.push({action:"roundRect",data:t}),this._dirty=!0,this}poly(...t){return this.instructions.push({action:"poly",data:t}),this._dirty=!0,this}regularPoly(...t){return this.instructions.push({action:"regularPoly",data:t}),this._dirty=!0,this}roundPoly(...t){return this.instructions.push({action:"roundPoly",data:t}),this._dirty=!0,this}roundShape(...t){return this.instructions.push({action:"roundShape",data:t}),this._dirty=!0,this}filletRect(...t){return this.instructions.push({action:"filletRect",data:t}),this._dirty=!0,this}chamferRect(...t){return this.instructions.push({action:"chamferRect",data:t}),this._dirty=!0,this}star(t,e,i,r,s,n,a){s||(s=r/2);let o=-1*Math.PI/2+n,l=2*i,h=2*Math.PI/l,u=[];for(let i=0;i<l;i++){let n=i%2?s:r,a=i*h+o;u.push(t+n*Math.cos(a),e+n*Math.sin(a))}return this.poly(u,!0,a),this}clone(t=!1){let e=new E;if(e.checkForHoles=this.checkForHoles,t)for(let t=0;t<this.instructions.length;t++){let i=this.instructions[t];e.instructions.push({action:i.action,data:i.data.slice()})}else e.instructions=this.instructions.slice();return e}clear(){return this.instructions.length=0,this._dirty=!0,this}transform(t){if(t.isIdentity())return this;let e=t.a,i=t.b,r=t.c,s=t.d,n=t.tx,a=t.ty,o=0,l=0,h=0,u=0,d=0,c=0,p=0,m=0;for(let g=0;g<this.instructions.length;g++){let x=this.instructions[g],y=x.data;switch(x.action){case"moveTo":case"lineTo":o=y[0],l=y[1],y[0]=e*o+r*l+n,y[1]=i*o+s*l+a;break;case"bezierCurveTo":h=y[0],u=y[1],d=y[2],c=y[3],o=y[4],l=y[5],y[0]=e*h+r*u+n,y[1]=i*h+s*u+a,y[2]=e*d+r*c+n,y[3]=i*d+s*c+a,y[4]=e*o+r*l+n,y[5]=i*o+s*l+a;break;case"quadraticCurveTo":h=y[0],u=y[1],o=y[2],l=y[3],y[0]=e*h+r*u+n,y[1]=i*h+s*u+a,y[2]=e*o+r*l+n,y[3]=i*o+s*l+a;break;case"arcToSvg":o=y[5],l=y[6],p=y[0],m=y[1],y[0]=e*p+r*m,y[1]=i*p+s*m,y[5]=e*o+r*l+n,y[6]=i*o+s*l+a;break;case"circle":y[4]=B(y[3],t);break;case"rect":y[4]=B(y[4],t);break;case"ellipse":y[8]=B(y[8],t);break;case"roundRect":case"regularPoly":case"chamferRect":y[5]=B(y[5],t);break;case"addPath":y[0].transform(t);break;case"poly":y[2]=B(y[2],t);break;case"closePath":break;default:(0,f.R)("unknown transform action",x.action)}}return this._dirty=!0,this}get bounds(){return this.shapePath.bounds}getLastPoint(t){let e=this.instructions.length-1,i=this.instructions[e];if(!i)return t.x=0,t.y=0,t;for(;"closePath"===i.action;){if(--e<0)return t.x=0,t.y=0,t;i=this.instructions[e]}switch(i.action){case"moveTo":case"lineTo":t.x=i.data[0],t.y=i.data[1];break;case"quadraticCurveTo":t.x=i.data[2],t.y=i.data[3];break;case"bezierCurveTo":t.x=i.data[4],t.y=i.data[5];break;case"arc":case"arcToSvg":t.x=i.data[5],t.y=i.data[6];break;case"addPath":i.data[0].getLastPoint(t)}return t}}function B(t,e){return t?t.prepend(e):e.clone()}var O=i(23109);function F(t,e,i){let r=t.getAttribute(e);return r?Number(r):i}function U(t){let e=t.match(/url\s*\(\s*['"]?\s*#([^'"\s)]+)\s*['"]?\s*\)/i);return e?e[1]:""}let z={fill:{type:"paint",default:0},"fill-opacity":{type:"number",default:1},stroke:{type:"paint",default:0},"stroke-width":{type:"number",default:1},"stroke-opacity":{type:"number",default:1},"stroke-linecap":{type:"string",default:"butt"},"stroke-linejoin":{type:"string",default:"miter"},"stroke-miterlimit":{type:"number",default:10},"stroke-dasharray":{type:"string",default:"none"},"stroke-dashoffset":{type:"number",default:0},opacity:{type:"number",default:1}};function L(t,e){let i=t.getAttribute("style"),r={},s={},n={strokeStyle:r,fillStyle:s,useFill:!1,useStroke:!1};for(let i in z){let r=t.getAttribute(i);r&&D(e,n,i,r.trim())}if(i){let t=i.split(";");for(let i=0;i<t.length;i++){let[r,s]=t[i].trim().split(":");z[r]&&D(e,n,r,s.trim())}}return{strokeStyle:n.useStroke?r:null,fillStyle:n.useFill?s:null,useFill:n.useFill,useStroke:n.useStroke}}function D(t,e,i,r){switch(i){case"stroke":if("none"!==r){if(r.startsWith("url(")){let i=U(r);e.strokeStyle.fill=t.defs[i]}else e.strokeStyle.color=a.Q.shared.setValue(r).toNumber();e.useStroke=!0}break;case"stroke-width":e.strokeStyle.width=Number(r);break;case"fill":if("none"!==r){if(r.startsWith("url(")){let i=U(r);e.fillStyle.fill=t.defs[i]}else e.fillStyle.color=a.Q.shared.setValue(r).toNumber();e.useFill=!0}break;case"fill-opacity":e.fillStyle.alpha=Number(r);break;case"stroke-opacity":e.strokeStyle.alpha=Number(r);break;case"opacity":e.fillStyle.alpha=Number(r),e.strokeStyle.alpha=Number(r)}}function G(t,e){for(let i of new E(t,!1).instructions)e.instructions.push(i)}var V=i(71359);let W=new l.b,$=new o.u,X=class t extends n.A{constructor(){super(...arguments),this._gpuData=Object.create(null),this.autoGarbageCollect=!0,this._gcLastUsed=-1,this.uid=(0,u.L)("graphicsContext"),this.dirty=!0,this.batchMode="auto",this.instructions=[],this.destroyed=!1,this._activePath=new E,this._transform=new o.u,this._fillStyle={...t.defaultFillStyle},this._strokeStyle={...t.defaultStrokeStyle},this._stateStack=[],this._tick=0,this._bounds=new c.c,this._boundsDirty=!0}clone(){let e=new t;return e.batchMode=this.batchMode,e.instructions=this.instructions.slice(),e._activePath=this._activePath.clone(),e._transform=this._transform.clone(),e._fillStyle={...this._fillStyle},e._strokeStyle={...this._strokeStyle},e._stateStack=this._stateStack.slice(),e._bounds=this._bounds.clone(),e._boundsDirty=!0,e}get fillStyle(){return this._fillStyle}set fillStyle(e){this._fillStyle=(0,V.w)(e,t.defaultFillStyle)}get strokeStyle(){return this._strokeStyle}set strokeStyle(e){this._strokeStyle=(0,V.T)(e,t.defaultStrokeStyle)}
1setFillStyle(e){return this._fillStyle=(0,V.w)(e,t.defaultFillStyle),this}setStrokeStyle(e){return this._strokeStyle=(0,V.w)(e,t.defaultStrokeStyle),this}texture(t,e,i,r,s,n){return this.instructions.push({action:"texture",data:{image:t,dx:i||0,dy:r||0,dw:s||t.frame.width,dh:n||t.frame.height,transform:this._transform.clone(),alpha:this._fillStyle.alpha,style:e||0===e?a.Q.shared.setValue(e).toNumber():0xffffff}}),this.onUpdate(),this}beginPath(){return this._activePath=new E,this}fill(e,i){let r,s=this.instructions[this.instructions.length-1];return(r=0===this._tick&&s?.action==="stroke"?s.data.path:this._activePath.clone())&&(null!=e&&(void 0!==i&&"number"==typeof e&&((0,d.t6)(d.lj,"GraphicsContext.fill(color, alpha) is deprecated, use GraphicsContext.fill({ color, alpha }) instead"),e={color:e,alpha:i}),this._fillStyle=(0,V.w)(e,t.defaultFillStyle)),this.instructions.push({action:"fill",data:{style:this.fillStyle,path:r}}),this.onUpdate(),this._initNextPathLocation(),this._tick=0),this}_initNextPathLocation(){let{x:t,y:e}=this._activePath.getLastPoint(l.b.shared);this._activePath.clear(),this._activePath.moveTo(t,e)}stroke(e){let i,r=this.instructions[this.instructions.length-1];return(i=0===this._tick&&r?.action==="fill"?r.data.path:this._activePath.clone())&&(null!=e&&(this._strokeStyle=(0,V.T)(e,t.defaultStrokeStyle)),this.instructions.push({action:"stroke",data:{style:this.strokeStyle,path:i}}),this.onUpdate(),this._initNextPathLocation(),this._tick=0),this}cut(){for(let t=0;t<2;t++){let e=this.instructions[this.instructions.length-1-t],i=this._activePath.clone();if(e&&("stroke"===e.action||"fill"===e.action))if(e.data.hole)e.data.hole.addPath(i);else{e.data.hole=i;break}}return this._initNextPathLocation(),this}arc(t,e,i,r,s,n){this._tick++;let a=this._transform;return this._activePath.arc(a.a*t+a.c*e+a.tx,a.b*t+a.d*e+a.ty,i,r,s,n),this}arcTo(t,e,i,r,s){this._tick++;let n=this._transform;return this._activePath.arcTo(n.a*t+n.c*e+n.tx,n.b*t+n.d*e+n.ty,n.a*i+n.c*r+n.tx,n.b*i+n.d*r+n.ty,s),this}arcToSvg(t,e,i,r,s,n,a){this._tick++;let o=this._transform;return this._activePath.arcToSvg(t,e,i,r,s,o.a*n+o.c*a+o.tx,o.b*n+o.d*a+o.ty),this}bezierCurveTo(t,e,i,r,s,n,a){this._tick++;let o=this._transform;return this._activePath.bezierCurveTo(o.a*t+o.c*e+o.tx,o.b*t+o.d*e+o.ty,o.a*i+o.c*r+o.tx,o.b*i+o.d*r+o.ty,o.a*s+o.c*n+o.tx,o.b*s+o.d*n+o.ty,a),this}closePath(){return this._tick++,this._activePath?.closePath(),this}ellipse(t,e,i,r){return this._tick++,this._activePath.ellipse(t,e,i,r,this._transform.clone()),this}circle(t,e,i){return this._tick++,this._activePath.circle(t,e,i,this._transform.clone()),this}path(t){return this._tick++,this._activePath.addPath(t,this._transform.clone()),this}lineTo(t,e){this._tick++;let i=this._transform;return this._activePath.lineTo(i.a*t+i.c*e+i.tx,i.b*t+i.d*e+i.ty),this}moveTo(t,e){this._tick++;let i=this._transform,r=this._activePath.instructions,s=i.a*t+i.c*e+i.tx,n=i.b*t+i.d*e+i.ty;return 1===r.length&&"moveTo"===r[0].action?(r[0].data[0]=s,r[0].data[1]=n):this._activePath.moveTo(s,n),this}quadraticCurveTo(t,e,i,r,s){this._tick++;let n=this._transform;return this._activePath.quadraticCurveTo(n.a*t+n.c*e+n.tx,n.b*t+n.d*e+n.ty,n.a*i+n.c*r+n.tx,n.b*i+n.d*r+n.ty,s),this}rect(t,e,i,r){return this._tick++,this._activePath.rect(t,e,i,r,this._transform.clone()),this}roundRect(t,e,i,r,s){return this._tick++,this._activePath.roundRect(t,e,i,r,s,this._transform.clone()),this}poly(t,e){return this._tick++,this._activePath.poly(t,e,this._transform.clone()),this}regularPoly(t,e,i,r,s=0,n){return this._tick++,this._activePath.regularPoly(t,e,i,r,s,n),this}roundPoly(t,e,i,r,s,n){return this._tick++,this._activePath.roundPoly(t,e,i,r,s,n),this}roundShape(t,e,i,r){return this._tick++,this._activePath.roundShape(t,e,i,r),this}filletRect(t,e,i,r,s){return this._tick++,this._activePath.filletRect(t,e,i,r,s),this}chamferRect(t,e,i,r,s,n){return this._tick++,this._activePath.chamferRect(t,e,i,r,s,n),this}star(t,e,i,r,s=0,n=0){return this._tick++,this._activePath.star(t,e,i,r,s,n,this._transform.clone()),this}svg(t){return this._tick++,!function(t,e){if("string"==typeof t){let e=document.createElement("div");e.innerHTML=t.trim(),t=e.querySelector("svg")}let i={context:e,defs:{},path:new E};!function(t,e){let i=t.querySelectorAll("defs");for(let t=0;t<i.length;t++){let s=i[t];for(let t=0;t<s.children.length;t++){let i=s.children[t];switch(i.nodeName.toLowerCase()){case"lineargradient":e.defs[i.id]=function(t){let e=F(t,"x1",0),i=F(t,"y1",0),r=F(t,"x2",1),s=F(t,"y2",0),n=t.getAttribute("gradientUnits")||"objectBoundingBox",o=new O._(e,i,r,s,"objectBoundingBox"===n?"local":"global");for(let e=0;e<t.children.length;e++){let i=t.children[e],r=F(i,"offset",0),s=a.Q.shared.setValue(i.getAttribute("stop-color")).toNumber();o.addColorStop(r,s)}return o}(i);break;case"radialgradient":var r;e.defs[i.id]=(r=0,(0,f.R)("[SVG Parser] Radial gradients are not yet supported"),new O._(0,0,1,0))}}}}(t,i);let r=t.children,{fillStyle:s,strokeStyle:n}=L(t,i);for(let t=0;t<r.length;t++){let e=r[t];
1"defs"!==e.nodeName.toLowerCase()&&function t(e,i,r,s){let n,a,o,l,h,u,d,c,p,m,g,x,y,_,v,b,w=e.children,{fillStyle:A,strokeStyle:S}=L(e,i);A&&r?r={...r,...A}:A&&(r=A),S&&s?s={...s,...S}:S&&(s=S);let C=!r&&!s;switch(C&&(r={color:0}),e.nodeName.toLowerCase()){case"path":{y=e.getAttribute("d");let t=e.getAttribute("fill-rule"),n=y.split(/(?=[Mm])/).filter(t=>t.trim().length>0),a=n.length>1;if("evenodd"===t&&a){let t=n.map(t=>({path:t,area:function(t){let e=t.match(/[-+]?[0-9]*\.?[0-9]+/g);if(!e||e.length<4)return 0;let i=e.map(Number),r=[],s=[];for(let t=0;t<i.length;t+=2)t+1<i.length&&(r.push(i[t]),s.push(i[t+1]));if(0===r.length||0===s.length)return 0;let n=Math.min(...r),a=Math.min(...s);return(Math.max(...r)-n)*(Math.max(...s)-a)}(t)}));if(t.sort((t,e)=>e.area-t.area),n.length>3||!function(t){if(t.length<=2)return!0;let e=t.map(t=>t.area).sort((t,e)=>e-t),[i,r]=e,s=e[e.length-1];return!(i/r>3)||!(r/s<2)}(t))for(let e=0;e<t.length;e++){let n=t[e],a=0===e;i.context.beginPath();let o=new E(void 0,!0);G(n.path,o),i.context.path(o),a?(r&&i.context.fill(r),s&&i.context.stroke(s)):i.context.cut()}else for(let e=0;e<t.length;e++){let n=t[e],a=e%2==1;i.context.beginPath();let o=new E(void 0,!0);G(n.path,o),i.context.path(o),a?i.context.cut():(r&&i.context.fill(r),s&&i.context.stroke(s))}}else _=new E(y,!t||"evenodd"===t),i.context.path(_),r&&i.context.fill(r),s&&i.context.stroke(s);break}case"circle":d=F(e,"cx",0),c=F(e,"cy",0),p=F(e,"r",0),i.context.ellipse(d,c,p,p),r&&i.context.fill(r),s&&i.context.stroke(s);break;case"rect":n=F(e,"x",0),a=F(e,"y",0),v=F(e,"width",0),b=F(e,"height",0),m=F(e,"rx",0),g=F(e,"ry",0),m||g?i.context.roundRect(n,a,v,b,m||g):i.context.rect(n,a,v,b),r&&i.context.fill(r),s&&i.context.stroke(s);break;case"ellipse":d=F(e,"cx",0),c=F(e,"cy",0),m=F(e,"rx",0),g=F(e,"ry",0),i.context.beginPath(),i.context.ellipse(d,c,m,g),r&&i.context.fill(r),s&&i.context.stroke(s);break;case"line":o=F(e,"x1",0),l=F(e,"y1",0),h=F(e,"x2",0),u=F(e,"y2",0),i.context.beginPath(),i.context.moveTo(o,l),i.context.lineTo(h,u),s&&i.context.stroke(s);break;case"polygon":x=e.getAttribute("points").match(/-?\d+/g).map(t=>parseInt(t,10)),i.context.poly(x,!0),r&&i.context.fill(r),s&&i.context.stroke(s);break;case"polyline":x=e.getAttribute("points").match(/-?\d+/g).map(t=>parseInt(t,10)),i.context.poly(x,!1),s&&i.context.stroke(s);break;case"g":case"svg":break;default:(0,f.R)(`[SVG parser] <${e.nodeName}> elements unsupported`)}C&&(r=null);for(let e=0;e<w.length;e++)t(w[e],i,r,s)}(e,i,s,n)}}(t,this),this}restore(){let t=this._stateStack.pop();return t&&(this._transform=t.transform,this._fillStyle=t.fillStyle,this._strokeStyle=t.strokeStyle),this}save(){return this._stateStack.push({transform:this._transform.clone(),fillStyle:{...this._fillStyle},strokeStyle:{...this._strokeStyle}}),this}getTransform(){return this._transform}resetTransform(){return this._transform.identity(),this}rotate(t){return this._transform.rotate(t),this}scale(t,e=t){return this._transform.scale(t,e),this}setTransform(t,e,i,r,s,n){return t instanceof o.u?this._transform.set(t.a,t.b,t.c,t.d,t.tx,t.ty):this._transform.set(t,e,i,r,s,n),this}transform(t,e,i,r,s,n){return t instanceof o.u?this._transform.append(t):($.set(t,e,i,r,s,n),this._transform.append($)),this}translate(t,e=t){return this._transform.translate(t,e),this}clear(){return this._activePath.clear(),this.instructions.length=0,this.resetTransform(),this.onUpdate(),this}onUpdate(){this._boundsDirty=!0,this.dirty=!0,this.emit("update",this,16)}get bounds(){if(!this._boundsDirty)return this._bounds;this._boundsDirty=!1;let t=this._bounds;t.clear();for(let e=0;e<this.instructions.length;e++){let i=this.instructions[e],r=i.action;if("fill"===r){let e=i.data;t.addBounds(e.path.bounds)}else if("texture"===r){let e=i.data;t.addFrame(e.dx,e.dy,e.dx+e.dw,e.dy+e.dh,e.transform)}if("stroke"===r){let e=i.data,r=e.style.alignment,s=e.style.width*(1-r);"miter"===e.style.join&&(s*=function(t,e){let i=1,r=t.shapePath.shapePrimitives;for(let t=0;t<r.length;t++){let s=r[t].shape;if("polygon"!==s.type)continue;let n=s.points,a=n.length;if(a<6)continue;let o=s.closePath;for(let t=0;t<a;t+=2){if(!o&&(0===t||t===a-2))continue;let r=(t-2+a)%a,s=(t+2)%a,l=n[r],h=n[r+1],u=n[t],d=n[t+1],c=n[s],f=n[s+1],p=l-u,m=h-d,g=c-u,x=f-d,y=p*p+m*m,_=g*g+x*x;if(y<1e-12||_<1e-12)continue;let v=(p*g+m*x)/Math.sqrt(y*_);v<-1?v=-1:v>1&&(v=1);let b=Math.sqrt((1-v)*.5);if(b<1e-6)continue;let w=Math.min(1/b,e);w>i&&(i=w)}}return i}(e.path,e.style.miterLimit));let n=e.path.bounds;t.addFrame(n.minX-s,n.minY-s,n.maxX+s,n.maxY+s)}}return t.isValid||t.set(0,0,0,0),t}containsPoint(t){if(!this.bounds.containsPoint(t.x,t.y))return!1;let e=this.instructions,i=!1;for(let r=0;r<e.length;r++){let s=e[r],n=s.data,a=n.path;if(!s.action||!a)continue;let o=n.style,l=a.shapePath.shapePrimitives;for(let e=0;e<l.length;e++){let r=l[e].shape;if(!o||!r)continue;let a=l[e].transform,h=a?a.applyInverse(t,W):t;i="fill"===s.action?r.contains(h.x,h.y):r.strokeContains(h.x,h.y,o.width,o.alignment);let u=n.hole;if(u){let t=u.shapePath?.shapePrimitives;if(t)for(let e=0;e<t.length;e++)t[e].shape.contains(h.x,h.y)&&(i=!1)}if(i)return!0}}return i}
1unload(){for(let t in this.emit("unload",this),this._gpuData)this._gpuData[t]?.destroy();this._gpuData=Object.create(null)}destroy(t=!1){if(!this.destroyed){if(this.destroyed=!0,this._stateStack.length=0,this._transform=null,this.unload(),this.emit("destroy",this),this.removeAllListeners(),"boolean"==typeof t?t:t?.texture){let e="boolean"==typeof t?t:t?.textureSource;this._fillStyle.texture&&(this._fillStyle.fill&&"uid"in this._fillStyle.fill?this._fillStyle.fill.destroy():this._fillStyle.texture.destroy(e)),this._strokeStyle.texture&&(this._strokeStyle.fill&&"uid"in this._strokeStyle.fill?this._strokeStyle.fill.destroy():this._strokeStyle.texture.destroy(e))}this._fillStyle=null,this._strokeStyle=null,this.instructions=null,this._activePath=null,this._bounds=null,this._stateStack=null,this.customShader=null,this._transform=null}}};X.defaultFillStyle={color:0xffffff,alpha:1,texture:h.g.WHITE,matrix:null,fill:null,textureSpace:"local"},X.defaultStrokeStyle={width:1,color:0xffffff,alpha:1,alignment:.5,miterLimit:10,cap:"butt",join:"miter",texture:h.g.WHITE,matrix:null,fill:null,textureSpace:"local",pixelLine:!1};let j=X},1217:(t,e,i)=>{i.d(e,{P:()=>a,_:()=>s});let r={};function s(t){return r[t]||(r[t]={name:"texture-batch-bit",vertex:{header:`
2                @in aTextureIdAndRound: vec2<u32>;
3                @out @interpolate(flat) vTextureId : u32;
4            `,main:`
5                vTextureId = aTextureIdAndRound.y;
6            `,end:`
7                if(aTextureIdAndRound.x == 1)
8                {
9                    vPosition = vec4<f32>(roundPixels(vPosition.xy, globalUniforms.uResolution), vPosition.zw);
10                }
11            `},fragment:{header:`
12                @in @interpolate(flat) vTextureId: u32;
13
14                ${function(t){let e=[];
14if(1===t)e.push("@group(1) @binding(0) var textureSource1: texture_2d<f32>;"),e.push("@group(1) @binding(1) var textureSampler1: sampler;");else{let i=0;for(let r=0;r<t;r++)e.push(`@group(1) @binding(${i++}) var textureSource${r+1}: texture_2d<f32>;`),e.push(`@group(1) @binding(${i++}) var textureSampler${r+1}: sampler;`)}return e.join("\n")}(t)}
15            `,main:`
16                var uvDx = dpdx(vUV);
17                var uvDy = dpdy(vUV);
18
19                ${function(t){let e=[];if(1===t)e.push("outColor = textureSampleGrad(textureSource1, textureSampler1, vUV, uvDx, uvDy);");else{e.push("switch vTextureId {");for(let i=0;i<t;i++)i===t-1?e.push("  default:{"):e.push(`  case ${i}:{`),e.push(`      outColor = textureSampleGrad(textureSource${i+1}, textureSampler${i+1}, vUV, uvDx, uvDy);`),e.push("      break;}");e.push("}")}return e.join("\n")}(t)}
20            `}}),r[t]}let n={};function a(t){return n[t]||(n[t]={name:"texture-batch-bit",vertex:{header:`
21                in vec2 aTextureIdAndRound;
22                out float vTextureId;
23
24            `,main:`
25                vTextureId = aTextureIdAndRound.y;
26            `,end:`
27                if(aTextureIdAndRound.x == 1.)
28                {
29                    gl_Position.xy = roundPixels(gl_Position.xy, uResolution);
30                }
31            `},fragment:{header:`
32                in float vTextureId;
33
34                uniform sampler2D uTextures[${t}];
35
36            `,main:`
37
38                ${function(t){let e=[];for(let i=0;i<t;i++)i>0&&e.push("else"),i<t-1&&e.push(`if(vTextureId < ${i}.5)`),e.push("{"),e.push(`	outColor = texture(uTextures[${i}], vUV);`),e.push("}");return e.join("\n")}(t)}
39            `}}),n[t]}},1417:(t,e,i)=>{i.d(e,{y:()=>r});function r(t,e,i){let{width:r,height:s}=i.orig,n=i.trim;if(n){let i=n.width,a=n.height;t.minX=n.x-e._x*r,t.maxX=t.minX+i,t.minY=n.y-e._y*s,t.maxY=t.minY+a}else t.minX=-e._x*r,t.maxX=t.minX+r,t.minY=-e._y*s,t.maxY=t.minY+s}},2384:(t,e,i)=>{i.d(e,{C:()=>r});class r{constructor(t){this.items=[],this._name=t}emit(t,e,i,r,s,n,a,o){let{name:l,items:h}=this;for(let u=0,d=h.length;u<d;u++)h[u][l](t,e,i,r,s,n,a,o);return this}add(t){return t[this._name]&&(this.remove(t),this.items.push(t)),this}remove(t){let e=this.items.indexOf(t);return -1!==e&&this.items.splice(e,1),this}contains(t){return -1!==this.items.indexOf(t)}removeAll(){return this.items.length=0,this}destroy(){this.removeAll(),this.items=null,this._name=null}get empty(){return 0===this.items.length}get name(){return this._name}}},2915:(t,e,i)=>{i.d(e,{G:()=>a});var r=i(76080),s=i(91357);let n=new r.u;class a{constructor(){this.packAsQuad=!1,this.batcherName="default",this.topology="triangle-list",this.applyTransform=!0,this.roundPixels=0,this._batcher=null,this._batch=null}get uvs(){return this.geometryData.uvs}get positions(){return this.geometryData.vertices}get indices(){return this.geometryData.indices}get blendMode(){return this.renderable&&this.applyTransform?this.renderable.groupBlendMode:"normal"}get color(){let t=this.baseColor,e=t>>16|65280&t|(255&t)<<16,i=this.renderable;return i?(0,s.u)(e,i.groupColor)+(this.alpha*i.groupAlpha*255<<24):e+(255*this.alpha<<24)}get transform(){return this.renderable?.groupTransform||n}copyTo(t){t.indexOffset=this.indexOffset,t.indexSize=this.indexSize,t.attributeOffset=this.attributeOffset,t.attributeSize=this.attributeSize,t.baseColor=this.baseColor,t.alpha=this.alpha,t.texture=this.texture,t.geometryData=this.geometryData,t.topology=this.topology}reset(){this.applyTransform=!0,this.renderable=null,this.topology="triangle-list"}destroy(){this.renderable=null,this.texture=null,this.geometryData=null,this._batcher=null,this._batch=null}}},3711:(t,e,i)=>{let r,s,n,a,o,l,h;i.d(e,{lgM:()=>T,sP:()=>tz,mcf:()=>y.mc,dJT:()=>tD.d,M2g:()=>tV.M,BrD:()=>tW.B,A1g:()=>tX.A,J3D:()=>tq,wSt:()=>ex,M_G:()=>tG.M,kxk:()=>eW.k,EYj:()=>ir,gPd:()=>G.g,Wny:()=>t$.W,t9Q:()=>eV,t66:()=>v.t6});var u=i(42434);let d={extension:{type:u.Ag.Environment,name:"browser",priority:-1},test:()=>!0,load:async()=>{await Promise.all([i.e(8184),i.e(4070)]).then(i.bind(i,54070))}},c={extension:{type:u.Ag.Environment,name:"webworker",priority:0},test:()=>"u">typeof self&&void 0!==self.WorkerGlobalScope,load:async()=>{await Promise.all([i.e(8184),i.e(2995)]).then(i.bind(i,32995))}};i(81601),i(37983);var f=i(82557),p=i(39483);async function m(t={}){return void 0!==s?s:s=await (async()=>{let e=f.e.get().getNavigator().gpu;if(!e)return!1;try{let i=await e.requestAdapter(t);return await i.requestDevice(),!0}catch(t){return!1}})()}let g=["webgl","webgpu","canvas"];async function x(t){let e,s=[];t.preference?Array.isArray(t.preference)?s=t.preference.slice():(s.push(t.preference),g.forEach(e
39=>{e!==t.preference&&s.push(e)})):s=g.slice();let n={};for(let a=0;a<s.length;a++){let o=s[a];if("webgpu"===o&&await m()){let{WebGPURenderer:r}=await Promise.all([i.e(2983),i.e(8748)]).then(i.bind(i,38748));e=r,n={...t,...t.webgpu};break}if("webgl"===o&&function(t){return void 0!==r?r:r=(()=>{let e={stencil:!0,failIfMajorPerformanceCaveat:t??p.k.defaultOptions.failIfMajorPerformanceCaveat};try{if(!f.e.get().getWebGLRenderingContext())return!1;let t=f.e.get().createCanvas().getContext("webgl",e),i=!!t?.getContextAttributes()?.stencil;if(t){let e=t.getExtension("WEBGL_lose_context");e&&e.loseContext()}return t=null,i}catch(t){return!1}})()}(t.failIfMajorPerformanceCaveat??p.k.defaultOptions.failIfMajorPerformanceCaveat)){let{WebGLRenderer:r}=await Promise.all([i.e(2983),i.e(5020)]).then(i.bind(i,25020));e=r,n={...t,...t.webgl};break}if("canvas"===o){let{CanvasRenderer:r}=await Promise.all([i.e(2983),i.e(5264)]).then(i.bind(i,65264));e=r,n={...t,...t.canvasOptions};break}}if(delete n.webgpu,delete n.webgl,delete n.canvasOptions,!e)throw Error("No available renderer for the current environment");let a=new e;return await a.init(n),a}var y=i(75951),_=i(58816),v=i(68951);class b{static init(t){Object.defineProperty(this,"resizeTo",{configurable:!0,set(t){globalThis.removeEventListener("resize",this.queueResize),this._resizeTo=t,t&&(globalThis.addEventListener("resize",this.queueResize),this.resize())},get(){return this._resizeTo}}),this.queueResize=()=>{this._resizeTo&&(this._cancelResize(),this._resizeId=requestAnimationFrame(()=>this.resize()))},this._cancelResize=()=>{this._resizeId&&(cancelAnimationFrame(this._resizeId),this._resizeId=null)},this.resize=()=>{let t,e;if(this._resizeTo){if(this._cancelResize(),this._resizeTo===globalThis.window)t=globalThis.innerWidth,e=globalThis.innerHeight;else{let{clientWidth:i,clientHeight:r}=this._resizeTo;t=i,e=r}this.renderer.resize(t,e),this.render()}},this._resizeId=null,this._resizeTo=null,this.resizeTo=t.resizeTo||null}static destroy(){globalThis.removeEventListener("resize",this.queueResize),this._cancelResize(),this._cancelResize=null,this.queueResize=null,this.resizeTo=null,this.resize=null}}b.extension=u.Ag.Application;var w=i(25539),A=i(68134);class S{static init(t){t=Object.assign({autoStart:!0,sharedTicker:!1},t),Object.defineProperty(this,"ticker",{configurable:!0,set(t){this._ticker&&this._ticker.remove(this.render,this),this._ticker=t,t&&t.add(this.render,this,w.d.LOW)},get(){return this._ticker}}),this.stop=()=>{this._ticker.stop()},this.start=()=>{this._ticker.start()},this._ticker=null,this.ticker=t.sharedTicker?A.R.shared:new A.R,t.autoStart&&this.start()}static destroy(){if(this._ticker){let t=this._ticker;this.ticker=null,t.destroy()}}}S.extension=u.Ag.Application,u.XO.add(b),u.XO.add(S);let C=class t{constructor(...t){this.stage=new y.mc,void 0!==t[0]&&(0,v.t6)(v.lj,"Application constructor options are deprecated, please use Application.init() instead.")}async init(e){e={...e},this.stage||(this.stage=new y.mc),this.renderer=await x(e),t._plugins.forEach(t=>{t.init.call(this,e)})}render(){this.renderer.render({container:this.stage})}get canvas(){return this.renderer.canvas}get view(){return(0,v.t6)(v.lj,"Application.view is deprecated, please use Application.canvas instead."),this.renderer.canvas}get screen(){return this.renderer.screen}get domContainerRoot(){return this.renderer.renderPipes.dom?._domElement}destroy(e=!1,i=!1){let r=t._plugins.slice(0);r.reverse(),r.forEach(t=>{t.destroy.call(this)}),this.stage.destroy(i),this.stage=null,this.renderer.destroy(e),this.renderer=null}};C._plugins=[];let T=C;u.XO.handleByList(u.Ag.Application,T._plugins),u.XO.add(_.M);var M=i(79324),P=i(58968),k=i(80094);let I={test:t=>"string"==typeof t&&t.startsWith("info face="),parse(t){let e=t.match(/^[a-z]+\s+.+$/gm),i={info:[],common:[],page:[],char:[],chars:[],kerning:[],kernings:[],distanceField:[]};for(let t in e){let r=e[t].match(/^[a-z]+/gm)[0],s=e[t].match(/[a-zA-Z]+=([^\s"']+|"([^"]*)")/gm),n={};for(let t in s){let e=s[t].split("="),i=e[0],r=e[1].replace(/"/gm,""),a=parseFloat(r),o=isNaN(a)?r:a;n[i]=o}i[r].push(n)}let r={chars:{},pages:[],lineHeight:0,fontSize:0,fontFamily:"",distanceField:null,baseLineOffset:0},[s]=i.info,[n]=i.common,[a]=i.distanceField??[];a&&(r.distanceField={range:parseInt(a.distanceRange,10),type:a.fieldType}),r.fontSize=parseInt(s.size,10),r.fontFamily=s.face,r.lineHeight=parseInt(n.lineHeight,10);let o=i.page;for(let t=0;t<o.length;t++)r.pages.push({id:parseInt(o[t].id,10)||0,file:o[t].file});let l={};r.baseLineOffset=r.lineHeight-parseInt(n.base,10);let h=i.char;for(let t=0;t<h.length;t++){let e=h[t],i=parseInt(e.id,10),s=e.letter??e.char??String.fromCharCode(i);"space"===s&&(s=" "),l[i]=s,r.chars[s]={id:i,page:parseInt(e.page,10)||0,x:parseInt(e.x,10),y:parseInt(e.y,10),width:parseInt(e.width,10),height:parseInt(e.height,10),xOffset:parseInt(e.xoffset,10),yOffset:parseInt(e.yoffset,10),xAdvance:parseInt(e.xadvance,10),kerning:{}}}let u=i.kerning||[];for(let t=0;t<u.length;t++){let e=parseInt(u[t].first,10),i=parseInt(u[t].second,10),s=parseInt(u[t].amount,10);r.chars[l[i]]&&(r.chars[l[i]].kerning[l[e]]=s)}return r}},R={test:t=>"string"!=typeof t&&"getElementsByTagName"in t&&t.getElementsByTagName("page").length&&null!==t.getElementsByTagName("info")[0].getAttribute("face"),parse(t){let e={chars:{},pages:[],lineHeight:0,fontSize:0,fontFamily:"",distanceField:null,baseLineOffset:0},i=t.getElementsByTagName("info")[0],r=t.getElementsByTagName("common")[0],s=t.getElementsByTagName("distanceField")[0];s&&(e.distanceField={type:s.getAttribute("fieldType"),range:parseInt(s.getAttribute("distanceRange"),10)});let n=t.getElementsByTagName("page"),a=t.getElementsByTagName("char"),o=t.getElementsByTagName("kerning");e.fontSize=parseInt(i.getAttribute("size"),10),e.fontFamily=i.getAttribute("face"),e.lineHeight=parseInt(r.getAttribute("lineHeight"),10);for(let t=0;t<n.length;t++)e.pages.push({id:parseInt(n[t].getAttribute("id"),10)||0,file:n[t].getAttribute("file")});let l={};e.baseLineOffset=e.lineHeight-parseInt(r.getAttribute("base"),10);for(let t=0;t<a.length;t++){let i=a[t],r=parseInt(i.getAttribute("id"),10),s=i.getAttribute("letter")??i.getAttribute("char")??String.fromCharCode(r);"space"===s&&(s=" "),l[r]=s,e.chars[s]={id:r,page:parseInt(i.getAttribute("page"),10)||0,x:parseInt(i.getAttribute("x"),10),y:parseInt(i.getAttribute("y"),10),width:parseInt(i.getAttribute("width"),10),height:parseInt(i.getAttribute("height"),10),xOffset:parseInt(i.getAttribute("xoffset"),10),yOffset:parseInt(i.getAttribute("yoffset"),10),xAdvance:parseInt(i.getAttribute("xadvance"),10),kerning:{}}}for(let t=0;t<o.length;t++){let i=parseInt(o[t].getAttribute("first"),10),r=parseInt(o[t].getAttribute("second"),10),s=parseInt(o[t].getAttribute("amount"),10);e.chars[l[r]]&&(e.chars[l[r]].kerning[l[i]]=s)}return e}},E=t=>!!("string"==typeof t&&t.match(/<font(\s|>)/))&&R.test(f.e.get().parseXML(t)),B=t=>R.parse(f.e.get().parseXML(t)),O=[".xml",".fnt"],F={extension:{type:u.Ag.CacheParser,name:"cacheBitmapFont"},test:t=>!!t?.pages&&!!t?.chars&&"string"==typeof t?.fontFamily&&""!==t.fontFamily,getCacheableAssets(t,e){let i={};return t.forEach(t=>{i[t]=e,i[`${t}-bitmap`]=e}),i[`${e.fontFamily}-bitmap`]=e,i}},U={extension:{type:u.Ag.LoadParser,priority:M.T.Normal},name:"loadBitmapFont",id:"bitmap-font",test:t=>O.includes(k.A.extname(t).toLowerCase()),testParse:async t=>I.test(t)||E(t),async parse(t,e,r){let s=I.test(t)?I.parse(t):B(t),{src:n}=e,{pages:a}=s,o=[],l=s.distanceField?{scaleMode:"linear",alphaMode:"premultiply-alpha-on-upload",autoGenerateMipmaps:!1,resolution:1}:{};for(let t=0;t<a.length;++t){let e=a[t].file,i=k.A.join(k.A.dirname(n),e);i=(0,P.Y)(i,n),o.push({src:i,data:l})}let[h,{BitmapFont:u}]=await Promise.all([r.load(o),i.e(1855).then(i.bind(i,51855))]);return new u({data:s,textures:o.map(t=>h[t.src])},n)},async load(t,e){let i=await f.e.get().fetch(t);return await i.text()},async unload(t,e,i){await Promise.all(t.pages.map(t=>i.unload(t.texture.source._sourceOrigin))),t.destroy()}};var z=i(45325);class L{constructor(t,e=!1){this._loader=t,this._assetList=[],this._isLoading=!1,this._maxConcurrent=1,this.verbose=e}add(t){t.forEach(t=>{this._assetList.push(t)}
39),this.verbose&&console.log("[BackgroundLoader] assets: ",this._assetList),this._isActive&&!this._isLoading&&this._next()}async _next(){if(this._assetList.length&&this._isActive){this._isLoading=!0;let t=[],e=Math.min(this._assetList.length,this._maxConcurrent);for(let i=0;i<e;i++)t.push(this._assetList.pop());await this._loader.load(t),this._isLoading=!1,this._next()}}get active(){return this._isActive}set active(t){this._isActive!==t&&(this._isActive=t,t&&!this._isLoading&&this._next())}}var D=i(85874),G=i(62835);let V={extension:{type:u.Ag.CacheParser,name:"cacheTextureArray"},test:t=>Array.isArray(t)&&t.every(t=>t instanceof G.g),getCacheableAssets:(t,e)=>{let i={};return t.forEach(t=>{e.forEach((e,r)=>{i[t+(0===r?"":r+1)]=e})}),i}};async function W(t){if("Image"in globalThis)return new Promise(e=>{let i=new Image;i.onload=()=>{e(!0)},i.onerror=()=>{e(!1)},i.src=t});if("createImageBitmap"in globalThis&&"fetch"in globalThis){try{let e=await (await fetch(t)).blob();await createImageBitmap(e)}catch(t){return!1}return!0}return!1}let $={extension:{type:u.Ag.DetectionParser,priority:1},test:async()=>W("data:image/avif;base64,AAAAIGZ0eXBhdmlmAAAAAGF2aWZtaWYxbWlhZk1BMUIAAADybWV0YQAAAAAAAAAoaGRscgAAAAAAAAAAcGljdAAAAAAAAAAAAAAAAGxpYmF2aWYAAAAADnBpdG0AAAAAAAEAAAAeaWxvYwAAAABEAAABAAEAAAABAAABGgAAAB0AAAAoaWluZgAAAAAAAQAAABppbmZlAgAAAAABAABhdjAxQ29sb3IAAAAAamlwcnAAAABLaXBjbwAAABRpc3BlAAAAAAAAAAIAAAACAAAAEHBpeGkAAAAAAwgICAAAAAxhdjFDgQ0MAAAAABNjb2xybmNseAACAAIAAYAAAAAXaXBtYQAAAAAAAAABAAEEAQKDBAAAACVtZGF0EgAKCBgANogQEAwgMg8f8D///8WfhwB8+ErK42A="),add:async t=>[...t,"avif"],remove:async t=>t.filter(t=>"avif"!==t)},X=["png","jpg","jpeg"],j={extension:{type:u.Ag.DetectionParser,priority:-1},test:()=>Promise.resolve(!0),add:async t=>[...t,...X],remove:async t=>t.filter(t=>!X.includes(t))},N="WorkerGlobalScope"in globalThis&&globalThis instanceof globalThis.WorkerGlobalScope;function Y(t){return!N&&""!==document.createElement("video").canPlayType(t)}let H={extension:{type:u.Ag.DetectionParser,priority:0},test:async()=>Y("video/mp4"),add:async t=>[...t,"mp4","m4v"],remove:async t=>t.filter(t=>"mp4"!==t&&"m4v"!==t)},q={extension:{type:u.Ag.DetectionParser,priority:0},test:async()=>Y("video/ogg"),add:async t=>[...t,"ogv"],remove:async t=>t.filter(t=>"ogv"!==t)},K={extension:{type:u.Ag.DetectionParser,priority:0},test:async()=>Y("video/webm"),add:async t=>[...t,"webm"],remove:async t=>t.filter(t=>"webm"!==t)},Q={extension:{type:u.Ag.DetectionParser,priority:0},test:async()=>W("data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAAAAAAfQ//73v/+BiOh/AAA="),add:async t=>[...t,"webp"],remove:async t=>t.filter(t=>"webp"!==t)};var Z=i(82863),J=i(97112);let tt=class t{constructor(){this.loadOptions={...t.defaultOptions},this._parsers=[],this._parsersValidated=!1,this.parsers=new Proxy(this._parsers,{set:(t,e,i)=>(this._parsersValidated=!1,t[e]=i,!0)}),this.promiseCache={}}reset(){this._parsersValidated=!1,this.promiseCache={}}_getLoadPromiseAndParser(t,e){let i={promise:null,parser:null};return i.promise=(async()=>{let r=null,s=null;if((e.parser||e.loadParser)&&(s=this._parserHash[e.parser||e.loadParser],e.loadParser&&(0,z.R)(`[Assets] "loadParser" is deprecated, use "parser" instead for ${t}`),s||(0,z.R)(`[Assets] specified load parser "${e.parser||e.loadParser}" not found while loading ${t}`)),!s){for(let i=0;i<this.parsers.length;i++){let r=this.parsers[i];if(r.load&&r.test?.(t,e,this)){s=r;break}}if(!s)return(0,z.R)(`[Assets] ${t} could not be loaded as we don't know how to parse it, ensure the correct parser has been added`),null}r=await s.load(t,e,this),i.parser=s;for(let t=0;t<this.parsers.length;t++){let s=this.parsers[t];s.parse&&s.parse&&await s.testParse?.(r,e,this)&&(r=await s.parse(r,e,this)||r,i.parser=s)}return r})(),i}async load(e,i){this._parsersValidated||this._validateParsers();let{onProgress:r,onError:s,strategy:n,retryCount:a,retryDelay:o}="function"==typeof i?{...t.defaultOptions,...this.loadOptions,onProgress:i}:{...t.defaultOptions,...this.loadOptions,...i||{}},l=0,h={},u=(0,J.a)(e),d=(0,Z.z)(e,t=>({alias:[t],src:t,data:{}})),c=d.reduce((t,e)=>t+(e.progressSize||1),0),f=d.map(async t=>{let e=k.A.toAbsolute(t.src);!h[t.src]&&(await this._loadAssetWithRetry(e,t,{onProgress:r,onError:s,strategy:n,retryCount:a,retryDelay:o},h),l+=t.progressSize||1,r&&r(l/c))});return await Promise.all(f),u?h[d[0].src]:h}async unload(t){let e=(0,Z.z)(t,t=>({alias:[t],src:t})).map(async t=>{let e=k.A.toAbsolute(t.src),i=this.promiseCache[e];if(i){let r=await i.promise;delete this.promiseCache[e],await i.parser?.unload?.(r,t,this)}});await Promise.all(e)}_validateParsers(){this._parsersValidated=!0,this._parserHash=this._parsers.filter(t=>t.name||t.id).reduce((t,e)=>
39(e.name||e.id?(t[e.name]||t[e.id])&&(0,z.R)(`[Assets] parser id conflict "${e.id}"`):(0,z.R)("[Assets] parser should have an id"),t[e.name]=e,e.id&&(t[e.id]=e),t),{})}async _loadAssetWithRetry(t,e,i,r){let s=0,{onError:n,strategy:a,retryCount:o,retryDelay:l}=i,h=t=>new Promise(e=>setTimeout(e,t));for(;;)try{this.promiseCache[t]||(this.promiseCache[t]=this._getLoadPromiseAndParser(t,e)),r[e.src]=await this.promiseCache[t].promise;return}catch(d){delete this.promiseCache[t],delete r[e.src],s++;let i="retry"!==a||s>o;if("retry"===a&&!i){n&&n(d,e),await h(l);continue}if("skip"===a){n&&n(d,e);return}n&&n(d,e);let u=Error(`[Loader.load] Failed to load ${t}.
40${d}`);throw d instanceof Error&&d.stack&&(u.stack=d.stack),u}}};function te(t,e){if(Array.isArray(e)){for(let i of e)if(t.startsWith(`data:${i}`))return!0;return!1}return t.startsWith(`data:${e}`)}function ti(t,e){let i=t.split("?")[0],r=k.A.extname(i).toLowerCase();return Array.isArray(e)?e.includes(r):r===e}tt.defaultOptions={onProgress:void 0,onError:void 0,strategy:"throw",retryCount:3,retryDelay:250};let tr={extension:{type:u.Ag.LoadParser,priority:M.T.Low},name:"loadJson",id:"json",test:t=>te(t,"application/json")||ti(t,".json"),async load(t){let e=await f.e.get().fetch(t);return await e.json()}},ts={name:"loadTxt",id:"text",extension:{type:u.Ag.LoadParser,priority:M.T.Low,name:"loadTxt"},test:t=>te(t,"text/plain")||ti(t,".txt"),async load(t){let e=await f.e.get().fetch(t);return await e.text()}},tn=["normal","bold","100","200","300","400","500","600","700","800","900"],ta=[".ttf",".otf",".woff",".woff2"],to=["font/ttf","font/otf","font/woff","font/woff2"],tl=/^(--|-?[A-Z_])[0-9A-Z_-]*$/i,th=/^[0-9A-Za-z%:/?#\[\]@!\$&'()\*\+,;=\-._~]*$/,tu={extension:{type:u.Ag.LoadParser,priority:M.T.Low},name:"loadWebFont",id:"web-font",test:t=>te(t,to)||ti(t,ta),async load(t,e){let i=f.e.get().getFontFaceSet();if(i){let r=[],s=e.data?.family??function(t){let e=k.A.extname(t),i=k.A.basename(t,e).replace(/(-|_)/g," ").toLowerCase().split(" ").map(t=>t.charAt(0).toUpperCase()+t.slice(1)),r=i.length>0;for(let t of i)if(!t.match(tl)){r=!1;break}let s=i.join(" ");return r||(s=`"${s.replace(/[\\"]/g,"\\$&")}"`),s}(t),n=e.data?.weights?.filter(t=>tn.includes(t))??["normal"],a=e.data??{};for(let e=0;e<n.length;e++){let o=n[e],l=new FontFace(s,`url('${th.test(t)?t:encodeURI(t)}')`,{...a,weight:o});await l.load(),i.add(l),r.push(l)}return D.l.has(`${s}-and-url`)?D.l.get(`${s}-and-url`).entries.push({url:t,faces:r}):D.l.set(`${s}-and-url`,{entries:[{url:t,faces:r}]}),1===r.length?r[0]:r}return(0,z.R)("[loadWebFont] FontFace API is not supported. Skipping loading font"),null},unload(t){let e=Array.isArray(t)?t:[t],i=e[0].family,r=D.l.get(`${i}-and-url`),s=r.entries.find(t=>t.faces.some(t=>-1!==e.indexOf(t)));s.faces=s.faces.filter(t=>-1===e.indexOf(t)),0===s.faces.length&&(r.entries=r.entries.filter(t=>t!==s)),e.forEach(t=>{f.e.get().getFontFaceSet().delete(t)}),0===r.entries.length&&D.l.remove(`${i}-and-url`)}};var td=i(32572),tc=i(1119),tf=i(33678);function tp(t,e=1){let i=tf.x.RETINA_PREFIX?.exec(t);return i?parseFloat(i[1]):e}function tm(t,e,i){t.label=i,t._sourceOrigin=i;let r=new G.g({source:t,label:i}),s=()=>{delete e.promiseCache[i],D.l.has(i)&&D.l.remove(i)};return r.source.once("destroy",()=>{e.promiseCache[i]&&((0,z.R)("[Assets] A TextureSource managed by Assets was destroyed instead of unloaded! Use Assets.unload() instead of destroying the TextureSource."),s())}),r.once("destroy",()=>{t.destroyed||((0,z.R)("[Assets] A Texture managed by Assets was destroyed instead of unloaded! Use Assets.unload() instead of destroying the Texture."),s())}),r}let tg={extension:{type:u.Ag.LoadParser,priority:M.T.Low,name:"loadSVG"},name:"loadSVG",id:"svg",config:{crossOrigin:"anonymous",parseAsGraphicsContext:!1},test:t=>te(t,"image/svg+xml")||ti(t,".svg"),async load(t,e,i){return e.data?.parseAsGraphicsContext??this.config.parseAsGraphicsContext?ty(t):tx(t,e,i,this.config.crossOrigin)},unload(t){t.destroy(!0)}};async function tx(t,e,i,r){let s=await f.e.get().fetch(t),n=f.e.get().createImage();n.src=`data:image/svg+xml;charset=utf-8,${encodeURIComponent(await s.text())}`,n.crossOrigin=r,await n.decode();let a=e.data?.width??n.width,o=e.data?.height??n.height,l=e.data?.resolution||tp(t),h=Math.ceil(a*l),u=Math.ceil(o*l),d=f.e.get().createCanvas(h,u),c=d.getContext("2d");c.imageSmoothingEnabled=!0,c.imageSmoothingQuality="high",c.drawImage(n,
400,0,a*l,o*l);let{parseAsGraphicsContext:p,...m}=e.data??{};return tm(new td.b({resource:d,alphaMode:"premultiply-alpha-on-upload",resolution:l,...m}),i,t)}async function ty(t){let e=await f.e.get().fetch(t),i=await e.text(),r=new tc.T;return r.svg(i),r}let t_=null;class tv{constructor(){t_||(t_=URL.createObjectURL(new Blob(['(function () {\n    \'use strict\';\n\n    const WHITE_PNG = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAwMCAO+ip1sAAAAASUVORK5CYII=";\n    async function checkImageBitmap() {\n      try {\n        if (typeof createImageBitmap !== "function") return false;\n        const response = await fetch(WHITE_PNG);\n        const imageBlob = await response.blob();\n        const imageBitmap = await createImageBitmap(imageBlob);\n        return imageBitmap.width === 1 && imageBitmap.height === 1;\n      } catch (_e) {\n        return false;\n      }\n    }\n    void checkImageBitmap().then((result) => {\n      self.postMessage(result);\n    });\n\n})();\n'],{type:"application/javascript"}))),this.worker=new Worker(t_)}}tv.revokeObjectURL=function(){t_&&(URL.revokeObjectURL(t_),t_=null)};let tb=null;class tw{constructor(){tb||(tb=URL.createObjectURL(new Blob(['(function () {\n    \'use strict\';\n\n    async function loadImageBitmap(url, alphaMode) {\n      const response = await fetch(url);\n      if (!response.ok) {\n        throw new Error(`[WorkerManager.loadImageBitmap] Failed to fetch ${url}: ${response.status} ${response.statusText}`);\n      }\n      const imageBlob = await response.blob();\n      return alphaMode === "premultiplied-alpha" ? createImageBitmap(imageBlob, { premultiplyAlpha: "none" }) : createImageBitmap(imageBlob);\n    }\n    self.onmessage = async (event) => {\n      try {\n        const imageBitmap = await loadImageBitmap(event.data.data[0], event.data.data[1]);\n        self.postMessage({\n          data: imageBitmap,\n          uuid: event.data.uuid,\n          id: event.data.id\n        }, [imageBitmap]);\n      } catch (e) {\n        self.postMessage({\n          error: e,\n          uuid: event.data.uuid,\n          id: event.data.id\n        });\n      }\n    };\n\n})();\n'],{type:"application/javascript"}))),this.worker=new Worker(tb)}}tw.revokeObjectURL=function(){tb&&(URL.revokeObjectURL(tb),tb=null)};let tA=0;class tS{constructor(){this._initialized=!1,this._createdWorkers=0,this._workerPool=[],this._queue=[],this._resolveHash={}}isImageBitmapSupported(){return void 0!==this._isImageBitmapSupported||(this._isImageBitmapSupported=new Promise(t=>{let{worker:e}=new tv;e.addEventListener("message",i=>{e.terminate(),tv.revokeObjectURL(),t(i.data)})})),this._isImageBitmapSupported}loadImageBitmap(t,e){return this._run("loadImageBitmap",[t,e?.data?.alphaMode])}async _initWorkers(){this._initialized||(this._initialized=!0)}_getWorker(){void 0===n&&(n=navigator.hardwareConcurrency||4);let t=this._workerPool.pop();return!t&&this._createdWorkers<n&&(this._createdWorkers++,(t=new tw().worker).addEventListener("message",t=>{this._complete(t.data),this._returnWorker(t.target),this._next()})),t}_returnWorker(t){this._workerPool.push(t)}_complete(t){this._resolveHash[t.uuid]&&(void 0!==t.error?this._resolveHash[t.uuid].reject(t.error):this._resolveHash[t.uuid].resolve(t.data),delete this._resolveHash[t.uuid])}async _run(t,e){await this._initWorkers();let i=new Promise((i,r)=>{this._queue.push({id:t,arguments:e,resolve:i,reject:r})});return this._next(),i}_next(){if(!this._queue.length)return;let t=this._getWorker();if(!t)return;let e=this._queue.pop(),i=e.id;this._resolveHash[tA]={resolve:e.resolve,reject:e.reject},t.postMessage({data:e.arguments,uuid:tA++,id:i})}reset(){this._workerPool.forEach(t=>t.terminate()),this._workerPool.length=0,Object.values(this._resolveHash).forEach(({reject:t})=>{t?.(Error("WorkerManager has been reset before completion"))}),this._resolveHash={},this._queue.length=0,this._initialized=!1,this._createdWorkers=0}}let tC=new tS,tT=[".jpeg",".jpg",".png",".webp",".avif"],tM=["image/jpeg","image/png","image/webp","image/avif"];async function tP(t,e){let i=await f.e.get().fetch(t);if(!i.ok)throw Error(`[loadImageBitmap] Failed to fetch ${t}: ${i.status} ${i.statusText}`);let r=await i.blob();return e?.data?.alphaMode==="premultiplied-alpha"?createImageBitmap(r,{premultiplyAlpha:"none"}):createImageBitmap(r)}let tk={name:"loadTextures",id:"texture",extension:{type:u.Ag.LoadParser,priority:M.T.High,name:"loadTextures"},config:{preferWorkers:!0,preferCreateImageBitmap:!0,crossOrigin:"anonymous"},test:t=>te(t,tM)||ti(t,tT),async load(t,e,i){let r=null;return r=globalThis.createImageBitmap&&this.config.preferCreateImageBitmap?this.config.preferWorkers&&await tC.isImageBitmapSupported()?await tC.loadImageBitmap(t,e):await tP(t,e):await new Promise((e,i)=>{(r=f.e.get().createImage()).crossOrigin=this.config.crossOrigin,r.src=t,r.complete?e(r):(r.onload=()=>{e(r)},r.onerror=i)}),tm(new td.b({resource:r,alphaMode:"premultiply-alpha-on-upload",resolution:e.data?.resolution||tp(t),...e.data}),i,t)},unload(t){t.destroy(!0)}};var tI=i(88186),tR=i(40995);let tE=[".mp4",".m4v",".webm",".ogg",".ogv",".h264",".avi",".mov"],tB={name:"loadVideo",id:"video",extension:{type:u.Ag.LoadParser,name:"loadVideo"},test(t){if(!a||!o){let{validVideoExtensions:t,validVideoMime:e}=function(){let t=[],e=[];for(let i of tE){let r=tI.$.MIME_TYPES[i.substring(1)]||`video/${i.substring(1)}`;Y(r)&&(t.push(i),e.includes(r)||e.push(r))}return{validVideoExtensions:t,validVideoMime:e}}();a=t,o=e}let e=te(t,o),i=ti(t,a);return e||i},async load(t,e,i){var r;let s,n={...tI.$.defaultOptions,resolution:e.data?.resolution||tp(t),alphaMode:e.data?.alphaMode||await (0,tR.C)(),...e.data},a=document.createElement("video"),o={preload:!1!==n.autoLoad?"auto":void 0,"webkit-playsinline":!1!==n.playsinline?"":void 0,playsinline:!1!==n.playsinline?"":void 0,muted:!0===n.muted?"":void 0,loop:!0===n.loop?"":void 0,autoplay:!1!==n.autoPlay?"":void 0};
40Object.keys(o).forEach(t=>{let e=o[t];void 0!==e&&a.setAttribute(t,e)}),!0===n.muted&&(a.muted=!0),void 0!==(r=n.crossorigin)||t.startsWith("data:")?!1!==r&&(a.crossOrigin="string"==typeof r?r:"anonymous"):a.crossOrigin=function(t,e=globalThis.location){if(t.startsWith("data:"))return"";e||(e=globalThis.location);let i=new URL(t,document.baseURI);return i.hostname!==e.hostname||i.port!==e.port||i.protocol!==e.protocol?"anonymous":""}(t);let l=document.createElement("source");if(n.mime)s=n.mime;else if(t.startsWith("data:"))s=t.slice(5,t.indexOf(";"));else if(!t.startsWith("blob:")){let e=t.split("?")[0].slice(t.lastIndexOf(".")+1).toLowerCase();s=tI.$.MIME_TYPES[e]||`video/${e}`}return l.src=t,s&&(l.type=s),new Promise((r,s)=>{async function o(){let s=new tI.$({...n,resource:a});u(),e.data.preload&&await new Promise((t,e)=>{function i(){s(),t()}function r(t){s(),e(t)}function s(){a.removeEventListener("canplaythrough",i),a.removeEventListener("error",r)}a.addEventListener("canplaythrough",i),a.addEventListener("error",r),a.load()}),r(tm(s,i,t))}function h(t){u(),s(t)}function u(){a.removeEventListener("canplay",o),a.removeEventListener("error",h),l.removeEventListener("error",h)}n.preload&&!n.autoPlay&&a.load(),a.addEventListener("canplay",o),a.addEventListener("error",h),l.addEventListener("error",h),a.appendChild(l)})},unload(t){t.destroy(!0)}},tO={extension:{type:u.Ag.ResolveParser,name:"resolveTexture"},test:tk.test,parse:t=>({resolution:parseFloat(tf.x.RETINA_PREFIX.exec(t)?.[1]??"1"),format:t.split(".").pop(),src:t})},tF={extension:{type:u.Ag.ResolveParser,priority:-2,name:"resolveJson"},test:t=>tf.x.RETINA_PREFIX.test(t)&&t.endsWith(".json"),parse:tO.parse};class tU{constructor(){this._detections=[],this._initialized=!1,this.resolver=new tf.x,this.loader=new tt,this.cache=D.l,this._backgroundLoader=new L(this.loader),this._backgroundLoader.active=!0,this.reset()}async init(t={}){if(this._initialized)return void(0,z.R)("[Assets]AssetManager already initialized, did you load before calling this Assets.init()?");if(this._initialized=!0,t.defaultSearchParams&&this.resolver.setDefaultSearchParams(t.defaultSearchParams),t.basePath&&(this.resolver.basePath=t.basePath),t.bundleIdentifier&&this.resolver.setBundleIdentifier(t.bundleIdentifier),t.manifest){let e=t.manifest;"string"==typeof e&&(e=await this.load(e)),this.resolver.addManifest(e)}let e=t.texturePreference?.resolution??1,i=await this._detectFormats({preferredFormats:t.texturePreference?.format,skipDetections:t.skipDetections,detections:this._detections});this.resolver.prefer({params:{format:i,resolution:"number"==typeof e?[e]:e}}),t.preferences&&this.setPreferences(t.preferences),t.loadOptions&&(this.loader.loadOptions={...this.loader.loadOptions,...t.loadOptions})}add(t){this.resolver.add(t)}async load(t,e){this._initialized||await this.init();let i=(0,J.a)(t),r=(0,Z.z)(t).map(t=>{if("string"!=typeof t){let e=this.resolver.getAlias(t);return e.some(t=>!this.resolver.hasKey(t))&&this.add(t),Array.isArray(e)?e[0]:e}return this.resolver.hasKey(t)||this.add({alias:t,src:t}),t}),s=this.resolver.resolve(r),n=await this._mapLoadToResolve(s,e);return i?n[r[0]]:n}addBundle(t,e){this.resolver.addBundle(t,e)}async loadBundle(t,e){this._initialized||await this.init();let i=!1;"string"==typeof t&&(i=!0,t=[t]);let r=this.resolver.resolveBundle(t),s={},n=Object.keys(r),a=0,o=[],l=n.map((t,i)=>{let n=r[t],l=[...new Set(Object.values(n).flat())].reduce((t,e)=>t+(e.progressSize||1),0);return o.push(0),a+=l,this._mapLoadToResolve(n,t=>{o[i]=t*l,e?.(o.reduce((t,e)=>t+e,0)/a)}).then(e=>{s[t]=e})});return await Promise.all(l),i?s[t[0]]:s}async backgroundLoad(t){this._initialized||await this.init(),"string"==typeof t&&(t=[t]);let e=this.resolver.resolve(t);this._backgroundLoader.add(Object.values(e))}async backgroundLoadBundle(t){this._initialized||await this.init(),"string"==typeof t&&(t=[t]),Object.values(this.resolver.resolveBundle(t)).forEach(t=>{this._backgroundLoader.add(Object.values(t))})}reset(){this.resolver.reset(),this.loader.reset(),this.cache.reset(),this._initialized=!1}get(t){if("string"==typeof t)return D.l.get(t);let e={};for(let i=0;i<t.length;i++)e[i]=D.l.get(t[i]);return e}async _mapLoadToResolve(t,e){let i=[...new Set(Object.values(t))];this._backgroundLoader.active=!1;let r=await this.loader.load(i,e);this._backgroundLoader.active=!0;let s={};
40return i.forEach(t=>{let e=r[t.src],i=[t.src];t.alias&&i.push(...t.alias),i.forEach(t=>{s[t]=e}),D.l.set(i,e)}),s}async unload(t){this._initialized||await this.init();let e=(0,Z.z)(t).map(t=>"string"!=typeof t?t.src:t),i=this.resolver.resolve(e);await this._unloadFromResolved(i)}async unloadBundle(t){this._initialized||await this.init(),t=(0,Z.z)(t);let e=this.resolver.resolveBundle(t),i=Object.keys(e).map(t=>this._unloadFromResolved(e[t]));await Promise.all(i)}async _unloadFromResolved(t){let e=Object.values(t);e.forEach(t=>{D.l.remove(t.src)}),await this.loader.unload(e)}async _detectFormats(t){let e=[];for(let i of(t.preferredFormats&&(e=Array.isArray(t.preferredFormats)?t.preferredFormats:[t.preferredFormats]),t.detections))t.skipDetections||await i.test()?e=await i.add(e):t.skipDetections||(e=await i.remove(e));return e=e.filter((t,i)=>e.indexOf(t)===i)}get detections(){return this._detections}setPreferences(t){this.loader.parsers.forEach(e=>{e.config&&Object.keys(e.config).filter(e=>e in t).forEach(i=>{e.config[i]=t[i]})})}}let tz=new tU;u.XO.handleByList(u.Ag.LoadParser,tz.loader.parsers).handleByList(u.Ag.ResolveParser,tz.resolver.parsers).handleByList(u.Ag.CacheParser,tz.cache.parsers).handleByList(u.Ag.DetectionParser,tz.detections),u.XO.add(V,j,$,Q,H,q,K,tr,ts,tu,tg,tk,tB,U,F,tO,tF);let tL={loader:u.Ag.LoadParser,resolver:u.Ag.ResolveParser,cache:u.Ag.CacheParser,detection:u.Ag.DetectionParser};u.XO.handle(u.Ag.Asset,t=>{let e=t.ref;Object.entries(tL).filter(([t])=>!!e[t]).forEach(([t,i])=>u.XO.add(Object.assign(e[t],{extension:e[t].extension??i})))},t=>{let e=t.ref;Object.keys(tL).filter(t=>!!e[t]).forEach(t=>u.XO.remove(e[t]))});var tD=i(63115),tG=i(49765),tV=i(11474),tW=i(96812),t$=i(43964);i(15476);var tX=i(87821),tj=i(93020),tN=i(4103),tY=i(75585);let tH=class t{constructor(e){if(e instanceof G.g)this.texture=e,(0,tY.s)(this,t.defaultOptions,{});else{const i={...t.defaultOptions,...e};(0,tY.s)(this,i,{})}}get alpha(){return this._alpha}set alpha(t){this._alpha=Math.min(Math.max(t,0),1),this._updateColor()}get tint(){return(0,tN.D)(this._tint)}set tint(t){this._tint=tj.Q.shared.setValue(t??0xffffff).toBgrNumber(),this._updateColor()}_updateColor(){this.color=this._tint+(255*this._alpha<<24)}};tH.defaultOptions={anchorX:0,anchorY:0,x:0,y:0,scaleX:1,scaleY:1,rotation:0,tint:0xffffff,alpha:1};let tq=tH;var tK=i(35821),tQ=i(15728);let tZ={vertex:{attributeName:"aVertex",format:"float32x2",code:`
41            const texture = p.texture;
42            const sx = p.scaleX;
43            const sy = p.scaleY;
44            const ax = p.anchorX;
45            const ay = p.anchorY;
46            const trim = texture.trim;
47            const orig = texture.orig;
48
49            if (trim)
50            {
51                w1 = trim.x - (ax * orig.width);
52                w0 = w1 + trim.width;
53
54                h1 = trim.y - (ay * orig.height);
55                h0 = h1 + trim.height;
56            }
57            else
58            {
59                w1 = -ax * (orig.width);
60                w0 = w1 + orig.width;
61
62                h1 = -ay * (orig.height);
63                h0 = h1 + orig.height;
64            }
65
66            f32v[offset] = w1 * sx;
67            f32v[offset + 1] = h1 * sy;
68
69            f32v[offset + stride] = w0 * sx;
70            f32v[offset + stride + 1] = h1 * sy;
71
72            f32v[offset + (stride * 2)] = w0 * sx;
73            f32v[offset + (stride * 2) + 1] = h0 * sy;
74
75            f32v[offset + (stride * 3)] = w1 * sx;
76            f32v[offset + (stride * 3) + 1] = h0 * sy;
77        `,dynamic:!1},position:{attributeName:"aPosition",format:"float32x2",code:`
78            var x = p.x;
79            var y = p.y;
80
81            f32v[offset] = x;
82            f32v[offset + 1] = y;
83
84            f32v[offset + stride] = x;
85            f32v[offset + stride + 1] = y;
86
87            f32v[offset + (stride * 2)] = x;
88            f32v[offset + (stride * 2) + 1] = y;
89
90            f32v[offset + (stride * 3)] = x;
91            f32v[offset + (stride * 3) + 1] = y;
92        `,dynamic:!0},rotation:{attributeName:"aRotation",format:"float32",code:`
93            var rotation = p.rotation;
94
95            f32v[offset] = rotation;
96            f32v[offset + stride] = rotation;
97            f32v[offset + (stride * 2)] = rotation;
98            f32v[offset + (stride * 3)] = rotation;
99        `,dynamic:!1}
99,uvs:{attributeName:"aUV",format:"float32x2",code:`
100            var uvs = p.texture.uvs;
101
102            f32v[offset] = uvs.x0;
103            f32v[offset + 1] = uvs.y0;
104
105            f32v[offset + stride] = uvs.x1;
106            f32v[offset + stride + 1] = uvs.y1;
107
108            f32v[offset + (stride * 2)] = uvs.x2;
109            f32v[offset + (stride * 2) + 1] = uvs.y2;
110
111            f32v[offset + (stride * 3)] = uvs.x3;
112            f32v[offset + (stride * 3) + 1] = uvs.y3;
113        `,dynamic:!1},color:{attributeName:"aColor",format:"unorm8x4",code:`
114            const c = p.color;
115
116            u32v[offset] = c;
117            u32v[offset + stride] = c;
118            u32v[offset + (stride * 2)] = c;
119            u32v[offset + (stride * 3)] = c;
120        `,dynamic:!1}};var tJ=i(76080),t0=i(85336),t1=i(93414),t2=i(41546),t3=i(60079),t5=i(67857),t4=i(92548),t6=i(89789),t8=i(91286),t9=i(36339),t7=i(66725);function et(t,e=null){let i=6*t;if(i>65535?e||(e=new Uint32Array(i)):e||(e=new Uint16Array(i)),e.length!==i)throw Error(`Out buffer length is incorrect, got ${e.length} and expected ${i}`);for(let t=0,r=0;t<i;t+=6,r+=4)e[t+0]=r+0,e[t+1]=r+1,e[t+2]=r+2,e[t+3]=r+0,e[t+4]=r+2,e[t+5]=r+3;return e}function ee(t,e){let i=[];i.push(`
121
122        var index = 0;
123
124        for (let i = 0; i < ps.length; ++i)
125        {
126            const p = ps[i];
127
128            `);let r=0;for(let s in t){let n=t[s];e===n.dynamic&&(i.push(`offset = index + ${r}`),i.push(n.code),r+=(0,t9.m)(n.format).stride/4)}return i.push(`
129            index += stride * 4;
130        }
131    `),i.unshift(`
132        var stride = ${r};
133    `),Function("ps","f32v","u32v",i.join("\n"))}class ei{constructor(t){this._size=0,this._generateParticleUpdateCache={};const e=this._size=t.size??1e3,i=t.properties;let r=0,s=0;for(const t in i){const e=i[t],n=(0,t9.m)(e.format);e.dynamic?s+=n.stride:r+=n.stride}this._dynamicStride=s/4,this._staticStride=r/4,this.staticAttributeBuffer=new t7.u(4*e*r),this.dynamicAttributeBuffer=new t7.u(4*e*s),this.indexBuffer=et(e);const n=new t8.V;let a=0,o=0;for(const t in this._staticBuffer=new t4.h({data:new Float32Array(1),label:"static-particle-buffer",shrinkToFit:!1,usage:t6.S.VERTEX|t6.S.COPY_DST}),this._dynamicBuffer=new t4.h({data:new Float32Array(1),label:"dynamic-particle-buffer",shrinkToFit:!1,usage:t6.S.VERTEX|t6.S.COPY_DST}),i){const e=i[t],r=(0,t9.m)(e.format);e.dynamic?(n.addAttribute(e.attributeName,{buffer:this._dynamicBuffer,stride:4*this._dynamicStride,offset:4*a,format:e.format}),a+=r.size):(n.addAttribute(e.attributeName,{buffer:this._staticBuffer,stride:4*this._staticStride,offset:4*o,format:e.format}),o+=r.size)}n.addIndex(this.indexBuffer);const l=this.getParticleUpdate(i);this._dynamicUpload=l.dynamicUpdate,this._staticUpload=l.staticUpdate,this.geometry=n}getParticleUpdate(t){let e=function(t){let e=[];for(let i in t){let r=t[i];e.push(i,r.code,r.dynamic?"d":"s")}return e.join("_")}(t);return this._generateParticleUpdateCache[e]||(this._generateParticleUpdateCache[e]=this.generateParticleUpdate(t)),this._generateParticleUpdateCache[e]}generateParticleUpdate(t){return{dynamicUpdate:ee(t,!0),staticUpdate:ee(t,!1)}}update(t,e){t.length>this._size&&(e=!0,this._size=Math.max(t.length,1.5*this._size|0),this.staticAttributeBuffer=new t7.u(this._size*this._staticStride*16),this.dynamicAttributeBuffer=new t7.u(this._size*this._dynamicStride*16),this.indexBuffer=et(this._size),this.geometry.indexBuffer.setDataWithSize(this.indexBuffer,this.indexBuffer.byteLength,!0));let i=this.dynamicAttributeBuffer;if(this._dynamicUpload(t,i.float32View,i.uint32View),this._dynamicBuffer.setDataWithSize(this.dynamicAttributeBuffer.float32View,t.length*this._dynamicStride*4,!0),e){let e=this.staticAttributeBuffer;this._staticUpload(t,e.float32View,e.uint32View),this._staticBuffer.setDataWithSize(e.float32View,t.length*this._staticStride*4,!0)}}destroy(){this._staticBuffer.destroy(),this._dynamicBuffer.destroy(),this.geometry.destroy()}}var er=i(14394),es=i(65179),en="\nstruct ParticleUniforms {\n  uTranslationMatrix:mat3x3<f32>,\n  uColor:vec4<f32>,\n  uRound:f32,\n  uResolution:vec2<f32>,\n};\n\nfn roundPixels(position: vec2<f32>, targetSize: vec2<f32>) -> vec2<f32>
133\n{\n  return (floor(((position * 0.5 + 0.5) * targetSize) + 0.5) / targetSize) * 2.0 - 1.0;\n}\n\n@group(0) @binding(0) var<uniform> uniforms: ParticleUniforms;\n\n@group(1) @binding(0) var uTexture: texture_2d<f32>;\n@group(1) @binding(1) var uSampler : sampler;\n\nstruct VSOutput {\n    @builtin(position) position: vec4<f32>,\n    @location(0) uv : vec2<f32>,\n    @location(1) color : vec4<f32>,\n  };\n@vertex\nfn mainVertex(\n  @location(0) aVertex: vec2<f32>,\n  @location(1) aPosition: vec2<f32>,\n  @location(2) aUV: vec2<f32>,\n  @location(3) aColor: vec4<f32>,\n  @location(4) aRotation: f32,\n) -> VSOutput {\n  \n   let v = vec2(\n       aVertex.x * cos(aRotation) - aVertex.y * sin(aRotation),\n       aVertex.x * sin(aRotation) + aVertex.y * cos(aRotation)\n   ) + aPosition;\n\n   var position = vec4((uniforms.uTranslationMatrix * vec3(v, 1.0)).xy, 0.0, 1.0);\n\n   if(uniforms.uRound == 1.0) {\n       position = vec4(roundPixels(position.xy, uniforms.uResolution), position.zw);\n   }\n\n    let vColor = vec4(aColor.rgb * aColor.a, aColor.a) * uniforms.uColor;\n\n  return VSOutput(\n   position,\n   aUV,\n   vColor,\n  );\n}\n\n@fragment\nfn mainFragment(\n  @location(0) uv: vec2<f32>,\n  @location(1) color: vec4<f32>,\n  @builtin(position) position: vec4<f32>,\n) -> @location(0) vec4<f32> {\n\n    var sample = textureSample(uTexture, uSampler, uv) * color;\n   \n    return sample;\n}";class ea extends er.M{constructor(){super({glProgram:tV.M.from({vertex:"attribute vec2 aVertex;\nattribute vec2 aUV;\nattribute vec4 aColor;\n\nattribute vec2 aPosition;\nattribute float aRotation;\n\nuniform mat3 uTranslationMatrix;\nuniform float uRound;\nuniform vec2 uResolution;\nuniform vec4 uColor;\n\nvarying vec2 vUV;\nvarying vec4 vColor;\n\nvec2 roundPixels(vec2 position, vec2 targetSize)\n{       \n    return (floor(((position * 0.5 + 0.5) * targetSize) + 0.5) / targetSize) * 2.0 - 1.0;\n}\n\nvoid main(void){\n    float cosRotation = cos(aRotation);\n    float sinRotation = sin(aRotation);\n    float x = aVertex.x * cosRotation - aVertex.y * sinRotation;\n    float y = aVertex.x * sinRotation + aVertex.y * cosRotation;\n\n    vec2 v = vec2(x, y);\n    v = v + aPosition;\n\n    gl_Position = vec4((uTranslationMatrix * vec3(v, 1.0)).xy, 0.0, 1.0);\n\n    if(uRound == 1.0)\n    {\n        gl_Position.xy = roundPixels(gl_Position.xy, uResolution);\n    }\n\n    vUV = aUV;\n    vColor = vec4(aColor.rgb * aColor.a, aColor.a) * uColor;\n}\n",fragment:"varying vec2 vUV;\nvarying vec4 vColor;\n\nuniform sampler2D uTexture;\n\nvoid main(void){\n    vec4 color = texture2D(uTexture, vUV) * vColor;\n    gl_FragColor = color;\n}"}),gpuProgram:tW.B.from({fragment:{source:en,entryPoint:"mainFragment"},vertex:{source:en,entryPoint:"mainVertex"}}),resources:{uTexture:G.g.WHITE.source,uSampler:new es.n({}),uniforms:{uTranslationMatrix:{value:new tJ.u,type:"mat3x3<f32>"},uColor:{value:new tj.Q(0xffffff),type:"vec4<f32>"},uRound:{value:1,type:"f32"},uResolution:{value:[0,0],type:"vec2<f32>"}}}})}}class eo{constructor(t,e){this.state=t2.U.for2d(),this.localUniforms=new t0.k({uTranslationMatrix:{value:new tJ.u,type:"mat3x3<f32>"},uColor:{value:new Float32Array(4),type:"vec4<f32>"},uRound:{value:1,type:"f32"},uResolution:{value:[0,0],type:"vec2<f32>"}}),this.renderer=t,this.adaptor=e,this.defaultShader=new ea,this.state=t2.U.for2d(),this._managedContainers=new t3.s({renderer:t,type:"renderable",name:"particleContainer"})}validateRenderable(t){return!1}addRenderable(t,e){this.renderer.renderPipes.batch.break(e),e.add(t)}getBuffers(t){return t._gpuData[this.renderer.uid]||this._initBuffer(t)}_initBuffer(t){return t._gpuData[this.renderer.uid]=new ei({size:t.particleChildren.length,properties:t._properties}),this._managedContainers.add(t),t._gpuData[this.renderer.uid]}updateRenderable(t){}execute(t){let e=t.particleChildren;if(0===e.length)return;let i=this.renderer,r=this.getBuffers(t);t.texture||(t.texture=e[0].texture);let s=this.state;r.update(e,t._childrenDirty),t._childrenDirty=!1,s.blendMode=(0,t1.i)(t.groupBlendMode,t.texture._source);let n=this.localUniforms.uniforms,a=n.uTranslationMatrix;t.worldTransform.copyTo(a);let o=i.globalUniforms.globalUniformData;a.tx-=o.offset.x,a.ty-=o.offset.y,a.prepend(o.projectionMatrix),n.uResolution=o.resolution,n.uRound=i._roundPixels|t._roundPixels,(0,t5.V)(t.groupColorAlpha,n.uColor,0),this.adaptor.execute(this,t)}destroy(){this._managedContainers.destroy(),this.renderer=null,this.defaultShader&&(this.defaultShader.destroy(),this.defaultShader=null)}}eo.extension={type:[u.Ag.CanvasPipes],name:"particle"};var el=i(67689);class eh{execute(t,e){let i=t.renderer,r=i.canvasContext.activeContext,s=e.particleChildren,n=e.texture;r.save(),i.canvasContext.setContextTransform(e.worldTransform,e.roundPixels),i.canvasContext.setBlendMode(e.groupBlendMode);let a=(e.groupColorAlpha>>>24&255)/255*(i.filter?.alphaMultiplier??1);for(let t=0;t<s.length;t++){let e=s[t],i=e.texture||n;if(!i?.source?.resource)continue;let o=e.color,l=(o>>>24&255)/255*a;if(l<=0)continue;let h=0xffffff&o,u=((255&h)<<16)+(65280&h)+(h>>16&255),d=i.source.resource;0xffffff!==u&&(d=el.k.getTintedCanvas({texture:i},u));let c=i.frame,f=i.source.resolution,p=c.x*f,m=c.y*f,g=c.width*f,x=c.height*f;r.globalAlpha=l;let y=-e.anchorX*c.width,_=-e.anchorY*c.height;0!==e.rotation||1!==e.scaleX||1!==e.scaleY?(r.save(),r.translate(e.x,e.y),r.rotate(e.rotation),r.scale(e.scaleX,e.scaleY),r.drawImage(d,p,m,g,x,y,_,c.width,c.height),r.restore(
133)):r.drawImage(d,p,m,g,x,e.x+y,e.y+_,c.width,c.height)}r.restore()}}class eu extends eo{constructor(t){super(t,new eh)}}eu.extension={type:[u.Ag.CanvasPipes],name:"particle"};class ed{execute(t,e){let i=t.state,r=t.renderer,s=e.shader||t.defaultShader;s.resources.uTexture=e.texture._source,s.resources.uniforms=t.localUniforms;let n=r.gl,a=t.getBuffers(e);r.shader.bind(s),r.state.set(i),r.geometry.bind(a.geometry,s.glProgram);let o=2===a.geometry.indexBuffer.data.BYTES_PER_ELEMENT?n.UNSIGNED_SHORT:n.UNSIGNED_INT;n.drawElements(n.TRIANGLES,6*e.particleChildren.length,o,0)}}class ec extends eo{constructor(t){super(t,new ed)}}ec.extension={type:[u.Ag.WebGLPipes],name:"particle"};class ef{execute(t,e){let i=t.renderer,r=e.shader||t.defaultShader;r.groups[0]=i.renderPipes.uniformBatch.getUniformBindGroup(t.localUniforms,!0),r.groups[1]=i.texture.getTextureBindGroup(e.texture);let s=t.state,n=t.getBuffers(e);i.encoder.draw({geometry:n.geometry,shader:e.shader||t.defaultShader,state:s,size:6*e.particleChildren.length})}}class ep extends eo{constructor(t){super(t,new ef)}}ep.extension={type:[u.Ag.WebGPUPipes],name:"particle"},u.XO.add(ec),u.XO.add(ep),u.XO.add(eu);let em=new tK.c(0,0,0,0),eg=class t extends tQ.l{constructor(e={}){const{dynamicProperties:i,shader:r,roundPixels:s,texture:n,particles:a,...o}=e={...t.defaultOptions,...e,dynamicProperties:{...t.defaultOptions.dynamicProperties,...e?.dynamicProperties}};for(const t in super({label:"ParticleContainer",...o}),this.renderPipeId="particle",this.batched=!1,this._childrenDirty=!1,this.texture=n||null,this.shader=r,this._properties={},tZ){const e=tZ[t],r=i[t];this._properties[t]={...e,dynamic:r}}this.allowChildren=!0,this.roundPixels=s??!1,this.particleChildren=a??[]}addParticle(...t){for(let e=0;e<t.length;e++)this.particleChildren.push(t[e]);return this.onViewUpdate(),t[0]}removeParticle(...t){let e=!1;for(let i=0;i<t.length;i++){let r=this.particleChildren.indexOf(t[i]);r>-1&&(this.particleChildren.splice(r,1),e=!0)}return e&&this.onViewUpdate(),t[0]}update(){this._childrenDirty=!0}onViewUpdate(){this._childrenDirty=!0,super.onViewUpdate()}get bounds(){return em}updateBounds(){}destroy(t=!1){if(super.destroy(t),"boolean"==typeof t?t:t?.texture){let e="boolean"==typeof t?t:t?.textureSource,i=this.texture??this.particleChildren[0]?.texture;i&&i.destroy(e)}this.texture=null,this.shader?.destroy()}removeParticles(t,e){t??(t=0),e??(e=this.particleChildren.length);let i=this.particleChildren.splice(t,e-t);return this.onViewUpdate(),i}removeParticleAt(t){let e=this.particleChildren.splice(t,1);return this.onViewUpdate(),e[0]}addParticleAt(t,e){return this.particleChildren.splice(e,0,t),this.onViewUpdate(),t}addChild(){throw Error("ParticleContainer.addChild() is not available. Please use ParticleContainer.addParticle()")}removeChild(){throw Error("ParticleContainer.removeChild() is not available. Please use ParticleContainer.removeParticle()")}removeChildren(t,e){throw Error("ParticleContainer.removeChildren() is not available. Please use ParticleContainer.removeParticles()")}removeChildAt(t){throw Error("ParticleContainer.removeChildAt() is not available. Please use ParticleContainer.removeParticleAt()")}getChildAt(t){throw Error("ParticleContainer.getChildAt() is not available. Please use ParticleContainer.getParticleAt()")}setChildIndex(t,e){throw Error("ParticleContainer.setChildIndex() is not available. Please use ParticleContainer.setParticleIndex()")}getChildIndex(t){throw Error("ParticleContainer.getChildIndex() is not available. Please use ParticleContainer.getParticleIndex()")}addChildAt(t,e){throw Error("ParticleContainer.addChildAt() is not available. Please use ParticleContainer.addParticleAt()")}swapChildren(t,e){throw Error("ParticleContainer.swapChildren() is not available. Please use ParticleContainer.swapParticles()")}reparentChild(){throw Error("ParticleContainer.reparentChild() is not available with the particle container")}reparentChildAt(t,e){throw Error("ParticleContainer.reparentChildAt() is not available with the particle container")}};eg.defaultOptions={dynamicProperties:{vertex:!1,position:!0,rotation:!1,uvs:!1,color:!1},roundPixels:!1};let ex=eg;var ey=i(12853);class e_{constructor({matrix:t,observer:e}={}){this.dirty=!0,this._matrix=t??new tJ.u,this.observer=e,this.position=new ey.o(this,0,0),this.scale=new ey.o(this,1,1),this.pivot=new ey.o(this,0,0),this.skew=new ey.o(this,0,0),this._rotation=0,this._cx=1,this._sx=0,this._cy=0,this._sy=1}get matrix(){let t=this._matrix;return this.dirty&&(t.a=this._cx*this.scale.x,t.b=this._sx*this.scale.x,t.c=this._cy*this.scale.y,t.d=this._sy*this.scale.y,t.tx=this.position.x-(this.pivot.x*t.a+this.pivot.y*t.c),t.ty=this.position.y-(this.pivot.x*t.b+this.pivot.y*t.d),this.dirty=!1),t}_onUpdate(t){this.dirty=!0,t===this.skew&&this.updateSkew(),this.observer?._onUpdate(this)}updateSkew(){this._cx=Math.cos(this._rotation+this.skew.y),this._sx=Math.sin(this._rotation+this.skew.y),this._cy=-Math.sin(this._rotation-this.skew.x),this._sy=Math.cos(this._rotation-this.skew.x),this.dirty=!0}toString(){return`[pixi.js/math:Transform position=(${this.position.x}, ${this.position.y}) rotation=${this.rotation} scale=(${this.scale.x}, ${this.scale.y}) skew=(${this.skew.x}, ${this.skew.y}) ]`}setFromMatrix(t){t.decompose(this),this.dirty=!0}get rotation(){return this._rotation}set rotation(t){this._rotation!==t&&(this._rotation=t,this._onUpdate(this.skew))}}var ev=i(89660),eb=i(91357);let ew=new tJ.u,eA=new tJ.u,eS=[new ev.b,new ev.b,new ev.b,new ev.b];class eC{constructor(t){this._renderer=t}validateRenderable(t){return!1}
133addRenderable(t,e){this._renderer.renderPipes.batch.break(e),e.add(t)}updateRenderable(t){}execute(t){let e=this._renderer,i=e.canvasContext,r=i.activeContext;r.save(),i.setBlendMode(t.groupBlendMode);let s=e.globalUniforms.globalUniformData?.worldColor??0xffffffff,n=t.groupColorAlpha,a=(s>>>24&255)/255*((n>>>24&255)/255)*(e.filter?.alphaMultiplier??1);if(a<=0)return void r.restore();r.globalAlpha=a;let o=(0,tN.D)((0,eb.u)(0xffffff&n,0xffffff&s)),l=t.texture,h=el.k.getTintedPattern(l,o),u=t.width,d=t.height,c=t.groupTransform,f=l.source._resolution??l.source.resolution??1;eA.copyFrom(t._tileTransform.matrix),t.applyAnchorToTexture||eA.translate(-t.anchor.x*u,-t.anchor.y*d);let p=eA.tx,m=eA.ty;eA.scale(1/f,1/f),eA.tx=p,eA.ty=m,ew.identity(),ew.prepend(eA),ew.prepend(c);let g=e._roundPixels|t._roundPixels;i.setContextTransform(ew,1===g),r.fillStyle=h;let x=-(t.anchor.x*u),y=-(t.anchor.y*d);eS[0].set(x,y),eS[1].set(x+u,y),eS[2].set(x+u,y+d),eS[3].set(x,y+d);for(let t=0;t<4;t++)eA.applyInverse(eS[t],eS[t]);r.beginPath(),r.moveTo(eS[0].x,eS[0].y);for(let t=1;t<4;t++)r.lineTo(eS[t].x,eS[t].y);r.closePath(),r.fill(),r.restore()}destroy(){this._renderer=null}}eC.extension={type:[u.Ag.CanvasPipes],name:"tilingSprite"};var eT=i(89666);class eM{constructor(){this.batcherName="default",this.packAsQuad=!1,this.indexOffset=0,this.attributeOffset=0,this.roundPixels=0,this._batcher=null,this._batch=null,this._textureMatrixUpdateId=-1,this._uvUpdateId=-1}get blendMode(){return this.renderable.groupBlendMode}get topology(){return this._topology||this.geometry.topology}set topology(t){this._topology=t}reset(){this.renderable=null,this.texture=null,this._batcher=null,this._batch=null,this.geometry=null,this._uvUpdateId=-1,this._textureMatrixUpdateId=-1}setTexture(t){this.texture!==t&&(this.texture=t,this._textureMatrixUpdateId=-1)}get uvs(){let t=this.geometry.getBuffer("aUV"),e=t.data,i=e,r=this.texture.textureMatrix;return r.isSimple||(i=this._transformedUvs,(this._textureMatrixUpdateId!==r._updateID||this._uvUpdateId!==t._updateID)&&((!i||i.length<e.length)&&(i=this._transformedUvs=new Float32Array(e.length)),this._textureMatrixUpdateId=r._updateID,this._uvUpdateId=t._updateID,r.multiplyUvs(e,i))),i}get positions(){return this.geometry.positions}get indices(){return this.geometry.indices}get color(){return this.renderable.groupColorAlpha}get groupTransform(){return this.renderable.groupTransform}get attributeSize(){return this.geometry.positions.length/2}get indexSize(){return this.geometry.indices.length}}let eP=class t extends t8.V{constructor(...e){let i=e[0]??{};i instanceof Float32Array&&((0,v.t6)(v.lj,"use new MeshGeometry({ positions, uvs, indices }) instead"),i={positions:i,uvs:e[1],indices:e[2]});const r=(i={...t.defaultOptions,...i}).positions||new Float32Array([0,0,1,0,1,1,0,1]);let s=i.uvs;s||(s=new Float32Array(i.positions?r.length:[0,0,1,0,1,1,0,1]));const n=i.indices||new Uint32Array([0,1,2,0,2,3]),a=i.shrinkBuffersToFit,o=new t4.h({data:r,label:"attribute-mesh-positions",shrinkToFit:a,usage:t6.S.VERTEX|t6.S.COPY_DST});super({attributes:{aPosition:{buffer:o,format:"float32x2",stride:8,offset:0},aUV:{buffer:new t4.h({data:s,label:"attribute-mesh-uvs",shrinkToFit:a,usage:t6.S.VERTEX|t6.S.COPY_DST}),format:"float32x2",stride:8,offset:0}},indexBuffer:new t4.h({data:n,label:"index-mesh-buffer",shrinkToFit:a,usage:t6.S.INDEX|t6.S.COPY_DST}),topology:i.topology}),this.batchMode="auto"}get positions(){return this.attributes.aPosition.buffer.data}set positions(t){this.attributes.aPosition.buffer.data=t}get uvs(){return this.attributes.aUV.buffer.data}set uvs(t){this.attributes.aUV.buffer.data=t}get indices(){return this.indexBuffer.data}set indices(t){this.indexBuffer.data=t}};eP.defaultOptions={topology:"triangle-list",shrinkBuffersToFit:!1};let ek=eP;var eI=i(33993),eR=i(53554),eE=i(75808);let eB={name:"tiling-bit",vertex:{header:`
134            struct TilingUniforms {
135                uMapCoord:mat3x3<f32>,
136                uClampFrame:vec4<f32>,
137                uClampOffset:vec2<f32>,
138                uTextureTransform:mat3x3<f32>,
139                uSizeAnchor:vec4<f32>
140            };
141
142            @group(2) @binding(0) var<uniform> tilingUniforms: TilingUniforms;
143            @group(2) @binding(1) var uTexture: texture_2d<f32>;
144            @group(2) @binding(2) var uSampler: sampler;
145        `,main:`
146            uv = (tilingUniforms.uTextureTransform * vec3(uv, 1.0)).xy;
147
148            position = (position - tilingUniforms.uSizeAnchor.zw) * tilingUniforms.uSizeAnchor.xy;
149        `},fragment:{header:`
150            struct TilingUniforms {
151                uMapCoord:mat3x3<f32>,
152                uClampFrame:vec4<f32>,
153                uClampOffset:vec2<f32>,
154                uTextureTransform:mat3x3<f32>,
155                uSizeAnchor:vec4<f32>
156            };
157
158            @group(2) @binding(0) var<uniform> tilingUniforms: TilingUniforms;
159            @group(2) @binding(1) var uTexture: texture_2d<f32>;
160            @group(2) @binding(2) var uSampler: sampler;
161        `,main:`
162
163            var coord = vUV + ceil(tilingUniforms.uClampOffset - vUV);
164            coord = (tilingUniforms.uMapCoord * vec3(coord, 1.0)).xy;
165            var unclamped = coord;
166            coord = clamp(coord, tilingUniforms.uClampFrame.xy, tilingUniforms.uClampFrame.zw);
167
168            var bias = 0.;
169
170            if(unclamped.x == coord.x && unclamped.y == coord.y)
171            {
172                bias = -32.;
173            }
174
175            outColor = textureSampleBias(uTexture, uSampler, coord, bias);
176        `}},eO={name:"tiling-bit",vertex:{header:`
177            uniform mat3 uTextureTransform;
178            uniform vec4 uSizeAnchor;
179
180        `,main:`
181            uv = (uTextureTransform * vec3(aUV, 1.0)).xy;
182
183            position = (position - uSizeAnchor.zw) * uSizeAnchor.xy;
184        `},fragment:{header:`
185            uniform sampler2D uTexture;
186            uniform mat3 uMapCoord;
187            uniform vec4 uClampFrame;
188            uniform vec2 uClampOffset;
189        `,main:`
190
191        vec2 coord = vUV + ceil(uClampOffset - vUV);
192        coord = (uMapCoord * vec3(coord, 1.0)).xy;
193        vec2 unclamped = coord;
194        coord = clamp(coord, uClampFrame.xy, uClampFrame.zw);
195
196        outColor = texture(uTexture, coord, unclamped == coord ? 0.0 : -32.0);// lod-bias very negative to force lod 0
197
198        `}};class eF extends er.M{constructor(){l??(l=(0,eI.v)({name:"tiling-sprite-shader",bits:[eR.Ls,eB,eE.b]})),h??(h=(0,eI.I)({name:"tiling-sprite-shader",bits:[eR.mA,eO,eE.m]}));const t=new t0.k({uMapCoord:{value:new tJ.u,type:"mat3x3<f32>"},uClampFrame:{value:new Float32Array([0,0,1,1]),type:"vec4<f32>"},uClampOffset:{value:new Float32Array([0,0]),type:"vec2<f32>"},uTextureTransform:{value:new tJ.u,type:"mat3x3<f32>"},uSizeAnchor:{value:new Float32Array([100,100,.5,.5]),type:"vec4<f32>"}});super({glProgram:h,gpuProgram:l,resources:{localUniforms:new t0.k({uTransformMatrix:{value:new tJ.u,type:"mat3x3<f32>"},uColor:{value:new Float32Array([1,1,1,1]),type:"vec4<f32>"},uRound:{value:0,type:"f32"}}),tilingUniforms:t,uTexture:G.g.EMPTY.source,uSampler:G.g.EMPTY.source.style}})}updateUniforms(t,e,i,r,s,n){let a=this.resources.tilingUniforms,o=n.width,l=n.height,h=n.textureMatrix,u=a.uniforms.uTextureTransform;u.set(i.a*o/t,i.b*o/e,i.c*l/t,i.d*l/e,i.tx/t,i.ty/e),u.invert(),a.uniforms.uMapCoord=h.mapCoord,a.uniforms.uClampFrame=h.uClampFrame,a.uniforms.uClampOffset=h.uClampOffset,a.uniforms.uTextureTransform=u,a.uniforms.uSizeAnchor[0]=t,a.uniforms.uSizeAnchor[1]=e,a.uniforms.uSizeAnchor[2]=r,a.uniforms.uSizeAnchor[3]=s,n&&(this.resources.uTexture=n.source,this.resources.uSampler=n.source.style)}}class eU extends ek{constructor(){super({positions:new Float32Array([0,0,1,0,1,1,0,1]),uvs:new Float32Array([0,0,1,0,1,1,0,1]),indices:new Uint32Array([0,1,2,0,2,3])})}}let ez=new eU;class eL{constructor(){this.canBatch=!0,this.geometry=new ek({indices:ez.indices.slice(),positions:ez.positions.slice(),uvs:ez.uvs.slice()})}destroy(){this.geometry.destroy(),this.shader?.destroy()}}class eD{constructor(t){this._state=t2.U.default2d,this._renderer=t,this._managedTilingSprites=new t3.s({renderer:t,type:"renderable",name:"tilingSprite"})}validateRenderable(t){let e=this._getTilingSpriteData(t),i=e.canBatch;this._updateCanBatch(t);let r=e.canBatch;if(r&&r===i){let{batchableMesh:i}=e;return!i._batcher.checkAndUpdateTexture(i,t.texture)}return i!==r}addRenderable(t,e){let i=this._renderer.renderPipes.batch;this._updateCanBatch(t);let r=this._getTilingSpriteData(t),{geometry:s,canBatch:n}=r;if(n){r.batchableMesh||(r.batchableMesh=new eM);let n=r.batchableMesh;t.didViewUpdate&&(this._updateBatchableMesh(t),n.geometry=s,n.renderable=t,n.transform=t.groupTransform,n.setTexture(t._texture)),n.roundPixels=this._renderer._roundPixels|t._roundPixels,i.addToBatch(n,e)}else i.break(e),r.shader||(r.shader=new eF),this.updateRenderable(t),e.add(t)}execute(t){let e=this._renderer,{shader:i}=this._getTilingSpriteData(t);i.groups[0]=e.globalUniforms.bindGroup;let r=i.resources.localUniforms.uniforms;r.uTransformMatrix=t.groupTransform,r.uRound=e._roundPixels|t._roundPixels,(0,t5.V)(t.groupColorAlpha,r.uColor,0),this._state.blendMode=(0,t1.i)(t.groupBlendMode,t.texture._source),e.encoder.draw({geometry:ez,shader:i,state:this._state})}updateRenderable(t){let e=this._getTilingSpriteData(t),{canBatch:i}=e;if(i){let{batchableMesh:i}=e;t.didViewUpdate&&this._updateBatchableMesh(t),i._batcher.updateElement(i)}else if(t.didViewUpdate){let{shader:i}=e;i.updateUniforms(t.width,t.height,t._tileTransform.matrix,t.anchor.x,t.anchor.y,t.texture)}}_getTilingSpriteData(t){return t._gpuData[this._renderer.uid]||this._initTilingSpriteData(t)}_initTilingSpriteData(t){let e=new eL;return e.renderable=t,t._gpuData[this._renderer.uid]=e,this._managedTilingSprites.add(t),e}_updateBatchableMesh(t){var e,i;let r,s,n,a,o,l,h,u,d,{geometry:c}=this._getTilingSpriteData(t),f=t.texture.source.style;
198"repeat"!==f.addressMode&&(f.addressMode="repeat",f.update()),e=c.uvs,s=(r=t.texture).frame.width,n=r.frame.height,a=0,o=0,t.applyAnchorToTexture&&(a=t.anchor.x,o=t.anchor.y),e[0]=e[6]=-a,e[2]=e[4]=1-a,e[1]=e[3]=-o,e[5]=e[7]=1-o,l=t._tileTransform.matrix,(h=tJ.u.shared).set(l.a*s/t.width,l.b*s/t.height,l.c*n/t.width,l.d*n/t.height,l.tx/t.width,l.ty/t.height),h.invert(),function(t,e,i,r){let s=0,n=t.length/2,a=r.a,o=r.b,l=r.c,h=r.d,u=r.tx,d=r.ty;for(i*=2;s<n;){let e=t[i],r=t[i+1];t[i]=a*e+l*r+u,t[i+1]=o*e+h*r+d,i+=2,s++}}(e,0,0,h),i=c.positions,u=t.anchor.x,d=t.anchor.y,i[0]=-u*t.width,i[1]=-d*t.height,i[2]=(1-u)*t.width,i[3]=-d*t.height,i[4]=(1-u)*t.width,i[5]=(1-d)*t.height,i[6]=-u*t.width,i[7]=(1-d)*t.height}destroy(){this._managedTilingSprites.destroy(),this._renderer=null}_updateCanBatch(t){let e=this._getTilingSpriteData(t),i=t.texture,r=!0;return this._renderer.type===eT.W.WEBGL&&(r=this._renderer.context.supports.nonPowOf2wrapping),e.canBatch=i.textureMatrix.isSimple&&(r||i.source.isPowerOfTwo),e.canBatch}}eD.extension={type:[u.Ag.WebGLPipes,u.Ag.WebGPUPipes],name:"tilingSprite"},u.XO.add(eC),u.XO.add(eD);let eG=class t extends tQ.l{constructor(...e){let i=e[0]||{};i instanceof G.g&&(i={texture:i}),e.length>1&&((0,v.t6)(v.lj,"use new TilingSprite({ texture, width:100, height:100 }) instead"),i.width=e[1],i.height=e[2]);const{texture:r,anchor:s,tilePosition:n,tileScale:a,tileRotation:o,width:l,height:h,applyAnchorToTexture:u,roundPixels:d,...c}=(i={...t.defaultOptions,...i})??{};super({label:"TilingSprite",...c}),this.renderPipeId="tilingSprite",this.batched=!0,this.allowChildren=!1,this._anchor=new ey.o({_onUpdate:()=>{this.onViewUpdate()}}),this.applyAnchorToTexture=u,this.texture=r,this._width=l??r.width,this._height=h??r.height,this._tileTransform=new e_({observer:{_onUpdate:()=>this.onViewUpdate()}}),s&&(this.anchor=s),this.tilePosition=n,this.tileScale=a,this.tileRotation=o,this.roundPixels=d??!1}static from(e,i={}){return new t("string"==typeof e?{texture:D.l.get(e),...i}:{texture:e,...i})}get uvRespectAnchor(){return(0,v.t6)(v.lj,"uvRespectAnchor is deprecated, please use applyAnchorToTexture instead"),this.applyAnchorToTexture}set uvRespectAnchor(t){(0,v.t6)(v.lj,"uvRespectAnchor is deprecated, please use applyAnchorToTexture instead"),this.applyAnchorToTexture=t}get clampMargin(){return this._texture.textureMatrix.clampMargin}set clampMargin(t){this._texture.textureMatrix.clampMargin=t}get anchor(){return this._anchor}set anchor(t){"number"==typeof t?this._anchor.set(t):this._anchor.copyFrom(t)}get tilePosition(){return this._tileTransform.position}set tilePosition(t){this._tileTransform.position.copyFrom(t)}get tileScale(){return this._tileTransform.scale}set tileScale(t){"number"==typeof t?this._tileTransform.scale.set(t):this._tileTransform.scale.copyFrom(t)}set tileRotation(t){this._tileTransform.rotation=t}get tileRotation(){return this._tileTransform.rotation}get tileTransform(){return this._tileTransform}set texture(t){t||(t=G.g.EMPTY);let e=this._texture;e!==t&&(e&&e.dynamic&&e.off("update",this.onViewUpdate,this),t.dynamic&&t.on("update",this.onViewUpdate,this),this._texture=t,this.onViewUpdate())}get texture(){return this._texture}set width(t){this._width=t,this.onViewUpdate()}get width(){return this._width}set height(t){this._height=t,this.onViewUpdate()}get height(){return this._height}setSize(t,e){"object"==typeof t&&(e=t.height??t.width,t=t.width),this._width=t,this._height=e??t,this.onViewUpdate()}getSize(t){return t||(t={}),t.width=this._width,t.height=this._height,t}updateBounds(){let t=this._bounds,e=this._anchor,i=this._width,r=this._height;t.minX=-e._x*i,t.maxX=t.minX+i,t.minY=-e._y*r,t.maxY=t.minY+r}containsPoint(t){let e=this._width,i=this._height,r=-e*this._anchor._x,s=0;return!!(t.x>=r)&&!!(t.x<=r+e)&&(s=-i*this._anchor._y,!!(t.y>=s)&&!!(t.y<=s+i))||!1}destroy(t=!1){if(super.destroy(t),this._anchor=null,this._tileTransform=null,this._bounds=null,"boolean"==typeof t?t:t?.texture){let e="boolean"==typeof t?t:t?.textureSource;this._texture.destroy(e)}this._texture=null}};eG.defaultOptions={texture:G.g.EMPTY,anchor:{x:0,y:0},tilePosition:{x:0,y:0},tileScale:{x:1,y:1},tileRotation:0,applyAnchorToTexture:!1};let eV=eG;var eW=i(96213),e$=i(26622);class eX extends tQ.l{constructor(t,e){const{text:i,resolution:r,style:s,anchor:n,width:a,height:o,roun
198dPixels:l,...h}=t;super({...h}),this.batched=!0,this._resolution=null,this._autoResolution=!0,this._didTextUpdate=!0,this._styleClass=e,this.text=i??"",this.style=s,this.resolution=r??null,this.allowChildren=!1,this._anchor=new ey.o({_onUpdate:()=>{this.onViewUpdate()}}),n&&(this.anchor=n),this.roundPixels=l??!1,void 0!==a&&(this.width=a),void 0!==o&&(this.height=o)}get anchor(){return this._anchor}set anchor(t){"number"==typeof t?this._anchor.set(t):this._anchor.copyFrom(t)}set text(t){t=t.toString(),this._text!==t&&(this._text=t,this.onViewUpdate())}get text(){return this._text}set resolution(t){this._autoResolution=null===t,this._resolution=t,this.onViewUpdate()}get resolution(){return this._resolution}get style(){return this._style}set style(t){t||(t={}),this._style?.off("update",this.onViewUpdate,this),t instanceof this._styleClass?this._style=t:this._style=new this._styleClass(t),this._style.on("update",this.onViewUpdate,this),this.onViewUpdate()}get width(){return Math.abs(this.scale.x)*this.bounds.width}set width(t){this._setWidth(t,this.bounds.width)}get height(){return Math.abs(this.scale.y)*this.bounds.height}set height(t){this._setHeight(t,this.bounds.height)}getSize(t){return t||(t={}),t.width=Math.abs(this.scale.x)*this.bounds.width,t.height=Math.abs(this.scale.y)*this.bounds.height,t}setSize(t,e){"object"==typeof t?(e=t.height??t.width,t=t.width):e??(e=t),void 0!==t&&this._setWidth(t,this.bounds.width),void 0!==e&&this._setHeight(e,this.bounds.height)}containsPoint(t){let e=this.bounds.width,i=this.bounds.height,r=-e*this.anchor.x,s=0;return!!(t.x>=r)&&!!(t.x<=r+e)&&(s=-i*this.anchor.y,!!(t.y>=s)&&!!(t.y<=s+i))||!1}onViewUpdate(){this.didViewUpdate||(this._didTextUpdate=!0),super.onViewUpdate()}destroy(t=!1){super.destroy(t),this.owner=null,this._bounds=null,this._anchor=null,("boolean"==typeof t?t:t?.style)&&this._style.destroy(t),this._style=null,this._text=null}get styleKey(){return`${this._text}:${this._style.styleKey}:${this._resolution}`}}var ej=i(63297),eN=i(9306);let eY=null,eH=null;function eq(t,e,i){for(let r=0,s=4*i*e;r<e;++r,s+=4)if(0!==t[s+3])return!1;return!0}function eK(t,e,i,r,s){let n=4*e;for(let e=r,a=r*n+4*i;e<=s;++e,a+=n)if(0!==t[a+3])return!1;return!0}var eQ=i(62422),eZ=i(84339),eJ=i(71541);let e0=new tG.M;function e1(t){let e=0;for(let i=0;i<t.length;i++)32===t.charCodeAt(i)&&e++;return e}class e2{getCanvasAndContext(t){let{text:e,style:i,resolution:r=1}=t,s=i._getFinalPadding(),n=eQ.P.measureText(e||" ",i),a=Math.ceil(Math.ceil(Math.max(1,n.width)+2*s)*r),o=Math.ceil(Math.ceil(Math.max(1,n.height)+2*s)*r),l=ej.N.getOptimalCanvasAndContext(a,o);this._renderTextToCanvas(i,s,r,l,n);let h=i.trim?function(...t){let e=t[0];e.canvas||(e={canvas:t[0],resolution:t[1]});let{canvas:i}=e,r=Math.min(e.resolution??1,1),s=e.width??i.width,n=e.height??i.height,a=e.output;if(eY||((eH=(eY=f.e.get().createCanvas(256,128)).getContext("2d",{willReadFrequently:!0})).globalCompositeOperation="copy",eH.globalAlpha=1),(eY.width<s||eY.height<n)&&(eY.width=(0,eN.U5)(s),eY.height=(0,eN.U5)(n)),!eH)throw TypeError("Failed to get canvas 2D context");eH.drawImage(i,0,0,s,n,0,0,s*r,n*r);let o=eH.getImageData(0,0,s,n).data,l=0,h=0,u=s-1,d=n-1;for(;h<n&&eq(o,s,h);)++h;if(h===n)return tG.M.EMPTY;for(;eq(o,s,d);)--d;for(;eK(o,s,l,h,d);)++l;for(;eK(o,s,u,h,d);)--u;return++u,++d,eH.globalCompositeOperation="source-over",eH.strokeRect(l,h,u-l,d-h),eH.globalCompositeOperation="copy",a??(a=new tG.M),a.set(l/r,h/r,(u-l)/r,(d-h)/r),a}({canvas:l.canvas,width:a,height:o,resolution:1,output:e0}):e0.set(0,0,a,o);return{canvasAndContext:l,frame:h}}returnCanvasAndContext(t){ej.N.returnCanvasAndContext(t)}_renderTextToCanvas(t,e,i,r,s){let n,a;if(s.runsByLine&&s.runsByLine.length>0)return void this._renderTaggedTextToCanvas(s,t,e,i,r);let{canvas:o,context:l}=r,h=(0,eZ.Z)(t),u=s.lines,d=s.lineHeight,c=s.lineWidths,f=s.maxLineWidth,p=s.fontProperties,m=o.height;if(l.resetTransform(),l.scale(i,i),l.textBaseline=t.textBaseline,t._stroke?.width){let e=t._stroke;l.lineWidth=e.width,l.miterLimit=e.miterLimit,l.lineJoin=e.join,l.lineCap=e.cap}l.font=h;let g=t.dropShadow?2:1,x=(t._stroke?.width??0)/2,y=(d-p.fontSize)/2;d-p.fontSize<0&&(y=0);for(let o=0;o<g;
198++o){let h=t.dropShadow&&0===o,g=h?Math.ceil(Math.max(1,m)+2*e):0,_=g*i;if(h)this._setupDropShadow(l,t,i,_);else{let i=t._gradientBounds,r=t._gradientOffset;if(i){let n={width:i.width,height:i.height,lineHeight:i.height,lines:s.lines};this._setFillAndStrokeStyles(l,t,n,e,x,r?.x??0,r?.y??0)}else r?this._setFillAndStrokeStyles(l,t,s,e,x,r.x,r.y):this._setFillAndStrokeStyles(l,t,s,e,x);l.shadowColor="rgba(0,0,0,0)"}for(let i=0;i<u.length;i++){n=x,a=x+i*d+p.ascent+y,n+=this._getAlignmentOffset(c[i],f,t.align);let s=0;if("justify"===t.align&&t.wordWrap&&i<u.length-1){let t=e1(u[i]);t>0&&(s=(f-c[i])/t)}t._stroke?.width&&this._drawLetterSpacing(u[i],t,r,n+e,a+e-g,!0,s),void 0!==t._fill&&this._drawLetterSpacing(u[i],t,r,n+e,a+e-g,!1,s)}}}_renderTaggedTextToCanvas(t,e,i,r,s){let{canvas:n,context:a}=s,{runsByLine:o,lineWidths:l,maxLineWidth:h,lineAscents:u,lineHeights:d,hasDropShadow:c}=t,f=n.height;a.resetTransform(),a.scale(r,r),a.textBaseline=e.textBaseline;let p=c?2:1,m=e._stroke?.width??0;for(let t of o)for(let e of t){let t=e.style._stroke?.width??0;t>m&&(m=t)}let g=m/2,x=[];for(let t=0;t<o.length;t++){let e=o[t],i=[];for(let t of e){let e=(0,eZ.Z)(t.style);a.font=e,i.push({width:eQ.P._measureText(t.text,t.style.letterSpacing,a),font:e})}x.push(i)}for(let t=0;t<p;++t){let n=c&&0===t,p=n?Math.ceil(Math.max(1,f)+2*i):0,m=p*r;n||(a.shadowColor="rgba(0,0,0,0)");let y=g;for(let t=0;t<o.length;t++){let c=o[t],f=l[t],_=u[t],v=d[t],b=x[t],w=g;w+=this._getAlignmentOffset(f,h,e.align);let A=0;if("justify"===e.align&&e.wordWrap&&t<o.length-1){let t=0;for(let e of c)t+=e1(e.text);t>0&&(A=(h-f)/t)}let S=y+_,C=w+i;for(let t=0;t<c.length;t++){let e=c[t],{width:o,font:l}=b[t];if(a.font=l,a.textBaseline=e.style.textBaseline,e.style._stroke?.width){let t=e.style._stroke;if(a.lineWidth=t.width,a.miterLimit=t.miterLimit,a.lineJoin=t.join,a.lineCap=t.cap,n)if(e.style.dropShadow)this._setupDropShadow(a,e.style,r,m);else{C+=o+e1(e.text)*A;continue}else{let r=eQ.P.measureFont(l),s=e.style.lineHeight||r.fontSize,n={width:o,height:s,lineHeight:s,lines:[e.text]};a.strokeStyle=(0,eJ.r)(t,a,n,2*i,C-i,y)}this._drawLetterSpacing(e.text,e.style,s,C,S+i-p,!0,A)}C+=o+e1(e.text)*A}C=w+i;for(let t=0;t<c.length;t++){let e=c[t],{width:o,font:l}=b[t];if(a.font=l,a.textBaseline=e.style.textBaseline,void 0!==e.style._fill){if(n)if(e.style.dropShadow)this._setupDropShadow(a,e.style,r,m);else{C+=o+e1(e.text)*A;continue}else{let t=eQ.P.measureFont(l),r=e.style.lineHeight||t.fontSize,s={width:o,height:r,lineHeight:r,lines:[e.text]};a.fillStyle=(0,eJ.r)(e.style._fill,a,s,2*i,C-i,y)}this._drawLetterSpacing(e.text,e.style,s,C,S+i-p,!1,A)}C+=o+e1(e.text)*A}y+=v}}}_setFillAndStrokeStyles(t,e,i,r,s,n=0,a=0){t.fillStyle=e._fill?(0,eJ.r)(e._fill,t,i,2*r,n,a):null,e._stroke?.width&&(t.strokeStyle=(0,eJ.r)(e._stroke,t,i,s+2*r,n,a))}_setupDropShadow(t,e,i,r){t.fillStyle="black",t.strokeStyle="black";let s=e.dropShadow,n=s.color,a=s.alpha;t.shadowColor=tj.Q.shared.setValue(n).setAlpha(a).toRgbaString();let o=s.blur*i,l=s.distance*i;t.shadowBlur=o,t.shadowOffsetX=Math.cos(s.angle)*l,t.shadowOffsetY=Math.sin(s.angle)*l+r}_getAlignmentOffset(t,e,i){return"right"===i?e-t:"center"===i?(e-t)/2:0}_drawLetterSpacing(t,e,i,r,s,n=!1,a=0){let{context:o}=i,l=e.letterSpacing,h=!1;if(eQ.P.experimentalLetterSpacingSupported&&(eQ.P.experimentalLetterSpacing?(o.letterSpacing=`${l}px`,o.textLetterSpacing=`${l}px`,h=!0):(o.letterSpacing="0px",o.textLetterSpacing="0px")),(0===l||h)&&0===a)return void(n?o.strokeText(t,r,s):o.fillText(t,r,s));if(0!==a&&(0===l||h)){let e=t.split(" "),i=r,l=o.measureText(" ").width;for(let t=0;t<e.length;t++)n?o.strokeText(e[t],i,s):o.fillText(e[t],i,s),i+=o.measureText(e[t]).width+l+a;return}let u=r,d=eQ.P.graphemeSegmenter(t),c=o.measureText(t).width,f=0;for(let t=0;t<d.length;++t){let e=d[t];n?o.strokeText(e,u,s):o.fillText(e,u,s);let i="";for(let e=t+1;e<d.length;++e)i+=d[e];u+=c-(f=o.measureText(i).width)+l," "===e&&(u+=a),c=f}}}let e3=new e2;var e5=i(94762),e4=i(1417),e6=i(46143);class e8 extends e6.K{}class e9{constructor(t){this._renderer=t,t.runners.resolutionChange.add(this),this._managedTexts=new t3.s({renderer:t,type:"renderable",onUnload:this.onTextUnload.bind(this),name:"canvasText"})}resolutionChange(){for(let t in this._managedTexts.items){let e=this._managedTexts.items[t];e?._autoResolution&&e.onViewUpdate()}}validateRenderable(t){let e=this._getGpuText(t),i=t.styleKey;return e.currentKey!==i||t._didTextUpdate}
198addRenderable(t,e){let i=this._getGpuText(t);if(t._didTextUpdate){let e=t._autoResolution?this._renderer.resolution:t.resolution;(i.currentKey!==t.styleKey||t._resolution!==e)&&this._updateGpuText(t),t._didTextUpdate=!1,function(t,e){let{texture:i,bounds:r}=t,s=e._style._getFinalPadding();(0,e4.y)(r,e._anchor,i);let n=e._anchor._x*s*2,a=e._anchor._y*s*2;r.minX-=s-n,r.minY-=s-a,r.maxX-=s-n,r.maxY-=s-a}(i,t)}this._renderer.renderPipes.batch.addToBatch(i,e)}updateRenderable(t){let e=this._getGpuText(t);e._batcher.updateElement(e)}_updateGpuText(t){let e=this._getGpuText(t);e.texture&&this._renderer.canvasText.decreaseReferenceCount(e.currentKey),t._resolution=t._autoResolution?this._renderer.resolution:t.resolution,e.texture=this._renderer.canvasText.getManagedTexture(t),e.currentKey=t.styleKey}_getGpuText(t){return t._gpuData[this._renderer.uid]||this.initGpuText(t)}initGpuText(t){let e=new e8;return e.currentKey="--",e.renderable=t,e.transform=t.groupTransform,e.bounds={minX:0,maxX:1,minY:0,maxY:0},e.roundPixels=this._renderer._roundPixels|t._roundPixels,t._gpuData[this._renderer.uid]=e,this._managedTexts.add(t),e}onTextUnload(t){let e=t._gpuData[this._renderer.uid];if(!e)return;let{canvasText:i}=this._renderer;i.getReferenceCount(e.currentKey)>0?i.decreaseReferenceCount(e.currentKey):e.texture&&i.returnTexture(e.texture)}destroy(){this._managedTexts.destroy(),this._renderer=null}}e9.extension={type:[u.Ag.WebGLPipes,u.Ag.WebGPUPipes,u.Ag.CanvasPipes],name:"text"};var e7=i(19999);class it{constructor(t,e){this._activeTextures={},this._renderer=t,this._retainCanvasContext=e}getTexture(t,e,i,r){"string"==typeof t&&((0,v.t6)("8.0.0","CanvasTextSystem.getTexture: Use object TextOptions instead of separate arguments"),t={text:t,style:i,resolution:e}),t.style instanceof e5.x||(t.style=new e5.x(t.style)),t.textureStyle instanceof es.n||(t.textureStyle=new es.n(t.textureStyle)),"string"!=typeof t.text&&(t.text=t.text.toString());let{text:s,style:n,textureStyle:a,autoGenerateMipmaps:o}=t,l=t.resolution??this._renderer.resolution,{frame:h,canvasAndContext:u}=e3.getCanvasAndContext({text:s,style:n,resolution:l}),d=(0,e7.M)(u.canvas,h.width,h.height,l,o);if(a&&(d.source.style=a),n.trim&&(h.pad(n.padding),d.frame.copyFrom(h),d.frame.scale(1/l),d.updateUvs()),n.filters){let t=this._applyFilters(d,n.filters);return this.returnTexture(d),e3.returnCanvasAndContext(u),t}return this._renderer.texture.initSource(d._source),this._retainCanvasContext||e3.returnCanvasAndContext(u),d}returnTexture(t){let e=t.source,i=e.resource;if(this._retainCanvasContext&&i?.getContext){let t=i.getContext("2d");t&&e3.returnCanvasAndContext({canvas:i,context:t})}e.resource=null,e.uploadMethodId="unknown",e.alphaMode="no-premultiply-alpha",t$.W.returnTexture(t,!0)}renderTextToCanvas(){(0,v.t6)("8.10.0","CanvasTextSystem.renderTextToCanvas: no longer supported, use CanvasTextSystem.getTexture instead")}getManagedTexture(t){t._resolution=t._autoResolution?this._renderer.resolution:t.resolution;let e=t.styleKey;if(this._activeTextures[e])return this._increaseReferenceCount(e),this._activeTextures[e].texture;let i=this.getTexture({text:t.text,style:t.style,resolution:t._resolution,textureStyle:t.textureStyle,autoGenerateMipmaps:t.autoGenerateMipmaps});return this._activeTextures[e]={texture:i,usageCount:1},i}decreaseReferenceCount(t){let e=this._activeTextures[t];e&&(e.usageCount--,0===e.usageCount&&(this.returnTexture(e.texture),this._activeTextures[t]=null))}getReferenceCount(t){return this._activeTextures[t]?.usageCount??0}_increaseReferenceCount(t){this._activeTextures[t].usageCount++}_applyFilters(t,e){let i=this._renderer.renderTarget.renderTarget,r=this._renderer.filter.generateFilteredTexture({texture:t,filters:e});return this._renderer.renderTarget.bind(i,!1),r}destroy(){for(let t in this._renderer=null,this._activeTextures)this._activeTextures[t]&&this.returnTexture(this._activeTextures[t].texture);this._activeTextures=null}}class ie extends it{constructor(t){super(t,!0)}}ie.extension={type:[u.Ag.CanvasSystem],name:"canvasText"};class ii extends it{constructor(t){super(t,!1)}}ii.extension={type:[u.Ag.WebGLSystem,u.Ag.WebGPUSystem],name:"canvasText"},u.XO.add(ie),u.XO.add(ii),u.XO.add(e9);class ir extends eX{constructor(...t){const e=function(t,e){let i=t[0]??{};return("string"==typeof i||t[1])&&((0,v.t6)(v.lj,`use new ${e}({ text: "hi!", style }) instead`),i={text:i,style:t[1]}),i}(t,"Text");super(e,e5.x),this.renderPipeId="text",e.textureStyle&&(this.textureStyle=e.textureStyle instanceof es.n?e.textureStyle:new es.n(e.textureStyle)),this.autoGenerateMipmaps=e.autoGenerateMipmaps??e$.v.defaultOptions.autoGenerateMipmaps}updateBounds(){let t=this._bounds,e=this._anchor,i=0,r=0;if(this._style.trim){let{frame:t,canvasAndContext:e}=e3.getCanvasAndContext({text:this.text,style:this._style,resolution:1});e3.returnCanvasAndContext(e),i=t.width,r=t.height}else{let t=eQ.P.measureText(this._text,this._style);i=t.width,r=t.height}t.minX=-e._x*i,t.maxX=t.minX+i,t.minY=-e._y*r,t.maxY=t.minY+r}}i(4215),u.XO.add(d,c)},4103:(t,e,i)=>{i.d(e,{D:()=>o,R:()=>l});var r=i(76080),s=i(95194),n=i(78713),a=i(91432);function o(t){return((255&t)<<16)+(65280&t)+(t>>16&255)}let l={getGlobalAlpha(t){if(t)return this.renderGroup?this.renderGroup.worldAlpha:this.parentRenderGroup?this.parentRenderGroup.worldAlpha*this.alpha:this.alpha;let e=this.alpha,i=this.parent;for(;i;)e*=i.alpha,i=i.parent;return e},getGlobalTransform(t=new r.u,e){if(e)return t.copyFrom(this.worldTransform);this.updateLocalTransform();let i=(0,s.E)(this,n.u.get().identity());return t.appendFrom(this.localTransform,i),n.u.return(i),t},getGlobalTint(t){if(t)return this.renderGroup?o(this.renderGroup.worldColor):this.parentRenderGroup?o((0,a.j)(this.localColor,this.parentRenderGroup.worldColor)):this.tint;let e=this.localColor,i=this.parent;for(;i;)e=(0,a.j)(e,i.localColor),i=i.parent;return o(e)}}},4215:(t,e,i)=>{i.d(e,{A:()=>r});let r=i(56700)},4596:(t,e,i)=>{i.d(e,{L:()=>s});let r={default:-1};function s(t="default"){return void 0===r[t]&&(r[t]=-1),++r[t]}},7323:(t,e,i)=>{i.d(e,{S:()=>r});function r(t){let e={};for(let i in t)void 0!==t[i]&&(e[i]=t[i]);return e}}
198,9117:(t,e,i)=>{i.d(e,{TO:()=>r,Td:()=>n,bO:()=>s});let r=2*Math.PI,s=180/Math.PI,n=Math.PI/180},9297:(t,e,i)=>{i.d(e,{B:()=>r,I:()=>s});let r=1e-4,s=1e-4},9306:(t,e,i)=>{function r(t){return t+=+(0===t),--t,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,(t|=t>>>16)+1}function s(t){return!(t&t-1)&&!!t}i.d(e,{U5:()=>r,f3:()=>s})},11136:(t,e,i)=>{i.d(e,{T:()=>r});class r{constructor(t){this.resources=Object.create(null),this._dirty=!0;let e=0;for(const i in t){const r=t[i];this.setResource(r,e++)}this._updateKey()}_updateKey(){if(!this._dirty)return;this._dirty=!1;let t=[],e=0;for(let i in this.resources)t[e++]=this.resources[i]._resourceId;this._key=t.join("|")}setResource(t,e){let i=this.resources[e];t!==i&&(i?.off?.("change",this.onResourceChange,this),t.on?.("change",this.onResourceChange,this),this.resources[e]=t,this._dirty=!0)}getResource(t){return this.resources[t]}_touch(t,e){let i=this.resources;for(let r in i)i[r]._gcLastUsed=t,i[r]._touched=e}destroy(){let t=this.resources;for(let e in t){let i=t[e];i?.off?.("change",this.onResourceChange,this)}this.resources=null}onResourceChange(t){this._dirty=!0,t.destroyed?this.destroy():this._updateKey()}}},11474:(t,e,i)=>{let r;i.d(e,{M:()=>d});var s=i(14641),n=i(66757);let a={},o={},l={stripVersion:function(t,e){return e?t.replace("#version 300 es",""):t},ensurePrecision:function(t,e,i){let r=i?e.maxSupportedFragmentPrecision:e.maxSupportedVertexPrecision;if("precision"!==t.substring(0,9)){let s=i?e.requestedFragmentPrecision:e.requestedVertexPrecision;return"highp"===s&&"highp"!==r&&(s="mediump"),`precision ${s} float;
199${t}`}return"highp"!==r&&"precision highp"===t.substring(0,15)?t.replace("precision highp","precision mediump"):t},addProgramDefines:function(t,e,i){return e?t:i?(t=t.replace("out vec4 finalColor;",""),`
200
201        #ifdef GL_ES // This checks if it is WebGL1
202        #define in varying
203        #define finalColor gl_FragColor
204        #define texture texture2D
205        #endif
206        ${t}
207        `):`
208
209        #ifdef GL_ES // This checks if it is WebGL1
210        #define in attribute
211        #define out varying
212        #endif
213        ${t}
214        `},setProgramName:function(t,{name:e="pixi-program"},i=!0){e=e.replace(/\s+/g,"-")+(i?"-fragment":"-vertex");let r=i?a:o;if(r[e]?(r[e]++,e+=`-${r[e]}`):r[e]=1,-1!==t.indexOf("#define SHADER_NAME"))return t;let s=`#define SHADER_NAME ${e}`;return`${s}
215${t}`},insertVersion:function(t,e){return e?`#version 300 es
216${t}`:t}},h=Object.create(null),u=class t{constructor(e){const i=-1!==(e={...t.defaultOptions,...e}).fragment.indexOf("#version 300 es"),a={stripVersion:i,ensurePrecision:{requestedFragmentPrecision:e.preferredFragmentPrecision,requestedVertexPrecision:e.preferredVertexPrecision,maxSupportedVertexPrecision:"highp",maxSupportedFragmentPrecision:function(){if(!r){r="mediump";let t=(0,n.W)();t&&t.getShaderPrecisionFormat&&(r=t.getShaderPrecisionFormat(t.FRAGMENT_SHADER,t.HIGH_FLOAT).precision?"highp":"mediump")}return r}()},setProgramName:{name:e.name},addProgramDefines:i,insertVersion:i};let o=e.fragment,h=e.vertex;Object.keys(l).forEach(t=>{let e=a[t];o=l[t](o,e,!0),h=l[t](h,e,!1)}),this.fragment=o,this.vertex=h,this.transformFeedbackVaryings=e.transformFeedbackVaryings,this._key=(0,s.X)(`${this.vertex}:${this.fragment}`,"gl-program")}destroy(){this.fragment=null,this.vertex=null,this._attributeData=null,this._uniformData=null,this._uniformBlockData=null,this.transformFeedbackVaryings=null,h[this._cacheKey]=null}static from(e){let i=`${e.vertex}:${e.fragment}`;return h[i]||(h[i]=new t(e),h[i]._cacheKey=i),h[i]}};u.defaultOptions={preferredVertexPrecision:"highp",preferredFragmentPrecision:"mediump"};let d=u},12506:(t,e,i)=>{i.d(e,{L:()=>r});let r={_registeredResources:new Set,register(t){this._registeredResources.add(t)},unregister(t){this._registeredResources.delete(t)},release(){this._registeredResources.forEach(t=>t.clear())},get registeredCount(){return this._registeredResources.size},isRegistered(t){return this._registeredResources.has(t)},reset(){this._registeredResources.clear()}}},12853:(t,e,i)=>{i.d(e,{o:()=>r});
216class r{constructor(t,e,i){this._x=e||0,this._y=i||0,this._observer=t}clone(t){return new r(t??this._observer,this._x,this._y)}set(t=0,e=t){return(this._x!==t||this._y!==e)&&(this._x=t,this._y=e,this._observer._onUpdate(this)),this}copyFrom(t){return(this._x!==t.x||this._y!==t.y)&&(this._x=t.x,this._y=t.y,this._observer._onUpdate(this)),this}copyTo(t){return t.set(this._x,this._y),t}equals(t){return t.x===this._x&&t.y===this._y}toString(){return`[pixi.js/math:ObservablePoint x=${this._x} y=${this._y} scope=${this._observer}]`}get x(){return this._x}set x(t){this._x!==t&&(this._x=t,this._observer._onUpdate(this))}get y(){return this._y}set y(t){this._y!==t&&(this._y=t,this._observer._onUpdate(this))}}},12954:(t,e,i)=>{i.d(e,{P:()=>n});var r=i(42434),s=i(26622);class n extends s.v{constructor(t){const e=t.resource||new Float32Array(t.width*t.height*4);let i=t.format;i||(e instanceof Float32Array?i="rgba32float":e instanceof Int32Array||e instanceof Uint32Array?i="rgba32uint":e instanceof Int16Array||e instanceof Uint16Array?i="rgba16uint":(Int8Array,i="bgra8unorm")),super({...t,resource:e,format:i}),this.uploadMethodId="buffer"}static test(t){return t instanceof Int8Array||t instanceof Uint8Array||t instanceof Uint8ClampedArray||t instanceof Int16Array||t instanceof Uint16Array||t instanceof Int32Array||t instanceof Uint32Array||t instanceof Float32Array}}n.extension=r.Ag.TextureSource},13108:(t,e,i)=>{i.d(e,{w:()=>a});var r=i(11136),s=i(62835);let n={};function a(t,e,i){let a=0x811c9dc5;for(let i=0;i<e;i++)a^=t[i].uid,a=Math.imul(a,0x1000193)>>>0;return n[a]||function(t,e,i,a){let o={},l=0;for(let i=0;i<a;i++){let r=i<e?t[i]:s.g.EMPTY.source;o[l++]=r.source,o[l++]=r.style}let h=new r.T(o);return n[i]=h,h}(t,e,a,i)}},14394:(t,e,i)=>{i.d(e,{M:()=>u});var r=i(4215),s=i(4596),n=i(11474),a=i(11136),o=i(96812),l=i(89666),h=i(85336);class u extends r.A{constructor(t){super(),this.uid=(0,s.L)("shader"),this._uniformBindMap=Object.create(null),this._ownedBindGroups=[],this._destroyed=!1;let{gpuProgram:e,glProgram:i,groups:r,resources:n,compatibleRenderers:o,groupMap:u}=t;this.gpuProgram=e,this.glProgram=i,void 0===o&&(o=0,e&&(o|=l.W.WEBGPU),i&&(o|=l.W.WEBGL)),this.compatibleRenderers=o;const d={};if(n||r||(n={}),n&&r)throw Error("[Shader] Cannot have both resources and groups");if(e||!r||u){if(!e&&r&&u)for(const t in u)for(const e in u[t]){const i=u[t][e];d[i]={group:t,binding:e,name:i}}else if(e&&r&&!u){const t=e.structsAndGroups.groups;u={},t.forEach(t=>{u[t.group]=u[t.group]||{},u[t.group][t.binding]=t.name,d[t.name]=t})}else if(n){r={},u={},e&&e.structsAndGroups.groups.forEach(t=>{u[t.group]=u[t.group]||{},u[t.group][t.binding]=t.name,d[t.name]=t});let t=0;for(const e in n)!d[e]&&(r[99]||(r[99]=new a.T,this._ownedBindGroups.push(r[99])),d[e]={group:99,binding:t,name:e},u[99]=u[99]||{},u[99][t]=e,t++);for(const t in n){let e=n[t];e.source||e._resourceType||(e=new h.k(e));const i=d[t];i&&(r[i.group]||(r[i.group]=new a.T,this._ownedBindGroups.push(r[i.group])),r[i.group].setResource(e,i.binding))}}}else throw Error("[Shader] No group map or WebGPU shader provided - consider using resources instead.");this.groups=r,this._uniformBindMap=u,this.resources=this._buildResourceAccessor(r,d)}addResource(t,e,i){var r,s;(r=this._uniformBindMap)[e]||(r[e]={}),(s=this._uniformBindMap[e])[i]||(s[i]=t),this.groups[e]||(this.groups[e]=new a.T,this._ownedBindGroups.push(this.groups[e]))}_buildResourceAccessor(t,e){let i={};for(let r in e){let s=e[r];Object.defineProperty(i,s.name,{get:()=>t[s.group].getResource(s.binding),set(e){t[s.group].setResource(e,s.binding)}})}return i}destroy(t=!1){this._destroyed||(this._destroyed=!0,this.emit("destroy",this),t&&(this.gpuProgram?.destroy(),this.glProgram?.destroy()),this.gpuProgram=null,this.glProgram=null,this.removeAllListeners(),this._uniformBindMap=null,this._ownedBindGroups.forEach(t=>{t.destroy()}),this._ownedBindGroups=null,this.resources=null,this.groups=null)}static from(t){let e,i,{gpu:r,gl:s,...a}=t;return r&&(e=o.B.from(r)),s&&(i=n.M.from(s)),new u({gpuProgram:e,glProgram:i,...a})}}},14638:(t,e,i)=>{i.d(e,{d:()=>r});function r(t,e,i){let r,s=t.length;if(e>=s||0===i)return;i=e+i>s?s-e:i;let n=s-i;for(r=e;r<n;++r)t[r]=t[r+i];t.length=n}}
216,14641:(t,e,i)=>{i.d(e,{X:()=>n});let r=Object.create(null),s=Object.create(null);function n(t,e){let i=s[t];return void 0===i&&(void 0===r[e]&&(r[e]=1),s[t]=i=r[e]++),i}},15476:(t,e,i)=>{var r=i(85874),s=i(42434),n=i(26622),a=i(62835);let o=[];function l(t={}){let e=t&&t.resource,i=e?t.resource:t,r=e?t:{resource:t};for(let t=0;t<o.length;t++){let e=o[t];if(e.test(i))return new e(r)}throw Error(`Could not find a source type for resource: ${r.resource}`)}s.XO.handleByList(s.Ag.TextureSource,o),a.g.from=function(t,e=!1){return"string"==typeof t?r.l.get(t):t instanceof n.v?new a.g({source:t}):function(t={},e=!1){let i=t&&t.resource,s=i?t.resource:t,n=i?t:{resource:t};if(!e&&r.l.has(s))return r.l.get(s);let o=new a.g({source:l(n)});return o.on("destroy",()=>{r.l.has(s)&&r.l.remove(s)}),e||r.l.set(s,o),o}(t,e)},n.v.from=l},15728:(t,e,i)=>{i.d(e,{l:()=>n});var r=i(35821),s=i(75951);class n extends s.mc{constructor(t){super(t),this.canBundle=!0,this.allowChildren=!1,this._roundPixels=0,this._lastUsed=-1,this._gpuData=Object.create(null),this.autoGarbageCollect=!0,this._gcLastUsed=-1,this._bounds=new r.c(0,1,0,0),this._boundsDirty=!0,this.autoGarbageCollect=t.autoGarbageCollect??!0}get bounds(){return this._boundsDirty&&(this.updateBounds(),this._boundsDirty=!1),this._bounds}get roundPixels(){return!!this._roundPixels}set roundPixels(t){this._roundPixels=+!!t}containsPoint(t){let e=this.bounds,{x:i,y:r}=t;return i>=e.minX&&i<=e.maxX&&r>=e.minY&&r<=e.maxY}onViewUpdate(){if(this._didViewChangeTick++,this._boundsDirty=!0,this.didViewUpdate)return;this.didViewUpdate=!0;let t=this.renderGroup||this.parentRenderGroup;t&&t.onChildViewUpdate(this)}unload(){for(let t in this.emit("unload",this),this._gpuData)this._gpuData[t]?.destroy();this._gpuData=Object.create(null),this.onViewUpdate()}destroy(t){this.unload(),super.destroy(t),this._bounds=null}collectRenderablesSimple(t,e,i){let{renderPipes:r}=e;r.blendMode.pushBlendMode(this,this.groupBlendMode,t);let s=r[this.renderPipeId];s?.addRenderable&&s.addRenderable(this,t),this.didViewUpdate=!1;let n=this.children,a=n.length;for(let r=0;r<a;r++)n[r].collectRenderables(t,e,i);r.blendMode.popBlendMode(t)}}},17295:(t,e,i)=>{i.d(e,{m:()=>a});var r=i(76080),s=i(4596);let n={repeat:{addressModeU:"repeat",addressModeV:"repeat"},"repeat-x":{addressModeU:"repeat",addressModeV:"clamp-to-edge"},"repeat-y":{addressModeU:"clamp-to-edge",addressModeV:"repeat"},"no-repeat":{addressModeU:"clamp-to-edge",addressModeV:"clamp-to-edge"}};class a{constructor(t,e){this.uid=(0,s.L)("fillPattern"),this._tick=0,this.transform=new r.u;const i=!function(t){return void 0!==t.texture}(t)?{texture:t,repetition:e}:t;this.texture=i.texture,this.textureSpace=i.textureSpace??"global";const a=i.repetition;a&&(this.texture.source.style.addressModeU=n[a].addressModeU,this.texture.source.style.addressModeV=n[a].addressModeV)}setTransform(t){if(t){if(this.transform.equals(t))return;this.transform.copyFrom(t)}else{if(this.transform.isIdentity())return;this.transform.identity()}this._tick++}get texture(){return this._texture}set texture(t){this._texture!==t&&(this._texture=t,this._tick++)}get styleKey(){return`fill-pattern-${this.uid}-${this._tick}`}destroy(){this.texture.destroy(!0),this.texture=null}}},18856:(t,e,i)=>{i.d(e,{u:()=>s});var r,s=((r=s||{})[r.NONE=0]="NONE",r[r.COLOR=16384]="COLOR",r[r.STENCIL=1024]="STENCIL",r[r.DEPTH=256]="DEPTH",r[r.COLOR_DEPTH=16640]="COLOR_DEPTH",r[r.COLOR_STENCIL=17408]="COLOR_STENCIL",r[r.DEPTH_STENCIL=1280]="DEPTH_STENCIL",r[r.ALL=17664]="ALL",r)},19629:(t,e,i)=>{i.d(e,{m:()=>a});var r=i(76080),s=i(64897),n=i(43964);class a{constructor(){this.renderPipeId="renderGroup",this.root=null,this.canBundle=!1,this.renderGroupParent=null,this.renderGroupChildren=[],this.worldTransform=new r.u,this.worldColorAlpha=0xffffffff,this.worldColor=0xffffff,this.worldAlpha=1,this.childrenToUpdate=Object.create(null),this.updateTick=0,this.gcTick=0,this.childrenRenderablesToUpdate={list:[],index:0},this.structureDidChange=!0,this.instructionSet=new s.L,this._onRenderContainers=[],this.textureNeedsUpdate=!0,this.isCachedAsTexture=!1,this._matrixDirty=7}init(t){this.root=t,t._onRender&&this.addOnRender(t),t.didChange=!0;let e=t.children;for(let t=0;t<e.length;t++){let i=e[t];i._updateFlags=15,this.addChild(i)}}enableCacheAsTexture(t={}){this.textureOptions=t,this.isCachedAsTexture=!0,this.textureNeedsUpdate=!0}disableCacheAsTexture(){this.isCachedAsTexture=!1,this.texture&&(n.W.returnTexture(this.texture,!0),this.texture=null)}updateCacheTexture(){this.textureNeedsUpdate=!0;let t=this._parentCacheAsTextureRenderGroup;t&&!t.textureNeedsUpdate&&t.updateCacheTexture()}reset(){for(let t in this.renderGroupChildren.length=0,this.childrenToUpdate){let e=this.childrenToUpdate[t];e.list.fill(null),e.index=0}this.childrenRenderablesToUpdate.index=0,this.childrenRenderablesToUpdate.list.fill(null),this.root=null,this.updateTick=0,this.structureDidChange=!0,this._onRenderContainers.length=0,this.renderGroupParent=null,this.disableCacheAsTexture()}get localTransform(){return this.root.localTransform}addRenderGroupChild(t){t.renderGroupParent&&t.renderGroupParent._removeRenderGroupChild(t),t.renderGroupParent=this,this.renderGroupChildren.push(t)}_removeRenderGroupChild(t){let e=this.renderGroupChildren.indexOf(t);e>-1&&this.renderGroupChildren.splice(e,1),t.renderGroupParent=null}addChild(t){if(this.structureDidChange=!0,t.parentRenderGroup=this,t.updateTick=-1,t.parent===this.root?t.relativeRenderGroupDepth=1:t.relativeRenderGroupDepth=t.parent.relativeRenderGroupDepth+1,t.didChange=!0,this.onChildUpdate(t),t.renderGroup)return void this.addRenderGroupChild(t.renderGroup);t._onRender&&this.addOnRender(t);let e=t.children;for(let t=0;t<e.length;t++)this.addChild(e[t])}removeChild(t){if(this.structureDidChange=!0,t._onRender&&!t.renderGroup&&this.removeOnRender(t),t.parentRenderGroup=null,t.renderGroup)return void this._removeRenderGroupChild(t.renderGroup);let e=t.children;for(let t=0;t<e.length;t++)this.removeChild(e[t])}removeChildren(t){for(let e=0;e<t.length;e++)this.removeChild(t[e])}onChildUpdate(t){let e=this.childrenToUpdate[t.relativeRenderGroupDepth];e||(e=this.childrenToUpdate[t.relativeRenderGroupDepth]={index:0,list:[]}),e.list[e.index++]=t}updateRenderable(t){t.globalDisplayStatus<7||(this.instructionSet.renderPipes[t.renderPipeId].updateRenderable(t),t.didViewUpdate=!1)}onChildViewUpdate(t){this.childrenRenderablesToUpdate.list[this.childrenRenderablesToUpdate.index++]=t}get isRenderable(){return 7===this.root.localDisplayStatus&&this.worldAlpha>0}addOnRender(t){this._onRenderContainers.push(t)}removeOnRender(t){this._onRenderContainers.splice(this._onRenderContainers.indexOf(t),1)}runOnRender(t){for(let e=0;e<this._onRenderContainers.length;e++)this._onRenderContainers[e]._onRender(t)}destroy(){this.disableCacheAsTexture(),this.renderGroupParent=null,this.root=null,this.childrenRenderablesToUpdate=null,this.childrenToUpdate=null,this.renderGroupChildren=null,this._onRenderContainers=null,this.instructionSet=null}getChildren(t=[]){let e=this.root.children;for(let i=0;i<e.length;i++)this._getChildren(e[i],t);return t}_getChildren(t,e=[]){if(e.push(t),t.renderGroup)return e;let i=t.children;for(let t=0;t<i.length;t++)this._getChildren(i[t],e);return e}invalidateMatrices(){this._matrixDirty=7}get inverseWorldTransform(){return(1&this._matrixDirty)==0?this._inverseWorldTransform:(this._matrixDirty&=-2,this._inverseWorldTransform||(this._inverseWorldTransform=new r.u),this._inverseWorldTransform.copyFrom(this.worldTransform).invert())}get textureOffsetInverseTransform(){return(2&this._matrixDirty)==0?this._textureOffsetInverseTransform:(this._matrixDirty&=-3,this._textureOffsetInverseTransform||(this._textureOffsetInverseTransform=new r.u),this._textureOffsetInverseTransform.copyFrom(this.inverseWorldTransform).translate(-this._textureBounds.x,-this._textureBounds.y))}get inverseParentTextureTransform(){if((4&this._matrixDirty)==0)return this._inverseParentTextureTransform;this._matrixDirty&=-5;let t=this._parentCacheAsTextureRenderGroup;return t?(this._inverseParentTextureTransform||(this._inverseParentTextureTransform=new r.u),this._inverseParentTextureTransform.copyFrom(this.worldTransform).prepend(t.inverseWorldTransform).translate(-t._textureBounds.x,-t._textureBounds.y)):this.worldTransform}get cacheToLocalTransform(){return this.isCachedAsTexture?this.textureOffsetInverseTransform:this._parentCacheAsTextureRenderGroup?this._parentCacheAsTextureRenderGroup.textureOffsetInverseTransform:null}}},19999:(t,e,i)=>{i.d(e,{M:()=>n});var r=i(43964);let s=new(i(35821)).c;function n(t,e,i,a,o=!1){s.minX=0,s.minY=0,s.maxX=t.width/a|0,s.maxY=t.height/a|0;let l=r.W.getOptimalTexture(s.width,s.height,a,!1,o);return l.source.uploadMethodId="image",l.source.resource=t,l.source.alphaMode="premultiply-alpha-on-upload",l.frame.width=e/a,l.frame.height=i/a,l.source.emit("update",l.source),l.updateUvs(),l}},22939:(t,e,i)=>{i.d(e,{GH:()=>p});var r=i(42434),s=i(13108),n=i(65220),a=i(64897),o=i(60079),l=i(68951),h=i(72340),u=i(71230);class d{constructor(){this.batches=[],this.geometryData={vertices:[],uvs:[],indices:[]}}
216reset(){this.batches&&this.batches.forEach(t=>{h.Z.return(t)}),this.graphicsData&&h.Z.return(this.graphicsData),this.isBatchable=!1,this.context=null,this.batches.length=0,this.geometryData.indices.length=0,this.geometryData.vertices.length=0,this.geometryData.uvs.length=0,this.graphicsData=null}destroy(){this.reset(),this.batches=null,this.geometryData=null}}class c{constructor(){this.instructions=new a.L}init(t){let e=t.maxTextures;this.batcher?this.batcher._updateMaxTextures(e):this.batcher=new n.J({maxTextures:e}),this.instructions.reset()}get geometry(){return(0,l.t6)(l.Ek,"GraphicsContextRenderData#geometry is deprecated, please use batcher.geometry instead."),this.batcher.geometry}destroy(){this.batcher.destroy(),this.instructions.destroy(),this.batcher=null,this.instructions=null}}let f=class t{constructor(t){this._renderer=t,this._managedContexts=new o.s({renderer:t,type:"resource",name:"graphicsContext"})}init(e){t.defaultOptions.bezierSmoothness=e?.bezierSmoothness??t.defaultOptions.bezierSmoothness}getContextRenderData(t){return t._gpuData[this._renderer.uid].graphicsData||this._initContextRenderData(t)}updateGpuContext(t){let e=!!t._gpuData[this._renderer.uid],i=t._gpuData[this._renderer.uid]||this._initContext(t);if(t.dirty||!e){e&&i.reset(),(0,u.M)(t,i);let r=t.batchMode;t.customShader||"no-batch"===r?i.isBatchable=!1:"auto"===r?i.isBatchable=i.geometryData.vertices.length<400:i.isBatchable=!0,t.dirty=!1}return i}getGpuContext(t){return t._gpuData[this._renderer.uid]||this._initContext(t)}_initContextRenderData(t){let e=h.Z.get(c,{maxTextures:this._renderer.limits.maxBatchableTextures}),i=t._gpuData[this._renderer.uid],{batches:r,geometryData:n}=i;i.graphicsData=e;let a=n.vertices.length,o=n.indices.length;for(let t=0;t<r.length;t++)r[t].applyTransform=!1;let l=e.batcher;l.ensureAttributeBuffer(a),l.ensureIndexBuffer(o),l.begin();for(let t=0;t<r.length;t++){let e=r[t];l.add(e)}l.finish(e.instructions);let u=l.geometry;u.indexBuffer.setDataWithSize(l.indexBuffer,l.indexSize,!0),u.buffers[0].setDataWithSize(l.attributeBuffer.float32View,l.attributeSize,!0);let d=l.batches;for(let t=0;t<d.length;t++){let e=d[t];e.bindGroup=(0,s.w)(e.textures.textures,e.textures.count,this._renderer.limits.maxBatchableTextures)}return e}_initContext(t){let e=new d;return e.context=t,t._gpuData[this._renderer.uid]=e,this._managedContexts.add(t),e}destroy(){this._managedContexts.destroy(),this._renderer=null}};f.extension={type:[r.Ag.WebGLSystem,r.Ag.WebGPUSystem],name:"graphicsContext"},f.defaultOptions={bezierSmoothness:.5};let p=f},23109:(t,e,i)=>{i.d(e,{_:()=>f});var r=i(93020),s=i(82557),n=i(76080),a=i(32572),o=i(62835),l=i(4596),h=i(68951),u=i(7323);let d=[{offset:0,color:"white"},{offset:1,color:"black"}],c=class t{constructor(...e){this.uid=(0,l.L)("fillGradient"),this._tick=0,this.type="linear",this.colorStops=[];let i=function(t){let e=t[0]??{};return("number"==typeof e||t[1])&&((0,h.t6)("8.5.2","use options object instead"),e={type:"linear",start:{x:t[0],y:t[1]},end:{x:t[2],y:t[3]},textureSpace:t[4],textureSize:t[5]??f.defaultLinearOptions.textureSize}),e}(e);i={..."radial"===i.type?t.defaultRadialOptions:t.defaultLinearOptions,...(0,u.S)(i)},this._textureSize=i.textureSize,this._wrapMode=i.wrapMode,"radial"===i.type?(this.center=i.center,this.outerCenter=i.outerCenter??this.center,this.innerRadius=i.innerRadius,this.outerRadius=i.outerRadius,this.scale=i.scale,this.rotation=i.rotation):(this.start=i.start,this.end=i.end),this.textureSpace=i.textureSpace,this.type=i.type,i.colorStops.forEach(t=>{this.addColorStop(t.offset,t.color)})}addColorStop(t,e){return this.colorStops.push({offset:t,color:r.Q.shared.setValue(e).toHexa()}),this}buildLinearGradient(){if(this.texture)return;let{x:t,y:e}=this.start,{x:i,y:r}=this.end,s=i-t,l=r-e,h=s<0||l<0;if("clamp-to-edge"===this._wrapMode){if(s<0){let e=t;t=i,i=e,s*=-1}if(l<0){let t=e;e=r,r=t,l*=-1}}let u=this.colorStops.length?this.colorStops:d,c=this._textureSize,{canvas:f,context:g}=m(c,1),x=h?g.createLinearGradient(this._textureSize,0,0,0):g.createLinearGradient(0,0,this._textureSize,0);p(x,u),g.fillStyle=x,g.fillRect(0,0,c,1),this.texture=new o.g({source:new a.b({resource:f,addressMode:this._wrapMode})});let y=Math.sqrt(s*s+l*l),_=Math.atan2(l,s),v=new n.u;v.scale(y/c,1),v.rotate(_),v.translate(t,e),"local"===this.textureSpace&&v.scale(c,c),this.transform=v}buildGradient(){!this.texture&&this._tick++,"linear"===this.type?this.buildLinearGradient():this.buildRadialGradient()}buildRadialGradient(){if(this.texture)return;let t=this.colorStops.length?this.colorStops:d,e=this._textureSize,{canvas:i,context:r}=m(e,e),{x:s,y:l}=this.center,{x:h,y:u}=this.outerCenter,c=this.innerRadius,f=this.outerRadius,g=h-f,x=u-f,y=e/(2*f),_=(s-g)*y,v=(l-x)*y,b=r.createRadialGradient(_,v,c*y,(h-g)*y,(u-x)*y,f*y);p(b,t),r.fillStyle=t[t.length-1].color,r.fillRect(0,0,e,e),r.fillStyle=b,r.translate(_,v),r.rotate(this.rotation),r.scale(1,this.scale),r.translate(-_,-v),r.fillRect(0,0,e,e),this.texture=new o.g({source:new a.b({resource:i,addressMode:this._wrapMode})});let w=new n.u;"local"===this.textureSpace?w.scale(2*f,2*f):w.scale(1/y,1/y),w.translate(g,x),this.transform=w}destroy(){this.texture?.destroy(!0),this.texture=null,this.transform=null,this.colorStops=[],this.start=null,this.end=null,this.center=null,this.outerCenter=null}get styleKey(){return`fill-gradient-${this.uid}-${this._tick}`}}
216;c.defaultLinearOptions={start:{x:0,y:0},end:{x:0,y:1},colorStops:[],textureSpace:"local",type:"linear",textureSize:256,wrapMode:"clamp-to-edge"},c.defaultRadialOptions={center:{x:.5,y:.5},innerRadius:0,outerRadius:.5,colorStops:[],scale:1,rotation:0,textureSpace:"local",type:"radial",textureSize:256,wrapMode:"clamp-to-edge"};let f=c;function p(t,e){for(let i=0;i<e.length;i++){let r=e[i];t.addColorStop(r.offset,r.color)}}function m(t,e){let i=s.e.get().createCanvas(t,e),r=i.getContext("2d");return{canvas:i,context:r}}},24308:(t,e,i)=>{i.d(e,{Y:()=>l});var r=i(76080),s=i(49765),n=i(23109);let a=new r.u,o=new s.M;function l(t,e,i,r){let s=e.matrix?t.copyFrom(e.matrix).invert():t.identity();if("local"===e.textureSpace){let t=i.getBounds(o);e.width&&t.pad(e.width);let{x:r,y:n}=t,a=1/t.width,l=1/t.height,h=-r*a,u=-n*l,d=s.a,c=s.b,f=s.c,p=s.d;s.a*=a,s.b*=a,s.c*=l,s.d*=l,s.tx=h*d+u*f+s.tx,s.ty=h*c+u*p+s.ty}else s.translate(e.texture.frame.x,e.texture.frame.y),s.scale(1/e.texture.source.width,1/e.texture.source.height);let l=e.texture.source.style;return e.fill instanceof n._||"clamp-to-edge"!==l.addressMode||(l.addressMode="repeat",l.update()),r&&s.append(a.copyFrom(r).invert()),s}},25539:(t,e,i)=>{i.d(e,{d:()=>s});var r,s=((r=s||{})[r.INTERACTION=50]="INTERACTION",r[r.HIGH=25]="HIGH",r[r.NORMAL=0]="NORMAL",r[r.LOW=-25]="LOW",r[r.UTILITY=-50]="UTILITY",r)},26622:(t,e,i)=>{i.d(e,{v:()=>h});var r=i(4215),s=i(9306),n=i(7323),a=i(4596),o=i(65179);let l=class t extends r.A{constructor(e={}){super(),this.options=e,this._gpuData=Object.create(null),this._gcLastUsed=-1,this.uid=(0,a.L)("textureSource"),this._resourceType="textureSource",this._resourceId=(0,a.L)("resource"),this.uploadMethodId="unknown",this._resolution=1,this.pixelWidth=1,this.pixelHeight=1,this.width=1,this.height=1,this.sampleCount=1,this.mipLevelCount=1,this.autoGenerateMipmaps=!1,this.format="rgba8unorm",this.dimension="2d",this.viewDimension="2d",this.arrayLayerCount=1,this.antialias=!1,this.transient=!1,this._touched=0,this._batchTick=-1,this._textureBindLocation=-1,e={...t.defaultOptions,...e},this.label=e.label??"",this.resource=e.resource,this.autoGarbageCollect=e.autoGarbageCollect,this._resolution=e.resolution,e.width?this.pixelWidth=e.width*this._resolution:this.pixelWidth=this.resource?this.resourceWidth??1:1,e.height?this.pixelHeight=e.height*this._resolution:this.pixelHeight=this.resource?this.resourceHeight??1:1,this.width=this.pixelWidth/this._resolution,this.height=this.pixelHeight/this._resolution,this.format=e.format,this.dimension=e.dimensions,this.viewDimension=e.viewDimension??e.dimensions,this.arrayLayerCount=e.arrayLayerCount,this.mipLevelCount=e.mipLevelCount,this.autoGenerateMipmaps=e.autoGenerateMipmaps,this.sampleCount=e.sampleCount,this.antialias=e.antialias,this.transient=e.transient??!1,this.alphaMode=e.alphaMode,this.style=new o.n((0,n.S)(e)),this.destroyed=!1,this._refreshPOT()}get source(){return this}get style(){return this._style}set style(t){this.style!==t&&(this._style?.off("change",this._onStyleChange,this),this._style=t,this._style?.on("change",this._onStyleChange,this),this._onStyleChange())}set maxAnisotropy(t){this._style.maxAnisotropy=t}get maxAnisotropy(){return this._style.maxAnisotropy}get addressMode(){return this._style.addressMode}set addressMode(t){this._style.addressMode=t}get repeatMode(){return this._style.addressMode}set repeatMode(t){this._style.addressMode=t}get magFilter(){return this._style.magFilter}set magFilter(t){this._style.magFilter=t}get minFilter(){return this._style.minFilter}set minFilter(t){this._style.minFilter=t}get mipmapFilter(){return this._style.mipmapFilter}set mipmapFilter(t){this._style.mipmapFilter=t}get lodMinClamp(){return this._style.lodMinClamp}set lodMinClamp(t){this._style.lodMinClamp=t}get lodMaxClamp(){return this._style.lodMaxClamp}set lodMaxClamp(t){this._style.lodMaxClamp=t}_onStyleChange(){this.emit("styleChange",this)}update(){if(this.resource){let t=this._resolution;if(this.resize(this.resourceWidth/t,this.resourceHeight/t))return}this.emit("update",this)}
216destroy(){this.destroyed=!0,this.unload(),this.emit("destroy",this),this._style&&(this._style.destroy(),this._style=null),this.uploadMethodId=null,this.resource=null,this.removeAllListeners()}unload(){for(let t in this._resourceId=(0,a.L)("resource"),this.emit("change",this),this.emit("unload",this),this._gpuData)this._gpuData[t]?.destroy?.();this._gpuData=Object.create(null)}get resourceWidth(){let{resource:t}=this;return t.naturalWidth||t.videoWidth||t.displayWidth||t.width}get resourceHeight(){let{resource:t}=this;return t.naturalHeight||t.videoHeight||t.displayHeight||t.height}get resolution(){return this._resolution}set resolution(t){this._resolution!==t&&(this._resolution=t,this.width=this.pixelWidth/t,this.height=this.pixelHeight/t)}resize(t,e,i){i||(i=this._resolution),t||(t=this.width),e||(e=this.height);let r=Math.round(t*i),s=Math.round(e*i);return this.width=r/i,this.height=s/i,this._resolution=i,(this.pixelWidth!==r||this.pixelHeight!==s)&&(this._refreshPOT(),this.pixelWidth=r,this.pixelHeight=s,this.emit("resize",this),this._resourceId=(0,a.L)("resource"),this.emit("change",this),!0)}updateMipmaps(){this.autoGenerateMipmaps&&this.mipLevelCount>1&&this.emit("updateMipmaps",this)}set wrapMode(t){this._style.wrapMode=t}get wrapMode(){return this._style.wrapMode}set scaleMode(t){this._style.scaleMode=t}get scaleMode(){return this._style.scaleMode}_refreshPOT(){this.isPowerOfTwo=(0,s.f3)(this.pixelWidth)&&(0,s.f3)(this.pixelHeight)}static test(t){throw Error("Unimplemented")}};l.defaultOptions={resolution:1,format:"bgra8unorm",alphaMode:"premultiply-alpha-on-upload",dimensions:"2d",viewDimension:"2d",arrayLayerCount:1,mipLevelCount:1,autoGenerateMipmaps:!1,sampleCount:1,antialias:!1,autoGarbageCollect:!1};let h=l},27142:(t,e,i)=>{i.d(e,{E:()=>d});var r=i(76080);let s=[1,1,0,-1,-1,-1,0,1,1,1,0,-1,-1,-1,0,1],n=[0,1,1,1,0,-1,-1,-1,0,1,1,1,0,-1,-1,-1],a=[0,-1,-1,-1,0,1,1,1,0,1,1,1,0,-1,-1,-1],o=[1,1,0,-1,-1,-1,0,1,-1,-1,0,1,1,1,0,-1],l=[],h=[],u=Math.sign;!function(){for(let t=0;t<16;t++){let e=[];l.push(e);for(let i=0;i<16;i++){let r=u(s[t]*s[i]+a[t]*n[i]),l=u(n[t]*s[i]+o[t]*n[i]),h=u(s[t]*a[i]+a[t]*o[i]),d=u(n[t]*a[i]+o[t]*o[i]);for(let t=0;t<16;t++)if(s[t]===r&&n[t]===l&&a[t]===h&&o[t]===d){e.push(t);break}}}for(let t=0;t<16;t++){let e=new r.u;e.set(s[t],n[t],a[t],o[t],0,0),h.push(e)}}();let d={E:0,SE:1,S:2,SW:3,W:4,NW:5,N:6,NE:7,MIRROR_VERTICAL:8,MAIN_DIAGONAL:10,MIRROR_HORIZONTAL:12,REVERSE_DIAGONAL:14,uX:t=>s[t],uY:t=>n[t],vX:t=>a[t],vY:t=>o[t],inv:t=>8&t?15&t:7&-t,add:(t,e)=>l[t][e],sub:(t,e)=>l[t][d.inv(e)],rotate180:t=>4^t,isVertical:t=>(3&t)==2,byDirection:(t,e)=>2*Math.abs(t)<=Math.abs(e)?e>=0?d.S:d.N:2*Math.abs(e)<=Math.abs(t)?t>0?d.E:d.W:e>0?t>0?d.SE:d.SW:t>0?d.NE:d.NW,matrixAppendRotationInv:(t,e,i=0,r=0,s=0,n=0)=>{let a=h[d.inv(e)],o=a.a,l=a.b,u=a.c,c=a.d,f=i-Math.min(0,o*s,u*n,o*s+u*n),p=r-Math.min(0,l*s,c*n,l*s+c*n),m=t.a,g=t.b,x=t.c,y=t.d;t.a=o*m+l*x,t.b=o*g+l*y,t.c=u*m+c*x,t.d=u*g+c*y,t.tx=f*m+p*x+t.tx,t.ty=f*g+p*y+t.ty},transformRectCoords:(t,e,i,r)=>{let{x:s,y:n,width:a,height:o}=t,{x:l,y:h,width:u,height:c}=e;return i===d.E?(r.set(s+l,n+h,a,o),r):i===d.S?r.set(u-n-o+l,s+h,o,a):i===d.W?r.set(u-s-a+l,c-n-o+h,a,o):i===d.N?r.set(n+l,c-s-a+h,o,a):r.set(s+l,n+h,a,o)}}},28369:(t,e,i)=>{i.d(e,{n:()=>n});var r=i(85336);let s={};function n(t){let e=s[t];if(e)return e;let i=new Int32Array(t);for(let e=0;e<t;e++)i[e]=e;return s[t]=new r.k({uTextures:{value:i,type:"i32",size:t}},{isStatic:!0})}},32572:(t,e,i)=>{i.d(e,{b:()=>n});var r=i(42434),s=i(26622);class n extends s.v{constructor(t){super(t),this.uploadMethodId="image",this.autoGarbageCollect=!0}static test(t){return globalThis.HTMLImageElement&&t instanceof HTMLImageElement||"u">typeof ImageBitmap&&t instanceof ImageBitmap||globalThis.VideoFrame&&t instanceof VideoFrame}}n.extension=r.Ag.TextureSource},32730:(t,e,i)=>{i.d(e,{F:()=>r,a:()=>s});let r={name:"color-bit",vertex:{header:`
217            @in aColor: vec4<f32>;
218        `,main:`
219            vColor *= vec4<f32>(aColor.rgb * aColor.a, aColor.a);
220        `}},s={name:"color-bit",vertex:{header:`
221            in vec4 aColor;
222        `,main:`
223            vColor *= vec4(aColor.rgb * aColor.a, aColor.a);
224        `}}},33678:(t,e,i)=>{i.d(e,{x:()=>o});var r=i(45325),s=i(80094),n=i(82863),a=i(97112);class o{constructor(){this._defaultBundleIdentifierOptions={connector:"-",createBundleAssetId:(t,e)=>`${t}${this._bundleIdConnector}${e}`,extractAssetIdFromBundle:(t,e)=>e.replace(`${t}${this._bundleIdConnector}`,"")},this._bundleIdConnector=this._defaultBundleIdentifierOptions.connector,this._createBundleAssetId=this._defaultBundleIdentifierOptions.createBundleAssetId,this._extractAssetIdFromBundle=this._defaultBundleIdentifierOptions.extractAssetIdFromBundle,this._assetMap={},this._preferredOrder=[],this._parsers=[],this._resolverHash={},this._bundles={}}setBundleIdentifier(t){if(this._bundleIdConnector=t.connector??this._bundleIdConnector,this._createBundleAssetId=t.createBundleAssetId??this._createBundleAssetId,this._extractAssetIdFromBundle=t.extractAssetIdFromBundle??this._extractAssetIdFromBundle,"bar"!==this._extractAssetIdFromBundle("foo",this._createBundleAssetId("foo","bar")))throw Error("[Resolver] GenerateBundleAssetId are not working correctly")}prefer(...t){t.forEach(t=>{this._preferredOrder.push(t),t.priority||(t.priority=Object.keys(t.params))}),this._resolverHash={}}set basePath(t){this._basePath=t}get basePath(){return this._basePath}set rootPath(t){this._rootPath=t}get rootPath(){return this._rootPath}get parsers(){return this._parsers}reset(){this.setBundleIdentifier(this._defaultBundleIdentifierOptions),this._assetMap={},this._preferredOrder=[],this._resolverHash={},this._rootPath=null,this._basePath=null,this._manifest=null,this._bundles={},this._defaultSearchParams=null}setDefaultSearchParams(t){"string"==typeof t?this._defaultSearchParams=t:this._defaultSearchParams=Object.keys(t).map(e=>`${encodeURIComponent(e)}=${encodeURIComponent(t[e])}`).join("&")}getAlias(t){let{alias:e,src:i}=t;return(0,n.z)(e||i,t=>"string"==typeof t?t:Array.isArray(t)?t.map(t=>t?.src??t):t?.src?t.src:t,!0)}removeAlias(t,e){!this._assetMap[t]||e&&e!==this._resolverHash[t]||(delete this._resolverHash[t],delete this._assetMap[t])}
224addManifest(t){this._manifest&&(0,r.R)("[Resolver] Manifest already exists, this will be overwritten"),this._manifest=t,t.bundles.forEach(t=>{this.addBundle(t.name,t.assets)})}addBundle(t,e){let i=[],r=e;Array.isArray(e)||(r=Object.entries(e).map(([t,e])=>"string"==typeof e||Array.isArray(e)?{alias:t,src:e}:{alias:t,...e})),r.forEach(e=>{let r,s=e.src,n=e.alias;if("string"==typeof n){let e=this._createBundleAssetId(t,n);i.push(e),r=[n,e]}else{let e=n.map(e=>this._createBundleAssetId(t,e));i.push(...e),r=[...n,...e]}this.add({...e,alias:r,src:s})}),this._bundles[t]=i}add(t){let e,i=[];Array.isArray(t)?i.push(...t):i.push(t),e=t=>{this.hasKey(t)&&(0,r.R)(`[Resolver] already has key: ${t} overwriting`)},(0,n.z)(i).forEach(t=>{let{src:i}=t,{data:r,format:s,loadParser:a,parser:o}=t,l=(0,n.z)(i).map(t=>{if("string"==typeof t){let e=t.match(/\{(.*?)\}/g),i=[];if(e){let r=[];e.forEach(t=>{let e=t.substring(1,t.length-1).split(",");r.push(e)}),function t(e,i,r,s,n){let a=i[r];for(let o=0;o<a.length;o++){let l=a[o];r<i.length-1?t(e.replace(s[r],l),i,r+1,s,n):n.push(e.replace(s[r],l))}}(t,r,0,e,i)}else i.push(t);return i}return Array.isArray(t)?t:[t]}),h=this.getAlias(t);Array.isArray(h)?h.forEach(e):e(h);let u=[],d=t=>{let e=this._parsers.find(e=>e.test(t));return{src:t,...e?.parse(t)}};l.forEach(e=>{e.forEach(e=>{let i={};if("object"!=typeof e?i=d(e):(r=e.data??r,s=e.format??s,(e.loadParser||e.parser)&&(a=e.loadParser??a,o=e.parser??o),i={...d(e.src),...e}),!h)throw Error(`[Resolver] alias is undefined for this asset: ${i.src}`);i=this._buildResolvedAsset(i,{aliases:h,data:r,format:s,loadParser:a,parser:o,progressSize:t.progressSize}),u.push(i)})}),h.forEach(t=>{this._assetMap[t]=u})})}resolveBundle(t){let e=(0,a.a)(t);t=(0,n.z)(t);let i={};return t.forEach(t=>{let e=this._bundles[t];if(e){let r=this.resolve(e),s={};for(let e in r){let i=r[e];s[this._extractAssetIdFromBundle(t,e)]=i}i[t]=s}}),e?i[t[0]]:i}resolveUrl(t){let e=this.resolve(t);if("string"!=typeof t){let t={};for(let i in e)t[i]=e[i].src;return t}return e.src}resolve(t){let e=(0,a.a)(t);t=(0,n.z)(t);let i={};return t.forEach(t=>{if(!this._resolverHash[t])if(this._assetMap[t]){let e=this._assetMap[t],i=this._getPreferredOrder(e);i?.priority.forEach(t=>{i.params[t].forEach(i=>{let r=e.filter(e=>!!e[t]&&e[t]===i);r.length&&(e=r)})}),this._resolverHash[t]=e[0]}else this._resolverHash[t]=this._buildResolvedAsset({alias:[t],src:t},{});i[t]=this._resolverHash[t]}),e?i[t[0]]:i}hasKey(t){return!!this._assetMap[t]}hasBundle(t){return!!this._bundles[t]}_getPreferredOrder(t){for(let e=0;e<t.length;e++){let i=t[e],r=this._preferredOrder.find(t=>t.params.format.includes(i.format));if(r)return r}return this._preferredOrder[0]}_appendDefaultSearchParams(t){if(!this._defaultSearchParams)return t;let e=/\?/.test(t)?"&":"?";return`${t}${e}${this._defaultSearchParams}`}
224_buildResolvedAsset(t,e){let{aliases:i,data:r,loadParser:n,parser:a,format:o,progressSize:l}=e;return(this._basePath||this._rootPath)&&(t.src=s.A.toAbsolute(t.src,this._basePath,this._rootPath)),t.alias=i??t.alias??[t.src],t.src=this._appendDefaultSearchParams(t.src),t.data={...r||{},...t.data},t.loadParser=n??t.loadParser,t.parser=a??t.parser,t.format=o??t.format??t.src.split(".").pop().split("?").shift().split("#").shift(),void 0!==l&&(t.progressSize=l),t}}o.RETINA_PREFIX=/@([0-9\.]+)x/},33993:(t,e,i)=>{i.d(e,{I:()=>C,v:()=>S});var r=i(11474),s=i(96812),n=i(45325);function a(t,e,i){if(t)for(let r in t){let s=e[r.toLocaleLowerCase()];if(s){let e=t[r];"header"===r&&(e=e.replace(/@in\s+[^;]+;\s*/g,"").replace(/@out\s+[^;]+;\s*/g,"")),i&&s.push(`//----${i}----//`),s.push(e)}else(0,n.R)(`${r} placement hook does not exist in shader`)}}let o=/\{\{(.*?)\}\}/g;function l(t){let e={};return(t.match(o)?.map(t=>t.replace(/[{()}]/g,""))??[]).forEach(t=>{e[t]=[]}),e}function h(t,e){let i,r=/@in\s+([^;]+);/g;for(;null!==(i=r.exec(t));)e.push(i[1])}function u(t,e,i=!1){let r=[];h(e,r),t.forEach(t=>{t.header&&h(t.header,r)}),i&&r.sort();let s=r.map((t,e)=>`       @location(${e}) ${t},`).join("\n"),n=e.replace(/@in\s+[^;]+;\s*/g,"");return n.replace("{{in}}",`
225${s}
226`)}function d(t,e){let i,r=/@out\s+([^;]+);/g;for(;null!==(i=r.exec(t));)e.push(i[1])}function c(t,e){let i=t;for(let t in e){let r=e[t];i=r.join("\n").length?i.replace(`{{${t}}}`,`//-----${t} START-----//
227${r.join("\n")}
228//----${t} FINISH----//`):i.replace(`{{${t}}}`,"")}return i}let f=Object.create(null),p=new Map,m=0;function g(t,e){return e.map(t=>(p.has(t)||p.set(t,m++),p.get(t))).sort((t,e)=>t-e).join("-")+t.vertex+t.fragment}function x(t,e,i){let r=l(t),s=l(e);return i.forEach(t=>{a(t.vertex,r,t.name),a(t.fragment,s,t.name)}),{vertex:c(t,r),fragment:c(e,s)}}let y=`
229    @in aPosition: vec2<f32>;
230    @in aUV: vec2<f32>;
231
232    @out @builtin(position) vPosition: vec4<f32>;
233    @out vUV : vec2<f32>;
234    @out vColor : vec4<f32>;
235
236    {{header}}
237
238    struct VSOutput {
239        {{struct}}
240    };
241
242    @vertex
243    fn main( {{in}} ) -> VSOutput {
244
245        var worldTransformMatrix = globalUniforms.uWorldTransformMatrix;
246        var modelMatrix = mat3x3<f32>(
247            1.0, 0.0, 0.0,
248            0.0, 1.0, 0.0,
249            0.0, 0.0, 1.0
250          );
251        var position = aPosition;
252        var uv = aUV;
253
254        {{start}}
255
256        vColor = vec4<f32>(1., 1., 1., 1.);
257
258        {{main}}
259
260        vUV = uv;
261
262        var modelViewProjectionMatrix = globalUniforms.uProjectionMatrix * worldTransformMatrix * modelMatrix;
263
264        vPosition =  vec4<f32>((modelViewProjectionMatrix *  vec3<f32>(position, 1.0)).xy, 0.0, 1.0);
265
266        vColor *= globalUniforms.uWorldColorAlpha;
267
268        {{end}}
269
270        {{return}}
271    };
272`,_=`
273    @in vUV : vec2<f32>;
274    @in vColor : vec4<f32>;
275
276    {{header}}
277
278    @fragment
279    fn main(
280        {{in}}
281      ) -> @location(0) vec4<f32> {
282
283        {{start}}
284
285        var outColor:vec4<f32>;
286
287        {{main}}
288
289        var finalColor:vec4<f32> = outColor * vColor;
290
291        {{end}}
292
293        return finalColor;
294      };
295`,v=`
296    in vec2 aPosition;
297    in vec2 aUV;
298
299    out vec4 vColor;
300    out vec2 vUV;
301
302    {{header}}
303
304    void main(void){
305
306        mat3 worldTransformMatrix = uWorldTransformMatrix;
307        mat3 modelMatrix = mat3(
308            1.0, 0.0, 0.0,
309            0.0, 1.0, 0.0,
310            0.0, 0.0, 1.0
311          );
312        vec2 position = aPosition;
313        vec2 uv = aUV;
314
315        {{start}}
316
317        vColor = vec4(1.);
318
319        {{main}}
320
321        vUV = uv;
322
323        mat3 modelViewProjectionMatrix = uProjectionMatrix * worldTransformMatrix * modelMatrix;
324
325        gl_Position = vec4((modelViewProjectionMatrix * vec3(position, 1.0)).xy, 0.0, 1.0);
326
327        vColor *= uWorldColorAlpha;
328
329        {{end}}
330    }
331`,b=`
332
333    in vec4 vColor;
334    in vec2 vUV;
335
336    out vec4 finalColor;
337
338    {{header}}
339
340    void main(void) {
341
342        {{start}}
343
344        vec4 outColor;
345
346        {{main}}
347
348        finalColor = outColor * vColor;
349
350        {{end}}
351    }
352`,w={name:"global-uniforms-bit",vertex:{header:`
353        struct GlobalUniforms {
354            uProjectionMatrix:mat3x3<f32>,
355            uWorldTransformMatrix:mat3x3<f32>,
356            uWorldColorAlpha: vec4<f32>,
357            uResolution: vec2<f32>,
358        }
359
360        @group(0) @binding(0) var<uniform> globalUniforms : GlobalUniforms;
361        `}},A={name:"global-uniforms-bit",vertex:{header:`
362          uniform mat3 uProjectionMatrix;
363          uniform mat3 uWorldTransformMatrix;
364          uniform vec4 uWorldColorAlpha;
365          uniform vec2 uResolution;
366        `}};function S({bits:t,name:e}){let i=function({template:t,bits:e}){let i=g(t,e);if(f[i])return f[i];let{vertex:r,fragment:s}=function(t,e){var i;let r,s,n,a,o,l=e.map(t=>t.vertex).filter(t=>!!t),h=e.map(t=>t.fragment).filter(t=>!!t),c=u(l,t.vertex,!0);return r=[],d(i=c,r),l.forEach(t=>{t.header&&d(t.header,r)}),s=0,n=r.sort().map(t=>t.indexOf("builtin")>-1?t:`@location(${s++}
366) ${t}`).join(",\n"),a=r.sort().map(t=>`       var ${t.replace(/@.*?\s+/g,"")};`).join("\n"),o=`return VSOutput(
367            ${r.sort().map(t=>{let e;return` ${(e=/\b(\w+)\s*:/g.exec(t))?e[1]:""}`}).join(",\n")});`,{vertex:c=i.replace(/@out\s+[^;]+;\s*/g,"").replace("{{struct}}",`
368${n}
369`).replace("{{start}}",`
370${a}
371`).replace("{{return}}",`
372${o}
373`),fragment:u(h,t.fragment,!0)}}(t,e);return f[i]=x(r,s,e),f[i]}({template:{fragment:_,vertex:y},bits:[w,...t]});return s.B.from({name:e,vertex:{source:i.vertex,entryPoint:"main"},fragment:{source:i.fragment,entryPoint:"main"}})}function C({bits:t,name:e}){return new r.M({name:e,...function({template:t,bits:e}){let i=g(t,e);return f[i]||(f[i]=x(t.vertex,t.fragment,e)),f[i]}({template:{vertex:v,fragment:b},bits:[A,...t]})})}},35821:(t,e,i)=>{i.d(e,{c:()=>a});var r=i(76080),s=i(49765);let n=new r.u;class a{constructor(t=1/0,e=1/0,i=-1/0,r=-1/0){this.minX=1/0,this.minY=1/0,this.maxX=-1/0,this.maxY=-1/0,this.matrix=n,this.minX=t,this.minY=e,this.maxX=i,this.maxY=r}isEmpty(){return this.minX>this.maxX||this.minY>this.maxY}get rectangle(){this._rectangle||(this._rectangle=new s.M);let t=this._rectangle;return this.minX>this.maxX||this.minY>this.maxY?(t.x=0,t.y=0,t.width=0,t.height=0):t.copyFromBounds(this),t}clear(){return this.minX=1/0,this.minY=1/0,this.maxX=-1/0,this.maxY=-1/0,this.matrix=n,this}set(t,e,i,r){this.minX=t,this.minY=e,this.maxX=i,this.maxY=r}addFrame(t,e,i,r,s){s||(s=this.matrix);let n=s.a,a=s.b,o=s.c,l=s.d,h=s.tx,u=s.ty,d=this.minX,c=this.minY,f=this.maxX,p=this.maxY,m=n*t+o*e+h,g=a*t+l*e+u;m<d&&(d=m),g<c&&(c=g),m>f&&(f=m),g>p&&(p=g),m=n*i+o*e+h,g=a*i+l*e+u,m<d&&(d=m),g<c&&(c=g),m>f&&(f=m),g>p&&(p=g),m=n*t+o*r+h,g=a*t+l*r+u,m<d&&(d=m),g<c&&(c=g),m>f&&(f=m),g>p&&(p=g),m=n*i+o*r+h,g=a*i+l*r+u,m<d&&(d=m),g<c&&(c=g),m>f&&(f=m),g>p&&(p=g),this.minX=d,this.minY=c,this.maxX=f,this.maxY=p}addRect(t,e){this.addFrame(t.x,t.y,t.x+t.width,t.y+t.height,e)}addBounds(t,e){this.addFrame(t.minX,t.minY,t.maxX,t.maxY,e)}addBoundsMask(t){this.minX=this.minX>t.minX?this.minX:t.minX,this.minY=this.minY>t.minY?this.minY:t.minY,this.maxX=this.maxX<t.maxX?this.maxX:t.maxX,this.maxY=this.maxY<t.maxY?this.maxY:t.maxY}applyMatrix(t){let e=this.minX,i=this.minY,r=this.maxX,s=this.maxY,{a:n,b:a,c:o,d:l,tx:h,ty:u}=t,d=n*e+o*i+h,c=a*e+l*i+u;this.minX=d,this.minY=c,this.maxX=d,this.maxY=c,d=n*r+o*i+h,c=a*r+l*i+u,this.minX=d<this.minX?d:this.minX,this.minY=c<this.minY?c:this.minY,this.maxX=d>this.maxX?d:this.maxX,this.maxY=c>this.maxY?c:this.maxY,d=n*e+o*s+h,c=a*e+l*s+u,this.minX=d<this.minX?d:this.minX,this.minY=c<this.minY?c:this.minY,this.maxX=d>this.maxX?d:this.maxX,this.maxY=c>this.maxY?c:this.maxY,d=n*r+o*s+h,c=a*r+l*s+u,this.minX=d<this.minX?d:this.minX,this.minY=c<this.minY?c:this.minY,this.maxX=d>this.maxX?d:this.maxX,this.maxY=c>this.maxY?c:this.maxY}fit(t){return this.minX<t.left&&(this.minX=t.left),this.maxX>t.right&&(this.maxX=t.right),this.minY<t.top&&(this.minY=t.top),this.maxY>t.bottom&&(this.maxY=t.bottom),this}fitBounds(t,e,i,r){return this.minX<t&&(this.minX=t),this.maxX>e&&(this.maxX=e),this.minY<i&&(this.minY=i),this.maxY>r&&(this.maxY=r),this}pad(t,e=t){return this.minX-=t,this.maxX+=t,this.minY-=e,this.maxY+=e,this}ceil(){return this.minX=Math.floor(this.minX),this.minY=Math.floor(this.minY),this.maxX=Math.ceil(this.maxX),this.maxY=Math.ceil(this.maxY),this}clone(){return new a(this.minX,this.minY,this.maxX,this.maxY)}scale(t,e=t){return this.minX*=t,this.minY*=e,this.maxX*=t,this.maxY*=e,this}get x(){return this.minX}set x(t){let e=this.maxX-this.minX;this.minX=t,this.maxX=t+e}get y(){return this.minY}set y(t){let e=this.maxY-this.minY;this.minY=t,this.maxY=t+e}get width(){return this.maxX-this.minX}set width(t){this.maxX=this.minX+t}get height(){return this.maxY-this.minY}set height(t){this.maxY=this.minY+t}get left(){return this.minX}get right(){return this.maxX}get top(){return this.minY}get bottom(){return this.maxY}get isPositive(){return this.maxX-this.minX>0&&this.maxY-this.minY>0}get isValid(){return this.minX+this.minY!==1/0}addVertexData(t,e,i,r){let s=this.minX,n=this.minY,a=this.maxX,o=this.maxY;
373r||(r=this.matrix);let l=r.a,h=r.b,u=r.c,d=r.d,c=r.tx,f=r.ty;for(let r=e;r<i;r+=2){let e=t[r],i=t[r+1],p=l*e+u*i+c,m=h*e+d*i+f;s=p<s?p:s,n=m<n?m:n,a=p>a?p:a,o=m>o?m:o}this.minX=s,this.minY=n,this.maxX=a,this.maxY=o}containsPoint(t,e){return!!(this.minX<=t)&&!!(this.minY<=e)&&!!(this.maxX>=t)&&!!(this.maxY>=e)}toString(){return`[pixi.js:Bounds minX=${this.minX} minY=${this.minY} maxX=${this.maxX} maxY=${this.maxY} width=${this.width} height=${this.height}]`}copyFrom(t){return this.minX=t.minX,this.minY=t.minY,this.maxX=t.maxX,this.maxY=t.maxY,this}}},36339:(t,e,i)=>{i.d(e,{m:()=>s});let r={uint8x2:{size:2,stride:2,normalised:!1},uint8x4:{size:4,stride:4,normalised:!1},sint8x2:{size:2,stride:2,normalised:!1},sint8x4:{size:4,stride:4,normalised:!1},unorm8x2:{size:2,stride:2,normalised:!0},unorm8x4:{size:4,stride:4,normalised:!0},snorm8x2:{size:2,stride:2,normalised:!0},snorm8x4:{size:4,stride:4,normalised:!0},uint16x2:{size:2,stride:4,normalised:!1},uint16x4:{size:4,stride:8,normalised:!1},sint16x2:{size:2,stride:4,normalised:!1},sint16x4:{size:4,stride:8,normalised:!1},unorm16x2:{size:2,stride:4,normalised:!0},unorm16x4:{size:4,stride:8,normalised:!0},snorm16x2:{size:2,stride:4,normalised:!0},snorm16x4:{size:4,stride:8,normalised:!0},float16x2:{size:2,stride:4,normalised:!1},float16x4:{size:4,stride:8,normalised:!1},float32:{size:1,stride:4,normalised:!1},float32x2:{size:2,stride:8,normalised:!1},float32x3:{size:3,stride:12,normalised:!1},float32x4:{size:4,stride:16,normalised:!1},uint32:{size:1,stride:4,normalised:!1},uint32x2:{size:2,stride:8,normalised:!1},uint32x3:{size:3,stride:12,normalised:!1},uint32x4:{size:4,stride:16,normalised:!1},sint32:{size:1,stride:4,normalised:!1},sint32x2:{size:2,stride:8,normalised:!1},sint32x3:{size:3,stride:12,normalised:!1},sint32x4:{size:4,stride:16,normalised:!1}};function s(t){return r[t]??r.float32}},37838:(t,e,i)=>{let r;i.d(e,{B:()=>a});var s=i(82557);function n(t){let e=s.e.get().createCanvas(6,1),i=e.getContext("2d");return i.fillStyle=t,i.fillRect(0,0,6,1),e}function a(){if(void 0!==r)return r;try{let t=n("#ff00ff"),e=n("#ffff00"),i=s.e.get().createCanvas(6,1).getContext("2d");i.globalCompositeOperation="multiply",i.drawImage(t,0,0),i.drawImage(e,2,0);let a=i.getImageData(2,0,1,1);if(a){let t=a.data;r=255===t[0]&&0===t[1]&&0===t[2]}else r=!1}catch(t){r=!1}return r}},37983:(t,e,i)=>{var r=i(42434),s=i(79324),n=i(33678),a=i(58968),o=i(62835),l=i(80094),h=i(49765),u=i(26622);let d=class t{constructor(t,e){this.linkedSheets=[];let i=t;t?.source instanceof u.v&&(i={texture:t,data:e});const{texture:r,data:s,cachePrefix:n=""}=i;this.cachePrefix=n,this._texture=r instanceof o.g?r:null,this.textureSource=r.source,this.textures={},this.animations={},this.data=s;const a=parseFloat(s.meta.scale);a?(this.resolution=a,r.source.resolution=this.resolution):this.resolution=r.source._resolution,this._frames=this.data.frames,this._frameKeys=Object.keys(this._frames),this._batchIndex=0,this._callback=null}parse(){return new Promise(e=>{this._callback=e,this._batchIndex=0,this._frameKeys.length<=t.BATCH_SIZE?(this._processFrames(0),this._processAnimations(),this._parseComplete()):this._nextBatch()})}parseSync(){return this._processFrames(0,!0),this._processAnimations(),this.textures}_processFrames(e,i=!1){let r=e,s=i?1/0:t.BATCH_SIZE;for(;r-e<s&&r<this._frameKeys.length;){let t=this._frameKeys[r],e=this._frames[t],i=e.frame;if(i){let r=null,s=null,n=!1!==e.trimmed&&e.sourceSize?e.sourceSize:e.frame,a=new h.M(0,0,Math.floor(n.w)/this.resolution,Math.floor(n.h)/this.resolution);r=e.rotated?new h.M(Math.floor(i.x)/this.resolution,Math.floor(i.y)/this.resolution,Math.floor(i.h)/this.resolution,Math.floor(i.w)/this.resolution):new h.M(Math.floor(i.x)/this.resolution,Math.floor(i.y)/this.resolution,Math.floor(i.w)/this.resolution,Math.floor(i.h)/this.resolution),!1!==e.trimmed&&e.spriteSourceSize&&(s=new h.M(Math.floor(e.spriteSourceSize.x)/this.resolution,Math.floor(e.spriteSourceSize.y)/this.resolution,Math.floor(i.w)/this.resolution,Math.floor(i.h)/this.resolution)),this.textures[t]=new o.g({source:this.textureSource,frame:r,orig:a,trim:s,rotate:2*!!e.rotated,defaultAnchor:e.anchor,defaultBorders:e.borders,label:t.toString()})}r++}}_processAnimations(){let t=this.data.animations||{};for(let e in t){this.animations[e]=[];for(let i=0;i<t[e].length;i++){let r=t[e][i];this.animations[e].push(this.textures[r])}}}_parseComplete(){let t=this._callback;this._callback=null,this._batchIndex=0,t.call(this,this.textures)}_nextBatch(){this._processFrames(this._batchIndex*t.BATCH_SIZE),this._batchIndex++,setTimeout(()=>{this._batchIndex*t.BATCH_SIZE<this._frameKeys.length?this._nextBatch():(this._processAnimations(),this._parseComplete())},0)}destroy(t=!1){for(let t in this.textures)this.textures[t].destroy();this._frames=null,this._frameKeys=null,this.data=null,this.textures=null,t&&(this._texture?.destroy(),this.textureSource.destroy()),this._texture=null,this.textureSource=null,this.linkedSheets=[]}};d.BATCH_SIZE=1e3;let c=["jpg","png","jpeg","avif","webp","basis","etc2","bc7","bc6h","bc5","bc4","bc3","bc2","bc1","eac","astc"],f={extension:r.Ag.Asset,cac
373he:{test:t=>t instanceof d,getCacheableAssets:(t,e)=>(function t(e,i,r){let s={};if(e.forEach(t=>{s[t]=i}),Object.keys(i.textures).forEach(t=>{s[`${i.cachePrefix}${t}`]=i.textures[t]}),!r){let r=l.A.dirname(e[0]);i.linkedSheets.forEach((e,n)=>{Object.assign(s,t([`${r}/${i.data.meta.related_multi_packs[n]}`],e,!0))})}return s})(t,e,!1)},resolver:{extension:{type:r.Ag.ResolveParser,name:"resolveSpritesheet"},test:t=>{let e=t.split("?")[0].split("."),i=e.pop(),r=e.pop();return"json"===i&&c.includes(r)},parse:t=>{let e=t.split(".");return{resolution:parseFloat(n.x.RETINA_PREFIX.exec(t)?.[1]??"1"),format:e[e.length-2],src:t}}},loader:{name:"spritesheetLoader",id:"spritesheet",extension:{type:r.Ag.LoadParser,priority:s.T.Normal,name:"spritesheetLoader"},testParse:async(t,e)=>".json"===l.A.extname(e.src).toLowerCase()&&!!t.frames,async parse(t,e,i){let r,{texture:s,imageFilename:n,textureOptions:h,cachePrefix:u}=e?.data??{},c=l.A.dirname(e.src);if(c&&c.lastIndexOf("/")!==c.length-1&&(c+="/"),s instanceof o.g)r=s;else{let s=(0,a.Y)(c+(n??t.meta.image),e.src);r=(await i.load([{src:s,data:h}]))[s]}let f=new d({texture:r.source,data:t,cachePrefix:u});await f.parse();let p=t?.meta?.related_multi_packs;if(Array.isArray(p)){let t=[];for(let r of p){if("string"!=typeof r)continue;let s=c+r;e.data?.ignoreMultiPack||(s=(0,a.Y)(s,e.src),t.push(i.load({src:s,data:{textureOptions:h,ignoreMultiPack:!0}})))}let r=await Promise.all(t);f.linkedSheets=r,r.forEach(t=>{t.linkedSheets=[f].concat(f.linkedSheets.filter(e=>e!==t))})}return f},async unload(t,e,i){await i.unload(t.textureSource._sourceOrigin),t.destroy(!1)}}};r.XO.add(f)},38477:(t,e,i)=>{i.d(e,{q:()=>a});var r=i(82557),s=i(42434),n=i(26622);class a extends n.v{constructor(t){t.resource||(t.resource=r.e.get().createCanvas()),!t.width&&(t.width=t.resource.width,t.autoDensity||(t.width/=t.resolution)),!t.height&&(t.height=t.resource.height,t.autoDensity||(t.height/=t.resolution)),super(t),this.uploadMethodId="image",this.autoDensity=t.autoDensity,this.resizeCanvas(),this.transparent=!!t.transparent}resizeCanvas(){this.autoDensity&&"style"in this.resource&&(this.resource.style.width=`${this.width}px`,this.resource.style.height=`${this.height}px`),(this.resource.width!==this.pixelWidth||this.resource.height!==this.pixelHeight)&&(this.resource.width=this.pixelWidth,this.resource.height=this.pixelHeight)}resize(t=this.width,e=this.height,i=this._resolution){let r=super.resize(t,e,i);return r&&this.resizeCanvas(),r}static test(t){return globalThis.HTMLCanvasElement&&t instanceof HTMLCanvasElement||globalThis.OffscreenCanvas&&t instanceof OffscreenCanvas}get context2D(){return this._context2D||(this._context2D=this.resource.getContext("2d"))}}a.extension=s.Ag.TextureSource},39483:(t,e,i)=>{i.d(e,{k:()=>x});var r=i(93020),s=i(42434);let n=[];async function a(t){if(!t)for(let t=0;t<n.length;t++){let e=n[t];if(e.value.test())return void await e.value.load()}}s.XO.handleByNamedList(s.Ag.Environment,n);var o=i(75951),l=i(68336),h=i(4596),u=i(68951),d=i(12506),c=i(18856),f=i(2384),p=i(4215);let m=["init","destroy","contextChange","resolutionChange","resetState","renderEnd","renderStart","render","update","postrender","prerender"],g=class t extends p.A{constructor(t){super(),this.tick=0,this.uid=(0,h.L)("renderer"),this.runners=Object.create(null),this.renderPipes=Object.create(null),this._initOptions={},this._systemsHash=Object.create(null),this.type=t.type,this.name=t.name,this.config=t;const e=[...m,...this.config.runners??[]];this._addRunners(...e),this._unsafeEvalCheck()}async init(e={}){let i=!0===e.skipExtensionImports||!1===e.manageImports;for(let t in await a(i),this._addSystems(this.config.systems),this._addPipes(this.config.renderPipes,this.config.renderPipeAdaptors),this._systemsHash)e={...this._systemsHash[t].constructor.defaultOptions,...e};e={...t.defaultOptions,...e},this._roundPixels=+!!e.roundPixels;for(let t=0;t<this.runners.init.items.length;t++)await this.runners.init.items[t].init(e);this._initOptions=e}render(t,e){this.tick++;let i=t;if(i instanceof o.mc&&(i={container:i},e&&((0,u.t6)(u.lj,"passing a second argument is deprecated, please use render options instead"),i.target=e.renderTexture)),i.target||(i.target=this.view.renderTarget),i.target===this.view.renderTarget&&(this._lastObjectRendered=i.container,i.clearColor??(i.clearColor=this.background.colorRgba),i.clear??(i.clear=this.background.clearBeforeRender)),i.clearColor){let t=Array.isArray(i.clearColor)&&4===i.clearColor.length;i.clearColor=t?i.clearColor:r.Q.shared.setValue(i.clearColor).toArray()}i.transform||(i.container.updateLocalTransform(),i.transform=i.container.localTransform),i.container.visible&&(i.container.enableRenderGroup(),this.runners.prerender.emit(i),this.runners.renderStart.emit(i),this.runners.render.emit(i),this.runners.renderEnd.emit(i),this.runners.postrender.emit(i))}resize(t,e,i){let r=this.view.resolution;
373this.view.resize(t,e,i),this.emit("resize",this.view.screen.width,this.view.screen.height,this.view.resolution),void 0!==i&&i!==r&&this.runners.resolutionChange.emit(i)}clear(t={}){t.target||(t.target=this.renderTarget.renderTarget),t.clearColor||(t.clearColor=this.background.colorRgba),t.clear??(t.clear=c.u.ALL);let{clear:e,clearColor:i,target:s,mipLevel:n,layer:a}=t;r.Q.shared.setValue(i??this.background.colorRgba),this.renderTarget.clear(s,e,r.Q.shared.toArray(),n??0,a??0)}get resolution(){return this.view.resolution}set resolution(t){this.view.resolution=t,this.runners.resolutionChange.emit(t)}get width(){return this.view.texture.frame.width}get height(){return this.view.texture.frame.height}get canvas(){return this.view.canvas}get lastObjectRendered(){return this._lastObjectRendered}get renderingToScreen(){return this.renderTarget.renderingToScreen}get screen(){return this.view.screen}_addRunners(...t){t.forEach(t=>{this.runners[t]=new f.C(t)})}_addSystems(t){let e;for(e in t){let i=t[e];this._addSystem(i.value,i.name)}}_addSystem(t,e){let i=new t(this);if(this[e])throw Error(`Whoops! The name "${e}" is already in use`);for(let t in this[e]=i,this._systemsHash[e]=i,this.runners)this.runners[t].add(i);return this}_addPipes(t,e){let i=e.reduce((t,e)=>(t[e.name]=e.value,t),{});t.forEach(t=>{let e=t.value,r=t.name,s=i[r];this.renderPipes[r]=new e(this,s?new s:null),this.runners.destroy.add(this.renderPipes[r])})}destroy(t=!1){this.runners.destroy.items.reverse(),this.runners.destroy.emit(t),(!0===t||"object"==typeof t&&t.releaseGlobalResources)&&d.L.release(),Object.values(this.runners).forEach(t=>{t.destroy()}),this._systemsHash=null,this.renderPipes=null,this.removeAllListeners()}generateTexture(t){return this.textureGenerator.generateTexture(t)}get roundPixels(){return!!this._roundPixels}_unsafeEvalCheck(){if(!(0,l.f)())throw Error("Current environment does not allow unsafe-eval, please use pixi.js/unsafe-eval module to enable support.")}resetState(){this.runners.resetState.emit()}};g.defaultOptions={resolution:1,failIfMajorPerformanceCaveat:!1,roundPixels:!1};let x=g},40995:(t,e,i)=>{let r;i.d(e,{C:()=>n});var s=i(82557);async function n(){return r??(r=(async()=>{let t=s.e.get().createCanvas(1,1).getContext("webgl");if(!t)return"premultiply-alpha-on-upload";let e=await new Promise(t=>{let e=document.createElement("video");e.onloadeddata=()=>t(e),e.onerror=()=>t(null),e.autoplay=!1,e.crossOrigin="anonymous",e.preload="auto",e.src="data:video/webm;base64,GkXfo59ChoEBQveBAULygQRC84EIQoKEd2VibUKHgQJChYECGFOAZwEAAAAAAAHTEU2bdLpNu4tTq4QVSalmU6yBoU27i1OrhBZUrmtTrIHGTbuMU6uEElTDZ1OsggEXTbuMU6uEHFO7a1OsggG97AEAAAAAAABZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVSalmoCrXsYMPQkBNgIRMYXZmV0GETGF2ZkSJiEBEAAAAAAAAFlSua8yuAQAAAAAAAEPXgQFzxYgAAAAAAAAAAZyBACK1nIN1bmSIgQCGhVZfVlA5g4EBI+ODhAJiWgDglLCBArqBApqBAlPAgQFVsIRVuYEBElTDZ9Vzc9JjwItjxYgAAAAAAAAAAWfInEWjh0VOQ09ERVJEh49MYXZjIGxpYnZweC12cDlnyKJFo4hEVVJBVElPTkSHlDAwOjAwOjAwLjA0MDAwMDAwMAAAH0O2dcfngQCgwqGggQAAAIJJg0IAABAAFgA4JBwYSgAAICAAEb///4r+AAB1oZ2mm+6BAaWWgkmDQgAAEAAWADgkHBhKAAAgIABIQBxTu2uRu4+zgQC3iveBAfGCAXHwgQM=",e.load()});if(!e)return"premultiply-alpha-on-upload";let i=t.createTexture();t.bindTexture(t.TEXTURE_2D,i);let r=t.createFramebuffer();t.bindFramebuffer(t.FRAMEBUFFER,r),t.framebufferTexture2D(t.FRAMEBUFFER,t.COLOR_ATTACHMENT0,t.TEXTURE_2D,i,0),t.pixelStorei(t.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1),t.pixelStorei(t.UNPACK_COLORSPACE_CONVERSION_WEBGL,t.NONE),t.texImage2D(t.TEXTURE_2D,0,t.RGBA,t.RGBA,t.UNSIGNED_BYTE,e);let n=new Uint8Array(4);return t.readPixels(0,0,1,1,t.RGBA,t.UNSIGNED_BYTE,n),t.deleteFramebuffer(r),t.deleteTexture(i),t.getExtension("WEBGL_lose_context")?.loseContext(),n[0]<=n[3]?"premultiplied-alpha":"premultiply-alpha-on-upload"})()),r}},41546:(t,e,i)=>{i.d(e,{U:()=>n});let r={normal:0,add:1,multiply:2,screen:3,overlay:4,erase:5,"normal-npm":6,"add-npm":7,"screen-npm":8,min:9,max:10},s=class t{constructor(){this.data=0,this.blendMode="normal",this.polygonOffset=0,this.blend=!0,this.depthMask=!0}get blend(){return!!(1&this.data)}set blend(t){!!(1&this.data)!==t&&(this.data^=1)}get offsets(){return!!(2&this.data)}set offsets(t){!!(2&this.data)!==t&&(this.data^=2)}set cullMode(t){if("none"===t){this.culling=!1;return}this.culling=!0,this.clockwiseFrontFace="front"===t}get cullMode(){return this.culling?this.clockwiseFrontFace?"front":"back":"none"}
373get culling(){return!!(4&this.data)}set culling(t){!!(4&this.data)!==t&&(this.data^=4)}get depthTest(){return!!(8&this.data)}set depthTest(t){!!(8&this.data)!==t&&(this.data^=8)}get depthMask(){return!!(32&this.data)}set depthMask(t){!!(32&this.data)!==t&&(this.data^=32)}get clockwiseFrontFace(){return!!(16&this.data)}set clockwiseFrontFace(t){!!(16&this.data)!==t&&(this.data^=16)}get blendMode(){return this._blendMode}set blendMode(t){this.blend="none"!==t,this._blendMode=t,this._blendModeId=r[t]||0}get polygonOffset(){return this._polygonOffset}set polygonOffset(t){this.offsets=!!t,this._polygonOffset=t}toString(){return`[pixi.js/core:State blendMode=${this.blendMode} clockwiseFrontFace=${this.clockwiseFrontFace} culling=${this.culling} depthMask=${this.depthMask} polygonOffset=${this.polygonOffset}]`}static for2d(){let e=new t;return e.depthTest=!1,e.blend=!0,e}};s.default2d=s.for2d();let n=s},41568:(t,e,i)=>{i.d(e,{a:()=>r});class r{constructor(){this.pipe="filter",this.priority=1}destroy(){for(let t=0;t<this.filters.length;t++)this.filters[t].destroy();this.filters=null,this.filterArea=null}}},42434:(t,e,i)=>{i.d(e,{Ag:()=>s,XO:()=>o});var r,s=((r=s||{}).Application="application",r.WebGLPipes="webgl-pipes",r.WebGLPipesAdaptor="webgl-pipes-adaptor",r.WebGLSystem="webgl-system",r.WebGPUPipes="webgpu-pipes",r.WebGPUPipesAdaptor="webgpu-pipes-adaptor",r.WebGPUSystem="webgpu-system",r.CanvasSystem="canvas-system",r.CanvasPipesAdaptor="canvas-pipes-adaptor",r.CanvasPipes="canvas-pipes",r.Asset="asset",r.LoadParser="load-parser",r.ResolveParser="resolve-parser",r.CacheParser="cache-parser",r.DetectionParser="detection-parser",r.MaskEffect="mask-effect",r.BlendMode="blend-mode",r.TextureSource="texture-source",r.TextureUploaderWebGL="texture-uploader-webgl",r.TextureUploaderWebGPU="texture-uploader-webgpu",r.Environment="environment",r.ShapeBuilder="shape-builder",r.Batcher="batcher",r);let n=t=>{if("function"==typeof t||"object"==typeof t&&t.extension){if(!t.extension)throw Error("Extension class must have an extension object");t={..."object"!=typeof t.extension?{type:t.extension}:t.extension,ref:t}}if("object"==typeof t)t={...t};else throw Error("Invalid extension type");return"string"==typeof t.type&&(t.type=[t.type]),t},a=(t,e)=>n(t).priority??e,o={_addHandlers:{},_removeHandlers:{},_queue:{},remove(...t){return t.map(n).forEach(t=>{t.type.forEach(e=>this._removeHandlers[e]?.(t))}),this},add(...t){return t.map(n).forEach(t=>{t.type.forEach(e=>{let i=this._addHandlers,r=this._queue;i[e]?i[e]?.(t):(r[e]=r[e]||[],r[e]?.push(t))})}),this},handle(t,e,i){let r=this._addHandlers,s=this._removeHandlers;if(r[t]||s[t])throw Error(`Extension type ${t} already has a handler`);r[t]=e,s[t]=i;let n=this._queue;return n[t]&&(n[t]?.forEach(t=>e(t)),delete n[t]),this},handleByMap(t,e){return this.handle(t,t=>{t.name&&(e[t.name]=t.ref)},t=>{t.name&&delete e[t.name]})},handleByNamedList(t,e,i=-1){return this.handle(t,t=>{e.findIndex(e=>e.name===t.name)>=0||(e.push({name:t.name,value:t.ref}),e.sort((t,e)=>a(e.value,i)-a(t.value,i)))},t=>{let i=e.findIndex(e=>e.name===t.name);-1!==i&&e.splice(i,1)})},handleByList(t,e,i=-1){return this.handle(t,t=>{e.includes(t.ref)||(e.push(t.ref),e.sort((t,e)=>a(e,i)-a(t,i)))},t=>{let i=e.indexOf(t.ref);-1!==i&&e.splice(i,1)})},mixin(t,...e){for(let i of e)Object.defineProperties(t.prototype,Object.getOwnPropertyDescriptors(i))}}},43517:(t,e,i)=>{i.d(e,{N:()=>n});var r=i(76080);let s=new r.u;class n{constructor(t,e){this.mapCoord=new r.u,this.uClampFrame=new Float32Array(4),this.uClampOffset=new Float32Array(2),this._updateID=0,this.clampOffset=0,void 0===e?this.clampMargin=t.width<10?0:.5:this.clampMargin=e,this.isSimple=!1,this.texture=t}get texture(){return this._texture}set texture(t){this._texture!==t&&(this._texture?.removeListener("update",this.update,this),this._texture=t,this._texture.addListener("update",this.update,this)),this.update()}multiplyUvs(t,e){void 0===e&&(e=t);let i=this.mapCoord;for(let r=0;r<t.length;r+=2){let s=t[r],n=t[r+1];e[r]=s*i.a+n*i.c+i.tx,e[r+1]=s*i.b+n*i.d+i.ty}return e}update(){let t=this._texture;this._updateID++;let e=t.uvs;this.mapCoord.set(e.x1-e.x0,e.y1-e.y0,e.x3-e.x0,e.y3-e.y0,e.x0,e.y0);let i=t.orig,r=t.trim;r&&(s.set(i.width/r.width,0,0,i.height/r.height,-r.x/r.width,-r.y/r.height),this.mapCoord.append(s));let n=t.source,a=this.uClampFrame,o=this.clampMargin/n._resolution,l=this.clampOffset/n._resolution;return a[0]=(t.frame.x+o+l)/n.width,a[1]=(t.frame.y+o+l)/n.height,a[2]=(t.frame.x+t.frame.width-o+l)/n.width,a[3]=(t.frame.y+t.frame.height-o+l)/n.height,this.uClampOffset[0]=this.clampOffset/n.pixelWidth,this.uClampOffset[1]=this.clampOffset/n.pixelHeight,this.isSimple=t.frame.width===n.width&&t.frame.height===n.height&&0===t.rotate,!0}}},43964:(t,e,i)=>{i.d(e,{W:()=>u});var r=i(9306),s=i(12506),n=i(26622),a=i(62835),o=i(65179);let l=0;class h{constructor(t){this._poolKeyHash=Object.create(null),this._texturePool={},this.textureOptions=t||{},this.enableFullScreen=!1,this.textureStyle=new o.n(this.textureOptions)}createTexture(t,e,i,r){let s=new n.v({...this.textureOptions,width:t,height:e,resolution:1,antialias:i,autoGarbageCollect:!1,autoGenerateMipmaps:r});return new a.g({source:s,label:`texturePool_${l++}`})}getOptimalTexture(t,e,i=1,s,n=!1){let a=Math.ceil(t*i-1e-6),o=Math.ceil(e*i-1e-6);a=(0,r.U5)(a);let l=(a<<17)+((o=(0,r.U5)(o))<<2)+(!!n<<1)+ +!!s;this._texturePool[l]||(this._texturePool[l]=[]);let h=this._texturePool[l].pop();return h||(h=this.createTexture(a,o,s,n)),h.source._resolution=i,h.source.width=a/i,h.source.height=o/i,h.source.pixelWidth=a,h.source.pixelHeight=o,h.frame.x=0,h.frame.y=0,h.frame.width=t,h.frame.height=e,h.updateUvs(),this._poolKeyHash[h.uid]=l,h}getSameSizeTexture(t,e=!1){let i=t.source;return this.getOptimalTexture(t.width,t.height,i._resolution,e)}returnTexture(t,e=!1){let i=this._poolKeyHash[t.uid];e&&(t.source.style=this.textureStyle),this._texturePool[i].push(t)}clear(t){if(t=!1!==t)for(let t in this._texturePool){let e=this._texturePool[t];if(e)for(let t=0;t<e.length;t++)e[t].destroy(!0)}this._texturePool={}}}let u=new h;s.L.register(u)},45325:(t,e,i)=>{i.d(e,{R:()=>s});let r=0;function s(...t){500!==r&&(500==++r?console.warn("PixiJS Warning: too many warnings, no more warnings will be reported to the console by PixiJS."):console.warn("PixiJS Warning: ",...t))}},46143:(t,e,i)=>{i.d(e,{K:()=>r});
373class r{constructor(){this.batcherName="default",this.topology="triangle-list",this.attributeSize=4,this.indexSize=6,this.packAsQuad=!0,this.roundPixels=0,this._attributeStart=0,this._batcher=null,this._batch=null}get blendMode(){return this.renderable.groupBlendMode}get color(){return this.renderable.groupColorAlpha}reset(){this.renderable=null,this.texture=null,this._batcher=null,this._batch=null,this.bounds=null}destroy(){this.reset()}}},49765:(t,e,i)=>{i.d(e,{M:()=>n});var r=i(89660);let s=[new r.b,new r.b,new r.b,new r.b];class n{constructor(t=0,e=0,i=0,r=0){this.type="rectangle",this.x=Number(t),this.y=Number(e),this.width=Number(i),this.height=Number(r)}get left(){return this.x}get right(){return this.x+this.width}get top(){return this.y}get bottom(){return this.y+this.height}isEmpty(){return this.left===this.right||this.top===this.bottom}static get EMPTY(){return new n(0,0,0,0)}clone(){return new n(this.x,this.y,this.width,this.height)}copyFromBounds(t){return this.x=t.minX,this.y=t.minY,this.width=t.maxX-t.minX,this.height=t.maxY-t.minY,this}copyFrom(t){return this.x=t.x,this.y=t.y,this.width=t.width,this.height=t.height,this}copyTo(t){return t.copyFrom(this),t}contains(t,e){return!(this.width<=0)&&!(this.height<=0)&&!!(t>=this.x)&&!!(t<this.x+this.width)&&!!(e>=this.y)&&!!(e<this.y+this.height)}strokeContains(t,e,i,r=.5){let{width:s,height:n}=this;if(s<=0||n<=0)return!1;let a=this.x,o=this.y,l=i*(1-r),h=i-l;return t>=a-l&&t<=a+s+l&&e>=o-l&&e<=o+n+l&&!(t>a+h&&t<a+s-h&&e>o+h&&e<o+n-h)}intersects(t,e){if(!e){let e=this.x<t.x?t.x:this.x;if((this.right>t.right?t.right:this.right)<=e)return!1;let i=this.y<t.y?t.y:this.y;return(this.bottom>t.bottom?t.bottom:this.bottom)>i}let i=this.left,r=this.right,n=this.top,a=this.bottom;if(r<=i||a<=n)return!1;let o=s[0].set(t.left,t.top),l=s[1].set(t.left,t.bottom),h=s[2].set(t.right,t.top),u=s[3].set(t.right,t.bottom);if(h.x<=o.x||l.y<=o.y)return!1;let d=Math.sign(e.a*e.d-e.b*e.c);if(0===d||(e.apply(o,o),e.apply(l,l),e.apply(h,h),e.apply(u,u),Math.max(o.x,l.x,h.x,u.x)<=i||Math.min(o.x,l.x,h.x,u.x)>=r||Math.max(o.y,l.y,h.y,u.y)<=n||Math.min(o.y,l.y,h.y,u.y)>=a))return!1;let c=d*(l.y-o.y),f=d*(o.x-l.x),p=c*i+f*n,m=c*r+f*n,g=c*i+f*a,x=c*r+f*a;if(Math.max(p,m,g,x)<=c*o.x+f*o.y||Math.min(p,m,g,x)>=c*u.x+f*u.y)return!1;let y=d*(o.y-h.y),_=d*(h.x-o.x),v=y*i+_*n,b=y*r+_*n,w=y*i+_*a,A=y*r+_*a;return!(Math.max(v,b,w,A)<=y*o.x+_*o.y||Math.min(v,b,w,A)>=y*u.x+_*u.y)}pad(t=0,e=t){return this.x-=t,this.y-=e,this.width+=2*t,this.height+=2*e,this}fit(t){let e=Math.max(this.x,t.x),i=Math.min(this.x+this.width,t.x+t.width),r=Math.max(this.y,t.y),s=Math.min(this.y+this.height,t.y+t.height);return this.x=e,this.width=Math.max(i-e,0),this.y=r,this.height=Math.max(s-r,0),this}ceil(t=1,e=.001){let i=Math.ceil((this.x+this.width-e)*t)/t,r=Math.ceil((this.y+this.height-e)*t)/t;return this.x=Math.floor((this.x+e)*t)/t,this.y=Math.floor((this.y+e)*t)/t,this.width=i-this.x,this.height=r-this.y,this}scale(t,e=t){return this.x*=t,this.y*=e,this.width*=t,this.height*=e,this}enlarge(t){let e=Math.min(this.x,t.x),i=Math.max(this.x+this.width,t.x+t.width),r=Math.min(this.y,t.y),s=Math.max(this.y+this.height,t.y+t.height);return this.x=e,this.width=i-e,this.y=r,this.height=s-r,this}getBounds(t){return t||(t=new n),t.copyFrom(this),t}containsRect(t){if(this.width<=0||this.height<=0)return!1;let e=t.x,i=t.y,r=t.x+t.width,s=t.y+t.height;return e>=this.x&&e<this.x+this.width&&i>=this.y&&i<this.y+this.height&&r>=this.x&&r<this.x+this.width&&s>=this.y&&s<this.y+this.height}set(t,e,i,r){return this.x=t,this.y=e,this.width=i,this.height=r,this}toString(){return`[pixi.js/math:Rectangle x=${this.x} y=${this.y} width=${this.width} height=${this.height}]`}}},50050:(t,e,i)=>{i.d(e,{xv:()=>r}),i(4215);let r="8.19.0"},53554:(t,e,i)=>{i.d(e,{Ls:()=>r,_Q:()=>s,mA:()=>n});let r={name:"local-uniform-bit",vertex:{header:`
374
375            struct LocalUniforms {
376                uTransformMatrix:mat3x3<f32>,
377                uColor:vec4<f32>,
378                uRound:f32,
379            }
380
381            @group(1) @binding(0) var<uniform> localUniforms : LocalUniforms;
382        `,main:`
383            vColor *= localUniforms.uColor;
384            modelMatrix *= localUniforms.uTransformMatrix;
385        `,end:`
386            if(localUniforms.uRound == 1)
387            {
388                vPosition = vec4(roundPixels(vPosition.xy, globalUniforms.uResolution), vPosition.zw);
389            }
390        `}},s={...r,vertex:{...r.vertex,header:r.vertex.header.replace("group(1)","group(2)")}},n={name:"local-uniform-bit",vertex:{header:`
391
392            uniform mat3 uTransformMatrix;
393            uniform vec4 uColor;
394            uniform float uRound;
395        `,main:`
396            vColor *= uColor;
397            modelMatrix = uTransformMatrix;
398        `,end:`
399            if(uRound == 1.)
400            {
401                gl_Position.xy = roundPixels(gl_Position.xy, uResolution);
402            }
403        `}}}
403,53977:(t,e,i)=>{i.d(e,{W:()=>r});function r(t,e,i,r){if(i??(i=0),r??(r=Math.min(t.byteLength-i,e.byteLength)),7&i||7&r)if(3&i||3&r)new Uint8Array(e).set(new Uint8Array(t,i,r));else{let s=r/4;new Float32Array(e,0,s).set(new Float32Array(t,i,s))}else{let s=r/8;new Float64Array(e,0,s).set(new Float64Array(t,i,s))}}},54012:(t,e,i)=>{i.d(e,{n:()=>n});var r=i(76080),s=i(78713);function n(t,e,i){return e.clear(),i||(i=r.u.IDENTITY),function t(e,i,n,a,o){let l;if(o)l=s.u.get(),l=n.copyTo(l);else{if(!e.visible||!e.measurable)return;e.updateLocalTransform();let t=e.localTransform;(l=s.u.get()).appendFrom(t,n)}let h=i,u=!!e.effects.length;if(u&&(i=s.o.get().clear()),e.boundsArea)i.addRect(e.boundsArea,l);else{e.renderPipeId&&(i.matrix=l,i.addBounds(e.bounds));let r=e.children;for(let e=0;e<r.length;e++)t(r[e],i,l,a,!1)}if(u){for(let t=0;t<e.effects.length;t++)e.effects[t].addLocalBounds?.(i,a);h.addBounds(i,r.u.IDENTITY),s.o.return(i)}s.u.return(l)}(t,e,i,t,!0),e.isValid||e.set(0,0,0,0),e}},56700:t=>{var e=Object.prototype.hasOwnProperty,i="~";function r(){}function s(t,e,i){this.fn=t,this.context=e,this.once=i||!1}function n(t,e,r,n,a){if("function"!=typeof r)throw TypeError("The listener must be a function");var o=new s(r,n||t,a),l=i?i+e:e;return t._events[l]?t._events[l].fn?t._events[l]=[t._events[l],o]:t._events[l].push(o):(t._events[l]=o,t._eventsCount++),t}function a(t,e){0==--t._eventsCount?t._events=new r:delete t._events[e]}function o(){this._events=new r,this._eventsCount=0}Object.create&&(r.prototype=Object.create(null),new r().__proto__||(i=!1)),o.prototype.eventNames=function(){var t,r,s=[];if(0===this._eventsCount)return s;for(r in t=this._events)e.call(t,r)&&s.push(i?r.slice(1):r);return Object.getOwnPropertySymbols?s.concat(Object.getOwnPropertySymbols(t)):s},o.prototype.listeners=function(t){var e=i?i+t:t,r=this._events[e];if(!r)return[];if(r.fn)return[r.fn];for(var s=0,n=r.length,a=Array(n);s<n;s++)a[s]=r[s].fn;return a},o.prototype.listenerCount=function(t){var e=i?i+t:t,r=this._events[e];return r?r.fn?1:r.length:0},o.prototype.emit=function(t,e,r,s,n,a){var o=i?i+t:t;if(!this._events[o])return!1;var l,h,u=this._events[o],d=arguments.length;if(u.fn){switch(u.once&&this.removeListener(t,u.fn,void 0,!0),d){case 1:return u.fn.call(u.context),!0;case 2:return u.fn.call(u.context,e),!0;case 3:return u.fn.call(u.context,e,r),!0;case 4:return u.fn.call(u.context,e,r,s),!0;case 5:return u.fn.call(u.context,e,r,s,n),!0;case 6:return u.fn.call(u.context,e,r,s,n,a),!0}for(h=1,l=Array(d-1);h<d;h++)l[h-1]=arguments[h];u.fn.apply(u.context,l)}else{var c,f=u.length;for(h=0;h<f;h++)switch(u[h].once&&this.removeListener(t,u[h].fn,void 0,!0),d){case 1:u[h].fn.call(u[h].context);break;case 2:u[h].fn.call(u[h].context,e);break;case 3:u[h].fn.call(u[h].context,e,r);break;case 4:u[h].fn.call(u[h].context,e,r,s);break;default:if(!l)for(c=1,l=Array(d-1);c<d;c++)l[c-1]=arguments[c];u[h].fn.apply(u[h].context,l)}}return!0},o.prototype.on=function(t,e,i){return n(this,t,e,i,!1)},o.prototype.once=function(t,e,i){return n(this,t,e,i,!0)},o.prototype.removeListener=function(t,e,r,s){var n=i?i+t:t;if(!this._events[n])return this;if(!e)return a(this,n),this;var o=this._events[n];if(o.fn)o.fn!==e||s&&!o.once||r&&o.context!==r||a(this,n);else{for(var l=0,h=[],u=o.length;l<u;l++)(o[l].fn!==e||s&&!o[l].once||r&&o[l].context!==r)&&h.push(o[l]);h.length?this._events[n]=1===h.length?h[0]:h:a(this,n)}return this},o.prototype.removeAllListeners=function(t){var e;return t?(e=i?i+t:t,this._events[e]&&a(this,e)):(this._events=new r,this._eventsCount=0),this},o.prototype.off=o.prototype.removeListener,o.prototype.addListener=o.prototype.on,o.prefixed=i,o.EventEmitter=o,t.exports=o},58816:(t,e,i)=>{i.d(e,{M:()=>n,d:()=>a});var r=i(42434),s=i(50050);class n{static init(){globalThis.__PIXI_APP_INIT__?.(this,s.xv)}static destroy(){}}n.extension=r.Ag.Application;class a{constructor(t){this._renderer=t}init(){globalThis.__PIXI_RENDERER_INIT__?.(this._renderer,s.xv)}destroy(){this._renderer=null}}a.extension={type:[r.Ag.WebGLSystem,r.Ag.WebGPUSystem],name:"initHook",priority:-10}},58968:(t,e,i)=>{i.d(e,{Y:()=>r});let r=(t,e)=>{let i=e.split("?")[1];return i&&(t+=`?${i}`),t}},59612:(t,e,i)=>{i.d(e,{g:()=>s});
403class r{constructor(t=0,e=0,i=!1){this.first=null,this.items=Object.create(null),this.last=null,this.max=t,this.resetTtl=i,this.size=0,this.ttl=e}clear(){return this.first=null,this.items=Object.create(null),this.last=null,this.size=0,this}delete(t){if(this.has(t)){let e=this.items[t];delete this.items[t],this.size--,null!==e.prev&&(e.prev.next=e.next),null!==e.next&&(e.next.prev=e.prev),this.first===e&&(this.first=e.next),this.last===e&&(this.last=e.prev)}return this}entries(t=this.keys()){let e=Array(t.length);for(let i=0;i<t.length;i++){let r=t[i];e[i]=[r,this.get(r)]}return e}evict(t=!1){if(t||this.size>0){let t=this.first;delete this.items[t.key],0==--this.size?(this.first=null,this.last=null):(this.first=t.next,this.first.prev=null)}return this}expiresAt(t){let e;return this.has(t)&&(e=this.items[t].expiry),e}get(t){let e=this.items[t];if(void 0!==e)return this.ttl>0&&e.expiry<=Date.now()?void this.delete(t):(this.moveToEnd(e),e.value)}has(t){return t in this.items}moveToEnd(t){this.last!==t&&(null!==t.prev&&(t.prev.next=t.next),null!==t.next&&(t.next.prev=t.prev),this.first===t&&(this.first=t.next),t.prev=this.last,t.next=null,null!==this.last&&(this.last.next=t),this.last=t,null===this.first&&(this.first=t))}keys(){let t=Array(this.size),e=this.first,i=0;for(;null!==e;)t[i++]=e.key,e=e.next;return t}setWithEvicted(t,e,i=this.resetTtl){let r=null;if(this.has(t))this.set(t,e,!0,i);else{this.max>0&&this.size===this.max&&(r={...this.first},this.evict(!0));let i=this.items[t]={expiry:this.ttl>0?Date.now()+this.ttl:this.ttl,key:t,prev:this.last,next:null,value:e};1==++this.size?this.first=i:this.last.next=i,this.last=i}return r}set(t,e,i=!1,r=this.resetTtl){let s=this.items[t];return i||void 0!==s?(s.value=e,!1===i&&r&&(s.expiry=this.ttl>0?Date.now()+this.ttl:this.ttl),this.moveToEnd(s)):(this.max>0&&this.size===this.max&&this.evict(!0),s=this.items[t]={expiry:this.ttl>0?Date.now()+this.ttl:this.ttl,key:t,prev:this.last,next:null,value:e},1==++this.size?this.first=s:this.last.next=s,this.last=s),this}values(t=this.keys()){let e=Array(t.length);for(let i=0;i<t.length;i++)e[i]=this.get(t[i]);return e}}function s(t=1e3,e=0,i=!1){if(isNaN(t)||t<0)throw TypeError("Invalid max value");if(isNaN(e)||e<0)throw TypeError("Invalid ttl value");if("boolean"!=typeof i)throw TypeError("Invalid resetTtl value");return new r(t,e,i)}},60079:(t,e,i)=>{i.d(e,{s:()=>r});class r{constructor(t){this.items=Object.create(null);const{renderer:e,type:i,onUnload:r,priority:s,name:n}=t;this._renderer=e,e.gc.addResourceHash(this,"items",i,s??0),this._onUnload=r,this.name=n}add(t){return!this.items[t.uid]&&(this.items[t.uid]=t,t.once("unload",this.remove,this),t._gcLastUsed=this._renderer.gc.now,!0)}remove(t,...e){if(!this.items[t.uid])return;let i=t._gpuData[this._renderer.uid];i&&(this._onUnload?.(t,...e),i.destroy(),t._gpuData[this._renderer.uid]=null,this.items[t.uid]=null)}removeAll(...t){Object.values(this.items).forEach(e=>e&&this.remove(e,...t))}destroy(...t){this.removeAll(...t),this.items=Object.create(null),this._renderer=null,this._onUnload=null}}},62422:(t,e,i)=>{i.d(e,{P:()=>f});var r=i(59612),s=i(82557);function n(t){return!!t.tagStyles&&Object.keys(t.tagStyles).length>0}function a(t){return t.includes("<")}var o=i(88295);let l=/\r\n|\r|\n/g,h={willReadFrequently:!0};function u(t,e,i,r,s){let n=i[t];return"number"!=typeof n&&(n=s(t,e,r)+e,i[t]=n),n}let d={willReadFrequently:!0},c=class t{static get experimentalLetterSpacingSupported(){let e=t._experimentalLetterSpacingSupported;if(void 0===e){let i=s.e.get().getCanvasRenderingContext2D().prototype;e=t._experimentalLetterSpacingSupported="letterSpacing"in i||"textLetterSpacing"in i}return e}constructor(t,e,i,r,s,n,a,o,l,h){this.text=t,this.style=e,this.width=i,this.height=r,this.lines=s,this.lineWidths=n,this.lineHeight=a,this.maxLineWidth=o,this.fontProperties=l,h&&(this.runsByLine=h.runsByLine,this.lineAscents=h.lineAscents,this.lineDescents=h.lineDescents,this.lineHeights=h.lineHeights,this.hasDropShadow=h.hasDropShadow)}static measureText(e=" ",i,r=t._canvas,s=i.wordWrap){let h=`${e}-${i.styleKey}-wordWrap-${s}`;if(t._measurementCache.has(h))return t._measurementCache.get(h);
403if(n(i)&&a(e)){let r=function(t,e,i,r,s,h,u,d,c){let f=function(t,e){let i=[],r=e.tagStyles;if(!n(e)||!a(t))return i.push({text:t,style:e}),i;let s=[e],o=[],l="",h=0;for(;h<t.length;){let e=t[h];if("<"===e){let n=t.indexOf(">",h);if(-1===n){l+=e,h++;continue}let a=t.indexOf("<",h+1);if(-1!==a&&a<n){l+=e,h++;continue}let c=t.slice(h+1,n);if(c.startsWith("/")){let e=c.slice(1).trim();if(o.length>0&&o[o.length-1]===e){l.length>0&&(i.push({text:l,style:s[s.length-1]}),l=""),s.pop(),o.pop(),h=n+1;continue}l+=t.slice(h,n+1),h=n+1;continue}{let e=c.trim();if(r[e]){var u,d;l.length>0&&(i.push({text:l,style:s[s.length-1]}),l="");let t=(u=s[s.length-1],d=r[e],u.clone().assign(d));s.push(t),o.push(e),h=n+1;continue}l+=t.slice(h,n+1),h=n+1;continue}}l+=e,h++}return l.length>0&&i.push({text:l,style:s[s.length-1]}),i}(t,e);if((0,o.fo)(e.whiteSpace))for(let t=0;t<f.length;t++){let e=f[t];f[t]={text:e.text.replace(l," "),style:e.style}}let p=[],m=[];for(let t of f){let e=t.text.split(o.kl);for(let i=0;i<e.length;i++){let r=e[i];"\r\n"===r||"\r"===r||"\n"===r?(p.push(m),m=[]):r.length>0&&m.push({text:r,style:t.style})}}(m.length>0||0===p.length)&&p.push(m);let g=i?function(t,e,i,r,s,n){let{letterSpacing:a,whiteSpace:l,wordWrapWidth:h,breakWords:u}=e,d=(0,o.j3)(l),c=h+a,f={},p="",m=(t,e)=>{let s=`${t}|${e.styleKey}`,n=f[s];if(void 0===n){let a=e._fontString;a!==p&&(i.font=a,p=a),n=r(t,e.letterSpacing,i)+e.letterSpacing,f[s]=n}return n},g=[];for(let e of t){let t=function(t){let e=[],i=!1;for(let r of t){let t=(0,o.qw)(r.text),s=!0;for(let n of t){let t=(0,o.U2)(n)||(0,o.Z9)(n),a=s&&i&&!t;e.push({token:n,style:r.style,continuesFromPrevious:a}),i=!t,s=!1}}return e}(e),i=g.length,r=e=>{let i=0,r=e;do{let{token:e,style:s}=t[r];i+=m(e,s),r++}while(r<t.length&&t[r].continuesFromPrevious);return i},a=e=>{let i=[],r=e;do i.push({token:t[r].token,style:t[r].style}),r++;while(r<t.length&&t[r].continuesFromPrevious);return i},l=[],h=0,f=!d,p=null,x=()=>{p&&p.text.length>0&&l.push(p),p=null},y=()=>{if(x(),l.length>0){let t=l[l.length-1];t.text=(0,o.$T)(t.text),0===t.text.length&&l.pop()}g.push(l),l=[],h=0,f=!1};for(let e=0;e<t.length;e++){let{token:i,style:_,continuesFromPrevious:v}=t[e],b=m(i,_);if(d){let t=(0,o.U2)(i),e=p?.text[p.text.length-1]??l[l.length-1]?.text.slice(-1)??"",r=!!e&&(0,o.U2)(e);if(t&&r)continue}let w=!v,A=w?r(e):b;if(A>c&&w)if(h>0&&y(),u){let t=a(e);for(let e=0;e<t.length;e++){let i=t[e].token,r=t[e].style;for(let t of(0,o.O3)(i,u,n,s)){let e=m(t,r);e+h>c&&y(),p&&p.style===r?p.text+=t:(x(),p={text:t,style:r}),h+=e}}e+=t.length-1}else{let t=a(e);x(),g.push(t.map(t=>({text:t.token,style:t.style}))),f=!1,e+=t.length-1}else if(A+h>c&&w){if((0,o.U2)(i)){f=!1;continue}y(),p={text:i,style:_},h=b}else if(v&&!u)p&&p.style===_?p.text+=i:(x(),p={text:i,style:_}),h+=b;else{let t=(0,o.U2)(i);if(0===h&&t&&!f)continue;p&&p.style===_?p.text+=i:(x(),p={text:i,style:_}),h+=b}}if(x(),l.length>0){let t=l[l.length-1];t.text=(0,o.$T)(t.text),0===t.text.length&&l.pop()}(l.length>0||g.length===i)&&g.push(l)}return g}(p,e,r,h,d,c):p,x=[],y=[],_=[],v=[],b=[],w=0,A=u(e._fontString);0===A.fontSize&&(A.fontSize=e.fontSize,A.ascent=e.fontSize);let S="",C=!!e.dropShadow,T=e._stroke?.width||0;for(let t of g){let i=0,n=A.ascent,a=A.descent,o="";for(let e of t){let t=e.style._fontString,l=u(t);t!==S&&(r.font=t,S=t),i+=s(e.text,e.style.letterSpacing,r),n=Math.max(n,l.ascent),a=Math.max(a,l.descent),o+=e.text;let h=e.style._stroke?.width||0;h>T&&(T=h),!C&&e.style.dropShadow&&(C=!0)}0===t.length&&(n=A.ascent,a=A.descent),x.push(i),y.push(n),_.push(a),b.push(o);let l=e.lineHeight||n+a;v.push(l+e.leading),w=Math.max(w,i)}let M=T,P=w+M+(e.dropShadow?e.dropShadow.distance:0),k=0;for(let t=0;t<v.length;t++)k+=v[t];return{width:P,height:(k=Math.max(k,v[0]+M))+(e.dropShadow?e.dropShadow.distance:0),lines:b,lineWidths:x,lineHeight:(e.lineHeight||A.fontSize)+e.leading,maxLineWidth:w,fontProperties:A,runsByLine:g,lineAscents:y,lineDescents:_,lineHeights:v,hasDropShadow:C}}(e,i,s,t._context,t._measureText,t._measureTextAdvance,t.measureFont,t.canBreakChars,t.wordWrapSplit),u=new t(e,i,r.width,r.height,r.lines,r.lineWidths,r.lineHeight,r.maxLineWidth,r.fontProperties,{runsByLine:r.runsByLine,lineAscents:r.lineAscents,lineDescents:r.lineDescents,lineHeights:r.lineHeights,hasDropShadow:r.hasDropShadow});return t._measurementCache.set(h,u),u}let u=i._fontString,d=t.measureFont(u);0===d.fontSize&&(d.fontSize=i.fontSize,d.ascent=i.fontSize,d.descent=0);let c=t._context;c.font=u;let f=(s?t._wordWrap(e,i,r):e).split(o.j7),p=Array(f.length),m=0;for(let e=0;e<f.length;e++){let r=t._measureText(f[e],i.letterSpacing,c);p[e]=r,m=Math.max(m,r)}let g=i._stroke?.width??0,x=i.lineHeight||d.fontSize,y=t._adjustWidthForStyle(m,i),_=Math.max(x,d.fontSize+g)+(f.length-1)*(x+i.leading),v=t._adjustHeightForStyle(_,i),b=new t(e,i,y,v,f,p,x+i.leading,m,d);return t._measurementCache.set(h,b),b}static _adjustWidthForStyle(t,e){let i=t+(e._stroke?.width||0);return e.dropShadow&&(i+=e.dropShadow.distance),i}static _adjustHeightForStyle(t,e){let i=t;return e.dropShadow&&(i+=e.dropShadow.distance),i}static _measureText(e,i,r){let{metricWidth:s,metrics:n,letterSpacingVal:a}=t._measureTextCore(e,i,r),o=-(n.actualBoundingBoxLeft??0),l=(n.actualBoundingBoxRight??0)-o;return n.width>0&&(l+=a),Math.max(s,l)}static _measureTextAdvance(e,i,r){return t._measureTextCore(e,i,r).metricWidth}static _measureTextCore(e,i,r){let s=!1;t.experimentalLetterSpacingSupported&&(t.experimentalLetterSpacing?(r.letterSpacing=`${i}px`,r.textLetterSpacing=`${i}px`,s=!0):(r.letterSpacing="0px",r.textLetterSpacing="0px"));let n=r.measureText(e),a=n.width,o=0;return a>0&&(a+=o=s?-i:(t.graphemeSegmenter(e).length-1)*i),{metricWidth:a,metrics:n,letterSpacingVal:o}}
403static _wordWrap(e,i,r=t._canvas){return function(t,e,i,r,s,n,a){let l=i.getContext("2d",h);l.font=e._fontString;let d=0,c="",f=[],p=Object.create(null),{letterSpacing:m,whiteSpace:g}=e,x=(0,o.j3)(g),y=(0,o.fo)(g),_=!x,v=e.wordWrapWidth+m,b=(0,o.qw)(t);for(let t=0;t<b.length;t++){let i=b[t];if((0,o.Z9)(i)){if(!y){f.push((0,o.$T)(c)),_=!x,c="",d=0;continue}i=" "}if(x){let t=(0,o.U2)(i),e=(0,o.U2)(c[c.length-1]);if(t&&e)continue}let h=u(i,m,p,l,r);if(h>v)if(""!==c&&(f.push((0,o.$T)(c)),c="",d=0),s(i,e.breakWords))for(let t of(0,o.O3)(i,e.breakWords,a,n)){let e=u(t,m,p,l,r);e+d>v&&(f.push((0,o.$T)(c)),_=!1,c="",d=0),c+=t,d+=e}else c.length>0&&(f.push((0,o.$T)(c)),c="",d=0),f.push((0,o.$T)(i)),_=!1,c="",d=0;else h+d>v&&(_=!1,f.push((0,o.$T)(c)),c="",d=0),(c.length>0||!(0,o.U2)(i)||_)&&(c+=i,d+=h)}let w=(0,o.$T)(c);return w.length>0&&f.push(w),f.join("\n")}(e,i,r,t._measureTextAdvance,t.canBreakWords,t.canBreakChars,t.wordWrapSplit)}static isBreakingSpace(t,e){return(0,o.U2)(t,e)}static canBreakWords(t,e){return e}static canBreakChars(t,e,i,r,s){return!0}static wordWrapSplit(e){return t.graphemeSegmenter(e)}static measureFont(e){if(t._fonts[e])return t._fonts[e];let i=t._context;i.font=e;let r=i.measureText(t.METRICS_STRING+t.BASELINE_SYMBOL),s=r.actualBoundingBoxAscent??0,n=r.actualBoundingBoxDescent??0,a={ascent:s,descent:n,fontSize:s+n};return t._fonts[e]=a,a}static clearMetrics(e=""){e?delete t._fonts[e]:t._fonts={}}static get _canvas(){if(!t.__canvas){let e;try{let i=new OffscreenCanvas(0,0),r=i.getContext("2d",d);if(r?.measureText)return t.__canvas=i,i;e=s.e.get().createCanvas()}catch(t){e=s.e.get().createCanvas()}e.width=e.height=10,t.__canvas=e}return t.__canvas}static get _context(){return t.__context||(t.__context=t._canvas.getContext("2d",d)),t.__context}};c.METRICS_STRING="|\xc9q\xc5",c.BASELINE_SYMBOL="M",c.BASELINE_MULTIPLIER=1.4,c.HEIGHT_MULTIPLIER=2,c.graphemeSegmenter=(()=>{if("function"==typeof Intl?.Segmenter){let t=new Intl.Segmenter;return e=>{let i=t.segment(e),r=[],s=0;for(let t of i)r[s++]=t.segment;return r}}return t=>[...t]})(),c.experimentalLetterSpacing=!1,c._fonts={},c._measurementCache=(0,r.g)(1e3);let f=c},62835:(t,e,i)=>{i.d(e,{g:()=>c});var r=i(4215),s=i(27142),n=i(49765),a=i(4596),o=i(68951);let l=()=>{};var h=i(12954),u=i(26622),d=i(43517);class c extends r.A{constructor({source:t,label:e,frame:i,orig:r,trim:s,defaultAnchor:o,defaultBorders:l,rotate:h,dynamic:d}={}){if(super(),this.uid=(0,a.L)("texture"),this.uvs={x0:0,y0:0,x1:0,y1:0,x2:0,y2:0,x3:0,y3:0},this.frame=new n.M,this.noFrame=!1,this.dynamic=!1,this.isTexture=!0,this.label=e,this.source=t?.source??new u.v,this.noFrame=!i,i)this.frame.copyFrom(i);else{const{width:t,height:e}=this._source;this.frame.width=t,this.frame.height=e}this.orig=r||this.frame,this.trim=s,this.rotate=h??0,this.defaultAnchor=o,this.defaultBorders=l,this.destroyed=!1,this.dynamic=d||
403!1,this.updateUvs()}set source(t){this._source&&this._source.off("resize",this.update,this),this._source=t,t.on("resize",this.update,this),this.emit("update",this)}get source(){return this._source}get textureMatrix(){return this._textureMatrix||(this._textureMatrix=new d.N(this)),this._textureMatrix}get width(){return this.orig.width}get height(){return this.orig.height}updateUvs(){let{uvs:t,frame:e}=this,{width:i,height:r}=this._source,n=e.x/i,a=e.y/r,o=e.width/i,l=e.height/r,h=this.rotate;if(h){let e=o/2,i=l/2,r=n+e,u=a+i;h=s.E.add(h,s.E.NW),t.x0=r+e*s.E.uX(h),t.y0=u+i*s.E.uY(h),h=s.E.add(h,2),t.x1=r+e*s.E.uX(h),t.y1=u+i*s.E.uY(h),h=s.E.add(h,2),t.x2=r+e*s.E.uX(h),t.y2=u+i*s.E.uY(h),h=s.E.add(h,2),t.x3=r+e*s.E.uX(h),t.y3=u+i*s.E.uY(h)}else t.x0=n,t.y0=a,t.x1=n+o,t.y1=a,t.x2=n+o,t.y2=a+l,t.x3=n,t.y3=a+l}destroy(t=!1){this._source&&(this._source.off("resize",this.update,this),t&&(this._source.destroy(),this._source=null)),this._textureMatrix=null,this.destroyed=!0,this.emit("destroy",this),this.removeAllListeners()}update(){this.noFrame&&(this.frame.width=this._source.width,this.frame.height=this._source.height),this.updateUvs(),this.emit("update",this)}get baseTexture(){return(0,o.t6)(o.lj,"Texture.baseTexture is now Texture.source"),this._source}}c.EMPTY=new c({label:"EMPTY",source:new u.v({label:"EMPTY"})}),c.EMPTY.destroy=l,c.WHITE=new c({source:new h.P({resource:new Uint8Array([255,255,255,255]),width:1,height:1,alphaMode:"premultiply-alpha-on-upload",label:"WHITE"}),label:"WHITE"}),c.WHITE.destroy=l},63115:(t,e,i)=>{i.d(e,{d:()=>l});var r=i(11474),s=i(96812),n=i(14394),a=i(41546);let o=class t extends n.M{constructor(e){super(e={...t.defaultOptions,...e}),this.enabled=!0,this._state=a.U.for2d(),this.blendMode=e.blendMode,this.padding=e.padding,"boolean"==typeof e.antialias?this.antialias=e.antialias?"on":"off":this.antialias=e.antialias,this.resolution=e.resolution,this.blendRequired=e.blendRequired,this.clipToViewport=e.clipToViewport,this.addResource("uTexture",0,1),e.blendRequired&&this.addResource("uBackTexture",0,3)}apply(t,e,i,r){t.applyFilter(this,e,i,r)}get blendMode(){return this._state.blendMode}set blendMode(t){this._state.blendMode=t}static from(e){let i,n,{gpu:a,gl:o,...l}=e;return a&&(i=s.B.from(a)),o&&(n=r.M.from(o)),new t({gpuProgram:i,glProgram:n,...l})}};o.defaultOptions={blendMode:"normal",resolution:1,padding:0,antialias:"off",blendRequired:!1,clipToViewport:!0};let l=o},63297:(t,e,i)=>{i.d(e,{N:()=>o});var r=i(82557),s=i(9306),n=i(12506);class a{constructor(t){this._canvasPool=Object.create(null),this.canvasOptions=t||{},this.enableFullScreen=!1}_createCanvasAndContext(t,e){let i=r.e.get().createCanvas();i.width=t,i.height=e;let s=i.getContext("2d");return{canvas:i,context:s}}getOptimalCanvasAndContext(t,e,i=1){t=Math.ceil(t*i-1e-6),e=Math.ceil(e*i-1e-6),t=(0,s.U5)(t),e=(0,s.U5)(e);let r=(t<<17)+(e<<1);this._canvasPool[r]||(this._canvasPool[r]=[]);let n=this._canvasPool[r].pop();return n||(n=this._createCanvasAndContext(t,e)),n}returnCanvasAndContext(t){let{width:e,height:i}=t.canvas,r=(e<<17)+(i<<1);t.context.resetTransform(),t.context.clearRect(0,0,e,i),this._canvasPool[r].push(t)}clear(){this._canvasPool={}}}let o=new a;n.L.register(o)},64897:(t,e,i)=>{i.d(e,{L:()=>s});var r=i(4596);class s{constructor(){this.uid=(0,r.L)("instructionSet"),this.instructions=[],this.instructionSize=0,this.renderables=[],this.gcTick=0}reset(){this.instructionSize=0}destroy(){this.instructions.length=0,this.renderables.length=0,this.renderPipes=null,this.gcTick=0}add(t){this.instructions[this.instructionSize++]=t}log(){this.instructions.length=this.instructionSize,console.table(this.instructions,["type","action"])}}},64900:(t,e,i)=>{i.d(e,{K:()=>n,Q:()=>r});let r={normal:"normal-npm",add:"add-npm",screen:"screen-npm"};var s,n=((s=n||{})[s.DISABLED=0]="DISABLED",s[s.RENDERING_MASK_ADD=1]="RENDERING_MASK_ADD",s[s.MASK_ACTIVE=2]="MASK_ACTIVE",s[s.INVERSE_MASK_ACTIVE=3]="INVERSE_MASK_ACTIVE",s[s.RENDERING_MASK_REMOVE=4]="RENDERING_MASK_REMOVE",s[s.NONE=5]="NONE",s)},65179:(t,e,i)=>{i.d(e,{n:()=>l});var r=i(4215),s=i(4596),n=i(68951);let a=Object.create(null),o=class t extends r.A{constructor(e={}){super(),this._resourceType="textureSampler",this._touched=0,this._maxAnisotropy=1,this.destroyed=!1,e={...t.defaultOptions,...e},this.addressMode=e.addressMode,this.addressModeU=e.addressModeU??this.addressModeU,this.addressModeV=e.addressModeV??this.addressModeV,this.addressModeW=e.addressModeW??this.addressModeW,this.scaleMode=e.scaleMode,this.magFilter=e.magFilter??this.magFilter,this.minFilter=e.minFilter??this.minFilter,this.mipmapFilter=e.mipmapFilter??this.mipmapFilter,this.lodMinClamp=e.lodMinClamp,this.lodMaxClamp=e.lodMaxClamp,this.compare=e.compare,this.maxAnisotropy=e.maxAnisotropy??1}set addressMode(t){this.addressModeU=t,this.addressModeV=t,this.addressModeW=t}get addressMode(){return this.addressModeU}set wrapMode(t){(0,n.t6)(n.lj,"TextureStyle.wrapMode is now TextureStyle.addressMode"),this.addressMode=t}get wrapMode(){return this.addressMode}set scaleMode(t){this.magFilter=t,this.minFilter=t,this.mipmapFilter=t}get scaleMode(){return this.magFilter}set maxAnisotropy(t){this._maxAnisotropy=Math.min(t,16),this._maxAnisotropy>1&&(this.scaleMode="linear")}get maxAnisotropy(){return this._maxAnisotropy}get _resourceId(){return this._sharedResourceId||this._generateResourceId()}
403update(){this._sharedResourceId=null,this.emit("change",this)}_generateResourceId(){let t,e=`${this.addressModeU}-${this.addressModeV}-${this.addressModeW}-${this.magFilter}-${this.minFilter}-${this.mipmapFilter}-${this.lodMinClamp}-${this.lodMaxClamp}-${this.compare}-${this._maxAnisotropy}`;return this._sharedResourceId=(void 0===(t=a[e])&&(a[e]=(0,s.L)("resource")),t),this._resourceId}destroy(){this.destroyed=!0,this.emit("destroy",this),this.emit("change",this),this.removeAllListeners()}};o.defaultOptions={addressMode:"clamp-to-edge",scaleMode:"linear"};let l=o},65220:(t,e,i)=>{i.d(e,{J:()=>z});var r=i(42434),s=i(4596),n=i(66725),a=i(68951),o=i(12506),l=i(53977),h=i(93414),u=i(66757),d=i(78305);let c=null;class f{constructor(){this.ids=Object.create(null),this.textures=[],this.count=0}clear(){for(let t=0;t<this.count;t++){let e=this.textures[t];this.textures[t]=null,this.ids[e.uid]=null}this.count=0}}class p{constructor(){this.renderPipeId="batch",this.action="startBatch",this.start=0,this.size=0,this.textures=new f,this.blendMode="normal",this.topology="triangle-strip",this.canBundle=!0}destroy(){this.textures=null,this.gpuBindGroup=null,this.bindGroup=null,this.batcher=null,this.elements=null}}let m=[],g=0;function x(){return g>0?m[--g]:new p}function y(t){t.elements=null,m[g++]=t}o.L.register({clear:()=>{if(m.length>0)for(let t of m)t&&t.destroy();m.length=0,g=0}});let _=0,v=class t{constructor(e){this.uid=(0,s.L)("batcher"),this.dirty=!0,this.batchIndex=0,this.batches=[],this._elements=[],(e={...t.defaultOptions,...e}).maxTextures||((0,a.t6)("v8.8.0","maxTextures is a required option for Batcher now, please pass it in the options"),e.maxTextures=function(){if(c)return c;let t=(0,u.W)();return c=t.getParameter(t.MAX_TEXTURE_IMAGE_UNITS),c=(0,d.u)(c,t),t.getExtension("WEBGL_lose_context")?.loseContext(),c}());const{maxTextures:i,attributesInitialSize:r,indicesInitialSize:o}=e;this.attributeBuffer=new n.u(4*r),this.indexBuffer=new Uint16Array(o),this.maxTextures=i}begin(){this.elementSize=0,this.elementStart=0,this.indexSize=0,this.attributeSize=0;for(let t=0;t<this.batchIndex;t++)y(this.batches[t]);this.batchIndex=0,this._batchIndexStart=0,this._batchIndexSize=0,this.dirty=!0}add(t){this._elements[this.elementSize++]=t,t._indexStart=this.indexSize,t._attributeStart=this.attributeSize,t._batcher=this,this.indexSize+=t.indexSize,this.attributeSize+=t.attributeSize*this.vertexSize}checkAndUpdateTexture(t,e){let i=t._batch.textures.ids[e._source.uid];return(!!i||0===i)&&(t._textureId=i,t.texture=e,!0)}updateElement(t){this.dirty=!0;let e=this.attributeBuffer;t.packAsQuad?this.packQuadAttributes(t,e.float32View,e.uint32View,t._attributeStart,t._textureId):this.packAttributes(t,e.float32View,e.uint32View,t._attributeStart,t._textureId)}break(t){let e=this._elements;if(!e[this.elementStart])return;let i=x(),r=i.textures;r.clear();let s=e[this.elementStart],n=(0,h.i)(s.blendMode,s.texture._source),a=s.topology;4*this.attributeSize>this.attributeBuffer.size&&this._resizeAttributeBuffer(4*this.attributeSize),this.indexSize>this.indexBuffer.length&&this._resizeIndexBuffer(this.indexSize);let o=this.attributeBuffer.float32View,l=this.attributeBuffer.uint32View,u=this.indexBuffer,d=this._batchIndexSize,c=this._batchIndexStart,f="startBatch",p=[],m=this.maxTextures;for(let s=this.elementStart;s<this.elementSize;++s){let g=e[s];e[s]=null;let y=g.texture._source,v=(0,h.i)(g.blendMode,y),b=n!==v||a!==g.topology;if(y._batchTick===_&&!b){g._textureId=y._textureBindLocation,d+=g.indexSize,g.packAsQuad?(this.packQuadAttributes(g,o,l,g._attributeStart,g._textureId),this.packQuadIndex(u,g._indexStart,g._attributeStart/this.vertexSize)):(this.packAttributes(g,o,l,g._attributeStart,g._textureId),this.packIndex(g,u,g._indexStart,g._attributeStart/this.vertexSize)),g._batch=i,p.push(g);continue}y._batchTick=_,(r.count>=m||b)&&(this._finishBatch(i,c,d-c,r,n,a,t,f,p),f="renderBatch",c=d,n=v,a=g.topology,(r=(i=x()).textures).clear(),p=[],++_),g._textureId=y._textureBindLocation=r.count,r.ids[y.uid]=r.count,r.textures[r.count++]=y,g._batch=i,p.push(g),d+=g.indexSize,g.packAsQuad?(this.packQuadAttributes(g,o,l,g._attributeStart,g._textureId),this.packQuadIndex(u,g._indexStart,g._attributeStart/this.vertexSize)):(this.packAttributes(g,o,l,g._attributeStart,g._textureId),this.packIndex(g,u,g._indexStart,g._attributeStart/this.vertexSize))}r.count>0&&(this._finishBatch(i,c,d-c,r,n,a,t,f,p),c=d,++_),this.elementStart=this.elementSize,this._batchIndexStart=c,this._batchIndexSize=d}_finishBatch(t,e,i,r,s,n,a,o,l){t.gpuBindGroup=null,t.bindGroup=null,t.action=o,t.batcher=this,t.textures=r,t.blendMode=s,t.topology=n,t.start=e,t.size=i,t.elements=l,++_,this.batches[this.batchIndex++]=t,a.add(t)}finish(t){this.break(t)}ensureAttributeBuffer(t){4*t<=this.attributeBuffer.size||this._resizeAttributeBuffer(4*t)}ensureIndexBuffer(t){t<=this.indexBuffer.length||this._resizeIndexBuffer(t)}_resizeAttributeBuffer(t){let e=Math.max(t,2*this.attributeBuffer.size),i=new n.u(e);(0,l.W)(this.attributeBuffer.rawBinaryData,i.rawBinaryData),this.attributeBuffer=i}_resizeIndexBuffer(t){let e=this.indexBuffer,i=Math.max(t,1.5*e.length);i+=i%2;let r=i>65535?new Uint32Array(i):new Uint16Array(i);if(r.BYTES_PER_ELEMENT!==e.BYTES_PER_ELEMENT)for(let t=0;t<e.length;t++)r[t]=e[t];else(0,l.W)(e.buffer,r.buffer);this.indexBuffer=r}packQuadIndex(t,e,i){t[e]=i+0,t[e+1]=i+1,t[e+2]=i+2,t[e+3]=i+0,t[e+4]=i+2,t[e+5]=i+3}packIndex(t,e,i,r){let s=t.indices,n=t.indexSize,a=t.indexOffset,o=t.attributeOffset;for(let t=0;t<n;t++)e[i++]=r+s[t+a]-o}destroy(t={}){if(null!==this.batches){for(let t=0;t<this.batchIndex;t++)y(this.batches[t]);this.batches=null,this.geometry.destroy(!0),this.geometry=null,t.shader&&(this.shader?.destroy(),this.shader=null);for(let t=0;t<this._elements.length;t++)this._elements[t]&&(this._elements[t]._batch=null);this._elements=null,this.indexBuffer=null,this.attributeBuffer.destroy(),this.attributeBuffer=null}}};v.defaultOptions={maxTextures:null,attributesInitialSize:4,indicesInitialSize:6};let b=v;var w=i(92548),A=i(89789),S=i(91286);let C=new Float32Array(1),T=new Uint32Array(1);class M extends S.V{constructor(){const t=new w.h({data:C,label:"attribute-batch-buffer",usage:A.S.VERTEX|A.S.COPY_DST,shrinkToFit:!1});super({attributes:{aPosition:{buffer:t,format:"float32x2",stride:24,offset:0},aUV:{buffer:t,format:"float32x2",stride:24,offset:8},aColor:{buffer:t,format:"unorm8x4",stride:24,offset:16},aTextureIdAndRound:{buffer:t,format:"uint16x2",stride:24,offset:20}},indexBuffer:new w.h({data:T,label:"index-batch-buffer",usage:A.S.INDEX|A.S.COPY_DST,shrinkToFit:!1})})}}var P=i(33993),k=i(32730),I=i(1217),R=i(75808),E=i(28369),B=i(14394);class O extends B.M{constructor(t){super({glProgram:(0,P.I)({name:"batch",bits:[k.a,(0,I.P)(t),R.m]}),gpuProgram:(0,P.v)({name:"batch",bits:[k.F,(0,I._)(t),R.b]}),resources:{batchSamplers:(0,E.n)(t)}}),this.maxTextures=t}}let F=null,U=class t extends b{constructor(e){super(e),this.geometry=new M,this.name=t.extension.name,this.vertexSize=6,F??(F=new O(e.maxTextures)),this.shader=F}packAttributes(t,e,i,r,s){let n=s<<16|65535&t.roundPixels,a=t.transform,o=a.a,l=a.b,h=a.c,u=a.d,d=a.tx,c=a.ty,{positions:f,uvs:p}=t,m=t.color,g=t.attributeOffset,x=g+t.attributeSize;
403for(let t=g;t<x;t++){let s=2*t,a=f[s],g=f[s+1];e[r++]=o*a+h*g+d,e[r++]=u*g+l*a+c,e[r++]=p[s],e[r++]=p[s+1],i[r++]=m,i[r++]=n}}packQuadAttributes(t,e,i,r,s){let n=t.texture,a=t.transform,o=a.a,l=a.b,h=a.c,u=a.d,d=a.tx,c=a.ty,f=t.bounds,p=f.maxX,m=f.minX,g=f.maxY,x=f.minY,y=n.uvs,_=t.color,v=s<<16|65535&t.roundPixels;e[r+0]=o*m+h*x+d,e[r+1]=u*x+l*m+c,e[r+2]=y.x0,e[r+3]=y.y0,i[r+4]=_,i[r+5]=v,e[r+6]=o*p+h*x+d,e[r+7]=u*x+l*p+c,e[r+8]=y.x1,e[r+9]=y.y1,i[r+10]=_,i[r+11]=v,e[r+12]=o*p+h*g+d,e[r+13]=u*g+l*p+c,e[r+14]=y.x2,e[r+15]=y.y2,i[r+16]=_,i[r+17]=v,e[r+18]=o*m+h*g+d,e[r+19]=u*g+l*m+c,e[r+20]=y.x3,e[r+21]=y.y3,i[r+22]=_,i[r+23]=v}_updateMaxTextures(t){this.shader.maxTextures!==t&&(F=new O(t),this.shader=F)}destroy(){this.shader=null,super.destroy()}};U.extension={type:[r.Ag.Batcher],name:"default"};let z=U},66725:(t,e,i)=>{i.d(e,{u:()=>r});class r{constructor(t){"number"==typeof t?this.rawBinaryData=new ArrayBuffer(t):t instanceof Uint8Array?this.rawBinaryData=t.buffer:this.rawBinaryData=t,this.uint32View=new Uint32Array(this.rawBinaryData),this.float32View=new Float32Array(this.rawBinaryData),this.size=this.rawBinaryData.byteLength}get int8View(){return this._int8View||(this._int8View=new Int8Array(this.rawBinaryData)),this._int8View}get uint8View(){return this._uint8View||(this._uint8View=new Uint8Array(this.rawBinaryData)),this._uint8View}get int16View(){return this._int16View||(this._int16View=new Int16Array(this.rawBinaryData)),this._int16View}get int32View(){return this._int32View||(this._int32View=new Int32Array(this.rawBinaryData)),this._int32View}get float64View(){return this._float64Array||(this._float64Array=new Float64Array(this.rawBinaryData)),this._float64Array}get bigUint64View(){return this._bigUint64Array||(this._bigUint64Array=new BigUint64Array(this.rawBinaryData)),this._bigUint64Array}view(t){return this[`${t}View`]}destroy(){this.rawBinaryData=null,this.uint32View=null,this.float32View=null,this.uint16View=null,this._int8View=null,this._uint8View=null,this._int16View=null,this._int32View=null,this._float64Array=null,this._bigUint64Array=null}static sizeOf(t){switch(t){case"int8":case"uint8":return 1;case"int16":case"uint16":return 2;case"int32":case"uint32":case"float32":return 4;default:throw Error(`${t} isn't a valid view type`)}}}},66757:(t,e,i)=>{let r;i.d(e,{W:()=>n});var s=i(82557);function n(){return(!r||r?.isContextLost())&&(r=s.e.get().createCanvas().getContext("webgl",{})),r}},67689:(t,e,i)=>{i.d(e,{k:()=>a});var r=i(93020),s=i(82557),n=i(27142);
403let a={canvas:null,convertTintToImage:!1,cacheStepsPerColorChannel:8,canUseMultiply:(0,i(37838).B)(),tintMethod:null,_canvasSourceCache:new WeakMap,_unpremultipliedCache:new WeakMap,getCanvasSource:t=>{let e=t.source,i=e?.resource;if(!i)return null;let r="premultiplied-alpha"===e.alphaMode,n=e.resourceWidth??e.pixelWidth,o=e.resourceHeight??e.pixelHeight,l=n!==e.pixelWidth||o!==e.pixelHeight;if(r){if((i instanceof HTMLCanvasElement||"u">typeof OffscreenCanvas&&i instanceof OffscreenCanvas)&&!l)return i;let t=a._unpremultipliedCache.get(e);if(t?.resourceId===e._resourceId)return t.canvas}if(i instanceof Uint8Array||i instanceof Uint8ClampedArray||i instanceof Int8Array||i instanceof Uint16Array||i instanceof Int16Array||i instanceof Uint32Array||i instanceof Int32Array||i instanceof Float32Array||i instanceof ArrayBuffer){let t=a._canvasSourceCache.get(e);if(t?.resourceId===e._resourceId)return t.canvas;let r=s.e.get().createCanvas(e.pixelWidth,e.pixelHeight),n=r.getContext("2d"),o=n.createImageData(e.pixelWidth,e.pixelHeight),l=o.data,h=i instanceof ArrayBuffer?new Uint8Array(i):new Uint8Array(i.buffer,i.byteOffset,i.byteLength);if("bgra8unorm"===e.format)for(let t=0;t<l.length&&t+3<h.length;t+=4)l[t]=h[t+2],l[t+1]=h[t+1],l[t+2]=h[t],l[t+3]=h[t+3];else l.set(h.subarray(0,l.length));return n.putImageData(o,0,0),a._canvasSourceCache.set(e,{canvas:r,resourceId:e._resourceId}),r}if(r){let t=s.e.get().createCanvas(e.pixelWidth,e.pixelHeight),r=t.getContext("2d",{willReadFrequently:!0});t.width=e.pixelWidth,t.height=e.pixelHeight,r.drawImage(i,0,0);let n=r.getImageData(0,0,t.width,t.height),o=n.data;for(let t=0;t<o.length;t+=4){let e=o[t+3];if(e>0){let i=255/e;o[t]=Math.min(255,o[t]*i+.5),o[t+1]=Math.min(255,o[t+1]*i+.5),o[t+2]=Math.min(255,o[t+2]*i+.5)}}return r.putImageData(n,0,0),a._unpremultipliedCache.set(e,{canvas:t,resourceId:e._resourceId}),t}if(l){let t=a._canvasSourceCache.get(e);if(t?.resourceId===e._resourceId)return t.canvas;let r=s.e.get().createCanvas(e.pixelWidth,e.pixelHeight),n=r.getContext("2d");return r.width=e.pixelWidth,r.height=e.pixelHeight,n.drawImage(i,0,0),a._canvasSourceCache.set(e,{canvas:r,resourceId:e._resourceId}),r}return i},getTintedCanvas:(t,e)=>{let i=t.texture,n=r.Q.shared.setValue(e).toHex(),o=i.tintCache||(i.tintCache={}),l=o[n],h=i.source._resourceId;if(l?.tintId===h)return l;let u=l&&"getContext"in l?l:s.e.get().createCanvas();if(a.tintMethod(i,e,u),u.tintId=h,a.convertTintToImage&&void 0!==u.toDataURL){let t=s.e.get().createImage();t.src=u.toDataURL(),t.tintId=h,o[n]=t}else o[n]=u;return o[n]},getTintedPattern:(t,e)=>{let i=r.Q.shared.setValue(e).toHex(),n=t.patternCache||(t.patternCache={}),o=t.source._resourceId,l=n[i];return l?.tintId===o||(a.canvas||(a.canvas=s.e.get().createCanvas()),a.tintMethod(t,e,a.canvas),(l=a.canvas.getContext("2d").createPattern(a.canvas,"repeat")).tintId=o,n[i]=l),l},applyPatternTransform:(t,e,i=!0)=>{if(!e||!t.setTransform)return;let r=globalThis.DOMMatrix;if(!r)return;let s=new r([e.a,e.b,e.c,e.d,e.tx,e.ty]);t.setTransform(i?s.inverse():s)},tintWithMultiply:(t,e,i)=>{let s=i.getContext("2d"),o=t.frame.clone(),l=t.source._resolution??t.source.resolution??1,h=t.rotate;o.x*=l,o.y*=l,o.width*=l,o.height*=l;let u=n.E.isVertical(h),d=u?o.height:o.width,c=u?o.width:o.height;i.width=Math.ceil(d),i.height=Math.ceil(c),s.save(),s.fillStyle=r.Q.shared.setValue(e).toHex(),s.fillRect(0,0,d,c),s.globalCompositeOperation="multiply";let f=a.getCanvasSource(t);f&&(h&&a._applyInverseRotation(s,h,o.width,o.height),s.drawImage(f,o.x,o.y,o.width,o.height,0,0,o.width,o.height),s.globalCompositeOperation="destination-atop",s.drawImage(f,o.x,o.y,o.width,o.height,0,0,o.width,o.height)),s.restore()},tintWithOverlay:(t,e,i)=>{let s=i.getContext("2d"),o=t.frame.clone(),l=t.source._resolution??t.source.resolution??1,h=t.rotate;o.x*=l,o.y*=l,o.width*=l,o.height*=l;let u=n.E.isVertical(h),d=u?o.height:o.width,c=u?o.width:o.height;i.width=Math.ceil(d),i.height=Math.ceil(c),s.save(),s.globalCompositeOperation="copy",s.fillStyle=r.Q.shared.setValue(e).toHex(),s.fillRect(0,0,d,c),s.globalCompositeOperation="destination-atop";let f=a.getCanvasSource(t);f&&(h&&a._applyInverseRotation(s,h,o.width,o.height),s.drawImage(f,o.x,o.y,o.width,o.height,0,0,o.width,o.height)),s.restore(
403)},tintWithPerPixel:(t,e,i)=>{let r=i.getContext("2d"),s=t.frame.clone(),o=t.source._resolution??t.source.resolution??1,l=t.rotate;s.x*=o,s.y*=o,s.width*=o,s.height*=o;let h=n.E.isVertical(l),u=h?s.height:s.width,d=h?s.width:s.height;i.width=Math.ceil(u),i.height=Math.ceil(d),r.save(),r.globalCompositeOperation="copy";let c=a.getCanvasSource(t);if(!c)return void r.restore();l&&a._applyInverseRotation(r,l,s.width,s.height),r.drawImage(c,s.x,s.y,s.width,s.height,0,0,s.width,s.height),r.restore();let f=e>>16&255,p=e>>8&255,m=255&e,g=r.getImageData(0,0,u,d),x=g.data;for(let t=0;t<x.length;t+=4)x[t]=x[t]*f/255,x[t+1]=x[t+1]*p/255,x[t+2]=x[t+2]*m/255;r.putImageData(g,0,0)},_applyInverseRotation:(t,e,i,r)=>{let s=n.E.inv(e),a=n.E.uX(s),o=n.E.uY(s),l=n.E.vX(s),h=n.E.vY(s),u=-Math.min(0,a*i,l*r,a*i+l*r),d=-Math.min(0,o*i,h*r,o*i+h*r);t.transform(a,o,l,h,u,d)}};a.tintMethod=a.canUseMultiply?a.tintWithMultiply:a.tintWithPerPixel},67857:(t,e,i)=>{i.d(e,{V:()=>r});function r(t,e,i){let r=(t>>24&255)/255;e[i++]=(255&t)/255*r,e[i++]=(t>>8&255)/255*r,e[i++]=(t>>16&255)/255*r,e[i++]=r}},68134:(t,e,i)=>{i.d(e,{R:()=>a});var r=i(25539);class s{constructor(t,e=null,i=0,r=!1){this.next=null,this.previous=null,this._destroyed=!1,this._fn=t,this._context=e,this.priority=i,this._once=r}match(t,e=null){return this._fn===t&&this._context===e}emit(t){this._fn&&(this._context?this._fn.call(this._context,t):this._fn(t));let e=this.next;return this._once&&this.destroy(!0),this._destroyed&&(this.next=null),e}connect(t){this.previous=t,t.next&&(t.next.previous=this),this.next=t.next,t.next=this}destroy(t=!1){this._destroyed=!0,this._fn=null,this._context=null,this.previous&&(this.previous.next=this.next),this.next&&(this.next.previous=this.previous);let e=this.next;return this.next=t?null:e,this.previous=null,e}}let n=class t{constructor(){this.autoStart=!1,this.deltaTime=1,this.lastTime=-1,this.speed=1,this.started=!1,this._requestId=null,this._maxElapsedMS=100,this._minElapsedMS=0,this._protected=!1,this._lastFrame=-1,this._head=new s(null,null,1/0),this.deltaMS=1/t.targetFPMS,this.elapsedMS=1/t.targetFPMS,this._tick=t=>{this._requestId=null,this.started&&(this.update(t),this.started&&null===this._requestId&&this._head.next&&(this._requestId=requestAnimationFrame(this._tick)))}}_requestIfNeeded(){null===this._requestId&&this._head.next&&(this.lastTime=performance.now(),this._lastFrame=this.lastTime,this._requestId=requestAnimationFrame(this._tick))}_cancelIfNeeded(){null!==this._requestId&&(cancelAnimationFrame(this._requestId),this._requestId=null)}_startIfPossible(){this.started?this._requestIfNeeded():this.autoStart&&this.start()}add(t,e,i=r.d.NORMAL){return this._addListener(new s(t,e,i))}addOnce(t,e,i=r.d.NORMAL){return this._addListener(new s(t,e,i,!0))}_addListener(t){let e=this._head.next,i=this._head;if(e){for(;e;){if(t.priority>e.priority){t.connect(i);break}i=e,e=e.next}t.previous||t.connect(i)}else t.connect(i);return this._startIfPossible(),this}remove(t,e){let i=this._head.next;for(;i;)i=i.match(t,e)?i.destroy():i.next;return this._head.next||this._cancelIfNeeded(),this}get count(){if(!this._head)return 0;let t=0,e=this._head;for(;e=e.next;)t++;return t}start(){this.started||(this.started=!0,this._requestIfNeeded())}stop(){this.started&&(this.started=!1,this._cancelIfNeeded())}destroy(){if(!this._protected){this.stop();let t=this._head.next;for(;t;)t=t.destroy(!0);this._head.destroy(),this._head=null}}update(e=performance.now()){let i;if(e>this.lastTime){if((i=this.elapsedMS=e-this.lastTime)>this._maxElapsedMS&&(i=this._maxElapsedMS),i*=this.speed,this._minElapsedMS){let t=e-this._lastFrame|0;if(t<this._minElapsedMS)return;this._lastFrame=e-t%this._minElapsedMS}this.deltaMS=i,this.deltaTime=this.deltaMS*t.targetFPMS;let r=this._head,s=r.next;for(;s;)s=s.emit(this);r.next||this._cancelIfNeeded()}else this.deltaTime=this.deltaMS=this.elapsedMS=0;this.lastTime=e}get FPS(){return 1e3/this.elapsedMS}get minFPS(){return 1e3/this._maxElapsedMS}set minFPS(e){let i=Math.min(Math.max(0,e)/1e3,t.targetFPMS);this._maxElapsedMS=1/i,this._minElapsedMS&&e>this.maxFPS&&(this.maxFPS=e)}get maxFPS(){return this._minElapsedMS?Math.round(1e3/this._minElapsedMS):0}
403set maxFPS(t){0===t?this._minElapsedMS=0:(t<this.minFPS&&(this.minFPS=t),this._minElapsedMS=1/(t/1e3))}static get shared(){if(!t._shared){let e=t._shared=new t;e.autoStart=!0,e._protected=!0}return t._shared}static get system(){if(!t._system){let e=t._system=new t;e.autoStart=!0,e._protected=!0}return t._system}};n.targetFPMS=.06;let a=n},68336:(t,e,i)=>{let r;function s(){if("boolean"==typeof r)return r;try{let t=Function("param1","param2","param3","return param1[param2] === param3;");r=!0===t({a:"b"},"a","b")}catch(t){r=!1}return r}i.d(e,{f:()=>s})},68951:(t,e,i)=>{i.d(e,{Ek:()=>n,lj:()=>s,t6:()=>o});let r=new Set,s="8.0.0",n="8.3.4",a={quiet:!1,noColor:!1},o=(t,e,i=3)=>{if(a.quiet||r.has(e))return;let s=Error().stack,n=`${e}
404Deprecated since v${t}`,o="function"==typeof console.groupCollapsed&&!a.noColor;void 0===s?console.warn("PixiJS Deprecation Warning: ",n):(s=s.split("\n").splice(i).join("\n"),o?(console.groupCollapsed("%cPixiJS Deprecation Warning: %c%s","color:#614108;background:#fffbe6","font-weight:normal;color:#614108;background:#fffbe6",n),console.warn(s),console.groupEnd()):(console.warn("PixiJS Deprecation Warning: ",n),console.warn(s))),r.add(e)};Object.defineProperties(o,{quiet:{get:()=>a.quiet,set:t=>{a.quiet=t},enumerable:!0,configurable:!1},noColor:{get:()=>a.noColor,set:t=>{a.noColor=t},enumerable:!0,configurable:!1}})},71230:(t,e,i)=>{i.d(e,{M:()=>ti,y:()=>J});var r=i(42434),s=i(76080),n=i(49765);function a(t,e,i,r,s){let n=e.a,a=e.b,o=e.c,l=e.d,h=e.tx,u=e.ty;i||(i=0),r||(r=2),s||(s=t.length/r-i);let d=i*r;for(let e=0;e<s;e++){let e=t[d],i=t[d+1];t[d]=n*e+o*i+h,t[d+1]=a*e+l*i+u,d+=r}}var o=i(62835),l=i(72340),h=i(2915);let u={extension:{type:r.Ag.ShapeBuilder,name:"circle"},build(t,e){let i,r,s,n,a,o;if("circle"===t.type){if((a=o=t.radius)<=0)return!1;i=t.x,r=t.y,s=n=0}else if("ellipse"===t.type){if(a=t.halfWidth,o=t.halfHeight,a<=0||o<=0)return!1;i=t.x,r=t.y,s=n=0}else{let e=t.width/2,l=t.height/2;i=t.x+e,r=t.y+l,a=o=Math.max(0,Math.min(t.radius,Math.min(e,l))),s=e-a,n=l-o}if(s<0||n<0)return!1;let l=Math.ceil(2.3*Math.sqrt(a+o)),h=8*l+4*!!s+4*!!n;if(0===h)return!1;if(0===l)return e[0]=e[6]=i+s,e[1]=e[3]=r+n,e[2]=e[4]=i-s,e[5]=e[7]=r-n,!0;let u=0,d=4*l+2*!!s+2,c=d,f=h,p=s+a,m=n,g=i+p,x=i-p,y=r+m;if(e[u++]=g,e[u++]=y,e[--d]=y,e[--d]=x,n){let t=r-m;e[c++]=x,e[c++]=t,e[--f]=t,e[--f]=g}for(let t=1;t<l;t++){let h=Math.PI/2*(t/l),p=s+Math.cos(h)*a,m=n+Math.sin(h)*o,g=i+p,x=i-p,y=r+m,_=r-m;e[u++]=g,e[u++]=y,e[--d]=y,e[--d]=x,e[c++]=x,e[c++]=_,e[--f]=_,e[--f]=g}p=s,m=n+o,g=i+p,x=i-p,y=r+m;let _=r-m;return e[u++]=g,e[u++]=y,e[--f]=_,e[--f]=g,s&&(e[u++]=x,e[u++]=y,e[--f]=_,e[--f]=x),!0},triangulate(t,e,i,r,s,n){if(0===t.length)return;let a=0,o=0;for(let e=0;e<t.length;e+=2)a+=t[e],o+=t[e+1];a/=t.length/2,o/=t.length/2;let l=r;e[l*i]=a,e[l*i+1]=o;let h=l++;for(let r=0;r<t.length;r+=2)e[l*i]=t[r],e[l*i+1]=t[r+1],r>0&&(s[n++]=l,s[n++]=h,s[n++]=l-1),l++;s[n++]=h+1,s[n++]=h,s[n++]=l-1}},d={...u,extension:{...u.extension,name:"ellipse"}},c={...u,extension:{...u.extension,name:"roundedRectangle"}};var f=i(90246),p=i(9297);let m=new Set,g=!1;function x(t,e,i=2){let r=e&&e.length,s=r?e[0]*i:t.length;m.size&&m.clear();let n=y(t,0,s,i,!0),a=[];if(!n||n.next===n.prev)return a;let o=0,l=0,h=0;if(r&&(n=function(t,e,i,r){var s;let n,a=[];for(let i=0,s=e.length;i<s;i++){let n=e[i]*r,o=i<s-1?e[i+1]*r:t.length,l=y(t,n,o,r,!1);l===l.next&&m.add(l),a.push(function(t){let e=t,i=t;do(e.x<i.x||e.x===i.x&&e.y<i.y)&&(i=e),e=e.next;while(e!==t);return i}(l))}a.sort(b),n=Math.ceil((t.length/r+2*(s=e.length))/16)+s+2,w.length<4*n&&(w=new Float64Array(4*n)),A=0,T(i,i),v=!0;for(let t=0;t<a.length;t++)i=function(t,e){let i=function(t,e){let i,r=e,s=t.x,n=t.y,a=-1/0;if(L(t,r))return r;for(let e=0,o=0;e<A;e++,o+=4){if(n<w[o+1]||n>w[o+3]||w[o]>s||w[o+2]<=a)continue;let l=M(e);r=P(e);do{if(r.prev.next===r){if(L(t,r.next))return r.next;else if(n<=r.y&&n>=r.next.y&&r.next.y!==r.y){let t=r.x+(n-r.y)*(r.next.x-r.x)/(r.next.y-r.y
404);if(t<=s&&t>a&&(a=t,i=r.x<r.next.x?r:r.next,t===s))return i}}r=r.next}while(r!==l)}if(!i)return null;let o=i.x,l=i.y,h=Math.min(n,l),u=Math.max(n,l),d=1/0;for(let e=0,p=0;e<A;e++,p+=4){if(w[p+2]<o||w[p]>s||w[p+3]<h||w[p+1]>u)continue;let m=M(e);r=P(e);do{if(r.prev.next===r&&s>=r.x&&r.x>=o&&s!==r.x&&U(n<l?s:a,n,o,l,n<l?a:s,n,r.x,r.y)){var c,f;let e=Math.abs(n-r.y)/(s-r.x);(V(r,t)||r.y===n&&r.next.y===n&&r.next.x>s)&&(e<d||e===d&&(r.x>i.x||r.x===i.x&&(c=i,f=r,0>z(c.prev,c,f.prev)&&0>z(f.next,c,c.next))))&&(i=r,d=e)}r=r.next}while(r!==m)}return i}(t,e);if(!i)return e;let r=W(i,t);return T(i,r.next.next),_(r,r.next),_(i,i.next)}(a[t],i);return v=!1,_(i)}(t,e,n,i)),t.length>80*i){o=t[0],l=t[1];let e=o,r=l;for(let n=i;n<s;n+=i){let i=t[n],s=t[n+1];i<o&&(o=i),s<l&&(l=s),i>e&&(e=i),s>r&&(r=s)}h=0!==(h=Math.max(e-o,r-l))?32767/h:0}return function t(e,i,r,s,n){n&&function(t,e,i,r){let s=t,n=0;do s.z=F(s.x,s.y,e,i,r),k[n++]=s,s=s.next;while(s!==t);!function(t){if(t<=32){for(let e=1;e<t;e++){let t=k[e],i=t.z,r=e-1;for(;r>=0&&k[r].z>i;)k[r+1]=k[r],r--;k[r+1]=t}return}R.length<t&&(R=new Uint32Array(t),E=new Uint32Array(t),I=Array(t));for(let e=0;e<t;e++)R[e]=k[e].z;O(t,k,R,I,E,0),O(t,I,E,k,R,8),O(t,k,R,I,E,16),O(t,I,E,k,R,24)}(n);let a=null;for(let t=0;t<n;t++){let e=k[t];e.prevZ=a,a&&(a.nextZ=e),a=e}a.nextZ=null}(e,r,s,n);let a=e,o=!1;for(;e.prev!==e.next;){let l=e.prev,h=e.next;if(0>z(l,e,h)&&(n?function(t,e,i,r){let s=t.prev,n=t.next,a=s.x,o=t.x,l=n.x,h=s.y,u=t.y,d=n.y,c=Math.min(a,o,l),f=Math.min(h,u,d),p=Math.max(a,o,l),m=Math.max(h,u,d),g=F(c,f,e,i,r),x=F(p,m,e,i,r),y=t.prevZ;for(;y&&y.z>=g;){if(y.x>=c&&y.x<=p&&y.y>=f&&y.y<=m&&y!==n&&(a!==y.x||h!==y.y)&&U(a,h,o,u,l,d,y.x,y.y)&&z(y.prev,y,y.next)>=0)return!1;y=y.prevZ}let _=t.nextZ;for(;_&&_.z<=x;){if(_.x>=c&&_.x<=p&&_.y>=f&&_.y<=m&&_!==n&&(a!==_.x||h!==_.y)&&U(a,h,o,u,l,d,_.x,_.y)&&z(_.prev,_,_.next)>=0)return!1;_=_.nextZ}return!0}(e,r,s,n):function(t){let e=t.prev,i=t.next,r=e.x,s=t.x,n=i.x,a=e.y,o=t.y,l=i.y,h=Math.min(r,s,n),u=Math.min(a,o,l),d=Math.max(r,s,n),c=Math.max(a,o,l),f=i.next;for(;f!==e;){if(f.x>=h&&f.x<=d&&f.y>=u&&f.y<=c&&(r!==f.x||a!==f.y)&&U(r,a,s,o,n,l,f.x,f.y)&&z(f.prev,f,f.next)>=0)return!1;f=f.next}return!0}(e))){i.push(l.i,e.i,h.i),X(e),e=h,a=h;continue}if((e=h)===a){if(g=!1,e=_(e),g){a=e;continue}if(!o){a=e=function(t,e){let i=t,r=!1;do{let s=i.prev,n=i.next.next;D(s,i,i.next,n,!1)&&V(s,n)&&V(n,s)&&(e.push(s.i,i.i,n.i),X(i),X(i.next),i=t=n,r=!0),i=i.next}while(i!==t);return r?_(i):i}(e,i),o=!0;continue}!function(e,i,r,s,n){let a=e;do{let e=a.next.next;for(;e!==a.prev;){if(a.i!==e.i&&function(t,e){let i=L(t,e)&&z(t.prev,t,t.next)>0&&z(e.prev,e,e.next)>0;return t.next.i!==e.i&&(i||V(t,e)&&V(e,t)&&(0!==z(t.prev,t,e.prev)||0!==z(t,e.prev,e)))&&!function(t,e){let i=Math.min(t.x,e.x),r=Math.max(t.x,e.x),s=Math.min(t.y,e.y),n=Math.max(t.y,e.y),a=t;do{let o=a.next;if(a.x>r&&o.x>r||a.x<i&&o.x<i||a.y>n&&o.y>n||a.y<s&&o.y<s){a=o;continue}if(a.i!==t.i&&o.i!==t.i&&a.i!==e.i&&o.i!==e.i&&D(a,o,t,e))return!0;a=o}while(a!==t);return!1}(t,e)&&(i||function(t,e){let i=t,r=!1,s=(t.x+e.x)/2,n=(t.y+e.y)/2;do{let t=i.next;i.y>n!=t.y>n&&s<(t.x-i.x)*(n-i.y)/(t.y-i.y)+i.x&&(r=!r),i=t}while(i!==t);return r}(t,e))}(a,e)){let o=W(a,e);a=_(a,a.next),o=_(o,o.next),t(a,i,r,s,n),t(o,i,r,s,n);return}e=e.next}a=a.next}while(a!==e)}(e,i,r,s,n);break}}}(n,a,o,l,h),a}function y(t,e,i,r,s){let n=null;if(s===function(t,e,i,r){let s=0;for(let n=e,a=i-r;n<i;n+=r)s+=(t[a]-t[n])*(t[n+1]+t[a+1]),a=n;return s}(t,e,i,r)>0)for(let s=e;s<i;s+=r)n=$(s/r|0,t[s],t[s+1],n);else for(let s=i-r;s>=e;s-=r)n=$(s/r|0,t[s],t[s+1],n);return n&&L(n,n.next)&&(X(n),n=n.next),n}function _(t,e=t){let i=e===t,r=t,s;do s=!1,r!==r.next&&(0===m.size||!m.has(r))&&(L(r,r.next)||0===z(r.prev,r,r.next))?((i||r===e)&&(e=r.prev),g=!0,X(r),r=r.prev,s=!0):(i||r!==e)&&(r=r.next,s=!i);while(s||r!==e);return e}let v=!1;function b(t,e){return t.x-e.x||t.y-e.y||(t.next.y-t.y)/(t.next.x-t.x)-(e.next.y-e.y)/(e.next.x-e.x)}let w=new Float64Array(0),A=0,S=[],C=[];function T(t,e){let i=t;do{let t=A++;S[t]=i;let r=1/0,s=1/0,n=-1/0,a=-1/0,o=0;do{let e=i.next;i.z=t,i.x<r&&(r=i.x),i.x>n&&(n=i.x),i.y<s&&(s=i.y),i.y>a&&(a=i.y),e.x<r&&(r=e.x),e.x>n&&(n=e.x),e.y<s&&(s=e.y),e.y>a&&(a=e.y),i=e}while(++o<16&&i!==e);C[t]=i;let l=4*t;w[l]=r,w[l+1]=s,w[l+2]=n,w[l+3]=a}while(i!==e)}function M(t){let e=C[t];for(;e.prev.next!==e;)e=e.next;return C[t]=e,e}function P(t){let e=S[t];for(;e.prev.next!==e;)e=e.next;return S[t]=e,e}let k=[],I=[],R=new Uint32Array(0),E=new Uint32Array(0),B=new Uint32Array(256);function O(t,e,i,r,s,n){B.fill(0);for(let e=0;e<t;e++)B[i[e]>>>n&255]++;let a=0;for(let t=0;t<256;t++){let e=B[t];B[t]=a,a+=e}for(let a=0;a<t;a++){let t=i[a],o=B[t>>>n&255]++;r[o]=e[a],s[o]=t}}function F(t,e,i,r,s){return(t=((t=((t=((t=((t=(t-i)*s|0)|t<<8)&0xff00ff)|t<<4)&0xf0f0f0f)|t<<2)&0x33333333)|t<<1)&0x55555555)|(e=((e=((e=((e=((e=(e-r)*s|0)|e<<8)&0xff00ff)|e<<4)&0xf0f0f0f)|e<<2)&0x33333333)|e<<1)&0x55555555)<<1}function U(t,e,i,r,s,n,a,o){return(s-a)*(e-o)>=(t-a)*(n-o)&&(t-a)*(r-o)>
404=(i-a)*(e-o)&&(i-a)*(n-o)>=(s-a)*(r-o)}function z(t,e,i){return(e.y-t.y)*(i.x-e.x)-(e.x-t.x)*(i.y-e.y)}function L(t,e){return t.x===e.x&&t.y===e.y}function D(t,e,i,r,s=!0){let n=z(t,e,i),a=z(t,e,r),o=z(i,r,t),l=z(i,r,e);return(n>0&&a<0||n<0&&a>0)&&(o>0&&l<0||o<0&&l>0)||!!s&&!!(0===n&&G(t,i,e)||0===a&&G(t,r,e)||0===o&&G(i,t,r)||0===l&&G(i,e,r))}function G(t,e,i){return e.x<=Math.max(t.x,i.x)&&e.x>=Math.min(t.x,i.x)&&e.y<=Math.max(t.y,i.y)&&e.y>=Math.min(t.y,i.y)}function V(t,e){return 0>z(t.prev,t,t.next)?z(t,e,t.next)>=0&&z(t,t.prev,e)>=0:0>z(t,e,t.prev)||0>z(t,t.next,e)}function W(t,e){let i=j(t.i,t.x,t.y),r=j(e.i,e.x,e.y),s=t.next,n=e.prev;return t.next=e,e.prev=t,i.next=s,s.prev=i,r.next=i,i.prev=r,n.next=r,r.prev=n,r}function $(t,e,i,r){let s=j(t,e,i);return r?(s.next=r.next,s.prev=r,r.next.prev=s,r.next=s):(s.prev=s,s.next=s),s}function X(t){var e,i;let r;t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ),v&&(e=t.prev,i=t.next,r=4*e.z,i.x<w[r]&&(w[r]=i.x),i.y<w[r+1]&&(w[r+1]=i.y),i.x>w[r+2]&&(w[r+2]=i.x),i.y>w[r+3]&&(w[r+3]=i.y))}function j(t,e,i){return{i:t,x:e,y:i,prev:null,next:null,z:0,prevZ:null,nextZ:null}}i(4215);let N=x.default||x;function Y(t,e,i,r,s,n,a){let o=N(t,e,2);if(!o)return;for(let t=0;t<o.length;t+=3)n[a++]=o[t]+s,n[a++]=o[t+1]+s,n[a++]=o[t+2]+s;let l=s*r;for(let e=0;e<t.length;e+=2)i[l]=t[e],i[l+1]=t[e+1],l+=r}let H=[],q={extension:{type:r.Ag.ShapeBuilder,name:"polygon"},build(t,e){for(let i=0;i<t.points.length;i++)e[i]=t.points[i];return!0},triangulate(t,e,i,r,s,n){Y(t,H,e,i,r,s,n)}},K={extension:{type:r.Ag.ShapeBuilder,name:"rectangle"},build(t,e){let i=t.x,r=t.y,s=t.width,n=t.height;return!!(s>0&&n>0)&&(e[0]=i,e[1]=r,e[2]=i+s,e[3]=r,e[4]=i+s,e[5]=r+n,e[6]=i,e[7]=r+n,!0)},triangulate(t,e,i,r,s,n){let a=0;e[(r*=i)+a]=t[0],e[r+a+1]=t[1],a+=i,e[r+a]=t[2],e[r+a+1]=t[3],a+=i,e[r+a]=t[6],e[r+a+1]=t[7],a+=i,e[r+a]=t[4],e[r+a+1]=t[5],a+=i;let o=r/i;s[n++]=o,s[n++]=o+1,s[n++]=o+2,s[n++]=o+1,s[n++]=o+3,s[n++]=o+2}},Q={extension:{type:r.Ag.ShapeBuilder,name:"triangle"},build:(t,e)=>(e[0]=t.x,e[1]=t.y,e[2]=t.x2,e[3]=t.y2,e[4]=t.x3,e[5]=t.y3,!0),triangulate(t,e,i,r,s,n){let a=0;e[(r*=i)+a]=t[0],e[r+a+1]=t[1],a+=i,e[r+a]=t[2],e[r+a+1]=t[3],a+=i,e[r+a]=t[4],e[r+a+1]=t[5];let o=r/i;s[n++]=o,s[n++]=o+1,s[n++]=o+2}};var Z=i(24308);let J={};r.XO.handleByMap(r.Ag.ShapeBuilder,J),r.XO.add(K,q,Q,u,d,c);let tt=new n.M,te=new s.u;function ti(t,e){let{geometryData:i,batches:r}=e;r.length=0,i.indices.length=0,i.vertices.length=0,i.uvs.length=0;for(let e=0;e<t.instructions.length;e++){let s=t.instructions[e];if("texture"===s.action)!function(t,e,i){let r=[],s=J.rectangle;tt.x=t.dx,tt.y=t.dy,tt.width=t.dw,tt.height=t.dh;let n=t.transform;if(!s.build(tt,r))return;let{vertices:o,uvs:u,indices:d}=i,c=d.length,f=o.length/2;n&&a(r,n),s.triangulate(r,o,2,f,d,c);let p=t.image,m=p.uvs;u.push(m.x0,m.y0,m.x1,m.y1,m.x3,m.y3,m.x2,m.y2);let g=l.Z.get(h.G);g.indexOffset=c,g.indexSize=d.length-c,g.attributeOffset=f,g.attributeSize=o.length/2-f,g.baseColor=t.style,g.alpha=t.alpha,g.texture=p,g.geometryData=i,e.push(g)}(s.data,r,i);else if("fill"===s.action||"stroke"===s.action){let t="stroke"===s.action,e=s.data.path.shapePath,n=s.data.style,a=s.data.hole;t&&a&&tr(a.shapePath,n,!0,r,i),a&&(e.shapePrimitives[e.shapePrimitives.length-1].holes=a.shapePath.shapePrimitives),tr(e,n,t,r,i)}}}function tr(t,e,i,r,s){let{vertices:n,uvs:u,indices:d}=s;t.shapePrimitives.forEach(({shape:t,transform:c,holes:m})=>{let g=[],x=J[t.type];if(!x.build(t,g))return;let y=d.length,_=n.length/2,v="triangle-list";if(c&&a(g,c),i){let i=t.closePath??!0;e.pixelLine?(!function(t,e,i,r){let s=p.B;if(0===t.length)return;let n=t[0],a=t[1],o=t[t.length-2],l=t[t.length-1],h=e||Math.abs(n-o)<s&&Math.abs(a-l)<s,u=t.length/2,d=i.length/2;for(let e=0;e<u;e++)i.push(t[2*e]),i.push(t[2*e+1]);for(let t=0;t<u-1;t++)r.push(d+t,d+t+1);h&&r.push(d+u-1,d)}(g,i,n,d),v="line-list"):(0,f.h)(g,e,!1,i,n,d)}else if(m){let t=[],e=g.slice();(function(t){let e=[];for(let i=0;i<t.length;i++){let r=t[i].shape,s=[];J[r.type].build(r,s)&&e.push(s)}return e})(m).forEach(i=>
404{t.push(e.length/2),e.push(...i)}),Y(e,t,n,2,_,d,y)}else x.triangulate(g,n,2,_,d,y);let b=u.length/2,w=e.texture;if(w!==o.g.WHITE){let i=(0,Z.Y)(te,e,t,c);!function(t,e,i,r,s,n,a,o=null){let l=0;i*=2,s*=2;let h=o.a,u=o.b,d=o.c,c=o.d,f=o.tx,p=o.ty;for(;l<a;){let e=t[i],n=t[i+1];r[s]=h*e+d*n+f,r[s+1]=u*e+c*n+p,s+=2,i+=2,l++}}(n,0,_,u,b,0,n.length/2-_,i)}else{var A=b,S=n.length/2-_;let t=0;for(A*=2;t<S;)u[A]=0,u[A+1]=0,A+=2,t++}let C=l.Z.get(h.G);C.indexOffset=y,C.indexSize=d.length-y,C.attributeOffset=_,C.attributeSize=n.length/2-_,C.baseColor=e.color,C.alpha=e.alpha,C.texture=w,C.geometryData=s,C.topology=v,r.push(C)})}},71359:(t,e,i)=>{i.d(e,{T:()=>c,w:()=>d});var r=i(93020),s=i(62835),n=i(23109),a=i(17295);function o(t){return t instanceof a.m}function l(t){return t instanceof n._}function h(t,e,i){return t.fill=e,t.color=0xffffff,t.texture=e.texture,t.matrix=e.transform,t.textureSpace=e.textureSpace,{...i,...t}}function u(t,e,i){return e.buildGradient(),t.fill=e,t.color=0xffffff,t.texture=e.texture,t.matrix=e.transform,t.textureSpace=e.textureSpace,{...i,...t}}function d(t,e){let i,n;if(null==t)return null;let a={};if(r.Q.isColorLike(t)){let i;return a.color=(i=r.Q.shared.setValue(t??0)).toNumber(),a.alpha=1===i.alpha?e.alpha:i.alpha,a.texture=s.g.WHITE,{...e,...a}}if(t instanceof s.g)return a.texture=t,{...e,...a};if(o(t))return h(a,t,e);if(l(t))return u(a,t,e);else if(t.fill&&o(t.fill))return h(t,t.fill,e);else if(t.fill&&l(t.fill))return u(t,t.fill,e);return i={...e,...t},n=r.Q.shared.setValue(i.color),i.alpha*=n.alpha,i.color=n.toNumber(),i}function c(t,e){let{width:i,alignment:r,miterLimit:s,cap:n,join:a,pixelLine:o,...l}=e,h=d(t,l);return h?{width:i,alignment:r,miterLimit:s,cap:n,join:a,pixelLine:o,...h}:null}},71541:(t,e,i)=>{i.d(e,{r:()=>u});var r=i(93020),s=i(76080),n=i(67689),a=i(62835),o=i(45325),l=i(23109),h=i(17295);function u(t,e,i,d=0,c=0,f=0){if(t.texture===a.g.WHITE&&!t.fill)return r.Q.shared.setValue(t.color).setAlpha(t.alpha??1).toHexa();if(t.fill){if(t.fill instanceof h.m){let i=t.fill,r=e.createPattern(i.texture.source.resource,"repeat");return n.k.applyPatternTransform(r,i.transform,!1),r}else if(t.fill instanceof l._){let s,n=t.fill,a="linear"===n.type,o="local"===n.textureSpace,l=1,h=1;o&&i&&(l=i.width+d,h=i.height+d);let u=!1;if(a){let{start:t,end:i}=n;s=e.createLinearGradient(t.x*l+c,t.y*h+f,i.x*l+c,i.y*h+f),u=Math.abs(i.x-t.x)<Math.abs((i.y-t.y)*.1)}else{let{center:t,innerRadius:i,outerCenter:r,outerRadius:a}=n;s=e.createRadialGradient(t.x*l+c,t.y*h+f,i*l,r.x*l+c,r.y*h+f,a*l)}if(u&&o&&i){let t=i.lineHeight/h;for(let e=0;e<i.lines.length;e++){let a=(e*i.lineHeight+d/2)/h;n.colorStops.forEach(e=>{let i=a+e.offset*t;i=Math.max(0,Math.min(1,i)),s.addColorStop(Math.floor(1e5*i)/1e5,r.Q.shared.setValue(e.color).toHex())})}}else n.colorStops.forEach(t=>{s.addColorStop(t.offset,r.Q.shared.setValue(t.color).toHex())});return s}}else{let i=e.createPattern(t.texture.source.resource,"repeat"),r=t.matrix.copyTo(s.u.shared);return r.scale(t.texture.source.pixelWidth,t.texture.source.pixelHeight),i.setTransform(r),i}return(0,o.R)("FillStyle not recognised",t),"red"}},72340:(t,e,i)=>{i.d(e,{Z:()=>a});var r=i(12506);class s{constructor(t,e){this._pool=[],this._count=0,this._index=0,this._classType=t,e&&this.prepopulate(e)}prepopulate(t){for(let e=0;e<t;e++)this._pool[this._index++]=new this._classType;this._count+=t}get(t){let e;return this._index>0?e=this._pool[--this._index]:(e=new this._classType,this._count++),e.init?.(t),e}return(t){t.reset?.(),this._pool[this._index++]=t}get totalSize(){return this._count}get totalFree(){return this._index}get totalUsed(){return this._count-this._index}clear(){if(this._pool.length>0&&this._pool[0].destroy)for(let t=0;t<this._index;t++)this._pool[t].destroy();this._pool.length=0,this._count=0,this._index=0}}class n{constructor(){this._poolsByClass=new Map}prepopulate(t,e){this.getPool(t).prepopulate(e)}get(t,e){return this.getPool(t).get(e)}return(t){this.getPool(t.constructor).return(t)}getPool(t){return this._poolsByClass.has(t)||this._poolsByClass.set(t,new s(t)),this._poolsByClass.get(t)}stats(){let t={};
404return this._poolsByClass.forEach(e=>{let i=t[e._classType.name]?e._classType.name+e._classType.ID:e._classType.name;t[i]={free:e.totalFree,used:e.totalUsed,size:e.totalSize}}),t}clear(){this._poolsByClass.forEach(t=>t.clear()),this._poolsByClass.clear()}}let a=new n;r.L.register(a)},75585:(t,e,i)=>{i.d(e,{s:()=>r});function r(t,e,i={}){for(let r in e)i[r]||void 0===e[r]||(t[r]=e[r])}},75808:(t,e,i)=>{i.d(e,{b:()=>r,m:()=>s});let r={name:"round-pixels-bit",vertex:{header:`
405            fn roundPixels(position: vec2<f32>, targetSize: vec2<f32>) -> vec2<f32>
406            {
407                return (floor(((position * 0.5 + 0.5) * targetSize) + 0.5) / targetSize) * 2.0 - 1.0;
408            }
409        `}},s={name:"round-pixels-bit",vertex:{header:`
410            vec2 roundPixels(vec2 position, vec2 targetSize)
411            {
412                return (floor(((position * 0.5 + 0.5) * targetSize) + 0.5) / targetSize) * 2.0 - 1.0;
413            }
414        `}}},75951:(t,e,i)=>{i.d(e,{mc:()=>F,u:()=>B,ig:()=>E,fR:()=>O});var r=i(4215),s=i(93020),n=i(42434),a=i(76080),o=i(9117),l=i(12853),h=i(4596),u=i(68951),d=i(45325),c=i(72340),f=i(14638),p=i(41568);class m{constructor(){this._effectClasses=[],this._tests=[],this._initialized=!1}init(){this._initialized||(this._initialized=!0,this._effectClasses.forEach(t=>{this.add({test:t.test,maskClass:t})}))}add(t){this._tests.push(t)}getMaskEffect(t){this._initialized||this.init();for(let e=0;e<this._tests.length;e++){let i=this._tests[e];if(i.test(t))return c.Z.get(i.maskClass,t)}return t}returnMaskEffect(t){c.Z.return(t)}}let g=new m;n.XO.handleByList(n.Ag.MaskEffect,g._effectClasses);var x=i(35821),y=i(78713);let _=new a.u;var v=i(4103),b=i(95194),w=i(54012);let A=new a.u;function S(t,e){return t._zIndex-e._zIndex}var C=i(89660),T=i(19629),M=i(75585);let P=new l.o(null),k=new l.o(null),I=new l.o(null,1,1),R=new l.o(null),E=1,B=2,O=4;class F extends r.A{constructor(t={}){super(),this.uid=(0,h.L)("renderable"),this._updateFlags=15,this.renderGroup=null,this.parentRenderGroup=null,this.parentRenderGroupIndex=0,this.didChange=!1,this.didViewUpdate=!1,this.relativeRenderGroupDepth=0,this.children=[],this.parent=null,this.includeInBuild=!0,this.measurable=!0,this.isSimple=!0,this.parentRenderLayer=null,this.updateTick=-1,this.localTransform=new a.u,this.relativeGroupTransform=new a.u,this.groupTransform=this.relativeGroupTransform,this.destroyed=!1,this._position=new l.o(this,0,0),this._scale=I,this._pivot=k,this._origin=R,this._skew=P,this._cx=1,this._sx=0,this._cy=0,this._sy=1,this._rotation=0,this.localColor=0xffffff,this.localAlpha=1,this.groupAlpha=1,this.groupColor=0xffffff,this.groupColorAlpha=0xffffffff,this.localBlendMode="inherit",this.groupBlendMode="normal",this.localDisplayStatus=7,this.globalDisplayStatus=7,this._didContainerChangeTick=0,this._didViewChangeTick=0,this._didLocalTransformChangeId=-1,this.effects=[],(0,M.s)(this,t,{children:!0,parent:!0,effects:!0}),t.children?.forEach(t=>this.addChild(t)),t.parent?.addChild(this)}static mixin(t){(0,u.t6)("8.8.0","Container.mixin is deprecated, please use extensions.mixin instead."),n.XO.mixin(F,t)}set _didChangeId(t){this._didViewChangeTick=t>>12&4095,this._didContainerChangeTick=4095&t}get _didChangeId(){return 4095&this._didContainerChangeTick|(4095&this._didViewChangeTick)<<12}addChild(...t){if(this.allowChildren||(0,u.t6)(u.lj,"addChild: Only Containers will be allowed to add children in v8.0.0"),t.length>1){for(let e=0;e<t.length;e++)this.addChild(t[e]);return t[0]}let e=t[0],i=this.renderGroup||this.parentRenderGroup;return e.parent===this?(this.children.splice(this.children.indexOf(e),1),this.children.push(e),i&&(i.structureDidChange=!0)):(e.parent&&e.parent.removeChild(e),this.children.push(e),this.sortableChildren&&(this.sortDirty=!0),e.parent=this,e.didChange=!0,e._updateFlags=15,i&&i.addChild(e),this.emit("childAdded",e,this,this.children.length-1),e.emit("added",this),this._didViewChangeTick++,0!==e._zIndex&&e.depthOfChildModified()),e}removeChild(...t){if(t.length>1){for(let e=0;e<t.length;e++)this.removeChild(t[e]);return t[0]}let e=t[0],i=this.children.indexOf(e);return i>-1&&(this._didViewChangeTick++,this.children.splice(i,1),this.renderGroup?this.renderGroup.removeChild(e):this.parentRenderGroup&&this.parentRenderGroup.removeChild(e),e.parentRenderLayer&&e.parentRenderLayer.detach(e),e.parent=null,this.emit
414("childRemoved",e,this,i),e.emit("removed",this)),e}_onUpdate(t){t&&t===this._skew&&this._updateSkew(),this._didContainerChangeTick++,!this.didChange&&(this.didChange=!0,this.parentRenderGroup&&this.parentRenderGroup.onChildUpdate(this))}set isRenderGroup(t){!!this.renderGroup!==t&&(t?this.enableRenderGroup():this.disableRenderGroup())}get isRenderGroup(){return!!this.renderGroup}enableRenderGroup(){if(this.renderGroup)return;let t=this.parentRenderGroup;t?.removeChild(this),this.renderGroup=c.Z.get(T.m,this),this.groupTransform=a.u.IDENTITY,t?.addChild(this),this._updateIsSimple()}disableRenderGroup(){if(!this.renderGroup)return;let t=this.parentRenderGroup;t?.removeChild(this),c.Z.return(this.renderGroup),this.renderGroup=null,this.groupTransform=this.relativeGroupTransform,t?.addChild(this),this._updateIsSimple()}_updateIsSimple(){this.isSimple=!this.renderGroup&&0===this.effects.length}get worldTransform(){return this._worldTransform||(this._worldTransform=new a.u),this.renderGroup?this._worldTransform.copyFrom(this.renderGroup.worldTransform):this.parentRenderGroup&&this._worldTransform.appendFrom(this.relativeGroupTransform,this.parentRenderGroup.worldTransform),this._worldTransform}get x(){return this._position.x}set x(t){this._position.x=t}get y(){return this._position.y}set y(t){this._position.y=t}get position(){return this._position}set position(t){this._position.copyFrom(t)}get rotation(){return this._rotation}set rotation(t){this._rotation!==t&&(this._rotation=t,this._onUpdate(this._skew))}get angle(){return this.rotation*o.bO}set angle(t){this.rotation=t*o.Td}get pivot(){return this._pivot===k&&(this._pivot=new l.o(this,0,0)),this._pivot}set pivot(t){this._pivot===k&&(this._pivot=new l.o(this,0,0),this._origin!==R&&(0,d.R)("Setting both a pivot and origin on a Container is not recommended. This can lead to unexpected behavior if not handled carefully.")),"number"==typeof t?this._pivot.set(t):this._pivot.copyFrom(t)}get skew(){return this._skew===P&&(this._skew=new l.o(this,0,0)),this._skew}set skew(t){this._skew===P&&(this._skew=new l.o(this,0,0)),this._skew.copyFrom(t)}get scale(){return this._scale===I&&(this._scale=new l.o(this,1,1)),this._scale}set scale(t){this._scale===I&&(this._scale=new l.o(this,0,0)),"string"==typeof t&&(t=parseFloat(t)),"number"==typeof t?this._scale.set(t):this._scale.copyFrom(t)}get origin(){return this._origin===R&&(this._origin=new l.o(this,0,0)),this._origin}set origin(t){this._origin===R&&(this._origin=new l.o(this,0,0),this._pivot!==k&&(0,d.R)("Setting both a pivot and origin on a Container is not recommended. This can lead to unexpected behavior if not handled carefully.")),"number"==typeof t?this._origin.set(t):this._origin.copyFrom(t)}get width(){return Math.abs(this.scale.x*this.getLocalBounds().width)}set width(t){let e=this.getLocalBounds().width;this._setWidth(t,e)}get height(){return Math.abs(this.scale.y*this.getLocalBounds().height)}set height(t){let e=this.getLocalBounds().height;this._setHeight(t,e)}getSize(t){t||(t={});let e=this.getLocalBounds();return t.width=Math.abs(this.scale.x*e.width),t.height=Math.abs(this.scale.y*e.height),t}setSize(t,e){let i=this.getLocalBounds();"object"==typeof t?(e=t.height??t.width,t=t.width):e??(e=t),void 0!==t&&this._setWidth(t,i.width),void 0!==e&&this._setHeight(e,i.height)}_updateSkew(){let t=this._rotation,e=this._skew;this._cx=Math.cos(t+e._y),this._sx=Math.sin(t+e._y),this._cy=-Math.sin(t-e._x),this._sy=Math.cos(t-e._x)}updateTransform(t){return this.position.set("number"==typeof t.x?t.x:this.position.x,"number"==typeof t.y?t.y:this.position.y),this.scale.set("number"==typeof t.scaleX?t.scaleX:this.scale.x,"number"==typeof t.scaleY?t.scaleY:this.scale.y),this.rotation="number"==typeof t.rotation?t.rotation:this.rotation,this.skew.set("number"==typeof t.skewX?t.skewX:this.skew.x,"number"==typeof t.skewY?t.skewY:this.skew.y),this.pivot.set("number"==typeof t.pivotX?t.pivotX:this.pivot.x,"number"==typeof t.pivotY?t.pivotY:this.pivot.y),this.origin.set("number"==typeof t.originX?t.originX:this.origin.x,"number"==typeof t.originY?t.originY:this.origin.y),this}setFromMatrix(t){t.decompose(this)}updateLocalTransform(){let t=this._didContainerChangeTick;if(this._didLocalTransformChangeId===t)return;this._didLocalTransformChangeId=t;let e=this.localTransform,i=this._scale,r=this._pivot,s=this._origin,n=this._position,a=i._x,o=i._y,l=r._x,h=r._y,u=-s._x,d=-s._y;e.a=this._cx*a,e.b=this._sx*a,e.c=this._cy*o,e.d=this._sy*o,e.tx=n._x-(l*e.a+h*e.c)+(u*e.a+d*e.c)-u,e.ty=n._y-(l*e.b+h*e.d)+(u*e.b+d*e.d)-d}set alpha(t){t!==this.localAlpha&&(this.localAlpha=t,this._updateFlags|=E,this._onUpdate())}get alpha(){return this.localAlpha}set tint(t){let e=s.Q.shared.setValue(t??0xffffff).toBgrNumber();e!==this.localColor&&(this.localColor=e,this._updateFlags|=E,this._onUpdate())}get tint(){return(0,v.D)(this.localColor)}
414set blendMode(t){this.localBlendMode!==t&&(this.parentRenderGroup&&(this.parentRenderGroup.structureDidChange=!0),this._updateFlags|=B,this.localBlendMode=t,this._onUpdate())}get blendMode(){return this.localBlendMode}get visible(){return!!(2&this.localDisplayStatus)}set visible(t){let e=2*!!t;(2&this.localDisplayStatus)!==e&&(this.parentRenderGroup&&(this.parentRenderGroup.structureDidChange=!0),this._updateFlags|=O,this.localDisplayStatus^=2,this._onUpdate(),this.emit("visibleChanged",t))}get culled(){return!(4&this.localDisplayStatus)}set culled(t){(4&this.localDisplayStatus)!=4*!t&&(this.parentRenderGroup&&(this.parentRenderGroup.structureDidChange=!0),this._updateFlags|=O,this.localDisplayStatus^=4,this._onUpdate())}get renderable(){return!!(1&this.localDisplayStatus)}set renderable(t){(1&this.localDisplayStatus)!=+!!t&&(this._updateFlags|=O,this.localDisplayStatus^=1,this.parentRenderGroup&&(this.parentRenderGroup.structureDidChange=!0),this._onUpdate())}get isRenderable(){return 7===this.localDisplayStatus&&this.groupAlpha>0}destroy(t=!1){let e;if(!this.destroyed){if(this.destroyed=!0,this.children.length&&(e=this.removeChildren(0,this.children.length)),this.removeFromParent(),this.parent=null,this._maskEffect=null,this._filterEffect=null,this.effects=null,this._position=null,this._scale=null,this._pivot=null,this._origin=null,this._skew=null,this.emit("destroyed",this),this.removeAllListeners(),("boolean"==typeof t?t:t?.children)&&e)for(let i=0;i<e.length;++i)e[i].destroy(t);this.renderGroup?.destroy(),this.renderGroup=null}}}n.XO.mixin(F,{allowChildren:!0,removeChildren(t=0,e){let i=e??this.children.length,r=i-t,s=[];if(r>0&&r<=i){for(let e=i-1;e>=t;e--){let t=this.children[e];t&&(s.push(t),t.parent=null)}(0,f.d)(this.children,t,i);let e=this.renderGroup||this.parentRenderGroup;e&&e.removeChildren(s);for(let t=0;t<s.length;++t){let e=s[t];e.parentRenderLayer?.detach(e),this.emit("childRemoved",e,this,t),s[t].emit("removed",this)}return s.length>0&&this._didViewChangeTick++,s}if(0===r&&0===this.children.length)return s;throw RangeError("removeChildren: numeric values are outside the acceptable range.")},removeChildAt(t){let e=this.getChildAt(t);return this.removeChild(e)},getChildAt(t){if(t<0||t>=this.children.length)throw Error(`getChildAt: Index (${t}) does not exist.`);return this.children[t]},setChildIndex(t,e){if(e<0||e>=this.children.length)throw Error(`The index ${e} supplied is out of bounds ${this.children.length}`);this.getChildIndex(t),this.addChildAt(t,e)},getChildIndex(t){let e=this.children.indexOf(t);if(-1===e)throw Error("The supplied Container must be a child of the caller");return e},addChildAt(t,e){this.allowChildren||(0,u.t6)(u.lj,"addChildAt: Only Containers will be allowed to add children in v8.0.0");let{children:i}=this;if(e<0||e>i.length)throw Error(`${t}addChildAt: The index ${e} supplied is out of bounds ${i.length}`);let r=t.parent===this;if(t.parent){let i=t.parent.children.indexOf(t);if(r){if(i===e)return t;t.parent.children.splice(i,1)}else t.removeFromParent()}e===i.length?i.push(t):i.splice(e,0,t),t.parent=this,t.didChange=!0,t._updateFlags=15;let s=this.renderGroup||this.parentRenderGroup;return s&&s.addChild(t),this.sortableChildren&&(this.sortDirty=!0),r||(this.emit
414("childAdded",t,this,e),t.emit("added",this)),t},swapChildren(t,e){if(t===e)return;let i=this.getChildIndex(t),r=this.getChildIndex(e);this.children[i]=e,this.children[r]=t;let s=this.renderGroup||this.parentRenderGroup;s&&(s.structureDidChange=!0),this._didContainerChangeTick++},removeFromParent(){this.parent?.removeChild(this)},reparentChild(...t){return 1===t.length?this.reparentChildAt(t[0],this.children.length):(t.forEach(t=>this.reparentChildAt(t,this.children.length)),t[0])},reparentChildAt(t,e){if(t.parent===this)return this.setChildIndex(t,e),t;let i=t.worldTransform.clone();t.removeFromParent(),this.addChildAt(t,e);let r=this.worldTransform.clone();return r.invert(),i.prepend(r),t.setFromMatrix(i),t},replaceChild(t,e){t.updateLocalTransform(),this.addChildAt(e,this.getChildIndex(t)),e.setFromMatrix(t.localTransform),e.updateLocalTransform(),this.removeChild(t)}},{getFastGlobalBounds(t,e){e||(e=new x.c),e.clear(),this._getGlobalBoundsRecursive(!!t,e,this.parentRenderLayer),e.isValid||e.set(0,0,0,0);let i=this.renderGroup||this.parentRenderGroup;return e.applyMatrix(i.worldTransform),e},_getGlobalBoundsRecursive(t,e,i){let r=e;if(t&&this.parentRenderLayer&&this.parentRenderLayer!==i||7!==this.localDisplayStatus||!this.measurable)return;let s=!!this.effects.length;if((this.renderGroup||s)&&(r=y.o.get().clear()),this.boundsArea)e.addRect(this.boundsArea,this.worldTransform);else{if(this.renderPipeId){let t=this.bounds;r.addFrame(t.minX,t.minY,t.maxX,t.maxY,this.groupTransform)}let e=this.children;for(let s=0;s<e.length;s++)e[s]._getGlobalBoundsRecursive(t,r,i)}if(s){let t=!1,i=this.renderGroup||this.parentRenderGroup;for(let e=0;e<this.effects.length;e++)this.effects[e].addBounds&&(t||(t=!0,r.applyMatrix(i.worldTransform)),this.effects[e].addBounds(r,!0));t&&r.applyMatrix(i.worldTransform.copyTo(_).invert()),e.addBounds(r),y.o.return(r)}else this.renderGroup&&(e.addBounds(r,this.relativeGroupTransform),y.o.return(r))}},{getGlobalPosition(t=new C.b,e=!1){return this.parent?this.parent.toGlobal(this._position,t,e):(t.x=this._position.x,t.y=this._position.y),t},toGlobal(t,e,i=!1){let r=this.getGlobalTransform(y.u.get(),i);return e=r.apply(t,e),y.u.return(r),e},toLocal(t,e,i,r){e&&(t=e.toGlobal(t,i,r));let s=this.getGlobalTransform(y.u.get(),r);return i=s.applyInverse(t,i),y.u.return(s),i}},{_onRender:null,set onRender(func){let t=this.renderGroup||this.parentRenderGroup;if(!func){this._onRender&&t?.removeOnRender(this),this._onRender=null;return}this._onRender||t?.addOnRender(this),this._onRender=func},get onRender(){return this._onRender}},{_localBoundsCacheId:-1,_localBoundsCacheData:null,_setWidth(t,e){let i=Math.sign(this.scale.x)||1;0!==e?this.scale.x=t/e*i:this.scale.x=i},_setHeight(t,e){let i=Math.sign(this.scale.y)||1;0!==e?this.scale.y=t/e*i:this.scale.y=i},getLocalBounds(){this._localBoundsCacheData||(this._localBoundsCacheData={data:[],index:1,didChange:!1,localBounds:new x.c});let t=this._localBoundsCacheData;return t.index=1,t.didChange=!1,t.data[0]!==this._didViewChangeTick&&(t.didChange=!0,t.data[0]=this._didViewChangeTick),!function t(e,i){let r=e.children;for(let e=0;e<r.length;e++){let s=r[e],n=s.uid,a=(65535&s._didViewChangeTick)<<16|65535&s._didContainerChangeTick,o=i.index;(i.data[o]!==n||i.data[o+1]!==a)&&(i.data[i.index]=n,i.data[i.index+1]=a,i.didChange=!0),i.index=o+2,s.children.length&&t(s,i)}return i.didChange}(this,t),t.didChange&&(0,w.n)(this,t.localBounds,A),t.localBounds},getBounds(t,e){return(0,b.f)(this,t,e||new x.c)}},{_maskEffect:null,_maskOptions:{inverse:!1,channel:"red"},_filterEffect:null,effects:[],_markStructureAsChanged(){let t=this.renderGroup||this.parentRenderGroup;t&&(t.structureDidChange=!0)},addEffect(t){-1===this.effects.indexOf(t)&&(this.effects.push(t),this.effects.sort((t,e)=>t.priority-e.priority),this._markStructureAsChanged(),this._updateIsSimple())},removeEffect(t){let e=this.effects.indexOf(t);-1!==e&&(this.effects.splice(e,1),this._markStructureAsChanged(),this._updateIsSimple())},set mask(value){let t=this._maskEffect;if(t?.mask===value||(t&&(this.removeEffect(t),g.returnMaskEffect(t),this._maskEffect=null),null==value))return;this._maskEffect=g.getMaskEffect(value),this.addEffect(this._maskEffect)},get mask(){return this._maskEffect?.mask},setMask(t){this._maskOptions={...this._maskOptions,...t},t.mask&&(this.mask=t.mask),this._markStructureAsChanged()},set filters(value){!Array.isArray(value)&&value&&(value=[value]);let t=this._filterEffect||(this._filterEffect=new p.a),e=value?.length>0,i=t.filters?.length>0;t.filters=Object.freeze(value=Array.isArray(value)?value.slice(0):value),e!==i&&(e?this.addEffect(t):(this.removeEffect(t),t.filters=value??null))},get filters(){return this._filterEffect?.filters},set filterArea(value){this._filterEffect||(this._filterEffect=new p.a),this._filterEffect.filterArea=value},get filterArea(){return this._filterEffect?.filterArea}},{label:null,get name(){return(0,u.t6)(u.lj,"Container.name property has been removed, use Container.label instead"),this.label},set name(value){(0,u.t6)(u.lj,"Container.name property has been removed, use Container.label instead"),this.label=value},getChildByName(t,e=!1){return this.getChildByLabel(t,e)},getChildByLabel(t,e=!1){let i=this.children;for(let e=0;e<i.length;e++){let r=i[e];if(r.label===t||t instanceof RegExp&&t.test(r.label))return r}if(e)for(let e=0;e<i.length;e++){let r=i[e].getChildByLabel(t,!0);if(r)return r}return null},getChildrenByLabel(t,e=!1,i=[]){let r=this.children;for(let e=0;e<r.length;e++){let s=r[e];(s.label===t||t instanceof RegExp&&t.test(s.label))&&i.push(s)}if(e)for(let e=0;e<r.length;e++)r[e].getChildrenByLabel(t,!0,i);return i}},{_zIndex:0,sortDirty:!1,sortableChildren:!1,get zIndex(){return this._zIndex},set zIndex(value){if(this._zIndex===value)return;this._zIndex=value,this.depthOfChildModified()},depthOfChildModified(){this.parent&&(this.parent.sortableChildren=!0,this.parent.sortDirty=!0),this.parentRenderGroup&&(this.parentRenderGroup.structureDidChange=!0)},sortChildren(){this.sortDirty&&(this.sortDirty=!1,this.children.sort(S))}}
414,{cullArea:null,cullable:!1,cullableChildren:!0},{get isCachedAsTexture(){return!!this.renderGroup?.isCachedAsTexture},cacheAsTexture(t){"boolean"==typeof t&&!1===t?this.disableRenderGroup():(this.enableRenderGroup(),this.renderGroup.enableCacheAsTexture(!0===t?{}:t))},updateCacheTexture(){this.renderGroup?.updateCacheTexture()},get cacheAsBitmap(){return this.isCachedAsTexture},set cacheAsBitmap(val){(0,u.t6)("v8.6.0","cacheAsBitmap is deprecated, use cacheAsTexture instead."),this.cacheAsTexture(val)}},v.R,{collectRenderables(t,e,i){this.parentRenderLayer&&this.parentRenderLayer!==i||this.globalDisplayStatus<7||!this.includeInBuild||(this.sortableChildren&&this.sortChildren(),this.isSimple?this.collectRenderablesSimple(t,e,i):this.renderGroup?e.renderPipes.renderGroup.addRenderGroup(this.renderGroup,t):this.collectRenderablesWithEffects(t,e,i))},collectRenderablesSimple(t,e,i){let r=this.children,s=r.length;for(let n=0;n<s;n++)r[n].collectRenderables(t,e,i)},collectRenderablesWithEffects(t,e,i){let{renderPipes:r}=e;for(let e=0;e<this.effects.length;e++){let i=this.effects[e];r[i.pipe].push(i,this,t)}this.collectRenderablesSimple(t,e,i);for(let e=this.effects.length-1;e>=0;e--){let i=this.effects[e];r[i.pipe].pop(i,this,t)}}})},76080:(t,e,i)=>{i.d(e,{u:()=>n});var r=i(9117),s=i(89660);class n{constructor(t=1,e=0,i=0,r=1,s=0,n=0){this.array=null,this.a=t,this.b=e,this.c=i,this.d=r,this.tx=s,this.ty=n}fromArray(t){this.a=t[0],this.b=t[1],this.c=t[3],this.d=t[4],this.tx=t[2],this.ty=t[5]}set(t,e,i,r,s,n){return this.a=t,this.b=e,this.c=i,this.d=r,this.tx=s,this.ty=n,this}toArray(t,e){this.array||(this.array=new Float32Array(9));let i=e||this.array;return t?(i[0]=this.a,i[1]=this.b,i[2]=0,i[3]=this.c,i[4]=this.d,i[5]=0,i[6]=this.tx,i[7]=this.ty):(i[0]=this.a,i[1]=this.c,i[2]=this.tx,i[3]=this.b,i[4]=this.d,i[5]=this.ty,i[6]=0,i[7]=0),i[8]=1,i}apply(t,e){e=e||new s.b;let i=t.x,r=t.y;return e.x=this.a*i+this.c*r+this.tx,e.y=this.b*i+this.d*r+this.ty,e}applyInverse(t,e){e=e||new s.b;let i=this.a,r=this.b,n=this.c,a=this.d,o=this.tx,l=this.ty,h=1/(i*a+-(n*r)),u=t.x,d=t.y;return e.x=a*h*u+-n*h*d+(l*n-o*a)*h,e.y=i*h*d+-r*h*u+(-l*i+o*r)*h,e}translate(t,e){return this.tx+=t,this.ty+=e,this}scale(t,e){return this.a*=t,this.d*=e,this.c*=t,this.b*=e,this.tx*=t,this.ty*=e,this}rotate(t){let e=Math.cos(t),i=Math.sin(t),r=this.a,s=this.c,n=this.tx;return this.a=r*e-this.b*i,this.b=r*i+this.b*e,this.c=s*e-this.d*i,this.d=s*i+this.d*e,this.tx=n*e-this.ty*i,this.ty=n*i+this.ty*e,this}append(t){let e=this.a,i=this.b,r=this.c,s=this.d;return this.a=t.a*e+t.b*r,this.b=t.a*i+t.b*s,this.c=t.c*e+t.d*r,this.d=t.c*i+t.d*s,this.tx=t.tx*e+t.ty*r+this.tx,this.ty=t.tx*i+t.ty*s+this.ty,this}appendFrom(t,e){let i=t.a,r=t.b,s=t.c,n=t.d,a=t.tx,o=t.ty,l=e.a,h=e.b,u=e.c,d=e.d;return this.a=i*l+r*u,this.b=i*h+r*d,this.c=s*l+n*u,this.d=s*h+n*d,this.tx=a*l+o*u+e.tx,this.ty=a*h+o*d+e.ty,this}setTransform(t,e,i,r,s,n,a,o,l){return this.a=Math.cos(a+l)*s,this.b=Math.sin(a+l)*s,this.c=-Math.sin(a-o)*n,this.d=Math.cos(a-o)*n,this.tx=t-(i*this.a+r*this.c),this.ty=e-(i*this.b+r*this.d),this}prepend(t){let e=this.tx;if(1!==t.a||0!==t.b||0!==t.c||1!==t.d){let e=this.a,i=this.c;this.a=e*t.a+this.b*t.c,this.b=e*t.b+this.b*t.d,this.c=i*t.a+this.d*t.c,this.d=i*t.b+this.d*t.d}return this.tx=e*t.a+this.ty*t.c+t.tx,this.ty=e*t.b+this.ty*t.d+t.ty,this}decompose(t){let e=this.a,i=this.b,s=this.c,n=this.d,a=t.pivot,o=-Math.atan2(-s,n),l=Math.atan2(i,e),h=Math.abs(o+l);return h<1e-5||1e-5>Math.abs(r.TO-h)?(t.rotation=l,t.skew.x=t.skew.y=0):(t.rotation=0,t.skew.x=o,t.skew.y=l),t.scale.x=Math.sqrt(e*e+i*i),t.scale.y=Math.sqrt(s*s+n*n),t.position.x=this.tx+(a.x*e+a.y*s),t.position.y=this.ty+(a.x*i+a.y*n),t}invert(){let t=this.a,e=this.b,i=this.c,r=this.d,s=this.tx,n=t*r-e*i;return this.a=r/n,this.b=-e/n,this.c=-i/n,this.d=t/n,this.tx=(i*this.ty-r*s)/n,this.ty=-(t*this.ty-e*s)/n,this}isIdentity(){return 1===this.a&&0===this.b&&0===this.c&&1===this.d&&0===this.tx&&0===this.ty}identity(){return this.a=1,this.b=0,this.c=0,this.d=1,this.tx=0,this.ty=0,this}clone(){let t=new n;return t.a=this.a,t.b=this.b,t.c=this.c,t.d=this.d,t.tx=this.tx,t.ty=this.ty,t}copyTo(t){return t.a=this.a,t.b=this.b,t.c=this.c,t.d=this.d,t.tx=this.tx,t.ty=this.ty,t}copyFrom(t){return this.a=t.a,this.b=t.b,this.c=t.c,this.d=t.d,this.tx=t.tx,this.ty=t.ty,this}equals(t){return t.a===this.a&&t.b===this.b&&t.c===this.c&&t.d===this.d&&t.tx===this.tx&&t.ty===this.ty}toString(){return`[pixi.js:Matrix a=${this.a} b=${this.b} c=${this.c} d=${this.d} tx=${this.tx} ty=${this.ty}]`}static get IDENTITY(){return o.identity()}static get shared(){return a.identity()}}let a=new n,o=new n},78305:(t,e,i)=>{i.d(e,{u:()=>r});function r(t,e){if(0===t)throw Error("Invalid value of `0` passed to `checkMaxIfStatementsInShader`");let i=e.createShader(e.FRAGMENT_SHADER);try{for(;;){let r="precision mediump float;\nvoid main(void){\nfloat test = 0.1;\n%forloop%\ngl_FragColor = vec4(0.0);\n}".replace(/%forloop%/gi,function(t){let e="";for(let i=0;i<t;++i)i>0&&(e+="\nelse "),i<t-1&&(e+=`if(test == ${i}.0){}`);return e}(t));if(e.shaderSource(i,r),e.compileShader(i),e.getShaderParameter(i,e.COMPILE_STATUS))break;t=t/2|0}}finally{e.deleteShader(i)}return t}},78713:(t,e,i)=>{i.d(e,{o:()=>o,u:()=>a});var r=i(76080),s=i(72340),n=i(35821);let a=s.Z.getPool(r.u),o=s.Z.getPool(n.c)},79324:(t,e,i)=>{i.d(e,{T:()=>s});var r,s=((r=s||{})[r.Low=0]="Low",r[r.Normal=1]="Normal",r[r.High=2]="High",r)},80094:(t,e,i)=>{i.d(e,{A:()=>a});var r=i(82557);function s(t){if("string"!=typeof t)throw TypeError(`Path must be a string. Received ${JSON.stringify(t)}`)}function n(t){return t.split("?")[0].split("#")[0]}let a={toPosix:t=>{var e,i;return e=0,i=0,t.replace(RegExp("\\".replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),"g"),"/")},isUrl(t){return/^https?:/.test(this.toPosix(t))},isDataUrl:t=>/^data:([a-z]+\/[a-z0-9-+.]+(;[a-z0-9-.!#$%*+.{}|~`]+=[a-z0-9-.!#$%*+.{}()_|~`]+)*)?(;base64)?,([a-z0-9!$&',()*+;=\-._~:@\/?%\s<>]*?)$/i.test(t),isBlobUrl:t=>
414t.startsWith("blob:"),hasProtocol(t){return/^[^/:]+:/.test(this.toPosix(t))},getProtocol(t){s(t),t=this.toPosix(t);let e=/^file:\/\/\//.exec(t);if(e)return e[0];let i=/^[^/:]+:\/{0,2}/.exec(t);return i?i[0]:""},toAbsolute(t,e,i){if(s(t),this.isDataUrl(t)||this.isBlobUrl(t))return t;let o=n(this.toPosix(e??r.e.get().getBaseUrl())),l=n(this.toPosix(i??this.rootname(o)));return(t=this.toPosix(t)).startsWith("/")?a.join(l,t.slice(1)):this.isAbsolute(t)?t:this.join(o,t)},normalize(t){if(s(t),0===t.length)return".";if(this.isDataUrl(t)||this.isBlobUrl(t))return t;t=this.toPosix(t);let e="",i=t.startsWith("/");this.hasProtocol(t)&&(e=this.rootname(t),t=t.slice(e.length));let r=t.endsWith("/");return((t=function(t,e){let i="",r=0,s=-1,n=0,a=-1;for(let o=0;o<=t.length;++o){if(o<t.length)a=t.charCodeAt(o);else if(47===a)break;else a=47;if(47===a){if(s===o-1||1===n);else if(s!==o-1&&2===n){if(i.length<2||2!==r||46!==i.charCodeAt(i.length-1)||46!==i.charCodeAt(i.length-2)){if(i.length>2){let t=i.lastIndexOf("/");if(t!==i.length-1){-1===t?(i="",r=0):r=(i=i.slice(0,t)).length-1-i.lastIndexOf("/"),s=o,n=0;continue}}else if(2===i.length||1===i.length){i="",r=0,s=o,n=0;continue}}e&&(i.length>0?i+="/..":i="..",r=2)}else i.length>0?i+=`/${t.slice(s+1,o)}`:i=t.slice(s+1,o),r=o-s-1;s=o,n=0}else 46===a&&-1!==n?++n:n=-1}return i}(t,!1)).length>0&&r&&(t+="/"),i)?`/${t}`:e+t},isAbsolute(t){return s(t),t=this.toPosix(t),!!this.hasProtocol(t)||t.startsWith("/")},join(...t){let e;if(0===t.length)return".";for(let i=0;i<t.length;++i){let r=t[i];if(s(r),r.length>0)if(void 0===e)e=r;else{let s=t[i-1]??"";this.joinExtensions.includes(this.extname(s).toLowerCase())?e+=`/../${r}`:e+=`/${r}`}}return void 0===e?".":this.normalize(e)},dirname(t){if(s(t),0===t.length)return".";let e=(t=this.toPosix(t)).charCodeAt(0),i=47===e,r=-1,n=!0,a=this.getProtocol(t),o=t;t=t.slice(a.length);for(let i=t.length-1;i>=1;--i)if(47===(e=t.charCodeAt(i))){if(!n){r=i;break}}else n=!1;return -1===r?i?"/":this.isUrl(o)?a+t:a:i&&1===r?"//":a+t.slice(0,r)},rootname(t){s(t);let e="";if(e=(t=this.toPosix(t)).startsWith("/")?"/":this.getProtocol(t),this.isUrl(t)){let i=t.indexOf("/",e.length);(e=-1!==i?t.slice(0,i):t).endsWith("/")||(e+="/")}return e},basename(t,e){let i;s(t),e&&s(e),t=n(this.toPosix(t));let r=0,a=-1,o=!0;if(void 0!==e&&e.length>0&&e.length<=t.length){if(e.length===t.length&&e===t)return"";let s=e.length-1,n=-1;for(i=t.length-1;i>=0;--i){let l=t.charCodeAt(i);if(47===l){if(!o){r=i+1;break}}else -1===n&&(o=!1,n=i+1),s>=0&&(l===e.charCodeAt(s)?-1==--s&&(a=i):(s=-1,a=n))}return r===a?a=n:-1===a&&(a=t.length),t.slice(r,a)}for(i=t.length-1;i>=0;--i)if(47===t.charCodeAt(i)){if(!o){r=i+1;break}}else -1===a&&(o=!1,a=i+1);return -1===a?"":t.slice(r,a)},extname(t){s(t),t=n(this.toPosix(t));let e=-1,i=0,r=-1,a=!0,o=0;for(let s=t.length-1;s>=0;--s){let n=t.charCodeAt(s);if(47===n){if(!a){i=s+1;break}continue}-1===r&&(a=!1,r=s+1),46===n?-1===e?e=s:1!==o&&(o=1):-1!==e&&(o=-1)}return -1===e||-1===r||0===o||1===o&&e===r-1&&e===i+1?"":t.slice(e,r)},parse(t){let e;s(t);let i={root:"",dir:"",base:"",ext:"",name:""};if(0===t.length)return i;let r=(t=n(this.toPosix(t))).charCodeAt(0),a=this.isAbsolute(t);i.root=this.rootname(t),e=a||this.hasProtocol(t)?1:0;let o=-1,l=0,h=-1,u=!0,d=t.length-1,c=0;for(;d>=e;--d){if(47===(r=t.charCodeAt(d))){if(!u){l=d+1;break}continue}-1===h&&(u=!1,h=d+1),46===r?-1===o?o=d:1!==c&&(c=1):-1!==o&&(c=-1)}return -1===o||-1===h||0===c||1===c&&o===h-1&&o===l+1?-1!==h&&(0===l&&a?i.base=i.name=t.slice(1,h):i.base=i.name=t.slice(l,h)):(0===l&&a?(i.name=t.slice(1,o),i.base=t.slice(1,h)):(i.name=t.slice(l,o),i.base=t.slice(l,h)),i.ext=t.slice(o,h)),i.dir=this.dirname(t),i},sep:"/",delimiter:":",joinExtensions:[".html"]}},81601:(t,e,i)=>{var r=i(42434),s=i(96213),n=i(35821),a=i(95194);let o=new n.c;function l(t,e,i){t.measurable=!0,(0,a.f)(t,i,o),e.addBoundsMask(o),t.measurable=!1}var h=i(54012),u=i(78713),d=i(45325);function c(t,e,i){let r=u.o.get();t.measurable=!0;let s=u.u.get().identity(),n=function t(e,i,r){return e?e!==i&&(t(e.parent,i,r),e.updateLocalTransform(),r.append(e.localTransform)):(0,d.R)("Mask bounds, renderable is not inside the root container"),r}(t,i,s);(0,h.n)(t,r,n),t.measurable=!1,e.addBoundsMask(r),u.u.return(s),u.o.return(r)}class f{constructor(t){this.priority=0,this.inverse=!1,this.channel="red",this.pipe="alphaMask",t?.mask&&this.init(t.mask)}init(t){this.mask=t,this.renderMaskToTexture=!(t instanceof s.k),this.mask.renderable=this.renderMaskToTexture,this.mask.includeInBuild=!this.renderMaskToTexture,this.mask.measurable=!1}reset(){null!==this.mask&&(this.mask.measurable=!0,this.mask=null)}addBounds(t,e){this.inverse||l(this.mask,t,e)}addLocalBounds(t,e){c(this.mask,t,e)}containsPoint(t,e){return e(this.mask,t)}destroy(){this.reset()}static test(t){return t instanceof s.k}}f.extension=r.Ag.MaskEffect;class p{constructor(t){this.priority=0,this.pipe="colorMask",t?.mask&&this.init(t.mask)}init(t){this.mask=t}destroy(){}static test(t){return"number"==typeof t}}p.extension=r.Ag.MaskEffect;var m=i(75951);class g{constructor(t){this.priority=0,this.pipe="stencilMask",t?.mask&&this.init(t.mask)}init(t){this.mask=t,this.mask.includeInBuild=!1,this.mask.measurable=!1}reset(){null!==this.mask&&(this.mask.measurable=!0,this.mask.includeInBuild=!0,this.mask=null)}addBounds(t,e){l(this.mask,t,e)}addLocalBounds(t,e){c(this.mask,t,e)}containsPoint(t,e){return e(this.mask,t)}destroy(){this.reset()}static test(t){return t instanceof m.mc}}g.extension=r.Ag.MaskEffect;var x=i(12954),y=i(38477),_=i(32572),v=i(88186);i(15476),r.XO.add(f,p,g,v.$,_.b,y.q,x.P)},82557:(t,e,i)=>{i.d(e,{e:()=>s});let r={createCanvas:(t,e)=>{let i=document.createElement("canvas");return i.width=t,i.height=e,i},createImage:()=>new Image,getCanvasRenderingContext2D:()=>CanvasRenderingContext2D,getWebGLRenderingContext:()=>WebGLRenderingContext,getNavigator:()=>navigator,getBaseUrl:()=>document.baseURI??window.location.href,getFontFaceSet:()=>document.fonts,fetch:(t,e)=>fetch(t,e),parseXML:t=>new DOMParser().parseFromString(t,"text/xml")},s={get:()=>r,set(t){r=t}}},82863:(t,e,i)=>{i.d(e,{z:()=>r});let r=(t,e,i=!1)=>(Array.isArray(t)||(t=[t]),e)?t.map(t=>"string"==typeof t||i?e(t):t):t},84339:(t,e,i)=>{i.d(e,{Z:()=>s});let r=["serif","sans-serif","monospace","cursive","fantasy","system-ui"];function s(t){let e="number"==typeof t.fontSize?`${t.fontSize}px`:t.fontSize,i=t.fontFamily;Array.isArray(t.fontFamily)||(i=t.fontFamily.split(","));for(let t=i.length-1;t>=0;t--){let e=i[t].trim();/([\"\'])[^\'\"]+\1/.test(e)||r.includes(e)||(e=`"${e}"`),i[t]=e}return`${t.fontStyle} ${t.fontVariant} ${t.fontWeight} ${e} ${i.join(",")}`}}
414,85336:(t,e,i)=>{i.d(e,{k:()=>l});var r=i(4596),s=i(14641);let n=["f32","i32","vec2<f32>","vec3<f32>","vec4<f32>","mat2x2<f32>","mat3x3<f32>","mat4x4<f32>","mat3x2<f32>","mat4x2<f32>","mat2x3<f32>","mat4x3<f32>","mat2x4<f32>","mat3x4<f32>","vec2<i32>","vec3<i32>","vec4<i32>"],a=n.reduce((t,e)=>(t[e]=!0,t),{}),o=class t{constructor(e,i){this._touched=0,this.uid=(0,r.L)("uniform"),this._resourceType="uniformGroup",this._resourceId=(0,r.L)("resource"),this.isUniformGroup=!0,this._dirtyId=0,this.destroyed=!1,i={...t.defaultOptions,...i},this.uniformStructures=e;const o={};for(const t in e){const i=e[t];if(i.name=t,i.size=i.size??1,!a[i.type]){const t=i.type.match(/^array<(\w+(?:<\w+>)?),\s*(\d+)>$/);if(t){const[,e,r]=t;throw Error(`Uniform type ${i.type} is not supported. Use type: '${e}', size: ${r} instead.`)}throw Error(`Uniform type ${i.type} is not supported. Supported uniform types are: ${n.join(", ")}`)}i.value??(i.value=function(t,e){switch(t){case"f32":return 0;case"vec2<f32>":return new Float32Array(2*e);case"vec3<f32>":return new Float32Array(3*e);case"vec4<f32>":return new Float32Array(4*e);case"mat2x2<f32>":return new Float32Array([1,0,0,1]);case"mat3x3<f32>":return new Float32Array([1,0,0,0,1,0,0,0,1]);case"mat4x4<f32>":return new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1])}return null}(i.type,i.size)),o[t]=i.value}this.uniforms=o,this._dirtyId=1,this.ubo=i.ubo,this.isStatic=i.isStatic,this._signature=(0,s.X)(Object.keys(o).map(t=>`${t}-${e[t].type}`).join("-"),"uniform-group")}update(){this._dirtyId++}};o.defaultOptions={ubo:!1,isStatic:!1};let l=o},85874:(t,e,i)=>{i.d(e,{l:()=>a});var r=i(45325),s=i(82863);class n{constructor(){this._parsers=[],this._cache=new Map,this._cacheMap=new Map}reset(){this._cacheMap.clear(),this._cache.clear()}has(t){return this._cache.has(t)}get(t){let e=this._cache.get(t);return e||(0,r.R)(`[Assets] Asset id ${t} was not found in the Cache`),e}set(t,e){let i,n=(0,s.z)(t);for(let t=0;t<this.parsers.length;t++){let r=this.parsers[t];if(r.test(e)){i=r.getCacheableAssets(n,e);break}}let a=new Map(Object.entries(i||{}));i||n.forEach(t=>{a.set(t,e)});let o=[...a.keys()],l={cacheKeys:o,keys:n};n.forEach(t=>{this._cacheMap.set(t,l)}),o.forEach(t=>{let s=i?i[t]:e;this._cache.has(t)&&this._cache.get(t)!==s&&(0,r.R)("[Cache] already has key:",t),this._cache.set(t,a.get(t))})}remove(t){if(!this._cacheMap.has(t))return void(0,r.R)(`[Assets] Asset id ${t} was not found in the Cache`);let e=this._cacheMap.get(t);e.cacheKeys.forEach(t=>{this._cache.delete(t)}),e.keys.forEach(t=>{this._cacheMap.delete(t)})}get parsers(){return this._parsers}}let a=new n},87821:(t,e,i)=>{i.d(e,{A:()=>v});var r=i(68951),s=i(15728),n=i(1119),a=i(42434),o=i(64897),l=i(60079);class h{constructor(){this.isBatchable=!1}reset(){this.isBatchable=!1,this.context=null,this.graphicsData&&(this.graphicsData.destroy(),this.graphicsData=null)}destroy(){this.reset()}}class u{constructor(){this.instructions=new o.L}init(){this.instructions.reset()}destroy(){this.instructions.destroy(),this.instructions=null}}let d=class t{constructor(t){this._renderer=t,this._managedContexts=new l.s({renderer:t,type:"resource",name:"graphicsContext"})}init(e){t.defaultOptions.bezierSmoothness=e?.bezierSmoothness??t.defaultOptions.bezierSmoothness}getContextRenderData(t){return this.getGpuContext(t).graphicsData||this._initContextRenderData(t)}updateGpuContext(t){let e=t._gpuData,i=!!e[this._renderer.uid],r=e[this._renderer.uid]||this._initContext(t);return(t.dirty||!i)&&(i&&r.reset(),r.isBatchable=!1,t.dirty=!1),r}getGpuContext(t){return t._gpuData[this._renderer.uid]||this._initContext(t)}_initContextRenderData(t){let e=new u;return this.getGpuContext(t).graphicsData=e,e.init(),e}_initContext(t){let e=new h;return e.context=t,t._gpuData[this._renderer.uid]=e,this._managedContexts.add(t),e}destroy(){this._managedContexts.destroy(),this._renderer=null}};d.extension={type:[a.Ag.CanvasSystem],name:"graphicsContext"},d.defaultOptions={bezierSmoothness:.5};var c=i(41546);class f{constructor(t,e){this.state=c.U.for2d(),this.renderer=t,this._adaptor=e,this.renderer.runners.contextChange.add(this),this._managedGraphics=new l.s({renderer:t,type:"renderable",priority:-1,name:"graphics"})}contextChange(){this._adaptor.contextChange(this.renderer)}validateRenderable(t){return!1}
414addRenderable(t,e){this._managedGraphics.add(t),this.renderer.renderPipes.batch.break(e),e.add(t)}updateRenderable(t){}execute(t){t.isRenderable&&this._adaptor.execute(this,t)}destroy(){this._managedGraphics.destroy(),this.renderer=null,this._adaptor.destroy(),this._adaptor=null}}f.extension={type:[a.Ag.CanvasPipes],name:"graphics"};var p=i(22939),m=i(72340),g=i(67857),x=i(2915);class y{constructor(){this.batches=[],this.batched=!1}destroy(){this.batches.forEach(t=>{m.Z.return(t)}),this.batches.length=0}}class _{constructor(t,e){this.state=c.U.for2d(),this.renderer=t,this._adaptor=e,this.renderer.runners.contextChange.add(this),this._managedGraphics=new l.s({renderer:t,type:"renderable",priority:-1,name:"graphics"})}contextChange(){this._adaptor.contextChange(this.renderer)}validateRenderable(t){let e=t.context,i=!!t._gpuData,r=this.renderer.graphicsContext.updateGpuContext(e);return!!r.isBatchable||i!==r.isBatchable}addRenderable(t,e){let i=this.renderer.graphicsContext.updateGpuContext(t.context);t.didViewUpdate&&this._rebuild(t),i.isBatchable?this._addToBatcher(t,e):(this.renderer.renderPipes.batch.break(e),e.add(t))}updateRenderable(t){let e=this._getGpuDataForRenderable(t).batches;for(let t=0;t<e.length;t++){let i=e[t];i._batcher.updateElement(i)}}execute(t){if(!t.isRenderable)return;let e=this.renderer,i=t.context;if(!e.graphicsContext.getGpuContext(i).batches.length)return;let r=i.customShader||this._adaptor.shader;this.state.blendMode=t.groupBlendMode;let s=r.resources.localUniforms.uniforms;s.uTransformMatrix=t.groupTransform,s.uRound=e._roundPixels|t._roundPixels,(0,g.V)(t.groupColorAlpha,s.uColor,0),this._adaptor.execute(this,t)}_rebuild(t){let e=this._getGpuDataForRenderable(t),i=this.renderer.graphicsContext.updateGpuContext(t.context);e.destroy(),i.isBatchable&&this._updateBatchesForRenderable(t,e)}_addToBatcher(t,e){let i=this.renderer.renderPipes.batch,r=this._getGpuDataForRenderable(t).batches;for(let t=0;t<r.length;t++){let s=r[t];i.addToBatch(s,e)}}_getGpuDataForRenderable(t){return t._gpuData[this.renderer.uid]||this._initGpuDataForRenderable(t)}_initGpuDataForRenderable(t){let e=new y;return t._gpuData[this.renderer.uid]=e,this._managedGraphics.add(t),e}_updateBatchesForRenderable(t,e){let i=t.context,r=this.renderer.graphicsContext.getGpuContext(i),s=this.renderer._roundPixels|t._roundPixels;e.batches=r.batches.map(e=>{let i=m.Z.get(x.G);return e.copyTo(i),i.renderable=t,i.roundPixels=s,i})}destroy(){this._managedGraphics.destroy(),this.renderer=null,this._adaptor.de
414stroy(),this._adaptor=null,this.state=null}}_.extension={type:[a.Ag.WebGLPipes,a.Ag.WebGPUPipes],name:"graphics"},a.XO.add(f),a.XO.add(_),a.XO.add(d),a.XO.add(p.GH);class v extends s.l{constructor(t){t instanceof n.T&&(t={context:t});const{context:e,roundPixels:i,...r}=t||{};super({label:"Graphics",...r}),this.renderPipeId="graphics",e?this.context=e:(this.context=this._ownedContext=new n.T,this.context.autoGarbageCollect=this.autoGarbageCollect),this.didViewUpdate=!0,this.allowChildren=!1,this.roundPixels=i??!1}set context(t){t!==this._context&&(this._context&&(this._context.off("update",this.onViewUpdate,this),this._context.off("unload",this.unload,this)),this._context=t,this._context.on("update",this.onViewUpdate,this),this._context.on("unload",this.unload,this),this.onViewUpdate())}get context(){return this._context}get bounds(){return this._context.bounds}updateBounds(){}containsPoint(t){return this._context.containsPoint(t)}destroy(t){this._ownedContext&&!t?this._ownedContext.destroy(t):(!0===t||t?.context===!0)&&this._context.destroy(t),this._ownedContext=null,this._context=null,super.destroy(t)}_onTouch(t){this._gcLastUsed=t,this._context._gcLastUsed=t}_callContextMethod(t,e){return this.context[t](...e),this}setFillStyle(...t){return this._callContextMethod("setFillStyle",t)}setStrokeStyle(...t){return this._callContextMethod("setStrokeStyle",t)}fill(...t){return this._callContextMethod("fill",t)}stroke(...t){return this._callContextMethod("stroke",t)}texture(...t){return this._callContextMethod("texture",t)}beginPath(){return this._callContextMethod("beginPath",[])}cut(){return this._callContextMethod("cut",[])}arc(...t){return this._callContextMethod("arc",t)}arcTo(...t){return this._callContextMethod("arcTo",t)}arcToSvg(...t){return this._callContextMethod("arcToSvg",t)}bezierCurveTo(...t){return this._callContextMethod("bezierCurveTo",t)}closePath(){return this._callContextMethod("closePath",[])}ellipse(...t){return this._callContextMethod("ellipse",t)}circle(...t){return this._callContextMethod("circle",t)}path(...t){return this._callContextMethod("path",t)}lineTo(...t){return this._callContextMethod("lineTo",t)}moveTo(...t){return this._callContextMethod("moveTo",t)}quadraticCurveTo(...t){return this._callContextMethod("quadraticCurveTo",t)}rect(...t){return this._callContextMethod("rect",t)}roundRect(...t){return this._callContextMethod("roundRect",t)}poly(...t){return this._callContextMethod("poly",t)}regularPoly(...t){return this._callContextMethod("regularPoly",t)}roundPoly(...t){return this._callContextMethod("roundPoly",t)}roundShape(...t){return this._callContextMethod("roundShape",t)}filletRect(...t){return this._callContextMethod("filletRect",t)}chamferRect(...t){return this._callContextMethod("chamferRect",t)}star(...t){return this._callContextMethod("star",t)}svg(...t){return this._callContextMethod("svg",t)}restore(...t){return this._callContextMethod("restore",t)}save(){return this._callContextMethod("save",[])}getTransform(){return this.context.getTransform()}resetTransform(){return this._callContextMethod("resetTransform",[])}rotateTransform(...t){return this._callContextMethod("rotate",t)}scaleTransform(...t){return this._callContextMethod("scale",t)}setTransform(...t){return this._callContextMethod("setTransform",t)}transform(...t){return this._callContextMethod("transform",t)}translateTransform(...t){return this._callContextMethod("translate",t)}clear(){return this._callContextMethod("clear",[])}get fillStyle(){return this._context.fillStyle}set fillStyle(t){this._context.fillStyle=t}get strokeStyle(){return this._context.strokeStyle}set strokeStyle(t){this._context.strokeStyle=t}clone(t=!1){return t?new v(this._context.clone()):(this._ownedContext=null,new v(this._context))}lineStyle(t,e,i){(0,r.t6)(r.lj,"Graphics#lineStyle is no longer needed. Use Graphics#setStrokeStyle to set the stroke style.");let s={};return t&&(s.width=t),e&&(s.color=e),i&&(s.alpha=i),this.context.strokeStyle=s,this}beginFill(t,e){(0,r.t6)(r.lj,"Graphics#beginFill is no longer needed. Use Graphics#fill to fill the shape with the desired style.");let i={};return void 0!==t&&(i.color=t),void 0!==e&&(i.alpha=e),this.context.fillStyle=i,this}endFill(){(0,r.t6)(r.lj,"Graphics#endFill is no longer needed. Use Graphics#fill to fill the shape with the desired style."),this.context.fill();let t=this.context.strokeStyle;return(t.width!==n.T.defaultStrokeStyle.width||t.color!==n.T.defaultStrokeStyle.color||t.alpha!==n.T.defaultStrokeStyle.alpha)&&this.context.stroke(),this}drawCircle(...t){return(0,r.t6)(r.lj,"Graphics#drawCircle has been renamed to Graphics#circle"),this._callContextMethod("circle",t)}drawEllipse(...t){return(0,r.t6)(r.lj,"Graphics#drawEllipse has been renamed to Graphics#ellipse"),this._callContextMethod("ellipse",t)}drawPolygon(...t){return(0,r.t6)(r.lj,"Graphics#drawPolygon has been renamed to Graphics#poly"),this._callContextMethod("poly",t)}drawRect(...t){return(0,r.t6)(r.lj,"Graphics#drawRect has been renamed to Graphics#rect"),this._callContextMethod("rect",t)}drawRoundedRect(...t){return(0,r.t6)(r.lj,"Graphics#drawRoundedRect has been renamed to Graphics#roundRect"),this._callContextMethod("roundRect",t)}drawStar(...t){return(0,r.t6)(r.lj,"Graphics#drawStar has been renamed to Graphics#star"),this._callContextMethod("star",t)}}},88186:(t,e,i)=>{i.d(e,{$:()=>l});var r=i(42434),s=i(68134),n=i(40995),a=i(26622);let o=class t extends a.v{constructor(e){super(e),this.isReady=!1,this.uploadMethodId="video",e={...t.defaultOptions,...e},this._autoUpdate=!0,this._isConnectedToTicker=!1,this._updateFPS=e.updateFPS||0,this._msToNextUpdate=0,this.autoPlay=!1!==e.autoPlay,this.alphaMode=e.alphaMode??"premultiply-alpha-on-upload",this._videoFrameRequestCallback=this._videoFrameRequestCallback.bind(this),this._videoFrameRequestCallbackHandle=null,this._load=null,this._resolve=null,this._reject=null,this._onCanPlay=this._onCanPlay.bind(this),this._onCanPlayThrough=this._onCanPlayThrough.bind(this),this._onError=this._onError.bind(this),this._onPlayStart=this._onPlayStart.bind(this),this._onPlayStop=this._onPlayStop.bind(this),this._onSeeked=this._onSeeked.bind(this),this._onLoadedMetadata=this._onLoadedMetadata.bind(this),!1!==e.autoLoad&&this.load()}
414updateFrame(){if(!this.destroyed){if(this._updateFPS){let t=s.R.shared.elapsedMS*this.resource.playbackRate;this._msToNextUpdate=Math.floor(this._msToNextUpdate-t)}(!this._updateFPS||this._msToNextUpdate<=0)&&(this._msToNextUpdate=this._updateFPS?Math.floor(1e3/this._updateFPS):0),this.isValid&&this.update()}}_videoFrameRequestCallback(){this.updateFrame(),this.destroyed?this._videoFrameRequestCallbackHandle=null:this._videoFrameRequestCallbackHandle=this.resource.requestVideoFrameCallback(this._videoFrameRequestCallback)}get isValid(){return!!this.resource.videoWidth&&!!this.resource.videoHeight}async load(){if(this._load)return this._load;let t=this.resource,e=this.options;return(t.readyState===t.HAVE_ENOUGH_DATA||t.readyState===t.HAVE_FUTURE_DATA)&&t.width&&t.height&&(t.complete=!0),t.addEventListener("play",this._onPlayStart),t.addEventListener("pause",this._onPlayStop),t.addEventListener("seeked",this._onSeeked),this._isSourceReady()?this._mediaReady():(e.preload||t.addEventListener("canplay",this._onCanPlay),t.addEventListener("canplaythrough",this._onCanPlayThrough),t.addEventListener("error",this._onError,!0)),this.isValid||t.addEventListener("loadedmetadata",this._onLoadedMetadata),this.alphaMode=await (0,n.C)(),this._load=new Promise((i,r)=>{this.isValid?i(this):(this._resolve=i,this._reject=r,void 0!==e.preloadTimeoutMs&&(this._preloadTimeout=setTimeout(()=>{this._onError(new ErrorEvent(`Preload exceeded timeout of ${e.preloadTimeoutMs}ms`))})),t.load())}),this._load}_onError(t){this.resource.removeEventListener("error",this._onError,!0),this.emit("error",t),this._reject&&(this._reject(t),this._reject=null,this._resolve=null)}_isSourcePlaying(){let t=this.resource;return!t.paused&&!t.ended}_isSourceReady(){return this.resource.readyState>2}_onPlayStart(){this._configureAutoUpdate()}_onPlayStop(){this._configureAutoUpdate()}_onSeeked(){this._autoUpdate&&!this._isSourcePlaying()&&(this._msToNextUpdate=0,this.updateFrame(),this._msToNextUpdate=0)}_onLoadedMetadata(){this.isValid&&this._mediaReady()}_onCanPlay(){this.resource.removeEventListener("canplay",this._onCanPlay),this._mediaReady()}_onCanPlayThrough(){this.resource.removeEventListener("canplaythrough",this._onCanPlayThrough),this._preloadTimeout&&(clearTimeout(this._preloadTimeout),this._preloadTimeout=void 0),this._mediaReady()}_mediaReady(){let t=this.resource;this.isValid&&(this.isReady=!0,this.resize(t.videoWidth,t.videoHeight)),this._msToNextUpdate=0,this.updateFrame(),this._msToNextUpdate=0,this._resolve&&this.isValid&&(this._resolve(this),this._resolve=null,this._reject=null),this._isSourcePlaying()?this._onPlayStart():this.autoPlay&&this.resource.play()}destroy(){this._configureAutoUpdate();let t=this.resource;t&&(t.removeEventListener("play",this._onPlayStart),t.removeEventListener("pause",this._onPlayStop),t.removeEventListener("seeked",this._onSeeked),t.removeEventListener("canplay",this._onCanPlay),t.removeEventListener("canplaythrough",this._onCanPlayThrough),t.removeEventListener("loadedmetadata",this._onLoadedMetadata),t.removeEventListener("error",this._onError,!0),t.pause(),t.src="",t.load()),super.destroy()}get autoUpdate(){return this._autoUpdate}set autoUpdate(t){t!==this._autoUpdate&&(this._autoUpdate=t,this._configureAutoUpdate())}get updateFPS(){return this._updateFPS}set updateFPS(t){t!==this._updateFPS&&(this._updateFPS=t,this._configureAutoUpdate())}_configureAutoUpdate(){this._autoUpdate&&this._isSourcePlaying()?!this._updateFPS&&this.resource.requestVideoFrameCallback?(this._isConnectedToTicker&&(s.R.shared.remove(this.updateFrame,this),this._isConnectedToTicker=!1,this._msToNextUpdate=0),null===this._videoFrameRequestCallbackHandle&&(this._videoFrameRequestCallbackHandle=this.resource.requestVideoFrameCallback(this._videoFrameRequestCallback))):(null!==this._videoFrameRequestCallbackHandle&&(this.resource.cancelVideoFrameCallback(this._videoFrameRequestCallbackHandle),this._videoFrameRequestCallbackHandle=null),this._isConnectedToTicker||(s.R.shared.add(this.updateFrame,this),this._isConnectedToTicker=!0,this._msToNextUpdate=0)):(null!==this._videoFrameRequestCallbackHandle&&(this.resource.cancelVideoFrameCallback(this._videoFrameRequestCallbackHandle),this._videoFrameRequestCallbackHandle=null),this._isConnectedToTicker&&(s.R.shared.remove(this.updateFrame,this),this._isConnectedToTicker=!1,this._msToNextUpdate=0))}static test(t){return globalThis.HTMLVideoElement&&t instanceof HTMLVideoElement}};o.extension=r.Ag.TextureSource,o.defaultOptions={...a.v.defaultOptions,autoLoad:!0,autoPlay:!0,updateFPS:0,crossorigin:!0,loop:!1,muted:!0,playsinline:!0,preload:!1},o.MIME_TYPES={ogv:"video/ogg",mov:"video/quicktime",m4v:"video/mp4"};let l=o},88295:(t,e,i)=>{i.d(e,{$T:()=>m,O3:()=>x,U2:()=>u,Z9:()=>h,fo:()=>p,j3:()=>f,j7:()=>l,jE:()=>d,kl:()=>o,qw:()=>g,yp:()=>c});let r=new Set([10,13]),s=new Set([9,32,8192,8193,8194,8195,8196,8197,8198,8200,8201,8202,8287,12288]),n=new Set([9,32]),a=new Set([45,8208,8211,8212,173]),o=/(\r\n|\r|\n)/,l=/(?:\r\n|\r|\n)/;function h(t){return"string"==typeof t&&r.has(t.charCodeAt(0))}function u(t,e){return"string"==typeof t&&s.has(t.charCodeAt(0))}function d(t){return"string"==typeof t&&n.has(t.charCodeAt(0))}function c(t){return"string"==typeof t&&a.has(t.charCodeAt(0))}function f(t){return"normal"===t||"pre-line"===t}function p(t){return"normal"===t}function m(t){if("string"!=typeof t)return"";let e=t.length-1;for(;e>=0&&u(t[e]);)e--;return e<t.length-1?t.slice(0,e+1):t}function g(t){let e=[],i=[];if("string"!=typeof t)return e;for(let r=0;r<t.length;r++){let s=t[r],n=t[r+1];if(u(s,n)||h(s)){i.length>0&&(e.push(i.join("")),i.length=0),"\r"===s&&"\n"===n?(e.push("\r\n"),r++):e.push(s);continue}i.push(s),c(s)&&n&&!u(n)&&!h(n)&&(e.push(i.join("")),i.length=0)}return i.length>0&&e.push(i.join("")),e}function x(t,e,i,r){let s=i(t),n=[];for(let i=0;i<s.length;i++){let a=s[i],o=a,l=1;for(;s[i+l];){let n=s[i+l];if(r(o,n,t,i,e))break;a+=n,o=n,l++}i+=l-1,n.push(a)}return n}},89660:(t,e,i)=>{i.d(e,{b:()=>r});
414class r{constructor(t=0,e=0){this.x=0,this.y=0,this.x=t,this.y=e}clone(){return new r(this.x,this.y)}copyFrom(t){return this.set(t.x,t.y),this}copyTo(t){return t.set(this.x,this.y),t}equals(t){return t.x===this.x&&t.y===this.y}set(t=0,e=t){return this.x=t,this.y=e,this}toString(){return`[pixi.js/math:Point x=${this.x} y=${this.y}]`}static get shared(){return s.x=0,s.y=0,s}}let s=new r},89666:(t,e,i)=>{i.d(e,{W:()=>s});var r,s=((r=s||{})[r.WEBGL=1]="WEBGL",r[r.WEBGPU=2]="WEBGPU",r[r.CANVAS=4]="CANVAS",r[r.BOTH=3]="BOTH",r)},89789:(t,e,i)=>{i.d(e,{S:()=>s});var r,s=((r=s||{})[r.MAP_READ=1]="MAP_READ",r[r.MAP_WRITE=2]="MAP_WRITE",r[r.COPY_SRC=4]="COPY_SRC",r[r.COPY_DST=8]="COPY_DST",r[r.INDEX=16]="INDEX",r[r.VERTEX=32]="VERTEX",r[r.UNIFORM=64]="UNIFORM",r[r.STORAGE=128]="STORAGE",r[r.INDIRECT=256]="INDIRECT",r[r.QUERY_RESOLVE=512]="QUERY_RESOLVE",r[r.STATIC=1024]="STATIC",r)},90246:(t,e,i)=>{i.d(e,{h:()=>o});var r=i(89660),s=i(9297);function n(t,e,i,r,s,n,a,o){let l,h;a?(l=r,h=-i):(l=-r,h=i);let u=t-i*s+l,d=e-r*s+h,c=t+i*n+l,f=e+r*n+h;return o.push(u,d),o.push(c,f),2}function a(t,e,i,r,s,n,a,o){let l=i-t,h=r-e,u=Math.atan2(l,h),d=Math.atan2(s-t,n-e);o&&u<d?u+=2*Math.PI:!o&&u>d&&(d+=2*Math.PI);let c=u,f=d-u,p=Math.sqrt(l*l+h*h),m=(15*Math.abs(f)*Math.sqrt(p)/Math.PI|0)+1,g=f/m;if(c+=g,o){a.push(t,e),a.push(i,r);for(let i=1,r=c;i<m;i++,r+=g)a.push(t,e),a.push(t+Math.sin(r)*p,e+Math.cos(r)*p);a.push(t,e),a.push(s,n)}else{a.push(i,r),a.push(t,e);for(let i=1,r=c;i<m;i++,r+=g)a.push(t+Math.sin(r)*p,e+Math.cos(r)*p),a.push(t,e);a.push(s,n),a.push(t,e)}return 2*m}function o(t,e,i,o,l,h){let u=s.B;if(0===t.length)return;let d=e.alignment;if(.5!==e.alignment){let e=function(t){let e=t.length;if(e<6)return 1;let i=0;for(let r=0,s=t[e-2],n=t[e-1];r<e;r+=2){let e=t[r],a=t[r+1];i+=(e-s)*(a+n),s=e,n=a}return i<0?-1:1}(t);i&&(e*=-1),d=(d-.5)*e+.5}let c=new r.b(t[0],t[1]),f=new r.b(t[t.length-2],t[t.length-1]),p=Math.abs(c.x-f.x)<u&&Math.abs(c.y-f.y)<u;if(o){t=t.slice(),p&&(t.pop(),t.pop(),f.set(t[t.length-2],t[t.length-1]));let e=(c.x+f.x)*.5,i=(f.y+c.y)*.5;t.unshift(e,i),t.push(e,i)}let m=t.length/2,g=t.length,x=l.length/2,y=e.width/2,_=y*y,v=e.miterLimit*e.miterLimit,b=t[0],w=t[1],A=t[2],S=t[3],C=0,T=0,M=-(w-S),P=b-A,k=0,I=0,R=Math.sqrt(M*M+P*P);M/=R,P/=R,M*=y,P*=y;let E=d,B=(1-E)*2,O=2*E;o||("round"===e.cap?g+=a(b-M*(B-O)*.5,w-P*(B-O)*.5,b-M*B,w-P*B,b+M*O,w+P*O,l,!0)+2:"square"===e.cap&&(g+=n(b,w,M,P,B,O,!0,l))),l.push(b-M*B,w-P*B),l.push(b+M*O,w+P*O);for(let i=1;i<m-1;++i){b=t[(i-1)*2],w=t[(i-1)*2+1],A=t[2*i],S=t[2*i+1],C=t[(i+1)*2],T=t[(i+1)*2+1],R=Math.sqrt((M=-(w-S))*M+(P=b-A)*P),M/=R,P/=R,M*=y,P*=y,R=Math.sqrt((k=-(S-T))*k+(I=A-C)*I),k/=R,I/=R,k*=y,I*=y;let r=A-b,s=w-S,n=A-C,o=T-S,h=r*n+s*o,u=s*n-o*r,d=u<0;if(Math.abs(u)<.001*Math.abs(h)){l.push(A-M*B,S-P*B),l.push(A+M*O,S+P*O),h>=0&&("round"===e.join?g+=a(A,S,A-M*B,S-P*B,A-k*B,S-I*B,l,!1)+4:g+=2,l.push(A-k*O,S-I*O),l.push(A+k*B,S+I*B));continue}let c=(-M+b)*(-P+S)-(-M+A)*(-P+w),f=(-k+C)*(-I+S)-(-k+A)*(-I+T),p=(r*f-n*c)/u,m=(o*c-s*f)/u,x=(p-A)*(p-A)+(m-S)*(m-S),E=A+(p-A)*B,F=S+(m-S)*B,U=A-(p-A)*O,z=S-(m-S)*O,L=d?B:O;x<=Math.min(r*r+s*s,n*n+o*o)+L*L*_?"bevel"===e.join||x/_>v?(d?(l.push(E,F),l.push(A+M*O,S+P*O),l.push(E,F),l.push(A+k*O,S+I*O)):(l.push(A-M*B,S-P*B),l.push(U,z),l.push(A-k*B,S-I*B),l.push(U,z)),g+=2):"round"===e.join?d?(l.push(E,F),l.push(A+M*O,S+P*O),g+=a(A,S,A+M*O,S+P*O,A+k*O,S+I*O,l,!0)+4,l.push(E,F),l.push(A+k*O,S+I*O)):(l.push(A-M*B,S-P*B),l.push(U,z),g+=a(A,S,A-M*B,S-P*B,A-k*B,S-I*B,l,!1)+4,l.push(A-k*B,S-I*B),l.push(U,z)):(l.push(E,F),l.push(U,z)):(l.push(A-M*B,S-P*B),l.push(A+M*O,S+P*O),"round"===e.join?d?g+=a(A,S,A+M*O,S+P*O,A+k*O,S+I*O,l,!0)+2:g+=a(A,S,A-M*B,S-P*B,A-k*B,S-I*B,l,!1)+2:"miter"===e.join&&x/_<=v&&(d?(l.push(U,z),l.push(U,z)):(l.push(E,F),l.push(E,F)),g+=2),l.push(A-k*B,S-I*B),l.push(A+k*O,S+I*O),g+=2)}b=t[(m-2)*2],w=t[(m-2)*2+1],A=t[(m-1)*2],R=Math.sqrt((M=-(w-(S=t[(m-1)*2+1])))*M+(P=b-A)*P),M/=R,P/=R,M*=y,P*=y,l.push(A-M*B,S-P*B),l.push(A+M*O,S+P*O),o||("round"===e.cap?g+=a(A-M*(B-O)*.5,S-P*(B-O)*.5,A-M*B,S-P*B,A+M*O,S+P*O,l,!1)+2:"square"===e.cap&&(g+=n(A,S,M,P,B,O,!1,l)));let F=s.I*s.I;for(let t=x;t<g+x-2;++t)b=l[2*t],w=l[2*t+1],A=l[(t+1)*2],S=l[(t+1)*2+1],C=l[(t+2)*2],Math.abs(b*(S-(T=l[(t+2)*2+1]))+A*(T-w)+C*(w-S))<F||h.push(t,t+1,t+2)}},91196:(t,e,i)=>{i.d(e,{m:()=>m});var r=i(3711),s="in vec2 aPosition;\nout vec2 vTextureCoord;\n\nuniform vec4 uInputSize;\nuniform vec4 uOutputFrame;\nuniform vec4 uOutputTexture;\n\nvec4 filterVertexPosition( void )\n{\n    vec2 position = aPosition * uOutputFrame.zw + uOutputFrame.xy;\n    \n    position.x = position.x * (2.0 / uOutputTexture.x) - 1.0;\n    position.y = position.y * (2.0*uOutputTexture.z / uOutputTexture.y) - uOutputTexture.z;\n\n    return vec4(position, 0.0, 1.0);\n}\n\nvec2 filterTextureCoord( void )\n{\n    return aPosition * (uOutputFrame.zw * uInputSize.zw);\n}\n\nvoid main(void)\n{\n    gl_Position = filterVertexPosition();\n    vTextureCoord = filterTextureCoord();\n}\n",n="struct GlobalFilterUniforms {\n  uInputSize:vec4<f32>,\n  uInputPixel:vec4<f32>,\n  uInputClamp:vec4<f32>,\n  uOutputFrame:vec4<f32>,\n  uGlobalFrame:vec4<f32>,\n  uOutputTexture:vec4<f32>,\n};\n\n@group(0) @binding(0) var<uniform> gfu: GlobalFilterUniforms;\n\nstruct VSOutput {\n    @builtin(position) position: vec4<f32>,\n    @location(0) uv : vec2<f32>\n  };\n\nfn filterVertexPosition(aPosition:vec2<f32>) -> vec4<f32>\n{\n    var position = aPosition * gfu.uOutputFrame.zw + gfu.uOutputFrame.xy;\n\n    position.x = position.x * (2.0 / gfu.uOutputTexture.x) - 1.0;\n    position.y = position.y * (2.0*gfu.uOutputTexture.z / gfu.uOutputTexture.y) - gfu.uOutputTexture.z;\n\n    return vec4(position, 0.0, 1.0);\n}\n\nfn filterTextureCoord( aPosition:vec2<f32> ) -> vec2<f32>\n{\n    return aPosition * (gfu.uOutputFrame.zw * gfu.uInputSize.zw);\n}\n\nfn globalTextureCoord( aPosition:vec2<f32> ) -> vec2<f32>\n{\n  return  (aPosition.xy / gfu.uGlobalFrame.zw) + (gfu.uGlobalFrame.xy / gfu.uGlobalFrame.zw);  \n}\n\nfn getSize() -> vec2<f32>\n{\n  return gfu.uGlobalFrame.zw;\n}\n  \n@vertex\nfn mainVertex(\n  @location(0) aPosition : vec2<f32>, \n) -> VSOutput {\n  return VSOutput(\n   filterVertexPosition(aPosition),\n   filterTextureCoord(aPosition)\n  );\n}",a=Object.defineProperty,o=(t,e,i)=>{let r;return(r="symbol"!=typeof e?e+"":e)in t?a(t,r,{enumerable:!0,configurable:!0,writable:!0,value:i}):t[r]=i,i};let l=class t extends r.dJT{constructor(...e){let i=e[0]??{};("number"==typeof i||Array.isArray(i))&&((0,r.t66)("6.0.0","KawaseBlurFilter constructor params are now options object. See params: { strength, quality, clamp, pixelSize }"),i={strength:i},void 0!==e[1]&&(i.quality=e[1]),void 0!==e[2]&&(i.clamp=e[2])),i={...t.DEFAULT_OPTIONS,...i},super({gpuProgram:r.BrD.from({vertex:{source:n,entryPoint:"mainVertex"},fragment:{source:i?.clamp?"struct KawaseBlurUniforms {\n  uOffset:vec2<f32>,\n};\n\nstruct GlobalFilterUniforms {\n  uInputSize:vec4<f32>,\n  uInputPixel:vec4<f32>,\n  uInputClamp:vec4<f32>,\n  uOutputFrame:vec4<f32>,\n  uGlobalFrame:vec4<f32>,\n  uOutputTexture:vec4<f32>,\n};\n\n@group(0) @binding(0) var<uniform> gfu: GlobalFilterUniforms;\n\n@group(0) @binding(1) var uTexture: texture_2d<f32>; \n@group(0) @binding(2) var uSampler: sampler;\n@group(1) @binding(0) var<uniform> kawaseBlurUniforms : KawaseBlurUniforms;\n\n@fragment\nfn mainFragment(\n  @builtin(position) position: vec4<f32>,\n  @location(0) uv : vec2<f32>\n) -> @location(0) vec4<f32> {\n  let uOffset = kawaseBlurUniforms.uOffset;\n  var color: vec4<f32> = vec4(0.0);\n\n  // Sample top left pixel\n  color += textureSample(uTexture, uSampler, clamp(vec2<f32>(uv.x - uOffset.x, uv.y + uOffset.y), gfu.uInputClamp.xy, gfu.uInputClamp.zw));\n  // Sample top right pixel\n  color += textureSample(uTexture, uSampler, clamp(vec2<f32>(uv.x + uOffset.x, uv.y + uOffset.y), gfu.uInputClamp.xy, gfu.uInputClamp.zw));\n  // Sample bottom right pixel\n  color += textureSample(uTexture, uSampler, clamp(vec2<f32>(uv.x + uOffset.x, uv.y - uOffset.y), gfu.uInputClamp.xy, gfu.uInputClamp.zw));\n  // Sample bottom left pixel\n  color += textureSample(uTexture, uSampler, clamp(vec2<f32>(uv.x - uOffset.x, uv.y - uOffset.y), gfu.uInputClamp.xy, gfu.uInputClamp.zw));\n  // Average\n  color *= 0.25;\n    \n  return color;\n}":"struct KawaseBlurUniforms {\n  uOffset:vec2<f32>,\n};\n\n@group(0) @binding(1) var uTexture: texture_2d<f32>; \n@group(0) @binding(2) var uSampler: sampler;\n@group(1) @binding(0) var<uniform> kawaseBlurUniforms : KawaseBlurUniforms;\n\n@fragment\nfn mainFragment(\n  @builtin(position) position: vec4<f32>,\n  @location(0) uv : vec2<f32>\n) -> @location(0) vec4<f32> {\n  let uOffset = kawaseBlurUniforms.uOffset;\n  var color: vec4<f32> = vec4<f32>(0.0);\n\n  // Sample top left pixel\n  color += textureSample(uTexture, uSampler, vec2<f32>(uv.x - uOffset.x, uv.y + uOffset.y));\n  // Sample top right pixel\n  color += textureSample(uTexture, uSampler, vec2<f32>(uv.x + uOffset.x, uv.y + uOffset.y));\n  // Sample bottom right pixel\n  color += textureSample(uTexture, uSampler, vec2<f32>(uv.x + uOffset.x, uv.y - uOffset.y));\n  // Sample bottom left pixel\n  color += textureSample(uTexture, uSampler, vec2<f32>(uv.x - uOffset.x, uv.y - uOffset.y));\n  // Average\n  color *= 0.25;\n\n  return color;\n}",entryPoint:"mainFragment"}}),glProgram:r.M2g.from({vertex:s,fragment:i?.clamp?"\nprecision highp float;\nin vec2 vTextureCoord;\nout vec4 finalColor;\n\nuniform sampler2D uTexture;\nuniform vec2 uOffset;\n\nuniform vec4 uInputClamp;\n\nvoid main(void)\n{\n    vec4 color = vec4(0.0);\n\n    // Sample top left pixel\n    color += texture(uTexture, clamp(vec2(vTextureCoord.x - uOffset.x, vTextureCoord.y + uOffset.y), uInputClamp.xy, uInputClamp.zw));\n\n    // Sample top right pixel\n    color += texture(uTexture, clamp(vec2(vTextureCoord.x + uOffset.x, vTextureCoord.y + uOffset.y), uInputClamp.xy, uInputClamp.zw));\n\n    // Sample bottom right pixel\n    color += texture(uTexture, clamp(vec2(vTextureCoord.x + uOffset.x, vTextureCoord.y - uOffset.y), uInputClamp.xy, uInputClamp.zw));\n\n    // Sample bottom left pixel\n    color += texture(uTexture, clamp(vec2(vTextureCoord.x - uOffset.x, vTextureCoord.y - uOffset.y), uInputClamp.xy, uInputClamp.zw));\n\n    // Average\n    color *= 0.25;\n\n    finalColor = color;\n}\n":"\nin vec2 vTextureCoord;\nout vec4 finalColor;\n\nuniform sampler2D uTexture;\nuniform vec2 uOffset;\n\nvoid main(void)\n{\n    vec4 color = vec4(0.0);\n\n    // Sample top left pixel\n    color += texture(uTexture, vec2(vTextureCoord.x - uOffset.x, vTextureCoord.y + uOffset.y));\n\n    // Sample top right pixel\n    color += texture(uTexture, vec2(vTextureCoord.x + uOffset.x, vTextureCoord.y + uOffset.y));\n\n    // Sample bottom right pixel\n    color += texture(uTexture, vec2(vTextureCoord.x + uOffset.x, vTextureCoord.y - uOffset.y));\n\n    // Sample bottom left pixel\n    color += texture(uTexture, vec2(vTextureCoord.x - uOffset.x, vTextureCoord.y - uOffset.y));\n\n    // Average\n    color *= 0.25;\n\n    finalColor = color;\n}",name:"kawase-blur-filter"}),resources:{kawaseBlurUniforms:{uOffset:{value:new Float32Array(2),type:"vec2
414<f32>"}}}}),o(this,"uniforms"),o(this,"_pixelSize",{x:0,y:0}),o(this,"_clamp"),o(this,"_kernels",[]),o(this,"_blur"),o(this,"_quality"),this.uniforms=this.resources.kawaseBlurUniforms.uniforms,this.pixelSize=i.pixelSize??{x:1,y:1},Array.isArray(i.strength)?this.kernels=i.strength:"number"==typeof i.strength&&(this._blur=i.strength,this.quality=i.quality??3),this._clamp=!!i.clamp}apply(t,e,i,s){let n,a=this.pixelSizeX/e.source.width,o=this.pixelSizeY/e.source.height;if(1===this._quality||0===this._blur)n=this._kernels[0]+.5,this.uniforms.uOffset[0]=n*a,this.uniforms.uOffset[1]=n*o,t.applyFilter(this,e,i,s);else{let l,h=r.Wny.getSameSizeTexture(e),u=e,d=h,c=this._quality-1;for(let e=0;e<c;e++)n=this._kernels[e]+.5,this.uniforms.uOffset[0]=n*a,this.uniforms.uOffset[1]=n*o,t.applyFilter(this,u,d,!0),l=u,u=d,d=l;n=this._kernels[c]+.5,this.uniforms.uOffset[0]=n*a,this.uniforms.uOffset[1]=n*o,t.applyFilter(this,u,i,s),r.Wny.returnTexture(h)}}get strength(){return this._blur}set strength(t){this._blur=t,this._generateKernels()}get quality(){return this._quality}set quality(t){this._quality=Math.max(1,Math.round(t)),this._generateKernels()}get kernels(){return this._kernels}set kernels(t){Array.isArray(t)&&t.length>0?(this._kernels=t,this._quality=t.length,this._blur=Math.max(...t)):(this._kernels=[0],this._quality=1)}get pixelSize(){return this._pixelSize}set pixelSize(t){if("number"==typeof t){this.pixelSizeX=this.pixelSizeY=t;return}if(Array.isArray(t)){this.pixelSizeX=t[0],this.pixelSizeY=t[1];return}this._pixelSize=t}get pixelSizeX(){return this.pixelSize.x}set pixelSizeX(t){this.pixelSize.x=t}get pixelSizeY(){return this.pixelSize.y}set pixelSizeY(t){this.pixelSize.y=t}get clamp(){return this._clamp}_updatePadding(){this.padding=Math.ceil(this._kernels.reduce((t,e)=>t+e+.5,0))}_generateKernels(){let t=this._blur,e=this._quality,i=[t];if(t>0){let r=t,s=t/e;for(let t=1;t<e;t++)r-=s,i.push(r)}this._kernels=i,this._updatePadding()}};o(l,"DEFAULT_OPTIONS",{strength:4,quality:3,clamp:!1,pixelSize:{x:1,y:1}});var h=Object.defineProperty,u=(t,e,i)=>{let r;return(r="symbol"!=typeof e?e+"":e)in t?h(t,r,{enumerable:!0,configurable:!0,writable:!0,value:i}):t[r]=i,i};let d=class t extends r.dJT{constructor(e){e={...t.DEFAULT_OPTIONS,...e},super({gpuProgram:r.BrD.from({vertex:{source:n,entryPoint:"mainVertex"},fragment:{source:"struct ExtractBrightnessUniforms {\n  uThreshold: f32,\n};\n\n@group(0) @binding(1) var uTexture: texture_2d<f32>; \n@group(0) @binding(2) var uSampler: sampler;\n@group(1) @binding(0) var<uniform> extractBrightnessUniforms : ExtractBrightnessUniforms;\n\n@fragment\nfn mainFragment(\n  @builtin(position) position: vec4<f32>,\n  @location(0) uv : vec2<f32>\n) -> @location(0) vec4<f32> {\n  let color: vec4<f32> = textureSample(uTexture, uSampler, uv);\n\n  // A simple & fast algorithm for getting brightness.\n  // It's inaccurate, but good enough for this feature.\n  let max: f32 = max(max(color.r, color.g), color.b);\n  let min: f32 = min(min(color.r, color.g), color.b);\n  let brightness: f32 = (max + min) * 0.5;\n\n  return select(vec4<f32>(0.), color, brightness > extractBrightnessUniforms.uThreshold);\n}\n",entryPoint:"mainFragment"}}),glProgram:r.M2g.from({vertex:s,fragment:"\nin vec2 vTextureCoord;\nout vec4 finalColor;\n\nuniform sampler2D uTexture;\nuniform float uThreshold;\n\nvoid main() {\n    vec4 color = texture(uTexture, vTextureCoord);\n\n    // A simple & fast algorithm for getting brightness.\n    // It's inaccuracy , but good enought for this feature.\n    float _max = max(max(color.r, color.g), color.b);\n    float _min = min(min(color.r, color.g), color.b);\n    float brightness = (_max + _min) * 0.5;\n\n    if(brightness > uThreshold) {\n        finalColor = color;\n    } else {\n        finalColor = vec4(0.0, 0.0, 0.0, 0.0);\n    }\n}\n",name:"extract-brightness-filter"}),resources:{extractBrightnessUniforms:{uThreshold:{value:e.threshold,type:"f32"}}}}),u(this,"uniforms"),this.uniforms=this.resources.extractBrightnessUniforms.uniforms}get threshold(){return this.uniforms.uThreshold}set threshold(t){this.uniforms.uThreshold=t}};u(d,"DEFAULT_OPTIONS",{threshold:.5});var c=Object.defineProperty,f=(t,e,i)=>{let r;return(r="symbol"!=typeof e?e+"":e)in t?c(t,r,{enumerable:!0,configurable:!0,writable:!0,value:i}):t[r]=i,i};let p=class t extends r.dJT{constructor(e){e={...t.DEFAULT_OPTIONS,...e},super({gpuProgram:r.BrD.from({vertex:{source:n,entryPoint:"mainVertex"},fragment:{source:"struct AdvancedBloomUniforms {\n  uBloomScale: f32,\n  uBrightness: f32,\n};\n\n@group(0) @binding(1) var uTexture: texture_2d<f32>; \n@group(0) @binding(2) var uSampler: sampler;\n@group(1) @binding(0) var<uniform> advancedBloomUniforms : AdvancedBloomUniforms;\n@group(1) @binding(1) var uMapTexture: texture_2d<f32>;\n\n@fragment\nfn mainFragment(\n  @builtin(position) position: vec4<f32>,\n  @location(0) uv : vec2<f32>\n) -> @location(0) vec4<f32> {\n  var color = textureSample(uTexture, uSampler, uv);\n  color = vec4<f32>(color.rgb * advancedBloomUniforms.uBrightness, color.a);\n\n  var bloomColor = vec4<f32>(textureSample(uMapTexture, uSampler, uv).rgb, 0.0);\n  bloomColor = vec4<f32>(bloomColor.rgb * advancedBloomUniforms.uBloomScale, bloomColor.a);\n  \n  return color + bloomColor;\n}\n",entryPoint:"mainFragment"}}),glProgram:r.M2g.from({vertex:s,fragment:"in vec2 vTextureCoord;\nout vec4 finalColor;\n\nuniform sampler2D uTexture;\nuniform sampler2D uMapTexture;\nuniform float uBloomScale;\nuniform float uBrightness;\n\nvoid main() {\n    vec4 color = texture(uTexture, vTextureCoord);\n    color.rgb *= uBrightness;\n    vec4 bloomColor = vec4(texture(uMapTexture, vTextureCoord).rgb, 0.0);\n    bloomColor.rgb *= uBloomScale;\n    finalColor = color + bloomColor;\n}\n",name:"advanced-bloom-filter"}),resources:{advancedBloomUniforms:{uBloomScale:{value:e.bloomScale,type:"f32"},uBrightness:{value:e.brightness,type:"f32"}},uMapTexture:r.gPd.WHITE}}),f(this,"uniforms"),f(this,"bloomScale",1),f(this,"brightness",1),f(this,"_extractFilter"),f(this,"_blurFilter"),this.uniforms=this.resources.advancedBloomUniforms.uniforms,this._extractFilter=new d({threshold:e.threshold}
414),this._blurFilter=new l({strength:e.kernels??e.blur,quality:e.kernels?void 0:e.quality}),Object.assign(this,e)}apply(t,e,i,s){let n=r.Wny.getSameSizeTexture(e);this._extractFilter.apply(t,e,n,!0);let a=r.Wny.getSameSizeTexture(e);this._blurFilter.apply(t,n,a,!0),this.uniforms.uBloomScale=this.bloomScale,this.uniforms.uBrightness=this.brightness,this.resources.uMapTexture=a.source,t.applyFilter(this,e,i,s),r.Wny.returnTexture(a),r.Wny.returnTexture(n)}get threshold(){return this._extractFilter.threshold}set threshold(t){this._extractFilter.threshold=t}get kernels(){return this._blurFilter.kernels}set kernels(t){this._blurFilter.kernels=t}get blur(){return this._blurFilter.strength}set blur(t){this._blurFilter.strength=t}get quality(){return this._blurFilter.quality}set quality(t){this._blurFilter.quality=t}get pixelSize(){return this._blurFilter.pixelSize}set pixelSize(t){"number"==typeof t&&(t={x:t,y:t}),Array.isArray(t)&&(t={x:t[0],y:t[1]}),this._blurFilter.pixelSize=t}get pixelSizeX(){return this._blurFilter.pixelSizeX}set pixelSizeX(t){this._blurFilter.pixelSizeX=t}get pixelSizeY(){return this._blurFilter.pixelSizeY}set pixelSizeY(t){this._blurFilter.pixelSizeY=t}};f(p,"DEFAULT_OPTIONS",{threshold:.5,bloomScale:1,brightness:1,blur:8,quality:4,pixelSize:{x:1,y:1}});let m=p},91286:(t,e,i)=>{i.d(e,{V:()=>h});var r=i(4215),s=i(35821),n=i(4596),a=i(92548),o=i(89789);function l(t,e){if(!(t instanceof a.h)){let i=e?o.S.INDEX:o.S.VERTEX;t instanceof Array&&(e?(t=new Uint32Array(t),i=o.S.INDEX|o.S.COPY_DST):(t=new Float32Array(t),i=o.S.VERTEX|o.S.COPY_DST)),t=new a.h({data:t,label:e?"index-mesh-buffer":"vertex-mesh-buffer",usage:i})}return t}class h extends r.A{constructor(t={}){super(),this._gpuData=Object.create(null),this.autoGarbageCollect=!0,this._gcLastUsed=-1,this.uid=(0,n.L)("geometry"),this._layoutKey=0,this.instanceCount=1,this._bounds=new s.c,this._boundsDirty=!0;const{attributes:e,indexBuffer:i,topology:r}=t;if(this.buffers=[],this.attributes={},e)for(const t in e)this.addAttribute(t,e[t]);this.instanceCount=t.instanceCount??1,i&&this.addIndex(i),this.topology=r||"triangle-list"}onBufferUpdate(){this._boundsDirty=!0,this.emit("update",this)}getAttribute(t){return this.attributes[t]}getIndex(){return this.indexBuffer}getBuffer(t){return this.getAttribute(t).buffer}getSize(){for(let t in this.attributes){let e=this.attributes[t];return e.buffer.data.length/(e.stride/4||e.size)}return 0}addAttribute(t,e){var i;let r=(((i=e)instanceof a.h||Array.isArray(i)||i.BYTES_PER_ELEMENT)&&(i={buffer:i}),i.buffer=l(i.buffer,!1),i);-1===this.buffers.indexOf(r.buffer)&&(this.buffers.push(r.buffer),r.buffer.on("update",this.onBufferUpdate,this),r.buffer.on("change",this.onBufferUpdate,this)),this.attributes[t]=r}addIndex(t){this.indexBuffer=l(t,!0),this.buffers.push(this.indexBuffer)}get bounds(){return this._boundsDirty?(this._boundsDirty=!1,function(t,e,i){let r=t.getAttribute(e);if(!r)return i.minX=0,i.minY=0,i.maxX=0,i.maxY=0,i;let s=r.buffer.data,n=1/0,a=1/0,o=-1/0,l=-1/0,h=s.BYTES_PER_ELEMENT,u=(r.offset||0)/h,d=(r.stride||8)/h;for(let t=u;t<s.length;t+=d){let e=s[t],i=s[t+1];e>o&&(o=e),i>l&&(l=i),e<n&&(n=e),i<a&&(a=i)}return i.minX=n,i.minY=a,i.maxX=o,i.maxY=l,i}(this,"aPosition",this._bounds)):this._bounds}unload(){for(let t in this.emit("unload",this),this._gpuData)this._gpuData[t]?.destroy();this._gpuData=Object.create(null)}destroy(t=!1){this.emit("destroy",this),this.removeAllListeners(),t&&this.buffers.forEach(t=>t.destroy()),this.unload(),this.indexBuffer?.destroy(),this.attributes=null,this.buffers=null,this.indexBuffer=null,this._bounds=null}}},91357:(t,e,i)=>{i.d(e,{u:()=>r});function r(t,e){return 0xffffff!==t&&e?0xffffff!==e&&t?((t>>16&255)*(e>>16&255)/255<<16)+((t>>8&255)*(e>>8&255)/255<<8)+((255&t)*(255&e)/255|0):t:e}},91432:(t,e,i)=>{i.d(e,{j:()=>s});var r=i(91357);function s(t,e){return 0xffffff===t?e:0xffffff===e?t:(0,r.u)(t,e)}},92548:(t,e,i)=>{i.d(e,{h:()=>a});var r=i(4215),s=i(4596),n=i(89789);class a extends r.A{constructor(t){let{data:e,size:i}=t;const{usage:r,label:n,shrinkToFit:a}=t;super(),this._gpuData=Object.create(null),this._gcLastUsed=-1,this.autoGarbageCollect=!0,this.uid=(0,s.L)("buffer"),this._resourceType="buffer",this._resourceId=(0,s.L)("resource"),this._touched=0,this._updateID=1,this._dataInt32=null,this.shrinkToFit=!0,this.destroyed=!1,e instanceof Array&&(e=new Float32Array(e)),this._data=e,i??(i=e?.byteLength);const o=!!e;this.descriptor={size:i,usage:r,mappedAtCreation:o,label:n},this.shrinkToFit=a??!0}get data(){return this._data}set data(t){this.setDataWithSize(t,t.length,!0)}get dataInt32(){return this._dataInt32||(this._dataInt32=new Int32Array(this.data.buffer)),this._dataInt32}get static(){return!!(this.descriptor.usage&n.S.STATIC)}set static(t){t?this.descriptor.usage|=n.S.STATIC:this.descriptor.usage&=~n.S.STATIC}setDataWithSize(t,e,i){if(this._updateID++,this._updateSize=e*t.BYTES_PER_ELEMENT,this._data===t){i&&this.emit
414("update",this);return}let r=this._data;(this._data=t,this._dataInt32=null,r&&r.length===t.length)?i&&this.emit("update",this):!this.shrinkToFit&&r&&t.byteLength<r.byteLength?i&&this.emit("update",this):(this.descriptor.size=t.byteLength,this._resourceId=(0,s.L)("resource"),this.emit("change",this))}update(t){this._updateSize=t??this._updateSize,this._updateID++,this.emit("update",this)}unload(){for(let t in this.emit("unload",this),this._gpuData)this._gpuData[t]?.destroy();this._gpuData=Object.create(null)}destroy(){this.destroyed=!0,this.unload(),this.emit("destroy",this),this.emit("change",this),this._data=null,this.descriptor=null,this.removeAllListeners()}}},93020:(t,e,i)=>{i.d(e,{Q:()=>R});var r={grad:.9,turn:360,rad:360/(2*Math.PI)},s=function(t){return"string"==typeof t?t.length>0:"number"==typeof t},n=function(t,e,i){return void 0===e&&(e=0),void 0===i&&(i=Math.pow(10,e)),Math.round(i*t)/i+0},a=function(t,e,i){return void 0===e&&(e=0),void 0===i&&(i=1),t>i?i:t>e?t:e},o=function(t){return(t=isFinite(t)?t%360:0)>0?t:t+360},l=function(t){return{r:a(t.r,0,255),g:a(t.g,0,255),b:a(t.b,0,255),a:a(t.a)}},h=function(t){return{r:n(t.r),g:n(t.g),b:n(t.b),a:n(t.a,3)}},u=/^#([0-9a-f]{3,8})$/i,d=function(t){var e=t.toString(16);return e.length<2?"0"+e:e},c=function(t){var e=t.r,i=t.g,r=t.b,s=t.a,n=Math.max(e,i,r),a=n-Math.min(e,i,r),o=a?n===e?(i-r)/a:n===i?2+(r-e)/a:4+(e-i)/a:0;return{h:60*(o<0?o+6:o),s:n?a/n*100:0,v:n/255*100,a:s}},f=function(t){var e=t.h,i=t.s,r=t.v,s=t.a;e=e/360*6,i/=100,r/=100;var n=Math.floor(e),a=r*(1-i),o=r*(1-(e-n)*i),l=r*(1-(1-e+n)*i),h=n%6;return{r:255*[r,o,a,a,l,r][h],g:255*[l,r,r,o,a,a][h],b:255*[a,a,l,r,r,o][h],a:s}},p=function(t){return{h:o(t.h),s:a(t.s,0,100),l:a(t.l,0,100),a:a(t.a)}},m=function(t){return{h:n(t.h),s:n(t.s),l:n(t.l),a:n(t.a,3)}},g=function(t){var e,i;return f((e=t.s,{h:t.h,s:(e*=((i=t.l)<50?i:100-i)/100)>0?2*e/(i+e)*100:0,v:i+e,a:t.a}))},x=function(t){var e,i,r,s;return{h:(e=c(t)).h,s:(s=(200-(i=e.s))*(r=e.v)/100)>0&&s<200?i*r/100/(s<=100?s:200-s)*100:0,l:s/2,a:e.a}},y=/^hsla?\(\s*([+-]?\d*\.?\d+)(deg|rad|grad|turn)?\s*,\s*([+-]?\d*\.?\d+)%\s*,\s*([+-]?\d*\.?\d+)%\s*(?:,\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,_=/^hsla?\(\s*([+-]?\d*\.?\d+)(deg|rad|grad|turn)?\s+([+-]?\d*\.?\d+)%\s+([+-]?\d*\.?\d+)%\s*(?:\/\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,v=/^rgba?\(\s*([+-]?\d*\.?\d+)(%)?\s*,\s*([+-]?\d*\.?\d+)(%)?\s*,\s*([+-]?\d*\.?\d+)(%)?\s*(?:,\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,b=/^rgba?\(\s*([+-]?\d*\.?\d+)(%)?\s+([+-]?\d*\.?\d+)(%)?\s+([+-]?\d*\.?\d+)(%)?\s*(?:\/\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,w={string:[[function(t){var e=u.exec(t);return e?(t=e[1]).length<=4?{r:parseInt(t[0]+t[0],16),g:parseInt(t[1]+t[1],16),b:parseInt(t[2]+t[2],16),a:4===t.length?n(parseInt(t[3]+t[3],16)/255,2):1}:6===t.length||8===t.length?{r:parseInt(t.substr(0,2),16),g:parseInt(t.substr(2,2),16),b:parseInt(t.substr(4,2),16),a:8===t.length?n(parseInt(t.substr(6,2),16)/255,2):1}:null:null},"hex"],[function(t){var e=v.exec(t)||b.exec(t);return e?e[2]!==e[4]||e[4]!==e[6]?null:l({r:Number(e[1])/(e[2]?100/255:1),g:Number(e[3])/(e[4]?100/255:1),b:Number(e[5])/(e[6]?100/255:1),a:void 0===e[7]?1:Number(e[7])/(e[8]?100:1)}):null},"rgb"],[function(t){var e,i,s=y.exec(t)||_.exec(t);return s?g(p({h:(e=s[1],void 0===(i=s[2])&&(i="deg"),Number(e)*(r[i]||1)),s:Number(s[3]),l:Number(s[4]),a:void 0===s[5]?1:Number(s[5])/(s[6]?100:1)})):null},"hsl"]],object:[[function(t){var e=t.r,i=t.g,r=t.b,n=t.a;return s(e)&&s(i)&&s(r)?l({r:Number(e),g:Number(i),b:Number(r),a:Number(void 0===n?1:n)}):null},"rgb"],[function(t){var e=t.h,i=t.s,r=t.l,n=t.a;return s(e)&&s(i)&&s(r)?g(p({h:Number(e),s:Number(i),l:Number(r),a:Number(void 0===n?1:n)})):null},"hsl"],[function(t){var e,i=t.h,r=t.s,n=t.v,l=t.a;return s(i)&&s(r)&&s(n)?f({h:o((e={h:Number(i),s:Number(r),v:Number(n),a:Number(void 0===l?1:l)}).h),s:a(e.s,0,100),v:a(e.v,0,100),a:a(e.a)}):null},"hsv"]]},A=function(t,e){for(var i=0;i<e.length;i++){var r=e[i][0](t);if(r)return[r,e[i][1]]}return[null,void 0]},S=function(t,e){var i=x(t);return{h:i.h,s:a(i.s+100*e,0,100),l:i.l,a:i.a}},C=function(t){return(299*t.r+587*t.g+114*t.b)/1e3/255},T=function(t,e){var i=x(t);return{h:i.h,s:i.s,l:a(i.l+100*e,0,100),a:i.a}},M=function(){function t(t){this.parsed=("string"==typeof t?A(t.trim(),w.string):"object"==typeof t&&null!==t?A(t,w.object):[null,void 0])[0],this.rgba=this.parsed||{r:0,g:0,b:0,a:1}}return t.prototype.isValid=function(){return null!==this.parsed},t.prototype.brightness=function(){return n(C(this.rgba),2)},t.prototype.isDark=function(){return .5>C(this.rgba)},t.prototype.isLight=function(){return C(this.rgba)>=.5},t.prototype.toHex=function(){var t,e,i,r,s,a;return e=(t=h(this.rgba)).r,i=t.g,r=t.b,a=(s=t.a)<1?d(n(255*s)):"","#"+d(e)+d(i)+d(r)+a},t.prototype.toRgb=function(){return h(this.rgba)},t.prototype.toRgbString=function(){var t,e,i,r,s;return e=(t=h(this.rgba)).r,i=t.g,r=t.b,(s=t.a)<1?"rgba("+e+", "+i+", "+r+", "+s+")":"rgb("+e+", "+i+", "+r+")"},t.prototype.toHsl=function(){return m(x(this.rgba))},t.prototype.toHslString=function(){var t,e,i,r,s;return e=(t=m(x(this.rgba))).h,i=t.s,r=t.l,(s=t.a)<1?"hsla("+e+", "+i+"%, "+r+"%, "+s+")":"hsl("+e+", "+i+"%, "+r+"%)"},t.prototype.toHsv=function(){var t;return{h:n((t=c(this.rgba)).h),s:n(t.s),v:n(t.v),a:n(t.a,3)}},t.prototype.invert=function(){var t;return P({r:255-(t=this.rgba).r,g:255-t.g,b:255-t.b,a:t.a})},t.prototype.saturate=function(t){return void 0===t&&(t=.1),P(S(this.rgba,t))},t.prototype.desaturate=function(t){return void 0===t&&(t=.1),P(S(this.rgba,-t))},t.prototype.grayscale=function(){return P(S(this.rgba,-1))},t.prototype.lighten=function(t){return void 0===t&&(t=.1),P(T(this.rgba,t))},t.prototype.darken=function(t){return void 0===t&&(t=.1),P(T(this.rgba,-t))},t.prototype.rotate=function(t){return void 0===t&&(t=15),this.hue(this.hue()+t)},t.prototype.alpha=function(t){var e;return"number"==typeof t?P({r:(e=this.rgba).r,g:e.g,b:e.b,a:t}):n(this.rgba.a,3)},t.prototype.hue=function(t){var e=x(this.rgba);return"number"==typeof t?P({h:t,s:e.s,l:e.l,a:e.a}):n(e.h)},t.prototype.isEqual=function(t){return this.toHex()===P(t).toHex()},t}(),P=function(t){return t instanceof M?t:new M(t)},k=[];[function(t,e){var i={white:"#ffffff",bisque:"#ffe4c4",blue:"#0000ff",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",antiquewhite:"#faebd7",aqua:"#00ffff",azure:"#f0ffff",whitesmoke:"#f5f5f5",papayawhip:"#ffefd5",plum:"#dda0dd",blanchedalmond:"#ffebcd",black:"#000000",gold:"#ffd700",goldenrod:"#daa520",gainsboro:"#dcdcdc",cornsilk:"#fff8dc",cornflowerblue:"#6495ed",burlywood:"#deb887",aquamarine:"#7fffd4",beige:"#f5f5dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkkhaki:"#bdb76b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",peachpuff:"#ffdab9",darkmagenta:"#8b008b",darkred:"#8b0000",darkorchid:"#9932cc",darkorange:"#ff8c00",darkslateblue:"#483d8b",gray:"#808080",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",deeppink:"#ff1493",deepskyblue:"#00bfff",wheat:"#f5deb3",firebrick:"#b22222",floralwhite:"#fffaf0",ghostwhite:"#f8f8ff",darkviolet:"#9400d3",magenta:"#ff00ff",green:"#008000",dodgerblue:"#1e90ff",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",blueviolet:"#8a2be2",forestgreen:"#228b22",lawngreen:"#7cfc00",indianred:"#cd5c5c",indigo:"#4b0082",fuchsia:"#ff00ff",brown:"#a52a2a",maroon:"#800000",mediumblue:"#0000cd",lightcoral:"#f08080",darkturquoise:"#00ced1",lightcyan:"#e0ffff",ivory:"#fffff0",lightyellow:"#ffffe0",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",linen:"#faf0e6",mediumaquamarine:"#66cdaa",lemonchiffon:"#fffacd",lime:"#00ff00",khaki:"#f0e68c",mediumseagreen:"#3cb371",limegreen:"#32cd32",mediumspringgreen:"#00fa9a",lightskyblue:"#87cefa",lightblue:"#add8e6",midnightblue:"#191970",lightpink:"#ffb6c1",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",mintcream:"#f5fffa",lightslategray:"#778899",lightslategrey:"#778899",navajowhite:"#ffdead",navy:"#000080",mediumvioletred:"#c71585",powderblue:"#b0e0e6",palegoldenrod:"#eee8aa",oldlace:"#fdf5e6",paleturquoise:"#afeeee",mediumturquoise:"#48d1cc",mediumorchid:"#ba55d3",rebeccapurple:"#663399",lightsteelblue:"#b0c4de",mediumslateblue:"#7b68ee",thistle:"#d8bfd8",tan:"#d2b48c",orchid:"#da70d6",mediumpurple:"#9370db",purple:"#800080",pink:"#ffc0cb",skyblue:"#87ceeb",springgreen:"#00ff7f",palegreen:"#98fb98",red:"#ff0000",yellow:"#ffff00",slateblue:"#6a5acd",lavenderblush:"#fff0f5",peru:"#cd853f",palevioletred:"#db7093",violet:"#ee82ee",teal:"#008080",slategray:"#708090",slategrey:"#708090",aliceblue:"#f0f8ff",darkseagreen:"#8fbc8f",darkolivegreen:"#556b2f",greenyellow:"#adff2f",seagreen:"#2e8b57",seashell:"#fff5ee",tomato:"#ff6347",silver:"#c0c0c0",sienna:"#a0522d",lavender:"#e6e6fa",lightgreen:"#90ee90",orange:"#ffa500",orangered:"#ff4500",steelblue:"#4682b4",royalblue:"#4169e1",turquoise:"#40e0d0",yellowgreen:"#9acd32",salmon:"#fa8072",saddlebrown:"#8b4513",s
414andybrown:"#f4a460",rosybrown:"#bc8f8f",darksalmon:"#e9967a",lightgoldenrodyellow:"#fafad2",snow:"#fffafa",lightgrey:"#d3d3d3",lightgray:"#d3d3d3",dimgray:"#696969",dimgrey:"#696969",olivedrab:"#6b8e23",olive:"#808000"},r={};for(var s in i)r[i[s]]=s;var n={};t.prototype.toName=function(e){if(!(this.rgba.a||this.rgba.r||this.rgba.g||this.rgba.b))return"transparent";var s,a=r[this.toHex()];if(a)return a;if(null==e?void 0:e.closest){var o=this.toRgb(),l=1/0,h="black";if(!n.length)for(var u in i)n[u]=new t(i[u]).toRgb();for(var d in i){var c=(s=n[d],Math.pow(o.r-s.r,2)+Math.pow(o.g-s.g,2)+Math.pow(o.b-s.b,2));c<l&&(l=c,h=d)}return h}},e.string.push([function(e){var r=e.toLowerCase(),s="transparent"===r?"#0000":i[r];return s?new t(s).toRgb():null},"name"])}].forEach(function(t){0>k.indexOf(t)&&(t(M,w),k.push(t))});let I=class t{constructor(t=0xffffff){this._value=null,this._components=new Float32Array(4),this._components.fill(1),this._int=0xffffff,this.value=t}get red(){return this._components[0]}get green(){return this._components[1]}get blue(){return this._components[2]}get alpha(){return this._components[3]}setValue(t){return this.value=t,this}set value(e){if(e instanceof t)this._value=this._cloneSource(e._value),this._int=e._int,this._components.set(e._components);else if(null===e)throw Error("Cannot set Color#value to null");else null!==this._value&&this._isSourceEqual(this._value,e)||(this._value=this._cloneSource(e),this._normalize(this._value))}get value(){return this._value}_cloneSource(t){if("string"==typeof t||"number"==typeof t||t instanceof Number||null===t);else if(Array.isArray(t)||ArrayBuffer.isView(t))return t.slice(0);else if("object"==typeof t&&null!==t)return{...t};return t}_isSourceEqual(t,e){let i=typeof t;if(i!==typeof e)return!1;if("number"===i||"string"===i||t instanceof Number);else if(Array.isArray(t)&&Array.isArray(e)||ArrayBuffer.isView(t)&&ArrayBuffer.isView(e))return t.length===e.length&&t.every((t,i)=>t===e[i]);else if(null!==t&&null!==e){let i=Object.keys(t),r=Object.keys(e);return i.length===r.length&&i.every(i=>t[i]===e[i])}return t===e}toRgba(){let[t,e,i,r]=this._components;return{r:t,g:e,b:i,a:r}}toRgb(){let[t,e,i]=this._components;return{r:t,g:e,b:i}}toRgbaString(){let[t,e,i]=this.toUint8RgbArray();return`rgba(${t},${e},${i},${this.alpha})`}toUint8RgbArray(t){let[e,i,r]=this._components;return this._arrayRgb||(this._arrayRgb=[]),t||(t=this._arrayRgb),t[0]=Math.round(255*e),t[1]=Math.round(255*i),t[2]=Math.round(255*r),t}toArray(t){this._arrayRgba||(this._arrayRgba=[]),t||(t=this._arrayRgba);let[e,i,r,s]=this._components;return t[0]=e,t[1]=i,t[2]=r,t[3]=s,t}toRgbArray(t){this._arrayRgb||(this._arrayRgb=[]),t||(t=this._arrayRgb);let[e,i,r]=this._components;return t[0]=e,t[1]=i,t[2]=r,t}toNumber(){return this._int}toBgrNumber(){let[t,e,i]=this.toUint8RgbArray();return(i<<16)+(e<<8)+t}toLittleEndianNumber(){let t=this._int;return(t>>16)+(65280&t)+((255&t)<<16)}multiply(e){let[i,r,s,n]=t._temp.setValue(e)._components;return this._components[0]*=i,this._components[1]*=r,this._components[2]*=s,this._components[3]*=n,this._refreshInt(),this._value=null,this}premultiply(t,e=!0){return e&&(this._components[0]*=t,this._components[1]*=t,this._components[2]*=t),this._components[3]=t,this._refreshInt(),this._value=null,this}toPremultiplied(t,e=!0){if(1===t)return -0x1000000+this._int;if(0===t)return e?0:this._int;let i=this._int>>16&255,r=this._int>>8&255,s=255&this._int;return e&&(i=i*t+.5|0,r=r*t+.5|0,s=s*t+.5|0),(255*t<<24)+(i<<16)+(r<<8)+s}toHex(){let t=this._int.toString(16);return`#${"000000".substring(0,6-t.length)+t}`}toHexa(){let t=Math.round(255*this._components[3]).toString(16);return this.toHex()+"00".substring(0,2-t.length)+t}setAlpha(t){return this._components[3]=this._clamp(t),this._value=null,this}_normalize(e){let i,r,s,n;if(("number"==typeof e||e instanceof Number)&&e>=0&&e<=0xffffff){let t=e;i=(t>>16&255)/255,r=(t>>8&255)/255,s=(255&t)/255,n=1}else if((Array.isArray(e)||e instanceof Float32Array)&&e.length>=3&&e.length<=4)e=this._clamp(e),[i,r,s,n=1]=e;else if((e instanceof Uint8Array||e instanceof Uint8ClampedArray)&&e.length>=3&&e.length<=4)e=this._clamp(e,0,255),[i,r,s,n=255]=e,i/=255,r/=255,s/=255,n/=255;else if("string"==typeof e||"object"==typeof e){if("string"==typeof e){let i=t.HEX_PATTERN.exec(e);i&&(e=`#${i[2]}`)}let a=P(e);a.isValid()&&({r:i,g:r,b:s,a:n}=a.rgba,i/=255,r/=255,s/=255)}if(void 0!==i)this._components[0]=i,this._components[1]=r,this._components[2]=s,this._components[3]=n,this._refreshInt();else throw Error(`Unable to convert color ${e}`)}_refreshInt(){this._clamp(this._components);let[t,e,i]=this._components;this._int=(255*t<<16)+(255*e<<8)+(255*i|0)}_clamp(t,e=0,i=1){return"number"==typeof t?Math.min(Math.max(t,e),i):(t.forEach((r,s)=>{t[s]=Math.min(Math.max(r,e),i)}),t)}static isColorLike(e){return"number"==typeof e||"string"==typeof e||e instanceof Number||e instanceof t||Array.isArray(e)||e instanceof Uint8Array||e instanceof Uint8ClampedArray||e instanceof Float32Array||void 0!==e.r&&void 0!==e.g&&void 0!==e.b||void 0!==e.r&&void 0!==e.g&&void 0!==e.b&&void 0!==e.a||void 0!==e.h&&void 0!==e.s&&void 0!==e.l||void 0!==e.h&&void 0!==e.s&&void 0!==e.l&&void 0!==e.a||void 0!==e.h&&void 0!==e.s&&void 0!==e.v||void 0!==e.h&&void 0!==e.s&&void 0!==e.v&&void 0!==e.a}};I.shared=new I,I._temp=new I,I.HEX_PATTERN=/^(#|0x)?(([a-f0-9]{3}){1,2}([a-f0-9]{2})?)$/i;let R=I},93414:(t,e,i)=>{i.d(e,{i:()=>s});var r=i(64900);function s(t,e){return"no-premultiply-alpha"===e.alphaMode&&r.Q[t]||t}},94762:(t,e,i)=>{i.d(e,{x:()=>p});var r=i(4215),s=i(93020),n=i(4596),a=i(68951),o=i(45325),l=i(23109),h=i(17295),u=i(1119),d=i(71359),c=i(84339);let f=class t extends r.A{constructor(e={}){super(),this.uid=(0,n.L)("textStyle"),this._tick=0,this._cachedFontString=null,function(t){if("boolean"==typeof t.dropShadow&&t.dropShadow){let e=p.defaultDropShadow;t.dropShadow={alpha:t.dropShadowAlpha??e.alpha,angle:t.dropShadowAngle??e.angle,blur:t.dropShadowBlur??e.blur,color:t.dropShadowColor??e.color,distance:t.dropShadowDistance??e.distance}}if(void 0!==t.strokeThickness){(0,a.t6)(a.lj,"strokeThickness is now a part of stroke");let e=t.stroke,i={};if(s.Q.isColorLike(e))i.color=e;else if(e instanceof l._||e instanceof h.m)i.fill=e;else if(Object.hasOwnProperty.call(e,"color")||Object.hasOwnProperty.call(e,"fill"))i=e;else throw Error("Invalid stroke value.");t.stroke={...i,width:t.strokeThickness}}
414if(Array.isArray(t.fillGradientStops)){if((0,a.t6)(a.lj,"gradient fill is now a fill pattern: `new FillGradient(...)`"),!Array.isArray(t.fill)||0===t.fill.length)throw Error("Invalid fill value. Expected an array of colors for gradient fill.");t.fill.length!==t.fillGradientStops.length&&(0,o.R)("The number of fill colors must match the number of fill gradient stops.");let e=new l._({start:{x:0,y:0},end:{x:0,y:1},textureSpace:"local"}),i=t.fillGradientStops.slice(),r=t.fill.map(t=>s.Q.shared.setValue(t).toNumber());i.forEach((t,i)=>{e.addColorStop(t,r[i])}),t.fill={fill:e}}}(e);const i=e instanceof t,r=e;i&&(e=r._toObject());const u={...t.defaultTextStyle,...e};for(const t in u)this[t]=u[t];this._tagStyles=e.tagStyles??void 0,this.update(),this._tick=0}get align(){return this._align}set align(t){this._align!==t&&(this._align=t,this.update())}get breakWords(){return this._breakWords}set breakWords(t){this._breakWords!==t&&(this._breakWords=t,this.update())}get dropShadow(){return this._dropShadow}set dropShadow(e){this._dropShadow!==e&&(null!==e&&"object"==typeof e?this._dropShadow=this._createProxy({...t.defaultDropShadow,...e}):this._dropShadow=e?this._createProxy({...t.defaultDropShadow}):null,this.update())}get fontFamily(){return this._fontFamily}set fontFamily(t){this._fontFamily!==t&&(this._fontFamily=t,this.update())}get fontSize(){return this._fontSize}set fontSize(t){this._fontSize!==t&&("string"==typeof t?this._fontSize=parseInt(t,10):this._fontSize=t,this.update())}get fontStyle(){return this._fontStyle}set fontStyle(t){this._fontStyle!==t&&(this._fontStyle=t.toLowerCase(),this.update())}get fontVariant(){return this._fontVariant}set fontVariant(t){this._fontVariant!==t&&(this._fontVariant=t,this.update())}get fontWeight(){return this._fontWeight}set fontWeight(t){this._fontWeight!==t&&(this._fontWeight=t,this.update())}get leading(){return this._leading}set leading(t){this._leading!==t&&(this._leading=t,this.update())}get letterSpacing(){return this._letterSpacing}set letterSpacing(t){this._letterSpacing!==t&&(this._letterSpacing=t,this.update())}get lineHeight(){return this._lineHeight}set lineHeight(t){this._lineHeight!==t&&(this._lineHeight=t,this.update())}get padding(){return this._padding}set padding(t){this._padding!==t&&(this._padding=t,this.update())}get filters(){return this._filters}set filters(t){this._filters!==t&&(this._filters=Object.freeze(t),this.update())}get trim(){return this._trim}set trim(t){this._trim!==t&&(this._trim=t,this.update())}get textBaseline(){return this._textBaseline}set textBaseline(t){this._textBaseline!==t&&(this._textBaseline=t,this.update())}get whiteSpace(){return this._whiteSpace}set whiteSpace(t){this._whiteSpace!==t&&(this._whiteSpace=t,this.update())}get wordWrap(){return this._wordWrap}set wordWrap(t){this._wordWrap!==t&&(this._wordWrap=t,this.update())}get wordWrapWidth(){return this._wordWrapWidth}set wordWrapWidth(t){this._wordWrapWidth!==t&&(this._wordWrapWidth=t,this.update())}get fill(){return this._originalFill}set fill(t){t!==this._originalFill&&(this._originalFill=t,this._isFillStyle(t)&&(this._originalFill=this._createProxy({...u.T.defaultFillStyle,...t},()=>{this._fill=(0,d.w)({...this._originalFill},u.T.defaultFillStyle)})),this._fill=(0,d.w)(0===t?"black":t,u.T.defaultFillStyle),this.update())}get stroke(){return this._originalStroke}set stroke(t){t!==this._originalStroke&&(this._originalStroke=t,this._isFillStyle(t)&&(this._originalStroke=this._createProxy({...u.T.defaultStrokeStyle,...t},()=>{this._stroke=(0,d.T)({...this._originalStroke},u.T.defaultStrokeStyle)})),this._stroke=(0,d.T)(t,u.T.defaultStrokeStyle),this.update())}get tagStyles(){return this._tagStyles}set tagStyles(t){this._tagStyles!==t&&(this._tagStyles=t??void 0,this.update())}update(){this._tick++,this._cachedFontString=null,this.emit("update",this)}reset(){let e=t.defaultTextStyle;for(let t in e)this[t]=e[t]}assign(t){for(let e in t)this[e]=t[e];return this}get styleKey(){return`${this.uid}-${this._tick}`}get _fontString(){return null===this._cachedFontString&&(this._cachedFontString=(0,c.Z)(this)),this._cachedFontString}_toObject(){return{align:this.align,breakWords:this.breakWords,dropShadow:this._dropShadow?{...this._dropShadow}:null,fill:this._fill?{...this._fill}:void 0,fontFamily:this.fontFamily,fontSize:this.fontSize,fontStyle:this.fontStyle,fontVariant:this.fontVariant,fontWeight:this.fontWeight,leading:this.leading,letterSpacing:this.letterSpacing,lineHeight:this.lineHeight,padding:this.padding,stroke:this._stroke?{...this._stroke}:void 0,textBaseline:this.textBaseline,trim:this.trim,whiteSpace:this.whiteSpace,wordWrap:this.wordWrap,wordWrapWidth:this.wordWrapWidth,filters:this._filters?[...this._filters]:void 0,tagStyles:this._tagStyles?{...this._tagStyles}:void 0}}clone(){return new t(this._toObject())}_getFinalPadding(){let t=0;if(this._filters)for(let e=0;e<this._filters.length;e++)t+=this._filters[e].padding;return Math.max(this._padding,t)}destroy(t=!1){if(this.removeAllListeners(),"boolean"==typeof t?t:t?.texture){let e="boolean"==typeof t?t:t?.textureSource;this._fill?.texture&&this._fill.texture.destroy(e),this._originalFill?.texture&&this._originalFill.texture.destroy(e),this._stroke?.texture&&this._stroke.texture.destroy(e),this._originalStroke?.texture&&this._originalStroke.texture.destroy(e)}this._fill=null,this._stroke=null,this.dropShadow=null,this._originalStroke=null,this._originalFill=null}_createProxy(t,e){return new Proxy(t,{set:(t,i,r)=>t[i]===r||(t[i]=r,e?.(i,r),this.update(),!0)})}_isFillStyle(t){return(t??null)!==null&&!(s.Q.isColorLike(t)||t instanceof l._||t instanceof h.m)}};f.defaultDropShadow={alpha:1,angle:Math.PI/6,blur:0,color:"black",distance:5},f.defaultTextStyle={align:"left",breakWords:!1,dropShadow:null,fill:"black",fontFamily:"Arial",fontSize:26,fontStyle:"normal",fontVariant:"normal",fontWeight:"normal",leading:0,letterSpacing:0,lineHeight:0,padding:0,stroke:null,textBaseline:"alphabetic",trim:!1,whiteSpace:"pre",wordWrap:!1,wordWrapWidth:100};let p=f},95194:(t,e,i)=>{i.d(e,{E:()=>a,f:()=>n});var r=i(76080),s=i(78713);function n(t,e,i){let n,o;return i.clear(),n=t.parent?e?t.parent.worldTransform:a(t,o=s.u.get().identity()):r.u.IDENTITY,function t(e,i,n,a){let o;if(!e.visible||!e.measurable)return;a?o=e.worldTransform:(e.updateLocalTransform(),(o=s.u.get()).appendFrom(e.localTransform,n));let l=i,h=!!e.effects.length;if(h&&(i=s.o.get().clear()),e.boundsArea)i.addRect(e.boundsArea,o);else{let r=e.bounds;r&&!r.isEmpty()&&(i.matrix=o,i.addBounds(r));for(let r=0;r<e.children.length;r++)t(e.children[r],i,o,a)}if(h){for(let t=0;t<e.effects.length;t++)e.effects[t].addBounds?.(i);l.addBounds(i,r.u.IDENTITY),s.o.return(i)}a||s.u.return(o)}(t,i,n,e),o&&s.u.return(o),i.isValid||i.set(0,0,0,0),i}function a(t,e){let i=t.parent;return i&&(a(i,e),i.updateLocalTransform(),e.append(i.localTransform)),e}}
414,96213:(t,e,i)=>{i.d(e,{k:()=>l});var r=i(12853),s=i(62835),n=i(1417),a=i(68951),o=i(15728);class l extends o.l{constructor(t=s.g.EMPTY){t instanceof s.g&&(t={texture:t});const{texture:e=s.g.EMPTY,anchor:i,roundPixels:n,width:a,height:o,...l}=t;super({label:"Sprite",...l}),this.renderPipeId="sprite",this.batched=!0,this._visualBounds={minX:0,maxX:1,minY:0,maxY:0},this._anchor=new r.o({_onUpdate:()=>{this.onViewUpdate()}}),i?this.anchor=i:e.defaultAnchor&&(this.anchor=e.defaultAnchor),this.texture=e,this.allowChildren=!1,this.roundPixels=n??!1,void 0!==a&&(this.width=a),void 0!==o&&(this.height=o)}static from(t,e=!1){return new l(t instanceof s.g?t:s.g.from(t,e))}set texture(t){t||(t=s.g.EMPTY);let e=this._texture;e!==t&&(e&&e.dynamic&&e.off("update",this.onViewUpdate,this),t.dynamic&&t.on("update",this.onViewUpdate,this),this._texture=t,this._width&&this._setWidth(this._width,this._texture.orig.width),this._height&&this._setHeight(this._height,this._texture.orig.height),this.onViewUpdate())}get texture(){return this._texture}get visualBounds(){return(0,n.y)(this._visualBounds,this._anchor,this._texture),this._visualBounds}get sourceBounds(){return(0,a.t6)("8.6.1","Sprite.sourceBounds is deprecated, use visualBounds instead."),this.visualBounds}updateBounds(){let t=this._anchor,e=this._texture,i=this._bounds,{width:r,height:s}=e.orig;i.minX=-t._x*r,i.maxX=i.minX+r,i.minY=-t._y*s,i.maxY=i.minY+s}destroy(t=!1){if(super.destroy(t),"boolean"==typeof t?t:t?.texture){let e="boolean"==typeof t?t:t?.textureSource;this._texture.destroy(e)}this._texture=null,this._visualBounds=null,this._bounds=null,this._anchor=null}get anchor(){return this._anchor}set anchor(t){"number"==typeof t?this._anchor.set(t):this._anchor.copyFrom(t)}get width(){return Math.abs(this.scale.x)*this._texture.orig.width}set width(t){this._setWidth(t,this._texture.orig.width),this._width=t}get height(){return Math.abs(this.scale.y)*this._texture.orig.height}set height(t){this._setHeight(t,this._texture.orig.height),this._height=t}getSize(t){return t||(t={}),t.width=Math.abs(this.scale.x)*this._texture.orig.width,t.height=Math.abs(this.scale.y)*this._texture.orig.height,t}setSize(t,e){"object"==typeof t?(e=t.height??t.width,t=t.width):e??(e=t),void 0!==t&&this._setWidth(t,this._texture.orig.width),void 0!==e&&this._setHeight(e,this._texture.orig.height)}}},96812:(t,e,i)=>{i.d(e,{B:()=>c});var r,s=i(14641),n=i(36339);let a={f32:"float32","vec2<f32>":"float32x2","vec3<f32>":"float32x3","vec4<f32>":"float32x4",vec2f:"float32x2",vec3f:"float32x3",vec4f:"float32x4",i32:"sint32","vec2<i32>":"sint32x2","vec3<i32>":"sint32x3","vec4<i32>":"sint32x4",vec2i:"sint32x2",vec3i:"sint32x3",vec4i:"sint32x4",u32:"uint32","vec2<u32>":"uint32x2","vec3<u32>":"uint32x3","vec4<u32>":"uint32x4",vec2u:"uint32x2",vec3u:"uint32x3",vec4u:"uint32x4",bool:"uint32","vec2<bool>":"uint32x2","vec3<bool>":"uint32x3","vec4<bool>":"uint32x4"},o=/@location\((\d+)\)\s+([a-zA-Z0-9_]+)\s*:\s*([a-zA-Z0-9_<>]+)(?:,|\s|\)|$)/g;function l(t,e){let i;for(;null!==(i=o.exec(t));){let t=a[i[3]]??"float32";e[i[2]]={location:parseInt(i[1],10),format:t,stride:(0,n.m)(t).stride,offset:0,instance:!1,start:0}}o.lastIndex=0}function h(t){let e=/@group\((\d+)\)/,i=/@binding\((\d+)\)/,r=/var(<[^>]+>)? (\w+)/,s=/:\s*([\w<>]+)/,n=/(\w+)\s*:\s*([\w\<\>]+)/g,a=/struct\s+(\w+)/,o=t.match(/(^|[^/])@(group|binding)\(\d+\)[^;]+;/g)?.map(t=>({group:parseInt(t.match(e)[1],10),binding:parseInt(t.match(i)[1],10),name:t.match(r)[2],isUniform:"<uniform>"===t.match(r)[1],type:t.match(s)[1]}));if(!o)return{groups:[],structs:[]};let l=t.match(/struct\s+(\w+)\s*{([^}]+)}/g)?.map(t=>{let e=t.match(a)[1],i=t.match(n).reduce((t,e)=>{let[i,r]=e.split(":");return t[i.trim()]=r.trim(),t},{});return i?{name:e,members:i}:null}).filter(({name:t})=>o.some(e=>e.type===t||e.type.includes(`<${t}>`)))??[];return{groups:o,structs:l}}var u=((r=u||{})[r.VERTEX=1]="VERTEX",r[r.FRAGMENT=2]="FRAGMENT",r[r.COMPUTE=4]="COMPUTE",r);let d=Object.create(null);class c{constructor(t){this._layoutKey=0,this._attributeLocationsKey=0;const{fragment:e,vertex:i,layout:r,gpuLayout:s,name:n}=t;if(this.name=n,this.fragment=e,this.vertex=i,e.source===i.source){const t=h(e.source);this.structsAndGroups=t}else{const t=h(i.source),r=h(e.source);this.structsAndGroups=function(t,e){let i=new Set,r=new Set;return{structs:[...t.structs,...e.structs].filter(t=>!i.has(t.name)&&(i.add(t.name),!0)),groups:[...t.groups,...e.groups].filter(t=>{let e=`${t.name}-${t.binding}`;return!r.has(e)&&(r.add(e),!0)})}}(t,r)}this.layout=r??function({groups:t}){let e=[];for(let i=0;i<t.length;i++){let r=t[i];e[r.group]||(e[r.group]={}),e[r.group][r.name]=r.binding}return e}(this.structsAndGroups),this.gpuLayout=s??function({groups:t}){let e=[];for(let i=0;i<t.length;i++){let r=t[i];e[r.group]||(e[r.group]=[]),r.isUniform?e[r.group].push({binding:r.binding,visibility:u.VERTEX|u.FRAGMENT,buffer:{type:"uniform"}}):"sampler"===r.type?e[r.group].push({binding:r.binding,visibility:u.FRAGMENT,sampler:{type:"filtering"}}):"texture_2d"===r.type||r.type.startsWith("texture_2d<")?e[r.group].push({binding:r.binding,visibility:u.FRAGMENT,texture:{sampleType:"float",viewDimension:"2d",multisampled:!1}}):"texture_2d_array"===r.type||r.type.startsWith("texture_2d_array<")?e[r.group].push({binding:r.binding,visibility:u.FRAGMENT,texture:{sampleType:"float",viewDimension:"2d-array",multisampled:!1}}):("texture_cube"===r.type||r.type.startsWith("texture_cube<"))&&e[r.group].push({binding:r.binding,visibility:u.FRAGMENT,texture:{sampleType:"float",viewDimension:"cube",multisampled:!1}})}for(let t=0;t<e.length;t++)e[t]||(e[t]=[]);return e}(this.structsAndGroups),this.autoAssignGlobalUniforms=this.layout[0]?.globalUniforms!==void 0,this.autoAssignLocalUniforms=this.layout[1]?.localUniforms!==void 0,this._generateProgramKey()}_generateProgramKey(){let{vertex:t,fragment:e}=this,i=t.source+e.source+t.entryPoint+e.entryPoint;this._layoutKey=(0,s.X)(i,"program")}get attributeData(){return this._attributeData??(this._attributeData=function({source:t,entryPoint:e}){let i={},r=t.replace(/\/\/.*$/gm,"").replace(/\/\*[\s\S]*?\*\//g,""),s=r.indexOf(`fn ${e}(`);if(-1===s)return i;let n=r.indexOf("->",s);if(-1===n)return i;let a=r.substring(s,n);if(l(a,i),0===Object.keys(i).length){let t=a.match(/\(\s*\w+\s*:\s*(\w+)/);if(t){let e=t[1],s=RegExp(`struct\\s+${e}\\s*\\{([^}]+)\\}`,"s"),n=r.match(s);n&&l(n[1],i)}}return i}(this.vertex)),this._attributeData}destroy(){this.gpuLayout=null,this.layout=null,this.structsAndGroups=null,this.fragment=null,this.vertex=null,d[this._cacheKey]=null}static from(t){let e=`${t.vertex.source}:${t.fragment.source}:${t.fragment.entryPoint}:${t.vertex.entryPoint}`;return d[e]||(d[e]=new c(t),d[e]._cacheKey=e),d[e]}}},97112:(t,e,i)=>{i.d(e,{a:()=>r});let r=t=>!Array.isArray(t)}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.