@galacean/engine-spine 1.0.0-beta.0 → 1.0.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/module.js CHANGED
@@ -1,2 +1,2 @@
1
- import{BufferMesh as t,VertexElement as e,VertexElementFormat as a,Buffer as n,BufferBindFlag as r,BufferUsage as i,IndexFormat as s,MeshRenderer as o,SubMesh as l,Script as h,ignoreClone as u,resourceLoader as c,AssetPromise as d,Entity as f,Loader as v,Texture2D as g,TextureFilterMode as m}from"@galacean/engine";function p(t,e){var a=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),a.push.apply(a,n)}return a}function y(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function w(t,e){for(var a=0;a<e.length;a++){var n=e[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,T(n.key),n)}}function k(t,e,a){return e&&w(t.prototype,e),a&&w(t,a),Object.defineProperty(t,"prototype",{writable:!1}),t}function x(t,e,a){return(e=T(e))in t?Object.defineProperty(t,e,{value:a,enumerable:!0,configurable:!0,writable:!0}):t[e]=a,t}function E(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&S(t,e)}function b(t){return b=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},b(t)}function S(t,e){return S=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},S(t,e)}function M(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function I(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var a,n=b(t);if(e){var r=b(this).constructor;a=Reflect.construct(n,arguments,r)}else a=n.apply(this,arguments);return function(t,e){if(e&&("object"==typeof e||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return M(t)}(this,a)}}function T(t){var e=function(t,e){if("object"!=typeof t||null===t)return t;var a=t[Symbol.toPrimitive];if(void 0!==a){var n=a.call(t,e||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(t,"string");return"symbol"==typeof e?e:String(e)}function R(t,e,a,n){a&&Object.defineProperty(t,e,{enumerable:a.enumerable,configurable:a.configurable,writable:a.writable,value:a.initializer?a.initializer.call(n):void 0})}function A(t,e,a,n,r){var i={};return Object.keys(n).forEach((function(t){i[t]=n[t]})),i.enumerable=!!i.enumerable,i.configurable=!!i.configurable,("value"in i||i.initializer)&&(i.writable=!0),i=a.slice().reverse().reduce((function(a,n){return n(t,e,a)||a}),i),r&&void 0!==i.initializer&&(i.value=i.initializer?i.initializer.call(r):void 0,i.initializer=void 0),void 0===i.initializer&&(Object.defineProperty(t,e,i),i=null),i}var C=function(){function t(){y(this,t),this.array=new Array}return k(t,[{key:"add",value:function(t){var e=this.contains(t);return this.array[0|t]=0|t,!e}},{key:"contains",value:function(t){return null!=this.array[0|t]}},{key:"remove",value:function(t){this.array[0|t]=void 0}},{key:"clear",value:function(){this.array.length=0}}]),t}(),V=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0;y(this,t),this.r=e,this.g=a,this.b=n,this.a=r}return k(t,[{key:"set",value:function(t,e,a,n){return this.r=t,this.g=e,this.b=a,this.a=n,this.clamp(),this}},{key:"setFromColor",value:function(t){return this.r=t.r,this.g=t.g,this.b=t.b,this.a=t.a,this}},{key:"setFromString",value:function(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=(8!=t.length?255:parseInt(t.substr(6,2),16))/255,this}},{key:"add",value:function(t,e,a,n){return this.r+=t,this.g+=e,this.b+=a,this.a+=n,this.clamp(),this}},{key:"clamp",value:function(){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}}],[{key:"rgba8888ToColor",value:function(t,e){t.r=((4278190080&e)>>>24)/255,t.g=((16711680&e)>>>16)/255,t.b=((65280&e)>>>8)/255,t.a=(255&e)/255}},{key:"rgb888ToColor",value:function(t,e){t.r=((16711680&e)>>>16)/255,t.g=((65280&e)>>>8)/255,t.b=(255&e)/255}}]),t}();V.WHITE=new V(1,1,1,1),V.RED=new V(1,0,0,1),V.GREEN=new V(0,1,0,1),V.BLUE=new V(0,0,1,1),V.MAGENTA=new V(1,0,1,1);var P=function(){function t(){y(this,t)}return k(t,null,[{key:"clamp",value:function(t,e,a){return t<e?e:t>a?a:t}},{key:"cosDeg",value:function(e){return Math.cos(e*t.degRad)}},{key:"sinDeg",value:function(e){return Math.sin(e*t.degRad)}},{key:"signum",value:function(t){return t>0?1:t<0?-1:0}},{key:"toInt",value:function(t){return t>0?Math.floor(t):Math.ceil(t)}},{key:"cbrt",value:function(t){var e=Math.pow(Math.abs(t),1/3);return t<0?-e:e}},{key:"randomTriangular",value:function(e,a){return t.randomTriangularWith(e,a,.5*(e+a))}},{key:"randomTriangularWith",value:function(t,e,a){var n=Math.random(),r=e-t;return n<=(a-t)/r?t+Math.sqrt(n*r*(a-t)):e-Math.sqrt((1-n)*r*(e-a))}}]),t}();P.PI=3.1415927,P.PI2=2*P.PI,P.radiansToDegrees=180/P.PI,P.radDeg=P.radiansToDegrees,P.degreesToRadians=P.PI/180,P.degRad=P.degreesToRadians;var _=function(){function t(){y(this,t)}return k(t,null,[{key:"arrayCopy",value:function(t,e,a,n,r){for(var i=e,s=n;i<e+r;i++,s++)a[s]=t[i]}},{key:"setArraySize",value:function(t,e){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,n=t.length;if(n==e)return t;if(t.length=e,n<e)for(var r=n;r<e;r++)t[r]=a;return t}},{key:"ensureArrayCapacity",value:function(e,a){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;return e.length>=a?e:t.setArraySize(e,a,n)}},{key:"newArray",value:function(t,e){for(var a=new Array(t),n=0;n<t;n++)a[n]=e;return a}},{key:"newFloatArray",value:function(e){if(t.SUPPORTS_TYPED_ARRAYS)return new Float32Array(e);for(var a=new Array(e),n=0;n<a.length;n++)a[n]=0;return a}},{key:"newShortArray",value:function(e){if(t.SUPPORTS_TYPED_ARRAYS)return new Int16Array(e);for(var a=new Array(e),n=0;n<a.length;n++)a[n]=0;return a}},{key:"toFloatArray",value:function(e){return t.SUPPORTS_TYPED_ARRAYS?new Float32Array(e):e}},{key:"toSinglePrecision",value:function(e){return t.SUPPORTS_TYPED_ARRAYS?Math.fround(e):e}},{key:"webkit602BugfixHelper",value:function(t,e){}},{key:"contains",value:function(t,e){for(var a=0;a<t.length;a++)if(t[a]==e)return!0;return!1}}]),t}();_.SUPPORTS_TYPED_ARRAYS="undefined"!=typeof Float32Array;var F=function(){function t(e){y(this,t),this.items=new Array,this.instantiator=void 0,this.instantiator=e}return k(t,[{key:"obtain",value:function(){return this.items.length>0?this.items.pop():this.instantiator()}},{key:"free",value:function(t){t.reset&&t.reset(),this.items.push(t)}},{key:"freeAll",value:function(t){for(var e=0;e<t.length;e++)this.free(t[e])}},{key:"clear",value:function(){this.items.length=0}}]),t}(),N=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;y(this,t),this.x=e,this.y=a}return k(t,[{key:"set",value:function(t,e){return this.x=t,this.y=e,this}},{key:"length",value:function(){var t=this.x,e=this.y;return Math.sqrt(t*t+e*e)}},{key:"normalize",value:function(){var t=this.length();return 0!=t&&(this.x/=t,this.y/=t),this}}]),t}(),O=k((function t(e,a,n){if(y(this,t),this.index=void 0,this.name=void 0,this.parent=void 0,this.length=void 0,this.x=0,this.y=0,this.rotation=0,this.scaleX=1,this.scaleY=1,this.shearX=0,this.shearY=0,this.transformMode=L.Normal,this.skinRequired=!1,this.color=new V,e<0)throw new Error("index must be >= 0.");if(null==a)throw new Error("name cannot be null.");this.index=e,this.name=a,this.parent=n})),L=function(t){return t[t.Normal=0]="Normal",t[t.OnlyTranslation=1]="OnlyTranslation",t[t.NoRotationOrReflection=2]="NoRotationOrReflection",t[t.NoScale=3]="NoScale",t[t.NoScaleOrReflection=4]="NoScaleOrReflection",t}({}),D=function(){function t(e,a,n){if(y(this,t),this.data=void 0,this.skeleton=void 0,this.parent=void 0,this.children=new Array,this.x=0,this.y=0,this.rotation=0,this.scaleX=0,this.scaleY=0,this.shearX=0,this.shearY=0,this.ax=0,this.ay=0,this.arotation=0,this.ascaleX=0,this.ascaleY=0,this.ashearX=0,this.ashearY=0,this.appliedValid=!1,this.a=0,this.b=0,this.c=0,this.d=0,this.worldY=0,this.worldX=0,this.sorted=!1,this.active=!1,null==e)throw new Error("data cannot be null.");if(null==a)throw new Error("skeleton cannot be null.");this.data=e,this.skeleton=a,this.parent=n,this.setToSetupPose()}return k(t,[{key:"isActive",value:function(){return this.active}},{key:"update",value:function(){this.updateWorldTransformWith(this.x,this.y,this.rotation,this.scaleX,this.scaleY,this.shearX,this.shearY)}},{key:"updateWorldTransform",value:function(){this.updateWorldTransformWith(this.x,this.y,this.rotation,this.scaleX,this.scaleY,this.shearX,this.shearY)}},{key:"updateWorldTransformWith",value:function(t,e,a,n,r,i,s){this.ax=t,this.ay=e,this.arotation=a,this.ascaleX=n,this.ascaleY=r,this.ashearX=i,this.ashearY=s,this.appliedValid=!0;var o=this.parent;if(null==o){var l=this.skeleton,h=a+90+s,u=l.scaleX,c=l.scaleY;return this.a=P.cosDeg(a+i)*n*u,this.b=P.cosDeg(h)*r*u,this.c=P.sinDeg(a+i)*n*c,this.d=P.sinDeg(h)*r*c,this.worldX=t*u+l.x,void(this.worldY=e*c+l.y)}var d=o.a,f=o.b,v=o.c,g=o.d;switch(this.worldX=d*t+f*e+o.worldX,this.worldY=v*t+g*e+o.worldY,this.data.transformMode){case L.Normal:var m=a+90+s,p=P.cosDeg(a+i)*n,y=P.cosDeg(m)*r,w=P.sinDeg(a+i)*n,k=P.sinDeg(m)*r;return this.a=d*p+f*w,this.b=d*y+f*k,this.c=v*p+g*w,void(this.d=v*y+g*k);case L.OnlyTranslation:var x=a+90+s;this.a=P.cosDeg(a+i)*n,this.b=P.cosDeg(x)*r,this.c=P.sinDeg(a+i)*n,this.d=P.sinDeg(x)*r;break;case L.NoRotationOrReflection:var E=d*d+v*v,b=0;E>1e-4?(E=Math.abs(d*g-f*v)/E,d/=this.skeleton.scaleX,f=(v/=this.skeleton.scaleY)*E,g=d*E,b=Math.atan2(v,d)*P.radDeg):(d=0,v=0,b=90-Math.atan2(g,f)*P.radDeg);var S=a+i-b,M=a+s-b+90,I=P.cosDeg(S)*n,T=P.cosDeg(M)*r,R=P.sinDeg(S)*n,A=P.sinDeg(M)*r;this.a=d*I-f*R,this.b=d*T-f*A,this.c=v*I+g*R,this.d=v*T+g*A;break;case L.NoScale:case L.NoScaleOrReflection:var C=P.cosDeg(a),V=P.sinDeg(a),_=(d*C+f*V)/this.skeleton.scaleX,F=(v*C+g*V)/this.skeleton.scaleY,N=Math.sqrt(_*_+F*F);N>1e-5&&(N=1/N),_*=N,F*=N,N=Math.sqrt(_*_+F*F),this.data.transformMode==L.NoScale&&d*g-f*v<0!=(this.skeleton.scaleX<0!=this.skeleton.scaleY<0)&&(N=-N);var O=Math.PI/2+Math.atan2(F,_),D=Math.cos(O)*N,X=Math.sin(O)*N,B=P.cosDeg(i)*n,Y=P.cosDeg(90+s)*r,U=P.sinDeg(i)*n,W=P.sinDeg(90+s)*r;this.a=_*B+D*U,this.b=_*Y+D*W,this.c=F*B+X*U,this.d=F*Y+X*W}this.a*=this.skeleton.scaleX,this.b*=this.skeleton.scaleX,this.c*=this.skeleton.scaleY,this.d*=this.skeleton.scaleY}},{key:"setToSetupPose",value:function(){var t=this.data;this.x=t.x,this.y=t.y,this.rotation=t.rotation,this.scaleX=t.scaleX,this.scaleY=t.scaleY,this.shearX=t.shearX,this.shearY=t.shearY}},{key:"getWorldRotationX",value:function(){return Math.atan2(this.c,this.a)*P.radDeg}},{key:"getWorldRotationY",value:function(){return Math.atan2(this.d,this.b)*P.radDeg}},{key:"getWorldScaleX",value:function(){return Math.sqrt(this.a*this.a+this.c*this.c)}},{key:"getWorldScaleY",value:function(){return Math.sqrt(this.b*this.b+this.d*this.d)}},{key:"updateAppliedTransform",value:function(){this.appliedValid=!0;var t=this.parent;if(null==t)return this.ax=this.worldX,this.ay=this.worldY,this.arotation=Math.atan2(this.c,this.a)*P.radDeg,this.ascaleX=Math.sqrt(this.a*this.a+this.c*this.c),this.ascaleY=Math.sqrt(this.b*this.b+this.d*this.d),this.ashearX=0,void(this.ashearY=Math.atan2(this.a*this.b+this.c*this.d,this.a*this.d-this.b*this.c)*P.radDeg);var e=t.a,a=t.b,n=t.c,r=t.d,i=1/(e*r-a*n),s=this.worldX-t.worldX,o=this.worldY-t.worldY;this.ax=s*r*i-o*a*i,this.ay=o*e*i-s*n*i;var l=i*r,h=i*e,u=i*a,c=i*n,d=l*this.a-u*this.c,f=l*this.b-u*this.d,v=h*this.c-c*this.a,g=h*this.d-c*this.b;if(this.ashearX=0,this.ascaleX=Math.sqrt(d*d+v*v),this.ascaleX>1e-4){var m=d*g-f*v;this.ascaleY=m/this.ascaleX,this.ashearY=Math.atan2(d*f+v*g,m)*P.radDeg,this.arotation=Math.atan2(v,d)*P.radDeg}else this.ascaleX=0,this.ascaleY=Math.sqrt(f*f+g*g),this.ashearY=0,this.arotation=90-Math.atan2(g,f)*P.radDeg}},{key:"worldToLocal",value:function(t){var e=this.a,a=this.b,n=this.c,r=this.d,i=1/(e*r-a*n),s=t.x-this.worldX,o=t.y-this.worldY;return t.x=s*r*i-o*a*i,t.y=o*e*i-s*n*i,t}},{key:"localToWorld",value:function(t){var e=t.x,a=t.y;return t.x=e*this.a+a*this.b+this.worldX,t.y=e*this.c+a*this.d+this.worldY,t}},{key:"worldToLocalRotation",value:function(t){var e=P.sinDeg(t),a=P.cosDeg(t);return Math.atan2(this.a*e-this.c*a,this.d*a-this.b*e)*P.radDeg+this.rotation-this.shearX}},{key:"localToWorldRotation",value:function(t){t-=this.rotation-this.shearX;var e=P.sinDeg(t),a=P.cosDeg(t);return Math.atan2(a*this.c+e*this.d,a*this.a+e*this.b)*P.radDeg}},{key:"rotateWorld",value:function(t){var e=this.a,a=this.b,n=this.c,r=this.d,i=P.cosDeg(t),s=P.sinDeg(t);this.a=i*e-s*n,this.b=i*a-s*r,this.c=s*e+i*n,this.d=s*a+i*r,this.appliedValid=!1}}]),t}(),X=function(){function t(e,a){if(y(this,t),this.data=void 0,this.bone=void 0,this.color=void 0,this.darkColor=void 0,this.attachment=void 0,this.attachmentTime=void 0,this.attachmentState=void 0,this.deform=new Array,null==e)throw new Error("data cannot be null.");if(null==a)throw new Error("bone cannot be null.");this.data=e,this.bone=a,this.color=new V,this.darkColor=null==e.darkColor?null:new V,this.setToSetupPose()}return k(t,[{key:"getSkeleton",value:function(){return this.bone.skeleton}},{key:"getAttachment",value:function(){return this.attachment}},{key:"setAttachment",value:function(t){this.attachment!=t&&(this.attachment=t,this.attachmentTime=this.bone.skeleton.time,this.deform.length=0)}},{key:"setAttachmentTime",value:function(t){this.attachmentTime=this.bone.skeleton.time-t}},{key:"getAttachmentTime",value:function(){return this.bone.skeleton.time-this.attachmentTime}},{key:"setToSetupPose",value:function(){this.color.setFromColor(this.data.color),null!=this.darkColor&&this.darkColor.setFromColor(this.data.darkColor),null==this.data.attachmentName?this.attachment=null:(this.attachment=null,this.setAttachment(this.bone.skeleton.getAttachment(this.data.index,this.data.attachmentName)))}}]),t}(),B=function(){function t(e,a){if(y(this,t),this.data=void 0,this.bones=void 0,this.target=void 0,this.bendDirection=0,this.compress=!1,this.stretch=!1,this.mix=1,this.softness=0,this.active=!1,null==e)throw new Error("data cannot be null.");if(null==a)throw new Error("skeleton cannot be null.");this.data=e,this.mix=e.mix,this.softness=e.softness,this.bendDirection=e.bendDirection,this.compress=e.compress,this.stretch=e.stretch,this.bones=new Array;for(var n=0;n<e.bones.length;n++)this.bones.push(a.findBone(e.bones[n].name));this.target=a.findBone(e.target.name)}return k(t,[{key:"isActive",value:function(){return this.active}},{key:"apply",value:function(){this.update()}},{key:"update",value:function(){var t=this.target,e=this.bones;switch(e.length){case 1:this.apply1(e[0],t.worldX,t.worldY,this.compress,this.stretch,this.data.uniform,this.mix);break;case 2:this.apply2(e[0],e[1],t.worldX,t.worldY,this.bendDirection,this.stretch,this.softness,this.mix)}}},{key:"apply1",value:function(t,e,a,n,r,i,s){t.appliedValid||t.updateAppliedTransform();var o=t.parent,l=o.a,h=o.b,u=o.c,c=o.d,d=-t.ashearX-t.arotation,f=0,v=0;switch(t.data.transformMode){case L.OnlyTranslation:f=e-t.worldX,v=a-t.worldY;break;case L.NoRotationOrReflection:var g=Math.abs(l*c-h*u)/(l*l+u*u),m=l/t.skeleton.scaleX,p=u/t.skeleton.scaleY;h=-p*g*t.skeleton.scaleX,c=m*g*t.skeleton.scaleY,d+=Math.atan2(p,m)*P.radDeg;default:var y=e-o.worldX,w=a-o.worldY,k=l*c-h*u;f=(y*c-w*h)/k-t.ax,v=(w*l-y*u)/k-t.ay}d+=Math.atan2(v,f)*P.radDeg,t.ascaleX<0&&(d+=180),d>180?d-=360:d<-180&&(d+=360);var x=t.ascaleX,E=t.ascaleY;if(n||r){switch(t.data.transformMode){case L.NoScale:case L.NoScaleOrReflection:f=e-t.worldX,v=a-t.worldY}var b=t.data.length*x,S=Math.sqrt(f*f+v*v);if(n&&S<b||r&&S>b&&b>1e-4){var M=(S/b-1)*s+1;x*=M,i&&(E*=M)}}t.updateWorldTransformWith(t.ax,t.ay,t.arotation+d*s,x,E,t.ashearX,t.ashearY)}},{key:"apply2",value:function(t,e,a,n,r,i,s,o){if(0!=o){t.appliedValid||t.updateAppliedTransform(),e.appliedValid||e.updateAppliedTransform();var l=t.ax,h=t.ay,u=t.ascaleX,c=u,d=t.ascaleY,f=e.ascaleX,v=0,g=0,m=0;u<0?(u=-u,v=180,m=-1):(v=0,m=1),d<0&&(d=-d,m=-m),f<0?(f=-f,g=180):g=0;var p=e.ax,y=0,w=0,k=0,x=t.a,E=t.b,b=t.c,S=t.d,M=Math.abs(u-d)<=1e-4;M?(w=x*p+E*(y=e.ay)+t.worldX,k=b*p+S*y+t.worldY):(y=0,w=x*p+t.worldX,k=b*p+t.worldY);var I=t.parent;x=I.a,E=I.b,b=I.c;var T,R,A=1/(x*(S=I.d)-E*b),C=w-I.worldX,V=k-I.worldY,_=(C*S-V*E)*A-l,F=(V*x-C*b)*A-h,N=Math.sqrt(_*_+F*F),O=e.data.length*f;if(N<1e-4)return this.apply1(t,a,n,!1,i,!1,o),void e.updateWorldTransformWith(p,y,0,e.ascaleX,e.ascaleY,e.ashearX,e.ashearY);var L=((C=a-I.worldX)*S-(V=n-I.worldY)*E)*A-l,D=(V*x-C*b)*A-h,X=L*L+D*D;if(0!=s){s*=u*(f+1)/2;var B=Math.sqrt(X),Y=B-N-O*u+s;if(Y>0){var U=Math.min(1,Y/(2*s))-1;X=(L-=(U=(Y-s*(1-U*U))/B)*L)*L+(D-=U*D)*D}}t:if(M){var W=(X-N*N-(O*=u)*O)/(2*N*O);W<-1?W=-1:W>1&&(W=1,i&&(c*=(Math.sqrt(X)/(N+O)-1)*o+1)),R=Math.acos(W)*r,x=N+O*W,E=O*Math.sin(R),T=Math.atan2(D*x-L*E,L*x+D*E)}else{var q=(x=u*O)*x,j=(E=d*O)*E,H=Math.atan2(D,L),z=-2*j*N,G=j-q;if((S=z*z-4*G*(b=j*N*N+q*X-q*j))>=0){var Z=Math.sqrt(S);z<0&&(Z=-Z);var Q=(Z=-(z+Z)/2)/G,K=b/Z,J=Math.abs(Q)<Math.abs(K)?Q:K;if(J*J<=X){V=Math.sqrt(X-J*J)*r,T=H-Math.atan2(V,J),R=Math.atan2(V/d,(J-N)/u);break t}}var $=P.PI,tt=N-x,et=tt*tt,at=0,nt=0,rt=N+x,it=rt*rt,st=0;(b=-x*N/(q-j))>=-1&&b<=1&&(b=Math.acos(b),(S=(C=x*Math.cos(b)+N)*C+(V=E*Math.sin(b))*V)<et&&($=b,et=S,tt=C,at=V),S>it&&(nt=b,it=S,rt=C,st=V)),X<=(et+it)/2?(T=H-Math.atan2(at*r,tt),R=$*r):(T=H-Math.atan2(st*r,rt),R=nt*r)}var ot=Math.atan2(y,p)*m,lt=t.arotation;(T=(T-ot)*P.radDeg+v-lt)>180?T-=360:T<-180&&(T+=360),t.updateWorldTransformWith(l,h,lt+T*o,c,t.ascaleY,0,0),lt=e.arotation,(R=((R+ot)*P.radDeg-e.ashearX)*m+g-lt)>180?R-=360:R<-180&&(R+=360),e.updateWorldTransformWith(p,y,lt+R*o,e.ascaleX,e.ascaleY,e.ashearX,e.ashearY)}else e.updateWorldTransform()}}]),t}(),Y=function(){function t(e,a){if(y(this,t),this.data=void 0,this.bones=void 0,this.target=void 0,this.rotateMix=0,this.translateMix=0,this.scaleMix=0,this.shearMix=0,this.temp=new N,this.active=!1,null==e)throw new Error("data cannot be null.");if(null==a)throw new Error("skeleton cannot be null.");this.data=e,this.rotateMix=e.rotateMix,this.translateMix=e.translateMix,this.scaleMix=e.scaleMix,this.shearMix=e.shearMix,this.bones=new Array;for(var n=0;n<e.bones.length;n++)this.bones.push(a.findBone(e.bones[n].name));this.target=a.findBone(e.target.name)}return k(t,[{key:"isActive",value:function(){return this.active}},{key:"apply",value:function(){this.update()}},{key:"update",value:function(){this.data.local?this.data.relative?this.applyRelativeLocal():this.applyAbsoluteLocal():this.data.relative?this.applyRelativeWorld():this.applyAbsoluteWorld()}},{key:"applyAbsoluteWorld",value:function(){for(var t=this.rotateMix,e=this.translateMix,a=this.scaleMix,n=this.shearMix,r=this.target,i=r.a,s=r.b,o=r.c,l=r.d,h=i*l-s*o>0?P.degRad:-P.degRad,u=this.data.offsetRotation*h,c=this.data.offsetShearY*h,d=this.bones,f=0,v=d.length;f<v;f++){var g=d[f],m=!1;if(0!=t){var p=g.a,y=g.b,w=g.c,k=g.d,x=Math.atan2(o,i)-Math.atan2(w,p)+u;x>P.PI?x-=P.PI2:x<-P.PI&&(x+=P.PI2),x*=t;var E=Math.cos(x),b=Math.sin(x);g.a=E*p-b*w,g.b=E*y-b*k,g.c=b*p+E*w,g.d=b*y+E*k,m=!0}if(0!=e){var S=this.temp;r.localToWorld(S.set(this.data.offsetX,this.data.offsetY)),g.worldX+=(S.x-g.worldX)*e,g.worldY+=(S.y-g.worldY)*e,m=!0}if(a>0){var M=Math.sqrt(g.a*g.a+g.c*g.c),I=Math.sqrt(i*i+o*o);M>1e-5&&(M=(M+(I-M+this.data.offsetScaleX)*a)/M),g.a*=M,g.c*=M,M=Math.sqrt(g.b*g.b+g.d*g.d),I=Math.sqrt(s*s+l*l),M>1e-5&&(M=(M+(I-M+this.data.offsetScaleY)*a)/M),g.b*=M,g.d*=M,m=!0}if(n>0){var T=g.b,R=g.d,A=Math.atan2(R,T),C=Math.atan2(l,s)-Math.atan2(o,i)-(A-Math.atan2(g.c,g.a));C>P.PI?C-=P.PI2:C<-P.PI&&(C+=P.PI2),C=A+(C+c)*n;var V=Math.sqrt(T*T+R*R);g.b=Math.cos(C)*V,g.d=Math.sin(C)*V,m=!0}m&&(g.appliedValid=!1)}}},{key:"applyRelativeWorld",value:function(){for(var t=this.rotateMix,e=this.translateMix,a=this.scaleMix,n=this.shearMix,r=this.target,i=r.a,s=r.b,o=r.c,l=r.d,h=i*l-s*o>0?P.degRad:-P.degRad,u=this.data.offsetRotation*h,c=this.data.offsetShearY*h,d=this.bones,f=0,v=d.length;f<v;f++){var g=d[f],m=!1;if(0!=t){var p=g.a,y=g.b,w=g.c,k=g.d,x=Math.atan2(o,i)+u;x>P.PI?x-=P.PI2:x<-P.PI&&(x+=P.PI2),x*=t;var E=Math.cos(x),b=Math.sin(x);g.a=E*p-b*w,g.b=E*y-b*k,g.c=b*p+E*w,g.d=b*y+E*k,m=!0}if(0!=e){var S=this.temp;r.localToWorld(S.set(this.data.offsetX,this.data.offsetY)),g.worldX+=S.x*e,g.worldY+=S.y*e,m=!0}if(a>0){var M=(Math.sqrt(i*i+o*o)-1+this.data.offsetScaleX)*a+1;g.a*=M,g.c*=M,M=(Math.sqrt(s*s+l*l)-1+this.data.offsetScaleY)*a+1,g.b*=M,g.d*=M,m=!0}if(n>0){var I=Math.atan2(l,s)-Math.atan2(o,i);I>P.PI?I-=P.PI2:I<-P.PI&&(I+=P.PI2);var T=g.b,R=g.d;I=Math.atan2(R,T)+(I-P.PI/2+c)*n;var A=Math.sqrt(T*T+R*R);g.b=Math.cos(I)*A,g.d=Math.sin(I)*A,m=!0}m&&(g.appliedValid=!1)}}},{key:"applyAbsoluteLocal",value:function(){var t=this.rotateMix,e=this.translateMix,a=this.scaleMix,n=this.shearMix,r=this.target;r.appliedValid||r.updateAppliedTransform();for(var i=this.bones,s=0,o=i.length;s<o;s++){var l=i[s];l.appliedValid||l.updateAppliedTransform();var h=l.arotation;if(0!=t){var u=r.arotation-h+this.data.offsetRotation;h+=(u-=360*(16384-(16384.499999999996-u/360|0)))*t}var c=l.ax,d=l.ay;0!=e&&(c+=(r.ax-c+this.data.offsetX)*e,d+=(r.ay-d+this.data.offsetY)*e);var f=l.ascaleX,v=l.ascaleY;0!=a&&(f>1e-5&&(f=(f+(r.ascaleX-f+this.data.offsetScaleX)*a)/f),v>1e-5&&(v=(v+(r.ascaleY-v+this.data.offsetScaleY)*a)/v));var g=l.ashearY;if(0!=n){var m=r.ashearY-g+this.data.offsetShearY;m-=360*(16384-(16384.499999999996-m/360|0)),l.shearY+=m*n}l.updateWorldTransformWith(c,d,h,f,v,l.ashearX,g)}}},{key:"applyRelativeLocal",value:function(){var t=this.rotateMix,e=this.translateMix,a=this.scaleMix,n=this.shearMix,r=this.target;r.appliedValid||r.updateAppliedTransform();for(var i=this.bones,s=0,o=i.length;s<o;s++){var l=i[s];l.appliedValid||l.updateAppliedTransform();var h=l.arotation;0!=t&&(h+=(r.arotation+this.data.offsetRotation)*t);var u=l.ax,c=l.ay;0!=e&&(u+=(r.ax+this.data.offsetX)*e,c+=(r.ay+this.data.offsetY)*e);var d=l.ascaleX,f=l.ascaleY;0!=a&&(d>1e-5&&(d*=(r.ascaleX-1+this.data.offsetScaleX)*a+1),f>1e-5&&(f*=(r.ascaleY-1+this.data.offsetScaleY)*a+1));var v=l.ashearY;0!=n&&(v+=(r.ashearY+this.data.offsetShearY)*n),l.updateWorldTransformWith(u,c,h,d,f,l.ashearX,v)}}}]),t}(),U=k((function t(e,a,n){y(this,t),this.name=e,this.order=a,this.skinRequired=n})),W=function(t){E(a,U);var e=I(a);function a(t){var n;return y(this,a),(n=e.call(this,t,0,!1)).bones=new Array,n.target=void 0,n.positionMode=void 0,n.spacingMode=void 0,n.rotateMode=void 0,n.offsetRotation=void 0,n.position=void 0,n.spacing=void 0,n.rotateMix=void 0,n.translateMix=void 0,n}return k(a)}(),q=function(t){return t[t.Fixed=0]="Fixed",t[t.Percent=1]="Percent",t}({}),j=function(t){return t[t.Length=0]="Length",t[t.Fixed=1]="Fixed",t[t.Percent=2]="Percent",t}({}),H=function(t){return t[t.Tangent=0]="Tangent",t[t.Chain=1]="Chain",t[t.ChainScale=2]="ChainScale",t}({}),z=k((function t(e){if(y(this,t),this.name=void 0,null==e)throw new Error("name cannot be null.");this.name=e})),G=function(t){E(a,z);var e=I(a);function a(t){var n;return y(this,a),(n=e.call(this,t)).id=(65535&a.nextID++)<<11,n.bones=void 0,n.vertices=void 0,n.worldVerticesLength=0,n.deformAttachment=M(n),n}return k(a,[{key:"computeWorldVertices",value:function(t,e,a,n,r,i){a=r+(a>>1)*i;var s=t.bone.skeleton,o=t.deform,l=this.vertices,h=this.bones;if(null!=h){for(var u=0,c=0,d=0;d<e;d+=2){var f=h[u];u+=f+1,c+=f}var v=s.bones;if(0==o.length)for(var g=r,m=3*c;g<a;g+=i){var p=0,y=0,w=h[u++];for(w+=u;u<w;u++,m+=3){var k=v[h[u]],x=l[m],E=l[m+1],b=l[m+2];p+=(x*k.a+E*k.b+k.worldX)*b,y+=(x*k.c+E*k.d+k.worldY)*b}n[g]=p,n[g+1]=y}else for(var S=o,M=r,I=3*c,T=c<<1;M<a;M+=i){var R=0,A=0,C=h[u++];for(C+=u;u<C;u++,I+=3,T+=2){var V=v[h[u]],P=l[I]+S[T],_=l[I+1]+S[T+1],F=l[I+2];R+=(P*V.a+_*V.b+V.worldX)*F,A+=(P*V.c+_*V.d+V.worldY)*F}n[M]=R,n[M+1]=A}}else{o.length>0&&(l=o);for(var N=t.bone,O=N.worldX,L=N.worldY,D=N.a,X=N.b,B=N.c,Y=N.d,U=e,W=r;W<a;U+=2,W+=i){var q=l[U],j=l[U+1];n[W]=q*D+j*X+O,n[W+1]=q*B+j*Y+L}}}},{key:"copyTo",value:function(t){null!=this.bones?(t.bones=new Array(this.bones.length),_.arrayCopy(this.bones,0,t.bones,0,this.bones.length)):t.bones=null,null!=this.vertices?(t.vertices=_.newFloatArray(this.vertices.length),_.arrayCopy(this.vertices,0,t.vertices,0,this.vertices.length)):t.vertices=null,t.worldVerticesLength=this.worldVerticesLength,t.deformAttachment=this.deformAttachment}}]),a}();G.nextID=0;var Z=function(t){E(a,G);var e=I(a);function a(t){var n;return y(this,a),(n=e.call(this,t)).lengths=void 0,n.closed=!1,n.constantSpeed=!1,n.color=new V(1,1,1,1),n}return k(a,[{key:"copy",value:function(){var t=new a(this.name);return this.copyTo(t),t.lengths=new Array(this.lengths.length),_.arrayCopy(this.lengths,0,t.lengths,0,this.lengths.length),t.closed=closed,t.constantSpeed=this.constantSpeed,t.color.setFromColor(this.color),t}}]),a}(),Q=function(){function t(e,a){if(y(this,t),this.data=void 0,this.bones=void 0,this.target=void 0,this.position=0,this.spacing=0,this.rotateMix=0,this.translateMix=0,this.spaces=new Array,this.positions=new Array,this.world=new Array,this.curves=new Array,this.lengths=new Array,this.segments=new Array,this.active=!1,null==e)throw new Error("data cannot be null.");if(null==a)throw new Error("skeleton cannot be null.");this.data=e,this.bones=new Array;for(var n=0,r=e.bones.length;n<r;n++)this.bones.push(a.findBone(e.bones[n].name));this.target=a.findSlot(e.target.name),this.position=e.position,this.spacing=e.spacing,this.rotateMix=e.rotateMix,this.translateMix=e.translateMix}return k(t,[{key:"isActive",value:function(){return this.active}},{key:"apply",value:function(){this.update()}},{key:"update",value:function(){var e=this.target.getAttachment();if(e instanceof Z){var a=this.rotateMix,n=this.translateMix,r=a>0;if(n>0||r){var i=this.data,s=i.spacingMode==j.Percent,o=i.rotateMode,l=o==H.Tangent,h=o==H.ChainScale,u=this.bones.length,c=l?u:u+1,d=this.bones,f=_.setArraySize(this.spaces,c),v=null,g=this.spacing;if(h||!s){h&&(v=_.setArraySize(this.lengths,u));for(var m=i.spacingMode==j.Length,p=0,y=c-1;p<y;){var w=d[p],k=w.data.length;if(k<t.epsilon)h&&(v[p]=0),f[++p]=0;else if(s){if(h){var x=k*w.a,E=k*w.c,b=Math.sqrt(x*x+E*E);v[p]=b}f[++p]=g}else{var S=k*w.a,M=k*w.c,I=Math.sqrt(S*S+M*M);h&&(v[p]=I),f[++p]=(m?k+g:g)*I/k}}}else for(var T=1;T<c;T++)f[T]=g;var R=this.computeWorldPositions(e,c,l,i.positionMode==q.Percent,s),A=R[0],C=R[1],V=i.offsetRotation,F=!1;if(0==V)F=o==H.Chain;else{F=!1;var N=this.target.bone;V*=N.a*N.d-N.b*N.c>0?P.degRad:-P.degRad}for(var O=0,L=3;O<u;O++,L+=3){var D=d[O];D.worldX+=(A-D.worldX)*n,D.worldY+=(C-D.worldY)*n;var X=R[L],B=R[L+1],Y=X-A,U=B-C;if(h){var W=v[O];if(0!=W){var z=(Math.sqrt(Y*Y+U*U)/W-1)*a+1;D.a*=z,D.c*=z}}if(A=X,C=B,r){var G=D.a,Q=D.b,K=D.c,J=D.d,$=0,tt=0,et=0;if($=l?R[L-1]:0==f[O+1]?R[L+2]:Math.atan2(U,Y),$-=Math.atan2(K,G),F){tt=Math.cos($),et=Math.sin($);var at=D.data.length;A+=(at*(tt*G-et*K)-Y)*a,C+=(at*(et*G+tt*K)-U)*a}else $+=V;$>P.PI?$-=P.PI2:$<-P.PI&&($+=P.PI2),$*=a,tt=Math.cos($),et=Math.sin($),D.a=tt*G-et*K,D.b=tt*Q-et*J,D.c=et*G+tt*K,D.d=et*Q+tt*J}D.appliedValid=!1}}}}},{key:"computeWorldPositions",value:function(e,a,n,r,i){var s=this.target,o=this.position,l=this.spaces,h=_.setArraySize(this.positions,3*a+2),u=null,c=e.closed,d=e.worldVerticesLength,f=d/6,v=t.NONE;if(!e.constantSpeed){var g=e.lengths,m=g[f-=c?1:2];if(r&&(o*=m),i)for(var p=1;p<a;p++)l[p]*=m;u=_.setArraySize(this.world,8);for(var y=0,w=0,k=0;y<a;y++,w+=3){var x=l[y],E=o+=x;if(c)(E%=m)<0&&(E+=m),k=0;else{if(E<0){v!=t.BEFORE&&(v=t.BEFORE,e.computeWorldVertices(s,2,4,u,0,2)),this.addBeforePosition(E,u,0,h,w);continue}if(E>m){v!=t.AFTER&&(v=t.AFTER,e.computeWorldVertices(s,d-6,4,u,0,2)),this.addAfterPosition(E-m,u,0,h,w);continue}}for(;;k++){var b=g[k];if(!(E>b)){if(0==k)E/=b;else{var S=g[k-1];E=(E-S)/(b-S)}break}}k!=v&&(v=k,c&&k==f?(e.computeWorldVertices(s,d-4,4,u,0,2),e.computeWorldVertices(s,0,4,u,4,2)):e.computeWorldVertices(s,6*k+2,8,u,0,2)),this.addCurvePosition(E,u[0],u[1],u[2],u[3],u[4],u[5],u[6],u[7],h,w,n||y>0&&0==x)}return h}c?(d+=2,u=_.setArraySize(this.world,d),e.computeWorldVertices(s,2,d-4,u,0,2),e.computeWorldVertices(s,0,2,u,d-4,2),u[d-2]=u[0],u[d-1]=u[1]):(f--,d-=4,u=_.setArraySize(this.world,d),e.computeWorldVertices(s,2,d,u,0,2));for(var M=_.setArraySize(this.curves,f),I=0,T=u[0],R=u[1],A=0,C=0,V=0,P=0,F=0,N=0,O=0,L=0,D=0,X=0,B=0,Y=0,U=0,W=0,q=0,j=2;q<f;q++,j+=6)A=u[j],C=u[j+1],V=u[j+2],P=u[j+3],B=2*(O=.1875*(T-2*A+V))+(D=.09375*(3*(A-V)-T+(F=u[j+4]))),Y=2*(L=.1875*(R-2*C+P))+(X=.09375*(3*(C-P)-R+(N=u[j+5]))),U=.75*(A-T)+O+.16666667*D,W=.75*(C-R)+L+.16666667*X,I+=Math.sqrt(U*U+W*W),U+=B,W+=Y,B+=D,Y+=X,I+=Math.sqrt(U*U+W*W),U+=B,W+=Y,I+=Math.sqrt(U*U+W*W),U+=B+D,W+=Y+X,I+=Math.sqrt(U*U+W*W),M[q]=I,T=F,R=N;if(o*=r?I:I/e.lengths[f-1],i)for(var H=1;H<a;H++)l[H]*=I;for(var z=this.segments,G=0,Z=0,Q=0,K=0,J=0;Z<a;Z++,Q+=3){var $=l[Z],tt=o+=$;if(c)(tt%=I)<0&&(tt+=I),K=0;else{if(tt<0){this.addBeforePosition(tt,u,0,h,Q);continue}if(tt>I){this.addAfterPosition(tt-I,u,d-4,h,Q);continue}}for(;;K++){var et=M[K];if(!(tt>et)){if(0==K)tt/=et;else{var at=M[K-1];tt=(tt-at)/(et-at)}break}}if(K!=v){v=K;var nt=6*K;for(T=u[nt],R=u[nt+1],A=u[nt+2],C=u[nt+3],V=u[nt+4],P=u[nt+5],B=2*(O=.03*(T-2*A+V))+(D=.006*(3*(A-V)-T+(F=u[nt+6]))),Y=2*(L=.03*(R-2*C+P))+(X=.006*(3*(C-P)-R+(N=u[nt+7]))),U=.3*(A-T)+O+.16666667*D,W=.3*(C-R)+L+.16666667*X,G=Math.sqrt(U*U+W*W),z[0]=G,nt=1;nt<8;nt++)U+=B,W+=Y,B+=D,Y+=X,G+=Math.sqrt(U*U+W*W),z[nt]=G;U+=B,W+=Y,G+=Math.sqrt(U*U+W*W),z[8]=G,U+=B+D,W+=Y+X,G+=Math.sqrt(U*U+W*W),z[9]=G,J=0}for(tt*=G;;J++){var rt=z[J];if(!(tt>rt)){if(0==J)tt/=rt;else{var it=z[J-1];tt=J+(tt-it)/(rt-it)}break}}this.addCurvePosition(.1*tt,T,R,A,C,V,P,F,N,h,Q,n||Z>0&&0==$)}return h}},{key:"addBeforePosition",value:function(t,e,a,n,r){var i=e[a],s=e[a+1],o=e[a+2]-i,l=e[a+3]-s,h=Math.atan2(l,o);n[r]=i+t*Math.cos(h),n[r+1]=s+t*Math.sin(h),n[r+2]=h}},{key:"addAfterPosition",value:function(t,e,a,n,r){var i=e[a+2],s=e[a+3],o=i-e[a],l=s-e[a+1],h=Math.atan2(l,o);n[r]=i+t*Math.cos(h),n[r+1]=s+t*Math.sin(h),n[r+2]=h}},{key:"addCurvePosition",value:function(t,e,a,n,r,i,s,o,l,h,u,c){if(0==t||isNaN(t))return h[u]=e,h[u+1]=a,void(h[u+2]=Math.atan2(r-a,n-e));var d=t*t,f=d*t,v=1-t,g=v*v,m=g*v,p=v*t,y=3*p,w=v*y,k=y*t,x=e*m+n*w+i*k+o*f,E=a*m+r*w+s*k+l*f;h[u]=x,h[u+1]=E,c&&(h[u+2]=t<.001?Math.atan2(r-a,n-e):Math.atan2(E-(a*g+r*p*2+s*d),x-(e*g+n*p*2+i*d)))}}]),t}();Q.NONE=-1,Q.BEFORE=-2,Q.AFTER=-3,Q.epsilon=1e-5;var K=function(t){E(a,z);var e=I(a);function a(t){var n;return y(this,a),(n=e.call(this,t)).x=0,n.y=0,n.scaleX=1,n.scaleY=1,n.rotation=0,n.width=0,n.height=0,n.color=new V(1,1,1,1),n.path=void 0,n.rendererObject=void 0,n.region=void 0,n.offset=_.newFloatArray(8),n.uvs=_.newFloatArray(8),n.tempColor=new V(1,1,1,1),n}return k(a,[{key:"updateOffset",value:function(){var t=this.width/this.region.originalWidth*this.scaleX,e=this.height/this.region.originalHeight*this.scaleY,n=-this.width/2*this.scaleX+this.region.offsetX*t,r=-this.height/2*this.scaleY+this.region.offsetY*e,i=n+this.region.width*t,s=r+this.region.height*e,o=this.rotation*Math.PI/180,l=Math.cos(o),h=Math.sin(o),u=n*l+this.x,c=n*h,d=r*l+this.y,f=r*h,v=i*l+this.x,g=i*h,m=s*l+this.y,p=s*h,y=this.offset;y[a.OX1]=u-f,y[a.OY1]=d+c,y[a.OX2]=u-p,y[a.OY2]=m+c,y[a.OX3]=v-p,y[a.OY3]=m+g,y[a.OX4]=v-f,y[a.OY4]=d+g}},{key:"setRegion",value:function(t){this.region=t;var e=this.uvs;t.rotate?(e[2]=t.u,e[3]=t.v2,e[4]=t.u,e[5]=t.v,e[6]=t.u2,e[7]=t.v,e[0]=t.u2,e[1]=t.v2):(e[0]=t.u,e[1]=t.v2,e[2]=t.u,e[3]=t.v,e[4]=t.u2,e[5]=t.v,e[6]=t.u2,e[7]=t.v2)}},{key:"computeWorldVertices",value:function(t,e,n,r){var i=this.offset,s=t.worldX,o=t.worldY,l=t.a,h=t.b,u=t.c,c=t.d,d=0,f=0;d=i[a.OX1],f=i[a.OY1],e[n]=d*l+f*h+s,e[n+1]=d*u+f*c+o,n+=r,d=i[a.OX2],f=i[a.OY2],e[n]=d*l+f*h+s,e[n+1]=d*u+f*c+o,n+=r,d=i[a.OX3],f=i[a.OY3],e[n]=d*l+f*h+s,e[n+1]=d*u+f*c+o,n+=r,d=i[a.OX4],f=i[a.OY4],e[n]=d*l+f*h+s,e[n+1]=d*u+f*c+o}},{key:"copy",value:function(){var t=new a(this.name);return t.region=this.region,t.rendererObject=this.rendererObject,t.path=this.path,t.x=this.x,t.y=this.y,t.scaleX=this.scaleX,t.scaleY=this.scaleY,t.rotation=this.rotation,t.width=this.width,t.height=this.height,_.arrayCopy(this.uvs,0,t.uvs,0,8),_.arrayCopy(this.offset,0,t.offset,0,8),t.color.setFromColor(this.color),t}}]),a}();K.OX1=0,K.OY1=1,K.OX2=2,K.OY2=3,K.OX3=4,K.OY3=5,K.OX4=6,K.OY4=7,K.X1=0,K.Y1=1,K.C1R=2,K.C1G=3,K.C1B=4,K.C1A=5,K.U1=6,K.V1=7,K.X2=8,K.Y2=9,K.C2R=10,K.C2G=11,K.C2B=12,K.C2A=13,K.U2=14,K.V2=15,K.X3=16,K.Y3=17,K.C3R=18,K.C3G=19,K.C3B=20,K.C3A=21,K.U3=22,K.V3=23,K.X4=24,K.Y4=25,K.C4R=26,K.C4G=27,K.C4B=28,K.C4A=29,K.U4=30,K.V4=31;var J=function(){function t(e){y(this,t),this._image=void 0,this._image=e}return k(t,[{key:"getImage",value:function(){return this._image}}],[{key:"filterFromString",value:function(t){switch(t.toLowerCase()){case"nearest":return $.Nearest;case"linear":return $.Linear;case"mipmap":return $.MipMap;case"mipmapnearestnearest":return $.MipMapNearestNearest;case"mipmaplinearnearest":return $.MipMapLinearNearest;case"mipmapnearestlinear":return $.MipMapNearestLinear;case"mipmaplinearlinear":return $.MipMapLinearLinear;default:throw new Error("Unknown texture filter ".concat(t))}}},{key:"wrapFromString",value:function(t){switch(t.toLowerCase()){case"mirroredtepeat":return tt.MirroredRepeat;case"clamptoedge":return tt.ClampToEdge;case"repeat":return tt.Repeat;default:throw new Error("Unknown texture wrap ".concat(t))}}}]),t}(),$=function(t){return t[t.Nearest=9728]="Nearest",t[t.Linear=9729]="Linear",t[t.MipMap=9987]="MipMap",t[t.MipMapNearestNearest=9984]="MipMapNearestNearest",t[t.MipMapLinearNearest=9985]="MipMapLinearNearest",t[t.MipMapNearestLinear=9986]="MipMapNearestLinear",t[t.MipMapLinearLinear=9987]="MipMapLinearLinear",t}({}),tt=function(t){return t[t.MirroredRepeat=33648]="MirroredRepeat",t[t.ClampToEdge=33071]="ClampToEdge",t[t.Repeat=10497]="Repeat",t}({}),et=k((function t(){y(this,t),this.renderObject=void 0,this.u=0,this.v=0,this.u2=0,this.v2=0,this.width=0,this.height=0,this.rotate=!1,this.offsetX=0,this.offsetY=0,this.originalWidth=0,this.originalHeight=0})),at=function(t){E(a,J);var e=I(a);function a(){return y(this,a),e.apply(this,arguments)}return k(a,[{key:"setFilters",value:function(t,e){}},{key:"setWraps",value:function(t,e){}},{key:"dispose",value:function(){}}]),a}(),nt=function(){function t(e,a){y(this,t),this.pages=new Array,this.regions=new Array,this.load(e,a)}return k(t,[{key:"load",value:function(t,e){if(null==e)throw new Error("textureLoader cannot be null.");for(var a=new rt(t),n=new Array(4),r=null;;){var i=a.readLine();if(null==i)break;if(0==(i=i.trim()).length)r=null;else if(r){var s=new st;s.name=i,s.page=r;var o=a.readValue();"true"==o.toLocaleLowerCase()?s.degrees=90:"false"==o.toLocaleLowerCase()?s.degrees=0:s.degrees=parseFloat(o),s.rotate=90==s.degrees,a.readTuple(n);var l=parseInt(n[0]),h=parseInt(n[1]);a.readTuple(n);var u=parseInt(n[0]),c=parseInt(n[1]);s.u=l/r.width,s.v=h/r.height,s.rotate?(s.u2=(l+c)/r.width,s.v2=(h+u)/r.height):(s.u2=(l+u)/r.width,s.v2=(h+c)/r.height),s.x=l,s.y=h,s.width=Math.abs(u),s.height=Math.abs(c),4==a.readTuple(n)&&4==a.readTuple(n)&&a.readTuple(n),s.originalWidth=parseInt(n[0]),s.originalHeight=parseInt(n[1]),a.readTuple(n),s.offsetX=parseInt(n[0]),s.offsetY=parseInt(n[1]),s.index=parseInt(a.readValue()),s.texture=r.texture,this.regions.push(s)}else{(r=new it).name=i,2==a.readTuple(n)&&(r.width=parseInt(n[0]),r.height=parseInt(n[1]),a.readTuple(n)),a.readTuple(n),r.minFilter=J.filterFromString(n[0]),r.magFilter=J.filterFromString(n[1]);var d=a.readValue();r.uWrap=tt.ClampToEdge,r.vWrap=tt.ClampToEdge,"x"==d?r.uWrap=tt.Repeat:"y"==d?r.vWrap=tt.Repeat:"xy"==d&&(r.uWrap=r.vWrap=tt.Repeat),r.texture=e(i),r.texture.setFilters(r.minFilter,r.magFilter),r.texture.setWraps(r.uWrap,r.vWrap),r.width=r.texture.getImage().width,r.height=r.texture.getImage().height,this.pages.push(r)}}}},{key:"findRegion",value:function(t){for(var e=0;e<this.regions.length;e++)if(this.regions[e].name==t)return this.regions[e];return null}},{key:"dispose",value:function(){for(var t=0;t<this.pages.length;t++)this.pages[t].texture.dispose()}}]),t}(),rt=function(){function t(e){y(this,t),this.lines=void 0,this.index=0,this.lines=e.split(/\r\n|\r|\n/)}return k(t,[{key:"readLine",value:function(){return this.index>=this.lines.length?null:this.lines[this.index++]}},{key:"readValue",value:function(){var t=this.readLine(),e=t.indexOf(":");if(-1==e)throw new Error("Invalid line: "+t);return t.substring(e+1).trim()}},{key:"readTuple",value:function(t){var e=this.readLine(),a=e.indexOf(":");if(-1==a)throw new Error("Invalid line: "+e);for(var n=0,r=a+1;n<3;n++){var i=e.indexOf(",",r);if(-1==i)break;t[n]=e.substr(r,i-r).trim(),r=i+1}return t[n]=e.substring(r).trim(),n+1}}]),t}(),it=k((function t(){y(this,t),this.name=void 0,this.minFilter=void 0,this.magFilter=void 0,this.uWrap=void 0,this.vWrap=void 0,this.texture=void 0,this.width=void 0,this.height=void 0})),st=function(t){E(a,et);var e=I(a);function a(){var t;y(this,a);for(var n=arguments.length,r=new Array(n),i=0;i<n;i++)r[i]=arguments[i];return(t=e.call.apply(e,[this].concat(r))).page=void 0,t.name=void 0,t.x=void 0,t.y=void 0,t.index=void 0,t.rotate=void 0,t.degrees=void 0,t.texture=void 0,t}return k(a)}(),ot=function(t){E(a,G);var e=I(a);function a(t){var n;return y(this,a),(n=e.call(this,t)).region=void 0,n.path=void 0,n.regionUVs=void 0,n.uvs=void 0,n.triangles=void 0,n.color=new V(1,1,1,1),n.width=void 0,n.height=void 0,n.hullLength=void 0,n.edges=void 0,n.parentMesh=void 0,n.tempColor=new V(0,0,0,0),n}return k(a,[{key:"updateUVs",value:function(){var t=this.regionUVs;null!=this.uvs&&this.uvs.length==t.length||(this.uvs=_.newFloatArray(t.length));var e=this.uvs,a=this.uvs.length,n=this.region.u,r=this.region.v,i=0,s=0;if(this.region instanceof st){var o=this.region,l=o.texture.getImage().width,h=o.texture.getImage().height;switch(o.degrees){case 90:n-=(o.originalHeight-o.offsetY-o.height)/l,r-=(o.originalWidth-o.offsetX-o.width)/h,i=o.originalHeight/l,s=o.originalWidth/h;for(var u=0;u<a;u+=2)e[u]=n+t[u+1]*i,e[u+1]=r+(1-t[u])*s;return;case 180:n-=(o.originalWidth-o.offsetX-o.width)/l,r-=o.offsetY/h,i=o.originalWidth/l,s=o.originalHeight/h;for(var c=0;c<a;c+=2)e[c]=n+(1-t[c])*i,e[c+1]=r+(1-t[c+1])*s;return;case 270:n-=o.offsetY/l,r-=o.offsetX/h,i=o.originalHeight/l,s=o.originalWidth/h;for(var d=0;d<a;d+=2)e[d]=n+(1-t[d+1])*i,e[d+1]=r+t[d]*s;return}n-=o.offsetX/l,r-=(o.originalHeight-o.offsetY-o.height)/h,i=o.originalWidth/l,s=o.originalHeight/h}else null==this.region?(n=r=0,i=s=1):(i=this.region.u2-n,s=this.region.v2-r);for(var f=0;f<a;f+=2)e[f]=n+t[f]*i,e[f+1]=r+t[f+1]*s}},{key:"getParentMesh",value:function(){return this.parentMesh}},{key:"setParentMesh",value:function(t){this.parentMesh=t,null!=t&&(this.bones=t.bones,this.vertices=t.vertices,this.worldVerticesLength=t.worldVerticesLength,this.regionUVs=t.regionUVs,this.triangles=t.triangles,this.hullLength=t.hullLength,this.worldVerticesLength=t.worldVerticesLength)}},{key:"copy",value:function(){if(null!=this.parentMesh)return this.newLinkedMesh();var t=new a(this.name);return t.region=this.region,t.path=this.path,t.color.setFromColor(this.color),this.copyTo(t),t.regionUVs=new Array(this.regionUVs.length),_.arrayCopy(this.regionUVs,0,t.regionUVs,0,this.regionUVs.length),t.uvs=new Array(this.uvs.length),_.arrayCopy(this.uvs,0,t.uvs,0,this.uvs.length),t.triangles=new Array(this.triangles.length),_.arrayCopy(this.triangles,0,t.triangles,0,this.triangles.length),t.hullLength=this.hullLength,null!=this.edges&&(t.edges=new Array(this.edges.length),_.arrayCopy(this.edges,0,t.edges,0,this.edges.length)),t.width=this.width,t.height=this.height,t}},{key:"newLinkedMesh",value:function(){var t=new a(this.name);return t.region=this.region,t.path=this.path,t.color.setFromColor(this.color),t.deformAttachment=this.deformAttachment,t.setParentMesh(null!=this.parentMesh?this.parentMesh:this),t.updateUVs(),t}}]),a}(),lt=function(){function t(e){if(y(this,t),this.data=void 0,this.bones=void 0,this.slots=void 0,this.drawOrder=void 0,this.ikConstraints=void 0,this.transformConstraints=void 0,this.pathConstraints=void 0,this._updateCache=new Array,this.updateCacheReset=new Array,this.skin=void 0,this.color=void 0,this.time=0,this.scaleX=1,this.scaleY=1,this.x=0,this.y=0,null==e)throw new Error("data cannot be null.");this.data=e,this.bones=new Array;for(var a=0;a<e.bones.length;a++){var n=e.bones[a],r=void 0;if(null==n.parent)r=new D(n,this,null);else{var i=this.bones[n.parent.index];r=new D(n,this,i),i.children.push(r)}this.bones.push(r)}this.slots=new Array,this.drawOrder=new Array;for(var s=0;s<e.slots.length;s++){var o=e.slots[s],l=this.bones[o.boneData.index],h=new X(o,l);this.slots.push(h),this.drawOrder.push(h)}this.ikConstraints=new Array;for(var u=0;u<e.ikConstraints.length;u++){var c=e.ikConstraints[u];this.ikConstraints.push(new B(c,this))}this.transformConstraints=new Array;for(var d=0;d<e.transformConstraints.length;d++){var f=e.transformConstraints[d];this.transformConstraints.push(new Y(f,this))}this.pathConstraints=new Array;for(var v=0;v<e.pathConstraints.length;v++){var g=e.pathConstraints[v];this.pathConstraints.push(new Q(g,this))}this.color=new V(1,1,1,1),this.updateCache()}return k(t,[{key:"updateCache",value:function(){var t=this._updateCache;t.length=0,this.updateCacheReset.length=0;for(var e=this.bones,a=0,n=e.length;a<n;a++){var r=e[a];r.sorted=r.data.skinRequired,r.active=!r.sorted}if(null!=this.skin)for(var i=this.skin.bones,s=0,o=this.skin.bones.length;s<o;s++){var l=this.bones[i[s].index];do{l.sorted=!1,l.active=!0,l=l.parent}while(null!=l)}var h=this.ikConstraints,u=this.transformConstraints,c=this.pathConstraints,d=h.length,f=u.length,v=c.length,g=d+f+v;t:for(var m=0;m<g;m++){for(var p=0;p<d;p++){var y=h[p];if(y.data.order==m){this.sortIkConstraint(y);continue t}}for(var w=0;w<f;w++){var k=u[w];if(k.data.order==m){this.sortTransformConstraint(k);continue t}}for(var x=0;x<v;x++){var E=c[x];if(E.data.order==m){this.sortPathConstraint(E);continue t}}}for(var b=0,S=e.length;b<S;b++)this.sortBone(e[b])}},{key:"sortIkConstraint",value:function(t){if(t.active=t.target.isActive()&&(!t.data.skinRequired||null!=this.skin&&_.contains(this.skin.constraints,t.data,!0)),t.active){var e=t.target;this.sortBone(e);var a=t.bones,n=a[0];if(this.sortBone(n),a.length>1){var r=a[a.length-1];this._updateCache.indexOf(r)>-1||this.updateCacheReset.push(r)}this._updateCache.push(t),this.sortReset(n.children),a[a.length-1].sorted=!0}}},{key:"sortPathConstraint",value:function(t){if(t.active=t.target.bone.isActive()&&(!t.data.skinRequired||null!=this.skin&&_.contains(this.skin.constraints,t.data,!0)),t.active){var e=t.target,a=e.data.index,n=e.bone;null!=this.skin&&this.sortPathConstraintAttachment(this.skin,a,n),null!=this.data.defaultSkin&&this.data.defaultSkin!=this.skin&&this.sortPathConstraintAttachment(this.data.defaultSkin,a,n);for(var r=0,i=this.data.skins.length;r<i;r++)this.sortPathConstraintAttachment(this.data.skins[r],a,n);var s=e.getAttachment();s instanceof Z&&this.sortPathConstraintAttachmentWith(s,n);for(var o=t.bones,l=o.length,h=0;h<l;h++)this.sortBone(o[h]);this._updateCache.push(t);for(var u=0;u<l;u++)this.sortReset(o[u].children);for(var c=0;c<l;c++)o[c].sorted=!0}}},{key:"sortTransformConstraint",value:function(t){if(t.active=t.target.isActive()&&(!t.data.skinRequired||null!=this.skin&&_.contains(this.skin.constraints,t.data,!0)),t.active){this.sortBone(t.target);var e=t.bones,a=e.length;if(t.data.local)for(var n=0;n<a;n++){var r=e[n];this.sortBone(r.parent),this._updateCache.indexOf(r)>-1||this.updateCacheReset.push(r)}else for(var i=0;i<a;i++)this.sortBone(e[i]);this._updateCache.push(t);for(var s=0;s<a;s++)this.sortReset(e[s].children);for(var o=0;o<a;o++)e[o].sorted=!0}}},{key:"sortPathConstraintAttachment",value:function(t,e,a){var n=t.attachments[e];if(n)for(var r in n)this.sortPathConstraintAttachmentWith(n[r],a)}},{key:"sortPathConstraintAttachmentWith",value:function(t,e){if(t instanceof Z){var a=t.bones;if(null==a)this.sortBone(e);else for(var n=this.bones,r=0;r<a.length;)for(var i=a[r++],s=r+i;r<s;r++){var o=a[r];this.sortBone(n[o])}}}},{key:"sortBone",value:function(t){if(!t.sorted){var e=t.parent;null!=e&&this.sortBone(e),t.sorted=!0,this._updateCache.push(t)}}},{key:"sortReset",value:function(t){for(var e=0,a=t.length;e<a;e++){var n=t[e];n.active&&(n.sorted&&this.sortReset(n.children),n.sorted=!1)}}},{key:"updateWorldTransform",value:function(){for(var t=this.updateCacheReset,e=0,a=t.length;e<a;e++){var n=t[e];n.ax=n.x,n.ay=n.y,n.arotation=n.rotation,n.ascaleX=n.scaleX,n.ascaleY=n.scaleY,n.ashearX=n.shearX,n.ashearY=n.shearY,n.appliedValid=!0}for(var r=this._updateCache,i=0,s=r.length;i<s;i++)r[i].update()}},{key:"setToSetupPose",value:function(){this.setBonesToSetupPose(),this.setSlotsToSetupPose()}},{key:"setBonesToSetupPose",value:function(){for(var t=this.bones,e=0,a=t.length;e<a;e++)t[e].setToSetupPose();for(var n=this.ikConstraints,r=0,i=n.length;r<i;r++){var s=n[r];s.mix=s.data.mix,s.softness=s.data.softness,s.bendDirection=s.data.bendDirection,s.compress=s.data.compress,s.stretch=s.data.stretch}for(var o=this.transformConstraints,l=0,h=o.length;l<h;l++){var u=o[l],c=u.data;u.rotateMix=c.rotateMix,u.translateMix=c.translateMix,u.scaleMix=c.scaleMix,u.shearMix=c.shearMix}for(var d=this.pathConstraints,f=0,v=d.length;f<v;f++){var g=d[f],m=g.data;g.position=m.position,g.spacing=m.spacing,g.rotateMix=m.rotateMix,g.translateMix=m.translateMix}}},{key:"setSlotsToSetupPose",value:function(){var t=this.slots;_.arrayCopy(t,0,this.drawOrder,0,t.length);for(var e=0,a=t.length;e<a;e++)t[e].setToSetupPose()}},{key:"getRootBone",value:function(){return 0==this.bones.length?null:this.bones[0]}},{key:"findBone",value:function(t){if(null==t)throw new Error("boneName cannot be null.");for(var e=this.bones,a=0,n=e.length;a<n;a++){var r=e[a];if(r.data.name==t)return r}return null}},{key:"findBoneIndex",value:function(t){if(null==t)throw new Error("boneName cannot be null.");for(var e=this.bones,a=0,n=e.length;a<n;a++)if(e[a].data.name==t)return a;return-1}},{key:"findSlot",value:function(t){if(null==t)throw new Error("slotName cannot be null.");for(var e=this.slots,a=0,n=e.length;a<n;a++){var r=e[a];if(r.data.name==t)return r}return null}},{key:"findSlotIndex",value:function(t){if(null==t)throw new Error("slotName cannot be null.");for(var e=this.slots,a=0,n=e.length;a<n;a++)if(e[a].data.name==t)return a;return-1}},{key:"setSkinByName",value:function(t){var e=this.data.findSkin(t);if(null==e)throw new Error("Skin not found: "+t);this.setSkin(e)}},{key:"setSkin",value:function(t){if(t!=this.skin){if(null!=t)if(null!=this.skin)t.attachAll(this,this.skin);else for(var e=this.slots,a=0,n=e.length;a<n;a++){var r=e[a],i=r.data.attachmentName;if(null!=i){var s=t.getAttachment(a,i);null!=s&&r.setAttachment(s)}}this.skin=t,this.updateCache()}}},{key:"getAttachmentByName",value:function(t,e){return this.getAttachment(this.data.findSlotIndex(t),e)}},{key:"getAttachment",value:function(t,e){if(null==e)throw new Error("attachmentName cannot be null.");if(null!=this.skin){var a=this.skin.getAttachment(t,e);if(null!=a)return a}return null!=this.data.defaultSkin?this.data.defaultSkin.getAttachment(t,e):null}},{key:"setAttachment",value:function(t,e){if(null==t)throw new Error("slotName cannot be null.");for(var a=this.slots,n=0,r=a.length;n<r;n++){var i=a[n];if(i.data.name==t){var s=null;if(null!=e&&null==(s=this.getAttachment(n,e)))throw new Error("Attachment not found: "+e+", for slot: "+t);return void i.setAttachment(s)}}throw new Error("Slot not found: "+t)}},{key:"findIkConstraint",value:function(t){if(null==t)throw new Error("constraintName cannot be null.");for(var e=this.ikConstraints,a=0,n=e.length;a<n;a++){var r=e[a];if(r.data.name==t)return r}return null}},{key:"findTransformConstraint",value:function(t){if(null==t)throw new Error("constraintName cannot be null.");for(var e=this.transformConstraints,a=0,n=e.length;a<n;a++){var r=e[a];if(r.data.name==t)return r}return null}},{key:"findPathConstraint",value:function(t){if(null==t)throw new Error("constraintName cannot be null.");for(var e=this.pathConstraints,a=0,n=e.length;a<n;a++){var r=e[a];if(r.data.name==t)return r}return null}},{key:"getBounds",value:function(t,e){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:new Array(2);if(null==t)throw new Error("offset cannot be null.");if(null==e)throw new Error("size cannot be null.");for(var n=this.drawOrder,r=Number.POSITIVE_INFINITY,i=Number.POSITIVE_INFINITY,s=Number.NEGATIVE_INFINITY,o=Number.NEGATIVE_INFINITY,l=0,h=n.length;l<h;l++){var u=n[l];if(u.bone.active){var c=0,d=null,f=u.getAttachment();if(f instanceof K)c=8,d=_.setArraySize(a,c,0),f.computeWorldVertices(u.bone,d,0,2);else if(f instanceof ot){var v=f;c=v.worldVerticesLength,d=_.setArraySize(a,c,0),v.computeWorldVertices(u,0,c,d,0,2)}if(null!=d)for(var g=0,m=d.length;g<m;g+=2){var p=d[g],y=d[g+1];r=Math.min(r,p),i=Math.min(i,y),s=Math.max(s,p),o=Math.max(o,y)}}}t.set(r,i),e.set(s-r,o-i)}},{key:"update",value:function(t){this.time+=t}}]),t}(),ht=function(){function t(e,a,n){if(y(this,t),this.name=void 0,this.timelines=void 0,this.timelineIds=void 0,this.duration=void 0,null==e)throw new Error("name cannot be null.");if(null==a)throw new Error("timelines cannot be null.");this.name=e,this.timelines=a,this.timelineIds=[];for(var r=0;r<a.length;r++)this.timelineIds[a[r].getPropertyId()]=!0;this.duration=n}return k(t,[{key:"hasTimeline",value:function(t){return 1==this.timelineIds[t]}},{key:"apply",value:function(t,e,a,n,r,i,s,o){if(null==t)throw new Error("skeleton cannot be null.");n&&0!=this.duration&&(a%=this.duration,e>0&&(e%=this.duration));for(var l=this.timelines,h=0,u=l.length;h<u;h++)l[h].apply(t,e,a,r,i,s,o)}}],[{key:"binarySearch",value:function(t,e){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,n=0,r=t.length/a-2;if(0==r)return a;for(var i=r>>>1;;){if(t[(i+1)*a]<=e?n=i+1:r=i,n==r)return(n+1)*a;i=n+r>>>1}}},{key:"linearSearch",value:function(t,e,a){for(var n=0,r=t.length-a;n<=r;n+=a)if(t[n]>e)return n;return-1}}]),t}(),ut=function(t){return t[t.setup=0]="setup",t[t.first=1]="first",t[t.replace=2]="replace",t[t.add=3]="add",t}({}),ct=function(t){return t[t.mixIn=0]="mixIn",t[t.mixOut=1]="mixOut",t}({}),dt=function(t){return t[t.rotate=0]="rotate",t[t.translate=1]="translate",t[t.scale=2]="scale",t[t.shear=3]="shear",t[t.attachment=4]="attachment",t[t.color=5]="color",t[t.deform=6]="deform",t[t.event=7]="event",t[t.drawOrder=8]="drawOrder",t[t.ikConstraint=9]="ikConstraint",t[t.transformConstraint=10]="transformConstraint",t[t.pathConstraintPosition=11]="pathConstraintPosition",t[t.pathConstraintSpacing=12]="pathConstraintSpacing",t[t.pathConstraintMix=13]="pathConstraintMix",t[t.twoColor=14]="twoColor",t}({}),ft=function(){function t(e){if(y(this,t),this.curves=void 0,e<=0)throw new Error("frameCount must be > 0: "+e);this.curves=_.newFloatArray((e-1)*t.BEZIER_SIZE)}return k(t,[{key:"getFrameCount",value:function(){return this.curves.length/t.BEZIER_SIZE+1}},{key:"setLinear",value:function(e){this.curves[e*t.BEZIER_SIZE]=t.LINEAR}},{key:"setStepped",value:function(e){this.curves[e*t.BEZIER_SIZE]=t.STEPPED}},{key:"getCurveType",value:function(e){var a=e*t.BEZIER_SIZE;if(a==this.curves.length)return t.LINEAR;var n=this.curves[a];return n==t.LINEAR?t.LINEAR:n==t.STEPPED?t.STEPPED:t.BEZIER}},{key:"setCurve",value:function(e,a,n,r,i){var s=.03*(2*-a+r),o=.03*(2*-n+i),l=.006*(3*(a-r)+1),h=.006*(3*(n-i)+1),u=2*s+l,c=2*o+h,d=.3*a+s+.16666667*l,f=.3*n+o+.16666667*h,v=e*t.BEZIER_SIZE,g=this.curves;g[v++]=t.BEZIER;for(var m=d,p=f,y=v+t.BEZIER_SIZE-1;v<y;v+=2)g[v]=m,g[v+1]=p,d+=u,f+=c,u+=l,c+=h,m+=d,p+=f}},{key:"getCurvePercent",value:function(e,a){a=P.clamp(a,0,1);var n=this.curves,r=e*t.BEZIER_SIZE,i=n[r];if(i==t.LINEAR)return a;if(i==t.STEPPED)return 0;for(var s=0,o=++r,l=r+t.BEZIER_SIZE-1;r<l;r+=2)if((s=n[r])>=a){var h=void 0,u=void 0;return r==o?(h=0,u=0):(h=n[r-2],u=n[r-1]),u+(n[r+1]-u)*(a-h)/(s-h)}var c=n[r-1];return c+(1-c)*(a-s)/(1-s)}}]),t}();ft.LINEAR=0,ft.STEPPED=1,ft.BEZIER=2,ft.BEZIER_SIZE=19;var vt=function(t){E(a,ft);var e=I(a);function a(t){var n;return y(this,a),(n=e.call(this,t)).boneIndex=void 0,n.frames=void 0,n.frames=_.newFloatArray(t<<1),n}return k(a,[{key:"getPropertyId",value:function(){return(dt.rotate<<24)+this.boneIndex}},{key:"setFrame",value:function(t,e,n){t<<=1,this.frames[t]=e,this.frames[t+a.ROTATION]=n}},{key:"apply",value:function(t,e,n,r,i,s,o){var l=this.frames,h=t.bones[this.boneIndex];if(h.active)if(n<l[0])switch(s){case ut.setup:return void(h.rotation=h.data.rotation);case ut.first:var u=h.data.rotation-h.rotation;h.rotation+=(u-360*(16384-(16384.499999999996-u/360|0)))*i}else if(n>=l[l.length-a.ENTRIES]){var c=l[l.length+a.PREV_ROTATION];switch(s){case ut.setup:h.rotation=h.data.rotation+c*i;break;case ut.first:case ut.replace:c+=h.data.rotation-h.rotation,c-=360*(16384-(16384.499999999996-c/360|0));case ut.add:h.rotation+=c*i}}else{var d=ht.binarySearch(l,n,a.ENTRIES),f=l[d+a.PREV_ROTATION],v=l[d],g=this.getCurvePercent((d>>1)-1,1-(n-v)/(l[d+a.PREV_TIME]-v)),m=l[d+a.ROTATION]-f;switch(m=f+(m-360*(16384-(16384.499999999996-m/360|0)))*g,s){case ut.setup:h.rotation=h.data.rotation+(m-360*(16384-(16384.499999999996-m/360|0)))*i;break;case ut.first:case ut.replace:m+=h.data.rotation-h.rotation;case ut.add:h.rotation+=(m-360*(16384-(16384.499999999996-m/360|0)))*i}}}}]),a}();vt.ENTRIES=2,vt.PREV_TIME=-2,vt.PREV_ROTATION=-1,vt.ROTATION=1;var gt=function(t){E(a,ft);var e=I(a);function a(t){var n;return y(this,a),(n=e.call(this,t)).boneIndex=void 0,n.frames=void 0,n.frames=_.newFloatArray(t*a.ENTRIES),n}return k(a,[{key:"getPropertyId",value:function(){return(dt.translate<<24)+this.boneIndex}},{key:"setFrame",value:function(t,e,n,r){t*=a.ENTRIES,this.frames[t]=e,this.frames[t+a.X]=n,this.frames[t+a.Y]=r}},{key:"apply",value:function(t,e,n,r,i,s,o){var l=this.frames,h=t.bones[this.boneIndex];if(h.active)if(n<l[0])switch(s){case ut.setup:return h.x=h.data.x,void(h.y=h.data.y);case ut.first:h.x+=(h.data.x-h.x)*i,h.y+=(h.data.y-h.y)*i}else{var u=0,c=0;if(n>=l[l.length-a.ENTRIES])u=l[l.length+a.PREV_X],c=l[l.length+a.PREV_Y];else{var d=ht.binarySearch(l,n,a.ENTRIES);u=l[d+a.PREV_X],c=l[d+a.PREV_Y];var f=l[d],v=this.getCurvePercent(d/a.ENTRIES-1,1-(n-f)/(l[d+a.PREV_TIME]-f));u+=(l[d+a.X]-u)*v,c+=(l[d+a.Y]-c)*v}switch(s){case ut.setup:h.x=h.data.x+u*i,h.y=h.data.y+c*i;break;case ut.first:case ut.replace:h.x+=(h.data.x+u-h.x)*i,h.y+=(h.data.y+c-h.y)*i;break;case ut.add:h.x+=u*i,h.y+=c*i}}}}]),a}();gt.ENTRIES=3,gt.PREV_TIME=-3,gt.PREV_X=-2,gt.PREV_Y=-1,gt.X=1,gt.Y=2;var mt=function(t){E(a,gt);var e=I(a);function a(t){return y(this,a),e.call(this,t)}return k(a,[{key:"getPropertyId",value:function(){return(dt.scale<<24)+this.boneIndex}},{key:"apply",value:function(t,e,n,r,i,s,o){var l=this.frames,h=t.bones[this.boneIndex];if(h.active)if(n<l[0])switch(s){case ut.setup:return h.scaleX=h.data.scaleX,void(h.scaleY=h.data.scaleY);case ut.first:h.scaleX+=(h.data.scaleX-h.scaleX)*i,h.scaleY+=(h.data.scaleY-h.scaleY)*i}else{var u=0,c=0;if(n>=l[l.length-a.ENTRIES])u=l[l.length+a.PREV_X]*h.data.scaleX,c=l[l.length+a.PREV_Y]*h.data.scaleY;else{var d=ht.binarySearch(l,n,a.ENTRIES);u=l[d+a.PREV_X],c=l[d+a.PREV_Y];var f=l[d],v=this.getCurvePercent(d/a.ENTRIES-1,1-(n-f)/(l[d+a.PREV_TIME]-f));u=(u+(l[d+a.X]-u)*v)*h.data.scaleX,c=(c+(l[d+a.Y]-c)*v)*h.data.scaleY}if(1==i)s==ut.add?(h.scaleX+=u-h.data.scaleX,h.scaleY+=c-h.data.scaleY):(h.scaleX=u,h.scaleY=c);else{var g=0,m=0;if(o==ct.mixOut)switch(s){case ut.setup:g=h.data.scaleX,m=h.data.scaleY,h.scaleX=g+(Math.abs(u)*P.signum(g)-g)*i,h.scaleY=m+(Math.abs(c)*P.signum(m)-m)*i;break;case ut.first:case ut.replace:g=h.scaleX,m=h.scaleY,h.scaleX=g+(Math.abs(u)*P.signum(g)-g)*i,h.scaleY=m+(Math.abs(c)*P.signum(m)-m)*i;break;case ut.add:g=h.scaleX,m=h.scaleY,h.scaleX=g+(Math.abs(u)*P.signum(g)-h.data.scaleX)*i,h.scaleY=m+(Math.abs(c)*P.signum(m)-h.data.scaleY)*i}else switch(s){case ut.setup:g=Math.abs(h.data.scaleX)*P.signum(u),m=Math.abs(h.data.scaleY)*P.signum(c),h.scaleX=g+(u-g)*i,h.scaleY=m+(c-m)*i;break;case ut.first:case ut.replace:g=Math.abs(h.scaleX)*P.signum(u),m=Math.abs(h.scaleY)*P.signum(c),h.scaleX=g+(u-g)*i,h.scaleY=m+(c-m)*i;break;case ut.add:g=P.signum(u),m=P.signum(c),h.scaleX=Math.abs(h.scaleX)*g+(u-Math.abs(h.data.scaleX)*g)*i,h.scaleY=Math.abs(h.scaleY)*m+(c-Math.abs(h.data.scaleY)*m)*i}}}}}]),a}(),pt=function(t){E(a,gt);var e=I(a);function a(t){return y(this,a),e.call(this,t)}return k(a,[{key:"getPropertyId",value:function(){return(dt.shear<<24)+this.boneIndex}},{key:"apply",value:function(t,e,n,r,i,s,o){var l=this.frames,h=t.bones[this.boneIndex];if(h.active)if(n<l[0])switch(s){case ut.setup:return h.shearX=h.data.shearX,void(h.shearY=h.data.shearY);case ut.first:h.shearX+=(h.data.shearX-h.shearX)*i,h.shearY+=(h.data.shearY-h.shearY)*i}else{var u=0,c=0;if(n>=l[l.length-a.ENTRIES])u=l[l.length+a.PREV_X],c=l[l.length+a.PREV_Y];else{var d=ht.binarySearch(l,n,a.ENTRIES);u=l[d+a.PREV_X],c=l[d+a.PREV_Y];var f=l[d],v=this.getCurvePercent(d/a.ENTRIES-1,1-(n-f)/(l[d+a.PREV_TIME]-f));u+=(l[d+a.X]-u)*v,c+=(l[d+a.Y]-c)*v}switch(s){case ut.setup:h.shearX=h.data.shearX+u*i,h.shearY=h.data.shearY+c*i;break;case ut.first:case ut.replace:h.shearX+=(h.data.shearX+u-h.shearX)*i,h.shearY+=(h.data.shearY+c-h.shearY)*i;break;case ut.add:h.shearX+=u*i,h.shearY+=c*i}}}}]),a}(),yt=function(t){E(a,ft);var e=I(a);function a(t){var n;return y(this,a),(n=e.call(this,t)).slotIndex=void 0,n.frames=void 0,n.frames=_.newFloatArray(t*a.ENTRIES),n}return k(a,[{key:"getPropertyId",value:function(){return(dt.color<<24)+this.slotIndex}},{key:"setFrame",value:function(t,e,n,r,i,s){t*=a.ENTRIES,this.frames[t]=e,this.frames[t+a.R]=n,this.frames[t+a.G]=r,this.frames[t+a.B]=i,this.frames[t+a.A]=s}},{key:"apply",value:function(t,e,n,r,i,s,o){var l=t.slots[this.slotIndex];if(l.bone.active){var h=this.frames;if(n<h[0])switch(s){case ut.setup:return void l.color.setFromColor(l.data.color);case ut.first:var u=l.color,c=l.data.color;u.add((c.r-u.r)*i,(c.g-u.g)*i,(c.b-u.b)*i,(c.a-u.a)*i)}else{var d=0,f=0,v=0,g=0;if(n>=h[h.length-a.ENTRIES]){var m=h.length;d=h[m+a.PREV_R],f=h[m+a.PREV_G],v=h[m+a.PREV_B],g=h[m+a.PREV_A]}else{var p=ht.binarySearch(h,n,a.ENTRIES);d=h[p+a.PREV_R],f=h[p+a.PREV_G],v=h[p+a.PREV_B],g=h[p+a.PREV_A];var y=h[p],w=this.getCurvePercent(p/a.ENTRIES-1,1-(n-y)/(h[p+a.PREV_TIME]-y));d+=(h[p+a.R]-d)*w,f+=(h[p+a.G]-f)*w,v+=(h[p+a.B]-v)*w,g+=(h[p+a.A]-g)*w}if(1==i)l.color.set(d,f,v,g);else{var k=l.color;s==ut.setup&&k.setFromColor(l.data.color),k.add((d-k.r)*i,(f-k.g)*i,(v-k.b)*i,(g-k.a)*i)}}}}}]),a}();yt.ENTRIES=5,yt.PREV_TIME=-5,yt.PREV_R=-4,yt.PREV_G=-3,yt.PREV_B=-2,yt.PREV_A=-1,yt.R=1,yt.G=2,yt.B=3,yt.A=4;var wt=function(t){E(a,ft);var e=I(a);function a(t){var n;return y(this,a),(n=e.call(this,t)).slotIndex=void 0,n.frames=void 0,n.frames=_.newFloatArray(t*a.ENTRIES),n}return k(a,[{key:"getPropertyId",value:function(){return(dt.twoColor<<24)+this.slotIndex}},{key:"setFrame",value:function(t,e,n,r,i,s,o,l,h){t*=a.ENTRIES,this.frames[t]=e,this.frames[t+a.R]=n,this.frames[t+a.G]=r,this.frames[t+a.B]=i,this.frames[t+a.A]=s,this.frames[t+a.R2]=o,this.frames[t+a.G2]=l,this.frames[t+a.B2]=h}},{key:"apply",value:function(t,e,n,r,i,s,o){var l=t.slots[this.slotIndex];if(l.bone.active){var h=this.frames;if(n<h[0])switch(s){case ut.setup:return l.color.setFromColor(l.data.color),void l.darkColor.setFromColor(l.data.darkColor);case ut.first:var u=l.color,c=l.darkColor,d=l.data.color,f=l.data.darkColor;u.add((d.r-u.r)*i,(d.g-u.g)*i,(d.b-u.b)*i,(d.a-u.a)*i),c.add((f.r-c.r)*i,(f.g-c.g)*i,(f.b-c.b)*i,0)}else{var v=0,g=0,m=0,p=0,y=0,w=0,k=0;if(n>=h[h.length-a.ENTRIES]){var x=h.length;v=h[x+a.PREV_R],g=h[x+a.PREV_G],m=h[x+a.PREV_B],p=h[x+a.PREV_A],y=h[x+a.PREV_R2],w=h[x+a.PREV_G2],k=h[x+a.PREV_B2]}else{var E=ht.binarySearch(h,n,a.ENTRIES);v=h[E+a.PREV_R],g=h[E+a.PREV_G],m=h[E+a.PREV_B],p=h[E+a.PREV_A],y=h[E+a.PREV_R2],w=h[E+a.PREV_G2],k=h[E+a.PREV_B2];var b=h[E],S=this.getCurvePercent(E/a.ENTRIES-1,1-(n-b)/(h[E+a.PREV_TIME]-b));v+=(h[E+a.R]-v)*S,g+=(h[E+a.G]-g)*S,m+=(h[E+a.B]-m)*S,p+=(h[E+a.A]-p)*S,y+=(h[E+a.R2]-y)*S,w+=(h[E+a.G2]-w)*S,k+=(h[E+a.B2]-k)*S}if(1==i)l.color.set(v,g,m,p),l.darkColor.set(y,w,k,1);else{var M=l.color,I=l.darkColor;s==ut.setup&&(M.setFromColor(l.data.color),I.setFromColor(l.data.darkColor)),M.add((v-M.r)*i,(g-M.g)*i,(m-M.b)*i,(p-M.a)*i),I.add((y-I.r)*i,(w-I.g)*i,(k-I.b)*i,0)}}}}}]),a}();wt.ENTRIES=8,wt.PREV_TIME=-8,wt.PREV_R=-7,wt.PREV_G=-6,wt.PREV_B=-5,wt.PREV_A=-4,wt.PREV_R2=-3,wt.PREV_G2=-2,wt.PREV_B2=-1,wt.R=1,wt.G=2,wt.B=3,wt.A=4,wt.R2=5,wt.G2=6,wt.B2=7;var kt=function(){function t(e){y(this,t),this.slotIndex=void 0,this.frames=void 0,this.attachmentNames=void 0,this.frames=_.newFloatArray(e),this.attachmentNames=new Array(e)}return k(t,[{key:"getPropertyId",value:function(){return(dt.attachment<<24)+this.slotIndex}},{key:"getFrameCount",value:function(){return this.frames.length}},{key:"setFrame",value:function(t,e,a){this.frames[t]=e,this.attachmentNames[t]=a}},{key:"apply",value:function(t,e,a,n,r,i,s){var o=t.slots[this.slotIndex];if(o.bone.active)if(s!=ct.mixOut){var l=this.frames;if(a<l[0])i!=ut.setup&&i!=ut.first||this.setAttachment(t,o,o.data.attachmentName);else{var h=0;h=a>=l[l.length-1]?l.length-1:ht.binarySearch(l,a,1)-1;var u=this.attachmentNames[h];t.slots[this.slotIndex].setAttachment(null==u?null:t.getAttachment(this.slotIndex,u))}}else i==ut.setup&&this.setAttachment(t,o,o.data.attachmentName)}},{key:"setAttachment",value:function(t,e,a){e.attachment=null==a?null:t.getAttachment(this.slotIndex,a)}}]),t}(),xt=null,Et=function(t){E(a,ft);var e=I(a);function a(t){var n;return y(this,a),(n=e.call(this,t)).slotIndex=void 0,n.attachment=void 0,n.frames=void 0,n.frameVertices=void 0,n.frames=_.newFloatArray(t),n.frameVertices=new Array(t),null==xt&&(xt=_.newFloatArray(64)),n}return k(a,[{key:"getPropertyId",value:function(){return(dt.deform<<27)+ +this.attachment.id+this.slotIndex}},{key:"setFrame",value:function(t,e,a){this.frames[t]=e,this.frameVertices[t]=a}},{key:"apply",value:function(t,e,a,n,r,i,s){var o=t.slots[this.slotIndex];if(o.bone.active){var l=o.getAttachment();if(l instanceof G&&l.deformAttachment==this.attachment){var h=o.deform;0==h.length&&(i=ut.setup);var u=this.frameVertices,c=u[0].length,d=this.frames;if(a<d[0]){var f=l;switch(i){case ut.setup:return void(h.length=0);case ut.first:if(1==r){h.length=0;break}var v=_.setArraySize(h,c);if(null==f.bones)for(var g=f.vertices,m=0;m<c;m++)v[m]+=(g[m]-v[m])*r;else{r=1-r;for(m=0;m<c;m++)v[m]*=r}}}else{var p=_.setArraySize(h,c);if(a>=d[d.length-1]){var y=u[d.length-1];if(1==r)if(i==ut.add){var w=l;if(null==w.bones)for(var k=w.vertices,x=0;x<c;x++)p[x]+=y[x]-k[x];else for(var E=0;E<c;E++)p[E]+=y[E]}else _.arrayCopy(y,0,p,0,c);else switch(i){case ut.setup:var b=l;if(null==b.bones)for(var S=b.vertices,M=0;M<c;M++){var I=S[M];p[M]=I+(y[M]-I)*r}else for(var T=0;T<c;T++)p[T]=y[T]*r;break;case ut.first:case ut.replace:for(var R=0;R<c;R++)p[R]+=(y[R]-p[R])*r;break;case ut.add:var A=l;if(null==A.bones)for(var C=A.vertices,V=0;V<c;V++)p[V]+=(y[V]-C[V])*r;else for(var P=0;P<c;P++)p[P]+=y[P]*r}}else{var F=ht.binarySearch(d,a),N=u[F-1],O=u[F],L=d[F],D=this.getCurvePercent(F-1,1-(a-L)/(d[F-1]-L));if(1==r)if(i==ut.add){var X=l;if(null==X.bones)for(var B=X.vertices,Y=0;Y<c;Y++){var U=N[Y];p[Y]+=U+(O[Y]-U)*D-B[Y]}else for(var W=0;W<c;W++){var q=N[W];p[W]+=q+(O[W]-q)*D}}else for(var j=0;j<c;j++){var H=N[j];p[j]=H+(O[j]-H)*D}else switch(i){case ut.setup:var z=l;if(null==z.bones)for(var Z=z.vertices,Q=0;Q<c;Q++){var K=N[Q],J=Z[Q];p[Q]=J+(K+(O[Q]-K)*D-J)*r}else for(var $=0;$<c;$++){var tt=N[$];p[$]=(tt+(O[$]-tt)*D)*r}break;case ut.first:case ut.replace:for(var et=0;et<c;et++){var at=N[et];p[et]+=(at+(O[et]-at)*D-p[et])*r}break;case ut.add:var nt=l;if(null==nt.bones)for(var rt=nt.vertices,it=0;it<c;it++){var st=N[it];p[it]+=(st+(O[it]-st)*D-rt[it])*r}else for(var ot=0;ot<c;ot++){var lt=N[ot];p[ot]+=(lt+(O[ot]-lt)*D)*r}}}}}}}}]),a}(),bt=function(){function t(e){y(this,t),this.frames=void 0,this.events=void 0,this.frames=_.newFloatArray(e),this.events=new Array(e)}return k(t,[{key:"getPropertyId",value:function(){return dt.event<<24}},{key:"getFrameCount",value:function(){return this.frames.length}},{key:"setFrame",value:function(t,e){this.frames[t]=e.time,this.events[t]=e}},{key:"apply",value:function(t,e,a,n,r,i,s){if(null!=n){var o=this.frames,l=this.frames.length;if(e>a)this.apply(t,e,Number.MAX_VALUE,n,r,i,s),e=-1;else if(e>=o[l-1])return;if(!(a<o[0])){var h=0;if(e<o[0])h=0;else for(var u=o[h=ht.binarySearch(o,e)];h>0&&o[h-1]==u;)h--;for(;h<l&&a>=o[h];h++)n.push(this.events[h])}}}}]),t}(),St=function(){function t(e){y(this,t),this.frames=void 0,this.drawOrders=void 0,this.frames=_.newFloatArray(e),this.drawOrders=new Array(e)}return k(t,[{key:"getPropertyId",value:function(){return dt.drawOrder<<24}},{key:"getFrameCount",value:function(){return this.frames.length}},{key:"setFrame",value:function(t,e,a){this.frames[t]=e,this.drawOrders[t]=a}},{key:"apply",value:function(t,e,a,n,r,i,s){var o=t.drawOrder,l=t.slots;if(s!=ct.mixOut){var h=this.frames;if(a<h[0])i!=ut.setup&&i!=ut.first||_.arrayCopy(t.slots,0,t.drawOrder,0,t.slots.length);else{var u=0;u=a>=h[h.length-1]?h.length-1:ht.binarySearch(h,a)-1;var c=this.drawOrders[u];if(null==c)_.arrayCopy(l,0,o,0,l.length);else for(var d=0,f=c.length;d<f;d++)o[d]=l[c[d]]}}else i==ut.setup&&_.arrayCopy(t.slots,0,t.drawOrder,0,t.slots.length)}}]),t}(),Mt=function(t){E(a,ft);var e=I(a);function a(t){var n;return y(this,a),(n=e.call(this,t)).ikConstraintIndex=void 0,n.frames=void 0,n.frames=_.newFloatArray(t*a.ENTRIES),n}return k(a,[{key:"getPropertyId",value:function(){return(dt.ikConstraint<<24)+this.ikConstraintIndex}},{key:"setFrame",value:function(t,e,n,r,i,s,o){t*=a.ENTRIES,this.frames[t]=e,this.frames[t+a.MIX]=n,this.frames[t+a.SOFTNESS]=r,this.frames[t+a.BEND_DIRECTION]=i,this.frames[t+a.COMPRESS]=s?1:0,this.frames[t+a.STRETCH]=o?1:0}},{key:"apply",value:function(t,e,n,r,i,s,o){var l=this.frames,h=t.ikConstraints[this.ikConstraintIndex];if(h.active)if(n<l[0])switch(s){case ut.setup:return h.mix=h.data.mix,h.softness=h.data.softness,h.bendDirection=h.data.bendDirection,h.compress=h.data.compress,void(h.stretch=h.data.stretch);case ut.first:h.mix+=(h.data.mix-h.mix)*i,h.softness+=(h.data.softness-h.softness)*i,h.bendDirection=h.data.bendDirection,h.compress=h.data.compress,h.stretch=h.data.stretch}else if(n>=l[l.length-a.ENTRIES])s==ut.setup?(h.mix=h.data.mix+(l[l.length+a.PREV_MIX]-h.data.mix)*i,h.softness=h.data.softness+(l[l.length+a.PREV_SOFTNESS]-h.data.softness)*i,o==ct.mixOut?(h.bendDirection=h.data.bendDirection,h.compress=h.data.compress,h.stretch=h.data.stretch):(h.bendDirection=l[l.length+a.PREV_BEND_DIRECTION],h.compress=0!=l[l.length+a.PREV_COMPRESS],h.stretch=0!=l[l.length+a.PREV_STRETCH])):(h.mix+=(l[l.length+a.PREV_MIX]-h.mix)*i,h.softness+=(l[l.length+a.PREV_SOFTNESS]-h.softness)*i,o==ct.mixIn&&(h.bendDirection=l[l.length+a.PREV_BEND_DIRECTION],h.compress=0!=l[l.length+a.PREV_COMPRESS],h.stretch=0!=l[l.length+a.PREV_STRETCH]));else{var u=ht.binarySearch(l,n,a.ENTRIES),c=l[u+a.PREV_MIX],d=l[u+a.PREV_SOFTNESS],f=l[u],v=this.getCurvePercent(u/a.ENTRIES-1,1-(n-f)/(l[u+a.PREV_TIME]-f));s==ut.setup?(h.mix=h.data.mix+(c+(l[u+a.MIX]-c)*v-h.data.mix)*i,h.softness=h.data.softness+(d+(l[u+a.SOFTNESS]-d)*v-h.data.softness)*i,o==ct.mixOut?(h.bendDirection=h.data.bendDirection,h.compress=h.data.compress,h.stretch=h.data.stretch):(h.bendDirection=l[u+a.PREV_BEND_DIRECTION],h.compress=0!=l[u+a.PREV_COMPRESS],h.stretch=0!=l[u+a.PREV_STRETCH])):(h.mix+=(c+(l[u+a.MIX]-c)*v-h.mix)*i,h.softness+=(d+(l[u+a.SOFTNESS]-d)*v-h.softness)*i,o==ct.mixIn&&(h.bendDirection=l[u+a.PREV_BEND_DIRECTION],h.compress=0!=l[u+a.PREV_COMPRESS],h.stretch=0!=l[u+a.PREV_STRETCH]))}}}]),a}();Mt.ENTRIES=6,Mt.PREV_TIME=-6,Mt.PREV_MIX=-5,Mt.PREV_SOFTNESS=-4,Mt.PREV_BEND_DIRECTION=-3,Mt.PREV_COMPRESS=-2,Mt.PREV_STRETCH=-1,Mt.MIX=1,Mt.SOFTNESS=2,Mt.BEND_DIRECTION=3,Mt.COMPRESS=4,Mt.STRETCH=5;var It=function(t){E(a,ft);var e=I(a);function a(t){var n;return y(this,a),(n=e.call(this,t)).transformConstraintIndex=void 0,n.frames=void 0,n.frames=_.newFloatArray(t*a.ENTRIES),n}return k(a,[{key:"getPropertyId",value:function(){return(dt.transformConstraint<<24)+this.transformConstraintIndex}},{key:"setFrame",value:function(t,e,n,r,i,s){t*=a.ENTRIES,this.frames[t]=e,this.frames[t+a.ROTATE]=n,this.frames[t+a.TRANSLATE]=r,this.frames[t+a.SCALE]=i,this.frames[t+a.SHEAR]=s}},{key:"apply",value:function(t,e,n,r,i,s,o){var l=this.frames,h=t.transformConstraints[this.transformConstraintIndex];if(h.active)if(n<l[0]){var u=h.data;switch(s){case ut.setup:return h.rotateMix=u.rotateMix,h.translateMix=u.translateMix,h.scaleMix=u.scaleMix,void(h.shearMix=u.shearMix);case ut.first:h.rotateMix+=(u.rotateMix-h.rotateMix)*i,h.translateMix+=(u.translateMix-h.translateMix)*i,h.scaleMix+=(u.scaleMix-h.scaleMix)*i,h.shearMix+=(u.shearMix-h.shearMix)*i}}else{var c=0,d=0,f=0,v=0;if(n>=l[l.length-a.ENTRIES]){var g=l.length;c=l[g+a.PREV_ROTATE],d=l[g+a.PREV_TRANSLATE],f=l[g+a.PREV_SCALE],v=l[g+a.PREV_SHEAR]}else{var m=ht.binarySearch(l,n,a.ENTRIES);c=l[m+a.PREV_ROTATE],d=l[m+a.PREV_TRANSLATE],f=l[m+a.PREV_SCALE],v=l[m+a.PREV_SHEAR];var p=l[m],y=this.getCurvePercent(m/a.ENTRIES-1,1-(n-p)/(l[m+a.PREV_TIME]-p));c+=(l[m+a.ROTATE]-c)*y,d+=(l[m+a.TRANSLATE]-d)*y,f+=(l[m+a.SCALE]-f)*y,v+=(l[m+a.SHEAR]-v)*y}if(s==ut.setup){var w=h.data;h.rotateMix=w.rotateMix+(c-w.rotateMix)*i,h.translateMix=w.translateMix+(d-w.translateMix)*i,h.scaleMix=w.scaleMix+(f-w.scaleMix)*i,h.shearMix=w.shearMix+(v-w.shearMix)*i}else h.rotateMix+=(c-h.rotateMix)*i,h.translateMix+=(d-h.translateMix)*i,h.scaleMix+=(f-h.scaleMix)*i,h.shearMix+=(v-h.shearMix)*i}}}]),a}();It.ENTRIES=5,It.PREV_TIME=-5,It.PREV_ROTATE=-4,It.PREV_TRANSLATE=-3,It.PREV_SCALE=-2,It.PREV_SHEAR=-1,It.ROTATE=1,It.TRANSLATE=2,It.SCALE=3,It.SHEAR=4;var Tt=function(t){E(a,ft);var e=I(a);function a(t){var n;return y(this,a),(n=e.call(this,t)).pathConstraintIndex=void 0,n.frames=void 0,n.frames=_.newFloatArray(t*a.ENTRIES),n}return k(a,[{key:"getPropertyId",value:function(){return(dt.pathConstraintPosition<<24)+this.pathConstraintIndex}},{key:"setFrame",value:function(t,e,n){t*=a.ENTRIES,this.frames[t]=e,this.frames[t+a.VALUE]=n}},{key:"apply",value:function(t,e,n,r,i,s,o){var l=this.frames,h=t.pathConstraints[this.pathConstraintIndex];if(h.active)if(n<l[0])switch(s){case ut.setup:return void(h.position=h.data.position);case ut.first:h.position+=(h.data.position-h.position)*i}else{var u=0;if(n>=l[l.length-a.ENTRIES])u=l[l.length+a.PREV_VALUE];else{var c=ht.binarySearch(l,n,a.ENTRIES);u=l[c+a.PREV_VALUE];var d=l[c],f=this.getCurvePercent(c/a.ENTRIES-1,1-(n-d)/(l[c+a.PREV_TIME]-d));u+=(l[c+a.VALUE]-u)*f}s==ut.setup?h.position=h.data.position+(u-h.data.position)*i:h.position+=(u-h.position)*i}}}]),a}();Tt.ENTRIES=2,Tt.PREV_TIME=-2,Tt.PREV_VALUE=-1,Tt.VALUE=1;var Rt=function(t){E(a,Tt);var e=I(a);function a(t){return y(this,a),e.call(this,t)}return k(a,[{key:"getPropertyId",value:function(){return(dt.pathConstraintSpacing<<24)+this.pathConstraintIndex}},{key:"apply",value:function(t,e,n,r,i,s,o){var l=this.frames,h=t.pathConstraints[this.pathConstraintIndex];if(h.active)if(n<l[0])switch(s){case ut.setup:return void(h.spacing=h.data.spacing);case ut.first:h.spacing+=(h.data.spacing-h.spacing)*i}else{var u=0;if(n>=l[l.length-a.ENTRIES])u=l[l.length+a.PREV_VALUE];else{var c=ht.binarySearch(l,n,a.ENTRIES);u=l[c+a.PREV_VALUE];var d=l[c],f=this.getCurvePercent(c/a.ENTRIES-1,1-(n-d)/(l[c+a.PREV_TIME]-d));u+=(l[c+a.VALUE]-u)*f}s==ut.setup?h.spacing=h.data.spacing+(u-h.data.spacing)*i:h.spacing+=(u-h.spacing)*i}}}]),a}(),At=function(t){E(a,ft);var e=I(a);function a(t){var n;return y(this,a),(n=e.call(this,t)).pathConstraintIndex=void 0,n.frames=void 0,n.frames=_.newFloatArray(t*a.ENTRIES),n}return k(a,[{key:"getPropertyId",value:function(){return(dt.pathConstraintMix<<24)+this.pathConstraintIndex}},{key:"setFrame",value:function(t,e,n,r){t*=a.ENTRIES,this.frames[t]=e,this.frames[t+a.ROTATE]=n,this.frames[t+a.TRANSLATE]=r}},{key:"apply",value:function(t,e,n,r,i,s,o){var l=this.frames,h=t.pathConstraints[this.pathConstraintIndex];if(h.active)if(n<l[0])switch(s){case ut.setup:return h.rotateMix=h.data.rotateMix,void(h.translateMix=h.data.translateMix);case ut.first:h.rotateMix+=(h.data.rotateMix-h.rotateMix)*i,h.translateMix+=(h.data.translateMix-h.translateMix)*i}else{var u=0,c=0;if(n>=l[l.length-a.ENTRIES])u=l[l.length+a.PREV_ROTATE],c=l[l.length+a.PREV_TRANSLATE];else{var d=ht.binarySearch(l,n,a.ENTRIES);u=l[d+a.PREV_ROTATE],c=l[d+a.PREV_TRANSLATE];var f=l[d],v=this.getCurvePercent(d/a.ENTRIES-1,1-(n-f)/(l[d+a.PREV_TIME]-f));u+=(l[d+a.ROTATE]-u)*v,c+=(l[d+a.TRANSLATE]-c)*v}s==ut.setup?(h.rotateMix=h.data.rotateMix+(u-h.data.rotateMix)*i,h.translateMix=h.data.translateMix+(c-h.data.translateMix)*i):(h.rotateMix+=(u-h.rotateMix)*i,h.translateMix+=(c-h.translateMix)*i)}}}]),a}();At.ENTRIES=3,At.PREV_TIME=-3,At.PREV_ROTATE=-2,At.PREV_TRANSLATE=-1,At.ROTATE=1,At.TRANSLATE=2;var Ct=function(){function t(e){y(this,t),this.data=void 0,this.tracks=new Array,this.timeScale=1,this.unkeyedState=0,this.events=new Array,this.listeners=new Array,this.queue=new Yt(this),this.propertyIDs=new C,this.animationsChanged=!1,this.trackEntryPool=new F((function(){return new Bt})),this.data=e}return k(t,[{key:"update",value:function(t){t*=this.timeScale;for(var e=this.tracks,a=0,n=e.length;a<n;a++){var r=e[a];if(null!=r){r.animationLast=r.nextAnimationLast,r.trackLast=r.nextTrackLast;var i=t*r.timeScale;if(r.delay>0){if(r.delay-=i,r.delay>0)continue;i=-r.delay,r.delay=0}var s=r.next;if(null!=s){var o=r.trackLast-s.delay;if(o>=0){for(s.delay=0,s.trackTime+=0==r.timeScale?0:(o/r.timeScale+t)*s.timeScale,r.trackTime+=i,this.setCurrent(a,s,!0);null!=s.mixingFrom;)s.mixTime+=t,s=s.mixingFrom;continue}}else if(r.trackLast>=r.trackEnd&&null==r.mixingFrom){e[a]=null,this.queue.end(r),this.disposeNext(r);continue}if(null!=r.mixingFrom&&this.updateMixingFrom(r,t)){var l=r.mixingFrom;for(r.mixingFrom=null,null!=l&&(l.mixingTo=null);null!=l;)this.queue.end(l),l=l.mixingFrom}r.trackTime+=i}}this.queue.drain()}},{key:"updateMixingFrom",value:function(t,e){var a=t.mixingFrom;if(null==a)return!0;var n=this.updateMixingFrom(a,e);return a.animationLast=a.nextAnimationLast,a.trackLast=a.nextTrackLast,t.mixTime>0&&t.mixTime>=t.mixDuration?(0!=a.totalAlpha&&0!=t.mixDuration||(t.mixingFrom=a.mixingFrom,null!=a.mixingFrom&&(a.mixingFrom.mixingTo=t),t.interruptAlpha=a.interruptAlpha,this.queue.end(a)),n):(a.trackTime+=e*a.timeScale,t.mixTime+=e,!1)}},{key:"apply",value:function(e){if(null==e)throw new Error("skeleton cannot be null.");this.animationsChanged&&this._animationsChanged();for(var a=this.events,n=this.tracks,r=!1,i=0,s=n.length;i<s;i++){var o=n[i];if(!(null==o||o.delay>0)){r=!0;var l=0==i?ut.first:o.mixBlend,h=o.alpha;null!=o.mixingFrom?h*=this.applyMixingFrom(o,e,l):o.trackTime>=o.trackEnd&&null==o.next&&(h=0);var u=o.animationLast,c=o.getAnimationTime(),d=o.animation.timelines.length,f=o.animation.timelines;if(0==i&&1==h||l==ut.add)for(var v=0;v<d;v++){_.webkit602BugfixHelper(h,l);var g=f[v];g instanceof kt?this.applyAttachmentTimeline(g,e,c,l,!0):g.apply(e,u,c,a,h,l,ct.mixIn)}else{var m=o.timelineMode,p=0==o.timelinesRotation.length;p&&_.setArraySize(o.timelinesRotation,d<<1,null);for(var y=o.timelinesRotation,w=0;w<d;w++){var k=f[w],x=m[w]==t.SUBSEQUENT?l:ut.setup;k instanceof vt?this.applyRotateTimeline(k,e,c,h,x,y,w<<1,p):k instanceof kt?this.applyAttachmentTimeline(k,e,c,l,!0):(_.webkit602BugfixHelper(h,l),k.apply(e,u,c,a,h,x,ct.mixIn))}}this.queueEvents(o,c),a.length=0,o.nextAnimationLast=c,o.nextTrackLast=o.trackTime}}for(var E=this.unkeyedState+t.SETUP,b=e.slots,S=0,M=e.slots.length;S<M;S++){var I=b[S];if(I.attachmentState==E){var T=I.data.attachmentName;I.attachment=null==T?null:e.getAttachment(I.data.index,T)}}return this.unkeyedState+=2,this.queue.drain(),r}},{key:"applyMixingFrom",value:function(e,a,n){var r=e.mixingFrom;null!=r.mixingFrom&&this.applyMixingFrom(r,a,n);var i=0;0==e.mixDuration?(i=1,n==ut.first&&(n=ut.setup)):((i=e.mixTime/e.mixDuration)>1&&(i=1),n!=ut.first&&(n=r.mixBlend));var s=i<r.eventThreshold?this.events:null,o=i<r.attachmentThreshold,l=i<r.drawOrderThreshold,h=r.animationLast,u=r.getAnimationTime(),c=r.animation.timelines.length,d=r.animation.timelines,f=r.alpha*e.interruptAlpha,v=f*(1-i);if(n==ut.add)for(var g=0;g<c;g++)d[g].apply(a,h,u,s,v,n,ct.mixOut);else{var m=r.timelineMode,p=r.timelineHoldMix,y=0==r.timelinesRotation.length;y&&_.setArraySize(r.timelinesRotation,c<<1,null);var w=r.timelinesRotation;r.totalAlpha=0;for(var k=0;k<c;k++){var x=d[k],E=ct.mixOut,b=void 0,S=0;switch(m[k]){case t.SUBSEQUENT:if(!l&&x instanceof St)continue;b=n,S=v;break;case t.FIRST:b=ut.setup,S=v;break;case t.HOLD_SUBSEQUENT:b=n,S=f;break;case t.HOLD_FIRST:b=ut.setup,S=f;break;default:b=ut.setup;var M=p[k];S=f*Math.max(0,1-M.mixTime/M.mixDuration)}r.totalAlpha+=S,x instanceof vt?this.applyRotateTimeline(x,a,u,S,b,w,k<<1,y):x instanceof kt?this.applyAttachmentTimeline(x,a,u,b,o):(_.webkit602BugfixHelper(S,n),l&&x instanceof St&&b==ut.setup&&(E=ct.mixIn),x.apply(a,h,u,s,S,b,E))}}return e.mixDuration>0&&this.queueEvents(r,u),this.events.length=0,r.nextAnimationLast=u,r.nextTrackLast=r.trackTime,i}},{key:"applyAttachmentTimeline",value:function(e,a,n,r,i){var s=a.slots[e.slotIndex];if(s.bone.active){var o,l=e.frames;if(n<l[0])r!=ut.setup&&r!=ut.first||this.setAttachment(a,s,s.data.attachmentName,i);else o=n>=l[l.length-1]?l.length-1:ht.binarySearch(l,n)-1,this.setAttachment(a,s,e.attachmentNames[o],i);s.attachmentState<=this.unkeyedState&&(s.attachmentState=this.unkeyedState+t.SETUP)}}},{key:"setAttachment",value:function(e,a,n,r){a.attachment=null==n?null:e.getAttachment(a.data.index,n),r&&(a.attachmentState=this.unkeyedState+t.CURRENT)}},{key:"applyRotateTimeline",value:function(t,e,a,n,r,i,s,o){if(o&&(i[s]=0),1!=n){var l=t,h=l.frames,u=e.bones[l.boneIndex];if(u.active){var c=0,d=0;if(a<h[0])switch(r){case ut.setup:u.rotation=u.data.rotation;default:return;case ut.first:c=u.rotation,d=u.data.rotation}else if(c=r==ut.setup?u.data.rotation:u.rotation,a>=h[h.length-vt.ENTRIES])d=u.data.rotation+h[h.length+vt.PREV_ROTATION];else{var f=ht.binarySearch(h,a,vt.ENTRIES),v=h[f+vt.PREV_ROTATION],g=h[f],m=l.getCurvePercent((f>>1)-1,1-(a-g)/(h[f+vt.PREV_TIME]-g));d=h[f+vt.ROTATION]-v,d=v+(d-=360*(16384-(16384.499999999996-d/360|0)))*m+u.data.rotation,d-=360*(16384-(16384.499999999996-d/360|0))}var p=0,y=d-c;if(0==(y-=360*(16384-(16384.499999999996-y/360|0))))p=i[s];else{var w=0,k=0;o?(w=0,k=y):(w=i[s],k=i[s+1]);var x=y>0,E=w>=0;P.signum(k)!=P.signum(y)&&Math.abs(k)<=90&&(Math.abs(w)>180&&(w+=360*P.signum(w)),E=x),p=y+w-w%360,E!=x&&(p+=360*P.signum(w)),i[s]=p}i[s+1]=y,c+=p*n,u.rotation=c-360*(16384-(16384.499999999996-c/360|0))}}else t.apply(e,0,a,null,1,r,ct.mixIn)}},{key:"queueEvents",value:function(t,e){for(var a=t.animationStart,n=t.animationEnd,r=n-a,i=t.trackLast%r,s=this.events,o=0,l=s.length;o<l;o++){var h=s[o];if(h.time<i)break;h.time>n||this.queue.event(t,h)}for((t.loop?0==r||i>t.trackTime%r:e>=n&&t.animationLast<n)&&this.queue.complete(t);o<l;o++){s[o].time<a||this.queue.event(t,s[o])}}},{key:"clearTracks",value:function(){var t=this.queue.drainDisabled;this.queue.drainDisabled=!0;for(var e=0,a=this.tracks.length;e<a;e++)this.clearTrack(e);this.tracks.length=0,this.queue.drainDisabled=t,this.queue.drain()}},{key:"clearTrack",value:function(t){if(!(t>=this.tracks.length)){var e=this.tracks[t];if(null!=e){this.queue.end(e),this.disposeNext(e);for(var a=e;;){var n=a.mixingFrom;if(null==n)break;this.queue.end(n),a.mixingFrom=null,a.mixingTo=null,a=n}this.tracks[e.trackIndex]=null,this.queue.drain()}}}},{key:"setCurrent",value:function(t,e,a){var n=this.expandToIndex(t);this.tracks[t]=e,null!=n&&(a&&this.queue.interrupt(n),e.mixingFrom=n,n.mixingTo=e,e.mixTime=0,null!=n.mixingFrom&&n.mixDuration>0&&(e.interruptAlpha*=Math.min(1,n.mixTime/n.mixDuration)),n.timelinesRotation.length=0),this.queue.start(e)}},{key:"setAnimation",value:function(t,e,a){var n=this.data.skeletonData.findAnimation(e);if(null==n)throw new Error("Animation not found: "+e);return this.setAnimationWith(t,n,a)}},{key:"setAnimationWith",value:function(t,e,a){if(null==e)throw new Error("animation cannot be null.");var n=!0,r=this.expandToIndex(t);null!=r&&(-1==r.nextTrackLast?(this.tracks[t]=r.mixingFrom,this.queue.interrupt(r),this.queue.end(r),this.disposeNext(r),r=r.mixingFrom,n=!1):this.disposeNext(r));var i=this.trackEntry(t,e,a,r);return this.setCurrent(t,i,n),this.queue.drain(),i}},{key:"addAnimation",value:function(t,e,a,n){var r=this.data.skeletonData.findAnimation(e);if(null==r)throw new Error("Animation not found: "+e);return this.addAnimationWith(t,r,a,n)}},{key:"addAnimationWith",value:function(t,e,a,n){if(null==e)throw new Error("animation cannot be null.");var r=this.expandToIndex(t);if(null!=r)for(;null!=r.next;)r=r.next;var i=this.trackEntry(t,e,a,r);if(null==r)this.setCurrent(t,i,!0),this.queue.drain();else if(r.next=i,n<=0){var s=r.animationEnd-r.animationStart;0!=s?(r.loop?n+=s*(1+(r.trackTime/s|0)):n+=Math.max(s,r.trackTime),n-=this.data.getMix(r.animation,e)):n=r.trackTime}return i.delay=n,i}},{key:"setEmptyAnimation",value:function(e,a){var n=this.setAnimationWith(e,t.emptyAnimation,!1);return n.mixDuration=a,n.trackEnd=a,n}},{key:"addEmptyAnimation",value:function(e,a,n){n<=0&&(n-=a);var r=this.addAnimationWith(e,t.emptyAnimation,!1,n);return r.mixDuration=a,r.trackEnd=a,r}},{key:"setEmptyAnimations",value:function(t){var e=this.queue.drainDisabled;this.queue.drainDisabled=!0;for(var a=0,n=this.tracks.length;a<n;a++){var r=this.tracks[a];null!=r&&this.setEmptyAnimation(r.trackIndex,t)}this.queue.drainDisabled=e,this.queue.drain()}},{key:"expandToIndex",value:function(t){return t<this.tracks.length?this.tracks[t]:(_.ensureArrayCapacity(this.tracks,t+1,null),this.tracks.length=t+1,null)}},{key:"trackEntry",value:function(t,e,a,n){var r=this.trackEntryPool.obtain();return r.trackIndex=t,r.animation=e,r.loop=a,r.holdPrevious=!1,r.eventThreshold=0,r.attachmentThreshold=0,r.drawOrderThreshold=0,r.animationStart=0,r.animationEnd=e.duration,r.animationLast=-1,r.nextAnimationLast=-1,r.delay=0,r.trackTime=0,r.trackLast=-1,r.nextTrackLast=-1,r.trackEnd=Number.MAX_VALUE,r.timeScale=1,r.alpha=1,r.interruptAlpha=1,r.mixTime=0,r.mixDuration=null==n?0:this.data.getMix(n.animation,e),r.mixBlend=ut.replace,r}},{key:"disposeNext",value:function(t){for(var e=t.next;null!=e;)this.queue.dispose(e),e=e.next;t.next=null}},{key:"_animationsChanged",value:function(){this.animationsChanged=!1,this.propertyIDs.clear();for(var t=0,e=this.tracks.length;t<e;t++){var a=this.tracks[t];if(null!=a){for(;null!=a.mixingFrom;)a=a.mixingFrom;do{null!=a.mixingFrom&&a.mixBlend==ut.add||this.computeHold(a),a=a.mixingTo}while(null!=a)}}}},{key:"computeHold",value:function(e){var a=e.mixingTo,n=e.animation.timelines,r=e.animation.timelines.length,i=_.setArraySize(e.timelineMode,r);e.timelineHoldMix.length=0;var s=_.setArraySize(e.timelineHoldMix,r),o=this.propertyIDs;if(null!=a&&a.holdPrevious)for(var l=0;l<r;l++)i[l]=o.add(n[l].getPropertyId())?t.HOLD_FIRST:t.HOLD_SUBSEQUENT;else t:for(var h=0;h<r;h++){var u=n[h],c=u.getPropertyId();if(o.add(c))if(null==a||u instanceof kt||u instanceof St||u instanceof bt||!a.animation.hasTimeline(c))i[h]=t.FIRST;else{for(var d=a.mixingTo;null!=d;d=d.mixingTo)if(!d.animation.hasTimeline(c)){if(e.mixDuration>0){i[h]=t.HOLD_MIX,s[h]=d;continue t}break}i[h]=t.HOLD_FIRST}else i[h]=t.SUBSEQUENT}}},{key:"getCurrent",value:function(t){return t>=this.tracks.length?null:this.tracks[t]}},{key:"addListener",value:function(t){if(null==t)throw new Error("listener cannot be null.");this.listeners.push(t)}},{key:"removeListener",value:function(t){var e=this.listeners.indexOf(t);e>=0&&this.listeners.splice(e,1)}},{key:"clearListeners",value:function(){this.listeners.length=0}},{key:"clearListenerNotifications",value:function(){this.queue.clear()}}]),t}();Ct.emptyAnimation=new ht("<empty>",[],0),Ct.SUBSEQUENT=0,Ct.FIRST=1,Ct.HOLD_SUBSEQUENT=2,Ct.HOLD_FIRST=3,Ct.HOLD_MIX=4,Ct.SETUP=1,Ct.CURRENT=2;var Vt,Pt,_t,Ft,Nt,Ot,Lt,Dt,Xt,Bt=function(){function t(){y(this,t),this.animation=void 0,this.next=void 0,this.mixingFrom=void 0,this.mixingTo=void 0,this.listener=void 0,this.trackIndex=void 0,this.loop=void 0,this.holdPrevious=void 0,this.eventThreshold=void 0,this.attachmentThreshold=void 0,this.drawOrderThreshold=void 0,this.animationStart=void 0,this.animationEnd=void 0,this.animationLast=void 0,this.nextAnimationLast=void 0,this.delay=void 0,this.trackTime=void 0,this.trackLast=void 0,this.nextTrackLast=void 0,this.trackEnd=void 0,this.timeScale=void 0,this.alpha=void 0,this.mixTime=void 0,this.mixDuration=void 0,this.interruptAlpha=void 0,this.totalAlpha=void 0,this.mixBlend=ut.replace,this.timelineMode=new Array,this.timelineHoldMix=new Array,this.timelinesRotation=new Array}return k(t,[{key:"reset",value:function(){this.next=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}},{key:"getAnimationTime",value:function(){if(this.loop){var t=this.animationEnd-this.animationStart;return 0==t?this.animationStart:this.trackTime%t+this.animationStart}return Math.min(this.trackTime+this.animationStart,this.animationEnd)}},{key:"setAnimationLast",value:function(t){this.animationLast=t,this.nextAnimationLast=t}},{key:"isComplete",value:function(){return this.trackTime>=this.animationEnd-this.animationStart}},{key:"resetRotationDirections",value:function(){this.timelinesRotation.length=0}}]),t}(),Yt=function(){function t(e){y(this,t),this.objects=[],this.drainDisabled=!1,this.animState=void 0,this.animState=e}return k(t,[{key:"start",value:function(t){this.objects.push(Ut.start),this.objects.push(t),this.animState.animationsChanged=!0}},{key:"interrupt",value:function(t){this.objects.push(Ut.interrupt),this.objects.push(t)}},{key:"end",value:function(t){this.objects.push(Ut.end),this.objects.push(t),this.animState.animationsChanged=!0}},{key:"dispose",value:function(t){this.objects.push(Ut.dispose),this.objects.push(t)}},{key:"complete",value:function(t){this.objects.push(Ut.complete),this.objects.push(t)}},{key:"event",value:function(t){function e(e,a){return t.apply(this,arguments)}return e.toString=function(){return t.toString()},e}((function(t,e){this.objects.push(Ut.event),this.objects.push(t),this.objects.push(e)}))},{key:"drain",value:function(){if(!this.drainDisabled){this.drainDisabled=!0;for(var t=this.objects,e=this.animState.listeners,a=0;a<t.length;a+=2){var n=t[a],r=t[a+1];switch(n){case Ut.start:null!=r.listener&&r.listener.start&&r.listener.start(r);for(var i=0;i<e.length;i++)e[i].start&&e[i].start(r);break;case Ut.interrupt:null!=r.listener&&r.listener.interrupt&&r.listener.interrupt(r);for(var s=0;s<e.length;s++)e[s].interrupt&&e[s].interrupt(r);break;case Ut.end:null!=r.listener&&r.listener.end&&r.listener.end(r);for(var o=0;o<e.length;o++)e[o].end&&e[o].end(r);case Ut.dispose:null!=r.listener&&r.listener.dispose&&r.listener.dispose(r);for(var l=0;l<e.length;l++)e[l].dispose&&e[l].dispose(r);this.animState.trackEntryPool.free(r);break;case Ut.complete:null!=r.listener&&r.listener.complete&&r.listener.complete(r);for(var h=0;h<e.length;h++)e[h].complete&&e[h].complete(r);break;case Ut.event:var u=t[2+a++];null!=r.listener&&r.listener.event&&r.listener.event(r,u);for(var c=0;c<e.length;c++)e[c].event&&e[c].event(r,u)}}this.clear(),this.drainDisabled=!1}}},{key:"clear",value:function(){this.objects.length=0}}]),t}(),Ut=function(t){return t[t.start=0]="start",t[t.interrupt=1]="interrupt",t[t.end=2]="end",t[t.dispose=3]="dispose",t[t.complete=4]="complete",t[t.event=5]="event",t}({}),Wt=function(){function t(e){if(y(this,t),this.skeletonData=void 0,this.animationToMixTime={},this.defaultMix=0,null==e)throw new Error("skeletonData cannot be null.");this.skeletonData=e}return k(t,[{key:"setMix",value:function(t,e,a){var n=this.skeletonData.findAnimation(t);if(null==n)throw new Error("Animation not found: "+t);var r=this.skeletonData.findAnimation(e);if(null==r)throw new Error("Animation not found: "+e);this.setMixWith(n,r,a)}},{key:"setMixWith",value:function(t,e,a){if(null==t)throw new Error("from cannot be null.");if(null==e)throw new Error("to cannot be null.");var n=t.name+"."+e.name;this.animationToMixTime[n]=a}},{key:"getMix",value:function(t,e){var a=t.name+"."+e.name,n=this.animationToMixTime[a];return void 0===n?this.defaultMix:n}}]),t}(),qt=function(t){E(a,G);var e=I(a);function a(t){var n;return y(this,a),(n=e.call(this,t)).endSlot=void 0,n.color=new V(.2275,.2275,.8078,1),n}return k(a,[{key:"copy",value:function(){var t=new a(this.name);return this.copyTo(t),t.endSlot=this.endSlot,t.color.setFromColor(this.color),t}}]),a}(),jt=function(){function t(){y(this,t),this.convexPolygons=new Array,this.convexPolygonsIndices=new Array,this.indicesArray=new Array,this.isConcaveArray=new Array,this.triangles=new Array,this.polygonPool=new F((function(){return new Array})),this.polygonIndicesPool=new F((function(){return new Array}))}return k(t,[{key:"triangulate",value:function(e){var a=e,n=e.length>>1,r=this.indicesArray;r.length=0;for(var i=0;i<n;i++)r[i]=i;var s=this.isConcaveArray;s.length=0;for(var o=0,l=n;o<l;++o)s[o]=t.isConcave(o,n,a,r);var h=this.triangles;for(h.length=0;n>3;){for(var u=n-1,c=0,d=1;;){t:if(!s[c]){for(var f=r[u]<<1,v=r[c]<<1,g=r[d]<<1,m=a[f],p=a[f+1],y=a[v],w=a[v+1],k=a[g],x=a[g+1],E=(d+1)%n;E!=u;E=(E+1)%n)if(s[E]){var b=r[E]<<1,S=a[b],M=a[b+1];if(t.positiveArea(k,x,m,p,S,M)&&t.positiveArea(m,p,y,w,S,M)&&t.positiveArea(y,w,k,x,S,M))break t}break}if(0==d){do{if(!s[c])break;c--}while(c>0);break}u=c,c=d,d=(d+1)%n}h.push(r[(n+c-1)%n]),h.push(r[c]),h.push(r[(c+1)%n]),r.splice(c,1),s.splice(c,1);var I=(--n+c-1)%n,T=c==n?0:c;s[I]=t.isConcave(I,n,a,r),s[T]=t.isConcave(T,n,a,r)}return 3==n&&(h.push(r[2]),h.push(r[0]),h.push(r[1])),h}},{key:"decompose",value:function(e,a){var n=e,r=this.convexPolygons;this.polygonPool.freeAll(r),r.length=0;var i=this.convexPolygonsIndices;this.polygonIndicesPool.freeAll(i),i.length=0;var s=this.polygonIndicesPool.obtain();s.length=0;var o=this.polygonPool.obtain();o.length=0;for(var l=-1,h=0,u=0,c=a.length;u<c;u+=3){var d=a[u]<<1,f=a[u+1]<<1,v=a[u+2]<<1,g=n[d],m=n[d+1],p=n[f],y=n[f+1],w=n[v],k=n[v+1],x=!1;if(l==d){var E=o.length-4,b=t.winding(o[E],o[E+1],o[E+2],o[E+3],w,k),S=t.winding(w,k,o[0],o[1],o[2],o[3]);b==h&&S==h&&(o.push(w),o.push(k),s.push(v),x=!0)}x||(o.length>0?(r.push(o),i.push(s)):(this.polygonPool.free(o),this.polygonIndicesPool.free(s)),(o=this.polygonPool.obtain()).length=0,o.push(g),o.push(m),o.push(p),o.push(y),o.push(w),o.push(k),(s=this.polygonIndicesPool.obtain()).length=0,s.push(d),s.push(f),s.push(v),h=t.winding(g,m,p,y,w,k),l=d)}o.length>0&&(r.push(o),i.push(s));for(var M=0,I=r.length;M<I;M++)if(0!=(s=i[M]).length)for(var T=s[0],R=s[s.length-1],A=(o=r[M]).length-4,C=o[A],V=o[A+1],P=o[A+2],_=o[A+3],F=o[0],N=o[1],O=o[2],L=o[3],D=t.winding(C,V,P,_,F,N),X=0;X<I;X++)if(X!=M){var B=i[X];if(3==B.length){var Y=B[0],U=B[1],W=B[2],q=r[X],j=q[q.length-2],H=q[q.length-1];if(Y==T&&U==R){var z=t.winding(C,V,P,_,j,H),G=t.winding(j,H,F,N,O,L);z==D&&G==D&&(q.length=0,B.length=0,o.push(j),o.push(H),s.push(W),C=P,V=_,P=j,_=H,X=0)}}}for(var Z=r.length-1;Z>=0;Z--)0==(o=r[Z]).length&&(r.splice(Z,1),this.polygonPool.free(o),s=i[Z],i.splice(Z,1),this.polygonIndicesPool.free(s));return r}}],[{key:"isConcave",value:function(t,e,a,n){var r=n[(e+t-1)%e]<<1,i=n[t]<<1,s=n[(t+1)%e]<<1;return!this.positiveArea(a[r],a[r+1],a[i],a[i+1],a[s],a[s+1])}},{key:"positiveArea",value:function(t,e,a,n,r,i){return t*(i-n)+a*(e-i)+r*(n-e)>=0}},{key:"winding",value:function(t,e,a,n,r,i){var s=a-t,o=n-e;return r*o-i*s+s*e-t*o>=0?1:-1}}]),t}(),Ht=function(){function t(){y(this,t),this.triangulator=new jt,this.clippingPolygon=new Array,this.clipOutput=new Array,this.clippedVertices=new Array,this.clippedTriangles=new Array,this.scratch=new Array,this.clipAttachment=void 0,this.clippingPolygons=void 0}return k(t,[{key:"clipStart",value:function(e,a){if(null!=this.clipAttachment)return 0;this.clipAttachment=a;var n=a.worldVerticesLength,r=_.setArraySize(this.clippingPolygon,n);a.computeWorldVertices(e,0,n,r,0,2);var i=this.clippingPolygon;t.makeClockwise(i);for(var s=this.clippingPolygons=this.triangulator.decompose(i,this.triangulator.triangulate(i)),o=0,l=s.length;o<l;o++){var h=s[o];t.makeClockwise(h),h.push(h[0]),h.push(h[1])}return s.length}},{key:"clipEndWithSlot",value:function(t){null!=this.clipAttachment&&this.clipAttachment.endSlot==t.data&&this.clipEnd()}},{key:"clipEnd",value:function(){null!=this.clipAttachment&&(this.clipAttachment=null,this.clippingPolygons=null,this.clippedVertices.length=0,this.clippedTriangles.length=0,this.clippingPolygon.length=0)}},{key:"isClipping",value:function(){return null!=this.clipAttachment}},{key:"clipTriangles",value:function(t,e,a,n,r,i,s,o){var l=this.clipOutput,h=this.clippedVertices,u=this.clippedTriangles,c=this.clippingPolygons,d=this.clippingPolygons.length,f=o?12:8,v=0;h.length=0,u.length=0;t:for(var g=0;g<n;g+=3)for(var m=a[g]<<1,p=t[m],y=t[m+1],w=r[m],k=r[m+1],x=t[m=a[g+1]<<1],E=t[m+1],b=r[m],S=r[m+1],M=t[m=a[g+2]<<1],I=t[m+1],T=r[m],R=r[m+1],A=0;A<d;A++){var C=h.length;if(!this.clip(p,y,x,E,M,I,c[A],l)){var V=_.setArraySize(h,C+3*f);V[C]=p,V[C+1]=y,V[C+2]=i.r,V[C+3]=i.g,V[C+4]=i.b,V[C+5]=i.a,o?(V[C+6]=w,V[C+7]=k,V[C+8]=s.r,V[C+9]=s.g,V[C+10]=s.b,V[C+11]=s.a,V[C+12]=x,V[C+13]=E,V[C+14]=i.r,V[C+15]=i.g,V[C+16]=i.b,V[C+17]=i.a,V[C+18]=b,V[C+19]=S,V[C+20]=s.r,V[C+21]=s.g,V[C+22]=s.b,V[C+23]=s.a,V[C+24]=M,V[C+25]=I,V[C+26]=i.r,V[C+27]=i.g,V[C+28]=i.b,V[C+29]=i.a,V[C+30]=T,V[C+31]=R,V[C+32]=s.r,V[C+33]=s.g,V[C+34]=s.b,V[C+35]=s.a):(V[C+6]=w,V[C+7]=k,V[C+8]=x,V[C+9]=E,V[C+10]=i.r,V[C+11]=i.g,V[C+12]=i.b,V[C+13]=i.a,V[C+14]=b,V[C+15]=S,V[C+16]=M,V[C+17]=I,V[C+18]=i.r,V[C+19]=i.g,V[C+20]=i.b,V[C+21]=i.a,V[C+22]=T,V[C+23]=R),C=u.length;var P=_.setArraySize(u,C+3);P[C]=v,P[C+1]=v+1,P[C+2]=v+2,v+=3;continue t}var F=l.length;if(0!=F){for(var N=E-I,O=M-x,L=p-M,D=I-y,X=1/(N*L+O*(y-I)),B=F>>1,Y=this.clipOutput,U=_.setArraySize(h,C+B*f),W=0;W<F;W+=2){var q=Y[W],j=Y[W+1];U[C]=q,U[C+1]=j,U[C+2]=i.r,U[C+3]=i.g,U[C+4]=i.b,U[C+5]=i.a;var H=q-M,z=j-I,G=(N*H+O*z)*X,Z=(D*H+L*z)*X,Q=1-G-Z;U[C+6]=w*G+b*Z+T*Q,U[C+7]=k*G+S*Z+R*Q,o&&(U[C+8]=s.r,U[C+9]=s.g,U[C+10]=s.b,U[C+11]=s.a),C+=f}C=u.length;var K=_.setArraySize(u,C+3*(B-2));B--;for(var J=1;J<B;J++)K[C]=v,K[C+1]=v+J,K[C+2]=v+J+1,C+=3;v+=B+1}}}},{key:"clip",value:function(t,e,a,n,r,i,s,o){var l=o,h=!1,u=null;s.length%4>=2?(u=o,o=this.scratch):u=this.scratch,u.length=0,u.push(t),u.push(e),u.push(a),u.push(n),u.push(r),u.push(i),u.push(t),u.push(e),o.length=0;for(var c=s,d=s.length-4,f=0;;f+=2){for(var v=c[f],g=c[f+1],m=c[f+2],p=c[f+3],y=v-m,w=g-p,k=u,x=u.length-2,E=o.length,b=0;b<x;b+=2){var S=k[b],M=k[b+1],I=k[b+2],T=k[b+3],R=y*(T-p)-w*(I-m)>0;if(y*(M-p)-w*(S-m)>0){if(R){o.push(I),o.push(T);continue}var A=T-M,C=I-S,V=A*(m-v)-C*(p-g);if(Math.abs(V)>1e-6){var P=(C*(g-M)-A*(v-S))/V;o.push(v+(m-v)*P),o.push(g+(p-g)*P)}else o.push(v),o.push(g)}else if(R){var _=T-M,F=I-S,N=_*(m-v)-F*(p-g);if(Math.abs(N)>1e-6){var O=(F*(g-M)-_*(v-S))/N;o.push(v+(m-v)*O),o.push(g+(p-g)*O)}else o.push(v),o.push(g);o.push(I),o.push(T)}h=!0}if(E==o.length)return l.length=0,!0;if(o.push(o[0]),o.push(o[1]),f==d)break;var L=o;(o=u).length=0,u=L}if(l!=o){l.length=0;for(var D=0,X=o.length-2;D<X;D++)l[D]=o[D]}else l.length=l.length-2;return h}}],[{key:"makeClockwise",value:function(t){for(var e=t,a=t.length,n=e[a-2]*e[1]-e[0]*e[a-1],r=0,i=0,s=0,o=0,l=a-3;o<l;o+=2)r=e[o],i=e[o+1],s=e[o+2],n+=r*e[o+3]-s*i;if(!(n<0))for(var h=0,u=a-2,c=a>>1;h<c;h+=2){var d=e[h],f=e[h+1],v=u-h;e[h]=e[v],e[h+1]=e[v+1],e[v]=d,e[v+1]=f}}}]),t}(),zt=function(){function o(){y(this,o),this._mesh=void 0,this._indexBuffer=void 0,this._vertexBuffer=void 0}return k(o,[{key:"mesh",get:function(){return this._mesh}},{key:"indexBuffer",get:function(){return this._indexBuffer}},{key:"vertexBuffer",get:function(){return this._vertexBuffer}},{key:"initialize",value:function(o,l){var h=this._mesh=new t(o),u=[new e("POSITION",0,a.Vector3,0),new e("COLOR_0",12,a.Vector4,0),new e("TEXCOORD_0",28,a.Vector2,0)],c=4*Gt.VERTEX_STRIDE,d=c*l,f=new n(o,r.VertexBuffer,d,i.Dynamic),v=new n(o,r.IndexBuffer,2*l,i.Dynamic);this._indexBuffer=v,this._vertexBuffer=f,h.setVertexBufferBinding(f,c),h.setIndexBufferBinding(v,s.UInt16),h.setVertexElements(u),h.addSubMesh(0,l)}},{key:"changeBuffer",value:function(t,e){var a=4*Gt.VERTEX_STRIDE,o=a*e,l=new n(t,r.VertexBuffer,o,i.Dynamic),h=new n(t,r.IndexBuffer,2*e,i.Dynamic),u=this._mesh;this._indexBuffer=h,this._vertexBuffer=l,u.setVertexBufferBinding(l,a),u.setIndexBufferBinding(h,s.UInt16)}}]),o}(),Gt=function(){function t(e,a){y(this,t),this._setting=void 0,this._engine=void 0,this._entity=void 0,this._clipper=new Ht,this._spineMesh=new zt,this._vertexCount=void 0,this._vertices=void 0,this._verticesWithZ=void 0,this._indices=void 0,this._needResize=!1,this._meshRenderer=void 0,this._subMeshItems=[],this.separateSlots=[],this._engine=e,this._entity=a}return k(t,[{key:"mesh",get:function(){return this._spineMesh.mesh}},{key:"subMeshItems",get:function(){return this._subMeshItems}},{key:"initialize",value:function(e,a){if(e){var n=this._entity.getComponent(o);if(n){this._meshRenderer=n,a&&(this._setting=a);for(var r=e.defaultSkin.attachments,i=0,s=t.QUAD_TRIANGLES.length,l=0,h=r.length;l<h;l++){var u=r[l];for(var c in u){var d=u[c];if(d)if(d instanceof K)i+=s;else{if(!(d instanceof ot))continue;i+=d.triangles.length}}}this._vertexCount=i,this._prepareBufferData(this._vertexCount);var f=this._spineMesh;f.initialize(this._engine,this._vertexCount),n.mesh=f.mesh}else console.warn("You need add MeshRenderer component to entity first")}}},{key:"buildMesh",value:function(e){var a=this._setting||{},n=a.useClipping,r=void 0===n||n,i=a.zSpacing,s=void 0===i?.01:i,o=0,h=0;this._subMeshItems.length=0;for(var u,c,d=this._meshRenderer,f=e.drawOrder,v=f.length,g=this._clipper,m=this._spineMesh,p=m.mesh,y=this._subMeshItems,w=this._vertices,k=0,x=0,E=0;E<v;E+=1){var b=f[E];if(b.bone.active){var S=b.getAttachment(),M=null,I=null,T=s*E,R=0,A=g.isClipping()?2:t.VERTEX_SIZE;if(S instanceof K){var C=S;M=C.color,w=this._vertices,R=4*A,C.computeWorldVertices(b.bone,w,0,A),u=t.QUAD_TRIANGLES,c=C.uvs,I=C.region.renderObject.texture}else if(S instanceof ot){var V=S;M=V.color,w=this._vertices,(R=(V.worldVerticesLength>>1)*A)>w.length&&(w=this._vertices=new Float32Array(R)),V.computeWorldVertices(b,0,V.worldVerticesLength,w,0,A),u=V.triangles,c=V.uvs,I=V.region.renderObject.texture}else if(S instanceof qt){if(r){var P=S;g.clipStart(b,P);continue}}else if(r){g.clipEndWithSlot(b);continue}if(null!=I){var _=void 0,F=void 0,N=void 0,O=void 0,L=b.bone.skeleton.color,D=b.color,X=L.a*D.a*M.a,B=t.tempColor;if(B.set(L.r*D.r*M.r,L.g*D.g*M.g,L.b*D.b*M.b,X),g.isClipping()){g.clipTriangles(w,R,u,u.length,c,B,null,!1);var Y=g.clippedVertices,U=g.clippedTriangles;_=Y,F=Y.length,N=U,O=U.length}else{for(var W=w,q=2,j=0,H=R;q<H;q+=A,j+=2)W[q]=B.r,W[q+1]=B.g,W[q+2]=B.b,W[q+3]=B.a,W[q+4]=c[j],W[q+5]=c[j+1];_=w,F=R,N=u,O=u.length}for(var z=o/t.VERTEX_STRIDE,G=this._verticesWithZ,Z=o,Q=0;Q<F;)G[Z++]=_[Q++],G[Z++]=_[Q++],G[Z++]=T,G[Z++]=_[Q++],G[Z++]=_[Q++],G[Z++]=_[Q++],G[Z++]=_[Q++],G[Z++]=_[Q++],G[Z++]=_[Q++];o=Z;var J=this._indices;for(Z=h,Q=0;Q<O;Z++,Q++)J[Z]=N[Q]+z;var $=b.data.name;if(this.separateSlots.includes($)){var tt=new l(h,O);if(y.push({name:$,subMesh:tt}),x>0){var et=new l(k,x);y.push({name:"default",subMesh:et}),x=0}k=h+O}else x+=O;h+=O;for(var at=d.getMaterials(),nt=at.length,rt=0;rt<nt;rt+=1){var it=at[rt];it.shaderData.getTexture("renderer_SpriteTexture")||it.shaderData.setTexture("renderer_SpriteTexture",I.texture)}}g.clipEndWithSlot(b)}else g.clipEndWithSlot(b)}if(g.clipEnd(),x>0){var st=new l(k,x);y.push({name:"default",subMesh:st}),x=0}if(y.sort((function(t,e){return t.subMesh.start-e.subMesh.start})),h>0&&h!==this._vertexCount&&h>this._vertexCount)return this._vertexCount=h,this._prepareBufferData(this._vertexCount),void(this._needResize=!0);p.clearSubMesh();for(var lt=y.length,ht=0;ht<lt;ht+=1)p.addSubMesh(y[ht].subMesh);this._needResize&&(m.vertexBuffer.resize(this._verticesWithZ.byteLength),m.indexBuffer.resize(this._indices.byteLength),this._needResize=!1),m.vertexBuffer.setData(this._verticesWithZ),m.indexBuffer.setData(this._indices)}},{key:"addSeparateSlot",value:function(t){this.separateSlots.push(t)}},{key:"_prepareBufferData",value:function(e){this._vertices=new Float32Array(e*t.VERTEX_SIZE),this._verticesWithZ=new Float32Array(e*t.VERTEX_STRIDE),this._indices=new Uint16Array(e)}}]),t}();Gt.QUAD_TRIANGLES=[0,1,2,2,3,0],Gt.VERTEX_SIZE=8,Gt.VERTEX_STRIDE=9,Gt.tempColor=new V;var Zt=(Vt=function(t){E(a,h);var e=I(a);function a(t){var n;return y(this,a),R(n=e.call(this,t),"_skeletonData",Pt,M(n)),R(n,"_skeleton",_t,M(n)),R(n,"_state",Ft,M(n)),R(n,"_tempOffset",Nt,M(n)),R(n,"_tempSize",Ot,M(n)),R(n,"_tempArray",Lt,M(n)),R(n,"_meshGenerator",Dt,M(n)),R(n,"setting",Xt,M(n)),n.autoUpdate=!0,n.autoUpdateBounds=!1,n._meshGenerator=new Gt(n.engine,t),n}return k(a,[{key:"skeletonData",get:function(){return this._skeletonData}},{key:"skeleton",get:function(){return this._skeleton}},{key:"state",get:function(){return this._state}},{key:"mesh",get:function(){return this._meshGenerator.mesh}},{key:"scale",set:function(t){this._skeleton&&(this._skeleton.scaleX=t,this._skeleton.scaleY=t)}},{key:"setSkeletonData",value:function(t,e){t||console.error("SkeletonData is undefined"),this.setting=e,this._skeletonData=t,this._skeleton=new lt(t);var a=new Wt(t);this._state=new Ct(a),this._meshGenerator.initialize(t,this.setting)}},{key:"addSeparateSlot",value:function(t){this.skeleton||console.error("Skeleton not found!");var e=this.entity.getComponent(o);if(e||console.warn("You need add MeshRenderer component to entity first"),this.skeleton.findSlot(t)){this._meshGenerator.addSeparateSlot(t);var a=this.engine._spriteDefaultMaterial.clone(),n=this.engine._spriteDefaultMaterial.clone(),r=e.materialCount;e.setMaterial(r,a),e.setMaterial(r+1,n)}else console.warn("Slot: ".concat(t," not find."))}},{key:"hackSeparateSlotTexture",value:function(t,e){this._meshGenerator.buildMesh(this._skeleton);var a=this._meshGenerator,n=a.separateSlots,r=a.subMeshItems;if(0!==n.length)if(n.includes(t)){var i=this.entity.getComponent(o),s=r.findIndex((function(e){return e.name===t}));i.getMaterial(s).shaderData.setTexture("renderer_SpriteTexture",e)}else console.warn("Slot ".concat(t," is not separated. You should use addSeparateSlot to separate it"));else console.warn("You need add separate slot")}},{key:"onUpdate",value:function(t){this.autoUpdate&&this.updateState(t)}},{key:"updateState",value:function(t){if(this._skeleton&&this.state){var e=this._state,a=this._skeleton;e.update(t),e.apply(a),a.updateWorldTransform(),this.updateGeometry()}}},{key:"updateGeometry",value:function(){this._skeleton&&(this._meshGenerator.buildMesh(this._skeleton),this.autoUpdateBounds&&this.updateBounds())}},{key:"updateBounds",value:function(){var t,e=this.entity.getComponent(o).bounds,a=this._tempOffset,n=this._tempSize,r=this._tempArray,i=(null===(t=this.setting)||void 0===t?void 0:t.zSpacing)||.01,s=this._skeleton;s.getBounds(a,n,r);var l=s.drawOrder;e.min.set(a.x,a.y,0),e.max.set(a.x+n.x,a.y+n.y,l.length*i)}},{key:"_cloneTo",value:function(t){t.setSkeletonData(this.skeletonData);var e=function(t){for(var e=1;e<arguments.length;e++){var a=null!=arguments[e]?arguments[e]:{};e%2?p(Object(a),!0).forEach((function(e){x(t,e,a[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(a)):p(Object(a)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(a,e))}))}return t}({},this.setting);t.setting=e}},{key:"_disposeCurrentSkeleton",value:function(){this._skeletonData=null,this._skeleton=null,this._state=null}},{key:"onDestroy",value:function(){this._disposeCurrentSkeleton(),this._meshGenerator=null,this.setting=null}}]),a}(),Pt=A(Vt.prototype,"_skeletonData",[u],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),_t=A(Vt.prototype,"_skeleton",[u],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Ft=A(Vt.prototype,"_state",[u],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Nt=A(Vt.prototype,"_tempOffset",[u],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new N}}),Ot=A(Vt.prototype,"_tempSize",[u],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new N}}),Lt=A(Vt.prototype,"_tempArray",[u],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return[0,0]}}),Dt=A(Vt.prototype,"_meshGenerator",[u],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Xt=A(Vt.prototype,"setting",[u],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Vt),Qt=function(){function t(e,a){y(this,t),this.pathPrefix=void 0,this.textureLoader=void 0,this.assets={},this.errors={},this.toLoad=0,this.loaded=0,this.rawDataUris={},this.onLoadComplete=void 0,this.pathPrefix=e||"",this.textureLoader=a}return k(t,[{key:"downloadText",value:function(t,e,a){var n=new XMLHttpRequest;n.overrideMimeType("text/html"),this.rawDataUris[t]&&(t=this.rawDataUris[t]),n.open("GET",t,!0),n.onload=function(){200==n.status?e(n.responseText):a(n.status,n.responseText)},n.onerror=function(){a(n.status,n.responseText)},n.send()}},{key:"downloadBinary",value:function(t,e,a){var n=new XMLHttpRequest;this.rawDataUris[t]&&(t=this.rawDataUris[t]),n.open("GET",t,!0),n.responseType="arraybuffer",n.onload=function(){200==n.status?e(new Uint8Array(n.response)):a(n.status,n.responseText)},n.onerror=function(){a(n.status,n.responseText)},n.send()}},{key:"setRawDataURI",value:function(t,e){this.rawDataUris[this.pathPrefix+t]=e}},{key:"loadBinary",value:function(t){var e=this,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;t=this.pathPrefix+t,this.toLoad++,this.downloadBinary(t,(function(n){e.assets[t]=n,a&&a(t,n),e.onLoad(),e.loaded++}),(function(a,r){e.errors[t]="Couldn't load binary ".concat(t,": status ").concat(status,", ").concat(r),n&&n(t,"Couldn't load binary ".concat(t,": status ").concat(status,", ").concat(r)),e.onLoad(),e.loaded++}))}},{key:"loadText",value:function(t){var e=this,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;t=this.pathPrefix+t,this.toLoad++,this.downloadText(t,(function(n){e.assets[t]=n,a&&a(t,n),e.onLoad(),e.loaded++}),(function(a,r){e.errors[t]="Couldn't load text ".concat(t,": status ").concat(status,", ").concat(r),n&&n(t,"Couldn't load text ".concat(t,": status ").concat(status,", ").concat(r)),e.onLoad(),e.loaded++}))}},{key:"loadImage",value:function(t){var e=this,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,r=t=this.pathPrefix+t;this.toLoad++;var i=new Image;i.crossOrigin="anonymous",i.onload=function(n){e.assets[r]=i,e.onLoad(),e.loaded++,a&&a(t,i)},i.onerror=function(a){e.errors[t]="Couldn't load image ".concat(t),e.onLoad(),e.loaded++,n&&n(t,"Couldn't load image ".concat(t))},this.rawDataUris[t]&&(t=this.rawDataUris[t]),i.src=t}},{key:"loadTexture",value:function(t){var e=this,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,r=t=this.pathPrefix+t;this.toLoad++;var i=new Image;i.crossOrigin="anonymous",i.onload=function(n){var s=e.textureLoader(i);e.assets[r]=s,e.onLoad(),e.loaded++,a&&a(t,s)},i.onerror=function(a){e.errors[t]="Couldn't load image ".concat(t),e.onLoad(),e.loaded++,n&&n(t,"Couldn't load image ".concat(t))},this.rawDataUris[t]&&(t=this.rawDataUris[t]),i.src=t}},{key:"loadTextureAtlas",value:function(t){var e=this,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,r=t.lastIndexOf("/")>=0?t.substring(0,t.lastIndexOf("/")):"";t=this.pathPrefix+t,this.toLoad++,this.downloadText(t,(function(i){var s={count:0},o=new Array;try{new nt(i,(function(t){o.push(""==r?t:r+"/"+t);var e=document.createElement("img");return e.width=16,e.height=16,new at(e)}))}catch(a){var l=a;return e.errors[t]="Couldn't load texture atlas ".concat(t,": ").concat(l.message),n&&n(t,"Couldn't load texture atlas ".concat(t,": ").concat(l.message)),e.onLoad(),void e.loaded++}for(var h=function(){var l=c[u],h=!1;e.loadTexture(l,(function(l,u){if(s.count++,s.count==o.length)if(h)e.errors[t]="Couldn't load texture atlas page ".concat(l,"} of atlas ").concat(t),n&&n(t,"Couldn't load texture atlas page ".concat(l," of atlas ").concat(t)),e.onLoad(),e.loaded++;else try{var c=new nt(i,(function(t){return e.get(""==r?t:r+"/"+t)}));e.assets[t]=c,a&&a(t,c),e.onLoad(),e.loaded++}catch(a){var d=a;e.errors[t]="Couldn't load texture atlas ".concat(t,": ").concat(d.message),n&&n(t,"Couldn't load texture atlas ".concat(t,": ").concat(d.message)),e.onLoad(),e.loaded++}}),(function(a,r){h=!0,s.count++,s.count==o.length&&(e.errors[t]="Couldn't load texture atlas page ".concat(a,"} of atlas ").concat(t),n&&n(t,"Couldn't load texture atlas page ".concat(a," of atlas ").concat(t)),e.onLoad(),e.loaded++)}))},u=0,c=o;u<c.length;u++)h()}),(function(a,r){e.errors[t]="Couldn't load texture atlas ".concat(t,": status ").concat(status,", ").concat(r),n&&n(t,"Couldn't load texture atlas ".concat(t,": status ").concat(status,", ").concat(r)),e.onLoad(),e.loaded++}))}},{key:"get",value:function(t){return t=this.pathPrefix+t,this.assets[t]}},{key:"remove",value:function(t){t=this.pathPrefix+t;var e=this.assets[t];e.dispose&&e.dispose(),this.assets[t]=null}},{key:"removeAll",value:function(){for(var t in this.assets){var e=this.assets[t];e.dispose&&e.dispose()}this.assets={}}},{key:"isLoadingComplete",value:function(){return 0==this.toLoad}},{key:"onLoad",value:function(){this.toLoad--,0===this.toLoad&&this.onLoadComplete()}},{key:"getToLoad",value:function(){return this.toLoad}},{key:"getLoaded",value:function(){return this.loaded}},{key:"dispose",value:function(){this.removeAll()}},{key:"hasErrors",value:function(){return Object.keys(this.errors).length>0}},{key:"getErrors",value:function(){return this.errors}}]),t}(),Kt=function(t){E(a,G);var e=I(a);function a(t){var n;return y(this,a),(n=e.call(this,t)).color=new V(1,1,1,1),n}return k(a,[{key:"copy",value:function(){var t=new a(this.name);return this.copyTo(t),t.color.setFromColor(this.color),t}}]),a}(),Jt=function(t){E(a,G);var e=I(a);function a(t){var n;return y(this,a),(n=e.call(this,t)).x=void 0,n.y=void 0,n.rotation=void 0,n.color=new V(.38,.94,0,1),n.name=t,n}return k(a,[{key:"computeWorldPosition",value:function(t,e){return e.x=this.x*t.a+this.y*t.b+t.worldX,e.y=this.x*t.c+this.y*t.d+t.worldY,e}},{key:"computeWorldRotation",value:function(t){var e=P.cosDeg(this.rotation),a=P.sinDeg(this.rotation),n=e*t.a+a*t.b,r=e*t.c+a*t.d;return Math.atan2(r,n)*P.radDeg}},{key:"copy",value:function(){var t=new a(this.name);return t.x=this.x,t.y=this.y,t.rotation=this.rotation,t.color.setFromColor(this.color),t}}]),a}(),$t=function(){function t(e){y(this,t),this.atlas=void 0,this.atlas=e}return k(t,[{key:"newRegionAttachment",value:function(t,e,a){var n=this.atlas.findRegion(a);if(null==n)throw new Error("Region not found in atlas: "+a+" (region attachment: "+e+")");n.renderObject=n;var r=new K(e);return r.setRegion(n),r}},{key:"newMeshAttachment",value:function(t,e,a){var n=this.atlas.findRegion(a);if(null==n)throw new Error("Region not found in atlas: "+a+" (mesh attachment: "+e+")");n.renderObject=n;var r=new ot(e);return r.region=n,r}},{key:"newBoundingBoxAttachment",value:function(t,e){return new Kt(e)}},{key:"newPathAttachment",value:function(t,e){return new Z(e)}},{key:"newPointAttachment",value:function(t,e){return new Jt(e)}},{key:"newClippingAttachment",value:function(t,e){return new qt(e)}}]),t}(),te=function(){function t(){y(this,t),this.name=void 0,this.bones=new Array,this.slots=new Array,this.skins=new Array,this.defaultSkin=void 0,this.events=new Array,this.animations=new Array,this.ikConstraints=new Array,this.transformConstraints=new Array,this.pathConstraints=new Array,this.x=void 0,this.y=void 0,this.width=void 0,this.height=void 0,this.version=void 0,this.hash=void 0,this.fps=0,this.imagesPath=void 0,this.audioPath=void 0}return k(t,[{key:"findBone",value:function(t){if(null==t)throw new Error("boneName cannot be null.");for(var e=this.bones,a=0,n=e.length;a<n;a++){var r=e[a];if(r.name==t)return r}return null}},{key:"findBoneIndex",value:function(t){if(null==t)throw new Error("boneName cannot be null.");for(var e=this.bones,a=0,n=e.length;a<n;a++)if(e[a].name==t)return a;return-1}},{key:"findSlot",value:function(t){if(null==t)throw new Error("slotName cannot be null.");for(var e=this.slots,a=0,n=e.length;a<n;a++){var r=e[a];if(r.name==t)return r}return null}},{key:"findSlotIndex",value:function(t){if(null==t)throw new Error("slotName cannot be null.");for(var e=this.slots,a=0,n=e.length;a<n;a++)if(e[a].name==t)return a;return-1}},{key:"findSkin",value:function(t){if(null==t)throw new Error("skinName cannot be null.");for(var e=this.skins,a=0,n=e.length;a<n;a++){var r=e[a];if(r.name==t)return r}return null}},{key:"findEvent",value:function(t){if(null==t)throw new Error("eventDataName cannot be null.");for(var e=this.events,a=0,n=e.length;a<n;a++){var r=e[a];if(r.name==t)return r}return null}},{key:"findAnimation",value:function(t){if(null==t)throw new Error("animationName cannot be null.");for(var e=this.animations,a=0,n=e.length;a<n;a++){var r=e[a];if(r.name==t)return r}return null}},{key:"findIkConstraint",value:function(t){if(null==t)throw new Error("constraintName cannot be null.");for(var e=this.ikConstraints,a=0,n=e.length;a<n;a++){var r=e[a];if(r.name==t)return r}return null}},{key:"findTransformConstraint",value:function(t){if(null==t)throw new Error("constraintName cannot be null.");for(var e=this.transformConstraints,a=0,n=e.length;a<n;a++){var r=e[a];if(r.name==t)return r}return null}},{key:"findPathConstraint",value:function(t){if(null==t)throw new Error("constraintName cannot be null.");for(var e=this.pathConstraints,a=0,n=e.length;a<n;a++){var r=e[a];if(r.name==t)return r}return null}},{key:"findPathConstraintIndex",value:function(t){if(null==t)throw new Error("pathConstraintName cannot be null.");for(var e=this.pathConstraints,a=0,n=e.length;a<n;a++)if(e[a].name==t)return a;return-1}}]),t}(),ee=k((function t(e,a,n){if(y(this,t),this.index=void 0,this.name=void 0,this.boneData=void 0,this.color=new V(1,1,1,1),this.darkColor=void 0,this.attachmentName=void 0,this.blendMode=void 0,e<0)throw new Error("index must be >= 0.");if(null==a)throw new Error("name cannot be null.");if(null==n)throw new Error("boneData cannot be null.");this.index=e,this.name=a,this.boneData=n})),ae=function(t){E(a,U);var e=I(a);function a(t){var n;return y(this,a),(n=e.call(this,t,0,!1)).bones=new Array,n.target=void 0,n.bendDirection=1,n.compress=!1,n.stretch=!1,n.uniform=!1,n.mix=1,n.softness=0,n}return k(a)}(),ne=function(t){E(a,U);var e=I(a);function a(t){var n;return y(this,a),(n=e.call(this,t,0,!1)).bones=new Array,n.target=void 0,n.rotateMix=0,n.translateMix=0,n.scaleMix=0,n.shearMix=0,n.offsetRotation=0,n.offsetX=0,n.offsetY=0,n.offsetScaleX=0,n.offsetScaleY=0,n.offsetShearY=0,n.relative=!1,n.local=!1,n}return k(a)}(),re=k((function t(e,a,n){y(this,t),this.slotIndex=e,this.name=a,this.attachment=n})),ie=function(){function t(e){if(y(this,t),this.name=void 0,this.attachments=new Array,this.bones=Array(),this.constraints=new Array,null==e)throw new Error("name cannot be null.");this.name=e}return k(t,[{key:"setAttachment",value:function(t,e,a){if(null==a)throw new Error("attachment cannot be null.");var n=this.attachments;t>=n.length&&(n.length=t+1),n[t]||(n[t]={}),n[t][e]=a}},{key:"addSkin",value:function(t){for(var e=0;e<t.bones.length;e++){for(var a=t.bones[e],n=!1,r=0;r<this.bones.length;r++)if(this.bones[r]==a){n=!0;break}n||this.bones.push(a)}for(var i=0;i<t.constraints.length;i++){for(var s=t.constraints[i],o=!1,l=0;l<this.constraints.length;l++)if(this.constraints[l]==s){o=!0;break}o||this.constraints.push(s)}for(var h=t.getAttachments(),u=0;u<h.length;u++){var c=h[u];this.setAttachment(c.slotIndex,c.name,c.attachment)}}},{key:"copySkin",value:function(t){for(var e=0;e<t.bones.length;e++){for(var a=t.bones[e],n=!1,r=0;r<this.bones.length;r++)if(this.bones[r]==a){n=!0;break}n||this.bones.push(a)}for(var i=0;i<t.constraints.length;i++){for(var s=t.constraints[i],o=!1,l=0;l<this.constraints.length;l++)if(this.constraints[l]==s){o=!0;break}o||this.constraints.push(s)}for(var h=t.getAttachments(),u=0;u<h.length;u++){var c=h[u];null!=c.attachment&&(c.attachment instanceof ot?(c.attachment=c.attachment.newLinkedMesh(),this.setAttachment(c.slotIndex,c.name,c.attachment)):(c.attachment=c.attachment.copy(),this.setAttachment(c.slotIndex,c.name,c.attachment)))}}},{key:"getAttachment",value:function(t,e){var a=this.attachments[t];return a?a[e]:null}},{key:"removeAttachment",value:function(t,e){var a=this.attachments[t];a&&(a[e]=null)}},{key:"getAttachments",value:function(){for(var t=new Array,e=0;e<this.attachments.length;e++){var a=this.attachments[e];if(a)for(var n in a){var r=a[n];r&&t.push(new re(e,n,r))}}return t}},{key:"getAttachmentsForSlot",value:function(t,e){var a=this.attachments[t];if(a)for(var n in a){var r=a[n];r&&e.push(new re(t,n,r))}}},{key:"clear",value:function(){this.attachments.length=0,this.bones.length=0,this.constraints.length=0}},{key:"attachAll",value:function(t,e){for(var a=0,n=0;n<t.slots.length;n++){var r=t.slots[n],i=r.getAttachment();if(i&&a<e.attachments.length){var s=e.attachments[a];for(var o in s){if(i==s[o]){var l=this.getAttachment(a,o);null!=l&&r.setAttachment(l);break}}}a++}}}]),t}(),se=k((function t(e){y(this,t),this.name=void 0,this.intValue=void 0,this.floatValue=void 0,this.stringValue=void 0,this.audioPath=void 0,this.volume=void 0,this.balance=void 0,this.name=e})),oe=function(t){return t[t.Normal=0]="Normal",t[t.Additive=1]="Additive",t[t.Multiply=2]="Multiply",t[t.Screen=3]="Screen",t}({}),le=k((function t(e,a){if(y(this,t),this.data=void 0,this.intValue=void 0,this.floatValue=void 0,this.stringValue=void 0,this.time=void 0,this.volume=void 0,this.balance=void 0,null==a)throw new Error("data cannot be null.");this.time=e,this.data=a})),he=function(){function t(e){y(this,t),this.attachmentLoader=void 0,this.scale=1,this.linkedMeshes=new Array,this.attachmentLoader=e}return k(t,[{key:"readSkeletonData",value:function(e){var a=this.scale,n=new te,r="string"==typeof e?JSON.parse(e):e,i=r.skeleton;if(null!=i){if(n.hash=i.hash,n.version=i.spine,"3.8.75"==n.version)throw new Error("Unsupported skeleton data, please export with a newer version of Spine.");n.x=i.x,n.y=i.y,n.width=i.width,n.height=i.height,n.fps=i.fps,n.imagesPath=i.images}if(r.bones)for(var s=0;s<r.bones.length;s++){var o=r.bones[s],l=null,h=this.getValue(o,"parent",null);if(null!=h&&null==(l=n.findBone(h)))throw new Error("Parent bone not found: "+h);var u=new O(n.bones.length,o.name,l);u.length=this.getValue(o,"length",0)*a,u.x=this.getValue(o,"x",0)*a,u.y=this.getValue(o,"y",0)*a,u.rotation=this.getValue(o,"rotation",0),u.scaleX=this.getValue(o,"scaleX",1),u.scaleY=this.getValue(o,"scaleY",1),u.shearX=this.getValue(o,"shearX",0),u.shearY=this.getValue(o,"shearY",0),u.transformMode=t.transformModeFromString(this.getValue(o,"transform","normal")),u.skinRequired=this.getValue(o,"skin",!1),n.bones.push(u)}if(r.slots)for(var c=0;c<r.slots.length;c++){var d=r.slots[c],f=d.name,v=d.bone,g=n.findBone(v);if(null==g)throw new Error("Slot bone not found: "+v);var m=new ee(n.slots.length,f,g),p=this.getValue(d,"color",null);null!=p&&m.color.setFromString(p);var y=this.getValue(d,"dark",null);null!=y&&(m.darkColor=new V(1,1,1,1),m.darkColor.setFromString(y)),m.attachmentName=this.getValue(d,"attachment",null),m.blendMode=t.blendModeFromString(this.getValue(d,"blend","normal")),n.slots.push(m)}if(r.ik)for(var w=0;w<r.ik.length;w++){var k=r.ik[w],x=new ae(k.name);x.order=this.getValue(k,"order",0),x.skinRequired=this.getValue(k,"skin",!1);for(var E=0;E<k.bones.length;E++){var b=k.bones[E],S=n.findBone(b);if(null==S)throw new Error("IK bone not found: "+b);x.bones.push(S)}var M=k.target;if(x.target=n.findBone(M),null==x.target)throw new Error("IK target bone not found: "+M);x.mix=this.getValue(k,"mix",1),x.softness=this.getValue(k,"softness",0)*a,x.bendDirection=this.getValue(k,"bendPositive",!0)?1:-1,x.compress=this.getValue(k,"compress",!1),x.stretch=this.getValue(k,"stretch",!1),x.uniform=this.getValue(k,"uniform",!1),n.ikConstraints.push(x)}if(r.transform)for(var I=0;I<r.transform.length;I++){var T=r.transform[I],R=new ne(T.name);R.order=this.getValue(T,"order",0),R.skinRequired=this.getValue(T,"skin",!1);for(var A=0;A<T.bones.length;A++){var C=T.bones[A],P=n.findBone(C);if(null==P)throw new Error("Transform constraint bone not found: "+C);R.bones.push(P)}var _=T.target;if(R.target=n.findBone(_),null==R.target)throw new Error("Transform constraint target bone not found: "+_);R.local=this.getValue(T,"local",!1),R.relative=this.getValue(T,"relative",!1),R.offsetRotation=this.getValue(T,"rotation",0),R.offsetX=this.getValue(T,"x",0)*a,R.offsetY=this.getValue(T,"y",0)*a,R.offsetScaleX=this.getValue(T,"scaleX",0),R.offsetScaleY=this.getValue(T,"scaleY",0),R.offsetShearY=this.getValue(T,"shearY",0),R.rotateMix=this.getValue(T,"rotateMix",1),R.translateMix=this.getValue(T,"translateMix",1),R.scaleMix=this.getValue(T,"scaleMix",1),R.shearMix=this.getValue(T,"shearMix",1),n.transformConstraints.push(R)}if(r.path)for(var F=0;F<r.path.length;F++){var N=r.path[F],L=new W(N.name);L.order=this.getValue(N,"order",0),L.skinRequired=this.getValue(N,"skin",!1);for(var D=0;D<N.bones.length;D++){var X=N.bones[D],B=n.findBone(X);if(null==B)throw new Error("Transform constraint bone not found: "+X);L.bones.push(B)}var Y=N.target;if(L.target=n.findSlot(Y),null==L.target)throw new Error("Path target slot not found: "+Y);L.positionMode=t.positionModeFromString(this.getValue(N,"positionMode","percent")),L.spacingMode=t.spacingModeFromString(this.getValue(N,"spacingMode","length")),L.rotateMode=t.rotateModeFromString(this.getValue(N,"rotateMode","tangent")),L.offsetRotation=this.getValue(N,"rotation",0),L.position=this.getValue(N,"position",0),L.positionMode==q.Fixed&&(L.position*=a),L.spacing=this.getValue(N,"spacing",0),L.spacingMode!=j.Length&&L.spacingMode!=j.Fixed||(L.spacing*=a),L.rotateMix=this.getValue(N,"rotateMix",1),L.translateMix=this.getValue(N,"translateMix",1),n.pathConstraints.push(L)}if(r.skins)for(var U=0;U<r.skins.length;U++){var H=r.skins[U],z=new ie(H.name);if(H.bones)for(var G=0;G<H.bones.length;G++){var Z=n.findBone(H.bones[G]);if(null==Z)throw new Error("Skin bone not found: "+H.bones[U]);z.bones.push(Z)}if(H.ik)for(var Q=0;Q<H.ik.length;Q++){var K=n.findIkConstraint(H.ik[Q]);if(null==K)throw new Error("Skin IK constraint not found: "+H.ik[U]);z.constraints.push(K)}if(H.transform)for(var J=0;J<H.transform.length;J++){var $=n.findTransformConstraint(H.transform[J]);if(null==$)throw new Error("Skin transform constraint not found: "+H.transform[U]);z.constraints.push($)}if(H.path)for(var tt=0;tt<H.path.length;tt++){var et=n.findPathConstraint(H.path[tt]);if(null==et)throw new Error("Skin path constraint not found: "+H.path[U]);z.constraints.push(et)}for(var at in H.attachments){var nt=n.findSlot(at);if(null==nt)throw new Error("Slot not found: "+at);var rt=H.attachments[at];for(var it in rt){var st=this.readAttachment(rt[it],z,nt.index,it,n);null!=st&&z.setAttachment(nt.index,it,st)}}n.skins.push(z),"default"==z.name&&(n.defaultSkin=z)}for(var ot=0,lt=this.linkedMeshes.length;ot<lt;ot++){var ht=this.linkedMeshes[ot],ut=null==ht.skin?n.defaultSkin:n.findSkin(ht.skin);if(null==ut)throw new Error("Skin not found: "+ht.skin);var ct=ut.getAttachment(ht.slotIndex,ht.parent);if(null==ct)throw new Error("Parent mesh not found: "+ht.parent);ht.mesh.deformAttachment=ht.inheritDeform?ct:ht.mesh,ht.mesh.setParentMesh(ct),ht.mesh.updateUVs()}if(this.linkedMeshes.length=0,r.events)for(var dt in r.events){var ft=r.events[dt],vt=new se(dt);vt.intValue=this.getValue(ft,"int",0),vt.floatValue=this.getValue(ft,"float",0),vt.stringValue=this.getValue(ft,"string",""),vt.audioPath=this.getValue(ft,"audio",null),null!=vt.audioPath&&(vt.volume=this.getValue(ft,"volume",1),vt.balance=this.getValue(ft,"balance",0)),n.events.push(vt)}if(r.animations)for(var gt in r.animations){var mt=r.animations[gt];this.readAnimation(mt,gt,n)}return n}},{key:"readAttachment",value:function(t,e,a,n,r){var i=this.scale;switch(n=this.getValue(t,"name",n),this.getValue(t,"type","region")){case"region":var s=this.getValue(t,"path",n),o=this.attachmentLoader.newRegionAttachment(e,n,s);if(null==o)return null;o.path=s,o.x=this.getValue(t,"x",0)*i,o.y=this.getValue(t,"y",0)*i,o.scaleX=this.getValue(t,"scaleX",1),o.scaleY=this.getValue(t,"scaleY",1),o.rotation=this.getValue(t,"rotation",0),o.width=t.width*i,o.height=t.height*i;var l=this.getValue(t,"color",null);return null!=l&&o.color.setFromString(l),o.updateOffset(),o;case"boundingbox":var h=this.attachmentLoader.newBoundingBoxAttachment(e,n);if(null==h)return null;this.readVertices(t,h,t.vertexCount<<1);var u=this.getValue(t,"color",null);return null!=u&&h.color.setFromString(u),h;case"mesh":case"linkedmesh":var c=this.getValue(t,"path",n),d=this.attachmentLoader.newMeshAttachment(e,n,c);if(null==d)return null;d.path=c;var f=this.getValue(t,"color",null);null!=f&&d.color.setFromString(f),d.width=this.getValue(t,"width",0)*i,d.height=this.getValue(t,"height",0)*i;var v=this.getValue(t,"parent",null);if(null!=v)return this.linkedMeshes.push(new ue(d,this.getValue(t,"skin",null),a,v,this.getValue(t,"deform",!0))),d;var g=t.uvs;return this.readVertices(t,d,g.length),d.triangles=t.triangles,d.regionUVs=g,d.updateUVs(),d.edges=this.getValue(t,"edges",null),d.hullLength=2*this.getValue(t,"hull",0),d;case"path":var m=this.attachmentLoader.newPathAttachment(e,n);if(null==m)return null;m.closed=this.getValue(t,"closed",!1),m.constantSpeed=this.getValue(t,"constantSpeed",!0);var p=t.vertexCount;this.readVertices(t,m,p<<1);for(var y=_.newArray(p/3,0),w=0;w<t.lengths.length;w++)y[w]=t.lengths[w]*i;m.lengths=y;var k=this.getValue(t,"color",null);return null!=k&&m.color.setFromString(k),m;case"point":var x=this.attachmentLoader.newPointAttachment(e,n);if(null==x)return null;x.x=this.getValue(t,"x",0)*i,x.y=this.getValue(t,"y",0)*i,x.rotation=this.getValue(t,"rotation",0);var E=this.getValue(t,"color",null);return null!=E&&x.color.setFromString(E),x;case"clipping":var b=this.attachmentLoader.newClippingAttachment(e,n);if(null==b)return null;var S=this.getValue(t,"end",null);if(null!=S){var M=r.findSlot(S);if(null==M)throw new Error("Clipping end slot not found: "+S);b.endSlot=M}var I=t.vertexCount;this.readVertices(t,b,I<<1);var T=this.getValue(t,"color",null);return null!=T&&b.color.setFromString(T),b}return null}},{key:"readVertices",value:function(t,e,a){var n=this.scale;e.worldVerticesLength=a;var r=t.vertices;if(a!=r.length){for(var i=new Array,s=new Array,o=0,l=r.length;o<l;){var h=r[o++];s.push(h);for(var u=o+4*h;o<u;o+=4)s.push(r[o]),i.push(r[o+1]*n),i.push(r[o+2]*n),i.push(r[o+3])}e.bones=s,e.vertices=_.toFloatArray(i)}else{var c=_.toFloatArray(r);if(1!=n)for(var d=0,f=r.length;d<f;d++)c[d]*=n;e.vertices=c}}},{key:"readAnimation",value:function(t,e,a){var n=this.scale,r=new Array,i=0;if(t.slots)for(var s in t.slots){var o=t.slots[s],l=a.findSlotIndex(s);if(-1==l)throw new Error("Slot not found: "+s);for(var h in o){var u=o[h];if("attachment"==h){var c=new kt(u.length);c.slotIndex=l;for(var d=0,f=0;f<u.length;f++){var v=u[f];c.setFrame(d++,this.getValue(v,"time",0),v.name)}r.push(c),i=Math.max(i,c.frames[c.getFrameCount()-1])}else if("color"==h){var g=new yt(u.length);g.slotIndex=l;for(var m=0,p=0;p<u.length;p++){var y=u[p],w=new V;w.setFromString(y.color),g.setFrame(m,this.getValue(y,"time",0),w.r,w.g,w.b,w.a),this.readCurve(y,g,m),m++}r.push(g),i=Math.max(i,g.frames[(g.getFrameCount()-1)*yt.ENTRIES])}else{if("twoColor"!=h)throw new Error("Invalid timeline type for a slot: "+h+" ("+s+")");var k=new wt(u.length);k.slotIndex=l;for(var x=0,E=0;E<u.length;E++){var b=u[E],S=new V,M=new V;S.setFromString(b.light),M.setFromString(b.dark),k.setFrame(x,this.getValue(b,"time",0),S.r,S.g,S.b,S.a,M.r,M.g,M.b),this.readCurve(b,k,x),x++}r.push(k),i=Math.max(i,k.frames[(k.getFrameCount()-1)*wt.ENTRIES])}}}if(t.bones)for(var I in t.bones){var T=t.bones[I],R=a.findBoneIndex(I);if(-1==R)throw new Error("Bone not found: "+I);for(var A in T){var C=T[A];if("rotate"===A){var P=new vt(C.length);P.boneIndex=R;for(var F=0,N=0;N<C.length;N++){var O=C[N];P.setFrame(F,this.getValue(O,"time",0),this.getValue(O,"angle",0)),this.readCurve(O,P,F),F++}r.push(P),i=Math.max(i,P.frames[(P.getFrameCount()-1)*vt.ENTRIES])}else{if("translate"!==A&&"scale"!==A&&"shear"!==A)throw new Error("Invalid timeline type for a bone: "+A+" ("+I+")");var L=null,D=1,X=0;"scale"===A?(L=new mt(C.length),X=1):"shear"===A?L=new pt(C.length):(L=new gt(C.length),D=n),L.boneIndex=R;for(var B=0,Y=0;Y<C.length;Y++){var U=C[Y],W=this.getValue(U,"x",X),H=this.getValue(U,"y",X);L.setFrame(B,this.getValue(U,"time",0),W*D,H*D),this.readCurve(U,L,B),B++}r.push(L),i=Math.max(i,L.frames[(L.getFrameCount()-1)*gt.ENTRIES])}}}if(t.ik)for(var z in t.ik){var G=t.ik[z],Z=a.findIkConstraint(z),Q=new Mt(G.length);Q.ikConstraintIndex=a.ikConstraints.indexOf(Z);for(var K=0,J=0;J<G.length;J++){var $=G[J];Q.setFrame(K,this.getValue($,"time",0),this.getValue($,"mix",1),this.getValue($,"softness",0)*n,this.getValue($,"bendPositive",!0)?1:-1,this.getValue($,"compress",!1),this.getValue($,"stretch",!1)),this.readCurve($,Q,K),K++}r.push(Q),i=Math.max(i,Q.frames[(Q.getFrameCount()-1)*Mt.ENTRIES])}if(t.transform)for(var tt in t.transform){var et=t.transform[tt],at=a.findTransformConstraint(tt),nt=new It(et.length);nt.transformConstraintIndex=a.transformConstraints.indexOf(at);for(var rt=0,it=0;it<et.length;it++){var st=et[it];nt.setFrame(rt,this.getValue(st,"time",0),this.getValue(st,"rotateMix",1),this.getValue(st,"translateMix",1),this.getValue(st,"scaleMix",1),this.getValue(st,"shearMix",1)),this.readCurve(st,nt,rt),rt++}r.push(nt),i=Math.max(i,nt.frames[(nt.getFrameCount()-1)*It.ENTRIES])}if(t.path)for(var ot in t.path){var lt=t.path[ot],ut=a.findPathConstraintIndex(ot);if(-1==ut)throw new Error("Path constraint not found: "+ot);var ct=a.pathConstraints[ut];for(var dt in lt){var ft=lt[dt];if("position"===dt||"spacing"===dt){var xt=null,Ct=1;"spacing"===dt?(xt=new Rt(ft.length),ct.spacingMode!=j.Length&&ct.spacingMode!=j.Fixed||(Ct=n)):(xt=new Tt(ft.length),ct.positionMode==q.Fixed&&(Ct=n)),xt.pathConstraintIndex=ut;for(var Vt=0,Pt=0;Pt<ft.length;Pt++){var _t=ft[Pt];xt.setFrame(Vt,this.getValue(_t,"time",0),this.getValue(_t,dt,0)*Ct),this.readCurve(_t,xt,Vt),Vt++}r.push(xt),i=Math.max(i,xt.frames[(xt.getFrameCount()-1)*Tt.ENTRIES])}else if("mix"===dt){var Ft=new At(ft.length);Ft.pathConstraintIndex=ut;for(var Nt=0,Ot=0;Ot<ft.length;Ot++){var Lt=ft[Ot];Ft.setFrame(Nt,this.getValue(Lt,"time",0),this.getValue(Lt,"rotateMix",1),this.getValue(Lt,"translateMix",1)),this.readCurve(Lt,Ft,Nt),Nt++}r.push(Ft),i=Math.max(i,Ft.frames[(Ft.getFrameCount()-1)*At.ENTRIES])}}}if(t.deform)for(var Dt in t.deform){var Xt=t.deform[Dt],Bt=a.findSkin(Dt);if(null==Bt)throw new Error("Skin not found: "+Dt);for(var Yt in Xt){var Ut=Xt[Yt],Wt=a.findSlotIndex(Yt);if(-1==Wt)throw new Error("Slot not found: "+Ut.name);for(var qt in Ut){var jt=Ut[qt],Ht=Bt.getAttachment(Wt,qt);if(null==Ht)throw new Error("Deform attachment not found: "+jt.name);var zt=null!=Ht.bones,Gt=Ht.vertices,Zt=zt?Gt.length/3*2:Gt.length,Qt=new Et(jt.length);Qt.slotIndex=Wt,Qt.attachment=Ht;for(var Kt=0,Jt=0;Jt<jt.length;Jt++){var $t=jt[Jt],te=void 0,ee=this.getValue($t,"vertices",null);if(null==ee)te=zt?_.newFloatArray(Zt):Gt;else{te=_.newFloatArray(Zt);var ae=this.getValue($t,"offset",0);if(_.arrayCopy(ee,0,te,ae,ee.length),1!=n)for(var ne=ae,re=ne+ee.length;ne<re;ne++)te[ne]*=n;if(!zt)for(var ie=0;ie<Zt;ie++)te[ie]+=Gt[ie]}Qt.setFrame(Kt,this.getValue($t,"time",0),te),this.readCurve($t,Qt,Kt),Kt++}r.push(Qt),i=Math.max(i,Qt.frames[Qt.getFrameCount()-1])}}}var se=t.drawOrder;if(null==se&&(se=t.draworder),null!=se){for(var oe=new St(se.length),he=a.slots.length,ue=0,ce=0;ce<se.length;ce++){var de=se[ce],fe=null,ve=this.getValue(de,"offsets",null);if(null!=ve){fe=_.newArray(he,-1);for(var ge=_.newArray(he-ve.length,0),me=0,pe=0,ye=0;ye<ve.length;ye++){var we=ve[ye],ke=a.findSlotIndex(we.slot);if(-1==ke)throw new Error("Slot not found: "+we.slot);for(;me!=ke;)ge[pe++]=me++;fe[me+we.offset]=me++}for(;me<he;)ge[pe++]=me++;for(var xe=he-1;xe>=0;xe--)-1==fe[xe]&&(fe[xe]=ge[--pe])}oe.setFrame(ue++,this.getValue(de,"time",0),fe)}r.push(oe),i=Math.max(i,oe.frames[oe.getFrameCount()-1])}if(t.events){for(var Ee=new bt(t.events.length),be=0,Se=0;Se<t.events.length;Se++){var Me=t.events[Se],Ie=a.findEvent(Me.name);if(null==Ie)throw new Error("Event not found: "+Me.name);var Te=new le(_.toSinglePrecision(this.getValue(Me,"time",0)),Ie);Te.intValue=this.getValue(Me,"int",Ie.intValue),Te.floatValue=this.getValue(Me,"float",Ie.floatValue),Te.stringValue=this.getValue(Me,"string",Ie.stringValue),null!=Te.data.audioPath&&(Te.volume=this.getValue(Me,"volume",1),Te.balance=this.getValue(Me,"balance",0)),Ee.setFrame(be++,Te)}r.push(Ee),i=Math.max(i,Ee.frames[Ee.getFrameCount()-1])}if(isNaN(i))throw new Error("Error while parsing animation, duration is NaN");a.animations.push(new ht(e,r,i))}},{key:"readCurve",value:function(t,e,a){if(t.hasOwnProperty("curve"))if("stepped"==t.curve)e.setStepped(a);else{var n=t.curve;e.setCurve(a,n,this.getValue(t,"c2",0),this.getValue(t,"c3",1),this.getValue(t,"c4",1))}}},{key:"getValue",value:function(t,e,a){return void 0!==t[e]?t[e]:a}}],[{key:"blendModeFromString",value:function(t){if("normal"==(t=t.toLowerCase()))return oe.Normal;if("additive"==t)return oe.Additive;if("multiply"==t)return oe.Multiply;if("screen"==t)return oe.Screen;throw new Error("Unknown blend mode: ".concat(t))}},{key:"positionModeFromString",value:function(t){if("fixed"==(t=t.toLowerCase()))return q.Fixed;if("percent"==t)return q.Percent;throw new Error("Unknown position mode: ".concat(t))}},{key:"spacingModeFromString",value:function(t){if("length"==(t=t.toLowerCase()))return j.Length;if("fixed"==t)return j.Fixed;if("percent"==t)return j.Percent;throw new Error("Unknown position mode: ".concat(t))}},{key:"rotateModeFromString",value:function(t){if("tangent"==(t=t.toLowerCase()))return H.Tangent;if("chain"==t)return H.Chain;if("chainscale"==t)return H.ChainScale;throw new Error("Unknown rotate mode: ".concat(t))}},{key:"transformModeFromString",value:function(t){if("normal"==(t=t.toLowerCase()))return L.Normal;if("onlytranslation"==t)return L.OnlyTranslation;if("norotationorreflection"==t)return L.NoRotationOrReflection;if("noscale"==t)return L.NoScale;if("noscaleorreflection"==t)return L.NoScaleOrReflection;throw new Error("Unknown transform mode: ".concat(t))}}]),t}(),ue=k((function t(e,a,n,r,i){y(this,t),this.parent=void 0,this.skin=void 0,this.slotIndex=void 0,this.mesh=void 0,this.inheritDeform=void 0,this.mesh=e,this.skin=a,this.slotIndex=n,this.parent=r,this.inheritDeform=i})),ce=function(t){return t[t.Region=0]="Region",t[t.BoundingBox=1]="BoundingBox",t[t.Mesh=2]="Mesh",t[t.LinkedMesh=3]="LinkedMesh",t[t.Path=4]="Path",t[t.Point=5]="Point",t[t.Clipping=6]="Clipping",t}({}),de=function(){function t(e){y(this,t),this.scale=1,this.attachmentLoader=void 0,this.linkedMeshes=new Array,this.attachmentLoader=e}return k(t,[{key:"readSkeletonData",value:function(e){var a=this.scale,n=new te;n.name="";var r=new fe(e);if(n.hash=r.readString(),n.version=r.readString(),"3.8.75"==n.version)throw new Error("Unsupported skeleton data, please export with a newer version of Spine.");n.x=r.readFloat(),n.y=r.readFloat(),n.width=r.readFloat(),n.height=r.readFloat();var i=r.readBoolean();i&&(n.fps=r.readFloat(),n.imagesPath=r.readString(),n.audioPath=r.readString());var s=0;s=r.readInt(!0);for(var o=0;o<s;o++)r.strings.push(r.readString());s=r.readInt(!0);for(var l=0;l<s;l++){var h=r.readString(),u=0==l?null:n.bones[r.readInt(!0)],c=new O(l,h,u);c.rotation=r.readFloat(),c.x=r.readFloat()*a,c.y=r.readFloat()*a,c.scaleX=r.readFloat(),c.scaleY=r.readFloat(),c.shearX=r.readFloat(),c.shearY=r.readFloat(),c.length=r.readFloat()*a,c.transformMode=t.TransformModeValues[r.readInt(!0)],c.skinRequired=r.readBoolean(),i&&V.rgba8888ToColor(c.color,r.readInt32()),n.bones.push(c)}s=r.readInt(!0);for(var d=0;d<s;d++){var f=r.readString(),v=n.bones[r.readInt(!0)],g=new ee(d,f,v);V.rgba8888ToColor(g.color,r.readInt32());var m=r.readInt32();-1!=m&&V.rgb888ToColor(g.darkColor=new V,m),g.attachmentName=r.readStringRef(),g.blendMode=t.BlendModeValues[r.readInt(!0)],n.slots.push(g)}s=r.readInt(!0);for(var p,y=0;y<s;y++){var w=new ae(r.readString());w.order=r.readInt(!0),w.skinRequired=r.readBoolean(),p=r.readInt(!0);for(var k=0;k<p;k++)w.bones.push(n.bones[r.readInt(!0)]);w.target=n.bones[r.readInt(!0)],w.mix=r.readFloat(),w.softness=r.readFloat()*a,w.bendDirection=r.readByte(),w.compress=r.readBoolean(),w.stretch=r.readBoolean(),w.uniform=r.readBoolean(),n.ikConstraints.push(w)}s=r.readInt(!0);for(var x,E=0;E<s;E++){var b=new ne(r.readString());b.order=r.readInt(!0),b.skinRequired=r.readBoolean(),x=r.readInt(!0);for(var S=0;S<x;S++)b.bones.push(n.bones[r.readInt(!0)]);b.target=n.bones[r.readInt(!0)],b.local=r.readBoolean(),b.relative=r.readBoolean(),b.offsetRotation=r.readFloat(),b.offsetX=r.readFloat()*a,b.offsetY=r.readFloat()*a,b.offsetScaleX=r.readFloat(),b.offsetScaleY=r.readFloat(),b.offsetShearY=r.readFloat(),b.rotateMix=r.readFloat(),b.translateMix=r.readFloat(),b.scaleMix=r.readFloat(),b.shearMix=r.readFloat(),n.transformConstraints.push(b)}s=r.readInt(!0);for(var M,I=0;I<s;I++){var T=new W(r.readString());T.order=r.readInt(!0),T.skinRequired=r.readBoolean(),M=r.readInt(!0);for(var R=0;R<M;R++)T.bones.push(n.bones[r.readInt(!0)]);T.target=n.slots[r.readInt(!0)],T.positionMode=t.PositionModeValues[r.readInt(!0)],T.spacingMode=t.SpacingModeValues[r.readInt(!0)],T.rotateMode=t.RotateModeValues[r.readInt(!0)],T.offsetRotation=r.readFloat(),T.position=r.readFloat(),T.positionMode==q.Fixed&&(T.position*=a),T.spacing=r.readFloat(),T.spacingMode!=j.Length&&T.spacingMode!=j.Fixed||(T.spacing*=a),T.rotateMix=r.readFloat(),T.translateMix=r.readFloat(),n.pathConstraints.push(T)}var A=this.readSkin(r,n,!0,i);null!=A&&(n.defaultSkin=A,n.skins.push(A));var C=n.skins.length;for(_.setArraySize(n.skins,s=C+r.readInt(!0));C<s;C++)n.skins[C]=this.readSkin(r,n,!1,i);s=this.linkedMeshes.length;for(var P=0;P<s;P++){var F=this.linkedMeshes[P],N=null==F.skin?n.defaultSkin:n.findSkin(F.skin);if(null==N)throw new Error("Skin not found: "+F.skin);var L=N.getAttachment(F.slotIndex,F.parent);if(null==L)throw new Error("Parent mesh not found: "+F.parent);F.mesh.deformAttachment=F.inheritDeform?L:F.mesh,F.mesh.setParentMesh(L),F.mesh.updateUVs()}this.linkedMeshes.length=0,s=r.readInt(!0);for(var D=0;D<s;D++){var X=new se(r.readStringRef());X.intValue=r.readInt(!1),X.floatValue=r.readFloat(),X.stringValue=r.readString(),X.audioPath=r.readString(),null!=X.audioPath&&(X.volume=r.readFloat(),X.balance=r.readFloat()),n.events.push(X)}s=r.readInt(!0);for(var B=0;B<s;B++)n.animations.push(this.readAnimation(r,r.readString(),n));return n}},{key:"readSkin",value:function(t,e,a,n){var r=null,i=0;if(a){if(0==(i=t.readInt(!0)))return null;r=new ie("default")}else{(r=new ie(t.readStringRef())).bones.length=t.readInt(!0);for(var s=0,o=r.bones.length;s<o;s++)r.bones[s]=e.bones[t.readInt(!0)];for(var l=0,h=t.readInt(!0);l<h;l++)r.constraints.push(e.ikConstraints[t.readInt(!0)]);for(var u=0,c=t.readInt(!0);u<c;u++)r.constraints.push(e.transformConstraints[t.readInt(!0)]);for(var d=0,f=t.readInt(!0);d<f;d++)r.constraints.push(e.pathConstraints[t.readInt(!0)]);i=t.readInt(!0)}for(var v=0;v<i;v++)for(var g=t.readInt(!0),m=0,p=t.readInt(!0);m<p;m++){var y=t.readStringRef(),w=this.readAttachment(t,e,r,g,y,n);null!=w&&r.setAttachment(g,y,w)}return r}},{key:"readAttachment",value:function(e,a,n,r,i,s){var o=this.scale,l=e.readStringRef();null==l&&(l=i);var h=e.readByte();switch(t.AttachmentTypeValues[h]){case ce.Region:var u=e.readStringRef(),c=e.readFloat(),d=e.readFloat(),f=e.readFloat(),v=e.readFloat(),g=e.readFloat(),m=e.readFloat(),p=e.readFloat(),y=e.readInt32();null==u&&(u=l);var w=this.attachmentLoader.newRegionAttachment(n,l,u);return null==w?null:(w.path=u,w.x=d*o,w.y=f*o,w.scaleX=v,w.scaleY=g,w.rotation=c,w.width=m*o,w.height=p*o,V.rgba8888ToColor(w.color,y),w.updateOffset(),w);case ce.BoundingBox:var k=e.readInt(!0),x=this.readVertices(e,k),E=s?e.readInt32():0,b=this.attachmentLoader.newBoundingBoxAttachment(n,l);return null==b?null:(b.worldVerticesLength=k<<1,b.vertices=x.vertices,b.bones=x.bones,s&&V.rgba8888ToColor(b.color,E),b);case ce.Mesh:var S=e.readStringRef(),M=e.readInt32(),I=e.readInt(!0),T=this.readFloatArray(e,I<<1,1),R=this.readShortArray(e),A=this.readVertices(e,I),C=e.readInt(!0),P=null,F=0,N=0;s&&(P=this.readShortArray(e),F=e.readFloat(),N=e.readFloat()),null==S&&(S=l);var O=this.attachmentLoader.newMeshAttachment(n,l,S);return null==O?null:(O.path=S,V.rgba8888ToColor(O.color,M),O.bones=A.bones,O.vertices=A.vertices,O.worldVerticesLength=I<<1,O.triangles=R,O.regionUVs=T,O.updateUVs(),O.hullLength=C<<1,s&&(O.edges=P,O.width=F*o,O.height=N*o),O);case ce.LinkedMesh:var L=e.readStringRef(),D=e.readInt32(),X=e.readStringRef(),B=e.readStringRef(),Y=e.readBoolean(),U=0,W=0;s&&(U=e.readFloat(),W=e.readFloat()),null==L&&(L=l);var q=this.attachmentLoader.newMeshAttachment(n,l,L);return null==q?null:(q.path=L,V.rgba8888ToColor(q.color,D),s&&(q.width=U*o,q.height=W*o),this.linkedMeshes.push(new ve(q,X,r,B,Y)),q);case ce.Path:for(var j=e.readBoolean(),H=e.readBoolean(),z=e.readInt(!0),G=this.readVertices(e,z),Z=_.newArray(z/3,0),Q=0,K=Z.length;Q<K;Q++)Z[Q]=e.readFloat()*o;var J=s?e.readInt32():0,$=this.attachmentLoader.newPathAttachment(n,l);return null==$?null:($.closed=j,$.constantSpeed=H,$.worldVerticesLength=z<<1,$.vertices=G.vertices,$.bones=G.bones,$.lengths=Z,s&&V.rgba8888ToColor($.color,J),$);case ce.Point:var tt=e.readFloat(),et=e.readFloat(),at=e.readFloat(),nt=s?e.readInt32():0,rt=this.attachmentLoader.newPointAttachment(n,l);return null==rt?null:(rt.x=et*o,rt.y=at*o,rt.rotation=tt,s&&V.rgba8888ToColor(rt.color,nt),rt);case ce.Clipping:var it=e.readInt(!0),st=e.readInt(!0),ot=this.readVertices(e,st),lt=s?e.readInt32():0,ht=this.attachmentLoader.newClippingAttachment(n,l);return null==ht?null:(ht.endSlot=a.slots[it],ht.worldVerticesLength=st<<1,ht.vertices=ot.vertices,ht.bones=ot.bones,s&&V.rgba8888ToColor(ht.color,lt),ht)}return null}},{key:"readVertices",value:function(t,e){var a=e<<1,n=new ge,r=this.scale;if(!t.readBoolean())return n.vertices=this.readFloatArray(t,a,r),n;for(var i=new Array,s=new Array,o=0;o<e;o++){var l=t.readInt(!0);s.push(l);for(var h=0;h<l;h++)s.push(t.readInt(!0)),i.push(t.readFloat()*r),i.push(t.readFloat()*r),i.push(t.readFloat())}return n.vertices=_.toFloatArray(i),n.bones=s,n}},{key:"readFloatArray",value:function(t,e,a){var n=new Array(e);if(1==a)for(var r=0;r<e;r++)n[r]=t.readFloat();else for(var i=0;i<e;i++)n[i]=t.readFloat()*a;return n}},{key:"readShortArray",value:function(t){for(var e=t.readInt(!0),a=new Array(e),n=0;n<e;n++)a[n]=t.readShort();return a}},{key:"readAnimation",value:function(e,a,n){for(var r=new Array,i=this.scale,s=0,o=new V,l=new V,h=0,u=e.readInt(!0);h<u;h++)for(var c=e.readInt(!0),d=0,f=e.readInt(!0);d<f;d++){var v=e.readByte(),g=e.readInt(!0);switch(v){case t.SLOT_ATTACHMENT:var m=new kt(g);m.slotIndex=c;for(var p=0;p<g;p++)m.setFrame(p,e.readFloat(),e.readStringRef());r.push(m),s=Math.max(s,m.frames[g-1]);break;case t.SLOT_COLOR:var y=new yt(g);y.slotIndex=c;for(var w=0;w<g;w++){var k=e.readFloat();V.rgba8888ToColor(o,e.readInt32()),y.setFrame(w,k,o.r,o.g,o.b,o.a),w<g-1&&this.readCurve(e,w,y)}r.push(y),s=Math.max(s,y.frames[(g-1)*yt.ENTRIES]);break;case t.SLOT_TWO_COLOR:var x=new wt(g);x.slotIndex=c;for(var E=0;E<g;E++){var b=e.readFloat();V.rgba8888ToColor(o,e.readInt32()),V.rgb888ToColor(l,e.readInt32()),x.setFrame(E,b,o.r,o.g,o.b,o.a,l.r,l.g,l.b),E<g-1&&this.readCurve(e,E,x)}r.push(x),s=Math.max(s,x.frames[(g-1)*wt.ENTRIES])}}for(var S=0,M=e.readInt(!0);S<M;S++)for(var I=e.readInt(!0),T=0,R=e.readInt(!0);T<R;T++){var A=e.readByte(),C=e.readInt(!0);switch(A){case t.BONE_ROTATE:var P=new vt(C);P.boneIndex=I;for(var F=0;F<C;F++)P.setFrame(F,e.readFloat(),e.readFloat()),F<C-1&&this.readCurve(e,F,P);r.push(P),s=Math.max(s,P.frames[(C-1)*vt.ENTRIES]);break;case t.BONE_TRANSLATE:case t.BONE_SCALE:case t.BONE_SHEAR:var N=void 0,O=1;A==t.BONE_SCALE?N=new mt(C):A==t.BONE_SHEAR?N=new pt(C):(N=new gt(C),O=i),N.boneIndex=I;for(var L=0;L<C;L++)N.setFrame(L,e.readFloat(),e.readFloat()*O,e.readFloat()*O),L<C-1&&this.readCurve(e,L,N);r.push(N),s=Math.max(s,N.frames[(C-1)*gt.ENTRIES])}}for(var D=0,X=e.readInt(!0);D<X;D++){var B=e.readInt(!0),Y=e.readInt(!0),U=new Mt(Y);U.ikConstraintIndex=B;for(var W=0;W<Y;W++)U.setFrame(W,e.readFloat(),e.readFloat(),e.readFloat()*i,e.readByte(),e.readBoolean(),e.readBoolean()),W<Y-1&&this.readCurve(e,W,U);r.push(U),s=Math.max(s,U.frames[(Y-1)*Mt.ENTRIES])}for(var H=0,z=e.readInt(!0);H<z;H++){var G=e.readInt(!0),Z=e.readInt(!0),Q=new It(Z);Q.transformConstraintIndex=G;for(var K=0;K<Z;K++)Q.setFrame(K,e.readFloat(),e.readFloat(),e.readFloat(),e.readFloat(),e.readFloat()),K<Z-1&&this.readCurve(e,K,Q);r.push(Q),s=Math.max(s,Q.frames[(Z-1)*It.ENTRIES])}for(var J=0,$=e.readInt(!0);J<$;J++)for(var tt=e.readInt(!0),et=n.pathConstraints[tt],at=0,nt=e.readInt(!0);at<nt;at++){var rt=e.readByte(),it=e.readInt(!0);switch(rt){case t.PATH_POSITION:case t.PATH_SPACING:var st=void 0,ot=1;rt==t.PATH_SPACING?(st=new Rt(it),et.spacingMode!=j.Length&&et.spacingMode!=j.Fixed||(ot=i)):(st=new Tt(it),et.positionMode==q.Fixed&&(ot=i)),st.pathConstraintIndex=tt;for(var lt=0;lt<it;lt++)st.setFrame(lt,e.readFloat(),e.readFloat()*ot),lt<it-1&&this.readCurve(e,lt,st);r.push(st),s=Math.max(s,st.frames[(it-1)*Tt.ENTRIES]);break;case t.PATH_MIX:var ut=new At(it);ut.pathConstraintIndex=tt;for(var ct=0;ct<it;ct++)ut.setFrame(ct,e.readFloat(),e.readFloat(),e.readFloat()),ct<it-1&&this.readCurve(e,ct,ut);r.push(ut),s=Math.max(s,ut.frames[(it-1)*At.ENTRIES])}}for(var dt=0,ft=e.readInt(!0);dt<ft;dt++)for(var xt=n.skins[e.readInt(!0)],Ct=0,Vt=e.readInt(!0);Ct<Vt;Ct++)for(var Pt=e.readInt(!0),_t=0,Ft=e.readInt(!0);_t<Ft;_t++){var Nt=xt.getAttachment(Pt,e.readStringRef()),Ot=null!=Nt.bones,Lt=Nt.vertices,Dt=Ot?Lt.length/3*2:Lt.length,Xt=e.readInt(!0),Bt=new Et(Xt);Bt.slotIndex=Pt,Bt.attachment=Nt;for(var Yt=0;Yt<Xt;Yt++){var Ut=e.readFloat(),Wt=void 0,qt=e.readInt(!0);if(0==qt)Wt=Ot?_.newFloatArray(Dt):Lt;else{Wt=_.newFloatArray(Dt);var jt=e.readInt(!0);if(qt+=jt,1==i)for(var Ht=jt;Ht<qt;Ht++)Wt[Ht]=e.readFloat();else for(var zt=jt;zt<qt;zt++)Wt[zt]=e.readFloat()*i;if(!Ot)for(var Gt=0,Zt=Wt.length;Gt<Zt;Gt++)Wt[Gt]+=Lt[Gt]}Bt.setFrame(Yt,Ut,Wt),Yt<Xt-1&&this.readCurve(e,Yt,Bt)}r.push(Bt),s=Math.max(s,Bt.frames[Xt-1])}var Qt=e.readInt(!0);if(Qt>0){for(var Kt=new St(Qt),Jt=n.slots.length,$t=0;$t<Qt;$t++){for(var te=e.readFloat(),ee=e.readInt(!0),ae=_.newArray(Jt,0),ne=Jt-1;ne>=0;ne--)ae[ne]=-1;for(var re=_.newArray(Jt-ee,0),ie=0,se=0,oe=0;oe<ee;oe++){for(var he=e.readInt(!0);ie!=he;)re[se++]=ie++;ae[ie+e.readInt(!0)]=ie++}for(;ie<Jt;)re[se++]=ie++;for(var ue=Jt-1;ue>=0;ue--)-1==ae[ue]&&(ae[ue]=re[--se]);Kt.setFrame($t,te,ae)}r.push(Kt),s=Math.max(s,Kt.frames[Qt-1])}var ce=e.readInt(!0);if(ce>0){for(var de=new bt(ce),fe=0;fe<ce;fe++){var ve=e.readFloat(),ge=n.events[e.readInt(!0)],me=new le(ve,ge);me.intValue=e.readInt(!1),me.floatValue=e.readFloat(),me.stringValue=e.readBoolean()?e.readString():ge.stringValue,null!=me.data.audioPath&&(me.volume=e.readFloat(),me.balance=e.readFloat()),de.setFrame(fe,me)}r.push(de),s=Math.max(s,de.frames[ce-1])}return new ht(a,r,s)}},{key:"readCurve",value:function(e,a,n){switch(e.readByte()){case t.CURVE_STEPPED:n.setStepped(a);break;case t.CURVE_BEZIER:this.setCurve(n,a,e.readFloat(),e.readFloat(),e.readFloat(),e.readFloat())}}},{key:"setCurve",value:function(t,e,a,n,r,i){t.setCurve(e,a,n,r,i)}}]),t}();de.AttachmentTypeValues=[0,1,2,3,4,5,6],de.TransformModeValues=[L.Normal,L.OnlyTranslation,L.NoRotationOrReflection,L.NoScale,L.NoScaleOrReflection],de.PositionModeValues=[q.Fixed,q.Percent],de.SpacingModeValues=[j.Length,j.Fixed,j.Percent],de.RotateModeValues=[H.Tangent,H.Chain,H.ChainScale],de.BlendModeValues=[oe.Normal,oe.Additive,oe.Multiply,oe.Screen],de.BONE_ROTATE=0,de.BONE_TRANSLATE=1,de.BONE_SCALE=2,de.BONE_SHEAR=3,de.SLOT_ATTACHMENT=0,de.SLOT_COLOR=1,de.SLOT_TWO_COLOR=2,de.PATH_POSITION=0,de.PATH_SPACING=1,de.PATH_MIX=2,de.CURVE_LINEAR=0,de.CURVE_STEPPED=1,de.CURVE_BEZIER=2;var fe=function(){function t(e){var a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new Array,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:new DataView(e.buffer);y(this,t),this.strings=a,this.index=n,this.buffer=r}return k(t,[{key:"readByte",value:function(){return this.buffer.getInt8(this.index++)}},{key:"readShort",value:function(){var t=this.buffer.getInt16(this.index);return this.index+=2,t}},{key:"readInt32",value:function(){var t=this.buffer.getInt32(this.index);return this.index+=4,t}},{key:"readInt",value:function(t){var e=this.readByte(),a=127&e;return 0!=(128&e)&&(a|=(127&(e=this.readByte()))<<7,0!=(128&e)&&(a|=(127&(e=this.readByte()))<<14,0!=(128&e)&&(a|=(127&(e=this.readByte()))<<21,0!=(128&e)&&(a|=(127&(e=this.readByte()))<<28)))),t?a:a>>>1^-(1&a)}},{key:"readStringRef",value:function(){var t=this.readInt(!0);return 0==t?null:this.strings[t-1]}},{key:"readString",value:function(){var t=this.readInt(!0);switch(t){case 0:return null;case 1:return""}t--;for(var e="",a=0;a<t;){var n=this.readByte();switch(n>>4){case 12:case 13:e+=String.fromCharCode((31&n)<<6|63&this.readByte()),a+=2;break;case 14:e+=String.fromCharCode((15&n)<<12|(63&this.readByte())<<6|63&this.readByte()),a+=3;break;default:e+=String.fromCharCode(n),a++}}return e}},{key:"readFloat",value:function(){var t=this.buffer.getFloat32(this.index);return this.index+=4,t}},{key:"readBoolean",value:function(){return 0!=this.readByte()}}]),t}(),ve=k((function t(e,a,n,r,i){y(this,t),this.parent=void 0,this.skin=void 0,this.slotIndex=void 0,this.mesh=void 0,this.inheritDeform=void 0,this.mesh=e,this.skin=a,this.slotIndex=n,this.parent=r,this.inheritDeform=i})),ge=k((function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;y(this,t),this.bones=e,this.vertices=a}));c("spine",["json","bin"])(function(t){E(a,v);var e=I(a);function a(){return y(this,a),e.apply(this,arguments)}return k(a,[{key:"load",value:function(t,e){var a=this;return new d((function(n,r){var i,s=e.engine;"spine"!==t.type&&r("Asset type must be spine."),!t.urls&&t.url&&a.checkUrl(t.url)&&(i=a.getResouceFromUrl(t.url)),t.urls&&a.checkUrls(t.urls)&&(i=a.getResouceFromUrls(t.urls));var l,h=!1;l=new Qt(null,(function(t){return a.createAdaptiveTexture(t,s)}));var u=i,c=u.skeletonFile,d=u.atlasFile,v=u.textureFile;l.onLoadComplete=function(){var t;if(h)t=l.get(d);else{var e=l.get(d);t=new nt(e,a.textureAssetPicker.bind(a,l,v))}var r=new $t(t),i=(a.isBinFile(c)?new de(r):new he(r)).readSkeletonData(l.get(c)),u=new f(s),g=u.addComponent(o),m=s._spriteDefaultMaterial.clone();g.setMaterial(m),u.addComponent(Zt).setSkeletonData(i),n(u)};var g=a.isBinFile(c);c&&d&&v?(g?l.loadBinary(c):l.loadText(c),l.loadText(d),l.loadTexture(v)):c&&d&&!v?(h=!0,g?l.loadBinary(c):l.loadText(c),l.loadTextureAtlas(d)):r("Resouce param error")}))}},{key:"textureAssetPicker",value:function(t,e){return t.get(e)}},{key:"createAdaptiveTexture",value:function(t,e){return new me(t,e)}},{key:"isBinFile",value:function(t){return"bin"===this.getExtFromUrl(t)}},{key:"checkUrl",value:function(t){var e=this.getExtFromUrl(t);return"json"===e||"bin"===e||(console.error("When use url as params, url must be json or bin file"),!1)}},{key:"getResouceFromUrl",value:function(t){var e=t,a=t,n=a.indexOf("?");return n>0&&(a=a.substr(0,n)),{skeletonFile:e,atlasFile:a=a.substr(0,a.lastIndexOf("."))+".atlas"}}},{key:"checkUrls",value:function(t){if(t.length<2)return console.error("When use urls as params, urls should at least contain: json/bin and atlas"),!1;if(t.length>3)return console.error("Spine runtime dont support multiple texture now"),!1;var e=this.getResouceFromUrls(t),a=e.skeletonFile,n=e.atlasFile;return e.textureFile,!(!a||!n)||(console.error("Lack ".concat(a?"":"skeletonFile").concat(n?" atlasFile":"")),!1)}},{key:"getResouceFromUrls",value:function(t){for(var e,a,n,r=0;r<t.length;r+=1){var i=t[r],s=this.getExtFromUrl(i);"json"!==s&&"bin"!==s||(e=i),"atlas"===s&&(a=i);["png","jpg","webp","jpeg"].includes(s)&&(n=i)}return{skeletonFile:e,atlasFile:a,textureFile:n}}},{key:"getExtFromUrl",value:function(t){return t.split(/[#?]/)[0].split(".").pop().trim()}}]),a}());var me=function(t){E(a,J);var e=I(a);function a(t,n){var r;return y(this,a),(r=e.call(this,t)).texture=void 0,r.texture=new g(n,t.width,t.height),r.texture.setImageSource(t),r.texture.generateMipmaps(),r}return k(a,[{key:"setFilters",value:function(t,e){t===WebGLRenderingContext.NEAREST?this.texture.filterMode=m.Point:e===WebGLRenderingContext.LINEAR_MIPMAP_LINEAR?this.texture.filterMode=m.Trilinear:this.texture.filterMode=m.Bilinear}},{key:"setWraps",value:function(t,e){this.texture.wrapModeU=t,this.texture.wrapModeV=e}},{key:"dispose",value:function(){}}]),a}();c("antg_spine",["json","bin"])(function(t){E(a,v);var e=I(a);function a(){return y(this,a),e.apply(this,arguments)}return k(a,[{key:"load",value:function(t,e){var a=this;return new d((function(n,r){var i=e.engine;if(t.url)if(a.checkUrl(t.url)){var s,l,h,u,c,d=t.url;u=new Qt(null,(function(t){return a.createAdaptiveTexture(t,i)})),(c=d,new Promise((function(t,e){var a=new XMLHttpRequest;a.responseType="json",a.open("GET",c,!0),a.onload=function(){200==a.status?t(a.response):e("status:".concat(a.status,", ").concat(a.responseText))},a.onerror=function(){e("status:".concat(a.status,", ").concat(a.responseText))},a.send()}))).then((function(t){if(h=t,t._ext){var e=t._ext,a=e.atlas,n=e.images,i=n[Object.keys(n)[0]];s=a,l=i,u.loadText(a),u.loadTexture(i)}else r("AntG spine json must have ext data")})).catch((function(){r("Resouce json load fail")})),u.onLoadComplete=function(){var t,e=u.get(s);t=new nt(e,a.textureAssetPicker.bind(a,u,l));var r=new $t(t),c=new he(r).readSkeletonData(h),d=new f(i),v=d.addComponent(o);v.shaderData.enableMacro("USE_MODEL_MATRIX"),v.shaderData.enableMacro("USE_CUSTOM_TEXTURE");var g=i._spriteDefaultMaterial.clone();v.setMaterial(g),d.addComponent(Zt).setSkeletonData(c),n(d)}}else r("AntG asset must be a json url.");else r("AntG asset must be a json url.")}))}},{key:"textureAssetPicker",value:function(t,e){return t.get(e)}},{key:"createAdaptiveTexture",value:function(t,e){return new pe(t,e)}},{key:"checkUrl",value:function(t){return"json"===this.getExtFromUrl(t)||(console.error("When use url as params, url must be a json file"),!1)}},{key:"getExtFromUrl",value:function(t){return t.split(/[#?]/)[0].split(".").pop().trim()}}]),a}());var pe=function(t){E(a,J);var e=I(a);function a(t,n){var r;return y(this,a),(r=e.call(this,t)).texture=void 0,r.texture=new g(n,t.width,t.height),r.texture.setImageSource(t),r.texture.generateMipmaps(),r}return k(a,[{key:"setFilters",value:function(t,e){t===WebGLRenderingContext.NEAREST?this.texture.filterMode=m.Point:e===WebGLRenderingContext.LINEAR_MIPMAP_LINEAR?this.texture.filterMode=m.Trilinear:this.texture.filterMode=m.Bilinear}},{key:"setWraps",value:function(t,e){this.texture.wrapModeU=t,this.texture.wrapModeV=e}},{key:"dispose",value:function(){}}]),a}();var ye="1.0.0-beta.0";export{Qt as AssetManager,$t as AtlasAttachmentLoader,de as SkeletonBinary,he as SkeletonJson,Zt as SpineAnimation,J as Texture,nt as TextureAtlas,ye as version};
1
+ import{BufferMesh as t,VertexElement as e,VertexElementFormat as r,Buffer as n,BufferBindFlag as a,BufferUsage as i,IndexFormat as s,MeshRenderer as o,SubMesh as h,Shader as l,BlendFactor as u,BlendOperation as c,CullMode as d,RenderQueueType as f,Material as v,ignoreClone as p,Script as g,request as m,resourceLoader as w,AssetPromise as E,Entity as x,Loader as y,Texture2D as b,TextureFilterMode as S}from"@galacean/engine";function M(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}function A(t,e,r){return e&&M(t.prototype,e),r&&M(t,r),t}function T(){return T=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var r=arguments[e];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(t[n]=r[n])}return t},T.apply(this,arguments)}function I(t,e){return I=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t},I(t,e)}function R(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&I(t,e)}function C(t,e,r,n){var a,i=arguments.length,s=i<3?e:null===n?n=Object.getOwnPropertyDescriptor(e,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(t,e,r,n);else for(var o=t.length-1;o>=0;o--)(a=t[o])&&(s=(i<3?a(s):i>3?a(e,r,s):a(e,r))||s);return i>3&&s&&Object.defineProperty(e,r,s),s}function k(t,e){return null!=e&&"undefined"!=typeof Symbol&&e[Symbol.hasInstance]?!!e[Symbol.hasInstance](t):t instanceof e}"function"==typeof SuppressedError&&SuppressedError;var V=function(){function t(){this.array=new Array}var e=t.prototype;return e.add=function(t){var e=this.contains(t);return this.array[0|t]=0|t,!e},e.contains=function(t){return null!=this.array[0|t]},e.remove=function(t){this.array[0|t]=void 0},e.clear=function(){this.array.length=0},t}(),P=function(){function t(t,e,r,n){void 0===t&&(t=0),void 0===e&&(e=0),void 0===r&&(r=0),void 0===n&&(n=0),this.r=t,this.g=e,this.b=r,this.a=n}var e=t.prototype;return e.set=function(t,e,r,n){return this.r=t,this.g=e,this.b=r,this.a=n,this.clamp(),this},e.setFromColor=function(t){return this.r=t.r,this.g=t.g,this.b=t.b,this.a=t.a,this},e.setFromString=function(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=(8!=t.length?255:parseInt(t.substr(6,2),16))/255,this},e.add=function(t,e,r,n){return this.r+=t,this.g+=e,this.b+=r,this.a+=n,this.clamp(),this},e.clamp=function(){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},t.rgba8888ToColor=function(t,e){t.r=((4278190080&e)>>>24)/255,t.g=((16711680&e)>>>16)/255,t.b=((65280&e)>>>8)/255,t.a=(255&e)/255},t.rgb888ToColor=function(t,e){t.r=((16711680&e)>>>16)/255,t.g=((65280&e)>>>8)/255,t.b=(255&e)/255},t}();P.WHITE=new P(1,1,1,1),P.RED=new P(1,0,0,1),P.GREEN=new P(0,1,0,1),P.BLUE=new P(0,0,1,1),P.MAGENTA=new P(1,0,1,1);var _=function(){function t(){}return t.clamp=function(t,e,r){return t<e?e:t>r?r:t},t.cosDeg=function(e){return Math.cos(e*t.degRad)},t.sinDeg=function(e){return Math.sin(e*t.degRad)},t.signum=function(t){return t>0?1:t<0?-1:0},t.toInt=function(t){return t>0?Math.floor(t):Math.ceil(t)},t.cbrt=function(t){var e=Math.pow(Math.abs(t),1/3);return t<0?-e:e},t.randomTriangular=function(e,r){return t.randomTriangularWith(e,r,.5*(e+r))},t.randomTriangularWith=function(t,e,r){var n=Math.random(),a=e-t;return n<=(r-t)/a?t+Math.sqrt(n*a*(r-t)):e-Math.sqrt((1-n)*a*(e-r))},t}();_.PI=3.1415927,_.PI2=2*_.PI,_.radiansToDegrees=180/_.PI,_.radDeg=_.radiansToDegrees,_.degreesToRadians=_.PI/180,_.degRad=_.degreesToRadians;var F=function(){function t(){}return t.arrayCopy=function(t,e,r,n,a){for(var i=e,s=n;i<e+a;i++,s++)r[s]=t[i]},t.setArraySize=function(t,e,r){void 0===r&&(r=0);var n=t.length;if(n==e)return t;if(t.length=e,n<e)for(var a=n;a<e;a++)t[a]=r;return t},t.ensureArrayCapacity=function(e,r,n){return void 0===n&&(n=0),e.length>=r?e:t.setArraySize(e,r,n)},t.newArray=function(t,e){for(var r=new Array(t),n=0;n<t;n++)r[n]=e;return r},t.newFloatArray=function(e){if(t.SUPPORTS_TYPED_ARRAYS)return new Float32Array(e);for(var r=new Array(e),n=0;n<r.length;n++)r[n]=0;return r},t.newShortArray=function(e){if(t.SUPPORTS_TYPED_ARRAYS)return new Int16Array(e);for(var r=new Array(e),n=0;n<r.length;n++)r[n]=0;return r},t.toFloatArray=function(e){return t.SUPPORTS_TYPED_ARRAYS?new Float32Array(e):e},t.toSinglePrecision=function(e){return t.SUPPORTS_TYPED_ARRAYS?Math.fround(e):e},t.webkit602BugfixHelper=function(t,e){},t.contains=function(t,e,r){for(var n=0;n<t.length;n++)if(t[n]==e)return!0;return!1},t}();F.SUPPORTS_TYPED_ARRAYS="undefined"!=typeof Float32Array;var N,O=function(){function t(t){this.items=new Array,this.instantiator=t}var e=t.prototype;return e.obtain=function(){return this.items.length>0?this.items.pop():this.instantiator()},e.free=function(t){t.reset&&t.reset(),this.items.push(t)},e.freeAll=function(t){for(var e=0;e<t.length;e++)this.free(t[e])},e.clear=function(){this.items.length=0},t}(),L=function(){function t(t,e){void 0===t&&(t=0),void 0===e&&(e=0),this.x=t,this.y=e}var e=t.prototype;return e.set=function(t,e){return this.x=t,this.y=e,this},e.length=function(){var t=this.x,e=this.y;return Math.sqrt(t*t+e*e)},e.normalize=function(){var t=this.length();return 0!=t&&(this.x/=t,this.y/=t),this},t}(),X=function(t,e,r){if(this.x=0,this.y=0,this.rotation=0,this.scaleX=1,this.scaleY=1,this.shearX=0,this.shearY=0,this.transformMode=0,this.skinRequired=!1,this.color=new P,t<0)throw new Error("index must be >= 0.");if(null==e)throw new Error("name cannot be null.");this.index=t,this.name=e,this.parent=r};!function(t){t[t.Normal=0]="Normal",t[t.OnlyTranslation=1]="OnlyTranslation",t[t.NoRotationOrReflection=2]="NoRotationOrReflection",t[t.NoScale=3]="NoScale",t[t.NoScaleOrReflection=4]="NoScaleOrReflection"}(N||(N={}));var B,D,Y,U=function(){function t(t,e,r){if(this.children=new Array,this.x=0,this.y=0,this.rotation=0,this.scaleX=0,this.scaleY=0,this.shearX=0,this.shearY=0,this.ax=0,this.ay=0,this.arotation=0,this.ascaleX=0,this.ascaleY=0,this.ashearX=0,this.ashearY=0,this.appliedValid=!1,this.a=0,this.b=0,this.c=0,this.d=0,this.worldY=0,this.worldX=0,this.sorted=!1,this.active=!1,null==t)throw new Error("data cannot be null.");if(null==e)throw new Error("skeleton cannot be null.");this.data=t,this.skeleton=e,this.parent=r,this.setToSetupPose()}var e=t.prototype;return e.isActive=function(){return this.active},e.update=function(){this.updateWorldTransformWith(this.x,this.y,this.rotation,this.scaleX,this.scaleY,this.shearX,this.shearY)},e.updateWorldTransform=function(){this.updateWorldTransformWith(this.x,this.y,this.rotation,this.scaleX,this.scaleY,this.shearX,this.shearY)},e.updateWorldTransformWith=function(t,e,r,n,a,i,s){this.ax=t,this.ay=e,this.arotation=r,this.ascaleX=n,this.ascaleY=a,this.ashearX=i,this.ashearY=s,this.appliedValid=!0;var o=this.parent;if(null==o){var h=this.skeleton,l=r+90+s,u=h.scaleX,c=h.scaleY;return this.a=_.cosDeg(r+i)*n*u,this.b=_.cosDeg(l)*a*u,this.c=_.sinDeg(r+i)*n*c,this.d=_.sinDeg(l)*a*c,this.worldX=t*u+h.x,void(this.worldY=e*c+h.y)}var d=o.a,f=o.b,v=o.c,p=o.d;switch(this.worldX=d*t+f*e+o.worldX,this.worldY=v*t+p*e+o.worldY,this.data.transformMode){case N.Normal:var g=r+90+s,m=_.cosDeg(r+i)*n,w=_.cosDeg(g)*a,E=_.sinDeg(r+i)*n,x=_.sinDeg(g)*a;return this.a=d*m+f*E,this.b=d*w+f*x,this.c=v*m+p*E,void(this.d=v*w+p*x);case N.OnlyTranslation:var y=r+90+s;this.a=_.cosDeg(r+i)*n,this.b=_.cosDeg(y)*a,this.c=_.sinDeg(r+i)*n,this.d=_.sinDeg(y)*a;break;case N.NoRotationOrReflection:var b=d*d+v*v,S=0;b>1e-4?(b=Math.abs(d*p-f*v)/b,d/=this.skeleton.scaleX,f=(v/=this.skeleton.scaleY)*b,p=d*b,S=Math.atan2(v,d)*_.radDeg):(d=0,v=0,S=90-Math.atan2(p,f)*_.radDeg);var M=r+i-S,A=r+s-S+90,T=_.cosDeg(M)*n,I=_.cosDeg(A)*a,R=_.sinDeg(M)*n,C=_.sinDeg(A)*a;this.a=d*T-f*R,this.b=d*I-f*C,this.c=v*T+p*R,this.d=v*I+p*C;break;case N.NoScale:case N.NoScaleOrReflection:var k=_.cosDeg(r),V=_.sinDeg(r),P=(d*k+f*V)/this.skeleton.scaleX,F=(v*k+p*V)/this.skeleton.scaleY,O=Math.sqrt(P*P+F*F);O>1e-5&&(O=1/O),P*=O,F*=O,O=Math.sqrt(P*P+F*F),this.data.transformMode==N.NoScale&&d*p-f*v<0!=(this.skeleton.scaleX<0!=this.skeleton.scaleY<0)&&(O=-O);var L=Math.PI/2+Math.atan2(F,P),X=Math.cos(L)*O,B=Math.sin(L)*O,D=_.cosDeg(i)*n,Y=_.cosDeg(90+s)*a,U=_.sinDeg(i)*n,W=_.sinDeg(90+s)*a;this.a=P*D+X*U,this.b=P*Y+X*W,this.c=F*D+B*U,this.d=F*Y+B*W}this.a*=this.skeleton.scaleX,this.b*=this.skeleton.scaleX,this.c*=this.skeleton.scaleY,this.d*=this.skeleton.scaleY},e.setToSetupPose=function(){var t=this.data;this.x=t.x,this.y=t.y,this.rotation=t.rotation,this.scaleX=t.scaleX,this.scaleY=t.scaleY,this.shearX=t.shearX,this.shearY=t.shearY},e.getWorldRotationX=function(){return Math.atan2(this.c,this.a)*_.radDeg},e.getWorldRotationY=function(){return Math.atan2(this.d,this.b)*_.radDeg},e.getWorldScaleX=function(){return Math.sqrt(this.a*this.a+this.c*this.c)},e.getWorldScaleY=function(){return Math.sqrt(this.b*this.b+this.d*this.d)},e.updateAppliedTransform=function(){this.appliedValid=!0;var t=this.parent;if(null==t)return this.ax=this.worldX,this.ay=this.worldY,this.arotation=Math.atan2(this.c,this.a)*_.radDeg,this.ascaleX=Math.sqrt(this.a*this.a+this.c*this.c),this.ascaleY=Math.sqrt(this.b*this.b+this.d*this.d),this.ashearX=0,void(this.ashearY=Math.atan2(this.a*this.b+this.c*this.d,this.a*this.d-this.b*this.c)*_.radDeg);var e=t.a,r=t.b,n=t.c,a=t.d,i=1/(e*a-r*n),s=this.worldX-t.worldX,o=this.worldY-t.worldY;this.ax=s*a*i-o*r*i,this.ay=o*e*i-s*n*i;var h=i*a,l=i*e,u=i*r,c=i*n,d=h*this.a-u*this.c,f=h*this.b-u*this.d,v=l*this.c-c*this.a,p=l*this.d-c*this.b;if(this.ashearX=0,this.ascaleX=Math.sqrt(d*d+v*v),this.ascaleX>1e-4){var g=d*p-f*v;this.ascaleY=g/this.ascaleX,this.ashearY=Math.atan2(d*f+v*p,g)*_.radDeg,this.arotation=Math.atan2(v,d)*_.radDeg}else this.ascaleX=0,this.ascaleY=Math.sqrt(f*f+p*p),this.ashearY=0,this.arotation=90-Math.atan2(p,f)*_.radDeg},e.worldToLocal=function(t){var e=this.a,r=this.b,n=this.c,a=this.d,i=1/(e*a-r*n),s=t.x-this.worldX,o=t.y-this.worldY;return t.x=s*a*i-o*r*i,t.y=o*e*i-s*n*i,t},e.localToWorld=function(t){var e=t.x,r=t.y;return t.x=e*this.a+r*this.b+this.worldX,t.y=e*this.c+r*this.d+this.worldY,t},e.worldToLocalRotation=function(t){var e=_.sinDeg(t),r=_.cosDeg(t);return Math.atan2(this.a*e-this.c*r,this.d*r-this.b*e)*_.radDeg+this.rotation-this.shearX},e.localToWorldRotation=function(t){t-=this.rotation-this.shearX;var e=_.sinDeg(t),r=_.cosDeg(t);return Math.atan2(r*this.c+e*this.d,r*this.a+e*this.b)*_.radDeg},e.rotateWorld=function(t){var e=this.a,r=this.b,n=this.c,a=this.d,i=_.cosDeg(t),s=_.sinDeg(t);this.a=i*e-s*n,this.b=i*r-s*a,this.c=s*e+i*n,this.d=s*r+i*a,this.appliedValid=!1},t}(),W=function(){function t(t,e){if(this.deform=new Array,null==t)throw new Error("data cannot be null.");if(null==e)throw new Error("bone cannot be null.");this.data=t,this.bone=e,this.color=new P,this.darkColor=null==t.darkColor?null:new P,this.setToSetupPose()}var e=t.prototype;return e.getSkeleton=function(){return this.bone.skeleton},e.getAttachment=function(){return this.attachment},e.setAttachment=function(t){this.attachment!=t&&(this.attachment=t,this.attachmentTime=this.bone.skeleton.time,this.deform.length=0)},e.setAttachmentTime=function(t){this.attachmentTime=this.bone.skeleton.time-t},e.getAttachmentTime=function(){return this.bone.skeleton.time-this.attachmentTime},e.setToSetupPose=function(){this.color.setFromColor(this.data.color),null!=this.darkColor&&this.darkColor.setFromColor(this.data.darkColor),null==this.data.attachmentName?this.attachment=null:(this.attachment=null,this.setAttachment(this.bone.skeleton.getAttachment(this.data.index,this.data.attachmentName)))},t}(),q=function(){function t(t,e){if(this.bendDirection=0,this.compress=!1,this.stretch=!1,this.mix=1,this.softness=0,this.active=!1,null==t)throw new Error("data cannot be null.");if(null==e)throw new Error("skeleton cannot be null.");this.data=t,this.mix=t.mix,this.softness=t.softness,this.bendDirection=t.bendDirection,this.compress=t.compress,this.stretch=t.stretch,this.bones=new Array;for(var r=0;r<t.bones.length;r++)this.bones.push(e.findBone(t.bones[r].name));this.target=e.findBone(t.target.name)}var e=t.prototype;return e.isActive=function(){return this.active},e.apply=function(){this.update()},e.update=function(){var t=this.target,e=this.bones;switch(e.length){case 1:this.apply1(e[0],t.worldX,t.worldY,this.compress,this.stretch,this.data.uniform,this.mix);break;case 2:this.apply2(e[0],e[1],t.worldX,t.worldY,this.bendDirection,this.stretch,this.softness,this.mix)}},e.apply1=function(t,e,r,n,a,i,s){t.appliedValid||t.updateAppliedTransform();var o=t.parent,h=o.a,l=o.b,u=o.c,c=o.d,d=-t.ashearX-t.arotation,f=0,v=0;switch(t.data.transformMode){case N.OnlyTranslation:f=e-t.worldX,v=r-t.worldY;break;case N.NoRotationOrReflection:var p=Math.abs(h*c-l*u)/(h*h+u*u),g=h/t.skeleton.scaleX,m=u/t.skeleton.scaleY;l=-m*p*t.skeleton.scaleX,c=g*p*t.skeleton.scaleY,d+=Math.atan2(m,g)*_.radDeg;default:var w=e-o.worldX,E=r-o.worldY,x=h*c-l*u;f=(w*c-E*l)/x-t.ax,v=(E*h-w*u)/x-t.ay}d+=Math.atan2(v,f)*_.radDeg,t.ascaleX<0&&(d+=180),d>180?d-=360:d<-180&&(d+=360);var y=t.ascaleX,b=t.ascaleY;if(n||a){switch(t.data.transformMode){case N.NoScale:case N.NoScaleOrReflection:f=e-t.worldX,v=r-t.worldY}var S=t.data.length*y,M=Math.sqrt(f*f+v*v);if(n&&M<S||a&&M>S&&S>1e-4){var A=(M/S-1)*s+1;y*=A,i&&(b*=A)}}t.updateWorldTransformWith(t.ax,t.ay,t.arotation+d*s,y,b,t.ashearX,t.ashearY)},e.apply2=function(t,e,r,n,a,i,s,o){if(0!=o){t.appliedValid||t.updateAppliedTransform(),e.appliedValid||e.updateAppliedTransform();var h=t.ax,l=t.ay,u=t.ascaleX,c=u,d=t.ascaleY,f=e.ascaleX,v=0,p=0,g=0;u<0?(u=-u,v=180,g=-1):(v=0,g=1),d<0&&(d=-d,g=-g),f<0?(f=-f,p=180):p=0;var m=e.ax,w=0,E=0,x=0,y=t.a,b=t.b,S=t.c,M=t.d,A=Math.abs(u-d)<=1e-4;A?(E=y*m+b*(w=e.ay)+t.worldX,x=S*m+M*w+t.worldY):(w=0,E=y*m+t.worldX,x=S*m+t.worldY);var T=t.parent;y=T.a,b=T.b,S=T.c;var I,R,C=1/(y*(M=T.d)-b*S),k=E-T.worldX,V=x-T.worldY,P=(k*M-V*b)*C-h,F=(V*y-k*S)*C-l,N=Math.sqrt(P*P+F*F),O=e.data.length*f;if(N<1e-4)return this.apply1(t,r,n,!1,i,!1,o),void e.updateWorldTransformWith(m,w,0,e.ascaleX,e.ascaleY,e.ashearX,e.ashearY);var L=((k=r-T.worldX)*M-(V=n-T.worldY)*b)*C-h,X=(V*y-k*S)*C-l,B=L*L+X*X;if(0!=s){s*=u*(f+1)/2;var D=Math.sqrt(B),Y=D-N-O*u+s;if(Y>0){var U=Math.min(1,Y/(2*s))-1;B=(L-=(U=(Y-s*(1-U*U))/D)*L)*L+(X-=U*X)*X}}t:if(A){var W=(B-N*N-(O*=u)*O)/(2*N*O);W<-1?W=-1:W>1&&(W=1,i&&(c*=(Math.sqrt(B)/(N+O)-1)*o+1)),R=Math.acos(W)*a,y=N+O*W,b=O*Math.sin(R),I=Math.atan2(X*y-L*b,L*y+X*b)}else{var q=(y=u*O)*y,H=(b=d*O)*b,j=Math.atan2(X,L),G=-2*H*N,z=H-q;if((M=G*G-4*z*(S=H*N*N+q*B-q*H))>=0){var Z=Math.sqrt(M);G<0&&(Z=-Z);var Q=(Z=-(G+Z)/2)/z,J=S/Z,K=Math.abs(Q)<Math.abs(J)?Q:J;if(K*K<=B){V=Math.sqrt(B-K*K)*a,I=j-Math.atan2(V,K),R=Math.atan2(V/d,(K-N)/u);break t}}var $=_.PI,tt=N-y,et=tt*tt,rt=0,nt=0,at=N+y,it=at*at,st=0;(S=-y*N/(q-H))>=-1&&S<=1&&(S=Math.acos(S),(M=(k=y*Math.cos(S)+N)*k+(V=b*Math.sin(S))*V)<et&&($=S,et=M,tt=k,rt=V),M>it&&(nt=S,it=M,at=k,st=V)),B<=(et+it)/2?(I=j-Math.atan2(rt*a,tt),R=$*a):(I=j-Math.atan2(st*a,at),R=nt*a)}var ot=Math.atan2(w,m)*g,ht=t.arotation;(I=(I-ot)*_.radDeg+v-ht)>180?I-=360:I<-180&&(I+=360),t.updateWorldTransformWith(h,l,ht+I*o,c,t.ascaleY,0,0),ht=e.arotation,(R=((R+ot)*_.radDeg-e.ashearX)*g+p-ht)>180?R-=360:R<-180&&(R+=360),e.updateWorldTransformWith(m,w,ht+R*o,e.ascaleX,e.ascaleY,e.ashearX,e.ashearY)}else e.updateWorldTransform()},t}(),H=function(){function t(t,e){if(this.rotateMix=0,this.translateMix=0,this.scaleMix=0,this.shearMix=0,this.temp=new L,this.active=!1,null==t)throw new Error("data cannot be null.");if(null==e)throw new Error("skeleton cannot be null.");this.data=t,this.rotateMix=t.rotateMix,this.translateMix=t.translateMix,this.scaleMix=t.scaleMix,this.shearMix=t.shearMix,this.bones=new Array;for(var r=0;r<t.bones.length;r++)this.bones.push(e.findBone(t.bones[r].name));this.target=e.findBone(t.target.name)}var e=t.prototype;return e.isActive=function(){return this.active},e.apply=function(){this.update()},e.update=function(){this.data.local?this.data.relative?this.applyRelativeLocal():this.applyAbsoluteLocal():this.data.relative?this.applyRelativeWorld():this.applyAbsoluteWorld()},e.applyAbsoluteWorld=function(){for(var t=this.rotateMix,e=this.translateMix,r=this.scaleMix,n=this.shearMix,a=this.target,i=a.a,s=a.b,o=a.c,h=a.d,l=i*h-s*o>0?_.degRad:-_.degRad,u=this.data.offsetRotation*l,c=this.data.offsetShearY*l,d=this.bones,f=0,v=d.length;f<v;f++){var p=d[f],g=!1;if(0!=t){var m=p.a,w=p.b,E=p.c,x=p.d,y=Math.atan2(o,i)-Math.atan2(E,m)+u;y>_.PI?y-=_.PI2:y<-_.PI&&(y+=_.PI2),y*=t;var b=Math.cos(y),S=Math.sin(y);p.a=b*m-S*E,p.b=b*w-S*x,p.c=S*m+b*E,p.d=S*w+b*x,g=!0}if(0!=e){var M=this.temp;a.localToWorld(M.set(this.data.offsetX,this.data.offsetY)),p.worldX+=(M.x-p.worldX)*e,p.worldY+=(M.y-p.worldY)*e,g=!0}if(r>0){var A=Math.sqrt(p.a*p.a+p.c*p.c),T=Math.sqrt(i*i+o*o);A>1e-5&&(A=(A+(T-A+this.data.offsetScaleX)*r)/A),p.a*=A,p.c*=A,A=Math.sqrt(p.b*p.b+p.d*p.d),T=Math.sqrt(s*s+h*h),A>1e-5&&(A=(A+(T-A+this.data.offsetScaleY)*r)/A),p.b*=A,p.d*=A,g=!0}if(n>0){var I=p.b,R=p.d,C=Math.atan2(R,I),k=Math.atan2(h,s)-Math.atan2(o,i)-(C-Math.atan2(p.c,p.a));k>_.PI?k-=_.PI2:k<-_.PI&&(k+=_.PI2),k=C+(k+c)*n;var V=Math.sqrt(I*I+R*R);p.b=Math.cos(k)*V,p.d=Math.sin(k)*V,g=!0}g&&(p.appliedValid=!1)}},e.applyRelativeWorld=function(){for(var t=this.rotateMix,e=this.translateMix,r=this.scaleMix,n=this.shearMix,a=this.target,i=a.a,s=a.b,o=a.c,h=a.d,l=i*h-s*o>0?_.degRad:-_.degRad,u=this.data.offsetRotation*l,c=this.data.offsetShearY*l,d=this.bones,f=0,v=d.length;f<v;f++){var p=d[f],g=!1;if(0!=t){var m=p.a,w=p.b,E=p.c,x=p.d,y=Math.atan2(o,i)+u;y>_.PI?y-=_.PI2:y<-_.PI&&(y+=_.PI2),y*=t;var b=Math.cos(y),S=Math.sin(y);p.a=b*m-S*E,p.b=b*w-S*x,p.c=S*m+b*E,p.d=S*w+b*x,g=!0}if(0!=e){var M=this.temp;a.localToWorld(M.set(this.data.offsetX,this.data.offsetY)),p.worldX+=M.x*e,p.worldY+=M.y*e,g=!0}if(r>0){var A=(Math.sqrt(i*i+o*o)-1+this.data.offsetScaleX)*r+1;p.a*=A,p.c*=A,A=(Math.sqrt(s*s+h*h)-1+this.data.offsetScaleY)*r+1,p.b*=A,p.d*=A,g=!0}if(n>0){var T=Math.atan2(h,s)-Math.atan2(o,i);T>_.PI?T-=_.PI2:T<-_.PI&&(T+=_.PI2);var I=p.b,R=p.d;T=Math.atan2(R,I)+(T-_.PI/2+c)*n;var C=Math.sqrt(I*I+R*R);p.b=Math.cos(T)*C,p.d=Math.sin(T)*C,g=!0}g&&(p.appliedValid=!1)}},e.applyAbsoluteLocal=function(){var t=this.rotateMix,e=this.translateMix,r=this.scaleMix,n=this.shearMix,a=this.target;a.appliedValid||a.updateAppliedTransform();for(var i=this.bones,s=0,o=i.length;s<o;s++){var h=i[s];h.appliedValid||h.updateAppliedTransform();var l=h.arotation;if(0!=t){var u=a.arotation-l+this.data.offsetRotation;l+=(u-=360*(16384-(16384.499999999996-u/360|0)))*t}var c=h.ax,d=h.ay;0!=e&&(c+=(a.ax-c+this.data.offsetX)*e,d+=(a.ay-d+this.data.offsetY)*e);var f=h.ascaleX,v=h.ascaleY;0!=r&&(f>1e-5&&(f=(f+(a.ascaleX-f+this.data.offsetScaleX)*r)/f),v>1e-5&&(v=(v+(a.ascaleY-v+this.data.offsetScaleY)*r)/v));var p=h.ashearY;if(0!=n){var g=a.ashearY-p+this.data.offsetShearY;g-=360*(16384-(16384.499999999996-g/360|0)),h.shearY+=g*n}h.updateWorldTransformWith(c,d,l,f,v,h.ashearX,p)}},e.applyRelativeLocal=function(){var t=this.rotateMix,e=this.translateMix,r=this.scaleMix,n=this.shearMix,a=this.target;a.appliedValid||a.updateAppliedTransform();for(var i=this.bones,s=0,o=i.length;s<o;s++){var h=i[s];h.appliedValid||h.updateAppliedTransform();var l=h.arotation;0!=t&&(l+=(a.arotation+this.data.offsetRotation)*t);var u=h.ax,c=h.ay;0!=e&&(u+=(a.ax+this.data.offsetX)*e,c+=(a.ay+this.data.offsetY)*e);var d=h.ascaleX,f=h.ascaleY;0!=r&&(d>1e-5&&(d*=(a.ascaleX-1+this.data.offsetScaleX)*r+1),f>1e-5&&(f*=(a.ascaleY-1+this.data.offsetScaleY)*r+1));var v=h.ashearY;0!=n&&(v+=(a.ashearY+this.data.offsetShearY)*n),h.updateWorldTransformWith(u,c,l,d,f,h.ashearX,v)}},t}(),j=function(t,e,r){this.name=t,this.order=e,this.skinRequired=r},G=function(t){function e(e){var r;return(r=t.call(this,e,0,!1)||this).bones=new Array,r}return R(e,t),e}(j);!function(t){t[t.Fixed=0]="Fixed",t[t.Percent=1]="Percent"}(B||(B={})),function(t){t[t.Length=0]="Length",t[t.Fixed=1]="Fixed",t[t.Percent=2]="Percent"}(D||(D={})),function(t){t[t.Tangent=0]="Tangent",t[t.Chain=1]="Chain",t[t.ChainScale=2]="ChainScale"}(Y||(Y={}));var z=function(t){if(null==t)throw new Error("name cannot be null.");this.name=t},Z=function(t){function e(r){var n;return(n=t.call(this,r)||this).id=(65535&e.nextID++)<<11,n.worldVerticesLength=0,n.deformAttachment=function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(n),n}R(e,t);var r=e.prototype;return r.computeWorldVertices=function(t,e,r,n,a,i){r=a+(r>>1)*i;var s=t.bone.skeleton,o=t.deform,h=this.vertices,l=this.bones;if(null!=l){for(var u=0,c=0,d=0;d<e;d+=2){var f=l[u];u+=f+1,c+=f}var v=s.bones;if(0==o.length)for(var p=a,g=3*c;p<r;p+=i){var m=0,w=0,E=l[u++];for(E+=u;u<E;u++,g+=3){var x=v[l[u]],y=h[g],b=h[g+1],S=h[g+2];m+=(y*x.a+b*x.b+x.worldX)*S,w+=(y*x.c+b*x.d+x.worldY)*S}n[p]=m,n[p+1]=w}else for(var M=o,A=a,T=3*c,I=c<<1;A<r;A+=i){var R=0,C=0,k=l[u++];for(k+=u;u<k;u++,T+=3,I+=2){var V=v[l[u]],P=h[T]+M[I],_=h[T+1]+M[I+1],F=h[T+2];R+=(P*V.a+_*V.b+V.worldX)*F,C+=(P*V.c+_*V.d+V.worldY)*F}n[A]=R,n[A+1]=C}}else{o.length>0&&(h=o);for(var N=t.bone,O=N.worldX,L=N.worldY,X=N.a,B=N.b,D=N.c,Y=N.d,U=e,W=a;W<r;U+=2,W+=i){var q=h[U],H=h[U+1];n[W]=q*X+H*B+O,n[W+1]=q*D+H*Y+L}}},r.copyTo=function(t){null!=this.bones?(t.bones=new Array(this.bones.length),F.arrayCopy(this.bones,0,t.bones,0,this.bones.length)):t.bones=null,null!=this.vertices?(t.vertices=F.newFloatArray(this.vertices.length),F.arrayCopy(this.vertices,0,t.vertices,0,this.vertices.length)):t.vertices=null,t.worldVerticesLength=this.worldVerticesLength,t.deformAttachment=this.deformAttachment},e}(z);Z.nextID=0;var Q=function(t){function e(e){var r;return(r=t.call(this,e)||this).closed=!1,r.constantSpeed=!1,r.color=new P(1,1,1,1),r}return R(e,t),e.prototype.copy=function(){var t=new e(this.name);return this.copyTo(t),t.lengths=new Array(this.lengths.length),F.arrayCopy(this.lengths,0,t.lengths,0,this.lengths.length),t.closed=closed,t.constantSpeed=this.constantSpeed,t.color.setFromColor(this.color),t},e}(Z),J=function(){function t(t,e){if(this.position=0,this.spacing=0,this.rotateMix=0,this.translateMix=0,this.spaces=new Array,this.positions=new Array,this.world=new Array,this.curves=new Array,this.lengths=new Array,this.segments=new Array,this.active=!1,null==t)throw new Error("data cannot be null.");if(null==e)throw new Error("skeleton cannot be null.");this.data=t,this.bones=new Array;for(var r=0,n=t.bones.length;r<n;r++)this.bones.push(e.findBone(t.bones[r].name));this.target=e.findSlot(t.target.name),this.position=t.position,this.spacing=t.spacing,this.rotateMix=t.rotateMix,this.translateMix=t.translateMix}var e=t.prototype;return e.isActive=function(){return this.active},e.apply=function(){this.update()},e.update=function(){var e=this.target.getAttachment();if(k(e,Q)){var r=this.rotateMix,n=this.translateMix,a=r>0;if(n>0||a){var i=this.data,s=i.spacingMode==D.Percent,o=i.rotateMode,h=o==Y.Tangent,l=o==Y.ChainScale,u=this.bones.length,c=h?u:u+1,d=this.bones,f=F.setArraySize(this.spaces,c),v=null,p=this.spacing;if(l||!s){l&&(v=F.setArraySize(this.lengths,u));for(var g=i.spacingMode==D.Length,m=0,w=c-1;m<w;){var E=d[m],x=E.data.length;if(x<t.epsilon)l&&(v[m]=0),f[++m]=0;else if(s){if(l){var y=x*E.a,b=x*E.c,S=Math.sqrt(y*y+b*b);v[m]=S}f[++m]=p}else{var M=x*E.a,A=x*E.c,T=Math.sqrt(M*M+A*A);l&&(v[m]=T),f[++m]=(g?x+p:p)*T/x}}}else for(var I=1;I<c;I++)f[I]=p;var R=this.computeWorldPositions(e,c,h,i.positionMode==B.Percent,s),C=R[0],V=R[1],P=i.offsetRotation,N=!1;if(0==P)N=o==Y.Chain;else{N=!1;var O=this.target.bone;P*=O.a*O.d-O.b*O.c>0?_.degRad:-_.degRad}for(var L=0,X=3;L<u;L++,X+=3){var U=d[L];U.worldX+=(C-U.worldX)*n,U.worldY+=(V-U.worldY)*n;var W=R[X],q=R[X+1],H=W-C,j=q-V;if(l){var G=v[L];if(0!=G){var z=(Math.sqrt(H*H+j*j)/G-1)*r+1;U.a*=z,U.c*=z}}if(C=W,V=q,a){var Z=U.a,J=U.b,K=U.c,$=U.d,tt=0,et=0,rt=0;if(tt=h?R[X-1]:0==f[L+1]?R[X+2]:Math.atan2(j,H),tt-=Math.atan2(K,Z),N){et=Math.cos(tt),rt=Math.sin(tt);var nt=U.data.length;C+=(nt*(et*Z-rt*K)-H)*r,V+=(nt*(rt*Z+et*K)-j)*r}else tt+=P;tt>_.PI?tt-=_.PI2:tt<-_.PI&&(tt+=_.PI2),tt*=r,et=Math.cos(tt),rt=Math.sin(tt),U.a=et*Z-rt*K,U.b=et*J-rt*$,U.c=rt*Z+et*K,U.d=rt*J+et*$}U.appliedValid=!1}}}},e.computeWorldPositions=function(e,r,n,a,i){var s=this.target,o=this.position,h=this.spaces,l=F.setArraySize(this.positions,3*r+2),u=null,c=e.closed,d=e.worldVerticesLength,f=d/6,v=t.NONE;if(!e.constantSpeed){var p=e.lengths,g=p[f-=c?1:2];if(a&&(o*=g),i)for(var m=1;m<r;m++)h[m]*=g;u=F.setArraySize(this.world,8);for(var w=0,E=0,x=0;w<r;w++,E+=3){var y=h[w],b=o+=y;if(c)(b%=g)<0&&(b+=g),x=0;else{if(b<0){v!=t.BEFORE&&(v=t.BEFORE,e.computeWorldVertices(s,2,4,u,0,2)),this.addBeforePosition(b,u,0,l,E);continue}if(b>g){v!=t.AFTER&&(v=t.AFTER,e.computeWorldVertices(s,d-6,4,u,0,2)),this.addAfterPosition(b-g,u,0,l,E);continue}}for(;;x++){var S=p[x];if(!(b>S)){if(0==x)b/=S;else{var M=p[x-1];b=(b-M)/(S-M)}break}}x!=v&&(v=x,c&&x==f?(e.computeWorldVertices(s,d-4,4,u,0,2),e.computeWorldVertices(s,0,4,u,4,2)):e.computeWorldVertices(s,6*x+2,8,u,0,2)),this.addCurvePosition(b,u[0],u[1],u[2],u[3],u[4],u[5],u[6],u[7],l,E,n||w>0&&0==y)}return l}c?(d+=2,u=F.setArraySize(this.world,d),e.computeWorldVertices(s,2,d-4,u,0,2),e.computeWorldVertices(s,0,2,u,d-4,2),u[d-2]=u[0],u[d-1]=u[1]):(f--,d-=4,u=F.setArraySize(this.world,d),e.computeWorldVertices(s,2,d,u,0,2));for(var A=F.setArraySize(this.curves,f),T=0,I=u[0],R=u[1],C=0,k=0,V=0,P=0,_=0,N=0,O=0,L=0,X=0,B=0,D=0,Y=0,U=0,W=0,q=0,H=2;q<f;q++,H+=6)C=u[H],k=u[H+1],V=u[H+2],P=u[H+3],D=2*(O=.1875*(I-2*C+V))+(X=.09375*(3*(C-V)-I+(_=u[H+4]))),Y=2*(L=.1875*(R-2*k+P))+(B=.09375*(3*(k-P)-R+(N=u[H+5]))),U=.75*(C-I)+O+.16666667*X,W=.75*(k-R)+L+.16666667*B,T+=Math.sqrt(U*U+W*W),U+=D,W+=Y,D+=X,Y+=B,T+=Math.sqrt(U*U+W*W),U+=D,W+=Y,T+=Math.sqrt(U*U+W*W),U+=D+X,W+=Y+B,T+=Math.sqrt(U*U+W*W),A[q]=T,I=_,R=N;if(o*=a?T:T/e.lengths[f-1],i)for(var j=1;j<r;j++)h[j]*=T;for(var G=this.segments,z=0,Z=0,Q=0,J=0,K=0;Z<r;Z++,Q+=3){var $=h[Z],tt=o+=$;if(c)(tt%=T)<0&&(tt+=T),J=0;else{if(tt<0){this.addBeforePosition(tt,u,0,l,Q);continue}if(tt>T){this.addAfterPosition(tt-T,u,d-4,l,Q);continue}}for(;;J++){var et=A[J];if(!(tt>et)){if(0==J)tt/=et;else{var rt=A[J-1];tt=(tt-rt)/(et-rt)}break}}if(J!=v){v=J;var nt=6*J;for(I=u[nt],R=u[nt+1],C=u[nt+2],k=u[nt+3],V=u[nt+4],P=u[nt+5],D=2*(O=.03*(I-2*C+V))+(X=.006*(3*(C-V)-I+(_=u[nt+6]))),Y=2*(L=.03*(R-2*k+P))+(B=.006*(3*(k-P)-R+(N=u[nt+7]))),U=.3*(C-I)+O+.16666667*X,W=.3*(k-R)+L+.16666667*B,z=Math.sqrt(U*U+W*W),G[0]=z,nt=1;nt<8;nt++)U+=D,W+=Y,D+=X,Y+=B,z+=Math.sqrt(U*U+W*W),G[nt]=z;U+=D,W+=Y,z+=Math.sqrt(U*U+W*W),G[8]=z,U+=D+X,W+=Y+B,z+=Math.sqrt(U*U+W*W),G[9]=z,K=0}for(tt*=z;;K++){var at=G[K];if(!(tt>at)){if(0==K)tt/=at;else{var it=G[K-1];tt=K+(tt-it)/(at-it)}break}}this.addCurvePosition(.1*tt,I,R,C,k,V,P,_,N,l,Q,n||Z>0&&0==$)}return l},e.addBeforePosition=function(t,e,r,n,a){var i=e[r],s=e[r+1],o=e[r+2]-i,h=e[r+3]-s,l=Math.atan2(h,o);n[a]=i+t*Math.cos(l),n[a+1]=s+t*Math.sin(l),n[a+2]=l},e.addAfterPosition=function(t,e,r,n,a){var i=e[r+2],s=e[r+3],o=i-e[r],h=s-e[r+1],l=Math.atan2(h,o);n[a]=i+t*Math.cos(l),n[a+1]=s+t*Math.sin(l),n[a+2]=l},e.addCurvePosition=function(t,e,r,n,a,i,s,o,h,l,u,c){if(0==t||isNaN(t))return l[u]=e,l[u+1]=r,void(l[u+2]=Math.atan2(a-r,n-e));var d=t*t,f=d*t,v=1-t,p=v*v,g=p*v,m=v*t,w=3*m,E=v*w,x=w*t,y=e*g+n*E+i*x+o*f,b=r*g+a*E+s*x+h*f;l[u]=y,l[u+1]=b,c&&(l[u+2]=t<.001?Math.atan2(a-r,n-e):Math.atan2(b-(r*p+a*m*2+s*d),y-(e*p+n*m*2+i*d)))},t}();J.NONE=-1,J.BEFORE=-2,J.AFTER=-3,J.epsilon=1e-5;var K=function(t){function e(e){var r;return(r=t.call(this,e)||this).x=0,r.y=0,r.scaleX=1,r.scaleY=1,r.rotation=0,r.width=0,r.height=0,r.color=new P(1,1,1,1),r.offset=F.newFloatArray(8),r.uvs=F.newFloatArray(8),r.tempColor=new P(1,1,1,1),r}R(e,t);var r=e.prototype;return r.updateOffset=function(){var t=this.width/this.region.originalWidth*this.scaleX,r=this.height/this.region.originalHeight*this.scaleY,n=-this.width/2*this.scaleX+this.region.offsetX*t,a=-this.height/2*this.scaleY+this.region.offsetY*r,i=n+this.region.width*t,s=a+this.region.height*r,o=this.rotation*Math.PI/180,h=Math.cos(o),l=Math.sin(o),u=n*h+this.x,c=n*l,d=a*h+this.y,f=a*l,v=i*h+this.x,p=i*l,g=s*h+this.y,m=s*l,w=this.offset;w[e.OX1]=u-f,w[e.OY1]=d+c,w[e.OX2]=u-m,w[e.OY2]=g+c,w[e.OX3]=v-m,w[e.OY3]=g+p,w[e.OX4]=v-f,w[e.OY4]=d+p},r.setRegion=function(t){this.region=t;var e=this.uvs;t.rotate?(e[2]=t.u,e[3]=t.v2,e[4]=t.u,e[5]=t.v,e[6]=t.u2,e[7]=t.v,e[0]=t.u2,e[1]=t.v2):(e[0]=t.u,e[1]=t.v2,e[2]=t.u,e[3]=t.v,e[4]=t.u2,e[5]=t.v,e[6]=t.u2,e[7]=t.v2)},r.computeWorldVertices=function(t,r,n,a){var i=this.offset,s=t.worldX,o=t.worldY,h=t.a,l=t.b,u=t.c,c=t.d,d=0,f=0;d=i[e.OX1],f=i[e.OY1],r[n]=d*h+f*l+s,r[n+1]=d*u+f*c+o,n+=a,d=i[e.OX2],f=i[e.OY2],r[n]=d*h+f*l+s,r[n+1]=d*u+f*c+o,n+=a,d=i[e.OX3],f=i[e.OY3],r[n]=d*h+f*l+s,r[n+1]=d*u+f*c+o,n+=a,d=i[e.OX4],f=i[e.OY4],r[n]=d*h+f*l+s,r[n+1]=d*u+f*c+o},r.copy=function(){var t=new e(this.name);return t.region=this.region,t.rendererObject=this.rendererObject,t.path=this.path,t.x=this.x,t.y=this.y,t.scaleX=this.scaleX,t.scaleY=this.scaleY,t.rotation=this.rotation,t.width=this.width,t.height=this.height,F.arrayCopy(this.uvs,0,t.uvs,0,8),F.arrayCopy(this.offset,0,t.offset,0,8),t.color.setFromColor(this.color),t},e}(z);K.OX1=0,K.OY1=1,K.OX2=2,K.OY2=3,K.OX3=4,K.OY3=5,K.OX4=6,K.OY4=7,K.X1=0,K.Y1=1,K.C1R=2,K.C1G=3,K.C1B=4,K.C1A=5,K.U1=6,K.V1=7,K.X2=8,K.Y2=9,K.C2R=10,K.C2G=11,K.C2B=12,K.C2A=13,K.U2=14,K.V2=15,K.X3=16,K.Y3=17,K.C3R=18,K.C3G=19,K.C3B=20,K.C3A=21,K.U3=22,K.V3=23,K.X4=24,K.Y4=25,K.C4R=26,K.C4G=27,K.C4B=28,K.C4A=29,K.U4=30,K.V4=31;var $,tt,et=function(){function t(t){this._image=t}return t.prototype.getImage=function(){return this._image},t.filterFromString=function(t){switch(t.toLowerCase()){case"nearest":return 9728;case"linear":return 9729;case"mipmap":case"mipmaplinearlinear":return 9987;case"mipmapnearestnearest":return 9984;case"mipmaplinearnearest":return 9985;case"mipmapnearestlinear":return 9986;default:throw new Error("Unknown texture filter "+t)}},t.wrapFromString=function(t){switch(t.toLowerCase()){case"mirroredtepeat":return 33648;case"clamptoedge":return 33071;case"repeat":return 10497;default:throw new Error("Unknown texture wrap "+t)}},t}();!function(t){t[t.Nearest=9728]="Nearest",t[t.Linear=9729]="Linear",t[t.MipMap=9987]="MipMap",t[t.MipMapNearestNearest=9984]="MipMapNearestNearest",t[t.MipMapLinearNearest=9985]="MipMapLinearNearest",t[t.MipMapNearestLinear=9986]="MipMapNearestLinear",t[t.MipMapLinearLinear=9987]="MipMapLinearLinear"}($||($={})),function(t){t[t.MirroredRepeat=33648]="MirroredRepeat",t[t.ClampToEdge=33071]="ClampToEdge",t[t.Repeat=10497]="Repeat"}(tt||(tt={}));var rt,nt,at,it=function(){this.u=0,this.v=0,this.u2=0,this.v2=0,this.width=0,this.height=0,this.rotate=!1,this.offsetX=0,this.offsetY=0,this.originalWidth=0,this.originalHeight=0},st=function(t){function e(){return t.apply(this,arguments)}R(e,t);var r=e.prototype;return r.setFilters=function(t,e){},r.setWraps=function(t,e){},r.dispose=function(){},e}(et),ot=function(){function t(t,e){this.pages=new Array,this.regions=new Array,this.load(t,e)}var e=t.prototype;return e.load=function(t,e){if(null==e)throw new Error("textureLoader cannot be null.");for(var r=new ht(t),n=new Array(4),a=null;;){var i=r.readLine();if(null==i)break;if(0==(i=i.trim()).length)a=null;else if(a){var s=new ut;s.name=i,s.page=a;var o=r.readValue();"true"==o.toLocaleLowerCase()?s.degrees=90:"false"==o.toLocaleLowerCase()?s.degrees=0:s.degrees=parseFloat(o),s.rotate=90==s.degrees,r.readTuple(n);var h=parseInt(n[0]),l=parseInt(n[1]);r.readTuple(n);var u=parseInt(n[0]),c=parseInt(n[1]);s.u=h/a.width,s.v=l/a.height,s.rotate?(s.u2=(h+c)/a.width,s.v2=(l+u)/a.height):(s.u2=(h+u)/a.width,s.v2=(l+c)/a.height),s.x=h,s.y=l,s.width=Math.abs(u),s.height=Math.abs(c),4==r.readTuple(n)&&4==r.readTuple(n)&&r.readTuple(n),s.originalWidth=parseInt(n[0]),s.originalHeight=parseInt(n[1]),r.readTuple(n),s.offsetX=parseInt(n[0]),s.offsetY=parseInt(n[1]),s.index=parseInt(r.readValue()),s.texture=a.texture,this.regions.push(s)}else{(a=new lt).name=i,2==r.readTuple(n)&&(a.width=parseInt(n[0]),a.height=parseInt(n[1]),r.readTuple(n)),r.readTuple(n),a.minFilter=et.filterFromString(n[0]),a.magFilter=et.filterFromString(n[1]);var d=r.readValue();a.uWrap=tt.ClampToEdge,a.vWrap=tt.ClampToEdge,"x"==d?a.uWrap=tt.Repeat:"y"==d?a.vWrap=tt.Repeat:"xy"==d&&(a.uWrap=a.vWrap=tt.Repeat),a.texture=e(i),a.texture.setFilters(a.minFilter,a.magFilter),a.texture.setWraps(a.uWrap,a.vWrap),a.width=a.texture.getImage().width,a.height=a.texture.getImage().height,this.pages.push(a)}}},e.findRegion=function(t){for(var e=0;e<this.regions.length;e++)if(this.regions[e].name==t)return this.regions[e];return null},e.dispose=function(){for(var t=0;t<this.pages.length;t++)this.pages[t].texture.dispose()},t}(),ht=function(){function t(t){this.index=0,this.lines=t.split(/\r\n|\r|\n/)}var e=t.prototype;return e.readLine=function(){return this.index>=this.lines.length?null:this.lines[this.index++]},e.readValue=function(){var t=this.readLine(),e=t.indexOf(":");if(-1==e)throw new Error("Invalid line: "+t);return t.substring(e+1).trim()},e.readTuple=function(t){var e=this.readLine(),r=e.indexOf(":");if(-1==r)throw new Error("Invalid line: "+e);for(var n=0,a=r+1;n<3;n++){var i=e.indexOf(",",a);if(-1==i)break;t[n]=e.substr(a,i-a).trim(),a=i+1}return t[n]=e.substring(a).trim(),n+1},t}(),lt=function(){},ut=function(t){function e(){return t.apply(this,arguments)}return R(e,t),e}(it),ct=function(t){function e(e){var r;return(r=t.call(this,e)||this).color=new P(1,1,1,1),r.tempColor=new P(0,0,0,0),r}R(e,t);var r=e.prototype;return r.updateUVs=function(){var t=this.regionUVs;null!=this.uvs&&this.uvs.length==t.length||(this.uvs=F.newFloatArray(t.length));var e=this.uvs,r=this.uvs.length,n=this.region.u,a=this.region.v,i=0,s=0;if(k(this.region,ut)){var o=this.region,h=o.texture.getImage().width,l=o.texture.getImage().height;switch(o.degrees){case 90:n-=(o.originalHeight-o.offsetY-o.height)/h,a-=(o.originalWidth-o.offsetX-o.width)/l,i=o.originalHeight/h,s=o.originalWidth/l;for(var u=0;u<r;u+=2)e[u]=n+t[u+1]*i,e[u+1]=a+(1-t[u])*s;return;case 180:n-=(o.originalWidth-o.offsetX-o.width)/h,a-=o.offsetY/l,i=o.originalWidth/h,s=o.originalHeight/l;for(var c=0;c<r;c+=2)e[c]=n+(1-t[c])*i,e[c+1]=a+(1-t[c+1])*s;return;case 270:n-=o.offsetY/h,a-=o.offsetX/l,i=o.originalHeight/h,s=o.originalWidth/l;for(var d=0;d<r;d+=2)e[d]=n+(1-t[d+1])*i,e[d+1]=a+t[d]*s;return}n-=o.offsetX/h,a-=(o.originalHeight-o.offsetY-o.height)/l,i=o.originalWidth/h,s=o.originalHeight/l}else null==this.region?(n=a=0,i=s=1):(i=this.region.u2-n,s=this.region.v2-a);for(var f=0;f<r;f+=2)e[f]=n+t[f]*i,e[f+1]=a+t[f+1]*s},r.getParentMesh=function(){return this.parentMesh},r.setParentMesh=function(t){this.parentMesh=t,null!=t&&(this.bones=t.bones,this.vertices=t.vertices,this.worldVerticesLength=t.worldVerticesLength,this.regionUVs=t.regionUVs,this.triangles=t.triangles,this.hullLength=t.hullLength,this.worldVerticesLength=t.worldVerticesLength)},r.copy=function(){if(null!=this.parentMesh)return this.newLinkedMesh();var t=new e(this.name);return t.region=this.region,t.path=this.path,t.color.setFromColor(this.color),this.copyTo(t),t.regionUVs=new Array(this.regionUVs.length),F.arrayCopy(this.regionUVs,0,t.regionUVs,0,this.regionUVs.length),t.uvs=new Array(this.uvs.length),F.arrayCopy(this.uvs,0,t.uvs,0,this.uvs.length),t.triangles=new Array(this.triangles.length),F.arrayCopy(this.triangles,0,t.triangles,0,this.triangles.length),t.hullLength=this.hullLength,null!=this.edges&&(t.edges=new Array(this.edges.length),F.arrayCopy(this.edges,0,t.edges,0,this.edges.length)),t.width=this.width,t.height=this.height,t},r.newLinkedMesh=function(){var t=new e(this.name);return t.region=this.region,t.path=this.path,t.color.setFromColor(this.color),t.deformAttachment=this.deformAttachment,t.setParentMesh(null!=this.parentMesh?this.parentMesh:this),t.updateUVs(),t},e}(Z),dt=function(){function t(t){if(this._updateCache=new Array,this.updateCacheReset=new Array,this.time=0,this.scaleX=1,this.scaleY=1,this.x=0,this.y=0,null==t)throw new Error("data cannot be null.");this.data=t,this.bones=new Array;for(var e=0;e<t.bones.length;e++){var r=t.bones[e],n=void 0;if(null==r.parent)n=new U(r,this,null);else{var a=this.bones[r.parent.index];n=new U(r,this,a),a.children.push(n)}this.bones.push(n)}this.slots=new Array,this.drawOrder=new Array;for(var i=0;i<t.slots.length;i++){var s=t.slots[i],o=this.bones[s.boneData.index],h=new W(s,o);this.slots.push(h),this.drawOrder.push(h)}this.ikConstraints=new Array;for(var l=0;l<t.ikConstraints.length;l++){var u=t.ikConstraints[l];this.ikConstraints.push(new q(u,this))}this.transformConstraints=new Array;for(var c=0;c<t.transformConstraints.length;c++){var d=t.transformConstraints[c];this.transformConstraints.push(new H(d,this))}this.pathConstraints=new Array;for(var f=0;f<t.pathConstraints.length;f++){var v=t.pathConstraints[f];this.pathConstraints.push(new J(v,this))}this.color=new P(1,1,1,1),this.updateCache()}var e=t.prototype;return e.updateCache=function(){var t=this._updateCache;t.length=0,this.updateCacheReset.length=0;for(var e=this.bones,r=0,n=e.length;r<n;r++){var a=e[r];a.sorted=a.data.skinRequired,a.active=!a.sorted}if(null!=this.skin)for(var i=this.skin.bones,s=0,o=this.skin.bones.length;s<o;s++){var h=this.bones[i[s].index];do{h.sorted=!1,h.active=!0,h=h.parent}while(null!=h)}var l=this.ikConstraints,u=this.transformConstraints,c=this.pathConstraints,d=l.length,f=u.length,v=c.length,p=d+f+v;t:for(var g=0;g<p;g++){for(var m=0;m<d;m++){var w=l[m];if(w.data.order==g){this.sortIkConstraint(w);continue t}}for(var E=0;E<f;E++){var x=u[E];if(x.data.order==g){this.sortTransformConstraint(x);continue t}}for(var y=0;y<v;y++){var b=c[y];if(b.data.order==g){this.sortPathConstraint(b);continue t}}}for(var S=0,M=e.length;S<M;S++)this.sortBone(e[S])},e.sortIkConstraint=function(t){if(t.active=t.target.isActive()&&(!t.data.skinRequired||null!=this.skin&&F.contains(this.skin.constraints,t.data,!0)),t.active){var e=t.target;this.sortBone(e);var r=t.bones,n=r[0];if(this.sortBone(n),r.length>1){var a=r[r.length-1];this._updateCache.indexOf(a)>-1||this.updateCacheReset.push(a)}this._updateCache.push(t),this.sortReset(n.children),r[r.length-1].sorted=!0}},e.sortPathConstraint=function(t){if(t.active=t.target.bone.isActive()&&(!t.data.skinRequired||null!=this.skin&&F.contains(this.skin.constraints,t.data,!0)),t.active){var e=t.target,r=e.data.index,n=e.bone;null!=this.skin&&this.sortPathConstraintAttachment(this.skin,r,n),null!=this.data.defaultSkin&&this.data.defaultSkin!=this.skin&&this.sortPathConstraintAttachment(this.data.defaultSkin,r,n);for(var a=0,i=this.data.skins.length;a<i;a++)this.sortPathConstraintAttachment(this.data.skins[a],r,n);var s=e.getAttachment();k(s,Q)&&this.sortPathConstraintAttachmentWith(s,n);for(var o=t.bones,h=o.length,l=0;l<h;l++)this.sortBone(o[l]);this._updateCache.push(t);for(var u=0;u<h;u++)this.sortReset(o[u].children);for(var c=0;c<h;c++)o[c].sorted=!0}},e.sortTransformConstraint=function(t){if(t.active=t.target.isActive()&&(!t.data.skinRequired||null!=this.skin&&F.contains(this.skin.constraints,t.data,!0)),t.active){this.sortBone(t.target);var e=t.bones,r=e.length;if(t.data.local)for(var n=0;n<r;n++){var a=e[n];this.sortBone(a.parent),this._updateCache.indexOf(a)>-1||this.updateCacheReset.push(a)}else for(var i=0;i<r;i++)this.sortBone(e[i]);this._updateCache.push(t);for(var s=0;s<r;s++)this.sortReset(e[s].children);for(var o=0;o<r;o++)e[o].sorted=!0}},e.sortPathConstraintAttachment=function(t,e,r){var n=t.attachments[e];if(n)for(var a in n)this.sortPathConstraintAttachmentWith(n[a],r)},e.sortPathConstraintAttachmentWith=function(t,e){if(k(t,Q)){var r=t.bones;if(null==r)this.sortBone(e);else for(var n=this.bones,a=0;a<r.length;)for(var i=r[a++],s=a+i;a<s;a++){var o=r[a];this.sortBone(n[o])}}},e.sortBone=function(t){if(!t.sorted){var e=t.parent;null!=e&&this.sortBone(e),t.sorted=!0,this._updateCache.push(t)}},e.sortReset=function(t){for(var e=0,r=t.length;e<r;e++){var n=t[e];n.active&&(n.sorted&&this.sortReset(n.children),n.sorted=!1)}},e.updateWorldTransform=function(){for(var t=this.updateCacheReset,e=0,r=t.length;e<r;e++){var n=t[e];n.ax=n.x,n.ay=n.y,n.arotation=n.rotation,n.ascaleX=n.scaleX,n.ascaleY=n.scaleY,n.ashearX=n.shearX,n.ashearY=n.shearY,n.appliedValid=!0}for(var a=this._updateCache,i=0,s=a.length;i<s;i++)a[i].update()},e.setToSetupPose=function(){this.setBonesToSetupPose(),this.setSlotsToSetupPose()},e.setBonesToSetupPose=function(){for(var t=this.bones,e=0,r=t.length;e<r;e++)t[e].setToSetupPose();for(var n=this.ikConstraints,a=0,i=n.length;a<i;a++){var s=n[a];s.mix=s.data.mix,s.softness=s.data.softness,s.bendDirection=s.data.bendDirection,s.compress=s.data.compress,s.stretch=s.data.stretch}for(var o=this.transformConstraints,h=0,l=o.length;h<l;h++){var u=o[h],c=u.data;u.rotateMix=c.rotateMix,u.translateMix=c.translateMix,u.scaleMix=c.scaleMix,u.shearMix=c.shearMix}for(var d=this.pathConstraints,f=0,v=d.length;f<v;f++){var p=d[f],g=p.data;p.position=g.position,p.spacing=g.spacing,p.rotateMix=g.rotateMix,p.translateMix=g.translateMix}},e.setSlotsToSetupPose=function(){var t=this.slots;F.arrayCopy(t,0,this.drawOrder,0,t.length);for(var e=0,r=t.length;e<r;e++)t[e].setToSetupPose()},e.getRootBone=function(){return 0==this.bones.length?null:this.bones[0]},e.findBone=function(t){if(null==t)throw new Error("boneName cannot be null.");for(var e=this.bones,r=0,n=e.length;r<n;r++){var a=e[r];if(a.data.name==t)return a}return null},e.findBoneIndex=function(t){if(null==t)throw new Error("boneName cannot be null.");for(var e=this.bones,r=0,n=e.length;r<n;r++)if(e[r].data.name==t)return r;return-1},e.findSlot=function(t){if(null==t)throw new Error("slotName cannot be null.");for(var e=this.slots,r=0,n=e.length;r<n;r++){var a=e[r];if(a.data.name==t)return a}return null},e.findSlotIndex=function(t){if(null==t)throw new Error("slotName cannot be null.");for(var e=this.slots,r=0,n=e.length;r<n;r++)if(e[r].data.name==t)return r;return-1},e.setSkinByName=function(t){var e=this.data.findSkin(t);if(null==e)throw new Error("Skin not found: "+t);this.setSkin(e)},e.setSkin=function(t){if(t!=this.skin){if(null!=t)if(null!=this.skin)t.attachAll(this,this.skin);else for(var e=this.slots,r=0,n=e.length;r<n;r++){var a=e[r],i=a.data.attachmentName;if(null!=i){var s=t.getAttachment(r,i);null!=s&&a.setAttachment(s)}}this.skin=t,this.updateCache()}},e.getAttachmentByName=function(t,e){return this.getAttachment(this.data.findSlotIndex(t),e)},e.getAttachment=function(t,e){if(null==e)throw new Error("attachmentName cannot be null.");if(null!=this.skin){var r=this.skin.getAttachment(t,e);if(null!=r)return r}return null!=this.data.defaultSkin?this.data.defaultSkin.getAttachment(t,e):null},e.setAttachment=function(t,e){if(null==t)throw new Error("slotName cannot be null.");for(var r=this.slots,n=0,a=r.length;n<a;n++){var i=r[n];if(i.data.name==t){var s=null;if(null!=e&&null==(s=this.getAttachment(n,e)))throw new Error("Attachment not found: "+e+", for slot: "+t);return void i.setAttachment(s)}}throw new Error("Slot not found: "+t)},e.findIkConstraint=function(t){if(null==t)throw new Error("constraintName cannot be null.");for(var e=this.ikConstraints,r=0,n=e.length;r<n;r++){var a=e[r];if(a.data.name==t)return a}return null},e.findTransformConstraint=function(t){if(null==t)throw new Error("constraintName cannot be null.");for(var e=this.transformConstraints,r=0,n=e.length;r<n;r++){var a=e[r];if(a.data.name==t)return a}return null},e.findPathConstraint=function(t){if(null==t)throw new Error("constraintName cannot be null.");for(var e=this.pathConstraints,r=0,n=e.length;r<n;r++){var a=e[r];if(a.data.name==t)return a}return null},e.getBounds=function(t,e,r){if(void 0===r&&(r=new Array(2)),null==t)throw new Error("offset cannot be null.");if(null==e)throw new Error("size cannot be null.");for(var n=this.drawOrder,a=Number.POSITIVE_INFINITY,i=Number.POSITIVE_INFINITY,s=Number.NEGATIVE_INFINITY,o=Number.NEGATIVE_INFINITY,h=0,l=n.length;h<l;h++){var u=n[h];if(u.bone.active){var c=0,d=null,f=u.getAttachment();if(k(f,K))c=8,d=F.setArraySize(r,c,0),f.computeWorldVertices(u.bone,d,0,2);else if(k(f,ct)){var v=f;c=v.worldVerticesLength,d=F.setArraySize(r,c,0),v.computeWorldVertices(u,0,c,d,0,2)}if(null!=d)for(var p=0,g=d.length;p<g;p+=2){var m=d[p],w=d[p+1];a=Math.min(a,m),i=Math.min(i,w),s=Math.max(s,m),o=Math.max(o,w)}}}t.set(a,i),e.set(s-a,o-i)},e.update=function(t){this.time+=t},t}(),ft=function(){function t(t,e,r){if(null==t)throw new Error("name cannot be null.");if(null==e)throw new Error("timelines cannot be null.");this.name=t,this.timelines=e,this.timelineIds=[];for(var n=0;n<e.length;n++)this.timelineIds[e[n].getPropertyId()]=!0;this.duration=r}var e=t.prototype;return e.hasTimeline=function(t){return 1==this.timelineIds[t]},e.apply=function(t,e,r,n,a,i,s,o){if(null==t)throw new Error("skeleton cannot be null.");n&&0!=this.duration&&(r%=this.duration,e>0&&(e%=this.duration));for(var h=this.timelines,l=0,u=h.length;l<u;l++)h[l].apply(t,e,r,a,i,s,o)},t.binarySearch=function(t,e,r){void 0===r&&(r=1);var n=0,a=t.length/r-2;if(0==a)return r;for(var i=a>>>1;;){if(t[(i+1)*r]<=e?n=i+1:a=i,n==a)return(n+1)*r;i=n+a>>>1}},t.linearSearch=function(t,e,r){for(var n=0,a=t.length-r;n<=a;n+=r)if(t[n]>e)return n;return-1},t}();!function(t){t[t.setup=0]="setup",t[t.first=1]="first",t[t.replace=2]="replace",t[t.add=3]="add"}(rt||(rt={})),function(t){t[t.mixIn=0]="mixIn",t[t.mixOut=1]="mixOut"}(nt||(nt={})),function(t){t[t.rotate=0]="rotate",t[t.translate=1]="translate",t[t.scale=2]="scale",t[t.shear=3]="shear",t[t.attachment=4]="attachment",t[t.color=5]="color",t[t.deform=6]="deform",t[t.event=7]="event",t[t.drawOrder=8]="drawOrder",t[t.ikConstraint=9]="ikConstraint",t[t.transformConstraint=10]="transformConstraint",t[t.pathConstraintPosition=11]="pathConstraintPosition",t[t.pathConstraintSpacing=12]="pathConstraintSpacing",t[t.pathConstraintMix=13]="pathConstraintMix",t[t.twoColor=14]="twoColor"}(at||(at={}));var vt=function(){function t(e){if(e<=0)throw new Error("frameCount must be > 0: "+e);this.curves=F.newFloatArray((e-1)*t.BEZIER_SIZE)}var e=t.prototype;return e.getFrameCount=function(){return this.curves.length/t.BEZIER_SIZE+1},e.setLinear=function(e){this.curves[e*t.BEZIER_SIZE]=t.LINEAR},e.setStepped=function(e){this.curves[e*t.BEZIER_SIZE]=t.STEPPED},e.getCurveType=function(e){var r=e*t.BEZIER_SIZE;if(r==this.curves.length)return t.LINEAR;var n=this.curves[r];return n==t.LINEAR?t.LINEAR:n==t.STEPPED?t.STEPPED:t.BEZIER},e.setCurve=function(e,r,n,a,i){var s=.03*(2*-r+a),o=.03*(2*-n+i),h=.006*(3*(r-a)+1),l=.006*(3*(n-i)+1),u=2*s+h,c=2*o+l,d=.3*r+s+.16666667*h,f=.3*n+o+.16666667*l,v=e*t.BEZIER_SIZE,p=this.curves;p[v++]=t.BEZIER;for(var g=d,m=f,w=v+t.BEZIER_SIZE-1;v<w;v+=2)p[v]=g,p[v+1]=m,d+=u,f+=c,u+=h,c+=l,g+=d,m+=f},e.getCurvePercent=function(e,r){r=_.clamp(r,0,1);var n=this.curves,a=e*t.BEZIER_SIZE,i=n[a];if(i==t.LINEAR)return r;if(i==t.STEPPED)return 0;for(var s=0,o=++a,h=a+t.BEZIER_SIZE-1;a<h;a+=2)if((s=n[a])>=r){var l=void 0,u=void 0;return a==o?(l=0,u=0):(l=n[a-2],u=n[a-1]),u+(n[a+1]-u)*(r-l)/(s-l)}var c=n[a-1];return c+(1-c)*(r-s)/(1-s)},t}();vt.LINEAR=0,vt.STEPPED=1,vt.BEZIER=2,vt.BEZIER_SIZE=19;var pt=function(t){function e(e){var r;return(r=t.call(this,e)||this).frames=F.newFloatArray(e<<1),r}R(e,t);var r=e.prototype;return r.getPropertyId=function(){return 0+this.boneIndex},r.setFrame=function(t,r,n){t<<=1,this.frames[t]=r,this.frames[t+e.ROTATION]=n},r.apply=function(t,r,n,a,i,s,o){var h=this.frames,l=t.bones[this.boneIndex];if(l.active)if(n<h[0])switch(s){case 0:return void(l.rotation=l.data.rotation);case 1:var u=l.data.rotation-l.rotation;l.rotation+=(u-360*(16384-(16384.499999999996-u/360|0)))*i}else if(n>=h[h.length-e.ENTRIES]){var c=h[h.length+e.PREV_ROTATION];switch(s){case 0:l.rotation=l.data.rotation+c*i;break;case 1:case 2:c+=l.data.rotation-l.rotation,c-=360*(16384-(16384.499999999996-c/360|0));case 3:l.rotation+=c*i}}else{var d=ft.binarySearch(h,n,e.ENTRIES),f=h[d+e.PREV_ROTATION],v=h[d],p=this.getCurvePercent((d>>1)-1,1-(n-v)/(h[d+e.PREV_TIME]-v)),g=h[d+e.ROTATION]-f;switch(g=f+(g-360*(16384-(16384.499999999996-g/360|0)))*p,s){case 0:l.rotation=l.data.rotation+(g-360*(16384-(16384.499999999996-g/360|0)))*i;break;case 1:case 2:g+=l.data.rotation-l.rotation;case 3:l.rotation+=(g-360*(16384-(16384.499999999996-g/360|0)))*i}}},e}(vt);pt.ENTRIES=2,pt.PREV_TIME=-2,pt.PREV_ROTATION=-1,pt.ROTATION=1;var gt=function(t){function e(r){var n;return(n=t.call(this,r)||this).frames=F.newFloatArray(r*e.ENTRIES),n}R(e,t);var r=e.prototype;return r.getPropertyId=function(){return(1<<24)+this.boneIndex},r.setFrame=function(t,r,n,a){t*=e.ENTRIES,this.frames[t]=r,this.frames[t+e.X]=n,this.frames[t+e.Y]=a},r.apply=function(t,r,n,a,i,s,o){var h=this.frames,l=t.bones[this.boneIndex];if(l.active)if(n<h[0])switch(s){case 0:return l.x=l.data.x,void(l.y=l.data.y);case 1:l.x+=(l.data.x-l.x)*i,l.y+=(l.data.y-l.y)*i}else{var u=0,c=0;if(n>=h[h.length-e.ENTRIES])u=h[h.length+e.PREV_X],c=h[h.length+e.PREV_Y];else{var d=ft.binarySearch(h,n,e.ENTRIES);u=h[d+e.PREV_X],c=h[d+e.PREV_Y];var f=h[d],v=this.getCurvePercent(d/e.ENTRIES-1,1-(n-f)/(h[d+e.PREV_TIME]-f));u+=(h[d+e.X]-u)*v,c+=(h[d+e.Y]-c)*v}switch(s){case 0:l.x=l.data.x+u*i,l.y=l.data.y+c*i;break;case 1:case 2:l.x+=(l.data.x+u-l.x)*i,l.y+=(l.data.y+c-l.y)*i;break;case 3:l.x+=u*i,l.y+=c*i}}},e}(vt);gt.ENTRIES=3,gt.PREV_TIME=-3,gt.PREV_X=-2,gt.PREV_Y=-1,gt.X=1,gt.Y=2;var mt=function(t){function e(e){return t.call(this,e)}R(e,t);var r=e.prototype;return r.getPropertyId=function(){return(2<<24)+this.boneIndex},r.apply=function(t,r,n,a,i,s,o){var h=this.frames,l=t.bones[this.boneIndex];if(l.active)if(n<h[0])switch(s){case 0:return l.scaleX=l.data.scaleX,void(l.scaleY=l.data.scaleY);case 1:l.scaleX+=(l.data.scaleX-l.scaleX)*i,l.scaleY+=(l.data.scaleY-l.scaleY)*i}else{var u=0,c=0;if(n>=h[h.length-e.ENTRIES])u=h[h.length+e.PREV_X]*l.data.scaleX,c=h[h.length+e.PREV_Y]*l.data.scaleY;else{var d=ft.binarySearch(h,n,e.ENTRIES);u=h[d+e.PREV_X],c=h[d+e.PREV_Y];var f=h[d],v=this.getCurvePercent(d/e.ENTRIES-1,1-(n-f)/(h[d+e.PREV_TIME]-f));u=(u+(h[d+e.X]-u)*v)*l.data.scaleX,c=(c+(h[d+e.Y]-c)*v)*l.data.scaleY}if(1==i)3==s?(l.scaleX+=u-l.data.scaleX,l.scaleY+=c-l.data.scaleY):(l.scaleX=u,l.scaleY=c);else{var p=0,g=0;if(1==o)switch(s){case 0:p=l.data.scaleX,g=l.data.scaleY,l.scaleX=p+(Math.abs(u)*_.signum(p)-p)*i,l.scaleY=g+(Math.abs(c)*_.signum(g)-g)*i;break;case 1:case 2:p=l.scaleX,g=l.scaleY,l.scaleX=p+(Math.abs(u)*_.signum(p)-p)*i,l.scaleY=g+(Math.abs(c)*_.signum(g)-g)*i;break;case 3:p=l.scaleX,g=l.scaleY,l.scaleX=p+(Math.abs(u)*_.signum(p)-l.data.scaleX)*i,l.scaleY=g+(Math.abs(c)*_.signum(g)-l.data.scaleY)*i}else switch(s){case 0:p=Math.abs(l.data.scaleX)*_.signum(u),g=Math.abs(l.data.scaleY)*_.signum(c),l.scaleX=p+(u-p)*i,l.scaleY=g+(c-g)*i;break;case 1:case 2:p=Math.abs(l.scaleX)*_.signum(u),g=Math.abs(l.scaleY)*_.signum(c),l.scaleX=p+(u-p)*i,l.scaleY=g+(c-g)*i;break;case 3:p=_.signum(u),g=_.signum(c),l.scaleX=Math.abs(l.scaleX)*p+(u-Math.abs(l.data.scaleX)*p)*i,l.scaleY=Math.abs(l.scaleY)*g+(c-Math.abs(l.data.scaleY)*g)*i}}}},e}(gt),wt=function(t){function e(e){return t.call(this,e)}R(e,t);var r=e.prototype;return r.getPropertyId=function(){return(3<<24)+this.boneIndex},r.apply=function(t,r,n,a,i,s,o){var h=this.frames,l=t.bones[this.boneIndex];if(l.active)if(n<h[0])switch(s){case 0:return l.shearX=l.data.shearX,void(l.shearY=l.data.shearY);case 1:l.shearX+=(l.data.shearX-l.shearX)*i,l.shearY+=(l.data.shearY-l.shearY)*i}else{var u=0,c=0;if(n>=h[h.length-e.ENTRIES])u=h[h.length+e.PREV_X],c=h[h.length+e.PREV_Y];else{var d=ft.binarySearch(h,n,e.ENTRIES);u=h[d+e.PREV_X],c=h[d+e.PREV_Y];var f=h[d],v=this.getCurvePercent(d/e.ENTRIES-1,1-(n-f)/(h[d+e.PREV_TIME]-f));u+=(h[d+e.X]-u)*v,c+=(h[d+e.Y]-c)*v}switch(s){case 0:l.shearX=l.data.shearX+u*i,l.shearY=l.data.shearY+c*i;break;case 1:case 2:l.shearX+=(l.data.shearX+u-l.shearX)*i,l.shearY+=(l.data.shearY+c-l.shearY)*i;break;case 3:l.shearX+=u*i,l.shearY+=c*i}}},e}(gt),Et=function(t){function e(r){var n;return(n=t.call(this,r)||this).frames=F.newFloatArray(r*e.ENTRIES),n}R(e,t);var r=e.prototype;return r.getPropertyId=function(){return(5<<24)+this.slotIndex},r.setFrame=function(t,r,n,a,i,s){t*=e.ENTRIES,this.frames[t]=r,this.frames[t+e.R]=n,this.frames[t+e.G]=a,this.frames[t+e.B]=i,this.frames[t+e.A]=s},r.apply=function(t,r,n,a,i,s,o){var h=t.slots[this.slotIndex];if(h.bone.active){var l=this.frames;if(n<l[0])switch(s){case 0:return void h.color.setFromColor(h.data.color);case 1:var u=h.color,c=h.data.color;u.add((c.r-u.r)*i,(c.g-u.g)*i,(c.b-u.b)*i,(c.a-u.a)*i)}else{var d=0,f=0,v=0,p=0;if(n>=l[l.length-e.ENTRIES]){var g=l.length;d=l[g+e.PREV_R],f=l[g+e.PREV_G],v=l[g+e.PREV_B],p=l[g+e.PREV_A]}else{var m=ft.binarySearch(l,n,e.ENTRIES);d=l[m+e.PREV_R],f=l[m+e.PREV_G],v=l[m+e.PREV_B],p=l[m+e.PREV_A];var w=l[m],E=this.getCurvePercent(m/e.ENTRIES-1,1-(n-w)/(l[m+e.PREV_TIME]-w));d+=(l[m+e.R]-d)*E,f+=(l[m+e.G]-f)*E,v+=(l[m+e.B]-v)*E,p+=(l[m+e.A]-p)*E}if(1==i)h.color.set(d,f,v,p);else{var x=h.color;0==s&&x.setFromColor(h.data.color),x.add((d-x.r)*i,(f-x.g)*i,(v-x.b)*i,(p-x.a)*i)}}}},e}(vt);Et.ENTRIES=5,Et.PREV_TIME=-5,Et.PREV_R=-4,Et.PREV_G=-3,Et.PREV_B=-2,Et.PREV_A=-1,Et.R=1,Et.G=2,Et.B=3,Et.A=4;var xt=function(t){function e(r){var n;return(n=t.call(this,r)||this).frames=F.newFloatArray(r*e.ENTRIES),n}R(e,t);var r=e.prototype;return r.getPropertyId=function(){return(14<<24)+this.slotIndex},r.setFrame=function(t,r,n,a,i,s,o,h,l){t*=e.ENTRIES,this.frames[t]=r,this.frames[t+e.R]=n,this.frames[t+e.G]=a,this.frames[t+e.B]=i,this.frames[t+e.A]=s,this.frames[t+e.R2]=o,this.frames[t+e.G2]=h,this.frames[t+e.B2]=l},r.apply=function(t,r,n,a,i,s,o){var h=t.slots[this.slotIndex];if(h.bone.active){var l=this.frames;if(n<l[0])switch(s){case 0:return h.color.setFromColor(h.data.color),void h.darkColor.setFromColor(h.data.darkColor);case 1:var u=h.color,c=h.darkColor,d=h.data.color,f=h.data.darkColor;u.add((d.r-u.r)*i,(d.g-u.g)*i,(d.b-u.b)*i,(d.a-u.a)*i),c.add((f.r-c.r)*i,(f.g-c.g)*i,(f.b-c.b)*i,0)}else{var v=0,p=0,g=0,m=0,w=0,E=0,x=0;if(n>=l[l.length-e.ENTRIES]){var y=l.length;v=l[y+e.PREV_R],p=l[y+e.PREV_G],g=l[y+e.PREV_B],m=l[y+e.PREV_A],w=l[y+e.PREV_R2],E=l[y+e.PREV_G2],x=l[y+e.PREV_B2]}else{var b=ft.binarySearch(l,n,e.ENTRIES);v=l[b+e.PREV_R],p=l[b+e.PREV_G],g=l[b+e.PREV_B],m=l[b+e.PREV_A],w=l[b+e.PREV_R2],E=l[b+e.PREV_G2],x=l[b+e.PREV_B2];var S=l[b],M=this.getCurvePercent(b/e.ENTRIES-1,1-(n-S)/(l[b+e.PREV_TIME]-S));v+=(l[b+e.R]-v)*M,p+=(l[b+e.G]-p)*M,g+=(l[b+e.B]-g)*M,m+=(l[b+e.A]-m)*M,w+=(l[b+e.R2]-w)*M,E+=(l[b+e.G2]-E)*M,x+=(l[b+e.B2]-x)*M}if(1==i)h.color.set(v,p,g,m),h.darkColor.set(w,E,x,1);else{var A=h.color,T=h.darkColor;0==s&&(A.setFromColor(h.data.color),T.setFromColor(h.data.darkColor)),A.add((v-A.r)*i,(p-A.g)*i,(g-A.b)*i,(m-A.a)*i),T.add((w-T.r)*i,(E-T.g)*i,(x-T.b)*i,0)}}}},e}(vt);xt.ENTRIES=8,xt.PREV_TIME=-8,xt.PREV_R=-7,xt.PREV_G=-6,xt.PREV_B=-5,xt.PREV_A=-4,xt.PREV_R2=-3,xt.PREV_G2=-2,xt.PREV_B2=-1,xt.R=1,xt.G=2,xt.B=3,xt.A=4,xt.R2=5,xt.G2=6,xt.B2=7;var yt=function(){function t(t){this.frames=F.newFloatArray(t),this.attachmentNames=new Array(t)}var e=t.prototype;return e.getPropertyId=function(){return(4<<24)+this.slotIndex},e.getFrameCount=function(){return this.frames.length},e.setFrame=function(t,e,r){this.frames[t]=e,this.attachmentNames[t]=r},e.apply=function(t,e,r,n,a,i,s){var o=t.slots[this.slotIndex];if(o.bone.active)if(1!=s){var h=this.frames;if(r<h[0])0!=i&&1!=i||this.setAttachment(t,o,o.data.attachmentName);else{var l=0;l=r>=h[h.length-1]?h.length-1:ft.binarySearch(h,r,1)-1;var u=this.attachmentNames[l];t.slots[this.slotIndex].setAttachment(null==u?null:t.getAttachment(this.slotIndex,u))}}else 0==i&&this.setAttachment(t,o,o.data.attachmentName)},e.setAttachment=function(t,e,r){e.attachment=null==r?null:t.getAttachment(this.slotIndex,r)},t}(),bt=null,St=function(t){function e(e){var r;return(r=t.call(this,e)||this).frames=F.newFloatArray(e),r.frameVertices=new Array(e),null==bt&&(bt=F.newFloatArray(64)),r}R(e,t);var r=e.prototype;return r.getPropertyId=function(){return(6<<27)+ +this.attachment.id+this.slotIndex},r.setFrame=function(t,e,r){this.frames[t]=e,this.frameVertices[t]=r},r.apply=function(t,e,r,n,a,i,s){var o=t.slots[this.slotIndex];if(o.bone.active){var h=o.getAttachment();if(k(h,Z)&&h.deformAttachment==this.attachment){var l=o.deform;0==l.length&&(i=0);var u=this.frameVertices,c=u[0].length,d=this.frames;if(r<d[0]){var f=h;switch(i){case 0:return void(l.length=0);case 1:if(1==a){l.length=0;break}var v=F.setArraySize(l,c);if(null==f.bones)for(var p=f.vertices,g=0;g<c;g++)v[g]+=(p[g]-v[g])*a;else{a=1-a;for(g=0;g<c;g++)v[g]*=a}}}else{var m=F.setArraySize(l,c);if(r>=d[d.length-1]){var w=u[d.length-1];if(1==a)if(3==i){var E=h;if(null==E.bones)for(var x=E.vertices,y=0;y<c;y++)m[y]+=w[y]-x[y];else for(var b=0;b<c;b++)m[b]+=w[b]}else F.arrayCopy(w,0,m,0,c);else switch(i){case 0:var S=h;if(null==S.bones)for(var M=S.vertices,A=0;A<c;A++){var T=M[A];m[A]=T+(w[A]-T)*a}else for(var I=0;I<c;I++)m[I]=w[I]*a;break;case 1:case 2:for(var R=0;R<c;R++)m[R]+=(w[R]-m[R])*a;break;case 3:var C=h;if(null==C.bones)for(var V=C.vertices,P=0;P<c;P++)m[P]+=(w[P]-V[P])*a;else for(var _=0;_<c;_++)m[_]+=w[_]*a}}else{var N=ft.binarySearch(d,r),O=u[N-1],L=u[N],X=d[N],B=this.getCurvePercent(N-1,1-(r-X)/(d[N-1]-X));if(1==a)if(3==i){var D=h;if(null==D.bones)for(var Y=D.vertices,U=0;U<c;U++){var W=O[U];m[U]+=W+(L[U]-W)*B-Y[U]}else for(var q=0;q<c;q++){var H=O[q];m[q]+=H+(L[q]-H)*B}}else for(var j=0;j<c;j++){var G=O[j];m[j]=G+(L[j]-G)*B}else switch(i){case 0:var z=h;if(null==z.bones)for(var Q=z.vertices,J=0;J<c;J++){var K=O[J],$=Q[J];m[J]=$+(K+(L[J]-K)*B-$)*a}else for(var tt=0;tt<c;tt++){var et=O[tt];m[tt]=(et+(L[tt]-et)*B)*a}break;case 1:case 2:for(var rt=0;rt<c;rt++){var nt=O[rt];m[rt]+=(nt+(L[rt]-nt)*B-m[rt])*a}break;case 3:var at=h;if(null==at.bones)for(var it=at.vertices,st=0;st<c;st++){var ot=O[st];m[st]+=(ot+(L[st]-ot)*B-it[st])*a}else for(var ht=0;ht<c;ht++){var lt=O[ht];m[ht]+=(lt+(L[ht]-lt)*B)*a}}}}}}},e}(vt),Mt=function(){function t(t){this.frames=F.newFloatArray(t),this.events=new Array(t)}var e=t.prototype;return e.getPropertyId=function(){return 7<<24},e.getFrameCount=function(){return this.frames.length},e.setFrame=function(t,e){this.frames[t]=e.time,this.events[t]=e},e.apply=function(t,e,r,n,a,i,s){if(null!=n){var o=this.frames,h=this.frames.length;if(e>r)this.apply(t,e,Number.MAX_VALUE,n,a,i,s),e=-1;else if(e>=o[h-1])return;if(!(r<o[0])){var l=0;if(e<o[0])l=0;else for(var u=o[l=ft.binarySearch(o,e)];l>0&&o[l-1]==u;)l--;for(;l<h&&r>=o[l];l++)n.push(this.events[l])}}},t}(),At=function(){function t(t){this.frames=F.newFloatArray(t),this.drawOrders=new Array(t)}var e=t.prototype;return e.getPropertyId=function(){return 8<<24},e.getFrameCount=function(){return this.frames.length},e.setFrame=function(t,e,r){this.frames[t]=e,this.drawOrders[t]=r},e.apply=function(t,e,r,n,a,i,s){var o=t.drawOrder,h=t.slots;if(1!=s){var l=this.frames;if(r<l[0])0!=i&&1!=i||F.arrayCopy(t.slots,0,t.drawOrder,0,t.slots.length);else{var u=0;u=r>=l[l.length-1]?l.length-1:ft.binarySearch(l,r)-1;var c=this.drawOrders[u];if(null==c)F.arrayCopy(h,0,o,0,h.length);else for(var d=0,f=c.length;d<f;d++)o[d]=h[c[d]]}}else 0==i&&F.arrayCopy(t.slots,0,t.drawOrder,0,t.slots.length)},t}(),Tt=function(t){function e(r){var n;return(n=t.call(this,r)||this).frames=F.newFloatArray(r*e.ENTRIES),n}R(e,t);var r=e.prototype;return r.getPropertyId=function(){return(9<<24)+this.ikConstraintIndex},r.setFrame=function(t,r,n,a,i,s,o){t*=e.ENTRIES,this.frames[t]=r,this.frames[t+e.MIX]=n,this.frames[t+e.SOFTNESS]=a,this.frames[t+e.BEND_DIRECTION]=i,this.frames[t+e.COMPRESS]=s?1:0,this.frames[t+e.STRETCH]=o?1:0},r.apply=function(t,r,n,a,i,s,o){var h=this.frames,l=t.ikConstraints[this.ikConstraintIndex];if(l.active)if(n<h[0])switch(s){case 0:return l.mix=l.data.mix,l.softness=l.data.softness,l.bendDirection=l.data.bendDirection,l.compress=l.data.compress,void(l.stretch=l.data.stretch);case 1:l.mix+=(l.data.mix-l.mix)*i,l.softness+=(l.data.softness-l.softness)*i,l.bendDirection=l.data.bendDirection,l.compress=l.data.compress,l.stretch=l.data.stretch}else if(n>=h[h.length-e.ENTRIES])0==s?(l.mix=l.data.mix+(h[h.length+e.PREV_MIX]-l.data.mix)*i,l.softness=l.data.softness+(h[h.length+e.PREV_SOFTNESS]-l.data.softness)*i,1==o?(l.bendDirection=l.data.bendDirection,l.compress=l.data.compress,l.stretch=l.data.stretch):(l.bendDirection=h[h.length+e.PREV_BEND_DIRECTION],l.compress=0!=h[h.length+e.PREV_COMPRESS],l.stretch=0!=h[h.length+e.PREV_STRETCH])):(l.mix+=(h[h.length+e.PREV_MIX]-l.mix)*i,l.softness+=(h[h.length+e.PREV_SOFTNESS]-l.softness)*i,0==o&&(l.bendDirection=h[h.length+e.PREV_BEND_DIRECTION],l.compress=0!=h[h.length+e.PREV_COMPRESS],l.stretch=0!=h[h.length+e.PREV_STRETCH]));else{var u=ft.binarySearch(h,n,e.ENTRIES),c=h[u+e.PREV_MIX],d=h[u+e.PREV_SOFTNESS],f=h[u],v=this.getCurvePercent(u/e.ENTRIES-1,1-(n-f)/(h[u+e.PREV_TIME]-f));0==s?(l.mix=l.data.mix+(c+(h[u+e.MIX]-c)*v-l.data.mix)*i,l.softness=l.data.softness+(d+(h[u+e.SOFTNESS]-d)*v-l.data.softness)*i,1==o?(l.bendDirection=l.data.bendDirection,l.compress=l.data.compress,l.stretch=l.data.stretch):(l.bendDirection=h[u+e.PREV_BEND_DIRECTION],l.compress=0!=h[u+e.PREV_COMPRESS],l.stretch=0!=h[u+e.PREV_STRETCH])):(l.mix+=(c+(h[u+e.MIX]-c)*v-l.mix)*i,l.softness+=(d+(h[u+e.SOFTNESS]-d)*v-l.softness)*i,0==o&&(l.bendDirection=h[u+e.PREV_BEND_DIRECTION],l.compress=0!=h[u+e.PREV_COMPRESS],l.stretch=0!=h[u+e.PREV_STRETCH]))}},e}(vt);Tt.ENTRIES=6,Tt.PREV_TIME=-6,Tt.PREV_MIX=-5,Tt.PREV_SOFTNESS=-4,Tt.PREV_BEND_DIRECTION=-3,Tt.PREV_COMPRESS=-2,Tt.PREV_STRETCH=-1,Tt.MIX=1,Tt.SOFTNESS=2,Tt.BEND_DIRECTION=3,Tt.COMPRESS=4,Tt.STRETCH=5;var It=function(t){function e(r){var n;return(n=t.call(this,r)||this).frames=F.newFloatArray(r*e.ENTRIES),n}R(e,t);var r=e.prototype;return r.getPropertyId=function(){return(10<<24)+this.transformConstraintIndex},r.setFrame=function(t,r,n,a,i,s){t*=e.ENTRIES,this.frames[t]=r,this.frames[t+e.ROTATE]=n,this.frames[t+e.TRANSLATE]=a,this.frames[t+e.SCALE]=i,this.frames[t+e.SHEAR]=s},r.apply=function(t,r,n,a,i,s,o){var h=this.frames,l=t.transformConstraints[this.transformConstraintIndex];if(l.active)if(n<h[0]){var u=l.data;switch(s){case 0:return l.rotateMix=u.rotateMix,l.translateMix=u.translateMix,l.scaleMix=u.scaleMix,void(l.shearMix=u.shearMix);case 1:l.rotateMix+=(u.rotateMix-l.rotateMix)*i,l.translateMix+=(u.translateMix-l.translateMix)*i,l.scaleMix+=(u.scaleMix-l.scaleMix)*i,l.shearMix+=(u.shearMix-l.shearMix)*i}}else{var c=0,d=0,f=0,v=0;if(n>=h[h.length-e.ENTRIES]){var p=h.length;c=h[p+e.PREV_ROTATE],d=h[p+e.PREV_TRANSLATE],f=h[p+e.PREV_SCALE],v=h[p+e.PREV_SHEAR]}else{var g=ft.binarySearch(h,n,e.ENTRIES);c=h[g+e.PREV_ROTATE],d=h[g+e.PREV_TRANSLATE],f=h[g+e.PREV_SCALE],v=h[g+e.PREV_SHEAR];var m=h[g],w=this.getCurvePercent(g/e.ENTRIES-1,1-(n-m)/(h[g+e.PREV_TIME]-m));c+=(h[g+e.ROTATE]-c)*w,d+=(h[g+e.TRANSLATE]-d)*w,f+=(h[g+e.SCALE]-f)*w,v+=(h[g+e.SHEAR]-v)*w}if(0==s){var E=l.data;l.rotateMix=E.rotateMix+(c-E.rotateMix)*i,l.translateMix=E.translateMix+(d-E.translateMix)*i,l.scaleMix=E.scaleMix+(f-E.scaleMix)*i,l.shearMix=E.shearMix+(v-E.shearMix)*i}else l.rotateMix+=(c-l.rotateMix)*i,l.translateMix+=(d-l.translateMix)*i,l.scaleMix+=(f-l.scaleMix)*i,l.shearMix+=(v-l.shearMix)*i}},e}(vt);It.ENTRIES=5,It.PREV_TIME=-5,It.PREV_ROTATE=-4,It.PREV_TRANSLATE=-3,It.PREV_SCALE=-2,It.PREV_SHEAR=-1,It.ROTATE=1,It.TRANSLATE=2,It.SCALE=3,It.SHEAR=4;var Rt=function(t){function e(r){var n;return(n=t.call(this,r)||this).frames=F.newFloatArray(r*e.ENTRIES),n}R(e,t);var r=e.prototype;return r.getPropertyId=function(){return(11<<24)+this.pathConstraintIndex},r.setFrame=function(t,r,n){t*=e.ENTRIES,this.frames[t]=r,this.frames[t+e.VALUE]=n},r.apply=function(t,r,n,a,i,s,o){var h=this.frames,l=t.pathConstraints[this.pathConstraintIndex];if(l.active)if(n<h[0])switch(s){case 0:return void(l.position=l.data.position);case 1:l.position+=(l.data.position-l.position)*i}else{var u=0;if(n>=h[h.length-e.ENTRIES])u=h[h.length+e.PREV_VALUE];else{var c=ft.binarySearch(h,n,e.ENTRIES);u=h[c+e.PREV_VALUE];var d=h[c],f=this.getCurvePercent(c/e.ENTRIES-1,1-(n-d)/(h[c+e.PREV_TIME]-d));u+=(h[c+e.VALUE]-u)*f}0==s?l.position=l.data.position+(u-l.data.position)*i:l.position+=(u-l.position)*i}},e}(vt);Rt.ENTRIES=2,Rt.PREV_TIME=-2,Rt.PREV_VALUE=-1,Rt.VALUE=1;var Ct=function(t){function e(e){return t.call(this,e)}R(e,t);var r=e.prototype;return r.getPropertyId=function(){return(12<<24)+this.pathConstraintIndex},r.apply=function(t,r,n,a,i,s,o){var h=this.frames,l=t.pathConstraints[this.pathConstraintIndex];if(l.active)if(n<h[0])switch(s){case 0:return void(l.spacing=l.data.spacing);case 1:l.spacing+=(l.data.spacing-l.spacing)*i}else{var u=0;if(n>=h[h.length-e.ENTRIES])u=h[h.length+e.PREV_VALUE];else{var c=ft.binarySearch(h,n,e.ENTRIES);u=h[c+e.PREV_VALUE];var d=h[c],f=this.getCurvePercent(c/e.ENTRIES-1,1-(n-d)/(h[c+e.PREV_TIME]-d));u+=(h[c+e.VALUE]-u)*f}0==s?l.spacing=l.data.spacing+(u-l.data.spacing)*i:l.spacing+=(u-l.spacing)*i}},e}(Rt),kt=function(t){function e(r){var n;return(n=t.call(this,r)||this).frames=F.newFloatArray(r*e.ENTRIES),n}R(e,t);var r=e.prototype;return r.getPropertyId=function(){return(13<<24)+this.pathConstraintIndex},r.setFrame=function(t,r,n,a){t*=e.ENTRIES,this.frames[t]=r,this.frames[t+e.ROTATE]=n,this.frames[t+e.TRANSLATE]=a},r.apply=function(t,r,n,a,i,s,o){var h=this.frames,l=t.pathConstraints[this.pathConstraintIndex];if(l.active)if(n<h[0])switch(s){case 0:return l.rotateMix=l.data.rotateMix,void(l.translateMix=l.data.translateMix);case 1:l.rotateMix+=(l.data.rotateMix-l.rotateMix)*i,l.translateMix+=(l.data.translateMix-l.translateMix)*i}else{var u=0,c=0;if(n>=h[h.length-e.ENTRIES])u=h[h.length+e.PREV_ROTATE],c=h[h.length+e.PREV_TRANSLATE];else{var d=ft.binarySearch(h,n,e.ENTRIES);u=h[d+e.PREV_ROTATE],c=h[d+e.PREV_TRANSLATE];var f=h[d],v=this.getCurvePercent(d/e.ENTRIES-1,1-(n-f)/(h[d+e.PREV_TIME]-f));u+=(h[d+e.ROTATE]-u)*v,c+=(h[d+e.TRANSLATE]-c)*v}0==s?(l.rotateMix=l.data.rotateMix+(u-l.data.rotateMix)*i,l.translateMix=l.data.translateMix+(c-l.data.translateMix)*i):(l.rotateMix+=(u-l.rotateMix)*i,l.translateMix+=(c-l.translateMix)*i)}},e}(vt);kt.ENTRIES=3,kt.PREV_TIME=-3,kt.PREV_ROTATE=-2,kt.PREV_TRANSLATE=-1,kt.ROTATE=1,kt.TRANSLATE=2;var Vt=function(){function t(t){this.tracks=new Array,this.timeScale=1,this.unkeyedState=0,this.events=new Array,this.listeners=new Array,this.queue=new Ft(this),this.propertyIDs=new V,this.animationsChanged=!1,this.trackEntryPool=new O((function(){return new _t})),this.data=t}var e=t.prototype;return e.update=function(t){t*=this.timeScale;for(var e=this.tracks,r=0,n=e.length;r<n;r++){var a=e[r];if(null!=a){a.animationLast=a.nextAnimationLast,a.trackLast=a.nextTrackLast;var i=t*a.timeScale;if(a.delay>0){if(a.delay-=i,a.delay>0)continue;i=-a.delay,a.delay=0}var s=a.next;if(null!=s){var o=a.trackLast-s.delay;if(o>=0){for(s.delay=0,s.trackTime+=0==a.timeScale?0:(o/a.timeScale+t)*s.timeScale,a.trackTime+=i,this.setCurrent(r,s,!0);null!=s.mixingFrom;)s.mixTime+=t,s=s.mixingFrom;continue}}else if(a.trackLast>=a.trackEnd&&null==a.mixingFrom){e[r]=null,this.queue.end(a),this.disposeNext(a);continue}if(null!=a.mixingFrom&&this.updateMixingFrom(a,t)){var h=a.mixingFrom;for(a.mixingFrom=null,null!=h&&(h.mixingTo=null);null!=h;)this.queue.end(h),h=h.mixingFrom}a.trackTime+=i}}this.queue.drain()},e.updateMixingFrom=function(t,e){var r=t.mixingFrom;if(null==r)return!0;var n=this.updateMixingFrom(r,e);return r.animationLast=r.nextAnimationLast,r.trackLast=r.nextTrackLast,t.mixTime>0&&t.mixTime>=t.mixDuration?(0!=r.totalAlpha&&0!=t.mixDuration||(t.mixingFrom=r.mixingFrom,null!=r.mixingFrom&&(r.mixingFrom.mixingTo=t),t.interruptAlpha=r.interruptAlpha,this.queue.end(r)),n):(r.trackTime+=e*r.timeScale,t.mixTime+=e,!1)},e.apply=function(e){if(null==e)throw new Error("skeleton cannot be null.");this.animationsChanged&&this._animationsChanged();for(var r=this.events,n=this.tracks,a=!1,i=0,s=n.length;i<s;i++){var o=n[i];if(!(null==o||o.delay>0)){a=!0;var h=0==i?rt.first:o.mixBlend,l=o.alpha;null!=o.mixingFrom?l*=this.applyMixingFrom(o,e,h):o.trackTime>=o.trackEnd&&null==o.next&&(l=0);var u=o.animationLast,c=o.getAnimationTime(),d=o.animation.timelines.length,f=o.animation.timelines;if(0==i&&1==l||h==rt.add)for(var v=0;v<d;v++){F.webkit602BugfixHelper(l,h);var p=f[v];k(p,yt)?this.applyAttachmentTimeline(p,e,c,h,!0):p.apply(e,u,c,r,l,h,nt.mixIn)}else{var g=o.timelineMode,m=0==o.timelinesRotation.length;m&&F.setArraySize(o.timelinesRotation,d<<1,null);for(var w=o.timelinesRotation,E=0;E<d;E++){var x=f[E],y=g[E]==t.SUBSEQUENT?h:rt.setup;k(x,pt)?this.applyRotateTimeline(x,e,c,l,y,w,E<<1,m):k(x,yt)?this.applyAttachmentTimeline(x,e,c,h,!0):(F.webkit602BugfixHelper(l,h),x.apply(e,u,c,r,l,y,nt.mixIn))}}this.queueEvents(o,c),r.length=0,o.nextAnimationLast=c,o.nextTrackLast=o.trackTime}}for(var b=this.unkeyedState+t.SETUP,S=e.slots,M=0,A=e.slots.length;M<A;M++){var T=S[M];if(T.attachmentState==b){var I=T.data.attachmentName;T.attachment=null==I?null:e.getAttachment(T.data.index,I)}}return this.unkeyedState+=2,this.queue.drain(),a},e.applyMixingFrom=function(e,r,n){var a=e.mixingFrom;null!=a.mixingFrom&&this.applyMixingFrom(a,r,n);var i=0;0==e.mixDuration?(i=1,n==rt.first&&(n=rt.setup)):((i=e.mixTime/e.mixDuration)>1&&(i=1),n!=rt.first&&(n=a.mixBlend));var s=i<a.eventThreshold?this.events:null,o=i<a.attachmentThreshold,h=i<a.drawOrderThreshold,l=a.animationLast,u=a.getAnimationTime(),c=a.animation.timelines.length,d=a.animation.timelines,f=a.alpha*e.interruptAlpha,v=f*(1-i);if(n==rt.add)for(var p=0;p<c;p++)d[p].apply(r,l,u,s,v,n,nt.mixOut);else{var g=a.timelineMode,m=a.timelineHoldMix,w=0==a.timelinesRotation.length;w&&F.setArraySize(a.timelinesRotation,c<<1,null);var E=a.timelinesRotation;a.totalAlpha=0;for(var x=0;x<c;x++){var y=d[x],b=nt.mixOut,S=void 0,M=0;switch(g[x]){case t.SUBSEQUENT:if(!h&&k(y,At))continue;S=n,M=v;break;case t.FIRST:S=rt.setup,M=v;break;case t.HOLD_SUBSEQUENT:S=n,M=f;break;case t.HOLD_FIRST:S=rt.setup,M=f;break;default:S=rt.setup;var A=m[x];M=f*Math.max(0,1-A.mixTime/A.mixDuration)}a.totalAlpha+=M,k(y,pt)?this.applyRotateTimeline(y,r,u,M,S,E,x<<1,w):k(y,yt)?this.applyAttachmentTimeline(y,r,u,S,o):(F.webkit602BugfixHelper(M,n),h&&k(y,At)&&S==rt.setup&&(b=nt.mixIn),y.apply(r,l,u,s,M,S,b))}}return e.mixDuration>0&&this.queueEvents(a,u),this.events.length=0,a.nextAnimationLast=u,a.nextTrackLast=a.trackTime,i},e.applyAttachmentTimeline=function(e,r,n,a,i){var s=r.slots[e.slotIndex];if(s.bone.active){var o,h=e.frames;if(n<h[0])a!=rt.setup&&a!=rt.first||this.setAttachment(r,s,s.data.attachmentName,i);else o=n>=h[h.length-1]?h.length-1:ft.binarySearch(h,n)-1,this.setAttachment(r,s,e.attachmentNames[o],i);s.attachmentState<=this.unkeyedState&&(s.attachmentState=this.unkeyedState+t.SETUP)}},e.setAttachment=function(e,r,n,a){r.attachment=null==n?null:e.getAttachment(r.data.index,n),a&&(r.attachmentState=this.unkeyedState+t.CURRENT)},e.applyRotateTimeline=function(t,e,r,n,a,i,s,o){if(o&&(i[s]=0),1!=n){var h=t,l=h.frames,u=e.bones[h.boneIndex];if(u.active){var c=0,d=0;if(r<l[0])switch(a){case rt.setup:u.rotation=u.data.rotation;default:return;case rt.first:c=u.rotation,d=u.data.rotation}else if(c=a==rt.setup?u.data.rotation:u.rotation,r>=l[l.length-pt.ENTRIES])d=u.data.rotation+l[l.length+pt.PREV_ROTATION];else{var f=ft.binarySearch(l,r,pt.ENTRIES),v=l[f+pt.PREV_ROTATION],p=l[f],g=h.getCurvePercent((f>>1)-1,1-(r-p)/(l[f+pt.PREV_TIME]-p));d=l[f+pt.ROTATION]-v,d=v+(d-=360*(16384-(16384.499999999996-d/360|0)))*g+u.data.rotation,d-=360*(16384-(16384.499999999996-d/360|0))}var m=0,w=d-c;if(0==(w-=360*(16384-(16384.499999999996-w/360|0))))m=i[s];else{var E=0,x=0;o?(E=0,x=w):(E=i[s],x=i[s+1]);var y=w>0,b=E>=0;_.signum(x)!=_.signum(w)&&Math.abs(x)<=90&&(Math.abs(E)>180&&(E+=360*_.signum(E)),b=y),m=w+E-E%360,b!=y&&(m+=360*_.signum(E)),i[s]=m}i[s+1]=w,c+=m*n,u.rotation=c-360*(16384-(16384.499999999996-c/360|0))}}else t.apply(e,0,r,null,1,a,nt.mixIn)},e.queueEvents=function(t,e){for(var r=t.animationStart,n=t.animationEnd,a=n-r,i=t.trackLast%a,s=this.events,o=0,h=s.length;o<h;o++){var l=s[o];if(l.time<i)break;l.time>n||this.queue.event(t,l)}for((t.loop?0==a||i>t.trackTime%a:e>=n&&t.animationLast<n)&&this.queue.complete(t);o<h;o++){s[o].time<r||this.queue.event(t,s[o])}},e.clearTracks=function(){var t=this.queue.drainDisabled;this.queue.drainDisabled=!0;for(var e=0,r=this.tracks.length;e<r;e++)this.clearTrack(e);this.tracks.length=0,this.queue.drainDisabled=t,this.queue.drain()},e.clearTrack=function(t){if(!(t>=this.tracks.length)){var e=this.tracks[t];if(null!=e){this.queue.end(e),this.disposeNext(e);for(var r=e;;){var n=r.mixingFrom;if(null==n)break;this.queue.end(n),r.mixingFrom=null,r.mixingTo=null,r=n}this.tracks[e.trackIndex]=null,this.queue.drain()}}},e.setCurrent=function(t,e,r){var n=this.expandToIndex(t);this.tracks[t]=e,null!=n&&(r&&this.queue.interrupt(n),e.mixingFrom=n,n.mixingTo=e,e.mixTime=0,null!=n.mixingFrom&&n.mixDuration>0&&(e.interruptAlpha*=Math.min(1,n.mixTime/n.mixDuration)),n.timelinesRotation.length=0),this.queue.start(e)},e.setAnimation=function(t,e,r){var n=this.data.skeletonData.findAnimation(e);if(null==n)throw new Error("Animation not found: "+e);return this.setAnimationWith(t,n,r)},e.setAnimationWith=function(t,e,r){if(null==e)throw new Error("animation cannot be null.");var n=!0,a=this.expandToIndex(t);null!=a&&(-1==a.nextTrackLast?(this.tracks[t]=a.mixingFrom,this.queue.interrupt(a),this.queue.end(a),this.disposeNext(a),a=a.mixingFrom,n=!1):this.disposeNext(a));var i=this.trackEntry(t,e,r,a);return this.setCurrent(t,i,n),this.queue.drain(),i},e.addAnimation=function(t,e,r,n){var a=this.data.skeletonData.findAnimation(e);if(null==a)throw new Error("Animation not found: "+e);return this.addAnimationWith(t,a,r,n)},e.addAnimationWith=function(t,e,r,n){if(null==e)throw new Error("animation cannot be null.");var a=this.expandToIndex(t);if(null!=a)for(;null!=a.next;)a=a.next;var i=this.trackEntry(t,e,r,a);if(null==a)this.setCurrent(t,i,!0),this.queue.drain();else if(a.next=i,n<=0){var s=a.animationEnd-a.animationStart;0!=s?(a.loop?n+=s*(1+(a.trackTime/s|0)):n+=Math.max(s,a.trackTime),n-=this.data.getMix(a.animation,e)):n=a.trackTime}return i.delay=n,i},e.setEmptyAnimation=function(e,r){var n=this.setAnimationWith(e,t.emptyAnimation,!1);return n.mixDuration=r,n.trackEnd=r,n},e.addEmptyAnimation=function(e,r,n){n<=0&&(n-=r);var a=this.addAnimationWith(e,t.emptyAnimation,!1,n);return a.mixDuration=r,a.trackEnd=r,a},e.setEmptyAnimations=function(t){var e=this.queue.drainDisabled;this.queue.drainDisabled=!0;for(var r=0,n=this.tracks.length;r<n;r++){var a=this.tracks[r];null!=a&&this.setEmptyAnimation(a.trackIndex,t)}this.queue.drainDisabled=e,this.queue.drain()},e.expandToIndex=function(t){return t<this.tracks.length?this.tracks[t]:(F.ensureArrayCapacity(this.tracks,t+1,null),this.tracks.length=t+1,null)},e.trackEntry=function(t,e,r,n){var a=this.trackEntryPool.obtain();return a.trackIndex=t,a.animation=e,a.loop=r,a.holdPrevious=!1,a.eventThreshold=0,a.attachmentThreshold=0,a.drawOrderThreshold=0,a.animationStart=0,a.animationEnd=e.duration,a.animationLast=-1,a.nextAnimationLast=-1,a.delay=0,a.trackTime=0,a.trackLast=-1,a.nextTrackLast=-1,a.trackEnd=Number.MAX_VALUE,a.timeScale=1,a.alpha=1,a.interruptAlpha=1,a.mixTime=0,a.mixDuration=null==n?0:this.data.getMix(n.animation,e),a.mixBlend=rt.replace,a},e.disposeNext=function(t){for(var e=t.next;null!=e;)this.queue.dispose(e),e=e.next;t.next=null},e._animationsChanged=function(){this.animationsChanged=!1,this.propertyIDs.clear();for(var t=0,e=this.tracks.length;t<e;t++){var r=this.tracks[t];if(null!=r){for(;null!=r.mixingFrom;)r=r.mixingFrom;do{null!=r.mixingFrom&&r.mixBlend==rt.add||this.computeHold(r),r=r.mixingTo}while(null!=r)}}},e.computeHold=function(e){var r=e.mixingTo,n=e.animation.timelines,a=e.animation.timelines.length,i=F.setArraySize(e.timelineMode,a);e.timelineHoldMix.length=0;var s=F.setArraySize(e.timelineHoldMix,a),o=this.propertyIDs;if(null!=r&&r.holdPrevious)for(var h=0;h<a;h++)i[h]=o.add(n[h].getPropertyId())?t.HOLD_FIRST:t.HOLD_SUBSEQUENT;else t:for(var l=0;l<a;l++){var u=n[l],c=u.getPropertyId();if(o.add(c))if(null==r||k(u,yt)||k(u,At)||k(u,Mt)||!r.animation.hasTimeline(c))i[l]=t.FIRST;else{for(var d=r.mixingTo;null!=d;d=d.mixingTo)if(!d.animation.hasTimeline(c)){if(e.mixDuration>0){i[l]=t.HOLD_MIX,s[l]=d;continue t}break}i[l]=t.HOLD_FIRST}else i[l]=t.SUBSEQUENT}},e.getCurrent=function(t){return t>=this.tracks.length?null:this.tracks[t]},e.addListener=function(t){if(null==t)throw new Error("listener cannot be null.");this.listeners.push(t)},e.removeListener=function(t){var e=this.listeners.indexOf(t);e>=0&&this.listeners.splice(e,1)},e.clearListeners=function(){this.listeners.length=0},e.clearListenerNotifications=function(){this.queue.clear()},t}();Vt.emptyAnimation=new ft("<empty>",[],0),Vt.SUBSEQUENT=0,Vt.FIRST=1,Vt.HOLD_SUBSEQUENT=2,Vt.HOLD_FIRST=3,Vt.HOLD_MIX=4,Vt.SETUP=1,Vt.CURRENT=2;var Pt,_t=function(){function t(){this.mixBlend=rt.replace,this.timelineMode=new Array,this.timelineHoldMix=new Array,this.timelinesRotation=new Array}var e=t.prototype;return e.reset=function(){this.next=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},e.getAnimationTime=function(){if(this.loop){var t=this.animationEnd-this.animationStart;return 0==t?this.animationStart:this.trackTime%t+this.animationStart}return Math.min(this.trackTime+this.animationStart,this.animationEnd)},e.setAnimationLast=function(t){this.animationLast=t,this.nextAnimationLast=t},e.isComplete=function(){return this.trackTime>=this.animationEnd-this.animationStart},e.resetRotationDirections=function(){this.timelinesRotation.length=0},t}(),Ft=function(){function t(t){this.objects=[],this.drainDisabled=!1,this.animState=t}var e=t.prototype;return e.start=function(t){this.objects.push(0),this.objects.push(t),this.animState.animationsChanged=!0},e.interrupt=function(t){this.objects.push(1),this.objects.push(t)},e.end=function(t){this.objects.push(2),this.objects.push(t),this.animState.animationsChanged=!0},e.dispose=function(t){this.objects.push(3),this.objects.push(t)},e.complete=function(t){this.objects.push(4),this.objects.push(t)},e.event=function(t,e){this.objects.push(5),this.objects.push(t),this.objects.push(e)},e.drain=function(){if(!this.drainDisabled){this.drainDisabled=!0;for(var t=this.objects,e=this.animState.listeners,r=0;r<t.length;r+=2){var n=t[r],a=t[r+1];switch(n){case 0:null!=a.listener&&a.listener.start&&a.listener.start(a);for(var i=0;i<e.length;i++)e[i].start&&e[i].start(a);break;case 1:null!=a.listener&&a.listener.interrupt&&a.listener.interrupt(a);for(var s=0;s<e.length;s++)e[s].interrupt&&e[s].interrupt(a);break;case 2:null!=a.listener&&a.listener.end&&a.listener.end(a);for(var o=0;o<e.length;o++)e[o].end&&e[o].end(a);case 3:null!=a.listener&&a.listener.dispose&&a.listener.dispose(a);for(var h=0;h<e.length;h++)e[h].dispose&&e[h].dispose(a);this.animState.trackEntryPool.free(a);break;case 4:null!=a.listener&&a.listener.complete&&a.listener.complete(a);for(var l=0;l<e.length;l++)e[l].complete&&e[l].complete(a);break;case 5:var u=t[2+r++];null!=a.listener&&a.listener.event&&a.listener.event(a,u);for(var c=0;c<e.length;c++)e[c].event&&e[c].event(a,u)}}this.clear(),this.drainDisabled=!1}},e.clear=function(){this.objects.length=0},t}();!function(t){t[t.start=0]="start",t[t.interrupt=1]="interrupt",t[t.end=2]="end",t[t.dispose=3]="dispose",t[t.complete=4]="complete",t[t.event=5]="event"}(Pt||(Pt={}));var Nt=function(){function t(t){if(this.animationToMixTime={},this.defaultMix=0,null==t)throw new Error("skeletonData cannot be null.");this.skeletonData=t}var e=t.prototype;return e.setMix=function(t,e,r){var n=this.skeletonData.findAnimation(t);if(null==n)throw new Error("Animation not found: "+t);var a=this.skeletonData.findAnimation(e);if(null==a)throw new Error("Animation not found: "+e);this.setMixWith(n,a,r)},e.setMixWith=function(t,e,r){if(null==t)throw new Error("from cannot be null.");if(null==e)throw new Error("to cannot be null.");var n=t.name+"."+e.name;this.animationToMixTime[n]=r},e.getMix=function(t,e){var r=t.name+"."+e.name,n=this.animationToMixTime[r];return void 0===n?this.defaultMix:n},t}(),Ot=function(t){function e(e){var r;return(r=t.call(this,e)||this).color=new P(.2275,.2275,.8078,1),r}return R(e,t),e.prototype.copy=function(){var t=new e(this.name);return this.copyTo(t),t.endSlot=this.endSlot,t.color.setFromColor(this.color),t},e}(Z),Lt=function(){function t(){this.convexPolygons=new Array,this.convexPolygonsIndices=new Array,this.indicesArray=new Array,this.isConcaveArray=new Array,this.triangles=new Array,this.polygonPool=new O((function(){return new Array})),this.polygonIndicesPool=new O((function(){return new Array}))}var e=t.prototype;return e.triangulate=function(e){var r=e,n=e.length>>1,a=this.indicesArray;a.length=0;for(var i=0;i<n;i++)a[i]=i;var s=this.isConcaveArray;s.length=0;for(var o=0,h=n;o<h;++o)s[o]=t.isConcave(o,n,r,a);var l=this.triangles;for(l.length=0;n>3;){for(var u=n-1,c=0,d=1;;){t:if(!s[c]){for(var f=a[u]<<1,v=a[c]<<1,p=a[d]<<1,g=r[f],m=r[f+1],w=r[v],E=r[v+1],x=r[p],y=r[p+1],b=(d+1)%n;b!=u;b=(b+1)%n)if(s[b]){var S=a[b]<<1,M=r[S],A=r[S+1];if(t.positiveArea(x,y,g,m,M,A)&&t.positiveArea(g,m,w,E,M,A)&&t.positiveArea(w,E,x,y,M,A))break t}break}if(0==d){do{if(!s[c])break;c--}while(c>0);break}u=c,c=d,d=(d+1)%n}l.push(a[(n+c-1)%n]),l.push(a[c]),l.push(a[(c+1)%n]),a.splice(c,1),s.splice(c,1);var T=(--n+c-1)%n,I=c==n?0:c;s[T]=t.isConcave(T,n,r,a),s[I]=t.isConcave(I,n,r,a)}return 3==n&&(l.push(a[2]),l.push(a[0]),l.push(a[1])),l},e.decompose=function(e,r){var n=e,a=this.convexPolygons;this.polygonPool.freeAll(a),a.length=0;var i=this.convexPolygonsIndices;this.polygonIndicesPool.freeAll(i),i.length=0;var s=this.polygonIndicesPool.obtain();s.length=0;var o=this.polygonPool.obtain();o.length=0;for(var h=-1,l=0,u=0,c=r.length;u<c;u+=3){var d=r[u]<<1,f=r[u+1]<<1,v=r[u+2]<<1,p=n[d],g=n[d+1],m=n[f],w=n[f+1],E=n[v],x=n[v+1],y=!1;if(h==d){var b=o.length-4,S=t.winding(o[b],o[b+1],o[b+2],o[b+3],E,x),M=t.winding(E,x,o[0],o[1],o[2],o[3]);S==l&&M==l&&(o.push(E),o.push(x),s.push(v),y=!0)}y||(o.length>0?(a.push(o),i.push(s)):(this.polygonPool.free(o),this.polygonIndicesPool.free(s)),(o=this.polygonPool.obtain()).length=0,o.push(p),o.push(g),o.push(m),o.push(w),o.push(E),o.push(x),(s=this.polygonIndicesPool.obtain()).length=0,s.push(d),s.push(f),s.push(v),l=t.winding(p,g,m,w,E,x),h=d)}o.length>0&&(a.push(o),i.push(s));for(var A=0,T=a.length;A<T;A++)if(0!=(s=i[A]).length)for(var I=s[0],R=s[s.length-1],C=(o=a[A]).length-4,k=o[C],V=o[C+1],P=o[C+2],_=o[C+3],F=o[0],N=o[1],O=o[2],L=o[3],X=t.winding(k,V,P,_,F,N),B=0;B<T;B++)if(B!=A){var D=i[B];if(3==D.length){var Y=D[0],U=D[1],W=D[2],q=a[B],H=q[q.length-2],j=q[q.length-1];if(Y==I&&U==R){var G=t.winding(k,V,P,_,H,j),z=t.winding(H,j,F,N,O,L);G==X&&z==X&&(q.length=0,D.length=0,o.push(H),o.push(j),s.push(W),k=P,V=_,P=H,_=j,B=0)}}}for(var Z=a.length-1;Z>=0;Z--)0==(o=a[Z]).length&&(a.splice(Z,1),this.polygonPool.free(o),s=i[Z],i.splice(Z,1),this.polygonIndicesPool.free(s));return a},t.isConcave=function(t,e,r,n){var a=n[(e+t-1)%e]<<1,i=n[t]<<1,s=n[(t+1)%e]<<1;return!this.positiveArea(r[a],r[a+1],r[i],r[i+1],r[s],r[s+1])},t.positiveArea=function(t,e,r,n,a,i){return t*(i-n)+r*(e-i)+a*(n-e)>=0},t.winding=function(t,e,r,n,a,i){var s=r-t,o=n-e;return a*o-i*s+s*e-t*o>=0?1:-1},t}(),Xt=function(){function t(){this.triangulator=new Lt,this.clippingPolygon=new Array,this.clipOutput=new Array,this.clippedVertices=new Array,this.clippedTriangles=new Array,this.scratch=new Array}var e=t.prototype;return e.clipStart=function(e,r){if(null!=this.clipAttachment)return 0;this.clipAttachment=r;var n=r.worldVerticesLength,a=F.setArraySize(this.clippingPolygon,n);r.computeWorldVertices(e,0,n,a,0,2);var i=this.clippingPolygon;t.makeClockwise(i);for(var s=this.clippingPolygons=this.triangulator.decompose(i,this.triangulator.triangulate(i)),o=0,h=s.length;o<h;o++){var l=s[o];t.makeClockwise(l),l.push(l[0]),l.push(l[1])}return s.length},e.clipEndWithSlot=function(t){null!=this.clipAttachment&&this.clipAttachment.endSlot==t.data&&this.clipEnd()},e.clipEnd=function(){null!=this.clipAttachment&&(this.clipAttachment=null,this.clippingPolygons=null,this.clippedVertices.length=0,this.clippedTriangles.length=0,this.clippingPolygon.length=0)},e.isClipping=function(){return null!=this.clipAttachment},e.clipTriangles=function(t,e,r,n,a,i,s,o){var h=this.clipOutput,l=this.clippedVertices,u=this.clippedTriangles,c=this.clippingPolygons,d=this.clippingPolygons.length,f=o?12:8,v=0;l.length=0,u.length=0;t:for(var p=0;p<n;p+=3)for(var g=r[p]<<1,m=t[g],w=t[g+1],E=a[g],x=a[g+1],y=t[g=r[p+1]<<1],b=t[g+1],S=a[g],M=a[g+1],A=t[g=r[p+2]<<1],T=t[g+1],I=a[g],R=a[g+1],C=0;C<d;C++){var k=l.length;if(!this.clip(m,w,y,b,A,T,c[C],h)){var V=F.setArraySize(l,k+3*f);V[k]=m,V[k+1]=w,V[k+2]=i.r,V[k+3]=i.g,V[k+4]=i.b,V[k+5]=i.a,o?(V[k+6]=E,V[k+7]=x,V[k+8]=s.r,V[k+9]=s.g,V[k+10]=s.b,V[k+11]=s.a,V[k+12]=y,V[k+13]=b,V[k+14]=i.r,V[k+15]=i.g,V[k+16]=i.b,V[k+17]=i.a,V[k+18]=S,V[k+19]=M,V[k+20]=s.r,V[k+21]=s.g,V[k+22]=s.b,V[k+23]=s.a,V[k+24]=A,V[k+25]=T,V[k+26]=i.r,V[k+27]=i.g,V[k+28]=i.b,V[k+29]=i.a,V[k+30]=I,V[k+31]=R,V[k+32]=s.r,V[k+33]=s.g,V[k+34]=s.b,V[k+35]=s.a):(V[k+6]=E,V[k+7]=x,V[k+8]=y,V[k+9]=b,V[k+10]=i.r,V[k+11]=i.g,V[k+12]=i.b,V[k+13]=i.a,V[k+14]=S,V[k+15]=M,V[k+16]=A,V[k+17]=T,V[k+18]=i.r,V[k+19]=i.g,V[k+20]=i.b,V[k+21]=i.a,V[k+22]=I,V[k+23]=R),k=u.length;var P=F.setArraySize(u,k+3);P[k]=v,P[k+1]=v+1,P[k+2]=v+2,v+=3;continue t}var _=h.length;if(0!=_){for(var N=b-T,O=A-y,L=m-A,X=T-w,B=1/(N*L+O*(w-T)),D=_>>1,Y=this.clipOutput,U=F.setArraySize(l,k+D*f),W=0;W<_;W+=2){var q=Y[W],H=Y[W+1];U[k]=q,U[k+1]=H,U[k+2]=i.r,U[k+3]=i.g,U[k+4]=i.b,U[k+5]=i.a;var j=q-A,G=H-T,z=(N*j+O*G)*B,Z=(X*j+L*G)*B,Q=1-z-Z;U[k+6]=E*z+S*Z+I*Q,U[k+7]=x*z+M*Z+R*Q,o&&(U[k+8]=s.r,U[k+9]=s.g,U[k+10]=s.b,U[k+11]=s.a),k+=f}k=u.length;var J=F.setArraySize(u,k+3*(D-2));D--;for(var K=1;K<D;K++)J[k]=v,J[k+1]=v+K,J[k+2]=v+K+1,k+=3;v+=D+1}}},e.clip=function(t,e,r,n,a,i,s,o){var h=o,l=!1,u=null;s.length%4>=2?(u=o,o=this.scratch):u=this.scratch,u.length=0,u.push(t),u.push(e),u.push(r),u.push(n),u.push(a),u.push(i),u.push(t),u.push(e),o.length=0;for(var c=s,d=s.length-4,f=0;;f+=2){for(var v=c[f],p=c[f+1],g=c[f+2],m=c[f+3],w=v-g,E=p-m,x=u,y=u.length-2,b=o.length,S=0;S<y;S+=2){var M=x[S],A=x[S+1],T=x[S+2],I=x[S+3],R=w*(I-m)-E*(T-g)>0;if(w*(A-m)-E*(M-g)>0){if(R){o.push(T),o.push(I);continue}var C=I-A,k=T-M,V=C*(g-v)-k*(m-p);if(Math.abs(V)>1e-6){var P=(k*(p-A)-C*(v-M))/V;o.push(v+(g-v)*P),o.push(p+(m-p)*P)}else o.push(v),o.push(p)}else if(R){var _=I-A,F=T-M,N=_*(g-v)-F*(m-p);if(Math.abs(N)>1e-6){var O=(F*(p-A)-_*(v-M))/N;o.push(v+(g-v)*O),o.push(p+(m-p)*O)}else o.push(v),o.push(p);o.push(T),o.push(I)}l=!0}if(b==o.length)return h.length=0,!0;if(o.push(o[0]),o.push(o[1]),f==d)break;var L=o;(o=u).length=0,u=L}if(h!=o){h.length=0;for(var X=0,B=o.length-2;X<B;X++)h[X]=o[X]}else h.length=h.length-2;return l},t.makeClockwise=function(t){for(var e=t,r=t.length,n=e[r-2]*e[1]-e[0]*e[r-1],a=0,i=0,s=0,o=0,h=r-3;o<h;o+=2)a=e[o],i=e[o+1],s=e[o+2],n+=a*e[o+3]-s*i;if(!(n<0))for(var l=0,u=r-2,c=r>>1;l<c;l+=2){var d=e[l],f=e[l+1],v=u-l;e[l]=e[v],e[l+1]=e[v+1],e[v]=d,e[v+1]=f}},t}(),Bt=function(){function o(){}var h=o.prototype;return h.initialize=function(o,h){var l=this._mesh=new t(o),u=[new e("POSITION",0,r.Vector3,0),new e("COLOR_0",12,r.Vector4,0),new e("TEXCOORD_0",28,r.Vector2,0)],c=4*Dt.VERTEX_STRIDE,d=c*h,f=new n(o,a.VertexBuffer,d,i.Dynamic),v=new n(o,a.IndexBuffer,2*h,i.Dynamic);this._indexBuffer=v,this._vertexBuffer=f,l.setVertexBufferBinding(f,c),l.setIndexBufferBinding(v,s.UInt16),l.setVertexElements(u),l.addSubMesh(0,h)},h.changeBuffer=function(t,e){var r=4*Dt.VERTEX_STRIDE,o=r*e,h=new n(t,a.VertexBuffer,o,i.Dynamic),l=new n(t,a.IndexBuffer,2*e,i.Dynamic),u=this._mesh;this._indexBuffer=l,this._vertexBuffer=h,u.setVertexBufferBinding(h,r),u.setIndexBufferBinding(l,s.UInt16)},A(o,[{key:"mesh",get:function(){return this._mesh}},{key:"indexBuffer",get:function(){return this._indexBuffer}},{key:"vertexBuffer",get:function(){return this._vertexBuffer}}]),o}(),Dt=function(){function t(t,e){this._clipper=new Xt,this._spineMesh=new Bt,this._needResize=!1,this._subMeshItems=[],this.separateSlots=[],this._engine=t,this._entity=e}var e=t.prototype;return e.initialize=function(e,r){if(e){var n=this._entity.getComponent(o);if(n){this._meshRenderer=n,r&&(this._setting=r);for(var a=e.defaultSkin.attachments,i=0,s=t.QUAD_TRIANGLES.length,h=0,l=a.length;h<l;h++){var u=a[h];for(var c in u){var d=u[c];if(d)if(k(d,K))i+=s;else{if(!k(d,ct))continue;i+=d.triangles.length}}}this._vertexCount=i,this._prepareBufferData(this._vertexCount);var f=this._spineMesh;f.initialize(this._engine,this._vertexCount),n.mesh=f.mesh}else console.warn("You need add MeshRenderer component to entity first")}},e.buildMesh=function(e){var r=this._setting||{},n=r.useClipping,a=void 0===n||n,i=r.zSpacing,s=void 0===i?.01:i,o=0,l=0;this._subMeshItems.length=0;for(var u,c,d=this._meshRenderer,f=e.drawOrder,v=f.length,p=this._clipper,g=this._spineMesh,m=g.mesh,w=this._subMeshItems,E=this._vertices,x=0,y=0,b=0;b<v;b+=1){var S=f[b];if(S.bone.active){var M=S.getAttachment(),A=null,T=null,I=s*b,R=0,C=p.isClipping()?2:t.VERTEX_SIZE;if(k(M,K)){var V=M;A=V.color,E=this._vertices,R=4*C,V.computeWorldVertices(S.bone,E,0,C),u=t.QUAD_TRIANGLES,c=V.uvs,T=V.region.renderObject.texture}else if(k(M,ct)){var P=M;A=P.color,E=this._vertices,(R=(P.worldVerticesLength>>1)*C)>E.length&&(E=this._vertices=new Float32Array(R)),P.computeWorldVertices(S,0,P.worldVerticesLength,E,0,C),u=P.triangles,c=P.uvs,T=P.region.renderObject.texture}else if(k(M,Ot)){if(a){var _=M;p.clipStart(S,_);continue}}else if(a){p.clipEndWithSlot(S);continue}if(null!=T){var F=void 0,N=void 0,O=void 0,L=void 0,X=S.bone.skeleton.color,B=S.color,D=X.a*B.a*A.a,Y=t.tempColor;if(Y.set(X.r*B.r*A.r,X.g*B.g*A.g,X.b*B.b*A.b,D),p.isClipping()){p.clipTriangles(E,R,u,u.length,c,Y,null,!1);var U=p.clippedVertices,W=p.clippedTriangles;F=U,N=U.length,O=W,L=W.length}else{for(var q=E,H=2,j=0,G=R;H<G;H+=C,j+=2)q[H]=Y.r,q[H+1]=Y.g,q[H+2]=Y.b,q[H+3]=Y.a,q[H+4]=c[j],q[H+5]=c[j+1];F=E,N=R,O=u,L=u.length}for(var z=o/t.VERTEX_STRIDE,Z=this._verticesWithZ,Q=o,J=0;J<N;)Z[Q++]=F[J++],Z[Q++]=F[J++],Z[Q++]=I,Z[Q++]=F[J++],Z[Q++]=F[J++],Z[Q++]=F[J++],Z[Q++]=F[J++],Z[Q++]=F[J++],Z[Q++]=F[J++];o=Q;var $=this._indices;for(Q=l,J=0;J<L;Q++,J++)$[Q]=O[J]+z;var tt=S.data.name;if(this.separateSlots.includes(tt)){var et=new h(l,L);if(w.push({name:tt,subMesh:et}),y>0){var rt=new h(x,y);w.push({name:"default",subMesh:rt}),y=0}x=l+L}else y+=L;l+=L;for(var nt=d.getMaterials(),at=nt.length,it=0;it<at;it+=1){var st=nt[it];st.shaderData.getTexture("material_SpineTexture")||st.shaderData.setTexture("material_SpineTexture",T.texture)}}p.clipEndWithSlot(S)}else p.clipEndWithSlot(S)}if(p.clipEnd(),y>0){var ot=new h(x,y);w.push({name:"default",subMesh:ot}),y=0}if(w.sort((function(t,e){return t.subMesh.start-e.subMesh.start})),l>0&&l!==this._vertexCount&&l>this._vertexCount)return this._vertexCount=l,this._prepareBufferData(this._vertexCount),void(this._needResize=!0);m.clearSubMesh();for(var ht=w.length,lt=0;lt<ht;lt+=1)m.addSubMesh(w[lt].subMesh);this._needResize&&(g.vertexBuffer.resize(this._verticesWithZ.byteLength),g.indexBuffer.resize(this._indices.byteLength),this._needResize=!1),g.vertexBuffer.setData(this._verticesWithZ),g.indexBuffer.setData(this._indices)},e.addSeparateSlot=function(t){this.separateSlots.push(t)},e._prepareBufferData=function(e){this._vertices=new Float32Array(e*t.VERTEX_SIZE),this._verticesWithZ=new Float32Array(e*t.VERTEX_STRIDE),this._indices=new Uint16Array(e)},A(t,[{key:"mesh",get:function(){return this._spineMesh.mesh}},{key:"subMeshItems",get:function(){return this._subMeshItems}}]),t}();Dt.QUAD_TRIANGLES=[0,1,2,2,3,0],Dt.VERTEX_SIZE=8,Dt.VERTEX_STRIDE=9,Dt.tempColor=new P;var Yt=function(t){function e(r){var n,a=l.find("galacean-spine-shader")||l.create("galacean-spine-shader",e._spineVS,e._spineFS),i=(n=t.call(this,r,a)||this).renderState,s=i.blendState.targetBlendState;return s.enabled=!0,s.sourceColorBlendFactor=u.SourceAlpha,s.destinationColorBlendFactor=u.OneMinusSourceAlpha,s.sourceAlphaBlendFactor=u.One,s.destinationAlphaBlendFactor=u.OneMinusSourceAlpha,s.colorBlendOperation=s.alphaBlendOperation=c.Add,i.depthState.writeEnabled=!1,i.rasterState.cullMode=d.Off,i.renderQueueType=f.Transparent,n}return R(e,t),e}(v);Yt._spineVS="\n uniform mat4 renderer_MVPMat;\n\n attribute vec3 POSITION;\n attribute vec2 TEXCOORD_0;\n attribute vec4 COLOR_0;\n \n varying vec2 v_uv;\n varying vec4 v_color;\n \n void main()\n {\n gl_Position = renderer_MVPMat * vec4(POSITION, 1.0);\n \n v_uv = TEXCOORD_0;\n v_color = COLOR_0;\n }\n ",Yt._spineFS="\n uniform sampler2D material_SpineTexture;\n\n varying vec2 v_uv;\n varying vec4 v_color;\n \n void main()\n {\n vec4 baseColor = texture2D(material_SpineTexture, v_uv);\n gl_FragColor = baseColor * v_color;\n }\n ";var Ut=function(t){function e(e){var r;return(r=t.call(this,e)||this)._tempOffset=new L,r._tempSize=new L,r._tempArray=[0,0],r.autoUpdate=!0,r.autoUpdateBounds=!1,r._meshGenerator=new Dt(r.engine,e),r}R(e,t);var r=e.prototype;return r.setSkeletonData=function(t,e){t||console.error("SkeletonData is undefined"),this.setting=e,this._skeletonData=t,this._skeleton=new dt(t);var r=new Nt(t);this._state=new Vt(r),this._meshGenerator.initialize(t,this.setting)},r.addSeparateSlot=function(t){this.skeleton||console.error("Skeleton not found!");var r=this.entity.getComponent(o);if(r||console.warn("You need add MeshRenderer component to entity first"),this.skeleton.findSlot(t)){this._meshGenerator.addSeparateSlot(t);var n=e._defaultMaterial.clone(),a=e._defaultMaterial.clone(),i=r.materialCount;r.setMaterial(i,n),r.setMaterial(i+1,a)}else console.warn("Slot: "+t+" not find.")},r.hackSeparateSlotTexture=function(t,e){this._meshGenerator.buildMesh(this._skeleton);var r=this._meshGenerator,n=r.separateSlots,a=r.subMeshItems;if(0!==n.length)if(n.includes(t)){var i=this.entity.getComponent(o),s=a.findIndex((function(e){return e.name===t}));i.getMaterial(s).shaderData.setTexture("material_SpineTexture",e)}else console.warn("Slot "+t+" is not separated. You should use addSeparateSlot to separate it");else console.warn("You need add separate slot")},r.onUpdate=function(t){this.autoUpdate&&this.updateState(t)},r.updateState=function(t){if(this._skeleton&&this.state){var e=this._state,r=this._skeleton;e.update(t),e.apply(r),r.updateWorldTransform(),this.updateGeometry()}},r.updateGeometry=function(){this._skeleton&&(this._meshGenerator.buildMesh(this._skeleton),this.autoUpdateBounds&&this.updateBounds())},r.updateBounds=function(){var t,e=this.entity.getComponent(o).bounds,r=this._tempOffset,n=this._tempSize,a=this._tempArray,i=(null==(t=this.setting)?void 0:t.zSpacing)||.01,s=this._skeleton;s.getBounds(r,n,a);var h=s.drawOrder;e.min.set(r.x,r.y,0),e.max.set(r.x+n.x,r.y+n.y,h.length*i)},r._cloneTo=function(t){t.setSkeletonData(this.skeletonData);var e=T({},this.setting);t.setting=e},r._disposeCurrentSkeleton=function(){this._skeletonData=null,this._skeleton=null,this._state=null},r.onDestroy=function(){this._disposeCurrentSkeleton(),this._meshGenerator=null,this.setting=null},e.getDefaultMaterial=function(t){return this._defaultMaterial||(this._defaultMaterial=new Yt(t),this._defaultMaterial.isGCIgnored=!0),this._defaultMaterial.clone()},A(e,[{key:"skeletonData",get:function(){return this._skeletonData}},{key:"skeleton",get:function(){return this._skeleton}},{key:"state",get:function(){return this._state}},{key:"mesh",get:function(){return this._meshGenerator.mesh}},{key:"scale",set:function(t){this._skeleton&&(this._skeleton.scaleX=t,this._skeleton.scaleY=t)}}]),e}(g);function Wt(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}function qt(t,e){var r="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(r)return(r=r.call(t)).next.bind(r);if(Array.isArray(t)||(r=function(t,e){if(t){if("string"==typeof t)return Wt(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(r):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Wt(t,e):void 0}}(t))||e&&t&&"number"==typeof t.length){r&&(t=r);var n=0;return function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}C([p],Ut.prototype,"_skeletonData",void 0),C([p],Ut.prototype,"_skeleton",void 0),C([p],Ut.prototype,"_state",void 0),C([p],Ut.prototype,"_tempOffset",void 0),C([p],Ut.prototype,"_tempSize",void 0),C([p],Ut.prototype,"_tempArray",void 0),C([p],Ut.prototype,"_meshGenerator",void 0),C([p],Ut.prototype,"setting",void 0);var Ht,jt=function(){function t(t,e){this.assets={},this.errors={},this.toLoad=0,this.loaded=0,this.rawDataUris={},this.pathPrefix=t||"",this.textureLoader=e}var e=t.prototype;return e.downloadText=function(t,e,r){m(t,{type:"text"}).then((function(t){e(t)})).catch((function(t){r(t)}))},e.downloadBinary=function(t,e,r){var n=new XMLHttpRequest;this.rawDataUris[t]&&(t=this.rawDataUris[t]),n.open("GET",t,!0),n.responseType="arraybuffer",n.onload=function(){200==n.status?e(new Uint8Array(n.response)):r(n.status,n.responseText)},n.onerror=function(){r(n.status,n.responseText)},n.send()},e.setRawDataURI=function(t,e){this.rawDataUris[this.pathPrefix+t]=e},e.loadBinary=function(t,e,r){void 0===e&&(e=null),void 0===r&&(r=null);var n=this;t=this.pathPrefix+t,this.toLoad++,this.downloadBinary(t,(function(r){n.assets[t]=r,e&&e(t,r),n.onLoad(),n.loaded++}),(function(e,a){n.errors[t]="Couldn't load binary "+t+": status "+status+", "+a,r&&r("Couldn't load binary "+t+": status "+status+", "+a),n.onLoad(),n.loaded++}))},e.loadText=function(t,e,r){void 0===e&&(e=null),void 0===r&&(r=null);var n=this;t=this.pathPrefix+t,this.toLoad++,this.downloadText(t,(function(r){n.assets[t]=r,e&&e(t,r),n.onLoad(),n.loaded++}),(function(e){n.errors[t]="Couldn't load text "+t+": "+JSON.stringify(e),r&&r("Couldn't load text "+t+": "+JSON.stringify(e)),n.onLoad(),n.loaded++}))},e.loadImage=function(t,e,r){void 0===e&&(e=null),void 0===r&&(r=null);var n=this,a=t=this.pathPrefix+t;this.toLoad++;var i=new Image;i.crossOrigin="anonymous",i.onload=function(r){n.assets[a]=i,n.onLoad(),n.loaded++,e&&e(t,i)},i.onerror=function(e){n.errors[t]="Couldn't load image "+t,n.onLoad(),n.loaded++,r&&r("Couldn't load image "+t)},this.rawDataUris[t]&&(t=this.rawDataUris[t]),i.src=t},e.loadTexture=function(t,e,r){void 0===e&&(e=null),void 0===r&&(r=null);var n=this,a=t=this.pathPrefix+t;this.toLoad++,this.rawDataUris[t]&&(t=this.rawDataUris[t]),m(t,{type:"image"}).then((function(r){var i=n.textureLoader(r);n.assets[a]=i,n.onLoad(),n.loaded++,e&&e(t,i)})).catch((function(t){r(t)}))},e.loadTextureAtlas=function(t,e,r){void 0===e&&(e=null),void 0===r&&(r=null);var n=this,a=t.lastIndexOf("/")>=0?t.substring(0,t.lastIndexOf("/")):"";t=this.pathPrefix+t,this.toLoad++,this.downloadText(t,(function(i){var s=function(){var s=u.value,l=!1;n.loadTexture(s,(function(s,u){if(o.count++,o.count==h.length)if(l)n.errors[t]="Couldn't load texture atlas page "+s+"} of atlas "+t,r&&r("Couldn't load texture atlas page "+s+" of atlas "+t),n.onLoad(),n.loaded++;else try{var c=new ot(i,(function(t){return n.get(""==a?t:a+"/"+t)}));n.assets[t]=c,e&&e(t,c),n.onLoad(),n.loaded++}catch(e){var d=e;n.errors[t]="Couldn't load texture atlas "+t+": "+d.message,r&&r("Couldn't load texture atlas "+t+": "+d.message),n.onLoad(),n.loaded++}}),(function(e){l=!0,o.count++,o.count==h.length&&(n.errors[t]="Couldn't load texture atlas page "+e+"} of atlas "+t,r&&r("Couldn't load texture atlas page "+e+" of atlas "+t),n.onLoad(),n.loaded++)}))},o={count:0},h=new Array;try{new ot(i,(function(t){h.push(""==a?t:a+"/"+t);var e=document.createElement("img");return e.width=16,e.height=16,new st(e)}))}catch(e){var l=e;return n.errors[t]="Couldn't load texture atlas "+t+": "+l.message,r&&r("Couldn't load texture atlas "+t+": "+l.message),n.onLoad(),void n.loaded++}for(var u,c=qt(h);!(u=c()).done;)s()}),(function(e){n.errors[t]="Couldn't load texture atlas "+t+": "+JSON.stringify(e),r&&r("Couldn't load texture atlas "+t+": "+JSON.stringify(e)),n.onLoad(),n.loaded++}))},e.get=function(t){return t=this.pathPrefix+t,this.assets[t]},e.remove=function(t){t=this.pathPrefix+t;var e=this.assets[t];e.dispose&&e.dispose(),this.assets[t]=null},e.removeAll=function(){for(var t in this.assets){var e=this.assets[t];e.dispose&&e.dispose()}this.assets={}},e.isLoadingComplete=function(){return 0==this.toLoad},e.onLoad=function(){this.toLoad--,0===this.toLoad&&this.onLoadComplete()},e.getToLoad=function(){return this.toLoad},e.getLoaded=function(){return this.loaded},e.dispose=function(){this.removeAll()},e.hasErrors=function(){return Object.keys(this.errors).length>0},e.getErrors=function(){return this.errors},t}(),Gt=function(t){function e(e){var r;return(r=t.call(this,e)||this).color=new P(1,1,1,1),r}return R(e,t),e.prototype.copy=function(){var t=new e(this.name);return this.copyTo(t),t.color.setFromColor(this.color),t},e}(Z),zt=function(t){function e(e){var r;return(r=t.call(this,e)||this).color=new P(.38,.94,0,1),r.name=e,r}R(e,t);var r=e.prototype;return r.computeWorldPosition=function(t,e){return e.x=this.x*t.a+this.y*t.b+t.worldX,e.y=this.x*t.c+this.y*t.d+t.worldY,e},r.computeWorldRotation=function(t){var e=_.cosDeg(this.rotation),r=_.sinDeg(this.rotation),n=e*t.a+r*t.b,a=e*t.c+r*t.d;return Math.atan2(a,n)*_.radDeg},r.copy=function(){var t=new e(this.name);return t.x=this.x,t.y=this.y,t.rotation=this.rotation,t.color.setFromColor(this.color),t},e}(Z),Zt=function(){function t(t){this.atlas=t}var e=t.prototype;return e.newRegionAttachment=function(t,e,r){var n=this.atlas.findRegion(r);if(null==n)throw new Error("Region not found in atlas: "+r+" (region attachment: "+e+")");n.renderObject=n;var a=new K(e);return a.setRegion(n),a},e.newMeshAttachment=function(t,e,r){var n=this.atlas.findRegion(r);if(null==n)throw new Error("Region not found in atlas: "+r+" (mesh attachment: "+e+")");n.renderObject=n;var a=new ct(e);return a.region=n,a},e.newBoundingBoxAttachment=function(t,e){return new Gt(e)},e.newPathAttachment=function(t,e){return new Q(e)},e.newPointAttachment=function(t,e){return new zt(e)},e.newClippingAttachment=function(t,e){return new Ot(e)},t}(),Qt=function(){function t(){this.bones=new Array,this.slots=new Array,this.skins=new Array,this.events=new Array,this.animations=new Array,this.ikConstraints=new Array,this.transformConstraints=new Array,this.pathConstraints=new Array,this.fps=0}var e=t.prototype;return e.findBone=function(t){if(null==t)throw new Error("boneName cannot be null.");for(var e=this.bones,r=0,n=e.length;r<n;r++){var a=e[r];if(a.name==t)return a}return null},e.findBoneIndex=function(t){if(null==t)throw new Error("boneName cannot be null.");for(var e=this.bones,r=0,n=e.length;r<n;r++)if(e[r].name==t)return r;return-1},e.findSlot=function(t){if(null==t)throw new Error("slotName cannot be null.");for(var e=this.slots,r=0,n=e.length;r<n;r++){var a=e[r];if(a.name==t)return a}return null},e.findSlotIndex=function(t){if(null==t)throw new Error("slotName cannot be null.");for(var e=this.slots,r=0,n=e.length;r<n;r++)if(e[r].name==t)return r;return-1},e.findSkin=function(t){if(null==t)throw new Error("skinName cannot be null.");for(var e=this.skins,r=0,n=e.length;r<n;r++){var a=e[r];if(a.name==t)return a}return null},e.findEvent=function(t){if(null==t)throw new Error("eventDataName cannot be null.");for(var e=this.events,r=0,n=e.length;r<n;r++){var a=e[r];if(a.name==t)return a}return null},e.findAnimation=function(t){if(null==t)throw new Error("animationName cannot be null.");for(var e=this.animations,r=0,n=e.length;r<n;r++){var a=e[r];if(a.name==t)return a}return null},e.findIkConstraint=function(t){if(null==t)throw new Error("constraintName cannot be null.");for(var e=this.ikConstraints,r=0,n=e.length;r<n;r++){var a=e[r];if(a.name==t)return a}return null},e.findTransformConstraint=function(t){if(null==t)throw new Error("constraintName cannot be null.");for(var e=this.transformConstraints,r=0,n=e.length;r<n;r++){var a=e[r];if(a.name==t)return a}return null},e.findPathConstraint=function(t){if(null==t)throw new Error("constraintName cannot be null.");for(var e=this.pathConstraints,r=0,n=e.length;r<n;r++){var a=e[r];if(a.name==t)return a}return null},e.findPathConstraintIndex=function(t){if(null==t)throw new Error("pathConstraintName cannot be null.");for(var e=this.pathConstraints,r=0,n=e.length;r<n;r++)if(e[r].name==t)return r;return-1},t}(),Jt=function(t,e,r){if(this.color=new P(1,1,1,1),t<0)throw new Error("index must be >= 0.");if(null==e)throw new Error("name cannot be null.");if(null==r)throw new Error("boneData cannot be null.");this.index=t,this.name=e,this.boneData=r},Kt=function(t){function e(e){var r;return(r=t.call(this,e,0,!1)||this).bones=new Array,r.bendDirection=1,r.compress=!1,r.stretch=!1,r.uniform=!1,r.mix=1,r.softness=0,r}return R(e,t),e}(j),$t=function(t){function e(e){var r;return(r=t.call(this,e,0,!1)||this).bones=new Array,r.rotateMix=0,r.translateMix=0,r.scaleMix=0,r.shearMix=0,r.offsetRotation=0,r.offsetX=0,r.offsetY=0,r.offsetScaleX=0,r.offsetScaleY=0,r.offsetShearY=0,r.relative=!1,r.local=!1,r}return R(e,t),e}(j),te=function(t,e,r){this.slotIndex=t,this.name=e,this.attachment=r},ee=function(){function t(t){if(this.attachments=new Array,this.bones=Array(),this.constraints=new Array,null==t)throw new Error("name cannot be null.");this.name=t}var e=t.prototype;return e.setAttachment=function(t,e,r){if(null==r)throw new Error("attachment cannot be null.");var n=this.attachments;t>=n.length&&(n.length=t+1),n[t]||(n[t]={}),n[t][e]=r},e.addSkin=function(t){for(var e=0;e<t.bones.length;e++){for(var r=t.bones[e],n=!1,a=0;a<this.bones.length;a++)if(this.bones[a]==r){n=!0;break}n||this.bones.push(r)}for(var i=0;i<t.constraints.length;i++){for(var s=t.constraints[i],o=!1,h=0;h<this.constraints.length;h++)if(this.constraints[h]==s){o=!0;break}o||this.constraints.push(s)}for(var l=t.getAttachments(),u=0;u<l.length;u++){var c=l[u];this.setAttachment(c.slotIndex,c.name,c.attachment)}},e.copySkin=function(t){for(var e=0;e<t.bones.length;e++){for(var r=t.bones[e],n=!1,a=0;a<this.bones.length;a++)if(this.bones[a]==r){n=!0;break}n||this.bones.push(r)}for(var i=0;i<t.constraints.length;i++){for(var s=t.constraints[i],o=!1,h=0;h<this.constraints.length;h++)if(this.constraints[h]==s){o=!0;break}o||this.constraints.push(s)}for(var l=t.getAttachments(),u=0;u<l.length;u++){var c=l[u];null!=c.attachment&&(k(c.attachment,ct)?(c.attachment=c.attachment.newLinkedMesh(),this.setAttachment(c.slotIndex,c.name,c.attachment)):(c.attachment=c.attachment.copy(),this.setAttachment(c.slotIndex,c.name,c.attachment)))}},e.getAttachment=function(t,e){var r=this.attachments[t];return r?r[e]:null},e.removeAttachment=function(t,e){var r=this.attachments[t];r&&(r[e]=null)},e.getAttachments=function(){for(var t=new Array,e=0;e<this.attachments.length;e++){var r=this.attachments[e];if(r)for(var n in r){var a=r[n];a&&t.push(new te(e,n,a))}}return t},e.getAttachmentsForSlot=function(t,e){var r=this.attachments[t];if(r)for(var n in r){var a=r[n];a&&e.push(new te(t,n,a))}},e.clear=function(){this.attachments.length=0,this.bones.length=0,this.constraints.length=0},e.attachAll=function(t,e){for(var r=0,n=0;n<t.slots.length;n++){var a=t.slots[n],i=a.getAttachment();if(i&&r<e.attachments.length){var s=e.attachments[r];for(var o in s){if(i==s[o]){var h=this.getAttachment(r,o);null!=h&&a.setAttachment(h);break}}}r++}},t}(),re=function(t){this.name=t};!function(t){t[t.Normal=0]="Normal",t[t.Additive=1]="Additive",t[t.Multiply=2]="Multiply",t[t.Screen=3]="Screen"}(Ht||(Ht={}));var ne,ae=function(t,e){if(null==e)throw new Error("data cannot be null.");this.time=t,this.data=e},ie=function(){function t(t){this.scale=1,this.linkedMeshes=new Array,this.attachmentLoader=t}var e=t.prototype;return e.readSkeletonData=function(e){var r=this.scale,n=new Qt,a="string"==typeof e?JSON.parse(e):e,i=a.skeleton;if(null!=i){if(n.hash=i.hash,n.version=i.spine,"3.8.75"==n.version)throw new Error("Unsupported skeleton data, please export with a newer version of Spine.");n.x=i.x,n.y=i.y,n.width=i.width,n.height=i.height,n.fps=i.fps,n.imagesPath=i.images}if(a.bones)for(var s=0;s<a.bones.length;s++){var o=a.bones[s],h=null,l=this.getValue(o,"parent",null);if(null!=l&&null==(h=n.findBone(l)))throw new Error("Parent bone not found: "+l);var u=new X(n.bones.length,o.name,h);u.length=this.getValue(o,"length",0)*r,u.x=this.getValue(o,"x",0)*r,u.y=this.getValue(o,"y",0)*r,u.rotation=this.getValue(o,"rotation",0),u.scaleX=this.getValue(o,"scaleX",1),u.scaleY=this.getValue(o,"scaleY",1),u.shearX=this.getValue(o,"shearX",0),u.shearY=this.getValue(o,"shearY",0),u.transformMode=t.transformModeFromString(this.getValue(o,"transform","normal")),u.skinRequired=this.getValue(o,"skin",!1),n.bones.push(u)}if(a.slots)for(var c=0;c<a.slots.length;c++){var d=a.slots[c],f=d.name,v=d.bone,p=n.findBone(v);if(null==p)throw new Error("Slot bone not found: "+v);var g=new Jt(n.slots.length,f,p),m=this.getValue(d,"color",null);null!=m&&g.color.setFromString(m);var w=this.getValue(d,"dark",null);null!=w&&(g.darkColor=new P(1,1,1,1),g.darkColor.setFromString(w)),g.attachmentName=this.getValue(d,"attachment",null),g.blendMode=t.blendModeFromString(this.getValue(d,"blend","normal")),n.slots.push(g)}if(a.ik)for(var E=0;E<a.ik.length;E++){var x=a.ik[E],y=new Kt(x.name);y.order=this.getValue(x,"order",0),y.skinRequired=this.getValue(x,"skin",!1);for(var b=0;b<x.bones.length;b++){var S=x.bones[b],M=n.findBone(S);if(null==M)throw new Error("IK bone not found: "+S);y.bones.push(M)}var A=x.target;if(y.target=n.findBone(A),null==y.target)throw new Error("IK target bone not found: "+A);y.mix=this.getValue(x,"mix",1),y.softness=this.getValue(x,"softness",0)*r,y.bendDirection=this.getValue(x,"bendPositive",!0)?1:-1,y.compress=this.getValue(x,"compress",!1),y.stretch=this.getValue(x,"stretch",!1),y.uniform=this.getValue(x,"uniform",!1),n.ikConstraints.push(y)}if(a.transform)for(var T=0;T<a.transform.length;T++){var I=a.transform[T],R=new $t(I.name);R.order=this.getValue(I,"order",0),R.skinRequired=this.getValue(I,"skin",!1);for(var C=0;C<I.bones.length;C++){var k=I.bones[C],V=n.findBone(k);if(null==V)throw new Error("Transform constraint bone not found: "+k);R.bones.push(V)}var _=I.target;if(R.target=n.findBone(_),null==R.target)throw new Error("Transform constraint target bone not found: "+_);R.local=this.getValue(I,"local",!1),R.relative=this.getValue(I,"relative",!1),R.offsetRotation=this.getValue(I,"rotation",0),R.offsetX=this.getValue(I,"x",0)*r,R.offsetY=this.getValue(I,"y",0)*r,R.offsetScaleX=this.getValue(I,"scaleX",0),R.offsetScaleY=this.getValue(I,"scaleY",0),R.offsetShearY=this.getValue(I,"shearY",0),R.rotateMix=this.getValue(I,"rotateMix",1),R.translateMix=this.getValue(I,"translateMix",1),R.scaleMix=this.getValue(I,"scaleMix",1),R.shearMix=this.getValue(I,"shearMix",1),n.transformConstraints.push(R)}if(a.path)for(var F=0;F<a.path.length;F++){var N=a.path[F],O=new G(N.name);O.order=this.getValue(N,"order",0),O.skinRequired=this.getValue(N,"skin",!1);for(var L=0;L<N.bones.length;L++){var Y=N.bones[L],U=n.findBone(Y);if(null==U)throw new Error("Transform constraint bone not found: "+Y);O.bones.push(U)}var W=N.target;if(O.target=n.findSlot(W),null==O.target)throw new Error("Path target slot not found: "+W);O.positionMode=t.positionModeFromString(this.getValue(N,"positionMode","percent")),O.spacingMode=t.spacingModeFromString(this.getValue(N,"spacingMode","length")),O.rotateMode=t.rotateModeFromString(this.getValue(N,"rotateMode","tangent")),O.offsetRotation=this.getValue(N,"rotation",0),O.position=this.getValue(N,"position",0),O.positionMode==B.Fixed&&(O.position*=r),O.spacing=this.getValue(N,"spacing",0),O.spacingMode!=D.Length&&O.spacingMode!=D.Fixed||(O.spacing*=r),O.rotateMix=this.getValue(N,"rotateMix",1),O.translateMix=this.getValue(N,"translateMix",1),n.pathConstraints.push(O)}if(a.skins)for(var q=0;q<a.skins.length;q++){var H=a.skins[q],j=new ee(H.name);if(H.bones)for(var z=0;z<H.bones.length;z++){var Z=n.findBone(H.bones[z]);if(null==Z)throw new Error("Skin bone not found: "+H.bones[q]);j.bones.push(Z)}if(H.ik)for(var Q=0;Q<H.ik.length;Q++){var J=n.findIkConstraint(H.ik[Q]);if(null==J)throw new Error("Skin IK constraint not found: "+H.ik[q]);j.constraints.push(J)}if(H.transform)for(var K=0;K<H.transform.length;K++){var $=n.findTransformConstraint(H.transform[K]);if(null==$)throw new Error("Skin transform constraint not found: "+H.transform[q]);j.constraints.push($)}if(H.path)for(var tt=0;tt<H.path.length;tt++){var et=n.findPathConstraint(H.path[tt]);if(null==et)throw new Error("Skin path constraint not found: "+H.path[q]);j.constraints.push(et)}for(var rt in H.attachments){var nt=n.findSlot(rt);if(null==nt)throw new Error("Slot not found: "+rt);var at=H.attachments[rt];for(var it in at){var st=this.readAttachment(at[it],j,nt.index,it,n);null!=st&&j.setAttachment(nt.index,it,st)}}n.skins.push(j),"default"==j.name&&(n.defaultSkin=j)}for(var ot=0,ht=this.linkedMeshes.length;ot<ht;ot++){var lt=this.linkedMeshes[ot],ut=null==lt.skin?n.defaultSkin:n.findSkin(lt.skin);if(null==ut)throw new Error("Skin not found: "+lt.skin);var ct=ut.getAttachment(lt.slotIndex,lt.parent);if(null==ct)throw new Error("Parent mesh not found: "+lt.parent);lt.mesh.deformAttachment=lt.inheritDeform?ct:lt.mesh,lt.mesh.setParentMesh(ct),lt.mesh.updateUVs()}if(this.linkedMeshes.length=0,a.events)for(var dt in a.events){var ft=a.events[dt],vt=new re(dt);vt.intValue=this.getValue(ft,"int",0),vt.floatValue=this.getValue(ft,"float",0),vt.stringValue=this.getValue(ft,"string",""),vt.audioPath=this.getValue(ft,"audio",null),null!=vt.audioPath&&(vt.volume=this.getValue(ft,"volume",1),vt.balance=this.getValue(ft,"balance",0)),n.events.push(vt)}if(a.animations)for(var pt in a.animations){var gt=a.animations[pt];this.readAnimation(gt,pt,n)}return n},e.readAttachment=function(t,e,r,n,a){var i=this.scale;switch(n=this.getValue(t,"name",n),this.getValue(t,"type","region")){case"region":var s=this.getValue(t,"path",n),o=this.attachmentLoader.newRegionAttachment(e,n,s);if(null==o)return null;o.path=s,o.x=this.getValue(t,"x",0)*i,o.y=this.getValue(t,"y",0)*i,o.scaleX=this.getValue(t,"scaleX",1),o.scaleY=this.getValue(t,"scaleY",1),o.rotation=this.getValue(t,"rotation",0),o.width=t.width*i,o.height=t.height*i;var h=this.getValue(t,"color",null);return null!=h&&o.color.setFromString(h),o.updateOffset(),o;case"boundingbox":var l=this.attachmentLoader.newBoundingBoxAttachment(e,n);if(null==l)return null;this.readVertices(t,l,t.vertexCount<<1);var u=this.getValue(t,"color",null);return null!=u&&l.color.setFromString(u),l;case"mesh":case"linkedmesh":var c=this.getValue(t,"path",n),d=this.attachmentLoader.newMeshAttachment(e,n,c);if(null==d)return null;d.path=c;var f=this.getValue(t,"color",null);null!=f&&d.color.setFromString(f),d.width=this.getValue(t,"width",0)*i,d.height=this.getValue(t,"height",0)*i;var v=this.getValue(t,"parent",null);if(null!=v)return this.linkedMeshes.push(new se(d,this.getValue(t,"skin",null),r,v,this.getValue(t,"deform",!0))),d;var p=t.uvs;return this.readVertices(t,d,p.length),d.triangles=t.triangles,d.regionUVs=p,d.updateUVs(),d.edges=this.getValue(t,"edges",null),d.hullLength=2*this.getValue(t,"hull",0),d;case"path":var g=this.attachmentLoader.newPathAttachment(e,n);if(null==g)return null;g.closed=this.getValue(t,"closed",!1),g.constantSpeed=this.getValue(t,"constantSpeed",!0);var m=t.vertexCount;this.readVertices(t,g,m<<1);for(var w=F.newArray(m/3,0),E=0;E<t.lengths.length;E++)w[E]=t.lengths[E]*i;g.lengths=w;var x=this.getValue(t,"color",null);return null!=x&&g.color.setFromString(x),g;case"point":var y=this.attachmentLoader.newPointAttachment(e,n);if(null==y)return null;y.x=this.getValue(t,"x",0)*i,y.y=this.getValue(t,"y",0)*i,y.rotation=this.getValue(t,"rotation",0);var b=this.getValue(t,"color",null);return null!=b&&y.color.setFromString(b),y;case"clipping":var S=this.attachmentLoader.newClippingAttachment(e,n);if(null==S)return null;var M=this.getValue(t,"end",null);if(null!=M){var A=a.findSlot(M);if(null==A)throw new Error("Clipping end slot not found: "+M);S.endSlot=A}var T=t.vertexCount;this.readVertices(t,S,T<<1);var I=this.getValue(t,"color",null);return null!=I&&S.color.setFromString(I),S}return null},e.readVertices=function(t,e,r){var n=this.scale;e.worldVerticesLength=r;var a=t.vertices;if(r!=a.length){for(var i=new Array,s=new Array,o=0,h=a.length;o<h;){var l=a[o++];s.push(l);for(var u=o+4*l;o<u;o+=4)s.push(a[o]),i.push(a[o+1]*n),i.push(a[o+2]*n),i.push(a[o+3])}e.bones=s,e.vertices=F.toFloatArray(i)}else{var c=F.toFloatArray(a);if(1!=n)for(var d=0,f=a.length;d<f;d++)c[d]*=n;e.vertices=c}},e.readAnimation=function(t,e,r){var n=this.scale,a=new Array,i=0;if(t.slots)for(var s in t.slots){var o=t.slots[s],h=r.findSlotIndex(s);if(-1==h)throw new Error("Slot not found: "+s);for(var l in o){var u=o[l];if("attachment"==l){var c=new yt(u.length);c.slotIndex=h;for(var d=0,f=0;f<u.length;f++){var v=u[f];c.setFrame(d++,this.getValue(v,"time",0),v.name)}a.push(c),i=Math.max(i,c.frames[c.getFrameCount()-1])}else if("color"==l){var p=new Et(u.length);p.slotIndex=h;for(var g=0,m=0;m<u.length;m++){var w=u[m],E=new P;E.setFromString(w.color),p.setFrame(g,this.getValue(w,"time",0),E.r,E.g,E.b,E.a),this.readCurve(w,p,g),g++}a.push(p),i=Math.max(i,p.frames[(p.getFrameCount()-1)*Et.ENTRIES])}else{if("twoColor"!=l)throw new Error("Invalid timeline type for a slot: "+l+" ("+s+")");var x=new xt(u.length);x.slotIndex=h;for(var y=0,b=0;b<u.length;b++){var S=u[b],M=new P,A=new P;M.setFromString(S.light),A.setFromString(S.dark),x.setFrame(y,this.getValue(S,"time",0),M.r,M.g,M.b,M.a,A.r,A.g,A.b),this.readCurve(S,x,y),y++}a.push(x),i=Math.max(i,x.frames[(x.getFrameCount()-1)*xt.ENTRIES])}}}if(t.bones)for(var T in t.bones){var I=t.bones[T],R=r.findBoneIndex(T);if(-1==R)throw new Error("Bone not found: "+T);for(var C in I){var k=I[C];if("rotate"===C){var V=new pt(k.length);V.boneIndex=R;for(var _=0,N=0;N<k.length;N++){var O=k[N];V.setFrame(_,this.getValue(O,"time",0),this.getValue(O,"angle",0)),this.readCurve(O,V,_),_++}a.push(V),i=Math.max(i,V.frames[(V.getFrameCount()-1)*pt.ENTRIES])}else{if("translate"!==C&&"scale"!==C&&"shear"!==C)throw new Error("Invalid timeline type for a bone: "+C+" ("+T+")");var L=null,X=1,Y=0;"scale"===C?(L=new mt(k.length),Y=1):"shear"===C?L=new wt(k.length):(L=new gt(k.length),X=n),L.boneIndex=R;for(var U=0,W=0;W<k.length;W++){var q=k[W],H=this.getValue(q,"x",Y),j=this.getValue(q,"y",Y);L.setFrame(U,this.getValue(q,"time",0),H*X,j*X),this.readCurve(q,L,U),U++}a.push(L),i=Math.max(i,L.frames[(L.getFrameCount()-1)*gt.ENTRIES])}}}if(t.ik)for(var G in t.ik){var z=t.ik[G],Z=r.findIkConstraint(G),Q=new Tt(z.length);Q.ikConstraintIndex=r.ikConstraints.indexOf(Z);for(var J=0,K=0;K<z.length;K++){var $=z[K];Q.setFrame(J,this.getValue($,"time",0),this.getValue($,"mix",1),this.getValue($,"softness",0)*n,this.getValue($,"bendPositive",!0)?1:-1,this.getValue($,"compress",!1),this.getValue($,"stretch",!1)),this.readCurve($,Q,J),J++}a.push(Q),i=Math.max(i,Q.frames[(Q.getFrameCount()-1)*Tt.ENTRIES])}if(t.transform)for(var tt in t.transform){var et=t.transform[tt],rt=r.findTransformConstraint(tt),nt=new It(et.length);nt.transformConstraintIndex=r.transformConstraints.indexOf(rt);for(var at=0,it=0;it<et.length;it++){var st=et[it];nt.setFrame(at,this.getValue(st,"time",0),this.getValue(st,"rotateMix",1),this.getValue(st,"translateMix",1),this.getValue(st,"scaleMix",1),this.getValue(st,"shearMix",1)),this.readCurve(st,nt,at),at++}a.push(nt),i=Math.max(i,nt.frames[(nt.getFrameCount()-1)*It.ENTRIES])}if(t.path)for(var ot in t.path){var ht=t.path[ot],lt=r.findPathConstraintIndex(ot);if(-1==lt)throw new Error("Path constraint not found: "+ot);var ut=r.pathConstraints[lt];for(var ct in ht){var dt=ht[ct];if("position"===ct||"spacing"===ct){var vt=null,bt=1;"spacing"===ct?(vt=new Ct(dt.length),ut.spacingMode!=D.Length&&ut.spacingMode!=D.Fixed||(bt=n)):(vt=new Rt(dt.length),ut.positionMode==B.Fixed&&(bt=n)),vt.pathConstraintIndex=lt;for(var Vt=0,Pt=0;Pt<dt.length;Pt++){var _t=dt[Pt];vt.setFrame(Vt,this.getValue(_t,"time",0),this.getValue(_t,ct,0)*bt),this.readCurve(_t,vt,Vt),Vt++}a.push(vt),i=Math.max(i,vt.frames[(vt.getFrameCount()-1)*Rt.ENTRIES])}else if("mix"===ct){var Ft=new kt(dt.length);Ft.pathConstraintIndex=lt;for(var Nt=0,Ot=0;Ot<dt.length;Ot++){var Lt=dt[Ot];Ft.setFrame(Nt,this.getValue(Lt,"time",0),this.getValue(Lt,"rotateMix",1),this.getValue(Lt,"translateMix",1)),this.readCurve(Lt,Ft,Nt),Nt++}a.push(Ft),i=Math.max(i,Ft.frames[(Ft.getFrameCount()-1)*kt.ENTRIES])}}}if(t.deform)for(var Xt in t.deform){var Bt=t.deform[Xt],Dt=r.findSkin(Xt);if(null==Dt)throw new Error("Skin not found: "+Xt);for(var Yt in Bt){var Ut=Bt[Yt],Wt=r.findSlotIndex(Yt);if(-1==Wt)throw new Error("Slot not found: "+Ut.name);for(var qt in Ut){var Ht=Ut[qt],jt=Dt.getAttachment(Wt,qt);if(null==jt)throw new Error("Deform attachment not found: "+Ht.name);var Gt=null!=jt.bones,zt=jt.vertices,Zt=Gt?zt.length/3*2:zt.length,Qt=new St(Ht.length);Qt.slotIndex=Wt,Qt.attachment=jt;for(var Jt=0,Kt=0;Kt<Ht.length;Kt++){var $t=Ht[Kt],te=void 0,ee=this.getValue($t,"vertices",null);if(null==ee)te=Gt?F.newFloatArray(Zt):zt;else{te=F.newFloatArray(Zt);var re=this.getValue($t,"offset",0);if(F.arrayCopy(ee,0,te,re,ee.length),1!=n)for(var ne=re,ie=ne+ee.length;ne<ie;ne++)te[ne]*=n;if(!Gt)for(var se=0;se<Zt;se++)te[se]+=zt[se]}Qt.setFrame(Jt,this.getValue($t,"time",0),te),this.readCurve($t,Qt,Jt),Jt++}a.push(Qt),i=Math.max(i,Qt.frames[Qt.getFrameCount()-1])}}}var oe=t.drawOrder;if(null==oe&&(oe=t.draworder),null!=oe){for(var he=new At(oe.length),le=r.slots.length,ue=0,ce=0;ce<oe.length;ce++){var de=oe[ce],fe=null,ve=this.getValue(de,"offsets",null);if(null!=ve){fe=F.newArray(le,-1);for(var pe=F.newArray(le-ve.length,0),ge=0,me=0,we=0;we<ve.length;we++){var Ee=ve[we],xe=r.findSlotIndex(Ee.slot);if(-1==xe)throw new Error("Slot not found: "+Ee.slot);for(;ge!=xe;)pe[me++]=ge++;fe[ge+Ee.offset]=ge++}for(;ge<le;)pe[me++]=ge++;for(var ye=le-1;ye>=0;ye--)-1==fe[ye]&&(fe[ye]=pe[--me])}he.setFrame(ue++,this.getValue(de,"time",0),fe)}a.push(he),i=Math.max(i,he.frames[he.getFrameCount()-1])}if(t.events){for(var be=new Mt(t.events.length),Se=0,Me=0;Me<t.events.length;Me++){var Ae=t.events[Me],Te=r.findEvent(Ae.name);if(null==Te)throw new Error("Event not found: "+Ae.name);var Ie=new ae(F.toSinglePrecision(this.getValue(Ae,"time",0)),Te);Ie.intValue=this.getValue(Ae,"int",Te.intValue),Ie.floatValue=this.getValue(Ae,"float",Te.floatValue),Ie.stringValue=this.getValue(Ae,"string",Te.stringValue),null!=Ie.data.audioPath&&(Ie.volume=this.getValue(Ae,"volume",1),Ie.balance=this.getValue(Ae,"balance",0)),be.setFrame(Se++,Ie)}a.push(be),i=Math.max(i,be.frames[be.getFrameCount()-1])}if(isNaN(i))throw new Error("Error while parsing animation, duration is NaN");r.animations.push(new ft(e,a,i))},e.readCurve=function(t,e,r){if(t.hasOwnProperty("curve"))if("stepped"==t.curve)e.setStepped(r);else{var n=t.curve;e.setCurve(r,n,this.getValue(t,"c2",0),this.getValue(t,"c3",1),this.getValue(t,"c4",1))}},e.getValue=function(t,e,r){return void 0!==t[e]?t[e]:r},t.blendModeFromString=function(t){if("normal"==(t=t.toLowerCase()))return Ht.Normal;if("additive"==t)return Ht.Additive;if("multiply"==t)return Ht.Multiply;if("screen"==t)return Ht.Screen;throw new Error("Unknown blend mode: "+t)},t.positionModeFromString=function(t){if("fixed"==(t=t.toLowerCase()))return B.Fixed;if("percent"==t)return B.Percent;throw new Error("Unknown position mode: "+t)},t.spacingModeFromString=function(t){if("length"==(t=t.toLowerCase()))return D.Length;if("fixed"==t)return D.Fixed;if("percent"==t)return D.Percent;throw new Error("Unknown position mode: "+t)},t.rotateModeFromString=function(t){if("tangent"==(t=t.toLowerCase()))return Y.Tangent;if("chain"==t)return Y.Chain;if("chainscale"==t)return Y.ChainScale;throw new Error("Unknown rotate mode: "+t)},t.transformModeFromString=function(t){if("normal"==(t=t.toLowerCase()))return N.Normal;if("onlytranslation"==t)return N.OnlyTranslation;if("norotationorreflection"==t)return N.NoRotationOrReflection;if("noscale"==t)return N.NoScale;if("noscaleorreflection"==t)return N.NoScaleOrReflection;throw new Error("Unknown transform mode: "+t)},t}(),se=function(t,e,r,n,a){this.mesh=t,this.skin=e,this.slotIndex=r,this.parent=n,this.inheritDeform=a};!function(t){t[t.Region=0]="Region",t[t.BoundingBox=1]="BoundingBox",t[t.Mesh=2]="Mesh",t[t.LinkedMesh=3]="LinkedMesh",t[t.Path=4]="Path",t[t.Point=5]="Point",t[t.Clipping=6]="Clipping"}(ne||(ne={}));var oe=function(){function t(t){this.scale=1,this.linkedMeshes=new Array,this.attachmentLoader=t}var e=t.prototype;return e.readSkeletonData=function(e){var r=this.scale,n=new Qt;n.name="";var a=new he(e);if(n.hash=a.readString(),n.version=a.readString(),"3.8.75"==n.version)throw new Error("Unsupported skeleton data, please export with a newer version of Spine.");n.x=a.readFloat(),n.y=a.readFloat(),n.width=a.readFloat(),n.height=a.readFloat();var i=a.readBoolean();i&&(n.fps=a.readFloat(),n.imagesPath=a.readString(),n.audioPath=a.readString());var s=0;s=a.readInt(!0);for(var o=0;o<s;o++)a.strings.push(a.readString());s=a.readInt(!0);for(var h=0;h<s;h++){var l=a.readString(),u=0==h?null:n.bones[a.readInt(!0)],c=new X(h,l,u);c.rotation=a.readFloat(),c.x=a.readFloat()*r,c.y=a.readFloat()*r,c.scaleX=a.readFloat(),c.scaleY=a.readFloat(),c.shearX=a.readFloat(),c.shearY=a.readFloat(),c.length=a.readFloat()*r,c.transformMode=t.TransformModeValues[a.readInt(!0)],c.skinRequired=a.readBoolean(),i&&P.rgba8888ToColor(c.color,a.readInt32()),n.bones.push(c)}s=a.readInt(!0);for(var d=0;d<s;d++){var f=a.readString(),v=n.bones[a.readInt(!0)],p=new Jt(d,f,v);P.rgba8888ToColor(p.color,a.readInt32());var g=a.readInt32();-1!=g&&P.rgb888ToColor(p.darkColor=new P,g),p.attachmentName=a.readStringRef(),p.blendMode=t.BlendModeValues[a.readInt(!0)],n.slots.push(p)}s=a.readInt(!0);for(var m,w=0;w<s;w++){var E=new Kt(a.readString());E.order=a.readInt(!0),E.skinRequired=a.readBoolean(),m=a.readInt(!0);for(var x=0;x<m;x++)E.bones.push(n.bones[a.readInt(!0)]);E.target=n.bones[a.readInt(!0)],E.mix=a.readFloat(),E.softness=a.readFloat()*r,E.bendDirection=a.readByte(),E.compress=a.readBoolean(),E.stretch=a.readBoolean(),E.uniform=a.readBoolean(),n.ikConstraints.push(E)}s=a.readInt(!0);for(var y,b=0;b<s;b++){var S=new $t(a.readString());S.order=a.readInt(!0),S.skinRequired=a.readBoolean(),y=a.readInt(!0);for(var M=0;M<y;M++)S.bones.push(n.bones[a.readInt(!0)]);S.target=n.bones[a.readInt(!0)],S.local=a.readBoolean(),S.relative=a.readBoolean(),S.offsetRotation=a.readFloat(),S.offsetX=a.readFloat()*r,S.offsetY=a.readFloat()*r,S.offsetScaleX=a.readFloat(),S.offsetScaleY=a.readFloat(),S.offsetShearY=a.readFloat(),S.rotateMix=a.readFloat(),S.translateMix=a.readFloat(),S.scaleMix=a.readFloat(),S.shearMix=a.readFloat(),n.transformConstraints.push(S)}s=a.readInt(!0);for(var A,T=0;T<s;T++){var I=new G(a.readString());I.order=a.readInt(!0),I.skinRequired=a.readBoolean(),A=a.readInt(!0);for(var R=0;R<A;R++)I.bones.push(n.bones[a.readInt(!0)]);I.target=n.slots[a.readInt(!0)],I.positionMode=t.PositionModeValues[a.readInt(!0)],I.spacingMode=t.SpacingModeValues[a.readInt(!0)],I.rotateMode=t.RotateModeValues[a.readInt(!0)],I.offsetRotation=a.readFloat(),I.position=a.readFloat(),I.positionMode==B.Fixed&&(I.position*=r),I.spacing=a.readFloat(),I.spacingMode!=D.Length&&I.spacingMode!=D.Fixed||(I.spacing*=r),I.rotateMix=a.readFloat(),I.translateMix=a.readFloat(),n.pathConstraints.push(I)}var C=this.readSkin(a,n,!0,i);null!=C&&(n.defaultSkin=C,n.skins.push(C));var k=n.skins.length;for(F.setArraySize(n.skins,s=k+a.readInt(!0));k<s;k++)n.skins[k]=this.readSkin(a,n,!1,i);s=this.linkedMeshes.length;for(var V=0;V<s;V++){var _=this.linkedMeshes[V],N=null==_.skin?n.defaultSkin:n.findSkin(_.skin);if(null==N)throw new Error("Skin not found: "+_.skin);var O=N.getAttachment(_.slotIndex,_.parent);if(null==O)throw new Error("Parent mesh not found: "+_.parent);_.mesh.deformAttachment=_.inheritDeform?O:_.mesh,_.mesh.setParentMesh(O),_.mesh.updateUVs()}this.linkedMeshes.length=0,s=a.readInt(!0);for(var L=0;L<s;L++){var Y=new re(a.readStringRef());Y.intValue=a.readInt(!1),Y.floatValue=a.readFloat(),Y.stringValue=a.readString(),Y.audioPath=a.readString(),null!=Y.audioPath&&(Y.volume=a.readFloat(),Y.balance=a.readFloat()),n.events.push(Y)}s=a.readInt(!0);for(var U=0;U<s;U++)n.animations.push(this.readAnimation(a,a.readString(),n));return n},e.readSkin=function(t,e,r,n){var a=null,i=0;if(r){if(0==(i=t.readInt(!0)))return null;a=new ee("default")}else{(a=new ee(t.readStringRef())).bones.length=t.readInt(!0);for(var s=0,o=a.bones.length;s<o;s++)a.bones[s]=e.bones[t.readInt(!0)];for(var h=0,l=t.readInt(!0);h<l;h++)a.constraints.push(e.ikConstraints[t.readInt(!0)]);for(var u=0,c=t.readInt(!0);u<c;u++)a.constraints.push(e.transformConstraints[t.readInt(!0)]);for(var d=0,f=t.readInt(!0);d<f;d++)a.constraints.push(e.pathConstraints[t.readInt(!0)]);i=t.readInt(!0)}for(var v=0;v<i;v++)for(var p=t.readInt(!0),g=0,m=t.readInt(!0);g<m;g++){var w=t.readStringRef(),E=this.readAttachment(t,e,a,p,w,n);null!=E&&a.setAttachment(p,w,E)}return a},e.readAttachment=function(e,r,n,a,i,s){var o=this.scale,h=e.readStringRef();null==h&&(h=i);var l=e.readByte();switch(t.AttachmentTypeValues[l]){case ne.Region:var u=e.readStringRef(),c=e.readFloat(),d=e.readFloat(),f=e.readFloat(),v=e.readFloat(),p=e.readFloat(),g=e.readFloat(),m=e.readFloat(),w=e.readInt32();null==u&&(u=h);var E=this.attachmentLoader.newRegionAttachment(n,h,u);return null==E?null:(E.path=u,E.x=d*o,E.y=f*o,E.scaleX=v,E.scaleY=p,E.rotation=c,E.width=g*o,E.height=m*o,P.rgba8888ToColor(E.color,w),E.updateOffset(),E);case ne.BoundingBox:var x=e.readInt(!0),y=this.readVertices(e,x),b=s?e.readInt32():0,S=this.attachmentLoader.newBoundingBoxAttachment(n,h);return null==S?null:(S.worldVerticesLength=x<<1,S.vertices=y.vertices,S.bones=y.bones,s&&P.rgba8888ToColor(S.color,b),S);case ne.Mesh:var M=e.readStringRef(),A=e.readInt32(),T=e.readInt(!0),I=this.readFloatArray(e,T<<1,1),R=this.readShortArray(e),C=this.readVertices(e,T),k=e.readInt(!0),V=null,_=0,N=0;s&&(V=this.readShortArray(e),_=e.readFloat(),N=e.readFloat()),null==M&&(M=h);var O=this.attachmentLoader.newMeshAttachment(n,h,M);return null==O?null:(O.path=M,P.rgba8888ToColor(O.color,A),O.bones=C.bones,O.vertices=C.vertices,O.worldVerticesLength=T<<1,O.triangles=R,O.regionUVs=I,O.updateUVs(),O.hullLength=k<<1,s&&(O.edges=V,O.width=_*o,O.height=N*o),O);case ne.LinkedMesh:var L=e.readStringRef(),X=e.readInt32(),B=e.readStringRef(),D=e.readStringRef(),Y=e.readBoolean(),U=0,W=0;s&&(U=e.readFloat(),W=e.readFloat()),null==L&&(L=h);var q=this.attachmentLoader.newMeshAttachment(n,h,L);return null==q?null:(q.path=L,P.rgba8888ToColor(q.color,X),s&&(q.width=U*o,q.height=W*o),this.linkedMeshes.push(new le(q,B,a,D,Y)),q);case ne.Path:for(var H=e.readBoolean(),j=e.readBoolean(),G=e.readInt(!0),z=this.readVertices(e,G),Z=F.newArray(G/3,0),Q=0,J=Z.length;Q<J;Q++)Z[Q]=e.readFloat()*o;var K=s?e.readInt32():0,$=this.attachmentLoader.newPathAttachment(n,h);return null==$?null:($.closed=H,$.constantSpeed=j,$.worldVerticesLength=G<<1,$.vertices=z.vertices,$.bones=z.bones,$.lengths=Z,s&&P.rgba8888ToColor($.color,K),$);case ne.Point:var tt=e.readFloat(),et=e.readFloat(),rt=e.readFloat(),nt=s?e.readInt32():0,at=this.attachmentLoader.newPointAttachment(n,h);return null==at?null:(at.x=et*o,at.y=rt*o,at.rotation=tt,s&&P.rgba8888ToColor(at.color,nt),at);case ne.Clipping:var it=e.readInt(!0),st=e.readInt(!0),ot=this.readVertices(e,st),ht=s?e.readInt32():0,lt=this.attachmentLoader.newClippingAttachment(n,h);return null==lt?null:(lt.endSlot=r.slots[it],lt.worldVerticesLength=st<<1,lt.vertices=ot.vertices,lt.bones=ot.bones,s&&P.rgba8888ToColor(lt.color,ht),lt)}return null},e.readVertices=function(t,e){var r=e<<1,n=new ue,a=this.scale;if(!t.readBoolean())return n.vertices=this.readFloatArray(t,r,a),n;for(var i=new Array,s=new Array,o=0;o<e;o++){var h=t.readInt(!0);s.push(h);for(var l=0;l<h;l++)s.push(t.readInt(!0)),i.push(t.readFloat()*a),i.push(t.readFloat()*a),i.push(t.readFloat())}return n.vertices=F.toFloatArray(i),n.bones=s,n},e.readFloatArray=function(t,e,r){var n=new Array(e);if(1==r)for(var a=0;a<e;a++)n[a]=t.readFloat();else for(var i=0;i<e;i++)n[i]=t.readFloat()*r;return n},e.readShortArray=function(t){for(var e=t.readInt(!0),r=new Array(e),n=0;n<e;n++)r[n]=t.readShort();return r},e.readAnimation=function(e,r,n){for(var a=new Array,i=this.scale,s=0,o=new P,h=new P,l=0,u=e.readInt(!0);l<u;l++)for(var c=e.readInt(!0),d=0,f=e.readInt(!0);d<f;d++){var v=e.readByte(),p=e.readInt(!0);switch(v){case t.SLOT_ATTACHMENT:var g=new yt(p);g.slotIndex=c;for(var m=0;m<p;m++)g.setFrame(m,e.readFloat(),e.readStringRef());a.push(g),s=Math.max(s,g.frames[p-1]);break;case t.SLOT_COLOR:var w=new Et(p);w.slotIndex=c;for(var E=0;E<p;E++){var x=e.readFloat();P.rgba8888ToColor(o,e.readInt32()),w.setFrame(E,x,o.r,o.g,o.b,o.a),E<p-1&&this.readCurve(e,E,w)}a.push(w),s=Math.max(s,w.frames[(p-1)*Et.ENTRIES]);break;case t.SLOT_TWO_COLOR:var y=new xt(p);y.slotIndex=c;for(var b=0;b<p;b++){var S=e.readFloat();P.rgba8888ToColor(o,e.readInt32()),P.rgb888ToColor(h,e.readInt32()),y.setFrame(b,S,o.r,o.g,o.b,o.a,h.r,h.g,h.b),b<p-1&&this.readCurve(e,b,y)}a.push(y),s=Math.max(s,y.frames[(p-1)*xt.ENTRIES])}}for(var M=0,A=e.readInt(!0);M<A;M++)for(var T=e.readInt(!0),I=0,R=e.readInt(!0);I<R;I++){var C=e.readByte(),k=e.readInt(!0);switch(C){case t.BONE_ROTATE:var V=new pt(k);V.boneIndex=T;for(var _=0;_<k;_++)V.setFrame(_,e.readFloat(),e.readFloat()),_<k-1&&this.readCurve(e,_,V);a.push(V),s=Math.max(s,V.frames[(k-1)*pt.ENTRIES]);break;case t.BONE_TRANSLATE:case t.BONE_SCALE:case t.BONE_SHEAR:var N=void 0,O=1;C==t.BONE_SCALE?N=new mt(k):C==t.BONE_SHEAR?N=new wt(k):(N=new gt(k),O=i),N.boneIndex=T;for(var L=0;L<k;L++)N.setFrame(L,e.readFloat(),e.readFloat()*O,e.readFloat()*O),L<k-1&&this.readCurve(e,L,N);a.push(N),s=Math.max(s,N.frames[(k-1)*gt.ENTRIES])}}for(var X=0,Y=e.readInt(!0);X<Y;X++){var U=e.readInt(!0),W=e.readInt(!0),q=new Tt(W);q.ikConstraintIndex=U;for(var H=0;H<W;H++)q.setFrame(H,e.readFloat(),e.readFloat(),e.readFloat()*i,e.readByte(),e.readBoolean(),e.readBoolean()),H<W-1&&this.readCurve(e,H,q);a.push(q),s=Math.max(s,q.frames[(W-1)*Tt.ENTRIES])}for(var j=0,G=e.readInt(!0);j<G;j++){var z=e.readInt(!0),Z=e.readInt(!0),Q=new It(Z);Q.transformConstraintIndex=z;for(var J=0;J<Z;J++)Q.setFrame(J,e.readFloat(),e.readFloat(),e.readFloat(),e.readFloat(),e.readFloat()),J<Z-1&&this.readCurve(e,J,Q);a.push(Q),s=Math.max(s,Q.frames[(Z-1)*It.ENTRIES])}for(var K=0,$=e.readInt(!0);K<$;K++)for(var tt=e.readInt(!0),et=n.pathConstraints[tt],rt=0,nt=e.readInt(!0);rt<nt;rt++){var at=e.readByte(),it=e.readInt(!0);switch(at){case t.PATH_POSITION:case t.PATH_SPACING:var st=void 0,ot=1;at==t.PATH_SPACING?(st=new Ct(it),et.spacingMode!=D.Length&&et.spacingMode!=D.Fixed||(ot=i)):(st=new Rt(it),et.positionMode==B.Fixed&&(ot=i)),st.pathConstraintIndex=tt;for(var ht=0;ht<it;ht++)st.setFrame(ht,e.readFloat(),e.readFloat()*ot),ht<it-1&&this.readCurve(e,ht,st);a.push(st),s=Math.max(s,st.frames[(it-1)*Rt.ENTRIES]);break;case t.PATH_MIX:var lt=new kt(it);lt.pathConstraintIndex=tt;for(var ut=0;ut<it;ut++)lt.setFrame(ut,e.readFloat(),e.readFloat(),e.readFloat()),ut<it-1&&this.readCurve(e,ut,lt);a.push(lt),s=Math.max(s,lt.frames[(it-1)*kt.ENTRIES])}}for(var ct=0,dt=e.readInt(!0);ct<dt;ct++)for(var vt=n.skins[e.readInt(!0)],bt=0,Vt=e.readInt(!0);bt<Vt;bt++)for(var Pt=e.readInt(!0),_t=0,Ft=e.readInt(!0);_t<Ft;_t++){var Nt=vt.getAttachment(Pt,e.readStringRef()),Ot=null!=Nt.bones,Lt=Nt.vertices,Xt=Ot?Lt.length/3*2:Lt.length,Bt=e.readInt(!0),Dt=new St(Bt);Dt.slotIndex=Pt,Dt.attachment=Nt;for(var Yt=0;Yt<Bt;Yt++){var Ut=e.readFloat(),Wt=void 0,qt=e.readInt(!0);if(0==qt)Wt=Ot?F.newFloatArray(Xt):Lt;else{Wt=F.newFloatArray(Xt);var Ht=e.readInt(!0);if(qt+=Ht,1==i)for(var jt=Ht;jt<qt;jt++)Wt[jt]=e.readFloat();else for(var Gt=Ht;Gt<qt;Gt++)Wt[Gt]=e.readFloat()*i;if(!Ot)for(var zt=0,Zt=Wt.length;zt<Zt;zt++)Wt[zt]+=Lt[zt]}Dt.setFrame(Yt,Ut,Wt),Yt<Bt-1&&this.readCurve(e,Yt,Dt)}a.push(Dt),s=Math.max(s,Dt.frames[Bt-1])}var Qt=e.readInt(!0);if(Qt>0){for(var Jt=new At(Qt),Kt=n.slots.length,$t=0;$t<Qt;$t++){for(var te=e.readFloat(),ee=e.readInt(!0),re=F.newArray(Kt,0),ne=Kt-1;ne>=0;ne--)re[ne]=-1;for(var ie=F.newArray(Kt-ee,0),se=0,oe=0,he=0;he<ee;he++){for(var le=e.readInt(!0);se!=le;)ie[oe++]=se++;re[se+e.readInt(!0)]=se++}for(;se<Kt;)ie[oe++]=se++;for(var ue=Kt-1;ue>=0;ue--)-1==re[ue]&&(re[ue]=ie[--oe]);Jt.setFrame($t,te,re)}a.push(Jt),s=Math.max(s,Jt.frames[Qt-1])}var ce=e.readInt(!0);if(ce>0){for(var de=new Mt(ce),fe=0;fe<ce;fe++){var ve=e.readFloat(),pe=n.events[e.readInt(!0)],ge=new ae(ve,pe);ge.intValue=e.readInt(!1),ge.floatValue=e.readFloat(),ge.stringValue=e.readBoolean()?e.readString():pe.stringValue,null!=ge.data.audioPath&&(ge.volume=e.readFloat(),ge.balance=e.readFloat()),de.setFrame(fe,ge)}a.push(de),s=Math.max(s,de.frames[ce-1])}return new ft(r,a,s)},e.readCurve=function(e,r,n){switch(e.readByte()){case t.CURVE_STEPPED:n.setStepped(r);break;case t.CURVE_BEZIER:this.setCurve(n,r,e.readFloat(),e.readFloat(),e.readFloat(),e.readFloat())}},e.setCurve=function(t,e,r,n,a,i){t.setCurve(e,r,n,a,i)},t}();oe.AttachmentTypeValues=[0,1,2,3,4,5,6],oe.TransformModeValues=[N.Normal,N.OnlyTranslation,N.NoRotationOrReflection,N.NoScale,N.NoScaleOrReflection],oe.PositionModeValues=[B.Fixed,B.Percent],oe.SpacingModeValues=[D.Length,D.Fixed,D.Percent],oe.RotateModeValues=[Y.Tangent,Y.Chain,Y.ChainScale],oe.BlendModeValues=[Ht.Normal,Ht.Additive,Ht.Multiply,Ht.Screen],oe.BONE_ROTATE=0,oe.BONE_TRANSLATE=1,oe.BONE_SCALE=2,oe.BONE_SHEAR=3,oe.SLOT_ATTACHMENT=0,oe.SLOT_COLOR=1,oe.SLOT_TWO_COLOR=2,oe.PATH_POSITION=0,oe.PATH_SPACING=1,oe.PATH_MIX=2,oe.CURVE_LINEAR=0,oe.CURVE_STEPPED=1,oe.CURVE_BEZIER=2;var he=function(){function t(t,e,r,n){void 0===e&&(e=new Array),void 0===r&&(r=0),void 0===n&&(n=new DataView(t.buffer)),this.strings=e,this.index=r,this.buffer=n}var e=t.prototype;return e.readByte=function(){return this.buffer.getInt8(this.index++)},e.readShort=function(){var t=this.buffer.getInt16(this.index);return this.index+=2,t},e.readInt32=function(){var t=this.buffer.getInt32(this.index);return this.index+=4,t},e.readInt=function(t){var e=this.readByte(),r=127&e;return 0!=(128&e)&&(r|=(127&(e=this.readByte()))<<7,0!=(128&e)&&(r|=(127&(e=this.readByte()))<<14,0!=(128&e)&&(r|=(127&(e=this.readByte()))<<21,0!=(128&e)&&(r|=(127&(e=this.readByte()))<<28)))),t?r:r>>>1^-(1&r)},e.readStringRef=function(){var t=this.readInt(!0);return 0==t?null:this.strings[t-1]},e.readString=function(){var t=this.readInt(!0);switch(t){case 0:return null;case 1:return""}t--;for(var e="",r=0;r<t;){var n=this.readByte();switch(n>>4){case 12:case 13:e+=String.fromCharCode((31&n)<<6|63&this.readByte()),r+=2;break;case 14:e+=String.fromCharCode((15&n)<<12|(63&this.readByte())<<6|63&this.readByte()),r+=3;break;default:e+=String.fromCharCode(n),r++}}return e},e.readFloat=function(){var t=this.buffer.getFloat32(this.index);return this.index+=4,t},e.readBoolean=function(){return 0!=this.readByte()},t}(),le=function(t,e,r,n,a){this.mesh=t,this.skin=e,this.slotIndex=r,this.parent=n,this.inheritDeform=a},ue=function(t,e){void 0===t&&(t=null),void 0===e&&(e=null),this.bones=t,this.vertices=e},ce=function(t){function e(){return t.apply(this,arguments)}R(e,t);var r=e.prototype;return r.load=function(t,e){var r=this;return new E((function(n,a){var i,s=e.engine;"spine"!==t.type&&a("Asset type must be spine."),!t.urls&&t.url&&r.checkUrl(t.url)&&(i=r.getResouceFromUrl(t.url)),t.urls&&r.checkUrls(t.urls)&&(i=r.getResouceFromUrls(t.urls));var h,l=!1;h=new jt(null,(function(t){return r.createAdaptiveTexture(t,s)}));var u=i.skeletonFile,c=i.atlasFile,d=i.textureFile;h.onLoadComplete=function(){try{var t;if(l)t=h.get(c);else{var e=h.get(c);t=new ot(e,r.textureAssetPicker.bind(r,h,d))}var i=new Zt(t),f=(r.isBinFile(u)?new oe(i):new ie(i)).readSkeletonData(h.get(u)),v=new x(s),p=v.addComponent(o),g=Ut.getDefaultMaterial(s);p.setMaterial(g),v.addComponent(Ut).setSkeletonData(f),n(v)}catch(t){a(t)}};var f=r.isBinFile(u);u&&c&&d?(f?h.loadBinary(u,null,a):h.loadText(u,null,a),h.loadText(c,null,a),h.loadTexture(d,null,a)):u&&c&&!d?(l=!0,f?h.loadBinary(u,null,a):h.loadText(u,null,a),h.loadTextureAtlas(c,null,a)):a("Resouce param error")}))},r.textureAssetPicker=function(t,e){return t.get(e)},r.createAdaptiveTexture=function(t,e){return new de(t,e)},r.isBinFile=function(t){return"bin"===this.getExtFromUrl(t)},r.checkUrl=function(t){var e=this.getExtFromUrl(t);return"json"===e||"bin"===e||(console.error("When use url as params, url must be json or bin file"),!1)},r.getResouceFromUrl=function(t){var e=t,r=t,n=r.indexOf("?");return n>0&&(r=r.substr(0,n)),{skeletonFile:e,atlasFile:r=r.substr(0,r.lastIndexOf("."))+".atlas"}},r.checkUrls=function(t){if(t.length<2)return console.error("When use urls as params, urls should at least contain: json/bin and atlas"),!1;if(t.length>3)return console.error("Spine runtime dont support multiple texture now"),!1;var e=this.getResouceFromUrls(t),r=e.skeletonFile,n=e.atlasFile;return e.textureFile,!(!r||!n)||(console.error("Lack "+(r?"":"skeletonFile")+(n?" atlasFile":"")),!1)},r.getResouceFromUrls=function(t){for(var e,r,n,a=0;a<t.length;a+=1){var i=t[a],s=this.getExtFromUrl(i);"json"!==s&&"bin"!==s||(e=i),"atlas"===s&&(r=i);["png","jpg","webp","jpeg"].includes(s)&&(n=i)}return{skeletonFile:e,atlasFile:r,textureFile:n}},r.getExtFromUrl=function(t){return t.split(/[#?]/)[0].split(".").pop().trim()},e}(y);ce=C([w("spine",["json","bin"])],ce);var de=function(t){function e(e,r){var n;return(n=t.call(this,e)||this).texture=new b(r,e.width,e.height),n.texture.setImageSource(e),n.texture.generateMipmaps(),n}R(e,t);var r=e.prototype;return r.setFilters=function(t,e){t===$.Nearest?this.texture.filterMode=S.Point:e===$.MipMapLinearLinear?this.texture.filterMode=S.Trilinear:this.texture.filterMode=S.Bilinear},r.setWraps=function(t,e){this.texture.wrapModeU=t,this.texture.wrapModeV=e},r.dispose=function(){},e}(et),fe=function(t){function e(){return t.apply(this,arguments)}R(e,t);var r=e.prototype;return r.load=function(t,e){var r=this;return new E((function(n,a){var i=e.engine;if(t.url)if(r.checkUrl(t.url)){var s,h,l,u,c,d=t.url;u=new jt(null,(function(t){return r.createAdaptiveTexture(t,i)})),(c=d,new Promise((function(t,e){var r=new XMLHttpRequest;r.responseType="json",r.open("GET",c,!0),r.onload=function(){200==r.status?t(r.response):e("status:"+r.status+", "+r.responseText)},r.onerror=function(){e("status:"+r.status+", "+r.responseText)},r.send()}))).then((function(t){if(l=t,t._ext){var e=t._ext,r=e.atlas,n=e.images,i=n[Object.keys(n)[0]];s=r,h=i,u.loadText(r),u.loadTexture(i)}else a("AntG spine json must have ext data")})).catch((function(){a("Resouce json load fail")})),u.onLoadComplete=function(){var t,e=u.get(s);t=new ot(e,r.textureAssetPicker.bind(r,u,h));var a=new Zt(t),c=new ie(a).readSkeletonData(l),d=new x(i),f=d.addComponent(o);f.shaderData.enableMacro("USE_MODEL_MATRIX"),f.shaderData.enableMacro("USE_CUSTOM_TEXTURE");var v=i._spriteDefaultMaterial.clone();f.setMaterial(v),d.addComponent(Ut).setSkeletonData(c),n(d)}}else a("AntG asset must be a json url.");else a("AntG asset must be a json url.")}))},r.textureAssetPicker=function(t,e){return t.get(e)},r.createAdaptiveTexture=function(t,e){return new ve(t,e)},r.checkUrl=function(t){return"json"===this.getExtFromUrl(t)||(console.error("When use url as params, url must be a json file"),!1)},r.getExtFromUrl=function(t){return t.split(/[#?]/)[0].split(".").pop().trim()},e}(y);fe=C([w("antg_spine",["json","bin"])],fe);var ve=function(t){function e(e,r){var n;return(n=t.call(this,e)||this).texture=new b(r,e.width,e.height),n.texture.setImageSource(e),n.texture.generateMipmaps(),n}R(e,t);var r=e.prototype;return r.setFilters=function(t,e){t===$.Nearest?this.texture.filterMode=S.Point:e===$.MipMapLinearLinear?this.texture.filterMode=S.Trilinear:this.texture.filterMode=S.Bilinear},r.setWraps=function(t,e){this.texture.wrapModeU=t,this.texture.wrapModeV=e},r.dispose=function(){},e}(et);var pe="1.0.0-beta.1";console.log("Galacean spine version :"+pe);export{jt as AssetManager,Zt as AtlasAttachmentLoader,oe as SkeletonBinary,ie as SkeletonJson,Ut as SpineAnimation,et as Texture,ot as TextureAtlas,pe as version};
2
2
  //# sourceMappingURL=module.js.map