@esotericsoftware/spine-pixi-v8
Version:
The official Spine Runtimes for PixiJS v8.
1 lines • 191 kB
JavaScript
"use strict";if(typeof window<"u"&&window.PIXI){const e=window.require;window.require=t=>{if(e)return e(t);if(t.startsWith("@pixi/")||t.startsWith("pixi.js"))return window.PIXI}}import{checkExtension as se,copySearchParams as ur,DOMAdapter as mr,extensions as gr,ExtensionType as ws,LoaderParserPriority as pr,path as Vt,Resolver as xr,TextureSource as ys}from"pixi.js";import{Texture as br}from"pixi.js";var wr=class{array=new Array;add(e){let t=this.contains(e);return this.array[e|0]=e|0,!t}contains(e){return this.array[e|0]!=null}remove(e){this.array[e|0]=void 0}clear(){this.array.length=0}},re=class{entries={};size=0;add(e){let t=this.entries[e];return this.entries[e]=!0,t?!1:(this.size++,!0)}addAll(e){let t=this.size;for(var s=0,i=e.length;s<i;s++)this.add(e[s]);return t!=this.size}contains(e){return this.entries[e]}clear(){this.entries={},this.size=0}},V=class wt{constructor(t=0,s=0,i=0,r=0){this.r=t,this.g=s,this.b=i,this.a=r}static WHITE=new wt(1,1,1,1);static RED=new wt(1,0,0,1);static GREEN=new wt(0,1,0,1);static BLUE=new wt(0,0,1,1);static MAGENTA=new wt(1,0,1,1);set(t,s,i,r){return this.r=t,this.g=s,this.b=i,this.a=r,this.clamp()}setFromColor(t){return this.r=t.r,this.g=t.g,this.b=t.b,this.a=t.a,this}setFromString(t){return t=t.charAt(0)=="#"?t.substr(1):t,this.r=parseInt(t.substr(0,2),16)/255,this.g=parseInt(t.substr(2,2),16)/255,this.b=parseInt(t.substr(4,2),16)/255,this.a=t.length!=8?1:parseInt(t.substr(6,2),16)/255,this}add(t,s,i,r){return this.r+=t,this.g+=s,this.b+=i,this.a+=r,this.clamp()}clamp(){return this.r<0?this.r=0:this.r>1&&(this.r=1),this.g<0?this.g=0:this.g>1&&(this.g=1),this.b<0?this.b=0:this.b>1&&(this.b=1),this.a<0?this.a=0:this.a>1&&(this.a=1),this}static rgba8888ToColor(t,s){t.r=((s&4278190080)>>>24)/255,t.g=((s&16711680)>>>16)/255,t.b=((s&65280)>>>8)/255,t.a=(s&255)/255}static rgb888ToColor(t,s){t.r=((s&16711680)>>>16)/255,t.g=((s&65280)>>>8)/255,t.b=(s&255)/255}toRgb888(){const t=s=>("0"+(s*255).toString(16)).slice(-2);return+("0x"+t(this.r)+t(this.g)+t(this.b))}static fromString(t,s=new wt){return s.setFromString(t)}},B=class lt{static PI=3.1415927;static PI2=lt.PI*2;static invPI2=1/lt.PI2;static radiansToDegrees=180/lt.PI;static radDeg=lt.radiansToDegrees;static degreesToRadians=lt.PI/180;static degRad=lt.degreesToRadians;static clamp(t,s,i){return t<s?s:t>i?i:t}static cosDeg(t){return Math.cos(t*lt.degRad)}static sinDeg(t){return Math.sin(t*lt.degRad)}static atan2Deg(t,s){return Math.atan2(t,s)*lt.degRad}static signum(t){return t>0?1:t<0?-1:0}static toInt(t){return t>0?Math.floor(t):Math.ceil(t)}static cbrt(t){let s=Math.pow(Math.abs(t),.3333333333333333);return t<0?-s:s}static randomTriangular(t,s){return lt.randomTriangularWith(t,s,(t+s)*.5)}static randomTriangularWith(t,s,i){let r=Math.random(),l=s-t;return r<=(i-t)/l?t+Math.sqrt(r*l*(i-t)):s-Math.sqrt((1-r)*l*(s-i))}static isPowerOfTwo(t){return t&&(t&t-1)===0}},vs=class{apply(e,t,s){return e+(t-e)*this.applyInternal(s)}},Cs=class extends vs{power=2;constructor(e){super(),this.power=e}applyInternal(e){return e<=.5?Math.pow(e*2,this.power)/2:Math.pow((e-1)*2,this.power)/(this.power%2==0?-2:2)+1}},yr=class extends Cs{constructor(e){super(e)}applyInternal(e){return Math.pow(e-1,this.power)*(this.power%2==0?-1:1)+1}},E=class It{static SUPPORTS_TYPED_ARRAYS=typeof Float32Array<"u";static arrayCopy(t,s,i,r,l){for(let o=s,n=r;o<s+l;o++,n++)i[n]=t[o]}static arrayFill(t,s,i,r){for(let l=s;l<i;l++)t[l]=r}static setArraySize(t,s,i=0){let r=t.length;if(r==s)return t;if(t.length=s,r<s)for(let l=r;l<s;l++)t[l]=i;return t}static ensureArrayCapacity(t,s,i=0){return t.length>=s?t:It.setArraySize(t,s,i)}static newArray(t,s){let i=new Array(t);for(let r=0;r<t;r++)i[r]=s;return i}static newFloatArray(t){if(It.SUPPORTS_TYPED_ARRAYS)return new Float32Array(t);{let s=new Array(t);for(let i=0;i<s.length;i++)s[i]=0;return s}}static newShortArray(t){if(It.SUPPORTS_TYPED_ARRAYS)return new Int16Array(t);{let s=new Array(t);for(let i=0;i<s.length;i++)s[i]=0;return s}}static toFloatArray(t){return It.SUPPORTS_TYPED_ARRAYS?new Float32Array(t):t}static toSinglePrecision(t){return It.SUPPORTS_TYPED_ARRAYS?Math.fround(t):t}static webkit602BugfixHelper(t,s){}static contains(t,s,i=!0){for(var r=0;r<t.length;r++)if(t[r]==s)return!0;return!1}static enumValue(t,s){return t[s[0].toUpperCase()+s.slice(1)]}},vr=class{static logBones(e){for(let t=0;t<e.bones.length;t++){let s=e.bones[t];console.log(s.data.name+", "+s.a+", "+s.b+", "+s.c+", "+s.d+", "+s.worldX+", "+s.worldY)}}},Ct=class{items=new Array;instantiator;constructor(e){this.instantiator=e}obtain(){return this.items.length>0?this.items.pop():this.instantiator()}free(e){e.reset&&e.reset(),this.items.push(e)}freeAll(e){for(let t=0;t<e.length;t++)this.free(e[t])}clear(){this.items.length=0}},Xt=class{constructor(e=0,t=0){this.x=e,this.y=t}set(e,t){return this.x=e,this.y=t,this}length(){let e=this.x,t=this.y;return Math.sqrt(e*e+t*t)}normalize(){let e=this.length();return e!=0&&(this.x/=e,this.y/=e),this}},Cr=class{maxDelta=.064;framesPerSecond=0;delta=0;totalTime=0;lastTime=Date.now()/1e3;frameCount=0;frameTime=0;update(){let e=Date.now()/1e3;this.delta=e-this.lastTime,this.frameTime+=this.delta,this.totalTime+=this.delta,this.delta>this.maxDelta&&(this.delta=this.maxDelta),this.lastTime=e,this.frameCount++,this.frameTime>1&&(this.framesPerSecond=this.frameCount/this.frameTime,this.frameTime=0,this.frameCount=0)}},Ar=class{values;addedValues=0;lastValue=0;mean=0;dirty=!0;constructor(e=32){this.values=new Array(e)}hasEnoughData(){return this.addedValues>=this.values.length}addValue(e){this.addedValues<this.values.length&&this.addedValues++,this.values[this.lastValue++]=e,this.lastValue>this.values.length-1&&(this.lastValue=0),this.dirty=!0}getMean(){if(this.hasEnoughData()){if(this.dirty){let e=0;for(let t=0;t<this.values.length;t++)e+=this.values[t];this.mean=e/this.values.length,this.dirty=!1}return this.mean}return 0}},ie=class{name;constructor(e){if(!e)throw new Error("name cannot be null.");this.name=e}},ht=class rr extends ie{static nextID=0;id=rr.nextID++;bones=null;vertices=[];worldVerticesLength=0;timelineAttachment=this;constructor(t){super(t)}computeWorldVertices(t,s,i,r,l,o){i=l+(i>>1)*o;let n=t.bone.skeleton,a=t.deform,h=this.vertices,c=this.bones;if(!c){a.length>0&&(h=a);let u=t.bone,p=u.worldX,b=u.worldY,w=u.a,g=u.b,x=u.c,y=u.d;for(let v=s,C=l;C<i;v+=2,C+=o){let A=h[v],k=h[v+1];r[C]=A*w+k*g+p,r[C+1]=A*x+k*y+b}return}let f=0,d=0;for(let u=0;u<s;u+=2){let p=c[f];f+=p+1,d+=p}let m=n.bones;if(a.length==0)for(let u=l,p=d*3;u<i;u+=o){let b=0,w=0,g=c[f++];for(g+=f;f<g;f++,p+=3){let x=m[c[f]],y=h[p],v=h[p+1],C=h[p+2];b+=(y*x.a+v*x.b+x.worldX)*C,w+=(y*x.c+v*x.d+x.worldY)*C}r[u]=b,r[u+1]=w}else{let u=a;for(let p=l,b=d*3,w=d<<1;p<i;p+=o){let g=0,x=0,y=c[f++];for(y+=f;f<y;f++,b+=3,w+=2){let v=m[c[f]],C=h[b]+u[w],A=h[b+1]+u[w+1],k=h[b+2];g+=(C*v.a+A*v.b+v.worldX)*k,x+=(C*v.c+A*v.d+v.worldY)*k}r[p]=g,r[p+1]=x}}}copyTo(t){this.bones?(t.bones=new Array(this.bones.length),E.arrayCopy(this.bones,0,t.bones,0,this.bones.length)):t.bones=null,this.vertices&&(t.vertices=E.newFloatArray(this.vertices.length),E.arrayCopy(this.vertices,0,t.vertices,0,this.vertices.length)),t.worldVerticesLength=this.worldVerticesLength,t.timelineAttachment=this.timelineAttachment}},As=class Kt{static _nextID=0;id=Kt.nextID();regions;start=0;digits=0;setupIndex=0;constructor(t){this.regions=new Array(t)}copy(){let t=new Kt(this.regions.length);return E.arrayCopy(this.regions,0,t.regions,0,this.regions.length),t.start=this.start,t.digits=this.digits,t.setupIndex=this.setupIndex,t}apply(t,s){let i=t.sequenceIndex;i==-1&&(i=this.setupIndex),i>=this.regions.length&&(i=this.regions.length-1);let r=this.regions[i];s.region!=r&&(s.region=r,s.updateRegion())}getPath(t,s){let i=t,r=(this.start+s).toString();for(let l=this.digits-r.length;l>0;l--)i+="0";return i+=r,i}static nextID(){return Kt._nextID++}},Ss=(e=>(e[e.hold=0]="hold",e[e.once=1]="once",e[e.loop=2]="loop",e[e.pingpong=3]="pingpong",e[e.onceReverse=4]="onceReverse",e[e.loopReverse=5]="loopReverse",e[e.pingpongReverse=6]="pingpongReverse",e))(Ss||{}),ks=[0,1,2,3,4,5,6],Nt=class{name;timelines=[];timelineIds=new re;duration;constructor(e,t,s){if(!e)throw new Error("name cannot be null.");this.name=e,this.setTimelines(t),this.duration=s}setTimelines(e){if(!e)throw new Error("timelines cannot be null.");this.timelines=e,this.timelineIds.clear();for(var t=0;t<e.length;t++)this.timelineIds.addAll(e[t].getPropertyIds())}hasTimeline(e){for(let t=0;t<e.length;t++)if(this.timelineIds.contains(e[t]))return!0;return!1}apply(e,t,s,i,r,l,o,n){if(!e)throw new Error("skeleton cannot be null.");i&&this.duration!=0&&(s%=this.duration,t>0&&(t%=this.duration));let a=this.timelines;for(let h=0,c=a.length;h<c;h++)a[h].apply(e,t,s,r,l,o,n)}},Ts=(e=>(e[e.setup=0]="setup",e[e.first=1]="first",e[e.replace=2]="replace",e[e.add=3]="add",e))(Ts||{}),Is=(e=>(e[e.mixIn=0]="mixIn",e[e.mixOut=1]="mixOut",e))(Is||{}),_={rotate:0,x:1,y:2,scaleX:3,scaleY:4,shearX:5,shearY:6,inherit:7,rgb:8,alpha:9,rgb2:10,attachment:11,deform:12,event:13,drawOrder:14,ikConstraint:15,transformConstraint:16,pathConstraintPosition:17,pathConstraintSpacing:18,pathConstraintMix:19,physicsConstraintInertia:20,physicsConstraintStrength:21,physicsConstraintDamping:22,physicsConstraintMass:23,physicsConstraintWind:24,physicsConstraintGravity:25,physicsConstraintMix:26,physicsConstraintReset:27,sequence:28},$=class{propertyIds;frames;constructor(e,t){this.propertyIds=t,this.frames=E.newFloatArray(e*this.getFrameEntries())}getPropertyIds(){return this.propertyIds}getFrameEntries(){return 1}getFrameCount(){return this.frames.length/this.getFrameEntries()}getDuration(){return this.frames[this.frames.length-this.getFrameEntries()]}static search1(e,t){let s=e.length;for(let i=1;i<s;i++)if(e[i]>t)return i-1;return s-1}static search(e,t,s){let i=e.length;for(let r=s;r<i;r+=s)if(e[r]>t)return r-s;return i-s}},it=class extends ${curves;constructor(e,t,s){super(e,s),this.curves=E.newFloatArray(e+t*18),this.curves[e-1]=1}setLinear(e){this.curves[e]=0}setStepped(e){this.curves[e]=1}shrink(e){let t=this.getFrameCount()+e*18;if(this.curves.length>t){let s=E.newFloatArray(t);E.arrayCopy(this.curves,0,s,0,t),this.curves=s}}setBezier(e,t,s,i,r,l,o,n,a,h,c){let f=this.curves,d=this.getFrameCount()+e*18;s==0&&(f[t]=2+d);let m=(i-l*2+n)*.03,u=(r-o*2+a)*.03,p=((l-n)*3-i+h)*.006,b=((o-a)*3-r+c)*.006,w=m*2+p,g=u*2+b,x=(l-i)*.3+m+p*.16666667,y=(o-r)*.3+u+b*.16666667,v=i+x,C=r+y;for(let A=d+18;d<A;d+=2)f[d]=v,f[d+1]=C,x+=w,y+=g,w+=p,g+=b,v+=x,C+=y}getBezierValue(e,t,s,i){let r=this.curves;if(r[i]>e){let a=this.frames[t],h=this.frames[t+s];return h+(e-a)/(r[i]-a)*(r[i+1]-h)}let l=i+18;for(i+=2;i<l;i+=2)if(r[i]>=e){let a=r[i-2],h=r[i-1];return h+(e-a)/(r[i]-a)*(r[i+1]-h)}t+=this.getFrameEntries();let o=r[l-2],n=r[l-1];return n+(e-o)/(this.frames[t]-o)*(this.frames[t+s]-n)}},st=class extends it{constructor(e,t,s){super(e,t,[s])}getFrameEntries(){return 2}setFrame(e,t,s){e<<=1,this.frames[e]=t,this.frames[e+1]=s}getCurveValue(e){let t=this.frames,s=t.length-2;for(let r=2;r<=s;r+=2)if(t[r]>e){s=r-2;break}let i=this.curves[s>>1];switch(i){case 0:let r=t[s],l=t[s+1];return l+(e-r)/(t[s+2]-r)*(t[s+2+1]-l);case 1:return t[s+1]}return this.getBezierValue(e,s,1,i-2)}getRelativeValue(e,t,s,i,r){if(e<this.frames[0]){switch(s){case 0:return r;case 1:return i+(r-i)*t}return i}let l=this.getCurveValue(e);switch(s){case 0:return r+l*t;case 1:case 2:l+=r-i}return i+l*t}getAbsoluteValue(e,t,s,i,r){if(e<this.frames[0]){switch(s){case 0:return r;case 1:return i+(r-i)*t}return i}let l=this.getCurveValue(e);return s==0?r+(l-r)*t:i+(l-i)*t}getAbsoluteValue2(e,t,s,i,r,l){if(e<this.frames[0]){switch(s){case 0:return r;case 1:return i+(r-i)*t}return i}return s==0?r+(l-r)*t:i+(l-i)*t}getScaleValue(e,t,s,i,r,l){const o=this.frames;if(e<o[0]){switch(s){case 0:return l;case 1:return r+(l-r)*t}return r}let n=this.getCurveValue(e)*l;if(t==1)return s==3?r+n-l:n;if(i==1)switch(s){case 0:return l+(Math.abs(n)*B.signum(l)-l)*t;case 1:case 2:return r+(Math.abs(n)*B.signum(r)-r)*t}else{let a=0;switch(s){case 0:return a=Math.abs(l)*B.signum(n),a+(n-a)*t;case 1:case 2:return a=Math.abs(r)*B.signum(n),a+(n-a)*t}}return r+(n-l)*t}},Ot=class extends it{constructor(e,t,s,i){super(e,t,[s,i])}getFrameEntries(){return 3}setFrame(e,t,s,i){e*=3,this.frames[e]=t,this.frames[e+1]=s,this.frames[e+2]=i}},Ft=class extends st{boneIndex=0;constructor(e,t,s){super(e,t,_.rotate+"|"+s),this.boneIndex=s}apply(e,t,s,i,r,l,o){let n=e.bones[this.boneIndex];n.active&&(n.rotation=this.getRelativeValue(s,r,l,n.rotation,n.data.rotation))}},ne=class extends Ot{boneIndex=0;constructor(e,t,s){super(e,t,_.x+"|"+s,_.y+"|"+s),this.boneIndex=s}apply(e,t,s,i,r,l,o){let n=e.bones[this.boneIndex];if(!n.active)return;let a=this.frames;if(s<a[0]){switch(l){case 0:n.x=n.data.x,n.y=n.data.y;return;case 1:n.x+=(n.data.x-n.x)*r,n.y+=(n.data.y-n.y)*r}return}let h=0,c=0,f=$.search(a,s,3),d=this.curves[f/3];switch(d){case 0:let m=a[f];h=a[f+1],c=a[f+2];let u=(s-m)/(a[f+3]-m);h+=(a[f+3+1]-h)*u,c+=(a[f+3+2]-c)*u;break;case 1:h=a[f+1],c=a[f+2];break;default:h=this.getBezierValue(s,f,1,d-2),c=this.getBezierValue(s,f,2,d+18-2)}switch(l){case 0:n.x=n.data.x+h*r,n.y=n.data.y+c*r;break;case 1:case 2:n.x+=(n.data.x+h-n.x)*r,n.y+=(n.data.y+c-n.y)*r;break;case 3:n.x+=h*r,n.y+=c*r}}},ae=class extends st{boneIndex=0;constructor(e,t,s){super(e,t,_.x+"|"+s),this.boneIndex=s}apply(e,t,s,i,r,l,o){let n=e.bones[this.boneIndex];n.active&&(n.x=this.getRelativeValue(s,r,l,n.x,n.data.x))}},oe=class extends st{boneIndex=0;constructor(e,t,s){super(e,t,_.y+"|"+s),this.boneIndex=s}apply(e,t,s,i,r,l,o){let n=e.bones[this.boneIndex];n.active&&(n.y=this.getRelativeValue(s,r,l,n.y,n.data.y))}},le=class extends Ot{boneIndex=0;constructor(e,t,s){super(e,t,_.scaleX+"|"+s,_.scaleY+"|"+s),this.boneIndex=s}apply(e,t,s,i,r,l,o){let n=e.bones[this.boneIndex];if(!n.active)return;let a=this.frames;if(s<a[0]){switch(l){case 0:n.scaleX=n.data.scaleX,n.scaleY=n.data.scaleY;return;case 1:n.scaleX+=(n.data.scaleX-n.scaleX)*r,n.scaleY+=(n.data.scaleY-n.scaleY)*r}return}let h,c,f=$.search(a,s,3),d=this.curves[f/3];switch(d){case 0:let m=a[f];h=a[f+1],c=a[f+2];let u=(s-m)/(a[f+3]-m);h+=(a[f+3+1]-h)*u,c+=(a[f+3+2]-c)*u;break;case 1:h=a[f+1],c=a[f+2];break;default:h=this.getBezierValue(s,f,1,d-2),c=this.getBezierValue(s,f,2,d+18-2)}if(h*=n.data.scaleX,c*=n.data.scaleY,r==1)l==3?(n.scaleX+=h-n.data.scaleX,n.scaleY+=c-n.data.scaleY):(n.scaleX=h,n.scaleY=c);else{let m=0,u=0;if(o==1)switch(l){case 0:m=n.data.scaleX,u=n.data.scaleY,n.scaleX=m+(Math.abs(h)*B.signum(m)-m)*r,n.scaleY=u+(Math.abs(c)*B.signum(u)-u)*r;break;case 1:case 2:m=n.scaleX,u=n.scaleY,n.scaleX=m+(Math.abs(h)*B.signum(m)-m)*r,n.scaleY=u+(Math.abs(c)*B.signum(u)-u)*r;break;case 3:n.scaleX+=(h-n.data.scaleX)*r,n.scaleY+=(c-n.data.scaleY)*r}else switch(l){case 0:m=Math.abs(n.data.scaleX)*B.signum(h),u=Math.abs(n.data.scaleY)*B.signum(c),n.scaleX=m+(h-m)*r,n.scaleY=u+(c-u)*r;break;case 1:case 2:m=Math.abs(n.scaleX)*B.signum(h),u=Math.abs(n.scaleY)*B.signum(c),n.scaleX=m+(h-m)*r,n.scaleY=u+(c-u)*r;break;case 3:n.scaleX+=(h-n.data.scaleX)*r,n.scaleY+=(c-n.data.scaleY)*r}}}},he=class extends st{boneIndex=0;constructor(e,t,s){super(e,t,_.scaleX+"|"+s),this.boneIndex=s}apply(e,t,s,i,r,l,o){let n=e.bones[this.boneIndex];n.active&&(n.scaleX=this.getScaleValue(s,r,l,o,n.scaleX,n.data.scaleX))}},ce=class extends st{boneIndex=0;constructor(e,t,s){super(e,t,_.scaleY+"|"+s),this.boneIndex=s}apply(e,t,s,i,r,l,o){let n=e.bones[this.boneIndex];n.active&&(n.scaleY=this.getScaleValue(s,r,l,o,n.scaleY,n.data.scaleY))}},de=class extends Ot{boneIndex=0;constructor(e,t,s){super(e,t,_.shearX+"|"+s,_.shearY+"|"+s),this.boneIndex=s}apply(e,t,s,i,r,l,o){let n=e.bones[this.boneIndex];if(!n.active)return;let a=this.frames;if(s<a[0]){switch(l){case 0:n.shearX=n.data.shearX,n.shearY=n.data.shearY;return;case 1:n.shearX+=(n.data.shearX-n.shearX)*r,n.shearY+=(n.data.shearY-n.shearY)*r}return}let h=0,c=0,f=$.search(a,s,3),d=this.curves[f/3];switch(d){case 0:let m=a[f];h=a[f+1],c=a[f+2];let u=(s-m)/(a[f+3]-m);h+=(a[f+3+1]-h)*u,c+=(a[f+3+2]-c)*u;break;case 1:h=a[f+1],c=a[f+2];break;default:h=this.getBezierValue(s,f,1,d-2),c=this.getBezierValue(s,f,2,d+18-2)}switch(l){case 0:n.shearX=n.data.shearX+h*r,n.shearY=n.data.shearY+c*r;break;case 1:case 2:n.shearX+=(n.data.shearX+h-n.shearX)*r,n.shearY+=(n.data.shearY+c-n.shearY)*r;break;case 3:n.shearX+=h*r,n.shearY+=c*r}}},fe=class extends st{boneIndex=0;constructor(e,t,s){super(e,t,_.shearX+"|"+s),this.boneIndex=s}apply(e,t,s,i,r,l,o){let n=e.bones[this.boneIndex];n.active&&(n.shearX=this.getRelativeValue(s,r,l,n.shearX,n.data.shearX))}},ue=class extends st{boneIndex=0;constructor(e,t,s){super(e,t,_.shearY+"|"+s),this.boneIndex=s}apply(e,t,s,i,r,l,o){let n=e.bones[this.boneIndex];n.active&&(n.shearY=this.getRelativeValue(s,r,l,n.shearY,n.data.shearY))}},me=class extends ${boneIndex=0;constructor(e,t){super(e,[_.inherit+"|"+t]),this.boneIndex=t}getFrameEntries(){return 2}setFrame(e,t,s){e*=2,this.frames[e]=t,this.frames[e+1]=s}apply(e,t,s,i,r,l,o){let n=e.bones[this.boneIndex];if(!n.active)return;if(o==1){l==0&&(n.inherit=n.data.inherit);return}let a=this.frames;if(s<a[0]){(l==0||l==1)&&(n.inherit=n.data.inherit);return}n.inherit=this.frames[$.search(a,s,2)+1]}},ge=class extends it{slotIndex=0;constructor(e,t,s){super(e,t,[_.rgb+"|"+s,_.alpha+"|"+s]),this.slotIndex=s}getFrameEntries(){return 5}setFrame(e,t,s,i,r,l){e*=5,this.frames[e]=t,this.frames[e+1]=s,this.frames[e+2]=i,this.frames[e+3]=r,this.frames[e+4]=l}apply(e,t,s,i,r,l,o){let n=e.slots[this.slotIndex];if(!n.bone.active)return;let a=this.frames,h=n.color;if(s<a[0]){let b=n.data.color;switch(l){case 0:h.setFromColor(b);return;case 1:h.add((b.r-h.r)*r,(b.g-h.g)*r,(b.b-h.b)*r,(b.a-h.a)*r)}return}let c=0,f=0,d=0,m=0,u=$.search(a,s,5),p=this.curves[u/5];switch(p){case 0:let b=a[u];c=a[u+1],f=a[u+2],d=a[u+3],m=a[u+4];let w=(s-b)/(a[u+5]-b);c+=(a[u+5+1]-c)*w,f+=(a[u+5+2]-f)*w,d+=(a[u+5+3]-d)*w,m+=(a[u+5+4]-m)*w;break;case 1:c=a[u+1],f=a[u+2],d=a[u+3],m=a[u+4];break;default:c=this.getBezierValue(s,u,1,p-2),f=this.getBezierValue(s,u,2,p+18-2),d=this.getBezierValue(s,u,3,p+18*2-2),m=this.getBezierValue(s,u,4,p+18*3-2)}r==1?h.set(c,f,d,m):(l==0&&h.setFromColor(n.data.color),h.add((c-h.r)*r,(f-h.g)*r,(d-h.b)*r,(m-h.a)*r))}},pe=class extends it{slotIndex=0;constructor(e,t,s){super(e,t,[_.rgb+"|"+s]),this.slotIndex=s}getFrameEntries(){return 4}setFrame(e,t,s,i,r){e<<=2,this.frames[e]=t,this.frames[e+1]=s,this.frames[e+2]=i,this.frames[e+3]=r}apply(e,t,s,i,r,l,o){let n=e.slots[this.slotIndex];if(!n.bone.active)return;let a=this.frames,h=n.color;if(s<a[0]){let p=n.data.color;switch(l){case 0:h.r=p.r,h.g=p.g,h.b=p.b;return;case 1:h.r+=(p.r-h.r)*r,h.g+=(p.g-h.g)*r,h.b+=(p.b-h.b)*r}return}let c=0,f=0,d=0,m=$.search(a,s,4),u=this.curves[m>>2];switch(u){case 0:let p=a[m];c=a[m+1],f=a[m+2],d=a[m+3];let b=(s-p)/(a[m+4]-p);c+=(a[m+4+1]-c)*b,f+=(a[m+4+2]-f)*b,d+=(a[m+4+3]-d)*b;break;case 1:c=a[m+1],f=a[m+2],d=a[m+3];break;default:c=this.getBezierValue(s,m,1,u-2),f=this.getBezierValue(s,m,2,u+18-2),d=this.getBezierValue(s,m,3,u+18*2-2)}if(r==1)h.r=c,h.g=f,h.b=d;else{if(l==0){let p=n.data.color;h.r=p.r,h.g=p.g,h.b=p.b}h.r+=(c-h.r)*r,h.g+=(f-h.g)*r,h.b+=(d-h.b)*r}}},xe=class extends st{slotIndex=0;constructor(e,t,s){super(e,t,_.alpha+"|"+s),this.slotIndex=s}apply(e,t,s,i,r,l,o){let n=e.slots[this.slotIndex];if(!n.bone.active)return;let a=n.color;if(s<this.frames[0]){let c=n.data.color;switch(l){case 0:a.a=c.a;return;case 1:a.a+=(c.a-a.a)*r}return}let h=this.getCurveValue(s);r==1?a.a=h:(l==0&&(a.a=n.data.color.a),a.a+=(h-a.a)*r)}},be=class extends it{slotIndex=0;constructor(e,t,s){super(e,t,[_.rgb+"|"+s,_.alpha+"|"+s,_.rgb2+"|"+s]),this.slotIndex=s}getFrameEntries(){return 8}setFrame(e,t,s,i,r,l,o,n,a){e<<=3,this.frames[e]=t,this.frames[e+1]=s,this.frames[e+2]=i,this.frames[e+3]=r,this.frames[e+4]=l,this.frames[e+5]=o,this.frames[e+6]=n,this.frames[e+7]=a}apply(e,t,s,i,r,l,o){let n=e.slots[this.slotIndex];if(!n.bone.active)return;let a=this.frames,h=n.color,c=n.darkColor;if(s<a[0]){let y=n.data.color,v=n.data.darkColor;switch(l){case 0:h.setFromColor(y),c.r=v.r,c.g=v.g,c.b=v.b;return;case 1:h.add((y.r-h.r)*r,(y.g-h.g)*r,(y.b-h.b)*r,(y.a-h.a)*r),c.r+=(v.r-c.r)*r,c.g+=(v.g-c.g)*r,c.b+=(v.b-c.b)*r}return}let f=0,d=0,m=0,u=0,p=0,b=0,w=0,g=$.search(a,s,8),x=this.curves[g>>3];switch(x){case 0:let y=a[g];f=a[g+1],d=a[g+2],m=a[g+3],u=a[g+4],p=a[g+5],b=a[g+6],w=a[g+7];let v=(s-y)/(a[g+8]-y);f+=(a[g+8+1]-f)*v,d+=(a[g+8+2]-d)*v,m+=(a[g+8+3]-m)*v,u+=(a[g+8+4]-u)*v,p+=(a[g+8+5]-p)*v,b+=(a[g+8+6]-b)*v,w+=(a[g+8+7]-w)*v;break;case 1:f=a[g+1],d=a[g+2],m=a[g+3],u=a[g+4],p=a[g+5],b=a[g+6],w=a[g+7];break;default:f=this.getBezierValue(s,g,1,x-2),d=this.getBezierValue(s,g,2,x+18-2),m=this.getBezierValue(s,g,3,x+18*2-2),u=this.getBezierValue(s,g,4,x+18*3-2),p=this.getBezierValue(s,g,5,x+18*4-2),b=this.getBezierValue(s,g,6,x+18*5-2),w=this.getBezierValue(s,g,7,x+18*6-2)}if(r==1)h.set(f,d,m,u),c.r=p,c.g=b,c.b=w;else{if(l==0){h.setFromColor(n.data.color);let y=n.data.darkColor;c.r=y.r,c.g=y.g,c.b=y.b}h.add((f-h.r)*r,(d-h.g)*r,(m-h.b)*r,(u-h.a)*r),c.r+=(p-c.r)*r,c.g+=(b-c.g)*r,c.b+=(w-c.b)*r}}},we=class extends it{slotIndex=0;constructor(e,t,s){super(e,t,[_.rgb+"|"+s,_.rgb2+"|"+s]),this.slotIndex=s}getFrameEntries(){return 7}setFrame(e,t,s,i,r,l,o,n){e*=7,this.frames[e]=t,this.frames[e+1]=s,this.frames[e+2]=i,this.frames[e+3]=r,this.frames[e+4]=l,this.frames[e+5]=o,this.frames[e+6]=n}apply(e,t,s,i,r,l,o){let n=e.slots[this.slotIndex];if(!n.bone.active)return;let a=this.frames,h=n.color,c=n.darkColor;if(s<a[0]){let y=n.data.color,v=n.data.darkColor;switch(l){case 0:h.r=y.r,h.g=y.g,h.b=y.b,c.r=v.r,c.g=v.g,c.b=v.b;return;case 1:h.r+=(y.r-h.r)*r,h.g+=(y.g-h.g)*r,h.b+=(y.b-h.b)*r,c.r+=(v.r-c.r)*r,c.g+=(v.g-c.g)*r,c.b+=(v.b-c.b)*r}return}let f=0,d=0,m=0,u=0,p=0,b=0,w=0,g=$.search(a,s,7),x=this.curves[g/7];switch(x){case 0:let y=a[g];f=a[g+1],d=a[g+2],m=a[g+3],p=a[g+4],b=a[g+5],w=a[g+6];let v=(s-y)/(a[g+7]-y);f+=(a[g+7+1]-f)*v,d+=(a[g+7+2]-d)*v,m+=(a[g+7+3]-m)*v,p+=(a[g+7+4]-p)*v,b+=(a[g+7+5]-b)*v,w+=(a[g+7+6]-w)*v;break;case 1:f=a[g+1],d=a[g+2],m=a[g+3],p=a[g+4],b=a[g+5],w=a[g+6];break;default:f=this.getBezierValue(s,g,1,x-2),d=this.getBezierValue(s,g,2,x+18-2),m=this.getBezierValue(s,g,3,x+18*2-2),p=this.getBezierValue(s,g,4,x+18*3-2),b=this.getBezierValue(s,g,5,x+18*4-2),w=this.getBezierValue(s,g,6,x+18*5-2)}if(r==1)h.r=f,h.g=d,h.b=m,c.r=p,c.g=b,c.b=w;else{if(l==0){let y=n.data.color,v=n.data.darkColor;h.r=y.r,h.g=y.g,h.b=y.b,c.r=v.r,c.g=v.g,c.b=v.b}h.r+=(f-h.r)*r,h.g+=(d-h.g)*r,h.b+=(m-h.b)*r,c.r+=(p-c.r)*r,c.g+=(b-c.g)*r,c.b+=(w-c.b)*r}}},xt=class extends ${slotIndex=0;attachmentNames;constructor(e,t){super(e,[_.attachment+"|"+t]),this.slotIndex=t,this.attachmentNames=new Array(e)}getFrameCount(){return this.frames.length}setFrame(e,t,s){this.frames[e]=t,this.attachmentNames[e]=s}apply(e,t,s,i,r,l,o){let n=e.slots[this.slotIndex];if(n.bone.active){if(o==1){l==0&&this.setAttachment(e,n,n.data.attachmentName);return}if(s<this.frames[0]){(l==0||l==1)&&this.setAttachment(e,n,n.data.attachmentName);return}this.setAttachment(e,n,this.attachmentNames[$.search1(this.frames,s)])}}setAttachment(e,t,s){t.setAttachment(s?e.getAttachment(this.slotIndex,s):null)}},ye=class extends it{slotIndex=0;attachment;vertices;constructor(e,t,s,i){super(e,t,[_.deform+"|"+s+"|"+i.id]),this.slotIndex=s,this.attachment=i,this.vertices=new Array(e)}getFrameCount(){return this.frames.length}setFrame(e,t,s){this.frames[e]=t,this.vertices[e]=s}setBezier(e,t,s,i,r,l,o,n,a,h,c){let f=this.curves,d=this.getFrameCount()+e*18;s==0&&(f[t]=2+d);let m=(i-l*2+n)*.03,u=a*.03-o*.06,p=((l-n)*3-i+h)*.006,b=(o-a+.33333333)*.018,w=m*2+p,g=u*2+b,x=(l-i)*.3+m+p*.16666667,y=o*.3+u+b*.16666667,v=i+x,C=y;for(let A=d+18;d<A;d+=2)f[d]=v,f[d+1]=C,x+=w,y+=g,w+=p,g+=b,v+=x,C+=y}getCurvePercent(e,t){let s=this.curves,i=s[t];switch(i){case 0:let n=this.frames[t];return(e-n)/(this.frames[t+this.getFrameEntries()]-n);case 1:return 0}if(i-=2,s[i]>e){let n=this.frames[t];return s[i+1]*(e-n)/(s[i]-n)}let r=i+18;for(i+=2;i<r;i+=2)if(s[i]>=e){let n=s[i-2],a=s[i-1];return a+(e-n)/(s[i]-n)*(s[i+1]-a)}let l=s[r-2],o=s[r-1];return o+(1-o)*(e-l)/(this.frames[t+this.getFrameEntries()]-l)}apply(e,t,s,i,r,l,o){let n=e.slots[this.slotIndex];if(!n.bone.active)return;let a=n.getAttachment();if(!a||!(a instanceof ht)||a.timelineAttachment!=this.attachment)return;let h=n.deform;h.length==0&&(l=0);let c=this.vertices,f=c[0].length,d=this.frames;if(s<d[0]){switch(l){case 0:h.length=0;return;case 1:if(r==1){h.length=0;return}h.length=f;let g=a;if(g.bones){r=1-r;for(var m=0;m<f;m++)h[m]*=r}else{let x=g.vertices;for(var m=0;m<f;m++)h[m]+=(x[m]-h[m])*r}}return}if(h.length=f,s>=d[d.length-1]){let g=c[d.length-1];if(r==1)if(l==3){let x=a;if(x.bones)for(let y=0;y<f;y++)h[y]+=g[y];else{let y=x.vertices;for(let v=0;v<f;v++)h[v]+=g[v]-y[v]}}else E.arrayCopy(g,0,h,0,f);else switch(l){case 0:{let y=a;if(y.bones)for(let v=0;v<f;v++)h[v]=g[v]*r;else{let v=y.vertices;for(let C=0;C<f;C++){let A=v[C];h[C]=A+(g[C]-A)*r}}break}case 1:case 2:for(let y=0;y<f;y++)h[y]+=(g[y]-h[y])*r;break;case 3:let x=a;if(x.bones)for(let y=0;y<f;y++)h[y]+=g[y]*r;else{let y=x.vertices;for(let v=0;v<f;v++)h[v]+=(g[v]-y[v])*r}}return}let u=$.search1(d,s),p=this.getCurvePercent(s,u),b=c[u],w=c[u+1];if(r==1)if(l==3){let g=a;if(g.bones)for(let x=0;x<f;x++){let y=b[x];h[x]+=y+(w[x]-y)*p}else{let x=g.vertices;for(let y=0;y<f;y++){let v=b[y];h[y]+=v+(w[y]-v)*p-x[y]}}}else for(let g=0;g<f;g++){let x=b[g];h[g]=x+(w[g]-x)*p}else switch(l){case 0:{let x=a;if(x.bones)for(let y=0;y<f;y++){let v=b[y];h[y]=(v+(w[y]-v)*p)*r}else{let y=x.vertices;for(let v=0;v<f;v++){let C=b[v],A=y[v];h[v]=A+(C+(w[v]-C)*p-A)*r}}break}case 1:case 2:for(let x=0;x<f;x++){let y=b[x];h[x]+=(y+(w[x]-y)*p-h[x])*r}break;case 3:let g=a;if(g.bones)for(let x=0;x<f;x++){let y=b[x];h[x]+=(y+(w[x]-y)*p)*r}else{let x=g.vertices;for(let y=0;y<f;y++){let v=b[y];h[y]+=(v+(w[y]-v)*p-x[y])*r}}}}},_t=class ir extends ${static propertyIds=[""+_.event];events;constructor(t){super(t,ir.propertyIds),this.events=new Array(t)}getFrameCount(){return this.frames.length}setFrame(t,s){this.frames[t]=s.time,this.events[t]=s}apply(t,s,i,r,l,o,n){if(!r)return;let a=this.frames,h=this.frames.length;if(s>i)this.apply(t,s,Number.MAX_VALUE,r,l,o,n),s=-1;else if(s>=a[h-1])return;if(i<a[0])return;let c=0;if(s<a[0])c=0;else{c=$.search1(a,s)+1;let f=a[c];for(;c>0&&a[c-1]==f;)c--}for(;c<h&&i>=a[c];c++)r.push(this.events[c])}},At=class nr extends ${static propertyIds=[""+_.drawOrder];drawOrders;constructor(t){super(t,nr.propertyIds),this.drawOrders=new Array(t)}getFrameCount(){return this.frames.length}setFrame(t,s,i){this.frames[t]=s,this.drawOrders[t]=i}apply(t,s,i,r,l,o,n){if(n==1){o==0&&E.arrayCopy(t.slots,0,t.drawOrder,0,t.slots.length);return}if(i<this.frames[0]){(o==0||o==1)&&E.arrayCopy(t.slots,0,t.drawOrder,0,t.slots.length);return}let a=$.search1(this.frames,i),h=this.drawOrders[a];if(!h)E.arrayCopy(t.slots,0,t.drawOrder,0,t.slots.length);else{let c=t.drawOrder,f=t.slots;for(let d=0,m=h.length;d<m;d++)c[d]=f[h[d]]}}},ve=class extends it{constraintIndex=0;constructor(e,t,s){super(e,t,[_.ikConstraint+"|"+s]),this.constraintIndex=s}getFrameEntries(){return 6}setFrame(e,t,s,i,r,l,o){e*=6,this.frames[e]=t,this.frames[e+1]=s,this.frames[e+2]=i,this.frames[e+3]=r,this.frames[e+4]=l?1:0,this.frames[e+5]=o?1:0}apply(e,t,s,i,r,l,o){let n=e.ikConstraints[this.constraintIndex];if(!n.active)return;let a=this.frames;if(s<a[0]){switch(l){case 0:n.mix=n.data.mix,n.softness=n.data.softness,n.bendDirection=n.data.bendDirection,n.compress=n.data.compress,n.stretch=n.data.stretch;return;case 1:n.mix+=(n.data.mix-n.mix)*r,n.softness+=(n.data.softness-n.softness)*r,n.bendDirection=n.data.bendDirection,n.compress=n.data.compress,n.stretch=n.data.stretch}return}let h=0,c=0,f=$.search(a,s,6),d=this.curves[f/6];switch(d){case 0:let m=a[f];h=a[f+1],c=a[f+2];let u=(s-m)/(a[f+6]-m);h+=(a[f+6+1]-h)*u,c+=(a[f+6+2]-c)*u;break;case 1:h=a[f+1],c=a[f+2];break;default:h=this.getBezierValue(s,f,1,d-2),c=this.getBezierValue(s,f,2,d+18-2)}l==0?(n.mix=n.data.mix+(h-n.data.mix)*r,n.softness=n.data.softness+(c-n.data.softness)*r,o==1?(n.bendDirection=n.data.bendDirection,n.compress=n.data.compress,n.stretch=n.data.stretch):(n.bendDirection=a[f+3],n.compress=a[f+4]!=0,n.stretch=a[f+5]!=0)):(n.mix+=(h-n.mix)*r,n.softness+=(c-n.softness)*r,o==0&&(n.bendDirection=a[f+3],n.compress=a[f+4]!=0,n.stretch=a[f+5]!=0))}},Ce=class extends it{constraintIndex=0;constructor(e,t,s){super(e,t,[_.transformConstraint+"|"+s]),this.constraintIndex=s}getFrameEntries(){return 7}setFrame(e,t,s,i,r,l,o,n){let a=this.frames;e*=7,a[e]=t,a[e+1]=s,a[e+2]=i,a[e+3]=r,a[e+4]=l,a[e+5]=o,a[e+6]=n}apply(e,t,s,i,r,l,o){let n=e.transformConstraints[this.constraintIndex];if(!n.active)return;let a=this.frames;if(s<a[0]){let w=n.data;switch(l){case 0:n.mixRotate=w.mixRotate,n.mixX=w.mixX,n.mixY=w.mixY,n.mixScaleX=w.mixScaleX,n.mixScaleY=w.mixScaleY,n.mixShearY=w.mixShearY;return;case 1:n.mixRotate+=(w.mixRotate-n.mixRotate)*r,n.mixX+=(w.mixX-n.mixX)*r,n.mixY+=(w.mixY-n.mixY)*r,n.mixScaleX+=(w.mixScaleX-n.mixScaleX)*r,n.mixScaleY+=(w.mixScaleY-n.mixScaleY)*r,n.mixShearY+=(w.mixShearY-n.mixShearY)*r}return}let h,c,f,d,m,u,p=$.search(a,s,7),b=this.curves[p/7];switch(b){case 0:let w=a[p];h=a[p+1],c=a[p+2],f=a[p+3],d=a[p+4],m=a[p+5],u=a[p+6];let g=(s-w)/(a[p+7]-w);h+=(a[p+7+1]-h)*g,c+=(a[p+7+2]-c)*g,f+=(a[p+7+3]-f)*g,d+=(a[p+7+4]-d)*g,m+=(a[p+7+5]-m)*g,u+=(a[p+7+6]-u)*g;break;case 1:h=a[p+1],c=a[p+2],f=a[p+3],d=a[p+4],m=a[p+5],u=a[p+6];break;default:h=this.getBezierValue(s,p,1,b-2),c=this.getBezierValue(s,p,2,b+18-2),f=this.getBezierValue(s,p,3,b+18*2-2),d=this.getBezierValue(s,p,4,b+18*3-2),m=this.getBezierValue(s,p,5,b+18*4-2),u=this.getBezierValue(s,p,6,b+18*5-2)}if(l==0){let w=n.data;n.mixRotate=w.mixRotate+(h-w.mixRotate)*r,n.mixX=w.mixX+(c-w.mixX)*r,n.mixY=w.mixY+(f-w.mixY)*r,n.mixScaleX=w.mixScaleX+(d-w.mixScaleX)*r,n.mixScaleY=w.mixScaleY+(m-w.mixScaleY)*r,n.mixShearY=w.mixShearY+(u-w.mixShearY)*r}else n.mixRotate+=(h-n.mixRotate)*r,n.mixX+=(c-n.mixX)*r,n.mixY+=(f-n.mixY)*r,n.mixScaleX+=(d-n.mixScaleX)*r,n.mixScaleY+=(m-n.mixScaleY)*r,n.mixShearY+=(u-n.mixShearY)*r}},Ae=class extends st{constraintIndex=0;constructor(e,t,s){super(e,t,_.pathConstraintPosition+"|"+s),this.constraintIndex=s}apply(e,t,s,i,r,l,o){let n=e.pathConstraints[this.constraintIndex];n.active&&(n.position=this.getAbsoluteValue(s,r,l,n.position,n.data.position))}},Se=class extends st{constraintIndex=0;constructor(e,t,s){super(e,t,_.pathConstraintSpacing+"|"+s),this.constraintIndex=s}apply(e,t,s,i,r,l,o){let n=e.pathConstraints[this.constraintIndex];n.active&&(n.spacing=this.getAbsoluteValue(s,r,l,n.spacing,n.data.spacing))}},ke=class extends it{constraintIndex=0;constructor(e,t,s){super(e,t,[_.pathConstraintMix+"|"+s]),this.constraintIndex=s}getFrameEntries(){return 4}setFrame(e,t,s,i,r){let l=this.frames;e<<=2,l[e]=t,l[e+1]=s,l[e+2]=i,l[e+3]=r}apply(e,t,s,i,r,l,o){let n=e.pathConstraints[this.constraintIndex];if(!n.active)return;let a=this.frames;if(s<a[0]){switch(l){case 0:n.mixRotate=n.data.mixRotate,n.mixX=n.data.mixX,n.mixY=n.data.mixY;return;case 1:n.mixRotate+=(n.data.mixRotate-n.mixRotate)*r,n.mixX+=(n.data.mixX-n.mixX)*r,n.mixY+=(n.data.mixY-n.mixY)*r}return}let h,c,f,d=$.search(a,s,4),m=this.curves[d>>2];switch(m){case 0:let u=a[d];h=a[d+1],c=a[d+2],f=a[d+3];let p=(s-u)/(a[d+4]-u);h+=(a[d+4+1]-h)*p,c+=(a[d+4+2]-c)*p,f+=(a[d+4+3]-f)*p;break;case 1:h=a[d+1],c=a[d+2],f=a[d+3];break;default:h=this.getBezierValue(s,d,1,m-2),c=this.getBezierValue(s,d,2,m+18-2),f=this.getBezierValue(s,d,3,m+18*2-2)}if(l==0){let u=n.data;n.mixRotate=u.mixRotate+(h-u.mixRotate)*r,n.mixX=u.mixX+(c-u.mixX)*r,n.mixY=u.mixY+(f-u.mixY)*r}else n.mixRotate+=(h-n.mixRotate)*r,n.mixX+=(c-n.mixX)*r,n.mixY+=(f-n.mixY)*r}},mt=class extends st{constraintIndex=0;constructor(e,t,s,i){super(e,t,i+"|"+s),this.constraintIndex=s}apply(e,t,s,i,r,l,o){let n;if(this.constraintIndex==-1){const a=s>=this.frames[0]?this.getCurveValue(s):0;for(const h of e.physicsConstraints)h.active&&this.global(h.data)&&this.set(h,this.getAbsoluteValue2(s,r,l,this.get(h),this.setup(h),a))}else n=e.physicsConstraints[this.constraintIndex],n.active&&this.set(n,this.getAbsoluteValue(s,r,l,this.get(n),this.setup(n)))}},Te=class extends mt{constructor(e,t,s){super(e,t,s,_.physicsConstraintInertia)}setup(e){return e.data.inertia}get(e){return e.inertia}set(e,t){e.inertia=t}global(e){return e.inertiaGlobal}},Ie=class extends mt{constructor(e,t,s){super(e,t,s,_.physicsConstraintStrength)}setup(e){return e.data.strength}get(e){return e.strength}set(e,t){e.strength=t}global(e){return e.strengthGlobal}},Me=class extends mt{constructor(e,t,s){super(e,t,s,_.physicsConstraintDamping)}setup(e){return e.data.damping}get(e){return e.damping}set(e,t){e.damping=t}global(e){return e.dampingGlobal}},Ye=class extends mt{constructor(e,t,s){super(e,t,s,_.physicsConstraintMass)}setup(e){return 1/e.data.massInverse}get(e){return 1/e.massInverse}set(e,t){e.massInverse=1/t}global(e){return e.massGlobal}},Xe=class extends mt{constructor(e,t,s){super(e,t,s,_.physicsConstraintWind)}setup(e){return e.data.wind}get(e){return e.wind}set(e,t){e.wind=t}global(e){return e.windGlobal}},Fe=class extends mt{constructor(e,t,s){super(e,t,s,_.physicsConstraintGravity)}setup(e){return e.data.gravity}get(e){return e.gravity}set(e,t){e.gravity=t}global(e){return e.gravityGlobal}},Pe=class extends mt{constructor(e,t,s){super(e,t,s,_.physicsConstraintMix)}setup(e){return e.data.mix}get(e){return e.mix}set(e,t){e.mix=t}global(e){return e.mixGlobal}},Be=class ar extends ${static propertyIds=[_.physicsConstraintReset.toString()];constraintIndex;constructor(t,s){super(t,ar.propertyIds),this.constraintIndex=s}getFrameCount(){return this.frames.length}setFrame(t,s){this.frames[t]=s}apply(t,s,i,r,l,o,n){let a;if(this.constraintIndex!=-1&&(a=t.physicsConstraints[this.constraintIndex],!a.active))return;const h=this.frames;if(s>i)this.apply(t,s,Number.MAX_VALUE,[],l,o,n),s=-1;else if(s>=h[h.length-1])return;if(!(i<h[0])&&(s<h[0]||i>=h[$.search1(h,s)+1]))if(a!=null)a.reset();else for(const c of t.physicsConstraints)c.active&&c.reset()}},Ee=class gt extends ${static ENTRIES=3;static MODE=1;static DELAY=2;slotIndex;attachment;constructor(t,s,i){super(t,[_.sequence+"|"+s+"|"+i.sequence.id]),this.slotIndex=s,this.attachment=i}getFrameEntries(){return gt.ENTRIES}getSlotIndex(){return this.slotIndex}getAttachment(){return this.attachment}setFrame(t,s,i,r,l){let o=this.frames;t*=gt.ENTRIES,o[t]=s,o[t+gt.MODE]=i|r<<4,o[t+gt.DELAY]=l}apply(t,s,i,r,l,o,n){let a=t.slots[this.slotIndex];if(!a.bone.active)return;let h=a.attachment,c=this.attachment;if(h!=c&&(!(h instanceof ht)||h.timelineAttachment!=c))return;if(n==1){o==0&&(a.sequenceIndex=-1);return}let f=this.frames;if(i<f[0]){(o==0||o==1)&&(a.sequenceIndex=-1);return}let d=$.search(f,i,gt.ENTRIES),m=f[d],u=f[d+gt.MODE],p=f[d+gt.DELAY];if(!this.attachment.sequence)return;let b=u>>4,w=this.attachment.sequence.regions.length,g=ks[u&15];if(g!=0)switch(b+=(i-m)/p+1e-5|0,g){case 1:b=Math.min(w-1,b);break;case 2:b%=w;break;case 3:{let x=(w<<1)-2;b=x==0?0:b%x,b>=w&&(b=x-b);break}case 4:b=Math.max(w-1-b,0);break;case 5:b=w-1-b%w;break;case 6:{let x=(w<<1)-2;b=x==0?0:(b+w-1)%x,b>=w&&(b=x-b)}}a.sequenceIndex=b}},Re=class Qt{static _emptyAnimation=new Nt("<empty>",[],0);static emptyAnimation(){return Qt._emptyAnimation}data;tracks=new Array;timeScale=1;unkeyedState=0;events=new Array;listeners=new Array;queue=new Ys(this);propertyIDs=new re;animationsChanged=!1;trackEntryPool=new Ct(()=>new Ms);constructor(t){this.data=t}update(t){t*=this.timeScale;let s=this.tracks;for(let i=0,r=s.length;i<r;i++){let l=s[i];if(!l)continue;l.animationLast=l.nextAnimationLast,l.trackLast=l.nextTrackLast;let o=t*l.timeScale;if(l.delay>0){if(l.delay-=o,l.delay>0)continue;o=-l.delay,l.delay=0}let n=l.next;if(n){let a=l.trackLast-n.delay;if(a>=0){for(n.delay=0,n.trackTime+=l.timeScale==0?0:(a/l.timeScale+t)*n.timeScale,l.trackTime+=o,this.setCurrent(i,n,!0);n.mixingFrom;)n.mixTime+=t,n=n.mixingFrom;continue}}else if(l.trackLast>=l.trackEnd&&!l.mixingFrom){s[i]=null,this.queue.end(l),this.clearNext(l);continue}if(l.mixingFrom&&this.updateMixingFrom(l,t)){let a=l.mixingFrom;for(l.mixingFrom=null,a&&(a.mixingTo=null);a;)this.queue.end(a),a=a.mixingFrom}l.trackTime+=o}this.queue.drain()}updateMixingFrom(t,s){let i=t.mixingFrom;if(!i)return!0;let r=this.updateMixingFrom(i,s);return i.animationLast=i.nextAnimationLast,i.trackLast=i.nextTrackLast,t.nextTrackLast!=-1&&t.mixTime>=t.mixDuration?((i.totalAlpha==0||t.mixDuration==0)&&(t.mixingFrom=i.mixingFrom,i.mixingFrom!=null&&(i.mixingFrom.mixingTo=t),t.interruptAlpha=i.interruptAlpha,this.queue.end(i)),r):(i.trackTime+=s*i.timeScale,t.mixTime+=s,!1)}apply(t){if(!t)throw new Error("skeleton cannot be null.");this.animationsChanged&&this._animationsChanged();let s=this.events,i=this.tracks,r=!1;for(let d=0,m=i.length;d<m;d++){let u=i[d];if(!u||u.delay>0)continue;r=!0;let p=d==0?1:u.mixBlend,b=u.alpha;u.mixingFrom?b*=this.applyMixingFrom(u,t,p):u.trackTime>=u.trackEnd&&!u.next&&(b=0);let w=b>=u.alphaAttachmentThreshold,g=u.animationLast,x=u.getAnimationTime(),y=x,v=s;u.reverse&&(y=u.animation.duration-y,v=null);let C=u.animation.timelines,A=C.length;if(d==0&&b==1||p==3){d==0&&(w=!0);for(let k=0;k<A;k++){E.webkit602BugfixHelper(b,p);var l=C[k];l instanceof xt?this.applyAttachmentTimeline(l,t,y,p,w):l.apply(t,g,y,v,b,p,0)}}else{let k=u.timelineMode,T=u.shortestRotation,Y=!T&&u.timelinesRotation.length!=A<<1;Y&&(u.timelinesRotation.length=A<<1);for(let M=0;M<A;M++){let F=C[M],P=k[M]==Ut?p:0;!T&&F instanceof Ft?this.applyRotateTimeline(F,t,y,b,P,u.timelinesRotation,M<<1,Y):F instanceof xt?this.applyAttachmentTimeline(F,t,y,p,w):(E.webkit602BugfixHelper(b,p),F.apply(t,g,y,v,b,P,0))}}this.queueEvents(u,x),s.length=0,u.nextAnimationLast=x,u.nextTrackLast=u.trackTime}for(var o=this.unkeyedState+Ve,n=t.slots,a=0,h=t.slots.length;a<h;a++){var c=n[a];if(c.attachmentState==o){var f=c.data.attachmentName;c.setAttachment(f?t.getAttachment(c.data.index,f):null)}}return this.unkeyedState+=2,this.queue.drain(),r}applyMixingFrom(t,s,i){let r=t.mixingFrom;r.mixingFrom&&this.applyMixingFrom(r,s,i);let l=0;t.mixDuration==0?(l=1,i==1&&(i=0)):(l=t.mixTime/t.mixDuration,l>1&&(l=1),i!=1&&(i=r.mixBlend));let o=l<r.mixAttachmentThreshold,n=l<r.mixDrawOrderThreshold,a=r.animation.timelines,h=a.length,c=r.alpha*t.interruptAlpha,f=c*(1-l),d=r.animationLast,m=r.getAnimationTime(),u=m,p=null;if(r.reverse?u=r.animation.duration-u:l<r.eventThreshold&&(p=this.events),i==3)for(let b=0;b<h;b++)a[b].apply(s,d,u,p,f,i,1);else{let b=r.timelineMode,w=r.timelineHoldMix,g=r.shortestRotation,x=!g&&r.timelinesRotation.length!=h<<1;x&&(r.timelinesRotation.length=h<<1),r.totalAlpha=0;for(let y=0;y<h;y++){let v=a[y],C=1,A,k=0;switch(b[y]){case Ut:if(!n&&v instanceof At)continue;A=i,k=f;break;case Le:A=0,k=f;break;case De:A=i,k=c;break;case qt:A=0,k=c;break;default:A=0;let T=w[y];k=c*Math.max(0,1-T.mixTime/T.mixDuration);break}r.totalAlpha+=k,!g&&v instanceof Ft?this.applyRotateTimeline(v,s,u,k,A,r.timelinesRotation,y<<1,x):v instanceof xt?this.applyAttachmentTimeline(v,s,u,A,o&&k>=r.alphaAttachmentThreshold):(E.webkit602BugfixHelper(k,i),n&&v instanceof At&&A==0&&(C=0),v.apply(s,d,u,p,k,A,C))}}return t.mixDuration>0&&this.queueEvents(r,m),this.events.length=0,r.nextAnimationLast=m,r.nextTrackLast=r.trackTime,l}applyAttachmentTimeline(t,s,i,r,l){var o=s.slots[t.slotIndex];o.bone.active&&(i<t.frames[0]?(r==0||r==1)&&this.setAttachment(s,o,o.data.attachmentName,l):this.setAttachment(s,o,t.attachmentNames[$.search1(t.frames,i)],l),o.attachmentState<=this.unkeyedState&&(o.attachmentState=this.unkeyedState+Ve))}setAttachment(t,s,i,r){s.setAttachment(i?t.getAttachment(s.data.index,i):null),r&&(s.attachmentState=this.unkeyedState+Ps)}applyRotateTimeline(t,s,i,r,l,o,n,a){if(a&&(o[n]=0),r==1){t.apply(s,0,i,null,1,l,0);return}let h=s.bones[t.boneIndex];if(!h.active)return;let c=t.frames,f=0,d=0;if(i<c[0])switch(l){case 0:h.rotation=h.data.rotation;default:return;case 1:f=h.rotation,d=h.data.rotation}else f=l==0?h.data.rotation:h.rotation,d=h.data.rotation+t.getCurveValue(i);let m=0,u=d-f;if(u-=Math.ceil(u/360-.5)*360,u==0)m=o[n];else{let p=0,b=0;a?(p=0,b=u):(p=o[n],b=o[n+1]);let w=p-p%360;m=u+w;let g=u>=0,x=p>=0;Math.abs(b)<=90&&B.signum(b)!=B.signum(u)&&(Math.abs(p-w)>180?(m+=360*B.signum(p),x=g):w!=0?m-=360*B.signum(p):x=g),x!=g&&(m+=360*B.signum(p)),o[n]=m}o[n+1]=u,h.rotation=f+m*r}queueEvents(t,s){let i=t.animationStart,r=t.animationEnd,l=r-i,o=t.trackLast%l,n=this.events,a=0,h=n.length;for(;a<h;a++){let f=n[a];if(f.time<o)break;f.time>r||this.queue.event(t,f)}let c=!1;if(t.loop)if(l==0)c=!0;else{const f=Math.floor(t.trackTime/l);c=f>0&&f>Math.floor(t.trackLast/l)}else c=s>=r&&t.animationLast<r;for(c&&this.queue.complete(t);a<h;a++){let f=n[a];f.time<i||this.queue.event(t,f)}}clearTracks(){let t=this.queue.drainDisabled;this.queue.drainDisabled=!0;for(let s=0,i=this.tracks.length;s<i;s++)this.clearTrack(s);this.tracks.length=0,this.queue.drainDisabled=t,this.queue.drain()}clearTrack(t){if(t>=this.tracks.length)return;let s=this.tracks[t];if(!s)return;this.queue.end(s),this.clearNext(s);let i=s;for(;;){let r=i.mixingFrom;if(!r)break;this.queue.end(r),i.mixingFrom=null,i.mixingTo=null,i=r}this.tracks[s.trackIndex]=null,this.queue.drain()}setCurrent(t,s,i){let r=this.expandToIndex(t);this.tracks[t]=s,s.previous=null,r&&(i&&this.queue.interrupt(r),s.mixingFrom=r,r.mixingTo=s,s.mixTime=0,r.mixingFrom&&r.mixDuration>0&&(s.interruptAlpha*=Math.min(1,r.mixTime/r.mixDuration)),r.timelinesRotation.length=0),this.queue.start(s)}setAnimation(t,s,i=!1){let r=this.data.skeletonData.findAnimation(s);if(!r)throw new Error("Animation not found: "+s);return this.setAnimationWith(t,r,i)}setAnimationWith(t,s,i=!1){if(!s)throw new Error("animation cannot be null.");let r=!0,l=this.expandToIndex(t);l&&(l.nextTrackLast==-1?(this.tracks[t]=l.mixingFrom,this.queue.interrupt(l),this.queue.end(l),this.clearNext(l),l=l.mixingFrom,r=!1):this.clearNext(l));let o=this.trackEntry(t,s,i,l);return this.setCurrent(t,o,r),this.queue.drain(),o}addAnimation(t,s,i=!1,r=0){let l=this.data.skeletonData.findAnimation(s);if(!l)throw new Error("Animation not found: "+s);return this.addAnimationWith(t,l,i,r)}addAnimationWith(t,s,i=!1,r=0){if(!s)throw new Error("animation cannot be null.");let l=this.expandToIndex(t);if(l)for(;l.next;)l=l.next;let o=this.trackEntry(t,s,i,l);return l?(l.next=o,o.previous=l,r<=0&&(r=Math.max(r+l.getTrackComplete()-o.mixDuration,0))):(this.setCurrent(t,o,!0),this.queue.drain(),r<0&&(r=0)),o.delay=r,o}setEmptyAnimation(t,s=0){let i=this.setAnimationWith(t,Qt.emptyAnimation(),!1);return i.mixDuration=s,i.trackEnd=s,i}addEmptyAnimation(t,s=0,i=0){let r=this.addAnimationWith(t,Qt.emptyAnimation(),!1,i);return i<=0&&(r.delay=Math.max(r.delay+r.mixDuration-s,0)),r.mixDuration=s,r.trackEnd=s,r}setEmptyAnimations(t=0){let s=this.queue.drainDisabled;this.queue.drainDisabled=!0;for(let i=0,r=this.tracks.length;i<r;i++){let l=this.tracks[i];l&&this.setEmptyAnimation(l.trackIndex,t)}this.queue.drainDisabled=s,this.queue.drain()}expandToIndex(t){return t<this.tracks.length?this.tracks[t]:(E.ensureArrayCapacity(this.tracks,t+1,null),this.tracks.length=t+1,null)}trackEntry(t,s,i,r){let l=this.trackEntryPool.obtain();return l.reset(),l.trackIndex=t,l.animation=s,l.loop=i,l.holdPrevious=!1,l.reverse=!1,l.shortestRotation=!1,l.eventThreshold=0,l.alphaAttachmentThreshold=0,l.mixAttachmentThreshold=0,l.mixDrawOrderThreshold=0,l.animationStart=0,l.animationEnd=s.duration,l.animationLast=-1,l.nextAnimationLast=-1,l.delay=0,l.trackTime=0,l.trackLast=-1,l.nextTrackLast=-1,l.trackEnd=Number.MAX_VALUE,l.timeScale=1,l.alpha=1,l.mixTime=0,l.mixDuration=r?this.data.getMix(r.animation,s):0,l.interruptAlpha=1,l.totalAlpha=0,l.mixBlend=2,l}clearNext(t){let s=t.next;for(;s;)this.queue.dispose(s),s=s.next;t.next=null}_animationsChanged(){this.animationsChanged=!1,this.propertyIDs.clear();let t=this.tracks;for(let s=0,i=t.length;s<i;s++){let r=t[s];if(r){for(;r.mixingFrom;)r=r.mixingFrom;do(!r.mixingTo||r.mixBlend!=3)&&this.computeHold(r),r=r.mixingTo;while(r)}}}computeHold(t){let s=t.mixingTo,i=t.animation.timelines,r=t.animation.timelines.length,l=t.timelineMode;l.length=r;let o=t.timelineHoldMix;o.length=0;let n=this.propertyIDs;if(s&&s.holdPrevious){for(let a=0;a<r;a++)l[a]=n.addAll(i[a].getPropertyIds())?qt:De;return}t:for(let a=0;a<r;a++){let h=i[a],c=h.getPropertyIds();if(!n.addAll(c))l[a]=Ut;else if(!s||h instanceof xt||h instanceof At||h instanceof _t||!s.animation.hasTimeline(c))l[a]=Le;else{for(let f=s.mixingTo;f;f=f.mixingTo)if(!f.animation.hasTimeline(c)){if(t.mixDuration>0){l[a]=Fs,o[a]=f;continue t}break}l[a]=qt}}}getCurrent(t){return t>=this.tracks.length?null:this.tracks[t]}addListener(t){if(!t)throw new Error("listener cannot be null.");this.listeners.push(t)}removeListener(t){let s=this.listeners.indexOf(t);s>=0&&this.listeners.splice(s,1)}clearListeners(){this.listeners.length=0}clearListenerNotifications(){this.queue.clear()}},Ms=class{animation=null;previous=null;next=null;mixingFrom=null;mixingTo=null;listener=null;trackIndex=0;loop=!1;holdPrevious=!1;reverse=!1;shortestRotation=!1;eventThreshold=0;mixAttachmentThreshold=0;alphaAttachmentThreshold=0;mixDrawOrderThreshold=0;animationStart=0;animationEnd=0;animationLast=0;nextAnimationLast=0;delay=0;trackTime=0;trackLast=0;nextTrackLast=0;trackEnd=0;timeScale=0;alpha=0;mixTime=0;_mixDuration=0;interruptAlpha=0;totalAlpha=0;get mixDuration(){return this._mixDuration}set mixDuration(e){this._mixDuration=e}setMixDurationWithDelay(e,t){this._mixDuration=e,t<=0&&(this.previous!=null?t=Math.max(t+this.previous.getTrackComplete()-e,0):t=0),this.delay=t}mixBlend=2;timelineMode=new Array;timelineHoldMix=new Array;timelinesRotation=new Array;reset(){this.next=null,this.previous=null,this.mixingFrom=null,this.mixingTo=null,this.animation=null,this.listener=null,this.timelineMode.length=0,this.timelineHoldMix.length=0,this.timelinesRotation.length=0}getAnimationTime(){if(this.loop){let e=this.animationEnd-this.animationStart;return e==0?this.animationStart:this.trackTime%e+this.animationStart}return Math.min(this.trackTime+this.animationStart,this.animationEnd)}setAnimationLast(e){this.animationLast=e,this.nextAnimationLast=e}isComplete(){return this.trackTime>=this.animationEnd-this.animationStart}resetRotationDirections(){this.timelinesRotation.length=0}getTrackComplete(){let e=this.animationEnd-this.animationStart;if(e!=0){if(this.loop)return e*(1+(this.trackTime/e|0));if(this.trackTime<e)return e}return this.trackTime}wasApplied(){return this.nextTrackLast!=-1}isNextReady(){return this.next!=null&&this.nextTrackLast-this.next.delay>=0}},Ys=class{objects=[];drainDisabled=!1;animState;constructor(e){this.animState=e}start(e){this.objects.push(0),this.objects.push(e),this.animState.animationsChanged=!0}interrupt(e){this.objects.push(1),this.objects.push(e)}end(e){this.objects.push(2),this.objects.push(e),this.animState.animationsChanged=!0}dispose(e){this.objects.push(3),this.objects.push(e)}complete(e){this.objects.push(4),this.objects.push(e)}event(e,t){this.objects.push(5),this.objects.push(e),this.objects.push(t)}drain(){if(this.drainDisabled)return;this.drainDisabled=!0;let e=this.objects,t=this.animState.listeners;for(let s=0;s<e.length;s+=2){let i=e[s],r=e[s+1];switch(i){case 0:r.listener&&r.listener.start&&r.listener.start(r);for(let o=0;o<t.length;o++){let n=t[o];n.start&&n.start(r)}break;case 1:r.listener&&r.listener.interrupt&&r.listener.interrupt(r);for(let o=0;o<t.length;o++){let n=t[o];n.interrupt&&n.interrupt(r)}break;case 2:r.listener&&r.listener.end&&r.listener.end(r);for(let o=0;o<t.length;o++){let n=t[o];n.end&&n.end(r)}case 3:r.listener&&r.listener.dispose&&r.listener.dispose(r);for(let o=0;o<t.length;o++){let n=t[o];n.dispose&&n.dispose(r)}this.animState.trackEntryPool.free(r);break;case 4:r.listener&&r.listener.complete&&r.listener.complete(r);for(let o=0;o<t.length;o++){let n=t[o];n.complete&&n.complete(r)}break;case 5:let l=e[s+++2];r.listener&&r.listener.event&&r.listener.event(r,l);for(let o=0;o<t.length;o++){let n=t[o];n.event&&n.event(r,l)}break}}this.clear(),this.drainDisabled=!1}clear(){this.objects.length=0}},Xs=(e=>(e[e.start=0]="start",e[e.interrupt=1]="interrupt",e[e.end=2]="end",e[e.dispose=3]="dispose",e[e.complete=4]="complete",e[e.event=5]="event",e))(Xs||{}),Sr=class{start(e){}interrupt(e){}end(e){}dispose(e){}complete(e){}event(e,t){}},Ut=0,Le=1,De=2,qt=3,Fs=4,Ve=1,Ps=2,Bs=class{skeletonData;animationToMixTime={};defaultMix=0;constructor(e){if(!e)throw new Error("skeletonData cannot be null.");this.skeletonData=e}setMix(e,t,s){let i=this.skeletonData.findAnimation(e);if(!i)throw new Error("Animation not found: "+e);let r=this.skeletonData.findAnimation(t);if(!r)throw new Error("Animation not found: "+t);this.setMixWith(i,r,s)}setMixWith(e,t,s){if(!e)throw new Error("from cannot be null.");if(!t)throw new Error("to cannot be null.");let i=e.name+"."+t.name;this.animationToMixTime[i]=s}getMix(e,t){let s=e.name+"."+t.name,i=this.animationToMixTime[s];return i===void 0?this.defaultMix:i}},Ne=class or extends ht{color=new V(1,1,1,1);constructor(t){super(t)}copy(){let t=new or(this.name);return this.copyTo(t),t.color.setFromColor(this.color),t}},bt=class lr extends ht{endSlot=null;color=new V(.2275,.2275,.8078,1);constructor(t){super(t)}copy(){let t=new lr(this.name);return this.copyTo(t),t.endSlot=this.endSlot,t.color.setFromColor(this.color),t}},Oe=class{_image;constructor(e){this._image=e}getImage(){return this._image}},Wt=(e=>(e[e.Nearest=9728]="Nearest",e[e.Linear=9729]="Linear",e[e.MipMap=9987]="MipMap",e[e.MipMapN