System.register(["./ammo-instantiated-15f3deba.js","./_commonjsHelpers-364bf34e.js"],(function(t){"use strict";var e,i,r,n,s,a,o,l,h,u,c,_,f,p,d,m,y,g,v,b,S,A,C,x,T,w,E,B,D,M,P,R,I,O,F,L,V,k,N,G,z,U,H,j,W,X,Y,q,J,K,Z,Q,$,tt,et,it,rt,nt,st,at,ot,lt,ht,ut,ct,_t,ft,pt,dt,mt,yt,gt,vt,bt,St,At,Ct,xt,Tt,wt,Et,Bt,Dt,Mt,Pt,Rt,It,Ot,Ft,Lt,Vt,kt,Nt,Gt,zt,Ut,Ht,jt,Wt,Xt,Yt,qt,Jt,Kt,Zt,Qt,$t,te,ee,ie,re,ne,se,ae,oe,le,he,ue,ce,_e,fe,pe,de,me,ye,ge,ve,be,Se,Ae,Ce,xe,Te,we,Ee,Be,De,Me,Pe,Re,Ie,Oe,Fe,Le,Ve,ke,Ne,Ge,ze,Ue,He,je,We,Xe,Ye,qe,Je,Ke,Ze,Qe,$e,ti,ei,ii,ri,ni,si,ai,oi,li,hi,ui,ci,_i,fi,pi,di,mi,yi,gi,vi,bi,Si,Ai,Ci,xi,Ti,wi,Ei,Bi,Di,Mi,Pi,Ri,Ii,Oi,Fi,Li,Vi,ki,Ni,Gi,zi,Ui,Hi,ji,Wi,Xi,Yi,qi,Ji,Ki,Zi,Qi,$i,tr,er,ir,rr,nr,sr,ar,or,lr,hr,ur,cr,_r,fr,pr,dr,mr,yr,gr,vr,br,Sr,Ar,Cr,xr,Tr,wr,Er,Br,Dr,Mr,Pr,Rr,Ir,Or,Fr,Lr,Vr,kr,Nr,Gr,zr,Ur,Hr,jr,Wr,Xr,Yr,qr,Jr,Kr,Zr,Qr,$r,tn,en,rn,nn,sn,an,on,ln,hn,un,cn,_n,fn,pn,dn,mn,yn,gn,vn,bn,Sn,An,Cn,xn,Tn,wn,En,Bn,Dn,Mn,Pn,Rn,In,On,Fn,Ln,Vn,kn,Nn,Gn,zn,Un,Hn,jn,Wn,Xn,Yn,qn,Jn,Kn,Zn,Qn,$n,ts,es,is,rs,ns,ss,as,os,ls,hs,us,cs,_s,fs,ps,ds,ms,ys,gs,vs,bs,Ss,As;return{setters:[function(Ss){e=Ss.P,i=Ss.R,r=Ss.C,n=Ss.D,s=Ss.B,a=Ss.a,o=Ss.O,l=Ss.S,h=Ss.A,u=Ss.b,c=Ss.F,_=Ss.c,f=Ss.d,p=Ss.T,d=Ss.e,m=Ss.f,y=Ss.M,g=Ss.g,v=Ss.h,b=Ss.i,S=Ss.j,A=Ss.k,C=Ss.l,x=Ss.m,T=Ss.n,w=Ss.o,E=Ss.p,B=Ss.q,D=Ss.r,M=Ss.s,P=Ss.L,R=Ss.t,I=Ss.u,O=Ss.v,F=Ss.w,L=Ss.x,V=Ss.y,k=Ss.z,N=Ss.E,G=Ss.G,z=Ss.H,U=Ss.Q,H=Ss.I,j=Ss.J,W=Ss.K,X=Ss.N,Y=Ss.U,q=Ss.V,J=Ss.W,K=Ss.X,Z=Ss.Y,Q=Ss.Z,$=Ss._,tt=Ss.$,et=Ss.a0,it=Ss.a1,rt=Ss.a2,nt=Ss.a3,st=Ss.a4,at=Ss.a5,ot=Ss.a6,lt=Ss.a7,ht=Ss.a8,ut=Ss.a9,ct=Ss.aa,_t=Ss.ab,ft=Ss.ac,pt=Ss.ad,dt=Ss.ae,mt=Ss.af,yt=Ss.ag,gt=Ss.ah,vt=Ss.ai,bt=Ss.aj,St=Ss.ak,At=Ss.al,Ct=Ss.am,xt=Ss.an,Tt=Ss.ao,wt=Ss.ap,Et=Ss.aq,Bt=Ss.ar,Dt=Ss.as,Mt=Ss.at,Pt=Ss.au,Rt=Ss.av,It=Ss.aw,Ot=Ss.ax,Ft=Ss.ay,Lt=Ss.az,Vt=Ss.aA,kt=Ss.aB,Nt=Ss.aC,Gt=Ss.aD,zt=Ss.aE,Ut=Ss.aF,Ht=Ss.aG,jt=Ss.aH,Wt=Ss.aI,Xt=Ss.aJ,Yt=Ss.aK,qt=Ss.aL,Jt=Ss.aM,Kt=Ss.aN,Zt=Ss.aO,Qt=Ss.aP,$t=Ss.aQ,te=Ss.aR,ee=Ss.aS,ie=Ss.aT,re=Ss.aU,ne=Ss.aV,se=Ss.aW,ae=Ss.aX,oe=Ss.aY,le=Ss.aZ,he=Ss.a_,ue=Ss.a$,ce=Ss.b0,_e=Ss.b1,fe=Ss.b2,pe=Ss.b3,de=Ss.b4,me=Ss.b5,ye=Ss.b6,ge=Ss.b7,ve=Ss.b8,be=Ss.b9,Se=Ss.ba,Ae=Ss.bb,Ce=Ss.bc,xe=Ss.bd,Te=Ss.be,we=Ss.bf,Ee=Ss.bg,Be=Ss.bh,De=Ss.bi,Me=Ss.bj,Pe=Ss.bk,Re=Ss.bl,Ie=Ss.bm,Oe=Ss.bn,Fe=Ss.bo,Le=Ss.bp,Ve=Ss.bq,ke=Ss.br,Ne=Ss.bs,Ge=Ss.bt,ze=Ss.bu,Ue=Ss.bv,He=Ss.bw,je=Ss.bx,We=Ss.by,Xe=Ss.bz,Ye=Ss.bA,qe=Ss.bB,Je=Ss.bC,Ke=Ss.bD,Ze=Ss.bE,Qe=Ss.bF,$e=Ss.bG,ti=Ss.bH,ei=Ss.bI,ii=Ss.bJ,ri=Ss.bK,ni=Ss.bL,si=Ss.bM,ai=Ss.bN,oi=Ss.bO,li=Ss.bP,hi=Ss.bQ,ui=Ss.bR,ci=Ss.bS,_i=Ss.bT,fi=Ss.bU,pi=Ss.bV,di=Ss.bW,mi=Ss.bX,yi=Ss.bY,gi=Ss.bZ,vi=Ss.b_,bi=Ss.b$,Si=Ss.c0,Ai=Ss.c1,Ci=Ss.c2,xi=Ss.c3,Ti=Ss.c4,wi=Ss.c5,Ei=Ss.c6,Bi=Ss.c7,Di=Ss.c8,Mi=Ss.c9,Pi=Ss.ca,Ri=Ss.cb,Ii=Ss.cc,Oi=Ss.cd,Fi=Ss.ce,Li=Ss.cf,Vi=Ss.cg,ki=Ss.ch,Ni=Ss.ci,Gi=Ss.cj,zi=Ss.ck,Ui=Ss.cl,Hi=Ss.cm,ji=Ss.cn,Wi=Ss.co,Xi=Ss.cp,Yi=Ss.cq,qi=Ss.cr,Ji=Ss.cs,Ki=Ss.ct,Zi=Ss.cu,Qi=Ss.cv,$i=Ss.cw,tr=Ss.cx,er=Ss.cy,ir=Ss.cz,rr=Ss.cA,nr=Ss.cB,sr=Ss.cC,ar=Ss.cD,or=Ss.cE,lr=Ss.cF,hr=Ss.cG,ur=Ss.cH,cr=Ss.cI,_r=Ss.cJ,fr=Ss.cK,pr=Ss.cL,dr=Ss.cM,mr=Ss.cN,yr=Ss.cO,gr=Ss.cP,vr=Ss.cQ,br=Ss.cR,Sr=Ss.cS,Ar=Ss.cT,Cr=Ss.cU,xr=Ss.cV,Tr=Ss.cW,wr=Ss.cX,Er=Ss.cY,Br=Ss.cZ,Dr=Ss.c_,Mr=Ss.c$,Pr=Ss.d0,Rr=Ss.d1,Ir=Ss.d2,Or=Ss.d3,Fr=Ss.d4,Lr=Ss.d5,Vr=Ss.d6,kr=Ss.d7,Nr=Ss.d8,Gr=Ss.d9,zr=Ss.da,Ur=Ss.db,Hr=Ss.dc,jr=Ss.dd,Wr=Ss.de,Xr=Ss.df,Yr=Ss.dg,qr=Ss.dh,Jr=Ss.di,Kr=Ss.dj,Zr=Ss.dk,Qr=Ss.dl,$r=Ss.dm,tn=Ss.dn,en=Ss.dp,rn=Ss.dq,nn=Ss.dr,sn=Ss.ds,an=Ss.dt,on=Ss.du,ln=Ss.dv,hn=Ss.dw,un=Ss.dx,cn=Ss.dy,_n=Ss.dz,fn=Ss.dA,pn=Ss.dB,dn=Ss.dC,mn=Ss.dD,yn=Ss.dE,gn=Ss.dF,vn=Ss.dG,bn=Ss.dH,Sn=Ss.dI,An=Ss.dJ,Cn=Ss.dK,xn=Ss.dL,Tn=Ss.dM,wn=Ss.dN,En=Ss.dO,Bn=Ss.dP,Dn=Ss.dQ,Mn=Ss.dR,Pn=Ss.dS,Rn=Ss.dT,In=Ss.dU,On=Ss.dV,Fn=Ss.dW,Ln=Ss.dX,Vn=Ss.dY,kn=Ss.dZ,Nn=Ss.d_,Gn=Ss.d$,zn=Ss.e0,Un=Ss.e1,Hn=Ss.e2,jn=Ss.e3,Wn=Ss.e4,Xn=Ss.e5,Yn=Ss.e6,qn=Ss.e7,Jn=Ss.e8,Kn=Ss.e9,Zn=Ss.ea,Qn=Ss.eb,$n=Ss.ec,ts=Ss.ed,es=Ss.ee,is=Ss.ef,rs=Ss.eg,ns=Ss.eh,ss=Ss.ei,as=Ss.ej,os=Ss.ek,ls=Ss.el,hs=Ss.em,us=Ss.en,cs=Ss.eo,_s=Ss.ep,fs=Ss.eq,ps=Ss.er,ds=Ss.es,ms=Ss.et,ys=Ss.eu,gs=Ss.ev,vs=Ss.ew,bs=Ss.ex;var As={};As.AffineTransform=Ss.eH,As.AnimCurve=Ss.g2,As.Animation=Ss.cO,As.AnimationClip=Ss.g6,As.AnimationComponent=Ss.cO,As.AnimationManager=Ss.g7,As.AnimationState=Ss.cN,As.Asset=Ss.bN,As.AssetLibrary=Ss.fN,As.AssetManager=Ss.fJ,As.BaseNode=Ss.fP,As.BitMask=Ss.eS,As.BufferAsset=Ss.f5,As.CCBoolean=Ss.eq,As.CCClass=Ss.ev,As.CCFloat=Ss.f3,As.CCInteger=Ss.et,As.CCLoader=Ss.fL,As.CCObject=Ss.d5,As.CCString=Ss.ce,As.CachedArray=Ss.C,As.Camera=Ss.dc,As.CameraComponent=Ss.dc,As.Color=Ss.cl,As.CompactValueTypeArray=Ss.f4,As.Component=Ss.ck,As.ComponentModifier=Ss.fV,As.CubicSplineNumberValue=Ss.bi,As.CubicSplineQuatValue=Ss.bh,As.CubicSplineVec2Value=Ss.be,As.CubicSplineVec3Value=Ss.bf,As.CubicSplineVec4Value=Ss.bg,As.CurveValueAdapter=Ss.fW,As.DebugMode=Ss.fh,As.DeferredPipeline=Ss.fy,As.Details=Ss.f2,As.Director=Ss.cY,As.EPSILON=Ss.eL,As.EffectAsset=Ss.ep,As.Enum=Ss.bY,As.Event=Ss.dM,As.EventAcceleration=Ss.fn,As.EventHandler=Ss.dB,As.EventInfo=Ss.g3,As.EventKeyboard=Ss.fo,As.EventMouse=Ss.fm,As.EventTarget=Ss.ek,As.EventTouch=Ss.dL,As.Eventify=Ss.e6,As.ForwardFlow=Ss.fw,As.ForwardPipeline=Ss.fv,As.ForwardStage=Ss.fx,As.Game=Ss.d8,As.GbufferFlow=Ss.fz,As.GbufferStage=Ss.fA,As.HierachyModifier=Ss.fU,As.ImageAsset=Ss.bA,As.InstancedBuffer=Ss.fG,As.JavaScript=Ss.fb,As.JsonAsset=Ss.f8,As.Layers=Ss.dl,As.LightingFlow=Ss.fB,As.LightingStage=Ss.fC,As.Mat3=Ss.eG,As.Mat4=Ss.cb,As.Material=Ss.cI,As.MissingScript=Ss.fS,As.Node=Ss.cH,As.NodeActivator=Ss.fQ,As.NodePool=Ss.g9,As.PipelineStateManager=Ss.fH,As.Pool=Ss.P,As.PostprocessStage=Ss.fD,As.Prefab=Ss.f6,As.PrefabLink=Ss.eX,As.PrivateNode=Ss.fR,As.Quat=Ss.bM,As.RatioSampler=Ss.g1,As.Rect=Ss.cP,As.RecyclePool=Ss.R,As.RenderFlow=Ss.ft,As.RenderPipeline=Ss.fs,As.RenderStage=Ss.fu,As.RenderTexture=Ss.da,As.RenderableComponent=Ss.ca,As.RenderingSubMesh=Ss.bR,As.ResolutionPolicy=Ss.fi,As.Scene=Ss.dN,As.SceneAsset=Ss.f7,As.Scheduler=Ss.ew,As.Script=Ss.fa,As.ShadowFlow=Ss.fE,As.ShadowStage=Ss.fF,As.Size=Ss.cQ,As.SkelAnimDataHub=Ss.cu,As.System=Ss.e5,As.SystemEvent=Ss.fk,As.SystemEventType=Ss.c_,As.TextAsset=Ss.eu,As.Texture2D=Ss.bB,As.TextureCube=Ss.f9,As.Touch=Ss.fp,As.TypeScript=Ss.fc,As.UniformCurveValueAdapter=Ss.fX,As.VERSION=Ss.eo,As.ValueType=Ss.eT,As.Vec2=Ss.cM,As.Vec3=Ss.bJ,As.Vec4=Ss.c4,As.View=Ss.dQ,As.WorldNode3DToLocalNodeUI=Ss.eZ,As.WorldNode3DToWorldNodeUI=Ss.e_,As._decorator=Ss.f0,As.absMax=Ss.e9,As.absMaxComponent=Ss.eR,As.approx=Ss.eM,As.assert=Ss.fd,As.assertID=Ss.fe,As.assetManager=Ss.dh,As.bezier=Ss.f$,As.bezierByTime=Ss.g0,As.bits=Ss.eB,As.builtinResMgr=Ss.c2,As.ccenum=Ss.d0,As.cclegacy=Ss.bw,As.clamp=Ss.d9,As.clamp01=Ss.dK,As.color=Ss.eK,As.computeRatioByType=Ss.g5,As.convertUtils=Ss.e$,As.createDefaultPipeline=Ss.fr,As.deserialize=Ss.f1,As.director=Ss.cX,As.easing=Ss.en,As.effects=Ss.fT,As.equals=Ss.e4,As.error=Ss.bm,As.errorID=Ss.bl,As.eventManager=Ss.fj,As.find=Ss.bV,As.game=Ss.de,As.geometry=Ss.eA,As.getError=Ss.eh,As.getPathFromRoot=Ss.g8,As.getPhaseID=Ss.fI,As.getWorldTransformUntilRoot=Ss.ct,As.instantiate=Ss.e2,As.inverseLerp=Ss.eQ,As.isCustomTargetModifier=Ss.f_,As.isDisplayStats=Ss.ff,As.isElementModifier=Ss.fZ,As.isPropertyModifier=Ss.fY,As.isValid=Ss.er,As.js=Ss.eU,As.lerp=Ss.dC,As.loader=Ss.fM,As.log=Ss.el,As.logID=Ss.dt,As.macro=Ss.bn,As.markAsWarning=Ss.dg,As.mat4=Ss.em,As.math=Ss.ez,As.misc=Ss.eV,As.murmurhash2_32_gc=Ss.bS,As.nextPow2=Ss.eP,As.path=Ss.eW,As.pingPong=Ss.e0,As.pipeline=Ss.fq,As.pseudoRandom=Ss.dW,As.pseudoRandomRange=Ss.eN,As.pseudoRandomRangeInt=Ss.eO,As.quat=Ss.eF,As.random=Ss.dX,As.randomRange=Ss.dY,As.randomRangeInt=Ss.dZ,As.rect=Ss.eJ,As.removeProperty=Ss.cd,As.renderer=Ss.ey,As.repeat=Ss.dV,As.replaceProperty=Ss.cc,As.resources=Ss.fK,As.sampleAnimationCurve=Ss.g4,As.screen=Ss.dG,As.setDefaultLogTimes=Ss.eY,As.setDisplayStats=Ss.fg,As.size=Ss.eI,As.sys=Ss.br,As.systemEvent=Ss.fl,As.toDegree=Ss.dR,As.toRadian=Ss.cr,As.url=Ss.fO,As.v2=Ss.eC,As.v3=Ss.eD,As.v4=Ss.eE,As.view=Ss.df,As.warn=Ss.bv,As.warnID=Ss.bu,t(As)},function(t){Ss=t.c,As=t.u,t.a}],execute:function(){t({CacheMode:void 0,EAxisDirection:void 0,ECollider2DType:void 0,EJoint2DType:void 0,EPhysics2DDrawFlags:void 0,ERaycast2DType:void 0,ERigidBody2DType:void 0,ERigidBodyType:void 0,HorizontalTextAlignment:void 0,InstanceMaterialType:void 0,Overflow:void 0,Physics2DManifoldType:void 0,VerticalTextAlignment:void 0,earcut:cv,fragmentText:o_,getBaselineOffset:function(){return 0},isUnicodeCJK:r_,isUnicodeSpace:n_,safeMeasureText:s_,tween:Q8,tweenUtil:$8}),t("memop",Object.freeze({__proto__:null,Pool:e,RecyclePool:i,CachedArray:r})),t("gfx",Object.freeze({__proto__:null,DescriptorSet:n,Buffer:s,CommandBuffer:a,get ObjectType(){return o},get Status(){return l},get API(){return h},get SurfaceTransform(){return u},get Feature(){return c},get Format(){return _},get FormatType(){return f},get Type(){return p},get BufferUsageBit(){return d},get BufferFlagBit(){return m},get MemoryAccessBit(){return y},get MemoryUsageBit(){return g},get TextureType(){return v},get TextureUsageBit(){return b},get TextureFlagBit(){return S},get SampleCount(){return A},get Filter(){return C},get Address(){return x},get ComparisonFunc(){return T},get StencilOp(){return w},get BlendFactor(){return E},get BlendOp(){return B},get ColorMask(){return D},get ShaderStageFlagBit(){return M},get LoadOp(){return P},get StoreOp(){return R},get AccessType(){return I},get PipelineBindPoint(){return O},get PrimitiveMode(){return F},get PolygonMode(){return L},get ShadeModel(){return V},get CullMode(){return k},get DynamicStateFlagBit(){return N},get StencilFace(){return G},get DescriptorType(){return z},get QueueType(){return U},get CommandBufferType(){return H},get ClearFlagBit(){return j},Size:W,DeviceCaps:X,Offset:Y,Rect:q,Extent:J,TextureSubresLayers:K,TextureSubresRange:Z,TextureCopy:Q,TextureBlit:$,BufferTextureCopy:tt,Viewport:et,Color:it,BindingMappingInfo:rt,BufferInfo:nt,BufferViewInfo:st,DrawInfo:at,DispatchInfo:ot,IndirectBuffer:lt,TextureInfo:ht,TextureViewInfo:ut,SamplerInfo:ct,Uniform:_t,UniformBlock:ft,UniformSamplerTexture:pt,UniformSampler:dt,UniformTexture:mt,UniformStorageImage:yt,UniformStorageBuffer:gt,UniformInputAttachment:vt,ShaderStage:bt,Attribute:St,ShaderInfo:At,InputAssemblerInfo:Ct,ColorAttachment:xt,DepthStencilAttachment:Tt,SubpassInfo:wt,RenderPassInfo:Et,GlobalBarrierInfo:Bt,TextureBarrierInfo:Dt,FramebufferInfo:Mt,DescriptorSetLayoutBinding:Pt,DescriptorSetLayoutInfo:Rt,DescriptorSetInfo:It,PipelineLayoutInfo:Ot,InputState:Ft,CommandBufferInfo:Lt,QueueInfo:Vt,FormatInfo:kt,MemoryStatus:Nt,Obj:Gt,DeviceInfo:zt,get AttributeName(){return Ut},FormatInfos:Ht,DESCRIPTOR_BUFFER_TYPE:jt,DESCRIPTOR_SAMPLER_TYPE:Wt,DESCRIPTOR_DYNAMIC_TYPE:Xt,DRAW_INFO_SIZE:Yt,IsPowerOf2:qt,FormatSize:Jt,FormatSurfaceSize:Kt,GetTypeSize:Zt,getTypedArrayConstructor:Qt,Device:$t,Framebuffer:te,InputAssembler:ee,DescriptorSetLayout:ie,PipelineLayout:re,RasterizerState:ne,DepthStencilState:se,BlendTarget:ae,BlendState:oe,PipelineStateInfo:le,PipelineState:he,Queue:ue,RenderPass:ce,Sampler:_e,Shader:fe,Texture:pe,GlobalBarrier:de,TextureBarrier:me})),t("animation",Object.freeze({__proto__:null,UniformProxyFactory:ye,MorphWeightsValueProxy:ge,MorphWeightsAllValueProxy:ve,isPropertyPath:be,isCustomPath:Se,HierarchyPath:Ae,ComponentPath:Ce,evaluatePath:xe,CubicSplineVec2Value:Te,CubicSplineVec3Value:we,CubicSplineVec4Value:Ee,CubicSplineQuatValue:Be,CubicSplineNumberValue:De}));var Cs,xs=function(t){function e(){for(var e,i=arguments.length,r=new Array(i),n=0;n=0&&R.gpuDescriptors[I],F=null,L=0;if(O&&O.gpuBuffer){var V=O.gpuBuffer,z=B[P.set],U=z&&z[P.binding];U>=0&&(L=n[U]),"vf32"in V?F=V.vf32:(L+=V.offset,F=V.gpuBuffer.vf32),L>>=2}if(F)for(var H=P.glActiveUniforms.length,j=0;j=0&&Nt.gpuDescriptors[Gt],Ut=kt.units.length,Ht=0;Ht0){var Wt=zt.gpuTexture,Xt=y.glTexUnits[jt];Xt.glTexture!==Wt.glTexture&&(y.texUnit!==jt&&(m.activeTexture(m.TEXTURE0+jt),y.texUnit=jt),Wt.glTexture?m.bindTexture(Wt.glTarget,Wt.glTexture):m.bindTexture(Wt.glTarget,t.nullTex2D.gpuTexture.glTexture),Xt.glTexture=Wt.glTexture);var Yt=zt.gpuSampler;Wt.isPowerOf2?(f=Yt.glWrapS,p=Yt.glWrapT):(f=m.CLAMP_TO_EDGE,p=m.CLAMP_TO_EDGE),d=Wt.isPowerOf2?Wt.mipLevel<=1&&(Yt.glMinFilter===m.LINEAR_MIPMAP_NEAREST||Yt.glMinFilter===m.LINEAR_MIPMAP_LINEAR)?m.LINEAR:Yt.glMinFilter:Yt.glMinFilter===m.LINEAR||Yt.glMinFilter===m.LINEAR_MIPMAP_NEAREST||Yt.glMinFilter===m.LINEAR_MIPMAP_LINEAR?m.LINEAR:m.NEAREST,Wt.glWrapS!==f&&(y.texUnit!==jt&&(m.activeTexture(m.TEXTURE0+jt),y.texUnit=jt),m.texParameteri(Wt.glTarget,m.TEXTURE_WRAP_S,f),Wt.glWrapS=f),Wt.glWrapT!==p&&(y.texUnit!==jt&&(m.activeTexture(m.TEXTURE0+jt),y.texUnit=jt),m.texParameteri(Wt.glTarget,m.TEXTURE_WRAP_T,p),Wt.glWrapT=p),Wt.glMinFilter!==d&&(y.texUnit!==jt&&(m.activeTexture(m.TEXTURE0+jt),y.texUnit=jt),m.texParameteri(Wt.glTarget,m.TEXTURE_MIN_FILTER,d),Wt.glMinFilter=d),Wt.glMagFilter!==Yt.glMagFilter&&(y.texUnit!==jt&&(m.activeTexture(m.TEXTURE0+jt),y.texUnit=jt),m.texParameteri(Wt.glTarget,m.TEXTURE_MAG_FILTER,Yt.glMagFilter),Wt.glMagFilter=Yt.glMagFilter)}zt=Nt.gpuDescriptors[++Gt]}else Ie("Sampler binding '"+kt.name+"' at set "+kt.set+" binding "+kt.binding+" index "+Ht+" is not bounded")}}if(i&&g&&(v||Xs.gpuInputAssembler!==i)){Xs.gpuInputAssembler=i;var qt=t.ANGLE_instanced_arrays;if(t.useVAO){var Jt=t.OES_vertex_array_object,Kt=i.glVAOs.get(g.glProgram);if(!Kt){var Zt;Kt=Jt.createVertexArrayOES(),i.glVAOs.set(g.glProgram,Kt),Jt.bindVertexArrayOES(Kt),m.bindBuffer(m.ARRAY_BUFFER,null),m.bindBuffer(m.ELEMENT_ARRAY_BUFFER,null),y.glArrayBuffer=null,y.glElementArrayBuffer=null;for(var Qt=g.glInputs.length,$t=0;$t=0&&(m.enableVertexAttribArray(ye),y.glEnabledAttribLocs[ye]=!0),y.glCurrentAttribLocs[ye]=!0,m.vertexAttribPointer(ye,_e.count,_e.glType,_e.isNormalized,_e.stride,ge),qt&&qt.vertexAttribDivisorANGLE(ye,_e.isInstanced?1:0)}}}var ve=i.gpuIndexBuffer;ve&&y.glElementArrayBuffer!==ve.glBuffer&&(m.bindBuffer(m.ELEMENT_ARRAY_BUFFER,ve.glBuffer),y.glElementArrayBuffer=ve.glBuffer);for(var be=0;be0){var u=l.firstIndex*h.stride;r.drawElementsInstancedANGLE(s,l.indexCount,n.glIndexType,u,l.instanceCount)}}else l.vertexCount>0&&r.drawArraysInstancedANGLE(s,l.firstVertex,l.vertexCount,l.instanceCount);else if(h){if(l.indexCount>0){var c=l.firstIndex*h.stride;i.drawElements(s,l.indexCount,n.glIndexType,c)}}else l.vertexCount>0&&i.drawArrays(s,l.firstVertex,l.vertexCount)}else{var _=n.gpuIndexBuffer;if(e.instanceCount&&r)if(_){if(e.indexCount>0){var f=e.firstIndex*_.stride;r.drawElementsInstancedANGLE(s,e.indexCount,n.glIndexType,f,e.instanceCount)}}else e.vertexCount>0&&r.drawArraysInstancedANGLE(s,e.firstVertex,e.vertexCount,e.instanceCount);else if(_){if(e.indexCount>0){var p=e.firstIndex*_.stride;i.drawElements(s,e.indexCount,n.glIndexType,p)}}else e.vertexCount>0&&i.drawArrays(s,e.firstVertex,e.vertexCount)}}var Ks=new Array(Is.COUNT);function Zs(t,e){Ks.fill(0);for(var i=0;i0&&(this._uniformBuffer=new Uint8Array(this._size)),this._gpuBuffer={usage:this._usage,memUsage:this._memUsage,size:this._size,stride:this._stride,buffer:null,vf32:null,indirects:[],glTarget:0,glBuffer:null},t.usage&d.INDIRECT&&(this._gpuBuffer.indirects=this._indirectBuffer.drawInfos),this._usage&d.UNIFORM&&(this._gpuBuffer.buffer=this._uniformBuffer),function(t,e){var i=t.gl,r=t.stateCache,n=e.memUsage&g.HOST?i.DYNAMIC_DRAW:i.STATIC_DRAW;if(e.usage&d.VERTEX){e.glTarget=i.ARRAY_BUFFER;var s=i.createBuffer();s&&(e.glBuffer=s,e.size>0&&(t.useVAO&&r.glVAO&&(t.OES_vertex_array_object.bindVertexArrayOES(null),r.glVAO=Xs.gpuInputAssembler=null),t.stateCache.glArrayBuffer!==e.glBuffer&&(i.bindBuffer(i.ARRAY_BUFFER,e.glBuffer),t.stateCache.glArrayBuffer=e.glBuffer),i.bufferData(i.ARRAY_BUFFER,e.size,n),i.bindBuffer(i.ARRAY_BUFFER,null),t.stateCache.glArrayBuffer=null))}else if(e.usage&d.INDEX){e.glTarget=i.ELEMENT_ARRAY_BUFFER;var a=i.createBuffer();a&&(e.glBuffer=a,e.size>0&&(t.useVAO&&r.glVAO&&(t.OES_vertex_array_object.bindVertexArrayOES(null),r.glVAO=Xs.gpuInputAssembler=null),t.stateCache.glElementArrayBuffer!==e.glBuffer&&(i.bindBuffer(i.ELEMENT_ARRAY_BUFFER,e.glBuffer),t.stateCache.glElementArrayBuffer=e.glBuffer),i.bufferData(i.ELEMENT_ARRAY_BUFFER,e.size,n),i.bindBuffer(i.ELEMENT_ARRAY_BUFFER,null),t.stateCache.glElementArrayBuffer=null))}else e.usage&d.UNIFORM?(e.glTarget=i.NONE,e.buffer&&(e.vf32=new Float32Array(e.buffer.buffer))):(e.usage&d.INDIRECT||e.usage&d.TRANSFER_DST||e.usage&d.TRANSFER_SRC||console.error("Unsupported BufferType, create buffer failed."),e.glTarget=i.NONE)}(this._device,this._gpuBuffer),this._device.memoryStatus.bufferSize+=this._size;return!0},i.destroy=function(){var t,e;this._gpuBuffer&&(t=this._device,(e=this._gpuBuffer).glBuffer&&(t.gl.deleteBuffer(e.glBuffer),e.glBuffer=null),this._device.memoryStatus.bufferSize-=this._size,this._gpuBuffer=null),this._gpuBufferView&&(this._gpuBufferView=null)},i.resize=function(t){if(this._isBufferView)console.warn("cannot resize buffer views!");else{var e,i,r,n,s,a=this._size;a!==t&&(this._size=t,this._count=this._size/this._stride,this._uniformBuffer&&(this._uniformBuffer=new Uint8Array(t)),this._gpuBuffer&&(this._uniformBuffer&&(this._gpuBuffer.buffer=this._uniformBuffer),this._gpuBuffer.size=t,t>0&&(e=this._device,i=this._gpuBuffer,r=e.gl,n=e.stateCache,s=i.memUsage&g.HOST?r.DYNAMIC_DRAW:r.STATIC_DRAW,i.usage&d.VERTEX?(e.useVAO&&n.glVAO&&(e.OES_vertex_array_object.bindVertexArrayOES(null),n.glVAO=Xs.gpuInputAssembler=null),e.stateCache.glArrayBuffer!==i.glBuffer&&r.bindBuffer(r.ARRAY_BUFFER,i.glBuffer),i.buffer?r.bufferData(r.ARRAY_BUFFER,i.buffer,s):r.bufferData(r.ARRAY_BUFFER,i.size,s),r.bindBuffer(r.ARRAY_BUFFER,null),e.stateCache.glArrayBuffer=null):i.usage&d.INDEX?(e.useVAO&&n.glVAO&&(e.OES_vertex_array_object.bindVertexArrayOES(null),n.glVAO=Xs.gpuInputAssembler=null),e.stateCache.glElementArrayBuffer!==i.glBuffer&&r.bindBuffer(r.ELEMENT_ARRAY_BUFFER,i.glBuffer),i.buffer?r.bufferData(r.ELEMENT_ARRAY_BUFFER,i.buffer,s):r.bufferData(r.ELEMENT_ARRAY_BUFFER,i.size,s),r.bindBuffer(r.ELEMENT_ARRAY_BUFFER,null),e.stateCache.glElementArrayBuffer=null):i.usage&d.UNIFORM?i.buffer&&(i.vf32=new Float32Array(i.buffer.buffer)):(i.usage&d.INDIRECT||i.usage&d.TRANSFER_DST||i.usage&d.TRANSFER_SRC||console.error("Unsupported BufferType, create buffer failed."),i.glTarget=r.NONE),this._device.memoryStatus.bufferSize-=a,this._device.memoryStatus.bufferSize+=t)))}},i.update=function(t,e){var i;this._isBufferView?console.warn("cannot update through buffer views!"):(i=void 0!==e?e:this._usage&d.INDIRECT?0:t.byteLength,Ws(this._device,this._gpuBuffer,t,0,i))},Pe(e,[{key:"gpuBuffer",get:function(){return this._gpuBuffer}},{key:"gpuBufferView",get:function(){return this._gpuBufferView}}]),e}(s),ea=function(){function t(t,e){this._frees=void 0,this._freeIdx=0,this._freeCmds=void 0,this._frees=new Array(e),this._freeCmds=new r(e);for(var i=0;ii&&(i=s.binding)}this._bindingIndices=Array(i+1).fill(-1);for(var a=this._descriptorIndices=Array(i+1).fill(-1),o=0;o0){e.glBlocks=new Array(e.blocks.length);for(var v=0;v0){e.glSamplerTextures=new Array(e.samplerTextures.length);for(var P=0;Pt.capabilities.maxTextureSize&&Re(9100,s,t.capabilities.maxTextureSize),!t.WEBGL_depth_texture&&Ht[e.format].hasDepth){var a=i.createRenderbuffer();a&&e.size>0&&(e.glRenderbuffer=a,t.stateCache.glRenderbuffer!==e.glRenderbuffer&&(i.bindRenderbuffer(i.RENDERBUFFER,e.glRenderbuffer),t.stateCache.glRenderbuffer=e.glRenderbuffer),e.glInternalFmt===i.DEPTH_COMPONENT&&(e.glInternalFmt=i.DEPTH_COMPONENT16),i.renderbufferStorage(i.RENDERBUFFER,e.glInternalFmt,r,n))}else if(e.samples===A.X1){var o=i.createTexture();if(o&&e.size>0){e.glTexture=o;var l=t.stateCache.glTexUnits[t.stateCache.texUnit];if(l.glTexture!==e.glTexture&&(i.bindTexture(i.TEXTURE_2D,e.glTexture),l.glTexture=e.glTexture),Ht[e.format].isCompressed)if(e.glInternalFmt!==Cs.COMPRESSED_RGB_ETC1_WEBGL)for(var h=0;h>1),n=Math.max(1,n>>1)}else{var _=Jt(e.format,2,2,1),f=new Uint8Array(_);i.compressedTexImage2D(i.TEXTURE_2D,0,e.glInternalFmt,2,2,0,f)}else for(var p=0;p>1),n=Math.max(1,n>>1);e.isPowerOf2?(e.glWrapS=i.REPEAT,e.glWrapT=i.REPEAT):(e.glWrapS=i.CLAMP_TO_EDGE,e.glWrapT=i.CLAMP_TO_EDGE),e.glMinFilter=i.LINEAR,e.glMagFilter=i.LINEAR,i.texParameteri(e.glTarget,i.TEXTURE_WRAP_S,e.glWrapS),i.texParameteri(e.glTarget,i.TEXTURE_WRAP_T,e.glWrapT),i.texParameteri(e.glTarget,i.TEXTURE_MIN_FILTER,e.glMinFilter),i.texParameteri(e.glTarget,i.TEXTURE_MAG_FILTER,e.glMagFilter)}else i.deleteTexture(o)}break;case v.CUBE:e.glTarget=i.TEXTURE_CUBE_MAP;var d=Math.max(r,n);d>t.capabilities.maxCubeMapTextureSize&&Re(9100,d,t.capabilities.maxTextureSize);var m=i.createTexture();if(m&&e.size>0){e.glTexture=m;var y=t.stateCache.glTexUnits[t.stateCache.texUnit];if(y.glTexture!==e.glTexture&&(i.bindTexture(i.TEXTURE_CUBE_MAP,e.glTexture),y.glTexture=e.glTexture),Ht[e.format].isCompressed)if(e.glInternalFmt!==Cs.COMPRESSED_RGB_ETC1_WEBGL)for(var g=0;g<6;++g){r=e.width,n=e.height;for(var b=0;b>1),n=Math.max(1,n>>1)}}else for(var x=0;x<6;++x){var T=Jt(e.format,2,2,1),w=new Uint8Array(T);i.compressedTexImage2D(i.TEXTURE_CUBE_MAP_POSITIVE_X+x,0,e.glInternalFmt,2,2,0,w)}else for(var E=0;E<6;++E){r=e.width,n=e.height;for(var B=0;B>1),n=Math.max(1,n>>1)}e.isPowerOf2?(e.glWrapS=i.REPEAT,e.glWrapT=i.REPEAT):(e.glWrapS=i.CLAMP_TO_EDGE,e.glWrapT=i.CLAMP_TO_EDGE),e.glMinFilter=i.LINEAR,e.glMagFilter=i.LINEAR,i.texParameteri(e.glTarget,i.TEXTURE_WRAP_S,e.glWrapS),i.texParameteri(e.glTarget,i.TEXTURE_WRAP_T,e.glWrapT),i.texParameteri(e.glTarget,i.TEXTURE_MIN_FILTER,e.glMinFilter),i.texParameteri(e.glTarget,i.TEXTURE_MAG_FILTER,e.glMagFilter)}break;default:console.error("Unsupported TextureType, create texture failed."),e.type=v.TEX2D,e.glTarget=i.TEXTURE_2D}}(this._device,this._gpuTexture),this._device.memoryStatus.textureSize+=this._size,!0)},i.destroy=function(){var t,e;this._gpuTexture&&(t=this._device,(e=this._gpuTexture).glTexture&&(t.gl.deleteTexture(e.glTexture),e.glTexture=null),e.glRenderbuffer&&(t.gl.deleteRenderbuffer(e.glRenderbuffer),e.glRenderbuffer=null),this._device.memoryStatus.textureSize-=this._size,this._gpuTexture=null)},i.resize=function(t,e){var i=this._size;this._width=t,this._height=e,this._size=Kt(this._format,this.width,this.height,this.depth,this._levelCount)*this._layerCount,this._gpuTexture&&(this._gpuTexture.width=t,this._gpuTexture.height=e,this._gpuTexture.size=this._size,function(t,e){var i=t.gl;e.glInternalFmt=ws(e.format,i),e.glFormat=Es(e.format,i),e.glType=Ts(e.format,i);var r=e.width,n=e.height;switch(e.type){case v.TEX2D:e.glTarget=i.TEXTURE_2D;var s=Math.max(r,n);if(s>t.capabilities.maxTextureSize&&Re(9100,s,t.capabilities.maxTextureSize),e.glRenderbuffer)t.stateCache.glRenderbuffer!==e.glRenderbuffer&&(i.bindRenderbuffer(i.RENDERBUFFER,e.glRenderbuffer),t.stateCache.glRenderbuffer=e.glRenderbuffer),i.renderbufferStorage(i.RENDERBUFFER,e.glInternalFmt,r,n);else if(e.glTexture){var a=t.stateCache.glTexUnits[t.stateCache.texUnit];if(a.glTexture!==e.glTexture&&(i.bindTexture(i.TEXTURE_2D,e.glTexture),a.glTexture=e.glTexture),Ht[e.format].isCompressed){if(e.glInternalFmt!==Cs.COMPRESSED_RGB_ETC1_WEBGL)for(var o=0;o>1),n=Math.max(1,n>>1)}}else for(var u=0;u>1),n=Math.max(1,n>>1)}break;case v.CUBE:e.glTarget=i.TEXTURE_CUBE_MAP;var c=Math.max(r,n);c>t.capabilities.maxCubeMapTextureSize&&Re(9100,c,t.capabilities.maxTextureSize);var _=t.stateCache.glTexUnits[t.stateCache.texUnit];if(_.glTexture!==e.glTexture&&(i.bindTexture(i.TEXTURE_CUBE_MAP,e.glTexture),_.glTexture=e.glTexture),Ht[e.format].isCompressed){if(e.glInternalFmt!==Cs.COMPRESSED_RGB_ETC1_WEBGL)for(var f=0;f<6;++f){r=e.width,n=e.height;for(var p=0;p>1),n=Math.max(1,n>>1)}}}else for(var y=0;y<6;++y){r=e.width,n=e.height;for(var g=0;g>1),n=Math.max(1,n>>1)}break;default:console.error("Unsupported TextureType, create texture failed."),e.type=v.TEX2D,e.glTarget=i.TEXTURE_2D}}(this._device,this._gpuTexture),this._device.memoryStatus.textureSize-=i,this._device.memoryStatus.textureSize+=this._size)},Pe(e,[{key:"gpuTexture",get:function(){return this._gpuTexture}}]),e}(pe),va="webglcontextlost",ba=t("WebGLDevice",function(t){function e(){for(var e,i=arguments.length,r=new Array(i),n=0;nXe.MAX_MORPH_TARGET_COUNT?this._subMeshRenderings[r]=new Ma(this._mesh,r,this._mesh.struct.morph,e):this._subMeshRenderings[r]=new Da(this._mesh,r,this._mesh.struct.morph,e))}}}return t.prototype.createInstance=function(){for(var t=this,e=this._mesh.struct.primitives.length,i=new Array(e),r=0;r>1;return{width:1<<(1&i?r+1:r),height:1<=65536)return ze(10001,f,65536),"continue";u>>=1,_>>=1}o=i.createBuffer(new nt(d.INDEX,g.DEVICE,_,u)),l=new(Fa(h.stride))(e,h.offset,h.count),h.stride!==u&&(l=Fa(u).from(l)),t.loaded?o.update(l):t.once("load",(function(){o.update(l)}))}var p=a.vertexBundelIndices.map((function(t){return r[t]})),m=[];if(a.vertexBundelIndices.length>0)for(var y=a.vertexBundelIndices[0],v=t._struct.vertexBundles[y].attributes,b=0;b=r.length)){ii.transformMat4(Va,La,r[p]),i[p]=!0;var d=e[p];ii.min(d.center,d.center,Va),ii.max(d.halfExtents,d.halfExtents,Va)}}}}for(var m=0;m=this._struct.primitives.length)return null;var e=this._struct.primitives[t];if(!e.indexView)return null;var i=e.indexView.stride;return new(1===i?Uint8Array:2===i?Uint16Array:Uint32Array)(this._data.buffer,e.indexView.offset,e.indexView.count)},i.copyIndices=function(t,e){if(t>=this._struct.primitives.length)return!1;var i=this._struct.primitives[t];if(!i.indexView)return!1;for(var r=i.indexView.count,n=1===i.indexView.stride?_.R8UI:2===i.indexView.stride?_.R16UI:_.R32UI,s=Ha(new DataView(this._data.buffer),n),a=0;a=this._struct.primitives.length))for(var r,n=this._struct.primitives[t],s=Fe(n.vertexBundelIndices);!(r=s()).done;){var a=r.value,o=this._struct.vertexBundles[a],l=o.attributes.findIndex((function(t){return t.name===e}));if(!(l<0)){i(o,l);break}}},i._createVertexBuffers=function(t,e){var i=this;return this._struct.vertexBundles.map((function(r){var n=t.createBuffer(new nt(d.VERTEX,g.DEVICE,r.view.length,r.view.stride)),s=new Uint8Array(e,r.view.offset,r.view.length);return i.loaded?n.update(s):i.once("load",(function(){n.update(s)})),n}))},i.initDefault=function(e){t.prototype.initDefault.call(this,e),this.reset({struct:{vertexBundles:[],primitives:[]},data:ka})},i.validate=function(){return this.renderingSubMeshes.length>0&&this.data.byteLength>0},Pe(e,[{key:"_nativeAsset",get:function(){return this._data.buffer},set:function(t){this._data.byteLength===t.byteLength?this._data.set(new Uint8Array(t)):this._data=new Uint8Array(t),this.loaded=!0,this.emit("load")}},{key:"subMeshCount",get:function(){var t=this.renderingSubMeshes;return t?t.length:0}},{key:"minPosition",get:function(){return this.struct.minPosition}},{key:"maxPosition",get:function(){return this.struct.maxPosition}},{key:"struct",get:function(){return this._struct}},{key:"data",get:function(){return this._data}},{key:"hash",get:function(){return this._hash||(this._hash=ci(this._data,666)),this._hash}},{key:"jointBufferIndices",get:function(){return this._jointBufferIndices?this._jointBufferIndices:this._jointBufferIndices=this._struct.primitives.map((function(t){return t.jointMapIndex||0}))}},{key:"renderingSubMeshes",get:function(){return this.initialize(),this._renderingSubMeshes}}]),e}(ai),Ca=oi((Aa=wa).prototype,"_struct",[_i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return{vertexBundles:[],primitives:[]}}}),xa=oi(Aa.prototype,"_dataLength",[_i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 0}}),Ta=oi(Aa.prototype,"_hash",[_i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 0}}),Sa=Aa))||Sa);function Ga(t,e){for(var i=0,r=0;r0){if(r=null,t.attributes)for(var h,u=Fe(t.attributes);!(h=u()).done;){var c=h.value;if(c.name===Ut.ATTR_POSITION){r=c;break}}r||(r=Wa[0]),n.push(r);var f=Ht[r.format];o=Math.max(o,Math.floor(l.length/f.count)),a.push({offset:s,data:l,attribute:r}),s+=f.size}if(t.normals&&t.normals.length>0){if(r=null,t.attributes)for(var p,d=Fe(t.attributes);!(p=d()).done;){var m=p.value;if(m.name===Ut.ATTR_NORMAL){r=m;break}}r||(r=Wa[1]);var y=Ht[r.format];n.push(r),o=Math.max(o,Math.floor(t.normals.length/y.count)),a.push({offset:s,data:t.normals,attribute:r}),s+=y.size}if(t.uvs&&t.uvs.length>0){if(r=null,t.attributes)for(var g,v=Fe(t.attributes);!(g=v()).done;){var b=g.value;if(b.name===Ut.ATTR_TEX_COORD){r=b;break}}r||(r=Wa[2]);var S=Ht[r.format];n.push(r),o=Math.max(o,Math.floor(t.uvs.length/S.count)),a.push({offset:s,data:t.uvs,attribute:r}),s+=S.size}if(t.tangents&&t.tangents.length>0){if(r=null,t.attributes)for(var A,C=Fe(t.attributes);!(A=C()).done;){var x=A.value;if(x.name===Ut.ATTR_TANGENT){r=x;break}}r||(r=Wa[3]);var T=Ht[r.format];n.push(r),o=Math.max(o,Math.floor(t.tangents.length/T.count)),a.push({offset:s,data:t.tangents,attribute:r}),s+=T.size}if(t.colors&&t.colors.length>0){if(r=null,t.attributes)for(var w,E=Fe(t.attributes);!(w=E()).done;){var B=w.value;if(B.name===Ut.ATTR_COLOR){r=B;break}}r||(r=Wa[4]);var D=Ht[r.format];n.push(r),o=Math.max(o,Math.floor(t.colors.length/D.count)),a.push({offset:s,data:t.colors,attribute:r}),s+=D.size}if(t.customAttributes)for(var M,P=Fe(t.customAttributes);!(M=P()).done;){var R=M.value,I=Ht[R.attr.format];n.push(R.attr),o=Math.max(o,Math.floor(R.values.length/I.count)),a.push({offset:s,data:R.values,attribute:R.attr}),s+=I.size}for(var O=new Ea,L=new ArrayBuffer(o*s),V=new DataView(L),k=0,N=a;k0&&this.bindposes.length>0},Pe(e,[{key:"joints",get:function(){return this._joints},set:function(t){this._joints=t}},{key:"bindposes",get:function(){return this._bindposes},set:function(t){this._bindposes=t}},{key:"inverseBindposes",get:function(){if(!this._invBindposes){this._invBindposes=[];for(var t=0;t0&&t.refCount--,!t.refCount&&t.readyToBeDeleted){var e=t.skeletonHash^t.clipHash;(void 0!==this._chunkIdxMap.get(e)?this._customPool:this._pool).free(t.handle),this._textureBuffers.get(e)===t&&this._textureBuffers.delete(e)}},e.releaseSkeleton=function(t){for(var e=this._textureBuffers.values(),i=e.next();!i.done;){var r=i.value;r.skeletonHash===t.hash&&(r.readyToBeDeleted=!0,r.refCount?this._textureBuffers.delete(r.skeletonHash^r.clipHash):this.releaseHandle(r)),i=e.next()}},e.releaseAnimationClip=function(t){for(var e=this._textureBuffers.values(),i=e.next();!i.done;){var r=i.value;r.clipHash===t.hash&&(r.readyToBeDeleted=!0,r.refCount?this._textureBuffers.delete(r.skeletonHash^r.clipHash):this.releaseHandle(r)),i=e.next()}},e._createAnimInfos=function(t,e,i){for(var r=[],n=t.joints,s=t.bindposes,a=n.length,o=Zi.getOrExtract(e),l=0;l=0&&(e.push(n),t.push(a))}}var Bh,Dh,Mh,Ph,Rh,Ih,Oh,Fh,Lh,Vh,kh,Nh,Gh,zh,Uh,Hh,jh,Wh,Xh,Yh,qh,Jh,Kh,Zh,Qh,$h,tu,eu,iu,ru,nu,su,au,ou,lu,hu,uu,cu,_u,fu,pu,du,mu,yu,gu,vu=new ii,bu=new ii,Su=new ii,Au=new ii,Cu=new Ri,xu=new ni,Tu=function(t){function e(){var e;return(e=t.call(this)||this).uploadAnimation=null,e._buffers=[],e._dataArray=[],e._joints=[],e._bufferIndices=null,e.type=ar.SKINNING,e}Me(e,t);var i=e.prototype;return i.destroy=function(){if(this.bindSkeleton(),this._buffers.length){for(var e=0;e=0?this.instancedAttributes.views[r][0]=i.data[0]:i.dirty&&(i.buffer.update(i.data),i.dirty=!1),!0},i.uploadAnimation=function(t){if(this._skeleton&&this._mesh&&this.uploadedAnim!==t){this.uploadedAnim=t;var e=this._dataPoolManager,i=null;t?(i=e.jointTexturePool.getSequencePoseTexture(this._skeleton,t,this._mesh,this.transform),this._jointsMedium.boundsInfo=i&&i.bounds.get(this._mesh.hash),this._modelBounds=null):(i=e.jointTexturePool.getDefaultPoseTexture(this._skeleton,this._mesh,this.transform),this._jointsMedium.boundsInfo=null,this._modelBounds=i&&i.bounds.get(this._mesh.hash)[0]),this._applyJointTexture(i)}},i._applyJointTexture=function(t){void 0===t&&(t=null);var e=this._jointsMedium.texture;if(e&&e!==t&&this._dataPoolManager.jointTexturePool.releaseHandle(e),this._jointsMedium.texture=t,t){var i=this._jointsMedium,r=i.buffer,n=i.jointTextureInfo;n[0]=t.handle.texture.width,n[1]=this._skeleton.joints.length,n[2]=t.pixelOffset+.1,n[3]=1/n[0],this.updateInstancedJointTextureInfo(),r&&r.update(n);for(var s=t.handle.texture,a=0;a=0){var n=this.instancedAttributes.views[r];n[0]=i.data[0],n[1]=e[1],n[2]=e[2]}},e}(Vo),Bu=function(e){return t({SkinnedMeshRenderer:e,SkinningModelComponent:e}),e}((Bh=ri("cc.SkinnedMeshRenderer"),Dh=wi(),Mh=Ei(100),Ph=Bi(),Rh=bi(ul),Ih=bi(ur),Oh=bi(ul),Fh=bi(ur),Lh=Di(),Bh(Vh=Dh(Vh=Mh(Vh=Si(Vh=Ph((zh=function(t){function e(){var e;return e=t.call(this)||this,li(e,"_skeleton",Nh,hi(e)),li(e,"_skinningRoot",Gh,hi(e)),e._clip=null,e._modelType=Eu,e}Me(e,t);var i=e.prototype;return i.__preload=function(){this._updateModelType()},i.uploadAnimation=function(t){this._clip=t,this.model&&this.model.uploadAnimation&&this.model.uploadAnimation(t)},i.setUseBakedAnimation=function(t){void 0===t&&(t=!0);var e=t?Eu:Tu;this._modelType!==e&&(this._modelType=e,this._model&&(He.director.root.destroyModel(this._model),this._model=null,this._models.length=0,this._updateModels(),this._updateCastShadow(),this.enabledInHierarchy&&this._attachToScene()))},i.setMaterial=function(e,i){t.prototype.setMaterial.call(this,e,i),this._modelType===Tu&&this.getMaterialInstance(i)},i._updateModelParams=function(){this._update(),t.prototype._updateModelParams.call(this)},i._updateModelType=function(){if(this._skinningRoot){var t=this._skinningRoot.getComponent("cc.SkeletalAnimation");t?this.setUseBakedAnimation(t.useBakedAnimation):this.setUseBakedAnimation(!1)}},i._update=function(){this.model&&(this.model.bindSkeleton(this._skeleton,this._skinningRoot,this._mesh),this.model.uploadAnimation&&this.model.uploadAnimation(this._clip))},Pe(e,[{key:"skeleton",get:function(){return this._skeleton},set:function(t){t!==this._skeleton&&(this._skeleton=t,this._update())}},{key:"skinningRoot",get:function(){return this._skinningRoot},set:function(t){t!==this._skinningRoot&&(this._skinningRoot=t,this._updateModelType(),this._update())}},{key:"model",get:function(){return this._model}}]),e}(zo),Nh=oi((kh=zh).prototype,"_skeleton",[Rh],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return null}}),Gh=oi(kh.prototype,"_skinningRoot",[Ih],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return null}}),oi(kh.prototype,"skeleton",[Oh],Object.getOwnPropertyDescriptor(kh.prototype,"skeleton"),kh.prototype),oi(kh.prototype,"skinningRoot",[Fh,Lh],Object.getOwnPropertyDescriptor(kh.prototype,"skinningRoot"),kh.prototype),Vh=kh))||Vh)||Vh)||Vh)||Vh)||Vh)),Du=new St(Ut.ATTR_BATCH_ID,_.R32F),Mu=new St(Ut.ATTR_BATCH_UV,_.RG32F),Pu=Ht[Du.format].size+Ht[Mu.format].size,Ru=function(e){return t({SkinnedMeshUnit:e,SkinningModelUnit:e}),e}((Uh=ri("cc.SkinnedMeshUnit"),Hh=bi(Na),jh=bi(ul),Wh=bi(cr),Xh=bi(Bu),Uh((eu=function(){function t(){li(this,"mesh",Jh,this),li(this,"skeleton",Kh,this),li(this,"material",Zh,this),li(this,"_localTransform",Qh,this),li(this,"_offset",$h,this),li(this,"_size",tu,this)}return Pe(t,[{key:"offset",get:function(){return this._offset},set:function(t){dr.copy(this._offset,t)}},{key:"size",get:function(){return this._size},set:function(t){dr.copy(this._size,t)}},{key:"copyFrom",get:function(){return null},set:function(t){t&&(this.mesh=t.mesh,this.skeleton=t.skeleton,this.material=t.getMaterial(0),t.skinningRoot&&Ki(t.node,t.skinningRoot,this._localTransform))}}]),t}(),Jh=oi((qh=eu).prototype,"mesh",[Hh],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return null}}),Kh=oi(qh.prototype,"skeleton",[jh],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return null}}),Zh=oi(qh.prototype,"material",[Wh],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return null}}),Qh=oi(qh.prototype,"_localTransform",[_i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new Ri}}),$h=oi(qh.prototype,"_offset",[_i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new dr(0,0)}}),tu=oi(qh.prototype,"_size",[_i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new dr(1,1)}}),oi(qh.prototype,"offset",[vi],Object.getOwnPropertyDescriptor(qh.prototype,"offset"),qh.prototype),oi(qh.prototype,"size",[vi],Object.getOwnPropertyDescriptor(qh.prototype,"size"),qh.prototype),oi(qh.prototype,"copyFrom",[Xh],Object.getOwnPropertyDescriptor(qh.prototype,"copyFrom"),qh.prototype),Yh=qh))||Yh)),Iu=new Ri,Ou=(new Ri,new ii),Fu=function(e){return t({SkinnedMeshBatchRenderer:e,BatchedSkinningModelComponent:e}),e}((iu=ri("cc.SkinnedMeshBatchRenderer"),ru=wi(),nu=Ei(100),su=Bi(),au=Di(),ou=bi([Fi]),lu=Di(),hu=bi([Ru]),uu=Di(),cu=Mi(),_u=Mi(),iu(fu=ru(fu=nu(fu=Si(fu=su((gu=function(t){function e(){for(var e,i=arguments.length,r=new Array(i),n=0;n=p.SAMPLER1D){var s=null;t.batchableTextureNames.find((function(t){return t===i}))?((s=t._textures[i])||(s=t.createTexture(i)),t.cookTextures(s,i,r)):t.units.some((function(t){return s=t.material&&t.material.getProperty(i,r)})),s&&e.setProperty(i,s,r)}else{for(var a=[],o=0;o=0)return"continue";t.push(r),e.push(Ri.multiply(new Ri,n.bindposes[i]||Ri.IDENTITY,Iu))},a=0;at[i]?1:t[e]0&&f.copyBuffersToTexture(s,_,a),r.length>0&&f.copyTexImagesToTexture(r,_,n)},i.createTexture=function(t){var e=new qe;return e.setFilters(_r.LINEAR,_r.LINEAR),e.setMipFilter(_r.NEAREST),e.reset({width:this.atlasSize,height:this.atlasSize,format:fr.RGBA8888}),e.loaded=!0,this._textures[t]=e,e},i.resizeAtlases=function(){for(var t in this._textures)this._textures[t].reset({width:this.atlasSize,height:this.atlasSize,format:fr.RGBA8888})},i._createUnitMesh=function(t,e){for(var i=JSON.parse(JSON.stringify(e.struct)),r={},n=0;n>2,o=i.vertexCount,l=s.indicesOffset,h=s.vertexOffset;s.request(o,i.indicesCount)||(s=e.currBufferBatch,o=0,l=0,h=0);var u=s.vData,c=s.iData;t.getWorldMatrix(_c);for(var _=0;_this._width&&(this._x=2,this._y=this._nexty),this._y+o+2>this._nexty&&(this._nexty=this._y+o+2),this._nexty>this._height)return null;He.internal.dynamicAtlasManager.textureBleeding&&((a<=8||o<=8)&&(this._texture.drawTextureAt(i.image,this._x-1,this._y-1),this._texture.drawTextureAt(i.image,this._x-1,this._y+1),this._texture.drawTextureAt(i.image,this._x+1,this._y-1),this._texture.drawTextureAt(i.image,this._x+1,this._y+1)),this._texture.drawTextureAt(i.image,this._x-1,this._y),this._texture.drawTextureAt(i.image,this._x+1,this._y),this._texture.drawTextureAt(i.image,this._x,this._y-1),this._texture.drawTextureAt(i.image,this._x,this._y+1)),this._texture.drawTextureAt(i.image,this._x,this._y),this._innerTextureInfos[i.getId()]={x:this._x,y:this._y,texture:i},this._count++,n+=this._x,s+=this._y,this._x+=a+2}var l={x:n,y:s,texture:this._texture};return this._innerSpriteFrames.push(t),l},e.deleteInnerTexture=function(t){t&&this._innerTextureInfos[t.getId()]&&(delete this._innerTextureInfos[t.getId()],this._count--)},e.isEmpty=function(){return this._count<=0},e.reset=function(){this._x=2,this._y=2,this._nexty=2;for(var t=this._innerSpriteFrames,e=0,i=t.length;e=0;e--)this._atlases[e].deleteInnerTexture(t),this._atlases[e].isEmpty()&&(this._atlases[e].destroy(),this._atlases.splice(e,1),this._atlasIndex--)},e.packToDynamicAtlas=function(t,e){if(!e._original&&e.packable){var i=this.insertSpriteFrame(e);i&&e._setDynamicAtlasFrame(i)}},Pe(t,[{key:"enabled",get:function(){return this._enabled},set:function(t){this._enabled!==t&&(t?(this.reset(),He.director.on(He.Director.EVENT_BEFORE_SCENE_LAUNCH,this.beforeSceneLoad,this)):(this.reset(),He.director.off(He.Director.EVENT_BEFORE_SCENE_LAUNCH,this.beforeSceneLoad,this)),this._enabled=t)}},{key:"maxAtlasCount",get:function(){return this._maxAtlasCount},set:function(t){this._maxAtlasCount=t}},{key:"atlasCount",get:function(){return this._atlases.length}},{key:"textureBleeding",get:function(){return this._textureBleeding},set:function(t){this._textureBleeding=t}},{key:"textureSize",get:function(){return this._textureSize},set:function(t){this._textureSize=t}},{key:"maxFrameSize",get:function(){return this._maxFrameSize},set:function(t){this._maxFrameSize=t}}]),t}();mc.instance=void 0;var yc,gc=t("dynamicAtlasManager",mc.instance=new mc);He.internal.dynamicAtlasManager=gc;var vc,bc,Sc,Ac,Cc=[{u:0,v:0},{u:0,v:0},{u:0,v:0},{u:0,v:0}],xc=t("SpriteFrame",ri("cc.SpriteFrame")(yc=function(t){function e(){var e;return(e=t.call(this)||this).vertices=null,e.uv=[],e.uvHash=0,e.unbiasUV=[],e.uvSliced=[],e._rect=new gr,e._offset=new dr,e._originalSize=new vr,e._rotated=!1,e._capInsets=[0,0,0,0],e._atlasUuid="",e._texture=void 0,e._isFlipUVY=!1,e._isFlipUVX=!1,e._original=null,e._packable=!0,e}Me(e,t),e.createWithImage=function(t){var i=t instanceof Ye?t:new Ye(t),r=new qe;r.image=i;var n=new e;return n.texture=r,n};var i=e.prototype;return i.textureLoaded=function(){return this.texture&&this.texture.loaded},i.isRotated=function(){return this._rotated},i.setRotated=function(t){this.rotated=t},i.getRect=function(t){return t?(t.set(this._rect),t):this._rect.clone()},i.setRect=function(t){this.rect=t},i.getOriginalSize=function(t){return t?(t.set(this._originalSize),t):this._originalSize.clone()},i.setOriginalSize=function(t){this.originalSize=t},i.getOffset=function(t){return t?(t.set(this._offset),t):this._offset.clone()},i.setOffset=function(t){this.offset=t},i.getGFXTexture=function(){return this._texture.getGFXTexture()},i.getGFXSampler=function(){return this._texture.getGFXSampler()},i.getHash=function(){return this._texture.getHash()},i.getSamplerHash=function(){return this._texture.getSamplerHash()},i.reset=function(t,e){void 0===e&&(e=!1);var i=!1;e&&(this._originalSize.set(0,0),this._rect.set(0,0,0,0),this._offset.set(0,0),this._capInsets=[0,0,0,0],this._rotated=!1,i=!0),t&&(t.texture&&(this.loaded=!1,this._rect.x=this._rect.y=0,this._rect.width=t.texture.width,this._rect.height=t.texture.height,this._refreshTexture(t.texture),this.checkRect(this._texture)),t.originalSize&&this._originalSize.set(t.originalSize),t.rect&&this._rect.set(t.rect),t.offset&&this._offset.set(t.offset),void 0!==t.borderTop&&(this._capInsets[1]=t.borderTop),void 0!==t.borderBottom&&(this._capInsets[3]=t.borderBottom),void 0!==t.borderLeft&&(this._capInsets[0]=t.borderLeft),void 0!==t.borderRight&&(this._capInsets[2]=t.borderRight),void 0!==t.isRotate&&(this._rotated=!!t.isRotate),void 0!==t.isFlipUv&&(this._isFlipUVY=!!t.isFlipUv),i=!0),i&&this.texture&&this._calculateUV()},i.checkRect=function(t){var e=this._rect,i=e.x,r=e.y;return this._rotated?(i+=e.height,r+=e.width):(i+=e.width,r+=e.height),i>t.width?(Re(3300,this.name+"/"+t.name,i,t.width),!1):!(r>t.height&&(Re(3301,this.name+"/"+t.name,r,t.height),1))},i.onLoaded=function(){this.loaded=!0,this.emit("load")},i.destroy=function(){return this._packable&&gc&&gc.deleteAtlasSpriteFrame(this),t.prototype.destroy.call(this)},i._calculateSlicedUV=function(){var t=this._rect,e=this.texture,i=e.width,r=e.height,n=this._capInsets[0],s=this._capInsets[2],a=t.width-n-s,o=this._capInsets[1],l=this._capInsets[3],h=t.height-o-l,u=this.uvSliced;if(u.length=0,this._rotated){Cc[0].u=t.x/i,Cc[1].u=(t.x+l)/i,Cc[2].u=(t.x+l+h)/i,Cc[3].u=(t.x+t.height)/i,Cc[3].v=t.y/r,Cc[2].v=(t.y+n)/r,Cc[1].v=(t.y+n+a)/r,Cc[0].v=(t.y+t.width)/r;for(var c=0;c<4;++c)for(var _=Cc[c],f=0;f<4;++f){var p=Cc[3-f];u.push({u:_.u,v:p.v})}}else{Cc[0].u=t.x/i,Cc[1].u=(t.x+n)/i,Cc[2].u=(t.x+n+a)/i,Cc[3].u=(t.x+t.width)/i,Cc[3].v=t.y/r,Cc[2].v=(t.y+o)/r,Cc[1].v=(t.y+o+h)/r,Cc[0].v=(t.y+t.height)/r;for(var d=0;d<4;++d)for(var m=Cc[d],y=0;y<4;++y){var g=Cc[y];u.push({u:g.u,v:m.v})}}},i._calculateUV=function(){var t=this._rect,e=this.uv,i=this.unbiasUV,r=this.texture,n=r.width,s=r.height;if(this._rotated){var a=0===n?0:t.x/n,o=0===n?1:(t.x+t.height)/n,l=0===s?0:t.y/s,h=0===s?1:(t.y+t.width)/s;this._isFlipUVX&&this._isFlipUVY?(e[0]=o,e[1]=h,e[2]=o,e[3]=l,e[4]=a,e[5]=h,e[6]=a,e[7]=l):this._isFlipUVX?(e[0]=o,e[1]=l,e[2]=o,e[3]=h,e[4]=a,e[5]=l,e[6]=a,e[7]=h):this._isFlipUVY?(e[0]=a,e[1]=h,e[2]=a,e[3]=l,e[4]=o,e[5]=h,e[6]=o,e[7]=l):(e[0]=a,e[1]=l,e[2]=a,e[3]=h,e[4]=o,e[5]=l,e[6]=o,e[7]=h);var u=0===n?0:t.x/n,c=0===n?1:(t.x+t.height)/n,_=0===s?0:t.y/s,f=0===s?1:(t.y+t.width)/s;this._isFlipUVX&&this._isFlipUVY?(i[0]=c,i[1]=f,i[2]=c,i[3]=_,i[4]=u,i[5]=f,i[6]=u,i[7]=_):this._isFlipUVX?(i[0]=c,i[1]=_,i[2]=c,i[3]=f,i[4]=u,i[5]=_,i[6]=u,i[7]=f):this._isFlipUVY?(i[0]=u,i[1]=f,i[2]=u,i[3]=_,i[4]=c,i[5]=f,i[6]=c,i[7]=_):(i[0]=u,i[1]=_,i[2]=u,i[3]=f,i[4]=c,i[5]=_,i[6]=c,i[7]=f)}else{var p=0===n?0:t.x/n,d=0===n?1:(t.x+t.width)/n,m=0===s?1:(t.y+t.height)/s,y=0===s?0:t.y/s;this._isFlipUVX&&this._isFlipUVY?(e[0]=d,e[1]=y,e[2]=p,e[3]=y,e[4]=d,e[5]=m,e[6]=p,e[7]=m):this._isFlipUVX?(e[0]=d,e[1]=m,e[2]=p,e[3]=m,e[4]=d,e[5]=y,e[6]=p,e[7]=y):this._isFlipUVY?(e[0]=p,e[1]=y,e[2]=d,e[3]=y,e[4]=p,e[5]=m,e[6]=d,e[7]=m):(e[0]=p,e[1]=m,e[2]=d,e[3]=m,e[4]=p,e[5]=y,e[6]=d,e[7]=y);var g=0===n?0:t.x/n,v=0===n?1:(t.x+t.width)/n,b=0===s?1:(t.y+t.height)/s,S=0===s?0:t.y/s;this._isFlipUVX&&this._isFlipUVY?(i[0]=v,i[1]=S,i[2]=g,i[3]=S,i[4]=v,i[5]=b,i[6]=g,i[7]=b):this._isFlipUVX?(i[0]=v,i[1]=b,i[2]=g,i[3]=b,i[4]=v,i[5]=S,i[6]=g,i[7]=S):this._isFlipUVY?(i[0]=g,i[1]=S,i[2]=v,i[3]=S,i[4]=g,i[5]=b,i[6]=v,i[7]=b):(i[0]=g,i[1]=b,i[2]=v,i[3]=b,i[4]=g,i[5]=S,i[6]=v,i[7]=S)}for(var A="",C=0;Ct.maxFrameSize||r>t.maxFrameSize?this._packable=!1:e.image&&e.image instanceof HTMLCanvasElement&&(this._packable=!0)}else this._packable=!1}},i._serialize=function(){return null},i._deserialize=function(t){var e=t,i=e.rect;i&&(this._rect=new gr(i.x,i.y,i.width,i.height));var r=e.offset;e.offset&&(this._offset=new dr(r.x,r.y));var n=e.originalSize;e.originalSize&&(this._originalSize=new vr(n.width,n.height)),this._rotated=!!e.rotated,this._name=e.name,this._packable=!!e.packable;var s=e.capInsets;s&&(this._capInsets[0]=s[0],this._capInsets[1]=s[1],this._capInsets[2]=s[2],this._capInsets[3]=s[3]),this.vertices=e.vertices,this.vertices&&(this.vertices.nu=[],this.vertices.nv=[])},i.clone=function(){var t,i,r,n,s,a,o,l,h=new e,u=this.vertices;return h.vertices=u?{x:u.x,y:u.y,triangles:u.triangles,nu:null===(t=u.nu)||void 0===t?void 0:t.slice(0),u:null===(i=u.u)||void 0===i?void 0:i.slice(0),nv:null===(r=u.nv)||void 0===r?void 0:r.slice(0),v:null===(n=u.v)||void 0===n?void 0:n.slice(0)}:null,(s=h.uv).splice.apply(s,[0,h.uv.length].concat(this.uv)),h.uvHash=this.uvHash,(a=h.unbiasUV).splice.apply(a,[0,h.unbiasUV.length].concat(this.unbiasUV)),(o=h.uvSliced).splice.apply(o,[0,h.uvSliced.length].concat(this.uvSliced)),h._rect.set(this._rect),h._offset.set(this._offset),h._originalSize.set(this._originalSize),h._rotated=this._rotated,(l=h._capInsets).splice.apply(l,[0,h._capInsets.length].concat(this._capInsets)),h._atlasUuid=this._atlasUuid,h._texture=this._texture,h._isFlipUVX=this._isFlipUVX,h._isFlipUVY=this._isFlipUVY,h},i._textureLoaded=function(){var t=this._texture,e={},i=!1;0!==this._rect.width&&0!==this._rect.height&&this.checkRect(t)||(e.rect=new gr(0,0,t.width,t.height),i=!0),(0===this._originalSize.width||0===this._originalSize.height||i)&&(e.originalSize=new vr(t.width,t.height),i=!0),i&&(this.reset(e),this.onLoaded()),this._checkPackable()},i._refreshTexture=function(t){this._texture=t,t.loaded?this._textureLoaded():t.once("load",this._textureLoaded,this)},i.initDefault=function(e){t.prototype.initDefault.call(this,e);var i=new qe;i.initDefault(),this._refreshTexture(i),this._calculateUV()},i.validate=function(){return this._texture&&this._rect&&0!==this._rect.width&&0!==this._rect.height},Pe(e,[{key:"insetTop",get:function(){return this._capInsets[1]},set:function(t){this._capInsets[1]!==t&&(this._capInsets[1]=t,this._texture&&this._calculateSlicedUV())}},{key:"insetBottom",get:function(){return this._capInsets[3]},set:function(t){this._capInsets[3]!==t&&(this._capInsets[3]=t,this._texture&&this._calculateSlicedUV())}},{key:"insetLeft",get:function(){return this._capInsets[0]},set:function(t){this._capInsets[0]!==t&&(this._capInsets[0]=t,this._texture&&this._calculateSlicedUV())}},{key:"insetRight",get:function(){return this._capInsets[2]},set:function(t){this._capInsets[2]!==t&&(this._capInsets[2]=t,this._texture&&this._calculateSlicedUV())}},{key:"rect",get:function(){return this._rect},set:function(t){this._rect.equals(t)||(this._rect.set(t),this._texture&&this._calculateUV())}},{key:"originalSize",get:function(){return this._originalSize},set:function(t){this._originalSize.equals(t)||(this._originalSize.set(t),this._texture&&this._calculateUV())}},{key:"offset",get:function(){return this._offset},set:function(t){this._offset.set(t)}},{key:"rotated",get:function(){return this._rotated},set:function(t){this._rotated!==t&&(this._rotated=t,this._texture&&this._calculateUV())}},{key:"texture",get:function(){return this._texture},set:function(t){t?this.reset({texture:t},!0):console.warn("Error Texture in "+this.name)}},{key:"atlasUuid",get:function(){return this._atlasUuid},set:function(t){this._atlasUuid=t}},{key:"width",get:function(){return this._texture.width}},{key:"height",get:function(){return this._texture.height}},{key:"_textureSource",set:function(t){window.Build?this._texture=t:t&&(this._refreshTexture(t),this._calculateUV())}},{key:"flipUVX",get:function(){return this._isFlipUVX},set:function(t){this._isFlipUVX=t,this._calculateUV()}},{key:"flipUVY",get:function(){return this._isFlipUVY},set:function(t){this._isFlipUVY=t,this._calculateUV()}},{key:"packable",get:function(){return this._packable},set:function(t){this._packable=t}},{key:"original",get:function(){return this._original}}]),e}(ai))||yc);He.SpriteFrame=xc;var Tc,wc=t("SpriteAtlas",ri("cc.SpriteAtlas")((Ac=function(t){function e(){for(var e,i=arguments.length,r=new Array(i),n=0;n0){var e=this.spriteFrames[t[0]];return e&&e.texture}return null},i.getSpriteFrame=function(t){var e=this.spriteFrames[t];return e?(e.name||(e.name=t),e):null},i.getSpriteFrames=function(){for(var t=[],e=this.spriteFrames,i=0,r=Object.keys(e);i=this.limit){var r=this.tail;delete this.datas[r.key],this.count--,this.tail=r.prev,this.tail.next=null,r.prev=null,r.next=null,Jc.put(r)}this.moveToHead(i)},e.remove=function(t){t.prev?t.prev.next=t.next:this.head=t.next,t.next?t.next.prev=t.prev:this.tail=t.prev,delete this.datas[t.key],this.count--},e.get=function(t){var e=this.datas[t];return e?(this.remove(e),this.moveToHead(e),e.value):null},e.clear=function(){this.count=0,this.datas={},this.head=null,this.tail=null},e.has=function(t){return!!this.datas[t]},e.delete=function(t){var e=this.datas[t];this.remove(e)},t}())(100),Qc=/([a-zA-Z0-9ÄÖÜäöüßéèçàùêâîôûа-яА-ЯЁё]+|\S)/,$c=/^[!,.:;'}\]%\?>、‘“》?。,!]/,t_=/([a-zA-Z0-9ÄÖÜäöüßéèçàùêâîôûаíìÍÌïÁÀáàÉÈÒÓòóŐőÙÚŰúűñÑæÆœŒÃÂãÔõěščřžýáíéóúůťďňĚŠČŘŽÁÍÉÓÚŤżźśóńłęćąŻŹŚÓŃŁĘĆĄ-яА-ЯЁё]+|\S)$/,e_=/[a-zA-Z0-9ÄÖÜäöüßéèçàùêâîôûаíìÍÌïÁÀáàÉÈÒÓòóŐőÙÚŰúűñÑæÆœŒÃÂãÔõěščřžýáíéóúůťďňĚŠČŘŽÁÍÉÓÚŤżźśóńłęćąŻŹŚÓŃŁĘĆĄ-яА-ЯЁё]+$/,i_=/^[a-zA-Z0-9ÄÖÜäöüßéèçàùêâîôûаíìÍÌïÁÀáàÉÈÒÓòóŐőÙÚŰúűñÑæÆœŒÃÂãÔõěščřžýáíéóúůťďňĚŠČŘŽÁÍÉÓÚŤżźśóńłęćąŻŹŚÓŃŁĘĆĄ-яА-ЯЁё]/;function r_(t){return/^[\u4E00-\u9FFF\u3400-\u4DFF]+$/.test(t)||/[\u3000-\u303F]|[\u3040-\u309F]|[\u30A0-\u30FF]|[\uFF00-\uFFEF]|[\u4E00-\u9FAF]|[\u2605-\u2606]|[\u2190-\u2195]|\u203B/g.test(t)||/^[\u1100-\u11FF]|[\u3130-\u318F]|[\uA960-\uA97F]|[\uAC00-\uD7AF]|[\uD7B0-\uD7FF]+$/.test(t)}function n_(t){var e=t.charCodeAt(0);return e>=9&&e<=13||32===e||133===e||160===e||5760===e||e>=8192&&e<=8202||8232===e||8233===e||8239===e||8287===e||12288===e}function s_(t,e,i){var r=(i||t.font)+"🎮"+e,n=Zc.get(r);if(null!==n)return n;var s=t.measureText(e),a=s&&s.width||0;return Zc.put(r,a),a}function a_(t,e,i){var r=e,n=i,s=t[e];if(s>="\udc00"&&s<="\udfff"&&r--,void 0!==i)if(i-1!==e){var a=t[i-1];a>="\ud800"&&a<="\udbff"&&n--}else s>="\ud800"&&s<="\udbff"&&n++;return t.substring(r,n)}function o_(t,e,i,r){var n=[];if(0===t.length||i<0)return n.push(""),n;for(var s=t;e>i&&s.length>1;){for(var a=s.length*(i/e)|0,o=a_(s,a),l=e-r(o),h=o,u=0,c=0;l>i&&c++<10;)a*=i/l,l=e-r(o=a_(s,a|=0));for(c=0;l<=i&&c++<10;){if(o){var _=Qc.exec(o);u=_?_[0].length:1,h=o}l=e-r(o=a_(s,a+=u))}0==(a-=u)?(a=1,h=a_(s,1)):1===a&&s[0]>="\ud800"&&s[0]<="\udbff"&&(a=2,h=a_(s,2));var f=a_(s,0,a),p=void 0;$c.test(h||o)&&(0==(a-=(p=t_.exec(f))?p[0].length:0)&&(a=1),h=a_(s,a),f=a_(s,0,a)),i_.test(h)&&(p=e_.exec(f))&&f!==p[0]&&(h=a_(s,a-=p[0].length),f=a_(s,0,a)),(0===n.length||(f=f.trim()).length>0)&&n.push(f),e=r(s=h||o)}return(0===n.length||(s=s.trim()).length>0)&&n.push(s),n}var l_,h_,u_,c_,__,f_,p_,d_,m_,y_,g_,v_,b_,S_,A_,C_=t("CanvasPool",function(){function t(){this.pool=[]}t.getInstance=function(){return Kc||(Kc=new t),Kc};var e=t.prototype;return e.get=function(){var t=this.pool.pop();if(!t){var e=document.createElement("canvas"),i=e.getContext("2d");t={canvas:e,context:i}}return t},e.put=function(t){this.pool.length>=Oe.MAX_LABEL_CANVAS_POOL_SIZE||this.pool.push(t)},t}()),x_=Ui.WHITE.clone(),T_=function(){this.u=0,this.v=0,this.w=0,this.h=0,this.texture=null,this.offsetX=0,this.offsetY=0,this.valid=!1,this.xAdvance=0},w_="rgba(255, 255, 255, "+(1/255).toFixed(3)+")",E_=function(){function t(t,e){this.image=null,this.labelInfo=void 0,this.char=void 0,this.data=null,this.canvas=null,this.context=null,this.width=0,this.height=0,this.offsetY=0,this.hash=void 0,this.char=t,this.labelInfo=e,this.hash=t.charCodeAt(0)+e.hash}var e=t.prototype;return e.updateRenderData=function(){this._updateProperties(),this._updateTexture()},e.destroy=function(){this.image=null},e._updateProperties=function(){if(this.data=C_.getInstance().get(),this.canvas=this.data.canvas,this.context=this.data.context,this.context){this.context.font=this.labelInfo.fontDesc;var t=s_(this.context,this.char,this.labelInfo.fontDesc),e=2*this.labelInfo.margin+2;this.width=parseFloat(t.toFixed(2))+e,this.height=(1+Yc)*this.labelInfo.fontSize+e,this.offsetY=-this.labelInfo.fontSize*Yc/2}this.canvas.width!==this.width&&(this.canvas.width=this.width),this.canvas.height!==this.height&&(this.canvas.height=this.height),this.image||(this.image=new Ye),this.image.reset(this.canvas)},e._updateTexture=function(){if(this.context&&this.canvas){var t=this.context,e=this.labelInfo,i=this.canvas.width,r=this.canvas.height;t.textAlign="center",t.textBaseline="alphabetic",t.clearRect(0,0,i,r),t.fillStyle=w_,t.fillRect(0,0,i,r),t.font=e.fontDesc;var n=e.fontSize,s=i/2,a=r/2+n*qc+0*n,o=e.color;if(t.lineJoin="round",t.fillStyle="rgba("+o.r+", "+o.g+", "+o.b+", 1)",e.isOutlined){var l=e.out||x_;t.strokeStyle="rgba("+l.r+", "+l.g+", "+l.b+", "+l.a/255+")",t.lineWidth=2*e.margin,t.strokeText(this.char,s,a)}t.fillText(this.char,s,a)}},t}(),B_=function(t){function e(){return t.apply(this,arguments)||this}Me(e,t);var i=e.prototype;return i.initWithSize=function(t,e,i){void 0===i&&(i=fr.RGBA8888),this.reset({width:t,height:e,format:i}),this.loaded=!0,this.emit("load")},i.drawTextureAt=function(t,e,i){var r=this.getGFXTexture();if(t&&r){var n=this._getGFXDevice();if(n){var s=new tt;s.texOffset.x=e,s.texOffset.y=i,s.texExtent.width=t.width,s.texExtent.height=t.height,n.copyTexImagesToTexture([t.data],r,[s])}else console.warn("Unable to get device")}},e}(qe),D_=function(){function t(t,e){this._x=0,this._y=0,this._nextY=0,this._width=0,this._height=0,this._halfBleed=0,this._dirty=!1;var i=new B_;i.initWithSize(t,e),this.fontDefDictionary=new jc(i),this._halfBleed=1,this._width=t,this._height=e,wr.on(Er.EVENT_BEFORE_SCENE_LAUNCH,this.beforeSceneLoad,this)}var e=t.prototype;return e.insertLetterTexture=function(t){var e=t.image,i=wr.root.device;if(!e||!this.fontDefDictionary||!i)return null;var r=e.width,n=e.height;if(this._x+r+0>this._width&&(this._x=0,this._y=this._nextY),this._y+n>this._nextY&&(this._nextY=this._y+n+0),this._nextY>this._height)return ze(12100),null;this.fontDefDictionary.texture.drawTextureAt(e,this._x,this._y),this._dirty=!0;var s=new T_;return s.u=this._x+this._halfBleed,s.v=this._y+this._halfBleed,s.texture=this.fontDefDictionary.texture,s.valid=!0,s.w=t.width-2,s.h=t.height-2,s.xAdvance=s.w,s.offsetY=t.offsetY,this._x+=r+0,this.fontDefDictionary.addLetterDefinitions(t.hash,s),s},e.update=function(){this._dirty&&(this._dirty=!1)},e.reset=function(){this._x=0,this._y=0,this._nextY=0,this.fontDefDictionary.clear()},e.destroy=function(){this.reset(),this.fontDefDictionary&&(this.fontDefDictionary.texture.destroy(),this.fontDefDictionary.texture=null)},e.getTexture=function(){return this.fontDefDictionary.getTexture()},e.beforeSceneLoad=function(){this.clearAllCache()},e.clearAllCache=function(){this.destroy();var t=new B_;t.initWithSize(this._width,this._height),this.fontDefDictionary.texture=t},e.getLetter=function(t){return this.fontDefDictionary.letterDefinitions[t]},e.getLetterDefinitionForChar=function(t,e){var i=t.charCodeAt(0)+e.hash,r=this.fontDefDictionary.letterDefinitions[i];if(!r){var n=new E_(t,e);n.updateRenderData(),r=this.insertLetterTexture(n),n.destroy()}return r},Pe(t,[{key:"width",get:function(){return this._width}},{key:"height",get:function(){return this._height}}]),t}(),M_={fontAtlas:null,fontSize:0,lineHeight:0,hAlign:0,vAlign:0,hash:"",fontFamily:"",fontDesc:"Arial",color:Ui.WHITE.clone(),isOutlined:!1,out:Ui.WHITE.clone(),margin:0},P_=function(){this.material=null,this.vertexCount=0,this.indicesCount=0},R_=function(t){function e(){for(var e,i=arguments.length,r=new Array(i),n=0;n65535)return!1;var n=this.vData.byteLength,s=this.iData.length,a=this.vData.length,o=this.iData.length;if(i>n||r>s){for(;n>2}},{key:"vDataOffset",get:function(){return this.byteCount>>>2}}]),e}(P_),O_=(function(t){function e(){return t.apply(this,arguments)||this}Me(e,t);var i=e.prototype;i._fillQuadBuffer=function(){for(var t=this.iData.length/6,e=this.iData,i=0,r=0;i=0&&s.y>=0&&s.x<=i&&s.y<=r&&(_=!0,e&&e.mask))for(var f=e.mask,p=this.node,d=f?f.length:0,m=0,y=0;p&&yg.index){f.length=y;break}}if(_)return!0}}}return!1},i.convertToNodeSpaceAR=function(t,e){return this.node.getWorldMatrix(z_),Ri.invert(N_,z_),e||(e=new ii),ii.transformMat4(e,t,N_)},i.convertToWorldSpaceAR=function(t,e){return this.node.getWorldMatrix(z_),e||(e=new ii),ii.transformMat4(e,t,z_)},i.getBoundingBox=function(){Ri.fromRTS(G_,this.node.getRotation(),this.node.getPosition(),this.node.getScale());var t=this._contentSize.width,e=this._contentSize.height,i=new gr(-this._anchorPoint.x*t,-this._anchorPoint.y*e,t,e);return i.transformMat4(G_),i},i.getBoundingBoxToWorld=function(){return this.node.parent?(this.node.parent.getWorldMatrix(z_),this.getBoundingBoxTo(z_)):this.getBoundingBox()},i.getBoundingBoxTo=function(t){Ri.fromRTS(G_,this.node.getRotation(),this.node.getPosition(),this.node.getScale());var i=this._contentSize.width,r=this._contentSize.height,n=new gr(-this._anchorPoint.x*i,-this._anchorPoint.y*r,i,r);if(Ri.multiply(z_,t,G_),n.transformMat4(z_),!this.node.children)return n;for(var s,a=this.node.children,o=Fe(a);!(s=o()).done;){var l=s.value;if(l&&l.active){var h=l.getComponent(e);if(h){var u=h.getBoundingBoxTo(t);u&&gr.union(n,n,u)}}}return n},i.getComputeAABB=function(t){var e=this._contentSize.width,i=this._contentSize.height;H_.set(-this._anchorPoint.x*e,-this._anchorPoint.y*i,e,i),H_.transformMat4(this.node.worldMatrix);var r=H_.x+.5*H_.width,n=H_.y+.5*H_.height,s=this.node.worldPosition.z,a=H_.width/2,o=H_.height/2;return null!=t?(ni.set(t,r,n,s,a,o,.001),t):new ni(r,n,s,a,o,.001)},i._parentChanged=function(){this.node.getComponent("cc.RenderRoot2D")||this.node.parent&&e.insertChangeMap(this.node.parent)},e.insertChangeMap=function(t){var i=t.uuid;e.priorityChangeNodeMap.has(i)||e.priorityChangeNodeMap.set(i,t)},e._sortChildrenSibling=function(t){var e=t.children;e&&e.sort((function(t,e){var i=t._uiProps.uiTransformComp,r=e._uiProps.uiTransformComp,n=(i?i._priority:0)-(r?r._priority:0);return 0===n?t.getSiblingIndex()-e.getSiblingIndex():n}))},e._sortSiblings=function(){e.priorityChangeNodeMap.forEach((function(t){e._sortChildrenSibling(t),t._updateSiblingIndex(),t.emit("childrenSiblingOrderChanged")})),e.priorityChangeNodeMap.clear()},e._cleanChangeMap=function(){e.priorityChangeNodeMap.clear()},Pe(e,[{key:"contentSize",get:function(){return this._contentSize},set:function(t){this._contentSize.equals(t)||(this._contentSize.set(t),this.node.emit(Dr.SIZE_CHANGED))}},{key:"width",get:function(){return this._contentSize.width},set:function(t){this._contentSize.width!==t&&(this._contentSize.width=t,this.node.emit(Dr.SIZE_CHANGED))}},{key:"height",get:function(){return this._contentSize.height},set:function(t){this.contentSize.height!==t&&(this._contentSize.height=t,this.node.emit(Dr.SIZE_CHANGED))}},{key:"anchorPoint",get:function(){return this._anchorPoint},set:function(t){this._anchorPoint.equals(t)||(this._anchorPoint.set(t),this.node.emit(Dr.ANCHOR_CHANGED,this._anchorPoint))}},{key:"anchorX",get:function(){return this._anchorPoint.x},set:function(t){this._anchorPoint.x!==t&&(this._anchorPoint.x=t,this.node.emit(Dr.ANCHOR_CHANGED,this._anchorPoint))}},{key:"anchorY",get:function(){return this._anchorPoint.y},set:function(t){this._anchorPoint.y!==t&&(this._anchorPoint.y=t,this.node.emit(Dr.ANCHOR_CHANGED,this._anchorPoint))}},{key:"priority",get:function(){return this._priority},set:function(t){this._priority!==t&&(this.node.getComponent("cc.RenderRoot2D")?ze(6706):(this._priority=t,this.node.parent&&e.insertChangeMap(this.node.parent)))}},{key:"visibility",get:function(){var t=wr.root.batcher2D.getFirstRenderCamera(this.node);return t?t.visibility:0}},{key:"cameraPriority",get:function(){var t=wr.root.batcher2D.getFirstRenderCamera(this.node);return t?t.priority:0}}]),e}(zi),b_.EventType=Dr,b_.priorityChangeNodeMap=new Map,oi((y_=S_).prototype,"contentSize",[__,f_],Object.getOwnPropertyDescriptor(y_.prototype,"contentSize"),y_.prototype),oi(y_.prototype,"anchorPoint",[p_,d_],Object.getOwnPropertyDescriptor(y_.prototype,"anchorPoint"),y_.prototype),g_=oi(y_.prototype,"_contentSize",[_i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new vr(100,100)}}),v_=oi(y_.prototype,"_anchorPoint",[_i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new dr(.5,.5)}}),m_=y_))||m_)||m_)||m_)||m_)||m_)||m_));wr.on(Er.EVENT_AFTER_UPDATE,j_._sortSiblings),wr.on(Er.EVENT_BEFORE_SCENE_LAUNCH,j_._cleanChangeMap),function(t){t[t.DISABLED=0]="DISABLED",t[t.CLEAR=1]="CLEAR",t[t.ENTER_LEVEL=2]="ENTER_LEVEL",t[t.ENABLED=3]="ENABLED",t[t.EXIT_LEVEL=4]="EXIT_LEVEL",t[t.CLEAR_INVERTED=5]="CLEAR_INVERTED",t[t.ENTER_LEVEL_INVERTED=6]="ENTER_LEVEL_INVERTED"}(A_||(A_={}));var W_,X_,Y_,q_,J_,K_,Z_,Q_,$_,tf,ef,rf,nf,sf,af,of,lf,hf,uf,cf=t("StencilManager",function(){function t(){this.stage=A_.DISABLED,this._maskStack=[],this._stencilPattern={stencilTest:!0,func:T.ALWAYS,stencilMask:65535,writeMask:65535,failOp:w.KEEP,zFailOp:w.KEEP,passOp:w.KEEP,ref:1},this.stencilStateMap=new Map,this.stencilStateMapWithDepth=new Map}var e=t.prototype;return e.pushMask=function(t){this._maskStack.push(t)},e.clear=function(t){t.stencilStage=t.inverted?A_.CLEAR_INVERTED:A_.CLEAR},e.enterLevel=function(t){t.graphics.stencilStage=t.inverted?A_.ENTER_LEVEL_INVERTED:A_.ENTER_LEVEL},e.enableMask=function(){this.stage=A_.ENABLED},e.exitMask=function(){0!==this._maskStack.length&&(this._maskStack.pop(),0===this._maskStack.length?this.stage=A_.DISABLED:this.stage=A_.ENABLED)},e.getWriteMask=function(){return 1<0},i._postCanRender=function(){},i._updateColor=function(){this._updateWorldAlpha(),(this._colorDirty||this._cacheAlpha!==this.node._uiProps.opacity)&&this._renderFlag&&this._assembler&&this._assembler.updateColor&&(this._assembler.updateColor(this),this._cacheAlpha=this.node._uiProps.opacity,this._colorDirty=!1)},i._updateWorldAlpha=function(){var t=this.color.a/255;1===t&&(t=this.node._uiProps.localOpacity),this.node._uiProps.opacity=this.node.parent&&this.node.parent._uiProps?this.node.parent._uiProps.opacity*t:t,this._renderFlag=this._canRender()},i._updateBlendFunc=function(){var t=this._blendState.targets[0];t||(t=new ae,this._blendState.setTarget(0,t)),t.blendDst===this._dstBlendFactor&&t.blendSrc===this._srcBlendFactor||(t.blend=!0,t.blendDstAlpha=E.ONE_MINUS_SRC_ALPHA,t.blendDst=this._dstBlendFactor,t.blendSrc=this._srcBlendFactor),this.updateBlendHash()},i.getBlendState=function(){return this._blendState},i._nodeStateChange=function(){this._renderData&&this.markForUpdateRenderData();for(var t=0;t10||(d=.5*(s+o),m=.5*(a+l),y=.5*((c=.5*(e+r))+(f=.5*(r+s))),g=.5*((_=.5*(i+n))+(p=.5*(n+a))),((T=Rp((r-o)*(x=l-i)-(n-l)*(C=o-e)))+(w=Rp((s-o)*x-(a-l)*C)))*(T+w)=2*Ep)u=2*Ep;else for(;u<0;)u+=2*Ep;else if(Rp(u)>=2*Ep)u=2*-Ep;else for(;u>0;)u-=2*Ep;for(l=0|Dp(1,Bp(Rp(u)/(.5*Ep)+.5,5)),c=Rp(4/3*(1-Mp(o=u/l/2))/Pp(o)),a||(c=-c),A=0;A<=l;A++)p=e+(_=Mp(h=n+u*(A/l)))*r,d=i+(f=Pp(h))*r,m=-f*r*c,y=_*r*c,0===A?t.moveTo(p,d):t.bezierCurveTo(g+b,v+S,p-m,d-y,p,d),g=p,v=d,b=m,S=y}(this,t,e,i,r,n,s)},e.ellipse=function(t,e,i,r){Fp(this,t,e,i,r),this._curPath.complex=!1},e.circle=function(t,e,i){Fp(this,t,e,i,i),this._curPath.complex=!1},e.rect=function(t,e,i,r){this.moveTo(t,e),this.lineTo(t+i,e),this.lineTo(t+i,e+r),this.lineTo(t,e+r),this.close(),this._curPath.complex=!1},e.roundRect=function(t,e,i,r,n){!function(t,e,i,r,n,s){if(s<.1)t.rect(e,i,r,n);else{var a=Bp(s,.5*Rp(r))*Ip(r),o=Bp(s,.5*Rp(n))*Ip(n);t.moveTo(e,i+o),t.lineTo(e,i+n-o),t.bezierCurveTo(e,i+n-o*(1-Op),e+a*(1-Op),i+n,e+a,i+n),t.lineTo(e+r-a,i+n),t.bezierCurveTo(e+r-a*(1-Op),i+n,e+r,i+n-o*(1-Op),e+r,i+n-o),t.lineTo(e+r,i+o),t.bezierCurveTo(e+r,i+o*(1-Op),e+r-a*(1-Op),i,e+r-a,i),t.lineTo(e+a,i),t.bezierCurveTo(e+a*(1-Op),i,e,i+o*(1-Op),e,i+o),t.close()}}(this,t,e,i,r,n),this._curPath.complex=!1},e.clear=function(){this.pathLength=0,this.pathOffset=0,this.pointsOffset=0,this.dataOffset=0,this._curPath=null,this.paths.length=0,this._points.length=0;for(var t=this._renderDataList,e=0,i=t.length;ei)for(var r=i;r=0&&s.y>=0&&s.x<=r&&s.y<=n;else if(this.type===Nd.ELLIPSE){var l=r/2,h=n/2,u=s.x-.5*r,c=s.y-.5*n;o=u*u/(l*l)+c*c/(h*h)<1}return this._inverted&&(o=!o),o},i._render=function(t){t.commitComp(this,null,this._assembler,null)},i._postRender=function(t){this._postAssembler&&t.commitComp(this,null,this._postAssembler,null)},i._nodeStateChange=function(e){t.prototype._nodeStateChange.call(this,e),this._updateGraphics()},i._canRender=function(){return!!t.prototype._canRender.call(this)&&null!==this._graphics&&(this._type!==Nd.IMAGE_STENCIL||null!==this._spriteFrame)},i._flushAssembler=function(){var t=e.Assembler.getAssembler(this),i=e.PostAssembler.getAssembler(this);this._assembler!==t&&(this.destroyRenderData(),this._assembler=t),this._postAssembler!==i&&(this._postAssembler=i),this._useRenderData()},i._createGraphics=function(){if(!this._graphics){var t=this._graphics=new Hd;t._objFlags|=Lr.Flags.IsOnLoadCalled,t.node=this.node,t.node.getWorldMatrix(),t.lineWidth=0;var e=Ui.WHITE.clone();e.a=0,t.fillColor=e}this._updateMaterial()},i._updateGraphics=function(){if(this._graphics&&(this._type===Nd.RECT||this._type===Nd.ELLIPSE)){var t=this.node._uiProps.uiTransformComp,e=this._graphics;e.clear();var i=t.contentSize,r=i.width,n=i.height,s=t.anchorPoint,a=-r*s.x,o=-n*s.y;if(this._type===Nd.RECT)e.rect(a,o,r,n);else if(this._type===Nd.ELLIPSE){for(var l=function(t,e,i){Yd.length=0;for(var r=2*Math.PI/i,n=0;n"]),this._specialSymbolArray.push([/&/g,"&"]),this._specialSymbolArray.push([/"/g,'"']),this._specialSymbolArray.push([/'/g,"'"])}var e=t.prototype;return e.parse=function(t){this._resultObjectArray.length=0,this._stack.length=0;for(var e=0,i=t.length;e",e),n=-1;if(r>=0&&(n=t.lastIndexOf("<",r))",n+1)),n<0)this._stack.pop(),this._processResult(t.substring(e)),e=i;else{var s=t.substring(e,n),a=t.substring(n+1,r);""===a&&(s=t.substring(e,r+1)),this._processResult(s),-1===r?r=n:"/"===t.charAt(n+1)?this._stack.pop():this._addToStack(a),e=r+1}}return this._resultObjectArray},e._attributeToObject=function(t){t=t.trim();var e={},i=/^(color|size)(\s)*=/.exec(t),r="",n=0,s="";if(i){if(r=i[0],""===(t=t.substring(r.length).trim()))return e;switch(n=t.indexOf(" "),r[0]){case"c":e.color=n>-1?t.substring(0,n).trim():t;break;case"s":e.size=parseInt(t)}return n>-1&&(s=t.substring(n+1).trim(),e.event=this._processEventHandler(s)),e}if((i=/^(br(\s)*\/)/.exec(t))&&i[0].length>0&&(r=i[0].trim()).startsWith("br")&&"/"===r[r.length-1])return e.isNewLine=!0,this._resultObjectArray.push({text:"",style:{isNewLine:!0}}),e;var a="";if((i=/^(img(\s)*src(\s)*=[^>]+\/)/.exec(t))&&i[0].length>0&&(r=i[0].trim()).startsWith("img")&&"/"===r[r.length-1]){var o;i=Zm.exec(t);for(var l=!1;i;){if(r=(t=t.substring(t.indexOf(i[0]))).substr(0,i[0].length),o=(n=(a=t.substring(r.length).trim()).indexOf(" "))>-1?a.substr(0,n):a,r=(r=r.replace(/[^a-zA-Z]/g,"").trim()).toLowerCase(),t=a.substring(n).trim(),o.endsWith("/")&&(o=o.slice(0,-1)),"src"===r){switch(o.charCodeAt(0)){case 34:case 39:l=!0,o=o.slice(1,-1)}e.isImage=!0,e.src=o}else if("height"===r)e.imageHeight=parseInt(o);else if("width"===r)e.imageWidth=parseInt(o);else if("align"===r){switch(o.charCodeAt(0)){case 34:case 39:o=o.slice(1,-1)}e.imageAlign=o.toLowerCase()}else"offset"===r?e.imageOffset=o:"click"===r&&(e.event=this._processEventHandler(r+"="+o));e.event&&"param"===r&&(e.event[r]=o.replace(/^"|"$/g,"")),i=Zm.exec(t)}return l&&e.isImage&&this._resultObjectArray.push({text:"",style:e}),{}}if(i=/^(outline(\s)*[^>]*)/.exec(t)){var h={color:"#ffffff",width:1};if(t=i[0].substring("outline".length).trim()){var u,c=/(\s)*color(\s)*=|(\s)*width(\s)*=|(\s)*click(\s)*=|(\s)*param(\s)*=/;for(i=c.exec(t);i;)r=(t=t.substring(t.indexOf(i[0]))).substr(0,i[0].length),u=(n=(a=t.substring(r.length).trim()).indexOf(" "))>-1?a.substr(0,n):a,r=(r=r.replace(/[^a-zA-Z]/g,"").trim()).toLowerCase(),t=a.substring(n).trim(),"click"===r?e.event=this._processEventHandler(r+"="+u):"color"===r?h.color=u:"width"===r&&(h.width=parseInt(u)),e.event&&"param"===r&&(e.event[r]=u.replace(/^"|"$/g,"")),i=c.exec(t)}e.outline=h}if((i=/^(on|u|b|i)(\s)*/.exec(t))&&i[0].length>0){switch(r=i[0],t=t.substring(r.length).trim(),r[0]){case"u":e.underline=!0;break;case"i":e.italic=!0;break;case"b":e.bold=!0}if(""===t)return e;e.event=this._processEventHandler(t)}return e},e._processEventHandler=function(t){for(var e={},i=0,r=!1,n=Km.exec(t);n;){var s=n[0],a="";if(r=!1,'"'===(t=t.substring(s.length).trim()).charAt(0))(i=t.indexOf('"',1))>-1&&(a=t.substring(1,i).trim(),r=!0),i++;else if("'"===t.charAt(0))(i=t.indexOf("'",1))>-1&&(a=t.substring(1,i).trim(),r=!0),i++;else{var o=/(\S)+/.exec(t);i=(a=o?o[0]:"").length}r&&(e[s=s.substring(0,s.length-1).trim()]=a),t=t.substring(i).trim(),n=Km.exec(t)}return e},e._addToStack=function(t){var e=this._attributeToObject(t);if(0===this._stack.length)this._stack.push(e);else{if(e.isNewLine||e.isImage)return;var i=this._stack[this._stack.length-1];for(var r in i)e[r]||(e[r]=i[r]);this._stack.push(e)}},e._processResult=function(t){0!==t.length&&(t=this._escapeSpecialSymbol(t),this._stack.length>0?this._resultObjectArray.push({text:t,style:this._stack[this._stack.length-1]}):this._resultObjectArray.push({text:t}))},e._escapeSpecialSymbol=function(t){for(var e,i=Fe(this._specialSymbolArray);!(e=i()).done;){var r=e.value,n=r[0],s=r[1];t=t.replace(n,s)}return t},t}()),$m=function(e){return t({LabelOutline:e,LabelOutlineComponent:e}),e}((Jd=ri("cc.LabelOutline"),Kd=wi(),Zd=Ei(110),Qd=Bi(),$d=Rr(wp),tm=Di(),em=Di(),Jd(im=Kd(im=Zd(im=Qd(im=$d(im=Si((am=function(t){function e(){for(var e,i=arguments.length,r=new Array(i),n=0;n=0;e--){var i=t[e];if(i.name===rg||i.name===ng){i.parent===this.node?i.parent=null:t.splice(e,1);var r=og(i.name);r.node=i,i.name===rg?(r.comp=i.getComponent(wp),sg.put(r)):(r.comp=i.getComponent(dy),ag.put(r))}}t.length=0,this._segments.length=0,this._labelSegmentsCache.length=0,this._linesWidth.length=0,this._lineOffsetX=0,this._lineCount=1,this._labelWidth=0,this._labelHeight=0,this._layoutDirty=!0},i._activateChildren=function(t){for(var e=this.node.children.length-1;e>=0;e--){var i=this.node.children[e];i.name!==rg&&i.name!==ng||(i.active=t)}},i._addLabelSegment=function(t,e){var i;if(0===this._labelSegmentsCache.length)i=this._createFontLabel(t);else{var r=(i=this._labelSegmentsCache.pop()).node.getComponent(wp);r&&(r.string=t)}return i.styleIndex=e,i.lineCount=this._lineCount,i.node._uiProps.uiTransformComp.setAnchorPoint(0,0),i.node.layer=this.node.layer,this._applyTextAttribute(i),this.node.addChild(i.node),this._segments.push(i),i},i._updateRichTextWithMaxWidth=function(t,e,i){var r=e;if(this._lineOffsetX>0&&r+this._lineOffsetX>this._maxWidth)for(var n=0;this._lineOffsetX<=this._maxWidth;){var s=this._getFirstWordLen(t,n,t.length),a=t.substr(n,s),o=this._measureText(i,a);if(!(this._lineOffsetX+o<=this._maxWidth)){if(n>0){var l=t.substr(0,n);this._addLabelSegment(l,i),t=t.substr(n,t.length),r=this._measureText(i,t)}this._updateLineInfo();break}this._lineOffsetX+=o,n+=s}if(r>this._maxWidth)for(var h=o_(t,r,this._maxWidth,this._measureText(i)),u=0;u1&&u0?(o*=a=u/l,l*=a):(o*=a=this._lineHeight/l,l*=a),h>0&&(o=h),this._maxWidth>0?(this._lineOffsetX+o>this._maxWidth&&this._updateLineInfo(),this._lineOffsetX+=o):(this._lineOffsetX+=o,this._lineOffsetX>this._labelWidth&&(this._labelWidth=this._lineOffsetX)),n.node._uiProps.uiTransformComp.setContentSize(o,l),n.lineCount=this._lineCount,n.clickHandler="",n.clickParam="";var c=e.event;c&&(n.clickHandler=c.click,n.clickParam=c.param)}else ze(4400)}},i._updateRichText=function(){if(this.enabledInHierarchy){var t=ig.parse(this._string);if(!this._needsUpdateTextLayout(t))return this._textArray=t.slice(),void this._updateLabelSegmentTextAttributes();this._textArray=t.slice(),this._resetState();for(var e,i=!1,r=0;r0){var h=this._measureText(r,l);this._updateRichTextWithMaxWidth(l,h,r),a.length>1&&othis._labelWidth&&(this._labelWidth=this._lineOffsetX),a.length>1&&o0&&(this._labelWidth=this._maxWidth),this._labelHeight=(this._lineCount+Yc)*this._lineHeight,this.node._uiProps.uiTransformComp.setContentSize(this._labelWidth,this._labelHeight),this._updateRichTextPosition(),this._layoutDirty=!1}},i._getFirstWordLen=function(t,e,i){var r=t.charAt(e);if(r_(r)||n_(r))return 1;for(var n=1,s=e+1;se&&(t=0,e=l);var h=this._labelWidth*(.5*this._horizontalAlign-n);switch(this._horizontalAlign){case gp.LEFT:break;case gp.CENTER:h-=this._linesWidth[l-1]/2;break;case gp.RIGHT:h-=this._linesWidth[l-1]}var u=o.node.position;if(o.node.setPosition(t+h,this._lineHeight*(i-l)-this._labelHeight*s,u.z),l===e&&(t+=o.node._uiProps.uiTransformComp.width),o.node.getComponent(dy)){var c=o.node.position.clone(),_=this._lineHeight,f=this._lineHeight*(1+Yc);switch(o.node._uiProps.uiTransformComp.anchorY){case 1:c.y+=_+(f-_)/2;break;case.5:c.y+=f/2;break;default:c.y+=(f-_)/2}if(o.imageOffset){var p=o.imageOffset.split(",");if(1===p.length&&p[0]){var d=parseFloat(p[0]);Number.isInteger(d)&&(c.y+=d)}else if(2===p.length){var m=parseFloat(p[0]),y=parseFloat(p[1]);Number.isInteger(m)&&(c.x+=m),Number.isInteger(y)&&(c.y+=y)}}o.node.position=c}var g=o.node.getComponent($m);if(g){var v=o.node.position.clone();v.y-=g.width,o.node.position=v}}},i._convertLiteralColorValue=function(t){var e=t.toUpperCase();return Ui[e]?Ui[e]:(new Ui).fromHEX(t)},i._applyTextAttribute=function(t){var e=t.node.getComponent(wp);if(e){var i,r=t.styleIndex;if(this._textArray[r]&&(i=this._textArray[r].style),i){if(e.color=this._convertLiteralColorValue(i.color||"white"),e.isBold=!!i.bold,e.isItalic=!!i.italic,e.isUnderline=!!i.underline,i.outline){var n=t.node.getComponent($m);n||(n=t.node.addComponent($m)),n.color=this._convertLiteralColorValue(i.outline.color),n.width=i.outline.width}e.fontSize=i.size||this._fontSize,t.clickHandler="",t.clickParam="";var s=i.event;s&&(t.clickHandler=s.click||"",t.clickParam=s.param||"")}else e.fontSize=this._fontSize;e.cacheMode=this._cacheMode,this._font instanceof Pc&&!this._isSystemFontUsed?e.font=this._font:e.fontFamily=this._fontFamily,e.useSystemFont=this._isSystemFontUsed,e.lineHeight=this._lineHeight,e.updateRenderData(!0);var a=e._assembler;a&&a.updateRenderData(e)}},i._applyLayer=function(){for(var t,e=Fe(this._segments);!(t=e()).done;)t.value.node.layer=this.node.layer},Pe(e,[{key:"string",get:function(){return this._string},set:function(t){this._string!==t&&(this._string=t,this._updateRichTextStatus())}},{key:"horizontalAlign",get:function(){return this._horizontalAlign},set:function(t){this.horizontalAlign!==t&&(this._horizontalAlign=t,this._layoutDirty=!0,this._updateRichTextStatus())}},{key:"fontSize",get:function(){return this._fontSize},set:function(t){this._fontSize!==t&&(this._fontSize=t,this._layoutDirty=!0,this._updateRichTextStatus())}},{key:"fontFamily",get:function(){return this._fontFamily},set:function(t){this._fontFamily!==t&&(this._fontFamily=t,this._layoutDirty=!0,this._updateRichTextStatus())}},{key:"font",get:function(){return this._font},set:function(t){this._font!==t&&(this._font=t,this._layoutDirty=!0,this._font?(this.useSystemFont=!1,this._onTTFLoaded()):this.useSystemFont=!0,this._updateRichTextStatus())}},{key:"useSystemFont",get:function(){return this._isSystemFontUsed},set:function(t){this._isSystemFontUsed!==t&&(this._isSystemFontUsed=t,this._layoutDirty=!0,this._updateRichTextStatus())}},{key:"cacheMode",get:function(){return this._cacheMode},set:function(t){this._cacheMode!==t&&(this._cacheMode=t,this._updateRichTextStatus())}},{key:"maxWidth",get:function(){return this._maxWidth},set:function(t){this._maxWidth!==t&&(this._maxWidth=t,this._layoutDirty=!0,this._updateRichTextStatus())}},{key:"lineHeight",get:function(){return this._lineHeight},set:function(t){this._lineHeight!==t&&(this._lineHeight=t,this._layoutDirty=!0,this._updateRichTextStatus())}},{key:"imageAtlas",get:function(){return this._imageAtlas},set:function(t){this._imageAtlas!==t&&(this._imageAtlas=t,this._layoutDirty=!0,this._updateRichTextStatus())}},{key:"handleTouchEvent",get:function(){return this._handleTouchEvent},set:function(t){this._handleTouchEvent!==t&&(this._handleTouchEvent=t,this.enabledInHierarchy&&(this.handleTouchEvent?this._addEventListeners():this._removeEventListeners()))}}]),e}(eg),$y.HorizontalAlign=gp,$y.VerticalAlign=vp,oi((Gy=tg).prototype,"string",[Fr,xy],Object.getOwnPropertyDescriptor(Gy.prototype,"string"),Gy.prototype),oi(Gy.prototype,"horizontalAlign",[Ty,wy],Object.getOwnPropertyDescriptor(Gy.prototype,"horizontalAlign"),Gy.prototype),oi(Gy.prototype,"fontSize",[Ey],Object.getOwnPropertyDescriptor(Gy.prototype,"fontSize"),Gy.prototype),oi(Gy.prototype,"fontFamily",[By],Object.getOwnPropertyDescriptor(Gy.prototype,"fontFamily"),Gy.prototype),oi(Gy.prototype,"font",[Dy,My],Object.getOwnPropertyDescriptor(Gy.prototype,"font"),Gy.prototype),oi(Gy.prototype,"useSystemFont",[Py],Object.getOwnPropertyDescriptor(Gy.prototype,"useSystemFont"),Gy.prototype),oi(Gy.prototype,"cacheMode",[Ry,Iy],Object.getOwnPropertyDescriptor(Gy.prototype,"cacheMode"),Gy.prototype),oi(Gy.prototype,"maxWidth",[Oy],Object.getOwnPropertyDescriptor(Gy.prototype,"maxWidth"),Gy.prototype),oi(Gy.prototype,"lineHeight",[Fy],Object.getOwnPropertyDescriptor(Gy.prototype,"lineHeight"),Gy.prototype),oi(Gy.prototype,"imageAtlas",[Ly,Vy],Object.getOwnPropertyDescriptor(Gy.prototype,"imageAtlas"),Gy.prototype),oi(Gy.prototype,"handleTouchEvent",[ky],Object.getOwnPropertyDescriptor(Gy.prototype,"handleTouchEvent"),Gy.prototype),zy=oi(Gy.prototype,"_lineHeight",[_i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 40}}),Uy=oi(Gy.prototype,"_string",[_i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return"RichText"}}),Hy=oi(Gy.prototype,"_horizontalAlign",[_i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return gp.LEFT}}),jy=oi(Gy.prototype,"_fontSize",[_i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 40}}),Wy=oi(Gy.prototype,"_maxWidth",[_i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 0}}),Xy=oi(Gy.prototype,"_fontFamily",[_i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return"Arial"}}),Yy=oi(Gy.prototype,"_font",[_i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return null}}),qy=oi(Gy.prototype,"_isSystemFontUsed",[_i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!0}}),Jy=oi(Gy.prototype,"_userDefinedFont",[_i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return null}}),Ky=oi(Gy.prototype,"_cacheMode",[_i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return Sp.NONE}}),Zy=oi(Gy.prototype,"_imageAtlas",[_i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return null}}),Qy=oi(Gy.prototype,"_handleTouchEvent",[_i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!0}}),Ny=Gy))||Ny)||Ny)||Ny)||Ny)||Ny)),cg=function(e){return t({UIMeshRenderer:e,UIModelComponent:e}),e}(ri("cc.UIMeshRenderer")(hg=wi()(hg=Ei(110)(hg=Bi()(hg=function(t){function e(){for(var e,i=arguments.length,r=new Array(i),n=0;n65535)return this._outOfCallback&&this._outOfCallback.call(this._batcher,t,e),!1;var n=this.vData.byteLength,s=this.iData.length;if(i>n||r>s){for(;n>2),e=new Uint16Array(this.iData.buffer,0,this.indicesOffset);this.byteOffset>this.vertexBuffers[0].size&&this.vertexBuffers[0].resize(this.byteOffset),this.vertexBuffers[0].update(t),2*this.indicesOffset>this.indexBuffer.size&&this.indexBuffer.resize(2*this.indicesOffset),this.indexBuffer.update(e),this._dirty=!1}},e._reallocBuffer=function(){this._reallocVData(!0),this._reallocIData(!0)},e._reallocVData=function(t){var e;if(this.vData&&(e=new Uint8Array(this.vData.buffer)),this.vData=new Float32Array(this._initVDataCount),e&&t)for(var i=new Uint8Array(this.vData.buffer),r=0,n=e.length;r0)for(s=e;s=e;s-=r)a=hv(s,t[s],t[s+1],a);return a&&sv(a,a.next)&&(uv(a),a=a.next),a}function Xg(t,e){if(void 0===e&&(e=null),!t)return t;e||(e=t);var i=t,r=!1;do{if(r=!1,i.steiner||!sv(i,i.next)&&0!==nv(i.prev,i,i.next))i=i.next;else{if(uv(i),(i=e=i.prev)===i.next)return null;r=!0}}while(r||i!==e);return e}function Yg(t,e,i,r,n,s,a){if(void 0===a&&(a=0),t){!a&&s&&function(t,e,i,r){var n=t;do{null===n.z&&(n.z=tv(n.x,n.y,e,i,r)),n.prevZ=n.prev,n.nextZ=n.next,n=n.next}while(n!==t);n.prevZ.nextZ=null,n.prevZ=null,function(t){var e=0,i=null,r=null,n=null,s=null,a=0,o=0,l=0,h=1;do{for(i=t,t=null,s=null,a=0;i;){for(a++,r=i,o=0,e=0;e0||l>0&&r;)0===o?(n=r,r=r.nextZ,l--):0!==l&&r?i.z<=r.z?(n=i,i=i.nextZ,o--):(n=r,r=r.nextZ,l--):(n=i,i=i.nextZ,o--),s?s.nextZ=n:t=n,n.prevZ=s,s=n;i=r}s.nextZ=null,h*=2}while(a>1)}(n)}(t,r,n,s);for(var o=t,l=null,h=null;t.prev!==t.next;)if(l=t.prev,h=t.next,s?Jg(t,r,n,s):qg(t))e.push(l.i/i),e.push(t.i/i),e.push(h.i/i),uv(t),t=h.next,o=h.next;else if((t=h)===o){a?1===a?Yg(t=Kg(t,e,i),e,i,r,n,s,2):2===a&&Zg(t,e,i,r,n,s):Yg(Xg(t),e,i,r,n,s,1);break}}}function qg(t){var e=t.prev,i=t,r=t.next;if(nv(e,i,r)>=0)return!1;for(var n=t.next.next;n!==t.prev;){if(iv(e.x,e.y,i.x,i.y,r.x,r.y,n.x,n.y)&&nv(n.prev,n,n.next)>=0)return!1;n=n.next}return!0}function Jg(t,e,i,r){var n=t.prev,s=t,a=t.next;if(nv(n,s,a)>=0)return!1;for(var o=n.xs.x?n.x>a.x?n.x:a.x:s.x>a.x?s.x:a.x,u=n.y>s.y?n.y>a.y?n.y:a.y:s.y>a.y?s.y:a.y,c=tv(o,l,e,i,r),_=tv(h,u,e,i,r),f=t.nextZ;f&&f.z<=_;){if(f!==t.prev&&f!==t.next&&iv(n.x,n.y,s.x,s.y,a.x,a.y,f.x,f.y)&&nv(f.prev,f,f.next)>=0)return!1;f=f.nextZ}for(f=t.prevZ;f&&f.z>=c;){if(f!==t.prev&&f!==t.next&&iv(n.x,n.y,s.x,s.y,a.x,a.y,f.x,f.y)&&nv(f.prev,f,f.next)>=0)return!1;f=f.prevZ}return!0}function Kg(t,e,i){var r=t;do{var n=r.prev,s=r.next.next;!sv(n,s)&&av(n,r,r.next,s)&&ov(n,s)&&ov(s,n)&&(e.push(n.i/i),e.push(r.i/i),e.push(s.i/i),uv(r),uv(r.next),r=t=s),r=r.next}while(r!==t);return r}function Zg(t,e,i,r,n,s){var a=t;do{for(var o=a.next.next;o!==a.prev;){if(a.i!==o.i&&rv(a,o)){var l=lv(a,o);return a=Xg(a,a.next),l=Xg(l,l.next),Yg(a,e,i,r,n,s),void Yg(l,e,i,r,n,s)}o=o.next}a=a.next}while(a!==t)}function Qg(t,e){return t.x-e.x}function $g(t,e){if(e=function(t,e){var i=e,r=t.x,n=t.y,s=-1/0,a=null;do{if(n<=i.y&&n>=i.next.y){var o=i.x+(n-i.y)*(i.next.x-i.x)/(i.next.y-i.y);if(o<=r&&o>s){if(s=o,o===r){if(n===i.y)return i;if(n===i.next.y)return i.next}a=i.x=i.x&&i.x>=u&&iv(na.x)&&ov(i,t)&&(a=i,_=l),i=i.next;return a}(t,e)){var i=lv(e,t);Xg(i,i.next)}}function tv(t,e,i,r,n){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=32767*(t-i)/n)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=32767*(e-r)/n)|e<<8))|e<<4))|e<<2))|e<<1))<<1}function ev(t){var e=t,i=t;do{e.x=0&&(t-a)*(r-o)-(i-a)*(e-o)>=0&&(i-a)*(s-o)-(n-a)*(r-o)>=0}function rv(t,e){return t.next.i!==e.i&&t.prev.i!==e.i&&!function(t,e){var i=t;do{if(i.i!==t.i&&i.next.i!==t.i&&i.i!==e.i&&i.next.i!==e.i&&av(i,i.next,t,e))return!0;i=i.next}while(i!==t);return!1}(t,e)&&ov(t,e)&&ov(e,t)&&function(t,e){var i=t,r=!1,n=(t.x+e.x)/2,s=(t.y+e.y)/2;do{i.y>s!=i.next.y>s&&n<(i.next.x-i.x)*(s-i.y)/(i.next.y-i.y)+i.x&&(r=!r),i=i.next}while(i!==t);return r}(t,e)}function nv(t,e,i){return(e.y-t.y)*(i.x-e.x)-(e.x-t.x)*(i.y-e.y)}function sv(t,e){return t.x===e.x&&t.y===e.y}function av(t,e,i,r){return!!(sv(t,e)&&sv(i,r)||sv(t,r)&&sv(i,e))||nv(t,e,i)>0!=nv(t,e,r)>0&&nv(i,r,t)>0!=nv(i,r,e)>0}function ov(t,e){return nv(t.prev,t,t.next)<0?nv(t,e,t.next)>=0&&nv(t,t.prev,e)>=0:nv(t,e,t.prev)<0||nv(t,t.next,e)<0}function lv(t,e){var i=new jg(t.i,t.x,t.y),r=new jg(e.i,e.x,e.y),n=t.next,s=e.prev;return t.next=e,e.prev=t,i.next=n,n.prev=i,r.next=i,i.prev=r,s.next=r,r.prev=s,r}function hv(t,e,i,r){var n=new jg(t,e,i);return r?(n.next=r.next,n.prev=r,r.next.prev=n,r.next=n):(n.prev=n,n.next=n),n}function uv(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)}function cv(t,e,i){i=i||3;var r=e?e.length:0,n=r?e[0]*i:t.length,s=Wg(t,0,n,i,!0),a=[];if(!s)return a;var o=0,l=0,h=0,u=0,c=0,_=0,f=0;if(r&&(s=function(t,e,i,r){var n,s=[],a=0,o=null;for(a=0,n=e.length;a80*i){o=h=t[0],l=u=t[1];for(var p=i;ph&&(h=c),_>u&&(u=_);f=Math.max(h-o,u-l)}return Yg(s,a,i,o,l,f),a}for(var _v=Math.PI,fv=Math.min,pv=Math.max,dv=Math.ceil,mv=Math.acos,yv=Math.cos,gv=Math.sin,vv=Math.atan2,bv=null,Sv=null,Av=new Ui,Cv=[],xv=0;xv<4;xv++)Cv.push(new ii);function Tv(t,e,i){return ti?i:t}var wv={useModel:!0,updateRenderData:function(){},fillBuffers:function(){},renderIA:function(){},getRenderData:function(t,e){if(!Sv)return null;var i=Sv.getRenderDataList(),r=i[Sv.dataOffset];if(!r)return null;var n=r,s=n?n.vertexStart+e:0;return(s>65535||3*s>131070)&&(++Sv.dataOffset,Sv.dataOffset0&&(n=1/e);for(var s=t.paths,a=t.pathOffset,o=t.pathLength;a1e-6){var b=1/p;b>600&&(b=600),_.dmx*=b,_.dmy*=b}_.dx*c.dy-c.dx*_.dy>0&&(_.flags|=Tp.PT_LEFT),p*(d=pv(11,fv(c.len,_.len)*n))*d<1&&(_.flags|=Tp.PT_INNERBEVEL),_.flags&Tp.PT_CORNER&&(p*r*r<1||i===xp.BEVEL||i===xp.ROUND)&&(_.flags|=Tp.PT_BEVEL),0!=(_.flags&(Tp.PT_BEVEL|Tp.PT_INNERBEVEL))&&l.bevel++,c=_,_=h[f+1]}}},_flattenPaths:function(t){for(var e=t.paths,i=t.pathOffset,r=t.pathLength;i2&&a.equals(o)&&(n.closed=!0,s.pop(),a=s[s.length-1]);for(var l=0,h=s.length;lm&&(y-=2*_v),this._vSet(_,f,1),this._vSet(h-s*r,e.y-a*r,-1);for(var g=Tv(dv((m-y)/_v)*n,2,n),v=0;v0&&r>0&&b+h.w*Wv>nb&&!n_(c)){Ov.push(a),a=0,i++,r=0,n-=$v*this._getFontScale()+0,y=!0;break}kv.x=b,kv.y=n-h.offsetY*Wv,this._recordLetterInfo(kv,c,v,i),v+1kv.y-h.h*Wv&&(p=kv.y-h.h*Wv)}else this._recordPlaceholderInfo(v,c),console.log("Can't find letter definition in texture atlas "+Nv.atlasName+" for letter:"+c);else this._recordPlaceholderInfo(v,c)}y||(r=m,op&&(l=p),s<(a=d)&&(s=a),u+=_)}else Ov.push(a),a=0,i++,r=0,n-=$v*this._getFontScale()+0,this._recordPlaceholderInfo(u,c),u++}return Ov.push(a),zv=(Gv=i+1)*$v*this._getFontScale(),Gv>1&&(zv+=0*(Gv-1)),Vv.width=ib,Vv.height=rb,ib<=0&&(Vv.width=parseFloat(s.toFixed(2))+2*M_.margin),rb<=0&&(Vv.height=parseFloat(zv.toFixed(2))+2*M_.margin),Hv=Vv.height,jv=0,o>0&&(Hv=Vv.height+o),l<-zv&&(jv=zv+l),!0},_getFirstCharLen:function(){return 1},_getFontScale:function(){return tb===bp.SHRINK?Wv:1},_getFirstWordLen:function(t,e,i){var r=t.charAt(e);if(r_(r)||"\n"===r||n_(r))return 1;var n=1,s=M_.fontAtlas.getLetterDefinitionForChar(r,M_);if(!s)return n;for(var a=s.xAdvance*Wv+Qv,o=e+1;onb&&!n_(r)&&nb>0)return n;if(a+=s.xAdvance*Wv+Qv,"\n"===r||n_(r)||r_(r))break;n++}return n},_multilineTextWrapByWord:function(){return this._multilineTextWrap(this._getFirstWordLen)},_multilineTextWrapByChar:function(){return this._multilineTextWrap(this._getFirstCharLen)},_recordPlaceholderInfo:function(t,e){if(t>=Iv.length){var i=new Bv;Iv.push(i)}Iv[t].char=e,Iv[t].hash=e.charCodeAt(0)+M_.hash,Iv[t].valid=!1},_recordLetterInfo:function(t,e,i,r){if(i>=Iv.length){var n=new Bv;Iv.push(n)}var s=e.charCodeAt(0)+M_.hash;Iv[i].line=r,Iv[i].char=e,Iv[i].hash=s,Iv[i].valid=M_.fontAtlas.getLetter(s).valid,Iv[i].x=t.x,Iv[i].y=t.y},_alignText:function(){zv=0,Ov.length=0,this._multilineTextWrapByWord(),this._computeAlignmentOffset(),tb===bp.SHRINK&&qv>0&&this._isVerticalClamp()&&this._shrinkLabelToContentSize(this._isVerticalClamp),this._updateQuads()||tb===bp.SHRINK&&this._shrinkLabelToContentSize(this._isHorizontalClamp)},_scaleFontSizeDown:function(t){var e=!0;t||(t=.1,e=!1),qv=t,e&&this._updateContent()},_shrinkLabelToContentSize:function(t){for(var e=0,i=0|qv,r=0;e>1;if(n<=0)break;Wv=n/Jv,this._multilineTextWrapByWord(),this._computeAlignmentOffset(),t()?i=r-1:e=r}e>=0&&this._scaleFontSizeDown(e)},_isVerticalClamp:function(){return zv>Vv.height},_isHorizontalClamp:function(){for(var t=!1,e=0,i=Yv.length;e0)if(eb){if(Ov[a]>Vv.width&&(s>Vv.width||s<0)){t=!0;break}}else if(s>Vv.width){t=!0;break}}}return t},_isHorizontalClamped:function(t,e){var i=Ov[e],r=t>Vv.width||t<0;return eb?i>Vv.width&&r:r},_updateQuads:function(){if(!Mv)return!1;var t=Xv?Xv.texture:M_.fontAtlas.getTexture(),e=Mv.renderData;e.dataLength=e.vertexCount=e.indicesCount=0;for(var i=Pv.anchorPoint,r=Vv,n=i.x*r.width,s=i.y*r.height,a=!0,o=0,l=Yv.length;o0){if(c>Hv){var _=c-Hv;Dv.y+=_,Dv.height-=_,c-=_}c-u.h*Wv0&&this._isHorizontalClamped(p,f))if(tb===bp.CLAMP)Dv.width=0;else if(tb===bp.SHRINK){if(Vv.width>u.w){a=!1;break}Dv.width=0}if(Dv.height>0&&Dv.width>0){var d=this._determineRect(),m=h.x+Fv[h.line];this.appendQuad(Mv,t,Dv,d,m-n,c-s,Wv)}}else console.warn("Can't find letter in this bitmap-font")}}return a},appendQuad:function(){},_determineRect:function(){var t=Xv.isRotated(),e=Xv.getOriginalSize(),i=Xv.getRect(),r=Xv.getOffset(),n=r.x+(e.width-i.width)/2,s=r.y-(e.height-i.height)/2;if(t){var a=Dv.x;Dv.x=i.x+i.height-Dv.y-Dv.height-s,Dv.y=a+i.y-n,Dv.y<0&&(Dv.height+=s)}else Dv.x+=i.x-n,Dv.y+=i.y+s;return t},_computeAlignmentOffset:function(){switch(Fv.length=0,Kv){case gp.LEFT:for(var t=0;t0&&(r=r+e.margin+e.out.toHEX()),""+e.fontSize+e.fontFamily+i+r)},_getFontDesc:function(){return M_.fontSize.toString()+"px "+M_.fontFamily},_computeHorizontalKerningForText:function(){},_determineRect:function(){return!1}}),ub=new Ui(255,255,255,255),cb={createData:function(t){return t.requestRenderData()},fillBuffers:function(t,e){if(t.renderData){var i=t.node;t._setCacheAlpha(i._uiProps.opacity),ub.a=255*i._uiProps.opacity,fc(i,e,t.renderData,ub)}},appendQuad:ob.appendQuad};sn(cb,hb);var _b=wp.Overflow,fb=(1/255).toFixed(3),pb=null,db=null,mb=null,yb="",gb="",vb=0,bb=0,Sb=[],Ab=new vr,Cb=0,xb=0,Tb=0,wb=new Ui,Eb=1,Bb="",Db=_b.NONE,Mb=!1,Pb=null,Rb=Ui.BLACK.clone(),Ib=null,Ob=Ui.BLACK.clone(),Fb=new gr,Lb=vr.ZERO.clone(),Vb=vr.ZERO.clone(),kb=dr.ZERO.clone(),Nb=dr.ZERO.clone(),Gb=0,zb=0,Ub=!1,Hb=!1,jb=!1,Wb=["left","center","right"],Xb={getAssemblerData:function(){return wp._canvasPool.get()},resetAssemblerData:function(t){t&&wp._canvasPool.put(t)},updateRenderData:function(t){if(t.renderData&&t.renderData.vertDirty){var e=t.node._uiProps.uiTransformComp;this._updateFontFamily(t),this._updateProperties(t,e),this._calculateLabelFont(),this._updateLabelDimensions(),this._resetDynamicAtlas(t),this._updateTexture(t),this.updateOpacity(t),t._setCacheAlpha(Eb),this._calDynamicAtlas(t),t.actualFontSize=vb,e.setContentSize(Ab),this.updateVertexData(t),this.updateUvs(t),t.markForUpdateRenderData(!1),pb=null,db=null,mb=null}},updateVertexData:function(){},updateUvs:function(){},updateOpacity:function(t){for(var e=t.renderData.vData,i=5,r=t.node._uiProps.opacity,n=0;n<4;n++)e[i+3]=r,i+=9},_updateFontFamily:function(t){t.useSystemFont?Bb=t.fontFamily||"Arial":t.font?t.font._nativeAsset?Bb=t.font._nativeAsset:(qr.postLoadNative(t.font,(function(){t.isValid&&(Bb=t.font._nativeAsset||"Arial",t.updateRenderData(!0))})),Bb="Arial"):Bb="Arial"},_updateProperties:function(t,e){var i=t.assemblerData;i&&(pb=i.context,db=i.canvas,mb=t.spriteFrame,gb=t.string.toString(),vb=t.fontSize,bb=vb,Db=t.overflow,Vb.width=Ab.width=e.width,Vb.height=Ab.height=e.height,zb=t.underlineHeight,Cb=t.lineHeight,xb=t.horizontalAlign,Tb=t.verticalAlign,wb=t.color,Eb=t.node._uiProps.opacity,Ub=t.isBold,Hb=t.isItalic,jb=t.isUnderline,Mb=Db!==_b.NONE&&(Db===_b.RESIZE_HEIGHT||t.enableWrapText),(Pb=(Pb=$m&&t.getComponent($m))&&Pb.enabled&&Pb.width>0?Pb:null)&&Rb.set(Pb.color),(Ib=(Ib=Ug&&t.getComponent(Ug))&&Ib.enabled?Ib:null)&&Ob.set(Ib.color),this._updatePaddingRect())},_updatePaddingRect:function(){var t=0,e=0,i=0,r=0,n=0;if(Lb.width=Lb.height=0,Pb&&(t=e=i=r=n=Pb.width,Lb.width=Lb.height=2*n),Ib){var s=Ib.blur+n,a=Ib.offset.x,o=Ib.offset.y;i=Math.max(i,-a+s),r=Math.max(r,a+s),t=Math.max(t,o+s),e=Math.max(e,-o+s)}if(Hb){var l=bb*Math.tan(.20943951);r+=l,Lb.width+=l}Fb.x=i,Fb.y=t,Fb.width=i+r,Fb.height=t+e},_calculateFillTextStartPosition:function(){var t=0;xb===gp.RIGHT?t=Ab.width-Fb.width:xb===gp.CENTER&&(t=(Ab.width-Fb.width)/2);var e=this._getLineHeight()*(Sb.length-1),i=vb*(1-Yc/2);if(Tb!==vp.TOP){var r=e+Fb.height+vb-Ab.height;Tb===vp.BOTTOM?i-=r+=Yc/2*vb:i-=r/2}i+=0*vb,kb.set(t+Fb.x,i+Fb.y)},_updateTexture:function(t){if(pb&&db){pb.clearRect(0,0,db.width,db.height),pb.font=yb,this._calculateFillTextStartPosition();var e=this._getLineHeight();pb.lineJoin="round",t._srcBlendFactor===E.SRC_ALPHA&&(pb.fillStyle="rgba("+wb.r+", "+wb.g+", "+wb.b+", "+fb+")",pb.fillRect(0,0,db.width,db.height)),pb.fillStyle="rgb("+wb.r+", "+wb.g+", "+wb.b+")";var i,r=kb.x,n=0;this._drawTextEffect(kb,e);for(var s=0;s1&&Ib,r=this._measureText(pb,yb),n=0,s=0;Ib&&this._setupShadow(),Pb&&this._setupOutline();for(var a=0;a>1)<=0){an(4003);break}vb=h,yb=this._getFontDesc(),pb.font=yb;var u=this._getLineHeight();for(r=0,i=0;ia?l=h-1:o=h}0===o?an(4003):(vb=o,yb=this._getFontDesc(),pb.font=yb)}else{for(r=t.length*this._getLineHeight(),i=0;in?e:n}i=(Sb.length+Yc)*this._getLineHeight();var s=parseFloat(e.toFixed(2)),a=parseFloat(i.toFixed(2));Ab.width=s+Fb.width,Ab.height=a+Fb.height,Vb.width=s+Lb.width,Vb.height=a+Lb.height;break;case _b.SHRINK:this._calculateShrinkFont(t),this._calculateWrapText(t);break;case _b.CLAMP:this._calculateWrapText(t);break;case _b.RESIZE_HEIGHT:this._calculateWrapText(t);var o=(Sb.length+Yc)*this._getLineHeight();Ab.height=o+Fb.height,Vb.height=o+Lb.height}}}},Yb=Ui.WHITE.clone(),qb={createData:function(t){var e=t.requestRenderData();e.dataLength=4,e.vertexCount=4,e.indicesCount=6;var i=e.vData=new Float32Array(36);i[3]=i[21]=i[22]=i[31]=0,i[4]=i[12]=i[13]=i[30]=1;for(var r=5,n=0;n<4;n++)Ui.toArray(i,Yb,r),r+=9;return e},fillBuffers:function(t,e){var i=t.renderData,r=i.data,n=t.node,s=e.acquireBufferBatch(),a=s.byteOffset>>2,o=s.indicesOffset,l=s.vertexOffset;s.request()||(s=e.currBufferBatch,o=0,l=0,a=0);var h=s.vData,u=s.iData,c=i.vData,_=r[0],f=r[3];n.updateWorldTransform();var p=n._pos,d=n._rot,m=n._scale,y=_.x*m.x,g=f.x*m.x,v=_.y*m.y,b=f.y*m.y,S=d.x,A=d.y,C=d.z,x=d.w,T=S*A,w=C*x,E=S*S-A*A,B=x*x-C*C,D=B+E,M=2*(T-w),P=B-E,R=2*(T+w),I=p.x,O=p.y;c[0]=D*y+M*v+I,c[1]=P*v+R*y+O,c[9]=D*g+M*v+I,c[10]=P*v+R*g+O,c[18]=D*y+M*b+I,c[19]=P*b+R*y+O,c[27]=D*g+M*b+I,c[28]=P*b+R*g+O,h.set(c,a),u[o++]=l,u[o++]=l+1,u[o++]=l+2,u[o++]=l+2,u[o++]=l+1,u[o++]=l+3},updateVertexData:function(t){var e=t.renderData;if(e){var i=t.node._uiProps.uiTransformComp,r=i.width,n=i.height,s=i.anchorX*r,a=i.anchorY*n,o=e.data;o[0].x=-s,o[0].y=-a,o[3].x=r-s,o[3].y=n-a}},updateUvs:function(t){var e=t.renderData;if(e){var i=e.vData;if(i&&e.uvDirty){var r=t.ttfSpriteFrame.uv;i[3]=r[0],i[4]=r[1],i[12]=r[2],i[13]=r[3],i[21]=r[4],i[22]=r[5],i[30]=r[6],i[31]=r[7],e.uvDirty=!1}}}};sn(qb,Xb);var Jb=t("labelAssembler",{getAssembler:function(t){var e=qb;return t.font instanceof Wc?e=ob:t.cacheMode===wp.CacheMode.CHAR&&(e=cb),e}});wp.Assembler=Jb;var Kb=dy.FillType,Zb=new Ri,Qb=new Ui(255,255,255,255),$b={useModel:!1,updateRenderData:function(t){var e=t.spriteFrame;gc.packToDynamicAtlas(t,e);var i=t.renderData;if(i&&e){var r=i.uvDirty,n=i.vertDirty;if(!r&&!n)return;var s=t.fillStart,a=t.fillRange;a<0&&(s+=a,a=-a),a=(a=(a=s+a)>1?1:a)<0?0:a;var o=(s=(s=s>1?1:s)<0?0:s)+(a=(a-=s)<0?0:a);o=o>1?1:o,r&&this.updateUVs(t,s,o),n&&(this.updateVertexData&&this.updateVertexData(t,s,o),this.updateWorldVertexData(t))}},updateUVs:function(t,e,i){var r=t.spriteFrame,n=t.renderData,s=n.data,a=r.width,o=r.height,l=r.getRect(),h=0,u=0,c=0,_=0,f=0,p=0,d=0,m=0,y=0,g=0;switch(r.isRotated()?(h=l.x/a,u=(l.y+l.width)/o,c=f=h,d=y=(l.x+l.height)/a,p=g=u,_=m=l.y/o):(h=l.x/a,u=(l.y+l.height)/o,c=d=h,f=y=(l.x+l.width)/a,_=p=u,m=g=l.y/o),t.fillType){case Kb.HORIZONTAL:s[0].u=c+(f-c)*e,s[0].v=_+(p-_)*e,s[1].u=c+(f-c)*i,s[1].v=_+(p-_)*i,s[2].u=d+(y-d)*e,s[2].v=m+(g-m)*e,s[3].u=d+(y-d)*i,s[3].v=m+(g-m)*i;break;case Kb.VERTICAL:s[0].u=c+(d-c)*e,s[0].v=_+(m-_)*e,s[1].u=f+(y-f)*e,s[1].v=p+(g-p)*e,s[2].u=c+(d-c)*i,s[2].v=_+(m-_)*i,s[3].u=f+(y-f)*i,s[3].v=p+(g-p)*i;break;default:Re(2626)}n.uvDirty=!1},updateVertexData:function(t,e,i){var r=t.renderData,n=r.data,s=t.node._uiProps.uiTransformComp,a=s.width,o=s.height,l=s.anchorX*a,h=s.anchorY*o,u=-l,c=-h,_=a-l,f=o-h,p=0;switch(t.fillType){case Kb.HORIZONTAL:p=u+(_-u)*i,u+=(_-u)*e,_=p;break;case Kb.VERTICAL:p=c+(f-c)*i,c+=(f-c)*e,f=p;break;default:Re(2626)}n[4].x=u,n[4].y=c,n[5].x=_,n[5].y=c,n[6].x=u,n[6].y=f,n[7].x=_,n[7].y=f,r.vertDirty=!1},createData:function(t){var e=t.requestRenderData();e.dataLength=8,e.vertexCount=4,e.indicesCount=6;for(var i,r=e.data,n=Fe(r);!(i=n()).done;)i.value.z=0;return e},updateWorldVertexData:function(t){var e=t.node,i=t.renderData.data;e.getWorldMatrix(Zb);for(var r=0;r<4;r++){var n=i[r+4],s=i[r];ii.transformMat4(s,n,Zb)}},fillBuffers:function(t,e){t.node.hasChangedFlags&&this.updateWorldVertexData(t);var i=t.node;Qb.set(t.color),Qb.a=255*i._uiProps.opacity,function(t,e,i,r){var n=i.data,s=e.acquireBufferBatch(),a=s.byteOffset>>2,o=i.vertexCount,l=s.indicesOffset,h=s.vertexOffset;s.request(o,i.indicesCount)||(s=e.currBufferBatch,o=0,l=0,h=0);for(var u=s.vData,c=0;ceS?o:0;var l=Math.cos(s),h=0,u=0;if(0!==(l=Math.abs(l)>eS?l:0)){if(h=o/l,(t-n.x)*l>0){var c=n.y+h*(t-n.x);a[0].x=t,a[0].y=c}if((e-n.x)*l>0){var _=n.y+h*(e-n.x);a[2].x=e,a[2].y=_}}if(0!==o){if(u=l/o,(r-n.y)*o>0){var f=n.x+u*(r-n.y);a[3].x=f,a[3].y=r}if((i-n.y)*o>0){var p=n.x+u*(i-n.y);a[1].x=p,a[1].y=i}}}function cS(t,e){var i=e.x-t.x,r=e.y-t.y;if(0===i&&0===r)return 0;if(0===i)return r>0?.5*Math.PI:1.5*Math.PI;var n=Math.atan(r/i);return i<0&&(n+=Math.PI),n}function _S(t,e,i,r,n){var s=nS,a=s[0],o=s[1],l=s[2],h=s[3];t[e].x=i.x,t[e].y=i.y,t[e+1].x=r.x,t[e+1].y=r.y,t[e+2].x=n.x,t[e+2].y=n.y,fS((i.x-a)/(l-a),(i.y-o)/(h-o),t,e),fS((r.x-a)/(l-a),(r.y-o)/(h-o),t,e+1),fS((n.x-a)/(l-a),(n.y-o)/(h-o),t,e+2)}function fS(t,e,i,r){var n=sS,s=n[0]+(n[2]-n[0])*t,a=n[4]+(n[6]-n[4])*t,o=n[1]+(n[3]-n[1])*t,l=n[5]+(n[7]-n[5])*t,h=i[r];h.u=s+(a-s)*e,h.v=o+(l-o)*e}for(var pS={useModel:!1,createData:function(t){return t.requestRenderData()},updateRenderData:function(t){var e=t.spriteFrame;gc.packToDynamicAtlas(t,e);var i,r,n,s,a,o,l,h,u,c=t.renderData;if(c&&e&&(c.vertDirty||c.uvDirty)){var _=c.data,f=t.fillStart,p=t.fillRange;for(p<0&&(f+=p,p=-p);f>=1;)f-=1;for(;f<0;)f+=1;var d=(f*=tS)+(p*=tS);!function(t){var e=t.node._uiProps.uiTransformComp,i=e.width,r=e.height,n=e.anchorX*i,s=e.anchorY*r,a=-n,o=-s,l=i-n,h=r-s,u=nS;u[0]=a,u[1]=o,u[2]=l,u[3]=h;var c=t.fillCenter,_=lS.x=Math.min(Math.max(0,c.x),1)*(l-a)+a,f=lS.y=Math.min(Math.max(0,c.y),1)*(h-o)+o;rS[0].x=rS[3].x=a,rS[1].x=rS[2].x=l,rS[0].y=rS[1].y=o,rS[2].y=rS[3].y=h;for(var p,d=Fe(hS);!(p=d()).done;){var m=p.value;dr.set(m,0,0)}_!==u[0]&&dr.set(hS[0],3,0),_!==u[2]&&dr.set(hS[2],1,2),f!==u[1]&&dr.set(hS[1],0,1),f!==u[3]&&dr.set(hS[3],2,3)}(t),r=(i=e).width,n=i.height,s=i.getRect(),a=0,o=0,l=0,h=0,u=sS,i.isRotated()?(a=s.x/r,o=(s.x+s.height)/r,l=s.y/n,h=(s.y+s.width)/n,u[0]=u[2]=a,u[4]=u[6]=o,u[3]=u[7]=h,u[1]=u[5]=l):(a=s.x/r,o=(s.x+s.width)/r,l=s.y/n,h=(s.y+s.height)/n,u[0]=u[4]=a,u[2]=u[6]=o,u[1]=u[3]=h,u[5]=u[7]=l),uS(nS[0],nS[2],nS[1],nS[3],lS,f,aS),uS(nS[0],nS[2],nS[1],nS[3],lS,f+p,oS);for(var m=0,y=0;y<4;++y){var g=hS[y];if(g)if(p>=tS)c.dataLength=m+3,_S(_,m,lS,rS[g.x],rS[g.y]),m+=3;else{var v=cS(lS,rS[g.x]),b=cS(lS,rS[g.y]);b=d||(v>=f?(c.dataLength=m+3,_S(_,m,lS,rS[g.x],b>=d?oS[y]:rS[g.y]),m+=3):b>f&&(b<=d?(c.dataLength=m+3,_S(_,m,lS,aS[y],rS[g.y]),m+=3):(c.dataLength=m+3,_S(_,m,lS,aS[y],oS[y]),m+=3))),v+=tS,b+=tS}}c.indicesCount=c.vertexCount=m,c.vertDirty=c.uvDirty=!1}},fillBuffers:function(t,e){var i=t.node,r=t.renderData;iS.set(t.color),iS.a=255*i._uiProps.opacity,function(t,e,i,r){var n=i.data,s=e.acquireBufferBatch(),a=s.byteOffset>>2,o=i.vertexCount,l=s.indicesOffset,h=s.vertexOffset;s.request(o,i.indicesCount)||(s=e.currBufferBatch,o=0,l=0,h=0);var u=s.vData;t.getWorldMatrix(_c);for(var c=0;c>2,a=n.indicesOffset,o=n.vertexOffset;n.request()||(n=e.currBufferBatch,s=0,a=0,o=0);var l=n.vData,h=n.iData,u=t.renderData.vData,c=i[0],_=i[3],f=r.worldMatrix,p=f.m00,d=f.m01,m=f.m04,y=f.m05,g=f.m12,v=f.m13,b=c.x,S=_.x,A=c.y,C=_.y,x=p*b,T=p*S,w=d*b,E=d*S,B=m*A,D=m*C,M=y*A,P=y*C;u[0]=x+B+g,u[1]=w+M+v,u[9]=T+B+g,u[10]=E+M+v,u[18]=x+D+g,u[19]=w+P+v,u[27]=T+D+g,u[28]=E+P+v,l.set(u,s),h[a++]=o,h[a++]=o+1,h[a++]=o+2,h[a++]=o+2,h[a++]=o+1,h[a++]=o+3}},updateVertexData:function(t){var e=t.renderData;if(e){var i=t.node._uiProps.uiTransformComp,r=e.data,n=i.width,s=i.height,a=i.anchorX*n,o=i.anchorY*s,l=0,h=0,u=0,c=0;if(t.trim)l=-a,h=-o,u=n-a,c=s-o;else{var _=t.spriteFrame,f=_.getOriginalSize(),p=_.getRect(),d=f.width,m=f.height,y=p.width,g=p.height,v=_.getOffset(),b=n/d,S=s/m,A=v.x+(d-y)/2,C=v.x-(d-y)/2;l=A*b-a,h=(v.y+(m-g)/2)*S-o,u=n+C*b-a,c=s+(v.y-(m-g)/2)*S-o}r[0].x=l,r[0].y=h,r[0].z=0,r[3].x=u,r[3].y=c,r[3].z=0,e.vertDirty=!1}},updateUvs:function(t){var e=t.renderData,i=e.vData,r=t.spriteFrame.uv;i[3]=r[0],i[4]=r[1],i[12]=r[2],i[13]=r[3],i[21]=r[4],i[22]=r[5],i[30]=r[6],i[31]=r[7],e.uvDirty=!1},updateColor:function(t){for(var e=t.renderData.vData,i=5,r=t.color,n=r.r/255,s=r.g/255,a=r.b/255,o=t.node._uiProps.opacity,l=0;l<4;l++)e[i]=n,e[i+1]=s,e[i+2]=a,e[i+3]=o,i+=9}},gS=new ii,vS=new Ri,bS={useModel:!1,createData:function(t){var e=t.requestRenderData();return e.dataLength=20,e.vertexCount=16,e.indicesCount=54,e},updateRenderData:function(t){var e=t.spriteFrame;gc.packToDynamicAtlas(t,e);var i=t.renderData;i&&e&&i.vertDirty&&(this.updateVertexData(t),this.updateWorldVertexData(t))},updateVertexData:function(t){var e=t.renderData,i=e.data,r=t.node._uiProps.uiTransformComp,n=r.width,s=r.height,a=r.anchorX*n,o=r.anchorY*s,l=t.spriteFrame,h=l.insetLeft,u=l.insetRight,c=l.insetTop,_=l.insetBottom,f=n-h-u,p=s-c-_,d=n/(h+u),m=s/(c+_);d=Number.isNaN(d)||d>1?1:d,m=Number.isNaN(m)||m>1?1:m,f=f<0?0:f,p=p<0?0:p,i[0].x=-a,i[0].y=-o,i[1].x=h*d-a,i[1].y=_*m-o,i[2].x=i[1].x+f,i[2].y=i[1].y+p,i[3].x=n-a,i[3].y=s-o,e.vertDirty=!1},fillBuffers:function(t,e){t.node.hasChangedFlags&&this.updateWorldVertexData(t);var i=e.acquireBufferBatch(),r=t.renderData,n=r.data,s=i.byteOffset>>2,a=r.vertexCount,o=i.indicesOffset,l=i.vertexOffset,h=t.spriteFrame.uvSliced;i.request(a,r.indicesCount)||(i=e.currBufferBatch,s=0,o=0,l=0);for(var u=i.vData,c=i.iData,_=4;_<20;++_){var f=n[_],p=h[_-4];u[s++]=f.x,u[s++]=f.y,u[s++]=f.z,u[s++]=p.u,u[s++]=p.v,Ui.toArray(u,n[_].color,s),s+=4}for(var d=0;d<3;++d)for(var m=0;m<3;++m){var y=l+4*d+m;c[o++]=y,c[o++]=y+1,c[o++]=y+4,c[o++]=y+1,c[o++]=y+5,c[o++]=y+4}},updateWorldVertexData:function(t){var e=t.node,i=t.renderData.data;e.getWorldMatrix(vS);for(var r=0;r<4;++r)for(var n=i[r],s=0;s<4;++s){var a=i[s],o=i[4+4*r+s];ii.set(gS,a.x,n.y,0),ii.transformMat4(o,gS,vS)}},updateColor:function(t){for(var e=t.renderData.data,i=t.color,r=i.r,n=i.g,s=i.b,a=255*t.node._uiProps.opacity,o=4;o<20;o++)e[o].color.r=r,e[o].color.g=n,e[o].color.b=s,e[o].color.a=a}},SS=[],AS=0;AS<4;AS++)SS.push(new ii);var CS={createData:function(t){return t.requestRenderData()},updateRenderData:function(t){var e=t.renderData,i=t.spriteFrame;if(i&&e&&(e.uvDirty||e.vertDirty)){var r=t.node._uiProps.uiTransformComp,n=Math.abs(r.width),s=Math.abs(r.height),a=i.getRect(),o=i.insetLeft,l=i.insetRight,h=a.width-o-l,u=i.insetTop,c=i.insetBottom,_=a.height-u-c,f=n-o-l,p=s-u-c;f=f>0?f:0,p=p>0?p:0;var d=0===h?f:f/h,m=0===_?p:p/_,y=Math.ceil(m+2),g=Math.ceil(d+2);e.dataLength=Math.max(8,y+1,g+1),this.updateVerts(t,f,p,y,g),e.vertexCount=y*g*4,e.indicesCount=y*g*6,e.uvDirty=!1,e.vertDirty=!1,this.updateColor(t)}},fillBuffers:function(t,e){var i=t.node,r=t.node._uiProps.uiTransformComp,n=Math.abs(r.width),s=Math.abs(r.height),a=t.renderData,o=e.acquireBufferBatch(),l=o.indicesOffset,h=o.byteOffset>>2,u=o.vertexOffset,c=a.vertexCount,_=a.indicesCount,f=o.vData,p=o.iData;o.request(c,_)||(o=e.currBufferBatch,h=0,l=0,u=0);var d=t.spriteFrame,m=d.isRotated(),y=d.uv,g=t.spriteFrame.uvSliced,v=d.getRect(),b=d.insetLeft,S=d.insetRight,A=v.width-b-S,C=d.insetTop,x=d.insetBottom,T=v.height-C-x,w=n-b-S,E=s-C-x;w=w>0?w:0,E=E>0?E:0;var B=0===A?w:w/A,D=0===T?E:E/T,M=Math.ceil(D+2),P=Math.ceil(B+2),R=i.worldMatrix,I=a.data;this.fillVertices(f,h,R,M,P,I);for(var O=0,F=0,L=[],V=[],k=0,N=M;kT?E>=k*T?1:D%1:D;for(var G=0,z=P;GA?w>=G*A?1:B%1:B;var U=h+3,H=U+1;m?(0===k?(L[0]=g[0].u,L[1]=g[0].u,L[2]=g[4].u+(g[8].u-g[4].u)*F):k1?1:o.width/(d+m),A=o.height/(g+v)>1?1:o.height/(g+v);s=y>0?Math.floor(1e3*e)/1e3%y==0?y:e%y:e,a=b>0?Math.floor(1e3*i)/1e3%b==0?b:i%b:i;for(var C=0;C<=n;C++)0===C?l[C].x=-f:C>0&&C0?C===n-1?d+s+y*(C-2)-f:d+Math.min(y,e)+y*(C-2)-f:d+e-f:C===n&&(l[C].x=Math.min(d+e+m,c)-f);for(var x=0;x<=r;x++)0===x?l[x].y=-p:x>0&&x0?x===r-1?v+a+(x-2)*b-p:v+Math.min(b,i)+(x-2)*b-p:v+i-p:x===r&&(l[x].y=Math.min(v+i+g,_)-p)},updateColor:function(t){var e=t.renderData.data,i=e.length;if(0!==i)for(var r=t.color,n=r.r,s=r.g,a=r.b,o=255*t.node._uiProps.opacity,l=0;l0&&(this._doUploadBuffersCall.forEach((function(e,i){e.call(i,t)})),this._meshBuffers.forEach((function(t){t.forEach((function(t){t.uploadBuffers(),t.reset()}))})),this._customMeshBuffers.forEach((function(t){t.forEach((function(t){t.uploadBuffers(),t.reset()}))})),this._descriptorSetCache.update())},t.reset=function(){for(var t=0;t0&&!t._static)for(var r=t.children,n=0;n=n.length?this._currMeshBuffer=this._createMeshBuffer(t):this._currMeshBuffer=n[s],this._meshBufferUseCount.set(r,s+1),e&&i&&this._currMeshBuffer.request(e,i)},t._screenSort=function(t,e){return t.node.getSiblingIndex()-e.node.getSiblingIndex()},t._releaseDescriptorSetCache=function(t){this._descriptorSetCache.releaseDescriptorSetCache(t)},Pe(n,[{key:"currBufferBatch",get:function(){return this._currMeshBuffer||(this._currMeshBuffer=this.acquireBufferBatch()),this._currMeshBuffer},set:function(t){t&&(this._currMeshBuffer=t)}},{key:"batches",get:function(){return this._batches}},{key:"currStaticRoot",set:function(t){this._currStaticRoot=t}},{key:"currIsStatic",set:function(t){this._currIsStatic=t}}]),n}()),FS=function(){function t(){this._handle=null,this._transform=null,this._textureHash=0,this._samplerHash=0,this._localBuffer=null,this._transformUpdate=!0;var t=He.director.root.device;this._localData=new Float32Array(un.COUNT),this._localBuffer=t.createBuffer(new nt(d.UNIFORM|d.TRANSFER_DST,g.HOST|g.DEVICE,un.SIZE,un.SIZE))}var e=t.prototype;return e.initialize=function(t){var e=He.director.root.device;this._transform=t.useLocalData,this._textureHash=t.textureHash,this._samplerHash=t.samplerHash,RS.layout=t.passes[0].localSetLayout,this._handle&&(hn.free(this._handle),this._handle=null),this._handle=hn.alloc(e,RS),this._descriptorSet=hn.get(this._handle),this._descriptorSet.bindBuffer(un.BINDING,this._localBuffer);var i=cn.SAMPLER_SPRITE;this._descriptorSet.bindTexture(i,t.texture),this._descriptorSet.bindSampler(i,t.sampler),this._descriptorSet.update(),this._transformUpdate=!0},e.updateTransform=function(t){t!==this._transform&&(this._transform=t,this._transformUpdate=!0,this.uploadLocalData())},e.updateLocal=function(){this._transform&&this.uploadLocalData()},e.equals=function(t,e,i){return this._transform===t&&this._textureHash===e&&this._samplerHash===i},e.reset=function(){this._transform=null,this._textureHash=0,this._samplerHash=0},e.destroy=function(){this._localBuffer&&(this._localBuffer.destroy(),this._localBuffer=null),this._handle&&(hn.free(this._handle),this._handle=null),this._localData=null},e.uploadLocalData=function(){var t=this._transform;if((t.hasChangedFlags||t._dirtyFlags)&&t.updateWorldTransform(),this._transformUpdate){var e=t._mat;Ri.toArray(this._localData,e,un.MAT_WORLD_OFFSET),Ri.inverseTranspose(IS,e),Ri.toArray(this._localData,IS,un.MAT_WORLD_IT_OFFSET),this._localBuffer.update(this._localData),this._transformUpdate=!1}},Pe(t,[{key:"handle",get:function(){return this._handle}}]),t}(),LS=function(){function t(){this._descriptorSetCache=new Map,this._localDescriptorSetCache=[],this._localCachePool=void 0,this._localCachePool=new e((function(){return new FS}),16)}var i=t.prototype;return i.getDescriptorSet=function(t){var e=He.director.root;if(t.useLocalData){for(var i=this._localDescriptorSetCache,r=0,n=i.length;r@123丁ぁᄁ",VA=Object.create(null),kA=[],NA=3e3;function GA(){for(var t=!0,e=Date.now(),i=kA.length-1;i>=0;i--){var r=kA[i],n=r.fontFamilyName;if(e-r.startTime>NA)ze(4933,n),r.onComplete(null,n),kA.splice(i,1);else{var s=r.refWidth,a="40px "+n;OA.font=a,s!==s_(OA,LA,a)?(kA.splice(i,1),r.onComplete(null,n)):t=!1}}t&&(clearInterval(FA),FA=-1)}function zA(t,e,i){var r=function(t){var e=t.lastIndexOf(".ttf");if(-1===e)return t;var i,r=t.lastIndexOf("/");return-1!==(i=-1===r?t.substring(0,e)+"_LABEL":t.substring(r+1,e)+"_LABEL").indexOf(" ")&&(i='"'+i+'"'),i}(t);if(VA[r])i(null,r);else{if(!OA){var n=document.createElement("canvas");n.width=100,n.height=100,OA=n.getContext("2d")}var s=s_(OA,LA,"40px "+r),a=document.createElement("style");a.type="text/css";var o="";Number.isNaN(r)?o+="@font-face { font-family:"+r+"; src:":o+='@font-face { font-family:"'+r+'"; src:',o+='url("'+t+'");',a.textContent=o+"}",document.body.appendChild(a);var l,h,u,c,_,f,p=document.createElement("div"),d=p.style;if(d.fontFamily=r,p.innerHTML=".",d.position="absolute",d.left="-100px",d.top="-100px",document.body.appendChild(p),function(){if(void 0===VS)if("FontFace"in window){var t=/Gecko.*Firefox\/(\d+)/.exec(window.navigator.userAgent),e=/OS X.*Version\/10\..*Safari/.exec(window.navigator.userAgent)&&/Apple/.exec(window.navigator.vendor);VS=t?parseInt(t[1],10)>42:!e}else VS=!1;return VS}())l=Date.now(),h=r,u=i,c=new Promise((function(t,e){!function i(){Date.now()-l>=NA?e():document.fonts.load("40px "+h).then((function(e){e.length>=1?t():setTimeout(i,100)}),(function(){e()}))}()})),_=null,f=new Promise((function(t,e){_=setTimeout(e,NA)})),Promise.race([f,c]).then((function(){_&&(clearTimeout(_),_=null),u(null,h)}),(function(){ze(4933,h),u(null,h)}));else{var m={fontFamilyName:r,refWidth:s,onComplete:i,startTime:Date.now()};kA.push(m),-1===FA&&(FA=setInterval(GA,100))}VA[r]=a}}function UA(t,e,i,r){var n=new zc;n._nativeUrl=t,n._nativeAsset=e,r(null,n)}_n.register({".font":zA,".eot":zA,".ttf":zA,".woff":zA,".svg":zA,".ttc":zA}),fn.register({".font":UA,".eot":UA,".ttf":UA,".woff":UA,".svg":UA,".ttc":UA}),He.UI={MeshBuffer:_g,spriteAssembler:wS,graphicsAssembler:Ev,labelAssembler:Jb};var HA,jA,WA,XA=new Ui;!function(t){t[t.NONE=0]="NONE",t[t.COLOR=1]="COLOR",t[t.SPRITE=2]="SPRITE",t[t.SCALE=3]="SCALE"}(HA||(HA={})),Pr(HA),function(t){t.NORMAL="normal",t.HOVER="hover",t.PRESSED="pressed",t.DISABLED="disabled"}(jA||(jA={})),function(t){t.CLICK="click"}(WA||(WA={}));var YA,qA,JA,KA=function(e){return t({Button:e,ButtonComponent:e}),e}((kS=ri("cc.Button"),NS=wi(),GS=Ei(110),zS=Bi(),US=Rr(j_),HS=bi(ur),jS=Mr(),WS=Di(),XS=Mr(),YS=Di(),qS=bi(HA),JS=Mr(),KS=Di(),ZS=Di(),QS=Di(),$S=Di(),tA=Di(),eA=mn(),iA=yn(),rA=Di(),nA=Di(),sA=bi(xc),aA=Di(),oA=bi(xc),lA=Di(),hA=bi(xc),uA=Di(),cA=bi(xc),_A=Di(),fA=bi([pn]),pA=Mr(),dA=Di(),kS(mA=NS(mA=GS(mA=zS(mA=US(mA=Si((IA=RA=function(t){function e(){for(var e,i=arguments.length,r=new Array(i),n=0;n0&&(i=this._time/this._duration),i>=1&&(i=1),this._transition===HA.COLOR){var r=e._uiProps.uiComp;Ui.lerp(XA,this._fromColor,this._toColor,i),r&&(r.color=XA)}else this.transition===HA.SCALE&&(e.getScale(this._targetScale),this._targetScale.x=dn(this._fromScale.x,this._toScale.x,i),this._targetScale.y=dn(this._fromScale.y,this._toScale.y,i),e.setScale(this._targetScale));1===i&&(this._transitionFinished=!0)}},i._resizeNodeToTargetNode=function(){this.target&&this.target._uiProps.uiTransformComp},i._resetState=function(){this._pressed=!1,this._hovered=!1;var t=this.target;if(t){var e=t.getComponent(Ap);if(e){var i=this._transition;i===HA.COLOR&&this._interactable?e.color=this._normalColor:i===HA.SCALE&&this._originalScale&&t.setScale(this._originalScale),this._transitionFinished=!0}}},i._registerNodeEvent=function(){this.node.on(Dr.TOUCH_START,this._onTouchBegan,this),this.node.on(Dr.TOUCH_MOVE,this._onTouchMove,this),this.node.on(Dr.TOUCH_END,this._onTouchEnded,this),this.node.on(Dr.TOUCH_CANCEL,this._onTouchCancel,this),this.node.on(Dr.MOUSE_ENTER,this._onMouseMoveIn,this),this.node.on(Dr.MOUSE_LEAVE,this._onMouseMoveOut,this)},i._registerTargetEvent=function(t){t.on(Dr.TRANSFORM_CHANGED,this._onTargetTransformChanged,this)},i._unregisterNodeEvent=function(){this.node.off(Dr.TOUCH_START,this._onTouchBegan,this),this.node.off(Dr.TOUCH_MOVE,this._onTouchMove,this),this.node.off(Dr.TOUCH_END,this._onTouchEnded,this),this.node.off(Dr.TOUCH_CANCEL,this._onTouchCancel,this),this.node.off(Dr.MOUSE_ENTER,this._onMouseMoveIn,this),this.node.off(Dr.MOUSE_LEAVE,this._onMouseMoveOut,this)},i._unregisterTargetEvent=function(t){t.off(Dr.TRANSFORM_CHANGED)},i._getTargetSprite=function(t){var e=null;return t&&(e=t.getComponent(dy)),e},i._applyTarget=function(){this.target&&(this._sprite=this._getTargetSprite(this.target),this._originalScale||(this._originalScale=new ii),ii.copy(this._originalScale,this.target.getScale()))},i._onTargetSpriteFrameChanged=function(t){this._transition===HA.SPRITE&&this._setCurrentStateSpriteFrame(t.spriteFrame)},i._setCurrentStateSpriteFrame=function(t){if(t)switch(this._getButtonState()){case jA.NORMAL:this._normalSprite=t;break;case jA.HOVER:this._hoverSprite=t;break;case jA.PRESSED:this._pressedSprite=t;break;case jA.DISABLED:this._disabledSprite=t}},i._onTargetColorChanged=function(t){this._transition===HA.COLOR&&this._setCurrentStateColor(t)},i._setCurrentStateColor=function(t){switch(this._getButtonState()){case jA.NORMAL:this._normalColor=t;break;case jA.HOVER:this._hoverColor=t;break;case jA.PRESSED:this._pressedColor=t;break;case jA.DISABLED:this._disabledColor=t}},i._onTargetTransformChanged=function(t){t|Ai.SCALE&&this._originalScale&&this._transition===HA.SCALE&&this._transitionFinished&&ii.copy(this._originalScale,this.target.getScale())},i._onTouchBegan=function(t){this._interactable&&this.enabledInHierarchy&&(this._pressed=!0,this._updateState(),t&&(t.propagationStopped=!0))},i._onTouchMove=function(t){if(this._interactable&&this.enabledInHierarchy&&this._pressed&&t){var e=t.touch;if(e){var i,r=this.node._uiProps.uiTransformComp.isHit(e.getUILocation());this._transition===HA.SCALE&&this.target&&this._originalScale?r?(ii.copy(this._fromScale,this._originalScale),ii.multiplyScalar(this._toScale,this._originalScale,this._zoomScale),this._transitionFinished=!1):(this._time=0,this._transitionFinished=!0,this.target.setScale(this._originalScale)):(i=r?jA.PRESSED:jA.NORMAL,this._applyTransition(i)),t&&(t.propagationStopped=!0)}}},i._onTouchEnded=function(t){this._interactable&&this.enabledInHierarchy&&(this._pressed&&(pn.emitEvents(this.clickEvents,t),this.node.emit(WA.CLICK,this)),this._pressed=!1,this._updateState(),t&&(t.propagationStopped=!0))},i._onTouchCancel=function(){this._interactable&&this.enabledInHierarchy&&(this._pressed=!1,this._updateState())},i._onMouseMoveIn=function(){!this._pressed&&this.interactable&&this.enabledInHierarchy&&(this._transition!==HA.SPRITE||this._hoverSprite)&&(this._hovered||(this._hovered=!0,this._updateState()))},i._onMouseMoveOut=function(){this._hovered&&(this._hovered=!1,this._updateState())},i._updateState=function(){var t=this._getButtonState();this._applyTransition(t)},i._getButtonState=function(){var t=jA.NORMAL;return this._interactable?this._pressed?t=jA.PRESSED:this._hovered&&(t=jA.HOVER):t=jA.DISABLED,t.toString()},i._updateColorTransition=function(t){var e,i=this[t+"Color"],r=null===(e=this.target)||void 0===e?void 0:e.getComponent(Ap);r&&(t===jA.DISABLED?r.color=i:(this._fromColor=r.color.clone(),this._toColor=i,this._time=0,this._transitionFinished=!1))},i._updateSpriteTransition=function(t){var e=this[t+"Sprite"];this._sprite&&e&&(this._sprite.spriteFrame=e)},i._updateScaleTransition=function(t){this._interactable&&(t===jA.PRESSED?this._zoomUp():this._zoomBack())},i._zoomUp=function(){this._originalScale&&(ii.copy(this._fromScale,this._originalScale),ii.multiplyScalar(this._toScale,this._originalScale,this._zoomScale),this._time=0,this._transitionFinished=!1)},i._zoomBack=function(){this.target&&this._originalScale&&(ii.copy(this._fromScale,this.target.getScale()),ii.copy(this._toScale,this._originalScale),this._time=0,this._transitionFinished=!1)},i._applyTransition=function(t){var e=this._transition;e===HA.COLOR?this._updateColorTransition(t):e===HA.SPRITE?this._updateSpriteTransition(t):e===HA.SCALE&&this._updateScaleTransition(t)},Pe(e,[{key:"target",get:function(){return this._target||this.node},set:function(t){this._target!==t&&(this._target&&this._unregisterTargetEvent(this._target),this._target=t,this._applyTarget())}},{key:"interactable",get:function(){return this._interactable},set:function(t){this._interactable=t,this._updateState(),this._interactable||this._resetState()}},{key:"_resizeToTarget",set:function(t){t&&this._resizeNodeToTargetNode()}},{key:"transition",get:function(){return this._transition},set:function(t){this._transition!==t&&(this._transition===HA.COLOR?this._updateColorTransition(jA.NORMAL):this._transition===HA.SPRITE&&this._updateSpriteTransition(jA.NORMAL),this._transition=t,this._updateState())}},{key:"normalColor",get:function(){return this._normalColor},set:function(t){this._normalColor!==t&&(this._normalColor.set(t),this._updateState())}},{key:"pressedColor",get:function(){return this._pressedColor},set:function(t){this._pressedColor!==t&&this._pressedColor.set(t)}},{key:"hoverColor",get:function(){return this._hoverColor},set:function(t){this._hoverColor!==t&&this._hoverColor.set(t)}},{key:"disabledColor",get:function(){return this._disabledColor},set:function(t){this._disabledColor!==t&&(this._disabledColor.set(t),this._updateState())}},{key:"duration",get:function(){return this._duration},set:function(t){this._duration!==t&&(this._duration=t)}},{key:"zoomScale",get:function(){return this._zoomScale},set:function(t){this._zoomScale!==t&&(this._zoomScale=t)}},{key:"normalSprite",get:function(){return this._normalSprite},set:function(t){if(this._normalSprite!==t){this._normalSprite=t;var e=this.node.getComponent(dy);e&&(e.spriteFrame=t),this._updateState()}}},{key:"pressedSprite",get:function(){return this._pressedSprite},set:function(t){this._pressedSprite!==t&&(this._pressedSprite=t,this._updateState())}},{key:"hoverSprite",get:function(){return this._hoverSprite},set:function(t){this._hoverSprite!==t&&(this._hoverSprite=t,this._updateState())}},{key:"disabledSprite",get:function(){return this._disabledSprite},set:function(t){this._disabledSprite!==t&&(this._disabledSprite=t,this._updateState())}}]),e}(zi),RA.Transition=HA,RA.EventType=WA,oi((yA=IA).prototype,"target",[HS,jS,WS],Object.getOwnPropertyDescriptor(yA.prototype,"target"),yA.prototype),oi(yA.prototype,"interactable",[XS,YS],Object.getOwnPropertyDescriptor(yA.prototype,"interactable"),yA.prototype),oi(yA.prototype,"transition",[qS,JS,KS],Object.getOwnPropertyDescriptor(yA.prototype,"transition"),yA.prototype),oi(yA.prototype,"normalColor",[ZS],Object.getOwnPropertyDescriptor(yA.prototype,"normalColor"),yA.prototype),oi(yA.prototype,"pressedColor",[QS],Object.getOwnPropertyDescriptor(yA.prototype,"pressedColor"),yA.prototype),oi(yA.prototype,"hoverColor",[$S],Object.getOwnPropertyDescriptor(yA.prototype,"hoverColor"),yA.prototype),oi(yA.prototype,"disabledColor",[tA],Object.getOwnPropertyDescriptor(yA.prototype,"disabledColor"),yA.prototype),oi(yA.prototype,"duration",[eA,iA,rA],Object.getOwnPropertyDescriptor(yA.prototype,"duration"),yA.prototype),oi(yA.prototype,"zoomScale",[nA],Object.getOwnPropertyDescriptor(yA.prototype,"zoomScale"),yA.prototype),oi(yA.prototype,"normalSprite",[sA,aA],Object.getOwnPropertyDescriptor(yA.prototype,"normalSprite"),yA.prototype),oi(yA.prototype,"pressedSprite",[oA,lA],Object.getOwnPropertyDescriptor(yA.prototype,"pressedSprite"),yA.prototype),oi(yA.prototype,"hoverSprite",[hA,uA],Object.getOwnPropertyDescriptor(yA.prototype,"hoverSprite"),yA.prototype),oi(yA.prototype,"disabledSprite",[cA,_A],Object.getOwnPropertyDescriptor(yA.prototype,"disabledSprite"),yA.prototype),gA=oi(yA.prototype,"clickEvents",[fA,_i,pA,dA],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return[]}}),vA=oi(yA.prototype,"_interactable",[_i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!0}}),bA=oi(yA.prototype,"_transition",[_i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return HA.NONE}}),SA=oi(yA.prototype,"_normalColor",[_i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return Ui.WHITE.clone()}}),AA=oi(yA.prototype,"_hoverColor",[_i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new Ui(211,211,211,255)}}),CA=oi(yA.prototype,"_pressedColor",[_i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return Ui.WHITE.clone()}}),xA=oi(yA.prototype,"_disabledColor",[_i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new Ui(124,124,124,255)}}),TA=oi(yA.prototype,"_normalSprite",[_i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return null}}),wA=oi(yA.prototype,"_hoverSprite",[_i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return null}}),EA=oi(yA.prototype,"_pressedSprite",[_i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return null}}),BA=oi(yA.prototype,"_disabledSprite",[_i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return null}}),DA=oi(yA.prototype,"_duration",[_i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return.1}}),MA=oi(yA.prototype,"_zoomScale",[_i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 1.2}}),PA=oi(yA.prototype,"_target",[_i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return null}}),mA=yA))||mA)||mA)||mA)||mA)||mA)||mA)),ZA=function(){function t(){}return t.add=function(t){var e=this._tabIndexList;-1===e.indexOf(t)&&e.push(t)},t.remove=function(t){var e=this._tabIndexList,i=e.indexOf(t);-1!==i&&e.splice(i,1)},t.resort=function(){this._tabIndexList.sort((function(t,e){return t._delegate.tabIndex-e._delegate.tabIndex}))},t.next=function(t){var e=this._tabIndexList,i=e.indexOf(t);if(t.setFocus(!1),-1!==i){var r=e[i+1];r&&r._delegate.tabIndex>=0&&r.setFocus(!0)}},t}();ZA._tabIndexList=[],function(t){t[t.DEFAULT=0]="DEFAULT",t[t.DONE=1]="DONE",t[t.SEND=2]="SEND",t[t.SEARCH=3]="SEARCH",t[t.GO=4]="GO",t[t.NEXT=5]="NEXT"}(YA||(YA={})),yi(YA),function(t){t[t.ANY=0]="ANY",t[t.EMAIL_ADDR=1]="EMAIL_ADDR",t[t.NUMERIC=2]="NUMERIC",t[t.PHONE_NUMBER=3]="PHONE_NUMBER",t[t.URL=4]="URL",t[t.DECIMAL=5]="DECIMAL",t[t.SINGLE_LINE=6]="SINGLE_LINE"}(qA||(qA={})),yi(qA),function(t){t[t.PASSWORD=0]="PASSWORD",t[t.SENSITIVE=1]="SENSITIVE",t[t.INITIAL_CAPS_WORD=2]="INITIAL_CAPS_WORD",t[t.INITIAL_CAPS_SENTENCE=3]="INITIAL_CAPS_SENTENCE",t[t.INITIAL_CAPS_ALL_CHARACTERS=4]="INITIAL_CAPS_ALL_CHARACTERS",t[t.DEFAULT=5]="DEFAULT"}(JA||(JA={})),yi(JA);var QA,$A,tC,eC,iC,rC,nC,sC,aC,oC,lC,hC,uC,cC,_C,fC,pC,dC,mC,yC,gC,vC,bC,SC,AC,CC,xC,TC,wC,EC,BC,DC,MC,PC,RC,IC,OC,FC,LC,VC,kC,NC,GC,zC,UC,HC,jC,WC,XC,YC,qC,JC,KC,ZC,QC,$C,tx,ex,ix,rx,nx,sx=function(){function t(){this._editing=!1,this._delegate=null}var e=t.prototype;return e.init=function(){},e.onEnable=function(){},e.update=function(){},e.onDisable=function(){this._editing&&this.endEditing()},e.clear=function(){this._delegate=null},e.setTabIndex=function(){},e.setSize=function(){},e.setFocus=function(t){t?this.beginEditing():this.endEditing()},e.isFocused=function(){return this._editing},e.beginEditing=function(){},e.endEditing=function(){},t}(),ax=new Ri,ox=new Ri,lx=new ii,hx=null,ux=0,cx=function(t){function e(){for(var e,i=arguments.length,r=new Array(i),n=0;n=0&&(e.value=e.value.slice(0,n)),r._editBoxTextChanged(e.value)}},r.onClick=function(){t._editing&&ke.isMobile&&t._adjustWindowScroll()},r.onKeydown=function(i){i.keyCode===Oe.KEY.enter?(i.propagationStopped=!0,t._delegate._editBoxEditingReturn(),t._isTextArea||e.blur()):i.keyCode===Oe.KEY.tab&&(i.propagationStopped=!0,i.preventDefault(),ZA.next(t))},r.onBlur=function(){ke.isMobile&&i&&r.compositionEnd(),t._editing=!1,hx=null,t._hideDom(),t._delegate._editBoxEditingDidEnded()},e.addEventListener("compositionstart",r.compositionStart),e.addEventListener("compositionend",r.compositionEnd),e.addEventListener("input",r.onInput),e.addEventListener("keydown",r.onKeydown),e.addEventListener("blur",r.onBlur),e.addEventListener("touchstart",r.onClick)}},i._removeEventListeners=function(){if(this._edTxt){var t=this._edTxt,e=this.__eventListeners;t.removeEventListener("compositionstart",e.compositionStart),t.removeEventListener("compositionend",e.compositionEnd),t.removeEventListener("input",e.onInput),t.removeEventListener("keydown",e.onKeydown),t.removeEventListener("blur",e.onBlur),t.removeEventListener("touchstart",e.onClick),e.compositionStart=null,e.compositionEnd=null,e.onInput=null,e.onKeydown=null,e.onBlur=null,e.onClick=null}},e}(sx);!function(t){t.EDITING_DID_BEGAN="editing-did-began",t.EDITING_DID_ENDED="editing-did-ended",t.TEXT_CHANGED="text-changed",t.EDITING_RETURN="editing-return"}(nx||(nx={}));var _x,fx,px,dx,mx,yx,gx,vx,bx,Sx,Ax,Cx,xx,Tx,wx,Ex,Bx,Dx,Mx,Px,Rx,Ix,Ox,Fx,Lx,Vx,kx,Nx,Gx,zx,Ux,Hx,jx,Wx,Xx,Yx,qx,Jx,Kx,Zx,Qx,$x,tT,eT,iT,rT,nT,sT,aT,oT,lT,hT,uT,cT,_T=function(e){return t({EditBox:e,EditBoxComponent:e}),e}((QA=ri("cc.EditBox"),$A=wi(),tC=Ei(110),eC=Bi(),iC=Rr(j_),rC=Mr(),nC=Di(),sC=Mr(),aC=Di(),oC=bi(wp),lC=Mr(),hC=Di(),uC=bi(wp),cC=Mr(),_C=Di(),fC=bi(xc),pC=Mr(),dC=Di(),mC=bi(JA),yC=Mr(),gC=Di(),vC=bi(qA),bC=Mr(),SC=Di(),AC=bi(YA),CC=Mr(),xC=Di(),TC=Mr(),wC=Di(),EC=Mr(),BC=Di(),DC=bi([pn]),MC=Mr(),PC=Di(),RC=bi([pn]),IC=Mr(),OC=Di(),FC=bi([pn]),LC=Mr(),VC=Di(),kC=bi([pn]),NC=Mr(),GC=Di(),QA(zC=$A(zC=tC(zC=eC(zC=iC(zC=Si((rx=ix=function(t){function e(){for(var e,i=arguments.length,r=new Array(i),n=0;n=0&&t.length>=this._maxLength&&(t=t.slice(0,this._maxLength)),this._string=t,this._updateString(t)}},{key:"placeholder",get:function(){return this._placeholderLabel?this._placeholderLabel.string:""},set:function(t){this._placeholderLabel&&(this._placeholderLabel.string=t)}},{key:"textLabel",get:function(){return this._textLabel},set:function(t){this._textLabel!==t&&(this._textLabel=t,this._textLabel&&(this._updateTextLabel(),this._updateLabels()))}},{key:"placeholderLabel",get:function(){return this._placeholderLabel},set:function(t){this._placeholderLabel!==t&&(this._placeholderLabel=t,this._placeholderLabel&&(this._updatePlaceholderLabel(),this._updateLabels()))}},{key:"backgroundImage",get:function(){return this._backgroundImage},set:function(t){this._backgroundImage!==t&&(this._backgroundImage=t,this._createBackgroundSprite())}},{key:"inputFlag",get:function(){return this._inputFlag},set:function(t){this._inputFlag=t,this._updateString(this._string)}},{key:"inputMode",get:function(){return this._inputMode},set:function(t){this._inputMode!==t&&(this._inputMode=t,this._updateTextLabel(),this._updatePlaceholderLabel())}},{key:"returnType",get:function(){return this._returnType},set:function(t){this._returnType=t}},{key:"maxLength",get:function(){return this._maxLength},set:function(t){this._maxLength=t}},{key:"tabIndex",get:function(){return this._tabIndex},set:function(t){this._tabIndex!==t&&(this._tabIndex=t,this._impl&&this._impl.setTabIndex(t))}}]),e}(zi),ix._EditBoxImpl=sx,ix.KeyboardReturnType=YA,ix.InputFlag=JA,ix.InputMode=qA,ix.EventType=nx,oi((UC=rx).prototype,"string",[rC,nC],Object.getOwnPropertyDescriptor(UC.prototype,"string"),UC.prototype),oi(UC.prototype,"placeholder",[sC,aC],Object.getOwnPropertyDescriptor(UC.prototype,"placeholder"),UC.prototype),oi(UC.prototype,"textLabel",[oC,lC,hC],Object.getOwnPropertyDescriptor(UC.prototype,"textLabel"),UC.prototype),oi(UC.prototype,"placeholderLabel",[uC,cC,_C],Object.getOwnPropertyDescriptor(UC.prototype,"placeholderLabel"),UC.prototype),oi(UC.prototype,"backgroundImage",[fC,pC,dC],Object.getOwnPropertyDescriptor(UC.prototype,"backgroundImage"),UC.prototype),oi(UC.prototype,"inputFlag",[mC,yC,gC],Object.getOwnPropertyDescriptor(UC.prototype,"inputFlag"),UC.prototype),oi(UC.prototype,"inputMode",[vC,bC,SC],Object.getOwnPropertyDescriptor(UC.prototype,"inputMode"),UC.prototype),oi(UC.prototype,"returnType",[AC,CC,xC],Object.getOwnPropertyDescriptor(UC.prototype,"returnType"),UC.prototype),oi(UC.prototype,"maxLength",[TC,wC],Object.getOwnPropertyDescriptor(UC.prototype,"maxLength"),UC.prototype),oi(UC.prototype,"tabIndex",[EC,BC],Object.getOwnPropertyDescriptor(UC.prototype,"tabIndex"),UC.prototype),HC=oi(UC.prototype,"editingDidBegan",[DC,_i,MC,PC],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return[]}}),jC=oi(UC.prototype,"textChanged",[RC,_i,IC,OC],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return[]}}),WC=oi(UC.prototype,"editingDidEnded",[FC,_i,LC,VC],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return[]}}),XC=oi(UC.prototype,"editingReturn",[kC,_i,NC,GC],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return[]}}),YC=oi(UC.prototype,"_textLabel",[_i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return null}}),qC=oi(UC.prototype,"_placeholderLabel",[_i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return null}}),JC=oi(UC.prototype,"_returnType",[_i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return YA.DEFAULT}}),KC=oi(UC.prototype,"_string",[_i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return""}}),ZC=oi(UC.prototype,"_tabIndex",[_i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 0}}),QC=oi(UC.prototype,"_backgroundImage",[_i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return null}}),$C=oi(UC.prototype,"_inputFlag",[_i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return JA.DEFAULT}}),tx=oi(UC.prototype,"_inputMode",[_i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return qA.ANY}}),ex=oi(UC.prototype,"_maxLength",[_i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 20}}),zC=UC))||zC)||zC)||zC)||zC)||zC)||zC));"object"!=typeof window||"object"!=typeof document||bn||Sn||An||(_T._EditBoxImpl=cx);var fT,pT,dT,mT,yT,gT,vT=Dr;!function(t){t[t.NONE=0]="NONE",t[t.HORIZONTAL=1]="HORIZONTAL",t[t.VERTICAL=2]="VERTICAL",t[t.GRID=3]="GRID"}(fT||(fT={})),Pr(fT),function(t){t[t.NONE=0]="NONE",t[t.CONTAINER=1]="CONTAINER",t[t.CHILDREN=2]="CHILDREN"}(pT||(pT={})),Pr(pT),function(t){t[t.HORIZONTAL=0]="HORIZONTAL",t[t.VERTICAL=1]="VERTICAL"}(dT||(dT={})),Pr(dT),function(t){t[t.BOTTOM_TO_TOP=0]="BOTTOM_TO_TOP",t[t.TOP_TO_BOTTOM=1]="TOP_TO_BOTTOM"}(mT||(mT={})),Pr(mT),function(t){t[t.LEFT_TO_RIGHT=0]="LEFT_TO_RIGHT",t[t.RIGHT_TO_LEFT=1]="RIGHT_TO_LEFT"}(yT||(yT={})),Pr(yT),function(t){t[t.NONE=0]="NONE",t[t.FIXED_ROW=1]="FIXED_ROW",t[t.FIXED_COL=2]="FIXED_COL"}(gT||(gT={})),Pr(gT);var bT,ST,AT,CT,xT,TT,wT,ET,BT,DT,MT,PT,RT,IT,OT,FT,LT,VT,kT,NT,GT,zT,UT,HT=new ii,jT=function(e){return t({Layout:e,LayoutComponent:e}),e}((_x=ri("cc.Layout"),fx=wi(),px=Ei(110),dx=Bi(),mx=Rr(j_),yx=Mi(),gx=Di(),vx=Mi(),bx=Di(),Sx=bi(fT),Ax=Di(),Cx=bi(pT),xx=Mi(),Tx=Di(),wx=Mi(),Ex=Di(),Bx=bi(dT),Dx=Di(),Mx=Di(),Px=Di(),Rx=Di(),Ix=Di(),Ox=Di(),Fx=Di(),Lx=bi(mT),Vx=Di(),kx=bi(yT),Nx=Di(),Gx=bi(gT),zx=Mi(),Ux=Di(),Hx=Mi(),jx=Di(),Wx=Di(),_x(Xx=fx(Xx=px(Xx=dx(Xx=mx(Xx=Si((cT=uT=function(t){function e(){for(var e,i=arguments.length,r=new Array(i),n=0;n0&&(this._doLayout(),this._layoutDirty=!1)},i.onEnable=function(){this._addEventListeners();var t=this.node._uiProps.uiTransformComp;t.contentSize.equals(vr.ZERO)&&t.setContentSize(this._layoutSize),this._childrenChanged()},i.onDisable=function(){this._usefulLayoutObj.length=0,this._removeEventListeners()},i._checkUsefulObj=function(){this._usefulLayoutObj.length=0;for(var t=this.node.children,e=0;e_&&(f=Math.max(_,f),c=_||E,_=E),h+=a*(T*w+this._spacingX);var B=a*(1-T)*w;if(e){if(s>0)(p=v/s>0&&v%s==0)&&(c=_>E?_:c);else if(w>t-y)h>l+a*T*w&&(p=!0);else{var D=(1-this._horizontalDirection-n.x)*t,M=h+B+a*(a>0?this._paddingRight:this._paddingLeft);p=Math.abs(M)>Math.abs(D)}p&&(h=l+a*T*w,E!==_&&(c=_),u+=c+this._spacingY,c=_=E)}var P=i(S,b,u);r&&S.setPosition(h,P),h+=B}return c=Math.max(c,_),Math.max(f,u+c)+this._getPaddingV()},i._doLayoutVertically=function(t,e,i,r){var n=this.node._uiProps.uiTransformComp.anchorPoint,s=this._getFixedBreakingNum(),a=1,o=this._paddingBottom;this._verticalDirection===mT.TOP_TO_BOTTOM&&(a=-1,o=this._paddingTop);var l=(this._verticalDirection-n.y)*t+a*o,h=l-a*this._spacingY,u=0,c=0,_=0,f=0,p=!1,d=this._usefulLayoutObj.length,m=this._cellSize.height,y=this._getPaddingV();this._layoutType!==fT.GRID&&this._resizeMode===pT.CHILDREN&&(m=(t-y-(d-1)*this._spacingY)/d);for(var g=this._usefulLayoutObj,v=0;vu&&(c=Math.max(u,c),_=u||w,u=w),h+=a*(T*E+this._spacingY);var B=a*(1-T)*E;if(e){if(s>0)(p=v/s>0&&v%s==0)&&(_=u>E?u:_);else if(E>t-y)h>l+a*T*E&&(p=!0);else{var D=(1-this._verticalDirection-n.y)*t,M=h+B+a*(a>0?this._paddingTop:this._paddingBottom);p=Math.abs(M)>Math.abs(D)}p&&(h=l+a*T*E,w!==u&&(_=u),f+=_+this._spacingX,_=u=w)}var P=i(S,b,f);r&&(S.getPosition(HT),S.setPosition(P,h,HT.z)),h+=B}return _=Math.max(_,u),Math.max(c,f+_)+this._getPaddingH()},i._doLayoutGridAxisHorizontal=function(t,e){var i=this,r=e.width,n=1,s=-t.y*e.height,a=this._paddingBottom;this._verticalDirection===mT.TOP_TO_BOTTOM&&(n=-1,s=(1-t.y)*e.height,a=this._paddingTop);var o=function(t,e,r){return s+n*(r+(1-e.anchorY)*e.height*i._getUsedScaleValue(t.scale.y)+a)},l=0;this._resizeMode===pT.CONTAINER&&(l=this._doLayoutHorizontally(r,!0,o,!1),s=-t.y*l,this._verticalDirection===mT.TOP_TO_BOTTOM&&(n=-1,s=(1-t.y)*l)),this._doLayoutHorizontally(r,!0,o,!0),this._resizeMode===pT.CONTAINER&&this.node._uiProps.uiTransformComp.setContentSize(r,l)},i._doLayoutGridAxisVertical=function(t,e){var i=this,r=e.height,n=1,s=-t.x*e.width,a=this._paddingLeft;this._horizontalDirection===yT.RIGHT_TO_LEFT&&(n=-1,s=(1-t.x)*e.width,a=this._paddingRight);var o=function(t,e,r){return s+n*(r+(1-e.anchorX)*e.width*i._getUsedScaleValue(t.scale.x)+a)},l=0;this._resizeMode===pT.CONTAINER&&(l=this._doLayoutVertically(r,!0,o,!1),s=-t.x*l,this._horizontalDirection===yT.RIGHT_TO_LEFT&&(n=-1,s=(1-t.x)*l)),this._doLayoutVertically(r,!0,o,!0),this._resizeMode===pT.CONTAINER&&this.node._uiProps.uiTransformComp.setContentSize(l,r)},i._doLayoutGrid=function(){var t=this.node._uiProps.uiTransformComp,e=t.anchorPoint,i=t.contentSize;this.startAxis===dT.HORIZONTAL?this._doLayoutGridAxisHorizontal(e,i):this.startAxis===dT.VERTICAL&&this._doLayoutGridAxisVertical(e,i)},i._getHorizontalBaseWidth=function(){var t=this._usefulLayoutObj,e=0,i=t.length;if(this._resizeMode===pT.CONTAINER){for(var r=0;r0?r:-r)),i*(e/n)},i._calculatePosition=function(t,e,i,r,n,s,a){var o=e-i;s&&(o+=Math.abs(s));var l=0;o&&(l=Cn(l=n/o));var h=(r-a)*l;this._direction===dw.VERTICAL?t.set(0,h):t.set(h,0)},i._updateLength=function(t){if(this._handle){var e=this._handle.node._uiProps.uiTransformComp,i=e.contentSize,r=e.anchorPoint;r.x===bw.x&&r.y===bw.y||e.setAnchorPoint(bw),this._direction===dw.HORIZONTAL?e.setContentSize(t,i.height):e.setContentSize(i.width,t)}},i._processAutoHide=function(t){if(this._enableAutoHide&&!(this._autoHideRemainingTime<=0)&&!this._touching&&(this._autoHideRemainingTime-=t,this._autoHideRemainingTime<=this._autoHideTime)){this._autoHideRemainingTime=Math.max(0,this._autoHideRemainingTime);var e=this._opacity*(this._autoHideRemainingTime/this._autoHideTime);this._setOpacity(e)}},Pe(e,[{key:"handle",get:function(){return this._handle},set:function(t){this._handle!==t&&(this._handle=t,this.onScroll(dr.ZERO))}},{key:"direction",get:function(){return this._direction},set:function(t){this._direction!==t&&(this._direction=t,this.onScroll(dr.ZERO))}},{key:"enableAutoHide",get:function(){return this._enableAutoHide},set:function(t){this._enableAutoHide!==t&&(this._enableAutoHide=t,this._enableAutoHide&&this._setOpacity(0))}},{key:"autoHideTime",get:function(){return this._autoHideTime},set:function(t){this._autoHideTime!==t&&(this._autoHideTime=t)}}]),e}(zi),fw.Direction=dw,oi((ow=pw).prototype,"handle",[KT,ZT,QT],Object.getOwnPropertyDescriptor(ow.prototype,"handle"),ow.prototype),oi(ow.prototype,"direction",[$T,tw,ew],Object.getOwnPropertyDescriptor(ow.prototype,"direction"),ow.prototype),oi(ow.prototype,"enableAutoHide",[iw,rw],Object.getOwnPropertyDescriptor(ow.prototype,"enableAutoHide"),ow.prototype),oi(ow.prototype,"autoHideTime",[nw,sw],Object.getOwnPropertyDescriptor(ow.prototype,"autoHideTime"),ow.prototype),lw=oi(ow.prototype,"_scrollView",[_i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return null}}),hw=oi(ow.prototype,"_handle",[_i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return null}}),uw=oi(ow.prototype,"_direction",[_i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return dw.HORIZONTAL}}),cw=oi(ow.prototype,"_enableAutoHide",[_i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),_w=oi(ow.prototype,"_autoHideTime",[_i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 1}}),aw=ow))||aw)||aw)||aw)||aw)||aw)),vE=t("ViewGroup",ri("cc.ViewGroup")(Cw=Ei(110)(Cw=function(t){function e(){return t.apply(this,arguments)||this}return Me(e,t),e}(zi))||Cw)||Cw);He.ViewGroup=vE;var bE,SE=1e-4,AE=new ii,CE=new ii,xE=new dr,TE=new dr,wE=function(){return(new Date).getMilliseconds()},EE={"scroll-to-top":0,"scroll-to-bottom":1,"scroll-to-left":2,"scroll-to-right":3,scrolling:4,"bounce-bottom":6,"bounce-left":7,"bounce-right":8,"bounce-top":5,"scroll-ended":9,"touch-up":10,"scroll-ended-with-threshold":11,"scroll-began":12};!function(t){t.SCROLL_TO_TOP="scroll-to-top",t.SCROLL_TO_BOTTOM="scroll-to-bottom",t.SCROLL_TO_LEFT="scroll-to-left",t.SCROLL_TO_RIGHT="scroll-to-right",t.SCROLL_BEGAN="scroll-began",t.SCROLL_ENDED="scroll-ended",t.BOUNCE_TOP="bounce-top",t.BOUNCE_BOTTOM="bounce-bottom",t.BOUNCE_LEFT="bounce-left",t.BOUNCE_RIGHT="bounce-right",t.SCROLLING="scrolling",t.SCROLL_ENG_WITH_THRESHOLD="scroll-ended-with-threshold",t.TOUCH_UP="touch-up"}(bE||(bE={}));var BE,DE,ME,PE,RE,IE,OE,FE,LE,VE,kE,NE,GE,zE,UE,HE,jE,WE,XE,YE,qE,JE,KE=function(e){return t({ScrollView:e,ScrollViewComponent:e}),e}((xw=ri("cc.ScrollView"),Tw=wi(),ww=Ei(110),Ew=Bi(),Bw=Rr(j_),Dw=Ni(),Mw=Mr(),Pw=Di(),Rw=Ni(),Iw=Mr(),Ow=Di(),Fw=Mr(),Lw=Di(),Vw=Mr(),kw=Di(),Nw=bi(ur),Gw=Mr(),zw=Di(),Uw=Mr(),Hw=Di(),jw=bi(gE),Ww=Mr(),Xw=Di(),Yw=Mr(),qw=Di(),Jw=bi(gE),Kw=Mr(),Zw=Di(),Qw=Mr(),$w=Di(),tE=bi([pn]),eE=Mr(),iE=Di(),xw(rE=Tw(rE=ww(rE=Ew(rE=Bw((yE=mE=function(t){function e(){for(var e,i=arguments.length,r=new Array(i),n=0;n=0?e:0,i=i>=0?i:0)},i.scrollToPercentHorizontal=function(t,e,i){var r=this._calculateMovePercentDelta({anchor:new dr(t,0),applyToHorizontal:!0,applyToVertical:!1});e?this._startAutoScroll(r,e,!1!==i):this._moveContent(r)},i.scrollTo=function(t,e,i){var r=this._calculateMovePercentDelta({anchor:new dr(t),applyToHorizontal:!0,applyToVertical:!0});e?this._startAutoScroll(r,e,i):this._moveContent(r)},i.scrollToPercentVertical=function(t,e,i){var r=this._calculateMovePercentDelta({anchor:new dr(0,t),applyToHorizontal:!1,applyToVertical:!0});e?this._startAutoScroll(r,e,i):this._moveContent(r)},i.stopAutoScroll=function(){this._autoScrolling=!1,this._autoScrollAccumulatedTime=this._autoScrollTotalTime},i.setContentPosition=function(t){this._setContentPosition(t)},i._setContentPosition=function(t){if(this._content){var e=this._getContentPosition();Math.abs(t.x-e.x)7&&!this._touchMoved&&t.target!==this.node){var n=new xn(t.getTouches(),t.bubbles);n.type=ur.EventType.TOUCH_CANCEL,n.touch=t.touch,n.simulate=!0,t.target.dispatchEvent(n),this._touchMoved=!0}this._stopPropagationIfTargetIsMe(t)}}},i._onTouchEnded=function(t,e){if(this.enabledInHierarchy&&this._content&&t&&!this._hasNestedViewGroup(t,e)){this._dispatchEvent(bE.TOUCH_UP);var i=t.touch;this._handleReleaseLogic(i),this._touchMoved?t.propagationStopped=!0:this._stopPropagationIfTargetIsMe(t)}},i._onTouchCancelled=function(t,e){if(this.enabledInHierarchy&&this._content&&!this._hasNestedViewGroup(t,e)){if(t&&!t.simulate){var i=t.touch;this._handleReleaseLogic(i)}this._stopPropagationIfTargetIsMe(t)}},i._calculateBoundary=function(){if(this._content&&this.view){var t=this._content.getComponent(jT);t&&t.enabledInHierarchy&&t.updateLayout();var e=this.view,i=e.width*e.anchorX,r=e.height*e.anchorY;this._leftBoundary=-i,this._bottomBoundary=-r,this._rightBoundary=this._leftBoundary+e.width,this._topBoundary=this._bottomBoundary+e.height,this._moveContentToTopLeft(e.contentSize)}},i._hasNestedViewGroup=function(t,e){if(!t||t.eventPhase!==Tn.CAPTURING_PHASE)return!1;if(e)for(var i,r=Fe(e);!(i=r()).done;){var n=i.value;if(this.node===n)return!(!t.target||!t.target.getComponent(vE));if(n.getComponent(vE))return!0}return!1},i._startInertiaScroll=function(t){var e=new ii(t);e.multiplyScalar(.7),this._startAttenuatingAutoScroll(e,t)},i._calculateAttenuatedFactor=function(t){return this.brake<=0?1-this.brake:(1-this.brake)*(1/(1+14e-6*t+t*t*8e-9))},i._startAttenuatingAutoScroll=function(t,e){var i=t.clone();if(i.normalize(),this._content&&this.view){var r=this._content._uiProps.uiTransformComp.contentSize,n=this.view.contentSize,s=r.width-n.width,a=r.height-n.height,o=this._calculateAttenuatedFactor(s),l=this._calculateAttenuatedFactor(a);i.x=i.x*s*(1-this.brake)*o,i.y=i.y*a*l*(1-this.brake),i.z=0}var h=t.length(),u=i.length()/h;if(i.add(t),this.brake>0&&u>7){u=Math.sqrt(u);var c=t.clone();c.multiplyScalar(u),i.set(c),i.add(t)}var _=this._calculateAutoScrollTimeByInitialSpeed(e.length());this.brake>0&&u>3&&(_*=u=3),0===this.brake&&u>1&&(_*=u),this._startAutoScroll(i,_,!0)},i._calculateAutoScrollTimeByInitialSpeed=function(t){return Math.sqrt(Math.sqrt(t/5))},i._startAutoScroll=function(t,e,i){void 0===i&&(i=!1);var r=this._flattenVectorByDirection(t);this._autoScrolling=!0,this._autoScrollTargetDelta=r,this._autoScrollAttenuate=i,ii.copy(this._autoScrollStartPosition,this._getContentPosition()),this._autoScrollTotalTime=e,this._autoScrollAccumulatedTime=0,this._autoScrollBraking=!1,this._isScrollEndedWithThresholdEventFired=!1,this._autoScrollBrakingStartPosition.set(0,0,0),this._getHowMuchOutOfBoundary().equals(ii.ZERO,SE)||(this._autoScrollCurrentlyOutOfBoundary=!0)},i._calculateTouchMoveVelocity=function(){var t=new ii,e=0;if((e=this._touchMoveTimeDeltas.reduce((function(t,e){return t+e}),e))<=0||e>=.5)t.set(ii.ZERO);else{var i=new ii;i=this._touchMoveDisplacements.reduce((function(t,e){return t.add(e),t}),i),t.set(i.x*(1-this.brake)/e,i.y*(1-this.brake)/e,i.z)}return t},i._flattenVectorByDirection=function(t){var e=t;return e.x=this.horizontal?e.x:0,e.y=this.vertical?e.y:0,e},i._moveContent=function(t,e){var i=this._flattenVectorByDirection(t);AE.set(this._getContentPosition()),AE.add(i),AE.set(Math.floor(1e4*AE.x)*SE,Math.floor(1e4*AE.y)*SE,AE.z),this._setContentPosition(AE);var r=this._getHowMuchOutOfBoundary();xE.set(r.x,r.y),this._updateScrollBar(xE),this.elastic&&e&&this._startBounceBackIfNeeded()},i._getContentLeftBoundary=function(){if(!this._content)return-1;var t=this._getContentPosition(),e=this._content._uiProps.uiTransformComp;return t.x-e.anchorX*e.width},i._getContentRightBoundary=function(){if(!this._content)return-1;var t=this._content._uiProps.uiTransformComp;return this._getContentLeftBoundary()+t.width},i._getContentTopBoundary=function(){if(!this._content)return-1;var t=this._content._uiProps.uiTransformComp;return this._getContentBottomBoundary()+t.height},i._getContentBottomBoundary=function(){if(!this._content)return-1;var t=this._getContentPosition(),e=this._content._uiProps.uiTransformComp;return t.y-e.anchorY*e.height},i._getHowMuchOutOfBoundary=function(t){if((t=t||new ii).equals(ii.ZERO,SE)&&!this._outOfBoundaryAmountDirty)return this._outOfBoundaryAmount;var e=new ii;return this._getContentLeftBoundary()+t.x>this._leftBoundary?e.x=this._leftBoundary-(this._getContentLeftBoundary()+t.x):this._getContentRightBoundary()+t.xthis._bottomBoundary&&(e.y=this._bottomBoundary-(this._getContentBottomBoundary()+t.y)),t.equals(ii.ZERO,SE)&&(this._outOfBoundaryAmount=e,this._outOfBoundaryAmountDirty=!1),this._clampDelta(e),e},i._updateScrollBar=function(t){this._horizontalScrollBar&&this._horizontalScrollBar.onScroll(t),this.verticalScrollBar&&this.verticalScrollBar.onScroll(t)},i._onScrollBarTouchBegan=function(){this._horizontalScrollBar&&this._horizontalScrollBar.onTouchBegan(),this.verticalScrollBar&&this.verticalScrollBar.onTouchBegan()},i._onScrollBarTouchEnded=function(){this._horizontalScrollBar&&this._horizontalScrollBar.onTouchEnded(),this.verticalScrollBar&&this.verticalScrollBar.onTouchEnded()},i._dispatchEvent=function(t){if(t===bE.SCROLL_ENDED)this._scrollEventEmitMask=0;else if(t===bE.SCROLL_TO_TOP||t===bE.SCROLL_TO_BOTTOM||t===bE.SCROLL_TO_LEFT||t===bE.SCROLL_TO_RIGHT){var e=1<0?h.y-a*l+r.y>=this._bottomBoundary&&(i=bE.SCROLL_TO_BOTTOM):r.y<0&&h.y-a*l+l+r.y<=this._topBoundary&&(i=bE.SCROLL_TO_TOP),r.x<0?h.x-s*o+o+r.x<=this._rightBoundary&&(i=bE.SCROLL_TO_RIGHT):r.x>0&&h.x-s*o+r.x>=this._leftBoundary&&(i=bE.SCROLL_TO_LEFT)}this._moveContent(r,!1),0===r.x&&0===r.y||(this._scrolling||(this._scrolling=!0,this._dispatchEvent(bE.SCROLL_BEGAN)),this._dispatchEvent(bE.SCROLLING)),i&&i.length>0&&this._dispatchEvent(i)},i._handlePressLogic=function(){this._autoScrolling&&this._dispatchEvent(bE.SCROLL_ENDED),this._autoScrolling=!1,this._isBouncing=!1,this._touchMovePreviousTimestamp=wE(),this._touchMoveDisplacements.length=0,this._touchMoveTimeDeltas.length=0,this._onScrollBarTouchBegan()},i._clampDelta=function(t){if(this._content&&this.view){var e=this.view.contentSize,i=this._content._uiProps.uiTransformComp;i.width=5;)this._touchMoveDisplacements.shift(),this._touchMoveTimeDeltas.shift();this._touchMoveDisplacements.push(e);var i=wE();this._touchMoveTimeDeltas.push((i-this._touchMovePreviousTimestamp)/1e3),this._touchMovePreviousTimestamp=i},i._startBounceBackIfNeeded=function(){if(!this.elastic)return!1;var t=this._getHowMuchOutOfBoundary();if(this._clampDelta(t),t.equals(ii.ZERO,SE))return!1;var e=Math.max(this.bounceDuration,0);return this._startAutoScroll(t,e,!0),this._isBouncing||(t.y>0&&this._dispatchEvent(bE.BOUNCE_TOP),t.y<0&&this._dispatchEvent(bE.BOUNCE_BOTTOM),t.x>0&&this._dispatchEvent(bE.BOUNCE_RIGHT),t.x<0&&this._dispatchEvent(bE.BOUNCE_LEFT),this._isBouncing=!0),!0},i._processInertiaScroll=function(){if(!this._startBounceBackIfNeeded()&&this.inertia){var t=this._calculateTouchMoveVelocity();!t.equals(AE,SE)&&this.brake<1&&this._startInertiaScroll(t)}this._onScrollBarTouchEnded()},i._isOutOfBoundary=function(){return!this._getHowMuchOutOfBoundary().equals(ii.ZERO,SE)},i._isNecessaryAutoScrollBrake=function(){if(this._autoScrollBraking)return!0;if(this._isOutOfBoundary()){if(!this._autoScrollCurrentlyOutOfBoundary)return this._autoScrollCurrentlyOutOfBoundary=!0,this._autoScrollBraking=!0,this._autoScrollBrakingStartPosition=this._getContentPosition(),!0}else this._autoScrollCurrentlyOutOfBoundary=!1;return!1},i._processAutoScrolling=function(t){var e=this._isNecessaryAutoScrollBrake(),i=e?.05:1;this._autoScrollAccumulatedTime+=t*(1/i);var r,n=Math.min(1,this._autoScrollAccumulatedTime/this._autoScrollTotalTime);this._autoScrollAttenuate&&(r=n,n=(r-=1)*r*r*r*r+1);var s=this._autoScrollTargetDelta.clone();s.multiplyScalar(n);var a=this._autoScrollStartPosition.clone();a.add(s);var o=Math.abs(n-1)<=SE;if(Math.abs(n-1)<=this.getScrollEndedEventTiming()&&!this._isScrollEndedWithThresholdEventFired&&(this._dispatchEvent(bE.SCROLL_ENG_WITH_THRESHOLD),this._isScrollEndedWithThresholdEventFired=!0),this.elastic){var l=a.clone();l.subtract(this._autoScrollBrakingStartPosition),e&&l.multiplyScalar(i),a.set(this._autoScrollBrakingStartPosition),a.add(l)}else{var h=a.clone();h.subtract(this.getContentPosition());var u=this._getHowMuchOutOfBoundary(h);u.equals(ii.ZERO,SE)||(a.add(u),o=!0)}o&&(this._autoScrolling=!1);var c=a.clone();c.subtract(this._getContentPosition()),this._clampDelta(c),this._moveContent(c,o),this._dispatchEvent(bE.SCROLLING),this._autoScrolling||(this._isBouncing=!1,this._scrolling=!1,this._dispatchEvent(bE.SCROLL_ENDED))},i._checkMouseWheel=function(t){if(!this._getHowMuchOutOfBoundary().equals(ii.ZERO,SE))return this._processInertiaScroll(),this.unschedule(this._checkMouseWheel),this._dispatchEvent(bE.SCROLL_ENDED),void(this._stopMouseWheel=!1);this._mouseWheelEventElapsedTime+=t,this._mouseWheelEventElapsedTime>.1&&(this._onScrollBarTouchEnded(),this.unschedule(this._checkMouseWheel),this._dispatchEvent(bE.SCROLL_ENDED),this._stopMouseWheel=!1)},i._calculateMovePercentDelta=function(t){var e=t.anchor,i=t.applyToHorizontal,r=t.applyToVertical;this._calculateBoundary(),e.clampf(dr.ZERO,dr.ONE);var n=this._getContentBottomBoundary()-this._bottomBoundary;n=-n;var s=this._getContentLeftBoundary()-this._leftBoundary;s=-s;var a=new ii;if(this._content&&this.view){var o=0,l=this._content._uiProps.uiTransformComp.contentSize,h=this.view.contentSize;i&&(o=l.width-h.width,a.x=s-o*e.x),r&&(o=l.height-h.height,a.y=n-o*e.y)}return a},i._moveContentToTopLeft=function(t){var e=this._getContentBottomBoundary()-this._bottomBoundary;e=-e;var i=new ii,r=0,n=this._getContentLeftBoundary()-this._leftBoundary;if(n=-n,this._content){var s=this._content._uiProps.uiTransformComp.contentSize;s.height1)for(var r=i[0],n=0;n0){var i=this.node.parent&&this.node.parent._uiProps,r=i&&i.uiTransformComp,n=r?r.contentSize:jr;this.isAlignLeft&&t===xD.LEFT?this._left=e?this._left*n.width:this._left/n.width:this.isAlignRight&&t===xD.RIGHT?this._right=e?this._right*n.width:this._right/n.width:this.isAlignHorizontalCenter&&t===xD.CENTER?this._horizontalCenter=e?this._horizontalCenter*n.width:this._horizontalCenter/n.width:this.isAlignTop&&t===xD.TOP?this._top=e?this._top*n.height:this._top/n.height:this.isAlignBottom&&t===xD.BOT?this._bottom=e?this._bottom*n.height:this._bottom/n.height:this.isAbsoluteVerticalCenter&&t===xD.MID&&(this._verticalCenter=this._verticalCenter/n.height),this._recursiveDirty()}},i._registerTargetEvents=function(){var t=this._target||this.node.parent;t&&t.getComponent(j_)&&(t.on(Dr.TRANSFORM_CHANGED,this._setDirtyByMode,this),t.on(Dr.SIZE_CHANGED,this._setDirtyByMode,this))},i._unregisterTargetEvents=function(){var t=this._target||this.node.parent;t&&(t.off(Dr.TRANSFORM_CHANGED,this._setDirtyByMode,this),t.off(Dr.SIZE_CHANGED,this._setDirtyByMode,this))},i._unregisterOldParentEvents=function(t){var e=this._target||t;e&&(e.off(Dr.TRANSFORM_CHANGED,this._setDirtyByMode,this),e.off(Dr.SIZE_CHANGED,this._setDirtyByMode,this))},i._setDirtyByMode=function(){this.alignMode===CD.ALWAYS&&this._recursiveDirty()},i._setAlign=function(t,e){if(e!==(this._alignFlags&t)>0){var i=(t&KD)>0,r=this.node._uiProps.uiTransformComp;e?(this._alignFlags|=t,i?(this.isAlignHorizontalCenter=!1,this.isStretchWidth&&(this._originalWidth=r.width)):(this.isAlignVerticalCenter=!1,this.isStretchHeight&&(this._originalHeight=r.height))):(i?this.isStretchWidth&&(r.width=this._originalWidth):this.isStretchHeight&&(r.height=this._originalHeight),this._alignFlags&=~t)}},i._recursiveDirty=function(){this._dirty||(this._dirty=!0)},Pe(e,[{key:"target",get:function(){return this._target},set:function(t){this._target!==t&&(this._unregisterTargetEvents(),this._target=t,this._registerTargetEvents(),this._validateTargetInDEV(),this._recursiveDirty())}},{key:"isAlignTop",get:function(){return(this._alignFlags&xD.TOP)>0},set:function(t){this._setAlign(xD.TOP,t),this._recursiveDirty()}},{key:"isAlignBottom",get:function(){return(this._alignFlags&xD.BOT)>0},set:function(t){this._setAlign(xD.BOT,t),this._recursiveDirty()}},{key:"isAlignLeft",get:function(){return(this._alignFlags&xD.LEFT)>0},set:function(t){this._setAlign(xD.LEFT,t),this._recursiveDirty()}},{key:"isAlignRight",get:function(){return(this._alignFlags&xD.RIGHT)>0},set:function(t){this._setAlign(xD.RIGHT,t),this._recursiveDirty()}},{key:"isAlignVerticalCenter",get:function(){return(this._alignFlags&xD.MID)>0},set:function(t){t?(this.isAlignTop=!1,this.isAlignBottom=!1,this._alignFlags|=xD.MID):this._alignFlags&=~xD.MID,this._recursiveDirty()}},{key:"isAlignHorizontalCenter",get:function(){return(this._alignFlags&xD.CENTER)>0},set:function(t){t?(this.isAlignLeft=!1,this.isAlignRight=!1,this._alignFlags|=xD.CENTER):this._alignFlags&=~xD.CENTER,this._recursiveDirty()}},{key:"isStretchWidth",get:function(){return(this._alignFlags&KD)===KD}},{key:"isStretchHeight",get:function(){return(this._alignFlags&JD)===JD}},{key:"top",get:function(){return this._top},set:function(t){this._top=t,this._recursiveDirty()}},{key:"editorTop",get:function(){return this._isAbsTop?this._top:100*this._top},set:function(t){this._top=this._isAbsTop?t:t/100,this._recursiveDirty()}},{key:"bottom",get:function(){return this._bottom},set:function(t){this._bottom=t,this._recursiveDirty()}},{key:"editorBottom",get:function(){return this._isAbsBottom?this._bottom:100*this._bottom},set:function(t){this._bottom=this._isAbsBottom?t:t/100,this._recursiveDirty()}},{key:"left",get:function(){return this._left},set:function(t){this._left=t,this._recursiveDirty()}},{key:"editorLeft",get:function(){return this._isAbsLeft?this._left:100*this._left},set:function(t){this._left=this._isAbsLeft?t:t/100,this._recursiveDirty()}},{key:"right",get:function(){return this._right},set:function(t){this._right=t,this._recursiveDirty()}},{key:"editorRight",get:function(){return this._isAbsRight?this._right:100*this._right},set:function(t){this._right=this._isAbsRight?t:t/100,this._recursiveDirty()}},{key:"horizontalCenter",get:function(){return this._horizontalCenter},set:function(t){this._horizontalCenter=t,this._recursiveDirty()}},{key:"editorHorizontalCenter",get:function(){return this._isAbsHorizontalCenter?this._horizontalCenter:100*this._horizontalCenter},set:function(t){this._horizontalCenter=this._isAbsHorizontalCenter?t:t/100,this._recursiveDirty()}},{key:"verticalCenter",get:function(){return this._verticalCenter},set:function(t){this._verticalCenter=t,this._recursiveDirty()}},{key:"editorVerticalCenter",get:function(){return this._isAbsVerticalCenter?this._verticalCenter:100*this._verticalCenter},set:function(t){this._verticalCenter=this._isAbsVerticalCenter?t:t/100,this._recursiveDirty()}},{key:"isAbsoluteTop",get:function(){return this._isAbsTop},set:function(t){this._isAbsTop!==t&&(this._isAbsTop=t,this._autoChangedValue(xD.TOP,this._isAbsTop))}},{key:"isAbsoluteBottom",get:function(){return this._isAbsBottom},set:function(t){this._isAbsBottom!==t&&(this._isAbsBottom=t,this._autoChangedValue(xD.BOT,this._isAbsBottom))}},{key:"isAbsoluteLeft",get:function(){return this._isAbsLeft},set:function(t){this._isAbsLeft!==t&&(this._isAbsLeft=t,this._autoChangedValue(xD.LEFT,this._isAbsLeft))}},{key:"isAbsoluteRight",get:function(){return this._isAbsRight},set:function(t){this._isAbsRight!==t&&(this._isAbsRight=t,this._autoChangedValue(xD.RIGHT,this._isAbsRight))}},{key:"isAbsoluteHorizontalCenter",get:function(){return this._isAbsHorizontalCenter},set:function(t){this._isAbsHorizontalCenter!==t&&(this._isAbsHorizontalCenter=t,this._autoChangedValue(xD.CENTER,this._isAbsHorizontalCenter))}},{key:"isAbsoluteVerticalCenter",get:function(){return this._isAbsVerticalCenter},set:function(t){this._isAbsVerticalCenter!==t&&(this._isAbsVerticalCenter=t,this._autoChangedValue(xD.MID,this._isAbsVerticalCenter))}},{key:"alignMode",get:function(){return this._alignMode},set:function(t){this._alignMode=t,this._recursiveDirty()}},{key:"alignFlags",get:function(){return this._alignFlags},set:function(t){this._alignFlags!==t&&(this._alignFlags=t,this._recursiveDirty())}}]),e}(zi),SD.AlignMode=CD,oi((iD=AD).prototype,"target",[VB,kB],Object.getOwnPropertyDescriptor(iD.prototype,"target"),iD.prototype),oi(iD.prototype,"isAlignTop",[NB],Object.getOwnPropertyDescriptor(iD.prototype,"isAlignTop"),iD.prototype),oi(iD.prototype,"isAlignBottom",[GB],Object.getOwnPropertyDescriptor(iD.prototype,"isAlignBottom"),iD.prototype),oi(iD.prototype,"isAlignLeft",[zB],Object.getOwnPropertyDescriptor(iD.prototype,"isAlignLeft"),iD.prototype),oi(iD.prototype,"isAlignRight",[UB],Object.getOwnPropertyDescriptor(iD.prototype,"isAlignRight"),iD.prototype),oi(iD.prototype,"isAlignVerticalCenter",[HB],Object.getOwnPropertyDescriptor(iD.prototype,"isAlignVerticalCenter"),iD.prototype),oi(iD.prototype,"isAlignHorizontalCenter",[jB],Object.getOwnPropertyDescriptor(iD.prototype,"isAlignHorizontalCenter"),iD.prototype),oi(iD.prototype,"isStretchWidth",[WB],Object.getOwnPropertyDescriptor(iD.prototype,"isStretchWidth"),iD.prototype),oi(iD.prototype,"isStretchHeight",[XB],Object.getOwnPropertyDescriptor(iD.prototype,"isStretchHeight"),iD.prototype),oi(iD.prototype,"top",[YB],Object.getOwnPropertyDescriptor(iD.prototype,"top"),iD.prototype),oi(iD.prototype,"editorTop",[vi],Object.getOwnPropertyDescriptor(iD.prototype,"editorTop"),iD.prototype),oi(iD.prototype,"bottom",[qB],Object.getOwnPropertyDescriptor(iD.prototype,"bottom"),iD.prototype),oi(iD.prototype,"editorBottom",[vi],Object.getOwnPropertyDescriptor(iD.prototype,"editorBottom"),iD.prototype),oi(iD.prototype,"left",[JB],Object.getOwnPropertyDescriptor(iD.prototype,"left"),iD.prototype),oi(iD.prototype,"editorLeft",[vi],Object.getOwnPropertyDescriptor(iD.prototype,"editorLeft"),iD.prototype),oi(iD.prototype,"right",[KB],Object.getOwnPropertyDescriptor(iD.prototype,"right"),iD.prototype),oi(iD.prototype,"editorRight",[vi],Object.getOwnPropertyDescriptor(iD.prototype,"editorRight"),iD.prototype),oi(iD.prototype,"horizontalCenter",[ZB],Object.getOwnPropertyDescriptor(iD.prototype,"horizontalCenter"),iD.prototype),oi(iD.prototype,"editorHorizontalCenter",[vi],Object.getOwnPropertyDescriptor(iD.prototype,"editorHorizontalCenter"),iD.prototype),oi(iD.prototype,"verticalCenter",[QB],Object.getOwnPropertyDescriptor(iD.prototype,"verticalCenter"),iD.prototype),oi(iD.prototype,"editorVerticalCenter",[vi],Object.getOwnPropertyDescriptor(iD.prototype,"editorVerticalCenter"),iD.prototype),oi(iD.prototype,"isAbsoluteTop",[vi],Object.getOwnPropertyDescriptor(iD.prototype,"isAbsoluteTop"),iD.prototype),oi(iD.prototype,"isAbsoluteBottom",[vi],Object.getOwnPropertyDescriptor(iD.prototype,"isAbsoluteBottom"),iD.prototype),oi(iD.prototype,"isAbsoluteLeft",[vi],Object.getOwnPropertyDescriptor(iD.prototype,"isAbsoluteLeft"),iD.prototype),oi(iD.prototype,"isAbsoluteRight",[vi],Object.getOwnPropertyDescriptor(iD.prototype,"isAbsoluteRight"),iD.prototype),oi(iD.prototype,"isAbsoluteHorizontalCenter",[vi],Object.getOwnPropertyDescriptor(iD.prototype,"isAbsoluteHorizontalCenter"),iD.prototype),oi(iD.prototype,"isAbsoluteVerticalCenter",[vi],Object.getOwnPropertyDescriptor(iD.prototype,"isAbsoluteVerticalCenter"),iD.prototype),oi(iD.prototype,"alignMode",[$B,tD],Object.getOwnPropertyDescriptor(iD.prototype,"alignMode"),iD.prototype),oi(iD.prototype,"alignFlags",[vi],Object.getOwnPropertyDescriptor(iD.prototype,"alignFlags"),iD.prototype),rD=oi(iD.prototype,"_alignFlags",[_i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 0}}),nD=oi(iD.prototype,"_target",[_i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return null}}),sD=oi(iD.prototype,"_left",[_i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 0}}),aD=oi(iD.prototype,"_right",[_i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 0}}),oD=oi(iD.prototype,"_top",[_i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 0}}),lD=oi(iD.prototype,"_bottom",[_i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 0}}),hD=oi(iD.prototype,"_horizontalCenter",[_i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 0}}),uD=oi(iD.prototype,"_verticalCenter",[_i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 0}}),cD=oi(iD.prototype,"_isAbsLeft",[_i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!0}}),_D=oi(iD.prototype,"_isAbsRight",[_i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!0}}),fD=oi(iD.prototype,"_isAbsTop",[_i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!0}}),pD=oi(iD.prototype,"_isAbsBottom",[_i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!0}}),dD=oi(iD.prototype,"_isAbsHorizontalCenter",[_i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!0}}),mD=oi(iD.prototype,"_isAbsVerticalCenter",[_i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!0}}),yD=oi(iD.prototype,"_originalWidth",[_i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 0}}),gD=oi(iD.prototype,"_originalHeight",[_i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 0}}),vD=oi(iD.prototype,"_alignMode",[_i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return CD.ON_WINDOW_RESIZE}}),bD=oi(iD.prototype,"_lockFlags",[_i,En],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 0}}),eD=iD))||eD)||eD)||eD)||eD)||eD)||eD));He.internal.computeInverseTransForTarget=DD,He.internal.getReadonlyNodeSize=BD;var QD,$D=new Ui;!function(t){t[t.HORIZONTAL=0]="HORIZONTAL",t[t.VERTICAL=1]="VERTICAL"}(QD||(QD={})),Pr(QD);var tM,eM,iM,rM,nM,sM,aM,oM,lM,hM,uM,cM,_M,fM,pM,dM,mM,yM,gM,vM,bM,SM,AM,CM,xM,TM,wM,EM,BM,DM,MM,PM,RM,IM,OM,FM,LM,VM,kM,NM,GM,zM,UM,HM,jM,WM=function(e){return t({PageViewIndicator:e,PageViewIndicatorComponent:e}),e}((MD=ri("cc.PageViewIndicator"),PD=wi(),RD=Ei(110),ID=Bi(),OD=bi(xc),FD=Di(),LD=bi(QD),VD=Di(),kD=bi(vr),ND=Di(),GD=Di(),MD(zD=PD(zD=RD(zD=ID((qD=YD=function(t){function e(){for(var e,i=arguments.length,r=new Array(i),n=0;n=t.length)){for(var i=0;it.length)for(i=0;i0;--i){var r=t[i-1];this.node.removeChild(r),t.splice(i-1,1)}this._layout&&this._layout.enabledInHierarchy&&this._layout.updateLayout(),this._changedState()}}},Pe(e,[{key:"spriteFrame",get:function(){return this._spriteFrame},set:function(t){this._spriteFrame!==t&&(this._spriteFrame=t)}},{key:"direction",get:function(){return this._direction},set:function(t){this._direction!==t&&(this._direction=t)}},{key:"cellSize",get:function(){return this._cellSize},set:function(t){this._cellSize!==t&&(this._cellSize=t)}}]),e}(zi),YD.Direction=QD,oi((UD=qD).prototype,"spriteFrame",[OD,FD],Object.getOwnPropertyDescriptor(UD.prototype,"spriteFrame"),UD.prototype),oi(UD.prototype,"direction",[LD,VD],Object.getOwnPropertyDescriptor(UD.prototype,"direction"),UD.prototype),oi(UD.prototype,"cellSize",[kD,ND],Object.getOwnPropertyDescriptor(UD.prototype,"cellSize"),UD.prototype),HD=oi(UD.prototype,"spacing",[_i,GD],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 0}}),jD=oi(UD.prototype,"_spriteFrame",[_i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return null}}),WD=oi(UD.prototype,"_direction",[_i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return QD.HORIZONTAL}}),XD=oi(UD.prototype,"_cellSize",[_i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new vr(20,20)}}),zD=UD))||zD)||zD)||zD)||zD)),XM=new dr;!function(t){t[t.Unified=0]="Unified",t[t.Free=1]="Free"}(UM||(UM={})),Pr(UM),function(t){t[t.Horizontal=0]="Horizontal",t[t.Vertical=1]="Vertical"}(HM||(HM={})),Pr(HM),function(t){t.PAGE_TURNING="page-turning"}(jM||(jM={}));var YM=function(e){return t({PageView:e,PageViewComponent:e}),e}((tM=ri("cc.PageView"),eM=wi(),iM=Ei(110),rM=Bi(),nM=bi(UM),sM=Di(),aM=bi(HM),oM=Di(),lM=Ni(),hM=Di(),uM=Ni(),cM=Di(),_M=bi(WM),fM=Di(),pM=Di(),dM=bi(gE),mM=Mi(),yM=bi(gE),gM=Mi(),vM=Mi(),bM=Mi(),SM=Mi(),AM=bi([pn]),CM=Mi(),xM=bi([pn]),TM=Di(),tM(wM=eM(wM=iM(wM=rM((zM=GM=function(t){function e(){for(var e,i=arguments.length,r=new Array(i),n=0;n=this._pages.length)this.addPage(t);else{if(!t._uiProps.uiTransformComp)return void an(4301);this._pages.splice(e,0,t),this.content.insertChild(t,e),this._updatePageView()}},i.removePage=function(t){if(t&&this.content){var e=this._pages.indexOf(t);-1!==e?this.removePageAtIndex(e):ze(4300,t.name)}},i.removePageAtIndex=function(t){var e=this._pages;if(!(t<0||t>=e.length)){var i=e[t];i&&this.content&&(this.content.removeChild(i),e.splice(t,1),this._updatePageView())}},i.removeAllPages=function(){if(this.content){for(var t=this._pages,e=0,i=t.length;e=this._pages.length||(this._curPageIdx=t,this.scrollToOffset(this._moveOffsetValue(t),e,!0),this.indicator&&this.indicator._changedState())},i.getScrollEndedEventTiming=function(){return this.pageTurningEventTiming},i._updatePageView=function(){if(this.content){var t=this.content.getComponent(jT);t&&t.enabled&&t.updateLayout();var e=this._pages.length;this._curPageIdx>=e&&(this._curPageIdx=0===e?0:e-1,this._lastPageIdx=this._curPageIdx);for(var i=this._initContentPos,r=0;r0){var i=this._pages[0]._uiProps.uiTransformComp,r=this._pages[this._pages.length-1]._uiProps.uiTransformComp;this.direction===HM.Horizontal?(e.paddingLeft=(t.width-i.width)/2,e.paddingRight=(t.width-r.width)/2):this.direction===HM.Vertical&&(e.paddingTop=(t.height-i.height)/2,e.paddingBottom=(t.height-r.height)/2)}e.updateLayout()}}},i._initPages=function(){if(this.content){this._initContentPos=this.content.position;for(var t=this.content.children,e=0;e=0||this._pages.push(i)}this._syncScrollDirection(),this._syncSizeMode(),this._updatePageView()}},i._dispatchPageTurningEvent=function(){this._lastPageIdx!==this._curPageIdx&&(this._lastPageIdx=this._curPageIdx,pn.emitEvents(this.pageEvents,this,jM.PAGE_TURNING),this.node.emit(jM.PAGE_TURNING,this))},i._isQuicklyScrollable=function(t){if(this.direction===HM.Horizontal){if(Math.abs(t.x)>this.autoPageTurningThreshold)return!0}else if(this.direction===HM.Vertical&&Math.abs(t.y)>this.autoPageTurningThreshold)return!0;return!1},i._moveOffsetValue=function(t){var e=new dr;if(this._sizeMode===UM.Free)this.direction===HM.Horizontal?e.x=this._scrollCenterOffsetX[t]:this.direction===HM.Vertical&&(e.y=this._scrollCenterOffsetY[t]);else{var i=this.view;if(!i)return e;this.direction===HM.Horizontal?e.x=t*i.width:this.direction===HM.Vertical&&(e.y=t*i.height)}return e},i._getDragDirection=function(t){return this._direction===HM.Horizontal?0===t.x?0:t.x>0?1:-1:0===t.y?0:t.y<0?1:-1},i._isScrollable=function(t,e,i){if(this._sizeMode===UM.Free){var r=0,n=0;if(this.direction===HM.Horizontal)return r=this._scrollCenterOffsetX[e],n=this._scrollCenterOffsetX[i],Math.abs(t.x)>=Math.abs(r-n)*this.scrollThreshold;if(this.direction===HM.Vertical)return r=this._scrollCenterOffsetY[e],n=this._scrollCenterOffsetY[i],Math.abs(t.y)>=Math.abs(r-n)*this.scrollThreshold}else{var s=this.view;if(!s)return!1;if(this.direction===HM.Horizontal)return Math.abs(t.x)>=s.width*this.scrollThreshold;if(this.direction===HM.Vertical)return Math.abs(t.y)>=s.height*this.scrollThreshold}return!1},i._autoScrollToPage=function(){if(this._startBounceBackIfNeeded()){var t=this._getHowMuchOutOfBoundary();this._clampDelta(t),(t.x>0||t.y<0)&&(this._curPageIdx=0===this._pages.length?0:this._pages.length-1),(t.x<0||t.y>0)&&(this._curPageIdx=0),this.indicator&&this.indicator._changedState()}else{var e=new dr;dr.subtract(e,this._touchBeganPosition,this._touchEndPosition);var i=this._curPageIdx,r=i+this._getDragDirection(e),n=this.pageTurningSpeed*Math.abs(i-r);if(r1e-10?e:t}var r=t.node,n=r.parent;if(n){var s=QM;s.set(0,0);var a=$M;if(a.set(1,1),t.target&&DD(r,n=t.target,s,a),!e)return;var o=n._uiProps&&n._uiProps.uiTransformComp,l=o?o.anchorPoint:JM,h=r._uiProps.uiTransformComp,u=BD(n),c=h.anchorPoint,_=r.getPosition(),f=xD,p=r.getScale(),d=0;if(e&f.LEFT){var m=-l.x*u.width;m+=s.x,m*=a.x,d=_.x-c.x*h.width*p.x-m,t.isAbsoluteLeft||(d/=u.width),d/=a.x,t.left=i(t.left,d)}if(e&f.RIGHT){var y=(1-l.x)*u.width;y+=s.x,d=(y*=a.x)-(_.x+(1-c.x)*h.width*p.x),t.isAbsoluteRight||(d/=u.width),d/=a.x,t.right=i(t.right,d)}if(e&f.TOP){var g=(1-l.y)*u.height;g+=s.y,d=(g*=a.y)-(_.y+(1-c.y)*h.height*p.y),t.isAbsoluteTop||(d/=u.height),d/=a.y,t.top=i(t.top,d)}if(e&f.BOT){var v=-l.y*u.height;v+=s.y,v*=a.y,d=_.y-c.y*h.height*p.y-v,t.isAbsoluteBottom||(d/=u.height),d/=a.y,t.bottom=i(t.bottom,d)}}},updateAlignment:function t(e){var i=e.parent;i&&ur.isNode(i)&&t(i);var r=e.getComponent(ZD);r&&i&&tP(e,r)},AlignMode:CD,AlignFlags:xD});wr.on(Er.EVENT_INIT,(function(){uP.init()}));var cP,_P,fP,pP,dP,mP,yP,gP,vP,bP,SP,AP,CP,xP,TP,wP,EP,BP,DP,MP,PP,RP=function(e){return t({SafeArea:e,SafeAreaComponent:e}),e}((rP=ri("cc.SafeArea"),nP=wi(),sP=Ei(110),aP=Bi(),oP=Rr(ZD),rP(lP=nP(lP=sP(lP=Si(lP=aP(lP=oP(lP=function(t){function e(){return t.apply(this,arguments)||this}Me(e,t);var i=e.prototype;return i.onLoad=function(){this._boundUpdateArea=this.updateArea.bind(this)},i.onEnable=function(){this.updateArea(),Le.onViewResize(this._boundUpdateArea),Le.onOrientationChange(this._boundUpdateArea)},i.onDisable=function(){Le.offViewResize(this._boundUpdateArea),Le.offOrientationChange(this._boundUpdateArea)},i.updateArea=function(){var t=this.node.getComponent(ZD),e=this.node.getComponent(j_);if(t&&e){t.updateAlignment();var i=this.node.position.clone(),r=e.anchorPoint.clone();t.isAlignTop=t.isAlignBottom=t.isAlignLeft=t.isAlignRight=!0;var n=He.winSize.width,s=He.winSize.height,a=ke.getSafeAreaRect();t.top=s-a.y-a.height,t.bottom=a.y,t.left=a.x,t.right=n-a.x-a.width,t.updateAlignment();var o=this.node.position.clone(),l=r.x-(o.x-i.x)/e.width,h=r.y-(o.y-i.y)/e.height;e.setAnchorPoint(l,h),uP.add(t)}},e}(zi))||lP)||lP)||lP)||lP)||lP)||lP)),IP=function(e){return t({UICoordinateTracker:e,UICoordinateTrackerComponent:e}),e}((cP=ri("cc.UICoordinateTracker"),_P=wi(),fP=Bi(),pP=Ei(110),dP=bi(ur),mP=Di(),yP=bi(Hr),gP=Di(),vP=Di(),bP=Di(),SP=bi([pn]),AP=Di(),cP(CP=_P(CP=fP(CP=pP((MP=function(t){function e(){for(var e,i=arguments.length,r=new Array(i),n=0;n0)){var i=this._distance/Math.abs(this._viewPos.z);pn.emitEvents(this.syncEvents,this._transformPos,i)}},i._checkCanMove=function(){this._canMove=!(!this._camera||!this._target)},Pe(e,[{key:"target",get:function(){return this._target},set:function(t){this._target!==t&&(this._target=t,this._checkCanMove())}},{key:"camera",get:function(){return this._camera},set:function(t){this._camera!==t&&(this._camera=t,this._checkCanMove())}},{key:"useScale",get:function(){return this._useScale},set:function(t){this._useScale!==t&&(this._useScale=t)}},{key:"distance",get:function(){return this._distance},set:function(t){this._distance!==t&&(this._distance=t)}}]),e}(zi),oi((xP=MP).prototype,"target",[dP,mP],Object.getOwnPropertyDescriptor(xP.prototype,"target"),xP.prototype),oi(xP.prototype,"camera",[yP,gP],Object.getOwnPropertyDescriptor(xP.prototype,"camera"),xP.prototype),oi(xP.prototype,"useScale",[vP],Object.getOwnPropertyDescriptor(xP.prototype,"useScale"),xP.prototype),oi(xP.prototype,"distance",[bP],Object.getOwnPropertyDescriptor(xP.prototype,"distance"),xP.prototype),TP=oi(xP.prototype,"syncEvents",[SP,_i,AP],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return[]}}),wP=oi(xP.prototype,"_target",[_i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return null}}),EP=oi(xP.prototype,"_camera",[_i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return null}}),BP=oi(xP.prototype,"_useScale",[_i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!0}}),DP=oi(xP.prototype,"_distance",[_i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 1}}),CP=xP))||CP)||CP)||CP)||CP)),OP=[Dr.TOUCH_START,Dr.TOUCH_END,Dr.TOUCH_MOVE,Dr.MOUSE_DOWN,Dr.MOUSE_MOVE,Dr.MOUSE_UP,Dr.MOUSE_ENTER,Dr.MOUSE_LEAVE,Dr.MOUSE_WHEEL];function FP(t){t.propagationStopped=!0}var LP,VP,kP,NP,GP,zP,UP,HP,jP,WP,XP,YP,qP,JP=function(e){return t({BlockInputEvents:e,BlockInputEventsComponent:e}),e}(ri("cc.BlockInputEvents")(PP=wi()(PP=Bi()(PP=function(t){function e(){return t.apply(this,arguments)||this}Me(e,t);var i=e.prototype;return i.onEnable=function(){for(var t=0;tr?r:i;e.width*=n,e.height*=n;var s=KP.getSystemInfoSync(),a=e.getBoundingBoxToWorld(),o=Xr.getVisibleSize(),l=s.screenWidth*(a.x/o.width),h=s.screenHeight*(a.y/o.height),u=s.screenWidth*(a.width/o.width),c=s.screenHeight*(a.height/o.height);this._openDataContext.postMessage({fromEngine:!0,type:"engine",event:"viewport",x:l,y:h,width:u,height:c})}},i._updateSubContextTexture=function(){var t=this._imageAsset;if(t&&this._openDataContext&&!(t.width<=0||t.height<=0)){var e=this._openDataContext.canvas;t.reset(e),(e.width>t.width||e.height>t.height)&&this._imageAsset._texture.create(e.width,e.height),this._imageAsset._texture.uploadData(e)}},i._registerNodeEvent=function(){this.node.on(ur.EventType.TRANSFORM_CHANGED,this._updateSubContextView,this),this.node.on(ur.EventType.SIZE_CHANGED,this._updateSubContextView,this),this.node.on(Dr.LAYER_CHANGED,this._updateContentLayer,this)},i._unregisterNodeEvent=function(){this.node.off(ur.EventType.TRANSFORM_CHANGED,this._updateSubContextView,this),this.node.off(ur.EventType.SIZE_CHANGED,this._updateSubContextView,this),this.node.off(Dr.LAYER_CHANGED,this._updateContentLayer,this)},i._updateContentLayer=function(){this._content.layer=this.node.layer},i.update=function(t){void 0===t?this._updateSubContextTexture():performance.now()-this._updatedTime>=this._updateInterval&&(this._updatedTime+=this._updateInterval,this._updateSubContextTexture())},Pe(e,[{key:"designResolutionSize",get:function(){return this._designResolutionSize},set:function(){}},{key:"fps",get:function(){return this._fps},set:function(t){this._fps!==t&&(this._fps=t,this._updateInterval=1e3/t)}}]),e}(zi),oi((jP=YP).prototype,"designResolutionSize",[zP],Object.getOwnPropertyDescriptor(jP.prototype,"designResolutionSize"),jP.prototype),oi(jP.prototype,"fps",[UP],Object.getOwnPropertyDescriptor(jP.prototype,"fps"),jP.prototype),WP=oi(jP.prototype,"_fps",[_i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 60}}),XP=oi(jP.prototype,"_designResolutionSize",[_i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new vr(640,960)}}),HP=jP))||HP)||HP)||HP)||HP)||HP));He.SubContextView=ZP;var QP,$P,tR,eR,iR,rR,nR,sR,aR,oR,lR,hR,uR,cR,_R,fR,pR=t("UIReorderComponent",ri("cc.UIReorderComponent")(qP=function(){ze(1408,"UIReorderComponent")})||qP);He.UIReorderComponent=pR,He.ButtonComponent=KA,Li.setClassAlias(KA,"cc.ButtonComponent"),He.EditBoxComponent=_T,Li.setClassAlias(_T,"cc.EditBoxComponent"),He.LayoutComponent=jT,Li.setClassAlias(jT,"cc.LayoutComponent"),He.ProgressBarComponent=mw,Li.setClassAlias(mw,"cc.ProgressBarComponent"),He.ScrollViewComponent=KE,Li.setClassAlias(KE,"cc.ScrollViewComponent"),He.ScrollBarComponent=gE,Li.setClassAlias(gE,"cc.ScrollBarComponent"),He.SliderComponent=gB,Li.setClassAlias(gB,"cc.SliderComponent"),He.ToggleComponent=TD,Li.setClassAlias(TD,"cc.ToggleComponent"),He.ToggleContainerComponent=wD,Li.setClassAlias(wD,"cc.ToggleContainerComponent"),He.WidgetComponent=ZD,Li.setClassAlias(ZD,"cc.WidgetComponent"),He.PageViewComponent=YM,Li.setClassAlias(YM,"cc.PageViewComponent"),He.PageViewIndicatorComponent=WM,Li.setClassAlias(WM,"cc.PageViewIndicatorComponent"),He.SafeAreaComponent=RP,Li.setClassAlias(RP,"cc.SafeAreaComponent"),Li.setClassAlias(IP,"cc.UICoordinateTrackerComponent"),He.BlockInputEventsComponent=JP,Li.setClassAlias(JP,"cc.BlockInputEventsComponent");var dR,mR,yR,gR,vR,bR,SR,AR,CR,xR,TR,wR,ER,BR,DR,MR,PR,RR,IR,OR,FR,LR,VR,kR,NR,GR,zR,UR,HR,jR,WR,XR,YR=function(e){return t({Billboard:e,BillboardComponent:e}),e}((QP=ri("cc.Billboard"),$P=wi(),tR=Bi(),eR=bi(qe),iR=bi(qe),rR=Di(),nR=Di(),sR=Di(),aR=Di(),QP(oR=$P(oR=tR(oR=Si((fR=function(t){function e(){var e;return e=t.call(this)||this,li(e,"_texture",hR,hi(e)),li(e,"_height",uR,hi(e)),li(e,"_width",cR,hi(e)),li(e,"_rotation",_R,hi(e)),e._model=null,e._mesh=null,e._material=null,e._uniform=new Ti(1,1,0,0),e}Me(e,t);var i=e.prototype;return i.onLoad=function(){this.createModel()},i.onEnable=function(){this.attachToScene(),this._model.enabled=!0,this.width=this._width,this.height=this._height,this.rotation=this.rotation,this.texture=this.texture},i.onDisable=function(){this.detachFromScene()},i.attachToScene=function(){this._model&&this.node&&this.node.scene&&(this._model.scene&&this.detachFromScene(),this._getRenderScene().addModel(this._model))},i.detachFromScene=function(){this._model&&this._model.scene&&this._model.scene.removeModel(this._model)},i.createModel=function(){this._mesh=Ya({primitiveMode:F.TRIANGLE_LIST,positions:[0,0,0,0,0,0,0,0,0,0,0,0],uvs:[0,0,1,0,0,1,1,1],colors:[Ui.WHITE.r,Ui.WHITE.g,Ui.WHITE.b,Ui.WHITE.a,Ui.WHITE.r,Ui.WHITE.g,Ui.WHITE.b,Ui.WHITE.a,Ui.WHITE.r,Ui.WHITE.g,Ui.WHITE.b,Ui.WHITE.a,Ui.WHITE.r,Ui.WHITE.g,Ui.WHITE.b,Ui.WHITE.a],attributes:[new St(Ut.ATTR_POSITION,_.RGB32F),new St(Ut.ATTR_TEX_COORD,_.RG32F),new St(Ut.ATTR_COLOR,_.RGBA8UI,!0)],indices:[0,1,2,1,2,3]},void 0,{calculateBounds:!1});var t=this._model=He.director.root.createModel(mi,this.node);t.node=t.transform=this.node,null==this._material&&(this._material=new cr,this._material.copy(Ci.get("default-billboard-material"))),t.initSubModel(0,this._mesh.renderingSubMeshes[0],this._material)},Pe(e,[{key:"texture",get:function(){return this._texture},set:function(t){this._texture=t,this._material&&this._material.setProperty("mainTexture",t)}},{key:"height",get:function(){return this._height},set:function(t){this._height=t,this._material&&(this._uniform.y=t,this._material.setProperty("cc_size_rotation",this._uniform))}},{key:"width",get:function(){return this._width},set:function(t){this._width=t,this._material&&(this._uniform.x=t,this._material.setProperty("cc_size_rotation",this._uniform))}},{key:"rotation",get:function(){return Math.round(100*Mn(this._rotation))/100},set:function(t){this._rotation=qi(t),this._material&&(this._uniform.z=this._rotation,this._material.setProperty("cc_size_rotation",this._uniform))}}]),e}(zi),hR=oi((lR=fR).prototype,"_texture",[eR],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return null}}),oi(lR.prototype,"texture",[iR,rR],Object.getOwnPropertyDescriptor(lR.prototype,"texture"),lR.prototype),uR=oi(lR.prototype,"_height",[_i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 0}}),oi(lR.prototype,"height",[nR],Object.getOwnPropertyDescriptor(lR.prototype,"height"),lR.prototype),cR=oi(lR.prototype,"_width",[_i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 0}}),oi(lR.prototype,"width",[sR],Object.getOwnPropertyDescriptor(lR.prototype,"width"),lR.prototype),_R=oi(lR.prototype,"_rotation",[_i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 0}}),oi(lR.prototype,"rotation",[aR],Object.getOwnPropertyDescriptor(lR.prototype,"rotation"),lR.prototype),oR=lR))||oR)||oR)||oR)||oR)),qR=[new St(Ut.ATTR_POSITION,_.RGB32F),new St(Ut.ATTR_TEX_COORD,_.RGBA32F),new St(Ut.ATTR_TEX_COORD1,_.RGB32F),new St(Ut.ATTR_COLOR,_.RGBA8,!0)],JR=new ii,KR=new ii,ZR=function(t){function e(){var e;return(e=t.call(this)||this)._capacity=void 0,e._vertSize=0,e._vBuffer=null,e._vertAttrsFloatCount=0,e._vdataF32=null,e._vdataUint32=null,e._iaInfo=void 0,e._iaInfoBuffer=void 0,e._subMeshData=null,e._vertCount=0,e._indexCount=0,e._material=null,e.type=ar.LINE,e._capacity=100,e._iaInfo=new lt([new at]),e._iaInfoBuffer=e._device.createBuffer(new nt(d.INDIRECT,g.HOST|g.DEVICE,Yt,Yt)),e}Me(e,t);var i=e.prototype;return i.setCapacity=function(t){this._capacity=t,this.createBuffer()},i.createBuffer=function(){this._vertSize=0;for(var t,e=Fe(qR);!(t=e()).done;){var i=t.value;i.offset=this._vertSize,this._vertSize+=Ht[i.format].size}this._vertAttrsFloatCount=this._vertSize/4,this._vBuffer=this.createSubMeshData(),this._vdataF32=new Float32Array(this._vBuffer),this._vdataUint32=new Uint32Array(this._vBuffer)},i.updateMaterial=function(e){this._material=e,t.prototype.setSubModelMaterial.call(this,0,e)},i.createSubMeshData=function(){this._subMeshData&&this.destroySubMeshData(),this._vertCount=2,this._indexCount=6;var t=this._device.createBuffer(new nt(d.VERTEX|d.TRANSFER_DST,g.HOST|g.DEVICE,this._vertSize*this._capacity*this._vertCount,this._vertSize)),e=new ArrayBuffer(this._vertSize*this._capacity*this._vertCount);t.update(e);for(var i=new Uint16Array((this._capacity-1)*this._indexCount),r=0,n=0;n1){var r=0;ii.subtract(JR,t[1],t[0]),this._vdataF32[r++]=t[0].x,this._vdataF32[r++]=t[0].y,this._vdataF32[r++]=t[0].z,this._vdataF32[r++]=0,this._vdataF32[r++]=e.evaluate(0,1),this._vdataF32[r++]=0,this._vdataF32[r++]=0,this._vdataF32[r++]=JR.x,this._vdataF32[r++]=JR.y,this._vdataF32[r++]=JR.z,this._vdataUint32[r++]=i.evaluate(0,1)._val,this._vdataF32[r++]=t[0].x,this._vdataF32[r++]=t[0].y,this._vdataF32[r++]=t[0].z,this._vdataF32[r++]=1,this._vdataF32[r++]=e.evaluate(0,1),this._vdataF32[r++]=0,this._vdataF32[r++]=1,this._vdataF32[r++]=JR.x,this._vdataF32[r++]=JR.y,this._vdataF32[r++]=JR.z,this._vdataUint32[r++]=i.evaluate(0,1)._val;for(var n=1;n1&&this.colorKeys.sort((function(t,e){return t.time-e.time})),this.alphaKeys.length>1&&this.alphaKeys.sort((function(t,e){return t.time-e.time}))},e.evaluate=function(t){return this.getRGB(t),this._color._set_a_unsafe(this.getAlpha(t)),this._color},e.randomColor=function(){var t=this.colorKeys[Math.trunc(Math.random()*this.colorKeys.length)],e=this.alphaKeys[Math.trunc(Math.random()*this.alphaKeys.length)];return this._color.set(t.color),this._color._set_a_unsafe(e.alpha),this._color},e.getRGB=function(t){if(!(this.colorKeys.length>1))return 1===this.colorKeys.length?(this._color.set(this.colorKeys[0].color),this._color):(this._color.set(Ui.WHITE),this._color);t=On(t,1);for(var e=1;e=i&&tthis.colorKeys[s].time&&Ui.lerp(this._color,this.colorKeys[s].color,Ui.BLACK,(t-this.colorKeys[s].time)/(1-this.colorKeys[s].time))},e.getAlpha=function(t){if(!(this.alphaKeys.length>1))return 1===this.alphaKeys.length?this.alphaKeys[0].alpha:255;t=On(t,1);for(var e=1;e=i&&tthis.alphaKeys[s].time?dn(this.alphaKeys[s].alpha,255,(t-this.alphaKeys[s].time)/(1-this.alphaKeys[s].time)):void 0},t}(),WR.Mode=sO,UR=oi((zR=XR).prototype,"colorKeys",[_i,vi],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new Array}}),HR=oi(zR.prototype,"alphaKeys",[_i,vi],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new Array}}),jR=oi(zR.prototype,"mode",[_i,vi],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return sO.Blend}}),GR=zR))||GR)),oO=Rn,lO=yi({Color:0,Gradient:1,TwoColors:2,TwoGradients:3,RandomColor:4}),hO=t("GradientRange",(sI=ri("cc.GradientRange"),aI=bi(lO),oI=bi(aO),lI=bi(aO),hI=bi(aO),uI=bi(lO),sI((SI=bI=function(){function t(){li(this,"color",fI,this),li(this,"colorMin",pI,this),li(this,"colorMax",dI,this),li(this,"gradient",mI,this),li(this,"gradientMin",yI,this),li(this,"gradientMax",gI,this),li(this,"_mode",vI,this),this._color=Ui.WHITE.clone()}var e=t.prototype;return e.evaluate=function(t,e){switch(this._mode){case lO.Color:return this.color;case lO.TwoColors:return Ui.lerp(this._color,this.colorMin,this.colorMax,e),this._color;case lO.RandomColor:return this.gradient.randomColor();case lO.Gradient:return this.gradient.evaluate(t);case lO.TwoGradients:return Ui.lerp(this._color,this.gradientMin.evaluate(t),this.gradientMax.evaluate(t),e),this._color;default:return this.color}},e._onBeforeSerialize=function(){return oO[this._mode]},Pe(t,[{key:"mode",get:function(){return this._mode},set:function(t){this._mode=t}}]),t}(),bI.Mode=lO,oi((_I=SI).prototype,"mode",[aI],Object.getOwnPropertyDescriptor(_I.prototype,"mode"),_I.prototype),fI=oi(_I.prototype,"color",[_i,vi],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return Ui.WHITE.clone()}}),pI=oi(_I.prototype,"colorMin",[_i,vi],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return Ui.WHITE.clone()}}),dI=oi(_I.prototype,"colorMax",[_i,vi],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return Ui.WHITE.clone()}}),mI=oi(_I.prototype,"gradient",[oI],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new aO}}),yI=oi(_I.prototype,"gradientMin",[lI],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new aO}}),gI=oi(_I.prototype,"gradientMax",[hI],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new aO}}),vI=oi(_I.prototype,"_mode",[uI],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return lO.Color}}),cI=_I))||cI));function uO(t,e,i){switch(t.mode){case lO.Color:return t.color;case lO.TwoColors:return 0===i?t.colorMin:t.colorMax;case lO.RandomColor:return t.gradient.randomColor();case lO.Gradient:return t.gradient.evaluate(e);case lO.TwoGradients:return 0===i?t.gradientMin.evaluate(e):t.gradientMax.evaluate(e);default:return t.color}}var cO,_O,fO,pO,dO,mO,yO,gO,vO,bO,SO,AO,CO,xO,TO,wO,EO,BO,DO,MO,PO,RO,IO,OO,FO,LO,VO,kO,NO,GO,zO,UO,HO,jO,WO={parent:null,owner:null,subModelIdx:0},XO={CC_USE_WORLD_SPACE:!1},YO=function(e){return t({Line:e,LineComponent:e}),e}((AI=ri("cc.Line"),CI=wi(),xI=Bi(),TI=bi(qe),wI=bi(qe),EI=Mr(),BI=Di(),DI=Mr(),MI=Di(),PI=bi([ii]),RI=bi([ii]),II=Mr(),OI=Di(),FI=bi(tI),LI=bi(tI),VI=Mr(),kI=Di(),NI=bi(dr),GI=Mr(),zI=Di(),UI=bi(dr),HI=Mr(),jI=Di(),WI=bi(hO),XI=bi(hO),YI=Mr(),qI=Di(),AI(JI=CI(JI=xI(JI=Si((nO=function(t){function e(){var e;return e=t.call(this)||this,li(e,"_texture",ZI,hi(e)),e._material=null,e._materialInstance=null,li(e,"_worldSpace",QI,hi(e)),li(e,"_positions",$I,hi(e)),li(e,"_width",tO,hi(e)),li(e,"_tile",eO,hi(e)),li(e,"_offset",iO,hi(e)),li(e,"_color",rO,hi(e)),e._model=null,e._tile_offset=new Ti,e}Me(e,t);var i=e.prototype;return i.onLoad=function(){var t=this._model=He.director.root.createModel(ZR);t.node=t.transform=this.node,null===this._material&&(this._material=new cr,this._material.copy(Ci.get("default-trail-material")),XO.CC_USE_WORLD_SPACE=this.worldSpace,WO.parent=this._material,WO.subModelIdx=0,this._materialInstance=new Vr(WO),this._materialInstance.recompileShaders(XO)),t.updateMaterial(this._materialInstance),t.setCapacity(100)},i.onEnable=function(){this._model&&(this._attachToScene(),this.texture=this._texture,this.tile=this._tile,this.offset=this._offset,this._model.addLineVertexData(this._positions,this._width,this._color))},i.onDisable=function(){this._model&&this._detachFromScene()},i._attachToScene=function(){this._model&&this.node&&this.node.scene&&(this._model.scene&&this._detachFromScene(),this._getRenderScene().addModel(this._model))},i._detachFromScene=function(){this._model&&this._model.scene&&this._model.scene.removeModel(this._model)},Pe(e,[{key:"texture",get:function(){return this._texture},set:function(t){this._texture=t,this._materialInstance&&this._materialInstance.setProperty("mainTexture",t)}},{key:"worldSpace",get:function(){return this._worldSpace},set:function(t){this._worldSpace=t,this._materialInstance&&(XO.CC_USE_WORLD_SPACE=this.worldSpace,this._materialInstance.recompileShaders(XO),this._model&&this._model.setSubModelMaterial(0,this._materialInstance))}},{key:"positions",get:function(){return this._positions},set:function(t){this._positions=t,this._model&&this._model.addLineVertexData(this._positions,this._width,this._color)}},{key:"width",get:function(){return this._width},set:function(t){this._width=t,this._model&&this._model.addLineVertexData(this._positions,this._width,this._color)}},{key:"tile",get:function(){return this._tile},set:function(t){this._tile.set(t),this._materialInstance&&(this._tile_offset.x=this._tile.x,this._tile_offset.y=this._tile.y,this._materialInstance.setProperty("mainTiling_Offset",this._tile_offset))}},{key:"offset",get:function(){return this._offset},set:function(t){this._offset.set(t),this._materialInstance&&(this._tile_offset.z=this._offset.x,this._tile_offset.w=this._offset.y,this._materialInstance.setProperty("mainTiling_Offset",this._tile_offset))}},{key:"color",get:function(){return this._color},set:function(t){this._color=t,this._model&&this._model.addLineVertexData(this._positions,this._width,this._color)}}]),e}(zi),ZI=oi((KI=nO).prototype,"_texture",[TI],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return null}}),oi(KI.prototype,"texture",[wI,EI,BI],Object.getOwnPropertyDescriptor(KI.prototype,"texture"),KI.prototype),QI=oi(KI.prototype,"_worldSpace",[_i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),oi(KI.prototype,"worldSpace",[DI,MI],Object.getOwnPropertyDescriptor(KI.prototype,"worldSpace"),KI.prototype),$I=oi(KI.prototype,"_positions",[PI],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return[]}}),oi(KI.prototype,"positions",[RI,II,OI],Object.getOwnPropertyDescriptor(KI.prototype,"positions"),KI.prototype),tO=oi(KI.prototype,"_width",[FI],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new tI}}),oi(KI.prototype,"width",[LI,VI,kI],Object.getOwnPropertyDescriptor(KI.prototype,"width"),KI.prototype),eO=oi(KI.prototype,"_tile",[_i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new dr(1,1)}}),oi(KI.prototype,"tile",[NI,GI,zI],Object.getOwnPropertyDescriptor(KI.prototype,"tile"),KI.prototype),iO=oi(KI.prototype,"_offset",[_i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new dr(0,0)}}),oi(KI.prototype,"offset",[UI,HI,jI],Object.getOwnPropertyDescriptor(KI.prototype,"offset"),KI.prototype),rO=oi(KI.prototype,"_color",[WI],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new hO}}),oi(KI.prototype,"color",[XI,YI,qI],Object.getOwnPropertyDescriptor(KI.prototype,"color"),KI.prototype),JI=KI))||JI)||JI)||JI)||JI)),qO=function(t){this.particleSystem=void 0,this.position=void 0,this.velocity=void 0,this.animatedVelocity=void 0,this.ultimateVelocity=void 0,this.angularVelocity=void 0,this.axisOfRotation=void 0,this.rotation=void 0,this.startSize=void 0,this.size=void 0,this.startColor=void 0,this.color=void 0,this.randomSeed=void 0,this.remainingLifetime=void 0,this.startLifetime=void 0,this.emitAccumulator0=void 0,this.emitAccumulator1=void 0,this.frameIndex=void 0,this.startRow=void 0,this.particleSystem=t,this.position=new ii(0,0,0),this.velocity=new ii(0,0,0),this.animatedVelocity=new ii(0,0,0),this.ultimateVelocity=new ii(0,0,0),this.angularVelocity=new ii(0,0,0),this.axisOfRotation=new ii(0,0,0),this.rotation=new ii(0,0,0),this.startSize=new ii(0,0,0),this.size=new ii(0,0,0),this.startColor=Ui.WHITE.clone(),this.color=Ui.WHITE.clone(),this.randomSeed=0,this.remainingLifetime=0,this.startLifetime=0,this.emitAccumulator0=0,this.emitAccumulator1=0,this.frameIndex=0,this.startRow=0},JO="colorModule",KO="rotationModule",ZO="sizeModule",QO="textureModule",$O=["sizeModule","colorModule","forceModule","velocityModule","limitModule","rotationModule","textureModule"],tF=["_colorOverLifetimeModule","_shapeModule","_sizeOvertimeModule","_velocityOvertimeModule","_forceOvertimeModule","_limitVelocityOvertimeModule","_rotationOvertimeModule","_textureAnimationModule","_trailModule"],eF=function(){function t(){this.target=null,this.needUpdate=!1,this.needAnimate=!0,this.name=void 0}var e=t.prototype;return e.bindTarget=function(t){this.target=t},e.update=function(){},t}(),iF=yi({World:0,Local:1,Custom:2}),rF=yi({Billboard:0,StrecthedBillboard:1,HorizontalBillboard:2,VerticalBillboard:3,Mesh:4}),nF=yi({Box:0,Circle:1,Cone:2,Sphere:3,Hemisphere:4}),sF=yi({Base:0,Edge:1,Shell:2,Volume:3}),aF=yi({Random:0,Loop:1,PingPong:2}),oF=yi({Particles:0}),lF=yi({Stretch:0}),hF=(cO=ri("cc.ColorOvertimeModule"),_O=Mr(),fO=bi(hO),pO=Mr(),cO((vO=function(t){function e(){for(var e,i=arguments.length,r=new Array(i),n=0;ne&&(n=dn(n,e,i)),n*r}var RL,IL,OL,FL,LL,VL,kL,NL,GL,zL,UL,HL,jL,WL,XL,YL,qL,JL,KL,ZL,QL,$L,tV,eV,iV,rV,nV,sV,aV,oV,lV,hV,uV,cV,_V,fV,pV,dV,mV,yV,gV,vV,bV,SV,AV,CV,xV,TV,wV,EV,BV,DV,MV,PV,RV,IV,OV,FV,LV,VV,kV,NV,GV,zV,UV,HV,jV,WV,XV,YV,qV,JV,KV,ZV,QV,$V,tk,ek,ik,rk,nk,sk,ak,ok,lk,hk,uk,ck,_k,fk,pk,dk,mk,yk,gk,vk,bk,Sk,Ak,Ck,xk,Tk,wk,Ek,Bk,Dk,Mk,Pk,Rk,Ik,Ok,Fk,Lk,Vk,kk,Nk,Gk,zk,Uk,Hk,jk,Wk,Xk,Yk,qk,Jk,Kk,Zk,Qk,$k,tN,eN,iN,rN,nN,sN,aN,oN,lN,hN,uN,cN,_N,fN,pN,dN,mN,yN,gN,vN,bN,SN,AN,CN,xN,TN,wN,EN,BN,DN,MN,PN,RN,IN,ON,FN,LN,VN,kN,NN,GN,zN,UN,HN=125292,jN=(tL=ri("cc.RotationOvertimeModule"),eL=Mr(),iL=Mr(),rL=Di(),nL=bi(tI),sL=Ni(),aL=Mr(),oL=Di(),lL=bi(tI),hL=Ni(),uL=Mr(),cL=Di(),_L=bi(tI),fL=Ni(),pL=Mr(),dL=Di(),tL((CL=function(t){function e(){for(var e,i=arguments.length,r=new Array(i),n=0;n0){var i=On(t._time-t.startDelay.evaluate(0,1),t.duration)-e;i=i>0?i:0;var r=On(t.time-t.startDelay.evaluate(0,1),t.duration);this._curTime>=i&&this._curTime0&&(r.z*=-1),ii.normalize(n,r);break;case sF.Shell:fF(r),ii.multiplyScalar(r,r,e),r.z>0&&(r.z*=-1),ii.normalize(n,r);break;default:console.warn(t+" is not supported for hemisphere emitter.")}}(this.emitFrom,this.radius,this.radiusThickness,t.position,t.velocity);break;default:console.warn(this.shapeType+" shapeType is not supported by ShapeModule.")}var e,i,r,n,s;if(this.randomPositionAmount>0&&(t.position.x+=Vn(-this.randomPositionAmount,this.randomPositionAmount),t.position.y+=Vn(-this.randomPositionAmount,this.randomPositionAmount),t.position.z+=Vn(-this.randomPositionAmount,this.randomPositionAmount)),ii.transformQuat(t.velocity,t.velocity,this.quat),ii.transformMat4(t.position,t.position,this.mat),this.sphericalDirectionAmount>0){var a=ii.normalize(tG,t.position);ii.lerp(t.velocity,t.velocity,a,this.sphericalDirectionAmount)}this.lastTime=this.particleSystem._time},e.constructMat=function(){si.fromEuler(this.quat,this._rotation.x,this._rotation.y,this._rotation.z),Ri.fromRTS(this.mat,this.quat,this._position,this._scale)},e.generateArcAngle=function(){if(this.arcMode===aF.Random)return Vn(0,this._arc);var t=this.totalAngle+2*Math.PI*this.arcSpeed.evaluate(this.particleSystem._time,1)*(this.particleSystem._time-this.lastTime);switch(this.totalAngle=t,0!==this.arcSpread&&(t=Math.floor(t/(this._arc*this.arcSpread))*this._arc*this.arcSpread),this.arcMode){case aF.Loop:return On(t,this._arc);case aF.PingPong:return zn(t,this._arc)}},Pe(t,[{key:"position",get:function(){return this._position},set:function(t){this._position=t,this.constructMat()}},{key:"rotation",get:function(){return this._rotation},set:function(t){this._rotation=t,this.constructMat()}},{key:"scale",get:function(){return this._scale},set:function(t){this._scale=t,this.constructMat()}},{key:"arc",get:function(){return Mn(this._arc)},set:function(t){this._arc=qi(t)}},{key:"angle",get:function(){return Math.round(100*Mn(this._angle))/100},set:function(t){this._angle=qi(t)}},{key:"enable",get:function(){return this._enable},set:function(t){this._enable=t}},{key:"shapeType",get:function(){return this._shapeType},set:function(t){switch(this._shapeType=t,this._shapeType){case nF.Box:this.emitFrom===sF.Base&&(this.emitFrom=sF.Volume);break;case nF.Cone:this.emitFrom===sF.Edge&&(this.emitFrom=sF.Base);break;case nF.Sphere:case nF.Hemisphere:this.emitFrom!==sF.Base&&this.emitFrom!==sF.Edge||(this.emitFrom=sF.Volume)}}}]),t}(),oi((AN=UN).prototype,"position",[Rk,Ik],Object.getOwnPropertyDescriptor(AN.prototype,"position"),AN.prototype),oi(AN.prototype,"rotation",[Ok,Fk],Object.getOwnPropertyDescriptor(AN.prototype,"rotation"),AN.prototype),oi(AN.prototype,"scale",[Lk,Vk],Object.getOwnPropertyDescriptor(AN.prototype,"scale"),AN.prototype),oi(AN.prototype,"arc",[kk,Nk],Object.getOwnPropertyDescriptor(AN.prototype,"arc"),AN.prototype),oi(AN.prototype,"angle",[Gk,zk],Object.getOwnPropertyDescriptor(AN.prototype,"angle"),AN.prototype),CN=oi(AN.prototype,"_enable",[_i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),oi(AN.prototype,"enable",[Uk],Object.getOwnPropertyDescriptor(AN.prototype,"enable"),AN.prototype),xN=oi(AN.prototype,"_shapeType",[Hk,jk,Wk],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return nF.Cone}}),oi(AN.prototype,"shapeType",[Xk,Yk],Object.getOwnPropertyDescriptor(AN.prototype,"shapeType"),AN.prototype),TN=oi(AN.prototype,"emitFrom",[qk,_i,Jk,Kk],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return sF.Volume}}),wN=oi(AN.prototype,"alignToDirection",[_i,Zk,Qk],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),EN=oi(AN.prototype,"randomDirectionAmount",[_i,$k,tN],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 0}}),BN=oi(AN.prototype,"sphericalDirectionAmount",[_i,eN,iN],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 0}}),DN=oi(AN.prototype,"randomPositionAmount",[_i,rN,nN],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 0}}),MN=oi(AN.prototype,"radius",[_i,sN,aN],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 1}}),PN=oi(AN.prototype,"radiusThickness",[_i,oN,lN],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 1}}),RN=oi(AN.prototype,"arcMode",[hN,_i,uN,cN],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return aF.Random}}),IN=oi(AN.prototype,"arcSpread",[_i,_N,fN],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 0}}),ON=oi(AN.prototype,"arcSpeed",[pN,_i,dN,mN],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new tI}}),FN=oi(AN.prototype,"length",[_i,yN,gN],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 5}}),LN=oi(AN.prototype,"boxThickness",[_i,vN,bN],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new ii(0,0,0)}}),VN=oi(AN.prototype,"_position",[_i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new ii(0,0,0)}}),kN=oi(AN.prototype,"_rotation",[_i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new ii(0,0,0)}}),NN=oi(AN.prototype,"_scale",[_i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new ii(1,1,1)}}),GN=oi(AN.prototype,"_arc",[_i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return qi(360)}}),zN=oi(AN.prototype,"_angle",[_i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return qi(25)}}),SN=AN))||SN);function nG(t,e){e.x>0&&(t[0]+=.5*Vn(-e.x,e.x),t[0]=Gr(t[0],-.5,.5)),e.y>0&&(t[1]+=.5*Vn(-e.y,e.y),t[1]=Gr(t[1],-.5,.5)),e.z>0&&(t[2]+=.5*Vn(-e.z,e.z),t[2]=Gr(t[2],-.5,.5))}var sG,aG,oG,lG,hG,uG,cG,_G,fG,pG,dG,mG,yG,gG,vG,bG,SG,AG,CG,xG,TG,wG,EG,BG,DG,MG,PG,RG,IG,OG=[0,0,1,0,0,1,1,1],FG=function(t){function e(){var e;return(e=t.call(this)||this)._capacity=void 0,e._vertAttrs=void 0,e._vertSize=void 0,e._vBuffer=void 0,e._vertAttrsFloatCount=void 0,e._vdataF32=void 0,e._vdataUint32=void 0,e._iaInfo=void 0,e._iaInfoBuffer=void 0,e._subMeshData=void 0,e._mesh=void 0,e._vertCount=0,e._indexCount=0,e._startTimeOffset=0,e._lifeTimeOffset=0,e._material=null,e.type=ar.PARTICLE_BATCH,e._capacity=0,e._vertAttrs=null,e._vertSize=0,e._vBuffer=null,e._vertAttrsFloatCount=0,e._vdataF32=null,e._vdataUint32=null,e._iaInfo=new lt([new at]),e._iaInfoBuffer=e._device.createBuffer(new nt(d.INDIRECT,g.HOST|g.DEVICE,Yt,Yt)),e._subMeshData=null,e._mesh=null,e}Me(e,t);var i=e.prototype;return i.setCapacity=function(t){var e=this._capacity!==t;this._capacity=t,this._subMeshData&&e&&this.rebuild()},i.setVertexAttributes=function(t,e){if(this._mesh!==t||this._vertAttrs!==e){this._mesh=t,this._vertAttrs=e,this._vertSize=0;for(var i,r=Fe(this._vertAttrs);!(i=r()).done;){var n=i.value;n.offset=this._vertSize,this._vertSize+=Ht[n.format].size}this._vertAttrsFloatCount=this._vertSize/4,this.rebuild()}},i.createSubMeshData=function(){this.destroySubMeshData(),this._vertCount=4,this._indexCount=6,this._mesh&&(this._vertCount=this._mesh.struct.vertexBundles[this._mesh.struct.primitives[0].vertexBundelIndices[0]].view.count,this._indexCount=this._mesh.struct.primitives[0].indexView.count);var t=this._device.createBuffer(new nt(d.VERTEX|d.TRANSFER_DST,g.HOST|g.DEVICE,this._vertSize*this._capacity*this._vertCount,this._vertSize)),e=new ArrayBuffer(this._vertSize*this._capacity*this._vertCount);if(this._mesh){var i=this._vertAttrs[this._vertAttrs.findIndex((function(t){return t.name===Ut.ATTR_TEX_COORD}))].offset;this._mesh.copyAttribute(0,Ut.ATTR_TEX_COORD,e,this._vertSize,i);var r=this._vertAttrs.findIndex((function(t){return t.name===Ut.ATTR_TEX_COORD3}));if(i=this._vertAttrs[r++].offset,this._mesh.copyAttribute(0,Ut.ATTR_POSITION,e,this._vertSize,i),i=this._vertAttrs[r++].offset,this._mesh.copyAttribute(0,Ut.ATTR_NORMAL,e,this._vertSize,i),i=this._vertAttrs[r++].offset,!this._mesh.copyAttribute(0,Ut.ATTR_COLOR,e,this._vertSize,i))for(var n=new Uint32Array(e),s=0;s=this._particleSystem.capacity?null:this._particles.add()},r.getDefaultTrailMaterial=function(){return this._defaultTrailMat},r.setNewParticle=function(){},r._initModuleList=function(){var t=this;NG.forEach((function(e){var i=t._particleSystem[e];i&&i.enable&&(i.needUpdate&&(t._updateList[i.name]=i),i.needAnimate&&(t._animateList[i.name]=i))})),this._runAnimateList.length=0;for(var e=0,i=$O.length;e0,this._particles.length},r.updateRenderData=function(){for(var t=0,e=0;e=this._particleSystem._capacity?null:this._tempParticle},i.setNewParticle=function(t){this._model.addGPUParticleVertexData(t,this._particleNum,this._particleSystem._time),this._particleNum++},i.updateParticles=function(t){return this._particleNum=this._model.updateGPUParticles(this._particleNum,this._particleSystem._time,t),this.updateShaderUniform(t),this._model.enabled=this._particleNum>0,this._particleNum},i.updateRenderData=function(){},i.beforeRender=function(){this._model.updateIA(this._particleNum)},i.updateShaderUniform=function(t){var e=this._particleSystem.getMaterialInstance(0)||this._defaultMat;if(e){var i=e.passes[0];YG.x=this._particleSystem._time,YG.y=t,i.setUniform(this._uTimeHandle,YG),this._particleSystem.node.getWorldRotation(qG),i.setUniform(this._uRotHandle,qG)}},i.initShaderUniform=function(t){var e=t.passes[0];this._uTimeHandle=e.getHandle("u_timeDelta"),this._uRotHandle=e.getHandle("u_worldRot"),e.setUniform(e.getHandle("scale"),this._node_scale),e.setUniform(e.getHandle("frameTile_velLenScale"),this._frameTile_velLenScale),YG.x=JG,YG.y=.03125,e.setUniform(e.getHandle("u_sampleInfo"),YG);var i=!1,r=this._particleSystem._forceOvertimeModule;if(i=r&&r.enable,this._defines.FORCE_OVER_TIME_MODULE_ENABLE=i,i){this._forceTexture&&this._forceTexture.destroy(),this._forceTexture=nI(JG,r.x,r.y,r.z);var n=e.getHandle("force_over_time_tex0"),s=en.getBindingFromHandle(n);e.bindSampler(s,this._forceTexture.getGFXSampler()),e.bindTexture(s,this._forceTexture.getGFXTexture());var a=e.getHandle("u_force_space");e.setUniform(a,r.space);var o=e.getHandle("u_force_mode");e.setUniform(o,this._forceTexture.height)}var l=this._particleSystem._velocityOvertimeModule;if(i=l&&l.enable,this._defines.VELOCITY_OVER_TIME_MODULE_ENABLE=i,i){this._velocityTexture&&this._velocityTexture.destroy(),this._velocityTexture=function(t,e,i,r,n){for(var s=Math.max(iI(e),iI(i),iI(r),iI(n)),a=new Float32Array(128*s),o=[e,i,r,n],l=0;l=8&&t.hasFeature(c.TEXTURE_FLOAT))||(He.warn("Maybe the device has restrictions on vertex textures or does not support float textures."),!1)}var oz,lz,hz,uz,cz,_z,fz,pz,dz,mz,yz,gz,vz,bz,Sz,Az,Cz,xz,Tz,wz,Ez,Bz,Dz,Mz,Pz,Rz,Iz,Oz,Fz,Lz,Vz,kz,Nz,Gz,zz,Uz,Hz,jz,Wz,Xz,Yz,qz,Jz,Kz,Zz,Qz,$z,tU,eU,iU,rU,nU,sU,aU,oU,lU,hU,uU,cU,_U,fU,pU,dU,mU,yU,gU,vU,bU,SU,AU,CU,xU,TU,wU,EU,BU,DU,MU,PU,RU,IU,OU,FU,LU,VU,kU,NU,GU,zU,UU,HU,jU,WU,XU,YU,qU,JU,KU,ZU,QU,$U,tH,eH,iH,rH,nH,sH,aH,oH,lH,hH,uH,cH,_H,fH,pH,dH,mH,yH,gH,vH,bH,SH,AH,CH,xH,TH,wH,EH,BH,DH,MH,PH,RH,IH,OH,FH,LH,VH,kH,NH,GH,zH,UH,HH,jH,WH,XH,YH,qH,JH,KH,ZH,QH,$H,tj,ej,ij,rj,nj,sj,aj,oj,lj,hj,uj,cj,_j,fj,pj,dj,mj,yj,gj,vj,bj,Sj,Aj,Cj,xj,Tj,wj,Ej,Bj,Dj,Mj,Pj,Rj,Ij,Oj,Fj,Lj,Vj,kj,Nj,Gj,zj,Uj,Hj,jj,Wj,Xj,Yj,qj=(sG=ri("cc.ParticleSystemRenderer"),aG=bi(rF),oG=Mr(),lG=Di(),hG=Mr(),uG=Di(),cG=Mr(),_G=Di(),fG=bi(rF),pG=bi(Na),dG=Mr(),mG=Di(),yG=bi(cr),gG=Mr(),vG=Di(),bG=bi(cr),SG=Mr(),AG=Di(),CG=Mr(),xG=Di(),sG((IG=function(){function t(){li(this,"_renderMode",EG,this),li(this,"_velocityScale",BG,this),li(this,"_lengthScale",DG,this),li(this,"_mesh",MG,this),li(this,"_mainTexture",PG,this),li(this,"_useGPU",RG,this),this._particleSystem=null}var e=t.prototype;return e.onInit=function(t){this._particleSystem=t;var e=this._useGPU&&az();this._particleSystem.processor=e?new sz(this):new WG(this),this._particleSystem.processor.onInit(t)},e._switchProcessor=function(){this._particleSystem&&(this._particleSystem.processor&&(this._particleSystem.processor.detachFromScene(),this._particleSystem.processor.clear(),this._particleSystem.processor=null),this._particleSystem.processor=this._useGPU?new sz(this):new WG(this),this._particleSystem.processor.onInit(this._particleSystem),this._particleSystem.processor.onEnable(),this._particleSystem.bindModule())},Pe(t,[{key:"renderMode",get:function(){return this._renderMode},set:function(t){this._renderMode!==t&&(this._renderMode=t,this._particleSystem&&this._particleSystem.processor.updateRenderMode())}},{key:"velocityScale",get:function(){return this._velocityScale},set:function(t){this._velocityScale=t,this._particleSystem&&this._particleSystem.processor.updateMaterialParams()}},{key:"lengthScale",get:function(){return this._lengthScale},set:function(t){this._lengthScale=t,this._particleSystem&&this._particleSystem.processor.updateMaterialParams()}},{key:"mesh",get:function(){return this._mesh},set:function(t){this._mesh=t,this._particleSystem&&this._particleSystem.processor.setVertexAttributes()}},{key:"particleMaterial",get:function(){return this._particleSystem?this._particleSystem.getMaterial(0):null},set:function(t){this._particleSystem&&this._particleSystem.setMaterial(t,0)}},{key:"trailMaterial",get:function(){return this._particleSystem?this._particleSystem.getMaterial(1):null},set:function(t){this._particleSystem&&this._particleSystem.setMaterial(t,1)}},{key:"mainTexture",get:function(){return this._mainTexture},set:function(t){this._mainTexture=t}},{key:"useGPU",get:function(){return this._useGPU},set:function(t){this._useGPU!==t&&(az()?this._useGPU=t:this._useGPU=!1,this._switchProcessor())}}]),t}(),oi((wG=IG).prototype,"renderMode",[aG,oG,lG],Object.getOwnPropertyDescriptor(wG.prototype,"renderMode"),wG.prototype),oi(wG.prototype,"velocityScale",[hG,uG],Object.getOwnPropertyDescriptor(wG.prototype,"velocityScale"),wG.prototype),oi(wG.prototype,"lengthScale",[cG,_G],Object.getOwnPropertyDescriptor(wG.prototype,"lengthScale"),wG.prototype),EG=oi(wG.prototype,"_renderMode",[fG,_i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return rF.Billboard}}),BG=oi(wG.prototype,"_velocityScale",[_i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 1}}),DG=oi(wG.prototype,"_lengthScale",[_i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 1}}),MG=oi(wG.prototype,"_mesh",[_i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return null}}),oi(wG.prototype,"mesh",[pG,dG,mG],Object.getOwnPropertyDescriptor(wG.prototype,"mesh"),wG.prototype),oi(wG.prototype,"particleMaterial",[yG,gG,vG],Object.getOwnPropertyDescriptor(wG.prototype,"particleMaterial"),wG.prototype),oi(wG.prototype,"trailMaterial",[bG,SG,AG],Object.getOwnPropertyDescriptor(wG.prototype,"trailMaterial"),wG.prototype),PG=oi(wG.prototype,"_mainTexture",[_i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return null}}),RG=oi(wG.prototype,"_useGPU",[_i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),oi(wG.prototype,"useGPU",[CG,xG],Object.getOwnPropertyDescriptor(wG.prototype,"useGPU"),wG.prototype),TG=wG))||TG),Jj=Math.cos(qi(100)),Kj={position:new ii,velocity:new ii},Zj=new si,Qj=new Ri,$j=new ii,tW=new ii,eW=new Ui,iW=function(){function t(t){for(this.start=void 0,this.end=void 0,this.trailElements=void 0,this.start=-1,this.end=-1,this.trailElements=[];t--;)this.trailElements.push({position:new ii,lifetime:0,width:0,velocity:new ii,direction:0,color:new Ui})}var e=t.prototype;return e.getElement=function(t){return-1===this.start?null:(t<0&&(t=(t+this.trailElements.length)%this.trailElements.length),t>=this.trailElements.length&&(t%=this.trailElements.length),this.trailElements[t])},e.addElement=function(){if(0===this.trailElements.length)return null;if(-1===this.start)return this.start=0,this.end=1,this.trailElements[0];this.start===this.end&&(this.trailElements.splice(this.end,0,{position:new ii,lifetime:0,width:0,velocity:new ii,direction:0,color:new Ui}),this.start++,this.start%=this.trailElements.length);var t=this.end++;return this.end%=this.trailElements.length,this.trailElements[t]},e.iterateElement=function(t,e,i,r){for(var n=this.start>=this.end?this.end+this.trailElements.length:this.end,s=this.start;s2){var a=i.getElement(i.end-2),o=i.getElement(i.end-3);ii.subtract($j,o.position,a.position),ii.subtract(tW,r.position,a.position),ii.subtract(a.velocity,tW,$j),ii.equals(ii.ZERO,a.velocity)&&ii.copy(a.velocity,$j),ii.normalize(a.velocity,a.velocity),this._checkDirectionReverse(a,o)}this.colorFromParticle?r.color.set(t.color):r.color.set(this.colorOvertime.evaluate(0,1))}}},i.removeParticle=function(t){var e=this._particleTrail.get(t);e&&this._trailSegments&&(e.clear(),this._trailSegments.free(e),this._particleTrail.delete(t))},i.updateRenderData=function(){this.vbOffset=0,this.ibOffset=0;for(var t,e=Fe(this._particleTrail.keys());!(t=e()).done;){var i=t.value,r=this._particleTrail.get(i);if(-1!==r.start){var n=4*this.vbOffset/this._vertSize,s=r.start>=r.end?r.end+r.trailElements.length:r.end,a=s-r.start,o=1/a,l=r.trailElements[r.start];this._fillVertexBuffer(l,this.colorOverTrail.evaluate(1,1),n,1,0,4);for(var h=r.start+1;h2){var f=r.getElement(r.end-1),p=r.getElement(r.end-2);ii.subtract($j,p.position,f.position),ii.subtract(tW,Kj.position,f.position),ii.normalize($j,$j),ii.normalize(tW,tW),ii.subtract(f.velocity,tW,$j),ii.normalize(f.velocity,f.velocity),this._checkDirectionReverse(f,p),this.vbOffset-=this._vertSize/4*2,this.ibOffset-=6,this._fillVertexBuffer(f,this.colorOverTrail.evaluate(o,1),n,o,a-1,5),ii.subtract(Kj.velocity,Kj.position,f.position),ii.normalize(Kj.velocity,Kj.velocity),this._checkDirectionReverse(Kj,f)}this.widthFromParticle?Kj.width=i.size.x*this.widthRatio.evaluate(0,1):Kj.width=this.widthRatio.evaluate(0,1),Kj.color=i.color,ii.equals(Kj.velocity,ii.ZERO)?this.ibOffset-=3:this._fillVertexBuffer(Kj,this.colorOverTrail.evaluate(0,1),n,0,a,1)}}this._trailModel.enabled=this.ibOffset>0},i.updateIA=function(t){var e=this._trailModel&&this._trailModel.subModels;if(e&&e.length>0){var i=e[0];i.inputAssembler.vertexBuffers[0].update(this._vbF32),i.inputAssembler.indexBuffer.update(this._iBuffer),this._iaInfo.drawInfos[0].firstIndex=0,this._iaInfo.drawInfos[0].indexCount=t,this._iaInfoBuffer.update(this._iaInfo)}},i.beforeRender=function(){this.updateIA(this.ibOffset)},i._createModel=function(){this._trailModel||(this._trailModel=He.director.root.createModel(mi))},i.rebuild=function(){var t=wr.root.device,e=t.createBuffer(new nt(d.VERTEX|d.TRANSFER_DST,g.HOST|g.DEVICE,this._vertSize*(this._trailNum+1)*2,this._vertSize)),i=new ArrayBuffer(this._vertSize*(this._trailNum+1)*2);this._vbF32=new Float32Array(i),this._vbUint32=new Uint32Array(i),e.update(i);var r=t.createBuffer(new nt(d.INDEX|d.TRANSFER_DST,g.HOST|g.DEVICE,6*this._trailNum*Uint16Array.BYTES_PER_ELEMENT,Uint16Array.BYTES_PER_ELEMENT));this._iBuffer=new Uint16Array(6*this._trailNum),r.update(this._iBuffer),this._iaInfoBuffer=t.createBuffer(new nt(d.INDIRECT,g.HOST|g.DEVICE,Yt,Yt)),this._iaInfo.drawInfos[0].vertexCount=2*(this._trailNum+1),this._iaInfo.drawInfos[0].indexCount=6*this._trailNum,this._iaInfoBuffer.update(this._iaInfo),this._subMeshData=new ui([e],this._vertAttrs,F.TRIANGLE_LIST,r,this._iaInfoBuffer);var n=this._trailModel;n&&(n.node=n.transform=this._particleSystem.node,n.visFlags=this._particleSystem.visibility,n.initSubModel(0,this._subMeshData,this._material),n.enabled=!0)},i._updateTrailElement=function(t,e,i,r){return e.lifetime+=r,t.colorFromParticle?(e.color.set(i.color),e.color.multiply(t.colorOvertime.evaluate(1-i.remainingLifetime/i.startLifetime,1))):e.color.set(t.colorOvertime.evaluate(1-i.remainingLifetime/i.startLifetime,1)),t.widthFromParticle?e.width=i.size.x*t.widthRatio.evaluate(e.lifetime/t._trailLifetime,1):e.width=t.widthRatio.evaluate(e.lifetime/t._trailLifetime,1),e.lifetime>t._trailLifetime},i._fillVertexBuffer=function(t,e,i,r,n,s){this._vbF32[this.vbOffset++]=t.position.x,this._vbF32[this.vbOffset++]=t.position.y,this._vbF32[this.vbOffset++]=t.position.z,this._vbF32[this.vbOffset++]=t.direction,this._vbF32[this.vbOffset++]=t.width,this._vbF32[this.vbOffset++]=r,this._vbF32[this.vbOffset++]=0,this._vbF32[this.vbOffset++]=t.velocity.x,this._vbF32[this.vbOffset++]=t.velocity.y,this._vbF32[this.vbOffset++]=t.velocity.z,eW.set(t.color),eW.multiply(e),this._vbUint32[this.vbOffset++]=eW._val,this._vbF32[this.vbOffset++]=t.position.x,this._vbF32[this.vbOffset++]=t.position.y,this._vbF32[this.vbOffset++]=t.position.z,this._vbF32[this.vbOffset++]=1-t.direction,this._vbF32[this.vbOffset++]=t.width,this._vbF32[this.vbOffset++]=r,this._vbF32[this.vbOffset++]=1,this._vbF32[this.vbOffset++]=t.velocity.x,this._vbF32[this.vbOffset++]=t.velocity.y,this._vbF32[this.vbOffset++]=t.velocity.z,this._vbUint32[this.vbOffset++]=eW._val,1&s&&(this._iBuffer[this.ibOffset++]=i+2*n,this._iBuffer[this.ibOffset++]=i+2*n-1,this._iBuffer[this.ibOffset++]=i+2*n+1),4&s&&(this._iBuffer[this.ibOffset++]=i+2*n,this._iBuffer[this.ibOffset++]=i+2*n+1,this._iBuffer[this.ibOffset++]=i+2*n+2)},i._checkDirectionReverse=function(t,e){ii.dot(t.velocity,e.velocity)e){if(this._time>this.duration+e&&!this.loop)return void(this._isEmitting=!1);if(this._emitRateTimeCounter+=this.rateOverTime.evaluate(this._time/this.duration,1)*t,this._emitRateTimeCounter>1&&this._isEmitting){var i=Math.floor(this._emitRateTimeCounter);this._emitRateTimeCounter-=i,this.emit(i,t)}this.node.getWorldPosition(this._curWPos);var r=ii.distance(this._curWPos,this._oldWPos);if(ii.copy(this._oldWPos,this._curWPos),this._emitRateDistanceCounter+=r*this.rateOverDistance.evaluate(this._time/this.duration,1),this._emitRateDistanceCounter>1&&this._isEmitting){var n=Math.floor(this._emitRateDistanceCounter);this._emitRateDistanceCounter-=n,this.emit(n,t)}for(var s,a=Fe(this.bursts);!(s=a()).done;)s.value.update(this,t)}},i._resetPosition=function(){this.node.getWorldPosition(this._oldWPos),ii.copy(this._curWPos,this._oldWPos)},i.addSubEmitter=function(t){this._subEmitters.push(t)},i.removeSubEmitter=function(t){this._subEmitters.splice(this._subEmitters.indexOf(t),1)},i.addBurst=function(t){this.bursts.push(t)},i.removeBurst=function(t){this.bursts.splice(this.bursts.indexOf(t),1)},i._onBeforeSerialize=function(t){var e=this;return this.enableCulling?t.filter((function(t){return!tF.includes(t)||e[t]&&e[t].enable})):t},Pe(e,[{key:"capacity",get:function(){return this._capacity},set:function(t){this._capacity=Math.floor(t),this.processor&&this.processor._model&&this.processor._model.setCapacity(this._capacity)}},{key:"prewarm",get:function(){return this._prewarm},set:function(t){!0===t&&this.loop,this._prewarm=t}},{key:"simulationSpace",get:function(){return this._simulationSpace},set:function(t){t!==this._simulationSpace&&(this._simulationSpace=t,this.processor&&(this.processor.updateMaterialParams(),this.processor.updateTrailMaterial()))}},{key:"sharedMaterials",get:function(){return aW.get.call(this)},set:function(t){aW.set.call(this,t)}},{key:"colorOverLifetimeModule",get:function(){return this._colorOverLifetimeModule},set:function(t){t&&(this._colorOverLifetimeModule=t)}},{key:"shapeModule",get:function(){return this._shapeModule},set:function(t){t&&(this._shapeModule=t)}},{key:"sizeOvertimeModule",get:function(){return this._sizeOvertimeModule},set:function(t){t&&(this._sizeOvertimeModule=t)}},{key:"velocityOvertimeModule",get:function(){return this._velocityOvertimeModule},set:function(t){t&&(this._velocityOvertimeModule=t)}},{key:"forceOvertimeModule",get:function(){return this._forceOvertimeModule},set:function(t){t&&(this._forceOvertimeModule=t)}},{key:"limitVelocityOvertimeModule",get:function(){return this._limitVelocityOvertimeModule},set:function(t){t&&(this._limitVelocityOvertimeModule=t)}},{key:"rotationOvertimeModule",get:function(){return this._rotationOvertimeModule},set:function(t){t&&(this._rotationOvertimeModule=t)}},{key:"textureAnimationModule",get:function(){return this._textureAnimationModule},set:function(t){t&&(this._textureAnimationModule=t)}},{key:"trailModule",get:function(){return this._trailModule},set:function(t){t&&(this._trailModule=t)}},{key:"isPlaying",get:function(){return this._isPlaying}},{key:"isPaused",get:function(){return this._isPaused}},{key:"isStopped",get:function(){return this._isStopped}},{key:"isEmitting",get:function(){return this._isEmitting}},{key:"time",get:function(){return this._time}}]),e}(Pi),oi((cj=Yj).prototype,"capacity",[rU,nU],Object.getOwnPropertyDescriptor(cj.prototype,"capacity"),cj.prototype),_j=oi(cj.prototype,"startColor",[sU,_i,aU,oU],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new hO}}),fj=oi(cj.prototype,"scaleSpace",[lU,_i,hU,uU],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return iF.Local}}),pj=oi(cj.prototype,"startSize3D",[_i,cU,_U],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),dj=oi(cj.prototype,"startSizeX",[fU,pU,dU,mU],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new tI}}),mj=oi(cj.prototype,"startSizeY",[yU,_i,gU,vU],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new tI}}),yj=oi(cj.prototype,"startSizeZ",[bU,_i,SU,AU],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new tI}}),gj=oi(cj.prototype,"startSpeed",[CU,_i,xU,TU,wU],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new tI}}),vj=oi(cj.prototype,"startRotation3D",[_i,EU,BU],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),bj=oi(cj.prototype,"startRotationX",[DU,_i,MU,Gn,PU,RU],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new tI}}),Sj=oi(cj.prototype,"startRotationY",[IU,_i,OU,Gn,FU,LU],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new tI}}),Aj=oi(cj.prototype,"startRotationZ",[VU,kU,NU,Gn,GU,zU],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new tI}}),Cj=oi(cj.prototype,"startDelay",[UU,_i,HU,jU],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new tI}}),xj=oi(cj.prototype,"startLifetime",[WU,_i,XU,YU],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new tI}}),Tj=oi(cj.prototype,"duration",[_i,qU,JU],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 5}}),wj=oi(cj.prototype,"loop",[_i,KU,ZU],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!0}}),oi(cj.prototype,"prewarm",[QU,$U],Object.getOwnPropertyDescriptor(cj.prototype,"prewarm"),cj.prototype),oi(cj.prototype,"simulationSpace",[tH,_i,eH,iH],Object.getOwnPropertyDescriptor(cj.prototype,"simulationSpace"),cj.prototype),Ej=oi(cj.prototype,"simulationSpeed",[_i,rH,nH],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 1}}),Bj=oi(cj.prototype,"playOnAwake",[_i,sH,aH],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!0}}),Dj=oi(cj.prototype,"gravityModifier",[oH,_i,lH,hH,uH],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new tI}}),Mj=oi(cj.prototype,"rateOverTime",[cH,_i,_H,fH],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new tI}}),Pj=oi(cj.prototype,"rateOverDistance",[pH,_i,dH,mH],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new tI}}),Rj=oi(cj.prototype,"bursts",[yH,_i,gH,vH],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return[]}}),oi(cj.prototype,"sharedMaterials",[pr,bH,SH,_i,AH],Object.getOwnPropertyDescriptor(cj.prototype,"sharedMaterials"),cj.prototype),Ij=oi(cj.prototype,"_colorOverLifetimeModule",[CH],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return null}}),oi(cj.prototype,"colorOverLifetimeModule",[xH,TH,wH],Object.getOwnPropertyDescriptor(cj.prototype,"colorOverLifetimeModule"),cj.prototype),Oj=oi(cj.prototype,"_shapeModule",[EH],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return null}}),oi(cj.prototype,"shapeModule",[BH,DH,MH],Object.getOwnPropertyDescriptor(cj.prototype,"shapeModule"),cj.prototype),Fj=oi(cj.prototype,"_sizeOvertimeModule",[PH],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return null}}),oi(cj.prototype,"sizeOvertimeModule",[RH,IH,OH],Object.getOwnPropertyDescriptor(cj.prototype,"sizeOvertimeModule"),cj.prototype),Lj=oi(cj.prototype,"_velocityOvertimeModule",[FH],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return null}}),oi(cj.prototype,"velocityOvertimeModule",[LH,VH,kH],Object.getOwnPropertyDescriptor(cj.prototype,"velocityOvertimeModule"),cj.prototype),Vj=oi(cj.prototype,"_forceOvertimeModule",[NH],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return null}}),oi(cj.prototype,"forceOvertimeModule",[GH,zH,UH],Object.getOwnPropertyDescriptor(cj.prototype,"forceOvertimeModule"),cj.prototype),kj=oi(cj.prototype,"_limitVelocityOvertimeModule",[HH],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return null}}),oi(cj.prototype,"limitVelocityOvertimeModule",[jH,WH,XH],Object.getOwnPropertyDescriptor(cj.prototype,"limitVelocityOvertimeModule"),cj.prototype),Nj=oi(cj.prototype,"_rotationOvertimeModule",[YH],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return null}}),oi(cj.prototype,"rotationOvertimeModule",[qH,JH,KH],Object.getOwnPropertyDescriptor(cj.prototype,"rotationOvertimeModule"),cj.prototype),Gj=oi(cj.prototype,"_textureAnimationModule",[ZH],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return null}}),oi(cj.prototype,"textureAnimationModule",[QH,$H,tj],Object.getOwnPropertyDescriptor(cj.prototype,"textureAnimationModule"),cj.prototype),zj=oi(cj.prototype,"_trailModule",[ej],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return null}}),oi(cj.prototype,"trailModule",[ij,rj,nj],Object.getOwnPropertyDescriptor(cj.prototype,"trailModule"),cj.prototype),Uj=oi(cj.prototype,"renderer",[sj,_i,aj,oj],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new qj}}),Hj=oi(cj.prototype,"enableCulling",[_i,lj,hj],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),jj=oi(cj.prototype,"_prewarm",[_i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),Wj=oi(cj.prototype,"_capacity",[_i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 100}}),Xj=oi(cj.prototype,"_simulationSpace",[_i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return iF.Local}}),uj=cj))||uj)||uj)||uj)||uj)||uj)),lW=t("ParticleUtils",function(){function t(){}return t.instantiate=function(t){return this.registeredSceneEvent||(wr.on(Er.EVENT_BEFORE_SCENE_LAUNCH,this.onSceneUnload,this),this.registeredSceneEvent=!0),this.particleSystemPool.has(t._uuid)||this.particleSystemPool.set(t._uuid,new e((function(){return Hn(t)||new ur}),1)),this.particleSystemPool.get(t._uuid).alloc()},t.destroy=function(t){this.particleSystemPool.has(t._prefab.asset._uuid)&&(this.stop(t),this.particleSystemPool.get(t._prefab.asset._uuid).free(t))},t.play=function(t){for(var e,i=Fe(t.getComponentsInChildren(oW));!(e=i()).done;)e.value.play()},t.stop=function(t){for(var e,i=Fe(t.getComponentsInChildren(oW));!(e=i()).done;)e.value.stop()},t.onSceneUnload=function(){this.particleSystemPool.forEach((function(t){t.destroy((function(t){t.destroy()}))})),this.particleSystemPool.clear()},t}());lW.particleSystemPool=new Map,lW.registeredSceneEvent=!1,Oi($N.prototype,"Burst.prototype",[{name:"minCount"},{name:"maxCount"}]),He.ParticleSystemComponent=oW,Li.setClassAlias(oW,"cc.ParticleSystemComponent"),He.BillboardComponent=YR,Li.setClassAlias(YR,"cc.BillboardComponent"),He.LineComponent=YO,Li.setClassAlias(YO,"cc.LineComponent"),He.ParticleUtils=lW;var hW,uW,cW,_W,fW,pW,dW={id:"",select:function(t,e){He._global.CC_PHYSICS_BUILTIN="builtin"===t,He._global.CC_PHYSICS_CANNON="cannon.js"===t,He._global.CC_PHYSICS_AMMO="ammo.js"===t,console.info("[PHYSICS]: Using "+t+"."),dW.id=t,dW.wrapper=e,null!=t&&(dW.backend[t]=e)},wrapper:{},backend:{}};function mW(t,e){return t.setValue(e.x,e.y,e.z),t}function yW(t,e){return t.x=e.x(),t.y=e.y(),t.z=e.z(),t}function gW(t,e){return t.setValue(e.x,e.y,e.z,e.w),t}function vW(t,e){return t.x=e.x(),t.y=e.y(),t.z=e.z(),t.w=e.w(),t}function bW(t,e){delete jn.getCache(e)[jn.getPointer(t)]}function SW(t,e){for(var i=e.renderingSubMeshes.length,r=0;r=0&&e.allMaterials.splice(i,1),!0}return!1},Pe(e,[{key:"friction",get:function(){return this._friction},set:function(t){Wn(this._friction,t)||(this._friction=t,this.emit("physics_material_update"))}},{key:"rollingFriction",get:function(){return this._rollingFriction},set:function(t){Wn(this._rollingFriction,t)||(this._rollingFriction=t,this.emit("physics_material_update"))}},{key:"spinningFriction",get:function(){return this._spinningFriction},set:function(t){Wn(this._spinningFriction,t)||(this._spinningFriction=t,this.emit("physics_material_update"))}},{key:"restitution",get:function(){return this._restitution},set:function(t){Wn(this._restitution,t)||(this._restitution=t,this.emit("physics_material_update"))}}]),e}(ai),FW.allMaterials=[],FW._idCounter=0,oi((MW=LW).prototype,"friction",[vi],Object.getOwnPropertyDescriptor(MW.prototype,"friction"),MW.prototype),oi(MW.prototype,"rollingFriction",[vi],Object.getOwnPropertyDescriptor(MW.prototype,"rollingFriction"),MW.prototype),oi(MW.prototype,"spinningFriction",[vi],Object.getOwnPropertyDescriptor(MW.prototype,"spinningFriction"),MW.prototype),oi(MW.prototype,"restitution",[vi],Object.getOwnPropertyDescriptor(MW.prototype,"restitution"),MW.prototype),PW=oi(MW.prototype,"_friction",[_i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return.6}}),RW=oi(MW.prototype,"_rollingFriction",[_i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return.1}}),IW=oi(MW.prototype,"_spinningFriction",[_i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return.1}}),OW=oi(MW.prototype,"_restitution",[_i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 0}}),DW=MW))||DW),GW=t("PhysicsRayResult",function(){function t(){this._hitPoint=new ii,this._hitNormal=new ii,this._distance=0,this._collider=null}var e=t.prototype;return e._assign=function(t,e,i,r){ii.copy(this._hitPoint,t),ii.copy(this._hitNormal,r),this._distance=e,this._collider=i},e.clone=function(){var e=new t;return ii.copy(e._hitPoint,this._hitPoint),ii.copy(e._hitNormal,this._hitNormal),e._distance=this._distance,e._collider=this._collider,e},Pe(t,[{key:"hitPoint",get:function(){return this._hitPoint}},{key:"distance",get:function(){return this._distance}},{key:"collider",get:function(){return this._collider}},{key:"hitNormal",get:function(){return this._hitNormal}}]),t}()),zW=function(t){if(1===t){for(var e=this,i=function(t){var i="_"+(1<this._fixedTimeStep)){this.physicsWorld.syncSceneToPhysics();break}this.physicsWorld.syncSceneToPhysics(),this.physicsWorld.step(this._fixedTimeStep),this._accumulator-=this._fixedTimeStep,this._subStepCount++,this.physicsWorld.emitEvents(),this.physicsWorld.syncAfterEvents()}wr.emit(Er.EVENT_AFTER_PHYSICS)}}else this.physicsWorld.syncSceneToPhysics()},r.resetAccumulator=function(t){void 0===t&&(t=0),this._accumulator=t},r.step=function(t,e,i){this.physicsWorld.step(t,e,i)},r.syncSceneToPhysics=function(){this.physicsWorld.syncSceneToPhysics()},r.emitEvents=function(){this.physicsWorld.emitEvents()},r.raycast=function(t,e,i,r){return void 0===e&&(e=4294967295),void 0===i&&(i=1e7),void 0===r&&(r=!0),this.raycastResultPool.reset(),this.raycastResults.length=0,this.raycastOptions.mask=e>>>0,this.raycastOptions.maxDistance=i,this.raycastOptions.queryTrigger=r,this.physicsWorld.raycast(t,this.raycastOptions,this.raycastResultPool,this.raycastResults)},r.raycastClosest=function(t,e,i,r){return void 0===e&&(e=4294967295),void 0===i&&(i=1e7),void 0===r&&(r=!0),this.raycastOptions.mask=e>>>0,this.raycastOptions.maxDistance=i,this.raycastOptions.queryTrigger=r,this.physicsWorld.raycastClosest(t,this.raycastOptions,this.raycastClosestResult)},r._updateMaterial=function(){this.physicsWorld.setDefaultMaterial(this._material)},Pe(e,[{key:"enable",get:function(){return this._enable},set:function(t){this._enable=t}},{key:"allowSleep",get:function(){return this._allowSleep},set:function(t){this._allowSleep=t,this.physicsWorld.setAllowSleep(t)}},{key:"maxSubSteps",get:function(){return this._maxSubSteps},set:function(t){this._maxSubSteps=t}},{key:"fixedTimeStep",get:function(){return this._fixedTimeStep},set:function(t){this._fixedTimeStep=t}},{key:"gravity",get:function(){return this._gravity},set:function(t){this._gravity.set(t),this.physicsWorld.setGravity(t)}},{key:"sleepThreshold",get:function(){return this._sleepThreshold},set:function(t){this._sleepThreshold=t}},{key:"autoSimulation",get:function(){return this._autoSimulation},set:function(t){this._autoSimulation=t}},{key:"defaultMaterial",get:function(){return this._material}}],[{key:"PHYSICS_NONE",get:function(){return!dW.id}},{key:"PHYSICS_BUILTIN",get:function(){return"builtin"===dW.id}},{key:"PHYSICS_CANNON",get:function(){return"cannon.js"===dW.id}},{key:"PHYSICS_AMMO",get:function(){return"ammo.js"===dW.id}},{key:"PHYSICS_PHYSX",get:function(){return"physx"===dW.id}},{key:"PhysicsGroup",get:function(){return pW}},{key:"instance",get:function(){return e._instance}}]),e}(Xn));RX.ID="PHYSICS",RX._instance=void 0,wr.once(Er.EVENT_INIT,(function(){!function(){var t=Wr.config.physics;if(t){var e=t.collisionGroups;e instanceof Array&&(e.forEach((function(t){pW[t.name]=1<uW.Z_AXIS||(this._direction=t,this.shape.setDirection(t))}},{key:"height",get:function(){return 2*this._radius+this._cylinderHeight},set:function(t){var e=t-2*this._radius;e<0&&(e=0),this.cylinderHeight=e}},{key:"worldHeight",get:function(){return 2*this._radius*this._getRadiusScale()+this._cylinderHeight*this._getHeightScale()}},{key:"shape",get:function(){return this._shape}}]),e}(cY),oi((BY=RY).prototype,"radius",[CY],Object.getOwnPropertyDescriptor(BY.prototype,"radius"),BY.prototype),oi(BY.prototype,"cylinderHeight",[xY],Object.getOwnPropertyDescriptor(BY.prototype,"cylinderHeight"),BY.prototype),oi(BY.prototype,"direction",[TY,wY],Object.getOwnPropertyDescriptor(BY.prototype,"direction"),BY.prototype),DY=oi(BY.prototype,"_radius",[_i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return.5}}),MY=oi(BY.prototype,"_cylinderHeight",[_i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 1}}),PY=oi(BY.prototype,"_direction",[_i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return uW.Y_AXIS}}),EY=BY))||EY)||EY)||EY)||EY)),FJ=function(e){return t({CylinderCollider:e,CylinderColliderComponent:e}),e}((IY=ri("cc.CylinderCollider"),OY=wi(),FY=Bi(),LY=Di(),VY=Di(),kY=bi(uW),NY=Di(),IY(GY=OY(GY=FY(GY=Si((WY=function(t){function e(){var e;return e=t.call(this,_W.CYLINDER)||this,li(e,"_radius",UY,hi(e)),li(e,"_height",HY,hi(e)),li(e,"_direction",jY,hi(e)),e}return Me(e,t),Pe(e,[{key:"radius",get:function(){return this._radius},set:function(t){this._radius!==t&&(t<0&&(t=0),this._radius=t,this.shape.setRadius(t))}},{key:"height",get:function(){return this._height},set:function(t){this._height!==t&&(t<0&&(t=0),this._height=t,this.shape.setHeight(t))}},{key:"direction",get:function(){return this._direction},set:function(t){this._direction!==t&&(tuW.Z_AXIS||(this._direction=t,this.shape.setDirection(t)))}},{key:"shape",get:function(){return this._shape}}]),e}(cY),oi((zY=WY).prototype,"radius",[LY],Object.getOwnPropertyDescriptor(zY.prototype,"radius"),zY.prototype),oi(zY.prototype,"height",[VY],Object.getOwnPropertyDescriptor(zY.prototype,"height"),zY.prototype),oi(zY.prototype,"direction",[kY,NY],Object.getOwnPropertyDescriptor(zY.prototype,"direction"),zY.prototype),UY=oi(zY.prototype,"_radius",[_i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return.5}}),HY=oi(zY.prototype,"_height",[_i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 2}}),jY=oi(zY.prototype,"_direction",[_i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return uW.Y_AXIS}}),GY=zY))||GY)||GY)||GY)||GY)),LJ=t("ConeCollider",(XY=ri("cc.ConeCollider"),YY=wi(),qY=Bi(),JY=Di(),KY=Di(),ZY=bi(uW),QY=Di(),XY($Y=YY($Y=qY($Y=Si((nq=function(t){function e(){var e;return e=t.call(this,_W.CONE)||this,li(e,"_radius",eq,hi(e)),li(e,"_height",iq,hi(e)),li(e,"_direction",rq,hi(e)),e}return Me(e,t),Pe(e,[{key:"radius",get:function(){return this._radius},set:function(t){this._radius!==t&&(t<0&&(t=0),this._radius=t,this.shape.setRadius(t))}},{key:"height",get:function(){return this._height},set:function(t){this._height!==t&&(t<0&&(t=0),this._height=t,this.shape.setHeight(t))}},{key:"direction",get:function(){return this._direction},set:function(t){this._direction!==t&&(tuW.Z_AXIS||(this._direction=t,this.shape.setDirection(t)))}},{key:"shape",get:function(){return this._shape}}]),e}(cY),oi((tq=nq).prototype,"radius",[JY],Object.getOwnPropertyDescriptor(tq.prototype,"radius"),tq.prototype),oi(tq.prototype,"height",[KY],Object.getOwnPropertyDescriptor(tq.prototype,"height"),tq.prototype),oi(tq.prototype,"direction",[ZY,QY],Object.getOwnPropertyDescriptor(tq.prototype,"direction"),tq.prototype),eq=oi(tq.prototype,"_radius",[_i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return.5}}),iq=oi(tq.prototype,"_height",[_i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 1}}),rq=oi(tq.prototype,"_direction",[_i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return uW.Y_AXIS}}),$Y=tq))||$Y)||$Y)||$Y)||$Y)),VJ=function(e){return t({MeshCollider:e,MeshColliderComponent:e}),e}((sq=ri("cc.MeshCollider"),aq=wi(),oq=Bi(),lq=bi(Na),hq=Di(),uq=Di(),sq(cq=aq(cq=oq(cq=Si((dq=function(t){function e(){var e;return e=t.call(this,_W.MESH)||this,li(e,"_mesh",fq,hi(e)),li(e,"_convex",pq,hi(e)),e}return Me(e,t),Pe(e,[{key:"mesh",get:function(){return this._mesh},set:function(t){this._mesh!==t&&(this._mesh=t,this.shape.setMesh(this._mesh))}},{key:"convex",get:function(){return this._convex},set:function(t){this._convex!==t&&(this._convex=t)}},{key:"shape",get:function(){return this._shape}}]),e}(cY),oi((_q=dq).prototype,"mesh",[lq,hq],Object.getOwnPropertyDescriptor(_q.prototype,"mesh"),_q.prototype),oi(_q.prototype,"convex",[vi,uq],Object.getOwnPropertyDescriptor(_q.prototype,"convex"),_q.prototype),fq=oi(_q.prototype,"_mesh",[_i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return null}}),pq=oi(_q.prototype,"_convex",[_i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),cq=_q))||cq)||cq)||cq)||cq)),kJ=t("ConstantForce",(mq=ri("cc.ConstantForce"),yq=wi(),gq=Rr(eY),vq=Bi(),bq=Mr(),Sq=Di(),Aq=Mr(),Cq=Di(),xq=Mr(),Tq=Di(),wq=Mr(),Eq=Di(),mq(Bq=yq(Bq=gq(Bq=vq(Bq=Br(Bq=Si((Oq=function(t){function e(){for(var e,i=arguments.length,r=new Array(i),n=0;nt)){for(var e=this.buffer.byteLength;e=JJ){var a=e.readInt();this.layerBuffer=new Array(a);for(var o=0;o=KJ){var l=e.readInt();this._layerBinaryInfos=new Array(l);for(var h=0;h=ZJ&&(this._layerBinaryInfos[h].normalMapId=e.readString(),this._layerBinaryInfos[h].roughness=e.readFloat(),this._layerBinaryInfos[h].metallic=e.readFloat())}return!0},i._exportNativeData=function(){var t=new tK;t.writeInt32(QJ),t.writeFloat(this.tileSize),t.writeIntArray(this._blockCount),t.writeInt16(this.weightMapSize),t.writeInt16(this.lightMapSize),t.writeInt32(this.heights.length);for(var e=0;e0&&h++,e>0&&h++);var u=(s+1)*(a+1);o&&(u+=(s+1)*h+s*h);var c=s*a*6;o&&(c+=s*h*3);var _=new Array(c),f=new Array(3*u),p=new Array(3*u),d=new Array(2*u),m=Math.max(t,e),y=new ii(-m,-n,-m),g=new ii(m,n,m),v=Math.sqrt(m*m+n*n),b=0,S=0;return function(){for(var r=[],o=t-e,h=o*o/i*Math.sign(o),u=0;u<=a;u++){for(var c=[],m=u/a,y=m*o+e,g=0;g<=s;++g){var v=g/s,A=v*l,C=Math.sin(A),x=Math.cos(A);f[3*b]=y*C,f[3*b+1]=m*i-n,f[3*b+2]=y*x,ii.normalize(lZ,ii.set(hZ,C,-h,x)),p[3*b]=lZ.x,p[3*b+1]=lZ.y,p[3*b+2]=lZ.z,d[2*b]=2*(1-v)%1,d[2*b+1]=m,c.push(b),++b}r.push(c)}for(var T=0;T0&&A(!1),t>0&&A(!0)),{positions:f,normals:p,uvs:d,indices:_,minPos:y,maxPos:g,boundingRadius:v};function A(i){for(var r=i?t:e,a=i?1:-1,o=b,h=1;h<=s;++h)f[3*b]=0,f[3*b+1]=n*a,f[3*b+2]=0,p[3*b]=0,p[3*b+1]=a,p[3*b+2]=0,d[2*b]=.5,d[2*b+1]=.5,++b;for(var u=b,c=0;c<=s;++c){var m=c/s*l,y=Math.cos(m),g=Math.sin(m);f[3*b]=r*g,f[3*b+1]=n*a,f[3*b+2]=r*y,p[3*b]=0,p[3*b+1]=a,p[3*b+2]=0,d[2*b]=.5-.5*g*a,d[2*b+1]=.5+.5*y,++b}for(var v=0;v0&&(r[r.length-1]=1),{positions:i,indices:r,minPos:{x:1,y:1,z:0},maxPos:{x:-1,y:-1,z:0},boundingRadius:1,primitiveMode:F.TRIANGLE_FAN}},translate:function(t,e){for(var i=e.x||0,r=e.y||0,n=e.z||0,s=Math.floor(t.positions.length/3),a=0;al?l<<16|o:o<<16|l;void 0===n[h]&&(n[h]=0,r.push(o,l))}return t.indices=r,t.primitiveMode=F.LINE_LIST,t},wireframe:function(t){for(var e=[[0,1],[1,2],[2,0]],i=[],r={},n=0;no?o<<16|a:a<<16|o;void 0===r[l]&&(r[l]=0,i.push(a,o))}return i},invWinding:function(t){for(var e=[],i=0;i=3){e[0]=t[0],e[1]=t[1],e[2]=t[2];for(var i=t.length,r=3;r0&&i.calculateLocalInertia(this._rigidBody.mass,e):i.calculateLocalInertia(this._rigidBody.mass,e),this.impl.setMassProps(t,e),this._wakeUpIfSleep(),this._sharedBody.dirty|=CZ.BODY_RE_ADD}},t.setType=function(t){var e=this.impl.getCollisionFlags(),i=this._sharedBody.ghost.getCollisionFlags(),r=FZ.instance.VECTOR3_0;switch(t){case hW.DYNAMIC:e&=~xZ.CF_KINEMATIC_OBJECT,e&=~xZ.CF_STATIC_OBJECT,this.impl.setCollisionFlags(e),this.setMass(this._rigidBody.mass),this.useGravity(this._rigidBody.useGravity),this.setAllowSleep(this._rigidBody.allowSleep),i&=~xZ.CF_STATIC_OBJECT,i|=xZ.CF_KINEMATIC_OBJECT,this._sharedBody.ghost.setCollisionFlags(i);break;case hW.KINEMATIC:r.setValue(0,0,0),this.impl.setMassProps(0,r),e|=xZ.CF_KINEMATIC_OBJECT,e&=~xZ.CF_STATIC_OBJECT,this.impl.setCollisionFlags(e),this.impl.forceActivationState(wZ.DISABLE_DEACTIVATION),i|=xZ.CF_KINEMATIC_OBJECT,i&=~xZ.CF_STATIC_OBJECT,this._sharedBody.ghost.setCollisionFlags(i);break;case hW.STATIC:default:r.setValue(0,0,0),this.impl.setMassProps(0,r),e|=xZ.CF_STATIC_OBJECT,e&=~xZ.CF_KINEMATIC_OBJECT,this.impl.setCollisionFlags(e),this.impl.forceActivationState(wZ.DISABLE_DEACTIVATION),i&=~xZ.CF_KINEMATIC_OBJECT,i|=xZ.CF_STATIC_OBJECT,this._sharedBody.ghost.setCollisionFlags(i)}this._sharedBody.dirty|=CZ.BODY_RE_ADD,this._sharedBody.dirty|=CZ.GHOST_RE_ADD},t.setLinearDamping=function(){this.impl.setDamping(this._rigidBody.linearDamping,this._rigidBody.angularDamping)},t.setAngularDamping=function(){this.impl.setDamping(this._rigidBody.linearDamping,this._rigidBody.angularDamping)},t.useGravity=function(t){if(this._rigidBody.isDynamic){var e=this.impl.getFlags();t?e&=~BZ.BT_DISABLE_WORLD_GRAVITY:(this.impl.setGravity(mW(FZ.instance.VECTOR3_0,ii.ZERO)),e|=BZ.BT_DISABLE_WORLD_GRAVITY),this.impl.setFlags(e),this._wakeUpIfSleep(),this._sharedBody.dirty|=CZ.BODY_RE_ADD}},t.setLinearFactor=function(t){this.impl.setLinearFactor(mW(FZ.instance.VECTOR3_0,t)),this._wakeUpIfSleep()},t.setAngularFactor=function(t){this.impl.setAngularFactor(mW(FZ.instance.VECTOR3_0,t)),this._wakeUpIfSleep()},t.setAllowSleep=function(t){this._rigidBody.isDynamic&&(t?this.impl.forceActivationState(wZ.ACTIVE_TAG):this.impl.forceActivationState(wZ.DISABLE_DEACTIVATION),this._wakeUpIfSleep())},t.clearState=function(){this.impl.clearState()},t.clearVelocity=function(){this.setLinearVelocity(ii.ZERO),this.setAngularVelocity(ii.ZERO)},t.clearForces=function(){this.impl.clearForces()},t.initialize=function(t){this._rigidBody=t,this._sharedBody=RX.instance.physicsWorld.getSharedBody(this._rigidBody.node,this),this._sharedBody.reference=!0},t.onEnable=function(){this._isEnabled=!0,this.setMass(this._rigidBody.mass),this.setType(this._rigidBody.type),this.setAllowSleep(this._rigidBody.allowSleep),this.setLinearDamping(this._rigidBody.linearDamping),this.setAngularDamping(this._rigidBody.angularDamping),this.setLinearFactor(this._rigidBody.linearFactor),this.setAngularFactor(this._rigidBody.angularFactor),this.useGravity(this._rigidBody.useGravity),this._sharedBody.bodyEnabled=!0},t.onDisable=function(){this._isEnabled=!1,this._sharedBody.bodyEnabled=!1},t.onDestroy=function(){this._sharedBody.reference=!1,this._rigidBody=null,this._sharedBody=null},t.wakeUp=function(t){void 0===t&&(t=!0),this.impl.activate(t)},t.sleep=function(){return this.impl.wantsSleeping()},t.setSleepThreshold=function(t){this._wakeUpIfSleep(),this.impl.setSleepingThresholds(t,t)},t.getSleepThreshold=function(){return this.impl.getLinearSleepingThreshold()},t.getLinearVelocity=function(t){return yW(t,this.impl.getLinearVelocity())},t.setLinearVelocity=function(t){this._wakeUpIfSleep(),mW(this.impl.getLinearVelocity(),t)},t.getAngularVelocity=function(t){return yW(t,this.impl.getAngularVelocity())},t.setAngularVelocity=function(t){this._wakeUpIfSleep(),mW(this.impl.getAngularVelocity(),t)},t.applyLocalForce=function(t,e){this._sharedBody.syncSceneToPhysics(),this._wakeUpIfSleep();var i=this._sharedBody.node.worldRotation,r=ii.transformQuat(NZ,t,i),n=e?ii.transformQuat(GZ,e,i):ii.ZERO;this.impl.applyForce(mW(FZ.instance.VECTOR3_0,r),mW(FZ.instance.VECTOR3_1,n))},t.applyLocalTorque=function(t){this._sharedBody.syncSceneToPhysics(),this._wakeUpIfSleep(),ii.transformQuat(NZ,t,this._sharedBody.node.worldRotation),this.impl.applyTorque(mW(FZ.instance.VECTOR3_0,NZ))},t.applyLocalImpulse=function(t,e){this._sharedBody.syncSceneToPhysics(),this._wakeUpIfSleep();var i=this._sharedBody.node.worldRotation,r=ii.transformQuat(NZ,t,i),n=e?ii.transformQuat(GZ,e,i):ii.ZERO;this.impl.applyImpulse(mW(FZ.instance.VECTOR3_0,r),mW(FZ.instance.VECTOR3_1,n))},t.applyForce=function(t,e){this._sharedBody.syncSceneToPhysics(),this._wakeUpIfSleep();var i=e||ii.ZERO;this.impl.applyForce(mW(FZ.instance.VECTOR3_0,t),mW(FZ.instance.VECTOR3_1,i))},t.applyTorque=function(t){this._sharedBody.syncSceneToPhysics(),this._wakeUpIfSleep(),this.impl.applyTorque(mW(FZ.instance.VECTOR3_0,t))},t.applyImpulse=function(t,e){this._sharedBody.syncSceneToPhysics(),this._wakeUpIfSleep();var i=e||ii.ZERO;this.impl.applyImpulse(mW(FZ.instance.VECTOR3_0,t),mW(FZ.instance.VECTOR3_1,i))},t.getGroup=function(){return this._sharedBody.collisionFilterGroup},t.setGroup=function(t){this._sharedBody.collisionFilterGroup=t},t.addGroup=function(t){this._sharedBody.collisionFilterGroup|=t},t.removeGroup=function(t){this._sharedBody.collisionFilterGroup&=~t},t.getMask=function(){return this._sharedBody.collisionFilterMask},t.setMask=function(t){this._sharedBody.collisionFilterMask=t},t.addMask=function(t){this._sharedBody.collisionFilterMask|=t},t.removeMask=function(t){this._sharedBody.collisionFilterMask&=~t},t._wakeUpIfSleep=function(){this.isAwake||this.impl.activate(!0)},Pe(e,[{key:"isAwake",get:function(){var t=this.impl.getActivationState();return t===wZ.ACTIVE_TAG||t===wZ.DISABLE_DEACTIVATION}},{key:"isSleepy",get:function(){return this.impl.getActivationState()===wZ.WANTS_DEACTIVATION}},{key:"isSleeping",get:function(){return this.impl.getActivationState()===wZ.ISLAND_SLEEPING}},{key:"isEnabled",get:function(){return this._isEnabled}},{key:"impl",get:function(){return this._sharedBody.body}},{key:"rigidBody",get:function(){return this._rigidBody}},{key:"sharedBody",get:function(){return this._sharedBody}}]),e}();zZ.idCounter=0;var UZ=function(){function t(){}return Pe(t,null,[{key:"bodyStructs",get:function(){return this.bodyAndGhosts}},{key:"ghostStructs",get:function(){return this.bodyAndGhosts}}]),t}();UZ.bodyAndGhosts={};var HZ=LZ,jZ=kZ,WZ=0,XZ=function(){function t(e,i){this.id=void 0,this.node=void 0,this.wrappedWorld=void 0,this.wrappedJoints0=[],this.wrappedJoints1=[],this.dirty=0,this._collisionFilterGroup=RX.PhysicsGroup.DEFAULT,this._collisionFilterMask=-1,this.ref=0,this.bodyIndex=-1,this.ghostIndex=-1,this._wrappedBody=null,this.id=t.idCounter++,this.wrappedWorld=i,this.node=e}t.getSharedBody=function(e,i,r){var n,s=e.uuid;if(t.sharedBodesMap.has(s))n=t.sharedBodesMap.get(s);else{n=new t(e,i);var a=pW.DEFAULT,o=RX.instance.collisionMatrix[a];n._collisionFilterGroup=a,n._collisionFilterMask=o,t.sharedBodesMap.set(e.uuid,n)}if(r){n._wrappedBody=r;var l=r.rigidBody._group,h=RX.instance.collisionMatrix[l];n._collisionFilterGroup=l,n._collisionFilterMask=h}return n};var e=t.prototype;return e._instantiateBodyStruct=function(){if(!this._bodyStruct){var t=new jn.btTransform;t.setIdentity(),mW(t.getOrigin(),this.node.worldPosition);var e=new jn.btQuaternion;gW(e,this.node.worldRotation),t.setRotation(e);var i=new jn.btDefaultMotionState(t),r=new jn.btVector3(1.6666666269302368,1.6666666269302368,1.6666666269302368),n=new jn.btCompoundShape,s=0;this._wrappedBody&&this._wrappedBody.rigidBody.enabled&&this._wrappedBody.rigidBody.isDynamic&&(s=this._wrappedBody.rigidBody.mass),0===s&&r.setValue(0,0,0);var a=new jn.btRigidBodyConstructionInfo(s,i,FZ.instance.EMPTY_SHAPE,r),o=new jn.btRigidBody(a),l=RX.instance.sleepThreshold;o.setSleepingThresholds(l,l),this._bodyStruct={id:WZ++,body:o,localInertia:r,motionState:i,startTransform:t,shape:n,rbInfo:a,worldQuat:e,wrappedShapes:[],useCompound:!1},UZ.bodyStructs["KEY"+this._bodyStruct.id]=this._bodyStruct,this.body.setUserIndex2(2),this.body.setUserIndex(this._bodyStruct.id),0===s&&this.body.setActivationState(wZ.DISABLE_DEACTIVATION),jn.CC_CONFIG.ignoreSelfBody&&this._ghostStruct&&this.ghost.setIgnoreCollisionCheck(this.body,!0)}},e._instantiateGhostStruct=function(){if(!this._ghostStruct){var t=new jn.btCollisionObject,e=new jn.btCompoundShape;t.setCollisionShape(e),t.setCollisionFlags(xZ.CF_STATIC_OBJECT|xZ.CF_NO_CONTACT_RESPONSE),this._ghostStruct={id:WZ++,ghost:t,shape:e,worldQuat:new jn.btQuaternion,wrappedShapes:[]},UZ.ghostStructs["KEY"+this._ghostStruct.id]=this._ghostStruct,this.ghost.setUserIndex2(2),this.ghost.setUserIndex(this._ghostStruct.id),this.ghost.setActivationState(wZ.DISABLE_DEACTIVATION),jn.CC_CONFIG.ignoreSelfBody&&this._bodyStruct&&this.ghost.setIgnoreCollisionCheck(this.body,!0)}},e.addShape=function(t,e){function i(t,e){t.body.setCollisionShape(e),t.dirty|=CZ.BODY_RE_ADD,t._wrappedBody&&t._wrappedBody.isEnabled&&t._wrappedBody.setMass(t._wrappedBody.rigidBody.mass)}if(e)this.ghostStruct.wrappedShapes.indexOf(t)<0&&(this.ghostStruct.wrappedShapes.push(t),t.setCompound(this.ghostCompoundShape),this.ghostEnabled=!0);else if(this.bodyStruct.wrappedShapes.indexOf(t)<0){if(this.bodyStruct.wrappedShapes.push(t),this.bodyStruct.useCompound)t.setCompound(this.bodyCompoundShape);else{var r=this.bodyStruct.wrappedShapes.length;if(1!==r||t.needCompound()){this.bodyStruct.useCompound=!0;for(var n=0;n=0&&(Zn(this.ghostStruct.wrappedShapes,i),t.setCompound(null),this.ghostEnabled=!1)}else{var r=this.bodyStruct.wrappedShapes.indexOf(t);r>=0&&(this.bodyStruct.useCompound?t.setCompound(null):this.body.setCollisionShape(FZ.instance.EMPTY_SHAPE),this.body.activate(!0),this.dirty|=CZ.BODY_RE_ADD,Zn(this.bodyStruct.wrappedShapes,r),this.bodyEnabled=!1)}},e.addJoint=function(t,e){e?this.wrappedJoints1.indexOf(t)<0&&this.wrappedJoints1.push(t):this.wrappedJoints0.indexOf(t)<0&&this.wrappedJoints0.push(t)},e.removeJoint=function(t,e){if(e){var i=this.wrappedJoints1.indexOf(t);i>=0&&Zn(this.wrappedJoints1,i)}else{var r=this.wrappedJoints0.indexOf(t);r>=0&&Zn(this.wrappedJoints0,r)}},e.updateDirty=function(){this.dirty&&(this.bodyIndex>=0&&this.dirty&CZ.BODY_RE_ADD&&this.updateBodyByReAdd(),this.ghostIndex>=0&&this.dirty&CZ.GHOST_RE_ADD&&this.updateGhostByReAdd(),this.dirty=0)},e.syncSceneToPhysics=function(){if(this.node.hasChangedFlags){var t=this.body.getWorldTransform();if(mW(t.getOrigin(),this.node.worldPosition),gW(this.bodyStruct.worldQuat,this.node.worldRotation),t.setRotation(this.bodyStruct.worldQuat),this.node.hasChangedFlags&Ai.SCALE&&this.syncBodyScale(),this.body.isKinematicObject()){var e=this.body.getMotionState();e&&e.setWorldTransform(t)}else this.isBodySleeping()&&this.body.activate()}},e.syncPhysicsToScene=function(){if(!this.body.isStaticOrKinematicObject()&&!this.isBodySleeping()){var t=this.bodyStruct.startTransform;this.body.getMotionState().getWorldTransform(t),this.node.worldPosition=yW(HZ,t.getOrigin()),t.getBasis().getRotation(this.bodyStruct.worldQuat),this.node.worldRotation=vW(jZ,this.bodyStruct.worldQuat);var e=this.ghost.getWorldTransform();mW(e.getOrigin(),this.node.worldPosition),gW(this.ghostStruct.worldQuat,this.node.worldRotation),e.setRotation(this.ghostStruct.worldQuat)}},e.syncSceneToGhost=function(){if(this.node.hasChangedFlags){var t=this.ghost.getWorldTransform();mW(t.getOrigin(),this.node.worldPosition),gW(this.ghostStruct.worldQuat,this.node.worldRotation),t.setRotation(this.ghostStruct.worldQuat),this.node.hasChangedFlags&Ai.SCALE&&this.syncGhostScale(),this.ghost.activate()}},e.syncInitialBody=function(){var t=this.body.getWorldTransform();mW(t.getOrigin(),this.node.worldPosition),gW(this.bodyStruct.worldQuat,this.node.worldRotation),t.setRotation(this.bodyStruct.worldQuat),this.syncBodyScale(),this.body.activate()},e.syncInitialGhost=function(){var t=this.ghost.getWorldTransform();mW(t.getOrigin(),this.node.worldPosition),gW(this.ghostStruct.worldQuat,this.node.worldRotation),t.setRotation(this.ghostStruct.worldQuat),this.syncGhostScale(),this.ghost.activate()},e.syncBodyScale=function(){for(var t=0;t=0&&(this.wrappedWorld.removeSharedBody(this),this.bodyIndex=this.wrappedWorld.bodies.length,this.wrappedWorld.addSharedBody(this))},e.updateGhostByReAdd=function(){this.ghostIndex>=0&&(this.wrappedWorld.removeGhostObject(this),this.ghostIndex=this.wrappedWorld.ghosts.length,this.wrappedWorld.addGhostObject(this))},e.destroy=function(){if(t.sharedBodesMap.delete(this.node.uuid),this.node=null,this.wrappedWorld=null,this._bodyStruct){var e=this._bodyStruct;jn.destroy(e.localInertia),jn.destroy(e.worldQuat),jn.destroy(e.startTransform),jn.destroy(e.motionState),jn.destroy(e.rbInfo),jn.destroy(e.shape),bW(e.shape,jn.btCollisionShape),jn.castObject(e.body,jn.btRigidBody).wrapped=null,bW(e.body,jn.btRigidBody),bW(e.body,jn.btCollisionObject);var i="KEY"+e.id;delete UZ.bodyStructs[i],this._bodyStruct=null}if(this._ghostStruct){var r=this._ghostStruct;jn.destroy(r.worldQuat),jn.destroy(r.shape),bW(r.shape,jn.btCollisionShape),jn.destroy(r.ghost);var n="KEY"+r.id;delete UZ.bodyStructs[n],this._ghostStruct=null}},e.isBodySleeping=function(){return this.body.getActivationState()===wZ.ISLAND_SLEEPING},Pe(t,[{key:"wrappedBody",get:function(){return this._wrappedBody}},{key:"bodyCompoundShape",get:function(){return this.bodyStruct.shape}},{key:"ghostCompoundShape",get:function(){return this.ghostStruct.shape}},{key:"body",get:function(){return this.bodyStruct.body}},{key:"ghost",get:function(){return this.ghostStruct.ghost}},{key:"collisionFilterGroup",get:function(){return this._collisionFilterGroup},set:function(t){t!==this._collisionFilterGroup&&(this._collisionFilterGroup=t,this.dirty|=CZ.BODY_RE_ADD,this.dirty|=CZ.GHOST_RE_ADD)}},{key:"collisionFilterMask",get:function(){return this._collisionFilterMask},set:function(t){t!==this._collisionFilterMask&&(this._collisionFilterMask=t,this.dirty|=CZ.BODY_RE_ADD,this.dirty|=CZ.GHOST_RE_ADD)}},{key:"bodyStruct",get:function(){return this._instantiateBodyStruct(),this._bodyStruct}},{key:"ghostStruct",get:function(){return this._instantiateGhostStruct(),this._ghostStruct}},{key:"bodyEnabled",set:function(t){t?this.bodyIndex<0&&(this.bodyIndex=this.wrappedWorld.bodies.length,this.body.clearState(),this.wrappedWorld.addSharedBody(this),this.syncInitialBody()):this.bodyIndex>=0&&(0===this.bodyStruct.wrappedShapes.length&&null==this.wrappedBody||0===this.bodyStruct.wrappedShapes.length&&null!=this.wrappedBody&&!this.wrappedBody.isEnabled||0===this.bodyStruct.wrappedShapes.length&&null!=this.wrappedBody&&!this.wrappedBody.rigidBody.enabledInHierarchy)&&(this.body.clearState(),this.bodyIndex=-1,this.wrappedWorld.removeSharedBody(this))}},{key:"ghostEnabled",set:function(t){t?this.ghostIndex<0&&this.ghostStruct.wrappedShapes.length>0&&(this.ghostIndex=1,this.wrappedWorld.addGhostObject(this),this.syncInitialGhost()):this.ghostIndex>=0&&0===this.ghostStruct.wrappedShapes.length&&this.ghost&&(this.ghostIndex=-1,this.wrappedWorld.removeGhostObject(this))}},{key:"reference",set:function(t){t?this.ref++:this.ref--,0===this.ref&&this.destroy()}}]),t}();XZ.idCounter=0,XZ.sharedBodesMap=new Map;var YZ=function(){function t(){this.matrix=[]}var e=t.prototype;return e.get=function(t,e){if(e>t){var i=e;e=t,t=i}return this.matrix[(t*(t+1)>>1)+e-1]},e.set=function(t,e,i){if(e>t){var r=e;e=t,t=r}this.matrix[(t*(t+1)>>1)+e-1]=i?1:0},e.reset=function(){this.matrix.length=0},e.setNumObjects=function(t){this.matrix.length=t*(t-1)>>1},t}(),qZ=function(){function t(){this.data=void 0,this.data={keys:[]}}var e=t.prototype;return e.get=function(t,e){if(t>e){var i=e;e=t,t=i}return this.data[t+"-"+e]},e.set=function(t,e,i){if(t>e){var r=e;e=t,t=r}var n=t+"-"+e;if(null==i){var s=this.data.keys.indexOf(n);if(-1!==s)return this.data.keys.splice(s,1),delete this.data[n],i}return this.get(t,e)||this.data.keys.push(n),this.data[n]=i,this.data[n]},e.reset=function(){this.data={keys:[]}},e.getLength=function(){return this.data.keys.length},e.getKeyByIndex=function(t){return this.data.keys[t]},e.getDataByKey=function(t){return this.data[t]},t}(),JZ=function(){function t(t){this.impl=null,this.event=void 0,this.event=t}var e=t.prototype;return e.getLocalPointOnA=function(t){this.impl&&yW(t,this.impl.m_localPointA)},e.getLocalPointOnB=function(t){this.impl&&yW(t,this.impl.m_localPointB)},e.getWorldPointOnA=function(t){this.impl&&yW(t,this.impl.m_positionWorldOnA)},e.getWorldPointOnB=function(t){this.impl&&yW(t,this.impl.m_positionWorldOnB)},e.getLocalNormalOnA=function(t){if(this.impl){yW(t,this.impl.m_normalWorldOnB),this.isBodyA||ii.negate(t,t);var e=kZ,i=FZ.instance.QUAT_0;this.event.impl.getBody0().getWorldTransform().getBasis().getRotation(i),vW(e,i),si.conjugate(e,e),ii.transformQuat(t,t,e)}},e.getLocalNormalOnB=function(t){if(this.impl){var e=kZ,i=FZ.instance.QUAT_0;this.event.impl.getBody1().getWorldTransform().getBasis().getRotation(i),vW(e,i),si.conjugate(e,e),yW(t,this.impl.m_normalWorldOnB),ii.transformQuat(t,t,e)}},e.getWorldNormalOnA=function(t){this.impl&&(yW(t,this.impl.m_normalWorldOnB),this.isBodyA||ii.negate(t,t))},e.getWorldNormalOnB=function(t){this.impl&&yW(t,this.impl.m_normalWorldOnB)},Pe(t,[{key:"isBodyA",get:function(){var t=this.event.selfCollider.shape.sharedBody.body,e=this.event.impl.getBody0();return Ammo.compare(e,t)}}]),t}(),KZ=[],ZZ=LZ,QZ=VZ,$Z=function(){var t=e.prototype;function e(){this._btWorld=void 0,this._btBroadphase=void 0,this._btSolver=void 0,this._btDispatcher=void 0,this._btCollisionConfiguration=void 0,this.bodies=[],this.ghosts=[],this.constraints=[],this.triggerArrayMat=new YZ,this.collisionArrayMat=new YZ,this.contactsDic=new qZ,this.oldContactsDic=new qZ,this._btCollisionConfiguration=new jn.btDefaultCollisionConfiguration,this._btDispatcher=new jn.btCollisionDispatcher(this._btCollisionConfiguration),this._btBroadphase=new jn.btDbvtBroadphase,this._btSolver=new jn.btSequentialImpulseConstraintSolver,this._btWorld=new jn.btDiscreteDynamicsWorld(this._btDispatcher,this._btBroadphase,this._btSolver,this._btCollisionConfiguration),this._btWorld.getPairCache().setOverlapFilterCallback(new jn.ccOverlapFilterCallback);var t=FZ.instance.VECTOR3_0;t.setValue(0,-10,0),this._btWorld.setGravity(t),e.closeHitCB||(e.closeHitCB=new jn.ClosestRayResultCallback(t,t)),e.allHitsCB||(e.allHitsCB=new jn.AllHitsRayResultCallback(t,t)),e.closeHitCB.setUseCC(!0),e.allHitsCB.setUseCC(!0)}return t.setAllowSleep=function(){},t.setDefaultMaterial=function(){},t.setGravity=function(t){var e=FZ.instance.VECTOR3_0;mW(e,t),this._btWorld.setGravity(e)},t.destroy=function(){(this.constraints.length||this.bodies.length)&&Ie("You should destroy all physics component first."),jn.destroy(this._btWorld),jn.destroy(this._btSolver),jn.destroy(this._btBroadphase),jn.destroy(this._btDispatcher),jn.destroy(this._btCollisionConfiguration),this._btCollisionConfiguration=null,this._btDispatcher=null,this._btBroadphase=null,this._btSolver=null,this._btWorld=null,this.bodies=null,this.ghosts=null,this.constraints=null,this.triggerArrayMat=null,this.collisionArrayMat=null,this.contactsDic=null,this.oldContactsDic=null,KZ.length=0},t.step=function(t,e,i){if(void 0===i&&(i=0),0!==this.bodies.length||0!==this.ghosts.length){void 0===e&&(e=t),this._btWorld.stepSimulation(e,i,t);for(var r=0;r=0&&(Zn(this.bodies,e),this._btWorld.removeRigidBody(t.body))},t.addGhostObject=function(t){this.ghosts.indexOf(t)<0&&(this.ghosts.push(t),this._btWorld.addCollisionObject(t.ghost,t.collisionFilterGroup,t.collisionFilterMask))},t.removeGhostObject=function(t){var e=this.ghosts.indexOf(t);e>=0&&(Zn(this.ghosts,e),this._btWorld.removeCollisionObject(t.ghost))},t.addConstraint=function(t){var e=this.constraints.indexOf(t);e<0&&(this.constraints.push(t),this._btWorld.addConstraint(t.impl,!t.constraint.enableCollision),t.index=e)},t.removeConstraint=function(t){var e=this.constraints.indexOf(t);e>=0&&(this.constraints.splice(e,1),this._btWorld.removeConstraint(t.impl),t.index=-1)},t.emitEvents=function(){for(var t=this._btDispatcher.getNumManifolds(),e=0;e0){var x=KZ.pop();x.impl=C,OZ.contacts.push(x)}else{var T=new JZ(OZ);T.impl=C,OZ.contacts.push(T)}}OZ.impl=d.impl,OZ.selfCollider=g,OZ.otherCollider=v,g.emit(OZ.type,OZ),OZ.selfCollider=v,OZ.otherCollider=g,v.emit(OZ.type,OZ)}null==this.oldContactsDic.get(m.id,y.id)&&this.oldContactsDic.set(m.id,y.id,d)}}for(var w=this.oldContactsDic.getLength();w--;){var E=this.oldContactsDic.getKeyByIndex(w),B=this.oldContactsDic.getDataByKey(E),D=B.shape0,M=B.shape1,P=D.collider,R=M.collider;if(P&&R){var I=P.isTrigger||R.isTrigger;null==this.contactsDic.getDataByKey(E)&&(I?this.triggerArrayMat.get(D.id,M.id)&&(IZ.type="onTriggerExit",IZ.selfCollider=P,IZ.otherCollider=R,P.emit(IZ.type,IZ),IZ.selfCollider=R,IZ.otherCollider=P,R.emit(IZ.type,IZ),this.triggerArrayMat.set(D.id,M.id,!1),this.oldContactsDic.set(D.id,M.id,null)):this.collisionArrayMat.get(D.id,M.id)&&(KZ.push.apply(KZ,OZ.contacts),OZ.contacts.length=0,OZ.type="onCollisionExit",OZ.selfCollider=P,OZ.otherCollider=R,P.emit(OZ.type,OZ),OZ.selfCollider=R,OZ.otherCollider=P,R.emit(OZ.type,OZ),this.collisionArrayMat.set(D.id,M.id,!1),this.oldContactsDic.set(D.id,M.id,null)))}}this.contactsDic.reset()},Pe(e,[{key:"impl",get:function(){return this._btWorld}}]),e}();$Z.closeHitCB=void 0,$Z.allHitsCB=void 0;var tQ=LZ,eQ=function(){var t=e.prototype;function e(t){this.id=void 0,this.type=void 0,this._index=-1,this._isEnabled=!1,this._isBinding=!1,this._isTrigger=!1,this._btCompound=null,this.transform=void 0,this.quat=void 0,this.scale=void 0,this.type=t,this.id=e.idCounter++,this.quat=new jn.btQuaternion,this.transform=new jn.btTransform,this.transform.setIdentity(),this.scale=new jn.btVector3(1,1,1)}return t.updateEventListener=function(){},t.setMaterial=function(t){!this._isTrigger&&this._isEnabled&&t&&(this._btCompound?this._btCompound.setMaterial(this._index,t.friction,t.restitution,t.rollingFriction,t.spinningFriction,2):(this._sharedBody.body.setFriction(t.friction),this._sharedBody.body.setRestitution(t.restitution),this._sharedBody.body.setRollingFriction(t.rollingFriction),this._sharedBody.body.setSpinningFriction(t.spinningFriction),this._sharedBody.body.setUserIndex2(2)))},t.setCenter=function(t){ii.copy(tQ,t),tQ.multiply(this._collider.node.worldScale),mW(this.transform.getOrigin(),tQ),this.updateCompoundTransform()},t.setAsTrigger=function(t){this._isTrigger!==t&&(this._isEnabled&&(this._sharedBody.removeShape(this,!t),this._sharedBody.addShape(this,t)),this._isTrigger=t)},t.getAABB=function(t){var e=FZ.instance.TRANSFORM;e.setIdentity(),e.setRotation(gW(FZ.instance.QUAT_0,this._collider.node.worldRotation));var i=FZ.instance.VECTOR3_0,r=FZ.instance.VECTOR3_1;this._btShape.getAabb(e,i,r),t.halfExtents.set((r.x()-i.x())/2,(r.y()-i.y())/2,(r.z()-i.z())/2),ii.add(t.center,this._collider.node.worldPosition,this._collider.center)},t.getBoundingSphere=function(t){t.radius=this._btShape.getLocalBoundingSphere(),ii.add(t.center,this._collider.node.worldPosition,this._collider.center)},t.initialize=function(t){this._collider=t,this._isBinding=!0,this._sharedBody=RX.instance.physicsWorld.getSharedBody(this._collider.node),this._sharedBody.reference=!0,this.onComponentSet(),this.setWrapper()},t.onComponentSet=function(){},t.onLoad=function(){this.setCenter(this._collider.center),this.setAsTrigger(this._collider.isTrigger)},t.onEnable=function(){this._isEnabled=!0,this._sharedBody.addShape(this,this._isTrigger),this.setMaterial(this.collider.sharedMaterial)},t.onDisable=function(){this._isEnabled=!1,this._sharedBody.removeShape(this,this._isTrigger)},t.onDestroy=function(){this._sharedBody.reference=!1,this._btCompound=null,this._collider=null,jn.castObject(this._btShape,jn.btCollisionShape).wrapped=null,jn.destroy(this.quat),jn.destroy(this.scale),jn.destroy(this.transform),this._btShape!==FZ.instance.EMPTY_SHAPE&&(jn.destroy(this._btShape),bW(this._btShape,jn.btCollisionShape)),this._btShape=null,this.transform=null,this.quat=null,this.scale=null},t.updateByReAdd=function(){this._isEnabled&&(this._sharedBody.removeShape(this,this._isTrigger),this._sharedBody.addShape(this,this._isTrigger))},t.getGroup=function(){return this._sharedBody.collisionFilterGroup},t.setGroup=function(t){this._sharedBody.collisionFilterGroup=t},t.addGroup=function(t){this._sharedBody.collisionFilterGroup|=t},t.removeGroup=function(t){this._sharedBody.collisionFilterGroup&=~t},t.getMask=function(){return this._sharedBody.collisionFilterMask},t.setMask=function(t){this._sharedBody.collisionFilterMask=t},t.addMask=function(t){this._sharedBody.collisionFilterMask|=t},t.removeMask=function(t){this._sharedBody.collisionFilterMask&=~t},t.setCompound=function(t){this._btCompound&&(this._btCompound.removeChildShape(this._btShape),this._index=-1),t&&(this._index=t.getNumChildShapes(),t.addChildShape(this.transform,this._btShape)),this._btCompound=t},t.setWrapper=function(){jn.castObject(this._btShape,jn.btCollisionShape).wrapped=this},t.setScale=function(){this.setCenter(this._collider.center)},t.updateCompoundTransform=function(){this._btCompound?this._btCompound.updateChildTransform(this.index,this.transform,!0):this._isEnabled&&!this._isTrigger&&this._sharedBody&&!this._sharedBody.bodyStruct.useCompound&&(this._sharedBody.dirty|=CZ.BODY_RE_ADD)},t.needCompound=function(){return this.type===DZ.TERRAIN_SHAPE_PROXYTYPE||!this._collider.center.equals(ii.ZERO)},t.debugTransform=function(t){var i;null==e._debugTransform&&(e._debugTransform=new jn.btTransform),i=this._isTrigger?this._sharedBody.ghost.getWorldTransform():this._sharedBody.body.getWorldTransform();var r=this.transform;e._debugTransform.setIdentity(),e._debugTransform.op_mul(i).op_mul(r);var n=e._debugTransform.getOrigin();t.worldPosition=new ii(n.x(),n.y(),n.z());var s=e._debugTransform.getRotation();t.worldRotation=new si(s.x(),s.y(),s.z(),s.w());var a=this.impl.getLocalScaling();t.scale=new ii(a.x(),a.y(),a.z())},Pe(e,[{key:"attachedRigidBody",get:function(){return this._sharedBody.wrappedBody?this._sharedBody.wrappedBody.rigidBody:null}},{key:"impl",get:function(){return this._btShape}},{key:"collider",get:function(){return this._collider}},{key:"sharedBody",get:function(){return this._sharedBody}},{key:"index",get:function(){return this._index}}]),e}();eQ.idCounter=0,eQ._debugTransform=void 0;var iQ,rQ,nQ=function(t){Me(i,t);var e=i.prototype;function i(){return t.call(this,DZ.BOX_SHAPE_PROXYTYPE)||this}return e.setSize=function(t){var e=LZ;ii.multiplyScalar(e,t,.5);var i=FZ.instance.VECTOR3_0;mW(i,e),this.impl.setUnscaledHalfExtents(i),this.updateCompoundTransform()},e.onComponentSet=function(){var t=this.collider.size,e=FZ.instance.VECTOR3_0;e.setValue(t.x/2,t.y/2,t.z/2),this._btShape=new jn.btBoxShape(e),this.setScale()},e.setScale=function(){t.prototype.setScale.call(this),mW(this.scale,this._collider.node.worldScale),this._btShape.setLocalScaling(this.scale),this.updateCompoundTransform()},Pe(i,[{key:"impl",get:function(){return this._btShape}},{key:"collider",get:function(){return this._collider}}]),i}(eQ),sQ=function(t){Me(i,t);var e=i.prototype;function i(){return t.call(this,DZ.SPHERE_SHAPE_PROXYTYPE)||this}return e.setRadius=function(t){this.impl.setUnscaledRadius(t),this.updateCompoundTransform()},e.onComponentSet=function(){this._btShape=new jn.btSphereShape(this.collider.radius),this.setScale()},e.setScale=function(){t.prototype.setScale.call(this);var e=LZ,i=this._collider.node.worldScale,r=Math.abs(i.x),n=Math.abs(i.y),s=Math.abs(i.z),a=Math.max(Math.max(r,n),s);e.set(a,a,a),mW(this.scale,e),this._btShape.setLocalScaling(this.scale),this.updateCompoundTransform()},Pe(i,[{key:"impl",get:function(){return this._btShape}},{key:"collider",get:function(){return this._collider}}]),i}(eQ),aQ=function(t){Me(i,t);var e=i.prototype;function i(){return t.call(this,DZ.CAPSULE_SHAPE_PROXYTYPE)||this}return e.setCylinderHeight=function(){this.updateProperties(this.collider.radius,this.collider.cylinderHeight,this.collider.direction,this._collider.node.worldScale)},e.setDirection=function(){this.updateProperties(this.collider.radius,this.collider.cylinderHeight,this.collider.direction,this._collider.node.worldScale)},e.setRadius=function(){this.updateProperties(this.collider.radius,this.collider.cylinderHeight,this.collider.direction,this._collider.node.worldScale)},e.onComponentSet=function(){this._btShape=new jn.btCapsuleShape(.5,1),this.setRadius(this.collider.radius)},e.setScale=function(){t.prototype.setScale.call(this),this.setRadius(this.collider.radius)},e.updateProperties=function(t,e,i,r){var n=r,s=i;if(1===s){var a=t*Math.abs(Kn(n.x,n.z)),o=e/2*Math.abs(n.y);this.impl.updateProp(a,o,s)}else if(0===s){var l=t*Math.abs(Kn(n.y,n.z)),h=e/2*Math.abs(n.x);this.impl.updateProp(l,h,s)}else{var u=t*Math.abs(Kn(n.x,n.y)),c=e/2*Math.abs(n.z);this.impl.updateProp(u,c,s)}this.updateCompoundTransform()},Pe(i,[{key:"impl",get:function(){return this._btShape}},{key:"collider",get:function(){return this._collider}}]),i}(eQ),oQ=function(t){Me(i,t);var e=i.prototype;function i(){var e;return(e=t.call(this,DZ.TRIANGLE_MESH_SHAPE_PROXYTYPE)||this).refBtTriangleMesh=null,e}return e.setMesh=function(t){if(this._isBinding)if(null!=this._btShape&&this._btShape!==FZ.instance.EMPTY_SHAPE)ze(9620);else{var e=t;if(e&&e.renderingSubMeshes.length>0){var i=this._getBtTriangleMesh(e);this.collider.convex?this._btShape=new jn.btConvexTriangleMeshShape(i,!0):this._btShape=new jn.btBvhTriangleMeshShape(i,!0,!0),mW(this.scale,this._collider.node.worldScale),this._btShape.setMargin(.01),this._btShape.setLocalScaling(this.scale),this.setWrapper(),this.setCompound(this._btCompound),this.updateByReAdd()}else this._btShape=FZ.instance.EMPTY_SHAPE}},e.onComponentSet=function(){this.setMesh(this.collider.mesh)},e.onDestroy=function(){this.refBtTriangleMesh&&jn.destroy(this.refBtTriangleMesh),t.prototype.onDestroy.call(this)},e.setCompound=function(e){t.prototype.setCompound.call(this,e),this.impl.setUserIndex(this._index)},e.setScale=function(){t.prototype.setScale.call(this),mW(this.scale,this._collider.node.worldScale),this._btShape.setLocalScaling(this.scale),this.updateCompoundTransform()},e._getBtTriangleMesh=function(t){var e,i=jn.CC_CACHE;if(i.btTriangleMesh.enable){if(null==i.btTriangleMesh[t._uuid]){var r=new jn.btTriangleMesh;i.btTriangleMesh[t._uuid]=r,SW(r,t)}e=i.btTriangleMesh[t._uuid]}else this.refBtTriangleMesh=e=new jn.btTriangleMesh,SW(e,t);return e},Pe(i,[{key:"collider",get:function(){return this._collider}},{key:"impl",get:function(){return this._btShape}}]),i}(eQ),lQ=function(t){Me(i,t);var e=i.prototype;function i(){return t.call(this,DZ.CYLINDER_SHAPE_PROXYTYPE)||this}return e.setHeight=function(){this.updateProperties(this.collider.radius,this.collider.height,this.collider.direction,this._collider.node.worldScale)},e.setDirection=function(){this.updateProperties(this.collider.radius,this.collider.height,this.collider.direction,this._collider.node.worldScale)},e.setRadius=function(){this.updateProperties(this.collider.radius,this.collider.height,this.collider.direction,this._collider.node.worldScale)},e.onComponentSet=function(){var t=FZ.instance.VECTOR3_0;t.setValue(.5,1,.5),this._btShape=new jn.btCylinderShape(t),this.setRadius(this.collider.radius)},e.setScale=function(){t.prototype.setScale.call(this),this.setRadius(this.collider.radius)},e.updateProperties=function(t,e,i,r){var n=r,s=i;if(1===s){var a=e*Math.abs(n.y),o=t*Math.abs(Kn(n.x,n.z)),l=a/2;this.impl.updateProp(o,l,s)}else if(0===s){var h=e*Math.abs(n.x),u=t*Math.abs(Kn(n.y,n.z)),c=h/2;this.impl.updateProp(u,c,s)}else{var _=e*Math.abs(n.z),f=t*Math.abs(Kn(n.x,n.y)),p=_/2;this.impl.updateProp(f,p,s)}this.updateCompoundTransform()},Pe(i,[{key:"impl",get:function(){return this._btShape}},{key:"collider",get:function(){return this._collider}}]),i}(eQ),hQ=function(t){Me(i,t);var e=i.prototype;function i(){return t.call(this,DZ.CONE_SHAPE_PROXYTYPE)||this}return e.setHeight=function(){this.updateProperties(this.collider.radius,this.collider.height,this.collider.direction,this._collider.node.worldScale)},e.setDirection=function(){this.updateProperties(this.collider.radius,this.collider.height,this.collider.direction,this._collider.node.worldScale)},e.setRadius=function(){this.updateProperties(this.collider.radius,this.collider.height,this.collider.direction,this._collider.node.worldScale)},e.onComponentSet=function(){this._btShape=new jn.btConeShape(.5,1),this.setRadius(this.collider.radius)},e.setScale=function(){t.prototype.setScale.call(this),this.setRadius(this.collider.radius)},e.updateProperties=function(t,e,i,r){var n=r,s=i;if(1===s){var a=e*Math.abs(n.y),o=t*Math.abs(Kn(n.x,n.z));this.impl.setRadius(o),this.impl.setHeight(a)}else if(0===s){var l=e*Math.abs(n.x),h=t*Math.abs(Kn(n.y,n.z));this.impl.setRadius(h),this.impl.setHeight(l)}else{var u=e*Math.abs(n.z),c=t*Math.abs(Kn(n.x,n.y));this.impl.setRadius(c),this.impl.setHeight(u)}this.impl.setConeUpIndex(s),this.scale.setValue(1,1,1),this.impl.setLocalScaling(this.scale),this.updateCompoundTransform()},Pe(i,[{key:"impl",get:function(){return this._btShape}},{key:"collider",get:function(){return this._collider}}]),i}(eQ),uQ=function(t){Me(i,t);var e=i.prototype;function i(){var e;return(e=t.call(this,DZ.TERRAIN_SHAPE_PROXYTYPE)||this)._terrainID=void 0,e._buffPtr=void 0,e._tileSize=void 0,e._localOffset=void 0,e._terrainID="",e._buffPtr=0,e._tileSize=0,e._localOffset=new ii,e}return e.setTerrain=function(t){if(this._isBinding)if(null!=this._btShape&&this._btShape!==FZ.instance.EMPTY_SHAPE)Ue("[Physics] Ammo change the terrain asset after initialization is not support.");else{var e=t;if(e){this._terrainID=e._uuid,this._tileSize=e.tileSize;var i=e.getVertexCountI(),r=e.getVertexCountJ();this._buffPtr=jn._malloc(4*i*r);for(var n=0,s=Number.MIN_VALUE,a=Number.MAX_VALUE,o=0;o>2]=h,s=sh?h:a,n+=4}s+=.1,a-=.1,this._localOffset.set((i-1)/2*this._tileSize,(s+a)/2,(r-1)/2*this._tileSize),this._btShape=new jn.btHeightfieldTerrainShape(i,r,this._buffPtr,1,a,s,1,"PHY_FLOAT",!1),this.scale.setValue(this._tileSize,1,this._tileSize),this._btShape.setLocalScaling(this.scale)}else this._btShape=FZ.instance.EMPTY_SHAPE}},e.onComponentSet=function(){this.setTerrain(this.collider.terrain)},e.onDestroy=function(){this._buffPtr&&jn._free(this._buffPtr),t.prototype.onDestroy.call(this)},e.setCompound=function(e){t.prototype.setCompound.call(this,e),this.impl.setUserIndex(this._index)},e.setCenter=function(t){ii.copy(LZ,t),LZ.add(this._localOffset),mW(this.transform.getOrigin(),LZ),this.updateCompoundTransform()},Pe(i,[{key:"collider",get:function(){return this._collider}},{key:"impl",get:function(){return this._btShape}}]),i}(eQ),cQ=function(t){Me(i,t);var e=i.prototype;function i(){var e;return(e=t.call(this,DZ.TETRAHEDRAL_SHAPE_PROXYTYPE)||this).VERTICES=[],e}return e.setShapeType=function(){this._isBinding},e.setVertices=function(t){for(var e=this.VERTICES.length,i=0;i=0){var t=this._rigidBody.body.sharedBody;t.wrappedWorld.removeConstraint(this),t.wrappedWorld.addConstraint(this)}},e.initialize=function(t){this._com=t,this._rigidBody=t.attachedBody,this._collided=t.enableCollision,this.onComponentSet()},e.onComponentSet=function(){},e.updateScale0=function(){},e.updateScale1=function(){},e.onEnable=function(){var t=this._rigidBody.body.sharedBody;t.wrappedWorld.addConstraint(this),t.addJoint(this,0);var e=this.constraint.connectedBody;e&&e.body.sharedBody.addJoint(this,1)},e.onDisable=function(){var t=this._rigidBody.body.sharedBody;t.wrappedWorld.removeConstraint(this),t.removeJoint(this,0);var e=this.constraint.connectedBody;e&&e.body.sharedBody.removeJoint(this,1)},e.onDestroy=function(){jn.destroy(this._impl),this._com=null,this._rigidBody=null,this._impl=null},Pe(t,[{key:"impl",get:function(){return this._impl}},{key:"constraint",get:function(){return this._com}}]),t}(),pQ=function(t){function e(){return t.apply(this,arguments)||this}Me(e,t);var i=e.prototype;return i.setPivotA=function(){var t=FZ.instance.VECTOR3_0,e=this.constraint;ii.multiply(LZ,e.node.worldScale,e.pivotA),mW(t,LZ),this.impl.setPivotA(t),e.connectedBody||this.setPivotB(e.pivotB)},i.setPivotB=function(){var t=this.constraint,e=this._rigidBody.node,i=FZ.instance.VECTOR3_0,r=t.connectedBody;r?(ii.multiply(LZ,r.node.worldScale,t.pivotB),mW(i,LZ)):(ii.multiply(LZ,e.worldScale,t.pivotA),ii.add(LZ,LZ,e.worldPosition),ii.add(LZ,LZ,t.pivotB),mW(i,LZ)),this.impl.setPivotB(i)},i.onComponentSet=function(){var t,e=this._rigidBody.body.impl,i=this.constraint.connectedBody;i&&(t=i.body.impl);var r=FZ.instance.VECTOR3_0;if(t){var n=FZ.instance.VECTOR3_1;this._impl=new jn.btPoint2PointConstraint(e,t,r,n)}else this._impl=new jn.btPoint2PointConstraint(e,r);this.setPivotA(this.constraint.pivotA),this.setPivotB(this.constraint.pivotB)},i.updateScale0=function(){this.setPivotA(this.constraint.pivotA)},i.updateScale1=function(){this.setPivotB(this.constraint.pivotB)},Pe(e,[{key:"impl",get:function(){return this._impl}},{key:"constraint",get:function(){return this._com}}]),e}(fQ),dQ=function(t){function e(){return t.apply(this,arguments)||this}Me(e,t);var i=e.prototype;return i.setPivotA=function(){this.updateFrames()},i.setPivotB=function(){this.updateFrames()},i.setAxis=function(){this.updateFrames()},i.onComponentSet=function(){var t=this._rigidBody.body.sharedBody,e=this.constraint.connectedBody,i=e?e.body.impl:t.wrappedWorld.impl.getFixedBody(),r=FZ.instance.TRANSFORM,n=FZ.instance.TRANSFORM_1;this._impl=new jn.btHingeConstraint(t.body,i,r,n),this.updateFrames()},i.updateFrames=function(){var t=this.constraint,e=t.node,i=LZ,r=kZ,n=FZ.instance.TRANSFORM;ii.multiply(i,e.worldScale,t.pivotA),mW(n.getOrigin(),i);var s=FZ.instance.QUAT_0;si.rotationTo(r,ii.UNIT_Z,t.axis),n.setRotation(gW(s,r));var a=FZ.instance.TRANSFORM_1,o=this.constraint.connectedBody;o?ii.multiply(i,o.node.worldScale,t.pivotB):(ii.multiply(i,e.worldScale,t.pivotA),ii.add(i,i,e.worldPosition),ii.add(i,i,t.pivotB),si.multiply(r,r,e.worldRotation)),mW(a.getOrigin(),i),a.setRotation(gW(s,r)),this.impl.setFrames(n,a)},i.updateScale0=function(){this.updateFrames()},i.updateScale1=function(){this.updateFrames()},Pe(e,[{key:"impl",get:function(){return this._impl}},{key:"constraint",get:function(){return this._com}}]),e}(fQ);dW.select("ammo.js",{PhysicsWorld:$Z,RigidBody:zZ,BoxShape:nQ,SphereShape:sQ,CapsuleShape:aQ,TrimeshShape:oQ,CylinderShape:lQ,ConeShape:hQ,TerrainShape:uQ,SimplexShape:cQ,PlaneShape:_Q,PointToPointConstraint:pQ,HingeConstraint:dQ}),window.Ammo=jn,jn.CC_CONFIG={ignoreSelfBody:!0},jn.CC_CACHE={btTriangleMesh:{enable:!1}};var mQ=Ss((function(t,e){!function(t){function e(t,e){return void 0!==t?t:e}var i=1e37,r=1e-5,n=r*r,s=3.14159265359,a=.1,o=.008,l=2/180*s,h=.016,u=.2,c=8/180*s,_=.5*s,f=2.4674011002726646,p=-1,d=.75,m=.25,y=256,g=.01,v=2/180*s;var b=function(){function t(t,e,i){void 0===t&&(t=0),void 0===e&&(e=0),void 0===i&&(i=0),this.major=0,this.minor=0,this.revision=0,this.major=t,this.minor=e,this.revision=i}return t.prototype.toString=function(){return this.major+"."+this.minor+"."+this.revision},t}(),S=new b(2,3,2);function A(t,e){for(var i=new Array(t),r=0;re?t:e}function M(t,e,i){return ti?i:t}var P=isFinite;function R(t){return t*t}function I(t){return 1/Math.sqrt(t)}var O=Math.sqrt,F=Math.pow;var L=Math.cos,V=Math.sin,k=Math.acos,N=Math.asin,G=Math.atan2;var z=function(){function t(){for(var t=arguments.length,e=new Array(t),i=0;i=r){var e=1/t;this.x*=e,this.y*=e}return t},e.SelfNormalize=function(){var t=this.Length();if(t>=r){var e=1/t;this.x*=e,this.y*=e}return this},e.SelfRotate=function(t){var e=Math.cos(t),i=Math.sin(t),r=this.x;return this.x=e*r-i*this.y,this.y=i*r+e*this.y,this},e.SelfRotateCosSin=function(t,e){var i=this.x;return this.x=t*i-e*this.y,this.y=e*i+t*this.y,this},e.IsValid=function(){return isFinite(this.x)&&isFinite(this.y)},e.SelfCrossVS=function(t){var e=this.x;return this.x=t*this.y,this.y=-t*e,this},e.SelfCrossSV=function(t){var e=this.x;return this.x=-t*this.y,this.y=t*e,this},e.SelfMinV=function(t){return this.x=B(this.x,t.x),this.y=B(this.y,t.y),this},e.SelfMaxV=function(t){return this.x=D(this.x,t.x),this.y=D(this.y,t.y),this},e.SelfAbs=function(){return this.x=E(this.x),this.y=E(this.y),this},e.SelfNeg=function(){return this.x=-this.x,this.y=-this.y,this},e.SelfSkew=function(){var t=this.x;return this.x=-this.y,this.y=t,this},t.MakeArray=function(e){return A(e,(function(){return new t}))},t.AbsV=function(t,e){return e.x=E(t.x),e.y=E(t.y),e},t.MinV=function(t,e,i){return i.x=B(t.x,e.x),i.y=B(t.y,e.y),i},t.MaxV=function(t,e,i){return i.x=D(t.x,e.x),i.y=D(t.y,e.y),i},t.ClampV=function(t,e,i,r){return r.x=M(t.x,e.x,i.x),r.y=M(t.y,e.y,i.y),r},t.RotateV=function(t,e,i){var r=t.x,n=t.y,s=Math.cos(e),a=Math.sin(e);return i.x=s*r-a*n,i.y=a*r+s*n,i},t.DotVV=function(t,e){return t.x*e.x+t.y*e.y},t.CrossVV=function(t,e){return t.x*e.y-t.y*e.x},t.CrossVS=function(t,e,i){var r=t.x;return i.x=e*t.y,i.y=-e*r,i},t.CrossVOne=function(t,e){var i=t.x;return e.x=t.y,e.y=-i,e},t.CrossSV=function(t,e,i){var r=e.x;return i.x=-t*e.y,i.y=t*r,i},t.CrossOneV=function(t,e){var i=t.x;return e.x=-t.y,e.y=i,e},t.AddVV=function(t,e,i){return i.x=t.x+e.x,i.y=t.y+e.y,i},t.SubVV=function(t,e,i){return i.x=t.x-e.x,i.y=t.y-e.y,i},t.MulSV=function(t,e,i){return i.x=e.x*t,i.y=e.y*t,i},t.MulVS=function(t,e,i){return i.x=t.x*e,i.y=t.y*e,i},t.AddVMulSV=function(t,e,i,r){return r.x=t.x+e*i.x,r.y=t.y+e*i.y,r},t.SubVMulSV=function(t,e,i,r){return r.x=t.x-e*i.x,r.y=t.y-e*i.y,r},t.AddVCrossSV=function(t,e,i,r){var n=i.x;return r.x=t.x-e*i.y,r.y=t.y+e*n,r},t.MidVV=function(t,e,i){return i.x=.5*(t.x+e.x),i.y=.5*(t.y+e.y),i},t.ExtVV=function(t,e,i){return i.x=.5*(e.x-t.x),i.y=.5*(e.y-t.y),i},t.IsEqualToV=function(t,e){return t.x===e.x&&t.y===e.y},t.DistanceVV=function(t,e){var i=t.x-e.x,r=t.y-e.y;return Math.sqrt(i*i+r*r)},t.DistanceSquaredVV=function(t,e){var i=t.x-e.x,r=t.y-e.y;return i*i+r*r},t.NegV=function(t,e){return e.x=-t.x,e.y=-t.y,e},Pe(t,[{key:"x",get:function(){return this.data[0]},set:function(t){this.data[0]=t}},{key:"y",get:function(){return this.data[1]},set:function(t){this.data[1]=t}}]),t}();z.ZERO=new z(0,0),z.UNITX=new z(1,0),z.UNITY=new z(0,1),z.s_t0=new z,z.s_t1=new z,z.s_t2=new z,z.s_t3=new z;var U=new z(0,0),H=function(){function t(){for(var t=arguments.length,e=new Array(t),i=0;ithis.m_count&&(this.m_min_count=this.m_count)},t}(),tt=function(){function t(t){this.m_stack=[],this.m_count=0,this.m_stack=A(t,(function(){return null})),this.m_count=0}var e=t.prototype;return e.Reset=function(){return this.m_count=0,this},e.Push=function(t){this.m_stack[this.m_count]=t,this.m_count++},e.Pop=function(){this.m_count--;var t=this.m_stack[this.m_count];if(this.m_stack[this.m_count]=null,null===t)throw new Error;return t},e.GetCount=function(){return this.m_count},t}(),et=function(){function t(){this.m_buffer=z.MakeArray(2),this.m_vertices=this.m_buffer,this.m_count=0,this.m_radius=0}var e=t.prototype;return e.Copy=function(t){return t.m_vertices===t.m_buffer?(this.m_vertices=this.m_buffer,this.m_buffer[0].Copy(t.m_buffer[0]),this.m_buffer[1].Copy(t.m_buffer[1])):this.m_vertices=t.m_vertices,this.m_count=t.m_count,this.m_radius=t.m_radius,this},e.Reset=function(){return this.m_vertices=this.m_buffer,this.m_count=0,this.m_radius=0,this},e.SetShape=function(t,e){t.SetupDistanceProxy(this,e)},e.SetVerticesRadius=function(t,e,i){this.m_vertices=t,this.m_count=e,this.m_radius=i},e.GetSupport=function(t){for(var e=0,i=z.DotVV(this.m_vertices[0],t),r=1;ri&&(e=r,i=n)}return e},e.GetSupportVertex=function(t){for(var e=0,i=z.DotVV(this.m_vertices[0],t),r=1;ri&&(e=r,i=n)}return this.m_vertices[e]},e.GetVertexCount=function(){return this.m_count},e.GetVertex=function(t){return this.m_vertices[t]},t}(),it=function(){function t(){this.metric=0,this.count=0,this.indexA=[0,0,0],this.indexB=[0,0,0]}return t.prototype.Reset=function(){return this.metric=0,this.count=0,this},t}(),rt=function(){function t(){this.proxyA=new et,this.proxyB=new et,this.transformA=new Y,this.transformB=new Y,this.useRadii=!1}return t.prototype.Reset=function(){return this.proxyA.Reset(),this.proxyB.Reset(),this.transformA.SetIdentity(),this.transformB.SetIdentity(),this.useRadii=!1,this},t}(),nt=function(){function t(){this.pointA=new z,this.pointB=new z,this.distance=0,this.iterations=0}return t.prototype.Reset=function(){return this.pointA.SetZero(),this.pointB.SetZero(),this.distance=0,this.iterations=0,this},t}();t.b2_gjkCalls=0,t.b2_gjkIters=0,t.b2_gjkMaxIters=0;var st=function(){function t(){this.wA=new z,this.wB=new z,this.w=new z,this.a=0,this.indexA=0,this.indexB=0}return t.prototype.Copy=function(t){return this.wA.Copy(t.wA),this.wB.Copy(t.wB),this.w.Copy(t.w),this.a=t.a,this.indexA=t.indexA,this.indexB=t.indexB,this},t}(),at=function(){function t(){this.m_v1=new st,this.m_v2=new st,this.m_v3=new st,this.m_vertices=[],this.m_count=0,this.m_vertices[0]=this.m_v1,this.m_vertices[1]=this.m_v2,this.m_vertices[2]=this.m_v3}var e=t.prototype;return e.ReadCache=function(t,e,i,n,s){this.m_count=t.count;for(var a=this.m_vertices,o=0;o1){var c=t.metric,_=this.GetMetric();(_<.5*c||2*c<_||_0?z.CrossOneV(e,t):z.CrossVOne(e,t);default:return t.SetZero()}},e.GetClosestPoint=function(t){switch(this.m_count){case 0:return t.SetZero();case 1:return t.Copy(this.m_v1.w);case 2:return t.Set(this.m_v1.a*this.m_v1.w.x+this.m_v2.a*this.m_v2.w.x,this.m_v1.a*this.m_v1.w.y+this.m_v2.a*this.m_v2.w.y);case 3:default:return t.SetZero()}},e.GetWitnessPoints=function(t,e){switch(this.m_count){case 0:break;case 1:t.Copy(this.m_v1.wA),e.Copy(this.m_v1.wB);break;case 2:t.x=this.m_v1.a*this.m_v1.wA.x+this.m_v2.a*this.m_v2.wA.x,t.y=this.m_v1.a*this.m_v1.wA.y+this.m_v2.a*this.m_v2.wA.y,e.x=this.m_v1.a*this.m_v1.wB.x+this.m_v2.a*this.m_v2.wB.x,e.y=this.m_v1.a*this.m_v1.wB.y+this.m_v2.a*this.m_v2.wB.y;break;case 3:e.x=t.x=this.m_v1.a*this.m_v1.wA.x+this.m_v2.a*this.m_v2.wA.x+this.m_v3.a*this.m_v3.wA.x,e.y=t.y=this.m_v1.a*this.m_v1.wA.y+this.m_v2.a*this.m_v2.wA.y+this.m_v3.a*this.m_v3.wA.y}},e.GetMetric=function(){switch(this.m_count){case 0:case 1:return 0;case 2:return z.DistanceVV(this.m_v1.w,this.m_v2.w);case 3:return z.CrossVV(z.SubVV(this.m_v2.w,this.m_v1.w,z.s_t0),z.SubVV(this.m_v3.w,this.m_v1.w,z.s_t1));default:return 0}},e.Solve2=function(){var e=this.m_v1.w,i=this.m_v2.w,r=z.SubVV(i,e,t.s_e12),n=-z.DotVV(e,r);if(n<=0)return this.m_v1.a=1,void(this.m_count=1);var s=z.DotVV(i,r);if(s<=0)return this.m_v2.a=1,this.m_count=1,void this.m_v1.Copy(this.m_v2);var a=1/(s+n);this.m_v1.a=s*a,this.m_v2.a=n*a,this.m_count=2},e.Solve3=function(){var e=this.m_v1.w,i=this.m_v2.w,r=this.m_v3.w,n=z.SubVV(i,e,t.s_e12),s=z.DotVV(e,n),a=z.DotVV(i,n),o=-s,l=z.SubVV(r,e,t.s_e13),h=z.DotVV(e,l),u=z.DotVV(r,l),c=-h,_=z.SubVV(r,i,t.s_e23),f=z.DotVV(i,_),p=z.DotVV(r,_),d=-f,m=z.CrossVV(n,l),y=m*z.CrossVV(i,r),g=m*z.CrossVV(r,e),v=m*z.CrossVV(e,i);if(o<=0&&c<=0)return this.m_v1.a=1,void(this.m_count=1);if(a>0&&o>0&&v<=0){var b=1/(a+o);return this.m_v1.a=a*b,this.m_v2.a=o*b,void(this.m_count=2)}if(u>0&&c>0&&g<=0){var S=1/(u+c);return this.m_v1.a=u*S,this.m_v3.a=c*S,this.m_count=2,void this.m_v2.Copy(this.m_v3)}if(a<=0&&d<=0)return this.m_v2.a=1,this.m_count=1,void this.m_v1.Copy(this.m_v2);if(u<=0&&p<=0)return this.m_v3.a=1,this.m_count=1,void this.m_v1.Copy(this.m_v3);if(p>0&&d>0&&y<=0){var A=1/(p+d);return this.m_v2.a=p*A,this.m_v3.a=d*A,this.m_count=2,void this.m_v1.Copy(this.m_v3)}var C=1/(y+g+v);this.m_v1.a=y*C,this.m_v2.a=g*C,this.m_v3.a=v*C,this.m_count=3},t}();at.s_e12=new z,at.s_e13=new z,at.s_e23=new z;var ot=new at,lt=[0,0,0],ht=[0,0,0],ut=new z,ct=new z,_t=new z,ft=new z,pt=new z;function dt(e,i,s){++t.b2_gjkCalls;var a=s.proxyA,o=s.proxyB,l=s.transformA,h=s.transformB,u=ot;u.ReadCache(i,a,l,o,h);for(var c=u.m_vertices,_=lt,f=ht,p=0,d=0;d<20;){p=u.m_count;for(var m=0;mS+A&&e.distance>r){e.distance-=S+A;var C=z.SubVV(e.pointB,e.pointA,_t);C.Normalize(),e.pointA.SelfMulAdd(S,C),e.pointB.SelfMulSub(A,C)}else{var x=z.MidVV(e.pointA,e.pointB,ut);e.pointA.Copy(x),e.pointB.Copy(x),e.distance=0}}}var mt,yt=new z,gt=new at,vt=new z,bt=new z,St=new z,At=new z,Ct=new z,xt=new z;(mt=t.b2ContactFeatureType||(t.b2ContactFeatureType={}))[mt.e_vertex=0]="e_vertex",mt[mt.e_face=1]="e_face";var Tt,wt=function(){function t(){this._key=0,this._key_invalid=!1,this._indexA=0,this._indexB=0,this._typeA=0,this._typeB=0}return Pe(t,[{key:"key",get:function(){return this._key_invalid&&(this._key_invalid=!1,this._key=this._indexA|this._indexB<<8|this._typeA<<16|this._typeB<<24),this._key},set:function(t){this._key=t,this._key_invalid=!1,this._indexA=255&this._key,this._indexB=this._key>>8&255,this._typeA=this._key>>16&255,this._typeB=this._key>>24&255}},{key:"indexA",get:function(){return this._indexA},set:function(t){this._indexA=t,this._key_invalid=!0}},{key:"indexB",get:function(){return this._indexB},set:function(t){this._indexB=t,this._key_invalid=!0}},{key:"typeA",get:function(){return this._typeA},set:function(t){this._typeA=t,this._key_invalid=!0}},{key:"typeB",get:function(){return this._typeB},set:function(t){this._typeB=t,this._key_invalid=!0}}]),t}(),Et=function(){function t(){this.cf=new wt}var e=t.prototype;return e.Copy=function(t){return this.key=t.key,this},e.Clone=function(){return(new t).Copy(this)},Pe(t,[{key:"key",get:function(){return this.cf.key},set:function(t){this.cf.key=t}}]),t}(),Bt=function(){function t(){this.localPoint=new z,this.normalImpulse=0,this.tangentImpulse=0,this.id=new Et}t.MakeArray=function(e){return A(e,(function(){return new t}))};var e=t.prototype;return e.Reset=function(){this.localPoint.SetZero(),this.normalImpulse=0,this.tangentImpulse=0,this.id.key=0},e.Copy=function(t){return this.localPoint.Copy(t.localPoint),this.normalImpulse=t.normalImpulse,this.tangentImpulse=t.tangentImpulse,this.id.Copy(t.id),this},t}();(Tt=t.b2ManifoldType||(t.b2ManifoldType={}))[Tt.e_unknown=-1]="e_unknown",Tt[Tt.e_circles=0]="e_circles",Tt[Tt.e_faceA=1]="e_faceA",Tt[Tt.e_faceB=2]="e_faceB";var Dt,Mt=function(){function e(){this.points=Bt.MakeArray(2),this.localNormal=new z,this.localPoint=new z,this.type=t.b2ManifoldType.e_unknown,this.pointCount=0}var i=e.prototype;return i.Reset=function(){for(var e=0;e<2;++e)this.points[e].Reset();this.localNormal.SetZero(),this.localPoint.SetZero(),this.type=t.b2ManifoldType.e_unknown,this.pointCount=0},i.Copy=function(t){this.pointCount=t.pointCount;for(var e=0;e<2;++e)this.points[e].Copy(t.points[e]);return this.localNormal.Copy(t.localNormal),this.localPoint.Copy(t.localPoint),this.type=t.type,this},i.Clone=function(){return(new e).Copy(this)},e}(),Pt=function(){function e(){this.normal=new z,this.points=z.MakeArray(2),this.separations=C(2)}return e.prototype.Initialize=function(i,r,s,a,o){if(0!==i.pointCount)switch(i.type){case t.b2ManifoldType.e_circles:this.normal.Set(1,0);var l=Y.MulXV(r,i.localPoint,e.Initialize_s_pointA),h=Y.MulXV(a,i.points[0].localPoint,e.Initialize_s_pointB);z.DistanceSquaredVV(l,h)>n&&z.SubVV(h,l,this.normal).SelfNormalize();var u=z.AddVMulSV(l,s,this.normal,e.Initialize_s_cA),c=z.SubVMulSV(h,o,this.normal,e.Initialize_s_cB);z.MidVV(u,c,this.points[0]),this.separations[0]=z.DotVV(z.SubVV(c,u,z.s_t0),this.normal);break;case t.b2ManifoldType.e_faceA:X.MulRV(r.q,i.localNormal,this.normal);for(var _=Y.MulXV(r,i.localPoint,e.Initialize_s_planePoint),f=0;fd){var y=p;p=d,d=y,m=1}if(p>n&&(_.x=m,_.y=0,n=p),n>(s=B(s,d)))return!1}if(cb){var A=v;v=b,b=A,S=1}if(v>n&&(_.x=0,_.y=S,n=v),n>(s=B(s,b)))return!1}return!(n<0||e.maxFraction0;){var r=i.Pop();if(null!==r&&r.aabb.TestOverlap(t))if(r.IsLeaf()){if(!e(r))return}else i.Push(r.child1),i.Push(r.child2)}},e.QueryPoint=function(t,e){var i=this.m_stack.Reset();for(i.Push(this.m_root);i.GetCount()>0;){var r=i.Pop();if(null!==r&&r.aabb.TestContain(t))if(r.IsLeaf()){if(!e(r))return}else i.Push(r.child1),i.Push(r.child2)}},e.RayCast=function(e,i){var r=e.p1,n=e.p2,s=z.SubVV(n,r,t.s_r);s.Normalize();var a=z.CrossOneV(s,t.s_v),o=z.AbsV(a,t.s_abs_v),l=e.maxFraction,h=t.s_segmentAABB,u=r.x+l*(n.x-r.x),c=r.y+l*(n.y-r.y);h.lowerBound.x=B(r.x,u),h.lowerBound.y=B(r.y,c),h.upperBound.x=D(r.x,u),h.upperBound.y=D(r.y,c);var _=this.m_stack.Reset();for(_.Push(this.m_root);_.GetCount()>0;){var f=_.Pop();if(null!==f&&Lt(f.aabb,h)){var p=f.aabb.GetCenter(),d=f.aabb.GetExtents();if(!(E(z.DotVV(a,z.SubVV(r,p,z.s_t0)))-z.DotVV(o,d)>0))if(f.IsLeaf()){var m=t.s_subInput;m.p1.Copy(e.p1),m.p2.Copy(e.p2),m.maxFraction=l;var y=i(m,f);if(0===y)return;y>0&&(l=y,u=r.x+l*(n.x-r.x),c=r.y+l*(n.y-r.y),h.lowerBound.x=B(r.x,u),h.lowerBound.y=B(r.y,c),h.upperBound.x=D(r.x,u),h.upperBound.y=D(r.y,c))}else _.Push(f.child1),_.Push(f.child2)}}},e.AllocateNode=function(){if(null!==this.m_freeList){var e=this.m_freeList;return this.m_freeList=e.parent,e.parent=null,e.child1=null,e.child2=null,e.height=0,e}return new Ht(t.s_node_id++)},e.FreeNode=function(t){t.parent=this.m_freeList,t.child1=null,t.child2=null,t.height=-1,t.Reset(),this.m_freeList=t},e.CreateProxy=function(t,e){var i=this.AllocateNode();return i.aabb.lowerBound.x=t.lowerBound.x-.1,i.aabb.lowerBound.y=t.lowerBound.y-.1,i.aabb.upperBound.x=t.upperBound.x+.1,i.aabb.upperBound.y=t.upperBound.y+.1,i.userData=e,i.height=0,this.InsertLeaf(i),i},e.DestroyProxy=function(t){this.RemoveLeaf(t),this.FreeNode(t)},e.MoveProxy=function(t,e,i){if(t.aabb.Contains(e))return!1;this.RemoveLeaf(t);t.aabb.lowerBound.x=e.lowerBound.x-.1,t.aabb.lowerBound.y=e.lowerBound.y-.1,t.aabb.upperBound.x=e.upperBound.x+.1,t.aabb.upperBound.y=e.upperBound.y+.1;var r=2*i.x,n=2*i.y;return r<0?t.aabb.lowerBound.x+=r:t.aabb.upperBound.x+=r,n<0?t.aabb.lowerBound.y+=n:t.aabb.upperBound.y+=n,this.InsertLeaf(t),!0},e.InsertLeaf=function(e){if(++this.m_insertionCount,null===this.m_root)return this.m_root=e,void(this.m_root.parent=null);for(var i=e.aabb,r=this.m_root;!r.IsLeaf();){var n=Ut(r.child1),s=Ut(r.child2),a=r.aabb.GetPerimeter(),o=t.s_combinedAABB;o.Combine2(r.aabb,i);var l=o.GetPerimeter(),h=2*l,u=2*(l-a),c=void 0,_=t.s_aabb,f=void 0;n.IsLeaf()?(_.Combine2(i,n.aabb),c=_.GetPerimeter()+u):(_.Combine2(i,n.aabb),f=n.aabb.GetPerimeter(),c=_.GetPerimeter()-f+u);var p=void 0;if(s.IsLeaf()?(_.Combine2(i,s.aabb),p=_.GetPerimeter()+u):(_.Combine2(i,s.aabb),f=s.aabb.GetPerimeter(),p=_.GetPerimeter()-f+u),h1){var n=Ut(i.child1),s=Ut(i.child2);return i.child1=t,i.parent=t.parent,t.parent=i,null!==i.parent?i.parent.child1===t?i.parent.child1=i:i.parent.child2=i:this.m_root=i,n.height>s.height?(i.child2=n,t.child2=s,s.parent=t,t.aabb.Combine2(e.aabb,s.aabb),i.aabb.Combine2(t.aabb,n.aabb),t.height=1+D(e.height,s.height),i.height=1+D(t.height,n.height)):(i.child2=s,t.child2=n,n.parent=t,t.aabb.Combine2(e.aabb,n.aabb),i.aabb.Combine2(t.aabb,s.aabb),t.height=1+D(e.height,n.height),i.height=1+D(t.height,s.height)),i}if(r<-1){var a=Ut(e.child1),o=Ut(e.child2);return e.child1=t,e.parent=t.parent,t.parent=e,null!==e.parent?e.parent.child1===t?e.parent.child1=e:e.parent.child2=e:this.m_root=e,a.height>o.height?(e.child2=a,t.child1=o,o.parent=t,t.aabb.Combine2(i.aabb,o.aabb),e.aabb.Combine2(t.aabb,a.aabb),t.height=1+D(i.height,o.height),e.height=1+D(t.height,a.height)):(e.child2=o,t.child1=a,a.parent=t,t.aabb.Combine2(i.aabb,a.aabb),e.aabb.Combine2(t.aabb,o.aabb),t.height=1+D(i.height,a.height),e.height=1+D(t.height,o.height)),e}return t},e.GetHeight=function(){return null===this.m_root?0:this.m_root.height},t.GetAreaNode=function(e){if(null===e)return 0;if(e.IsLeaf())return 0;var i=e.aabb.GetPerimeter();return(i+=t.GetAreaNode(e.child1))+t.GetAreaNode(e.child2)},e.GetAreaRatio=function(){if(null===this.m_root)return 0;var e=this.m_root.aabb.GetPerimeter();return t.GetAreaNode(this.m_root)/e},t.ComputeHeightNode=function(e){return null===e||e.IsLeaf()?0:1+D(t.ComputeHeightNode(e.child1),t.ComputeHeightNode(e.child2))},e.ComputeHeight=function(){return t.ComputeHeightNode(this.m_root)},e.ValidateStructure=function(t){if(null!==t&&(this.m_root,!t.IsLeaf())){var e=Ut(t.child1),i=Ut(t.child2);this.ValidateStructure(e),this.ValidateStructure(i)}},e.ValidateMetrics=function(e){if(null!==e&&!e.IsLeaf()){var i=Ut(e.child1),r=Ut(e.child2);t.s_aabb.Combine2(i.aabb,r.aabb),this.ValidateMetrics(i),this.ValidateMetrics(r)}},e.Validate=function(){},t.GetMaxBalanceNode=function(t,e){if(null===t)return e;if(t.height<=1)return e;var i=Ut(t.child1),r=Ut(t.child2);return D(e,E(r.height-i.height))},e.GetMaxBalance=function(){return t.GetMaxBalanceNode(this.m_root,0)},e.RebuildBottomUp=function(){this.Validate()},t.ShiftOriginNode=function(e,i){if(null!==e&&!(e.height<=1)){var r=e.child1,n=e.child2;t.ShiftOriginNode(r,i),t.ShiftOriginNode(n,i),e.aabb.lowerBound.SelfSub(i),e.aabb.upperBound.SelfSub(i)}},e.ShiftOrigin=function(e){t.ShiftOriginNode(this.m_root,e)},t}();function Wt(t,e,i){var r=t[e];t[e]=t[i],t[i]=r}function Xt(t,e){return t=i)break;Wt(t,l,i)}}if(0===a)break;n=i,i=s[--a]}}(this.m_pairBuffer,0,this.m_pairCount,Jt);for(var n=0;n_+f){e.state=t.b2TOIOutputState.e_separated,e.t=u,A=!0;break}if(B>_-f){p=C;break}var M=S.Evaluate(T[0],w[0],p);if(M<_-f){e.state=t.b2TOIOutputState.e_failed,e.t=p,A=!0;break}if(M<=_+f){e.state=t.b2TOIOutputState.e_touching,e.t=p,A=!0;break}for(var P=0,R=p,I=C;;){var O;O=1&P?R+(_-M)*(I-R)/(B-M):.5*(R+I),++P,++t.b2_toiRootIters;var F=S.Evaluate(T[0],w[0],O);if(E(F-_)_?(R=O,M=F):(I=O,B=F),50===P)break}if(t.b2_toiMaxRootIters=D(t.b2_toiMaxRootIters,P),++x===a)break}if(++d,++t.b2_toiIters,A)break;if(20===d){e.state=t.b2TOIOutputState.e_failed,e.t=p;break}}t.b2_toiMaxIters=D(t.b2_toiMaxIters,d);var L=r.GetMilliseconds();t.b2_toiMaxTime=D(t.b2_toiMaxTime,L),t.b2_toiTime+=L}var ge=new z,ve=new z;function be(e,i,r,n,s){e.pointCount=0;var a=Y.MulXV(r,i.m_p,ge),o=Y.MulXV(s,n.m_p,ve),l=z.DistanceSquaredVV(a,o),h=i.m_radius+n.m_radius;l>h*h||(e.type=t.b2ManifoldType.e_circles,e.localPoint.Copy(i.m_p),e.localNormal.SetZero(),e.pointCount=1,e.points[0].localPoint.Copy(n.m_p),e.points[0].id.key=0)}var Se=new z,Ae=new z,Ce=new z;function xe(e,n,s,a,o){e.pointCount=0;for(var l=Y.MulXV(o,a.m_p,Se),h=Y.MulTXV(s,l,Ae),u=0,c=-i,_=n.m_radius+a.m_radius,f=n.m_count,p=n.m_vertices,d=n.m_normals,m=0;m_)return;y>c&&(c=y,u=m)}var g=u,v=(g+1)%f,b=p[g],S=p[v];if(c_*_)return;e.pointCount=1,e.type=t.b2ManifoldType.e_faceA,z.SubVV(h,b,e.localNormal).SelfNormalize(),e.localPoint.Copy(b),e.points[0].localPoint.Copy(a.m_p),e.points[0].id.key=0}else if(C<=0){if(z.DistanceSquaredVV(h,S)>_*_)return;e.pointCount=1,e.type=t.b2ManifoldType.e_faceA,z.SubVV(h,S,e.localNormal).SelfNormalize(),e.localPoint.Copy(S),e.points[0].localPoint.Copy(a.m_p),e.points[0].id.key=0}else{var x=z.MidVV(b,S,Ce);if(z.DotVV(z.SubVV(h,x,z.s_t1),d[g])>_)return;e.pointCount=1,e.type=t.b2ManifoldType.e_faceA,e.localNormal.Copy(d[g]).SelfNormalize(),e.localPoint.Copy(x),e.points[0].localPoint.Copy(a.m_p),e.points[0].id.key=0}}var Te=new z,we=new z,Ee=new z,Be=new z;function De(t,e,r,n,s){for(var a=t.m_vertices,o=t.m_normals,l=n.m_count,h=n.m_vertices,u=X.MulRV(e.q,o[r],Te),c=X.MulTRV(s.q,u,we),_=0,f=i,p=0;pc&&(c=f,u=_)}var p=De(e,r,u,n,s),d=(u+a-1)%a,m=De(e,r,d,n,s),y=(u+1)%a,g=De(e,r,y,n,s),v=0,b=0,S=0;if(m>p&&m>g)S=-1,v=d,b=m;else{if(!(g>p))return t[0]=u,p;S=1,v=y,b=g}for(;(p=De(e,r,u=-1===S?(v+a-1)%a:(v+1)%a,n,s))>b;)v=u,b=p;return t[0]=v,b}var Le=new z;var Ve=Rt.MakeArray(2),ke=Rt.MakeArray(2),Ne=Rt.MakeArray(2),Ge=[0],ze=[0],Ue=new z,He=new z,je=new z,We=new z,Xe=new z,Ye=new z,qe=new z,Je=new z;function Ke(e,r,n,s,a){e.pointCount=0;var o=r.m_radius+s.m_radius,l=Ge;l[0]=0;var h=Oe(l,r,n,s,a);if(!(h>o)){var u=ze;u[0]=0;var c=Oe(u,s,a,r,n);if(!(c>o)){var _,f,p,d,m=0,y=0;c>.98*h+.001?(_=s,f=r,p=a,d=n,m=u[0],e.type=t.b2ManifoldType.e_faceB,y=1):(_=r,f=s,p=n,d=a,m=l[0],e.type=t.b2ManifoldType.e_faceA,y=0);var g=Ve;!function(e,r,n,s,a,o){for(var l=r.m_normals,h=a.m_count,u=a.m_vertices,c=a.m_normals,_=X.MulTRV(o.q,X.MulRV(n.q,l[s],z.s_t0),Le),f=0,p=i,d=0;d_*_)return;if(i.m_hasVertex0){var m=i.m_vertex0,y=o,g=z.SubVV(y,m,ei);if(z.DotVV(g,z.SubVV(y,a,z.s_t0))>0)return}return f.cf.indexA=0,f.cf.typeA=t.b2ContactFeatureType.e_vertex,e.pointCount=1,e.type=t.b2ManifoldType.e_circles,e.localNormal.SetZero(),e.localPoint.Copy(p),e.points[0].id.Copy(f),void e.points[0].localPoint.Copy(n.m_p)}if(u<=0){var v=l,b=z.SubVV(a,v,ti);if(z.DotVV(b,b)>_*_)return;if(i.m_hasVertex3){var S=i.m_vertex3,A=l,C=z.SubVV(S,A,ii);if(z.DotVV(C,z.SubVV(a,A,z.s_t0))>0)return}return f.cf.indexA=1,f.cf.typeA=t.b2ContactFeatureType.e_vertex,e.pointCount=1,e.type=t.b2ManifoldType.e_circles,e.localNormal.SetZero(),e.localPoint.Copy(v),e.points[0].id.Copy(f),void e.points[0].localPoint.Copy(n.m_p)}var x=z.DotVV(h,h),T=ri;T.x=1/x*(u*o.x+c*l.x),T.y=1/x*(u*o.y+c*l.y);var w=z.SubVV(a,T,ti);if(!(z.DotVV(w,w)>_*_)){var E=ni.Set(-h.y,h.x);z.DotVV(E,z.SubVV(a,o,z.s_t0))<0&&E.Set(-E.x,-E.y),E.Normalize(),f.cf.indexA=0,f.cf.typeA=t.b2ContactFeatureType.e_face,e.pointCount=1,e.type=t.b2ManifoldType.e_faceA,e.localNormal.Copy(E),e.localPoint.Copy(o),e.points[0].id.Copy(f),e.points[0].localPoint.Copy(n.m_p)}}!function(t){t[t.e_unknown=0]="e_unknown",t[t.e_edgeA=1]="e_edgeA",t[t.e_edgeB=2]="e_edgeB"}(Ze||(Ze={}));var oi,li=function(){this.type=Ze.e_unknown,this.index=0,this.separation=0},hi=function(){this.vertices=[],this.normals=[],this.count=0};!function(t){t[t.e_isolated=0]="e_isolated",t[t.e_concave=1]="e_concave",t[t.e_convex=2]="e_convex"}(oi||(oi={}));var ui=function(){function e(){this.m_polygonB=new hi,this.m_xf=new Y,this.m_centroidB=new z,this.m_v0=new z,this.m_v1=new z,this.m_v2=new z,this.m_v3=new z,this.m_normal0=new z,this.m_normal1=new z,this.m_normal2=new z,this.m_normal=new z,this.m_type1=oi.e_isolated,this.m_type2=oi.e_isolated,this.m_lowerLimit=new z,this.m_upperLimit=new z,this.m_radius=0,this.m_front=!1}var r=e.prototype;return r.Collide=function(i,r,n,s,a){Y.MulTXX(n,a,this.m_xf),Y.MulXV(this.m_xf,s.m_centroid,this.m_centroidB),this.m_v0.Copy(r.m_vertex0),this.m_v1.Copy(r.m_vertex1),this.m_v2.Copy(r.m_vertex2),this.m_v3.Copy(r.m_vertex3);var o=r.m_hasVertex0,l=r.m_hasVertex3,h=z.SubVV(this.m_v2,this.m_v1,e.s_edge1);h.Normalize(),this.m_normal1.Set(h.y,-h.x);var u=z.DotVV(this.m_normal1,z.SubVV(this.m_centroidB,this.m_v1,z.s_t0)),c=0,_=0,f=!1,p=!1;if(o){var d=z.SubVV(this.m_v1,this.m_v0,e.s_edge0);d.Normalize(),this.m_normal0.Set(d.y,-d.x),f=z.CrossVV(d,h)>=0,c=z.DotVV(this.m_normal0,z.SubVV(this.m_centroidB,this.m_v0,z.s_t0))}if(l){var m=z.SubVV(this.m_v3,this.m_v2,e.s_edge2);m.Normalize(),this.m_normal2.Set(m.y,-m.x),p=z.CrossVV(h,m)>0,_=z.DotVV(this.m_normal2,z.SubVV(this.m_centroidB,this.m_v2,z.s_t0))}o&&l?f&&p?(this.m_front=c>=0||u>=0||_>=0,this.m_front?(this.m_normal.Copy(this.m_normal1),this.m_lowerLimit.Copy(this.m_normal0),this.m_upperLimit.Copy(this.m_normal2)):(this.m_normal.Copy(this.m_normal1).SelfNeg(),this.m_lowerLimit.Copy(this.m_normal1).SelfNeg(),this.m_upperLimit.Copy(this.m_normal1).SelfNeg())):f?(this.m_front=c>=0||u>=0&&_>=0,this.m_front?(this.m_normal.Copy(this.m_normal1),this.m_lowerLimit.Copy(this.m_normal0),this.m_upperLimit.Copy(this.m_normal1)):(this.m_normal.Copy(this.m_normal1).SelfNeg(),this.m_lowerLimit.Copy(this.m_normal2).SelfNeg(),this.m_upperLimit.Copy(this.m_normal1).SelfNeg())):p?(this.m_front=_>=0||c>=0&&u>=0,this.m_front?(this.m_normal.Copy(this.m_normal1),this.m_lowerLimit.Copy(this.m_normal1),this.m_upperLimit.Copy(this.m_normal2)):(this.m_normal.Copy(this.m_normal1).SelfNeg(),this.m_lowerLimit.Copy(this.m_normal1).SelfNeg(),this.m_upperLimit.Copy(this.m_normal0).SelfNeg())):(this.m_front=c>=0&&u>=0&&_>=0,this.m_front?(this.m_normal.Copy(this.m_normal1),this.m_lowerLimit.Copy(this.m_normal1),this.m_upperLimit.Copy(this.m_normal1)):(this.m_normal.Copy(this.m_normal1).SelfNeg(),this.m_lowerLimit.Copy(this.m_normal2).SelfNeg(),this.m_upperLimit.Copy(this.m_normal0).SelfNeg())):o?f?(this.m_front=c>=0||u>=0,this.m_front?(this.m_normal.Copy(this.m_normal1),this.m_lowerLimit.Copy(this.m_normal0),this.m_upperLimit.Copy(this.m_normal1).SelfNeg()):(this.m_normal.Copy(this.m_normal1).SelfNeg(),this.m_lowerLimit.Copy(this.m_normal1),this.m_upperLimit.Copy(this.m_normal1).SelfNeg())):(this.m_front=c>=0&&u>=0,this.m_front?(this.m_normal.Copy(this.m_normal1),this.m_lowerLimit.Copy(this.m_normal1),this.m_upperLimit.Copy(this.m_normal1).SelfNeg()):(this.m_normal.Copy(this.m_normal1).SelfNeg(),this.m_lowerLimit.Copy(this.m_normal1),this.m_upperLimit.Copy(this.m_normal0).SelfNeg())):l?p?(this.m_front=u>=0||_>=0,this.m_front?(this.m_normal.Copy(this.m_normal1),this.m_lowerLimit.Copy(this.m_normal1).SelfNeg(),this.m_upperLimit.Copy(this.m_normal2)):(this.m_normal.Copy(this.m_normal1).SelfNeg(),this.m_lowerLimit.Copy(this.m_normal1).SelfNeg(),this.m_upperLimit.Copy(this.m_normal1))):(this.m_front=u>=0&&_>=0,this.m_front?(this.m_normal.Copy(this.m_normal1),this.m_lowerLimit.Copy(this.m_normal1).SelfNeg(),this.m_upperLimit.Copy(this.m_normal1)):(this.m_normal.Copy(this.m_normal1).SelfNeg(),this.m_lowerLimit.Copy(this.m_normal2).SelfNeg(),this.m_upperLimit.Copy(this.m_normal1))):(this.m_front=u>=0,this.m_front?(this.m_normal.Copy(this.m_normal1),this.m_lowerLimit.Copy(this.m_normal1).SelfNeg(),this.m_upperLimit.Copy(this.m_normal1).SelfNeg()):(this.m_normal.Copy(this.m_normal1).SelfNeg(),this.m_lowerLimit.Copy(this.m_normal1),this.m_upperLimit.Copy(this.m_normal1))),this.m_polygonB.count=s.m_count;for(var y=0;ythis.m_radius)){var v=this.ComputePolygonSeparation(e.s_polygonAxis);if(!(v.type!==Ze.e_unknown&&v.separation>this.m_radius)){var b;b=v.type===Ze.e_unknown?g:v.separation>.98*g.separation+.001?v:g;var S=e.s_ie,A=e.s_rf;if(b.type===Ze.e_edgeA){i.type=t.b2ManifoldType.e_faceA;for(var C=0,x=z.DotVV(this.m_normal,this.m_polygonB.normals[0]),T=1;Tthis.m_radius)return r.type=Ze.e_edgeB,r.index=s,r.separation=o,r;if(z.DotVV(a,n)>=0){if(z.DotVV(z.SubVV(a,this.m_upperLimit,z.s_t0),this.m_normal)<-l)continue}else if(z.DotVV(z.SubVV(a,this.m_lowerLimit,z.s_t0),this.m_normal)<-l)continue;o>r.separation&&(r.type=Ze.e_edgeB,r.index=s,r.separation=o)}return r},e}();ui.s_edge1=new z,ui.s_edge0=new z,ui.s_edge2=new z,ui.s_ie=Rt.MakeArray(2),ui.s_rf=new function(){this.i1=0,this.i2=0,this.v1=new z,this.v2=new z,this.normal=new z,this.sideNormal1=new z,this.sideOffset1=0,this.sideNormal2=new z,this.sideOffset2=0},ui.s_clipPoints1=Rt.MakeArray(2),ui.s_clipPoints2=Rt.MakeArray(2),ui.s_edgeAxis=new li,ui.s_polygonAxis=new li,ui.s_n=new z,ui.s_perp=new z;var ci=new ui;function _i(t,e,i,r,n){ci.Collide(t,e,i,r,n)}var fi,pi=function(){this.mass=0,this.center=new z(0,0),this.I=0};(fi=t.b2ShapeType||(t.b2ShapeType={}))[fi.e_unknown=-1]="e_unknown",fi[fi.e_circleShape=0]="e_circleShape",fi[fi.e_edgeShape=1]="e_edgeShape",fi[fi.e_polygonShape=2]="e_polygonShape",fi[fi.e_chainShape=3]="e_chainShape",fi[fi.e_shapeTypeCount=4]="e_shapeTypeCount";var di=function(){function e(e,i){this.m_type=t.b2ShapeType.e_unknown,this.m_radius=0,this.m_type=e,this.m_radius=i}var i=e.prototype;return i.Copy=function(t){return this.m_radius=t.m_radius,this},i.GetType=function(){return this.m_type},e}(),mi=function(e){function i(i){var r;return void 0===i&&(i=0),(r=e.call(this,t.b2ShapeType.e_circleShape,i)||this).m_p=new z,r}Me(i,e);var n=i.prototype;return n.Set=function(t,e){return void 0===e&&(e=this.m_radius),this.m_p.Copy(t),this.m_radius=e,this},n.Clone=function(){return(new i).Copy(this)},n.Copy=function(t){return e.prototype.Copy.call(this,t),this.m_p.Copy(t.m_p),this},n.GetChildCount=function(){return 1},n.TestPoint=function(t,e){var r=Y.MulXV(t,this.m_p,i.TestPoint_s_center),n=z.SubVV(e,r,i.TestPoint_s_d);return z.DotVV(n,n)<=R(this.m_radius)},n.ComputeDistance=function(t,e,r){var n=Y.MulXV(t,this.m_p,i.ComputeDistance_s_center);return z.SubVV(e,n,r),r.Normalize()-this.m_radius},n.RayCast=function(t,e,n){var s=Y.MulXV(n,this.m_p,i.RayCast_s_position),a=z.SubVV(e.p1,s,i.RayCast_s_s),o=z.DotVV(a,a)-R(this.m_radius),l=z.SubVV(e.p2,e.p1,i.RayCast_s_r),h=z.DotVV(a,l),u=z.DotVV(l,l),c=h*h-u*o;if(c<0||uthis.m_radius)return n.Copy(a),s*this.m_radius*this.m_radius;var l=this.m_radius*this.m_radius,h=o*o,u=l*(N(o/this.m_radius)+s/2)+o*O(l-h),c=-2/3*F(l-h,1.5)/u;return n.x=a.x+t.x*c,n.y=a.y+t.y*c,u},n.Dump=function(t){t(" const shape: b2CircleShape = new b2CircleShape();\n"),t(" shape.m_radius = %.15f;\n",this.m_radius),t(" shape.m_p.Set(%.15f, %.15f);\n",this.m_p.x,this.m_p.y)},i}(di);mi.TestPoint_s_center=new z,mi.TestPoint_s_d=new z,mi.ComputeDistance_s_center=new z,mi.RayCast_s_position=new z,mi.RayCast_s_s=new z,mi.RayCast_s_r=new z,mi.ComputeAABB_s_p=new z;var yi=function(e){function r(){var i;return(i=e.call(this,t.b2ShapeType.e_polygonShape,h)||this).m_centroid=new z(0,0),i.m_vertices=[],i.m_normals=[],i.m_count=0,i}Me(r,e);var n=r.prototype;return n.Clone=function(){return(new r).Copy(this)},n.Copy=function(t){e.prototype.Copy.call(this,t),this.m_centroid.Copy(t.m_centroid),this.m_count=t.m_count,this.m_vertices=z.MakeArray(this.m_count),this.m_normals=z.MakeArray(this.m_count);for(var i=0;iu||_===u&&n[c].yg.LengthSquared()&&(m=y)}else m=y;if(++p,d=m,m===h)break}this.m_count=p,this.m_vertices=z.MakeArray(this.m_count),this.m_normals=z.MakeArray(this.m_count);for(var S=0;S0)return!1;return!0},n.ComputeDistance=function(t,e,n){for(var s=Y.MulTXV(t,e,r.ComputeDistance_s_pLocal),a=-i,o=r.ComputeDistance_s_normalForMaxDistance.Copy(s),l=0;la&&(a=h,o.Copy(this.m_normals[l]))}if(a>0){for(var u=r.ComputeDistance_s_minDistance.Copy(o),c=a*a,_=0;_p&&(u.Copy(f),c=p)}return X.MulRV(t.q,u,n),n.Normalize(),Math.sqrt(c)}return X.MulRV(t.q,o,n),a},n.RayCast=function(t,e,i){for(var n=Y.MulTXV(i,e.p1,r.RayCast_s_p1),s=Y.MulTXV(i,e.p2,r.RayCast_s_p2),a=z.SubVV(s,n,r.RayCast_s_d),o=0,l=e.maxFraction,h=-1,u=0;u0&&c=0&&(t.fraction=o,X.MulRV(i.q,this.m_normals[h],t.normal),!0)},n.ComputeAABB=function(t,e){for(var i=Y.MulXV(e,this.m_vertices[0],t.lowerBound),n=t.upperBound.Copy(i),s=0;s0&&(f?c||(h=_-1,l++):c&&(u=_-1,l++)),c=f}switch(l){case 0:if(c){var p=r.ComputeSubmergedArea_s_md;return this.ComputeMass(p,1),Y.MulXV(i,p.center,n),p.mass}return 0;case 1:-1===h?h=this.m_count-1:u=this.m_count-1}for(var d,m=(h+1)%this.m_count,y=(u+1)%this.m_count,g=(0-o[h])/(o[m]-o[h]),v=(0-o[u])/(o[y]-o[u]),b=r.ComputeSubmergedArea_s_intoVec.Set(this.m_vertices[h].x*(1-g)+this.m_vertices[m].x*g,this.m_vertices[h].y*(1-g)+this.m_vertices[m].y*g),S=r.ComputeSubmergedArea_s_outoVec.Set(this.m_vertices[u].x*(1-v)+this.m_vertices[y].x*v,this.m_vertices[u].y*(1-v)+this.m_vertices[y].y*v),A=0,C=r.ComputeSubmergedArea_s_center.SetZero(),x=this.m_vertices[m],T=m;T!==y;){d=(T=(T+1)%this.m_count)===y?S:this.m_vertices[T];var w=.5*((x.x-b.x)*(d.y-b.y)-(x.y-b.y)*(d.x-b.x));A+=w,C.x+=w*(b.x+x.x+d.x)/3,C.y+=w*(b.y+x.y+d.y)/3,x=d}return C.SelfMul(1/A),Y.MulXV(i,C,n),A},n.Dump=function(t){t(" const shape: b2PolygonShape = new b2PolygonShape();\n"),t(" const vs: b2Vec2[] = [];\n");for(var e=0;e0){var h=z.DotVV(o,o);l>h?z.SubVV(e,s,a):a.SelfMulSub(l/h,o)}return r.Copy(a),r.Normalize()},r.RayCast=function(t,e,r){var n=Y.MulTXV(r,e.p1,i.RayCast_s_p1),s=Y.MulTXV(r,e.p2,i.RayCast_s_p2),a=z.SubVV(s,n,i.RayCast_s_d),o=this.m_vertex1,l=this.m_vertex2,h=z.SubVV(l,o,i.RayCast_s_e),u=t.normal.Set(h.y,-h.x).SelfNormalize(),c=z.DotVV(u,z.SubVV(o,n,z.s_t0)),_=z.DotVV(u,a);if(0===_)return!1;var f=c/_;if(f<0||e.maxFraction0&&t.normal.SelfNeg(),0))},r.ComputeAABB=function(t,e){var r=Y.MulXV(e,this.m_vertex1,i.ComputeAABB_s_v1),n=Y.MulXV(e,this.m_vertex2,i.ComputeAABB_s_v2);z.MinV(r,n,t.lowerBound),z.MaxV(r,n,t.upperBound);var s=this.m_radius;t.lowerBound.SelfSubXY(s,s),t.upperBound.SelfAddXY(s,s)},r.ComputeMass=function(t){t.mass=0,z.MidVV(this.m_vertex1,this.m_vertex2,t.center),t.I=0},r.SetupDistanceProxy=function(t){t.m_vertices=t.m_buffer,t.m_vertices[0].Copy(this.m_vertex1),t.m_vertices[1].Copy(this.m_vertex2),t.m_count=2,t.m_radius=this.m_radius},r.ComputeSubmergedArea=function(t,e,i,r){return r.SetZero(),0},r.Dump=function(t){t(" const shape: b2EdgeShape = new b2EdgeShape();\n"),t(" shape.m_radius = %.15f;\n",this.m_radius),t(" shape.m_vertex0.Set(%.15f, %.15f);\n",this.m_vertex0.x,this.m_vertex0.y),t(" shape.m_vertex1.Set(%.15f, %.15f);\n",this.m_vertex1.x,this.m_vertex1.y),t(" shape.m_vertex2.Set(%.15f, %.15f);\n",this.m_vertex2.x,this.m_vertex2.y),t(" shape.m_vertex3.Set(%.15f, %.15f);\n",this.m_vertex3.x,this.m_vertex3.y),t(" shape.m_hasVertex0 = %s;\n",this.m_hasVertex0),t(" shape.m_hasVertex3 = %s;\n",this.m_hasVertex3)},i}(di);gi.ComputeDistance_s_v1=new z,gi.ComputeDistance_s_v2=new z,gi.ComputeDistance_s_d=new z,gi.ComputeDistance_s_s=new z,gi.RayCast_s_p1=new z,gi.RayCast_s_p2=new z,gi.RayCast_s_d=new z,gi.RayCast_s_e=new z,gi.RayCast_s_q=new z,gi.RayCast_s_r=new z,gi.ComputeAABB_s_v1=new z,gi.ComputeAABB_s_v2=new z;var vi=function(e){function i(){var i;return(i=e.call(this,t.b2ShapeType.e_chainShape,h)||this).m_vertices=[],i.m_count=0,i.m_prevVertex=new z,i.m_nextVertex=new z,i.m_hasPrevVertex=!1,i.m_hasNextVertex=!1,i}Me(i,e);var r=i.prototype;return r.CreateLoop=function(){for(var t=arguments.length,e=new Array(t),i=0;i0?(t.m_vertex0.Copy(this.m_vertices[e-1]),t.m_hasVertex0=!0):(t.m_vertex0.Copy(this.m_prevVertex),t.m_hasVertex0=this.m_hasPrevVertex),e0&&this.ResetMassData(),this.m_world.m_newFixture=!0,e},r.CreateFixtureShapeDensity=function(t,e){void 0===e&&(e=0);var r=i.CreateFixtureShapeDensity_s_def;return r.shape=t,r.density=e,this.CreateFixtureDef(r)},r.DestroyFixture=function(t){if(this.m_world.IsLocked())throw new Error;for(var e=this.m_fixtureList,i=null;null!==e;){if(e===t){i?i.m_next=t.m_next:this.m_fixtureList=t.m_next;break}i=e,e=e.m_next}for(var r=this.m_contactList;r;){var n=r.contact;r=r.next;var s=n.GetFixtureA(),a=n.GetFixtureB();t!==s&&t!==a||this.m_world.m_contactManager.Destroy(n)}this.m_activeFlag&&t.DestroyProxies(),t.m_next=null,t.Reset(),--this.m_fixtureCount,this.ResetMassData()},r.SetTransformVec=function(t,e){this.SetTransformXY(t.x,t.y,e)},r.SetTransformXY=function(t,e,i){if(this.m_world.IsLocked())throw new Error;this.m_xf.q.SetAngle(i),this.m_xf.p.Set(t,e),this.m_xf0.Copy(this.m_xf),Y.MulXV(this.m_xf,this.m_sweep.localCenter,this.m_sweep.c),this.m_sweep.a=i,this.m_sweep.c0.Copy(this.m_sweep.c),this.m_sweep.a0=i;for(var r=this.m_fixtureList;r;r=r.m_next)r.SynchronizeProxies(this.m_xf,this.m_xf,z.ZERO);this.m_world.m_contactManager.FindNewContacts()},r.SetTransform=function(t){this.SetTransformVec(t.p,t.GetAngle())},r.GetTransform=function(){return this.m_xf},r.GetPosition=function(){return this.m_xf.p},r.SetPosition=function(t){this.SetTransformVec(t,this.GetAngle())},r.SetPositionXY=function(t,e){this.SetTransformXY(t,e,this.GetAngle())},r.GetAngle=function(){return this.m_sweep.a},r.SetAngle=function(t){this.SetTransformVec(this.GetPosition(),t)},r.GetWorldCenter=function(){return this.m_sweep.c},r.GetLocalCenter=function(){return this.m_sweep.localCenter},r.SetLinearVelocity=function(e){this.m_type!==t.b2BodyType.b2_staticBody&&(z.DotVV(e,e)>0&&this.SetAwake(!0),this.m_linearVelocity.Copy(e))},r.GetLinearVelocity=function(){return this.m_linearVelocity},r.SetAngularVelocity=function(e){this.m_type!==t.b2BodyType.b2_staticBody&&(e*e>0&&this.SetAwake(!0),this.m_angularVelocity=e)},r.GetAngularVelocity=function(){return this.m_angularVelocity},r.GetDefinition=function(t){return t.type=this.GetType(),t.allowSleep=this.m_autoSleepFlag,t.angle=this.GetAngle(),t.angularDamping=this.m_angularDamping,t.gravityScale=this.m_gravityScale,t.angularVelocity=this.m_angularVelocity,t.fixedRotation=this.m_fixedRotationFlag,t.bullet=this.m_bulletFlag,t.awake=this.m_awakeFlag,t.linearDamping=this.m_linearDamping,t.linearVelocity.Copy(this.GetLinearVelocity()),t.position.Copy(this.GetPosition()),t.userData=this.GetUserData(),t},r.ApplyForce=function(e,i,r){void 0===r&&(r=!0),this.m_type===t.b2BodyType.b2_dynamicBody&&(r&&!this.m_awakeFlag&&this.SetAwake(!0),this.m_awakeFlag&&(this.m_force.x+=e.x,this.m_force.y+=e.y,this.m_torque+=(i.x-this.m_sweep.c.x)*e.y-(i.y-this.m_sweep.c.y)*e.x))},r.ApplyForceToCenter=function(e,i){void 0===i&&(i=!0),this.m_type===t.b2BodyType.b2_dynamicBody&&(i&&!this.m_awakeFlag&&this.SetAwake(!0),this.m_awakeFlag&&(this.m_force.x+=e.x,this.m_force.y+=e.y))},r.ApplyTorque=function(e,i){void 0===i&&(i=!0),this.m_type===t.b2BodyType.b2_dynamicBody&&(i&&!this.m_awakeFlag&&this.SetAwake(!0),this.m_awakeFlag&&(this.m_torque+=e))},r.ApplyLinearImpulse=function(e,i,r){void 0===r&&(r=!0),this.m_type===t.b2BodyType.b2_dynamicBody&&(r&&!this.m_awakeFlag&&this.SetAwake(!0),this.m_awakeFlag&&(this.m_linearVelocity.x+=this.m_invMass*e.x,this.m_linearVelocity.y+=this.m_invMass*e.y,this.m_angularVelocity+=this.m_invI*((i.x-this.m_sweep.c.x)*e.y-(i.y-this.m_sweep.c.y)*e.x)))},r.ApplyLinearImpulseToCenter=function(e,i){void 0===i&&(i=!0),this.m_type===t.b2BodyType.b2_dynamicBody&&(i&&!this.m_awakeFlag&&this.SetAwake(!0),this.m_awakeFlag&&(this.m_linearVelocity.x+=this.m_invMass*e.x,this.m_linearVelocity.y+=this.m_invMass*e.y))},r.ApplyAngularImpulse=function(e,i){void 0===i&&(i=!0),this.m_type===t.b2BodyType.b2_dynamicBody&&(i&&!this.m_awakeFlag&&this.SetAwake(!0),this.m_awakeFlag&&(this.m_angularVelocity+=this.m_invI*e))},r.GetMass=function(){return this.m_mass},r.GetInertia=function(){return this.m_I+this.m_mass*z.DotVV(this.m_sweep.localCenter,this.m_sweep.localCenter)},r.GetMassData=function(t){return t.mass=this.m_mass,t.I=this.m_I+this.m_mass*z.DotVV(this.m_sweep.localCenter,this.m_sweep.localCenter),t.center.Copy(this.m_sweep.localCenter),t},r.SetMassData=function(e){if(this.m_world.IsLocked())throw new Error;if(this.m_type===t.b2BodyType.b2_dynamicBody){this.m_invMass=0,this.m_I=0,this.m_invI=0,this.m_mass=e.mass,this.m_mass<=0&&(this.m_mass=1),this.m_invMass=1/this.m_mass,e.I>0&&!this.m_fixedRotationFlag&&(this.m_I=e.I-this.m_mass*z.DotVV(e.center,e.center),this.m_invI=1/this.m_I);var r=i.SetMassData_s_oldCenter.Copy(this.m_sweep.c);this.m_sweep.localCenter.Copy(e.center),Y.MulXV(this.m_xf,this.m_sweep.localCenter,this.m_sweep.c),this.m_sweep.c0.Copy(this.m_sweep.c),z.AddVCrossSV(this.m_linearVelocity,this.m_angularVelocity,z.SubVV(this.m_sweep.c,r,z.s_t0),this.m_linearVelocity)}},r.ResetMassData=function(){if(this.m_mass=0,this.m_invMass=0,this.m_I=0,this.m_invI=0,this.m_sweep.localCenter.SetZero(),this.m_type===t.b2BodyType.b2_staticBody||this.m_type===t.b2BodyType.b2_kinematicBody)return this.m_sweep.c0.Copy(this.m_xf.p),this.m_sweep.c.Copy(this.m_xf.p),void(this.m_sweep.a0=this.m_sweep.a);for(var e=i.ResetMassData_s_localCenter.SetZero(),r=this.m_fixtureList;r;r=r.m_next)if(0!==r.m_density){var n=r.GetMassData(i.ResetMassData_s_massData);this.m_mass+=n.mass,e.x+=n.center.x*n.mass,e.y+=n.center.y*n.mass,this.m_I+=n.I}this.m_mass>0?(this.m_invMass=1/this.m_mass,e.x*=this.m_invMass,e.y*=this.m_invMass):(this.m_mass=1,this.m_invMass=1),this.m_I>0&&!this.m_fixedRotationFlag?(this.m_I-=this.m_mass*z.DotVV(e,e),this.m_invI=1/this.m_I):(this.m_I=0,this.m_invI=0);var s=i.ResetMassData_s_oldCenter.Copy(this.m_sweep.c);this.m_sweep.localCenter.Copy(e),Y.MulXV(this.m_xf,this.m_sweep.localCenter,this.m_sweep.c),this.m_sweep.c0.Copy(this.m_sweep.c),z.AddVCrossSV(this.m_linearVelocity,this.m_angularVelocity,z.SubVV(this.m_sweep.c,s,z.s_t0),this.m_linearVelocity)},r.GetWorldPoint=function(t,e){return Y.MulXV(this.m_xf,t,e)},r.GetWorldVector=function(t,e){return X.MulRV(this.m_xf.q,t,e)},r.GetLocalPoint=function(t,e){return Y.MulTXV(this.m_xf,t,e)},r.GetLocalVector=function(t,e){return X.MulTRV(this.m_xf.q,t,e)},r.GetLinearVelocityFromWorldPoint=function(t,e){return z.AddVCrossSV(this.m_linearVelocity,this.m_angularVelocity,z.SubVV(t,this.m_sweep.c,z.s_t0),e)},r.GetLinearVelocityFromLocalPoint=function(t,e){return this.GetLinearVelocityFromWorldPoint(this.GetWorldPoint(t,e),e)},r.GetLinearDamping=function(){return this.m_linearDamping},r.SetLinearDamping=function(t){this.m_linearDamping=t},r.GetAngularDamping=function(){return this.m_angularDamping},r.SetAngularDamping=function(t){this.m_angularDamping=t},r.GetGravityScale=function(){return this.m_gravityScale},r.SetGravityScale=function(t){this.m_gravityScale=t},r.SetType=function(e){if(this.m_world.IsLocked())throw new Error;if(this.m_type!==e){this.m_type=e,this.ResetMassData(),this.m_type===t.b2BodyType.b2_staticBody&&(this.m_linearVelocity.SetZero(),this.m_angularVelocity=0,this.m_sweep.a0=this.m_sweep.a,this.m_sweep.c0.Copy(this.m_sweep.c),this.SynchronizeFixtures()),this.SetAwake(!0),this.m_force.SetZero(),this.m_torque=0;for(var i=this.m_contactList;i;){var r=i;i=i.next,this.m_world.m_contactManager.Destroy(r.contact)}this.m_contactList=null;for(var n=this.m_fixtureList;n;n=n.m_next)n.TouchProxies()}},r.GetType=function(){return this.m_type},r.SetBullet=function(t){this.m_bulletFlag=t},r.IsBullet=function(){return this.m_bulletFlag},r.SetSleepingAllowed=function(t){this.m_autoSleepFlag=t,t||this.SetAwake(!0)},r.IsSleepingAllowed=function(){return this.m_autoSleepFlag},r.SetAwake=function(t){t?(this.m_awakeFlag=!0,this.m_sleepTime=0):(this.m_awakeFlag=!1,this.m_sleepTime=0,this.m_linearVelocity.SetZero(),this.m_angularVelocity=0,this.m_force.SetZero(),this.m_torque=0)},r.IsAwake=function(){return this.m_awakeFlag},r.SetActive=function(t){if(this.m_world.IsLocked())throw new Error;if(t!==this.IsActive())if(this.m_activeFlag=t,t)for(var e=this.m_fixtureList;e;e=e.m_next)e.CreateProxies();else{for(var i=this.m_fixtureList;i;i=i.m_next)i.DestroyProxies();for(var r=this.m_contactList;r;){var n=r;r=r.next,this.m_world.m_contactManager.Destroy(n.contact)}this.m_contactList=null}},r.IsActive=function(){return this.m_activeFlag},r.SetFixedRotation=function(t){this.m_fixedRotationFlag!==t&&(this.m_fixedRotationFlag=t,this.m_angularVelocity=0,this.ResetMassData())},r.IsFixedRotation=function(){return this.m_fixedRotationFlag},r.GetFixtureList=function(){return this.m_fixtureList},r.GetJointList=function(){return this.m_jointList},r.GetContactList=function(){return this.m_contactList},r.GetNext=function(){return this.m_next},r.GetUserData=function(){return this.m_userData},r.SetUserData=function(t){this.m_userData=t},r.GetWorld=function(){return this.m_world},r.Dump=function(e){var i=this.m_islandIndex;e("{\n"),e(" const bd: b2BodyDef = new b2BodyDef();\n");var r="";switch(this.m_type){case t.b2BodyType.b2_staticBody:r="b2BodyType.b2_staticBody";break;case t.b2BodyType.b2_kinematicBody:r="b2BodyType.b2_kinematicBody";break;case t.b2BodyType.b2_dynamicBody:r="b2BodyType.b2_dynamicBody"}e(" bd.type = %s;\n",r),e(" bd.position.Set(%.15f, %.15f);\n",this.m_xf.p.x,this.m_xf.p.y),e(" bd.angle = %.15f;\n",this.m_sweep.a),e(" bd.linearVelocity.Set(%.15f, %.15f);\n",this.m_linearVelocity.x,this.m_linearVelocity.y),e(" bd.angularVelocity = %.15f;\n",this.m_angularVelocity),e(" bd.linearDamping = %.15f;\n",this.m_linearDamping),e(" bd.angularDamping = %.15f;\n",this.m_angularDamping),e(" bd.allowSleep = %s;\n",this.m_autoSleepFlag?"true":"false"),e(" bd.awake = %s;\n",this.m_awakeFlag?"true":"false"),e(" bd.fixedRotation = %s;\n",this.m_fixedRotationFlag?"true":"false"),e(" bd.bullet = %s;\n",this.m_bulletFlag?"true":"false"),e(" bd.active = %s;\n",this.m_activeFlag?"true":"false"),e(" bd.gravityScale = %.15f;\n",this.m_gravityScale),e("\n"),e(" bodies[%d] = this.m_world.CreateBody(bd);\n",this.m_islandIndex),e("\n");for(var n=this.m_fixtureList;n;n=n.m_next)e(" {\n"),n.Dump(e,i),e(" }\n");e("}\n")},r.SynchronizeFixtures=function(){var t=i.SynchronizeFixtures_s_xf1;t.q.SetAngle(this.m_sweep.a0),X.MulRV(t.q,this.m_sweep.localCenter,t.p),z.SubVV(this.m_sweep.c0,t.p,t.p);for(var e=z.SubVV(this.m_sweep.c,this.m_sweep.c0,i.SynchronizeFixtures_s_displacement),r=this.m_fixtureList;r;r=r.m_next)r.SynchronizeProxies(t,this.m_xf,e)},r.SynchronizeTransform=function(){this.m_xf.q.SetAngle(this.m_sweep.a),X.MulRV(this.m_xf.q,this.m_sweep.localCenter,this.m_xf.p),z.SubVV(this.m_sweep.c,this.m_xf.p,this.m_xf.p)},r.ShouldCollide=function(e){return(this.m_type!==t.b2BodyType.b2_staticBody||e.m_type!==t.b2BodyType.b2_staticBody)&&this.ShouldCollideConnected(e)},r.ShouldCollideConnected=function(t){for(var e=this.m_jointList;e;e=e.next)if(e.other===t&&!e.joint.m_collideConnected)return!1;return!0},r.Advance=function(t){this.m_sweep.Advance(t),this.m_sweep.c.Copy(this.m_sweep.c0),this.m_sweep.a=this.m_sweep.a0,this.m_xf.q.SetAngle(this.m_sweep.a),X.MulRV(this.m_xf.q,this.m_sweep.localCenter,this.m_xf.p),z.SubVV(this.m_sweep.c,this.m_xf.p,this.m_xf.p)},r.GetControllerList=function(){return this.m_controllerList},r.GetControllerCount=function(){return this.m_controllerCount},i}();Ei.CreateFixtureShapeDensity_s_def=new Si,Ei.SetMassData_s_oldCenter=new z,Ei.ResetMassData_s_localCenter=new z,Ei.ResetMassData_s_oldCenter=new z,Ei.ResetMassData_s_massData=new pi,Ei.SynchronizeFixtures_s_xf1=new Y,Ei.SynchronizeFixtures_s_displacement=new z,(wi=t.b2JointType||(t.b2JointType={}))[wi.e_unknownJoint=0]="e_unknownJoint",wi[wi.e_revoluteJoint=1]="e_revoluteJoint",wi[wi.e_prismaticJoint=2]="e_prismaticJoint",wi[wi.e_distanceJoint=3]="e_distanceJoint",wi[wi.e_pulleyJoint=4]="e_pulleyJoint",wi[wi.e_mouseJoint=5]="e_mouseJoint",wi[wi.e_gearJoint=6]="e_gearJoint",wi[wi.e_wheelJoint=7]="e_wheelJoint",wi[wi.e_weldJoint=8]="e_weldJoint",wi[wi.e_frictionJoint=9]="e_frictionJoint",wi[wi.e_ropeJoint=10]="e_ropeJoint",wi[wi.e_motorJoint=11]="e_motorJoint",wi[wi.e_areaJoint=12]="e_areaJoint",(Ti=t.b2LimitState||(t.b2LimitState={}))[Ti.e_inactiveLimit=0]="e_inactiveLimit",Ti[Ti.e_atLowerLimit=1]="e_atLowerLimit",Ti[Ti.e_atUpperLimit=2]="e_atUpperLimit",Ti[Ti.e_equalLimits=3]="e_equalLimits";var Bi=function(){function t(){this.linear=new z,this.angularA=0,this.angularB=0}var e=t.prototype;return e.SetZero=function(){return this.linear.SetZero(),this.angularA=0,this.angularB=0,this},e.Set=function(t,e,i){return this.linear.Copy(t),this.angularA=e,this.angularB=i,this},t}(),Di=function(){function t(t){this._other=null,this.prev=null,this.next=null,this.joint=t}return t.prototype.Reset=function(){this._other=null,this.prev=null,this.next=null},Pe(t,[{key:"other",get:function(){if(null===this._other)throw new Error;return this._other},set:function(t){if(null!==this._other)throw new Error;this._other=t}}]),t}(),Mi=function(e){this.type=t.b2JointType.e_unknownJoint,this.userData=null,this.collideConnected=!1,this.type=e},Pi=function(){function i(i){this.m_type=t.b2JointType.e_unknownJoint,this.m_prev=null,this.m_next=null,this.m_edgeA=new Di(this),this.m_edgeB=new Di(this),this.m_index=0,this.m_islandFlag=!1,this.m_collideConnected=!1,this.m_userData=null,this.m_type=i.type,this.m_edgeA.other=i.bodyB,this.m_edgeB.other=i.bodyA,this.m_bodyA=i.bodyA,this.m_bodyB=i.bodyB,this.m_collideConnected=e(i.collideConnected,!1),this.m_userData=e(i.userData,null)}var r=i.prototype;return r.GetType=function(){return this.m_type},r.GetBodyA=function(){return this.m_bodyA},r.GetBodyB=function(){return this.m_bodyB},r.GetNext=function(){return this.m_next},r.GetUserData=function(){return this.m_userData},r.SetUserData=function(t){this.m_userData=t},r.IsActive=function(){return this.m_bodyA.IsActive()&&this.m_bodyB.IsActive()},r.GetCollideConnected=function(){return this.m_collideConnected},r.Dump=function(t){t("// Dump is not supported for this joint type.\n")},r.ShiftOrigin=function(){},i}(),Ri=function(e){function i(){var i;return(i=e.call(this,t.b2JointType.e_distanceJoint)||this).localAnchorA=new z,i.localAnchorB=new z,i.length=1,i.frequencyHz=0,i.dampingRatio=0,i}return Me(i,e),i.prototype.Initialize=function(t,e,i,r){this.bodyA=t,this.bodyB=e,this.bodyA.GetLocalPoint(i,this.localAnchorA),this.bodyB.GetLocalPoint(r,this.localAnchorB),this.length=z.DistanceVV(i,r),this.frequencyHz=0,this.dampingRatio=0},i}(Mi),Ii=function(t){function i(i){var r;return(r=t.call(this,i)||this).m_frequencyHz=0,r.m_dampingRatio=0,r.m_bias=0,r.m_localAnchorA=new z,r.m_localAnchorB=new z,r.m_gamma=0,r.m_impulse=0,r.m_length=0,r.m_indexA=0,r.m_indexB=0,r.m_u=new z,r.m_rA=new z,r.m_rB=new z,r.m_localCenterA=new z,r.m_localCenterB=new z,r.m_invMassA=0,r.m_invMassB=0,r.m_invIA=0,r.m_invIB=0,r.m_mass=0,r.m_qA=new X,r.m_qB=new X,r.m_lalcA=new z,r.m_lalcB=new z,r.m_frequencyHz=e(i.frequencyHz,0),r.m_dampingRatio=e(i.dampingRatio,0),r.m_localAnchorA.Copy(i.localAnchorA),r.m_localAnchorB.Copy(i.localAnchorB),r.m_length=i.length,r}Me(i,t);var r=i.prototype;return r.GetAnchorA=function(t){return this.m_bodyA.GetWorldPoint(this.m_localAnchorA,t)},r.GetAnchorB=function(t){return this.m_bodyB.GetWorldPoint(this.m_localAnchorB,t)},r.GetReactionForce=function(t,e){return e.x=t*this.m_impulse*this.m_u.x,e.y=t*this.m_impulse*this.m_u.y,e},r.GetReactionTorque=function(){return 0},r.GetLocalAnchorA=function(){return this.m_localAnchorA},r.GetLocalAnchorB=function(){return this.m_localAnchorB},r.SetLength=function(t){this.m_length=t},r.Length=function(){return this.m_length},r.SetFrequency=function(t){this.m_frequencyHz=t},r.GetFrequency=function(){return this.m_frequencyHz},r.SetDampingRatio=function(t){this.m_dampingRatio=t},r.GetDampingRatio=function(){return this.m_dampingRatio},r.Dump=function(t){var e=this.m_bodyA.m_islandIndex,i=this.m_bodyB.m_islandIndex;t(" const jd: b2DistanceJointDef = new b2DistanceJointDef();\n"),t(" jd.bodyA = bodies[%d];\n",e),t(" jd.bodyB = bodies[%d];\n",i),t(" jd.collideConnected = %s;\n",this.m_collideConnected?"true":"false"),t(" jd.localAnchorA.Set(%.15f, %.15f);\n",this.m_localAnchorA.x,this.m_localAnchorA.y),t(" jd.localAnchorB.Set(%.15f, %.15f);\n",this.m_localAnchorB.x,this.m_localAnchorB.y),t(" jd.length = %.15f;\n",this.m_length),t(" jd.frequencyHz = %.15f;\n",this.m_frequencyHz),t(" jd.dampingRatio = %.15f;\n",this.m_dampingRatio),t(" joints[%d] = this.m_world.CreateJoint(jd);\n",this.m_index)},r.InitVelocityConstraints=function(t){this.m_indexA=this.m_bodyA.m_islandIndex,this.m_indexB=this.m_bodyB.m_islandIndex,this.m_localCenterA.Copy(this.m_bodyA.m_sweep.localCenter),this.m_localCenterB.Copy(this.m_bodyB.m_sweep.localCenter),this.m_invMassA=this.m_bodyA.m_invMass,this.m_invMassB=this.m_bodyB.m_invMass,this.m_invIA=this.m_bodyA.m_invI,this.m_invIB=this.m_bodyB.m_invI;var e=t.positions[this.m_indexA].c,r=t.positions[this.m_indexA].a,n=t.velocities[this.m_indexA].v,a=t.velocities[this.m_indexA].w,l=t.positions[this.m_indexB].c,h=t.positions[this.m_indexB].a,u=t.velocities[this.m_indexB].v,c=t.velocities[this.m_indexB].w,_=this.m_qA.SetAngle(r),f=this.m_qB.SetAngle(h);z.SubVV(this.m_localAnchorA,this.m_localCenterA,this.m_lalcA),X.MulRV(_,this.m_lalcA,this.m_rA),z.SubVV(this.m_localAnchorB,this.m_localCenterB,this.m_lalcB),X.MulRV(f,this.m_lalcB,this.m_rB),this.m_u.x=l.x+this.m_rB.x-e.x-this.m_rA.x,this.m_u.y=l.y+this.m_rB.y-e.y-this.m_rA.y;var p=this.m_u.Length();p>o?this.m_u.SelfMul(1/p):this.m_u.SetZero();var d=z.CrossVV(this.m_rA,this.m_u),m=z.CrossVV(this.m_rB,this.m_u),y=this.m_invMassA+this.m_invIA*d*d+this.m_invMassB+this.m_invIB*m*m;if(this.m_mass=0!==y?1/y:0,this.m_frequencyHz>0){var g=p-this.m_length,v=2*s*this.m_frequencyHz,b=2*this.m_mass*this.m_dampingRatio*v,S=this.m_mass*v*v,A=t.step.dt;this.m_gamma=A*(b+A*S),this.m_gamma=0!==this.m_gamma?1/this.m_gamma:0,this.m_bias=g*A*S*this.m_gamma,y+=this.m_gamma,this.m_mass=0!==y?1/y:0}else this.m_gamma=0,this.m_bias=0;if(t.step.warmStarting){this.m_impulse*=t.step.dtRatio;var C=z.MulSV(this.m_impulse,this.m_u,i.InitVelocityConstraints_s_P);n.SelfMulSub(this.m_invMassA,C),a-=this.m_invIA*z.CrossVV(this.m_rA,C),u.SelfMulAdd(this.m_invMassB,C),c+=this.m_invIB*z.CrossVV(this.m_rB,C)}else this.m_impulse=0;t.velocities[this.m_indexA].w=a,t.velocities[this.m_indexB].w=c},r.SolveVelocityConstraints=function(t){var e=t.velocities[this.m_indexA].v,r=t.velocities[this.m_indexA].w,n=t.velocities[this.m_indexB].v,s=t.velocities[this.m_indexB].w,a=z.AddVCrossSV(e,r,this.m_rA,i.SolveVelocityConstraints_s_vpA),o=z.AddVCrossSV(n,s,this.m_rB,i.SolveVelocityConstraints_s_vpB),l=z.DotVV(this.m_u,z.SubVV(o,a,z.s_t0)),h=-this.m_mass*(l+this.m_bias+this.m_gamma*this.m_impulse);this.m_impulse+=h;var u=z.MulSV(h,this.m_u,i.SolveVelocityConstraints_s_P);e.SelfMulSub(this.m_invMassA,u),r-=this.m_invIA*z.CrossVV(this.m_rA,u),n.SelfMulAdd(this.m_invMassB,u),s+=this.m_invIB*z.CrossVV(this.m_rB,u),t.velocities[this.m_indexA].w=r,t.velocities[this.m_indexB].w=s},r.SolvePositionConstraints=function(t){if(this.m_frequencyHz>0)return!0;var e=t.positions[this.m_indexA].c,r=t.positions[this.m_indexA].a,n=t.positions[this.m_indexB].c,s=t.positions[this.m_indexB].a,a=this.m_qA.SetAngle(r),l=this.m_qB.SetAngle(s),h=X.MulRV(a,this.m_lalcA,this.m_rA),c=X.MulRV(l,this.m_lalcB,this.m_rB),_=this.m_u;_.x=n.x+c.x-e.x-h.x,_.y=n.y+c.y-e.y-h.y;var f=this.m_u.Normalize()-this.m_length;f=M(f,-.2,u);var p=-this.m_mass*f,d=z.MulSV(p,_,i.SolvePositionConstraints_s_P);return e.SelfMulSub(this.m_invMassA,d),r-=this.m_invIA*z.CrossVV(h,d),n.SelfMulAdd(this.m_invMassB,d),s+=this.m_invIB*z.CrossVV(c,d),t.positions[this.m_indexA].a=r,t.positions[this.m_indexB].a=s,E(f)R(u)&&v.SelfMul(u/O(b)),b>R(o)&&(p=!1),y.x+=v.x,y.y+=v.y}return p},i}(Pi),Li=function(e){function i(){var i;return(i=e.call(this,t.b2JointType.e_frictionJoint)||this).localAnchorA=new z,i.localAnchorB=new z,i.maxForce=0,i.maxTorque=0,i}return Me(i,e),i.prototype.Initialize=function(t,e,i){this.bodyA=t,this.bodyB=e,this.bodyA.GetLocalPoint(i,this.localAnchorA),this.bodyB.GetLocalPoint(i,this.localAnchorB)},i}(Mi),Vi=function(t){function i(i){var r;return(r=t.call(this,i)||this).m_localAnchorA=new z,r.m_localAnchorB=new z,r.m_linearImpulse=new z,r.m_angularImpulse=0,r.m_maxForce=0,r.m_maxTorque=0,r.m_indexA=0,r.m_indexB=0,r.m_rA=new z,r.m_rB=new z,r.m_localCenterA=new z,r.m_localCenterB=new z,r.m_invMassA=0,r.m_invMassB=0,r.m_invIA=0,r.m_invIB=0,r.m_linearMass=new j,r.m_angularMass=0,r.m_qA=new X,r.m_qB=new X,r.m_lalcA=new z,r.m_lalcB=new z,r.m_K=new j,r.m_localAnchorA.Copy(i.localAnchorA),r.m_localAnchorB.Copy(i.localAnchorB),r.m_linearImpulse.SetZero(),r.m_maxForce=e(i.maxForce,0),r.m_maxTorque=e(i.maxTorque,0),r.m_linearMass.SetZero(),r}Me(i,t);var r=i.prototype;return r.InitVelocityConstraints=function(t){this.m_indexA=this.m_bodyA.m_islandIndex,this.m_indexB=this.m_bodyB.m_islandIndex,this.m_localCenterA.Copy(this.m_bodyA.m_sweep.localCenter),this.m_localCenterB.Copy(this.m_bodyB.m_sweep.localCenter),this.m_invMassA=this.m_bodyA.m_invMass,this.m_invMassB=this.m_bodyB.m_invMass,this.m_invIA=this.m_bodyA.m_invI,this.m_invIB=this.m_bodyB.m_invI;var e=t.positions[this.m_indexA].a,i=t.velocities[this.m_indexA].v,r=t.velocities[this.m_indexA].w,n=t.positions[this.m_indexB].a,s=t.velocities[this.m_indexB].v,a=t.velocities[this.m_indexB].w,o=this.m_qA.SetAngle(e),l=this.m_qB.SetAngle(n);z.SubVV(this.m_localAnchorA,this.m_localCenterA,this.m_lalcA);var h=X.MulRV(o,this.m_lalcA,this.m_rA);z.SubVV(this.m_localAnchorB,this.m_localCenterB,this.m_lalcB);var u=X.MulRV(l,this.m_lalcB,this.m_rB),c=this.m_invMassA,_=this.m_invMassB,f=this.m_invIA,p=this.m_invIB,d=this.m_K;if(d.ex.x=c+_+f*h.y*h.y+p*u.y*u.y,d.ex.y=-f*h.x*h.y-p*u.x*u.y,d.ey.x=d.ex.y,d.ey.y=c+_+f*h.x*h.x+p*u.x*u.x,d.GetInverse(this.m_linearMass),this.m_angularMass=f+p,this.m_angularMass>0&&(this.m_angularMass=1/this.m_angularMass),t.step.warmStarting){this.m_linearImpulse.SelfMul(t.step.dtRatio),this.m_angularImpulse*=t.step.dtRatio;var m=this.m_linearImpulse;i.SelfMulSub(c,m),r-=f*(z.CrossVV(this.m_rA,m)+this.m_angularImpulse),s.SelfMulAdd(_,m),a+=p*(z.CrossVV(this.m_rB,m)+this.m_angularImpulse)}else this.m_linearImpulse.SetZero(),this.m_angularImpulse=0;t.velocities[this.m_indexA].w=r,t.velocities[this.m_indexB].w=a},r.SolveVelocityConstraints=function(t){var e=t.velocities[this.m_indexA].v,r=t.velocities[this.m_indexA].w,n=t.velocities[this.m_indexB].v,s=t.velocities[this.m_indexB].w,a=this.m_invMassA,o=this.m_invMassB,l=this.m_invIA,h=this.m_invIB,u=t.step.dt,c=s-r,_=-this.m_angularMass*c,f=this.m_angularImpulse,p=u*this.m_maxTorque;this.m_angularImpulse=M(this.m_angularImpulse+_,-p,p),r-=l*(_=this.m_angularImpulse-f),s+=h*_;var d=z.SubVV(z.AddVCrossSV(n,s,this.m_rB,z.s_t0),z.AddVCrossSV(e,r,this.m_rA,z.s_t1),i.SolveVelocityConstraints_s_Cdot_v2),m=j.MulMV(this.m_linearMass,d,i.SolveVelocityConstraints_s_impulseV).SelfNeg(),y=i.SolveVelocityConstraints_s_oldImpulseV.Copy(this.m_linearImpulse);this.m_linearImpulse.SelfAdd(m);var g=u*this.m_maxForce;this.m_linearImpulse.LengthSquared()>g*g&&(this.m_linearImpulse.Normalize(),this.m_linearImpulse.SelfMul(g)),z.SubVV(this.m_linearImpulse,y,m),e.SelfMulSub(a,m),r-=l*z.CrossVV(this.m_rA,m),n.SelfMulAdd(o,m),s+=h*z.CrossVV(this.m_rB,m),t.velocities[this.m_indexA].w=r,t.velocities[this.m_indexB].w=s},r.SolvePositionConstraints=function(){return!0},r.GetAnchorA=function(t){return this.m_bodyA.GetWorldPoint(this.m_localAnchorA,t)},r.GetAnchorB=function(t){return this.m_bodyB.GetWorldPoint(this.m_localAnchorB,t)},r.GetReactionForce=function(t,e){return e.x=t*this.m_linearImpulse.x,e.y=t*this.m_linearImpulse.y,e},r.GetReactionTorque=function(t){return t*this.m_angularImpulse},r.GetLocalAnchorA=function(){return this.m_localAnchorA},r.GetLocalAnchorB=function(){return this.m_localAnchorB},r.SetMaxForce=function(t){this.m_maxForce=t},r.GetMaxForce=function(){return this.m_maxForce},r.SetMaxTorque=function(t){this.m_maxTorque=t},r.GetMaxTorque=function(){return this.m_maxTorque},r.Dump=function(t){var e=this.m_bodyA.m_islandIndex,i=this.m_bodyB.m_islandIndex;t(" const jd: b2FrictionJointDef = new b2FrictionJointDef();\n"),t(" jd.bodyA = bodies[%d];\n",e),t(" jd.bodyB = bodies[%d];\n",i),t(" jd.collideConnected = %s;\n",this.m_collideConnected?"true":"false"),t(" jd.localAnchorA.Set(%.15f, %.15f);\n",this.m_localAnchorA.x,this.m_localAnchorA.y),t(" jd.localAnchorB.Set(%.15f, %.15f);\n",this.m_localAnchorB.x,this.m_localAnchorB.y),t(" jd.maxForce = %.15f;\n",this.m_maxForce),t(" jd.maxTorque = %.15f;\n",this.m_maxTorque),t(" joints[%d] = this.m_world.CreateJoint(jd);\n",this.m_index)},i}(Pi);Vi.SolveVelocityConstraints_s_Cdot_v2=new z,Vi.SolveVelocityConstraints_s_impulseV=new z,Vi.SolveVelocityConstraints_s_oldImpulseV=new z;var ki=function(e){function i(){var i;return(i=e.call(this,t.b2JointType.e_gearJoint)||this).ratio=1,i}return Me(i,e),i}(Mi),Ni=function(i){function r(r){var n,s,a;(n=i.call(this,r)||this).m_typeA=t.b2JointType.e_unknownJoint,n.m_typeB=t.b2JointType.e_unknownJoint,n.m_localAnchorA=new z,n.m_localAnchorB=new z,n.m_localAnchorC=new z,n.m_localAnchorD=new z,n.m_localAxisC=new z,n.m_localAxisD=new z,n.m_referenceAngleA=0,n.m_referenceAngleB=0,n.m_constant=0,n.m_ratio=0,n.m_impulse=0,n.m_indexA=0,n.m_indexB=0,n.m_indexC=0,n.m_indexD=0,n.m_lcA=new z,n.m_lcB=new z,n.m_lcC=new z,n.m_lcD=new z,n.m_mA=0,n.m_mB=0,n.m_mC=0,n.m_mD=0,n.m_iA=0,n.m_iB=0,n.m_iC=0,n.m_iD=0,n.m_JvAC=new z,n.m_JvBD=new z,n.m_JwA=0,n.m_JwB=0,n.m_JwC=0,n.m_JwD=0,n.m_mass=0,n.m_qA=new X,n.m_qB=new X,n.m_qC=new X,n.m_qD=new X,n.m_lalcA=new z,n.m_lalcB=new z,n.m_lalcC=new z,n.m_lalcD=new z,n.m_joint1=r.joint1,n.m_joint2=r.joint2,n.m_typeA=n.m_joint1.GetType(),n.m_typeB=n.m_joint2.GetType(),n.m_bodyC=n.m_joint1.GetBodyA(),n.m_bodyA=n.m_joint1.GetBodyB();var o=n.m_bodyA.m_xf,l=n.m_bodyA.m_sweep.a,h=n.m_bodyC.m_xf,u=n.m_bodyC.m_sweep.a;if(n.m_typeA===t.b2JointType.e_revoluteJoint){var c=r.joint1;n.m_localAnchorC.Copy(c.m_localAnchorA),n.m_localAnchorA.Copy(c.m_localAnchorB),n.m_referenceAngleA=c.m_referenceAngle,n.m_localAxisC.SetZero(),s=l-u-n.m_referenceAngleA}else{var _=r.joint1;n.m_localAnchorC.Copy(_.m_localAnchorA),n.m_localAnchorA.Copy(_.m_localAnchorB),n.m_referenceAngleA=_.m_referenceAngle,n.m_localAxisC.Copy(_.m_localXAxisA);var f=n.m_localAnchorC,p=X.MulTRV(h.q,z.AddVV(X.MulRV(o.q,n.m_localAnchorA,z.s_t0),z.SubVV(o.p,h.p,z.s_t1),z.s_t0),z.s_t0);s=z.DotVV(z.SubVV(p,f,z.s_t0),n.m_localAxisC)}n.m_bodyD=n.m_joint2.GetBodyA(),n.m_bodyB=n.m_joint2.GetBodyB();var d=n.m_bodyB.m_xf,m=n.m_bodyB.m_sweep.a,y=n.m_bodyD.m_xf,g=n.m_bodyD.m_sweep.a;if(n.m_typeB===t.b2JointType.e_revoluteJoint){var v=r.joint2;n.m_localAnchorD.Copy(v.m_localAnchorA),n.m_localAnchorB.Copy(v.m_localAnchorB),n.m_referenceAngleB=v.m_referenceAngle,n.m_localAxisD.SetZero(),a=m-g-n.m_referenceAngleB}else{var b=r.joint2;n.m_localAnchorD.Copy(b.m_localAnchorA),n.m_localAnchorB.Copy(b.m_localAnchorB),n.m_referenceAngleB=b.m_referenceAngle,n.m_localAxisD.Copy(b.m_localXAxisA);var S=n.m_localAnchorD,A=X.MulTRV(y.q,z.AddVV(X.MulRV(d.q,n.m_localAnchorB,z.s_t0),z.SubVV(d.p,y.p,z.s_t1),z.s_t0),z.s_t0);a=z.DotVV(z.SubVV(A,S,z.s_t0),n.m_localAxisD)}return n.m_ratio=e(r.ratio,1),n.m_constant=s+n.m_ratio*a,n.m_impulse=0,n}Me(r,i);var n=r.prototype;return n.InitVelocityConstraints=function(e){this.m_indexA=this.m_bodyA.m_islandIndex,this.m_indexB=this.m_bodyB.m_islandIndex,this.m_indexC=this.m_bodyC.m_islandIndex,this.m_indexD=this.m_bodyD.m_islandIndex,this.m_lcA.Copy(this.m_bodyA.m_sweep.localCenter),this.m_lcB.Copy(this.m_bodyB.m_sweep.localCenter),this.m_lcC.Copy(this.m_bodyC.m_sweep.localCenter),this.m_lcD.Copy(this.m_bodyD.m_sweep.localCenter),this.m_mA=this.m_bodyA.m_invMass,this.m_mB=this.m_bodyB.m_invMass,this.m_mC=this.m_bodyC.m_invMass,this.m_mD=this.m_bodyD.m_invMass,this.m_iA=this.m_bodyA.m_invI,this.m_iB=this.m_bodyB.m_invI,this.m_iC=this.m_bodyC.m_invI,this.m_iD=this.m_bodyD.m_invI;var i=e.positions[this.m_indexA].a,n=e.velocities[this.m_indexA].v,s=e.velocities[this.m_indexA].w,a=e.positions[this.m_indexB].a,o=e.velocities[this.m_indexB].v,l=e.velocities[this.m_indexB].w,h=e.positions[this.m_indexC].a,u=e.velocities[this.m_indexC].v,c=e.velocities[this.m_indexC].w,_=e.positions[this.m_indexD].a,f=e.velocities[this.m_indexD].v,p=e.velocities[this.m_indexD].w,d=this.m_qA.SetAngle(i),m=this.m_qB.SetAngle(a),y=this.m_qC.SetAngle(h),g=this.m_qD.SetAngle(_);if(this.m_mass=0,this.m_typeA===t.b2JointType.e_revoluteJoint)this.m_JvAC.SetZero(),this.m_JwA=1,this.m_JwC=1,this.m_mass+=this.m_iA+this.m_iC;else{var v=X.MulRV(y,this.m_localAxisC,r.InitVelocityConstraints_s_u);z.SubVV(this.m_localAnchorC,this.m_lcC,this.m_lalcC);var b=X.MulRV(y,this.m_lalcC,r.InitVelocityConstraints_s_rC);z.SubVV(this.m_localAnchorA,this.m_lcA,this.m_lalcA);var S=X.MulRV(d,this.m_lalcA,r.InitVelocityConstraints_s_rA);this.m_JvAC.Copy(v),this.m_JwC=z.CrossVV(b,v),this.m_JwA=z.CrossVV(S,v),this.m_mass+=this.m_mC+this.m_mA+this.m_iC*this.m_JwC*this.m_JwC+this.m_iA*this.m_JwA*this.m_JwA}if(this.m_typeB===t.b2JointType.e_revoluteJoint)this.m_JvBD.SetZero(),this.m_JwB=this.m_ratio,this.m_JwD=this.m_ratio,this.m_mass+=this.m_ratio*this.m_ratio*(this.m_iB+this.m_iD);else{var A=X.MulRV(g,this.m_localAxisD,r.InitVelocityConstraints_s_u);z.SubVV(this.m_localAnchorD,this.m_lcD,this.m_lalcD);var C=X.MulRV(g,this.m_lalcD,r.InitVelocityConstraints_s_rD);z.SubVV(this.m_localAnchorB,this.m_lcB,this.m_lalcB);var x=X.MulRV(m,this.m_lalcB,r.InitVelocityConstraints_s_rB);z.MulSV(this.m_ratio,A,this.m_JvBD),this.m_JwD=this.m_ratio*z.CrossVV(C,A),this.m_JwB=this.m_ratio*z.CrossVV(x,A),this.m_mass+=this.m_ratio*this.m_ratio*(this.m_mD+this.m_mB)+this.m_iD*this.m_JwD*this.m_JwD+this.m_iB*this.m_JwB*this.m_JwB}this.m_mass=this.m_mass>0?1/this.m_mass:0,e.step.warmStarting?(n.SelfMulAdd(this.m_mA*this.m_impulse,this.m_JvAC),s+=this.m_iA*this.m_impulse*this.m_JwA,o.SelfMulAdd(this.m_mB*this.m_impulse,this.m_JvBD),l+=this.m_iB*this.m_impulse*this.m_JwB,u.SelfMulSub(this.m_mC*this.m_impulse,this.m_JvAC),c-=this.m_iC*this.m_impulse*this.m_JwC,f.SelfMulSub(this.m_mD*this.m_impulse,this.m_JvBD),p-=this.m_iD*this.m_impulse*this.m_JwD):this.m_impulse=0,e.velocities[this.m_indexA].w=s,e.velocities[this.m_indexB].w=l,e.velocities[this.m_indexC].w=c,e.velocities[this.m_indexD].w=p},n.SolveVelocityConstraints=function(t){var e=t.velocities[this.m_indexA].v,i=t.velocities[this.m_indexA].w,r=t.velocities[this.m_indexB].v,n=t.velocities[this.m_indexB].w,s=t.velocities[this.m_indexC].v,a=t.velocities[this.m_indexC].w,o=t.velocities[this.m_indexD].v,l=t.velocities[this.m_indexD].w,h=z.DotVV(this.m_JvAC,z.SubVV(e,s,z.s_t0))+z.DotVV(this.m_JvBD,z.SubVV(r,o,z.s_t0));h+=this.m_JwA*i-this.m_JwC*a+(this.m_JwB*n-this.m_JwD*l);var u=-this.m_mass*h;this.m_impulse+=u,e.SelfMulAdd(this.m_mA*u,this.m_JvAC),i+=this.m_iA*u*this.m_JwA,r.SelfMulAdd(this.m_mB*u,this.m_JvBD),n+=this.m_iB*u*this.m_JwB,s.SelfMulSub(this.m_mC*u,this.m_JvAC),a-=this.m_iC*u*this.m_JwC,o.SelfMulSub(this.m_mD*u,this.m_JvBD),l-=this.m_iD*u*this.m_JwD,t.velocities[this.m_indexA].w=i,t.velocities[this.m_indexB].w=n,t.velocities[this.m_indexC].w=a,t.velocities[this.m_indexD].w=l},n.SolvePositionConstraints=function(e){var i,n,s,a,o,l,h=e.positions[this.m_indexA].c,u=e.positions[this.m_indexA].a,c=e.positions[this.m_indexB].c,_=e.positions[this.m_indexB].a,f=e.positions[this.m_indexC].c,p=e.positions[this.m_indexC].a,d=e.positions[this.m_indexD].c,m=e.positions[this.m_indexD].a,y=this.m_qA.SetAngle(u),g=this.m_qB.SetAngle(_),v=this.m_qC.SetAngle(p),b=this.m_qD.SetAngle(m),S=this.m_JvAC,A=this.m_JvBD,C=0;if(this.m_typeA===t.b2JointType.e_revoluteJoint)S.SetZero(),s=1,o=1,C+=this.m_iA+this.m_iC,i=u-p-this.m_referenceAngleA;else{var x=X.MulRV(v,this.m_localAxisC,r.SolvePositionConstraints_s_u),T=X.MulRV(v,this.m_lalcC,r.SolvePositionConstraints_s_rC),w=X.MulRV(y,this.m_lalcA,r.SolvePositionConstraints_s_rA);S.Copy(x),o=z.CrossVV(T,x),s=z.CrossVV(w,x),C+=this.m_mC+this.m_mA+this.m_iC*o*o+this.m_iA*s*s;var E=this.m_lalcC,B=X.MulTRV(v,z.AddVV(w,z.SubVV(h,f,z.s_t0),z.s_t0),z.s_t0);i=z.DotVV(z.SubVV(B,E,z.s_t0),this.m_localAxisC)}if(this.m_typeB===t.b2JointType.e_revoluteJoint)A.SetZero(),a=this.m_ratio,l=this.m_ratio,C+=this.m_ratio*this.m_ratio*(this.m_iB+this.m_iD),n=_-m-this.m_referenceAngleB;else{var D=X.MulRV(b,this.m_localAxisD,r.SolvePositionConstraints_s_u),M=X.MulRV(b,this.m_lalcD,r.SolvePositionConstraints_s_rD),P=X.MulRV(g,this.m_lalcB,r.SolvePositionConstraints_s_rB);z.MulSV(this.m_ratio,D,A),l=this.m_ratio*z.CrossVV(M,D),a=this.m_ratio*z.CrossVV(P,D),C+=this.m_ratio*this.m_ratio*(this.m_mD+this.m_mB)+this.m_iD*l*l+this.m_iB*a*a;var R=this.m_lalcD,I=X.MulTRV(b,z.AddVV(P,z.SubVV(c,d,z.s_t0),z.s_t0),z.s_t0);n=z.DotVV(z.SubVV(I,R,z.s_t0),this.m_localAxisD)}var O=i+this.m_ratio*n-this.m_constant,F=0;return C>0&&(F=-O/C),h.SelfMulAdd(this.m_mA*F,S),u+=this.m_iA*F*s,c.SelfMulAdd(this.m_mB*F,A),_+=this.m_iB*F*a,f.SelfMulSub(this.m_mC*F,S),p-=this.m_iC*F*o,d.SelfMulSub(this.m_mD*F,A),m-=this.m_iD*F*l,e.positions[this.m_indexA].a=u,e.positions[this.m_indexB].a=_,e.positions[this.m_indexC].a=p,e.positions[this.m_indexD].a=m,!0},n.GetAnchorA=function(t){return this.m_bodyA.GetWorldPoint(this.m_localAnchorA,t)},n.GetAnchorB=function(t){return this.m_bodyB.GetWorldPoint(this.m_localAnchorB,t)},n.GetReactionForce=function(t,e){return z.MulSV(t*this.m_impulse,this.m_JvAC,e)},n.GetReactionTorque=function(t){return t*this.m_impulse*this.m_JwA},n.GetJoint1=function(){return this.m_joint1},n.GetJoint2=function(){return this.m_joint2},n.GetRatio=function(){return this.m_ratio},n.SetRatio=function(t){this.m_ratio=t},n.Dump=function(t){var e=this.m_bodyA.m_islandIndex,i=this.m_bodyB.m_islandIndex,r=this.m_joint1.m_index,n=this.m_joint2.m_index;t(" const jd: b2GearJointDef = new b2GearJointDef();\n"),t(" jd.bodyA = bodies[%d];\n",e),t(" jd.bodyB = bodies[%d];\n",i),t(" jd.collideConnected = %s;\n",this.m_collideConnected?"true":"false"),t(" jd.joint1 = joints[%d];\n",r),t(" jd.joint2 = joints[%d];\n",n),t(" jd.ratio = %.15f;\n",this.m_ratio),t(" joints[%d] = this.m_world.CreateJoint(jd);\n",this.m_index)},r}(Pi);Ni.InitVelocityConstraints_s_u=new z,Ni.InitVelocityConstraints_s_rA=new z,Ni.InitVelocityConstraints_s_rB=new z,Ni.InitVelocityConstraints_s_rC=new z,Ni.InitVelocityConstraints_s_rD=new z,Ni.SolvePositionConstraints_s_u=new z,Ni.SolvePositionConstraints_s_rA=new z,Ni.SolvePositionConstraints_s_rB=new z,Ni.SolvePositionConstraints_s_rC=new z,Ni.SolvePositionConstraints_s_rD=new z;var Gi=function(e){function i(){var i;return(i=e.call(this,t.b2JointType.e_motorJoint)||this).linearOffset=new z(0,0),i.angularOffset=0,i.maxForce=1,i.maxTorque=1,i.correctionFactor=.3,i}return Me(i,e),i.prototype.Initialize=function(t,e){this.bodyA=t,this.bodyB=e,this.bodyA.GetLocalPoint(this.bodyB.GetPosition(),this.linearOffset);var i=this.bodyA.GetAngle(),r=this.bodyB.GetAngle();this.angularOffset=r-i},i}(Mi),zi=function(t){function i(i){var r;return(r=t.call(this,i)||this).m_linearOffset=new z,r.m_angularOffset=0,r.m_linearImpulse=new z,r.m_angularImpulse=0,r.m_maxForce=0,r.m_maxTorque=0,r.m_correctionFactor=.3,r.m_indexA=0,r.m_indexB=0,r.m_rA=new z,r.m_rB=new z,r.m_localCenterA=new z,r.m_localCenterB=new z,r.m_linearError=new z,r.m_angularError=0,r.m_invMassA=0,r.m_invMassB=0,r.m_invIA=0,r.m_invIB=0,r.m_linearMass=new j,r.m_angularMass=0,r.m_qA=new X,r.m_qB=new X,r.m_K=new j,r.m_linearOffset.Copy(e(i.linearOffset,z.ZERO)),r.m_linearImpulse.SetZero(),r.m_maxForce=e(i.maxForce,0),r.m_maxTorque=e(i.maxTorque,0),r.m_correctionFactor=e(i.correctionFactor,.3),r}Me(i,t);var r=i.prototype;return r.GetAnchorA=function(t){var e=this.m_bodyA.GetPosition();return t.x=e.x,t.y=e.y,t},r.GetAnchorB=function(t){var e=this.m_bodyB.GetPosition();return t.x=e.x,t.y=e.y,t},r.GetReactionForce=function(t,e){return z.MulSV(t,this.m_linearImpulse,e)},r.GetReactionTorque=function(t){return t*this.m_angularImpulse},r.SetLinearOffset=function(t){z.IsEqualToV(t,this.m_linearOffset)||(this.m_bodyA.SetAwake(!0),this.m_bodyB.SetAwake(!0),this.m_linearOffset.Copy(t))},r.GetLinearOffset=function(){return this.m_linearOffset},r.SetAngularOffset=function(t){t!==this.m_angularOffset&&(this.m_bodyA.SetAwake(!0),this.m_bodyB.SetAwake(!0),this.m_angularOffset=t)},r.GetAngularOffset=function(){return this.m_angularOffset},r.SetMaxForce=function(t){this.m_maxForce=t},r.GetMaxForce=function(){return this.m_maxForce},r.SetMaxTorque=function(t){this.m_maxTorque=t},r.GetMaxTorque=function(){return this.m_maxTorque},r.InitVelocityConstraints=function(t){this.m_indexA=this.m_bodyA.m_islandIndex,this.m_indexB=this.m_bodyB.m_islandIndex,this.m_localCenterA.Copy(this.m_bodyA.m_sweep.localCenter),this.m_localCenterB.Copy(this.m_bodyB.m_sweep.localCenter),this.m_invMassA=this.m_bodyA.m_invMass,this.m_invMassB=this.m_bodyB.m_invMass,this.m_invIA=this.m_bodyA.m_invI,this.m_invIB=this.m_bodyB.m_invI;var e=t.positions[this.m_indexA].c,i=t.positions[this.m_indexA].a,r=t.velocities[this.m_indexA].v,n=t.velocities[this.m_indexA].w,s=t.positions[this.m_indexB].c,a=t.positions[this.m_indexB].a,o=t.velocities[this.m_indexB].v,l=t.velocities[this.m_indexB].w,h=this.m_qA.SetAngle(i),u=this.m_qB.SetAngle(a),c=X.MulRV(h,z.SubVV(this.m_linearOffset,this.m_localCenterA,z.s_t0),this.m_rA),_=X.MulRV(u,z.NegV(this.m_localCenterB,z.s_t0),this.m_rB),f=this.m_invMassA,p=this.m_invMassB,d=this.m_invIA,m=this.m_invIB,y=this.m_K;if(y.ex.x=f+p+d*c.y*c.y+m*_.y*_.y,y.ex.y=-d*c.x*c.y-m*_.x*_.y,y.ey.x=y.ex.y,y.ey.y=f+p+d*c.x*c.x+m*_.x*_.x,y.GetInverse(this.m_linearMass),this.m_angularMass=d+m,this.m_angularMass>0&&(this.m_angularMass=1/this.m_angularMass),z.SubVV(z.AddVV(s,_,z.s_t0),z.AddVV(e,c,z.s_t1),this.m_linearError),this.m_angularError=a-i-this.m_angularOffset,t.step.warmStarting){this.m_linearImpulse.SelfMul(t.step.dtRatio),this.m_angularImpulse*=t.step.dtRatio;var g=this.m_linearImpulse;r.SelfMulSub(f,g),n-=d*(z.CrossVV(c,g)+this.m_angularImpulse),o.SelfMulAdd(p,g),l+=m*(z.CrossVV(_,g)+this.m_angularImpulse)}else this.m_linearImpulse.SetZero(),this.m_angularImpulse=0;t.velocities[this.m_indexA].w=n,t.velocities[this.m_indexB].w=l},r.SolveVelocityConstraints=function(t){var e=t.velocities[this.m_indexA].v,r=t.velocities[this.m_indexA].w,n=t.velocities[this.m_indexB].v,s=t.velocities[this.m_indexB].w,a=this.m_invMassA,o=this.m_invMassB,l=this.m_invIA,h=this.m_invIB,u=t.step.dt,c=t.step.inv_dt,_=s-r+c*this.m_correctionFactor*this.m_angularError,f=-this.m_angularMass*_,p=this.m_angularImpulse,d=u*this.m_maxTorque;this.m_angularImpulse=M(this.m_angularImpulse+f,-d,d),r-=l*(f=this.m_angularImpulse-p),s+=h*f;var m=this.m_rA,y=this.m_rB,g=z.AddVV(z.SubVV(z.AddVV(n,z.CrossSV(s,y,z.s_t0),z.s_t0),z.AddVV(e,z.CrossSV(r,m,z.s_t1),z.s_t1),z.s_t2),z.MulSV(c*this.m_correctionFactor,this.m_linearError,z.s_t3),i.SolveVelocityConstraints_s_Cdot_v2),v=j.MulMV(this.m_linearMass,g,i.SolveVelocityConstraints_s_impulse_v2).SelfNeg(),b=i.SolveVelocityConstraints_s_oldImpulse_v2.Copy(this.m_linearImpulse);this.m_linearImpulse.SelfAdd(v);var S=u*this.m_maxForce;this.m_linearImpulse.LengthSquared()>S*S&&(this.m_linearImpulse.Normalize(),this.m_linearImpulse.SelfMul(S)),z.SubVV(this.m_linearImpulse,b,v),e.SelfMulSub(a,v),r-=l*z.CrossVV(m,v),n.SelfMulAdd(o,v),s+=h*z.CrossVV(y,v),t.velocities[this.m_indexA].w=r,t.velocities[this.m_indexB].w=s},r.SolvePositionConstraints=function(){return!0},r.Dump=function(t){var e=this.m_bodyA.m_islandIndex,i=this.m_bodyB.m_islandIndex;t(" const jd: b2MotorJointDef = new b2MotorJointDef();\n"),t(" jd.bodyA = bodies[%d];\n",e),t(" jd.bodyB = bodies[%d];\n",i),t(" jd.collideConnected = %s;\n",this.m_collideConnected?"true":"false"),t(" jd.linearOffset.Set(%.15f, %.15f);\n",this.m_linearOffset.x,this.m_linearOffset.y),t(" jd.angularOffset = %.15f;\n",this.m_angularOffset),t(" jd.maxForce = %.15f;\n",this.m_maxForce),t(" jd.maxTorque = %.15f;\n",this.m_maxTorque),t(" jd.correctionFactor = %.15f;\n",this.m_correctionFactor),t(" joints[%d] = this.m_world.CreateJoint(jd);\n",this.m_index)},i}(Pi);zi.SolveVelocityConstraints_s_Cdot_v2=new z,zi.SolveVelocityConstraints_s_impulse_v2=new z,zi.SolveVelocityConstraints_s_oldImpulse_v2=new z;var Ui=function(e){function i(){var i;return(i=e.call(this,t.b2JointType.e_mouseJoint)||this).target=new z,i.maxForce=0,i.frequencyHz=5,i.dampingRatio=.7,i}return Me(i,e),i}(Mi),Hi=function(t){function i(i){var r;return(r=t.call(this,i)||this).m_localAnchorB=new z,r.m_targetA=new z,r.m_frequencyHz=0,r.m_dampingRatio=0,r.m_beta=0,r.m_impulse=new z,r.m_maxForce=0,r.m_gamma=0,r.m_indexA=0,r.m_indexB=0,r.m_rB=new z,r.m_localCenterB=new z,r.m_invMassB=0,r.m_invIB=0,r.m_mass=new j,r.m_C=new z,r.m_qB=new X,r.m_lalcB=new z,r.m_K=new j,r.m_targetA.Copy(e(i.target,z.ZERO)),Y.MulTXV(r.m_bodyB.GetTransform(),r.m_targetA,r.m_localAnchorB),r.m_maxForce=e(i.maxForce,0),r.m_impulse.SetZero(),r.m_frequencyHz=e(i.frequencyHz,0),r.m_dampingRatio=e(i.dampingRatio,0),r.m_beta=0,r.m_gamma=0,r}Me(i,t);var r=i.prototype;return r.SetTarget=function(t){this.m_bodyB.IsAwake()||this.m_bodyB.SetAwake(!0),this.m_targetA.Copy(t)},r.GetTarget=function(){return this.m_targetA},r.SetMaxForce=function(t){this.m_maxForce=t},r.GetMaxForce=function(){return this.m_maxForce},r.SetFrequency=function(t){this.m_frequencyHz=t},r.GetFrequency=function(){return this.m_frequencyHz},r.SetDampingRatio=function(t){this.m_dampingRatio=t},r.GetDampingRatio=function(){return this.m_dampingRatio},r.InitVelocityConstraints=function(t){this.m_indexB=this.m_bodyB.m_islandIndex,this.m_localCenterB.Copy(this.m_bodyB.m_sweep.localCenter),this.m_invMassB=this.m_bodyB.m_invMass,this.m_invIB=this.m_bodyB.m_invI;var e=t.positions[this.m_indexB].c,i=t.positions[this.m_indexB].a,r=t.velocities[this.m_indexB].v,n=t.velocities[this.m_indexB].w,a=this.m_qB.SetAngle(i),o=this.m_bodyB.GetMass(),l=2*s*this.m_frequencyHz,h=2*o*this.m_dampingRatio*l,u=o*l*l,c=t.step.dt;this.m_gamma=c*(h+c*u),0!==this.m_gamma&&(this.m_gamma=1/this.m_gamma),this.m_beta=c*u*this.m_gamma,z.SubVV(this.m_localAnchorB,this.m_localCenterB,this.m_lalcB),X.MulRV(a,this.m_lalcB,this.m_rB);var _=this.m_K;_.ex.x=this.m_invMassB+this.m_invIB*this.m_rB.y*this.m_rB.y+this.m_gamma,_.ex.y=-this.m_invIB*this.m_rB.x*this.m_rB.y,_.ey.x=_.ex.y,_.ey.y=this.m_invMassB+this.m_invIB*this.m_rB.x*this.m_rB.x+this.m_gamma,_.GetInverse(this.m_mass),this.m_C.x=e.x+this.m_rB.x-this.m_targetA.x,this.m_C.y=e.y+this.m_rB.y-this.m_targetA.y,this.m_C.SelfMul(this.m_beta),n*=.98,t.step.warmStarting?(this.m_impulse.SelfMul(t.step.dtRatio),r.x+=this.m_invMassB*this.m_impulse.x,r.y+=this.m_invMassB*this.m_impulse.y,n+=this.m_invIB*z.CrossVV(this.m_rB,this.m_impulse)):this.m_impulse.SetZero(),t.velocities[this.m_indexB].w=n},r.SolveVelocityConstraints=function(t){var e=t.velocities[this.m_indexB].v,r=t.velocities[this.m_indexB].w,n=z.AddVCrossSV(e,r,this.m_rB,i.SolveVelocityConstraints_s_Cdot),s=j.MulMV(this.m_mass,z.AddVV(n,z.AddVV(this.m_C,z.MulSV(this.m_gamma,this.m_impulse,z.s_t0),z.s_t0),z.s_t0).SelfNeg(),i.SolveVelocityConstraints_s_impulse),a=i.SolveVelocityConstraints_s_oldImpulse.Copy(this.m_impulse);this.m_impulse.SelfAdd(s);var o=t.step.dt*this.m_maxForce;this.m_impulse.LengthSquared()>o*o&&this.m_impulse.SelfMul(o/this.m_impulse.Length()),z.SubVV(this.m_impulse,a,s),e.SelfMulAdd(this.m_invMassB,s),r+=this.m_invIB*z.CrossVV(this.m_rB,s),t.velocities[this.m_indexB].w=r},r.SolvePositionConstraints=function(){return!0},r.GetAnchorA=function(t){return t.x=this.m_targetA.x,t.y=this.m_targetA.y,t},r.GetAnchorB=function(t){return this.m_bodyB.GetWorldPoint(this.m_localAnchorB,t)},r.GetReactionForce=function(t,e){return z.MulSV(t,this.m_impulse,e)},r.GetReactionTorque=function(){return 0},r.Dump=function(t){t("Mouse joint dumping is not supported.\n")},r.ShiftOrigin=function(t){this.m_targetA.SelfSub(t)},i}(Pi);Hi.SolveVelocityConstraints_s_Cdot=new z,Hi.SolveVelocityConstraints_s_impulse=new z,Hi.SolveVelocityConstraints_s_oldImpulse=new z;var ji=function(e){function i(){var i;return(i=e.call(this,t.b2JointType.e_prismaticJoint)||this).localAnchorA=new z,i.localAnchorB=new z,i.localAxisA=new z(1,0),i.referenceAngle=0,i.enableLimit=!1,i.lowerTranslation=0,i.upperTranslation=0,i.enableMotor=!1,i.maxMotorForce=0,i.motorSpeed=0,i}return Me(i,e),i.prototype.Initialize=function(t,e,i,r){this.bodyA=t,this.bodyB=e,this.bodyA.GetLocalPoint(i,this.localAnchorA),this.bodyB.GetLocalPoint(i,this.localAnchorB),this.bodyA.GetLocalVector(r,this.localAxisA),this.referenceAngle=this.bodyB.GetAngle()-this.bodyA.GetAngle()},i}(Mi),Wi=function(i){function r(r){var n;return(n=i.call(this,r)||this).m_localAnchorA=new z,n.m_localAnchorB=new z,n.m_localXAxisA=new z,n.m_localYAxisA=new z,n.m_referenceAngle=0,n.m_impulse=new H(0,0,0),n.m_motorImpulse=0,n.m_lowerTranslation=0,n.m_upperTranslation=0,n.m_maxMotorForce=0,n.m_motorSpeed=0,n.m_enableLimit=!1,n.m_enableMotor=!1,n.m_limitState=t.b2LimitState.e_inactiveLimit,n.m_indexA=0,n.m_indexB=0,n.m_localCenterA=new z,n.m_localCenterB=new z,n.m_invMassA=0,n.m_invMassB=0,n.m_invIA=0,n.m_invIB=0,n.m_axis=new z(0,0),n.m_perp=new z(0,0),n.m_s1=0,n.m_s2=0,n.m_a1=0,n.m_a2=0,n.m_K=new W,n.m_K3=new W,n.m_K2=new j,n.m_motorMass=0,n.m_qA=new X,n.m_qB=new X,n.m_lalcA=new z,n.m_lalcB=new z,n.m_rA=new z,n.m_rB=new z,n.m_localAnchorA.Copy(e(r.localAnchorA,z.ZERO)),n.m_localAnchorB.Copy(e(r.localAnchorB,z.ZERO)),n.m_localXAxisA.Copy(e(r.localAxisA,new z(1,0))).SelfNormalize(),z.CrossOneV(n.m_localXAxisA,n.m_localYAxisA),n.m_referenceAngle=e(r.referenceAngle,0),n.m_lowerTranslation=e(r.lowerTranslation,0),n.m_upperTranslation=e(r.upperTranslation,0),n.m_maxMotorForce=e(r.maxMotorForce,0),n.m_motorSpeed=e(r.motorSpeed,0),n.m_enableLimit=e(r.enableLimit,!1),n.m_enableMotor=e(r.enableMotor,!1),n}Me(r,i);var n=r.prototype;return n.InitVelocityConstraints=function(e){this.m_indexA=this.m_bodyA.m_islandIndex,this.m_indexB=this.m_bodyB.m_islandIndex,this.m_localCenterA.Copy(this.m_bodyA.m_sweep.localCenter),this.m_localCenterB.Copy(this.m_bodyB.m_sweep.localCenter),this.m_invMassA=this.m_bodyA.m_invMass,this.m_invMassB=this.m_bodyB.m_invMass,this.m_invIA=this.m_bodyA.m_invI,this.m_invIB=this.m_bodyB.m_invI;var i=e.positions[this.m_indexA].c,n=e.positions[this.m_indexA].a,s=e.velocities[this.m_indexA].v,a=e.velocities[this.m_indexA].w,o=e.positions[this.m_indexB].c,l=e.positions[this.m_indexB].a,h=e.velocities[this.m_indexB].v,u=e.velocities[this.m_indexB].w,c=this.m_qA.SetAngle(n),_=this.m_qB.SetAngle(l);z.SubVV(this.m_localAnchorA,this.m_localCenterA,this.m_lalcA);var f=X.MulRV(c,this.m_lalcA,this.m_rA);z.SubVV(this.m_localAnchorB,this.m_localCenterB,this.m_lalcB);var p=X.MulRV(_,this.m_lalcB,this.m_rB),d=z.AddVV(z.SubVV(o,i,z.s_t0),z.SubVV(p,f,z.s_t1),r.InitVelocityConstraints_s_d),m=this.m_invMassA,y=this.m_invMassB,g=this.m_invIA,v=this.m_invIB;if(X.MulRV(c,this.m_localXAxisA,this.m_axis),this.m_a1=z.CrossVV(z.AddVV(d,f,z.s_t0),this.m_axis),this.m_a2=z.CrossVV(p,this.m_axis),this.m_motorMass=m+y+g*this.m_a1*this.m_a1+v*this.m_a2*this.m_a2,this.m_motorMass>0&&(this.m_motorMass=1/this.m_motorMass),X.MulRV(c,this.m_localYAxisA,this.m_perp),this.m_s1=z.CrossVV(z.AddVV(d,f,z.s_t0),this.m_perp),this.m_s2=z.CrossVV(p,this.m_perp),this.m_K.ex.x=m+y+g*this.m_s1*this.m_s1+v*this.m_s2*this.m_s2,this.m_K.ex.y=g*this.m_s1+v*this.m_s2,this.m_K.ex.z=g*this.m_s1*this.m_a1+v*this.m_s2*this.m_a2,this.m_K.ey.x=this.m_K.ex.y,this.m_K.ey.y=g+v,0===this.m_K.ey.y&&(this.m_K.ey.y=1),this.m_K.ey.z=g*this.m_a1+v*this.m_a2,this.m_K.ez.x=this.m_K.ex.z,this.m_K.ez.y=this.m_K.ey.z,this.m_K.ez.z=m+y+g*this.m_a1*this.m_a1+v*this.m_a2*this.m_a2,this.m_enableLimit){var b=z.DotVV(this.m_axis,d);E(this.m_upperTranslation-this.m_lowerTranslation)<.016?this.m_limitState=t.b2LimitState.e_equalLimits:b<=this.m_lowerTranslation?this.m_limitState!==t.b2LimitState.e_atLowerLimit&&(this.m_limitState=t.b2LimitState.e_atLowerLimit,this.m_impulse.z=0):b>=this.m_upperTranslation?this.m_limitState!==t.b2LimitState.e_atUpperLimit&&(this.m_limitState=t.b2LimitState.e_atUpperLimit,this.m_impulse.z=0):(this.m_limitState=t.b2LimitState.e_inactiveLimit,this.m_impulse.z=0)}else this.m_limitState=t.b2LimitState.e_inactiveLimit,this.m_impulse.z=0;if(this.m_enableMotor||(this.m_motorImpulse=0),e.step.warmStarting){this.m_impulse.SelfMul(e.step.dtRatio),this.m_motorImpulse*=e.step.dtRatio;var S=z.AddVV(z.MulSV(this.m_impulse.x,this.m_perp,z.s_t0),z.MulSV(this.m_motorImpulse+this.m_impulse.z,this.m_axis,z.s_t1),r.InitVelocityConstraints_s_P),A=this.m_impulse.x*this.m_s1+this.m_impulse.y+(this.m_motorImpulse+this.m_impulse.z)*this.m_a1,C=this.m_impulse.x*this.m_s2+this.m_impulse.y+(this.m_motorImpulse+this.m_impulse.z)*this.m_a2;s.SelfMulSub(m,S),a-=g*A,h.SelfMulAdd(y,S),u+=v*C}else this.m_impulse.SetZero(),this.m_motorImpulse=0;e.velocities[this.m_indexA].w=a,e.velocities[this.m_indexB].w=u},n.SolveVelocityConstraints=function(e){var i=e.velocities[this.m_indexA].v,n=e.velocities[this.m_indexA].w,s=e.velocities[this.m_indexB].v,a=e.velocities[this.m_indexB].w,o=this.m_invMassA,l=this.m_invMassB,h=this.m_invIA,u=this.m_invIB;if(this.m_enableMotor&&this.m_limitState!==t.b2LimitState.e_equalLimits){var c=z.DotVV(this.m_axis,z.SubVV(s,i,z.s_t0))+this.m_a2*a-this.m_a1*n,_=this.m_motorMass*(this.m_motorSpeed-c),f=this.m_motorImpulse,p=e.step.dt*this.m_maxMotorForce;this.m_motorImpulse=M(this.m_motorImpulse+_,-p,p),_=this.m_motorImpulse-f;var d=z.MulSV(_,this.m_axis,r.SolveVelocityConstraints_s_P),m=_*this.m_a1,y=_*this.m_a2;i.SelfMulSub(o,d),n-=h*m,s.SelfMulAdd(l,d),a+=u*y}var g=z.DotVV(this.m_perp,z.SubVV(s,i,z.s_t0))+this.m_s2*a-this.m_s1*n,v=a-n;if(this.m_enableLimit&&this.m_limitState!==t.b2LimitState.e_inactiveLimit){var b=z.DotVV(this.m_axis,z.SubVV(s,i,z.s_t0))+this.m_a2*a-this.m_a1*n,S=r.SolveVelocityConstraints_s_f1.Copy(this.m_impulse),A=this.m_K.Solve33(-g,-v,-b,r.SolveVelocityConstraints_s_df3);this.m_impulse.SelfAdd(A),this.m_limitState===t.b2LimitState.e_atLowerLimit?this.m_impulse.z=D(this.m_impulse.z,0):this.m_limitState===t.b2LimitState.e_atUpperLimit&&(this.m_impulse.z=B(this.m_impulse.z,0));var C=-g-(this.m_impulse.z-S.z)*this.m_K.ez.x,x=-v-(this.m_impulse.z-S.z)*this.m_K.ez.y,T=this.m_K.Solve22(C,x,r.SolveVelocityConstraints_s_f2r);T.x+=S.x,T.y+=S.y,this.m_impulse.x=T.x,this.m_impulse.y=T.y,A.x=this.m_impulse.x-S.x,A.y=this.m_impulse.y-S.y,A.z=this.m_impulse.z-S.z;var w=z.AddVV(z.MulSV(A.x,this.m_perp,z.s_t0),z.MulSV(A.z,this.m_axis,z.s_t1),r.SolveVelocityConstraints_s_P),E=A.x*this.m_s1+A.y+A.z*this.m_a1,P=A.x*this.m_s2+A.y+A.z*this.m_a2;i.SelfMulSub(o,w),n-=h*E,s.SelfMulAdd(l,w),a+=u*P}else{var R=this.m_K.Solve22(-g,-v,r.SolveVelocityConstraints_s_df2);this.m_impulse.x+=R.x,this.m_impulse.y+=R.y;var I=z.MulSV(R.x,this.m_perp,r.SolveVelocityConstraints_s_P),O=R.x*this.m_s1+R.y,F=R.x*this.m_s2+R.y;i.SelfMulSub(o,I),n-=h*O,s.SelfMulAdd(l,I),a+=u*F}e.velocities[this.m_indexA].w=n,e.velocities[this.m_indexB].w=a},n.SolvePositionConstraints=function(t){var e=t.positions[this.m_indexA].c,i=t.positions[this.m_indexA].a,n=t.positions[this.m_indexB].c,s=t.positions[this.m_indexB].a,a=this.m_qA.SetAngle(i),h=this.m_qB.SetAngle(s),c=this.m_invMassA,_=this.m_invMassB,f=this.m_invIA,p=this.m_invIB,d=X.MulRV(a,this.m_lalcA,this.m_rA),m=X.MulRV(h,this.m_lalcB,this.m_rB),y=z.SubVV(z.AddVV(n,m,z.s_t0),z.AddVV(e,d,z.s_t1),r.SolvePositionConstraints_s_d),g=X.MulRV(a,this.m_localXAxisA,this.m_axis),v=z.CrossVV(z.AddVV(y,d,z.s_t0),g),b=z.CrossVV(m,g),S=X.MulRV(a,this.m_localYAxisA,this.m_perp),A=z.CrossVV(z.AddVV(y,d,z.s_t0),S),C=z.CrossVV(m,S),x=r.SolvePositionConstraints_s_impulse,T=z.DotVV(S,y),w=s-i-this.m_referenceAngle,B=E(T),P=E(w),R=!1,I=0;if(this.m_enableLimit){var O=z.DotVV(g,y);E(this.m_upperTranslation-this.m_lowerTranslation)<.016?(I=M(O,-.2,u),B=D(B,E(O)),R=!0):O<=this.m_lowerTranslation?(I=M(O-this.m_lowerTranslation+o,-.2,0),B=D(B,this.m_lowerTranslation-O),R=!0):O>=this.m_upperTranslation&&(I=M(O-this.m_upperTranslation-o,0,u),B=D(B,O-this.m_upperTranslation),R=!0)}if(R){var F=c+_+f*A*A+p*C*C,L=f*A+p*C,V=f*A*v+p*C*b,k=f+p;0===k&&(k=1);var N=f*v+p*b,G=c+_+f*v*v+p*b*b,U=this.m_K3;U.ex.SetXYZ(F,L,V),U.ey.SetXYZ(L,k,N),U.ez.SetXYZ(V,N,G),x=U.Solve33(-T,-w,-I,x)}else{var H=c+_+f*A*A+p*C*C,j=f*A+p*C,W=f+p;0===W&&(W=1);var Y=this.m_K2;Y.ex.Set(H,j),Y.ey.Set(j,W);var q=Y.Solve(-T,-w,r.SolvePositionConstraints_s_impulse1);x.x=q.x,x.y=q.y,x.z=0}var J=z.AddVV(z.MulSV(x.x,S,z.s_t0),z.MulSV(x.z,g,z.s_t1),r.SolvePositionConstraints_s_P),K=x.x*A+x.y+x.z*v,Z=x.x*C+x.y+x.z*b;return e.SelfMulSub(c,J),i-=f*K,n.SelfMulAdd(_,J),s+=p*Z,t.positions[this.m_indexA].a=i,t.positions[this.m_indexB].a=s,B<=o&&P<=l},n.GetAnchorA=function(t){return this.m_bodyA.GetWorldPoint(this.m_localAnchorA,t)},n.GetAnchorB=function(t){return this.m_bodyB.GetWorldPoint(this.m_localAnchorB,t)},n.GetReactionForce=function(t,e){return e.x=t*(this.m_impulse.x*this.m_perp.x+(this.m_motorImpulse+this.m_impulse.z)*this.m_axis.x),e.y=t*(this.m_impulse.x*this.m_perp.y+(this.m_motorImpulse+this.m_impulse.z)*this.m_axis.y),e},n.GetReactionTorque=function(t){return t*this.m_impulse.y},n.GetLocalAnchorA=function(){return this.m_localAnchorA},n.GetLocalAnchorB=function(){return this.m_localAnchorB},n.GetLocalAxisA=function(){return this.m_localXAxisA},n.GetReferenceAngle=function(){return this.m_referenceAngle},n.GetJointTranslation=function(){var t=this.m_bodyA.GetWorldPoint(this.m_localAnchorA,r.GetJointTranslation_s_pA),e=this.m_bodyB.GetWorldPoint(this.m_localAnchorB,r.GetJointTranslation_s_pB),i=z.SubVV(e,t,r.GetJointTranslation_s_d),n=this.m_bodyA.GetWorldVector(this.m_localXAxisA,r.GetJointTranslation_s_axis);return z.DotVV(i,n)},n.GetJointSpeed=function(){var t=this.m_bodyA,e=this.m_bodyB;z.SubVV(this.m_localAnchorA,t.m_sweep.localCenter,this.m_lalcA);var i=X.MulRV(t.m_xf.q,this.m_lalcA,this.m_rA);z.SubVV(this.m_localAnchorB,e.m_sweep.localCenter,this.m_lalcB);var r=X.MulRV(e.m_xf.q,this.m_lalcB,this.m_rB),n=z.AddVV(t.m_sweep.c,i,z.s_t0),s=z.AddVV(e.m_sweep.c,r,z.s_t1),a=z.SubVV(s,n,z.s_t2),o=t.GetWorldVector(this.m_localXAxisA,this.m_axis),l=t.m_linearVelocity,h=e.m_linearVelocity,u=t.m_angularVelocity,c=e.m_angularVelocity;return z.DotVV(a,z.CrossSV(u,o,z.s_t0))+z.DotVV(o,z.SubVV(z.AddVCrossSV(h,c,r,z.s_t0),z.AddVCrossSV(l,u,i,z.s_t1),z.s_t0))},n.IsLimitEnabled=function(){return this.m_enableLimit},n.EnableLimit=function(t){t!==this.m_enableLimit&&(this.m_bodyA.SetAwake(!0),this.m_bodyB.SetAwake(!0),this.m_enableLimit=t,this.m_impulse.z=0)},n.GetLowerLimit=function(){return this.m_lowerTranslation},n.GetUpperLimit=function(){return this.m_upperTranslation},n.SetLimits=function(t,e){t===this.m_lowerTranslation&&e===this.m_upperTranslation||(this.m_bodyA.SetAwake(!0),this.m_bodyB.SetAwake(!0),this.m_lowerTranslation=t,this.m_upperTranslation=e,this.m_impulse.z=0)},n.IsMotorEnabled=function(){return this.m_enableMotor},n.EnableMotor=function(t){t!==this.m_enableMotor&&(this.m_bodyA.SetAwake(!0),this.m_bodyB.SetAwake(!0),this.m_enableMotor=t)},n.SetMotorSpeed=function(t){t!==this.m_motorSpeed&&(this.m_bodyA.SetAwake(!0),this.m_bodyB.SetAwake(!0),this.m_motorSpeed=t)},n.GetMotorSpeed=function(){return this.m_motorSpeed},n.SetMaxMotorForce=function(t){t!==this.m_maxMotorForce&&(this.m_bodyA.SetAwake(!0),this.m_bodyB.SetAwake(!0),this.m_maxMotorForce=t)},n.GetMaxMotorForce=function(){return this.m_maxMotorForce},n.GetMotorForce=function(t){return t*this.m_motorImpulse},n.Dump=function(t){var e=this.m_bodyA.m_islandIndex,i=this.m_bodyB.m_islandIndex;t(" const jd: b2PrismaticJointDef = new b2PrismaticJointDef();\n"),t(" jd.bodyA = bodies[%d];\n",e),t(" jd.bodyB = bodies[%d];\n",i),t(" jd.collideConnected = %s;\n",this.m_collideConnected?"true":"false"),t(" jd.localAnchorA.Set(%.15f, %.15f);\n",this.m_localAnchorA.x,this.m_localAnchorA.y),t(" jd.localAnchorB.Set(%.15f, %.15f);\n",this.m_localAnchorB.x,this.m_localAnchorB.y),t(" jd.localAxisA.Set(%.15f, %.15f);\n",this.m_localXAxisA.x,this.m_localXAxisA.y),t(" jd.referenceAngle = %.15f;\n",this.m_referenceAngle),t(" jd.enableLimit = %s;\n",this.m_enableLimit?"true":"false"),t(" jd.lowerTranslation = %.15f;\n",this.m_lowerTranslation),t(" jd.upperTranslation = %.15f;\n",this.m_upperTranslation),t(" jd.enableMotor = %s;\n",this.m_enableMotor?"true":"false"),t(" jd.motorSpeed = %.15f;\n",this.m_motorSpeed),t(" jd.maxMotorForce = %.15f;\n",this.m_maxMotorForce),t(" joints[%d] = this.m_world.CreateJoint(jd);\n",this.m_index)},r}(Pi);Wi.InitVelocityConstraints_s_d=new z,Wi.InitVelocityConstraints_s_P=new z,Wi.SolveVelocityConstraints_s_P=new z,Wi.SolveVelocityConstraints_s_f2r=new z,Wi.SolveVelocityConstraints_s_f1=new H,Wi.SolveVelocityConstraints_s_df3=new H,Wi.SolveVelocityConstraints_s_df2=new z,Wi.SolvePositionConstraints_s_d=new z,Wi.SolvePositionConstraints_s_impulse=new H,Wi.SolvePositionConstraints_s_impulse1=new z,Wi.SolvePositionConstraints_s_P=new z,Wi.GetJointTranslation_s_pA=new z,Wi.GetJointTranslation_s_pB=new z,Wi.GetJointTranslation_s_d=new z,Wi.GetJointTranslation_s_axis=new z;var Xi=function(e){function i(){var i;return(i=e.call(this,t.b2JointType.e_pulleyJoint)||this).groundAnchorA=new z(-1,1),i.groundAnchorB=new z(1,1),i.localAnchorA=new z(-1,0),i.localAnchorB=new z(1,0),i.lengthA=0,i.lengthB=0,i.ratio=1,i.collideConnected=!0,i}return Me(i,e),i.prototype.Initialize=function(t,e,i,r,n,s,a){this.bodyA=t,this.bodyB=e,this.groundAnchorA.Copy(i),this.groundAnchorB.Copy(r),this.bodyA.GetLocalPoint(n,this.localAnchorA),this.bodyB.GetLocalPoint(s,this.localAnchorB),this.lengthA=z.DistanceVV(n,i),this.lengthB=z.DistanceVV(s,r),this.ratio=a},i}(Mi),Yi=function(t){function i(i){var r;return(r=t.call(this,i)||this).m_groundAnchorA=new z,r.m_groundAnchorB=new z,r.m_lengthA=0,r.m_lengthB=0,r.m_localAnchorA=new z,r.m_localAnchorB=new z,r.m_constant=0,r.m_ratio=0,r.m_impulse=0,r.m_indexA=0,r.m_indexB=0,r.m_uA=new z,r.m_uB=new z,r.m_rA=new z,r.m_rB=new z,r.m_localCenterA=new z,r.m_localCenterB=new z,r.m_invMassA=0,r.m_invMassB=0,r.m_invIA=0,r.m_invIB=0,r.m_mass=0,r.m_qA=new X,r.m_qB=new X,r.m_lalcA=new z,r.m_lalcB=new z,r.m_groundAnchorA.Copy(e(i.groundAnchorA,new z(-1,1))),r.m_groundAnchorB.Copy(e(i.groundAnchorB,new z(1,0))),r.m_localAnchorA.Copy(e(i.localAnchorA,new z(-1,0))),r.m_localAnchorB.Copy(e(i.localAnchorB,new z(1,0))),r.m_lengthA=e(i.lengthA,0),r.m_lengthB=e(i.lengthB,0),r.m_ratio=e(i.ratio,1),r.m_constant=e(i.lengthA,0)+r.m_ratio*e(i.lengthB,0),r.m_impulse=0,r}Me(i,t);var r=i.prototype;return r.InitVelocityConstraints=function(t){this.m_indexA=this.m_bodyA.m_islandIndex,this.m_indexB=this.m_bodyB.m_islandIndex,this.m_localCenterA.Copy(this.m_bodyA.m_sweep.localCenter),this.m_localCenterB.Copy(this.m_bodyB.m_sweep.localCenter),this.m_invMassA=this.m_bodyA.m_invMass,this.m_invMassB=this.m_bodyB.m_invMass,this.m_invIA=this.m_bodyA.m_invI,this.m_invIB=this.m_bodyB.m_invI;var e=t.positions[this.m_indexA].c,r=t.positions[this.m_indexA].a,n=t.velocities[this.m_indexA].v,s=t.velocities[this.m_indexA].w,a=t.positions[this.m_indexB].c,o=t.positions[this.m_indexB].a,l=t.velocities[this.m_indexB].v,h=t.velocities[this.m_indexB].w,u=this.m_qA.SetAngle(r),c=this.m_qB.SetAngle(o);z.SubVV(this.m_localAnchorA,this.m_localCenterA,this.m_lalcA),X.MulRV(u,this.m_lalcA,this.m_rA),z.SubVV(this.m_localAnchorB,this.m_localCenterB,this.m_lalcB),X.MulRV(c,this.m_lalcB,this.m_rB),this.m_uA.Copy(e).SelfAdd(this.m_rA).SelfSub(this.m_groundAnchorA),this.m_uB.Copy(a).SelfAdd(this.m_rB).SelfSub(this.m_groundAnchorB);var _=this.m_uA.Length(),f=this.m_uB.Length();_>.08?this.m_uA.SelfMul(1/_):this.m_uA.SetZero(),f>.08?this.m_uB.SelfMul(1/f):this.m_uB.SetZero();var p=z.CrossVV(this.m_rA,this.m_uA),d=z.CrossVV(this.m_rB,this.m_uB),m=this.m_invMassA+this.m_invIA*p*p,y=this.m_invMassB+this.m_invIB*d*d;if(this.m_mass=m+this.m_ratio*this.m_ratio*y,this.m_mass>0&&(this.m_mass=1/this.m_mass),t.step.warmStarting){this.m_impulse*=t.step.dtRatio;var g=z.MulSV(-this.m_impulse,this.m_uA,i.InitVelocityConstraints_s_PA),v=z.MulSV(-this.m_ratio*this.m_impulse,this.m_uB,i.InitVelocityConstraints_s_PB);n.SelfMulAdd(this.m_invMassA,g),s+=this.m_invIA*z.CrossVV(this.m_rA,g),l.SelfMulAdd(this.m_invMassB,v),h+=this.m_invIB*z.CrossVV(this.m_rB,v)}else this.m_impulse=0;t.velocities[this.m_indexA].w=s,t.velocities[this.m_indexB].w=h},r.SolveVelocityConstraints=function(t){var e=t.velocities[this.m_indexA].v,r=t.velocities[this.m_indexA].w,n=t.velocities[this.m_indexB].v,s=t.velocities[this.m_indexB].w,a=z.AddVCrossSV(e,r,this.m_rA,i.SolveVelocityConstraints_s_vpA),o=z.AddVCrossSV(n,s,this.m_rB,i.SolveVelocityConstraints_s_vpB),l=-z.DotVV(this.m_uA,a)-this.m_ratio*z.DotVV(this.m_uB,o),h=-this.m_mass*l;this.m_impulse+=h;var u=z.MulSV(-h,this.m_uA,i.SolveVelocityConstraints_s_PA),c=z.MulSV(-this.m_ratio*h,this.m_uB,i.SolveVelocityConstraints_s_PB);e.SelfMulAdd(this.m_invMassA,u),r+=this.m_invIA*z.CrossVV(this.m_rA,u),n.SelfMulAdd(this.m_invMassB,c),s+=this.m_invIB*z.CrossVV(this.m_rB,c),t.velocities[this.m_indexA].w=r,t.velocities[this.m_indexB].w=s},r.SolvePositionConstraints=function(t){var e=t.positions[this.m_indexA].c,r=t.positions[this.m_indexA].a,n=t.positions[this.m_indexB].c,s=t.positions[this.m_indexB].a,a=this.m_qA.SetAngle(r),l=this.m_qB.SetAngle(s);z.SubVV(this.m_localAnchorA,this.m_localCenterA,this.m_lalcA);var h=X.MulRV(a,this.m_lalcA,this.m_rA);z.SubVV(this.m_localAnchorB,this.m_localCenterB,this.m_lalcB);var u=X.MulRV(l,this.m_lalcB,this.m_rB),c=this.m_uA.Copy(e).SelfAdd(h).SelfSub(this.m_groundAnchorA),_=this.m_uB.Copy(n).SelfAdd(u).SelfSub(this.m_groundAnchorB),f=c.Length(),p=_.Length();f>.08?c.SelfMul(1/f):c.SetZero(),p>.08?_.SelfMul(1/p):_.SetZero();var d=z.CrossVV(h,c),m=z.CrossVV(u,_),y=this.m_invMassA+this.m_invIA*d*d,g=this.m_invMassB+this.m_invIB*m*m,v=y+this.m_ratio*this.m_ratio*g;v>0&&(v=1/v);var b=this.m_constant-f-this.m_ratio*p,S=E(b),A=-v*b,C=z.MulSV(-A,c,i.SolvePositionConstraints_s_PA),x=z.MulSV(-this.m_ratio*A,_,i.SolvePositionConstraints_s_PB);return e.SelfMulAdd(this.m_invMassA,C),r+=this.m_invIA*z.CrossVV(h,C),n.SelfMulAdd(this.m_invMassB,x),s+=this.m_invIB*z.CrossVV(u,x),t.positions[this.m_indexA].a=r,t.positions[this.m_indexB].a=s,S0&&(this.m_motorMass=1/this.m_motorMass),this.m_enableMotor&&!m||(this.m_motorImpulse=0),this.m_enableLimit&&!m){var y=a-i-this.m_referenceAngle;E(this.m_upperAngle-this.m_lowerAngle)<2*l?this.m_limitState=t.b2LimitState.e_equalLimits:y<=this.m_lowerAngle?(this.m_limitState!==t.b2LimitState.e_atLowerLimit&&(this.m_impulse.z=0),this.m_limitState=t.b2LimitState.e_atLowerLimit):y>=this.m_upperAngle?(this.m_limitState!==t.b2LimitState.e_atUpperLimit&&(this.m_impulse.z=0),this.m_limitState=t.b2LimitState.e_atUpperLimit):(this.m_limitState=t.b2LimitState.e_inactiveLimit,this.m_impulse.z=0)}else this.m_limitState=t.b2LimitState.e_inactiveLimit;if(e.step.warmStarting){this.m_impulse.SelfMul(e.step.dtRatio),this.m_motorImpulse*=e.step.dtRatio;var g=r.InitVelocityConstraints_s_P.Set(this.m_impulse.x,this.m_impulse.y);n.SelfMulSub(_,g),s-=p*(z.CrossVV(this.m_rA,g)+this.m_motorImpulse+this.m_impulse.z),o.SelfMulAdd(f,g),h+=d*(z.CrossVV(this.m_rB,g)+this.m_motorImpulse+this.m_impulse.z)}else this.m_impulse.SetZero(),this.m_motorImpulse=0;e.velocities[this.m_indexA].w=s,e.velocities[this.m_indexB].w=h},n.SolveVelocityConstraints=function(e){var i=e.velocities[this.m_indexA].v,n=e.velocities[this.m_indexA].w,s=e.velocities[this.m_indexB].v,a=e.velocities[this.m_indexB].w,o=this.m_invMassA,l=this.m_invMassB,h=this.m_invIA,u=this.m_invIB,c=h+u===0;if(this.m_enableMotor&&this.m_limitState!==t.b2LimitState.e_equalLimits&&!c){var _=a-n-this.m_motorSpeed,f=-this.m_motorMass*_,p=this.m_motorImpulse,d=e.step.dt*this.m_maxMotorTorque;this.m_motorImpulse=M(this.m_motorImpulse+f,-d,d),n-=h*(f=this.m_motorImpulse-p),a+=u*f}if(this.m_enableLimit&&this.m_limitState!==t.b2LimitState.e_inactiveLimit&&!c){var m=z.SubVV(z.AddVCrossSV(s,a,this.m_rB,z.s_t0),z.AddVCrossSV(i,n,this.m_rA,z.s_t1),r.SolveVelocityConstraints_s_Cdot1),y=a-n,g=this.m_mass.Solve33(m.x,m.y,y,r.SolveVelocityConstraints_s_impulse_v3).SelfNeg();if(this.m_limitState===t.b2LimitState.e_equalLimits)this.m_impulse.SelfAdd(g);else if(this.m_limitState===t.b2LimitState.e_atLowerLimit)if(this.m_impulse.z+g.z<0){var v=-m.x+this.m_impulse.z*this.m_mass.ez.x,b=-m.y+this.m_impulse.z*this.m_mass.ez.y,S=this.m_mass.Solve22(v,b,r.SolveVelocityConstraints_s_reduced_v2);g.x=S.x,g.y=S.y,g.z=-this.m_impulse.z,this.m_impulse.x+=S.x,this.m_impulse.y+=S.y,this.m_impulse.z=0}else this.m_impulse.SelfAdd(g);else if(this.m_limitState===t.b2LimitState.e_atUpperLimit)if(this.m_impulse.z+g.z>0){var A=-m.x+this.m_impulse.z*this.m_mass.ez.x,C=-m.y+this.m_impulse.z*this.m_mass.ez.y,x=this.m_mass.Solve22(A,C,r.SolveVelocityConstraints_s_reduced_v2);g.x=x.x,g.y=x.y,g.z=-this.m_impulse.z,this.m_impulse.x+=x.x,this.m_impulse.y+=x.y,this.m_impulse.z=0}else this.m_impulse.SelfAdd(g);var T=r.SolveVelocityConstraints_s_P.Set(g.x,g.y);i.SelfMulSub(o,T),n-=h*(z.CrossVV(this.m_rA,T)+g.z),s.SelfMulAdd(l,T),a+=u*(z.CrossVV(this.m_rB,T)+g.z)}else{var w=z.SubVV(z.AddVCrossSV(s,a,this.m_rB,z.s_t0),z.AddVCrossSV(i,n,this.m_rA,z.s_t1),r.SolveVelocityConstraints_s_Cdot_v2),E=this.m_mass.Solve22(-w.x,-w.y,r.SolveVelocityConstraints_s_impulse_v2);this.m_impulse.x+=E.x,this.m_impulse.y+=E.y,i.SelfMulSub(o,E),n-=h*z.CrossVV(this.m_rA,E),s.SelfMulAdd(l,E),a+=u*z.CrossVV(this.m_rB,E)}e.velocities[this.m_indexA].w=n,e.velocities[this.m_indexB].w=a},n.SolvePositionConstraints=function(e){var i,n=e.positions[this.m_indexA].c,s=e.positions[this.m_indexA].a,a=e.positions[this.m_indexB].c,h=e.positions[this.m_indexB].a,u=this.m_qA.SetAngle(s),_=this.m_qB.SetAngle(h),f=0,p=this.m_invIA+this.m_invIB===0;if(this.m_enableLimit&&this.m_limitState!==t.b2LimitState.e_inactiveLimit&&!p){var d=h-s-this.m_referenceAngle,m=0;if(this.m_limitState===t.b2LimitState.e_equalLimits){var y=M(d-this.m_lowerAngle,-.13962634015955555,c);m=-this.m_motorMass*y,f=E(y)}else if(this.m_limitState===t.b2LimitState.e_atLowerLimit){var g=d-this.m_lowerAngle;f=-g,g=M(g+l,-.13962634015955555,0),m=-this.m_motorMass*g}else if(this.m_limitState===t.b2LimitState.e_atUpperLimit){var v=d-this.m_upperAngle;f=v,v=M(v-l,0,c),m=-this.m_motorMass*v}s-=this.m_invIA*m,h+=this.m_invIB*m}u.SetAngle(s),_.SetAngle(h),z.SubVV(this.m_localAnchorA,this.m_localCenterA,this.m_lalcA);var b=X.MulRV(u,this.m_lalcA,this.m_rA);z.SubVV(this.m_localAnchorB,this.m_localCenterB,this.m_lalcB);var S=X.MulRV(_,this.m_lalcB,this.m_rB),A=z.SubVV(z.AddVV(a,S,z.s_t0),z.AddVV(n,b,z.s_t1),r.SolvePositionConstraints_s_C_v2);i=A.Length();var C=this.m_invMassA,x=this.m_invMassB,T=this.m_invIA,w=this.m_invIB,B=this.m_K;B.ex.x=C+x+T*b.y*b.y+w*S.y*S.y,B.ex.y=-T*b.x*b.y-w*S.x*S.y,B.ey.x=B.ex.y,B.ey.y=C+x+T*b.x*b.x+w*S.x*S.x;var D=B.Solve(A.x,A.y,r.SolvePositionConstraints_s_impulse).SelfNeg();return n.SelfMulSub(C,D),s-=T*z.CrossVV(b,D),a.SelfMulAdd(x,D),h+=w*z.CrossVV(S,D),e.positions[this.m_indexA].a=s,e.positions[this.m_indexB].a=h,i<=o&&f<=l},n.GetAnchorA=function(t){return this.m_bodyA.GetWorldPoint(this.m_localAnchorA,t)},n.GetAnchorB=function(t){return this.m_bodyB.GetWorldPoint(this.m_localAnchorB,t)},n.GetReactionForce=function(t,e){return e.x=t*this.m_impulse.x,e.y=t*this.m_impulse.y,e},n.GetReactionTorque=function(t){return t*this.m_impulse.z},n.GetLocalAnchorA=function(){return this.m_localAnchorA},n.GetLocalAnchorB=function(){return this.m_localAnchorB},n.GetReferenceAngle=function(){return this.m_referenceAngle},n.GetJointAngle=function(){return this.m_bodyB.m_sweep.a-this.m_bodyA.m_sweep.a-this.m_referenceAngle},n.GetJointSpeed=function(){return this.m_bodyB.m_angularVelocity-this.m_bodyA.m_angularVelocity},n.IsMotorEnabled=function(){return this.m_enableMotor},n.EnableMotor=function(t){t!==this.m_enableMotor&&(this.m_bodyA.SetAwake(!0),this.m_bodyB.SetAwake(!0),this.m_enableMotor=t)},n.GetMotorTorque=function(t){return t*this.m_motorImpulse},n.GetMotorSpeed=function(){return this.m_motorSpeed},n.SetMaxMotorTorque=function(t){t!==this.m_maxMotorTorque&&(this.m_bodyA.SetAwake(!0),this.m_bodyB.SetAwake(!0),this.m_maxMotorTorque=t)},n.GetMaxMotorTorque=function(){return this.m_maxMotorTorque},n.IsLimitEnabled=function(){return this.m_enableLimit},n.EnableLimit=function(t){t!==this.m_enableLimit&&(this.m_bodyA.SetAwake(!0),this.m_bodyB.SetAwake(!0),this.m_enableLimit=t,this.m_impulse.z=0)},n.GetLowerLimit=function(){return this.m_lowerAngle},n.GetUpperLimit=function(){return this.m_upperAngle},n.SetLimits=function(t,e){t===this.m_lowerAngle&&e===this.m_upperAngle||(this.m_bodyA.SetAwake(!0),this.m_bodyB.SetAwake(!0),this.m_impulse.z=0,this.m_lowerAngle=t,this.m_upperAngle=e)},n.SetMotorSpeed=function(t){t!==this.m_motorSpeed&&(this.m_bodyA.SetAwake(!0),this.m_bodyB.SetAwake(!0),this.m_motorSpeed=t)},n.Dump=function(t){var e=this.m_bodyA.m_islandIndex,i=this.m_bodyB.m_islandIndex;t(" const jd: b2RevoluteJointDef = new b2RevoluteJointDef();\n"),t(" jd.bodyA = bodies[%d];\n",e),t(" jd.bodyB = bodies[%d];\n",i),t(" jd.collideConnected = %s;\n",this.m_collideConnected?"true":"false"),t(" jd.localAnchorA.Set(%.15f, %.15f);\n",this.m_localAnchorA.x,this.m_localAnchorA.y),t(" jd.localAnchorB.Set(%.15f, %.15f);\n",this.m_localAnchorB.x,this.m_localAnchorB.y),t(" jd.referenceAngle = %.15f;\n",this.m_referenceAngle),t(" jd.enableLimit = %s;\n",this.m_enableLimit?"true":"false"),t(" jd.lowerAngle = %.15f;\n",this.m_lowerAngle),t(" jd.upperAngle = %.15f;\n",this.m_upperAngle),t(" jd.enableMotor = %s;\n",this.m_enableMotor?"true":"false"),t(" jd.motorSpeed = %.15f;\n",this.m_motorSpeed),t(" jd.maxMotorTorque = %.15f;\n",this.m_maxMotorTorque),t(" joints[%d] = this.m_world.CreateJoint(jd);\n",this.m_index)},r}(Pi);Ji.InitVelocityConstraints_s_P=new z,Ji.SolveVelocityConstraints_s_P=new z,Ji.SolveVelocityConstraints_s_Cdot_v2=new z,Ji.SolveVelocityConstraints_s_Cdot1=new z,Ji.SolveVelocityConstraints_s_impulse_v3=new H,Ji.SolveVelocityConstraints_s_reduced_v2=new z,Ji.SolveVelocityConstraints_s_impulse_v2=new z,Ji.SolvePositionConstraints_s_C_v2=new z,Ji.SolvePositionConstraints_s_impulse=new z;var Ki=function(e){function i(){var i;return(i=e.call(this,t.b2JointType.e_ropeJoint)||this).localAnchorA=new z(-1,0),i.localAnchorB=new z(1,0),i.maxLength=0,i}return Me(i,e),i}(Mi),Zi=function(i){function r(r){var n;return(n=i.call(this,r)||this).m_localAnchorA=new z,n.m_localAnchorB=new z,n.m_maxLength=0,n.m_length=0,n.m_impulse=0,n.m_indexA=0,n.m_indexB=0,n.m_u=new z,n.m_rA=new z,n.m_rB=new z,n.m_localCenterA=new z,n.m_localCenterB=new z,n.m_invMassA=0,n.m_invMassB=0,n.m_invIA=0,n.m_invIB=0,n.m_mass=0,n.m_state=t.b2LimitState.e_inactiveLimit,n.m_qA=new X,n.m_qB=new X,n.m_lalcA=new z,n.m_lalcB=new z,n.m_localAnchorA.Copy(e(r.localAnchorA,new z(-1,0))),n.m_localAnchorB.Copy(e(r.localAnchorB,new z(1,0))),n.m_maxLength=e(r.maxLength,0),n}Me(r,i);var n=r.prototype;return n.InitVelocityConstraints=function(e){this.m_indexA=this.m_bodyA.m_islandIndex,this.m_indexB=this.m_bodyB.m_islandIndex,this.m_localCenterA.Copy(this.m_bodyA.m_sweep.localCenter),this.m_localCenterB.Copy(this.m_bodyB.m_sweep.localCenter),this.m_invMassA=this.m_bodyA.m_invMass,this.m_invMassB=this.m_bodyB.m_invMass,this.m_invIA=this.m_bodyA.m_invI,this.m_invIB=this.m_bodyB.m_invI;var i=e.positions[this.m_indexA].c,n=e.positions[this.m_indexA].a,s=e.velocities[this.m_indexA].v,a=e.velocities[this.m_indexA].w,l=e.positions[this.m_indexB].c,h=e.positions[this.m_indexB].a,u=e.velocities[this.m_indexB].v,c=e.velocities[this.m_indexB].w,_=this.m_qA.SetAngle(n),f=this.m_qB.SetAngle(h);z.SubVV(this.m_localAnchorA,this.m_localCenterA,this.m_lalcA),X.MulRV(_,this.m_lalcA,this.m_rA),z.SubVV(this.m_localAnchorB,this.m_localCenterB,this.m_lalcB),X.MulRV(f,this.m_lalcB,this.m_rB),this.m_u.Copy(l).SelfAdd(this.m_rB).SelfSub(i).SelfSub(this.m_rA),this.m_length=this.m_u.Length();var p=this.m_length-this.m_maxLength;if(this.m_state=p>0?t.b2LimitState.e_atUpperLimit:t.b2LimitState.e_inactiveLimit,!(this.m_length>o))return this.m_u.SetZero(),this.m_mass=0,void(this.m_impulse=0);this.m_u.SelfMul(1/this.m_length);var d=z.CrossVV(this.m_rA,this.m_u),m=z.CrossVV(this.m_rB,this.m_u),y=this.m_invMassA+this.m_invIA*d*d+this.m_invMassB+this.m_invIB*m*m;if(this.m_mass=0!==y?1/y:0,e.step.warmStarting){this.m_impulse*=e.step.dtRatio;var g=z.MulSV(this.m_impulse,this.m_u,r.InitVelocityConstraints_s_P);s.SelfMulSub(this.m_invMassA,g),a-=this.m_invIA*z.CrossVV(this.m_rA,g),u.SelfMulAdd(this.m_invMassB,g),c+=this.m_invIB*z.CrossVV(this.m_rB,g)}else this.m_impulse=0;e.velocities[this.m_indexA].w=a,e.velocities[this.m_indexB].w=c},n.SolveVelocityConstraints=function(t){var e=t.velocities[this.m_indexA].v,i=t.velocities[this.m_indexA].w,n=t.velocities[this.m_indexB].v,s=t.velocities[this.m_indexB].w,a=z.AddVCrossSV(e,i,this.m_rA,r.SolveVelocityConstraints_s_vpA),o=z.AddVCrossSV(n,s,this.m_rB,r.SolveVelocityConstraints_s_vpB),l=this.m_length-this.m_maxLength,h=z.DotVV(this.m_u,z.SubVV(o,a,z.s_t0));l<0&&(h+=t.step.inv_dt*l);var u=-this.m_mass*h,c=this.m_impulse;this.m_impulse=B(0,this.m_impulse+u),u=this.m_impulse-c;var _=z.MulSV(u,this.m_u,r.SolveVelocityConstraints_s_P);e.SelfMulSub(this.m_invMassA,_),i-=this.m_invIA*z.CrossVV(this.m_rA,_),n.SelfMulAdd(this.m_invMassB,_),s+=this.m_invIB*z.CrossVV(this.m_rB,_),t.velocities[this.m_indexA].w=i,t.velocities[this.m_indexB].w=s},n.SolvePositionConstraints=function(t){var e=t.positions[this.m_indexA].c,i=t.positions[this.m_indexA].a,n=t.positions[this.m_indexB].c,s=t.positions[this.m_indexB].a,a=this.m_qA.SetAngle(i),l=this.m_qB.SetAngle(s);z.SubVV(this.m_localAnchorA,this.m_localCenterA,this.m_lalcA);var h=X.MulRV(a,this.m_lalcA,this.m_rA);z.SubVV(this.m_localAnchorB,this.m_localCenterB,this.m_lalcB);var c=X.MulRV(l,this.m_lalcB,this.m_rB),_=this.m_u.Copy(n).SelfAdd(c).SelfSub(e).SelfSub(h),f=_.Normalize(),p=f-this.m_maxLength;p=M(p,0,u);var d=-this.m_mass*p,m=z.MulSV(d,_,r.SolvePositionConstraints_s_P);return e.SelfMulSub(this.m_invMassA,m),i-=this.m_invIA*z.CrossVV(h,m),n.SelfMulAdd(this.m_invMassB,m),s+=this.m_invIB*z.CrossVV(c,m),t.positions[this.m_indexA].a=i,t.positions[this.m_indexB].a=s,f-this.m_maxLength0){d.GetInverse22(this.m_mass);var m=f+p,y=m>0?1/m:0,g=a-e-this.m_referenceAngle,v=2*s*this.m_frequencyHz,b=2*y*this.m_dampingRatio*v,S=y*v*v,A=t.step.dt;this.m_gamma=A*(b+A*S),this.m_gamma=0!==this.m_gamma?1/this.m_gamma:0,this.m_bias=g*A*S*this.m_gamma,m+=this.m_gamma,this.m_mass.ez.z=0!==m?1/m:0}else d.GetSymInverse33(this.m_mass),this.m_gamma=0,this.m_bias=0;if(t.step.warmStarting){this.m_impulse.SelfMul(t.step.dtRatio);var C=i.InitVelocityConstraints_s_P.Set(this.m_impulse.x,this.m_impulse.y);r.SelfMulSub(c,C),n-=f*(z.CrossVV(this.m_rA,C)+this.m_impulse.z),o.SelfMulAdd(_,C),l+=p*(z.CrossVV(this.m_rB,C)+this.m_impulse.z)}else this.m_impulse.SetZero();t.velocities[this.m_indexA].w=n,t.velocities[this.m_indexB].w=l},r.SolveVelocityConstraints=function(t){var e=t.velocities[this.m_indexA].v,r=t.velocities[this.m_indexA].w,n=t.velocities[this.m_indexB].v,s=t.velocities[this.m_indexB].w,a=this.m_invMassA,o=this.m_invMassB,l=this.m_invIA,h=this.m_invIB;if(this.m_frequencyHz>0){var u=s-r,c=-this.m_mass.ez.z*(u+this.m_bias+this.m_gamma*this.m_impulse.z);this.m_impulse.z+=c,r-=l*c,s+=h*c;var _=z.SubVV(z.AddVCrossSV(n,s,this.m_rB,z.s_t0),z.AddVCrossSV(e,r,this.m_rA,z.s_t1),i.SolveVelocityConstraints_s_Cdot1),f=W.MulM33XY(this.m_mass,_.x,_.y,i.SolveVelocityConstraints_s_impulse1).SelfNeg();this.m_impulse.x+=f.x,this.m_impulse.y+=f.y;var p=f;e.SelfMulSub(a,p),r-=l*z.CrossVV(this.m_rA,p),n.SelfMulAdd(o,p),s+=h*z.CrossVV(this.m_rB,p)}else{var d=z.SubVV(z.AddVCrossSV(n,s,this.m_rB,z.s_t0),z.AddVCrossSV(e,r,this.m_rA,z.s_t1),i.SolveVelocityConstraints_s_Cdot1),m=s-r,y=W.MulM33XYZ(this.m_mass,d.x,d.y,m,i.SolveVelocityConstraints_s_impulse).SelfNeg();this.m_impulse.SelfAdd(y);var g=i.SolveVelocityConstraints_s_P.Set(y.x,y.y);e.SelfMulSub(a,g),r-=l*(z.CrossVV(this.m_rA,g)+y.z),n.SelfMulAdd(o,g),s+=h*(z.CrossVV(this.m_rB,g)+y.z)}t.velocities[this.m_indexA].w=r,t.velocities[this.m_indexB].w=s},r.SolvePositionConstraints=function(t){var e=t.positions[this.m_indexA].c,r=t.positions[this.m_indexA].a,n=t.positions[this.m_indexB].c,s=t.positions[this.m_indexB].a,a=this.m_qA.SetAngle(r),h=this.m_qB.SetAngle(s),u=this.m_invMassA,c=this.m_invMassB,_=this.m_invIA,f=this.m_invIB;z.SubVV(this.m_localAnchorA,this.m_localCenterA,this.m_lalcA);var p=X.MulRV(a,this.m_lalcA,this.m_rA);z.SubVV(this.m_localAnchorB,this.m_localCenterB,this.m_lalcB);var d,m,y=X.MulRV(h,this.m_lalcB,this.m_rB),g=this.m_K;if(g.ex.x=u+c+p.y*p.y*_+y.y*y.y*f,g.ey.x=-p.y*p.x*_-y.y*y.x*f,g.ez.x=-p.y*_-y.y*f,g.ex.y=g.ey.x,g.ey.y=u+c+p.x*p.x*_+y.x*y.x*f,g.ez.y=p.x*_+y.x*f,g.ex.z=g.ez.x,g.ey.z=g.ez.y,g.ez.z=_+f,this.m_frequencyHz>0){var v=z.SubVV(z.AddVV(n,y,z.s_t0),z.AddVV(e,p,z.s_t1),i.SolvePositionConstraints_s_C1);d=v.Length(),m=0;var b=g.Solve22(v.x,v.y,i.SolvePositionConstraints_s_P).SelfNeg();e.SelfMulSub(u,b),r-=_*z.CrossVV(p,b),n.SelfMulAdd(c,b),s+=f*z.CrossVV(y,b)}else{var S=z.SubVV(z.AddVV(n,y,z.s_t0),z.AddVV(e,p,z.s_t1),i.SolvePositionConstraints_s_C1),A=s-r-this.m_referenceAngle;d=S.Length(),m=E(A);var C=g.Solve33(S.x,S.y,A,i.SolvePositionConstraints_s_impulse).SelfNeg(),x=i.SolvePositionConstraints_s_P.Set(C.x,C.y);e.SelfMulSub(u,x),r-=_*(z.CrossVV(this.m_rA,x)+C.z),n.SelfMulAdd(c,x),s+=f*(z.CrossVV(this.m_rB,x)+C.z)}return t.positions[this.m_indexA].a=r,t.positions[this.m_indexB].a=s,d<=o&&m<=l},r.GetAnchorA=function(t){return this.m_bodyA.GetWorldPoint(this.m_localAnchorA,t)},r.GetAnchorB=function(t){return this.m_bodyB.GetWorldPoint(this.m_localAnchorB,t)},r.GetReactionForce=function(t,e){return e.x=t*this.m_impulse.x,e.y=t*this.m_impulse.y,e},r.GetReactionTorque=function(t){return t*this.m_impulse.z},r.GetLocalAnchorA=function(){return this.m_localAnchorA},r.GetLocalAnchorB=function(){return this.m_localAnchorB},r.GetReferenceAngle=function(){return this.m_referenceAngle},r.SetFrequency=function(t){this.m_frequencyHz=t},r.GetFrequency=function(){return this.m_frequencyHz},r.SetDampingRatio=function(t){this.m_dampingRatio=t},r.GetDampingRatio=function(){return this.m_dampingRatio},r.Dump=function(t){var e=this.m_bodyA.m_islandIndex,i=this.m_bodyB.m_islandIndex;t(" const jd: b2WeldJointDef = new b2WeldJointDef();\n"),t(" jd.bodyA = bodies[%d];\n",e),t(" jd.bodyB = bodies[%d];\n",i),t(" jd.collideConnected = %s;\n",this.m_collideConnected?"true":"false"),t(" jd.localAnchorA.Set(%.15f, %.15f);\n",this.m_localAnchorA.x,this.m_localAnchorA.y),t(" jd.localAnchorB.Set(%.15f, %.15f);\n",this.m_localAnchorB.x,this.m_localAnchorB.y),t(" jd.referenceAngle = %.15f;\n",this.m_referenceAngle),t(" jd.frequencyHz = %.15f;\n",this.m_frequencyHz),t(" jd.dampingRatio = %.15f;\n",this.m_dampingRatio),t(" joints[%d] = this.m_world.CreateJoint(jd);\n",this.m_index)},i}(Pi);$i.InitVelocityConstraints_s_P=new z,$i.SolveVelocityConstraints_s_Cdot1=new z,$i.SolveVelocityConstraints_s_impulse1=new z,$i.SolveVelocityConstraints_s_impulse=new H,$i.SolveVelocityConstraints_s_P=new z,$i.SolvePositionConstraints_s_C1=new z,$i.SolvePositionConstraints_s_P=new z,$i.SolvePositionConstraints_s_impulse=new H;var tr=function(e){function i(){var i;return(i=e.call(this,t.b2JointType.e_wheelJoint)||this).localAnchorA=new z(0,0),i.localAnchorB=new z(0,0),i.localAxisA=new z(1,0),i.enableMotor=!1,i.maxMotorTorque=0,i.motorSpeed=0,i.frequencyHz=2,i.dampingRatio=.7,i}return Me(i,e),i.prototype.Initialize=function(t,e,i,r){this.bodyA=t,this.bodyB=e,this.bodyA.GetLocalPoint(i,this.localAnchorA),this.bodyB.GetLocalPoint(i,this.localAnchorB),this.bodyA.GetLocalVector(r,this.localAxisA)},i}(Mi),er=function(t){function i(i){var r;return(r=t.call(this,i)||this).m_frequencyHz=0,r.m_dampingRatio=0,r.m_localAnchorA=new z,r.m_localAnchorB=new z,r.m_localXAxisA=new z,r.m_localYAxisA=new z,r.m_impulse=0,r.m_motorImpulse=0,r.m_springImpulse=0,r.m_maxMotorTorque=0,r.m_motorSpeed=0,r.m_enableMotor=!1,r.m_indexA=0,r.m_indexB=0,r.m_localCenterA=new z,r.m_localCenterB=new z,r.m_invMassA=0,r.m_invMassB=0,r.m_invIA=0,r.m_invIB=0,r.m_ax=new z,r.m_ay=new z,r.m_sAx=0,r.m_sBx=0,r.m_sAy=0,r.m_sBy=0,r.m_mass=0,r.m_motorMass=0,r.m_springMass=0,r.m_bias=0,r.m_gamma=0,r.m_qA=new X,r.m_qB=new X,r.m_lalcA=new z,r.m_lalcB=new z,r.m_rA=new z,r.m_rB=new z,r.m_frequencyHz=e(i.frequencyHz,2),r.m_dampingRatio=e(i.dampingRatio,.7),r.m_localAnchorA.Copy(e(i.localAnchorA,z.ZERO)),r.m_localAnchorB.Copy(e(i.localAnchorB,z.ZERO)),r.m_localXAxisA.Copy(e(i.localAxisA,z.UNITX)),z.CrossOneV(r.m_localXAxisA,r.m_localYAxisA),r.m_maxMotorTorque=e(i.maxMotorTorque,0),r.m_motorSpeed=e(i.motorSpeed,0),r.m_enableMotor=e(i.enableMotor,!1),r.m_ax.SetZero(),r.m_ay.SetZero(),r}Me(i,t);var r=i.prototype;return r.GetMotorSpeed=function(){return this.m_motorSpeed},r.GetMaxMotorTorque=function(){return this.m_maxMotorTorque},r.SetSpringFrequencyHz=function(t){this.m_frequencyHz=t},r.GetSpringFrequencyHz=function(){return this.m_frequencyHz},r.SetSpringDampingRatio=function(t){this.m_dampingRatio=t},r.GetSpringDampingRatio=function(){return this.m_dampingRatio},r.InitVelocityConstraints=function(t){this.m_indexA=this.m_bodyA.m_islandIndex,this.m_indexB=this.m_bodyB.m_islandIndex,this.m_localCenterA.Copy(this.m_bodyA.m_sweep.localCenter),this.m_localCenterB.Copy(this.m_bodyB.m_sweep.localCenter),this.m_invMassA=this.m_bodyA.m_invMass,this.m_invMassB=this.m_bodyB.m_invMass,this.m_invIA=this.m_bodyA.m_invI,this.m_invIB=this.m_bodyB.m_invI;var e=this.m_invMassA,r=this.m_invMassB,n=this.m_invIA,a=this.m_invIB,o=t.positions[this.m_indexA].c,l=t.positions[this.m_indexA].a,h=t.velocities[this.m_indexA].v,u=t.velocities[this.m_indexA].w,c=t.positions[this.m_indexB].c,_=t.positions[this.m_indexB].a,f=t.velocities[this.m_indexB].v,p=t.velocities[this.m_indexB].w,d=this.m_qA.SetAngle(l),m=this.m_qB.SetAngle(_);z.SubVV(this.m_localAnchorA,this.m_localCenterA,this.m_lalcA);var y=X.MulRV(d,this.m_lalcA,this.m_rA);z.SubVV(this.m_localAnchorB,this.m_localCenterB,this.m_lalcB);var g=X.MulRV(m,this.m_lalcB,this.m_rB),v=z.SubVV(z.AddVV(c,g,z.s_t0),z.AddVV(o,y,z.s_t1),i.InitVelocityConstraints_s_d);if(X.MulRV(d,this.m_localYAxisA,this.m_ay),this.m_sAy=z.CrossVV(z.AddVV(v,y,z.s_t0),this.m_ay),this.m_sBy=z.CrossVV(g,this.m_ay),this.m_mass=e+r+n*this.m_sAy*this.m_sAy+a*this.m_sBy*this.m_sBy,this.m_mass>0&&(this.m_mass=1/this.m_mass),this.m_springMass=0,this.m_bias=0,this.m_gamma=0,this.m_frequencyHz>0){X.MulRV(d,this.m_localXAxisA,this.m_ax),this.m_sAx=z.CrossVV(z.AddVV(v,y,z.s_t0),this.m_ax),this.m_sBx=z.CrossVV(g,this.m_ax);var b=e+r+n*this.m_sAx*this.m_sAx+a*this.m_sBx*this.m_sBx;if(b>0){this.m_springMass=1/b;var S=z.DotVV(v,this.m_ax),A=2*s*this.m_frequencyHz,C=2*this.m_springMass*this.m_dampingRatio*A,x=this.m_springMass*A*A,T=t.step.dt;this.m_gamma=T*(C+T*x),this.m_gamma>0&&(this.m_gamma=1/this.m_gamma),this.m_bias=S*T*x*this.m_gamma,this.m_springMass=b+this.m_gamma,this.m_springMass>0&&(this.m_springMass=1/this.m_springMass)}}else this.m_springImpulse=0;if(this.m_enableMotor?(this.m_motorMass=n+a,this.m_motorMass>0&&(this.m_motorMass=1/this.m_motorMass)):(this.m_motorMass=0,this.m_motorImpulse=0),t.step.warmStarting){this.m_impulse*=t.step.dtRatio,this.m_springImpulse*=t.step.dtRatio,this.m_motorImpulse*=t.step.dtRatio;var w=z.AddVV(z.MulSV(this.m_impulse,this.m_ay,z.s_t0),z.MulSV(this.m_springImpulse,this.m_ax,z.s_t1),i.InitVelocityConstraints_s_P),E=this.m_impulse*this.m_sAy+this.m_springImpulse*this.m_sAx+this.m_motorImpulse,B=this.m_impulse*this.m_sBy+this.m_springImpulse*this.m_sBx+this.m_motorImpulse;h.SelfMulSub(this.m_invMassA,w),u-=this.m_invIA*E,f.SelfMulAdd(this.m_invMassB,w),p+=this.m_invIB*B}else this.m_impulse=0,this.m_springImpulse=0,this.m_motorImpulse=0;t.velocities[this.m_indexA].w=u,t.velocities[this.m_indexB].w=p},r.SolveVelocityConstraints=function(t){var e=this.m_invMassA,r=this.m_invMassB,n=this.m_invIA,s=this.m_invIB,a=t.velocities[this.m_indexA].v,o=t.velocities[this.m_indexA].w,l=t.velocities[this.m_indexB].v,h=t.velocities[this.m_indexB].w,u=z.DotVV(this.m_ax,z.SubVV(l,a,z.s_t0))+this.m_sBx*h-this.m_sAx*o,c=-this.m_springMass*(u+this.m_bias+this.m_gamma*this.m_springImpulse);this.m_springImpulse+=c;var _=z.MulSV(c,this.m_ax,i.SolveVelocityConstraints_s_P),f=c*this.m_sAx,p=c*this.m_sBx;a.SelfMulSub(e,_),o-=n*f,l.SelfMulAdd(r,_);var d=(h+=s*p)-o-this.m_motorSpeed,m=-this.m_motorMass*d,y=this.m_motorImpulse,g=t.step.dt*this.m_maxMotorTorque;this.m_motorImpulse=M(this.m_motorImpulse+m,-g,g),o-=n*(m=this.m_motorImpulse-y),h+=s*m;var v=z.DotVV(this.m_ay,z.SubVV(l,a,z.s_t0))+this.m_sBy*h-this.m_sAy*o,b=-this.m_mass*v;this.m_impulse+=b;var S=z.MulSV(b,this.m_ay,i.SolveVelocityConstraints_s_P),A=b*this.m_sAy,C=b*this.m_sBy;a.SelfMulSub(e,S),o-=n*A,l.SelfMulAdd(r,S),h+=s*C,t.velocities[this.m_indexA].w=o,t.velocities[this.m_indexB].w=h},r.SolvePositionConstraints=function(t){var e=t.positions[this.m_indexA].c,r=t.positions[this.m_indexA].a,n=t.positions[this.m_indexB].c,s=t.positions[this.m_indexB].a,a=this.m_qA.SetAngle(r),l=this.m_qB.SetAngle(s);z.SubVV(this.m_localAnchorA,this.m_localCenterA,this.m_lalcA);var h=X.MulRV(a,this.m_lalcA,this.m_rA);z.SubVV(this.m_localAnchorB,this.m_localCenterB,this.m_lalcB);var u,c=X.MulRV(l,this.m_lalcB,this.m_rB),_=z.AddVV(z.SubVV(n,e,z.s_t0),z.SubVV(c,h,z.s_t1),i.SolvePositionConstraints_s_d),f=X.MulRV(a,this.m_localYAxisA,this.m_ay),p=z.CrossVV(z.AddVV(_,h,z.s_t0),f),d=z.CrossVV(c,f),m=z.DotVV(_,this.m_ay),y=this.m_invMassA+this.m_invMassB+this.m_invIA*this.m_sAy*this.m_sAy+this.m_invIB*this.m_sBy*this.m_sBy;u=0!==y?-m/y:0;var g=z.MulSV(u,f,i.SolvePositionConstraints_s_P),v=u*p,b=u*d;return e.SelfMulSub(this.m_invMassA,g),r-=this.m_invIA*v,n.SelfMulAdd(this.m_invMassB,g),s+=this.m_invIB*b,t.positions[this.m_indexA].a=r,t.positions[this.m_indexB].a=s,E(m)<=o},r.GetDefinition=function(t){return t},r.GetAnchorA=function(t){return this.m_bodyA.GetWorldPoint(this.m_localAnchorA,t)},r.GetAnchorB=function(t){return this.m_bodyB.GetWorldPoint(this.m_localAnchorB,t)},r.GetReactionForce=function(t,e){return e.x=t*(this.m_impulse*this.m_ay.x+this.m_springImpulse*this.m_ax.x),e.y=t*(this.m_impulse*this.m_ay.y+this.m_springImpulse*this.m_ax.y),e},r.GetReactionTorque=function(t){return t*this.m_motorImpulse},r.GetLocalAnchorA=function(){return this.m_localAnchorA},r.GetLocalAnchorB=function(){return this.m_localAnchorB},r.GetLocalAxisA=function(){return this.m_localXAxisA},r.GetJointTranslation=function(){return this.GetPrismaticJointTranslation()},r.GetJointLinearSpeed=function(){return this.GetPrismaticJointSpeed()},r.GetJointAngle=function(){return this.GetRevoluteJointAngle()},r.GetJointAngularSpeed=function(){return this.GetRevoluteJointSpeed()},r.GetPrismaticJointTranslation=function(){var t=this.m_bodyA,e=this.m_bodyB,i=t.GetWorldPoint(this.m_localAnchorA,new z),r=e.GetWorldPoint(this.m_localAnchorB,new z),n=z.SubVV(r,i,new z),s=t.GetWorldVector(this.m_localXAxisA,new z);return z.DotVV(n,s)},r.GetPrismaticJointSpeed=function(){var t=this.m_bodyA,e=this.m_bodyB;z.SubVV(this.m_localAnchorA,t.m_sweep.localCenter,this.m_lalcA);var i=X.MulRV(t.m_xf.q,this.m_lalcA,this.m_rA);z.SubVV(this.m_localAnchorB,e.m_sweep.localCenter,this.m_lalcB);var r=X.MulRV(e.m_xf.q,this.m_lalcB,this.m_rB),n=z.AddVV(t.m_sweep.c,i,z.s_t0),s=z.AddVV(e.m_sweep.c,r,z.s_t1),a=z.SubVV(s,n,z.s_t2),o=t.GetWorldVector(this.m_localXAxisA,new z),l=t.m_linearVelocity,h=e.m_linearVelocity,u=t.m_angularVelocity,c=e.m_angularVelocity;return z.DotVV(a,z.CrossSV(u,o,z.s_t0))+z.DotVV(o,z.SubVV(z.AddVCrossSV(h,c,r,z.s_t0),z.AddVCrossSV(l,u,i,z.s_t1),z.s_t0))},r.GetRevoluteJointAngle=function(){return this.m_bodyB.m_sweep.a-this.m_bodyA.m_sweep.a},r.GetRevoluteJointSpeed=function(){var t=this.m_bodyA.m_angularVelocity;return this.m_bodyB.m_angularVelocity-t},r.IsMotorEnabled=function(){return this.m_enableMotor},r.EnableMotor=function(t){t!==this.m_enableMotor&&(this.m_bodyA.SetAwake(!0),this.m_bodyB.SetAwake(!0),this.m_enableMotor=t)},r.SetMotorSpeed=function(t){t!==this.m_motorSpeed&&(this.m_bodyA.SetAwake(!0),this.m_bodyB.SetAwake(!0),this.m_motorSpeed=t)},r.SetMaxMotorTorque=function(t){t!==this.m_maxMotorTorque&&(this.m_bodyA.SetAwake(!0),this.m_bodyB.SetAwake(!0),this.m_maxMotorTorque=t)},r.GetMotorTorque=function(t){return t*this.m_motorImpulse},r.Dump=function(t){var e=this.m_bodyA.m_islandIndex,i=this.m_bodyB.m_islandIndex;t(" const jd: b2WheelJointDef = new b2WheelJointDef();\n"),t(" jd.bodyA = bodies[%d];\n",e),t(" jd.bodyB = bodies[%d];\n",i),t(" jd.collideConnected = %s;\n",this.m_collideConnected?"true":"false"),t(" jd.localAnchorA.Set(%.15f, %.15f);\n",this.m_localAnchorA.x,this.m_localAnchorA.y),t(" jd.localAnchorB.Set(%.15f, %.15f);\n",this.m_localAnchorB.x,this.m_localAnchorB.y),t(" jd.localAxisA.Set(%.15f, %.15f);\n",this.m_localXAxisA.x,this.m_localXAxisA.y),t(" jd.enableMotor = %s;\n",this.m_enableMotor?"true":"false"),t(" jd.motorSpeed = %.15f;\n",this.m_motorSpeed),t(" jd.maxMotorTorque = %.15f;\n",this.m_maxMotorTorque),t(" jd.frequencyHz = %.15f;\n",this.m_frequencyHz),t(" jd.dampingRatio = %.15f;\n",this.m_dampingRatio),t(" joints[%d] = this.m_world.CreateJoint(jd);\n",this.m_index)},i}(Pi);function ir(t,e){return O(t*e)}function rr(t,e){return t>e?t:e}er.InitVelocityConstraints_s_d=new z,er.InitVelocityConstraints_s_P=new z,er.SolveVelocityConstraints_s_P=new z,er.SolvePositionConstraints_s_d=new z,er.SolvePositionConstraints_s_P=new z;var nr=function(){function t(t){this._other=null,this.prev=null,this.next=null,this.contact=t}return t.prototype.Reset=function(){this._other=null,this.prev=null,this.next=null},Pe(t,[{key:"other",get:function(){if(null===this._other)throw new Error;return this._other},set:function(t){if(null!==this._other)throw new Error;this._other=t}}]),t}(),sr=function(){function t(){this.m_islandFlag=!1,this.m_touchingFlag=!1,this.m_enabledFlag=!1,this.m_filterFlag=!1,this.m_bulletHitFlag=!1,this.m_toiFlag=!1,this.m_prev=null,this.m_next=null,this.m_nodeA=new nr(this),this.m_nodeB=new nr(this),this.m_indexA=0,this.m_indexB=0,this.m_manifold=new Mt,this.m_toiCount=0,this.m_toi=0,this.m_friction=0,this.m_restitution=0,this.m_tangentSpeed=0,this.m_oldManifold=new Mt}var e=t.prototype;return e.GetManifold=function(){return this.m_manifold},e.GetWorldManifold=function(t){var e=this.m_fixtureA.GetBody(),i=this.m_fixtureB.GetBody(),r=this.GetShapeA(),n=this.GetShapeB();t.Initialize(this.m_manifold,e.GetTransform(),r.m_radius,i.GetTransform(),n.m_radius)},e.IsTouching=function(){return this.m_touchingFlag},e.SetEnabled=function(t){this.m_enabledFlag=t},e.IsEnabled=function(){return this.m_enabledFlag},e.GetNext=function(){return this.m_next},e.GetFixtureA=function(){return this.m_fixtureA},e.GetChildIndexA=function(){return this.m_indexA},e.GetShapeA=function(){return this.m_fixtureA.GetShape()},e.GetFixtureB=function(){return this.m_fixtureB},e.GetChildIndexB=function(){return this.m_indexB},e.GetShapeB=function(){return this.m_fixtureB.GetShape()},e.FlagForFiltering=function(){this.m_filterFlag=!0},e.SetFriction=function(t){this.m_friction=t},e.GetFriction=function(){return this.m_friction},e.ResetFriction=function(){this.m_friction=ir(this.m_fixtureA.m_friction,this.m_fixtureB.m_friction)},e.SetRestitution=function(t){this.m_restitution=t},e.GetRestitution=function(){return this.m_restitution},e.ResetRestitution=function(){this.m_restitution=rr(this.m_fixtureA.m_restitution,this.m_fixtureB.m_restitution)},e.SetTangentSpeed=function(t){this.m_tangentSpeed=t},e.GetTangentSpeed=function(){return this.m_tangentSpeed},e.Reset=function(t,e,i,r){this.m_islandFlag=!1,this.m_touchingFlag=!1,this.m_enabledFlag=!0,this.m_filterFlag=!1,this.m_bulletHitFlag=!1,this.m_toiFlag=!1,this.m_fixtureA=t,this.m_fixtureB=i,this.m_indexA=e,this.m_indexB=r,this.m_manifold.pointCount=0,this.m_prev=null,this.m_next=null,this.m_nodeA.Reset(),this.m_nodeB.Reset(),this.m_toiCount=0,this.m_friction=ir(this.m_fixtureA.m_friction,this.m_fixtureB.m_friction),this.m_restitution=rr(this.m_fixtureA.m_restitution,this.m_fixtureB.m_restitution)},e.Update=function(t){var e=this.m_oldManifold;this.m_oldManifold=this.m_manifold,this.m_manifold=e,this.m_enabledFlag=!0;var i=!1,r=this.m_touchingFlag,n=this.m_fixtureA.IsSensor(),s=this.m_fixtureB.IsSensor(),a=n||s,o=this.m_fixtureA.GetBody(),l=this.m_fixtureB.GetBody(),h=o.GetTransform(),u=l.GetTransform();if(a){var c=this.GetShapeA(),_=this.GetShapeB();i=zt(c,this.m_indexA,_,this.m_indexB,h,u),this.m_manifold.pointCount=0}else{this.Evaluate(this.m_manifold,h,u),i=this.m_manifold.pointCount>0;for(var f=0;f0:0!=(s.maskBits&a.categoryBits)&&0!=(s.categoryBits&a.maskBits)},i.ShouldCollideFixtureParticle=function(){return!0},i.ShouldCollideParticleParticle=function(){return!0},e}();mr.b2_defaultFilter=new mr;var yr=function(){this.normalImpulses=C(2),this.tangentImpulses=C(2),this.count=0},gr=function(){function t(){}var e=t.prototype;return e.BeginContact=function(){},e.EndContact=function(){},e.BeginContactFixtureParticle=function(){},e.EndContactFixtureParticle=function(){},e.BeginContactParticleParticle=function(){},e.EndContactParticleParticle=function(){},e.PreSolve=function(){},e.PostSolve=function(){},t}();gr.b2_defaultListener=new gr;var vr=function(){function t(){}var e=t.prototype;return e.ReportFixture=function(){return!0},e.ReportParticle=function(){return!1},e.ShouldQueryParticleSystem=function(){return!0},t}(),br=function(){function t(){}var e=t.prototype;return e.ReportFixture=function(t,e,i,r){return r},e.ReportParticle=function(){return 0},e.ShouldQueryParticleSystem=function(){return!0},t}(),Sr=function(){function e(){this.m_broadPhase=new qt,this.m_contactList=null,this.m_contactCount=0,this.m_contactFilter=mr.b2_defaultFilter,this.m_contactListener=gr.b2_defaultListener,this.m_contactFactory=new pr}var i=e.prototype;return i.AddPair=function(t,e){var i=t.fixture,r=e.fixture,n=t.childIndex,s=e.childIndex,a=i.GetBody(),o=r.GetBody();if(a!==o){for(var l=o.GetContactList();l;){if(l.other===a){var h=l.contact.GetFixtureA(),u=l.contact.GetFixtureB(),c=l.contact.GetChildIndexA(),_=l.contact.GetChildIndexB();if(h===i&&u===r&&c===n&&_===s)return;if(h===r&&u===i&&c===s&&_===n)return}l=l.next}if(!this.m_contactFilter||this.m_contactFilter.ShouldCollide(i,r)){var f=this.m_contactFactory.Create(i,n,r,s);null!==f&&(i=f.GetFixtureA(),r=f.GetFixtureB(),n=f.GetChildIndexA(),s=f.GetChildIndexB(),a=i.m_body,o=r.m_body,f.m_prev=null,f.m_next=this.m_contactList,null!==this.m_contactList&&(this.m_contactList.m_prev=f),this.m_contactList=f,f.m_nodeA.other=o,f.m_nodeA.prev=null,f.m_nodeA.next=a.m_contactList,null!==a.m_contactList&&(a.m_contactList.prev=f.m_nodeA),a.m_contactList=f.m_nodeA,f.m_nodeB.other=a,f.m_nodeB.prev=null,f.m_nodeB.next=o.m_contactList,null!==o.m_contactList&&(o.m_contactList.prev=f.m_nodeB),o.m_contactList=f.m_nodeB,i.IsSensor()||r.IsSensor()||(a.SetAwake(!0),o.SetAwake(!0)),++this.m_contactCount)}}},i.FindNewContacts=function(){var t=this;this.m_broadPhase.UpdatePairs((function(e,i){t.AddPair(e,i)}))},i.Destroy=function(t){var e=t.GetFixtureA(),i=t.GetFixtureB(),r=e.GetBody(),n=i.GetBody();this.m_contactListener&&t.IsTouching()&&this.m_contactListener.EndContact(t),t.m_prev&&(t.m_prev.m_next=t.m_next),t.m_next&&(t.m_next.m_prev=t.m_prev),t===this.m_contactList&&(this.m_contactList=t.m_next),t.m_nodeA.prev&&(t.m_nodeA.prev.next=t.m_nodeA.next),t.m_nodeA.next&&(t.m_nodeA.next.prev=t.m_nodeA.prev),t.m_nodeA===r.m_contactList&&(r.m_contactList=t.m_nodeA.next),t.m_nodeB.prev&&(t.m_nodeB.prev.next=t.m_nodeB.next),t.m_nodeB.next&&(t.m_nodeB.next.prev=t.m_nodeB.prev),t.m_nodeB===n.m_contactList&&(n.m_contactList=t.m_nodeB.next),t.m_manifold.pointCount>0&&!e.IsSensor()&&!i.IsSensor()&&(e.GetBody().SetAwake(!0),i.GetBody().SetAwake(!0)),this.m_contactFactory.Destroy(t),--this.m_contactCount},i.Collide=function(){for(var e=this.m_contactList;e;){var i=e.GetFixtureA(),r=e.GetFixtureB(),n=e.GetChildIndexA(),s=e.GetChildIndexB(),a=i.GetBody(),o=r.GetBody();if(e.m_filterFlag){if(this.m_contactFilter&&!this.m_contactFilter.ShouldCollide(i,r)){var l=e;e=l.m_next,this.Destroy(l);continue}e.m_filterFlag=!1}var h=a.IsAwake()&&a.m_type!==t.b2BodyType.b2_staticBody,u=o.IsAwake()&&o.m_type!==t.b2BodyType.b2_staticBody;if(h||u){var c=i.m_proxies[n].treeNode,_=r.m_proxies[s].treeNode;if(Lt(c.aabb,_.aabb))e.Update(this.m_contactListener),e=e.m_next;else{var f=e;e=f.m_next,this.Destroy(f)}}else e=e.m_next}},e}(),Ar=function(){function t(){this.step=0,this.collide=0,this.solve=0,this.solveInit=0,this.solveVelocity=0,this.solvePosition=0,this.broadphase=0,this.solveTOI=0}return t.prototype.Reset=function(){return this.step=0,this.collide=0,this.solve=0,this.solveInit=0,this.solveVelocity=0,this.solvePosition=0,this.broadphase=0,this.solveTOI=0,this},t}(),Cr=function(){function t(){this.dt=0,this.inv_dt=0,this.dtRatio=0,this.velocityIterations=0,this.positionIterations=0,this.particleIterations=0,this.warmStarting=!1}return t.prototype.Copy=function(t){return this.dt=t.dt,this.inv_dt=t.inv_dt,this.dtRatio=t.dtRatio,this.positionIterations=t.positionIterations,this.velocityIterations=t.velocityIterations,this.particleIterations=t.particleIterations,this.warmStarting=t.warmStarting,this},t}(),xr=function(){function t(){this.c=new z,this.a=0}return t.MakeArray=function(e){return A(e,(function(){return new t}))},t}(),Tr=function(){function t(){this.v=new z,this.w=0}return t.MakeArray=function(e){return A(e,(function(){return new t}))},t}(),wr=function(){this.step=new Cr},Er=!1,Br=function(){function t(){this.rA=new z,this.rB=new z,this.normalImpulse=0,this.tangentImpulse=0,this.normalMass=0,this.tangentMass=0,this.velocityBias=0}return t.MakeArray=function(e){return A(e,(function(){return new t}))},t}(),Dr=function(){function t(){this.points=Br.MakeArray(2),this.normal=new z,this.tangent=new z,this.normalMass=new j,this.K=new j,this.indexA=0,this.indexB=0,this.invMassA=0,this.invMassB=0,this.invIA=0,this.invIB=0,this.friction=0,this.restitution=0,this.tangentSpeed=0,this.pointCount=0,this.contactIndex=0}return t.MakeArray=function(e){return A(e,(function(){return new t}))},t}(),Mr=function(){function e(){this.localPoints=z.MakeArray(2),this.localNormal=new z,this.localPoint=new z,this.indexA=0,this.indexB=0,this.invMassA=0,this.invMassB=0,this.localCenterA=new z,this.localCenterB=new z,this.invIA=0,this.invIB=0,this.type=t.b2ManifoldType.e_unknown,this.radiusA=0,this.radiusB=0,this.pointCount=0}return e.MakeArray=function(t){return A(t,(function(){return new e}))},e}(),Pr=function(){this.step=new Cr,this.count=0},Rr=function(){function e(){this.normal=new z,this.point=new z,this.separation=0}return e.prototype.Initialize=function(i,r,n,s){var a=e.Initialize_s_pointA,o=e.Initialize_s_pointB,l=e.Initialize_s_planePoint,h=e.Initialize_s_clipPoint;switch(i.type){case t.b2ManifoldType.e_circles:Y.MulXV(r,i.localPoint,a),Y.MulXV(n,i.localPoints[0],o),z.SubVV(o,a,this.normal).SelfNormalize(),z.MidVV(a,o,this.point),this.separation=z.DotVV(z.SubVV(o,a,z.s_t0),this.normal)-i.radiusA-i.radiusB;break;case t.b2ManifoldType.e_faceA:X.MulRV(r.q,i.localNormal,this.normal),Y.MulXV(r,i.localPoint,l),Y.MulXV(n,i.localPoints[s],h),this.separation=z.DotVV(z.SubVV(h,l,z.s_t0),this.normal)-i.radiusA-i.radiusB,this.point.Copy(h);break;case t.b2ManifoldType.e_faceB:X.MulRV(n.q,i.localNormal,this.normal),Y.MulXV(n,i.localPoint,l),Y.MulXV(r,i.localPoints[s],h),this.separation=z.DotVV(z.SubVV(h,l,z.s_t0),this.normal)-i.radiusA-i.radiusB,this.point.Copy(h),this.normal.SelfNeg()}},e}();Rr.Initialize_s_pointA=new z,Rr.Initialize_s_pointB=new z,Rr.Initialize_s_planePoint=new z,Rr.Initialize_s_clipPoint=new z;var Ir=function(){function t(){this.m_step=new Cr,this.m_positionConstraints=Mr.MakeArray(1024),this.m_velocityConstraints=Dr.MakeArray(1024),this.m_count=0}var e=t.prototype;return e.Initialize=function(t){if(this.m_step.Copy(t.step),this.m_count=t.count,this.m_positionConstraints.length0?1/P:0;var R=s.tangent,I=z.CrossVV(B.rA,R),O=z.CrossVV(B.rB,R),F=_+f+p*I*I+d*O*O;B.tangentMass=F>0?1/F:0,B.velocityBias=0;var L=z.DotVV(s.normal,z.SubVV(z.AddVCrossSV(x,T,B.rB,z.s_t0),z.AddVCrossSV(b,S,B.rA,z.s_t1),z.s_t0));L<-1&&(B.velocityBias+=-s.restitution*L)}s.pointCount}},e.WarmStart=function(){for(var e=t.WarmStart_s_P,i=0;i0?-D/I:0;z.MulSV(O,T,a),b.SelfMulSub(p,a),S-=d*z.CrossVV(n,a),A.SelfMulAdd(y,a),C+=g*z.CrossVV(s,a)}this.m_positions[c].a=S,this.m_positions[_].a=C}return l>-.024},e.SolveTOIPositionConstraints=function(e,i){for(var r=t.SolveTOIPositionConstraints_s_xfA,n=t.SolveTOIPositionConstraints_s_xfB,s=t.SolveTOIPositionConstraints_s_psm,a=t.SolveTOIPositionConstraints_s_rA,l=t.SolveTOIPositionConstraints_s_rB,h=t.SolveTOIPositionConstraints_s_P,u=0,c=0;c0?-R/F:0;z.MulSV(L,E,h),A.SelfMulSub(g,h),C-=v*z.CrossVV(a,h),x.SelfMulAdd(b,h),T+=S*z.CrossVV(l,h)}this.m_positions[f].a=C,this.m_positions[p].a=T}return u>=-.012},t}();Ir.InitializeVelocityConstraints_s_xfA=new Y,Ir.InitializeVelocityConstraints_s_xfB=new Y,Ir.InitializeVelocityConstraints_s_worldManifold=new Pt,Ir.WarmStart_s_P=new z,Ir.SolveVelocityConstraints_s_dv=new z,Ir.SolveVelocityConstraints_s_dv1=new z,Ir.SolveVelocityConstraints_s_dv2=new z,Ir.SolveVelocityConstraints_s_P=new z,Ir.SolveVelocityConstraints_s_a=new z,Ir.SolveVelocityConstraints_s_b=new z,Ir.SolveVelocityConstraints_s_x=new z,Ir.SolveVelocityConstraints_s_d=new z,Ir.SolveVelocityConstraints_s_P1=new z,Ir.SolveVelocityConstraints_s_P2=new z,Ir.SolveVelocityConstraints_s_P1P2=new z,Ir.SolvePositionConstraints_s_xfA=new Y,Ir.SolvePositionConstraints_s_xfB=new Y,Ir.SolvePositionConstraints_s_psm=new Rr,Ir.SolvePositionConstraints_s_rA=new z,Ir.SolvePositionConstraints_s_rB=new z,Ir.SolvePositionConstraints_s_P=new z,Ir.SolveTOIPositionConstraints_s_xfA=new Y,Ir.SolveTOIPositionConstraints_s_xfB=new Y,Ir.SolveTOIPositionConstraints_s_psm=new Rr,Ir.SolveTOIPositionConstraints_s_rA=new z,Ir.SolveTOIPositionConstraints_s_rB=new z,Ir.SolveTOIPositionConstraints_s_P=new z;var Or,Fr=function(){function e(){this.m_bodies=[],this.m_contacts=[],this.m_joints=[],this.m_positions=xr.MakeArray(1024),this.m_velocities=Tr.MakeArray(1024),this.m_bodyCount=0,this.m_jointCount=0,this.m_contactCount=0,this.m_bodyCapacity=0,this.m_contactCapacity=0,this.m_jointCapacity=0}var r=e.prototype;return r.Initialize=function(t,e,i,r){if(this.m_bodyCapacity=t,this.m_contactCapacity=e,this.m_jointCapacity=i,this.m_bodyCount=0,this.m_contactCount=0,this.m_jointCount=0,this.m_listener=r,this.m_positions.length4){var M=2/D.Length();T.SelfMul(M)}var P=l*w;P*P>f&&(w*=_/E(P)),C.x+=l*T.x,C.y+=l*T.y,x+=l*w,this.m_positions[A].a=x,this.m_velocities[A].w=w}o.Reset();for(var R=!1,I=0;I.0012184696791469947||z.DotVV(H.m_linearVelocity,H.m_linearVelocity)>1e-4?(H.m_sleepTime=0,G=0):(H.m_sleepTime+=l,G=B(G,H.m_sleepTime)))}if(G>=.5&&R)for(var j=0;j4){var v=2/g.Length();m.SelfMul(v)}var b=u*y;b*b>f&&(y*=_/E(b)),p.SelfMulAdd(u,m),d+=u*y,this.m_positions[c].a=d,this.m_velocities[c].w=y;var S=this.m_bodies[c];S.m_sweep.c.Copy(p),S.m_sweep.a=d,S.m_linearVelocity.Copy(m),S.m_angularVelocity=y,S.SynchronizeTransform()}this.Report(o.m_velocityConstraints)},r.Report=function(t){if(null!==this.m_listener)for(var i=0;i0){var n=1/this.m_mass;this.m_center.SelfMul(n),this.m_linearVelocity.SelfMul(n)}this.m_inertia=0,this.m_angularVelocity=0;for(var s=this.m_firstIndex;s0&&(this.m_angularVelocity*=1/this.m_inertia),this.m_timestamp=this.m_system.m_timestamp}},e}();zr.GetLinearVelocityFromWorldPoint_s_t0=new z;var Ur=function(){function t(t){this.m_buffer=[],this.m_front=0,this.m_back=0,this.m_buffer.fill(null,0,t)}var e=t.prototype;return e.Push=function(t){if(this.m_back>=this.m_capacity){for(var e=this.m_front;e=0&&f>=0&&_0&&h.Push(new Wr(d-1,m,y-1,g)),m>0&&h.Push(new Wr(d,m-1,y-this.m_countX,g)),dk*k+N*N&&(this.m_diagram[R]=F,M>0&&h.Push(new Wr(M-1,P,R-1,F)),P>0&&h.Push(new Wr(M,P-1,R-this.m_countX,F)),M=i)break;Xr(t,l,i)}}if(0===a)break;n=i,i=s[--a]}return t}function Jr(t,e,i,r){return void 0===e&&(e=0),void 0===i&&(i=t.length-e),void 0===r&&(r=Yr),qr(t,e,i,r)}function Kr(t,e,i){void 0===i&&(i=t.length);for(var r=0,n=0;n0;){var a=Math.floor(s/2),o=e+a;n(t[o],r)?(e=++o,s-=a+1):s=a}return e}function Qr(t,e,i,r,n){for(var s=i-e;s>0;){var a=Math.floor(s/2),o=e+a;n(r,t[o])?s=a:(e=++o,s-=a+1)}return e}function $r(t,e,i,r){for(var n=i;e!==n;)Xr(t,e++,n++),n===r?n=i:e===i&&(i=n)}var tn=function(){function t(t){this.data=[],this.count=0,this.capacity=0,this.allocator=t}var e=t.prototype;return e.Append=function(){return this.count>=this.capacity&&this.Grow(),this.count++},e.Reserve=function(t){if(!(this.capacity>=t)){for(var e=this.capacity;e=0;)this.ReportFixtureAndParticle(t,i,s);return!0},i.ReportParticle=function(){return!1},i.ReportFixtureAndParticle=function(){},e}(vr),rn=function(){function t(){this.indexA=0,this.indexB=0,this.weight=0,this.normal=new z,this.flags=0}var e=t.prototype;return e.SetIndices=function(t,e){this.indexA=t,this.indexB=e},e.SetWeight=function(t){this.weight=t},e.SetNormal=function(t){this.normal.Copy(t)},e.SetFlags=function(t){this.flags=t},e.GetIndexA=function(){return this.indexA},e.GetIndexB=function(){return this.indexB},e.GetWeight=function(){return this.weight},e.GetNormal=function(){return this.normal},e.GetFlags=function(){return this.flags},e.IsEqual=function(t){return this.indexA===t.indexA&&this.indexB===t.indexB&&this.flags===t.flags&&this.weight===t.weight&&this.normal.x===t.normal.x&&this.normal.y===t.normal.y},e.IsNotEqual=function(t){return!this.IsEqual(t)},e.ApproximatelyEqual=function(t){return this.indexA===t.indexA&&this.indexB===t.indexB&&this.flags===t.flags&&E(this.weight-t.weight)<.01&&z.DistanceSquaredVV(this.normal,t.normal)<1e-4},t}(),nn=function(){this.index=0,this.weight=0,this.normal=new z,this.mass=0},sn=function(){this.indexA=0,this.indexB=0,this.flags=0,this.strength=0,this.distance=0},an=function(){this.indexA=0,this.indexB=0,this.indexC=0,this.flags=0,this.strength=0,this.pa=new z(0,0),this.pb=new z(0,0),this.pc=new z(0,0),this.ka=0,this.kb=0,this.kc=0,this.s=0},on=function(){function t(){this.strictContactCheck=!1,this.density=1,this.gravityScale=1,this.radius=1,this.maxCount=0,this.pressureStrength=.005,this.dampingStrength=1,this.elasticStrength=.25,this.springStrength=.25,this.viscousStrength=.25,this.surfaceTensionPressureStrength=.2,this.surfaceTensionNormalStrength=.2,this.repulsiveStrength=1,this.powderStrength=.5,this.ejectionStrength=.5,this.staticPressureStrength=.2,this.staticPressureRelaxation=.2,this.staticPressureIterations=8,this.colorMixingStrength=.5,this.destroyByAge=!0,this.lifetimeGranularity=1/60}var e=t.prototype;return e.Copy=function(t){return this.strictContactCheck=t.strictContactCheck,this.density=t.density,this.gravityScale=t.gravityScale,this.radius=t.radius,this.maxCount=t.maxCount,this.pressureStrength=t.pressureStrength,this.dampingStrength=t.dampingStrength,this.elasticStrength=t.elasticStrength,this.springStrength=t.springStrength,this.viscousStrength=t.viscousStrength,this.surfaceTensionPressureStrength=t.surfaceTensionPressureStrength,this.surfaceTensionNormalStrength=t.surfaceTensionNormalStrength,this.repulsiveStrength=t.repulsiveStrength,this.powderStrength=t.powderStrength,this.ejectionStrength=t.ejectionStrength,this.staticPressureStrength=t.staticPressureStrength,this.staticPressureRelaxation=t.staticPressureRelaxation,this.staticPressureIterations=t.staticPressureIterations,this.colorMixingStrength=t.colorMixingStrength,this.destroyByAge=t.destroyByAge,this.lifetimeGranularity=t.lifetimeGranularity,this},e.Clone=function(){return(new t).Copy(this)},t}(),ln=function(){function r(t,e){this.m_paused=!1,this.m_timestamp=0,this.m_allParticleFlags=0,this.m_needsUpdateAllParticleFlags=!1,this.m_allGroupFlags=0,this.m_needsUpdateAllGroupFlags=!1,this.m_hasForce=!1,this.m_iterationIndex=0,this.m_inverseDensity=0,this.m_particleDiameter=0,this.m_inverseDiameter=0,this.m_squaredDiameter=0,this.m_count=0,this.m_internalAllocatedCapacity=0,this.m_handleIndexBuffer=new hn,this.m_flagsBuffer=new hn,this.m_positionBuffer=new hn,this.m_velocityBuffer=new hn,this.m_forceBuffer=[],this.m_weightBuffer=[],this.m_staticPressureBuffer=[],this.m_accumulationBuffer=[],this.m_accumulation2Buffer=[],this.m_depthBuffer=[],this.m_colorBuffer=new hn,this.m_groupBuffer=[],this.m_userDataBuffer=new hn,this.m_stuckThreshold=0,this.m_lastBodyContactStepBuffer=new hn,this.m_bodyContactCountBuffer=new hn,this.m_consecutiveContactStepsBuffer=new hn,this.m_stuckParticleBuffer=new tn((function(){return 0})),this.m_proxyBuffer=new tn((function(){return new un})),this.m_contactBuffer=new tn((function(){return new rn})),this.m_bodyContactBuffer=new tn((function(){return new nn})),this.m_pairBuffer=new tn((function(){return new sn})),this.m_triadBuffer=new tn((function(){return new an})),this.m_expirationTimeBuffer=new hn,this.m_indexByExpirationTimeBuffer=new hn,this.m_timeElapsed=0,this.m_expirationTimeBufferRequiresSorting=!1,this.m_groupCount=0,this.m_groupList=null,this.m_def=new on,this.m_prev=null,this.m_next=null,this.UpdateBodyContacts_callback=null,this.SolveCollision_callback=null,this.SetStrictContactCheck(t.strictContactCheck),this.SetDensity(t.density),this.SetGravityScale(t.gravityScale),this.SetRadius(t.radius),this.SetMaxParticleCount(t.maxCount),this.m_def=t.Clone(),this.m_world=e,this.SetDestructionByAge(this.m_def.destroyByAge)}r.computeTag=function(t,e){return(e+r.yOffset>>>0<>>0)>>>0},r.computeRelativeTag=function(t,e,i){return t+(i<>>0};var n=r.prototype;return n.Drop=function(){for(;this.m_groupList;)this.DestroyParticleGroup(this.m_groupList);this.FreeUserOverridableBuffer(this.m_handleIndexBuffer),this.FreeUserOverridableBuffer(this.m_flagsBuffer),this.FreeUserOverridableBuffer(this.m_lastBodyContactStepBuffer),this.FreeUserOverridableBuffer(this.m_bodyContactCountBuffer),this.FreeUserOverridableBuffer(this.m_consecutiveContactStepsBuffer),this.FreeUserOverridableBuffer(this.m_positionBuffer),this.FreeUserOverridableBuffer(this.m_velocityBuffer),this.FreeUserOverridableBuffer(this.m_colorBuffer),this.FreeUserOverridableBuffer(this.m_userDataBuffer),this.FreeUserOverridableBuffer(this.m_expirationTimeBuffer),this.FreeUserOverridableBuffer(this.m_indexByExpirationTimeBuffer),this.FreeBuffer(this.m_forceBuffer,this.m_internalAllocatedCapacity),this.FreeBuffer(this.m_weightBuffer,this.m_internalAllocatedCapacity),this.FreeBuffer(this.m_staticPressureBuffer,this.m_internalAllocatedCapacity),this.FreeBuffer(this.m_accumulationBuffer,this.m_internalAllocatedCapacity),this.FreeBuffer(this.m_accumulation2Buffer,this.m_internalAllocatedCapacity),this.FreeBuffer(this.m_depthBuffer,this.m_internalAllocatedCapacity),this.FreeBuffer(this.m_groupBuffer,this.m_internalAllocatedCapacity)},n.CreateParticle=function(t){if(this.m_world.IsLocked())throw new Error;if(this.m_count>=this.m_internalAllocatedCapacity){var i=this.m_count?2*this.m_count:y;this.ReallocateInternalAllocatedBuffers(i)}if(this.m_count>=this.m_internalAllocatedCapacity){if(!this.m_def.destroyByAge)return p;this.DestroyOldestParticle(0,!1),this.SolveZombie()}var r=this.m_count++;this.m_flagsBuffer.data[r]=0,this.m_lastBodyContactStepBuffer.data&&(this.m_lastBodyContactStepBuffer.data[r]=0),this.m_bodyContactCountBuffer.data&&(this.m_bodyContactCountBuffer.data[r]=0),this.m_consecutiveContactStepsBuffer.data&&(this.m_consecutiveContactStepsBuffer.data[r]=0),this.m_positionBuffer.data[r]=(this.m_positionBuffer.data[r]||new z).Copy(e(t.position,z.ZERO)),this.m_velocityBuffer.data[r]=(this.m_velocityBuffer.data[r]||new z).Copy(e(t.velocity,z.ZERO)),this.m_weightBuffer[r]=0,this.m_forceBuffer[r]=(this.m_forceBuffer[r]||new z).SetZero(),this.m_staticPressureBuffer&&(this.m_staticPressureBuffer[r]=0),this.m_depthBuffer&&(this.m_depthBuffer[r]=0);var n=(new K).Copy(e(t.color,K.ZERO));!this.m_colorBuffer.data&&n.IsZero()||(this.m_colorBuffer.data=this.RequestBuffer(this.m_colorBuffer.data),this.m_colorBuffer.data[r]=(this.m_colorBuffer.data[r]||new K).Copy(n)),(this.m_userDataBuffer.data||t.userData)&&(this.m_userDataBuffer.data=this.RequestBuffer(this.m_userDataBuffer.data),this.m_userDataBuffer.data[r]=t.userData),this.m_handleIndexBuffer.data&&(this.m_handleIndexBuffer.data[r]=null);var s=this.m_proxyBuffer.data[this.m_proxyBuffer.Append()],a=e(t.lifetime,0),o=a>0;(this.m_expirationTimeBuffer.data||o)&&(this.SetParticleLifetime(r,o?a:this.ExpirationTimeToLifetime(-this.GetQuantizedTimeElapsed())),this.m_indexByExpirationTimeBuffer.data[r]=r),s.index=r;var l=e(t.group,null);return this.m_groupBuffer[r]=l,l&&(l.m_firstIndex0?r:n,e)},n.DestroyParticlesInShape=function(t,e,i){void 0===i&&(i=!1);var n=r.DestroyParticlesInShape_s_aabb;if(this.m_world.IsLocked())throw new Error;var s=new yn(this,t,e,i),a=n;return t.ComputeAABB(a,e,0),this.m_world.QueryAABB(s,a),s.Destroyed()},n.CreateParticleGroup=function(t){var i=r.CreateParticleGroup_s_transform;if(this.m_world.IsLocked())throw new Error;var n=i;n.SetPositionAngle(e(t.position,z.ZERO),e(t.angle,0));var s=this.m_count;if(t.shape&&this.CreateParticlesWithShapeForGroup(t.shape,t,n),t.shapes&&this.CreateParticlesWithShapesForGroup(t.shapes,e(t.shapeCount,t.shapes.length),t,n),t.positionData)for(var a=e(t.particleCount,t.positionData.length),o=0;o0&&(this.m_lastBodyContactStepBuffer.data=this.RequestBuffer(this.m_lastBodyContactStepBuffer.data),this.m_bodyContactCountBuffer.data=this.RequestBuffer(this.m_bodyContactCountBuffer.data),this.m_consecutiveContactStepsBuffer.data=this.RequestBuffer(this.m_consecutiveContactStepsBuffer.data))},n.GetStuckCandidates=function(){return this.m_stuckParticleBuffer.Data()},n.GetStuckCandidateCount=function(){return this.m_stuckParticleBuffer.GetCount()},n.ComputeCollisionEnergy=function(){for(var t=r.ComputeCollisionEnergy_s_v,e=this.m_velocityBuffer.data,i=0,n=0;n0?this.GetQuantizedTimeElapsed()+s:s;a!==this.m_expirationTimeBuffer.data[t]&&(this.m_expirationTimeBuffer.data[t]=a,this.m_expirationTimeBufferRequiresSorting=!0)},n.GetParticleLifetime=function(t){return this.ExpirationTimeToLifetime(this.GetExpirationTimeBuffer()[t])},n.SetDestructionByAge=function(t){t&&this.GetExpirationTimeBuffer(),this.m_def.destroyByAge=t},n.GetDestructionByAge=function(){return this.m_def.destroyByAge},n.GetExpirationTimeBuffer=function(){return this.m_expirationTimeBuffer.data=this.RequestBuffer(this.m_expirationTimeBuffer.data),this.m_expirationTimeBuffer.data},n.ExpirationTimeToLifetime=function(t){return(t>0?t-this.GetQuantizedTimeElapsed():t)*this.m_def.lifetimeGranularity},n.GetIndexByExpirationTimeBuffer=function(){return this.GetParticleCount()?this.SetParticleLifetime(0,this.GetParticleLifetime(0)):this.m_indexByExpirationTimeBuffer.data=this.RequestBuffer(this.m_indexByExpirationTimeBuffer.data),this.m_indexByExpirationTimeBuffer.data},n.ParticleApplyLinearImpulse=function(t,e){this.ApplyLinearImpulse(t,t+1,e)},n.ApplyLinearImpulse=function(t,e,i){for(var r=this.m_velocityBuffer.data,n=(e-t)*this.GetParticleMass(),s=(new z).Copy(i).SelfMul(1/n),a=t;a=0;){var m=z.SubVV(e,h[c],s),y=z.DotVV(m,f),g=y*y-p*(z.DotVV(m,m)-this.m_squaredDiameter);if(g>=0){var v=O(g),b=(-y-v)/p;if(b>_)continue;if(b<0&&((b=(-y+v)/p)<0||b>_))continue;var S=z.AddVMulSV(m,b,f,o);if(S.Normalize(),(_=B(_,t.ReportParticle(this,c,z.AddVMulSV(e,b,f,l),S,b)))<=0)break}}}},n.ComputeAABB=function(t){var e=this.GetParticleCount();t.lowerBound.x=+i,t.lowerBound.y=+i,t.upperBound.x=-i,t.upperBound.y=-i;for(var r=this.m_positionBuffer.data,n=0;ne?e:t}if(t=e(t,this.m_def.maxCount),t=e(t,this.m_flagsBuffer.userSuppliedCapacity),t=e(t,this.m_positionBuffer.userSuppliedCapacity),t=e(t,this.m_velocityBuffer.userSuppliedCapacity),t=e(t,this.m_colorBuffer.userSuppliedCapacity),t=e(t,this.m_userDataBuffer.userSuppliedCapacity),this.m_internalAllocatedCapacity0;this.m_lastBodyContactStepBuffer.data=this.ReallocateBuffer4(this.m_lastBodyContactStepBuffer,this.m_internalAllocatedCapacity,t,i),this.m_bodyContactCountBuffer.data=this.ReallocateBuffer4(this.m_bodyContactCountBuffer,this.m_internalAllocatedCapacity,t,i),this.m_consecutiveContactStepsBuffer.data=this.ReallocateBuffer4(this.m_consecutiveContactStepsBuffer,this.m_internalAllocatedCapacity,t,i),this.m_positionBuffer.data=this.ReallocateBuffer4(this.m_positionBuffer,this.m_internalAllocatedCapacity,t,!1),this.m_velocityBuffer.data=this.ReallocateBuffer4(this.m_velocityBuffer,this.m_internalAllocatedCapacity,t,!1),this.m_forceBuffer=this.ReallocateBuffer5(this.m_forceBuffer,0,this.m_internalAllocatedCapacity,t,!1),this.m_weightBuffer=this.ReallocateBuffer5(this.m_weightBuffer,0,this.m_internalAllocatedCapacity,t,!1),this.m_staticPressureBuffer=this.ReallocateBuffer5(this.m_staticPressureBuffer,0,this.m_internalAllocatedCapacity,t,!0),this.m_accumulationBuffer=this.ReallocateBuffer5(this.m_accumulationBuffer,0,this.m_internalAllocatedCapacity,t,!1),this.m_accumulation2Buffer=this.ReallocateBuffer5(this.m_accumulation2Buffer,0,this.m_internalAllocatedCapacity,t,!0),this.m_depthBuffer=this.ReallocateBuffer5(this.m_depthBuffer,0,this.m_internalAllocatedCapacity,t,!0),this.m_colorBuffer.data=this.ReallocateBuffer4(this.m_colorBuffer,this.m_internalAllocatedCapacity,t,!0),this.m_groupBuffer=this.ReallocateBuffer5(this.m_groupBuffer,0,this.m_internalAllocatedCapacity,t,!1),this.m_userDataBuffer.data=this.ReallocateBuffer4(this.m_userDataBuffer,this.m_internalAllocatedCapacity,t,!0),this.m_expirationTimeBuffer.data=this.ReallocateBuffer4(this.m_expirationTimeBuffer,this.m_internalAllocatedCapacity,t,!0),this.m_indexByExpirationTimeBuffer.data=this.ReallocateBuffer4(this.m_indexByExpirationTimeBuffer,this.m_internalAllocatedCapacity,t,!1),this.m_internalAllocatedCapacity=t}},n.CreateParticleForGroup=function(t,i,r){var n=new Lr;n.flags=e(t.flags,0),Y.MulXV(i,r,n.position),z.AddVV(e(t.linearVelocity,z.ZERO),z.CrossSV(e(t.angularVelocity,0),z.SubVV(n.position,e(t.position,z.ZERO),z.s_t0),z.s_t0),n.velocity),n.color.Copy(e(t.color,K.ZERO)),n.lifetime=e(t.lifetime,0),n.userData=t.userData,this.CreateParticle(n)},n.CreateParticlesStrokeShapeForGroup=function(i,n,s){var a=r.CreateParticlesStrokeShapeForGroup_s_edge,o=r.CreateParticlesStrokeShapeForGroup_s_d,l=r.CreateParticlesStrokeShapeForGroup_s_p,h=e(n.stride,0);0===h&&(h=this.GetParticleStride());for(var u=0,c=i.GetChildCount(),_=0;_=e&&f=e&&pg||z.DotVV(m,m)>g||z.DotVV(y,y)>g)return;var v=T.m_groupBuffer[t],b=T.m_groupBuffer[e],S=T.m_groupBuffer[i],A=T.m_triadBuffer.data[T.m_triadBuffer.Append()];A.indexA=t,A.indexB=e,A.indexC=i,A.flags=h|u|c,A.strength=B(B(v?v.m_strength:1,b?b.m_strength:1),S?S.m_strength:1);var C=(_.x+f.x+p.x)/3,x=(_.y+f.y+p.y)/3;A.pa.x=_.x-C,A.pa.y=_.y-x,A.pb.x=f.x-C,A.pb.y=f.y-x,A.pc.x=p.x-C,A.pc.y=p.y-x,A.ka=-z.DotVV(y,d),A.kb=-z.DotVV(d,m),A.kc=-z.DotVV(m,y),A.s=z.CrossVV(_,f)+z.CrossVV(f,p)+z.CrossVV(p,_)}})),Jr(this.m_triadBuffer.data,0,this.m_triadBuffer.count,r.CompareTriadIndices),this.m_triadBuffer.Unique(r.MatchTriadIndices)}},n.UpdatePairsAndTriadsWithReactiveParticles=function(){var e=new bn(this.m_flagsBuffer);this.UpdatePairsAndTriads(0,this.m_count,e);for(var i=0;i>0,x=0;xI&&(this.m_depthBuffer[B]=I,T=!0),R>F&&(this.m_depthBuffer[D]=F,T=!0)}if(!T)break}for(var L=0;L0)for(var i=this.GetParticleCount(),n=0;nthis.m_lastBodyContactStepBuffer.data[n]+1&&(this.m_consecutiveContactStepsBuffer.data[n]=0);this.m_bodyContactBuffer.SetCount(0),this.m_stuckParticleBuffer.SetCount(0);var s=t;this.ComputeAABB(s),null===this.UpdateBodyContacts_callback&&(this.UpdateBodyContacts_callback=new Sn(this));var a=this.UpdateBodyContacts_callback;a.m_contactFilter=this.GetFixtureContactFilter(),this.m_world.QueryAABB(a,s),this.m_def.strictContactCheck&&this.RemoveSpuriousBodyContacts(),this.NotifyBodyContactListenerPostContact(e)},n.Solve=function(e){var i=r.Solve_s_subStep;if(0!==this.m_count&&(this.m_expirationTimeBuffer.data&&this.SolveLifetimes(e),this.m_allParticleFlags&t.b2ParticleFlag.b2_zombieParticle&&this.SolveZombie(),this.m_needsUpdateAllParticleFlags&&this.UpdateAllParticleFlags(),this.m_needsUpdateAllGroupFlags&&this.UpdateAllGroupFlags(),!this.m_paused))for(this.m_iterationIndex=0;this.m_iterationIndexi&&n.SelfMul(O(i/s))}},n.SolveGravity=function(t){for(var e=r.SolveGravity_s_gravity,i=this.m_velocityBuffer.data,n=z.MulSV(t.dt*this.m_def.gravityScale,this.m_world.GetGravity(),e),s=0;s=0;){var L=d[F],V=this.m_groupBuffer[F];if(E!==V&&B!==V){var k=this.GetLinearVelocity(V,F,L,l),N=z.SubVV(L,x,h),G=z.SubVV(k,D,u),U=z.CrossVV(R,G),H=z.CrossVV(P,G)-z.CrossVV(N,R),j=z.CrossVV(P,N),W=void 0,X=void 0,Y=c,q=_;if(0===U){if(0===H)continue;if(!((X=-j/H)>=0&&X=0&&W<=1))continue}else{var J=H*H-4*j*U;if(J<0)continue;var K=O(J),Z=(-H-K)/(2*U),Q=(-H+K)/(2*U);if(Z>Q){var $=Z;Z=Q,Q=$}if(X=Z,z.AddVMulSV(P,X,R,Y),z.AddVMulSV(N,X,G,q),W=z.DotVV(Y,q)/z.DotVV(Y,Y),!(X>=0&&X=0&&W<=1)){if(!((X=Q)>=0&&X=0&&W<=1))continue}}var tt=f;tt.x=D.x+W*R.x-k.x,tt.y=D.y+W*R.y-k.y;var et=z.MulSV(v,tt,p);if(V&&this.IsRigidGroup(V)){var it=V.GetMass(),rt=V.GetInertia();it>0&&V.m_linearVelocity.SelfMulAdd(1/it,et),rt>0&&(V.m_angularVelocity+=z.CrossVV(z.SubVV(L,V.GetCenter(),z.s_t0),et)/rt)}else m[F].SelfAdd(tt);this.ParticleApplyForce(F,et.SelfMul(-e.inv_dt))}}}}},n.SolveStaticPressure=function(e){this.m_staticPressureBuffer=this.RequestBuffer(this.m_staticPressureBuffer);for(var i=this.GetCriticalPressure(e),r=this.m_def.staticPressureStrength*i,n=m*i,s=this.m_def.staticPressureRelaxation,a=0;ao){var f=u.body,p=u.mass,d=n[c],m=u.normal,y=z.MulSV(a*p*(_-o),m,i);s[c].SelfMulSub(l,y),f.ApplyLinearImpulse(y,d,!0)}}}for(var g=0;go){var S=v.indexA,A=v.indexB,C=v.normal,x=z.MulSV(a*(b-o),C,i);s[S].SelfSub(x),s[A].SelfAdd(x)}}}},n.SolveSolid=function(t){var e=r.SolveSolid_s_f,i=this.m_velocityBuffer.data;this.m_depthBuffer=this.RequestBuffer(this.m_depthBuffer);for(var n=t.inv_dt*this.m_def.ejectionStrength,s=0;s=0?(w=B(w,R),E=D(E,R+1)):M=!0}wn:s})),this.m_expirationTimeBufferRequiresSorting=!1);for(var s=n-1;s>=0;--s){var a=r[s],o=i[a];if(ee.weight:t.index3)return!0;var l=t.Copy(r.normal);l.SelfMul(n.m_particleDiameter*(1-r.weight));var h=z.AddVV(n.m_positionBuffer.data[r.index],l,e);if(!r.fixture.TestPoint(h)){for(var u=r.fixture.GetShape().GetChildCount(),c=0;cthis.m_stuckThreshold&&(this.m_stuckParticleBuffer.data[this.m_stuckParticleBuffer.Append()]=t)),this.m_lastBodyContactStepBuffer.data[t]=this.m_timestamp)},n.ValidateParticleIndex=function(t){return t>=0&&t0?1/r:0,e[0]=n>0?1/n:0,i[0]=z.CrossVV(z.SubVV(a,s,z.s_t0),o)},n.InitDampingParameterWithRigidGroupOrParticle=function(e,i,r,n,s,a,o,l){if(s&&n)this.InitDampingParameter(e,i,r,s.GetMass(),s.GetInertia(),s.GetCenter(),o,l);else{var h=this.m_flagsBuffer.data[a];this.InitDampingParameter(e,i,r,h&t.b2ParticleFlag.b2_wallParticle?0:this.GetParticleMass(),0,o,o,l)}},n.ComputeDampingImpulse=function(t,e,i,r,n,s,a){var o=t+e*i*i+r+n*s*s;return o>0?a/o:0},n.ApplyDamping=function(t,e,i,r,n,s,a,o){n&&r?(n.m_linearVelocity.SelfMulAdd(a*t,o),n.m_angularVelocity+=a*i*e):this.m_velocityBuffer.data[s].SelfMulAdd(a*t,o)},r}();ln.xTruncBits=12,ln.yTruncBits=12,ln.tagBits=32,ln.yOffset=1<>>0,this.m_xUpper=(i&ln.xMask)>>>0,this.m_yLower=(e&ln.yMask)>>>0,this.m_yUpper=(i&ln.yMask)>>>0,this.m_first=r,this.m_last=n}return t.prototype.GetNext=function(){for(;this.m_first>>0;if(t>=this.m_xLower&&t<=this.m_xUpper)return this.m_system.m_proxyBuffer.data[this.m_first++].index;this.m_first++}return p},t}(),_n=function(){this.next=null,this.count=0,this.index=0},fn=function(){function t(){}var e=t.prototype;return e.Allocate=function(t,e){return e},e.Clear=function(){},e.GetCount=function(){return 0},e.Invalidate=function(){},e.GetValidBuffer=function(){return[]},e.GetBuffer=function(){return[]},e.SetCount=function(){},t}(),pn=function(t){function e(){return t.apply(this,arguments)||this}Me(e,t);var i=e.prototype;return i.Initialize=function(){},i.Find=function(){return p},e}(fn),dn=function(t){function e(){return t.apply(this,arguments)||this}Me(e,t);var i=e.prototype;return i.Initialize=function(){},i.Find=function(){return p},e}(fn),mn=function(){function t(){}var e=t.prototype;return e.IsNecessary=function(){return!0},e.ShouldCreatePair=function(){return!0},e.ShouldCreateTriad=function(){return!0},t}(),yn=function(t){function e(e,i,r,n){var s;return(s=t.call(this)||this).m_callDestructionListener=!1,s.m_destroyed=0,s.m_system=e,s.m_shape=i,s.m_xf=r,s.m_callDestructionListener=n,s.m_destroyed=0,s}Me(e,t);var i=e.prototype;return i.ReportFixture=function(){return!1},i.ReportParticle=function(t,e){return t===this.m_system&&(this.m_shape.TestPoint(this.m_xf,this.m_system.m_positionBuffer.data[e])&&(this.m_system.DestroyParticle(e,this.m_callDestructionListener),this.m_destroyed++),!0)},i.Destroyed=function(){return this.m_destroyed},e}(vr),gn=function(t){function e(e){var i;return(i=t.call(this)||this).m_threshold=0,i.m_threshold=e,i}Me(e,t);var i=e.prototype;return i.ShouldCreatePair=function(t,e){return t0?1/_:0,d=f>0?1/f:0,m=this.m_system.m_flagsBuffer.data[n]&t.b2ParticleFlag.b2_wallParticle?0:this.m_system.GetParticleInvMass(),y=z.SubVV(o,c,a),g=z.CrossVV(y,l),v=m+p+d*g*g,b=this.m_system.m_bodyContactBuffer.data[this.m_system.m_bodyContactBuffer.Append()];b.index=n,b.body=u,b.fixture=e,b.weight=1-h*this.m_system.m_inverseDiameter,b.normal.Copy(l.SelfNeg()),b.mass=v>0?1/v:0,this.m_system.DetectStuckParticle(n)}},i}(en);Sn.ReportFixtureAndParticle_s_n=new z,Sn.ReportFixtureAndParticle_s_rp=new z;var An=function(e){function i(t,i){var r;return(r=e.call(this,t)||this).m_step=i,r}Me(i,e);var r=i.prototype;return r.ReportFixtureAndParticle=function(e,r,n){var s=i.ReportFixtureAndParticle_s_p1,a=i.ReportFixtureAndParticle_s_output,l=i.ReportFixtureAndParticle_s_input,h=i.ReportFixtureAndParticle_s_p,u=i.ReportFixtureAndParticle_s_v,c=i.ReportFixtureAndParticle_s_f,_=e.GetBody(),f=this.m_system.m_positionBuffer.data[n],p=this.m_system.m_velocityBuffer.data[n],d=a,m=l;if(0===this.m_system.m_iterationIndex){var y=Y.MulTXV(_.m_xf0,f,s);e.GetShape().GetType()===t.b2ShapeType.e_circleShape&&(y.SelfSub(_.GetLocalCenter()),X.MulRV(_.m_xf0.q,y,y),X.MulTRV(_.m_xf.q,y,y),y.SelfAdd(_.GetLocalCenter())),Y.MulXV(_.m_xf,y,m.p1)}else m.p1.Copy(f);if(z.AddVMulSV(f,this.m_step.dt,p,m.p2),m.maxFraction=1,e.RayCast(d,m,r)){var g=d.normal,v=h;v.x=(1-d.fraction)*m.p1.x+d.fraction*m.p2.x+o*g.x,v.y=(1-d.fraction)*m.p1.y+d.fraction*m.p2.y+o*g.y;var b=u;b.x=this.m_step.inv_dt*(v.x-f.x),b.y=this.m_step.inv_dt*(v.y-f.y),this.m_system.m_velocityBuffer.data[n].Copy(b);var S=c;S.x=this.m_step.inv_dt*this.m_system.GetParticleMass()*(p.x-b.x),S.y=this.m_step.inv_dt*this.m_system.GetParticleMass()*(p.y-b.y),this.m_system.ParticleApplyForce(n,S)}},r.ReportParticle=function(){return!1},i}(en);An.ReportFixtureAndParticle_s_p1=new z,An.ReportFixtureAndParticle_s_output=new Ot,An.ReportFixtureAndParticle_s_input=new It,An.ReportFixtureAndParticle_s_p=new z,An.ReportFixtureAndParticle_s_v=new z,An.ReportFixtureAndParticle_s_f=new z;var Cn=function(){function e(t){this.m_newFixture=!1,this.m_locked=!1,this.m_clearForces=!0,this.m_contactManager=new Sr,this.m_bodyList=null,this.m_jointList=null,this.m_particleSystemList=null,this.m_bodyCount=0,this.m_jointCount=0,this.m_gravity=new z,this.m_allowSleep=!0,this.m_destructionListener=null,this.m_debugDraw=null,this.m_inv_dt0=0,this.m_warmStarting=!0,this.m_continuousPhysics=!0,this.m_subStepping=!1,this.m_stepComplete=!0,this.m_profile=new Ar,this.m_island=new Fr,this.s_stack=[],this.m_controllerList=null,this.m_controllerCount=0,this.m_gravity.Copy(t)}var r=e.prototype;return r.SetDestructionListener=function(t){this.m_destructionListener=t},r.SetContactFilter=function(t){this.m_contactManager.m_contactFilter=t},r.SetContactListener=function(t){this.m_contactManager.m_contactListener=t},r.SetDebugDraw=function(t){this.m_debugDraw=t},r.CreateBody=function(t){if(void 0===t&&(t={}),this.IsLocked())throw new Error;var e=new Ei(t,this);return e.m_prev=null,e.m_next=this.m_bodyList,this.m_bodyList&&(this.m_bodyList.m_prev=e),this.m_bodyList=e,++this.m_bodyCount,e},r.DestroyBody=function(t){if(this.IsLocked())throw new Error;for(var e=t.m_jointList;e;){var i=e;e=e.next,this.m_destructionListener&&this.m_destructionListener.SayGoodbyeJoint(i.joint),this.DestroyJoint(i.joint),t.m_jointList=e}t.m_jointList=null;for(var r=t.m_controllerList;r;){var n=r;r=r.nextController,n.controller.RemoveBody(t)}for(var s=t.m_contactList;s;){var a=s;s=s.next,this.m_contactManager.Destroy(a.contact)}t.m_contactList=null;for(var o=t.m_fixtureList;o;){var l=o;o=o.m_next,this.m_destructionListener&&this.m_destructionListener.SayGoodbyeFixture(l),l.DestroyProxies(),l.Reset(),t.m_fixtureList=o,t.m_fixtureCount-=1}t.m_fixtureList=null,t.m_fixtureCount=0,t.m_prev&&(t.m_prev.m_next=t.m_next),t.m_next&&(t.m_next.m_prev=t.m_prev),t===this.m_bodyList&&(this.m_bodyList=t.m_next),--this.m_bodyCount},e._Joint_Create=function(e){switch(e.type){case t.b2JointType.e_distanceJoint:return new Ii(e);case t.b2JointType.e_mouseJoint:return new Hi(e);case t.b2JointType.e_prismaticJoint:return new Wi(e);case t.b2JointType.e_revoluteJoint:return new Ji(e);case t.b2JointType.e_pulleyJoint:return new Yi(e);case t.b2JointType.e_gearJoint:return new Ni(e);case t.b2JointType.e_wheelJoint:return new er(e);case t.b2JointType.e_weldJoint:return new $i(e);case t.b2JointType.e_frictionJoint:return new Vi(e);case t.b2JointType.e_ropeJoint:return new Zi(e);case t.b2JointType.e_motorJoint:return new zi(e);case t.b2JointType.e_areaJoint:return new Fi(e)}throw new Error},e._Joint_Destroy=function(){},r.CreateJoint=function(t){if(this.IsLocked())throw new Error;var i=e._Joint_Create(t);i.m_prev=null,i.m_next=this.m_jointList,this.m_jointList&&(this.m_jointList.m_prev=i),this.m_jointList=i,++this.m_jointCount,i.m_edgeA.prev=null,i.m_edgeA.next=i.m_bodyA.m_jointList,i.m_bodyA.m_jointList&&(i.m_bodyA.m_jointList.prev=i.m_edgeA),i.m_bodyA.m_jointList=i.m_edgeA,i.m_edgeB.prev=null,i.m_edgeB.next=i.m_bodyB.m_jointList,i.m_bodyB.m_jointList&&(i.m_bodyB.m_jointList.prev=i.m_edgeB),i.m_bodyB.m_jointList=i.m_edgeB;var r=i.m_bodyA,n=i.m_bodyB;if(!i.m_collideConnected)for(var s=n.GetContactList();s;)s.other===r&&s.contact.FlagForFiltering(),s=s.next;return i},r.DestroyJoint=function(t){if(this.IsLocked())throw new Error;t.m_prev&&(t.m_prev.m_next=t.m_next),t.m_next&&(t.m_next.m_prev=t.m_prev),t===this.m_jointList&&(this.m_jointList=t.m_next);var i=t.m_bodyA,r=t.m_bodyB,n=t.m_collideConnected;if(i.SetAwake(!0),r.SetAwake(!0),t.m_edgeA.prev&&(t.m_edgeA.prev.next=t.m_edgeA.next),t.m_edgeA.next&&(t.m_edgeA.next.prev=t.m_edgeA.prev),t.m_edgeA===i.m_jointList&&(i.m_jointList=t.m_edgeA.next),t.m_edgeA.Reset(),t.m_edgeB.prev&&(t.m_edgeB.prev.next=t.m_edgeB.next),t.m_edgeB.next&&(t.m_edgeB.next.prev=t.m_edgeB.prev),t.m_edgeB===r.m_jointList&&(r.m_jointList=t.m_edgeB.next),t.m_edgeB.Reset(),e._Joint_Destroy(t),--this.m_jointCount,!n)for(var s=r.GetContactList();s;)s.other===i&&s.contact.FlagForFiltering(),s=s.next},r.CreateParticleSystem=function(t){if(this.IsLocked())throw new Error;var e=new ln(t,this);return e.m_prev=null,e.m_next=this.m_particleSystemList,this.m_particleSystemList&&(this.m_particleSystemList.m_prev=e),this.m_particleSystemList=e,e},r.DestroyParticleSystem=function(t){if(this.IsLocked())throw new Error;t.m_prev&&(t.m_prev.m_next=t.m_next),t.m_next&&(t.m_next.m_prev=t.m_prev),t===this.m_particleSystemList&&(this.m_particleSystemList=t.m_next)},r.CalculateReasonableParticleIterations=function(t){if(null===this.m_particleSystemList)return 1;return Vr(this.m_gravity.Length(),function(t){for(var e=i,r=t.GetParticleSystemList();null!==r;r=r.m_next)e=B(e,r.GetRadius());return e}(this),t)},r.Step=function(t,i,r,n){void 0===n&&(n=this.CalculateReasonableParticleIterations(t));var s=e.Step_s_stepTimer.Reset();this.m_newFixture&&(this.m_contactManager.FindNewContacts(),this.m_newFixture=!1),this.m_locked=!0;var a=e.Step_s_step;a.dt=t,a.velocityIterations=i,a.positionIterations=r,a.particleIterations=n,a.inv_dt=t>0?1/t:0,a.dtRatio=this.m_inv_dt0*t,a.warmStarting=this.m_warmStarting;var o=e.Step_s_timer.Reset();if(this.m_contactManager.Collide(),this.m_profile.collide=o.GetMilliseconds(),this.m_stepComplete&&a.dt>0){for(var l=e.Step_s_timer.Reset(),h=this.m_particleSystemList;h;h=h.m_next)h.Solve(a);this.Solve(a),this.m_profile.solve=l.GetMilliseconds()}if(this.m_continuousPhysics&&a.dt>0){var u=e.Step_s_timer.Reset();this.SolveTOI(a),this.m_profile.solveTOI=u.GetMilliseconds()}a.dt>0&&(this.m_inv_dt0=a.inv_dt),this.m_clearForces&&this.ClearForces(),this.m_locked=!1,this.m_profile.step=s.GetMilliseconds()},r.ClearForces=function(){for(var t=this.m_bodyList;t;t=t.m_next)t.m_force.SetZero(),t.m_torque=0},r.DrawParticleSystem=function(t){if(null!==this.m_debugDraw){var e=t.GetParticleCount();if(e){var i=t.GetRadius(),r=t.GetPositionBuffer();if(t.m_colorBuffer.data){var n=t.GetColorBuffer();this.m_debugDraw.DrawParticles(r,i,n,e)}else this.m_debugDraw.DrawParticles(r,i,null,e)}}},r.DrawDebugData=function(){if(null!==this.m_debugDraw){var i=this.m_debugDraw.GetFlags(),r=e.DrawDebugData_s_color.SetRGB(0,0,0);if(i&t.b2DrawFlags.e_shapeBit)for(var n=this.m_bodyList;n;n=n.m_next){var s=n.m_xf;this.m_debugDraw.PushTransform(s);for(var a=n.GetFixtureList();a;a=a.m_next)n.IsActive()?n.GetType()===t.b2BodyType.b2_staticBody?(r.SetRGB(.5,.9,.5),this.DrawShape(a,r)):n.GetType()===t.b2BodyType.b2_kinematicBody?(r.SetRGB(.5,.5,.9),this.DrawShape(a,r)):n.IsAwake()?(r.SetRGB(.9,.7,.7),this.DrawShape(a,r)):(r.SetRGB(.6,.6,.6),this.DrawShape(a,r)):(r.SetRGB(.5,.5,.3),this.DrawShape(a,r));this.m_debugDraw.PopTransform(s)}if(i&t.b2DrawFlags.e_particleBit)for(var o=this.m_particleSystemList;o;o=o.m_next)this.DrawParticleSystem(o);if(i&t.b2DrawFlags.e_jointBit)for(var l=this.m_jointList;l;l=l.m_next)this.DrawJoint(l);if(i&t.b2DrawFlags.e_aabbBit){r.SetRGB(.9,.3,.9);for(var h=e.DrawDebugData_s_vs,u=this.m_bodyList;u;u=u.m_next)if(u.IsActive())for(var c=u.GetFixtureList();c;c=c.m_next)for(var _=0;_0;){var c=l[--u];if(!c)throw new Error;if(n.AddBody(c),c.m_awakeFlag=!0,c.GetType()!==t.b2BodyType.b2_staticBody){for(var _=c.m_contactList;_;_=_.next){var f=_.contact;if(!f.m_islandFlag&&f.IsEnabled()&&f.IsTouching()){var p=f.m_fixtureA.m_isSensor,d=f.m_fixtureB.m_isSensor;if(!p&&!d){n.AddContact(f),f.m_islandFlag=!0;var m=_.other;m.m_islandFlag||(l[u++]=m,m.m_islandFlag=!0)}}}for(var y=c.m_jointList;y;y=y.next)if(!y.joint.m_islandFlag){var g=y.other;g.IsActive()&&(n.AddJoint(y.joint),y.joint.m_islandFlag=!0,g.m_islandFlag||(l[u++]=g,g.m_islandFlag=!0))}}}var v=new Ar;n.Solve(v,e,this.m_gravity,this.m_allowSleep),this.m_profile.solveInit+=v.solveInit,this.m_profile.solveVelocity+=v.solveVelocity,this.m_profile.solvePosition+=v.solvePosition;for(var b=0;b8)){var h=1;if(l.m_toiFlag)h=l.m_toi;else{var u=l.GetFixtureA(),c=l.GetFixtureB();if(u.IsSensor()||c.IsSensor())continue;var _=u.GetBody(),f=c.GetBody(),p=_.m_type,d=f.m_type,m=_.IsAwake()&&p!==t.b2BodyType.b2_staticBody,y=f.IsAwake()&&d!==t.b2BodyType.b2_staticBody;if(!m&&!y)continue;var g=_.IsBullet()||p!==t.b2BodyType.b2_dynamicBody,v=f.IsBullet()||d!==t.b2BodyType.b2_dynamicBody;if(!g&&!v)continue;var b=_.m_sweep.alpha0;_.m_sweep.alpha0this.maxTimestep&&this.maxTimestep>0&&(i=this.maxTimestep);for(var n=this.m_bodyList;n;n=n.nextBody){var s=n.body;if(s.IsAwake()){var a=s.GetWorldVector(j.MulMV(this.T,s.GetLocalVector(s.GetLinearVelocity(),z.s_t0),z.s_t1),e.Step_s_damping);s.SetLinearVelocity(z.AddVV(s.GetLinearVelocity(),z.MulSV(i,a,z.s_t0),z.s_t1))}}}},i.Draw=function(){},i.SetAxisAligned=function(t,e){this.T.ex.x=-t,this.T.ex.y=0,this.T.ey.x=0,this.T.ey.y=-e,this.maxTimestep=t>0||e>0?1/D(t,e):0},e}(Tn);Mn.Step_s_damping=new z;var Pn=function(){function t(){this.m_count=0,this.m_ps=[],this.m_p0s=[],this.m_vs=[],this.m_ims=[],this.m_Ls=[],this.m_as=[],this.m_gravity=new z,this.m_damping=0,this.m_k2=1,this.m_k3=.1}var e=t.prototype;return e.GetVertexCount=function(){return this.m_count},e.GetVertices=function(){return this.m_ps},e.Initialize=function(t){this.m_count=t.count,this.m_ps=z.MakeArray(this.m_count),this.m_p0s=z.MakeArray(this.m_count),this.m_vs=z.MakeArray(this.m_count),this.m_ims=C(this.m_count);for(var e=0;e0?1/i:0}var r=this.m_count-1,n=this.m_count-2;this.m_Ls=C(r),this.m_as=C(n);for(var s=0;s0&&this.m_vs[r].SelfMulAdd(t,this.m_gravity),this.m_vs[r].SelfMul(i),this.m_ps[r].SelfMulAdd(t,this.m_vs[r]);for(var n=0;ns;)C=(m-=2*s)-this.m_as[i];for(;C<-s;)C=(m+=2*s)-this.m_as[i];var x=-this.m_k3*A*C;r.SelfMulAdd(o*x,v),n.SelfMulAdd(l*x,b),a.SelfMulAdd(h*x,S)}}}},e.Draw=function(t){for(var e=new K(.4,.5,.7),i=0;i1?e-1:0),r=1;r0&&0==(t&t-1)},t.b2IsValid=P,t.b2Island=Fr,t.b2Jacobian=Bi,t.b2Joint=Pi,t.b2JointDef=Mi,t.b2JointEdge=Di,t.b2Log=function(){},t.b2MakeArray=A,t.b2MakeNullArray=function(t){for(var e=new Array(t),i=0;i>1&2147483647,t|=t>>2&1073741823,t|=t>>4&268435455,1+((t|=t>>8&16777215)|t>>16&65535)},t.b2Pair=Yt,t.b2PairLessThan=Jt,t.b2ParseInt=function(t){return parseInt(t,10)},t.b2ParseUInt=function(t){return Math.abs(parseInt(t,10))},t.b2ParticleBodyContact=nn,t.b2ParticleContact=rn,t.b2ParticleDef=Lr,t.b2ParticleGroup=zr,t.b2ParticleGroupDef=Gr,t.b2ParticleHandle=Nr,t.b2ParticlePair=sn,t.b2ParticlePairSet=dn,t.b2ParticleSystem=ln,t.b2ParticleSystemDef=on,t.b2ParticleSystem_CompositeShape=vn,t.b2ParticleSystem_ConnectionFilter=mn,t.b2ParticleSystem_DestroyParticlesInShapeCallback=yn,t.b2ParticleSystem_FixedSetAllocator=fn,t.b2ParticleSystem_FixtureParticle=function(t,e){this.second=p,this.first=t,this.second=e},t.b2ParticleSystem_FixtureParticleSet=pn,t.b2ParticleSystem_InsideBoundsEnumerator=cn,t.b2ParticleSystem_JoinParticleGroupsFilter=gn,t.b2ParticleSystem_ParticleListNode=_n,t.b2ParticleSystem_ParticlePair=function(t,e){this.first=p,this.second=p,this.first=t,this.second=e},t.b2ParticleSystem_Proxy=un,t.b2ParticleSystem_ReactiveFilter=bn,t.b2ParticleSystem_SolveCollisionCallback=An,t.b2ParticleSystem_UpdateBodyContactsCallback=Sn,t.b2ParticleSystem_UserOverridableBuffer=hn,t.b2ParticleTriad=an,t.b2PolygonAndCircleContact=lr,t.b2PolygonContact=or,t.b2PolygonShape=yi,t.b2Position=xr,t.b2PositionSolverManifold=Rr,t.b2Pow=F,t.b2PrismaticJoint=Wi,t.b2PrismaticJointDef=ji,t.b2Profile=Ar,t.b2PulleyJoint=Yi,t.b2PulleyJointDef=Xi,t.b2QueryCallback=vr,t.b2RadToDeg=function(t){return t*T},t.b2Random=function(){return 2*Math.random()-1},t.b2RandomRange=function(t,e){return(e-t)*Math.random()+t},t.b2RayCastCallback=br,t.b2RayCastInput=It,t.b2RayCastOutput=Ot,t.b2RevoluteJoint=Ji,t.b2RevoluteJointDef=qi,t.b2Rope=Pn,t.b2RopeDef=function(){this.vertices=[],this.count=0,this.masses=[],this.gravity=new z(0,0),this.damping=.1,this.k2=.9,this.k3=.1},t.b2RopeJoint=Zi,t.b2RopeJointDef=Ki,t.b2Rot=X,t.b2SeparationFunction=oe,t.b2Shape=di,t.b2ShapeCast=function(t,e){t.iterations=0,t.lambda=1,t.normal.SetZero(),t.point.SetZero();var i=e.proxyA,r=e.proxyB,n=D(i.m_radius,h)+D(r.m_radius,h),s=e.transformA,a=e.transformB,o=e.translationB,l=yt.Set(0,0),u=0,c=gt;c.m_count=0;for(var _=c.m_vertices,f=i.GetSupport(X.MulTRV(s.q,z.NegV(o,z.s_t1),z.s_t0)),p=Y.MulXV(s,i.GetVertex(f),vt),d=r.GetSupport(X.MulTRV(a.q,o,z.s_t0)),m=Y.MulXV(a,r.GetVertex(d),bt),y=z.SubVV(p,m,St),g=D(h,n-h),v=0;v<20&&E(y.Length()-g)>.004;){t.iterations+=1,f=i.GetSupport(X.MulTRV(s.q,z.NegV(y,z.s_t1),z.s_t0)),p=Y.MulXV(s,i.GetVertex(f),vt),d=r.GetSupport(X.MulTRV(a.q,y,z.s_t0)),m=Y.MulXV(a,r.GetVertex(d),bt);var b=z.SubVV(p,m,At);y.Normalize();var S=z.DotVV(y,b),A=z.DotVV(y,o);if(S-g>u*A){if(A<=0)return!1;if((u=(S-g)/A)>1)return!1;l.Copy(y).SelfNeg(),c.m_count=0}var C=_[c.m_count];switch(C.indexA=d,C.wA.Copy(m).SelfMulAdd(u,o),C.indexB=f,C.wB.Copy(p),C.w.Copy(C.wB).SelfSub(C.wA),C.a=1,c.m_count+=1,c.m_count){case 1:break;case 2:c.Solve2();break;case 3:c.Solve3()}if(3===c.m_count)return!1;c.GetClosestPoint(y),++v}var x=Ct,T=xt;return c.GetWitnessPoints(x,T),y.LengthSquared()>0&&(l.Copy(y).SelfNeg(),l.Normalize()),t.normal.Copy(l),t.lambda=u,t.iterations=v,!0},t.b2ShapeCastInput=function(){this.proxyA=new et,this.proxyB=new et,this.transformA=new Y,this.transformB=new Y,this.translationB=new z},t.b2ShapeCastOutput=function(){this.point=new z,this.normal=new z,this.lambda=0,this.iterations=0},t.b2Simplex=at,t.b2SimplexCache=it,t.b2SimplexVertex=st,t.b2Sin=V,t.b2SolverData=wr,t.b2Sq=R,t.b2Sqrt=O,t.b2StackAllocator=function(){},t.b2Swap=function(t,e){var i=t[0];t[0]=e[0],e[0]=i},t.b2Sweep=J,t.b2TOIInput=ne,t.b2TOIOutput=ae,t.b2TensorDampingController=Mn,t.b2TestOverlapAABB=Lt,t.b2TestOverlapShape=zt,t.b2TimeOfImpact=ye,t.b2TimeStep=Cr,t.b2Timer=Q,t.b2Transform=Y,t.b2TreeNode=Ht,t.b2Vec2=z,t.b2Vec2_zero=U,t.b2Vec3=H,t.b2Velocity=Tr,t.b2VelocityConstraintPoint=Br,t.b2Version=b,t.b2WeldJoint=$i,t.b2WeldJointDef=Qi,t.b2WheelJoint=er,t.b2WheelJointDef=tr,t.b2World=Cn,t.b2WorldManifold=Pt,t.b2_180_over_pi=T,t.b2_aabbExtension=a,t.b2_aabbMultiplier=2,t.b2_angularSleepTolerance=v,t.b2_angularSlop=l,t.b2_barrierCollisionTime=2.5,t.b2_baumgarte=.2,t.b2_branch="master",t.b2_commit="fbf51801d80fc389d43dc46524520e89043b6faf",t.b2_epsilon=r,t.b2_epsilon_sq=n,t.b2_gjk_reset=function(){t.b2_gjkCalls=0,t.b2_gjkIters=0,t.b2_gjkMaxIters=0},t.b2_invalidParticleIndex=p,t.b2_linearSleepTolerance=g,t.b2_linearSlop=o,t.b2_maxAngularCorrection=c,t.b2_maxFloat=i,t.b2_maxLinearCorrection=u,t.b2_maxManifoldPoints=2,t.b2_maxParticleForce=.5,t.b2_maxParticleIndex=2147483647,t.b2_maxParticlePressure=m,t.b2_maxPolygonVertices=8,t.b2_maxRotation=_,t.b2_maxRotationSquared=f,t.b2_maxSubSteps=8,t.b2_maxTOIContacts=32,t.b2_maxTranslation=2,t.b2_maxTranslationSquared=4,t.b2_maxTriadDistance=2,t.b2_maxTriadDistanceSquared=4,t.b2_minParticleSystemBufferCapacity=y,t.b2_minParticleWeight=1,t.b2_minPulleyLength=2,t.b2_particleStride=d,t.b2_pi=s,t.b2_pi_over_180=x,t.b2_polygonRadius=h,t.b2_timeToSleep=.5,t.b2_toiBaumgarte=.75,t.b2_toi_reset=function(){t.b2_toiTime=0,t.b2_toiMaxTime=0,t.b2_toiCalls=0,t.b2_toiIters=0,t.b2_toiMaxIters=0,t.b2_toiRootIters=0,t.b2_toiMaxRootIters=0},t.b2_two_pi=w,t.b2_velocityThreshold=1,t.b2_version=S,t.g_blockSolve=Er,Object.defineProperty(t,"__esModule",{value:!0})}(e)}));As(mQ);var yQ={};for(var gQ in mQ)-1===gQ.indexOf("b2_")&&(yQ[gQ.replace("b2","")]=mQ[gQ]);var vQ,bQ,SQ,AQ,CQ=yQ;!function(t){t[t.Static=0]="Static",t[t.Kinematic=1]="Kinematic",t[t.Dynamic=2]="Dynamic",t[t.Animated=3]="Animated"}(vQ||(vQ=t("ERigidBody2DType",{}))),yi(vQ),function(t){t[t.None=0]="None",t[t.BOX=1]="BOX",t[t.CIRCLE=2]="CIRCLE",t[t.POLYGON=3]="POLYGON"}(bQ||(bQ=t("ECollider2DType",{}))),yi(bQ),function(t){t[t.None=0]="None",t[t.DISTANCE=1]="DISTANCE",t[t.SPRING=2]="SPRING",t[t.WHEEL=3]="WHEEL",t[t.MOUSE=4]="MOUSE",t[t.FIXED=5]="FIXED",t[t.SLIDER=6]="SLIDER",t[t.RELATIVE=7]="RELATIVE",t[t.HINGE=8]="HINGE"}(SQ||(SQ=t("EJoint2DType",{}))),yi(SQ),function(t){t[t.Closest=0]="Closest",t[t.Any=1]="Any",t[t.AllClosest=2]="AllClosest",t[t.All=3]="All"}(AQ||(AQ=t("ERaycast2DType",{})));var xQ,TQ=t("Contact2DType",{None:"none-contact",BEGIN_CONTACT:"begin-contact",END_CONTACT:"end-contact",PRE_SOLVE:"pre-solve",POST_SOLVE:"post-solve"});!function(t){t[t.None=0]="None",t[t.Shape=1]="Shape",t[t.Joint=2]="Joint",t[t.Aabb=4]="Aabb",t[t.Pair=8]="Pair",t[t.CenterOfMass=16]="CenterOfMass",t[t.Particle=32]="Particle",t[t.Controller=64]="Controller",t[t.All=63]="All"}(xQ||(xQ=t("EPhysics2DDrawFlags",{})));var wQ=t("PHYSICS_2D_PTM_RATIO",32),EQ=function(t){function e(){for(var e,i=arguments.length,r=new Array(i),n=0;nd&&(m=y,d=g)}s=MQ(_,m,t),a=MQ(m,_,t)}return(o=o.concat(PQ(s))).concat(PQ(a))}o.push(t);for(var v=o.length-1;v>=0;v--)0==o[v].length&&o.splice(v,0);return o}function RQ(t,e,i){if(IQ(t,i)){if(LQ(DQ(t,i),DQ(t-1,i),DQ(e,i))&&VQ(DQ(t,i),DQ(t+1,i),DQ(e,i)))return!1}else if(VQ(DQ(t,i),DQ(t+1,i),DQ(e,i))||LQ(DQ(t,i),DQ(t-1,i),DQ(e,i)))return!1;if(IQ(e,i)){if(LQ(DQ(e,i),DQ(e-1,i),DQ(t,i))&&VQ(DQ(e,i),DQ(e+1,i),DQ(t,i)))return!1}else if(VQ(DQ(e,i),DQ(e+1,i),DQ(t,i))||LQ(DQ(e,i),DQ(e-1,i),DQ(t,i)))return!1;for(var r=0;r0}function LQ(t,e,i){return HQ(t,e,i)>=0}function VQ(t,e,i){return HQ(t,e,i)<=0}function kQ(t,e){var i=e.x-t.x,r=e.y-t.y;return i*i+r*r}function NQ(t){GQ(t)||t.reverse()}function GQ(t){return t.length<3||function(t){var e,i=0;for(e=0;e0}function zQ(t,e,i,r){var n,s=new dr,a=e.y-t.y,o=t.x-e.x,l=a*t.x+o*t.y,h=r.y-i.y,u=i.x-r.x,c=h*i.x+u*i.y,_=a*u-h*o;return n=_,0,Math.abs(n-0)<=1e-6||(s.x=(u*l-o*c)/_,s.y=(a*c-h*l)/_),s}function UQ(t,e,i,r,n){if(t==i||t==r||e==i||e==r)return!1;var s=t.x,a=t.y,o=e.x,l=e.y,h=i.x,u=i.y,c=r.x,_=r.y;if(Math.max(s,o)0&&f<1&&p>0&&p<1&&(n.x=s+f*(o-s),n.y=a+f*(l-a),!0))}function HQ(t,e,i){return t.x*(e.y-i.y)+e.x*(i.y-t.y)+i.x*(t.y-e.y)}var jQ=Object.freeze({__proto__:null,ConvexPartition:PQ,ForceCounterClockWise:NQ,IsCounterClockWise:GQ}),WQ=function(){return 0},XQ={impl:null,rigidBody:null,isAwake:!1,isSleeping:!1,initialize:WQ,setType:WQ,setLinearDamping:WQ,setAngularDamping:WQ,setGravityScale:WQ,setFixedRotation:WQ,setAllowSleep:WQ,isActive:WQ,setActive:WQ,wakeUp:WQ,sleep:WQ,getMass:WQ,getInertia:WQ,getLinearVelocity:WQ,setLinearVelocity:WQ,getLinearVelocityFromWorldPoint:WQ,getAngularVelocity:WQ,setAngularVelocity:WQ,getLocalVector:WQ,getWorldVector:WQ,getLocalPoint:WQ,getWorldPoint:WQ,getLocalCenter:WQ,getWorldCenter:WQ,applyForce:WQ,applyForceToCenter:WQ,applyTorque:WQ,applyLinearImpulse:WQ,applyLinearImpulseToCenter:WQ,applyAngularImpulse:WQ,onEnable:WQ,onDisable:WQ,onDestroy:WQ},YQ={INITED:!1};var qQ={INITED:!1},JQ={impl:null,initialize:WQ,setDampingRatio:WQ,setFrequency:WQ,setMaxForce:WQ,setTarget:WQ,setDistance:WQ,setAngularOffset:WQ,setCorrectionFactor:WQ,setLinearOffset:WQ,setMaxLength:WQ,setMaxTorque:WQ,setLowerLimit:WQ,setUpperLimit:WQ,setMaxMotorForce:WQ,setMaxMotorTorque:WQ,setMotorSpeed:WQ,enableLimit:WQ,enableMotor:WQ,setLowerAngle:WQ,setUpperAngle:WQ};var KQ,ZQ,QQ,$Q,t$,e$,i$,r$,n$,s$,a$,o$,l$,h$,u$,c$,_$,f$,p$,d$,m$=null,y$=t("PhysicsSystem2D",function(t){function e(){var e;(e=t.call(this)||this).velocityIterations=10,e.positionIterations=10,e.physicsWorld=void 0,e.collisionMatrix=new zW,e._enable=!0,e._allowSleep=!0,e._maxSubSteps=1,e._fixedTimeStep=1/60,e._autoSimulation=!0,e._accumulator=0,e._steping=!1,e._gravity=new dr(0,-10*wQ),e._delayEvents=[];var i=Wr.config?Wr.config.physics:null;if(i&&(dr.copy(e._gravity,i.gravity),e._gravity.multiplyScalar(wQ),e._allowSleep=i.allowSleep,e._fixedTimeStep=i.fixedTimeStep,e._maxSubSteps=i.maxSubSteps,e._autoSimulation=i.autoSimulation,i.collisionMatrix))for(var r in i.collisionMatrix){var n=parseInt(r),s=1<e;)this.physicsWorld.step(e,i,r),this._accumulator-=e;for(var s=this._delayEvents,a=0,o=s.length;a=AQ.All?1:r)},i.getFixtures=function(){return this._fixtures},i.getPoints=function(){return this._points},i.getNormals=function(){return this._normals},i.getFractions=function(){return this._fractions},e}(CQ.RayCastCallback)),b1=[],S1=[new dr,new dr],A1=new CQ.WorldManifold,C1={points:[],separations:[],normal:new dr},x1=function(){this.localPoint=new dr,this.normalImpulse=0,this.tangentImpulse=0},T1=[new x1,new x1],w1={type:0,localPoint:new dr,localNormal:new dr,points:[]},E1={normalImpulses:[],tangentImpulses:[]},B1=function(){function t(){this.colliderA=null,this.colliderB=null,this.disabled=!1,this.disabledOnce=!1,this._impulse=null,this._inverted=!1,this._b2contact=null}t.get=function(e){var i=b1.pop();return i||(i=new t),i.init(e),i},t.put=function(t){var e=t.m_userData;e&&(b1.push(e),e.reset())};var e=t.prototype;return e._setImpulse=function(t){this._impulse=t},e.init=function(t){this.colliderA=t.m_fixtureA.m_userData.collider,this.colliderB=t.m_fixtureB.m_userData.collider,this.disabled=!1,this.disabledOnce=!1,this._impulse=null,this._inverted=!1,this._b2contact=t,t.m_userData=this},e.reset=function(){this.setTangentSpeed(0),this.resetFriction(),this.resetRestitution(),this.colliderA=null,this.colliderB=null,this.disabled=!1,this._impulse=null,this._b2contact.m_userData=null,this._b2contact=null},e.getWorldManifold=function(){var t=C1.points,e=C1.separations,i=C1.normal;this._b2contact.GetWorldManifold(A1);var r=A1.points,n=A1.separations,s=this._b2contact.GetManifold().pointCount;t.length=e.length=s;for(var a=0;a0){for(var a=n.getPoints(),o=n.getNormals(),l=n.getFractions(),h=[],u=0,c=s.length;u=0;i--){var r=t[i];r.m_userData=null,y$.instance.physicsWorld.unregisterContactFixture(r),e&&e.DestroyFixture(r)}this._body=null,this._fixtures.length=0,this._shapes.length=0,this._inited=!1}},Pe(t,[{key:"impl",get:function(){return this._shapes}},{key:"collider",get:function(){return this._collider}},{key:"worldAABB",get:function(){for(var t=1e7,e=t,i=t,r=-t,n=-t,s=this._fixtures,a=0;ar&&(r=u.upperBound.x),u.upperBound.y>n&&(n=u.upperBound.y)}e*=wQ,i*=wQ,r*=wQ,n*=wQ;var c=this._rect;return c.x=e,c.y=i,c.width=r-e,c.height=n-i,c}}]),t}(),Y1=new gr,q1=function(t){function e(){for(var e,i=arguments.length,r=new Array(i),n=0;n0&&n[0].equals(n[n.length-1])&&(n.length-=1);for(var s=PQ(n),a=r.offset,o=0;o=0&&o<=1&&l>=0&&l<=1)return!0}return!1}W1={PhysicsWorld:G1,RigidBody:U1,BoxShape:q1,CircleShape:J1,PolygonShape:K1,MouseJoint:function(t){function e(){for(var e,i=arguments.length,r=new Array(i),n=0;nn!=c>n&&r<(u-l)*(n-h)/(c-h)+l&&(i=!i)}return i}function a2(t,e,i,r){var n,s=i.x-e.x,a=i.y-e.y,o=s*s+a*a,l=((t.x-e.x)*s+(t.y-e.y)*a)/o;return n=r?o?l<0?e:l>1?i:t2.set(e.x+l*s,e.y+l*a):e:t2.set(e.x+l*s,e.y+l*a),s=t.x-n.x,a=t.y-n.y,Math.sqrt(s*s+a*a)}var o2,l2,h2,u2,c2,_2,f2,p2,d2,m2=t("Intersection2D",(function(){}));m2.lineLine=$1,m2.lineRect=function(t,e,i){var r=t2.set(i.x,i.y),n=e2.set(i.x,i.yMax),s=i2.set(i.xMax,i.yMax),a=r2.set(i.xMax,i.y);return!!($1(t,e,r,n)||$1(t,e,n,s)||$1(t,e,s,a)||$1(t,e,a,r))},m2.linePolygon=n2,m2.rectRect=function(t,e){var i=t.x,r=t.y,n=t.x+t.width,s=t.y+t.height,a=e.x,o=e.y,l=e.x+e.width,h=e.y+e.height;return i<=l&&n>=a&&r<=h&&s>=o},m2.rectPolygon=function(t,e){var i=t2.set(t.x,t.y),r=e2.set(t.x,t.yMax),n=i2.set(t.xMax,t.yMax),s=r2.set(t.xMax,t.y);if(n2(i,r,e))return!0;if(n2(r,n,e))return!0;if(n2(n,s,e))return!0;if(n2(s,i,e))return!0;for(var a=0,o=e.length;as+o&&(h=s+o),na+l&&(u=a+l);var c=r-h,_=n-u;return Math.sqrt(c*c+_*_)<=i},m2.polygonPolygon=function(t,e){var i,r;for(i=0,r=t.length;ithis._opts.over},e._average=function(t,e){if(void 0===e&&(e=0),this._opts.average){this._accumValue+=t,++this._accumSamples;var i=e;i-this._accumStart>=this._opts.average&&(this._averageValue=this._accumValue/this._accumSamples,this._accumValue=0,this._accumStart=i,this._accumSamples=0)}},Pe(t,[{key:"value",get:function(){return this._value},set:function(t){this._value=t}}]),t}(),b2=ri("cc.PerfCounter")(g2=function(t){function e(e,i,r){var n;return(n=t.call(this,e,i,r)||this)._time=void 0,n._time=r,n}Me(e,t);var i=e.prototype;return i.start=function(t){void 0===t&&(t=0),this._time=t},i.end=function(t){void 0===t&&(t=0),this._value=t-this._time,this._average(this._value)},i.tick=function(){this.end(),this.start()},i.frame=function(t){var e=t,i=e-this._time;this._total++,i>(this._opts.average||1e3)&&(this._value=1e3*this._total/i,this._total=0,this._time=e,this._average(this._value))},e}(v2))||g2,S2="0123456789. ",A2={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,".":10},C2={fps:{desc:"Framerate (FPS)",below:30,average:500,isInteger:!0},draws:{desc:"Draw call",isInteger:!0},frame:{desc:"Frame time (ms)",min:0,max:50,average:500},instances:{desc:"Instance Count",isInteger:!0},tricount:{desc:"Triangle",isInteger:!0},logic:{desc:"Game Logic (ms)",min:0,max:50,average:500,color:"#080"},physics:{desc:"Physics (ms)",min:0,max:50,average:500},render:{desc:"Renderer (ms)",min:0,max:50,average:500,color:"#f90"},textureMemory:{desc:"GFX Texture Mem(M)"},bufferMemory:{desc:"GFX Buffer Mem(M)"}},x2=t("Profiler",function(){function t(){this._stats=null,this.id="__Profiler__",this._showFPS=!1,this._rootNode=null,this._device=null,this._canvas=null,this._ctx=null,this._texture=null,this._region=new tt,this._canvasArr=[],this._regionArr=[this._region],this.digitsData=null,this.offsetData=null,this.pass=null,this._canvasDone=!1,this._statsDone=!1,this._inited=!1,this._lineHeight=256/(Object.keys(C2).length+1),this._wordHeight=0,this._eachNumWidth=0,this._totalLines=0,this.lastTime=0,this._canvas=document.createElement("canvas"),this._ctx=this._canvas.getContext("2d"),this._canvasArr.push(this._canvas)}var e=t.prototype;return e.isShowingStats=function(){return this._showFPS},e.hideStats=function(){this._showFPS&&(this._rootNode&&(this._rootNode.active=!1),He.game.off(He.Game.EVENT_RESTART,this.generateNode,this),He.director.off(He.Director.EVENT_BEFORE_UPDATE,this.beforeUpdate,this),He.director.off(He.Director.EVENT_AFTER_UPDATE,this.afterUpdate,this),He.director.off(He.Director.EVENT_BEFORE_PHYSICS,this.beforePhysics,this),He.director.off(He.Director.EVENT_AFTER_PHYSICS,this.afterPhysics,this),He.director.off(He.Director.EVENT_BEFORE_DRAW,this.beforeDraw,this),He.director.off(He.Director.EVENT_AFTER_DRAW,this.afterDraw,this),this._showFPS=!1)},e.showStats=function(){this._showFPS||(this._device||(this._device=He.director.root.device),this.generateCanvas(),this.generateStats(),He.game.once(He.Game.EVENT_ENGINE_INITED,this.generateNode,this),He.game.on(He.Game.EVENT_RESTART,this.generateNode,this),this._rootNode&&(this._rootNode.active=!0),He.director.on(He.Director.EVENT_BEFORE_UPDATE,this.beforeUpdate,this),He.director.on(He.Director.EVENT_AFTER_UPDATE,this.afterUpdate,this),He.director.on(He.Director.EVENT_BEFORE_PHYSICS,this.beforePhysics,this),He.director.on(He.Director.EVENT_AFTER_PHYSICS,this.afterPhysics,this),He.director.on(He.Director.EVENT_BEFORE_DRAW,this.beforeDraw,this),He.director.on(He.Director.EVENT_AFTER_DRAW,this.afterDraw,this),this._showFPS=!0,this._canvasDone=!0,this._statsDone=!0)},e.generateCanvas=function(){if(!this._canvasDone){this._ctx&&this._canvas&&(this._canvas.width=256,this._canvas.height=256,this._canvas.style.width=""+this._canvas.width,this._canvas.style.height=""+this._canvas.height,this._ctx.font="23px Arial",this._ctx.textBaseline="top",this._ctx.fillStyle="#fff",this._texture=this._device.createTexture(new ht(v.TEX2D,b.SAMPLED|b.TRANSFER_DST,_.RGBA8,256,256)),this._region.texExtent.width=256,this._region.texExtent.height=256)}},e.generateStats=function(){if(!this._statsDone&&this._ctx&&this._canvas){this._stats=null;var t=performance.now();this._ctx.textAlign="left";var e=0;for(var i in C2){var r=C2[i];this._ctx.fillText(r.desc,0,e*this._lineHeight),r.counter=new b2(i,r,t),e++}this._totalLines=e,this._wordHeight=this._totalLines*this._lineHeight/this._canvas.height;for(var n=0;n=0;o--){var l=8*i+o,h=a[a.length-(8-o)],u=A2[h];void 0===u&&(u=11),r[l]=u}i++}}}},t}()),T2=t("profiler",new x2);He.profiler=T2;var w2,E2,B2,D2,M2=yi({GRAVITY:0,RADIUS:1}),P2=yi({FREE:0,RELATIVE:1,GROUPED:2}),R2=new dr(0,0),I2=new dr,O2=new dr,F2=new dr,L2=new dr,V2=_d(ud),k2=function(){this.pos=new dr(0,0),this.startPos=new dr(0,0),this.color=new Ui(0,0,0,255),this.deltaColor={r:0,g:0,b:0,a:255},this.size=0,this.deltaSize=0,this.rotation=0,this.deltaRotation=0,this.timeToLive=0,this.drawPos=new dr(0,0),this.aspectRatio=1,this.dir=new dr(0,0),this.radialAccel=0,this.tangentialAccel=0,this.angle=0,this.degreesPerSecond=0,this.radius=0,this.deltaRadius=0},N2=new(function(t){function e(){return t.apply(this,arguments)||this}return Me(e,t),e.prototype.get=function(){return this._get()||new k2},e}(Tr))((function(t){t.pos.set(R2),t.startPos.set(R2),t.color._val=4278190080,t.deltaColor.r=t.deltaColor.g=t.deltaColor.b=0,t.deltaColor.a=255,t.size=0,t.deltaSize=0,t.rotation=0,t.deltaRotation=0,t.timeToLive=0,t.drawPos.set(R2),t.aspectRatio=1,t.dir.set(R2),t.radialAccel=0,t.tangentialAccel=0,t.angle=0,t.degreesPerSecond=0,t.radius=0,t.deltaRadius=0}),1024),G2=function(){function t(t){this.particles=[],this.active=!1,this.uvFilled=0,this.finished=!1,this.readyToPlay=!0,this.elapsed=0,this.emitCounter=0,this._worldRotation=0,this.sys=t,this.particles=[],this.active=!1,this.readyToPlay=!0,this.finished=!1,this.elapsed=0,this.emitCounter=0,this.uvFilled=0,this._worldRotation=0}var e=t.prototype;return e.stop=function(){this.active=!1,this.readyToPlay=!1,this.elapsed=this.sys.duration,this.emitCounter=0},e.reset=function(){this.active=!0,this.readyToPlay=!0,this.elapsed=0,this.emitCounter=0,this.finished=!1;for(var t=this.particles,e=0;e1?l=o/h:o=l*h;var u=o/2,c=l/2;if(t.rotation){var _=-u,f=-c,p=u,d=c,m=-is(t.rotation),y=Math.cos(m),g=Math.sin(m);n[r]=_*y-f*g+s,n[r+1]=_*g+f*y+a,n[r+2]=0,n[r+9]=p*y-f*g+s,n[r+10]=p*g+f*y+a,n[r+11]=0,n[r+18]=_*y-d*g+s,n[r+19]=_*g+d*y+a,n[r+20]=0,n[r+27]=p*y-d*g+s,n[r+28]=p*g+d*y+a,n[r+29]=0}else n[r]=s-u,n[r+1]=a-c,n[r+2]=0,n[r+9]=s+u,n[r+10]=a-c,n[r+11]=0,n[r+18]=s-u,n[r+19]=a+c,n[r+20]=0,n[r+27]=s+u,n[r+28]=a+c,n[r+29]=0;Ui.toArray(n,t.color,r+5),Ui.toArray(n,t.color,r+14),Ui.toArray(n,t.color,r+23),Ui.toArray(n,t.color,r+32)},e.step=function(t){var e=this.sys.assembler,i=this.sys,r=i.node,n=this.particles;if(t=t>e.maxParticleDeltaTime?e.maxParticleDeltaTime:t,r.updateWorldTransform(),i.positionType===P2.FREE){this._worldRotation=function(t){for(var e=0,i=t;i;)e+=i.eulerAngles.z,i=i.parent;return e}(r);var s=r.worldMatrix;I2.x=s.m12,I2.y=s.m13}else i.positionType===P2.RELATIVE?(this._worldRotation=r.eulerAngles.z,I2.x=r.position.x,I2.y=r.position.y):this._worldRotation=0;if(this.active&&i.emissionRate){var a=1/i.emissionRate;for(n.lengtha;)this.emitParticle(I2),this.emitCounter-=a;this.elapsed+=t,-1!==i.duration&&i.durationthis.uvFilled&&this.updateUVs();for(var h=0;h0){if(i.emitterMode===M2.GRAVITY){var c=L2,_=O2,f=F2;(u.pos.x||u.pos.y)&&(_.set(u.pos),_.normalize()),f.set(_),_.multiplyScalar(u.radialAccel);var p=f.x;f.x=-f.y,f.y=p,f.multiplyScalar(u.tangentialAccel),c.set(_),c.add(f),c.add(i.gravity),c.multiplyScalar(t),u.dir.add(c),c.set(u.dir),c.multiplyScalar(t),u.pos.add(c)}else u.angle+=u.degreesPerSecond*t,u.radius+=u.deltaRadius*t,u.pos.x=-Math.cos(u.angle)*u.radius,u.pos.y=-Math.sin(u.angle)*u.radius;u.color.r+=u.deltaColor.r*t,u.color.g+=u.deltaColor.g*t,u.color.b+=u.deltaColor.b*t,u.color.a+=u.deltaColor.a*t,u.size+=u.deltaSize*t,u.size<0&&(u.size=0),u.rotation+=u.deltaRotation*t;var d=O2;d.set(u.pos),i.positionType!==P2.GROUPED&&d.add(u.startPos);var m=V2*h*4;this.updateParticleBuffer(u,d,o,m),++h}else{var y=n[h];h!==n.length-1&&(n[h]=n[n.length-1]),N2.put(y),n.length--,o.indicesCount-=6,o.vertexCount-=4}}0!==n.length||this.active||this.readyToPlay||(this.finished=!0,i._finishedSimulation())},e.requestData=function(t,e){var i=this.renderData.indicesCount;this.renderData.request(t,e);for(var r=this.renderData.indicesCount/6,n=this.renderData.iData,s=i;s>>0;t=r}for(var n,s=1,a=0,o=t.length,l=0;0>>0}function o(e,i){this.index="number"==typeof i?i:0,this.i=0,this.buffer=e instanceof(s?Uint8Array:Array)?e:new(s?Uint8Array:Array)(32768),2*this.buffer.length<=this.index&&t(Error("invalid index")),this.buffer.length<=this.index&&this.f()}o.prototype.f=function(){var t,e=this.buffer,i=e.length,r=new(s?Uint8Array:Array)(i<<1);if(s)r.set(e);else for(t=0;t>>8&255]<<16|f[t>>>16&255]<<8|f[t>>>24&255])>>32-e:f[t]>>8-e),8>e+a)o=o<>e-r-1&1,8==++a&&(a=0,n[s++]=f[o],o=0,s===n.length&&(n=this.f()));n[s]=o,this.buffer=n,this.i=a,this.index=s},o.prototype.finish=function(){var t,e=this.buffer,i=this.index;return 0l;++l){for(var u=_=l,c=7,_=_>>>1;_;_>>>=1)u<<=1,u|=1&_,--c;h[l]=(u<>>0}var f=h;function p(t){this.buffer=new(s?Uint16Array:Array)(2*t),this.length=0}function d(t){var e,i,r,n,a,o,l,h,u,c=t.length,_=0,f=Number.POSITIVE_INFINITY;for(h=0;h_&&(_=t[h]),t[h]>=1;for(u=o;us[r]);)n=s[i],s[i]=s[r],s[r]=n,n=s[i+1],s[i+1]=s[r+1],s[r+1]=n,i=r;return this.length},p.prototype.pop=function(){var t,e,i,r,n,s=this.buffer;for(e=s[0],t=s[1],this.length-=2,s[0]=s[this.length],s[1]=s[this.length+1],n=0;!((r=2*n+2)>=this.length)&&(r+2s[r]&&(r+=2),s[r]>s[n]);)i=s[n],s[n]=s[r],s[r]=i,i=s[n+1],s[n+1]=s[r+1],s[r+1]=i,n=r;return{index:t,value:e,length:this.length}};var y,g=2,v={NONE:0,r:1,j:g,N:3},b=[];for(y=0;288>y;y++)switch(i){case 143>=y:b.push([y+48,8]);break;case 255>=y:b.push([y-144+400,9]);break;case 279>=y:b.push([y-256+0,7]);break;case 287>=y:b.push([y-280+192,8]);break;default:t("invalid literal: "+y)}function S(t,e){this.length=t,this.G=e}function A(){var e=C;switch(i){case 3===e:return[257,e-3,0];case 4===e:return[258,e-4,0];case 5===e:return[259,e-5,0];case 6===e:return[260,e-6,0];case 7===e:return[261,e-7,0];case 8===e:return[262,e-8,0];case 9===e:return[263,e-9,0];case 10===e:return[264,e-10,0];case 12>=e:return[265,e-11,1];case 14>=e:return[266,e-13,1];case 16>=e:return[267,e-15,1];case 18>=e:return[268,e-17,1];case 22>=e:return[269,e-19,2];case 26>=e:return[270,e-23,2];case 30>=e:return[271,e-27,2];case 34>=e:return[272,e-31,2];case 42>=e:return[273,e-35,3];case 50>=e:return[274,e-43,3];case 58>=e:return[275,e-51,3];case 66>=e:return[276,e-59,3];case 82>=e:return[277,e-67,4];case 98>=e:return[278,e-83,4];case 114>=e:return[279,e-99,4];case 130>=e:return[280,e-115,4];case 162>=e:return[281,e-131,5];case 194>=e:return[282,e-163,5];case 226>=e:return[283,e-195,5];case 257>=e:return[284,e-227,5];case 258===e:return[285,e-258,0];default:t("invalid length: "+e)}}m.prototype.n=function(){var r,n,a,l,h=this.input;switch(this.h){case 0:for(a=0,l=h.length;a>>8&255,y[v++]=255&_,y[v++]=_>>>8&255,s)y.set(f,v),v+=f.length,y=y.subarray(0,v);else{for(d=0,m=f.length;dJ)for(;0J?J:138)>J-3&&Q=Q?(it[Z++]=17,it[Z++]=Q-3,rt[17]++):(it[Z++]=18,it[Z++]=Q-11,rt[18]++),J-=Q;else if(it[Z++]=et[Y],rt[et[Y]]++,3>--J)for(;0J?J:6)>J-3&&QU;U++)X[U]=k[W[U]];for(I=19;4=C;C++)x=A(),T[C]=x[2]<<24|x[1]<<16|x[0];var w=s?new Uint32Array(T):T;function E(r,n){function a(e,r){var n,s,a,o,l=e.G,h=[],u=0;switch(n=w[e.length],h[u++]=65535&n,h[u++]=n>>16&255,h[u++]=n>>24,i){case 1===l:s=[0,l-1,0];break;case 2===l:s=[1,l-2,0];break;case 3===l:s=[2,l-3,0];break;case 4===l:s=[3,l-4,0];break;case 6>=l:s=[4,l-5,1];break;case 8>=l:s=[5,l-7,1];break;case 12>=l:s=[6,l-9,2];break;case 16>=l:s=[7,l-13,2];break;case 24>=l:s=[8,l-17,3];break;case 32>=l:s=[9,l-25,3];break;case 48>=l:s=[10,l-33,4];break;case 64>=l:s=[11,l-49,4];break;case 96>=l:s=[12,l-65,5];break;case 128>=l:s=[13,l-97,5];break;case 192>=l:s=[14,l-129,6];break;case 256>=l:s=[15,l-193,6];break;case 384>=l:s=[16,l-257,7];break;case 512>=l:s=[17,l-385,7];break;case 768>=l:s=[18,l-513,8];break;case 1024>=l:s=[19,l-769,8];break;case 1536>=l:s=[20,l-1025,9];break;case 2048>=l:s=[21,l-1537,9];break;case 3072>=l:s=[22,l-2049,10];break;case 4096>=l:s=[23,l-3073,10];break;case 6144>=l:s=[24,l-4097,11];break;case 8192>=l:s=[25,l-6145,11];break;case 12288>=l:s=[26,l-8193,12];break;case 16384>=l:s=[27,l-12289,12];break;case 24576>=l:s=[28,l-16385,13];break;case 32768>=l:s=[29,l-24577,13];break;default:t("invalid distance")}for(n=s,h[u++]=n[0],h[u++]=n[1],h[u++]=n[2],a=0,o=h.length;a=h;)b[h++]=0;for(h=0;29>=h;)A[h++]=0}for(b[256]=1,o=0,l=n.length;o=l){for(p&&a(p,-1),h=0,u=l-o;hB&&o+BE&&(T=x,E=B),258===B)break}f=new S(E,o-T),p?p.length2*v[f-1]+b[f]&&(v[f]=2*v[f-1]+b[f]),A[f]=Array(v[f]),C[f]=Array(v[f]);for(_=0;_n[_]?(A[f][d]=m,C[f][d]=g,y+=2):(A[f][d]=n[_],C[f][d]=_,++_);x[f]=0,1===b[f]&&i(f)}for(a=S,o=0,l=r.length;o1<u&&t("undercommitted"),i=0,r=e.length;i>>=1;return o}function M(t,e){this.input=t,this.a=new(s?Uint8Array:Array)(32768),this.h=P.j;var i,r={};for(i in!e&&(e={})||"number"!=typeof e.compressionType||(this.h=e.compressionType),e)r[i]=e[i];r.outputBuffer=this.a,this.z=new m(this.input,r)}var P=v;function R(e,i){switch(this.k=[],this.l=32768,this.e=this.g=this.c=this.q=0,this.input=s?new Uint8Array(e):e,this.s=!1,this.m=O,this.B=!1,!i&&(i={})||(i.index&&(this.c=i.index),i.bufferSize&&(this.l=i.bufferSize),i.bufferType&&(this.m=i.bufferType),i.resize&&(this.B=i.resize)),this.m){case I:this.b=32768,this.a=new(s?Uint8Array:Array)(32768+this.l+258);break;case O:this.b=0,this.a=new(s?Uint8Array:Array)(this.l),this.f=this.J,this.t=this.H,this.o=this.I;break;default:t(Error("invalid inflate mode"))}}M.prototype.n=function(){var e,i,r,n,o,l,h,u=0;switch(h=this.a,e=ut){case ut:i=Math.LOG2E*Math.log(32768)-8;break;default:t(Error("invalid compression method"))}switch(r=i<<4|e,h[u++]=r,e){case ut:switch(this.h){case P.NONE:o=0;break;case P.r:o=1;break;case P.j:o=2;break;default:t(Error("unsupported compression type"))}break;default:t(Error("invalid compression method"))}return n=o<<6|0,h[u++]=n|31-(256*r+n)%31,l=a(this.input),this.z.b=u,u=(h=this.z.n()).length,s&&((h=new Uint8Array(h.buffer)).length<=u+4&&(this.a=new Uint8Array(h.length+4),this.a.set(h),h=this.a),h=h.subarray(0,u+4)),h[u++]=l>>24&255,h[u++]=l>>16&255,h[u++]=l>>8&255,h[u++]=255&l,h},n("Zlib.Deflate",M),n("Zlib.Deflate.compress",(function(t,e){return new M(t,e).n()})),n("Zlib.Deflate.CompressionType",P),n("Zlib.Deflate.CompressionType.NONE",P.NONE),n("Zlib.Deflate.CompressionType.FIXED",P.r),n("Zlib.Deflate.CompressionType.DYNAMIC",P.j);var I=0,O=1,F={D:I,C:O};R.prototype.p=function(){for(;!this.s;){var r=tt(this,3);switch(1&r&&(this.s=i),r>>>=1){case 0:var n=this.input,a=this.c,o=this.a,l=this.b,h=e,u=e,c=e,_=o.length,f=e;switch(this.e=this.g=0,(h=n[a++])===e&&t(Error("invalid uncompressed block header: LEN (first byte)")),u=h,(h=n[a++])===e&&t(Error("invalid uncompressed block header: LEN (second byte)")),u|=h<<8,(h=n[a++])===e&&t(Error("invalid uncompressed block header: NLEN (first byte)")),c=h,(h=n[a++])===e&&t(Error("invalid uncompressed block header: NLEN (second byte)")),u===~(c|=h<<8)&&t(Error("invalid uncompressed block header: length verify")),a+u>n.length&&t(Error("input buffer is broken")),this.m){case I:for(;l+u>o.length;){if(u-=f=_-l,s)o.set(n.subarray(a,a+f),l),l+=f,a+=f;else for(;f--;)o[l++]=n[a++];this.b=l,o=this.f(),l=this.b}break;case O:for(;l+u>o.length;)o=this.f({v:2});break;default:t(Error("invalid inflate mode"))}if(s)o.set(n.subarray(a,a+u),l),l+=u,a+=u;else for(;u--;)o[l++]=n[a++];this.c=a,this.b=l,this.a=o;break;case 1:this.o(Z,$);break;case 2:it(this);break;default:t(Error("unknown BTYPE: "+r))}}return this.t()};var L,V,k=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],N=s?new Uint16Array(k):k,G=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,258,258],z=s?new Uint16Array(G):G,U=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0],H=s?new Uint8Array(U):U,j=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577],W=s?new Uint16Array(j):j,X=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],Y=s?new Uint8Array(X):X,q=new(s?Uint8Array:Array)(288);for(L=0,V=q.length;L=L?8:255>=L?9:279>=L?7:8;var J,K,Z=d(q),Q=new(s?Uint8Array:Array)(30);for(J=0,K=Q.length;J>>r,i.e=a-r,i.c=l,n}function et(i,r){for(var n,s,a,o=i.g,l=i.e,h=i.input,u=i.c,c=r[0],_=r[1];l<_;)(n=h[u++])===e&&t(Error("input buffer is broken")),o|=n<>>16,i.g=o>>a,i.e=l-a,i.c=u,65535&s}function it(t){function e(t,e,i){var r,n,s,a;for(a=0;an)r>=l&&(this.b=r,i=this.f(),r=this.b),i[r++]=n;else for(o=z[s=n-257],0=l&&(this.b=r,i=this.f(),r=this.b);o--;)i[r]=i[r++-a];for(;8<=this.e;)this.e-=8,this.c--;this.b=r},R.prototype.I=function(t,e){var i=this.a,r=this.b;this.u=t;for(var n,s,a,o,l=i.length;256!==(n=et(this,t));)if(256>n)r>=l&&(l=(i=this.f()).length),i[r++]=n;else for(o=z[s=n-257],0l&&(l=(i=this.f()).length);o--;)i[r]=i[r++-a];for(;8<=this.e;)this.e-=8,this.c--;this.b=r},R.prototype.f=function(){var t,e,i=new(s?Uint8Array:Array)(this.b-32768),r=this.b-32768,n=this.a;if(s)i.set(n.subarray(32768,i.length));else for(t=0,e=i.length;tt;++t)n[t]=n[r+t];return this.b=32768,n},R.prototype.J=function(t){var e,i,r,n=this.input.length/this.c+1|0,a=this.input,o=this.a;return t&&("number"==typeof t.v&&(n=t.v),"number"==typeof t.F&&(n+=t.F)),i=2>n?(r=(a.length-this.c)/this.u[2]/2*258|0)e&&(this.a.length=e),t=this.a),this.buffer=t},rt.prototype.p=function(){var e,i=this.input;return e=this.A.p(),this.c=this.A.c,this.M&&(i[this.c++]<<24|i[this.c++]<<16|i[this.c++]<<8|i[this.c++])>>>0!==a(e)&&t(Error("invalid adler-32 checksum")),e},n("Zlib.Inflate",rt),n("Zlib.Inflate.BufferType",F),F.ADAPTIVE=F.C,F.BLOCK=F.D,n("Zlib.Inflate.prototype.decompress",rt.prototype.p);var nt,st,at=new(s?Uint8Array:Array)(288);for(nt=0,st=at.length;nt=nt?8:255>=nt?9:279>=nt?7:8;d(at);var ot,lt,ht=new(s?Uint8Array:Array)(30);for(ot=0,lt=ht.length;ot=0?rs;s>=0?++r:--r)t.push(this.data[this.pos++]);break;case"tRNS":switch(this.transparency={},this.colorType){case 3:this.transparency.indexed=this.read(s);var h=255-this.transparency.indexed.length;if(h>0)for(n=0;h>=0?nh;h>=0?++n:--n)this.transparency.indexed.push(255);break;case 0:this.transparency.grayscale=this.read(s)[0];break;case 2:this.transparency.rgb=this.read(s)}break;case"tEXt":var u=this.read(s),c=u.indexOf(0),_=String.fromCharCode.apply(String,u.slice(0,c));this.text[_]=String.fromCharCode.apply(String,u.slice(c+1));break;case"IEND":e&&this.animation.frames.push(e),this.colors=function(){switch(i.colorType){case 0:case 3:case 4:return 1;case 2:case 6:return 3}}.call(this);var f=this.colorType;this.hasAlphaChannel=4===f||6===f;var p=this.colors+(this.hasAlphaChannel?1:0);return this.pixelBitlength=this.bits*p,this.colorSpace=function(){switch(i.colors){case 1:return"DeviceGray";case 3:return"DeviceRGB"}}.call(this),void(this.imgData instanceof Uint8Array||(this.imgData=new Uint8Array(this.imgData)));default:this.pos+=s}if(this.pos+=4,this.pos>this.data.length)throw new Error(ns(6017))}}var e=t.prototype;return e.read=function(t){var e=0,i=[];for(e=0;t>=0?et;t>=0?++e:--e)i.push(this.data[this.pos++]);return i},e.readUInt32=function(){return this.data[this.pos++]<<24|this.data[this.pos++]<<16|this.data[this.pos++]<<8|this.data[this.pos++]},e.readUInt16=function(){return this.data[this.pos++]<<8|this.data[this.pos++]},e.decodePixels=function(t){if(null==t&&(t=this.imgData),0===t.length)return new Uint8Array(0);t=new H2.Inflate(t,{index:0,verify:!1}).decompress();for(var e=this.pixelBitlength/8,i=e*this.width,r=new Uint8Array(i*this.height),n=t.length,s=0,a=0,o=0,l=0,h=0,u=0,c=0,_=0,f=0,p=0,d=0,m=0,y=0,g=0,v=0,b=0,S=0,A=0,C=0;a>>8*(4-s)):n.push(r);else for(var a=0;a=8?-1!==["RATIONAL","SRATIONAL"].indexOf(e)?(n.push(this.getUint32(r+o)),n.push(this.getUint32(r+o+4))):an(8e3):n.push(this.getBytes(s,r+o))}return"ASCII"===e&&n.forEach((function(t,e,i){i[e]=String.fromCharCode(t)})),n},e.getBytes=function(t,e){if(t<=0)an(8001);else{if(t<=1)return this.getUint8(e);if(t<=2)return this.getUint16(e);if(t<=3)return this.getUint32(e)>>>8;if(t<=4)return this.getUint32(e);an(8002)}return 0},e.getBits=function(t,e,i){i=i||0;var r=e+Math.floor(i/8),n=i+t,s=32-t,a=0,o=0;return n<=0?an(6023):n<=8?(a=24+i,o=this.getUint8(r)):n<=16?(a=16+i,o=this.getUint16(r)):n<=32?(a=i,o=this.getUint32(r)):an(6022),{bits:o<>>s,byteOffset:r+Math.floor(n/8),bitOffset:n%8}},e.parseFileDirectory=function(t){var e=this.getUint16(t),i=[],r=0,n=0;for(r=t+2,n=0;n=0&&O<=127?y=O+1:O>=-127&&O<=-1?g=1-O:T=!0}else{for(var F=this.getUint8(b+A),L=0;L0)for(var ot=0;ot>4,i=(15&n)<<4|(s=q2[t.charCodeAt(l++)])>>2,r=(3&s)<<6|(a=q2[t.charCodeAt(l++)]),o.push(String.fromCharCode(e)),64!==s&&o.push(String.fromCharCode(i)),64!==a&&o.push(String.fromCharCode(r));return o.join("")},decodeAsArray:function(t,e){var i,r,n,s=this.decode(t),a=[];for(i=0,n=s.length/e;i=0;--r)a[i]+=s.charCodeAt(i*e+r)<<8*r;return a}},Q2=function(t){this.data=t,this.debug=!1,this.gpflags=void 0,this.files=0,this.unzipped=[],this.buf32k=new Array(32768),this.bIdx=0,this.modeZIP=!1,this.bytepos=0,this.bb=1,this.bits=0,this.nameBuf=[],this.fileout=void 0,this.literalTree=new Array(Q2.LITERALS),this.distanceTree=new Array(32),this.treepos=0,this.Places=null,this.len=0,this.fpos=new Array(17),this.fpos[0]=0,this.flens=void 0,this.fmax=void 0};Q2.gunzip=function(t){return t.constructor===Array||t.constructor,new Q2(t).gunzip()[0][0]},Q2.HufNode=function(){this.b0=0,this.b1=0,this.jump=null,this.jumppos=-1},Q2.LITERALS=288,Q2.NAMEMAX=256,Q2.bitReverse=[0,128,64,192,32,160,96,224,16,144,80,208,48,176,112,240,8,136,72,200,40,168,104,232,24,152,88,216,56,184,120,248,4,132,68,196,36,164,100,228,20,148,84,212,52,180,116,244,12,140,76,204,44,172,108,236,28,156,92,220,60,188,124,252,2,130,66,194,34,162,98,226,18,146,82,210,50,178,114,242,10,138,74,202,42,170,106,234,26,154,90,218,58,186,122,250,6,134,70,198,38,166,102,230,22,150,86,214,54,182,118,246,14,142,78,206,46,174,110,238,30,158,94,222,62,190,126,254,1,129,65,193,33,161,97,225,17,145,81,209,49,177,113,241,9,137,73,201,41,169,105,233,25,153,89,217,57,185,121,249,5,133,69,197,37,165,101,229,21,149,85,213,53,181,117,245,13,141,77,205,45,173,109,237,29,157,93,221,61,189,125,253,3,131,67,195,35,163,99,227,19,147,83,211,51,179,115,243,11,139,75,203,43,171,107,235,27,155,91,219,59,187,123,251,7,135,71,199,39,167,103,231,23,151,87,215,55,183,119,247,15,143,79,207,47,175,111,239,31,159,95,223,63,191,127,255],Q2.cplens=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],Q2.cplext=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,99,99],Q2.cpdist=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577],Q2.cpdext=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],Q2.border=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],Q2.prototype.gunzip=function(){return this.outputArr=[],this.nextFile(),this.unzipped},Q2.prototype.readByte=function(){return this.bits+=8,this.bytepos>=1,0===this.bb&&(this.bb=this.readByte(),t=1&this.bb,this.bb=this.bb>>1|128),t},Q2.prototype.readBits=function(t){for(var e=0,i=t;i--;)e=e<<1|this.readBit();return t&&(e=Q2.bitReverse[e]>>8-t),e},Q2.prototype.flushBuffer=function(){this.bIdx=0},Q2.prototype.addBuffer=function(t){this.buf32k[this.bIdx++]=t,this.outputArr.push(String.fromCharCode(t)),32768===this.bIdx&&(this.bIdx=0)},Q2.prototype.IsPat=function(){for(;;){if(this.fpos[this.len]>=this.fmax)return-1;if(this.flens[this.fpos[this.len]]===this.len)return this.fpos[this.len]++;this.fpos[this.len]++}},Q2.prototype.Rec=function(){var t,e=this.Places[this.treepos];if(17===this.len)return-1;if(this.treepos++,this.len++,(t=this.IsPat())>=0)e.b0=t;else if(e.b0=32768,this.Rec())return-1;if((t=this.IsPat())>=0)e.b1=t,e.jump=null;else if(e.b1=32768,e.jump=this.Places[this.treepos],e.jumppos=this.treepos,this.Rec())return-1;return this.len--,0},Q2.prototype.CreateTree=function(t,e,i){var r;for(this.Places=t,this.treepos=0,this.flens=i,this.fmax=e,r=0;r<17;r++)this.fpos[r]=0;return this.len=0,this.Rec()?-1:0},Q2.prototype.DecodeValue=function(t){for(var e,i,r=0,n=t[r];;)if(this.readBit()){if(!(32768&n.b1))return n.b1;for(n=n.jump,e=t.length,i=0;i>1)>23?(a=a<<1|this.readBit())>199?a=(a-=128)<<1|this.readBit():(a-=48)>143&&(a+=136):a+=256,a<256)this.addBuffer(a);else{if(256===a)break;for(a-=257,p=this.readBits(Q2.cplext[a])+Q2.cplens[a],a=Q2.bitReverse[this.readBits(5)]>>3,Q2.cpdext[a]>8?(d=this.readBits(8),d|=this.readBits(Q2.cpdext[a]-8)<<8):d=this.readBits(Q2.cpdext[a]),d+=Q2.cpdist[a],a=0;ao)return this.flushBuffer(),1;for(_=i?c[i-1]:0;a--;)c[i++]=_}else{if(i+(a=17===a?3+this.readBits(3):11+this.readBits(7))>o)return this.flushBuffer(),1;for(;a--;)c[i++]=0}for(p=this.literalTree.length,i=0;i=256){var p,d;if(0==(a-=256))break;for(a--,p=this.readBits(Q2.cplext[a])+Q2.cplens[a],a=this.DecodeValue(this.distanceTree),Q2.cpdext[a]>8?(d=this.readBits(8),d|=this.readBits(Q2.cpdext[a]-8)<<8):d=this.readBits(Q2.cpdext[a]),d+=Q2.cpdist[a];p--;)s=this.buf32k[this.bIdx-d&32767],this.addBuffer(s)}else this.addBuffer(a)}}while(!t);return this.flushBuffer(),this.byteAlign(),0},Q2.prototype.unzipFile=function(t){var e;for(this.gunzip(),e=0;e=0;--r)a[i]+=s.charCodeAt(i*e+r)<<8*r;return a},z5.unzipAsArray=function(t,e){e=e||1;var i,r,n,s=this.unzip(t),a=[];for(i=0,n=s.length/e;i=0;--r)a[i]+=s.charCodeAt(i*e+r)<<8*r;return a},function(t){t[t.JPG=0]="JPG",t[t.PNG=1]="PNG",t[t.TIFF=2]="TIFF",t[t.WEBP=3]="WEBP",t[t.PVR=4]="PVR",t[t.ETC=5]="ETC",t[t.S3TC=6]="S3TC",t[t.ATITC=7]="ATITC",t[t.TGA=8]="TGA",t[t.RAWDATA=9]="RAWDATA",t[t.UNKNOWN=10]="UNKNOWN"}(G5||(G5={}));var H5,j5,W5,X5,Y5,q5,J5,K5,Z5,Q5,$5,t4,e4,i4,r4=t("ParticleSystem2D",($2=ri("cc.ParticleSystem2D"),t3=Bi(),e3=Di(),i3=bi(z2),r3=Di(),n3=bi(xc),s3=Di(),a3=Di(),o3=Di(),l3=Di(),h3=Di(),u3=Di(),c3=Di(),_3=Di(),f3=Di(),p3=Di(),d3=Di(),m3=Di(),y3=Di(),g3=Di(),v3=Di(),b3=Di(),S3=Di(),A3=Di(),C3=Di(),x3=Di(),T3=Di(),w3=bi(P2),E3=Di(),B3=bi(M2),D3=Di(),M3=Di(),P3=Di(),R3=Di(),I3=Di(),O3=Di(),F3=Di(),L3=Di(),V3=Di(),k3=Di(),N3=Di(),G3=Di(),z3=Di(),U3=Di(),H3=Di(),j3=Di(),W3=Di(),X3=Di(),$2(Y3=t3(Y3=ss(Y3=Si((N5=k5=function(t){function e(){var e;return e=t.call(this)||this,li(e,"duration",J3,hi(e)),li(e,"emissionRate",K3,hi(e)),li(e,"life",Z3,hi(e)),li(e,"lifeVar",Q3,hi(e)),li(e,"angle",$3,hi(e)),li(e,"angleVar",t5,hi(e)),li(e,"startSize",e5,hi(e)),li(e,"startSizeVar",i5,hi(e)),li(e,"endSize",r5,hi(e)),li(e,"endSizeVar",n5,hi(e)),li(e,"startSpin",s5,hi(e)),li(e,"startSpinVar",a5,hi(e)),li(e,"endSpin",o5,hi(e)),li(e,"endSpinVar",l5,hi(e)),li(e,"sourcePos",h5,hi(e)),li(e,"posVar",u5,hi(e)),li(e,"emitterMode",c5,hi(e)),li(e,"gravity",_5,hi(e)),li(e,"speed",f5,hi(e)),li(e,"speedVar",p5,hi(e)),li(e,"tangentialAccel",d5,hi(e)),li(e,"tangentialAccelVar",m5,hi(e)),li(e,"radialAccel",y5,hi(e)),li(e,"radialAccelVar",g5,hi(e)),li(e,"rotationIsDir",v5,hi(e)),li(e,"startRadius",b5,hi(e)),li(e,"startRadiusVar",S5,hi(e)),li(e,"endRadius",A5,hi(e)),li(e,"endRadiusVar",C5,hi(e)),li(e,"rotatePerS",x5,hi(e)),li(e,"rotatePerSVar",T5,hi(e)),e.aspectRatio=1,li(e,"playOnLoad",w5,hi(e)),li(e,"autoRemoveOnFinish",E5,hi(e)),li(e,"preview",B5,hi(e)),li(e,"_custom",D5,hi(e)),li(e,"_file",M5,hi(e)),li(e,"_spriteFrame",P5,hi(e)),li(e,"_totalParticles",R5,hi(e)),li(e,"_startColor",I5,hi(e)),li(e,"_startColorVar",O5,hi(e)),li(e,"_endColor",F5,hi(e)),li(e,"_endColorVar",L5,hi(e)),li(e,"_positionType",V5,hi(e)),e._stopped=!0,e._deferredloaded=!1,e.initProperties(),e}Me(e,t);var i=e.prototype;return i.onEnable=function(){t.prototype.onEnable.call(this),this._updateMaterial()},i.onDestroy=function(){t.prototype.onDestroy.call(this),this.autoRemoveOnFinish&&(this.autoRemoveOnFinish=!1),this._simulator.uvFilled=0},i.initProperties=function(){this._previewTimer=null,this._focused=!1,this.aspectRatio=1,this._simulator=new G2(this)},i.onFocusInEditor=function(){this._focused=!0;for(var t=U5(this.node),e=0;e=this.totalParticles},i._applyFile=function(){var t=this,e=this._file;if(e){var i=function(i){!i&&e?t.isValid&&(t._plistFile=e.nativeUrl,t._custom||(t._spriteFrame!==e.spriteFrame&&(t.spriteFrame=e.spriteFrame),t._initWithDictionary(e._nativeAsset)),t._spriteFrame?!t._renderSpriteFrame&&t._spriteFrame&&t._applySpriteFrame():e.spriteFrame?t.spriteFrame=e.spriteFrame:t._custom&&t._initTextureWithDictionary(e._nativeAsset),t._deferredloaded=!1):Re(6029)};e._nativeAsset?i(null):(this._deferredloaded=!0,qr.postLoadNative(e,i))}},i._initTextureWithDictionary=function(t){var e,i=this;if(t.spriteFrameUuid){var r=t.spriteFrameUuid;qr.loadAny(r,(function(e,r){e?(t.spriteFrameUuid=void 0,i._initTextureWithDictionary(t),Ie(e)):i.spriteFrame=r}))}else{var n=as(this._plistFile,t.textureFileName||"");if(t.textureFileName)qr.loadRemote(n,(function(e,r){e?(t.textureFileName=void 0,i._initTextureWithDictionary(t),Ie(e)):i.spriteFrame=xc.createWithImage(r)}));else if(t.textureImageData){var s=t.textureImageData;if(!(s&&s.length>0))return!1;var a=qr.assets.get(n);if(!a){var o=z5.unzipBase64AsArray(s,1);if(!o)return ze(6030,this._file.name),!1;var l=(e=o).length>8&&137===e[0]&&80===e[1]&&78===e[2]&&71===e[3]&&13===e[4]&&10===e[5]&&26===e[6]&&10===e[7]?G5.PNG:e.length>2&&(73===e[0]&&73===e[1]||77===e[0]&&77===e[1]||255===e[0]&&216===e[1])?G5.TIFF:G5.UNKNOWN;if(l!==G5.TIFF&&l!==G5.PNG)return ze(6031,this._file.name),!1;var h=document.createElement("canvas");l===G5.PNG?new j2(o).render(h):(this._tiffReader||(this._tiffReader=new W2),this._tiffReader.parseTIFF(o,h)),a=new Ye(h),qr.assets.add(n,a)}a||ze(6032,this._file.name),this.spriteFrame=xc.createWithImage(a)}}return!0},i._initWithDictionary=function(t){this.totalParticles=parseInt(t.maxParticles||0),this.life=parseFloat(t.particleLifespan||0),this.lifeVar=parseFloat(t.particleLifespanVariance||0);var e=t.emissionRate;this.emissionRate=e||Math.min(this.totalParticles/this.life,Number.MAX_VALUE),this.duration=parseFloat(t.duration||0),this._srcBlendFactor=parseInt(t.blendFuncSource||E.SRC_ALPHA),this._dstBlendFactor=parseInt(t.blendFuncDestination||E.ONE_MINUS_SRC_ALPHA);var i=this._startColor;i.r=255*parseFloat(t.startColorRed||0),i.g=255*parseFloat(t.startColorGreen||0),i.b=255*parseFloat(t.startColorBlue||0),i.a=255*parseFloat(t.startColorAlpha||0);var r=this._startColorVar;r.r=255*parseFloat(t.startColorVarianceRed||0),r.g=255*parseFloat(t.startColorVarianceGreen||0),r.b=255*parseFloat(t.startColorVarianceBlue||0),r.a=255*parseFloat(t.startColorVarianceAlpha||0);var n=this._endColor;n.r=255*parseFloat(t.finishColorRed||0),n.g=255*parseFloat(t.finishColorGreen||0),n.b=255*parseFloat(t.finishColorBlue||0),n.a=255*parseFloat(t.finishColorAlpha||0);var s=this._endColorVar;if(s.r=255*parseFloat(t.finishColorVarianceRed||0),s.g=255*parseFloat(t.finishColorVarianceGreen||0),s.b=255*parseFloat(t.finishColorVarianceBlue||0),s.a=255*parseFloat(t.finishColorVarianceAlpha||0),this.startSize=parseFloat(t.startParticleSize||0),this.startSizeVar=parseFloat(t.startParticleSizeVariance||0),this.endSize=parseFloat(t.finishParticleSize||0),this.endSizeVar=parseFloat(t.finishParticleSizeVariance||0),this.positionType=parseFloat(void 0!==t.positionType?t.positionType:P2.FREE),this.sourcePos.set(0,0),this.posVar.set(parseFloat(t.sourcePositionVariancex||0),parseFloat(t.sourcePositionVariancey||0)),this.angle=parseFloat(t.angle||0),this.angleVar=parseFloat(t.angleVariance||0),this.startSpin=parseFloat(t.rotationStart||0),this.startSpinVar=parseFloat(t.rotationStartVariance||0),this.endSpin=parseFloat(t.rotationEnd||0),this.endSpinVar=parseFloat(t.rotationEndVariance||0),this.emitterMode=parseInt(t.emitterType||M2.GRAVITY),this.emitterMode===M2.GRAVITY){this.gravity.set(parseFloat(t.gravityx||0),parseFloat(t.gravityy||0)),this.speed=parseFloat(t.speed||0),this.speedVar=parseFloat(t.speedVariance||0),this.radialAccel=parseFloat(t.radialAcceleration||0),this.radialAccelVar=parseFloat(t.radialAccelVariance||0),this.tangentialAccel=parseFloat(t.tangentialAcceleration||0),this.tangentialAccelVar=parseFloat(t.tangentialAccelVariance||0);var a=t.rotationIsDir||"";null!==a?(a=a.toString().toLowerCase(),this.rotationIsDir="true"===a||"1"===a):this.rotationIsDir=!1}else{if(this.emitterMode!==M2.RADIUS)return ze(6009),!1;this.startRadius=parseFloat(t.maxRadius||0),this.startRadiusVar=parseFloat(t.maxRadiusVariance||0),this.endRadius=parseFloat(t.minRadius||0),this.endRadiusVar=parseFloat(t.minRadiusVariance||0),this.rotatePerS=parseFloat(t.rotatePerSecond||0),this.rotatePerSVar=parseFloat(t.rotatePerSecondVariance||0)}return this._initTextureWithDictionary(t),!0},i._onTextureLoaded=function(){this._simulator.updateUVs(!0),this._syncAspect(),this._updateMaterial(),this._stopped=!1,this._renderFlag=this._canRender()},i._syncAspect=function(){if(this._renderSpriteFrame){var t=this._renderSpriteFrame.rect;this.aspectRatio=t.width/t.height}},i._applySpriteFrame=function(){this._renderSpriteFrame=this._renderSpriteFrame||this._spriteFrame,this._renderSpriteFrame?this._renderSpriteFrame.textureLoaded()?this._onTextureLoaded():this._renderSpriteFrame.once("load",this._onTextureLoaded,this):this.resetSystem()},i._getTexture=function(){return this._renderSpriteFrame&&this._renderSpriteFrame.texture},i._updateMaterial=function(){var t=this.getMaterialInstance(0);t&&t.recompileShaders({USE_LOCAL:this._positionType!==P2.FREE})},i._finishedSimulation=function(){this.resetSystem(),this.stopSystem(),this._renderFlag=this._canRender(),this.autoRemoveOnFinish&&this._stopped&&this.node.destroy()},i._canRender=function(){return t.prototype._canRender.call(this)&&!this._stopped&&!this._deferredloaded&&null!==this._renderSpriteFrame},i._render=function(t){t.commitComp(this,this._renderSpriteFrame,this._assembler,this._positionType===P2.RELATIVE?this.node.parent:null)},Pe(e,[{key:"custom",get:function(){return this._custom},set:function(t){this._custom!==t&&(this._custom=t,this._applyFile())}},{key:"file",get:function(){return this._file},set:function(t){this._file!==t&&(this._file=t,t?this._applyFile():this.custom=!0)}},{key:"spriteFrame",get:function(){return this._spriteFrame},set:function(t){this._renderSpriteFrame!==t&&(this._renderSpriteFrame=t,t&&!t._uuid||(this._spriteFrame=t),this._applySpriteFrame())}},{key:"particleCount",get:function(){return this._simulator.particles.length}},{key:"totalParticles",get:function(){return this._totalParticles},set:function(t){this._totalParticles!==t&&(this._totalParticles=t)}},{key:"startColor",get:function(){return this._startColor},set:function(t){this._startColor.r=t.r,this._startColor.g=t.g,this._startColor.b=t.b,this._startColor.a=t.a}},{key:"startColorVar",get:function(){return this._startColorVar},set:function(t){this._startColorVar.r=t.r,this._startColorVar.g=t.g,this._startColorVar.b=t.b,this._startColorVar.a=t.a}},{key:"endColor",get:function(){return this._endColor},set:function(t){this._endColor.r=t.r,this._endColor.g=t.g,this._endColor.b=t.b,this._endColor.a=t.a}},{key:"endColorVar",get:function(){return this._endColorVar},set:function(t){this._endColorVar.r=t.r,this._endColorVar.g=t.g,this._endColorVar.b=t.b,this._endColorVar.a=t.a}},{key:"positionType",get:function(){return this._positionType},set:function(t){this._positionType=t,this._updateMaterial()}},{key:"stopped",get:function(){return this._stopped}},{key:"active",get:function(){return this._simulator.active}},{key:"assembler",get:function(){return this._assembler}}]),e}(Ap),k5.EmitterMode=M2,k5.PositionType=P2,k5.DURATION_INFINITY=-1,k5.START_SIZE_EQUAL_TO_END_SIZE=-1,k5.START_RADIUS_EQUAL_TO_END_RADIUS=-1,oi((q3=N5).prototype,"custom",[vi,e3],Object.getOwnPropertyDescriptor(q3.prototype,"custom"),q3.prototype),oi(q3.prototype,"file",[i3,r3],Object.getOwnPropertyDescriptor(q3.prototype,"file"),q3.prototype),oi(q3.prototype,"spriteFrame",[n3,s3],Object.getOwnPropertyDescriptor(q3.prototype,"spriteFrame"),q3.prototype),oi(q3.prototype,"totalParticles",[vi,a3],Object.getOwnPropertyDescriptor(q3.prototype,"totalParticles"),q3.prototype),J3=oi(q3.prototype,"duration",[_i,vi,o3],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return-1}}),K3=oi(q3.prototype,"emissionRate",[_i,vi,l3],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 10}}),Z3=oi(q3.prototype,"life",[_i,vi,h3],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 1}}),Q3=oi(q3.prototype,"lifeVar",[_i,vi,u3],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 0}}),oi(q3.prototype,"startColor",[vi,c3],Object.getOwnPropertyDescriptor(q3.prototype,"startColor"),q3.prototype),oi(q3.prototype,"startColorVar",[vi,_3],Object.getOwnPropertyDescriptor(q3.prototype,"startColorVar"),q3.prototype),oi(q3.prototype,"endColor",[vi,f3],Object.getOwnPropertyDescriptor(q3.prototype,"endColor"),q3.prototype),oi(q3.prototype,"endColorVar",[vi,p3],Object.getOwnPropertyDescriptor(q3.prototype,"endColorVar"),q3.prototype),$3=oi(q3.prototype,"angle",[_i,vi,d3],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 90}}),t5=oi(q3.prototype,"angleVar",[_i,vi,m3],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 20}}),e5=oi(q3.prototype,"startSize",[_i,vi,y3],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 50}}),i5=oi(q3.prototype,"startSizeVar",[_i,vi,g3],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 0}}),r5=oi(q3.prototype,"endSize",[_i,vi,v3],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 0}}),n5=oi(q3.prototype,"endSizeVar",[_i,vi,b3],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 0}}),s5=oi(q3.prototype,"startSpin",[_i,vi,S3],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 0}}),a5=oi(q3.prototype,"startSpinVar",[_i,vi,A3],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 0}}),o5=oi(q3.prototype,"endSpin",[_i,vi,C3],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 0}}),l5=oi(q3.prototype,"endSpinVar",[_i,vi,x3],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 0}}),h5=oi(q3.prototype,"sourcePos",[_i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return dr.ZERO.clone()}}),u5=oi(q3.prototype,"posVar",[_i,vi,T3],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return dr.ZERO.clone()}}),oi(q3.prototype,"positionType",[w3,E3],Object.getOwnPropertyDescriptor(q3.prototype,"positionType"),q3.prototype),c5=oi(q3.prototype,"emitterMode",[_i,vi,B3,D3],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return M2.GRAVITY}}),_5=oi(q3.prototype,"gravity",[_i,vi,M3],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return dr.ZERO.clone()}}),f5=oi(q3.prototype,"speed",[_i,vi,P3],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 180}}),p5=oi(q3.prototype,"speedVar",[_i,vi,R3],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 50}}),d5=oi(q3.prototype,"tangentialAccel",[_i,vi,I3],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 80}}),m5=oi(q3.prototype,"tangentialAccelVar",[_i,vi,O3],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 0}}),y5=oi(q3.prototype,"radialAccel",[_i,vi,F3],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 0}}),g5=oi(q3.prototype,"radialAccelVar",[_i,vi,L3],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 0}}),v5=oi(q3.prototype,"rotationIsDir",[_i,vi,V3],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),b5=oi(q3.prototype,"startRadius",[_i,vi,k3],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 0}}),S5=oi(q3.prototype,"startRadiusVar",[_i,vi,N3],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 0}}),A5=oi(q3.prototype,"endRadius",[_i,vi,G3],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 0}}),C5=oi(q3.prototype,"endRadiusVar",[_i,vi,z3],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 0}}),x5=oi(q3.prototype,"rotatePerS",[_i,vi,U3],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 0}}),T5=oi(q3.prototype,"rotatePerSVar",[_i,vi,H3],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 0}}),w5=oi(q3.prototype,"playOnLoad",[_i,vi,j3],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!0}}),E5=oi(q3.prototype,"autoRemoveOnFinish",[_i,vi,W3],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),B5=oi(q3.prototype,"preview",[_i,vi,X3],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!0}}),D5=oi(q3.prototype,"_custom",[_i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),M5=oi(q3.prototype,"_file",[_i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return null}}),P5=oi(q3.prototype,"_spriteFrame",[_i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return null}}),R5=oi(q3.prototype,"_totalParticles",[_i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 150}}),I5=oi(q3.prototype,"_startColor",[_i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new Ui(255,255,255,255)}}),O5=oi(q3.prototype,"_startColorVar",[_i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new Ui(0,0,0,0)}}),F5=oi(q3.prototype,"_endColor",[_i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new Ui(255,255,255,0)}}),L5=oi(q3.prototype,"_endColorVar",[_i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new Ui(0,0,0,0)}}),V5=oi(q3.prototype,"_positionType",[_i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return P2.FREE}}),Y3=q3))||Y3)||Y3)||Y3)||Y3)),n4=function(){function t(t,e){this.point=new dr,this.dir=new dr,this.distance=0,this.time=0,t&&this.point.set(t),e&&this.dir.set(e)}var e=t.prototype;return e.setPoint=function(t,e){this.point.x=t,this.point.y=e},e.setDir=function(t,e){this.dir.x=t,this.dir.y=e},t}(),s4=t("MotionStreak",(H5=ri("cc.MotionStreak"),j5=Bi(),W5=wi(),X5=bi(qe),H5(Y5=Si(Y5=ss(Y5=j5(Y5=W5((i4=e4=function(t){function e(){for(var e,i=arguments.length,r=new Array(i),n=0;n1){var l=o[0],h=l.point.x-s,u=l.point.y-a;h*h+u*u=0;C--){var x=o[C],T=x.point,w=x.dir;if(x.time-=e,x.time<0)o.splice(C,1);else{var E=x.time/S,B=o[C-1];if(!A){if(!B){o.splice(C,1);continue}T.x=B.point.x-w.x*E,T.y=B.point.y-w.y*E}A=!0,l4(a4,w);var D=(E*g<<24>>>0)+(y<<16)+(m<<8)+d,M=_;b[M].x=T.x+a4.x*r,b[M].y=T.y+a4.y*r,b[M].u=1,b[M].v=E,b[M].color._val=D,b[M+=1].x=T.x-a4.x*r,b[M].y=T.y-a4.y*r,b[M].u=0,b[M].v=E,b[M].color._val=D,_+=2}}c=_<=2?0:3*(_-2),f.vertexCount=_,f.indicesCount=c}},updateRenderData:function(){},fillBuffers:function(t,e){var i=t.renderData,r=i.data,n=(t.node,e.acquireBufferBatch()),s=n.byteOffset>>2,a=n.indicesOffset,o=n.vertexOffset;n.request(i.vertexCount,i.indicesCount)||(n=e.currBufferBatch,a=0,o=0);for(var l=n.vData,h=n.iData,u=i.vertexCount,c=i.indicesCount,_=0;_>2,s=r.indicesOffset,a=r.vertexOffset;r.request(i.vertexCount,i.indicesCount)||(r=e.currBufferBatch,s=0,a=0);for(var o=r.vData,l=r.iData,h=i.vData,u=i.iData,c=9*i.vertexCount,_=0;_-1?(t[i].playTime=performance.now(),!1):(t.push({audio:e,playTime:performance.now()}),!0)},e.addPlaying=function(t){if(t instanceof V4){if(this._tryAddPlaying(this._audioPlayerInfoList,t))return}else this._tryAddPlaying(this._oneShotAudioInfoList,t)},e._tryRemovePlaying=function(t,e){var i=this._findIndex(t,e);return-1!==i&&(Zn(t,i),!0)},e.removePlaying=function(t){if(t instanceof V4){if(this._tryRemovePlaying(this._audioPlayerInfoList,t))return}else this._tryRemovePlaying(this._oneShotAudioInfoList,t)},e.discardOnePlayingIfNeeded=function(){var t;this._audioPlayerInfoList.length+this._oneShotAudioInfoList.length0?this._oneShotAudioInfoList.forEach((function(e){(!t||e.playTime1?i-1:0),n=1;n=r&&i.actionIndex--;break}}},e._removeActionByTag=function(t,e,i){for(var r=0,n=e.actions.length;r=t&&e.actionIndex--,0===e.actions.length&&this._deleteHashElement(e)},e._deleteHashElement=function(t){var e=!1;if(t&&!t.lock&&this._hashTargets.get(t.target)){this._hashTargets.delete(t.target);for(var i=this._arrayTargets,r=0,n=i.length;r=this._duration},i._cloneDecoration=function(t){t._repeatForever=this._repeatForever,t._speed=this._speed,t._timesForRepeat=this._timesForRepeat,t._easeList=this._easeList,t._speedMethod=this._speedMethod,t._repeatMethod=this._repeatMethod},i._reverseEaseList=function(t){if(this._easeList){t._easeList=[];for(var e=0;e1.192092896e-7?this._duration:1.192092896e-7);e=e<1?e:1,this.update(e>0?e:0),this._repeatMethod&&this._timesForRepeat>1&&this.isDone()&&(this._repeatForever||this._timesForRepeat--,this.startWithTarget(this.target),this.step(this._elapsed-this._duration))},i.startWithTarget=function(t){B8.prototype.startWithTarget.call(this,t),this._elapsed=0,this._firstTick=!0},i.reverse=function(){return an(1010),this},i.setAmplitudeRate=function(){an(1011)},i.getAmplitudeRate=function(){return an(1012),0},i.speed=function(t){return t<=0?(an(1013),this):(this._speedMethod=!0,this._speed*=t,this)},i.getSpeed=function(){return this._speed},i.setSpeed=function(t){return this._speed=t,this},i.repeat=function(t){return t=Math.round(t),isNaN(t)||t<1?(an(1014),this):(this._repeatMethod=!0,this._timesForRepeat*=t,this)},i.repeatForever=function(){return this._repeatMethod=!0,this._timesForRepeat=this.MAX_VALUE,this._repeatForever=!0,this},e}(D8),G8=function(t){function e(i){var r;(r=t.call(this)||this)._actions=[],r._split=0,r._last=0,r._reversed=!1;var n=i instanceof Array?i:arguments;if(1===n.length)return Re(1019),hi(r);var s=n.length-1;if(s>=0&&null==n[s]&&an(1015),s>=0){for(var a,o=n[0],l=1;l1?e%1:e),this._last=r)},i.reverse=function(){var t=e._actionOneTwo(this._actions[1].reverse(),this._actions[0].reverse());return this._cloneDecoration(t),this._reverseEaseList(t),t._reversed=!0,t},e}(N8);function z8(t){var e=t instanceof Array?t:arguments;if(1===e.length)return Re(1019),null;var i=e.length-1;i>=0&&null==e[i]&&an(1015);var r=null;if(i>=0){r=e[0];for(var n=1;n<=i;n++)e[n]&&(r=G8._actionOneTwo(r,e[n]))}return r}G8._actionOneTwo=function(t,e){var i=new G8;return i.initWithTwoActions(t,e),i};var U8=function(t){function e(e,i){var r;return(r=t.call(this)||this)._times=0,r._total=0,r._nextDt=0,r._actionInstant=!1,r._innerAction=null,void 0!==i&&r.initWithAction(e,i),r}Me(e,t);var i=e.prototype;return i.initWithAction=function(t,e){var i=t._duration*e;return!!this.initWithDuration(i)&&(this._times=e,this._innerAction=t,t instanceof O8&&(this._actionInstant=!0,this._times-=1),this._total=0,!0)},i.clone=function(){var t=new e;return this._cloneDecoration(t),t.initWithAction(this._innerAction.clone(),this._times),t},i.startWithTarget=function(t){this._total=0,this._nextDt=this._innerAction._duration/this._duration,N8.prototype.startWithTarget.call(this,t),this._innerAction.startWithTarget(t)},i.stop=function(){this._innerAction.stop(),B8.prototype.stop.call(this)},i.update=function(t){t=this._computeEaseTime(t);var e=this._innerAction,i=this._duration,r=this._times,n=this._nextDt;if(t>=n){for(;t>n&&this._total1?1:n;t>=1&&this._total=0&&null==n[s]&&an(1015),s>=0){for(var a,o=n[0],l=1;ln?this._two=G8._actionOneTwo(e,Y8(r-n)):r0&&null==e[e.length-1]&&an(1015);for(var i=e[0],r=1;r0&&this._currentMaterial.passes.push(this._brushMaterial.passes[0]),e&&this._model.initSubModel(0,this._meshData,this._currentMaterial),this.setMaterial(this._currentMaterial,0),this._currentMaterialLayers=i,this._model.enabled=!0,this._model.receiveShadow=t.getTerrain().receiveShadow)}},i._onMaterialModified=function(t,e){null!=this._model&&this._onRebuildPSO(t,e||this._getBuiltinMaterial())},i._onRebuildPSO=function(t,e){this._model&&this._model.setSubModelMaterial(t,e)},i._clearMaterials=function(){null!=this._model&&this._onMaterialModified(0,null)},i._getBuiltinMaterial=function(){return Ci.get("missing-material")},e}(Pi),i9=t("TerrainBlockLightmapInfo",ri("cc.TerrainBlockLightmapInfo")((m7=oi((d7=function(){li(this,"texture",m7,this),li(this,"UOff",y7,this),li(this,"VOff",g7,this),li(this,"UScale",v7,this),li(this,"VScale",b7,this)}).prototype,"texture",[_i,vi],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return null}}),y7=oi(d7.prototype,"UOff",[_i,vi],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 0}}),g7=oi(d7.prototype,"VOff",[_i,vi],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 0}}),v7=oi(d7.prototype,"UScale",[_i,vi],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 0}}),b7=oi(d7.prototype,"VScale",[_i,vi],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 0}}),p7=d7))||p7),r9=t("TerrainBlock",function(){function t(t,e,i){this._terrain=void 0,this._node=void 0,this._renderable=void 0,this._index=[1,1],this._weightMap=null,this._lightmapInfo=null,this._terrain=t,this._index[0]=e,this._index[1]=i,this._lightmapInfo=t._getLightmapInfo(e,i),this._node=new ur,this._node.setParent(this._terrain.node),this._node.hideFlags|=Lr.Flags.DontSave|Lr.Flags.HideInHierarchy,this._node.layer=this._terrain.node.layer,this._renderable=this._node.addComponent(e9)}var e=t.prototype;return e.build=function(){var t=wr.root.device,e=new Float32Array(HJ*UJ*UJ),i=0;Z7.set(Number.MAX_VALUE,Number.MAX_VALUE,Number.MAX_VALUE),Q7.set(Number.MIN_VALUE,Number.MIN_VALUE,Number.MIN_VALUE);for(var r=0;r=0?3:this.layers[2]>=0?2:this.layers[1]>=0?1:0},e._getMaterialDefines=function(t){return{LAYERS:t+1,USE_LIGHTMAP:null!==this.lightmap?1:0,USE_NORMALMAP:this._terrain.useNormalMap?1:0,USE_PBR:this._terrain.usePBR?1:0}},e._invalidMaterial=function(){this._renderable._invalidMaterial()},e._updateMaterial=function(t){this._renderable._updateMaterial(this,t)},e._updateHeight=function(){if(null!=this._renderable._meshData){var t=new Float32Array(HJ*UJ*UJ),e=0;Z7.set(Number.MAX_VALUE,Number.MAX_VALUE,Number.MAX_VALUE),Q7.set(Number.MIN_VALUE,Number.MIN_VALUE,Number.MIN_VALUE);for(var i=0;ithis.vertexCount[0]-1||s<0||s>this.vertexCount[1]-1)return null;n=Gr(n,0,this.vertexCount[0]-1),s=Gr(s,0,this.vertexCount[1]-1),a=Gr(a,0,this.vertexCount[0]-1),o=Gr(o,0,this.vertexCount[1]-1);var u=this.getHeight(n,s),c=this.getHeight(a,s),_=this.getHeight(n,o),f=this.getHeight(a,o),p=.5*(c+_);return l+h<=1?f=p+(p-u):u=p+(p-f),(u*(1-l)+c*l)*(1-h)+(_*(1-l)+f*l)*h},i._setNormal=function(t,e,i){var r=e*this.vertexCount[0]+t;this._normals[3*r+0]=i.x,this._normals[3*r+1]=i.y,this._normals[3*r+2]=i.z},i.getNormal=function(t,e){var i=e*this.vertexCount[0]+t,r=new ii;return r.x=this._normals[3*i+0],r.y=this._normals[3*i+1],r.z=this._normals[3*i+2],r},i.getNormalAt=function(t,e){var i=t/this.tileSize,r=e/this.tileSize,n=Math.floor(i),s=Math.floor(r),a=n+1,o=s+1,l=i-n,h=r-s;if(n<0||n>this.vertexCount[0]-1||s<0||s>this.vertexCount[1]-1)return null;n=Gr(n,0,this.vertexCount[0]-1),s=Gr(s,0,this.vertexCount[1]-1),a=Gr(a,0,this.vertexCount[0]-1),o=Gr(o,0,this.vertexCount[1]-1);var u=this.getNormal(n,s),c=this.getNormal(a,s),_=this.getNormal(n,o),f=this.getNormal(a,o),p=new ii;ii.add(p,c,_).multiplyScalar(.5),l+h<=1?(f.set(p),f.subtract(u),f.add(p)):(u.set(p),u.subtract(f),u.add(p));var d=new ii,m=new ii,y=new ii;return ii.lerp(d,u,c,l),ii.lerp(m,_,f,l),ii.lerp(y,d,m,h),y},i.setWeight=function(t,e,i){var r=e*this._weightMapSize*this._blockCount[0]+t;this._weights[4*r+0]=255*i.x,this._weights[4*r+1]=255*i.y,this._weights[4*r+2]=255*i.z,this._weights[4*r+3]=255*i.w},i.getWeight=function(t,e){var i=e*this._weightMapSize*this._blockCount[0]+t,r=new Ti;return r.x=this._weights[4*i+0]/255,r.y=this._weights[4*i+1]/255,r.z=this._weights[4*i+2]/255,r.w=this._weights[4*i+3]/255,r},i.getWeightAt=function(t,e){var i=this.weightMapSize*this.blockCount[0],r=this.weightMapSize*this.blockCount[1];if(0===i||0===r)return null;var n=t/i,s=e/r,a=Math.floor(n),o=Math.floor(s),l=a+1,h=o+1,u=n-a,c=s-o;if(a<0||a>i-1||o<0||o>r-1)return null;a=Gr(a,0,i-1),o=Gr(o,0,r-1),l=Gr(l,0,i-1),h=Gr(h,0,r-1);var _=this.getWeight(a,o),f=this.getWeight(l,o),p=this.getWeight(a,h),d=this.getWeight(l,h),m=new Ti;Ti.add(m,f,p).multiplyScalar(.5),u+c<=1?(d=new Ti,Ti.subtract(d,m,_).add(m)):(_=new Ti,Ti.subtract(_,m,d).add(m));var y=new Ti,g=new Ti,v=new Ti;return Ti.lerp(y,_,f,u),Ti.lerp(g,p,d,u),Ti.lerp(v,y,g,c),v},i.getMaxWeightLayerAt=function(t,e){var i=this.weightMapSize*this.blockCount[0],r=this.weightMapSize*this.blockCount[1];if(0===i||0===r)return null;var n=t/i,s=e/r,a=Math.floor(n),o=Math.floor(s);if(a<0||a>i-1||o<0||o>r-1)return null;var l=this.getWeight(a,o),h=Math.floor(t/this.weightMapSize),u=Math.floor(e/this.weightMapSize),c=this.getBlock(h,u),_=0;return l.y>l[_]&&-1!==c.getLayer(1)&&(_=1),l.y>l[_]&&-1!==c.getLayer(2)&&(_=2),l.z>l[_]&&-1!==c.getLayer(3)&&(_=3),_=c.getLayer(_),this.getLayer(_)},i.getBlockLayers=function(t,e){var i=(e*this._blockCount[0]+t)*NJ;return[this._layerBuffer[i],this._layerBuffer[i+1],this._layerBuffer[i+2],this._layerBuffer[i+3]]},i.getBlockLayer=function(t,e,i){var r=(e*this._blockCount[0]+t)*NJ;return this._layerBuffer[r+i]},i.setBlockLayer=function(t,e,i,r){var n=(e*this._blockCount[0]+t)*NJ;this._layerBuffer[n+i]=r},i.getBlock=function(t,e){return this._blocks[e*this._blockCount[0]+t]},i.getBlocks=function(){return this._blocks},i.rayCheck=function(t,e,i,r){void 0===r&&(r=!0);var n=t;r&&ii.subtract(n,t,this.node.getWorldPosition());var s=new ii;s.set(e),s.multiplyScalar(i);var a=null;if(e.equals(new ii(0,1,0))){var o=this.getHeightAt(n.x,n.z);null!=o&&n.y<=o&&(a=new ii(n.x,o,n.z))}else if(e.equals(new ii(0,-1,0))){var l=this.getHeightAt(n.x,n.z);null!=l&&n.y>=l&&(a=new ii(n.x,l,n.z))}else{for(var h=0;h++<2e3;){var u=this.getHeightAt(n.x,n.z);if(null!=u&&n.y<=u)break;n.add(e)}for(;h++<2e3;){var c=this.getHeightAt(n.x,n.z);if(null!=c&&n.y<=c){a=new ii(n.x,c,n.z);break}n.add(s)}}return a},i._getSharedIndexBuffer=function(){return this._sharedIndexBuffer},i._resetLightmap=function(t){if(this._lightmapInfos.length=0,t)for(var e=0;e0}},{key:"info",get:function(){var t=new $7;return t.tileSize=this.tileSize,t.blockCount[0]=this.blockCount[0],t.blockCount[1]=this.blockCount[1],t.weightMapSize=this.weightMapSize,t.lightMapSize=this.lightMapSize,t}}]),e}(zi),V7=oi((L7=H7).prototype,"__asset",[C7,_i,xi],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return null}}),k7=oi(L7.prototype,"_effectAsset",[x7,_i,xi,T7],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return null}}),N7=oi(L7.prototype,"_lightmapInfos",[w7,_i,xi],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return[]}}),G7=oi(L7.prototype,"_receiveShadow",[E7,_i,xi],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),z7=oi(L7.prototype,"_useNormalmap",[B7,_i,xi],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),U7=oi(L7.prototype,"_usePBR",[D7,_i,xi],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),oi(L7.prototype,"_asset",[M7,P7],Object.getOwnPropertyDescriptor(L7.prototype,"_asset"),L7.prototype),oi(L7.prototype,"effectAsset",[R7,I7],Object.getOwnPropertyDescriptor(L7.prototype,"effectAsset"),L7.prototype),oi(L7.prototype,"receiveShadow",[vi],Object.getOwnPropertyDescriptor(L7.prototype,"receiveShadow"),L7.prototype),oi(L7.prototype,"useNormalMap",[vi],Object.getOwnPropertyDescriptor(L7.prototype,"useNormalMap"),L7.prototype),oi(L7.prototype,"usePBR",[vi],Object.getOwnPropertyDescriptor(L7.prototype,"usePBR"),L7.prototype),oi(L7.prototype,"info",[O7],Object.getOwnPropertyDescriptor(L7.prototype,"info"),L7.prototype),F7=L7))||F7)||F7)||F7)||F7)),function(t){t[t.ORTHO=0]="ORTHO",t[t.HEX=1]="HEX",t[t.ISO=2]="ISO"}(j7||(j7={})),Pr(j7),function(t){t[t.NONE=0]="NONE",t[t.MAP=1]="MAP",t[t.LAYER=2]="LAYER",t[t.OBJECTGROUP=3]="OBJECTGROUP",t[t.OBJECT=4]="OBJECT",t[t.TILE=5]="TILE"}(W7||(W7={})),Pr(W7),function(t){t[t.HORIZONTAL=2147483648]="HORIZONTAL",t[t.VERTICAL=1073741824]="VERTICAL",t[t.DIAGONAL=536870912]="DIAGONAL",t[t.FLIPPED_ALL=4026531840]="FLIPPED_ALL",t[t.FLIPPED_MASK=268435455]="FLIPPED_MASK"}(X7||(X7={})),Pr(X7),function(t){t[t.STAGGERAXIS_X=0]="STAGGERAXIS_X",t[t.STAGGERAXIS_Y=1]="STAGGERAXIS_Y"}(Y7||(Y7={})),Pr(Y7),function(t){t[t.STAGGERINDEX_ODD=0]="STAGGERINDEX_ODD",t[t.STAGGERINDEX_EVEN=1]="STAGGERINDEX_EVEN"}(q7||(q7={})),Pr(q7),function(t){t[t.RightDown=0]="RightDown",t[t.RightUp=1]="RightUp",t[t.LeftDown=2]="LeftDown",t[t.LeftUp=3]="LeftUp"}(J7||(J7={})),Pr(J7),function(t){t[t.RECT=0]="RECT",t[t.ELLIPSE=1]="ELLIPSE",t[t.POLYGON=2]="POLYGON",t[t.POLYLINE=3]="POLYLINE",t[t.IMAGE=4]="IMAGE",t[t.TEXT=5]="TEXT"}(K7||(K7={})),Pr(K7);var n9=function(){function t(){this.name="",this.firstGid=0,this.spacing=0,this.margin=0,this.sourceImage=void 0,this.imageName=null,this.imageSize=new vr(0,0),this.tileOffset=new dr(0,0),this._tileSize=new vr(0,0),this.collection=!1}return t.prototype.rectForGID=function(t,e){var i=e||new gr(0,0,0,0);i.width=this._tileSize.width,i.height=this._tileSize.height;var r=t;r&=X7.FLIPPED_MASK,r-=this.firstGid;var n=Math.floor((this.imageSize.width-2*this.margin+this.spacing)/(this._tileSize.width+this.spacing));return i.x=Math.round(r%n*(this._tileSize.width+this.spacing)+this.margin),i.y=Math.round(Math.floor(r/n)*(this._tileSize.height+this.spacing)+this.margin),i},t}(),s9=function(){function t(){this.properties={},this.name="",this.objects=[],this.visible=!0,this.opacity=0,this.color=new Ui(255,255,255,255),this.offset=new dr(0,0),this.draworder="topdown",this.tintColor=null}var e=t.prototype;return e.getProperties=function(){return this.properties},e.setProperties=function(t){this.properties=t},t}(),a9=function(){function t(){this.properties={},this.name="",this.layerSize=null,this.tiles=[],this.visible=!0,this.opacity=0,this.ownTiles=!0,this.minGID=1e5,this.maxGID=0,this.offset=new dr(0,0),this.tintColor=null}var e=t.prototype;return e.getProperties=function(){return this.properties},e.setProperties=function(t){this.properties=t},t}();a9.ATTRIB_NONE=1,a9.ATTRIB_BASE64=2,a9.ATTRIB_GZIP=4,a9.ATTRIB_ZLIB=8;var o9=function(){this.name="",this.visible=!0,this.width=0,this.height=0,this.offset=new dr(0,0),this.opacity=0,this.trans=new Ui(255,255,255,255),this.sourceImage=void 0,this.tintColor=null};function l9(t){var e=wp.HorizontalAlign;switch(t){case"center":return e.CENTER;case"right":return e.RIGHT;default:return e.LEFT}}function h9(t){var e=wp.VerticalAlign;switch(t){case"center":return e.CENTER;case"bottom":return e.BOTTOM;default:return e.TOP}}function u9(t){if(!t)return new Ui(0,0,0,255);if(8===(t=-1!==t.indexOf("#")?t.substring(1):t).length){var e=parseInt(t.substr(0,2),16)||255,i=parseInt(t.substr(2,2),16)||0,r=parseInt(t.substr(4,2),16)||0,n=parseInt(t.substr(6,2),16)||0;return new Ui(i,r,n,e)}var s=parseInt(t.substr(0,2),16)||0,a=parseInt(t.substr(2,2),16)||0,o=parseInt(t.substr(4,2),16)||0;return new Ui(s,a,o,255)}function c9(t,e){for(var i=[],r=t.getElementsByTagName("properties"),n=0;n1,A=b[0],C=A.getAttribute("source");C=C.replace(/\\/g,"/");var x=m.getElementsByTagName("tile"),T=x&&x.length||1,w=null,E=m.getAttribute("name")||"",B=parseInt(m.getAttribute("spacing"))||0,D=parseInt(m.getAttribute("margin"))||0,M=i||parseInt(m.getAttribute("firstgid"))||0,P=new vr(0,0);P.width=parseFloat(m.getAttribute("tilewidth")),P.height=parseFloat(m.getAttribute("tileheight"));var R=m.getElementsByTagName("tileoffset")[0],I=0,O=0;R&&(I=parseFloat(R.getAttribute("x"))||0,O=parseFloat(R.getAttribute("y"))||0);for(var F=null,L=0;L0){var G=N[0],z=G.getAttribute("source");if(z=z.replace(/\\/g,"/"),F.imageName=z,F.imageSize.width=parseFloat(G.getAttribute("width"))||0,F.imageSize.height=parseFloat(G.getAttribute("height"))||0,F._tileSize.width=F.imageSize.width,F._tileSize.height=F.imageSize.height,F.sourceImage=this._spriteFrameMap[z],!F.sourceImage){var U=t.getNameWithPostfix(C);if(F.imageName=U,F.sourceImage=this._spriteFrameMap[U],!F.sourceImage){var H=t.getShortName(z);F.imageName=H,F.sourceImage=this._spriteFrameMap[H],F.sourceImage||(Re(7221,z),console.warn("Please try asset type of "+z+" to 'sprite-frame'"))}}F.firstGid=this.parentGID&X7.FLIPPED_MASK}var j=(X7.FLIPPED_MASK&this.parentGID)>>>0;this._tileProperties.set(j,c9(w));var W=w.getElementsByTagName("animation");if(W&&W.length>0){var X=W[0].getElementsByTagName("frame"),Y={frames:[],dt:0,frameIdx:0};this._tileAnimations.set(j,Y);for(var q=Y.frames,J=0;J0){var f=_[0];u.type=K7.TEXT,u.wrap="1"===f.getAttribute("wrap"),u.color=u9(f.getAttribute("color")),u.halign=l9(f.getAttribute("halign")),u.valign=h9(f.getAttribute("valign")),u.pixelsize=parseInt(f.getAttribute("pixelsize"))||16,u.text=f.childNodes[0].nodeValue}var p=h.getAttribute("gid");p&&(u.gid=parseInt(p),u.type=K7.IMAGE);var d=h.getElementsByTagName("ellipse");d&&d.length>0&&(u.type=K7.ELLIPSE);var m=h.getElementsByTagName("polygon");if(m&&m.length>0){u.type=K7.POLYGON;var y=m[0].getAttribute("points");y&&(u.points=this._parsePointsString(y))}var g=h.getElementsByTagName("polyline");if(g&&g.length>0){u.type=K7.POLYLINE;var v=g[0].getAttribute("points");v&&(u.polylinePoints=this._parsePointsString(v))}u.type||(u.type=K7.RECT),e.objects.push(u)}"index"!==a&&e.objects.sort((function(t,e){return t.y-e.y}))}return e},e._parsePointsString=function(t){if(!t)return null;for(var e=[],i=t.split(" "),r=0;r1)if(i){v._name=i.name;var C=i.unbiasUV[0],x=i.rotated?i.unbiasUV[1]:i.unbiasUV[5];v.l=C+(v.x+.5)/c,v.t=x+(v.y+.5)/_,v.r=C+(v.x+v.width-.5)/c,v.b=x+(v.y+v.height-.5)/_,v._rect=new gr(v.x,v.y,v.width,v.height)}else v.l=v.x/c,v.t=v.y/_,v.r=(v.x+v.width)/c,v.b=(v.y+v.height)/_,v._rect=new gr(v.x,v.y,v.width,v.height);else i.rotated?(v._rotated=!0,v._name=i.name,v._rect=i.getRect(),v.l=i.unbiasUV[0],v.t=i.unbiasUV[1],v.r=i.unbiasUV[4],v.b=i.unbiasUV[3]):(v._name=i.name,v._rect=i.getRect(),v.l=i.unbiasUV[0],v.t=i.unbiasUV[5],v.r=i.unbiasUV[2],v.b=i.unbiasUV[1]);v.cx=(v.l+v.r)/2,v.cy=(v.t+v.b)/2,e.set(A,v)}}function M9(t,e){var i=t.length;if(0!==i)for(var r=0,n=function(){++r>=i&&e()},s=0;sthis._rightTop.row&&(t.row=this._rightTop.row),i<0&&(t.col=0),i>this._rightTop.col&&(t.col=this._rightTop.col)},i._addUserNodeToGrid=function(t,e){var i=e.row,r=e.col,n=this._userNodeGrid[i]=this._userNodeGrid[i]||{count:0},s=n[r]=n[r]||{count:0,list:[]};t._row=i,t._col=r,t._index=s.list.length,n.count++,s.count++,s.list.push(t),this._userNodeDirty=!0},i.isUserNodeDirty=function(){return this._userNodeDirty},i.setUserNodeDirty=function(t){this._userNodeDirty=t},i.onEnable=function(){t.prototype.onEnable.call(this),this.node.on(Dr.ANCHOR_CHANGED,this._syncAnchorPoint,this),this.node.on(Dr.TRANSFORM_CHANGED,this.updateCulling,this),this.node.on(Dr.SIZE_CHANGED,this.updateCulling,this),this.node.parent.on(Dr.TRANSFORM_CHANGED,this.updateCulling,this),this.node.parent.on(Dr.SIZE_CHANGED,this.updateCulling,this),this.markForUpdateRenderData(),this.scheduleOnce(this.updateCulling.bind(this))},i.onDisable=function(){t.prototype.onDisable.call(this),this.node.parent.off(Dr.SIZE_CHANGED,this.updateCulling,this),this.node.parent.off(Dr.TRANSFORM_CHANGED,this.updateCulling,this),this.node.off(Dr.SIZE_CHANGED,this.updateCulling,this),this.node.off(Dr.TRANSFORM_CHANGED,this.updateCulling,this),this.node.off(Dr.ANCHOR_CHANGED,this._syncAnchorPoint,this)},i._syncAnchorPoint=function(){var t=this.node,e=t._uiProps.uiTransformComp,i=t.getScale();this._leftDownToCenterX=e.width*e.anchorX*i.x,this._leftDownToCenterY=e.height*e.anchorY*i.y,this._cullingDirty=!0,this.markForUpdateRenderData()},i.onDestroy=function(){t.prototype.onDestroy.call(this)},i.getLayerName=function(){return this._layerName},i.setLayerName=function(t){this._layerName=t},i.getProperty=function(t){return this._properties[t]},i.getPositionAt=function(t,e){var i;switch(void 0!==e?(i=Math.floor(t),e=Math.floor(e)):(i=Math.floor(t.x),e=Math.floor(t.y)),this._layerOrientation){case j7.ORTHO:return this._positionForOrthoAt(i,e);case j7.ISO:return this._positionForIsoAt(i,e);case j7.HEX:return this._positionForHexAt(i,e)}return null},i.isInvalidPosition=function(t,e){return t>=this._layerSize.width||e>=this._layerSize.height||t<0||e<0},i._positionForIsoAt=function(t,e){var i=0,r=0,n=Math.floor(t)+Math.floor(e)*this._layerSize.width,s=this.tiles[n];if(s){var a=(s&X7.FLIPPED_MASK)>>>0,o=this.texGrids.get(a).tileset.tileOffset;i=o.x,r=o.y}return new dr(.5*this._mapTileSize.width*(this._layerSize.height+t-e-1)+i,.5*this._mapTileSize.height*(this._layerSize.width-t+this._layerSize.height-e-2)-r)},i._positionForOrthoAt=function(t,e){var i=0,r=0,n=Math.floor(t)+Math.floor(e)*this._layerSize.width,s=this.tiles[n];if(s){var a=(s&X7.FLIPPED_MASK)>>>0,o=this.texGrids.get(a).tileset.tileOffset;i=o.x,r=o.y}return new dr(t*this._mapTileSize.width+i,(this._layerSize.height-e-1)*this._mapTileSize.height-r)},i._positionForHexAt=function(t,e){var i,r=this._mapTileSize.width,n=this._mapTileSize.height,s=this._layerSize.height,a=Math.floor(t)+Math.floor(e)*this._layerSize.width,o=(this.tiles[a]&X7.FLIPPED_MASK)>>>0;i=this.texGrids.get(o)?this.texGrids.get(o).tileset.tileOffset:{x:0,y:0};var l=this._staggerIndex===q7.STAGGERINDEX_ODD?1:-1,h=0,u=0,c=0,_=0;switch(this._staggerAxis){case Y7.STAGGERAXIS_Y:c=0,e%2==1&&(c=r/2*l),h=t*r+c+i.x,u=(s-e-1)*(n-(n-this._hexSideLength)/2)-i.y;break;case Y7.STAGGERAXIS_X:_=0,t%2==1&&(_=n/2*-l),h=t*(r-(r-this._hexSideLength)/2)+i.x,u=(s-e-1)*n+_-i.y}return new dr(h,u)},i.setTilesGIDAt=function(t,e,i,r){if(t&&0!==t.length&&!(r<=0)){i<0&&(i=0),e<0&&(e=0);for(var n=0,s=e+r,a=i;;a++)for(var o=e;o=t.length)return;this._updateTileForGID(t[n],o,a),n++}}},i.setTileGIDAt=function(t,e,i,r){var n=(t&X7.FLIPPED_MASK)>>>0;if(e=Math.floor(e),i=Math.floor(i),this.isInvalidPosition(e,i))throw new Error("cc.TiledLayer.setTileGIDAt(): invalid position");this.tiles&&this._tilesets&&0!==this._tilesets.length?0!==n&&n>>0,e,i)):an(7238)},i._updateTileForGID=function(t,e,i){var r=0|e+i*this._layerSize.width;if(!(r>=this.tiles.length)&&t!==this.tiles[r]){var n=(t&X7.FLIPPED_MASK)>>>0;this.texGrids.get(n)?(this.tiles[r]=t,this._updateVertex(e,i)):this.tiles[r]=0,this._cullingDirty=!0}},i.getTileGIDAt=function(t,e){if(this.isInvalidPosition(t,e))throw new Error("cc.TiledLayer.getTileGIDAt(): invalid position");if(!this.tiles)return an(7237),null;var i=Math.floor(t)+Math.floor(e)*this._layerSize.width;return(this.tiles[i]&X7.FLIPPED_MASK)>>>0},i.getTileFlagsAt=function(t,e){if(this.isInvalidPosition(t,e))throw new Error("TiledLayer.getTileFlagsAt: invalid position");if(!this.tiles)return an(7240),null;var i=Math.floor(t)+Math.floor(e)*this._layerSize.width;return(this.tiles[i]&X7.FLIPPED_ALL)>>>0},i.setCullingDirty=function(t){this._cullingDirty=t},i.isCullingDirty=function(){return this._cullingDirty},i.updateViewPort=function(t,e,i,r){if(this._viewPort.width!==i||this._viewPort.height!==r||this._viewPort.x!==t||this._viewPort.y!==e){this._viewPort.x=t,this._viewPort.y=e,this._viewPort.width=i,this._viewPort.height=r;var n=1;this._layerOrientation===j7.ISO&&(n=2);var s=this._viewPort.x-this._offset.x+this._leftDownToCenterX,a=this._viewPort.y-this._offset.y+this._leftDownToCenterY,o=s-this._leftOffset,l=a-this._downOffset,h=s+i+this._rightOffset,u=a+r+this._topOffset,c=this._cullingRect.leftDown,_=this._cullingRect.rightTop;o<0&&(o=0),l<0&&(l=0),this._positionToRowCol(o,l,btt),btt.row-=n,btt.col-=n,btt.row=btt.row>0?btt.row:0,btt.col=btt.col>0?btt.col:0,btt.row===c.row&&btt.col===c.col||(c.row=btt.row,c.col=btt.col,this._cullingDirty=!0),h<0||u<0?(btt.row=-1,btt.col=-1):(this._positionToRowCol(h,u,btt),btt.row++,btt.col++),btt.row>this._rightTop.row&&(btt.row=this._rightTop.row),btt.col>this._rightTop.col&&(btt.col=this._rightTop.col),btt.row===_.row&&btt.col===_.col||(_.row=btt.row,_.col=btt.col,this._cullingDirty=!0,this.markForUpdateRenderData())}},i._positionToRowCol=function(t,e,i){var r=this._mapTileSize.width,n=this._mapTileSize.height,s=.5*r,a=.5*n,o=0,l=0,h=0,u=0,c=this._staggerAxis;switch(this._layerOrientation){case j7.ORTHO:l=Math.floor(t/r),o=Math.floor(e/n);break;case j7.ISO:l=Math.floor(t/s),o=Math.floor(e/a);break;case j7.HEX:c===Y7.STAGGERAXIS_Y?(h=(o=Math.floor(e/(n-this._diffY1)))%2==1?s*this._odd_even:0,l=Math.floor((t-h)/r)):(u=(l=Math.floor(t/(r-this._diffX1)))%2==1?a*-this._odd_even:0,o=Math.floor((e-u)/n))}return i.row=o,i.col=l,i},i.updateCulling=function(){if(this._enableCulling){this.node.updateWorldTransform(),Ri.invert(mtt,this.node.getWorldMatrix());var t=wr.root.batcher2D.getFirstRenderCamera(this.node);t&&(gtt.x=0,gtt.y=0,gtt.z=0,vtt.x=t.width,vtt.y=t.height,vtt.z=0,t.screenToWorld(gtt,gtt),t.screenToWorld(vtt,vtt),ii.transformMat4(gtt,gtt,mtt),ii.transformMat4(vtt,vtt,mtt),this.updateViewPort(gtt.x,gtt.y,vtt.x-gtt.x,vtt.y-gtt.y))}},i.getLayerOrientation=function(){return this._layerOrientation},i.getProperties=function(){return this._properties},i._updateVertex=function(t,e){var i=X7.FLIPPED_MASK,r=this.vertices,n=this._layerOrientation,s=this.tiles;if(s){var a,o,l,h,u=this._rightTop,c=this._mapTileSize.width,_=this._mapTileSize.height,f=.5*c,p=.5*_,d=this._layerSize.height,m=this._layerSize.width,y=this.texGrids,g=0,v=0;n===j7.HEX&&(a=this._staggerAxis,o=this._diffX1,l=this._diffY1,h=this._odd_even);var b,S,A,C=0,x=0,T=0,w=0,E=e*m+t;b=(s[E]&i)>>>0;var B=y.get(b);if(B){switch(this._animations.get(b)&&(this._hasAniGrid=this._hasAniGrid||!0),n){case j7.ORTHO:g=(C=t)*c,v=(x=d-e-1)*_;break;case j7.ISO:g=f*(C=d+t-e-1),v=p*(x=d+m-t-e-2);break;case j7.HEX:g=t*(c-o)+(a===Y7.STAGGERAXIS_Y&&e%2==1?f*h:0),v=(d-e-1)*(_-l)+(a===Y7.STAGGERAXIS_X&&t%2==1?p*-h:0),C=t,x=d-e-1}var D=r[x]=r[x]||{minCol:0,maxCol:0},M=D[C]=D[C]||{};D.minCol>C&&(D.minCol=C),D.maxCol=0&&this._textures.length>t?this._textures[t]:null},i.getTextures=function(){return this._textures},i.setTexture=function(t){this.setTextures([t])},i.setTextures=function(t){this._textures=t,this.markForUpdateRenderData()},i.getLayerSize=function(){return this._layerSize},i.getMapTileSize=function(){return this._mapTileSize},i.getTileSet=function(t){return t=t||0,this._tilesets&&t>=0&&this._tilesets.length>t?this._tilesets[t]:null},i.getTileSets=function(){return this._tilesets},i.setTileSet=function(t){this.setTileSets([t])},i.setTileSets=function(t){var e=this;this._tilesets=t;var i=this._textures=[],r=this.texGrids;r.clear();for(var n=0;n0&&e[e.length-1].subNodes&&0===e[e.length-1].subNodes.length;)e.pop();if(e.length>0){var i=e[e.length-1];if(i.renderData&&0===i.renderData.byteCount)return i}var r=new I_,n={renderData:r,texture:null};return Object.defineProperty(r,"material",{get:function(){return t.getRenderMaterial(0)}}),this._meshRenderDataArray.push(n),n},i.requestSubNodesData=function(){this._meshRenderDataArray||(this._meshRenderDataArray=[]);for(var t=this._meshRenderDataArray;t.length>0&&t[t.length-1].renderData&&0===t[t.length-1].renderData.byteCount;)t.pop();if(t.length>0&&t[t.length-1].subNodes&&0===t[t.length-1].subNodes.length)return t[t.length-1];var e={subNodes:[]};return this._meshRenderDataArray.push(e),e},i.destroyRenderData=function(){this._meshRenderDataArray&&(this._meshRenderDataArray.forEach((function(t){t.renderData&&t.renderData.reset()})),this._meshRenderDataArray.length=0)},i._flushAssembler=function(){var t=e.Assembler.getAssembler(this);this._assembler!==t&&(this._assembler=t),this._meshRenderDataArray||this._assembler&&this._assembler.createData&&(this._assembler.createData(this),this.markForUpdateRenderData(),this._updateColor())},i._render=function(t){if(this._meshRenderDataArray){for(var e=0;e>>0,I=i.get(R);if(!I)continue;var O=I.tileset,F="img"+b.id;y[F]=!0;var L=this.node.getChildByName(F);b.width=b.width||I.width,b.height=b.height||I.height,L&&L._objFlags&Lr.Flags.HideInHierarchy&&(L.removeFromParent(),L.hideFlags|=Lr.Flags.DontSave,L.destroy(),L=null),L||(L=new ur),this._animations.get(R)&&(this.aniObjects.push({object:b,imgNode:L,gridGID:R}),this._hasAniObj=!0);var V=O.tileOffset.x,k=O.tileOffset.y;L.active=b.visible,L.setRotationFromEuler(0,0,-b.rotation),L.setPosition(b.x-p,b.y-d),L.name=F,L.parent=this.node,L.setSiblingIndex(g);var N=L.getComponent(dy);N||(N=L.addComponent(dy));var G=L._uiProps.uiTransformComp;c?(G.anchorX=.5+V/b.width,G.anchorY=k/b.height):(G.anchorX=V/b.width,G.anchorY=k/b.height),this._tintColor?(u.set(this._tintColor),u.a*=this._opacity/255,N.color.set(u)):N.color.a*=this._opacity/255,N.sizeMode=dy.SizeMode.CUSTOM,N._srcBlendFactor=this._premultiplyAlpha?E.ONE:E.SRC_ALPHA,N._dstBlendFactor=E.ONE_MINUS_SRC_ALPHA,N._updateBlendFunc();var z=I.spriteFrame;z=z?z.clone():new xc,(P&n)>>>0&&(z.flipUVX=!z.flipUVX),(P&s)>>>0&&(z.flipUVY=!z.flipUVY),z.rotated=I._rotated,z.rect=I._rect,N.spriteFrame=z,G.setContentSize(b.width,b.height),N.markForUpdateRenderData()}}this._objects=m;for(var U=this.node.children,H=/^(?:img|text)\d+$/,j=0,W=U.length;j0&&(m[p[y]]=d[y].text);var g=new E9(i.tmxXmlStr,m,a,o,c),v=g.getTilesets();v&&0!==v.length||an(7241),this._buildWithMapInfo(g)}else this._releaseMapInfo()},i._releaseMapInfo=function(){for(var t=this._layers,e=0,i=t.length;e0)for(var A=0,C=g.length;A=o.length&&(a.frameIdx=0),l=o[a.frameIdx]),r.set(s,l.grid)}for(var h,u=Fe(this.getLayers());!(h=u()).done;){var c=h.value;c.hasAnimation()&&c.markForUpdateRenderData()}},Pe(e,[{key:"tmxAsset",get:function(){return this._tmxFile},set:function(t){(this._tmxFile!==t||Rn)&&(this._tmxFile=t,(this._preloaded||Rn)&&this._applyFile())}},{key:"enableCulling",get:function(){return this._enableCulling},set:function(t){this._enableCulling=t;for(var e=this._layers,i=0;i65535&&console.error("Vertex count exceeds 65535"),e},updateRenderData:function(t){t.updateCulling();var e=t.requestMeshRenderData();if(Ntt=t.leftDownToCenterX,Gtt=t.leftDownToCenterY,Btt=e,t.colorChanged||t.isCullingDirty()||t.isUserNodeDirty()||t.hasAnimation()||t.hasTiledNode()){var i,r;if(t.colorChanged=!1,t.destroyRenderData(),t.enableCulling){var n=t.cullingRect;i=n.leftDown,r=n.rightTop}else i=Rtt,r=t.rightTop;switch(t.renderOrder){case J7.RightDown:jtt(i,r,-1,1,t);break;case J7.LeftDown:jtt(i,r,-1,-1,t);break;case J7.RightUp:jtt(i,r,1,1,t);break;case J7.LeftUp:default:jtt(i,r,1,-1,t)}t.setCullingDirty(!1),t.setUserNodeDirty(!1)}Btt=null},updateColor:function(t){var e=t.color,i=new Float32Array(4);i[0]=e.r/255,i[1]=e.g/255,i[2]=e.b/255,i[0]=e.a/255;var r=t.meshRenderDataArray;if(r)for(var n,s=Fe(r);!(n=s()).done;){var a=n.value;if(a.renderData)for(var o=a.renderData,l=o.vData,h=o.vertexStart,u=o.vertexCount;h>2,a=n.indicesOffset,o=n.vertexOffset,l=i[t._meshRenderDataArrayIdx].renderData;n.request(l.vertexCount,l.indicesCount)||(n=e.currBufferBatch,s=0,a=0,o=0);var h=n.vData,u=n.iData,c=r.worldMatrix,_=l.vData,f=l.vertexStart;h.set(_.slice(f,f+9*l.vertexCount),s);for(var p=0;p>>0&&(i=Ott,Ott=Ftt,Ftt=i),(e&X7.HORIZONTAL)>>>0&&(i=Itt,Itt=Ftt,Ftt=i,i=Ott,Ott=Ltt,Ltt=i),(e&X7.VERTICAL)>>>0&&(i=Itt,Itt=Ott,Ott=i,i=Ftt,Ftt=Ltt,Ltt=i)}function Htt(t,e,i){t||(t=e.texture),Btt.texture||(Btt.texture=t),(Btt=i.requestMeshRenderData()).texture=e.texture}function jtt(t,e,i,r,n){if(!(!Btt||e.row<0||e.col<0)){Btt.renderData||(Btt=n.requestMeshRenderData());var s=Btt.renderData.vData;Vtt=0,ktt=0;var a,o,l,h,u,c,_,f,p,d=n.tiledTiles,m=n.texGrids,y=n.tiles,g=n.vertices,v=0,b=0,S=0,A=0,C=0,x=null,T=0,w=!0;Dtt=Utt;var E=new Float32Array(4);for(E[0]=n.color.r/255,E[1]=n.color.g/255,E[2]=n.color.b/255,E[3]=n.color.a/255,-1===i?(h=e.row,u=t.row):(h=t.row,u=e.row);(u-h)*i>=0;h+=i)for(a=g[h],T=n.getNodesCountByRow(h),w=a&&0===T,1===r?(o=w&&t.cola.maxCol?a.maxCol:e.col):(o=w&&e.col>a.maxCol?a.maxCol:e.col,l=w&&t.col=0;o+=r){if(c=a&&a[o],T>0){var B=n.requestSubNodesData(),D=n.getNodesByRowCol(h,o);D&&D.count>0&&(B.subNodes=n.getNodesByRowCol(h,o).list,x=null,Btt=n.requestMeshRenderData())}c&&(v=y[c.index],(f=m.get((v&X7.FLIPPED_MASK)>>>0))&&(x!==f.texture&&(Htt(x,f,n),x=f.texture),_=f.tileset._tileSize,b=c.left-Ntt,S=c.bottom-Gtt,A=b+_.width,C=S+_.height,p=d[c.index],Btt.renderData.reserve(4,0),ktt=9*Btt.renderData.vertexCount,s=Btt.renderData.vData,p?p.node.active&&Wtt(p.node,E,s,b,A,C,S,!1):(s[ktt]=b,s[ktt+1]=C,s[ktt+9]=b,s[ktt+9+1]=S,s[ktt+18]=A,s[ktt+18+1]=C,s[ktt+27]=A,s[ktt+27+1]=S,s.set(E,ktt+5),s.set(E,ktt+9+5),s.set(E,ktt+18+5),s.set(E,ktt+27+5)),Dtt(f,v),s[ktt+3]=Itt.x,s[ktt+4]=Itt.y,s[ktt+9+3]=Ott.x,s[ktt+9+4]=Ott.y,s[ktt+18+3]=Ftt.x,s[ktt+18+4]=Ftt.y,s[ktt+27+3]=Ltt.x,s[ktt+27+4]=Ltt.y,Vtt++,Btt.renderData.advance(4,6),Vtt>=Ttt&&(Htt(x,f,n),x=f.texture)))}}}function Wtt(t,e,i,r,n,s,a,o){var l=18,h=27;t.updateWorldTransform(),Ri.copy(Mtt,t.matrix),ii.set(Ptt,-(r+Ntt),-(a+Gtt),0),Ri.transform(Mtt,Mtt,Ptt);var u=Mtt,c=u.m12,_=u.m13,f=u.m00,p=u.m01,d=u.m04,m=u.m05,y=1===f&&0===p&&0===d&&1===m;if(o){var g=(r+n)/2,v=(s+a)/2;y?(i[ktt]=g+c,i[ktt+1]=s+_,i[ktt+9]=r+c,i[ktt+9+1]=v+_,i[ktt+l]=n+c,i[ktt+l+1]=v+_,i[ktt+h]=g+c,i[ktt+h+1]=a+_):(i[ktt]=g*f+s*d+c,i[ktt+1]=g*p+s*m+_,i[ktt+9]=r*f+v*d+c,i[ktt+9+1]=r*p+v*m+_,i[ktt+l]=n*f+v*d+c,i[ktt+l+1]=n*p+v*m+_,i[ktt+h]=g*f+a*d+c,i[ktt+h+1]=g*p+a*m+_)}else y?(i[ktt]=r+c,i[ktt+1]=s+_,i[ktt+9]=r+c,i[ktt+9+1]=a+_,i[ktt+l]=n+c,i[ktt+l+1]=s+_,i[ktt+h]=n+c,i[ktt+h+1]=a+_):(i[ktt]=r*f+s*d+c,i[ktt+1]=r*p+s*m+_,i[ktt+9]=r*f+a*d+c,i[ktt+9+1]=r*p+a*m+_,i[ktt+l]=n*f+s*d+c,i[ktt+l+1]=n*p+s*m+_,i[ktt+h]=n*f+a*d+c,i[ktt+h+1]=n*p+a*m+_);i.set(e,ktt+5),i.set(e,ktt+9+5),i.set(e,ktt+l+5),i.set(e,ktt+h+5)}var Xtt=t("tiledLayerAssembler",{getAssembler:function(){return ztt}});Att.Assembler=Xtt;var Ytt,qtt,Jtt=(Ytt=function(t,e){return(Ytt=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(t,e)},function(t,e){function i(){this.constructor=t}Ytt(t,e),t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)});!function(t){var e,i,r,n=function(){function t(t,e,i){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 r=0;r0&&(e%=this.duration));for(var l=this.timelines,h=0,u=l.length;h>>1;;){if(t[(s+1)*i]<=e?r=s+1:n=s,r==n)return(r+1)*i;s=r+n>>>1}},t.linearSearch=function(t,e,i){for(var r=0,n=t.length-i;r<=n;r+=i)if(t[r]>e)return r;return-1},t}();t.Animation=n,function(t){t[t.setup=0]="setup",t[t.first=1]="first",t[t.replace=2]="replace",t[t.add=3]="add"}(e=t.MixBlend||(t.MixBlend={})),function(t){t[t.mixIn=0]="mixIn",t[t.mixOut=1]="mixOut"}(i=t.MixDirection||(t.MixDirection={})),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"}(r=t.TimelineType||(t.TimelineType={}));var s=function(){function e(i){if(i<=0)throw new Error("frameCount must be > 0: "+i);this.curves=t.Utils.newFloatArray((i-1)*e.BEZIER_SIZE)}return e.prototype.getFrameCount=function(){return this.curves.length/e.BEZIER_SIZE+1},e.prototype.setLinear=function(t){this.curves[t*e.BEZIER_SIZE]=e.LINEAR},e.prototype.setStepped=function(t){this.curves[t*e.BEZIER_SIZE]=e.STEPPED},e.prototype.getCurveType=function(t){var i=t*e.BEZIER_SIZE;if(i==this.curves.length)return e.LINEAR;var r=this.curves[i];return r==e.LINEAR?e.LINEAR:r==e.STEPPED?e.STEPPED:e.BEZIER},e.prototype.setCurve=function(t,i,r,n,s){var a=.03*(2*-i+n),o=.03*(2*-r+s),l=.006*(3*(i-n)+1),h=.006*(3*(r-s)+1),u=2*a+l,c=2*o+h,_=.3*i+a+.16666667*l,f=.3*r+o+.16666667*h,p=t*e.BEZIER_SIZE,d=this.curves;d[p++]=e.BEZIER;for(var m=_,y=f,g=p+e.BEZIER_SIZE-1;p=r){var u=void 0,c=void 0;return s==l?(u=0,c=0):(u=n[s-2],c=n[s-1]),c+(n[s+1]-c)*(r-u)/(o-u)}var _=n[s-1];return _+(1-_)*(r-o)/(1-o)},e.LINEAR=0,e.STEPPED=1,e.BEZIER=2,e.BEZIER_SIZE=19,e}();t.CurveTimeline=s;var a=function(i){function s(e){var r=i.call(this,e)||this;return r.frames=t.Utils.newFloatArray(e<<1),r}return Jtt(s,i),s.prototype.getPropertyId=function(){return(r.rotate<<24)+this.boneIndex},s.prototype.setFrame=function(t,e,i){t<<=1,this.frames[t]=e,this.frames[t+s.ROTATION]=i},s.prototype.apply=function(t,i,r,a,o,l){var h=this.frames,u=t.bones[this.boneIndex];if(u.active)if(r=h[h.length-s.ENTRIES]){var _=h[h.length+s.PREV_ROTATION];switch(l){case e.setup:u.rotation=u.data.rotation+_*o;break;case e.first:case e.replace:_+=u.data.rotation-u.rotation,_-=360*(16384-(16384.499999999996-_/360|0));case e.add:u.rotation+=_*o}}else{var f=n.binarySearch(h,r,s.ENTRIES),p=h[f+s.PREV_ROTATION],d=h[f],m=this.getCurvePercent((f>>1)-1,1-(r-d)/(h[f+s.PREV_TIME]-d)),y=h[f+s.ROTATION]-p;switch(y=p+(y-360*(16384-(16384.499999999996-y/360|0)))*m,l){case e.setup:u.rotation=u.data.rotation+(y-360*(16384-(16384.499999999996-y/360|0)))*o;break;case e.first:case e.replace:y+=u.data.rotation-u.rotation;case e.add:u.rotation+=(y-360*(16384-(16384.499999999996-y/360|0)))*o}}},s.ENTRIES=2,s.PREV_TIME=-2,s.PREV_ROTATION=-1,s.ROTATION=1,s}(s);t.RotateTimeline=a;var o=function(i){function s(e){var r=i.call(this,e)||this;return r.frames=t.Utils.newFloatArray(e*s.ENTRIES),r}return Jtt(s,i),s.prototype.getPropertyId=function(){return(r.translate<<24)+this.boneIndex},s.prototype.setFrame=function(t,e,i,r){t*=s.ENTRIES,this.frames[t]=e,this.frames[t+s.X]=i,this.frames[t+s.Y]=r},s.prototype.apply=function(t,i,r,a,o,l){var h=this.frames,u=t.bones[this.boneIndex];if(u.active)if(r=h[h.length-s.ENTRIES])c=h[h.length+s.PREV_X],_=h[h.length+s.PREV_Y];else{var f=n.binarySearch(h,r,s.ENTRIES);c=h[f+s.PREV_X],_=h[f+s.PREV_Y];var p=h[f],d=this.getCurvePercent(f/s.ENTRIES-1,1-(r-p)/(h[f+s.PREV_TIME]-p));c+=(h[f+s.X]-c)*d,_+=(h[f+s.Y]-_)*d}switch(l){case e.setup:u.x=u.data.x+c*o,u.y=u.data.y+_*o;break;case e.first:case e.replace:u.x+=(u.data.x+c-u.x)*o,u.y+=(u.data.y+_-u.y)*o;break;case e.add:u.x+=c*o,u.y+=_*o}}},s.ENTRIES=3,s.PREV_TIME=-3,s.PREV_X=-2,s.PREV_Y=-1,s.X=1,s.Y=2,s}(s);t.TranslateTimeline=o;var l=function(s){function a(t){return s.call(this,t)||this}return Jtt(a,s),a.prototype.getPropertyId=function(){return(r.scale<<24)+this.boneIndex},a.prototype.apply=function(r,s,o,l,h,u,c){var _=this.frames,f=r.bones[this.boneIndex];if(f.active)if(o<_[0])switch(u){case e.setup:return f.scaleX=f.data.scaleX,void(f.scaleY=f.data.scaleY);case e.first:f.scaleX+=(f.data.scaleX-f.scaleX)*h,f.scaleY+=(f.data.scaleY-f.scaleY)*h}else{var p=0,d=0;if(o>=_[_.length-a.ENTRIES])p=_[_.length+a.PREV_X]*f.data.scaleX,d=_[_.length+a.PREV_Y]*f.data.scaleY;else{var m=n.binarySearch(_,o,a.ENTRIES);p=_[m+a.PREV_X],d=_[m+a.PREV_Y];var y=_[m],g=this.getCurvePercent(m/a.ENTRIES-1,1-(o-y)/(_[m+a.PREV_TIME]-y));p=(p+(_[m+a.X]-p)*g)*f.data.scaleX,d=(d+(_[m+a.Y]-d)*g)*f.data.scaleY}if(1==h)u==e.add?(f.scaleX+=p-f.data.scaleX,f.scaleY+=d-f.data.scaleY):(f.scaleX=p,f.scaleY=d);else{var v=0,b=0;if(c==i.mixOut)switch(u){case e.setup:v=f.data.scaleX,b=f.data.scaleY,f.scaleX=v+(Math.abs(p)*t.MathUtils.signum(v)-v)*h,f.scaleY=b+(Math.abs(d)*t.MathUtils.signum(b)-b)*h;break;case e.first:case e.replace:v=f.scaleX,b=f.scaleY,f.scaleX=v+(Math.abs(p)*t.MathUtils.signum(v)-v)*h,f.scaleY=b+(Math.abs(d)*t.MathUtils.signum(b)-b)*h;break;case e.add:v=f.scaleX,b=f.scaleY,f.scaleX=v+(Math.abs(p)*t.MathUtils.signum(v)-f.data.scaleX)*h,f.scaleY=b+(Math.abs(d)*t.MathUtils.signum(b)-f.data.scaleY)*h}else switch(u){case e.setup:v=Math.abs(f.data.scaleX)*t.MathUtils.signum(p),b=Math.abs(f.data.scaleY)*t.MathUtils.signum(d),f.scaleX=v+(p-v)*h,f.scaleY=b+(d-b)*h;break;case e.first:case e.replace:v=Math.abs(f.scaleX)*t.MathUtils.signum(p),b=Math.abs(f.scaleY)*t.MathUtils.signum(d),f.scaleX=v+(p-v)*h,f.scaleY=b+(d-b)*h;break;case e.add:v=t.MathUtils.signum(p),b=t.MathUtils.signum(d),f.scaleX=Math.abs(f.scaleX)*v+(p-Math.abs(f.data.scaleX)*v)*h,f.scaleY=Math.abs(f.scaleY)*b+(d-Math.abs(f.data.scaleY)*b)*h}}}},a}(o);t.ScaleTimeline=l;var h=function(t){function i(e){return t.call(this,e)||this}return Jtt(i,t),i.prototype.getPropertyId=function(){return(r.shear<<24)+this.boneIndex},i.prototype.apply=function(t,r,s,a,o,l){var h=this.frames,u=t.bones[this.boneIndex];if(u.active)if(s=h[h.length-i.ENTRIES])c=h[h.length+i.PREV_X],_=h[h.length+i.PREV_Y];else{var f=n.binarySearch(h,s,i.ENTRIES);c=h[f+i.PREV_X],_=h[f+i.PREV_Y];var p=h[f],d=this.getCurvePercent(f/i.ENTRIES-1,1-(s-p)/(h[f+i.PREV_TIME]-p));c+=(h[f+i.X]-c)*d,_+=(h[f+i.Y]-_)*d}switch(l){case e.setup:u.shearX=u.data.shearX+c*o,u.shearY=u.data.shearY+_*o;break;case e.first:case e.replace:u.shearX+=(u.data.shearX+c-u.shearX)*o,u.shearY+=(u.data.shearY+_-u.shearY)*o;break;case e.add:u.shearX+=c*o,u.shearY+=_*o}}},i}(o);t.ShearTimeline=h;var u=function(i){function s(e){var r=i.call(this,e)||this;return r.frames=t.Utils.newFloatArray(e*s.ENTRIES),r}return Jtt(s,i),s.prototype.getPropertyId=function(){return(r.color<<24)+this.slotIndex},s.prototype.setFrame=function(t,e,i,r,n,a){t*=s.ENTRIES,this.frames[t]=e,this.frames[t+s.R]=i,this.frames[t+s.G]=r,this.frames[t+s.B]=n,this.frames[t+s.A]=a},s.prototype.apply=function(t,i,r,a,o,l){var h=t.slots[this.slotIndex];if(h.bone.active){var u=this.frames;if(r=u[u.length-s.ENTRIES]){var y=u.length;f=u[y+s.PREV_R],p=u[y+s.PREV_G],d=u[y+s.PREV_B],m=u[y+s.PREV_A]}else{var g=n.binarySearch(u,r,s.ENTRIES);f=u[g+s.PREV_R],p=u[g+s.PREV_G],d=u[g+s.PREV_B],m=u[g+s.PREV_A];var v=u[g],b=this.getCurvePercent(g/s.ENTRIES-1,1-(r-v)/(u[g+s.PREV_TIME]-v));f+=(u[g+s.R]-f)*b,p+=(u[g+s.G]-p)*b,d+=(u[g+s.B]-d)*b,m+=(u[g+s.A]-m)*b}1==o?h.color.set(f,p,d,m):(c=h.color,l==e.setup&&c.setFromColor(h.data.color),c.add((f-c.r)*o,(p-c.g)*o,(d-c.b)*o,(m-c.a)*o))}}},s.ENTRIES=5,s.PREV_TIME=-5,s.PREV_R=-4,s.PREV_G=-3,s.PREV_B=-2,s.PREV_A=-1,s.R=1,s.G=2,s.B=3,s.A=4,s}(s);t.ColorTimeline=u;var c=function(i){function s(e){var r=i.call(this,e)||this;return r.frames=t.Utils.newFloatArray(e*s.ENTRIES),r}return Jtt(s,i),s.prototype.getPropertyId=function(){return(r.twoColor<<24)+this.slotIndex},s.prototype.setFrame=function(t,e,i,r,n,a,o,l,h){t*=s.ENTRIES,this.frames[t]=e,this.frames[t+s.R]=i,this.frames[t+s.G]=r,this.frames[t+s.B]=n,this.frames[t+s.A]=a,this.frames[t+s.R2]=o,this.frames[t+s.G2]=l,this.frames[t+s.B2]=h},s.prototype.apply=function(t,i,r,a,o,l){var h=t.slots[this.slotIndex];if(h.bone.active){var u=this.frames;if(r=u[u.length-s.ENTRIES]){var A=u.length;d=u[A+s.PREV_R],m=u[A+s.PREV_G],y=u[A+s.PREV_B],g=u[A+s.PREV_A],v=u[A+s.PREV_R2],b=u[A+s.PREV_G2],S=u[A+s.PREV_B2]}else{var C=n.binarySearch(u,r,s.ENTRIES);d=u[C+s.PREV_R],m=u[C+s.PREV_G],y=u[C+s.PREV_B],g=u[C+s.PREV_A],v=u[C+s.PREV_R2],b=u[C+s.PREV_G2],S=u[C+s.PREV_B2];var x=u[C],T=this.getCurvePercent(C/s.ENTRIES-1,1-(r-x)/(u[C+s.PREV_TIME]-x));d+=(u[C+s.R]-d)*T,m+=(u[C+s.G]-m)*T,y+=(u[C+s.B]-y)*T,g+=(u[C+s.A]-g)*T,v+=(u[C+s.R2]-v)*T,b+=(u[C+s.G2]-b)*T,S+=(u[C+s.B2]-S)*T}1==o?(h.color.set(d,m,y,g),h.darkColor.set(v,b,S,1)):(c=h.color,_=h.darkColor,l==e.setup&&(c.setFromColor(h.data.color),_.setFromColor(h.data.darkColor)),c.add((d-c.r)*o,(m-c.g)*o,(y-c.b)*o,(g-c.a)*o),_.add((v-_.r)*o,(b-_.g)*o,(S-_.b)*o,0))}}},s.ENTRIES=8,s.PREV_TIME=-8,s.PREV_R=-7,s.PREV_G=-6,s.PREV_B=-5,s.PREV_A=-4,s.PREV_R2=-3,s.PREV_G2=-2,s.PREV_B2=-1,s.R=1,s.G=2,s.B=3,s.A=4,s.R2=5,s.G2=6,s.B2=7,s}(s);t.TwoColorTimeline=c;var _=function(){function s(e){this.frames=t.Utils.newFloatArray(e),this.attachmentNames=new Array(e)}return s.prototype.getPropertyId=function(){return(r.attachment<<24)+this.slotIndex},s.prototype.getFrameCount=function(){return this.frames.length},s.prototype.setFrame=function(t,e,i){this.frames[t]=e,this.attachmentNames[t]=i},s.prototype.apply=function(t,r,s,a,o,l,h){var u=t.slots[this.slotIndex];if(u.bone.active)if(h!=i.mixOut||l!=e.setup){var c=this.frames;if(s=c[c.length-1]?c.length-1:n.binarySearch(c,s,1)-1;var p=this.attachmentNames[f];t.slots[this.slotIndex].setAttachment(null==p?null:t.getAttachment(this.slotIndex,p))}}else{var d=u.data.attachmentName;u.setAttachment(null==d?null:t.getAttachment(this.slotIndex,d))}},s}();t.AttachmentTimeline=_;var f=null,p=function(i){function s(e){var r=i.call(this,e)||this;return r.frames=t.Utils.newFloatArray(e),r.frameVertices=new Array(e),null==f&&(f=t.Utils.newFloatArray(64)),r}return Jtt(s,i),s.prototype.getPropertyId=function(){return(r.deform<<27)+ +this.attachment.id+this.slotIndex},s.prototype.setFrame=function(t,e,i){this.frames[t]=e,this.frameVertices[t]=i},s.prototype.apply=function(i,r,s,a,o,l){var h=i.slots[this.slotIndex];if(h.bone.active){var u=h.getAttachment();if(u instanceof t.VertexAttachment&&u.deformAttachment==this.attachment){var c=h.deform;0==c.length&&(l=e.setup);var _=this.frameVertices,f=_[0].length,p=this.frames;if(s=p[p.length-1]){var b=_[p.length-1];if(1==o)if(l==e.add)if(null==(d=u).bones){y=d.vertices;for(var S=0;Si)this.apply(t,e,Number.MAX_VALUE,r,s,a,o),e=-1;else if(e>=l[h-1])return;if(!(i0&&l[u-1]==c;)u--;for(;u=l[u];u++)r.push(this.events[u])}}},e}();t.EventTimeline=d;var m=function(){function s(e){this.frames=t.Utils.newFloatArray(e),this.drawOrders=new Array(e)}return s.prototype.getPropertyId=function(){return r.drawOrder<<24},s.prototype.getFrameCount=function(){return this.frames.length},s.prototype.setFrame=function(t,e,i){this.frames[t]=e,this.drawOrders[t]=i},s.prototype.apply=function(r,s,a,o,l,h,u){var c=r.drawOrder,_=r.slots;if(u!=i.mixOut||h!=e.setup){var f=this.frames;if(a=f[f.length-1]?f.length-1:n.binarySearch(f,a)-1;var d=this.drawOrders[p];if(null==d)t.Utils.arrayCopy(_,0,c,0,_.length);else for(var m=0,y=d.length;m=c[c.length-a.ENTRIES])h==e.setup?(_.mix=_.data.mix+(c[c.length+a.PREV_MIX]-_.data.mix)*l,_.softness=_.data.softness+(c[c.length+a.PREV_SOFTNESS]-_.data.softness)*l,u==i.mixOut?(_.bendDirection=_.data.bendDirection,_.compress=_.data.compress,_.stretch=_.data.stretch):(_.bendDirection=c[c.length+a.PREV_BEND_DIRECTION],_.compress=0!=c[c.length+a.PREV_COMPRESS],_.stretch=0!=c[c.length+a.PREV_STRETCH])):(_.mix+=(c[c.length+a.PREV_MIX]-_.mix)*l,_.softness+=(c[c.length+a.PREV_SOFTNESS]-_.softness)*l,u==i.mixIn&&(_.bendDirection=c[c.length+a.PREV_BEND_DIRECTION],_.compress=0!=c[c.length+a.PREV_COMPRESS],_.stretch=0!=c[c.length+a.PREV_STRETCH]));else{var f=n.binarySearch(c,s,a.ENTRIES),p=c[f+a.PREV_MIX],d=c[f+a.PREV_SOFTNESS],m=c[f],y=this.getCurvePercent(f/a.ENTRIES-1,1-(s-m)/(c[f+a.PREV_TIME]-m));h==e.setup?(_.mix=_.data.mix+(p+(c[f+a.MIX]-p)*y-_.data.mix)*l,_.softness=_.data.softness+(d+(c[f+a.SOFTNESS]-d)*y-_.data.softness)*l,u==i.mixOut?(_.bendDirection=_.data.bendDirection,_.compress=_.data.compress,_.stretch=_.data.stretch):(_.bendDirection=c[f+a.PREV_BEND_DIRECTION],_.compress=0!=c[f+a.PREV_COMPRESS],_.stretch=0!=c[f+a.PREV_STRETCH])):(_.mix+=(p+(c[f+a.MIX]-p)*y-_.mix)*l,_.softness+=(d+(c[f+a.SOFTNESS]-d)*y-_.softness)*l,u==i.mixIn&&(_.bendDirection=c[f+a.PREV_BEND_DIRECTION],_.compress=0!=c[f+a.PREV_COMPRESS],_.stretch=0!=c[f+a.PREV_STRETCH]))}},a.ENTRIES=6,a.PREV_TIME=-6,a.PREV_MIX=-5,a.PREV_SOFTNESS=-4,a.PREV_BEND_DIRECTION=-3,a.PREV_COMPRESS=-2,a.PREV_STRETCH=-1,a.MIX=1,a.SOFTNESS=2,a.BEND_DIRECTION=3,a.COMPRESS=4,a.STRETCH=5,a}(s);t.IkConstraintTimeline=y;var g=function(i){function s(e){var r=i.call(this,e)||this;return r.frames=t.Utils.newFloatArray(e*s.ENTRIES),r}return Jtt(s,i),s.prototype.getPropertyId=function(){return(r.transformConstraint<<24)+this.transformConstraintIndex},s.prototype.setFrame=function(t,e,i,r,n,a){t*=s.ENTRIES,this.frames[t]=e,this.frames[t+s.ROTATE]=i,this.frames[t+s.TRANSLATE]=r,this.frames[t+s.SCALE]=n,this.frames[t+s.SHEAR]=a},s.prototype.apply=function(t,i,r,a,o,l){var h=this.frames,u=t.transformConstraints[this.transformConstraintIndex];if(u.active)if(r=h[h.length-s.ENTRIES]){var m=h.length;_=h[m+s.PREV_ROTATE],f=h[m+s.PREV_TRANSLATE],p=h[m+s.PREV_SCALE],d=h[m+s.PREV_SHEAR]}else{var y=n.binarySearch(h,r,s.ENTRIES);_=h[y+s.PREV_ROTATE],f=h[y+s.PREV_TRANSLATE],p=h[y+s.PREV_SCALE],d=h[y+s.PREV_SHEAR];var g=h[y],v=this.getCurvePercent(y/s.ENTRIES-1,1-(r-g)/(h[y+s.PREV_TIME]-g));_+=(h[y+s.ROTATE]-_)*v,f+=(h[y+s.TRANSLATE]-f)*v,p+=(h[y+s.SCALE]-p)*v,d+=(h[y+s.SHEAR]-d)*v}l==e.setup?(c=u.data,u.rotateMix=c.rotateMix+(_-c.rotateMix)*o,u.translateMix=c.translateMix+(f-c.translateMix)*o,u.scaleMix=c.scaleMix+(p-c.scaleMix)*o,u.shearMix=c.shearMix+(d-c.shearMix)*o):(u.rotateMix+=(_-u.rotateMix)*o,u.translateMix+=(f-u.translateMix)*o,u.scaleMix+=(p-u.scaleMix)*o,u.shearMix+=(d-u.shearMix)*o)}},s.ENTRIES=5,s.PREV_TIME=-5,s.PREV_ROTATE=-4,s.PREV_TRANSLATE=-3,s.PREV_SCALE=-2,s.PREV_SHEAR=-1,s.ROTATE=1,s.TRANSLATE=2,s.SCALE=3,s.SHEAR=4,s}(s);t.TransformConstraintTimeline=g;var v=function(i){function s(e){var r=i.call(this,e)||this;return r.frames=t.Utils.newFloatArray(e*s.ENTRIES),r}return Jtt(s,i),s.prototype.getPropertyId=function(){return(r.pathConstraintPosition<<24)+this.pathConstraintIndex},s.prototype.setFrame=function(t,e,i){t*=s.ENTRIES,this.frames[t]=e,this.frames[t+s.VALUE]=i},s.prototype.apply=function(t,i,r,a,o,l){var h=this.frames,u=t.pathConstraints[this.pathConstraintIndex];if(u.active)if(r=h[h.length-s.ENTRIES])c=h[h.length+s.PREV_VALUE];else{var _=n.binarySearch(h,r,s.ENTRIES);c=h[_+s.PREV_VALUE];var f=h[_],p=this.getCurvePercent(_/s.ENTRIES-1,1-(r-f)/(h[_+s.PREV_TIME]-f));c+=(h[_+s.VALUE]-c)*p}l==e.setup?u.position=u.data.position+(c-u.data.position)*o:u.position+=(c-u.position)*o}},s.ENTRIES=2,s.PREV_TIME=-2,s.PREV_VALUE=-1,s.VALUE=1,s}(s);t.PathConstraintPositionTimeline=v;var b=function(t){function i(e){return t.call(this,e)||this}return Jtt(i,t),i.prototype.getPropertyId=function(){return(r.pathConstraintSpacing<<24)+this.pathConstraintIndex},i.prototype.apply=function(t,r,s,a,o,l){var h=this.frames,u=t.pathConstraints[this.pathConstraintIndex];if(u.active)if(s=h[h.length-i.ENTRIES])c=h[h.length+i.PREV_VALUE];else{var _=n.binarySearch(h,s,i.ENTRIES);c=h[_+i.PREV_VALUE];var f=h[_],p=this.getCurvePercent(_/i.ENTRIES-1,1-(s-f)/(h[_+i.PREV_TIME]-f));c+=(h[_+i.VALUE]-c)*p}l==e.setup?u.spacing=u.data.spacing+(c-u.data.spacing)*o:u.spacing+=(c-u.spacing)*o}},i}(v);t.PathConstraintSpacingTimeline=b;var S=function(i){function s(e){var r=i.call(this,e)||this;return r.frames=t.Utils.newFloatArray(e*s.ENTRIES),r}return Jtt(s,i),s.prototype.getPropertyId=function(){return(r.pathConstraintMix<<24)+this.pathConstraintIndex},s.prototype.setFrame=function(t,e,i,r){t*=s.ENTRIES,this.frames[t]=e,this.frames[t+s.ROTATE]=i,this.frames[t+s.TRANSLATE]=r},s.prototype.apply=function(t,i,r,a,o,l){var h=this.frames,u=t.pathConstraints[this.pathConstraintIndex];if(u.active)if(r=h[h.length-s.ENTRIES])c=h[h.length+s.PREV_ROTATE],_=h[h.length+s.PREV_TRANSLATE];else{var f=n.binarySearch(h,r,s.ENTRIES);c=h[f+s.PREV_ROTATE],_=h[f+s.PREV_TRANSLATE];var p=h[f],d=this.getCurvePercent(f/s.ENTRIES-1,1-(r-p)/(h[f+s.PREV_TIME]-p));c+=(h[f+s.ROTATE]-c)*d,_+=(h[f+s.TRANSLATE]-_)*d}l==e.setup?(u.rotateMix=u.data.rotateMix+(c-u.data.rotateMix)*o,u.translateMix=u.data.translateMix+(_-u.data.translateMix)*o):(u.rotateMix+=(c-u.rotateMix)*o,u.translateMix+=(_-u.translateMix)*o)}},s.ENTRIES=3,s.PREV_TIME=-3,s.PREV_ROTATE=-2,s.PREV_TRANSLATE=-1,s.ROTATE=1,s.TRANSLATE=2,s}(s);t.PathConstraintMixTimeline=S}(qtt||(qtt={})),function(t){var e=function(){function e(e){this.tracks=new Array,this.timeScale=1,this.events=new Array,this.listeners=new Array,this.queue=new n(this),this.propertyIDs=new t.IntSet,this.animationsChanged=!1,this.trackEntryPool=new t.Pool((function(){return new i})),this.data=e}return e.prototype.update=function(t){t*=this.timeScale;for(var e=this.tracks,i=0,r=e.length;i0){if(n.delay-=s,n.delay>0)continue;s=-n.delay,n.delay=0}var a=n.next;if(null!=a){var o=n.trackLast-a.delay;if(o>=0){for(a.delay=0,a.trackTime+=0==n.timeScale?0:(o/n.timeScale+t)*a.timeScale,n.trackTime+=s,this.setCurrent(i,a,!0);null!=a.mixingFrom;)a.mixTime+=t,a=a.mixingFrom;continue}}else if(n.trackLast>=n.trackEnd&&null==n.mixingFrom){e[i]=null,this.queue.end(n),this.disposeNext(n);continue}if(null!=n.mixingFrom&&this.updateMixingFrom(n,t)){var l=n.mixingFrom;for(n.mixingFrom=null,null!=l&&(l.mixingTo=null);null!=l;)this.queue.end(l),l=l.mixingFrom}n.trackTime+=s}}this.queue.drain()},e.prototype.updateMixingFrom=function(t,e){var i=t.mixingFrom;if(null==i)return!0;var r=this.updateMixingFrom(i,e);return i.animationLast=i.nextAnimationLast,i.trackLast=i.nextTrackLast,t.mixTime>0&&t.mixTime>=t.mixDuration?(0!=i.totalAlpha&&0!=t.mixDuration||(t.mixingFrom=i.mixingFrom,null!=i.mixingFrom&&(i.mixingFrom.mixingTo=t),t.interruptAlpha=i.interruptAlpha,this.queue.end(i)),r):(i.trackTime+=e*i.timeScale,t.mixTime+=e,!1)},e.prototype.apply=function(i){if(null==i)throw new Error("skeleton cannot be null.");this.animationsChanged&&this._animationsChanged();for(var r=this.events,n=this.tracks,s=!1,a=0,o=n.length;a0)){s=!0;var h=0==a?t.MixBlend.first:l.mixBlend,u=l.alpha;null!=l.mixingFrom?u*=this.applyMixingFrom(l,i,h):l.trackTime>=l.trackEnd&&null==l.next&&(u=0);var c=l.animationLast,_=l.getAnimationTime(),f=l.animation.timelines.length,p=l.animation.timelines;if(0==a&&1==u||h==t.MixBlend.add)for(var d=0;d1&&(a=1),n!=t.MixBlend.first&&(n=s.mixBlend));var o=a0&&this.queueEvents(s,c),this.events.length=0,s.nextAnimationLast=c,s.nextTrackLast=s.trackTime,a},e.prototype.applyRotateTimeline=function(e,i,r,n,s,a,o,l){if(l&&(a[o]=0),1!=n){var h=e,u=h.frames,c=i.bones[h.boneIndex];if(c.active){var _=0,f=0;if(r=u[u.length-t.RotateTimeline.ENTRIES])f=c.data.rotation+u[u.length+t.RotateTimeline.PREV_ROTATION];else{var p=t.Animation.binarySearch(u,r,t.RotateTimeline.ENTRIES),d=u[p+t.RotateTimeline.PREV_ROTATION],m=u[p],y=h.getCurvePercent((p>>1)-1,1-(r-m)/(u[p+t.RotateTimeline.PREV_TIME]-m));f=u[p+t.RotateTimeline.ROTATION]-d,f=d+(f-=360*(16384-(16384.499999999996-f/360|0)))*y+c.data.rotation,f-=360*(16384-(16384.499999999996-f/360|0))}var g=0,v=f-_;if(0==(v-=360*(16384-(16384.499999999996-v/360|0))))g=a[o];else{var b=0,S=0;l?(b=0,S=v):(b=a[o],S=a[o+1]);var A=v>0,C=b>=0;t.MathUtils.signum(S)!=t.MathUtils.signum(v)&&Math.abs(S)<=90&&(Math.abs(b)>180&&(b+=360*t.MathUtils.signum(b)),C=A),g=v+b-b%360,C!=A&&(g+=360*t.MathUtils.signum(b)),a[o]=g}a[o+1]=v,_+=g*n,c.rotation=_-360*(16384-(16384.499999999996-_/360|0))}}else e.apply(i,0,r,null,1,s,t.MixDirection.mixIn)},e.prototype.queueEvents=function(t,e){for(var i=t.animationStart,r=t.animationEnd,n=r-i,s=t.trackLast%n,a=this.events,o=0,l=a.length;or||this.queue.event(t,h)}for((t.loop?0==n||s>t.trackTime%n:e>=r&&t.animationLast=this.tracks.length)){var e=this.tracks[t];if(null!=e){this.queue.end(e),this.disposeNext(e);for(var i=e;;){var r=i.mixingFrom;if(null==r)break;this.queue.end(r),i.mixingFrom=null,i.mixingTo=null,i=r}this.tracks[e.trackIndex]=null,this.queue.drain()}}},e.prototype.setCurrent=function(t,e,i){var r=this.expandToIndex(t);this.tracks[t]=e,null!=r&&(i&&this.queue.interrupt(r),e.mixingFrom=r,r.mixingTo=e,e.mixTime=0,null!=r.mixingFrom&&r.mixDuration>0&&(e.interruptAlpha*=Math.min(1,r.mixTime/r.mixDuration)),r.timelinesRotation.length=0),this.queue.start(e)},e.prototype.setAnimation=function(t,e,i){var r=this.data.skeletonData.findAnimation(e);if(null==r)throw new Error("Animation not found: "+e);return this.setAnimationWith(t,r,i)},e.prototype.setAnimationWith=function(t,e,i){if(null==e)throw new Error("animation cannot be null.");var r=!0,n=this.expandToIndex(t);null!=n&&(-1==n.nextTrackLast?(this.tracks[t]=n.mixingFrom,this.queue.interrupt(n),this.queue.end(n),this.disposeNext(n),n=n.mixingFrom,r=!1):this.disposeNext(n));var s=this.trackEntry(t,e,i,n);return this.setCurrent(t,s,r),this.queue.drain(),s},e.prototype.addAnimation=function(t,e,i,r){var n=this.data.skeletonData.findAnimation(e);if(null==n)throw new Error("Animation not found: "+e);return this.addAnimationWith(t,n,i,r)},e.prototype.addAnimationWith=function(t,e,i,r){if(null==e)throw new Error("animation cannot be null.");var n=this.expandToIndex(t);if(null!=n)for(;null!=n.next;)n=n.next;var s=this.trackEntry(t,e,i,n);if(null==n)this.setCurrent(t,s,!0),this.queue.drain();else if(n.next=s,r<=0){var a=n.animationEnd-n.animationStart;0!=a?(n.loop?r+=a*(1+(n.trackTime/a|0)):r+=Math.max(a,n.trackTime),r-=this.data.getMix(n.animation,e)):r=n.trackTime}return s.delay=r,s},e.prototype.setEmptyAnimation=function(t,i){var r=this.setAnimationWith(t,e.emptyAnimation,!1);return r.mixDuration=i,r.trackEnd=i,r},e.prototype.addEmptyAnimation=function(t,i,r){r<=0&&(r-=i);var n=this.addAnimationWith(t,e.emptyAnimation,!1,r);return n.mixDuration=i,n.trackEnd=i,n},e.prototype.setEmptyAnimations=function(t){var e=this.queue.drainDisabled;this.queue.drainDisabled=!0;for(var i=0,r=this.tracks.length;i=0;e--)for(var r=this.tracks[e];null!=r;)this.computeNotLast(r),r=r.mixingFrom},e.prototype.computeHold=function(i){var r=i.mixingTo,n=i.animation.timelines,s=i.animation.timelines.length,a=t.Utils.setArraySize(i.timelineMode,s);i.timelineHoldMix.length=0;var o=t.Utils.setArraySize(i.timelineHoldMix,s),l=this.propertyIDs;if(null!=r&&r.holdPrevious)for(var h=0;h0){a[h]=e.HOLD_MIX,o[h]=_;continue t}break}a[h]=e.HOLD}else a[h]=e.SUBSEQUENT}},e.prototype.computeNotLast=function(i){for(var r=i.animation.timelines,n=i.animation.timelines.length,s=i.timelineMode,a=this.propertyIDs,o=0;o=this.tracks.length?null:this.tracks[t]},e.prototype.addListener=function(t){if(null==t)throw new Error("listener cannot be null.");this.listeners.push(t)},e.prototype.removeListener=function(t){var e=this.listeners.indexOf(t);e>=0&&this.listeners.splice(e,1)},e.prototype.clearListeners=function(){this.listeners.length=0},e.prototype.clearListenerNotifications=function(){this.queue.clear()},e.emptyAnimation=new t.Animation("",[],0),e.SUBSEQUENT=0,e.FIRST=1,e.HOLD=2,e.HOLD_MIX=3,e.NOT_LAST=4,e}();t.AnimationState=e;var i=function(){function e(){this.mixBlend=t.MixBlend.replace,this.timelineMode=new Array,this.timelineHoldMix=new Array,this.timelinesRotation=new Array}return e.prototype.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.prototype.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.prototype.setAnimationLast=function(t){this.animationLast=t,this.nextAnimationLast=t},e.prototype.isComplete=function(){return this.trackTime>=this.animationEnd-this.animationStart},e.prototype.resetRotationDirections=function(){this.timelinesRotation.length=0},e}();t.TrackEntry=i;var r,n=function(){function t(t){this.objects=[],this.drainDisabled=!1,this.animState=t}return t.prototype.start=function(t){this.objects.push(r.start),this.objects.push(t),this.animState.animationsChanged=!0},t.prototype.interrupt=function(t){this.objects.push(r.interrupt),this.objects.push(t)},t.prototype.end=function(t){this.objects.push(r.end),this.objects.push(t),this.animState.animationsChanged=!0},t.prototype.dispose=function(t){this.objects.push(r.dispose),this.objects.push(t)},t.prototype.complete=function(t){this.objects.push(r.complete),this.objects.push(t)},t.prototype.event=function(t,e){this.objects.push(r.event),this.objects.push(t),this.objects.push(e)},t.prototype.drain=function(){if(!this.drainDisabled){this.drainDisabled=!0;for(var t=this.objects,e=this.animState.listeners,i=0;i=0?i.substring(0,i.lastIndexOf("/")):"";i=this.pathPrefix+i,this.toLoad++,e.downloadText(i,(function(e){var o={count:0},l=new Array;try{new t.TextureAtlas(e,(function(e){l.push(a+"/"+e);var i=document.createElement("img");return i.width=16,i.height=16,new t.FakeTexture(i)}))}catch(t){var h=t;return s.errors[i]="Couldn't load texture atlas "+i+": "+h.message,n&&n(i,"Couldn't load texture atlas "+i+": "+h.message),s.toLoad--,void s.loaded++}for(var u=function(h){var u=!1;s.loadTexture(h,(function(h){if(o.count++,o.count==l.length)if(u)s.errors[i]="Couldn't load texture atlas page "+h+"} of atlas "+i,n&&n(i,"Couldn't load texture atlas page "+h+" of atlas "+i),s.toLoad--,s.loaded++;else try{var c=new t.TextureAtlas(e,(function(t){return s.get(a+"/"+t)}));s.assets[i]=c,r&&r(i,c),s.toLoad--,s.loaded++}catch(t){var _=t;s.errors[i]="Couldn't load texture atlas "+i+": "+_.message,n&&n(i,"Couldn't load texture atlas "+i+": "+_.message),s.toLoad--,s.loaded++}}),(function(t){u=!0,o.count++,o.count==l.length&&(s.errors[i]="Couldn't load texture atlas page "+t+"} of atlas "+i,n&&n(i,"Couldn't load texture atlas page "+t+" of atlas "+i),s.toLoad--,s.loaded++)}))},c=0,_=l;c<_.length;c++)u(_[c])}),(function(t,e){s.errors[i]="Couldn't load texture atlas "+i+": status "+status+", "+e,n&&n(i,"Couldn't load texture atlas "+i+": status "+status+", "+e),s.toLoad--,s.loaded++}))},e.prototype.get=function(t){return t=this.pathPrefix+t,this.assets[t]},e.prototype.remove=function(t){t=this.pathPrefix+t;var e=this.assets[t];e.dispose&&e.dispose(),this.assets[t]=null},e.prototype.removeAll=function(){for(var t in this.assets){var e=this.assets[t];e.dispose&&e.dispose()}this.assets={}},e.prototype.isLoadingComplete=function(){return 0==this.toLoad},e.prototype.getToLoad=function(){return this.toLoad},e.prototype.getLoaded=function(){return this.loaded},e.prototype.dispose=function(){this.removeAll()},e.prototype.hasErrors=function(){return Object.keys(this.errors).length>0},e.prototype.getErrors=function(){return this.errors},e}();t.AssetManager=e}(qtt||(qtt={})),function(t){var e=function(){function e(t){this.atlas=t}return e.prototype.newRegionAttachment=function(e,i,r){var n=this.atlas.findRegion(r);if(null==n)return null;n.renderObject=n;var s=new t.RegionAttachment(i);return s.setRegion(n),s},e.prototype.newMeshAttachment=function(e,i,r){var n=this.atlas.findRegion(r);if(null==n)return null;n.renderObject=n;var s=new t.MeshAttachment(i);return s.region=n,s},e.prototype.newBoundingBoxAttachment=function(e,i){return new t.BoundingBoxAttachment(i)},e.prototype.newPathAttachment=function(e,i){return new t.PathAttachment(i)},e.prototype.newPointAttachment=function(e,i){return new t.PointAttachment(i)},e.prototype.newClippingAttachment=function(e,i){return new t.ClippingAttachment(i)},e}();t.AtlasAttachmentLoader=e}(qtt||(qtt={})),function(t){!function(t){t[t.Normal=0]="Normal",t[t.Additive=1]="Additive",t[t.Multiply=2]="Multiply",t[t.Screen=3]="Screen"}(t.BlendMode||(t.BlendMode={}))}(qtt||(qtt={})),function(t){var e=function(){function e(t,e,i){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=i,this.setToSetupPose()}return e.prototype.isActive=function(){return this.active},e.prototype.update=function(){this.updateWorldTransformWith(this.x,this.y,this.rotation,this.scaleX,this.scaleY,this.shearX,this.shearY)},e.prototype.updateWorldTransform=function(){this.updateWorldTransformWith(this.x,this.y,this.rotation,this.scaleX,this.scaleY,this.shearX,this.shearY)},e.prototype.updateWorldTransformWith=function(e,i,r,n,s,a,o){this.ax=e,this.ay=i,this.arotation=r,this.ascaleX=n,this.ascaleY=s,this.ashearX=a,this.ashearY=o,this.appliedValid=!0;var l=this.parent;if(null==l){var h=this.skeleton,u=r+90+o,c=h.scaleX,_=h.scaleY;return this.a=t.MathUtils.cosDeg(r+a)*n*c,this.b=t.MathUtils.cosDeg(u)*s*c,this.c=t.MathUtils.sinDeg(r+a)*n*_,this.d=t.MathUtils.sinDeg(u)*s*_,this.worldX=e*c+h.x,void(this.worldY=i*_+h.y)}var f=l.a,p=l.b,d=l.c,m=l.d;switch(this.worldX=f*e+p*i+l.worldX,this.worldY=d*e+m*i+l.worldY,this.data.transformMode){case t.TransformMode.Normal:u=r+90+o;var y=t.MathUtils.cosDeg(r+a)*n,g=t.MathUtils.cosDeg(u)*s,v=t.MathUtils.sinDeg(r+a)*n,b=t.MathUtils.sinDeg(u)*s;return this.a=f*y+p*v,this.b=f*g+p*b,this.c=d*y+m*v,void(this.d=d*g+m*b);case t.TransformMode.OnlyTranslation:u=r+90+o,this.a=t.MathUtils.cosDeg(r+a)*n,this.b=t.MathUtils.cosDeg(u)*s,this.c=t.MathUtils.sinDeg(r+a)*n,this.d=t.MathUtils.sinDeg(u)*s;break;case t.TransformMode.NoRotationOrReflection:var S=0;(x=f*f+d*d)>1e-4?(p=d*(x=Math.abs(f*m-p*d)/x),m=f*x,S=Math.atan2(d,f)*t.MathUtils.radDeg):(f=0,d=0,S=90-Math.atan2(m,p)*t.MathUtils.radDeg);var A=r+a-S,C=r+o-S+90;y=t.MathUtils.cosDeg(A)*n,g=t.MathUtils.cosDeg(C)*s,v=t.MathUtils.sinDeg(A)*n,b=t.MathUtils.sinDeg(C)*s,this.a=f*y-p*v,this.b=f*g-p*b,this.c=d*y+m*v,this.d=d*g+m*b;break;case t.TransformMode.NoScale:case t.TransformMode.NoScaleOrReflection:var x,T=t.MathUtils.cosDeg(r),w=t.MathUtils.sinDeg(r),E=(f*T+p*w)/this.skeleton.scaleX,B=(d*T+m*w)/this.skeleton.scaleY;(x=Math.sqrt(E*E+B*B))>1e-5&&(x=1/x),E*=x,B*=x,x=Math.sqrt(E*E+B*B),this.data.transformMode==t.TransformMode.NoScale&&f*m-p*d<0!=(this.skeleton.scaleX<0!=this.skeleton.scaleY<0)&&(x=-x);var D=Math.PI/2+Math.atan2(B,E),M=Math.cos(D)*x,P=Math.sin(D)*x;y=t.MathUtils.cosDeg(a)*n,g=t.MathUtils.cosDeg(90+o)*s,v=t.MathUtils.sinDeg(a)*n,b=t.MathUtils.sinDeg(90+o)*s,this.a=E*y+M*v,this.b=E*g+M*b,this.c=B*y+P*v,this.d=B*g+P*b}this.a*=this.skeleton.scaleX,this.b*=this.skeleton.scaleX,this.c*=this.skeleton.scaleY,this.d*=this.skeleton.scaleY},e.prototype.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.prototype.getWorldRotationX=function(){return Math.atan2(this.c,this.a)*t.MathUtils.radDeg},e.prototype.getWorldRotationY=function(){return Math.atan2(this.d,this.b)*t.MathUtils.radDeg},e.prototype.getWorldScaleX=function(){return Math.sqrt(this.a*this.a+this.c*this.c)},e.prototype.getWorldScaleY=function(){return Math.sqrt(this.b*this.b+this.d*this.d)},e.prototype.updateAppliedTransform=function(){this.appliedValid=!0;var e=this.parent;if(null==e)return this.ax=this.worldX,this.ay=this.worldY,this.arotation=Math.atan2(this.c,this.a)*t.MathUtils.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)*t.MathUtils.radDeg);var i=e.a,r=e.b,n=e.c,s=e.d,a=1/(i*s-r*n),o=this.worldX-e.worldX,l=this.worldY-e.worldY;this.ax=o*s*a-l*r*a,this.ay=l*i*a-o*n*a;var h=a*s,u=a*i,c=a*r,_=a*n,f=h*this.a-c*this.c,p=h*this.b-c*this.d,d=u*this.c-_*this.a,m=u*this.d-_*this.b;if(this.ashearX=0,this.ascaleX=Math.sqrt(f*f+d*d),this.ascaleX>1e-4){var y=f*m-p*d;this.ascaleY=y/this.ascaleX,this.ashearY=Math.atan2(f*p+d*m,y)*t.MathUtils.radDeg,this.arotation=Math.atan2(d,f)*t.MathUtils.radDeg}else this.ascaleX=0,this.ascaleY=Math.sqrt(p*p+m*m),this.ashearY=0,this.arotation=90-Math.atan2(m,p)*t.MathUtils.radDeg},e.prototype.worldToLocal=function(t){var e=this.a,i=this.b,r=this.c,n=this.d,s=1/(e*n-i*r),a=t.x-this.worldX,o=t.y-this.worldY;return t.x=a*n*s-o*i*s,t.y=o*e*s-a*r*s,t},e.prototype.localToWorld=function(t){var e=t.x,i=t.y;return t.x=e*this.a+i*this.b+this.worldX,t.y=e*this.c+i*this.d+this.worldY,t},e.prototype.worldToLocalRotation=function(e){var i=t.MathUtils.sinDeg(e),r=t.MathUtils.cosDeg(e);return Math.atan2(this.a*i-this.c*r,this.d*r-this.b*i)*t.MathUtils.radDeg+this.rotation-this.shearX},e.prototype.localToWorldRotation=function(e){e-=this.rotation-this.shearX;var i=t.MathUtils.sinDeg(e),r=t.MathUtils.cosDeg(e);return Math.atan2(r*this.c+i*this.d,r*this.a+i*this.b)*t.MathUtils.radDeg},e.prototype.rotateWorld=function(e){var i=this.a,r=this.b,n=this.c,s=this.d,a=t.MathUtils.cosDeg(e),o=t.MathUtils.sinDeg(e);this.a=a*i-o*n,this.b=a*r-o*s,this.c=o*i+a*n,this.d=o*r+a*s,this.appliedValid=!1},e}();t.Bone=e}(qtt||(qtt={})),function(t){var e;t.BoneData=function(i,r,n){if(this.x=0,this.y=0,this.rotation=0,this.scaleX=1,this.scaleY=1,this.shearX=0,this.shearY=0,this.transformMode=e.Normal,this.skinRequired=!1,this.color=new t.Color,i<0)throw new Error("index must be >= 0.");if(null==r)throw new Error("name cannot be null.");this.index=i,this.name=r,this.parent=n},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"}(e=t.TransformMode||(t.TransformMode={}))}(qtt||(qtt={})),function(t){t.ConstraintData=function(t,e,i){this.name=t,this.order=e,this.skinRequired=i}}(qtt||(qtt={})),function(t){t.Event=function(t,e){if(null==e)throw new Error("data cannot be null.");this.time=t,this.data=e}}(qtt||(qtt={})),function(t){t.EventData=function(t){this.name=t}}(qtt||(qtt={})),function(t){var e=function(){function e(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 i=0;i180?p-=360:p<-180&&(p+=360);var d=e.ascaleX,m=e.ascaleY;if(n||s){var y=e.data.length*d,g=Math.sqrt(_*_+f*f);if(n&&gy&&y>1e-4){var v=(g/y-1)*o+1;d*=v,a&&(m*=v)}}e.updateWorldTransformWith(e.ax,e.ay,e.arotation+p*o,d,m,e.ashearX,e.ashearY)},e.prototype.apply2=function(e,i,r,n,s,a,o,l){if(0!=l){e.appliedValid||e.updateAppliedTransform(),i.appliedValid||i.updateAppliedTransform();var h=e.ax,u=e.ay,c=e.ascaleX,_=c,f=e.ascaleY,p=i.ascaleX,d=0,m=0,y=0;c<0?(c=-c,d=180,y=-1):(d=0,y=1),f<0&&(f=-f,y=-y),p<0?(p=-p,m=180):m=0;var g=i.ax,v=0,b=0,S=0,A=e.a,C=e.b,x=e.c,T=e.d,w=Math.abs(c-f)<=1e-4;w?(b=A*g+C*(v=i.ay)+e.worldX,S=x*g+T*v+e.worldY):(v=0,b=A*g+e.worldX,S=x*g+e.worldY);var E=e.parent;A=E.a,C=E.b,x=E.c;var B,D,M=1/(A*(T=E.d)-C*x),P=b-E.worldX,R=S-E.worldY,I=(P*T-R*C)*M-h,O=(R*A-P*x)*M-u,F=Math.sqrt(I*I+O*O),L=i.data.length*p;if(F<1e-4)return this.apply1(e,r,n,!1,a,!1,l),void i.updateWorldTransformWith(g,v,0,i.ascaleX,i.ascaleY,i.ashearX,i.ashearY);var V=((P=r-E.worldX)*T-(R=n-E.worldY)*C)*M-h,k=(R*A-P*x)*M-u,N=V*V+k*k;if(0!=o){o*=c*(p+1)/2;var G=Math.sqrt(N),z=G-F-L*c+o;if(z>0){var U=Math.min(1,z/(2*o))-1;N=(V-=(U=(z-o*(1-U*U))/G)*V)*V+(k-=U*k)*k}}t:if(w){var H=(N-F*F-(L*=c)*L)/(2*F*L);H<-1?H=-1:H>1&&(H=1,a&&(_*=(Math.sqrt(N)/(F+L)-1)*l+1)),D=Math.acos(H)*s,A=F+L*H,C=L*Math.sin(D),B=Math.atan2(k*A-V*C,V*A+k*C)}else{var j=(A=c*L)*A,W=(C=f*L)*C,X=Math.atan2(k,V),Y=-2*W*F,q=W-j;if((T=Y*Y-4*q*(x=W*F*F+j*N-j*W))>=0){var J=Math.sqrt(T);Y<0&&(J=-J);var K=(J=-(Y+J)/2)/q,Z=x/J,Q=Math.abs(K)=-1&&x<=1&&(x=Math.acos(x),(T=(P=A*Math.cos(x)+F)*P+(R=C*Math.sin(x))*R)st&&(rt=x,st=T,nt=P,at=R)),N<=(et+st)/2?(B=X-Math.atan2(it*s,tt),D=$*s):(B=X-Math.atan2(at*s,nt),D=rt*s)}var ot=Math.atan2(v,g)*y,lt=e.arotation;(B=(B-ot)*t.MathUtils.radDeg+d-lt)>180?B-=360:B<-180&&(B+=360),e.updateWorldTransformWith(h,u,lt+B*l,_,e.ascaleY,0,0),lt=i.arotation,(D=((D+ot)*t.MathUtils.radDeg-i.ashearX)*y+m-lt)>180?D-=360:D<-180&&(D+=360),i.updateWorldTransformWith(g,v,lt+D*l,i.ascaleX,i.ascaleY,i.ashearX,i.ashearY)}else i.updateWorldTransform()},e}();t.IkConstraint=e}(qtt||(qtt={})),function(t){var e=function(t){function e(e){var i=t.call(this,e,0,!1)||this;return i.bones=new Array,i.bendDirection=1,i.compress=!1,i.stretch=!1,i.uniform=!1,i.mix=1,i.softness=0,i}return Jtt(e,t),e}(t.ConstraintData);t.IkConstraintData=e}(qtt||(qtt={})),function(t){var e=function(){function e(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 i=0,r=t.bones.length;i0;if(n>0||s){var a=this.data,o=a.spacingMode==t.SpacingMode.Percent,l=a.rotateMode,h=l==t.RotateMode.Tangent,u=l==t.RotateMode.ChainScale,c=this.bones.length,_=h?c:c+1,f=this.bones,p=t.Utils.setArraySize(this.spaces,_),d=null,m=this.spacing;if(u||!o){u&&(d=t.Utils.setArraySize(this.lengths,c));for(var y=a.spacingMode==t.SpacingMode.Length,g=0,v=_-1;g0?t.MathUtils.degRad:-t.MathUtils.degRad),g=0;for(var M=3;gt.MathUtils.PI?G-=t.MathUtils.PI2:G<-t.MathUtils.PI&&(G+=t.MathUtils.PI2),G*=r,z=Math.cos(G),U=Math.sin(G),P.a=z*L-U*k,P.b=z*V-U*N,P.c=U*L+z*k,P.d=U*V+z*N}P.appliedValid=!1}}}},e.prototype.computeWorldPositions=function(i,r,n,s,a){var o=this.target,l=this.position,h=this.spaces,u=t.Utils.setArraySize(this.positions,3*r+2),c=null,_=i.closed,f=i.worldVerticesLength,p=f/6,d=e.NONE;if(!i.constantSpeed){var m=i.lengths,y=m[p-=_?1:2];if(s&&(l*=y),a)for(var g=1;gy){d!=e.AFTER&&(d=e.AFTER,i.computeWorldVertices(o,f-6,4,c,0,2)),this.addAfterPosition(S-y,c,0,u,v);continue}}for(;;b++){var A=m[b];if(!(S>A)){0==b?S/=A:S=(S-(J=m[b-1]))/(A-J);break}}b!=d&&(d=b,_&&b==p?(i.computeWorldVertices(o,f-4,4,c,0,2),i.computeWorldVertices(o,0,4,c,4,2)):i.computeWorldVertices(o,6*b+2,8,c,0,2)),this.addCurvePosition(S,c[0],c[1],c[2],c[3],c[4],c[5],c[6],c[7],u,v,n||g>0&&0==W)}return u}_?(f+=2,c=t.Utils.setArraySize(this.world,f),i.computeWorldVertices(o,2,f-4,c,0,2),i.computeWorldVertices(o,0,2,c,f-4,2),c[f-2]=c[0],c[f-1]=c[1]):(p--,f-=4,c=t.Utils.setArraySize(this.world,f),i.computeWorldVertices(o,2,f,c,0,2));for(var C=t.Utils.setArraySize(this.curves,p),x=0,T=c[0],w=c[1],E=0,B=0,D=0,M=0,P=0,R=0,I=0,O=0,F=0,L=0,V=0,k=0,N=0,G=0,z=(g=0,2);gx){this.addAfterPosition(S-x,c,f-4,u,v);continue}}for(;;b++){var X=C[b];if(!(S>X)){0==b?S/=X:S=(S-(J=C[b-1]))/(X-J);break}}if(b!=d){d=b;var Y=6*b;for(T=c[Y],w=c[Y+1],E=c[Y+2],B=c[Y+3],D=c[Y+4],M=c[Y+5],V=2*(I=.03*(T-2*E+D))+(F=.006*(3*(E-D)-T+(P=c[Y+6]))),k=2*(O=.03*(w-2*B+M))+(L=.006*(3*(B-M)-w+(R=c[Y+7]))),N=.3*(E-T)+I+.16666667*F,G=.3*(B-w)+O+.16666667*L,H=Math.sqrt(N*N+G*G),U[0]=H,Y=1;Y<8;Y++)N+=V,G+=k,V+=F,k+=L,H+=Math.sqrt(N*N+G*G),U[Y]=H;N+=V,G+=k,H+=Math.sqrt(N*N+G*G),U[8]=H,N+=V+F,G+=k+L,H+=Math.sqrt(N*N+G*G),U[9]=H,j=0}for(S*=H;;j++){var q=U[j];if(!(S>q)){var J;0==j?S/=q:S=j+(S-(J=U[j-1]))/(q-J);break}}this.addCurvePosition(.1*S,T,w,E,B,D,M,P,R,u,v,n||g>0&&0==W)}return u},e.prototype.addBeforePosition=function(t,e,i,r,n){var s=e[i],a=e[i+1],o=e[i+2]-s,l=e[i+3]-a,h=Math.atan2(l,o);r[n]=s+t*Math.cos(h),r[n+1]=a+t*Math.sin(h),r[n+2]=h},e.prototype.addAfterPosition=function(t,e,i,r,n){var s=e[i+2],a=e[i+3],o=s-e[i],l=a-e[i+1],h=Math.atan2(l,o);r[n]=s+t*Math.cos(h),r[n+1]=a+t*Math.sin(h),r[n+2]=h},e.prototype.addCurvePosition=function(t,e,i,r,n,s,a,o,l,h,u,c){if(0==t||isNaN(t))return h[u]=e,h[u+1]=i,void(h[u+2]=Math.atan2(n-i,r-e));var _=t*t,f=_*t,p=1-t,d=p*p,m=d*p,y=p*t,g=3*y,v=p*g,b=g*t,S=e*m+r*v+s*b+o*f,A=i*m+n*v+a*b+l*f;h[u]=S,h[u+1]=A,c&&(h[u+2]=t<.001?Math.atan2(n-i,r-e):Math.atan2(A-(i*d+n*y*2+a*_),S-(e*d+r*y*2+s*_)))},e.NONE=-1,e.BEFORE=-2,e.AFTER=-3,e.epsilon=1e-5,e}();t.PathConstraint=e}(qtt||(qtt={})),function(t){var e,i,r,n=function(t){function e(e){var i=t.call(this,e,0,!1)||this;return i.bones=new Array,i}return Jtt(e,t),e}(t.ConstraintData);t.PathConstraintData=n,(r=t.PositionMode||(t.PositionMode={}))[r.Fixed=0]="Fixed",r[r.Percent=1]="Percent",(i=t.SpacingMode||(t.SpacingMode={}))[i.Length=0]="Length",i[i.Fixed=1]="Fixed",i[i.Percent=2]="Percent",(e=t.RotateMode||(t.RotateMode={}))[e.Tangent=0]="Tangent",e[e.Chain=1]="Chain",e[e.ChainScale=2]="ChainScale"}(qtt||(qtt={})),function(t){var e=function(){function t(t){this.toLoad=new Array,this.assets={},this.clientId=t}return t.prototype.loaded=function(){var t=0;for(var e in this.assets)t++;return t},t}(),i=function(){function t(t){void 0===t&&(t=""),this.clientAssets={},this.queuedAssets={},this.rawAssets={},this.errors={},this.pathPrefix=t}return t.prototype.queueAsset=function(t,i,r){var n=this.clientAssets[t];return null==n&&(n=new e(t),this.clientAssets[t]=n),null!==i&&(n.textureLoader=i),n.toLoad.push(r),this.queuedAssets[r]!==r&&(this.queuedAssets[r]=r,!0)},t.prototype.loadText=function(t,e){var i=this;if(e=this.pathPrefix+e,this.queueAsset(t,null,e)){var r=new XMLHttpRequest;r.onreadystatechange=function(){r.readyState==XMLHttpRequest.DONE&&(r.status>=200&&r.status<300?i.rawAssets[e]=r.responseText:i.errors[e]="Couldn't load text "+e+": status "+r.status+", "+r.responseText)},r.open("GET",e,!0),r.send()}},t.prototype.loadJson=function(t,e){var i=this;if(e=this.pathPrefix+e,this.queueAsset(t,null,e)){var r=new XMLHttpRequest;r.onreadystatechange=function(){r.readyState==XMLHttpRequest.DONE&&(r.status>=200&&r.status<300?i.rawAssets[e]=JSON.parse(r.responseText):i.errors[e]="Couldn't load text "+e+": status "+r.status+", "+r.responseText)},r.open("GET",e,!0),r.send()}},t.prototype.loadTexture=function(t,e,i){var r=this;if(i=this.pathPrefix+i,this.queueAsset(t,e,i)){var n=new Image;n.src=i,n.crossOrigin="anonymous",n.onload=function(){r.rawAssets[i]=n},n.onerror=function(){r.errors[i]="Couldn't load image "+i}}},t.prototype.get=function(t,e){e=this.pathPrefix+e;var i=this.clientAssets[t];return null==i||i.assets[e]},t.prototype.updateClientAssets=function(t){for(var e=0;e0},t.prototype.getErrors=function(){return this.errors},t}();t.SharedAssetManager=i}(qtt||(qtt={})),function(t){var e=function(){function e(e){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==e)throw new Error("data cannot be null.");this.data=e,this.bones=new Array;for(var i=0;i1){var s=r[r.length-1];this._updateCache.indexOf(s)>-1||this.updateCacheReset.push(s)}this._updateCache.push(e),this.sortReset(n.children),r[r.length-1].sorted=!0}},e.prototype.sortPathConstraint=function(e){if(e.active=e.target.bone.isActive()&&(!e.data.skinRequired||null!=this.skin&&t.Utils.contains(this.skin.constraints,e.data,!0)),e.active){var i=e.target,r=i.data.index,n=i.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 s=0,a=this.data.skins.length;s-1||this.updateCacheReset.push(s)}else for(n=0;n0){b=new t.DrawOrderTimeline(L);var V=n.slots.length;for(u=0;u=0;f--)N[f]=-1;var G=t.Utils.newArray(V-k,0),z=0,U=0;for(f=0;f=0;f--)-1==N[f]&&(N[f]=G[--U]);b.setFrame(u,g,N)}s.push(b),o=Math.max(o,b.frames[L-1])}var H=i.readInt(!0);if(H>0){for(b=new t.EventTimeline(H),u=0;u>>1^-(1&i)},t.prototype.readStringRef=function(){var t=this.readInt(!0);return 0==t?null:this.strings[t-1]},t.prototype.readString=function(){var t=this.readInt(!0);switch(t){case 0:return null;case 1:return""}t--;for(var e="",i=0;i>4){case 12:case 13:e+=String.fromCharCode((31&r)<<6|63&this.readByte()),i+=2;break;case 14:e+=String.fromCharCode((15&r)<<12|(63&this.readByte())<<6|63&this.readByte()),i+=3;break;default:e+=String.fromCharCode(r),i++}}return e},t.prototype.readFloat=function(){var t=this.buffer.getFloat32(this.index);return this.index+=4,t},t.prototype.readBoolean=function(){return 0!=this.readByte()},t}(),r=function(t,e,i,r,n){this.mesh=t,this.skin=e,this.slotIndex=i,this.parent=r,this.inheritDeform=n},n=function(t,e){void 0===t&&(t=null),void 0===e&&(e=null),this.bones=t,this.vertices=e}}(qtt||(qtt={})),function(t){var e=function(){function e(){this.minX=0,this.minY=0,this.maxX=0,this.maxY=0,this.boundingBoxes=new Array,this.polygons=new Array,this.polygonPool=new t.Pool((function(){return t.Utils.newFloatArray(16)}))}return e.prototype.update=function(e,i){if(null==e)throw new Error("skeleton cannot be null.");var r=this.boundingBoxes,n=this.polygons,s=this.polygonPool,a=e.slots,o=a.length;r.length=0,s.freeAll(n),n.length=0;for(var l=0;l=this.minX&&t<=this.maxX&&e>=this.minY&&e<=this.maxY},e.prototype.aabbIntersectsSegment=function(t,e,i,r){var n=this.minX,s=this.minY,a=this.maxX,o=this.maxY;if(t<=n&&i<=n||e<=s&&r<=s||t>=a&&i>=a||e>=o&&r>=o)return!1;var l=(r-e)/(i-t),h=l*(n-t)+e;if(h>s&&hs&&hn&&un&&ut.minX&&this.minYt.minY},e.prototype.containsPoint=function(t,e){for(var i=this.polygons,r=0,n=i.length;r=i||h=i){var u=r[o];u+(i-l)/(h-l)*(r[s]-u)=u&&v<=f||v>=f&&v<=u)&&(v>=e&&v<=r||v>=r&&v<=e)){var b=(h*y-l*d)/g;if((b>=c&&b<=p||b>=p&&b<=c)&&(b>=i&&b<=n||b>=n&&b<=i))return!0}u=f,c=p}return!1},e.prototype.getPolygon=function(t){if(null==t)throw new Error("boundingBox cannot be null.");var e=this.boundingBoxes.indexOf(t);return-1==e?null:this.polygons[e]},e.prototype.getWidth=function(){return this.maxX-this.minX},e.prototype.getHeight=function(){return this.maxY-this.minY},e}();t.SkeletonBounds=e}(qtt||(qtt={})),function(t){var e=function(){function e(){this.triangulator=new t.Triangulator,this.clippingPolygon=new Array,this.clipOutput=new Array,this.clippedVertices=new Array,this.clippedTriangles=new Array,this.scratch=new Array}return e.prototype.clipStart=function(i,r){if(null!=this.clipAttachment)return 0;this.clipAttachment=r;var n=r.worldVerticesLength,s=t.Utils.setArraySize(this.clippingPolygon,n);r.computeWorldVertices(i,0,n,s,0,2);var a=this.clippingPolygon;e.makeClockwise(a);for(var o=this.clippingPolygons=this.triangulator.decompose(a,this.triangulator.triangulate(a)),l=0,h=o.length;l>1,U=this.clipOutput,H=t.Utils.setArraySize(f,O+z*y),j=0;j=2?(u=o,o=this.scratch):u=this.scratch,u.length=0,u.push(t),u.push(e),u.push(i),u.push(r),u.push(n),u.push(s),u.push(t),u.push(e),o.length=0;for(var c=a,_=a.length-4,f=0;;f+=2){for(var p=c[f],d=c[f+1],m=c[f+2],y=c[f+3],g=p-m,v=d-y,b=u,S=u.length-2,A=o.length,C=0;C0;if(g*(T-y)-v*(x-m)>0){if(B){o.push(w),o.push(E);continue}var D=(P=E-T)*(m-p)-(R=w-x)*(y-d);if(Math.abs(D)>1e-6){var M=(R*(d-T)-P*(p-x))/D;o.push(p+(m-p)*M),o.push(d+(y-d)*M)}else o.push(p),o.push(d)}else if(B){var P,R;D=(P=E-T)*(m-p)-(R=w-x)*(y-d),Math.abs(D)>1e-6?(M=(R*(d-T)-P*(p-x))/D,o.push(p+(m-p)*M),o.push(d+(y-d)*M)):(o.push(p),o.push(d)),o.push(w),o.push(E)}h=!0}if(A==o.length)return l.length=0,!0;if(o.push(o[0]),o.push(o[1]),f==_)break;var I=o;(o=u).length=0,u=I}if(l!=o){l.length=0,f=0;for(var O=o.length-2;f>1;o=0;_--)-1==X[_]&&(X[_]=q[--K])}b.setFrame(c++,this.getValue(W,"time",0),X)}s.push(b),a=Math.max(a,b.frames[b.getFrameCount()-1])}if(e.events){for(b=new t.EventTimeline(e.events.length),c=0,_=0;_=r.length&&(r.length=t+1),r[t]||(r[t]={}),r[t][e]=i},i.prototype.addSkin=function(t){for(var e=0;e= 0.");if(null==i)throw new Error("name cannot be null.");if(null==r)throw new Error("boneData cannot be null.");this.index=e,this.name=i,this.boneData=r}}(qtt||(qtt={})),function(t){var e,i,r=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 e.Nearest;case"linear":return e.Linear;case"mipmap":return e.MipMap;case"mipmapnearestnearest":return e.MipMapNearestNearest;case"mipmaplinearnearest":return e.MipMapLinearNearest;case"mipmapnearestlinear":return e.MipMapNearestLinear;case"mipmaplinearlinear":return e.MipMapLinearLinear;default:throw new Error("Unknown texture filter "+t)}},t.wrapFromString=function(t){switch(t.toLowerCase()){case"mirroredtepeat":return i.MirroredRepeat;case"clamptoedge":return i.ClampToEdge;case"repeat":return i.Repeat;default:throw new Error("Unknown texture wrap "+t)}},t}();t.Texture=r,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"}(e=t.TextureFilter||(t.TextureFilter={})),function(t){t[t.MirroredRepeat=33648]="MirroredRepeat",t[t.ClampToEdge=33071]="ClampToEdge",t[t.Repeat=10497]="Repeat"}(i=t.TextureWrap||(t.TextureWrap={}));t.TextureRegion=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};var n=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Jtt(e,t),e.prototype.setFilters=function(){},e.prototype.setWraps=function(){},e.prototype.dispose=function(){},e}(r);t.FakeTexture=n}(qtt||(qtt={})),function(t){var e=function(){function e(t,e){this.pages=new Array,this.regions=new Array,this.load(t,e)}return e.prototype.load=function(e,s){if(null==s)throw new Error("textureLoader cannot be null.");for(var a=new i(e),o=new Array(4),l=null;;){var h=a.readLine();if(null==h)break;if(0==(h=h.trim()).length)l=null;else if(l){var u=new n;u.name=h,u.page=l;var c=a.readValue();"true"==c.toLocaleLowerCase()?u.degrees=90:"false"==c.toLocaleLowerCase()?u.degrees=0:u.degrees=parseFloat(c),u.rotate=90==u.degrees,a.readTuple(o);var _=parseInt(o[0]),f=parseInt(o[1]);a.readTuple(o);var p=parseInt(o[0]),d=parseInt(o[1]);u.u=_/l.width,u.v=f/l.height,u.rotate?(u.u2=(_+d)/l.width,u.v2=(f+p)/l.height):(u.u2=(_+p)/l.width,u.v2=(f+d)/l.height),u.x=_,u.y=f,u.width=Math.abs(p),u.height=Math.abs(d),4==a.readTuple(o)&&4==a.readTuple(o)&&a.readTuple(o),u.originalWidth=parseInt(o[0]),u.originalHeight=parseInt(o[1]),a.readTuple(o),u.offsetX=parseInt(o[0]),u.offsetY=parseInt(o[1]),u.index=parseInt(a.readValue()),u.texture=l.texture,this.regions.push(u)}else{(l=new r).name=h,2==a.readTuple(o)&&(l.width=parseInt(o[0]),l.height=parseInt(o[1]),a.readTuple(o)),a.readTuple(o),l.minFilter=t.Texture.filterFromString(o[0]),l.magFilter=t.Texture.filterFromString(o[1]);var m=a.readValue();l.uWrap=t.TextureWrap.ClampToEdge,l.vWrap=t.TextureWrap.ClampToEdge,"x"==m?l.uWrap=t.TextureWrap.Repeat:"y"==m?l.vWrap=t.TextureWrap.Repeat:"xy"==m&&(l.uWrap=l.vWrap=t.TextureWrap.Repeat),l.texture=s(h),l.texture.setFilters(l.minFilter,l.magFilter),l.texture.setWraps(l.uWrap,l.vWrap),l.width=l.texture.getImage().width,l.height=l.texture.getImage().height,this.pages.push(l)}}},e.prototype.findRegion=function(t){for(var e=0;e=this.lines.length?null:this.lines[this.index++]},t.prototype.readValue=function(){var t=this.readLine(),e=t.indexOf(":");if(-1==e)throw new Error("Invalid line: "+t);return t.substring(e+1).trim()},t.prototype.readTuple=function(t){var e=this.readLine(),i=e.indexOf(":");if(-1==i)throw new Error("Invalid line: "+e);for(var r=0,n=i+1;r<3;r++){var s=e.indexOf(",",n);if(-1==s)break;t[r]=e.substr(n,s-n).trim(),n=s+1}return t[r]=e.substring(n).trim(),r+1},t}(),r=function(){};t.TextureAtlasPage=r;var n=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Jtt(e,t),e}(t.TextureRegion);t.TextureAtlasRegion=n}(qtt||(qtt={})),function(t){var e=function(){function e(e,i){if(this.rotateMix=0,this.translateMix=0,this.scaleMix=0,this.shearMix=0,this.temp=new t.Vector2,this.active=!1,null==e)throw new Error("data cannot be null.");if(null==i)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 r=0;r0?t.MathUtils.degRad:-t.MathUtils.degRad,c=this.data.offsetRotation*u,_=this.data.offsetShearY*u,f=this.bones,p=0,d=f.length;pt.MathUtils.PI?E-=t.MathUtils.PI2:E<-t.MathUtils.PI&&(E+=t.MathUtils.PI2),E*=e;var A=Math.cos(E),C=Math.sin(E);m.a=A*g-C*b,m.b=A*v-C*S,m.c=C*g+A*b,m.d=C*v+A*S,y=!0}if(0!=i){var x=this.temp;s.localToWorld(x.set(this.data.offsetX,this.data.offsetY)),m.worldX+=(x.x-m.worldX)*i,m.worldY+=(x.y-m.worldY)*i,y=!0}if(r>0){var T=Math.sqrt(m.a*m.a+m.c*m.c),w=Math.sqrt(a*a+l*l);T>1e-5&&(T=(T+(w-T+this.data.offsetScaleX)*r)/T),m.a*=T,m.c*=T,T=Math.sqrt(m.b*m.b+m.d*m.d),w=Math.sqrt(o*o+h*h),T>1e-5&&(T=(T+(w-T+this.data.offsetScaleY)*r)/T),m.b*=T,m.d*=T,y=!0}if(n>0){v=m.b,S=m.d;var E,B=Math.atan2(S,v);(E=Math.atan2(h,o)-Math.atan2(l,a)-(B-Math.atan2(m.c,m.a)))>t.MathUtils.PI?E-=t.MathUtils.PI2:E<-t.MathUtils.PI&&(E+=t.MathUtils.PI2),E=B+(E+_)*n,T=Math.sqrt(v*v+S*S),m.b=Math.cos(E)*T,m.d=Math.sin(E)*T,y=!0}y&&(m.appliedValid=!1)}},e.prototype.applyRelativeWorld=function(){for(var e=this.rotateMix,i=this.translateMix,r=this.scaleMix,n=this.shearMix,s=this.target,a=s.a,o=s.b,l=s.c,h=s.d,u=a*h-o*l>0?t.MathUtils.degRad:-t.MathUtils.degRad,c=this.data.offsetRotation*u,_=this.data.offsetShearY*u,f=this.bones,p=0,d=f.length;pt.MathUtils.PI?m-=t.MathUtils.PI2:m<-t.MathUtils.PI&&(m+=t.MathUtils.PI2),m*=e;var C=Math.cos(m),x=Math.sin(m);y.a=C*v-x*S,y.b=C*b-x*A,y.c=x*v+C*S,y.d=x*b+C*A,g=!0}if(0!=i){var T=this.temp;s.localToWorld(T.set(this.data.offsetX,this.data.offsetY)),y.worldX+=T.x*i,y.worldY+=T.y*i,g=!0}if(r>0){var w=(Math.sqrt(a*a+l*l)-1+this.data.offsetScaleX)*r+1;y.a*=w,y.c*=w,w=(Math.sqrt(o*o+h*h)-1+this.data.offsetScaleY)*r+1,y.b*=w,y.d*=w,g=!0}if(n>0)(m=Math.atan2(h,o)-Math.atan2(l,a))>t.MathUtils.PI?m-=t.MathUtils.PI2:m<-t.MathUtils.PI&&(m+=t.MathUtils.PI2),b=y.b,A=y.d,m=Math.atan2(A,b)+(m-t.MathUtils.PI/2+_)*n,w=Math.sqrt(b*b+A*A),y.b=Math.cos(m)*w,y.d=Math.sin(m)*w,g=!0;g&&(y.appliedValid=!1)}},e.prototype.applyAbsoluteLocal=function(){var t=this.rotateMix,e=this.translateMix,i=this.scaleMix,r=this.shearMix,n=this.target;n.appliedValid||n.updateAppliedTransform();for(var s=this.bones,a=0,o=s.length;a1e-5&&(f=(f+(n.ascaleX-f+this.data.offsetScaleX)*i)/f),p>1e-5&&(p=(p+(n.ascaleY-p+this.data.offsetScaleY)*i)/p));var d=l.ashearY;0!=r&&(u=n.ashearY-d+this.data.offsetShearY,u-=360*(16384-(16384.499999999996-u/360|0)),l.shearY+=u*r),l.updateWorldTransformWith(c,_,h,f,p,l.ashearX,d)}},e.prototype.applyRelativeLocal=function(){var t=this.rotateMix,e=this.translateMix,i=this.scaleMix,r=this.shearMix,n=this.target;n.appliedValid||n.updateAppliedTransform();for(var s=this.bones,a=0,o=s.length;a1e-5&&(_*=(n.ascaleX-1+this.data.offsetScaleX)*i+1),f>1e-5&&(f*=(n.ascaleY-1+this.data.offsetScaleY)*i+1));var p=l.ashearY;0!=r&&(p+=(n.ashearY+this.data.offsetShearY)*r),l.updateWorldTransformWith(u,c,h,_,f,l.ashearX,p)}},e}();t.TransformConstraint=e}(qtt||(qtt={})),function(t){var e=function(t){function e(e){var i=t.call(this,e,0,!1)||this;return i.bones=new Array,i.rotateMix=0,i.translateMix=0,i.scaleMix=0,i.shearMix=0,i.offsetRotation=0,i.offsetX=0,i.offsetY=0,i.offsetScaleX=0,i.offsetScaleY=0,i.offsetShearY=0,i.relative=!1,i.local=!1,i}return Jtt(e,t),e}(t.ConstraintData);t.TransformConstraintData=e}(qtt||(qtt={})),function(t){var e=function(){function e(){this.convexPolygons=new Array,this.convexPolygonsIndices=new Array,this.indicesArray=new Array,this.isConcaveArray=new Array,this.triangles=new Array,this.polygonPool=new t.Pool((function(){return new Array})),this.polygonIndicesPool=new t.Pool((function(){return new Array}))}return e.prototype.triangulate=function(t){var i=t,r=t.length>>1,n=this.indicesArray;n.length=0;for(var s=0;s3;){for(var h=r-1,u=(s=0,1);;){t:if(!a[s]){for(var c=n[h]<<1,_=n[s]<<1,f=n[u]<<1,p=i[c],d=i[c+1],m=i[_],y=i[_+1],g=i[f],v=i[f+1],b=(u+1)%r;b!=h;b=(b+1)%r)if(a[b]){var S=n[b]<<1,A=i[S],C=i[S+1];if(e.positiveArea(g,v,p,d,A,C)&&e.positiveArea(p,d,m,y,A,C)&&e.positiveArea(m,y,g,v,A,C))break t}break}if(0==u){do{if(!a[s])break;s--}while(s>0);break}h=s,s=u,u=(u+1)%r}l.push(n[(r+s-1)%r]),l.push(n[s]),l.push(n[(s+1)%r]),n.splice(s,1),a.splice(s,1);var x=(--r+s-1)%r,T=s==r?0:s;a[x]=e.isConcave(x,r,i,n),a[T]=e.isConcave(T,r,i,n)}return 3==r&&(l.push(n[2]),l.push(n[0]),l.push(n[1])),l},e.prototype.decompose=function(t,i){var r=t,n=this.convexPolygons;this.polygonPool.freeAll(n),n.length=0;var s=this.convexPolygonsIndices;this.polygonIndicesPool.freeAll(s),s.length=0;var a=this.polygonIndicesPool.obtain();a.length=0;var o=this.polygonPool.obtain();o.length=0;for(var l=-1,h=0,u=0,c=i.length;u0?(n.push(o),s.push(a)):(this.polygonPool.free(o),this.polygonIndicesPool.free(a)),(o=this.polygonPool.obtain()).length=0,o.push(d),o.push(m),o.push(y),o.push(g),o.push(v),o.push(b),(a=this.polygonIndicesPool.obtain()).length=0,a.push(_),a.push(f),a.push(p),h=e.winding(d,m,y,g,v,b),l=_)}for(o.length>0&&(n.push(o),s.push(a)),u=0,c=n.length;u=0;u--)0==(o=n[u]).length&&(n.splice(u,1),this.polygonPool.free(o),a=s[u],s.splice(u,1),this.polygonIndicesPool.free(a));return n},e.isConcave=function(t,e,i,r){var n=r[(e+t-1)%e]<<1,s=r[t]<<1,a=r[(t+1)%e]<<1;return!this.positiveArea(i[n],i[n+1],i[s],i[s+1],i[a],i[a+1])},e.positiveArea=function(t,e,i,r,n,s){return t*(s-r)+i*(e-s)+n*(r-e)>=0},e.winding=function(t,e,i,r,n,s){var a=i-t,o=r-e;return n*o-s*a+a*e-t*o>=0?1:-1},e}();t.Triangulator=e}(qtt||(qtt={})),function(t){var e=function(){function t(){this.array=new Array}return t.prototype.add=function(t){var e=this.contains(t);return this.array[0|t]=0|t,!e},t.prototype.contains=function(t){return null!=this.array[0|t]},t.prototype.remove=function(t){this.array[0|t]=void 0},t.prototype.clear=function(){this.array.length=0},t}();t.IntSet=e;var i=function(){function t(t,e,i,r){void 0===t&&(t=0),void 0===e&&(e=0),void 0===i&&(i=0),void 0===r&&(r=0),this.r=t,this.g=e,this.b=i,this.a=r}return t.prototype.set=function(t,e,i,r){return this.r=t,this.g=e,this.b=i,this.a=r,this.clamp(),this},t.prototype.setFromColor=function(t){return this.r=t.r,this.g=t.g,this.b=t.b,this.a=t.a,this},t.prototype.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},t.prototype.add=function(t,e,i,r){return this.r+=t,this.g+=e,this.b+=i,this.a+=r,this.clamp(),this},t.prototype.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.WHITE=new t(1,1,1,1),t.RED=new t(1,0,0,1),t.GREEN=new t(0,1,0,1),t.BLUE=new t(0,0,1,1),t.MAGENTA=new t(1,0,1,1),t}();t.Color=i;var r=function(){function t(){}return t.clamp=function(t,e,i){return ti?i: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,i){return t.randomTriangularWith(e,i,.5*(e+i))},t.randomTriangularWith=function(t,e,i){var r=Math.random(),n=e-t;return r<=(i-t)/n?t+Math.sqrt(r*n*(i-t)):e-Math.sqrt((1-r)*n*(e-i))},t.PI=3.1415927,t.PI2=2*t.PI,t.radiansToDegrees=180/t.PI,t.radDeg=t.radiansToDegrees,t.degreesToRadians=t.PI/180,t.degRad=t.degreesToRadians,t}();t.MathUtils=r;var n=function(){function t(){}return t.prototype.apply=function(t,e,i){return t+(e-t)*this.applyInternal(i)},t}();t.Interpolation=n;var s=function(t){function e(e){var i=t.call(this)||this;return i.power=2,i.power=e,i}return Jtt(e,t),e.prototype.applyInternal=function(t){return t<=.5?Math.pow(2*t,this.power)/2:Math.pow(2*(t-1),this.power)/(this.power%2==0?-2:2)+1},e}(n);t.Pow=s;var a=function(t){function e(e){return t.call(this,e)||this}return Jtt(e,t),e.prototype.applyInternal=function(t){return Math.pow(t-1,this.power)*(this.power%2==0?-1:1)+1},e}(s);t.PowOut=a;var o=function(){function t(){}return t.arrayCopy=function(t,e,i,r,n){for(var s=e,a=r;s=i?e:t.setArraySize(e,i,r)},t.newArray=function(t,e){for(var i=new Array(t),r=0;r0?this.items.pop():this.instantiator()},t.prototype.free=function(t){t.reset&&t.reset(),this.items.push(t)},t.prototype.freeAll=function(t){for(var e=0;ethis.maxDelta&&(this.delta=this.maxDelta),this.lastTime=t,this.frameCount++,this.frameTime>1&&(this.framesPerSecond=this.frameCount/this.frameTime,this.frameTime=0,this.frameCount=0)},t}();t.TimeKeeper=c;var _=function(){function t(t){void 0===t&&(t=32),this.addedValues=0,this.lastValue=0,this.mean=0,this.dirty=!0,this.values=new Array(t)}return t.prototype.hasEnoughData=function(){return this.addedValues>=this.values.length},t.prototype.addValue=function(t){this.addedValuesthis.values.length-1&&(this.lastValue=0),this.dirty=!0},t.prototype.getMean=function(){if(this.hasEnoughData()){if(this.dirty){for(var t=0,e=0;e>1)*s;var a=t.bone.skeleton,o=t.deform,l=this.vertices,h=this.bones;if(null!=h){for(var u=0,c=0,_=0;_0&&(l=o);for(var b,S=(b=t.bone).worldX,A=b.worldY,C=b.a,x=b.b,T=b.c,w=b.d,E=e,B=n;B>>0)+(Aet.b<<16)+(Aet.g<<8)+Aet.r,eet=(Cet.a<<24>>>0)+(Cet.b<<16)+(Cet.g<<8)+Cet.r,yet!==tet||get!==eet){var s=this._tempColors;yet=tet,get=eet,met>0&&(s[met-1].vfOffset=uet),s[met++]={fr:Aet.r,fg:Aet.g,fb:Aet.b,fa:Aet.a,dr:Cet.r,dg:Cet.g,db:Cet.b,da:Cet.a,vfOffset:0}}if(r.isClipping()){r.clipTriangles(set,vet,aet,bet,set,Aet,Cet,!0,6,uet,uet+2);var a=r.clippedVertices,o=r.clippedTriangles;bet=o.length,vet=a.length/12*6;for(var l=0,h=het,u=o.length;l0&&(s[met-1].vfOffset=uet),s.length=met,a.length=oet;var o=det-1;if(o>=0)if(pet>0){var l=n[o];l.indexCount=pet,l.vfCount=13*fet,l.vertexCount=fet,n.length=det}else n.length=det-1;if(0!==n.length){var h=r.vertices,u=uet/6*13;(!h||h.length=0&&(pet>0?((c=p[u]).indexCount=pet,c.vertexCount=fet,c.vfCount=13*fet):det--),p[det]={tex:h,blendMode:_,indexCount:0,vertexCount:0,vfCount:0},det++,pet=0,fet=0),o)a=xet,vet=24,bet=6,i.computeWorldVertices(f.bone,set,uet,6);else if(l){var x=i;a=x.triangles,vet=6*(x.worldVerticesLength>>1),bet=a.length,x.computeWorldVertices(f,0,x.worldVerticesLength,set,uet,6)}if(0!==vet&&0!==bet){for(var T=0,w=het,E=a.length;T0){for(var P=het,R=het+bet;P>8&255)/255,e[i+2]=(t>>16&255)/255,e[i+3]=(t>>24&255)/255},t}(),wet=function(){function t(){this._privateMode=void 0,this._skeletonCache=void 0,this._animationPool=void 0,this._privateMode=!1,this._animationPool={},this._skeletonCache={}}var e=t.prototype;return e.enablePrivateMode=function(){this._privateMode=!0},e.clear=function(){this._animationPool={},this._skeletonCache={}},e.removeSkeleton=function(t){var e=this._skeletonCache[t];if(e){var i=e.animationsCache;for(var r in i){var n=i[r];n&&(this._animationPool[t+"#"+r]=n,n.clear())}delete this._skeletonCache[t]}},e.getSkeletonCache=function(t,e){var i=this._skeletonCache[t];if(!i){var r=new iet.Skeleton(e),n=new iet.SkeletonClipping,s=new iet.AnimationStateData(r.data),a=new iet.AnimationState(s),o=new ret;a.addListener(o),this._skeletonCache[t]=i={skeleton:r,clipper:n,state:a,listener:o,animationsCache:{},curAnimationCache:null}}return i},e.getAnimationCache=function(t,e){var i=this._skeletonCache[t];return i?i.animationsCache[e]:null},e.invalidAnimationCache=function(t){var e=this._skeletonCache[t];if(e&&e.skeleton){var i=e.animationsCache;for(var r in i)i[r].invalidAllFrame()}},e.initAnimationCache=function(t,e){if(!e)return null;var i=this._skeletonCache[t],r=i&&i.skeleton;if(!r)return null;if(!r.data.findAnimation(e))return null;var n=i.animationsCache,s=n[e];if(!s){var a=t+"#"+e;(s=this._animationPool[a])?delete this._animationPool[a]:(s=new Tet)._privateMode=this._privateMode,s.init(i,e),n[e]=s}return s},e.updateAnimationCache=function(t,e){if(e){var i=this.initAnimationCache(t,e);if(!i)return null;i.updateAllFrame()}else{var r=this._skeletonCache[t];if(!r||!r.skeleton)return;var n=r.animationsCache;for(var s in n)n[s].updateAllFrame()}},t}();wet.FrameTime=net,wet.sharedCache=new wet;var Eet,Bet,Det,Met,Pet,Ret,Iet,Oet,Fet,Let,Vet,ket=new Ri,Net=function(){function t(){this._inited=!1,this._skeleton=null,this._skeletonNode=null,this._skeletonComp=null,this._inited=!1,this._skeleton=null,this._skeletonNode=null,this._skeletonComp=null}var e=t.prototype;return e.init=function(t){this._inited=!0,this._skeleton=t._skeleton,this._skeletonNode=t.node,this._skeletonComp=t},e.reset=function(){this._inited=!1,this._skeleton=null,this._skeletonNode=null,this._skeletonComp=null},e._syncAttachedNode=function(){var t=this;if(this._inited){var e=this._skeletonComp.socketNodes;if(0!==e.size){var i;if(i=this._skeletonComp.isAnimationCached()?this._skeletonComp._curFrame&&this._skeletonComp._curFrame.boneInfos:this._skeleton.bones)for(var r,n=function(e,i){var r=ket;r.m00=i.a,r.m01=i.c,r.m04=i.b,r.m05=i.d,r.m12=i.worldX,r.m13=i.worldY,e.matrix=ket,e.scale=t._skeletonNode.scale},s=Fe(e.keys());!(r=s()).done;){var a=r.value,o=e.get(a);if(o&&o.isValid){var l=i[a];l?n(o,l):(o.removeFromParent(),o.destroy(),e.delete(a))}else e.delete(a)}}}},t}(),Get=function(t){function e(e){var i;return(i=t.call(this,e)||this).name="sp.SkeletonTexture",i._texture=null,i._material=null,i}Me(e,t);var i=e.prototype;return i.setRealTexture=function(t){this._texture=t},i.getRealTexture=function(){return this._texture?this._texture instanceof Ye?this._texture._texture:this._texture:null},i.setFilters=function(t,e){this._texture&&this.getRealTexture().setFilters(zet(t),zet(e))},i.setWraps=function(t,e){this._texture&&this.getRealTexture().setWrapMode(Uet(t),Uet(e))},i.dispose=function(){},e}(iet.Texture);function zet(t){switch(t){case iet.TextureFilter.Nearest:case iet.TextureFilter.MipMapNearestNearest:case iet.TextureFilter.MipMapLinearNearest:return _r.NEAREST;case iet.TextureFilter.MipMap:case iet.TextureFilter.MipMapNearestLinear:case iet.TextureFilter.MipMapLinearLinear:case iet.TextureFilter.Linear:default:return _r.LINEAR}}function Uet(t){switch(t){case iet.TextureWrap.MirroredRepeat:return In.MIRRORED_REPEAT;case iet.TextureWrap.ClampToEdge:return In.CLAMP_TO_EDGE;case iet.TextureWrap.Repeat:default:return In.REPEAT}}var Het,jet,Wet,Xet,Yet,qet,Jet,Ket,Zet,Qet,$et,tit,eit,iit,rit,nit,sit,ait,oit,lit,hit,uit,cit,_it,fit,pit,dit,mit,yit,git,vit,bit,Sit,Ait,Cit,xit,Tit,wit,Eit,Bit,Dit,Mit,Pit,Rit,Iit,Oit,Fit,Lit,Vit,kit,Nit,Git,zit,Uit,Hit,jit,Wit,Xit=(Eet=ri("sp.SkeletonData"),Bet=bi([qe]),Det=bi([Fi]),Eet((Vet=function(t){function e(){var e;return e=t.call(this)||this,li(e,"_skeletonJson",Ret,hi(e)),li(e,"textures",Iet,hi(e)),li(e,"textureNames",Oet,hi(e)),li(e,"scale",Fet,hi(e)),li(e,"_atlasText",Let,hi(e)),e._buffer=void 0,e._skeletonCache=null,e._atlasCache=null,e._skinsEnum=null,e._animsEnum=null,e.reset(),e}Me(e,t);var i=e.prototype;return i.createNode=function(t){var e=new ur(this.name);return e.addComponent("cc.Skeleton").skeletonData=this,t(null,e)},i.reset=function(){this._skeletonCache=null,this._atlasCache=null},i.resetEnums=function(){},i.ensureTexturesLoaded=function(t,e){var i=this.textures,r=i.length;if(0!==r)for(var n=0,s=function(){++n>=r&&(t&&t.call(e,!0),t=null)},a=0;a0)&&this.textureNames&&this.textureNames.length>0)return t||console.error(this.name+" no textures found!"),null;var e=this._getAtlas(t);if(!e)return null;var i=new iet.AtlasAttachmentLoader(e),r=null,n=null;return this.skeletonJson?(n=new iet.SkeletonJson(i),r=this.skeletonJson):(n=new iet.SkeletonBinary(i),r=new Uint8Array(this._nativeAsset)),n.scale=this.scale,this._skeletonCache=n.readSkeletonData(r),e.dispose(),this._skeletonCache},i.getSkinsEnum=function(){if(this._skinsEnum)return this._skinsEnum;var t=this.getRuntimeData(!0);if(t){for(var e=t.skins,i={},r=0;r1)return this._animsEnum;var t=this.getRuntimeData(!0);if(t){for(var e={"":0},i=t.animations,r=0;r"]=0]=""}(Hit||(Hit={})),Pr(Hit),function(t){t[t.REALTIME=0]="REALTIME",t[t.SHARED_CACHE=1]="SHARED_CACHE",t[t.PRIVATE_CACHE=2]="PRIVATE_CACHE"}(jit||(jit={})),Pr(jit),function(t){t[t.COLORED_TEXTURED=0]="COLORED_TEXTURED",t[t.TWO_COLORED=1]="TWO_COLORED"}(Wit||(Wit={}));var qit=(Het=ri("sp.Skeleton.SpineSocket"),jet=bi(ur),Het((Yet=oi((Xet=function(t,e){void 0===t&&(t=""),void 0===e&&(e=null),li(this,"path",Yet,this),li(this,"target",qet,this),this.path=t,this.target=e}).prototype,"path",[_i,vi],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return""}}),qet=oi(Xet.prototype,"target",[jet,vi,_i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return null}}),Wet=Xet))||Wet);Li.setClassAlias(qit,"sp.Skeleton.SpineSocket");var Jit=(Jet=ri("sp.Skeleton"),Ket=wi(),Zet=Bi(),Qet=bi(cr),$et=Mr(),tit=Ir(),eit=Mi(),iit=bi(Xit),rit=Ir(),nit=bi(Uit),sit=Di(),ait=Ir(),oit=bi(Hit),lit=Di(),hit=Ir(),uit=Di(),cit=bi(jit),_it=Di(),fit=Di(),pit=Di(),dit=Di(),mit=Di(),yit=Di(),git=Di(),vit=bi([qit]),bit=Di(),Sit=Mi(),Ait=Mi(),Jet(Cit=Ket(Cit=Zet(Cit=Si((zit=Git=function(t){function e(){var e;return e=t.call(this)||this,li(e,"paused",Tit,hi(e)),li(e,"loop",wit,hi(e)),li(e,"_premultipliedAlpha",Eit,hi(e)),li(e,"_timeScale",Bit,hi(e)),e.enableBatch=!1,e._frameCache=null,e._curFrame=null,e._effectDelegate=null,e._skeleton=void 0,e._clipper=void 0,e._debugRenderer=void 0,e._startSlotIndex=void 0,e._endSlotIndex=void 0,e._startEntry=void 0,e._endEntry=void 0,e.attachUtil=void 0,e._materialCache={},e._enumSkins=yi({}),e._enumAnimations=yi({}),e._accTime=0,e._playCount=0,e._skeletonCache=null,e._animationName="",e._animationQueue=[],e._headAniInfo=null,e._playTimes=0,e._isAniComplete=!0,li(e,"_useTint",Dit,hi(e)),li(e,"_preCacheMode",Mit,hi(e)),li(e,"_cacheMode",Pit,hi(e)),li(e,"_defaultCacheMode",Rit,hi(e)),li(e,"_debugBones",Iit,hi(e)),li(e,"_debugSlots",Oit,hi(e)),li(e,"_skeletonData",Fit,hi(e)),li(e,"defaultSkin",Lit,hi(e)),li(e,"defaultAnimation",Vit,hi(e)),li(e,"_sockets",kit,hi(e)),e._meshRenderDataArray=[],li(e,"_debugMesh",Nit,hi(e)),e._rootBone=void 0,e._state=void 0,e._listener=void 0,e._socketNodes=new Map,e._cachedSockets=new Map,e._meshRenderDataArrayIdx=0,e._effectDelegate=null,e._skeleton=null,e._rootBone=null,e._listener=null,e._debugRenderer=null,e._startSlotIndex=-1,e._endSlotIndex=-1,e._startEntry={animation:{name:""},trackIndex:0},e._endEntry={animation:{name:""},trackIndex:0},e.attachUtil=new Net,Yit(hi(e),"_defaultSkinIndex",e._enumSkins),Yit(hi(e),"_animationIndex",e._enumAnimations),e}Me(e,t);var i=e.prototype;return i.disableRender=function(){this.destroyRenderData()},i.setSkeletonData=function(t){var e=this.node._uiProps.uiTransformComp;if(null!=t.width&&null!=t.height&&e.setContentSize(t.width,t.height),this._cacheMode===jit.SHARED_CACHE?this._skeletonCache=wet.sharedCache:this._cacheMode===jit.PRIVATE_CACHE&&(this._skeletonCache=new wet,this._skeletonCache.enablePrivateMode()),this.isAnimationCached()){(this.debugBones||this.debugSlots)&&Ue("Debug bones or slots is invalid in cached mode");var i=this._skeletonCache.getSkeletonCache(this.skeletonData._uuid,t);this._skeleton=i.skeleton,this._clipper=i.clipper,this._rootBone=this._skeleton.getRootBone()}else this._skeleton=new iet.Skeleton(t),this._clipper=new iet.SkeletonClipping,this._rootBone=this._skeleton.getRootBone();this.markForUpdateRenderData()},i.setSlotsRange=function(t,e){this.isAnimationCached()?Ue("Slots visible range can not be modified in cached mode."):(this._startSlotIndex=t,this._endSlotIndex=e)},i.setAnimationStateData=function(t){if(this.isAnimationCached())Ue("'setAnimationStateData' interface can not be invoked in cached mode.");else{var e=new iet.AnimationState(t);this._listener&&(this._state&&this._state.removeListener(this._listener),e.addListener(this._listener)),this._state=e}},i.__preload=function(){t.prototype.__preload.call(this);for(var e=this.node.children,i=0,r=e.length;ithis._headAniInfo.delay){var r=this._headAniInfo;this._headAniInfo=null,this.setAnimation(0,r.animationName,r.loop)}return}this._updateCache(t)}else this._updateRealtime(t)},i.setVertexEffectDelegate=function(t){this._effectDelegate=t},i.setToSetupPose=function(){this._skeleton&&this._skeleton.setToSetupPose()},i.setBonesToSetupPose=function(){this._skeleton&&this._skeleton.setBonesToSetupPose()},i.setSlotsToSetupPose=function(){this._skeleton&&this._skeleton.setSlotsToSetupPose()},i.updateAnimationCache=function(t){if(this.isAnimationCached()){var e=this._skeletonData._uuid;this._skeletonCache&&this._skeletonCache.updateAnimationCache(e,t)}},i.invalidAnimationCache=function(){this.isAnimationCached()&&this._skeletonCache&&this._skeletonCache.invalidAnimationCache(this._skeletonData._uuid)},i.findBone=function(t){return this._skeleton?this._skeleton.findBone(t):null},i.findSlot=function(t){return this._skeleton?this._skeleton.findSlot(t):null},i.setSkin=function(t){this._skeleton&&(this._skeleton.setSkinByName(t),this._skeleton.setSlotsToSetupPose()),this.invalidAnimationCache()},i.getAttachment=function(t,e){return this._skeleton?this._skeleton.getAttachmentByName(t,e):null},i.setAttachment=function(t,e){this._skeleton&&this._skeleton.setAttachment(t,e),this.invalidAnimationCache()},i.getTextureAtlas=function(t){return t.region},i.setMix=function(t,e,i){this._state&&this._state.data.setMix(t,e,i)},i.setAnimation=function(t,e,i){if(this._playTimes=i?0:1,this._animationName=e,this.isAnimationCached()){if(0!==t&&Ue("Track index can not greater than 0 in cached mode."),!this._skeletonCache)return null;var r=this._skeletonCache.getAnimationCache(this._skeletonData._uuid,e);r||(r=this._skeletonCache.initAnimationCache(this._skeletonData._uuid,e)),r&&(this._isAniComplete=!1,this._accTime=0,this._playCount=0,this._frameCache=r,this._socketNodes.size>0&&this._frameCache.enableCacheAttachedInfo(),this._frameCache.updateToFrame(0),this._curFrame=this._frameCache.frames[0])}else if(this._skeleton){var n=this._skeleton.data.findAnimation(e);if(!n)return an(7509,e),null;var s=this._state.setAnimationWith(t,n,i);return this._state.apply(this._skeleton),s}return null},i.addAnimation=function(t,e,i,r){if(r=r||0,this.isAnimationCached())0!==t&&Ue("Track index can not greater than 0 in cached mode."),this._animationQueue.push({animationName:e,loop:i,delay:r});else if(this._skeleton){var n,s=this._skeleton.data.findAnimation(e);return s?null===(n=this._state)||void 0===n?void 0:n.addAnimationWith(t,s,i,r):(an(7510,e),null)}return null},i.findAnimation=function(t){return this._skeleton?this._skeleton.data.findAnimation(t):null},i.getCurrent=function(t){if(this.isAnimationCached())Ue("'getCurrent' interface can not be invoked in cached mode.");else if(this._state)return this._state.getCurrent(t);return null},i.clearTracks=function(){this.isAnimationCached()?Ue("'clearTracks' interface can not be invoked in cached mode."):this._state&&this._state.clearTracks()},i.clearTrack=function(t){this.isAnimationCached()?Ue("'clearTrack' interface can not be invoked in cached mode."):this._state&&this._state.clearTrack(t)},i.setStartListener=function(t){this._ensureListener(),this._listener.start=t},i.setInterruptListener=function(t){this._ensureListener(),this._listener.interrupt=t},i.setEndListener=function(t){this._ensureListener(),this._listener.end=t},i.setDisposeListener=function(t){this._ensureListener(),this._listener.dispose=t},i.setCompleteListener=function(t){this._ensureListener(),this._listener.complete=t},i.setEventListener=function(t){this._ensureListener(),this._listener.event=t},i.setTrackStartListener=function(t,e){ret.getListeners(t).start=e},i.setTrackInterruptListener=function(t,e){ret.getListeners(t).interrupt=e},i.setTrackEndListener=function(t,e){ret.getListeners(t).end=e},i.setTrackDisposeListener=function(t,e){ret.getListeners(t).dispose=e},i.setTrackCompleteListener=function(t,e){ret.getListeners(t).complete=function(t){var i=Math.floor(t.trackTime/t.animationEnd);e(t,i)}},i.setTrackEventListener=function(t,e){ret.getListeners(t).event=e},i.getState=function(){return this._state},i.onEnable=function(){t.prototype.onEnable.call(this),this._flushAssembler()},i.onDisable=function(){t.prototype.onDisable.call(this)},i.onDestroy=function(){this._cleanMaterialCache(),this.destroyRenderData(),t.prototype.onDestroy.call(this)},i.requestMeshRenderData=function(t){if(this._meshRenderDataArray.length>0&&0===this._meshRenderDataArray[this._meshRenderDataArray.length-1].renderData.vertexCount)return this._meshRenderDataArray[this._meshRenderDataArray.length-1];var e=new I_(t),i={renderData:e};return e.material=null,this._meshRenderDataArray.push(i),i},i.destroyRenderData=function(){this._meshRenderDataArray.length>0&&(this._meshRenderDataArray.forEach((function(t){t.renderData.reset()})),this._meshRenderDataArray.length=0)},i.getMaterialForBlendAndTint=function(t,e,i){var r=i+"/"+t+"/"+e,n=this._materialCache[r];if(n)return n;var s=this.customMaterial;null===s&&(s=Ci.get("default-spine-material"));var a=!1;switch(i){case Wit.TWO_COLORED:a=!0;break;case Wit.COLORED_TEXTURED:}return n=new Vr({parent:s,subModelIdx:0,owner:this}),this._materialCache[r]=n,n.overridePipelineStates({blendState:{blendColor:Ui.WHITE,targets:[{blendEq:B.ADD,blendAlphaEq:B.ADD,blendSrc:t,blendDst:e,blendSrcAlpha:t,blendDstAlpha:e}]}}),n.recompileShaders({TWO_COLORED:a}),n},i.updateMaterial=function(){if(this._customMaterial)return this.setMaterial(this._customMaterial,0),void(this._blendHash=-1);var t=this._updateBuiltinMaterial();this.setMaterial(t,0),this._updateBlendFunc(),this.premultipliedAlpha&&(this._blendHash=-1)},i._updateBuiltinMaterial=function(){return Ci.get("ui-sprite-material")},i.querySockets=function(){return this._skeleton?(0===this._cachedSockets.size&&this._indexBoneSockets(),this._cachedSockets.size>0?Array.from(this._cachedSockets.keys()).sort():[]):[]},i._render=function(t){if(this._meshRenderDataArray)for(var e=0;e=i.length){if(this._playCount++,this._playTimes>0&&this._playCount>=this._playTimes)return this._curFrame=i[i.length-1],this._accTime=0,this._playCount=0,this._isAniComplete=!0,this._emitCacheCompleteEvent(),void this.markForUpdateRenderData();this._accTime=0,n=0,this._emitCacheCompleteEvent()}this._curFrame=i[n],this.markForUpdateRenderData()}},i._updateRealtime=function(t){var e=this._skeleton,i=this._state;e&&(e.update(t),i&&(i.update(t),i.apply(e)),this.markForUpdateRenderData())},i._indexBoneSockets=function(){if(this._skeleton){this._cachedSockets.clear();for(var t=this._skeleton.bones,e=function e(i){return null==i.parent?i.data.name||"":e(t[i.parent.data.index])+"/"+i.data.name},i=0,r=t.length;i=m&&(hnt(d=p[f++]),m=d.vfOffset),i.set(Jrt,M+5),i.set(Krt,M+9)}}}}}(e):(snt&&snt.begin(t._skeleton),function(t){var e,i,r,n,s,a,o,l,h=Ort._skeleton,u=h.color,c=Ort._debugRenderer,_=Ort._clipper,f=null;Qit=Ort._startSlotIndex,$it=Ort._endSlotIndex,frt=!1,-1===Qit&&(frt=!0),ert=Ort.debugSlots,irt=Ort.debugBones,rrt=Ort.debugMesh,c&&(irt||ert||rrt)&&(c.clear(),c.lineWidth=5),hrt=12,Qrt=0,tnt=0,ent=0,int=0,rnt=0;for(var p=0,d=h.drawOrder.length;p=0&&Qit===l.data.index&&(frt=!0),frt)if($it>=0&&$it===l.data.index&&(frt=!1),Qrt=0,int=0,r=l.getAttachment())if(a=r instanceof iet.RegionAttachment,o=r instanceof iet.MeshAttachment,r instanceof iet.ClippingAttachment)_.clipStart(l,r);else if(a||o){var y=r.region.texture.getRealTexture();if(f=lnt(l.data.blendMode)){if(ant||(ant=f),(null===(m=Frt)||void 0===m?void 0:m.renderData.material)||(Frt.renderData.material=ant),(prt||f.hash!==ant.hash||y&&ont!==y)&&(prt=!1,Frt=Ort.requestMeshRenderData(lrt),ant=f,ont=y,Frt.texture=y,Frt.renderData.material=ant),a){if(s=Grt,Qrt=4*lrt,int=6,Frt.renderData.reserve(4,6),rnt=Frt.renderData.indicesCount,tnt=Frt.renderData.vertexCount,ent=Frt.renderData.vDataOffset,e=Frt.renderData.vData,i=Frt.renderData.iData,r.computeWorldVertices(l.bone,e,ent,lrt),c&&ert){c.strokeColor=zrt,c.moveTo(e[ent],e[ent+1]);for(var g=ent+lrt,v=ent+Qrt;g>1)*lrt,int=s.length,Frt.renderData.reserve(b.worldVerticesLength>>1,int),rnt=Frt.renderData.indicesCount,tnt=Frt.renderData.vertexCount,ent=Frt.renderData.vDataOffset,e=Frt.renderData.vData,i=Frt.renderData.iData,b.computeWorldVertices(l,0,b.worldVerticesLength,e,ent,lrt),c&&rrt){c.strokeColor=jrt;for(var S=0,A=s.length;S0){for(var M=rnt,P=rnt+int;M>2,o=s.indicesOffset,l=s.vertexOffset;s.request(n.vertexCount,n.indicesCount)||(s=e.currBufferBatch,a=0,o=0,l=0);var h=s.vData,u=s.iData,c=r.worldMatrix,_=n.vData,f=n.vertexStart,p=n.iData,d=n.floatStride;h.set(_.subarray(f,f+n.vertexCount*d),a);for(var m=0;m0&&a.set(u,rnt),snt)for(var c=0,_=h.length,f=ent;c<_;c+=hrt,f+=lrt)Yrt.x=h[c],Yrt.y=h[c+1],Wrt.set(h[c+2],h[c+3],h[c+4],h[c+5]),qrt.x=h[c+6],qrt.y=h[c+7],trt?Xrt.set(h[c+8],h[c+9],h[c+10],h[c+11]):Xrt.set(0,0,0,0),snt.transform(Yrt,qrt,Wrt,Xrt),s[f]=Yrt.x,s[f+1]=Yrt.y,s[f+3]=qrt.x,s[f+4]=qrt.y,s.set(cnt(Wrt),f+5),trt&&s.set(cnt(Xrt),f+9);else for(var p=0,d=h.length,m=ent;p0){for(var i=0,r=this._objects;i0){for(var n=0;ni&&(n.length=i),t._maxCountMap[r]=i;else for(var r in t._defaultMaxCount=i,t._poolsMap){var n;(n=t._poolsMap[r]).length>i&&(n.length=i),r in t._maxCountMap&&(t._maxCountMap[r]=i)}},t.clearPool=function(e){if(void 0===e&&(e=null),null!==e){var i=String(e);null!==(n=i in t._poolsMap?t._poolsMap[i]:null)&&n.length>0&&(n.length=0)}else for(var r in t._poolsMap){var n;(n=t._poolsMap[r]).length=0}},t.borrowObject=function(e){var i=String(e),r=i in t._poolsMap?t._poolsMap[i]:null;if(null!==r&&r.length>0){var n=r.pop();return n._isInPool=!1,n}var s=new e;return s._onClear(),s},t.prototype.returnToPool=function(){this._onClear(),t._returnObject(this)},t._hashCode=0,t._defaultMaxCount=3e3,t._maxCountMap={},t._poolsMap={},t}();t.BaseObject=e}(vnt||(vnt={})),function(t){var e=function(){function t(t,e,i,r,n,s){void 0===t&&(t=1),void 0===e&&(e=0),void 0===i&&(i=0),void 0===r&&(r=1),void 0===n&&(n=0),void 0===s&&(s=0),this.a=t,this.b=e,this.c=i,this.d=r,this.tx=n,this.ty=s}return t.prototype.toString=function(){return"[object dragonBones.Matrix] a:"+this.a+" b:"+this.b+" c:"+this.c+" d:"+this.d+" tx:"+this.tx+" ty:"+this.ty},t.prototype.copyFrom=function(t){return this.a=t.a,this.b=t.b,this.c=t.c,this.d=t.d,this.tx=t.tx,this.ty=t.ty,this},t.prototype.copyFromArray=function(t,e){return void 0===e&&(e=0),this.a=t[e],this.b=t[e+1],this.c=t[e+2],this.d=t[e+3],this.tx=t[e+4],this.ty=t[e+5],this},t.prototype.identity=function(){return this.a=this.d=1,this.b=this.c=0,this.tx=this.ty=0,this},t.prototype.concat=function(t){var e=this.a*t.a,i=0,r=0,n=this.d*t.d,s=this.tx*t.a+t.tx,a=this.ty*t.d+t.ty;return 0===this.b&&0===this.c||(e+=this.b*t.c,i+=this.b*t.d,r+=this.c*t.a,n+=this.c*t.b),0===t.b&&0===t.c||(i+=this.a*t.b,r+=this.d*t.c,s+=this.ty*t.c,a+=this.tx*t.b),this.a=e,this.b=i,this.c=r,this.d=n,this.tx=s,this.ty=a,this},t.prototype.invert=function(){var t=this.a,e=this.b,i=this.c,r=this.d,n=this.tx,s=this.ty;if(0===e&&0===i)return this.b=this.c=0,0===t||0===r?this.a=this.b=this.tx=this.ty=0:(t=this.a=1/t,r=this.d=1/r,this.tx=-t*n,this.ty=-r*s),this;var a=t*r-e*i;if(0===a)return this.a=this.d=1,this.b=this.c=0,this.tx=this.ty=0,this;a=1/a;var o=this.a=r*a;return e=this.b=-e*a,i=this.c=-i*a,r=this.d=t*a,this.tx=-(o*n+i*s),this.ty=-(e*n+r*s),this},t.prototype.transformPoint=function(t,e,i,r){void 0===r&&(r=!1),i.x=this.a*t+this.c*e,i.y=this.b*t+this.d*e,r||(i.x+=this.tx,i.y+=this.ty)},t.prototype.transformRectangle=function(t,e){void 0===e&&(e=!1);var i=this.a,r=this.b,n=this.c,s=this.d,a=e?0:this.tx,o=e?0:this.ty,l=t.x,h=t.y,u=l+t.width,c=h+t.height,_=i*l+n*h+a,f=r*l+s*h+o,p=i*u+n*h+a,d=r*u+s*h+o,m=i*u+n*c+a,y=r*u+s*c+o,g=i*l+n*c+a,v=r*l+s*c+o,b=0;_>p&&(b=_,_=p,p=b),m>g&&(b=m,m=g,g=b),t.x=Math.floor(_g?p:g)-t.x),f>d&&(b=f,f=d,d=b),y>v&&(b=y,y=v,v=b),t.y=Math.floor(fv?d:v)-t.y)},t}();t.Matrix=e}(vnt||(vnt={})),function(t){var e=function(){function t(t,e,i,r,n,s){void 0===t&&(t=0),void 0===e&&(e=0),void 0===i&&(i=0),void 0===r&&(r=0),void 0===n&&(n=1),void 0===s&&(s=1),this.x=t,this.y=e,this.skew=i,this.rotation=r,this.scaleX=n,this.scaleY=s}return t.normalizeRadian=function(t){return(t=(t+Math.PI)%(2*Math.PI))+(t>0?-Math.PI:Math.PI)},t.prototype.toString=function(){return"[object dragonBones.Transform] x:"+this.x+" y:"+this.y+" skewX:"+180*this.skew/Math.PI+" skewY:"+180*this.rotation/Math.PI+" scaleX:"+this.scaleX+" scaleY:"+this.scaleY},t.prototype.copyFrom=function(t){return this.x=t.x,this.y=t.y,this.skew=t.skew,this.rotation=t.rotation,this.scaleX=t.scaleX,this.scaleY=t.scaleY,this},t.prototype.identity=function(){return this.x=this.y=0,this.skew=this.rotation=0,this.scaleX=this.scaleY=1,this},t.prototype.add=function(t){return this.x+=t.x,this.y+=t.y,this.skew+=t.skew,this.rotation+=t.rotation,this.scaleX*=t.scaleX,this.scaleY*=t.scaleY,this},t.prototype.minus=function(t){return this.x-=t.x,this.y-=t.y,this.skew-=t.skew,this.rotation-=t.rotation,this.scaleX/=t.scaleX,this.scaleY/=t.scaleY,this},t.prototype.fromMatrix=function(e){var i=this.scaleX,r=this.scaleY,n=t.PI_Q;this.x=e.tx,this.y=e.ty,this.rotation=Math.atan(e.b/e.a);var s=Math.atan(-e.c/e.d);return this.scaleX=this.rotation>-n&&this.rotation-n&&s=0&&this.scaleX<0&&(this.scaleX=-this.scaleX,this.rotation=this.rotation-Math.PI),r>=0&&this.scaleY<0&&(this.scaleY=-this.scaleY,s-=Math.PI),this.skew=s-this.rotation,this},t.prototype.toMatrix=function(t){return 0===this.rotation?(t.a=1,t.b=0):(t.a=Math.cos(this.rotation),t.b=Math.sin(this.rotation)),0===this.skew?(t.c=-t.b,t.d=t.a):(t.c=-Math.sin(this.skew+this.rotation),t.d=Math.cos(this.skew+this.rotation)),1!==this.scaleX&&(t.a*=this.scaleX,t.b*=this.scaleX),1!==this.scaleY&&(t.c*=this.scaleY,t.d*=this.scaleY),t.tx=this.x,t.ty=this.y,this},t.PI=Math.PI,t.PI_D=2*Math.PI,t.PI_H=Math.PI/2,t.PI_Q=Math.PI/4,t.RAD_DEG=180/Math.PI,t.DEG_RAD=Math.PI/180,t}();t.Transform=e}(vnt||(vnt={})),function(t){var e=function(){function t(t,e,i,r,n,s,a,o){void 0===t&&(t=1),void 0===e&&(e=1),void 0===i&&(i=1),void 0===r&&(r=1),void 0===n&&(n=0),void 0===s&&(s=0),void 0===a&&(a=0),void 0===o&&(o=0),this.alphaMultiplier=t,this.redMultiplier=e,this.greenMultiplier=i,this.blueMultiplier=r,this.alphaOffset=n,this.redOffset=s,this.greenOffset=a,this.blueOffset=o}return t.prototype.copyFrom=function(t){this.alphaMultiplier=t.alphaMultiplier,this.redMultiplier=t.redMultiplier,this.greenMultiplier=t.greenMultiplier,this.blueMultiplier=t.blueMultiplier,this.alphaOffset=t.alphaOffset,this.redOffset=t.redOffset,this.greenOffset=t.greenOffset,this.blueOffset=t.blueOffset},t.prototype.identity=function(){this.alphaMultiplier=this.redMultiplier=this.greenMultiplier=this.blueMultiplier=1,this.alphaOffset=this.redOffset=this.greenOffset=this.blueOffset=0},t}();t.ColorTransform=e}(vnt||(vnt={})),function(t){var e=function(){function t(t,e){void 0===t&&(t=0),void 0===e&&(e=0),this.x=t,this.y=e}return t.prototype.copyFrom=function(t){this.x=t.x,this.y=t.y},t.prototype.clear=function(){this.x=this.y=0},t}();t.Point=e}(vnt||(vnt={})),function(t){var e=function(){function t(t,e,i,r){void 0===t&&(t=0),void 0===e&&(e=0),void 0===i&&(i=0),void 0===r&&(r=0),this.x=t,this.y=e,this.width=i,this.height=r}return t.prototype.copyFrom=function(t){this.x=t.x,this.y=t.y,this.width=t.width,this.height=t.height},t.prototype.clear=function(){this.x=this.y=0,this.width=this.height=0},t}();t.Rectangle=e}(vnt||(vnt={})),function(t){var e=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.ints=[],e.floats=[],e.strings=[],e}return gnt(e,t),e.toString=function(){return"[class dragonBones.UserData]"},e.prototype._onClear=function(){this.ints.length=0,this.floats.length=0,this.strings.length=0},e.prototype.addInt=function(t){this.ints.push(t)},e.prototype.addFloat=function(t){this.floats.push(t)},e.prototype.addString=function(t){this.strings.push(t)},e.prototype.getInt=function(t){return void 0===t&&(t=0),t>=0&&t=0&&t=0&&t=t&&(i=0),!(this.sortedBones.indexOf(n)>=0)){var s=!1;for(var a in this.constraints){var o=this.constraints[a];if(o.root===n&&this.sortedBones.indexOf(o.target)<0){s=!0;break}}s||null!==n.parent&&this.sortedBones.indexOf(n.parent)<0||(this.sortedBones.push(n),r++)}}}},i.prototype.cacheFrames=function(t){if(!(this.cacheFrameRate>0))for(var e in this.cacheFrameRate=t,this.animations)this.animations[e].cacheFrames(this.cacheFrameRate)},i.prototype.setCacheFrame=function(t,e){var i=this.parent.cachedFrames,r=i.length;return i.length+=10,i[r]=t.a,i[r+1]=t.b,i[r+2]=t.c,i[r+3]=t.d,i[r+4]=t.tx,i[r+5]=t.ty,i[r+6]=e.rotation,i[r+7]=e.skew,i[r+8]=e.scaleX,i[r+9]=e.scaleY,r},i.prototype.getCacheFrame=function(t,e,i){var r=this.parent.cachedFrames;t.a=r[i],t.b=r[i+1],t.c=r[i+2],t.d=r[i+3],t.tx=r[i+4],t.ty=r[i+5],e.rotation=r[i+6],e.skew=r[i+7],e.scaleX=r[i+8],e.scaleY=r[i+9],e.x=t.tx,e.y=t.ty},i.prototype.addBone=function(t){t.name in this.bones?console.warn("Same bone: "+t.name):(this.bones[t.name]=t,this.sortedBones.push(t))},i.prototype.addSlot=function(t){t.name in this.slots?console.warn("Same slot: "+t.name):(this.slots[t.name]=t,this.sortedSlots.push(t))},i.prototype.addConstraint=function(t){t.name in this.constraints?console.warn("Same constraint: "+t.name):this.constraints[t.name]=t},i.prototype.addSkin=function(t){t.name in this.skins?console.warn("Same skin: "+t.name):(t.parent=this,this.skins[t.name]=t,null===this.defaultSkin&&(this.defaultSkin=t),"default"===t.name&&(this.defaultSkin=t))},i.prototype.addAnimation=function(t){t.name in this.animations?console.warn("Same animation: "+t.name):(t.parent=this,this.animations[t.name]=t,this.animationNames.push(t.name),null===this.defaultAnimation&&(this.defaultAnimation=t))},i.prototype.addAction=function(t,e){e?this.defaultActions.push(t):this.actions.push(t)},i.prototype.getBone=function(t){return t in this.bones?this.bones[t]:null},i.prototype.getSlot=function(t){return t in this.slots?this.slots[t]:null},i.prototype.getConstraint=function(t){return t in this.constraints?this.constraints[t]:null},i.prototype.getSkin=function(t){return t in this.skins?this.skins[t]:null},i.prototype.getMesh=function(t,e,i){var r=this.getSkin(t);return null===r?null:r.getDisplay(e,i)},i.prototype.getAnimation=function(t){return t in this.animations?this.animations[t]:null},i}(t.BaseObject);t.ArmatureData=e;var i=function(e){function i(){var i=null!==e&&e.apply(this,arguments)||this;return i.transform=new t.Transform,i.userData=null,i}return gnt(i,e),i.toString=function(){return"[class dragonBones.BoneData]"},i.prototype._onClear=function(){null!==this.userData&&this.userData.returnToPool(),this.inheritTranslation=!1,this.inheritRotation=!1,this.inheritScale=!1,this.inheritReflection=!1,this.type=0,this.length=0,this.name="",this.transform.identity(),this.userData=null,this.parent=null},i}(t.BaseObject);t.BoneData=i;var r=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.vertices=[],e}return gnt(e,t),e.toString=function(){return"[class dragonBones.SurfaceData]"},e.prototype._onClear=function(){t.prototype._onClear.call(this),this.type=1,this.segmentX=0,this.segmentY=0,this.vertices.length=0},e}(i);t.SurfaceData=r;var n=function(e){function i(){var t=null!==e&&e.apply(this,arguments)||this;return t.color=null,t.userData=null,t}return gnt(i,e),i.createColor=function(){return new t.ColorTransform},i.toString=function(){return"[class dragonBones.SlotData]"},i.prototype._onClear=function(){null!==this.userData&&this.userData.returnToPool(),this.blendMode=0,this.displayIndex=0,this.zOrder=0,this.name="",this.color=null,this.userData=null,this.parent=null},i.DEFAULT_COLOR=new t.ColorTransform,i}(t.BaseObject);t.SlotData=n}(vnt||(vnt={})),function(t){var e=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return gnt(e,t),e.prototype._onClear=function(){this.order=0,this.name="",this.type=0,this.target=null,this.root=null,this.bone=null},e}(t.BaseObject);t.ConstraintData=e;var i=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return gnt(e,t),e.toString=function(){return"[class dragonBones.IKConstraintData]"},e.prototype._onClear=function(){t.prototype._onClear.call(this),this.scaleEnabled=!1,this.bendPositive=!1,this.weight=1},e}(e);t.IKConstraintData=i;var r=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.bones=[],e}return gnt(e,t),e.toString=function(){return"[class dragonBones.PathConstraintData]"},e.prototype._onClear=function(){t.prototype._onClear.call(this),this.pathSlot=null,this.pathDisplayData=null,this.bones.length=0,this.positionMode=0,this.spacingMode=1,this.rotateMode=1,this.position=0,this.spacing=0,this.rotateOffset=0,this.rotateMix=0,this.translateMix=0},e.prototype.AddBone=function(t){this.bones.push(t)},e}(e);t.PathConstraintData=r}(vnt||(vnt={})),function(t){var e=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return gnt(e,t),e.toString=function(){return"[class dragonBones.CanvasData]"},e.prototype._onClear=function(){this.hasBackground=!1,this.color=0,this.x=0,this.y=0,this.width=0,this.height=0},e}(t.BaseObject);t.CanvasData=e}(vnt||(vnt={})),function(t){var e=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.displays={},e}return gnt(e,t),e.toString=function(){return"[class dragonBones.SkinData]"},e.prototype._onClear=function(){for(var t in this.displays){for(var e=0,i=this.displays[t];en&&(a|=2),es&&(a|=8),a},e.rectangleIntersectsSegment=function(t,i,r,n,s,a,o,l,h,u,c){void 0===h&&(h=null),void 0===u&&(u=null),void 0===c&&(c=null);var _=t>s&&ta&&is&&ra&&n=-i&&t<=i){var r=.5*this.height;if(e>=-r&&e<=r)return!0}return!1},e.prototype.intersectsSegment=function(t,i,r,n,s,a,o){void 0===s&&(s=null),void 0===a&&(a=null),void 0===o&&(o=null);var l=.5*this.width,h=.5*this.height;return e.rectangleIntersectsSegment(t,i,r,n,-l,-h,l,h,s,a,o)},e}(e);t.RectangleBoundingBoxData=i;var r=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return gnt(e,t),e.toString=function(){return"[class dragonBones.EllipseData]"},e.ellipseIntersectsSegment=function(t,e,i,r,n,s,a,o,l,h,u){void 0===l&&(l=null),void 0===h&&(h=null),void 0===u&&(u=null);var c=a/o,_=c*c,f=i-t,p=(r*=c)-(e*=c),d=Math.sqrt(f*f+p*p),m=f/d,y=p/d,g=(n-t)*m+(s-e)*y,v=a*a,b=v-(t*t+e*e)+g*g,S=0;if(b>=0){var A=Math.sqrt(b),C=g-A,x=g+A,T=C<0?-1:C<=d?0:1,w=x<0?-1:x<=d?0:1,E=T*w;if(E<0)return-1;0===E&&(-1===T?(S=2,i=t+x*m,r=(e+x*y)/c,null!==l&&(l.x=i,l.y=r),null!==h&&(h.x=i,h.y=r),null!==u&&(u.x=Math.atan2(r/v*_,i/v),u.y=u.x+Math.PI)):1===w?(S=1,t+=C*m,e=(e+C*y)/c,null!==l&&(l.x=t,l.y=e),null!==h&&(h.x=t,h.y=e),null!==u&&(u.x=Math.atan2(e/v*_,t/v),u.y=u.x+Math.PI)):(S=3,null!==l&&(l.x=t+C*m,l.y=(e+C*y)/c,null!==u&&(u.x=Math.atan2(l.y/v*_,l.x/v))),null!==h&&(h.x=t+x*m,h.y=(e+x*y)/c,null!==u&&(u.y=Math.atan2(h.y/v*_,h.x/v)))))}return S},e.prototype._onClear=function(){t.prototype._onClear.call(this),this.type=1},e.prototype.containsPoint=function(t,e){var i=.5*this.width;if(t>=-i&&t<=i){var r=.5*this.height;if(e>=-r&&e<=r)return e*=i/r,Math.sqrt(t*t+e*e)<=i}return!1},e.prototype.intersectsSegment=function(t,i,r,n,s,a,o){return void 0===s&&(s=null),void 0===a&&(a=null),void 0===o&&(o=null),e.ellipseIntersectsSegment(t,i,r,n,0,0,.5*this.width,.5*this.height,s,a,o)},e}(e);t.EllipseBoundingBoxData=r;var n=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.vertices=[],e}return gnt(e,t),e.toString=function(){return"[class dragonBones.PolygonBoundingBoxData]"},e.polygonIntersectsSegment=function(t,e,i,r,n,s,a,o){void 0===s&&(s=null),void 0===a&&(a=null),void 0===o&&(o=null),t===i&&(t=i+1e-6),e===r&&(e=r+1e-6);for(var l=n.length,h=t-i,u=e-r,c=t*r-e*i,_=0,f=n[l-2],p=n[l-1],d=0,m=0,y=0,g=0,v=0,b=0,S=0;S=f&&B<=A||B>=A&&B<=f)&&(0===h||B>=t&&B<=i||B>=i&&B<=t)){var D=(c*T-u*w)/E;if((D>=p&&D<=C||D>=C&&D<=p)&&(0===u||D>=e&&D<=r||D>=r&&D<=e)){if(null===a){y=B,g=D,v=B,b=D,_++,null!==o&&(o.x=Math.atan2(C-p,A-f)-.5*Math.PI,o.y=o.x);break}var M=B-t;M<0&&(M=-M),0===_?(d=M,m=M,y=B,g=D,v=B,b=D,null!==o&&(o.x=Math.atan2(C-p,A-f)-.5*Math.PI,o.y=o.x)):(Mm&&(m=M,v=B,b=D,null!==o&&(o.y=Math.atan2(C-p,A-f)-.5*Math.PI))),_++}}f=A,p=C}return 1===_?(null!==s&&(s.x=y,s.y=g),null!==a&&(a.x=y,a.y=g),null!==o&&(o.y=o.x+Math.PI)):_>1&&(_++,null!==s&&(s.x=y,s.y=g),null!==a&&(a.x=v,a.y=b)),_},e.prototype._onClear=function(){t.prototype._onClear.call(this),this.type=2,this.x=0,this.y=0,this.vertices.length=0},e.prototype.containsPoint=function(t,e){var i=!1;if(t>=this.x&&t<=this.width&&e>=this.y&&e<=this.height)for(var r=0,n=this.vertices.length,s=n-2;r=e||a=e){var l=this.vertices[s],h=this.vertices[r];(e-o)*(l-h)/(a-o)+h0)){this.cacheFrameRate=Math.max(Math.ceil(t*this.scale),1);var e=Math.ceil(this.cacheFrameRate*this.duration)+1;this.cachedFrames.length=e;for(var i=0,r=this.cacheFrames.length;i=0},e.prototype.addBoneMask=function(t,e,i){void 0===i&&(i=!0);var r=t.getBone(e);if(null!==r&&(this.boneMask.indexOf(e)<0&&this.boneMask.push(e),i))for(var n=0,s=t.getBones();n=0&&this.boneMask.splice(r,1),i){var n=t.getBone(e);if(null!==n)if(this.boneMask.length>0)for(var s=0,a=t.getBones();s=0&&n.contains(o)&&this.boneMask.splice(l,1)}else for(var h=0,u=t.getBones();he._zOrder?1:-1},i.prototype._onClear=function(){null!==this._clock&&this._clock.remove(this);for(var t=0,e=this._bones;t=s)){var o=i[a],l=this.getSlot(o.name);null!==l&&l._setZorder(n)}}this._slotsDirty=!0,this._zOrderDirty=!r}},i.prototype._addBone=function(t){this._bones.indexOf(t)<0&&this._bones.push(t)},i.prototype._addSlot=function(t){this._slots.indexOf(t)<0&&this._slots.push(t)},i.prototype._addConstraint=function(t){this._constraints.indexOf(t)<0&&this._constraints.push(t)},i.prototype._bufferAction=function(t,e){this._actions.indexOf(t)<0&&(e?this._actions.push(t):this._actions.unshift(t))},i.prototype.dispose=function(){null!==this._armatureData&&(this._lockUpdate=!0,this._dragonBones.bufferObject(this))},i.prototype.init=function(e,i,r,n){null===this._armatureData&&(this._armatureData=e,this._animation=t.BaseObject.borrowObject(t.Animation),this._proxy=i,this._display=r,this._dragonBones=n,this._proxy.dbInit(this),this._animation.init(this),this._animation.animations=this._armatureData.animations)},i.prototype.advanceTime=function(t){if(!this._lockUpdate)if(null!==this._armatureData)if(null!==this._armatureData.parent){var e=this._cacheFrameIndex;if(this._animation.advanceTime(t),this._slotsDirty&&(this._slotsDirty=!1,this._slots.sort(i._onSortSlots)),this._cacheFrameIndex<0||this._cacheFrameIndex!==e){var r=0,n=0;for(r=0,n=this._bones.length;r0){this._lockUpdate=!0;for(var s=0,a=this._actions;s0){if(null!==(a=this.getBone(t))&&(a.invalidUpdate(),e))for(var i=0,r=this._slots;i0){if(null===n&&null===s){m=b;break}var S;null!==n&&((S=o?n.y-e:n.x-t)<0&&(S=-S),(null===m||Sh)&&(h=S,_=s.x,f=s.y,y=b,null!==a&&(d=a.y)))}}return null!==m&&null!==n&&(n.x=u,n.y=c,null!==a&&(a.x=p)),null!==y&&null!==s&&(s.x=_,s.y=f,null!==a&&(a.y=d)),m},i.prototype.getBone=function(t){for(var e=0,i=this._bones;e=0&&null!==this._cachedFrameIndices){var e=this._cachedFrameIndices[t];if(e>=0&&this._cachedFrameIndex===e)this._transformDirty=!1;else if(e>=0)this._transformDirty=!0,this._cachedFrameIndex=e;else{if(this._hasConstraint)for(var i=0,r=this._armature._constraints;i=0?(this._transformDirty=!1,this._cachedFrameIndices[t]=this._cachedFrameIndex):(this._transformDirty=!0,this._cachedFrameIndex=-1)}}else{if(this._hasConstraint)for(var n=0,s=this._armature._constraints;n=0;this._localDirty&&this._updateGlobalTransformMatrix(o),o&&null!==this._cachedFrameIndices&&(this._cachedFrameIndex=this._cachedFrameIndices[t]=this._armature._armatureData.setCacheFrame(this.globalTransformMatrix,this.global))}else this._armature._armatureData.getCacheFrame(this.globalTransformMatrix,this.global,this._cachedFrameIndex);else this._childrenTransformDirty&&(this._childrenTransformDirty=!1);this._localDirty=!0},i.prototype.updateByConstraint=function(){this._localDirty&&(this._localDirty=!1,(this._transformDirty||null!==this._parent&&this._parent._childrenTransformDirty)&&this._updateGlobalTransformMatrix(!0),this._transformDirty=!0)},i.prototype.invalidUpdate=function(){this._transformDirty=!0},i.prototype.contains=function(t){if(t===this)return!1;for(var e=t;e!==this&&null!==e;)e=e.parent;return e===this},Object.defineProperty(i.prototype,"boneData",{get:function(){return this._boneData},enumerable:!0,configurable:!0}),Object.defineProperty(i.prototype,"visible",{get:function(){return this._visible},set:function(t){if(this._visible!==t){this._visible=t;for(var e=0,i=this._armature.getSlots();e=s)return this.globalTransformMatrix;if(p=7*(2*(o*(l+1)+2*o+l+f)+((n=i>this._kX*(t+s)+m)?1:0)),this._matrixCahce[p]>0)g.copyFromArray(y,p+1);else{var v=f*(h+2),b=this._hullCache[4],S=this._hullCache[5],A=this._hullCache[2]-(l-f)*b,C=this._hullCache[3]-(l-f)*S,x=this._vertices;n?this._getAffineTransform(-s,m+c,800,c,x[v+h+2],x[v+h+3],A+b,C+S,x[v],x[v+1],e._helpTransform,g,!0):this._getAffineTransform(-r,m,800,c,A,C,x[v],x[v+1],A+b,C+S,e._helpTransform,g,!1),y[p]=1,y[p+1]=g.a,y[p+2]=g.b,y[p+3]=g.c,y[p+4]=g.d,y[p+5]=g.tx,y[p+6]=g.ty}}else if(t>=s){if(i<-s||i>=s)return this.globalTransformMatrix;p=7*(2*(o*(l+1)+o+f)+((n=i>this._kX*(t-r)+m)?1:0)),this._matrixCahce[p]>0?g.copyFromArray(y,p+1):(v=(f+1)*(h+2)-2,b=this._hullCache[4],S=this._hullCache[5],A=this._hullCache[0]+f*b,C=this._hullCache[1]+f*S,x=this._vertices,n?this._getAffineTransform(r,m+c,800,c,A+b,C+S,x[v+h+2],x[v+h+3],A,C,e._helpTransform,g,!0):this._getAffineTransform(s,m,800,c,x[v],x[v+1],A,C,x[v+h+2],x[v+h+3],e._helpTransform,g,!1),y[p]=1,y[p+1]=g.a,y[p+2]=g.b,y[p+3]=g.c,y[p+4]=g.d,y[p+5]=g.tx,y[p+6]=g.ty)}else if(i<-s){if(t<-s||t>=s)return this.globalTransformMatrix;p=7*(o*(l+1)+2*_+((n=i>this._kY*(t-d-u)-r)?1:0)),this._matrixCahce[p]>0?g.copyFromArray(y,p+1):(v=2*_,b=this._hullCache[10],S=this._hullCache[11],A=this._hullCache[8]+_*b,C=this._hullCache[9]+_*S,x=this._vertices,n?this._getAffineTransform(d+u,-s,u,800,x[v+2],x[v+3],x[v],x[v+1],A+b,C+S,e._helpTransform,g,!0):this._getAffineTransform(d,-r,u,800,A,C,A+b,C+S,x[v],x[v+1],e._helpTransform,g,!1),y[p]=1,y[p+1]=g.a,y[p+2]=g.b,y[p+3]=g.c,y[p+4]=g.d,y[p+5]=g.tx,y[p+6]=g.ty)}else if(i>=s){if(t<-s||t>=s)return this.globalTransformMatrix;p=7*(2*(o*(l+1)+o+l+f)+((n=i>this._kY*(t-d-u)+s)?1:0)),this._matrixCahce[p]>0?g.copyFromArray(y,p+1):(v=l*(h+2)+2*_,b=this._hullCache[10],S=this._hullCache[11],A=this._hullCache[6]-(o-_)*b,C=this._hullCache[7]-(o-_)*S,x=this._vertices,n?this._getAffineTransform(d+u,r,u,800,A+b,C+S,A,C,x[v+2],x[v+3],e._helpTransform,g,!0):this._getAffineTransform(d,s,u,800,x[v],x[v+1],x[v+2],x[v+3],A,C,e._helpTransform,g,!1),y[p]=1,y[p+1]=g.a,y[p+2]=g.b,y[p+3]=g.c,y[p+4]=g.d,y[p+5]=g.tx,y[p+6]=g.ty)}else p=7*(2*(o*f+_)+((n=i>this._k*(t-d-u)+m)?1:0)),this._matrixCahce[p]>0?g.copyFromArray(y,p+1):(v=2*_+f*(h+2),x=this._vertices,n?this._getAffineTransform(d+u,m+c,u,c,x[v+h+4],x[v+h+5],x[v+h+2],x[v+h+3],x[v+2],x[v+3],e._helpTransform,g,!0):this._getAffineTransform(d,m,u,c,x[v],x[v+1],x[v+2],x[v+3],x[v+h+2],x[v+h+3],e._helpTransform,g,!1),y[p]=1,y[p+1]=g.a,y[p+2]=g.b,y[p+3]=g.c,y[p+4]=g.d,y[p+5]=g.tx,y[p+6]=g.ty);return g},e.prototype.init=function(e,i){if(null===this._boneData){t.prototype.init.call(this,e,i);var r=e.segmentX,n=e.segmentY,s=e.vertices.length;this._dX=400/r,this._dY=400/n,this._k=-this._dY/this._dX,this._kX=-this._dY/800,this._kY=-800/this._dX,this._vertices.length=s,this._deformVertices.length=s,this._matrixCahce.length=14*(r*n+2*r+2*n),this._hullCache.length=10;for(var a=0;a=0&&null!==this._cachedFrameIndices){var i=this._cachedFrameIndices[t];if(i>=0&&this._cachedFrameIndex===i)this._transformDirty=!1;else if(i>=0)this._transformDirty=!0,this._cachedFrameIndex=i;else{if(this._hasConstraint)for(var r=0,n=this._armature._constraints;r=0?(this._transformDirty=!1,this._cachedFrameIndices[t]=this._cachedFrameIndex):(this._transformDirty=!0,this._cachedFrameIndex=-1)}}else{if(this._hasConstraint)for(var s=0,a=this._armature._constraints;s=0;this._localDirty&&this._updateGlobalTransformMatrix(u),u&&null!==this._cachedFrameIndices&&(this._cachedFrameIndex=this._cachedFrameIndices[t]=this._armature._armatureData.setCacheFrame(this.globalTransformMatrix,this.global))}else this._armature._armatureData.getCacheFrame(this.globalTransformMatrix,this.global,this._cachedFrameIndex);var c=2*this.global.x,_=2*this.global.y,f=e._helpPoint;this.globalTransformMatrix.transformPoint(1e3,-200,f),this._hullCache[0]=f.x,this._hullCache[1]=f.y,this._hullCache[2]=c-f.x,this._hullCache[3]=_-f.y,this.globalTransformMatrix.transformPoint(0,this._dY,f,!0),this._hullCache[4]=f.x,this._hullCache[5]=f.y,this.globalTransformMatrix.transformPoint(200,1e3,f),this._hullCache[6]=f.x,this._hullCache[7]=f.y,this._hullCache[8]=c-f.x,this._hullCache[9]=_-f.y,this.globalTransformMatrix.transformPoint(this._dX,0,f,!0),this._hullCache[10]=f.x,this._hullCache[11]=f.y}else this._childrenTransformDirty&&(this._childrenTransformDirty=!1);this._localDirty=!0},e}(t.Bone);t.Surface=e}(vnt||(vnt={})),function(t){var e=function(e){function i(){var i=null!==e&&e.apply(this,arguments)||this;return i._localMatrix=new t.Matrix,i._colorTransform=new t.ColorTransform,i._displayDatas=[],i._displayList=[],i._deformVertices=null,i._rawDisplay=null,i._meshDisplay=null,i}return gnt(i,e),i.prototype._onClear=function(){e.prototype._onClear.call(this);for(var i=[],r=0,n=this._displayList;r=0&&(null!==this._rawDisplayDatas&&(s=this._displayIndex=0&&this._displayIndex=0&&null!==this._rawDisplayDatas){var a=this._displayIndex0)for(var o=0,l=s;o0){this._displayList.length!==e.length&&(this._displayList.length=e.length);for(var i=0,r=e.length;i0&&(this._displayList.length=0);return this._displayIndex>=0&&this._displayIndex=0&&null!==this._cachedFrameIndices){var e=this._cachedFrameIndices[t];e>=0&&this._cachedFrameIndex===e?this._transformDirty=!1:e>=0?(this._transformDirty=!0,this._cachedFrameIndex=e):this._transformDirty||this._parent._childrenTransformDirty?(this._transformDirty=!0,this._cachedFrameIndex=-1):this._cachedFrameIndex>=0?(this._transformDirty=!1,this._cachedFrameIndices[t]=this._cachedFrameIndex):(this._transformDirty=!0,this._cachedFrameIndex=-1)}else(this._transformDirty||this._parent._childrenTransformDirty)&&(t=-1,this._transformDirty=!0,this._cachedFrameIndex=-1);if(null!==this._display){if(this._visibleDirty&&(this._visibleDirty=!1,this._updateVisible()),this._blendModeDirty&&(this._blendModeDirty=!1,this._updateBlendMode()),this._colorDirty&&(this._colorDirty=!1,this._updateColor()),null!==this._deformVertices&&null!==this._deformVertices.verticesData&&this._display===this._meshDisplay){var i=null!==this._deformVertices.verticesData.weight,r=0!==this._parent._boneData.type;if((this._deformVertices.verticesDirty||i&&this._deformVertices.isBonesUpdate()||r&&this._parent._childrenTransformDirty)&&(this._deformVertices.verticesDirty=!1,this._updateMesh()),i||r)return}if(this._transformDirty){if(this._transformDirty=!1,this._cachedFrameIndex<0){var n=t>=0;this._updateGlobalTransformMatrix(n),n&&null!==this._cachedFrameIndices&&(this._cachedFrameIndex=this._cachedFrameIndices[t]=this._armature._armatureData.setCacheFrame(this.globalTransformMatrix,this.global))}else this._isFromCache=!0,this._armature._armatureData.getCacheFrame(this.globalTransformMatrix,this.global,this._cachedFrameIndex);this._updateTransform()}}},i.prototype.updateTransformAndMatrix=function(){this._transformDirty&&(this._transformDirty=!1,this._updateGlobalTransformMatrix(!1))},i.prototype.replaceDisplayData=function(t,e){if(void 0===e&&(e=-1),e<0&&(e=this._displayIndex<0?0:this._displayIndex),this._displayDatas.length<=e){this._displayDatas.length=e+1;for(var i=0,r=this._displayDatas.length;i0&&(1===l||2===l?null!==s?(this.globalTransformMatrix.transformPoint(s.x,s.y,s),null!==a&&(a.x=s.x,a.y=s.y)):null!==a&&this.globalTransformMatrix.transformPoint(a.x,a.y,a):(null!==s&&this.globalTransformMatrix.transformPoint(s.x,s.y,s),null!==a&&this.globalTransformMatrix.transformPoint(a.x,a.y,a)),null!==o&&(this.globalTransformMatrix.transformPoint(Math.cos(o.x),Math.sin(o.x),i._helpPoint,!0),o.x=Math.atan2(i._helpPoint.y,i._helpPoint.x),this.globalTransformMatrix.transformPoint(Math.cos(o.y),Math.sin(o.y),i._helpPoint,!0),o.y=Math.atan2(i._helpPoint.y,i._helpPoint.x))),l},i.prototype.invalidUpdate=function(){this._displayDirty=!0,this._transformDirty=!0},Object.defineProperty(i.prototype,"visible",{get:function(){return this._visible},set:function(t){this._visible!==t&&(this._visible=t,this._updateVisible())},enumerable:!0,configurable:!0}),Object.defineProperty(i.prototype,"displayIndex",{get:function(){return this._displayIndex},set:function(t){this._setDisplayIndex(t)&&this.update(-1)},enumerable:!0,configurable:!0}),Object.defineProperty(i.prototype,"name",{get:function(){return this._slotData.name},enumerable:!0,configurable:!0}),Object.defineProperty(i.prototype,"displayList",{get:function(){return this._displayList.concat()},set:function(e){var i=this._displayList.concat(),r=new Array;this._setDisplayList(e)&&this.update(-1);for(var n=0,s=i;np)continue}for(;;j++){var V=d[j];if(!(L>V)){0===j?L/=V:L=(L-(G=d[j-1]))/(V-G);break}}if(j!==_){_=j;var k=6*j;for(x=h[k],T=h[k+1],w=h[k+2],E=h[k+3],B=h[k+4],D=h[k+5],b=2*(m=.03*(x-2*w+B))+(g=.006*(3*(w-B)-x+(M=h[k+6]))),S=2*(y=.03*(T-2*E+D))+(v=.006*(3*(E-D)-T+(P=h[k+7]))),A=.3*(w-x)+m+.16666667*g,C=.3*(E-T)+y+.16666667*v,O=Math.sqrt(A*A+C*C),I[0]=O,k=1;k<8;k++)A+=b,C+=S,b+=g,S+=v,O+=Math.sqrt(A*A+C*C),I[k]=O;A+=b,C+=S,O+=Math.sqrt(A*A+C*C),I[8]=O,A+=b+g,C+=S+v,O+=Math.sqrt(A*A+C*C),I[9]=O,F=0}for(L*=O;;F++){var N=I[F];if(!(L>N)){var G;0===F?L/=N:L=F+(L-(G=I[F-1]))/(N-G);break}}this.addCurvePosition(.1*L,x,T,w,E,B,D,M,P,a,H,i)}}else{var z=t.curveLengths;if(p=z[c-=l?1:2],r&&(f*=p),n)for(var U=0;Up)continue}for(var W=0;;j++){var X=z[j];if(!(f>X)){if(0===j)W=f/X;else{var Y=z[j-1];W=(f-Y)/(X-Y)}break}}j!==_&&(_=j,l&&j===c?(this._computeVertices(u-4,4,0,h),this._computeVertices(0,4,4,h)):this._computeVertices(6*j+2,8,0,h)),this.addCurvePosition(W,h[0],h[1],h[2],h[3],h[4],h[5],h[6],h[7],a,H,i)}}},i.prototype.addCurvePosition=function(t,e,i,r,n,s,a,o,l,h,u,c){if(0===t)return h[u]=e,h[u+1]=i,void(h[u+2]=0);if(1===t)return h[u]=o,h[u+1]=l,void(h[u+2]=0);var _=1-t,f=_*_,p=t*t,d=f*_,m=f*t*3,y=_*p*3,g=t*p,v=d*e+m*r+y*s+g*o,b=d*i+m*n+y*a+g*l;h[u]=v,h[u+1]=b,h[u+2]=c?Math.atan2(b-(d*i+m*n+y*a),v-(d*e+m*r+y*s)):0},i.prototype.init=function(t,e){this._constraintData=t,this._armature=e;var i=t;this.pathOffset=i.pathDisplayData.vertices.offset,this.position=i.position,this.spacing=i.spacing,this.rotateOffset=i.rotateOffset,this.rotateMix=i.rotateMix,this.translateMix=i.translateMix,this._root=this._armature.getBone(i.root.name),this._target=this._armature.getBone(i.target.name),this._pathSlot=this._armature.getSlot(i.pathSlot.name);for(var r=0,n=i.bones.length;r0?t.Transform.DEG_RAD:-t.Transform.DEG_RAD));for(var B=this.rotateMix,D=this.translateMix,M=(y=0,3);y0){var V=R.a,k=R.b,N=R.c,G=R.d,z=void 0,U=void 0,H=void 0;if(z=_?x[M-1]:Math.atan2(O,I),z-=Math.atan2(k,V),C){U=Math.cos(z),H=Math.sin(z);var j=P._boneData.length;w+=(j*(U*V-H*k)-I)*B,E+=(j*(H*V+U*k)-O)*B}else z+=T;z>t.Transform.PI?z-=t.Transform.PI_D:z<-t.Transform.PI&&(z+=t.Transform.PI_D),z*=B,U=Math.cos(z),H=Math.sin(z),R.a=U*V-H*k,R.b=H*V+U*k,R.c=U*N-H*G,R.d=H*N+U*G}P.global.fromMatrix(R)}this.dirty=!1}}},i.prototype.invalidUpdate=function(){},i}(e);t.PathConstraint=r}(vnt||(vnt={})),function(t){var e=function(){function t(t){void 0===t&&(t=0),this.time=0,this.timeScale=1,this._systemTime=0,this._animatebles=[],this._clock=null,this.time=t,this._systemTime=.001*(new Date).getTime()}return t.prototype.advanceTime=function(t){t!=t&&(t=0);var e=.001*Date.now();if(t<0&&(t=e-this._systemTime),this._systemTime=e,1!==this.timeScale&&(t*=this.timeScale),0!==t){t<0?this.time-=t:this.time+=t;for(var i=0,r=0,n=this._animatebles.length;i0&&(this._animatebles[i-r]=s,this._animatebles[i]=null),s.advanceTime(t)):r++}if(r>0){for(n=this._animatebles.length;i=0&&(this._animatebles[e]=null,t.clock=null)},t.prototype.clear=function(){for(var t=0,e=this._animatebles;t0&&p._subFadeState>0)this._armature._dragonBones.bufferObject(p),this._animationStates.length=0,this._lastAnimationState=null;else{var i=p._animationData,r=i.cacheFrameRate;if(this._animationDirty&&r>0){this._animationDirty=!1;for(var n=0,s=this._armature.getBones();n0){var c=u[0];if(null!==c&&c.parent===this._armature.armatureData.defaultSkin){h._cachedFrameIndices=i.getSlotCachedFrameIndices(h.name);continue}}h._cachedFrameIndices=null}}p.advanceTime(t,r)}else if(e>1){for(var _=0,f=0;_0&&p._subFadeState>0?(f++,this._armature._dragonBones.bufferObject(p),this._animationDirty=!0,this._lastAnimationState===p&&(this._lastAnimationState=null)):(f>0&&(this._animationStates[_-f]=p),p.advanceTime(t,0)),_===e-1&&f>0&&(this._animationStates.length-=f,null===this._lastAnimationState&&this._animationStates.length>0&&(this._lastAnimationState=this._animationStates[this._animationStates.length-1]))}this._armature._cacheFrameIndex=-1}else this._armature._cacheFrameIndex=-1},i.prototype.reset=function(){for(var t=0,e=this._animationStates;t1?(e.position<0?(e.position%=r.duration,e.position=r.duration-e.position):e.position===r.duration?e.position-=1e-6:e.position>r.duration&&(e.position%=r.duration),e.duration>0&&e.position+e.duration>r.duration&&(e.duration=r.duration-e.position),e.playTimes<0&&(e.playTimes=r.playTimes)):(e.playTimes=1,e.position=0,e.duration>0&&(e.duration=0)),0===e.duration&&(e.duration=-1),this._fadeOut(e);var o=t.BaseObject.borrowObject(t.AnimationState);if(o.init(this._armature,r,e),this._animationDirty=!0,this._armature._cacheFrameIndex=-1,this._animationStates.length>0){for(var l=!1,h=0,u=this._animationStates.length;hthis._animationStates[h].layer){l=!0,this._animationStates.splice(h,0,o);break}if(h!==u-1&&o.layer>this._animationStates[h+1].layer){l=!0,this._animationStates.splice(h+1,0,o);break}}l||this._animationStates.push(o)}else this._animationStates.push(o);for(var c=0,_=this._armature.getSlots();c<_.length;c++){var f=_[c].childArmature;null!==f&&f.inheritAnimation&&f.animation.hasAnimation(i)&&null===f.animation.getState(i)&&f.animation.fadeIn(i)}var p=!1;for(var d in r.animationTimelines){this._lockUpdate||(p=!0,this._lockUpdate=!0);var m=this.fadeIn(d,e.fadeInTime,1,o.layer,null,0);null!==m&&(m.resetToPose=!1,m._parent=o,m.stop())}return p&&(this._lockUpdate=!1),this._lockUpdate||(e.fadeInTime<=0&&this._armature.advanceTime(0),this._lastAnimationState=o),o},i.prototype.play=function(t,e){if(void 0===t&&(t=null),void 0===e&&(e=-1),this._animationConfig.clear(),this._animationConfig.resetToPose=!0,this._animationConfig.playTimes=e,this._animationConfig.fadeInTime=0,this._animationConfig.animation=null!==t?t:"",null!==t&&t.length>0)this.playConfig(this._animationConfig);else if(null===this._lastAnimationState){var i=this._armature.armatureData.defaultAnimation;null!==i&&(this._animationConfig.animation=i.name,this.playConfig(this._animationConfig))}else this._lastAnimationState.isPlaying||this._lastAnimationState.isCompleted?(this._animationConfig.animation=this._lastAnimationState.name,this.playConfig(this._animationConfig)):this._lastAnimationState.play();return this._lastAnimationState},i.prototype.fadeIn=function(t,e,i,r,n,s){return void 0===e&&(e=-1),void 0===i&&(i=-1),void 0===r&&(r=0),void 0===n&&(n=null),void 0===s&&(s=3),this._animationConfig.clear(),this._animationConfig.fadeOutMode=s,this._animationConfig.playTimes=i,this._animationConfig.layer=r,this._animationConfig.fadeInTime=e,this._animationConfig.animation=t,this._animationConfig.group=null!==n?n:"",this.playConfig(this._animationConfig)},i.prototype.gotoAndPlayByTime=function(t,e,i){return void 0===e&&(e=0),void 0===i&&(i=-1),this._animationConfig.clear(),this._animationConfig.resetToPose=!0,this._animationConfig.playTimes=i,this._animationConfig.position=e,this._animationConfig.fadeInTime=0,this._animationConfig.animation=t,this.playConfig(this._animationConfig)},i.prototype.gotoAndPlayByFrame=function(t,e,i){void 0===e&&(e=0),void 0===i&&(i=-1),this._animationConfig.clear(),this._animationConfig.resetToPose=!0,this._animationConfig.playTimes=i,this._animationConfig.fadeInTime=0,this._animationConfig.animation=t;var r=t in this._animations?this._animations[t]:null;return null!==r&&(this._animationConfig.position=r.duration*e/r.frameCount),this.playConfig(this._animationConfig)},i.prototype.gotoAndPlayByProgress=function(t,e,i){void 0===e&&(e=0),void 0===i&&(i=-1),this._animationConfig.clear(),this._animationConfig.resetToPose=!0,this._animationConfig.playTimes=i,this._animationConfig.fadeInTime=0,this._animationConfig.animation=t;var r=t in this._animations?this._animations[t]:null;return null!==r&&(this._animationConfig.position=r.duration*(e>0?e:0)),this.playConfig(this._animationConfig)},i.prototype.gotoAndStopByTime=function(t,e){void 0===e&&(e=0);var i=this.gotoAndPlayByTime(t,e,1);return null!==i&&i.stop(),i},i.prototype.gotoAndStopByFrame=function(t,e){void 0===e&&(e=0);var i=this.gotoAndPlayByFrame(t,e,1);return null!==i&&i.stop(),i},i.prototype.gotoAndStopByProgress=function(t,e){void 0===e&&(e=0);var i=this.gotoAndPlayByProgress(t,e,1);return null!==i&&i.stop(),i},i.prototype.getState=function(t){for(var e=this._animationStates.length;e--;){var i=this._animationStates[e];if(i.name===t)return i}return null},i.prototype.hasAnimation=function(t){return t in this._animations},i.prototype.getStates=function(){return this._animationStates},Object.defineProperty(i.prototype,"isPlaying",{get:function(){for(var t=0,e=this._animationStates;t0},enumerable:!0,configurable:!0}),Object.defineProperty(i.prototype,"lastAnimationName",{get:function(){return null!==this._lastAnimationState?this._lastAnimationState.name:""},enumerable:!0,configurable:!0}),Object.defineProperty(i.prototype,"animationNames",{get:function(){return this._animationNames},enumerable:!0,configurable:!0}),Object.defineProperty(i.prototype,"animations",{get:function(){return this._animations},set:function(t){if(this._animations!==t){for(var e in this._animationNames.length=0,this._animations)delete this._animations[e];for(var e in t)this._animationNames.push(e),this._animations[e]=t[e]}},enumerable:!0,configurable:!0}),Object.defineProperty(i.prototype,"animationConfig",{get:function(){return this._animationConfig.clear(),this._animationConfig},enumerable:!0,configurable:!0}),Object.defineProperty(i.prototype,"lastAnimationState",{get:function(){return this._lastAnimationState},enumerable:!0,configurable:!0}),i.prototype.gotoAndPlay=function(t,e,i,r,n,s,a){void 0===e&&(e=-1),void 0===i&&(i=-1),void 0===r&&(r=-1),void 0===n&&(n=0),void 0===s&&(s=null),void 0===a&&(a=3),console.warn("Deprecated."),this._animationConfig.clear(),this._animationConfig.resetToPose=!0,this._animationConfig.fadeOutMode=a,this._animationConfig.playTimes=r,this._animationConfig.layer=n,this._animationConfig.fadeInTime=e,this._animationConfig.animation=t,this._animationConfig.group=null!==s?s:"";var o=this._animations[t];return o&&i>0&&(this._animationConfig.timeScale=o.duration/i),this.playConfig(this._animationConfig)},i.prototype.gotoAndStop=function(t,e){return void 0===e&&(e=0),console.warn("Deprecated."),this.gotoAndStopByTime(t,e)},Object.defineProperty(i.prototype,"animationList",{get:function(){return console.warn("Deprecated."),this._animationNames},enumerable:!0,configurable:!0}),Object.defineProperty(i.prototype,"animationDataList",{get:function(){console.warn("Deprecated.");for(var t=[],e=0,i=this._animationNames.length;e0;if(this._subFadeState<0){this._subFadeState=0;var n=r?t.EventObject.FADE_OUT:t.EventObject.FADE_IN;this._armature.eventDispatcher.hasDBEventListener(n)&&((i=t.BaseObject.borrowObject(t.EventObject)).type=n,i.armature=this._armature,i.animationState=this,this._armature._dragonBones.bufferEvent(i))}(e<0&&(e=-e),this._fadeTime+=e,this._fadeTime>=this.fadeTotalTime?(this._subFadeState=1,this._fadeProgress=r?0:1):this._fadeTime>0?this._fadeProgress=r?1-this._fadeTime/this.fadeTotalTime:this._fadeTime/this.fadeTotalTime:this._fadeProgress=r?1:0,this._subFadeState>0)&&(r||(this._playheadState|=1,this._fadeState=0),n=r?t.EventObject.FADE_OUT_COMPLETE:t.EventObject.FADE_IN_COMPLETE,this._armature.eventDispatcher.hasDBEventListener(n)&&((i=t.BaseObject.borrowObject(t.EventObject)).type=n,i.armature=this._armature,i.animationState=this,this._armature._dragonBones.bufferEvent(i)))},n.prototype.init=function(e,i,r){if(null===this._armature){if(this._armature=e,this._animationData=i,this.resetToPose=r.resetToPose,this.additiveBlending=r.additiveBlending,this.displayControl=r.displayControl,this.actionEnabled=r.actionEnabled,this.layer=r.layer,this.playTimes=r.playTimes,this.timeScale=r.timeScale,this.fadeTotalTime=r.fadeInTime,this.autoFadeOutTime=r.autoFadeOutTime,this.weight=r.weight,this.name=r.name.length>0?r.name:r.animation,this.group=r.group,r.pauseFadeIn?this._playheadState=2:this._playheadState=3,r.duration<0?(this._position=0,this._duration=this._animationData.duration,0!==r.position?this.timeScale>=0?this._time=r.position:this._time=r.position-this._duration:this._time=0):(this._position=r.position,this._duration=r.duration,this._time=0),this.timeScale<0&&0===this._time&&(this._time=-1e-6),this.fadeTotalTime<=0&&(this._fadeProgress=.999999),r.boneMask.length>0){this._boneMask.length=r.boneMask.length;for(var n=0,s=this._boneMask.length;n0,n=!0,s=!0,a=this._time;if(this._weightResult=this.weight*this._fadeProgress,null!==this._parent&&(this._weightResult*=this._parent._weightResult/this._parent._fadeProgress),this._actionTimeline.playState<=0&&this._actionTimeline.update(a),r){var o=2*i;this._actionTimeline.currentTime=Math.floor(this._actionTimeline.currentTime*o)/o}if(null!==this._zOrderTimeline&&this._zOrderTimeline.playState<=0&&this._zOrderTimeline.update(a),r){var l=Math.floor(this._actionTimeline.currentTime*i);this._armature._cacheFrameIndex===l?(n=!1,s=!1):(this._armature._cacheFrameIndex=l,this._animationData.cachedFrames[l]?s=!1:this._animationData.cachedFrames[l]=!0)}if(n){if(s)for(var h=0,u=this._boneTimelines.length;h0&&(this._subFadeState=0,this._poseTimelines.length>0)){for(var f=0,p=this._poseTimelines;f0&&this.autoFadeOutTime>=0&&this.fadeOut(this.autoFadeOutTime)}}},n.prototype.play=function(){this._playheadState=3},n.prototype.stop=function(){this._playheadState&=1},n.prototype.fadeOut=function(t,e){if(void 0===e&&(e=!0),t<0&&(t=0),e&&(this._playheadState&=2),this._fadeState>0){if(t>this.fadeTotalTime-this._fadeTime)return}else{this._fadeState=1,this._subFadeState=-1,(t<=0||this._fadeProgress<=0)&&(this._fadeProgress=1e-6);for(var i=0,r=this._boneTimelines;i1e-6?t/this._fadeProgress:0,this._fadeTime=this.fadeTotalTime*(1-this._fadeProgress)},n.prototype.containsBoneMask=function(t){return 0===this._boneMask.length||this._boneMask.indexOf(t)>=0},n.prototype.addBoneMask=function(t,e){void 0===e&&(e=!0);var i=this._armature.getBone(t);if(null!==i){if(this._boneMask.indexOf(t)<0&&this._boneMask.push(t),e)for(var r=0,n=this._armature.getBones();r=0&&this._boneMask.splice(i,1),e){var r=this._armature.getBone(t);if(null!==r){var n=this._armature.getBones();if(this._boneMask.length>0)for(var s=0,a=n;s=0&&r.contains(o)&&this._boneMask.splice(l,1)}else for(var h=0,u=n;h0},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"isFadeComplete",{get:function(){return 0===this._fadeState},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"isPlaying",{get:function(){return 0!=(2&this._playheadState)&&this._actionTimeline.playState<=0},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"isCompleted",{get:function(){return this._actionTimeline.playState>0},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"currentPlayTimes",{get:function(){return this._actionTimeline.currentPlayTimes},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"totalTime",{get:function(){return this._duration},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"currentTime",{get:function(){return this._actionTimeline.currentTime},set:function(t){var e=this._actionTimeline.currentPlayTimes-(this._actionTimeline.playState>0?1:0);if((t<0||this._duration0&&e===this.playTimes-1&&t===this._duration&&(t=this._duration-1e-6),this._time!==t){this._time=t,this._actionTimeline.setCurrentTime(this._time),null!==this._zOrderTimeline&&(this._zOrderTimeline.playState=-1);for(var i=0,r=this._boneTimelines;i0))return 0;if(this.layer!==e){if(this.layerWeight>=this.leftWeight)return this.leftWeight=0,0;this.layer=e,this.leftWeight-=this.layerWeight,this.layerWeight=0}return t*=this.leftWeight,this.layerWeight+=t,this.blendWeight=t,2}return this.dirty=!0,this.layer=e,this.layerWeight=t,this.leftWeight=1,this.blendWeight=t,1},t.prototype.clear=function(){this.dirty=!1,this.layer=0,this.leftWeight=0,this.layerWeight=0,this.blendWeight=0},t}();t.BlendState=r}(vnt||(vnt={})),function(t){var e=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return gnt(e,t),e.prototype._onClear=function(){this.playState=-1,this.currentPlayTimes=-1,this.currentTime=-1,this._tweenState=0,this._frameRate=0,this._frameValueOffset=0,this._frameCount=0,this._frameOffset=0,this._frameIndex=-1,this._frameRateR=0,this._position=0,this._duration=0,this._timeScale=1,this._timeOffset=0,this._dragonBonesData=null,this._animationData=null,this._timelineData=null,this._armature=null,this._animationState=null,this._actionTimeline=null,this._frameArray=null,this._frameIntArray=null,this._frameFloatArray=null,this._timelineArray=null,this._frameIndices=null},e.prototype._setCurrentTime=function(t){var e=this.playState,i=this.currentPlayTimes,r=this.currentTime;if(null!==this._actionTimeline&&this._frameCount<=1)this.playState=this._actionTimeline.playState>=0?1:-1,this.currentPlayTimes=1,this.currentTime=this._actionTimeline.currentTime;else if(null===this._actionTimeline||1!==this._timeScale||0!==this._timeOffset){var n=this._animationState.playTimes,s=n*this._duration;t*=this._timeScale,0!==this._timeOffset&&(t+=this._timeOffset*this._animationData.duration),n>0&&(t>=s||t<=-s)?(this.playState<=0&&3===this._animationState._playheadState&&(this.playState=1),this.currentPlayTimes=n,this.currentTime=t<0?0:this._duration+1e-6):(0!==this.playState&&3===this._animationState._playheadState&&(this.playState=0),t<0?(t=-t,this.currentPlayTimes=Math.floor(t/this._duration),this.currentTime=this._duration-t%this._duration):(this.currentPlayTimes=Math.floor(t/this._duration),this.currentTime=t%this._duration)),this.currentTime+=this._position}else this.playState=this._actionTimeline.playState,this.currentPlayTimes=this._actionTimeline.currentPlayTimes,this.currentTime=this._actionTimeline.currentTime;return(this.currentPlayTimes!==i||this.currentTime!==r)&&((e<0&&this.playState!==e||this.playState<=0&&this.currentPlayTimes!==i)&&(this._frameIndex=-1),!0)},e.prototype.init=function(t,e,i){this._armature=t,this._animationState=e,this._timelineData=i,this._actionTimeline=this._animationState._actionTimeline,this===this._actionTimeline&&(this._actionTimeline=null),this._animationData=this._animationState._animationData,this._frameRate=this._animationData.parent.frameRate,this._frameRateR=1/this._frameRate,this._position=this._animationState._position,this._duration=this._animationState._duration,this._dragonBonesData=this._animationData.parent.parent,null!==this._timelineData&&(this._frameIntArray=this._dragonBonesData.frameIntArray,this._frameFloatArray=this._dragonBonesData.frameFloatArray,this._frameArray=this._dragonBonesData.frameArray,this._timelineArray=this._dragonBonesData.timelineArray,this._frameIndices=this._dragonBonesData.frameIndices,this._frameCount=this._timelineArray[this._timelineData.offset+2],this._frameValueOffset=this._timelineArray[this._timelineData.offset+4],this._timeScale=100/this._timelineArray[this._timelineData.offset+0],this._timeOffset=.01*this._timelineArray[this._timelineData.offset+1])},e.prototype.fadeOut=function(){},e.prototype.update=function(t){if(this._setCurrentTime(t)){if(this._frameCount>1){var e=Math.floor(this.currentTime*this._frameRate),i=this._frameIndices[this._timelineData.frameIndicesOffset+e];this._frameIndex!==i&&(this._frameIndex=i,this._frameOffset=this._animationData.frameOffset+this._timelineArray[this._timelineData.offset+5+this._frameIndex],this._onArriveAtFrame())}else this._frameIndex<0&&(this._frameIndex=0,null!==this._timelineData&&(this._frameOffset=this._animationData.frameOffset+this._timelineArray[this._timelineData.offset+5]),this._onArriveAtFrame());0!==this._tweenState&&this._onUpdateFrame()}},e}(t.BaseObject);t.TimelineState=e;var i=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return gnt(e,t),e._getEasingValue=function(t,e,i){var r=e;switch(t){case 3:r=Math.pow(e,2);break;case 4:r=1-Math.pow(1-e,2);break;case 5:r=.5*(1-Math.cos(e*Math.PI))}return(r-e)*i+e},e._getEasingCurveValue=function(t,e,i,r){if(t<=0)return 0;if(t>=1)return 1;var n=i+1,s=Math.floor(t*n),a=0===s?0:e[r+s-1];return 1e-4*(a+((s===n-1?1e4:e[r+s])-a)*(t*n-s))},e.prototype._onClear=function(){t.prototype._onClear.call(this),this._tweenType=0,this._curveCount=0,this._framePosition=0,this._frameDurationR=0,this._tweenProgress=0,this._tweenEasing=0},e.prototype._onArriveAtFrame=function(){if(this._frameCount>1&&(this._frameIndex!==this._frameCount-1||0===this._animationState.playTimes||this._animationState.currentPlayTimes0?1/e:0}else this._tweenState=1},e.prototype._onUpdateFrame=function(){2===this._tweenState?(this._tweenProgress=(this.currentTime-this._framePosition)*this._frameDurationR,2===this._tweenType?this._tweenProgress=e._getEasingCurveValue(this._tweenProgress,this._frameArray,this._curveCount,this._frameOffset+3):1!==this._tweenType&&(this._tweenProgress=e._getEasingValue(this._tweenType,this._tweenProgress,this._tweenEasing))):this._tweenProgress=0},e}(e);t.TweenTimelineState=i;var r=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return gnt(e,t),e.prototype._onClear=function(){t.prototype._onClear.call(this),this.bone=null,this.bonePose=null},e.prototype.blend=function(t){var e=this.bone._blendState.blendWeight,i=this.bone.animationPose,r=this.bonePose.result;2===t?(i.x+=r.x*e,i.y+=r.y*e,i.rotation+=r.rotation*e,i.skew+=r.skew*e,i.scaleX+=(r.scaleX-1)*e,i.scaleY+=(r.scaleY-1)*e):1!==e?(i.x=r.x*e,i.y=r.y*e,i.rotation=r.rotation*e,i.skew=r.skew*e,i.scaleX=(r.scaleX-1)*e+1,i.scaleY=(r.scaleY-1)*e+1):(i.x=r.x,i.y=r.y,i.rotation=r.rotation,i.skew=r.skew,i.scaleX=r.scaleX,i.scaleY=r.scaleY),0===this._animationState._fadeState&&0===this._animationState._subFadeState||(this.bone._transformDirty=!0)},e}(i);t.BoneTimelineState=r;var n=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return gnt(e,t),e.prototype._onClear=function(){t.prototype._onClear.call(this),this.slot=null},e}(i);t.SlotTimelineState=n;var s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return gnt(e,t),e.prototype._onClear=function(){t.prototype._onClear.call(this),this.constraint=null},e}(i);t.ConstraintTimelineState=s}(vnt||(vnt={})),function(t){var e=function(e){function i(){return null!==e&&e.apply(this,arguments)||this}return gnt(i,e),i.toString=function(){return"[class dragonBones.ActionTimelineState]"},i.prototype._onCrossFrame=function(e){var i=this._armature.eventDispatcher;if(this._animationState.actionEnabled)for(var r=this._animationData.frameOffset+this._timelineArray[this._timelineData.offset+5+e],n=this._frameArray[r+1],s=this._animationData.parent.actions,a=0;a0&&s.hasDBEventListener(t.EventObject.COMPLETE)&&((h=t.BaseObject.borrowObject(t.EventObject)).type=t.EventObject.COMPLETE,h.armature=this._armature,h.animationState=this._animationState)),this._frameCount>1){var u=this._timelineData,c=Math.floor(this.currentTime*this._frameRate),_=this._frameIndices[u.frameIndicesOffset+c];if(this._frameIndex!==_){var f=this._frameIndex;if(this._frameIndex=_,null!==this._timelineArray)if(this._frameOffset=this._animationData.frameOffset+this._timelineArray[u.offset+5+this._frameIndex],o){if(f<0){var p=Math.floor(n*this._frameRate);f=this._frameIndices[u.frameIndicesOffset+p],this.currentPlayTimes===r&&f===_&&(f=-1)}for(;f>=0;){var d=this._animationData.frameOffset+this._timelineArray[u.offset+5+f],m=this._frameArray[d]/this._frameRate;if(this._position<=m&&m<=this._position+this._duration&&this._onCrossFrame(f),null!==l&&0===f&&(this._armature._dragonBones.bufferEvent(l),l=null),f>0?f--:f=this._frameCount-1,f===_)break}}else for(f<0&&(p=Math.floor(n*this._frameRate),f=this._frameIndices[u.frameIndicesOffset+p],d=this._animationData.frameOffset+this._timelineArray[u.offset+5+f],m=this._frameArray[d]/this._frameRate,this.currentPlayTimes===r&&(n<=m?f>0?f--:f=this._frameCount-1:f===_&&(f=-1)));f>=0&&(f=0&&(this._frameArray[this._frameOffset+1]>0?this._armature._sortZOrder(this._frameArray,this._frameOffset+2):this._armature._sortZOrder(null,0))},e.prototype._onUpdateFrame=function(){},e}(t.TimelineState);t.ZOrderTimelineState=i;var r=function(e){function i(){return null!==e&&e.apply(this,arguments)||this}return gnt(i,e),i.toString=function(){return"[class dragonBones.BoneAllTimelineState]"},i.prototype._onArriveAtFrame=function(){if(e.prototype._onArriveAtFrame.call(this),null!==this._timelineData){var t=this._animationData.frameFloatOffset+this._frameValueOffset+6*this._frameIndex,i=this._armature._armatureData.scale,r=this._frameFloatArray,n=this.bonePose.current,s=this.bonePose.delta;n.x=r[t++]*i,n.y=r[t++]*i,n.rotation=r[t++],n.skew=r[t++],n.scaleX=r[t++],n.scaleY=r[t++],2===this._tweenState?(this._frameIndex===this._frameCount-1&&(t=this._animationData.frameFloatOffset+this._frameValueOffset),s.x=r[t++]*i-n.x,s.y=r[t++]*i-n.y,s.rotation=r[t++]-n.rotation,s.skew=r[t++]-n.skew,s.scaleX=r[t++]-n.scaleX,s.scaleY=r[t++]-n.scaleY):(s.x=0,s.y=0,s.rotation=0,s.skew=0,s.scaleX=0,s.scaleY=0)}else n=this.bonePose.current,s=this.bonePose.delta,n.x=0,n.y=0,n.rotation=0,n.skew=0,n.scaleX=1,n.scaleY=1,s.x=0,s.y=0,s.rotation=0,s.skew=0,s.scaleX=0,s.scaleY=0},i.prototype._onUpdateFrame=function(){e.prototype._onUpdateFrame.call(this);var t=this.bonePose.current,i=this.bonePose.delta,r=this.bonePose.result;this.bone._transformDirty=!0,2!==this._tweenState&&(this._tweenState=0),r.x=t.x+i.x*this._tweenProgress,r.y=t.y+i.y*this._tweenProgress,r.rotation=t.rotation+i.rotation*this._tweenProgress,r.skew=t.skew+i.skew*this._tweenProgress,r.scaleX=t.scaleX+i.scaleX*this._tweenProgress,r.scaleY=t.scaleY+i.scaleY*this._tweenProgress},i.prototype.fadeOut=function(){var e=this.bonePose.result;e.rotation=t.Transform.normalizeRadian(e.rotation),e.skew=t.Transform.normalizeRadian(e.skew)},i}(t.BoneTimelineState);t.BoneAllTimelineState=r;var n=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return gnt(e,t),e.toString=function(){return"[class dragonBones.BoneTranslateTimelineState]"},e.prototype._onArriveAtFrame=function(){if(t.prototype._onArriveAtFrame.call(this),null!==this._timelineData){var e=this._animationData.frameFloatOffset+this._frameValueOffset+2*this._frameIndex,i=this._armature._armatureData.scale,r=this._frameFloatArray,n=this.bonePose.current,s=this.bonePose.delta;n.x=r[e++]*i,n.y=r[e++]*i,2===this._tweenState?(this._frameIndex===this._frameCount-1&&(e=this._animationData.frameFloatOffset+this._frameValueOffset),s.x=r[e++]*i-n.x,s.y=r[e++]*i-n.y):(s.x=0,s.y=0)}else n=this.bonePose.current,s=this.bonePose.delta,n.x=0,n.y=0,s.x=0,s.y=0},e.prototype._onUpdateFrame=function(){t.prototype._onUpdateFrame.call(this);var e=this.bonePose.current,i=this.bonePose.delta,r=this.bonePose.result;this.bone._transformDirty=!0,2!==this._tweenState&&(this._tweenState=0),r.x=e.x+i.x*this._tweenProgress,r.y=e.y+i.y*this._tweenProgress},e}(t.BoneTimelineState);t.BoneTranslateTimelineState=n;var s=function(e){function i(){return null!==e&&e.apply(this,arguments)||this}return gnt(i,e),i.toString=function(){return"[class dragonBones.BoneRotateTimelineState]"},i.prototype._onArriveAtFrame=function(){if(e.prototype._onArriveAtFrame.call(this),null!==this._timelineData){var i=this._animationData.frameFloatOffset+this._frameValueOffset+2*this._frameIndex,r=this._frameFloatArray,n=this.bonePose.current,s=this.bonePose.delta;n.rotation=r[i++],n.skew=r[i++],2===this._tweenState?(this._frameIndex===this._frameCount-1?(i=this._animationData.frameFloatOffset+this._frameValueOffset,s.rotation=t.Transform.normalizeRadian(r[i++]-n.rotation)):s.rotation=r[i++]-n.rotation,s.skew=r[i++]-n.skew):(s.rotation=0,s.skew=0)}else n=this.bonePose.current,s=this.bonePose.delta,n.rotation=0,n.skew=0,s.rotation=0,s.skew=0},i.prototype._onUpdateFrame=function(){e.prototype._onUpdateFrame.call(this);var t=this.bonePose.current,i=this.bonePose.delta,r=this.bonePose.result;this.bone._transformDirty=!0,2!==this._tweenState&&(this._tweenState=0),r.rotation=t.rotation+i.rotation*this._tweenProgress,r.skew=t.skew+i.skew*this._tweenProgress},i.prototype.fadeOut=function(){var e=this.bonePose.result;e.rotation=t.Transform.normalizeRadian(e.rotation),e.skew=t.Transform.normalizeRadian(e.skew)},i}(t.BoneTimelineState);t.BoneRotateTimelineState=s;var a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return gnt(e,t),e.toString=function(){return"[class dragonBones.BoneScaleTimelineState]"},e.prototype._onArriveAtFrame=function(){if(t.prototype._onArriveAtFrame.call(this),null!==this._timelineData){var e=this._animationData.frameFloatOffset+this._frameValueOffset+2*this._frameIndex,i=this._frameFloatArray,r=this.bonePose.current,n=this.bonePose.delta;r.scaleX=i[e++],r.scaleY=i[e++],2===this._tweenState?(this._frameIndex===this._frameCount-1&&(e=this._animationData.frameFloatOffset+this._frameValueOffset),n.scaleX=i[e++]-r.scaleX,n.scaleY=i[e++]-r.scaleY):(n.scaleX=0,n.scaleY=0)}else r=this.bonePose.current,n=this.bonePose.delta,r.scaleX=1,r.scaleY=1,n.scaleX=0,n.scaleY=0},e.prototype._onUpdateFrame=function(){t.prototype._onUpdateFrame.call(this);var e=this.bonePose.current,i=this.bonePose.delta,r=this.bonePose.result;this.bone._transformDirty=!0,2!==this._tweenState&&(this._tweenState=0),r.scaleX=e.scaleX+i.scaleX*this._tweenProgress,r.scaleY=e.scaleY+i.scaleY*this._tweenProgress},e}(t.BoneTimelineState);t.BoneScaleTimelineState=a;var o=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e._current=[],e._delta=[],e._result=[],e}return gnt(e,t),e.toString=function(){return"[class dragonBones.SurfaceTimelineState]"},e.prototype._onClear=function(){t.prototype._onClear.call(this),this.surface=null,this._frameFloatOffset=0,this._valueCount=0,this._deformCount=0,this._valueOffset=0,this._current.length=0,this._delta.length=0,this._result.length=0},e.prototype._onArriveAtFrame=function(){if(t.prototype._onArriveAtFrame.call(this),null!==this._timelineData){var e=this._animationData.frameFloatOffset+this._frameValueOffset+this._frameIndex*this._valueCount,i=this._armature._armatureData.scale,r=this._frameFloatArray;if(2===this._tweenState){var n=e+this._valueCount;this._frameIndex===this._frameCount-1&&(n=this._animationData.frameFloatOffset+this._frameValueOffset);for(var s=0;s=0){var t=null!==this._timelineData?this._frameArray[this._frameOffset+1]:this.slot._slotData.displayIndex;this.slot.displayIndex!==t&&this.slot._setDisplayIndex(t,!0)}},e}(t.SlotTimelineState);t.SlotDislayTimelineState=l;var h=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e._current=[0,0,0,0,0,0,0,0],e._delta=[0,0,0,0,0,0,0,0],e._result=[0,0,0,0,0,0,0,0],e}return gnt(e,t),e.toString=function(){return"[class dragonBones.SlotColorTimelineState]"},e.prototype._onClear=function(){t.prototype._onClear.call(this),this._dirty=!1},e.prototype._onArriveAtFrame=function(){if(t.prototype._onArriveAtFrame.call(this),null!==this._timelineData){var e=this._dragonBonesData.intArray,i=this._frameIntArray,r=this._animationData.frameIntOffset+this._frameValueOffset+1*this._frameIndex,n=i[r];n<0&&(n+=65536),this._current[0]=e[n++],this._current[1]=e[n++],this._current[2]=e[n++],this._current[3]=e[n++],this._current[4]=e[n++],this._current[5]=e[n++],this._current[6]=e[n++],this._current[7]=e[n++],2===this._tweenState&&((n=this._frameIndex===this._frameCount-1?i[this._animationData.frameIntOffset+this._frameValueOffset]:i[r+1])<0&&(n+=65536),this._delta[0]=e[n++]-this._current[0],this._delta[1]=e[n++]-this._current[1],this._delta[2]=e[n++]-this._current[2],this._delta[3]=e[n++]-this._current[3],this._delta[4]=e[n++]-this._current[4],this._delta[5]=e[n++]-this._current[5],this._delta[6]=e[n++]-this._current[6],this._delta[7]=e[n++]-this._current[7])}else{var s=this.slot._slotData.color;this._current[0]=100*s.alphaMultiplier,this._current[1]=100*s.redMultiplier,this._current[2]=100*s.greenMultiplier,this._current[3]=100*s.blueMultiplier,this._current[4]=s.alphaOffset,this._current[5]=s.redOffset,this._current[6]=s.greenOffset,this._current[7]=s.blueOffset}},e.prototype._onUpdateFrame=function(){t.prototype._onUpdateFrame.call(this),this._dirty=!0,2!==this._tweenState&&(this._tweenState=0),this._result[0]=.01*(this._current[0]+this._delta[0]*this._tweenProgress),this._result[1]=.01*(this._current[1]+this._delta[1]*this._tweenProgress),this._result[2]=.01*(this._current[2]+this._delta[2]*this._tweenProgress),this._result[3]=.01*(this._current[3]+this._delta[3]*this._tweenProgress),this._result[4]=this._current[4]+this._delta[4]*this._tweenProgress,this._result[5]=this._current[5]+this._delta[5]*this._tweenProgress,this._result[6]=this._current[6]+this._delta[6]*this._tweenProgress,this._result[7]=this._current[7]+this._delta[7]*this._tweenProgress},e.prototype.fadeOut=function(){this._tweenState=0,this._dirty=!1},e.prototype.update=function(e){if(t.prototype.update.call(this,e),0!==this._tweenState||this._dirty){var i=this.slot._colorTransform;if(0!==this._animationState._fadeState||0!==this._animationState._subFadeState){if(i.alphaMultiplier!==this._result[0]||i.redMultiplier!==this._result[1]||i.greenMultiplier!==this._result[2]||i.blueMultiplier!==this._result[3]||i.alphaOffset!==this._result[4]||i.redOffset!==this._result[5]||i.greenOffset!==this._result[6]||i.blueOffset!==this._result[7]){var r=Math.pow(this._animationState._fadeProgress,4);i.alphaMultiplier+=(this._result[0]-i.alphaMultiplier)*r,i.redMultiplier+=(this._result[1]-i.redMultiplier)*r,i.greenMultiplier+=(this._result[2]-i.greenMultiplier)*r,i.blueMultiplier+=(this._result[3]-i.blueMultiplier)*r,i.alphaOffset+=(this._result[4]-i.alphaOffset)*r,i.redOffset+=(this._result[5]-i.redOffset)*r,i.greenOffset+=(this._result[6]-i.greenOffset)*r,i.blueOffset+=(this._result[7]-i.blueOffset)*r,this.slot._colorDirty=!0}}else this._dirty&&(this._dirty=!1,i.alphaMultiplier===this._result[0]&&i.redMultiplier===this._result[1]&&i.greenMultiplier===this._result[2]&&i.blueMultiplier===this._result[3]&&i.alphaOffset===this._result[4]&&i.redOffset===this._result[5]&&i.greenOffset===this._result[6]&&i.blueOffset===this._result[7]||(i.alphaMultiplier=this._result[0],i.redMultiplier=this._result[1],i.greenMultiplier=this._result[2],i.blueMultiplier=this._result[3],i.alphaOffset=this._result[4],i.redOffset=this._result[5],i.greenOffset=this._result[6],i.blueOffset=this._result[7],this.slot._colorDirty=!0))}},e}(t.SlotTimelineState);t.SlotColorTimelineState=h;var u=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e._current=[],e._delta=[],e._result=[],e}return gnt(e,t),e.toString=function(){return"[class dragonBones.DeformTimelineState]"},e.prototype._onClear=function(){t.prototype._onClear.call(this),this.vertexOffset=0,this._dirty=!1,this._frameFloatOffset=0,this._valueCount=0,this._deformCount=0,this._valueOffset=0,this._current.length=0,this._delta.length=0,this._result.length=0},e.prototype._onArriveAtFrame=function(){if(t.prototype._onArriveAtFrame.call(this),null!==this._timelineData){var e=this._animationData.frameFloatOffset+this._frameValueOffset+this._frameIndex*this._valueCount,i=this._armature._armatureData.scale,r=this._frameFloatArray;if(2===this._tweenState){var n=e+this._valueCount;this._frameIndex===this._frameCount-1&&(n=this._animationData.frameFloatOffset+this._frameValueOffset);for(var s=0;s=0&&(this._floats[2]=this._floats[0]+this._floats[1]*this._tweenProgress),this._floats[5]=this._floats[3]+this._floats[4]*this._tweenProgress},e.prototype.blend=function(t){var e=this.animationState,i=e._blendState.blendWeight;2===t?(e.weight+=this._floats[5]*i,e.currentTime+=this._floats[2]*i):(e.weight=this._floats[5]*i,e.currentTime=this._floats[2]*i)},e}(t.TweenTimelineState);t.AnimationTimelineState=_}(vnt||(vnt={})),function(t){var e=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return gnt(e,t),e.actionDataToInstance=function(t,i,r){0===t.type?i.type=e.FRAME_EVENT:i.type=10===t.type?e.FRAME_EVENT:e.SOUND_EVENT,i.name=t.name,i.armature=r,i.actionData=t,i.data=t.data,null!==t.bone&&(i.bone=r.getBone(t.bone.name)),null!==t.slot&&(i.slot=r.getSlot(t.slot.name))},e.toString=function(){return"[class dragonBones.EventObject]"},e.prototype._onClear=function(){this.time=0,this.type="",this.name="",this.armature=null,this.bone=null,this.slot=null,this.animationState=null,this.actionData=null,this.data=null},e.START="start",e.LOOP_COMPLETE="loopComplete",e.COMPLETE="complete",e.FADE_IN="fadeIn",e.FADE_IN_COMPLETE="fadeInComplete",e.FADE_OUT="fadeOut",e.FADE_OUT_COMPLETE="fadeOutComplete",e.FRAME_EVENT="frameEvent",e.SOUND_EVENT="soundEvent",e}(t.BaseObject);t.EventObject=e}(vnt||(vnt={})),function(t){var e=function(){function e(){}return e._getArmatureType=function(t){switch(t.toLowerCase()){case"stage":return 2;case"armature":return 0;case"movieclip":return 1;default:return 0}},e._getBoneType=function(t){switch(t.toLowerCase()){case"bone":return 0;case"surface":return 1;default:return 0}},e._getDisplayType=function(t){switch(t.toLowerCase()){case"image":return 0;case"mesh":return 2;case"armature":return 1;case"boundingbox":return 3;case"path":return 4;default:return 0}},e._getBoundingBoxType=function(t){switch(t.toLowerCase()){case"rectangle":return 0;case"ellipse":return 1;case"polygon":return 2;default:return 0}},e._getActionType=function(t){switch(t.toLowerCase()){case"play":return 0;case"frame":return 10;case"sound":return 11;default:return 0}},e._getBlendMode=function(t){switch(t.toLowerCase()){case"normal":return 0;case"add":return 1;case"alpha":return 2;case"darken":return 3;case"difference":return 4;case"erase":return 5;case"hardlight":return 6;case"invert":return 7;case"layer":return 8;case"lighten":return 9;case"multiply":return 10;case"overlay":return 11;case"screen":return 12;case"subtract":return 13;default:return 0}},e._getPositionMode=function(t){switch(t.toLocaleLowerCase()){case"percent":return 1;case"fixed":return 0;default:return 1}},e._getSpacingMode=function(t){switch(t.toLocaleLowerCase()){case"length":return 0;case"percent":return 2;case"fixed":return 1;default:return 0}},e._getRotateMode=function(t){switch(t.toLocaleLowerCase()){case"tangent":return 0;case"chain":return 1;case"chainscale":return 2;default:return 0}},e.parseDragonBonesData=function(e){return console.warn("Deprecated."),e instanceof ArrayBuffer?t.BinaryDataParser.getInstance().parseDragonBonesData(e):t.ObjectDataParser.getInstance().parseDragonBonesData(e)},e.parseTextureAtlasData=function(i,r){void 0===r&&(r=1),console.warn("已废弃");for(var n={},s=i[e.SUB_TEXTURE],a=0,o=s.length;a255)return encodeURI(n);return n}return String(n)}return r},r.prototype._getCurvePoint=function(t,e,i,r,n,s,a,o,l,h){var u=1-l,c=u*u,_=l*l,f=u*c,p=3*l*c,d=3*u*_,m=l*_;h.x=f*t+p*i+d*n+m*a,h.y=f*e+p*r+d*s+m*o},r.prototype._samplingEasingCurve=function(t,e){for(var i=t.length,r=-2,n=0,s=e.length;n=0&&r+61e-4;){var g=.5*(y+m);this._getCurvePoint(l,h,u,c,_,f,p,d,g,this._helpPoint),a-this._helpPoint.x>0?m=g:y=g}e[n]=this._helpPoint.y}},r.prototype._parseActionDataInFrame=function(e,i,r,n){t.DataParser.EVENT in e&&this._mergeActionFrame(e[t.DataParser.EVENT],i,10,r,n),t.DataParser.SOUND in e&&this._mergeActionFrame(e[t.DataParser.SOUND],i,11,r,n),t.DataParser.ACTION in e&&this._mergeActionFrame(e[t.DataParser.ACTION],i,0,r,n),t.DataParser.EVENTS in e&&this._mergeActionFrame(e[t.DataParser.EVENTS],i,10,r,n),t.DataParser.ACTIONS in e&&this._mergeActionFrame(e[t.DataParser.ACTIONS],i,0,r,n)},r.prototype._mergeActionFrame=function(e,r,n,s,a){for(var o=t.DragonBones.webAssembly?this._armature.actions.size():this._armature.actions.length,l=this._parseActionData(e,n,s,a),h=0,u=null,c=0,_=l;c<_.length;c++){var f=_[c];this._armature.addAction(f,!1)}0===this._actionFrames.length&&((u=new i).frameStart=0,this._actionFrames.push(u),u=null);for(var p=0,d=this._actionFrames;pr)break;h++}null===u&&((u=new i).frameStart=r,this._actionFrames.splice(h+1,0,u));for(var y=0;y0){var f=n.getBone(c);null!==f?_.parent=f:(c in this._cacheBones||(this._cacheBones[c]=[]),this._cacheBones[c].push(_))}if(_.name in this._cacheBones){for(var p=0,d=this._cacheBones[_.name];p0&&null!==i.parent?(s.root=i.parent,s.bone=i):(s.root=i,s.bone=null),s},r.prototype._parsePathConstraint=function(e){var i=this._armature.getSlot(r._getString(e,t.DataParser.TARGET,""));if(null===i)return null;var n=this._armature.defaultSkin;if(null===n)return null;var s=n.getDisplay(i.name,r._getString(e,t.DataParser.TARGET_DISPLAY,i.name));if(null===s||!(s instanceof t.PathDisplayData))return null;var a=e[t.DataParser.BONES];if(null===a||0===a.length)return null;var o=t.BaseObject.borrowObject(t.PathConstraintData);o.name=r._getString(e,t.DataParser.NAME,""),o.type=1,o.pathSlot=i,o.pathDisplayData=s,o.target=i.parent,o.positionMode=t.DataParser._getPositionMode(r._getString(e,t.DataParser.POSITION_MODE,"")),o.spacingMode=t.DataParser._getSpacingMode(r._getString(e,t.DataParser.SPACING_MODE,"")),o.rotateMode=t.DataParser._getRotateMode(r._getString(e,t.DataParser.ROTATE_MODE,"")),o.position=r._getNumber(e,t.DataParser.POSITION,0),o.spacing=r._getNumber(e,t.DataParser.SPACING,0),o.rotateOffset=r._getNumber(e,t.DataParser.ROTATE_OFFSET,0),o.rotateMix=r._getNumber(e,t.DataParser.ROTATE_MIX,1),o.translateMix=r._getNumber(e,t.DataParser.TRANSLATE_MIX,1);for(var l=0,h=a;l0?n:i,this._parsePivot(e,o);break;case 1:var l=a=t.BaseObject.borrowObject(t.ArmatureDisplayData);if(l.name=i,l.path=n.length>0?n:i,l.inheritAnimation=!0,t.DataParser.ACTIONS in e)for(var h=0,u=this._parseActionData(e[t.DataParser.ACTIONS],0,null,null);h0?n:i,d.vertices.data=this._data,t.DataParser.SHARE in e?(this._cacheRawMeshes.push(e),this._cacheMeshes.push(d)):this._parseMesh(e,d),t.DataParser.GLUE_WEIGHTS in e&&t.DataParser.GLUE_MESHES in e&&(this._cacheRawMeshes.push(e),this._cacheMeshes.push(d));break;case 3:var m=this._parseBoundingBox(e);if(null!==m){var y=a=t.BaseObject.borrowObject(t.BoundingBoxDisplayData);y.name=i,y.path=n.length>0?n:i,y.boundingBox=m}break;case 4:var g=e[t.DataParser.LENGTHS],v=a=t.BaseObject.borrowObject(t.PathDisplayData);v.closed=r._getBoolean(e,t.DataParser.CLOSED,!1),v.constantSpeed=r._getBoolean(e,t.DataParser.CONSTANT_SPEED,!1),v.name=i,v.path=n.length>0?n:i,v.vertices.data=this._data,v.curveLengths.length=g.length;for(var b=0,S=g.length;bi.width&&(i.width=l),hi.height&&(i.height=h))}i.width-=i.x,i.height-=i.y}else console.warn("Data error.\n Please reexport DragonBones Data to fixed the bug.");return i},r.prototype._parseAnimation=function(e){var i=t.BaseObject.borrowObject(t.AnimationData);if(i.frameCount=Math.max(r._getNumber(e,t.DataParser.DURATION,1),1),i.playTimes=r._getNumber(e,t.DataParser.PLAY_TIMES,1),i.duration=i.frameCount/this._armature.frameRate,i.fadeInTime=r._getNumber(e,t.DataParser.FADE_IN_TIME,0),i.scale=r._getNumber(e,t.DataParser.SCALE,1),i.name=r._getString(e,t.DataParser.NAME,t.DataParser.DEFAULT_NAME),0===i.name.length&&(i.name=t.DataParser.DEFAULT_NAME),i.frameIntOffset=this._frameIntArray.length,i.frameFloatOffset=this._frameFloatArray.length,i.frameOffset=this._frameArray.length,this._animation=i,t.DataParser.FRAME in e){var n=e[t.DataParser.FRAME],s=n.length;if(s>0)for(var a=0,o=0;a0&&(this._animation.actionTimeline=this._parseTimeline(null,this._actionFrames,"",0,!1,!1,0,this._parseActionFrame),this._actionFrames.length=0),this._animation=null,i},r.prototype._parseTimeline=function(e,n,s,a,o,l,h,u){if(null!==e&&s.length>0&&s in e&&(n=e[s]),null===n)return null;var c=n.length;if(0===c)return null;var _=this._frameIntArray.length,f=this._frameFloatArray.length,p=t.BaseObject.borrowObject(t.TimelineData),d=this._timelineArray.length;if(this._timelineArray.length+=5+c,null!==e?(this._timelineArray[d+0]=Math.round(100*r._getNumber(e,t.DataParser.SCALE,1)),this._timelineArray[d+1]=Math.round(100*r._getNumber(e,t.DataParser.OFFSET,0))):(this._timelineArray[d+0]=100,this._timelineArray[d+1]=0),this._timelineArray[d+2]=c,this._timelineArray[d+3]=h,this._timelineArray[d+4]=o?_-this._animation.frameIntOffset:l?f-this._animation.frameFloatOffset:0,this._timeline=p,p.type=a,p.offset=d,1===c)p.frameIndicesOffset=-1,this._timelineArray[d+5+0]=u.call(this,n[0],0,0)-this._animation.frameOffset;else{var m=this._animation.frameCount+1,y=this._data.frameIndices,g=0;t.DragonBones.webAssembly?(g=y.size(),y.resize(g+m,0)):(g=y.length,y.length+=m),p.frameIndicesOffset=g;for(var v=0,b=0,S=0,A=0;v0)if(t.DataParser.CURVE in e){var a=n+1;this._helpArray.length=a,this._samplingEasingCurve(e[t.DataParser.CURVE],this._helpArray),this._frameArray.length+=2+this._helpArray.length,this._frameArray[s+1]=2,this._frameArray[s+2]=a;for(var o=0;o0){for(var a=this._armature.sortedSlots.length,o=new Array(a-s.length/2),l=new Array(a),h=0;h0?s>=this._prevRotation:s<=this._prevRotation)&&(this._prevClockwise=this._prevClockwise>0?this._prevClockwise-1:this._prevClockwise+1),s=this._prevRotation+s-this._prevRotation+t.Transform.PI_D*this._prevClockwise)),this._prevClockwise=r._getNumber(e,t.DataParser.TWEEN_ROTATE,0),this._prevRotation=s;var a=this._parseTweenFrame(e,i,n),o=this._frameFloatArray.length;return this._frameFloatArray.length+=6,this._frameFloatArray[o++]=this._helpTransform.x,this._frameFloatArray[o++]=this._helpTransform.y,this._frameFloatArray[o++]=s,this._frameFloatArray[o++]=this._helpTransform.skew,this._frameFloatArray[o++]=this._helpTransform.scaleX,this._frameFloatArray[o++]=this._helpTransform.scaleY,this._parseActionDataInFrame(e,i,this._bone,this._slot),a},r.prototype._parseBoneTranslateFrame=function(e,i,n){var s=this._parseTweenFrame(e,i,n),a=this._frameFloatArray.length;return this._frameFloatArray.length+=2,this._frameFloatArray[a++]=r._getNumber(e,t.DataParser.X,0),this._frameFloatArray[a++]=r._getNumber(e,t.DataParser.Y,0),s},r.prototype._parseBoneRotateFrame=function(e,i,n){var s=r._getNumber(e,t.DataParser.ROTATE,0)*t.Transform.DEG_RAD;0!==i&&(0===this._prevClockwise?s=this._prevRotation+t.Transform.normalizeRadian(s-this._prevRotation):((this._prevClockwise>0?s>=this._prevRotation:s<=this._prevRotation)&&(this._prevClockwise=this._prevClockwise>0?this._prevClockwise-1:this._prevClockwise+1),s=this._prevRotation+s-this._prevRotation+t.Transform.PI_D*this._prevClockwise)),this._prevClockwise=r._getNumber(e,t.DataParser.CLOCK_WISE,0),this._prevRotation=s;var a=this._parseTweenFrame(e,i,n),o=this._frameFloatArray.length;return this._frameFloatArray.length+=2,this._frameFloatArray[o++]=s,this._frameFloatArray[o++]=r._getNumber(e,t.DataParser.SKEW,0)*t.Transform.DEG_RAD,a},r.prototype._parseBoneScaleFrame=function(e,i,n){var s=this._parseTweenFrame(e,i,n),a=this._frameFloatArray.length;return this._frameFloatArray.length+=2,this._frameFloatArray[a++]=r._getNumber(e,t.DataParser.X,1),this._frameFloatArray[a++]=r._getNumber(e,t.DataParser.Y,1),s},r.prototype._parseSurfaceFrame=function(e,i,n){var s=this._frameFloatArray.length,a=this._parseTweenFrame(e,i,n),o=e[t.DataParser.VERTICES],l=r._getNumber(e,t.DataParser.OFFSET,0),h=this._surface.vertices.length/2,u=0,c=0;this._frameFloatArray.length+=2*h;for(var _=0;_<2*h;_+=2)u=_=o.length?0:o[_-l],c=_+1=o.length?0:o[_+1-l],this._frameFloatArray[s+_]=u,this._frameFloatArray[s+_+1]=c;if(0===i){var f=this._frameIntArray.length;this._frameIntArray.length+=5,this._frameIntArray[f+0]=0,this._frameIntArray[f+1]=this._frameFloatArray.length-s,this._frameIntArray[f+2]=this._frameFloatArray.length-s,this._frameIntArray[f+3]=0,this._frameIntArray[f+4]=s-this._animation.frameFloatOffset,this._timelineArray[this._timeline.offset+3]=f-this._animation.frameIntOffset}return a},r.prototype._parseSlotDisplayFrame=function(e,i,n){var s=this._parseFrame(e,i,n);return this._frameArray.length+=1,t.DataParser.VALUE in e?this._frameArray[s+1]=r._getNumber(e,t.DataParser.VALUE,0):this._frameArray[s+1]=r._getNumber(e,t.DataParser.DISPLAY_INDEX,0),this._parseActionDataInFrame(e,i,this._slot.parent,this._slot),s},r.prototype._parseSlotColorFrame=function(e,i,r){var n=this._parseTweenFrame(e,i,r),s=-1;if(t.DataParser.VALUE in e||t.DataParser.COLOR in e){var a=t.DataParser.VALUE in e?e[t.DataParser.VALUE]:e[t.DataParser.COLOR];for(var o in a){this._parseColorTransform(a,this._helpColorTransform),s=this._intArray.length,this._intArray.length+=8,this._intArray[s++]=Math.round(100*this._helpColorTransform.alphaMultiplier),this._intArray[s++]=Math.round(100*this._helpColorTransform.redMultiplier),this._intArray[s++]=Math.round(100*this._helpColorTransform.greenMultiplier),this._intArray[s++]=Math.round(100*this._helpColorTransform.blueMultiplier),this._intArray[s++]=Math.round(this._helpColorTransform.alphaOffset),this._intArray[s++]=Math.round(this._helpColorTransform.redOffset),this._intArray[s++]=Math.round(this._helpColorTransform.greenOffset),this._intArray[s++]=Math.round(this._helpColorTransform.blueOffset),s-=8;break}}s<0&&(this._defaultColorOffset<0&&(this._defaultColorOffset=s=this._intArray.length,this._intArray.length+=8,this._intArray[s++]=100,this._intArray[s++]=100,this._intArray[s++]=100,this._intArray[s++]=100,this._intArray[s++]=0,this._intArray[s++]=0,this._intArray[s++]=0,this._intArray[s++]=0),s=this._defaultColorOffset);var l=this._frameIntArray.length;return this._frameIntArray.length+=1,this._frameIntArray[l]=s,n},r.prototype._parseSlotFFDFrame=function(e,i,n){var s=this._frameFloatArray.length,a=this._parseTweenFrame(e,i,n),o=t.DataParser.VERTICES in e?e[t.DataParser.VERTICES]:null,l=r._getNumber(e,t.DataParser.OFFSET,0),h=this._intArray[this._mesh.vertices.offset+0],u=this._mesh.parent.name+"_"+this._slot.name+"_"+this._mesh.name,c=this._mesh.vertices.weight,_=0,f=0,p=0,d=0;if(null!==c){var m=this._weightSlotPose[u];this._helpMatrixA.copyFromArray(m,0),this._frameFloatArray.length+=2*c.count,p=c.offset+2+c.bones.length}else this._frameFloatArray.length+=2*h;for(var y=0;y<2*h;y+=2)if(null===o?(_=0,f=0):(_=y=o.length?0:o[y-l],f=y+1=o.length?0:o[y+1-l]),null!==c){var g=this._weightBonePoses[u],v=this._intArray[p++];this._helpMatrixA.transformPoint(_,f,this._helpPoint,!0),_=this._helpPoint.x,f=this._helpPoint.y;for(var b=0;b=0||t.DataParser.DATA_VERSIONS.indexOf(s)>=0){var a=t.BaseObject.borrowObject(t.DragonBonesData);if(a.version=n,a.name=r._getString(e,t.DataParser.NAME,""),a.frameRate=r._getNumber(e,t.DataParser.FRAME_RATE,24),0===a.frameRate&&(a.frameRate=24),t.DataParser.ARMATURE in e){this._data=a,this._parseArray(e);for(var o=0,l=e[t.DataParser.ARMATURE];o0&&(a.stage=a.getArmature(a.armatureNames[0])),this._data=null}return t.DataParser.TEXTURE_ATLAS in e&&(this._rawTextureAtlases=e[t.DataParser.TEXTURE_ATLAS]),a}return console.assert(!1,"Nonsupport data version: "+n+"\nPlease convert DragonBones data to support version.\nRead more: https://github.com/DragonBones/Tools/"),null},r.prototype.parseTextureAtlasData=function(e,i,n){if(void 0===n&&(n=1),console.assert(void 0!==e),null===e){if(null===this._rawTextureAtlases||0===this._rawTextureAtlases.length)return!1;var s=this._rawTextureAtlases[this._rawTextureAtlasIndex++];return this.parseTextureAtlasData(s,i,n),this._rawTextureAtlasIndex>=this._rawTextureAtlases.length&&(this._rawTextureAtlasIndex=0,this._rawTextureAtlases=null),!0}if(i.width=r._getNumber(e,t.DataParser.WIDTH,0),i.height=r._getNumber(e,t.DataParser.HEIGHT,0),i.scale=1===n?1/r._getNumber(e,t.DataParser.SCALE,1):n,i.name=r._getString(e,t.DataParser.NAME,""),i.imagePath=r._getString(e,t.DataParser.IMAGE_PATH,""),t.DataParser.SUB_TEXTURE in e)for(var a=e[t.DataParser.SUB_TEXTURE],o=0,l=a.length;o0&&_>0&&(u.frame=t.TextureData.createRectangle(),u.frame.x=r._getNumber(h,t.DataParser.FRAME_X,0),u.frame.y=r._getNumber(h,t.DataParser.FRAME_Y,0),u.frame.width=c,u.frame.height=_),i.addTexture(u)}return!0},r.getInstance=function(){return null===r._objectDataParserInstance&&(r._objectDataParserInstance=new r),r._objectDataParserInstance},r._objectDataParserInstance=null,r}(t.DataParser);t.ObjectDataParser=e;var i=function(){this.frameStart=0,this.actions=[]};t.ActionFrame=i}(vnt||(vnt={})),function(t){var e=function(e){function i(){return null!==e&&e.apply(this,arguments)||this}return gnt(i,e),i.prototype._inRange=function(t,e,i){return e<=t&&t<=i},i.prototype._decodeUTF8=function(t){for(var e,i=0,r="",n=0,s=0,a=0,o=0;t.length>i;){var l=t[i++];if(-1===l)e=0!==s?65533:-1;else if(0===s)this._inRange(l,0,127)?e=l:(this._inRange(l,194,223)?(s=1,o=128,n=l-192):this._inRange(l,224,239)?(s=2,o=2048,n=l-224):this._inRange(l,240,244)&&(s=3,o=65536,n=l-240),n*=Math.pow(64,s),e=null);else if(this._inRange(l,128,191))if(a+=1,n+=(l-128)*Math.pow(64,s-a),a!==s)e=null;else{var h=n,u=o;n=0,s=0,a=0,o=0,e=this._inRange(h,u,1114111)&&!this._inRange(h,55296,57343)?h:l}else n=0,s=0,a=0,o=0,i--,e=l;null!==e&&-1!==e&&(e<=65535?e>0&&(r+=String.fromCharCode(e)):(e-=65536,r+=String.fromCharCode(55296+(e>>10&1023)),r+=String.fromCharCode(56320+(1023&e))))}return r},i.prototype._getUTF16Key=function(t){for(var e=0,i=t.length;e255)return encodeURI(t);return t},i.prototype._parseBinaryTimeline=function(e,i,r){void 0===r&&(r=null);var n=null!==r?r:t.BaseObject.borrowObject(t.TimelineData);n.type=e,n.offset=i,this._timeline=n;var s=this._timelineArrayBuffer[n.offset+2];if(1===s)n.frameIndicesOffset=-1;else{var a=0,o=this._animation.frameCount+1,l=this._data.frameIndices;t.DragonBones.webAssembly?(a=l.size(),l.resize(a+o,0)):(a=l.length,l.length+=o),n.frameIndicesOffset=a;for(var h=0,u=0,c=0,_=0;h=0){var n=t.BaseObject.borrowObject(t.WeightData),s=this._intArrayBuffer[i.offset+0],a=this._intArrayBuffer[r+0];n.offset=r;for(var o=0;o0&&e in this._dragonBonesDataMap&&(a=(s=this._dragonBonesDataMap[e]).getArmature(i)),null===a&&(0===e.length||this.autoSearch))for(var o in this._dragonBonesDataMap)if(s=this._dragonBonesDataMap[o],(0===e.length||s.autoSearch)&&null!==(a=s.getArmature(i))){e=o;break}if(null!==a){if(t.dataName=e,t.textureAtlasName=n,t.data=s,t.armature=a,t.skin=null,r.length>0&&(t.skin=a.getSkin(r),null===t.skin&&this.autoSearch))for(var o in this._dragonBonesDataMap){var l=this._dragonBonesDataMap[o].getArmature(r);if(null!==l){t.skin=l.defaultSkin;break}}return null===t.skin&&(t.skin=a.defaultSkin),!0}return!1},e.prototype._buildBones=function(e,i){for(var r=0,n=e.armature.sortedBones;r0&&(o.texture=this._getTextureData(e.textureAtlasName,i.path)),null===o.texture&&(o.texture=this._getTextureData(s,i.path)),a=null!==r&&2===r.type&&this._isSupportMesh()?n.meshDisplay:n.rawDisplay;break;case 2:var l=i;null!==e&&e.textureAtlasName.length>0&&(l.texture=this._getTextureData(e.textureAtlasName,l.path)),null===l.texture&&(l.texture=this._getTextureData(s,l.path)),a=this._isSupportMesh()?n.meshDisplay:n.rawDisplay;break;case 1:var h=i,u=this._buildChildArmature(e,n,i);if(null!==u){if(u.inheritAnimation=h.inheritAnimation,!u.inheritAnimation){var c=h.actions.length>0?h.actions:u.armatureData.defaultActions;if(c.length>0)for(var _=0,f=c;_=0)){var u=i.getDisplays(h.name);if(u||(null!==a&&i!==a&&(u=a.getDisplays(h.name)),u)){var c=t.DragonBones.webAssembly?u.size():u.length,_=h.displayList;_.length=c;for(var f=0,p=c;f0&&r.inheritDeform,a=this._localVertices;if(n){var o=r.data,l=o.intArray,h=o.floatArray,u=l[r.offset+$st.MeshVertexCount],c=l[n.offset+$st.WeigthFloatOffset];c<0&&(c+=65536);for(var _=0,f=n.offset+$st.WeigthBoneIndices+i.length,p=c,d=0,m=0;_=0;o--)if(s>=e[o]._zOrder){e.splice(o+1,0,n),a=!0;break}a||e.splice(0,0,n)}this._slots=e},i._buildArmature=function(t){var e=Ont.borrowObject(mst);e._skinData=t.skin,e._animation=Ont.borrowObject(Tst),e._animation._armature=e,e._animation.animations=t.armature.animations,e._isChildArmature=!1;var i=new cat;return e.init(t.armature,i,i,this._dragonBones),e},i._buildSlot=function(t,e,i){var r=Ont.borrowObject(uat),n=r;return r.init(e,i,n,n),r},i.getDragonBonesDataByUUID=function(t){for(var e in this._dragonBonesDataMap)if(-1!==e.indexOf(t))return this._dragonBonesDataMap[e];return null},i.removeDragonBonesDataByUUID=function(t,e){for(var i in void 0===e&&(e=!0),this._dragonBonesDataMap)-1!==i.indexOf(t)&&(e&&this._dragonBones.bufferObject(this._dragonBonesDataMap[i]),delete this._dragonBonesDataMap[i])},e}(Zst),Tnt._factory=null,xnt=wnt))||xnt,fat=1/60,pat=[],dat=[],mat=0,yat=0,gat=0,vat=null,bat=null,Sat=0,Aat=0,Cat=0,xat=0,Tat=0,wat=function(){function t(){this._privateMode=!1,this._inited=!1,this._invalid=!0,this._enableCacheAttachedInfo=!1,this.frames=[],this.totalTime=0,this.isCompleted=!1,this._frameIdx=-1,this._armatureInfo=null,this._animationName=null,this._tempSegments=null,this._tempColors=null,this._tempBoneInfos=null}var e=t.prototype;return e.init=function(t,e){this._inited=!0,this._armatureInfo=t,this._animationName=e},e.clear=function(){this._inited=!1;for(var t=0,e=this.frames.length;t0&&(n[xat-1].vfOffset=gat),n.length=xat,s.length=mat;var a=Cat-1;if(a>=0)if(Aat>0){var o=r[a];o.indexCount=Aat,o.vfCount=5*Sat,o.vertexCount=Sat,r.length=Cat}else r.length=Cat-1;if(0!==r.length){var l=i.vertices,h=i.uintVert;(!l||l.length=0&&(Aat>0?((u=_[h]).indexCount=Aat,u.vertexCount=Sat,u.vfCount=5*Sat):Cat--),_[Cat]={tex:l,blendMode:n._blendMode,indexCount:0,vertexCount:0,vfCount:0},Cat++,Aat=0,Sat=0),o=(a.a*e<<24>>>0)+(a.b<<16)+(a.g<<8)+a.r,Tat!==o&&(Tat=o,xat>0&&(c[xat-1].vfOffset=gat),c[xat++]={r:a.r,g:a.g,b:a.b,a:a.a*e,vfOffset:0}),i=n._localVertices,r=n._indices,s=n._worldMatrix;for(var T=0,w=i.length;T":0},n=i.animations,s=0;for(var a in n)n.hasOwnProperty(a)&&(r[a]=s+1,s++);return yi(r)}return null},i.destroy=function(){return this._clear(),t.prototype.destroy.call(this)},i._clear=function(){this._factory&&(Eat.sharedCache.resetArmature(this._uuid),this._factory.removeDragonBonesDataByUUID(this._uuid,!0))},Pe(e,[{key:"dragonBonesJson",get:function(){return this._dragonBonesJson},set:function(t){this._dragonBonesJson=t,this._dragonBonesJsonData=JSON.parse(t),this.reset()}}]),e}(ai),Pnt=oi((Mnt=Rnt).prototype,"_dragonBonesJson",[_i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return""}}),Dnt=Mnt))||Dnt;He.internal.DragonBonesAsset=Vat;var kat,Nat=(Bat=ri("dragonBones.DragonBonesAtlasAsset"),Dat=bi(qe),Bat((Lat=function(t){function e(){var e;return e=t.call(this)||this,li(e,"_atlasJson",Rat,hi(e)),li(e,"_texture",Iat,hi(e)),li(e,"_atlasJsonData",Oat,hi(e)),e._factory=null,li(e,"_textureAtlasData",Fat,hi(e)),e._clear(),e}Me(e,t);var i=e.prototype;return i.createNode=function(t){var e=new ur(this.name);return e.addComponent("dragonBones.ArmatureDisplay").dragonAtlasAsset=this,t(null,e)},i.init=function(t){this._factory=t,this._atlasJsonData||(this._atlasJsonData=JSON.parse(this.atlasJson));var e=this._atlasJsonData;this._uuid=this._uuid||e.name,this._textureAtlasData?t.addTextureAtlasData(this._textureAtlasData,this._uuid):this._textureAtlasData=t.parseTextureAtlasData(e,this.texture,this._uuid)},i.destroy=function(){return this._clear(),t.prototype.destroy.call(this)},i._clear=function(){this._factory&&(Eat.sharedCache.resetArmature(this._uuid),this._factory.removeTextureAtlasData(this._uuid,!0),this._factory.removeDragonBonesDataByUUID(this._uuid,!0)),this._textureAtlasData=null},Pe(e,[{key:"atlasJson",get:function(){return this._atlasJson},set:function(t){this._atlasJson=t,this._atlasJsonData=JSON.parse(this.atlasJson),this._clear()}},{key:"texture",get:function(){return this._texture},set:function(t){this._texture=t,this._clear()}}]),e}(ai),Rat=oi((Pat=Lat).prototype,"_atlasJson",[_i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return""}}),Iat=oi(Pat.prototype,"_texture",[_i,Dat],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return null}}),Oat=oi(Pat.prototype,"_atlasJsonData",[_i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return{}}}),Fat=oi(Pat.prototype,"_textureAtlasData",[_i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return null}}),Mat=Pat))||Mat);He.internal.DragonBonesAtlasAsset=Nat;var Gat,zat,Uat,Hat,jat,Wat,Xat,Yat,qat,Jat,Kat,Zat,Qat,$at,tot,eot,iot,rot,not,sot,aot,oot,lot,hot,uot,cot,_ot,fot,pot,dot,mot,yot,got,vot,bot,Sot,Aot,Cot,xot,Tot,wot,Eot,Bot,Dot,Mot,Pot,Rot,Iot,Oot,Fot,Lot,Vot=new Ri,kot=ri("dragonBones.AttachUtil")(kat=function(){function t(){this._inited=!1,this._armature=null,this._armatureNode=null,this._armatureDisplay=null}var e=t.prototype;return e.init=function(t){this._inited=!0,this._armature=t._armature,this._armatureNode=t.node,this._armatureDisplay=t},e.reset=function(){this._inited=!1,this._armature=null,this._armatureNode=null,this._armatureDisplay=null},e._syncAttachedNode=function(){if(this._inited){this._armatureNode.worldMatrix;var t=null,e=this._armatureDisplay.isAnimationCached();if(!e||!this._armatureDisplay||(t=this._armatureDisplay._curFrame&&this._armatureDisplay._curFrame.boneInfos))for(var i,r,n,s=this._armatureDisplay.sockets,a=this._armatureDisplay.socketNodes,o=new ii,l=this._armature.getBones(),h=s.length-1;h>=0;h--){var u=s[h],c=u.target;if(c)if(c.isValid){var _=e?t[u.boneIndex]:l[u.boneIndex];_&&(i=c,r=_.globalTransformMatrix,n=void 0,(n=Vot).m00=r.a,n.m01=r.b,n.m04=-r.c,n.m05=-r.d,n.m12=r.tx,n.m13=r.ty,i._oldScale||(i._oldScale=i.scale.clone()),o.set(i._oldScale),i.matrix=Vot,i.scale=o.multiply(this._armatureNode.scale))}else a.delete(u.path),s.splice(h,1)}}},t}())||kat;function Not(t,e,i){gs.Attr.setClassAttr(t,e,"type","Enum"),gs.Attr.setClassAttr(t,e,"enumList",yi.getList(i))}!function(t){t[t.default=-1]="default"}(Iot||(Iot={})),Pr(Iot),function(t){t[t[""]=0]=""}(Oot||(Oot={})),Pr(Oot),function(t){t[t.REALTIME=0]="REALTIME"}(Fot||(Fot={})),Pr(Oot),function(t){t[t.REALTIME=0]="REALTIME",t[t.SHARED_CACHE=1]="SHARED_CACHE",t[t.PRIVATE_CACHE=2]="PRIVATE_CACHE"}(Lot||(Lot={})),Pr(Lot);var Got=(Gat=ri("dragonBones.ArmatureDisplay.DragonBoneSocket"),zat=bi(ur),Gat((jat=oi((Hat=function(t,e){void 0===t&&(t=""),void 0===e&&(e=null),li(this,"path",jat,this),li(this,"target",Wat,this),this.boneIndex=null,this.path=t,this.target=e}).prototype,"path",[_i,vi],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return""}}),Wat=oi(Hat.prototype,"target",[zat,vi,_i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return null}}),Uat=Hat))||Uat);bs(Got,"dragonBones.ArmatureDisplay.DragonBoneSocket");var zot=(Xat=ri("dragonBones.ArmatureDisplay"),Yat=wi(),qat=Bi(),Jat=bi(Vat),Kat=Di(),Zat=bi(Nat),Qat=Di(),$at=Mi(),tot=Mi(),eot=Ir(),iot=bi(Iot),rot=Di(),not=bi(Oot),sot=Ir(),aot=Di(),oot=Ir(),lot=Di(),hot=Di(),uot=Di(),cot=Di(),_ot=Di(),fot=bi([Got]),pot=Di(),Xat(dot=Yat(dot=qat(dot=Si((Rot=Pot=function(t){function e(){var e;return e=t.call(this)||this,li(e,"playTimes",yot,hi(e)),li(e,"premultipliedAlpha",got,hi(e)),e._armature=null,e.attachUtil=void 0,li(e,"_defaultArmatureIndexValue",vot,hi(e)),li(e,"_dragonAsset",bot,hi(e)),li(e,"_dragonAtlasAsset",Sot,hi(e)),li(e,"_armatureName",Aot,hi(e)),li(e,"_animationName",Cot,hi(e)),li(e,"_animationIndexValue",xot,hi(e)),e._preCacheMode=-1,e._cacheMode=Lot.REALTIME,li(e,"_defaultCacheModeValue",Tot,hi(e)),li(e,"_timeScale",wot,hi(e)),li(e,"_playTimes",Eot,hi(e)),li(e,"_debugBones",Bot,hi(e)),e._debugDraw=null,li(e,"_enableBatch",Dot,hi(e)),e._armatureKey="",e._accTime=0,e._playCount=0,e._frameCache=null,e._curFrame=null,e._playing=!1,e._armatureCache=null,e._eventTarget=void 0,e._factory=null,e._displayProxy=null,e._meshRenderDataArray=[],e._materialCache={},e._enumArmatures=yi({}),e._enumAnimations=yi({}),e._socketNodes=new Map,e._cachedSockets=new Map,li(e,"_sockets",Mot,hi(e)),e._inited=void 0,e._meshRenderDataArrayIdx=0,e._cacheModeEnum=void 0,e._eventTarget=new os,e._inited=!1,e.attachUtil=new kot,e.initFactory(),Not(hi(e),"_animationIndex",e._enumAnimations),Not(hi(e),"_defaultArmatureIndex",e._enumArmatures),e}Me(e,t);var i=e.prototype;return i.initFactory=function(){this._factory=_at.getInstance()},i.onLoad=function(){for(var t=this.node.children,e=0,i=t.length;e0&&0===t[t.length-1].renderData.vertexCount)return t[t.length-1];var e={renderData:new I_,texture:null};return t.push(e),e},i.destroyRenderData=function(){this._meshRenderDataArray&&(this._meshRenderDataArray.forEach((function(t){t.renderData.reset()})),this._meshRenderDataArray.length=0)},i.resetRenderData=function(){this._meshRenderDataArray&&this._meshRenderDataArray.forEach((function(t){t.renderData.reset()}))},i.getMaterialForBlend=function(t,e){var i=t+"/"+e,r=this._materialCache[i];if(r)return r;var n=this.getMaterial(0);return(r=new Vr({parent:n,subModelIdx:0,owner:this})).recompileShaders({USE_LOCAL:!1},0),this._materialCache[i]=r,r.overridePipelineStates({blendState:{targets:[{blendSrc:t,blendDst:e}]}}),r},i._render=function(t){if(this._meshRenderDataArray)for(var e=0;e=i.length){if(this._playCount++,this.playTimes>0&&this._playCount>=this.playTimes)return this._curFrame=i[i.length-1],this._accTime=0,this._playing=!1,this._playCount=0,this._emitCacheCompleteEvent(),void this.attachUtil._syncAttachedNode();this._accTime=0,n=0,this._emitCacheCompleteEvent()}this._curFrame=i[n],this.attachUtil._syncAttachedNode()}else e.isInvalid()&&(e.updateToFrame(),this._curFrame=i[i.length-1])}}},i.onDestroy=function(){this._materialInstances=this._materialInstances.filter((function(t){return!!t})),t.prototype.onDestroy.call(this),this._inited=!1,this._cacheMode===Lot.PRIVATE_CACHE?(this._armatureCache.dispose(),this._armatureCache=null,this._armature=null):this._cacheMode===Lot.SHARED_CACHE?(this._armatureCache=null,this._armature=null):this._armature&&(this._armature.dispose(),this._armature=null),this.destroyRenderData()},i._updateDebugDraw=function(){if(this.debugBones){if(!this._debugDraw){var t=new ur("DEBUG_DRAW_NODE");t.hideFlags|=Lr.Flags.DontSave|Lr.Flags.HideInHierarchy;var e=t.addComponent(Hd);e.lineWidth=1,e.strokeColor=new Ui(255,0,0,255),this._debugDraw=e}this._debugDraw.node.parent=this.node}else this._debugDraw&&(this._debugDraw.node.parent=null);this.destroyRenderData(),this.markForUpdateRenderData()},i._buildArmature=function(){if(this.dragonAsset&&this.dragonAtlasAsset&&this.armatureName){this._armature&&(this._preCacheMode===Lot.PRIVATE_CACHE?this._armatureCache.dispose():this._preCacheMode===Lot.REALTIME&&this._armature.dispose(),this._armatureCache=null,this._armature=null,this._displayProxy=null,this._frameCache=null,this._curFrame=null,this._playing=!1,this._preCacheMode=-1),this._cacheMode===Lot.SHARED_CACHE?this._armatureCache=Eat.sharedCache:this._cacheMode===Lot.PRIVATE_CACHE&&(this._armatureCache=new Eat,this._armatureCache.enablePrivateMode());var t=this.dragonAtlasAsset._uuid;if(this._armatureKey=this.dragonAsset.init(this._factory,t),this.isAnimationCached()&&(this._armature=this._armatureCache.getArmatureCache(this.armatureName,this._armatureKey,t),this._armature||(this._cacheMode=Lot.REALTIME)),this._preCacheMode=this._cacheMode,this._cacheMode===Lot.REALTIME){if(this._displayProxy=this._factory.buildArmatureDisplay(this.armatureName,this._armatureKey,"",t),!this._displayProxy)return;this._displayProxy._ccNode=this.node,this._displayProxy._ccComponent=this,this._displayProxy.setEventTarget(this._eventTarget),this._armature=this._displayProxy._armature,this._armature.animation.timeScale=this.timeScale}if(this._cacheMode!==Lot.REALTIME&&this.debugBones&&console.warn("Debug bones is invalid in cached mode"),this._armature){var e=this._armature.armatureData.aabb;this.node._uiProps.uiTransformComp.setContentSize(e.width,e.height)}this._updateBatch(),this.attachUtil.init(this),this.animationName&&this.playAnimation(this.animationName,this.playTimes),this.destroyRenderData(),this.markForUpdateRenderData()}},i.querySockets=function(){return this._armature?(0===this._cachedSockets.size&&this._indexBoneSockets(),Array.from(this._cachedSockets.keys()).sort()):[]},i.setBlendHash=function(){-1!==this._blendHash&&(this._blendHash=-1)},i.querySocketPathByName=function(t){for(var e,i=[],r=Fe(this._cachedSockets.keys());!(e=r()).done;){var n=e.value;n.endsWith(t)&&i.push(n)}return i},i._parseDragonAtlasAsset=function(){this.dragonAtlasAsset&&this.dragonAtlasAsset.init(this._factory)},i._refresh=function(){this._buildArmature(),this.markForUpdateRenderData()},i._updateCacheModeEnum=function(){this._cacheModeEnum=yi({}),this._armature?Object.assign(this._cacheModeEnum,Lot):Object.assign(this._cacheModeEnum,Fot),Not(this,"_defaultCacheMode",this._cacheModeEnum)},i._updateAnimEnum=function(){var t;t=this.dragonAsset?this.dragonAsset.getAnimsEnum(this.armatureName):Oot,this._enumAnimations=yi({}),Object.assign(this._enumAnimations,t||Oot),yi.update(this._enumAnimations),Not(this,"_animationIndex",this._enumAnimations)},i._updateArmatureEnum=function(){var t;t=this.dragonAsset?this.dragonAsset.getArmatureEnum():Iot,this._enumArmatures=yi({}),Object.assign(this._enumArmatures,t||Iot),yi.update(this._enumArmatures),Not(this,"_defaultArmatureIndex",this._enumArmatures)},i._indexBoneSockets=function(){if(this._armature){this._cachedSockets.clear();var t=this._cachedSockets,e=function t(e,i,r){if(r.has(e))return r.get(e);var n=i[e];if(!n.parent)return r.set(e,n.name),n.path=n.name,n.name;var s=t(n.parent._boneIndex,i,r)+"/"+n.name;return r.set(e,s),n.path=s,s};!function i(r,n){for(var s=n.getBones(),a=new Map,o=0;o0&&this._frameCache.enableCacheAttachedInfo(),this._frameCache.updateToFrame(0),this._playing=!0,this._curFrame=this._frameCache.frames[0])}else if(this._armature)return this._armature.animation.play(t,this.playTimes);return this.markForUpdateRenderData(),null},i.updateAnimationCache=function(t){this.isAnimationCached()&&this._armatureCache.updateAnimationCache(this._armatureKey,t)},i.invalidAnimationCache=function(){this.isAnimationCached()&&this._armatureCache.invalidAnimationCache(this._armatureKey)},i.getArmatureNames=function(){var t=this._factory.getDragonBonesData(this._armatureKey);return t&&t.armatureNames||[]},i.getAnimationNames=function(t){var e=[],i=this._factory.getDragonBonesData(this._armatureKey);if(i){var r=i.getArmature(t);if(r)for(var n in r.animations)r.animations.hasOwnProperty(n)&&e.push(n)}return e},i.on=function(t,e,i){this.addEventListener(t,e,i)},i.off=function(t,e,i){this.removeEventListener(t,e,i)},i.once=function(t,e,i){this._eventTarget.once(t,e,i)},i.addEventListener=function(t,e,i){this._eventTarget.on(t,e,i)},i.removeEventListener=function(t,e,i){this._eventTarget.off(t,e,i)},i.buildArmature=function(t,e){return this._factory.createArmatureNode(this,t,e)},i.armature=function(){return this._armature},i._flushAssembler=function(){var t=e.Assembler.getAssembler(this);this._assembler!==t&&(this._assembler=t),0===this._meshRenderDataArray.length&&this._assembler&&this._assembler.createData&&(this._assembler.createData(this),this.markForUpdateRenderData(),this._updateColor())},i._updateSocketBindings=function(){if(this._armature){this._socketNodes.clear();for(var t=0,e=this._sockets.length;t0&&this._frameCache&&this._frameCache.enableCacheAttachedInfo()}},{key:"socketNodes",get:function(){return this._socketNodes}},{key:"meshRenderDataArray",get:function(){return this._meshRenderDataArray}}]),e}(Ap),Pot.AnimationCacheMode=Lot,oi((mot=Rot).prototype,"dragonAsset",[vi,Jat,Kat],Object.getOwnPropertyDescriptor(mot.prototype,"dragonAsset"),mot.prototype),oi(mot.prototype,"dragonAtlasAsset",[vi,Zat,Qat],Object.getOwnPropertyDescriptor(mot.prototype,"dragonAtlasAsset"),mot.prototype),oi(mot.prototype,"armatureName",[$at],Object.getOwnPropertyDescriptor(mot.prototype,"armatureName"),mot.prototype),oi(mot.prototype,"animationName",[tot],Object.getOwnPropertyDescriptor(mot.prototype,"animationName"),mot.prototype),oi(mot.prototype,"_defaultArmatureIndex",[eot,vi,iot,rot],Object.getOwnPropertyDescriptor(mot.prototype,"_defaultArmatureIndex"),mot.prototype),oi(mot.prototype,"_animationIndex",[vi,not,sot,aot],Object.getOwnPropertyDescriptor(mot.prototype,"_animationIndex"),mot.prototype),oi(mot.prototype,"_defaultCacheMode",[vi,oot,lot],Object.getOwnPropertyDescriptor(mot.prototype,"_defaultCacheMode"),mot.prototype),oi(mot.prototype,"timeScale",[vi,hot,_i],Object.getOwnPropertyDescriptor(mot.prototype,"timeScale"),mot.prototype),yot=oi(mot.prototype,"playTimes",[uot,vi,_i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return-1}}),got=oi(mot.prototype,"premultipliedAlpha",[_i,vi,cot],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),oi(mot.prototype,"debugBones",[_ot,vi],Object.getOwnPropertyDescriptor(mot.prototype,"debugBones"),mot.prototype),oi(mot.prototype,"sockets",[fot,pot],Object.getOwnPropertyDescriptor(mot.prototype,"sockets"),mot.prototype),vot=oi(mot.prototype,"_defaultArmatureIndexValue",[_i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return Iot.default}}),bot=oi(mot.prototype,"_dragonAsset",[_i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return null}}),Sot=oi(mot.prototype,"_dragonAtlasAsset",[_i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return null}}),Aot=oi(mot.prototype,"_armatureName",[_i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return""}}),Cot=oi(mot.prototype,"_animationName",[_i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return""}}),xot=oi(mot.prototype,"_animationIndexValue",[_i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 0}}),Tot=oi(mot.prototype,"_defaultCacheModeValue",[_i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return Lot.REALTIME}}),wot=oi(mot.prototype,"_timeScale",[_i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 1}}),Eot=oi(mot.prototype,"_playTimes",[_i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return-1}}),Bot=oi(mot.prototype,"_debugBones",[_i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),Dot=oi(mot.prototype,"_enableBatch",[_i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),Mot=oi(mot.prototype,"_sockets",[_i],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return[]}}),dot=mot))||dot)||dot)||dot)||dot);He.internal.ArmatureDisplay=zot;var Uot,Hot,jot,Wot,Xot,Yot,qot,Jot,Kot,Zot,Qot,$ot,tlt,elt,ilt,rlt,nlt,slt,alt,olt,llt,hlt,ult,clt=new Ui(255,0,0,255),_lt=new Ui(0,0,255,255),flt=new Ui(0,255,0,255),plt=new Float32Array(4),dlt=new ii;function mlt(t,e){if(!t)return null;var i,r;switch(e){case 1:i=Xot?E.ONE:E.SRC_ALPHA,r=E.ONE;break;case 10:i=E.DST_COLOR,r=E.ONE_MINUS_SRC_ALPHA;break;case 12:i=E.ONE,r=E.ONE_MINUS_SRC_COLOR;break;case 0:default:i=Xot?E.ONE:E.SRC_ALPHA,r=E.ONE_MINUS_SRC_ALPHA}return Kot.setBlendHash(),Kot.getMaterialForBlend(i,r)}function ylt(t,e){var i=t.a*e*Wot,r=Xot?i/255:1,n=t.r*Uot*r/255,s=t.g*Hot*r/255,a=t.b*jot*r/255;plt[0]=n,plt[1]=s,plt[2]=a,plt[3]=Xot?1:i/255}function glt(t){plt[0]=(255&t>>>24)/255,plt[1]=(255&t>>>16)/255,plt[2]=(255&t>>>8)/255,plt[3]=(255&t>>>0)/255}var vlt={createData:function(){},updateRenderData:function(t){Kot=t,function(t){var e=t._armature;if(e){t.markForUpdateRenderData(),t.destroyRenderData(),Yot=!0,Xot=t.premultipliedAlpha,Jot=t.node,qot=t.requestMeshRenderData(),Kot=t,nlt=0;var i,r=t.color;if(Uot=r.r/255,Hot=r.g/255,jot=r.b/255,Wot=r.a/255,4294967295!==r._val&&(nlt|=1),Kot._enableBatch&&(i=Jot.worldMatrix,Yot=!1,nlt|=16),t.isAnimationCached())!function(t,e){if(t){var i,r,n,s=t.segments;if(0!==s.length){var a=t.vertices,o=new Uint32Array(a.buffer),l=t.indices,h=0,u=0,c=0;e&&(slt=e.m00,llt=e.m01,alt=e.m04,hlt=e.m05,olt=e.m12,ult=e.m13);var _=16&nlt,f=_&&(1===slt&&0===llt&&0===alt&&1===hlt),p=0,d=t.colors,m=d[p++],y=m.vfOffset;ylt(m,1);for(var g=0,v=s.length;g=y&&(ylt(m=d[p++],1),y=m.vfOffset),i.set(plt,P)}}}}(t._curFrame,i);else{blt(e,i,1);var n=t._debugDraw;if(t.debugBones&&n){n.clear(),n.lineWidth=5,n.strokeColor=clt,n.fillColor=_lt;for(var s=e.getBones(),a=0,o=s.length;a>2,a=n.indicesOffset,o=n.vertexOffset,l=i[t._meshRenderDataArrayIdx].renderData;n.request(l.vertexCount,l.indicesCount)||(n=e.currBufferBatch,s=0,a=0,o=0);var h=n.vData,u=n.iData,c=r.worldMatrix,_=l.vData,f=l.vertexStart,p=l.iData;if(h.set(_.slice(f,f+9*l.vertexCount),s),!t._enableBatch)for(var d=0;d>2,o=h._indices,elt=o.length;var p=qot.renderData;p.reserve(tlt,elt),Qot=p.indicesCount,Zot=p.vDataOffset,$ot=p.vertexCount,r=qot.renderData.vData,n=qot.renderData.iData,slt=c.m00,alt=c.m04,olt=c.m12,llt=c.m01,hlt=c.m05,ult=c.m13;for(var d=0,m=a.length;d