1 |
- (function(t,e,i){function n(i,r){var s=e[i];if(!s){var o=t[i];if(!o)return;var a={};s=e[i]={exports:a},o[0]((function(t){return n(o[1][t]||t)}),s,a)}return s.exports}for(var r=0;r<i.length;r++)n(i[r])})({1:[(function(t,e,i){"use strict";t("../core/platform/CCClass");var n=t("../core/utils/misc");cc.Action=cc.Class({name:"cc.Action",ctor:function(){this.originalTarget=null,this.target=null,this.tag=cc.Action.TAG_INVALID},clone:function(){var t=new cc.Action;return t.originalTarget=null,t.target=null,t.tag=this.tag,t},isDone:function(){return!0},startWithTarget:function(t){this.originalTarget=t,this.target=t},stop:function(){this.target=null},step:function(t){cc.logID(1006)},update:function(t){cc.logID(1007)},getTarget:function(){return this.target},setTarget:function(t){this.target=t},getOriginalTarget:function(){return this.originalTarget},setOriginalTarget:function(t){this.originalTarget=t},getTag:function(){return this.tag},setTag:function(t){this.tag=t},retain:function(){},release:function(){}}),cc.Action.TAG_INVALID=-1,cc.FiniteTimeAction=cc.Class({name:"cc.FiniteTimeAction",extends:cc.Action,ctor:function(){this._duration=0},getDuration:function(){return this._duration*(this._timesForRepeat||1)},setDuration:function(t){this._duration=t},reverse:function(){return cc.logID(1008),null},clone:function(){return new cc.FiniteTimeAction}}),cc.Speed=cc.Class({name:"cc.Speed",extends:cc.Action,ctor:function(t,e){this._speed=0,this._innerAction=null,t&&this.initWithAction(t,e)},getSpeed:function(){return this._speed},setSpeed:function(t){this._speed=t},initWithAction:function(t,e){return t?(this._innerAction=t,this._speed=e,!0):(cc.errorID(1021),!1)},clone:function(){var t=new cc.Speed;return t.initWithAction(this._innerAction.clone(),this._speed),t},startWithTarget:function(t){cc.Action.prototype.startWithTarget.call(this,t),this._innerAction.startWithTarget(t)},stop:function(){this._innerAction.stop(),cc.Action.prototype.stop.call(this)},step:function(t){this._innerAction.step(t*this._speed)},isDone:function(){return this._innerAction.isDone()},reverse:function(){return new cc.Speed(this._innerAction.reverse(),this._speed)},setInnerAction:function(t){this._innerAction!==t&&(this._innerAction=t)},getInnerAction:function(){return this._innerAction}}),cc.speed=function(t,e){return new cc.Speed(t,e)},cc.Follow=cc.Class({name:"cc.Follow",extends:cc.Action,ctor:function(t,e){this._followedNode=null,this._boundarySet=!1,this._boundaryFullyCovered=!1,this._halfScreenSize=null,this._fullScreenSize=null,this.leftBoundary=0,this.rightBoundary=0,this.topBoundary=0,this.bottomBoundary=0,this._worldRect=cc.rect(0,0,0,0),t&&(e?this.initWithTarget(t,e):this.initWithTarget(t))},clone:function(){var t=new cc.Follow,e=this._worldRect,i=new cc.Rect(e.x,e.y,e.width,e.height);return t.initWithTarget(this._followedNode,i),t},isBoundarySet:function(){return this._boundarySet},setBoudarySet:function(t){this._boundarySet=t},initWithTarget:function(t,e){if(!t)return cc.errorID(1022),!1;e=e||cc.rect(0,0,0,0),this._followedNode=t,this._worldRect=e,this._boundarySet=!(0===e.width&&0===e.height),this._boundaryFullyCovered=!1;var i=cc.winSize;return this._fullScreenSize=cc.v2(i.width,i.height),this._halfScreenSize=this._fullScreenSize.mul(.5),this._boundarySet&&(this.leftBoundary=-(e.x+e.width-this._fullScreenSize.x),this.rightBoundary=-e.x,this.topBoundary=-e.y,this.bottomBoundary=-(e.y+e.height-this._fullScreenSize.y),this.rightBoundary<this.leftBoundary&&(this.rightBoundary=this.leftBoundary=(this.leftBoundary+this.rightBoundary)/2),this.topBoundary<this.bottomBoundary&&(this.topBoundary=this.bottomBoundary=(this.topBoundary+this.bottomBoundary)/2),this.topBoundary===this.bottomBoundary&&this.leftBoundary===this.rightBoundary&&(this._boundaryFullyCovered=!0)),!0},step:function(t){var e=this.target.convertToWorldSpaceAR(cc.Vec2.ZERO),i=this._followedNode.convertToWorldSpaceAR(cc.Vec2.ZERO),r=e.sub(i),s=this.target.parent.convertToNodeSpaceAR(r.add(this._halfScreenSize));if(this._boundarySet){if(this._boundaryFullyCovered)return;this.target.setPosition(n.clampf(s.x,this.leftBoundary,this.rightBoundary),n.clampf(s.y,this.bottomBoundary,this.topBoundary))}else this.target.setPosition(s.x,s.y)},isDone:function(){return!this._followedNode.activeInHierarchy},stop:function(){this.target=null,cc.Action.prototype.stop.call(this)}}),cc.follow=function(t,e){return new cc.Follow(t,e)}}),{"../core/platform/CCClass":160,"../core/utils/misc":249}],2:[(function(t,e,i){"use strict";function n(t,e,i,n,r,s){var o=s*s,a=o*s,c=(1-r)/2,l=c*(2*o-a-s),h=c*(-a+o)+(2*a-3*o+1),u=c*(a-2*o+s)+(-2*a+3*o),_=c*(a-o),f=t.x*l+e.x*h+i.x*u+n.x*_,d=t.y*l+e.y*h+i.y*u+n.y*_;return cc.v2(f,d)}function r(t,e){return t[Math.min(t.length-1,Math.max(e,0))]}function s(t){for(var e=[],i=t.length-1;i>=0;i--)e.push(cc.v2(t[i].x,t[i].y));return e}function o(t){for(var e=[],i=0;i<t.length;i++)e.push(cc.v2(t[i].x,t[i].y));return e}cc.CardinalSplineTo=cc.Class({name:"cc.CardinalSplineTo",extends:cc.ActionInterval,ctor:function(t,e,i){this._points=[],this._deltaT=0,this._tension=0,this._previousPosition=null,this._accumulatedDiff=null,void 0!==i&&cc.CardinalSplineTo.prototype.initWithDuration.call(this,t,e,i)},initWithDuration:function(t,e,i){return e&&0!==e.length?!!cc.ActionInterval.prototype.initWithDuration.call(this,t)&&(this.setPoints(e),this._tension=i,!0):(cc.errorID(1024),!1)},clone:function(){var t=new cc.CardinalSplineTo;return t.initWithDuration(this._duration,o(this._points),this._tension),t},startWithTarget:function(t){cc.ActionInterval.prototype.startWithTarget.call(this,t),this._deltaT=1/(this._points.length-1),this._previousPosition=cc.v2(this.target.x,this.target.y),this._accumulatedDiff=cc.v2(0,0)},update:function(t){var e,i;t=this._computeEaseTime(t);var s=this._points;if(1===t)e=s.length-1,i=1;else{var o=this._deltaT;i=(t-o*(e=0|t/o))/o}var a,c,l=n(r(s,e-1),r(s,e-0),r(s,e+1),r(s,e+2),this._tension,i);if(cc.macro.ENABLE_STACKABLE_ACTIONS&&(a=this.target.x-this._previousPosition.x,c=this.target.y-this._previousPosition.y,0!==a||0!==c)){var h=this._accumulatedDiff;a=h.x+a,c=h.y+c,h.x=a,h.y=c,l.x+=a,l.y+=c}this.updatePosition(l)},reverse:function(){var t=s(this._points);return cc.cardinalSplineTo(this._duration,t,this._tension)},updatePosition:function(t){this.target.setPosition(t),this._previousPosition=t},getPoints:function(){return this._points},setPoints:function(t){this._points=t}}),cc.cardinalSplineTo=function(t,e,i){return new cc.CardinalSplineTo(t,e,i)},cc.CardinalSplineBy=cc.Class({name:"cc.CardinalSplineBy",extends:cc.CardinalSplineTo,ctor:function(t,e,i){this._startPosition=cc.v2(0,0),void 0!==i&&this.initWithDuration(t,e,i)},startWithTarget:function(t){cc.CardinalSplineTo.prototype.startWithTarget.call(this,t),this._startPosition.x=t.x,this._startPosition.y=t.y},reverse:function(){for(var t,e=this._points.slice(),i=e[0],n=1;n<e.length;++n)t=e[n],e[n]=t.sub(i),i=t;var r=s(e);i=r[r.length-1],r.pop(),i.x=-i.x,i.y=-i.y,r.unshift(i);for(n=1;n<r.length;++n)(t=r[n]).x=-t.x,t.y=-t.y,t.x+=i.x,t.y+=i.y,r[n]=t,i=t;return cc.cardinalSplineBy(this._duration,r,this._tension)},updatePosition:function(t){var e=this._startPosition,i=t.x+e.x,n=t.y+e.y;this._previousPosition.x=i,this._previousPosition.y=n,this.target.setPosition(i,n)},clone:function(){var t=new cc.CardinalSplineBy;return t.initWithDuration(this._duration,o(this._points),this._tension),t}}),cc.cardinalSplineBy=function(t,e,i){return new cc.CardinalSplineBy(t,e,i)},cc.CatmullRomTo=cc.Class({name:"cc.CatmullRomTo",extends:cc.CardinalSplineTo,ctor:function(t,e){e&&this.initWithDuration(t,e)},initWithDuration:function(t,e){return cc.CardinalSplineTo.prototype.initWithDuration.call(this,t,e,.5)},clone:function(){var t=new cc.CatmullRomTo;return t.initWithDuration(this._duration,o(this._points)),t}}),cc.catmullRomTo=function(t,e){return new cc.CatmullRomTo(t,e)},cc.CatmullRomBy=cc.Class({name:"cc.CatmullRomBy",extends:cc.CardinalSplineBy,ctor:function(t,e){e&&this.initWithDuration(t,e)},initWithDuration:function(t,e){return cc.CardinalSplineTo.prototype.initWithDuration.call(this,t,e,.5)},clone:function(){var t=new cc.CatmullRomBy;return t.initWithDuration(this._duration,o(this._points)),t}}),cc.catmullRomBy=function(t,e){return new cc.CatmullRomBy(t,e)}}),{}],3:[(function(t,e,i){"use strict";cc.easeIn=function(t){return{_rate:t,easing:function(t){return Math.pow(t,this._rate)},reverse:function(){return cc.easeIn(1/this._rate)}}},cc.easeOut=function(t){return{_rate:t,easing:function(t){return Math.pow(t,1/this._rate)},reverse:function(){return cc.easeOut(1/this._rate)}}},cc.easeInOut=function(t){return{_rate:t,easing:function(t){return(t*=2)<1?.5*Math.pow(t,this._rate):1-.5*Math.pow(2-t,this._rate)},reverse:function(){return cc.easeInOut(this._rate)}}};var n={easing:function(t){return 0===t?0:Math.pow(2,10*(t-1))},reverse:function(){return r}};cc.easeExponentialIn=function(){return n};var r={easing:function(t){return 1===t?1:1-Math.pow(2,-10*t)},reverse:function(){return n}};cc.easeExponentialOut=function(){return r};var s={easing:function(t){return 1!==t&&0!==t?(t*=2)<1?.5*Math.pow(2,10*(t-1)):.5*(2-Math.pow(2,-10*(t-1))):t},reverse:function(){return s}};cc.easeExponentialInOut=function(){return s};var o={easing:function(t){return 0===t||1===t?t:-1*Math.cos(t*Math.PI/2)+1},reverse:function(){return a}};cc.easeSineIn=function(){return o};var a={easing:function(t){return 0===t||1===t?t:Math.sin(t*Math.PI/2)},reverse:function(){return o}};cc.easeSineOut=function(){return a};var c={easing:function(t){return 0===t||1===t?t:-.5*(Math.cos(Math.PI*t)-1)},reverse:function(){return c}};cc.easeSineInOut=function(){return c};var l={easing:function(t){return 0===t||1===t?t:(t-=1,-Math.pow(2,10*t)*Math.sin((t-.075)*Math.PI*2/.3))},reverse:function(){return h}};cc.easeElasticIn=function(t){return t&&.3!==t?{_period:t,easing:function(t){return 0===t||1===t?t:(t-=1,-Math.pow(2,10*t)*Math.sin((t-this._period/4)*Math.PI*2/this._period))},reverse:function(){return cc.easeElasticOut(this._period)}}:l};var h={easing:function(t){return 0===t||1===t?t:Math.pow(2,-10*t)*Math.sin((t-.075)*Math.PI*2/.3)+1},reverse:function(){return l}};function u(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375}cc.easeElasticOut=function(t){return t&&.3!==t?{_period:t,easing:function(t){return 0===t||1===t?t:Math.pow(2,-10*t)*Math.sin((t-this._period/4)*Math.PI*2/this._period)+1},reverse:function(){return cc.easeElasticIn(this._period)}}:h},cc.easeElasticInOut=function(t){return{_period:t=t||.3,easing:function(t){var e=0,i=this._period;if(0===t||1===t)e=t;else{t*=2,i||(i=this._period=.3*1.5);var n=i/4;e=(t-=1)<0?-.5*Math.pow(2,10*t)*Math.sin((t-n)*Math.PI*2/i):Math.pow(2,-10*t)*Math.sin((t-n)*Math.PI*2/i)*.5+1}return e},reverse:function(){return cc.easeElasticInOut(this._period)}}};var _={easing:function(t){return 1-u(1-t)},reverse:function(){return f}};cc.easeBounceIn=function(){return _};var f={easing:function(t){return u(t)},reverse:function(){return _}};cc.easeBounceOut=function(){return f};var d={easing:function(t){return t<.5?.5*(1-u(1-(t*=2))):.5*u(2*t-1)+.5},reverse:function(){return d}};cc.easeBounceInOut=function(){return d};var p={easing:function(t){return 0===t||1===t?t:t*t*(2.70158*t-1.70158)},reverse:function(){return m}};cc.easeBackIn=function(){return p};var m={easing:function(t){return(t-=1)*t*(2.70158*t+1.70158)+1},reverse:function(){return p}};cc.easeBackOut=function(){return m};var y={easing:function(t){return(t*=2)<1?t*t*(3.5949095*t-2.5949095)/2:(t-=2)*t*(3.5949095*t+2.5949095)/2+1},reverse:function(){return y}};cc.easeBackInOut=function(){return y},cc.easeBezierAction=function(t,e,i,n){return{easing:function(r){return Math.pow(1-r,3)*t+3*r*Math.pow(1-r,2)*e+3*Math.pow(r,2)*(1-r)*i+Math.pow(r,3)*n},reverse:function(){return cc.easeBezierAction(n,i,e,t)}}};var v={easing:function(t){return Math.pow(t,2)},reverse:function(){return v}};cc.easeQuadraticActionIn=function(){return v};var g={easing:function(t){return-t*(t-2)},reverse:function(){return g}};cc.easeQuadraticActionOut=function(){return g};var x={easing:function(t){return(t*=2)<1?t*t*.5:-.5*(--t*(t-2)-1)},reverse:function(){return x}};cc.easeQuadraticActionInOut=function(){return x};var C={easing:function(t){return t*t*t*t},reverse:function(){return C}};cc.easeQuarticActionIn=function(){return C};var A={easing:function(t){return-((t-=1)*t*t*t-1)},reverse:function(){return A}};cc.easeQuarticActionOut=function(){return A};var b={easing:function(t){return(t*=2)<1?.5*t*t*t*t:-.5*((t-=2)*t*t*t-2)},reverse:function(){return b}};cc.easeQuarticActionInOut=function(){return b};var S={easing:function(t){return t*t*t*t*t},reverse:function(){return S}};cc.easeQuinticActionIn=function(){return S};var T={easing:function(t){return(t-=1)*t*t*t*t+1},reverse:function(){return T}};cc.easeQuinticActionOut=function(){return T};var w={easing:function(t){return(t*=2)<1?.5*t*t*t*t*t:.5*((t-=2)*t*t*t*t+2)},reverse:function(){return w}};cc.easeQuinticActionInOut=function(){return w};var E={easing:function(t){return-1*(Math.sqrt(1-t*t)-1)},reverse:function(){return E}};cc.easeCircleActionIn=function(){return E};var B={easing:function(t){return t-=1,Math.sqrt(1-t*t)},reverse:function(){return B}};cc.easeCircleActionOut=function(){return B};var M={easing:function(t){return(t*=2)<1?-.5*(Math.sqrt(1-t*t)-1):(t-=2,.5*(Math.sqrt(1-t*t)+1))},reverse:function(){return M}};cc.easeCircleActionInOut=function(){return M};var I={easing:function(t){return t*t*t},reverse:function(){return I}};cc.easeCubicActionIn=function(){return I};var R={easing:function(t){return(t-=1)*t*t+1},reverse:function(){return R}};cc.easeCubicActionOut=function(){return R};var P={easing:function(t){return(t*=2)<1?.5*t*t*t:.5*((t-=2)*t*t+2)},reverse:function(){return P}};cc.easeCubicActionInOut=function(){return P}}),{}],4:[(function(t,e,i){"use strict";cc.ActionInstant=cc.Class({name:"cc.ActionInstant",extends:cc.FiniteTimeAction,isDone:function(){return!0},step:function(t){this.update(1)},update:function(t){},reverse:function(){return this.clone()},clone:function(){return new cc.ActionInstant}}),cc.Show=cc.Class({name:"cc.Show",extends:cc.ActionInstant,update:function(t){for(var e=this.target.getComponentsInChildren(cc.RenderComponent),i=0;i<e.length;++i){e[i].enabled=!0}},reverse:function(){return new cc.Hide},clone:function(){return new cc.Show}}),cc.show=function(){return new cc.Show},cc.Hide=cc.Class({name:"cc.Hide",extends:cc.ActionInstant,update:function(t){for(var e=this.target.getComponentsInChildren(cc.RenderComponent),i=0;i<e.length;++i){e[i].enabled=!1}},reverse:function(){return new cc.Show},clone:function(){return new cc.Hide}}),cc.hide=function(){return new cc.Hide},cc.ToggleVisibility=cc.Class({name:"cc.ToggleVisibility",extends:cc.ActionInstant,update:function(t){for(var e=this.target.getComponentsInChildren(cc.RenderComponent),i=0;i<e.length;++i){var n=e[i];n.enabled=!n.enabled}},reverse:function(){return new cc.ToggleVisibility},clone:function(){return new cc.ToggleVisibility}}),cc.toggleVisibility=function(){return new cc.ToggleVisibility},cc.RemoveSelf=cc.Class({name:"cc.RemoveSelf",extends:cc.ActionInstant,ctor:function(t){this._isNeedCleanUp=!0,void 0!==t&&this.init(t)},update:function(t){this.target.removeFromParent(this._isNeedCleanUp)},init:function(t){return this._isNeedCleanUp=t,!0},reverse:function(){return new cc.RemoveSelf(this._isNeedCleanUp)},clone:function(){return new cc.RemoveSelf(this._isNeedCleanUp)}}),cc.removeSelf=function(t){return new cc.RemoveSelf(t)},cc.FlipX=cc.Class({name:"cc.FlipX",extends:cc.ActionInstant,ctor:function(t){this._flippedX=!1,void 0!==t&&this.initWithFlipX(t)},initWithFlipX:function(t){return this._flippedX=t,!0},update:function(t){this.target.scaleX=Math.abs(this.target.scaleX)*(this._flippedX?-1:1)},reverse:function(){return new cc.FlipX(!this._flippedX)},clone:function(){var t=new cc.FlipX;return t.initWithFlipX(this._flippedX),t}}),cc.flipX=function(t){return new cc.FlipX(t)},cc.FlipY=cc.Class({name:"cc.FlipY",extends:cc.ActionInstant,ctor:function(t){this._flippedY=!1,void 0!==t&&this.initWithFlipY(t)},initWithFlipY:function(t){return this._flippedY=t,!0},update:function(t){this.target.scaleY=Math.abs(this.target.scaleY)*(this._flippedY?-1:1)},reverse:function(){return new cc.FlipY(!this._flippedY)},clone:function(){var t=new cc.FlipY;return t.initWithFlipY(this._flippedY),t}}),cc.flipY=function(t){return new cc.FlipY(t)},cc.Place=cc.Class({name:"cc.Place",extends:cc.ActionInstant,ctor:function(t,e){this._x=0,this._y=0,void 0!==t&&(void 0!==t.x&&(e=t.y,t=t.x),this.initWithPosition(t,e))},initWithPosition:function(t,e){return this._x=t,this._y=e,!0},update:function(t){this.target.setPosition(this._x,this._y)},clone:function(){var t=new cc.Place;return t.initWithPosition(this._x,this._y),t}}),cc.place=function(t,e){return new cc.Place(t,e)},cc.CallFunc=cc.Class({name:"cc.CallFunc",extends:cc.ActionInstant,ctor:function(t,e,i){this._selectorTarget=null,this._function=null,this._data=null,this.initWithFunction(t,e,i)},initWithFunction:function(t,e,i){return t&&(this._function=t),e&&(this._selectorTarget=e),void 0!==i&&(this._data=i),!0},execute:function(){this._function&&this._function.call(this._selectorTarget,this.target,this._data)},update:function(t){this.execute()},getTargetCallback:function(){return this._selectorTarget},setTargetCallback:function(t){t!==this._selectorTarget&&(this._selectorTarget&&(this._selectorTarget=null),this._selectorTarget=t)},clone:function(){var t=new cc.CallFunc;return t.initWithFunction(this._function,this._selectorTarget,this._data),t}}),cc.callFunc=function(t,e,i){return new cc.CallFunc(t,e,i)}}),{}],5:[(function(t,e,i){"use strict";function n(t,e,i,n,r){return Math.pow(1-r,3)*t+3*r*Math.pow(1-r,2)*e+3*Math.pow(r,2)*(1-r)*i+Math.pow(r,3)*n}cc.ActionInterval=cc.Class({name:"cc.ActionInterval",extends:cc.FiniteTimeAction,ctor:function(t){this.MAX_VALUE=2,this._elapsed=0,this._firstTick=!1,this._easeList=null,this._speed=1,this._timesForRepeat=1,this._repeatForever=!1,this._repeatMethod=!1,this._speedMethod=!1,void 0!==t&&cc.ActionInterval.prototype.initWithDuration.call(this,t)},getElapsed:function(){return this._elapsed},initWithDuration:function(t){return this._duration=0===t?cc.macro.FLT_EPSILON:t,this._elapsed=0,this._firstTick=!0,!0},isDone:function(){return this._elapsed>=this._duration},_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},_reverseEaseList:function(t){if(this._easeList){t._easeList=[];for(var e=0;e<this._easeList.length;e++)t._easeList.push(this._easeList[e].reverse())}},clone:function(){var t=new cc.ActionInterval(this._duration);return this._cloneDecoration(t),t},easing:function(t){this._easeList?this._easeList.length=0:this._easeList=[];for(var e=0;e<arguments.length;e++)this._easeList.push(arguments[e]);return this},_computeEaseTime:function(t){var e=this._easeList;if(!e||0===e.length)return t;for(var i=0,n=e.length;i<n;i++)t=e[i].easing(t);return t},step:function(t){this._firstTick?(this._firstTick=!1,this._elapsed=0):this._elapsed+=t;var e=this._elapsed/(this._duration>1.192092896e-7?this._duration:1.192092896e-7);e=1>e?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))},startWithTarget:function(t){cc.Action.prototype.startWithTarget.call(this,t),this._elapsed=0,this._firstTick=!0},reverse:function(){return cc.logID(1010),null},setAmplitudeRate:function(t){cc.logID(1011)},getAmplitudeRate:function(){return cc.logID(1012),0},speed:function(t){return t<=0?(cc.logID(1013),this):(this._speedMethod=!0,this._speed*=t,this)},getSpeed:function(){return this._speed},setSpeed:function(t){return this._speed=t,this},repeat:function(t){return t=Math.round(t),isNaN(t)||t<1?(cc.logID(1014),this):(this._repeatMethod=!0,this._timesForRepeat*=t,this)},repeatForever:function(){return this._repeatMethod=!0,this._timesForRepeat=this.MAX_VALUE,this._repeatForever=!0,this}}),cc.actionInterval=function(t){return new cc.ActionInterval(t)},cc.Sequence=cc.Class({name:"cc.Sequence",extends:cc.ActionInterval,ctor:function(t){this._actions=[],this._split=null,this._last=0,this._reversed=!1;var e=t instanceof Array?t:arguments;if(1!==e.length){var i=e.length-1;if(i>=0&&null==e[i]&&cc.logID(1015),i>=0){for(var n,r=e[0],s=1;s<i;s++)e[s]&&(n=r,r=cc.Sequence._actionOneTwo(n,e[s]));this.initWithTwoActions(r,e[i])}}else cc.errorID(1019)},initWithTwoActions:function(t,e){if(!t||!e)return cc.errorID(1025),!1;var i=t._duration,n=e._duration,r=(i*=t._repeatMethod?t._timesForRepeat:1)+(n*=e._repeatMethod?e._timesForRepeat:1);return this.initWithDuration(r),this._actions[0]=t,this._actions[1]=e,!0},clone:function(){var t=new cc.Sequence;return this._cloneDecoration(t),t.initWithTwoActions(this._actions[0].clone(),this._actions[1].clone()),t},startWithTarget:function(t){cc.ActionInterval.prototype.startWithTarget.call(this,t),this._split=this._actions[0]._duration/this._duration,this._split*=this._actions[0]._repeatMethod?this._actions[0]._timesForRepeat:1,this._last=-1},stop:function(){-1!==this._last&&this._actions[this._last].stop(),cc.Action.prototype.stop.call(this)},update:function(t){var e,i,n=0,r=this._split,s=this._actions,o=this._last;(t=this._computeEaseTime(t))<r?(e=0!==r?t/r:1,0===n&&1===o&&this._reversed&&(s[1].update(0),s[1].stop())):(n=1,e=1===r?1:(t-r)/(1-r),-1===o&&(s[0].startWithTarget(this.target),s[0].update(1),s[0].stop()),0===o&&(s[0].update(1),s[0].stop())),i=s[n],o===n&&i.isDone()||(o!==n&&i.startWithTarget(this.target),e*=i._timesForRepeat,i.update(e>1?e%1:e),this._last=n)},reverse:function(){var t=cc.Sequence._actionOneTwo(this._actions[1].reverse(),this._actions[0].reverse());return this._cloneDecoration(t),this._reverseEaseList(t),t._reversed=!0,t}}),cc.sequence=function(t){var e=t instanceof Array?t:arguments;if(1===e.length)return cc.errorID(1019),null;var i=e.length-1;i>=0&&null==e[i]&&cc.logID(1015);var n=null;if(i>=0){n=e[0];for(var r=1;r<=i;r++)e[r]&&(n=cc.Sequence._actionOneTwo(n,e[r]))}return n},cc.Sequence._actionOneTwo=function(t,e){var i=new cc.Sequence;return i.initWithTwoActions(t,e),i},cc.Repeat=cc.Class({name:"cc.Repeat",extends:cc.ActionInterval,ctor:function(t,e){this._times=0,this._total=0,this._nextDt=0,this._actionInstant=!1,this._innerAction=null,void 0!==e&&this.initWithAction(t,e)},initWithAction:function(t,e){var i=t._duration*e;return!!this.initWithDuration(i)&&(this._times=e,this._innerAction=t,t instanceof cc.ActionInstant&&(this._actionInstant=!0,this._times-=1),this._total=0,!0)},clone:function(){var t=new cc.Repeat;return this._cloneDecoration(t),t.initWithAction(this._innerAction.clone(),this._times),t},startWithTarget:function(t){this._total=0,this._nextDt=this._innerAction._duration/this._duration,cc.ActionInterval.prototype.startWithTarget.call(this,t),this._innerAction.startWithTarget(t)},stop:function(){this._innerAction.stop(),cc.Action.prototype.stop.call(this)},update:function(t){t=this._computeEaseTime(t);var e=this._innerAction,i=this._duration,n=this._times,r=this._nextDt;if(t>=r){for(;t>r&&this._total<n;)e.update(1),this._total++,e.stop(),e.startWithTarget(this.target),r+=e._duration/i,this._nextDt=r>1?1:r;t>=1&&this._total<n&&(e.update(1),this._total++),this._actionInstant||(this._total===n?e.stop():e.update(t-(r-e._duration/i)))}else e.update(t*n%1)},isDone:function(){return this._total===this._times},reverse:function(){var t=new cc.Repeat(this._innerAction.reverse(),this._times);return this._cloneDecoration(t),this._reverseEaseList(t),t},setInnerAction:function(t){this._innerAction!==t&&(this._innerAction=t)},getInnerAction:function(){return this._innerAction}}),cc.repeat=function(t,e){return new cc.Repeat(t,e)},cc.RepeatForever=cc.Class({name:"cc.RepeatForever",extends:cc.ActionInterval,ctor:function(t){this._innerAction=null,t&&this.initWithAction(t)},initWithAction:function(t){return t?(this._innerAction=t,!0):(cc.errorID(1026),!1)},clone:function(){var t=new cc.RepeatForever;return this._cloneDecoration(t),t.initWithAction(this._innerAction.clone()),t},startWithTarget:function(t){cc.ActionInterval.prototype.startWithTarget.call(this,t),this._innerAction.startWithTarget(t)},step:function(t){var e=this._innerAction;e.step(t),e.isDone()&&(e.startWithTarget(this.target),e.step(e.getElapsed()-e._duration))},isDone:function(){return!1},reverse:function(){var t=new cc.RepeatForever(this._innerAction.reverse());return this._cloneDecoration(t),this._reverseEaseList(t),t},setInnerAction:function(t){this._innerAction!==t&&(this._innerAction=t)},getInnerAction:function(){return this._innerAction}}),cc.repeatForever=function(t){return new cc.RepeatForever(t)},cc.Spawn=cc.Class({name:"cc.Spawn",extends:cc.ActionInterval,ctor:function(t){this._one=null,this._two=null;var e=t instanceof Array?t:arguments;if(1!==e.length){var i=e.length-1;if(i>=0&&null==e[i]&&cc.logID(1015),i>=0){for(var n,r=e[0],s=1;s<i;s++)e[s]&&(n=r,r=cc.Spawn._actionOneTwo(n,e[s]));this.initWithTwoActions(r,e[i])}}else cc.errorID(1020)},initWithTwoActions:function(t,e){if(!t||!e)return cc.errorID(1027),!1;var i=!1,n=t._duration,r=e._duration;return this.initWithDuration(Math.max(n,r))&&(this._one=t,this._two=e,n>r?this._two=cc.Sequence._actionOneTwo(e,cc.delayTime(n-r)):n<r&&(this._one=cc.Sequence._actionOneTwo(t,cc.delayTime(r-n))),i=!0),i},clone:function(){var t=new cc.Spawn;return this._cloneDecoration(t),t.initWithTwoActions(this._one.clone(),this._two.clone()),t},startWithTarget:function(t){cc.ActionInterval.prototype.startWithTarget.call(this,t),this._one.startWithTarget(t),this._two.startWithTarget(t)},stop:function(){this._one.stop(),this._two.stop(),cc.Action.prototype.stop.call(this)},update:function(t){t=this._computeEaseTime(t),this._one&&this._one.update(t),this._two&&this._two.update(t)},reverse:function(){var t=cc.Spawn._actionOneTwo(this._one.reverse(),this._two.reverse());return this._cloneDecoration(t),this._reverseEaseList(t),t}}),cc.spawn=function(t){var e=t instanceof Array?t:arguments;if(1===e.length)return cc.errorID(1020),null;e.length>0&&null==e[e.length-1]&&cc.logID(1015);for(var i=e[0],n=1;n<e.length;n++)null!=e[n]&&(i=cc.Spawn._actionOneTwo(i,e[n]));return i},cc.Spawn._actionOneTwo=function(t,e){var i=new cc.Spawn;return i.initWithTwoActions(t,e),i},cc.RotateTo=cc.Class({name:"cc.RotateTo",extends:cc.ActionInterval,ctor:function(t,e){this._startAngle=0,this._dstAngle=0,this._angle=0,void 0!==e&&this.initWithDuration(t,e)},initWithDuration:function(t,e){return!!cc.ActionInterval.prototype.initWithDuration.call(this,t)&&(this._dstAngle=e,!0)},clone:function(){var t=new cc.RotateTo;return this._cloneDecoration(t),t.initWithDuration(this._duration,this._dstAngle),t},startWithTarget:function(t){cc.ActionInterval.prototype.startWithTarget.call(this,t);var e=t.angle%360,i=cc.macro.ROTATE_ACTION_CCW?this._dstAngle-e:this._dstAngle+e;i>180&&(i-=360),i<-180&&(i+=360),this._startAngle=e,this._angle=cc.macro.ROTATE_ACTION_CCW?i:-i},reverse:function(){cc.logID(1016)},update:function(t){t=this._computeEaseTime(t),this.target&&(this.target.angle=this._startAngle+this._angle*t)}}),cc.rotateTo=function(t,e){return new cc.RotateTo(t,e)},cc.RotateBy=cc.Class({name:"cc.RotateBy",extends:cc.ActionInterval,ctor:function(t,e){e*=cc.macro.ROTATE_ACTION_CCW?1:-1,this._deltaAngle=0,this._startAngle=0,void 0!==e&&this.initWithDuration(t,e)},initWithDuration:function(t,e){return!!cc.ActionInterval.prototype.initWithDuration.call(this,t)&&(this._deltaAngle=e,!0)},clone:function(){var t=new cc.RotateBy;return this._cloneDecoration(t),t.initWithDuration(this._duration,this._deltaAngle),t},startWithTarget:function(t){cc.ActionInterval.prototype.startWithTarget.call(this,t),this._startAngle=t.angle},update:function(t){t=this._computeEaseTime(t),this.target&&(this.target.angle=this._startAngle+this._deltaAngle*t)},reverse:function(){var t=new cc.RotateBy(this._duration,-this._deltaAngle);return this._cloneDecoration(t),this._reverseEaseList(t),t}}),cc.rotateBy=function(t,e){return new cc.RotateBy(t,e)},cc.MoveBy=cc.Class({name:"cc.MoveBy",extends:cc.ActionInterval,ctor:function(t,e,i){this._positionDelta=cc.v2(0,0),this._startPosition=cc.v2(0,0),this._previousPosition=cc.v2(0,0),void 0!==e&&cc.MoveBy.prototype.initWithDuration.call(this,t,e,i)},initWithDuration:function(t,e,i){return!!cc.ActionInterval.prototype.initWithDuration.call(this,t)&&(void 0!==e.x&&(i=e.y,e=e.x),this._positionDelta.x=e,this._positionDelta.y=i,!0)},clone:function(){var t=new cc.MoveBy;return this._cloneDecoration(t),t.initWithDuration(this._duration,this._positionDelta),t},startWithTarget:function(t){cc.ActionInterval.prototype.startWithTarget.call(this,t);var e=t.x,i=t.y;this._previousPosition.x=e,this._previousPosition.y=i,this._startPosition.x=e,this._startPosition.y=i},update:function(t){if(t=this._computeEaseTime(t),this.target){var e=this._positionDelta.x*t,i=this._positionDelta.y*t,n=this._startPosition;if(cc.macro.ENABLE_STACKABLE_ACTIONS){var r=this.target.x,s=this.target.y,o=this._previousPosition;n.x=n.x+r-o.x,n.y=n.y+s-o.y,e+=n.x,i+=n.y,o.x=e,o.y=i,this.target.setPosition(e,i)}else this.target.setPosition(n.x+e,n.y+i)}},reverse:function(){var t=new cc.MoveBy(this._duration,cc.v2(-this._positionDelta.x,-this._positionDelta.y));return this._cloneDecoration(t),this._reverseEaseList(t),t}}),cc.moveBy=function(t,e,i){return new cc.MoveBy(t,e,i)},cc.MoveTo=cc.Class({name:"cc.MoveTo",extends:cc.MoveBy,ctor:function(t,e,i){this._endPosition=cc.v2(0,0),void 0!==e&&this.initWithDuration(t,e,i)},initWithDuration:function(t,e,i){return!!cc.MoveBy.prototype.initWithDuration.call(this,t,e,i)&&(void 0!==e.x&&(i=e.y,e=e.x),this._endPosition.x=e,this._endPosition.y=i,!0)},clone:function(){var t=new cc.MoveTo;return this._cloneDecoration(t),t.initWithDuration(this._duration,this._endPosition),t},startWithTarget:function(t){cc.MoveBy.prototype.startWithTarget.call(this,t),this._positionDelta.x=this._endPosition.x-t.x,this._positionDelta.y=this._endPosition.y-t.y}}),cc.moveTo=function(t,e,i){return new cc.MoveTo(t,e,i)},cc.SkewTo=cc.Class({name:"cc.SkewTo",extends:cc.ActionInterval,ctor:function(t,e,i){this._skewX=0,this._skewY=0,this._startSkewX=0,this._startSkewY=0,this._endSkewX=0,this._endSkewY=0,this._deltaX=0,this._deltaY=0,void 0!==i&&cc.SkewTo.prototype.initWithDuration.call(this,t,e,i)},initWithDuration:function(t,e,i){var n=!1;return cc.ActionInterval.prototype.initWithDuration.call(this,t)&&(this._endSkewX=e,this._endSkewY=i,n=!0),n},clone:function(){var t=new cc.SkewTo;return this._cloneDecoration(t),t.initWithDuration(this._duration,this._endSkewX,this._endSkewY),t},startWithTarget:function(t){cc.ActionInterval.prototype.startWithTarget.call(this,t),this._startSkewX=t.skewX%180,this._deltaX=this._endSkewX-this._startSkewX,this._deltaX>180&&(this._deltaX-=360),this._deltaX<-180&&(this._deltaX+=360),this._startSkewY=t.skewY%360,this._deltaY=this._endSkewY-this._startSkewY,this._deltaY>180&&(this._deltaY-=360),this._deltaY<-180&&(this._deltaY+=360)},update:function(t){t=this._computeEaseTime(t),this.target.skewX=this._startSkewX+this._deltaX*t,this.target.skewY=this._startSkewY+this._deltaY*t}}),cc.skewTo=function(t,e,i){return new cc.SkewTo(t,e,i)},cc.SkewBy=cc.Class({name:"cc.SkewBy",extends:cc.SkewTo,ctor:function(t,e,i){void 0!==i&&this.initWithDuration(t,e,i)},initWithDuration:function(t,e,i){var n=!1;return cc.SkewTo.prototype.initWithDuration.call(this,t,e,i)&&(this._skewX=e,this._skewY=i,n=!0),n},clone:function(){var t=new cc.SkewBy;return this._cloneDecoration(t),t.initWithDuration(this._duration,this._skewX,this._skewY),t},startWithTarget:function(t){cc.SkewTo.prototype.startWithTarget.call(this,t),this._deltaX=this._skewX,this._deltaY=this._skewY,this._endSkewX=this._startSkewX+this._deltaX,this._endSkewY=this._startSkewY+this._deltaY},reverse:function(){var t=new cc.SkewBy(this._duration,-this._skewX,-this._skewY);return this._cloneDecoration(t),this._reverseEaseList(t),t}}),cc.skewBy=function(t,e,i){return new cc.SkewBy(t,e,i)},cc.JumpBy=cc.Class({name:"cc.JumpBy",extends:cc.ActionInterval,ctor:function(t,e,i,n,r){this._startPosition=cc.v2(0,0),this._previousPosition=cc.v2(0,0),this._delta=cc.v2(0,0),this._height=0,this._jumps=0,void 0!==n&&cc.JumpBy.prototype.initWithDuration.call(this,t,e,i,n,r)},initWithDuration:function(t,e,i,n,r){return!!cc.ActionInterval.prototype.initWithDuration.call(this,t)&&(void 0===r&&(r=n,n=i,i=e.y,e=e.x),this._delta.x=e,this._delta.y=i,this._height=n,this._jumps=r,!0)},clone:function(){var t=new cc.JumpBy;return this._cloneDecoration(t),t.initWithDuration(this._duration,this._delta,this._height,this._jumps),t},startWithTarget:function(t){cc.ActionInterval.prototype.startWithTarget.call(this,t);var e=t.x,i=t.y;this._previousPosition.x=e,this._previousPosition.y=i,this._startPosition.x=e,this._startPosition.y=i},update:function(t){if(t=this._computeEaseTime(t),this.target){var e=t*this._jumps%1,i=4*this._height*e*(1-e);i+=this._delta.y*t;var n=this._delta.x*t,r=this._startPosition;if(cc.macro.ENABLE_STACKABLE_ACTIONS){var s=this.target.x,o=this.target.y,a=this._previousPosition;r.x=r.x+s-a.x,r.y=r.y+o-a.y,n+=r.x,i+=r.y,a.x=n,a.y=i,this.target.setPosition(n,i)}else this.target.setPosition(r.x+n,r.y+i)}},reverse:function(){var t=new cc.JumpBy(this._duration,cc.v2(-this._delta.x,-this._delta.y),this._height,this._jumps);return this._cloneDecoration(t),this._reverseEaseList(t),t}}),cc.jumpBy=function(t,e,i,n,r){return new cc.JumpBy(t,e,i,n,r)},cc.JumpTo=cc.Class({name:"cc.JumpTo",extends:cc.JumpBy,ctor:function(t,e,i,n,r){this._endPosition=cc.v2(0,0),void 0!==n&&this.initWithDuration(t,e,i,n,r)},initWithDuration:function(t,e,i,n,r){return!!cc.JumpBy.prototype.initWithDuration.call(this,t,e,i,n,r)&&(void 0===r&&(i=e.y,e=e.x),this._endPosition.x=e,this._endPosition.y=i,!0)},startWithTarget:function(t){cc.JumpBy.prototype.startWithTarget.call(this,t),this._delta.x=this._endPosition.x-this._startPosition.x,this._delta.y=this._endPosition.y-this._startPosition.y},clone:function(){var t=new cc.JumpTo;return this._cloneDecoration(t),t.initWithDuration(this._duration,this._endPosition,this._height,this._jumps),t}}),cc.jumpTo=function(t,e,i,n,r){return new cc.JumpTo(t,e,i,n,r)},cc.BezierBy=cc.Class({name:"cc.BezierBy",extends:cc.ActionInterval,ctor:function(t,e){this._config=[],this._startPosition=cc.v2(0,0),this._previousPosition=cc.v2(0,0),e&&cc.BezierBy.prototype.initWithDuration.call(this,t,e)},initWithDuration:function(t,e){return!!cc.ActionInterval.prototype.initWithDuration.call(this,t)&&(this._config=e,!0)},clone:function(){var t=new cc.BezierBy;this._cloneDecoration(t);for(var e=[],i=0;i<this._config.length;i++){var n=this._config[i];e.push(cc.v2(n.x,n.y))}return t.initWithDuration(this._duration,e),t},startWithTarget:function(t){cc.ActionInterval.prototype.startWithTarget.call(this,t);var e=t.x,i=t.y;this._previousPosition.x=e,this._previousPosition.y=i,this._startPosition.x=e,this._startPosition.y=i},update:function(t){if(t=this._computeEaseTime(t),this.target){var e=this._config,i=e[0].x,r=e[1].x,s=e[2].x,o=e[0].y,a=e[1].y,c=e[2].y,l=n(0,i,r,s,t),h=n(0,o,a,c,t),u=this._startPosition;if(cc.macro.ENABLE_STACKABLE_ACTIONS){var _=this.target.x,f=this.target.y,d=this._previousPosition;u.x=u.x+_-d.x,u.y=u.y+f-d.y,l+=u.x,h+=u.y,d.x=l,d.y=h,this.target.setPosition(l,h)}else this.target.setPosition(u.x+l,u.y+h)}},reverse:function(){var t=this._config,e=t[0].x,i=t[0].y,n=t[1].x,r=t[1].y,s=t[2].x,o=t[2].y,a=[cc.v2(n-s,r-o),cc.v2(e-s,i-o),cc.v2(-s,-o)],c=new cc.BezierBy(this._duration,a);return this._cloneDecoration(c),this._reverseEaseList(c),c}}),cc.bezierBy=function(t,e){return new cc.BezierBy(t,e)},cc.BezierTo=cc.Class({name:"cc.BezierTo",extends:cc.BezierBy,ctor:function(t,e){this._toConfig=[],e&&this.initWithDuration(t,e)},initWithDuration:function(t,e){return!!cc.ActionInterval.prototype.initWithDuration.call(this,t)&&(this._toConfig=e,!0)},clone:function(){var t=new cc.BezierTo;return this._cloneDecoration(t),t.initWithDuration(this._duration,this._toConfig),t},startWithTarget:function(t){cc.BezierBy.prototype.startWithTarget.call(this,t);var e=this._startPosition,i=this._toConfig,n=this._config;n[0]=i[0].sub(e),n[1]=i[1].sub(e),n[2]=i[2].sub(e)}}),cc.bezierTo=function(t,e){return new cc.BezierTo(t,e)},cc.ScaleTo=cc.Class({name:"cc.ScaleTo",extends:cc.ActionInterval,ctor:function(t,e,i){this._scaleX=1,this._scaleY=1,this._startScaleX=1,this._startScaleY=1,this._endScaleX=0,this._endScaleY=0,this._deltaX=0,this._deltaY=0,void 0!==e&&cc.ScaleTo.prototype.initWithDuration.call(this,t,e,i)},initWithDuration:function(t,e,i){return!!cc.ActionInterval.prototype.initWithDuration.call(this,t)&&(this._endScaleX=e,this._endScaleY=null!=i?i:e,!0)},clone:function(){var t=new cc.ScaleTo;return this._cloneDecoration(t),t.initWithDuration(this._duration,this._endScaleX,this._endScaleY),t},startWithTarget:function(t){cc.ActionInterval.prototype.startWithTarget.call(this,t),this._startScaleX=t.scaleX,this._startScaleY=t.scaleY,this._deltaX=this._endScaleX-this._startScaleX,this._deltaY=this._endScaleY-this._startScaleY},update:function(t){t=this._computeEaseTime(t),this.target&&(this.target.scaleX=this._startScaleX+this._deltaX*t,this.target.scaleY=this._startScaleY+this._deltaY*t)}}),cc.scaleTo=function(t,e,i){return new cc.ScaleTo(t,e,i)},cc.ScaleBy=cc.Class({name:"cc.ScaleBy",extends:cc.ScaleTo,startWithTarget:function(t){cc.ScaleTo.prototype.startWithTarget.call(this,t),this._deltaX=this._startScaleX*this._endScaleX-this._startScaleX,this._deltaY=this._startScaleY*this._endScaleY-this._startScaleY},reverse:function(){var t=new cc.ScaleBy(this._duration,1/this._endScaleX,1/this._endScaleY);return this._cloneDecoration(t),this._reverseEaseList(t),t},clone:function(){var t=new cc.ScaleBy;return this._cloneDecoration(t),t.initWithDuration(this._duration,this._endScaleX,this._endScaleY),t}}),cc.scaleBy=function(t,e,i){return new cc.ScaleBy(t,e,i)},cc.Blink=cc.Class({name:"cc.Blink",extends:cc.ActionInterval,ctor:function(t,e){this._times=0,this._originalState=!1,void 0!==e&&this.initWithDuration(t,e)},initWithDuration:function(t,e){return!!cc.ActionInterval.prototype.initWithDuration.call(this,t)&&(this._times=e,!0)},clone:function(){var t=new cc.Blink;return this._cloneDecoration(t),t.initWithDuration(this._duration,this._times),t},update:function(t){if(t=this._computeEaseTime(t),this.target&&!this.isDone()){var e=1/this._times,i=t%e;this.target.opacity=i>e/2?255:0}},startWithTarget:function(t){cc.ActionInterval.prototype.startWithTarget.call(this,t),this._originalState=t.opacity},stop:function(){this.target.opacity=this._originalState,cc.ActionInterval.prototype.stop.call(this)},reverse:function(){var t=new cc.Blink(this._duration,this._times);return this._cloneDecoration(t),this._reverseEaseList(t),t}}),cc.blink=function(t,e){return new cc.Blink(t,e)},cc.FadeTo=cc.Class({name:"cc.FadeTo",extends:cc.ActionInterval,ctor:function(t,e){this._toOpacity=0,this._fromOpacity=0,void 0!==e&&cc.FadeTo.prototype.initWithDuration.call(this,t,e)},initWithDuration:function(t,e){return!!cc.ActionInterval.prototype.initWithDuration.call(this,t)&&(this._toOpacity=e,!0)},clone:function(){var t=new cc.FadeTo;return this._cloneDecoration(t),t.initWithDuration(this._duration,this._toOpacity),t},update:function(t){t=this._computeEaseTime(t);var e=void 0!==this._fromOpacity?this._fromOpacity:255;this.target.opacity=e+(this._toOpacity-e)*t},startWithTarget:function(t){cc.ActionInterval.prototype.startWithTarget.call(this,t),this._fromOpacity=t.opacity}}),cc.fadeTo=function(t,e){return new cc.FadeTo(t,e)},cc.FadeIn=cc.Class({name:"cc.FadeIn",extends:cc.FadeTo,ctor:function(t){null==t&&(t=0),this._reverseAction=null,this.initWithDuration(t,255)},reverse:function(){var t=new cc.FadeOut;return t.initWithDuration(this._duration,0),this._cloneDecoration(t),this._reverseEaseList(t),t},clone:function(){var t=new cc.FadeIn;return this._cloneDecoration(t),t.initWithDuration(this._duration,this._toOpacity),t},startWithTarget:function(t){this._reverseAction&&(this._toOpacity=this._reverseAction._fromOpacity),cc.FadeTo.prototype.startWithTarget.call(this,t)}}),cc.fadeIn=function(t){return new cc.FadeIn(t)},cc.FadeOut=cc.Class({name:"cc.FadeOut",extends:cc.FadeTo,ctor:function(t){null==t&&(t=0),this._reverseAction=null,this.initWithDuration(t,0)},reverse:function(){var t=new cc.FadeIn;return t._reverseAction=this,t.initWithDuration(this._duration,255),this._cloneDecoration(t),this._reverseEaseList(t),t},clone:function(){var t=new cc.FadeOut;return this._cloneDecoration(t),t.initWithDuration(this._duration,this._toOpacity),t}}),cc.fadeOut=function(t){return new cc.FadeOut(t)},cc.TintTo=cc.Class({name:"cc.TintTo",extends:cc.ActionInterval,ctor:function(t,e,i,n){this._to=cc.color(0,0,0),this._from=cc.color(0,0,0),e instanceof cc.Color&&(n=e.b,i=e.g,e=e.r),void 0!==n&&this.initWithDuration(t,e,i,n)},initWithDuration:function(t,e,i,n){return!!cc.ActionInterval.prototype.initWithDuration.call(this,t)&&(this._to=cc.color(e,i,n),!0)},clone:function(){var t=new cc.TintTo;this._cloneDecoration(t);var e=this._to;return t.initWithDuration(this._duration,e.r,e.g,e.b),t},startWithTarget:function(t){cc.ActionInterval.prototype.startWithTarget.call(this,t),this._from=this.target.color},update:function(t){t=this._computeEaseTime(t);var e=this._from,i=this._to;e&&(this.target.color=cc.color(e.r+(i.r-e.r)*t,e.g+(i.g-e.g)*t,e.b+(i.b-e.b)*t))}}),cc.tintTo=function(t,e,i,n){return new cc.TintTo(t,e,i,n)},cc.TintBy=cc.Class({name:"cc.TintBy",extends:cc.ActionInterval,ctor:function(t,e,i,n){this._deltaR=0,this._deltaG=0,this._deltaB=0,this._fromR=0,this._fromG=0,this._fromB=0,void 0!==n&&this.initWithDuration(t,e,i,n)},initWithDuration:function(t,e,i,n){return!!cc.ActionInterval.prototype.initWithDuration.call(this,t)&&(this._deltaR=e,this._deltaG=i,this._deltaB=n,!0)},clone:function(){var t=new cc.TintBy;return this._cloneDecoration(t),t.initWithDuration(this._duration,this._deltaR,this._deltaG,this._deltaB),t},startWithTarget:function(t){cc.ActionInterval.prototype.startWithTarget.call(this,t);var e=t.color;this._fromR=e.r,this._fromG=e.g,this._fromB=e.b},update:function(t){t=this._computeEaseTime(t),this.target.color=cc.color(this._fromR+this._deltaR*t,this._fromG+this._deltaG*t,this._fromB+this._deltaB*t)},reverse:function(){var t=new cc.TintBy(this._duration,-this._deltaR,-this._deltaG,-this._deltaB);return this._cloneDecoration(t),this._reverseEaseList(t),t}}),cc.tintBy=function(t,e,i,n){return new cc.TintBy(t,e,i,n)},cc.DelayTime=cc.Class({name:"cc.DelayTime",extends:cc.ActionInterval,update:function(t){},reverse:function(){var t=new cc.DelayTime(this._duration);return this._cloneDecoration(t),this._reverseEaseList(t),t},clone:function(){var t=new cc.DelayTime;return this._cloneDecoration(t),t.initWithDuration(this._duration),t}}),cc.delayTime=function(t){return new cc.DelayTime(t)},cc.ReverseTime=cc.Class({name:"cc.ReverseTime",extends:cc.ActionInterval,ctor:function(t){this._other=null,t&&this.initWithAction(t)},initWithAction:function(t){return t?t===this._other?(cc.errorID(1029),!1):!!cc.ActionInterval.prototype.initWithDuration.call(this,t._duration)&&(this._other=t,!0):(cc.errorID(1028),!1)},clone:function(){var t=new cc.ReverseTime;return this._cloneDecoration(t),t.initWithAction(this._other.clone()),t},startWithTarget:function(t){cc.ActionInterval.prototype.startWithTarget.call(this,t),this._other.startWithTarget(t)},update:function(t){t=this._computeEaseTime(t),this._other&&this._other.update(1-t)},reverse:function(){return this._other.clone()},stop:function(){this._other.stop(),cc.Action.prototype.stop.call(this)}}),cc.reverseTime=function(t){return new cc.ReverseTime(t)},cc.TargetedAction=cc.Class({name:"cc.TargetedAction",extends:cc.ActionInterval,ctor:function(t,e){this._action=null,this._forcedTarget=null,e&&this.initWithTarget(t,e)},initWithTarget:function(t,e){return!!this.initWithDuration(e._duration)&&(this._forcedTarget=t,this._action=e,!0)},clone:function(){var t=new cc.TargetedAction;return this._cloneDecoration(t),t.initWithTarget(this._forcedTarget,this._action.clone()),t},startWithTarget:function(t){cc.ActionInterval.prototype.startWithTarget.call(this,t),this._action.startWithTarget(this._forcedTarget)},stop:function(){this._action.stop()},update:function(t){t=this._computeEaseTime(t),this._action.update(t)},getForcedTarget:function(){return this._forcedTarget},setForcedTarget:function(t){this._forcedTarget!==t&&(this._forcedTarget=t)}}),cc.targetedAction=function(t,e){return new cc.TargetedAction(t,e)}}),{}],6:[(function(t,e,i){"use strict";t("../core/platform/CCClass");var n=t("../core/platform/js"),r=function(){this.actions=[],this.target=null,this.actionIndex=0,this.currentAction=null,this.paused=!1,this.lock=!1};cc.ActionManager=function(){this._hashTargets=n.createMap(!0),this._arrayTargets=[],this._currentTarget=null,cc.director._scheduler&&cc.director._scheduler.enableForTarget(this)},cc.ActionManager.prototype={constructor:cc.ActionManager,_elementPool:[],_searchElementByTarget:function(t,e){for(var i=0;i<t.length;i++)if(e===t[i].target)return t[i];return null},_getElement:function(t,e){var i=this._elementPool.pop();return i||(i=new r),i.target=t,i.paused=!!e,i},_putElement:function(t){t.actions.length=0,t.actionIndex=0,t.currentAction=null,t.paused=!1,t.target=null,t.lock=!1,this._elementPool.push(t)},addAction:function(t,e,i){if(t&&e){var n=this._hashTargets[e._id];n?n.actions||(n.actions=[]):(n=this._getElement(e,i),this._hashTargets[e._id]=n,this._arrayTargets.push(n)),n.actions.push(t),t.startWithTarget(e)}else cc.errorID(1e3)},removeAllActions:function(){for(var t=this._arrayTargets,e=0;e<t.length;e++){var i=t[e];i&&this._putElement(i)}this._arrayTargets.length=0,this._hashTargets=n.createMap(!0)},removeAllActionsFromTarget:function(t,e){if(null!=t){var i=this._hashTargets[t._id];i&&(i.actions.length=0,this._deleteHashElement(i))}},removeAction:function(t){if(null!=t){var e=t.getOriginalTarget(),i=this._hashTargets[e._id];if(i){for(var n=0;n<i.actions.length;n++)if(i.actions[n]===t){i.actions.splice(n,1),i.actionIndex>=n&&i.actionIndex--;break}}else cc.logID(1001)}},removeActionByTag:function(t,e){t===cc.Action.TAG_INVALID&&cc.logID(1002),cc.assertID(e,1003);var i=this._hashTargets[e._id];if(i)for(var n=i.actions.length,r=0;r<n;++r){var s=i.actions[r];if(s&&s.getTag()===t&&s.getOriginalTarget()===e){this._removeActionAtIndex(r,i);break}}},getActionByTag:function(t,e){t===cc.Action.TAG_INVALID&&cc.logID(1004);var i=this._hashTargets[e._id];if(i){if(null!=i.actions)for(var n=0;n<i.actions.length;++n){var r=i.actions[n];if(r&&r.getTag()===t)return r}cc.logID(1005,t)}return null},getNumberOfRunningActionsInTarget:function(t){var e=this._hashTargets[t._id];return e&&e.actions?e.actions.length:0},pauseTarget:function(t){var e=this._hashTargets[t._id];e&&(e.paused=!0)},resumeTarget:function(t){var e=this._hashTargets[t._id];e&&(e.paused=!1)},pauseAllRunningActions:function(){for(var t=[],e=this._arrayTargets,i=0;i<e.length;i++){var n=e[i];n&&!n.paused&&(n.paused=!0,t.push(n.target))}return t},resumeTargets:function(t){if(t)for(var e=0;e<t.length;e++)t[e]&&this.resumeTarget(t[e])},pauseTargets:function(t){if(t)for(var e=0;e<t.length;e++)t[e]&&this.pauseTarget(t[e])},purgeSharedManager:function(){cc.director.getScheduler().unscheduleUpdate(this)},_removeActionAtIndex:function(t,e){e.actions[t];e.actions.splice(t,1),e.actionIndex>=t&&e.actionIndex--,0===e.actions.length&&this._deleteHashElement(e)},_deleteHashElement:function(t){var e=!1;if(t&&!t.lock&&this._hashTargets[t.target._id]){delete this._hashTargets[t.target._id];for(var i=this._arrayTargets,n=0,r=i.length;n<r;n++)if(i[n]===t){i.splice(n,1);break}this._putElement(t),e=!0}return e},update:function(t){for(var e,i=this._arrayTargets,n=0;n<i.length;n++){if(this._currentTarget=i[n],!(e=this._currentTarget).paused&&e.actions){for(e.lock=!0,e.actionIndex=0;e.actionIndex<e.actions.length;e.actionIndex++)if(e.currentAction=e.actions[e.actionIndex],e.currentAction){if(e.currentAction.step(t*(e.currentAction._speedMethod?e.currentAction._speed:1)),e.currentAction&&e.currentAction.isDone()){e.currentAction.stop();var r=e.currentAction;e.currentAction=null,this.removeAction(r)}e.currentAction=null}e.lock=!1}0===e.actions.length&&this._deleteHashElement(e)&&n--}}}}),{"../core/platform/CCClass":160,"../core/platform/js":180}],7:[(function(t,e,i){"use strict";t("./CCActionManager"),t("./CCAction"),t("./CCActionInterval"),t("./CCActionInstant"),t("./CCActionEase"),t("./CCActionCatmullRom"),t("./tween")}),{"./CCAction":1,"./CCActionCatmullRom":2,"./CCActionEase":3,"./CCActionInstant":4,"./CCActionInterval":5,"./CCActionManager":6,"./tween":8}],8:[(function(t,e,i){"use strict";var n=cc.Class({name:"cc.TweenAction",extends:cc.ActionInterval,ctor:function(t,e,i){if(this._opts=i=i||Object.create(null),this._props=Object.create(null),i.progress=i.progress||this.progress,i.easing&&"string"==typeof i.easing){var n=i.easing;i.easing=cc.easing[n],!i.easing&&cc.warnID(1031,n)}var r=this._opts.relative;for(var s in e){var o=e[s],a=void 0,c=void 0;if(void 0!==o.value&&(o.easing||o.progress)&&("string"==typeof o.easing?!(a=cc.easing[o.easing])&&cc.warnID(1031,o.easing):a=o.easing,c=o.progress,o=o.value),"number"==typeof o||o.lerp&&(!r||o.add||o.mul)&&o.clone){var l=Object.create(null);l.value=o,l.easing=a,l.progress=c,this._props[s]=l}else cc.warn("Can not animate "+s+" property, because it do not have [lerp, (add|mul), clone] function.")}this._originProps=e,this.initWithDuration(t)},clone:function(){var t=new n(this._duration,this._originProps,this._opts);return this._cloneDecoration(t),t},startWithTarget:function(t){cc.ActionInterval.prototype.startWithTarget.call(this,t);var e=!!this._opts.relative,i=this._props;for(var n in i){var r=t[n],s=i[n];"number"==typeof r?(s.start=r,s.current=r,s.end=e?r+s.value:s.value):(s.start=r.clone(),s.current=r.clone(),s.end=e?(r.add||r.mul).call(r,s.value):s.value)}},update:function(t){var e=this._opts,i=t;e.easing&&(i=e.easing(t));var n=this.target;if(n){var r=this._props,s=this._opts.progress;for(var o in r){var a=r[o],c=a.easing?a.easing(t):i,l=a.current=(a.progress||s)(a.start,a.end,a.current,c);n[o]=l}}},progress:function(t,e,i,n){return"number"==typeof t?i=t+(e-t)*n:t.lerp(e,n,i),i}}),r=cc.Class({name:"cc.SetAction",extends:cc.ActionInstant,ctor:function(t){this._props={},void 0!==t&&this.init(t)},init:function(t){for(var e in t)this._props[e]=t[e];return!0},update:function(){var t=this._props,e=this.target;for(var i in t)e[i]=t[i]},clone:function(){var t=new r;return t.init(this._props),t}});function s(t){this._actions=[],this._finalAction=null,this._target=t}s.prototype.then=function(t){return t instanceof cc.Action?this._actions.push(t.clone()):this._actions.push(t._union()),this},s.prototype.target=function(t){return this._target=t,this},s.prototype.start=function(){return this._target?(this._finalAction&&cc.director.getActionManager().removeAction(this._finalAction),this._finalAction=this._union(),cc.director.getActionManager().addAction(this._finalAction,this._target,!1),this):(cc.warn("Please set target to tween first"),this)},s.prototype.stop=function(){return this._finalAction&&cc.director.getActionManager().removeAction(this._finalAction),this},s.prototype.clone=function(t){var e=this._union();return cc.tween(t).then(e.clone())},s.prototype.union=function(){var t=this._union();return this._actions.length=0,this._actions.push(t),this},s.prototype._union=function(){var t=this._actions;return t=1===t.length?t[0]:cc.sequence(t)};var o=[];function a(t){return function(){o.length=0;for(var e=arguments.length,i=0;i<e;i++){var n=o[i]=arguments[i];n instanceof s&&(o[i]=n._union())}return t.apply(this,o)}}for(var c={to:function(t,e,i){return(i=i||Object.create(null)).relative=!1,new n(t,e,i)},by:function(t,e,i){return(i=i||Object.create(null)).relative=!0,new n(t,e,i)},set:function(t){return new r(t)},delay:cc.delayTime,call:cc.callFunc,hide:cc.hide,show:cc.show,removeSelf:cc.removeSelf,sequence:a(cc.sequence),parallel:a(cc.spawn)},l={repeat:cc.repeat,repeatForever:function(t){return cc.repeat(t,1e9)},reverseTime:cc.reverseTime},h=Object.keys(c),u=function(t){var e=h[t];s.prototype[e]=function(){var t=c[e].apply(c,arguments);return this._actions.push(t),this}},_=0;_<h.length;_++)u(_);h=Object.keys(l);var f=function(t){var e=h[t];s.prototype[e]=function(){var t=this._actions,i=arguments[arguments.length-1],n=arguments.length-1;i instanceof cc.Tween?i=i._union():i instanceof cc.Action||(i=t[t.length-1],t.length-=1,n+=1);for(var r=[i],s=0;s<n;s++)r.push(arguments[s]);return i=l[e].apply(this,r),t.push(i),this}};for(_=0;_<h.length;_++)f(_);cc.tween=function(t){return new s(t)},cc.Tween=s}),{}],9:[(function(t,e,i){"use strict";var n=cc.js,r=t("./playable"),s=t("./animation-curves"),o=s.EventAnimCurve,a=s.EventInfo,c=t("./types").WrapModeMask,l=t("../core/utils/binary-search").binarySearchEpsilon;function h(t,e){r.call(this),this.target=t,this.animation=e,this._anims=new n.array.MutableForwardIterator([])}n.extend(h,r);var u=h.prototype;function _(t,e){var i=e.clip;e.duration=i.duration,e.speed=i.speed,e.wrapMode=i.wrapMode,e.frameRate=i.sample,(e.wrapMode&c.Loop)===c.Loop?e.repeatCount=1/0:e.repeatCount=1;var n=e.curves=i.createCurves(e,t),r=i.events;if(r)for(var s=void 0,h=0,u=r.length;h<u;h++){s||((s=new o).target=t,n.push(s));var _=r[h],f=_.frame/e.duration,d=void 0,p=l(s.ratios,f);p>=0?d=s.events[p]:(d=new a,s.ratios.push(f),s.events.push(d)),d.add(_.func,_.params)}}u.playState=function(t,e){t.clip&&(t.curveLoaded||_(this.target,t),t.animator=this,t.play(),"number"==typeof e&&t.setTime(e),this.play())},u.stopStatesExcept=function(t){var e=this._anims,i=e.array;for(e.i=0;e.i<i.length;++e.i){var n=i[e.i];n!==t&&this.stopState(n)}},u.addAnimation=function(t){-1===this._anims.array.indexOf(t)&&this._anims.push(t),t._setEventTarget(this.animation)},u.removeAnimation=function(t){var e=this._anims.array.indexOf(t);e>=0?(this._anims.fastRemoveAt(e),0===this._anims.array.length&&this.stop()):cc.errorID(3908),t.animator=null},u.sample=function(){var t=this._anims,e=t.array;for(t.i=0;t.i<e.length;++t.i){e[t.i].sample()}},u.stopState=function(t){t&&t.stop()},u.pauseState=function(t){t&&t.pause()},u.resumeState=function(t){t&&t.resume(),this.isPaused&&this.resume()},u.setStateTime=function(t,e){if(void 0!==e)t&&(t.setTime(e),t.sample());else{e=t;for(var i=this._anims.array,n=0;n<i.length;++n){var r=i[n];r.setTime(e),r.sample()}}},u.onStop=function(){var t=this._anims,e=t.array;for(t.i=0;t.i<e.length;++t.i){e[t.i].stop()}},u.onPause=function(){for(var t=this._anims.array,e=0;e<t.length;++e){var i=t[e];i.pause(),i.animator=null}},u.onResume=function(){for(var t=this._anims.array,e=0;e<t.length;++e){var i=t[e];i.animator=this,i.resume()}},u._reloadClip=function(t){_(this.target,t)},e.exports=h}),{"../core/utils/binary-search":243,"./animation-curves":11,"./playable":18,"./types":19}],10:[(function(t,e,i){"use strict";var n=t("./types").WrapMode,r=t("./animation-curves"),s=r.DynamicAnimCurve,o=r.quickFindIndex,a=t("./motion-path-helper").sampleMotionPaths,c=t("../core/utils/binary-search").binarySearchEpsilon,l=cc.Class({name:"cc.AnimationClip",extends:cc.Asset,properties:{_duration:{default:0,type:cc.Float},duration:{get:function(){return this._duration}},sample:{default:60},speed:{default:1},wrapMode:{default:n.Normal},curveData:{default:{},visible:!1},events:{default:[],visible:!1}},statics:{createWithSpriteFrames:function(t,e){if(!Array.isArray(t))return cc.errorID(3905),null;var i=new l;i.sample=e||i.sample,i._duration=t.length/i.sample;for(var n=[],r=1/i.sample,s=0,o=t.length;s<o;s++)n[s]={frame:s*r,value:t[s]};return i.curveData={comps:{"cc.Sprite":{spriteFrame:n}}},i}},onLoad:function(){this._duration=Number.parseFloat(this.duration),this.speed=Number.parseFloat(this.speed),this.wrapMode=Number.parseInt(this.wrapMode),this.frameRate=Number.parseFloat(this.sample)},createPropCurve:function(t,e,i){var n=[],r=t instanceof cc.Node&&"position"===e,l=new s;l.target=t,l.prop=e;for(var h=0,u=i.length;h<u;h++){var _=i[h],f=_.frame/this.duration;l.ratios.push(f),r&&n.push(_.motionPath);var d=_.value;l.values.push(d);var p=_.curve;if(p){if("string"==typeof p){l.types.push(p);continue}if(Array.isArray(p)){p[0]===p[1]&&p[2]===p[3]?l.types.push(s.Linear):l.types.push(s.Bezier(p));continue}}l.types.push(s.Linear)}r&&a(n,l,this.duration,this.sample,t);for(var m=l.ratios,y=void 0,v=void 0,g=!0,x=1,C=m.length;x<C;x++)if(y=m[x]-m[x-1],1===x)v=y;else if(Math.abs(y-v)>1e-6){g=!1;break}l._findFrameIndex=g?o:c;var A=l.values[0];return void 0===A||null===A||l._lerp||("number"==typeof A?l._lerp=s.prototype._lerpNumber:A instanceof cc.Quat?l._lerp=s.prototype._lerpQuat:A instanceof cc.Vec2||A instanceof cc.Vec3?l._lerp=s.prototype._lerpVector:A.lerp&&(l._lerp=s.prototype._lerpObject)),l},createTargetCurves:function(t,e,i){var n=e.props,r=e.comps;if(n)for(var s in n){var o=n[s],a=this.createPropCurve(t,s,o);i.push(a)}if(r)for(var c in r){var l=t.getComponent(c);if(l){var h=r[c];for(var u in h){var _=h[u],f=this.createPropCurve(l,u,_);i.push(f)}}}},createCurves:function(t,e){var i=this.curveData,n=i.paths,r=[];for(var s in this.createTargetCurves(e,i,r),n){var o=cc.find(s,e);if(o){var a=n[s];this.createTargetCurves(o,a,r)}}return r}});cc.AnimationClip=e.exports=l}),{"../core/utils/binary-search":243,"./animation-curves":11,"./motion-path-helper":17,"./types":19}],11:[(function(t,e,i){"use strict";var n=t("./bezier").bezierByTime,r=t("../core/utils/binary-search").binarySearchEpsilon,s=t("./types").WrapModeMask,o=t("./types").WrappedInfo;function a(t,e){if("string"==typeof e){var i=cc.easing[e];i?t=i(t):cc.errorID(3906,e)}else Array.isArray(e)&&(t=n(e,t));return t}var c=cc.Class({name:"cc.AnimCurve",sample:function(t,e,i){},onTimeChangedManually:void 0});function l(t,e){var i=t.length-1;if(0===i)return 0;var n=t[0];if(e<n)return 0;var r=t[i];if(e>r)return~t.length;var s=(e=(e-n)/(r-n))/(1/i),o=0|s;return s-o<1e-6?o:o+1-s<1e-6?o+1:~(o+1)}var h=cc.Class({name:"cc.DynamicAnimCurve",extends:c,ctor:function(){this._cachedIndex=0},properties:{target:null,prop:"",values:[],ratios:[],types:[]},_findFrameIndex:r,_lerp:void 0,_lerpNumber:function(t,e,i){return t+(e-t)*i},_lerpObject:function(t,e,i){return t.lerp(e,i)},_lerpQuat:(function(){var t=cc.quat();return function(e,i,n){return e.lerp(i,n,t)}})(),_lerpVector:(function(){var t=cc.v3();return function(e,i,n){return e.lerp(i,n,t)}})(),sample:function(t,e,i){var n=this.values,r=this.ratios,s=r.length;if(0!==s){var o=!0,c=this._cachedIndex;if(c<0&&(c=~c)>0&&c<r.length){var l=r[c-1],h=r[c];e>l&&e<h&&(o=!1)}o&&(this._cachedIndex=this._findFrameIndex(r,e));var u=void 0,_=this._cachedIndex;if(_<0)if((_=~_)<=0)u=n[0];else if(_>=s)u=n[s-1];else{var f=n[_-1];if(this._lerp){var d=r[_-1],p=r[_],m=this.types[_-1],y=(e-d)/(p-d);m&&(y=a(y,m));var v=n[_];u=this._lerp(f,v,y)}else u=f}else u=n[_];this.target[this.prop]=u}}});h.Linear=null,h.Bezier=function(t){return t};var u=function(){this.events=[]};u.prototype.add=function(t,e){this.events.push({func:t||"",params:e||[]})};var _=cc.Class({name:"cc.EventAnimCurve",extends:c,properties:{target:null,ratios:[],events:[],_wrappedInfo:{default:function(){return new o}},_lastWrappedInfo:null,_ignoreIndex:NaN},_wrapIterations:function(t){return t-(0|t)==0&&(t-=1),0|t},sample:function(t,e,i){var n=this.ratios.length,a=i.getWrappedInfo(i.time,this._wrappedInfo),c=a.direction,l=r(this.ratios,a.ratio);if(l<0&&(l=~l-1,c<0&&(l+=1)),this._ignoreIndex!==l&&(this._ignoreIndex=NaN),a.frameIndex=l,!this._lastWrappedInfo)return this._fireEvent(l),void(this._lastWrappedInfo=new o(a));var h=i.wrapMode,u=this._wrapIterations(a.iterations),_=this._lastWrappedInfo,f=this._wrapIterations(_.iterations),d=_.frameIndex,p=_.direction,m=-1!==f&&u!==f;if(d===l&&m&&1===n)this._fireEvent(0);else if(d!==l||m){c=p;do{if(d!==l){if(-1===c&&0===d&&l>0?((h&s.PingPong)===s.PingPong?c*=-1:d=n,f++):1===c&&d===n-1&&l<n-1&&((h&s.PingPong)===s.PingPong?c*=-1:d=-1,f++),d===l)break;if(f>u)break}d+=c,cc.director.getAnimationManager().pushDelayEvent(this,"_fireEvent",[d])}while(d!==l&&d>-1&&d<n)}this._lastWrappedInfo.set(a)},_fireEvent:function(t){if(!(t<0||t>=this.events.length||this._ignoreIndex===t)){var e=this.events[t].events;if(this.target.isValid)for(var i=this.target._components,n=0;n<e.length;n++)for(var r=e[n],s=r.func,o=0;o<i.length;o++){var a=i[o],c=a[s];c&&c.apply(a,r.params)}}},onTimeChangedManually:function(t,e){this._lastWrappedInfo=null,this._ignoreIndex=NaN;var i=e.getWrappedInfo(t,this._wrappedInfo),n=i.direction,s=r(this.ratios,i.ratio);s<0&&(s=~s-1,n<0&&(s+=1),this._ignoreIndex=s)}});e.exports={AnimCurve:c,DynamicAnimCurve:h,EventAnimCurve:_,EventInfo:u,computeRatioByType:a,quickFindIndex:l}}),{"../core/utils/binary-search":243,"./bezier":14,"./types":19}],12:[(function(t,e,i){"use strict";var n=cc.js,r=cc.Class({ctor:function(){this._anims=new n.array.MutableForwardIterator([]),this._delayEvents=[],cc.director._scheduler&&cc.director._scheduler.enableForTarget(this)},update:function(t){var e=this._anims,i=e.array;for(e.i=0;e.i<i.length;++e.i){var n=i[e.i];n._isPlaying&&!n._isPaused&&n.update(t)}for(var r=this._delayEvents,s=0;s<r.length;s++){var o=r[s];o.target[o.func].apply(o.target,o.args)}r.length=0},destruct:function(){},addAnimation:function(t){-1===this._anims.array.indexOf(t)&&this._anims.push(t)},removeAnimation:function(t){var e=this._anims.array.indexOf(t);e>=0?this._anims.fastRemoveAt(e):cc.errorID(3907)},pushDelayEvent:function(t,e,i){this._delayEvents.push({target:t,func:e,args:i})}});cc.AnimationManager=e.exports=r}),{}],13:[(function(t,e,i){"use strict";var n=cc.js,r=t("./playable"),s=t("./types"),o=s.WrappedInfo,a=s.WrapMode,c=s.WrapModeMask;function l(t,e){r.call(this),this._currentFramePlayed=!1,this._delay=0,this._delayTime=0,this._wrappedInfo=new o,this._lastWrappedInfo=null,this._process=u,this._clip=t,this._name=e||t&&t.name,this.animator=null,this.curves=[],this.delay=0,this.repeatCount=1,this.duration=1,this.speed=1,this.wrapMode=a.Normal,this.time=0,this._target=null,this._lastframeEventOn=!1,this.emit=function(){for(var t=new Array(arguments.length),e=0,i=t.length;e<i;e++)t[e]=arguments[e];cc.director.getAnimationManager().pushDelayEvent(this,"_emit",t)}}n.extend(l,r);var h=l.prototype;function u(){var t,e=this.sample();this._lastframeEventOn&&(t=this._lastWrappedInfo?this._lastWrappedInfo:this._lastWrappedInfo=new o(e),this.repeatCount>1&&(0|e.iterations)>(0|t.iterations)&&this.emit("lastframe",this),t.set(e));e.stopped&&(this.stop(),this.emit("finished",this))}function _(){var t=this.time,e=this.duration;t>e?0===(t%=e)&&(t=e):t<0&&0!==(t%=e)&&(t+=e);for(var i=t/e,n=this.curves,r=0,s=n.length;r<s;r++){n[r].sample(t,i,this)}this._lastframeEventOn&&(void 0===this._lastIterations&&(this._lastIterations=i),(this.time>0&&this._lastIterations>i||this.time<0&&this._lastIterations<i)&&this.emit("lastframe",this),this._lastIterations=i)}h._emit=function(t,e){this._target&&this._target.isValid&&this._target.emit(t,t,e)},h.on=function(t,e,i){return this._target&&this._target.isValid?("lastframe"===t&&(this._lastframeEventOn=!0),this._target.on(t,e,i)):null},h.once=function(t,e,i){if(this._target&&this._target.isValid){"lastframe"===t&&(this._lastframeEventOn=!0);var n=this;return this._target.once(t,(function(t){e.call(i,t),n._lastframeEventOn=!1}))}return null},h.off=function(t,e,i){this._target&&this._target.isValid&&("lastframe"===t&&(this._target.hasEventListener(t)||(this._lastframeEventOn=!1)),this._target.off(t,e,i))},h._setEventTarget=function(t){this._target=t},h.onPlay=function(){this.setTime(0),this._delayTime=this._delay,cc.director.getAnimationManager().addAnimation(this),this.animator&&this.animator.addAnimation(this),this.emit("play",this)},h.onStop=function(){this.isPaused||cc.director.getAnimationManager().removeAnimation(this),this.animator&&this.animator.removeAnimation(this),this.emit("stop",this)},h.onResume=function(){cc.director.getAnimationManager().addAnimation(this),this.emit("resume",this)},h.onPause=function(){cc.director.getAnimationManager().removeAnimation(this),this.emit("pause",this)},h.setTime=function(t){this._currentFramePlayed=!1,this.time=t||0;for(var e=this.curves,i=0,n=e.length;i<n;i++){var r=e[i];r.onTimeChangedManually&&r.onTimeChangedManually(t,this)}},h.update=function(t){this._delayTime>0&&(this._delayTime-=t,this._delayTime>0)||(this._currentFramePlayed?this.time+=t*this.speed:this._currentFramePlayed=!0,this._process())},h._needRevers=function(t){var e=this.wrapMode,i=!1;(e&c.PingPong)===c.PingPong&&(t-(0|t)==0&&t>0&&(t-=1),1&t&&(i=!i));return(e&c.Reverse)===c.Reverse&&(i=!i),i},h.getWrappedInfo=function(t,e){e=e||new o;var i=!1,n=this.duration,r=this.repeatCount,s=t>0?t/n:-t/n;if(s>=r){s=r,i=!0;var a=r-(0|r);0===a&&(a=1),t=a*n*(t>0?1:-1)}if(t>n){var l=t%n;t=0===l?n:l}else t<0&&0!==(t%=n)&&(t+=n);var h=!1,u=this._wrapMode&c.ShouldWrap;u&&(h=this._needRevers(s));var _=h?-1:1;return this.speed<0&&(_*=-1),u&&h&&(t=n-t),e.ratio=t/n,e.time=t,e.direction=_,e.stopped=i,e.iterations=s,e},h.sample=function(){for(var t=this.getWrappedInfo(this.time,this._wrappedInfo),e=this.curves,i=0,n=e.length;i<n;i++){e[i].sample(t.time,t.ratio,this)}return t},n.get(h,"clip",(function(){return this._clip})),n.get(h,"name",(function(){return this._name})),n.obsolete(h,"AnimationState.length","duration"),n.getset(h,"curveLoaded",(function(){return this.curves.length>0}),(function(){this.curves.length=0})),n.getset(h,"wrapMode",(function(){return this._wrapMode}),(function(t){this._wrapMode=t,this.time=0,t&c.Loop?this.repeatCount=1/0:this.repeatCount=1})),n.getset(h,"repeatCount",(function(){return this._repeatCount}),(function(t){this._repeatCount=t;var e=this._wrapMode&c.ShouldWrap,i=(this.wrapMode&c.Reverse)===c.Reverse;this._process=t!==1/0||e||i?u:_})),n.getset(h,"delay",(function(){return this._delay}),(function(t){this._delayTime=this._delay=t})),cc.AnimationState=e.exports=l}),{"./playable":18,"./types":19}],14:[(function(t,e,i){"use strict";function n(t,e,i,n,r){var s=1-r;return s*(s*(t+(3*e-t)*r)+3*i*r*r)+n*r*r*r}var r=Math.cos,s=Math.acos,o=Math.max,a=2*Math.PI,c=Math.sqrt;function l(t){return t<0?-Math.pow(-t,1/3):Math.pow(t,1/3)}function h(t,e){var i,n,h,u,_=e-0,f=e-t[0],d=3*_,p=3*f,m=3*(e-t[2]),y=1/(-_+p-m+(e-1)),v=(d-6*f+m)*y,g=v*(1/3),x=(-d+p)*y,C=1/3*(3*x-v*v),A=C*(1/3),b=(2*v*v*v-9*v*x+27*(_*y))/27,S=b/2,T=S*S+A*A*A;if(T<0){var w=1/3*-C,E=c(w*w*w),B=-b/(2*E),M=s(B<-1?-1:B>1?1:B),I=2*l(E);return n=I*r(M*(1/3))-g,h=I*r((M+a)*(1/3))-g,u=I*r((M+2*a)*(1/3))-g,0<=n&&n<=1?0<=h&&h<=1?0<=u&&u<=1?o(n,h,u):o(n,h):0<=u&&u<=1?o(n,u):n:0<=h&&h<=1?0<=u&&u<=1?o(h,u):h:u}if(0===T)return h=-(i=S<0?l(-S):-l(S))-g,0<=(n=2*i-g)&&n<=1?0<=h&&h<=1?o(n,h):n:h;var R=c(T);return n=(i=l(-S+R))-l(S+R)-g}function u(t,e){var i=h(t,e),n=t[1];return((1-i)*(n+(t[3]-n)*i)*3+i*i)*i}e.exports={bezier:n,bezierByTime:u}}),{}],15:[(function(t,e,i){"use strict";var n={constant:function(){return 0},linear:function(t){return t},quadIn:function(t){return t*t},quadOut:function(t){return t*(2-t)},quadInOut:function(t){return(t*=2)<1?.5*t*t:-.5*(--t*(t-2)-1)},cubicIn:function(t){return t*t*t},cubicOut:function(t){return--t*t*t+1},cubicInOut:function(t){return(t*=2)<1?.5*t*t*t:.5*((t-=2)*t*t+2)},quartIn:function(t){return t*t*t*t},quartOut:function(t){return 1- --t*t*t*t},quartInOut:function(t){return(t*=2)<1?.5*t*t*t*t:-.5*((t-=2)*t*t*t-2)},quintIn:function(t){return t*t*t*t*t},quintOut:function(t){return--t*t*t*t*t+1},quintInOut:function(t){return(t*=2)<1?.5*t*t*t*t*t:.5*((t-=2)*t*t*t*t+2)},sineIn:function(t){return 1-Math.cos(t*Math.PI/2)},sineOut:function(t){return Math.sin(t*Math.PI/2)},sineInOut:function(t){return.5*(1-Math.cos(Math.PI*t))},expoIn:function(t){return 0===t?0:Math.pow(1024,t-1)},expoOut:function(t){return 1===t?1:1-Math.pow(2,-10*t)},expoInOut:function(t){return 0===t?0:1===t?1:(t*=2)<1?.5*Math.pow(1024,t-1):.5*(2-Math.pow(2,-10*(t-1)))},circIn:function(t){return 1-Math.sqrt(1-t*t)},circOut:function(t){return Math.sqrt(1- --t*t)},circInOut:function(t){return(t*=2)<1?-.5*(Math.sqrt(1-t*t)-1):.5*(Math.sqrt(1-(t-=2)*t)+1)},elasticIn:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),-i*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4))},elasticOut:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),i*Math.pow(2,-10*t)*Math.sin((t-e)*(2*Math.PI)/.4)+1)},elasticInOut:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),(t*=2)<1?i*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4)*-.5:i*Math.pow(2,-10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4)*.5+1)},backIn:function(t){var e=1.70158;return t*t*((e+1)*t-e)},backOut:function(t){var e=1.70158;return--t*t*((e+1)*t+e)+1},backInOut:function(t){var e=2.5949095;return(t*=2)<1?t*t*((e+1)*t-e)*.5:.5*((t-=2)*t*((e+1)*t+e)+2)},bounceIn:function(t){return 1-n.bounceOut(1-t)},bounceOut:function(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375},bounceInOut:function(t){return t<.5?.5*n.bounceIn(2*t):.5*n.bounceOut(2*t-1)+.5},smooth:function(t){return t<=0?0:t>=1?1:t*t*(3-2*t)},fade:function(t){return t<=0?0:t>=1?1:t*t*t*(t*(6*t-15)+10)}};function r(t,e){return function(i){return i<.5?e(2*i)/2:t(2*i-1)/2+.5}}n.quadOutIn=r(n.quadIn,n.quadOut),n.cubicOutIn=r(n.cubicIn,n.cubicOut),n.quartOutIn=r(n.quartIn,n.quartOut),n.quintOutIn=r(n.quintIn,n.quintOut),n.sineOutIn=r(n.sineIn,n.sineOut),n.expoOutIn=r(n.expoIn,n.expoOut),n.circOutIn=r(n.circIn,n.circOut),n.backOutIn=r(n.backIn,n.backOut),n.bounceIn=function(t){return 1-n.bounceOut(1-t)},n.bounceInOut=function(t){return t<.5?.5*n.bounceIn(2*t):.5*n.bounceOut(2*t-1)+.5},n.bounceOutIn=r(n.bounceIn,n.bounceOut),cc.easing=e.exports=n}),{}],16:[(function(t,e,i){"use strict";t("./bezier"),t("./easing"),t("./types"),t("./motion-path-helper"),t("./animation-curves"),t("./animation-clip"),t("./animation-manager"),t("./animation-state"),t("./animation-animator")}),{"./animation-animator":9,"./animation-clip":10,"./animation-curves":11,"./animation-manager":12,"./animation-state":13,"./bezier":14,"./easing":15,"./motion-path-helper":17,"./types":19}],17:[(function(t,e,i){"use strict";var n=t("./animation-curves").DynamicAnimCurve,r=t("./animation-curves").computeRatioByType,s=t("./bezier").bezier,o=t("../core/utils/binary-search").binarySearchEpsilon,a=cc.v2;function c(t){this.points=t||[],this.beziers=[],this.ratios=[],this.progresses=[],this.length=0,this.computeBeziers()}function l(){this.start=a(),this.end=a(),this.startCtrlPoint=a(),this.endCtrlPoint=a()}function h(t){if(!Array.isArray(t))return!1;for(var e=0,i=t.length;e<i;e++){var n=t[e];if(!Array.isArray(n)||6!==n.length)return!1}return!0}function u(t,e,i,s,l){function u(t){return t instanceof cc.Vec2?{in:t,pos:t,out:t}:Array.isArray(t)&&6===t.length?{in:a(t[2],t[3]),pos:a(t[0],t[1]),out:a(t[4],t[5])}:{in:cc.Vec2.ZERO,pos:cc.Vec2.ZERO,out:cc.Vec2.ZERO}}var _=e.values=e.values.map((function(t){return Array.isArray(t)&&(t=2===t.length?cc.v2(t[0],t[1]):cc.v3(t[0],t[1],t[2])),t}));if(0!==t.length&&0!==_.length){for(var f=!1,d=0;d<t.length;d++){var p=t[d];if(p&&!h(p)&&(cc.errorID(3904,l?l.name:"","position",d),p=null),p&&p.length>0){f=!0;break}}if(f&&1!==_.length){for(var m=e.types,y=e.ratios,v=e.values=[],g=e.types=[],x=e.ratios=[],C=0,A=n.Linear,b=0,S=t.length;b<S-1;b++){var T,w=t[b],E=y[b],B=y[b+1]-E,M=_[b],I=_[b+1],R=m[b],P=[],D=C/B,L=1/(B*i*s);if(w&&w.length>0){var O=[];O.push(u(M));for(var V=0,F=w.length;V<F;V++){var N=u(w[V]);O.push(N)}O.push(u(I));var G=new c(O);G.computeBeziers();for(var k=G.progresses;1-D>1e-6;){var z,U,W,j;if((T=r(T=D,R))<0)j=(0-T)*(U=G.beziers[0]).getLength(),W=U.start.sub(U.endCtrlPoint).normalize(),z=U.start.add(W.mul(j));else if(T>1)j=(T-1)*(U=G.beziers[G.beziers.length-1]).getLength(),W=U.end.sub(U.startCtrlPoint).normalize(),z=U.end.add(W.mul(j));else{var H=o(k,T);H<0&&(H=~H),T-=H>0?k[H-1]:0,T/=G.ratios[H],z=G.beziers[H].getPointAt(T)}P.push(z),D+=L}}else for(;1-D>1e-6;)T=r(T=D,R),P.push(M.lerp(I,T)),D+=L;A="constant"===R?R:n.Linear;for(V=0,F=P.length;V<F;V++){var q=E+C+L*V*B;X(P[V],A,q)}C=Math.abs(D-1)>1e-6?(D-1)*B:0}y[y.length-1]!==x[x.length-1]&&X(_[_.length-1],A,y[y.length-1])}}function X(t,e,i){v.push(t),g.push(e),x.push(i)}}c.prototype.computeBeziers=function(){var t;this.beziers.length=0,this.ratios.length=0,this.progresses.length=0,this.length=0;for(var e=1;e<this.points.length;e++){var i=this.points[e-1],n=this.points[e];(t=new l).start=i.pos,t.startCtrlPoint=i.out,t.end=n.pos,t.endCtrlPoint=n.in,this.beziers.push(t),this.length+=t.getLength()}var r=0;for(e=0;e<this.beziers.length;e++)t=this.beziers[e],this.ratios[e]=t.getLength()/this.length,this.progresses[e]=r+=this.ratios[e];return this.beziers},l.prototype.getPointAt=function(t){var e=this.getUtoTmapping(t);return this.getPoint(e)},l.prototype.getPoint=function(t){var e=s(this.start.x,this.startCtrlPoint.x,this.endCtrlPoint.x,this.end.x,t),i=s(this.start.y,this.startCtrlPoint.y,this.endCtrlPoint.y,this.end.y,t);return new a(e,i)},l.prototype.getLength=function(){var t=this.getLengths();return t[t.length-1]},l.prototype.getLengths=function(t){if(t||(t=this.__arcLengthDivisions?this.__arcLengthDivisions:200),this.cacheArcLengths&&this.cacheArcLengths.length===t+1)return this.cacheArcLengths;var e,i,n=[],r=this.getPoint(0),s=a(),o=0;for(n.push(0),i=1;i<=t;i++)e=this.getPoint(i/t),s.x=r.x-e.x,s.y=r.y-e.y,o+=s.mag(),n.push(o),r=e;return this.cacheArcLengths=n,n},l.prototype.getUtoTmapping=function(t,e){var i,n=this.getLengths(),r=0,s=n.length;i=e||t*n[s-1];for(var o,a=0,c=s-1;a<=c;)if((o=n[r=Math.floor(a+(c-a)/2)]-i)<0)a=r+1;else{if(!(o>0)){c=r;break}c=r-1}if(n[r=c]===i)return r/(s-1);var l=n[r];return(r+(i-l)/(n[r+1]-l))/(s-1)},e.exports={sampleMotionPaths:u,Curve:c,Bezier:l}}),{"../core/utils/binary-search":243,"./animation-curves":11,"./bezier":14}],18:[(function(t,e,i){"use strict";var n=cc.js,r=t("../core/CCDebug");function s(){this._isPlaying=!1,this._isPaused=!1,this._stepOnce=!1}var o=s.prototype;n.get(o,"isPlaying",(function(){return this._isPlaying}),!0),n.get(o,"isPaused",(function(){return this._isPaused}),!0);var a=function(){};o.onPlay=a,o.onPause=a,o.onResume=a,o.onStop=a,o.onError=a,o.play=function(){this._isPlaying?this._isPaused?(this._isPaused=!1,this.onResume()):this.onError(r.getError(3912)):(this._isPlaying=!0,this.onPlay())},o.stop=function(){this._isPlaying&&(this._isPlaying=!1,this.onStop(),this._isPaused=!1)},o.pause=function(){this._isPlaying&&!this._isPaused&&(this._isPaused=!0,this.onPause())},o.resume=function(){this._isPlaying&&this._isPaused&&(this._isPaused=!1,this.onResume())},o.step=function(){this.pause(),this._stepOnce=!0,this._isPlaying||this.play()},e.exports=s}),{"../core/CCDebug":27}],19:[(function(t,e,i){"use strict";var n={Loop:2,ShouldWrap:4,PingPong:22,Reverse:36},r=cc.Enum({Default:0,Normal:1,Reverse:n.Reverse,Loop:n.Loop,LoopReverse:n.Loop|n.Reverse,PingPong:n.PingPong,PingPongReverse:n.PingPong|n.Reverse});function s(t){t?this.set(t):(this.ratio=0,this.time=0,this.direction=1,this.stopped=!0,this.iterations=0,this.frameIndex=void 0)}cc.WrapMode=r,s.prototype.set=function(t){this.ratio=t.ratio,this.time=t.time,this.direction=t.direction,this.stopped=t.stopped,this.iterations=t.iterations,this.frameIndex=t.frameIndex},e.exports={WrapModeMask:n,WrapMode:r,WrappedInfo:s}}),{}],20:[(function(t,e,i){"use strict";var n=t("../core/event/event-target"),r=t("../core/platform/CCSys"),s=t("../core/assets/CCAudioClip").LoadMode,o=!1,a=[],c=function t(e){n.call(this),this._src=e,this._element=null,this.id=0,this._volume=1,this._loop=!1,this._nextTime=0,this._state=t.State.INITIALZING,this._onended=function(){this._state=t.State.STOPPED,this.emit("ended")}.bind(this)};cc.js.extend(c,n),c.State={ERROR:-1,INITIALZING:0,PLAYING:1,PAUSED:2,STOPPED:3},(function(t){t._bindEnded=function(t){t=t||this._onended;var e=this._element;this._src&&e instanceof HTMLAudioElement?e.addEventListener("ended",t):e.onended=t},t._unbindEnded=function(){var t=this._element;t instanceof HTMLAudioElement?t.removeEventListener("ended",this._onended):t&&(t.onended=null)},t._onLoaded=function(){this._createElement(),this.setVolume(this._volume),this.setLoop(this._loop),0!==this._nextTime&&this.setCurrentTime(this._nextTime),this.getState()===c.State.PLAYING?this.play():this._state=c.State.INITIALZING},t._createElement=function(){var t=this._src._nativeAsset;t instanceof HTMLAudioElement?(this._element||(this._element=document.createElement("audio")),this._element.src=t.src):this._element=new h(t,this)},t.play=function(){this._state=c.State.PLAYING,this._element&&(this._bindEnded(),this._element.play(),this._touchToPlay())},t._touchToPlay=function(){if(this._src&&this._src.loadMode===s.DOM_AUDIO&&this._element.paused&&a.push({instance:this,offset:0,audio:this._element}),!o){o=!0;var t="ontouchend"in window?"touchend":"mousedown";cc.game.canvas.addEventListener(t,(function(){for(var t=void 0;t=a.pop();)t.audio.play(t.offset)}))}},t.destroy=function(){this._element=null},t.pause=function(){this._element&&this.getState()===c.State.PLAYING&&(this._unbindEnded(),this._element.pause(),this._state=c.State.PAUSED)},t.resume=function(){this._element&&this.getState()===c.State.PAUSED&&(this._bindEnded(),this._element.play(),this._state=c.State.PLAYING)},t.stop=function(){if(this._element){this._element.pause();try{this._element.currentTime=0}catch(t){}for(var t=0;t<a.length;t++)if(a[t].instance===this){a.splice(t,1);break}this._unbindEnded(),this.emit("stop"),this._state=c.State.STOPPED}},t.setLoop=function(t){this._loop=t,this._element&&(this._element.loop=t)},t.getLoop=function(){return this._loop},t.setVolume=function(t){this._volume=t,this._element&&(this._element.volume=t)},t.getVolume=function(){return this._volume},t.setCurrentTime=function(t){if(this._element){this._nextTime=0,this._unbindEnded(),this._bindEnded(function(){this._bindEnded()}.bind(this));try{this._element.currentTime=t}catch(i){var e=this._element;if(e.addEventListener){e.addEventListener("loadedmetadata",(function i(){e.removeEventListener("loadedmetadata",i),e.currentTime=t}))}}}else this._nextTime=t},t.getCurrentTime=function(){return this._element?this._element.currentTime:0},t.getDuration=function(){return this._element?this._element.duration:0},t.getState=function(){return this._forceUpdatingState(),this._state},t._forceUpdatingState=function(){var t=this._element;t&&(c.State.PLAYING===this._state&&t.paused?this._state=c.State.STOPPED:c.State.STOPPED!==this._state||t.paused||(this._state=c.State.PLAYING))},Object.defineProperty(t,"src",{get:function(){return this._src},set:function(t){if(this._unbindEnded(),t)if(this._src=t,t.loaded)this._onLoaded();else{var e=this;t.once("load",(function(){t===e._src&&e._onLoaded()})),cc.loader.load({url:t.nativeUrl,skips:["Loader"]},(function(e,i){e?cc.error(e):t.loaded||(t._nativeAsset=i)}))}else this._src=null,this._element instanceof HTMLAudioElement?this._element.src="":this._element=null,this._state=c.State.INITIALZING;return t},enumerable:!0,configurable:!0}),Object.defineProperty(t,"paused",{get:function(){return!this._element||this._element.paused},enumerable:!0,configurable:!0})})(c.prototype);var l=void 0;l=cc.sys.browserType===cc.sys.BROWSER_TYPE_EDGE||cc.sys.browserType===cc.sys.BROWSER_TYPE_BAIDU||cc.sys.browserType===cc.sys.BROWSER_TYPE_UC?.01:0;var h=function(t,e){this._audio=e,this._context=r.__audioSupport.context,this._buffer=t,this._gainObj=this._context.createGain(),this.volume=1,this._gainObj.connect(this._context.destination),this._loop=!1,this._startTime=-1,this._currentSource=null,this.playedLength=0,this._currentTimer=null,this._endCallback=function(){this.onended&&this.onended(this)}.bind(this)};(function(t){t.play=function(t){this._currentSource&&!this.paused&&(this._currentSource.onended=null,this._currentSource.stop(0),this.playedLength=0);var e=this._context.createBufferSource();e.buffer=this._buffer,e.connect(this._gainObj),e.loop=this._loop,this._startTime=this._context.currentTime,(t=t||this.playedLength)&&(this._startTime-=t);var i=this._buffer.duration,n=t,r=void 0;if(this._loop?e.start?e.start(0,n):e.notoGrainOn?e.noteGrainOn(0,n):e.noteOn(0,n):(r=i-t,e.start?e.start(0,n,r):e.noteGrainOn?e.noteGrainOn(0,n,r):e.noteOn(0,n,r)),this._currentSource=e,e.onended=this._endCallback,(!e.context.state||"suspended"===e.context.state)&&0===this._context.currentTime){var s=this;clearTimeout(this._currentTimer),this._currentTimer=setTimeout((function(){0===s._context.currentTime&&a.push({instance:s._audio,offset:t,audio:s})}),10)}},t.pause=function(){if(clearTimeout(this._currentTimer),!this.paused){this.playedLength=this._context.currentTime-this._startTime,this.playedLength%=this._buffer.duration;var t=this._currentSource;this._currentSource=null,this._startTime=-1,t&&t.stop(0)}},Object.defineProperty(t,"paused",{get:function(){return(!this._currentSource||!this._currentSource.loop)&&(-1===this._startTime||this._context.currentTime-this._startTime>this._buffer.duration)},enumerable:!0,configurable:!0}),Object.defineProperty(t,"loop",{get:function(){return this._loop},set:function(t){return this._currentSource&&(this._currentSource.loop=t),this._loop=t},enumerable:!0,configurable:!0}),Object.defineProperty(t,"volume",{get:function(){return this._volume},set:function(t){if(this._volume=t,this._gainObj.gain.setTargetAtTime)try{this._gainObj.gain.setTargetAtTime(t,this._context.currentTime,l)}catch(e){this._gainObj.gain.setTargetAtTime(t,this._context.currentTime,.01)}else this._gainObj.gain.value=t;r.os===r.OS_IOS&&!this.paused&&this._currentSource&&(this._currentSource.onended=null,this.pause(),this.play())},enumerable:!0,configurable:!0}),Object.defineProperty(t,"currentTime",{get:function(){return this.paused?this.playedLength:(this.playedLength=this._context.currentTime-this._startTime,this.playedLength%=this._buffer.duration,this.playedLength)},set:function(t){return this.paused?this.playedLength=t:(this.pause(),this.playedLength=t,this.play()),t},enumerable:!0,configurable:!0}),Object.defineProperty(t,"duration",{get:function(){return this._buffer.duration},enumerable:!0,configurable:!0})})(h.prototype),e.exports=cc.Audio=c}),{"../core/assets/CCAudioClip":35,"../core/event/event-target":98,"../core/platform/CCSys":169}],21:[(function(t,e,i){"use strict";var n=t("./CCAudio"),r=t("../core/assets/CCAudioClip"),s=cc.js,o=0,a=s.createMap(!0),c={},l=[],h=function(t){t._finishCallback=null,t.off("ended"),t.off("stop"),t.src=null,l.includes(t)||(l.length<32?l.push(t):t.destroy())},u=function(t){var e=o++,i=c[t];if(i||(i=c[t]=[]),d._maxAudioInstance<=i.length){var r=i.shift();_(r).stop()}var s=l.pop()||new n,u=function(){if(_(this.id)){delete a[this.id];var t=i.indexOf(this.id);cc.js.array.fastRemoveAt(i,t)}h(this)};return s.on("ended",(function(){this._finishCallback&&this._finishCallback(),u.call(this)}),s),s.on("stop",u,s),s.id=e,a[e]=s,i.push(e),s},_=function(t){return a[t]},f=function(t){return void 0===t?t=1:"string"==typeof t&&(t=Number.parseFloat(t)),t},d={AudioState:n.State,_maxWebAudioSize:2097152,_maxAudioInstance:24,_id2audio:a,play:function(t,e,i){var n,s=t;if("string"==typeof t)cc.warnID(8401,"cc.audioEngine","cc.AudioClip","AudioClip","cc.AudioClip","audio"),n=u(s=t),r._loadByUrl(s,(function(t,e){e&&(n.src=e)}));else{if(!t)return;s=t.nativeUrl,(n=u(s)).src=t}return n.setLoop(e||!1),i=f(i),n.setVolume(i),n.play(),n.id},setLoop:function(t,e){var i=_(t);i&&i.setLoop&&i.setLoop(e)},isLoop:function(t){var e=_(t);return!(!e||!e.getLoop)&&e.getLoop()},setVolume:function(t,e){var i=_(t);i&&i.setVolume(e)},getVolume:function(t){var e=_(t);return e?e.getVolume():1},setCurrentTime:function(t,e){var i=_(t);return!!i&&(i.setCurrentTime(e),!0)},getCurrentTime:function(t){var e=_(t);return e?e.getCurrentTime():0},getDuration:function(t){var e=_(t);return e?e.getDuration():0},getState:function(t){var e=_(t);return e?e.getState():this.AudioState.ERROR},setFinishCallback:function(t,e){var i=_(t);i&&(i._finishCallback=e)},pause:function(t){var e=_(t);return!!e&&(e.pause(),!0)},_pauseIDCache:[],pauseAll:function(){for(var t in a){var e=a[t];e.getState()===n.State.PLAYING&&(this._pauseIDCache.push(t),e.pause())}},resume:function(t){var e=_(t);e&&e.resume()},resumeAll:function(){for(var t=0;t<this._pauseIDCache.length;++t){var e=this._pauseIDCache[t],i=_(e);i&&i.resume()}this._pauseIDCache.length=0},stop:function(t){var e=_(t);return!!e&&(e.stop(),!0)},stopAll:function(){for(var t in a){var e=a[t];e&&e.stop()}},setMaxAudioInstance:function(t){this._maxAudioInstance=t},getMaxAudioInstance:function(){return this._maxAudioInstance},uncache:function(t){var e=t;if("string"==typeof t)cc.warnID(8401,"cc.audioEngine","cc.AudioClip","AudioClip","cc.AudioClip","audio"),e=t;else{if(!t)return;e=t.nativeUrl}var i=c[e];if(i)for(;i.length>0;){var n=i.pop(),r=a[n];r&&(r.stop(),delete a[n])}},uncacheAll:function(){this.stopAll();var t=void 0;for(var e in a)(t=a[e])&&t.destroy();for(;t=l.pop();)t.destroy();a=s.createMap(!0),c={}},getProfile:function(t){},preload:function(t,e){cc.loader.load(t,e&&function(t){t||e()})},setMaxWebAudioSize:function(t){this._maxWebAudioSize=1024*t},_breakCache:null,_break:function(){for(var t in this._breakCache=[],a){var e=a[t];e.getState()===n.State.PLAYING&&(this._breakCache.push(t),e.pause())}},_restore:function(){if(this._breakCache){for(;this._breakCache.length>0;){var t=this._breakCache.pop(),e=_(t);e&&e.resume&&e.resume()}this._breakCache=null}},_music:{id:-1,loop:!1,volume:1},_effect:{volume:1,pauseCache:[]},playMusic:function(t,e){var i=this._music;return this.stop(i.id),i.id=this.play(t,e,i.volume),i.loop=e,i.id},stopMusic:function(){this.stop(this._music.id)},pauseMusic:function(){return this.pause(this._music.id),this._music.id},resumeMusic:function(){return this.resume(this._music.id),this._music.id},getMusicVolume:function(){return this._music.volume},setMusicVolume:function(t){t=f(t);var e=this._music;return e.volume=t,this.setVolume(e.id,e.volume),e.volume},isMusicPlaying:function(){return this.getState(this._music.id)===this.AudioState.PLAYING},playEffect:function(t,e){return this.play(t,e||!1,this._effect.volume)},setEffectsVolume:function(t){t=f(t);var e=this._music.id;for(var i in this._effect.volume=t,a){var n=a[i];n&&n.id!==e&&d.setVolume(i,t)}},getEffectsVolume:function(){return this._effect.volume},pauseEffect:function(t){return this.pause(t)},pauseAllEffects:function(){var t=this._music.id,e=this._effect;for(var i in e.pauseCache.length=0,a){var n=a[i];if(n&&n.id!==t)n.getState()===this.AudioState.PLAYING&&(e.pauseCache.push(i),n.pause())}},resumeEffect:function(t){this.resume(t)},resumeAllEffects:function(){for(var t=this._effect.pauseCache,e=0;e<t.length;++e){var i=t[e],n=a[i];n&&n.resume()}},stopEffect:function(t){return this.stop(t)},stopAllEffects:function(){var t=this._music.id;for(var e in a){var i=a[e];if(i&&i.id!==t)i.getState()===d.AudioState.PLAYING&&i.stop()}}};e.exports=cc.audioEngine=d}),{"../core/assets/CCAudioClip":35,"./CCAudio":20}],22:[(function(t,e,i){"use strict";var n={name:"Jacob__Codec"};n.Base64=t("./base64"),n.GZip=t("./gzip"),n.unzip=function(){return n.GZip.gunzip.apply(n.GZip,arguments)},n.unzipBase64=function(){var t=n.Base64.decode.apply(n.Base64,arguments);try{return n.GZip.gunzip.call(n.GZip,t)}catch(e){return t.slice(7)}},n.unzipBase64AsArray=function(t,e){e=e||1;var i,n,r,s=this.unzipBase64(t),o=[];for(i=0,r=s.length/e;i<r;i++)for(o[i]=0,n=e-1;n>=0;--n)o[i]+=s.charCodeAt(i*e+n)<<8*n;return o},n.unzipAsArray=function(t,e){e=e||1;var i,n,r,s=this.unzip(t),o=[];for(i=0,r=s.length/e;i<r;i++)for(o[i]=0,n=e-1;n>=0;--n)o[i]+=s.charCodeAt(i*e+n)<<8*n;return o},cc.codec=e.exports=n}),{"./base64":23,"./gzip":24}],23:[(function(t,e,i){"use strict";var n=t("../core/utils/misc").BASE64_VALUES,r={name:"Jacob__Codec__Base64",decode:function(t){var e,i,r,s,o,a,c=[],l=0;for(t=t.replace(/[^A-Za-z0-9\+\/\=]/g,"");l<t.length;)e=n[t.charCodeAt(l++)]<<2|(s=n[t.charCodeAt(l++)])>>4,i=(15&s)<<4|(o=n[t.charCodeAt(l++)])>>2,r=(3&o)<<6|(a=n[t.charCodeAt(l++)]),c.push(String.fromCharCode(e)),64!==o&&c.push(String.fromCharCode(i)),64!==a&&c.push(String.fromCharCode(r));return c=c.join("")},decodeAsArray:function(t,e){var i,n,r,s=this.decode(t),o=[];for(i=0,r=s.length/e;i<r;i++)for(o[i]=0,n=e-1;n>=0;--n)o[i]+=s.charCodeAt(i*e+n)<<8*n;return o}};e.exports=r}),{"../core/utils/misc":249}],24:[(function(t,e,i){"use strict";var n=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(n.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};n.gunzip=function(t){return t.constructor===Array||(t.constructor,String),new n(t).gunzip()[0][0]},n.HufNode=function(){this.b0=0,this.b1=0,this.jump=null,this.jumppos=-1},n.LITERALS=288,n.NAMEMAX=256,n.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],n.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],n.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],n.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],n.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],n.border=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],n.prototype.gunzip=function(){return this.outputArr=[],this.nextFile(),this.unzipped},n.prototype.readByte=function(){return this.bits+=8,this.bytepos<this.data.length?this.data.charCodeAt(this.bytepos++):-1},n.prototype.byteAlign=function(){this.bb=1},n.prototype.readBit=function(){var t;return this.bits++,t=1&this.bb,this.bb>>=1,0===this.bb&&(this.bb=this.readByte(),t=1&this.bb,this.bb=this.bb>>1|128),t},n.prototype.readBits=function(t){for(var e=0,i=t;i--;)e=e<<1|this.readBit();return t&&(e=n.bitReverse[e]>>8-t),e},n.prototype.flushBuffer=function(){this.bIdx=0},n.prototype.addBuffer=function(t){this.buf32k[this.bIdx++]=t,this.outputArr.push(String.fromCharCode(t)),32768===this.bIdx&&(this.bIdx=0)},n.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]++}},n.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},n.prototype.CreateTree=function(t,e,i,n){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},n.prototype.DecodeValue=function(t){for(var e,i,n=0,r=t[n];;)if(this.readBit()){if(!(32768&r.b1))return r.b1;for(r=r.jump,e=t.length,i=0;i<e;i++)if(t[i]===r){n=i;break}}else{if(!(32768&r.b0))return r.b0;r=t[++n]}return-1},n.prototype.DeflateLoop=function(){var t,e,i;do{var r,s;if(t=this.readBit(),0===(e=this.readBits(2)))for(this.byteAlign(),r=this.readByte(),r|=this.readByte()<<8,s=this.readByte(),65535&(r^~(s|=this.readByte()<<8))&&document.write("BlockLen checksum mismatch\n");r--;)o=this.readByte(),this.addBuffer(o);else if(1===e)for(;;)if((a=n.bitReverse[this.readBits(7)]>>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(n.cplext[a])+n.cplens[a],a=n.bitReverse[this.readBits(5)]>>3,n.cpdext[a]>8?(m=this.readBits(8),m|=this.readBits(n.cpdext[a]-8)<<8):m=this.readBits(n.cpdext[a]),m+=n.cpdist[a],a=0;a<p;a++){var o=this.buf32k[this.bIdx-m&32767];this.addBuffer(o)}}else if(2===e){var a,c,l,h,u,_=new Array(320);for(l=257+this.readBits(5),h=1+this.readBits(5),u=4+this.readBits(4),a=0;a<19;a++)_[a]=0;for(a=0;a<u;a++)_[n.border[a]]=this.readBits(3);for(p=this.distanceTree.length,i=0;i<p;i++)this.distanceTree[i]=new n.HufNode;if(this.CreateTree(this.distanceTree,19,_,0))return this.flushBuffer(),1;c=l+h,i=0;for(;i<c;)if(0,(a=this.DecodeValue(this.distanceTree))<16)_[i++]=a;else if(16===a){var f;if(i+(a=3+this.readBits(2))>c)return this.flushBuffer(),1;for(f=i?_[i-1]:0;a--;)_[i++]=f}else{if(i+(a=17===a?3+this.readBits(3):11+this.readBits(7))>c)return this.flushBuffer(),1;for(;a--;)_[i++]=0}for(p=this.literalTree.length,i=0;i<p;i++)this.literalTree[i]=new n.HufNode;if(this.CreateTree(this.literalTree,l,_,0))return this.flushBuffer(),1;for(p=this.literalTree.length,i=0;i<p;i++)this.distanceTree[i]=new n.HufNode;var d=new Array;for(i=l;i<_.length;i++)d[i-l]=_[i];if(this.CreateTree(this.distanceTree,h,d,0))return this.flushBuffer(),1;for(;;)if((a=this.DecodeValue(this.literalTree))>=256){var p,m;if(0===(a-=256))break;for(a--,p=this.readBits(n.cplext[a])+n.cplens[a],a=this.DecodeValue(this.distanceTree),n.cpdext[a]>8?(m=this.readBits(8),m|=this.readBits(n.cpdext[a]-8)<<8):m=this.readBits(n.cpdext[a]),m+=n.cpdist[a];p--;){o=this.buf32k[this.bIdx-m&32767];this.addBuffer(o)}}else this.addBuffer(a)}}while(!t);return this.flushBuffer(),this.byteAlign(),0},n.prototype.unzipFile=function(t){var e;for(this.gunzip(),e=0;e<this.unzipped.length;e++)if(this.unzipped[e][1]===t)return this.unzipped[e][0]},n.prototype.nextFile=function(){this.outputArr=[],this.modeZIP=!1;var t=[];if(t[0]=this.readByte(),t[1]=this.readByte(),120===t[0]&&218===t[1]&&(this.DeflateLoop(),this.unzipped[this.files]=[this.outputArr.join(""),"geonext.gxt"],this.files++),31===t[0]&&139===t[1]&&(this.skipdir(),this.unzipped[this.files]=[this.outputArr.join(""),"file"],this.files++),80===t[0]&&75===t[1]&&(this.modeZIP=!0,t[2]=this.readByte(),t[3]=this.readByte(),3===t[2]&&4===t[3])){t[0]=this.readByte(),t[1]=this.readByte(),this.gpflags=this.readByte(),this.gpflags|=this.readByte()<<8;var e=this.readByte();e|=this.readByte()<<8,this.readByte(),this.readByte(),this.readByte(),this.readByte();this.readByte();this.readByte()<<8,this.readByte()<<16,this.readByte()<<24;this.readByte();this.readByte()<<8,this.readByte()<<16,this.readByte()<<24;var i=this.readByte();i|=this.readByte()<<8;var r=this.readByte();for(r|=this.readByte()<<8,o=0,this.nameBuf=[];i--;){var s=this.readByte();"/"===s|":"===s?o=0:o<n.NAMEMAX-1&&(this.nameBuf[o++]=String.fromCharCode(s))}this.fileout||(this.fileout=this.nameBuf);for(var o=0;o<r;)s=this.readByte(),o++;8===e&&(this.DeflateLoop(),this.unzipped[this.files]=[this.outputArr.join(""),this.nameBuf.join("")],this.files++),this.skipdir()}},n.prototype.skipdir=function(){var t,e,i=[];if(8&this.gpflags&&(i[0]=this.readByte(),i[1]=this.readByte(),i[2]=this.readByte(),i[3]=this.readByte(),this.readByte(),this.readByte()<<8,this.readByte()<<16,this.readByte()<<24,this.readByte(),this.readByte()<<8,this.readByte()<<16,this.readByte()<<24),this.modeZIP&&this.nextFile(),i[0]=this.readByte(),8!==i[0])return 0;if(this.gpflags=this.readByte(),this.readByte(),this.readByte(),this.readByte(),this.readByte(),this.readByte(),this.readByte(),4&this.gpflags)for(i[0]=this.readByte(),i[2]=this.readByte(),this.len=i[0]+256*i[1],t=0;t<this.len;t++)this.readByte();if(8&this.gpflags)for(t=0,this.nameBuf=[];e=this.readByte();)"7"!==e&&":"!==e||(t=0),t<n.NAMEMAX-1&&(this.nameBuf[t++]=e);if(16&this.gpflags)for(;e=this.readByte(););2&this.gpflags&&(this.readByte(),this.readByte()),this.DeflateLoop(),this.readByte(),this.readByte(),this.readByte(),this.readByte(),this.modeZIP&&this.nextFile()},e.exports=n}),{}],25:[(function(t,e,i){"use strict";(function(){function t(t){throw t}var e=void 0,i=!0,n=this;function r(t,i){var r,s=t.split("."),o=n;!(s[0]in o)&&o.execScript&&o.execScript("var "+s[0]);for(;s.length&&(r=s.shift());)s.length||i===e?o=o[r]?o[r]:o[r]={}:o[r]=i}var s="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Uint32Array;function o(t){if("string"==typeof t){var e,i,n=t.split("");for(e=0,i=n.length;e<i;e++)n[e]=(255&n[e].charCodeAt(0))>>>0;t=n}for(var r,s=1,o=0,a=t.length,c=0;0<a;){a-=r=1024<a?1024:a;do{o+=s+=t[c++]}while(--r);s%=65521,o%=65521}return(o<<16|s)>>>0}function a(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()}a.prototype.f=function(){var t,e=this.buffer,i=e.length,n=new(s?Uint8Array:Array)(i<<1);if(s)n.set(e);else for(t=0;t<i;++t)n[t]=e[t];return this.buffer=n},a.prototype.d=function(t,e,i){var n,r=this.buffer,s=this.index,o=this.i,a=r[s];if(i&&1<e&&(t=8<e?(f[255&t]<<24|f[t>>>8&255]<<16|f[t>>>16&255]<<8|f[t>>>24&255])>>32-e:f[t]>>8-e),8>e+o)a=a<<e|t,o+=e;else for(n=0;n<e;++n)a=a<<1|t>>e-n-1&1,8==++o&&(o=0,r[s++]=f[a],a=0,s===r.length&&(r=this.f()));r[s]=a,this.buffer=r,this.i=o,this.index=s},a.prototype.finish=function(){var t,e=this.buffer,i=this.index;return 0<this.i&&(e[i]<<=8-this.i,e[i]=f[e[i]],i++),s?t=e.subarray(0,i):(e.length=i,t=e),t};var c,l=new(s?Uint8Array:Array)(256);for(c=0;256>c;++c){for(var h=_=c,u=7,_=_>>>1;_;_>>>=1)h<<=1,h|=1&_,--u;l[c]=(h<<u&255)>>>0}var f=l;function d(t){this.buffer=new(s?Uint16Array:Array)(2*t),this.length=0}function p(t){var e,i,n,r,o,a,c,l,h,u=t.length,_=0,f=Number.POSITIVE_INFINITY;for(l=0;l<u;++l)t[l]>_&&(_=t[l]),t[l]<f&&(f=t[l]);for(e=1<<_,i=new(s?Uint32Array:Array)(e),n=1,r=0,o=2;n<=_;){for(l=0;l<u;++l)if(t[l]===n){for(a=0,c=r,h=0;h<n;++h)a=a<<1|1&c,c>>=1;for(h=a;h<e;h+=o)i[h]=n<<16|l;++r}++n,r<<=1,o<<=1}return[i,_,f]}function m(t,e){this.h=v,this.w=0,this.input=t,this.b=0,e&&(e.lazy&&(this.w=e.lazy),"number"==typeof e.compressionType&&(this.h=e.compressionType),e.outputBuffer&&(this.a=s&&e.outputBuffer instanceof Array?new Uint8Array(e.outputBuffer):e.outputBuffer),"number"==typeof e.outputIndex&&(this.b=e.outputIndex)),this.a||(this.a=new(s?Uint8Array:Array)(32768))}s&&new Uint32Array([0,1996959894,3993919788,2567524794,124634137,1886057615,3915621685,2657392035,249268274,2044508324,3772115230,2547177864,162941995,2125561021,3887607047,2428444049,498536548,1789927666,4089016648,2227061214,450548861,1843258603,4107580753,2211677639,325883990,1684777152,4251122042,2321926636,335633487,1661365465,4195302755,2366115317,997073096,1281953886,3579855332,2724688242,1006888145,1258607687,3524101629,2768942443,901097722,1119000684,3686517206,2898065728,853044451,1172266101,3705015759,2882616665,651767980,1373503546,3369554304,3218104598,565507253,1454621731,3485111705,3099436303,671266974,1594198024,3322730930,2970347812,795835527,1483230225,3244367275,3060149565,1994146192,31158534,2563907772,4023717930,1907459465,112637215,2680153253,3904427059,2013776290,251722036,2517215374,3775830040,2137656763,141376813,2439277719,3865271297,1802195444,476864866,2238001368,4066508878,1812370925,453092731,2181625025,4111451223,1706088902,314042704,2344532202,4240017532,1658658271,366619977,2362670323,4224994405,1303535960,984961486,2747007092,3569037538,1256170817,1037604311,2765210733,3554079995,1131014506,879679996,2909243462,3663771856,1141124467,855842277,2852801631,3708648649,1342533948,654459306,3188396048,3373015174,1466479909,544179635,3110523913,3462522015,1591671054,702138776,2966460450,3352799412,1504918807,783551873,3082640443,3233442989,3988292384,2596254646,62317068,1957810842,3939845945,2647816111,81470997,1943803523,3814918930,2489596804,225274430,2053790376,3826175755,2466906013,167816743,2097651377,4027552580,2265490386,503444072,1762050814,4150417245,2154129355,426522225,1852507879,4275313526,2312317920,282753626,1742555852,4189708143,2394877945,397917763,1622183637,3604390888,2714866558,953729732,1340076626,3518719985,2797360999,1068828381,1219638859,3624741850,2936675148,906185462,1090812512,3747672003,2825379669,829329135,1181335161,3412177804,3160834842,628085408,1382605366,3423369109,3138078467,570562233,1426400815,3317316542,2998733608,733239954,1555261956,3268935591,3050360625,752459403,1541320221,2607071920,3965973030,1969922972,40735498,2617837225,3943577151,1913087877,83908371,2512341634,3803740692,2075208622,213261112,2463272603,3855990285,2094854071,198958881,2262029012,4057260610,1759359992,534414190,2176718541,4139329115,1873836001,414664567,2282248934,4279200368,1711684554,285281116,2405801727,4167216745,1634467795,376229701,2685067896,3608007406,1308918612,956543938,2808555105,3495958263,1231636301,1047427035,2932959818,3654703836,1088359270,936918e3,2847714899,3736837829,1202900863,817233897,3183342108,3401237130,1404277552,615818150,3134207493,3453421203,1423857449,601450431,3009837614,3294710456,1567103746,711928724,3020668471,3272380065,1510334235,755167117]),d.prototype.getParent=function(t){return 2*((t-2)/4|0)},d.prototype.push=function(t,e){var i,n,r,s=this.buffer;for(i=this.length,s[this.length++]=e,s[this.length++]=t;0<i&&(n=this.getParent(i),s[i]>s[n]);)r=s[i],s[i]=s[n],s[n]=r,r=s[i+1],s[i+1]=s[n+1],s[n+1]=r,i=n;return this.length},d.prototype.pop=function(){var t,e,i,n,r,s=this.buffer;for(e=s[0],t=s[1],this.length-=2,s[0]=s[this.length],s[1]=s[this.length+1],r=0;!((n=2*r+2)>=this.length)&&(n+2<this.length&&s[n+2]>s[n]&&(n+=2),s[n]>s[r]);)i=s[r],s[r]=s[n],s[n]=i,i=s[r+1],s[r+1]=s[n+1],s[n+1]=i,r=n;return{index:t,value:e,length:this.length}};var y,v=2,g={NONE:0,r:1,j:v,N:3},x=[];for(y=0;288>y;y++)switch(i){case 143>=y:x.push([y+48,8]);break;case 255>=y:x.push([y-144+400,9]);break;case 279>=y:x.push([y-256+0,7]);break;case 287>=y:x.push([y-280+192,8]);break;default:t("invalid literal: "+y)}function C(t,e){this.length=t,this.G=e}function A(){var e=b;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 n,r,o,c,l=this.input;switch(this.h){case 0:for(o=0,c=l.length;o<c;){var h,u,_,f=r=s?l.subarray(o,o+65535):l.slice(o,o+65535),d=(o+=r.length)===c,p=e,m=e,y=this.a,g=this.b;if(s){for(y=new Uint8Array(this.a.buffer);y.length<=g+f.length+5;)y=new Uint8Array(y.length<<1);y.set(this.a)}if(h=d?1:0,y[g++]=0|h,_=65536+~(u=f.length)&65535,y[g++]=255&u,y[g++]=u>>>8&255,y[g++]=255&_,y[g++]=_>>>8&255,s)y.set(f,g),g+=f.length,y=y.subarray(0,g);else{for(p=0,m=f.length;p<m;++p)y[g++]=f[p];y.length=g}this.b=g,this.a=y}break;case 1:var C=new a(new Uint8Array(this.a.buffer),this.b);C.d(1,1,i),C.d(1,2,i);var A,b,S,T=E(this,l);for(A=0,b=T.length;A<b;A++)if(S=T[A],a.prototype.d.apply(C,x[S]),256<S)C.d(T[++A],T[++A],i),C.d(T[++A],5),C.d(T[++A],T[++A],i);else if(256===S)break;this.a=C.finish(),this.b=this.a.length;break;case v:var w,I,R,P,D,L,O,V,F,N,G,k,z,U,W,j=new a(new Uint8Array(this.a),this.b),H=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],q=Array(19);for(w=v,j.d(1,1,i),j.d(w,2,i),I=E(this,l),O=M(L=B(this.L,15)),F=M(V=B(this.K,7)),R=286;257<R&&0===L[R-1];R--);for(P=30;1<P&&0===V[P-1];P--);var X,Y,J,Z,K,Q,$=R,tt=P,et=new(s?Uint32Array:Array)($+tt),it=new(s?Uint32Array:Array)(316),nt=new(s?Uint8Array:Array)(19);for(X=Y=0;X<$;X++)et[Y++]=L[X];for(X=0;X<tt;X++)et[Y++]=V[X];if(!s)for(X=0,Z=nt.length;X<Z;++X)nt[X]=0;for(X=K=0,Z=et.length;X<Z;X+=Y){for(Y=1;X+Y<Z&&et[X+Y]===et[X];++Y);if(J=Y,0===et[X])if(3>J)for(;0<J--;)it[K++]=0,nt[0]++;else for(;0<J;)(Q=138>J?J:138)>J-3&&Q<J&&(Q=J-3),10>=Q?(it[K++]=17,it[K++]=Q-3,nt[17]++):(it[K++]=18,it[K++]=Q-11,nt[18]++),J-=Q;else if(it[K++]=et[X],nt[et[X]]++,3>--J)for(;0<J--;)it[K++]=et[X],nt[et[X]]++;else for(;0<J;)(Q=6>J?J:6)>J-3&&Q<J&&(Q=J-3),it[K++]=16,it[K++]=Q-3,nt[16]++,J-=Q}for(n=s?it.subarray(0,K):it.slice(0,K),N=B(nt,7),U=0;19>U;U++)q[U]=N[H[U]];for(D=19;4<D&&0===q[D-1];D--);for(G=M(N),j.d(R-257,5,i),j.d(P-1,5,i),j.d(D-4,4,i),U=0;U<D;U++)j.d(q[U],3,i);for(U=0,W=n.length;U<W;U++)if(k=n[U],j.d(G[k],N[k],i),16<=k){switch(U++,k){case 16:z=2;break;case 17:z=3;break;case 18:z=7;break;default:t("invalid code: "+k)}j.d(n[U],z,i)}var rt,st,ot,at,ct,lt,ht,ut,_t=[O,L],ft=[F,V];for(ct=_t[0],lt=_t[1],ht=ft[0],ut=ft[1],rt=0,st=I.length;rt<st;++rt)if(ot=I[rt],j.d(ct[ot],lt[ot],i),256<ot)j.d(I[++rt],I[++rt],i),at=I[++rt],j.d(ht[at],ut[at],i),j.d(I[++rt],I[++rt],i);else if(256===ot)break;this.a=j.finish(),this.b=this.a.length;break;default:t("invalid compression type")}return this.a};var b,S,T=[];for(b=3;258>=b;b++)S=A(),T[b]=S[2]<<24|S[1]<<16|S[0];var w=s?new Uint32Array(T):T;function E(n,r){function o(e,n){var r,s,o,a,c=e.G,l=[],h=0;switch(r=w[e.length],l[h++]=65535&r,l[h++]=r>>16&255,l[h++]=r>>24,i){case 1===c:s=[0,c-1,0];break;case 2===c:s=[1,c-2,0];break;case 3===c:s=[2,c-3,0];break;case 4===c:s=[3,c-4,0];break;case 6>=c:s=[4,c-5,1];break;case 8>=c:s=[5,c-7,1];break;case 12>=c:s=[6,c-9,2];break;case 16>=c:s=[7,c-13,2];break;case 24>=c:s=[8,c-17,3];break;case 32>=c:s=[9,c-25,3];break;case 48>=c:s=[10,c-33,4];break;case 64>=c:s=[11,c-49,4];break;case 96>=c:s=[12,c-65,5];break;case 128>=c:s=[13,c-97,5];break;case 192>=c:s=[14,c-129,6];break;case 256>=c:s=[15,c-193,6];break;case 384>=c:s=[16,c-257,7];break;case 512>=c:s=[17,c-385,7];break;case 768>=c:s=[18,c-513,8];break;case 1024>=c:s=[19,c-769,8];break;case 1536>=c:s=[20,c-1025,9];break;case 2048>=c:s=[21,c-1537,9];break;case 3072>=c:s=[22,c-2049,10];break;case 4096>=c:s=[23,c-3073,10];break;case 6144>=c:s=[24,c-4097,11];break;case 8192>=c:s=[25,c-6145,11];break;case 12288>=c:s=[26,c-8193,12];break;case 16384>=c:s=[27,c-12289,12];break;case 24576>=c:s=[28,c-16385,13];break;case 32768>=c:s=[29,c-24577,13];break;default:t("invalid distance")}for(r=s,l[h++]=r[0],l[h++]=r[1],l[h++]=r[2],o=0,a=l.length;o<a;++o)y[v++]=l[o];x[l[0]]++,A[l[3]]++,g=e.length+n-1,d=null}var a,c,l,h,u,_,f,d,p,m={},y=s?new Uint16Array(2*r.length):[],v=0,g=0,x=new(s?Uint32Array:Array)(286),A=new(s?Uint32Array:Array)(30),b=n.w;if(!s){for(l=0;285>=l;)x[l++]=0;for(l=0;29>=l;)A[l++]=0}for(x[256]=1,a=0,c=r.length;a<c;++a){for(l=u=0,h=3;l<h&&a+l!==c;++l)u=u<<8|r[a+l];if(m[u]===e&&(m[u]=[]),_=m[u],!(0<g--)){for(;0<_.length&&32768<a-_[0];)_.shift();if(a+3>=c){for(d&&o(d,-1),l=0,h=c-a;l<h;++l)p=r[a+l],y[v++]=p,++x[p];break}if(0<_.length){var S=e,T=e,E=0,B=e,M=e,I=e,R=r.length,P=(M=0,_.length);t:for(;M<P;M++){if(S=_[P-M-1],B=3,3<E){for(I=E;3<I;I--)if(r[S+I-1]!==r[a+I-1])continue t;B=E}for(;258>B&&a+B<R&&r[S+B]===r[a+B];)++B;if(B>E&&(T=S,E=B),258===B)break}f=new C(E,a-T),d?d.length<f.length?(p=r[a-1],y[v++]=p,++x[p],o(f,0)):o(d,-1):f.length<b?d=f:o(f,0)}else d?o(d,-1):(p=r[a],y[v++]=p,++x[p])}_.push(a)}return y[v++]=256,x[256]++,n.L=x,n.K=A,s?y.subarray(0,v):y}function B(t,e){function i(t){var e=b[t][S[t]];e===v?(i(t+1),i(t+1)):--C[e],++S[t]}var n,r,o,a,c,l=t.length,h=new d(572),u=new(s?Uint8Array:Array)(l);if(!s)for(a=0;a<l;a++)u[a]=0;for(a=0;a<l;++a)0<t[a]&&h.push(a,t[a]);if(n=Array(h.length/2),r=new(s?Uint32Array:Array)(h.length/2),1===n.length)return u[h.pop().index]=1,u;for(a=0,c=h.length/2;a<c;++a)n[a]=h.pop(),r[a]=n[a].value;var _,f,p,m,y,v=r.length,g=new(s?Uint16Array:Array)(e),x=new(s?Uint8Array:Array)(e),C=new(s?Uint8Array:Array)(v),A=Array(e),b=Array(e),S=Array(e),T=(1<<e)-v,w=1<<e-1;for(g[e-1]=v,f=0;f<e;++f)T<w?x[f]=0:(x[f]=1,T-=w),T<<=1,g[e-2-f]=(g[e-1-f]/2|0)+v;for(g[0]=x[0],A[0]=Array(g[0]),b[0]=Array(g[0]),f=1;f<e;++f)g[f]>2*g[f-1]+x[f]&&(g[f]=2*g[f-1]+x[f]),A[f]=Array(g[f]),b[f]=Array(g[f]);for(_=0;_<v;++_)C[_]=e;for(p=0;p<g[e-1];++p)A[e-1][p]=r[p],b[e-1][p]=p;for(_=0;_<e;++_)S[_]=0;for(1===x[e-1]&&(--C[0],++S[e-1]),f=e-2;0<=f;--f){for(m=_=0,y=S[f+1],p=0;p<g[f];p++)(m=A[f+1][y]+A[f+1][y+1])>r[_]?(A[f][p]=m,b[f][p]=v,y+=2):(A[f][p]=r[_],b[f][p]=_,++_);S[f]=0,1===x[f]&&i(f)}for(o=C,a=0,c=n.length;a<c;++a)u[n[a].index]=o[a];return u}function M(e){var i,n,r,o,a=new(s?Uint16Array:Array)(e.length),c=[],l=[],h=0;for(i=0,n=e.length;i<n;i++)c[e[i]]=1+(0|c[e[i]]);for(i=1,n=16;i<=n;i++)l[i]=h,(h+=0|c[i])>1<<i&&t("overcommitted"),h<<=1;for(65536>h&&t("undercommitted"),i=0,n=e.length;i<n;i++)for(h=l[e[i]],l[e[i]]+=1,r=a[i]=0,o=e[i];r<o;r++)a[i]=a[i]<<1|1&h,h>>>=1;return a}function I(t,e){this.input=t,this.a=new(s?Uint8Array:Array)(32768),this.h=R.j;var i,n={};for(i in!e&&(e={})||"number"!=typeof e.compressionType||(this.h=e.compressionType),e)n[i]=e[i];n.outputBuffer=this.a,this.z=new m(this.input,n)}var R=g;function P(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=L,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 D:this.b=32768,this.a=new(s?Uint8Array:Array)(32768+this.l+258);break;case L: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"))}}I.prototype.n=function(){var e,i,n,r,a,c,l,h=0;switch(l=this.a,e=ht){case ht:i=Math.LOG2E*Math.log(32768)-8;break;default:t(Error("invalid compression method"))}switch(n=i<<4|e,l[h++]=n,e){case ht:switch(this.h){case R.NONE:a=0;break;case R.r:a=1;break;case R.j:a=2;break;default:t(Error("unsupported compression type"))}break;default:t(Error("invalid compression method"))}return r=a<<6|0,l[h++]=r|31-(256*n+r)%31,c=o(this.input),this.z.b=h,h=(l=this.z.n()).length,s&&((l=new Uint8Array(l.buffer)).length<=h+4&&(this.a=new Uint8Array(l.length+4),this.a.set(l),l=this.a),l=l.subarray(0,h+4)),l[h++]=c>>24&255,l[h++]=c>>16&255,l[h++]=c>>8&255,l[h++]=255&c,l},r("Zlib.Deflate",I),r("Zlib.Deflate.compress",(function(t,e){return new I(t,e).n()})),r("Zlib.Deflate.CompressionType",R),r("Zlib.Deflate.CompressionType.NONE",R.NONE),r("Zlib.Deflate.CompressionType.FIXED",R.r),r("Zlib.Deflate.CompressionType.DYNAMIC",R.j);var D=0,L=1,O={D:D,C:L};P.prototype.p=function(){for(;!this.s;){var n=tt(this,3);switch(1&n&&(this.s=i),n>>>=1){case 0:var r=this.input,o=this.c,a=this.a,c=this.b,l=e,h=e,u=e,_=a.length,f=e;switch(this.e=this.g=0,(l=r[o++])===e&&t(Error("invalid uncompressed block header: LEN (first byte)")),h=l,(l=r[o++])===e&&t(Error("invalid uncompressed block header: LEN (second byte)")),h|=l<<8,(l=r[o++])===e&&t(Error("invalid uncompressed block header: NLEN (first byte)")),u=l,(l=r[o++])===e&&t(Error("invalid uncompressed block header: NLEN (second byte)")),h===~(u|=l<<8)&&t(Error("invalid uncompressed block header: length verify")),o+h>r.length&&t(Error("input buffer is broken")),this.m){case D:for(;c+h>a.length;){if(h-=f=_-c,s)a.set(r.subarray(o,o+f),c),c+=f,o+=f;else for(;f--;)a[c++]=r[o++];this.b=c,a=this.f(),c=this.b}break;case L:for(;c+h>a.length;)a=this.f({v:2});break;default:t(Error("invalid inflate mode"))}if(s)a.set(r.subarray(o,o+h),c),c+=h,o+=h;else for(;h--;)a[c++]=r[o++];this.c=o,this.b=c,this.a=a;break;case 1:this.o(K,$);break;case 2:it(this);break;default:t(Error("unknown BTYPE: "+n))}}return this.t()};var V,F,N=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],G=s?new Uint16Array(N):N,k=[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(k):k,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],W=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],H=s?new Uint16Array(j):j,q=[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],X=s?new Uint8Array(q):q,Y=new(s?Uint8Array:Array)(288);for(V=0,F=Y.length;V<F;++V)Y[V]=143>=V?8:255>=V?9:279>=V?7:8;var J,Z,K=p(Y),Q=new(s?Uint8Array:Array)(30);for(J=0,Z=Q.length;J<Z;++J)Q[J]=5;var $=p(Q);function tt(i,n){for(var r,s=i.g,o=i.e,a=i.input,c=i.c;o<n;)(r=a[c++])===e&&t(Error("input buffer is broken")),s|=r<<o,o+=8;return r=s&(1<<n)-1,i.g=s>>>n,i.e=o-n,i.c=c,r}function et(i,n){for(var r,s,o,a=i.g,c=i.e,l=i.input,h=i.c,u=n[0],_=n[1];c<_;)(r=l[h++])===e&&t(Error("input buffer is broken")),a|=r<<c,c+=8;return o=(s=u[a&(1<<_)-1])>>>16,i.g=a>>o,i.e=c-o,i.c=h,65535&s}function it(t){function e(t,e,i){var n,r,s,o;for(o=0;o<t;)switch(n=et(this,e)){case 16:for(s=3+tt(this,2);s--;)i[o++]=r;break;case 17:for(s=3+tt(this,3);s--;)i[o++]=0;r=0;break;case 18:for(s=11+tt(this,7);s--;)i[o++]=0;r=0;break;default:r=i[o++]=n}return i}var i,n,r,o,a=tt(t,5)+257,c=tt(t,5)+1,l=tt(t,4)+4,h=new(s?Uint8Array:Array)(G.length);for(o=0;o<l;++o)h[G[o]]=tt(t,3);i=p(h),n=new(s?Uint8Array:Array)(a),r=new(s?Uint8Array:Array)(c),t.o(p(e.call(t,a,i,n)),p(e.call(t,c,i,r)))}function nt(e,i){var n,r;switch(this.input=e,this.c=0,!i&&(i={})||(i.index&&(this.c=i.index),i.verify&&(this.M=i.verify)),n=e[this.c++],r=e[this.c++],15&n){case ht:this.method=ht;break;default:t(Error("unsupported compression method"))}0!=((n<<8)+r)%31&&t(Error("invalid fcheck flag:"+((n<<8)+r)%31)),32&r&&t(Error("fdict flag is not supported")),this.A=new P(e,{index:this.c,bufferSize:i.bufferSize,bufferType:i.bufferType,resize:i.resize})}P.prototype.o=function(t,e){var i=this.a,n=this.b;this.u=t;for(var r,s,o,a,c=i.length-258;256!==(r=et(this,t));)if(256>r)n>=c&&(this.b=n,i=this.f(),n=this.b),i[n++]=r;else for(a=z[s=r-257],0<W[s]&&(a+=tt(this,W[s])),r=et(this,e),o=H[r],0<X[r]&&(o+=tt(this,X[r])),n>=c&&(this.b=n,i=this.f(),n=this.b);a--;)i[n]=i[n++-o];for(;8<=this.e;)this.e-=8,this.c--;this.b=n},P.prototype.I=function(t,e){var i=this.a,n=this.b;this.u=t;for(var r,s,o,a,c=i.length;256!==(r=et(this,t));)if(256>r)n>=c&&(c=(i=this.f()).length),i[n++]=r;else for(a=z[s=r-257],0<W[s]&&(a+=tt(this,W[s])),r=et(this,e),o=H[r],0<X[r]&&(o+=tt(this,X[r])),n+a>c&&(c=(i=this.f()).length);a--;)i[n]=i[n++-o];for(;8<=this.e;)this.e-=8,this.c--;this.b=n},P.prototype.f=function(){var t,e,i=new(s?Uint8Array:Array)(this.b-32768),n=this.b-32768,r=this.a;if(s)i.set(r.subarray(32768,i.length));else for(t=0,e=i.length;t<e;++t)i[t]=r[t+32768];if(this.k.push(i),this.q+=i.length,s)r.set(r.subarray(n,n+32768));else for(t=0;32768>t;++t)r[t]=r[n+t];return this.b=32768,r},P.prototype.J=function(t){var e,i,n,r=this.input.length/this.c+1|0,o=this.input,a=this.a;return t&&("number"==typeof t.v&&(r=t.v),"number"==typeof t.F&&(r+=t.F)),2>r?i=(n=(o.length-this.c)/this.u[2]/2*258|0)<a.length?a.length+n:a.length<<1:i=a.length*r,s?(e=new Uint8Array(i)).set(a):e=a,this.a=e},P.prototype.t=function(){var t,e,i,n,r,o=0,a=this.a,c=this.k,l=new(s?Uint8Array:Array)(this.q+(this.b-32768));if(0===c.length)return s?this.a.subarray(32768,this.b):this.a.slice(32768,this.b);for(e=0,i=c.length;e<i;++e)for(n=0,r=(t=c[e]).length;n<r;++n)l[o++]=t[n];for(e=32768,i=this.b;e<i;++e)l[o++]=a[e];return this.k=[],this.buffer=l},P.prototype.H=function(){var t,e=this.b;return s?this.B?(t=new Uint8Array(e)).set(this.a.subarray(0,e)):t=this.a.subarray(0,e):(this.a.length>e&&(this.a.length=e),t=this.a),this.buffer=t},nt.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!==o(e)&&t(Error("invalid adler-32 checksum"))),e},r("Zlib.Inflate",nt),r("Zlib.Inflate.BufferType",O),O.ADAPTIVE=O.C,O.BLOCK=O.D,r("Zlib.Inflate.prototype.decompress",nt.prototype.p);s&&new Uint16Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);s&&new Uint16Array([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]);s&&new Uint8Array([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]);s&&new Uint16Array([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]);s&&new Uint8Array([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]);var rt,st,ot=new(s?Uint8Array:Array)(288);for(rt=0,st=ot.length;rt<st;++rt)ot[rt]=143>=rt?8:255>=rt?9:279>=rt?7:8;p(ot);var at,ct,lt=new(s?Uint8Array:Array)(30);for(at=0,ct=lt.length;at<ct;++at)lt[at]=5;p(lt);var ht=8}).call(window);var n=window.Zlib;n.Deflate=n.Deflate,n.Deflate.compress=n.Deflate.compress,n.Inflate=n.Inflate,n.Inflate.BufferType=n.Inflate.BufferType,n.Inflate.prototype.decompress=n.Inflate.prototype.decompress,e.exports=n}),{}],26:[(function(t,e,i){"use strict";var n=t("../vmath"),r=t("../CCNode"),s=r.EventType,o=r._LocalDirtyFlag,a=t("../renderer/render-flow"),c=Math.PI/180,l=1,h=2;function u(){if(this._localMatDirty){var t=this._matrix,e=t.m;if(n.mat4.fromTRSArray(t,this._trs),this._skewX||this._skewY){var i=e[0],r=e[1],s=e[4],o=e[5],a=Math.tan(this._skewX*c),l=Math.tan(this._skewY*c);a===1/0&&(a=99999999),l===1/0&&(l=99999999),e[0]=i+s*l,e[1]=r+o*l,e[4]=s+i*a,e[5]=o+r*a}this._localMatDirty=0,this._worldMatDirty=!0}}function _(){if(this._localMatDirty&&this._updateLocalMatrix(),this._parent){var t=this._parent._worldMatrix;n.mat4.mul(this._worldMatrix,t,this._matrix)}else n.mat4.copy(this._worldMatrix,this._matrix);this._worldMatDirty=!1}function f(t,e,i){var n=void 0;void 0===e?(n=t.x,e=t.y,i=t.z||0):(n=t,i=i||0);var r=this._trs;r[0]===n&&r[1]===e&&r[2]===i||(r[0]=n,r[1]=e,r[2]=i,this.setLocalDirty(o.POSITION),this._renderFlag|=a.FLAG_WORLD_TRANSFORM,this._eventMask&l&&this.emit(s.POSITION_CHANGED))}var d=cc.Node.prototype,p=d._updateLocalMatrix,m=d._calculWorldMatrix,y=d._upgrade_1x_to_2x,v=d._mulMat;d.setPosition=f,d.setScale=function(t,e,i){t&&"number"!=typeof t?(e=t.y,i=void 0===t.z?1:t.z,t=t.x):void 0!==t&&void 0===e?(e=t,i=t):void 0===i&&(i=1);var n=this._trs;n[7]===t&&n[8]===e&&n[9]===i||(n[7]=t,n[8]=e,n[9]=i,this.setLocalDirty(o.SCALE),this._renderFlag|=a.FLAG_TRANSFORM,this._eventMask&h&&this.emit(s.SCALE_CHANGED))},d._upgrade_1x_to_2x=function(){this._is3DNode&&this._update3DFunction(),y.call(this)},d._update3DFunction=function(){this._is3DNode?(this._updateLocalMatrix=u,this._calculWorldMatrix=_,this._mulMat=n.mat4.mul):(this._updateLocalMatrix=p,this._calculWorldMatrix=m,this._mulMat=v),this._renderComponent&&this._renderComponent._on3DNodeChanged&&this._renderComponent._on3DNodeChanged(),this._renderFlag|=a.FLAG_TRANSFORM,this._localMatDirty=o.ALL},cc.js.getset(d,"position",d.getPosition,f,!1,!0),cc.js.getset(d,"is3DNode",(function(){return this._is3DNode}),(function(t){this._is3DNode=t,this._update3DFunction()})),cc.js.getset(d,"scaleZ",(function(){return this._trs[9]}),(function(t){this._trs[9]!==t&&(this._trs[9]=t,this.setLocalDirty(o.SCALE),this._renderFlag|=a.FLAG_TRANSFORM,this._eventMask&h&&this.emit(s.SCALE_CHANGED))})),cc.js.getset(d,"z",(function(){return this._trs[2]}),(function(t){var e=this._trs;t!==e[2]&&(e[2]=t,this.setLocalDirty(o.POSITION),this._renderFlag|=a.FLAG_WORLD_TRANSFORM,this._eventMask&l&&this.emit(s.POSITION_CHANGED))})),cc.js.getset(d,"eulerAngles",(function(){return n.trs.toEuler(this._eulerAngles,this._trs)}),(function(t){n.trs.fromEuler(this._trs,t),this.setLocalDirty(o.ROTATION),this._renderFlag|=a.FLAG_TRANSFORM})),cc.js.getset(d,"quat",(function(){var t=this._trs;return cc.quat(t[3],t[4],t[5],t[6])}),d.setRotation)}),{"../CCNode":30,"../renderer/render-flow":208,"../vmath":274}],27:[(function(t,e,i){"use strict";var n=t("./platform/utils"),r=(t("../../DebugInfos"),"https://github.com/cocos-creator/engine/blob/master/EngineErrorMap.md"),s=void 0;cc.log=cc.warn=cc.error=cc.assert=console.log.bind?console.log.bind(console):console.log;function o(t){return function(){var e=arguments[0],i=t+" "+e+", please go to "+r+"#"+e+" to see details.";if(1===arguments.length)return i;if(2===arguments.length)return i+" Arguments: "+arguments[1];var n=cc.js.shiftArguments.apply(null,arguments);return i+" Arguments: "+n.join(", ")}}cc._throw=function(t){n.callInNextTick((function(){throw t}))};var a=o("Log");cc.logID=function(){cc.log(a.apply(null,arguments))};var c=o("Warning");cc.warnID=function(){cc.warn(c.apply(null,arguments))};var l=o("Error");cc.errorID=function(){cc.error(l.apply(null,arguments))};var h=o("Assert");cc.assertID=function(t){t||cc.assert(!1,h.apply(null,cc.js.shiftArguments.apply(null,arguments)))};var u=cc.Enum({NONE:0,INFO:1,WARN:2,ERROR:3,INFO_FOR_WEB_PAGE:4,WARN_FOR_WEB_PAGE:5,ERROR_FOR_WEB_PAGE:6});e.exports=cc.debug={DebugMode:u,_resetDebugSetting:function(t){if(cc.log=cc.warn=cc.error=cc.assert=function(){},t!==u.NONE){if(t>u.ERROR){var e=function(t){if(cc.game.canvas){if(!s){var e=document.createElement("Div");e.setAttribute("id","logInfoDiv"),e.setAttribute("width","200"),e.setAttribute("height",cc.game.canvas.height);var i=e.style;i.zIndex="99999",i.position="absolute",i.top=i.left="0",(s=document.createElement("textarea")).setAttribute("rows","20"),s.setAttribute("cols","30"),s.setAttribute("disabled","true");var n=s.style;n.backgroundColor="transparent",n.borderBottom="1px solid #cccccc",n.borderTopWidth=n.borderLeftWidth=n.borderRightWidth="0px",n.borderTopStyle=n.borderLeftStyle=n.borderRightStyle="none",n.padding="0px",n.margin=0,e.appendChild(s),cc.game.canvas.parentNode.appendChild(e)}s.value=s.value+t+"\r\n",s.scrollTop=s.scrollHeight}};cc.error=function(){e("ERROR : "+cc.js.formatStr.apply(null,arguments))},cc.assert=function(t,i){!t&&i&&(i=cc.js.formatStr.apply(null,cc.js.shiftArguments.apply(null,arguments)),e("ASSERT: "+i))},t!==u.ERROR_FOR_WEB_PAGE&&(cc.warn=function(){e("WARN : "+cc.js.formatStr.apply(null,arguments))}),t===u.INFO_FOR_WEB_PAGE&&(cc.log=function(){e(cc.js.formatStr.apply(null,arguments))})}else console&&console.log.apply&&(console.error||(console.error=console.log),console.warn||(console.warn=console.log),console.error.bind?cc.error=console.error.bind(console):cc.error=function(){return console.error.apply(console,arguments)},cc.assert=function(t,e){if(!t)throw e&&(e=cc.js.formatStr.apply(null,cc.js.shiftArguments.apply(null,arguments))),new Error(e)});t!==u.ERROR&&(console.warn.bind?cc.warn=console.warn.bind(console):cc.warn=function(){return console.warn.apply(console,arguments)}),t===u.INFO&&(console.log.bind?cc.log=console.log.bind(console):cc.log=function(){return console.log.apply(console,arguments)})}},getError:o("ERROR"),isDisplayStats:function(){return!!cc.profiler&&cc.profiler.isShowingStats()},setDisplayStats:function(t){cc.profiler&&(t?cc.profiler.showStats():cc.profiler.hideStats(),cc.game.config.showFPS=!!t)}}}),{"../../DebugInfos":void 0,"./platform/utils":184}],28:[(function(t,e,i){"use strict";var n=t("./event/event-target"),r=t("./load-pipeline/auto-release-utils"),s=t("./component-scheduler"),o=t("./node-activator"),a=t("./platform/CCObject"),c=t("./CCGame"),l=t("./renderer"),h=t("./event-manager"),u=t("./CCScheduler");cc.Director=function(){n.call(this),this._paused=!1,this._purgeDirectorInNextLoop=!1,this._winSizeInPoints=null,this._loadingScene="",this._scene=null,this._totalFrames=0,this._lastUpdate=0,this._deltaTime=0,this._scheduler=null,this._compScheduler=null,this._nodeActivator=null,this._actionManager=null;var t=this;c.on(c.EVENT_SHOW,(function(){t._lastUpdate=performance.now()})),c.once(c.EVENT_ENGINE_INITED,this.init,this)},cc.Director.prototype={constructor:cc.Director,init:function(){return this._totalFrames=0,this._lastUpdate=performance.now(),this._paused=!1,this._purgeDirectorInNextLoop=!1,this._winSizeInPoints=cc.size(0,0),this._scheduler=new u,cc.ActionManager?(this._actionManager=new cc.ActionManager,this._scheduler.scheduleUpdate(this._actionManager,u.PRIORITY_SYSTEM,!1)):this._actionManager=null,this.sharedInit(),!0},sharedInit:function(){this._compScheduler=new s,this._nodeActivator=new o,h&&h.setEnabled(!0),cc.AnimationManager?(this._animationManager=new cc.AnimationManager,this._scheduler.scheduleUpdate(this._animationManager,u.PRIORITY_SYSTEM,!1)):this._animationManager=null,cc.CollisionManager?(this._collisionManager=new cc.CollisionManager,this._scheduler.scheduleUpdate(this._collisionManager,u.PRIORITY_SYSTEM,!1)):this._collisionManager=null,cc.PhysicsManager?(this._physicsManager=new cc.PhysicsManager,this._scheduler.scheduleUpdate(this._physicsManager,u.PRIORITY_SYSTEM,!1)):this._physicsManager=null,cc._widgetManager&&cc._widgetManager.init(this),cc.loader.init(this)},calculateDeltaTime:function(t){t||(t=performance.now()),this._deltaTime=(t-this._lastUpdate)/1e3,this._lastUpdate=t},convertToGL:function(t){var e=c.container,i=cc.view,n=e.getBoundingClientRect(),r=n.left+window.pageXOffset-e.clientLeft,s=n.top+window.pageYOffset-e.clientTop,o=i._devicePixelRatio*(t.x-r),a=i._devicePixelRatio*(s+n.height-t.y);return i._isRotated?cc.v2(i._viewportRect.width-a,o):cc.v2(o,a)},convertToUI:function(t){var e=c.container,i=cc.view,n=e.getBoundingClientRect(),r=n.left+window.pageXOffset-e.clientLeft,s=n.top+window.pageYOffset-e.clientTop,o=cc.v2(0,0);return i._isRotated?(o.x=r+t.y/i._devicePixelRatio,o.y=s+n.height-(i._viewportRect.width-t.x)/i._devicePixelRatio):(o.x=r+t.x*i._devicePixelRatio,o.y=s+n.height-t.y*i._devicePixelRatio),o},end:function(){this._purgeDirectorInNextLoop=!0},getWinSize:function(){return cc.size(cc.winSize)},getWinSizeInPixels:function(){return cc.size(cc.winSize)},pause:function(){this._paused||(this._paused=!0)},purgeCachedData:function(){cc.loader.releaseAll()},purgeDirector:function(){this._scheduler.unscheduleAll(),this._compScheduler.unscheduleAll(),this._nodeActivator.reset(),h&&h.setEnabled(!1),cc.isValid(this._scene)&&this._scene.destroy(),this._scene=null,cc.renderer.clear(),cc.AssetLibrary.resetBuiltins(),cc.game.pause(),cc.loader.releaseAll()},reset:function(){this.purgeDirector(),h&&h.setEnabled(!0),this._actionManager&&this._scheduler.scheduleUpdate(this._actionManager,cc.Scheduler.PRIORITY_SYSTEM,!1),this._animationManager&&this._scheduler.scheduleUpdate(this._animationManager,cc.Scheduler.PRIORITY_SYSTEM,!1),this._collisionManager&&this._scheduler.scheduleUpdate(this._collisionManager,cc.Scheduler.PRIORITY_SYSTEM,!1),this._physicsManager&&this._scheduler.scheduleUpdate(this._physicsManager,cc.Scheduler.PRIORITY_SYSTEM,!1),cc.game.resume()},runSceneImmediate:function(t,e,i){cc.assertID(t instanceof cc.Scene,1216),t._load();for(var n=Object.keys(c._persistRootNodes).map((function(t){return c._persistRootNodes[t]})),s=0;s<n.length;s++){var o=n[s],l=t.getChildByUuid(o.uuid);if(l){var h=l.getSiblingIndex();l._destroyImmediate(),t.insertChild(o,h)}else o.parent=t}var u=this._scene,_=u&&u.autoReleaseAssets&&u.dependAssets;r.autoRelease(_,t.dependAssets,n),cc.isValid(u)&&u.destroy(),this._scene=null,a._deferredDestroy(),e&&e(),this.emit(cc.Director.EVENT_BEFORE_SCENE_LAUNCH,t),this._scene=t,t._activate(),cc.game.resume(),i&&i(null,t),this.emit(cc.Director.EVENT_AFTER_SCENE_LAUNCH,t)},runScene:function(t,e,i){cc.assertID(t,1205),cc.assertID(t instanceof cc.Scene,1216),t._load(),this.once(cc.Director.EVENT_AFTER_UPDATE,(function(){this.runSceneImmediate(t,e,i)}),this)},_getSceneUuid:function(t){var e=c._sceneInfos;if("string"==typeof t){t.endsWith(".fire")||(t+=".fire"),"/"===t[0]||t.startsWith("db://")||(t="/"+t);for(var i=0;i<e.length;i++){var n=e[i];if(n.url.endsWith(t))return n}}else if("number"==typeof t){if(0<=t&&t<e.length)return e[t];cc.errorID(1206,t)}else cc.errorID(1207,t);return null},loadScene:function(t,e,i){if(this._loadingScene)return cc.errorID(1208,t,this._loadingScene),!1;var n=this._getSceneUuid(t);if(n){var r=n.uuid;return this.emit(cc.Director.EVENT_BEFORE_SCENE_LOADING,t),this._loadingScene=t,this._loadSceneByUuid(r,e,i),!0}return cc.errorID(1209,t),!1},preloadScene:function(t,e,i){void 0===i&&(i=e,e=null);var n=this._getSceneUuid(t);if(n)this.emit(cc.Director.EVENT_BEFORE_SCENE_LOADING,t),cc.loader.load({uuid:n.uuid,type:"uuid"},e,(function(e,n){e&&cc.errorID(1210,t,e.message),i&&i(e,n)}));else{var r='Can not preload the scene "'+t+'" because it is not in the build settings.';i(new Error(r)),cc.error("preloadScene: "+r)}},_loadSceneByUuid:function(t,e,i,n){console.time("LoadScene "+t),cc.AssetLibrary.loadAsset(t,(function(n,r){console.timeEnd("LoadScene "+t);var s=cc.director;if(s._loadingScene="",n)n="Failed to load scene: "+n,cc.error(n);else{if(r instanceof cc.SceneAsset){var o=r.scene;return o._id=r._uuid,o._name=r._name,void s.runSceneImmediate(o,i,e)}n="The asset "+t+" is not a scene",cc.error(n)}e&&e(n)}))},resume:function(){this._paused&&(this._lastUpdate=performance.now(),this._lastUpdate||cc.logID(1200),this._paused=!1,this._deltaTime=0)},setDepthTest:function(t){cc.Camera.main&&(cc.Camera.main.depth=!!t)},setClearColor:function(t){cc.Camera.main&&(cc.Camera.main.backgroundColor=t)},getRunningScene:function(){return this._scene},getScene:function(){return this._scene},getAnimationInterval:function(){return 1e3/c.getFrameRate()},setAnimationInterval:function(t){c.setFrameRate(Math.round(1e3/t))},getDeltaTime:function(){return this._deltaTime},getTotalFrames:function(){return this._totalFrames},isPaused:function(){return this._paused},getScheduler:function(){return this._scheduler},setScheduler:function(t){this._scheduler!==t&&(this._scheduler=t)},getActionManager:function(){return this._actionManager},setActionManager:function(t){this._actionManager!==t&&(this._actionManager&&this._scheduler.unscheduleUpdate(this._actionManager),this._actionManager=t,this._scheduler.scheduleUpdate(this._actionManager,cc.Scheduler.PRIORITY_SYSTEM,!1))},getAnimationManager:function(){return this._animationManager},getCollisionManager:function(){return this._collisionManager},getPhysicsManager:function(){return this._physicsManager},startAnimation:function(){cc.game.resume()},stopAnimation:function(){cc.game.pause()},_resetDeltaTime:function(){this._lastUpdate=performance.now(),this._deltaTime=0},mainLoop:function(t){this._purgeDirectorInNextLoop?(this._purgeDirectorInNextLoop=!1,this.purgeDirector()):(this.calculateDeltaTime(t),this._paused||(this.emit(cc.Director.EVENT_BEFORE_UPDATE),this._compScheduler.startPhase(),this._compScheduler.updatePhase(this._deltaTime),this._scheduler.update(this._deltaTime),this._compScheduler.lateUpdatePhase(this._deltaTime),this.emit(cc.Director.EVENT_AFTER_UPDATE),a._deferredDestroy()),this.emit(cc.Director.EVENT_BEFORE_DRAW),l.render(this._scene,this._deltaTime),this.emit(cc.Director.EVENT_AFTER_DRAW),h.frameUpdateListeners(),this._totalFrames++)},__fastOn:function(t,e,i){this.on(t,e,i)},__fastOff:function(t,e,i){this.off(t,e,i)}},cc.js.addon(cc.Director.prototype,n.prototype),cc.Director.EVENT_PROJECTION_CHANGED="director_projection_changed",cc.Director.EVENT_BEFORE_SCENE_LOADING="director_before_scene_loading",cc.Director.EVENT_BEFORE_SCENE_LAUNCH="director_before_scene_launch",cc.Director.EVENT_AFTER_SCENE_LAUNCH="director_after_scene_launch",cc.Director.EVENT_BEFORE_UPDATE="director_before_update",cc.Director.EVENT_AFTER_UPDATE="director_after_update",cc.Director.EVENT_BEFORE_VISIT="director_before_draw",cc.Director.EVENT_AFTER_VISIT="director_before_draw",cc.Director.EVENT_BEFORE_DRAW="director_before_draw",cc.Director.EVENT_AFTER_DRAW="director_after_draw",cc.Director.PROJECTION_2D=0,cc.Director.PROJECTION_3D=1,cc.Director.PROJECTION_CUSTOM=3,cc.Director.PROJECTION_DEFAULT=cc.Director.PROJECTION_2D,cc.director=new cc.Director,e.exports=cc.director}),{"./CCGame":29,"./CCScheduler":33,"./component-scheduler":65,"./event-manager":96,"./event/event-target":98,"./load-pipeline/auto-release-utils":116,"./node-activator":132,"./platform/CCObject":166,"./renderer":207}],29:[(function(t,e,i){"use strict";var n=t("./event/event-target");t("../audio/CCAudioEngine");var r=t("./CCDebug"),s=t("./renderer/index.js"),o=t("../core/renderer/utils/dynamic-atlas/manager"),a={EVENT_HIDE:"game_on_hide",EVENT_SHOW:"game_on_show",EVENT_RESTART:"game_on_restart",EVENT_GAME_INITED:"game_inited",EVENT_ENGINE_INITED:"engine_inited",EVENT_RENDERER_INITED:"engine_inited",RENDER_TYPE_CANVAS:0,RENDER_TYPE_WEBGL:1,RENDER_TYPE_OPENGL:2,_persistRootNodes:{},_paused:!0,_configLoaded:!1,_isCloning:!1,_prepared:!1,_rendererInitialized:!1,_renderContext:null,_intervalId:null,_lastTime:null,_frameTime:null,_sceneInfos:[],frame:null,container:null,canvas:null,renderType:-1,config:null,onStart:null,setFrameRate:function(t){this.config.frameRate=t,this._intervalId&&window.cancelAnimFrame(this._intervalId),this._intervalId=0,this._paused=!0,this._setAnimFrame(),this._runMainLoop()},getFrameRate:function(){return this.config.frameRate},step:function(){cc.director.mainLoop()},pause:function(){this._paused||(this._paused=!0,cc.audioEngine&&cc.audioEngine._break(),this._intervalId&&window.cancelAnimFrame(this._intervalId),this._intervalId=0)},resume:function(){this._paused&&(this._paused=!1,cc.audioEngine&&cc.audioEngine._restore(),cc.director._resetDeltaTime(),this._runMainLoop())},isPaused:function(){return this._paused},restart:function(){cc.director.once(cc.Director.EVENT_AFTER_DRAW,(function(){for(var t in a._persistRootNodes)a.removePersistRootNode(a._persistRootNodes[t]);cc.director.getScene().destroy(),cc.Object._deferredDestroy(),cc.audioEngine&&cc.audioEngine.uncacheAll(),cc.director.reset(),a.pause(),cc.AssetLibrary._loadBuiltins((function(){a.onStart(),a.emit(a.EVENT_RESTART)}))}))},end:function(){close()},_initEngine:function(){this._rendererInitialized||(this._initRenderer(),this._initEvents(),this.emit(this.EVENT_ENGINE_INITED))},_prepareFinished:function(t){var e=this;this._initEngine(),this._setAnimFrame(),cc.AssetLibrary._loadBuiltins((function(){console.log("Cocos Creator v"+cc.ENGINE_VERSION),e._prepared=!0,e._runMainLoop(),e.emit(e.EVENT_GAME_INITED),t&&t()}))},eventTargetOn:n.prototype.on,eventTargetOnce:n.prototype.once,on:function(t,e,i){this._prepared&&t===this.EVENT_ENGINE_INITED||!this._paused&&t===this.EVENT_GAME_INITED?e.call(i):this.eventTargetOn(t,e,i)},once:function(t,e,i){this._prepared&&t===this.EVENT_ENGINE_INITED||!this._paused&&t===this.EVENT_GAME_INITED?e.call(i):this.eventTargetOnce(t,e,i)},prepare:function(t){if(this._prepared)t&&t();else{var e=this.config.jsList;if(e&&e.length>0){var i=this;cc.loader.load(e,(function(e){if(e)throw new Error(JSON.stringify(e));i._prepareFinished(t)}))}else this._prepareFinished(t)}},run:function(t,e){this._initConfig(t),this.onStart=e,this.prepare(a.onStart&&a.onStart.bind(a))},addPersistRootNode:function(t){if(cc.Node.isNode(t)&&t.uuid){var e=t.uuid;if(!this._persistRootNodes[e]){var i=cc.director._scene;if(cc.isValid(i))if(t.parent){if(!(t.parent instanceof cc.Scene))return void cc.warnID(3801);if(t.parent!==i)return void cc.warnID(3802)}else t.parent=i;this._persistRootNodes[e]=t,t._persistNode=!0}}else cc.warnID(3800)},removePersistRootNode:function(t){var e=t.uuid||"";t===this._persistRootNodes[e]&&(delete this._persistRootNodes[e],t._persistNode=!1)},isPersistRootNode:function(t){return t._persistNode},_setAnimFrame:function(){this._lastTime=performance.now();var t=a.config.frameRate;this._frameTime=1e3/t,60!==t&&30!==t?(window.requestAnimFrame=this._stTime,window.cancelAnimFrame=this._ctTime):(window.requestAnimFrame=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||this._stTime,window.cancelAnimFrame=window.cancelAnimationFrame||window.cancelRequestAnimationFrame||window.msCancelRequestAnimationFrame||window.mozCancelRequestAnimationFrame||window.oCancelRequestAnimationFrame||window.webkitCancelRequestAnimationFrame||window.msCancelAnimationFrame||window.mozCancelAnimationFrame||window.webkitCancelAnimationFrame||window.oCancelAnimationFrame||this._ctTime)},_stTime:function(t){var e=performance.now(),i=Math.max(0,a._frameTime-(e-a._lastTime)),n=window.setTimeout((function(){t()}),i);return a._lastTime=e+i,n},_ctTime:function(t){window.clearTimeout(t)},_runMainLoop:function(){if(this._prepared){var t,e=this,i=e.config,n=cc.director,s=!0,o=i.frameRate;r.setDisplayStats(i.showFPS),t=function(i){if(!e._paused){if(e._intervalId=window.requestAnimFrame(t),30===o&&(s=!s))return;n.mainLoop(i)}},e._intervalId=window.requestAnimFrame(t),e._paused=!1}},_initConfig:function(t){"number"!=typeof t.debugMode&&(t.debugMode=0),t.exposeClassName=!!t.exposeClassName,"number"!=typeof t.frameRate&&(t.frameRate=60);var e=t.renderMode;("number"!=typeof e||e>2||e<0)&&(t.renderMode=0),"boolean"!=typeof t.registerSystemEvent&&(t.registerSystemEvent=!0),t.showFPS=!!t.showFPS,this._sceneInfos=t.scenes||[],this.collisionMatrix=t.collisionMatrix||[],this.groupList=t.groupList||[],r._resetDebugSetting(t.debugMode),this.config=t,this._configLoaded=!0},_determineRenderType:function(){var t=this.config,e=parseInt(t.renderMode)||0;this.renderType=this.RENDER_TYPE_CANVAS;var i=!1;if(0===e?cc.sys.capabilities.opengl?(this.renderType=this.RENDER_TYPE_WEBGL,i=!0):cc.sys.capabilities.canvas&&(this.renderType=this.RENDER_TYPE_CANVAS,i=!0):1===e&&cc.sys.capabilities.canvas?(this.renderType=this.RENDER_TYPE_CANVAS,i=!0):2===e&&cc.sys.capabilities.opengl&&(this.renderType=this.RENDER_TYPE_WEBGL,i=!0),!i)throw new Error(r.getError(3820,e))},_initRenderer:function(){if(!this._rendererInitialized){var t=this.config.id,e=void 0,i=void 0,n=void 0,r=void 0,a=t instanceof HTMLElement?t:document.querySelector(t)||document.querySelector("#"+t);if("CANVAS"===a.tagName?(e=a.width,i=a.height,this.canvas=n=a,this.container=r=document.createElement("DIV"),n.parentNode&&n.parentNode.insertBefore(r,n)):("DIV"!==a.tagName&&cc.warnID(3819),e=a.clientWidth,i=a.clientHeight,this.canvas=n=document.createElement("CANVAS"),this.container=r=document.createElement("DIV"),a.appendChild(r)),r.setAttribute("id","Cocos2dGameContainer"),r.appendChild(n),this.frame=r.parentNode===document.body?document.documentElement:r.parentNode,(function(t,e){(" "+t.className+" ").indexOf(" "+e+" ")>-1||(t.className&&(t.className+=" "),t.className+=e)})(n,"gameCanvas"),n.setAttribute("width",e||480),n.setAttribute("height",i||320),n.setAttribute("tabindex",99),this._determineRenderType(),this.renderType===this.RENDER_TYPE_WEBGL){var c={stencil:!0,antialias:cc.macro.ENABLE_WEBGL_ANTIALIAS,alpha:cc.macro.ENABLE_TRANSPARENT_CANVAS};s.initWebGL(n,c),this._renderContext=s.device._gl,!cc.macro.CLEANUP_IMAGE_CACHE&&o&&(o.enabled=!0)}this._renderContext||(this.renderType=this.RENDER_TYPE_CANVAS,s.initCanvas(n),this._renderContext=s.device._ctx),this.canvas.oncontextmenu=function(){if(!cc._isContextMenuEnable)return!1},this._rendererInitialized=!0}},_initEvents:function(){var t,e=window;this.config.registerSystemEvent&&_cc.inputManager.registerSystemEvent(this.canvas),void 0!==document.hidden?t="hidden":void 0!==document.mozHidden?t="mozHidden":void 0!==document.msHidden?t="msHidden":void 0!==document.webkitHidden&&(t="webkitHidden");var i=!1;function n(){i||(i=!0,a.emit(a.EVENT_HIDE))}function r(t,e,n,r,s){i&&(i=!1,a.emit(a.EVENT_SHOW,t,e,n,r,s))}if(t)for(var s=["visibilitychange","mozvisibilitychange","msvisibilitychange","webkitvisibilitychange","qbrowserVisibilityChange"],o=0;o<s.length;o++)document.addEventListener(s[o],(function(e){var i=document[t];(i=i||e.hidden)?n():r()}));else e.addEventListener("blur",n),e.addEventListener("focus",r);navigator.userAgent.indexOf("MicroMessenger")>-1&&(e.onfocus=r),"onpageshow"in window&&"onpagehide"in window&&(e.addEventListener("pagehide",n),e.addEventListener("pageshow",r),document.addEventListener("pagehide",n),document.addEventListener("pageshow",r)),this.on(a.EVENT_HIDE,(function(){a.pause()})),this.on(a.EVENT_SHOW,(function(){a.resume()}))}};n.call(a),cc.js.addon(a,n.prototype),cc.game=e.exports=a}),{"../audio/CCAudioEngine":21,"../core/renderer/utils/dynamic-atlas/manager":210,"./CCDebug":27,"./event/event-target":98,"./renderer/index.js":207}],30:[(function(t,e,i){"use strict";var n=t("./vmath"),r=t("./utils/base-node"),s=t("./utils/prefab-helper"),o=t("./utils/trans-pool").NodeMemPool,a=t("./utils/affine-transform"),c=t("./event-manager"),l=t("./platform/CCMacro"),h=t("./platform/js"),u=(t("./event/event"),t("./event/event-target")),_=t("./renderer/render-flow"),f=cc.Object.Flags.Destroying,d=Math.PI/180,p=!!cc.ActionManager,m=function(){},y=cc.v3(),v=cc.quat(),g=cc.v3(),x=cc.v3(),C=cc.quat(),A=cc.quat(),b=cc.v3(),S=cc.v3(),T=cc.v3(),w=cc.v3(),E=cc.v3(),B=cc.quat(),M=cc.quat(),I=cc.v3(),R=n.quat.create(),P=cc.v3(),D=cc.v3(),L=cc.quat(),O=cc.quat(),V=(cc.quat(),n.mat4.create()),F=n.vec3.create(),N=new Array(16);N.length=0;var G=cc.Enum({DEBUG:31}),k=cc.Enum({POSITION:1,SCALE:2,ROTATION:4,SKEW:8,TRS:7,RS:6,ALL:65535}),z=cc.Enum({TOUCH_START:"touchstart",TOUCH_MOVE:"touchmove",TOUCH_END:"touchend",TOUCH_CANCEL:"touchcancel",MOUSE_DOWN:"mousedown",MOUSE_MOVE:"mousemove",MOUSE_ENTER:"mouseenter",MOUSE_LEAVE:"mouseleave",MOUSE_UP:"mouseup",MOUSE_WHEEL:"mousewheel",POSITION_CHANGED:"position-changed",ROTATION_CHANGED:"rotation-changed",SCALE_CHANGED:"scale-changed",SIZE_CHANGED:"size-changed",ANCHOR_CHANGED:"anchor-changed",COLOR_CHANGED:"color-changed",CHILD_ADDED:"child-added",CHILD_REMOVED:"child-removed",CHILD_REORDER:"child-reorder",GROUP_CHANGED:"group-changed",SIBLING_ORDER_CHANGED:"sibling-order-changed"}),U=[z.TOUCH_START,z.TOUCH_MOVE,z.TOUCH_END,z.TOUCH_CANCEL],W=[z.MOUSE_DOWN,z.MOUSE_ENTER,z.MOUSE_MOVE,z.MOUSE_LEAVE,z.MOUSE_UP,z.MOUSE_WHEEL],j=null,H=function(t,e){var i=t.getLocation(),n=this.owner;return!!n._hitTest(i,this)&&(e.type=z.TOUCH_START,e.touch=t,e.bubbles=!0,n.dispatchEvent(e),!0)},q=function(t,e){var i=this.owner;e.type=z.TOUCH_MOVE,e.touch=t,e.bubbles=!0,i.dispatchEvent(e)},X=function(t,e){var i=t.getLocation(),n=this.owner;n._hitTest(i,this)?e.type=z.TOUCH_END:e.type=z.TOUCH_CANCEL,e.touch=t,e.bubbles=!0,n.dispatchEvent(e)},Y=function(t,e){t.getLocation();var i=this.owner;e.type=z.TOUCH_CANCEL,e.touch=t,e.bubbles=!0,i.dispatchEvent(e)},J=function(t){var e=t.getLocation(),i=this.owner;i._hitTest(e,this)&&(t.type=z.MOUSE_DOWN,t.bubbles=!0,i.dispatchEvent(t))},Z=function(t){var e=t.getLocation(),i=this.owner;if(i._hitTest(e,this))this._previousIn||(j&&j._mouseListener&&(t.type=z.MOUSE_LEAVE,j.dispatchEvent(t),j._mouseListener._previousIn=!1),j=this.owner,t.type=z.MOUSE_ENTER,i.dispatchEvent(t),this._previousIn=!0),t.type=z.MOUSE_MOVE,t.bubbles=!0,i.dispatchEvent(t);else{if(!this._previousIn)return;t.type=z.MOUSE_LEAVE,i.dispatchEvent(t),this._previousIn=!1,j=null}t.stopPropagation()},K=function(t){var e=t.getLocation(),i=this.owner;i._hitTest(e,this)&&(t.type=z.MOUSE_UP,t.bubbles=!0,i.dispatchEvent(t),t.stopPropagation())},Q=function(t){var e=t.getLocation(),i=this.owner;i._hitTest(e,this)&&(t.type=z.MOUSE_WHEEL,t.bubbles=!0,i.dispatchEvent(t),t.stopPropagation())};function $(t){var e=cc.Mask;if(e)for(var i=0,n=t;n&&cc.Node.isNode(n);n=n._parent,++i)if(n.getComponent(e))return{index:i,node:n};return null}function tt(t,e){if(!(t._objFlags&f)){var i=0;if(t._bubblingListeners)for(;i<e.length;++i)if(t._bubblingListeners.hasEventListener(e[i]))return!0;if(t._capturingListeners)for(;i<e.length;++i)if(t._capturingListeners.hasEventListener(e[i]))return!0;return!1}return!0}function et(t,e){var i,n;for(e.target=t,N.length=0,t._getCapturingTargets(e.type,N),e.eventPhase=1,n=N.length-1;n>=0;--n)if((i=N[n])._capturingListeners&&(e.currentTarget=i,i._capturingListeners.emit(e.type,e,N),e._propagationStopped))return void(N.length=0);if(N.length=0,e.eventPhase=2,e.currentTarget=t,t._capturingListeners&&t._capturingListeners.emit(e.type,e),!e._propagationImmediateStopped&&t._bubblingListeners&&t._bubblingListeners.emit(e.type,e),!e._propagationStopped&&e.bubbles)for(t._getBubblingTargets(e.type,N),e.eventPhase=3,n=0;n<N.length;++n)if((i=N[n])._bubblingListeners&&(e.currentTarget=i,i._bubblingListeners.emit(e.type,e),e._propagationStopped))return void(N.length=0);N.length=0}function it(t){var e=t.groupIndex;return 0===e&&t.parent&&(e=it(t.parent)),e}function nt(t){var e=it(t);t._cullingMask=1<<e;for(var i=0;i<t._children.length;i++)nt(t._children[i])}var rt={name:"cc.Node",extends:r,properties:{_opacity:255,_color:cc.Color.WHITE,_contentSize:cc.Size,_anchorPoint:cc.v2(.5,.5),_position:void 0,_scale:void 0,_trs:null,_eulerAngles:cc.Vec3,_skewX:0,_skewY:0,_zIndex:{default:void 0,type:cc.Integer},_localZOrder:{default:0,serializable:!1},_is3DNode:!1,_groupIndex:{default:0,formerlySerializedAs:"groupIndex"},groupIndex:{get:function(){return this._groupIndex},set:function(t){this._groupIndex=t,nt(this),this.emit(z.GROUP_CHANGED,this)}},group:{get:function(){return cc.game.groupList[this.groupIndex]||""},set:function(t){this.groupIndex=cc.game.groupList.indexOf(t)}},x:{get:function(){return this._trs[0]},set:function(t){var e=this._trs;if(t!==e[0]){e[0]=t,this.setLocalDirty(k.POSITION),1&this._eventMask&&this.emit(z.POSITION_CHANGED)}}},y:{get:function(){return this._trs[1]},set:function(t){var e=this._trs;if(t!==e[1]){e[1]=t,this.setLocalDirty(k.POSITION),1&this._eventMask&&this.emit(z.POSITION_CHANGED)}}},rotation:{get:function(){return-this.angle},set:function(t){this.angle=-t}},angle:{get:function(){return this._eulerAngles.z},set:function(t){n.vec3.set(this._eulerAngles,0,0,t),n.trs.fromAngleZ(this._trs,t),this.setLocalDirty(k.ROTATION),4&this._eventMask&&this.emit(z.ROTATION_CHANGED)}},rotationX:{get:function(){return this._eulerAngles.x},set:function(t){this._eulerAngles.x!==t&&(this._eulerAngles.x=t,this._eulerAngles.x===this._eulerAngles.y?n.trs.fromAngleZ(this._trs,-t):n.trs.fromEulerNumber(this._trs,t,this._eulerAngles.y,0),this.setLocalDirty(k.ROTATION),4&this._eventMask&&this.emit(z.ROTATION_CHANGED))}},rotationY:{get:function(){return this._eulerAngles.y},set:function(t){this._eulerAngles.y!==t&&(this._eulerAngles.y=t,this._eulerAngles.x===this._eulerAngles.y?n.trs.fromAngleZ(this._trs,-t):n.trs.fromEulerNumber(this._trs,this._eulerAngles.x,t,0),this.setLocalDirty(k.ROTATION),4&this._eventMask&&this.emit(z.ROTATION_CHANGED))}},scale:{get:function(){return this._trs[7]},set:function(t){this.setScale(t)}},scaleX:{get:function(){return this._trs[7]},set:function(t){this._trs[7]!==t&&(this._trs[7]=t,this.setLocalDirty(k.SCALE),2&this._eventMask&&this.emit(z.SCALE_CHANGED))}},scaleY:{get:function(){return this._trs[8]},set:function(t){this._trs[8]!==t&&(this._trs[8]=t,this.setLocalDirty(k.SCALE),2&this._eventMask&&this.emit(z.SCALE_CHANGED))}},skewX:{get:function(){return this._skewX},set:function(t){this._skewX=t,this.setLocalDirty(k.SKEW)}},skewY:{get:function(){return this._skewY},set:function(t){this._skewY=t,this.setLocalDirty(k.SKEW)}},opacity:{get:function(){return this._opacity},set:function(t){t=cc.misc.clampf(t,0,255),this._opacity!==t&&(this._opacity=t,this._renderFlag|=_.FLAG_OPACITY_COLOR)},range:[0,255]},color:{get:function(){return this._color.clone()},set:function(t){this._color.equals(t)||(this._color.set(t),this._renderFlag|=_.FLAG_COLOR,32&this._eventMask&&this.emit(z.COLOR_CHANGED,t))}},anchorX:{get:function(){return this._anchorPoint.x},set:function(t){var e=this._anchorPoint;e.x!==t&&(e.x=t,16&this._eventMask&&this.emit(z.ANCHOR_CHANGED))}},anchorY:{get:function(){return this._anchorPoint.y},set:function(t){var e=this._anchorPoint;e.y!==t&&(e.y=t,16&this._eventMask&&this.emit(z.ANCHOR_CHANGED))}},width:{get:function(){return this._contentSize.width},set:function(t){t!==this._contentSize.width&&(this._contentSize.width=t,8&this._eventMask&&this.emit(z.SIZE_CHANGED))}},height:{get:function(){return this._contentSize.height},set:function(t){t!==this._contentSize.height&&(this._contentSize.height=t,8&this._eventMask&&this.emit(z.SIZE_CHANGED))}},zIndex:{get:function(){return this._localZOrder>>16},set:function(t){t>l.MAX_ZINDEX?(cc.warnID(1636),t=l.MAX_ZINDEX):t<l.MIN_ZINDEX&&(cc.warnID(1637),t=l.MIN_ZINDEX),this.zIndex!==t&&(this._localZOrder=65535&this._localZOrder|t<<16,this.emit(z.SIBLING_ORDER_CHANGED),this._parent&&this._onSiblingIndexChanged())}}},ctor:function(){this._reorderChildDirty=!1,this._widget=null,this._renderComponent=null,this._capturingListeners=null,this._bubblingListeners=null,this._touchListener=null,this._mouseListener=null,this._initDataFromPool(),this._eventMask=0,this._cullingMask=1,this._childArrivalOrder=1,this._renderFlag=_.FLAG_TRANSFORM|_.FLAG_OPACITY_COLOR},statics:{EventType:z,_LocalDirtyFlag:k,isNode:function(t){return t instanceof st&&(t.constructor===st||!(t instanceof cc.Scene))},BuiltinGroupIndex:G},_onSiblingIndexChanged:function(){for(var t=this._parent,e=t._children,i=0,n=e.length;i<n;i++)e[i]._updateOrderOfArrival();t._delaySort()},_onPreDestroy:function(){this._onPreDestroyBase();p&&cc.director.getActionManager().removeAllActionsFromTarget(this),j===this&&(j=null),(this._touchListener||this._mouseListener)&&(c.removeListeners(this),this._touchListener&&(this._touchListener.owner=null,this._touchListener.mask=null,this._touchListener=null),this._mouseListener&&(this._mouseListener.owner=null,this._mouseListener.mask=null,this._mouseListener=null)),this._backDataIntoPool(),this._reorderChildDirty&&cc.director.__fastOff(cc.Director.EVENT_AFTER_UPDATE,this.sortAllChildren,this)},_onPostActivated:function(t){var e=p?cc.director.getActionManager():null;if(t)if(this._renderFlag|=_.FLAG_WORLD_TRANSFORM,e&&e.resumeTarget(this),c.resumeTarget(this),this._touchListener){var i=this._touchListener.mask=$(this);this._mouseListener&&(this._mouseListener.mask=i)}else this._mouseListener&&(this._mouseListener.mask=$(this));else e&&e.pauseTarget(this),c.pauseTarget(this)},_onHierarchyChanged:function(t){this._updateOrderOfArrival(),this.groupIndex=it(this),this._parent&&this._parent._delaySort(),this._renderFlag|=_.FLAG_WORLD_TRANSFORM,this._onHierarchyChangedBase(t),cc._widgetManager&&(cc._widgetManager._nodesOrderDirty=!0)},_initDataFromPool:function(){this._spaceInfo||(this._spaceInfo=o.pop());var t=this._spaceInfo;this._matrix=n.mat4.create(t.localMat),n.mat4.identity(this._matrix),this._worldMatrix=n.mat4.create(t.worldMat),n.mat4.identity(this._worldMatrix),this._localMatDirty=k.ALL,this._worldMatDirty=!0;var e=this._trs=this._spaceInfo.trs;e[0]=0,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=0,e[6]=1,e[7]=1,e[8]=1,e[9]=1},_backDataIntoPool:function(){o.push(this._spaceInfo),this._matrix=null,this._worldMatrix=null,this._trs=null,this._spaceInfo=null},_toEuler:function(){if(this.is3DNode)n.trs.toEuler(this._eulerAngles,this._trs);else{var t=Math.asin(this._trs[5])/d*2;n.vec3.set(this._eulerAngles,0,0,t)}},_fromEuler:function(){this.is3DNode?n.trs.fromEuler(this._trs,this._eulerAngles):n.trs.fromAngleZ(this._trs,this._eulerAngles.z)},_upgrade_1x_to_2x:function(){var t=this._trs;if(t){var e=t;t=this._trs=this._spaceInfo.trs,11===e.length?t.set(e.subarray(1)):t.set(e)}else t=this._trs=this._spaceInfo.trs;void 0!==this._zIndex&&(this._localZOrder=this._zIndex<<16,this._zIndex=void 0),this._fromEuler(),0!==this._localZOrder&&(this._zIndex=(4294901760&this._localZOrder)>>16),this._color.a<255&&255===this._opacity&&(this._opacity=this._color.a,this._color.a=255)},_onBatchCreated:function(){var t=this._prefab;t&&t.sync&&t.root===this&&s.syncWithPrefab(this),this._upgrade_1x_to_2x(),this._updateOrderOfArrival(),this.groupIndex=it(this),this._activeInHierarchy||(p&&cc.director.getActionManager().pauseTarget(this),c.pauseTarget(this));for(var e=this._children,i=0,n=e.length;i<n;i++)e[i]._onBatchCreated();e.length>0&&(this._renderFlag|=_.FLAG_CHILDREN)},_onBatchRestored:function(){if(this._upgrade_1x_to_2x(),this.groupIndex=it(this),!this._activeInHierarchy){var t=cc.director.getActionManager();t&&t.pauseTarget(this),c.pauseTarget(this)}for(var e=this._children,i=0,n=e.length;i<n;i++)e[i]._onBatchRestored();e.length>0&&(this._renderFlag|=_.FLAG_CHILDREN)},_checknSetupSysEvent:function(t){var e=!1,i=!1;return-1!==U.indexOf(t)?(this._touchListener||(this._touchListener=cc.EventListener.create({event:cc.EventListener.TOUCH_ONE_BY_ONE,swallowTouches:!0,owner:this,mask:$(this),onTouchBegan:H,onTouchMoved:q,onTouchEnded:X,onTouchCancelled:Y}),c.addListener(this._touchListener,this),e=!0),i=!0):-1!==W.indexOf(t)&&(this._mouseListener||(this._mouseListener=cc.EventListener.create({event:cc.EventListener.MOUSE,_previousIn:!1,owner:this,mask:$(this),onMouseDown:J,onMouseMove:Z,onMouseUp:K,onMouseScroll:Q}),c.addListener(this._mouseListener,this),e=!0),i=!0),e&&!this._activeInHierarchy&&cc.director.getScheduler().schedule((function(){this._activeInHierarchy||c.pauseTarget(this)}),this,0,0,0,!1),i},on:function(t,e,i,n){if(this._checknSetupSysEvent(t))return this._onDispatch(t,e,i,n);switch(t){case z.POSITION_CHANGED:this._eventMask|=1;break;case z.SCALE_CHANGED:this._eventMask|=2;break;case z.ROTATION_CHANGED:this._eventMask|=4;break;case z.SIZE_CHANGED:this._eventMask|=8;break;case z.ANCHOR_CHANGED:this._eventMask|=16;break;case z.COLOR_CHANGED:this._eventMask|=32}return this._bubblingListeners||(this._bubblingListeners=new u),this._bubblingListeners.on(t,e,i)},once:function(t,e,i,n){(this._checknSetupSysEvent(t)&&n?this._capturingListeners=this._capturingListeners||new u:this._bubblingListeners=this._bubblingListeners||new u).once(t,e,i)},_onDispatch:function(t,e,i,n){if("boolean"==typeof i?(n=i,i=void 0):n=!!n,e){var r=null;return(r=n?this._capturingListeners=this._capturingListeners||new u:this._bubblingListeners=this._bubblingListeners||new u).hasEventListener(t,e,i)||(r.on(t,e,i),i&&i.__eventTargets&&i.__eventTargets.push(this)),e}cc.errorID(6800)},off:function(t,e,i,n){var r=-1!==U.indexOf(t),s=!r&&-1!==W.indexOf(t);if(r||s)this._offDispatch(t,e,i,n),r?this._touchListener&&!tt(this,U)&&(c.removeListener(this._touchListener),this._touchListener=null):s&&this._mouseListener&&!tt(this,W)&&(c.removeListener(this._mouseListener),this._mouseListener=null);else if(this._bubblingListeners){if(this._bubblingListeners.off(t,e,i),!this._bubblingListeners.hasEventListener(t))switch(t){case z.POSITION_CHANGED:this._eventMask&=-2;break;case z.SCALE_CHANGED:this._eventMask&=-3;break;case z.ROTATION_CHANGED:this._eventMask&=-5;break;case z.SIZE_CHANGED:this._eventMask&=-9;break;case z.ANCHOR_CHANGED:this._eventMask&=-17;break;case z.COLOR_CHANGED:this._eventMask&=-33}}},_offDispatch:function(t,e,i,n){if("boolean"==typeof i?(n=i,i=void 0):n=!!n,e){var r=n?this._capturingListeners:this._bubblingListeners;r&&(r.off(t,e,i),i&&i.__eventTargets&&h.array.fastRemove(i.__eventTargets,this))}else this._capturingListeners&&this._capturingListeners.removeAll(t),this._bubblingListeners&&this._bubblingListeners.removeAll(t)},targetOff:function(t){var e=this._bubblingListeners;e&&(e.targetOff(t),1&this._eventMask&&!e.hasEventListener(z.POSITION_CHANGED)&&(this._eventMask&=-2),2&this._eventMask&&!e.hasEventListener(z.SCALE_CHANGED)&&(this._eventMask&=-3),4&this._eventMask&&!e.hasEventListener(z.ROTATION_CHANGED)&&(this._eventMask&=-5),8&this._eventMask&&!e.hasEventListener(z.SIZE_CHANGED)&&(this._eventMask&=-9),16&this._eventMask&&!e.hasEventListener(z.ANCHOR_CHANGED)&&(this._eventMask&=-17),32&this._eventMask&&!e.hasEventListener(z.COLOR_CHANGED)&&(this._eventMask&=-33)),this._capturingListeners&&this._capturingListeners.targetOff(t),t&&t.__eventTargets&&h.array.fastRemove(t.__eventTargets,this),this._touchListener&&!tt(this,U)&&(c.removeListener(this._touchListener),this._touchListener=null),this._mouseListener&&!tt(this,W)&&(c.removeListener(this._mouseListener),this._mouseListener=null)},hasEventListener:function(t){var e=!1;return this._bubblingListeners&&(e=this._bubblingListeners.hasEventListener(t)),!e&&this._capturingListeners&&(e=this._capturingListeners.hasEventListener(t)),e},emit:function(t,e,i,n,r,s){this._bubblingListeners&&this._bubblingListeners.emit(t,e,i,n,r,s)},dispatchEvent:function(t){et(this,t),N.length=0},pauseSystemEvents:function(t){c.pauseTarget(this,t)},resumeSystemEvents:function(t){c.resumeTarget(this,t)},_hitTest:function(t,e){var i=this._contentSize.width,r=this._contentSize.height,s=P,o=D,a=cc.Camera.findCamera(this);if(a?a.getScreenToWorldPoint(t,s):s.set(t),this._updateWorldMatrix(),!n.mat4.invert(V,this._worldMatrix))return!1;if(n.vec2.transformMat4(o,s,V),o.x+=this._anchorPoint.x*i,o.y+=this._anchorPoint.y*r,o.x>=0&&o.y>=0&&o.x<=i&&o.y<=r){if(e&&e.mask){for(var c=e.mask,l=this,h=0;l&&h<c.index;++h,l=l.parent);if(l===c.node){var u=l.getComponent(cc.Mask);return!u||!u.enabledInHierarchy||u._hitTest(s)}return e.mask=null,!0}return!0}return!1},_getCapturingTargets:function(t,e){for(var i=this.parent;i;)i._capturingListeners&&i._capturingListeners.hasEventListener(t)&&e.push(i),i=i.parent},_getBubblingTargets:function(t,e){for(var i=this.parent;i;)i._bubblingListeners&&i._bubblingListeners.hasEventListener(t)&&e.push(i),i=i.parent},runAction:p?function(t){if(this.active)return cc.assertID(t,1618),cc.director.getActionManager().addAction(t,this,!1),t}:m,pauseAllActions:p?function(){cc.director.getActionManager().pauseTarget(this)}:m,resumeAllActions:p?function(){cc.director.getActionManager().resumeTarget(this)}:m,stopAllActions:p?function(){cc.director.getActionManager().removeAllActionsFromTarget(this)}:m,stopAction:p?function(t){cc.director.getActionManager().removeAction(t)}:m,stopActionByTag:p?function(t){t!==cc.Action.TAG_INVALID?cc.director.getActionManager().removeActionByTag(t,this):cc.logID(1612)}:m,getActionByTag:p?function(t){return t===cc.Action.TAG_INVALID?(cc.logID(1613),null):cc.director.getActionManager().getActionByTag(t,this)}:function(){return null},getNumberOfRunningActions:p?function(){return cc.director.getActionManager().getNumberOfRunningActionsInTarget(this)}:function(){return 0},getPosition:function(t){return t=t||cc.v3(),n.trs.toPosition(t,this._trs)},setPosition:function(t,e){var i;void 0===e?(i=t.x,e=t.y):i=t;var n=this._trs;n[0]===i&&n[1]===e||(n[0]=i,n[1]=e,this.setLocalDirty(k.POSITION),1&this._eventMask&&this.emit(z.POSITION_CHANGED))},getScale:function(t){return void 0!==t?n.trs.toScale(t,this._trs):(cc.warnID(1400,"cc.Node.getScale","cc.Node.scale or cc.Node.getScale(cc.Vec3)"),this._trs[7])},setScale:function(t,e){t&&"number"!=typeof t?(e=t.y,t=t.x):void 0===e&&(e=t);var i=this._trs;i[7]===t&&i[8]===e||(i[7]=t,i[8]=e,this.setLocalDirty(k.SCALE),2&this._eventMask&&this.emit(z.SCALE_CHANGED))},getRotation:function(t){return t instanceof cc.Quat?n.trs.toRotation(t,this._trs):-this.angle},setRotation:function(t,e,i,n){if("number"==typeof t&&void 0===e)this.angle=-t;else{var r=t;void 0===e&&(r=t.x,e=t.y,i=t.z,n=t.w);var s=this._trs;s[3]===r&&s[4]===e&&s[5]===i&&s[6]===n||(s[3]=r,s[4]=e,s[5]=i,s[6]=n,this.setLocalDirty(k.ROTATION),4&this._eventMask&&this.emit(z.ROTATION_CHANGED))}},getContentSize:function(){return cc.size(this._contentSize.width,this._contentSize.height)},setContentSize:function(t,e){var i=this._contentSize;if(void 0===e){if(t.width===i.width&&t.height===i.height)return;0,i.width=t.width,i.height=t.height}else{if(t===i.width&&e===i.height)return;0,i.width=t,i.height=e}8&this._eventMask&&this.emit(z.SIZE_CHANGED)},getAnchorPoint:function(){return cc.v2(this._anchorPoint)},setAnchorPoint:function(t,e){var i=this._anchorPoint;if(void 0===e){if(t.x===i.x&&t.y===i.y)return;i.x=t.x,i.y=t.y}else{if(t===i.x&&e===i.y)return;i.x=t,i.y=e}this.setLocalDirty(k.POSITION),16&this._eventMask&&this.emit(z.ANCHOR_CHANGED)},_invTransformPoint:function(t,e){this._parent?this._parent._invTransformPoint(t,e):n.vec3.copy(t,e);var i=this._trs;return n.trs.toPosition(g,i),n.vec3.sub(t,t,g),n.trs.toRotation(C,i),n.quat.conjugate(A,C),n.vec3.transformQuat(t,t,A),n.trs.toScale(g,i),n.vec3.inverseSafe(x,g),n.vec3.mul(t,t,x),t},getWorldPosition:function(t){n.trs.toPosition(t,this._trs);for(var e=this._parent,i=void 0;e;)i=e._trs,n.trs.toScale(y,i),n.vec3.mul(t,t,y),n.trs.toRotation(v,i),n.vec3.transformQuat(t,t,v),n.trs.toPosition(y,i),n.vec3.add(t,t,y),e=e._parent;return t},setWorldPosition:function(t){var e=this._trs;this._parent?this._parent._invTransformPoint(b,t):n.vec3.copy(b,t),n.trs.fromPosition(e,b),this.setLocalDirty(k.POSITION),1&this._eventMask&&this.emit(z.POSITION_CHANGED)},getWorldRotation:function(t){n.trs.toRotation(L,this._trs),n.quat.copy(t,L);for(var e=this._parent;e;)n.trs.toRotation(L,e._trs),n.quat.mul(t,L,t),e=e._parent;return t},setWorldRotation:function(t){this._parent?(this._parent.getWorldRotation(O),n.quat.conjugate(O,O),n.quat.mul(O,O,t)):n.quat.copy(O,t),n.trs.fromRotation(this._trs,O),this.setLocalDirty(k.ROTATION)},getWorldScale:function(t){n.trs.toScale(S,this._trs),n.vec3.copy(t,S);for(var e=this._parent;e;)n.trs.toScale(S,e._trs),n.vec3.mul(t,t,S),e=e._parent;return t},setWorldScale:function(t){this._parent?(this._parent.getWorldScale(T),n.vec3.div(T,t,T)):n.vec3.copy(T,t),n.trs.fromScale(this._trs,T),this.setLocalDirty(k.SCALE)},getWorldRT:function(t){var e=w,i=B,r=this._trs;n.trs.toPosition(e,r),n.trs.toRotation(i,r);for(var s=this._parent;s;)r=s._trs,n.trs.toScale(E,r),n.vec3.mul(e,e,E),n.trs.toRotation(M,r),n.vec3.transformQuat(e,e,M),n.trs.toPosition(E,r),n.vec3.add(e,e,E),n.quat.mul(i,M,i),s=s._parent;return n.mat4.fromRT(t,i,e),t},lookAt:function(t,e){this.getWorldPosition(I),n.vec3.sub(I,I,t),n.vec3.normalize(I,I),n.quat.fromViewUp(R,I,e),this.setWorldRotation(R)},_updateLocalMatrix:function(){var t=this._localMatDirty;if(t){var e=this._matrix.m,i=this._trs;if(t&(k.RS|k.SKEW)){var n=-this._eulerAngles.z,r=this._skewX||this._skewY,s=i[7],o=i[8];if(n||r){var a=1,c=0,l=0,h=1;if(n){var u=n*d;l=Math.sin(u),a=h=Math.cos(u),c=-l}if(e[0]=a*=s,e[1]=c*=s,e[4]=l*=o,e[5]=h*=o,r){var _=e[0],f=e[1],p=e[4],m=e[5],y=Math.tan(this._skewX*d),v=Math.tan(this._skewY*d);y===1/0&&(y=99999999),v===1/0&&(v=99999999),e[0]=_+p*v,e[1]=f+m*v,e[4]=p+_*y,e[5]=m+f*y}}else e[0]=s,e[1]=0,e[4]=0,e[5]=o}e[12]=i[0],e[13]=i[1],this._localMatDirty=0,this._worldMatDirty=!0}},_calculWorldMatrix:function(){this._localMatDirty&&this._updateLocalMatrix();var t=this._parent;t?this._mulMat(this._worldMatrix,t._worldMatrix,this._matrix):n.mat4.copy(this._worldMatrix,this._matrix),this._worldMatDirty=!1},_mulMat:function(t,e,i){var n=e.m,r=i.m,s=t.m,o=n[0],a=n[1],c=n[4],l=n[5],h=n[12],u=n[13],_=r[0],f=r[1],d=r[4],p=r[5],m=r[12],y=r[13];0!==a||0!==c?(s[0]=_*o+f*c,s[1]=_*a+f*l,s[4]=d*o+p*c,s[5]=d*a+p*l,s[12]=o*m+c*y+h,s[13]=a*m+l*y+u):(s[0]=_*o,s[1]=f*l,s[4]=d*o,s[5]=p*l,s[12]=o*m+h,s[13]=l*y+u)},_updateWorldMatrix:function(){if(this._parent&&this._parent._updateWorldMatrix(),this._worldMatDirty){this._calculWorldMatrix();for(var t=this._children,e=0,i=t.length;e<i;e++)t[e]._worldMatDirty=!0}},setLocalDirty:function(t){this._localMatDirty|=t,this._worldMatDirty=!0,t===k.POSITION?this._renderFlag|=_.FLAG_WORLD_TRANSFORM:this._renderFlag|=_.FLAG_TRANSFORM},setWorldDirty:function(){this._worldMatDirty=!0},getLocalMatrix:function(t){return this._updateLocalMatrix(),n.mat4.copy(t,this._matrix)},getWorldMatrix:function(t){return this._updateWorldMatrix(),n.mat4.copy(t,this._worldMatrix)},convertToNodeSpaceAR:function(t,e){return this._updateWorldMatrix(),n.mat4.invert(V,this._worldMatrix),t instanceof cc.Vec2?(e=e||new cc.Vec2,n.vec2.transformMat4(e,t,V)):(e=e||new cc.Vec3,n.vec3.transformMat4(e,t,V))},convertToWorldSpaceAR:function(t,e){return this._updateWorldMatrix(),t instanceof cc.Vec2?(e=e||new cc.Vec2,n.vec2.transformMat4(e,t,this._worldMatrix)):(e=e||new cc.Vec3,n.vec3.transformMat4(e,t,this._worldMatrix))},convertToNodeSpace:function(t){this._updateWorldMatrix(),n.mat4.invert(V,this._worldMatrix);var e=new cc.Vec2;return n.vec2.transformMat4(e,t,V),e.x+=this._anchorPoint.x*this._contentSize.width,e.y+=this._anchorPoint.y*this._contentSize.height,e},convertToWorldSpace:function(t){this._updateWorldMatrix();var e=new cc.Vec2(t.x-this._anchorPoint.x*this._contentSize.width,t.y-this._anchorPoint.y*this._contentSize.height);return n.vec2.transformMat4(e,e,this._worldMatrix)},getNodeToParentTransform:function(t){t||(t=a.identity()),this._updateLocalMatrix();var e=this._contentSize;return F.x=-this._anchorPoint.x*e.width,F.y=-this._anchorPoint.y*e.height,n.mat4.copy(V,this._matrix),n.mat4.translate(V,V,F),a.fromMat4(t,V)},getNodeToParentTransformAR:function(t){return t||(t=a.identity()),this._updateLocalMatrix(),a.fromMat4(t,this._matrix)},getNodeToWorldTransform:function(t){t||(t=a.identity()),this._updateWorldMatrix();var e=this._contentSize;return F.x=-this._anchorPoint.x*e.width,F.y=-this._anchorPoint.y*e.height,n.mat4.copy(V,this._worldMatrix),n.mat4.translate(V,V,F),a.fromMat4(t,V)},getNodeToWorldTransformAR:function(t){return t||(t=a.identity()),this._updateWorldMatrix(),a.fromMat4(t,this._worldMatrix)},getParentToNodeTransform:function(t){return t||(t=a.identity()),this._updateLocalMatrix(),n.mat4.invert(V,this._matrix),a.fromMat4(t,V)},getWorldToNodeTransform:function(t){return t||(t=a.identity()),this._updateWorldMatrix(),n.mat4.invert(V,this._worldMatrix),a.fromMat4(t,V)},convertTouchToNodeSpace:function(t){return this.convertToNodeSpace(t.getLocation())},convertTouchToNodeSpaceAR:function(t){return this.convertToNodeSpaceAR(t.getLocation())},getBoundingBox:function(){this._updateLocalMatrix();var t=this._contentSize.width,e=this._contentSize.height,i=cc.rect(-this._anchorPoint.x*t,-this._anchorPoint.y*e,t,e);return i.transformMat4(i,this._matrix)},getBoundingBoxToWorld:function(){return this._parent?(this._parent._updateWorldMatrix(),this._getBoundingBoxTo(this._parent._worldMatrix)):this.getBoundingBox()},_getBoundingBoxTo:function(t){this._updateLocalMatrix();var e=this._contentSize.width,i=this._contentSize.height,r=cc.rect(-this._anchorPoint.x*e,-this._anchorPoint.y*i,e,i);t=n.mat4.mul(this._worldMatrix,t,this._matrix);if(r.transformMat4(r,t),!this._children)return r;for(var s=this._children,o=0;o<s.length;o++){var a=s[o];if(a&&a.active){var c=a._getBoundingBoxTo(t);c&&r.union(r,c)}}return r},_updateOrderOfArrival:function(){var t=this._parent?++this._parent._childArrivalOrder:0;if(this._localZOrder=4294901760&this._localZOrder|t,65535===t){var e=this._parent._children;e.forEach((function(t,e){t._localZOrder=4294901760&t._localZOrder|e+1})),this._parent._childArrivalOrder=e.length}this.emit(z.SIBLING_ORDER_CHANGED)},addChild:function(t,e,i){cc.assertID(t,1606),cc.assertID(null===t._parent,1605),t.parent=this,void 0!==e&&(t.zIndex=e),void 0!==i&&(t.name=i)},cleanup:function(){p&&cc.director.getActionManager().removeAllActionsFromTarget(this),c.removeListeners(this);var t,e,i=this._children.length;for(t=0;t<i;++t)(e=this._children[t])&&e.cleanup()},sortAllChildren:function(){if(this._reorderChildDirty){c._setDirtyForNode(this),this._reorderChildDirty=!1;var t=this._children;if(t.length>1){var e,i,n,r=t.length;for(e=1;e<r;e++){for(n=t[e],i=e-1;i>=0&&n._localZOrder<t[i]._localZOrder;)t[i+1]=t[i],i--;t[i+1]=n}this.emit(z.CHILD_REORDER,this)}cc.director.__fastOff(cc.Director.EVENT_AFTER_UPDATE,this.sortAllChildren,this)}},_delaySort:function(){this._reorderChildDirty||(this._reorderChildDirty=!0,cc.director.__fastOn(cc.Director.EVENT_AFTER_UPDATE,this.sortAllChildren,this))},_restoreProperties:!1,onRestore:!1};var st=cc.Class(rt),ot=st.prototype;h.getset(ot,"position",ot.getPosition,ot.setPosition,!1,!0),cc.Node=e.exports=st}),{"./event-manager":96,"./event/event":99,"./event/event-target":98,"./platform/CCMacro":165,"./platform/js":180,"./renderer/render-flow":208,"./utils/affine-transform":241,"./utils/base-node":242,"./utils/prefab-helper":251,"./utils/trans-pool":257,"./vmath":274}],31:[(function(t,e,i){"use strict";var n=t("./CCNode"),r=t("./renderer/render-flow"),s=(cc.Object.Flags.HideInHierarchy,n._LocalDirtyFlag),o=cc.Class({name:"cc.PrivateNode",extends:n,properties:{x:{get:function(){return this._originPos.x},set:function(t){var e=this._originPos;t!==e.x&&(e.x=t,this._posDirty(!0))},override:!0},y:{get:function(){return this._originPos.y},set:function(t){var e=this._originPos;t!==e.y&&(e.y=t,this._posDirty(!0))},override:!0},zIndex:{get:function(){return cc.macro.MIN_ZINDEX},set:function(){cc.warnID(1638)},override:!0},showInEditor:{default:!1,editorOnly:!0,override:!0}},ctor:function(t){this._localZOrder=cc.macro.MIN_ZINDEX<<16,this._originPos=cc.v2()},_posDirty:function(t){this.setLocalDirty(s.POSITION),this._renderFlag|=r.FLAG_TRANSFORM,!0===t&&1&this._eventMask&&this.emit(n.EventType.POSITION_CHANGED)},_updateLocalMatrix:function(){if(this._localMatDirty){var t=this.parent;t&&(this._trs[0]=this._originPos.x-(t._anchorPoint.x-.5)*t._contentSize.width,this._trs[1]=this._originPos.y-(t._anchorPoint.y-.5)*t._contentSize.height),this._super()}},getPosition:function(){return new cc.Vec2(this._originPos)},setPosition:function(t,e){void 0===e&&(e=(t=t.x).y);var i=this._originPos;i.x===t&&i.y===e||(i.x=t,i.y=e,this._posDirty(!0))},setParent:function(t){var e=this._parent;this._super(t),e!==t&&(e&&e.off(n.EventType.ANCHOR_CHANGED,this._posDirty,this),t&&t.on(n.EventType.ANCHOR_CHANGED,this._posDirty,this))},_updateOrderOfArrival:function(){}});cc.js.getset(o.prototype,"parent",o.prototype.getParent,o.prototype.setParent),cc.js.getset(o.prototype,"position",o.prototype.getPosition,o.prototype.setPosition),cc.PrivateNode=e.exports=o}),{"./CCNode":30,"./renderer/render-flow":208}],32:[(function(t,e,i){"use strict";cc.Scene=cc.Class({name:"cc.Scene",extends:t("./CCNode"),properties:{_is3DNode:{default:!0,override:!0},autoReleaseAssets:{default:void 0,type:cc.Boolean}},ctor:function(){this._anchorPoint.x=0,this._anchorPoint.y=0,this._activeInHierarchy=!1,this._inited=!cc.game._isCloning,this.dependAssets=null},destroy:function(){if(cc.Object.prototype.destroy.call(this))for(var t=this._children,e=0;e<t.length;++e)t[e].active=!1;this._active=!1,this._activeInHierarchy=!1},_onHierarchyChanged:function(){},_instantiate:null,_load:function(){this._inited||(this._onBatchCreated(),this._inited=!0)},_activate:function(t){t=!1!==t,cc.director._nodeActivator.activateNode(this,t)}}),e.exports=cc.Scene}),{"./CCNode":30}],33:[(function(t,e,i){"use strict";var n=t("./platform/js"),r=new(t("./platform/id-generater"))("Scheduler"),s=function(t,e,i,n){this.target=t,this.priority=e,this.paused=i,this.markedForDeletion=n},o=[];s.get=function(t,e,i,n){var r=o.pop();return r?(r.target=t,r.priority=e,r.paused=i,r.markedForDeletion=n):r=new s(t,e,i,n),r},s.put=function(t){o.length<20&&(t.target=null,o.push(t))};var a=function(t,e,i,n){this.list=t,this.entry=e,this.target=i,this.callback=n},c=[];a.get=function(t,e,i,n){var r=c.pop();return r?(r.list=t,r.entry=e,r.target=i,r.callback=n):r=new a(t,e,i,n),r},a.put=function(t){c.length<20&&(t.list=t.entry=t.target=t.callback=null,c.push(t))};var l=function(t,e,i,n,r,s){var o=this;o.timers=t,o.target=e,o.timerIndex=i,o.currentTimer=n,o.currentTimerSalvaged=r,o.paused=s},h=[];function u(){this._lock=!1,this._scheduler=null,this._elapsed=-1,this._runForever=!1,this._useDelay=!1,this._timesExecuted=0,this._repeat=0,this._delay=0,this._interval=0,this._target=null,this._callback=null}l.get=function(t,e,i,n,r,s){var o=h.pop();return o?(o.timers=t,o.target=e,o.timerIndex=i,o.currentTimer=n,o.currentTimerSalvaged=r,o.paused=s):o=new l(t,e,i,n,r,s),o},l.put=function(t){h.length<20&&(t.timers=t.target=t.currentTimer=null,h.push(t))};var _=u.prototype;_.initWithCallback=function(t,e,i,n,r,s){return this._lock=!1,this._scheduler=t,this._target=i,this._callback=e,this._elapsed=-1,this._interval=n,this._delay=s,this._useDelay=this._delay>0,this._repeat=r,this._runForever=this._repeat===cc.macro.REPEAT_FOREVER,!0},_.getInterval=function(){return this._interval},_.setInterval=function(t){this._interval=t},_.update=function(t){-1===this._elapsed?(this._elapsed=0,this._timesExecuted=0):(this._elapsed+=t,this._runForever&&!this._useDelay?this._elapsed>=this._interval&&(this.trigger(),this._elapsed=0):(this._useDelay?this._elapsed>=this._delay&&(this.trigger(),this._elapsed-=this._delay,this._timesExecuted+=1,this._useDelay=!1):this._elapsed>=this._interval&&(this.trigger(),this._elapsed=0,this._timesExecuted+=1),this._callback&&!this._runForever&&this._timesExecuted>this._repeat&&this.cancel()))},_.getCallback=function(){return this._callback},_.trigger=function(){this._target&&this._callback&&(this._lock=!0,this._callback.call(this._target,this._elapsed),this._lock=!1)},_.cancel=function(){this._scheduler.unschedule(this._callback,this._target)};var f=[];u.get=function(){return f.pop()||new u},u.put=function(t){f.length<20&&!t._lock&&(t._scheduler=t._target=t._callback=null,f.push(t))},cc.Scheduler=function(){this._timeScale=1,this._updatesNegList=[],this._updates0List=[],this._updatesPosList=[],this._hashForUpdates=n.createMap(!0),this._hashForTimers=n.createMap(!0),this._currentTarget=null,this._currentTargetSalvaged=!1,this._updateHashLocked=!1,this._arrayForTimers=[]},cc.Scheduler.prototype={constructor:cc.Scheduler,_removeHashElement:function(t){delete this._hashForTimers[t.target._id];for(var e=this._arrayForTimers,i=0,n=e.length;i<n;i++)if(e[i]===t){e.splice(i,1);break}l.put(t)},_removeUpdateFromHash:function(t){var e=t.target._id,i=this._hashForUpdates[e];if(i){for(var n=i.list,r=i.entry,o=0,c=n.length;o<c;o++)if(n[o]===r){n.splice(o,1);break}delete this._hashForUpdates[e],s.put(r),a.put(i)}},_priorityIn:function(t,e,i){for(var n=0;n<t.length;n++)if(i<t[n].priority)return void t.splice(n,0,e);t.push(e)},_appendIn:function(t,e){t.push(e)},enableForTarget:function(t){t._id||(t.__instanceId?cc.warnID(1513):t._id=r.getNewId())},setTimeScale:function(t){this._timeScale=t},getTimeScale:function(){return this._timeScale},update:function(t){var e,i,n,r;for(this._updateHashLocked=!0,1!==this._timeScale&&(t*=this._timeScale),e=0,n=(i=this._updatesNegList).length;e<n;e++)(r=i[e]).paused||r.markedForDeletion||r.target.update(t);for(e=0,n=(i=this._updates0List).length;e<n;e++)(r=i[e]).paused||r.markedForDeletion||r.target.update(t);for(e=0,n=(i=this._updatesPosList).length;e<n;e++)(r=i[e]).paused||r.markedForDeletion||r.target.update(t);var s,o=this._arrayForTimers;for(e=0;e<o.length;e++){if(s=o[e],this._currentTarget=s,this._currentTargetSalvaged=!1,!s.paused)for(s.timerIndex=0;s.timerIndex<s.timers.length;++s.timerIndex)s.currentTimer=s.timers[s.timerIndex],s.currentTimerSalvaged=!1,s.currentTimer.update(t),s.currentTimer=null;this._currentTargetSalvaged&&0===this._currentTarget.timers.length&&(this._removeHashElement(this._currentTarget),--e)}for(e=0,i=this._updatesNegList;e<i.length;)(r=i[e]).markedForDeletion?this._removeUpdateFromHash(r):e++;for(e=0,i=this._updates0List;e<i.length;)(r=i[e]).markedForDeletion?this._removeUpdateFromHash(r):e++;for(e=0,i=this._updatesPosList;e<i.length;)(r=i[e]).markedForDeletion?this._removeUpdateFromHash(r):e++;this._updateHashLocked=!1,this._currentTarget=null},schedule:function(t,e,i,n,r,s){if("function"!=typeof t){var o=t;t=e,e=o}4!==arguments.length&&5!==arguments.length||(s=!!n,n=cc.macro.REPEAT_FOREVER,r=0),cc.assertID(e,1502);var a=e._id;a||(e.__instanceId?(cc.warnID(1513),a=e._id=e.__instanceId):cc.errorID(1510));var c,h,_=this._hashForTimers[a];if(_?_.paused!==s&&cc.warnID(1511):(_=l.get(null,e,0,null,null,s),this._arrayForTimers.push(_),this._hashForTimers[a]=_),null==_.timers)_.timers=[];else for(h=0;h<_.timers.length;++h)if((c=_.timers[h])&&t===c._callback)return cc.logID(1507,c.getInterval(),i),void(c._interval=i);(c=u.get()).initWithCallback(this,t,e,i,n,r),_.timers.push(c),this._currentTarget===_&&this._currentTargetSalvaged&&(this._currentTargetSalvaged=!1)},scheduleUpdate:function(t,e,i){var n=t._id;n||(t.__instanceId?(cc.warnID(1513),n=t._id=t.__instanceId):cc.errorID(1510));var r=this._hashForUpdates[n];if(r&&r.entry){if(r.entry.priority===e)return r.entry.markedForDeletion=!1,void(r.entry.paused=i);if(this._updateHashLocked)return cc.logID(1506),r.entry.markedForDeletion=!1,void(r.entry.paused=i);this.unscheduleUpdate(t)}var o,c=s.get(t,e,i,!1);0===e?(o=this._updates0List,this._appendIn(o,c)):(o=e<0?this._updatesNegList:this._updatesPosList,this._priorityIn(o,c,e)),this._hashForUpdates[n]=a.get(o,c,t,null)},unschedule:function(t,e){if(e&&t){var i=e._id;i||(e.__instanceId?(cc.warnID(1513),i=e._id=e.__instanceId):cc.errorID(1510));var n=this._hashForTimers[i];if(n)for(var r=n.timers,s=0,o=r.length;s<o;s++){var a=r[s];if(t===a._callback)return a!==n.currentTimer||n.currentTimerSalvaged||(n.currentTimerSalvaged=!0),r.splice(s,1),u.put(a),n.timerIndex>=s&&n.timerIndex--,void(0===r.length&&(this._currentTarget===n?this._currentTargetSalvaged=!0:this._removeHashElement(n)))}}},unscheduleUpdate:function(t){if(t){var e=t._id;e||(t.__instanceId?(cc.warnID(1513),e=t._id=t.__instanceId):cc.errorID(1510));var i=this._hashForUpdates[e];i&&(this._updateHashLocked?i.entry.markedForDeletion=!0:this._removeUpdateFromHash(i.entry))}},unscheduleAllForTarget:function(t){if(t){var e=t._id;e||(t.__instanceId?(cc.warnID(1513),e=t._id=t.__instanceId):cc.errorID(1510));var i=this._hashForTimers[e];if(i){var n=i.timers;n.indexOf(i.currentTimer)>-1&&!i.currentTimerSalvaged&&(i.currentTimerSalvaged=!0);for(var r=0,s=n.length;r<s;r++)u.put(n[r]);n.length=0,this._currentTarget===i?this._currentTargetSalvaged=!0:this._removeHashElement(i)}this.unscheduleUpdate(t)}},unscheduleAll:function(){this.unscheduleAllWithMinPriority(cc.Scheduler.PRIORITY_SYSTEM)},unscheduleAllWithMinPriority:function(t){var e,i,n,r=this._arrayForTimers;for(e=r.length-1;e>=0;e--)i=r[e],this.unscheduleAllForTarget(i.target);var s=0;if(t<0)for(e=0;e<this._updatesNegList.length;)s=this._updatesNegList.length,(n=this._updatesNegList[e])&&n.priority>=t&&this.unscheduleUpdate(n.target),s==this._updatesNegList.length&&e++;if(t<=0)for(e=0;e<this._updates0List.length;)s=this._updates0List.length,(n=this._updates0List[e])&&this.unscheduleUpdate(n.target),s==this._updates0List.length&&e++;for(e=0;e<this._updatesPosList.length;)s=this._updatesPosList.length,(n=this._updatesPosList[e])&&n.priority>=t&&this.unscheduleUpdate(n.target),s==this._updatesPosList.length&&e++},isScheduled:function(t,e){cc.assertID(t,1508),cc.assertID(e,1509);var i=e._id;i||(e.__instanceId?(cc.warnID(1513),i=e._id=e.__instanceId):cc.errorID(1510));var n=this._hashForTimers[i];if(!n)return!1;if(null==n.timers)return!1;for(var r=n.timers,s=0;s<r.length;++s){if(t===r[s]._callback)return!0}return!1},pauseAllTargets:function(){return this.pauseAllTargetsWithMinPriority(cc.Scheduler.PRIORITY_SYSTEM)},pauseAllTargetsWithMinPriority:function(t){var e,i,n,r,s=[],o=this._arrayForTimers;for(i=0,n=o.length;i<n;i++)(e=o[i])&&(e.paused=!0,s.push(e.target));if(t<0)for(i=0;i<this._updatesNegList.length;i++)(r=this._updatesNegList[i])&&r.priority>=t&&(r.paused=!0,s.push(r.target));if(t<=0)for(i=0;i<this._updates0List.length;i++)(r=this._updates0List[i])&&(r.paused=!0,s.push(r.target));for(i=0;i<this._updatesPosList.length;i++)(r=this._updatesPosList[i])&&r.priority>=t&&(r.paused=!0,s.push(r.target));return s},resumeTargets:function(t){if(t)for(var e=0;e<t.length;e++)this.resumeTarget(t[e])},pauseTarget:function(t){cc.assertID(t,1503);var e=t._id;e||(t.__instanceId?(cc.warnID(1513),e=t._id=t.__instanceId):cc.errorID(1510));var i=this._hashForTimers[e];i&&(i.paused=!0);var n=this._hashForUpdates[e];n&&(n.entry.paused=!0)},resumeTarget:function(t){cc.assertID(t,1504);var e=t._id;e||(t.__instanceId?(cc.warnID(1513),e=t._id=t.__instanceId):cc.errorID(1510));var i=this._hashForTimers[e];i&&(i.paused=!1);var n=this._hashForUpdates[e];n&&(n.entry.paused=!1)},isTargetPaused:function(t){cc.assertID(t,1505);var e=t._id;e||(t.__instanceId?(cc.warnID(1513),e=t._id=t.__instanceId):cc.errorID(1510));var i=this._hashForTimers[e];if(i)return i.paused;var n=this._hashForUpdates[e];return!!n&&n.entry.paused}},cc.Scheduler.PRIORITY_SYSTEM=1<<31,cc.Scheduler.PRIORITY_NON_SYSTEM=cc.Scheduler.PRIORITY_SYSTEM+1,e.exports=cc.Scheduler}),{"./platform/id-generater":176,"./platform/js":180}],34:[(function(t,e,i){"use strict";var n=t("./CCRawAsset");cc.Asset=cc.Class({name:"cc.Asset",extends:n,ctor:function(){this.loaded=!0,this.url=""},properties:{nativeUrl:{get:function(){if(this._native){var t=this._native;if(47===t.charCodeAt(0))return t.slice(1);if(cc.AssetLibrary){var e=cc.AssetLibrary.getLibUrlNoExt(this._uuid,!0);return 46===t.charCodeAt(0)?e+t:e+"/"+t}cc.errorID(6400)}return""},visible:!1},_native:"",_nativeAsset:{get:function(){return this._$nativeAsset},set:function(t){this._$nativeAsset=t}}},statics:{deserialize:!1,preventDeferredLoadDependents:!1,preventPreloadNativeObject:!1},toString:function(){return this.nativeUrl},serialize:!1,createNode:null,_setRawAsset:function(t,e){this._native=!1!==e?t||void 0:"/"+t}}),e.exports=cc.Asset}),{"./CCRawAsset":43}],35:[(function(t,e,i){"use strict";var n=t("./CCAsset"),r=t("../event/event-target"),s=cc.Enum({WEB_AUDIO:0,DOM_AUDIO:1}),o=cc.Class({name:"cc.AudioClip",extends:n,mixins:[r],ctor:function(){this.loaded=!1,this._audio=null},properties:{loadMode:{default:s.WEB_AUDIO,type:s},_nativeAsset:{get:function(){return this._audio},set:function(t){t instanceof cc.AudioClip?this._audio=t._nativeAsset:this._audio=t,this._audio&&(this.loaded=!0,this.emit("load"))},override:!0}},statics:{LoadMode:s,_loadByUrl:function(t,e){var i=cc.loader.getItem(t)||cc.loader.getItem(t+"?useDom=1");i&&i.complete?i._owner instanceof o?e(null,i._owner):e(null,i.content):cc.loader.load(t,(function(n,r){if(n)return e(n);i=cc.loader.getItem(t)||cc.loader.getItem(t+"?useDom=1"),e(null,i.content)}))}},destroy:function(){cc.audioEngine.uncache(this),this._super()}});cc.AudioClip=o,e.exports=o}),{"../event/event-target":98,"./CCAsset":34}],36:[(function(t,e,i){"use strict";var n=function(){this.u=0,this.v=0,this.w=0,this.h=0,this.offsetX=0,this.offsetY=0,this.textureID=0,this.valid=!1,this.xAdvance=0},r=function(t){this._letterDefinitions={},this._texture=t};r.prototype={constructor:r,addLetterDefinitions:function(t,e){this._letterDefinitions[t]=e},cloneLetterDefinition:function(){var t={};for(var e in this._letterDefinitions){var i=new n;cc.js.mixin(i,this._letterDefinitions[e]),t[e]=i}return t},getTexture:function(){return this._texture},getLetter:function(t){return this._letterDefinitions[t]},getLetterDefinitionForChar:function(t){var e=t.charCodeAt(0);return this._letterDefinitions.hasOwnProperty(e)?this._letterDefinitions[e]:null},clear:function(){this._letterDefinitions={}}};var s=cc.Class({name:"cc.BitmapFont",extends:cc.Font,properties:{fntDataStr:{default:""},spriteFrame:{default:null,type:cc.SpriteFrame},fontSize:{default:-1},_fntConfig:null,_fontDefDictionary:null},onLoad:function(){var t=this.spriteFrame;!this._fontDefDictionary&&t&&(this._fontDefDictionary=new r(t._texture));var e=this._fntConfig;if(e){var i=e.fontDefDictionary;for(var s in i){var o=new n,a=i[s].rect;o.offsetX=i[s].xOffset,o.offsetY=i[s].yOffset,o.w=a.width,o.h=a.height,o.u=a.x,o.v=a.y,o.textureID=0,o.valid=!0,o.xAdvance=i[s].xAdvance,this._fontDefDictionary.addLetterDefinitions(s,o)}}}});cc.BitmapFont=s,cc.BitmapFont.FontLetterDefinition=n,cc.BitmapFont.FontAtlas=r,e.exports=s}),{}],37:[(function(t,e,i){"use strict";var n=cc.Class({name:"cc.BufferAsset",extends:cc.Asset,ctor:function(){this._buffer=null},properties:{_nativeAsset:{get:function(){return this._buffer},set:function(t){this._buffer=t.buffer||t},override:!0},buffer:function(){return this._buffer}}});cc.BufferAsset=e.exports=n}),{}],38:[(function(t,e,i){"use strict";var n=t("./CCAsset"),r=t("../../renderer/core/effect"),s=cc.Class({name:"cc.EffectAsset",extends:n,ctor:function(){this._effect=null},properties:{properties:Object,techniques:[],shaders:[]},onLoad:function(){if(cc.game.renderType!==cc.game.RENDER_TYPE_CANVAS){for(var t=cc.renderer._forward._programLib,e=0;e<this.shaders.length;e++)t.define(this.shaders[e]);this._initEffect()}},_initEffect:function(){this._effect||(this._effect=r.parseEffect(this))},getInstantiatedEffect:function(){return this._initEffect(),this._effect.clone()}});e.exports=cc.EffectAsset=s}),{"../../renderer/core/effect":297,"./CCAsset":34}],39:[(function(t,e,i){"use strict";var n=cc.Class({name:"cc.Font",extends:cc.Asset});cc.Font=e.exports=n}),{}],40:[(function(t,e,i){"use strict";var n=cc.Class({name:"cc.JsonAsset",extends:cc.Asset,properties:{json:null}});e.exports=cc.JsonAsset=n}),{}],41:[(function(t,e,i){"use strict";var n=cc.Class({name:"cc.LabelAtlas",extends:cc.BitmapFont,onLoad:function(){this.spriteFrame?this._fntConfig?this._super():cc.warnID(9101,this.name):cc.warnID(9100,this.name)}});cc.LabelAtlas=n,e.exports=n}),{}],42:[(function(t,e,i){"use strict";var n=cc.Enum({AUTO:0,SINGLE_INSTANCE:1,MULTI_INSTANCE:2}),r=cc.Class({name:"cc.Prefab",extends:cc.Asset,ctor:function(){this._createFunction=null,this._instantiatedTimes=0},properties:{data:null,optimizationPolicy:n.AUTO,asyncLoadAssets:!1,readonly:{default:!1,editorOnly:!0}},statics:{OptimizationPolicy:n,OptimizationPolicyThreshold:3},createNode:!1,compileCreateFunction:function(){var e=t("../platform/instantiate-jit");this._createFunction=e.compile(this.data)},_doInstantiate:function(t){return this.data._prefab?this.data._prefab._synced=!0:cc.warnID(3700),this._createFunction||this.compileCreateFunction(),this._createFunction(t)},_instantiate:function(){var t;return this.optimizationPolicy!==n.SINGLE_INSTANCE&&(this.optimizationPolicy===n.MULTI_INSTANCE||this._instantiatedTimes+1>=r.OptimizationPolicyThreshold)?(t=this._doInstantiate(),this.data._instantiate(t)):(this.data._prefab._synced=!0,t=this.data._instantiate()),++this._instantiatedTimes,t},destroy:function(){this.data&&this.data.destroy(),this._super()}});cc.Prefab=e.exports=r,cc.js.obsolete(cc,"cc._Prefab","Prefab")}),{"../platform/instantiate-jit":178}],43:[(function(t,e,i){"use strict";var n=t("../platform/CCObject"),r=t("../platform/js");cc.RawAsset=cc.Class({name:"cc.RawAsset",extends:n,ctor:function(){Object.defineProperty(this,"_uuid",{value:"",writable:!0})}}),r.value(cc.RawAsset,"isRawAssetType",(function(t){return r.isChildClassOf(t,cc.RawAsset)&&!r.isChildClassOf(t,cc.Asset)})),r.value(cc.RawAsset,"wasRawAssetType",(function(t){return t===cc.Texture2D||t===cc.AudioClip||t===cc.ParticleAsset||t===cc.Asset})),e.exports=cc.RawAsset}),{"../platform/CCObject":166,"../platform/js":180}],44:[(function(t,e,i){"use strict";var n=(function(t){return t&&t.__esModule?t:{default:t}})(t("../../renderer/gfx"));var r=t("../renderer"),s=t("./CCTexture2D"),o=cc.Class({name:"cc.RenderTexture",extends:s,ctor:function(){this._framebuffer=null},initWithSize:function(t,e,i){this.width=Math.floor(t||cc.visibleRect.width),this.height=Math.floor(e||cc.visibleRect.height),this._resetUnderlyingMipmaps();var s={colors:[this._texture]};this._depthStencilBuffer&&this._depthStencilBuffer.destroy();var o=void 0;i&&(o=new n.default.RenderBuffer(r.device,i,t,e),i===n.default.RB_FMT_D24S8?s.depthStencil=o:i===n.default.RB_FMT_S8?s.stencil=o:i===n.default.RB_FMT_D16&&(s.depth=o)),this._depthStencilBuffer=o,this._framebuffer&&this._framebuffer.destroy(),this._framebuffer=new n.default.FrameBuffer(r.device,t,e,s),this._packable=!1,this.loaded=!0,this.emit("load")},updateSize:function(t,e){this.width=Math.floor(t||cc.visibleRect.width),this.height=Math.floor(e||cc.visibleRect.height),this._resetUnderlyingMipmaps();var i=this._depthStencilBuffer;i&&i.update(this.width,this.height),this._framebuffer._width=t,this._framebuffer._height=e},drawTextureAt:function(t,e,i){t._image&&this._texture.updateSubImage({x:e,y:i,image:t._image,width:t.width,height:t.height,level:0,flipY:!1,premultiplyAlpha:t._premultiplyAlpha})},readPixels:function(t,e,i,n,r){if(!this._framebuffer||!this._texture)return t;e=e||0,i=i||0;var s=n||this.width,o=r||this.height;t=t||new Uint8Array(s*o*4);var a=cc.game._renderContext,c=a.getParameter(a.FRAMEBUFFER_BINDING);return a.bindFramebuffer(a.FRAMEBUFFER,this._framebuffer.getHandle()),a.readPixels(e,i,s,o,a.RGBA,a.UNSIGNED_BYTE,t),a.bindFramebuffer(a.FRAMEBUFFER,c),t},destroy:function(){this._super(),this._framebuffer&&(this._framebuffer.destroy(),this._framebuffer=null)}});cc.RenderTexture=e.exports=o}),{"../../renderer/gfx":308,"../renderer":207,"./CCTexture2D":51}],45:[(function(t,e,i){"use strict";var n=cc.Class({name:"cc.SceneAsset",extends:cc.Asset,properties:{scene:null,asyncLoadAssets:void 0}});cc.SceneAsset=n,e.exports=n}),{}],46:[(function(t,e,i){"use strict";var n=cc.Class({name:"cc.Script",extends:cc.Asset});cc._Script=n;var r=cc.Class({name:"cc.JavaScript",extends:n});cc._JavaScript=r;var s=cc.Class({name:"cc.CoffeeScript",extends:n});cc._CoffeeScript=s;var o=cc.Class({name:"cc.TypeScript",extends:n});cc._TypeScript=o}),{}],47:[(function(t,e,i){"use strict";var n=cc.Class({name:"cc.SpriteAtlas",extends:cc.Asset,properties:{_spriteFrames:{default:{}}},getTexture:function(){var t=Object.keys(this._spriteFrames);if(t.length>0){var e=this._spriteFrames[t[0]];return e?e.getTexture():null}return null},getSpriteFrame:function(t){var e=this._spriteFrames[t];return e?(e.name||(e.name=t),e):null},getSpriteFrames:function(){var t=[],e=this._spriteFrames;for(var i in e)t.push(this.getSpriteFrame(i));return t}});cc.SpriteAtlas=n,e.exports=n}),{}],48:[(function(t,e,i){"use strict";var n=t("../event/event-target"),r=t("../utils/texture-util"),s=[{u:0,v:0},{u:0,v:0},{u:0,v:0},{u:0,v:0}],o=cc.Class({name:"cc.SpriteFrame",extends:t("../assets/CCAsset"),mixins:[n],properties:{_textureSetter:{set:function(t){t&&(this._texture!==t&&this._refreshTexture(t),this._textureFilename=t.url)}},insetTop:{get:function(){return this._capInsets[1]},set:function(t){this._capInsets[1]=t,this._texture&&this._calculateSlicedUV()}},insetBottom:{get:function(){return this._capInsets[3]},set:function(t){this._capInsets[3]=t,this._texture&&this._calculateSlicedUV()}},insetLeft:{get:function(){return this._capInsets[0]},set:function(t){this._capInsets[0]=t,this._texture&&this._calculateSlicedUV()}},insetRight:{get:function(){return this._capInsets[2]},set:function(t){this._capInsets[2]=t,this._texture&&this._calculateSlicedUV()}}},ctor:function(){n.call(this);var t=arguments[0],e=arguments[1],i=arguments[2],r=arguments[3],s=arguments[4];this._rect=null,this.uv=[],this._texture=null,this._original=null,this._offset=null,this._originalSize=null,this._rotated=!1,this.vertices=null,this._capInsets=[0,0,0,0],this.uvSliced=[],this._textureFilename="",void 0!==t&&this.setTexture(t,e,i,r,s)},textureLoaded:function(){return this._texture&&this._texture.loaded},isRotated:function(){return this._rotated},setRotated:function(t){this._rotated=t,this._texture&&this._calculateUV()},getRect:function(){return cc.rect(this._rect)},setRect:function(t){this._rect=t,this._texture&&this._calculateUV()},getOriginalSize:function(){return cc.size(this._originalSize)},setOriginalSize:function(t){this._originalSize?(this._originalSize.width=t.width,this._originalSize.height=t.height):this._originalSize=cc.size(t)},getTexture:function(){return this._texture},_textureLoadedCallback:function(){var t=this._texture;if(t){var e=t.width,i=t.height;this._rect?this._checkRect(this._texture):this._rect=cc.rect(0,0,e,i),this._originalSize||this.setOriginalSize(cc.size(e,i)),this._offset||this.setOffset(cc.v2(0,0)),this._calculateUV(),this.emit("load")}},_refreshTexture:function(t){this._texture=t,t.loaded?this._textureLoadedCallback():t.once("load",this._textureLoadedCallback,this)},getOffset:function(){return cc.v2(this._offset)},setOffset:function(t){this._offset=cc.v2(t)},clone:function(){return new o(this._texture||this._textureFilename,this._rect,this._rotated,this._offset,this._originalSize)},setTexture:function(t,e,i,n,r){this._rect=e||null,n?this.setOffset(n):this._offset=null,r?this.setOriginalSize(r):this._originalSize=null,this._rotated=i||!1;var s=t;return"string"==typeof s&&s&&(this._textureFilename=s,this._loadTexture()),s instanceof cc.Texture2D&&this._texture!==s&&this._refreshTexture(s),!0},_loadTexture:function(){if(this._textureFilename){var t=r.loadImage(this._textureFilename);this._refreshTexture(t)}},ensureLoadTexture:function(){this._texture?this._texture.loaded||(this._refreshTexture(this._texture),r.postLoadTexture(this._texture)):this._textureFilename&&this._loadTexture()},_checkRect:function(t){var e=this._rect,i=e.x,n=e.y;this._rotated?(i+=e.height,n+=e.width):(i+=e.width,n+=e.height),i>t.width&&cc.errorID(3300,t.url+"/"+this.name,i,t.width),n>t.height&&cc.errorID(3400,t.url+"/"+this.name,n,t.height)},_calculateSlicedUV:function(){var t=this._rect,e=this._texture.width,i=this._texture.height,n=this._capInsets[0],r=this._capInsets[2],o=t.width-n-r,a=this._capInsets[1],c=this._capInsets[3],l=t.height-a-c,h=this.uvSliced;if(h.length=0,this._rotated){s[0].u=t.x/e,s[1].u=(t.x+c)/e,s[2].u=(t.x+c+l)/e,s[3].u=(t.x+t.height)/e,s[3].v=t.y/i,s[2].v=(t.y+n)/i,s[1].v=(t.y+n+o)/i,s[0].v=(t.y+t.width)/i;for(var u=0;u<4;++u)for(var _=s[u],f=0;f<4;++f){var d=s[3-f];h.push({u:_.u,v:d.v})}}else{s[0].u=t.x/e,s[1].u=(t.x+n)/e,s[2].u=(t.x+n+o)/e,s[3].u=(t.x+t.width)/e,s[3].v=t.y/i,s[2].v=(t.y+a)/i,s[1].v=(t.y+a+l)/i,s[0].v=(t.y+t.height)/i;for(var p=0;p<4;++p)for(var m=s[p],y=0;y<4;++y){var v=s[y];h.push({u:v.u,v:m.v})}}},_setDynamicAtlasFrame:function(t){t&&(this._original={_texture:this._texture,_x:this._rect.x,_y:this._rect.y},this._texture=t.texture,this._rect.x=t.x,this._rect.y=t.y,this._calculateUV())},_resetDynamicAtlasFrame:function(){this._original&&(this._rect.x=this._original._x,this._rect.y=this._original._y,this._texture=this._original._texture,this._original=null,this._calculateUV())},_calculateUV:function(){var t=this._rect,e=this._texture,i=this.uv,n=e.width,r=e.height;if(this._rotated){var s=0===n?0:t.x/n,o=0===n?0:(t.x+t.height)/n,a=0===r?0:(t.y+t.width)/r,c=0===r?0:t.y/r;i[0]=s,i[1]=c,i[2]=s,i[3]=a,i[4]=o,i[5]=c,i[6]=o,i[7]=a}else{var l=0===n?0:t.x/n,h=0===n?0:(t.x+t.width)/n,u=0===r?0:(t.y+t.height)/r,_=0===r?0:t.y/r;i[0]=l,i[1]=u,i[2]=h,i[3]=u,i[4]=l,i[5]=_,i[6]=h,i[7]=_}var f=this.vertices;if(f){f.nu.length=0,f.nv.length=0;for(var d=0;d<f.u.length;d++)f.nu[d]=f.u[d]/n,f.nv[d]=f.v[d]/r}this._calculateSlicedUV()},_serialize:!1,_deserialize:function(t,e){var i=t.rect;i&&(this._rect=new cc.Rect(i[0],i[1],i[2],i[3])),t.offset&&this.setOffset(new cc.Vec2(t.offset[0],t.offset[1])),t.originalSize&&this.setOriginalSize(new cc.Size(t.originalSize[0],t.originalSize[1])),this._rotated=1===t.rotated,this._name=t.name;var n=t.capInsets;n&&(this._capInsets[0]=n[0],this._capInsets[1]=n[1],this._capInsets[2]=n[2],this._capInsets[3]=n[3]),this.vertices=t.vertices,this.vertices&&(this.vertices.nu=[],this.vertices.nv=[]);var r=t.texture;r&&e.result.push(this,"_textureSetter",r)}}),a=o.prototype;a.copyWithZone=a.clone,a.copy=a.clone,a.initWithTexture=a.setTexture,cc.SpriteFrame=o,e.exports=o}),{"../assets/CCAsset":34,"../event/event-target":98,"../utils/texture-util":256}],49:[(function(t,e,i){"use strict";var n=t("./CCFont"),r=cc.Class({name:"cc.TTFFont",extends:n,properties:{_fontFamily:null,_nativeAsset:{type:cc.String,get:function(){return this._fontFamily},set:function(t){this._fontFamily=t||"Arial"},override:!0}}});cc.TTFFont=e.exports=r}),{"./CCFont":39}],50:[(function(t,e,i){"use strict";var n=cc.Class({name:"cc.TextAsset",extends:cc.Asset,properties:{text:""},toString:function(){return this.text}});e.exports=cc.TextAsset=n}),{}],51:[(function(t,e,i){"use strict";var n=(function(t){return t&&t.__esModule?t:{default:t}})(t("../../renderer/gfx"));var r=t("../event/event-target"),s=t("../renderer");t("../platform/CCClass");var o=new(t("../platform/id-generater"))("Tex"),a=1024,c=cc.Enum({RGB565:n.default.TEXTURE_FMT_R5_G6_B5,RGB5A1:n.default.TEXTURE_FMT_R5_G5_B5_A1,RGBA4444:n.default.TEXTURE_FMT_R4_G4_B4_A4,RGB888:n.default.TEXTURE_FMT_RGB8,RGBA8888:n.default.TEXTURE_FMT_RGBA8,RGBA32F:n.default.TEXTURE_FMT_RGBA32F,A8:n.default.TEXTURE_FMT_A8,I8:n.default.TEXTURE_FMT_L8,AI8:n.default.TEXTURE_FMT_L8_A8,RGB_PVRTC_2BPPV1:n.default.TEXTURE_FMT_RGB_PVRTC_2BPPV1,RGBA_PVRTC_2BPPV1:n.default.TEXTURE_FMT_RGBA_PVRTC_2BPPV1,RGB_A_PVRTC_2BPPV1:a++,RGB_PVRTC_4BPPV1:n.default.TEXTURE_FMT_RGB_PVRTC_4BPPV1,RGBA_PVRTC_4BPPV1:n.default.TEXTURE_FMT_RGBA_PVRTC_4BPPV1,RGB_A_PVRTC_4BPPV1:a++,RGB_ETC1:n.default.TEXTURE_FMT_RGB_ETC1,RGBA_ETC1:a++,RGB_ETC2:n.default.TEXTURE_FMT_RGB_ETC2,RGBA_ETC2:n.default.TEXTURE_FMT_RGBA_ETC2}),l=cc.Enum({REPEAT:10497,CLAMP_TO_EDGE:33071,MIRRORED_REPEAT:33648}),h=cc.Enum({LINEAR:9729,NEAREST:9728}),u={9728:0,9729:1},_=[],f={width:void 0,height:void 0,minFilter:void 0,magFilter:void 0,wrapS:void 0,wrapT:void 0,format:void 0,genMipmaps:void 0,images:void 0,image:void 0,flipY:void 0,premultiplyAlpha:void 0};function d(){for(var t in f)f[t]=void 0;return _.length=0,f.images=_,f.flipY=!1,f}var p=cc.Class({name:"cc.Texture2D",extends:t("../assets/CCAsset"),mixins:[r],properties:{_nativeAsset:{get:function(){return this._image},set:function(t){t._compressed&&t._data?this.initWithData(t._data,this._format,t.width,t.height):this.initWithElement(t)},override:!0},_format:c.RGBA8888,_premultiplyAlpha:!1,_flipY:!1,_minFilter:h.LINEAR,_magFilter:h.LINEAR,_mipFilter:h.LINEAR,_wrapS:l.CLAMP_TO_EDGE,_wrapT:l.CLAMP_TO_EDGE,_genMipmaps:!1,genMipmaps:{get:function(){return this._genMipmaps},set:function(t){if(this._genMipmaps!==t){var e=d();e.genMipmaps=t,this.update(e)}}},_packable:!0,packable:{get:function(){return this._packable},set:function(t){this._packable=t}}},statics:{PixelFormat:c,WrapMode:l,Filter:h,_FilterIndex:u,extnames:[".png",".jpg",".jpeg",".bmp",".webp",".pvr",".pkm"]},ctor:function(){this._id=o.getNewId(),this.loaded=!1,this.width=0,this.height=0,this._hashDirty=!0,this._hash=0,this._texture=null},getImpl:function(){return this._texture},getId:function(){return this._id},toString:function(){return this.url||""},update:function(t){if(t){var e=!1;void 0!==t.width&&(this.width=t.width),void 0!==t.height&&(this.height=t.height),void 0!==t.minFilter&&(this._minFilter=t.minFilter,t.minFilter=u[t.minFilter]),void 0!==t.magFilter&&(this._magFilter=t.magFilter,t.magFilter=u[t.magFilter]),void 0!==t.mipFilter&&(this._mipFilter=t.mipFilter,t.mipFilter=u[t.mipFilter]),void 0!==t.wrapS&&(this._wrapS=t.wrapS),void 0!==t.wrapT&&(this._wrapT=t.wrapT),void 0!==t.format&&(this._format=t.format),void 0!==t.flipY&&(this._flipY=t.flipY,e=!0),void 0!==t.premultiplyAlpha&&(this._premultiplyAlpha=t.premultiplyAlpha,e=!0),void 0!==t.genMipmaps&&(this._genMipmaps=t.genMipmaps),e&&this._image&&(t.image=this._image),t.images&&t.images.length>0?this._image=t.images[0]:void 0!==t.image&&(this._image=t.image,t.images||(_.length=0,t.images=_),t.images.push(t.image)),t.images&&t.images.length>0&&this._texture.update(t),this._hashDirty=!0}},initWithElement:function(t){if(t)if(this._image=t,t.complete||t instanceof HTMLCanvasElement)this.handleLoadedTexture();else{var e=this;t.addEventListener("load",(function(){e.handleLoadedTexture()})),t.addEventListener("error",(function(t){cc.warnID(3119,t.message)}))}},initWithData:function(t,e,i,n){var r=d();return r.image=t,r.images=[r.image],r.genMipmaps=this._genMipmaps,r.premultiplyAlpha=this._premultiplyAlpha,r.flipY=this._flipY,r.minFilter=u[this._minFilter],r.magFilter=u[this._magFilter],r.wrapS=this._wrapS,r.wrapT=this._wrapT,r.format=this._getGFXPixelFormat(e),r.width=i,r.height=n,this._texture?this._texture.update(r):this._texture=new s.Texture2D(s.device,r),this.width=i,this.height=n,this._checkPackable(),this.loaded=!0,this.emit("load"),!0},getHtmlElementObj:function(){return this._image},destroy:function(){this._image=null,this._texture&&this._texture.destroy(),this._super()},getPixelFormat:function(){return this._format},hasPremultipliedAlpha:function(){return this._premultiplyAlpha||!1},handleLoadedTexture:function(){if(this._image&&this._image.width&&this._image.height){this.width=this._image.width,this.height=this._image.height;var t=d();t.image=this._image,t.images=[t.image],t.width=this.width,t.height=this.height,t.genMipmaps=this._genMipmaps,t.format=this._getGFXPixelFormat(this._format),t.premultiplyAlpha=this._premultiplyAlpha,t.flipY=this._flipY,t.minFilter=u[this._minFilter],t.magFilter=u[this._magFilter],t.wrapS=this._wrapS,t.wrapT=this._wrapT,this._texture?this._texture.update(t):this._texture=new s.Texture2D(s.device,t),this._checkPackable(),this.loaded=!0,this.emit("load"),cc.macro.CLEANUP_IMAGE_CACHE&&this._image instanceof HTMLImageElement&&this._clearImage()}},description:function(){return"<cc.Texture2D | Name = "+this.url+" | Dimensions = "+this.width+" x "+this.height+">"},releaseTexture:function(){this._image=null,this._texture&&this._texture.destroy()},setWrapMode:function(t,e){if(this._wrapS!==t||this._wrapT!==e){var i=d();i.wrapS=t,i.wrapT=e,this.update(i)}},setFilters:function(t,e){if(this._minFilter!==t||this._magFilter!==e){var i=d();i.minFilter=t,i.magFilter=e,this.update(i)}},setFlipY:function(t){if(this._flipY!==t){var e=d();e.flipY=t,this.update(e)}},setPremultiplyAlpha:function(t){if(this._premultiplyAlpha!==t){var e=d();e.premultiplyAlpha=t,this.update(e)}},_checkPackable:function(){var t=cc.dynamicAtlasManager;if(t)if(this._isCompressed())this._packable=!1;else{var e=this.width,i=this.height;!this._image||e>t.maxFrameSize||i>t.maxFrameSize||e<=t.minFrameSize||i<=t.minFrameSize||this._getHash()!==t.Atlas.DEFAULT_HASH?this._packable=!1:this._image&&this._image instanceof HTMLCanvasElement&&(this._packable=!0)}},_getOpts:function(){var t=d();return t.width=this.width,t.height=this.height,t.genMipmaps=this._genMipmaps,t.format=this._format,t.premultiplyAlpha=this._premultiplyAlpha,t.anisotropy=this._anisotropy,t.flipY=this._flipY,t.minFilter=u[this._minFilter],t.magFilter=u[this._magFilter],t.mipFilter=u[this._mipFilter],t.wrapS=this._wrapS,t.wrapT=this._wrapT,t},_getGFXPixelFormat:function(t){return t===c.RGBA_ETC1?t=c.RGB_ETC1:t===c.RGB_A_PVRTC_4BPPV1?t=c.RGB_PVRTC_4BPPV1:t===c.RGB_A_PVRTC_2BPPV1&&(t=c.RGB_PVRTC_2BPPV1),t},_resetUnderlyingMipmaps:function(t){var e=this._getOpts();e.images=t||[null],this._texture?this._texture.update(e):this._texture=new s.Texture2D(s.device,e)},_serialize:!1,_deserialize:function(t,e){var i=cc.renderer.device,n=t.split(","),r=n[0];if(r){for(var s=r.split("_"),o="",a="",l=999,h=this._format,u=cc.macro.SUPPORT_TEXTURE_FORMATS,_=0;_<s.length;_++){var f=s[_].split("@"),d=f[0];d=p.extnames[d.charCodeAt(0)-48]||d;var m=u.indexOf(d);if(-1!==m&&m<l){var y=f[1]?parseInt(f[1]):this._format;if(".pvr"===d&&!i.ext("WEBGL_compressed_texture_pvrtc"))continue;if(!(y!==c.RGB_ETC1&&y!==c.RGBA_ETC1||i.ext("WEBGL_compressed_texture_etc1")))continue;if(!(y!==c.RGB_ETC2&&y!==c.RGBA_ETC2||i.ext("WEBGL_compressed_texture_etc")))continue;if(".webp"===d&&!cc.sys.capabilities.webp)continue;l=m,a=d,h=y}else o||(o=d)}a?(this._setRawAsset(a),this._format=h):(this._setRawAsset(o),cc.warnID(3120,e.customEnv.url,o,o))}8===n.length&&(this._minFilter=parseInt(n[1]),this._magFilter=parseInt(n[2]),this._wrapS=parseInt(n[3]),this._wrapT=parseInt(n[4]),this._premultiplyAlpha=49===n[5].charCodeAt(0),this._genMipmaps=49===n[6].charCodeAt(0),this._packable=49===n[7].charCodeAt(0))},_getHash:function(){if(!this._hashDirty)return this._hash;var t=this._genMipmaps?1:0,e=this._premultiplyAlpha?1:0,i=this._flipY?1:0,n=this._minFilter===h.LINEAR?1:2,r=this._magFilter===h.LINEAR?1:2,s=this._wrapS===l.REPEAT?1:this._wrapS===l.CLAMP_TO_EDGE?2:3,o=this._wrapT===l.REPEAT?1:this._wrapT===l.CLAMP_TO_EDGE?2:3,a=this._format;this._image;return this._hash=Number(""+n+r+a+s+o+t+e+i),this._hashDirty=!1,this._hash},_isCompressed:function(){return this._texture&&this._texture._compressed},_clearImage:function(){cc.loader.removeItem(this._image.id||this._image.src),this._image.src=""}});cc.Texture2D=e.exports=p}),{"../../renderer/gfx":308,"../assets/CCAsset":34,"../event/event-target":98,"../platform/CCClass":160,"../platform/id-generater":176,"../renderer":207}],52:[(function(t,e,i){"use strict";t("./CCRawAsset"),t("./CCAsset"),t("./CCFont"),t("./CCPrefab"),t("./CCAudioClip"),t("./CCScripts"),t("./CCSceneAsset"),t("./CCSpriteFrame"),t("./CCTexture2D"),t("./CCRenderTexture"),t("./CCTTFFont"),t("./CCSpriteAtlas"),t("./CCBitmapFont"),t("./CCLabelAtlas"),t("./CCTextAsset"),t("./CCJsonAsset"),t("./CCBufferAsset"),t("./CCEffectAsset"),t("./material/CCMaterial")}),{"./CCAsset":34,"./CCAudioClip":35,"./CCBitmapFont":36,"./CCBufferAsset":37,"./CCEffectAsset":38,"./CCFont":39,"./CCJsonAsset":40,"./CCLabelAtlas":41,"./CCPrefab":42,"./CCRawAsset":43,"./CCRenderTexture":44,"./CCSceneAsset":45,"./CCScripts":46,"./CCSpriteAtlas":47,"./CCSpriteFrame":48,"./CCTTFFont":49,"./CCTextAsset":50,"./CCTexture2D":51,"./material/CCMaterial":53}],53:[(function(t,e,i){"use strict";var n=s(t("../../../renderer/murmurhash2_gc")),r=s(t("./utils"));function s(t){return t&&t.__esModule?t:{default:t}}var o=t("../CCAsset"),a=t("../CCTexture2D"),c=a.PixelFormat,l=t("../CCEffectAsset"),h=t("../../utils/texture-util"),u=cc.Class({name:"cc.Material",extends:o,ctor:function(){this._manualHash=!1,this._dirty=!0,this._effect=null,this._owner=null,this._hash=0},properties:{_effectAsset:{type:l,default:null},_defines:{default:{},type:Object},_props:{default:{},type:Object},effectName:void 0,effectAsset:{get:function(){return this._effectAsset},set:function(t){cc.game.renderType!==cc.game.RENDER_TYPE_CANVAS&&(this._effectAsset=t,t?this._effect=this._effectAsset.getInstantiatedEffect():cc.error("Can not set an empty effect asset."))}},effect:{get:function(){return this._effect}},owner:{get:function(){return this._owner}}},statics:{getBuiltinMaterial:function(t){return cc.AssetLibrary.getBuiltin("material","builtin-"+t)},getInstantiatedBuiltinMaterial:function(t,e){var i=this.getBuiltinMaterial(t);return u.getInstantiatedMaterial(i,e)},getInstantiatedMaterial:function(t,e){if(t._owner===e)return t;var i=new u;return i.copy(t),i._name=t._name+" (Instance)",i._uuid=t._uuid,i._owner=e,i}},copy:function(t){for(var e in this.effectAsset=t.effectAsset,t._defines)this.define(e,t._defines[e]);for(var i in t._props)this.setProperty(i,t._props[i])},setProperty:function(t,e,i){if((this._props[t]!==e||i)&&(this._props[t]=e,this._dirty=!0,this._effect))if(e instanceof a){var n=function(){this._effect.setProperty(t,e);var i=e.getPixelFormat();i!==c.RGBA_ETC1&&i!==c.RGB_A_PVRTC_4BPPV1&&i!==c.RGB_A_PVRTC_2BPPV1||this.define("CC_USE_ALPHA_ATLAS_"+t.toUpperCase(),!0)};e.loaded?n.call(this):(e.once("load",n,this),h.postLoadTexture(e))}else this._effect.setProperty(t,e)},getProperty:function(t){return this._props[t]},define:function(t,e,i){(this._defines[t]!==e||i)&&(this._defines[t]=e,this._dirty=!0,this._effect&&this._effect.define(t,e))},getDefine:function(t){return this._defines[t]},setDirty:function(t){this._dirty=t},updateHash:function(t){void 0===t||null===t?t=this.computeHash():this._manualHash=!0,this._dirty=!1,this._hash=t,this._effect&&this._effect.updateHash(this._hash)},computeHash:function(){var t=this._effect,e="";return t&&(e+=r.default.serializeDefines(t._defines),e+=r.default.serializeTechniques(t._techniques),e+=r.default.serializeUniforms(t._properties)),(0,n.default)(e,666)},getHash:function(){return this._dirty?(this._manualHash||this.updateHash(),this._dirty=!1,this._hash):this._hash},onLoad:function(){if(this.effectAsset=this._effectAsset,this._effect){for(var t in this._defines)this.define(t,this._defines[t],!0);for(var e in this._props)this.setProperty(e,this._props[e],!0)}}});e.exports=cc.Material=u}),{"../../../renderer/murmurhash2_gc":326,"../../utils/texture-util":256,"../CCAsset":34,"../CCEffectAsset":38,"../CCTexture2D":51,"./utils":54}],54:[(function(t,e,i){"use strict";i.__esModule=!0;var n=(function(t){return t&&t.__esModule?t:{default:t}})(t("../../../renderer/enums"));function r(t){var e=t._programName+t._cullMode;return t._blend&&(e+=t._blendEq+t._blendAlphaEq+t._blendSrc+t._blendDst+t._blendSrcAlpha+t._blendDstAlpha+t._blendColor),t._depthTest&&(e+=t._depthWrite+t._depthFunc),t._stencilTest&&(e+=t._stencilFuncFront+t._stencilRefFront+t._stencilMaskFront+t._stencilFailOpFront+t._stencilZFailOpFront+t._stencilZPassOpFront+t._stencilWriteMaskFront+t._stencilFuncBack+t._stencilRefBack+t._stencilMaskBack+t._stencilFailOpBack+t._stencilZFailOpBack+t._stencilZPassOpBack+t._stencilWriteMaskBack),e}i.default={serializeDefines:function(t){var e="";for(var i in t)e+=i+t[i];return e},serializeTechniques:function(t){for(var e="",i=0;i<t.length;i++){var n=t[i];e+=n.stageIDs;for(var s=0;s<n.passes.length;s++)e+=r(n.passes[s])}return e},serializeUniforms:function(t){var e="";for(var i in t){var r=t[i],s=r.value;if(s)switch(r.type){case n.default.PARAM_INT:case n.default.PARAM_FLOAT:e+=s+";";break;case n.default.PARAM_INT2:case n.default.PARAM_FLOAT2:e+=s.x+","+s.y+";";break;case n.default.PARAM_INT4:case n.default.PARAM_FLOAT4:e+=s.x+","+s.y+","+s.z+","+s.w+";";break;case n.default.PARAM_COLOR4:e+=s.r+","+s.g+","+s.b+","+s.a+";";break;case n.default.PARAM_MAT2:e+=s.m[0]+","+s.m[1]+","+s.m[2]+","+s.m[3]+";";break;case n.default.PARAM_TEXTURE_2D:case n.default.PARAM_TEXTURE_CUBE:e+=s._id+";";break;case n.default.PARAM_INT3:case n.default.PARAM_FLOAT3:case n.default.PARAM_COLOR3:case n.default.PARAM_MAT3:case n.default.PARAM_MAT4:e+=JSON.stringify(s)+";"}}return e}},e.exports=i.default}),{"../../../renderer/enums":303}],55:[(function(t,e,i){"use strict";t("../CCNode").EventType;var n=56,r=7,s=cc.Enum({ONCE:0,ON_WINDOW_RESIZE:1,ALWAYS:2});function o(t){return t instanceof cc.Scene?cc.visibleRect:t._contentSize}function a(t,e,i,n){for(var r=t._parent.scaleX,s=t._parent.scaleY,o=0,a=0,c=t._parent;;){if(o+=c.x,a+=c.y,!(c=c._parent))return i.x=i.y=0,void(n.x=n.y=1);if(c===e)break;var l=c.scaleX,h=c.scaleY;o*=l,a*=h,r*=l,s*=h}n.x=0!==r?1/r:1,n.y=0!==s?1/s:1,i.x=-o,i.y=-a}var c=cc.Vec2.ZERO,l=cc.Vec2.ONE;function h(t,e){var i,s,h,u=e._target;u?a(t,i=u,s=c,h=l):i=t._parent;var _=o(i),f=i._anchorPoint,d=i instanceof cc.Scene,p=t.x,m=t.y,y=t._anchorPoint;if(e._alignFlags&n){var v,g,x=_.width;d?(v=cc.visibleRect.left.x,g=cc.visibleRect.right.x):g=(v=-f.x*x)+x,v+=e._isAbsLeft?e._left:e._left*x,g-=e._isAbsRight?e._right:e._right*x,u&&(v+=s.x,v*=h.x,g+=s.x,g*=h.x);var C,A=y.x,b=t.scaleX;if(b<0&&(A=1-A,b=-b),e.isStretchWidth)C=g-v,0!==b&&(t.width=C/b),p=v+A*C;else if(C=t.width*b,e.isAlignHorizontalCenter){var S=e._isAbsHorizontalCenter?e._horizontalCenter:e._horizontalCenter*x,T=(.5-f.x)*_.width;u&&(S*=h.x,T+=s.x,T*=h.x),p=T+(A-.5)*C+S}else p=e.isAlignLeft?v+A*C:g+(A-1)*C}if(e._alignFlags&r){var w,E,B=_.height;d?(E=cc.visibleRect.bottom.y,w=cc.visibleRect.top.y):w=(E=-f.y*B)+B,E+=e._isAbsBottom?e._bottom:e._bottom*B,w-=e._isAbsTop?e._top:e._top*B,u&&(E+=s.y,E*=h.y,w+=s.y,w*=h.y);var M,I=y.y,R=t.scaleY;if(R<0&&(I=1-I,R=-R),e.isStretchHeight)M=w-E,0!==R&&(t.height=M/R),m=E+I*M;else if(M=t.height*R,e.isAlignVerticalCenter){var P=e._isAbsVerticalCenter?e._verticalCenter:e._verticalCenter*B,D=(.5-f.y)*_.height;u&&(P*=h.y,D+=s.y,D*=h.y),m=D+(I-.5)*M+P}else m=e.isAlignBottom?E+I*M:w+(I-1)*M}t.setPosition(p,m)}function u(t){var e=t._widget;e&&(h(t,e),e.alignMode!==s.ALWAYS?e.enabled=!1:f.push(e));for(var i=t._children,n=0;n<i.length;n++){var r=i[n];r._active&&u(r)}}function _(){var t=cc.director.getScene();if(t){if(d.isAligning=!0,d._nodesOrderDirty)f.length=0,u(t),d._nodesOrderDirty=!1;else{var e,i=d._activeWidgetsIterator;for(i.i=0;i.i<f.length;++i.i)h((e=f[i.i]).node,e)}d.isAligning=!1}}var f=[];var d=cc._widgetManager=e.exports={_AlignFlags:{TOP:1,MID:2,BOT:4,LEFT:8,CENTER:16,RIGHT:32},isAligning:!1,_nodesOrderDirty:!1,_activeWidgetsIterator:new cc.js.array.MutableForwardIterator(f),init:function(t){t.on(cc.Director.EVENT_AFTER_UPDATE,_),cc.sys.isMobile?window.addEventListener("resize",this.onResized.bind(this)):cc.view.on("canvas-resize",this.onResized,this)},add:function(t){t.node._widget=t,this._nodesOrderDirty=!0},remove:function(t){t.node._widget=null,this._activeWidgetsIterator.remove(t)},onResized:function(){var t=cc.director.getScene();t&&this.refreshWidgetOnResized(t)},refreshWidgetOnResized:function(t){var e=cc.Node.isNode(t)&&t.getComponent(cc.Widget);e&&e.alignMode===s.ON_WINDOW_RESIZE&&(e.enabled=!0);for(var i=t._children,n=0;n<i.length;n++){var r=i[n];this.refreshWidgetOnResized(r)}},updateAlignment:function t(e){var i=e._parent;cc.Node.isNode(i)&&t(i);var n=e._widget||e.getComponent(cc.Widget);n&&i&&h(e,n)},AlignMode:s}}),{"../CCNode":30}],56:[(function(t,e,i){"use strict";var n=(function(t){return t&&t.__esModule?t:{default:t}})(t("../geom-utils"));var r=t("../utils/affine-transform"),s=t("../renderer/index"),o=t("../renderer/render-flow"),a=t("../CCGame"),c=null;c=t("../../renderer/scene/camera");var l=cc.vmath.mat4,h=cc.vmath.vec2,u=cc.vmath.vec3,_=l.create(),f=l.create(),d=cc.v3(),p=cc.v3(),m=cc.v3(),y=[],v=null;function g(){if(v){var t=v.getNode(),e=cc.game.canvas;t.z=e.height/1.1566,t.x=e.width/2,t.y=e.height/2}}var x=cc.Enum({COLOR:1,DEPTH:2,STENCIL:4}),C=cc.Enum({OPAQUE:1,TRANSPARENT:2}),A=cc.Class({name:"cc.Camera",extends:cc.Component,ctor:function(){if(a.renderType!==a.RENDER_TYPE_CANVAS){var t=new c;t.setStages(["opaque"]),t.dirty=!0,this._inited=!1,this._camera=t}else this._inited=!0},editor:!1,properties:{_cullingMask:4294967295,_clearFlags:x.DEPTH|x.STENCIL,_backgroundColor:cc.color(0,0,0,255),_depth:0,_zoomRatio:1,_targetTexture:null,_fov:60,_orthoSize:10,_nearClip:1,_farClip:4096,_ortho:!0,_rect:cc.rect(0,0,1,1),_renderStages:1,zoomRatio:{get:function(){return this._zoomRatio},set:function(t){this._zoomRatio=t},tooltip:!1},fov:{get:function(){return this._fov},set:function(t){this._fov=t},tooltip:!1},orthoSize:{get:function(){return this._orthoSize},set:function(t){this._orthoSize=t},tooltip:!1},nearClip:{get:function(){return this._nearClip},set:function(t){this._nearClip=t,this._updateClippingpPlanes()},tooltip:!1},farClip:{get:function(){return this._farClip},set:function(t){this._farClip=t,this._updateClippingpPlanes()},tooltip:!1},ortho:{get:function(){return this._ortho},set:function(t){this._ortho=t,this._updateProjection()},tooltip:!1},rect:{get:function(){return this._rect},set:function(t){this._rect=t,this._updateRect()},tooltip:!1},cullingMask:{get:function(){return this._cullingMask},set:function(t){this._cullingMask=t,this._updateCameraMask()},tooltip:!1},clearFlags:{get:function(){return this._clearFlags},set:function(t){this._clearFlags=t,this._camera&&this._camera.setClearFlags(t)},tooltip:!1},backgroundColor:{get:function(){return this._backgroundColor},set:function(t){this._backgroundColor=t,this._updateBackgroundColor()},tooltip:!1},depth:{get:function(){return this._depth},set:function(t){this._depth=t,this._camera&&this._camera.setPriority(t)},tooltip:!1},targetTexture:{get:function(){return this._targetTexture},set:function(t){this._targetTexture=t,this._updateTargetTexture()},tooltip:!1},renderStages:{get:function(){return this._renderStages},set:function(t){this._renderStages=t,this._updateStages()},tooltip:!1},_is3D:{get:function(){return this.node&&this.node._is3DNode}}},statics:{main:null,cameras:y,ClearFlags:x,findCamera:function(t){for(var e=0,i=y.length;e<i;e++){var n=y[e];if(n.containsNode(t))return n}return null},_findRendererCamera:function(t){for(var e=s.scene._cameras,i=0;i<e._count;i++)if(e._data[i]._cullingMask&t._cullingMask)return e._data[i];return null},_setupDebugCamera:function(){if(!v&&a.renderType!==a.RENDER_TYPE_CANVAS){var t=new c;v=t,t.setStages(["opaque"]),t.setFov(60*Math.PI/180),t.setNear(.1),t.setFar(4096),t.dirty=!0,t.cullingMask=1<<cc.Node.BuiltinGroupIndex.DEBUG,t.setPriority(cc.macro.MAX_ZINDEX),t.setClearFlags(0),t.setColor(0,0,0,0);var e=new cc.Node;t.setNode(e),g(),cc.view.on("design-resolution-changed",g),s.scene.addCamera(t)}}},_updateCameraMask:function(){if(this._camera){var t=this._cullingMask&~(1<<cc.Node.BuiltinGroupIndex.DEBUG);this._camera.cullingMask=t}},_updateBackgroundColor:function(){if(this._camera){var t=this._backgroundColor;this._camera.setColor(t.r/255,t.g/255,t.b/255,t.a/255)}},_updateTargetTexture:function(){if(this._camera){var t=this._targetTexture;this._camera.setFrameBuffer(t?t._framebuffer:null)}},_updateClippingpPlanes:function(){this._camera&&(this._camera.setNear(this._nearClip),this._camera.setFar(this._farClip))},_updateProjection:function(){if(this._camera){var t=this._ortho?1:0;this._camera.setType(t)}},_updateRect:function(){if(this._camera){var t=this._rect;this._camera.setRect(t.x,t.y,t.width,t.height)}},_updateStages:function(){var t=this._renderStages,e=[];t&C.OPAQUE&&e.push("opaque"),t&C.TRANSPARENT&&e.push("transparent"),this._camera.setStages(e)},_init:function(){if(!this._inited){this._inited=!0;var t=this._camera;t&&(t.setNode(this.node),t.setClearFlags(this._clearFlags),t.setPriority(this._depth),this._updateBackgroundColor(),this._updateCameraMask(),this._updateTargetTexture(),this._updateClippingpPlanes(),this._updateProjection(),this._updateStages(),this._updateRect(),this.beforeDraw())}},onLoad:function(){this._init()},onEnable:function(){a.renderType!==a.RENDER_TYPE_CANVAS&&(cc.director.on(cc.Director.EVENT_BEFORE_DRAW,this.beforeDraw,this),s.scene.addCamera(this._camera)),y.push(this)},onDisable:function(){a.renderType!==a.RENDER_TYPE_CANVAS&&(cc.director.off(cc.Director.EVENT_BEFORE_DRAW,this.beforeDraw,this),s.scene.removeCamera(this._camera)),cc.js.array.remove(y,this)},getScreenToWorldMatrix2D:function(t){return this.getWorldToScreenMatrix2D(t),l.invert(t,t),t},getWorldToScreenMatrix2D:function(t){this.node.getWorldRT(_);var e=this.zoomRatio,i=_.m;i[0]*=e,i[1]*=e,i[4]*=e,i[5]*=e;var n=i[12],r=i[13],s=cc.visibleRect.center;return i[12]=s.x-(i[0]*n+i[4]*r),i[13]=s.y-(i[1]*n+i[5]*r),t!==_&&l.copy(t,_),t},getScreenToWorldPoint:function(t,e){return this.node.is3DNode?(e=e||new cc.Vec3,this._camera.screenToWorld(e,t,cc.visibleRect.width,cc.visibleRect.height)):(e=e||new cc.Vec2,this.getScreenToWorldMatrix2D(_),h.transformMat4(e,t,_)),e},getWorldToScreenPoint:function(t,e){return this.node.is3DNode?(e=e||new cc.Vec3,this._camera.worldToScreen(e,t,cc.visibleRect.width,cc.visibleRect.height)):(e=e||new cc.Vec2,this.getWorldToScreenMatrix2D(_),h.transformMat4(e,t,_)),e},getRay:function(t){return n.default?(u.set(m,t.x,t.y,1),this._camera.screenToWorld(p,m,cc.visibleRect.width,cc.visibleRect.height),this.ortho?(u.set(m,t.x,t.y,-1),this._camera.screenToWorld(d,m,cc.visibleRect.width,cc.visibleRect.height)):this.node.getWorldPosition(d),n.default.Ray.fromPoints(n.default.Ray.create(),d,p)):t},containsNode:function(t){return t._cullingMask&this.cullingMask},render:function(t){if(!(t=t||cc.director.getScene()))return null;this.node.getWorldMatrix(_),this.beforeDraw(),o.render(t),s._forward.renderCamera(this._camera,s.scene)},_layout2D:function(){var t=cc.game.canvas.height/cc.view._scaleY;this._targetTexture&&(t=cc.visibleRect.height);var e=this._fov*cc.macro.RAD;this.node.z=t/(2*Math.tan(e/2)),e=2*Math.atan(Math.tan(e/2)/this.zoomRatio),this._camera.setFov(e),this._camera.setOrthoHeight(t/2/this.zoomRatio)},beforeDraw:function(){this._camera&&(this.node._is3DNode?(this._camera.setFov(this._fov*cc.macro.RAD),this._camera.setOrthoHeight(this._orthoSize)):this._layout2D(),this._camera.dirty=!0)}});cc.js.mixin(A.prototype,{getNodeToCameraTransform:function(t){var e=r.identity();return t.getWorldMatrix(f),this.containsNode(t)&&(this.getWorldToCameraMatrix(_),l.mul(f,f,_)),r.fromMat4(e,f),e},getCameraToWorldPoint:function(t,e){return this.getScreenToWorldPoint(t,e)},getWorldToCameraPoint:function(t,e){return this.getWorldToScreenPoint(t,e)},getCameraToWorldMatrix:function(t){return this.getScreenToWorldMatrix2D(t)},getWorldToCameraMatrix:function(t){return this.getWorldToScreenMatrix2D(t)}}),e.exports=cc.Camera=A}),{"../../renderer/scene/camera":328,"../CCGame":29,"../geom-utils":103,"../renderer/index":207,"../renderer/render-flow":208,"../utils/affine-transform":241}],57:[(function(t,e,i){"use strict";cc.Collider.Box=cc.Class({properties:{_offset:cc.v2(0,0),_size:cc.size(100,100),offset:{tooltip:!1,get:function(){return this._offset},set:function(t){this._offset=t},type:cc.Vec2},size:{tooltip:!1,get:function(){return this._size},set:function(t){this._size.width=t.width<0?0:t.width,this._size.height=t.height<0?0:t.height},type:cc.Size}},resetInEditor:!1});var n=cc.Class({name:"cc.BoxCollider",extends:cc.Collider,mixins:[cc.Collider.Box],editor:!1});cc.BoxCollider=e.exports=n}),{}],58:[(function(t,e,i){"use strict";cc.Collider.Circle=cc.Class({properties:{_offset:cc.v2(0,0),_radius:50,offset:{get:function(){return this._offset},set:function(t){this._offset=t},type:cc.Vec2},radius:{tooltip:!1,get:function(){return this._radius},set:function(t){this._radius=t<0?0:t}}},resetInEditor:!1});var n=cc.Class({name:"cc.CircleCollider",extends:cc.Collider,mixins:[cc.Collider.Circle],editor:!1});cc.CircleCollider=e.exports=n}),{}],59:[(function(t,e,i){"use strict";var n=cc.Class({name:"cc.Collider",extends:cc.Component,properties:{editing:{default:!1,serializable:!1,tooltip:!1},tag:{tooltip:!1,default:0,range:[0,1e7],type:cc.Integer}},onDisable:function(){cc.director.getCollisionManager().removeCollider(this)},onEnable:function(){cc.director.getCollisionManager().addCollider(this)}});cc.Collider=e.exports=n}),{}],60:[(function(t,e,i){"use strict";var n=t("./CCContact"),r=n.CollisionType,s=t("../CCNode").EventType,o=cc.vmath,a=cc.v2();function c(t,e,i,n,r,s){var o=t.x,a=t.y,c=t.width,l=t.height,h=e.m,u=h[0],_=h[1],f=h[4],d=h[5],p=u*o+f*a+h[12],m=_*o+d*a+h[13],y=u*c,v=_*c,g=f*l,x=d*l;n.x=p,n.y=m,r.x=y+p,r.y=v+m,i.x=g+p,i.y=x+m,s.x=y+g+p,s.y=v+x+m}var l=cc.Class({mixins:[cc.EventTarget],properties:{enabled:!1,enabledDrawBoundingBox:!1},ctor:function(){this._contacts=[],this._colliders=[],this._debugDrawer=null,this._enabledDebugDraw=!1,cc.director._scheduler&&cc.director._scheduler.enableForTarget(this)},update:function(t){if(this.enabled){var e=void 0,i=void 0,n=this._colliders;for(e=0,i=n.length;e<i;e++)this.updateCollider(n[e]);var s=this._contacts,o=[];for(e=0,i=s.length;e<i;e++){var a=s[e].updateState();a!==r.None&&o.push([a,s[e]])}for(e=0,i=o.length;e<i;e++){var c=o[e];this._doCollide(c[0],c[1])}this.drawColliders()}},_doCollide:function(t,e){var i=void 0;switch(t){case r.CollisionEnter:i="onCollisionEnter";break;case r.CollisionStay:i="onCollisionStay";break;case r.CollisionExit:i="onCollisionExit"}var n=e.collider1,s=e.collider2,o=n.node._components,a=s.node._components,c=void 0,l=void 0,h=void 0;for(c=0,l=o.length;c<l;c++)(h=o[c])[i]&&h[i](s,n);for(c=0,l=a.length;c<l;c++)(h=a[c])[i]&&h[i](n,s)},shouldCollide:function(t,e){var i=t.node,n=e.node,r=cc.game.collisionMatrix;return i!==n&&r[i.groupIndex][n.groupIndex]},initCollider:function(t){if(!t.world){var e=t.world={};e.aabb=cc.rect(),e.preAabb=cc.rect(),e.matrix=o.mat4.create(),e.radius=0,t instanceof cc.BoxCollider?(e.position=null,e.points=[cc.v2(),cc.v2(),cc.v2(),cc.v2()]):t instanceof cc.PolygonCollider?(e.position=null,e.points=t.points.map((function(t){return cc.v2(t.x,t.y)}))):t instanceof cc.CircleCollider&&(e.position=cc.v2(),e.points=null)}},updateCollider:function(t){var e=t.offset,i=t.world,n=i.aabb,r=i.matrix;t.node.getWorldMatrix(r);var s=i.preAabb;if(s.x=n.x,s.y=n.y,s.width=n.width,s.height=n.height,t instanceof cc.BoxCollider){var l=t.size;n.x=e.x-l.width/2,n.y=e.y-l.height/2,n.width=l.width,n.height=l.height;var h=i.points,u=h[0],_=h[1],f=h[2],d=h[3];c(n,r,u,_,f,d);var p=Math.min(u.x,_.x,f.x,d.x),m=Math.min(u.y,_.y,f.y,d.y),y=Math.max(u.x,_.x,f.x,d.x),v=Math.max(u.y,_.y,f.y,d.y);n.x=p,n.y=m,n.width=y-p,n.height=v-m}else if(t instanceof cc.CircleCollider){o.vec2.transformMat4(a,t.offset,r),i.position.x=a.x,i.position.y=a.y;var g=r.m,x=g[12],C=g[13];g[12]=g[13]=0,a.x=t.radius,a.y=0,o.vec2.transformMat4(a,a,r);var A=Math.sqrt(a.x*a.x+a.y*a.y);i.radius=A,n.x=i.position.x-A,n.y=i.position.y-A,n.width=2*A,n.height=2*A,g[12]=x,g[13]=C}else if(t instanceof cc.PolygonCollider){var b=t.points,S=i.points;S.length=b.length;for(var T=1e6,w=1e6,E=-1e6,B=-1e6,M=0,I=b.length;M<I;M++){S[M]||(S[M]=cc.v2()),a.x=b[M].x+e.x,a.y=b[M].y+e.y,o.vec2.transformMat4(a,a,r);var R=a.x,P=a.y;S[M].x=R,S[M].y=P,R>E&&(E=R),R<T&&(T=R),P>B&&(B=P),P<w&&(w=P)}n.x=T,n.y=w,n.width=E-T,n.height=B-w}},addCollider:function(t){var e=this._colliders;if(-1===e.indexOf(t)){for(var i=0,r=e.length;i<r;i++){var o=e[i];if(this.shouldCollide(t,o)){var a=new n(t,o);this._contacts.push(a)}}e.push(t),this.initCollider(t)}t.node.on(s.GROUP_CHANGED,this.onNodeGroupChanged,this)},removeCollider:function(t){var e=this._colliders,i=e.indexOf(t);if(i>=0){e.splice(i,1);for(var n=this._contacts,o=n.length-1;o>=0;o--){var a=n[o];a.collider1!==t&&a.collider2!==t||(a.touching&&this._doCollide(r.CollisionExit,a),n.splice(o,1))}t.node.off(s.GROUP_CHANGED,this.onNodeGroupChanged,this)}else cc.errorID(6600)},onNodeGroupChanged:function(t){for(var e=t.getComponents(cc.Collider),i=0,n=e.length;i<n;i++){var r=e[i];cc.PhysicsCollider&&r instanceof cc.PhysicsCollider||(this.removeCollider(r),this.addCollider(r))}},drawColliders:function(){if(this._enabledDebugDraw){this._checkDebugDrawValid();var t=this._debugDrawer;t.clear();for(var e=this._colliders,i=0,n=e.length;i<n;i++){var r=e[i];if(t.strokeColor=cc.Color.WHITE,r instanceof cc.BoxCollider||r instanceof cc.PolygonCollider){var s=r.world.points;if(s.length>0){t.moveTo(s[0].x,s[0].y);for(var o=1;o<s.length;o++)t.lineTo(s[o].x,s[o].y);t.close(),t.stroke()}}else r instanceof cc.CircleCollider&&(t.circle(r.world.position.x,r.world.position.y,r.world.radius),t.stroke());if(this.enabledDrawBoundingBox){var a=r.world.aabb;t.strokeColor=cc.Color.BLUE,t.moveTo(a.xMin,a.yMin),t.lineTo(a.xMin,a.yMax),t.lineTo(a.xMax,a.yMax),t.lineTo(a.xMax,a.yMin),t.close(),t.stroke()}}}},_checkDebugDrawValid:function(){if(!this._debugDrawer||!this._debugDrawer.isValid){var t=new cc.Node("COLLISION_MANAGER_DEBUG_DRAW");t.zIndex=cc.macro.MAX_ZINDEX,cc.game.addPersistRootNode(t),this._debugDrawer=t.addComponent(cc.Graphics)}}});cc.js.getset(l.prototype,"enabledDebugDraw",(function(){return this._enabledDebugDraw}),(function(t){t&&!this._enabledDebugDraw?(this._checkDebugDrawValid(),this._debugDrawer.node.active=!0):!t&&this._enabledDebugDraw&&(this._debugDrawer.clear(!0),this._debugDrawer.node.active=!1),this._enabledDebugDraw=t})),cc.CollisionManager=e.exports=l}),{"../CCNode":30,"./CCContact":61}],61:[(function(t,e,i){"use strict";var n=t("./CCIntersection"),r=cc.Enum({None:0,CollisionEnter:1,CollisionStay:2,CollisionExit:3});function s(t,e){this.collider1=t,this.collider2=e,this.touching=!1;var i=t instanceof cc.BoxCollider||t instanceof cc.PolygonCollider,r=e instanceof cc.BoxCollider||e instanceof cc.PolygonCollider,s=t instanceof cc.CircleCollider,o=e instanceof cc.CircleCollider;i&&r?this.testFunc=n.polygonPolygon:s&&o?this.testFunc=n.circleCircle:i&&o?this.testFunc=n.polygonCircle:s&&r?(this.testFunc=n.polygonCircle,this.collider1=e,this.collider2=t):cc.errorID(6601,cc.js.getClassName(t),cc.js.getClassName(e))}s.prototype.test=function(){var t=this.collider1.world,e=this.collider2.world;return!!t.aabb.intersects(e.aabb)&&(this.testFunc===n.polygonPolygon?this.testFunc(t.points,e.points):this.testFunc===n.circleCircle?this.testFunc(t,e):this.testFunc===n.polygonCircle&&this.testFunc(t.points,e))},s.prototype.updateState=function(){var t=this.test(),e=r.None;return t&&!this.touching?(this.touching=!0,e=r.CollisionEnter):t&&this.touching?e=r.CollisionStay:!t&&this.touching&&(this.touching=!1,e=r.CollisionExit),e},s.CollisionType=r,e.exports=s}),{"./CCIntersection":62}],62:[(function(t,e,i){"use strict";var n={};function r(t,e,i,n){var r=(n.x-i.x)*(t.y-i.y)-(n.y-i.y)*(t.x-i.x),s=(e.x-t.x)*(t.y-i.y)-(e.y-t.y)*(t.x-i.x),o=(n.y-i.y)*(e.x-t.x)-(n.x-i.x)*(e.y-t.y);if(0!==o){var a=r/o,c=s/o;if(0<=a&&a<=1&&0<=c&&c<=1)return!0}return!1}function s(t,e,i){for(var n=i.length,s=0;s<n;++s){if(r(t,e,i[s],i[(s+1)%n]))return!0}return!1}function o(t,e){for(var i=!1,n=t.x,r=t.y,s=e.length,o=0,a=s-1;o<s;a=o++){var c=e[o].x,l=e[o].y,h=e[a].x,u=e[a].y;l>r!=u>r&&n<(h-c)*(r-l)/(u-l)+c&&(i=!i)}return i}function a(t,e,i,n){var r,s=i.x-e.x,o=i.y-e.y,a=s*s+o*o,c=((t.x-e.x)*s+(t.y-e.y)*o)/a;return r=n?a?c<0?e:c>1?i:cc.v2(e.x+c*s,e.y+c*o):e:cc.v2(e.x+c*s,e.y+c*o),s=t.x-r.x,o=t.y-r.y,Math.sqrt(s*s+o*o)}n.lineLine=r,n.lineRect=function(t,e,i){var n=new cc.Vec2(i.x,i.y),s=new cc.Vec2(i.x,i.yMax),o=new cc.Vec2(i.xMax,i.yMax),a=new cc.Vec2(i.xMax,i.y);return!!(r(t,e,n,s)||r(t,e,s,o)||r(t,e,o,a)||r(t,e,a,n))},n.linePolygon=s,n.rectRect=function(t,e){var i=t.x,n=t.y,r=t.x+t.width,s=t.y+t.height,o=e.x,a=e.y,c=e.x+e.width,l=e.y+e.height;return i<=c&&r>=o&&n<=l&&s>=a},n.rectPolygon=function(t,e){var i,n,r=new cc.Vec2(t.x,t.y),a=new cc.Vec2(t.x,t.yMax),c=new cc.Vec2(t.xMax,t.yMax),l=new cc.Vec2(t.xMax,t.y);if(s(r,a,e))return!0;if(s(a,c,e))return!0;if(s(c,l,e))return!0;if(s(l,r,e))return!0;for(i=0,n=e.length;i<n;++i)if(o(e[i],t))return!0;return!!(o(r,e)||o(a,e)||o(c,e)||o(l,e))},n.polygonPolygon=function(t,e){var i,n;for(i=0,n=t.length;i<n;++i)if(s(t[i],t[(i+1)%n],e))return!0;for(i=0,n=e.length;i<n;++i)if(o(e[i],t))return!0;for(i=0,n=t.length;i<n;++i)if(o(t[i],e))return!0;return!1},n.circleCircle=function(t,e){return t.position.sub(e.position).mag()<t.radius+e.radius},n.polygonCircle=function(t,e){var i=e.position;if(o(i,t))return!0;for(var n=0,r=t.length;n<r;n++)if(a(i,0===n?t[t.length-1]:t[n-1],t[n],!0)<e.radius)return!0;return!1},n.pointInPolygon=o,n.pointLineDistance=a,cc.Intersection=e.exports=n}),{}],63:[(function(t,e,i){"use strict";cc.Collider.Polygon=cc.Class({properties:{threshold:{default:1,serializable:!1,visible:!1},_offset:cc.v2(0,0),offset:{get:function(){return this._offset},set:function(t){this._offset=t},type:cc.Vec2},points:{tooltip:!1,default:function(){return[cc.v2(-50,-50),cc.v2(50,-50),cc.v2(50,50),cc.v2(-50,50)]},type:[cc.Vec2]}},resetPointsByContour:!1});var n=cc.Class({name:"cc.PolygonCollider",extends:cc.Collider,mixins:[cc.Collider.Polygon],editor:!1});cc.PolygonCollider=e.exports=n}),{}],64:[(function(t,e,i){"use strict";t("./CCCollisionManager"),t("./CCCollider"),t("./CCBoxCollider"),t("./CCCircleCollider"),t("./CCPolygonCollider")}),{"./CCBoxCollider":57,"./CCCircleCollider":58,"./CCCollider":59,"./CCCollisionManager":60,"./CCPolygonCollider":63}],65:[(function(t,e,i){"use strict";t("./platform/CCClass");var n=t("./platform/CCObject").Flags,r=t("./platform/js").array,s=n.IsStartCalled,o=n.IsOnEnableCalled;n.IsEditorOnEnableCalled;function a(t,e){for(var i=e.constructor._executionOrder,n=e._id,r=0,s=t.length-1,o=s>>>1;r<=s;o=r+s>>>1){var a=t[o],c=a.constructor._executionOrder;if(c>i)s=o-1;else if(c<i)r=o+1;else{var l=a._id;if(l>n)s=o-1;else{if(!(l<n))return o;r=o+1}}}return~r}function c(t,e){for(var i=t.array,n=t.i+1;n<i.length;){var r=i[n];r._enabled&&r.node._activeInHierarchy?++n:(t.removeAt(n),e&&(r._objFlags&=~e))}}var l=cc.Class({__ctor__:function(t){var e=r.MutableForwardIterator;this._zero=new e([]),this._neg=new e([]),this._pos=new e([]),this._invoke=t},statics:{stableRemoveInactive:c},add:null,remove:null,invoke:null});function h(t,e){return t.constructor._executionOrder-e.constructor._executionOrder}var u=cc.Class({extends:l,add:function(t){var e=t.constructor._executionOrder;(0===e?this._zero:e<0?this._neg:this._pos).array.push(t)},remove:function(t){var e=t.constructor._executionOrder;(0===e?this._zero:e<0?this._neg:this._pos).fastRemove(t)},cancelInactive:function(t){c(this._zero,t),c(this._neg,t),c(this._pos,t)},invoke:function(){var t=this._neg;t.array.length>0&&(t.array.sort(h),this._invoke(t),t.array.length=0),this._invoke(this._zero),this._zero.array.length=0;var e=this._pos;e.array.length>0&&(e.array.sort(h),this._invoke(e),e.array.length=0)}}),_=cc.Class({extends:l,add:function(t){var e=t.constructor._executionOrder;if(0===e)this._zero.array.push(t);else{var i=e<0?this._neg.array:this._pos.array,n=a(i,t);n<0&&i.splice(~n,0,t)}},remove:function(t){var e=t.constructor._executionOrder;if(0===e)this._zero.fastRemove(t);else{var i=e<0?this._neg:this._pos,n=a(i.array,t);n>=0&&i.removeAt(n)}},invoke:function(t){this._neg.array.length>0&&this._invoke(this._neg,t),this._invoke(this._zero,t),this._pos.array.length>0&&this._invoke(this._pos,t)}});function f(t,e,i,n){var r="var a=it.array;for(it.i=0;it.i<a.length;++it.i){var c=a[it.i];"+t+"}";return n=e?Function("it","dt",r):Function("it",r),t=Function("c","dt",t),function(e,r){try{n(e,r)}catch(n){cc._throw(n);var s=e.array;for(i&&(s[e.i]._objFlags|=i),++e.i;e.i<s.length;++e.i)try{t(s[e.i],r)}catch(t){cc._throw(t),i&&(s[e.i]._objFlags|=i)}}}}var d=f("c.start();c._objFlags|="+s,!1,s),p=f("c.update(dt)",!0),m=f("c.lateUpdate(dt)",!0);function y(){this.startInvoker=new u(d),this.updateInvoker=new _(p),this.lateUpdateInvoker=new _(m),this.scheduleInNextFrame=[],this._updating=!1}var v=cc.Class({ctor:y,unscheduleAll:y,statics:{LifeCycleInvoker:l,OneOffInvoker:u,createInvokeImpl:f,invokeOnEnable:function(t){var e=cc.director._compScheduler,i=t.array;for(t.i=0;t.i<i.length;++t.i){var n=i[t.i];if(n._enabled)n.onEnable(),!n.node._activeInHierarchy||e._onEnabled(n)}}},_onEnabled:function(t){cc.director.getScheduler().resumeTarget(t),t._objFlags|=o,this._updating?this.scheduleInNextFrame.push(t):this._scheduleImmediate(t)},_onDisabled:function(t){cc.director.getScheduler().pauseTarget(t),t._objFlags&=~o;var e=this.scheduleInNextFrame.indexOf(t);e>=0?r.fastRemoveAt(this.scheduleInNextFrame,e):(!t.start||t._objFlags&s||this.startInvoker.remove(t),t.update&&this.updateInvoker.remove(t),t.lateUpdate&&this.lateUpdateInvoker.remove(t))},enableComp:function(t,e){if(!(t._objFlags&o)){if(t.onEnable){if(e)return void e.add(t);if(t.onEnable(),!t.node._activeInHierarchy)return}this._onEnabled(t)}},disableComp:function(t){t._objFlags&o&&(t.onDisable&&t.onDisable(),this._onDisabled(t))},_scheduleImmediate:function(t){!t.start||t._objFlags&s||this.startInvoker.add(t),t.update&&this.updateInvoker.add(t),t.lateUpdate&&this.lateUpdateInvoker.add(t)},_deferredSchedule:function(){for(var t=this.scheduleInNextFrame,e=0,i=t.length;e<i;e++){var n=t[e];this._scheduleImmediate(n)}t.length=0},startPhase:function(){this._updating=!0,this.scheduleInNextFrame.length>0&&this._deferredSchedule(),this.startInvoker.invoke()},updatePhase:function(t){this.updateInvoker.invoke(t)},lateUpdatePhase:function(t){this.lateUpdateInvoker.invoke(t),this._updating=!1}});e.exports=v}),{"./platform/CCClass":160,"./platform/CCObject":166,"./platform/js":180,"./utils/misc":249}],66:[(function(t,e,i){"use strict";var n=t("../../animation/animation-animator"),r=t("../../animation/animation-clip"),s=t("../event/event-target"),o=t("../platform/js");function a(t,e){return t===e||t&&e&&(t.name===e.name||t._uuid===e._uuid)}var c=cc.Enum({PLAY:"play",STOP:"stop",PAUSE:"pause",RESUME:"resume",LASTFRAME:"lastframe",FINISHED:"finished"}),l=cc.Class({name:"cc.Animation",extends:t("./CCComponent"),mixins:[s],editor:!1,statics:{EventType:c},ctor:function(){cc.EventTarget.call(this),this._animator=null,this._nameToState=o.createMap(!0),this._didInit=!1,this._currentClip=null},properties:{_defaultClip:{default:null,type:r},defaultClip:{type:r,get:function(){return this._defaultClip},set:function(t){},tooltip:!1},currentClip:{get:function(){return this._currentClip},set:function(t){this._currentClip=t},type:r,visible:!1},_writableClips:{get:function(){return this._clips},set:function(t){this._didInit=!1,this._clips=t,this._init()},type:[r]},_clips:{default:[],type:[r],tooltip:!1,visible:!0},playOnLoad:{default:!1,tooltip:!1}},start:function(){if(this.playOnLoad&&this._defaultClip&&!(this._animator&&this._animator.isPlaying)){var t=this.getAnimationState(this._defaultClip.name);this._animator.playState(t)}},onEnable:function(){this._animator&&this._animator.resume()},onDisable:function(){this._animator&&this._animator.pause()},onDestroy:function(){this.stop()},getClips:function(){return this._clips},play:function(t,e){var i=this.playAdditive(t,e);return this._animator.stopStatesExcept(i),i},playAdditive:function(t,e){this._init();var i=this.getAnimationState(t||this._defaultClip&&this._defaultClip.name);if(i){this.enabled=!0;var n=this._animator;n.isPlaying&&i.isPlaying?i.isPaused?n.resumeState(i):(n.stopState(i),n.playState(i,e)):n.playState(i,e),this.enabledInHierarchy||n.pause(),this.currentClip=i.clip}return i},stop:function(t){if(this._didInit)if(t){var e=this._nameToState[t];e&&this._animator.stopState(e)}else this._animator.stop()},pause:function(t){if(this._didInit)if(t){var e=this._nameToState[t];e&&this._animator.pauseState(e)}else this.enabled=!1},resume:function(t){if(this._didInit)if(t){var e=this._nameToState[t];e&&this._animator.resumeState(e)}else this.enabled=!0},setCurrentTime:function(t,e){if(this._init(),e){var i=this._nameToState[e];i&&this._animator.setStateTime(i,t)}else this._animator.setStateTime(t)},getAnimationState:function(t){this._init();var e=this._nameToState[t];return e&&!e.curveLoaded&&this._animator._reloadClip(e),e||null},addClip:function(t,e){if(t){this._init(),cc.js.array.contains(this._clips,t)||this._clips.push(t),e=e||t.name;var i=this._nameToState[e];if(i){if(i.clip===t)return i;var n=this._clips.indexOf(i.clip);-1!==n&&this._clips.splice(n,1)}var r=new cc.AnimationState(t,e);return this._nameToState[e]=r,r}cc.warnID(3900)},removeClip:function(t,e){if(t){this._init();var i=void 0;for(var n in this._nameToState){if((i=this._nameToState[n]).clip===t)break}if(t===this._defaultClip){if(!e)return void cc.warnID(3902);this._defaultClip=null}if(i&&i.isPlaying){if(!e)return void cc.warnID(3903);this.stop(i.name)}this._clips=this._clips.filter((function(e){return e!==t})),i&&delete this._nameToState[i.name]}else cc.warnID(3901)},sample:function(t){if(this._init(),t){var e=this._nameToState[t];e&&e.sample()}else this._animator.sample()},on:function(t,e,i,n){this._init();var r=this._EventTargetOn(t,e,i,n);if("lastframe"===t){var s=this._nameToState;for(var o in s)s[o]._lastframeEventOn=!0}return r},off:function(t,e,i,n){if(this._init(),"lastframe"===t){var r=this._nameToState;for(var s in r)r[s]._lastframeEventOn=!1}this._EventTargetOff(t,e,i,n)},_init:function(){this._didInit||(this._didInit=!0,this._animator=new n(this.node,this),this._createStates())},_createStates:function(){this._nameToState=o.createMap(!0);for(var t=null,e=!1,i=0;i<this._clips.length;++i){var n=this._clips[i];n&&(t=new cc.AnimationState(n),this._nameToState[t.name]=t,a(this._defaultClip,n)&&(e=t))}this._defaultClip&&!e&&(t=new cc.AnimationState(this._defaultClip),this._nameToState[t.name]=t)}});l.prototype._EventTargetOn=s.prototype.on,l.prototype._EventTargetOff=s.prototype.off,cc.Animation=e.exports=l}),{"../../animation/animation-animator":9,"../../animation/animation-clip":10,"../event/event-target":98,"../platform/js":180,"./CCComponent":71}],67:[(function(t,e,i){"use strict";var n=t("../utils/misc"),r=t("./CCComponent"),s=t("../assets/CCAudioClip"),o=cc.Class({name:"cc.AudioSource",extends:r,editor:!1,ctor:function(){this.audio=new cc.Audio},properties:{_clip:{default:null,type:s},_volume:1,_mute:!1,_loop:!1,_pausedFlag:{default:!1,serializable:!1},isPlaying:{get:function(){return this.audio.getState()===cc.Audio.State.PLAYING},visible:!1},clip:{get:function(){return this._clip},set:function(t){if("string"!=typeof t)t!==this._clip&&(this._clip=t,this.audio.stop(),this.preload&&(this.audio.src=this._clip));else{cc.warnID(8401,"cc.AudioSource","cc.AudioClip","AudioClip","cc.AudioClip","audio");var e=this;s._loadByUrl(t,(function(t,i){i&&(e.clip=i)}))}},type:s,tooltip:!1,animatable:!1},volume:{get:function(){return this._volume},set:function(t){return t=n.clamp01(t),this._volume=t,this._mute||this.audio.setVolume(t),t},tooltip:!1},mute:{get:function(){return this._mute},set:function(t){return this._mute=t,this.audio.setVolume(t?0:this._volume),t},animatable:!1,tooltip:!1},loop:{get:function(){return this._loop},set:function(t){return this._loop=t,this.audio.setLoop(t),t},animatable:!1,tooltip:!1},playOnLoad:{default:!1,tooltip:!1,animatable:!1},preload:{default:!1,animatable:!1}},_ensureDataLoaded:function(){this.audio.src!==this._clip&&(this.audio.src=this._clip)},_pausedCallback:function(){this.audio.getState()===cc.Audio.State.PLAYING&&(this.audio.pause(),this._pausedFlag=!0)},_restoreCallback:function(){this._pausedFlag&&this.audio.resume(),this._pausedFlag=!1},onLoad:function(){this.audio.setVolume(this._mute?0:this._volume),this.audio.setLoop(this._loop)},onEnable:function(){this.preload&&(this.audio.src=this._clip),this.playOnLoad&&this.play(),cc.game.on(cc.game.EVENT_HIDE,this._pausedCallback,this),cc.game.on(cc.game.EVENT_SHOW,this._restoreCallback,this)},onDisable:function(){this.stop(),cc.game.off(cc.game.EVENT_HIDE,this._pausedCallback,this),cc.game.off(cc.game.EVENT_SHOW,this._restoreCallback,this)},onDestroy:function(){this.stop(),this.audio.destroy(),cc.audioEngine.uncache(this._clip)},play:function(){if(this._clip){var t=this.audio;this._clip.loaded&&t.stop(),this._ensureDataLoaded(),t.setCurrentTime(0),t.play()}},stop:function(){this.audio.stop()},pause:function(){this.audio.pause()},resume:function(){this._ensureDataLoaded(),this.audio.resume()},rewind:function(){this.audio.setCurrentTime(0)},getCurrentTime:function(){return this.audio.getCurrentTime()},setCurrentTime:function(t){return this.audio.setCurrentTime(t),t},getDuration:function(){return this.audio.getDuration()}});cc.AudioSource=e.exports=o}),{"../assets/CCAudioClip":35,"../utils/misc":249,"./CCComponent":71}],68:[(function(t,e,i){"use strict";var n=["touchstart","touchmove","touchend","mousedown","mousemove","mouseup","mouseenter","mouseleave","mousewheel"];function r(t){t.stopPropagation()}var s=cc.Class({name:"cc.BlockInputEvents",extends:t("./CCComponent"),editor:{menu:"i18n:MAIN_MENU.component.ui/Block Input Events",inspector:"packages://inspector/inspectors/comps/block-input-events.js",help:"i18n:COMPONENT.help_url.block_input_events"},onEnable:function(){for(var t=0;t<n.length;t++)this.node.on(n[t],r,this)},onDisable:function(){for(var t=0;t<n.length;t++)this.node.off(n[t],r,this)}});cc.BlockInputEvents=e.exports=s}),{"./CCComponent":71}],69:[(function(t,e,i){"use strict";var n=t("./CCComponent"),r=t("../utils/gray-sprite-state"),s=cc.Enum({NONE:0,COLOR:1,SPRITE:2,SCALE:3}),o=cc.Enum({NORMAL:0,HOVER:1,PRESSED:2,DISABLED:3}),a=cc.Class({name:"cc.Button",extends:n,mixins:[r],ctor:function(){this._pressed=!1,this._hovered=!1,this._fromColor=null,this._toColor=null,this._time=0,this._transitionFinished=!0,this._fromScale=cc.Vec2.ZERO,this._toScale=cc.Vec2.ZERO,this._originalScale=null,this._graySpriteMaterial=null,this._spriteMaterial=null,this._sprite=null},editor:!1,properties:{interactable:{default:!0,tooltip:!1,notify:function(){this._updateState(),this.interactable||this._resetState()},animatable:!1},_resizeToTarget:{animatable:!1,set:function(t){t&&this._resizeNodeToTargetNode()}},enableAutoGrayEffect:{default:!1,tooltip:!1,notify:function(){this._updateDisabledState()}},transition:{default:s.NONE,tooltip:!1,type:s,animatable:!1,notify:function(t){this._updateTransition(t)},formerlySerializedAs:"transition"},normalColor:{default:cc.Color.WHITE,displayName:"Normal",tooltip:!1,notify:function(){this.transition===s.Color&&this._getButtonState()===o.NORMAL&&(this._getTarget().opacity=this.normalColor.a),this._updateState()}},pressedColor:{default:cc.color(211,211,211),displayName:"Pressed",tooltip:!1,notify:function(){this.transition===s.Color&&this._getButtonState()===o.PRESSED&&(this._getTarget().opacity=this.pressedColor.a),this._updateState()},formerlySerializedAs:"pressedColor"},hoverColor:{default:cc.Color.WHITE,displayName:"Hover",tooltip:!1,notify:function(){this.transition===s.Color&&this._getButtonState()===o.HOVER&&(this._getTarget().opacity=this.hoverColor.a),this._updateState()},formerlySerializedAs:"hoverColor"},disabledColor:{default:cc.color(124,124,124),displayName:"Disabled",tooltip:!1,notify:function(){this.transition===s.Color&&this._getButtonState()===o.DISABLED&&(this._getTarget().opacity=this.disabledColor.a),this._updateState()}},duration:{default:.1,range:[0,10],tooltip:!1},zoomScale:{default:1.2,tooltip:!1},normalSprite:{default:null,type:cc.SpriteFrame,displayName:"Normal",tooltip:!1,notify:function(){this._updateState()}},pressedSprite:{default:null,type:cc.SpriteFrame,displayName:"Pressed",tooltip:!1,formerlySerializedAs:"pressedSprite",notify:function(){this._updateState()}},hoverSprite:{default:null,type:cc.SpriteFrame,displayName:"Hover",tooltip:!1,formerlySerializedAs:"hoverSprite",notify:function(){this._updateState()}},disabledSprite:{default:null,type:cc.SpriteFrame,displayName:"Disabled",tooltip:!1,notify:function(){this._updateState()}},target:{default:null,type:cc.Node,tooltip:!1,notify:function(t){this._applyTarget(),t&&this.target!==t&&this._unregisterTargetEvent(t)}},clickEvents:{default:[],type:cc.Component.EventHandler,tooltip:!1}},statics:{Transition:s},__preload:function(){this._applyTarget(),this._updateState()},_resetState:function(){this._pressed=!1,this._hovered=!1;var t=this._getTarget(),e=this.transition,i=this._originalScale;e===s.COLOR&&this.interactable?this._setTargetColor(this.normalColor):e===s.SCALE&&i&&t.setScale(i.x,i.y),this._transitionFinished=!0},onEnable:function(){this.normalSprite&&this.normalSprite.ensureLoadTexture(),this.hoverSprite&&this.hoverSprite.ensureLoadTexture(),this.pressedSprite&&this.pressedSprite.ensureLoadTexture(),this.disabledSprite&&this.disabledSprite.ensureLoadTexture(),this._registerNodeEvent()},onDisable:function(){this._resetState(),this._unregisterNodeEvent()},_getTarget:function(){return this.target?this.target:this.node},_onTargetSpriteFrameChanged:function(t){this.transition===s.SPRITE&&this._setCurrentStateSprite(t.spriteFrame)},_onTargetColorChanged:function(t){this.transition===s.COLOR&&this._setCurrentStateColor(t)},_onTargetScaleChanged:function(){var t=this._getTarget();this._originalScale&&(this.transition!==s.SCALE||this._transitionFinished)&&(this._originalScale.x=t.scaleX,this._originalScale.y=t.scaleY)},_setTargetColor:function(t){var e=this._getTarget();e.color=t,e.opacity=t.a},_getStateColor:function(t){switch(t){case o.NORMAL:return this.normalColor;case o.HOVER:return this.hoverColor;case o.PRESSED:return this.pressedColor;case o.DISABLED:return this.disabledColor}},_getStateSprite:function(t){switch(t){case o.NORMAL:return this.normalSprite;case o.HOVER:return this.hoverSprite;case o.PRESSED:return this.pressedSprite;case o.DISABLED:return this.disabledSprite}},_setCurrentStateColor:function(t){switch(this._getButtonState()){case o.NORMAL:this.normalColor=t;break;case o.HOVER:this.hoverColor=t;break;case o.PRESSED:this.pressedColor=t;break;case o.DISABLED:this.disabledColor=t}},_setCurrentStateSprite:function(t){switch(this._getButtonState()){case o.NORMAL:this.normalSprite=t;break;case o.HOVER:this.hoverSprite=t;break;case o.PRESSED:this.pressedSprite=t;break;case o.DISABLED:this.disabledSprite=t}},update:function(t){var e=this._getTarget();if(!this._transitionFinished&&(this.transition===s.COLOR||this.transition===s.SCALE)){this.time+=t;var i=1;if(this.duration>0&&(i=this.time/this.duration),i>=1&&(i=1),this.transition===s.COLOR){var n=this._fromColor.lerp(this._toColor,i);this._setTargetColor(n)}else this.transition===s.SCALE&&this._originalScale&&(e.scale=this._fromScale.lerp(this._toScale,i));1===i&&(this._transitionFinished=!0)}},_registerNodeEvent:function(){this.node.on(cc.Node.EventType.TOUCH_START,this._onTouchBegan,this),this.node.on(cc.Node.EventType.TOUCH_MOVE,this._onTouchMove,this),this.node.on(cc.Node.EventType.TOUCH_END,this._onTouchEnded,this),this.node.on(cc.Node.EventType.TOUCH_CANCEL,this._onTouchCancel,this),this.node.on(cc.Node.EventType.MOUSE_ENTER,this._onMouseMoveIn,this),this.node.on(cc.Node.EventType.MOUSE_LEAVE,this._onMouseMoveOut,this)},_unregisterNodeEvent:function(){this.node.off(cc.Node.EventType.TOUCH_START,this._onTouchBegan,this),this.node.off(cc.Node.EventType.TOUCH_MOVE,this._onTouchMove,this),this.node.off(cc.Node.EventType.TOUCH_END,this._onTouchEnded,this),this.node.off(cc.Node.EventType.TOUCH_CANCEL,this._onTouchCancel,this),this.node.off(cc.Node.EventType.MOUSE_ENTER,this._onMouseMoveIn,this),this.node.off(cc.Node.EventType.MOUSE_LEAVE,this._onMouseMoveOut,this)},_registerTargetEvent:function(t){t.on(cc.Node.EventType.SCALE_CHANGED,this._onTargetScaleChanged,this)},_unregisterTargetEvent:function(t){t.off(cc.Node.EventType.SCALE_CHANGED,this._onTargetScaleChanged,this)},_getTargetSprite:function(t){var e=null;return t&&(e=t.getComponent(cc.Sprite)),e},_applyTarget:function(){var t=this._getTarget();this._sprite=this._getTargetSprite(t),this._originalScale||(this._originalScale=cc.Vec2.ZERO),this._originalScale.x=t.scaleX,this._originalScale.y=t.scaleY,this._registerTargetEvent(t)},_onTouchBegan:function(t){this.interactable&&this.enabledInHierarchy&&(this._pressed=!0,this._updateState(),t.stopPropagation())},_onTouchMove:function(t){if(this.interactable&&this.enabledInHierarchy&&this._pressed){var e=t.touch,i=this.node._hitTest(e.getLocation()),n=this._getTarget(),r=this._originalScale;if(this.transition===s.SCALE&&r)i?(this._fromScale.x=r.x,this._fromScale.y=r.y,this._toScale.x=r.x*this.zoomScale,this._toScale.y=r.y*this.zoomScale,this._transitionFinished=!1):(this.time=0,this._transitionFinished=!0,n.setScale(r.x,r.y));else{var a=void 0;a=i?o.PRESSED:o.NORMAL,this._applyTransition(a)}t.stopPropagation()}},_onTouchEnded:function(t){this.interactable&&this.enabledInHierarchy&&(this._pressed&&(cc.Component.EventHandler.emitEvents(this.clickEvents,t),this.node.emit("click",this)),this._pressed=!1,this._updateState(),t.stopPropagation())},_onTouchCancel:function(){this.interactable&&this.enabledInHierarchy&&(this._pressed=!1,this._updateState())},_onMouseMoveIn:function(){!this._pressed&&this.interactable&&this.enabledInHierarchy&&(this.transition!==s.SPRITE||this.hoverSprite)&&(this._hovered||(this._hovered=!0,this._updateState()))},_onMouseMoveOut:function(){this._hovered&&(this._hovered=!1,this._updateState())},_updateState:function(){var t=this._getButtonState();this._applyTransition(t),this._updateDisabledState()},_getButtonState:function(){return this.interactable?this._pressed?o.PRESSED:this._hovered?o.HOVER:o.NORMAL:o.DISABLED},_updateColorTransitionImmediately:function(t){var e=this._getStateColor(t);this._setTargetColor(e)},_updateColorTransition:function(t){if(t===o.DISABLED)this._updateColorTransitionImmediately(t);else{var e=this._getTarget(),i=this._getStateColor(t);this._fromColor=e.color.clone(),this._toColor=i,this.time=0,this._transitionFinished=!1}},_updateSpriteTransition:function(t){var e=this._getStateSprite(t);this._sprite&&e&&(this._sprite.spriteFrame=e)},_updateScaleTransition:function(t){t===o.PRESSED?this._zoomUp():this._zoomBack()},_zoomUp:function(){this._originalScale&&(this._fromScale.x=this._originalScale.x,this._fromScale.y=this._originalScale.y,this._toScale.x=this._originalScale.x*this.zoomScale,this._toScale.y=this._originalScale.y*this.zoomScale,this.time=0,this._transitionFinished=!1)},_zoomBack:function(){if(this._originalScale){var t=this._getTarget();this._fromScale.x=t.scaleX,this._fromScale.y=t.scaleY,this._toScale.x=this._originalScale.x,this._toScale.y=this._originalScale.y,this.time=0,this._transitionFinished=!1}},_updateTransition:function(t){t===s.COLOR?this._updateColorTransitionImmediately(o.NORMAL):t===s.SPRITE&&this._updateSpriteTransition(o.NORMAL),this._updateState()},_applyTransition:function(t){var e=this.transition;e===s.COLOR?this._updateColorTransition(t):e===s.SPRITE?this._updateSpriteTransition(t):e===s.SCALE&&this._updateScaleTransition(t)},_resizeNodeToTargetNode:!1,_updateDisabledState:function(){if(this._sprite){var t=!1;this.enableAutoGrayEffect&&(this.transition===s.SPRITE&&this.disabledSprite||this.interactable||(t=!0)),this._switchGrayMaterial(t,this._sprite)}}});cc.Button=e.exports=a}),{"../utils/gray-sprite-state":247,"./CCComponent":71}],70:[(function(t,e,i){"use strict";var n=t("../camera/CCCamera"),r=t("./CCComponent"),s=cc.Class({name:"cc.Canvas",extends:r,editor:!1,resetInEditor:!1,statics:{instance:null},properties:{_designResolution:cc.size(960,640),designResolution:{get:function(){return cc.size(this._designResolution)},set:function(t){this._designResolution.width=t.width,this._designResolution.height=t.height,this.applySettings(),this.alignWithScreen()},tooltip:!1},_fitWidth:!1,_fitHeight:!0,fitHeight:{get:function(){return this._fitHeight},set:function(t){this._fitHeight!==t&&(this._fitHeight=t,this.applySettings(),this.alignWithScreen())},tooltip:!1},fitWidth:{get:function(){return this._fitWidth},set:function(t){this._fitWidth!==t&&(this._fitWidth=t,this.applySettings(),this.alignWithScreen())},tooltip:!1}},ctor:function(){this._thisOnResized=this.alignWithScreen.bind(this)},__preload:function(){if(s.instance)return cc.errorID(6700,this.node.name,s.instance.node.name);s.instance=this,cc.sys.isMobile?window.addEventListener("resize",this._thisOnResized):cc.view.on("canvas-resize",this._thisOnResized),this.applySettings(),this.alignWithScreen();var t=cc.find("Main Camera",this.node);t||((t=new cc.Node("Main Camera")).parent=this.node,t.setSiblingIndex(0));var e=t.getComponent(n);if(!e){e=t.addComponent(n);var i=n.ClearFlags;e.clearFlags=i.COLOR|i.DEPTH|i.STENCIL,e.depth=-1}n.main=e},onDestroy:function(){cc.sys.isMobile?window.removeEventListener("resize",this._thisOnResized):cc.view.off("canvas-resize",this._thisOnResized),s.instance===this&&(s.instance=null)},alignWithScreen:function(){var t,e,i=e=cc.visibleRect;t=cc.view.getDesignResolutionSize();var n=0,r=0;!this.fitHeight&&!this.fitWidth&&(n=.5*(t.width-i.width),r=.5*(t.height-i.height)),this.node.setPosition(.5*i.width+n,.5*i.height+r),this.node.width=e.width,this.node.height=e.height},applySettings:function(){var t,e=cc.ResolutionPolicy;t=this.fitHeight&&this.fitWidth?e.SHOW_ALL:this.fitHeight||this.fitWidth?this.fitWidth?e.FIXED_WIDTH:e.FIXED_HEIGHT:e.NO_BORDER;var i=this._designResolution;cc.view.setDesignResolutionSize(i.width,i.height,t)}});cc.Canvas=e.exports=s}),{"../camera/CCCamera":56,"./CCComponent":71}],71:[(function(t,e,i){"use strict";var n=t("../platform/CCObject"),r=t("../platform/js"),s=new(t("../platform/id-generater"))("Comp"),o=(n.Flags.IsOnEnableCalled,n.Flags.IsOnLoadCalled),a=cc.Class({name:"cc.Component",extends:n,ctor:function(){this._id=s.getNewId(),this.__eventTargets=[]},properties:{node:{default:null,visible:!1},name:{get:function(){if(this._name)return this._name;var t=cc.js.getClassName(this),e=t.lastIndexOf(".");return e>=0&&(t=t.slice(e+1)),this.node.name+"<"+t+">"},set:function(t){this._name=t},visible:!1},uuid:{get:function(){return this._id},visible:!1},__scriptAsset:!1,_enabled:!0,enabled:{get:function(){return this._enabled},set:function(t){if(this._enabled!==t&&(this._enabled=t,this.node._activeInHierarchy)){var e=cc.director._compScheduler;t?e.enableComp(this):e.disableComp(this)}},visible:!1,animatable:!0},enabledInHierarchy:{get:function(){return this._enabled&&this.node._activeInHierarchy},visible:!1},_isOnLoadCalled:{get:function(){return this._objFlags&o}}},update:null,lateUpdate:null,__preload:null,onLoad:null,start:null,onEnable:null,onDisable:null,onDestroy:null,onFocusInEditor:null,onLostFocusInEditor:null,resetInEditor:null,addComponent:function(t){return this.node.addComponent(t)},getComponent:function(t){return this.node.getComponent(t)},getComponents:function(t){return this.node.getComponents(t)},getComponentInChildren:function(t){return this.node.getComponentInChildren(t)},getComponentsInChildren:function(t){return this.node.getComponentsInChildren(t)},_getLocalBounds:null,onRestore:null,destroy:function(){this._super()&&this._enabled&&this.node._activeInHierarchy&&cc.director._compScheduler.disableComp(this)},_onPreDestroy:function(){this.unscheduleAllCallbacks();for(var t=this.__eventTargets,e=0,i=t.length;e<i;++e){var n=t[e];n&&n.targetOff(this)}t.length=0,cc.director._nodeActivator.destroyComp(this),this.node._removeComponent(this)},_instantiate:function(t){return t||(t=cc.instantiate._clone(this,this)),t.node=null,t},schedule:function(t,e,i,n){cc.assertID(t,1619),cc.assertID(e>=0,1620),e=e||0,i=isNaN(i)?cc.macro.REPEAT_FOREVER:i,n=n||0;var r=cc.director.getScheduler(),s=r.isTargetPaused(this);r.schedule(t,this,e,i,n,s)},scheduleOnce:function(t,e){this.schedule(t,0,0,e)},unschedule:function(t){t&&cc.director.getScheduler().unschedule(t,this)},unscheduleAllCallbacks:function(){cc.director.getScheduler().unscheduleAllForTarget(this)}});a._requireComponent=null,a._executionOrder=0,r.value(a,"_registerEditorProps",(function(t,e){var i=e.requireComponent;i&&(t._requireComponent=i);var n=e.executionOrder;n&&"number"==typeof n&&(t._executionOrder=n)})),a.prototype.__scriptUuid="",cc.Component=e.exports=a}),{"../platform/CCObject":166,"../platform/id-generater":176,"../platform/js":180}],72:[(function(t,e,i){"use strict";cc.Component.EventHandler=cc.Class({name:"cc.ClickEvent",properties:{target:{default:null,type:cc.Node},component:"",_componentId:"",_componentName:{get:function(){return this._genCompIdIfNeeded(),this._compId2Name(this._componentId)},set:function(t){this._componentId=this._compName2Id(t)}},handler:{default:""},customEventData:{default:""}},statics:{emitEvents:function(t){var e=void 0;if(arguments.length>0)for(var i=0,n=(e=new Array(arguments.length-1)).length;i<n;i++)e[i]=arguments[i+1];for(var r=0,s=t.length;r<s;r++){var o=t[r];o instanceof cc.Component.EventHandler&&o.emit(e)}}},emit:function(t){var e=this.target;if(cc.isValid(e)){this._genCompIdIfNeeded();var i=cc.js._getClassById(this._componentId),n=e.getComponent(i);if(cc.isValid(n)){var r=n[this.handler];"function"==typeof r&&(null!=this.customEventData&&""!==this.customEventData&&(t=t.slice()).push(this.customEventData),r.apply(n,t))}}},_compName2Id:function(t){var e=cc.js.getClassByName(t);return cc.js._getClassId(e)},_compId2Name:function(t){var e=cc.js._getClassById(t);return cc.js.getClassName(e)},_genCompIdIfNeeded:function(){this._componentId||(this._componentName=this.component,this.component="")}})}),{}],73:[(function(t,e,i){"use strict";var n=t("../platform/CCMacro"),r=t("./CCRenderComponent"),s=t("../assets/material/CCMaterial"),o=t("../renderer/utils/label/label-frame"),a=n.TextAlignment,c=n.VerticalTextAlignment,l=cc.Enum({NONE:0,CLAMP:1,SHRINK:2,RESIZE_HEIGHT:3}),h=cc.Enum({NONE:0,BITMAP:1,CHAR:2}),u=cc.Class({name:"cc.Label",extends:r,ctor:function(){this._actualFontSize=0,this._assemblerData=null,this._frame=null,this._ttfTexture=null,this._letterTexture=null,cc.game.renderType===cc.game.RENDER_TYPE_CANVAS?this._activateMaterial=this._activateMaterialCanvas:this._activateMaterial=this._activateMaterialWebgl},editor:!1,properties:{_useOriginalSize:!0,_string:{default:"",formerlySerializedAs:"_N$string"},string:{get:function(){return this._string},set:function(t){var e=this._string;this._string=""+t,this.string!==e&&this._lazyUpdateRenderData(),this._checkStringEmpty()},multiline:!0,tooltip:!1},horizontalAlign:{default:a.LEFT,type:a,tooltip:!1,notify:function(t){this.horizontalAlign!==t&&this._lazyUpdateRenderData()},animatable:!1},verticalAlign:{default:c.TOP,type:c,tooltip:!1,notify:function(t){this.verticalAlign!==t&&this._lazyUpdateRenderData()},animatable:!1},actualFontSize:{displayName:"Actual Font Size",animatable:!1,readonly:!0,get:function(){return this._actualFontSize},tooltip:!1},_fontSize:40,fontSize:{get:function(){return this._fontSize},set:function(t){this._fontSize!==t&&(this._fontSize=t,this._lazyUpdateRenderData())},range:[0,512],tooltip:!1},fontFamily:{default:"Arial",tooltip:!1,notify:function(t){this.fontFamily!==t&&this._lazyUpdateRenderData()},animatable:!1},_lineHeight:40,lineHeight:{get:function(){return this._lineHeight},set:function(t){this._lineHeight!==t&&(this._lineHeight=t,this._lazyUpdateRenderData())},tooltip:!1},overflow:{default:l.NONE,type:l,tooltip:!1,notify:function(t){this.overflow!==t&&this._lazyUpdateRenderData()},animatable:!1},_enableWrapText:!0,enableWrapText:{get:function(){return this._enableWrapText},set:function(t){this._enableWrapText!==t&&(this._enableWrapText=t,this._lazyUpdateRenderData())},animatable:!1,tooltip:!1},_N$file:null,font:{get:function(){return this._N$file},set:function(t){this.font!==t&&(t||(this._isSystemFontUsed=!0),this._N$file=t,t&&this._isSystemFontUsed&&(this._isSystemFontUsed=!1),"string"==typeof t&&cc.warnID(4e3),this._resetAssembler(),this._applyFontTexture(!0),this._lazyUpdateRenderData())},type:cc.Font,tooltip:!1,animatable:!1},_isSystemFontUsed:!0,useSystemFont:{get:function(){return this._isSystemFontUsed},set:function(t){this._isSystemFontUsed!==t&&(this._isSystemFontUsed=!!t,t?(this.font=null,this._resetAssembler(),this._applyFontTexture(!0),this._lazyUpdateRenderData(),this._checkStringEmpty()):this._userDefinedFont||this.disableRender())},animatable:!1,tooltip:!1},_bmFontOriginalSize:{displayName:"BMFont Original Size",get:function(){return this._N$file instanceof cc.BitmapFont?this._N$file.fontSize:-1},visible:!0,animatable:!1},_spacingX:0,spacingX:{get:function(){return this._spacingX},set:function(t){this._spacingX=t,this._lazyUpdateRenderData()},tooltip:!1},_batchAsBitmap:!1,cacheMode:{default:h.NONE,type:h,tooltip:!1,notify:function(t){this.cacheMode!==t&&(t!==h.BITMAP||this.font instanceof cc.BitmapFont||this._frame._resetDynamicAtlasFrame(),t===h.CHAR&&(this._ttfTexture=null),this._resetAssembler(),this._applyFontTexture(!0),this._lazyUpdateRenderData())},animatable:!1},_isBold:{default:!1,serializable:!1},_isItalic:{default:!1,serializable:!1},_isUnderline:{default:!1,serializable:!1}},statics:{HorizontalAlign:a,VerticalAlign:c,Overflow:l,CacheMode:h,_shareAtlas:null,clearCharCache:function(){u._shareAtlas&&u._shareAtlas.clearAllCache()}},onLoad:function(){this._batchAsBitmap&&this.cacheMode===h.NONE&&(this.cacheMode=h.BITMAP,this._batchAsBitmap=!1)},onEnable:function(){this._super(),this.font||this._isSystemFontUsed||(this.useSystemFont=!0),this.useSystemFont&&!this.fontFamily&&(this.fontFamily="Arial"),this.node.on(cc.Node.EventType.SIZE_CHANGED,this._lazyUpdateRenderData,this),this.node.on(cc.Node.EventType.ANCHOR_CHANGED,this._lazyUpdateRenderData,this),this._forceUpdateRenderData(),this._checkStringEmpty()},onDisable:function(){this._super(),this.node.off(cc.Node.EventType.SIZE_CHANGED,this._lazyUpdateRenderData,this),this.node.off(cc.Node.EventType.ANCHOR_CHANGED,this._lazyUpdateRenderData,this)},onDestroy:function(){this._assembler&&this._assembler._resetAssemblerData&&this._assembler._resetAssemblerData(this._assemblerData),this._assemblerData=null,this._letterTexture=null,this._ttfTexture&&(this._ttfTexture.destroy(),this._ttfTexture=null),this._super()},_updateColor:function(){this.font instanceof cc.BitmapFont||this._lazyUpdateRenderData(),r.prototype._updateColor.call(this)},_resetAssembler:function(){this._frame=null,r.prototype._resetAssembler.call(this)},_canRender:function(){var t=this._super(),e=this.font;if(e instanceof cc.BitmapFont){var i=e.spriteFrame;i&&i.textureLoaded()||(t=!1)}return t},_checkStringEmpty:function(){this.markForRender(!!this.string)},_on3DNodeChanged:function(){this._resetAssembler(),this._applyFontTexture(!0)},_applyFontTexture:function(t){var e=this.font;if(e instanceof cc.BitmapFont){var i=e.spriteFrame;this._frame=i;var n=this,r=function(){n._frame._texture=i._texture,n._activateMaterial(t),t&&n._assembler&&n._assembler.updateRenderData(n)};i&&i.textureLoaded()?r():(this.disableRender(),i&&(i.once("load",r,this),i.ensureLoadTexture()))}else this._frame||(this._frame=new o),this.cacheMode===h.CHAR&&cc.sys.browserType!==cc.sys.BROWSER_TYPE_WECHAT_GAME_SUB?(this._letterTexture=this._assembler._getAssemblerData(),this._frame._refreshTexture(this._letterTexture)):this._ttfTexture||(this._ttfTexture=new cc.Texture2D,this._assemblerData=this._assembler._getAssemblerData(),this._ttfTexture.initWithElement(this._assemblerData.canvas)),this.cacheMode!==h.CHAR&&(this._frame._resetDynamicAtlasFrame(),this._frame._refreshTexture(this._ttfTexture)),this._activateMaterial(t),t&&this._assembler&&this._assembler.updateRenderData(this)},_activateMaterialCanvas:function(t){t&&(this._frame._texture.url=this.uuid+"_texture",this.markForUpdateRenderData(!0),this.markForRender(!0))},_activateMaterialWebgl:function(t){if(t)if(this._frame){var e=this.sharedMaterials[0];(e=e?s.getInstantiatedMaterial(e,this):s.getInstantiatedBuiltinMaterial("2d-sprite",this)).setProperty("texture",this._frame._texture),this.setMaterial(0,e),this.markForUpdateRenderData(!0),this.markForRender(!0)}else this.disableRender()},_lazyUpdateRenderData:function(){this.setVertsDirty(),this.markForUpdateRenderData(!0)},_forceUpdateRenderData:function(){this.setVertsDirty(),this._resetAssembler(),this._applyFontTexture(!0),this.markForUpdateRenderData(!0)},_enableBold:function(t){this._isBold=!!t},_enableItalics:function(t){this._isItalic=!!t},_enableUnderline:function(t){this._isUnderline=!!t}});cc.Label=e.exports=u}),{"../assets/material/CCMaterial":53,"../platform/CCMacro":165,"../renderer/utils/label/label-frame":212,"./CCRenderComponent":80}],74:[(function(t,e,i){"use strict";var n=t("../CCNode").EventType,r=cc.Enum({NONE:0,HORIZONTAL:1,VERTICAL:2,GRID:3}),s=cc.Enum({NONE:0,CONTAINER:1,CHILDREN:2}),o=cc.Enum({HORIZONTAL:0,VERTICAL:1}),a=cc.Enum({BOTTOM_TO_TOP:0,TOP_TO_BOTTOM:1}),c=cc.Enum({LEFT_TO_RIGHT:0,RIGHT_TO_LEFT:1}),l=cc.Class({name:"cc.Layout",extends:t("./CCComponent"),editor:!1,properties:{_layoutSize:cc.size(300,200),_layoutDirty:{default:!0,serializable:!1},_resize:s.NONE,_N$layoutType:r.NONE,type:{type:r,get:function(){return this._N$layoutType},set:function(t){this._N$layoutType=t,this._doLayoutDirty()},tooltip:!1,animatable:!1},resizeMode:{type:s,tooltip:!1,animatable:!1,get:function(){return this._resize},set:function(t){this.type===r.NONE&&t===s.CHILDREN||(this._resize=t,this._doLayoutDirty())}},cellSize:{default:cc.size(40,40),tooltip:!1,type:cc.Size,notify:function(){this._doLayoutDirty()}},startAxis:{default:o.HORIZONTAL,tooltip:!1,type:o,notify:function(){this._doLayoutDirty()},animatable:!1},_N$padding:{default:0},paddingLeft:{default:0,tooltip:!1,notify:function(){this._doLayoutDirty()}},paddingRight:{default:0,tooltip:!1,notify:function(){this._doLayoutDirty()}},paddingTop:{default:0,tooltip:!1,notify:function(){this._doLayoutDirty()}},paddingBottom:{default:0,tooltip:!1,notify:function(){this._doLayoutDirty()}},spacingX:{default:0,notify:function(){this._doLayoutDirty()},tooltip:!1},spacingY:{default:0,notify:function(){this._doLayoutDirty()},tooltip:!1},verticalDirection:{default:a.TOP_TO_BOTTOM,type:a,notify:function(){this._doLayoutDirty()},tooltip:!1,animatable:!1},horizontalDirection:{default:c.LEFT_TO_RIGHT,type:c,notify:function(){this._doLayoutDirty()},tooltip:!1,animatable:!1},affectedByScale:{default:!1,notify:function(){this._doLayoutDirty()},animatable:!1,tooltip:!1}},statics:{Type:r,VerticalDirection:a,HorizontalDirection:c,ResizeMode:s,AxisDirection:o},_migratePaddingData:function(){this.paddingLeft=this._N$padding,this.paddingRight=this._N$padding,this.paddingTop=this._N$padding,this.paddingBottom=this._N$padding,this._N$padding=0},onEnable:function(){this._addEventListeners(),this.node.getContentSize().equals(cc.size(0,0))&&this.node.setContentSize(this._layoutSize),0!==this._N$padding&&this._migratePaddingData(),this._doLayoutDirty()},onDisable:function(){this._removeEventListeners()},_doLayoutDirty:function(){this._layoutDirty=!0},_doScaleDirty:function(){this._layoutDirty=this._layoutDirty||this.affectedByScale},_addEventListeners:function(){cc.director.on(cc.Director.EVENT_AFTER_UPDATE,this.updateLayout,this),this.node.on(n.SIZE_CHANGED,this._resized,this),this.node.on(n.ANCHOR_CHANGED,this._doLayoutDirty,this),this.node.on(n.CHILD_ADDED,this._childAdded,this),this.node.on(n.CHILD_REMOVED,this._childRemoved,this),this.node.on(n.CHILD_REORDER,this._doLayoutDirty,this),this._addChildrenEventListeners()},_removeEventListeners:function(){cc.director.off(cc.Director.EVENT_AFTER_UPDATE,this.updateLayout,this),this.node.off(n.SIZE_CHANGED,this._resized,this),this.node.off(n.ANCHOR_CHANGED,this._doLayoutDirty,this),this.node.off(n.CHILD_ADDED,this._childAdded,this),this.node.off(n.CHILD_REMOVED,this._childRemoved,this),this.node.off(n.CHILD_REORDER,this._doLayoutDirty,this),this._removeChildrenEventListeners()},_addChildrenEventListeners:function(){for(var t=this.node.children,e=0;e<t.length;++e){var i=t[e];i.on(n.SCALE_CHANGED,this._doScaleDirty,this),i.on(n.SIZE_CHANGED,this._doLayoutDirty,this),i.on(n.POSITION_CHANGED,this._doLayoutDirty,this),i.on(n.ANCHOR_CHANGED,this._doLayoutDirty,this),i.on("active-in-hierarchy-changed",this._doLayoutDirty,this)}},_removeChildrenEventListeners:function(){for(var t=this.node.children,e=0;e<t.length;++e){var i=t[e];i.off(n.SCALE_CHANGED,this._doScaleDirty,this),i.off(n.SIZE_CHANGED,this._doLayoutDirty,this),i.off(n.POSITION_CHANGED,this._doLayoutDirty,this),i.off(n.ANCHOR_CHANGED,this._doLayoutDirty,this),i.off("active-in-hierarchy-changed",this._doLayoutDirty,this)}},_childAdded:function(t){t.on(n.SCALE_CHANGED,this._doScaleDirty,this),t.on(n.SIZE_CHANGED,this._doLayoutDirty,this),t.on(n.POSITION_CHANGED,this._doLayoutDirty,this),t.on(n.ANCHOR_CHANGED,this._doLayoutDirty,this),t.on("active-in-hierarchy-changed",this._doLayoutDirty,this),this._doLayoutDirty()},_childRemoved:function(t){t.off(n.SCALE_CHANGED,this._doScaleDirty,this),t.off(n.SIZE_CHANGED,this._doLayoutDirty,this),t.off(n.POSITION_CHANGED,this._doLayoutDirty,this),t.off(n.ANCHOR_CHANGED,this._doLayoutDirty,this),t.off("active-in-hierarchy-changed",this._doLayoutDirty,this),this._doLayoutDirty()},_resized:function(){this._layoutSize=this.node.getContentSize(),this._doLayoutDirty()},_doLayoutHorizontally:function(t,e,i,n){var o=this.node.getAnchorPoint(),l=this.node.children,h=1,u=this.paddingLeft,_=-o.x*t;this.horizontalDirection===c.RIGHT_TO_LEFT&&(h=-1,_=(1-o.x)*t,u=this.paddingRight);for(var f=_+h*u-h*this.spacingX,d=0,p=0,m=0,y=0,v=0,g=0,x=0,C=0;C<l.length;++C){(b=l[C]).activeInHierarchy&&x++}var A=this.cellSize.width;this.type!==r.GRID&&this.resizeMode===s.CHILDREN&&(A=(t-(this.paddingLeft+this.paddingRight)-(x-1)*this.spacingX)/x);for(C=0;C<l.length;++C){var b=l[C],S=this._getUsedScaleValue(b.scaleX),T=this._getUsedScaleValue(b.scaleY);if(b.activeInHierarchy){this._resize===s.CHILDREN&&(b.width=A/S,this.type===r.GRID&&(b.height=this.cellSize.height/T));var w=b.anchorX,E=b.width*S,B=b.height*T;m>p&&(p=m),B>=p&&(m=p,p=B,g=b.getAnchorPoint().y),this.horizontalDirection===c.RIGHT_TO_LEFT&&(w=1-b.anchorX),f=f+h*w*E+h*this.spacingX;var M=h*(1-w)*E;if(e){var I=f+M+h*(h>0?this.paddingRight:this.paddingLeft),R=this.horizontalDirection===c.LEFT_TO_RIGHT&&I>(1-o.x)*t,P=this.horizontalDirection===c.RIGHT_TO_LEFT&&I<-o.x*t;(R||P)&&(B>=p?(0===m&&(m=p),d+=m,m=p):(d+=p,m=B,p=0),f=_+h*(u+w*E),y++)}var D=i(b,d,y);t>=E+this.paddingLeft+this.paddingRight&&n&&b.setPosition(cc.v2(f,D));var L,O=1,V=0===p?B:p;this.verticalDirection===a.TOP_TO_BOTTOM?(v=v||this.node._contentSize.height,(L=D+(O=-1)*(V*g+this.paddingBottom))<v&&(v=L)):(v=v||-this.node._contentSize.height,(L=D+O*(V*g+this.paddingTop))>v&&(v=L)),f+=M}}return v},_getVerticalBaseHeight:function(t){var e=0,i=0;if(this.resizeMode===s.CONTAINER){for(var n=0;n<t.length;++n){var r=t[n];r.activeInHierarchy&&(i++,e+=r.height*this._getUsedScaleValue(r.scaleY))}e+=(i-1)*this.spacingY+this.paddingBottom+this.paddingTop}else e=this.node.getContentSize().height;return e},_doLayoutVertically:function(t,e,i,n){var o=this.node.getAnchorPoint(),l=this.node.children,h=1,u=this.paddingBottom,_=-o.y*t;this.verticalDirection===a.TOP_TO_BOTTOM&&(h=-1,_=(1-o.y)*t,u=this.paddingTop);for(var f=_+h*u-h*this.spacingY,d=0,p=0,m=0,y=0,v=0,g=0,x=0,C=0;C<l.length;++C){(b=l[C]).activeInHierarchy&&x++}var A=this.cellSize.height;this.type!==r.GRID&&this.resizeMode===s.CHILDREN&&(A=(t-(this.paddingTop+this.paddingBottom)-(x-1)*this.spacingY)/x);for(C=0;C<l.length;++C){var b=l[C],S=this._getUsedScaleValue(b.scaleX),T=this._getUsedScaleValue(b.scaleY);if(b.activeInHierarchy){this.resizeMode===s.CHILDREN&&(b.height=A/T,this.type===r.GRID&&(b.width=this.cellSize.width/S));var w=b.anchorY,E=b.width*S,B=b.height*T;m>p&&(p=m),E>=p&&(m=p,p=E,g=b.getAnchorPoint().x),this.verticalDirection===a.TOP_TO_BOTTOM&&(w=1-b.anchorY),f=f+h*w*B+h*this.spacingY;var M=h*(1-w)*B;if(e){var I=f+M+h*(h>0?this.paddingTop:this.paddingBottom),R=this.verticalDirection===a.BOTTOM_TO_TOP&&I>(1-o.y)*t,P=this.verticalDirection===a.TOP_TO_BOTTOM&&I<-o.y*t;(R||P)&&(E>=p?(0===m&&(m=p),d+=m,m=p):(d+=p,m=E,p=0),f=_+h*(u+w*B),y++)}var D=i(b,d,y);t>=B+(this.paddingTop+this.paddingBottom)&&n&&b.setPosition(cc.v2(D,f));var L,O=1,V=0===p?E:p;this.horizontalDirection===c.RIGHT_TO_LEFT?(O=-1,v=v||this.node._contentSize.width,(L=D+O*(V*g+this.paddingLeft))<v&&(v=L)):(v=v||-this.node._contentSize.width,(L=D+O*(V*g+this.paddingRight))>v&&(v=L)),f+=M}}return v},_doLayoutBasic:function(){for(var t=this.node.children,e=null,i=0;i<t.length;++i){var n=t[i];n.activeInHierarchy&&(e?e.union(e,n.getBoundingBoxToWorld()):e=n.getBoundingBoxToWorld())}if(e){var r=this.node.convertToNodeSpaceAR(cc.v2(e.x,e.y));r=cc.v2(r.x-this.paddingLeft,r.y-this.paddingBottom);var s=this.node.convertToNodeSpaceAR(cc.v2(e.xMax,e.yMax)),o=(s=cc.v2(s.x+this.paddingRight,s.y+this.paddingTop)).sub(r);if(0!==(o=cc.size(parseFloat(o.x.toFixed(2)),parseFloat(o.y.toFixed(2)))).width){var a=-r.x/o.width;this.node.anchorX=parseFloat(a.toFixed(2))}if(0!==o.height){var c=-r.y/o.height;this.node.anchorY=parseFloat(c.toFixed(2))}this.node.setContentSize(o)}},_doLayoutGridAxisHorizontal:function(t,e){var i=e.width,n=1,r=-t.y*e.height,o=this.paddingBottom;this.verticalDirection===a.TOP_TO_BOTTOM&&(n=-1,r=(1-t.y)*e.height,o=this.paddingTop);var c=function(t,e,i){return r+n*(e+t.anchorY*t.height*this._getUsedScaleValue(t.scaleY)+o+i*this.spacingY)}.bind(this),l=0;if(this.resizeMode===s.CONTAINER){var h=this._doLayoutHorizontally(i,!0,c,!1);(l=r-h)<0&&(l*=-1),r=-t.y*l,this.verticalDirection===a.TOP_TO_BOTTOM&&(n=-1,r=(1-t.y)*l)}this._doLayoutHorizontally(i,!0,c,!0),this.resizeMode===s.CONTAINER&&this.node.setContentSize(i,l)},_doLayoutGridAxisVertical:function(t,e){var i=e.height,n=1,r=-t.x*e.width,o=this.paddingLeft;this.horizontalDirection===c.RIGHT_TO_LEFT&&(n=-1,r=(1-t.x)*e.width,o=this.paddingRight);var a=function(t,e,i){return r+n*(e+t.anchorX*t.width*this._getUsedScaleValue(t.scaleX)+o+i*this.spacingX)}.bind(this),l=0;if(this.resizeMode===s.CONTAINER){var h=this._doLayoutVertically(i,!0,a,!1);(l=r-h)<0&&(l*=-1),r=-t.x*l,this.horizontalDirection===c.RIGHT_TO_LEFT&&(n=-1,r=(1-t.x)*l)}this._doLayoutVertically(i,!0,a,!0),this.resizeMode===s.CONTAINER&&this.node.setContentSize(l,i)},_doLayoutGrid:function(){var t=this.node.getAnchorPoint(),e=this.node.getContentSize();this.startAxis===o.HORIZONTAL?this._doLayoutGridAxisHorizontal(t,e):this.startAxis===o.VERTICAL&&this._doLayoutGridAxisVertical(t,e)},_getHorizontalBaseWidth:function(t){var e=0,i=0;if(this.resizeMode===s.CONTAINER){for(var n=0;n<t.length;++n){var r=t[n];r.activeInHierarchy&&(i++,e+=r.width*this._getUsedScaleValue(r.scaleX))}e+=(i-1)*this.spacingX+this.paddingLeft+this.paddingRight}else e=this.node.getContentSize().width;return e},_doLayout:function(){if(this.type===r.HORIZONTAL){var t=this._getHorizontalBaseWidth(this.node.children);this._doLayoutHorizontally(t,!1,(function(t){return t.y}),!0),this.node.width=t}else if(this.type===r.VERTICAL){var e=this._getVerticalBaseHeight(this.node.children);this._doLayoutVertically(e,!1,(function(t){return t.x}),!0),this.node.height=e}else this.type===r.NONE?this.resizeMode===s.CONTAINER&&this._doLayoutBasic():this.type===r.GRID&&this._doLayoutGrid()},_getUsedScaleValue:function(t){return this.affectedByScale?Math.abs(t):1},updateLayout:function(){this._layoutDirty&&this.node.children.length>0&&(this._doLayout(),this._layoutDirty=!1)}});Object.defineProperty(l.prototype,"padding",{get:function(){return cc.warnID(4100),this.paddingLeft},set:function(t){this._N$padding=t,this._migratePaddingData(),this._doLayoutDirty()}}),cc.Layout=e.exports=l}),{"../CCNode":30,"./CCComponent":71}],75:[(function(t,e,i){"use strict";var n=(function(t){return t&&t.__esModule?t:{default:t}})(t("../../renderer/gfx")),r=t("../vmath");var s=t("../utils/misc"),o=t("../assets/material/CCMaterial"),a=t("./CCRenderComponent"),c=t("../renderer/render-flow"),l=t("../graphics/graphics"),h=t("../CCNode"),u=cc.v2(),_=r.mat4.create(),f=[];function d(t,e,i){f.length=0;for(var n=2*Math.PI/i,r=0;r<i;++r)f.push(cc.v2(e.x*Math.cos(n*r)+t.x,e.y*Math.sin(n*r)+t.y));return f}var p=cc.Enum({RECT:0,ELLIPSE:1,IMAGE_STENCIL:2}),m=cc.Class({name:"cc.Mask",extends:a,editor:!1,ctor:function(){this._graphics=null,this._enableMaterial=null,this._exitMaterial=null,this._clearMaterial=null},properties:{_spriteFrame:{default:null,type:cc.SpriteFrame},_type:p.RECT,type:{get:function(){return this._type},set:function(t){this._type!==t&&this._resetAssembler(),this._type=t,this._type!==p.IMAGE_STENCIL&&(this.spriteFrame=null,this.alphaThreshold=0,this._updateGraphics()),this._activateMaterial()},type:p,tooltip:!1},spriteFrame:{type:cc.SpriteFrame,tooltip:!1,get:function(){return this._spriteFrame},set:function(t){var e=this._spriteFrame;e!==t&&(this._spriteFrame=t,this._applySpriteFrame(e))}},alphaThreshold:{default:0,type:cc.Float,range:[0,1,.1],slide:!0,tooltip:!1,notify:function(){if(cc.game.renderType!==cc.game.RENDER_TYPE_CANVAS){var t=this.sharedMaterials[0];t&&t.setProperty("alphaThreshold",this.alphaThreshold)}else cc.warnID(4201)}},inverted:{default:!1,type:cc.Boolean,tooltip:!1,notify:function(){cc.game.renderType!==cc.game.RENDER_TYPE_CANVAS||cc.warnID(4202)}},_segments:64,segements:{get:function(){return this._segments},set:function(t){this._segments=s.clampf(t,3,1e4),this._updateGraphics()},type:cc.Integer,tooltip:!1},_resizeToTarget:{animatable:!1,set:function(t){t&&this._resizeNodeToTargetNode()}}},statics:{Type:p},onLoad:function(){this._createGraphics()},onRestore:function(){this._createGraphics(),this._type!==p.IMAGE_STENCIL?this._updateGraphics():this._applySpriteFrame()},onEnable:function(){this._super(),this._type===p.IMAGE_STENCIL?this._spriteFrame&&this._spriteFrame.textureLoaded()||(this.markForRender(!1),this._spriteFrame&&(this.markForUpdateRenderData(!1),this._spriteFrame.once("load",this._onTextureLoaded,this),this._spriteFrame.ensureLoadTexture())):this._updateGraphics(),this.node.on(cc.Node.EventType.POSITION_CHANGED,this._updateGraphics,this),this.node.on(cc.Node.EventType.ROTATION_CHANGED,this._updateGraphics,this),this.node.on(cc.Node.EventType.SCALE_CHANGED,this._updateGraphics,this),this.node.on(cc.Node.EventType.SIZE_CHANGED,this._updateGraphics,this),this.node.on(cc.Node.EventType.ANCHOR_CHANGED,this._updateGraphics,this),this.node._renderFlag|=c.FLAG_POST_RENDER,this._activateMaterial()},onDisable:function(){this._super(),this.node.off(cc.Node.EventType.POSITION_CHANGED,this._updateGraphics,this),this.node.off(cc.Node.EventType.ROTATION_CHANGED,this._updateGraphics,this),this.node.off(cc.Node.EventType.SCALE_CHANGED,this._updateGraphics,this),this.node.off(cc.Node.EventType.SIZE_CHANGED,this._updateGraphics,this),this.node.off(cc.Node.EventType.ANCHOR_CHANGED,this._updateGraphics,this),this.node._renderFlag&=~c.FLAG_POST_RENDER},onDestroy:function(){this._super(),this._removeGraphics()},_resizeNodeToTargetNode:!1,_onTextureLoaded:function(){this.setVertsDirty(),this._assembler&&this._assembler._renderData&&this.markForUpdateRenderData(!0),this.enabledInHierarchy&&this._activateMaterial()},_applySpriteFrame:function(t){t&&t.off&&t.off("load",this._onTextureLoaded,this);var e=this._spriteFrame;e?e.textureLoaded()?this._onTextureLoaded(null):(e.once("load",this._onTextureLoaded,this),e.ensureLoadTexture()):this.disableRender()},_activateMaterial:function(){if(this._type!==p.IMAGE_STENCIL||this.spriteFrame&&this.spriteFrame.textureLoaded()){if(cc.game.renderType!==cc.game.RENDER_TYPE_CANVAS){var t=this.sharedMaterials[0];if((t=t?o.getInstantiatedMaterial(t,this):o.getInstantiatedBuiltinMaterial("2d-sprite",this)).define("USE_ALPHA_TEST",!0),this._type===p.IMAGE_STENCIL){var e=this.spriteFrame.getTexture();t.define("CC_USE_MODEL",!1),t.define("USE_TEXTURE",!0),t.setProperty("texture",e),t.setProperty("alphaThreshold",this.alphaThreshold)}else t.define("CC_USE_MODEL",!0),t.define("USE_TEXTURE",!1);this._enableMaterial||(this._enableMaterial=o.getInstantiatedBuiltinMaterial("2d-sprite",this)),this._exitMaterial||(this._exitMaterial=o.getInstantiatedBuiltinMaterial("2d-sprite",this),this._exitMaterial.effect.setStencilEnabled(n.default.STENCIL_DISABLE)),this._clearMaterial||(this._clearMaterial=o.getInstantiatedBuiltinMaterial("clear-stencil",this)),this.setMaterial(0,t)}this.markForRender(!0)}else this.markForRender(!1)},_createGraphics:function(){this._graphics||(this._graphics=new l,cc.Assembler.init(this._graphics),this._graphics.node=this.node,this._graphics.lineWidth=0,this._graphics.strokeColor=cc.color(0,0,0,0)),this._clearGraphics||(this._clearGraphics=new l,cc.Assembler.init(this._clearGraphics),this._clearGraphics.node=new h,this._clearGraphics._activateMaterial(),this._clearGraphics.lineWidth=0,this._clearGraphics.rect(-1,-1,2,2),this._clearGraphics.fill())},_updateGraphics:function(){var t=this.node,e=this._graphics;e.clear(!1);var i=t._contentSize.width,n=t._contentSize.height,r=-i*t._anchorPoint.x,s=-n*t._anchorPoint.y;if(this._type===p.RECT)e.rect(r,s,i,n);else if(this._type===p.ELLIPSE){for(var o=d(cc.v2(r+i/2,s+n/2),{x:i/2,y:n/2},this._segments),a=0;a<o.length;++a){var c=o[a];0===a?e.moveTo(c.x,c.y):e.lineTo(c.x,c.y)}e.close()}cc.game.renderType===cc.game.RENDER_TYPE_CANVAS?e.stroke():e.fill()},_removeGraphics:function(){this._graphics&&(this._graphics.destroy(),this._graphics=null),this._clearGraphics&&(this._clearGraphics.destroy(),this._clearGraphics=null)},_hitTest:function(t){var e=this.node,i=e.getContentSize(),n=i.width,s=i.height,o=u;if(e._updateWorldMatrix(),!r.mat4.invert(_,e._worldMatrix))return!1;r.vec2.transformMat4(o,t,_),o.x+=e._anchorPoint.x*n,o.y+=e._anchorPoint.y*s;var a=!1;if(this.type===p.RECT||this.type===p.IMAGE_STENCIL)a=o.x>=0&&o.y>=0&&o.x<=n&&o.y<=s;else if(this.type===p.ELLIPSE){var c=n/2,l=s/2,h=o.x-.5*n,f=o.y-.5*s;a=h*h/(c*c)+f*f/(l*l)<1}return this.inverted&&(a=!a),a},markForUpdateRenderData:function(t){t&&this.enabledInHierarchy?this.node._renderFlag|=c.FLAG_UPDATE_RENDER_DATA:t||(this.node._renderFlag&=~c.FLAG_UPDATE_RENDER_DATA)},markForRender:function(t){t&&this.enabledInHierarchy?this.node._renderFlag|=c.FLAG_RENDER|c.FLAG_UPDATE_RENDER_DATA|c.FLAG_POST_RENDER:t||(this.node._renderFlag&=~(c.FLAG_RENDER|c.FLAG_POST_RENDER))},disableRender:function(){this.node._renderFlag&=~(c.FLAG_RENDER|c.FLAG_UPDATE_RENDER_DATA|c.FLAG_POST_RENDER)}});cc.Mask=e.exports=m}),{"../../renderer/gfx":308,"../CCNode":30,"../assets/material/CCMaterial":53,"../graphics/graphics":107,"../renderer/render-flow":208,"../utils/misc":249,"../vmath":274,"./CCRenderComponent":80}],76:[(function(t,e,i){"use strict";var n=t("../components/CCRenderComponent"),r=t("../assets/material/CCMaterial"),s=t("../utils/texture-util"),o=t("../../core/utils/blend-func"),a=cc.Class({name:"cc.MotionStreak",extends:n,mixins:[o],editor:!1,ctor:function(){this._points=[]},properties:{preview:{default:!1,editorOnly:!0,notify:!1,animatable:!1},_fadeTime:1,fadeTime:{get:function(){return this._fadeTime},set:function(t){this._fadeTime=t,this.reset()},animatable:!1,tooltip:!1},_minSeg:1,minSeg:{get:function(){return this._minSeg},set:function(t){this._minSeg=t},animatable:!1,tooltip:!1},_stroke:64,stroke:{get:function(){return this._stroke},set:function(t){this._stroke=t},animatable:!1,tooltip:!1},_texture:{default:null,type:cc.Texture2D},texture:{get:function(){return this._texture},set:function(t){this._texture!==t&&(this._texture=t,t&&t.loaded?this._activateMaterial():(this.disableRender(),this._ensureLoadTexture()))},type:cc.Texture2D,animatable:!1,tooltip:!1},_color:cc.Color.WHITE,color:{get:function(){return this._color},set:function(t){this._color=t},type:cc.Color,tooltip:!1},_fastMode:!1,fastMode:{get:function(){return this._fastMode},set:function(t){this._fastMode=t},animatable:!1,tooltip:!1}},onEnable:function(){this._super(),this._texture&&this._texture.loaded?this._activateMaterial():(this.disableRender(),this._ensureLoadTexture()),this.reset()},_ensureLoadTexture:function(){if(this._texture&&!this._texture.loaded){var t=this;s.postLoadTexture(this._texture,(function(){t._activateMaterial()}))}},_activateMaterial:function(){if(this._texture&&this._texture.loaded){var t=this.sharedMaterials[0];(t=t?r.getInstantiatedMaterial(t,this):r.getInstantiatedBuiltinMaterial("2d-sprite",this)).setProperty("texture",this._texture),this.setMaterial(0,t),this.markForRender(!0)}else this.disableRender()},onFocusInEditor:!1,onLostFocusInEditor:!1,reset:function(){this._points.length=0,this._assembler._renderData.clear()},update:function(t){this._assembler.update(this,t)}});cc.MotionStreak=e.exports=a}),{"../../core/utils/blend-func":244,"../assets/material/CCMaterial":53,"../components/CCRenderComponent":80,"../utils/texture-util":256}],77:[(function(t,e,i){"use strict";var n=cc.Enum({Unified:0,Free:1}),r=cc.Enum({Horizontal:0,Vertical:1}),s=cc.Enum({PAGE_TURNING:0}),o=cc.Class({name:"cc.PageView",extends:cc.ScrollView,editor:!1,ctor:function(){this._curPageIdx=0,this._lastPageIdx=0,this._pages=[],this._initContentPos=cc.v2(),this._scrollCenterOffsetX=[],this._scrollCenterOffsetY=[]},properties:{sizeMode:{default:n.Unified,type:n,tooltip:!1,notify:function(){this._syncSizeMode()}},direction:{default:r.Horizontal,type:r,tooltip:!1,notify:function(){this._syncScrollDirection()}},scrollThreshold:{default:.5,type:cc.Float,slide:!0,range:[0,1,.01],tooltip:!1},autoPageTurningThreshold:{default:100,type:cc.Float,tooltip:!1},pageTurningEventTiming:{default:.1,type:cc.Float,range:[0,1,.01],tooltip:!1},indicator:{default:null,type:cc.PageViewIndicator,tooltip:!1,notify:function(){this.indicator&&this.indicator.setPageView(this)}},pageTurningSpeed:{default:.3,type:cc.Float,tooltip:!1},pageEvents:{default:[],type:cc.Component.EventHandler,tooltip:!1}},statics:{SizeMode:n,Direction:r,EventType:s},__preload:function(){this.node.on(cc.Node.EventType.SIZE_CHANGED,this._updateAllPagesSize,this)},onEnable:function(){this._super(),this.node.on("scroll-ended-with-threshold",this._dispatchPageTurningEvent,this)},onDisable:function(){this._super(),this.node.off("scroll-ended-with-threshold",this._dispatchPageTurningEvent,this)},onLoad:function(){this._initPages(),this.indicator&&this.indicator.setPageView(this)},onDestroy:function(){this.node.off(cc.Node.EventType.SIZE_CHANGED,this._updateAllPagesSize,this)},getCurrentPageIndex:function(){return this._curPageIdx},setCurrentPageIndex:function(t){this.scrollToPage(t,!0)},getPages:function(){return this._pages},addPage:function(t){t&&-1===this._pages.indexOf(t)&&this.content&&(this.content.addChild(t),this._pages.push(t),this._updatePageView())},insertPage:function(t,e){e<0||!t||-1!==this._pages.indexOf(t)||!this.content||(e>=this._pages.length?this.addPage(t):(this._pages.splice(e,0,t),this.content.addChild(t),this._updatePageView()))},removePage:function(t){if(t&&this.content){var e=this._pages.indexOf(t);-1!==e?this.removePageAtIndex(e):cc.warnID(4300,t.name)}},removePageAtIndex:function(t){var e=this._pages;if(!(t<0||t>=e.length)){var i=e[t];i&&(this.content.removeChild(i),e.splice(t,1),this._updatePageView())}},removeAllPages:function(){if(this.content){for(var t=this._pages,e=0,i=t.length;e<i;e++)this.content.removeChild(t[e]);this._pages.length=0,this._updatePageView()}},scrollToPage:function(t,e){t<0||t>=this._pages.length||(e=void 0!==e?e:.3,this._curPageIdx=t,this.scrollToOffset(this._moveOffsetValue(t),e,!0),this.indicator&&this.indicator._changedState())},getScrollEndedEventTiming:function(){return this.pageTurningEventTiming},_syncScrollDirection:function(){this.horizontal=this.direction===r.Horizontal,this.vertical=this.direction===r.Vertical},_syncSizeMode:function(){if(this.content){var t=this.content.getComponent(cc.Layout);if(t){if(this.sizeMode===n.Free&&this._pages.length>0){var e=this._pages[this._pages.length-1];this.direction===r.Horizontal?(t.paddingLeft=(this._view.width-this._pages[0].width)/2,t.paddingRight=(this._view.width-e.width)/2):this.direction===r.Vertical&&(t.paddingTop=(this._view.height-this._pages[0].height)/2,t.paddingBottom=(this._view.height-e.height)/2)}t.updateLayout()}}},_updatePageView:function(){var t=this.content.getComponent(cc.Layout);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,n=0;n<e;++n){var s=this._pages[n];s.setSiblingIndex(n),this.direction===r.Horizontal?this._scrollCenterOffsetX[n]=Math.abs(i.x+s.x):this._scrollCenterOffsetY[n]=Math.abs(i.y+s.y)}this.indicator&&this.indicator._refresh()},_updateAllPagesSize:function(){if(this.sizeMode===n.Unified)for(var t=this._pages,e=this._view.getContentSize(),i=0,r=t.length;i<r;i++)t[i].setContentSize(e)},_initPages:function(){if(this.content){this._initContentPos=this.content.position;for(var t=this.content.children,e=0;e<t.length;++e){var i=t[e];this._pages.indexOf(i)>=0||this._pages.push(i)}this._syncScrollDirection(),this._syncSizeMode(),this._updatePageView()}},_dispatchPageTurningEvent:function(){this._lastPageIdx!==this._curPageIdx&&(this._lastPageIdx=this._curPageIdx,cc.Component.EventHandler.emitEvents(this.pageEvents,this,s.PAGE_TURNING),this.node.emit("page-turning",this))},_isScrollable:function(t,e,i){if(this.sizeMode===n.Free){var s,o;if(this.direction===r.Horizontal)return s=this._scrollCenterOffsetX[e],o=this._scrollCenterOffsetX[i],Math.abs(t.x)>=Math.abs(s-o)*this.scrollThreshold;if(this.direction===r.Vertical)return s=this._scrollCenterOffsetY[e],o=this._scrollCenterOffsetY[i],Math.abs(t.y)>=Math.abs(s-o)*this.scrollThreshold}else{if(this.direction===r.Horizontal)return Math.abs(t.x)>=this._view.width*this.scrollThreshold;if(this.direction===r.Vertical)return Math.abs(t.y)>=this._view.height*this.scrollThreshold}},_isQuicklyScrollable:function(t){if(this.direction===r.Horizontal){if(Math.abs(t.x)>this.autoPageTurningThreshold)return!0}else if(this.direction===r.Vertical&&Math.abs(t.y)>this.autoPageTurningThreshold)return!0;return!1},_moveOffsetValue:function(t){var e=cc.v2(0,0);return this.sizeMode===n.Free?this.direction===r.Horizontal?e.x=this._scrollCenterOffsetX[t]:this.direction===r.Vertical&&(e.y=this._scrollCenterOffsetY[t]):this.direction===r.Horizontal?e.x=t*this._view.width:this.direction===r.Vertical&&(e.y=t*this._view.height),e},_getDragDirection:function(t){return this.direction===r.Horizontal?0===t.x?0:t.x>0?1:-1:this.direction===r.Vertical?0===t.y?0:t.y<0?1:-1:void 0},_handleReleaseLogic:function(t){this._autoScrollToPage(),this._scrolling&&(this._scrolling=!1,this._autoScrolling||this._dispatchEvent("scroll-ended"))},_autoScrollToPage:function(){var t=this._startBounceBackIfNeeded(),e=this._touchBeganPosition.sub(this._touchEndPosition);if(t){var i=this._getDragDirection(e);if(0===i)return;this._curPageIdx=i>0?this._pages.length-1:0,this.indicator&&this.indicator._changedState()}else{var n=this._curPageIdx,r=n+this._getDragDirection(e),s=this.pageTurningSpeed*Math.abs(n-r);if(r<this._pages.length){if(this._isScrollable(e,n,r))return void this.scrollToPage(r,s);var o=this._calculateTouchMoveVelocity();if(this._isQuicklyScrollable(o))return void this.scrollToPage(r,s)}this.scrollToPage(n,s)}},_onTouchBegan:function(t,e){this._touchBeganPosition=t.touch.getLocation(),this._super(t,e)},_onTouchMoved:function(t,e){this._super(t,e)},_onTouchEnded:function(t,e){this._touchEndPosition=t.touch.getLocation(),this._super(t,e)},_onTouchCancelled:function(t,e){this._touchEndPosition=t.touch.getLocation(),this._super(t,e)},_onMouseWheel:function(){}});cc.PageView=e.exports=o}),{}],78:[(function(t,e,i){"use strict";var n=cc.Enum({HORIZONTAL:0,VERTICAL:1}),r=cc.Class({name:"cc.PageViewIndicator",extends:t("./CCComponent"),editor:!1,properties:{_layout:null,_pageView:null,_indicators:[],spriteFrame:{default:null,type:cc.SpriteFrame,tooltip:!1},direction:{default:n.HORIZONTAL,type:n,tooltip:!1},cellSize:{default:cc.size(20,20),tooltip:!1},spacing:{default:0,tooltip:!1}},statics:{Direction:n},onLoad:function(){this._updateLayout()},setPageView:function(t){this._pageView=t,this._refresh()},_updateLayout:function(){this._layout=this.getComponent(cc.Layout),this._layout||(this._layout=this.addComponent(cc.Layout)),this.direction===n.HORIZONTAL?(this._layout.type=cc.Layout.Type.HORIZONTAL,this._layout.spacingX=this.spacing):this.direction===n.VERTICAL&&(this._layout.type=cc.Layout.Type.VERTICAL,this._layout.spacingY=this.spacing),this._layout.resizeMode=cc.Layout.ResizeMode.CONTAINER},_createIndicator:function(){var t=new cc.Node;return t.addComponent(cc.Sprite).spriteFrame=this.spriteFrame,t.parent=this.node,t.width=this.cellSize.width,t.height=this.cellSize.height,t},_changedState:function(){var t=this._indicators;if(0!==t.length){var e=this._pageView._curPageIdx;if(!(e>=t.length)){for(var i=0;i<t.length;++i){t[i].opacity=127.5}t[e].opacity=255}}},_refresh:function(){if(this._pageView){var t=this._indicators,e=this._pageView.getPages();if(e.length!==t.length){var i=0;if(e.length>t.length)for(i=0;i<e.length;++i)t[i]||(t[i]=this._createIndicator());else for(i=t.length-e.length;i>0;--i){var n=t[i-1];this.node.removeChild(n),t.splice(i-1,1)}this._layout&&this._layout.enabledInHierarchy&&this._layout.updateLayout(),this._changedState()}}}});cc.PageViewIndicator=e.exports=r}),{"./CCComponent":71}],79:[(function(t,e,i){"use strict";var n=t("../utils/misc"),r=t("./CCComponent"),s=cc.Enum({HORIZONTAL:0,VERTICAL:1,FILLED:2}),o=cc.Class({name:"cc.ProgressBar",extends:r,editor:!1,_initBarSprite:function(){if(this.barSprite){var t=this.barSprite.node;if(!t)return;var e=this.node.getContentSize(),i=this.node.getAnchorPoint(),n=t.getContentSize();t.parent===this.node&&this.node.setContentSize(n),this.barSprite.fillType===cc.Sprite.FillType.RADIAL&&(this.mode=s.FILLED);var r=t.getContentSize();if(this.mode===s.HORIZONTAL?this.totalLength=r.width:this.mode===s.VERTICAL?this.totalLength=r.height:this.totalLength=this.barSprite.fillRange,t.parent===this.node){var o=-e.width*i.x;t.setPosition(cc.v2(o,0))}}},_updateBarStatus:function(){if(this.barSprite){var t=this.barSprite.node;if(!t)return;var e,i,r,o=t.getAnchorPoint(),a=t.getContentSize(),c=t.getPosition(),l=cc.v2(0,.5),h=n.clamp01(this.progress),u=this.totalLength*h;switch(this.mode){case s.HORIZONTAL:this.reverse&&(l=cc.v2(1,.5)),e=cc.size(u,a.height),i=this.totalLength,r=a.height;break;case s.VERTICAL:l=this.reverse?cc.v2(.5,1):cc.v2(.5,0),e=cc.size(a.width,u),i=a.width,r=this.totalLength}if(this.mode===s.FILLED)this.barSprite.type!==cc.Sprite.Type.FILLED?cc.warn("ProgressBar FILLED mode only works when barSprite's Type is FILLED!"):(this.reverse&&(u*=-1),this.barSprite.fillRange=u);else if(this.barSprite.type!==cc.Sprite.Type.FILLED){var _=l.x-o.x,f=l.y-o.y,d=cc.v2(i*_,r*f);t.setPosition(c.x+d.x,c.y+d.y),t.setAnchorPoint(l),t.setContentSize(e)}else cc.warn("ProgressBar non-FILLED mode only works when barSprite's Type is non-FILLED!")}},properties:{barSprite:{default:null,type:cc.Sprite,tooltip:!1,notify:function(){this._initBarSprite()},animatable:!1},mode:{default:s.HORIZONTAL,type:s,tooltip:!1,notify:function(){if(this.barSprite){var t=this.barSprite.node;if(!t)return;var e=t.getContentSize();this.mode===s.HORIZONTAL?this.totalLength=e.width:this.mode===s.VERTICAL?this.totalLength=e.height:this.mode===s.FILLED&&(this.totalLength=this.barSprite.fillRange)}},animatable:!1},_N$totalLength:1,totalLength:{range:[0,Number.MAX_VALUE],tooltip:!1,get:function(){return this._N$totalLength},set:function(t){this.mode===s.FILLED&&(t=n.clamp01(t)),this._N$totalLength=t,this._updateBarStatus()}},progress:{default:1,type:cc.Float,range:[0,1,.1],slide:!0,tooltip:!1,notify:function(){this._updateBarStatus()}},reverse:{default:!1,tooltip:!1,notify:function(){this.barSprite&&(this.barSprite.fillStart=1-this.barSprite.fillStart),this._updateBarStatus()},animatable:!1}},statics:{Mode:s}});cc.ProgressBar=e.exports=o}),{"../utils/misc":249,"./CCComponent":71}],80:[(function(t,e,i){"use strict";var n=(function(t){return t&&t.__esModule?t:{default:t}})(t("../renderer/assembler"));var r=t("./CCComponent"),s=t("../renderer/render-flow"),o=t("../assets/material/CCMaterial"),a=cc.Class({name:"RenderComponent",extends:r,editor:!1,properties:{_materials:{default:[],type:o},sharedMaterials:{get:function(){return this._materials},set:function(t){this._materials=t,this._activateMaterial(!0)},type:[o],displayName:"Materials",animatable:!1}},ctor:function(){this._vertsDirty=!0,this._material=null,this._assembler=null},_resetAssembler:function(){this.setVertsDirty(!0),n.default.init(this),this._updateColor()},__preload:function(){this._resetAssembler()},onEnable:function(){this.node._renderComponent&&(this.node._renderComponent.enabled=!1),this.node._renderComponent=this,this.node.on(cc.Node.EventType.SIZE_CHANGED,this._onNodeSizeDirty,this),this.node.on(cc.Node.EventType.ANCHOR_CHANGED,this._onNodeSizeDirty,this),this.node._renderFlag|=s.FLAG_RENDER|s.FLAG_UPDATE_RENDER_DATA|s.FLAG_OPACITY_COLOR},onDisable:function(){this.node._renderComponent=null,this.node.off(cc.Node.EventType.SIZE_CHANGED,this._onNodeSizeDirty,this),this.node.off(cc.Node.EventType.ANCHOR_CHANGED,this._onNodeSizeDirty,this),this.disableRender()},onDestroy:function(){this._materials.length=0},setVertsDirty:function(){this._vertsDirty=!0,this.markForUpdateRenderData(!0)},_onNodeSizeDirty:function(){this.setVertsDirty()},_on3DNodeChanged:function(){this.setVertsDirty()},_canRender:function(){return this._enabled&&this.node._activeInHierarchy},markForUpdateRenderData:function(t){t&&this._canRender()?this.node._renderFlag|=s.FLAG_UPDATE_RENDER_DATA:t||(this.node._renderFlag&=~s.FLAG_UPDATE_RENDER_DATA)},markForRender:function(t){t&&this._canRender()?this.node._renderFlag|=s.FLAG_RENDER:t||(this.node._renderFlag&=~s.FLAG_RENDER)},disableRender:function(){this.node._renderFlag&=~(s.FLAG_RENDER|s.FLAG_UPDATE_RENDER_DATA)},getMaterial:function(t){if(t<0||t>=this._materials.length)return null;var e=this._materials[t];if(!e)return null;var i=o.getInstantiatedMaterial(e,this);return i!==e&&this.setMaterial(t,i),this._materials[t]},setMaterial:function(t,e){this._materials[t]=e,e&&this.markForUpdateRenderData(!0)},_activateMaterial:function(t){},_updateColor:function(){this._assembler.updateColor&&this._assembler.updateColor(this)},_checkBacth:function(t,e){var i=this.sharedMaterials[0];(i&&i.getHash()!==t.material.getHash()||t.cullingMask!==e)&&(t._flush(),t.node=i.getDefine("CC_USE_MODEL")?this.node:t._dummyNode,t.material=i,t.cullingMask=e)}});cc.RenderComponent=e.exports=a}),{"../assets/material/CCMaterial":53,"../renderer/assembler":187,"../renderer/render-flow":208,"./CCComponent":71}],81:[(function(t,e,i){"use strict";var n=t("../utils/misc"),r=(t("./CCComponent"),cc.Enum({HORIZONTAL:0,VERTICAL:1})),s=cc.Class({name:"cc.Scrollbar",extends:t("./CCComponent"),editor:!1,properties:{_scrollView:null,_touching:!1,_autoHideRemainingTime:{default:0,serializable:!1},_opacity:255,handle:{default:null,type:cc.Sprite,tooltip:!1,notify:function(){this._onScroll(cc.v2(0,0))},animatable:!1},direction:{default:r.HORIZONTAL,type:r,tooltip:!1,notify:function(){this._onScroll(cc.v2(0,0))},animatable:!1},enableAutoHide:{default:!0,animatable:!1,tooltip:!1},autoHideTime:{default:1,animatable:!1,tooltip:!1}},statics:{Direction:r},setTargetScrollView:function(t){this._scrollView=t},_convertToScrollViewSpace:function(t){var e=this._scrollView.node,i=t.convertToWorldSpaceAR(cc.v2(-t.anchorX*t.width,-t.anchorY*t.height)),n=e.convertToNodeSpaceAR(i);return n.x+=e.anchorX*e.width,n.y+=e.anchorY*e.height,n},_setOpacity:function(t){this.handle&&(this.node.opacity=t,this.handle.node.opacity=t)},_onScroll:function(t){if(this._scrollView){var e=this._scrollView.content;if(e){var i=e.getContentSize(),n=this._scrollView.node.getContentSize(),s=this.node.getContentSize();if(this._conditionalDisableScrollBar(i,n))return;this.enableAutoHide&&(this._autoHideRemainingTime=this.autoHideTime,this._setOpacity(this._opacity));var o=0,a=0,c=0,l=0,h=0;this.direction===r.HORIZONTAL?(o=i.width,a=n.width,h=s.width,c=t.x,l=-this._convertToScrollViewSpace(e).x):this.direction===r.VERTICAL&&(o=i.height,a=n.height,h=s.height,c=t.y,l=-this._convertToScrollViewSpace(e).y);var u=this._calculateLength(o,a,h,c),_=this._calculatePosition(o,a,h,l,c,u);this._updateLength(u),this._updateHanlderPosition(_)}}},_updateHanlderPosition:function(t){if(this.handle){var e=this._fixupHandlerPosition();this.handle.node.setPosition(t.x+e.x,t.y+e.y)}},_fixupHandlerPosition:function(){var t=this.node.getContentSize(),e=this.node.getAnchorPoint(),i=this.handle.node.getContentSize(),n=this.handle.node.parent,s=this.node.convertToWorldSpaceAR(cc.v2(-t.width*e.x,-t.height*e.y)),o=n.convertToNodeSpaceAR(s);return this.direction===r.HORIZONTAL?o=cc.v2(o.x,o.y+(t.height-i.height)/2):this.direction===r.VERTICAL&&(o=cc.v2(o.x+(t.width-i.width)/2,o.y)),this.handle.node.setPosition(o),o},_onTouchBegan:function(){this.enableAutoHide&&(this._touching=!0)},_conditionalDisableScrollBar:function(t,e){return t.width<=e.width&&this.direction===r.HORIZONTAL||t.height<=e.height&&this.direction===r.VERTICAL},_onTouchEnded:function(){if(this.enableAutoHide&&(this._touching=!1,!(this.autoHideTime<=0))){if(this._scrollView){var t=this._scrollView.content;if(t){var e=t.getContentSize(),i=this._scrollView.node.getContentSize();if(this._conditionalDisableScrollBar(e,i))return}}this._autoHideRemainingTime=this.autoHideTime}},_calculateLength:function(t,e,i,n){var r=t;return n&&(r+=20*(n>0?n:-n)),i*(e/r)},_calculatePosition:function(t,e,i,s,o,a){var c=t-e;o&&(c+=Math.abs(o));var l=0;c&&(l=s/c,l=n.clamp01(l));var h=(i-a)*l;return this.direction===r.VERTICAL?cc.v2(0,h):cc.v2(h,0)},_updateLength:function(t){if(this.handle){var e=this.handle.node,i=e.getContentSize();e.setAnchorPoint(cc.v2(0,0)),this.direction===r.HORIZONTAL?e.setContentSize(t,i.height):e.setContentSize(i.width,t)}},_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)}},start:function(){this.enableAutoHide&&this._setOpacity(0)},hide:function(){this._autoHideRemainingTime=0,this._setOpacity(0)},show:function(){this._autoHideRemainingTime=this.autoHideTime,this._setOpacity(this._opacity)},update:function(t){this._processAutoHide(t)}});cc.Scrollbar=e.exports=s}),{"../utils/misc":249,"./CCComponent":71}],82:[(function(t,e,i){"use strict";var n=t("../CCNode").EventType,r=function(t){return(t-=1)*t*t*t*t+1},s=function(){return(new Date).getMilliseconds()},o=cc.Enum({SCROLL_TO_TOP:0,SCROLL_TO_BOTTOM:1,SCROLL_TO_LEFT:2,SCROLL_TO_RIGHT:3,SCROLLING:4,BOUNCE_TOP:5,BOUNCE_BOTTOM:6,BOUNCE_LEFT:7,BOUNCE_RIGHT:8,SCROLL_ENDED:9,TOUCH_UP:10,AUTOSCROLL_ENDED_WITH_THRESHOLD:11,SCROLL_BEGAN:12}),a={"scroll-to-top":o.SCROLL_TO_TOP,"scroll-to-bottom":o.SCROLL_TO_BOTTOM,"scroll-to-left":o.SCROLL_TO_LEFT,"scroll-to-right":o.SCROLL_TO_RIGHT,scrolling:o.SCROLLING,"bounce-bottom":o.BOUNCE_BOTTOM,"bounce-left":o.BOUNCE_LEFT,"bounce-right":o.BOUNCE_RIGHT,"bounce-top":o.BOUNCE_TOP,"scroll-ended":o.SCROLL_ENDED,"touch-up":o.TOUCH_UP,"scroll-ended-with-threshold":o.AUTOSCROLL_ENDED_WITH_THRESHOLD,"scroll-began":o.SCROLL_BEGAN},c=cc.Class({name:"cc.ScrollView",extends:t("./CCViewGroup"),editor:!1,ctor:function(){this._topBoundary=0,this._bottomBoundary=0,this._leftBoundary=0,this._rightBoundary=0,this._touchMoveDisplacements=[],this._touchMoveTimeDeltas=[],this._touchMovePreviousTimestamp=0,this._touchMoved=!1,this._autoScrolling=!1,this._autoScrollAttenuate=!1,this._autoScrollStartPosition=cc.v2(0,0),this._autoScrollTargetDelta=cc.v2(0,0),this._autoScrollTotalTime=0,this._autoScrollAccumulatedTime=0,this._autoScrollCurrentlyOutOfBoundary=!1,this._autoScrollBraking=!1,this._autoScrollBrakingStartPosition=cc.v2(0,0),this._outOfBoundaryAmount=cc.v2(0,0),this._outOfBoundaryAmountDirty=!0,this._stopMouseWheel=!1,this._mouseWheelEventElapsedTime=0,this._isScrollEndedWithThresholdEventFired=!1,this._scrollEventEmitMask=0,this._isBouncing=!1,this._scrolling=!1},properties:{content:{default:void 0,type:cc.Node,tooltip:!1,formerlySerializedAs:"content",notify:function(t){this._calculateBoundary()}},horizontal:{default:!0,animatable:!1,tooltip:!1},vertical:{default:!0,animatable:!1,tooltip:!1},inertia:{default:!0,tooltip:!1},brake:{default:.5,type:cc.Float,range:[0,1,.1],tooltip:!1},elastic:{default:!0,animatable:!1,tooltip:!1},bounceDuration:{default:1,range:[0,10],tooltip:!1},horizontalScrollBar:{default:void 0,type:cc.Scrollbar,tooltip:!1,notify:function(){this.horizontalScrollBar&&(this.horizontalScrollBar.setTargetScrollView(this),this._updateScrollBar(0))},animatable:!1},verticalScrollBar:{default:void 0,type:cc.Scrollbar,tooltip:!1,notify:function(){this.verticalScrollBar&&(this.verticalScrollBar.setTargetScrollView(this),this._updateScrollBar(0))},animatable:!1},scrollEvents:{default:[],type:cc.Component.EventHandler,tooltip:!1},cancelInnerEvents:{default:!0,animatable:!1,tooltip:!1},_view:{get:function(){if(this.content)return this.content.parent}}},statics:{EventType:o},scrollToBottom:function(t,e){var i=this._calculateMovePercentDelta({anchor:cc.v2(0,0),applyToHorizontal:!1,applyToVertical:!0});t?this._startAutoScroll(i,t,!1!==e):this._moveContent(i,!0)},scrollToTop:function(t,e){var i=this._calculateMovePercentDelta({anchor:cc.v2(0,1),applyToHorizontal:!1,applyToVertical:!0});t?this._startAutoScroll(i,t,!1!==e):this._moveContent(i)},scrollToLeft:function(t,e){var i=this._calculateMovePercentDelta({anchor:cc.v2(0,0),applyToHorizontal:!0,applyToVertical:!1});t?this._startAutoScroll(i,t,!1!==e):this._moveContent(i)},scrollToRight:function(t,e){var i=this._calculateMovePercentDelta({anchor:cc.v2(1,0),applyToHorizontal:!0,applyToVertical:!1});t?this._startAutoScroll(i,t,!1!==e):this._moveContent(i)},scrollToTopLeft:function(t,e){var i=this._calculateMovePercentDelta({anchor:cc.v2(0,1),applyToHorizontal:!0,applyToVertical:!0});t?this._startAutoScroll(i,t,!1!==e):this._moveContent(i)},scrollToTopRight:function(t,e){var i=this._calculateMovePercentDelta({anchor:cc.v2(1,1),applyToHorizontal:!0,applyToVertical:!0});t?this._startAutoScroll(i,t,!1!==e):this._moveContent(i)},scrollToBottomLeft:function(t,e){var i=this._calculateMovePercentDelta({anchor:cc.v2(0,0),applyToHorizontal:!0,applyToVertical:!0});t?this._startAutoScroll(i,t,!1!==e):this._moveContent(i)},scrollToBottomRight:function(t,e){var i=this._calculateMovePercentDelta({anchor:cc.v2(1,0),applyToHorizontal:!0,applyToVertical:!0});t?this._startAutoScroll(i,t,!1!==e):this._moveContent(i)},scrollToOffset:function(t,e,i){var n=this.getMaxScrollOffset(),r=cc.v2(0,0);0===n.x?r.x=0:r.x=t.x/n.x,0===n.y?r.y=1:r.y=(n.y-t.y)/n.y,this.scrollTo(r,e,i)},getScrollOffset:function(){var t=this._getContentTopBoundary()-this._topBoundary,e=this._getContentLeftBoundary()-this._leftBoundary;return cc.v2(e,t)},getMaxScrollOffset:function(){var t=this._view.getContentSize(),e=this.content.getContentSize(),i=e.width-t.width,n=e.height-t.height;return i=i>=0?i:0,n=n>=0?n:0,cc.v2(i,n)},scrollToPercentHorizontal:function(t,e,i){var n=this._calculateMovePercentDelta({anchor:cc.v2(t,0),applyToHorizontal:!0,applyToVertical:!1});e?this._startAutoScroll(n,e,!1!==i):this._moveContent(n)},scrollTo:function(t,e,i){var n=this._calculateMovePercentDelta({anchor:cc.v2(t),applyToHorizontal:!0,applyToVertical:!0});e?this._startAutoScroll(n,e,!1!==i):this._moveContent(n)},scrollToPercentVertical:function(t,e,i){var n=this._calculateMovePercentDelta({anchor:cc.v2(0,t),applyToHorizontal:!1,applyToVertical:!0});e?this._startAutoScroll(n,e,!1!==i):this._moveContent(n)},stopAutoScroll:function(){this._autoScrolling=!1,this._autoScrollAccumulatedTime=this._autoScrollTotalTime},setContentPosition:function(t){t.fuzzyEquals(this.getContentPosition(),1e-4)||(this.content.setPosition(t),this._outOfBoundaryAmountDirty=!0)},getContentPosition:function(){return this.content.getPosition()},isScrolling:function(){return this._scrolling},isAutoScrolling:function(){return this._autoScrolling},_registerEvent:function(){this.node.on(cc.Node.EventType.TOUCH_START,this._onTouchBegan,this,!0),this.node.on(cc.Node.EventType.TOUCH_MOVE,this._onTouchMoved,this,!0),this.node.on(cc.Node.EventType.TOUCH_END,this._onTouchEnded,this,!0),this.node.on(cc.Node.EventType.TOUCH_CANCEL,this._onTouchCancelled,this,!0),this.node.on(cc.Node.EventType.MOUSE_WHEEL,this._onMouseWheel,this,!0)},_unregisterEvent:function(){this.node.off(cc.Node.EventType.TOUCH_START,this._onTouchBegan,this,!0),this.node.off(cc.Node.EventType.TOUCH_MOVE,this._onTouchMoved,this,!0),this.node.off(cc.Node.EventType.TOUCH_END,this._onTouchEnded,this,!0),this.node.off(cc.Node.EventType.TOUCH_CANCEL,this._onTouchCancelled,this,!0),this.node.off(cc.Node.EventType.MOUSE_WHEEL,this._onMouseWheel,this,!0)},_onMouseWheel:function(t,e){if(this.enabledInHierarchy&&!this._hasNestedViewGroup(t,e)){var i=cc.v2(0,0),n=-.1;0,this.vertical?i=cc.v2(0,t.getScrollY()*n):this.horizontal&&(i=cc.v2(t.getScrollY()*n,0)),this._mouseWheelEventElapsedTime=0,this._processDeltaMove(i),this._stopMouseWheel||(this._handlePressLogic(),this.schedule(this._checkMouseWheel,1/60),this._stopMouseWheel=!0),this._stopPropagationIfTargetIsMe(t)}},_checkMouseWheel:function(t){if(!this._getHowMuchOutOfBoundary().fuzzyEquals(cc.v2(0,0),1e-4))return this._processInertiaScroll(),this.unschedule(this._checkMouseWheel),void(this._stopMouseWheel=!1);this._mouseWheelEventElapsedTime+=t,this._mouseWheelEventElapsedTime>.1&&(this._onScrollBarTouchEnded(),this.unschedule(this._checkMouseWheel),this._stopMouseWheel=!1)},_calculateMovePercentDelta:function(t){var e=t.anchor,i=t.applyToHorizontal,n=t.applyToVertical;this._calculateBoundary(),e=e.clampf(cc.v2(0,0),cc.v2(1,1));var r=this._view.getContentSize(),s=this.content.getContentSize(),o=this._getContentBottomBoundary()-this._bottomBoundary;o=-o;var a=this._getContentLeftBoundary()-this._leftBoundary;a=-a;var c=cc.v2(0,0),l=0;return i&&(l=s.width-r.width,c.x=a-l*e.x),n&&(l=s.height-r.height,c.y=o-l*e.y),c},_moveContentToTopLeft:function(t){var e=this.content.getContentSize(),i=this._getContentBottomBoundary()-this._bottomBoundary;i=-i;var n=cc.v2(0,0),r=0,s=this._getContentLeftBoundary()-this._leftBoundary;s=-s,e.height<t.height&&(r=e.height-t.height,n.y=i-r),e.width<t.width&&(r=e.width-t.width,n.x=s),this._updateScrollBarState(),this._moveContent(n),this._adjustContentOutOfBoundary()},_calculateBoundary:function(){if(this.content){var t=this.content.getComponent(cc.Layout);t&&t.enabledInHierarchy&&t.updateLayout();var e=this._view.getContentSize(),i=e.width*this._view.anchorX,n=e.height*this._view.anchorY;this._leftBoundary=-i,this._bottomBoundary=-n,this._rightBoundary=this._leftBoundary+e.width,this._topBoundary=this._bottomBoundary+e.height,this._moveContentToTopLeft(e)}},_hasNestedViewGroup:function(t,e){if(t.eventPhase===cc.Event.CAPTURING_PHASE){if(e)for(var i=0;i<e.length;++i){var n=e[i];if(this.node===n)return!!t.target.getComponent(cc.ViewGroup);if(n.getComponent(cc.ViewGroup))return!0}return!1}},_stopPropagationIfTargetIsMe:function(t){t.eventPhase===cc.Event.AT_TARGET&&t.target===this.node&&t.stopPropagation()},_onTouchBegan:function(t,e){if(this.enabledInHierarchy&&!this._hasNestedViewGroup(t,e)){var i=t.touch;this.content&&this._handlePressLogic(i),this._touchMoved=!1,this._stopPropagationIfTargetIsMe(t)}},_onTouchMoved:function(t,e){if(this.enabledInHierarchy&&!this._hasNestedViewGroup(t,e)){var i=t.touch;if(this.content&&this._handleMoveLogic(i),this.cancelInnerEvents){if(i.getLocation().sub(i.getStartLocation()).mag()>7&&!this._touchMoved&&t.target!==this.node){var n=new cc.Event.EventTouch(t.getTouches(),t.bubbles);n.type=cc.Node.EventType.TOUCH_CANCEL,n.touch=t.touch,n.simulate=!0,t.target.dispatchEvent(n),this._touchMoved=!0}this._stopPropagationIfTargetIsMe(t)}}},_onTouchEnded:function(t,e){if(this.enabledInHierarchy&&!this._hasNestedViewGroup(t,e)){this._dispatchEvent("touch-up");var i=t.touch;this.content&&this._handleReleaseLogic(i),this._touchMoved?t.stopPropagation():this._stopPropagationIfTargetIsMe(t)}},_onTouchCancelled:function(t,e){if(this.enabledInHierarchy&&!this._hasNestedViewGroup(t,e)){if(!t.simulate){var i=t.touch;this.content&&this._handleReleaseLogic(i)}this._stopPropagationIfTargetIsMe(t)}},_processDeltaMove:function(t){this._scrollChildren(t),this._gatherTouchMove(t)},_handleMoveLogic:function(t){var e=t.getDelta();this._processDeltaMove(e)},_scrollChildren:function(t){var e=t=this._clampDelta(t),i=void 0;this.elastic&&(i=this._getHowMuchOutOfBoundary(),e.x*=0===i.x?1:.5,e.y*=0===i.y?1:.5),this.elastic||(i=this._getHowMuchOutOfBoundary(e),e=e.add(i));var n=-1;if(e.y>0)this.content.y-this.content.anchorY*this.content.height+e.y>this._bottomBoundary&&(n="scroll-to-bottom");else if(e.y<0){this.content.y-this.content.anchorY*this.content.height+this.content.height+e.y<=this._topBoundary&&(n="scroll-to-top")}if(e.x<0)this.content.x-this.content.anchorX*this.content.width+this.content.width+e.x<=this._rightBoundary&&(n="scroll-to-right");else if(e.x>0){this.content.x-this.content.anchorX*this.content.width+e.x>=this._leftBoundary&&(n="scroll-to-left")}this._moveContent(e,!1),0===e.x&&0===e.y||(this._scrolling||(this._scrolling=!0,this._dispatchEvent("scroll-began")),this._dispatchEvent("scrolling")),-1!==n&&this._dispatchEvent(n)},_handlePressLogic:function(){this._autoScrolling&&this._dispatchEvent("scroll-ended"),this._autoScrolling=!1,this._isBouncing=!1,this._touchMovePreviousTimestamp=s(),this._touchMoveDisplacements.length=0,this._touchMoveTimeDeltas.length=0,this._onScrollBarTouchBegan()},_clampDelta:function(t){var e=this.content.getContentSize(),i=this._view.getContentSize();return e.width<i.width&&(t.x=0),e.height<i.height&&(t.y=0),t},_gatherTouchMove:function(t){for(t=this._clampDelta(t);this._touchMoveDisplacements.length>=5;)this._touchMoveDisplacements.shift(),this._touchMoveTimeDeltas.shift();this._touchMoveDisplacements.push(t);var e=s();this._touchMoveTimeDeltas.push((e-this._touchMovePreviousTimestamp)/1e3),this._touchMovePreviousTimestamp=e},_startBounceBackIfNeeded:function(){if(!this.elastic)return!1;var t=this._getHowMuchOutOfBoundary();if((t=this._clampDelta(t)).fuzzyEquals(cc.v2(0,0),1e-4))return!1;var e=Math.max(this.bounceDuration,0);return this._startAutoScroll(t,e,!0),this._isBouncing||(t.y>0&&this._dispatchEvent("bounce-top"),t.y<0&&this._dispatchEvent("bounce-bottom"),t.x>0&&this._dispatchEvent("bounce-right"),t.x<0&&this._dispatchEvent("bounce-left"),this._isBouncing=!0),!0},_processInertiaScroll:function(){if(!this._startBounceBackIfNeeded()&&this.inertia){var t=this._calculateTouchMoveVelocity();!t.fuzzyEquals(cc.v2(0,0),1e-4)&&this.brake<1&&this._startInertiaScroll(t)}this._onScrollBarTouchEnded()},_handleReleaseLogic:function(t){var e=t.getDelta();this._gatherTouchMove(e),this._processInertiaScroll(),this._scrolling&&(this._scrolling=!1,this._autoScrolling||this._dispatchEvent("scroll-ended"))},_isOutOfBoundary:function(){return!this._getHowMuchOutOfBoundary().fuzzyEquals(cc.v2(0,0),1e-4)},_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},getScrollEndedEventTiming:function(){return 1e-4},_processAutoScrolling:function(t){var e=this._isNecessaryAutoScrollBrake(),i=e?.05:1;this._autoScrollAccumulatedTime+=t*(1/i);var n=Math.min(1,this._autoScrollAccumulatedTime/this._autoScrollTotalTime);this._autoScrollAttenuate&&(n=r(n));var s=this._autoScrollStartPosition.add(this._autoScrollTargetDelta.mul(n)),o=Math.abs(n-1)<=1e-4;if(Math.abs(n-1)<=this.getScrollEndedEventTiming()&&!this._isScrollEndedWithThresholdEventFired&&(this._dispatchEvent("scroll-ended-with-threshold"),this._isScrollEndedWithThresholdEventFired=!0),this.elastic&&!o){var a=s.sub(this._autoScrollBrakingStartPosition);e&&(a=a.mul(i)),s=this._autoScrollBrakingStartPosition.add(a)}else{var c=s.sub(this.getContentPosition()),l=this._getHowMuchOutOfBoundary(c);l.fuzzyEquals(cc.v2(0,0),1e-4)||(s=s.add(l),o=!0)}o&&(this._autoScrolling=!1);var h=s.sub(this.getContentPosition());this._moveContent(this._clampDelta(h),o),this._dispatchEvent("scrolling"),this._autoScrolling||(this._isBouncing=!1,this._scrolling=!1,this._dispatchEvent("scroll-ended"))},_startInertiaScroll:function(t){var e=t.mul(.7);this._startAttenuatingAutoScroll(e,t)},_calculateAttenuatedFactor:function(t){return this.brake<=0?1-this.brake:(1-this.brake)*(1/(1+14e-6*t+t*t*8e-9))},_startAttenuatingAutoScroll:function(t,e){var i=this._calculateAutoScrollTimeByInitalSpeed(e.mag()),n=t.normalize(),r=this.content.getContentSize(),s=this._view.getContentSize(),o=r.width-s.width,a=r.height-s.height,c=this._calculateAttenuatedFactor(o),l=this._calculateAttenuatedFactor(a);n=cc.v2(n.x*o*(1-this.brake)*c,n.y*a*l*(1-this.brake));var h=t.mag(),u=n.mag()/h;n=n.add(t),this.brake>0&&u>7&&(u=Math.sqrt(u),n=t.mul(u).add(t)),this.brake>0&&u>3&&(i*=u=3),0===this.brake&&u>1&&(i*=u),this._startAutoScroll(n,i,!0)},_calculateAutoScrollTimeByInitalSpeed:function(t){return Math.sqrt(Math.sqrt(t/5))},_startAutoScroll:function(t,e,i){var n=this._flattenVectorByDirection(t);this._autoScrolling=!0,this._autoScrollTargetDelta=n,this._autoScrollAttenuate=i,this._autoScrollStartPosition=this.getContentPosition(),this._autoScrollTotalTime=e,this._autoScrollAccumulatedTime=0,this._autoScrollBraking=!1,this._isScrollEndedWithThresholdEventFired=!1,this._autoScrollBrakingStartPosition=cc.v2(0,0),this._getHowMuchOutOfBoundary().fuzzyEquals(cc.v2(0,0),1e-4)||(this._autoScrollCurrentlyOutOfBoundary=!0)},_calculateTouchMoveVelocity:function(){var t=0;if((t=this._touchMoveTimeDeltas.reduce((function(t,e){return t+e}),t))<=0||t>=.5)return cc.v2(0,0);var e=cc.v2(0,0);return e=this._touchMoveDisplacements.reduce((function(t,e){return t.add(e)}),e),cc.v2(e.x*(1-this.brake)/t,e.y*(1-this.brake)/t)},_flattenVectorByDirection:function(t){var e=t;return e.x=this.horizontal?e.x:0,e.y=this.vertical?e.y:0,e},_moveContent:function(t,e){var i=this._flattenVectorByDirection(t),n=this.getContentPosition().add(i);this.setContentPosition(n);var r=this._getHowMuchOutOfBoundary();this._updateScrollBar(r),this.elastic&&e&&this._startBounceBackIfNeeded()},_getContentLeftBoundary:function(){return this.getContentPosition().x-this.content.getAnchorPoint().x*this.content.getContentSize().width},_getContentRightBoundary:function(){var t=this.content.getContentSize();return this._getContentLeftBoundary()+t.width},_getContentTopBoundary:function(){var t=this.content.getContentSize();return this._getContentBottomBoundary()+t.height},_getContentBottomBoundary:function(){return this.getContentPosition().y-this.content.getAnchorPoint().y*this.content.getContentSize().height},_getHowMuchOutOfBoundary:function(t){if((t=t||cc.v2(0,0)).fuzzyEquals(cc.v2(0,0),1e-4)&&!this._outOfBoundaryAmountDirty)return this._outOfBoundaryAmount;var e=cc.v2(0,0);return this._getContentLeftBoundary()+t.x>this._leftBoundary?e.x=this._leftBoundary-(this._getContentLeftBoundary()+t.x):this._getContentRightBoundary()+t.x<this._rightBoundary&&(e.x=this._rightBoundary-(this._getContentRightBoundary()+t.x)),this._getContentTopBoundary()+t.y<this._topBoundary?e.y=this._topBoundary-(this._getContentTopBoundary()+t.y):this._getContentBottomBoundary()+t.y>this._bottomBoundary&&(e.y=this._bottomBoundary-(this._getContentBottomBoundary()+t.y)),t.fuzzyEquals(cc.v2(0,0),1e-4)&&(this._outOfBoundaryAmount=e,this._outOfBoundaryAmountDirty=!1),e=this._clampDelta(e)},_updateScrollBarState:function(){if(this.content){var t=this.content.getContentSize(),e=this._view.getContentSize();this.verticalScrollBar&&(t.height<e.height?this.verticalScrollBar.hide():this.verticalScrollBar.show()),this.horizontalScrollBar&&(t.width<e.width?this.horizontalScrollBar.hide():this.horizontalScrollBar.show())}},_updateScrollBar:function(t){this.horizontalScrollBar&&this.horizontalScrollBar._onScroll(t),this.verticalScrollBar&&this.verticalScrollBar._onScroll(t)},_onScrollBarTouchBegan:function(){this.horizontalScrollBar&&this.horizontalScrollBar._onTouchBegan(),this.verticalScrollBar&&this.verticalScrollBar._onTouchBegan()},_onScrollBarTouchEnded:function(){this.horizontalScrollBar&&this.horizontalScrollBar._onTouchEnded(),this.verticalScrollBar&&this.verticalScrollBar._onTouchEnded()},_dispatchEvent:function(t){if("scroll-ended"===t)this._scrollEventEmitMask=0;else if("scroll-to-top"===t||"scroll-to-bottom"===t||"scroll-to-left"===t||"scroll-to-right"===t){var e=1<<a[t];if(this._scrollEventEmitMask&e)return;this._scrollEventEmitMask|=e}cc.Component.EventHandler.emitEvents(this.scrollEvents,this,a[t]),this.node.emit(t,this)},_adjustContentOutOfBoundary:function(){if(this._outOfBoundaryAmountDirty=!0,this._isOutOfBoundary()){var t=this._getHowMuchOutOfBoundary(cc.v2(0,0)),e=this.getContentPosition().add(t);this.content&&(this.content.setPosition(e),this._updateScrollBar(0))}},start:function(){this._calculateBoundary(),this.content&&cc.director.once(cc.Director.EVENT_BEFORE_DRAW,this._adjustContentOutOfBoundary,this)},_hideScrollbar:function(){this.horizontalScrollBar&&this.horizontalScrollBar.hide(),this.verticalScrollBar&&this.verticalScrollBar.hide()},onDisable:function(){this._unregisterEvent(),this.content&&(this.content.off(n.SIZE_CHANGED,this._calculateBoundary,this),this.content.off(n.SCALE_CHANGED,this._calculateBoundary,this),this._view&&(this._view.off(n.POSITION_CHANGED,this._calculateBoundary,this),this._view.off(n.SCALE_CHANGED,this._calculateBoundary,this),this._view.off(n.SIZE_CHANGED,this._calculateBoundary,this))),this._hideScrollbar(),this.stopAutoScroll()},onEnable:function(){this._registerEvent(),this.content&&(this.content.on(n.SIZE_CHANGED,this._calculateBoundary,this),this.content.on(n.SCALE_CHANGED,this._calculateBoundary,this),this._view&&(this._view.on(n.POSITION_CHANGED,this._calculateBoundary,this),this._view.on(n.SCALE_CHANGED,this._calculateBoundary,this),this._view.on(n.SIZE_CHANGED,this._calculateBoundary,this))),this._updateScrollBarState()},update:function(t){this._autoScrolling&&this._processAutoScrolling(t)}});cc.ScrollView=e.exports=c}),{"../CCNode":30,"./CCViewGroup":88}],83:[(function(t,e,i){"use strict";var n=t("../utils/misc"),r=t("./CCComponent"),s=cc.Enum({Horizontal:0,Vertical:1}),o=cc.Class({name:"cc.Slider",extends:r,editor:!1,ctor:function(){this._offset=cc.v2(),this._touchHandle=!1,this._dragging=!1},properties:{handle:{default:null,type:cc.Button,tooltip:!1,notify:function(){0}},direction:{default:s.Horizontal,type:s,tooltip:!1},progress:{default:.5,type:cc.Float,range:[0,1,.1],slide:!0,tooltip:!1,notify:function(){this._updateHandlePosition()}},slideEvents:{default:[],type:cc.Component.EventHandler,tooltip:!1}},statics:{Direction:s},__preload:function(){this._updateHandlePosition()},onEnable:function(){this.node.on(cc.Node.EventType.TOUCH_START,this._onTouchBegan,this),this.node.on(cc.Node.EventType.TOUCH_MOVE,this._onTouchMoved,this),this.node.on(cc.Node.EventType.TOUCH_END,this._onTouchEnded,this),this.node.on(cc.Node.EventType.TOUCH_CANCEL,this._onTouchCancelled,this),this.handle&&this.handle.isValid&&(this.handle.node.on(cc.Node.EventType.TOUCH_START,this._onHandleDragStart,this),this.handle.node.on(cc.Node.EventType.TOUCH_MOVE,this._onTouchMoved,this),this.handle.node.on(cc.Node.EventType.TOUCH_END,this._onTouchEnded,this))},onDisable:function(){this.node.off(cc.Node.EventType.TOUCH_START,this._onTouchBegan,this),this.node.off(cc.Node.EventType.TOUCH_MOVE,this._onTouchMoved,this),this.node.off(cc.Node.EventType.TOUCH_END,this._onTouchEnded,this),this.node.off(cc.Node.EventType.TOUCH_CANCEL,this._onTouchCancelled,this),this.handle&&this.handle.isValid&&(this.handle.node.off(cc.Node.EventType.TOUCH_START,this._onHandleDragStart,this),this.handle.node.off(cc.Node.EventType.TOUCH_MOVE,this._onTouchMoved,this),this.handle.node.off(cc.Node.EventType.TOUCH_END,this._onTouchEnded,this))},_onHandleDragStart:function(t){this._dragging=!0,this._touchHandle=!0,this._offset=this.handle.node.convertToNodeSpaceAR(t.touch.getLocation()),t.stopPropagation()},_onTouchBegan:function(t){this.handle&&(this._dragging=!0,this._touchHandle||this._handleSliderLogic(t.touch),t.stopPropagation())},_onTouchMoved:function(t){this._dragging&&(this._handleSliderLogic(t.touch),t.stopPropagation())},_onTouchEnded:function(t){this._dragging=!1,this._touchHandle=!1,this._offset=cc.v2(),t.stopPropagation()},_onTouchCancelled:function(t){this._dragging=!1,t.stopPropagation()},_handleSliderLogic:function(t){this._updateProgress(t),this._emitSlideEvent()},_emitSlideEvent:function(){cc.Component.EventHandler.emitEvents(this.slideEvents,this),this.node.emit("slide",this)},_updateProgress:function(t){if(this.handle){var e=this.node,i=e.convertToNodeSpaceAR(t.getLocation());this.direction===s.Horizontal?this.progress=n.clamp01((i.x-this._offset.x+e.anchorX*e.width)/e.width):this.progress=n.clamp01((i.y-this._offset.y+e.anchorY*e.height)/e.height)}},_updateHandlePosition:function(){if(this.handle){var t;t=this.direction===s.Horizontal?cc.v2(-this.node.width*this.node.anchorX+this.progress*this.node.width,0):cc.v2(0,-this.node.height*this.node.anchorY+this.progress*this.node.height);var e=this.node.convertToWorldSpaceAR(t);this.handle.node.position=this.handle.node.parent.convertToNodeSpaceAR(e)}}});cc.Slider=e.exports=o}),{"../utils/misc":249,"./CCComponent":71}],84:[(function(t,e,i){"use strict";var n=t("../utils/misc"),r=(t("../CCNode").EventType,t("./CCRenderComponent")),s=t("../utils/blend-func"),o=(t("../renderer/render-flow"),t("../assets/material/CCMaterial")),a=cc.Enum({SIMPLE:0,SLICED:1,TILED:2,FILLED:3,MESH:4}),c=cc.Enum({HORIZONTAL:0,VERTICAL:1,RADIAL:2}),l=cc.Enum({CUSTOM:0,TRIMMED:1,RAW:2}),h=cc.Enum({NORMAL:0,GRAY:1}),u=cc.Class({name:"cc.Sprite",extends:r,mixins:[s],editor:!1,ctor:function(){cc.game.renderType===cc.game.RENDER_TYPE_CANVAS?this._activateMaterial=this._activateMaterialCanvas:this._activateMaterial=this._activateMaterialWebgl},properties:{_spriteFrame:{default:null,type:cc.SpriteFrame},_type:a.SIMPLE,_sizeMode:l.TRIMMED,_fillType:0,_fillCenter:cc.v2(0,0),_fillStart:0,_fillRange:0,_isTrimmedMode:!0,_atlas:{default:null,type:cc.SpriteAtlas,tooltip:!1,editorOnly:!0,visible:!0,animatable:!1},spriteFrame:{get:function(){return this._spriteFrame},set:function(t,e){var i=this._spriteFrame;i!==t&&(this._spriteFrame=t,this.markForUpdateRenderData(!1),this._applySpriteFrame(i))},type:cc.SpriteFrame},type:{get:function(){return this._type},set:function(t){this._type!==t&&(this._type=t,this._resetAssembler())},type:a,animatable:!1,tooltip:!1},fillType:{get:function(){return this._fillType},set:function(t){t!==this._fillType&&(this._fillType=t,this._resetAssembler())},type:c,tooltip:!1},fillCenter:{get:function(){return this._fillCenter},set:function(t){this._fillCenter.x=t.x,this._fillCenter.y=t.y,this._type===a.FILLED&&this.setVertsDirty()},tooltip:!1},fillStart:{get:function(){return this._fillStart},set:function(t){this._fillStart=n.clampf(t,-1,1),this._type===a.FILLED&&this.setVertsDirty()},tooltip:!1},fillRange:{get:function(){return this._fillRange},set:function(t){this._fillRange=n.clampf(t,-1,1),this._type===a.FILLED&&this.setVertsDirty()},tooltip:!1},trim:{get:function(){return this._isTrimmedMode},set:function(t){this._isTrimmedMode!==t&&(this._isTrimmedMode=t,this._type!==a.SIMPLE&&this._type!==a.MESH||this.setVertsDirty())},animatable:!1,tooltip:!1},sizeMode:{get:function(){return this._sizeMode},set:function(t){this._sizeMode=t,t!==l.CUSTOM&&this._applySpriteSize()},animatable:!1,type:l,tooltip:!1}},statics:{FillType:c,Type:a,SizeMode:l,State:h},setVisible:function(t){this.enabled=t},setState:function(){},getState:function(){},onEnable:function(){this._super(),this._spriteFrame&&this._spriteFrame.textureLoaded()?this._activateMaterial():(this.disableRender(),this._spriteFrame&&(this._spriteFrame.once("load",this._onTextureLoaded,this),this._spriteFrame.ensureLoadTexture()))},_on3DNodeChanged:function(){this._resetAssembler()},_activateMaterialCanvas:function(){this.setVertsDirty(),this.markForUpdateRenderData(!0),this.markForRender(!0)},_activateMaterialWebgl:function(){var t=this._spriteFrame;if(t&&t.textureLoaded()){var e=this.sharedMaterials[0];(e=e?o.getInstantiatedMaterial(e,this):o.getInstantiatedBuiltinMaterial("2d-sprite",this)).setProperty("texture",t.getTexture()),this.setVertsDirty(),this.setMaterial(0,e),this.markForRender(!0)}else this.disableRender()},_applyAtlas:!1,_canRender:function(){if(cc.game.renderType===cc.game.RENDER_TYPE_CANVAS){if(!this._enabled)return!1}else if(!this._enabled||!this.sharedMaterials[0]||!this.node._activeInHierarchy)return!1;var t=this._spriteFrame;return!(!t||!t.textureLoaded())},_applySpriteSize:function(){if(this._spriteFrame){if(l.RAW===this._sizeMode){var t=this._spriteFrame._originalSize;this.node.setContentSize(t)}else if(l.TRIMMED===this._sizeMode){var e=this._spriteFrame._rect;this.node.setContentSize(e.width,e.height)}this.setVertsDirty(),this._activateMaterial()}},_onTextureLoaded:function(){this.isValid&&this._applySpriteSize()},_applySpriteFrame:function(t){t&&!t.textureLoaded()&&t.off("load",this._onTextureLoaded,this);var e=this._spriteFrame;e?e.textureLoaded()?this._applySpriteSize():(this.markForRender(!1),e.once("load",this._onTextureLoaded,this),e.ensureLoadTexture()):this.markForRender(!1)},_resized:!1});cc.Sprite=e.exports=u}),{"../CCNode":30,"../assets/material/CCMaterial":53,"../renderer/render-flow":208,"../utils/blend-func":244,"../utils/misc":249,"./CCRenderComponent":80}],85:[(function(t,e,i){"use strict";var n=t("../utils/gray-sprite-state"),r=cc.Class({name:"cc.Toggle",extends:t("./CCButton"),mixins:[n],editor:!1,properties:{_N$isChecked:!0,isChecked:{get:function(){return this._N$isChecked},set:function(t){if(t!==this._N$isChecked){var e=this.toggleGroup||this._toggleContainer;e&&e.enabled&&this._N$isChecked&&!e.allowSwitchOff||(this._N$isChecked=t,this._updateCheckMark(),e&&e.enabled&&e.updateToggles(this),this._emitToggleEvents())}},tooltip:!1},toggleGroup:{default:null,tooltip:!1,type:t("./CCToggleGroup")},checkMark:{default:null,type:cc.Sprite,tooltip:!1},checkEvents:{default:[],type:cc.Component.EventHandler},_resizeToTarget:{animatable:!1,set:function(t){t&&this._resizeNodeToTargetNode()}}},onEnable:function(){this._super(),this._registerToggleEvent(),this.toggleGroup&&this.toggleGroup.enabledInHierarchy&&this.toggleGroup.addToggle(this)},onDisable:function(){this._super(),this._unregisterToggleEvent(),this.toggleGroup&&this.toggleGroup.enabledInHierarchy&&this.toggleGroup.removeToggle(this)},_hideCheckMark:function(){this._N$isChecked=!1,this._updateCheckMark()},toggle:function(t){this.isChecked=!this.isChecked},check:function(){this.isChecked=!0},uncheck:function(){this.isChecked=!1},_updateCheckMark:function(){this.checkMark&&(this.checkMark.node.active=!!this.isChecked)},_updateDisabledState:function(){if(this._super(),this.enableAutoGrayEffect&&this.checkMark){var t=!this.interactable;this._switchGrayMaterial(t,this.checkMark)}},_registerToggleEvent:function(){this.node.on("click",this.toggle,this)},_unregisterToggleEvent:function(){this.node.off("click",this.toggle,this)},_emitToggleEvents:function(){this.node.emit("toggle",this),this.checkEvents&&cc.Component.EventHandler.emitEvents(this.checkEvents,this)}});cc.Toggle=e.exports=r,t("../platform/js").get(r.prototype,"_toggleContainer",(function(){var t=this.node.parent;return cc.Node.isNode(t)?t.getComponent(cc.ToggleContainer):null}))}),{"../platform/js":180,"../utils/gray-sprite-state":247,"./CCButton":69,"./CCToggleGroup":87}],86:[(function(t,e,i){"use strict";var n=cc.Class({name:"cc.ToggleContainer",extends:cc.Component,editor:!1,properties:{allowSwitchOff:{tooltip:!1,default:!1},checkEvents:{default:[],type:cc.Component.EventHandler}},updateToggles:function(t){this.enabledInHierarchy&&t.isChecked&&(this.toggleItems.forEach((function(e){e!==t&&e.isChecked&&e.enabled&&e._hideCheckMark()})),this.checkEvents&&cc.Component.EventHandler.emitEvents(this.checkEvents,t))},_allowOnlyOneToggleChecked:function(){var t=!1;return this.toggleItems.forEach((function(e){t?e._hideCheckMark():e.isChecked&&(t=!0)})),t},_makeAtLeastOneToggleChecked:function(){if(!this._allowOnlyOneToggleChecked()&&!this.allowSwitchOff){var t=this.toggleItems;t.length>0&&t[0].check()}},onEnable:function(){this.node.on("child-added",this._allowOnlyOneToggleChecked,this),this.node.on("child-removed",this._makeAtLeastOneToggleChecked,this)},onDisable:function(){this.node.off("child-added",this._allowOnlyOneToggleChecked,this),this.node.off("child-removed",this._makeAtLeastOneToggleChecked,this)},start:function(){this._makeAtLeastOneToggleChecked()}});t("../platform/js").get(n.prototype,"toggleItems",(function(){return this.node.getComponentsInChildren(cc.Toggle)})),cc.ToggleContainer=e.exports=n}),{"../platform/js":180}],87:[(function(t,e,i){"use strict";var n=cc.Class({name:"cc.ToggleGroup",extends:cc.Component,ctor:function(){this._toggleItems=[]},editor:!1,properties:{allowSwitchOff:{tooltip:!1,default:!1},toggleItems:{get:function(){return this._toggleItems}}},updateToggles:function(t){this.enabledInHierarchy&&this._toggleItems.forEach((function(e){t.isChecked&&e!==t&&e.isChecked&&e.enabled&&e._hideCheckMark()}))},addToggle:function(t){-1===this._toggleItems.indexOf(t)&&this._toggleItems.push(t),this._allowOnlyOneToggleChecked()},removeToggle:function(t){var e=this._toggleItems.indexOf(t);e>-1&&this._toggleItems.splice(e,1),this._makeAtLeastOneToggleChecked()},_allowOnlyOneToggleChecked:function(){var t=!1;return this._toggleItems.forEach((function(e){t&&e.enabled&&e._hideCheckMark(),e.isChecked&&e.enabled&&(t=!0)})),t},_makeAtLeastOneToggleChecked:function(){this._allowOnlyOneToggleChecked()||this.allowSwitchOff||this._toggleItems.length>0&&(this._toggleItems[0].isChecked=!0)},start:function(){this._makeAtLeastOneToggleChecked()}}),r=!1;t("../platform/js").get(cc,"ToggleGroup",(function(){return r||(cc.logID(1405,"cc.ToggleGroup","cc.ToggleContainer"),r=!0),n})),e.exports=n}),{"../platform/js":180}],88:[(function(t,e,i){"use strict";var n=cc.Class({name:"cc.ViewGroup",extends:t("./CCComponent")});cc.ViewGroup=e.exports=n}),{"./CCComponent":71}],89:[(function(t,e,i){"use strict";var n=t("../base-ui/CCWidgetManager"),r=n.AlignMode,s=n._AlignFlags,o=s.TOP,a=s.MID,c=s.BOT,l=s.LEFT,h=s.CENTER,u=s.RIGHT,_=o|c,f=l|u,d=cc.Class({name:"cc.Widget",extends:t("./CCComponent"),editor:!1,properties:{target:{get:function(){return this._target},set:function(t){this._target=t},type:cc.Node,tooltip:!1},isAlignTop:{get:function(){return(this._alignFlags&o)>0},set:function(t){this._setAlign(o,t)},animatable:!1,tooltip:!1},isAlignVerticalCenter:{get:function(){return(this._alignFlags&a)>0},set:function(t){t?(this.isAlignTop=!1,this.isAlignBottom=!1,this._alignFlags|=a):this._alignFlags&=~a},animatable:!1,tooltip:!1},isAlignBottom:{get:function(){return(this._alignFlags&c)>0},set:function(t){this._setAlign(c,t)},animatable:!1,tooltip:!1},isAlignLeft:{get:function(){return(this._alignFlags&l)>0},set:function(t){this._setAlign(l,t)},animatable:!1,tooltip:!1},isAlignHorizontalCenter:{get:function(){return(this._alignFlags&h)>0},set:function(t){t?(this.isAlignLeft=!1,this.isAlignRight=!1,this._alignFlags|=h):this._alignFlags&=~h},animatable:!1,tooltip:!1},isAlignRight:{get:function(){return(this._alignFlags&u)>0},set:function(t){this._setAlign(u,t)},animatable:!1,tooltip:!1},isStretchWidth:{get:function(){return(this._alignFlags&f)===f},visible:!1},isStretchHeight:{get:function(){return(this._alignFlags&_)===_},visible:!1},top:{get:function(){return this._top},set:function(t){this._top=t},tooltip:!1},bottom:{get:function(){return this._bottom},set:function(t){this._bottom=t},tooltip:!1},left:{get:function(){return this._left},set:function(t){this._left=t},tooltip:!1},right:{get:function(){return this._right},set:function(t){this._right=t},tooltip:!1},horizontalCenter:{get:function(){return this._horizontalCenter},set:function(t){this._horizontalCenter=t},tooltip:!1},verticalCenter:{get:function(){return this._verticalCenter},set:function(t){this._verticalCenter=t},tooltip:!1},isAbsoluteHorizontalCenter:{get:function(){return this._isAbsHorizontalCenter},set:function(t){this._isAbsHorizontalCenter=t},animatable:!1},isAbsoluteVerticalCenter:{get:function(){return this._isAbsVerticalCenter},set:function(t){this._isAbsVerticalCenter=t},animatable:!1},isAbsoluteTop:{get:function(){return this._isAbsTop},set:function(t){this._isAbsTop=t},animatable:!1},isAbsoluteBottom:{get:function(){return this._isAbsBottom},set:function(t){this._isAbsBottom=t},animatable:!1},isAbsoluteLeft:{get:function(){return this._isAbsLeft},set:function(t){this._isAbsLeft=t},animatable:!1},isAbsoluteRight:{get:function(){return this._isAbsRight},set:function(t){this._isAbsRight=t},animatable:!1},alignMode:{default:r.ON_WINDOW_RESIZE,type:r,tooltip:!1},_wasAlignOnce:{default:void 0,formerlySerializedAs:"isAlignOnce"},_target:null,_alignFlags:0,_left:0,_right:0,_top:0,_bottom:0,_verticalCenter:0,_horizontalCenter:0,_isAbsLeft:!0,_isAbsRight:!0,_isAbsTop:!0,_isAbsBottom:!0,_isAbsHorizontalCenter:!0,_isAbsVerticalCenter:!0,_originalWidth:0,_originalHeight:0},statics:{AlignMode:r},onLoad:function(){void 0!==this._wasAlignOnce&&(this.alignMode=this._wasAlignOnce?r.ONCE:r.ALWAYS,this._wasAlignOnce=void 0)},onEnable:function(){n.add(this)},onDisable:function(){n.remove(this)},_validateTargetInDEV:!1,_setAlign:function(t,e){if(e!==(this._alignFlags&t)>0){var i=(t&f)>0;e?(this._alignFlags|=t,i?(this.isAlignHorizontalCenter=!1,this.isStretchWidth&&(this._originalWidth=this.node.width)):(this.isAlignVerticalCenter=!1,this.isStretchHeight&&(this._originalHeight=this.node.height))):(i?this.isStretchWidth&&(this.node.width=this._originalWidth):this.isStretchHeight&&(this.node.height=this._originalHeight),this._alignFlags&=~t)}},updateAlignment:function(){n.updateAlignment(this.node)}});Object.defineProperty(d.prototype,"isAlignOnce",{get:function(){return this.alignMode===r.ONCE},set:function(t){this.alignMode=t?r.ONCE:r.ALWAYS}}),cc.Widget=e.exports=d}),{"../base-ui/CCWidgetManager":55,"./CCComponent":71}],90:[(function(t,e,i){"use strict";t("./CCComponent"),t("./CCComponentEventHandler"),t("./missing-script");var n=t("./WXSubContextView"),r=t("./SwanSubContextView");n||(n=cc.Class({name:"cc.WXSubContextView",extends:cc.Component})),r||(r=cc.Class({name:"cc.SwanSubContextView",extends:cc.Component}));var s=[t("./CCSprite"),t("./CCWidget"),t("./CCCanvas"),t("./CCAudioSource"),t("./CCAnimation"),t("./CCButton"),t("./CCLabel"),t("./CCProgressBar"),t("./CCMask"),t("./CCScrollBar"),t("./CCScrollView"),t("./CCPageViewIndicator"),t("./CCPageView"),t("./CCSlider"),t("./CCLayout"),t("./editbox/CCEditBox"),t("./CCLabelOutline"),t("./CCLabelShadow"),t("./CCRichText"),t("./CCToggleContainer"),t("./CCToggleGroup"),t("./CCToggle"),t("./CCBlockInputEvents"),t("./CCMotionStreak"),n,r];e.exports=s}),{"./CCAnimation":66,"./CCAudioSource":67,"./CCBlockInputEvents":68,"./CCButton":69,"./CCCanvas":70,"./CCComponent":71,"./CCComponentEventHandler":72,"./CCLabel":73,"./CCLabelOutline":void 0,"./CCLabelShadow":void 0,"./CCLayout":74,"./CCMask":75,"./CCMotionStreak":76,"./CCPageView":77,"./CCPageViewIndicator":78,"./CCProgressBar":79,"./CCRichText":void 0,"./CCScrollBar":81,"./CCScrollView":82,"./CCSlider":83,"./CCSprite":84,"./CCToggle":85,"./CCToggleContainer":86,"./CCToggleGroup":87,"./CCWidget":89,"./SwanSubContextView":void 0,"./WXSubContextView":void 0,"./editbox/CCEditBox":void 0,"./missing-script":91}],91:[(function(t,e,i){"use strict";var n=cc.js,r=t("../utils/misc").BUILTIN_CLASSID_RE,s=cc.Class({name:"cc.MissingClass",properties:{_$erialized:{default:null,visible:!1,editorOnly:!0}}}),o=cc.Class({name:"cc.MissingScript",extends:cc.Component,editor:{inspector:"packages://inspector/inspectors/comps/missing-script.js"},properties:{compiled:{default:!1,serializable:!1},_$erialized:{default:null,visible:!1,editorOnly:!0}},ctor:!1,statics:{safeFindClass:function(t,e){var i=n._getClassById(t);return i||(t?(cc.deserialize.reportMissingClass(t),o.getMissingWrapper(t,e)):null)},getMissingWrapper:function(t,e){return e.node&&(/^[0-9a-zA-Z+/]{23}$/.test(t)||r.test(t))?o:s}},onLoad:function(){cc.warnID(4600,this.node.name)}});cc._MissingScript=e.exports=o}),{"../utils/misc":249}],92:[(function(t,e,i){"use strict";var n=cc.js;t("../event/event");var r=function(t,e){cc.Event.call(this,cc.Event.MOUSE,e),this._eventType=t,this._button=0,this._x=0,this._y=0,this._prevX=0,this._prevY=0,this._scrollX=0,this._scrollY=0};n.extend(r,cc.Event);var s=r.prototype;s.setScrollData=function(t,e){this._scrollX=t,this._scrollY=e},s.getScrollX=function(){return this._scrollX},s.getScrollY=function(){return this._scrollY},s.setLocation=function(t,e){this._x=t,this._y=e},s.getLocation=function(){return cc.v2(this._x,this._y)},s.getLocationInView=function(){return cc.v2(this._x,cc.view._designResolutionSize.height-this._y)},s._setPrevCursor=function(t,e){this._prevX=t,this._prevY=e},s.getPreviousLocation=function(){return cc.v2(this._prevX,this._prevY)},s.getDelta=function(){return cc.v2(this._x-this._prevX,this._y-this._prevY)},s.getDeltaX=function(){return this._x-this._prevX},s.getDeltaY=function(){return this._y-this._prevY},s.setButton=function(t){this._button=t},s.getButton=function(){return this._button},s.getLocationX=function(){return this._x},s.getLocationY=function(){return this._y},r.NONE=0,r.DOWN=1,r.UP=2,r.MOVE=3,r.SCROLL=4,r.BUTTON_LEFT=0,r.BUTTON_RIGHT=2,r.BUTTON_MIDDLE=1,r.BUTTON_4=3,r.BUTTON_5=4,r.BUTTON_6=5,r.BUTTON_7=6,r.BUTTON_8=7;var o=function(t,e){cc.Event.call(this,cc.Event.TOUCH,e),this._eventCode=0,this._touches=t||[],this.touch=null,this.currentTouch=null};n.extend(o,cc.Event),(s=o.prototype).getEventCode=function(){return this._eventCode},s.getTouches=function(){return this._touches},s._setEventCode=function(t){this._eventCode=t},s._setTouches=function(t){this._touches=t},s.setLocation=function(t,e){this.touch&&this.touch.setTouchInfo(this.touch.getID(),t,e)},s.getLocation=function(){return this.touch?this.touch.getLocation():cc.v2()},s.getLocationInView=function(){return this.touch?this.touch.getLocationInView():cc.v2()},s.getPreviousLocation=function(){return this.touch?this.touch.getPreviousLocation():cc.v2()},s.getStartLocation=function(){return this.touch?this.touch.getStartLocation():cc.v2()},s.getID=function(){return this.touch?this.touch.getID():null},s.getDelta=function(){return this.touch?this.touch.getDelta():cc.v2()},s.getDeltaX=function(){return this.touch?this.touch.getDelta().x:0},s.getDeltaY=function(){return this.touch?this.touch.getDelta().y:0},s.getLocationX=function(){return this.touch?this.touch.getLocationX():0},s.getLocationY=function(){return this.touch?this.touch.getLocationY():0},o.MAX_TOUCHES=5,o.BEGAN=0,o.MOVED=1,o.ENDED=2,o.CANCELED=3;var a=function(t,e){cc.Event.call(this,cc.Event.ACCELERATION,e),this.acc=t};n.extend(a,cc.Event);var c=function(t,e,i){cc.Event.call(this,cc.Event.KEYBOARD,i),this.keyCode=t,this.isPressed=e};n.extend(c,cc.Event),cc.Event.EventMouse=r,cc.Event.EventTouch=o,cc.Event.EventAcceleration=a,cc.Event.EventKeyboard=c,e.exports=cc.Event}),{"../event/event":99}],93:[(function(t,e,i){"use strict";var n=t("../platform/js");cc.EventListener=function(t,e,i){this._onEvent=i,this._type=t||0,this._listenerID=e||"",this._registered=!1,this._fixedPriority=0,this._node=null,this._target=null,this._paused=!0,this._isEnabled=!0},cc.EventListener.prototype={constructor:cc.EventListener,_setPaused:function(t){this._paused=t},_isPaused:function(){return this._paused},_setRegistered:function(t){this._registered=t},_isRegistered:function(){return this._registered},_getType:function(){return this._type},_getListenerID:function(){return this._listenerID},_setFixedPriority:function(t){this._fixedPriority=t},_getFixedPriority:function(){return this._fixedPriority},_setSceneGraphPriority:function(t){this._target=t,this._node=t},_getSceneGraphPriority:function(){return this._node},checkAvailable:function(){return null!==this._onEvent},clone:function(){return null},setEnabled:function(t){this._isEnabled=t},isEnabled:function(){return this._isEnabled},retain:function(){},release:function(){}},cc.EventListener.UNKNOWN=0,cc.EventListener.TOUCH_ONE_BY_ONE=1,cc.EventListener.TOUCH_ALL_AT_ONCE=2,cc.EventListener.KEYBOARD=3,cc.EventListener.MOUSE=4,cc.EventListener.ACCELERATION=6,cc.EventListener.CUSTOM=8;var r=cc.EventListener.ListenerID={MOUSE:"__cc_mouse",TOUCH_ONE_BY_ONE:"__cc_touch_one_by_one",TOUCH_ALL_AT_ONCE:"__cc_touch_all_at_once",KEYBOARD:"__cc_keyboard",ACCELERATION:"__cc_acceleration"},s=function(t,e){this._onCustomEvent=e,cc.EventListener.call(this,cc.EventListener.CUSTOM,t,this._callback)};n.extend(s,cc.EventListener),n.mixin(s.prototype,{_onCustomEvent:null,_callback:function(t){null!==this._onCustomEvent&&this._onCustomEvent(t)},checkAvailable:function(){return cc.EventListener.prototype.checkAvailable.call(this)&&null!==this._onCustomEvent},clone:function(){return new s(this._listenerID,this._onCustomEvent)}});var o=function(){cc.EventListener.call(this,cc.EventListener.MOUSE,r.MOUSE,this._callback)};n.extend(o,cc.EventListener),n.mixin(o.prototype,{onMouseDown:null,onMouseUp:null,onMouseMove:null,onMouseScroll:null,_callback:function(t){var e=cc.Event.EventMouse;switch(t._eventType){case e.DOWN:this.onMouseDown&&this.onMouseDown(t);break;case e.UP:this.onMouseUp&&this.onMouseUp(t);break;case e.MOVE:this.onMouseMove&&this.onMouseMove(t);break;case e.SCROLL:this.onMouseScroll&&this.onMouseScroll(t)}},clone:function(){var t=new o;return t.onMouseDown=this.onMouseDown,t.onMouseUp=this.onMouseUp,t.onMouseMove=this.onMouseMove,t.onMouseScroll=this.onMouseScroll,t},checkAvailable:function(){return!0}});var a=function(){cc.EventListener.call(this,cc.EventListener.TOUCH_ONE_BY_ONE,r.TOUCH_ONE_BY_ONE,null),this._claimedTouches=[]};n.extend(a,cc.EventListener),n.mixin(a.prototype,{constructor:a,_claimedTouches:null,swallowTouches:!1,onTouchBegan:null,onTouchMoved:null,onTouchEnded:null,onTouchCancelled:null,setSwallowTouches:function(t){this.swallowTouches=t},isSwallowTouches:function(){return this.swallowTouches},clone:function(){var t=new a;return t.onTouchBegan=this.onTouchBegan,t.onTouchMoved=this.onTouchMoved,t.onTouchEnded=this.onTouchEnded,t.onTouchCancelled=this.onTouchCancelled,t.swallowTouches=this.swallowTouches,t},checkAvailable:function(){return!!this.onTouchBegan||(cc.logID(1801),!1)}});var c=function(){cc.EventListener.call(this,cc.EventListener.TOUCH_ALL_AT_ONCE,r.TOUCH_ALL_AT_ONCE,null)};n.extend(c,cc.EventListener),n.mixin(c.prototype,{constructor:c,onTouchesBegan:null,onTouchesMoved:null,onTouchesEnded:null,onTouchesCancelled:null,clone:function(){var t=new c;return t.onTouchesBegan=this.onTouchesBegan,t.onTouchesMoved=this.onTouchesMoved,t.onTouchesEnded=this.onTouchesEnded,t.onTouchesCancelled=this.onTouchesCancelled,t},checkAvailable:function(){return null!==this.onTouchesBegan||null!==this.onTouchesMoved||null!==this.onTouchesEnded||null!==this.onTouchesCancelled||(cc.logID(1802),!1)}});var l=function(t){this._onAccelerationEvent=t,cc.EventListener.call(this,cc.EventListener.ACCELERATION,r.ACCELERATION,this._callback)};n.extend(l,cc.EventListener),n.mixin(l.prototype,{constructor:l,_onAccelerationEvent:null,_callback:function(t){this._onAccelerationEvent(t.acc,t)},checkAvailable:function(){return cc.assertID(this._onAccelerationEvent,1803),!0},clone:function(){return new l(this._onAccelerationEvent)}});var h=function(){cc.EventListener.call(this,cc.EventListener.KEYBOARD,r.KEYBOARD,this._callback)};n.extend(h,cc.EventListener),n.mixin(h.prototype,{constructor:h,onKeyPressed:null,onKeyReleased:null,_callback:function(t){t.isPressed?this.onKeyPressed&&this.onKeyPressed(t.keyCode,t):this.onKeyReleased&&this.onKeyReleased(t.keyCode,t)},clone:function(){var t=new h;return t.onKeyPressed=this.onKeyPressed,t.onKeyReleased=this.onKeyReleased,t},checkAvailable:function(){return null!==this.onKeyPressed||null!==this.onKeyReleased||(cc.logID(1800),!1)}}),cc.EventListener.create=function(t){cc.assertID(t&&t.event,1900);var e=t.event;delete t.event;var i=null;for(var n in e===cc.EventListener.TOUCH_ONE_BY_ONE?i=new a:e===cc.EventListener.TOUCH_ALL_AT_ONCE?i=new c:e===cc.EventListener.MOUSE?i=new o:e===cc.EventListener.CUSTOM?(i=new s(t.eventName,t.callback),delete t.eventName,delete t.callback):e===cc.EventListener.KEYBOARD?i=new h:e===cc.EventListener.ACCELERATION&&(i=new l(t.callback),delete t.callback),t)i[n]=t[n];return i},e.exports=cc.EventListener}),{"../platform/js":180}],94:[(function(t,e,i){"use strict";var n=t("../platform/js");t("./CCEventListener");var r=cc.EventListener.ListenerID,s=function(){this._fixedListeners=[],this._sceneGraphListeners=[],this.gt0Index=0};s.prototype={constructor:s,size:function(){return this._fixedListeners.length+this._sceneGraphListeners.length},empty:function(){return 0===this._fixedListeners.length&&0===this._sceneGraphListeners.length},push:function(t){0===t._getFixedPriority()?this._sceneGraphListeners.push(t):this._fixedListeners.push(t)},clearSceneGraphListeners:function(){this._sceneGraphListeners.length=0},clearFixedListeners:function(){this._fixedListeners.length=0},clear:function(){this._sceneGraphListeners.length=0,this._fixedListeners.length=0},getFixedPriorityListeners:function(){return this._fixedListeners},getSceneGraphPriorityListeners:function(){return this._sceneGraphListeners}};var o=function(t){var e=cc.Event,i=t.type;return i===e.ACCELERATION?r.ACCELERATION:i===e.KEYBOARD?r.KEYBOARD:i.startsWith(e.MOUSE)?r.MOUSE:(i.startsWith(e.TOUCH)&&cc.logID(2e3),"")},a={DIRTY_NONE:0,DIRTY_FIXED_PRIORITY:1,DIRTY_SCENE_GRAPH_PRIORITY:2,DIRTY_ALL:3,_listenersMap:{},_priorityDirtyFlagMap:{},_nodeListenersMap:{},_toAddedListeners:[],_toRemovedListeners:[],_dirtyListeners:{},_inDispatch:0,_isEnabled:!1,_internalCustomListenerIDs:[],_setDirtyForNode:function(t){var e=this._nodeListenersMap[t._id];if(void 0!==e)for(var i=0,n=e.length;i<n;i++){var r=e[i]._getListenerID();null==this._dirtyListeners[r]&&(this._dirtyListeners[r]=!0)}if(t.getChildren){var s=t.getChildren(),o=0;for(n=s?s.length:0;o<n;o++)this._setDirtyForNode(s[o])}},pauseTarget:function(t,e){if(t instanceof cc._BaseNode){var i,n,r=this._nodeListenersMap[t._id];if(r)for(i=0,n=r.length;i<n;i++)r[i]._setPaused(!0);if(!0===e){var s=t.getChildren();for(i=0,n=s?s.length:0;i<n;i++)this.pauseTarget(s[i],!0)}}else cc.warnID(3506)},resumeTarget:function(t,e){if(t instanceof cc._BaseNode){var i,n,r=this._nodeListenersMap[t._id];if(r)for(i=0,n=r.length;i<n;i++)r[i]._setPaused(!1);if(this._setDirtyForNode(t),!0===e&&t.getChildren){var s=t.getChildren();for(i=0,n=s?s.length:0;i<n;i++)this.resumeTarget(s[i],!0)}}else cc.warnID(3506)},_addListener:function(t){0===this._inDispatch?this._forceAddEventListener(t):this._toAddedListeners.push(t)},_forceAddEventListener:function(t){var e=t._getListenerID(),i=this._listenersMap[e];if(i||(i=new s,this._listenersMap[e]=i),i.push(t),0===t._getFixedPriority()){this._setDirty(e,this.DIRTY_SCENE_GRAPH_PRIORITY);var n=t._getSceneGraphPriority();null===n&&cc.logID(3507),this._associateNodeAndEventListener(n,t),n.activeInHierarchy&&this.resumeTarget(n)}else this._setDirty(e,this.DIRTY_FIXED_PRIORITY)},_getListeners:function(t){return this._listenersMap[t]},_updateDirtyFlagForSceneGraph:function(){var t=this._dirtyListeners;for(var e in t)this._setDirty(e,this.DIRTY_SCENE_GRAPH_PRIORITY);this._dirtyListeners={}},_removeAllListenersInVector:function(t){if(t)for(var e,i=t.length-1;i>=0;i--)(e=t[i])._setRegistered(!1),null!=e._getSceneGraphPriority()&&(this._dissociateNodeAndEventListener(e._getSceneGraphPriority(),e),e._setSceneGraphPriority(null)),0===this._inDispatch&&cc.js.array.removeAt(t,i)},_removeListenersForListenerID:function(t){var e,i=this._listenersMap[t];if(i){var n=i.getFixedPriorityListeners(),r=i.getSceneGraphPriorityListeners();this._removeAllListenersInVector(r),this._removeAllListenersInVector(n),delete this._priorityDirtyFlagMap[t],this._inDispatch||(i.clear(),delete this._listenersMap[t])}var s,o=this._toAddedListeners;for(e=o.length-1;e>=0;e--)(s=o[e])&&s._getListenerID()===t&&cc.js.array.removeAt(o,e)},_sortEventListeners:function(t){var e=this.DIRTY_NONE,i=this._priorityDirtyFlagMap;(i[t]&&(e=i[t]),e!==this.DIRTY_NONE)&&(i[t]=this.DIRTY_NONE,e&this.DIRTY_FIXED_PRIORITY&&this._sortListenersOfFixedPriority(t),e&this.DIRTY_SCENE_GRAPH_PRIORITY&&cc.director.getScene()&&this._sortListenersOfSceneGraphPriority(t))},_sortListenersOfSceneGraphPriority:function(t){var e=this._getListeners(t);if(e){var i=e.getSceneGraphPriorityListeners();i&&0!==i.length&&e.getSceneGraphPriorityListeners().sort(this._sortEventListenersOfSceneGraphPriorityDes)}},_sortEventListenersOfSceneGraphPriorityDes:function(t,e){var i=t._getSceneGraphPriority(),n=e._getSceneGraphPriority();if(!(e&&n&&n._activeInHierarchy&&null!==n._parent))return-1;if(!t||!i||!i._activeInHierarchy||null===i._parent)return 1;for(var r=i,s=n,o=!1;r._parent._id!==s._parent._id;)r=null===r._parent._parent?(o=!0)&&n:r._parent,s=null===s._parent._parent?(o=!0)&&i:s._parent;if(r._id===s._id){if(r._id===n._id)return-1;if(r._id===i._id)return 1}return o?r._localZOrder-s._localZOrder:s._localZOrder-r._localZOrder},_sortListenersOfFixedPriority:function(t){var e=this._listenersMap[t];if(e){var i=e.getFixedPriorityListeners();if(i&&0!==i.length){i.sort(this._sortListenersOfFixedPriorityAsc);for(var n=0,r=i.length;n<r&&!(i[n]._getFixedPriority()>=0);)++n;e.gt0Index=n}}},_sortListenersOfFixedPriorityAsc:function(t,e){return t._getFixedPriority()-e._getFixedPriority()},_onUpdateListeners:function(t){var e,i,n,r=t.getFixedPriorityListeners(),s=t.getSceneGraphPriorityListeners(),o=this._toRemovedListeners;if(s)for(e=s.length-1;e>=0;e--)(i=s[e])._isRegistered()||(cc.js.array.removeAt(s,e),-1!==(n=o.indexOf(i))&&o.splice(n,1));if(r)for(e=r.length-1;e>=0;e--)(i=r[e])._isRegistered()||(cc.js.array.removeAt(r,e),-1!==(n=o.indexOf(i))&&o.splice(n,1));s&&0===s.length&&t.clearSceneGraphListeners(),r&&0===r.length&&t.clearFixedListeners()},frameUpdateListeners:function(){var t=this._listenersMap,e=this._priorityDirtyFlagMap;for(var i in t)t[i].empty()&&(delete e[i],delete t[i]);var n=this._toAddedListeners;if(0!==n.length){for(var r=0,s=n.length;r<s;r++)this._forceAddEventListener(n[r]);n.length=0}0!==this._toRemovedListeners.length&&this._cleanToRemovedListeners()},_updateTouchListeners:function(t){var e=this._inDispatch;if(cc.assertID(e>0,3508),!(e>1)){var i;(i=this._listenersMap[r.TOUCH_ONE_BY_ONE])&&this._onUpdateListeners(i),(i=this._listenersMap[r.TOUCH_ALL_AT_ONCE])&&this._onUpdateListeners(i),cc.assertID(1===e,3509);var n=this._toAddedListeners;if(0!==n.length){for(var s=0,o=n.length;s<o;s++)this._forceAddEventListener(n[s]);this._toAddedListeners.length=0}0!==this._toRemovedListeners.length&&this._cleanToRemovedListeners()}},_cleanToRemovedListeners:function(){for(var t=this._toRemovedListeners,e=0;e<t.length;e++){var i=t[e],n=this._listenersMap[i._getListenerID()];if(n){var r,s=n.getFixedPriorityListeners(),o=n.getSceneGraphPriorityListeners();o&&-1!==(r=o.indexOf(i))&&o.splice(r,1),s&&-1!==(r=s.indexOf(i))&&s.splice(r,1)}}t.length=0},_onTouchEventCallback:function(t,e){if(!t._isRegistered())return!1;var i=e.event,n=i.currentTouch;i.currentTarget=t._node;var r,s=!1,o=i.getEventCode(),c=cc.Event.EventTouch;return o===c.BEGAN?t.onTouchBegan&&(s=t.onTouchBegan(n,i))&&t._registered&&t._claimedTouches.push(n):t._claimedTouches.length>0&&-1!==(r=t._claimedTouches.indexOf(n))&&(s=!0,o===c.MOVED&&t.onTouchMoved?t.onTouchMoved(n,i):o===c.ENDED?(t.onTouchEnded&&t.onTouchEnded(n,i),t._registered&&t._claimedTouches.splice(r,1)):o===c.CANCELLED&&(t.onTouchCancelled&&t.onTouchCancelled(n,i),t._registered&&t._claimedTouches.splice(r,1))),i.isStopped()?(a._updateTouchListeners(i),!0):!(!s||!t.swallowTouches)&&(e.needsMutableSet&&e.touches.splice(n,1),!0)},_dispatchTouchEvent:function(t){this._sortEventListeners(r.TOUCH_ONE_BY_ONE),this._sortEventListeners(r.TOUCH_ALL_AT_ONCE);var e=this._getListeners(r.TOUCH_ONE_BY_ONE),i=this._getListeners(r.TOUCH_ALL_AT_ONCE);if(null!==e||null!==i){var n=t.getTouches(),s=cc.js.array.copy(n),o={event:t,needsMutableSet:e&&i,touches:s,selTouch:null};if(e)for(var a=0;a<n.length;a++)t.currentTouch=n[a],t._propagationStopped=t._propagationImmediateStopped=!1,this._dispatchEventToListeners(e,this._onTouchEventCallback,o);i&&s.length>0&&(this._dispatchEventToListeners(i,this._onTouchesEventCallback,{event:t,touches:s}),t.isStopped())||this._updateTouchListeners(t)}},_onTouchesEventCallback:function(t,e){if(!t._registered)return!1;var i=cc.Event.EventTouch,n=e.event,r=e.touches,s=n.getEventCode();return n.currentTarget=t._node,s===i.BEGAN&&t.onTouchesBegan?t.onTouchesBegan(r,n):s===i.MOVED&&t.onTouchesMoved?t.onTouchesMoved(r,n):s===i.ENDED&&t.onTouchesEnded?t.onTouchesEnded(r,n):s===i.CANCELLED&&t.onTouchesCancelled&&t.onTouchesCancelled(r,n),!!n.isStopped()&&(a._updateTouchListeners(n),!0)},_associateNodeAndEventListener:function(t,e){var i=this._nodeListenersMap[t._id];i||(i=[],this._nodeListenersMap[t._id]=i),i.push(e)},_dissociateNodeAndEventListener:function(t,e){var i=this._nodeListenersMap[t._id];i&&(cc.js.array.remove(i,e),0===i.length&&delete this._nodeListenersMap[t._id])},_dispatchEventToListeners:function(t,e,i){var n,r,s=!1,o=t.getFixedPriorityListeners(),a=t.getSceneGraphPriorityListeners(),c=0;if(o&&0!==o.length)for(;c<t.gt0Index;++c)if((r=o[c]).isEnabled()&&!r._isPaused()&&r._isRegistered()&&e(r,i)){s=!0;break}if(a&&!s)for(n=0;n<a.length;n++)if((r=a[n]).isEnabled()&&!r._isPaused()&&r._isRegistered()&&e(r,i)){s=!0;break}if(o&&!s)for(;c<o.length;++c)if((r=o[c]).isEnabled()&&!r._isPaused()&&r._isRegistered()&&e(r,i)){s=!0;break}},_setDirty:function(t,e){var i=this._priorityDirtyFlagMap;null==i[t]?i[t]=e:i[t]=e|i[t]},_sortNumberAsc:function(t,e){return t-e},hasEventListener:function(t){return!!this._getListeners(t)},addListener:function(t,e){if(cc.assertID(t&&e,3503),cc.js.isNumber(e)||e instanceof cc._BaseNode){if(t instanceof cc.EventListener){if(t._isRegistered())return void cc.logID(3505)}else cc.assertID(!cc.js.isNumber(e),3504),t=cc.EventListener.create(t);if(t.checkAvailable()){if(cc.js.isNumber(e)){if(0===e)return void cc.logID(3500);t._setSceneGraphPriority(null),t._setFixedPriority(e),t._setRegistered(!0),t._setPaused(!1),this._addListener(t)}else t._setSceneGraphPriority(e),t._setFixedPriority(0),t._setRegistered(!0),this._addListener(t);return t}}else cc.warnID(3506)},addCustomListener:function(t,e){var i=new cc.EventListener.create({event:cc.EventListener.CUSTOM,eventName:t,callback:e});return this.addListener(i,1),i},removeListener:function(t){if(null!=t){var e,i=this._listenersMap;for(var n in i){var r=i[n],s=r.getFixedPriorityListeners(),o=r.getSceneGraphPriorityListeners();if((e=this._removeListenerInVector(o,t))?this._setDirty(t._getListenerID(),this.DIRTY_SCENE_GRAPH_PRIORITY):(e=this._removeListenerInVector(s,t))&&this._setDirty(t._getListenerID(),this.DIRTY_FIXED_PRIORITY),r.empty()&&(delete this._priorityDirtyFlagMap[t._getListenerID()],delete i[n]),e)break}if(!e)for(var a=this._toAddedListeners,c=a.length-1;c>=0;c--){var l=a[c];if(l===t){cc.js.array.removeAt(a,c),l._setRegistered(!1);break}}}},_removeListenerInCallback:function(t,e){if(null==t)return!1;for(var i=t.length-1;i>=0;i--){var n=t[i];if(n._onCustomEvent===e||n._onEvent===e)return n._setRegistered(!1),null!=n._getSceneGraphPriority()&&(this._dissociateNodeAndEventListener(n._getSceneGraphPriority(),n),n._setSceneGraphPriority(null)),0===this._inDispatch?cc.js.array.removeAt(t,i):this._toRemovedListeners.push(n),!0}return!1},_removeListenerInVector:function(t,e){if(null==t)return!1;for(var i=t.length-1;i>=0;i--){var n=t[i];if(n===e)return n._setRegistered(!1),null!=n._getSceneGraphPriority()&&(this._dissociateNodeAndEventListener(n._getSceneGraphPriority(),n),n._setSceneGraphPriority(null)),0===this._inDispatch?cc.js.array.removeAt(t,i):this._toRemovedListeners.push(n),!0}return!1},removeListeners:function(t,e){var i=this;if(cc.js.isNumber(t)||t instanceof cc._BaseNode)if(void 0!==t._id){var n,s=i._nodeListenersMap[t._id];if(s){var o=cc.js.array.copy(s);for(n=0;n<o.length;n++)i.removeListener(o[n]);delete i._nodeListenersMap[t._id]}var a=i._toAddedListeners;for(n=0;n<a.length;){var c=a[n];c._getSceneGraphPriority()===t?(c._setSceneGraphPriority(null),c._setRegistered(!1),a.splice(n,1)):++n}if(!0===e){var l,h=t.getChildren();for(n=0,l=h.length;n<l;n++)i.removeListeners(h[n],!0)}}else t===cc.EventListener.TOUCH_ONE_BY_ONE?i._removeListenersForListenerID(r.TOUCH_ONE_BY_ONE):t===cc.EventListener.TOUCH_ALL_AT_ONCE?i._removeListenersForListenerID(r.TOUCH_ALL_AT_ONCE):t===cc.EventListener.MOUSE?i._removeListenersForListenerID(r.MOUSE):t===cc.EventListener.ACCELERATION?i._removeListenersForListenerID(r.ACCELERATION):t===cc.EventListener.KEYBOARD?i._removeListenersForListenerID(r.KEYBOARD):cc.logID(3501);else cc.warnID(3506)},removeCustomListeners:function(t){this._removeListenersForListenerID(t)},removeAllListeners:function(){var t=this._listenersMap,e=this._internalCustomListenerIDs;for(var i in t)-1===e.indexOf(i)&&this._removeListenersForListenerID(i)},setPriority:function(t,e){if(null!=t){var i=this._listenersMap;for(var n in i){var r=i[n].getFixedPriorityListeners();if(r)if(-1!==r.indexOf(t))return null!=t._getSceneGraphPriority()&&cc.logID(3502),void(t._getFixedPriority()!==e&&(t._setFixedPriority(e),this._setDirty(t._getListenerID(),this.DIRTY_FIXED_PRIORITY)))}}},setEnabled:function(t){this._isEnabled=t},isEnabled:function(){return this._isEnabled},dispatchEvent:function(t){if(this._isEnabled)if(this._updateDirtyFlagForSceneGraph(),this._inDispatch++,t&&t.getType){if(t.getType().startsWith(cc.Event.TOUCH))return this._dispatchTouchEvent(t),void this._inDispatch--;var e=o(t);this._sortEventListeners(e);var i=this._listenersMap[e];null!=i&&(this._dispatchEventToListeners(i,this._onListenerCallback,t),this._onUpdateListeners(i)),this._inDispatch--}else cc.errorID(3511)},_onListenerCallback:function(t,e){return e.currentTarget=t._target,t._onEvent(e),e.isStopped()},dispatchCustomEvent:function(t,e){var i=new cc.Event.EventCustom(t);i.setUserData(e),this.dispatchEvent(i)}};n.get(cc,"eventManager",(function(){return cc.warnID(1405,"cc.eventManager","cc.EventTarget or cc.systemEvent"),a})),e.exports=a}),{"../platform/js":180,"./CCEventListener":93}],95:[(function(t,e,i){"use strict";cc.Touch=function(t,e,i){this._lastModified=0,this.setTouchInfo(i,t,e)},cc.Touch.prototype={constructor:cc.Touch,getLocation:function(){return cc.v2(this._point.x,this._point.y)},getLocationX:function(){return this._point.x},getLocationY:function(){return this._point.y},getPreviousLocation:function(){return cc.v2(this._prevPoint.x,this._prevPoint.y)},getStartLocation:function(){return cc.v2(this._startPoint.x,this._startPoint.y)},getDelta:function(){return this._point.sub(this._prevPoint)},getLocationInView:function(){return cc.v2(this._point.x,cc.view._designResolutionSize.height-this._point.y)},getPreviousLocationInView:function(){return cc.v2(this._prevPoint.x,cc.view._designResolutionSize.height-this._prevPoint.y)},getStartLocationInView:function(){return cc.v2(this._startPoint.x,cc.view._designResolutionSize.height-this._startPoint.y)},getID:function(){return this._id},setTouchInfo:function(t,e,i){this._prevPoint=this._point,this._point=cc.v2(e||0,i||0),this._id=t,this._startPointCaptured||(this._startPoint=cc.v2(this._point),cc.view._convertPointWithScale(this._startPoint),this._startPointCaptured=!0)},_setPoint:function(t,e){void 0===e?(this._point.x=t.x,this._point.y=t.y):(this._point.x=t,this._point.y=e)},_setPrevPoint:function(t,e){this._prevPoint=void 0===e?cc.v2(t.x,t.y):cc.v2(t||0,e||0)}}}),{}],96:[(function(t,e,i){"use strict";t("./CCEvent"),t("./CCTouch"),t("./CCEventListener");var n=t("./CCEventManager");e.exports=n}),{"./CCEvent":92,"./CCEventListener":93,"./CCEventManager":94,"./CCTouch":95}],97:[(function(t,e,i){"use strict";var n=cc.js,r=t("../platform/callbacks-invoker");function s(){r.call(this)}n.extend(s,r),s.prototype.emit=function(t,e){var i=t.type,n=this._callbackTable[i];if(n){var r=!n.isInvoking;n.isInvoking=!0;for(var s=n.callbackInfos,o=0,a=s.length;o<a;++o){var c=s[o];if(c&&c.callback&&(c.callback.call(c.target,t,e),t._propagationImmediateStopped))break}r&&(n.isInvoking=!1,n.containCanceled&&n.purgeCanceled())}},e.exports=s}),{"../platform/callbacks-invoker":173}],98:[(function(t,e,i){"use strict";var n=t("../platform/js"),r=t("../platform/callbacks-invoker"),s=n.array.fastRemove;function o(){r.call(this)}n.extend(o,r);var a=o.prototype;a.__on=a.on,a.on=function(t,e,i,n){if(e)return this.hasEventListener(t,e,i)||(this.__on(t,e,i,n),i&&i.__eventTargets&&i.__eventTargets.push(this)),e;cc.errorID(6800)},a.__off=a.off,a.off=function(t,e,i){if(e)this.__off(t,e,i),i&&i.__eventTargets&&s(i.__eventTargets,this);else{var n=this._callbackTable[t];if(!n)return;for(var r=n.callbackInfos,o=0;o<r.length;++o){var a=r[o].target;a&&a.__eventTargets&&s(a.__eventTargets,this)}this.removeAll(t)}},a.targetOff=function(t){this.removeAll(t),t&&t.__eventTargets&&s(t.__eventTargets,this)},a.once=function(t,e,i){this.on(t,e,i,!0)},a.dispatchEvent=function(t){this.emit(t.type,t)},cc.EventTarget=e.exports=o}),{"../platform/callbacks-invoker":173,"../platform/js":180}],99:[(function(t,e,i){"use strict";var n=t("../platform/js");cc.Event=function(t,e){this.type=t,this.bubbles=!!e,this.target=null,this.currentTarget=null,this.eventPhase=0,this._propagationStopped=!1,this._propagationImmediateStopped=!1},cc.Event.prototype={constructor:cc.Event,unuse:function(){this.type=cc.Event.NO_TYPE,this.target=null,this.currentTarget=null,this.eventPhase=cc.Event.NONE,this._propagationStopped=!1,this._propagationImmediateStopped=!1},reuse:function(t,e){this.type=t,this.bubbles=e||!1},stopPropagation:function(){this._propagationStopped=!0},stopPropagationImmediate:function(){this._propagationImmediateStopped=!0},isStopped:function(){return this._propagationStopped||this._propagationImmediateStopped},getCurrentTarget:function(){return this.currentTarget},getType:function(){return this.type}},cc.Event.NO_TYPE="no_type",cc.Event.TOUCH="touch",cc.Event.MOUSE="mouse",cc.Event.KEYBOARD="keyboard",cc.Event.ACCELERATION="acceleration",cc.Event.NONE=0,cc.Event.CAPTURING_PHASE=1,cc.Event.AT_TARGET=2,cc.Event.BUBBLING_PHASE=3;var r=function(t,e){cc.Event.call(this,t,e),this.detail=null};n.extend(r,cc.Event),r.prototype.reset=r,r.prototype.setUserData=function(t){this.detail=t},r.prototype.getUserData=function(){return this.detail},r.prototype.getEventName=cc.Event.prototype.getType;var s=new n.Pool(10);r.put=function(t){s.put(t)},r.get=function(t,e){var i=s._get();return i?i.reset(t,e):i=new r(t,e),i},cc.Event.EventCustom=r,e.exports=cc.Event}),{"../platform/js":180}],100:[(function(t,e,i){"use strict";t("./event"),t("./event-listeners"),t("./event-target"),t("./system-event")}),{"./event":99,"./event-listeners":97,"./event-target":98,"./system-event":101}],101:[(function(t,e,i){"use strict";var n=t("../event/event-target"),r=t("../event-manager"),s=t("../platform/CCInputManager"),o=cc.Enum({KEY_DOWN:"keydown",KEY_UP:"keyup",DEVICEMOTION:"devicemotion"}),a=null,c=null,l=cc.Class({name:"SystemEvent",extends:n,statics:{EventType:o},setAccelerometerEnabled:function(t){s.setAccelerometerEnabled(t)},setAccelerometerInterval:function(t){s.setAccelerometerInterval(t)},on:function(t,e,i,n){this._super(t,e,i,n),t!==o.KEY_DOWN&&t!==o.KEY_UP||(a||(a=cc.EventListener.create({event:cc.EventListener.KEYBOARD,onKeyPressed:function(t,e){e.type=o.KEY_DOWN,cc.systemEvent.dispatchEvent(e)},onKeyReleased:function(t,e){e.type=o.KEY_UP,cc.systemEvent.dispatchEvent(e)}})),r.hasEventListener(cc.EventListener.ListenerID.KEYBOARD)||r.addListener(a,1)),t===o.DEVICEMOTION&&(c||(c=cc.EventListener.create({event:cc.EventListener.ACCELERATION,callback:function(t,e){e.type=o.DEVICEMOTION,cc.systemEvent.dispatchEvent(e)}})),r.hasEventListener(cc.EventListener.ListenerID.ACCELERATION)||r.addListener(c,1))},off:function(t,e,i){if(this._super(t,e,i),a&&(t===o.KEY_DOWN||t===o.KEY_UP)){var n=this.hasEventListener(o.KEY_DOWN),s=this.hasEventListener(o.KEY_UP);n||s||r.removeListener(a)}c&&t===o.DEVICEMOTION&&r.removeListener(c)}});cc.SystemEvent=e.exports=l,cc.systemEvent=new cc.SystemEvent}),{"../event-manager":96,"../event/event-target":98,"../platform/CCInputManager":164}],102:[(function(t,e,i){"use strict";var n=cc.vmath.vec3,r=cc.vmath.mat3,s=n.create(),o=n.create(),a=r.create(),c=function(t,e,i){var r=a.m,s=i.m;r[0]=Math.abs(s[0]),r[1]=Math.abs(s[1]),r[2]=Math.abs(s[2]),r[3]=Math.abs(s[4]),r[4]=Math.abs(s[5]),r[5]=Math.abs(s[6]),r[6]=Math.abs(s[8]),r[7]=Math.abs(s[9]),r[8]=Math.abs(s[10]),n.transformMat3(t,e,a)};function l(t,e,i,r,s,o){this.center=n.create(t,e,i),this.halfExtents=n.create(r,s,o)}var h=l.prototype;h.getBoundary=function(t,e){n.sub(t,this.center,this.halfExtents),n.add(e,this.center,this.halfExtents)},h.transform=function(t,e,i,r,s){s||(s=this),n.transformMat4(s.center,this.center,t),c(s.halfExtents,this.halfExtents,t)},l.create=function(t,e,i,n,r,s){return new l(t,e,i,n,r,s)},l.clone=function(t){return new l(t.center.x,t.center.y,t.center.z,t.halfExtents.x,t.halfExtents.y,t.halfExtents.z)},l.copy=function(t,e){return n.copy(t.center,e.center),n.copy(t.halfExtents,e.halfExtents),t},l.fromPoints=function(t,e,i){return n.scale(t.center,n.add(s,e,i),.5),n.scale(t.halfExtents,n.sub(o,i,e),.5),t},l.set=function(t,e,i,r,s,o,a){return n.set(t.center,e,i,r),n.set(t.halfExtents,s,o,a),t},e.exports=l}),{}],103:[(function(t,e,i){"use strict";i.__esModule=!0,cc.geomUtils={Triangle:t("./triangle"),Aabb:t("./aabb"),Ray:t("./ray"),intersect:t("./intersect")},i.default=cc.geomUtils,e.exports=i.default}),{"./aabb":102,"./intersect":104,"./ray":105,"./triangle":106}],104:[(function(t,e,i){"use strict";var n=s(t("../../renderer/gfx")),r=s(t("../../renderer/memop/recycle-pool"));function s(t){return t&&t.__esModule?t:{default:t}}var o=t("./aabb"),a=t("./ray"),c=t("./triangle"),l=cc.vmath.mat4,h=cc.vmath.vec3,u={};u.rayAabb=(function(){var t=h.create(),e=h.create();return function(i,n){var r=i.o,s=i.d,o=1/s.x,a=1/s.y,c=1/s.z;h.sub(t,n.center,n.halfExtents),h.add(e,n.center,n.halfExtents);var l=(t.x-r.x)*o,u=(e.x-r.x)*o,_=(t.y-r.y)*a,f=(e.y-r.y)*a,d=(t.z-r.z)*c,p=(e.z-r.z)*c,m=Math.max(Math.max(Math.min(l,u),Math.min(_,f)),Math.min(d,p)),y=Math.min(Math.min(Math.max(l,u),Math.max(_,f)),Math.max(d,p));return y<0||m>y?0:m}})(),u.rayTriangle=(function(){var t=h.create(0,0,0),e=h.create(0,0,0),i=h.create(0,0,0),n=h.create(0,0,0),r=h.create(0,0,0);return function(s,o){h.sub(t,o.b,o.a),h.sub(e,o.c,o.a),h.cross(i,s.d,e);var a=h.dot(t,i);if(a<=0)return 0;h.sub(n,s.o,o.a);var c=h.dot(n,i);if(c<0||c>a)return 0;h.cross(r,n,t);var l=h.dot(s.d,r);if(l<0||c+l>a)return 0;var u=h.dot(e,r)/a;return u<0?0:u}})(),u.rayMesh=(function(){var t=c.create(),e=1/0,i={5120:"getInt8",5121:"getUint8",5122:"getInt16",5123:"getUint16",5124:"getInt32",5125:"getUint32",5126:"getFloat32"},r=(function(){var t=new ArrayBuffer(2);return new DataView(t).setInt16(0,256,!0),256===new Int16Array(t)[0]})();function s(t,e,i,n,s){h.set(t,e[i](s,r),e[i](s+=n,r),e[i](s+=n,r))}return function(r,o){e=1/0;for(var a=o._subMeshes,c=0;c<a.length;c++)if(a[c]._primitiveType===n.default.PT_TRIANGLES)for(var l=o._subDatas[c]||o._subDatas[0],h=l.vData,_=new DataView(h.buffer,h.byteOffset,h.byteLength),f=l.iData,d=l.vfm.element(n.default.ATTR_POSITION),p=d.offset,m=d.stride,y=i[d.type],v=0;v<f.length;v+=3){s(t.a,_,y,4,f[v]*m+p),s(t.b,_,y,4,f[v+1]*m+p),s(t.c,_,y,4,f[v+2]*m+p);var g=u.rayTriangle(r,t);g>0&&g<e&&(e=g)}return e}})(),u.raycast=(function(){function t(e,i){for(var n=e.children,r=n.length-1;r>=0;r--){t(n[r],i)}i(e)}function e(t,e){return t.distance-e.distance}function i(t,e,i){var n=i.m,r=e.x,s=e.y,o=e.z,a=n[3]*r+n[7]*s+n[11]*o;return a=a?1/a:1,t.x=(n[0]*r+n[4]*s+n[8]*o)*a,t.y=(n[1]*r+n[5]*s+n[9]*o)*a,t.z=(n[2]*r+n[6]*s+n[10]*o)*a,t}var n=new r.default(function(){return{distance:0,node:null}},1),s=[],c=o.create(),_=h.create(),f=h.create(),d=a.create(),p=l.create(),m=l.create(),y=h.create();function v(t){return t>0&&t<1/0}return function(r,a,g,x){return n.reset(),s.length=0,t(r=r||cc.director.getScene(),(function(t){if(!x||x(t)){l.invert(m,t.getWorldMatrix(p)),h.transformMat4(d.o,a.o,m),h.normalize(d.d,i(d.d,a.d,m));var e=1/0,r=t._renderComponent;if(r instanceof cc.MeshRenderer?e=u.rayAabb(d,r._boundingBox):t.width&&t.height&&(h.set(_,-t.width*t.anchorX,-t.height*t.anchorY,t.z),h.set(f,t.width*(1-t.anchorX),t.height*(1-t.anchorY),t.z),o.fromPoints(c,_,f),e=u.rayAabb(d,c)),v(e)&&(g&&(e=g(d,t,e)),v(e))){h.scale(y,d.d,e),i(y,y,p);var C=n.add();C.node=t,C.distance=cc.vmath.vec3.mag(y),s.push(C)}}})),s.sort(e),s}})(),e.exports=u}),{"../../renderer/gfx":308,"../../renderer/memop/recycle-pool":323,"./aabb":102,"./ray":105,"./triangle":106}],105:[(function(t,e,i){"use strict";var n=cc.vmath.vec3;function r(t,e,i,r,s,o){this.o=n.create(t,e,i),this.d=n.create(r,s,o)}r.create=function(t,e,i,n,s,o){return new r(t,e,i,n,s,o)},r.clone=function(t){return new r(t.o.x,t.o.y,t.o.z,t.d.x,t.d.y,t.d.z)},r.copy=function(t,e){return t.o.x=e.o.x,t.o.y=e.o.y,t.o.z=e.o.z,t.d.x=e.d.x,t.d.y=e.d.y,t.d.z=e.d.z,t},r.set=function(t,e,i,n,r,s,o){return t.o.x=e,t.o.y=i,t.o.z=n,t.d.x=r,t.d.y=s,t.d.z=o,t},r.fromPoints=function(t,e,i){return n.copy(t.o,e),n.normalize(t.d,n.sub(t.d,i,e)),t},e.exports=r}),{}],106:[(function(t,e,i){"use strict";var n=cc.vmath.vec3;function r(t,e,i,r,s,o,a,c,l){this.a=n.create(t,e,i),this.b=n.create(r,s,o),this.c=n.create(a,c,l)}r.create=function(t,e,i,n,s,o,a,c,l){return new r(t,e,i,n,s,o,a,c,l)},r.clone=function(t){return new r(t.a.x,t.a.y,t.a.z,t.b.x,t.b.y,t.b.z,t.c.x,t.c.y,t.c.z)},r.copy=function(t,e){return n.copy(t.a,e.a),n.copy(t.b,e.b),n.copy(t.c,e.c),t},r.fromPoints=function(t,e,i,r){return n.copy(t.a,e),n.copy(t.b,i),n.copy(t.c,r),t},r.set=function(t,e,i,n,r,s,o,a,c,l){return t.a.x=e,t.a.y=i,t.a.z=n,t.b.x=r,t.b.y=s,t.b.z=o,t.c.x=a,t.c.y=c,t.c.z=l,t},e.exports=r}),{}],107:[(function(t,e,i){"use strict";var n=t("../components/CCRenderComponent"),r=t("../assets/material/CCMaterial"),s=t("./types"),o=s.LineCap,a=s.LineJoin,c=cc.Class({name:"cc.Graphics",extends:n,editor:!1,ctor:function(){this._impl=new c._Impl(this)},properties:{_lineWidth:1,_strokeColor:cc.Color.BLACK,_lineJoin:a.MITER,_lineCap:o.BUTT,_fillColor:cc.Color.WHITE,_miterLimit:10,lineWidth:{get:function(){return this._lineWidth},set:function(t){this._lineWidth=t,this._impl.lineWidth=t}},lineJoin:{get:function(){return this._lineJoin},set:function(t){this._lineJoin=t,this._impl.lineJoin=t},type:a},lineCap:{get:function(){return this._lineCap},set:function(t){this._lineCap=t,this._impl.lineCap=t},type:o},strokeColor:{get:function(){return this._strokeColor},set:function(t){this._impl.strokeColor=this._strokeColor=cc.color(t)}},fillColor:{get:function(){return this._fillColor},set:function(t){this._impl.fillColor=this._fillColor=cc.color(t)}},miterLimit:{get:function(){return this._miterLimit},set:function(t){this._miterLimit=t,this._impl.miterLimit=t}}},statics:{LineJoin:a,LineCap:o},onRestore:function(){this._impl||(this._impl=new c._Impl(this))},onEnable:function(){this._super(),this._activateMaterial()},onDestroy:function(){this.clear(!0),this._super(),this._impl=null},_activateMaterial:function(){if(cc.game.renderType!==cc.game.RENDER_TYPE_CANVAS){var t=this.sharedMaterials[0];(t=t?r.getInstantiatedMaterial(t,this):r.getInstantiatedBuiltinMaterial("2d-base",this)).define("CC_USE_MODEL",!0),this.setMaterial(0,t)}else this.disableRender()},moveTo:function(t,e){this._impl.moveTo(t,e)},lineTo:function(t,e){this._impl.lineTo(t,e)},bezierCurveTo:function(t,e,i,n,r,s){this._impl.bezierCurveTo(t,e,i,n,r,s)},quadraticCurveTo:function(t,e,i,n){this._impl.quadraticCurveTo(t,e,i,n)},arc:function(t,e,i,n,r,s){this._impl.arc(t,e,i,n,r,s)},ellipse:function(t,e,i,n){this._impl.ellipse(t,e,i,n)},circle:function(t,e,i){this._impl.circle(t,e,i)},rect:function(t,e,i,n){this._impl.rect(t,e,i,n)},roundRect:function(t,e,i,n,r){this._impl.roundRect(t,e,i,n,r)},fillRect:function(t,e,i,n){this.rect(t,e,i,n),this.fill()},clear:function(t){this._impl.clear(t),this._assembler&&this._assembler.clear(t)},close:function(){this._impl.close()},stroke:function(){this._assembler||this._resetAssembler(),this._assembler.stroke(this)},fill:function(){this._assembler||this._resetAssembler(),this._assembler.fill(this)}});cc.Graphics=e.exports=c,cc.Graphics.Types=s,cc.Graphics.Helper=t("./helper")}),{"../assets/material/CCMaterial":53,"../components/CCRenderComponent":80,"./helper":108,"./types":110}],108:[(function(t,e,i){"use strict";var n=t("./types").PointFlags,r=Math.PI,s=Math.min,o=Math.max,a=Math.cos,c=Math.sin,l=Math.abs,h=Math.sign,u=.5522847493;e.exports={arc:function(t,e,i,n,h,u,_){var f,d,p,m=0,y=0,v=0,g=0,x=0,C=0,A=0,b=0,S=0,T=0,w=0,E=0,B=0;if(y=u-h,_=_||!1)if(l(y)>=2*r)y=2*r;else for(;y<0;)y+=2*r;else if(l(y)>=2*r)y=2*-r;else for(;y>0;)y-=2*r;for(p=0|o(1,s(l(y)/(.5*r)+.5,5)),v=l(4/3*(1-a(f=y/p/2))/c(f)),_||(v=-v),d=0;d<=p;d++)C=e+(g=a(m=h+y*(d/p)))*n,A=i+(x=c(m))*n,b=-x*n*v,S=g*n*v,0===d?t.moveTo(C,A):t.bezierCurveTo(T+E,w+B,C-b,A-S,C,A),T=C,w=A,E=b,B=S},ellipse:function(t,e,i,n,r){t.moveTo(e-n,i),t.bezierCurveTo(e-n,i+r*u,e-n*u,i+r,e,i+r),t.bezierCurveTo(e+n*u,i+r,e+n,i+r*u,e+n,i),t.bezierCurveTo(e+n,i-r*u,e+n*u,i-r,e,i-r),t.bezierCurveTo(e-n*u,i-r,e-n,i-r*u,e-n,i),t.close()},roundRect:function(t,e,i,n,r,o){if(o<.1)t.rect(e,i,n,r);else{var a=s(o,.5*l(n))*h(n),c=s(o,.5*l(r))*h(r);t.moveTo(e,i+c),t.lineTo(e,i+r-c),t.bezierCurveTo(e,i+r-c*(1-u),e+a*(1-u),i+r,e+a,i+r),t.lineTo(e+n-a,i+r),t.bezierCurveTo(e+n-a*(1-u),i+r,e+n,i+r-c*(1-u),e+n,i+r-c),t.lineTo(e+n,i+c),t.bezierCurveTo(e+n,i+c*(1-u),e+n-a*(1-u),i,e+n-a,i),t.lineTo(e+a,i),t.bezierCurveTo(e+a*(1-u),i,e,i+c*(1-u),e,i+c),t.close()}},tesselateBezier:function t(e,i,r,s,o,a,c,h,u,_,f){var d,p,m,y,v,g,x,C,A,b,S,T,w,E,B,M;_>10||(v=.5*(a+h),g=.5*(c+u),x=.5*((d=.5*(i+s))+(m=.5*(s+a))),C=.5*((p=.5*(r+o))+(y=.5*(o+c))),((B=l((s-h)*(E=u-r)-(o-u)*(w=h-i)))+(M=l((a-h)*E-(c-u)*w)))*(B+M)<e._tessTol*(w*w+E*E)?e._addPoint(h,u,0===f?f|n.PT_BEVEL:f):(t(e,i,r,d,p,x,C,S=.5*(x+(A=.5*(m+v))),T=.5*(C+(b=.5*(y+g))),_+1,0),t(e,S,T,A,b,v,g,h,u,_+1,f)))}}}),{"./types":110}],109:[(function(t,e,i){"use strict";t("./graphics")}),{"./graphics":107}],110:[(function(t,e,i){"use strict";var n=cc.Enum({BUTT:0,ROUND:1,SQUARE:2}),r=cc.Enum({BEVEL:0,ROUND:1,MITER:2}),s=cc.Enum({PT_CORNER:1,PT_LEFT:2,PT_BEVEL:4,PT_INNERBEVEL:8});e.exports={LineCap:n,LineJoin:r,PointFlags:s}}),{}],111:[(function(t,e,i){"use strict";t("./platform"),t("./assets"),t("./CCNode"),t("./CCPrivateNode"),t("./CCScene"),t("./components"),t("./graphics"),t("./collider"),t("./collider/CCIntersection"),t("./physics"),t("./camera/CCCamera"),t("./geom-utils"),t("./mesh"),t("./3d"),t("./3d/polyfill-3d"),t("./base-ui/CCWidgetManager")}),{"./3d":void 0,"./3d/polyfill-3d":26,"./CCNode":30,"./CCPrivateNode":31,"./CCScene":32,"./assets":52,"./base-ui/CCWidgetManager":55,"./camera/CCCamera":56,"./collider":64,"./collider/CCIntersection":62,"./components":90,"./geom-utils":103,"./graphics":109,"./mesh":void 0,"./physics":144,"./platform":177}],112:[(function(t,e,i){"use strict";var n=t("../platform/js"),r=t("./pipeline"),s=t("./loading-items"),o=t("./asset-loader"),a=t("./downloader"),c=t("./loader"),l=t("./asset-table"),h=t("../platform/utils").callInNextTick,u=t("./auto-release-utils"),_=Object.create(null);_.assets=new l,_.internal=new l;var f={url:null,raw:!1};function d(t){var e,i,n;if("object"==typeof t){if(i=t,t.url)return i;e=t.uuid}else i={},e=t;return n=i.type?"uuid"===i.type:cc.AssetLibrary._uuidInSettings(e),cc.AssetLibrary._getAssetInfoInRuntime(e,f),i.url=n?f.url:e,f.url&&"uuid"===i.type&&f.raw?(i.type=null,i.isRawAsset=!0):n||(i.isRawAsset=!0),i}var p=[],m=[];function y(){var t=new o,e=new a,i=new c;r.call(this,[t,e,i]),this.assetLoader=t,this.md5Pipe=null,this.downloader=e,this.loader=i,this.onProgress=null,this._autoReleaseSetting=n.createMap(!0)}n.extend(y,r);var v=y.prototype;v.init=function(t){},v.getXMLHttpRequest=function(){return window.XMLHttpRequest?new window.XMLHttpRequest:new ActiveXObject("MSXML2.XMLHTTP")},v.addDownloadHandlers=function(t){this.downloader.addHandlers(t)},v.addLoadHandlers=function(t){this.loader.addHandlers(t)},v.load=function(t,e,i){void 0===i&&(i=e,e=this.onProgress||null);var n,r=this,o=!1;t instanceof Array||(t?(o=!0,t=[t]):t=[]),p.length=0;for(var a=0;a<t.length;++a){var c=t[a];if(c&&c.id&&(cc.warnID(4920,c.id),c.uuid||c.url||(c.url=c.id)),(n=d(c)).url||n.uuid){var l=this._cache[n.url];p.push(l||n)}}var u=s.create(this,e,(function(t,e){h((function(){if(i){if(o){var s=n.url;i.call(r,t,e.getContent(s))}else i.call(r,t,e);i=null}e.destroy()}))}));s.initQueueDeps(u),u.append(p),p.length=0},v.flowInDeps=function(t,e,i){m.length=0;for(var n=0;n<e.length;++n){var r=d(e[n]);if(r.url||r.uuid){var o=this._cache[r.url];o?m.push(o):m.push(r)}}var a=s.create(this,t?function(t,e,i){this._ownerQueue&&this._ownerQueue.onProgress&&this._ownerQueue._childOnProgress(i)}:null,(function(e,n){i(e,n),t&&t.deps&&(t.deps.length=0),n.destroy()}));if(t){var c=s.getQueue(t);a._ownerQueue=c._ownerQueue||c}var l=a.append(m,t);return m.length=0,l},v._assetTables=_,v._getResUuid=function(t,e,i,n){var r=_[i=i||"assets"];if(!t||!r)return null;var s=t.indexOf("?");-1!==s&&(t=t.substr(0,s));var o=r.getUuid(t,e);if(!o){var a=cc.path.extname(t);a&&(t=t.slice(0,-a.length),(o=r.getUuid(t,e))&&!n&&cc.warnID(4901,t,a))}return o},v._getReferenceKey=function(t){var e;return"object"==typeof t?e=t._uuid||null:"string"==typeof t&&(e=this._getResUuid(t,null,null,!0)||t),e?(cc.AssetLibrary._getAssetInfoInRuntime(e,f),this._cache[f.url]?f.url:e):(cc.warnID(4800,t),e)},v._urlNotFound=function(t,e,i){h((function(){t=cc.url.normalize(t);var r=(e?n.getClassName(e):"Asset")+' in "resources/'+t+'" does not exist.';i&&i(new Error(r),[])}))},v._parseLoadResArgs=function(t,e,i){if(void 0===i){var r=t instanceof Array||n.isChildClassOf(t,cc.RawAsset);e?(i=e,r&&(e=this.onProgress||null)):void 0!==e||r||(i=t,e=this.onProgress||null,t=null),void 0===e||r||(e=t,t=null)}return{type:t,onProgress:e,onComplete:i}},v.loadRes=function(t,e,i,n,r){5!==arguments.length&&(r=n,n=i,i="assets");var s=this._parseLoadResArgs(e,n,r);e=s.type,n=s.onProgress,r=s.onComplete;var o=this,a=o._getResUuid(t,e,i);a?this.load({type:"uuid",uuid:a},n,(function(t,e){e&&o.setAutoReleaseRecursively(a,!1),r&&r(t,e)})):o._urlNotFound(t,e,r)},v._loadResUuids=function(t,e,i,n){if(t.length>0){var r=this,s=t.map((function(t){return{type:"uuid",uuid:t}}));this.load(s,e,(function(t,e){if(i){for(var o=[],a=n&&[],c=0;c<s.length;++c){var l=s[c].uuid,h=this._getReferenceKey(l),u=e.getContent(h);u&&(r.setAutoReleaseRecursively(l,!1),o.push(u),a&&a.push(n[c]))}n?i(t,o,a):i(t,o)}}))}else i&&h((function(){n?i(null,[],[]):i(null,[])}))},v.loadResArray=function(t,e,i,n,r){5!==arguments.length&&(r=n,n=i,i="assets");var s=this._parseLoadResArgs(e,n,r);e=s.type,n=s.onProgress,r=s.onComplete;for(var o=[],a=e instanceof Array,c=0;c<t.length;c++){var l=t[c],h=a?e[c]:e,u=this._getResUuid(l,h,i);if(!u)return void this._urlNotFound(l,h,r);o.push(u)}this._loadResUuids(o,n,r)},v.loadResDir=function(t,e,i,n,r){if(5!==arguments.length&&(r=n,n=i,i="assets"),_[i]){var s=this._parseLoadResArgs(e,n,r);e=s.type,n=s.onProgress,r=s.onComplete;var o=[],a=_[i].getUuidArray(t,e,o);this._loadResUuids(a,n,r,o)}},v.getRes=function(t,e){var i=this._cache[t];if(!i){var n=this._getResUuid(t,e,null,!0);if(!n)return null;var r=this._getReferenceKey(n);i=this._cache[r]}return i&&i.alias&&(i=i.alias),i&&i.complete?i.content:null},v.getResCount=function(){return Object.keys(this._cache).length},v.getDependsRecursively=function(t){if(t){var e=this._getReferenceKey(t),i=u.getDependsRecursively(e);return i.push(e),i}return[]},v.release=function(t){if(Array.isArray(t))for(var e=0;e<t.length;e++){var i=t[e];this.release(i)}else if(t){var n=this._getReferenceKey(t);if(n&&n in cc.AssetLibrary.getBuiltinDeps())return;var r=this.getItem(n);if(r){this.removeItem(n);t=r.content}if(t instanceof cc.Asset){var s=t.nativeUrl;s&&this.release(s),t.destroy()}}},v.releaseAsset=function(t){var e=t._uuid;e&&this.release(e)},v.releaseRes=function(t,e,i){var n=this._getResUuid(t,e,i);n?this.release(n):cc.errorID(4914,t)},v.releaseResDir=function(t,e,i){if(_[i=i||"assets"])for(var n=_[i].getUuidArray(t,e),r=0;r<n.length;r++){var s=n[r];this.release(s)}},v.releaseAll=function(){for(var t in this._cache)this.release(t)},v.removeItem=function(t){var e=r.prototype.removeItem.call(this,t);return delete this._autoReleaseSetting[t],e},v.setAutoRelease=function(t,e){var i=this._getReferenceKey(t);i&&(this._autoReleaseSetting[i]=!!e)},v.setAutoReleaseRecursively=function(t,e){e=!!e;var i=this._getReferenceKey(t);if(i){this._autoReleaseSetting[i]=e;for(var n=u.getDependsRecursively(i),r=0;r<n.length;r++){var s=n[r];this._autoReleaseSetting[s]=e}}else 0},v.isAutoRelease=function(t){var e=this._getReferenceKey(t);return!!e&&!!this._autoReleaseSetting[e]},cc.loader=new y,e.exports=cc.loader}),{"../platform/js":180,"../platform/utils":184,"./asset-loader":113,"./asset-table":114,"./auto-release-utils":116,"./downloader":118,"./loader":121,"./loading-items":122,"./pipeline":125,"./released-asset-checker":126}],113:[(function(t,e,i){"use strict";t("../utils/CCPath");var n=t("../CCDebug"),r=t("./pipeline"),s=t("./loading-items"),o="AssetLoader",a=function(t){this.id=o,this.async=!0,this.pipeline=null};a.ID=o;var c=[];a.prototype.handle=function(t,e){var i=t.uuid;if(!i)return t.content||null;cc.AssetLibrary.queryAssetInfo(i,(function(r,o,a){if(r)e(r);else if(t.url=t.rawUrl=o,t.isRawAsset=a,a){var l=cc.path.extname(o).toLowerCase();if(!l)return void e(new Error(n.getError(4931,i,o)));l=l.substr(1);var h=s.getQueue(t);c[0]={queueId:t.queueId,id:o,url:o,type:l,error:null,alias:t,complete:!0},h.append(c),t.type=l,e(null,t.content)}else t.type="uuid",e(null,t.content)}))},r.AssetLoader=e.exports=a}),{"../CCDebug":27,"../utils/CCPath":240,"./loading-items":122,"./pipeline":125}],114:[(function(t,e,i){"use strict";var n=t("../utils/misc").pushToMap,r=t("../platform/js");function s(t,e){this.uuid=t,this.type=e}function o(){this._pathToUuid=r.createMap(!0)}function a(t,e){if(t.length>e.length){var i=t.charCodeAt(e.length);return 46===i||47===i}return!0}var c=o.prototype;c.getUuid=function(t,e){t=cc.url.normalize(t);var i=this._pathToUuid[t];if(i)if(Array.isArray(i)){if(!e)return i[0].uuid;for(var n=0;n<i.length;n++){var s=i[n];if(r.isChildClassOf(s.type,e))return s.uuid}}else{if(!e||r.isChildClassOf(i.type,e))return i.uuid}return""},c.getUuidArray=function(t,e,i){"/"===(t=cc.url.normalize(t))[t.length-1]&&(t=t.slice(0,-1));var n=this._pathToUuid,s=[],o=r.isChildClassOf;for(var c in n)if(c.startsWith(t)&&a(c,t)||!t){var l=n[c];if(Array.isArray(l))for(var h=0;h<l.length;h++){var u=l[h];(!e||o(u.type,e))&&(s.push(u.uuid),i&&i.push(c))}else(!e||o(l.type,e))&&(s.push(l.uuid),i&&i.push(c))}return s},c.add=function(t,e,i,r){t=t.substring(0,t.length-cc.path.extname(t).length);var o=new s(e,i);n(this._pathToUuid,t,o,r)},c._getInfo_DEBUG=!1,c.reset=function(){this._pathToUuid=r.createMap(!0)},e.exports=o}),{"../platform/js":180,"../utils/misc":249}],115:[(function(t,e,i){"use strict";var n=t("../platform/CCSys"),r=t("../CCDebug"),s=n.__audioSupport,o=s.format,a=s.context;function c(t,e){var i=document.createElement("audio");i.src=t.url;var n=function(){clearTimeout(r),i.removeEventListener("canplaythrough",o,!1),i.removeEventListener("error",a,!1),s.USE_LOADER_EVENT&&i.removeEventListener(s.USE_LOADER_EVENT,o,!1)},r=setTimeout((function(){0===i.readyState?a():o()}),8e3),o=function(){n(),e(null,i)},a=function(){n();var i="load audio failure - "+t.url;cc.log(i),e(i)};i.addEventListener("canplaythrough",o,!1),i.addEventListener("error",a,!1),s.USE_LOADER_EVENT&&i.addEventListener(s.USE_LOADER_EVENT,o,!1)}function l(t,e){a||e(new Error(r.getError(4926)));var i=cc.loader.getXMLHttpRequest();i.open("GET",t.url,!0),i.responseType="arraybuffer",i.onload=function(){a.decodeAudioData(i.response,(function(t){e(null,t)}),(function(){e("decode error - "+t.id,null)}))},i.onerror=function(){e("request error - "+t.id,null)},i.send()}e.exports=function(t,e){if(0===o.length)return new Error(r.getError(4927));var i;i=s.WEB_AUDIO?t._owner instanceof cc.AudioClip?t._owner.loadMode===cc.AudioClip.LoadMode.WEB_AUDIO?l:c:t.urlParam&&t.urlParam.useDom?c:l:c,i(t,e)}}),{"../CCDebug":27,"../platform/CCSys":169}],116:[(function(t,e,i){"use strict";var n=t("../platform/js");function r(t,e){var i=cc.loader.getItem(t);if(i){var n=i.dependKeys;if(n)for(var s=0;s<n.length;s++){var o=n[s];e[o]||(e[o]=!0,r(o,e))}}}function s(t,e){if(t._uuid){var i=cc.loader._getReferenceKey(t);e[i]||(e[i]=!0,r(i,e))}}function o(t,e){for(var i=Object.getOwnPropertyNames(t),n=0;n<i.length;n++){var r=t[i[n]];if("object"==typeof r&&r)if(Array.isArray(r))for(var o=0;o<r.length;o++){var a=r[o];a instanceof cc.RawAsset&&s(a,e)}else if(r.constructor&&r.constructor!==Object)r instanceof cc.RawAsset&&s(r,e);else for(var c=Object.getOwnPropertyNames(r),l=0;l<c.length;l++){var h=r[c[l]];h instanceof cc.RawAsset&&s(h,e)}}}function a(t,e){for(var i=0;i<t._components.length;i++)o(t._components[i],e);for(var n=0;n<t._children.length;n++)a(t._children[n],e)}e.exports={autoRelease:function(t,e,i){var r=cc.loader._autoReleaseSetting,s=n.createMap();if(e)for(var o=0;o<e.length;o++)s[e[o]]=!0;for(var c=0;c<i.length;c++)a(i[c],s);if(t)for(var l=0;l<t.length;l++){var h=t[l];!1===r[h]||s[h]||cc.loader.release(h)}for(var u=Object.keys(r),_=0;_<u.length;_++){var f=u[_];!0!==r[f]||s[f]||cc.loader.release(f)}},getDependsRecursively:function(t){var e={};return r(t,e),Object.keys(e)}}}),{"../platform/js":180}],117:[(function(t,e,i){"use strict";e.exports=function(t,e){var i=t.url,n=cc.loader.getXMLHttpRequest(),r="Load binary data failed: "+i;n.open("GET",i,!0),n.responseType="arraybuffer",n.onload=function(){var t=n.response;if(t){var i=new Uint8Array(t);e(null,i)}else e({status:n.status,errorMessage:r+"(no response)"})},n.onerror=function(){e({status:n.status,errorMessage:r+"(error)"})},n.ontimeout=function(){e({status:n.status,errorMessage:r+"(time out)"})},n.send(null)}}),{}],118:[(function(t,e,i){"use strict";var n=t("../platform/js"),r=t("../CCDebug");t("../utils/CCPath");var s,o=t("./pipeline"),a=t("./pack-downloader"),c=t("./binary-downloader"),l=t("./text-downloader"),h=t("./utils").urlAppendTimestamp;function u(){return null}function _(t,e,i){var n=t.url,s=document,o=document.createElement("script");function a(){o.parentNode.removeChild(o),o.removeEventListener("load",a,!1),o.removeEventListener("error",c,!1),e(null,n)}function c(){o.parentNode.removeChild(o),o.removeEventListener("load",a,!1),o.removeEventListener("error",c,!1),e(new Error(r.getError(4928,n)))}"file:"!==window.location.protocol&&(o.crossOrigin="anonymous"),o.async=i,o.src=h(n),o.addEventListener("load",a,!1),o.addEventListener("error",c,!1),s.body.appendChild(o)}function f(t,e,i,n){void 0===i&&(i=!0);var s=h(t.url);if(n=n||new Image,i&&"file:"!==window.location.protocol?n.crossOrigin="anonymous":n.crossOrigin=null,n.complete&&n.naturalWidth>0&&n.src===s)return n;var o=function i(){n.removeEventListener("load",i),n.removeEventListener("error",a),n.id=t.id,e(null,n)},a=function i(){n.removeEventListener("load",o),n.removeEventListener("error",i),"https:"!==window.location.protocol&&n.crossOrigin&&"anonymous"===n.crossOrigin.toLowerCase()?f(t,e,!1,n):e(new Error(r.getError(4930,s)))};n.addEventListener("load",o),n.addEventListener("error",a),n.src=s}var d={js:_,png:f,jpg:f,bmp:f,jpeg:f,gif:f,ico:f,tiff:f,webp:f,image:f,pvr:c,pkm:c,mp3:s=t("./audio-downloader"),ogg:s,wav:s,m4a:s,txt:l,xml:l,vsh:l,fsh:l,atlas:l,tmx:l,tsx:l,json:l,ExportJson:l,plist:l,fnt:l,font:u,eot:u,ttf:u,woff:u,svg:u,ttc:u,uuid:function(t,e){var i=a.load(t,e);return void 0===i?this.extMap.json(t,e):i||void 0},binary:c,bin:c,dbbin:c,default:l},p="Downloader",m=function(t){this.id=p,this.async=!0,this.pipeline=null,this._curConcurrent=0,this._loadQueue=[],this._subpackages={},this.extMap=n.mixin(t,d)};m.ID=p,m.PackDownloader=a,m.prototype.addHandlers=function(t){n.mixin(this.extMap,t)},m.prototype._handleLoadQueue=function(){for(;this._curConcurrent<cc.macro.DOWNLOAD_MAX_CONCURRENT;){var t=this._loadQueue.shift();if(!t)break;var e=this.handle(t.item,t.callback);void 0!==e&&(e instanceof Error?t.callback(e):t.callback(null,e))}},m.prototype.handle=function(t,e){var i=this,n=this.extMap[t.type]||this.extMap.default,r=void 0;if(this._curConcurrent<cc.macro.DOWNLOAD_MAX_CONCURRENT){if(this._curConcurrent++,void 0!==(r=n.call(this,t,(function(t,n){i._curConcurrent=Math.max(0,i._curConcurrent-1),i._handleLoadQueue(),e&&e(t,n)}))))return this._curConcurrent=Math.max(0,this._curConcurrent-1),this._handleLoadQueue(),r}else if(t.ignoreMaxConcurrency){if(void 0!==(r=n.call(this,t,e)))return r}else this._loadQueue.push({item:t,callback:e})},m.prototype.loadSubpackage=function(t,e){var i=this._subpackages[t];i?i.loaded?e&&e():_({url:i.path+"index.js"},(function(t){t||(i.loaded=!0),e&&e(t)})):e&&e(new Error("Can't find subpackage "+t))},o.Downloader=e.exports=m}),{"../CCDebug":27,"../platform/js":180,"../utils/CCPath":240,"./audio-downloader":115,"./binary-downloader":117,"./pack-downloader":124,"./pipeline":125,"./text-downloader":128,"./utils":130}],119:[(function(t,e,i){"use strict";var n=t("../utils/text-utils"),r=null,s="BES bswy:->@123\u4e01\u3041\u1101",o={},a=-1,c=[],l=3e3,h=(function(){var t=void 0;return function(){if(void 0===t)if(window.FontFace){var e=/Gecko.*Firefox\/(\d+)/.exec(window.navigator.userAgent),i=/OS X.*Version\/10\..*Safari/.exec(window.navigator.userAgent)&&/Apple/.exec(window.navigator.vendor);t=e?parseInt(e[1],10)>42:!i}else t=!1;return t}})();function u(){for(var t=!0,e=Date.now(),i=c.length-1;i>=0;i--){var o=c[i],h=o.fontFamilyName;if(e-o.startTime>l)cc.warnID(4933,h),o.callback(null,h),c.splice(i,1);else{var u=o.refWidth;r.font="40px "+h,u!==n.safeMeasureText(r,s)?(c.splice(i,1),o.callback(null,h)):t=!1}}t&&(clearInterval(a),a=-1)}function _(t,e,i){var n=new Promise(function(i,n){(function r(){Date.now()-t>=l?n():document.fonts.load("40px "+e).then((function(t){t.length>=1?i():setTimeout(r,100)}),(function(){n()}))})()}),r=null,s=new Promise(function(t,e){r=setTimeout(e,l)});Promise.race([s,n]).then((function(){r&&(clearTimeout(r),r=null),i(null,e)}),(function(){cc.warnID(4933,e),i(null,e)}))}var f={loadFont:function(t,e){var i=t.url,l=f._getFontFamily(i);if(o[l])return l;if(!r){var d=document.createElement("canvas");d.width=100,d.height=100,r=d.getContext("2d")}var p="40px "+l;r.font=p;var m=n.safeMeasureText(r,s),y=document.createElement("style");y.type="text/css";var v="";isNaN(l-0)?v+="@font-face { font-family:"+l+"; src:":v+="@font-face { font-family:'"+l+"'; src:",v+="url('"+i+"');",y.textContent=v+"}",document.body.appendChild(y);var g=document.createElement("div"),x=g.style;if(x.fontFamily=l,g.innerHTML=".",x.position="absolute",x.left="-100px",x.top="-100px",document.body.appendChild(g),h())_(Date.now(),l,e);else{var C={fontFamilyName:l,refWidth:m,callback:e,startTime:Date.now()};c.push(C),-1===a&&(a=setInterval(u,100))}o[l]=y},_getFontFamily:function(t){var e=t.lastIndexOf(".ttf");if(-1===e)return t;var i,n=t.lastIndexOf("/");return-1!==(i=-1===n?t.substring(0,e)+"_LABEL":t.substring(n+1,e)+"_LABEL").indexOf(" ")&&(i='"'+i+'"'),i}};e.exports=f}),{"../utils/text-utils":255}],120:[(function(t,e,i){"use strict";t("./downloader"),t("./loader"),t("./loading-items"),t("./pipeline"),t("./CCLoader")}),{"./CCLoader":112,"./downloader":118,"./loader":121,"./loading-items":122,"./pipeline":125}],121:[(function(t,e,i){"use strict";var n=t("../platform/js"),r=t("../platform/CCSAXParser").plistParser,s=t("./pipeline"),o=t("../assets/CCTexture2D"),a=t("./uuid-loader"),c=t("./font-loader");function l(t){if("string"!=typeof t.content)return new Error("JSON Loader: Input item doesn't contain string content");try{return JSON.parse(t.content)}catch(e){return new Error("JSON Loader: Parse json ["+t.id+"] failed : "+e)}}function h(t){if(t._owner instanceof cc.Asset)return null;var e=t.content;if(cc.sys.platform!==cc.sys.FB_PLAYABLE_ADS&&!(e instanceof Image))return new Error("Image Loader: Input item doesn't contain Image content");var i=t.texture||new o;return i._uuid=t.uuid,i.url=t.url,i._setRawAsset(t.rawUrl,!1),i._nativeAsset=e,i}function u(t,e){if(t._owner instanceof cc.Asset)return null;var i=new cc.AudioClip;return i._setRawAsset(t.rawUrl,!1),i._nativeAsset=t.content,i.url=t.url,i}function _(t){return t.load?t.load(t.content):null}var f=13,d=55727696,p=0,m=6,y=7,v=12;var g=16,x=6,C=8,A=10,b=12,S=14,T=0,w=1,E=3;function B(t,e){return t[e]<<8|t[e+1]}var M={png:h,jpg:h,bmp:h,jpeg:h,gif:h,ico:h,tiff:h,webp:h,image:h,pvr:function(t){var e=t.content instanceof ArrayBuffer?t.content:t.content.buffer,i=new Int32Array(e,0,f);if(i[p]!=d)return new Error("Invalid magic number in PVR header");var n=i[y],r=i[m],s=i[v]+52;return{_data:new Uint8Array(e,s),_compressed:!0,width:n,height:r}},pkm:function(t){var e=t.content instanceof ArrayBuffer?t.content:t.content.buffer,i=new Uint8Array(e),n=B(i,x);if(n!==T&&n!==w&&n!==E)return new Error("Invalid magic number in ETC header");var r=B(i,b),s=B(i,S);return B(i,C),B(i,A),{_data:new Uint8Array(e,g),_compressed:!0,width:r,height:s}},mp3:u,ogg:u,wav:u,m4a:u,json:l,ExportJson:l,plist:function(t){if("string"!=typeof t.content)return new Error("Plist Loader: Input item doesn't contain string content");var e=r.parse(t.content);return e||new Error("Plist Loader: Parse ["+t.id+"] failed")},uuid:a,prefab:a,fire:a,scene:a,binary:_,dbbin:_,bin:_,font:c.loadFont,eot:c.loadFont,ttf:c.loadFont,woff:c.loadFont,svg:c.loadFont,ttc:c.loadFont,default:function(){return null}},I=function(t){this.id="Loader",this.async=!0,this.pipeline=null,this.extMap=n.mixin(t,M)};I.ID="Loader",I.prototype.addHandlers=function(t){this.extMap=n.mixin(this.extMap,t)},I.prototype.handle=function(t,e){return(this.extMap[t.type]||this.extMap.default).call(this,t,e)},s.Loader=e.exports=I}),{"../assets/CCTexture2D":51,"../platform/CCSAXParser":167,"../platform/js":180,"./font-loader":119,"./pipeline":125,"./uuid-loader":131}],122:[(function(t,e,i){"use strict";var n=t("../platform/callbacks-invoker");t("../utils/CCPath");var r=t("../platform/js"),s=0|998*Math.random(),o=r.createMap(!0),a=[],c={WORKING:1,COMPLETE:2,ERROR:3},l=r.createMap(!0);function h(t){return"string"==typeof(t.url||t)}function u(t){if(t){var e=t.split("?");if(e&&e[0]&&e[1]){var i={};return e[1].split("&").forEach((function(t){var e=t.split("=");i[e[0]]=e[1]})),i}}}function _(t,e){var i="object"==typeof t?t.url:t,n={queueId:e,id:i,url:i,rawUrl:void 0,urlParam:u(i),type:"",error:null,content:null,complete:!1,states:{},deps:null};if("object"==typeof t&&(r.mixin(n,t),t.skips))for(var s=0;s<t.skips.length;s++){var o=t.skips[s];n.states[o]=c.COMPLETE}return n.rawUrl=n.url,i&&!n.type&&(n.type=cc.path.extname(i).toLowerCase().substr(1)),n}var f=[];function d(t,e,i){if(!t||!e)return!1;var n=!1;if(f.push(e.id),e.deps){var r,s,o=e.deps;for(r=0;r<o.length;r++){if((s=o[r]).id===t.id){n=!0;break}if(!(f.indexOf(s.id)>=0)&&(s.deps&&d(t,s,!0))){n=!0;break}}}return i||(f.length=0),n}var p=function(t,e,i,a){n.call(this),this._id=++s,o[this._id]=this,this._pipeline=t,this._errorUrls=r.createMap(!0),this._appending=!1,this._ownerQueue=null,this.onProgress=i,this.onComplete=a,this.map=r.createMap(!0),this.completed={},this.totalCount=0,this.completedCount=0,this._pipeline?this.active=!0:this.active=!1,e&&(e.length>0?this.append(e):this.allComplete())};p.ItemState=new cc.Enum(c),p.create=function(t,e,i,n){void 0===i?"function"==typeof e&&(n=e,e=i=null):void 0===n&&("function"==typeof e?(n=i,i=e,e=null):(n=i,i=null));var r=a.pop();return r?(r._pipeline=t,r.onProgress=i,r.onComplete=n,o[r._id]=r,r._pipeline&&(r.active=!0),e&&r.append(e)):r=new p(t,e,i,n),r},p.getQueue=function(t){return t.queueId?o[t.queueId]:null},p.itemComplete=function(t){var e=o[t.queueId];e&&e.itemComplete(t.id)},p.initQueueDeps=function(t){var e=l[t._id];e?(e.completed.length=0,e.deps.length=0):e=l[t._id]={completed:[],deps:[]}},p.registerQueueDep=function(t,e){var i=t.queueId||t;if(!i)return!1;var n=l[i];if(n)-1===n.deps.indexOf(e)&&n.deps.push(e);else if(t.id)for(var r in l){var s=l[r];-1!==s.deps.indexOf(t.id)&&-1===s.deps.indexOf(e)&&s.deps.push(e)}},p.finishDep=function(t){for(var e in l){var i=l[e];-1!==i.deps.indexOf(t)&&-1===i.completed.indexOf(t)&&i.completed.push(t)}};var m=p.prototype;r.mixin(m,n.prototype),m.append=function(t,e){if(!this.active)return[];e&&!e.deps&&(e.deps=[]),this._appending=!0;var i,n,r,s=[];for(i=0;i<t.length;++i)if(!(n=t[i]).queueId||this.map[n.id]){if(h(n)){var a=(r=_(n,this._id)).id;this.map[a]||(this.map[a]=r,this.totalCount++,e&&e.deps.push(r),p.registerQueueDep(e||this._id,a),s.push(r))}}else{if(this.map[n.id]=n,e&&e.deps.push(n),n.complete||d(e,n)){this.totalCount++,this.itemComplete(n.id);continue}var c=this,l=o[n.queueId];l&&(this.totalCount++,p.registerQueueDep(e||this._id,n.id),l.addListener(n.id,(function(t){c.itemComplete(t.id)})))}return this._appending=!1,this.completedCount===this.totalCount?this.allComplete():this._pipeline.flowIn(s),s},m._childOnProgress=function(t){if(this.onProgress){var e=l[this._id];this.onProgress(e?e.completed.length:this.completedCount,e?e.deps.length:this.totalCount,t)}},m.allComplete=function(){var t=r.isEmptyObject(this._errorUrls)?null:this._errorUrls;this.onComplete&&this.onComplete(t,this)},m.isCompleted=function(){return this.completedCount>=this.totalCount},m.isItemCompleted=function(t){return!!this.completed[t]},m.exists=function(t){return!!this.map[t]},m.getContent=function(t){var e=this.map[t],i=null;return e&&(e.content?i=e.content:e.alias&&(i=e.alias.content)),i},m.getError=function(t){var e=this.map[t],i=null;return e&&(e.error?i=e.error:e.alias&&(i=e.alias.error)),i},m.addListener=n.prototype.on,m.hasListener=n.prototype.hasEventListener,m.removeListener=n.prototype.off,m.removeAllListeners=n.prototype.removeAll,m.removeItem=function(t){var e=this.map[t];e&&this.completed[e.alias||t]&&(delete this.completed[t],delete this.map[t],e.alias&&(delete this.completed[e.alias.id],delete this.map[e.alias.id]),this.completedCount--,this.totalCount--)},m.itemComplete=function(t){var e=this.map[t];if(e){var i=t in this._errorUrls;if(e.error instanceof Error||r.isString(e.error)?this._errorUrls[t]=e.error:e.error?r.mixin(this._errorUrls,e.error):!e.error&&i&&delete this._errorUrls[t],this.completed[t]=e,this.completedCount++,p.finishDep(e.id),this.onProgress){var n=l[this._id];this.onProgress(n?n.completed.length:this.completedCount,n?n.deps.length:this.totalCount,e)}this.emit(t,e),this.removeAll(t),!this._appending&&this.completedCount>=this.totalCount&&this.allComplete()}},m.destroy=function(){this.active=!1,this._appending=!1,this._pipeline=null,this._ownerQueue=null,r.clear(this._errorUrls),this.onProgress=null,this.onComplete=null,this.map=r.createMap(!0),this.completed={},this.totalCount=0,this.completedCount=0,n.call(this),l[this._id]&&(l[this._id].completed.length=0,l[this._id].deps.length=0),delete o[this._id],delete l[this._id],-1===a.indexOf(this)&&a.length<10&&a.push(this)},cc.LoadingItems=e.exports=p}),{"../platform/callbacks-invoker":173,"../platform/js":180,"../utils/CCPath":240}],123:[(function(t,e,i){"use strict";var n=t("./pipeline"),r="MD5Pipe",s=/.*[/\\][0-9a-fA-F]{2}[/\\]([0-9a-fA-F-]{8,})/,o=function(t,e,i){this.id=r,this.async=!1,this.pipeline=null,this.md5AssetsMap=t,this.md5NativeAssetsMap=e,this.libraryBase=i};o.ID=r,o.prototype.handle=function(t){return t.url=this.transformURL(t.url),null},o.prototype.transformURL=function(t){var e=!t.startsWith(this.libraryBase)?this.md5NativeAssetsMap:this.md5AssetsMap;return t=t.replace(s,(function(t,i){var n=e[i];return n?t+"."+n:t}))},n.MD5Pipe=e.exports=o}),{"./pipeline":125}],124:[(function(t,e,i){"use strict";var n=t("./unpackers"),r=t("../utils/misc").pushToMap,s={Invalid:0,Removed:1,Downloading:2,Loaded:3};function o(){this.unpacker=null,this.state=s.Invalid}var a={},c={},l={};function h(t,e){return new Error("Can not retrieve "+t+" from packer "+e)}e.exports={initPacks:function(t){for(var e in c=t,a={},t)for(var i=t[e],n=0;n<i.length;n++){var s=i[n],o=1===i.length;r(a,s,e,o)}},_loadNewPack:function(t,e,i){var n=this,r=cc.AssetLibrary.getLibUrlNoExt(e)+".json";cc.loader.load({url:r,ignoreMaxConcurrency:!0},(function(r,s){if(r)return cc.errorID(4916,t),i(r);var o=n._doLoadNewPack(t,e,s);o?i(null,o):i(h(t,e))}))},_doPreload:function(t,e){var i=l[t];i||((i=l[t]=new o).state=s.Downloading),i.state!==s.Loaded&&(i.unpacker=new n.JsonUnpacker,i.unpacker.load(c[t],e),i.state=s.Loaded)},_doLoadNewPack:function(t,e,i){var r=l[e];return r.state!==s.Loaded&&("string"==typeof i&&(i=JSON.parse(i)),Array.isArray(i)?r.unpacker=new n.JsonUnpacker:i.type===n.TextureUnpacker.ID&&(r.unpacker=new n.TextureUnpacker),r.unpacker.load(c[e],i),r.state=s.Loaded),r.unpacker.retrieve(t)},_selectLoadedPack:function(t){for(var e=s.Invalid,i="",n=0;n<t.length;n++){var r=t[n],o=l[r];if(o){var a=o.state;if(a===s.Loaded)return r;a>e&&(e=a,i=r)}}return e!==s.Invalid?i:t[0]},load:function(t,e){var i=t.uuid,n=a[i];if(n){Array.isArray(n)&&(n=this._selectLoadedPack(n));var r=l[n];if(r&&r.state===s.Loaded){var c=r.unpacker.retrieve(i);return c||h(i,n)}return r||(console.log("Create unpacker %s for %s",n,i),(r=l[n]=new o).state=s.Downloading),this._loadNewPack(i,n,e),null}}}}),{"../utils/misc":249,"./unpackers":129}],125:[(function(t,e,i){"use strict";var n=t("../platform/js"),r=t("./loading-items"),s=r.ItemState;function o(t,e){var i=t.id,n=e.states[i],r=t.next,a=t.pipeline;if(!e.error&&n!==s.WORKING&&n!==s.ERROR)if(n===s.COMPLETE)r?o(r,e):a.flowOut(e);else{e.states[i]=s.WORKING;var c=t.handle(e,(function(t,n){t?(e.error=t,e.states[i]=s.ERROR,a.flowOut(e)):(n&&(e.content=n),e.states[i]=s.COMPLETE,r?o(r,e):a.flowOut(e))}));c instanceof Error?(e.error=c,e.states[i]=s.ERROR,a.flowOut(e)):void 0!==c&&(null!==c&&(e.content=c),e.states[i]=s.COMPLETE,r?o(r,e):a.flowOut(e))}}var a=function(t){this._pipes=t,this._cache=n.createMap(!0);for(var e=0;e<t.length;++e){var i=t[e];i.handle&&i.id&&(i.pipeline=this,i.next=e<t.length-1?t[e+1]:null)}};a.ItemState=s;var c=a.prototype;c.insertPipe=function(t,e){if(!t.handle||!t.id||e>this._pipes.length)cc.warnID(4921);else if(this._pipes.indexOf(t)>0)cc.warnID(4922);else{t.pipeline=this;var i=null;e<this._pipes.length&&(i=this._pipes[e]);var n=null;e>0&&(n=this._pipes[e-1]),n&&(n.next=t),t.next=i,this._pipes.splice(e,0,t)}},c.insertPipeAfter=function(t,e){var i=this._pipes.indexOf(t);i<0||this.insertPipe(e,i+1)},c.appendPipe=function(t){t.handle&&t.id&&(t.pipeline=this,t.next=null,this._pipes.length>0&&(this._pipes[this._pipes.length-1].next=t),this._pipes.push(t))},c.flowIn=function(t){var e,i,n=this._pipes[0];if(n){for(e=0;e<t.length;e++)i=t[e],this._cache[i.id]=i;for(e=0;e<t.length;e++)o(n,i=t[e])}else for(e=0;e<t.length;e++)this.flowOut(t[e])},c.flowInDeps=function(t,e,i){return r.create(this,(function(t,e){i(t,e),e.destroy()})).append(e,t)},c.flowOut=function(t){t.error?delete this._cache[t.id]:this._cache[t.id]||(this._cache[t.id]=t),t.complete=!0,r.itemComplete(t)},c.copyItemStates=function(t,e){if(e instanceof Array)for(var i=0;i<e.length;++i)e[i].states=t.states;else e.states=t.states},c.getItem=function(t){var e=this._cache[t];return e?(e.alias&&(e=e.alias),e):e},c.removeItem=function(t){var e=this._cache[t];return e&&e.complete&&delete this._cache[t],e},c.clear=function(){for(var t in this._cache){var e=this._cache[t];delete this._cache[t],e.complete||(e.error=new Error("Canceled manually"),this.flowOut(e))}},cc.Pipeline=e.exports=a}),{"../platform/js":180,"./loading-items":122}],126:[(function(t,e,i){"use strict"}),{"../platform/js":180}],127:[(function(t,e,i){"use strict";var n=t("./pipeline"),r="SubPackPipe",s=/.*[/\\][0-9a-fA-F]{2}[/\\]([0-9a-fA-F-]{8,})/;function o(t){var e=t.match(s);return e?e[1]:""}var a=Object.create(null),c=function(t){for(var e in this.id=r,this.async=!1,this.pipeline=null,t){var i=t[e];i.uuids&&i.uuids.forEach((function(t){a[t]=i.path}))}};c.ID=r,c.prototype.handle=function(t){return t.url=this.transformURL(t.url),null},c.prototype.transformURL=function(t){var e=o(t);if(e){var i=a[e];if(i)return t.replace("res/raw-assets/",i+"raw-assets/")}return t},n.SubPackPipe=e.exports=c}),{"./pipeline":125}],128:[(function(t,e,i){"use strict";var n=t("./utils").urlAppendTimestamp;e.exports=function(t,e){var i=t.url;i=n(i);var r=cc.loader.getXMLHttpRequest(),s="Load text file failed: "+i;r.open("GET",i,!0),r.overrideMimeType&&r.overrideMimeType("text/plain; charset=utf-8"),r.onload=function(){4===r.readyState?200===r.status||0===r.status?e(null,r.responseText):e({status:r.status,errorMessage:s+"(wrong status)"}):e({status:r.status,errorMessage:s+"(wrong readyState)"})},r.onerror=function(){e({status:r.status,errorMessage:s+"(error)"})},r.ontimeout=function(){e({status:r.status,errorMessage:s+"(time out)"})},r.send(null)}}),{"./utils":130}],129:[(function(t,e,i){"use strict";var n=t("../assets/CCTexture2D"),r=t("../platform/js");function s(){this.jsons={}}function o(){this.contents={}}s.prototype.load=function(t,e){e.length!==t.length&&cc.errorID(4915);for(var i=0;i<t.length;i++){var n=t[i],r=e[i];this.jsons[n]=r}},s.prototype.retrieve=function(t){return this.jsons[t]||null},o.ID=r._getClassId(n),o.prototype.load=function(t,e){var i=e.data.split("|");i.length!==t.length&&cc.errorID(4915);for(var n=0;n<t.length;n++)this.contents[t[n]]=i[n]},o.prototype.retrieve=function(t){var e=this.contents[t];return e?{__type__:o.ID,content:e}:null},e.exports={JsonUnpacker:s,TextureUnpacker:o}}),{"../assets/CCTexture2D":51,"../platform/js":180}],130:[(function(t,e,i){"use strict";var n=/\?/;e.exports={urlAppendTimestamp:function(t){return cc.game.config.noCache&&"string"==typeof t&&(n.test(t)?t+="&_t="+(new Date-0):t+="?_t="+(new Date-0)),t}}}),{}],131:[(function(t,e,i){"use strict";var n=t("../platform/js"),r=t("../CCDebug");t("../platform/deserialize");var s=t("./loading-items");function o(t){return t&&(t[0]&&"cc.Scene"===t[0].__type__||t[1]&&"cc.Scene"===t[1].__type__||t[0]&&"cc.Prefab"===t[0].__type__)}function a(t,e,i,n){var r,s,o,a=i.uuidList,c=i.uuidObjList,l=i.uuidPropList,h=i._stillUseUrl,u=t.dependKeys=[];if(n)for(r=[],s=0;s<a.length;s++){o=a[s];var _=c[s],f=l[s],d=cc.AssetLibrary._getAssetInfoInRuntime(o);if(d.raw){var p=d.url;_[f]=p,u.push(p)}else r.push({type:"uuid",uuid:o,deferredLoadRaw:!0,_owner:_,_ownerProp:f,_stillUseUrl:h[s]})}else{for(r=new Array(a.length),s=0;s<a.length;s++)o=a[s],r[s]={type:"uuid",uuid:o,_owner:c[s],_ownerProp:l[s],_stillUseUrl:h[s]};e._native&&!e.constructor.preventPreloadNativeObject&&r.push({url:e.nativeUrl,_owner:e,_ownerProp:"_nativeAsset"})}return r}function c(t,e,i,n,r){e.content=i;var o=e.dependKeys;t.flowInDeps(e,n,(function(t,e){var a,c=e.map;for(var l in c)(a=c[l]).uuid&&a.content&&(a.content._uuid=a.uuid);for(var h=0;h<n.length;h++){var u=function(t){var e=t.content;this._stillUseUrl&&(e=e&&cc.RawAsset.wasRawAssetType(e.constructor)?e.nativeUrl:t.rawUrl),"_nativeAsset"===this._ownerProp&&(this._owner.url=t.url),this._owner[this._ownerProp]=e,t.uuid!==i._uuid&&o.indexOf(t.id)<0&&o.push(t.id)},_=n[h],f=_.uuid,d=_.url;_._owner,_._ownerProp;if(a=c[d]){var p=_;if(a.complete||a.content){if(a.error)cc._throw(a.error.message||a.error.errorMessage||a.error);else u.call(p,a)}else{var m=s.getQueue(a),y=m._callbackTable[f];y?y.unshift(u,p):m.addListener(f,u,p)}}}if(!t&&i.onLoad)try{i.onLoad()}catch(t){cc._throw(t)}r(t,i)}))}function l(t,e,i){var n=e.deferredLoadRaw;return n?t instanceof cc.Asset&&t.constructor.preventDeferredLoadDependents&&(n=!1):i&&(t instanceof cc.SceneAsset||t instanceof cc.Prefab)&&(n=t.asyncLoadAssets),n}function h(t,e){var i,s;if("string"==typeof t.content)try{i=JSON.parse(t.content)}catch(e){return new Error(r.getError(4923,t.id,e.stack))}else{if("object"!=typeof t.content)return new Error(r.getError(4924));i=t.content}var h=o(i);s=h?cc._MissingScript.safeFindClass:function(t){var e=n._getClassById(t);return e||(cc.warnID(4903,t),Object)};var u,_=cc.deserialize.Details.pool.get();try{u=cc.deserialize(i,_,{classFinder:s,target:t.existingAsset,customEnv:t})}catch(e){cc.deserialize.Details.pool.put(_);var f=e.stack;return new Error(r.getError(4925,t.id,f))}u._uuid=t.uuid,u.url=u.nativeUrl;var d=a(t,u,_,l(u,t,h));if(cc.deserialize.Details.pool.put(_),0===d.length)return u.onLoad&&u.onLoad(),e(null,u);c(this.pipeline,t,u,d,e)}e.exports=h,h.isSceneObj=o}),{"../CCDebug":27,"../platform/deserialize":175,"../platform/js":180,"./loading-items":122}],132:[(function(t,e,i){"use strict";var n=t("./component-scheduler"),r=t("./platform/CCObject").Flags,s=t("./platform/js"),o=r.IsPreloadStarted,a=r.IsOnLoadStarted,c=r.IsOnLoadCalled,l=r.Deactivating,h=cc.Class({extends:n.LifeCycleInvoker,add:function(t){this._zero.array.push(t)},remove:function(t){this._zero.fastRemove(t)},cancelInactive:function(t){n.LifeCycleInvoker.stableRemoveInactive(this._zero,t)},invoke:function(){this._invoke(this._zero),this._zero.array.length=0}}),u=n.createInvokeImpl("c.__preload();"),_=n.createInvokeImpl("c.onLoad();c._objFlags|="+c,!1,c),f=new s.Pool(4);function d(t,e,i){e?t._removeComponent(e):s.array.removeAt(t._components,i)}function p(){this._activatingStack=[]}f.get=function(){var t=this._get()||{preload:new h(u),onLoad:new n.OneOffInvoker(_),onEnable:new n.OneOffInvoker(n.invokeOnEnable)};t.preload._zero.i=-1;var e=t.onLoad;return e._zero.i=-1,e._neg.i=-1,e._pos.i=-1,(e=t.onEnable)._zero.i=-1,e._neg.i=-1,e._pos.i=-1,t};var m=cc.Class({ctor:p,reset:p,_activateNodeRecursively:function(t,e,i,n){if(t._objFlags&l)cc.errorID(3816,t.name);else{t._activeInHierarchy=!0;for(var r=t._components.length,s=0;s<r;++s){var o=t._components[s];o instanceof cc.Component?this.activateComp(o,e,i,n):(d(t,o,s),--s,--r)}t._childArrivalOrder=t._children.length;for(var a=0,c=t._children.length;a<c;++a){var h=t._children[a];h._localZOrder=4294901760&h._localZOrder|a+1,h._active&&this._activateNodeRecursively(h,e,i,n)}t._onPostActivated(!0)}},_deactivateNodeRecursively:function(t){t._objFlags|=l,t._activeInHierarchy=!1;for(var e=t._components.length,i=0;i<e;++i){var n=t._components[i];if(n._enabled&&(cc.director._compScheduler.disableComp(n),t._activeInHierarchy))return void(t._objFlags&=~l)}for(var r=0,s=t._children.length;r<s;++r){var o=t._children[r];if(o._activeInHierarchy&&(this._deactivateNodeRecursively(o),t._activeInHierarchy))return void(t._objFlags&=~l)}t._onPostActivated(!1),t._objFlags&=~l},activateNode:function(t,e){if(e){var i=f.get();this._activatingStack.push(i),this._activateNodeRecursively(t,i.preload,i.onLoad,i.onEnable),i.preload.invoke(),i.onLoad.invoke(),i.onEnable.invoke(),this._activatingStack.pop(),f.put(i)}else{this._deactivateNodeRecursively(t);for(var n=this._activatingStack,r=0;r<n.length;r++){var s=n[r];s.preload.cancelInactive(o),s.onLoad.cancelInactive(a),s.onEnable.cancelInactive()}}t.emit("active-in-hierarchy-changed",t)},activateComp:function(t,e,i,n){if(cc.isValid(t,!0)&&(t._objFlags&o||(t._objFlags|=o,t.__preload&&(e?e.add(t):t.__preload())),t._objFlags&a||(t._objFlags|=a,t.onLoad?i?i.add(t):(t.onLoad(),t._objFlags|=c):t._objFlags|=c),t._enabled)){if(!t.node._activeInHierarchy)return;cc.director._compScheduler.enableComp(t,n)}},destroyComp:function(t){cc.director._compScheduler.disableComp(t),t.onDestroy&&t._objFlags&c&&t.onDestroy()},resetComp:!1});e.exports=m}),{"./component-scheduler":65,"./platform/CCObject":166,"./platform/js":180,"./utils/misc":249}],133:[(function(t,e,i){"use strict";var n=t("./CCPhysicsTypes").PTM_RATIO,r=t("./CCPhysicsTypes").ContactType,s=[],o=[cc.v2(),cc.v2()],a=new b2.WorldManifold,c={points:[],separations:[],normal:cc.v2()};function l(){this.localPoint=cc.v2(),this.normalImpulse=0,this.tangentImpulse=0}var h=[new l,new l],u=(new b2.Manifold,{type:0,localPoint:cc.v2(),localNormal:cc.v2(),points:[]}),_={normalImpulses:[],tangentImpulses:[]};function f(){}f.prototype.init=function(t){this.colliderA=t.GetFixtureA().collider,this.colliderB=t.GetFixtureB().collider,this.disabled=!1,this.disabledOnce=!1,this._impulse=null,this._inverted=!1,this._b2contact=t,t._contact=this},f.prototype.reset=function(){this.setTangentSpeed(0),this.resetFriction(),this.resetRestitution(),this.colliderA=null,this.colliderB=null,this.disabled=!1,this._impulse=null,this._b2contact._contact=null,this._b2contact=null},f.prototype.getWorldManifold=function(){var t=c.points,e=c.separations,i=c.normal;this._b2contact.GetWorldManifold(a);var r=a.points,s=a.separations,l=this._b2contact.GetManifold().pointCount;t.length=e.length=l;for(var h=0;h<l;h++){var u=o[h];u.x=r[h].x*n,u.y=r[h].y*n,t[h]=u,e[h]=s[h]*n}return i.x=a.normal.x,i.y=a.normal.y,this._inverted&&(i.x*=-1,i.y*=-1),c},f.prototype.getManifold=function(){for(var t=u.points,e=u.localNormal,i=u.localPoint,r=this._b2contact.GetManifold(),s=r.points,o=t.length=r.pointCount,a=0;a<o;a++){var c=h[a],l=s[a];c.localPoint.x=l.localPoint.x*n,c.localPoint.Y=l.localPoint.Y*n,c.normalImpulse=l.normalImpulse*n,c.tangentImpulse=l.tangentImpulse,t[a]=c}return i.x=r.localPoint.x*n,i.y=r.localPoint.y*n,e.x=r.localNormal.x,e.y=r.localNormal.y,u.type=r.type,this._inverted&&(e.x*=-1,e.y*=-1),u},f.prototype.getImpulse=function(){var t=this._impulse;if(!t)return null;for(var e=_.normalImpulses,i=_.tangentImpulses,r=t.count,s=0;s<r;s++)e[s]=t.normalImpulses[s]*n,i[s]=t.tangentImpulses[s];return i.length=e.length=r,_},f.prototype.emit=function(t){var e;switch(t){case r.BEGIN_CONTACT:e="onBeginContact";break;case r.END_CONTACT:e="onEndContact";break;case r.PRE_SOLVE:e="onPreSolve";break;case r.POST_SOLVE:e="onPostSolve"}var i,n,s,o,a=this.colliderA,c=this.colliderB,l=a.body,h=c.body;if(l.enabledContactListener)for(i=l.node._components,this._inverted=!1,n=0,s=i.length;n<s;n++)(o=i[n])[e]&&o[e](this,a,c);if(h.enabledContactListener)for(i=h.node._components,this._inverted=!0,n=0,s=i.length;n<s;n++)(o=i[n])[e]&&o[e](this,c,a);(this.disabled||this.disabledOnce)&&(this.setEnabled(!1),this.disabledOnce=!1)},f.get=function(t){var e;return(e=0===s.length?new cc.PhysicsContact:s.pop()).init(t),e},f.put=function(t){var e=t._contact;e&&(s.push(e),e.reset())};var d=f.prototype;d.setEnabled=function(t){this._b2contact.SetEnabled(t)},d.isTouching=function(){return this._b2contact.IsTouching()},d.setTangentSpeed=function(t){this._b2contact.SetTangentSpeed(t/n)},d.getTangentSpeed=function(){return this._b2contact.GetTangentSpeed()*n},d.setFriction=function(t){this._b2contact.SetFriction(t)},d.getFriction=function(){return this._b2contact.GetFriction()},d.resetFriction=function(){return this._b2contact.ResetFriction()},d.setRestitution=function(t){this._b2contact.SetRestitution(t)},d.getRestitution=function(){return this._b2contact.GetRestitution()},d.resetRestitution=function(){return this._b2contact.ResetRestitution()},f.ContactType=r,cc.PhysicsContact=e.exports=f}),{"./CCPhysicsTypes":135}],134:[(function(t,e,i){"use strict";var n=t("./CCPhysicsTypes"),r=n.ContactType,s=n.BodyType,o=n.RayCastType,a=n.DrawBits,c=n.PTM_RATIO,l=(n.ANGLE_TO_PHYSICS_ANGLE,n.PHYSICS_ANGLE_TO_ANGLE),h=t("./utils").convertToNodeRotation,u=t("./platform/CCPhysicsDebugDraw"),_=new b2.AABB,f=new b2.Vec2,d=new b2.Vec2,p=cc.v2(),m=cc.Class({mixins:[cc.EventTarget],statics:{DrawBits:a,PTM_RATIO:c,VELOCITY_ITERATIONS:10,POSITION_ITERATIONS:10,FIXED_TIME_STEP:1/60,MAX_ACCUMULATOR:.2},ctor:function(){this._debugDrawFlags=0,this._debugDrawer=null,this._world=null,this._bodies=[],this._joints=[],this._contactMap={},this._contactID=0,this._delayEvents=[],this._accumulator=0,cc.director._scheduler&&cc.director._scheduler.enableForTarget(this),this.enabledAccumulator=!1},pushDelayEvent:function(t,e,i){this._steping?this._delayEvents.push({target:t,func:e,args:i}):t[e].apply(t,i)},update:function(t){var e=this._world;if(e&&this.enabled){this.emit("before-step"),this._steping=!0;var i=m.VELOCITY_ITERATIONS,n=m.POSITION_ITERATIONS;if(this.enabledAccumulator){this._accumulator+=t;var r=m.FIXED_TIME_STEP,s=m.MAX_ACCUMULATOR;for(this._accumulator>s&&(this._accumulator=s);this._accumulator>r;)e.Step(r,i,n),this._accumulator-=r}else{var o=1/cc.game.config.frameRate;e.Step(o,i,n)}this.debugDrawFlags&&(this._checkDebugDrawValid(),this._debugDrawer.clear(),e.DrawDebugData()),this._steping=!1;for(var a=this._delayEvents,c=0,l=a.length;c<l;c++){var h=a[c];h.target[h.func].apply(h.target,h.args)}a.length=0,this._syncNode()}},testPoint:function(t){var e=f.x=t.x/c,i=f.y=t.y/c,n=.2/c;_.lowerBound.x=e-n,_.lowerBound.y=i-n,_.upperBound.x=e+n,_.upperBound.y=i+n;var r=this._aabbQueryCallback;r.init(f),this._world.QueryAABB(r,_);var s=r.getFixture();return s?s.collider:null},testAABB:function(t){_.lowerBound.x=t.xMin/c,_.lowerBound.y=t.yMin/c,_.upperBound.x=t.xMax/c,_.upperBound.y=t.yMax/c;var e=this._aabbQueryCallback;return e.init(),this._world.QueryAABB(e,_),e.getFixtures().map((function(t){return t.collider}))},rayCast:function(t,e,i){if(t.equals(e))return[];i=i||o.Closest,f.x=t.x/c,f.y=t.y/c,d.x=e.x/c,d.y=e.y/c;var n=this._raycastQueryCallback;n.init(i),this._world.RayCast(n,f,d);var r=n.getFixtures();if(r.length>0){for(var s=n.getPoints(),a=n.getNormals(),l=n.getFractions(),h=[],u=0,_=r.length;u<_;u++){var p=r[u],m=p.collider;if(i===o.AllClosest){var y=h.find((function(t){return t.collider===m}));if(y){l[u]<y.fraction&&(y.fixtureIndex=m._getFixtureIndex(p),y.point.x=s[u].x*c,y.point.y=s[u].y*c,y.normal.x=a[u].x,y.normal.y=a[u].y,y.fraction=l[u]);continue}}h.push({collider:m,fixtureIndex:m._getFixtureIndex(p),point:cc.v2(s[u].x*c,s[u].y*c),normal:cc.v2(a[u]),fraction:l[u]})}return h}return[]},syncPosition:function(){for(var t=this._bodies,e=0;e<t.length;e++)t[e].syncPosition()},syncRotation:function(){for(var t=this._bodies,e=0;e<t.length;e++)t[e].syncRotation()},_registerContactFixture:function(t){this._contactListener.registerContactFixture(t)},_unregisterContactFixture:function(t){this._contactListener.unregisterContactFixture(t)},_addBody:function(t,e){var i=this._world,n=t.node;i&&n&&(t._b2Body=i.CreateBody(e),t._b2Body.body=t,this._bodies.push(t))},_removeBody:function(t){var e=this._world;e&&(t._b2Body.body=null,e.DestroyBody(t._b2Body),t._b2Body=null,cc.js.array.remove(this._bodies,t))},_addJoint:function(t,e){var i=this._world.CreateJoint(e);i&&(i._joint=t,t._joint=i,this._joints.push(t))},_removeJoint:function(t){t._isValid()&&this._world.DestroyJoint(t._joint),t._joint&&(t._joint._joint=null),cc.js.array.remove(this._joints,t)},_initCallback:function(){if(this._world){if(!this._contactListener){var t=new cc.PhysicsContactListener;t.setBeginContact(this._onBeginContact),t.setEndContact(this._onEndContact),t.setPreSolve(this._onPreSolve),t.setPostSolve(this._onPostSolve),this._world.SetContactListener(t),this._contactListener=t,this._aabbQueryCallback=new cc.PhysicsAABBQueryCallback,this._raycastQueryCallback=new cc.PhysicsRayCastCallback}}else cc.warn("Please init PhysicsManager first")},_init:function(){this.enabled=!0,this.debugDrawFlags=a.e_shapeBit},_getWorld:function(){return this._world},_syncNode:function(){for(var t=this._bodies,e=0,i=t.length;e<i;e++){var n=t[e],r=n.node,o=n._b2Body,a=o.GetPosition();p.x=a.x*c,p.y=a.y*c;var u=o.GetAngle()*l;null!==r.parent.parent&&(p=r.parent.convertToNodeSpaceAR(p),u=h(r.parent,u));var _=r._eventMask;r._eventMask=0,r.position=p,r.angle=-u,r._eventMask=_,n.type===s.Animated&&n.resetVelocity()}},_onBeginContact:function(t){cc.PhysicsContact.get(t).emit(r.BEGIN_CONTACT)},_onEndContact:function(t){var e=t._contact;e&&(e.emit(r.END_CONTACT),cc.PhysicsContact.put(t))},_onPreSolve:function(t){var e=t._contact;e&&e.emit(r.PRE_SOLVE)},_onPostSolve:function(t,e){var i=t._contact;i&&(i._impulse=e,i.emit(r.POST_SOLVE),i._impulse=null)},_checkDebugDrawValid:function(){if(!this._debugDrawer||!this._debugDrawer.isValid){var t=new cc.Node("PHYSICS_MANAGER_DEBUG_DRAW");t.zIndex=cc.macro.MAX_ZINDEX,cc.game.addPersistRootNode(t),this._debugDrawer=t.addComponent(cc.Graphics);var e=new u(this._debugDrawer);e.SetFlags(this.debugDrawFlags),this._world.SetDebugDraw(e)}}});cc.js.getset(m.prototype,"enabled",(function(){return this._enabled}),(function(t){if(t&&!this._world){var e=new b2.World(new b2.Vec2(0,-10));e.SetAllowSleeping(!0),this._world=e,this._initCallback()}this._enabled=t})),cc.js.getset(m.prototype,"debugDrawFlags",(function(){return this._debugDrawFlags}),(function(t){t&&!this._debugDrawFlags?this._debugDrawer&&this._debugDrawer.node&&(this._debugDrawer.node.active=!0):!t&&this._debugDrawFlags&&this._debugDrawer&&this._debugDrawer.node&&(this._debugDrawer.node.active=!1),t&&(this._checkDebugDrawValid(),this._world.m_debugDraw.SetFlags(t)),this._debugDrawFlags=t,t&&(this._checkDebugDrawValid(),this._world.m_debugDraw.SetFlags(t))})),cc.js.getset(m.prototype,"gravity",(function(){if(this._world){var t=this._world.GetGravity();return cc.v2(t.x*c,t.y*c)}return cc.v2()}),(function(t){this._world&&this._world.SetGravity(new b2.Vec2(t.x/c,t.y/c))})),cc.PhysicsManager=e.exports=m}),{"./CCPhysicsTypes":135,"./platform/CCPhysicsDebugDraw":156,"./utils":158}],135:[(function(t,e,i){"use strict";var n=cc.Enum({Static:0,Kinematic:1,Dynamic:2,Animated:3});cc.RigidBodyType=n;var r=cc.Enum({Closest:0,Any:1,AllClosest:2,All:3});cc.RayCastType=r,e.exports={BodyType:n,ContactType:{BEGIN_CONTACT:"begin-contact",END_CONTACT:"end-contact",PRE_SOLVE:"pre-solve",POST_SOLVE:"post-solve"},RayCastType:r,DrawBits:b2.DrawFlags,PTM_RATIO:32,ANGLE_TO_PHYSICS_ANGLE:-Math.PI/180,PHYSICS_ANGLE_TO_ANGLE:-180/Math.PI}}),{}],136:[(function(t,e,i){"use strict";function n(t,e){var i=e.length;return e[t<0?i- -t%i:t%i]}function r(t,e,i){for(var r=[];e<t;)e+=i.length;for(;t<=e;++t)r.push(n(t,i));return r}function s(t,e,i){if(o(t,i)){if(l(n(t,i),n(t-1,i),n(e,i))&&h(n(t,i),n(t+1,i),n(e,i)))return!1}else if(h(n(t,i),n(t+1,i),n(e,i))||l(n(t,i),n(t-1,i),n(e,i)))return!1;if(o(e,i)){if(l(n(e,i),n(e-1,i),n(t,i))&&h(n(e,i),n(e+1,i),n(t,i)))return!1}else if(h(n(e,i),n(e+1,i),n(t,i))||l(n(e,i),n(e-1,i),n(t,i)))return!1;for(var r=0;r<i.length;++r)if((r+1)%i.length!=t&&r!=t&&(r+1)%i.length!=e&&r!=e){var s=cc.v2();if(m(n(t,i),n(e,i),n(r,i),n(r+1,i),s))return!1}return!0}function o(t,e){return a(t,e)}function a(t,e,i){if(void 0===i){var r=t,s=e;t=n(r-1,s),e=n(r,s),i=n(r+1,s)}return v(t,e,i)<0}function c(t,e,i){return v(t,e,i)>0}function l(t,e,i){return v(t,e,i)>=0}function h(t,e,i){return v(t,e,i)<=0}function u(t,e){var i=e.x-t.x,n=e.y-t.y;return i*i+n*n}function _(t){f(t)||t.reverse()}function f(t){return t.length<3||d(t)>0}function d(t){var e,i=0;for(e=0;e<t.length;e++){var n=(e+1)%t.length;i+=t[e].x*t[n].y,i-=t[e].y*t[n].x}return i/=2}function p(t,e,i,n){var r=cc.v2(),s=e.y-t.y,o=t.x-e.x,a=s*t.x+o*t.y,c=n.y-i.y,l=i.x-n.x,h=c*i.x+l*i.y,u=s*l-c*o;return y(u,0)||(r.x=(l*a-o*h)/u,r.y=(s*h-c*a)/u),r}function m(t,e,i,n,r){if(t==i||t==n||e==i||e==n)return!1;var s=t.x,o=t.y,a=e.x,c=e.y,l=i.x,h=i.y,u=n.x,_=n.y;if(Math.max(s,a)<Math.min(l,u)||Math.max(l,u)<Math.min(s,a))return!1;if(Math.max(o,c)<Math.min(h,_)||Math.max(h,_)<Math.min(o,c))return!1;var f=(u-l)*(o-h)-(_-h)*(s-l),d=(a-s)*(o-h)-(c-o)*(s-l),p=(_-h)*(a-s)-(u-l)*(c-o);return!(Math.abs(p)<1e-6)&&(d/=p,0<(f/=p)&&f<1&&0<d&&d<1&&(r.x=s+f*(a-s),r.y=o+f*(c-o),!0))}function y(t,e){return Math.abs(t-e)<=1e-6}function v(t,e,i){return t.x*(e.y-i.y)+e.x*(i.y-t.y)+i.x*(t.y-e.y)}e.exports={ConvexPartition:function t(e){_(e);for(var i,f,d,m,y,v,g=[],x=cc.v2(),C=cc.v2(),A=0,b=0,S=0;S<e.length;++S)if(o(S,e)){f=d=1e8;for(var T=0;T<e.length;++T)c(n(S-1,e),n(S,e),n(T,e))&&h(n(S-1,e),n(S,e),n(T-1,e))&&(m=p(n(S-1,e),n(S,e),n(T,e),n(T-1,e)),a(n(S+1,e),n(S,e),m)&&(i=u(n(S,e),m))<f&&(f=i,x=m,A=T)),c(n(S+1,e),n(S,e),n(T+1,e))&&h(n(S+1,e),n(S,e),n(T,e))&&(m=p(n(S+1,e),n(S,e),n(T,e),n(T+1,e)),c(n(S-1,e),n(S,e),m)&&(i=u(n(S,e),m))<d&&(d=i,b=T,C=m));if(A==(b+1)%e.length){var w=x.add(C).div(2);(y=r(S,b,e)).push(w),(v=r(A,S,e)).push(w)}else{for(var E=0,B=A;b<A;)b+=e.length;for(T=A;T<=b;++T)if(s(S,T,e)){var M=1/(u(n(S,e),n(T,e))+1);o(T,e)?h(n(T-1,e),n(T,e),n(S,e))&&l(n(T+1,e),n(T,e),n(S,e))?M+=3:M+=2:M+=1,M>E&&(B=T,E=M)}y=r(S,B,e),v=r(B,S,e)}return g=(g=g.concat(t(y))).concat(t(v))}g.push(e);for(S=g.length-1;S>=0;S--)0==g[S].length&&g.splice(S,0);return g},ForceCounterClockWise:_,IsCounterClockWise:f}}),{}],137:[(function(t,e,i){"use strict";var n=t("../CCNode").EventType,r=t("./CCPhysicsTypes").PTM_RATIO,s=t("./CCPhysicsTypes").ANGLE_TO_PHYSICS_ANGLE,o=t("./CCPhysicsTypes").PHYSICS_ANGLE_TO_ANGLE,a=t("./utils").getWorldRotation,c=t("./CCPhysicsTypes").BodyType,l=new b2.Vec2,h=new b2.Vec2,u=cc.Vec2.ZERO,_=cc.Class({name:"cc.RigidBody",extends:cc.Component,editor:!1,properties:{_type:c.Dynamic,_allowSleep:!0,_gravityScale:1,_linearDamping:0,_angularDamping:0,_linearVelocity:cc.v2(0,0),_angularVelocity:0,_fixedRotation:!1,enabled:{get:function(){return this._enabled},set:function(){cc.warnID(8200)},visible:!1,override:!0},enabledContactListener:{default:!1,tooltip:!1},bullet:{default:!1,tooltip:!1},type:{type:c,tooltip:!1,get:function(){return this._type},set:function(t){this._type=t,this._b2Body&&(t===c.Animated?this._b2Body.SetType(c.Kinematic):this._b2Body.SetType(t))}},allowSleep:{tooltip:!1,get:function(){return this._b2Body?this._b2Body.IsSleepingAllowed():this._allowSleep},set:function(t){this._allowSleep=t,this._b2Body&&this._b2Body.SetSleepingAllowed(t)}},gravityScale:{tooltip:!1,get:function(){return this._gravityScale},set:function(t){this._gravityScale=t,this._b2Body&&this._b2Body.SetGravityScale(t)}},linearDamping:{tooltip:!1,get:function(){return this._linearDamping},set:function(t){this._linearDamping=t,this._b2Body&&this._b2Body.SetLinearDamping(this._linearDamping)}},angularDamping:{tooltip:!1,get:function(){return this._angularDamping},set:function(t){this._angularDamping=t,this._b2Body&&this._b2Body.SetAngularDamping(t)}},linearVelocity:{tooltip:!1,type:cc.Vec2,get:function(){var t=this._linearVelocity;if(this._b2Body){var e=this._b2Body.GetLinearVelocity();t.x=e.x*r,t.y=e.y*r}return t},set:function(t){this._linearVelocity=t;var e=this._b2Body;if(e){var i=e.m_linearVelocity;i.Set(t.x/r,t.y/r),e.SetLinearVelocity(i)}}},angularVelocity:{tooltip:!1,get:function(){return this._b2Body?this._b2Body.GetAngularVelocity()*o:this._angularVelocity},set:function(t){this._angularVelocity=t,this._b2Body&&this._b2Body.SetAngularVelocity(t*s)}},fixedRotation:{tooltip:!1,get:function(){return this._fixedRotation},set:function(t){this._fixedRotation=t,this._b2Body&&this._b2Body.SetFixedRotation(t)}},awake:{visible:!1,tooltip:!1,get:function(){return!!this._b2Body&&this._b2Body.IsAwake()},set:function(t){this._b2Body&&this._b2Body.SetAwake(t)}},awakeOnLoad:{default:!0,tooltip:!1,animatable:!1},active:{visible:!1,get:function(){return!!this._b2Body&&this._b2Body.IsActive()},set:function(t){this._b2Body&&this._b2Body.SetActive(t)}}},getLocalPoint:function(t,e){if(e=e||cc.v2(),this._b2Body){l.Set(t.x/r,t.y/r);var i=this._b2Body.GetLocalPoint(l,e);e.x=i.x*r,e.y=i.y*r}return e},getWorldPoint:function(t,e){if(e=e||cc.v2(),this._b2Body){l.Set(t.x/r,t.y/r);var i=this._b2Body.GetWorldPoint(l,e);e.x=i.x*r,e.y=i.y*r}return e},getWorldVector:function(t,e){if(e=e||cc.v2(),this._b2Body){l.Set(t.x/r,t.y/r);var i=this._b2Body.GetWorldVector(l,e);e.x=i.x*r,e.y=i.y*r}return e},getLocalVector:function(t,e){if(e=e||cc.v2(),this._b2Body){l.Set(t.x/r,t.y/r);var i=this._b2Body.GetLocalVector(l,e);e.x=i.x*r,e.y=i.y*r}return e},getWorldPosition:function(t){if(t=t||cc.v2(),this._b2Body){var e=this._b2Body.GetPosition();t.x=e.x*r,t.y=e.y*r}return t},getWorldRotation:function(){return this._b2Body?this._b2Body.GetAngle()*o:0},getLocalCenter:function(t){if(t=t||cc.v2(),this._b2Body){var e=this._b2Body.GetLocalCenter();t.x=e.x*r,t.y=e.y*r}return t},getWorldCenter:function(t){if(t=t||cc.v2(),this._b2Body){var e=this._b2Body.GetWorldCenter();t.x=e.x*r,t.y=e.y*r}return t},getLinearVelocityFromWorldPoint:function(t,e){if(e=e||cc.v2(),this._b2Body){l.Set(t.x/r,t.y/r);var i=this._b2Body.GetLinearVelocityFromWorldPoint(l,e);e.x=i.x*r,e.y=i.y*r}return e},getMass:function(){return this._b2Body?this._b2Body.GetMass():0},getInertia:function(){return this._b2Body?this._b2Body.GetInertia()*r*r:0},getJointList:function(){if(!this._b2Body)return[];var t=[],e=this._b2Body.GetJointList();if(!e)return[];t.push(e.joint._joint);for(var i=e.prev;i;)t.push(i.joint._joint),i=i.prev;for(var n=e.next;n;)t.push(n.joint._joint),n=n.next;return t},applyForce:function(t,e,i){this._b2Body&&(l.Set(t.x/r,t.y/r),h.Set(e.x/r,e.y/r),this._b2Body.ApplyForce(l,h,i))},applyForceToCenter:function(t,e){this._b2Body&&(l.Set(t.x/r,t.y/r),this._b2Body.ApplyForceToCenter(l,e))},applyTorque:function(t,e){this._b2Body&&this._b2Body.ApplyTorque(t/r,e)},applyLinearImpulse:function(t,e,i){this._b2Body&&(l.Set(t.x/r,t.y/r),h.Set(e.x/r,e.y/r),this._b2Body.ApplyLinearImpulse(l,h,i))},applyAngularImpulse:function(t,e){this._b2Body&&this._b2Body.ApplyAngularImpulse(t/r/r,e)},syncPosition:function(t){var e=this._b2Body;if(e){var i,n=this.node.convertToWorldSpaceAR(u);if((i=this.type===c.Animated?e.GetLinearVelocity():e.GetPosition()).x=n.x/r,i.y=n.y/r,this.type===c.Animated&&t){var s=e.GetPosition(),o=cc.game.config.frameRate;i.x=(i.x-s.x)*o,i.y=(i.y-s.y)*o,e.SetAwake(!0),e.SetLinearVelocity(i)}else e.SetTransformVec(i,e.GetAngle())}},syncRotation:function(t){var e=this._b2Body;if(e){var i=s*a(this.node);if(this.type===c.Animated&&t){var n=e.GetAngle(),r=cc.game.config.frameRate;e.SetAwake(!0),e.SetAngularVelocity((i-n)*r)}else e.SetTransformVec(e.GetPosition(),i)}},resetVelocity:function(){var t=this._b2Body;if(t){var e=t.m_linearVelocity;e.Set(0,0),t.SetLinearVelocity(e),t.SetAngularVelocity(0)}},onEnable:function(){this._init()},onDisable:function(){this._destroy()},_registerNodeEvents:function(){var t=this.node;t.on(n.POSITION_CHANGED,this._onNodePositionChanged,this),t.on(n.ROTATION_CHANGED,this._onNodeRotationChanged,this),t.on(n.SCALE_CHANGED,this._onNodeScaleChanged,this)},_unregisterNodeEvents:function(){var t=this.node;t.off(n.POSITION_CHANGED,this._onNodePositionChanged,this),t.off(n.ROTATION_CHANGED,this._onNodeRotationChanged,this),t.off(n.SCALE_CHANGED,this._onNodeScaleChanged,this)},_onNodePositionChanged:function(){this.syncPosition(!0)},_onNodeRotationChanged:function(t){this.syncRotation(!0)},_onNodeScaleChanged:function(t){if(this._b2Body)for(var e=this.getComponents(cc.PhysicsCollider),i=0;i<e.length;i++)e[i].apply()},_init:function(){cc.director.getPhysicsManager().pushDelayEvent(this,"__init",[])},_destroy:function(){cc.director.getPhysicsManager().pushDelayEvent(this,"__destroy",[])},__init:function(){if(!this._inited){this._registerNodeEvents();var t=new b2.BodyDef;this.type===c.Animated?t.type=c.Kinematic:t.type=this.type,t.allowSleep=this.allowSleep,t.gravityScale=this.gravityScale,t.linearDamping=this.linearDamping,t.angularDamping=this.angularDamping;var e=this.linearVelocity;t.linearVelocity=new b2.Vec2(e.x/r,e.y/r),t.angularVelocity=this.angularVelocity*s,t.fixedRotation=this.fixedRotation,t.bullet=this.bullet;var i=this.node,n=i.convertToWorldSpaceAR(u);t.position=new b2.Vec2(n.x/r,n.y/r),t.angle=-Math.PI/180*a(i),t.awake=this.awakeOnLoad,cc.director.getPhysicsManager()._addBody(this,t),this._inited=!0}},__destroy:function(){this._inited&&(cc.director.getPhysicsManager()._removeBody(this),this._unregisterNodeEvents(),this._inited=!1)},_getBody:function(){return this._b2Body}});cc.RigidBody=e.exports=_}),{"../CCNode":30,"./CCPhysicsTypes":135,"./utils":158}],138:[(function(t,e,i){"use strict";var n=t("../../../external/box2d/box2d");for(var r in window.b2={},n)if(-1===r.indexOf("b2_")){var s=r.replace("b2","");b2[s]=n[r]}b2.maxPolygonVertices=8}),{"../../../external/box2d/box2d":335}],139:[(function(t,e,i){"use strict";var n=t("../CCPhysicsTypes").PTM_RATIO,r=cc.Class({name:"cc.PhysicsBoxCollider",extends:cc.PhysicsCollider,mixins:[cc.Collider.Box],editor:{menu:!1,requireComponent:cc.RigidBody},_createShape:function(t){var e=Math.abs(t.x),i=Math.abs(t.y),r=this.size.width/2/n*e,s=this.size.height/2/n*i,o=this.offset.x/n*e,a=this.offset.y/n*i,c=new b2.PolygonShape;return c.SetAsBox(r,s,new b2.Vec2(o,a),0),c}});cc.PhysicsBoxCollider=e.exports=r}),{"../CCPhysicsTypes":135}],140:[(function(t,e,i){"use strict";var n=t("../CCPhysicsTypes").PTM_RATIO,r=cc.Class({name:"cc.PhysicsChainCollider",extends:cc.PhysicsCollider,editor:{menu:!1,inspector:!1,requireComponent:cc.RigidBody},properties:{loop:!1,points:{default:function(){return[cc.v2(-50,0),cc.v2(50,0)]},type:[cc.Vec2]},threshold:{default:1,serializable:!1,visible:!1}},_createShape:function(t){for(var e=new b2.ChainShape,i=this.points,r=[],s=0;s<i.length;s++){var o=i[s];r.push(new b2.Vec2(o.x/n*t.x,o.y/n*t.y))}return this.loop?e.CreateLoop(r,r.length):e.CreateChain(r,r.length),e},resetInEditor:!1,resetPointsByContour:!1});cc.PhysicsChainCollider=e.exports=r}),{"../CCPhysicsTypes":135}],141:[(function(t,e,i){"use strict";var n=t("../CCPhysicsTypes").PTM_RATIO,r=cc.Class({name:"cc.PhysicsCircleCollider",extends:cc.PhysicsCollider,mixins:[cc.Collider.Circle],editor:{menu:!1,requireComponent:cc.RigidBody},_createShape:function(t){var e=Math.abs(t.x),i=Math.abs(t.y),r=this.offset.x/n*e,s=this.offset.y/n*i,o=new b2.CircleShape;return o.m_radius=this.radius/n*e,o.m_p=new b2.Vec2(r,s),o}});cc.PhysicsCircleCollider=e.exports=r}),{"../CCPhysicsTypes":135}],142:[(function(t,e,i){"use strict";var n=t("../CCPhysicsTypes").PTM_RATIO,r=t("../utils").getWorldScale,s=cc.Class({name:"cc.PhysicsCollider",extends:cc.Collider,ctor:function(){this._fixtures=[],this._shapes=[],this._inited=!1,this._rect=cc.rect()},properties:{_density:1,_sensor:!1,_friction:.2,_restitution:0,density:{tooltip:!1,get:function(){return this._density},set:function(t){this._density=t}},sensor:{tooltip:!1,get:function(){return this._sensor},set:function(t){this._sensor=t}},friction:{tooltip:!1,get:function(){return this._friction},set:function(t){this._friction=t}},restitution:{tooltip:!1,get:function(){return this._restitution},set:function(t){this._restitution=t}},body:{default:null,type:cc.RigidBody,visible:!1}},onDisable:function(){this._destroy()},onEnable:function(){this._init()},start:function(){this._init()},_getFixtureIndex:function(t){return this._fixtures.indexOf(t)},_init:function(){cc.director.getPhysicsManager().pushDelayEvent(this,"__init",[])},_destroy:function(){cc.director.getPhysicsManager().pushDelayEvent(this,"__destroy",[])},__init:function(){if(!this._inited){var t=this.body||this.getComponent(cc.RigidBody);if(t){var e=t._getBody();if(e){var i=t.node,n=r(i);this._scale=n;var s=0===n.x&&0===n.y?[]:this._createShape(n);s instanceof Array||(s=[s]);for(var o=1<<i.groupIndex,a=0,c=cc.game.collisionMatrix[i.groupIndex],l=0;l<c.length;l++)c[l]&&(a|=1<<l);for(var h={categoryBits:o,maskBits:a,groupIndex:0},u=cc.director.getPhysicsManager(),_=0;_<s.length;_++){var f=s[_],d=new b2.FixtureDef;d.density=this.density,d.isSensor=this.sensor,d.friction=this.friction,d.restitution=this.restitution,d.shape=f,d.filter=h;var p=e.CreateFixture(d);p.collider=this,t.enabledContactListener&&u._registerContactFixture(p),this._shapes.push(f),this._fixtures.push(p)}this.body=t,this._inited=!0}}}},__destroy:function(){if(this._inited){for(var t=this._fixtures,e=this.body._getBody(),i=cc.director.getPhysicsManager(),n=t.length-1;n>=0;n--){var r=t[n];r.collider=null,i._unregisterContactFixture(r),e&&e.DestroyFixture(r)}this.body=null,this._fixtures.length=0,this._shapes.length=0,this._inited=!1}},_createShape:function(){},apply:function(){this._destroy(),this._init()},getAABB:function(){for(var t=1e7,e=1e7,i=-1e7,r=-1e7,s=this._fixtures,o=0;o<s.length;o++)for(var a=s[o],c=a.GetShape().GetChildCount(),l=0;l<c;l++){var h=a.GetAABB(l);h.lowerBound.x<t&&(t=h.lowerBound.x),h.lowerBound.y<e&&(e=h.lowerBound.y),h.upperBound.x>i&&(i=h.upperBound.x),h.upperBound.y>r&&(r=h.upperBound.y)}t*=n,e*=n,i*=n,r*=n;var u=this._rect;return u.x=t,u.y=e,u.width=i-t,u.height=r-e,u}});cc.PhysicsCollider=e.exports=s}),{"../CCPhysicsTypes":135,"../utils":158}],143:[(function(t,e,i){"use strict";var n=t("../CCPhysicsTypes").PTM_RATIO,r=t("../CCPolygonSeparator"),s=cc.Class({name:"cc.PhysicsPolygonCollider",extends:cc.PhysicsCollider,mixins:[cc.Collider.Polygon],editor:{menu:!1,inspector:!1,requireComponent:cc.RigidBody},_createShape:function(t){var e=[],i=this.points;i.length>0&&i[0].equals(i[i.length-1])&&(i.length-=1);for(var s=r.ConvexPartition(i),o=this.offset,a=0;a<s.length;a++){for(var c=s[a],l=null,h=[],u=null,_=0,f=c.length;_<f;_++){l||(l=new b2.PolygonShape);var d=c[_],p=(d.x+o.x)/n*t.x,m=(d.y+o.y)/n*t.y,y=new b2.Vec2(p,m);h.push(y),u||(u=y),h.length===b2.maxPolygonVertices&&(l.Set(h,h.length),e.push(l),l=null,_<f-1&&(h=[u,h[h.length-1]]))}l&&(l.Set(h,h.length),e.push(l))}return e}});cc.PhysicsPolygonCollider=e.exports=s}),{"../CCPhysicsTypes":135,"../CCPolygonSeparator":136}],144:[(function(t,e,i){"use strict";t("./box2d-adapter"),t("./CCPhysicsManager"),t("./CCRigidBody"),t("./CCPhysicsContact"),t("./collider/CCPhysicsCollider"),t("./collider/CCPhysicsChainCollider"),t("./collider/CCPhysicsCircleCollider"),t("./collider/CCPhysicsBoxCollider"),t("./collider/CCPhysicsPolygonCollider"),t("./joint/CCJoint"),t("./joint/CCDistanceJoint"),t("./joint/CCRevoluteJoint"),t("./joint/CCMouseJoint"),t("./joint/CCMotorJoint"),t("./joint/CCPrismaticJoint"),t("./joint/CCWeldJoint"),t("./joint/CCWheelJoint"),t("./joint/CCRopeJoint"),t("./platform/CCPhysicsContactListner"),t("./platform/CCPhysicsAABBQueryCallback"),t("./platform/CCPhysicsRayCastCallback")}),{"./CCPhysicsContact":133,"./CCPhysicsManager":134,"./CCRigidBody":137,"./box2d-adapter":138,"./collider/CCPhysicsBoxCollider":139,"./collider/CCPhysicsChainCollider":140,"./collider/CCPhysicsCircleCollider":141,"./collider/CCPhysicsCollider":142,"./collider/CCPhysicsPolygonCollider":143,"./joint/CCDistanceJoint":145,"./joint/CCJoint":146,"./joint/CCMotorJoint":147,"./joint/CCMouseJoint":148,"./joint/CCPrismaticJoint":149,"./joint/CCRevoluteJoint":150,"./joint/CCRopeJoint":151,"./joint/CCWeldJoint":152,"./joint/CCWheelJoint":153,"./platform/CCPhysicsAABBQueryCallback":154,"./platform/CCPhysicsContactListner":155,"./platform/CCPhysicsRayCastCallback":157}],145:[(function(t,e,i){"use strict";var n=t("../CCPhysicsTypes").PTM_RATIO,r=cc.Class({name:"cc.DistanceJoint",extends:cc.Joint,editor:!1,properties:{_distance:1,_frequency:0,_dampingRatio:0,distance:{tooltip:!1,get:function(){return this._distance},set:function(t){this._distance=t,this._joint&&this._joint.SetLength(t)}},frequency:{tooltip:!1,get:function(){return this._frequency},set:function(t){this._frequency=t,this._joint&&this._joint.SetFrequency(t)}},dampingRatio:{tooltip:!1,get:function(){return this._dampingRatio},set:function(t){this._dampingRatio=t,this._joint&&this._joint.SetDampingRatio(t)}}},_createJointDef:function(){var t=new b2.DistanceJointDef;return t.localAnchorA=new b2.Vec2(this.anchor.x/n,this.anchor.y/n),t.localAnchorB=new b2.Vec2(this.connectedAnchor.x/n,this.connectedAnchor.y/n),t.length=this.distance/n,t.dampingRatio=this.dampingRatio,t.frequencyHz=this.frequency,t}});cc.DistanceJoint=e.exports=r}),{"../CCPhysicsTypes":135}],146:[(function(t,e,i){"use strict";var n=t("../CCPhysicsTypes").PTM_RATIO,r=cc.Class({name:"cc.Joint",extends:cc.Component,editor:{requireComponent:cc.RigidBody},properties:{anchor:{default:cc.v2(0,0),tooltip:!1},connectedAnchor:{default:cc.v2(0,0),tooltip:!1},connectedBody:{default:null,type:cc.RigidBody,tooltip:!1},collideConnected:{default:!1,tooltip:!1}},onDisable:function(){this._destroy()},onEnable:function(){this._init()},start:function(){this._init()},apply:function(){this._destroy(),this._init()},getWorldAnchor:function(){if(this._joint){var t=this._joint.GetAnchorA();return cc.v2(t.x*n,t.y*n)}return cc.Vec2.ZERO},getWorldConnectedAnchor:function(){if(this._joint){var t=this._joint.GetAnchorB();return cc.v2(t.x*n,t.y*n)}return cc.Vec2.ZERO},getReactionForce:function(t){var e=cc.v2();return this._joint?this._joint.GetReactionForce(t,e):e},getReactionTorque:function(t){return this._joint?this._joint.GetReactionTorque(t):0},_init:function(){cc.director.getPhysicsManager().pushDelayEvent(this,"__init",[])},_destroy:function(){cc.director.getPhysicsManager().pushDelayEvent(this,"__destroy",[])},__init:function(){if(!this._inited&&(this.body=this.getComponent(cc.RigidBody),this._isValid())){var t=this._createJointDef();if(!t)return;t.bodyA=this.body._getBody(),t.bodyB=this.connectedBody._getBody(),t.collideConnected=this.collideConnected,cc.director.getPhysicsManager()._addJoint(this,t),this._inited=!0}},__destroy:function(){this._inited&&(cc.director.getPhysicsManager()._removeJoint(this),this._joint=null,this._inited=!1)},_createJointDef:function(){return null},_isValid:function(){return this.body&&this.body._getBody()&&this.connectedBody&&this.connectedBody._getBody()}});cc.Joint=e.exports=r}),{"../CCPhysicsTypes":135}],147:[(function(t,e,i){"use strict";var n=t("../CCPhysicsTypes").PTM_RATIO,r=t("../CCPhysicsTypes").ANGLE_TO_PHYSICS_ANGLE,s=cc.Class({name:"cc.MotorJoint",extends:cc.Joint,editor:!1,properties:{_linearOffset:cc.v2(0,0),_angularOffset:0,_maxForce:1,_maxTorque:1,_correctionFactor:.3,anchor:{tooltip:!1,default:cc.v2(0,0),override:!0,visible:!1},connectedAnchor:{tooltip:!1,default:cc.v2(0,0),override:!0,visible:!1},linearOffset:{tooltip:!1,get:function(){return this._linearOffset},set:function(t){this._linearOffset=t,this._joint&&this._joint.SetLinearOffset(new b2.Vec2(t.x/n,t.y/n))}},angularOffset:{tooltip:!1,get:function(){return this._angularOffset},set:function(t){this._angularOffset=t,this._joint&&this._joint.SetAngularOffset(t)}},maxForce:{tooltip:!1,get:function(){return this._maxForce},set:function(t){this._maxForce=t,this._joint&&this._joint.SetMaxForce(t)}},maxTorque:{tooltip:!1,get:function(){return this._maxTorque},set:function(t){this._maxTorque=t,this._joint&&this._joint.SetMaxTorque(t)}},correctionFactor:{tooltip:!1,get:function(){return this._correctionFactor},set:function(t){this._correctionFactor=t,this._joint&&this._joint.SetCorrectionFactor(t)}}},_createJointDef:function(){var t=new b2.MotorJointDef;return t.linearOffset=new b2.Vec2(this.linearOffset.x/n,this.linearOffset.y/n),t.angularOffset=this.angularOffset*r,t.maxForce=this.maxForce,t.maxTorque=this.maxTorque,t.correctionFactor=this.correctionFactor,t}});cc.MotorJoint=e.exports=s}),{"../CCPhysicsTypes":135}],148:[(function(t,e,i){"use strict";var n=t("../CCPhysicsTypes").PTM_RATIO,r=new b2.Vec2,s=cc.Class({name:"cc.MouseJoint",extends:cc.Joint,editor:!1,properties:{_target:1,_frequency:5,_dampingRatio:.7,_maxForce:0,connectedBody:{default:null,type:cc.RigidBody,visible:!1,override:!0},collideConnected:{default:!0,visible:!1,override:!0},anchor:{tooltip:!1,default:cc.v2(0,0),override:!0,visible:!1},connectedAnchor:{tooltip:!1,default:cc.v2(0,0),override:!0,visible:!1},mouseRegion:{tooltip:!1,default:null,type:cc.Node},target:{tooltip:!1,visible:!1,get:function(){return this._target},set:function(t){this._target=t,this._joint&&(r.x=t.x/n,r.y=t.y/n,this._joint.SetTarget(r))}},frequency:{tooltip:!1,get:function(){return this._frequency},set:function(t){this._frequency=t,this._joint&&this._joint.SetFrequency(t)}},dampingRatio:{tooltip:!1,get:function(){return this._dampingRatio},set:function(t){this._dampingRatio=t,this._joint&&this._joint.SetDampingRatio(t)}},maxForce:{tooltip:!1,visible:!1,get:function(){return this._maxForce},set:function(t){this._maxForce=t,this._joint&&this._joint.SetMaxForce(t)}}},onLoad:function(){var t=this.mouseRegion||this.node;t.on(cc.Node.EventType.TOUCH_START,this.onTouchBegan,this),t.on(cc.Node.EventType.TOUCH_MOVE,this.onTouchMove,this),t.on(cc.Node.EventType.TOUCH_END,this.onTouchEnd,this),t.on(cc.Node.EventType.TOUCH_CANCEL,this.onTouchEnd,this)},onEnable:function(){},start:function(){},onTouchBegan:function(t){var e=cc.director.getPhysicsManager(),i=this._pressPoint=t.touch.getLocation();cc.Camera&&cc.Camera.main&&(i=cc.Camera.main.getScreenToWorldPoint(i));var n=e.testPoint(i);n&&((this.connectedBody=n.body).awake=!0,this.maxForce=1e3*this.connectedBody.getMass(),this.target=i,this._init())},onTouchMove:function(t){this._pressPoint=t.touch.getLocation()},onTouchEnd:function(t){this._destroy(),this._pressPoint=null},_createJointDef:function(){var t=new b2.MouseJointDef;return r.x=this.target.x/n,r.y=this.target.y/n,t.target=r,t.maxForce=this.maxForce,t.dampingRatio=this.dampingRatio,t.frequencyHz=this.frequency,t},update:function(){if(this._pressPoint&&this._isValid()){var t=cc.Camera.findCamera(this.node);this.target=t?t.getScreenToWorldPoint(this._pressPoint):this._pressPoint}}});cc.MouseJoint=e.exports=s}),{"../CCPhysicsTypes":135}],149:[(function(t,e,i){"use strict";var n=t("../CCPhysicsTypes").PTM_RATIO,r=t("../CCPhysicsTypes").ANGLE_TO_PHYSICS_ANGLE,s=cc.Class({name:"cc.PrismaticJoint",extends:cc.Joint,editor:!1,properties:{localAxisA:{default:cc.v2(1,0),tooltip:!1},referenceAngle:{default:0,tooltip:!1},enableLimit:{default:!1,tooltip:!1},enableMotor:{default:!1,tooltip:!1},lowerLimit:{default:0,tooltip:!1},upperLimit:{default:0,tooltip:!1},_maxMotorForce:0,_motorSpeed:0,maxMotorForce:{tooltip:!1,get:function(){return this._maxMotorForce},set:function(t){this._maxMotorForce=t,this._joint&&this._joint.SetMaxMotorForce(t)}},motorSpeed:{tooltip:!1,get:function(){return this._motorSpeed},set:function(t){this._motorSpeed=t,this._joint&&this._joint.SetMotorSpeed(t)}}},_createJointDef:function(){var t=new b2.PrismaticJointDef;return t.localAnchorA=new b2.Vec2(this.anchor.x/n,this.anchor.y/n),t.localAnchorB=new b2.Vec2(this.connectedAnchor.x/n,this.connectedAnchor.y/n),t.localAxisA=new b2.Vec2(this.localAxisA.x,this.localAxisA.y),t.referenceAngle=this.referenceAngle*r,t.enableLimit=this.enableLimit,t.lowerTranslation=this.lowerLimit/n,t.upperTranslation=this.upperLimit/n,t.enableMotor=this.enableMotor,t.maxMotorForce=this.maxMotorForce,t.motorSpeed=this.motorSpeed,t}});cc.PrismaticJoint=e.exports=s}),{"../CCPhysicsTypes":135}],150:[(function(t,e,i){"use strict";var n=t("../CCPhysicsTypes").PTM_RATIO,r=t("../CCPhysicsTypes").ANGLE_TO_PHYSICS_ANGLE,s=t("../CCPhysicsTypes").PHYSICS_ANGLE_TO_ANGLE,o=cc.Class({name:"cc.RevoluteJoint",extends:cc.Joint,editor:!1,properties:{_maxMotorTorque:0,_motorSpeed:0,_enableLimit:!1,_enableMotor:!1,referenceAngle:{default:0,tooltip:!1},lowerAngle:{default:0,tooltip:!1},upperAngle:{default:0,tooltip:!1},maxMotorTorque:{tooltip:!1,get:function(){return this._maxMotorTorque},set:function(t){this._maxMotorTorque=t,this._joint&&this._joint.SetMaxMotorTorque(t)}},motorSpeed:{tooltip:!1,get:function(){return this._motorSpeed},set:function(t){this._motorSpeed=t,this._joint&&this._joint.SetMotorSpeed(t*r)}},enableLimit:{tooltip:!1,get:function(){return this._enableLimit},set:function(t){this._enableLimit=t,this._joint&&this._joint.EnableLimit(t)}},enableMotor:{tooltip:!1,get:function(){return this._enableMotor},set:function(t){this._enableMotor=t,this._joint&&this._joint.EnableMotor(t)}}},getJointAngle:function(){return this._joint?this._joint.GetJointAngle()*s:0},setLimits:function(t,e){if(this._joint)return this._joint.SetLimits(t*r,e*r)},_createJointDef:function(){var t=new b2.RevoluteJointDef;return t.localAnchorA=new b2.Vec2(this.anchor.x/n,this.anchor.y/n),t.localAnchorB=new b2.Vec2(this.connectedAnchor.x/n,this.connectedAnchor.y/n),t.lowerAngle=this.upperAngle*r,t.upperAngle=this.lowerAngle*r,t.maxMotorTorque=this.maxMotorTorque,t.motorSpeed=this.motorSpeed*r,t.enableLimit=this.enableLimit,t.enableMotor=this.enableMotor,t.referenceAngle=this.referenceAngle*r,t}});cc.RevoluteJoint=e.exports=o}),{"../CCPhysicsTypes":135}],151:[(function(t,e,i){"use strict";var n=t("../CCPhysicsTypes").PTM_RATIO,r=cc.Class({name:"cc.RopeJoint",extends:cc.Joint,editor:!1,properties:{_maxLength:1,maxLength:{tooltip:!1,get:function(){return this._maxLength},set:function(t){this._maxLength=t,this._joint&&this._joint.SetMaxLength(t)}}},_createJointDef:function(){var t=new b2.RopeJointDef;return t.localAnchorA=new b2.Vec2(this.anchor.x/n,this.anchor.y/n),t.localAnchorB=new b2.Vec2(this.connectedAnchor.x/n,this.connectedAnchor.y/n),t.maxLength=this.maxLength/n,t}});cc.RopeJoint=e.exports=r}),{"../CCPhysicsTypes":135}],152:[(function(t,e,i){"use strict";var n=t("../CCPhysicsTypes").PTM_RATIO,r=t("../CCPhysicsTypes").ANGLE_TO_PHYSICS_ANGLE,s=cc.Class({name:"cc.WeldJoint",extends:cc.Joint,editor:!1,properties:{referenceAngle:{default:0,tooltip:!1},_frequency:0,_dampingRatio:0,frequency:{tooltip:!1,get:function(){return this._frequency},set:function(t){this._frequency=t,this._joint&&this._joint.SetFrequency(t)}},dampingRatio:{tooltip:!1,get:function(){return this._dampingRatio},set:function(t){this._dampingRatio=t,this._joint&&this._joint.SetDampingRatio(t)}}},_createJointDef:function(){var t=new b2.WeldJointDef;return t.localAnchorA=new b2.Vec2(this.anchor.x/n,this.anchor.y/n),t.localAnchorB=new b2.Vec2(this.connectedAnchor.x/n,this.connectedAnchor.y/n),t.referenceAngle=this.referenceAngle*r,t.frequencyHz=this.frequency,t.dampingRatio=this.dampingRatio,t}});cc.WeldJoint=e.exports=s}),{"../CCPhysicsTypes":135}],153:[(function(t,e,i){"use strict";var n=t("../CCPhysicsTypes").PTM_RATIO,r=t("../CCPhysicsTypes").ANGLE_TO_PHYSICS_ANGLE,s=cc.Class({name:"cc.WheelJoint",extends:cc.Joint,editor:!1,properties:{_maxMotorTorque:0,_motorSpeed:0,_enableMotor:!1,_frequency:2,_dampingRatio:.7,localAxisA:{default:cc.v2(1,0),tooltip:!1},maxMotorTorque:{tooltip:!1,get:function(){return this._maxMotorTorque},set:function(t){this._maxMotorTorque=t,this._joint&&this._joint.SetMaxMotorTorque(t)}},motorSpeed:{tooltip:!1,get:function(){return this._motorSpeed},set:function(t){this._motorSpeed=t,this._joint&&this._joint.SetMotorSpeed(t*r)}},enableMotor:{tooltip:!1,get:function(){return this._enableMotor},set:function(t){this._enableMotor=t,this._joint&&this._joint.EnableMotor(t)}},frequency:{tooltip:!1,get:function(){return this._frequency},set:function(t){this._frequency=t,this._joint&&this._joint.SetFrequency(t)}},dampingRatio:{tooltip:!1,get:function(){return this._dampingRatio},set:function(t){this._dampingRatio=t,this._joint&&this._joint.SetDampingRatio(t)}}},_createJointDef:function(){var t=new b2.WheelJointDef;return t.localAnchorA=new b2.Vec2(this.anchor.x/n,this.anchor.y/n),t.localAnchorB=new b2.Vec2(this.connectedAnchor.x/n,this.connectedAnchor.y/n),t.localAxisA=new b2.Vec2(this.localAxisA.x,this.localAxisA.y),t.maxMotorTorque=this.maxMotorTorque,t.motorSpeed=this.motorSpeed*r,t.enableMotor=this.enableMotor,t.dampingRatio=this.dampingRatio,t.frequencyHz=this.frequency,t}});cc.WheelJoint=e.exports=s}),{"../CCPhysicsTypes":135}],154:[(function(t,e,i){"use strict";var n=t("../CCPhysicsTypes").BodyType;function r(){this._point=new b2.Vec2,this._isPoint=!1,this._fixtures=[]}r.prototype.init=function(t){t?(this._isPoint=!0,this._point.x=t.x,this._point.y=t.y):this._isPoint=!1,this._fixtures.length=0},r.prototype.ReportFixture=function(t){if(t.GetBody().GetType()===n.Dynamic)if(this._isPoint){if(t.TestPoint(this._point))return this._fixtures.push(t),!1}else this._fixtures.push(t);return!0},r.prototype.getFixture=function(){return this._fixtures[0]},r.prototype.getFixtures=function(){return this._fixtures},cc.PhysicsAABBQueryCallback=e.exports=r}),{"../CCPhysicsTypes":135}],155:[(function(t,e,i){"use strict";function n(){this._contactFixtures=[]}n.prototype.setBeginContact=function(t){this._BeginContact=t},n.prototype.setEndContact=function(t){this._EndContact=t},n.prototype.setPreSolve=function(t){this._PreSolve=t},n.prototype.setPostSolve=function(t){this._PostSolve=t},n.prototype.BeginContact=function(t){if(this._BeginContact){var e=t.GetFixtureA(),i=t.GetFixtureB(),n=this._contactFixtures;t._shouldReport=!1,-1===n.indexOf(e)&&-1===n.indexOf(i)||(t._shouldReport=!0,this._BeginContact(t))}},n.prototype.EndContact=function(t){this._EndContact&&t._shouldReport&&(t._shouldReport=!1,this._EndContact(t))},n.prototype.PreSolve=function(t,e){this._PreSolve&&t._shouldReport&&this._PreSolve(t,e)},n.prototype.PostSolve=function(t,e){this._PostSolve&&t._shouldReport&&this._PostSolve(t,e)},n.prototype.registerContactFixture=function(t){this._contactFixtures.push(t)},n.prototype.unregisterContactFixture=function(t){cc.js.array.remove(this._contactFixtures,t)},cc.PhysicsContactListener=e.exports=n}),{}],156:[(function(t,e,i){"use strict";var n=t("../CCPhysicsTypes").PTM_RATIO,r=cc.v2(),s=cc.Color.GREEN,o=cc.Color.RED;function a(t){b2.Draw.call(this),this._drawer=t,this._xf=this._dxf=new b2.Transform}cc.js.extend(a,b2.Draw),cc.js.mixin(a.prototype,{_DrawPolygon:function(t,e){for(var i=this._drawer,s=0;s<e;s++){b2.Transform.MulXV(this._xf,t[s],r);var o=r.x*n,a=r.y*n;0===s?i.moveTo(o,a):i.lineTo(o,a)}i.close()},DrawPolygon:function(t,e,i){this._applyStrokeColor(i),this._DrawPolygon(t,e),this._drawer.stroke()},DrawSolidPolygon:function(t,e,i){this._applyFillColor(i),this._DrawPolygon(t,e),this._drawer.fill(),this._drawer.stroke()},_DrawCircle:function(t,e){var i=this._xf.p;this._drawer.circle((t.x+i.x)*n,(t.y+i.y)*n,e*n)},DrawCircle:function(t,e,i){this._applyStrokeColor(i),this._DrawCircle(t,e),this._drawer.stroke()},DrawSolidCircle:function(t,e,i,n){this._applyFillColor(n),this._DrawCircle(t,e),this._drawer.fill()},DrawSegment:function(t,e,i){var s=this._drawer;if(t.x===e.x&&t.y===e.y)return this._applyFillColor(i),this._DrawCircle(t,2/n),void s.fill();this._applyStrokeColor(i),b2.Transform.MulXV(this._xf,t,r),s.moveTo(r.x*n,r.y*n),b2.Transform.MulXV(this._xf,e,r),s.lineTo(r.x*n,r.y*n),s.stroke()},DrawTransform:function(t){var e=this._drawer;e.strokeColor=o,r.x=r.y=0,b2.Transform.MulXV(t,r,r),e.moveTo(r.x*n,r.y*n),r.x=1,r.y=0,b2.Transform.MulXV(t,r,r),e.lineTo(r.x*n,r.y*n),e.stroke(),e.strokeColor=s,r.x=r.y=0,b2.Transform.MulXV(t,r,r),e.moveTo(r.x*n,r.y*n),r.x=0,r.y=1,b2.Transform.MulXV(t,r,r),e.lineTo(r.x*n,r.y*n),e.stroke()},DrawPoint:function(t,e,i){},_applyStrokeColor:function(t){var e=this._drawer.strokeColor;e.r=255*t.r,e.g=255*t.g,e.b=255*t.b,e.a=150,this._drawer.strokeColor=e},_applyFillColor:function(t){var e=this._drawer.fillColor;e.r=255*t.r,e.g=255*t.g,e.b=255*t.b,e.a=150,this._drawer.fillColor=e},PushTransform:function(t){this._xf=t},PopTransform:function(){this._xf=this._dxf}}),e.exports=a}),{"../CCPhysicsTypes":135}],157:[(function(t,e,i){"use strict";function n(){this._type=0,this._fixtures=[],this._points=[],this._normals=[],this._fractions=[]}n.prototype.init=function(t){this._type=t,this._fixtures.length=0,this._points.length=0,this._normals.length=0,this._fractions.length=0},n.prototype.ReportFixture=function(t,e,i,n){return 0===this._type?(this._fixtures[0]=t,this._points[0]=e,this._normals[0]=i,this._fractions[0]=n,n):(this._fixtures.push(t),this._points.push(cc.v2(e)),this._normals.push(cc.v2(i)),this._fractions.push(n),1===this._type?0:this._type>=2?1:n)},n.prototype.getFixtures=function(){return this._fixtures},n.prototype.getPoints=function(){return this._points},n.prototype.getNormals=function(){return this._normals},n.prototype.getFractions=function(){return this._fractions},cc.PhysicsRayCastCallback=e.exports=n}),{}],158:[(function(t,e,i){"use strict";e.exports={getWorldRotation:function(t){for(var e=t.angle,i=t.parent;i.parent;)e+=i.angle,i=i.parent;return-e},getWorldScale:function(t){for(var e=t.scaleX,i=t.scaleY,n=t.parent;n.parent;)e*=n.scaleX,i*=n.scaleY,n=n.parent;return cc.v2(e,i)},convertToNodeRotation:function(t,e){e-=-t.angle;for(var i=t.parent;i.parent;)e-=-i.angle,i=i.parent;return e}}}),{}],159:[(function(t,e,i){"use strict";t("../assets/CCAsset");var n=t("./utils").callInNextTick,r=t("../load-pipeline/CCLoader"),s=t("../load-pipeline/asset-table"),o=t("../load-pipeline/pack-downloader"),a=t("../load-pipeline/auto-release-utils"),c=t("../utils/decode-uuid"),l=t("../load-pipeline/md5-pipe"),h=t("../load-pipeline/subpackage-pipe"),u=t("./js"),_="",f="",d=u.createMap(!0);function p(t){return t&&(t.constructor===cc.SceneAsset||t instanceof cc.Scene)}function m(t,e){this.url=t,this.type=e}var y={loadAsset:function(t,e,i){if("string"!=typeof t)return n(e,new Error("[AssetLibrary] uuid must be string"),null);var s={uuid:t,type:"uuid"};i&&i.existingAsset&&(s.existingAsset=i.existingAsset),r.load(s,(function(i,n){if(i||!n){var s="string"==typeof i?i:i?i.message||i.errorMessage||JSON.stringify(i):"Unknown error";i=new Error("[AssetLibrary] loading JSON or dependencies failed:"+s)}else{if(n.constructor===cc.SceneAsset){var o=cc.loader._getReferenceKey(t);n.scene.dependAssets=a.getDependsRecursively(o)}if(p(n)){var c=cc.loader._getReferenceKey(t);r.removeItem(c)}}e&&e(i,n)}))},getLibUrlNoExt:function(t,e){return t=c(t),(e?f+"assets/":_)+t.slice(0,2)+"/"+t},_queryAssetInfoInEditor:function(t,e){0},_getAssetInfoInRuntime:function(t,e){e=e||{url:null,raw:!1};var i=d[t];return i&&!u.isChildClassOf(i.type,cc.Asset)?(e.url=f+i.url,e.raw=!0):(e.url=this.getLibUrlNoExt(t)+".json",e.raw=!1),e},_uuidInSettings:function(t){return t in d},queryAssetInfo:function(t,e){var i=this._getAssetInfoInRuntime(t);e(null,i.url,i.raw)},parseUuidInEditor:function(t){},loadJson:function(t,e){var i=""+((new Date).getTime()+Math.random()),n={uuid:i,type:"uuid",content:t,skips:[r.assetLoader.id,r.downloader.id]};r.load(n,(function(t,n){if(t)t=new Error("[AssetLibrary] loading JSON or dependencies failed: "+t.message);else{if(n.constructor===cc.SceneAsset){var s=cc.loader._getReferenceKey(i);n.scene.dependAssets=a.getDependsRecursively(s)}if(p(n)){var o=cc.loader._getReferenceKey(i);r.removeItem(o)}}n._uuid="",e&&e(t,n)}))},getAssetByUuid:function(t){return y._uuidToAsset[t]||null},init:function(t){var e=t.libraryPath;if(e=e.replace(/\\/g,"/"),_=cc.path.stripSep(e)+"/",f=t.rawAssetsBase,t.subpackages){var i=new h(t.subpackages);cc.loader.insertPipeAfter(cc.loader.assetLoader,i),cc.loader.subPackPipe=i}var n=t.md5AssetsMap;if(n&&n.import){var a=0,p=0,y=u.createMap(!0),v=n.import;for(a=0;a<v.length;a+=2)y[p=c(v[a])]=v[a+1];var g=u.createMap(!0);for(v=n["raw-assets"],a=0;a<v.length;a+=2)g[p=c(v[a])]=v[a+1];var x=new l(y,g,_);cc.loader.insertPipeAfter(cc.loader.assetLoader,x),cc.loader.md5Pipe=x}var C=r._assetTables;for(var A in C)C[A].reset();var b=t.rawAssets;if(b)for(var S in b){var T=b[S];for(var p in T){var w=T[p],E=w[0],B=w[1],M=cc.js._getClassById(B);if(M){d[p]=new m(S+"/"+E,M);var I=cc.path.extname(E);I&&(E=E.slice(0,-I.length));var R=1===w[2];C[S]||(C[S]=new s),C[S].add(E,p,M,!R)}else cc.error("Cannot get",B)}}t.packedAssets&&o.initPacks(t.packedAssets),cc.url._init(t.mountPaths&&t.mountPaths.assets||f+"assets")},_uuidToAsset:{}},v={effect:{},material:{}},g={};function x(t,e,i){var n=t+"s",r=v[t]={},s="internal";cc.loader.loadResDir(n,e,s,(function(){}),(function(t,e){if(t)cc.error(t);else for(var n=0;n<e.length;n++){var s=e[n];cc.loader.getDependsRecursively(s).forEach((function(t){return g[t]=!0})),r[""+s.name]=s}i()}))}y._loadBuiltins=function(t){if(cc.game.renderType===cc.game.RENDER_TYPE_CANVAS)return t&&t();x("effect",cc.EffectAsset,(function(){x("material",cc.Material,t)}))},y.getBuiltin=function(t,e){return v[t][e]},y.getBuiltins=function(t){return t?v[t]:v},y.resetBuiltins=function(){v={effect:{},material:{}},g={}},y.getBuiltinDeps=function(){return g},e.exports=cc.AssetLibrary=y}),{"../assets/CCAsset":34,"../load-pipeline/CCLoader":112,"../load-pipeline/asset-table":114,"../load-pipeline/auto-release-utils":116,"../load-pipeline/md5-pipe":123,"../load-pipeline/pack-downloader":124,"../load-pipeline/subpackage-pipe":127,"../utils/decode-uuid":245,"./js":180,"./utils":184}],160:[(function(t,e,i){"use strict";var n=t("./js"),r=t("./CCEnum"),s=t("./utils"),o=(s.isPlainEmptyObj_DEV,s.cloneable_DEV,t("./attribute")),a=o.DELIMETER,c=t("./preprocess-class");t("./requiring-frame");var l=["name","extends","mixins","ctor","__ctor__","properties","statics","editor","__ES6__"];function h(t,e){t.indexOf(e)<0&&t.push(e)}var u={datas:null,push:function(t){if(this.datas)this.datas.push(t);else{this.datas=[t];var e=this;setTimeout((function(){e.init()}),0)}},init:function(){var t=this.datas;if(t){for(var e=0;e<t.length;++e){var i=t[e],r=i.cls,s=i.props;"function"==typeof s&&(s=s());var o=n.getClassName(r);s?B(r,o,s,r.$super,i.mixins):cc.errorID(3633,o)}this.datas=null}}};function _(t,e){h(t.__props__,e)}function f(t,e,i,n,r){var s=n.default;o.setClassAttr(t,i,"default",s),_(t,i),R(t,n,e,i,!1)}function d(t,e,i,r,s){var a=r.get,c=r.set,l=t.prototype,h=Object.getOwnPropertyDescriptor(l,i),u=!h;a&&(R(t,r,e,i,!0),o.setClassAttr(t,i,"serializable",!1),s||n.get(l,i,a,u,u)),c&&(s||n.set(l,i,c,u,u))}function p(t){return"function"==typeof t?t():t}function m(t,e,i){for(var r in e)t.hasOwnProperty(r)||i&&!i(r)||Object.defineProperty(t,r,n.getPropertyDescriptor(e,r))}function y(t,e,i,r){var s,a,c=r.__ctor__,l=r.ctor,h=r.__ES6__;h?(s=[l],a=l):(s=c?[c]:T(e,i,r),a=S(s,e,t,r),n.value(a,"extend",(function(t){return t.extends=this,M(t)}),!0)),n.value(a,"__ctors__",s.length>0?s:null,!0);var u=a.prototype;if(e&&(h||(n.extend(a,e),u=a.prototype),a.$super=e),i){for(var _=i.length-1;_>=0;_--){var f=i[_];m(u,f.prototype),m(a,f,(function(t){return f.hasOwnProperty(t)&&!0})),M._isCCClass(f)&&m(o.getClassAttrs(a),o.getClassAttrs(f))}u.constructor=a}return h||(u.__initProps__=b),n.setClassName(t,a),a}function v(t,e,i,r){var s=cc.Component,o=cc._RF.peek();if(o&&n.isChildClassOf(e,s)){if(n.isChildClassOf(o.cls,s))return cc.errorID(3615),null;0,t=t||o.script}var a=y(t,e,i,r);if(o)if(n.isChildClassOf(e,s)){var c=o.uuid;c&&n._setClassId(c,a),o.cls=a}else n.isChildClassOf(o.cls,s)||(o.cls=a);return a}function g(t){for(var e=n.getClassName(t),i=t.constructor,r="new "+e+"(",s=0;s<i.__props__.length;s++){var o=t[i.__props__[s]];0,r+=o,s<i.__props__.length-1&&(r+=",")}return r+")"}function x(t){return JSON.stringify(t).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}function C(t,e){for(var i=[],n="",r=0;r<e.length;r++){var s=e[r],o=s+a+"default";if(o in t){var c,l;c=A.test(s)?"this."+s+"=":"this["+x(s)+"]=";var h=t[o];if("object"==typeof h&&h)l=h instanceof cc.ValueType?g(h):Array.isArray(h)?"[]":"{}";else if("function"==typeof h){var u=i.length;i.push(h),l="F["+u+"]()"}else l="string"==typeof h?x(h):h;n+=c=c+l+";\n"}}return 0===i.length?Function(n):Function("F","return (function(){\n"+n+"})")(i)}var A=/^[A-Za-z_$][0-9A-Za-z_$]*$/;function b(t){var e=o.getClassAttrs(t),i=t.__props__;null===i&&(u.init(),i=t.__props__);var n=C(e,i);t.prototype.__initProps__=n,n.call(this)}var S=function(t,e,i,n){var r="return function CCClass(){\n";e&&E(e,n,i)&&(r+="this._super=null;\n"),r+="this.__initProps__(CCClass);\n";var s=t.length;if(s>0){0;var o="].apply(this,arguments);\n";if(1===s)r+="CCClass.__ctors__[0"+o;else{r+="var cs=CCClass.__ctors__;\n";for(var a=0;a<s;a++)r+="cs["+a+o}0}return r+="}",Function(r)()};function T(t,e,i){function n(t){return M._isCCClass(t)?t.__ctors__||[]:[t]}for(var r=[],s=[t].concat(e),o=0;o<s.length;o++){var a=s[o];if(a)for(var c=n(a),l=0;l<c.length;l++)h(r,c[l])}var u=i.ctor;return u&&r.push(u),r}var w=/xyz/.test((function(){xyz}))?/\b\._super\b/:/.*/;/xyz/.test((function(){xyz}));function E(t,e,i){var r=!1;for(var s in e)if(!(l.indexOf(s)>=0)){var o=e[s];if("function"==typeof o){var a=n.getPropertyDescriptor(t.prototype,s);if(a){var c=a.value;if("function"==typeof c){w.test(o)&&(r=!0,e[s]=(function(t,e){return function(){var i=this._super;this._super=t;var n=e.apply(this,arguments);return this._super=i,n}})(c,o));continue}}0}}return r}function B(t,e,i,n,r,s){if(t.__props__=[],n&&n.__props__&&(t.__props__=n.__props__.slice()),r)for(var l=0;l<r.length;++l){var h=r[l];h.__props__&&(t.__props__=t.__props__.concat(h.__props__.filter((function(e){return t.__props__.indexOf(e)<0}))))}if(i)for(var u in c.preprocessAttrs(i,e,t,s),i){var _=i[u];"default"in _?f(t,e,u,_):d(t,e,u,_,s)}var p=o.getClassAttrs(t);t.__values__=t.__props__.filter((function(t){return!1!==p[t+a+"serializable"]}))}function M(t){var e=(t=t||{}).name,i=t.extends,r=t.mixins,s=v(e,i,r,t);e||(e=cc.js.getClassName(s)),s._sealed=!0,i&&(i._sealed=!1);var o=t.properties;"function"==typeof o||i&&null===i.__props__||r&&r.some((function(t){return null===t.__props__}))?(u.push({cls:s,props:o,mixins:r}),s.__props__=s.__values__=null):B(s,e,o,i,t.mixins,t.__ES6__);var a,h=t.statics;if(h)for(a in h)s[a]=h[a];for(var _ in t)if(!(l.indexOf(_)>=0)){var f=t[_];c.validateMethodWithProps(f,_,e,s,i)&&n.value(s.prototype,_,f,!0,!0)}var d=t.editor;return d&&n.isChildClassOf(i,cc.Component)&&cc.Component._registerEditorProps(s,d),s}M._isCCClass=function(t){return t&&t.hasOwnProperty("__ctors__")},M._fastDefine=function(t,e,i){n.setClassName(t,e);for(var r=e.__props__=e.__values__=Object.keys(i),s=o.getClassAttrs(e),c=0;c<r.length;c++){var l=r[c];s[l+a+"visible"]=!1,s[l+a+"default"]=i[l]}},M.Attr=o,M.attr=o.attr,M.getInheritanceChain=function(t){for(var e=[];t=n.getSuper(t);)t!==Object&&e.push(t);return e};var I={Integer:"Number",Float:"Number",Boolean:"Boolean",String:"String"};function R(t,e,i,n,s){var c=null,l="";function h(){return l=n+a,c=o.getClassAttrs(t)}var u=e.type;if(u){var _=I[u];_?(c||h())[l+"type"]=u:"Object"===u||(u===o.ScriptUuid?((c||h())[l+"type"]="Script",c[l+"ctor"]=cc.ScriptAsset):"object"==typeof u?r.isEnum(u)&&((c||h())[l+"type"]="Enum",c[l+"enumList"]=r.getList(u)):"function"==typeof u&&((c||h())[l+"type"]="Object",c[l+"ctor"]=u))}function f(t,i){if(t in e){var n=e[t];typeof n===i&&((c||h())[l+t]=n)}}e.editorOnly&&((c||h())[l+"editorOnly"]=!0),e.url&&((c||h())[l+"saveUrlAsAsset"]=!0),!1===e.serializable&&((c||h())[l+"serializable"]=!1),f("formerlySerializedAs","string");var d=e.range;d&&Array.isArray(d)&&d.length>=2&&((c||h())[l+"min"]=d[0],c[l+"max"]=d[1],d.length>2&&(c[l+"step"]=d[2])),f("min","number"),f("max","number"),f("step","number")}cc.Class=M,e.exports={isArray:function(t){return t=p(t),Array.isArray(t)},fastDefine:M._fastDefine,getNewValueTypeCode:g,IDENTIFIER_RE:A,escapeForJS:x,getDefault:p}}),{"./CCEnum":162,"./attribute":172,"./js":180,"./preprocess-class":181,"./requiring-frame":182,"./utils":184}],161:[(function(t,e,i){"use strict";t("./CCClass");var n=t("./preprocess-class"),r=t("./js"),s="__ccclassCache__";function o(t){return t}function a(t,e){return t[e]||(t[e]={})}function c(t){return function(e){return"function"==typeof e?t(e):function(i){return t(i,e)}}}function l(t,e,i){return function(t){return function(i){return e(i,t)}}}var h=l.bind(null,!1);function u(t){return l.bind(null,!1)}var _=u(),f=u();function d(t,e){return a(t,s)}function p(t){var e;try{e=t()}catch(e){return t}return"object"!=typeof e||null===e?e:t}function m(t){var e;try{e=new t}catch(t){return{}}return e}function y(t,e,i,s,o,a){var c;s&&(c=n.getFullFormOfProperty(s));var l=e[i],h=r.mixin(l||{},c||s||{});if(o&&(o.get||o.set)){o.get&&(h.get=o.get),o.set&&(h.set=o.set)}else{0;var u=void 0;if(o)o.initializer&&(u=p(o.initializer),!0);else{var _=a.default||(a.default=m(t));_.hasOwnProperty(i)&&(u=_[i],!0)}0,h.default=u}e[i]=h}var v=c((function(t,e){var i=r.getSuper(t);i===Object&&(i=null);var n={name:e,extends:i,ctor:t,__ES6__:!0},o=t[s];if(o){var a=o.proto;a&&r.mixin(n,a),t[s]=void 0}return cc.Class(n)}));function g(t,e,i){return t((function(t,n){var r=d(t);if(r){var s=void 0!==i?i:n;a(a(r,"proto"),"editor")[e]=s}}),e)}function x(t){return t(o)}var C=x(c),A=g(h,"requireComponent"),b=x(_),S=g(f,"executionOrder"),T=x(c),w=x(c),E=x(_),B=x(_),M=x(_);cc._decorator=e.exports={ccclass:v,property:function(t,e,i){var n=null;function r(t,e,i){var r=d(t.constructor);if(r){var s=a(a(r,"proto"),"properties");y(t.constructor,s,e,n,i,r)}}if(void 0===e)return n=t,r;r(t,e,i)},executeInEditMode:C,requireComponent:A,menu:b,executionOrder:S,disallowMultiple:T,playOnFocus:w,inspector:E,icon:B,help:M,mixins:function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return function(e){var i=d(e);i&&(a(i,"proto").mixins=t)}}}}),{"./CCClass":160,"./js":180,"./preprocess-class":181,"./utils":184}],162:[(function(t,e,i){"use strict";var n=t("./js");function r(t){if("__enums__"in t)return t;n.value(t,"__enums__",null,!0);for(var e=-1,i=Object.keys(t),r=0;r<i.length;r++){var s=i[r],o=t[s];if(-1===o)o=++e,t[s]=o;else if("number"==typeof o)e=o;else if("string"==typeof o&&Number.isInteger(parseFloat(s)))continue;var a=""+o;s!==a&&n.value(t,a,s)}return t}r.isEnum=function(t){return t&&t.hasOwnProperty("__enums__")},r.getList=function(t){if(t.__enums__)return t.__enums__;var e=t.__enums__=[];for(var i in t){var n=t[i];Number.isInteger(n)&&e.push({name:i,value:n})}return e.sort((function(t,e){return t.value-e.value})),e},e.exports=cc.Enum=r}),{"./js":180}],163:[(function(t,e,i){"use strict";var n=t("../event-manager"),r=t("./CCInputManager"),s=void 0;cc.Acceleration=function(t,e,i,n){this.x=t||0,this.y=e||0,this.z=i||0,this.timestamp=n||0},r.setAccelerometerEnabled=function(t){var e=this;if(e._accelEnabled!==t){e._accelEnabled=t;var i=cc.director.getScheduler();i.enableForTarget(e),e._accelEnabled?(e._registerAccelerometerEvent(),e._accelCurTime=0,i.scheduleUpdate(e)):(e._unregisterAccelerometerEvent(),e._accelCurTime=0,i.unscheduleUpdate(e))}},r.setAccelerometerInterval=function(t){this._accelInterval!==t&&(this._accelInterval=t)},r._registerKeyboardEvent=function(){cc.game.canvas.addEventListener("keydown",(function(t){n.dispatchEvent(new cc.Event.EventKeyboard(t.keyCode,!0)),t.stopPropagation(),t.preventDefault()}),!1),cc.game.canvas.addEventListener("keyup",(function(t){n.dispatchEvent(new cc.Event.EventKeyboard(t.keyCode,!1)),t.stopPropagation(),t.preventDefault()}),!1)},r._registerAccelerometerEvent=function(){var t=window,e=this;e._acceleration=new cc.Acceleration,e._accelDeviceEvent=t.DeviceMotionEvent||t.DeviceOrientationEvent,cc.sys.browserType===cc.sys.BROWSER_TYPE_MOBILE_QQ&&(e._accelDeviceEvent=window.DeviceOrientationEvent);var i=e._accelDeviceEvent===t.DeviceMotionEvent?"devicemotion":"deviceorientation",n=navigator.userAgent;(/Android/.test(n)||/Adr/.test(n)&&cc.sys.browserType===cc.BROWSER_TYPE_UC)&&(e._minus=-1),s=e.didAccelerate.bind(e),t.addEventListener(i,s,!1)},r._unregisterAccelerometerEvent=function(){var t=window,e=this._accelDeviceEvent===t.DeviceMotionEvent?"devicemotion":"deviceorientation";s&&t.removeEventListener(e,s,!1)},r.didAccelerate=function(t){var e=this,i=window;if(e._accelEnabled){var n=e._acceleration,r=void 0,s=void 0,o=void 0;if(e._accelDeviceEvent===window.DeviceMotionEvent){var a=t.accelerationIncludingGravity;r=e._accelMinus*a.x*.1,s=e._accelMinus*a.y*.1,o=.1*a.z}else r=t.gamma/90*.981,s=-t.beta/90*.981,o=t.alpha/90*.981;if(cc.view._isRotated){var c=r;r=-s,s=c}n.x=r,n.y=s,n.z=o,n.timestamp=t.timeStamp||Date.now();var l=n.x;90===i.orientation?(n.x=-n.y,n.y=l):-90===i.orientation?(n.x=n.y,n.y=-l):180===i.orientation&&(n.x=-n.x,n.y=-n.y),cc.sys.os===cc.sys.OS_ANDROID&&cc.sys.browserType!==cc.sys.BROWSER_TYPE_MOBILE_QQ&&(n.x=-n.x,n.y=-n.y)}}}),{"../event-manager":96,"./CCInputManager":164}],164:[(function(t,e,i){"use strict";var n=t("./CCMacro"),r=t("./CCSys"),s=t("../event-manager"),o=n.TOUCH_TIMEOUT,a=cc.v2(),c={_mousePressed:!1,_isRegisterEvent:!1,_preTouchPoint:cc.v2(0,0),_prevMousePoint:cc.v2(0,0),_preTouchPool:[],_preTouchPoolPointer:0,_touches:[],_touchesIntegerDict:{},_indexBitsUsed:0,_maxTouches:8,_accelEnabled:!1,_accelInterval:.2,_accelMinus:1,_accelCurTime:0,_acceleration:null,_accelDeviceEvent:null,_canvasBoundingRect:{left:0,top:0,adjustedLeft:0,adjustedTop:0,width:0,height:0},_getUnUsedIndex:function(){for(var t=this._indexBitsUsed,e=cc.sys.now(),i=0;i<this._maxTouches;i++){if(!(1&t))return this._indexBitsUsed|=1<<i,i;var n=this._touches[i];if(e-n._lastModified>o)return this._removeUsedIndexBit(i),delete this._touchesIntegerDict[n.getID()],i;t>>=1}return-1},_removeUsedIndexBit:function(t){if(!(t<0||t>=this._maxTouches)){var e=1<<t;e=~e,this._indexBitsUsed&=e}},_glView:null,_updateCanvasBoundingRect:function(){var t=cc.game.canvas,e=this._canvasBoundingRect,i=document.documentElement,n=window.pageXOffset-i.clientLeft,r=window.pageYOffset-i.clientTop;if(t.getBoundingClientRect){var s=t.getBoundingClientRect();e.left=s.left+n,e.top=s.top+r,e.width=s.width,e.height=s.height}else t instanceof HTMLCanvasElement?(e.left=n,e.top=r,e.width=t.width,e.height=t.height):(e.left=n,e.top=r,e.width=parseInt(t.style.width),e.height=parseInt(t.style.height))},handleTouchesBegin:function(t){for(var e=void 0,i=void 0,n=void 0,o=[],a=this._touchesIntegerDict,c=r.now(),l=0,h=t.length;l<h;l++)if(null==a[n=(e=t[l]).getID()]){var u=this._getUnUsedIndex();if(-1===u){cc.logID(2300,u);continue}(i=this._touches[u]=new cc.Touch(e._point.x,e._point.y,e.getID()))._lastModified=c,i._setPrevPoint(e._prevPoint),a[n]=u,o.push(i)}if(o.length>0){this._glView._convertTouchesWithScale(o);var _=new cc.Event.EventTouch(o);_._eventCode=cc.Event.EventTouch.BEGAN,s.dispatchEvent(_)}},handleTouchesMove:function(t){for(var e=void 0,i=void 0,n=void 0,o=[],a=this._touches,c=r.now(),l=0,h=t.length;l<h;l++)n=(e=t[l]).getID(),null!=(i=this._touchesIntegerDict[n])&&a[i]&&(a[i]._setPoint(e._point),a[i]._setPrevPoint(e._prevPoint),a[i]._lastModified=c,o.push(a[i]));if(o.length>0){this._glView._convertTouchesWithScale(o);var u=new cc.Event.EventTouch(o);u._eventCode=cc.Event.EventTouch.MOVED,s.dispatchEvent(u)}},handleTouchesEnd:function(t){var e=this.getSetOfTouchesEndOrCancel(t);if(e.length>0){this._glView._convertTouchesWithScale(e);var i=new cc.Event.EventTouch(e);i._eventCode=cc.Event.EventTouch.ENDED,s.dispatchEvent(i)}this._preTouchPool.length=0},handleTouchesCancel:function(t){var e=this.getSetOfTouchesEndOrCancel(t);if(e.length>0){this._glView._convertTouchesWithScale(e);var i=new cc.Event.EventTouch(e);i._eventCode=cc.Event.EventTouch.CANCELLED,s.dispatchEvent(i)}this._preTouchPool.length=0},getSetOfTouchesEndOrCancel:function(t){for(var e=void 0,i=void 0,n=void 0,r=[],s=this._touches,o=this._touchesIntegerDict,a=0,c=t.length;a<c;a++)null!=(i=o[n=(e=t[a]).getID()])&&s[i]&&(s[i]._setPoint(e._point),s[i]._setPrevPoint(e._prevPoint),r.push(s[i]),this._removeUsedIndexBit(i),delete o[n]);return r},getPreTouch:function(t){for(var e=null,i=this._preTouchPool,n=t.getID(),r=i.length-1;r>=0;r--)if(i[r].getID()===n){e=i[r];break}return e||(e=t),e},setPreTouch:function(t){for(var e=!1,i=this._preTouchPool,n=t.getID(),r=i.length-1;r>=0;r--)if(i[r].getID()===n){i[r]=t,e=!0;break}e||(i.length<=50?i.push(t):(i[this._preTouchPoolPointer]=t,this._preTouchPoolPointer=(this._preTouchPoolPointer+1)%50))},getTouchByXY:function(t,e,i){var n=this._preTouchPoint,r=this._glView.convertToLocationInView(t,e,i),s=new cc.Touch(r.x,r.y,0);return s._setPrevPoint(n.x,n.y),n.x=r.x,n.y=r.y,s},getMouseEvent:function(t,e,i){var n=this._prevMousePoint,r=new cc.Event.EventMouse(i);return r._setPrevCursor(n.x,n.y),n.x=t.x,n.y=t.y,this._glView._convertMouseToLocationInView(n,e),r.setLocation(n.x,n.y),r},getPointByEvent:function(t,e){return null!=t.pageX?{x:t.pageX,y:t.pageY}:(e.left-=document.body.scrollLeft,e.top-=document.body.scrollTop,{x:t.clientX,y:t.clientY})},getTouchesByEvent:function(t,e){for(var i=[],n=this._glView,s=void 0,o=void 0,c=void 0,l=this._preTouchPoint,h=t.changedTouches.length,u=0;u<h;u++)if(s=t.changedTouches[u]){var _=void 0;_=r.BROWSER_TYPE_FIREFOX===r.browserType?n.convertToLocationInView(s.pageX,s.pageY,e,a):n.convertToLocationInView(s.clientX,s.clientY,e,a),null!=s.identifier?(o=new cc.Touch(_.x,_.y,s.identifier),c=this.getPreTouch(o).getLocation(),o._setPrevPoint(c.x,c.y),this.setPreTouch(o)):(o=new cc.Touch(_.x,_.y))._setPrevPoint(l.x,l.y),l.x=_.x,l.y=_.y,i.push(o)}return i},registerSystemEvent:function(t){if(!this._isRegisterEvent){this._glView=cc.view;var e=this,i=this._canvasBoundingRect;window.addEventListener("resize",this._updateCanvasBoundingRect.bind(this));var n=r.isMobile,o="mouse"in r.capabilities,a="touches"in r.capabilities;if(o){n||(window.addEventListener("mousedown",(function(){e._mousePressed=!0}),!1),window.addEventListener("mouseup",(function(t){if(e._mousePressed){e._mousePressed=!1;var n=e.getPointByEvent(t,i);if(!cc.rect(i.left,i.top,i.width,i.height).contains(n)){e.handleTouchesEnd([e.getTouchByXY(n.x,n.y,i)]);var r=e.getMouseEvent(n,i,cc.Event.EventMouse.UP);r.setButton(t.button),s.dispatchEvent(r)}}}),!1));for(var c=cc.Event.EventMouse,l=[!n&&["mousedown",c.DOWN,function(i,n,r,s){e._mousePressed=!0,e.handleTouchesBegin([e.getTouchByXY(r.x,r.y,s)]),t.focus()}],!n&&["mouseup",c.UP,function(t,i,n,r){e._mousePressed=!1,e.handleTouchesEnd([e.getTouchByXY(n.x,n.y,r)])}],!n&&["mousemove",c.MOVE,function(t,i,n,r){e.handleTouchesMove([e.getTouchByXY(n.x,n.y,r)]),e._mousePressed||i.setButton(null)}],["mousewheel",c.SCROLL,function(t,e){e.setScrollData(0,t.wheelDelta)}],["DOMMouseScroll",c.SCROLL,function(t,e){e.setScrollData(0,-120*t.detail)}]],h=0;h<l.length;++h){var u=l[h];u&&(function(){var n=u[0],r=u[1],o=u[2];t.addEventListener(n,(function(t){var n=e.getPointByEvent(t,i),a=e.getMouseEvent(n,i,r);a.setButton(t.button),o(t,a,n,i),s.dispatchEvent(a),t.stopPropagation(),t.preventDefault()}),!1)})()}}if(window.navigator.msPointerEnabled){var _={MSPointerDown:e.handleTouchesBegin,MSPointerMove:e.handleTouchesMove,MSPointerUp:e.handleTouchesEnd,MSPointerCancel:e.handleTouchesCancel},f=function(n){var r=_[n];t.addEventListener(n,(function(t){var n=document.documentElement;i.adjustedLeft=i.left-n.scrollLeft,i.adjustedTop=i.top-n.scrollTop,r.call(e,[e.getTouchByXY(t.clientX,t.clientY,i)]),t.stopPropagation()}),!1)};for(var d in _)f(d)}if(a){var p={touchstart:function(i){e.handleTouchesBegin(i),t.focus()},touchmove:function(t){e.handleTouchesMove(t)},touchend:function(t){e.handleTouchesEnd(t)},touchcancel:function(t){e.handleTouchesCancel(t)}},m=function(n){var r=p[n];t.addEventListener(n,(function(t){if(t.changedTouches){var n=document.body;i.adjustedLeft=i.left-(n.scrollLeft||0),i.adjustedTop=i.top-(n.scrollTop||0),r(e.getTouchesByEvent(t,i)),t.stopPropagation(),t.preventDefault()}}),!1)};for(var d in p)m(d)}this._registerKeyboardEvent(),this._isRegisterEvent=!0}},_registerKeyboardEvent:function(){},_registerAccelerometerEvent:function(){},update:function(t){this._accelCurTime>this._accelInterval&&(this._accelCurTime-=this._accelInterval,s.dispatchEvent(new cc.Event.EventAcceleration(this._acceleration))),this._accelCurTime+=t}};e.exports=_cc.inputManager=c}),{"../event-manager":96,"./CCMacro":165,"./CCSys":169}],165:[(function(t,e,i){"use strict";cc.macro={RAD:Math.PI/180,DEG:180/Math.PI,REPEAT_FOREVER:Number.MAX_VALUE-1,FLT_EPSILON:1.192092896e-7,MIN_ZINDEX:-Math.pow(2,15),MAX_ZINDEX:Math.pow(2,15)-1,ONE:1,ZERO:0,SRC_ALPHA:770,SRC_ALPHA_SATURATE:776,SRC_COLOR:768,DST_ALPHA:772,DST_COLOR:774,ONE_MINUS_SRC_ALPHA:771,ONE_MINUS_SRC_COLOR:769,ONE_MINUS_DST_ALPHA:773,ONE_MINUS_DST_COLOR:775,ONE_MINUS_CONSTANT_ALPHA:32772,ONE_MINUS_CONSTANT_COLOR:32770,ORIENTATION_PORTRAIT:1,ORIENTATION_LANDSCAPE:2,ORIENTATION_AUTO:3,DENSITYDPI_DEVICE:"device-dpi",DENSITYDPI_HIGH:"high-dpi",DENSITYDPI_MEDIUM:"medium-dpi",DENSITYDPI_LOW:"low-dpi",FIX_ARTIFACTS_BY_STRECHING_TEXEL_TMX:!0,DIRECTOR_STATS_POSITION:cc.v2(0,0),ENABLE_STACKABLE_ACTIONS:!0,TOUCH_TIMEOUT:5e3,BATCH_VERTEX_COUNT:2e4,ENABLE_TILEDMAP_CULLING:!0,DOWNLOAD_MAX_CONCURRENT:64,ENABLE_TRANSPARENT_CANVAS:!1,ENABLE_WEBGL_ANTIALIAS:!1,ENABLE_CULLING:!1,CLEANUP_IMAGE_CACHE:!1,SHOW_MESH_WIREFRAME:!1,ROTATE_ACTION_CCW:!1};cc.macro.SUPPORT_TEXTURE_FORMATS=[".pkm",".pvr",".webp",".jpg",".jpeg",".bmp",".png"],cc.macro.KEY={none:0,back:6,menu:18,backspace:8,tab:9,enter:13,shift:16,ctrl:17,alt:18,pause:19,capslock:20,escape:27,space:32,pageup:33,pagedown:34,end:35,home:36,left:37,up:38,right:39,down:40,select:41,insert:45,Delete:46,0:48,1:49,2:50,3:51,4:52,5:53,6:54,7:55,8:56,9:57,a:65,b:66,c:67,d:68,e:69,f:70,g:71,h:72,i:73,j:74,k:75,l:76,m:77,n:78,o:79,p:80,q:81,r:82,s:83,t:84,u:85,v:86,w:87,x:88,y:89,z:90,num0:96,num1:97,num2:98,num3:99,num4:100,num5:101,num6:102,num7:103,num8:104,num9:105,"*":106,"+":107,"-":109,numdel:110,"/":111,f1:112,f2:113,f3:114,f4:115,f5:116,f6:117,f7:118,f8:119,f9:120,f10:121,f11:122,f12:123,numlock:144,scrolllock:145,";":186,semicolon:186,equal:187,"=":187,",":188,comma:188,dash:189,".":190,period:190,forwardslash:191,grave:192,"[":219,openbracket:219,backslash:220,"]":221,closebracket:221,quote:222,dpadLeft:1e3,dpadRight:1001,dpadUp:1003,dpadDown:1004,dpadCenter:1005},cc.macro.ImageFormat=cc.Enum({JPG:0,PNG:1,TIFF:2,WEBP:3,PVR:4,ETC:5,S3TC:6,ATITC:7,TGA:8,RAWDATA:9,UNKNOWN:10}),cc.macro.BlendFactor=cc.Enum({ONE:1,ZERO:0,SRC_ALPHA:770,SRC_COLOR:768,DST_ALPHA:772,DST_COLOR:774,ONE_MINUS_SRC_ALPHA:771,ONE_MINUS_SRC_COLOR:769,ONE_MINUS_DST_ALPHA:773,ONE_MINUS_DST_COLOR:775}),cc.macro.TextAlignment=cc.Enum({LEFT:0,CENTER:1,RIGHT:2}),cc.macro.VerticalTextAlignment=cc.Enum({TOP:0,CENTER:1,BOTTOM:2}),e.exports=cc.macro}),{}],166:[(function(t,e,i){"use strict";var n=t("./js"),r=t("./CCClass"),s=1;function o(){this._name="",this._objFlags=0}r.fastDefine("cc.Object",o,{_name:"",_objFlags:0}),n.value(o,"Flags",{Destroyed:s,DontSave:8,EditorOnly:16,Dirty:32,DontDestroy:64,PersistentMask:-4192741,Destroying:128,Deactivating:256,LockedInEditor:512,HideInHierarchy:1024,IsPreloadStarted:8192,IsOnLoadStarted:32768,IsOnLoadCalled:16384,IsOnEnableCalled:2048,IsStartCalled:65536,IsEditorOnEnableCalled:4096,IsPositionLocked:1<<21,IsRotationLocked:1<<17,IsScaleLocked:1<<18,IsAnchorLocked:1<<19,IsSizeLocked:1<<20});var a=[];function c(){for(var t=a.length,e=0;e<t;++e){var i=a[e];i._objFlags&s||i._destroyImmediate()}t===a.length?a.length=0:a.splice(0,t)}n.value(o,"_deferredDestroy",c);var l=o.prototype;n.getset(l,"name",(function(){return this._name}),(function(t){this._name=t}),!0),n.get(l,"isValid",(function(){return!(this._objFlags&s)}),!0);function h(t,e){var i,n=t instanceof cc._BaseNode||t instanceof cc.Component,s=n?"_id":null,o={};for(i in t)if(t.hasOwnProperty(i)){if(i===s)continue;switch(typeof t[i]){case"string":o[i]="";break;case"object":case"function":o[i]=null}}if(cc.Class._isCCClass(e))for(var a=cc.Class.Attr.getClassAttrs(e),c=e.__props__,l=0;l<c.length;l++){var h=(i=c[l])+cc.Class.Attr.DELIMETER+"default";if(h in a){if(n&&"_id"===i)continue;switch(typeof a[h]){case"string":o[i]="";break;case"object":case"function":o[i]=null;break;case"undefined":o[i]=void 0}}}var u="";for(i in o){var _;_=r.IDENTIFIER_RE.test(i)?"o."+i+"=":"o["+r.escapeForJS(i)+"]=";var f=o[i];""===f&&(f='""'),u+=_+f+";\n"}return Function("o",u)}l.destroy=function(){return this._objFlags&s?(cc.warnID(5e3),!1):!(4&this._objFlags)&&(this._objFlags|=4,a.push(this),!0)},l._destruct=function(){var t=this.constructor,e=t.__destruct__;e||(e=h(this,t),n.value(t,"__destruct__",e,!0)),e(this)},l._onPreDestroy=null,l._destroyImmediate=function(){this._objFlags&s?cc.errorID(5e3):(this._onPreDestroy&&this._onPreDestroy(),this._destruct(),this._objFlags|=s)},l._deserialize=null,cc.isValid=function(t,e){return"object"==typeof t?!(!t||t._objFlags&(e?4|s:s)):void 0!==t},cc.Object=e.exports=o}),{"./CCClass":160,"./js":180}],167:[(function(t,e,i){"use strict";var n=t("../platform/js");cc.SAXParser=function(){window.DOMParser?(this._isSupportDOMParser=!0,this._parser=new DOMParser):(this._isSupportDOMParser=!1,this._parser=null)},cc.SAXParser.prototype={constructor:cc.SAXParser,parse:function(t){return this._parseXML(t)},_parseXML:function(t){var e;return this._isSupportDOMParser?e=this._parser.parseFromString(t,"text/xml"):((e=new ActiveXObject("Microsoft.XMLDOM")).async="false",e.loadXML(t)),e}},cc.PlistParser=function(){cc.SAXParser.call(this)},n.extend(cc.PlistParser,cc.SAXParser),n.mixin(cc.PlistParser.prototype,{parse:function(t){var e=this._parseXML(t),i=e.documentElement;if("plist"!==i.tagName)return cc.warnID(5100),{};for(var n=null,r=0,s=i.childNodes.length;r<s&&1!==(n=i.childNodes[r]).nodeType;r++);return e=null,this._parseNode(n)},_parseNode:function(t){var e=null,i=t.tagName;if("dict"===i)e=this._parseDict(t);else if("array"===i)e=this._parseArray(t);else if("string"===i)if(1===t.childNodes.length)e=t.firstChild.nodeValue;else{e="";for(var n=0;n<t.childNodes.length;n++)e+=t.childNodes[n].nodeValue}else"false"===i?e=!1:"true"===i?e=!0:"real"===i?e=parseFloat(t.firstChild.nodeValue):"integer"===i&&(e=parseInt(t.firstChild.nodeValue,10));return e},_parseArray:function(t){for(var e=[],i=0,n=t.childNodes.length;i<n;i++){var r=t.childNodes[i];1===r.nodeType&&e.push(this._parseNode(r))}return e},_parseDict:function(t){for(var e={},i=null,n=0,r=t.childNodes.length;n<r;n++){var s=t.childNodes[n];1===s.nodeType&&("key"===s.tagName?i=s.firstChild.nodeValue:e[i]=this._parseNode(s))}return e}}),cc.saxParser=new cc.SAXParser,cc.plistParser=new cc.PlistParser,e.exports={saxParser:cc.saxParser,plistParser:cc.plistParser}}),{"../platform/js":180}],168:[(function(t,e,i){"use strict";cc.screen={_supportsFullScreen:!1,_onfullscreenchange:null,_onfullscreenerror:null,_preOnFullScreenChange:null,_preOnFullScreenError:null,_preOnTouch:null,_touchEvent:"",_fn:null,_fnMap:[["requestFullscreen","exitFullscreen","fullscreenchange","fullscreenEnabled","fullscreenElement","fullscreenerror"],["requestFullScreen","exitFullScreen","fullScreenchange","fullScreenEnabled","fullScreenElement","fullscreenerror"],["webkitRequestFullScreen","webkitCancelFullScreen","webkitfullscreenchange","webkitIsFullScreen","webkitCurrentFullScreenElement","webkitfullscreenerror"],["mozRequestFullScreen","mozCancelFullScreen","mozfullscreenchange","mozFullScreen","mozFullScreenElement","mozfullscreenerror"],["msRequestFullscreen","msExitFullscreen","MSFullscreenChange","msFullscreenEnabled","msFullscreenElement","msfullscreenerror"]],init:function(){this._fn={};var t,e,i,n,r=this._fnMap;for(t=0,e=r.length;t<e;t++)if((i=r[t])&&void 0!==document[i[1]]){for(t=0,n=i.length;t<n;t++)this._fn[r[0][t]]=i[t];break}this._supportsFullScreen=void 0!==this._fn.requestFullscreen,this._touchEvent="ontouchend"in window?"touchend":"mousedown"},fullScreen:function(){return!!this._supportsFullScreen&&!!(document[this._fn.fullscreenElement]||document[this._fn.webkitFullscreenElement]||document[this._fn.mozFullScreenElement])},requestFullScreen:function(t,e,i){if(t&&"video"===t.tagName.toLowerCase()){if(cc.sys.os===cc.sys.OS_IOS&&cc.sys.isBrowser&&t.readyState>0)return void(t.webkitEnterFullscreen&&t.webkitEnterFullscreen());t.setAttribute("x5-video-player-fullscreen","true")}if(this._supportsFullScreen){if(t=t||document.documentElement,e){var n=this._fn.fullscreenchange;this._onfullscreenchange&&document.removeEventListener(n,this._onfullscreenchange),this._onfullscreenchange=e,document.addEventListener(n,e,!1)}if(i){var r=this._fn.fullscreenerror;this._onfullscreenerror&&document.removeEventListener(r,this._onfullscreenerror),this._onfullscreenerror=i,document.addEventListener(r,i,{once:!0})}t[this._fn.requestFullscreen]()}},exitFullScreen:function(t){if(t&&"video"===t.tagName.toLowerCase()){if(cc.sys.os===cc.sys.OS_IOS&&cc.sys.isBrowser)return void(t.webkitExitFullscreen&&t.webkitExitFullscreen());t.setAttribute("x5-video-player-fullscreen","false")}return!this._supportsFullScreen||document[this._fn.exitFullscreen]()},autoFullScreen:function(t,e){t=t||document.body,this._ensureFullScreen(t,e),this.requestFullScreen(t,e)},disableAutoFullScreen:function(t){var e=cc.game.canvas||t,i=this._touchEvent;this._preOnTouch&&(e.removeEventListener(i,this._preOnTouch),this._preOnTouch=null)},_ensureFullScreen:function(t,e){var i=this,n=cc.game.canvas||t,r=this._fn.fullscreenerror,s=this._touchEvent;function o(){i._preOnFullScreenError=null,i._preOnTouch&&n.removeEventListener(s,i._preOnTouch),i._preOnTouch=function(){i._preOnTouch=null,i.requestFullScreen(t,e)},n.addEventListener(s,i._preOnTouch,{once:!0})}this._preOnFullScreenError&&t.removeEventListener(r,this._preOnFullScreenError),this._preOnFullScreenError=o,t.addEventListener(r,o,{once:!0})}},cc.screen.init()}),{}],169:[(function(t,e,i){"use strict";window._CCSettings&&_CCSettings.platform;var n="undefined"==typeof window?global:window;var r=cc&&cc.sys?cc.sys:(function(){cc.sys={};var t=cc.sys;if(t.LANGUAGE_ENGLISH="en",t.LANGUAGE_CHINESE="zh",t.LANGUAGE_FRENCH="fr",t.LANGUAGE_ITALIAN="it",t.LANGUAGE_GERMAN="de",t.LANGUAGE_SPANISH="es",t.LANGUAGE_DUTCH="du",t.LANGUAGE_RUSSIAN="ru",t.LANGUAGE_KOREAN="ko",t.LANGUAGE_JAPANESE="ja",t.LANGUAGE_HUNGARIAN="hu",t.LANGUAGE_PORTUGUESE="pt",t.LANGUAGE_ARABIC="ar",t.LANGUAGE_NORWEGIAN="no",t.LANGUAGE_POLISH="pl",t.LANGUAGE_TURKISH="tr",t.LANGUAGE_UKRAINIAN="uk",t.LANGUAGE_ROMANIAN="ro",t.LANGUAGE_BULGARIAN="bg",t.LANGUAGE_UNKNOWN="unknown",t.OS_IOS="iOS",t.OS_ANDROID="Android",t.OS_WINDOWS="Windows",t.OS_MARMALADE="Marmalade",t.OS_LINUX="Linux",t.OS_BADA="Bada",t.OS_BLACKBERRY="Blackberry",t.OS_OSX="OS X",t.OS_WP8="WP8",t.OS_WINRT="WINRT",t.OS_UNKNOWN="Unknown",t.UNKNOWN=-1,t.WIN32=0,t.LINUX=1,t.MACOS=2,t.ANDROID=3,t.IPHONE=4,t.IPAD=5,t.BLACKBERRY=6,t.NACL=7,t.EMSCRIPTEN=8,t.TIZEN=9,t.WINRT=10,t.WP8=11,t.MOBILE_BROWSER=100,t.DESKTOP_BROWSER=101,t.EDITOR_PAGE=102,t.EDITOR_CORE=103,t.WECHAT_GAME=104,t.QQ_PLAY=105,t.FB_PLAYABLE_ADS=106,t.BAIDU_GAME=107,t.VIVO_GAME=108,t.OPPO_GAME=109,t.HUAWEI_GAME=110,t.XIAOMI_GAME=111,t.JKW_GAME=112,t.ALIPAY_GAME=113,t.WECHAT_GAME_SUB=114,t.BAIDU_GAME_SUB=115,t.BROWSER_TYPE_WECHAT="wechat",t.BROWSER_TYPE_WECHAT_GAME="wechatgame",t.BROWSER_TYPE_WECHAT_GAME_SUB="wechatgamesub",t.BROWSER_TYPE_BAIDU_GAME="baidugame",t.BROWSER_TYPE_BAIDU_GAME_SUB="baidugamesub",t.BROWSER_TYPE_XIAOMI_GAME="xiaomigame",t.BROWSER_TYPE_ALIPAY_GAME="alipaygame",t.BROWSER_TYPE_QQ_PLAY="qqplay",t.BROWSER_TYPE_ANDROID="androidbrowser",t.BROWSER_TYPE_IE="ie",t.BROWSER_TYPE_EDGE="edge",t.BROWSER_TYPE_QQ="qqbrowser",t.BROWSER_TYPE_MOBILE_QQ="mqqbrowser",t.BROWSER_TYPE_UC="ucbrowser",t.BROWSER_TYPE_UCBS="ucbs",t.BROWSER_TYPE_360="360browser",t.BROWSER_TYPE_BAIDU_APP="baiduboxapp",t.BROWSER_TYPE_BAIDU="baidubrowser",t.BROWSER_TYPE_MAXTHON="maxthon",t.BROWSER_TYPE_OPERA="opera",t.BROWSER_TYPE_OUPENG="oupeng",t.BROWSER_TYPE_MIUI="miuibrowser",t.BROWSER_TYPE_FIREFOX="firefox",t.BROWSER_TYPE_SAFARI="safari",t.BROWSER_TYPE_CHROME="chrome",t.BROWSER_TYPE_LIEBAO="liebao",t.BROWSER_TYPE_QZONE="qzone",t.BROWSER_TYPE_SOUGOU="sogou",t.BROWSER_TYPE_UNKNOWN="unknown",t.isNative=!1,t.isBrowser="object"==typeof window&&"object"==typeof document&&!0,t.glExtension=function(t){return!!cc.renderer.device.ext(t)},t.getMaxJointMatrixSize=function(){if(!t._maxJointMatrixSize){var e=cc.game._renderContext,i=Math.floor(e.getParameter(e.MAX_VERTEX_UNIFORM_VECTORS)/4)-10;t._maxJointMatrixSize=i<50?0:50}return t._maxJointMatrixSize},n.__globalAdapter&&n.__globalAdapter.adaptSys)n.__globalAdapter.adaptSys(t);else{var e=window,i=e.navigator,r=document,s=r.documentElement,o=i.userAgent.toLowerCase();t.isMobile=/mobile|android|iphone|ipad/.test(o),"undefined"!=typeof FbPlayableAd?t.platform=t.FB_PLAYABLE_ADS:t.platform=t.isMobile?t.MOBILE_BROWSER:t.DESKTOP_BROWSER;var a=i.language;a=a||i.browserLanguage,t.languageCode=a.toLowerCase(),a=a?a.split("-")[0]:t.LANGUAGE_ENGLISH,t.language=a;var c=!1,l=!1,h="",u=0,_=/android (\d+(?:\.\d+)*)/i.exec(o)||/android (\d+(?:\.\d+)*)/i.exec(i.platform);_&&(c=!0,h=_[1]||"",u=parseInt(h)||0),(_=/(iPad|iPhone|iPod).*OS ((\d+_?){2,3})/i.exec(o))?(l=!0,h=_[2]||"",u=parseInt(h)||0):/(iPhone|iPad|iPod)/.exec(i.platform)&&(l=!0,h="",u=0);var f=t.OS_UNKNOWN;-1!==i.appVersion.indexOf("Win")?f=t.OS_WINDOWS:l?f=t.OS_IOS:-1!==i.appVersion.indexOf("Mac")?f=t.OS_OSX:-1!==i.appVersion.indexOf("X11")&&-1===i.appVersion.indexOf("Linux")?f=t.OS_UNIX:c?f=t.OS_ANDROID:-1===i.appVersion.indexOf("Linux")&&-1===o.indexOf("ubuntu")||(f=t.OS_LINUX),t.os=f,t.osVersion=h,t.osMainVersion=u,t.browserType=t.BROWSER_TYPE_UNKNOWN,(function(){var e=/mqqbrowser|micromessenger|qq|sogou|qzone|liebao|maxthon|ucbs|360 aphone|360browser|baiduboxapp|baidubrowser|maxthon|mxbrowser|miuibrowser/i.exec(o)||/qqbrowser|ucbrowser|ubrowser|edge/i.exec(o)||/chrome|safari|firefox|trident|opera|opr\/|oupeng/i.exec(o),i=e?e[0].toLowerCase():t.BROWSER_TYPE_UNKNOWN;"safari"===i&&c?i=t.BROWSER_TYPE_ANDROID:"qq"===i&&o.match(/android.*applewebkit/i)&&(i=t.BROWSER_TYPE_ANDROID);var n={micromessenger:t.BROWSER_TYPE_WECHAT,trident:t.BROWSER_TYPE_IE,edge:t.BROWSER_TYPE_EDGE,"360 aphone":t.BROWSER_TYPE_360,mxbrowser:t.BROWSER_TYPE_MAXTHON,"opr/":t.BROWSER_TYPE_OPERA,ubrowser:t.BROWSER_TYPE_UC};t.browserType=n[i]||i})(),t.browserVersion="",(function(){var e=o.match(/(mqqbrowser|micromessenger|qq|sogou|qzone|liebao|maxthon|uc|ucbs|360 aphone|360|baiduboxapp|baidu|maxthon|mxbrowser|miui(?:.hybrid)?)(mobile)?(browser)?\/?([\d.]+)/i);e||(e=o.match(/(qqbrowser|chrome|safari|firefox|trident|opera|opr\/|oupeng)(mobile)?(browser)?\/?([\d.]+)/i)),t.browserVersion=e?e[4]:""})();var d=window.innerWidth||document.documentElement.clientWidth,p=window.innerHeight||document.documentElement.clientHeight,m=window.devicePixelRatio||1;t.windowPixelResolution={width:m*d,height:m*p},t._checkWebGLRenderMode=function(){if(cc.game.renderType!==cc.game.RENDER_TYPE_WEBGL)throw new Error("This feature supports WebGL render mode only.")};var y=document.createElement("canvas");try{var v=t.localStorage=e.localStorage;v.setItem("storage",""),v.removeItem("storage"),v=null}catch(e){var g=function(){cc.warnID(5200)};t.localStorage={getItem:g,setItem:g,removeItem:g,clear:g}}var x=y.toDataURL("image/webp").startsWith("data:image/webp"),C=!!y.getContext("2d"),A=!1;e.WebGLRenderingContext&&(A=!0);var b,S=t.capabilities={canvas:C,opengl:A,webp:x};(void 0!==s.ontouchstart||void 0!==r.ontouchstart||i.msPointerEnabled)&&(S.touches=!0),void 0!==s.onmouseup&&(S.mouse=!0),void 0!==s.onkeyup&&(S.keyboard=!0),(e.DeviceMotionEvent||e.DeviceOrientationEvent)&&(S.accelerometer=!0),(function(){t.browserVersion;var e=!!(window.AudioContext||window.webkitAudioContext||window.mozAudioContext);b={ONLY_ONE:!1,WEB_AUDIO:e,DELAY_CREATE_CTX:!1},t.os===t.OS_IOS&&(b.USE_LOADER_EVENT="loadedmetadata"),t.browserType===t.BROWSER_TYPE_FIREFOX&&(b.DELAY_CREATE_CTX=!0,b.USE_LOADER_EVENT="canplay"),t.os===t.OS_ANDROID&&t.browserType===t.BROWSER_TYPE_UC&&(b.ONE_SOURCE=!0)})();try{b.WEB_AUDIO&&(b.context=new(window.AudioContext||window.webkitAudioContext||window.mozAudioContext),b.DELAY_CREATE_CTX&&setTimeout((function(){b.context=new(window.AudioContext||window.webkitAudioContext||window.mozAudioContext)}),0))}catch(t){b.WEB_AUDIO=!1,cc.logID(5201)}var T=[];(function(){var t=document.createElement("audio");t.canPlayType&&(t.canPlayType('audio/ogg; codecs="vorbis"')&&T.push(".ogg"),t.canPlayType("audio/mpeg")&&T.push(".mp3"),t.canPlayType('audio/wav; codecs="1"')&&T.push(".wav"),t.canPlayType("audio/mp4")&&T.push(".mp4"),t.canPlayType("audio/x-m4a")&&T.push(".m4a"))})(),b.format=T,t.__audioSupport=b}return t.NetworkType={NONE:0,LAN:1,WWAN:2},t.getNetworkType=function(){return t.NetworkType.LAN},t.getBatteryLevel=function(){return 1},t.garbageCollect=function(){},t.restartVM=function(){},t.getSafeAreaRect=function(){var t=cc.view.getVisibleSize();return cc.rect(0,0,t.width,t.height)},t.isObjectValid=function(t){return!!t},t.dump=function(){var t="";t+="isMobile : "+this.isMobile+"\r\n",t+="language : "+this.language+"\r\n",t+="browserType : "+this.browserType+"\r\n",t+="browserVersion : "+this.browserVersion+"\r\n",t+="capabilities : "+JSON.stringify(this.capabilities)+"\r\n",t+="os : "+this.os+"\r\n",t+="osVersion : "+this.osVersion+"\r\n",t+="platform : "+this.platform+"\r\n",t+="Using "+(cc.game.renderType===cc.game.RENDER_TYPE_WEBGL?"WEBGL":"CANVAS")+" renderer.\r\n",cc.log(t)},t.openURL=function(t){window.open(t)},t.now=function(){return Date.now?Date.now():+new Date},t})();e.exports=r}),{}],170:[(function(t,e,i){"use strict";var n=t("../event/event-target"),r=t("../platform/js"),s=t("../renderer");t("../platform/CCClass");var o={init:function(){this.html=document.getElementsByTagName("html")[0]},availWidth:function(t){return t&&t!==this.html?t.clientWidth:window.innerWidth},availHeight:function(t){return t&&t!==this.html?t.clientHeight:window.innerHeight},meta:{width:"device-width"},adaptationType:cc.sys.browserType};switch(cc.sys.os===cc.sys.OS_IOS&&(o.adaptationType=cc.sys.BROWSER_TYPE_SAFARI),o.adaptationType){case cc.sys.BROWSER_TYPE_SAFARI:o.meta["minimal-ui"]="true";case cc.sys.BROWSER_TYPE_SOUGOU:case cc.sys.BROWSER_TYPE_UC:o.availWidth=function(t){return t.clientWidth},o.availHeight=function(t){return t.clientHeight}}var a=null,c=function(){n.call(this);var t=this,e=cc.ContainerStrategy,i=cc.ContentStrategy;o.init(this),t._frameSize=cc.size(0,0),t._designResolutionSize=cc.size(0,0),t._originalDesignResolutionSize=cc.size(0,0),t._scaleX=1,t._scaleY=1,t._viewportRect=cc.rect(0,0,0,0),t._visibleRect=cc.rect(0,0,0,0),t._autoFullScreen=!1,t._devicePixelRatio=1,t._maxPixelRatio=2,t._retinaEnabled=!1,t._resizeCallback=null,t._resizing=!1,t._resizeWithBrowserSize=!1,t._orientationChanging=!0,t._isRotated=!1,t._orientation=cc.macro.ORIENTATION_AUTO,t._isAdjustViewport=!0,t._antiAliasEnabled=!1,t._resolutionPolicy=null,t._rpExactFit=new cc.ResolutionPolicy(e.EQUAL_TO_FRAME,i.EXACT_FIT),t._rpShowAll=new cc.ResolutionPolicy(e.EQUAL_TO_FRAME,i.SHOW_ALL),t._rpNoBorder=new cc.ResolutionPolicy(e.EQUAL_TO_FRAME,i.NO_BORDER),t._rpFixedHeight=new cc.ResolutionPolicy(e.EQUAL_TO_FRAME,i.FIXED_HEIGHT),t._rpFixedWidth=new cc.ResolutionPolicy(e.EQUAL_TO_FRAME,i.FIXED_WIDTH),cc.game.once(cc.game.EVENT_ENGINE_INITED,this.init,this)};cc.js.extend(c,n),cc.js.mixin(c.prototype,{init:function(){this._initFrameSize(),this.enableAntiAlias(!0);var t=cc.game.canvas.width,e=cc.game.canvas.height;this._designResolutionSize.width=t,this._designResolutionSize.height=e,this._originalDesignResolutionSize.width=t,this._originalDesignResolutionSize.height=e,this._viewportRect.width=t,this._viewportRect.height=e,this._visibleRect.width=t,this._visibleRect.height=e,cc.winSize.width=this._visibleRect.width,cc.winSize.height=this._visibleRect.height,cc.visibleRect&&cc.visibleRect.init(this._visibleRect)},_resizeEvent:function(t){var e,i=(e=this.setDesignResolutionSize?this:cc.view)._frameSize.width,n=e._frameSize.height,r=e._isRotated;if(cc.sys.isMobile){var s=cc.game.container.style,o=s.margin;s.margin="0",s.display="none",e._initFrameSize(),s.margin=o,s.display="block"}else e._initFrameSize();if(!0===t||e._isRotated!==r||e._frameSize.width!==i||e._frameSize.height!==n){var a=e._originalDesignResolutionSize.width,c=e._originalDesignResolutionSize.height;e._resizing=!0,a>0&&e.setDesignResolutionSize(a,c,e._resolutionPolicy),e._resizing=!1,e.emit("canvas-resize"),e._resizeCallback&&e._resizeCallback.call()}},_orientationChange:function(){cc.view._orientationChanging=!0,cc.view._resizeEvent()},resizeWithBrowserSize:function(t){t?this._resizeWithBrowserSize||(this._resizeWithBrowserSize=!0,window.addEventListener("resize",this._resizeEvent),window.addEventListener("orientationchange",this._orientationChange)):this._resizeWithBrowserSize&&(this._resizeWithBrowserSize=!1,window.removeEventListener("resize",this._resizeEvent),window.removeEventListener("orientationchange",this._orientationChange))},setResizeCallback:function(t){"function"!=typeof t&&null!=t||(this._resizeCallback=t)},setOrientation:function(t){if((t&=cc.macro.ORIENTATION_AUTO)&&this._orientation!==t){this._orientation=t;var e=this._originalDesignResolutionSize.width,i=this._originalDesignResolutionSize.height;this.setDesignResolutionSize(e,i,this._resolutionPolicy)}},_initFrameSize:function(){var t=this._frameSize,e=o.availWidth(cc.game.frame),i=o.availHeight(cc.game.frame),n=e>=i;!cc.sys.isMobile||n&&this._orientation&cc.macro.ORIENTATION_LANDSCAPE||!n&&this._orientation&cc.macro.ORIENTATION_PORTRAIT?(t.width=e,t.height=i,cc.game.container.style["-webkit-transform"]="rotate(0deg)",cc.game.container.style.transform="rotate(0deg)",this._isRotated=!1):(t.width=i,t.height=e,cc.game.container.style["-webkit-transform"]="rotate(90deg)",cc.game.container.style.transform="rotate(90deg)",cc.game.container.style["-webkit-transform-origin"]="0px 0px 0px",cc.game.container.style.transformOrigin="0px 0px 0px",this._isRotated=!0),this._orientationChanging&&setTimeout((function(){cc.view._orientationChanging=!1}),1e3)},_setViewportMeta:function(t,e){var i=document.getElementById("cocosMetaElement");i&&e&&document.head.removeChild(i);var n,r,s,o=document.getElementsByName("viewport"),a=o?o[0]:null;for(r in n=a?a.content:"",(i=i||document.createElement("meta")).id="cocosMetaElement",i.name="viewport",i.content="",t)-1==n.indexOf(r)?n+=","+r+"="+t[r]:e&&(s=new RegExp(r+"s*=s*[^,]+"),n.replace(s,r+"="+t[r]));/^,/.test(n)&&(n=n.substr(1)),i.content=n,a&&(a.content=n),document.head.appendChild(i)},_adjustViewportMeta:function(){this._isAdjustViewport&&(this._setViewportMeta(o.meta,!1),this._isAdjustViewport=!1)},adjustViewportMeta:function(t){this._isAdjustViewport=t},enableRetina:function(t){this._retinaEnabled=!!t},isRetinaEnabled:function(){return this._retinaEnabled},enableAntiAlias:function(t){if(this._antiAliasEnabled!==t)if(this._antiAliasEnabled=t,cc.game.renderType===cc.game.RENDER_TYPE_WEBGL){var e=cc.loader._cache;for(var i in e){var n=e[i],r=n&&n.content instanceof cc.Texture2D?n.content:null;if(r){var s=cc.Texture2D.Filter;t?r.setFilters(s.LINEAR,s.LINEAR):r.setFilters(s.NEAREST,s.NEAREST)}}}else if(cc.game.renderType===cc.game.RENDER_TYPE_CANVAS){var o=cc.game.canvas.getContext("2d");o.imageSmoothingEnabled=t,o.mozImageSmoothingEnabled=t}},isAntiAliasEnabled:function(){return this._antiAliasEnabled},enableAutoFullScreen:function(t){t&&t!==this._autoFullScreen&&cc.sys.isMobile?(this._autoFullScreen=!0,cc.screen.autoFullScreen(cc.game.frame)):(this._autoFullScreen=!1,cc.screen.disableAutoFullScreen(cc.game.frame))},isAutoFullScreenEnabled:function(){return this._autoFullScreen},setCanvasSize:function(t,e){var i=cc.game.canvas,n=cc.game.container;i.width=t*this._devicePixelRatio,i.height=e*this._devicePixelRatio,i.style.width=t+"px",i.style.height=e+"px",n.style.width=t+"px",n.style.height=e+"px",this._resizeEvent()},getCanvasSize:function(){return cc.size(cc.game.canvas.width,cc.game.canvas.height)},getFrameSize:function(){return cc.size(this._frameSize.width,this._frameSize.height)},setFrameSize:function(t,e){this._frameSize.width=t,this._frameSize.height=e,cc.game.frame.style.width=t+"px",cc.game.frame.style.height=e+"px",this._resizeEvent(!0)},getVisibleSize:function(){return cc.size(this._visibleRect.width,this._visibleRect.height)},getVisibleSizeInPixel:function(){return cc.size(this._visibleRect.width*this._scaleX,this._visibleRect.height*this._scaleY)},getVisibleOrigin:function(){return cc.v2(this._visibleRect.x,this._visibleRect.y)},getVisibleOriginInPixel:function(){return cc.v2(this._visibleRect.x*this._scaleX,this._visibleRect.y*this._scaleY)},getResolutionPolicy:function(){return this._resolutionPolicy},setResolutionPolicy:function(t){var e=this;if(t instanceof cc.ResolutionPolicy)e._resolutionPolicy=t;else{var i=cc.ResolutionPolicy;t===i.EXACT_FIT&&(e._resolutionPolicy=e._rpExactFit),t===i.SHOW_ALL&&(e._resolutionPolicy=e._rpShowAll),t===i.NO_BORDER&&(e._resolutionPolicy=e._rpNoBorder),t===i.FIXED_HEIGHT&&(e._resolutionPolicy=e._rpFixedHeight),t===i.FIXED_WIDTH&&(e._resolutionPolicy=e._rpFixedWidth)}},setDesignResolutionSize:function(t,e,i){if(t>0||e>0){this.setResolutionPolicy(i);var n=this._resolutionPolicy;if(n&&n.preApply(this),cc.sys.isMobile&&this._adjustViewportMeta(),this._orientationChanging=!0,this._resizing||this._initFrameSize(),n){this._originalDesignResolutionSize.width=this._designResolutionSize.width=t,this._originalDesignResolutionSize.height=this._designResolutionSize.height=e;var r=n.apply(this,this._designResolutionSize);if(r.scale&&2===r.scale.length&&(this._scaleX=r.scale[0],this._scaleY=r.scale[1]),r.viewport){var o=this._viewportRect,a=this._visibleRect,c=r.viewport;o.x=c.x,o.y=c.y,o.width=c.width,o.height=c.height,a.x=0,a.y=0,a.width=c.width/this._scaleX,a.height=c.height/this._scaleY}n.postApply(this),cc.winSize.width=this._visibleRect.width,cc.winSize.height=this._visibleRect.height,cc.visibleRect&&cc.visibleRect.init(this._visibleRect),s.updateCameraViewport(),_cc.inputManager._updateCanvasBoundingRect(),this.emit("design-resolution-changed")}else cc.logID(2201)}else cc.logID(2200)},getDesignResolutionSize:function(){return cc.size(this._designResolutionSize.width,this._designResolutionSize.height)},setRealPixelResolution:function(t,e,i){this._setViewportMeta({width:t},!0),document.documentElement.style.width=t+"px",document.body.style.width=t+"px",document.body.style.left="0px",document.body.style.top="0px",this.setDesignResolutionSize(t,e,i)},setViewportInPoints:function(t,e,i,n){var r=this._scaleX,s=this._scaleY;cc.game._renderContext.viewport(t*r+this._viewportRect.x,e*s+this._viewportRect.y,i*r,n*s)},setScissorInPoints:function(t,e,i,n){var r=this._scaleX,s=this._scaleY,o=Math.ceil(t*r+this._viewportRect.x),c=Math.ceil(e*s+this._viewportRect.y),l=Math.ceil(i*r),h=Math.ceil(n*s),u=cc.game._renderContext;if(!a){var _=u.getParameter(u.SCISSOR_BOX);a=cc.rect(_[0],_[1],_[2],_[3])}a.x===o&&a.y===c&&a.width===l&&a.height===h||(a.x=o,a.y=c,a.width=l,a.height=h,u.scissor(o,c,l,h))},isScissorEnabled:function(){return cc.game._renderContext.isEnabled(gl.SCISSOR_TEST)},getScissorRect:function(){if(!a){var t=gl.getParameter(gl.SCISSOR_BOX);a=cc.rect(t[0],t[1],t[2],t[3])}var e=1/this._scaleX,i=1/this._scaleY;return cc.rect((a.x-this._viewportRect.x)*e,(a.y-this._viewportRect.y)*i,a.width*e,a.height*i)},getViewportRect:function(){return this._viewportRect},getScaleX:function(){return this._scaleX},getScaleY:function(){return this._scaleY},getDevicePixelRatio:function(){return this._devicePixelRatio},convertToLocationInView:function(t,e,i,n){var r=n||cc.v2(),s=i.adjustedLeft?i.adjustedLeft:i.left,o=i.adjustedTop?i.adjustedTop:i.top,a=this._devicePixelRatio*(t-s),c=this._devicePixelRatio*(o+i.height-e);return this._isRotated?(r.x=cc.game.canvas.width-c,r.y=a):(r.x=a,r.y=c),r},_convertMouseToLocationInView:function(t,e){var i=this._viewportRect;t.x=(this._devicePixelRatio*(t.x-e.left)-i.x)/this._scaleX,t.y=(this._devicePixelRatio*(e.top+e.height-t.y)-i.y)/this._scaleY},_convertPointWithScale:function(t){var e=this._viewportRect;t.x=(t.x-e.x)/this._scaleX,t.y=(t.y-e.y)/this._scaleY},_convertTouchesWithScale:function(t){for(var e,i,n,r=this._viewportRect,s=this._scaleX,o=this._scaleY,a=0;a<t.length;a++)i=(e=t[a])._point,n=e._prevPoint,i.x=(i.x-r.x)/s,i.y=(i.y-r.y)/o,n.x=(n.x-r.x)/s,n.y=(n.y-r.y)/o}}),cc.ContainerStrategy=cc.Class({name:"ContainerStrategy",preApply:function(t){},apply:function(t,e){},postApply:function(t){},_setupContainer:function(t,e,i){var n=cc.game.canvas;this._setupStyle(t,e,i);var r=t._devicePixelRatio=1;t.isRetinaEnabled()&&(r=t._devicePixelRatio=Math.min(t._maxPixelRatio,window.devicePixelRatio||1)),n.width=e*r,n.height=i*r},_setupStyle:function(t,e,i){var n=cc.game.canvas,r=cc.game.container;cc.sys.os===cc.sys.OS_ANDROID&&(document.body.style.width=(t._isRotated?i:e)+"px",document.body.style.height=(t._isRotated?e:i)+"px"),r.style.width=n.style.width=e+"px",r.style.height=n.style.height=i+"px"},_fixContainer:function(){document.body.insertBefore(cc.game.container,document.body.firstChild);var t=document.body.style;t.width=window.innerWidth+"px",t.height=window.innerHeight+"px",t.overflow="hidden";var e=cc.game.container.style;e.position="fixed",e.left=e.top="0px",document.body.scrollTop=0}}),cc.ContentStrategy=cc.Class({name:"ContentStrategy",ctor:function(){this._result={scale:[1,1],viewport:null}},_buildResult:function(t,e,i,n,r,s){Math.abs(t-i)<2&&(i=t),Math.abs(e-n)<2&&(n=e);var o=cc.rect((t-i)/2,(e-n)/2,i,n);return cc.game.renderType,cc.game.RENDER_TYPE_CANVAS,this._result.scale=[r,s],this._result.viewport=o,this._result},preApply:function(t){},apply:function(t,e){return{scale:[1,1]}},postApply:function(t){}}),(function(){var t=cc.Class({name:"EqualToFrame",extends:cc.ContainerStrategy,apply:function(t){var e=t._frameSize.height,i=cc.game.container.style;this._setupContainer(t,t._frameSize.width,t._frameSize.height),t._isRotated?i.margin="0 0 0 "+e+"px":i.margin="0px",i.padding="0px"}}),e=cc.Class({name:"ProportionalToFrame",extends:cc.ContainerStrategy,apply:function(t,e){var i,n,r=t._frameSize.width,s=t._frameSize.height,o=cc.game.container.style,a=e.width,c=e.height,l=r/a,h=s/c;l<h?(i=r,n=c*l):(i=a*h,n=s);var u=Math.round((r-i)/2),_=Math.round((s-n)/2);i=r-2*u,n=s-2*_,this._setupContainer(t,i,n),t._isRotated?o.margin="0 0 0 "+s+"px":o.margin="0px",o.paddingLeft=u+"px",o.paddingRight=u+"px",o.paddingTop=_+"px",o.paddingBottom=_+"px"}}),i=(cc.Class({name:"EqualToWindow",extends:t,preApply:function(t){this._super(t),cc.game.frame=document.documentElement},apply:function(t){this._super(t),this._fixContainer()}}),cc.Class({name:"ProportionalToWindow",extends:e,preApply:function(t){this._super(t),cc.game.frame=document.documentElement},apply:function(t,e){this._super(t,e),this._fixContainer()}}),cc.Class({name:"OriginalContainer",extends:cc.ContainerStrategy,apply:function(t){this._setupContainer(t,cc.game.canvas.width,cc.game.canvas.height)}})),n=("undefined"==typeof window?global:window).__globalAdapter;n&&(n.adaptContainerStrategy&&n.adaptContainerStrategy(cc.ContainerStrategy.prototype),n.adaptView&&n.adaptView(c.prototype)),cc.ContainerStrategy.EQUAL_TO_FRAME=new t,cc.ContainerStrategy.PROPORTION_TO_FRAME=new e,cc.ContainerStrategy.ORIGINAL_CONTAINER=new i;var r=cc.Class({name:"ExactFit",extends:cc.ContentStrategy,apply:function(t,e){var i=cc.game.canvas.width,n=cc.game.canvas.height,r=i/e.width,s=n/e.height;return this._buildResult(i,n,i,n,r,s)}}),s=cc.Class({name:"ShowAll",extends:cc.ContentStrategy,apply:function(t,e){var i,n,r=cc.game.canvas.width,s=cc.game.canvas.height,o=e.width,a=e.height,c=r/o,l=s/a,h=0;return c<l?(i=r,n=a*(h=c)):(i=o*(h=l),n=s),this._buildResult(r,s,i,n,h,h)}}),o=cc.Class({name:"NoBorder",extends:cc.ContentStrategy,apply:function(t,e){var i,n,r,s=cc.game.canvas.width,o=cc.game.canvas.height,a=e.width,c=e.height,l=s/a,h=o/c;return l<h?(n=a*(i=h),r=o):(n=s,r=c*(i=l)),this._buildResult(s,o,n,r,i,i)}}),a=cc.Class({name:"FixedHeight",extends:cc.ContentStrategy,apply:function(t,e){var i=cc.game.canvas.width,n=cc.game.canvas.height,r=n/e.height,s=i,o=n;return this._buildResult(i,n,s,o,r,r)}}),l=cc.Class({name:"FixedWidth",extends:cc.ContentStrategy,apply:function(t,e){var i=cc.game.canvas.width,n=cc.game.canvas.height,r=i/e.width,s=i,o=n;return this._buildResult(i,n,s,o,r,r)}});cc.ContentStrategy.EXACT_FIT=new r,cc.ContentStrategy.SHOW_ALL=new s,cc.ContentStrategy.NO_BORDER=new o,cc.ContentStrategy.FIXED_HEIGHT=new a,cc.ContentStrategy.FIXED_WIDTH=new l})(),cc.ResolutionPolicy=cc.Class({name:"cc.ResolutionPolicy",ctor:function(t,e){this._containerStrategy=null,this._contentStrategy=null,this.setContainerStrategy(t),this.setContentStrategy(e)},preApply:function(t){this._containerStrategy.preApply(t),this._contentStrategy.preApply(t)},apply:function(t,e){return this._containerStrategy.apply(t,e),this._contentStrategy.apply(t,e)},postApply:function(t){this._containerStrategy.postApply(t),this._contentStrategy.postApply(t)},setContainerStrategy:function(t){t instanceof cc.ContainerStrategy&&(this._containerStrategy=t)},setContentStrategy:function(t){t instanceof cc.ContentStrategy&&(this._contentStrategy=t)}}),r.get(cc.ResolutionPolicy.prototype,"canvasSize",(function(){return cc.v2(cc.game.canvas.width,cc.game.canvas.height)})),cc.ResolutionPolicy.EXACT_FIT=0,cc.ResolutionPolicy.NO_BORDER=1,cc.ResolutionPolicy.SHOW_ALL=2,cc.ResolutionPolicy.FIXED_HEIGHT=3,cc.ResolutionPolicy.FIXED_WIDTH=4,cc.ResolutionPolicy.UNKNOWN=5,cc.view=new c,cc.winSize=cc.size(),e.exports=cc.view}),{"../event/event-target":98,"../platform/CCClass":160,"../platform/js":180,"../renderer":207}],171:[(function(t,e,i){"use strict";cc.visibleRect={topLeft:cc.v2(0,0),topRight:cc.v2(0,0),top:cc.v2(0,0),bottomLeft:cc.v2(0,0),bottomRight:cc.v2(0,0),bottom:cc.v2(0,0),center:cc.v2(0,0),left:cc.v2(0,0),right:cc.v2(0,0),width:0,height:0,init:function(t){var e=this.width=t.width,i=this.height=t.height,n=t.x,r=t.y,s=r+i,o=n+e;this.topLeft.x=n,this.topLeft.y=s,this.topRight.x=o,this.topRight.y=s,this.top.x=n+e/2,this.top.y=s,this.bottomLeft.x=n,this.bottomLeft.y=r,this.bottomRight.x=o,this.bottomRight.y=r,this.bottom.x=n+e/2,this.bottom.y=r,this.center.x=n+e/2,this.center.y=r+i/2,this.left.x=n,this.left.y=r+i/2,this.right.x=o,this.right.y=r+i/2}}}),{}],172:[(function(t,e,i){"use strict";var n=t("./js"),r=(t("./utils").isPlainEmptyObj_DEV,"$_$");function s(t,e){var i=e?Object.create(e):{};return n.value(t,"__attrs__",i),i}function o(t){if("function"!=typeof t){return s(t,c(t.constructor))}for(var e,i=cc.Class.getInheritanceChain(t),n=i.length-1;n>=0;n--){var r=i[n];r.hasOwnProperty("__attrs__")&&r.__attrs__||s(r,(e=i[n+1])&&e.__attrs__)}return s(t,(e=i[0])&&e.__attrs__),t.__attrs__}function a(t,e,i){var n=c(t),s=e+r,o={};for(var a in n)a.startsWith(s)&&(o[a.slice(s.length)]=n[a]);return o}function c(t){return t.hasOwnProperty("__attrs__")&&t.__attrs__||o(t)}function l(t,e){this.name=t,this.default=e}l.prototype.toString=function(){return this.name},cc.Integer=new l("Integer",0),cc.Float=new l("Float",0),cc.Boolean=new l("Boolean",!1),cc.String=new l("String",""),e.exports={PrimitiveType:l,attr:a,getClassAttrs:c,setClassAttr:function(t,e,i,n){c(t)[e+r+i]=n},DELIMETER:r,getTypeChecker_ET:!1,getObjTypeChecker_ET:!1,ScriptUuid:{}}}),{"./CCClass":160,"./js":180,"./utils":184}],173:[(function(t,e,i){"use strict";var n=t("./js"),r=n.array.fastRemoveAt;function s(){}function o(){this.callback=s,this.target=void 0,this.once=!1}o.prototype.set=function(t,e,i){this.callback=t,this.target=e,this.once=!!i};var a=new n.Pool(function(t){return t.callback=s,t.target=void 0,t.once=!1,!0},32);function c(){this.callbackInfos=[],this.isInvoking=!1,this.containCanceled=!1}a.get=function(){return this._get()||new o};var l=c.prototype;l.removeByCallback=function(t){for(var e=0;e<this.callbackInfos.length;++e){var i=this.callbackInfos[e];i&&i.callback===t&&(a.put(i),r(this.callbackInfos,e),--e)}},l.removeByTarget=function(t){for(var e=0;e<this.callbackInfos.length;++e){var i=this.callbackInfos[e];i&&i.target===t&&(a.put(i),r(this.callbackInfos,e),--e)}},l.cancel=function(t){var e=this.callbackInfos[t];e&&(a.put(e),this.callbackInfos[t]=null),this.containCanceled=!0},l.cancelAll=function(){for(var t=0;t<this.callbackInfos.length;t++){var e=this.callbackInfos[t];e&&(a.put(e),this.callbackInfos[t]=null)}this.containCanceled=!0},l.purgeCanceled=function(){for(var t=this.callbackInfos.length-1;t>=0;--t){this.callbackInfos[t]||r(this.callbackInfos,t)}this.containCanceled=!1},l.clear=function(){this.cancelAll(),this.callbackInfos.length=0,this.isInvoking=!1,this.containCanceled=!1};var h=new n.Pool(function(t){return t.callback=s,t.target=void 0,t.once=!1,!0},16);function u(){this._callbackTable=n.createMap(!0)}h.get=function(){return this._get()||new c},(l=u.prototype).on=function(t,e,i,n){var r=this._callbackTable[t];r||(r=this._callbackTable[t]=h.get());var s=a.get();s.set(e,i,n),r.callbackInfos.push(s)},l.hasEventListener=function(t,e,i){var n=this._callbackTable[t];if(!n)return!1;var r=n.callbackInfos;if(!e){if(n.isInvoking){for(var s=0;s<r.length;++s)if(r[s])return!0;return!1}return r.length>0}for(var o=0;o<r.length;++o){var a=r[o];if(a&&a.callback===e&&a.target===i)return!0}return!1},l.removeAll=function(t){if("string"==typeof t){var e=this._callbackTable[t];e&&(e.isInvoking?e.cancelAll():(e.clear(),h.put(e),delete this._callbackTable[t]))}else if(t)for(var i in this._callbackTable){var n=this._callbackTable[i];if(n.isInvoking)for(var r=n.callbackInfos,s=0;s<r.length;++s){var o=r[s];o&&o.target===t&&n.cancel(s)}else n.removeByTarget(t)}},l.off=function(t,e,i){var n=this._callbackTable[t];if(n)for(var s=n.callbackInfos,o=0;o<s.length;++o){var c=s[o];if(c&&c.callback===e&&c.target===i){n.isInvoking?n.cancel(o):(r(s,o),a.put(c));break}}},l.emit=function(t,e,i,n,r,s){var o=this._callbackTable[t];if(o){var a=!o.isInvoking;o.isInvoking=!0;for(var c=o.callbackInfos,l=0,h=c.length;l<h;++l){var u=c[l];if(u){var _=u.target,f=u.callback;u.once&&this.off(t,f,_),_?f.call(_,e,i,n,r,s):f(e,i,n,r,s)}}a&&(o.isInvoking=!1,o.containCanceled&&o.purgeCanceled())}},e.exports=u}),{"./js":180}],174:[(function(t,e,i){"use strict";function n(t,e){for(var i=0;i<e.length;i++){var r=e[i];Array.isArray(r)?n(t,r):t.push(r)}}e.exports={flattenCodeArray:function(t){var e=[];return n(e,t),e.join("")}}}),{}],175:[(function(t,e,i){"use strict";var n=t("./js"),r=t("./attribute"),s=t("./CCClass"),o=t("../utils/misc"),a=function(){this.uuidList=[],this.uuidObjList=[],this.uuidPropList=[],this._stillUseUrl=n.createMap(!0)};a.prototype.reset=function(){this.uuidList.length=0,this.uuidObjList.length=0,this.uuidPropList.length=0,n.clear(this._stillUseUrl)},a.prototype.push=function(t,e,i,n){n&&(this._stillUseUrl[this.uuidList.length]=!0),this.uuidList.push(i),this.uuidObjList.push(t),this.uuidPropList.push(e)},(a.pool=new n.Pool(function(t){t.reset()},10)).get=function(){return this._get()||new a};var c=(function(){function t(t,e,i,n,r){this.result=t,this.customEnv=n,this.deserializedList=[],this.deserializedData=null,this._classFinder=i,this._idList=[],this._idObjList=[],this._idPropList=[]}function e(t){var e,i,n,r=t.deserializedList,s=t._idPropList,o=t._idList,a=t._idObjList;t._classFinder&&t._classFinder.onDereferenced;for(e=0;e<o.length;e++)i=s[e],n=o[e],a[e][i]=r[n]}var i=t.prototype;function a(t,e,i,r,s,o){if(e instanceof cc.ValueType){s||t.push("if(prop){");var a=n.getClassName(e);t.push("s._deserializeTypedObject(o"+i+",prop,"+a+");"),s||t.push("}else o"+i+"=null;")}else t.push("if(prop){"),t.push("s._deserializeObjField(o,prop,"+r+",null,"+!!o+");"),t.push("}else o"+i+"=null;")}i.deserialize=function(t){if(Array.isArray(t)){var i=t,n=i.length;this.deserializedList.length=n;for(var r=0;r<n;r++){if(i[r])this.deserializedList[r]=this._deserializeObject(i[r],!1)}this.deserializedData=n>0?this.deserializedList[0]:[]}else this.deserializedList.length=1,this.deserializedData=t?this._deserializeObject(t,!1):null,this.deserializedList[0]=this.deserializedData;return e(this),this.deserializedData},i._deserializeObject=function(t,e,i,r,s){var o,a=null,c=null,h=t.__type__;if("TypedArray"===h){var u=t.array;a=new window[t.ctor](u.length);for(var _=0;_<u.length;++_)a[_]=u[_];return a}if(h){if(!(c=this._classFinder(h,t,r,s)))return this._classFinder===n._getClassById&&cc.deserialize.reportMissingClass(h),null;if((a=new c)._deserialize)return a._deserialize(t.content,this),a;cc.Class._isCCClass(c)?l(this,a,t,c,i):this._deserializeTypedObject(a,t,c)}else if(Array.isArray(t)){a=new Array(t.length);for(var f=0;f<t.length;f++)"object"==typeof(o=t[f])&&o?this._deserializeObjField(a,o,""+f,null,e):a[f]=o}else a={},this._deserializePrimitiveObject(a,t);return a},i._deserializeObjField=function(t,e,i,n,r){var s=e.__id__;if(void 0===s){var o=e.__uuid__;o?this.result.push(t,i,o,r):t[i]=this._deserializeObject(e,r)}else{var a=this.deserializedList[s];a?t[i]=a:(this._idList.push(s),this._idObjList.push(t),this._idPropList.push(i))}},i._deserializePrimitiveObject=function(t,e){for(var i in e)if(e.hasOwnProperty(i)){var n=e[i];"object"!=typeof n?"__type__"!==i&&(t[i]=n):n?this._deserializeObjField(t,n,i):t[i]=null}},i._deserializeTypedObject=function(t,e,i){if(i===cc.Vec2)return t.x=e.x||0,void(t.y=e.y||0);if(i===cc.Vec3)return t.x=e.x||0,t.y=e.y||0,void(t.z=e.z||0);if(i!==cc.Color){if(i===cc.Size)return t.width=e.width||0,void(t.height=e.height||0);for(var n=r.DELIMETER+"default",o=r.getClassAttrs(i),a=i.__props__||Object.keys(t),c=0;c<a.length;c++){var l=a[c],h=e[l];void 0!==h&&e.hasOwnProperty(l)||(h=s.getDefault(o[l+n])),"object"!=typeof h?t[l]=h:h?this._deserializeObjField(t,h,l):t[l]=null}}else{t.r=e.r||0,t.g=e.g||0,t.b=e.b||0;var u=e.a;t.a=void 0===u?255:u}};var c=function(t,e){for(var i=r.DELIMETER+"type",c=(r.DELIMETER,r.DELIMETER+"default"),l=r.DELIMETER+"saveUrlAsAsset",h=r.DELIMETER+"formerlySerializedAs",u=r.getClassAttrs(e),_=e.__values__,f=["var prop;"],d=o.BUILTIN_CLASSID_RE.test(n._getClassId(e)),p=0;p<_.length;p++){var m,y,v=_[p];0,s.IDENTIFIER_RE.test(v)?(y='"'+v+'"',m="."+v):m="["+(y=s.escapeForJS(v))+"]";var g=m;if(u[v+h]){var x=u[v+h];g=s.IDENTIFIER_RE.test(x)?"."+x:"["+s.escapeForJS(x)+"]"}f.push("prop=d"+g+";"),f.push('if(typeof prop!=="undefined"){');var C=u[v+l],A=s.getDefault(u[v+c]);if(d){var b,S=u[v+i];if(void 0===A&&S)b=S instanceof r.PrimitiveType;else{var T=typeof A;b="string"===T&&!C||"number"===T||"boolean"===T}b?f.push("o"+m+"=prop;"):a(f,A,m,y,!0,C)}else f.push('if(typeof prop!=="object"){o'+m+"=prop;}else{"),a(f,A,m,y,!1,C),f.push("}");f.push("}")}(cc.js.isChildClassOf(e,cc._BaseNode)||cc.js.isChildClassOf(e,cc.Component))&&f.push("d._id&&(o._id=d._id);");return"_$erialized"===_[_.length-1]&&(f.push("o._$erialized=JSON.parse(JSON.stringify(d));"),f.push("s._deserializePrimitiveObject(o._$erialized,d);")),Function("s","o","d","k","t",f.join(""))};function l(t,e,i,r,s){var o;r.hasOwnProperty("__deserialize__")?o=r.__deserialize__:(o=c(t,r),n.value(r,"__deserialize__",o,!0)),o(t,e,i,r,s)}return t.pool=new n.Pool(function(t){t.result=null,t.customEnv=null,t.deserializedList.length=0,t.deserializedData=null,t._classFinder=null,t._idList.length=0,t._idObjList.length=0,t._idPropList.length=0},1),t.pool.get=function(e,i,n,r,s){var o=this._get();return o?(o.result=e,o.customEnv=r,o._classFinder=n,o):new t(e,i,n,r,s)},t})();cc.deserialize=function(t,e,i){var r=(i=i||{}).classFinder||n._getClassById,s=i.createAssetRefs||cc.sys.platform===cc.sys.EDITOR_CORE,o=i.customEnv,l=i.ignoreEditorOnly;"string"==typeof t&&(t=JSON.parse(t));var h=!e;e=e||a.pool.get();var u=c.pool.get(e,!1,r,o,l);cc.game._isCloning=!0;var _=u.deserialize(t);return cc.game._isCloning=!1,c.pool.put(u),s&&e.assignAssetsBy(Editor.serialize.asAsset),h&&a.pool.put(e),_},cc.deserialize.Details=a,cc.deserialize.reportMissingClass=function(t){cc.warnID(5302,t)}}),{"../utils/misc":249,"./CCClass":160,"./attribute":172,"./js":180}],176:[(function(t,e,i){"use strict";var n=".";function r(t){this.id=0|998*Math.random(),this.prefix=t?t+n:""}r.prototype.getNewId=function(){return this.prefix+ ++this.id},r.global=new r("global"),e.exports=r}),{}],177:[(function(t,e,i){"use strict";t("./js"),t("./CCClass"),t("./CCClassDecorator"),t("./CCEnum"),t("./CCObject"),t("./callbacks-invoker"),t("./url"),t("./deserialize"),t("./instantiate"),t("./instantiate-jit"),t("./requiring-frame"),t("./CCSys"),t("./CCMacro"),t("./CCAssetLibrary"),t("./CCVisibleRect")}),{"./CCAssetLibrary":159,"./CCClass":160,"./CCClassDecorator":161,"./CCEnum":162,"./CCMacro":165,"./CCObject":166,"./CCSys":169,"./CCVisibleRect":171,"./callbacks-invoker":173,"./deserialize":175,"./instantiate":179,"./instantiate-jit":178,"./js":180,"./requiring-frame":182,"./url":183}],178:[(function(t,e,i){"use strict";var n=t("./CCObject"),r=n.Flags.Destroyed,s=n.Flags.PersistentMask,o=t("./attribute"),a=t("./js"),c=t("./CCClass"),l=t("./compiler"),h=o.DELIMETER+"default",u=c.IDENTIFIER_RE,_=c.escapeForJS,f="var ",d="o",p="t",m={"cc.Node":"cc.Node","cc.Sprite":"cc.Sprite","cc.Label":"cc.Label","cc.Button":"cc.Button","cc.Widget":"cc.Widget","cc.Animation":"cc.Animation","cc.ClickEvent":!1,"cc.PrefabInfo":!1};function y(t,e){this.varName=t,this.expression=e}function v(t,e){return e instanceof y?new y(e.varName,t+e.expression):t+e}function g(t,e,i){Array.isArray(i)?(i[0]=v(e,i[0]),t.push(i)):t.push(v(e,i)+";")}function x(t){this._exps=[],this._targetExp=t}function C(t,e){if("function"==typeof t)try{t=t()}catch(t){return!1}if(t===e)return!0;if(t&&e){if(t instanceof cc.ValueType&&t.equals(e))return!0;if(Array.isArray(t)&&Array.isArray(e)||t.constructor===Object&&e.constructor===Object)try{return Array.isArray(t)&&Array.isArray(e)&&0===t.length&&0===e.length}catch(t){}}return!1}function A(t){return u.test(t)?"."+t:"["+_(t)+"]"}function b(t,e){var i;this.parent=e,this.objsToClear_iN$t=[],this.codeArray=[],this.objs=[],this.funcs=[],this.funcModuleCache=a.createMap(),a.mixin(this.funcModuleCache,m),this.globalVariables=[],this.globalVariableId=0,this.localVariableId=0,this.codeArray.push(f+d+","+p+";","if(R){",d+"=R;","}else{",d+"=R=new "+this.getFuncModule(t.constructor,!0)+"();","}"),a.value(t,"_iN$t",{globalVar:"R"},!0),this.objsToClear_iN$t.push(t),this.enumerateObject(this.codeArray,t),this.globalVariables.length>0&&(i=f+this.globalVariables.join(",")+";");var n=l.flattenCodeArray(["return (function(R){",i||[],this.codeArray,"return o;","})"]);this.result=Function("O","F",n)(this.objs,this.funcs);for(var r=0,s=this.objsToClear_iN$t.length;r<s;++r)this.objsToClear_iN$t[r]._iN$t=null;this.objsToClear_iN$t.length=0}!Float32Array.name&&(Float32Array.name="Float32Array"),!Uint32Array.name&&(Uint32Array.name="Uint32Array"),!Int32Array.name&&(Int32Array.name="Int32Array"),!Uint8Array.name&&(Uint8Array.name="Uint8Array"),y.prototype.toString=function(){return f+this.varName+"="+this.expression+";"},x.prototype.append=function(t,e){this._exps.push([t,e])},x.prototype.writeCode=function(t){var e;if(this._exps.length>1)t.push(p+"="+this._targetExp+";"),e=p;else{if(1!==this._exps.length)return;e=this._targetExp}for(var i=0;i<this._exps.length;i++){var n=this._exps[i];g(t,e+A(n[0])+"=",n[1])}},x.pool=new a.Pool(function(t){t._exps.length=0,t._targetExp=null},1),x.pool.get=function(t){var e=this._get()||new x;return e._targetExp=t,e};var S=b.prototype;S.getFuncModule=function(t,e){var i=a.getClassName(t);if(i){var n=this.funcModuleCache[i];if(n)return n;if(void 0===n){var r=-1!==i.indexOf(".");if(r)try{if(r=t===Function("return "+i)())return this.funcModuleCache[i]=i,i}catch(t){}}}var s=this.funcs.indexOf(t);s<0&&(s=this.funcs.length,this.funcs.push(t));var o="F["+s+"]";return e&&(o="("+o+")"),this.funcModuleCache[i]=o,o},S.getObjRef=function(t){var e=this.objs.indexOf(t);return e<0&&(e=this.objs.length,this.objs.push(t)),"O["+e+"]"},S.setValueType=function(t,e,i,n){var r=x.pool.get(n),s=e.constructor.__props__;s||(s=Object.keys(e));for(var o=0;o<s.length;o++){var a=s[o],c=i[a];if(e[a]!==c){var l=this.enumerateField(i,a,c);r.append(a,l)}}r.writeCode(t),x.pool.put(r)},S.enumerateCCClass=function(t,e,i){for(var n=i.__values__,r=o.getClassAttrs(i),s=0;s<n.length;s++){var a=n[s],l=e[a],u=r[a+h];if(!C(u,l))if("object"==typeof l&&l instanceof cc.ValueType&&(u=c.getDefault(u))&&u.constructor===l.constructor){var _=d+A(a);this.setValueType(t,u,l,_)}else this.setObjProp(t,e,a,l)}},S.instantiateArray=function(t){if(0===t.length)return"[]";var e="a"+ ++this.localVariableId,i=[new y(e,"new Array("+t.length+")")];a.value(t,"_iN$t",{globalVar:"",source:i},!0),this.objsToClear_iN$t.push(t);for(var n=0;n<t.length;++n){g(i,e+"["+n+"]=",this.enumerateField(t,n,t[n]))}return i},S.instantiateTypedArray=function(t){var e=t.constructor.name;if(0===t.length)return"new "+e;var i="a"+ ++this.localVariableId,n=[new y(i,"new "+e+"("+t.length+")")];t._iN$t={globalVar:"",source:n},this.objsToClear_iN$t.push(t);for(var r=0;r<t.length;++r){if(0!==t[r])g(n,i+"["+r+"]=",t[r])}return n},S.enumerateField=function(t,e,i){if("object"==typeof i&&i){var r=i._iN$t;if(r){var o=r.globalVar;if(!o){o=r.globalVar="v"+ ++this.globalVariableId,this.globalVariables.push(o);var a=r.source[0];r.source[0]=v(o+"=",a)}return o}return ArrayBuffer.isView(i)?this.instantiateTypedArray(i):Array.isArray(i)?this.instantiateArray(i):this.instantiateObj(i)}return"function"==typeof i?this.getFuncModule(i):"string"==typeof i?_(i):("_objFlags"===e&&t instanceof n&&(i&=s),i)},S.setObjProp=function(t,e,i,n){g(t,d+A(i)+"=",this.enumerateField(e,i,n))},S.enumerateObject=function(t,e){var i=e.constructor;if(cc.Class._isCCClass(i))this.enumerateCCClass(t,e,i);else for(var n in e)if(e.hasOwnProperty(n)&&(95!==n.charCodeAt(0)||95!==n.charCodeAt(1)||"__type__"===n)){var r=e[n];"object"==typeof r&&r&&r===e._iN$t||this.setObjProp(t,e,n,r)}},S.instantiateObj=function(t){if(t instanceof cc.ValueType)return c.getNewValueTypeCode(t);if(t instanceof cc.Asset)return this.getObjRef(t);if(t._objFlags&r)return null;var e,i=t.constructor;if(cc.Class._isCCClass(i)){if(this.parent)if(this.parent instanceof cc.Component){if(t instanceof cc._BaseNode||t instanceof cc.Component)return this.getObjRef(t)}else if(this.parent instanceof cc._BaseNode)if(t instanceof cc._BaseNode){if(!t.isChildOf(this.parent))return this.getObjRef(t)}else if(t instanceof cc.Component&&!t.node.isChildOf(this.parent))return this.getObjRef(t);e=new y(d,"new "+this.getFuncModule(i,!0)+"()")}else if(i===Object)e=new y(d,"{}");else{if(i)return this.getObjRef(t);e=new y(d,"Object.create(null)")}var n=[e];return a.value(t,"_iN$t",{globalVar:"",source:n},!0),this.objsToClear_iN$t.push(t),this.enumerateObject(n,t),["(function(){",n,"return o;})();"]},e.exports={compile:function(t){return new b(t,t instanceof cc._BaseNode&&t).result},equalsToDefault:C}}),{"./CCClass":160,"./CCObject":166,"./attribute":172,"./compiler":174,"./js":180}],179:[(function(t,e,i){"use strict";var n=t("./CCObject"),r=t("../value-types/value-type"),s=n.Flags.Destroyed,o=n.Flags.PersistentMask,a=t("./utils").isDomNode,c=t("./js");function l(t,e){if(!e){if("object"!=typeof t||Array.isArray(t))return null;if(!t)return null;if(!cc.isValid(t))return null;0}var i;if(t instanceof n){if(t._instantiate)return cc.game._isCloning=!0,i=t._instantiate(),cc.game._isCloning=!1,i;if(t instanceof cc.Asset)return null}return cc.game._isCloning=!0,i=u(t),cc.game._isCloning=!1,i}var h=[];function u(t,e){if(Array.isArray(t))return null;if(a&&a(t))return null;var i;if(t._iN$t)i=t._iN$t;else if(t.constructor){i=new(0,t.constructor)}else i=Object.create(null);f(t,i,e);for(var n=0,r=h.length;n<r;++n)h[n]._iN$t=null;return h.length=0,i}function _(t,e,i,n){for(var s=t.__values__,o=0;o<s.length;o++){var a=s[o],c=e[a];if("object"==typeof c&&c){var l=i[a];l instanceof r&&l.constructor===c.constructor?l.set(c):i[a]=c._iN$t||d(c,n)}else i[a]=c}}function f(t,e,i){c.value(t,"_iN$t",e,!0),h.push(t);var r=t.constructor;if(cc.Class._isCCClass(r))_(r,t,e,i);else for(var s in t)if(t.hasOwnProperty(s)&&(95!==s.charCodeAt(0)||95!==s.charCodeAt(1)||"__type__"===s)){var a=t[s];if("object"==typeof a&&a){if(a===e)continue;e[s]=a._iN$t||d(a,i)}else e[s]=a}t instanceof n&&(e._objFlags&=o)}function d(t,e){if(t instanceof r)return t.clone();if(t instanceof cc.Asset)return t;var i;if(ArrayBuffer.isView(t)){var n=t.length;i=new t.constructor(n),t._iN$t=i,h.push(t);for(var o=0;o<n;++o)i[o]=t[o];return i}if(Array.isArray(t)){var a=t.length;i=new Array(a),c.value(t,"_iN$t",i,!0),h.push(t);for(var l=0;l<a;++l){var u=t[l];i[l]="object"==typeof u&&u?u._iN$t||d(u,e):u}return i}if(t._objFlags&s)return null;var _=t.constructor;if(cc.Class._isCCClass(_)){if(e)if(e instanceof cc.Component){if(t instanceof cc._BaseNode||t instanceof cc.Component)return t}else if(e instanceof cc._BaseNode)if(t instanceof cc._BaseNode){if(!t.isChildOf(e))return t}else if(t instanceof cc.Component&&!t.node.isChildOf(e))return t;i=new _}else if(_===Object)i={};else{if(_)return t;i=Object.create(null)}return f(t,i,e),i}l._clone=u,cc.instantiate=l,e.exports=l}),{"../value-types/value-type":268,"./CCObject":166,"./js":180,"./utils":184}],180:[(function(t,e,i){"use strict";var n=new(t("./id-generater"))("TmpCId.");function r(t,e){for(;t;){var i=Object.getOwnPropertyDescriptor(t,e);if(i)return i;t=Object.getPrototypeOf(t)}return null}function s(t,e,i){var n=r(e,t);Object.defineProperty(i,t,n)}var o={isNumber:function(t){return"number"==typeof t||t instanceof Number},isString:function(t){return"string"==typeof t||t instanceof String},addon:function(t){t=t||{};for(var e=1,i=arguments.length;e<i;e++){var n=arguments[e];if(n){if("object"!=typeof n){cc.errorID(5402,n);continue}for(var r in n)r in t||s(r,n,t)}}return t},mixin:function(t){t=t||{};for(var e=1,i=arguments.length;e<i;e++){var n=arguments[e];if(n){if("object"!=typeof n){cc.errorID(5403,n);continue}for(var r in n)s(r,n,t)}}return t},extend:function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i]);return t.prototype=Object.create(e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),t},getSuper:function(t){var e=t.prototype,i=e&&Object.getPrototypeOf(e);return i&&i.constructor},isChildClassOf:function(t,e){if(t&&e){if("function"!=typeof t)return!1;if("function"!=typeof e)return!1;if(t===e)return!0;for(;;){if(!(t=o.getSuper(t)))return!1;if(t===e)return!0}}return!1},clear:function(t){for(var e=Object.keys(t),i=0;i<e.length;i++)delete t[e[i]]},isEmptyObject:function(t){for(var e in t)return!1;return!0},getPropertyDescriptor:r},a={value:void 0,enumerable:!1,writable:!1,configurable:!0};o.value=function(t,e,i,n,r){a.value=i,a.writable=n,a.enumerable=r,Object.defineProperty(t,e,a),a.value=void 0};var c={get:null,set:null,enumerable:!1};o.getset=function(t,e,i,n,r,s){"function"!=typeof n&&(r=n,n=void 0),c.get=i,c.set=n,c.enumerable=r,c.configurable=s,Object.defineProperty(t,e,c),c.get=null,c.set=null};var l={get:null,enumerable:!1,configurable:!1};o.get=function(t,e,i,n,r){l.get=i,l.enumerable=n,l.configurable=r,Object.defineProperty(t,e,l),l.get=null};var h={set:null,enumerable:!1,configurable:!1};o.set=function(t,e,i,n,r){h.set=i,h.enumerable=n,h.configurable=r,Object.defineProperty(t,e,h),h.set=null},o.getClassName=function(t){if("function"==typeof t){var e=t.prototype;if(e&&e.hasOwnProperty("__classname__")&&e.__classname__)return e.__classname__;var i="";if(t.name&&(i=t.name),t.toString){var n,r=t.toString();(n="["===r.charAt(0)?r.match(/\[\w+\s*(\w+)\]/):r.match(/function\s*(\w+)/))&&2===n.length&&(i=n[1])}return"Object"!==i?i:""}return t&&t.constructor?o.getClassName(t.constructor):""},(function(){var t={},e={};function i(t,e,i){return o.getset(o,e,(function(){return Object.assign({},i)}),(function(t){o.clear(i),Object.assign(i,t)})),function(e,n){if(n.prototype.hasOwnProperty(t)&&delete i[n.prototype[t]],o.value(n.prototype,t,e),e){var r=i[e];if(r&&r!==n){var s="A Class already exists with the same "+t+' : "'+e+'".';0,cc.error(s)}else i[e]=n}}}o._setClassId=i("__cid__","_registeredClassIds",t);var r=i("__classname__","_registeredClassNames",e);o.setClassName=function(t,e){if(r(t,e),!e.prototype.hasOwnProperty("__cid__")){var i=t||n.getNewId();i&&o._setClassId(i,e)}},o.unregisterClass=function(){for(var i=0;i<arguments.length;i++){var n=arguments[i].prototype,r=n.__cid__;r&&delete t[r];var s=n.__classname__;s&&delete e[s]}},o._getClassById=function(e){return t[e]},o.getClassByName=function(t){return e[t]},o._getClassId=function(t,e){if(e=void 0===e||e,"function"==typeof t&&t.prototype.hasOwnProperty("__cid__"))return t.prototype.__cid__;if(t&&t.constructor){var i=t.constructor.prototype;if(i&&i.hasOwnProperty("__cid__"))return t.__cid__}return""}})(),o.obsolete=function(t,e,i,n){var r=/([^.]+)$/,s=r.exec(e)[0],a=r.exec(i)[0];function c(){return this[a]}n?o.getset(t,s,c,(function(t){this[a]=t})):o.get(t,s,c)},o.obsoletes=function(t,e,i,n){for(var r in i){var s=i[r];o.obsolete(t,e+"."+r,s,n)}};var u=/(%d)|(%s)/,_=/%s/;function f(t,e){t.splice(e,1)}function d(t,e){var i=t.indexOf(e);return i>=0&&(f(t,i),!0)}o.formatStr=function(){var t=arguments.length;if(0===t)return"";var e=arguments[0];if(1===t)return""+e;if("string"==typeof e&&u.test(e))for(var i=1;i<t;++i){var n=arguments[i],r="number"==typeof n?u:_;r.test(e)?e=e.replace(r,n):e+=" "+n}else for(var s=1;s<t;++s)e+=" "+arguments[s];return e},o.shiftArguments=function(){for(var t=arguments.length-1,e=new Array(t),i=0;i<t;++i)e[i]=arguments[i+1];return e},o.createMap=function(t){var e=Object.create(null);if(t){e["."]=!0,e["/"]=!0,delete e["."],delete e["/"]}return e};var p=Array.prototype.indexOf;function m(t,e){void 0===e&&(e=t,t=null),this.get=null,this.count=0,this._pool=new Array(e),this._cleanup=t}o.array={remove:d,fastRemove:function(t,e){var i=t.indexOf(e);i>=0&&(t[i]=t[t.length-1],--t.length)},removeAt:f,fastRemoveAt:function(t,e){var i=t.length;e<0||e>=i||(t[e]=t[i-1],t.length=i-1)},contains:function(t,e){return t.indexOf(e)>=0},verifyType:function(t,e){if(t&&t.length>0)for(var i=0;i<t.length;i++)if(!(t[i]instanceof e))return cc.logID(1300),!1;return!0},removeArray:function(t,e){for(var i=0,n=e.length;i<n;i++)d(t,e[i])},appendObjectsAt:function(t,e,i){return t.splice.apply(t,[i,0].concat(e)),t},copy:function(t){var e,i=t.length,n=new Array(i);for(e=0;e<i;e+=1)n[e]=t[e];return n},indexOf:p,MutableForwardIterator:t("../utils/mutable-forward-iterator")},m.prototype._get=function(){if(this.count>0){--this.count;var t=this._pool[this.count];return this._pool[this.count]=null,t}return null},m.prototype.put=function(t){var e=this._pool;if(this.count<e.length){if(this._cleanup&&!1===this._cleanup(t))return;e[this.count]=t,++this.count}},m.prototype.resize=function(t){t>=0&&(this._pool.length=t,this.count>t&&(this.count=t))},o.Pool=m,cc.js=o,e.exports=o}),{"../utils/mutable-forward-iterator":250,"./id-generater":176}],181:[(function(t,e,i){"use strict";var n=t("./js"),r=t("./attribute"),s={url:{canUsedInGet:!0},default:{},serializable:{},editorOnly:{},formerlySerializedAs:{}};function o(t,e,i,n){if(!t.get&&!t.set)if(t.hasOwnProperty("default")){var r="_N$"+e;t.get=function(){return this[r]},t.set=function(t){var e=this[r];this[r]=t,i.call(this,e)};var o={};for(var a in n[r]=o,s){var c=s[a];t.hasOwnProperty(a)&&(o[a]=t[a],c.canUsedInGet||delete t[a])}}else 0}function a(t,e,i,n){Array.isArray(n)&&n.length>0&&(n=n[0]),t.type=n}function c(t,e,i,n){if(Array.isArray(e)){if(!(e.length>0))return cc.errorID(5508,i,n);if(cc.RawAsset.isRawAssetType(e[0]))return t.url=e[0],void delete t.type;t.type=e=e[0]}"function"==typeof e&&(e===String?t.type=cc.String:e===Boolean?t.type=cc.Boolean:e===Number&&(t.type=cc.Float))}i.getFullFormOfProperty=function(t,e,i){if(t&&t.constructor===Object)return null;if(Array.isArray(t)&&t.length>0){t[0];return{default:[],type:t,_short:!0}}if("function"==typeof t){var s=t;return cc.RawAsset.isRawAssetType(s)||cc.RawAsset.wasRawAssetType(s)?{default:"",url:s,_short:!0}:{default:n.isChildClassOf(s,cc.ValueType)?new s:null,type:s,_short:!0}}return t instanceof r.PrimitiveType?{default:t.default,_short:!0}:{default:t,_short:!0}},i.preprocessAttrs=function(t,e,n,r){for(var s in t){var l=t[s],h=i.getFullFormOfProperty(l,s,e);if(h&&(l=t[s]=h),l){var u=l.notify;u&&o(l,s,u,t),"type"in l&&c(l,l.type,e,s),"url"in l&&a(l,0,0,l.url),"type"in l&&l.type}}},i.validateMethodWithProps=function(t,e,i,n,r){return"function"==typeof t||null===t}}),{"./CCClass":160,"./attribute":172,"./js":180}],182:[(function(t,e,i){"use strict";var n=[];cc._RF={push:function(t,e,i){void 0===i&&(i=e,e=""),n.push({uuid:e,script:i,module:t,exports:t.exports,beh:null})},pop:function(){var t=n.pop(),e=t.module,i=e.exports;if(i===t.exports){for(var r in i)return;e.exports=i=t.cls}},peek:function(){return n[n.length-1]}}}),{}],183:[(function(t,e,i){"use strict";cc.url={_rawAssets:"",normalize:function(t){return t&&(46===t.charCodeAt(0)&&47===t.charCodeAt(1)?t=t.slice(2):47===t.charCodeAt(0)&&(t=t.slice(1))),t},raw:function(t){if((t=this.normalize(t)).startsWith("resources/")){var e=cc.loader._getResUuid(t.slice(10),cc.Asset,null,!0);if(e)return cc.AssetLibrary.getLibUrlNoExt(e,!0)+cc.path.extname(t)}else cc.errorID(7002,t);return this._rawAssets+t},_init:function(t){this._rawAssets=cc.path.stripSep(t)+"/"}},e.exports=cc.url}),{}],184:[(function(t,e,i){"use strict";t("./js");e.exports={contains:function(t,e){if("function"==typeof t.contains)return t.contains(e);if("function"==typeof t.compareDocumentPosition)return!!(16&t.compareDocumentPosition(e));var i=e.parentNode;if(i)do{if(i===t)return!0;i=i.parentNode}while(null!==i);return!1},isDomNode:"object"==typeof window&&("function"==typeof Node?function(t){return t instanceof Node}:function(t){return t&&"object"==typeof t&&"number"==typeof t.nodeType&&"string"==typeof t.nodeName}),callInNextTick:function(t,e,i){t&&setTimeout((function(){t(e,i)}),0)}}}),{"./js":180}],185:[(function(t,e,i){"use strict";t("./platform/js"),t("./value-types"),t("./utils"),t("./platform/CCInputManager"),t("./platform/CCInputExtension"),t("./event"),t("./platform/CCSys"),t("./platform/CCMacro"),t("./load-pipeline"),t("./CCDirector"),t("./renderer"),t("./platform/CCView"),t("./platform/CCScreen"),t("./CCScheduler"),t("./event-manager")}),{"./CCDirector":28,"./CCScheduler":33,"./event":100,"./event-manager":96,"./load-pipeline":120,"./platform/CCInputExtension":163,"./platform/CCInputManager":164,"./platform/CCMacro":165,"./platform/CCScreen":168,"./platform/CCSys":169,"./platform/CCView":170,"./platform/js":180,"./renderer":207,"./utils":248,"./value-types":263}],186:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n=(function(){function t(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}})(),r=a(t("./assembler")),s=a(t("./utils/dynamic-atlas/manager")),o=a(t("./webgl/render-data"));function a(t){return t&&t.__esModule?t:{default:t}}function c(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function l(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function h(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}var u=(function(t){function e(){return c(this,e),l(this,t.apply(this,arguments))}return h(e,t),e.prototype.init=function(e){t.prototype.init.call(this,e),this._renderData=new o.default,this._renderData.init(this),this.initLocal(),this.initData()},e.prototype.initData=function(){this._renderData.createQuadData(0,this.verticesFloats,this.indicesCount)},e.prototype.initLocal=function(){this._local=[],this._local.length=4},e.prototype.updateColor=function(t,e){var i=this._renderData.uintVDatas[0];if(i){e=e||t.node.color._val;for(var n=this.floatsPerVert,r=this.colorOffset,s=i.length;r<s;r+=n)i[r]=e}},e.prototype.getBuffer=function(){return cc.renderer._handle._meshBuffer},e.prototype.updateWorldVerts=function(t){var e=this._local,i=this._renderData.vDatas[0],n=t.node._worldMatrix.m,r=n[0],s=n[1],o=n[4],a=n[5],c=n[12],l=n[13],h=e[0],u=e[2],_=e[1],f=e[3];if(1===r&&0===s&&0===o&&1===a)i[0]=h+c,i[1]=_+l,i[5]=u+c,i[6]=_+l,i[10]=h+c,i[11]=f+l,i[15]=u+c,i[16]=f+l;else{var d=r*h,p=r*u,m=s*h,y=s*u,v=o*_,g=o*f,x=a*_,C=a*f;i[0]=d+v+c,i[1]=m+x+l,i[5]=p+v+c,i[6]=y+x+l,i[10]=d+g+c,i[11]=m+C+l,i[15]=p+g+c,i[16]=y+C+l}},e.prototype.fillBuffers=function(t,e){e.worldMatDirty&&this.updateWorldVerts(t);var i=this._renderData,n=i.vDatas[0],r=i.iDatas[0],s=this.getBuffer(e),o=s.request(this.verticesCount,this.indicesCount),a=o.byteOffset>>2,c=s._vData;n.length+a>c.length?c.set(n.subarray(0,c.length-a),a):c.set(n,a);for(var l=s._iData,h=o.indiceOffset,u=o.vertexOffset,_=0,f=r.length;_<f;_++)l[h++]=u+r[_]},e.prototype.packToDynamicAtlas=function(t,e){if(e){if(!e._original&&s.default&&e._texture.packable){var i=s.default.insertSpriteFrame(e);i&&e._setDynamicAtlasFrame(i)}var n=t.sharedMaterials[0];if(!n)return;n.getProperty("texture")!==e._texture&&(t._vertsDirty=!0,t._activateMaterial(!0))}},n(e,[{key:"verticesFloats",get:function(){return this.verticesCount*this.floatsPerVert}}]),e})(r.default);i.default=u,cc.js.addon(u.prototype,{floatsPerVert:5,verticesCount:4,indicesCount:6,uvOffset:2,colorOffset:4}),cc.Assembler2D=u,e.exports=i.default}),{"./assembler":187,"./utils/dynamic-atlas/manager":210,"./webgl/render-data":237}],187:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n=t("./webgl/vertex-format");function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}var s=(function(){function t(){r(this,t)}return t.prototype.init=function(t){this._renderComp=t},t.prototype.updateRenderData=function(t){},t.prototype.fillBuffers=function(t,e){},t.prototype.getVfmt=function(){return n.vfmtPosUvColor},t})();i.default=s,s.register=function(t,e){t.__assembler__=e},s.init=function(t){for(var e=t.constructor,i=e.__assembler__;!i;){if(!(e=e.$super))return void cc.warn("Can not find assembler for render component : ["+cc.js.getClassName(t)+"]");i=e.__assembler__}i.getConstructor&&(i=i.getConstructor(t)),t._assembler&&t._assembler.constructor===i||(t._assembler=new i,t._assembler.init(t))},cc.Assembler=s,e.exports=i.default}),{"./webgl/vertex-format":239}],188:[(function(t,e,i){"use strict";var n=function(t){var e;try{e=t.getContext("2d")}catch(t){return void console.error(t)}this._canvas=t,this._ctx=e,this._caps={},this._stats={drawcalls:0},this._vx=this._vy=this._vw=this._vh=0,this._sx=this._sy=this._sw=this._sh=0};n.prototype._restoreTexture=function(t){},n.prototype.setViewport=function(t,e,i,n){this._vx===t&&this._vy===e&&this._vw===i&&this._vh===n||(this._vx=t,this._vy=e,this._vw=i,this._vh=n)},n.prototype.setScissor=function(t,e,i,n){this._sx===t&&this._sy===e&&this._sw===i&&this._sh===n||(this._sx=t,this._sy=e,this._sw=i,this._sh=n)},n.prototype.clear=function(t){var e=this._ctx;e.clearRect(this._vx,this._vy,this._vw,this._vh),!t||0===t[0]&&0===t[1]&&0===t[2]||(e.fillStyle="rgb("+t[0]+","+t[1]+","+t[2]+")",e.globalAlpha=t[3],e.fillRect(this._vx,this._vy,this._vw,this._vh))},n.prototype.resetDrawCalls=function(){this._stats.drawcalls=0},n.prototype.getDrawCalls=function(){return this._stats.drawcalls},e.exports=n}),{}],189:[(function(t,e,i){"use strict";var n=function(t,e){this._device=t,this._width=4,this._height=4,this._image=null,e&&(void 0!==e.width&&(this._width=e.width),void 0!==e.height&&(this._height=e.height),this.updateImage(e))};n.prototype.update=function(t){this.updateImage(t)},n.prototype.updateImage=function(t){if(t.images&&t.images[0]){var e=t.images[0];e&&e!==this._image&&(this._image=e)}},n.prototype.destroy=function(){this._image=null},e.exports=n}),{}],190:[(function(t,e,i){"use strict";var n=function(){};n.prototype={constructor:n,clear:function(){},render:function(){}},e.exports=n}),{}],191:[(function(t,e,i){"use strict";i.__esModule=!0,t("./render-flow"),t("./renderers");var n=s(t("./forward-renderer")),r=s(t("./render-component-handle"));function s(t){return t&&t.__esModule?t:{default:t}}i.default={ForwardRenderer:n.default,RenderComponentHandle:r.default},e.exports=i.default}),{"./forward-renderer":190,"./render-component-handle":192,"./render-flow":193,"./renderers":196}],192:[(function(t,e,i){"use strict";var n=t("./renderers/utils"),r=function(t,e){this._device=t,this._camera=e,this.parentOpacity=1,this.parentOpacityDirty=0,this.worldMatDirty=0,this.walking=!1};r.prototype={constructor:r,reset:function(){var t=this._device._ctx,e=this._device._canvas,i=cc.Camera.main?cc.Camera.main.backgroundColor:cc.color(),r="rgba("+i.r+", "+i.g+", "+i.b+", "+i.a/255+")";t.fillStyle=r,t.setTransform(1,0,0,1,0,0),t.clearRect(0,0,e.width,e.height),t.fillRect(0,0,e.width,e.height),this._device._stats.drawcalls=0,n.context.reset()},terminate:function(){}},e.exports=r}),{"./renderers/utils":206}],193:[(function(t,e,i){"use strict";var n=(function(t){return t&&t.__esModule?t:{default:t}})(t("../render-flow"));n.default.prototype._draw=function(t,e){var i=n.default.getBachther(),r=i._device._ctx,s=i._camera;r.setTransform(s.a,s.b,s.c,s.d,s.tx,s.ty),r.scale(1,-1);var o=t._renderComponent;o._assembler[e](r,o),this._next._func(t)},n.default.prototype._render=function(t){this._draw(t,"draw")},n.default.prototype._postRender=function(t){this._draw(t,"postDraw")}}),{"../render-flow":208}],194:[(function(t,e,i){"use strict";var n=t("../../../../graphics/helper"),r=t("../../../../graphics/types"),s=t("../../../../platform/js"),o=r.LineJoin,a=r.LineCap;function c(){this.cmds=[],this.style={strokeStyle:"black",fillStyle:"white",lineCap:"butt",lineJoin:"miter",miterLimit:10}}var l=c.prototype;s.mixin(l,{moveTo:function(t,e){this.cmds.push(["moveTo",[t,e]])},lineTo:function(t,e){this.cmds.push(["lineTo",[t,e]])},bezierCurveTo:function(t,e,i,n,r,s){this.cmds.push(["bezierCurveTo",[t,e,i,n,r,s]])},quadraticCurveTo:function(t,e,i,n){this.cmds.push(["quadraticCurveTo",[t,e,i,n]])},arc:function(t,e,i,r,s,o){n.arc(this,t,e,i,r,s,o)},ellipse:function(t,e,i,r){n.ellipse(this,t,e,i,r)},circle:function(t,e,i){n.ellipse(this,t,e,i,i)},rect:function(t,e,i,n){this.moveTo(t,e),this.lineTo(t,e+n),this.lineTo(t+i,e+n),this.lineTo(t+i,e),this.close()},roundRect:function(t,e,i,r,s){n.roundRect(this,t,e,i,r,s)},clear:function(t,e){this.cmds.length=0},close:function(){this.cmds.push(["closePath",[]])},stroke:function(){this.cmds.push(["stroke",[]])},fill:function(){this.cmds.push(["fill",[]])}}),s.set(l,"strokeColor",(function(t){var e="rgba("+(0|t.r)+","+(0|t.g)+","+(0|t.b)+","+t.a/255+")";this.cmds.push(["strokeStyle",e]),this.style.strokeStyle=e})),s.set(l,"fillColor",(function(t){var e="rgba("+(0|t.r)+","+(0|t.g)+","+(0|t.b)+","+t.a/255+")";this.cmds.push(["fillStyle",e]),this.style.fillStyle=e})),s.set(l,"lineWidth",(function(t){this.cmds.push(["lineWidth",t]),this.style.lineWidth=t})),s.set(l,"lineCap",(function(t){var e="butt";t===a.BUTT?e="butt":t===a.ROUND?e="round":t===a.SQUARE&&(e="square"),this.cmds.push(["lineCap",e]),this.style.lineCap=e})),s.set(l,"lineJoin",(function(t){var e="bevel";t===o.BEVEL?e="bevel":t===o.ROUND?e="round":t===o.MITER&&(e="miter"),this.cmds.push(["lineJoin",e]),this.style.lineJoin=e})),s.set(l,"miterLimit",(function(t){this.cmds.push(["miterLimit",t]),this.style.miterLimit=t})),cc.Graphics._Impl=c,e.exports=c}),{"../../../../graphics/helper":108,"../../../../graphics/types":110,"../../../../platform/js":180}],195:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n=s(t("../../../assembler")),r=(s(t("./impl")),s(t("../../../../graphics/graphics")));function s(t){return t&&t.__esModule?t:{default:t}}function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}var a=(function(){function t(){o(this,t)}return t.prototype.init=function(){},t.prototype.draw=function(t,e){var i=e.node,n=i._worldMatrix.m,r=n[0],s=n[1],o=n[4],a=n[5],c=n[12],l=n[13];t.transform(r,s,o,a,c,l),t.save(),t.globalAlpha=i.opacity/255;var h=e._impl.style;t.strokeStyle=h.strokeStyle,t.fillStyle=h.fillStyle,t.lineWidth=h.lineWidth,t.lineJoin=h.lineJoin,t.miterLimit=h.miterLimit;for(var u=!0,_=e._impl.cmds,f=0,d=_.length;f<d;f++){var p=_[f],m=p[0],y=p[1];"moveTo"===m&&u?(t.beginPath(),u=!1):"fill"!==m&&"stroke"!==m&&"fillRect"!==m||(u=!0),"function"==typeof t[m]?t[m].apply(t,y):t[m]=y}return t.restore(),1},t.prototype.stroke=function(t){t._impl.stroke()},t.prototype.fill=function(t){t._impl.fill()},t.prototype.clear=function(){},t})();i.default=a,n.default.register(r.default,a),e.exports=i.default}),{"../../../../graphics/graphics":107,"../../../assembler":187,"./impl":194}],196:[(function(t,e,i){"use strict";t("../../../components/CCSprite"),t("../../../components/CCLabel"),t("../../../components/CCMask"),t("../../../graphics/graphics"),t("./sprite"),t("./label"),t("./graphics"),t("./mask")}),{"../../../components/CCLabel":73,"../../../components/CCMask":75,"../../../components/CCSprite":84,"../../../graphics/graphics":107,"./graphics":195,"./label":198,"./mask":200,"./sprite":202}],197:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n=o(t("../../../utils/label/bmfont")),r=o(t("../render-data")),s=o(t("../utils"));function o(t){return t&&t.__esModule?t:{default:t}}function a(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function c(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function l(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}var h=(function(t){function e(){return a(this,e),c(this,t.apply(this,arguments))}return l(e,t),e.prototype.init=function(){this._renderData=new r.default},e.prototype.updateColor=function(){},e.prototype.appendQuad=function(t,e,i,n,r,s,o){var a=this._renderData,c=a.dataLength;a.dataLength+=2;var l=a.vertices,h=i.width,u=i.height,_=void 0,f=void 0,d=void 0,p=void 0;n?(_=i.x,d=i.x+u,f=i.y,p=i.y+h,l[c].u=_,l[c].v=p,l[c+1].u=_,l[c+1].v=f):(_=i.x,d=i.x+h,f=i.y,p=i.y+u,l[c].u=_,l[c].v=f,l[c+1].u=d,l[c+1].v=p),l[c].x=r,l[c].y=s-u*o,l[c+1].x=r+h*o,l[c+1].y=s},e.prototype.draw=function(t,e){var i=e.node,n=i._worldMatrix.m,r=n[0],o=n[1],a=n[4],c=n[5],l=n[12],h=n[13];t.transform(r,o,a,c,l,h),t.scale(1,-1),s.default.context.setGlobalAlpha(t,i.opacity/255);for(var u=e._frame._texture,_=this._renderData.vertices,f=s.default.getColorizedImage(u,i._color),d=0,p=_.length;d<p;d+=2){var m=_[d].x,y=_[d].y,v=_[d+1].x-m,g=_[d+1].y-y;y=-y-g;var x=_[d].u,C=_[d].v,A=_[d+1].u-x,b=_[d+1].v-C;t.drawImage(f,x,C,A,b,m,y,v,g)}return 1},e})(n.default);i.default=h,e.exports=i.default}),{"../../../utils/label/bmfont":211,"../render-data":201,"../utils":206}],198:[(function(t,e,i){"use strict";var n=a(t("../../../assembler")),r=a(t("../../../../components/CCLabel")),s=a(t("./ttf")),o=a(t("./bmfont"));function a(t){return t&&t.__esModule?t:{default:t}}var c={pool:[],get:function(){var t=this.pool.pop();if(!t){var e=document.createElement("canvas");t={canvas:e,context:e.getContext("2d")}}return t},put:function(t){this.pool.length>=32||this.pool.push(t)}};r.default._canvasPool=c,n.default.register(r.default,{getConstructor:function(t){var e=s.default;return t.font instanceof cc.BitmapFont?e=o.default:t.cacheMode===r.default.CacheMode.CHAR&&cc.warn("sorry, canvas mode does not support CHAR mode currently!"),e},TTF:s.default,Bmfont:o.default})}),{"../../../../components/CCLabel":73,"../../../assembler":187,"./bmfont":197,"./ttf":199}],199:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n=o(t("../../../utils/label/ttf")),r=o(t("../render-data")),s=o(t("../utils"));function o(t){return t&&t.__esModule?t:{default:t}}function a(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function c(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function l(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}var h=(function(t){function e(){return a(this,e),c(this,t.apply(this,arguments))}return l(e,t),e.prototype.init=function(){this._renderData=new r.default,this._renderData.dataLength=2},e.prototype.updateColor=function(){},e.prototype.updateVerts=function(t){var e=this._renderData,i=t.node,n=i.width,r=i.height,s=i.anchorX*n,o=i.anchorY*r,a=e.vertices;a[0].x=-s,a[0].y=-o,a[1].x=n-s,a[1].y=r-o},e.prototype._updateTexture=function(t){n.default.prototype._updateTexture.call(this,t);var e=t._frame._texture;s.default.dropColorizedImage(e,t.node.color)},e.prototype.draw=function(t,e){var i=e.node,n=i._worldMatrix.m,r=n[0],o=n[1],a=n[4],c=n[5],l=n[12],h=n[13];t.transform(r,o,a,c,l,h),t.scale(1,-1),s.default.context.setGlobalAlpha(t,i.opacity/255);var u=e._frame._texture,_=this._renderData.vertices,f=u.getHtmlElementObj(),d=_[0].x,p=_[0].y,m=_[1].x-d,y=_[1].y-p;return p=-p-y,t.drawImage(f,d,p,m,y),1},e})(n.default);i.default=h,e.exports=i.default}),{"../../../utils/label/ttf":214,"../render-data":201,"../utils":206}],200:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n=(function(t){return t&&t.__esModule?t:{default:t}})(t("../../assembler"));function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function o(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}var a=t("../../../components/CCMask"),c=(t("./graphics"),(function(t){function e(){return r(this,e),s(this,t.apply(this,arguments))}return o(e,t),e.prototype.draw=function(t,e){t.save(),e._graphics._assembler.draw(t,e._graphics),t.clip()},e.prototype.postDraw=function(t,e){t.restore()},e})(n.default));i.default=c,n.default.register(a,c),e.exports=i.default}),{"../../../components/CCMask":75,"../../assembler":187,"./graphics":195}],201:[(function(t,e,i){"use strict";i.__esModule=!0;var n=(function(){function t(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}})();function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}var s=(function(){function t(){r(this,t),this.vertices=[]}return n(t,[{key:"dataLength",get:function(){return this.vertices.length},set:function(t){for(var e=this.vertices.length;e<t;e++)this.vertices[e]={x:0,y:0,u:0,v:0}}}]),t})();i.default=s,e.exports=i.default}),{}],202:[(function(t,e,i){"use strict";var n=c(t("../../../assembler")),r=t("../../../../components/CCSprite"),s=c(t("./simple")),o=c(t("./sliced")),a=c(t("./tiled"));function c(t){return t&&t.__esModule?t:{default:t}}var l={getConstructor:function(t){var e=s.default;switch(t.type){case r.Type.SLICED:e=o.default;break;case r.Type.TILED:e=a.default}return e},Simple:s.default,Sliced:o.default,Tiled:a.default};n.default.register(cc.Sprite,l)}),{"../../../../components/CCSprite":84,"../../../assembler":187,"./simple":203,"./sliced":204,"./tiled":205}],203:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n=s(t("../../../assembler")),r=s(t("../render-data"));function s(t){return t&&t.__esModule?t:{default:t}}function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function a(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function c(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}var l=t("../utils"),h=(function(t){function e(){return o(this,e),a(this,t.apply(this,arguments))}return c(e,t),e.prototype.init=function(){this._renderData=new r.default,this._renderData.dataLength=2},e.prototype.updateRenderData=function(t){t._vertsDirty&&(this.updateUVs(t),this.updateVerts(t),t._vertsDirty=!1)},e.prototype.updateUVs=function(t){var e=t.spriteFrame,i=this._renderData.vertices,n=e._rect;if(e._rotated){var r=n.x,s=n.width,o=n.y,a=n.height;i[0].u=r,i[0].v=o,i[1].u=a,i[1].v=s}else{var c=n.x,l=n.width,h=n.y,u=n.height;i[0].u=c,i[0].v=h,i[1].u=l,i[1].v=u}},e.prototype.updateVerts=function(t){var e=this._renderData,i=t.node,n=e.vertices,r=t.spriteFrame,s=i.width,o=i.height,a=i.anchorX*s,c=i.anchorY*o,l=void 0,h=void 0,u=void 0,_=void 0;if(t.trim)l=-a,h=-c,u=s,_=o;else{var f=r._originalSize.width,d=r._originalSize.height,p=r._rect.width,m=r._rect.height,y=r._offset,v=s/f,g=o/d;l=(y.x+(f-p)/2)*v-a,h=(y.y+(d-m)/2)*g-c,u=s,_=o}r._rotated?(n[0].y=l,n[0].x=h,n[1].y=u,n[1].x=_):(n[0].x=l,n[0].y=h,n[1].x=u,n[1].y=_),e.vertDirty=!1},e.prototype.draw=function(t,e){var i=e.node,n=e._spriteFrame,r=i._worldMatrix.m,s=r[0],o=r[1],a=r[4],c=r[5],h=r[12],u=r[13];t.transform(s,o,a,c,h,u),t.scale(1,-1),n._rotated&&t.rotate(-Math.PI/2),l.context.setGlobalAlpha(t,i.opacity/255);var _=n._texture,f=this._renderData.vertices,d=l.getColorizedImage(_,i._color),p=f[0].x,m=f[0].y,y=f[1].x,v=f[1].y;m=-m-v;var g=f[0].u,x=f[0].v,C=f[1].u,A=f[1].v;return t.drawImage(d,g,x,C,A,p,m,y,v),1},e})(n.default);i.default=h,e.exports=i.default}),{"../../../assembler":187,"../render-data":201,"../utils":206}],204:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;s(t("../../../assembler"));var n=s(t("../render-data")),r=s(t("./simple"));function s(t){return t&&t.__esModule?t:{default:t}}function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function a(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function c(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}var l=t("../utils"),h=(function(t){function e(){return o(this,e),a(this,t.apply(this,arguments))}return c(e,t),e.prototype.init=function(){this._renderData=new n.default,this._renderData.dataLength=4},e.prototype.updateUVs=function(t){var e=t.spriteFrame,i=this._renderData,n=e._rect,r=e.insetLeft,s=e.insetRight,o=n.width-r-s,a=e.insetTop,c=e.insetBottom,l=n.height-a-c,h=i.vertices;e._rotated?(h[0].u=n.x,h[1].u=c+n.x,h[2].u=c+l+n.x,h[3].u=n.x+n.height,h[3].v=n.y,h[2].v=r+n.y,h[1].v=r+o+n.y,h[0].v=n.y+n.width):(h[0].u=n.x,h[1].u=r+n.x,h[2].u=r+o+n.x,h[3].u=n.x+n.width,h[3].v=n.y,h[2].v=a+n.y,h[1].v=a+l+n.y,h[0].v=n.y+n.height)},e.prototype.updateVerts=function(t){var e=this._renderData.vertices,i=t.node,n=i.width,r=i.height,s=i.anchorX*n,o=i.anchorY*r,a=t.spriteFrame,c=a.insetLeft,l=a.insetRight,h=a.insetTop,u=a.insetBottom,_=n-c-l,f=r-h-u,d=n/(c+l),p=r/(h+u);d=isNaN(d)||d>1?1:d,p=isNaN(p)||p>1?1:p,_=_<0?0:_,f=f<0?0:f,a._rotated?(e[0].y=-s,e[0].x=-o,e[1].y=l*d-s,e[1].x=u*p-o,e[2].y=e[1].y+_,e[2].x=e[1].x+f,e[3].y=n-s,e[3].x=r-o):(e[0].x=-s,e[0].y=-o,e[1].x=c*d-s,e[1].y=u*p-o,e[2].x=e[1].x+_,e[2].y=e[1].y+f,e[3].x=n-s,e[3].y=r-o),t._vertsDirty=!1},e.prototype.draw=function(t,e){var i=e.node,n=e._spriteFrame,r=i._worldMatrix.m,s=r[0],o=r[1],a=r[4],c=r[5],h=r[12],u=r[13];t.transform(s,o,a,c,h,u),t.scale(1,-1),n._rotated&&t.rotate(-Math.PI/2),l.context.setGlobalAlpha(t,i.opacity/255);for(var _=n._texture,f=this._renderData.vertices,d=l.getColorizedImage(_,i._color),p=0,m=void 0,y=void 0,v=void 0,g=void 0,x=void 0,C=void 0,A=void 0,b=void 0,S=void 0,T=void 0,w=void 0,E=void 0,B=0;B<3;++B){g=f[B],v=f[B+1];for(var M=0;M<3;++M)m=f[M],y=f[M+1],x=m.x,C=g.y,A=y.x-x,C=-C-(b=v.y-C),S=m.u,T=v.v,w=y.u-S,E=g.v-T,w>0&&E>0&&A>0&&b>0&&(t.drawImage(d,S,T,w,E,x,C,A,b),p++)}return p},e})(r.default);i.default=h,e.exports=i.default}),{"../../../assembler":187,"../render-data":201,"../utils":206,"./simple":203}],205:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n=(function(t){return t&&t.__esModule?t:{default:t}})(t("../../../assembler"));function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function o(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}var a=t("../utils"),c=(function(t){function e(){return r(this,e),s(this,t.apply(this,arguments))}return o(e,t),e.prototype.draw=function(t,e){var i=e.node,n=i._worldMatrix.m,r=n[0],s=n[1],o=n[4],c=n[5],l=n[12],h=n[13];t.transform(r,s,o,c,l,h),t.scale(1,-1),a.context.setGlobalAlpha(t,i.opacity/255);var u=e.spriteFrame,_=u._rect,f=u._texture,d=_.x,p=_.y,m=u._rotated?_.height:_.width,y=u._rotated?_.width:_.height,v=a.getFrameCache(f,i._color,d,p,m,y),g=i.width,x=i.height,C=-i.anchorX*g,A=-i.anchorY*x;return A=-A-x,t.translate(C,A),t.fillStyle=t.createPattern(v,"repeat"),t.fillRect(0,0,g,x),1},e})(n.default);i.default=c,e.exports=i.default}),{"../../../assembler":187,"../utils":206}],206:[(function(t,e,i){"use strict";function n(t,e,i,n,r,s,o){var a=e._image,c=t.getContext("2d");return t.width=s,t.height=o,c.globalCompositeOperation="source-over",c.fillStyle="rgb("+i.r+","+i.g+","+i.b+")",c.fillRect(0,0,s,o),c.globalCompositeOperation="multiply",c.drawImage(a,n,r,s,o,0,0,s,o),c.globalCompositeOperation="destination-atop",c.drawImage(a,n,r,s,o,0,0,s,o),t}var r={canvasMap:{},canvasUsed:{},canvasPool:[],checking:!1,check:function(){var t=!1;for(var e in this.canvasUsed)if(t=!0,this.canvasUsed[e])this.canvasUsed[e]=!1;else{var i=this.canvasMap[e];i.width=0,i.height=0,this.canvasPool.length<32&&this.canvasPool.push(i),delete this.canvasMap[e],delete this.canvasUsed[e]}t||(cc.director.off(cc.Director.EVENT_AFTER_DRAW,this.check,this),this.checking=!1)},startCheck:function(){cc.director.on(cc.Director.EVENT_AFTER_DRAW,this.check,this),this.checking=!0},getCanvas:function(t){return this.canvasUsed[t]=!0,this.canvasMap[t]},cacheCanvas:function(t,e){this.canvasMap[e]=t,this.canvasUsed[e]=!0,this.checking||this.startCheck()},dropImage:function(t){this.canvasMap[t]&&delete this.canvasMap[t]}};e.exports={getColorizedImage:function(t,e){if(!t)return null;if(0===t.width||0===t.height)return t._image;var i=16777215&e._val;if(16777215===i)return t._image;var s=t.url+i,o=r.getCanvas(s);return o||(n(o=r.canvasPool.pop()||document.createElement("canvas"),t,e,0,0,t.width,t.height),r.cacheCanvas(o,s)),o},getFrameCache:function(t,e,i,s,o,a){if(!t||!t.url||i<0||s<0||o<=0||a<=0)return null;var c=t.url,l=!1,h=16777215&e._val;if(16777215!==h&&(c+=h,l=!0),(0!==i||0!==s&&o!==t.width&&a!==t.height)&&(c+="_"+i+"_"+s+"_"+o+"_"+a,l=!0),!l)return t._image;var u=r.getCanvas(c);return u||(n(u=r.canvasPool.pop()||document.createElement("canvas"),t,e,i,s,o,a),r.cacheCanvas(u,c)),u},dropColorizedImage:function(t,e){var i=t.url+(16777215&e._val);r.dropImage(i)}};var s=-1,o={setGlobalAlpha:function(t,e){s!==e&&(s=e,t.globalAlpha=s)},reset:function(){s=-1}};e.exports.context=o}),{}],207:[(function(t,e,i){"use strict";var n=a(t("../../renderer/config")),r=a(t("../../renderer/gfx")),s=a(t("../../renderer/core/input-assembler")),o=a(t("../../renderer/core/pass"));function a(t){return t&&t.__esModule?t:{default:t}}function c(t){return{defaultTexture:new r.default.Texture2D(t,{images:[],width:128,height:128,wrapS:r.default.WRAP_REPEAT,wrapT:r.default.WRAP_REPEAT,format:r.default.TEXTURE_FMT_RGB8,mipmap:!1}),programTemplates:[],programChunks:{}}}cc.renderer=e.exports={Texture2D:null,InputAssembler:s.default,Pass:o.default,renderEngine:null,canvas:null,device:null,scene:null,drawCalls:0,_handle:null,_cameraNode:null,_camera:null,_forward:null,_flow:null,initWebGL:function(e,i){t("./webgl/assemblers");var s=t("./webgl/model-batcher");this.Texture2D=r.default.Texture2D,this.canvas=e,this._flow=cc.RenderFlow;var o=t("../../renderer/scene/scene"),a=t("../../renderer/renderers/forward-renderer");this.device=new r.default.Device(e,i),this.scene=new o;var l=c(this.device);this._forward=new a(this.device,l),this._handle=new s(this.device,this.scene),this._flow.init(this._handle,this._forward),n.default.addStage("shadowcast"),n.default.addStage("opaque"),n.default.addStage("transparent")},initCanvas:function(e){var i=t("./canvas"),n=t("./canvas/Texture2D"),r=t("./canvas/Device");this.Device=r,this.Texture2D=n,this.canvas=e,this.device=new r(e),this._camera={a:1,b:0,c:0,d:1,tx:0,ty:0},this._handle=new i.RenderComponentHandle(this.device,this._camera),this._forward=new i.ForwardRenderer,this._flow=cc.RenderFlow,this._flow.init(this._handle,this._forward)},updateCameraViewport:function(){if(cc.director){var t=cc.director.getScene();t&&t.setScale(1,1,1)}if(cc.game.renderType===cc.game.RENDER_TYPE_CANVAS){var e=cc.view.getViewportRect();this.device.setViewport(e.x,e.y,e.width,e.height),this._camera.a=cc.view.getScaleX(),this._camera.d=cc.view.getScaleY(),this._camera.tx=e.x,this._camera.ty=e.y+e.height}},render:function(t,e){this.device.resetDrawCalls(),t&&(this._flow.render(t,e),this.drawCalls=this.device.getDrawCalls())},clear:function(){this._handle.reset(),this._forward.clear()}}}),{"../../renderer/config":295,"../../renderer/core/input-assembler":298,"../../renderer/core/pass":299,"../../renderer/gfx":308,"../../renderer/renderers/forward-renderer":327,"../../renderer/scene/scene":330,"./canvas":191,"./canvas/Device":188,"./canvas/Texture2D":189,"./webgl/assemblers":219,"./webgl/model-batcher":235}],208:[(function(t,e,i){"use strict";var n=0,r=1<<n++,s=1<<n++,o=1<<n++,a=1<<n++,c=o|a,l=1<<n++,h=1<<n++,u=1<<n++,_=h|u,f=1<<n++,d=1<<n++,p=1<<n++,m=1<<n++,y=void 0,v=void 0,g=0;function x(){this._func=w,this._next=null}var C=x.prototype;C._doNothing=function(){},C._localTransform=function(t){t._updateLocalMatrix(),t._renderFlag&=~o,this._next._func(t)},C._worldTransform=function(t){y.worldMatDirty++;var e=t._matrix,i=t._trs,n=e.m;n[12]=i[0],n[13]=i[1],n[14]=i[2],t._mulMat(t._worldMatrix,t._parent._worldMatrix,e),t._renderFlag&=~a,this._next._func(t),y.worldMatDirty--},C._opacity=function(t){y.parentOpacityDirty++,t._renderFlag&=~h,this._next._func(t),y.parentOpacityDirty--},C._color=function(t){var e=t._renderComponent;e&&e._updateColor(),t._renderFlag&=~u,this._next._func(t)},C._updateRenderData=function(t){var e=t._renderComponent;e._assembler.updateRenderData(e),t._renderFlag&=~l,this._next._func(t)},C._render=function(t){var e=t._renderComponent;e._checkBacth(y,t._cullingMask),e._assembler.fillBuffers(e,y),this._next._func(t)},C._children=function(t){for(var e=g,i=y,n=i.parentOpacity,r=i.parentOpacity*=t._opacity/255,s=(i.worldMatDirty?a:0)|(i.parentOpacityDirty?_:0),o=t._children,c=0,l=o.length;c<l;c++){var h=o[c];if(h._renderFlag|=s,h._activeInHierarchy&&0!==h._opacity){g=h._cullingMask=0===h.groupIndex?e:1<<h.groupIndex;var u=h._color._val;h._color._fastSetA(h._opacity*r),b[h._renderFlag]._func(h),h._color._val=u}}i.parentOpacity=n,this._next._func(t)},C._postRender=function(t){var e=t._renderComponent;e._checkBacth(y,t._cullingMask),e._assembler.postFillBuffers(e,y),this._next._func(t)};var A=new x;A._func=A._doNothing,A._next=A;var b={};function S(t,e){var i=new x;switch(i._next=e||A,t){case r:case s:i._func=i._doNothing;break;case o:i._func=i._localTransform;break;case a:i._func=i._worldTransform;break;case h:i._func=i._opacity;break;case u:i._func=i._color;break;case l:i._func=i._updateRenderData;break;case f:i._func=i._render;break;case d:i._func=i._children;break;case p:i._func=i._postRender}return i}function T(t){for(var e=null,i=m;i>0;)i&t&&(e=S(i,e)),i>>=1;return e}function w(t){var e=t._renderFlag;(b[e]=T(e))._func(t)}x.flows=b,x.createFlow=S,x.visitRootNode=function(t){g=1<<t.groupIndex,t._renderFlag&a?(y.worldMatDirty++,t._calculWorldMatrix(),t._renderFlag&=~a,b[t._renderFlag]._func(t),y.worldMatDirty--):b[t._renderFlag]._func(t)},x.render=function(t,e){y.reset(),y.walking=!0,x.visitRootNode(t),y.terminate(),y.walking=!1,v.render(y._renderScene,e)},x.init=function(t,e){y=t,v=e,b[0]=A;for(var i=1;i<m;i++)b[i]=new x},x.getBachther=function(){return y},x.FLAG_DONOTHING=r,x.FLAG_BREAK_FLOW=s,x.FLAG_LOCAL_TRANSFORM=o,x.FLAG_WORLD_TRANSFORM=a,x.FLAG_TRANSFORM=c,x.FLAG_OPACITY=h,x.FLAG_COLOR=u,x.FLAG_OPACITY_COLOR=_,x.FLAG_UPDATE_RENDER_DATA=l,x.FLAG_RENDER=f,x.FLAG_CHILDREN=d,x.FLAG_POST_RENDER=p,x.FLAG_FINAL=m,e.exports=cc.RenderFlow=x}),{}],209:[(function(t,e,i){"use strict";var n=t("../../../assets/CCRenderTexture"),r=2;function s(t,e){var i=new n;i.initWithSize(t,e),i.update(),this._texture=i,this._x=r,this._y=r,this._nexty=r,this._width=t,this._height=e,this._innerTextureInfos={},this._innerSpriteFrames=[]}s.DEFAULT_HASH=(new n)._getHash(),cc.js.mixin(s.prototype,{insertSpriteFrame:function(t){var e=t._rect,i=t._texture,n=this._innerTextureInfos[i._id],s=e.x,o=e.y;if(n)s+=n.x,o+=n.y;else{var a=i.width,c=i.height;if(this._x+a+r>this._width&&(this._x=r,this._y=this._nexty),this._y+c+r>this._nexty&&(this._nexty=this._y+c+r),this._nexty>this._height)return null;cc.dynamicAtlasManager.textureBleeding&&(this._texture.drawTextureAt(i,this._x-1,this._y),this._texture.drawTextureAt(i,this._x+1,this._y),this._texture.drawTextureAt(i,this._x,this._y-1),this._texture.drawTextureAt(i,this._x,this._y+1)),this._texture.drawTextureAt(i,this._x,this._y),this._innerTextureInfos[i._id]={x:this._x,y:this._y,texture:i},s+=this._x,o+=this._y,this._x+=a+r,this._dirty=!0}var l={x:s,y:o,texture:this._texture};return this._innerSpriteFrames.push(t),l},update:function(){this._dirty&&(this._texture.update(),this._dirty=!1)},deleteInnerTexture:function(t){t&&delete this._innerTextureInfos[t._id]},reset:function(){this._x=r,this._y=r,this._nexty=r;for(var t=this._innerSpriteFrames,e=0,i=t.length;e<i;e++){var n=t[e];n.isValid&&n._resetDynamicAtlasFrame()}this._innerSpriteFrames.length=0,this._innerTextureInfos={}},destroy:function(){this.reset(),this._texture.destroy()}}),e.exports=s}),{"../../../assets/CCRenderTexture":44}],210:[(function(t,e,i){"use strict";var n=t("./atlas"),r=[],s=-1,o=5,a=2048,c=8,l=512,h=!0;function u(){var t=r[++s];return t||(t=new n(a,a),r.push(t)),t}function _(){d.reset()}var f=!1,d={Atlas:n,get enabled(){return f},set enabled(t){f!==t&&(t?(this.reset(),cc.director.on(cc.Director.EVENT_BEFORE_SCENE_LAUNCH,_)):cc.director.off(cc.Director.EVENT_BEFORE_SCENE_LAUNCH,_),f=t)},get maxAtlasCount(){return o},set maxAtlasCount(t){o=t},get textureBleeding(){return h},set textureBleeding(t){h=t},get textureSize(){return a},set textureSize(t){a=t},get maxFrameSize(){return l},set maxFrameSize(t){l=t},get minFrameSize(){return c},set minFrameSize(t){c=t},insertSpriteFrame:function(t){if(!f||s===o||!t||t._original)return null;if(!t._texture.packable)return null;var e=r[s];e||(e=u());var i=e.insertSpriteFrame(t);return i||s===o?i:(e=u()).insertSpriteFrame(t)},reset:function(){for(var t=0,e=r.length;t<e;t++)r[t].destroy();r.length=0,s=-1},deleteAtlasTexture:function(t){if(t._original){var e=t._original._texture;if(e)for(var i=0,n=r.length;i<n;i++)r[i].deleteInnerTexture(e)}},showDebug:!1,update:function(){if(this.enabled)for(var t=0;t<=s;t++)r[t].update()}};e.exports=cc.dynamicAtlasManager=d}),{"./atlas":209}],211:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n=(function(t){return t&&t.__esModule?t:{default:t}})(t("../../assembler-2d"));function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function o(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}var a=t("../../../utils/text-utils"),c=t("../../../platform/CCMacro"),l=t("../../../components/CCLabel").Overflow,h=t("../utils").shareLabelInfo,u=function(){this.char="",this.valid=!0,this.x=0,this.y=0,this.line=0,this.hash=""},_=cc.rect(),f=null,d=[],p=[],m=[],y=[],v=null,g=0,x=0,C=0,A=0,b=0,S=1,T=null,w=cc.size(),E="",B=0,M=0,I=0,R=0,P=0,D=0,L=0,O=!1,V=0,F=0,N=0,G=(function(t){function e(){return r(this,e),s(this,t.apply(this,arguments))}return o(e,t),e.prototype.updateRenderData=function(t){t._vertsDirty&&f!==t&&(f=t,this._reserveQuads(t,t.string.toString().length),this._updateFontFamily(t),this._updateProperties(t),this._updateLabelInfo(t),this._updateContent(),this.updateWorldVerts(t),f._actualFontSize=B,f.node.setContentSize(w),f._vertsDirty=!1,f=null,this._resetProperties())},e.prototype._updateFontScale=function(){S=B/M},e.prototype._updateFontFamily=function(t){var e=t.font;T=e.spriteFrame,v=e._fntConfig,h.fontAtlas=e._fontDefDictionary},e.prototype._updateLabelInfo=function(){h.hash="",h.margin=0},e.prototype._updateProperties=function(t){E=t.string.toString(),B=t.fontSize,M=v?v.fontSize:t.fontSize,I=t.horizontalAlign,R=t.verticalAlign,P=t.spacingX,L=t.overflow,D=t._lineHeight,w.width=t.node.width,w.height=t.node.height,L===l.NONE?(O=!1,w.width+=2*h.margin,w.height+=2*h.margin):L===l.RESIZE_HEIGHT?(O=!0,w.height+=2*h.margin):O=t.enableWrapText,h.lineHeight=D,h.fontSize=B,this._setupBMFontOverflowMetrics()},e.prototype._resetProperties=function(){v=null,T=null,h.hash="",h.margin=0},e.prototype._updateContent=function(){this._updateFontScale(),this._computeHorizontalKerningForText(),this._alignText()},e.prototype._computeHorizontalKerningForText=function(){for(var t=E,e=t.length,i=v.kerningDict,n=d,r=-1,s=0;s<e;++s){var o=t.charCodeAt(s),a=i[r<<16|65535&o]||0;n[s]=s<e-1?a:0,r=o}},e.prototype._multilineTextWrap=function(t){for(var e=E.length,i=0,n=0,r=0,s=0,o=0,c=0,l=0,u=null,_=cc.v2(0,0),f=0;f<e;){var p=E.charAt(f);if("\n"!==p){for(var y=t(E,f,e),C=c,T=l,B=o,M=n,I=!1,R=0;R<y;++R){var L=f+R;if("\r"!==(p=E.charAt(L)))if(u=h.fontAtlas.getLetterDefinitionForChar(p,h)){var G=M+u.offsetX*S-h.margin;if(O&&N>0&&n>0&&G+u.w*S>N&&!a.isUnicodeSpace(p)){m.push(o),o=0,i++,n=0,r-=D*S+0,I=!0;break}_.x=G,_.y=r-u.offsetY*S+h.margin,this._recordLetterInfo(_,p,L,i),L+1<d.length&&L<e-1&&(M+=d[L+1]),M+=u.xAdvance*S+P-2*h.margin,B=_.x+u.w*S-h.margin,C<_.y&&(C=_.y),T>_.y-u.h*S&&(T=_.y-u.h*S)}else this._recordPlaceholderInfo(L,p),console.log("Can't find letter definition in texture atlas "+v.atlasName+" for letter:"+p);else this._recordPlaceholderInfo(L,p)}I||(n=M,o=B,c<C&&(c=C),l>T&&(l=T),s<o&&(s=o),f+=y)}else m.push(o),o=0,i++,n=0,r-=D*S+0,this._recordPlaceholderInfo(f,p),f++}return m.push(o),x=(g=i+1)*D*S,g>1&&(x+=0*(g-1)),w.width=V,w.height=F,V<=0&&(w.width=parseFloat(s.toFixed(2))+2*h.margin),F<=0&&(w.height=parseFloat(x.toFixed(2))+2*h.margin),A=w.height,b=0,c>0&&(A=w.height+c),l<-x&&(b=x+l),!0},e.prototype._getFirstCharLen=function(){return 1},e.prototype._getFirstWordLen=function(t,e,i){var n=t.charAt(e);if(a.isUnicodeCJK(n)||"\n"===n||a.isUnicodeSpace(n))return 1;var r=1,s=h.fontAtlas.getLetterDefinitionForChar(n,h);if(!s)return r;for(var o=s.xAdvance*S+P,c=e+1;c<i&&(n=t.charAt(c),s=h.fontAtlas.getLetterDefinitionForChar(n,h));++c){if(o+s.offsetX*S+s.w*S>N&&!a.isUnicodeSpace(n)&&N>0)return r;if(o+=s.xAdvance*S+P,"\n"===n||a.isUnicodeSpace(n)||a.isUnicodeCJK(n))break;r++}return r},e.prototype._multilineTextWrapByWord=function(){return this._multilineTextWrap(this._getFirstWordLen)},e.prototype._multilineTextWrapByChar=function(){return this._multilineTextWrap(this._getFirstCharLen)},e.prototype._recordPlaceholderInfo=function(t,e){if(t>=p.length){var i=new u;p.push(i)}p[t].char=e,p[t].hash=e.charCodeAt(0)+h.hash,p[t].valid=!1},e.prototype._recordLetterInfo=function(t,e,i,n){if(i>=p.length){var r=new u;p.push(r)}var s=e.charCodeAt(0)+h.hash;p[i].line=n,p[i].char=e,p[i].hash=s,p[i].valid=h.fontAtlas.getLetter(s).valid,p[i].x=t.x,p[i].y=t.y},e.prototype._alignText=function(){x=0,m.length=0,this._multilineTextWrapByWord(),this._computeAlignmentOffset(),L===l.SHRINK&&B>0&&this._isVerticalClamp()&&this._shrinkLabelToContentSize(this._isVerticalClamp),this._updateQuads()||L===l.SHRINK&&this._shrinkLabelToContentSize(this._isHorizontalClamp)},e.prototype._scaleFontSizeDown=function(t){var e=!0;t||(t=.1,e=!1),B=t,e&&this._updateContent()},e.prototype._shrinkLabelToContentSize=function(t){for(var e=B,i=0,n=!0;t();){var r=e-++i;if(n=!1,r<=0)break;S=r/M,this._multilineTextWrapByWord(),this._computeAlignmentOffset()}n||e-i>=0&&this._scaleFontSizeDown(e-i)},e.prototype._isVerticalClamp=function(){return x>w.height},e.prototype._isHorizontalClamp=function(){for(var t=!1,e=0,i=E.length;e<i;++e){var n=p[e];if(n.valid){var r=h.fontAtlas.getLetter(n.hash),s=n.x+r.w*S,o=n.line;if(V>0)if(O){if(m[o]>w.width&&(s>w.width||s<0)){t=!0;break}}else if(s>w.width){t=!0;break}}}return t},e.prototype._isHorizontalClamped=function(t,e){var i=m[e],n=t>w.width||t<0;return O?i>w.width&&n:n},e.prototype._updateQuads=function(){var t=h.fontAtlas.getTexture(),e=f.node;this.verticesCount=this.indicesCount=0;for(var i=w,n=e._anchorPoint.x*i.width,r=e._anchorPoint.y*i.height,s=!0,o=0,a=E.length;o<a;++o){var c=p[o];if(c.valid){var u=h.fontAtlas.getLetter(c.hash);_.height=u.h,_.width=u.w,_.x=u.u,_.y=u.v;var d=c.y+C;if(F>0){if(d>A){var m=d-A;_.y+=m,_.height-=m,d-=m}d-u.h*S<b&&L===l.CLAMP&&(_.height=d<b?0:d-b)}var v=c.line,g=c.x+u.w/2*S+y[v];if(V>0&&this._isHorizontalClamped(g,v))if(L===l.CLAMP)_.width=0;else if(L===l.SHRINK){if(w.width>u.w){s=!1;break}_.width=0}if(_.height>0&&_.width>0){var x=this._determineRect(_),T=c.x+y[c.line];this.appendQuad(f,t,_,x,T-n,d-r,S)}}}return this._quadsUpdated(f),s},e.prototype._determineRect=function(t){var e=T.isRotated(),i=T._originalSize,n=T._rect,r=T._offset,s=r.x+(i.width-n.width)/2,o=r.y-(i.height-n.height)/2;if(e){var a=t.x;t.x=n.x+n.height-t.y-t.height-o,t.y=a+n.y-s,t.y<0&&(t.height=t.height+o)}else t.x+=n.x-s,t.y+=n.y+o;return e},e.prototype._computeAlignmentOffset=function(){switch(y.length=0,I){case c.TextAlignment.LEFT:for(var t=0;t<g;++t)y.push(0);break;case c.TextAlignment.CENTER:for(var e=0,i=m.length;e<i;e++)y.push((w.width-m[e])/2);break;case c.TextAlignment.RIGHT:for(var n=0,r=m.length;n<r;n++)y.push(w.width-m[n])}if(C=(w.height+x)/2,R!==c.VerticalTextAlignment.TOP){var s=Math.max(D-M,0)*S;R===c.VerticalTextAlignment.BOTTOM?C-=s:C-=s/2}},e.prototype._setupBMFontOverflowMetrics=function(){var t=w.width,e=w.height;L===l.RESIZE_HEIGHT&&(e=0),L===l.NONE&&(t=0,e=0),V=t,F=e,N=t},e.prototype.updateWorldVerts=function(){},e.prototype.appendQuad=function(t,e,i,n,r,s,o){},e.prototype._quadsUpdated=function(t){},e.prototype._reserveQuads=function(){},e})(n.default);i.default=G,e.exports=i.default}),{"../../../components/CCLabel":73,"../../../platform/CCMacro":165,"../../../utils/text-utils":255,"../../assembler-2d":186,"../utils":215}],212:[(function(t,e,i){"use strict";function n(){this._rect=null,this.uv=[],this._texture=null,this._original=null}n.prototype={constructor:n,getRect:function(){return cc.rect(this._rect)},setRect:function(t){this._rect=t,this._texture&&this._calculateUV()},_setDynamicAtlasFrame:function(t){t&&(this._original={_texture:this._texture,_x:this._rect.x,_y:this._rect.y},this._texture=t.texture,this._rect.x=t.x,this._rect.y=t.y,this._calculateUV())},_resetDynamicAtlasFrame:function(){this._original&&(this._rect.x=this._original._x,this._rect.y=this._original._y,this._texture=this._original._texture,this._original=null,this._calculateUV())},_refreshTexture:function(t){this._texture=t,this._rect=cc.rect(0,0,t.width,t.height),this._calculateUV()},_calculateUV:function(){var t=this._rect,e=this._texture,i=this.uv,n=e.width,r=e.height,s=0===n?0:t.x/n,o=0===n?0:(t.x+t.width)/n,a=0===r?0:(t.y+t.height)/r,c=0===r?0:t.y/r;i[0]=s,i[1]=a,i[2]=o,i[3]=a,i[4]=s,i[5]=c,i[6]=o,i[7]=c}},e.exports=n}),{}],213:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n=(function(t){return t&&t.__esModule?t:{default:t}})(t("../../webgl/assemblers/label/2d/bmfont"));function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function o(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}var a=t("../../../components/CCLabel"),c=t("../../../components/CCLabelOutline"),l=t("../../../utils/text-utils"),h=t("../../../components/CCComponent"),u=t("../../../assets/CCRenderTexture"),_=cc.js.isChildClassOf(c,h),f=t("../utils").getFontFamily,d=t("../utils").shareLabelInfo,p=cc.BitmapFont.FontLetterDefinition,m=cc.BitmapFont.FontAtlas,y=cc.Color.WHITE,v=2,g=(1/255).toFixed(3);function x(t,e){this._texture=null,this._labelInfo=e,this._char=t,this._hash=null,this._data=null,this._canvas=null,this._context=null,this._width=0,this._height=0,this._offsetY=0,this._hash=t.charCodeAt(0)+e.hash}function C(t,e){var i=new u;i.initWithSize(t,e),i.update(),this._fontDefDictionary=new m(i),this._x=v,this._y=v,this._nexty=v,this._width=t,this._height=e,cc.director.on(cc.Director.EVENT_BEFORE_SCENE_LAUNCH,this.beforeSceneLoad,this)}function A(t){var e=t.color.toHEX("#rrggbb"),i="";return t.isOutlined&&(i=i+t.margin+t.out.toHEX("#rrggbb")),""+t.fontSize+t.fontFamily+e+i}x.prototype={constructor:x,updateRenderData:function(){this._updateProperties(),this._updateTexture()},_updateProperties:function(){this._texture=new cc.Texture2D,this._data=a._canvasPool.get(),this._canvas=this._data.canvas,this._context=this._data.context,this._context.font=this._labelInfo.fontDesc;var t=l.safeMeasureText(this._context,this._char);this._width=parseFloat(t.toFixed(2))+2*this._labelInfo.margin,this._height=(1+l.BASELINE_RATIO)*this._labelInfo.fontSize+2*this._labelInfo.margin,this._offsetY=-this._labelInfo.fontSize*l.BASELINE_RATIO/2,this._canvas.width!==this._width&&(this._canvas.width=this._width),this._canvas.height!==this._height&&(this._canvas.height=this._height),this._texture.initWithElement(this._canvas)},_updateTexture:function(){var t=this._context,e=this._labelInfo,i=this._canvas.width,n=this._canvas.height,r=i/2,s=n/2+this._labelInfo.fontSize*l.MIDDLE_RATIO,o=e.color;if(t.textAlign="center",t.textBaseline="alphabetic",t.clearRect(0,0,i,n),t.fillStyle="rgba("+o.r+", "+o.g+", "+o.b+", "+g+")",t.fillRect(0,0,i,n),t.font=e.fontDesc,t.lineJoin="round",t.fillStyle="rgba("+o.r+", "+o.g+", "+o.b+", 1)",e.isOutlined){var a=e.out||y;t.strokeStyle="rgba("+a.r+", "+a.g+", "+a.b+", "+a.a/255+")",t.lineWidth=2*e.margin,t.strokeText(this._char,r,s)}t.fillText(this._char,r,s),this._texture.handleLoadedTexture()},destroy:function(){this._texture.destroy(),this._texture=null,a._canvasPool.put(this._data)}},cc.js.mixin(C.prototype,{insertLetterTexture:function(t){var e=t._texture,i=e.width,n=e.height;if(this._x+i+v>this._width&&(this._x=v,this._y=this._nexty),this._y+n>this._nexty&&(this._nexty=this._y+n+v),this._nexty>this._height)return null;this._fontDefDictionary._texture.drawTextureAt(e,this._x,this._y),this._dirty=!0;var r=new p;return r.u=this._x,r.v=this._y,r.texture=this._fontDefDictionary._texture,r.valid=!0,r.w=t._width,r.h=t._height,r.xAdvance=t._width,r.offsetY=t._offsetY,this._x+=i+v,this._fontDefDictionary.addLetterDefinitions(t._hash,r),r},update:function(){this._dirty&&(this._fontDefDictionary._texture.update(),this._dirty=!1)},reset:function(){this._x=v,this._y=v,this._nexty=v;for(var t=this._fontDefDictionary._letterDefinitions,e=0,i=t.length;e<i;e++){var n=t[e];n.isValid&&n.destroy()}this._fontDefDictionary.clear()},destroy:function(){this.reset(),this._fontDefDictionary._texture.destroy(),this._fontDefDictionary._texture=null},beforeSceneLoad:function(){this.clearAllCache()},clearAllCache:function(){this.destroy();var t=new u;t.initWithSize(this._width,this._height),t.update(),this._fontDefDictionary._texture=t},getLetter:function(t){return this._fontDefDictionary._letterDefinitions[t]},getTexture:function(){return this._fontDefDictionary.getTexture()},getLetterDefinitionForChar:function(t,e){var i=t.charCodeAt(0)+e.hash,n=this._fontDefDictionary._letterDefinitions[i];if(!n){var r=new x(t,e);r.updateRenderData(),n=this.insertLetterTexture(r),r.destroy()}return n}});var b=null,S=(function(t){function e(){return r(this,e),s(this,t.apply(this,arguments))}return o(e,t),e.prototype._getAssemblerData=function(){return b||(b=new C(2048,2048),cc.Label._shareAtlas=b),b.getTexture()},e.prototype._updateFontFamily=function(t){d.fontAtlas=b,d.fontFamily=f(t);var e=_&&t.getComponent(c);e&&e.enabled?(d.isOutlined=!0,d.margin=e.width,d.out=e.color.clone(),d.out.a=e.color.a*t.node.color.a/255):(d.isOutlined=!1,d.margin=0)},e.prototype._updateLabelInfo=function(t){d.fontDesc=this._getFontDesc(),d.color=t.node.color,d.hash=A(d)},e.prototype._getFontDesc=function(){var t=d.fontSize.toString()+"px ";return t+=d.fontFamily},e.prototype._computeHorizontalKerningForText=function(){},e.prototype._determineRect=function(t){return!1},e})(n.default);i.default=S,e.exports=i.default}),{"../../../assets/CCRenderTexture":44,"../../../components/CCComponent":71,"../../../components/CCLabel":73,"../../../components/CCLabelOutline":void 0,"../../../utils/text-utils":255,"../../webgl/assemblers/label/2d/bmfont":220,"../utils":215}],214:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n=(function(t){return t&&t.__esModule?t:{default:t}})(t("../../assembler-2d"));function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function o(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}var a=t("../../../utils/text-utils"),c=t("../../../platform/CCMacro"),l=t("../../../components/CCLabel"),h=t("../../../components/CCLabelOutline"),u=t("../../../components/CCLabelShadow"),_=l.Overflow,f=t("../utils").deleteFromDynamicAtlas,d=t("../utils").getFontFamily,p=(1/255).toFixed(3),m=null,y=null,v=null,g="",x="",C=0,A=0,b=[],S=cc.Size.ZERO,T=0,w=0,E=0,B=null,M="",I=_.NONE,R=!1,P=null,D=cc.Color.WHITE,L=null,O=cc.Color.BLACK,V=cc.rect(),F=cc.Size.ZERO,N=cc.Size.ZERO,G=!1,k=!1,z=!1,U=0,W=cc.Vec2.ZERO,j=0,H=void 0,q=(function(t){function e(){return r(this,e),s(this,t.apply(this,arguments))}return o(e,t),e.prototype._getAssemblerData=function(){return(H=l._canvasPool.get()).canvas.width=H.canvas.height=1,H},e.prototype._resetAssemblerData=function(t){t&&l._canvasPool.put(t)},e.prototype.updateRenderData=function(e){t.prototype.updateRenderData.call(this,e),e._vertsDirty&&(this._updateFontFamily(e),this._updateProperties(e),this._calculateLabelFont(),this._calculateSplitedStrings(),this._updateLabelDimensions(),this._calculateTextBaseline(),this._updateTexture(e),this._calDynamicAtlas(e),e._actualFontSize=C,e.node.setContentSize(N),this.updateVerts(e),e._vertsDirty=!1,m=null,y=null,v=null)},e.prototype.updateVerts=function(){},e.prototype._updatePaddingRect=function(){var t=0,e=0,i=0,n=0,r=0;if(F.width=F.height=0,P&&(t=e=i=n=r=P.width,F.width=F.height=2*r),L){var s=L.blur+r;i=Math.max(i,-L._offset.x+s),n=Math.max(n,L._offset.x+s),t=Math.max(t,L._offset.y+s),e=Math.max(e,-L._offset.y+s)}if(k){var o=A*Math.tan(.20943951);n+=o,F.width+=o}V.x=i,V.y=t,V.width=i+n,V.height=t+e},e.prototype._updateFontFamily=function(t){M=d(t)},e.prototype._updateProperties=function(t){var e=t._assemblerData;m=e.context,y=e.canvas,v=t._frame._original?t._frame._original._texture:t._frame._texture,x=t.string.toString(),C=t._fontSize,U=(A=C)/8,I=t.overflow,S.width=t.node.width,S.height=t.node.height,N=t.node.getContentSize(),T=t._lineHeight,w=t.horizontalAlign,E=t.verticalAlign,B=t.node.color,G=t._isBold,k=t._isItalic,z=t._isUnderline,R=I!==_.NONE&&(I===_.RESIZE_HEIGHT||t.enableWrapText),(P=(P=h&&t.getComponent(h))&&P.enabled&&P.width>0?P:null)&&D.set(P.color),(L=(L=u&&t.getComponent(u))&&L.enabled?L:null)&&(O.set(L.color),O.a=O.a*t.node.color.a/255),this._updatePaddingRect()},e.prototype._calculateFillTextStartPosition=function(){var t=0;w===c.TextAlignment.RIGHT?t=S.width-V.width:w===c.TextAlignment.CENTER&&(t=(S.width-V.width)/2);var e=0,i=this._getLineHeight()*(b.length-1);return e=E===c.VerticalTextAlignment.TOP?C:E===c.VerticalTextAlignment.CENTER?.5*(S.height-i)+C*a.MIDDLE_RATIO-V.height/2:S.height-i-C*a.BASELINE_RATIO-V.height,cc.v2(t+V.x,e+V.y)},e.prototype._setupOutline=function(){m.strokeStyle="rgba("+D.r+", "+D.g+", "+D.b+", "+D.a/255+")",m.lineWidth=2*P.width},e.prototype._setupShadow=function(){m.shadowColor="rgba("+O.r+", "+O.g+", "+O.b+", "+O.a/255+")",m.shadowBlur=L.blur,m.shadowOffsetX=L.offset.x,m.shadowOffsetY=-L.offset.y},e.prototype._drawUnderline=function(t){P&&(this._setupOutline(),m.strokeRect(W.x,W.y,t,U)),m.lineWidth=U,m.fillStyle="rgba("+B.r+", "+B.g+", "+B.b+", "+B.a/255+")",m.fillRect(W.x,W.y,t,U)},e.prototype._updateTexture=function(){m.clearRect(0,0,y.width,y.height);var t=P?D:B;m.fillStyle="rgba("+t.r+", "+t.g+", "+t.b+", "+p+")",m.fillRect(0,0,y.width,y.height),m.font=g;var e=this._calculateFillTextStartPosition(),i=this._getLineHeight();m.lineJoin="round",m.fillStyle="rgba("+B.r+", "+B.g+", "+B.b+", 1)";var n=b.length>1,r=this._measureText(m),s=0,o=0;L&&this._setupShadow(),P&&this._setupOutline();for(var a=0;a<b.length;++a)s=e.x,o=e.y+a*i,L&&n&&(P&&m.strokeText(b[a],s,o),m.fillText(b[a],s,o)),z&&(j=r(b[a]),w===c.TextAlignment.RIGHT?W.x=e.x-j:w===c.TextAlignment.CENTER?W.x=e.x-j/2:W.x=e.x,W.y=o,this._drawUnderline(j));L&&n&&(m.shadowColor="transparent");for(var l=0;l<b.length;++l)s=e.x,o=e.y+l*i,P&&m.strokeText(b[l],s,o),m.fillText(b[l],s,o);L&&(m.shadowColor="transparent"),v.handleLoadedTexture()},e.prototype._calDynamicAtlas=function(t){if(t.cacheMode===l.CacheMode.BITMAP){var e=t._frame;f(t,e),e._original||e.setRect(cc.rect(0,0,y.width,y.height)),this.packToDynamicAtlas(t,e)}},e.prototype._updateLabelDimensions=function(){var t=x.split("\n");if(I===_.RESIZE_HEIGHT){var e=(b.length+a.BASELINE_RATIO)*this._getLineHeight();S.height=e+V.height,N.height=e+F.height}else if(I===_.NONE){b=t;for(var i=0,n=0,r=0;r<t.length;++r){var s=a.safeMeasureText(m,t[r]);i=i>s?i:s}n=(b.length+a.BASELINE_RATIO)*this._getLineHeight();var o=parseFloat(i.toFixed(2)),c=parseFloat(n.toFixed(2));S.width=o+V.width,S.height=c+V.height,N.width=o+F.width,N.height=c+F.height}S.width=Math.min(S.width,2048),S.height=Math.min(S.height,2048),y.width!==S.width&&(y.width=S.width),y.height!==S.height&&(y.height=S.height)},e.prototype._calculateTextBaseline=function(){var t=void 0;t=w===c.TextAlignment.RIGHT?"right":w===c.TextAlignment.CENTER?"center":"left",m.textAlign=t,m.textBaseline="alphabetic"},e.prototype._calculateSplitedStrings=function(){var t=x.split("\n");if(R){b=[];for(var e=N.width,i=0;i<t.length;++i){var n=a.safeMeasureText(m,t[i]),r=a.fragmentText(t[i],n,e,this._measureText(m));b=b.concat(r)}}else b=t},e.prototype._getFontDesc=function(){var t=C.toString()+"px ";return t+=M,G&&(t="bold "+t),k&&(t="italic "+t),t},e.prototype._getLineHeight=function(){var t=T;return 0|(t=0===t?C:t*C/A)},e.prototype._calculateParagraphLength=function(t,e){for(var i=[],n=0;n<t.length;++n){var r=a.safeMeasureText(e,t[n]);i.push(r)}return i},e.prototype._measureText=function(t){return function(e){return a.safeMeasureText(t,e)}},e.prototype._calculateLabelFont=function(){if(g=this._getFontDesc(),m.font=g,I===_.SHRINK){var t=x.split("\n"),e=this._calculateParagraphLength(t,m),i=0,n=0,r=0;if(R){var s=N.width,o=N.height;if(s<0||o<0)return g=this._getFontDesc(),void(m.font=g);n=o+1,r=s+1;for(var c=C+1,l="",h=!0,u=0|c;n>o||r>s;){if(h?c=u/2|0:u=c=u-1,c<=0){cc.logID(4003);break}for(C=c,g=this._getFontDesc(),m.font=g,n=0,i=0;i<t.length;++i){var f=0,d=a.safeMeasureText(m,t[i]);for(l=a.fragmentText(t[i],d,s,this._measureText(m));f<l.length;)r=a.safeMeasureText(m,l[f]),n+=this._getLineHeight(),++f}h&&(n>o?u=0|c:(h=!1,n=o+1))}}else{for(n=t.length*this._getLineHeight(),i=0;i<t.length;++i)r<e[i]&&(r=e[i]);var p=(S.width-V.width)/r,y=S.height/n;C=A*Math.min(1,p,y)|0,g=this._getFontDesc(),m.font=g}}},e})(n.default);i.default=q,e.exports=i.default}),{"../../../components/CCLabel":73,"../../../components/CCLabelOutline":void 0,"../../../components/CCLabelShadow":void 0,"../../../platform/CCMacro":165,"../../../utils/text-utils":255,"../../assembler-2d":186,"../utils":215}],215:[(function(t,e,i){"use strict";var n=t("./dynamic-atlas/manager"),r=cc.Color.WHITE,s={fontAtlas:null,fontSize:0,lineHeight:0,hAlign:0,vAlign:0,hash:"",fontFamily:"",fontDesc:"Arial",color:r,isOutlined:!1,out:r,margin:0};e.exports={deleteFromDynamicAtlas:function(t,e){e&&e._original&&n&&(n.deleteAtlasTexture(e),e._resetDynamicAtlasFrame())},getFontFamily:function(t){return t.useSystemFont?t.fontFamily:t.font?t.font._nativeAsset?t.font._nativeAsset:(cc.loader.load(t.font.nativeUrl,(function(e,i){t.font._nativeAsset=i,t._updateRenderData(!0)})),"Arial"):"Arial"},shareLabelInfo:s}}),{"./dynamic-atlas/manager":210}],216:[(function(t,e,i){"use strict";function n(t,e,i){i=i||2;var n,s,a,c,l,h,_,f=e&&e.length,d=f?e[0]*i:t.length,p=r(t,0,d,i,!0),m=[];if(!p)return m;if(f&&(p=u(t,e,p,i)),t.length>80*i){n=a=t[0],s=c=t[1];for(var y=i;y<d;y+=i)l=t[y],h=t[y+1],l<n&&(n=l),h<s&&(s=h),l>a&&(a=l),h>c&&(c=h);_=Math.max(a-n,c-s)}return o(p,m,i,n,s,_),m}function r(t,e,i,n,r){var s,o;if(r===R(t,e,i,n)>0)for(s=e;s<i;s+=n)o=B(s,t[s],t[s+1],o);else for(s=i-n;s>=e;s-=n)o=B(s,t[s],t[s+1],o);return o&&A(o,o.next)&&(M(o),o=o.next),o}function s(t,e){if(!t)return t;e||(e=t);var i,n=t;do{if(i=!1,n.steiner||!A(n,n.next)&&0!==C(n.prev,n,n.next))n=n.next;else{if(M(n),(n=e=n.prev)===n.next)return null;i=!0}}while(i||n!==e);return e}function o(t,e,i,n,r,u,_){if(t){!_&&u&&p(t,n,r,u);for(var f,d,m=t;t.prev!==t.next;)if(f=t.prev,d=t.next,u?c(t,n,r,u):a(t))e.push(f.i/i),e.push(t.i/i),e.push(d.i/i),M(t),t=d.next,m=d.next;else if((t=d)===m){_?1===_?o(t=l(t,e,i),e,i,n,r,u,2):2===_&&h(t,e,i,n,r,u):o(s(t),e,i,n,r,u,1);break}}}function a(t){var e=t.prev,i=t,n=t.next;if(C(e,i,n)>=0)return!1;for(var r=t.next.next;r!==t.prev;){if(g(e.x,e.y,i.x,i.y,n.x,n.y,r.x,r.y)&&C(r.prev,r,r.next)>=0)return!1;r=r.next}return!0}function c(t,e,i,n){var r=t.prev,s=t,o=t.next;if(C(r,s,o)>=0)return!1;for(var a=r.x<s.x?r.x<o.x?r.x:o.x:s.x<o.x?s.x:o.x,c=r.y<s.y?r.y<o.y?r.y:o.y:s.y<o.y?s.y:o.y,l=r.x>s.x?r.x>o.x?r.x:o.x:s.x>o.x?s.x:o.x,h=r.y>s.y?r.y>o.y?r.y:o.y:s.y>o.y?s.y:o.y,u=y(a,c,e,i,n),_=y(l,h,e,i,n),f=t.nextZ;f&&f.z<=_;){if(f!==t.prev&&f!==t.next&&g(r.x,r.y,s.x,s.y,o.x,o.y,f.x,f.y)&&C(f.prev,f,f.next)>=0)return!1;f=f.nextZ}for(f=t.prevZ;f&&f.z>=u;){if(f!==t.prev&&f!==t.next&&g(r.x,r.y,s.x,s.y,o.x,o.y,f.x,f.y)&&C(f.prev,f,f.next)>=0)return!1;f=f.prevZ}return!0}function l(t,e,i){var n=t;do{var r=n.prev,s=n.next.next;!A(r,s)&&b(r,n,n.next,s)&&T(r,s)&&T(s,r)&&(e.push(r.i/i),e.push(n.i/i),e.push(s.i/i),M(n),M(n.next),n=t=s),n=n.next}while(n!==t);return n}function h(t,e,i,n,r,a){var c=t;do{for(var l=c.next.next;l!==c.prev;){if(c.i!==l.i&&x(c,l)){var h=E(c,l);return c=s(c,c.next),h=s(h,h.next),o(c,e,i,n,r,a),void o(h,e,i,n,r,a)}l=l.next}c=c.next}while(c!==t)}function u(t,e,i,n){var o,a,c,l=[];for(o=0,a=e.length;o<a;o++)(c=r(t,e[o]*n,o<a-1?e[o+1]*n:t.length,n,!1))===c.next&&(c.steiner=!0),l.push(v(c));for(l.sort(_),o=0;o<l.length;o++)f(l[o],i),i=s(i,i.next);return i}function _(t,e){return t.x-e.x}function f(t,e){if(e=d(t,e)){var i=E(e,t);s(i,i.next)}}function d(t,e){var i,n=e,r=t.x,s=t.y,o=-1/0;do{if(s<=n.y&&s>=n.next.y){var a=n.x+(s-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(a<=r&&a>o){if(o=a,a===r){if(s===n.y)return n;if(s===n.next.y)return n.next}i=n.x<n.next.x?n:n.next}}n=n.next}while(n!==e);if(!i)return null;if(r===o)return i.prev;var c,l=i,h=i.x,u=i.y,_=1/0;for(n=i.next;n!==l;)r>=n.x&&n.x>=h&&g(s<u?r:o,s,h,u,s<u?o:r,s,n.x,n.y)&&((c=Math.abs(s-n.y)/(r-n.x))<_||c===_&&n.x>i.x)&&T(n,t)&&(i=n,_=c),n=n.next;return i}function p(t,e,i,n){var r=t;do{null===r.z&&(r.z=y(r.x,r.y,e,i,n)),r.prevZ=r.prev,r.nextZ=r.next,r=r.next}while(r!==t);r.prevZ.nextZ=null,r.prevZ=null,m(r)}function m(t){var e,i,n,r,s,o,a,c,l=1;do{for(i=t,t=null,s=null,o=0;i;){for(o++,n=i,a=0,e=0;e<l&&(a++,n=n.nextZ);e++);for(c=l;a>0||c>0&&n;)0===a?(r=n,n=n.nextZ,c--):0!==c&&n?i.z<=n.z?(r=i,i=i.nextZ,a--):(r=n,n=n.nextZ,c--):(r=i,i=i.nextZ,a--),s?s.nextZ=r:t=r,r.prevZ=s,s=r;i=n}s.nextZ=null,l*=2}while(o>1);return t}function y(t,e,i,n,r){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=32767*(t-i)/r)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=32767*(e-n)/r)|e<<8))|e<<4))|e<<2))|e<<1))<<1}function v(t){var e=t,i=t;do{e.x<i.x&&(i=e),e=e.next}while(e!==t);return i}function g(t,e,i,n,r,s,o,a){return(r-o)*(e-a)-(t-o)*(s-a)>=0&&(t-o)*(n-a)-(i-o)*(e-a)>=0&&(i-o)*(s-a)-(r-o)*(n-a)>=0}function x(t,e){return t.next.i!==e.i&&t.prev.i!==e.i&&!S(t,e)&&T(t,e)&&T(e,t)&&w(t,e)}function C(t,e,i){return(e.y-t.y)*(i.x-e.x)-(e.x-t.x)*(i.y-e.y)}function A(t,e){return t.x===e.x&&t.y===e.y}function b(t,e,i,n){return!!(A(t,e)&&A(i,n)||A(t,n)&&A(i,e))||C(t,e,i)>0!=C(t,e,n)>0&&C(i,n,t)>0!=C(i,n,e)>0}function S(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&&b(i,i.next,t,e))return!0;i=i.next}while(i!==t);return!1}function T(t,e){return C(t.prev,t,t.next)<0?C(t,e,t.next)>=0&&C(t,t.prev,e)>=0:C(t,e,t.prev)<0||C(t,t.next,e)<0}function w(t,e){var i=t,n=!1,r=(t.x+e.x)/2,s=(t.y+e.y)/2;do{i.y>s!=i.next.y>s&&r<(i.next.x-i.x)*(s-i.y)/(i.next.y-i.y)+i.x&&(n=!n),i=i.next}while(i!==t);return n}function E(t,e){var i=new I(t.i,t.x,t.y),n=new I(e.i,e.x,e.y),r=t.next,s=e.prev;return t.next=e,e.prev=t,i.next=r,r.prev=i,n.next=i,i.prev=n,s.next=n,n.prev=s,n}function B(t,e,i,n){var r=new I(t,e,i);return n?(r.next=n.next,r.prev=n,n.next.prev=r,n.next=r):(r.prev=r,r.next=r),r}function M(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 I(t,e,i){this.i=t,this.x=e,this.y=i,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}function R(t,e,i,n){for(var r=0,s=e,o=i-n;s<i;s+=n)r+=(t[o]-t[s])*(t[s+1]+t[o+1]),o=s;return r}cc.Graphics.earcut=e.exports=n,n.deviation=function(t,e,i,n){var r=e&&e.length,s=r?e[0]*i:t.length,o=Math.abs(R(t,0,s,i));if(r)for(var a=0,c=e.length;a<c;a++){var l=e[a]*i,h=a<c-1?e[a+1]*i:t.length;o-=Math.abs(R(t,l,h,i))}var u=0;for(a=0;a<n.length;a+=3){var _=n[a]*i,f=n[a+1]*i,d=n[a+2]*i;u+=Math.abs((t[_]-t[d])*(t[f+1]-t[_+1])-(t[_]-t[f])*(t[d+1]-t[_+1]))}return 0===o&&0===u?0:Math.abs((u-o)/o)},n.flatten=function(t){for(var e=t[0][0].length,i={vertices:[],holes:[],dimensions:e},n=0,r=0;r<t.length;r++){for(var s=0;s<t[r].length;s++)for(var o=0;o<e;o++)i.vertices.push(t[r][s][o]);r>0&&(n+=t[r-1].length,i.holes.push(n))}return i}}),{}],217:[(function(t,e,i){"use strict";var n=t("../../../../graphics/helper"),r=t("../../../../graphics/types").PointFlags,s=cc.Graphics.Point=cc.Class({name:"cc.GraphicsPoint",extends:cc.Vec2,ctor:function(t,e){this.reset()},reset:function(){this.dx=0,this.dy=0,this.dmx=0,this.dmy=0,this.flags=0,this.len=0}});function o(){this.reset()}function a(t){this._tessTol=.25,this._distTol=.01,this._updatePathOffset=!1,this._paths=null,this._pathLength=0,this._pathOffset=0,this._points=null,this._pointsOffset=0,this._commandx=0,this._commandy=0,this._paths=[],this._points=[]}cc.js.mixin(o.prototype,{reset:function(){this.closed=!1,this.nbevel=0,this.complex=!0,this.points?this.points.length=0:this.points=[]}}),cc.js.mixin(a.prototype,{moveTo:function(t,e){this._updatePathOffset&&(this._pathOffset=this._pathLength,this._updatePathOffset=!1),this._addPath(),this._addPoint(t,e,r.PT_CORNER),this._commandx=t,this._commandy=e},lineTo:function(t,e){this._addPoint(t,e,r.PT_CORNER),this._commandx=t,this._commandy=e},bezierCurveTo:function(t,e,i,s,o,a){var c=this._curPath,l=c.points[c.points.length-1];l.x!==t||l.y!==e||i!==o||s!==a?(n.tesselateBezier(this,l.x,l.y,t,e,i,s,o,a,0,r.PT_CORNER),this._commandx=o,this._commandy=a):this.lineTo(o,a)},quadraticCurveTo:function(t,e,i,n){var r=this._commandx,s=this._commandy;this.bezierCurveTo(r+2/3*(t-r),s+2/3*(e-s),i+2/3*(t-i),n+2/3*(e-n),i,n)},arc:function(t,e,i,r,s,o){n.arc(this,t,e,i,r,s,o)},ellipse:function(t,e,i,r){n.ellipse(this,t,e,i,r),this._curPath.complex=!1},circle:function(t,e,i){n.ellipse(this,t,e,i,i),this._curPath.complex=!1},rect:function(t,e,i,n){this.moveTo(t,e),this.lineTo(t,e+n),this.lineTo(t+i,e+n),this.lineTo(t+i,e),this.close(),this._curPath.complex=!1},roundRect:function(t,e,i,r,s){n.roundRect(this,t,e,i,r,s),this._curPath.complex=!1},clear:function(t){this._pathLength=0,this._pathOffset=0,this._pointsOffset=0,this._curPath=null,t&&(this._paths.length=0,this._points.length=0)},close:function(){this._curPath.closed=!0},_addPath:function(){var t=this._pathLength,e=this._paths[t];return e?e.reset():(e=new o,this._paths.push(e)),this._pathLength++,this._curPath=e,e},_addPoint:function(t,e,i){var n=this._curPath;if(n){var r,o=this._points,a=n.points;(r=o[this._pointsOffset++])?(r.x=t,r.y=e):(r=new s(t,e),o.push(r)),r.flags=i,a.push(r)}}}),cc.Graphics._Impl=a,e.exports=a}),{"../../../../graphics/helper":108,"../../../../graphics/types":110}],218:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n=s(t("../../../assembler")),r=s(t("../../../../../renderer/core/input-assembler"));function s(t){return t&&t.__esModule?t:{default:t}}function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function a(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function c(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}var l=t("../../mesh-buffer"),h=t("../../vertex-format").vfmtPosColor,u=t("../../../index"),_=t("../../../../graphics/graphics"),f=t("../../../../graphics/types").PointFlags,d=_.LineJoin,p=_.LineCap,m=t("./earcut"),y=(t("./impl"),Math.PI),v=Math.min,g=Math.max,x=Math.ceil,C=Math.acos,A=Math.cos,b=Math.sin,S=Math.atan2;function T(t,e,i){var n=2*C(t/(t+i));return g(2,x(e/n))}function w(t,e,i){return t<e?e:t>i?i:t}var E=(function(t){function e(i){o(this,e);var n=a(this,t.call(this,i));return n._buffer=null,n._buffers=[],n._bufferOffset=0,n}return c(e,t),e.prototype.getVfmt=function(){return h},e.prototype.requestBuffer=function(){var t={indiceStart:0,vertexStart:0},e=new l(u._handle,h);t.meshbuffer=e;var i=new r.default(e._vb,e._ib);return t.ia=i,this._buffers.push(t),t},e.prototype.getBuffers=function(){return 0===this._buffers.length&&this.requestBuffer(),this._buffers},e.prototype.clear=function(t){this._bufferOffset=0;var e=this._buffers;if(t){for(var i=0,n=e.length;i<n;i++){var r=e[i];r.meshbuffer.destroy(),r.meshbuffer=null}e.length=0}else for(var s=0,o=e.length;s<o;s++){var a=e[s];a.indiceStart=0,a.vertexStart=0,a.meshbuffer.reset()}},e.prototype.fillBuffers=function(t,e){e._flush(),e.node=t.node,e.material=t.sharedMaterials[0];for(var i=this.getBuffers(),n=0,r=i.length;n<r;n++){var s=i[n],o=s.meshbuffer;s.ia._count=s.indiceStart,e._flushIA(s.ia),o.uploadData()}},e.prototype.genBuffer=function(t,e){var i=this.getBuffers(),n=i[this._bufferOffset],r=n.meshbuffer,s=n.vertexStart+e;return(s>65535||3*s>131070)&&(++this._bufferOffset,s=e,this._bufferOffset<i.length?n=i[this._bufferOffset]:(n=this.requestBuffer(t),i[this._bufferOffset]=n),r=n.meshbuffer),s>r.vertexOffset&&r.requestStatic(e,3*e),this._buffer=n,n},e.prototype.stroke=function(t){this._curColor=t._strokeColor._val,this._flattenPaths(t._impl),this._expandStroke(t),t._impl._updatePathOffset=!0},e.prototype.fill=function(t){this._curColor=t._fillColor._val,this._expandFill(t),t._impl._updatePathOffset=!0},e.prototype._expandStroke=function(t){var e=.5*t.lineWidth,i=t.lineCap,n=t.lineJoin,r=t.miterLimit,s=t._impl,o=T(e,y,s._tessTol);this._calculateJoins(s,e,n,r);for(var a=s._paths,c=0,l=s._pathOffset,h=s._pathLength;l<h;l++){var u=a[l],_=u.points.length;n===d.ROUND?c+=2*(_+u.nbevel*(o+2)+1):c+=2*(_+5*u.nbevel+1),u.closed||(i===p.ROUND?c+=2*(2*o+2):c+=12)}for(var m=this.genBuffer(t,c),v=m.meshbuffer,g=v._vData,x=v._iData,C=s._pathOffset,A=s._pathLength;C<A;C++){var b,S=a[C],w=S.points,E=w.length,B=m.vertexStart,M=void 0,I=void 0,R=void 0,P=void 0;if((b=S.closed)?(M=w[E-1],I=w[0],R=0,P=E):(M=w[0],I=w[1],R=1,P=E-1),!b){var D=I.sub(M);D.normalizeSelf();var L=D.x,O=D.y;i===p.BUTT?this._buttCapStart(M,L,O,e,0):i===p.SQUARE?this._buttCapStart(M,L,O,e,e):i===p.ROUND&&this._roundCapStart(M,L,O,e,o)}for(var V=R;V<P;++V)n===d.ROUND?this._roundJoin(M,I,e,e,o):0!=(I.flags&(f.PT_BEVEL|f.PT_INNERBEVEL))?this._bevelJoin(M,I,e,e):(this._vset(I.x+I.dmx*e,I.y+I.dmy*e),this._vset(I.x-I.dmx*e,I.y-I.dmy*e)),M=I,I=w[V+1];if(b){var F=3*B;this._vset(g[F],g[F+1]),this._vset(g[F+3],g[F+4])}else{var N=I.sub(M);N.normalizeSelf();var G=N.x,k=N.y;i===p.BUTT?this._buttCapEnd(I,G,k,e,0):i===p.SQUARE?this._buttCapEnd(I,G,k,e,e):i===p.ROUND&&this._roundCapEnd(I,G,k,e,o)}for(var z=m.indiceStart,U=B+2,W=m.vertexStart;U<W;U++)x[z++]=U-2,x[z++]=U-1,x[z++]=U;m.indiceStart=z}},e.prototype._expandFill=function(t){for(var e=t._impl,i=e._paths,n=0,r=e._pathOffset,s=e._pathLength;r<s;r++){n+=i[r].points.length}for(var o=this.genBuffer(t,n),a=o.meshbuffer,c=a._vData,l=a._iData,h=e._pathOffset,u=e._pathLength;h<u;h++){var _=i[h],f=_.points,d=f.length;if(0!==d){for(var p=o.vertexStart,y=0;y<d;++y)this._vset(f[y].x,f[y].y);var v=o.indiceStart;if(_.complex){for(var g=[],x=p,C=o.vertexStart;x<C;x++){var A=3*x;g.push(c[A]),g.push(c[A+1])}var b=m(g,null,2);if(!b||0===b.length)continue;for(var S=0,T=b.length;S<T;S++)l[v++]=b[S]+p}else for(var w=p,E=p+2,B=o.vertexStart;E<B;E++)l[v++]=w,l[v++]=E-1,l[v++]=E;o.indiceStart=v}}},e.prototype._calculateJoins=function(t,e,i,n){var r=0;e>0&&(r=1/e);for(var s=t._paths,o=t._pathOffset,a=t._pathLength;o<a;o++){var c=s[o],l=c.points,h=l.length,u=l[h-1],_=l[0];c.nbevel=0;for(var p=0;p<h;p++){var m,y,x=u.dy,C=-u.dx,A=_.dy,b=-_.dx;if(_.dmx=.5*(x+A),_.dmy=.5*(C+b),(m=_.dmx*_.dmx+_.dmy*_.dmy)>1e-6){var S=1/m;S>600&&(S=600),_.dmx*=S,_.dmy*=S}_.dx*u.dy-u.dx*_.dy>0&&(0,_.flags|=f.PT_LEFT),m*(y=g(11,v(u.len,_.len)*r))*y<1&&(_.flags|=f.PT_INNERBEVEL),_.flags&f.PT_CORNER&&(m*n*n<1||i===d.BEVEL||i===d.ROUND)&&(_.flags|=f.PT_BEVEL),0!=(_.flags&(f.PT_BEVEL|f.PT_INNERBEVEL))&&c.nbevel++,u=_,_=l[p+1]}}},e.prototype._flattenPaths=function(t){for(var e=t._paths,i=t._pathOffset,n=t._pathLength;i<n;i++){var r=e[i],s=r.points,o=s[s.length-1],a=s[0];o.equals(a)&&(r.closed=!0,s.pop(),o=s[s.length-1]);for(var c=0,l=s.length;c<l;c++){var h=a.sub(o);o.len=h.mag(),(h.x||h.y)&&h.normalizeSelf(),o.dx=h.x,o.dy=h.y,o=a,a=s[c+1]}}},e.prototype._chooseBevel=function(t,e,i,n){var r=i.x,s=i.y,o=void 0,a=void 0,c=void 0,l=void 0;return 0!==t?(o=r+e.dy*n,a=s-e.dx*n,c=r+i.dy*n,l=s-i.dx*n):(o=c=r+i.dmx*n,a=l=s+i.dmy*n),[o,a,c,l]},e.prototype._buttCapStart=function(t,e,i,n,r){var s=t.x-e*r,o=t.y-i*r,a=i,c=-e;this._vset(s+a*n,o+c*n),this._vset(s-a*n,o-c*n)},e.prototype._buttCapEnd=function(t,e,i,n,r){var s=t.x+e*r,o=t.y+i*r,a=i,c=-e;this._vset(s+a*n,o+c*n),this._vset(s-a*n,o-c*n)},e.prototype._roundCapStart=function(t,e,i,n,r){for(var s=t.x,o=t.y,a=i,c=-e,l=0;l<r;l++){var h=l/(r-1)*y,u=A(h)*n,_=b(h)*n;this._vset(s-a*u-e*_,o-c*u-i*_),this._vset(s,o)}this._vset(s+a*n,o+c*n),this._vset(s-a*n,o-c*n)},e.prototype._roundCapEnd=function(t,e,i,n,r){var s=t.x,o=t.y,a=i,c=-e;this._vset(s+a*n,o+c*n),this._vset(s-a*n,o-c*n);for(var l=0;l<r;l++){var h=l/(r-1)*y,u=A(h)*n,_=b(h)*n;this._vset(s,o),this._vset(s-a*u+e*_,o-c*u+i*_)}},e.prototype._roundJoin=function(t,e,i,n,r){var s=t.dy,o=-t.dx,a=e.dy,c=-e.dx,l=e.x,h=e.y;if(0!=(e.flags&f.PT_LEFT)){var u=this._chooseBevel(e.flags&f.PT_INNERBEVEL,t,e,i),_=u[0],d=u[1],p=u[2],m=u[3],v=S(-o,-s),g=S(-c,-a);g>v&&(g-=2*y),this._vset(_,d),this._vset(l-s*n,e.y-o*n);for(var C=w(x((v-g)/y)*r,2,r),T=0;T<C;T++){var E=v+T/(C-1)*(g-v),B=l+A(E)*n,M=h+b(E)*n;this._vset(l,h),this._vset(B,M)}this._vset(p,m),this._vset(l-a*n,h-c*n)}else{var I=this._chooseBevel(e.flags&f.PT_INNERBEVEL,t,e,-n),R=I[0],P=I[1],D=I[2],L=I[3],O=S(o,s),V=S(c,a);V<O&&(V+=2*y),this._vset(l+s*n,h+o*n),this._vset(R,P);for(var F=w(x((V-O)/y)*r,2,r),N=0;N<F;N++){var G=O+N/(F-1)*(V-O),k=l+A(G)*i,z=h+b(G)*i;this._vset(k,z),this._vset(l,h)}this._vset(l+a*n,h+c*n),this._vset(D,L)}},e.prototype._bevelJoin=function(t,e,i,n){var r=void 0,s=void 0,o=void 0,a=void 0,c=void 0,l=void 0,h=void 0,u=void 0,_=t.dy,d=-t.dx,p=e.dy,m=-e.dx;if(e.flags&f.PT_LEFT){var y=this._chooseBevel(e.flags&f.PT_INNERBEVEL,t,e,i);c=y[0],l=y[1],h=y[2],u=y[3],this._vset(c,l),this._vset(e.x-_*n,e.y-d*n),this._vset(h,u),this._vset(e.x-p*n,e.y-m*n)}else{var v=this._chooseBevel(e.flags&f.PT_INNERBEVEL,t,e,-n);r=v[0],s=v[1],o=v[2],a=v[3],this._vset(e.x+_*i,e.y+d*i),this._vset(r,s),this._vset(e.x+p*i,e.y+m*i),this._vset(o,a)}},e.prototype._vset=function(t,e){var i=this._buffer,n=i.meshbuffer,r=3*i.vertexStart,s=n._vData,o=n._uintVData;s[r]=t,s[r+1]=e,o[r+2]=this._curColor,i.vertexStart++,n._dirty=!0},e})(n.default);i.default=E,n.default.register(cc.Graphics,E),e.exports=i.default}),{"../../../../../renderer/core/input-assembler":298,"../../../../graphics/graphics":107,"../../../../graphics/types":110,"../../../assembler":187,"../../../index":207,"../../mesh-buffer":234,"../../vertex-format":239,"./earcut":216,"./impl":217}],219:[(function(t,e,i){"use strict";cc.assemblers={},t("./sprite"),t("./mask-assembler"),t("./graphics"),t("./label"),t("./motion-streak")}),{"./graphics":218,"./label":223,"./mask-assembler":224,"./motion-streak":225,"./sprite":232}],220:[(function(t,e,i){"use strict";function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function r(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function s(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}i.__esModule=!0,i.default=void 0;var o=0,a=(function(t){function e(){return n(this,e),r(this,t.apply(this,arguments))}return s(e,t),e.prototype.initData=function(){this._renderData.createFlexData(0,4,6,this.getVfmt())},e.prototype._reserveQuads=function(t,e){var i=4*e,n=6*e,r=this._renderData._flexBuffer;r.reserve(i,n),r.used(i,n);for(var s=this._renderData.iDatas[0],a=0,c=0,l=n;a<l;a+=6,c+=4)s[a]=c,s[a+1]=c+1,s[a+2]=c+2,s[a+3]=c+1,s[a+4]=c+3,s[a+5]=c+2;o=0},e.prototype._quadsUpdated=function(t){o=0,this._renderData._flexBuffer.used(this.verticesCount,this.indicesCount)},e.prototype._getColor=function(t){return t.node._color._val},e.prototype.appendQuad=function(t,e,i,n,r,s,a){var c=this._renderData,l=c.vDatas[0],h=c.uintVDatas[0];this.verticesCount+=4,this.indicesCount=this.verticesCount/2*3;var u=e.width,_=e.height,f=i.width,d=i.height,p=this._getColor(t),m=void 0,y=void 0,v=void 0,g=void 0,x=this.floatsPerVert,C=o+this.uvOffset;n?(m=i.x/u,v=(i.x+d)/u,y=(i.y+f)/_,g=i.y/_,l[C]=m,l[C+1]=g,l[C+=x]=m,l[C+1]=y,l[C+=x]=v,l[C+1]=g,l[C+=x]=v,l[C+1]=y):(m=i.x/u,v=(i.x+f)/u,y=(i.y+d)/_,g=i.y/_,l[C]=m,l[C+1]=y,l[C+=x]=v,l[C+1]=y,l[C+=x]=m,l[C+1]=g,l[C+=x]=v,l[C+1]=g),m=r,v=r+f*a,y=s-d*a,g=s,this.appendVerts(t,o,m,v,y,g);for(var A=o+this.colorOffset,b=0;b<4;b++)h[A]=p,A+=x;o+=4*this.floatsPerVert},e.prototype.appendVerts=function(t,e,i,n,r,s){var o=this._local,a=this.floatsPerVert;o[e]=i,o[e+1]=r,o[e+=a]=n,o[e+1]=r,o[e+=a]=i,o[e+1]=s,o[e+=a]=n,o[e+1]=s},e.prototype.updateWorldVerts=function(t){for(var e=t.node._worldMatrix.m,i=e[0],n=e[1],r=e[4],s=e[5],o=e[12],a=e[13],c=this._local,l=this._renderData.vDatas[0],h=this.floatsPerVert,u=0;u<c.length;u+=h){var _=c[u],f=c[u+1];l[u]=_*i+f*r+o,l[u+1]=_*n+f*s+a}},e})(function(t){return t&&t.__esModule?t:{default:t}}(t("../../../../utils/label/bmfont")).default);i.default=a,e.exports=i.default}),{"../../../../utils/label/bmfont":211}],221:[(function(t,e,i){"use strict";function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function r(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function s(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}i.__esModule=!0;t("../../../../../platform/js"),t("./bmfont");var o=t("../../../../utils/label/letter-font"),a=cc.color(255,255,255,255),c=(function(t){function e(){return n(this,e),r(this,t.apply(this,arguments))}return s(e,t),e.prototype.createData=function(t){return t.requestRenderData()},e.prototype._getColor=function(t){return a._fastSetA(t.node._color.a),a._val},e.prototype.updateColor=function(e){var i=this._getColor(e);t.prototype.updateColor.call(this,e,i)},e})(o);i.default=c,e.exports=i.default}),{"../../../../../platform/js":180,"../../../../utils/label/letter-font":213,"./bmfont":220}],222:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n=(function(t){return t&&t.__esModule?t:{default:t}})(t("../../../../utils/label/ttf"));function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function o(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}var a=t("../../../../../components/CCLabelShadow"),c=cc.color(255,255,255,255),l=(function(t){function e(){return r(this,e),s(this,t.apply(this,arguments))}return o(e,t),e.prototype.updateUVs=function(t){for(var e=this._renderData.vDatas[0],i=t._frame.uv,n=this.uvOffset,r=this.floatsPerVert,s=0;s<4;s++){var o=2*s,a=r*s+n;e[a]=i[o],e[a+1]=i[o+1]}},e.prototype.updateColor=function(e){c._fastSetA(e.node._color.a);var i=c._val;t.prototype.updateColor.call(this,e,i)},e.prototype.updateVerts=function(t){var e=t.node,i=t._ttfTexture.width,n=t._ttfTexture.height,r=e.anchorX*e.width,s=e.anchorY*e.height,o=a&&t.getComponent(a);if(o&&o._enabled){var c=(i-e.width)/2,l=(n-e.height)/2,h=o.offset;-h.x>c?r+=i-e.width:c>h.x&&(r+=c-h.x),-h.y>l?s+=n-e.height:l>h.y&&(s+=l-h.y)}var u=this._local;u[0]=-r,u[1]=-s,u[2]=i-r,u[3]=n-s,this.updateUVs(t),this.updateWorldVerts(t)},e})(n.default);i.default=l,e.exports=i.default}),{"../../../../../components/CCLabelShadow":void 0,"../../../../utils/label/ttf":214}],223:[(function(t,e,i){"use strict";var n=u(t("../../../assembler")),r=u(t("../../../../components/CCLabel")),s=u(t("./2d/ttf")),o=u(t("./2d/bmfont")),a=u(t("./2d/letter")),c=u(t("./3d/ttf")),l=u(t("./3d/bmfont")),h=u(t("./3d/letter"));function u(t){return t&&t.__esModule?t:{default:t}}r.default._canvasPool={pool:[],get:function(){var t=this.pool.pop();if(!t){var e=document.createElement("canvas");t={canvas:e,context:e.getContext("2d")}}return t},put:function(t){this.pool.length>=32||this.pool.push(t)}},n.default.register(cc.Label,{getConstructor:function(t){var e=t.node.is3DNode,i=e?c.default:s.default;return t.font instanceof cc.BitmapFont?i=e?l.default:o.default:t.cacheMode===r.default.CacheMode.CHAR&&(cc.sys.browserType===cc.sys.BROWSER_TYPE_WECHAT_GAME_SUB?cc.warn("sorry, subdomain does not support CHAR mode currently!"):i=e?h.default:a.default),i},TTF:s.default,Bmfont:o.default,Letter:a.default,TTF3D:c.default,Bmfont3D:l.default,Letter3D:h.default})}),{"../../../../components/CCLabel":73,"../../../assembler":187,"./2d/bmfont":220,"./2d/letter":221,"./2d/ttf":222,"./3d/bmfont":void 0,"./3d/letter":void 0,"./3d/ttf":void 0}],224:[(function(t,e,i){"use strict";i.__esModule=!0,i.MaskAssembler=void 0;var n=(function(t){return t&&t.__esModule?t:{default:t}})(t("../../assembler"));function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function o(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}var a=t("../../../components/CCMask"),c=t("../../render-flow"),l=t("./sprite/2d/simple"),h=t("./graphics"),u=t("../../../../renderer/gfx"),_=t("../vertex-format").vfmtPos,f=8,d=[];function p(){return 1<<d.length-1}function m(){for(var t=0,e=0;e<d.length;++e)t+=1<<e;return t}function y(t,e,i,n,r,s){var o=t.effect,a=u.STENCIL_OP_KEEP,c=u.STENCIL_OP_KEEP;o.setStencil(u.STENCIL_ENABLE,e,n,r,i,a,c,s)}function v(t){d.length+1>f&&cc.errorID(9e3,f),d.push(t)}function g(t,e){0===d.length&&cc.errorID(9001),d.pop(),0===d.length?e._flushMaterial(t._exitMaterial):A(e)}function x(t,e){var i=u.DS_FUNC_NEVER,n=p(),r=n,s=n,o=t.inverted?u.STENCIL_OP_REPLACE:u.STENCIL_OP_ZERO;y(t._clearMaterial,i,o,n,r,s);var a=e.getBuffer("mesh",_),c=a.request(4,6),l=c.indiceOffset,h=c.byteOffset>>2,f=c.vertexOffset,d=a._vData,m=a._iData;d[h++]=-1,d[h++]=-1,d[h++]=-1,d[h++]=1,d[h++]=1,d[h++]=1,d[h++]=1,d[h++]=-1,m[l++]=f,m[l++]=f+3,m[l++]=f+1,m[l++]=f+1,m[l++]=f+3,m[l++]=f+2,e.node=e._dummyNode,e.material=t._clearMaterial,e._flush()}function C(t,e){var i=u.DS_FUNC_NEVER,n=p(),r=n,s=n,o=t.inverted?u.STENCIL_OP_ZERO:u.STENCIL_OP_REPLACE;y(t.sharedMaterials[0],i,o,n,r,s),e.material=t.sharedMaterials[0],t._type===a.Type.IMAGE_STENCIL?(e.node=e._dummyNode,l.prototype.fillBuffers.call(t._assembler,t,e),e._flush()):(e.node=t.node,h.prototype.fillBuffers.call(t._graphics._assembler,t._graphics,e))}function A(t){var e=u.DS_FUNC_EQUAL,i=u.STENCIL_OP_KEEP,n=m(),r=n,s=p(),o=d[d.length-1];y(o._enableMaterial,e,i,n,r,s),t._flushMaterial(o._enableMaterial)}var b=i.MaskAssembler=(function(t){function e(){return r(this,e),s(this,t.apply(this,arguments))}return o(e,t),e.prototype.updateRenderData=function(t){t._type===a.Type.IMAGE_STENCIL?t.spriteFrame?l.prototype.updateRenderData.call(this,t):t.setMaterial(0,null):(t._graphics.setMaterial(0,t.sharedMaterials[0]),h.prototype.updateRenderData.call(t._graphics._assembler,t._graphics,t._graphics))},e.prototype.fillBuffers=function(t,e){(t._type!==a.Type.IMAGE_STENCIL||t.spriteFrame)&&(v(t),x(t,e),C(t,e),A(e)),t.node._renderFlag|=c.FLAG_UPDATE_RENDER_DATA},e.prototype.postFillBuffers=function(t,e){(t._type!==a.Type.IMAGE_STENCIL||t.spriteFrame)&&g(t,e),t.node._renderFlag|=c.FLAG_UPDATE_RENDER_DATA},e})(l);n.default.register(a,b)}),{"../../../../renderer/gfx":308,"../../../components/CCMask":75,"../../assembler":187,"../../render-flow":208,"../vertex-format":239,"./graphics":218,"./sprite/2d/simple":229}],225:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n=(function(t){return t&&t.__esModule?t:{default:t}})(t("../../assembler-2d"));function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function o(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}var a=t("../../../components/CCMotionStreak"),c=t("../../render-flow");function l(t,e){this.point=t||cc.v2(),this.dir=e||cc.v2(),this.distance=0,this.time=0}l.prototype.setPoint=function(t,e){this.point.x=t,this.point.y=e},l.prototype.setDir=function(t,e){this.dir.x=t,this.dir.y=e};cc.v2(),cc.v2();var h=cc.v2(),u=cc.v2();function _(t,e){return t.x=-e.y,t.y=e.x,t}var f=(function(t){function e(){return r(this,e),s(this,t.apply(this,arguments))}return o(e,t),e.prototype.initData=function(){this._renderData.createFlexData(0,16,42)},e.prototype.update=function(t,e){var i=t._stroke/2,n=t.node._worldMatrix.m,r=n[12],s=n[13],o=t._points,a=void 0;if(o.length>1){var c=o[0].point.x-r,f=o[0].point.y-s;c*c+f*f<t.minSeg&&(a=o[0])}a||(a=new l,o.splice(0,0,a)),a.setPoint(r,s),a.time=t._fadeTime+e;var d,p=0;if(!(o.length<2)){var m=t._color,y=m.r,v=m.g,g=m.b,x=m.a,C=o[1];C.distance=a.point.sub(C.point,u).mag(),u.normalizeSelf(),C.setDir(u.x,u.y),a.setDir(u.x,u.y);var A=this._renderData._flexBuffer;A.reserve(2*o.length,6*(o.length-1));for(var b=A.vData,S=A.uintVData,T=t._fadeTime,w=!1,E=o.length-1;E>=0;E--){var B=o[E],M=B.point,I=B.dir;if(B.time-=e,B.time<0)o.splice(E,1);else{var R=B.time/T,P=o[E-1];if(!w){if(!P){o.splice(E,1);continue}M.x=P.point.x-I.x*R,M.y=P.point.y-I.y*R}w=!0,_(h,I);var D=(R*x<<24>>>0)+(g<<16)+(v<<8)+y,L=5*p;b[L]=M.x+h.x*i,b[L+1]=M.y+h.y*i,b[L+2]=1,b[L+3]=R,S[L+4]=D,b[L+=5]=M.x-h.x*i,b[L+1]=M.y-h.y*i,b[L+2]=0,b[L+3]=R,S[L+4]=D,p+=2}}d=p<=2?0:3*(p-2),A.used(p,d)}},e.prototype.fillBuffers=function(t,e){var i=this._renderData._flexBuffer,n=i.vData,r=i.usedVertices,s=i.usedIndices,o=i.usedVerticesFloats,a=e._meshBuffer,l=a.request(r,s),h=l.byteOffset>>2,u=a._vData;n.length+h>u.length?u.set(n.subarray(0,o),h):u.set(n,h);for(var _=a._iData,f=l.indiceOffset,d=l.vertexOffset,p=0,m=r;p<m;p+=2){var y=d+p;_[f++]=y,_[f++]=y+2,_[f++]=y+1,_[f++]=y+1,_[f++]=y+2,_[f++]=y+3}t.node._renderFlag|=c.FLAG_UPDATE_RENDER_DATA},e})(n.default);i.default=f,f.register(a,f),e.exports=i.default}),{"../../../components/CCMotionStreak":76,"../../assembler-2d":186,"../../render-flow":208}],226:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n=(function(t){return t&&t.__esModule?t:{default:t}})(t("../../../../assembler-2d"));function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function o(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}var a=t("../../../../../components/CCSprite").FillType,c=(function(t){function e(){return r(this,e),s(this,t.apply(this,arguments))}return o(e,t),e.prototype.updateRenderData=function(t){var e=t._spriteFrame;if(e&&(this.packToDynamicAtlas(t,e),t._vertsDirty)){var i=t._fillStart,n=t._fillRange;n<0&&(i+=n,n=-n),n=i+n,i=(i=i>1?1:i)<0?0:i,n=(n=n>1?1:n)<0?0:n;var r=i+(n=(n-=i)<0?0:n);r=r>1?1:r,this.updateUVs(t,i,r),this.updateVerts(t,i,r),t._vertsDirty=!1}},e.prototype.updateUVs=function(t,e,i){var n=t._spriteFrame,r=n._texture.width,s=n._texture.height,o=n._rect,c=void 0,l=void 0,h=void 0,u=void 0,_=void 0,f=void 0,d=void 0,p=void 0,m=void 0,y=void 0;n._rotated?(c=o.x/r,l=(o.y+o.width)/s,h=_=c,d=m=(o.x+o.height)/r,f=y=l,u=p=o.y/s):(c=o.x/r,l=(o.y+o.height)/s,h=d=c,_=m=(o.x+o.width)/r,u=f=l,p=y=o.y/s);var v=this._renderData.vDatas[0],g=this.uvOffset,x=this.floatsPerVert;switch(t._fillType){case a.HORIZONTAL:v[g]=h+(_-h)*e,v[g+1]=u+(f-u)*e,v[g+x]=h+(_-h)*i,v[g+x+1]=u+(f-u)*i,v[g+2*x]=d+(m-d)*e,v[g+2*x+1]=p+(y-p)*e,v[g+3*x]=d+(m-d)*i,v[g+3*x+1]=p+(y-p)*i;break;case a.VERTICAL:v[g]=h+(d-h)*e,v[g+1]=u+(p-u)*e,v[g+x]=_+(m-_)*e,v[g+x+1]=f+(y-f)*e,v[g+2*x]=h+(d-h)*i,v[g+2*x+1]=u+(p-u)*i,v[g+3*x]=_+(m-_)*i,v[g+3*x+1]=f+(y-f)*i;break;default:cc.errorID(2626)}},e.prototype.updateVerts=function(t,e,i){var n=t.node,r=n.width,s=n.height,o=n.anchorX*r,c=n.anchorY*s,l=-o,h=-c,u=r-o,_=s-c,f=void 0;switch(t._fillType){case a.HORIZONTAL:f=l+(u-l)*i,l=l+(u-l)*e,u=f;break;case a.VERTICAL:f=h+(_-h)*i,h=h+(_-h)*e,_=f;break;default:cc.errorID(2626)}var d=this._local;d[0]=l,d[1]=h,d[2]=u,d[3]=_,this.updateWorldVerts(t)},e})(n.default);i.default=c,e.exports=i.default}),{"../../../../../components/CCSprite":84,"../../../../assembler-2d":186}],227:[(function(t,e,i){"use strict";function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function r(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function s(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}i.__esModule=!0,i.default=void 0;var o=(function(t){function e(){return n(this,e),r(this,t.apply(this,arguments))}return s(e,t),e.prototype.initData=function(t){this._local=[],this._renderData.createFlexData(0,4,6,this.getVfmt())},e.prototype.updateRenderData=function(t){this.packToDynamicAtlas(t,t._spriteFrame);var e=t.spriteFrame;if(e){var i=e.vertices;if(i){this.verticesCount=i.x.length,this.indicesCount=i.triangles.length;var n=this._renderData._flexBuffer;n.reserve(this.verticesCount,this.indicesCount)&&(this.updateIndices(i.triangles),this.updateColor(t),t._vertsDirty=!0),n.used(this.verticesCount,this.indicesCount),t._vertsDirty&&(this.updateUVs(t),this.updateVerts(t),this.updateWorldVerts(t),t._vertsDirty=!1)}}},e.prototype.updateIndices=function(t){for(var e=this._renderData.iDatas[0],i=0;i<t.length;i++)e[i]=t[i]},e.prototype.updateUVs=function(t){for(var e=t.spriteFrame.vertices,i=e.nu,n=e.nv,r=this.uvOffset,s=this.floatsPerVert,o=this._renderData.vDatas[0],a=0;a<i.length;a++){var c=s*a+r;o[c]=i[a],o[c+1]=n[a]}},e.prototype.updateVerts=function(t){var e=t.node,i=Math.abs(e.width),n=Math.abs(e.height),r=e.anchorX*i,s=e.anchorY*n,o=t.spriteFrame,a=o.vertices,c=a.x,l=a.y,h=o._originalSize.width,u=o._originalSize.height,_=o._rect.width,f=o._rect.height,d=o._offset.x+(h-_)/2,p=o._offset.y+(u-f)/2,m=i/(t.trim?_:h),y=n/(t.trim?f:u),v=this._local;if(t.trim)for(var g=0,x=c.length;g<x;g++){var C=2*g;v[C]=(c[g]-d)*m-r,v[C+1]=(u-l[g]-p)*y-s}else for(var A=0,b=c.length;A<b;A++){var S=2*A;v[S]=c[A]*m-r,v[S+1]=(u-l[A])*y-s}},e.prototype.updateWorldVerts=function(t){for(var e=t.node._worldMatrix.m,i=e[0],n=e[1],r=e[4],s=e[5],o=e[12],a=e[13],c=this._local,l=this._renderData.vDatas[0],h=this.floatsPerVert,u=0,_=this.verticesCount;u<_;u++){var f=c[2*u],d=c[2*u+1];l[h*u]=f*i+d*r+o,l[h*u+1]=f*n+d*s+a}},e})(function(t){return t&&t.__esModule?t:{default:t}}(t("../../../../assembler-2d")).default);i.default=o,e.exports=i.default}),{"../../../../assembler-2d":186}],228:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n=(function(t){return t&&t.__esModule?t:{default:t}})(t("../../../../assembler-2d"));function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function o(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}var a=2*Math.PI,c=[cc.v2(0,0),cc.v2(0,0),cc.v2(0,0),cc.v2(0,0)],l=[0,0,0,0],h=[0,0,0,0,0,0,0,0],u=[cc.v2(0,0),cc.v2(0,0),cc.v2(0,0),cc.v2(0,0)],_=[cc.v2(0,0),cc.v2(0,0),cc.v2(0,0),cc.v2(0,0)],f=cc.v2(0,0),d=[];function p(t,e,i,n,r,s,o){var a=Math.sin(s),c=Math.cos(s),l=void 0,h=void 0;if(0!==Math.cos(s)){if(l=a/c,(t-r.x)*c>0){var u=r.y+l*(t-r.x);o[0].x=t,o[0].y=u}if((e-r.x)*c>0){var _=r.y+l*(e-r.x);o[2].x=e,o[2].y=_}}if(0!==Math.sin(s)){if(h=c/a,(n-r.y)*a>0){var f=r.x+h*(n-r.y);o[3].x=f,o[3].y=n}if((i-r.y)*a>0){var d=r.x+h*(i-r.y);o[1].x=d,o[1].y=i}}}function m(t){var e=t.node,i=e.width,n=e.height,r=e.anchorX*i,s=e.anchorY*n,o=-r,a=-s,h=i-r,u=n-s,_=l;_[0]=o,_[1]=a,_[2]=h,_[3]=u;var p=t._fillCenter,m=f.x=Math.min(Math.max(0,p.x),1)*(h-o)+o,y=f.y=Math.min(Math.max(0,p.y),1)*(u-a)+a;c[0].x=c[3].x=o,c[1].x=c[2].x=h,c[0].y=c[1].y=a,c[2].y=c[3].y=u,d.length=0,m!==_[0]&&(d[0]=[3,0]),m!==_[2]&&(d[2]=[1,2]),y!==_[1]&&(d[1]=[0,1]),y!==_[3]&&(d[3]=[2,3])}function y(t){var e=t._texture.width,i=t._texture.height,n=t._rect,r=void 0,s=void 0,o=void 0,a=void 0,c=h;t._rotated?(r=n.x/e,s=(n.x+n.height)/e,o=n.y/i,a=(n.y+n.width)/i,c[0]=c[2]=r,c[4]=c[6]=s,c[3]=c[7]=a,c[1]=c[5]=o):(r=n.x/e,s=(n.x+n.width)/e,o=n.y/i,a=(n.y+n.height)/i,c[0]=c[4]=r,c[2]=c[6]=s,c[1]=c[3]=a,c[5]=c[7]=o)}function v(t,e){var i,n;if(i=e.x-t.x,n=e.y-t.y,0!==i||0!==n){if(0===i)return n>0?.5*Math.PI:1.5*Math.PI;var r=Math.atan(n/i);return i<0&&(r+=Math.PI),r}}var g=(function(t){function e(){return r(this,e),s(this,t.apply(this,arguments))}return o(e,t),e.prototype.initData=function(t){this._renderData.createFlexData(0,4,6,this.getVfmt())},e.prototype.updateRenderData=function(e){t.prototype.updateRenderData.call(this,e);var i=e.spriteFrame;if(i&&(this.packToDynamicAtlas(e,i),e._vertsDirty)){var n=e._fillStart,r=e._fillRange;for(r<0&&(n+=r,r=-r);n>=1;)n-=1;for(;n<0;)n+=1;n*=a,r*=a,m(e),y(i),p(l[0],l[2],l[1],l[3],f,n,u),p(l[0],l[2],l[1],l[3],f,n+r,_),this.updateVerts(e,n,r),e._vertsDirty=!1}},e.prototype.updateVerts=function(t,e,i){for(var n=e+i,r=this._local,s=0,o=3*this.floatsPerVert,l=0;l<4;++l){var h=d[l];if(h)if(i>=a)r.length=s+o,this._generateTriangle(r,s,f,c[h[0]],c[h[1]]),s+=o;else{var p=v(f,c[h[0]]),m=v(f,c[h[1]]);m<p&&(m+=a),p-=a,m-=a;for(var y=0;y<3;++y)p>=n||(p>=e?(r.length=s+o,m>=n?this._generateTriangle(r,s,f,c[h[0]],_[l]):this._generateTriangle(r,s,f,c[h[0]],c[h[1]]),s+=o):m<=e||(m<=n?(r.length=s+o,this._generateTriangle(r,s,f,u[l],c[h[1]]),s+=o):(r.length=s+o,this._generateTriangle(r,s,f,u[l],_[l]),s+=o))),p+=a,m+=a}}this.allocWorldVerts(t),this.updateWorldVerts(t)},e.prototype.allocWorldVerts=function(t){var e=t.node._color._val,i=this._renderData,n=this.floatsPerVert,r=this._local,s=r.length/n;this.verticesCount=this.indicesCount=s;var o=i._flexBuffer;if(o.reserve(s,s))for(var a=i.iDatas[0],c=0;c<s;c++)a[c]=c;o.used(this.verticesCount,this.indicesCount);for(var l=i.vDatas[0],h=i.uintVDatas[0],u=this.uvOffset,_=0;_<r.length;_+=n){var f=_+u;l[f]=r[f],l[f+1]=r[f+1],h[f+2]=e}},e.prototype.updateWorldVerts=function(t){for(var e=t.node._worldMatrix.m,i=e[0],n=e[1],r=e[4],s=e[5],o=e[12],a=e[13],c=this._local,l=this._renderData.vDatas[0],h=this.floatsPerVert,u=0;u<c.length;u+=h){var _=c[u],f=c[u+1];l[u]=_*i+f*r+o,l[u+1]=_*n+f*s+a}},e.prototype._generateTriangle=function(t,e,i,n,r){var s=l,o=s[0],a=s[1],c=s[2],h=s[3],u=this.floatsPerVert;t[e]=i.x,t[e+1]=i.y,t[e+u]=n.x,t[e+u+1]=n.y,t[e+2*u]=r.x,t[e+2*u+1]=r.y;var _=this.uvOffset,f=void 0,d=void 0;f=(i.x-o)/(c-o),d=(i.y-a)/(h-a),this._generateUV(f,d,t,e+_),f=(n.x-o)/(c-o),d=(n.y-a)/(h-a),this._generateUV(f,d,t,e+u+_),f=(r.x-o)/(c-o),d=(r.y-a)/(h-a),this._generateUV(f,d,t,e+2*u+_)},e.prototype._generateUV=function(t,e,i,n){var r=h,s=r[0]+(r[2]-r[0])*t,o=r[4]+(r[6]-r[4])*t,a=r[1]+(r[3]-r[1])*t,c=r[5]+(r[7]-r[5])*t;i[n]=s+(o-s)*e,i[n+1]=a+(c-a)*e},e})(n.default);i.default=g,e.exports=i.default}),{"../../../../assembler-2d":186}],229:[(function(t,e,i){"use strict";function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function r(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function s(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}i.__esModule=!0,i.default=void 0;var o=(function(t){function e(){return n(this,e),r(this,t.apply(this,arguments))}return s(e,t),e.prototype.updateRenderData=function(t){var e=t._spriteFrame;e&&(this.packToDynamicAtlas(t,e),t._vertsDirty&&(this.updateUVs(t),this.updateVerts(t),t._vertsDirty=!1))},e.prototype.updateUVs=function(t){for(var e=t._spriteFrame.uv,i=this.uvOffset,n=this.floatsPerVert,r=this._renderData.vDatas[0],s=0;s<4;s++){var o=2*s,a=n*s+i;r[a]=e[o],r[a+1]=e[o+1]}},e.prototype.updateVerts=function(t){var e=t.node,i=e.width,n=e.height,r=e.anchorX*i,s=e.anchorY*n,o=void 0,a=void 0,c=void 0,l=void 0;if(t.trim)o=-r,a=-s,c=i-r,l=n-s;else{var h=t.spriteFrame,u=h._originalSize.width,_=h._originalSize.height,f=h._rect.width,d=h._rect.height,p=h._offset,m=i/u,y=n/_,v=p.x+(u-f)/2,g=p.x-(u-f)/2;o=v*m-r,a=(p.y+(_-d)/2)*y-s,c=i+g*m-r,l=n+(p.y-(_-d)/2)*y-s}var x=this._local;x[0]=o,x[1]=a,x[2]=c,x[3]=l,this.updateWorldVerts(t)},e})(function(t){return t&&t.__esModule?t:{default:t}}(t("../../../../assembler-2d")).default);i.default=o,e.exports=i.default}),{"../../../../assembler-2d":186}],230:[(function(t,e,i){"use strict";function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function r(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function s(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}i.__esModule=!0,i.default=void 0;var o=(function(t){function e(){return n(this,e),r(this,t.apply(this,arguments))}return s(e,t),e.prototype.initData=function(t){if(!(this._renderData.meshCount>0)){this._renderData.createData(0,this.verticesFloats,this.indicesCount);for(var e=this._renderData.iDatas[0],i=0,n=0;n<3;++n)for(var r=0;r<3;++r){var s=4*n+r;e[i++]=s,e[i++]=s+1,e[i++]=s+4,e[i++]=s+1,e[i++]=s+5,e[i++]=s+4}}},e.prototype.initLocal=function(){this._local=[],this._local.length=8},e.prototype.updateRenderData=function(t){var e=t._spriteFrame;e&&(this.packToDynamicAtlas(t,e),t._vertsDirty&&(this.updateUVs(t),this.updateVerts(t),t._vertsDirty=!1))},e.prototype.updateVerts=function(t){var e=t.node,i=e.width,n=e.height,r=e.anchorX*i,s=e.anchorY*n,o=t.spriteFrame,a=o.insetLeft,c=o.insetRight,l=o.insetTop,h=o.insetBottom,u=i-a-c,_=n-l-h,f=i/(a+c),d=n/(l+h);f=isNaN(f)||f>1?1:f,d=isNaN(d)||d>1?1:d,u=u<0?0:u,_=_<0?0:_;var p=this._local;p[0]=-r,p[1]=-s,p[2]=a*f-r,p[3]=h*d-s,p[4]=p[2]+u,p[5]=p[3]+_,p[6]=i-r,p[7]=n-s,this.updateWorldVerts(t)},e.prototype.updateUVs=function(t){for(var e=this._renderData.vDatas[0],i=t.spriteFrame.uvSliced,n=this.uvOffset,r=this.floatsPerVert,s=0;s<4;++s)for(var o=0;o<4;++o){var a=4*s+o,c=i[a],l=a*r;e[l+n]=c.u,e[l+n+1]=c.v}},e.prototype.updateWorldVerts=function(t){for(var e=t.node._worldMatrix.m,i=e[0],n=e[1],r=e[4],s=e[5],o=e[12],a=e[13],c=this._local,l=this._renderData.vDatas[0],h=this.floatsPerVert,u=0;u<4;++u)for(var _=c[2*u+1],f=0;f<4;++f){var d=c[2*f],p=(4*u+f)*h;l[p]=d*i+_*r+o,l[p+1]=d*n+_*s+a}},e})(function(t){return t&&t.__esModule?t:{default:t}}(t("../../../../assembler-2d")).default);i.default=o,Object.assign(o.prototype,{verticesCount:16,indicesCount:54}),e.exports=i.default}),{"../../../../assembler-2d":186}],231:[(function(t,e,i){"use strict";function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function r(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function s(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}i.__esModule=!0,i.default=void 0;var o=(function(t){function e(){return n(this,e),r(this,t.apply(this,arguments))}return s(e,t),e.prototype.initData=function(t){this.verticesCount=0,this.contentWidth=0,this.contentHeight=0,this.rectWidth=0,this.rectHeight=0,this.hRepeat=0,this.vRepeat=0,this.row=0,this.col=0,this._local={x:[],y:[]},this._renderData.createFlexData(0,4,6,this.getVfmt()),this._updateIndices()},e.prototype._updateIndices=function(){for(var t=this._renderData.iDatas[0],e=0,i=0,n=t.length;e<n;e+=6,i+=4)t[e]=i,t[e+1]=i+1,t[e+2]=i+2,t[e+3]=i+1,t[e+4]=i+3,t[e+5]=i+2},e.prototype.updateRenderData=function(t){var e=t._spriteFrame;if(e){this.packToDynamicAtlas(t,e);var i=t.node,n=this.contentWidth=Math.abs(i.width),r=this.contentHeight=Math.abs(i.height),s=e._rect,o=this.rectWidth=s.width,a=this.rectHeight=s.height,c=this.hRepeat=n/o,l=this.vRepeat=r/a,h=(this.row=Math.ceil(l))*(this.col=Math.ceil(c));this.verticesCount=4*h,this.indicesCount=6*h;var u=this._renderData._flexBuffer;u.reserve(this.verticesCount,this.indicesCount)&&(this._updateIndices(),this.updateColor(t)),u.used(this.verticesCount,this.indicesCount),t._vertsDirty&&(this.updateUVs(t),this.updateVerts(t),t._vertsDirty=!1)}},e.prototype.updateVerts=function(t){var e=t.node,i=e.anchorX*e.width,n=e.anchorY*e.height,r=this.row,s=this.col,o=this.rectWidth,a=this.rectHeight,c=this.contentWidth,l=this.contentHeight,h=this._local,u=h.x,_=h.y;u.length=_.length=0;for(var f=0;f<=s;++f)u[f]=Math.min(o*f,c)-i;for(var d=0;d<=r;++d)_[d]=Math.min(a*d,l)-n;this.updateWorldVerts(t)},e.prototype.updateWorldVerts=function(t){for(var e=this._renderData,i=this._local,n=i.x,r=i.y,s=e.vDatas[0],o=this.row,a=this.col,c=t.node._worldMatrix.m,l=c[0],h=c[1],u=c[4],_=c[5],f=c[12],d=c[13],p=void 0,m=void 0,y=void 0,v=void 0,g=this.floatsPerVert,x=0,C=0,A=o;C<A;++C){y=r[C],v=r[C+1];for(var b=0,S=a;b<S;++b)p=n[b],m=n[b+1],s[x]=p*l+y*u+f,s[x+1]=p*h+y*_+d,s[x+=g]=m*l+y*u+f,s[x+1]=m*h+y*_+d,s[x+=g]=p*l+v*u+f,s[x+1]=p*h+v*_+d,s[x+=g]=m*l+v*u+f,s[x+1]=m*h+v*_+d,x+=g}},e.prototype.updateUVs=function(t){var e=this._renderData.vDatas[0];if(e)for(var i=this.row,n=this.col,r=this.hRepeat,s=this.vRepeat,o=t.spriteFrame.uv,a=t.spriteFrame._rotated,c=this.floatsPerVert,l=this.uvOffset,h=0,u=i;h<u;++h)for(var _=Math.min(1,s-h),f=0,d=n;f<d;++f){var p=Math.min(1,r-f);a?(e[l]=o[0],e[l+1]=o[1],e[l+=c]=o[0],e[l+1]=o[1]+(o[7]-o[1])*p,e[l+=c]=o[0]+(o[6]-o[0])*_,e[l+1]=o[1],e[l+=c]=e[l-c],e[l+1]=e[l+1-2*c],l+=c):(e[l]=o[0],e[l+1]=o[1],e[l+=c]=o[0]+(o[6]-o[0])*p,e[l+1]=o[1],e[l+=c]=o[0],e[l+1]=o[1]+(o[7]-o[1])*_,e[l+=c]=e[l-2*c],e[l+1]=e[l+1-c],l+=c)}},e})(function(t){return t&&t.__esModule?t:{default:t}}(t("../../../../assembler-2d")).default);i.default=o,e.exports=i.default}),{"../../../../assembler-2d":186}],232:[(function(t,e,i){"use strict";var n=y(t("../../../assembler")),r=t("../../../../components/CCSprite"),s=y(t("./2d/simple")),o=y(t("./2d/sliced")),a=y(t("./2d/tiled")),c=y(t("./2d/radial-filled")),l=y(t("./2d/bar-filled")),h=y(t("./2d/mesh")),u=y(t("./3d/simple")),_=y(t("./3d/sliced")),f=y(t("./3d/tiled")),d=y(t("./3d/radial-filled")),p=y(t("./3d/bar-filled")),m=y(t("./3d/mesh"));function y(t){return t&&t.__esModule?t:{default:t}}var v={getConstructor:function(t){var e=t.node.is3DNode,i=e?u.default:s.default;switch(t.type){case r.Type.SLICED:i=e?_.default:o.default;break;case r.Type.TILED:i=e?f.default:a.default;break;case r.Type.FILLED:i=t._fillType===r.FillType.RADIAL?e?d.default:c.default:e?p.default:l.default;break;case r.Type.MESH:i=e?m.default:h.default}return i},Simple:s.default,Sliced:o.default,Tiled:a.default,RadialFilled:c.default,BarFilled:l.default,Mesh:h.default,Simple3D:u.default,Sliced3D:_.default,Tiled3D:f.default,RadialFilled3D:d.default,BarFilled3D:p.default,Mesh3D:m.default};n.default.register(cc.Sprite,v)}),{"../../../../components/CCSprite":84,"../../../assembler":187,"./2d/bar-filled":226,"./2d/mesh":227,"./2d/radial-filled":228,"./2d/simple":229,"./2d/sliced":230,"./2d/tiled":231,"./3d/bar-filled":void 0,"./3d/mesh":void 0,"./3d/radial-filled":void 0,"./3d/simple":void 0,"./3d/sliced":void 0,"./3d/tiled":void 0}],233:[(function(t,e,i){"use strict";function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}i.__esModule=!0;var r=(function(){function t(e,i,r,s,o){n(this,t),this._handler=e,this._index=i,this._vfmt=o,this._verticesBytes=o._bytes,this._initVerticesCount=r,this._initIndicesCount=s,this.reset()}return t.prototype._reallocVData=function(t,e){this.vData=new Float32Array(t),this.uintVData=new Uint32Array(this.vData.buffer),e&&this.vData.set(e),this._handler.updateMesh(this._index,this.vData,this.iData)},t.prototype._reallocIData=function(t,e){this.iData=new Uint16Array(t),e&&this.iData.set(e),this._handler.updateMesh(this._index,this.vData,this.iData)},t.prototype.reserve=function(t,e){var i=t*this._verticesBytes>>2,n=this.vData.length,r=!1;if(i>n){for(;n<i;)n*=2;this._reallocVData(n,this.vData),r=!0}var s=this.iData.length;if(e>s){for(;s<e;)s*=2;this._reallocIData(e,this.iData),r=!0}return r},t.prototype.used=function(t,e){this.usedVertices=t,this.usedIndices=e,this.usedVerticesFloats=t*this._verticesBytes>>2,this._handler.updateMeshRange(t,e)},t.prototype.reset=function(){var t=this._initVerticesCount*this._verticesBytes>>2;this._reallocVData(t),this._reallocIData(this._initIndicesCount),this.usedVertices=0,this.usedVerticesFloats=0,this.usedIndices=0},t})();i.default=r,cc.FlexBuffer=r,e.exports=i.default}),{}],234:[(function(t,e,i){"use strict";var n=(function(t){return t&&t.__esModule?t:{default:t}})(t("../../../renderer/gfx"));var r=cc.Class({name:"cc.MeshBuffer",ctor:function(t,e){this.init(t,e)},init:function(t,e){this.byteOffset=0,this.indiceOffset=0,this.vertexOffset=0,this.indiceStart=0,this._dirty=!1,this._vertexFormat=e,this._vertexBytes=this._vertexFormat._bytes,this._arrOffset=0,this._vbArr=[],this._vb=new n.default.VertexBuffer(t._device,e,n.default.USAGE_DYNAMIC,new ArrayBuffer,0),this._vbArr[0]=this._vb,this._ibArr=[],this._ib=new n.default.IndexBuffer(t._device,n.default.INDEX_FMT_UINT16,n.default.USAGE_STATIC,new ArrayBuffer,0),this._ibArr[0]=this._ib,this._vData=null,this._uintVData=null,this._iData=null,this._batcher=t,this._initVDataCount=256*e._bytes,this._initIDataCount=1536,this._offsetInfo={byteOffset:0,vertexOffset:0,indiceOffset:0},this._reallocBuffer()},uploadData:function(){if(0!==this.byteOffset&&this._dirty){var t=new Float32Array(this._vData.buffer,0,this.byteOffset>>2),e=new Uint16Array(this._iData.buffer,0,this.indiceOffset);this._vb.update(0,t),this._ib.update(0,e),this._dirty=!1}},switchBuffer:function(){var t=++this._arrOffset;this.byteOffset=0,this.vertexOffset=0,this.indiceOffset=0,this.indiceStart=0,t<this._vbArr.length?(this._vb=this._vbArr[t],this._ib=this._ibArr[t]):(this._vb=new n.default.VertexBuffer(this._batcher._device,this._vertexFormat,n.default.USAGE_DYNAMIC,new ArrayBuffer,0),this._vbArr[t]=this._vb,this._ib=new n.default.IndexBuffer(this._batcher._device,n.default.INDEX_FMT_UINT16,n.default.USAGE_STATIC,new ArrayBuffer,0),this._ibArr[t]=this._ib)},checkAndSwitchBuffer:function(t){this.vertexOffset+t>65535&&(this.uploadData(),this._batcher._flush(),this.switchBuffer())},requestStatic:function(t,e){this.checkAndSwitchBuffer(t);var i=this.byteOffset+t*this._vertexBytes,n=this.indiceOffset+e,r=this._vData.byteLength,s=this._iData.length;if(i>r||n>s){for(;r<i||s<n;)this._initVDataCount*=2,this._initIDataCount*=2,r=4*this._initVDataCount,s=this._initIDataCount;this._reallocBuffer()}this._updateOffset(t,e,i)},_updateOffset:function(t,e,i){var n=this._offsetInfo;n.vertexOffset=this.vertexOffset,this.vertexOffset+=t,n.indiceOffset=this.indiceOffset,this.indiceOffset+=e,n.byteOffset=this.byteOffset,this.byteOffset=i,this._dirty=!0},request:function(t,e){return this._batcher._buffer!==this&&(this._batcher._flush(),this._batcher._buffer=this),this.requestStatic(t,e),this._offsetInfo},_reallocBuffer:function(){this._reallocVData(!0),this._reallocIData(!0)},_reallocVData:function(t){var e=void 0;this._vData&&(e=new Uint8Array(this._vData.buffer)),this._vData=new Float32Array(this._initVDataCount),this._uintVData=new Uint32Array(this._vData.buffer);var i=new Uint8Array(this._uintVData.buffer);if(e&&t)for(var n=0,r=e.length;n<r;n++)i[n]=e[n]},_reallocIData:function(t){var e=this._iData;if(this._iData=new Uint16Array(this._initIDataCount),e&&t)for(var i=this._iData,n=0,r=e.length;n<r;n++)i[n]=e[n]},reset:function(){this._arrOffset=0,this._vb=this._vbArr[0],this._ib=this._ibArr[0],this.byteOffset=0,this.indiceOffset=0,this.vertexOffset=0,this.indiceStart=0,this._dirty=!1},destroy:function(){this.reset();for(var t=0;t<this._vbArr.length;t++){this._vbArr[t].destroy()}this._vbArr=null;for(var e=0;e<this._ibArr.length;e++){this._ibArr[e].destroy()}this._ibArr=null,this._ib=null,this._vb=null},forwardIndiceStartToOffset:function(){this.indiceStart=this.indiceOffset}});cc.MeshBuffer=e.exports=r}),{"../../../renderer/gfx":308}],235:[(function(t,e,i){"use strict";var n=o(t("../../../renderer/core/input-assembler")),r=o(t("../../../renderer/memop/recycle-pool")),s=o(t("../../../renderer/scene/model"));function o(t){return t&&t.__esModule?t:{default:t}}var a=t("./vertex-format"),c=a.vfmtPosUvColor,l=a.vfmt3D,h=t("./quad-buffer"),u=t("./mesh-buffer"),_=t("./spine-buffer"),f=t("../../assets/material/CCMaterial"),d=(new(t("../../platform/id-generater"))("VertextFormat"),{}),p=new f,m=new n.default;m._count=0;var y=function(t,e){this._renderScene=e,this._device=t,this.walking=!1,this.material=p,this.cullingMask=1,this._iaPool=new r.default(function(){return new n.default},16),this._modelPool=new r.default(function(){return new s.default},16),this._quadBuffer=this.getBuffer("quad",c),this._meshBuffer=this.getBuffer("mesh",c),this._quadBuffer3D=this.getBuffer("quad",l),this._meshBuffer3D=this.getBuffer("mesh",l),this._buffer=this._meshBuffer,this._batchedModels=[],this._dummyNode=new cc.Node,this._sortKey=0,this.node=this._dummyNode,this.parentOpacity=1,this.parentOpacityDirty=0,this.worldMatDirty=0,this.customProperties=null};y.prototype={constructor:y,reset:function(){this._iaPool.reset();for(var t=this._renderScene,e=this._batchedModels,i=0;i<e.length;++i)e[i].setInputAssembler(null),e[i].setEffect(null),t.removeModel(e[i]);for(var n in this._modelPool.reset(),e.length=0,this._sortKey=0,d)d[n].reset();this._buffer=this._meshBuffer,this.node=this._dummyNode,this.material=p,this.cullingMask=1,this.parentOpacity=1,this.parentOpacityDirty=0,this.worldMatDirty=0,this.customProperties=null},_flushMaterial:function(t){this.material=t;var e=t.effect;if(e){var i=this._modelPool.add();this._batchedModels.push(i),i.sortKey=this._sortKey++,i._cullingMask=this.cullingMask,i.setNode(this.node),i.setEffect(e,null),i.setInputAssembler(m),this._renderScene.addModel(i)}},_flush:function(){var t=this.material,e=this._buffer,i=e.indiceOffset-e.indiceStart;if(this.walking&&t&&!(i<=0)){var n=t.effect;if(n){var r=this._iaPool.add();r._vertexBuffer=e._vb,r._indexBuffer=e._ib,r._start=e.indiceStart,r._count=i;var s=this._modelPool.add();this._batchedModels.push(s),s.sortKey=this._sortKey++,s._cullingMask=this.cullingMask,s.setNode(this.node),s.setEffect(n,this.customProperties),s.setInputAssembler(r),this._renderScene.addModel(s),e.forwardIndiceStartToOffset()}}},_flushIA:function(t){if(t){var e=this.material.effect;if(e){var i=this._modelPool.add();this._batchedModels.push(i),i.sortKey=this._sortKey++,i._cullingMask=this.cullingMask,i.setNode(this.node),i.setEffect(e,this.customProperties),i.setInputAssembler(t),this._renderScene.addModel(i)}}},terminate:function(){for(var t in cc.dynamicAtlasManager&&cc.dynamicAtlasManager.enabled&&cc.dynamicAtlasManager.update(),this._flush(),d)d[t].uploadData();this.walking=!1},getBuffer:function(t,e){var i=t+e.getHash(),n=d[i];if(!n){if("mesh"===t)n=new u(this,e);else if("quad"===t)n=new h(this,e);else{if("spine"!==t)return cc.error("Not support buffer type ["+t+"]"),null;n=new _(this,e)}d[i]=n}return n}},e.exports=y}),{"../../../renderer/core/input-assembler":298,"../../../renderer/memop/recycle-pool":323,"../../../renderer/scene/model":329,"../../assets/material/CCMaterial":53,"../../platform/id-generater":176,"./mesh-buffer":234,"./quad-buffer":236,"./spine-buffer":238,"./vertex-format":239}],236:[(function(t,e,i){"use strict";var n=t("./mesh-buffer"),r=cc.Class({name:"cc.QuadBuffer",extends:n,_fillQuadBuffer:function(){for(var t=this._initIDataCount/6,e=this._iData,i=0,n=0;i<t;i++){var r=4*i;e[n++]=r,e[n++]=r+1,e[n++]=r+2,e[n++]=r+1,e[n++]=r+3,e[n++]=r+2}var s=new Uint16Array(this._iData.buffer,0,6*t);this._ib.update(0,s)},uploadData:function(){if(0!==this.byteOffset&&this._dirty){var t=new Float32Array(this._vData.buffer,0,this.byteOffset>>2);this._vb.update(0,t),this._dirty=!1}},switchBuffer:function(){this._super();var t=new Uint16Array(this._iData.buffer,0,this._initIDataCount);this._ib.update(0,t)},_reallocBuffer:function(){this._reallocVData(!0),this._reallocIData(),this._fillQuadBuffer()}});cc.QuadBuffer=e.exports=r}),{"./mesh-buffer":234}],237:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=s;var n=(function(t){return t&&t.__esModule?t:{default:t}})(t("./flex-buffer")),r=t("./vertex-format");function s(){this.vDatas=[],this.uintVDatas=[],this.iDatas=[],this.meshCount=0,this._infos=null,this._flexBuffer=null}cc.js.mixin(s.prototype,{init:function(t){},clear:function(){this.vDatas.length=0,this.iDatas.length=0,this.uintVDatas.length=0,this.meshCount=0,this._infos=null,this._flexBuffer&&this._flexBuffer.reset()},updateMesh:function(t,e,i){this.vDatas[t]=e,this.uintVDatas[t]=new Uint32Array(e.buffer,0,e.length),this.iDatas[t]=i,this.meshCount=this.vDatas.length},updateMeshRange:function(t,e){},createData:function(t,e,i){var n=new Float32Array(e),r=new Uint16Array(i);this.updateMesh(t,n,r)},createQuadData:function(t,e,i){this.createData(t,e,i),this.initQuadIndices(this.iDatas[t])},createFlexData:function(t,e,i,s){s=s||r.vfmtPosUvColor,this._flexBuffer=new n.default(this,t,e,i,s)},initQuadIndices:function(t){for(var e=t.length/6,i=0,n=0;i<e;i++){var r=4*i;t[n++]=r,t[n++]=r+1,t[n++]=r+2,t[n++]=r+1,t[n++]=r+3,t[n++]=r+2}}}),cc.RenderData=s,e.exports=i.default}),{"./flex-buffer":233,"./vertex-format":239}],238:[(function(t,e,i){"use strict";var n=cc.Class({name:"cc.SpineBuffer",extends:t("./mesh-buffer"),requestStatic:function(t,e){this.checkAndSwitchBuffer(t);var i=this.byteOffset+t*this._vertexBytes,n=this.indiceOffset+e,r=this._vData.byteLength,s=this._iData.length;if(i>r||n>s){for(;r<i||s<n;)this._initVDataCount*=2,this._initIDataCount*=2,r=4*this._initVDataCount,s=this._initIDataCount;this._reallocBuffer()}var o=this._offsetInfo;o.vertexOffset=this.vertexOffset,o.indiceOffset=this.indiceOffset,o.byteOffset=this.byteOffset},adjust:function(t,e){this.vertexOffset+=t,this.indiceOffset+=e,this.byteOffset=this.byteOffset+t*this._vertexBytes,this._dirty=!0}});cc.SpineBuffer=e.exports=n}),{"./mesh-buffer":234}],239:[(function(t,e,i){"use strict";var n=(function(t){return t&&t.__esModule?t:{default:t}})(t("../../../renderer/gfx"));var r=new n.default.VertexFormat([{name:n.default.ATTR_POSITION,type:n.default.ATTR_TYPE_FLOAT32,num:3},{name:n.default.ATTR_UV0,type:n.default.ATTR_TYPE_FLOAT32,num:2},{name:n.default.ATTR_COLOR,type:n.default.ATTR_TYPE_UINT8,num:4,normalize:!0}]);r.name="vfmt3D",n.default.VertexFormat.XYZ_UV_Color=r;var s=new n.default.VertexFormat([{name:n.default.ATTR_POSITION,type:n.default.ATTR_TYPE_FLOAT32,num:2},{name:n.default.ATTR_UV0,type:n.default.ATTR_TYPE_FLOAT32,num:2},{name:n.default.ATTR_COLOR,type:n.default.ATTR_TYPE_UINT8,num:4,normalize:!0}]);s.name="vfmtPosUvColor",n.default.VertexFormat.XY_UV_Color=s;var o=new n.default.VertexFormat([{name:n.default.ATTR_POSITION,type:n.default.ATTR_TYPE_FLOAT32,num:2},{name:n.default.ATTR_UV0,type:n.default.ATTR_TYPE_FLOAT32,num:2},{name:n.default.ATTR_COLOR,type:n.default.ATTR_TYPE_UINT8,num:4,normalize:!0},{name:n.default.ATTR_COLOR0,type:n.default.ATTR_TYPE_UINT8,num:4,normalize:!0}]);o.name="vfmtPosUvTwoColor",n.default.VertexFormat.XY_UV_Two_Color=o;var a=new n.default.VertexFormat([{name:n.default.ATTR_POSITION,type:n.default.ATTR_TYPE_FLOAT32,num:2},{name:n.default.ATTR_UV0,type:n.default.ATTR_TYPE_FLOAT32,num:2}]);a.name="vfmtPosUv",n.default.VertexFormat.XY_UV=a;var c=new n.default.VertexFormat([{name:n.default.ATTR_POSITION,type:n.default.ATTR_TYPE_FLOAT32,num:2},{name:n.default.ATTR_COLOR,type:n.default.ATTR_TYPE_UINT8,num:4,normalize:!0}]);c.name="vfmtPosColor",n.default.VertexFormat.XY_Color=c;var l=new n.default.VertexFormat([{name:n.default.ATTR_POSITION,type:n.default.ATTR_TYPE_FLOAT32,num:2}]);l.name="vfmtPos",n.default.VertexFormat.XY=l,e.exports={vfmt3D:r,vfmtPosUvColor:s,vfmtPosUvTwoColor:o,vfmtPosUv:a,vfmtPosColor:c,vfmtPos:l}}),{"../../../renderer/gfx":308}],240:[(function(t,e,i){"use strict";t("../platform/CCSys");var n=/(\.[^\.\/\?\\]*)(\?.*)?$/,r=/((.*)(\/|\\|\\\\))?(.*?\..*$)?/,s=/[^\.\/]+\/\.\.\//;cc.path={join:function(){for(var t=arguments.length,e="",i=0;i<t;i++)e=(e+(""===e?"":"/")+arguments[i]).replace(/(\/|\\\\)$/,"");return e},extname:function(t){var e=n.exec(t);return e?e[1]:""},mainFileName:function(t){if(t){var e=t.lastIndexOf(".");if(-1!==e)return t.substring(0,e)}return t},basename:function(t,e){var i=t.indexOf("?");i>0&&(t=t.substring(0,i));var n=/(\/|\\)([^\/\\]+)$/g.exec(t.replace(/(\/|\\)$/,""));if(!n)return null;var r=n[2];return e&&t.substring(t.length-e.length).toLowerCase()===e.toLowerCase()?r.substring(0,r.length-e.length):r},dirname:function(t){var e=r.exec(t);return e?e[2]:""},changeExtname:function(t,e){e=e||"";var i=t.indexOf("?"),n="";return i>0&&(n=t.substring(i),t=t.substring(0,i)),(i=t.lastIndexOf("."))<0?t+e+n:t.substring(0,i)+e+n},changeBasename:function(t,e,i){if(0===e.indexOf("."))return this.changeExtname(t,e);var n=t.indexOf("?"),r="",s=i?this.extname(t):"";return n>0&&(r=t.substring(n),t=t.substring(0,n)),n=(n=t.lastIndexOf("/"))<=0?0:n+1,t.substring(0,n)+e+s+r},_normalize:function(t){var e=t=String(t);do{e=t,t=t.replace(s,"")}while(e.length!==t.length);return t},sep:cc.sys.os===cc.sys.OS_WINDOWS?"\\":"/",stripSep:function(t){return t.replace(/[\/\\]$/,"")}},e.exports=cc.path}),{"../platform/CCSys":169}],241:[(function(t,e,i){"use strict";var n=function(t,e,i,n,r,s){this.a=t,this.b=e,this.c=i,this.d=n,this.tx=r,this.ty=s};n.create=function(t,e,i,n,r,s){return{a:t,b:e,c:i,d:n,tx:r,ty:s}},n.identity=function(){return{a:1,b:0,c:0,d:1,tx:0,ty:0}},n.clone=function(t){return{a:t.a,b:t.b,c:t.c,d:t.d,tx:t.tx,ty:t.ty}},n.concat=function(t,e,i){var n=e.a,r=e.b,s=e.c,o=e.d,a=e.tx,c=e.ty;return t.a=n*i.a+r*i.c,t.b=n*i.b+r*i.d,t.c=s*i.a+o*i.c,t.d=s*i.b+o*i.d,t.tx=a*i.a+c*i.c+i.tx,t.ty=a*i.b+c*i.d+i.ty,t},n.invert=function(t,e){var i=e.a,n=e.b,r=e.c,s=e.d,o=1/(i*s-n*r),a=e.tx,c=e.ty;return t.a=o*s,t.b=-o*n,t.c=-o*r,t.d=o*i,t.tx=o*(r*c-s*a),t.ty=o*(n*a-i*c),t},n.fromMat4=function(t,e){var i=e.m;return t.a=i[0],t.b=i[1],t.c=i[4],t.d=i[5],t.tx=i[12],t.ty=i[13],t},n.transformVec2=function(t,e,i,n){var r,s;return void 0===n?(n=i,r=e.x,s=e.y):(r=e,s=i),t.x=n.a*r+n.c*s+n.tx,t.y=n.b*r+n.d*s+n.ty,t},n.transformSize=function(t,e,i){return t.width=i.a*e.width+i.c*e.height,t.height=i.b*e.width+i.d*e.height,t},n.transformRect=function(t,e,i){var n=e.x,r=e.y,s=n+e.width,o=r+e.height,a=i.a*n+i.c*r+i.tx,c=i.b*n+i.d*r+i.ty,l=i.a*s+i.c*r+i.tx,h=i.b*s+i.d*r+i.ty,u=i.a*n+i.c*o+i.tx,_=i.b*n+i.d*o+i.ty,f=i.a*s+i.c*o+i.tx,d=i.b*s+i.d*o+i.ty,p=Math.min(a,l,u,f),m=Math.max(a,l,u,f),y=Math.min(c,h,_,d),v=Math.max(c,h,_,d);return t.x=p,t.y=y,t.width=m-p,t.height=v-y,t},n.transformObb=function(t,e,i,n,r,s){var o=r.x,a=r.y,c=r.width,l=r.height,h=s.a*o+s.c*a+s.tx,u=s.b*o+s.d*a+s.ty,_=s.a*c,f=s.b*c,d=s.c*l,p=s.d*l;e.x=h,e.y=u,i.x=_+h,i.y=f+u,t.x=d+h,t.y=p+u,n.x=_+d+h,n.y=f+p+u},cc.AffineTransform=e.exports=n}),{}],242:[(function(t,e,i){"use strict";var n=t("../platform/CCObject").Flags,r=t("./misc"),s=t("../platform/js"),o=t("../platform/id-generater"),a=t("../event-manager"),c=t("../renderer/render-flow"),l=n.Destroying,h=n.DontDestroy,u=n.Deactivating,_=new o("Node");function f(t){return t?"string"==typeof t?s.getClassByName(t):t:(cc.errorID(3804),null)}function d(t,e){if(e._sealed)for(var i=0;i<t._components.length;++i){var n=t._components[i];if(n.constructor===e)return n}else for(var r=0;r<t._components.length;++r){var s=t._components[r];if(s instanceof e)return s}return null}function p(t,e,i){if(e._sealed)for(var n=0;n<t._components.length;++n){var r=t._components[n];r.constructor===e&&i.push(r)}else for(var s=0;s<t._components.length;++s){var o=t._components[s];o instanceof e&&i.push(o)}}function m(t,e){for(var i=0;i<t.length;++i){var n=t[i],r=d(n,e);if(r)return r;if(n._children.length>0&&(r=m(n._children,e)))return r}return null}function y(t,e,i){for(var n=0;n<t.length;++n){var r=t[n];p(r,e,i),r._children.length>0&&y(r._children,e,i)}}var v=cc.Class({name:"cc._BaseNode",extends:cc.Object,properties:{_parent:null,_children:[],_active:!0,_components:[],_prefab:null,_persistNode:{get:function(){return(this._objFlags&h)>0},set:function(t){t?this._objFlags|=h:this._objFlags&=~h}},name:{get:function(){return this._name},set:function(t){this._name=t}},uuid:{get:function(){return this._id}},children:{get:function(){return this._children}},childrenCount:{get:function(){return this._children.length}},active:{get:function(){return this._active},set:function(t){if(t=!!t,this._active!==t){this._active=t;var e=this._parent;if(e)e._activeInHierarchy&&cc.director._nodeActivator.activateNode(this,t)}}},activeInHierarchy:{get:function(){return this._activeInHierarchy}}},ctor:function(t){this._name=void 0!==t?t:"New Node",this._activeInHierarchy=!1,this._id=_.getNewId(),cc.director._scheduler&&cc.director._scheduler.enableForTarget(this),this.__eventTargets=[]},getParent:function(){return this._parent},setParent:function(t){if(this._parent!==t){0;var e=this._parent;if(this._parent=t||null,this._onSetParent(t),t&&(a._setDirtyForNode(this),t._children.push(this),t.emit&&t.emit("child-added",this),t._renderFlag|=c.FLAG_CHILDREN),e){if(!(e._objFlags&l)){var i=e._children.indexOf(this);0,e._children.splice(i,1),e.emit&&e.emit("child-removed",this),this._onHierarchyChanged(e),0===e._children.length&&(e._renderFlag&=~c.FLAG_CHILDREN)}}else t&&this._onHierarchyChanged(null)}},attr:function(t){s.mixin(this,t)},getChildByUuid:function(t){if(!t)return cc.log("Invalid uuid"),null;for(var e=this._children,i=0,n=e.length;i<n;i++)if(e[i]._id===t)return e[i];return null},getChildByName:function(t){if(!t)return cc.log("Invalid name"),null;for(var e=this._children,i=0,n=e.length;i<n;i++)if(e[i]._name===t)return e[i];return null},addChild:function(t){cc.assertID(t,1606),cc.assertID(null===t._parent,1605),t.setParent(this)},insertChild:function(t,e){t.parent=this,t.setSiblingIndex(e)},getSiblingIndex:function(){return this._parent?this._parent._children.indexOf(this):0},setSiblingIndex:function(t){if(this._parent)if(this._parent._objFlags&u)cc.errorID(3821);else{var e=this._parent._children;t=-1!==t?t:e.length-1;var i=e.indexOf(this);t!==i&&(e.splice(i,1),t<e.length?e.splice(t,0,this):e.push(this),this._onSiblingIndexChanged&&this._onSiblingIndexChanged(t))}},walk:function(t,e){var i,n,r,s,o=cc._BaseNode,a=1,c=o._stacks[o._stackId];c||(c=[],o._stacks.push(c)),o._stackId++,c.length=0,c[0]=this;var l=null;for(s=!1;a;)if(n=c[--a])if(!s&&t?t(n):s&&e&&e(n),c[a]=null,s){if(s=!1,i)if(i[++r])c[a]=i[r],a++;else if(l&&(c[a]=l,a++,s=!0,l._parent?(r=(i=l._parent._children).indexOf(l),l=l._parent):(l=null,i=null),r<0))break}else n._children.length>0?(l=n,i=n._children,r=0,c[a]=i[r],a++):(c[a]=n,a++,s=!0);c.length=0,o._stackId--},cleanup:function(){},removeFromParent:function(t){this._parent&&(void 0===t&&(t=!0),this._parent.removeChild(this,t))},removeChild:function(t,e){this._children.indexOf(t)>-1&&((e||void 0===e)&&t.cleanup(),t.parent=null)},removeAllChildren:function(t){var e=this._children;void 0===t&&(t=!0);for(var i=e.length-1;i>=0;i--){var n=e[i];n&&(t&&n.cleanup(),n.parent=null)}this._children.length=0},isChildOf:function(t){var e=this;do{if(e===t)return!0;e=e._parent}while(e);return!1},getComponent:function(t){var e=f(t);return e?d(this,e):null},getComponents:function(t){var e=f(t),i=[];return e&&p(this,e,i),i},getComponentInChildren:function(t){var e=f(t);return e?m(this._children,e):null},getComponentsInChildren:function(t){var e=f(t),i=[];return e&&(p(this,e,i),y(this._children,e,i)),i},_checkMultipleComp:!1,addComponent:function(t){var e;if("string"==typeof t){if(!(e=s.getClassByName(t)))return cc.errorID(3807,t),cc._RFpeek()&&cc.errorID(3808,t),null}else{if(!t)return cc.errorID(3804),null;e=t}if("function"!=typeof e)return cc.errorID(3809),null;if(!s.isChildClassOf(e,cc.Component))return cc.errorID(3810),null;var i=e._requireComponent;if(i&&!this.getComponent(i)&&!this.addComponent(i))return null;var n=new e;return n.node=this,this._components.push(n),this._activeInHierarchy&&cc.director._nodeActivator.activateComp(n),n},_addComponentAt:!1,removeComponent:function(t){t?(t instanceof cc.Component||(t=this.getComponent(t)),t&&t.destroy()):cc.errorID(3813)},_getDependComponent:!1,_removeComponent:function(t){if(t){if(!(this._objFlags&l)){var e=this._components.indexOf(t);-1!==e?this._components.splice(e,1):t.node!==this&&cc.errorID(3815)}}else cc.errorID(3814)},destroy:function(){cc.Object.prototype.destroy.call(this)&&(this.active=!1)},destroyAllChildren:function(){for(var t=this._children,e=0;e<t.length;++e)t[e].destroy()},_onSetParent:function(t){},_onPostActivated:function(){},_onBatchRestored:function(){},_onBatchCreated:function(){},_onHierarchyChanged:function(t){var e=this._parent;!this._persistNode||e instanceof cc.Scene||cc.game.removePersistRootNode(this);var i=this._active&&!(!e||!e._activeInHierarchy);this._activeInHierarchy!==i&&cc.director._nodeActivator.activateNode(this,i)},_instantiate:function(t){t||(t=cc.instantiate._clone(this,this));var e=this._prefab;e&&this===e.root&&e.sync;return t._parent=null,t._onBatchRestored(),t},_registerIfAttached:!1,_onPreDestroy:function(){var t,e;this._objFlags|=l;var i=this._parent,n=i&&i._objFlags&l;var r=this._children;for(t=0,e=r.length;t<e;++t)r[t]._destroyImmediate();for(t=0,e=this._components.length;t<e;++t){this._components[t]._destroyImmediate()}var s=this.__eventTargets;for(t=0,e=s.length;t<e;++t){var o=s[t];o&&o.targetOff(this)}if(s.length=0,this._persistNode&&cc.game.removePersistRootNode(this),!n&&i){var a=i._children.indexOf(this);i._children.splice(a,1),i.emit&&i.emit("child-removed",this)}return n},onRestore:!1});v.idGenerater=_,v._stacks=[[]],v._stackId=0,v.prototype._onPreDestroyBase=v.prototype._onPreDestroy,v.prototype._onHierarchyChangedBase=v.prototype._onHierarchyChanged;r.propertyDefine(v,["parent","name","children","childrenCount"],{}),cc._BaseNode=e.exports=v}),{"../event-manager":96,"../platform/CCObject":166,"../platform/id-generater":176,"../platform/js":180,"../renderer/render-flow":208,"./misc":249}],243:[(function(t,e,i){"use strict";var n=1e-6;e.exports={binarySearchEpsilon:function(t,e){for(var i=0,r=t.length-1,s=r>>>1;i<=r;s=i+r>>>1){var o=t[s];if(o>e+n)r=s-1;else{if(!(o<e-n))return s;i=s+1}}return~i}}}),{}],244:[(function(t,e,i){"use strict";var n=t("../components/CCRenderComponent"),r=t("../platform/CCMacro").BlendFactor,s=t("../../renderer/gfx"),o=cc.Class({properties:{_srcBlendFactor:r.SRC_ALPHA,_dstBlendFactor:r.ONE_MINUS_SRC_ALPHA,srcBlendFactor:{get:function(){return this._srcBlendFactor},set:function(t){this._srcBlendFactor!==t&&(this._srcBlendFactor=t,this._updateBlendFunc())},animatable:!1,type:r,tooltip:!1,visible:!0},dstBlendFactor:{get:function(){return this._dstBlendFactor},set:function(t){this._dstBlendFactor!==t&&(this._dstBlendFactor=t,this._updateBlendFunc())},animatable:!1,type:r,tooltip:!1,visible:!0}},setMaterial:function(t,e){this._materials[t]!==e&&(n.prototype.setMaterial.call(this,t,e),e&&this._updateMaterialBlendFunc(e))},_updateBlendFunc:function(){for(var t=this._materials,e=0;e<t.length;e++){var i=t[e];this._updateMaterialBlendFunc(i)}},_updateMaterialBlendFunc:function(t){t.effect.setBlend(!0,s.BLEND_FUNC_ADD,this._srcBlendFactor,this._dstBlendFactor,s.BLEND_FUNC_ADD,this._srcBlendFactor,this._dstBlendFactor),t.setDirty(!0)}});e.exports=cc.BlendFunc=o}),{"../../renderer/gfx":308,"../components/CCRenderComponent":80,"../platform/CCMacro":165}],245:[(function(t,e,i){"use strict";var n=t("./misc").BASE64_VALUES,r="0123456789abcdef".split(""),s=["","","",""],o=s.concat(s,"-",s,"-",s,"-",s,"-",s,s,s),a=o.map((function(t,e){return"-"===t?NaN:e})).filter(isFinite);e.exports=function(t){if(22!==t.length)return t;o[0]=t[0],o[1]=t[1];for(var e=2,i=2;e<22;e+=2){var s=n[t.charCodeAt(e)],c=n[t.charCodeAt(e+1)];o[a[i++]]=r[s>>2],o[a[i++]]=r[(3&s)<<2|c>>4],o[a[i++]]=r[15&c]}return o.join("")}}),{"./misc":249}],246:[(function(t,e,i){"use strict";cc.find=e.exports=function(t,e){if(null==t)return cc.errorID(5600),null;if(e)0;else{var i=cc.director.getScene();if(!i)return null;e=i}for(var n=e,r="/"!==t[0]?0:1,s=t.split("/"),o=r;o<s.length;o++){var a=s[o],c=n._children;n=null;for(var l=0,h=c.length;l<h;++l){var u=c[l];if(u.name===a){n=u;break}}if(!n)return null}return n}}),{}],247:[(function(t,e,i){"use strict";var n=t("../assets/material/CCMaterial");function r(){this._graySpriteMaterial=null,this._spriteMaterial=null}r.prototype._switchGrayMaterial=function(t,e){if(cc.game.renderType!==cc.game.RENDER_TYPE_CANVAS){var i=void 0;t?((i=this._graySpriteMaterial)||(i=n.getBuiltinMaterial("2d-gray-sprite")),i=this._graySpriteMaterial=n.getInstantiatedMaterial(i,e)):((i=this._spriteMaterial)||(i=e.sharedMaterials[0]||n.getBuiltinMaterial("2d-sprite",e)),i=this._spriteMaterial=n.getInstantiatedMaterial(i,e)),e.setMaterial(0,i)}},e.exports=r}),{"../assets/material/CCMaterial":53}],248:[(function(t,e,i){"use strict";t("./CCPath"),t("./profiler/CCProfiler"),t("./find"),t("./mutable-forward-iterator")}),{"./CCPath":240,"./find":246,"./mutable-forward-iterator":250,"./profiler/CCProfiler":252}],249:[(function(t,e,i){"use strict";for(var n=t("../platform/js"),r={propertyDefine:function(t,e,i){function r(t,e,i,r){var s=Object.getOwnPropertyDescriptor(t,e);if(s)s.get&&(t[i]=s.get),s.set&&r&&(t[r]=s.set);else{var o=t[i];n.getset(t,e,o,t[r])}}for(var s,o=t.prototype,a=0;a<e.length;a++){var c=(s=e[a])[0].toUpperCase()+s.slice(1);r(o,s,"get"+c,"set"+c)}for(s in i){var l=i[s];r(o,s,l[0],l[1])}},NextPOT:function(t){return t-=1,t|=t>>1,t|=t>>2,t|=t>>4,t|=t>>8,(t|=t>>16)+1},BUILTIN_CLASSID_RE:/^(?:cc|dragonBones|sp|ccsg)\..+/},s=new Array(123),o=0;o<123;++o)s[o]=64;for(var a=0;a<64;++a)s["ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".charCodeAt(a)]=a;r.BASE64_VALUES=s,r.pushToMap=function(t,e,i,n){var r=t[e];r?Array.isArray(r)?n?(r.push(r[0]),r[0]=i):r.push(i):t[e]=n?[i,r]:[r,i]:t[e]=i},r.clampf=function(t,e,i){if(e>i){var n=e;e=i,i=n}return t<e?e:t<i?t:i},r.clamp01=function(t){return t<0?0:t<1?t:1},r.lerp=function(t,e,i){return t+(e-t)*i},r.degreesToRadians=function(t){return t*cc.macro.RAD},r.radiansToDegrees=function(t){return t*cc.macro.DEG},cc.misc=e.exports=r}),{"../platform/js":180}],250:[(function(t,e,i){"use strict";function n(t){this.i=0,this.array=t}var r=n.prototype;r.remove=function(t){var e=this.array.indexOf(t);e>=0&&this.removeAt(e)},r.removeAt=function(t){this.array.splice(t,1),t<=this.i&&--this.i},r.fastRemove=function(t){var e=this.array.indexOf(t);e>=0&&this.fastRemoveAt(e)},r.fastRemoveAt=function(t){var e=this.array;e[t]=e[e.length-1],--e.length,t<=this.i&&--this.i},r.push=function(t){this.array.push(t)},e.exports=n}),{}],251:[(function(t,e,i){"use strict";t("../vmath");cc._PrefabInfo=cc.Class({name:"cc.PrefabInfo",properties:{root:null,asset:null,fileId:"",sync:!1,_synced:{default:!1,serializable:!1}}}),e.exports={syncWithPrefab:function(t){var e=t._prefab;if(e._synced=!0,!e.asset)return cc.errorID(3701,t.name),void(t._prefab=null);var i=t._objFlags,n=t._parent,r=t._id,s=t._name,o=t._active,a=t._eulerAngles.x,c=t._eulerAngles.y,l=t._eulerAngles.z,h=t._localZOrder,u=t._globalZOrder,_=t._trs,f=_[0],d=_[1],p=_[2];cc.game._isCloning=!0,e.asset._doInstantiate(t),cc.game._isCloning=!1,t._objFlags=i,t._parent=n,t._id=r,t._prefab=e,t._name=s,t._active=o,t._localZOrder=h,t._globalZOrder=u,(_=t._trs)[0]=f,_[1]=d,_[2]=p,t._eulerAngles.x=a,t._eulerAngles.y=c,t._eulerAngles.z=l}}}),{"../vmath":274}],252:[(function(t,e,i){"use strict";var n=t("../../platform/CCMacro"),r=t("./perf-counter"),s=!1,o=15,a=null,c=null,l=null;function h(){if(!a){a={frame:{desc:"Frame time (ms)",min:0,max:50,average:500},fps:{desc:"Framerate (FPS)",below:30,average:500},draws:{desc:"Draw call"},logic:{desc:"Game Logic (ms)",min:0,max:50,average:500,color:"#080"},render:{desc:"Renderer (ms)",min:0,max:50,average:500,color:"#f90"},mode:{desc:cc.game.renderType===cc.game.RENDER_TYPE_WEBGL?"WebGL":"Canvas",min:1}};var t=performance.now();for(var e in a)a[e]._counter=new r(e,a[e],t)}}function u(){if(!c||!c.isValid){(c=new cc.Node("PROFILER-NODE")).x=c.y=10,c.groupIndex=cc.Node.BuiltinGroupIndex.DEBUG,cc.Camera._setupDebugCamera(),c.zIndex=n.MAX_ZINDEX,cc.game.addPersistRootNode(c);var t=new cc.Node("LEFT-PANEL");t.anchorX=t.anchorY=0;var e=t.addComponent(cc.Label);e.fontSize=o,e.lineHeight=o,t.parent=c;var i=new cc.Node("RIGHT-PANEL");i.anchorX=1,i.anchorY=0,i.x=200;var r=i.addComponent(cc.Label);r.horizontalAlign=cc.Label.HorizontalAlign.RIGHT,r.fontSize=o,r.lineHeight=o,i.parent=c,cc.sys.browserType!==cc.sys.BROWSER_TYPE_BAIDU_GAME_SUB&&cc.sys.browserType!==cc.sys.BROWSER_TYPE_WECHAT_GAME_SUB&&(e.cacheMode=cc.Label.CacheMode.CHAR,r.cacheMode=cc.Label.CacheMode.CHAR),l={left:e,right:r}}}function _(){u();var t=cc.director._lastUpdate;a.frame._counter.start(t),a.logic._counter.start(t)}function f(){var t=performance.now();cc.director.isPaused()?a.frame._counter.start(t):a.logic._counter.end(t),a.render._counter.start(t)}function d(){var t=performance.now();a.render._counter.end(t),a.draws._counter.value=cc.renderer.drawCalls,a.frame._counter.end(t),a.fps._counter.frame(t);var e="",i="";for(var n in a){var r=a[n];r._counter.sample(t),e+=r.desc+"\n",i+=r._counter.human()+"\n"}l&&(l.left.string=e,l.right.string=i)}cc.profiler=e.exports={isShowingStats:function(){return s},hideStats:function(){s&&(c&&(c.active=!1),cc.director.off(cc.Director.EVENT_BEFORE_UPDATE,_),cc.director.off(cc.Director.EVENT_AFTER_UPDATE,f),cc.director.off(cc.Director.EVENT_AFTER_DRAW,d),s=!1)},showStats:function(){s||(h(),c&&(c.active=!0),cc.director.on(cc.Director.EVENT_BEFORE_UPDATE,_),cc.director.on(cc.Director.EVENT_AFTER_UPDATE,f),cc.director.on(cc.Director.EVENT_AFTER_DRAW,d),s=!0)}}}),{"../../platform/CCMacro":165,"./perf-counter":254}],253:[(function(t,e,i){"use strict";var n=cc.Class({name:"cc.Counter",ctor:function(t,e,i){this._id=t,this._opts=e||{},this._value=0,this._total=0,this._averageValue=0,this._accumValue=0,this._accumSamples=0,this._accumStart=i},properties:{value:{get:function(){return this._value},set:function(t){this._value=t}}},_average:function(t,e){if(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)}},sample:function(t){this._average(this._value,t)},human:function(){var t=this._opts.average?this._averageValue:this._value;return Math.round(100*t)/100},alarm:function(){return this._opts.below&&this._value<this._opts.below||this._opts.over&&this._value>this._opts.over}});e.exports=n}),{}],254:[(function(t,e,i){"use strict";var n=t("./counter"),r=cc.Class({name:"cc.PerfCounter",extends:n,ctor:function(t,e,i){this._time=i},start:function(t){this._time=t},end:function(t){this._value=t-this._time,this._average(this._value)},tick:function(){this.end(),this.start()},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.exports=r}),{"./counter":253}],255:[(function(t,e,i){"use strict";var n=.26;var r={BASELINE_RATIO:n,MIDDLE_RATIO:(n+1)/2-n,label_wordRex:/([a-zA-Z0-9\xc4\xd6\xdc\xe4\xf6\xfc\xdf\xe9\xe8\xe7\xe0\xf9\xea\xe2\xee\xf4\xfb\u0430-\u044f\u0410-\u042f\u0401\u0451]+|\S)/,label_symbolRex:/^[!,.:;'}\]%\?>\u3001\u2018\u201c\u300b\uff1f\u3002\uff0c\uff01]/,label_lastWordRex:/([a-zA-Z0-9\xc4\xd6\xdc\xe4\xf6\xfc\xdf\xe9\xe8\xe7\xe0\xf9\xea\xe2\xee\xf4\xfb\u0430\xed\xec\xcd\xcc\xef\xc1\xc0\xe1\xe0\xc9\xc8\xd2\xd3\xf2\xf3\u0150\u0151\xd9\xda\u0170\xfa\u0171\xf1\xd1\xe6\xc6\u0153\u0152\xc3\xc2\xe3\xd4\xf5\u011b\u0161\u010d\u0159\u017e\xfd\xe1\xed\xe9\xf3\xfa\u016f\u0165\u010f\u0148\u011a\u0160\u010c\u0158\u017d\xc1\xcd\xc9\xd3\xda\u0164\u017c\u017a\u015b\xf3\u0144\u0142\u0119\u0107\u0105\u017b\u0179\u015a\xd3\u0143\u0141\u0118\u0106\u0104-\u044f\u0410-\u042f\u0401\u0451]+|\S)$/,label_lastEnglish:/[a-zA-Z0-9\xc4\xd6\xdc\xe4\xf6\xfc\xdf\xe9\xe8\xe7\xe0\xf9\xea\xe2\xee\xf4\xfb\u0430\xed\xec\xcd\xcc\xef\xc1\xc0\xe1\xe0\xc9\xc8\xd2\xd3\xf2\xf3\u0150\u0151\xd9\xda\u0170\xfa\u0171\xf1\xd1\xe6\xc6\u0153\u0152\xc3\xc2\xe3\xd4\xf5\u011b\u0161\u010d\u0159\u017e\xfd\xe1\xed\xe9\xf3\xfa\u016f\u0165\u010f\u0148\u011a\u0160\u010c\u0158\u017d\xc1\xcd\xc9\xd3\xda\u0164\u017c\u017a\u015b\xf3\u0144\u0142\u0119\u0107\u0105\u017b\u0179\u015a\xd3\u0143\u0141\u0118\u0106\u0104-\u044f\u0410-\u042f\u0401\u0451]+$/,label_firstEnglish:/^[a-zA-Z0-9\xc4\xd6\xdc\xe4\xf6\xfc\xdf\xe9\xe8\xe7\xe0\xf9\xea\xe2\xee\xf4\xfb\u0430\xed\xec\xcd\xcc\xef\xc1\xc0\xe1\xe0\xc9\xc8\xd2\xd3\xf2\xf3\u0150\u0151\xd9\xda\u0170\xfa\u0171\xf1\xd1\xe6\xc6\u0153\u0152\xc3\xc2\xe3\xd4\xf5\u011b\u0161\u010d\u0159\u017e\xfd\xe1\xed\xe9\xf3\xfa\u016f\u0165\u010f\u0148\u011a\u0160\u010c\u0158\u017d\xc1\xcd\xc9\xd3\xda\u0164\u017c\u017a\u015b\xf3\u0144\u0142\u0119\u0107\u0105\u017b\u0179\u015a\xd3\u0143\u0141\u0118\u0106\u0104-\u044f\u0410-\u042f\u0401\u0451]/,label_firstEmoji:/^[\uD83C\uDF00-\uDFFF\uDC00-\uDE4F]/,label_lastEmoji:/([\uDF00-\uDFFF\uDC00-\uDE4F]+|\S)$/,label_wrapinspection:!0,__CHINESE_REG:/^[\u4E00-\u9FFF\u3400-\u4DFF]+$/,__JAPANESE_REG:/[\u3000-\u303F]|[\u3040-\u309F]|[\u30A0-\u30FF]|[\uFF00-\uFFEF]|[\u4E00-\u9FAF]|[\u2605-\u2606]|[\u2190-\u2195]|\u203B/g,__KOREAN_REG:/^[\u1100-\u11FF]|[\u3130-\u318F]|[\uA960-\uA97F]|[\uAC00-\uD7AF]|[\uD7B0-\uD7FF]+$/,isUnicodeCJK:function(t){return this.__CHINESE_REG.test(t)||this.__JAPANESE_REG.test(t)||this.__KOREAN_REG.test(t)},isUnicodeSpace:function(t){return(t=t.charCodeAt(0))>=9&&t<=13||32===t||133===t||160===t||5760===t||t>=8192&&t<=8202||8232===t||8233===t||8239===t||8287===t||12288===t},safeMeasureText:function(t,e){var i=t.measureText(e);return i&&i.width||0},fragmentText:function(t,e,i,n){var r=[];if(0===t.length||i<0)return r.push(""),r;for(var s=t;e>i&&s.length>1;){for(var o=s.length*(i/e)|0,a=s.substring(o),c=e-n(a),l=a,h=0,u=0;c>i&&u++<10;)o*=i/c,o|=0,c=e-n(a=s.substring(o));for(u=0;c<=i&&u++<10;){if(a){var _=this.label_wordRex.exec(a);h=_?_[0].length:1,l=a}o+=h,c=e-n(a=s.substring(o))}0===(o-=h)&&(o=1,l=l.substring(1));var f,d=s.substring(0,0+o);this.label_wrapinspection&&this.label_symbolRex.test(l||a)&&(0===(o-=(f=this.label_lastWordRex.exec(d))?f[0].length:0)&&(o=1),l=s.substring(o),d=s.substring(0,0+o)),this.label_firstEmoji.test(l)&&(f=this.label_lastEmoji.exec(d))&&d!==f[0]&&(o-=f[0].length,l=s.substring(o),d=s.substring(0,0+o)),this.label_firstEnglish.test(l)&&(f=this.label_lastEnglish.exec(d))&&d!==f[0]&&(o-=f[0].length,l=s.substring(o),d=s.substring(0,0+o)),0===r.length?r.push(d):(d=d.trimLeft()).length>0&&r.push(d),e=n(s=l||a)}return 0===r.length?r.push(s):(s=s.trimLeft()).length>0&&r.push(s),r}};cc.textUtils=e.exports=r}),{}],256:[(function(t,e,i){"use strict";var n=t("../assets/CCTexture2D"),r={loadImage:function(t,e,i){cc.assertID(t,3103);var r=cc.loader.getRes(t);return r?r.loaded?(e&&e.call(i,null,r),r):(r.once("load",(function(){e&&e.call(i,null,r)}),i),r):((r=new n).url=t,cc.loader.load({url:t,texture:r},(function(t,n){if(t)return e&&e.call(i,t||new Error("Unknown error"));n.handleLoadedTexture(),e&&e.call(i,null,n)})),r)},cacheImage:function(t,e){if(t&&e){var i=new n;i.initWithElement(e);var r={id:t,url:t,error:null,content:i,complete:!1};return cc.loader.flowOut(r),i}},postLoadTexture:function(t,e){t.loaded?e&&e():t.url?cc.loader.load({url:t.url,skips:["Loader"]},(function(i,n){n&&(t.loaded||(t._nativeAsset=n)),e&&e(i)})):e&&e()}};cc.textureUtil=e.exports=r}),{"../assets/CCTexture2D":51}],257:[(function(t,e,i){"use strict";var n=t("./node-unit"),r=t("./node-mem-pool");e.exports={NodeMemPool:new r(n)}}),{"./node-mem-pool":259,"./node-unit":260}],258:[(function(t,e,i){"use strict";var n=function(t){this._unitClass=t,this._pool=[],this._findOrder=[]},r=n.prototype;r._initNative=function(){this._nativeMemPool=new renderer.MemPool},r._buildUnit=function(t){var e=new this._unitClass(t,this);return e},r._destroyUnit=function(t){this._pool[t]=null;for(var e=0,i=this._findOrder.length;e<i;e++){var n=this._findOrder[e];if(n&&n.unitID==t){this._findOrder.splice(e,1);break}}},r._findUnitID=function(){for(var t=0,e=this._pool;e[t];)t++;return t},r.pop=function(){for(var t=null,e=0,i=this._findOrder,n=this._pool,r=i.length;e<r;e++){var s=i[e];if(s&&s.hasSpace()){t=s;break}}if(!t){var o=this._findUnitID();t=this._buildUnit(o),n[o]=t,i.push(t),e=i.length-1}var a=i[0];return a!==t&&(i[0]=t,i[e]=a),t.pop()},r.push=function(t){var e=this._pool[t.unitID];return e.push(t.index),this._findOrder.length>1&&e.isAllFree()&&this._destroyUnit(t.unitID),e},e.exports=n}),{}],259:[(function(t,e,i){"use strict";var n=t("./mem-pool"),r=function(t){n.call(this,t)};(function(){var t=function(){};t.prototype=n.prototype,r.prototype=new t})();var s=r.prototype;s._initNative=function(){this._nativeMemPool=new renderer.NodeMemPool},s._destroyUnit=function(t){n.prototype._destroyUnit.call(this,t)},e.exports=r}),{"./mem-pool":258}],260:[(function(t,e,i){"use strict";Uint32Array;var n=Float32Array,r=Float32Array,s=Float32Array,o=(Uint32Array,Uint32Array,Int32Array,Uint8Array,Uint8Array,Uint32Array,t("./unit-base")),a=function(t,e){o.call(this,t,e);var i=this._contentNum;this.trsList=new n(10*i),this.localMatList=new r(16*i),this.worldMatList=new s(16*i);for(var a=0;a<i;a++){var c=this._spacesData[a];c.trs=new n(this.trsList.buffer,40*a,10),c.localMat=new r(this.localMatList.buffer,64*a,16),c.worldMat=new s(this.worldMatList.buffer,64*a,16)}};(function(){var t=function(){};t.prototype=o.prototype,a.prototype=new t})(),e.exports=a}),{"./unit-base":261}],261:[(function(t,e,i){"use strict";var n=function(t,e,i){i=i||128,this.unitID=t,this._memPool=e,this._data=new Uint16Array(2),this._data[0]=0,this._data[1]=0,this._contentNum=i,this._signData=new Uint16Array(2*this._contentNum),this._spacesData=[];for(var n=0;n<i;n++){var r=2*n;this._signData[r+0]=n+1,this._signData[r+1]=0,this._spacesData[n]={index:n,unitID:t}}this._signData[2*(i-1)]=65535},r=n.prototype;r.hasSpace=function(){return 65535!==this._data[0]},r.isAllFree=function(){return 0==this._data[1]},r.pop=function(){var t=this._data[0];if(65535===t)return null;var e=t,i=2*e,n=this._spacesData[e];return this._signData[i+1]=1,this._data[0]=this._signData[i+0],this._data[1]++,n},r.push=function(t){var e=2*t;this._signData[e+1]=0,this._signData[e+0]=this._data[0],this._data[0]=t,this._data[1]--},r.dump=function(){for(var t=0,e=this._data[0],i="";65535!=e;)t++,i+=e+"->",e=this._signData[2*e+0];for(var n=0,r="",s=this._contentNum,o=0;o<s;o++){1==this._signData[2*o+1]&&(n++,r+=o+"->")}var a=t+n;console.log("unitID:",this.unitID,"spaceNum:",t,"calc using num:",n,"store using num:",this._data[1],"calc total num:",a,"actually total num:",this._contentNum),console.log("free info:",i),console.log("using info:",r),n!=this._data[1]&&cc.error("using num error","calc using num:",n,"store using num:",this._data[1]),t+n!=this._contentNum&&cc.error("total num error","calc total num:",a,"actually total num:",this._contentNum)},e.exports=n}),{}],262:[(function(t,e,i){"use strict";var n=t("../vmath"),r=t("./value-type"),s=t("../platform/js"),o=(function(){function e(t,e,i,n){"object"==typeof t&&(e=t.g,i=t.b,n=t.a,t=t.r),t=t||0,e=e||0,i=i||0,n="number"==typeof n?n:255,this._val=(n<<24>>>0)+(i<<16)+(e<<8)+t}s.extend(e,r),t("../platform/CCClass").fastDefine("cc.Color",e,{r:0,g:0,b:0,a:255});var i={WHITE:[255,255,255,255],BLACK:[0,0,0,255],TRANSPARENT:[0,0,0,0],GRAY:[127.5,127.5,127.5],RED:[255,0,0],GREEN:[0,255,0],BLUE:[0,0,255],YELLOW:[255,235,4],ORANGE:[255,127,0],CYAN:[0,255,255],MAGENTA:[255,0,255]};for(var o in i)s.get(e,o,(function(t){return function(){return new e(t[0],t[1],t[2],t[3])}})(i[o]));var a=e.prototype;return a.clone=function(){var t=new e;return t._val=this._val,t},a.equals=function(t){return t&&this._val===t._val},a.lerp=function(t,i,n){n=n||new e;var r=this.r,s=this.g,o=this.b,a=this.a;return n.r=r+(t.r-r)*i,n.g=s+(t.g-s)*i,n.b=o+(t.b-o)*i,n.a=a+(t.a-a)*i,n},a.toString=function(){return"rgba("+this.r.toFixed()+", "+this.g.toFixed()+", "+this.b.toFixed()+", "+this.a.toFixed()+")"},a.getR=function(){return 255&this._val},a.setR=function(t){return t=~~cc.misc.clampf(t,0,255),this._val=(4294967040&this._val|t)>>>0,this},a.getG=function(){return(65280&this._val)>>8},a.setG=function(t){return t=~~cc.misc.clampf(t,0,255),this._val=(4294902015&this._val|t<<8)>>>0,this},a.getB=function(){return(16711680&this._val)>>16},a.setB=function(t){return t=~~cc.misc.clampf(t,0,255),this._val=(4278255615&this._val|t<<16)>>>0,this},a.getA=function(){return(4278190080&this._val)>>>24},a.setA=function(t){return t=~~cc.misc.clampf(t,0,255),this._val=(16777215&this._val|t<<24)>>>0,this},a._fastSetA=function(t){this._val=(16777215&this._val|t<<24)>>>0},s.getset(a,"r",a.getR,a.setR,!0),s.getset(a,"g",a.getG,a.setG,!0),s.getset(a,"b",a.getB,a.setB,!0),s.getset(a,"a",a.getA,a.setA,!0),a.toCSS=function(t){return"rgba"===t?"rgba("+(0|this.r)+","+(0|this.g)+","+(0|this.b)+","+(this.a/255).toFixed(2)+")":"rgb"===t?"rgb("+(0|this.r)+","+(0|this.g)+","+(0|this.b)+")":"#"+this.toHEX(t)},a.fromHEX=function(t){t=0===t.indexOf("#")?t.substring(1):t;var e=parseInt(t.substr(0,2),16)||0,i=parseInt(t.substr(2,2),16)||0,n=parseInt(t.substr(4,2),16)||0,r=parseInt(t.substr(6,2),16)||255;return this._val=(r<<24>>>0)+(n<<16)+(i<<8)+e,this},a.toHEX=function(t){var e=[(this.r<16?"0":"")+(0|this.r).toString(16),(this.g<16?"0":"")+(0|this.g).toString(16),(this.b<16?"0":"")+(0|this.b).toString(16)],i=-1;if("#rgb"===t)for(i=0;i<e.length;++i)e[i].length>1&&(e[i]=e[i][0]);else if("#rrggbb"===t)for(i=0;i<e.length;++i)1===e[i].length&&(e[i]="0"+e[i]);else"#rrggbbaa"===t&&e.push((this.a<16?"0":"")+(0|this.a).toString(16));return e.join("")},a.toRGBValue=function(){return 16777215&this._val},a.fromHSV=function(t,e,i){var n,r,s;if(0===e)n=r=s=i;else if(0===i)n=r=s=0;else{1===t&&(t=0),t*=6,e=e,i=i;var o=Math.floor(t),a=t-o,c=i*(1-e),l=i*(1-e*a),h=i*(1-e*(1-a));switch(o){case 0:n=i,r=h,s=c;break;case 1:n=l,r=i,s=c;break;case 2:n=c,r=i,s=h;break;case 3:n=c,r=l,s=i;break;case 4:n=h,r=c,s=i;break;case 5:n=i,r=c,s=l}}return n*=255,r*=255,s*=255,this._val=(this.a<<24>>>0)+(s<<16)+(r<<8)+n,this},a.toHSV=function(){var t=this.r/255,e=this.g/255,i=this.b/255,n={h:0,s:0,v:0},r=Math.max(t,e,i),s=Math.min(t,e,i),o=0;return n.v=r,n.s=r?(r-s)/r:0,n.s?(o=r-s,n.h=t===r?(e-i)/o:e===r?2+(i-t)/o:4+(t-e)/o,n.h/=6,n.h<0&&(n.h+=1)):n.h=0,n},a.set=function(t){t._val?this._val=t._val:(this.r=t.r,this.g=t.g,this.b=t.b,this.a=t.a)},a.array=function(t){n.color4.array(t,this)},e})();cc.Color=o,cc.color=function(t,e,i,n){return"string"==typeof t?(new cc.Color).fromHEX(t):"object"==typeof t?new cc.Color(t.r,t.g,t.b,t.a):new cc.Color(t,e,i,n)},e.exports=cc.Color}),{"../platform/CCClass":160,"../platform/js":180,"../vmath":274,"./value-type":268}],263:[(function(t,e,i){"use strict";t("./value-type"),cc.vmath=t("../vmath").default,e.exports={Vec2:t("./vec2"),Vec3:t("./vec3"),Vec4:t("./vec4"),Quat:t("./quat"),Mat4:t("./mat4"),Size:t("./size"),Rect:t("./rect"),Color:t("./color")}}),{"../vmath":274,"./color":262,"./mat4":264,"./quat":265,"./rect":266,"./size":267,"./value-type":268,"./vec2":269,"./vec3":270,"./vec4":271}],264:[(function(t,e,i){"use strict";var n=t("../vmath"),r=t("./value-type"),s=t("../platform/js"),o=t("../platform/CCClass");function a(t,e,i,n,r,s,o,a,c,l,h,u,_,f,d,p){this.m=new Float32Array(16);var m=this.m;m[0]=t,m[1]=e,m[2]=i,m[3]=n,m[4]=r,m[5]=s,m[6]=o,m[7]=a,m[8]=c,m[9]=l,m[10]=h,m[11]=u,m[12]=_,m[13]=f,m[14]=d,m[15]=p}s.extend(a,r),o.fastDefine("cc.Mat4",a,{m00:1,m01:0,m02:0,m03:0,m04:0,m05:1,m06:0,m07:0,m08:0,m09:0,m10:1,m11:0,m12:0,m13:0,m14:0,m15:1});for(var c=function(t){Object.defineProperty(a.prototype,"m"+t,{get:function(){return this.m[t]},set:function(e){this.m[t]=e}})},l=0;l<16;l++)c(l);s.mixin(a.prototype,{clone:function(){var t=this.m;return new a(t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15])},set:function(t){var e=this.m,i=t.m;return e[0]=i[0],e[1]=i[1],e[2]=i[2],e[3]=i[3],e[4]=i[4],e[5]=i[5],e[6]=i[6],e[7]=i[7],e[8]=i[8],e[9]=i[9],e[10]=i[10],e[11]=i[11],e[12]=i[12],e[13]=i[13],e[14]=i[14],e[15]=i[15],this},equals:function(t){return n.mat4.exactEquals(this,t)},fuzzyEquals:function(t){return n.mat4.equals(this,t)},toString:function(){var t=this.m;return t?"[\n"+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+",\n"+t[4]+", "+t[5]+", "+t[6]+", "+t[7]+",\n"+t[8]+", "+t[9]+", "+t[10]+", "+t[11]+",\n"+t[12]+", "+t[13]+", "+t[14]+", "+t[15]+"\n]":"[\n1, 0, 0, 0\n0, 1, 0, 0\n0, 0, 1, 0\n0, 0, 0, 1\n]"},identity:function(){return n.mat4.identity(this)},transpose:function(t){return t=t||new cc.Mat4,n.mat4.transpose(t,this)},invert:function(t){return t=t||new cc.Mat4,n.mat4.invert(t,this)},adjoint:function(t){return t=t||new cc.Mat4,n.mat4.adjoint(t,this)},determinant:function(){return n.mat4.determinant(this)},add:function(t,e){return e=e||new cc.Mat4,n.mat4.add(e,this,t)},sub:function(t,e){return e=e||new cc.Mat4,n.mat4.subtract(e,this,t)},mul:function(t,e){return e=e||new cc.Mat4,n.mat4.multiply(e,this,t)},mulScalar:function(t,e){return e=e||new cc.Mat4,n.mat4.mulScalar(e,this,t)},translate:function(t,e){return e=e||new cc.Mat4,n.mat4.translate(e,this,t)},scale:function(t,e){return e=e||new cc.Mat4,n.mat4.scale(e,this,t)},rotate:function(t,e,i){return i=i||new cc.Mat4,n.mat4.rotate(i,this,t,e)},getTranslation:function(t){return t=t||new cc.Vec3,n.mat4.getTranslation(t,this)},getScale:function(t){return t=t||new cc.Vec3,n.mat4.getScaling(t,this)},getRotation:function(t){return t=t||new cc.Quat,n.mat4.getRotation(t,this)},fromRTS:function(t,e,i){return n.mat4.fromRTS(this,t,e,i)},fromQuat:function(t){return n.mat4.fromQuat(this,t)},array:function(t){return n.mat4.array(t,this)}}),cc.mat4=function(t,e,i,r,s,o,c,l,h,u,_,f,d,p,m,y){var v=new a(t,e,i,r,s,o,c,l,h,u,_,f,d,p,m,y);return void 0===t&&n.mat4.identity(v),v},e.exports=cc.Mat4=a}),{"../platform/CCClass":160,"../platform/js":180,"../vmath":274,"./value-type":268}],265:[(function(t,e,i){"use strict";var n=t("./value-type"),r=t("../platform/js"),s=t("../platform/CCClass"),o=t("../vmath/quat");function a(t,e,i,n){t&&"object"==typeof t&&(i=t.z,e=t.y,n=t.w,t=t.x),this.x=t||0,this.y=e||0,this.z=i||0,this.w=n||1}r.extend(a,n),s.fastDefine("cc.Quat",a,{x:0,y:0,z:0,w:1});var c=a.prototype;c.clone=function(){return new a(this.x,this.y,this.z,this.w)},c.set=function(t){return this.x=t.x,this.y=t.y,this.z=t.z,this.w=t.w,this},c.equals=function(t){return t&&this.x===t.x&&this.y===t.y&&this.z===t.z&&this.w===t.w},c.toEuler=function(t){return o.toEuler(t,this),t},c.fromEuler=function(t){return o.fromEuler(this,t.x,t.y,t.z),this},c.lerp=function(t,e,i){return i=i||new cc.Quat,o.slerp(i,this,t,e),i},c.mul=function(t,e){return e=e||new cc.Quat,o.mul(e,this,t),e},c.array=function(t){o.array(t,this)},c.rotateAround=function(t,e,i,n){return n=n||new cc.Quat,o.rotateAround(n,t,e,i)},cc.quat=function(t,e,i,n){return new a(t,e,i,n)},e.exports=cc.Quat=a}),{"../platform/CCClass":160,"../platform/js":180,"../vmath/quat":279,"./value-type":268}],266:[(function(t,e,i){"use strict";var n=t("./value-type"),r=t("../platform/js");function s(t,e,i,n){t&&"object"==typeof t&&(e=t.y,i=t.width,n=t.height,t=t.x),this.x=t||0,this.y=e||0,this.width=i||0,this.height=n||0}r.extend(s,n),t("../platform/CCClass").fastDefine("cc.Rect",s,{x:0,y:0,width:0,height:0}),s.fromMinMax=function(t,e){var i=Math.min(t.x,e.x),n=Math.min(t.y,e.y);return new s(i,n,Math.max(t.x,e.x)-i,Math.max(t.y,e.y)-n)};var o=s.prototype;o.clone=function(){return new s(this.x,this.y,this.width,this.height)},o.equals=function(t){return t&&this.x===t.x&&this.y===t.y&&this.width===t.width&&this.height===t.height},o.lerp=function(t,e,i){i=i||new s;var n=this.x,r=this.y,o=this.width,a=this.height;return i.x=n+(t.x-n)*e,i.y=r+(t.y-r)*e,i.width=o+(t.width-o)*e,i.height=a+(t.height-a)*e,i},o.set=function(t){this.x=t.x,this.y=t.y,this.width=t.width,this.height=t.height},o.intersects=function(t){var e=this.x+this.width,i=this.y+this.height,n=t.x+t.width,r=t.y+t.height;return!(e<t.x||n<this.x||i<t.y||r<this.y)},o.intersection=function(t,e){var i=this.x,n=this.y,r=this.x+this.width,s=this.y+this.height,o=e.x,a=e.y,c=e.x+e.width,l=e.y+e.height;return t.x=Math.max(i,o),t.y=Math.max(n,a),t.width=Math.min(r,c)-t.x,t.height=Math.min(s,l)-t.y,t},o.contains=function(t){return this.x<=t.x&&this.x+this.width>=t.x&&this.y<=t.y&&this.y+this.height>=t.y},o.containsRect=function(t){return this.x<=t.x&&this.x+this.width>=t.x+t.width&&this.y<=t.y&&this.y+this.height>=t.y+t.height},o.union=function(t,e){var i=this.x,n=this.y,r=this.width,s=this.height,o=e.x,a=e.y,c=e.width,l=e.height;return t.x=Math.min(i,o),t.y=Math.min(n,a),t.width=Math.max(i+r,o+c)-t.x,t.height=Math.max(n+s,a+l)-t.y,t},o.transformMat4=function(t,e){var i=this.x,n=this.y,r=i+this.width,s=n+this.height,o=e.m,a=o[0]*i+o[4]*n+o[12],c=o[1]*i+o[5]*n+o[13],l=o[0]*r+o[4]*n+o[12],h=o[1]*r+o[5]*n+o[13],u=o[0]*i+o[4]*s+o[12],_=o[1]*i+o[5]*s+o[13],f=o[0]*r+o[4]*s+o[12],d=o[1]*r+o[5]*s+o[13],p=Math.min(a,l,u,f),m=Math.max(a,l,u,f),y=Math.min(c,h,_,d),v=Math.max(c,h,_,d);return t.x=p,t.y=y,t.width=m-p,t.height=v-y,t},o.toString=function(){return"("+this.x.toFixed(2)+", "+this.y.toFixed(2)+", "+this.width.toFixed(2)+", "+this.height.toFixed(2)+")"},r.getset(o,"xMin",(function(){return this.x}),(function(t){this.width+=this.x-t,this.x=t})),r.getset(o,"yMin",(function(){return this.y}),(function(t){this.height+=this.y-t,this.y=t})),r.getset(o,"xMax",(function(){return this.x+this.width}),(function(t){this.width=t-this.x})),r.getset(o,"yMax",(function(){return this.y+this.height}),(function(t){this.height=t-this.y})),r.getset(o,"center",(function(){return new cc.Vec2(this.x+.5*this.width,this.y+.5*this.height)}),(function(t){this.x=t.x-.5*this.width,this.y=t.y-.5*this.height})),r.getset(o,"origin",(function(){return new cc.Vec2(this.x,this.y)}),(function(t){this.x=t.x,this.y=t.y})),r.getset(o,"size",(function(){return new cc.Size(this.width,this.height)}),(function(t){this.width=t.width,this.height=t.height})),cc.Rect=s,cc.rect=function(t,e,i,n){return new s(t,e,i,n)},e.exports=cc.Rect}),{"../platform/CCClass":160,"../platform/js":180,"./value-type":268}],267:[(function(t,e,i){"use strict";var n=t("./value-type"),r=t("../platform/js");function s(t,e){t&&"object"==typeof t&&(e=t.height,t=t.width),this.width=t||0,this.height=e||0}r.extend(s,n),t("../platform/CCClass").fastDefine("cc.Size",s,{width:0,height:0}),r.get(s,"ZERO",(function(){return new s(0,0)}));var o=s.prototype;o.clone=function(){return new s(this.width,this.height)},o.equals=function(t){return t&&this.width===t.width&&this.height===t.height},o.lerp=function(t,e,i){i=i||new s;var n=this.width,r=this.height;return i.width=n+(t.width-n)*e,i.height=r+(t.height-r)*e,i},o.set=function(t){this.width=t.width,this.height=t.height},o.toString=function(){return"("+this.width.toFixed(2)+", "+this.height.toFixed(2)+")"},cc.size=function(t,e){return new s(t,e)},cc.Size=e.exports=s}),{"../platform/CCClass":160,"../platform/js":180,"./value-type":268}],268:[(function(t,e,i){"use strict";var n=t("../platform/js");function r(){}n.setClassName("cc.ValueType",r);var s=r.prototype;s.toString=function(){return""+{}},cc.ValueType=e.exports=r}),{"../platform/js":180}],269:[(function(t,e,i){"use strict";var n=t("../vmath"),r=t("./value-type"),s=t("../platform/js"),o=t("../platform/CCClass"),a=t("../utils/misc");function c(t,e){t&&"object"==typeof t&&(e=t.y,t=t.x),this.x=t||0,this.y=e||0}s.extend(c,r),o.fastDefine("cc.Vec2",c,{x:0,y:0});var l=c.prototype;s.value(l,"z",0,!0),l.clone=function(){return new c(this.x,this.y)},l.set=function(t){return this.x=t.x,this.y=t.y,this},l.equals=function(t){return t&&this.x===t.x&&this.y===t.y},l.fuzzyEquals=function(t,e){return this.x-e<=t.x&&t.x<=this.x+e&&this.y-e<=t.y&&t.y<=this.y+e},l.toString=function(){return"("+this.x.toFixed(2)+", "+this.y.toFixed(2)+")"},l.lerp=function(t,e,i){i=i||new c;var n=this.x,r=this.y;return i.x=n+(t.x-n)*e,i.y=r+(t.y-r)*e,i},l.clampf=function(t,e){return this.x=a.clampf(this.x,t.x,e.x),this.y=a.clampf(this.y,t.y,e.y),this},l.addSelf=function(t){return this.x+=t.x,this.y+=t.y,this},l.add=function(t,e){return(e=e||new c).x=this.x+t.x,e.y=this.y+t.y,e},l.subSelf=function(t){return this.x-=t.x,this.y-=t.y,this},l.sub=function(t,e){return(e=e||new c).x=this.x-t.x,e.y=this.y-t.y,e},l.mulSelf=function(t){return this.x*=t,this.y*=t,this},l.mul=function(t,e){return(e=e||new c).x=this.x*t,e.y=this.y*t,e},l.scaleSelf=function(t){return this.x*=t.x,this.y*=t.y,this},l.scale=function(t,e){return(e=e||new c).x=this.x*t.x,e.y=this.y*t.y,e},l.divSelf=function(t){return this.x/=t,this.y/=t,this},l.div=function(t,e){return(e=e||new c).x=this.x/t,e.y=this.y/t,e},l.negSelf=function(){return this.x=-this.x,this.y=-this.y,this},l.neg=function(t){return(t=t||new c).x=-this.x,t.y=-this.y,t},l.dot=function(t){return this.x*t.x+this.y*t.y},l.cross=function(t){return this.x*t.y-this.y*t.x},l.mag=function(){return Math.sqrt(this.x*this.x+this.y*this.y)},l.magSqr=function(){return this.x*this.x+this.y*this.y},l.normalizeSelf=function(){var t=this.x*this.x+this.y*this.y;if(1===t)return this;if(0===t)return this;var e=1/Math.sqrt(t);return this.x*=e,this.y*=e,this},l.normalize=function(t){return(t=t||new c).x=this.x,t.y=this.y,t.normalizeSelf(),t},l.angle=function(t){var e=this.magSqr(),i=t.magSqr();if(0===e||0===i)return console.warn("Can't get angle between zero vector"),0;var n=this.dot(t)/Math.sqrt(e*i);return n=a.clampf(n,-1,1),Math.acos(n)},l.signAngle=function(t){var e=this.angle(t);return this.cross(t)<0?-e:e},l.rotate=function(t,e){return(e=e||new c).x=this.x,e.y=this.y,e.rotateSelf(t)},l.rotateSelf=function(t){var e=Math.sin(t),i=Math.cos(t),n=this.x;return this.x=i*n-e*this.y,this.y=e*n+i*this.y,this},l.project=function(t){return t.mul(this.dot(t)/t.dot(t))},l.transformMat4=function(t,e){e=e||new c,n.vec2.transformMat4(e,this,t)},l.fromTranslation=function(t){return this.x=t[0],this.y=t[1],this},l.toTranslation=function(t){t[0]=this.x,t[1]=this.y},l.fromScale=function(t){return this.x=t[7],this.y=t[8],this},l.toScale=function(t){t[7]=this.x,t[8]=this.y},l.array=function(t){n.vec2.array(t,this)},s.get(c,"ONE",(function(){return new c(1,1)})),s.get(c,"ZERO",(function(){return new c(0,0)})),s.get(c,"UP",(function(){return new c(0,1)})),s.get(c,"RIGHT",(function(){return new c(1,0)})),cc.Vec2=c,cc.v2=function(t,e){return new c(t,e)},cc.p=cc.v2,e.exports=cc.Vec2}),{"../platform/CCClass":160,"../platform/js":180,"../utils/misc":249,"../vmath":274,"./value-type":268}],270:[(function(t,e,i){"use strict";var n=t("../vmath"),r=t("./value-type"),s=t("../platform/js"),o=t("../platform/CCClass"),a=t("../utils/misc"),c=t("./vec2").prototype;function l(t,e,i){t&&"object"==typeof t&&(i=t.z,e=t.y,t=t.x),this.x=t||0,this.y=e||0,this.z=i||0}s.extend(l,r),o.fastDefine("cc.Vec3",l,{x:0,y:0,z:0});var h=l.prototype;h.clone=function(){return new l(this.x,this.y,this.z)},h.set=function(t){return this.x=t.x,this.y=t.y,this.z=t.z,this},h.equals=function(t){return t&&this.x===t.x&&this.y===t.y&&this.z===t.z},h.fuzzyEquals=function(t,e){return this.x-e<=t.x&&t.x<=this.x+e&&this.y-e<=t.y&&t.y<=this.y+e&&this.z-e<=t.z&&t.z<=this.z+e},h.toString=function(){return"("+this.x.toFixed(2)+", "+this.y.toFixed(2)+", "+this.z.toFixed(2)+")"},h.lerp=function(t,e,i){return i=i||new l,n.vec3.lerp(i,this,t,e),i},h.clampf=function(t,e){return this.x=a.clampf(this.x,t.x,e.x),this.y=a.clampf(this.y,t.y,e.y),this.z=a.clampf(this.z,t.z,e.z),this},h.addSelf=function(t){return this.x+=t.x,this.y+=t.y,this.z+=t.z,this},h.add=function(t,e){return(e=e||new l).x=this.x+t.x,e.y=this.y+t.y,e.z=this.z+t.z,e},h.subSelf=function(t){return this.x-=t.x,this.y-=t.y,this.z-=t.z,this},h.sub=function(t,e){return(e=e||new l).x=this.x-t.x,e.y=this.y-t.y,e.z=this.z-t.z,e},h.mulSelf=function(t){return this.x*=t,this.y*=t,this.z*=t,this},h.mul=function(t,e){return(e=e||new l).x=this.x*t,e.y=this.y*t,e.z=this.z*t,e},h.scaleSelf=function(t){return this.x*=t.x,this.y*=t.y,this.z*=t.z,this},h.scale=function(t,e){return(e=e||new l).x=this.x*t.x,e.y=this.y*t.y,e.z=this.z*t.z,e},h.divSelf=function(t){return this.x/=t,this.y/=t,this.z/=t,this},h.div=function(t,e){return(e=e||new l).x=this.x/t,e.y=this.y/t,e.z=this.z/t,e},h.negSelf=function(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this},h.neg=function(t){return(t=t||new l).x=-this.x,t.y=-this.y,t.z=-this.z,t},h.dot=function(t){return this.x*t.x+this.y*t.y+this.z*t.z},h.cross=function(t,e){return e=e||new l,n.vec3.cross(e,this,t),e},h.mag=function(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)},h.magSqr=function(){return this.x*this.x+this.y*this.y+this.z*this.z},h.normalizeSelf=function(){return n.vec3.normalize(this,this),this},h.normalize=function(t){return t=t||new l,n.vec3.normalize(t,this),t},h.transformMat4=function(t,e){e=e||new l,n.vec3.transformMat4(e,this,t)},h.angle=c.angle,h.project=c.project,h.signAngle=function(t){cc.warnID(1408,"vec3.signAngle","v2.1","cc.v2(selfVector).signAngle(vector)");var e=new cc.Vec2(this.x,this.y),i=new cc.Vec2(t.x,t.y);return e.signAngle(i)},h.rotate=function(t,e){return cc.warnID(1408,"vec3.rotate","v2.1","cc.v2(selfVector).rotate(radians, out)"),c.rotate.call(this,t,e)},h.rotateSelf=function(t){return cc.warnID(1408,"vec3.rotateSelf","v2.1","cc.v2(selfVector).rotateSelf(radians)"),c.rotateSelf.call(this,t)},h.array=function(t){n.vec3.array(t,this)},s.get(l,"ONE",(function(){return new l(1,1,1)})),s.get(l,"ZERO",(function(){return new l(0,0,0)})),s.get(l,"UP",(function(){return new l(0,1,0)})),s.get(l,"RIGHT",(function(){return new l(1,0,0)})),s.get(l,"FRONT",(function(){return new l(0,0,1)})),cc.v3=function(t,e,i){return new l(t,e,i)},e.exports=cc.Vec3=l}),{"../platform/CCClass":160,"../platform/js":180,"../utils/misc":249,"../vmath":274,"./value-type":268,"./vec2":269}],271:[(function(t,e,i){"use strict";var n=a(t("./value-type")),r=a(t("../platform/CCClass")),s=t("../vmath"),o=t("../utils/misc");function a(t){return t&&t.__esModule?t:{default:t}}function c(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function l(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function h(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}var u=(function(t){function e(i,n,r,s){c(this,e);var o=l(this,t.call(this));return i&&"object"==typeof i&&(s=i.w,r=i.z,n=i.y,i=i.x),o.x=i||0,o.y=n||0,o.z=r||0,o.w=s||0,o}return h(e,t),e.prototype.clone=function(){return new e(this.x,this.y,this.z,this.w)},e.prototype.set=function(t){return this.x=t.x,this.y=t.y,this.z=t.z,this.w=t.w,this},e.prototype.equals=function(t){return t&&this.x===t.x&&this.y===t.y&&this.z===t.z&&this.w===t.w},e.prototype.fuzzyEquals=function(t,e){return this.x-e<=t.x&&t.x<=this.x+e&&this.y-e<=t.y&&t.y<=this.y+e&&this.z-e<=t.z&&t.z<=this.z+e&&this.w-e<=t.w&&t.w<=this.w+e},e.prototype.toString=function(){return"("+this.x.toFixed(2)+", "+this.y.toFixed(2)+", "+this.z.toFixed(2)+", "+this.w.toFixed(2)+")"},e.prototype.lerp=function(t,i,n){return n=n||new e,s.vec4.lerp(n,this,t,i),n},e.prototype.clampf=function(t,e){return this.x=(0,o.clampf)(this.x,t.x,e.x),this.y=(0,o.clampf)(this.y,t.y,e.y),this.z=(0,o.clampf)(this.z,t.z,e.z),this.w=(0,o.clampf)(this.w,t.w,e.w),this},e.prototype.addSelf=function(t){return this.x+=t.x,this.y+=t.y,this.z+=t.z,this.w+=t.w,this},e.prototype.add=function(t,i){return(i=i||new e).x=this.x+t.x,i.y=this.y+t.y,i.z=this.z+t.z,i.w=this.w+t.w,i},e.prototype.subSelf=function(t){return this.x-=t.x,this.y-=t.y,this.z-=t.z,this.w-=t.w,this},e.prototype.sub=function(t,i){return(i=i||new e).x=this.x-t.x,i.y=this.y-t.y,i.z=this.z-t.z,i.w=this.w-t.w,i},e.prototype.mulSelf=function(t){return this.x*=t,this.y*=t,this.z*=t,this.w*=t,this},e.prototype.mul=function(t,i){return(i=i||new e).x=this.x*t,i.y=this.y*t,i.z=this.z*t,i.w=this.w*t,i},e.prototype.scaleSelf=function(t){return this.x*=t.x,this.y*=t.y,this.z*=t.z,this.w*=t.w,this},e.prototype.scale=function(t,i){return(i=i||new e).x=this.x*t.x,i.y=this.y*t.y,i.z=this.z*t.z,i.w=this.w*t.w,i},e.prototype.divSelf=function(t){return this.x/=t,this.y/=t,this.z/=t,this.w/=t,this},e.prototype.div=function(t,i){return(i=i||new e).x=this.x/t,i.y=this.y/t,i.z=this.z/t,i.w=this.w/t,i},e.prototype.negSelf=function(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this.w=-this.w,this},e.prototype.neg=function(t){return(t=t||new e).x=-this.x,t.y=-this.y,t.z=-this.z,t.w=-this.w,t},e.prototype.dot=function(t){return this.x*t.x+this.y*t.y+this.z*t.z+this.w*t.w},e.prototype.cross=function(t,i){return i=i||new e,s.vec4.cross(i,this,t),i},e.prototype.mag=function(){var t=this.x,e=this.y,i=this.z,n=this.w;return Math.sqrt(t*t+e*e+i*i+n*n)},e.prototype.magSqr=function(){var t=this.x,e=this.y,i=this.z,n=this.w;return t*t+e*e+i*i+n*n},e.prototype.normalizeSelf=function(){return s.vec4.normalize(this,this),this},e.prototype.normalize=function(t){return t=t||new e,s.vec4.normalize(t,this),t},e.prototype.transformMat4=function(t,i){return i=i||new e,s.vec4.transformMat4(i,this,t),i},e.prototype.array=function(t){s.vec4.array(t,this)},e})(n.default);r.default.fastDefine("cc.Vec4",u,{x:0,y:0,z:0,w:0}),cc.v4=function(t,e,i,n){return new u(t,e,i,n)},e.exports=cc.Vec4=u}),{"../platform/CCClass":160,"../utils/misc":249,"../vmath":274,"./value-type":268}],272:[(function(t,e,i){"use strict";i.__esModule=!0;var n=t("./utils");function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}var s=(function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1;r(this,t),this.r=e,this.g=i,this.b=n}return t.create=function(){return new t(arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,arguments.length>2&&void 0!==arguments[2]?arguments[2]:1)},t.clone=function(e){return new t(e.r,e.g,e.b)},t.copy=function(t,e){return t.r=e.r,t.g=e.g,t.b=e.b,t},t.set=function(t,e,i,n){return t.r=e,t.g=i,t.b=n,t},t.fromHex=function(t,e){var i=(e>>16)/255,n=(e>>8&255)/255,r=(255&e)/255;return t.r=i,t.g=n,t.b=r,t},t.add=function(t,e,i){return t.r=e.r+i.r,t.g=e.g+i.g,t.b=e.b+i.b,t},t.subtract=function(t,e,i){return t.r=e.r-i.r,t.g=e.g-i.g,t.b=e.b-i.b,t},t.sub=function(e,i,n){return t.subtract(e,i,n)},t.multiply=function(t,e,i){return t.r=e.r*i.r,t.g=e.g*i.g,t.b=e.b*i.b,t},t.mul=function(e,i,n){return t.multiply(e,i,n)},t.divide=function(t,e,i){return t.r=e.r/i.r,t.g=e.g/i.g,t.b=e.b/i.b,t},t.div=function(e,i,n){return t.divide(e,i,n)},t.scale=function(t,e,i){return t.r=e.r*i,t.g=e.g*i,t.b=e.b*i,t},t.lerp=function(t,e,i,n){var r=e.r,s=e.g,o=e.b;return t.r=r+n*(i.r-r),t.g=s+n*(i.g-s),t.b=o+n*(i.b-o),t},t.str=function(t){return"color3("+t.r+", "+t.g+", "+t.b+")"},t.array=function(t,e){var i=e instanceof cc.Color?1/255:1;return t[0]=e.r*i,t[1]=e.g*i,t[2]=e.b*i,t},t.exactEquals=function(t,e){return t.r===e.r&&t.g===e.g&&t.b===e.b},t.equals=function(t,e){var i=t.r,r=t.g,s=t.b,o=e.r,a=e.g,c=e.b;return Math.abs(i-o)<=n.EPSILON*Math.max(1,Math.abs(i),Math.abs(o))&&Math.abs(r-a)<=n.EPSILON*Math.max(1,Math.abs(r),Math.abs(a))&&Math.abs(s-c)<=n.EPSILON*Math.max(1,Math.abs(s),Math.abs(c))},t.hex=function(t){return 255*t.r<<16|255*t.g<<8|255*t.b},t})();i.default=s,e.exports=i.default}),{"./utils":281}],273:[(function(t,e,i){"use strict";i.__esModule=!0;var n=t("./utils");function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}var s=(function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1;r(this,t),this.r=e,this.g=i,this.b=n,this.a=s}return t.create=function(){return new t(arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,arguments.length>3&&void 0!==arguments[3]?arguments[3]:1)},t.clone=function(e){return new t(e.r,e.g,e.b,e.a)},t.copy=function(t,e){return t.r=e.r,t.g=e.g,t.b=e.b,t.a=e.a,t},t.set=function(t,e,i,n,r){return t.r=e,t.g=i,t.b=n,t.a=r,t},t.fromHex=function(t,e){var i=(e>>24)/255,n=(e>>16&255)/255,r=(e>>8&255)/255,s=(255&e)/255;return t.r=i,t.g=n,t.b=r,t.a=s,t},t.add=function(t,e,i){return t.r=e.r+i.r,t.g=e.g+i.g,t.b=e.b+i.b,t.a=e.a+i.a,t},t.subtract=function(t,e,i){return t.r=e.r-i.r,t.g=e.g-i.g,t.b=e.b-i.b,t.a=e.a-i.a,t},t.sub=function(e,i,n){return t.subtract(e,i,n)},t.multiply=function(t,e,i){return t.r=e.r*i.r,t.g=e.g*i.g,t.b=e.b*i.b,t.a=e.a*i.a,t},t.mul=function(e,i,n){return t.multiply(e,i,n)},t.divide=function(t,e,i){return t.r=e.r/i.r,t.g=e.g/i.g,t.b=e.b/i.b,t.a=e.a/i.a,t},t.div=function(e,i,n){return t.divide(e,i,n)},t.scale=function(t,e,i){return t.r=e.r*i,t.g=e.g*i,t.b=e.b*i,t.a=e.a*i,t},t.lerp=function(t,e,i,n){var r=e.r,s=e.g,o=e.b,a=e.a;return t.r=r+n*(i.r-r),t.g=s+n*(i.g-s),t.b=o+n*(i.b-o),t.a=a+n*(i.a-a),t},t.str=function(t){return"color4("+t.r+", "+t.g+", "+t.b+", "+t.a+")"},t.array=function(t,e){var i=e instanceof cc.Color||e.a>1?1/255:1;return t[0]=e.r*i,t[1]=e.g*i,t[2]=e.b*i,t[3]=e.a*i,t},t.exactEquals=function(t,e){return t.r===e.r&&t.g===e.g&&t.b===e.b&&t.a===e.a},t.equals=function(t,e){var i=t.r,r=t.g,s=t.b,o=t.a,a=e.r,c=e.g,l=e.b,h=e.a;return Math.abs(i-a)<=n.EPSILON*Math.max(1,Math.abs(i),Math.abs(a))&&Math.abs(r-c)<=n.EPSILON*Math.max(1,Math.abs(r),Math.abs(c))&&Math.abs(s-l)<=n.EPSILON*Math.max(1,Math.abs(s),Math.abs(l))&&Math.abs(o-h)<=n.EPSILON*Math.max(1,Math.abs(o),Math.abs(h))},t.hex=function(t){return(255*t.r<<24|255*t.g<<16|255*t.b<<8|255*t.a)>>>0},t})();i.default=s,e.exports=i.default}),{"./utils":281}],274:[(function(t,e,i){"use strict";i.__esModule=!0,i.color4=i.color3=i.mat4=i.mat3=i.mat23=i.mat2=i.trs=i.quat=i.vec4=i.vec3=i.vec2=void 0;var n=t("./utils");Object.keys(n).forEach((function(t){"default"!==t&&"__esModule"!==t&&Object.defineProperty(i,t,{enumerable:!0,get:function(){return n[t]}})}));var r=p(t("./vec2")),s=p(t("./vec3")),o=p(t("./vec4")),a=p(t("./quat")),c=p(t("./trs")),l=p(t("./mat2")),h=p(t("./mat23")),u=p(t("./mat3")),_=p(t("./mat4")),f=p(t("./color3")),d=p(t("./color4"));function p(t){return t&&t.__esModule?t:{default:t}}i.vec2=r.default,i.vec3=s.default,i.vec4=o.default,i.quat=a.default,i.trs=c.default,i.mat2=l.default,i.mat23=h.default,i.mat3=u.default,i.mat4=_.default,i.color3=f.default,i.color4=d.default,i.default={vec2:r.default,vec3:s.default,vec4:o.default,quat:a.default,trs:c.default,mat2:l.default,mat23:h.default,mat3:u.default,mat4:_.default,color3:f.default,color4:d.default}}),{"./color3":272,"./color4":273,"./mat2":275,"./mat23":276,"./mat3":277,"./mat4":278,"./quat":279,"./trs":280,"./utils":281,"./vec2":282,"./vec3":283,"./vec4":284}],275:[(function(t,e,i){"use strict";i.__esModule=!0;var n=t("./utils");function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}var s=(function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1;if(r(this,t),e instanceof Float32Array)i?(this.m=new Float32Array(4),this.m.set(e)):this.m=e;else{this.m=new Float32Array(4);var o=this.m;o[0]=e,o[1]=i,o[2]=n,o[3]=s}}return t.create=function(){return new t(arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,arguments.length>3&&void 0!==arguments[3]?arguments[3]:1)},t.clone=function(e){var i=e.m;return new t(i[0],i[1],i[2],i[3])},t.copy=function(t,e){return t.m.set(e.m),t},t.identity=function(t){var e=t.m;return e[0]=1,e[1]=0,e[2]=0,e[3]=1,t},t.set=function(t,e,i,n,r){var s=t.m;return s[0]=e,s[1]=i,s[2]=n,s[3]=r,t},t.transpose=function(t,e){var i=t.m,n=e.m;if(t===e){var r=n[1];i[1]=n[2],i[2]=r}else i[0]=n[0],i[1]=n[2],i[2]=n[1],i[3]=n[3];return t},t.invert=function(t,e){var i=e.m,n=t.m,r=i[0],s=i[1],o=i[2],a=i[3],c=r*a-o*s;return c?(c=1/c,n[0]=a*c,n[1]=-s*c,n[2]=-o*c,n[3]=r*c,t):null},t.adjoint=function(t,e){var i=t.m,n=e.m,r=n[0];return i[0]=n[3],i[1]=-n[1],i[2]=-n[2],i[3]=r,t},t.determinant=function(t){var e=t.m;return e[0]*e[3]-e[2]*e[1]},t.multiply=function(t,e,i){var n=e.m,r=t.m,s=n[0],o=n[1],a=n[2],c=n[3],l=bm[0],h=bm[1],u=bm[2],_=bm[3];return r[0]=s*l+a*h,r[1]=o*l+c*h,r[2]=s*u+a*_,r[3]=o*u+c*_,t},t.mul=function(e,i,n){return t.multiply(e,i,n)},t.rotate=function(t,e,i){var n=e.m,r=t.m,s=n[0],o=n[1],a=n[2],c=n[3],l=Math.sin(i),h=Math.cos(i);return r[0]=s*h+a*l,r[1]=o*h+c*l,r[2]=s*-l+a*h,r[3]=o*-l+c*h,t},t.scale=function(t,e,i){var n=e.m,r=t.m,s=n[0],o=n[1],a=n[2],c=n[3],l=i.x,h=i.y;return r[0]=s*l,r[1]=o*l,r[2]=a*h,r[3]=c*h,t},t.fromRotation=function(t,e){var i=t.m,n=Math.sin(e),r=Math.cos(e);return i[0]=r,i[1]=n,i[2]=-n,i[3]=r,t},t.fromScaling=function(t,e){var i=t.m;return i[0]=e.x,i[1]=0,i[2]=0,i[3]=e.y,t},t.str=function(t){var e=t.m;return"mat2("+e[0]+", "+e[1]+", "+e[2]+", "+e[3]+")"},t.array=function(t,e){var i=e.m;return t[0]=i[0],t[1]=i[1],t[2]=i[2],t[3]=i[3],t},t.frob=function(t){var e=t.m;return Math.sqrt(Math.pow(e[0],2)+Math.pow(e[1],2)+Math.pow(e[2],2)+Math.pow(e[3],2))},t.LDU=function(t,e,i,n){var r=t.m,s=i.m,o=n.m;r[2]=o[2]/o[0],s[0]=o[0],s[1]=o[1],s[3]=o[3]-r[2]*s[1]},t.add=function(t,e,i){var n=e.m,r=i.m,s=t.m;return s[0]=n[0]+r[0],s[1]=n[1]+r[1],s[2]=n[2]+r[2],s[3]=n[3]+r[3],t},t.subtract=function(t,e,i){var n=e.m,r=i.m,s=t.m;return s[0]=n[0]-r[0],s[1]=n[1]-r[1],s[2]=n[2]-r[2],s[3]=n[3]-r[3],t},t.sub=function(e,i,n){return t.subtract(e,i,n)},t.exactEquals=function(t,e){var i=t.m,n=e.m;return i[0]===n[0]&&i[1]===n[1]&&i[2]===n[2]&&i[3]===n[3]},t.equals=function(t,e){var i=t.m,r=e.m,s=i[0],o=i[1],a=i[2],c=i[3],l=r[0],h=r[1],u=r[2],_=r[3];return Math.abs(s-l)<=n.EPSILON*Math.max(1,Math.abs(s),Math.abs(l))&&Math.abs(o-h)<=n.EPSILON*Math.max(1,Math.abs(o),Math.abs(h))&&Math.abs(a-u)<=n.EPSILON*Math.max(1,Math.abs(a),Math.abs(u))&&Math.abs(c-_)<=n.EPSILON*Math.max(1,Math.abs(c),Math.abs(_))},t.multiplyScalar=function(t,e,i){var n=e.m,r=t.m;return r[0]=n[0]*i,r[1]=n[1]*i,r[2]=n[2]*i,r[3]=n[3]*i,t},t.multiplyScalarAndAdd=function(t,e,i,n){var r=e.m,s=i.m,o=t.m;return o[0]=r[0]+s[0]*n,o[1]=r[1]+s[1]*n,o[2]=r[2]+s[2]*n,o[3]=r[3]+s[3]*n,t},t})();i.default=s,e.exports=i.default}),{"./utils":281}],276:[(function(t,e,i){"use strict";i.__esModule=!0;var n=t("./utils");function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}var s=(function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1,o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0;if(r(this,t),e instanceof Float32Array)i?(this.m=new Float32Array(6),this.m.set(e)):this.m=e;else{this.m=new Float32Array(6);var c=this.m;c[0]=e,c[1]=i,c[2]=n,c[3]=s,c[4]=o,c[5]=a}}return t.create=function(){return new t(arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,arguments.length>3&&void 0!==arguments[3]?arguments[3]:1,arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,arguments.length>5&&void 0!==arguments[5]?arguments[5]:0)},t.clone=function(e){var i=e.m;return new t(i[0],i[1],i[2],i[3],i[4],i[5])},t.copy=function(t,e){return t.m.set(e.m),t},t.identity=function(t){var e=t.m;return e[0]=1,e[1]=0,e[2]=0,e[3]=1,e[4]=0,e[5]=0,t},t.set=function(t,e,i,n,r,s,o){var a=t.m;return a[0]=e,a[1]=i,a[2]=n,a[3]=r,a[4]=s,a[5]=o,t},t.invert=function(t,e){var i=e.m,n=t.m,r=i[0],s=i[1],o=i[2],a=i[3],c=i[4],l=i[5],h=r*a-s*o;return h?(h=1/h,n[0]=a*h,n[1]=-s*h,n[2]=-o*h,n[3]=r*h,n[4]=(o*l-a*c)*h,n[5]=(s*c-r*l)*h,t):null},t.determinant=function(t){var e=t.m;return e[0]*e[3]-e[1]*e[2]},t.multiply=function(t,e,i){var n=e.m,r=i.m,s=t.m,o=n[0],a=n[1],c=n[2],l=n[3],h=n[4],u=n[5],_=r[0],f=r[1],d=r[2],p=r[3],m=r[4],y=r[5];return s[0]=o*_+c*f,s[1]=a*_+l*f,s[2]=o*d+c*p,s[3]=a*d+l*p,s[4]=o*m+c*y+h,s[5]=a*m+l*y+u,t},t.mul=function(e,i,n){return t.multiply(e,i,n)},t.rotate=function(t,e,i){var n=e.m,r=t.m,s=n[0],o=n[1],a=n[2],c=n[3],l=n[4],h=n[5],u=Math.sin(i),_=Math.cos(i);return r[0]=s*_+a*u,r[1]=o*_+c*u,r[2]=s*-u+a*_,r[3]=o*-u+c*_,r[4]=l,r[5]=h,t},t.scale=function(t,e,i){var n=e.m,r=t.m,s=n[0],o=n[1],a=n[2],c=n[3],l=n[4],h=n[5],u=i.x,_=i.y;return r[0]=s*u,r[1]=o*u,r[2]=a*_,r[3]=c*_,r[4]=l,r[5]=h,t},t.translate=function(t,e,i){var n=e.m,r=t.m,s=n[0],o=n[1],a=n[2],c=n[3],l=n[4],h=n[5],u=i.x,_=i.y;return r[0]=s,r[1]=o,r[2]=a,r[3]=c,r[4]=s*u+a*_+l,r[5]=o*u+c*_+h,t},t.fromRotation=function(t,e){var i=t.m,n=Math.sin(e),r=Math.cos(e);return i[0]=r,i[1]=n,i[2]=-n,i[3]=r,i[4]=0,i[5]=0,t},t.fromScaling=function(t,e){var i=e.m,n=t.m;return n[0]=i[0],n[1]=0,n[2]=0,n[3]=i[1],n[4]=0,n[5]=0,t},t.fromTranslation=function(t,e){var i=t.m;return i[0]=1,i[1]=0,i[2]=0,i[3]=1,i[4]=e.x,i[5]=e.y,t},t.fromRTS=function(t,e,i,n){var r=t.m,s=Math.sin(e),o=Math.cos(e);return r[0]=o*n.x,r[1]=s*n.x,r[2]=-s*n.y,r[3]=o*n.y,r[4]=i.x,r[5]=i.y,t},t.str=function(t){var e=t.m;return"mat23("+e[0]+", "+e[1]+", "+e[2]+", "+e[3]+", "+e[4]+", "+e[5]+")"},t.array=function(t,e){var i=e.m;return t[0]=i[0],t[1]=i[1],t[2]=i[2],t[3]=i[3],t[4]=i[4],t[5]=i[5],t},t.array4x4=function(t,e){var i=e.m;return t[0]=i[0],t[1]=i[1],t[2]=0,t[3]=0,t[4]=i[2],t[5]=i[3],t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=i[4],t[13]=i[5],t[14]=0,t[15]=1,t},t.frob=function(t){var e=t.m;return Math.sqrt(Math.pow(e[0],2)+Math.pow(e[1],2)+Math.pow(e[2],2)+Math.pow(e[3],2)+Math.pow(e[4],2)+Math.pow(e[5],2)+1)},t.add=function(t,e,i){var n=e.m,r=i.m,s=t.m;return s[0]=n[0]+r[0],s[1]=n[1]+r[1],s[2]=n[2]+r[2],s[3]=n[3]+r[3],s[4]=n[4]+r[4],s[5]=n[5]+r[5],t},t.subtract=function(t,e,i){var n=e.m,r=i.m,s=t.m;return s[0]=n[0]-r[0],s[1]=n[1]-r[1],s[2]=n[2]-r[2],s[3]=n[3]-r[3],s[4]=n[4]-r[4],s[5]=n[5]-r[5],t},t.sub=function(e,i,n){return t.subtract(e,i,n)},t.multiplyScalar=function(t,e,i){var n=e.m,r=t.m;return r[0]=n[0]*i,r[1]=n[1]*i,r[2]=n[2]*i,r[3]=n[3]*i,r[4]=n[4]*i,r[5]=n[5]*i,t},t.multiplyScalarAndAdd=function(t,e,i,n){var r=e.m,s=i.m,o=t.m;return o[0]=r[0]+s[0]*n,o[1]=r[1]+s[1]*n,o[2]=r[2]+s[2]*n,o[3]=r[3]+s[3]*n,o[4]=r[4]+s[4]*n,o[5]=r[5]+s[5]*n,t},t.exactEquals=function(t,e){var i=t.m,n=e.m;return i[0]===n[0]&&i[1]===n[1]&&i[2]===n[2]&&i[3]===n[3]&&i[4]===n[4]&&i[5]===n[5]},t.equals=function(t,e){var i=t.m,r=e.m,s=i[0],o=i[1],a=i[2],c=i[3],l=i[4],h=i[5],u=r[0],_=r[1],f=r[2],d=r[3],p=r[4],m=r[5];return Math.abs(s-u)<=n.EPSILON*Math.max(1,Math.abs(s),Math.abs(u))&&Math.abs(o-_)<=n.EPSILON*Math.max(1,Math.abs(o),Math.abs(_))&&Math.abs(a-f)<=n.EPSILON*Math.max(1,Math.abs(a),Math.abs(f))&&Math.abs(c-d)<=n.EPSILON*Math.max(1,Math.abs(c),Math.abs(d))&&Math.abs(l-p)<=n.EPSILON*Math.max(1,Math.abs(l),Math.abs(p))&&Math.abs(h-m)<=n.EPSILON*Math.max(1,Math.abs(h),Math.abs(m))},t})();i.default=s,e.exports=i.default}),{"./utils":281}],277:[(function(t,e,i){"use strict";i.__esModule=!0;var n=t("./utils"),r=(function(t){return t&&t.__esModule?t:{default:t}})(t("./vec3"));function s(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}var o=(function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:1,a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0,c=arguments.length>6&&void 0!==arguments[6]?arguments[6]:0,l=arguments.length>7&&void 0!==arguments[7]?arguments[7]:0,h=arguments.length>8&&void 0!==arguments[8]?arguments[8]:1;if(s(this,t),e instanceof Float32Array)i?(this.m=new Float32Array(9),this.m.set(e)):this.m=e;else{this.m=new Float32Array(9);var u=this.m;u[0]=e,u[1]=i,u[2]=n,u[3]=r,u[4]=o,u[5]=a,u[6]=c,u[7]=l,u[8]=h}}return t.create=function(){return new t(arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,arguments.length>4&&void 0!==arguments[4]?arguments[4]:1,arguments.length>5&&void 0!==arguments[5]?arguments[5]:0,arguments.length>6&&void 0!==arguments[6]?arguments[6]:0,arguments.length>7&&void 0!==arguments[7]?arguments[7]:0,arguments.length>8&&void 0!==arguments[8]?arguments[8]:1)},t.clone=function(e){var i=e.m;return new t(i[0],i[1],i[2],i[3],i[4],i[5],i[6],i[7],i[8])},t.copy=function(t,e){return t.m.set(e.m),t},t.set=function(t,e,i,n,r,s,o,a,c,l){var h=t.m;return h[0]=e,h[1]=i,h[2]=n,h[3]=r,h[4]=s,h[5]=o,h[6]=a,h[7]=c,h[8]=l,t},t.identity=function(t){var e=t.m;return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=1,e[5]=0,e[6]=0,e[7]=0,e[8]=1,t},t.transpose=function(t,e){var i=e.m,n=t.m;if(t===e){var r=i[1],s=i[2],o=i[5];n[1]=i[3],n[2]=i[6],n[3]=r,n[5]=i[7],n[6]=s,n[7]=o}else n[0]=i[0],n[1]=i[3],n[2]=i[6],n[3]=i[1],n[4]=i[4],n[5]=i[7],n[6]=i[2],n[7]=i[5],n[8]=i[8];return t},t.invert=function(t,e){var i=e.m,n=t.m,r=i[0],s=i[1],o=i[2],a=i[3],c=i[4],l=i[5],h=i[6],u=i[7],_=i[8],f=_*c-l*u,d=-_*a+l*h,p=u*a-c*h,m=r*f+s*d+o*p;return m?(m=1/m,n[0]=f*m,n[1]=(-_*s+o*u)*m,n[2]=(l*s-o*c)*m,n[3]=d*m,n[4]=(_*r-o*h)*m,n[5]=(-l*r+o*a)*m,n[6]=p*m,n[7]=(-u*r+s*h)*m,n[8]=(c*r-s*a)*m,t):null},t.adjoint=function(t,e){var i=e.m,n=t.m,r=i[0],s=i[1],o=i[2],a=i[3],c=i[4],l=i[5],h=i[6],u=i[7],_=i[8];return n[0]=c*_-l*u,n[1]=o*u-s*_,n[2]=s*l-o*c,n[3]=l*h-a*_,n[4]=r*_-o*h,n[5]=o*a-r*l,n[6]=a*u-c*h,n[7]=s*h-r*u,n[8]=r*c-s*a,t},t.determinant=function(t){var e=t.m,i=e[0],n=e[1],r=e[2],s=e[3],o=e[4],a=e[5],c=e[6],l=e[7],h=e[8];return i*(h*o-a*l)+n*(-h*s+a*c)+r*(l*s-o*c)},t.multiply=function(t,e,i){var n=e.m,r=i.m,s=t.m,o=n[0],a=n[1],c=n[2],l=n[3],h=n[4],u=n[5],_=n[6],f=n[7],d=n[8],p=r[0],m=r[1],y=r[2],v=r[3],g=r[4],x=r[5],C=r[6],A=r[7],b=r[8];return s[0]=p*o+m*l+y*_,s[1]=p*a+m*h+y*f,s[2]=p*c+m*u+y*d,s[3]=v*o+g*l+x*_,s[4]=v*a+g*h+x*f,s[5]=v*c+g*u+x*d,s[6]=C*o+A*l+b*_,s[7]=C*a+A*h+b*f,s[8]=C*c+A*u+b*d,t},t.mul=function(e,i,n){return t.multiply(e,i,n)},t.translate=function(t,e,i){var n=e.m,r=t.m,s=n[0],o=n[1],a=n[2],c=n[3],l=n[4],h=n[5],u=n[6],_=n[7],f=n[8],d=i.x,p=i.y;return r[0]=s,r[1]=o,r[2]=a,r[3]=c,r[4]=l,r[5]=h,r[6]=d*s+p*c+u,r[7]=d*o+p*l+_,r[8]=d*a+p*h+f,t},t.rotate=function(t,e,i){var n=e.m,r=t.m,s=n[0],o=n[1],a=n[2],c=n[3],l=n[4],h=n[5],u=n[6],_=n[7],f=n[8],d=Math.sin(i),p=Math.cos(i);return r[0]=p*s+d*c,r[1]=p*o+d*l,r[2]=p*a+d*h,r[3]=p*c-d*s,r[4]=p*l-d*o,r[5]=p*h-d*a,r[6]=u,r[7]=_,r[8]=f,t},t.scale=function(t,e,i){var n=i.x,r=i.y,s=e.m,o=t.m;return o[0]=n*s[0],o[1]=n*s[1],o[2]=n*s[2],o[3]=r*s[3],o[4]=r*s[4],o[5]=r*s[5],o[6]=s[6],o[7]=s[7],o[8]=s[8],t},t.fromMat4=function(t,e){var i=e.m,n=t.m;return n[0]=i[0],n[1]=i[1],n[2]=i[2],n[3]=i[4],n[4]=i[5],n[5]=i[6],n[6]=i[8],n[7]=i[9],n[8]=i[10],t},t.fromTranslation=function(t,e){var i=t.m;return i[0]=1,i[1]=0,i[2]=0,i[3]=0,i[4]=1,i[5]=0,i[6]=e.x,i[7]=e.y,i[8]=1,t},t.fromRotation=function(t,e){var i=Math.sin(e),n=Math.cos(e),r=t.m;return r[0]=n,r[1]=i,r[2]=0,r[3]=-i,r[4]=n,r[5]=0,r[6]=0,r[7]=0,r[8]=1,t},t.fromScaling=function(t,e){var i=t.m;return i[0]=e.x,i[1]=0,i[2]=0,i[3]=0,i[4]=e.y,i[5]=0,i[6]=0,i[7]=0,i[8]=1,t},t.fromMat2d=function(t,e){var i=e.m,n=t.m;return n[0]=i[0],n[1]=i[1],n[2]=0,n[3]=i[2],n[4]=i[3],n[5]=0,n[6]=i[4],n[7]=i[5],n[8]=1,t},t.fromQuat=function(t,e){var i=t.m,n=e.x,r=e.y,s=e.z,o=e.w,a=n+n,c=r+r,l=s+s,h=n*a,u=r*a,_=r*c,f=s*a,d=s*c,p=s*l,m=o*a,y=o*c,v=o*l;return i[0]=1-_-p,i[3]=u-v,i[6]=f+y,i[1]=u+v,i[4]=1-h-p,i[7]=d-m,i[2]=f-y,i[5]=d+m,i[8]=1-h-_,t},t.fromViewUp=function(e,i,s){return (function(){var e=r.default.create(0,1,0),i=r.default.create(0,0,0),s=r.default.create(0,0,0);return function(o,a,c){return r.default.sqrMag(a)<n.EPSILON*n.EPSILON?(t.identity(o),o):(c=c||e,r.default.normalize(i,r.default.cross(i,c,a)),r.default.sqrMag(i)<n.EPSILON*n.EPSILON?(t.identity(o),o):(r.default.cross(s,a,i),t.set(o,i.x,i.y,i.z,s.x,s.y,s.z,a.x,a.y,a.z),o))}})()(e,i,s)},t.normalFromMat4=function(t,e){var i=e.m,n=t.m,r=i[0],s=i[1],o=i[2],a=i[3],c=i[4],l=i[5],h=i[6],u=i[7],_=i[8],f=i[9],d=i[10],p=i[11],m=i[12],y=i[13],v=i[14],g=i[15],x=r*l-s*c,C=r*h-o*c,A=r*u-a*c,b=s*h-o*l,S=s*u-a*l,T=o*u-a*h,w=_*y-f*m,E=_*v-d*m,B=_*g-p*m,M=f*v-d*y,I=f*g-p*y,R=d*g-p*v,P=x*R-C*I+A*M+b*B-S*E+T*w;return P?(P=1/P,n[0]=(l*R-h*I+u*M)*P,n[1]=(h*B-c*R-u*E)*P,n[2]=(c*I-l*B+u*w)*P,n[3]=(o*I-s*R-a*M)*P,n[4]=(r*R-o*B+a*E)*P,n[5]=(s*B-r*I-a*w)*P,n[6]=(y*T-v*S+g*b)*P,n[7]=(v*A-m*T-g*C)*P,n[8]=(m*S-y*A+g*x)*P,t):null},t.str=function(t){var e=t.m;return"mat3("+e[0]+", "+e[1]+", "+e[2]+", "+e[3]+", "+e[4]+", "+e[5]+", "+e[6]+", "+e[7]+", "+e[8]+")"},t.array=function(t,e){var i=e.m;return t[0]=i[0],t[1]=i[1],t[2]=i[2],t[3]=i[3],t[4]=i[4],t[5]=i[5],t[6]=i[6],t[7]=i[7],t[8]=i[8],t},t.frob=function(t){var e=t.m;return Math.sqrt(Math.pow(e[0],2)+Math.pow(e[1],2)+Math.pow(e[2],2)+Math.pow(e[3],2)+Math.pow(e[4],2)+Math.pow(e[5],2)+Math.pow(e[6],2)+Math.pow(e[7],2)+Math.pow(e[8],2))},t.add=function(t,e,i){var n=e.m,r=i.m,s=t.m;return s[0]=n[0]+r[0],s[1]=n[1]+r[1],s[2]=n[2]+r[2],s[3]=n[3]+r[3],s[4]=n[4]+r[4],s[5]=n[5]+r[5],s[6]=n[6]+r[6],s[7]=n[7]+r[7],s[8]=n[8]+r[8],t},t.subtract=function(t,e,i){var n=e.m,r=i.m,s=t.m;return s[0]=n[0]-r[0],s[1]=n[1]-r[1],s[2]=n[2]-r[2],s[3]=n[3]-r[3],s[4]=n[4]-r[4],s[5]=n[5]-r[5],s[6]=n[6]-r[6],s[7]=n[7]-r[7],s[8]=n[8]-r[8],t},t.sub=function(e,i,n){return t.subtract(e,i,n)},t.multiplyScalar=function(t,e,i){var n=e.m,r=t.m;return r[0]=n[0]*i,r[1]=n[1]*i,r[2]=n[2]*i,r[3]=n[3]*i,r[4]=n[4]*i,r[5]=n[5]*i,r[6]=n[6]*i,r[7]=n[7]*i,r[8]=n[8]*i,t},t.multiplyScalarAndAdd=function(t,e,i,n){var r=e.m,s=i.m,o=t.m;return o[0]=r[0]+s[0]*n,o[1]=r[1]+s[1]*n,o[2]=r[2]+s[2]*n,o[3]=r[3]+s[3]*n,o[4]=r[4]+s[4]*n,o[5]=r[5]+s[5]*n,o[6]=r[6]+s[6]*n,o[7]=r[7]+s[7]*n,o[8]=r[8]+s[8]*n,t},t.exactEquals=function(t,e){var i=t.m,n=e.m;return i[0]===n[0]&&i[1]===n[1]&&i[2]===n[2]&&i[3]===n[3]&&i[4]===n[4]&&i[5]===n[5]&&i[6]===n[6]&&i[7]===n[7]&&i[8]===n[8]},t.equals=function(t,e){var i=t.m,r=e.m,s=i[0],o=i[1],a=i[2],c=i[3],l=i[4],h=i[5],u=i[6],_=i[7],f=i[8],d=r[0],p=r[1],m=r[2],y=r[3],v=r[4],g=r[5],x=r[6],C=r[7],A=r[8];return Math.abs(s-d)<=n.EPSILON*Math.max(1,Math.abs(s),Math.abs(d))&&Math.abs(o-p)<=n.EPSILON*Math.max(1,Math.abs(o),Math.abs(p))&&Math.abs(a-m)<=n.EPSILON*Math.max(1,Math.abs(a),Math.abs(m))&&Math.abs(c-y)<=n.EPSILON*Math.max(1,Math.abs(c),Math.abs(y))&&Math.abs(l-v)<=n.EPSILON*Math.max(1,Math.abs(l),Math.abs(v))&&Math.abs(h-g)<=n.EPSILON*Math.max(1,Math.abs(h),Math.abs(g))&&Math.abs(u-x)<=n.EPSILON*Math.max(1,Math.abs(u),Math.abs(x))&&Math.abs(_-C)<=n.EPSILON*Math.max(1,Math.abs(_),Math.abs(C))&&Math.abs(f-A)<=n.EPSILON*Math.max(1,Math.abs(f),Math.abs(A))},t})();i.default=o,e.exports=i.default}),{"./utils":281,"./vec3":283}],278:[(function(t,e,i){"use strict";i.__esModule=!0;var n=t("./utils");function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}var s=(function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:1,c=arguments.length>6&&void 0!==arguments[6]?arguments[6]:0,l=arguments.length>7&&void 0!==arguments[7]?arguments[7]:0,h=arguments.length>8&&void 0!==arguments[8]?arguments[8]:0,u=arguments.length>9&&void 0!==arguments[9]?arguments[9]:0,_=arguments.length>10&&void 0!==arguments[10]?arguments[10]:1,f=arguments.length>11&&void 0!==arguments[11]?arguments[11]:0,d=arguments.length>12&&void 0!==arguments[12]?arguments[12]:0,p=arguments.length>13&&void 0!==arguments[13]?arguments[13]:0,m=arguments.length>14&&void 0!==arguments[14]?arguments[14]:0,y=arguments.length>15&&void 0!==arguments[15]?arguments[15]:1;if(r(this,t),e instanceof Float32Array)i?(this.m=new Float32Array(16),this.m.set(e)):this.m=e;else{this.m=new Float32Array(16);var v=this.m;v[0]=e,v[1]=i,v[2]=n,v[3]=s,v[4]=o,v[5]=a,v[6]=c,v[7]=l,v[8]=h,v[9]=u,v[10]=_,v[11]=f,v[12]=d,v[13]=p,v[14]=m,v[15]=y}}return t.create=function(){return new t(arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,arguments.length>5&&void 0!==arguments[5]?arguments[5]:1,arguments.length>6&&void 0!==arguments[6]?arguments[6]:0,arguments.length>7&&void 0!==arguments[7]?arguments[7]:0,arguments.length>8&&void 0!==arguments[8]?arguments[8]:0,arguments.length>9&&void 0!==arguments[9]?arguments[9]:0,arguments.length>10&&void 0!==arguments[10]?arguments[10]:1,arguments.length>11&&void 0!==arguments[11]?arguments[11]:0,arguments.length>12&&void 0!==arguments[12]?arguments[12]:0,arguments.length>13&&void 0!==arguments[13]?arguments[13]:0,arguments.length>14&&void 0!==arguments[14]?arguments[14]:0,arguments.length>15&&void 0!==arguments[15]?arguments[15]:1)},t.clone=function(e){var i=e.m;return new t(i[0],i[1],i[2],i[3],i[4],i[5],i[6],i[7],i[8],i[9],i[10],i[11],i[12],i[13],i[14],i[15])},t.copy=function(t,e){return t.m.set(e.m),t},t.set=function(t,e,i,n,r,s,o,a,c,l,h,u,_,f,d,p,m){var y=t.m;return y[0]=e,y[1]=i,y[2]=n,y[3]=r,y[4]=s,y[5]=o,y[6]=a,y[7]=c,y[8]=l,y[9]=h,y[10]=u,y[11]=_,y[12]=f,y[13]=d,y[14]=p,y[15]=m,t},t.identity=function(t){var e=t.m;return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,t},t.transpose=function(t,e){var i=e.m,n=t.m;if(t===e){var r=i[1],s=i[2],o=i[3],a=i[6],c=i[7],l=i[11];n[1]=i[4],n[2]=i[8],n[3]=i[12],n[4]=r,n[6]=i[9],n[7]=i[13],n[8]=s,n[9]=a,n[11]=i[14],n[12]=o,n[13]=c,n[14]=l}else n[0]=i[0],n[1]=i[4],n[2]=i[8],n[3]=i[12],n[4]=i[1],n[5]=i[5],n[6]=i[9],n[7]=i[13],n[8]=i[2],n[9]=i[6],n[10]=i[10],n[11]=i[14],n[12]=i[3],n[13]=i[7],n[14]=i[11],n[15]=i[15];return t},t.invert=function(t,e){var i=e.m,n=t.m,r=i[0],s=i[1],o=i[2],a=i[3],c=i[4],l=i[5],h=i[6],u=i[7],_=i[8],f=i[9],d=i[10],p=i[11],m=i[12],y=i[13],v=i[14],g=i[15],x=r*l-s*c,C=r*h-o*c,A=r*u-a*c,b=s*h-o*l,S=s*u-a*l,T=o*u-a*h,w=_*y-f*m,E=_*v-d*m,B=_*g-p*m,M=f*v-d*y,I=f*g-p*y,R=d*g-p*v,P=x*R-C*I+A*M+b*B-S*E+T*w;return P?(P=1/P,n[0]=(l*R-h*I+u*M)*P,n[1]=(o*I-s*R-a*M)*P,n[2]=(y*T-v*S+g*b)*P,n[3]=(d*S-f*T-p*b)*P,n[4]=(h*B-c*R-u*E)*P,n[5]=(r*R-o*B+a*E)*P,n[6]=(v*A-m*T-g*C)*P,n[7]=(_*T-d*A+p*C)*P,n[8]=(c*I-l*B+u*w)*P,n[9]=(s*B-r*I-a*w)*P,n[10]=(m*S-y*A+g*x)*P,n[11]=(f*A-_*S-p*x)*P,n[12]=(l*E-c*M-h*w)*P,n[13]=(r*M-s*E+o*w)*P,n[14]=(y*C-m*b-v*x)*P,n[15]=(_*b-f*C+d*x)*P,t):null},t.adjoint=function(t,e){var i=e.m,n=t.m,r=i[0],s=i[1],o=i[2],a=i[3],c=i[4],l=i[5],h=i[6],u=i[7],_=i[8],f=i[9],d=i[10],p=i[11],m=i[12],y=i[13],v=i[14],g=i[15];return n[0]=l*(d*g-p*v)-f*(h*g-u*v)+y*(h*p-u*d),n[1]=-(s*(d*g-p*v)-f*(o*g-a*v)+y*(o*p-a*d)),n[2]=s*(h*g-u*v)-l*(o*g-a*v)+y*(o*u-a*h),n[3]=-(s*(h*p-u*d)-l*(o*p-a*d)+f*(o*u-a*h)),n[4]=-(c*(d*g-p*v)-_*(h*g-u*v)+m*(h*p-u*d)),n[5]=r*(d*g-p*v)-_*(o*g-a*v)+m*(o*p-a*d),n[6]=-(r*(h*g-u*v)-c*(o*g-a*v)+m*(o*u-a*h)),n[7]=r*(h*p-u*d)-c*(o*p-a*d)+_*(o*u-a*h),n[8]=c*(f*g-p*y)-_*(l*g-u*y)+m*(l*p-u*f),n[9]=-(r*(f*g-p*y)-_*(s*g-a*y)+m*(s*p-a*f)),n[10]=r*(l*g-u*y)-c*(s*g-a*y)+m*(s*u-a*l),n[11]=-(r*(l*p-u*f)-c*(s*p-a*f)+_*(s*u-a*l)),n[12]=-(c*(f*v-d*y)-_*(l*v-h*y)+m*(l*d-h*f)),n[13]=r*(f*v-d*y)-_*(s*v-o*y)+m*(s*d-o*f),n[14]=-(r*(l*v-h*y)-c*(s*v-o*y)+m*(s*h-o*l)),n[15]=r*(l*d-h*f)-c*(s*d-o*f)+_*(s*h-o*l),t},t.determinant=function(t){var e=t.m,i=e[0],n=e[1],r=e[2],s=e[3],o=e[4],a=e[5],c=e[6],l=e[7],h=e[8],u=e[9],_=e[10],f=e[11],d=e[12],p=e[13],m=e[14],y=e[15];return(i*a-n*o)*(_*y-f*m)-(i*c-r*o)*(u*y-f*p)+(i*l-s*o)*(u*m-_*p)+(n*c-r*a)*(h*y-f*d)-(n*l-s*a)*(h*m-_*d)+(r*l-s*c)*(h*p-u*d)},t.multiply=function(t,e,i){var n=e.m,r=i.m,s=t.m,o=n[0],a=n[1],c=n[2],l=n[3],h=n[4],u=n[5],_=n[6],f=n[7],d=n[8],p=n[9],m=n[10],y=n[11],v=n[12],g=n[13],x=n[14],C=n[15],A=r[0],b=r[1],S=r[2],T=r[3];return s[0]=A*o+b*h+S*d+T*v,s[1]=A*a+b*u+S*p+T*g,s[2]=A*c+b*_+S*m+T*x,s[3]=A*l+b*f+S*y+T*C,A=r[4],b=r[5],S=r[6],T=r[7],s[4]=A*o+b*h+S*d+T*v,s[5]=A*a+b*u+S*p+T*g,s[6]=A*c+b*_+S*m+T*x,s[7]=A*l+b*f+S*y+T*C,A=r[8],b=r[9],S=r[10],T=r[11],s[8]=A*o+b*h+S*d+T*v,s[9]=A*a+b*u+S*p+T*g,s[10]=A*c+b*_+S*m+T*x,s[11]=A*l+b*f+S*y+T*C,A=r[12],b=r[13],S=r[14],T=r[15],s[12]=A*o+b*h+S*d+T*v,s[13]=A*a+b*u+S*p+T*g,s[14]=A*c+b*_+S*m+T*x,s[15]=A*l+b*f+S*y+T*C,t},t.mul=function(e,i,n){return t.multiply(e,i,n)},t.translate=function(t,e,i){var n=e.m,r=t.m,s=i.x,o=i.y,a=i.z,c=void 0,l=void 0,h=void 0,u=void 0,_=void 0,f=void 0,d=void 0,p=void 0,m=void 0,y=void 0,v=void 0,g=void 0;return e===t?(r[12]=n[0]*s+n[4]*o+n[8]*a+n[12],r[13]=n[1]*s+n[5]*o+n[9]*a+n[13],r[14]=n[2]*s+n[6]*o+n[10]*a+n[14],r[15]=n[3]*s+n[7]*o+n[11]*a+n[15]):(c=n[0],l=n[1],h=n[2],u=n[3],_=n[4],f=n[5],d=n[6],p=n[7],m=n[8],y=n[9],v=n[10],g=n[11],r[0]=c,r[1]=l,r[2]=h,r[3]=u,r[4]=_,r[5]=f,r[6]=d,r[7]=p,r[8]=m,r[9]=y,r[10]=v,r[11]=g,r[12]=c*s+_*o+m*a+n[12],r[13]=l*s+f*o+y*a+n[13],r[14]=h*s+d*o+v*a+n[14],r[15]=u*s+p*o+g*a+n[15]),t},t.scale=function(t,e,i){var n=i.x,r=i.y,s=i.z,o=e.m,a=t.m;return a[0]=o[0]*n,a[1]=o[1]*n,a[2]=o[2]*n,a[3]=o[3]*n,a[4]=o[4]*r,a[5]=o[5]*r,a[6]=o[6]*r,a[7]=o[7]*r,a[8]=o[8]*s,a[9]=o[9]*s,a[10]=o[10]*s,a[11]=o[11]*s,a[12]=o[12],a[13]=o[13],a[14]=o[14],a[15]=o[15],t},t.rotate=function(t,e,i,r){var s,o,a,c,l,h,u,_,f,d,p,m,y,v,g,x,C,A,b,S,T,w,E,B,M=e.m,I=t.m,R=r.x,P=r.y,D=r.z,L=Math.sqrt(R*R+P*P+D*D);return Math.abs(L)<n.EPSILON?null:(R*=L=1/L,P*=L,D*=L,s=Math.sin(i),a=1-(o=Math.cos(i)),c=M[0],l=M[1],h=M[2],u=M[3],_=M[4],f=M[5],d=M[6],p=M[7],m=M[8],y=M[9],v=M[10],g=M[11],x=R*R*a+o,C=P*R*a+D*s,A=D*R*a-P*s,b=R*P*a-D*s,S=P*P*a+o,T=D*P*a+R*s,w=R*D*a+P*s,E=P*D*a-R*s,B=D*D*a+o,I[0]=c*x+_*C+m*A,I[1]=l*x+f*C+y*A,I[2]=h*x+d*C+v*A,I[3]=u*x+p*C+g*A,I[4]=c*b+_*S+m*T,I[5]=l*b+f*S+y*T,I[6]=h*b+d*S+v*T,I[7]=u*b+p*S+g*T,I[8]=c*w+_*E+m*B,I[9]=l*w+f*E+y*B,I[10]=h*w+d*E+v*B,I[11]=u*w+p*E+g*B,e!==t&&(I[12]=M[12],I[13]=M[13],I[14]=M[14],I[15]=M[15]),t)},t.rotateX=function(t,e,i){var n=e.m,r=t.m,s=Math.sin(i),o=Math.cos(i),a=n[4],c=n[5],l=n[6],h=n[7],u=n[8],_=n[9],f=n[10],d=n[11];return e!==t&&(r[0]=n[0],r[1]=n[1],r[2]=n[2],r[3]=n[3],r[12]=n[12],r[13]=n[13],r[14]=n[14],r[15]=n[15]),r[4]=a*o+u*s,r[5]=c*o+_*s,r[6]=l*o+f*s,r[7]=h*o+d*s,r[8]=u*o-a*s,r[9]=_*o-c*s,r[10]=f*o-l*s,r[11]=d*o-h*s,t},t.rotateY=function(t,e,i){var n=e.m,r=t.m,s=Math.sin(i),o=Math.cos(i),a=n[0],c=n[1],l=n[2],h=n[3],u=n[8],_=n[9],f=n[10],d=n[11];return e!==t&&(r[4]=n[4],r[5]=n[5],r[6]=n[6],r[7]=n[7],r[12]=n[12],r[13]=n[13],r[14]=n[14],r[15]=n[15]),r[0]=a*o-u*s,r[1]=c*o-_*s,r[2]=l*o-f*s,r[3]=h*o-d*s,r[8]=a*s+u*o,r[9]=c*s+_*o,r[10]=l*s+f*o,r[11]=h*s+d*o,t},t.rotateZ=function(t,e,i){var n=e.m,r=t.m,s=Math.sin(i),o=Math.cos(i),a=n[0],c=n[1],l=n[2],h=n[3],u=n[4],_=n[5],f=n[6],d=n[7];return e!==t&&(r[8]=n[8],r[9]=n[9],r[10]=n[10],r[11]=n[11],r[12]=n[12],r[13]=n[13],r[14]=n[14],r[15]=n[15]),r[0]=a*o+u*s,r[1]=c*o+_*s,r[2]=l*o+f*s,r[3]=h*o+d*s,r[4]=u*o-a*s,r[5]=_*o-c*s,r[6]=f*o-l*s,r[7]=d*o-h*s,t},t.fromTranslation=function(t,e){var i=t.m;return i[0]=1,i[1]=0,i[2]=0,i[3]=0,i[4]=0,i[5]=1,i[6]=0,i[7]=0,i[8]=0,i[9]=0,i[10]=1,i[11]=0,i[12]=e.x,i[13]=e.y,i[14]=e.z,i[15]=1,t},t.fromScaling=function(t,e){var i=t.m;return i[0]=e.x,i[1]=0,i[2]=0,i[3]=0,i[4]=0,i[5]=e.y,i[6]=0,i[7]=0,i[8]=0,i[9]=0,i[10]=e.z,i[11]=0,i[12]=0,i[13]=0,i[14]=0,i[15]=1,t},t.fromRotation=function(t,e,i){var r,s,o,a=t.m,c=i.x,l=i.y,h=i.z,u=Math.sqrt(c*c+l*l+h*h);return Math.abs(u)<n.EPSILON?null:(c*=u=1/u,l*=u,h*=u,r=Math.sin(e),o=1-(s=Math.cos(e)),a[0]=c*c*o+s,a[1]=l*c*o+h*r,a[2]=h*c*o-l*r,a[3]=0,a[4]=c*l*o-h*r,a[5]=l*l*o+s,a[6]=h*l*o+c*r,a[7]=0,a[8]=c*h*o+l*r,a[9]=l*h*o-c*r,a[10]=h*h*o+s,a[11]=0,a[12]=0,a[13]=0,a[14]=0,a[15]=1,t)},t.fromXRotation=function(t,e){var i=t.m,n=Math.sin(e),r=Math.cos(e);return i[0]=1,i[1]=0,i[2]=0,i[3]=0,i[4]=0,i[5]=r,i[6]=n,i[7]=0,i[8]=0,i[9]=-n,i[10]=r,i[11]=0,i[12]=0,i[13]=0,i[14]=0,i[15]=1,t},t.fromYRotation=function(t,e){var i=t.m,n=Math.sin(e),r=Math.cos(e);return i[0]=r,i[1]=0,i[2]=-n,i[3]=0,i[4]=0,i[5]=1,i[6]=0,i[7]=0,i[8]=n,i[9]=0,i[10]=r,i[11]=0,i[12]=0,i[13]=0,i[14]=0,i[15]=1,t},t.fromZRotation=function(t,e){var i=t.m,n=Math.sin(e),r=Math.cos(e);return i[0]=r,i[1]=n,i[2]=0,i[3]=0,i[4]=-n,i[5]=r,i[6]=0,i[7]=0,i[8]=0,i[9]=0,i[10]=1,i[11]=0,i[12]=0,i[13]=0,i[14]=0,i[15]=1,t},t.fromRT=function(t,e,i){var n=t.m,r=e.x,s=e.y,o=e.z,a=e.w,c=r+r,l=s+s,h=o+o,u=r*c,_=r*l,f=r*h,d=s*l,p=s*h,m=o*h,y=a*c,v=a*l,g=a*h;return n[0]=1-(d+m),n[1]=_+g,n[2]=f-v,n[3]=0,n[4]=_-g,n[5]=1-(u+m),n[6]=p+y,n[7]=0,n[8]=f+v,n[9]=p-y,n[10]=1-(u+d),n[11]=0,n[12]=i.x,n[13]=i.y,n[14]=i.z,n[15]=1,t},t.fromTRSArray=function(t,e){var i=t.m,n=e[3],r=e[4],s=e[5],o=e[6],a=n+n,c=r+r,l=s+s,h=n*a,u=n*c,_=n*l,f=r*c,d=r*l,p=s*l,m=o*a,y=o*c,v=o*l,g=e[7],x=e[8],C=e[9];return i[0]=(1-(f+p))*g,i[1]=(u+v)*g,i[2]=(_-y)*g,i[3]=0,i[4]=(u-v)*x,i[5]=(1-(h+p))*x,i[6]=(d+m)*x,i[7]=0,i[8]=(_+y)*C,i[9]=(d-m)*C,i[10]=(1-(h+f))*C,i[11]=0,i[12]=e[0],i[13]=e[1],i[14]=e[2],i[15]=1,t},t.getTranslation=function(t,e){var i=e.m;return t.x=i[12],t.y=i[13],t.z=i[14],t},t.getScaling=function(t,e){var i=e.m,n=i[0],r=i[1],s=i[2],o=i[4],a=i[5],c=i[6],l=i[8],h=i[9],u=i[10];return t.x=Math.sqrt(n*n+r*r+s*s),t.y=Math.sqrt(o*o+a*a+c*c),t.z=Math.sqrt(l*l+h*h+u*u),t},t.getRotation=function(t,e){var i=e.m,n=i[0]+i[5]+i[10],r=0;return n>0?(r=2*Math.sqrt(n+1),t.w=.25*r,t.x=(i[6]-i[9])/r,t.y=(i[8]-i[2])/r,t.z=(i[1]-i[4])/r):i[0]>i[5]&i[0]>i[10]?(r=2*Math.sqrt(1+i[0]-i[5]-i[10]),t.w=(i[6]-i[9])/r,t.x=.25*r,t.y=(i[1]+i[4])/r,t.z=(i[8]+i[2])/r):i[5]>i[10]?(r=2*Math.sqrt(1+i[5]-i[0]-i[10]),t.w=(i[8]-i[2])/r,t.x=(i[1]+i[4])/r,t.y=.25*r,t.z=(i[6]+i[9])/r):(r=2*Math.sqrt(1+i[10]-i[0]-i[5]),t.w=(i[1]-i[4])/r,t.x=(i[8]+i[2])/r,t.y=(i[6]+i[9])/r,t.z=.25*r),t},t.fromRTS=function(t,e,i,n){var r=t.m,s=e.x,o=e.y,a=e.z,c=e.w,l=s+s,h=o+o,u=a+a,_=s*l,f=s*h,d=s*u,p=o*h,m=o*u,y=a*u,v=c*l,g=c*h,x=c*u,C=n.x,A=n.y,b=n.z;return r[0]=(1-(p+y))*C,r[1]=(f+x)*C,r[2]=(d-g)*C,r[3]=0,r[4]=(f-x)*A,r[5]=(1-(_+y))*A,r[6]=(m+v)*A,r[7]=0,r[8]=(d+g)*b,r[9]=(m-v)*b,r[10]=(1-(_+p))*b,r[11]=0,r[12]=i.x,r[13]=i.y,r[14]=i.z,r[15]=1,t},t.fromRTSOrigin=function(t,e,i,n,r){var s=t.m,o=e.x,a=e.y,c=e.z,l=e.w,h=o+o,u=a+a,_=c+c,f=o*h,d=o*u,p=o*_,m=a*u,y=a*_,v=c*_,g=l*h,x=l*u,C=l*_,A=n.x,b=n.y,S=n.z,T=r.x,w=r.y,E=r.z;return s[0]=(1-(m+v))*A,s[1]=(d+C)*A,s[2]=(p-x)*A,s[3]=0,s[4]=(d-C)*b,s[5]=(1-(f+v))*b,s[6]=(y+g)*b,s[7]=0,s[8]=(p+x)*S,s[9]=(y-g)*S,s[10]=(1-(f+m))*S,s[11]=0,s[12]=i.x+T-(s[0]*T+s[4]*w+s[8]*E),s[13]=i.y+w-(s[1]*T+s[5]*w+s[9]*E),s[14]=i.z+E-(s[2]*T+s[6]*w+s[10]*E),s[15]=1,t},t.fromQuat=function(t,e){var i=t.m,n=e.x,r=e.y,s=e.z,o=e.w,a=n+n,c=r+r,l=s+s,h=n*a,u=r*a,_=r*c,f=s*a,d=s*c,p=s*l,m=o*a,y=o*c,v=o*l;return i[0]=1-_-p,i[1]=u+v,i[2]=f-y,i[3]=0,i[4]=u-v,i[5]=1-h-p,i[6]=d+m,i[7]=0,i[8]=f+y,i[9]=d-m,i[10]=1-h-_,i[11]=0,i[12]=0,i[13]=0,i[14]=0,i[15]=1,t},t.frustum=function(t,e,i,n,r,s,o){var a=t.m,c=1/(i-e),l=1/(r-n),h=1/(s-o);return a[0]=2*s*c,a[1]=0,a[2]=0,a[3]=0,a[4]=0,a[5]=2*s*l,a[6]=0,a[7]=0,a[8]=(i+e)*c,a[9]=(r+n)*l,a[10]=(o+s)*h,a[11]=-1,a[12]=0,a[13]=0,a[14]=o*s*2*h,a[15]=0,t},t.perspective=function(t,e,i,n,r){var s=t.m,o=1/Math.tan(e/2),a=1/(n-r);return s[0]=o/i,s[1]=0,s[2]=0,s[3]=0,s[4]=0,s[5]=o,s[6]=0,s[7]=0,s[8]=0,s[9]=0,s[10]=(r+n)*a,s[11]=-1,s[12]=0,s[13]=0,s[14]=2*r*n*a,s[15]=0,t},t.perspectiveFromFieldOfView=function(t,e,i,n){var r=t.m,s=Math.tan(e.upDegrees*Math.PI/180),o=Math.tan(e.downDegrees*Math.PI/180),a=Math.tan(e.leftDegrees*Math.PI/180),c=Math.tan(e.rightDegrees*Math.PI/180),l=2/(a+c),h=2/(s+o);return r[0]=l,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=h,r[6]=0,r[7]=0,r[8]=-(a-c)*l*.5,r[9]=(s-o)*h*.5,r[10]=n/(i-n),r[11]=-1,r[12]=0,r[13]=0,r[14]=n*i/(i-n),r[15]=0,t},t.ortho=function(t,e,i,n,r,s,o){var a=t.m,c=1/(e-i),l=1/(n-r),h=1/(s-o);return a[0]=-2*c,a[1]=0,a[2]=0,a[3]=0,a[4]=0,a[5]=-2*l,a[6]=0,a[7]=0,a[8]=0,a[9]=0,a[10]=2*h,a[11]=0,a[12]=(e+i)*c,a[13]=(r+n)*l,a[14]=(o+s)*h,a[15]=1,t},t.lookAt=function(t,e,i,n){var r,s,o,a=t.m,c=void 0,l=void 0,h=void 0,u=void 0,_=void 0,f=void 0,d=void 0,p=e.x,m=e.y,y=e.z,v=n.x,g=n.y,x=n.z;return u=p-i.x,_=m-i.y,f=y-i.z,c=g*(f*=d=1/Math.sqrt(u*u+_*_+f*f))-x*(_*=d),l=x*(u*=d)-v*f,h=v*_-g*u,r=_*(h*=d=1/Math.sqrt(c*c+l*l+h*h))-f*(l*=d),s=f*(c*=d)-u*h,o=u*l-_*c,a[0]=c,a[1]=r,a[2]=u,a[3]=0,a[4]=l,a[5]=s,a[6]=_,a[7]=0,a[8]=h,a[9]=o,a[10]=f,a[11]=0,a[12]=-(c*p+l*m+h*y),a[13]=-(r*p+s*m+o*y),a[14]=-(u*p+_*m+f*y),a[15]=1,t},t.str=function(t){var e=t.m;return"mat4("+e[0]+", "+e[1]+", "+e[2]+", "+e[3]+", "+e[4]+", "+e[5]+", "+e[6]+", "+e[7]+", "+e[8]+", "+e[9]+", "+e[10]+", "+e[11]+", "+e[12]+", "+e[13]+", "+e[14]+", "+e[15]+")"},t.array=function(t,e){var i=e.m;return t[0]=i[0],t[1]=i[1],t[2]=i[2],t[3]=i[3],t[4]=i[4],t[5]=i[5],t[6]=i[6],t[7]=i[7],t[8]=i[8],t[9]=i[9],t[10]=i[10],t[11]=i[11],t[12]=i[12],t[13]=i[13],t[14]=i[14],t[15]=i[15],t},t.frob=function(t){var e=t.m;return Math.sqrt(Math.pow(e[0],2)+Math.pow(e[1],2)+Math.pow(e[2],2)+Math.pow(e[3],2)+Math.pow(e[4],2)+Math.pow(e[5],2)+Math.pow(e[6],2)+Math.pow(e[7],2)+Math.pow(e[8],2)+Math.pow(e[9],2)+Math.pow(e[10],2)+Math.pow(e[11],2)+Math.pow(e[12],2)+Math.pow(e[13],2)+Math.pow(e[14],2)+Math.pow(e[15],2))},t.add=function(t,e,i){var n=e.m,r=i.m,s=t.m;return s[0]=n[0]+r[0],s[1]=n[1]+r[1],s[2]=n[2]+r[2],s[3]=n[3]+r[3],s[4]=n[4]+r[4],s[5]=n[5]+r[5],s[6]=n[6]+r[6],s[7]=n[7]+r[7],s[8]=n[8]+r[8],s[9]=n[9]+r[9],s[10]=n[10]+r[10],s[11]=n[11]+r[11],s[12]=n[12]+r[12],s[13]=n[13]+r[13],s[14]=n[14]+r[14],s[15]=n[15]+r[15],t},t.subtract=function(t,e,i){var n=e.m,r=i.m,s=t.m;return s[0]=n[0]-r[0],s[1]=n[1]-r[1],s[2]=n[2]-r[2],s[3]=n[3]-r[3],s[4]=n[4]-r[4],s[5]=n[5]-r[5],s[6]=n[6]-r[6],s[7]=n[7]-r[7],s[8]=n[8]-r[8],s[9]=n[9]-r[9],s[10]=n[10]-r[10],s[11]=n[11]-r[11],s[12]=n[12]-r[12],s[13]=n[13]-r[13],s[14]=n[14]-r[14],s[15]=n[15]-r[15],t},t.sub=function(e,i,n){return t.subtract(e,i,n)},t.multiplyScalar=function(t,e,i){var n=e.m,r=t.m;return r[0]=n[0]*i,r[1]=n[1]*i,r[2]=n[2]*i,r[3]=n[3]*i,r[4]=n[4]*i,r[5]=n[5]*i,r[6]=n[6]*i,r[7]=n[7]*i,r[8]=n[8]*i,r[9]=n[9]*i,r[10]=n[10]*i,r[11]=n[11]*i,r[12]=n[12]*i,r[13]=n[13]*i,r[14]=n[14]*i,r[15]=n[15]*i,t},t.multiplyScalarAndAdd=function(t,e,i,n){var r=e.m,s=i.m,o=t.m;return o[0]=r[0]+s[0]*n,o[1]=r[1]+s[1]*n,o[2]=r[2]+s[2]*n,o[3]=r[3]+s[3]*n,o[4]=r[4]+s[4]*n,o[5]=r[5]+s[5]*n,o[6]=r[6]+s[6]*n,o[7]=r[7]+s[7]*n,o[8]=r[8]+s[8]*n,o[9]=r[9]+s[9]*n,o[10]=r[10]+s[10]*n,o[11]=r[11]+s[11]*n,o[12]=r[12]+s[12]*n,o[13]=r[13]+s[13]*n,o[14]=r[14]+s[14]*n,o[15]=r[15]+s[15]*n,t},t.exactEquals=function(t,e){var i=t.m,n=e.m;return i[0]===n[0]&&i[1]===n[1]&&i[2]===n[2]&&i[3]===n[3]&&i[4]===n[4]&&i[5]===n[5]&&i[6]===n[6]&&i[7]===n[7]&&i[8]===n[8]&&i[9]===n[9]&&i[10]===n[10]&&i[11]===n[11]&&i[12]===n[12]&&i[13]===n[13]&&i[14]===n[14]&&i[15]===n[15]},t.equals=function(t,e){var i=t.m,r=e.m,s=i[0],o=i[1],a=i[2],c=i[3],l=i[4],h=i[5],u=i[6],_=i[7],f=i[8],d=i[9],p=i[10],m=i[11],y=i[12],v=i[13],g=i[14],x=i[15],C=r[0],A=r[1],b=r[2],S=r[3],T=r[4],w=r[5],E=r[6],B=r[7],M=r[8],I=r[9],R=r[10],P=r[11],D=r[12],L=r[13],O=r[14],V=r[15];return Math.abs(s-C)<=n.EPSILON*Math.max(1,Math.abs(s),Math.abs(C))&&Math.abs(o-A)<=n.EPSILON*Math.max(1,Math.abs(o),Math.abs(A))&&Math.abs(a-b)<=n.EPSILON*Math.max(1,Math.abs(a),Math.abs(b))&&Math.abs(c-S)<=n.EPSILON*Math.max(1,Math.abs(c),Math.abs(S))&&Math.abs(l-T)<=n.EPSILON*Math.max(1,Math.abs(l),Math.abs(T))&&Math.abs(h-w)<=n.EPSILON*Math.max(1,Math.abs(h),Math.abs(w))&&Math.abs(u-E)<=n.EPSILON*Math.max(1,Math.abs(u),Math.abs(E))&&Math.abs(_-B)<=n.EPSILON*Math.max(1,Math.abs(_),Math.abs(B))&&Math.abs(f-M)<=n.EPSILON*Math.max(1,Math.abs(f),Math.abs(M))&&Math.abs(d-I)<=n.EPSILON*Math.max(1,Math.abs(d),Math.abs(I))&&Math.abs(p-R)<=n.EPSILON*Math.max(1,Math.abs(p),Math.abs(R))&&Math.abs(m-P)<=n.EPSILON*Math.max(1,Math.abs(m),Math.abs(P))&&Math.abs(y-D)<=n.EPSILON*Math.max(1,Math.abs(y),Math.abs(D))&&Math.abs(v-L)<=n.EPSILON*Math.max(1,Math.abs(v),Math.abs(L))&&Math.abs(g-O)<=n.EPSILON*Math.max(1,Math.abs(g),Math.abs(O))&&Math.abs(x-V)<=n.EPSILON*Math.max(1,Math.abs(x),Math.abs(V))},t})();i.default=s,e.exports=i.default}),{"./utils":281}],279:[(function(t,e,i){"use strict";i.__esModule=!0;var n=a(t("./vec3")),r=a(t("./vec4")),s=a(t("./mat3")),o=t("./utils");function a(t){return t&&t.__esModule?t:{default:t}}function c(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}var l=.5*Math.PI/180,h=(function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1;c(this,t),this.x=e,this.y=i,this.z=n,this.w=r}return t.create=function(){return new t(arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,arguments.length>3&&void 0!==arguments[3]?arguments[3]:1)},t.clone=function(e){return new t(e.x,e.y,e.z,e.w)},t.copy=function(t,e){return r.default.copy(t,e)},t.set=function(t,e,i,n,r){return t.x=e,t.y=i,t.z=n,t.w=r,t},t.identity=function(t){return t.x=0,t.y=0,t.z=0,t.w=1,t},t.rotationTo=function(e,i,r){return (function(){var e=n.default.create(0,0,0),i=n.default.create(1,0,0),r=n.default.create(0,1,0);return function(s,o,a){var c=n.default.dot(o,a);return c<-.999999?(n.default.cross(e,i,o),n.default.magnitude(e)<1e-6&&n.default.cross(e,r,o),n.default.normalize(e,e),t.fromAxisAngle(s,e,Math.PI),s):c>.999999?(s.x=0,s.y=0,s.z=0,s.w=1,s):(n.default.cross(e,o,a),s.x=e.x,s.y=e.y,s.z=e.z,s.w=1+c,t.normalize(s,s))}})()(e,i,r)},t.getAxisAngle=function(t,e){var i=2*Math.acos(e.w),n=Math.sin(i/2);return 0!=n?(t.x=e.x/n,t.y=e.y/n,t.z=e.z/n):(t.x=1,t.y=0,t.z=0),i},t.multiply=function(t,e,i){var n=e.x,r=e.y,s=e.z,o=e.w,a=i.x,c=i.y,l=i.z,h=i.w;return t.x=n*h+o*a+r*l-s*c,t.y=r*h+o*c+s*a-n*l,t.z=s*h+o*l+n*c-r*a,t.w=o*h-n*a-r*c-s*l,t},t.mul=function(e,i,n){return t.multiply(e,i,n)},t.scale=function(t,e,i){return t.x=e.x*i,t.y=e.y*i,t.z=e.z*i,t.w=e.w*i,t},t.rotateX=function(t,e,i){i*=.5;var n=e.x,r=e.y,s=e.z,o=e.w,a=Math.sin(i),c=Math.cos(i);return t.x=n*c+o*a,t.y=r*c+s*a,t.z=s*c-r*a,t.w=o*c-n*a,t},t.rotateY=function(t,e,i){i*=.5;var n=e.x,r=e.y,s=e.z,o=e.w,a=Math.sin(i),c=Math.cos(i);return t.x=n*c-s*a,t.y=r*c+o*a,t.z=s*c+n*a,t.w=o*c-r*a,t},t.rotateZ=function(t,e,i){i*=.5;var n=e.x,r=e.y,s=e.z,o=e.w,a=Math.sin(i),c=Math.cos(i);return t.x=n*c+r*a,t.y=r*c-n*a,t.z=s*c+o*a,t.w=o*c-s*a,t},t.rotateAround=function(e,i,r,s){return (function(){var e=n.default.create(0,0,0),i=t.create();return function(r,s,o,a){return t.invert(i,s),n.default.transformQuat(e,o,i),t.fromAxisAngle(i,e,a),t.mul(r,s,i),r}})()(e,i,r,s)},t.rotateAroundLocal=function(e,i,n,r){return (function(){var e=t.create();return function(i,n,r,s){return t.fromAxisAngle(e,r,s),t.mul(i,n,e),i}})()(e,i,n,r)},t.calculateW=function(t,e){var i=e.x,n=e.y,r=e.z;return t.x=i,t.y=n,t.z=r,t.w=Math.sqrt(Math.abs(1-i*i-n*n-r*r)),t},t.dot=function(t,e){return t.x*e.x+t.y*e.y+t.z*e.z+t.w*e.w},t.lerp=function(t,e,i,n){var r=e.x,s=e.y,o=e.z,a=e.w;return t.x=r+n*(i.x-r),t.y=s+n*(i.y-s),t.z=o+n*(i.z-o),t.w=a+n*(i.w-a),t},t.slerp=function(t,e,i,n){var r=e.x,s=e.y,o=e.z,a=e.w,c=i.x,l=i.y,h=i.z,u=i.w,_=void 0,f=void 0,d=void 0,p=void 0,m=void 0;return(f=r*c+s*l+o*h+a*u)<0&&(f=-f,c=-c,l=-l,h=-h,u=-u),1-f>1e-6?(_=Math.acos(f),d=Math.sin(_),p=Math.sin((1-n)*_)/d,m=Math.sin(n*_)/d):(p=1-n,m=n),t.x=p*r+m*c,t.y=p*s+m*l,t.z=p*o+m*h,t.w=p*a+m*u,t},t.sqlerp=function(e,i,n,r,s,o){return (function(){var e=t.create(),i=t.create();return function(n,r,s,o,a,c){return t.slerp(e,r,a,c),t.slerp(i,s,o,c),t.slerp(n,e,i,2*c*(1-c)),n}})()(e,i,n,r,s,o)},t.invert=function(t,e){var i=e.x,n=e.y,r=e.z,s=e.w,o=i*i+n*n+r*r+s*s,a=o?1/o:0;return t.x=-i*a,t.y=-n*a,t.z=-r*a,t.w=s*a,t},t.conjugate=function(t,e){return t.x=-e.x,t.y=-e.y,t.z=-e.z,t.w=e.w,t},t.magnitude=function(t){var e=t.x,i=t.y,n=t.z,r=t.w;return Math.sqrt(e*e+i*i+n*n+r*r)},t.mag=function(e){return t.magnitude(e)},t.squaredMagnitude=function(t){var e=t.x,i=t.y,n=t.z,r=t.w;return e*e+i*i+n*n+r*r},t.sqrMag=function(e){return t.squaredMagnitude(e)},t.normalize=function(t,e){var i=e.x,n=e.y,r=e.z,s=e.w,o=i*i+n*n+r*r+s*s;return o>0&&(o=1/Math.sqrt(o),t.x=i*o,t.y=n*o,t.z=r*o,t.w=s*o),t},t.fromAxes=function(e,i,n,r){return (function(){var e=s.default.create();return function(i,n,r,o){return s.default.set(e,n.x,n.y,n.z,r.x,r.y,r.z,o.x,o.y,o.z),t.normalize(i,t.fromMat3(i,e))}})()(e,i,n,r)},t.fromViewUp=function(e,i,n){return (function(){var e=s.default.create();return function(i,n,r){return s.default.fromViewUp(e,n,r),e?t.normalize(i,t.fromMat3(i,e)):null}})()(e,i,n)},t.fromAxisAngle=function(t,e,i){i*=.5;var n=Math.sin(i);return t.x=n*e.x,t.y=n*e.y,t.z=n*e.z,t.w=Math.cos(i),t},t.fromMat3=function(t,e){var i=e.m,n=i[0],r=i[3],s=i[6],o=i[1],a=i[4],c=i[7],l=i[2],h=i[5],u=i[8],_=n+a+u;if(_>0){var f=.5/Math.sqrt(_+1);t.w=.25/f,t.x=(h-c)*f,t.y=(s-l)*f,t.z=(o-r)*f}else if(n>a&&n>u){var d=2*Math.sqrt(1+n-a-u);t.w=(h-c)/d,t.x=.25*d,t.y=(r+o)/d,t.z=(s+l)/d}else if(a>u){var p=2*Math.sqrt(1+a-n-u);t.w=(s-l)/p,t.x=(r+o)/p,t.y=.25*p,t.z=(c+h)/p}else{var m=2*Math.sqrt(1+u-n-a);t.w=(o-r)/m,t.x=(s+l)/m,t.y=(c+h)/m,t.z=.25*m}return t},t.fromEuler=function(t,e,i,n){e*=l,i*=l,n*=l;var r=Math.sin(e),s=Math.cos(e),o=Math.sin(i),a=Math.cos(i),c=Math.sin(n),h=Math.cos(n);return t.x=r*a*h+s*o*c,t.y=s*o*h+r*a*c,t.z=s*a*c-r*o*h,t.w=s*a*h-r*o*c,t},t.fromAngleZ=function(t,e){e*=l,t.x=t.y=0,t.z=Math.sin(e),t.w=Math.cos(e)},t.toEuler=function(t,e){var i=e.x,n=e.y,r=e.z,s=e.w,a=void 0,c=void 0,l=void 0,h=i*n+r*s;if(h>.499&&(a=2*Math.atan2(i,s),c=Math.PI/2,l=0),h<-.499&&(a=-2*Math.atan2(i,s),c=-Math.PI/2,l=0),isNaN(a)){var u=i*i,_=n*n,f=r*r;a=Math.atan2(2*n*s-2*i*r,1-2*_-2*f),c=Math.asin(2*h),l=Math.atan2(2*i*s-2*n*r,1-2*u-2*f)}return t.y=(0,o.toDegree)(a),t.z=(0,o.toDegree)(c),t.x=(0,o.toDegree)(l),t},t.str=function(t){return"quat("+t.x+", "+t.y+", "+t.z+", "+t.w+")"},t.array=function(t,e){return t[0]=e.x,t[1]=e.y,t[2]=e.z,t[3]=e.w,t},t.exactEquals=function(t,e){return r.default.exactEquals(t,e)},t.equals=function(t,e){return r.default.equals(t,e)},t})();i.default=h,e.exports=i.default}),{"./mat3":277,"./utils":281,"./vec3":283,"./vec4":284}],280:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n=(function(t){return t&&t.__esModule?t:{default:t}})(t("./quat"));function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}var s=n.default.create(),o=(function(){function t(){r(this,t)}return t.toRotation=function(t,e){return t.x=e[3],t.y=e[4],t.z=e[5],t.w=e[6],t},t.fromRotation=function(t,e){return t[3]=e.x,t[4]=e.y,t[5]=e.z,t[6]=e.w,t},t.toEuler=function(e,i){return t.toRotation(s,i),n.default.toEuler(e,s),e},t.fromEuler=function(e,i){return n.default.fromEuler(s,i.x,i.y,i.z),t.fromRotation(e,s),e},t.fromEulerNumber=function(e,i,r,o){return n.default.fromEuler(s,i,r,o),t.fromRotation(e,s),e},t.toScale=function(t,e){return t.x=e[7],t.y=e[8],t.z=e[9],t},t.fromScale=function(t,e){return t[7]=e.x,t[8]=e.y,t[9]=e.z,t},t.toPosition=function(t,e){return t.x=e[0],t.y=e[1],t.z=e[2],t},t.fromPosition=function(t,e){return t[0]=e.x,t[1]=e.y,t[2]=e.z,t},t.fromAngleZ=function(e,i){return n.default.fromAngleZ(s,i),t.fromRotation(e,s),e},t})();i.default=o,e.exports=i.default}),{"./quat":279}],281:[(function(t,e,i){"use strict";i.__esModule=!0,i.equals=function(t,e){return Math.abs(t-e)<=s*Math.max(1,Math.abs(t),Math.abs(e))},i.approx=function(t,e,i){return i=i||s,Math.abs(t-e)<=i},i.clamp=function(t,e,i){return t<e?e:t>i?i:t},i.clamp01=function(t){return t<0?0:t>1?1:t},i.lerp=function(t,e,i){return t+(e-t)*i},i.toRadian=function(t){return t*n},i.toDegree=function(t){return t*r},i.randomRange=o,i.randomRangeInt=function(t,e){return Math.floor(o(t,e))},i.pseudoRandom=a,i.pseudoRandomRange=c,i.pseudoRandomRangeInt=function(t,e,i){return Math.floor(c(t,e,i))},i.nextPow2=function(t){return--t,t|=t>>1,t|=t>>2,t|=t>>4,t|=t>>8,t|=t>>16,++t},i.repeat=l,i.pingPong=function(t,e){return t=l(t,2*e),t=e-Math.abs(t-e)},i.inverseLerp=function(t,e,i){return(i-t)/(e-t)};var n=Math.PI/180,r=180/Math.PI,s=i.EPSILON=1e-6;i.random=Math.random;function o(t,e){return Math.random()*(e-t)+t}function a(t){return(t=(9301*t+49297)%233280)/233280}function c(t,e,i){return a(t)*(i-e)+e}function l(t,e){return t-Math.floor(t/e)*e}}),{}],282:[(function(t,e,i){"use strict";i.__esModule=!0;var n=t("./utils");function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}var s=(function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;r(this,t),this.x=e,this.y=i}return t.create=function(){return new t(arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,arguments.length>1&&void 0!==arguments[1]?arguments[1]:0)},t.zero=function(t){return t.x=0,t.y=0,t},t.clone=function(e){return new t(e.x,e.y)},t.copy=function(t,e){return t.x=e.x,t.y=e.y,t},t.set=function(t,e,i){return t.x=e,t.y=i,t},t.add=function(t,e,i){return t.x=e.x+i.x,t.y=e.y+i.y,t},t.subtract=function(t,e,i){return t.x=e.x-i.x,t.y=e.y-i.y,t},t.sub=function(e,i,n){return t.subtract(e,i,n)},t.multiply=function(t,e,i){return t.x=e.x*i.x,t.y=e.y*i.y,t},t.mul=function(e,i,n){return t.multiply(e,i,n)},t.divide=function(t,e,i){return t.x=e.x/i.x,t.y=e.y/i.y,t},t.div=function(e,i,n){return t.divide(e,i,n)},t.ceil=function(t,e){return t.x=Math.ceil(e.x),t.y=Math.ceil(e.y),t},t.floor=function(t,e){return t.x=Math.floor(e.x),t.y=Math.floor(e.y),t},t.min=function(t,e,i){return t.x=Math.min(e.x,i.x),t.y=Math.min(e.y,i.y),t},t.max=function(t,e,i){return t.x=Math.max(e.x,i.x),t.y=Math.max(e.y,i.y),t},t.round=function(t,e){return t.x=Math.round(e.x),t.y=Math.round(e.y),t},t.scale=function(t,e,i){return t.x=e.x*i,t.y=e.y*i,t},t.scaleAndAdd=function(t,e,i,n){return t.x=e.x+i.x*n,t.y=e.y+i.y*n,t},t.distance=function(t,e){var i=e.x-t.x,n=e.y-t.y;return Math.sqrt(i*i+n*n)},t.dist=function(e,i){return t.distance(e,i)},t.squaredDistance=function(t,e){var i=e.x-t.x,n=e.y-t.y;return i*i+n*n},t.sqrDist=function(e,i){return t.squaredDistance(e,i)},t.magnitude=function(t){var e=t.x,i=t.y;return Math.sqrt(e*e+i*i)},t.mag=function(e){return t.magnitude(e)},t.squaredMagnitude=function(t){var e=t.x,i=t.y;return e*e+i*i},t.sqrMag=function(e){return t.squaredMagnitude(e)},t.negate=function(t,e){return t.x=-e.x,t.y=-e.y,t},t.inverse=function(t,e){return t.x=1/e.x,t.y=1/e.y,t},t.inverseSafe=function(t,e){var i=e.x,r=e.y;return Math.abs(i)<n.EPSILON?t.x=0:t.x=1/i,Math.abs(r)<n.EPSILON?t.y=0:t.y=1/e.y,t},t.normalize=function(t,e){var i=e.x,n=e.y,r=i*i+n*n;return r>0&&(r=1/Math.sqrt(r),t.x=e.x*r,t.y=e.y*r),t},t.dot=function(t,e){return t.x*e.x+t.y*e.y},t.cross=function(t,e,i){var n=e.x*i.y-e.y*i.x;return t.x=t.y=0,t.z=n,t},t.lerp=function(t,e,i,n){var r=e.x,s=e.y;return t.x=r+n*(i.x-r),t.y=s+n*(i.y-s),t},t.random=function(t,e){e=e||1;var i=2*(0,n.random)()*Math.PI;return t.x=Math.cos(i)*e,t.y=Math.sin(i)*e,t},t.transformMat2=function(t,e,i){var n=i.m,r=e.x,s=e.y;return t.x=n[0]*r+n[2]*s,t.y=n[1]*r+n[3]*s,t},t.transformMat23=function(t,e,i){var n=i.m,r=e.x,s=e.y;return t.x=n[0]*r+n[2]*s+n[4],t.y=n[1]*r+n[3]*s+n[5],t},t.transformMat3=function(t,e,i){var n=i.m,r=e.x,s=e.y;return t.x=n[0]*r+n[3]*s+n[6],t.y=n[1]*r+n[4]*s+n[7],t},t.transformMat4=function(t,e,i){var n=i.m,r=e.x,s=e.y;return t.x=n[0]*r+n[4]*s+n[12],t.y=n[1]*r+n[5]*s+n[13],t},t.forEach=function(e,i,n,r,s,o){return t._forEach(e,i,n,r,s,o)},t.str=function(t){return"vec2("+t.x+", "+t.y+")"},t.array=function(t,e){return t[0]=e.x,t[1]=e.y,t},t.exactEquals=function(t,e){return t.x===e.x&&t.y===e.y},t.equals=function(t,e){var i=t.x,r=t.y,s=e.x,o=e.y;return Math.abs(i-s)<=n.EPSILON*Math.max(1,Math.abs(i),Math.abs(s))&&Math.abs(r-o)<=n.EPSILON*Math.max(1,Math.abs(r),Math.abs(o))},t.angle=function(e,i){return t._angle(e,i)},t})();s._forEach=(function(){var t=s.create(0,0);return function(e,i,n,r,s,o){var a=void 0,c=void 0;for(i||(i=2),n||(n=0),c=r?Math.min(r*i+n,e.length):e.length,a=n;a<c;a+=i)t.x=e[a],t.y=e[a+1],s(t,t,o),e[a]=t.x,e[a+1]=t.y;return e}})(),s._angle=(function(){var t=s.create(0,0),e=s.create(0,0);return function(i,n){s.normalize(t,i),s.normalize(e,n);var r=s.dot(t,e);return r>1?0:r<-1?Math.PI:Math.acos(r)}})(),i.default=s,e.exports=i.default}),{"./utils":281}],283:[(function(t,e,i){"use strict";i.__esModule=!0;var n=t("./utils");function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}var s=(function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;r(this,t),this.x=e,this.y=i,this.z=n}return t.create=function(){return new t(arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,arguments.length>2&&void 0!==arguments[2]?arguments[2]:0)},t.zero=function(t){return t.x=0,t.y=0,t.z=0,t},t.clone=function(e){return new t(e.x,e.y,e.z)},t.copy=function(t,e){return t.x=e.x,t.y=e.y,t.z=e.z,t},t.set=function(t,e,i,n){return t.x=e,t.y=i,t.z=n,t},t.add=function(t,e,i){return t.x=e.x+i.x,t.y=e.y+i.y,t.z=e.z+i.z,t},t.subtract=function(t,e,i){return t.x=e.x-i.x,t.y=e.y-i.y,t.z=e.z-i.z,t},t.sub=function(e,i,n){return t.subtract(e,i,n)},t.multiply=function(t,e,i){return t.x=e.x*i.x,t.y=e.y*i.y,t.z=e.z*i.z,t},t.mul=function(e,i,n){return t.multiply(e,i,n)},t.divide=function(t,e,i){return t.x=e.x/i.x,t.y=e.y/i.y,t.z=e.z/i.z,t},t.div=function(e,i,n){return t.divide(e,i,n)},t.ceil=function(t,e){return t.x=Math.ceil(e.x),t.y=Math.ceil(e.y),t.z=Math.ceil(e.z),t},t.floor=function(t,e){return t.x=Math.floor(e.x),t.y=Math.floor(e.y),t.z=Math.floor(e.z),t},t.min=function(t,e,i){return t.x=Math.min(e.x,i.x),t.y=Math.min(e.y,i.y),t.z=Math.min(e.z,i.z),t},t.max=function(t,e,i){return t.x=Math.max(e.x,i.x),t.y=Math.max(e.y,i.y),t.z=Math.max(e.z,i.z),t},t.round=function(t,e){return t.x=Math.round(e.x),t.y=Math.round(e.y),t.z=Math.round(e.z),t},t.scale=function(t,e,i){return t.x=e.x*i,t.y=e.y*i,t.z=e.z*i,t},t.scaleAndAdd=function(t,e,i,n){return t.x=e.x+i.x*n,t.y=e.y+i.y*n,t.z=e.z+i.z*n,t},t.distance=function(t,e){var i=e.x-t.x,n=e.y-t.y,r=e.z-t.z;return Math.sqrt(i*i+n*n+r*r)},t.dist=function(e,i){return t.distance(e,i)},t.squaredDistance=function(t,e){var i=e.x-t.x,n=e.y-t.y,r=e.z-t.z;return i*i+n*n+r*r},t.sqrDist=function(e,i){return t.squaredDistance(e,i)},t.magnitude=function(t){var e=t.x,i=t.y,n=t.z;return Math.sqrt(e*e+i*i+n*n)},t.mag=function(e){return t.magnitude(e)},t.squaredMagnitude=function(t){var e=t.x,i=t.y,n=t.z;return e*e+i*i+n*n},t.sqrMag=function(e){return t.squaredMagnitude(e)},t.negate=function(t,e){return t.x=-e.x,t.y=-e.y,t.z=-e.z,t},t.inverse=function(t,e){return t.x=1/e.x,t.y=1/e.y,t.z=1/e.z,t},t.inverseSafe=function(t,e){var i=e.x,r=e.y,s=e.z;return Math.abs(i)<n.EPSILON?t.x=0:t.x=1/i,Math.abs(r)<n.EPSILON?t.y=0:t.y=1/r,Math.abs(s)<n.EPSILON?t.z=0:t.z=1/s,t},t.normalize=function(t,e){var i=e.x,n=e.y,r=e.z,s=i*i+n*n+r*r;return s>0&&(s=1/Math.sqrt(s),t.x=i*s,t.y=n*s,t.z=r*s),t},t.dot=function(t,e){return t.x*e.x+t.y*e.y+t.z*e.z},t.cross=function(t,e,i){var n=e.x,r=e.y,s=e.z,o=i.x,a=i.y,c=i.z;return t.x=r*c-s*a,t.y=s*o-n*c,t.z=n*a-r*o,t},t.lerp=function(t,e,i,n){var r=e.x,s=e.y,o=e.z;return t.x=r+n*(i.x-r),t.y=s+n*(i.y-s),t.z=o+n*(i.z-o),t},t.hermite=function(t,e,i,n,r,s){var o=s*s,a=o*(2*s-3)+1,c=o*(s-2)+s,l=o*(s-1),h=o*(3-2*s);return t.x=e.x*a+i.x*c+n.x*l+r.x*h,t.y=e.y*a+i.y*c+n.y*l+r.y*h,t.z=e.z*a+i.z*c+n.z*l+r.z*h,t},t.bezier=function(t,e,i,n,r,s){var o=1-s,a=o*o,c=s*s,l=a*o,h=3*s*a,u=3*c*o,_=c*s;return t.x=e.x*l+i.x*h+n.x*u+r.x*_,t.y=e.y*l+i.y*h+n.y*u+r.y*_,t.z=e.z*l+i.z*h+n.z*u+r.z*_,t},t.random=function(t,e){e=e||1;var i=2*(0,n.random)()*Math.PI,r=Math.acos(2*(0,n.random)()-1);return t.x=Math.sin(r)*Math.cos(i)*e,t.y=Math.sin(r)*Math.sin(i)*e,t.z=Math.cos(r)*e,t},t.transformMat4=function(t,e,i){var n=i.m,r=e.x,s=e.y,o=e.z,a=n[3]*r+n[7]*s+n[11]*o+n[15];return a=a?1/a:1,t.x=(n[0]*r+n[4]*s+n[8]*o+n[12])*a,t.y=(n[1]*r+n[5]*s+n[9]*o+n[13])*a,t.z=(n[2]*r+n[6]*s+n[10]*o+n[14])*a,t},t.transformMat4Normal=function(t,e,i){var n=i.m,r=e.x,s=e.y,o=e.z,a=n[3]*r+n[7]*s+n[11]*o;return a=a?1/a:1,t.x=(n[0]*r+n[4]*s+n[8]*o)*a,t.y=(n[1]*r+n[5]*s+n[9]*o)*a,t.z=(n[2]*r+n[6]*s+n[10]*o)*a,t},t.transformMat3=function(t,e,i){var n=i.m,r=e.x,s=e.y,o=e.z;return t.x=r*n[0]+s*n[3]+o*n[6],t.y=r*n[1]+s*n[4]+o*n[7],t.z=r*n[2]+s*n[5]+o*n[8],t},t.transformQuat=function(t,e,i){var n=e.x,r=e.y,s=e.z,o=i.x,a=i.y,c=i.z,l=i.w,h=l*n+a*s-c*r,u=l*r+c*n-o*s,_=l*s+o*r-a*n,f=-o*n-a*r-c*s;return t.x=h*l+f*-o+u*-c-_*-a,t.y=u*l+f*-a+_*-o-h*-c,t.z=_*l+f*-c+h*-a-u*-o,t},t.rotateX=function(t,e,i,n){var r=e.x-i.x,s=e.y-i.y,o=e.z-i.z,a=r,c=s*Math.cos(n)-o*Math.sin(n),l=s*Math.sin(n)+o*Math.cos(n);return t.x=a+i.x,t.y=c+i.y,t.z=l+i.z,t},t.rotateY=function(t,e,i,n){var r=e.x-i.x,s=e.y-i.y,o=e.z-i.z,a=o*Math.sin(n)+r*Math.cos(n),c=s,l=o*Math.cos(n)-r*Math.sin(n);return t.x=a+i.x,t.y=c+i.y,t.z=l+i.z,t},t.rotateZ=function(t,e,i,n){var r=e.x-i.x,s=e.y-i.y,o=e.z-i.z,a=r*Math.cos(n)-s*Math.sin(n),c=r*Math.sin(n)+s*Math.cos(n),l=o;return t.x=a+i.x,t.y=c+i.y,t.z=l+i.z,t},t.str=function(t){return"vec3("+t.x+", "+t.y+", "+t.z+")"},t.array=function(t,e){return t[0]=e.x,t[1]=e.y,t[2]=e.z,t},t.exactEquals=function(t,e){return t.x===e.x&&t.y===e.y&&t.z===e.z},t.equals=function(t,e){var i=t.x,r=t.y,s=t.z,o=e.x,a=e.y,c=e.z;return Math.abs(i-o)<=n.EPSILON*Math.max(1,Math.abs(i),Math.abs(o))&&Math.abs(r-a)<=n.EPSILON*Math.max(1,Math.abs(r),Math.abs(a))&&Math.abs(s-c)<=n.EPSILON*Math.max(1,Math.abs(s),Math.abs(c))},t.forEach=function(e,i,n,r,s,o){return t._forEach(e,i,n,r,s,o)},t.angle=function(e,i){return t._angle(e,i)},t.projectOnPlane=function(e,i,n){return t.sub(e,i,t.project(e,i,n))},t.project=function(e,i,n){var r=t.squaredMagnitude(n);return r<1e-6?t.set(e,0,0,0):t.scale(e,n,t.dot(i,n)/r)},t})();s._forEach=(function(){var t=s.create(0,0,0);return function(e,i,n,r,s,o){var a=void 0,c=void 0;for(i||(i=3),n||(n=0),c=r?Math.min(r*i+n,e.length):e.length,a=n;a<c;a+=i)t.x=e[a],t.y=e[a+1],t.z=e[a+2],s(t,t,o),e[a]=t.x,e[a+1]=t.y,e[a+2]=t.z;return e}})(),s._angle=(function(){var t=s.create(0,0,0),e=s.create(0,0,0);return function(i,n){s.copy(t,i),s.copy(e,n),s.normalize(t,t),s.normalize(e,e);var r=s.dot(t,e);return r>1?0:r<-1?Math.PI:Math.acos(r)}})(),i.default=s,e.exports=i.default}),{"./utils":281}],284:[(function(t,e,i){"use strict";i.__esModule=!0;var n=t("./utils");function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}var s=(function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1;r(this,t),this.x=e,this.y=i,this.z=n,this.w=s}return t.create=function(){return new t(arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,arguments.length>3&&void 0!==arguments[3]?arguments[3]:1)},t.zero=function(t){return t.x=0,t.y=0,t.z=0,t.w=0,t},t.clone=function(e){return new t(e.x,e.y,e.z,e.w)},t.copy=function(t,e){return t.x=e.x,t.y=e.y,t.z=e.z,t.w=e.w,t},t.set=function(t,e,i,n,r){return t.x=e,t.y=i,t.z=n,t.w=r,t},t.add=function(t,e,i){return t.x=e.x+i.x,t.y=e.y+i.y,t.z=e.z+i.z,t.w=e.w+i.w,t},t.subtract=function(t,e,i){return t.x=e.x-i.x,t.y=e.y-i.y,t.z=e.z-i.z,t.w=e.w-i.w,t},t.sub=function(e,i,n){return t.subtract(e,i,n)},t.multiply=function(t,e,i){return t.x=e.x*i.x,t.y=e.y*i.y,t.z=e.z*i.z,t.w=e.w*i.w,t},t.mul=function(e,i,n){return t.multiply(e,i,n)},t.divide=function(t,e,i){return t.x=e.x/i.x,t.y=e.y/i.y,t.z=e.z/i.z,t.w=e.w/i.w,t},t.div=function(e,i,n){return t.divide(e,i,n)},t.ceil=function(t,e){return t.x=Math.ceil(e.x),t.y=Math.ceil(e.y),t.z=Math.ceil(e.z),t.w=Math.ceil(e.w),t},t.floor=function(t,e){return t.x=Math.floor(e.x),t.y=Math.floor(e.y),t.z=Math.floor(e.z),t.w=Math.floor(e.w),t},t.min=function(t,e,i){return t.x=Math.min(e.x,i.x),t.y=Math.min(e.y,i.y),t.z=Math.min(e.z,i.z),t.w=Math.min(e.w,i.w),t},t.max=function(t,e,i){return t.x=Math.max(e.x,i.x),t.y=Math.max(e.y,i.y),t.z=Math.max(e.z,i.z),t.w=Math.max(e.w,i.w),t},t.round=function(t,e){return t.x=Math.round(e.x),t.y=Math.round(e.y),t.z=Math.round(e.z),t.w=Math.round(e.w),t},t.scale=function(t,e,i){return t.x=e.x*i,t.y=e.y*i,t.z=e.z*i,t.w=e.w*i,t},t.scaleAndAdd=function(t,e,i,n){return t.x=e.x+i.x*n,t.y=e.y+i.y*n,t.z=e.z+i.z*n,t.w=e.w+i.w*n,t},t.distance=function(t,e){var i=e.x-t.x,n=e.y-t.y,r=e.z-t.z,s=e.w-t.w;return Math.sqrt(i*i+n*n+r*r+s*s)},t.dist=function(e,i){return t.distance(e,i)},t.squaredDistance=function(t,e){var i=e.x-t.x,n=e.y-t.y,r=e.z-t.z,s=e.w-t.w;return i*i+n*n+r*r+s*s},t.sqrDist=function(e,i){return t.squaredDistance(e,i)},t.magnitude=function(t){var e=t.x,i=t.y,n=t.z,r=t.w;return Math.sqrt(e*e+i*i+n*n+r*r)},t.mag=function(e){return t.magnitude(e)},t.squaredMagnitude=function(t){var e=t.x,i=t.y,n=t.z,r=t.w;return e*e+i*i+n*n+r*r},t.sqrMag=function(e){return t.squaredMagnitude(e)},t.negate=function(t,e){return t.x=-e.x,t.y=-e.y,t.z=-e.z,t.w=-e.w,t},t.inverse=function(t,e){return t.x=1/e.x,t.y=1/e.y,t.z=1/e.z,t.w=1/e.w,t},t.inverseSafe=function(t,e){var i=e.x,r=e.y,s=e.z,o=e.w;return Math.abs(i)<n.EPSILON?t.x=0:t.x=1/i,Math.abs(r)<n.EPSILON?t.y=0:t.y=1/r,Math.abs(s)<n.EPSILON?t.z=0:t.z=1/s,Math.abs(o)<n.EPSILON?t.w=0:t.w=1/o,t},t.normalize=function(t,e){var i=e.x,n=e.y,r=e.z,s=e.w,o=i*i+n*n+r*r+s*s;return o>0&&(o=1/Math.sqrt(o),t.x=i*o,t.y=n*o,t.z=r*o,t.w=s*o),t},t.dot=function(t,e){return t.x*e.x+t.y*e.y+t.z*e.z+t.w*e.w},t.lerp=function(t,e,i,n){var r=e.x,s=e.y,o=e.z,a=e.w;return t.x=r+n*(i.x-r),t.y=s+n*(i.y-s),t.z=o+n*(i.z-o),t.w=a+n*(i.w-a),t},t.random=function(t,e){e=e||1;var i=2*(0,n.random)()*Math.PI,r=Math.acos(2*(0,n.random)()-1);return t.x=Math.sin(r)*Math.cos(i)*e,t.y=Math.sin(r)*Math.sin(i)*e,t.z=Math.cos(r)*e,t.w=0,t},t.transformMat4=function(t,e,i){var n=i.m,r=e.x,s=e.y,o=e.z,a=e.w;return t.x=n[0]*r+n[4]*s+n[8]*o+n[12]*a,t.y=n[1]*r+n[5]*s+n[9]*o+n[13]*a,t.z=n[2]*r+n[6]*s+n[10]*o+n[14]*a,t.w=n[3]*r+n[7]*s+n[11]*o+n[15]*a,t},t.transformQuat=function(t,e,i){var n=e.x,r=e.y,s=e.z,o=i.x,a=i.y,c=i.z,l=i.w,h=l*n+a*s-c*r,u=l*r+c*n-o*s,_=l*s+o*r-a*n,f=-o*n-a*r-c*s;return t.x=h*l+f*-o+u*-c-_*-a,t.y=u*l+f*-a+_*-o-h*-c,t.z=_*l+f*-c+h*-a-u*-o,t.w=e.w,t},t.str=function(t){return"vec4("+t.x+", "+t.y+", "+t.z+", "+t.w+")"},t.array=function(t,e){return t[0]=e.x,t[1]=e.y,t[2]=e.z,t[3]=e.w,t},t.exactEquals=function(t,e){return t.x===e.x&&t.y===e.y&&t.z===e.z&&t.w===e.w},t.equals=function(t,e){var i=t.x,r=t.y,s=t.z,o=t.w,a=e.x,c=e.y,l=e.z,h=e.w;return Math.abs(i-a)<=n.EPSILON*Math.max(1,Math.abs(i),Math.abs(a))&&Math.abs(r-c)<=n.EPSILON*Math.max(1,Math.abs(r),Math.abs(c))&&Math.abs(s-l)<=n.EPSILON*Math.max(1,Math.abs(s),Math.abs(l))&&Math.abs(o-h)<=n.EPSILON*Math.max(1,Math.abs(o),Math.abs(h))},t.forEach=function(e,i,n,r,s,o){return t._forEach(e,i,n,r,s,o)},t})();s._forEach=(function(){var t=s.create(0,0,0,0);return function(e,i,n,r,s,o){var a=void 0,c=void 0;for(i||(i=4),n||(n=0),c=r?Math.min(r*i+n,e.length):e.length,a=n;a<c;a+=i)t.x=e[a],t.y=e[a+1],t.z=e[a+2],t.w=e[a+3],s(t,t,o),e[a]=t.x,e[a+1]=t.y,e[a+2]=t.z,e[a+3]=t.w;return e}})(),i.default=s,e.exports=i.default}),{"./utils":281}],285:[(function(t,e,i){"use strict";cc.js}),{}],286:[(function(t,e,i){"use strict";t("./core/CCGame"),t("./actions")}),{"./actions":7,"./core/CCGame":29}],287:[(function(t,e,i){"use strict";var n=t("../compression/zlib.min"),r=t("../core/CCDebug"),s=function(t){var e,i,n,s,o,a,c,l,h,u,_,f,d;for(this.data=t,this.pos=8,this.palette=[],this.imgData=[],this.transparency={},this.animation=null,this.text={},o=null;;){switch(e=this.readUInt32(),l=function(){var t,e;for(e=[],t=0;t<4;++t)e.push(String.fromCharCode(this.data[this.pos++]));return e}.call(this).join("")){case"IHDR":this.width=this.readUInt32(),this.height=this.readUInt32(),this.bits=this.data[this.pos++],this.colorType=this.data[this.pos++],this.compressionMethod=this.data[this.pos++],this.filterMethod=this.data[this.pos++],this.interlaceMethod=this.data[this.pos++];break;case"acTL":this.animation={numFrames:this.readUInt32(),numPlays:this.readUInt32()||1/0,frames:[]};break;case"PLTE":this.palette=this.read(e);break;case"fcTL":o&&this.animation.frames.push(o),this.pos+=4,o={width:this.readUInt32(),height:this.readUInt32(),xOffset:this.readUInt32(),yOffset:this.readUInt32()},s=this.readUInt16(),n=this.readUInt16()||100,o.delay=1e3*s/n,o.disposeOp=this.data[this.pos++],o.blendOp=this.data[this.pos++],o.data=[];break;case"IDAT":case"fdAT":for("fdAT"===l&&(this.pos+=4,e-=4),t=(null!=o?o.data:void 0)||this.imgData,_=0;0<=e?_<e:_>e;0<=e?++_:--_)t.push(this.data[this.pos++]);break;case"tRNS":switch(this.transparency={},this.colorType){case 3:if(this.transparency.indexed=this.read(e),(h=255-this.transparency.indexed.length)>0)for(f=0;0<=h?f<h:f>h;0<=h?++f:--f)this.transparency.indexed.push(255);break;case 0:this.transparency.grayscale=this.read(e)[0];break;case 2:this.transparency.rgb=this.read(e)}break;case"tEXt":a=(u=this.read(e)).indexOf(0),c=String.fromCharCode.apply(String,u.slice(0,a)),this.text[c]=String.fromCharCode.apply(String,u.slice(a+1));break;case"IEND":return o&&this.animation.frames.push(o),this.colors=function(){switch(this.colorType){case 0:case 3:case 4:return 1;case 2:case 6:return 3}}.call(this),this.hasAlphaChannel=4===(d=this.colorType)||6===d,i=this.colors+(this.hasAlphaChannel?1:0),this.pixelBitlength=this.bits*i,this.colorSpace=function(){switch(this.colors){case 1:return"DeviceGray";case 3:return"DeviceRGB"}}.call(this),void(Uint8Array!=Array&&(this.imgData=new Uint8Array(this.imgData)));default:this.pos+=e}if(this.pos+=4,this.pos>this.data.length)throw new Error(r.getError(6017))}};s.prototype={constructor:s,read:function(t){var e,i;for(i=[],e=0;0<=t?e<t:e>t;0<=t?++e:--e)i.push(this.data[this.pos++]);return i},readUInt32:function(){return this.data[this.pos++]<<24|this.data[this.pos++]<<16|this.data[this.pos++]<<8|this.data[this.pos++]},readUInt16:function(){return this.data[this.pos++]<<8|this.data[this.pos++]},decodePixels:function(t){var e,i,s,o,a,c,l,h,u,_,f,d,p,m,y,v,g,x,C,A,b,S,T;if(null==t&&(t=this.imgData),0===t.length)return new Uint8Array(0);for(t=new n.Inflate(t,{index:0,verify:!1}).decompress(),v=(d=this.pixelBitlength/8)*this.width,p=new Uint8Array(v*this.height),c=t.length,y=0,m=0,i=0;m<c;){switch(t[m++]){case 0:for(o=C=0;C<v;o=C+=1)p[i++]=t[m++];break;case 1:for(o=A=0;A<v;o=A+=1)e=t[m++],a=o<d?0:p[i-d],p[i++]=(e+a)%256;break;case 2:for(o=b=0;b<v;o=b+=1)e=t[m++],s=(o-o%d)/d,g=y&&p[(y-1)*v+s*d+o%d],p[i++]=(g+e)%256;break;case 3:for(o=S=0;S<v;o=S+=1)e=t[m++],s=(o-o%d)/d,a=o<d?0:p[i-d],g=y&&p[(y-1)*v+s*d+o%d],p[i++]=(e+Math.floor((a+g)/2))%256;break;case 4:for(o=T=0;T<v;o=T+=1)e=t[m++],s=(o-o%d)/d,a=o<d?0:p[i-d],0===y?g=x=0:(g=p[(y-1)*v+s*d+o%d],x=s&&p[(y-1)*v+(s-1)*d+o%d]),l=a+g-x,h=Math.abs(l-a),_=Math.abs(l-g),f=Math.abs(l-x),u=h<=_&&h<=f?a:_<=f?g:x,p[i++]=(e+u)%256;break;default:throw new Error(r.getError(6018,t[m-1]))}y++}return p},copyToImageData:function(t,e){var i,n,r,s,o,a,c,l,h,u,_;if(n=this.colors,h=null,i=this.hasAlphaChannel,this.palette.length&&(h=null!=(_=this._decodedPalette)?_:this._decodedPalette=this.decodePalette(),n=4,i=!0),l=(r=t.data||t).length,o=h||e,s=a=0,1===n)for(;s<l;)c=h?4*e[s/4]:a,u=o[c++],r[s++]=u,r[s++]=u,r[s++]=u,r[s++]=i?o[c++]:255,a=c;else for(;s<l;)c=h?4*e[s/4]:a,r[s++]=o[c++],r[s++]=o[c++],r[s++]=o[c++],r[s++]=i?o[c++]:255,a=c},decodePalette:function(){var t,e,i,n,r,s,o,a,c;for(i=this.palette,s=this.transparency.indexed||[],r=new Uint8Array((s.length||0)+i.length),n=0,t=0,e=o=0,a=i.length;o<a;e=o+=3)r[n++]=i[e],r[n++]=i[e+1],r[n++]=i[e+2],r[n++]=null!=(c=s[t++])?c:255;return r},render:function(t){var e,i;return t.width=this.width,t.height=this.height,i=(e=t.getContext("2d")).createImageData(this.width,this.height),this.copyToImageData(i,this.decodePixels()),e.putImageData(i,0,0)}},e.exports=s}),{"../compression/zlib.min":25,"../core/CCDebug":27}],288:[(function(t,e,i){"use strict";var n=t("../core/assets/CCAsset"),r=t("../core/assets/CCSpriteFrame"),s=cc.Class({name:"cc.ParticleAsset",extends:n,properties:{spriteFrame:{default:null,type:r}}});cc.ParticleAsset=e.exports=s}),{"../core/assets/CCAsset":34,"../core/assets/CCSpriteFrame":48}],289:[(function(t,e,i){"use strict";var n=t("../core/platform/CCMacro"),r=t("./CCParticleAsset"),s=t("../core/components/CCRenderComponent"),o=t("../compression/ZipUtils"),a=t("./CCPNGReader"),c=t("./CCTIFFReader"),l=t("../core/utils/texture-util"),h=(t("../core/renderer/render-flow"),t("./particle-simulator")),u=t("../core/assets/material/CCMaterial"),_=t("../core/utils/blend-func");function f(t){return t.length>8&&137===t[0]&&80===t[1]&&78===t[2]&&71===t[3]&&13===t[4]&&10===t[5]&&26===t[6]&&10===t[7]?n.ImageFormat.PNG:t.length>2&&(73===t[0]&&73===t[1]||77===t[0]&&77===t[1]||255===t[0]&&216===t[1])?n.ImageFormat.TIFF:n.ImageFormat.UNKNOWN}var d=cc.Enum({GRAVITY:0,RADIUS:1}),p=cc.Enum({FREE:0,RELATIVE:1,GROUPED:2}),m={preview:{default:!0,editorOnly:!0,notify:!1,animatable:!1,tooltip:!1},_custom:!1,custom:{get:function(){return this._custom},set:function(t){this._custom!==t&&(this._custom=t,this._applyFile())},animatable:!1,tooltip:!1},_file:{default:null,type:r},file:{get:function(){return this._file},set:function(t,e){this._file!==t&&(this._file=t,t?this._applyFile():this.custom=!0)},animatable:!1,type:r,tooltip:!1},_spriteFrame:{default:null,type:cc.SpriteFrame},spriteFrame:{get:function(){return this._spriteFrame},set:function(t,e){var i=this._renderSpriteFrame;i!==t&&(this._renderSpriteFrame=t,t&&!t._uuid||(this._spriteFrame=t),(i&&i.getTexture())!==(t&&t.getTexture())&&(this._texture=null,this._applySpriteFrame(i)))},type:cc.SpriteFrame,tooltip:!1},_texture:{default:null,type:cc.Texture2D,editorOnly:!0},texture:{get:function(){return this._texture},set:function(t){t&&cc.warnID(6017)},type:cc.Texture2D,tooltip:!1,readonly:!0,visible:!1,animatable:!1},particleCount:{visible:!1,get:function(){return this._simulator.particles.length},readonly:!0},_stopped:!0,stopped:{get:function(){return this._stopped},animatable:!1,visible:!1},playOnLoad:!0,autoRemoveOnFinish:{default:!1,animatable:!1,tooltip:!1},active:{get:function(){return this._simulator.active},visible:!1},totalParticles:150,duration:-1,emissionRate:10,life:1,lifeVar:0,_startColor:null,startColor:{type:cc.Color,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}},_startColorVar:null,startColorVar:{type:cc.Color,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}},_endColor:null,endColor:{type:cc.Color,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}},_endColorVar:null,endColorVar:{type:cc.Color,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}},angle:90,angleVar:20,startSize:50,startSizeVar:0,endSize:0,endSizeVar:0,startSpin:0,startSpinVar:0,endSpin:0,endSpinVar:0,sourcePos:cc.Vec2.ZERO,posVar:cc.Vec2.ZERO,_positionType:{default:p.FREE,formerlySerializedAs:"positionType"},positionType:{type:p,get:function(){return this._positionType},set:function(t){var e=this.getMaterial(0);e&&e.define("CC_USE_MODEL",t!==p.FREE),this._positionType=t}},emitterMode:{default:d.GRAVITY,type:d},gravity:cc.Vec2.ZERO,speed:180,speedVar:50,tangentialAccel:80,tangentialAccelVar:0,radialAccel:0,radialAccelVar:0,rotationIsDir:!1,startRadius:0,startRadiusVar:0,endRadius:0,endRadiusVar:0,rotatePerS:0,rotatePerSVar:0},y=cc.Class({name:"cc.ParticleSystem",extends:s,mixins:[_],editor:!1,ctor:function(){this.initProperties()},initProperties:function(){this._previewTimer=null,this._focused=!1,this._simulator=new h(this),this._texture=null,this._startColor=cc.color(255,255,255,255),this._startColorVar=cc.color(0,0,0,0),this._endColor=cc.color(255,255,255,0),this._endColorVar=cc.color(0,0,0,0),this._renderSpriteFrame=null},properties:m,statics:{DURATION_INFINITY:-1,START_SIZE_EQUAL_TO_END_SIZE:-1,START_RADIUS_EQUAL_TO_END_RADIUS:-1,EmitterMode:d,PositionType:p,_PNGReader:a,_TIFFReader:c},onFocusInEditor:!1,onLostFocusInEditor:!1,_startPreview:!1,_stopPreview:!1,_convertTextureToSpriteFrame:!1,__preload:function(){if(this._super(),this._custom&&this.spriteFrame&&!this._renderSpriteFrame)this._applySpriteFrame(this.spriteFrame);else if(this._file){if(this._custom)!this._texture&&this._applyFile();else this._applyFile()}this.playOnLoad&&this.resetSystem()},onEnable:function(){this._super(),this._activateMaterial()},onDestroy:function(){this.autoRemoveOnFinish&&(this.autoRemoveOnFinish=!1),this._buffer&&(this._buffer.destroy(),this._buffer=null),this._simulator._uvFilled=0,this._super()},lateUpdate:function(t){this._simulator.finished||this._simulator.step(t)},addParticle:function(){},stopSystem:function(){this._stopped=!0,this._simulator.stop()},resetSystem:function(){this._stopped=!1,this._simulator.reset(),this._activateMaterial()},isFull:function(){return this.particleCount>=this.totalParticles},setTextureWithRect:function(t,e){t instanceof cc.Texture2D&&(this.spriteFrame=new cc.SpriteFrame(t,e))},_applyFile:function(){var t=this._file;if(t){var e=this;cc.loader.load(t.nativeUrl,(function(i,n){!i&&n?e.isValid&&(e._plistFile=t.nativeUrl,e._custom||e._initWithDictionary(n),e._spriteFrame?!e._renderSpriteFrame&&e._spriteFrame&&e._applySpriteFrame(e.spriteFrame):t.spriteFrame?e.spriteFrame=t.spriteFrame:e._custom&&e._initTextureWithDictionary(n)):cc.errorID(6029)}))}},_initTextureWithDictionary:function(t){var e=cc.path.changeBasename(this._plistFile,t.textureFileName||"");if(t.textureFileName)l.loadImage(e,(function(e,i){e?(t.textureFileName=void 0,this._initTextureWithDictionary(t)):this.spriteFrame=new cc.SpriteFrame(i)}),this);else if(t.textureImageData){var i=t.textureImageData;if(!(i&&i.length>0))return!1;var r=cc.loader.getRes(e);if(!r){var s=o.unzipBase64AsArray(i,1);if(!s)return cc.logID(6030),!1;var h=f(s);if(h!==n.ImageFormat.TIFF&&h!==n.ImageFormat.PNG)return cc.logID(6031),!1;var u=document.createElement("canvas");if(h===n.ImageFormat.PNG)new a(s).render(u);else c.parseTIFF(s,u);r=l.cacheImage(e,u)}r||cc.logID(6032),this.spriteFrame=new cc.SpriteFrame(r)}return!0},_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||n.SRC_ALPHA),this.dstBlendFactor=parseInt(t.blendFuncDestination||n.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 s=this._endColor;s.r=255*parseFloat(t.finishColorRed||0),s.g=255*parseFloat(t.finishColorGreen||0),s.b=255*parseFloat(t.finishColorBlue||0),s.a=255*parseFloat(t.finishColorAlpha||0);var o=this._endColorVar;if(o.r=255*parseFloat(t.finishColorVarianceRed||0),o.g=255*parseFloat(t.finishColorVarianceGreen||0),o.b=255*parseFloat(t.finishColorVarianceBlue||0),o.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(t.positionType||p.RELATIVE),this.sourcePos.x=0,this.sourcePos.y=0,this.posVar.x=parseFloat(t.sourcePositionVariancex||0),this.posVar.y=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||d.GRAVITY),this.emitterMode===d.GRAVITY){this.gravity.x=parseFloat(t.gravityx||0),this.gravity.y=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!==d.RADIUS)return cc.warnID(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},_onTextureLoaded:function(){this._texture=this._renderSpriteFrame.getTexture(),this._simulator.updateUVs(!0),this._activateMaterial()},_applySpriteFrame:function(t){t&&t.off&&t.off("load",this._onTextureLoaded,this);var e=this._renderSpriteFrame=this._renderSpriteFrame||this._spriteFrame;e&&(e.textureLoaded()?this._onTextureLoaded(null):(e.once("load",this._onTextureLoaded,this),e.ensureLoadTexture()))},_activateMaterial:function(){if(!this._texture||!this._texture.loaded)return this.markForUpdateRenderData(!1),this.markForRender(!1),void(this._renderSpriteFrame&&this._applySpriteFrame());var t=this.sharedMaterials[0];(t=t?u.getInstantiatedMaterial(t,this):u.getInstantiatedBuiltinMaterial("2d-sprite",this)).define("CC_USE_MODEL",this._positionType!==p.FREE),t.setProperty("texture",this._texture),this.setMaterial(0,t),this.markForRender(!0)},_finishedSimulation:function(){this.resetSystem(),this.stopSystem(),this.disableRender(),this.autoRemoveOnFinish&&this._stopped&&this.node.destroy()}});cc.ParticleSystem=e.exports=y}),{"../compression/ZipUtils":22,"../core/assets/material/CCMaterial":53,"../core/components/CCRenderComponent":80,"../core/platform/CCMacro":165,"../core/renderer/render-flow":208,"../core/utils/blend-func":244,"../core/utils/texture-util":256,"./CCPNGReader":287,"./CCParticleAsset":288,"./CCTIFFReader":290,"./particle-simulator":292,"fire-url":void 0}],290:[(function(t,e,i){"use strict";var n=t("../core/CCDebug"),r={_littleEndian:!1,_tiffData:null,_fileDirectories:[],getUint8:function(t){return this._tiffData[t]},getUint16:function(t){return this._littleEndian?this._tiffData[t+1]<<8|this._tiffData[t]:this._tiffData[t]<<8|this._tiffData[t+1]},getUint32:function(t){var e=this._tiffData;return this._littleEndian?e[t+3]<<24|e[t+2]<<16|e[t+1]<<8|e[t]:e[t]<<24|e[t+1]<<16|e[t+2]<<8|e[t+3]},checkLittleEndian:function(){var t=this.getUint16(0);if(18761===t)this.littleEndian=!0;else{if(19789!==t)throw console.log(t),TypeError(n.getError(6019));this.littleEndian=!1}return this.littleEndian},hasTowel:function(){if(42!==this.getUint16(2))throw RangeError(n.getError(6020));return!0},getFieldTypeName:function(t){var e=this.fieldTypeNames;return t in e?e[t]:null},getFieldTagName:function(t){var e=this.fieldTagNames;return t in e?e[t]:(cc.logID(6021,t),"Tag"+t)},getFieldTypeLength:function(t){return-1!==["BYTE","ASCII","SBYTE","UNDEFINED"].indexOf(t)?1:-1!==["SHORT","SSHORT"].indexOf(t)?2:-1!==["LONG","SLONG","FLOAT"].indexOf(t)?4:-1!==["RATIONAL","SRATIONAL","DOUBLE"].indexOf(t)?8:null},getFieldValues:function(t,e,i,n){var r=[],s=this.getFieldTypeLength(e);if(s*i<=4)!1===this.littleEndian?r.push(n>>>8*(4-s)):r.push(n);else for(var o=0;o<i;o++){var a=s*o;s>=8?-1!==["RATIONAL","SRATIONAL"].indexOf(e)?(r.push(this.getUint32(n+a)),r.push(this.getUint32(n+a+4))):cc.logID(8e3):r.push(this.getBytes(s,n+a))}return"ASCII"===e&&r.forEach((function(t,e,i){i[e]=String.fromCharCode(t)})),r},getBytes:function(t,e){if(t<=0)cc.logID(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);cc.logID(8002)}},getBits:function(t,e,i){i=i||0;var n,r,s=e+Math.floor(i/8),o=i+t,a=32-t;return o<=0?cc.logID(6023):o<=8?(n=24+i,r=this.getUint8(s)):o<=16?(n=16+i,r=this.getUint16(s)):o<=32?(n=i,r=this.getUint32(s)):cc.logID(6022),{bits:r<<n>>>a,byteOffset:s+Math.floor(o/8),bitOffset:o%8}},parseFileDirectory:function(t){for(var e=this.getUint16(t),i=[],n=t+2,r=0;r<e;n+=12,r++){var s=this.getUint16(n),o=this.getUint16(n+2),a=this.getUint32(n+4),c=this.getUint32(n+8),l=this.getFieldTagName(s),h=this.getFieldTypeName(o),u=this.getFieldValues(l,h,a,c);i[l]={type:h,values:u}}this._fileDirectories.push(i);var _=this.getUint32(n);0!==_&&this.parseFileDirectory(_)},clampColorSample:function(t,e){var i=Math.pow(2,8-e);return Math.floor(t*i+(i-1))},parseTIFF:function(t,e){if(e=e||document.createElement("canvas"),this._tiffData=t,this.canvas=e,this.checkLittleEndian(),this.hasTowel()){var i=this.getUint32(4);this._fileDirectories.length=0,this.parseFileDirectory(i);var r=this._fileDirectories[0],s=r.ImageWidth.values[0],o=r.ImageLength.values[0];this.canvas.width=s,this.canvas.height=o;var a=[],c=r.Compression?r.Compression.values[0]:1,l=r.SamplesPerPixel.values[0],h=[],u=0,_=!1;if(r.BitsPerSample.values.forEach((function(t,e,i){h[e]={bitsPerSample:t,hasBytesPerSample:!1,bytesPerSample:void 0},t%8==0&&(h[e].hasBytesPerSample=!0,h[e].bytesPerSample=t/8),u+=t}),this),u%8==0){_=!0;var f=u/8}var d=r.StripOffsets.values,p=d.length;if(r.StripByteCounts)var m=r.StripByteCounts.values;else{if(cc.logID(8003),1!==p)throw Error(n.getError(6024));m=[Math.ceil(s*o*u/8)]}for(var y=0;y<p;y++){var v=d[y];a[y]=[];for(var g=m[y],x=0,C=0,A=1,b=!0,S=[],T=0,w=0,E=0;x<g;x+=A)switch(c){case 1:var B=0;for(S=[];B<l;B++){if(!h[B].hasBytesPerSample){var M=this.getBits(h[B].bitsPerSample,v+x,C);throw S.push(M.bits),x=M.byteOffset-v,C=M.bitOffset,RangeError(n.getError(6025))}var I=h[B].bytesPerSample*B;S.push(this.getBytes(h[B].bytesPerSample,v+x+I))}if(a[y].push(S),!_)throw A=0,RangeError(n.getError(6026));A=f;break;case 2:case 3:case 4:case 5:case 6:case 7:break;case 32773:if(b){b=!1;var R=1,P=1,D=this.getInt8(v+x);D>=0&&D<=127?R=D+1:D>=-127&&D<=-1?P=1-D:b=!0}else{var L=this.getUint8(v+x);for(B=0;B<P;B++){if(!h[w].hasBytesPerSample)throw RangeError(n.getError(6025));E=E<<8*T|L,++T===h[w].bytesPerSample&&(S.push(E),E=T=0,w++),w===l&&(a[y].push(S),S=[],w=0)}0===--R&&(b=!0)}A=1}}if(e.getContext){var O=this.canvas.getContext("2d");O.fillStyle="rgba(255, 255, 255, 0)";var V=r.RowsPerStrip?r.RowsPerStrip.values[0]:o,F=a.length,N=o%V,G=0===N?V:N,k=V,z=0,U=r.PhotometricInterpretation.values[0],W=[],j=0;if(r.ExtraSamples&&(j=(W=r.ExtraSamples.values).length),r.ColorMap)var H=r.ColorMap.values,q=Math.pow(2,h[0].bitsPerSample);for(y=0;y<F;y++){y+1===F&&(k=G);for(var X=a[y].length,Y=z*y,J=0,Z=0;Z<X;J++)for(var K=0;K<s;K++,Z++){var Q=a[y][Z],$=0,tt=0,et=0,it=1;if(j>0)for(var nt=0;nt<j;nt++)if(1===W[nt]||2===W[nt]){it=Q[3+nt]/256;break}switch(U){case 0:if(h[0].hasBytesPerSample)var rt=Math.pow(16,2*h[0].bytesPerSample);Q.forEach((function(t,e,i){i[e]=rt-t}));case 1:$=tt=et=this.clampColorSample(Q[0],h[0].bitsPerSample);break;case 2:$=this.clampColorSample(Q[0],h[0].bitsPerSample),tt=this.clampColorSample(Q[1],h[1].bitsPerSample),et=this.clampColorSample(Q[2],h[2].bitsPerSample);break;case 3:if(void 0===H)throw Error(n.getError(6027));var st=Q[0];$=this.clampColorSample(H[st],16),tt=this.clampColorSample(H[q+st],16),et=this.clampColorSample(H[2*q+st],16);break;default:throw RangeError(n.getError(6028,U))}O.fillStyle="rgba("+$+", "+tt+", "+et+", "+it+")",O.fillRect(K,Y+J,1,1)}z=k}}return this.canvas}},fieldTagNames:{315:"Artist",258:"BitsPerSample",265:"CellLength",264:"CellWidth",320:"ColorMap",259:"Compression",33432:"Copyright",306:"DateTime",338:"ExtraSamples",266:"FillOrder",289:"FreeByteCounts",288:"FreeOffsets",291:"GrayResponseCurve",290:"GrayResponseUnit",316:"HostComputer",270:"ImageDescription",257:"ImageLength",256:"ImageWidth",271:"Make",281:"MaxSampleValue",280:"MinSampleValue",272:"Model",254:"NewSubfileType",274:"Orientation",262:"PhotometricInterpretation",284:"PlanarConfiguration",296:"ResolutionUnit",278:"RowsPerStrip",277:"SamplesPerPixel",305:"Software",279:"StripByteCounts",273:"StripOffsets",255:"SubfileType",263:"Threshholding",282:"XResolution",283:"YResolution",326:"BadFaxLines",327:"CleanFaxData",343:"ClipPath",328:"ConsecutiveBadFaxLines",433:"Decode",434:"DefaultImageColor",269:"DocumentName",336:"DotRange",321:"HalftoneHints",346:"Indexed",347:"JPEGTables",285:"PageName",297:"PageNumber",317:"Predictor",319:"PrimaryChromaticities",532:"ReferenceBlackWhite",339:"SampleFormat",559:"StripRowCounts",330:"SubIFDs",292:"T4Options",293:"T6Options",325:"TileByteCounts",323:"TileLength",324:"TileOffsets",322:"TileWidth",301:"TransferFunction",318:"WhitePoint",344:"XClipPathUnits",286:"XPosition",529:"YCbCrCoefficients",531:"YCbCrPositioning",530:"YCbCrSubSampling",345:"YClipPathUnits",287:"YPosition",37378:"ApertureValue",40961:"ColorSpace",36868:"DateTimeDigitized",36867:"DateTimeOriginal",34665:"Exif IFD",36864:"ExifVersion",33434:"ExposureTime",41728:"FileSource",37385:"Flash",40960:"FlashpixVersion",33437:"FNumber",42016:"ImageUniqueID",37384:"LightSource",37500:"MakerNote",37377:"ShutterSpeedValue",37510:"UserComment",33723:"IPTC",34675:"ICC Profile",700:"XMP",42112:"GDAL_METADATA",42113:"GDAL_NODATA",34377:"Photoshop"},fieldTypeNames:{1:"BYTE",2:"ASCII",3:"SHORT",4:"LONG",5:"RATIONAL",6:"SBYTE",7:"UNDEFINED",8:"SSHORT",9:"SLONG",10:"SRATIONAL",11:"FLOAT",12:"DOUBLE"}};e.exports=r}),{"../core/CCDebug":27}],291:[(function(t,e,i){"use strict";t("./CCParticleAsset"),t("./CCParticleSystem"),t("./particle-simulator"),t("./particle-system-assembler")}),{"./CCParticleAsset":288,"./CCParticleSystem":289,"./particle-simulator":292,"./particle-system-assembler":293}],292:[(function(t,e,i){"use strict";var n=t("../core/utils/affine-transform"),r=t("../core/platform/js"),s=t("../core/utils/misc"),o=cc.v2(0,0),a=n.create(),c=cc.v2(),l=cc.v2(),h=cc.v2(),u=cc.v2(),_=function(){this.pos=cc.v2(0,0),this.startPos=cc.v2(0,0),this.color=cc.color(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=cc.v2(0,0),this.dir=cc.v2(0,0),this.radialAccel=0,this.tangentialAccel=0,this.angle=0,this.degreesPerSecond=0,this.radius=0,this.deltaRadius=0},f=new r.Pool(function(t){t.pos.set(o),t.startPos.set(o),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(o),t.dir.set(o),t.radialAccel=0,t.tangentialAccel=0,t.angle=0,t.degreesPerSecond=0,t.radius=0,t.deltaRadius=0},1024);f.get=function(){return this._get()||new _};var d=function(t){this.sys=t,this.particles=[],this.active=!1,this.finished=!1,this.elapsed=0,this.emitCounter=0,this._uvFilled=0};function p(t){for(var e=0,i=t;i;)e+=i.angle,i=i.parent;return e}d.prototype.stop=function(){this.active=!1,this.elapsed=this.sys.duration,this.emitCounter=0},d.prototype.reset=function(){this.active=!0,this.elapsed=0,this.emitCounter=0,this.finished=!1;for(var t=this.particles,e=0;e<t.length;++e)f.put(t[e]);t.length=0},d.prototype.emitParticle=function(t){var e=this.sys,i=s.clampf,n=f.get();this.particles.push(n),n.timeToLive=e.life+e.lifeVar*(Math.random()-.5)*2;var r=n.timeToLive=Math.max(0,n.timeToLive);n.pos.x=e.sourcePos.x+e.posVar.x*(Math.random()-.5)*2,n.pos.y=e.sourcePos.y+e.posVar.y*(Math.random()-.5)*2;var o,a,c,l,h=e._startColor,u=e._startColorVar,_=e._endColor,d=e._endColorVar;n.color.r=o=i(h.r+u.r*(Math.random()-.5)*2,0,255),n.color.g=a=i(h.g+u.g*(Math.random()-.5)*2,0,255),n.color.b=c=i(h.b+u.b*(Math.random()-.5)*2,0,255),n.color.a=l=i(h.a+u.a*(Math.random()-.5)*2,0,255),n.deltaColor.r=(i(_.r+d.r*(Math.random()-.5)*2,0,255)-o)/r,n.deltaColor.g=(i(_.g+d.g*(Math.random()-.5)*2,0,255)-a)/r,n.deltaColor.b=(i(_.b+d.b*(Math.random()-.5)*2,0,255)-c)/r,n.deltaColor.a=(i(_.a+d.a*(Math.random()-.5)*2,0,255)-l)/r;var m=e.startSize+e.startSizeVar*(Math.random()-.5)*2;if(m=Math.max(0,m),n.size=m,e.endSize===cc.ParticleSystem.START_SIZE_EQUAL_TO_END_SIZE)n.deltaSize=0;else{var y=e.endSize+e.endSizeVar*(Math.random()-.5)*2;y=Math.max(0,y),n.deltaSize=(y-m)/r}var v=e.startSpin+e.startSpinVar*(Math.random()-.5)*2,g=e.endSpin+e.endSpinVar*(Math.random()-.5)*2;n.rotation=v,n.deltaRotation=(g-v)/r,n.startPos.x=t.x,n.startPos.y=t.y;var x=p(e.node),C=e.positionType===cc.ParticleSystem.PositionType.FREE?e.angle+x:e.angle,A=s.degreesToRadians(C+e.angleVar*(Math.random()-.5)*2);if(e.emitterMode===cc.ParticleSystem.EmitterMode.GRAVITY){var b=e.speed+e.speedVar*(Math.random()-.5)*2;n.dir.x=Math.cos(A),n.dir.y=Math.sin(A),n.dir.mulSelf(b),n.radialAccel=e.radialAccel+e.radialAccelVar*(Math.random()-.5)*2,n.tangentialAccel=e.tangentialAccel+e.tangentialAccelVar*(Math.random()-.5)*2,e.rotationIsDir&&(n.rotation=-s.radiansToDegrees(Math.atan2(n.dir.y,n.dir.x)))}else{var S=e.startRadius+e.startRadiusVar*(Math.random()-.5)*2,T=e.endRadius+e.endRadiusVar*(Math.random()-.5)*2;n.radius=S,n.deltaRadius=e.endRadius===cc.ParticleSystem.START_RADIUS_EQUAL_TO_END_RADIUS?0:(T-S)/r,n.angle=A,n.degreesPerSecond=s.degreesToRadians(e.rotatePerS+e.rotatePerSVar*(Math.random()-.5)*2)}},d.prototype.updateUVs=function(t){var e=this.sys._assembler;if(e){var i=e.getBuffer();if(i&&this.sys._renderSpriteFrame){for(var n=4*e._vfmt._bytes/4,r=i._vData,s=this.sys._renderSpriteFrame.uv,o=t?0:this._uvFilled,a=this.particles.length,c=o;c<a;c++){var l=c*n;r[l+2]=s[0],r[l+3]=s[1],r[l+7]=s[2],r[l+8]=s[3],r[l+12]=s[4],r[l+13]=s[5],r[l+17]=s[6],r[l+18]=s[7]}this._uvFilled=a}}},d.prototype.updateParticleBuffer=function(t,e,i,n){var r=i._vData,o=i._uintVData,a=e.x,c=e.y,l=t.size/2;if(t.rotation){var h=-l,u=-l,_=l,f=l,d=-s.degreesToRadians(t.rotation),p=Math.cos(d),m=Math.sin(d);r[n]=h*p-u*m+a,r[n+1]=h*m+u*p+c,r[n+5]=_*p-u*m+a,r[n+6]=_*m+u*p+c,r[n+10]=h*p-f*m+a,r[n+11]=h*m+f*p+c,r[n+15]=_*p-f*m+a,r[n+16]=_*m+f*p+c}else r[n]=a-l,r[n+1]=c-l,r[n+5]=a+l,r[n+6]=c-l,r[n+10]=a-l,r[n+11]=c+l,r[n+15]=a+l,r[n+16]=c+l;o[n+4]=t.color._val,o[n+9]=t.color._val,o[n+14]=t.color._val,o[n+19]=t.color._val},d.prototype.step=function(t){var e=this.sys,i=e.node,r=this.particles,_=4*this.sys._assembler._vfmt._bytes/4;if(i._updateWorldMatrix(),a=n.identity(),e.positionType===cc.ParticleSystem.PositionType.FREE){var d=i._worldMatrix.m;a.tx=d[12],a.ty=d[13],n.transformVec2(c,o,a)}else if(e.positionType===cc.ParticleSystem.PositionType.RELATIVE){var p=s.degreesToRadians(-i.angle),m=Math.cos(p),y=Math.sin(p);a=n.create(m,-y,y,m,0,0),c.x=i.x,c.y=i.y}n.invert(a,a);var v=a;if(this.active&&e.emissionRate){var g=1/e.emissionRate;for(r.length<e.totalParticles&&(this.emitCounter+=t);r.length<e.totalParticles&&this.emitCounter>g;)this.emitParticle(c),this.emitCounter-=g;this.elapsed+=t,-1!==e.duration&&e.duration<this.elapsed&&e.stopSystem()}var x=e._assembler.getBuffer(),C=r.length;x.reset(),x.request(4*C,6*C),C>this._uvFilled&&this.updateUVs();for(var A=0;A<r.length;){l.x=l.y=h.x=h.y=u.x=u.y=0;var b=r[A];if(b.timeToLive-=t,b.timeToLive>0){if(e.emitterMode===cc.ParticleSystem.EmitterMode.GRAVITY){var S=u,T=l,w=h;(b.pos.x||b.pos.y)&&(T.set(b.pos),T.normalizeSelf()),w.set(T),T.mulSelf(b.radialAccel);var E=w.x;w.x=-w.y,w.y=E,w.mulSelf(b.tangentialAccel),S.set(T),S.addSelf(w),S.addSelf(e.gravity),S.mulSelf(t),b.dir.addSelf(S),S.set(b.dir),S.mulSelf(t),b.pos.addSelf(S)}else b.angle+=b.degreesPerSecond*t,b.radius+=b.deltaRadius*t,b.pos.x=-Math.cos(b.angle)*b.radius,b.pos.y=-Math.sin(b.angle)*b.radius;b.color.r+=b.deltaColor.r*t,b.color.g+=b.deltaColor.g*t,b.color.b+=b.deltaColor.b*t,b.color.a+=b.deltaColor.a*t,b.size+=b.deltaSize*t,b.size<0&&(b.size=0),b.rotation+=b.deltaRotation*t;var B=l,M=h;if(e.positionType===cc.ParticleSystem.PositionType.FREE)M.set(b.startPos),M.negSelf(),B.set(b.pos),B.subSelf(M);else if(e.positionType===cc.ParticleSystem.PositionType.RELATIVE){var I=u;n.transformVec2(M,c,v),n.transformVec2(I,b.startPos,v),M.subSelf(I),B.set(b.pos),B.subSelf(M)}else B.set(b.pos);var R=_*A;this.updateParticleBuffer(b,B,x,R),++A}else{var P=r[A];A!==r.length-1&&(r[A]=r[r.length-1]),f.put(P),r.length--}}r.length>0?(x.uploadData(),e._assembler._ia._count=6*r.length):this.active||(this.finished=!0,e._finishedSimulation())},e.exports=d}),{"../core/platform/js":180,"../core/utils/affine-transform":241,"../core/utils/misc":249}],293:[(function(t,e,i){"use strict";var n=s(t("../core/renderer/assembler")),r=s(t("../renderer/core/input-assembler"));function s(t){return t&&t.__esModule?t:{default:t}}function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function a(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function c(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}var l=t("./CCParticleSystem"),h=t("../core/renderer/"),u=t("../core/renderer/webgl/quad-buffer"),_=t("../core/renderer/webgl/vertex-format").vfmtPosUvColor,f=(function(t){function e(i){o(this,e);var n=a(this,t.call(this,i));return n._buffer=null,n._ia=null,n._vfmt=_,n}return c(e,t),e.prototype.getBuffer=function(){return this._buffer||(this._buffer=new u(h._handle,_),this._ia=new r.default,this._ia._vertexBuffer=this._buffer._vb,this._ia._indexBuffer=this._buffer._ib,this._ia._start=0,this._ia._count=0),this._buffer},e.prototype.fillBuffers=function(t,e){this._ia&&(e.node=t.node,e.material=t.sharedMaterials[0],e._flushIA(this._ia))},e})(n.default);n.default.register(l,f),e.exports=f}),{"../core/renderer/":207,"../core/renderer/assembler":187,"../core/renderer/webgl/quad-buffer":236,"../core/renderer/webgl/vertex-format":239,"../renderer/core/input-assembler":298,"./CCParticleSystem":289}],294:[(function(t,e,i){"use strict";var n,r,s,o=512,a=513,c=514,l=515,h=516,u=517,_=518,f=519,d=32774,p=32778,m=32779,y=0,v=1,g=768,x=769,C=774,A=775,b=770,S=771,T=772,w=773,E=32769,B=32770,M=32771,I=32772,R=776,P=7680,D=7681,L=7682,O=34055,V=7683,F=34056,N=5386,G=0,k=1028,z=1029;(function(t){t[t.COMPRESSED_RGB_S3TC_DXT1_EXT=33776]="COMPRESSED_RGB_S3TC_DXT1_EXT",t[t.COMPRESSED_RGBA_S3TC_DXT1_EXT=33777]="COMPRESSED_RGBA_S3TC_DXT1_EXT",t[t.COMPRESSED_RGBA_S3TC_DXT3_EXT=33778]="COMPRESSED_RGBA_S3TC_DXT3_EXT",t[t.COMPRESSED_RGBA_S3TC_DXT5_EXT=33779]="COMPRESSED_RGBA_S3TC_DXT5_EXT",t[t.COMPRESSED_SRGB_S3TC_DXT1_EXT=35916]="COMPRESSED_SRGB_S3TC_DXT1_EXT",t[t.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT=35917]="COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT",t[t.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT=35918]="COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT",t[t.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT=35919]="COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT",t[t.COMPRESSED_RGB_PVRTC_4BPPV1_IMG=35840]="COMPRESSED_RGB_PVRTC_4BPPV1_IMG",t[t.COMPRESSED_RGB_PVRTC_2BPPV1_IMG=35841]="COMPRESSED_RGB_PVRTC_2BPPV1_IMG",t[t.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG=35842]="COMPRESSED_RGBA_PVRTC_4BPPV1_IMG",t[t.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG=35843]="COMPRESSED_RGBA_PVRTC_2BPPV1_IMG",t[t.COMPRESSED_RGB_ETC1_WEBGL=36196]="COMPRESSED_RGB_ETC1_WEBGL"})(n||(n={})),(function(t){t[t.UNKNOWN=0]="UNKNOWN",t[t.BUFFER=1]="BUFFER",t[t.TEXTURE=2]="TEXTURE",t[t.TEXTURE_VIEW=3]="TEXTURE_VIEW",t[t.RENDER_PASS=4]="RENDER_PASS",t[t.FRAMEBUFFER=5]="FRAMEBUFFER",t[t.SAMPLER=6]="SAMPLER",t[t.SHADER=7]="SHADER",t[t.PIPELINE_LAYOUT=8]="PIPELINE_LAYOUT",t[t.PIPELINE_STATE=9]="PIPELINE_STATE",t[t.BINDING_LAYOUT=10]="BINDING_LAYOUT",t[t.INPUT_ASSEMBLER=11]="INPUT_ASSEMBLER",t[t.COMMAND_ALLOCATOR=12]="COMMAND_ALLOCATOR",t[t.COMMAND_BUFFER=13]="COMMAND_BUFFER",t[t.QUEUE=14]="QUEUE",t[t.WINDOW=15]="WINDOW"})(r||(r={})),(function(t){t[t.UNREADY=0]="UNREADY",t[t.FAILED=1]="FAILED",t[t.SUCCESS=2]="SUCCESS"})(s||(s={}));var U,W,j,H,q,X,Y,J,Z,K,Q,$,tt,et,it,nt,rt,st,ot,at,ct,lt,ht,ut,_t,ft,dt,pt,mt,yt,vt,gt,xt,Ct,At;(function(){function t(t){this._gfxType=r.UNKNOWN,this._status=s.UNREADY,this._gfxType=t}Object.defineProperty(t.prototype,"gfxType",{get:function(){return this._gfxType},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"status",{get:function(){return this._status},enumerable:!0,configurable:!0})})();(function(t){t.ATTR_POSITION="a_position",t.ATTR_NORMAL="a_normal",t.ATTR_TANGENT="a_tangent",t.ATTR_BITANGENT="a_bitangent",t.ATTR_WEIGHTS="a_weights",t.ATTR_JOINTS="a_joints",t.ATTR_COLOR="a_color",t.ATTR_COLOR1="a_color1",t.ATTR_COLOR2="a_color2",t.ATTR_TEX_COORD="a_texCoord",t.ATTR_TEX_COORD1="a_texCoord1",t.ATTR_TEX_COORD2="a_texCoord2",t.ATTR_TEX_COORD3="a_texCoord3",t.ATTR_TEX_COORD4="a_texCoord4",t.ATTR_TEX_COORD5="a_texCoord5",t.ATTR_TEX_COORD6="a_texCoord6",t.ATTR_TEX_COORD7="a_texCoord7",t.ATTR_TEX_COORD8="a_texCoord8"})(U||(U={})),(function(t){t[t.UNKNOWN=0]="UNKNOWN",t[t.BOOL=1]="BOOL",t[t.BOOL2=2]="BOOL2",t[t.BOOL3=3]="BOOL3",t[t.BOOL4=4]="BOOL4",t[t.INT=5]="INT",t[t.INT2=6]="INT2",t[t.INT3=7]="INT3",t[t.INT4=8]="INT4",t[t.UINT=9]="UINT",t[t.UINT2=10]="UINT2",t[t.UINT3=11]="UINT3",t[t.UINT4=12]="UINT4",t[t.FLOAT=13]="FLOAT",t[t.FLOAT2=14]="FLOAT2",t[t.FLOAT3=15]="FLOAT3",t[t.FLOAT4=16]="FLOAT4",t[t.COLOR4=17]="COLOR4",t[t.MAT2=18]="MAT2",t[t.MAT2X3=19]="MAT2X3",t[t.MAT2X4=20]="MAT2X4",t[t.MAT3X2=21]="MAT3X2",t[t.MAT3=22]="MAT3",t[t.MAT3X4=23]="MAT3X4",t[t.MAT4X2=24]="MAT4X2",t[t.MAT4X3=25]="MAT4X3",t[t.MAT4=26]="MAT4",t[t.SAMPLER1D=27]="SAMPLER1D",t[t.SAMPLER1D_ARRAY=28]="SAMPLER1D_ARRAY",t[t.SAMPLER2D=29]="SAMPLER2D",t[t.SAMPLER2D_ARRAY=30]="SAMPLER2D_ARRAY",t[t.SAMPLER3D=31]="SAMPLER3D",t[t.SAMPLER_CUBE=32]="SAMPLER_CUBE",t[t.COUNT=33]="COUNT"})(W||(W={})),(function(t){t[t.UNKNOWN=0]="UNKNOWN",t[t.A8=1]="A8",t[t.L8=2]="L8",t[t.LA8=3]="LA8",t[t.R8=4]="R8",t[t.R8SN=5]="R8SN",t[t.R8UI=6]="R8UI",t[t.R8I=7]="R8I",t[t.R16F=8]="R16F",t[t.R16UI=9]="R16UI",t[t.R16I=10]="R16I",t[t.R32F=11]="R32F",t[t.R32UI=12]="R32UI",t[t.R32I=13]="R32I",t[t.RG8=14]="RG8",t[t.RG8SN=15]="RG8SN",t[t.RG8UI=16]="RG8UI",t[t.RG8I=17]="RG8I",t[t.RG16F=18]="RG16F",t[t.RG16UI=19]="RG16UI",t[t.RG16I=20]="RG16I",t[t.RG32F=21]="RG32F",t[t.RG32UI=22]="RG32UI",t[t.RG32I=23]="RG32I",t[t.RGB8=24]="RGB8",t[t.SRGB8=25]="SRGB8",t[t.RGB8SN=26]="RGB8SN",t[t.RGB8UI=27]="RGB8UI",t[t.RGB8I=28]="RGB8I",t[t.RGB16F=29]="RGB16F",t[t.RGB16UI=30]="RGB16UI",t[t.RGB16I=31]="RGB16I",t[t.RGB32F=32]="RGB32F",t[t.RGB32UI=33]="RGB32UI",t[t.RGB32I=34]="RGB32I",t[t.RGBA8=35]="RGBA8",t[t.SRGB8_A8=36]="SRGB8_A8",t[t.RGBA8SN=37]="RGBA8SN",t[t.RGBA8UI=38]="RGBA8UI",t[t.RGBA8I=39]="RGBA8I",t[t.RGBA16F=40]="RGBA16F",t[t.RGBA16UI=41]="RGBA16UI",t[t.RGBA16I=42]="RGBA16I",t[t.RGBA32F=43]="RGBA32F",t[t.RGBA32UI=44]="RGBA32UI",t[t.RGBA32I=45]="RGBA32I",t[t.R5G6B5=46]="R5G6B5",t[t.R11G11B10F=47]="R11G11B10F",t[t.RGB5A1=48]="RGB5A1",t[t.RGBA4=49]="RGBA4",t[t.RGB10A2=50]="RGB10A2",t[t.RGB10A2UI=51]="RGB10A2UI",t[t.RGB9E5=52]="RGB9E5",t[t.D16=53]="D16",t[t.D16S8=54]="D16S8",t[t.D24=55]="D24",t[t.D24S8=56]="D24S8",t[t.D32F=57]="D32F",t[t.D32F_S8=58]="D32F_S8",t[t.BC1=59]="BC1",t[t.BC1_ALPHA=60]="BC1_ALPHA",t[t.BC1_SRGB=61]="BC1_SRGB",t[t.BC1_SRGB_ALPHA=62]="BC1_SRGB_ALPHA",t[t.BC2=63]="BC2",t[t.BC2_SRGB=64]="BC2_SRGB",t[t.BC3=65]="BC3",t[t.BC3_SRGB=66]="BC3_SRGB",t[t.BC4=67]="BC4",t[t.BC4_SNORM=68]="BC4_SNORM",t[t.BC5=69]="BC5",t[t.BC5_SNORM=70]="BC5_SNORM",t[t.BC6H_UF16=71]="BC6H_UF16",t[t.BC6H_SF16=72]="BC6H_SF16",t[t.BC7=73]="BC7",t[t.BC7_SRGB=74]="BC7_SRGB",t[t.ETC_RGB8=75]="ETC_RGB8",t[t.ETC2_RGB8=76]="ETC2_RGB8",t[t.ETC2_SRGB8=77]="ETC2_SRGB8",t[t.ETC2_RGB8_A1=78]="ETC2_RGB8_A1",t[t.ETC2_SRGB8_A1=79]="ETC2_SRGB8_A1",t[t.ETC2_RGBA8=80]="ETC2_RGBA8",t[t.ETC2_SRGB8_A8=81]="ETC2_SRGB8_A8",t[t.EAC_R11=82]="EAC_R11",t[t.EAC_R11SN=83]="EAC_R11SN",t[t.EAC_RG11=84]="EAC_RG11",t[t.EAC_RG11SN=85]="EAC_RG11SN",t[t.PVRTC_RGB2=86]="PVRTC_RGB2",t[t.PVRTC_RGBA2=87]="PVRTC_RGBA2",t[t.PVRTC_RGB4=88]="PVRTC_RGB4",t[t.PVRTC_RGBA4=89]="PVRTC_RGBA4",t[t.PVRTC2_2BPP=90]="PVRTC2_2BPP",t[t.PVRTC2_4BPP=91]="PVRTC2_4BPP"})(j||(j={})),(function(t){t[t.NONE=0]="NONE",t[t.TRANSFER_SRC=1]="TRANSFER_SRC",t[t.TRANSFER_DST=2]="TRANSFER_DST",t[t.INDEX=4]="INDEX",t[t.VERTEX=8]="VERTEX",t[t.UNIFORM=16]="UNIFORM",t[t.STORAGE=32]="STORAGE",t[t.INDIRECT=64]="INDIRECT"})(H||(H={})),(function(t){t[t.NONE=0]="NONE",t[t.DEVICE=1]="DEVICE",t[t.HOST=2]="HOST"})(q||(q={})),(function(t){t[t.NONE=0]="NONE",t[t.READ=1]="READ",t[t.WRITE=2]="WRITE"})(X||(X={})),(function(t){t[t.POINT_LIST=0]="POINT_LIST",t[t.LINE_LIST=1]="LINE_LIST",t[t.LINE_STRIP=2]="LINE_STRIP",t[t.LINE_LOOP=3]="LINE_LOOP",t[t.LINE_LIST_ADJACENCY=4]="LINE_LIST_ADJACENCY",t[t.LINE_STRIP_ADJACENCY=5]="LINE_STRIP_ADJACENCY",t[t.ISO_LINE_LIST=6]="ISO_LINE_LIST",t[t.TRIANGLE_LIST=7]="TRIANGLE_LIST",t[t.TRIANGLE_STRIP=8]="TRIANGLE_STRIP",t[t.TRIANGLE_FAN=9]="TRIANGLE_FAN",t[t.TRIANGLE_LIST_ADJACENCY=10]="TRIANGLE_LIST_ADJACENCY",t[t.TRIANGLE_STRIP_ADJACENCY=11]="TRIANGLE_STRIP_ADJACENCY",t[t.TRIANGLE_PATCH_ADJACENCY=12]="TRIANGLE_PATCH_ADJACENCY",t[t.QUAD_PATCH_LIST=13]="QUAD_PATCH_LIST"})(Y||(Y={})),(function(t){t[t.FILL=0]="FILL",t[t.POINT=1]="POINT",t[t.LINE=2]="LINE"})(J||(J={})),(function(t){t[t.GOURAND=0]="GOURAND",t[t.FLAT=1]="FLAT"})(Z||(Z={})),(function(t){t[t.NONE=0]="NONE",t[t.FRONT=1]="FRONT",t[t.BACK=2]="BACK"})(K||(K={})),(function(t){t[t.NEVER=0]="NEVER",t[t.LESS=1]="LESS",t[t.EQUAL=2]="EQUAL",t[t.LESS_EQUAL=3]="LESS_EQUAL",t[t.GREATER=4]="GREATER",t[t.NOT_EQUAL=5]="NOT_EQUAL",t[t.GREATER_EQUAL=6]="GREATER_EQUAL",t[t.ALWAYS=7]="ALWAYS"})(Q||(Q={})),(function(t){t[t.ZERO=0]="ZERO",t[t.KEEP=1]="KEEP",t[t.REPLACE=2]="REPLACE",t[t.INCR=3]="INCR",t[t.DECR=4]="DECR",t[t.INVERT=5]="INVERT",t[t.INCR_WRAP=6]="INCR_WRAP",t[t.DECR_WRAP=7]="DECR_WRAP"})($||($={})),(function(t){t[t.ADD=0]="ADD",t[t.SUB=1]="SUB",t[t.REV_SUB=2]="REV_SUB",t[t.MIN=3]="MIN",t[t.MAX=4]="MAX"})(tt||(tt={})),(function(t){t[t.ZERO=0]="ZERO",t[t.ONE=1]="ONE",t[t.SRC_ALPHA=2]="SRC_ALPHA",t[t.DST_ALPHA=3]="DST_ALPHA",t[t.ONE_MINUS_SRC_ALPHA=4]="ONE_MINUS_SRC_ALPHA",t[t.ONE_MINUS_DST_ALPHA=5]="ONE_MINUS_DST_ALPHA",t[t.SRC_COLOR=6]="SRC_COLOR",t[t.DST_COLOR=7]="DST_COLOR",t[t.ONE_MINUS_SRC_COLOR=8]="ONE_MINUS_SRC_COLOR",t[t.ONE_MINUS_DST_COLOR=9]="ONE_MINUS_DST_COLOR",t[t.SRC_ALPHA_SATURATE=10]="SRC_ALPHA_SATURATE",t[t.CONSTANT_COLOR=11]="CONSTANT_COLOR",t[t.ONE_MINUS_CONSTANT_COLOR=12]="ONE_MINUS_CONSTANT_COLOR",t[t.CONSTANT_ALPHA=13]="CONSTANT_ALPHA",t[t.ONE_MINUS_CONSTANT_ALPHA=14]="ONE_MINUS_CONSTANT_ALPHA"})(et||(et={})),(function(t){t[t.NONE=0]="NONE",t[t.R=1]="R",t[t.G=2]="G",t[t.B=4]="B",t[t.A=8]="A",t[t.ALL=15]="ALL"})(it||(it={})),(function(t){t[t.NONE=0]="NONE",t[t.POINT=1]="POINT",t[t.LINEAR=2]="LINEAR",t[t.ANISOTROPIC=3]="ANISOTROPIC"})(nt||(nt={})),(function(t){t[t.WRAP=0]="WRAP",t[t.MIRROR=1]="MIRROR",t[t.CLAMP=2]="CLAMP",t[t.BORDER=3]="BORDER"})(rt||(rt={})),(function(t){t[t.TEX1D=0]="TEX1D",t[t.TEX2D=1]="TEX2D",t[t.TEX3D=2]="TEX3D"})(st||(st={})),(function(t){t[t.NONE=0]="NONE",t[t.TRANSFER_SRC=1]="TRANSFER_SRC",t[t.TRANSFER_DST=2]="TRANSFER_DST",t[t.SAMPLED=4]="SAMPLED",t[t.STORAGE=8]="STORAGE",t[t.COLOR_ATTACHMENT=16]="COLOR_ATTACHMENT",t[t.DEPTH_STENCIL_ATTACHMENT=32]="DEPTH_STENCIL_ATTACHMENT",t[t.TRANSIENT_ATTACHMENT=64]="TRANSIENT_ATTACHMENT",t[t.INPUT_ATTACHMENT=128]="INPUT_ATTACHMENT"})(ot||(ot={})),(function(t){t[t.X1=0]="X1",t[t.X2=1]="X2",t[t.X4=2]="X4",t[t.X8=3]="X8",t[t.X16=4]="X16",t[t.X32=5]="X32",t[t.X64=6]="X64"})(at||(at={})),(function(t){t[t.NONE=0]="NONE",t[t.GEN_MIPMAP=1]="GEN_MIPMAP",t[t.CUBEMAP=2]="CUBEMAP",t[t.BAKUP_BUFFER=4]="BAKUP_BUFFER"})(ct||(ct={})),(function(t){t[t.TV1D=0]="TV1D",t[t.TV2D=1]="TV2D",t[t.TV3D=2]="TV3D",t[t.CUBE=3]="CUBE",t[t.TV1D_ARRAY=4]="TV1D_ARRAY",t[t.TV2D_ARRAY=5]="TV2D_ARRAY"})(lt||(lt={})),(function(t){t[t.VERTEX=0]="VERTEX",t[t.HULL=1]="HULL",t[t.DOMAIN=2]="DOMAIN",t[t.GEOMETRY=3]="GEOMETRY",t[t.FRAGMENT=4]="FRAGMENT",t[t.COMPUTE=5]="COMPUTE",t[t.COUNT=6]="COUNT"})(ht||(ht={})),(function(t){t[t.UNKNOWN=0]="UNKNOWN",t[t.UNIFORM_BUFFER=1]="UNIFORM_BUFFER",t[t.SAMPLER=2]="SAMPLER",t[t.STORAGE_BUFFER=3]="STORAGE_BUFFER"})(ut||(ut={})),(function(t){t[t.PRIMARY=0]="PRIMARY",t[t.SECONDARY=1]="SECONDARY"})(_t||(_t={})),(function(t){t[t.LOAD=0]="LOAD",t[t.CLEAR=1]="CLEAR",t[t.DISCARD=2]="DISCARD"})(ft||(ft={})),(function(t){t[t.STORE=0]="STORE",t[t.DISCARD=1]="DISCARD"})(dt||(dt={})),(function(t){t[t.UNDEFINED=0]="UNDEFINED",t[t.GENERAL=1]="GENERAL",t[t.COLOR_ATTACHMENT_OPTIMAL=2]="COLOR_ATTACHMENT_OPTIMAL",t[t.DEPTH_STENCIL_ATTACHMENT_OPTIMAL=3]="DEPTH_STENCIL_ATTACHMENT_OPTIMAL",t[t.DEPTH_STENCIL_READONLY_OPTIMAL=4]="DEPTH_STENCIL_READONLY_OPTIMAL",t[t.SHADER_READONLY_OPTIMAL=5]="SHADER_READONLY_OPTIMAL",t[t.TRANSFER_SRC_OPTIMAL=6]="TRANSFER_SRC_OPTIMAL",t[t.TRANSFER_DST_OPTIMAL=7]="TRANSFER_DST_OPTIMAL",t[t.PREINITIALIZED=8]="PREINITIALIZED",t[t.PRESENT_SRC=9]="PRESENT_SRC"})(pt||(pt={})),(function(t){t[t.GRAPHICS=0]="GRAPHICS",t[t.COMPUTE=1]="COMPUTE",t[t.RAY_TRACING=2]="RAY_TRACING"})(mt||(mt={})),(function(t){t[t.VIEWPORT=0]="VIEWPORT",t[t.SCISSOR=1]="SCISSOR",t[t.LINE_WIDTH=2]="LINE_WIDTH",t[t.DEPTH_BIAS=3]="DEPTH_BIAS",t[t.BLEND_CONSTANTS=4]="BLEND_CONSTANTS",t[t.DEPTH_BOUNDS=5]="DEPTH_BOUNDS",t[t.STENCIL_WRITE_MASK=6]="STENCIL_WRITE_MASK",t[t.STENCIL_COMPARE_MASK=7]="STENCIL_COMPARE_MASK"})(yt||(yt={})),(function(t){t[t.FRONT=0]="FRONT",t[t.BACK=1]="BACK",t[t.ALL=2]="ALL"})(vt||(vt={})),(function(t){t[t.GRAPHICS=0]="GRAPHICS",t[t.COMPUTE=1]="COMPUTE",t[t.TRANSFER=2]="TRANSFER"})(gt||(gt={})),(function(t){t[t.NONE=0]="NONE",t[t.COLOR=1]="COLOR",t[t.DEPTH=2]="DEPTH",t[t.STENCIL=4]="STENCIL",t[t.DEPTH_STENCIL=6]="DEPTH_STENCIL",t[t.ALL=7]="ALL"})(xt||(xt={})),(function(t){t[t.DEFAULT=100]="DEFAULT"})(Ct||(Ct={})),(function(t){t[t.MIN=0]="MIN",t[t.MAX=255]="MAX",t[t.DEFAULT=128]="DEFAULT"})(At||(At={}));var bt,St,Tt,wt;(function(t){t[t.UBO_GLOBAL=23]="UBO_GLOBAL",t[t.UBO_SHADOW=22]="UBO_SHADOW",t[t.UBO_LOCAL=21]="UBO_LOCAL",t[t.UBO_FORWARD_LIGHTS=20]="UBO_FORWARD_LIGHTS",t[t.UBO_SKINNING=19]="UBO_SKINNING",t[t.UBO_SKINNING_TEXTURE=18]="UBO_SKINNING_TEXTURE",t[t.UBO_UI=17]="UBO_UI",t[t.SAMPLER_JOINTS=25]="SAMPLER_JOINTS",t[t.SAMPLER_ENVIRONMENT=26]="SAMPLER_ENVIRONMENT",t[t.CUSTUM_UBO_BINDING_END_POINT=17]="CUSTUM_UBO_BINDING_END_POINT",t[t.CUSTOM_SAMPLER_BINDING_START_POINT=30]="CUSTOM_SAMPLER_BINDING_START_POINT"})(bt||(bt={})),(function(t){t[t.minFilter=0]="minFilter",t[t.magFilter=1]="magFilter",t[t.mipFilter=2]="mipFilter",t[t.addressU=3]="addressU",t[t.addressV=4]="addressV",t[t.addressW=5]="addressW",t[t.maxAnisotropy=6]="maxAnisotropy",t[t.cmpFunc=7]="cmpFunc",t[t.minLOD=8]="minLOD",t[t.maxLOD=9]="maxLOD",t[t.mipLODBias=10]="mipLODBias",t[t.borderColor=11]="borderColor",t[t.total=15]="total"})(wt||(wt={}));var Et={};Et[Et.bool=W.BOOL]="bool",Et[Et.int=W.INT]="int",Et[Et.ivec2=W.INT2]="ivec2invTypeParams",Et[Et.ivec3=W.INT3]="ivec3",Et[Et.ivec4=W.INT4]="ivec4",Et[Et.float=W.FLOAT]="float",Et[Et.vec2=W.FLOAT2]="vec2",Et[Et.vec3=W.FLOAT3]="vec3",Et[Et.vec4=W.FLOAT4]="vec4",Et[Et.mat2=W.MAT2]="mat2",Et[Et.mat3=W.MAT3]="mat3",Et[Et.mat4=W.MAT4]="mat4",Et[Et.sampler2D=W.SAMPLER2D]="sampler2D",Et[Et.samplerCube=W.SAMPLER_CUBE]="samplerCube";var Bt=((St={})[W.BOOL]=4,St[W.INT]=4,St[W.INT2]=8,St[W.INT3]=12,St[W.INT4]=16,St[W.FLOAT]=4,St[W.FLOAT2]=8,St[W.FLOAT3]=12,St[W.FLOAT4]=16,St[W.MAT2]=16,St[W.MAT3]=36,St[W.MAT4]=64,St[W.SAMPLER2D]=4,St[W.SAMPLER_CUBE]=4,St),Mt=((Tt={})[W.BOOL]=j.R32I,Tt[W.INT]=j.R32I,Tt[W.INT2]=j.RG32I,Tt[W.INT3]=j.RGB32I,Tt[W.INT4]=j.RGBA32I,Tt[W.FLOAT]=j.R32F,Tt[W.FLOAT2]=j.RG32F,Tt[W.FLOAT3]=j.RGB32F,Tt[W.FLOAT4]=j.RGBA32F,Tt),It={BACK:z,FRONT:k,NONE:G,ADD:d,SUB:p,REV_SUB:m,ZERO:y,ONE:v,SRC_COLOR:g,ONE_MINUS_SRC_COLOR:x,DST_COLOR:C,ONE_MINUS_DST_COLOR:A,SRC_ALPHA:b,ONE_MINUS_SRC_ALPHA:S,DST_ALPHA:T,ONE_MINUS_DST_ALPHA:w,CONSTANT_COLOR:E,ONE_MINUS_CONSTANT_COLOR:B,CONSTANT_ALPHA:M,ONE_MINUS_CONSTANT_ALPHA:I,SRC_ALPHA_SATURATE:R,NEVER:o,LESS:a,EQUAL:c,LEQUAL:l,GREATER:h,NOTEQUAL:u,GEQUAL:_,ALWAYS:f,KEEP:P,REPLACE:D,INCR:L,INCR_WRAP:O,DECR:V,DECR_WRAP:F,INVERT:N};Object.assign(It,Ct);var Rt={murmurhash2_32_gc:function(t,e){for(var i,n=t.length,r=e^n,s=0;n>=4;)i=1540483477*(65535&(i=255&t.charCodeAt(s)|(255&t.charCodeAt(++s))<<8|(255&t.charCodeAt(++s))<<16|(255&t.charCodeAt(++s))<<24))+((1540483477*(i>>>16)&65535)<<16),r=1540483477*(65535&r)+((1540483477*(r>>>16)&65535)<<16)^(i=1540483477*(65535&(i^=i>>>24))+((1540483477*(i>>>16)&65535)<<16)),n-=4,++s;switch(n){case 3:r^=(255&t.charCodeAt(s+2))<<16;case 2:r^=(255&t.charCodeAt(s+1))<<8;case 1:r=1540483477*(65535&(r^=255&t.charCodeAt(s)))+((1540483477*(r>>>16)&65535)<<16)}return r=1540483477*(65535&(r^=r>>>13))+((1540483477*(r>>>16)&65535)<<16),(r^=r>>>15)>>>0},SamplerInfoIndex:wt,effectStructure:{$techniques:[{$passes:[{depthStencilState:{},rasterizerState:{},blendState:{targets:[{}]},properties:{any:{sampler:{},inspector:{}}}}]}]},typeMap:Et,sizeMap:Bt,formatMap:Mt,passParams:It,RenderQueue:{OPAQUE:0,TRANSPARENT:1,OVERLAY:2},RenderPriority:At,GFXGetTypeSize:function(t){switch(t){case W.BOOL:case W.INT:case W.UINT:case W.FLOAT:return 4;case W.BOOL2:case W.INT2:case W.UINT2:case W.FLOAT2:return 8;case W.BOOL3:case W.INT3:case W.UINT3:case W.FLOAT3:return 12;case W.BOOL4:case W.INT4:case W.UINT4:case W.FLOAT4:case W.MAT2:return 16;case W.MAT2X3:return 24;case W.MAT2X4:return 32;case W.MAT3X2:return 24;case W.MAT3:return 36;case W.MAT3X4:return 48;case W.MAT4X2:case W.MAT4X2:return 32;case W.MAT4:return 64;case W.SAMPLER1D:case W.SAMPLER1D_ARRAY:case W.SAMPLER2D:case W.SAMPLER2D_ARRAY:case W.SAMPLER3D:case W.SAMPLER_CUBE:return 4;default:return 0}},UniformBinding:bt};e.exports=Rt}),{}],295:[(function(t,e,i){"use strict";i.__esModule=!0;var n=0,r={};i.default={addStage:function(t){if(void 0===r[t]){var e=1<<n;r[t]=e,n+=1}},stageID:function(t){var e=r[t];return void 0===e?-1:e},stageIDs:function(t){for(var e=0,i=0;i<t.length;++i){var n=r[t[i]];void 0!==n&&(e|=n)}return e}},e.exports=i.default}),{}],296:[(function(t,e,i){"use strict";var n,r;i.__esModule=!0,i.default=void 0;var s=t("../memop"),o=u(t("../enums")),a=t("../../core/vmath"),c=u(t("./program-lib")),l=u(t("./view")),h=u(t("../gfx"));function u(t){return t&&t.__esModule?t:{default:t}}function _(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}a.mat3.create();var f=a.mat4.create(),d=new s.RecyclePool(function(){return{stage:null,items:null}},8),p=new s.RecyclePool(function(){return new Float32Array(2)},8),m=new s.RecyclePool(function(){return new Float32Array(3)},8),y=new s.RecyclePool(function(){return new Float32Array(4)},8),v=new s.RecyclePool(function(){return new Float32Array(9)},8),g=new s.RecyclePool(function(){return new Float32Array(16)},8),x=new s.RecyclePool(function(){return new Float32Array(64)},8),C=new s.RecyclePool(function(){return new Int32Array(2)},8),A=new s.RecyclePool(function(){return new Int32Array(3)},8),b=new s.RecyclePool(function(){return new Int32Array(4)},8),S=new s.RecyclePool(function(){return new Int32Array(64)},8),T=((n={})[o.default.PARAM_INT]=function(t){return t},n[o.default.PARAM_INT2]=function(t){return a.vec2.array(C.add(),t)},n[o.default.PARAM_INT3]=function(t){return a.vec3.array(A.add(),t)},n[o.default.PARAM_INT4]=function(t){return a.vec4.array(b.add(),t)},n[o.default.PARAM_FLOAT]=function(t){return t},n[o.default.PARAM_FLOAT2]=function(t){return a.vec2.array(p.add(),t)},n[o.default.PARAM_FLOAT3]=function(t){return a.vec3.array(m.add(),t)},n[o.default.PARAM_FLOAT4]=function(t){return a.vec4.array(y.add(),t)},n[o.default.PARAM_COLOR3]=function(t){return a.color3.array(m.add(),t)},n[o.default.PARAM_COLOR4]=function(t){return a.color4.array(y.add(),t)},n[o.default.PARAM_MAT2]=function(t){return a.mat2.array(y.add(),t)},n[o.default.PARAM_MAT3]=function(t){return a.mat3.array(v.add(),t)},n[o.default.PARAM_MAT4]=function(t){return a.mat4.array(g.add(),t)},(r={})[o.default.PARAM_INT]={func:function(t){for(var e=S.add(),i=0;i<t.length;++i)e[i]=t[i];return e},size:1},r[o.default.PARAM_INT2]={func:function(t){for(var e=S.add(),i=0;i<t.length;++i)e[2*i]=t[i].x,e[2*i+1]=t[i].y;return e},size:2},r[o.default.PARAM_INT3]={func:void 0,size:3},r[o.default.PARAM_INT4]={func:function(t){for(var e=S.add(),i=0;i<t.length;++i){var n=t[i];e[4*i]=n.x,e[4*i+1]=n.y,e[4*i+2]=n.z,e[4*i+3]=n.w}return e},size:4},r[o.default.PARAM_FLOAT]={func:function(t){for(var e=x.add(),i=0;i<t.length;++i)e[i]=t[i];return e},size:1},r[o.default.PARAM_FLOAT2]={func:function(t){for(var e=x.add(),i=0;i<t.length;++i)e[2*i]=t[i].x,e[2*i+1]=t[i].y;return e},size:2},r[o.default.PARAM_FLOAT3]={func:void 0,size:3},r[o.default.PARAM_FLOAT4]={func:function(t){for(var e=x.add(),i=0;i<t.length;++i){var n=t[i];e[4*i]=n.x,e[4*i+1]=n.y,e[4*i+2]=n.z,e[4*i+3]=n.w}return e},size:4},r[o.default.PARAM_COLOR3]={func:void 0,size:3},r[o.default.PARAM_COLOR4]={func:function(t){for(var e=x.add(),i=0;i<t.length;++i){var n=t[i];e[4*i]=n.r,e[4*i+1]=n.g,e[4*i+2]=n.b,e[4*i+3]=n.a}return e},size:4},r[o.default.PARAM_MAT2]={func:function(t){for(var e=x.add(),i=0;i<t.length;++i){var n=t[i];e.set(n.m,4*i)}return e},size:4},r[o.default.PARAM_MAT3]={func:void 0,size:9},r[o.default.PARAM_MAT4]={func:function(t){for(var e=x.add(),i=0;i<t.length;++i){var n=t[i];e.set(n.m,16*i)}return e},size:16},(function(){function t(e,i){var n;_(this,t),this._device=e,this._programLib=new c.default(e),this._opts=i,this._type2defaultValue=((n={})[o.default.PARAM_INT]=0,n[o.default.PARAM_INT2]=a.vec2.create(0,0),n[o.default.PARAM_INT3]=a.vec3.create(0,0,0),n[o.default.PARAM_INT4]=a.vec4.create(0,0,0,0),n[o.default.PARAM_FLOAT]=0,n[o.default.PARAM_FLOAT2]=a.vec2.create(0,0),n[o.default.PARAM_FLOAT3]=a.vec3.create(0,0,0),n[o.default.PARAM_FLOAT4]=a.vec4.create(0,0,0,0),n[o.default.PARAM_COLOR3]=a.color3.create(0,0,0),n[o.default.PARAM_COLOR4]=a.color4.create(0,0,0,1),n[o.default.PARAM_MAT2]=a.mat2.create(),n[o.default.PARAM_MAT3]=a.mat3.create(),n[o.default.PARAM_MAT4]=a.mat4.create(),n[o.default.PARAM_TEXTURE_2D]=i.defaultTexture,n[o.default.PARAM_TEXTURE_CUBE]=i.defaultTextureCube,n),this._stage2fn={},this._usedTextureUnits=0,this._viewPools=new s.RecyclePool(function(){return new l.default},8),this._drawItemsPools=new s.RecyclePool(function(){return{model:null,node:null,ia:null,effect:null,defines:null,uniforms:null}},100),this._stageItemsPools=new s.RecyclePool(function(){return new s.RecyclePool(function(){return{model:null,node:null,ia:null,effect:null,defines:null,technique:null,sortKey:-1,uniforms:null}},100)},16)}return t.prototype._resetTextuerUnit=function(){this._usedTextureUnits=0},t.prototype._allocTextureUnit=function(){var t=this._device,e=this._usedTextureUnits;return e>=t._caps.maxTextureUnits&&console.warn("Trying to use "+e+" texture units while this GPU supports only "+t._caps.maxTextureUnits),this._usedTextureUnits+=1,e},t.prototype._registerStage=function(t,e){this._stage2fn[t]=e},t.prototype.clear=function(){this._programLib.clear(),this.reset()},t.prototype.reset=function(){this._viewPools.reset(),this._stageItemsPools.reset()},t.prototype._requestView=function(){return this._viewPools.add()},t.prototype._render=function(t,e){var i=this._device;i.setFrameBuffer(t._framebuffer),i.setViewport(t._rect.x,t._rect.y,t._rect.w,t._rect.h);var n={};t._clearFlags&o.default.CLEAR_COLOR&&(n.color=[t._color.r,t._color.g,t._color.b,t._color.a]),t._clearFlags&o.default.CLEAR_DEPTH&&(n.depth=t._depth),t._clearFlags&o.default.CLEAR_STENCIL&&(n.stencil=t._stencil),i.clear(n),this._drawItemsPools.reset();for(var r=0;r<e._models.length;++r){var s=e._models.data[r];if(0!=(s._cullingMask&t._cullingMask)){var a=this._drawItemsPools.add();s.extractDrawItem(a)}}d.reset();for(var c=0;c<t._stages.length;++c){var l=t._stages[c],h=this._stageItemsPools.add();h.reset();for(var u=0;u<this._drawItemsPools.length;++u){var _=this._drawItemsPools.data[u],f=_.effect.getTechnique(l);if(f){var p=h.add();p.model=_.model,p.node=_.node,p.ia=_.ia,p.effect=_.effect,p.defines=_.defines,p.technique=f,p.sortKey=-1,p.uniforms=_.uniforms}}var m=d.add();m.stage=l,m.items=h}for(var y=0;y<d.length;++y){var v=d.data[y];(0,this._stage2fn[v.stage])(t,v.items)}},t.prototype._setProperty=function(t){var e=this._device,i=t.value;if(void 0===i&&(i=t.val),void 0===i&&(i=this._type2defaultValue[t.type]),void 0!==i)if(t.type===o.default.PARAM_TEXTURE_2D||t.type===o.default.PARAM_TEXTURE_CUBE)if(Array.isArray(i)){if(i.length>t.count)return void console.error("Failed to set property ["+t.name+"] : The length of texture array ["+i.length+"] is bigger than ["+t.count+"].");for(var n=S.add(),r=0;r<i.length;++r)n[r]=this._allocTextureUnit();e.setTextureArray(t.name,i,n)}else e.setTexture(t.name,i,this._allocTextureUnit());else t.directly?e.setUniformDirectly(t.name,i):e.setUniform(t.name,i);else console.warn("Failed to set technique property "+t.name+", value not found.")},t.prototype._draw=function(t){var e=this._device,i=this._programLib,n=t.node,r=t.ia,s=t.uniforms,o=t.technique,c=t.defines,l=t.effect;p.reset(),m.reset(),y.reset(),v.reset(),g.reset(),x.reset(),C.reset(),A.reset(),b.reset(),S.reset(),n.getWorldMatrix(f),e.setUniform("cc_matWorld",a.mat4.array(g.add(),f)),a.mat4.invert(f,f),a.mat4.transpose(f,f),e.setUniform("cc_matWorldIT",a.mat4.array(g.add(),f));for(var u=0;u<s.length;u++){var _=s[u];for(var d in _)this._setProperty(_[d])}for(var T=0;T<o._passes.length;++T){var w=o._passes[T],E=r.count;r._vertexBuffer&&e.setVertexBuffer(0,r._vertexBuffer),r._indexBuffer&&e.setIndexBuffer(r._indexBuffer),e.setPrimitiveType(r._primitiveType);var B=i.getProgram(w._programName,c,l._name);e.setProgram(B),e.setCullMode(w._cullMode),w._blend&&(e.enableBlend(),e.setBlendFuncSep(w._blendSrc,w._blendDst,w._blendSrcAlpha,w._blendDstAlpha),e.setBlendEqSep(w._blendEq,w._blendAlphaEq),e.setBlendColor32(w._blendColor)),w._depthTest&&(e.enableDepthTest(),e.setDepthFunc(w._depthFunc)),w._depthWrite&&e.enableDepthWrite(),e.setStencilTest(w._stencilTest),w._stencilTest===h.default.STENCIL_ENABLE&&(e.setStencilFuncFront(w._stencilFuncFront,w._stencilRefFront,w._stencilMaskFront),e.setStencilOpFront(w._stencilFailOpFront,w._stencilZFailOpFront,w._stencilZPassOpFront,w._stencilWriteMaskFront),e.setStencilFuncBack(w._stencilFuncBack,w._stencilRefBack,w._stencilMaskBack),e.setStencilOpBack(w._stencilFailOpBack,w._stencilZFailOpBack,w._stencilZPassOpBack,w._stencilWriteMaskBack)),e.draw(r._start,E),this._resetTextuerUnit()}},t})());i.default=T,e.exports=i.default}),{"../../core/vmath":274,"../enums":303,"../gfx":308,"../memop":320,"./program-lib":300,"./view":302}],297:[(function(t,e,i){"use strict";i.__esModule=!0;var n=c(t("../config")),r=c(t("../core/pass")),s=c(t("../core/technique")),o=t("../types"),a=c(t("../enums"));c(t("../gfx"));function c(t){return t&&t.__esModule?t:{default:t}}function l(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}var h=(function(){function t(e,i){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:[];l(this,t),this._name=e,this._techniques=i,this._properties=n,this._defines=r,this._dependencies=s}return t.prototype.clear=function(){this._techniques.length=0,this._properties={},this._defines={}},t.prototype.setCullMode=function(t){for(var e=this._techniques[0].passes,i=0;i<e.length;i++)e[i].setCullMode(t)},t.prototype.setDepth=function(t,e,i){for(var n=this._techniques[0].passes,r=0;r<n.length;r++)n[r].setDepth(t,e,i)},t.prototype.setBlend=function(t,e,i,n,r,s,o,a){for(var c=this._techniques[0].passes,l=0;l<c.length;l++){c[l].setBlend(t,e,i,n,r,s,o,a)}},t.prototype.setStencilEnabled=function(t){for(var e=this._techniques[0].passes,i=0;i<e.length;i++)e[i].setStencilEnabled(t)},t.prototype.setStencil=function(t,e,i,n,r,s,o,a){for(var c=this._techniques[0].passes,l=0;l<c.length;++l){var h=c[l];h.setStencilFront(t,e,i,n,r,s,o,a),h.setStencilBack(t,e,i,n,r,s,o,a)}},t.prototype.getTechnique=function(t){var e=n.default.stageID(t);if(-1===e)return null;for(var i=0;i<this._techniques.length;++i){var r=this._techniques[i];if(r.stageIDs&e)return r}return null},t.prototype.getProperty=function(t){return this._properties[t]?this._properties[t].value:(cc.warn(this._name+" : Failed to get property "+t+", property not found."),null)},t.prototype.setProperty=function(t,e){var i=this._properties[t];if(i)if(Array.isArray(e)){var n=i.value;if(n.length!==e.length)return void cc.warn(this._name+" : Failed to set property "+t+", property length not correct.");for(var r=0;r<e.length;r++)n[r]=e[r]}else i.type===a.default.PARAM_TEXTURE_2D?i.value=e?e.getImpl():null:e.array?e.array(i.value):i.value=e;else cc.warn(this._name+" : Failed to set property "+t+", property not found.")},t.prototype.updateHash=function(t){},t.prototype.getDefine=function(t){var e=this._defines[t];return void 0===e&&cc.warn(this._name+" : Failed to get define "+t+", define not found."),e},t.prototype.define=function(t,e){void 0!==this._defines[t]?this._defines[t]=e:cc.warn(this._name+" : Failed to set define "+t+", define not found.")},t.prototype.extractProperties=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return Object.assign(t,this._properties),t},t.prototype.extractDefines=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return Object.assign(t,this._defines),t},t.prototype.extractDependencies=function(){for(var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=0;e<this._dependencies.length;++e){var i=this._dependencies[e];t[i.define]=i.extension}return t},t.prototype.clone=function(){var t=this.extractDefines({}),e=this.extractDependencies({}),i={},n=this._properties;for(var r in n){var s=n[r],o=i[r]={},a=s.value;for(var c in Array.isArray(a)?o.value=a.concat():ArrayBuffer.isView(a)?o.value=new a.__proto__.constructor(a):o.value=a,s)"value"!==c&&(o[c]=s[c])}for(var l=[],h=0;h<this._techniques.length;h++)l.push(this._techniques[h].clone());return new cc.Effect(this._name,l,i,t,e)},t})(),u=function(t){var e=[],i=cc.renderer._forward._programLib;return t.techniques.forEach((function(t){t.passes.forEach((function(t){e.push(i.getTemplate(t.program))}))})),e};function _(t,e){var i={},n={};t.techniques.forEach((function(t){t.passes.forEach((function(t){Object.assign(n,t.properties)}))}));var r=function(r){for(var s=n[r],o=void 0,c=0;c<e.length&&!(o=e[c].uniforms.find((function(t){return t.name===r})));c++);if(!o)return cc.warn(t.name+" : illegal property: "+r+", myabe defined a not used property"),"continue";i[r]=Object.assign({},s),i[r].value=s.type===a.default.PARAM_TEXTURE_2D?null:new Float32Array(s.value)};for(var s in n)r(s);return i}h.parseTechniques=function(t){for(var e=t.techniques.length,i=new Array(e),n=0;n<e;++n){var o=t.techniques[n];o.stages||(o.stages=["opaque"]);for(var a=o.passes.length,c=new Array(a),l=0;l<a;++l){var h=o.passes[l];c[l]=new r.default(h.program),h.rasterizerState&&c[l].setCullMode(h.rasterizerState.cullMode);var u=h.blendState&&h.blendState.targets[0];u&&c[l].setBlend(u.blend,u.blendEq,u.blendSrc,u.blendDst,u.blendAlphaEq,u.blendSrcAlpha,u.blendDstAlpha,u.blendColor);var _=h.depthStencilState;_&&(c[l].setDepth(_.depthTest,_.depthWrite,_.depthFunc),c[l].setStencilFront(_.stencilTest,_.stencilFuncFront,_.stencilRefFront,_.stencilMaskFront,_.stencilFailOpFront,_.stencilZFailOpFront,_.stencilZPassOpFront,_.stencilWriteMaskFront),c[l].setStencilBack(_.stencilTest,_.stencilFuncBack,_.stencilRefBack,_.stencilMaskBack,_.stencilFailOpBack,_.stencilZFailOpBack,_.stencilZPassOpBack,_.stencilWriteMaskBack))}i[n]=new s.default(o.stages,c,o.layer)}return i},h.parseEffect=function(t){var e=h.parseTechniques(t),i=u(t),n=_(t,i),r={},s={};i.forEach((function(t){t.uniforms.forEach((function(t){var e=t.name,i=r[e]=Object.assign({},t);n[e]?i.value=n[e].value:i.value=o.enums2default[t.type]})),t.defines.forEach((function(t){s[t.name]=o.enums2default[t.type]}))}));var a=i.reduce((function(t,e){return t.concat(e.extensions)}),[]);return a=a.map((function(t){return Object.assign({},t)})),new cc.Effect(t.name,e,r,s,a,t)},cc.Effect=h,i.default=h,e.exports=i.default}),{"../config":295,"../core/pass":299,"../core/technique":301,"../enums":303,"../gfx":308,"../types":331}],298:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n=(function(){function t(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}})(),r=(function(t){return t&&t.__esModule?t:{default:t}})(t("../gfx"));function s(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}var o=(function(){function t(e,i){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:r.default.PT_TRIANGLES;s(this,t),this._vertexBuffer=e,this._indexBuffer=i,this._primitiveType=n,this._start=0,this._count=-1}return n(t,[{key:"count",get:function(){return-1!==this._count?this._count:this._indexBuffer?this._indexBuffer.count:this._vertexBuffer.count}}]),t})();i.default=o,e.exports=i.default}),{"../gfx":308}],299:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n=(function(t){return t&&t.__esModule?t:{default:t}})(t("../gfx"));function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}var s=(function(){function t(e){r(this,t),this._programName=e,this._cullMode=n.default.CULL_BACK,this._blend=!1,this._blendEq=n.default.BLEND_FUNC_ADD,this._blendAlphaEq=n.default.BLEND_FUNC_ADD,this._blendSrc=n.default.BLEND_SRC_ALPHA,this._blendDst=n.default.BLEND_ONE_MINUS_SRC_ALPHA,this._blendSrcAlpha=n.default.BLEND_SRC_ALPHA,this._blendDstAlpha=n.default.BLEND_ONE_MINUS_SRC_ALPHA,this._blendColor=4294967295,this._depthTest=!1,this._depthWrite=!1,this._depthFunc=n.default.DS_FUNC_LESS,this._stencilTest=n.default.STENCIL_INHERIT,this._stencilFuncFront=n.default.DS_FUNC_ALWAYS,this._stencilRefFront=0,this._stencilMaskFront=255,this._stencilFailOpFront=n.default.STENCIL_OP_KEEP,this._stencilZFailOpFront=n.default.STENCIL_OP_KEEP,this._stencilZPassOpFront=n.default.STENCIL_OP_KEEP,this._stencilWriteMaskFront=255,this._stencilFuncBack=n.default.DS_FUNC_ALWAYS,this._stencilRefBack=0,this._stencilMaskBack=255,this._stencilFailOpBack=n.default.STENCIL_OP_KEEP,this._stencilZFailOpBack=n.default.STENCIL_OP_KEEP,this._stencilZPassOpBack=n.default.STENCIL_OP_KEEP,this._stencilWriteMaskBack=255}return t.prototype.setCullMode=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:n.default.CULL_BACK;this._cullMode=t},t.prototype.setBlend=function(){var t=arguments.length>0&&void 0!==arguments[0]&&arguments[0],e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:n.default.BLEND_FUNC_ADD,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:n.default.BLEND_SRC_ALPHA,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:n.default.BLEND_ONE_MINUS_SRC_ALPHA,s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:n.default.BLEND_FUNC_ADD,o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:n.default.BLEND_SRC_ALPHA,a=arguments.length>6&&void 0!==arguments[6]?arguments[6]:n.default.BLEND_ONE_MINUS_SRC_ALPHA,c=arguments.length>7&&void 0!==arguments[7]?arguments[7]:4294967295;this._blend=t,this._blendEq=e,this._blendSrc=i,this._blendDst=r,this._blendAlphaEq=s,this._blendSrcAlpha=o,this._blendDstAlpha=a,this._blendColor=c},t.prototype.setDepth=function(){var t=arguments.length>0&&void 0!==arguments[0]&&arguments[0],e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:n.default.DS_FUNC_LESS;this._depthTest=t,this._depthWrite=e,this._depthFunc=i},t.prototype.setStencilFront=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:n.default.STENCIL_INHERIT,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:n.default.DS_FUNC_ALWAYS,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:255,s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:n.default.STENCIL_OP_KEEP,o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:n.default.STENCIL_OP_KEEP,a=arguments.length>6&&void 0!==arguments[6]?arguments[6]:n.default.STENCIL_OP_KEEP,c=arguments.length>7&&void 0!==arguments[7]?arguments[7]:255;this._stencilTest=t,this._stencilFuncFront=e,this._stencilRefFront=i,this._stencilMaskFront=r,this._stencilFailOpFront=s,this._stencilZFailOpFront=o,this._stencilZPassOpFront=a,this._stencilWriteMaskFront=c},t.prototype.setStencilEnabled=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:n.default.STENCIL_INHERIT;this._stencilTest=t},t.prototype.setStencilBack=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:n.default.STENCIL_INHERIT,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:n.default.DS_FUNC_ALWAYS,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:255,s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:n.default.STENCIL_OP_KEEP,o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:n.default.STENCIL_OP_KEEP,a=arguments.length>6&&void 0!==arguments[6]?arguments[6]:n.default.STENCIL_OP_KEEP,c=arguments.length>7&&void 0!==arguments[7]?arguments[7]:255;this._stencilTest=t,this._stencilFuncBack=e,this._stencilRefBack=i,this._stencilMaskBack=r,this._stencilFailOpBack=s,this._stencilZFailOpBack=o,this._stencilZPassOpBack=a,this._stencilWriteMaskBack=c},t.prototype.clone=function(){var e=new t(this._programName);return Object.assign(e,this),e},t})();i.default=s,e.exports=i.default}),{"../gfx":308}],300:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n=(function(t){return t&&t.__esModule?t:{default:t}})(t("../gfx"));function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}var s=0;function o(t){for(var e=[],i={},n=t.length-1;n>=0;n--){var r=t[n];for(var s in r){var o=r[s];void 0!==o&&(void 0===i[s]&&("number"!=typeof o&&(o=o?1:0),i[s]=o,e.push("#define "+s+" "+o)))}}return e.join("\n")+"\n"}function a(t,e){for(var i={},n=t,r=e.length-1;r>=0;r--){var s=e[r];for(var o in s){var a=s[o];void 0!==a&&(void 0===i[o]&&Number.isInteger(a)&&(i[o]=a))}}for(var c in i){var l=new RegExp(c,"g");n=n.replace(l,i[c])}return n}function c(t){return t.replace(/#pragma for (\w+) in range\(\s*(\d+)\s*,\s*(\d+)\s*\)([\s\S]+?)#pragma endFor/g,(function(t,e,i,n,r){var s="",o=parseInt(i),a=parseInt(n);(o.isNaN||a.isNaN)&&console.error("Unroll For Loops Error: begin and end of range must be an int num.");for(var c=o;c<a;++c)s+=r.replace(new RegExp("{"+e+"}","g"),c);return s}))}var l=(function(){function t(e){r(this,t),this._device=e,this._templates={},this._cache={}}return t.prototype.clear=function(){this._templates={},this._cache={}},t.prototype.define=function(t){var e=t.name,i=t.defines,n=t.glsl1||t,r=n.vert,o=n.frag;if(!this._templates[e]){for(var a=++s,c=0,l=0;l<i.length;++l){var h=i[l],u=1;if("number"===h.type){var _=h.range||[];h.min=_[0]||0,h.max=_[1]||4,u=Math.ceil(Math.log2(h.max-h.min)),h._map=function(t){return t-this.min<<this._offset}.bind(h)}else h._map=function(t){return t?1<<this._offset:0}.bind(h);c+=u,h._offset=c}var f=t.uniforms||[];if(t.samplers)for(var d=0;d<t.samplers.length;d++)f.push(t.samplers[d]);if(t.blocks)for(var p=0;p<t.blocks.length;p++)for(var m=t.blocks[p].defines,y=t.blocks[p].members,v=0;v<y.length;v++)f.push({defines:m,name:y[v].name,type:y[v].type});this._templates[e]={id:a,name:e,vert:r,frag:o,defines:i,attributes:t.attributes,uniforms:f,extensions:t.extensions}}},t.prototype.getTemplate=function(t){return this._templates[t]},t.prototype.hasProgram=function(t){return void 0!==this._templates[t]},t.prototype.getKey=function(t,e){for(var i=this._templates[t],n=0,r=0;r<i.defines.length;++r){var s=i.defines[r],o=this._getValueFromDefineList(s.name,e);void 0!==o&&(n|=s._map(o))}return i.id+":"+n},t.prototype.getProgram=function(t,e,i){var r=this.getKey(t,e),s=this._cache[r];if(s)return s;var l=this._templates[t],h=o(e),u=a(l.vert,e);u=h+c(u);var _=a(l.frag,e);_=h+c(_);var f=(s=new n.default.Program(this._device,{vert:u,frag:_})).link();if(f){var d=u.split("\n"),p=_.split("\n"),m=Object.keys(e).length;f.forEach((function(t){var e=t.line-1,n=t.line-m,r=("vs"===t.type?d:p)[e],s=t.info||"Failed to compile "+t.type+" "+t.fileID+" (ln "+n+"): \n "+t.message+": \n "+r;cc.error(i+" : "+s)}))}return this._cache[r]=s,s},t.prototype._getValueFromDefineList=function(t,e){for(var i=void 0,n=e.length-1;n>=0;n--)if(void 0!==(i=e[n][t]))return i},t})();i.default=l,e.exports=i.default}),{"../gfx":308}],301:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n=(function(){function t(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}})(),r=(function(t){return t&&t.__esModule?t:{default:t}})(t("../config"));function s(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}var o=0,a=(function(){function t(e,i){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;s(this,t),this._id=o++,this._stages=e,this._stageIDs=r.default.stageIDs(e),this._passes=i,this._layer=n}return t.prototype.setStages=function(t){this._stageIDs=r.default.stageIDs(t)},t.prototype.clone=function(){for(var e=[],i=0;i<this._passes.length;i++)e.push(this._passes[i].clone());return new t(this._stages,e,this._layer)},n(t,[{key:"passes",get:function(){return this._passes}},{key:"stageIDs",get:function(){return this._stageIDs}}]),t})();i.default=a,e.exports=i.default}),{"../config":295}],302:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n=t("../../core/vmath"),r=(function(t){return t&&t.__esModule?t:{default:t}})(t("../enums"));function s(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}var o=n.mat4.create(),a=0,c=(function(){function t(){s(this,t),this._id=a++,this._priority=0,this._rect={x:0,y:0,w:1,h:1},this._color=n.color4.create(.3,.3,.3,1),this._depth=1,this._stencil=0,this._clearFlags=r.default.CLEAR_COLOR|r.default.CLEAR_DEPTH,this._clearModel=null,this._matView=n.mat4.create(),this._matProj=n.mat4.create(),this._matViewProj=n.mat4.create(),this._matInvViewProj=n.mat4.create(),this._stages=[],this._cullingByID=!1,this._framebuffer=null,this._shadowLight=null,this._cullingMask=4294967295}return t.prototype.getForward=function(t){var e=this._matView.m;return n.vec3.set(t,-e[2],-e[6],-e[10])},t.prototype.getPosition=function(t){return n.mat4.invert(o,this._matView),n.mat4.getTranslation(t,o)},t})();i.default=c,e.exports=i.default}),{"../../core/vmath":274,"../enums":303}],303:[(function(t,e,i){"use strict";i.__esModule=!0;var n=t("./build/mappings");i.default={PROJ_PERSPECTIVE:0,PROJ_ORTHO:1,LIGHT_DIRECTIONAL:0,LIGHT_POINT:1,LIGHT_SPOT:2,LIGHT_AMBIENT:3,SHADOW_NONE:0,SHADOW_HARD:1,SHADOW_SOFT:2,PARAM_INT:n.typeMap.int,PARAM_INT2:n.typeMap.ivec2,PARAM_INT3:n.typeMap.ivec3,PARAM_INT4:n.typeMap.ivec4,PARAM_FLOAT:n.typeMap.float,PARAM_FLOAT2:n.typeMap.vec2,PARAM_FLOAT3:n.typeMap.vec3,PARAM_FLOAT4:n.typeMap.vec4,PARAM_MAT2:n.typeMap.mat2,PARAM_MAT3:n.typeMap.mat3,PARAM_MAT4:n.typeMap.mat4,PARAM_TEXTURE_2D:n.typeMap.sampler2D,PARAM_TEXTURE_CUBE:n.typeMap.samplerCube,CLEAR_COLOR:1,CLEAR_DEPTH:2,CLEAR_STENCIL:4,CLEAR_SKYBOX:8,BUFFER_VIEW_INT8:0,BUFFER_VIEW_UINT8:1,BUFFER_VIEW_INT16:2,BUFFER_VIEW_UINT16:3,BUFFER_VIEW_INT32:4,BUFFER_VIEW_UINT32:5,BUFFER_VIEW_FLOAT32:6},e.exports=i.default}),{"./build/mappings":294}],304:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n,r,s=(function(){function t(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}})(),o=h(t("./state")),a=t("./enums"),c=h(t("./texture-2d")),l=h(t("./texture-cube"));function h(t){return t&&t.__esModule?t:{default:t}}function u(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}var _=((n={})[5124]=function(t,e,i){t.uniform1i(e,i)},n[5126]=function(t,e,i){t.uniform1f(e,i)},n[35664]=function(t,e,i){t.uniform2fv(e,i)},n[35665]=function(t,e,i){t.uniform3fv(e,i)},n[35666]=function(t,e,i){t.uniform4fv(e,i)},n[35667]=function(t,e,i){t.uniform2iv(e,i)},n[35668]=function(t,e,i){t.uniform3iv(e,i)},n[35669]=function(t,e,i){t.uniform4iv(e,i)},n[35670]=function(t,e,i){t.uniform1i(e,i)},n[35671]=function(t,e,i){t.uniform2iv(e,i)},n[35672]=function(t,e,i){t.uniform3iv(e,i)},n[35673]=function(t,e,i){t.uniform4iv(e,i)},n[35674]=function(t,e,i){t.uniformMatrix2fv(e,!1,i)},n[35675]=function(t,e,i){t.uniformMatrix3fv(e,!1,i)},n[35676]=function(t,e,i){t.uniformMatrix4fv(e,!1,i)},n[35678]=function(t,e,i){t.uniform1i(e,i)},n[35680]=function(t,e,i){t.uniform1i(e,i)},n),f=((r={})[5124]=function(t,e,i){t.uniform1iv(e,i)},r[5126]=function(t,e,i){t.uniform1fv(e,i)},r[35664]=function(t,e,i){t.uniform2fv(e,i)},r[35665]=function(t,e,i){t.uniform3fv(e,i)},r[35666]=function(t,e,i){t.uniform4fv(e,i)},r[35667]=function(t,e,i){t.uniform2iv(e,i)},r[35668]=function(t,e,i){t.uniform3iv(e,i)},r[35669]=function(t,e,i){t.uniform4iv(e,i)},r[35670]=function(t,e,i){t.uniform1iv(e,i)},r[35671]=function(t,e,i){t.uniform2iv(e,i)},r[35672]=function(t,e,i){t.uniform3iv(e,i)},r[35673]=function(t,e,i){t.uniform4iv(e,i)},r[35674]=function(t,e,i){t.uniformMatrix2fv(e,!1,i)},r[35675]=function(t,e,i){t.uniformMatrix3fv(e,!1,i)},r[35676]=function(t,e,i){t.uniformMatrix4fv(e,!1,i)},r[35678]=function(t,e,i){t.uniform1iv(e,i)},r[35680]=function(t,e,i){t.uniform1iv(e,i)},r);function d(t,e,i){if(e.blend!==i.blend)return i.blend?(t.enable(t.BLEND),i.blendSrc!==a.enums.BLEND_CONSTANT_COLOR&&i.blendSrc!==a.enums.BLEND_ONE_MINUS_CONSTANT_COLOR&&i.blendDst!==a.enums.BLEND_CONSTANT_COLOR&&i.blendDst!==a.enums.BLEND_ONE_MINUS_CONSTANT_COLOR||t.blendColor((i.blendColor>>24)/255,(i.blendColor>>16&255)/255,(i.blendColor>>8&255)/255,(255&i.blendColor)/255),void(i.blendSep?(t.blendFuncSeparate(i.blendSrc,i.blendDst,i.blendSrcAlpha,i.blendDstAlpha),t.blendEquationSeparate(i.blendEq,i.blendAlphaEq)):(t.blendFunc(i.blendSrc,i.blendDst),t.blendEquation(i.blendEq)))):void t.disable(t.BLEND);!1!==i.blend&&(e.blendColor!==i.blendColor&&t.blendColor((i.blendColor>>24)/255,(i.blendColor>>16&255)/255,(i.blendColor>>8&255)/255,(255&i.blendColor)/255),e.blendSep===i.blendSep?i.blendSep?(e.blendSrc===i.blendSrc&&e.blendDst===i.blendDst&&e.blendSrcAlpha===i.blendSrcAlpha&&e.blendDstAlpha===i.blendDstAlpha||t.blendFuncSeparate(i.blendSrc,i.blendDst,i.blendSrcAlpha,i.blendDstAlpha),e.blendEq===i.blendEq&&e.blendAlphaEq===i.blendAlphaEq||t.blendEquationSeparate(i.blendEq,i.blendAlphaEq)):(e.blendSrc===i.blendSrc&&e.blendDst===i.blendDst||t.blendFunc(i.blendSrc,i.blendDst),e.blendEq!==i.blendEq&&t.blendEquation(i.blendEq)):i.blendSep?(t.blendFuncSeparate(i.blendSrc,i.blendDst,i.blendSrcAlpha,i.blendDstAlpha),t.blendEquationSeparate(i.blendEq,i.blendAlphaEq)):(t.blendFunc(i.blendSrc,i.blendDst),t.blendEquation(i.blendEq)))}function p(t,e,i){if(e.depthTest!==i.depthTest)return i.depthTest?(t.enable(t.DEPTH_TEST),t.depthFunc(i.depthFunc),void t.depthMask(i.depthWrite)):void t.disable(t.DEPTH_TEST);e.depthWrite!==i.depthWrite&&t.depthMask(i.depthWrite),!1!==i.depthTest?e.depthFunc!==i.depthFunc&&t.depthFunc(i.depthFunc):i.depthWrite&&(i.depthTest=!0,i.depthFunc=a.enums.DS_FUNC_ALWAYS,t.enable(t.DEPTH_TEST),t.depthFunc(i.depthFunc))}function m(t,e,i){if(i.stencilTest!==a.enums.STENCIL_INHERIT)return i.stencilTest!==e.stencilTest?i.stencilTest===a.enums.STENCIL_DISABLE?void t.disable(t.STENCIL_TEST):(t.enable(t.STENCIL_TEST),void(i.stencilSep?(t.stencilFuncSeparate(t.FRONT,i.stencilFuncFront,i.stencilRefFront,i.stencilMaskFront),t.stencilMaskSeparate(t.FRONT,i.stencilWriteMaskFront),t.stencilOpSeparate(t.FRONT,i.stencilFailOpFront,i.stencilZFailOpFront,i.stencilZPassOpFront),t.stencilFuncSeparate(t.BACK,i.stencilFuncBack,i.stencilRefBack,i.stencilMaskBack),t.stencilMaskSeparate(t.BACK,i.stencilWriteMaskBack),t.stencilOpSeparate(t.BACK,i.stencilFailOpBack,i.stencilZFailOpBack,i.stencilZPassOpBack)):(t.stencilFunc(i.stencilFuncFront,i.stencilRefFront,i.stencilMaskFront),t.stencilMask(i.stencilWriteMaskFront),t.stencilOp(i.stencilFailOpFront,i.stencilZFailOpFront,i.stencilZPassOpFront)))):void(i.stencilTest!==a.enums.STENCIL_DISABLE&&(e.stencilSep===i.stencilSep?i.stencilSep?(e.stencilFuncFront===i.stencilFuncFront&&e.stencilRefFront===i.stencilRefFront&&e.stencilMaskFront===i.stencilMaskFront||t.stencilFuncSeparate(t.FRONT,i.stencilFuncFront,i.stencilRefFront,i.stencilMaskFront),e.stencilWriteMaskFront!==i.stencilWriteMaskFront&&t.stencilMaskSeparate(t.FRONT,i.stencilWriteMaskFront),e.stencilFailOpFront===i.stencilFailOpFront&&e.stencilZFailOpFront===i.stencilZFailOpFront&&e.stencilZPassOpFront===i.stencilZPassOpFront||t.stencilOpSeparate(t.FRONT,i.stencilFailOpFront,i.stencilZFailOpFront,i.stencilZPassOpFront),e.stencilFuncBack===i.stencilFuncBack&&e.stencilRefBack===i.stencilRefBack&&e.stencilMaskBack===i.stencilMaskBack||t.stencilFuncSeparate(t.BACK,i.stencilFuncBack,i.stencilRefBack,i.stencilMaskBack),e.stencilWriteMaskBack!==i.stencilWriteMaskBack&&t.stencilMaskSeparate(t.BACK,i.stencilWriteMaskBack),e.stencilFailOpBack===i.stencilFailOpBack&&e.stencilZFailOpBack===i.stencilZFailOpBack&&e.stencilZPassOpBack===i.stencilZPassOpBack||t.stencilOpSeparate(t.BACK,i.stencilFailOpBack,i.stencilZFailOpBack,i.stencilZPassOpBack)):(e.stencilFuncFront===i.stencilFuncFront&&e.stencilRefFront===i.stencilRefFront&&e.stencilMaskFront===i.stencilMaskFront||t.stencilFunc(i.stencilFuncFront,i.stencilRefFront,i.stencilMaskFront),e.stencilWriteMaskFront!==i.stencilWriteMaskFront&&t.stencilMask(i.stencilWriteMaskFront),e.stencilFailOpFront===i.stencilFailOpFront&&e.stencilZFailOpFront===i.stencilZFailOpFront&&e.stencilZPassOpFront===i.stencilZPassOpFront||t.stencilOp(i.stencilFailOpFront,i.stencilZFailOpFront,i.stencilZPassOpFront)):i.stencilSep?(t.stencilFuncSeparate(t.FRONT,i.stencilFuncFront,i.stencilRefFront,i.stencilMaskFront),t.stencilMaskSeparate(t.FRONT,i.stencilWriteMaskFront),t.stencilOpSeparate(t.FRONT,i.stencilFailOpFront,i.stencilZFailOpFront,i.stencilZPassOpFront),t.stencilFuncSeparate(t.BACK,i.stencilFuncBack,i.stencilRefBack,i.stencilMaskBack),t.stencilMaskSeparate(t.BACK,i.stencilWriteMaskBack),t.stencilOpSeparate(t.BACK,i.stencilFailOpBack,i.stencilZFailOpBack,i.stencilZPassOpBack)):(t.stencilFunc(i.stencilFuncFront,i.stencilRefFront,i.stencilMaskFront),t.stencilMask(i.stencilWriteMaskFront),t.stencilOp(i.stencilFailOpFront,i.stencilZFailOpFront,i.stencilZPassOpFront))))}function y(t,e,i){e.cullMode!==i.cullMode&&(i.cullMode!==a.enums.CULL_NONE?(t.enable(t.CULL_FACE),t.cullFace(i.cullMode)):t.disable(t.CULL_FACE))}function v(t,e,i,n){var r=!1;if(-1!==n.maxStream){if(i.maxStream!==n.maxStream)r=!0;else if(i.program!==n.program)r=!0;else for(var s=0;s<n.maxStream+1;++s)if(i.vertexBuffers[s]!==n.vertexBuffers[s]||i.vertexBufferOffsets[s]!==n.vertexBufferOffsets[s]){r=!0;break}if(r){for(var o=0;o<t._caps.maxVertexAttribs;++o)t._newAttributes[o]=0;for(var a=0;a<n.maxStream+1;++a){var c=n.vertexBuffers[a],l=n.vertexBufferOffsets[a];if(c&&-1!==c._glID){e.bindBuffer(e.ARRAY_BUFFER,c._glID);for(var h=0;h<n.program._attributes.length;++h){var u=n.program._attributes[h],_=c._format.element(u.name);_?(0===t._enabledAttributes[u.location]&&(e.enableVertexAttribArray(u.location),t._enabledAttributes[u.location]=1),t._newAttributes[u.location]=1,e.vertexAttribPointer(u.location,_.num,_.type,_.normalize,_.stride,_.offset+l*_.stride)):console.warn("Can not find vertex attribute: "+u.name)}}}for(var f=0;f<t._caps.maxVertexAttribs;++f)t._enabledAttributes[f]!==t._newAttributes[f]&&(e.disableVertexAttribArray(f),t._enabledAttributes[f]=0)}}}function g(t,e,i){for(var n=0;n<i.maxTextureSlot+1;++n)if(e.textureUnits[n]!==i.textureUnits[n]){var r=i.textureUnits[n];r&&-1!==r._glID&&(t.activeTexture(t.TEXTURE0+n),t.bindTexture(r._target,r._glID))}}function x(t,e,i){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0;i instanceof c.default?t.framebufferTexture2D(t.FRAMEBUFFER,e,t.TEXTURE_2D,i._glID,0):i instanceof l.default?t.framebufferTexture2D(t.FRAMEBUFFER,e,t.TEXTURE_CUBE_MAP_POSITIVE_X+n,i._glID,0):t.framebufferRenderbuffer(t.FRAMEBUFFER,e,t.RENDERBUFFER,i._glID)}var C=(function(){function t(e,i){u(this,t);var n=void 0;void 0===(i=i||{}).alpha&&(i.alpha=!1),void 0===i.stencil&&(i.stencil=!0),void 0===i.depth&&(i.depth=!0),void 0===i.antialias&&(i.antialias=!1),void 0===i.preserveDrawingBuffer&&(i.preserveDrawingBuffer=!1);try{n=e.getContext("webgl",i)||e.getContext("experimental-webgl",i)||e.getContext("webkit-3d",i)||e.getContext("moz-webgl",i)}catch(t){return void console.error(t)}n||console.error("This device does not support webgl"),this._gl=n,this._extensions={},this._caps={},this._stats={texture:0,vb:0,ib:0,drawcalls:0},this._initExtensions(["EXT_texture_filter_anisotropic","EXT_shader_texture_lod","OES_standard_derivatives","OES_texture_float","OES_texture_float_linear","OES_texture_half_float","OES_texture_half_float_linear","OES_vertex_array_object","WEBGL_compressed_texture_atc","WEBGL_compressed_texture_etc","WEBGL_compressed_texture_etc1","WEBGL_compressed_texture_pvrtc","WEBGL_compressed_texture_s3tc","WEBGL_depth_texture","WEBGL_draw_buffers"]),this._initCaps(),this._initStates(),o.default.initDefault(this),this._current=new o.default(this),this._next=new o.default(this),this._uniforms={},this._vx=this._vy=this._vw=this._vh=0,this._sx=this._sy=this._sw=this._sh=0,this._framebuffer=null,this._enabledAttributes=new Array(this._caps.maxVertexAttribs),this._newAttributes=new Array(this._caps.maxVertexAttribs);for(var r=0;r<this._caps.maxVertexAttribs;++r)this._enabledAttributes[r]=0,this._newAttributes[r]=0}return s(t,[{key:"caps",get:function(){return this._caps}}]),t.prototype._initExtensions=function(t){for(var e=this._gl,i=0;i<t.length;++i)for(var n=t[i],r=["","WEBKIT_","MOZ_"],s=0;s<r.length;s++)try{var o=e.getExtension(r[s]+n);if(o){this._extensions[n]=o;break}}catch(t){console.error(t)}},t.prototype._initCaps=function(){var t=this._gl,e=this.ext("WEBGL_draw_buffers");this._caps.maxVertexStreams=4,this._caps.maxVertexTextures=t.getParameter(t.MAX_VERTEX_TEXTURE_IMAGE_UNITS),this._caps.maxFragUniforms=t.getParameter(t.MAX_FRAGMENT_UNIFORM_VECTORS),this._caps.maxTextureUnits=t.getParameter(t.MAX_TEXTURE_IMAGE_UNITS),this._caps.maxVertexAttribs=t.getParameter(t.MAX_VERTEX_ATTRIBS),this._caps.maxTextureSize=t.getParameter(t.MAX_TEXTURE_SIZE),this._caps.maxDrawBuffers=e?t.getParameter(e.MAX_DRAW_BUFFERS_WEBGL):1,this._caps.maxColorAttachments=e?t.getParameter(e.MAX_COLOR_ATTACHMENTS_WEBGL):1},t.prototype._initStates=function(){var t=this._gl;t.disable(t.BLEND),t.blendFunc(t.ONE,t.ZERO),t.blendEquation(t.FUNC_ADD),t.blendColor(1,1,1,1),t.colorMask(!0,!0,!0,!0),t.enable(t.CULL_FACE),t.cullFace(t.BACK),t.disable(t.DEPTH_TEST),t.depthFunc(t.LESS),t.depthMask(!1),t.disable(t.POLYGON_OFFSET_FILL),t.depthRange(0,1),t.disable(t.STENCIL_TEST),t.stencilFunc(t.ALWAYS,0,255),t.stencilMask(255),t.stencilOp(t.KEEP,t.KEEP,t.KEEP),t.clearDepth(1),t.clearColor(0,0,0,0),t.clearStencil(0),t.disable(t.SCISSOR_TEST)},t.prototype._restoreTexture=function(t){var e=this._gl,i=this._current.textureUnits[t];i&&-1!==i._glID?e.bindTexture(i._target,i._glID):e.bindTexture(e.TEXTURE_2D,null)},t.prototype._restoreIndexBuffer=function(){var t=this._gl,e=this._current.indexBuffer;e&&-1!==e._glID?t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,e._glID):t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,null)},t.prototype.ext=function(t){return this._extensions[t]},t.prototype.allowFloatTexture=function(){return null!=this.ext("OES_texture_float")},t.prototype.setFrameBuffer=function(t){if(this._framebuffer!==t){this._framebuffer=t;var e=this._gl;if(null!==t){e.bindFramebuffer(e.FRAMEBUFFER,t._glID);for(var i=t._colors.length,n=0;n<i;++n){var r=t._colors[n];x(e,e.COLOR_ATTACHMENT0+n,r)}for(var s=i;s<this._caps.maxColorAttachments;++s)e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0+s,e.TEXTURE_2D,null,0);t._depth&&x(e,e.DEPTH_ATTACHMENT,t._depth),t._stencil&&x(e,e.STENCIL_ATTACHMENT,t._stencil),t._depthStencil&&x(e,e.DEPTH_STENCIL_ATTACHMENT,t._depthStencil)}else e.bindFramebuffer(e.FRAMEBUFFER,null)}},t.prototype.setViewport=function(t,e,i,n){this._vx===t&&this._vy===e&&this._vw===i&&this._vh===n||(this._gl.viewport(t,e,i,n),this._vx=t,this._vy=e,this._vw=i,this._vh=n)},t.prototype.setScissor=function(t,e,i,n){this._sx===t&&this._sy===e&&this._sw===i&&this._sh===n||(this._gl.scissor(t,e,i,n),this._sx=t,this._sy=e,this._sw=i,this._sh=n)},t.prototype.clear=function(t){if(void 0!==t.color||void 0!==t.depth||void 0!==t.stencil){var e=this._gl,i=0;void 0!==t.color&&(i|=e.COLOR_BUFFER_BIT,e.clearColor(t.color[0],t.color[1],t.color[2],t.color[3])),void 0!==t.depth&&(i|=e.DEPTH_BUFFER_BIT,e.clearDepth(t.depth),e.enable(e.DEPTH_TEST),e.depthMask(!0),e.depthFunc(e.ALWAYS)),void 0!==t.stencil&&(i|=e.STENCIL_BUFFER_BIT,e.clearStencil(t.stencil)),e.clear(i),void 0!==t.depth&&(!1===this._current.depthTest?e.disable(e.DEPTH_TEST):(!1===this._current.depthWrite&&e.depthMask(!1),this._current.depthFunc!==a.enums.DS_FUNC_ALWAYS&&e.depthFunc(this._current.depthFunc)))}},t.prototype.enableBlend=function(){this._next.blend=!0},t.prototype.enableDepthTest=function(){this._next.depthTest=!0},t.prototype.enableDepthWrite=function(){this._next.depthWrite=!0},t.prototype.setStencilTest=function(t){this._next.stencilTest=t},t.prototype.setStencilFunc=function(t,e,i){this._next.stencilSep=!1,this._next.stencilFuncFront=this._next.stencilFuncBack=t,this._next.stencilRefFront=this._next.stencilRefBack=e,this._next.stencilMaskFront=this._next.stencilMaskBack=i},t.prototype.setStencilFuncFront=function(t,e,i){this._next.stencilSep=!0,this._next.stencilFuncFront=t,this._next.stencilRefFront=e,this._next.stencilMaskFront=i},t.prototype.setStencilFuncBack=function(t,e,i){this._next.stencilSep=!0,this._next.stencilFuncBack=t,this._next.stencilRefBack=e,this._next.stencilMaskBack=i},t.prototype.setStencilOp=function(t,e,i,n){this._next.stencilFailOpFront=this._next.stencilFailOpBack=t,this._next.stencilZFailOpFront=this._next.stencilZFailOpBack=e,this._next.stencilZPassOpFront=this._next.stencilZPassOpBack=i,this._next.stencilWriteMaskFront=this._next.stencilWriteMaskBack=n},t.prototype.setStencilOpFront=function(t,e,i,n){this._next.stencilSep=!0,this._next.stencilFailOpFront=t,this._next.stencilZFailOpFront=e,this._next.stencilZPassOpFront=i,this._next.stencilWriteMaskFront=n},t.prototype.setStencilOpBack=function(t,e,i,n){this._next.stencilSep=!0,this._next.stencilFailOpBack=t,this._next.stencilZFailOpBack=e,this._next.stencilZPassOpBack=i,this._next.stencilWriteMaskBack=n},t.prototype.setDepthFunc=function(t){this._next.depthFunc=t},t.prototype.setBlendColor32=function(t){this._next.blendColor=t},t.prototype.setBlendColor=function(t,e,i,n){this._next.blendColor=(255*t<<24|255*e<<16|255*i<<8|255*n)>>>0},t.prototype.setBlendFunc=function(t,e){this._next.blendSep=!1,this._next.blendSrc=t,this._next.blendDst=e},t.prototype.setBlendFuncSep=function(t,e,i,n){this._next.blendSep=!0,this._next.blendSrc=t,this._next.blendDst=e,this._next.blendSrcAlpha=i,this._next.blendDstAlpha=n},t.prototype.setBlendEq=function(t){this._next.blendSep=!1,this._next.blendEq=t},t.prototype.setBlendEqSep=function(t,e){this._next.blendSep=!0,this._next.blendEq=t,this._next.blendAlphaEq=e},t.prototype.setCullMode=function(t){this._next.cullMode=t},t.prototype.setVertexBuffer=function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;this._next.vertexBuffers[t]=e,this._next.vertexBufferOffsets[t]=i,this._next.maxStream<t&&(this._next.maxStream=t)},t.prototype.setIndexBuffer=function(t){this._next.indexBuffer=t},t.prototype.setProgram=function(t){this._next.program=t},t.prototype.setTexture=function(t,e,i){i>=this._caps.maxTextureUnits?console.warn("Can not set texture "+t+" at stage "+i+", max texture exceed: "+this._caps.maxTextureUnits):(this._next.textureUnits[i]=e,this.setUniform(t,i),this._next.maxTextureSlot<i&&(this._next.maxTextureSlot=i))},t.prototype.setTextureArray=function(t,e,i){var n=e.length;if(n>=this._caps.maxTextureUnits)console.warn("Can not set "+n+" textures for "+t+", max texture exceed: "+this._caps.maxTextureUnits);else{for(var r=0;r<n;++r){var s=i[r];this._next.textureUnits[s]=e[r]}this.setUniform(t,i)}},t.prototype.setUniform=function(t,e){var i=this._uniforms[t],n=!1,r=!1,s=!1,o=!1;do{if(!i)break;if(s=Array.isArray(e)||e instanceof Float32Array,o=e instanceof Int32Array,r=s||o,i.isArray!==r)break;if(i.isArray&&i.value.length!==e.length)break;n=!0}while(0);if(n){var a=i.value,c=!1;if(i.isArray)for(var l=0,h=a.length;l<h;l++)a[l]!==e[l]&&(c=!0,a[l]=e[l]);else a!==e&&(c=!0,i.value=e);c&&(i.dirty=!0)}else{var u=e;s?u=new Float32Array(e):o&&(u=new Int32Array(e)),i={dirty:!0,value:u,isArray:r}}this._uniforms[t]=i},t.prototype.setUniformDirectly=function(t,e){var i=this._uniforms[t];i||(this._uniforms[t]=i={}),i.dirty=!0,i.value=e},t.prototype.setPrimitiveType=function(t){this._next.primitiveType=t},t.prototype.resetDrawCalls=function(){this._stats.drawcalls=0},t.prototype.getDrawCalls=function(){return this._stats.drawcalls},t.prototype.draw=function(t,e){var i=this._gl,n=this._current,r=this._next;d(i,n,r),p(i,n,r),m(i,n,r),y(i,n,r),v(this,i,n,r),n.indexBuffer!==r.indexBuffer&&i.bindBuffer(i.ELEMENT_ARRAY_BUFFER,r.indexBuffer&&-1!==r.indexBuffer._glID?r.indexBuffer._glID:null);var s=!1;n.program!==r.program&&(r.program._linked?i.useProgram(r.program._glID):console.warn("Failed to use program: has not linked yet."),s=!0),g(i,n,r);for(var o=0;o<r.program._uniforms.length;++o){var a=r.program._uniforms[o],c=this._uniforms[a.name];if(c&&(s||c.dirty)){c.dirty=!1;var l=void 0===a.size?_[a.type]:f[a.type];l?l(i,a.location,c.value):console.warn("Can not find commit function for uniform "+a.name)}}e&&(r.indexBuffer?i.drawElements(this._next.primitiveType,e,r.indexBuffer._format,t*r.indexBuffer._bytesPerIndex):i.drawArrays(this._next.primitiveType,t,e)),this._stats.drawcalls++,n.set(r),r.reset()},t})();i.default=C,e.exports=i.default}),{"./enums":305,"./state":312,"./texture-2d":313,"./texture-cube":314}],305:[(function(t,e,i){"use strict";i.__esModule=!0,i.attrTypeBytes=function(t){if(t===s.ATTR_TYPE_INT8)return 1;if(t===s.ATTR_TYPE_UINT8)return 1;if(t===s.ATTR_TYPE_INT16)return 2;if(t===s.ATTR_TYPE_UINT16)return 2;if(t===s.ATTR_TYPE_INT32)return 4;if(t===s.ATTR_TYPE_UINT32)return 4;if(t===s.ATTR_TYPE_FLOAT32)return 4;return console.warn("Unknown ATTR_TYPE: "+t),0},i.glFilter=function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:-1,r=n[e][i+1];if(void 0===r)return console.warn("Unknown FILTER: "+e),-1===i?t.LINEAR:t.LINEAR_MIPMAP_LINEAR;return r},i.glTextureFmt=function(t){var e=r[t];if(void 0===e)return console.warn("Unknown TEXTURE_FMT: "+t),r[s.TEXTURE_FMT_RGBA8];return e};var n=[[9728,9984,9986],[9729,9985,9987]],r=[{format:6407,internalFormat:33776,pixelType:null},{format:6408,internalFormat:33777,pixelType:null},{format:6408,internalFormat:33778,pixelType:null},{format:6408,internalFormat:33779,pixelType:null},{format:6407,internalFormat:36196,pixelType:null},{format:6407,internalFormat:35841,pixelType:null},{format:6408,internalFormat:35843,pixelType:null},{format:6407,internalFormat:35840,pixelType:null},{format:6408,internalFormat:35842,pixelType:null},{format:6406,internalFormat:6406,pixelType:5121},{format:6409,internalFormat:6409,pixelType:5121},{format:6410,internalFormat:6410,pixelType:5121},{format:6407,internalFormat:6407,pixelType:33635},{format:6408,internalFormat:6408,pixelType:32820},{format:6408,internalFormat:6408,pixelType:32819},{format:6407,internalFormat:6407,pixelType:5121},{format:6408,internalFormat:6408,pixelType:5121},{format:6407,internalFormat:6407,pixelType:36193},{format:6408,internalFormat:6408,pixelType:36193},{format:6407,internalFormat:6407,pixelType:5126},{format:6408,internalFormat:6408,pixelType:5126},{format:null,internalFormat:null,pixelType:null},{format:null,internalFormat:null,pixelType:null},{format:null,internalFormat:null,pixelType:null},{format:null,internalFormat:null,pixelType:null},{format:6402,internalFormat:6402,pixelType:5123},{format:6402,internalFormat:6402,pixelType:5125},{format:6402,internalFormat:6402,pixelType:5125},{format:6407,internalFormat:37492,pixelType:null},{format:6408,internalFormat:37496,pixelType:null}],s=i.enums={USAGE_STATIC:35044,USAGE_DYNAMIC:35048,USAGE_STREAM:35040,INDEX_FMT_UINT8:5121,INDEX_FMT_UINT16:5123,INDEX_FMT_UINT32:5125,ATTR_POSITION:"a_position",ATTR_NORMAL:"a_normal",ATTR_TANGENT:"a_tangent",ATTR_BITANGENT:"a_bitangent",ATTR_WEIGHTS:"a_weights",ATTR_JOINTS:"a_joints",ATTR_COLOR:"a_color",ATTR_COLOR0:"a_color0",ATTR_COLOR1:"a_color1",ATTR_UV:"a_uv",ATTR_UV0:"a_uv0",ATTR_UV1:"a_uv1",ATTR_UV2:"a_uv2",ATTR_UV3:"a_uv3",ATTR_UV4:"a_uv4",ATTR_UV5:"a_uv5",ATTR_UV6:"a_uv6",ATTR_UV7:"a_uv7",ATTR_TYPE_INT8:5120,ATTR_TYPE_UINT8:5121,ATTR_TYPE_INT16:5122,ATTR_TYPE_UINT16:5123,ATTR_TYPE_INT32:5124,ATTR_TYPE_UINT32:5125,ATTR_TYPE_FLOAT32:5126,FILTER_NEAREST:0,FILTER_LINEAR:1,WRAP_REPEAT:10497,WRAP_CLAMP:33071,WRAP_MIRROR:33648,TEXTURE_FMT_RGB_DXT1:0,TEXTURE_FMT_RGBA_DXT1:1,TEXTURE_FMT_RGBA_DXT3:2,TEXTURE_FMT_RGBA_DXT5:3,TEXTURE_FMT_RGB_ETC1:4,TEXTURE_FMT_RGB_PVRTC_2BPPV1:5,TEXTURE_FMT_RGBA_PVRTC_2BPPV1:6,TEXTURE_FMT_RGB_PVRTC_4BPPV1:7,TEXTURE_FMT_RGBA_PVRTC_4BPPV1:8,TEXTURE_FMT_A8:9,TEXTURE_FMT_L8:10,TEXTURE_FMT_L8_A8:11,TEXTURE_FMT_R5_G6_B5:12,TEXTURE_FMT_R5_G5_B5_A1:13,TEXTURE_FMT_R4_G4_B4_A4:14,TEXTURE_FMT_RGB8:15,TEXTURE_FMT_RGBA8:16,TEXTURE_FMT_RGB16F:17,TEXTURE_FMT_RGBA16F:18,TEXTURE_FMT_RGB32F:19,TEXTURE_FMT_RGBA32F:20,TEXTURE_FMT_R32F:21,TEXTURE_FMT_111110F:22,TEXTURE_FMT_SRGB:23,TEXTURE_FMT_SRGBA:24,TEXTURE_FMT_D16:25,TEXTURE_FMT_D32:26,TEXTURE_FMT_D24S8:27,TEXTURE_FMT_RGB_ETC2:28,TEXTURE_FMT_RGBA_ETC2:29,DS_FUNC_NEVER:512,DS_FUNC_LESS:513,DS_FUNC_EQUAL:514,DS_FUNC_LEQUAL:515,DS_FUNC_GREATER:516,DS_FUNC_NOTEQUAL:517,DS_FUNC_GEQUAL:518,DS_FUNC_ALWAYS:519,RB_FMT_RGBA4:32854,RB_FMT_RGB5_A1:32855,RB_FMT_RGB565:36194,RB_FMT_D16:33189,RB_FMT_S8:36168,RB_FMT_D24S8:34041,BLEND_FUNC_ADD:32774,BLEND_FUNC_SUBTRACT:32778,BLEND_FUNC_REVERSE_SUBTRACT:32779,BLEND_ZERO:0,BLEND_ONE:1,BLEND_SRC_COLOR:768,BLEND_ONE_MINUS_SRC_COLOR:769,BLEND_DST_COLOR:774,BLEND_ONE_MINUS_DST_COLOR:775,BLEND_SRC_ALPHA:770,BLEND_ONE_MINUS_SRC_ALPHA:771,BLEND_DST_ALPHA:772,BLEND_ONE_MINUS_DST_ALPHA:773,BLEND_CONSTANT_COLOR:32769,BLEND_ONE_MINUS_CONSTANT_COLOR:32770,BLEND_CONSTANT_ALPHA:32771,BLEND_ONE_MINUS_CONSTANT_ALPHA:32772,BLEND_SRC_ALPHA_SATURATE:776,STENCIL_DISABLE:0,STENCIL_ENABLE:1,STENCIL_INHERIT:2,STENCIL_OP_KEEP:7680,STENCIL_OP_ZERO:0,STENCIL_OP_REPLACE:7681,STENCIL_OP_INCR:7682,STENCIL_OP_INCR_WRAP:34055,STENCIL_OP_DECR:7683,STENCIL_OP_DECR_WRAP:34056,STENCIL_OP_INVERT:5386,CULL_NONE:0,CULL_FRONT:1028,CULL_BACK:1029,CULL_FRONT_AND_BACK:1032,PT_POINTS:0,PT_LINES:1,PT_LINE_LOOP:2,PT_LINE_STRIP:3,PT_TRIANGLES:4,PT_TRIANGLE_STRIP:5,PT_TRIANGLE_FAN:6}}),{}],306:[(function(t,e,i){"use strict";function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}i.__esModule=!0;var r=(function(){function t(e,i,r,s){n(this,t),this._device=e,this._width=i,this._height=r,this._colors=s.colors||[],this._depth=s.depth||null,this._stencil=s.stencil||null,this._depthStencil=s.depthStencil||null,this._glID=e._gl.createFramebuffer()}return t.prototype.destroy=function(){null!==this._glID?(this._device._gl.deleteFramebuffer(this._glID),this._glID=null):console.error("The frame-buffer already destroyed")},t.prototype.getHandle=function(){return this._glID},t})();i.default=r,e.exports=i.default}),{}],307:[(function(t,e,i){"use strict";i.__esModule=!0;var n,r=(function(){function t(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}})(),s=t("./enums");function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}var a=((n={})[s.enums.INDEX_FMT_UINT8]=1,n[s.enums.INDEX_FMT_UINT16]=2,n[s.enums.INDEX_FMT_UINT32]=4,n),c=(function(){function t(e,i,n,r){o(this,t),this._device=e,this._format=i,this._usage=n,this._bytesPerIndex=a[i],this._bytes=r.byteLength,this._numIndices=this._bytes/this._bytesPerIndex,this._needExpandDataStore=!0,this._glID=e._gl.createBuffer(),this.update(0,r),e._stats.ib+=this._bytes}return t.prototype.destroy=function(){-1!==this._glID?(this._device._gl.deleteBuffer(this._glID),this._device._stats.ib-=this.bytes,this._glID=-1):console.error("The buffer already destroyed")},t.prototype.update=function(t,e){if(-1!==this._glID){if(0!==e.byteLength){if(t+e.byteLength>this._bytes){if(t)return void console.error("Failed to update data, bytes exceed.");this._needExpandDataStore=!0,this._bytes=t+e.byteLength,this._numIndices=this._bytes/this._bytesPerIndex}var i=this._device._gl,n=this._usage;i.bindBuffer(i.ELEMENT_ARRAY_BUFFER,this._glID),this._needExpandDataStore?(i.bufferData(i.ELEMENT_ARRAY_BUFFER,e,n),this._needExpandDataStore=!1):i.bufferSubData(i.ELEMENT_ARRAY_BUFFER,t,e),this._device._restoreIndexBuffer()}}else console.error("The buffer is destroyed")},t.prototype.setUsage=function(t){this._usage=t},r(t,[{key:"count",get:function(){return this._numIndices}}]),t})();c.BYTES_PER_INDEX=a,i.default=c,e.exports=i.default}),{"./enums":305}],308:[(function(t,e,i){"use strict";i.__esModule=!0;var n=t("./enums"),r=null;r={VertexFormat:t("./vertex-format"),IndexBuffer:t("./index-buffer"),VertexBuffer:t("./vertex-buffer"),Program:t("./program"),Texture:t("./texture"),Texture2D:t("./texture-2d"),TextureCube:t("./texture-cube"),RenderBuffer:t("./render-buffer"),FrameBuffer:t("./frame-buffer"),Device:t("./device"),attrTypeBytes:n.attrTypeBytes,glFilter:n.glFilter,glTextureFmt:n.glTextureFmt},Object.assign(r,n.enums),i.default=r,cc.gfx=r,e.exports=i.default}),{"./device":304,"./enums":305,"./frame-buffer":306,"./index-buffer":307,"./program":310,"./render-buffer":311,"./texture":315,"./texture-2d":313,"./texture-cube":314,"./vertex-buffer":316,"./vertex-format":317}],309:[(function(t,e,i){"use strict";i.__esModule=!0,i.isPow2=function(t){return!(t&t-1||!t)}}),{}],310:[(function(t,e,i){"use strict";i.__esModule=!0;var n=(function(){function t(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}})();function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}var s=0;function o(t,e,i){i.split("\n").forEach((function(i){if(!(i.length<5)){var n=/^ERROR:\s+(\d+):(\d+):\s*(.*)$/.exec(i);n?t.push({type:e,fileID:0|n[1],line:0|n[2],message:n[3].trim()}):i.length>0&&t.push({type:e,fileID:-1,line:0,message:i})}}))}var a=(function(){function t(e,i){r(this,t),this._device=e,this._attributes=[],this._uniforms=[],this._samplers=[],this._errors=[],this._linked=!1,this._vertSource=i.vert,this._fragSource=i.frag,this._glID=null,this._id=s++}return t.prototype.link=function(){if(!this._linked){var t=this._device._gl,e=c(t,t.VERTEX_SHADER,this._vertSource),i=c(t,t.FRAGMENT_SHADER,this._fragSource),n=t.createProgram();t.attachShader(n,e),t.attachShader(n,i),t.linkProgram(n);var r=!1,s=this._errors;if(t.getShaderParameter(e,t.COMPILE_STATUS)||(o(s,"vs",t.getShaderInfoLog(e)),r=!0),t.getShaderParameter(i,t.COMPILE_STATUS)||(o(s,"fs",t.getShaderInfoLog(i)),r=!0),t.deleteShader(e),t.deleteShader(i),r)return s;if(!t.getProgramParameter(n,t.LINK_STATUS))return s.push({info:"Failed to link shader program: "+t.getProgramInfoLog(n)}),s;this._glID=n;for(var a=t.getProgramParameter(n,t.ACTIVE_ATTRIBUTES),l=0;l<a;++l){var h=t.getActiveAttrib(n,l),u=t.getAttribLocation(n,h.name);this._attributes.push({name:h.name,location:u,type:h.type})}for(var _=t.getProgramParameter(n,t.ACTIVE_UNIFORMS),f=0;f<_;++f){var d=t.getActiveUniform(n,f),p=d.name,m=t.getUniformLocation(n,p),y="[0]"===p.substr(p.length-3);y&&(p=p.substr(0,p.length-3));var v={name:p,location:m,type:d.type,size:y?d.size:void 0};this._uniforms.push(v)}this._linked=!0}},t.prototype.destroy=function(){this._device._gl.deleteProgram(this._glID),this._linked=!1,this._glID=null,this._attributes=[],this._uniforms=[],this._samplers=[]},n(t,[{key:"id",get:function(){return this._id}}]),t})();function c(t,e,i){var n=t.createShader(e);return t.shaderSource(n,i),t.compileShader(n),n}i.default=a,e.exports=i.default}),{}],311:[(function(t,e,i){"use strict";function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}i.__esModule=!0;var r=(function(){function t(e,i,r,s){n(this,t),this._device=e,this._format=i,this._glID=e._gl.createRenderbuffer(),this.update(r,s)}return t.prototype.update=function(t,e){this._width=t,this._height=e;var i=this._device._gl;i.bindRenderbuffer(i.RENDERBUFFER,this._glID),i.renderbufferStorage(i.RENDERBUFFER,this._format,t,e),i.bindRenderbuffer(i.RENDERBUFFER,null)},t.prototype.destroy=function(){if(null!==this._glID){var t=this._device._gl;t.bindRenderbuffer(t.RENDERBUFFER,null),t.deleteRenderbuffer(this._glID),this._glID=null}else console.error("The render-buffer already destroyed")},t})();i.default=r,e.exports=i.default}),{}],312:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n=t("./enums");function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}var s={blend:!1,blendSep:!1,blendColor:4294967295,blendEq:n.enums.BLEND_FUNC_ADD,blendAlphaEq:n.enums.BLEND_FUNC_ADD,blendSrc:n.enums.BLEND_ONE,blendDst:n.enums.BLEND_ZERO,blendSrcAlpha:n.enums.BLEND_ONE,blendDstAlpha:n.enums.BLEND_ZERO,depthTest:!1,depthWrite:!1,depthFunc:n.enums.DS_FUNC_LESS,stencilTest:!1,stencilSep:!1,stencilFuncFront:n.enums.DS_FUNC_ALWAYS,stencilRefFront:0,stencilMaskFront:255,stencilFailOpFront:n.enums.STENCIL_OP_KEEP,stencilZFailOpFront:n.enums.STENCIL_OP_KEEP,stencilZPassOpFront:n.enums.STENCIL_OP_KEEP,stencilWriteMaskFront:255,stencilFuncBack:n.enums.DS_FUNC_ALWAYS,stencilRefBack:0,stencilMaskBack:255,stencilFailOpBack:n.enums.STENCIL_OP_KEEP,stencilZFailOpBack:n.enums.STENCIL_OP_KEEP,stencilZPassOpBack:n.enums.STENCIL_OP_KEEP,stencilWriteMaskBack:255,cullMode:n.enums.CULL_BACK,primitiveType:n.enums.PT_TRIANGLES,maxStream:-1,vertexBuffers:[],vertexBufferOffsets:[],indexBuffer:null,maxTextureSlot:-1,textureUnits:[],program:null},o=(function(){function t(e){r(this,t),this.vertexBuffers=new Array(e._caps.maxVertexStreams),this.vertexBufferOffsets=new Array(e._caps.maxVertexStreams),this.textureUnits=new Array(e._caps.maxTextureUnits),this.set(s)}return t.initDefault=function(t){s.vertexBuffers=new Array(t._caps.maxVertexStreams),s.vertexBufferOffsets=new Array(t._caps.maxVertexStreams),s.textureUnits=new Array(t._caps.maxTextureUnits)},t.prototype.reset=function(){this.set(s)},t.prototype.set=function(t){this.blend=t.blend,this.blendSep=t.blendSep,this.blendColor=t.blendColor,this.blendEq=t.blendEq,this.blendAlphaEq=t.blendAlphaEq,this.blendSrc=t.blendSrc,this.blendDst=t.blendDst,this.blendSrcAlpha=t.blendSrcAlpha,this.blendDstAlpha=t.blendDstAlpha,this.depthTest=t.depthTest,this.depthWrite=t.depthWrite,this.depthFunc=t.depthFunc,this.stencilTest=t.stencilTest,this.stencilSep=t.stencilSep,this.stencilFuncFront=t.stencilFuncFront,this.stencilRefFront=t.stencilRefFront,this.stencilMaskFront=t.stencilMaskFront,this.stencilFailOpFront=t.stencilFailOpFront,this.stencilZFailOpFront=t.stencilZFailOpFront,this.stencilZPassOpFront=t.stencilZPassOpFront,this.stencilWriteMaskFront=t.stencilWriteMaskFront,this.stencilFuncBack=t.stencilFuncBack,this.stencilRefBack=t.stencilRefBack,this.stencilMaskBack=t.stencilMaskBack,this.stencilFailOpBack=t.stencilFailOpBack,this.stencilZFailOpBack=t.stencilZFailOpBack,this.stencilZPassOpBack=t.stencilZPassOpBack,this.stencilWriteMaskBack=t.stencilWriteMaskBack,this.cullMode=t.cullMode,this.primitiveType=t.primitiveType,this.maxStream=t.maxStream;for(var e=0;e<t.vertexBuffers.length;++e)this.vertexBuffers[e]=t.vertexBuffers[e];for(var i=0;i<t.vertexBufferOffsets.length;++i)this.vertexBufferOffsets[i]=t.vertexBufferOffsets[i];this.indexBuffer=t.indexBuffer,this.maxTextureSlot=t.maxTextureSlot;for(var n=0;n<t.textureUnits.length;++n)this.textureUnits[n]=t.textureUnits[n];this.program=t.program},t})();i.default=o,e.exports=i.default}),{"./enums":305}],313:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n=(function(t){return t&&t.__esModule?t:{default:t}})(t("./texture")),r=t("./enums"),s=t("./misc");function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function a(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function c(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.getPrototypeOf(Object.getPrototypeOf(new Uint8Array)).constructor;var l=(function(t){function e(i,n){o(this,e);var r=a(this,t.call(this,i)),s=r._device._gl;return r._target=s.TEXTURE_2D,r._glID=s.createTexture(),n.images=n.images||[null],r.update(n),r}return c(e,t),e.prototype.update=function(t){var e=this._device._gl,i=this._genMipmap;if(t){void 0!==t.width&&(this._width=t.width),void 0!==t.height&&(this._height=t.height),void 0!==t.anisotropy&&(this._anisotropy=t.anisotropy),void 0!==t.minFilter&&(this._minFilter=t.minFilter),void 0!==t.magFilter&&(this._magFilter=t.magFilter),void 0!==t.mipFilter&&(this._mipFilter=t.mipFilter),void 0!==t.wrapS&&(this._wrapS=t.wrapS),void 0!==t.wrapT&&(this._wrapT=t.wrapT),void 0!==t.format&&(this._format=t.format,this._compressed=this._format>=r.enums.TEXTURE_FMT_RGB_DXT1&&this._format<=r.enums.TEXTURE_FMT_RGBA_PVRTC_4BPPV1||this._format>=r.enums.TEXTURE_FMT_RGB_ETC2&&this._format<=r.enums.TEXTURE_FMT_RGBA_ETC2),void 0!==t.genMipmaps&&(this._genMipmap=t.genMipmaps,i=t.genMipmaps);var n=this._device.caps.maxTextureSize||Number.MAX_VALUE,o=Math.max(t.width||0,t.height||0);if(n<o&&console.warn("The current texture size "+o+" exceeds the maximum size ["+n+"] supported on the device."),void 0!==t.images)if(t.images.length>1)i=!1,(t.width>t.height?t.width:t.height)>>t.images.length-1!=1&&console.error("texture-2d mipmap is invalid, should have a 1x1 mipmap.")}(0,s.isPow2)(this._width)&&(0,s.isPow2)(this._height)||(i=!1),e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_2D,this._glID),void 0!==t.images&&t.images.length>0&&(this._setMipmap(t.images,t.flipY,t.premultiplyAlpha),t.images.length>1&&(this._genMipmap=!0)),i&&(e.hint(e.GENERATE_MIPMAP_HINT,e.NICEST),e.generateMipmap(e.TEXTURE_2D),this._genMipmap=!0),this._setTexInfo(),this._device._restoreTexture(0)},e.prototype.updateSubImage=function(t){var e=this._device._gl,i=(0,r.glTextureFmt)(this._format);e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_2D,this._glID),this._setSubImage(i,t),this._device._restoreTexture(0)},e.prototype.updateImage=function(t){var e=this._device._gl,i=(0,r.glTextureFmt)(this._format);e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_2D,this._glID),this._setImage(i,t),this._device._restoreTexture(0)},e.prototype._setSubImage=function(t,e){var i=this._device._gl,n=e.flipY,r=e.premultiplyAlpha,s=e.image;!s||ArrayBuffer.isView(s)||s instanceof ArrayBuffer?(void 0===n?i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,!1):i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,n),void 0===r?i.pixelStorei(i.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1):i.pixelStorei(i.UNPACK_PREMULTIPLY_ALPHA_WEBGL,r),this._compressed?i.compressedTexSubImage2D(i.TEXTURE_2D,e.level,e.x,e.y,e.width,e.height,t.format,s):i.texSubImage2D(i.TEXTURE_2D,e.level,e.x,e.y,e.width,e.height,t.format,t.pixelType,s)):(void 0===n?i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,!0):i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,n),void 0===r?i.pixelStorei(i.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1):i.pixelStorei(i.UNPACK_PREMULTIPLY_ALPHA_WEBGL,r),i.texSubImage2D(i.TEXTURE_2D,e.level,e.x,e.y,t.format,t.pixelType,s))},e.prototype._setImage=function(t,e){var i=this._device._gl,n=e.flipY,r=e.premultiplyAlpha,s=e.image;!s||ArrayBuffer.isView(s)||s instanceof ArrayBuffer?(void 0===n?i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,!1):i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,n),void 0===r?i.pixelStorei(i.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1):i.pixelStorei(i.UNPACK_PREMULTIPLY_ALPHA_WEBGL,r),this._compressed?i.compressedTexImage2D(i.TEXTURE_2D,e.level,t.internalFormat,e.width,e.height,0,s):i.texImage2D(i.TEXTURE_2D,e.level,t.internalFormat,e.width,e.height,0,t.format,t.pixelType,s)):(void 0===n?i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,!0):i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,n),void 0===r?i.pixelStorei(i.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1):i.pixelStorei(i.UNPACK_PREMULTIPLY_ALPHA_WEBGL,r),i.texImage2D(i.TEXTURE_2D,e.level,t.internalFormat,t.format,t.pixelType,s))},e.prototype._setMipmap=function(t,e,i){for(var n=(0,r.glTextureFmt)(this._format),s={width:this._width,height:this._height,flipY:e,premultiplyAlpha:i,level:0,image:null},o=0;o<t.length;++o)s.level=o,s.width=this._width>>o,s.height=this._height>>o,s.image=t[o],this._setImage(n,s)},e.prototype._setTexInfo=function(){var t=this._device._gl,e=(0,s.isPow2)(this._width)&&(0,s.isPow2)(this._height);e||this._wrapS===r.enums.WRAP_CLAMP&&this._wrapT===r.enums.WRAP_CLAMP||(console.warn("WebGL1 doesn't support all wrap modes with NPOT textures"),this._wrapS=r.enums.WRAP_CLAMP,this._wrapT=r.enums.WRAP_CLAMP);var i=this._genMipmap?this._mipFilter:-1;e||-1===i||(console.warn("NPOT textures do not support mipmap filter"),i=-1),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,(0,r.glFilter)(t,this._minFilter,i)),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,(0,r.glFilter)(t,this._magFilter,-1)),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,this._wrapS),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,this._wrapT);var n=this._device.ext("EXT_texture_filter_anisotropic");n&&t.texParameteri(t.TEXTURE_2D,n.TEXTURE_MAX_ANISOTROPY_EXT,this._anisotropy)},e})(n.default);i.default=l,e.exports=i.default}),{"./enums":305,"./misc":309,"./texture":315}],314:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n=(function(t){return t&&t.__esModule?t:{default:t}})(t("./texture")),r=t("./enums"),s=t("./misc");function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function a(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function c(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}var l=(function(t){function e(i,n){o(this,e);var r=a(this,t.call(this,i)),s=r._device._gl;return r._target=s.TEXTURE_CUBE_MAP,r._glID=s.createTexture(),r.update(n),r}return c(e,t),e.prototype.update=function(t){var e=this._device._gl,i=this._genMipmaps;t&&(void 0!==t.width&&(this._width=t.width),void 0!==t.height&&(this._height=t.height),void 0!==t.anisotropy&&(this._anisotropy=t.anisotropy),void 0!==t.minFilter&&(this._minFilter=t.minFilter),void 0!==t.magFilter&&(this._magFilter=t.magFilter),void 0!==t.mipFilter&&(this._mipFilter=t.mipFilter),void 0!==t.wrapS&&(this._wrapS=t.wrapS),void 0!==t.wrapT&&(this._wrapT=t.wrapT),void 0!==t.format&&(this._format=t.format,this._compressed=this._format>=r.enums.TEXTURE_FMT_RGB_DXT1&&this._format<=r.enums.TEXTURE_FMT_RGBA_PVRTC_4BPPV1||this._format>=r.enums.TEXTURE_FMT_RGB_ETC2&&this._format<=r.enums.TEXTURE_FMT_RGBA_ETC2),void 0!==t.genMipmaps&&(this._genMipmaps=t.genMipmaps,i=t.genMipmaps),void 0!==t.images&&t.images.length>1&&(i=!1,t.width!==t.height&&console.warn("texture-cube width and height should be identical."),t.width>>t.images.length-1!=1&&console.error("texture-cube mipmap is invalid. please set mipmap as 1x1, 2x2, 4x4 ... nxn"))),(0,s.isPow2)(this._width)&&(0,s.isPow2)(this._height)||(i=!1),e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_CUBE_MAP,this._glID),void 0!==t.images&&t.images.length>0&&(this._setMipmap(t.images,t.flipY,t.premultiplyAlpha),t.images.length>1&&(this._genMipmaps=!0)),i&&(e.hint(e.GENERATE_MIPMAP_HINT,e.NICEST),e.generateMipmap(e.TEXTURE_CUBE_MAP),this._genMipmaps=!0),this._setTexInfo(),this._device._restoreTexture(0)},e.prototype.updateSubImage=function(t){var e=this._device._gl,i=(0,r.glTextureFmt)(this._format);e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_CUBE_MAP,this._glID),this._setSubImage(i,t),this._device._restoreTexture(0)},e.prototype.updateImage=function(t){var e=this._device._gl,i=(0,r.glTextureFmt)(this._format);e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_CUBE_MAP,this._glID),this._setImage(i,t),this._device._restoreTexture(0)},e.prototype._setSubImage=function(t,e){var i=this._device._gl,n=e.flipY,r=e.premultiplyAlpha,s=e.faceIndex,o=e.image;void 0===n?i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,!1):i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,n),void 0===r?i.pixelStorei(i.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1):i.pixelStorei(i.UNPACK_PREMULTIPLY_ALPHA_WEBGL,r),!o||ArrayBuffer.isView(o)||o instanceof ArrayBuffer?this._compressed?i.compressedTexSubImage2D(i.TEXTURE_CUBE_MAP_POSITIVE_X+s,e.level,e.x,e.y,e.width,e.height,t.format,o):i.texSubImage2D(i.TEXTURE_CUBE_MAP_POSITIVE_X+s,e.level,e.x,e.y,e.width,e.height,t.format,t.pixelType,o):i.texSubImage2D(i.TEXTURE_CUBE_MAP_POSITIVE_X+s,e.level,e.x,e.y,t.format,t.pixelType,o)},e.prototype._setImage=function(t,e){var i=this._device._gl,n=e.flipY,r=e.premultiplyAlpha,s=e.faceIndex,o=e.image;void 0===n?i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,!1):i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,n),void 0===r?i.pixelStorei(i.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1):i.pixelStorei(i.UNPACK_PREMULTIPLY_ALPHA_WEBGL,r),!o||ArrayBuffer.isView(o)||o instanceof ArrayBuffer?this._compressed?i.compressedTexImage2D(i.TEXTURE_CUBE_MAP_POSITIVE_X+s,e.level,t.internalFormat,e.width,e.height,0,o):i.texImage2D(i.TEXTURE_CUBE_MAP_POSITIVE_X+s,e.level,t.internalFormat,e.width,e.height,0,t.format,t.pixelType,o):i.texImage2D(i.TEXTURE_CUBE_MAP_POSITIVE_X+s,e.level,t.internalFormat,t.format,t.pixelType,o)},e.prototype._setMipmap=function(t,e,i){for(var n=(0,r.glTextureFmt)(this._format),s={width:this._width,height:this._height,faceIndex:0,flipY:e,premultiplyAlpha:i,level:0,image:null},o=0;o<t.length;++o){var a=t[o];s.level=o,s.width=this._width>>o,s.height=this._height>>o;for(var c=0;c<6;++c)s.faceIndex=c,s.image=a[c],this._setImage(n,s)}},e.prototype._setTexInfo=function(){var t=this._device._gl,e=(0,s.isPow2)(this._width)&&(0,s.isPow2)(this._height);e||this._wrapS===r.enums.WRAP_CLAMP&&this._wrapT===r.enums.WRAP_CLAMP||(console.warn("WebGL1 doesn't support all wrap modes with NPOT textures"),this._wrapS=r.enums.WRAP_CLAMP,this._wrapT=r.enums.WRAP_CLAMP);var i=this._genMipmaps?this._mipFilter:-1;e||-1===i||(console.warn("NPOT textures do not support mipmap filter"),i=-1),t.texParameteri(t.TEXTURE_CUBE_MAP,t.TEXTURE_MIN_FILTER,(0,r.glFilter)(t,this._minFilter,i)),t.texParameteri(t.TEXTURE_CUBE_MAP,t.TEXTURE_MAG_FILTER,(0,r.glFilter)(t,this._magFilter,-1)),t.texParameteri(t.TEXTURE_CUBE_MAP,t.TEXTURE_WRAP_S,this._wrapS),t.texParameteri(t.TEXTURE_CUBE_MAP,t.TEXTURE_WRAP_T,this._wrapT);var n=this._device.ext("EXT_texture_filter_anisotropic");n&&t.texParameteri(t.TEXTURE_CUBE_MAP,n.TEXTURE_MAX_ANISOTROPY_EXT,this._anisotropy)},e})(n.default);i.default=l,e.exports=i.default}),{"./enums":305,"./misc":309,"./texture":315}],315:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n=t("./enums");function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}var s=0,o=(function(){function t(e){r(this,t),this._device=e,this._width=4,this._height=4,this._genMipmaps=!1,this._compressed=!1,this._anisotropy=1,this._minFilter=n.enums.FILTER_LINEAR,this._magFilter=n.enums.FILTER_LINEAR,this._mipFilter=n.enums.FILTER_LINEAR,this._wrapS=n.enums.WRAP_REPEAT,this._wrapT=n.enums.WRAP_REPEAT,this._format=n.enums.TEXTURE_FMT_RGBA8,this._target=-1,this._id=s++}return t.prototype.destroy=function(){null!==this._glID?(this._device._gl.deleteTexture(this._glID),this._device._stats.tex-=this.bytes,this._glID=null):console.error("The texture already destroyed")},t})();i.default=o,e.exports=i.default}),{"./enums":305}],316:[(function(t,e,i){"use strict";i.__esModule=!0;var n=(function(){function t(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}})();t("./enums");function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}var s=(function(){function t(e,i,n,s){r(this,t),this._device=e,this._format=i,this._usage=n,this._bytesPerVertex=this._format._bytes,this._bytes=s.byteLength,this._numVertices=this._bytes/this._bytesPerVertex,this._needExpandDataStore=!0,this._glID=e._gl.createBuffer(),this.update(0,s),e._stats.vb+=this._bytes}return t.prototype.destroy=function(){-1!==this._glID?(this._device._gl.deleteBuffer(this._glID),this._device._stats.vb-=this.bytes,this._glID=-1):console.error("The buffer already destroyed")},t.prototype.update=function(t,e){if(-1!==this._glID){if(0!==e.byteLength){if(t+e.byteLength>this._bytes){if(t)return void console.error("Failed to update data, bytes exceed.");this._needExpandDataStore=!0,this._bytes=t+e.byteLength,this._numVertices=this._bytes/this._bytesPerVertex}var i=this._device._gl,n=this._usage;i.bindBuffer(i.ARRAY_BUFFER,this._glID),this._needExpandDataStore?(i.bufferData(i.ARRAY_BUFFER,e,n),this._needExpandDataStore=!1):i.bufferSubData(i.ARRAY_BUFFER,t,e),i.bindBuffer(i.ARRAY_BUFFER,null)}}else console.error("The buffer is destroyed")},t.prototype.getFormat=function(t){return this._format.element(t)},t.prototype.setUsage=function(t){this._usage=t},n(t,[{key:"count",get:function(){return this._numVertices}}]),t})();i.default=s,e.exports=i.default}),{"./enums":305}],317:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n=t("./enums"),r=(function(t){return t&&t.__esModule?t:{default:t}})(t("../murmurhash2_gc"));function s(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}var o=(function(){function t(e){s(this,t),this._attr2el={},this._elements=[],this._bytes=0;for(var i="",o=0,a=e.length;o<a;++o){var c=e[o],l={name:c.name,offset:this._bytes,stride:0,stream:-1,type:c.type,num:c.num,normalize:void 0!==c.normalize&&c.normalize,bytes:c.num*(0,n.attrTypeBytes)(c.type)};this._attr2el[l.name]=l,this._elements.push(l),this._bytes+=l.bytes,i+=l.name+":"+l.num+":"+l.type+":"+l.normalize}for(var h=0,u=this._elements.length;h<u;++h){this._elements[h].stride=this._bytes}this._hash=(0,r.default)(i,666)}return t.prototype.element=function(t){return this._attr2el[t]},t.prototype.getHash=function(){return this._hash},t})();i.default=o,e.exports=i.default}),{"../murmurhash2_gc":326,"./enums":305}],318:[(function(t,e,i){"use strict";function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}i.__esModule=!0;var r=(function(){function t(e,i){n(this,t),this._cursor=0,this._data=new Array(i);for(var r=0;r<i;++r)this._data[r]=e()}return t.prototype.request=function(){var t=this._data[this._cursor];return this._cursor=(this._cursor+1)%this._data.length,t},t})();i.default=r,e.exports=i.default}),{}],319:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n=(function(){function t(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}})(),r=(function(t){return t&&t.__esModule?t:{default:t}})(t("./timsort"));function s(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}var o=(function(){function t(e){s(this,t),this._count=0,this._data=new Array(e)}return t.prototype._resize=function(t){if(t>this._data.length)for(var e=this._data.length;e<t;++e)this._data[e]=void 0},t.prototype.reset=function(){for(var t=0;t<this._count;++t)this._data[t]=void 0;this._count=0},t.prototype.push=function(t){this._count>=this._data.length&&this._resize(2*this._data.length),this._data[this._count]=t,++this._count},t.prototype.pop=function(){--this._count,this._count<0&&(this._count=0);var t=this._data[this._count];return this._data[this._count]=void 0,t},t.prototype.fastRemove=function(t){if(!(t>=this._count||t<0)){var e=this._count-1;this._data[t]=this._data[e],this._data[e]=void 0,this._count-=1}},t.prototype.indexOf=function(t){return this._data.indexOf(t)},t.prototype.sort=function(t){return(0,r.default)(this._data,0,this._count,t)},n(t,[{key:"length",get:function(){return this._count}},{key:"data",get:function(){return this._data}}]),t})();i.default=o,e.exports=i.default}),{"./timsort":324}],320:[(function(t,e,i){"use strict";i.__esModule=!0;var n=t("./circular-pool");Object.defineProperty(i,"CircularPool",{enumerable:!0,get:function(){return l(n).default}});var r=t("./fixed-array");Object.defineProperty(i,"FixedArray",{enumerable:!0,get:function(){return l(r).default}});var s=t("./linked-array");Object.defineProperty(i,"LinkedArray",{enumerable:!0,get:function(){return l(s).default}});var o=t("./pool");Object.defineProperty(i,"Pool",{enumerable:!0,get:function(){return l(o).default}});var a=t("./recycle-pool");Object.defineProperty(i,"RecyclePool",{enumerable:!0,get:function(){return l(a).default}});var c=t("./typed-array-pool");function l(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(i,"TypedArrayPool",{enumerable:!0,get:function(){return l(c).default}})}),{"./circular-pool":318,"./fixed-array":319,"./linked-array":321,"./pool":322,"./recycle-pool":323,"./typed-array-pool":325}],321:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n=(function(){function t(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}})(),r=(function(t){return t&&t.__esModule?t:{default:t}})(t("./pool"));function s(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}var o=(function(){function t(e,i){s(this,t),this._fn=e,this._count=0,this._head=null,this._tail=null,this._pool=new r.default(e,i)}return t.prototype.add=function(){var t=this._pool.alloc();return this._tail?(this._tail._next=t,t._prev=this._tail):this._head=t,this._tail=t,this._count+=1,t},t.prototype.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,t._next=null,t._prev=null,this._pool.free(t),this._count-=1},t.prototype.forEach=function(t,e){var i=this._head;if(i){e&&(t=t.bind(e));for(var n=0,r=i;i;)r=i._next,t(i,n,this),i=r,++n}},n(t,[{key:"head",get:function(){return this._head}},{key:"tail",get:function(){return this._tail}},{key:"length",get:function(){return this._count}}]),t})();i.default=o,e.exports=i.default}),{"./pool":322}],322:[(function(t,e,i){"use strict";function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}i.__esModule=!0;var r=(function(){function t(e,i){n(this,t),this._fn=e,this._idx=i-1,this._frees=new Array(i);for(var r=0;r<i;++r)this._frees[r]=e()}return t.prototype._expand=function(t){var e=this._frees;this._frees=new Array(t);for(var i=t-e.length,n=0;n<i;++n)this._frees[n]=this._fn();for(var r=i,s=0;r<t;++r,++s)this._frees[r]=e[s];this._idx+=i},t.prototype.alloc=function(){this._idx<0&&this._expand(Math.round(1.2*this._frees.length)+1);var t=this._frees[this._idx];return this._frees[this._idx]=null,--this._idx,t},t.prototype.free=function(t){++this._idx,this._frees[this._idx]=t},t})();i.default=r,e.exports=i.default}),{}],323:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n=(function(){function t(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}})(),r=(function(t){return t&&t.__esModule?t:{default:t}})(t("./timsort"));function s(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}var o=(function(){function t(e,i){s(this,t),this._fn=e,this._count=0,this._data=new Array(i);for(var n=0;n<i;++n)this._data[n]=e()}return t.prototype.reset=function(){this._count=0},t.prototype.resize=function(t){if(t>this._data.length)for(var e=this._data.length;e<t;++e)this._data[e]=this._fn()},t.prototype.add=function(){return this._count>=this._data.length&&this.resize(2*this._data.length),this._data[this._count++]},t.prototype.remove=function(t){if(!(t>=this._count)){var e=this._count-1,i=this._data[t];this._data[t]=this._data[e],this._data[e]=i,this._count-=1}},t.prototype.sort=function(t){return(0,r.default)(this._data,0,this._count,t)},n(t,[{key:"length",get:function(){return this._count}},{key:"data",get:function(){return this._data}}]),t})();i.default=o,e.exports=i.default}),{"./timsort":324}],324:[(function(t,e,i){"use strict";function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}i.__esModule=!0,i.default=function(t,e,i,n){if(!Array.isArray(t))throw new TypeError("Can only sort arrays");void 0===e&&(e=0),void 0===i&&(i=t.length),void 0===n&&(n=l);var s=i-e;if(!(s<2)){var o=0;if(s<r)f(t,e,i,e+(o=u(t,e,i,n)),n);else{var a=new m(t,n),c=h(s);do{if((o=u(t,e,i,n))<c){var _=s;_>c&&(_=c),f(t,e,e+_,e+o,n),o=_}a.pushRun(e,o),a.mergeRuns(),s-=o,e+=o}while(0!==s);a.forceMergeRuns()}}};var r=32,s=7,o=256,a=[1,10,100,1e3,1e4,1e5,1e6,1e7,1e8,1e9];function c(t){return t<1e5?t<100?t<10?0:1:t<1e4?t<1e3?2:3:4:t<1e7?t<1e6?5:6:t<1e9?t<1e8?7:8:9}function l(t,e){if(t===e)return 0;if(~~t===t&&~~e===e){if(0===t||0===e)return t<e?-1:1;if(t<0||e<0){if(e>=0)return-1;if(t>=0)return 1;t=-t,e=-e}var i=c(t),n=c(e),r=0;return i<n?(t*=a[n-i-1],e/=10,r=-1):i>n&&(e*=a[i-n-1],t/=10,r=1),t===e?r:t<e?-1:1}var s=String(t),o=String(e);return s===o?0:s<o?-1:1}function h(t){for(var e=0;t>=r;)e|=1&t,t>>=1;return t+e}function u(t,e,i,n){var r=e+1;if(r===i)return 1;if(n(t[r++],t[e])<0){for(;r<i&&n(t[r],t[r-1])<0;)r++;_(t,e,r)}else for(;r<i&&n(t[r],t[r-1])>=0;)r++;return r-e}function _(t,e,i){for(i--;e<i;){var n=t[e];t[e++]=t[i],t[i--]=n}}function f(t,e,i,n,r){for(n===e&&n++;n<i;n++){for(var s=t[n],o=e,a=n;o<a;){var c=o+a>>>1;r(s,t[c])<0?a=c:o=c+1}var l=n-o;switch(l){case 3:t[o+3]=t[o+2];case 2:t[o+2]=t[o+1];case 1:t[o+1]=t[o];break;default:for(;l>0;)t[o+l]=t[o+l-1],l--}t[o]=s}}function d(t,e,i,n,r,s){var o=0,a=0,c=1;if(s(t,e[i+r])>0){for(a=n-r;c<a&&s(t,e[i+r+c])>0;)o=c,(c=1+(c<<1))<=0&&(c=a);c>a&&(c=a),o+=r,c+=r}else{for(a=r+1;c<a&&s(t,e[i+r-c])<=0;)o=c,(c=1+(c<<1))<=0&&(c=a);c>a&&(c=a);var l=o;o=r-c,c=r-l}for(o++;o<c;){var h=o+(c-o>>>1);s(t,e[i+h])>0?o=h+1:c=h}return c}function p(t,e,i,n,r,s){var o=0,a=0,c=1;if(s(t,e[i+r])<0){for(a=r+1;c<a&&s(t,e[i+r-c])<0;)o=c,(c=1+(c<<1))<=0&&(c=a);c>a&&(c=a);var l=o;o=r-c,c=r-l}else{for(a=n-r;c<a&&s(t,e[i+r+c])>=0;)o=c,(c=1+(c<<1))<=0&&(c=a);c>a&&(c=a),o+=r,c+=r}for(o++;o<c;){var h=o+(c-o>>>1);s(t,e[i+h])<0?c=h:o=h+1}return c}var m=(function(){function t(e,i){n(this,t),this.array=e,this.compare=i,this.minGallop=s,this.length=e.length,this.tmpStorageLength=o,this.length<2*o&&(this.tmpStorageLength=this.length>>>1),this.tmp=new Array(this.tmpStorageLength),this.stackLength=this.length<120?5:this.length<1542?10:this.length<119151?19:40,this.runStart=new Array(this.stackLength),this.runLength=new Array(this.stackLength),this.stackSize=0}return t.prototype.pushRun=function(t,e){this.runStart[this.stackSize]=t,this.runLength[this.stackSize]=e,this.stackSize+=1},t.prototype.mergeRuns=function(){for(;this.stackSize>1;){var t=this.stackSize-2;if(t>=1&&this.runLength[t-1]<=this.runLength[t]+this.runLength[t+1]||t>=2&&this.runLength[t-2]<=this.runLength[t]+this.runLength[t-1])this.runLength[t-1]<this.runLength[t+1]&&t--;else if(this.runLength[t]>this.runLength[t+1])break;this.mergeAt(t)}},t.prototype.forceMergeRuns=function(){for(;this.stackSize>1;){var t=this.stackSize-2;t>0&&this.runLength[t-1]<this.runLength[t+1]&&t--,this.mergeAt(t)}},t.prototype.mergeAt=function(t){var e=this.compare,i=this.array,n=this.runStart[t],r=this.runLength[t],s=this.runStart[t+1],o=this.runLength[t+1];this.runLength[t]=r+o,t===this.stackSize-3&&(this.runStart[t+1]=this.runStart[t+2],this.runLength[t+1]=this.runLength[t+2]),this.stackSize--;var a=p(i[s],i,n,r,0,e);n+=a,0!==(r-=a)&&0!==(o=d(i[n+r-1],i,s,o,o-1,e))&&(r<=o?this.mergeLow(n,r,s,o):this.mergeHigh(n,r,s,o))},t.prototype.mergeLow=function(t,e,i,n){var r=this.compare,o=this.array,a=this.tmp,c=0;for(c=0;c<e;c++)a[c]=o[t+c];var l=0,h=i,u=t;if(o[u++]=o[h++],0!=--n)if(1!==e){for(var _=this.minGallop;;){var f=0,m=0,y=!1;do{if(r(o[h],a[l])<0){if(o[u++]=o[h++],m++,f=0,0==--n){y=!0;break}}else if(o[u++]=a[l++],f++,m=0,1==--e){y=!0;break}}while((f|m)<_);if(y)break;do{if(0!==(f=p(o[h],a,l,e,0,r))){for(c=0;c<f;c++)o[u+c]=a[l+c];if(u+=f,l+=f,(e-=f)<=1){y=!0;break}}if(o[u++]=o[h++],0==--n){y=!0;break}if(0!==(m=d(a[l],o,h,n,0,r))){for(c=0;c<m;c++)o[u+c]=o[h+c];if(u+=m,h+=m,0===(n-=m)){y=!0;break}}if(o[u++]=a[l++],1==--e){y=!0;break}_--}while(f>=s||m>=s);if(y)break;_<0&&(_=0),_+=2}if(this.minGallop=_,_<1&&(this.minGallop=1),1===e){for(c=0;c<n;c++)o[u+c]=o[h+c];o[u+n]=a[l]}else{if(0===e)throw new Error("mergeLow preconditions were not respected");for(c=0;c<e;c++)o[u+c]=a[l+c]}}else{for(c=0;c<n;c++)o[u+c]=o[h+c];o[u+n]=a[l]}else for(c=0;c<e;c++)o[u+c]=a[l+c]},t.prototype.mergeHigh=function(t,e,i,n){var r=this.compare,o=this.array,a=this.tmp,c=0;for(c=0;c<n;c++)a[c]=o[i+c];var l=t+e-1,h=n-1,u=i+n-1,_=0,f=0;if(o[u--]=o[l--],0!=--e)if(1!==n){for(var m=this.minGallop;;){var y=0,v=0,g=!1;do{if(r(a[h],o[l])<0){if(o[u--]=o[l--],y++,v=0,0==--e){g=!0;break}}else if(o[u--]=a[h--],v++,y=0,1==--n){g=!0;break}}while((y|v)<m);if(g)break;do{if(0!==(y=e-p(a[h],o,t,e,e-1,r))){for(e-=y,f=(u-=y)+1,_=(l-=y)+1,c=y-1;c>=0;c--)o[f+c]=o[_+c];if(0===e){g=!0;break}}if(o[u--]=a[h--],1==--n){g=!0;break}if(0!==(v=n-d(o[l],a,0,n,n-1,r))){for(n-=v,f=(u-=v)+1,_=(h-=v)+1,c=0;c<v;c++)o[f+c]=a[_+c];if(n<=1){g=!0;break}}if(o[u--]=o[l--],0==--e){g=!0;break}m--}while(y>=s||v>=s);if(g)break;m<0&&(m=0),m+=2}if(this.minGallop=m,m<1&&(this.minGallop=1),1===n){for(f=(u-=e)+1,_=(l-=e)+1,c=e-1;c>=0;c--)o[f+c]=o[_+c];o[u]=a[h]}else{if(0===n)throw new Error("mergeHigh preconditions were not respected");for(_=u-(n-1),c=0;c<n;c++)o[_+c]=a[c]}}else{for(f=(u-=e)+1,_=(l-=e)+1,c=e-1;c>=0;c--)o[f+c]=o[_+c];o[u]=a[h]}else for(_=u-(n-1),c=0;c<n;c++)o[_+c]=a[c]},t})();e.exports=i.default}),{}],325:[(function(t,e,i){"use strict";i.__esModule=!0;for(var n=Array(8),r=0;r<8;++r)n[r]=[];function s(t){for(var e=16;e<=1<<28;e*=16)if(t<=e)return e;return 0}function o(t){var e=void 0,i=void 0;return e=(t>65535)<<4,e|=i=((t>>>=e)>255)<<3,e|=i=((t>>>=i)>15)<<2,(e|=i=((t>>>=i)>3)<<1)|(t>>>=i)>>1}function a(t){var e=s(t),i=n[o(e)>>2];return i.length>0?i.pop():new ArrayBuffer(e)}function c(t){n[o(t.byteLength)>>2].push(t)}i.default={alloc_int8:function(t){var e=new Int8Array(a(t),0,t);return e.length!==t?e.subarray(0,t):e},alloc_uint8:function(t){var e=new Uint8Array(a(t),0,t);return e.length!==t?e.subarray(0,t):e},alloc_int16:function(t){var e=new Int16Array(a(2*t),0,t);return e.length!==t?e.subarray(0,t):e},alloc_uint16:function(t){var e=new Uint16Array(a(2*t),0,t);return e.length!==t?e.subarray(0,t):e},alloc_int32:function(t){var e=new Int32Array(a(4*t),0,t);return e.length!==t?e.subarray(0,t):e},alloc_uint32:function(t){var e=new Uint32Array(a(4*t),0,t);return e.length!==t?e.subarray(0,t):e},alloc_float32:function(t){var e=new Float32Array(a(4*t),0,t);return e.length!==t?e.subarray(0,t):e},alloc_float64:function(t){var e=new Float64Array(a(8*t),0,t);return e.length!==t?e.subarray(0,t):e},alloc_dataview:function(t){var e=new DataView(a(t),0,t);return e.length!==t?e.subarray(0,t):e},free:function(t){c(t.buffer)},reset:function(){for(var t=Array(8),e=0;e<8;++e)t[e]=[]}},e.exports=i.default}),{}],326:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=function(t,e){var i,n=t.length,r=e^n,s=0;for(;n>=4;)i=1540483477*(65535&(i=255&t.charCodeAt(s)|(255&t.charCodeAt(++s))<<8|(255&t.charCodeAt(++s))<<16|(255&t.charCodeAt(++s))<<24))+((1540483477*(i>>>16)&65535)<<16),r=1540483477*(65535&r)+((1540483477*(r>>>16)&65535)<<16)^(i=1540483477*(65535&(i^=i>>>24))+((1540483477*(i>>>16)&65535)<<16)),n-=4,++s;switch(n){case 3:r^=(255&t.charCodeAt(s+2))<<16;case 2:r^=(255&t.charCodeAt(s+1))<<8;case 1:r=1540483477*(65535&(r^=255&t.charCodeAt(s)))+((1540483477*(r>>>16)&65535)<<16)}return r=1540483477*(65535&(r^=r>>>13))+((1540483477*(r>>>16)&65535)<<16),(r^=r>>>15)>>>0},e.exports=i.default}),{}],327:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n=t("../../core/vmath"),r=a(t("../core/base-renderer")),s=a(t("../enums")),o=t("../memop");function a(t){return t&&t.__esModule?t:{default:t}}function c(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function l(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function h(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}var u=new Float32Array(16),_=new Float32Array(16),f=new Float32Array(16),d=new Float32Array(4),p=new Float32Array(64),m=[],y=new Float32Array(4),v=cc.v4(0,0,0,0),g=cc.v3(0,0,0),x=cc.v3(0,0,0),C=new o.RecyclePool(function(){return new Float32Array(16)},8),A=(function(t){function e(i,n){c(this,e);var r=l(this,t.call(this,i,n));return r._time=new Float32Array(4),r._directionalLights=[],r._pointLights=[],r._spotLights=[],r._shadowLights=[],r._ambientLights=[],r._shadowMaps=[],r._shadowMapSlots=new Int32Array(4),r._numLights=0,r._defines={},r._registerStage("shadowcast",r._shadowStage.bind(r)),r._registerStage("opaque",r._opaqueStage.bind(r)),r._registerStage("transparent",r._transparentStage.bind(r)),r}return h(e,t),e.prototype.reset=function(){C.reset(),t.prototype.reset.call(this)},e.prototype.render=function(t,e){this.reset(),this._time[0]+=e,this._device.setUniform("cc_time",this._time),this._updateLights(t);for(var i=this._device._gl.canvas,n=0;n<t._cameras.length;++n){var r=this._requestView(),s=i.width,o=i.height;t._cameras.data[n].extractView(r,s,o)}this._viewPools.sort((function(t,e){return t._priority-e._priority}));for(var a=0;a<this._viewPools.length;++a){var c=this._viewPools.data[a];this._render(c,t)}},e.prototype.renderCamera=function(t,e){this.reset();var i=this._device._gl.canvas,n=i.width,r=i.height,s=this._requestView();t.extractView(s,n,r),this._render(s,e)},e.prototype._updateLights=function(t){this._directionalLights.length=0,this._pointLights.length=0,this._spotLights.length=0,this._shadowLights.length=0,this._ambientLights.length=0;for(var e=t._lights,i=0;i<e.length;++i){var n=e.data[i];if(n.update(this._device),n.shadowType!==s.default.SHADOW_NONE){this._shadowLights.push(n);var r=this._requestView();n.extractView(r,["shadowcast"])}n._type===s.default.LIGHT_DIRECTIONAL?this._directionalLights.push(n):n._type===s.default.LIGHT_POINT?this._pointLights.push(n):n._type===s.default.LIGHT_SPOT?this._spotLights.push(n):this._ambientLights.push(n)}this._updateDefines(),this._numLights=e._count},e.prototype._updateDefines=function(){var t=this._defines;t.CC_NUM_DIR_LIGHTS=Math.min(4,this._directionalLights.length),t.CC_NUM_POINT_LIGHTS=Math.min(4,this._pointLights.length),t.CC_NUM_SPOT_LIGHTS=Math.min(4,this._spotLights.length),t.CC_NUM_AMBIENT_LIGHTS=Math.min(4,this._ambientLights.length),t.CC_NUM_SHADOW_LIGHTS=Math.min(4,this._shadowLights.length)},e.prototype._submitLightsUniforms=function(){var t=this._device;if(this._directionalLights.length>0){for(var e=C.add(),i=C.add(),n=0;n<this._directionalLights.length;++n){var r=this._directionalLights[n],s=4*n;e.set(r._directionUniform,s),i.set(r._colorUniform,s)}t.setUniform("cc_dirLightDirection",e),t.setUniform("cc_dirLightColor",i)}if(this._pointLights.length>0){for(var o=C.add(),a=C.add(),c=0;c<this._pointLights.length;++c){var l=this._pointLights[c],h=4*c;o.set(l._positionUniform,h),o[h+3]=l._range,a.set(l._colorUniform,h)}t.setUniform("cc_pointLightPositionAndRange",o),t.setUniform("cc_pointLightColor",a)}if(this._spotLights.length>0){for(var u=C.add(),_=C.add(),f=C.add(),d=0;d<this._spotLights.length;++d){var p=this._spotLights[d],m=4*d;u.set(p._positionUniform,m),u[m+3]=p._range,_.set(p._directionUniform,m),_[m+3]=p._spotUniform[0],f.set(p._colorUniform,m),f[m+3]=p._spotUniform[1]}t.setUniform("cc_spotLightPositionAndRange",u),t.setUniform("cc_spotLightDirection",_),t.setUniform("cc_spotLightColor",f)}if(this._ambientLights.length>0){for(var y=C.add(),v=0;v<this._ambientLights.length;++v){var g=this._ambientLights[v],x=4*v;y.set(g._colorUniform,x)}t.setUniform("cc_ambientColor",y)}},e.prototype._submitShadowStageUniforms=function(t){var e=t._shadowLight,i=y;i[0]=e.shadowMinDepth,i[1]=e.shadowMaxDepth,i[2]=e.shadowDepthScale,i[3]=e.shadowDarkness,this._device.setUniform("cc_shadow_map_lightViewProjMatrix",n.mat4.array(f,t._matViewProj)),this._device.setUniform("cc_shadow_map_info",i),this._device.setUniform("cc_shadow_map_bias",e.shadowBias)},e.prototype._submitOtherStagesUniforms=function(){for(var t=C.add(),e=0;e<this._shadowLights.length;++e){var i=this._shadowLights[e],r=m[e];r||(r=m[e]=new Float32Array(p.buffer,16*e,16)),n.mat4.array(r,i.viewProjMatrix);var s=4*e;t[s]=i.shadowMinDepth,t[s+1]=i.shadowMaxDepth,t[s+2]=i.shadowDepthScale,t[s+3]=i.shadowDarkness}this._device.setUniform("cc_shadow_lightViewProjMatrix",p),this._device.setUniform("cc_shadow_info",t)},e.prototype._updateShaderDefines=function(t){t.defines.push(this._defines)},e.prototype._sortItems=function(t){t.sort((function(t,e){var i=t.technique,n=e.technique;return i._layer!==n._layer?i._layer-n._layer:i._passes.length!==n._passes.length?i._passes.length-n._passes.length:t.sortKey-e.sortKey}))},e.prototype._shadowStage=function(t,e){this._submitShadowStageUniforms(t);for(var i=0;i<e.length;++i){var n=e.data[i];this._programLib._getValueFromDefineList("CC_SHADOW_CASTING",n.defines)&&(this._updateShaderDefines(n),this._draw(n))}},e.prototype._drawItems=function(t,e){var i=this._shadowLights;if(0===i.length&&0===this._numLights)for(var n=0;n<e.length;++n){var r=e.data[n];this._updateShaderDefines(r),this._draw(r)}else for(var s=0;s<e.length;++s){var o=e.data[s];this._shadowMaps.length=i.length;for(var a=0;a<i.length;++a){var c=i[a];this._shadowMaps[a]=c.shadowMap,this._shadowMapSlots[a]=this._allocTextureUnit()}this._device.setTextureArray("cc_shadow_map",this._shadowMaps,this._shadowMapSlots),this._updateShaderDefines(o),this._draw(o)}},e.prototype._opaqueStage=function(t,e){t.getPosition(v),this._device.setUniform("cc_matView",n.mat4.array(u,t._matView)),this._device.setUniform("cc_matpProj",n.mat4.array(_,t._matProj)),this._device.setUniform("cc_matViewProj",n.mat4.array(f,t._matViewProj)),this._device.setUniform("cc_cameraPos",n.vec4.array(d,v)),this._submitLightsUniforms(),this._submitOtherStagesUniforms(),this._drawItems(t,e)},e.prototype._transparentStage=function(t,e){t.getPosition(v),t.getForward(g),this._device.setUniform("cc_matView",n.mat4.array(u,t._matView)),this._device.setUniform("cc_matpProj",n.mat4.array(_,t._matProj)),this._device.setUniform("cc_matViewProj",n.mat4.array(f,t._matViewProj)),this._device.setUniform("cc_cameraPos",n.vec4.array(d,v)),this._submitLightsUniforms(),this._submitOtherStagesUniforms();for(var i=0;i<e.length;++i){var r=e.data[i];r.node.getWorldPosition(x),n.vec3.sub(x,x,v),r.sortKey=-n.vec3.dot(x,g)}this._sortItems(e),this._drawItems(t,e)},e})(r.default);i.default=A,e.exports=i.default}),{"../../core/vmath":274,"../core/base-renderer":296,"../enums":303,"../memop":320}],328:[(function(t,e,i){"use strict";i.__esModule=!0,i.default=void 0;var n=(function(){function t(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}})(),r=t("../../core/vmath"),s=a(t("../../core/geom-utils")),o=a(t("../enums"));function a(t){return t&&t.__esModule?t:{default:t}}function c(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}var l=r.mat4.create(),h=r.mat4.create(),u=r.mat4.create(),_=r.mat4.create(),f=r.mat4.create(),d=cc.v3(),p=cc.v3(),m=(function(){function t(){c(this,t),this._poolID=-1,this._node=null,this._projection=o.default.PROJ_PERSPECTIVE,this._priority=0,this._color=r.color4.create(.2,.3,.47,1),this._depth=1,this._stencil=0,this._clearFlags=o.default.CLEAR_COLOR|o.default.CLEAR_DEPTH,this._clearModel=null,this._stages=[],this._framebuffer=null,this._near=.01,this._far=1e3,this._fov=Math.PI/4,this._rect={x:0,y:0,w:1,h:1},this._orthoHeight=10,this._cullingMask=4294967295}return t.prototype.setCullingMask=function(t){this._cullingMask=t},t.prototype.getNode=function(){return this._node},t.prototype.setNode=function(t){this._node=t},t.prototype.getType=function(){return this._projection},t.prototype.setType=function(t){this._projection=t},t.prototype.getPriority=function(){return this._priority},t.prototype.setPriority=function(t){this._priority=t},t.prototype.getOrthoHeight=function(){return this._orthoHeight},t.prototype.setOrthoHeight=function(t){this._orthoHeight=t},t.prototype.getFov=function(){return this._fov},t.prototype.setFov=function(t){this._fov=t},t.prototype.getNear=function(){return this._near},t.prototype.setNear=function(t){this._near=t},t.prototype.getFar=function(){return this._far},t.prototype.setFar=function(t){this._far=t},t.prototype.getColor=function(t){return r.color4.copy(t,this._color)},t.prototype.setColor=function(t,e,i,n){r.color4.set(this._color,t,e,i,n)},t.prototype.getDepth=function(){return this._depth},t.prototype.setDepth=function(t){this._depth=t},t.prototype.getStencil=function(){return this._stencil},t.prototype.setStencil=function(t){this._stencil=t},t.prototype.getClearFlags=function(){return this._clearFlags},t.prototype.setClearFlags=function(t){this._clearFlags=t},t.prototype.getRect=function(t){return t.x=this._rect.x,t.y=this._rect.y,t.w=this._rect.w,t.h=this._rect.h,t},t.prototype.setRect=function(t,e,i,n){this._rect.x=t,this._rect.y=e,this._rect.w=i,this._rect.h=n},t.prototype.getStages=function(){return this._stages},t.prototype.setStages=function(t){this._stages=t},t.prototype.getFramebuffer=function(){return this._framebuffer},t.prototype.setFrameBuffer=function(t){this._framebuffer=t},t.prototype._calcMatrices=function(t,e){this._node.getWorldRT(h),r.mat4.invert(h,h);var i=t/e;if(this._projection===o.default.PROJ_PERSPECTIVE)r.mat4.perspective(u,this._fov,i,this._near,this._far);else{var n=this._orthoHeight*i,s=this._orthoHeight;r.mat4.ortho(u,-n,n,-s,s,this._near,this._far)}r.mat4.mul(_,u,h),r.mat4.invert(f,_)},t.prototype.extractView=function(t,e,i){this._framebuffer&&(e=this._framebuffer._width,i=this._framebuffer._height),t._priority=this._priority,t._rect.x=this._rect.x*e,t._rect.y=this._rect.y*i,t._rect.w=this._rect.w*e,t._rect.h=this._rect.h*i,this.getColor(t._color),t._depth=this._depth,t._stencil=this._stencil,t._clearFlags=this._clearFlags,t._clearModel=this._clearModel,t._stages=this._stages,t._framebuffer=this._framebuffer,this._calcMatrices(e,i),r.mat4.copy(t._matView,h),r.mat4.copy(t._matProj,u),r.mat4.copy(t._matViewProj,_),r.mat4.copy(t._matInvViewProj,f),t._cullingMask=this._cullingMask},t.prototype.screenPointToRay=function(t,e,i,n,a){if(!s.default)return a;a=a||s.default.Ray.create(),this._calcMatrices(i,n);var c=this._rect.x*i,l=this._rect.y*n,h=this._rect.w*i,u=this._rect.h*n;return r.vec3.set(p,(t-c)/h*2-1,(e-l)/u*2-1,1),r.vec3.transformMat4(p,p,f),this._projection===o.default.PROJ_PERSPECTIVE?this._node.getWorldPosition(d):(r.vec3.set(d,(t-c)/h*2-1,(e-l)/u*2-1,-1),r.vec3.transformMat4(d,d,f)),s.default.Ray.fromPoints(a,d,p)},t.prototype.screenToWorld=function(t,e,i,n){this._calcMatrices(i,n);var s=this._rect.x*i,a=this._rect.y*n,c=this._rect.w*i,l=this._rect.h*n;return this._projection===o.default.PROJ_PERSPECTIVE?(r.vec3.set(t,(e.x-s)/c*2-1,(e.y-a)/l*2-1,.9999),r.vec3.transformMat4(t,t,f),this._node.getWorldPosition(d),r.vec3.lerp(t,d,t,(0,r.lerp)(this._near/this._far,1,e.z))):(r.vec3.set(t,(e.x-s)/c*2-1,(e.y-a)/l*2-1,2*e.z-1),r.vec3.transformMat4(t,t,f)),t},t.prototype.worldToScreen=function(t,e,i,n){this._calcMatrices(i,n);var s=this._rect.x*i,o=this._rect.y*n,a=this._rect.w*i,c=this._rect.h*n;return r.vec3.transformMat4(t,e,_),t.x=s+.5*(t.x+1)*a,t.y=o+.5*(t.y+1)*c,t.z=.5*t.z+.5,t},t.prototype.worldMatrixToScreen=function(t,e,i,n){this._calcMatrices(i,n),r.mat4.mul(t,_,e);var s=i/2,o=n/2;return r.mat4.identity(l),r.mat4.translate(l,l,r.vec3.set(d,s,o,0)),r.mat4.scale(l,l,r.vec3.set(d,s,o,1)),r.mat4.mul(t,l,t),t},n(t,[{key:"cullingMask",get:function(){return this._cullingMask},set:function(t){this._cullingMask=t}}]),t})();i.default=m,e.exports=i.default}),{"../../core/geom-utils":103,"../../core/vmath":274,"../enums":303}],329:[(function(t,e,i){"use strict";function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}i.__esModule=!0;var r=(function(){function t(){n(this,t),this._type="default",this._poolID=-1,this._node=null,this._inputAssembler=null,this._effect=null,this._viewID=-1,this._cameraID=-1,this._userKey=-1,this._castShadow=!1,this._boundingShape=null,this._defines=[],this._uniforms=[]}return t.prototype.setNode=function(t){this._node=t},t.prototype.setInputAssembler=function(t){this._inputAssembler=t},t.prototype.setEffect=function(t,e){this._effect=t;var i=this._defines,n=this._uniforms;i.length=0,n.length=0,t&&(i.push(t._defines),n.push(t._properties)),e&&(i.push(e._defines),n.push(e._properties))},t.prototype.setUserKey=function(t){this._userKey=t},t.prototype.extractDrawItem=function(t){t.model=this,t.node=this._node,t.ia=this._inputAssembler,t.effect=this._effect,t.defines=this._defines,t.dependencies=this._dependencies,t.uniforms=this._uniforms},t})();i.default=r,e.exports=i.default}),{}],330:[(function(t,e,i){"use strict";i.__esModule=!0;var n=t("../memop");function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}var s=(function(){function t(e){r(this,t),this._lights=new n.FixedArray(16),this._models=new n.FixedArray(16),this._cameras=new n.FixedArray(16),this._debugCamera=null,this._app=e,this._views=[]}return t.prototype._add=function(t,e){-1===e._poolID&&(t.push(e),e._poolID=t.length-1)},t.prototype._remove=function(t,e){-1!==e._poolID&&(t.data[t.length-1]._poolID=e._poolID,t.fastRemove(e._poolID),e._poolID=-1)},t.prototype.reset=function(){for(var t=0;t<this._models.length;++t){this._models.data[t]._viewID=-1}},t.prototype.setDebugCamera=function(t){this._debugCamera=t},t.prototype.getCameraCount=function(){return this._cameras.length},t.prototype.getCamera=function(t){return this._cameras.data[t]},t.prototype.addCamera=function(t){this._add(this._cameras,t)},t.prototype.removeCamera=function(t){this._remove(this._cameras,t)},t.prototype.getModelCount=function(){return this._models.length},t.prototype.getModel=function(t){return this._models.data[t]},t.prototype.addModel=function(t){this._add(this._models,t)},t.prototype.removeModel=function(t){this._remove(this._models,t)},t.prototype.getLightCount=function(){return this._lights.length},t.prototype.getLight=function(t){return this._lights.data[t]},t.prototype.addLight=function(t){this._add(this._lights,t)},t.prototype.removeLight=function(t){this._remove(this._lights,t)},t.prototype.addView=function(t){-1===this._views.indexOf(t)&&this._views.push(t)},t.prototype.removeView=function(t){var e=this._views.indexOf(t);-1!==e&&this._views.splice(e,1)},t})();i.default=s,e.exports=i.default}),{"../memop":320}],331:[(function(t,e,i){"use strict";var n,r,s,o;i.__esModule=!0,i.getClassName=i.getInstanceCtor=i.getInstanceType=i.enums2default=i.ctor2enums=void 0,i.getInspectorProps=function(t){var e={type:t.type};Object.assign(e,t.inspector),e.defines=t.defines,e.value=m(e.type)(t.value);var i=y(e.type);e.typeName=v[i]||i,"cc.Texture2D"==e.typeName&&(e.typeName="cc.Asset",e.assetType="cc.Texture2D");return e};var a=h(t("./enums")),c=t("../core/value-types"),l=h(t("../core/assets/CCTexture2D"));function h(t){return t&&t.__esModule?t:{default:t}}var u=null;u=t("./gfx/texture-2d");var _=cc.Object,f=((n={})[Boolean]=function(t){return t||!1},n[Number]=function(t){return t?ArrayBuffer.isView(t)?t[0]:t:0},n[c.Vec2]=function(t){return t?cc.v2(t[0],t[1]):cc.v2()},n[c.Vec3]=function(t){return t?cc.v3(t[0],t[1],t[2]):cc.v3()},n[c.Vec4]=function(t){return t?cc.v4(t[0],t[1],t[2],t[3]):cc.v4()},n[c.Color]=function(t){return t?cc.color(255*t[0],255*t[1],255*t[2],255*(t[3]||1)):cc.color()},n[c.Mat4]=function(t){return t?cc.mat4(t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15]):cc.mat4()},n[l.default]=function(){return null},n[_]=function(){return null},n),d=((r={})[a.default.PARAM_INT]=Number,r[a.default.PARAM_INT2]=c.Vec2,r[a.default.PARAM_INT3]=c.Vec3,r[a.default.PARAM_INT4]=c.Vec4,r[a.default.PARAM_FLOAT]=Number,r[a.default.PARAM_FLOAT2]=c.Vec2,r[a.default.PARAM_FLOAT3]=c.Vec3,r[a.default.PARAM_FLOAT4]=c.Vec4,r[a.default.PARAM_MAT4]=c.Mat4,r[a.default.PARAM_TEXTURE_2D]=l.default,r.color=c.Color,r.number=Number,r.boolean=Boolean,r.default=_,r),p=(i.ctor2enums=((s={})[Number]=a.default.PARAM_FLOAT,s[c.Vec2]=a.default.PARAM_FLOAT2,s[c.Vec3]=a.default.PARAM_FLOAT3,s[c.Vec4]=a.default.PARAM_FLOAT4,s[c.Color]=a.default.PARAM_COLOR3,s[c.Color]=a.default.PARAM_COLOR4,s[c.Mat4]=a.default.PARAM_MAT4,s[l.default]=a.default.PARAM_TEXTURE_2D,s[u]=a.default.PARAM_TEXTURE_2D,s),i.enums2default=((o={})[a.default.PARAM_INT]=new Uint32Array([0]),o[a.default.PARAM_INT2]=new Uint32Array([0,0]),o[a.default.PARAM_INT3]=new Uint32Array([0,0,0]),o[a.default.PARAM_INT4]=new Uint32Array([0,0,0,0]),o[a.default.PARAM_FLOAT]=new Float32Array([0]),o[a.default.PARAM_FLOAT2]=new Float32Array([0,0]),o[a.default.PARAM_FLOAT3]=new Float32Array([0,0,0]),o[a.default.PARAM_FLOAT4]=new Float32Array([0,0,0,0]),o[a.default.PARAM_MAT4]=cc.mat4().m,o[a.default.PARAM_TEXTURE_2D]=null,o.number=0,o.boolean=!1,o),i.getInstanceType=function(t){return d[t]||d.default}),m=i.getInstanceCtor=function(t){return f[p(t)]},y=i.getClassName=function(t){return cc.js.getClassName(p(t))},v={Number:"number",Boolean:"boolean"}}),{"../core/assets/CCTexture2D":51,"../core/value-types":263,"./enums":303,"./gfx/texture-2d":313}],332:[(function(t,e,i){"use strict";var n=cc.Class({name:"cc.TiledMapAsset",extends:cc.Asset,properties:{tmxXmlStr:"",textures:{default:[],type:[cc.Texture2D]},textureNames:[cc.String],imageLayerTextures:{default:[],type:[cc.Texture2D]},imageLayerTextureNames:[cc.String],tsxFiles:[cc.TextAsset],tsxFileNames:[cc.String]},statics:{preventDeferredLoadDependents:!0},createNode:!1});cc.TiledMapAsset=n,e.exports=n}),{}],333:[(function(t,e,i){"use strict";t("./cocos2d/core"),t("./cocos2d/animation"),t("./cocos2d/particle"),t("./cocos2d/tilemap"),t("./cocos2d/videoplayer/CCVideoPlayer"),t("./cocos2d/webview/CCWebView"),t("./cocos2d/core/components/CCStudioComponent"),t("./extensions/ccpool/CCNodePool"),t("./cocos2d/actions"),t("./extensions/spine"),t("./extensions/dragonbones"),t("./cocos2d/deprecated")}),{"./cocos2d/actions":7,"./cocos2d/animation":16,"./cocos2d/core":111,"./cocos2d/core/components/CCStudioComponent":void 0,"./cocos2d/deprecated":285,"./cocos2d/particle":291,"./cocos2d/particle/CCParticleAsset":288,"./cocos2d/tilemap":void 0,"./cocos2d/tilemap/CCTiledMapAsset":332,"./cocos2d/videoplayer/CCVideoPlayer":void 0,"./cocos2d/webview/CCWebView":void 0,"./extensions/ccpool/CCNodePool":334,"./extensions/dragonbones":void 0,"./extensions/spine":void 0}],334:[(function(t,e,i){"use strict";cc.NodePool=function(t){this.poolHandlerComp=t,this._pool=[]},cc.NodePool.prototype={constructor:cc.NodePool,size:function(){return this._pool.length},clear:function(){for(var t=this._pool.length,e=0;e<t;++e)this._pool[e].destroy();this._pool.length=0},put:function(t){if(t&&-1===this._pool.indexOf(t)){t.removeFromParent(!1);var e=this.poolHandlerComp?t.getComponent(this.poolHandlerComp):null;e&&e.unuse&&e.unuse(),this._pool.push(t)}},get:function(){var t=this._pool.length-1;if(t<0)return null;var e=this._pool[t];this._pool.length=t;var i=this.poolHandlerComp?e.getComponent(this.poolHandlerComp):null;return i&&i.reuse&&i.reuse.apply(i,arguments),e}},e.exports=cc.NodePool}),{}],335:[(function(t,e,i){"use strict";(function(t,n){"object"==typeof i&&void 0!==e?n(i):"function"==typeof define&&define.amd?define(["exports"],n):n(t.box2d={})})(void 0,(function(t){function e(t,e){return void 0!==t?t:e}var i=1e37,n=1e-5,r=n*n,s=3.14159265359,o=2,a=8,c=.008,l=2/180*s,h=2*c,u=-1;var _=(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})(),f=new _(2,3,2);function d(t,e){for(var i=[],n=0;n<t;++n)i.push(e(n));return i}function p(t,e){void 0===e&&(e=0);for(var i=[],n=0;n<t;++n)i.push(e);return i}var m=s/180,y=180/s,v=Math.abs,g=Math.min,x=Math.max;function C(t,e,i){return t<e?e:t>i?i:t}var A=isFinite;function b(t){return t*t}function S(t){return 1/Math.sqrt(t)}var T=Math.sqrt,w=Math.pow;var E=Math.cos,B=Math.sin,M=Math.acos,I=Math.asin,R=Math.atan2;var P=(function(){function t(t,e){void 0===t&&(t=0),void 0===e&&(e=0),this.x=t,this.y=e}return t.prototype.Clone=function(){return new t(this.x,this.y)},t.prototype.SetZero=function(){return this.x=0,this.y=0,this},t.prototype.Set=function(t,e){return this.x=t,this.y=e,this},t.prototype.Copy=function(t){return this.x=t.x,this.y=t.y,this},t.prototype.SelfAdd=function(t){return this.x+=t.x,this.y+=t.y,this},t.prototype.SelfAddXY=function(t,e){return this.x+=t,this.y+=e,this},t.prototype.SelfSub=function(t){return this.x-=t.x,this.y-=t.y,this},t.prototype.SelfSubXY=function(t,e){return this.x-=t,this.y-=e,this},t.prototype.SelfMul=function(t){return this.x*=t,this.y*=t,this},t.prototype.SelfMulAdd=function(t,e){return this.x+=t*e.x,this.y+=t*e.y,this},t.prototype.SelfMulSub=function(t,e){return this.x-=t*e.x,this.y-=t*e.y,this},t.prototype.Dot=function(t){return this.x*t.x+this.y*t.y},t.prototype.Cross=function(t){return this.x*t.y-this.y*t.x},t.prototype.Length=function(){var t=this.x,e=this.y;return Math.sqrt(t*t+e*e)},t.prototype.LengthSquared=function(){var t=this.x,e=this.y;return t*t+e*e},t.prototype.Normalize=function(){var t=this.Length();if(t>=n){var e=1/t;this.x*=e,this.y*=e}return t},t.prototype.SelfNormalize=function(){var t=this.Length();if(t>=n){var e=1/t;this.x*=e,this.y*=e}return this},t.prototype.SelfRotate=function(t){var e=Math.cos(t),i=Math.sin(t),n=this.x;return this.x=e*n-i*this.y,this.y=i*n+e*this.y,this},t.prototype.IsValid=function(){return isFinite(this.x)&&isFinite(this.y)},t.prototype.SelfCrossVS=function(t){var e=this.x;return this.x=t*this.y,this.y=-t*e,this},t.prototype.SelfCrossSV=function(t){var e=this.x;return this.x=-t*this.y,this.y=t*e,this},t.prototype.SelfMinV=function(t){return this.x=g(this.x,t.x),this.y=g(this.y,t.y),this},t.prototype.SelfMaxV=function(t){return this.x=x(this.x,t.x),this.y=x(this.y,t.y),this},t.prototype.SelfAbs=function(){return this.x=v(this.x),this.y=v(this.y),this},t.prototype.SelfNeg=function(){return this.x=-this.x,this.y=-this.y,this},t.prototype.SelfSkew=function(){var t=this.x;return this.x=-this.y,this.y=t,this},t.MakeArray=function(e){return d(e,(function(e){return new t}))},t.AbsV=function(t,e){return e.x=v(t.x),e.y=v(t.y),e},t.MinV=function(t,e,i){return i.x=g(t.x,e.x),i.y=g(t.y,e.y),i},t.MaxV=function(t,e,i){return i.x=x(t.x,e.x),i.y=x(t.y,e.y),i},t.ClampV=function(t,e,i,n){return n.x=C(t.x,e.x,i.x),n.y=C(t.y,e.y,i.y),n},t.RotateV=function(t,e,i){var n=t.x,r=t.y,s=Math.cos(e),o=Math.sin(e);return i.x=s*n-o*r,i.y=o*n+s*r,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 n=t.x;return i.x=e*t.y,i.y=-e*n,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 n=e.x;return i.x=-t*e.y,i.y=t*n,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,n){return n.x=t.x+e*i.x,n.y=t.y+e*i.y,n},t.SubVMulSV=function(t,e,i,n){return n.x=t.x-e*i.x,n.y=t.y-e*i.y,n},t.AddVCrossSV=function(t,e,i,n){var r=i.x;return n.x=t.x-e*i.y,n.y=t.y+e*r,n},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,n=t.y-e.y;return Math.sqrt(i*i+n*n)},t.DistanceSquaredVV=function(t,e){var i=t.x-e.x,n=t.y-e.y;return i*i+n*n},t.NegV=function(t,e){return e.x=-t.x,e.y=-t.y,e},t.ZERO=new t(0,0),t.UNITX=new t(1,0),t.UNITY=new t(0,1),t.s_t0=new t,t.s_t1=new t,t.s_t2=new t,t.s_t3=new t,t})(),D=new P(0,0),L=(function(){function t(t,e,i){void 0===t&&(t=0),void 0===e&&(e=0),void 0===i&&(i=0),this.x=t,this.y=e,this.z=i}return t.prototype.Clone=function(){return new t(this.x,this.y,this.z)},t.prototype.SetZero=function(){return this.x=0,this.y=0,this.z=0,this},t.prototype.SetXYZ=function(t,e,i){return this.x=t,this.y=e,this.z=i,this},t.prototype.Copy=function(t){return this.x=t.x,this.y=t.y,this.z=t.z,this},t.prototype.SelfNeg=function(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this},t.prototype.SelfAdd=function(t){return this.x+=t.x,this.y+=t.y,this.z+=t.z,this},t.prototype.SelfAddXYZ=function(t,e,i){return this.x+=t,this.y+=e,this.z+=i,this},t.prototype.SelfSub=function(t){return this.x-=t.x,this.y-=t.y,this.z-=t.z,this},t.prototype.SelfSubXYZ=function(t,e,i){return this.x-=t,this.y-=e,this.z-=i,this},t.prototype.SelfMul=function(t){return this.x*=t,this.y*=t,this.z*=t,this},t.DotV3V3=function(t,e){return t.x*e.x+t.y*e.y+t.z*e.z},t.CrossV3V3=function(t,e,i){var n=t.x,r=t.y,s=t.z,o=e.x,a=e.y,c=e.z;return i.x=r*c-s*a,i.y=s*o-n*c,i.z=n*a-r*o,i},t.ZERO=new t(0,0,0),t.s_t0=new t,t})(),O=(function(){function t(){this.ex=new P(1,0),this.ey=new P(0,1)}return t.prototype.Clone=function(){return(new t).Copy(this)},t.FromVV=function(e,i){return(new t).SetVV(e,i)},t.FromSSSS=function(e,i,n,r){return(new t).SetSSSS(e,i,n,r)},t.FromAngle=function(e){return(new t).SetAngle(e)},t.prototype.SetSSSS=function(t,e,i,n){return this.ex.Set(t,i),this.ey.Set(e,n),this},t.prototype.SetVV=function(t,e){return this.ex.Copy(t),this.ey.Copy(e),this},t.prototype.SetAngle=function(t){var e=Math.cos(t),i=Math.sin(t);return this.ex.Set(e,i),this.ey.Set(-i,e),this},t.prototype.Copy=function(t){return this.ex.Copy(t.ex),this.ey.Copy(t.ey),this},t.prototype.SetIdentity=function(){return this.ex.Set(1,0),this.ey.Set(0,1),this},t.prototype.SetZero=function(){return this.ex.SetZero(),this.ey.SetZero(),this},t.prototype.GetAngle=function(){return Math.atan2(this.ex.y,this.ex.x)},t.prototype.GetInverse=function(t){var e=this.ex.x,i=this.ey.x,n=this.ex.y,r=this.ey.y,s=e*r-i*n;return 0!==s&&(s=1/s),t.ex.x=s*r,t.ey.x=-s*i,t.ex.y=-s*n,t.ey.y=s*e,t},t.prototype.Solve=function(t,e,i){var n=this.ex.x,r=this.ey.x,s=this.ex.y,o=this.ey.y,a=n*o-r*s;return 0!==a&&(a=1/a),i.x=a*(o*t-r*e),i.y=a*(n*e-s*t),i},t.prototype.SelfAbs=function(){return this.ex.SelfAbs(),this.ey.SelfAbs(),this},t.prototype.SelfInv=function(){return this.GetInverse(this),this},t.prototype.SelfAddM=function(t){return this.ex.SelfAdd(t.ex),this.ey.SelfAdd(t.ey),this},t.prototype.SelfSubM=function(t){return this.ex.SelfSub(t.ex),this.ey.SelfSub(t.ey),this},t.AbsM=function(t,e){var i=t.ex,n=t.ey;return e.ex.x=v(i.x),e.ex.y=v(i.y),e.ey.x=v(n.x),e.ey.y=v(n.y),e},t.MulMV=function(t,e,i){var n=t.ex,r=t.ey,s=e.x,o=e.y;return i.x=n.x*s+r.x*o,i.y=n.y*s+r.y*o,i},t.MulTMV=function(t,e,i){var n=t.ex,r=t.ey,s=e.x,o=e.y;return i.x=n.x*s+n.y*o,i.y=r.x*s+r.y*o,i},t.AddMM=function(t,e,i){var n=t.ex,r=t.ey,s=e.ex,o=e.ey;return i.ex.x=n.x+s.x,i.ex.y=n.y+s.y,i.ey.x=r.x+o.x,i.ey.y=r.y+o.y,i},t.MulMM=function(t,e,i){var n=t.ex.x,r=t.ex.y,s=t.ey.x,o=t.ey.y,a=e.ex.x,c=e.ex.y,l=e.ey.x,h=e.ey.y;return i.ex.x=n*a+s*c,i.ex.y=r*a+o*c,i.ey.x=n*l+s*h,i.ey.y=r*l+o*h,i},t.MulTMM=function(t,e,i){var n=t.ex.x,r=t.ex.y,s=t.ey.x,o=t.ey.y,a=e.ex.x,c=e.ex.y,l=e.ey.x,h=e.ey.y;return i.ex.x=n*a+r*c,i.ex.y=s*a+o*c,i.ey.x=n*l+r*h,i.ey.y=s*l+o*h,i},t.IDENTITY=new t,t})(),V=(function(){function t(){this.ex=new L(1,0,0),this.ey=new L(0,1,0),this.ez=new L(0,0,1)}return t.prototype.Clone=function(){return(new t).Copy(this)},t.prototype.SetVVV=function(t,e,i){return this.ex.Copy(t),this.ey.Copy(e),this.ez.Copy(i),this},t.prototype.Copy=function(t){return this.ex.Copy(t.ex),this.ey.Copy(t.ey),this.ez.Copy(t.ez),this},t.prototype.SetIdentity=function(){return this.ex.SetXYZ(1,0,0),this.ey.SetXYZ(0,1,0),this.ez.SetXYZ(0,0,1),this},t.prototype.SetZero=function(){return this.ex.SetZero(),this.ey.SetZero(),this.ez.SetZero(),this},t.prototype.SelfAddM=function(t){return this.ex.SelfAdd(t.ex),this.ey.SelfAdd(t.ey),this.ez.SelfAdd(t.ez),this},t.prototype.Solve33=function(t,e,i,n){var r=this.ex.x,s=this.ex.y,o=this.ex.z,a=this.ey.x,c=this.ey.y,l=this.ey.z,h=this.ez.x,u=this.ez.y,_=this.ez.z,f=r*(c*_-l*u)+s*(l*h-a*_)+o*(a*u-c*h);return 0!==f&&(f=1/f),n.x=f*(t*(c*_-l*u)+e*(l*h-a*_)+i*(a*u-c*h)),n.y=f*(r*(e*_-i*u)+s*(i*h-t*_)+o*(t*u-e*h)),n.z=f*(r*(c*i-l*e)+s*(l*t-a*i)+o*(a*e-c*t)),n},t.prototype.Solve22=function(t,e,i){var n=this.ex.x,r=this.ey.x,s=this.ex.y,o=this.ey.y,a=n*o-r*s;return 0!==a&&(a=1/a),i.x=a*(o*t-r*e),i.y=a*(n*e-s*t),i},t.prototype.GetInverse22=function(t){var e=this.ex.x,i=this.ey.x,n=this.ex.y,r=this.ey.y,s=e*r-i*n;0!==s&&(s=1/s),t.ex.x=s*r,t.ey.x=-s*i,t.ex.z=0,t.ex.y=-s*n,t.ey.y=s*e,t.ey.z=0,t.ez.x=0,t.ez.y=0,t.ez.z=0},t.prototype.GetSymInverse33=function(t){var e=L.DotV3V3(this.ex,L.CrossV3V3(this.ey,this.ez,L.s_t0));0!==e&&(e=1/e);var i=this.ex.x,n=this.ey.x,r=this.ez.x,s=this.ey.y,o=this.ez.y,a=this.ez.z;t.ex.x=e*(s*a-o*o),t.ex.y=e*(r*o-n*a),t.ex.z=e*(n*o-r*s),t.ey.x=t.ex.y,t.ey.y=e*(i*a-r*r),t.ey.z=e*(r*n-i*o),t.ez.x=t.ex.z,t.ez.y=t.ey.z,t.ez.z=e*(i*s-n*n)},t.MulM33V3=function(t,e,i){var n=e.x,r=e.y,s=e.z;return i.x=t.ex.x*n+t.ey.x*r+t.ez.x*s,i.y=t.ex.y*n+t.ey.y*r+t.ez.y*s,i.z=t.ex.z*n+t.ey.z*r+t.ez.z*s,i},t.MulM33XYZ=function(t,e,i,n,r){return r.x=t.ex.x*e+t.ey.x*i+t.ez.x*n,r.y=t.ex.y*e+t.ey.y*i+t.ez.y*n,r.z=t.ex.z*e+t.ey.z*i+t.ez.z*n,r},t.MulM33V2=function(t,e,i){var n=e.x,r=e.y;return i.x=t.ex.x*n+t.ey.x*r,i.y=t.ex.y*n+t.ey.y*r,i},t.MulM33XY=function(t,e,i,n){return n.x=t.ex.x*e+t.ey.x*i,n.y=t.ex.y*e+t.ey.y*i,n},t.IDENTITY=new t,t})(),F=(function(){function t(t){void 0===t&&(t=0),this.s=0,this.c=1,t&&(this.s=Math.sin(t),this.c=Math.cos(t))}return t.prototype.Clone=function(){return(new t).Copy(this)},t.prototype.Copy=function(t){return this.s=t.s,this.c=t.c,this},t.prototype.SetAngle=function(t){return this.s=Math.sin(t),this.c=Math.cos(t),this},t.prototype.SetIdentity=function(){return this.s=0,this.c=1,this},t.prototype.GetAngle=function(){return Math.atan2(this.s,this.c)},t.prototype.GetXAxis=function(t){return t.x=this.c,t.y=this.s,t},t.prototype.GetYAxis=function(t){return t.x=-this.s,t.y=this.c,t},t.MulRR=function(t,e,i){var n=t.c,r=t.s,s=e.c,o=e.s;return i.s=r*s+n*o,i.c=n*s-r*o,i},t.MulTRR=function(t,e,i){var n=t.c,r=t.s,s=e.c,o=e.s;return i.s=n*o-r*s,i.c=n*s+r*o,i},t.MulRV=function(t,e,i){var n=t.c,r=t.s,s=e.x,o=e.y;return i.x=n*s-r*o,i.y=r*s+n*o,i},t.MulTRV=function(t,e,i){var n=t.c,r=t.s,s=e.x,o=e.y;return i.x=n*s+r*o,i.y=-r*s+n*o,i},t.IDENTITY=new t,t})(),N=(function(){function t(){this.p=new P,this.q=new F}return t.prototype.Clone=function(){return(new t).Copy(this)},t.prototype.Copy=function(t){return this.p.Copy(t.p),this.q.Copy(t.q),this},t.prototype.SetIdentity=function(){return this.p.SetZero(),this.q.SetIdentity(),this},t.prototype.SetPositionRotation=function(t,e){return this.p.Copy(t),this.q.Copy(e),this},t.prototype.SetPositionAngle=function(t,e){return this.p.Copy(t),this.q.SetAngle(e),this},t.prototype.SetPosition=function(t){return this.p.Copy(t),this},t.prototype.SetPositionXY=function(t,e){return this.p.Set(t,e),this},t.prototype.SetRotation=function(t){return this.q.Copy(t),this},t.prototype.SetRotationAngle=function(t){return this.q.SetAngle(t),this},t.prototype.GetPosition=function(){return this.p},t.prototype.GetRotation=function(){return this.q},t.prototype.GetRotationAngle=function(){return this.q.GetAngle()},t.prototype.GetAngle=function(){return this.q.GetAngle()},t.MulXV=function(t,e,i){var n=t.q.c,r=t.q.s,s=e.x,o=e.y;return i.x=n*s-r*o+t.p.x,i.y=r*s+n*o+t.p.y,i},t.MulTXV=function(t,e,i){var n=t.q.c,r=t.q.s,s=e.x-t.p.x,o=e.y-t.p.y;return i.x=n*s+r*o,i.y=-r*s+n*o,i},t.MulXX=function(t,e,i){return F.MulRR(t.q,e.q,i.q),P.AddVV(F.MulRV(t.q,e.p,i.p),t.p,i.p),i},t.MulTXX=function(t,e,i){return F.MulTRR(t.q,e.q,i.q),F.MulTRV(t.q,P.SubVV(e.p,t.p,i.p),i.p),i},t.IDENTITY=new t,t})(),G=(function(){function t(){this.localCenter=new P,this.c0=new P,this.c=new P,this.a0=0,this.a=0,this.alpha0=0}return t.prototype.Clone=function(){return(new t).Copy(this)},t.prototype.Copy=function(t){return this.localCenter.Copy(t.localCenter),this.c0.Copy(t.c0),this.c.Copy(t.c),this.a0=t.a0,this.a=t.a,this.alpha0=t.alpha0,this},t.prototype.GetTransform=function(t,e){var i=1-e;t.p.x=i*this.c0.x+e*this.c.x,t.p.y=i*this.c0.y+e*this.c.y;var n=i*this.a0+e*this.a;return t.q.SetAngle(n),t.p.SelfSub(F.MulRV(t.q,this.localCenter,P.s_t0)),t},t.prototype.Advance=function(t){var e=(t-this.alpha0)/(1-this.alpha0),i=1-e;this.c0.x=i*this.c0.x+e*this.c.x,this.c0.y=i*this.c0.y+e*this.c.y,this.a0=i*this.a0+e*this.a,this.alpha0=t},t.prototype.Normalize=function(){var t=6.28318530718*Math.floor(this.a0/6.28318530718);this.a0-=t,this.a-=t},t})(),k=(function(){function t(t,e,i,n){void 0===t&&(t=.5),void 0===e&&(e=.5),void 0===i&&(i=.5),void 0===n&&(n=1),this.r=t,this.g=e,this.b=i,this.a=n}return t.prototype.Clone=function(){return(new t).Copy(this)},t.prototype.Copy=function(t){return this.r=t.r,this.g=t.g,this.b=t.b,this.a=t.a,this},t.prototype.IsEqual=function(t){return this.r===t.r&&this.g===t.g&&this.b===t.b&&this.a===t.a},t.prototype.IsZero=function(){return 0===this.r&&0===this.g&&0===this.b&&0===this.a},t.prototype.Set=function(t,e,i,n){void 0===n&&(n=this.a),this.SetRGBA(t,e,i,n)},t.prototype.SetByteRGB=function(t,e,i){return this.r=t/255,this.g=e/255,this.b=i/255,this},t.prototype.SetByteRGBA=function(t,e,i,n){return this.r=t/255,this.g=e/255,this.b=i/255,this.a=n/255,this},t.prototype.SetRGB=function(t,e,i){return this.r=t,this.g=e,this.b=i,this},t.prototype.SetRGBA=function(t,e,i,n){return this.r=t,this.g=e,this.b=i,this.a=n,this},t.prototype.SelfAdd=function(t){return this.r+=t.r,this.g+=t.g,this.b+=t.b,this.a+=t.a,this},t.prototype.Add=function(t,e){return e.r=this.r+t.r,e.g=this.g+t.g,e.b=this.b+t.b,e.a=this.a+t.a,e},t.prototype.SelfSub=function(t){return this.r-=t.r,this.g-=t.g,this.b-=t.b,this.a-=t.a,this},t.prototype.Sub=function(t,e){return e.r=this.r-t.r,e.g=this.g-t.g,e.b=this.b-t.b,e.a=this.a-t.a,e},t.prototype.SelfMul=function(t){return this.r*=t,this.g*=t,this.b*=t,this.a*=t,this},t.prototype.Mul=function(t,e){return e.r=this.r*t,e.g=this.g*t,e.b=this.b*t,e.a=this.a*t,e},t.prototype.Mix=function(e,i){t.MixColors(this,e,i)},t.MixColors=function(t,e,i){var n=i*(e.r-t.r),r=i*(e.g-t.g),s=i*(e.b-t.b),o=i*(e.a-t.a);t.r+=n,t.g+=r,t.b+=s,t.a+=o,e.r-=n,e.g-=r,e.b-=s,e.a-=o},t.prototype.MakeStyleString=function(e){return void 0===e&&(e=this.a),t.MakeStyleString(this.r,this.g,this.b,e)},t.MakeStyleString=function(t,e,i,n){return void 0===n&&(n=1),t*=255,e*=255,i*=255,n<1?"rgba("+t+","+e+","+i+","+n+")":"rgb("+t+","+e+","+i+")"},t.ZERO=new t(0,0,0,0),t.RED=new t(1,0,0),t.GREEN=new t(0,1,0),t.BLUE=new t(0,0,1),t})();(function(t){t[t.e_none=0]="e_none",t[t.e_shapeBit=1]="e_shapeBit",t[t.e_jointBit=2]="e_jointBit",t[t.e_aabbBit=4]="e_aabbBit",t[t.e_pairBit=8]="e_pairBit",t[t.e_centerOfMassBit=16]="e_centerOfMassBit",t[t.e_particleBit=32]="e_particleBit",t[t.e_controllerBit=64]="e_controllerBit",t[t.e_all=63]="e_all"})(t.b2DrawFlags||(t.b2DrawFlags={}));var z=(function(){function t(){this.m_drawFlags=0}return t.prototype.SetFlags=function(t){this.m_drawFlags=t},t.prototype.GetFlags=function(){return this.m_drawFlags},t.prototype.AppendFlags=function(t){this.m_drawFlags|=t},t.prototype.ClearFlags=function(t){this.m_drawFlags&=~t},t})(),U=(function(){function t(){this.m_start=Date.now()}return t.prototype.Reset=function(){return this.m_start=Date.now(),this},t.prototype.GetMilliseconds=function(){return Date.now()-this.m_start},t})(),W=(function(){function t(){this.m_count=0,this.m_min_count=0,this.m_max_count=0}return t.prototype.GetCount=function(){return this.m_count},t.prototype.GetMinCount=function(){return this.m_min_count},t.prototype.GetMaxCount=function(){return this.m_max_count},t.prototype.ResetCount=function(){var t=this.m_count;return this.m_count=0,t},t.prototype.ResetMinCount=function(){this.m_min_count=0},t.prototype.ResetMaxCount=function(){this.m_max_count=0},t.prototype.Increment=function(){this.m_count++,this.m_max_count<this.m_count&&(this.m_max_count=this.m_count)},t.prototype.Decrement=function(){this.m_count--,this.m_min_count>this.m_count&&(this.m_min_count=this.m_count)},t})(),j=(function(){function t(t){this.m_stack=[],this.m_count=0,this.m_stack=d(t,(function(t){return null})),this.m_count=0}return t.prototype.Reset=function(){return this.m_count=0,this},t.prototype.Push=function(t){this.m_stack[this.m_count]=t,this.m_count++},t.prototype.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},t.prototype.GetCount=function(){return this.m_count},t})(),H=(function(){return function(){}})(),q=(function(){return function(){}})(),X=(function(){function t(){this.m_buffer=P.MakeArray(2),this.m_vertices=this.m_buffer,this.m_count=0,this.m_radius=0}return t.prototype.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},t.prototype.Reset=function(){return this.m_vertices=this.m_buffer,this.m_count=0,this.m_radius=0,this},t.prototype.SetShape=function(t,e){t.SetupDistanceProxy(this,e)},t.prototype.SetVerticesRadius=function(t,e,i){this.m_vertices=t,this.m_count=e,this.m_radius=i},t.prototype.GetSupport=function(t){for(var e=0,i=P.DotVV(this.m_vertices[0],t),n=1;n<this.m_count;++n){var r=P.DotVV(this.m_vertices[n],t);r>i&&(e=n,i=r)}return e},t.prototype.GetSupportVertex=function(t){for(var e=0,i=P.DotVV(this.m_vertices[0],t),n=1;n<this.m_count;++n){var r=P.DotVV(this.m_vertices[n],t);r>i&&(e=n,i=r)}return this.m_vertices[e]},t.prototype.GetVertexCount=function(){return this.m_count},t.prototype.GetVertex=function(t){return this.m_vertices[t]},t})(),Y=(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})(),J=(function(){function t(){this.proxyA=new X,this.proxyB=new X,this.transformA=new N,this.transformB=new N,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})(),Z=(function(){function t(){this.pointA=new P,this.pointB=new P,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})(),K=(function(){return function(){this.proxyA=new X,this.proxyB=new X,this.transformA=new N,this.transformB=new N,this.translationB=new P}})(),Q=(function(){return function(){this.point=new P,this.normal=new P,this.lambda=0,this.iterations=0}})();t.b2_gjkCalls=0,t.b2_gjkIters=0,t.b2_gjkMaxIters=0;var $=(function(){function t(){this.wA=new P,this.wB=new P,this.w=new P,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})(),tt=(function(){function t(){this.m_v1=new $,this.m_v2=new $,this.m_v3=new $,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}return t.prototype.ReadCache=function(t,e,i,r,s){this.m_count=t.count;for(var o=this.m_vertices,a=0;a<this.m_count;++a){(_=o[a]).indexA=t.indexA[a],_.indexB=t.indexB[a];var c=e.GetVertex(_.indexA),l=r.GetVertex(_.indexB);N.MulXV(i,c,_.wA),N.MulXV(s,l,_.wB),P.SubVV(_.wB,_.wA,_.w),_.a=0}if(this.m_count>1){var h=t.metric,u=this.GetMetric();(u<.5*h||2*h<u||u<n)&&(this.m_count=0)}if(0===this.m_count){var _;(_=o[0]).indexA=0,_.indexB=0;c=e.GetVertex(0),l=r.GetVertex(0);N.MulXV(i,c,_.wA),N.MulXV(s,l,_.wB),P.SubVV(_.wB,_.wA,_.w),_.a=1,this.m_count=1}},t.prototype.WriteCache=function(t){t.metric=this.GetMetric(),t.count=this.m_count;for(var e=this.m_vertices,i=0;i<this.m_count;++i)t.indexA[i]=e[i].indexA,t.indexB[i]=e[i].indexB},t.prototype.GetSearchDirection=function(t){switch(this.m_count){case 1:return P.NegV(this.m_v1.w,t);case 2:var e=P.SubVV(this.m_v2.w,this.m_v1.w,t);return P.CrossVV(e,P.NegV(this.m_v1.w,P.s_t0))>0?P.CrossOneV(e,t):P.CrossVOne(e,t);default:return t.SetZero()}},t.prototype.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()}},t.prototype.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}},t.prototype.GetMetric=function(){switch(this.m_count){case 0:case 1:return 0;case 2:return P.DistanceVV(this.m_v1.w,this.m_v2.w);case 3:return P.CrossVV(P.SubVV(this.m_v2.w,this.m_v1.w,P.s_t0),P.SubVV(this.m_v3.w,this.m_v1.w,P.s_t1));default:return 0}},t.prototype.Solve2=function(){var e=this.m_v1.w,i=this.m_v2.w,n=P.SubVV(i,e,t.s_e12),r=-P.DotVV(e,n);if(r<=0)return this.m_v1.a=1,void(this.m_count=1);var s=P.DotVV(i,n);if(s<=0)return this.m_v2.a=1,this.m_count=1,void this.m_v1.Copy(this.m_v2);var o=1/(s+r);this.m_v1.a=s*o,this.m_v2.a=r*o,this.m_count=2},t.prototype.Solve3=function(){var e=this.m_v1.w,i=this.m_v2.w,n=this.m_v3.w,r=P.SubVV(i,e,t.s_e12),s=P.DotVV(e,r),o=P.DotVV(i,r),a=-s,c=P.SubVV(n,e,t.s_e13),l=P.DotVV(e,c),h=P.DotVV(n,c),u=-l,_=P.SubVV(n,i,t.s_e23),f=P.DotVV(i,_),d=P.DotVV(n,_),p=-f,m=P.CrossVV(r,c),y=m*P.CrossVV(i,n),v=m*P.CrossVV(n,e),g=m*P.CrossVV(e,i);if(a<=0&&u<=0)return this.m_v1.a=1,void(this.m_count=1);if(o>0&&a>0&&g<=0){var x=1/(o+a);return this.m_v1.a=o*x,this.m_v2.a=a*x,void(this.m_count=2)}if(h>0&&u>0&&v<=0){var C=1/(h+u);return this.m_v1.a=h*C,this.m_v3.a=u*C,this.m_count=2,void this.m_v2.Copy(this.m_v3)}if(o<=0&&p<=0)return this.m_v2.a=1,this.m_count=1,void this.m_v1.Copy(this.m_v2);if(h<=0&&d<=0)return this.m_v3.a=1,this.m_count=1,void this.m_v1.Copy(this.m_v3);if(d>0&&p>0&&y<=0){var A=1/(d+p);return this.m_v2.a=d*A,this.m_v3.a=p*A,this.m_count=2,void this.m_v1.Copy(this.m_v3)}var b=1/(y+v+g);this.m_v1.a=y*b,this.m_v2.a=v*b,this.m_v3.a=g*b,this.m_count=3},t.s_e12=new P,t.s_e13=new P,t.s_e23=new P,t})(),et=new tt,it=[0,0,0],nt=[0,0,0],rt=new P,st=new P,ot=new P,at=new P,ct=new P;function lt(e,i,s){++t.b2_gjkCalls;var o=s.proxyA,a=s.proxyB,c=s.transformA,l=s.transformB,h=et;h.ReadCache(i,o,c,a,l);for(var u=h.m_vertices,_=it,f=nt,d=0,p=0;p<20;){d=h.m_count;for(var m=0;m<d;++m)_[m]=u[m].indexA,f[m]=u[m].indexB;switch(h.m_count){case 1:break;case 2:h.Solve2();break;case 3:h.Solve3()}if(3===h.m_count)break;var y=h.GetSearchDirection(st);if(y.LengthSquared()<r)break;var v=u[h.m_count];v.indexA=o.GetSupport(F.MulTRV(c.q,P.NegV(y,P.s_t0),at)),N.MulXV(c,o.GetVertex(v.indexA),v.wA),v.indexB=a.GetSupport(F.MulTRV(l.q,y,ct)),N.MulXV(l,a.GetVertex(v.indexB),v.wB),P.SubVV(v.wB,v.wA,v.w),++p,++t.b2_gjkIters;var g=!1;for(m=0;m<d;++m)if(v.indexA===_[m]&&v.indexB===f[m]){g=!0;break}if(g)break;++h.m_count}if(t.b2_gjkMaxIters=x(t.b2_gjkMaxIters,p),h.GetWitnessPoints(e.pointA,e.pointB),e.distance=P.DistanceVV(e.pointA,e.pointB),e.iterations=p,h.WriteCache(i),s.useRadii){var C=o.m_radius,A=a.m_radius;if(e.distance>C+A&&e.distance>n){e.distance-=C+A;var b=P.SubVV(e.pointB,e.pointA,ot);b.Normalize(),e.pointA.SelfMulAdd(C,b),e.pointB.SelfMulSub(A,b)}else{var S=P.MidVV(e.pointA,e.pointB,rt);e.pointA.Copy(S),e.pointB.Copy(S),e.distance=0}}}var ht=new P,ut=new tt,_t=new P,ft=new P,dt=new P,pt=new P,mt=new P,yt=new P;(function(t){t[t.e_vertex=0]="e_vertex",t[t.e_face=1]="e_face"})(t.b2ContactFeatureType||(t.b2ContactFeatureType={}));var vt=(function(){function t(){this._key=0,this._key_invalid=!1,this._indexA=0,this._indexB=0,this._typeA=0,this._typeB=0}return Object.defineProperty(t.prototype,"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},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"indexA",{get:function(){return this._indexA},set:function(t){this._indexA=t,this._key_invalid=!0},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"indexB",{get:function(){return this._indexB},set:function(t){this._indexB=t,this._key_invalid=!0},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"typeA",{get:function(){return this._typeA},set:function(t){this._typeA=t,this._key_invalid=!0},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"typeB",{get:function(){return this._typeB},set:function(t){this._typeB=t,this._key_invalid=!0},enumerable:!0,configurable:!0}),t})(),gt=(function(){function t(){this.cf=new vt}return t.prototype.Copy=function(t){return this.key=t.key,this},t.prototype.Clone=function(){return(new t).Copy(this)},Object.defineProperty(t.prototype,"key",{get:function(){return this.cf.key},set:function(t){this.cf.key=t},enumerable:!0,configurable:!0}),t})(),xt=(function(){function t(){this.localPoint=new P,this.normalImpulse=0,this.tangentImpulse=0,this.id=new gt}return t.MakeArray=function(e){return d(e,(function(e){return new t}))},t.prototype.Reset=function(){this.localPoint.SetZero(),this.normalImpulse=0,this.tangentImpulse=0,this.id.key=0},t.prototype.Copy=function(t){return this.localPoint.Copy(t.localPoint),this.normalImpulse=t.normalImpulse,this.tangentImpulse=t.tangentImpulse,this.id.Copy(t.id),this},t})();(function(t){t[t.e_unknown=-1]="e_unknown",t[t.e_circles=0]="e_circles",t[t.e_faceA=1]="e_faceA",t[t.e_faceB=2]="e_faceB"})(t.b2ManifoldType||(t.b2ManifoldType={}));var Ct=(function(){function e(){this.points=xt.MakeArray(o),this.localNormal=new P,this.localPoint=new P,this.type=t.b2ManifoldType.e_unknown,this.pointCount=0}return e.prototype.Reset=function(){for(var e=0;e<o;++e)this.points[e].Reset();this.localNormal.SetZero(),this.localPoint.SetZero(),this.type=t.b2ManifoldType.e_unknown,this.pointCount=0},e.prototype.Copy=function(t){this.pointCount=t.pointCount;for(var e=0;e<o;++e)this.points[e].Copy(t.points[e]);return this.localNormal.Copy(t.localNormal),this.localPoint.Copy(t.localPoint),this.type=t.type,this},e.prototype.Clone=function(){return(new e).Copy(this)},e})(),At=(function(){function e(){this.normal=new P,this.points=P.MakeArray(o),this.separations=p(o)}return e.prototype.Initialize=function(i,n,s,o,a){if(0!==i.pointCount)switch(i.type){case t.b2ManifoldType.e_circles:this.normal.Set(1,0);var c=N.MulXV(n,i.localPoint,e.Initialize_s_pointA),l=N.MulXV(o,i.points[0].localPoint,e.Initialize_s_pointB);P.DistanceSquaredVV(c,l)>r&&P.SubVV(l,c,this.normal).SelfNormalize();var h=P.AddVMulSV(c,s,this.normal,e.Initialize_s_cA),u=P.SubVMulSV(l,a,this.normal,e.Initialize_s_cB);P.MidVV(h,u,this.points[0]),this.separations[0]=P.DotVV(P.SubVV(u,h,P.s_t0),this.normal);break;case t.b2ManifoldType.e_faceA:F.MulRV(n.q,i.localNormal,this.normal);for(var _=N.MulXV(n,i.localPoint,e.Initialize_s_planePoint),f=0;f<i.pointCount;++f){var d=N.MulXV(o,i.points[f].localPoint,e.Initialize_s_clipPoint),p=s-P.DotVV(P.SubVV(d,_,P.s_t0),this.normal);h=P.AddVMulSV(d,p,this.normal,e.Initialize_s_cA),u=P.SubVMulSV(d,a,this.normal,e.Initialize_s_cB);P.MidVV(h,u,this.points[f]),this.separations[f]=P.DotVV(P.SubVV(u,h,P.s_t0),this.normal)}break;case t.b2ManifoldType.e_faceB:F.MulRV(o.q,i.localNormal,this.normal);for(_=N.MulXV(o,i.localPoint,e.Initialize_s_planePoint),f=0;f<i.pointCount;++f){d=N.MulXV(n,i.points[f].localPoint,e.Initialize_s_clipPoint),p=a-P.DotVV(P.SubVV(d,_,P.s_t0),this.normal),u=P.AddVMulSV(d,p,this.normal,e.Initialize_s_cB),h=P.SubVMulSV(d,s,this.normal,e.Initialize_s_cA);P.MidVV(h,u,this.points[f]),this.separations[f]=P.DotVV(P.SubVV(h,u,P.s_t0),this.normal)}this.normal.SelfNeg()}},e.Initialize_s_pointA=new P,e.Initialize_s_pointB=new P,e.Initialize_s_cA=new P,e.Initialize_s_cB=new P,e.Initialize_s_planePoint=new P,e.Initialize_s_clipPoint=new P,e})();(function(t){t[t.b2_nullState=0]="b2_nullState",t[t.b2_addState=1]="b2_addState",t[t.b2_persistState=2]="b2_persistState",t[t.b2_removeState=3]="b2_removeState"})(t.b2PointState||(t.b2PointState={}));var bt=(function(){function t(){this.v=new P,this.id=new gt}return t.MakeArray=function(e){return d(e,(function(e){return new t}))},t.prototype.Copy=function(t){return this.v.Copy(t.v),this.id.Copy(t.id),this},t})(),St=(function(){function t(){this.p1=new P,this.p2=new P,this.maxFraction=1}return t.prototype.Copy=function(t){return this.p1.Copy(t.p1),this.p2.Copy(t.p2),this.maxFraction=t.maxFraction,this},t})(),Tt=(function(){function t(){this.normal=new P,this.fraction=0}return t.prototype.Copy=function(t){return this.normal.Copy(t.normal),this.fraction=t.fraction,this},t})(),wt=(function(){function t(){this.lowerBound=new P,this.upperBound=new P,this.m_cache_center=new P,this.m_cache_extent=new P}return t.prototype.Copy=function(t){return this.lowerBound.Copy(t.lowerBound),this.upperBound.Copy(t.upperBound),this},t.prototype.IsValid=function(){var t=this.upperBound.x-this.lowerBound.x,e=this.upperBound.y-this.lowerBound.y,i=t>=0&&e>=0;return i=i&&this.lowerBound.IsValid()&&this.upperBound.IsValid()},t.prototype.GetCenter=function(){return P.MidVV(this.lowerBound,this.upperBound,this.m_cache_center)},t.prototype.GetExtents=function(){return P.ExtVV(this.lowerBound,this.upperBound,this.m_cache_extent)},t.prototype.GetPerimeter=function(){return 2*(this.upperBound.x-this.lowerBound.x+(this.upperBound.y-this.lowerBound.y))},t.prototype.Combine1=function(t){return this.lowerBound.x=g(this.lowerBound.x,t.lowerBound.x),this.lowerBound.y=g(this.lowerBound.y,t.lowerBound.y),this.upperBound.x=x(this.upperBound.x,t.upperBound.x),this.upperBound.y=x(this.upperBound.y,t.upperBound.y),this},t.prototype.Combine2=function(t,e){return this.lowerBound.x=g(t.lowerBound.x,e.lowerBound.x),this.lowerBound.y=g(t.lowerBound.y,e.lowerBound.y),this.upperBound.x=x(t.upperBound.x,e.upperBound.x),this.upperBound.y=x(t.upperBound.y,e.upperBound.y),this},t.Combine=function(t,e,i){return i.Combine2(t,e),i},t.prototype.Contains=function(t){var e=!0;return e=(e=(e=(e=e&&this.lowerBound.x<=t.lowerBound.x)&&this.lowerBound.y<=t.lowerBound.y)&&t.upperBound.x<=this.upperBound.x)&&t.upperBound.y<=this.upperBound.y},t.prototype.RayCast=function(t,e){var r=-i,s=i,o=e.p1.x,a=e.p1.y,c=e.p2.x-e.p1.x,l=e.p2.y-e.p1.y,h=v(c),u=v(l),_=t.normal;if(h<n){if(o<this.lowerBound.x||this.upperBound.x<o)return!1}else{var f=1/c,d=-1;if((m=(this.lowerBound.x-o)*f)>(y=(this.upperBound.x-o)*f)){var p=m;m=y,y=p,d=1}if(m>r&&(_.x=d,_.y=0,r=m),r>(s=g(s,y)))return!1}if(u<n){if(a<this.lowerBound.y||this.upperBound.y<a)return!1}else{var m,y;f=1/l,d=-1;if((m=(this.lowerBound.y-a)*f)>(y=(this.upperBound.y-a)*f)){p=m;m=y,y=p,d=1}if(m>r&&(_.x=0,_.y=d,r=m),r>(s=g(s,y)))return!1}return!(r<0||e.maxFraction<r)&&(t.fraction=r,!0)},t.prototype.TestContain=function(t){return!(t.x<this.lowerBound.x||this.upperBound.x<t.x)&&!(t.y<this.lowerBound.y||this.upperBound.y<t.y)},t.prototype.TestOverlap=function(t){var e=t.lowerBound.x-this.upperBound.x,i=t.lowerBound.y-this.upperBound.y,n=this.lowerBound.x-t.upperBound.x,r=this.lowerBound.y-t.upperBound.y;return!(e>0||i>0)&&!(n>0||r>0)},t})();function Et(t,e){var i=e.lowerBound.x-t.upperBound.x,n=e.lowerBound.y-t.upperBound.y,r=t.lowerBound.x-e.upperBound.x,s=t.lowerBound.y-e.upperBound.y;return!(i>0||n>0)&&!(r>0||s>0)}function Bt(e,i,n,r,s){var o=0,a=i[0],c=i[1],l=P.DotVV(n,a.v)-r,h=P.DotVV(n,c.v)-r;if(l<=0&&e[o++].Copy(a),h<=0&&e[o++].Copy(c),l*h<0){var u=l/(l-h),_=e[o].v;_.x=a.v.x+u*(c.v.x-a.v.x),_.y=a.v.y+u*(c.v.y-a.v.y);var f=e[o].id;f.cf.indexA=s,f.cf.indexB=a.id.cf.indexB,f.cf.typeA=t.b2ContactFeatureType.e_vertex,f.cf.typeB=t.b2ContactFeatureType.e_face,++o}return o}var Mt=new J,It=new Y,Rt=new Z;function Pt(t,e,i,r,s,o){var a=Mt.Reset();a.proxyA.SetShape(t,e),a.proxyB.SetShape(i,r),a.transformA.Copy(s),a.transformB.Copy(o),a.useRadii=!0;var c=It.Reset();c.count=0;var l=Rt.Reset();return lt(l,c,a),l.distance<10*n}function Dt(t){if(null===t)throw new Error;return t}var Lt=(function(){function t(t){void 0===t&&(t=0),this.m_id=0,this.aabb=new wt,this.parent=null,this.child1=null,this.child2=null,this.height=0,this.m_id=t}return t.prototype.IsLeaf=function(){return null===this.child1},t})(),Ot=(function(){function t(){this.m_root=null,this.m_freeList=null,this.m_path=0,this.m_insertionCount=0,this.m_stack=new j(256)}return t.prototype.Query=function(t,e){if(null!==this.m_root){var i=this.m_stack.Reset();for(i.Push(this.m_root);i.GetCount()>0;){var n=i.Pop();if(n.aabb.TestOverlap(t))if(n.IsLeaf()){if(!e(n))return}else i.Push(Dt(n.child1)),i.Push(Dt(n.child2))}}},t.prototype.QueryPoint=function(t,e){if(null!==this.m_root){var i=this.m_stack.Reset();for(i.Push(this.m_root);i.GetCount()>0;){var n=i.Pop();if(n.aabb.TestContain(t))if(n.IsLeaf()){if(!e(n))return}else i.Push(Dt(n.child1)),i.Push(Dt(n.child2))}}},t.prototype.RayCast=function(e,i){if(null!==this.m_root){var n=e.p1,r=e.p2,s=P.SubVV(r,n,t.s_r);s.Normalize();var o=P.CrossOneV(s,t.s_v),a=P.AbsV(o,t.s_abs_v),c=e.maxFraction,l=t.s_segmentAABB,h=n.x+c*(r.x-n.x),u=n.y+c*(r.y-n.y);l.lowerBound.x=g(n.x,h),l.lowerBound.y=g(n.y,u),l.upperBound.x=x(n.x,h),l.upperBound.y=x(n.y,u);var _=this.m_stack.Reset();for(_.Push(this.m_root);_.GetCount()>0;){var f=_.Pop();if(Et(f.aabb,l)){var d=f.aabb.GetCenter(),p=f.aabb.GetExtents();if(!(v(P.DotVV(o,P.SubVV(n,d,P.s_t0)))-P.DotVV(a,p)>0))if(f.IsLeaf()){var m=t.s_subInput;m.p1.Copy(e.p1),m.p2.Copy(e.p2),m.maxFraction=c;var y=i(m,f);if(0===y)return;y>0&&(c=y,h=n.x+c*(r.x-n.x),u=n.y+c*(r.y-n.y),l.lowerBound.x=g(n.x,h),l.lowerBound.y=g(n.y,u),l.upperBound.x=x(n.x,h),l.upperBound.y=x(n.y,u))}else _.Push(Dt(f.child1)),_.Push(Dt(f.child2))}}}},t.prototype.AllocateNode=function(){if(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,delete e.userData,e}return new Lt(t.s_node_id++)},t.prototype.FreeNode=function(t){t.parent=this.m_freeList,t.child1=null,t.child2=null,t.height=-1,delete t.userData,this.m_freeList=t},t.prototype.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},t.prototype.DestroyProxy=function(t){this.RemoveLeaf(t),this.FreeNode(t)},t.prototype.MoveProxy=function(t,e,i){if(t.aabb.Contains(e))return!1;this.RemoveLeaf(t);var n=.1+2*(i.x>0?i.x:-i.x),r=.1+2*(i.y>0?i.y:-i.y);return t.aabb.lowerBound.x=e.lowerBound.x-n,t.aabb.lowerBound.y=e.lowerBound.y-r,t.aabb.upperBound.x=e.upperBound.x+n,t.aabb.upperBound.y=e.upperBound.y+r,this.InsertLeaf(t),!0},t.prototype.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,n=this.m_root;!n.IsLeaf();){var r=Dt(n.child1),s=Dt(n.child2),o=n.aabb.GetPerimeter(),a=t.s_combinedAABB;a.Combine2(n.aabb,i);var c=a.GetPerimeter(),l=2*c,h=2*(c-o),u=void 0,_=t.s_aabb,f=void 0;r.IsLeaf()?(_.Combine2(i,r.aabb),u=_.GetPerimeter()+h):(_.Combine2(i,r.aabb),f=r.aabb.GetPerimeter(),u=_.GetPerimeter()-f+h);var d=void 0;if(s.IsLeaf()?(_.Combine2(i,s.aabb),d=_.GetPerimeter()+h):(_.Combine2(i,s.aabb),f=s.aabb.GetPerimeter(),d=_.GetPerimeter()-f+h),l<u&&l<d)break;n=u<d?r:s}var p=n,m=p.parent,y=this.AllocateNode();y.parent=m,delete y.userData,y.aabb.Combine2(i,p.aabb),y.height=p.height+1,m?(m.child1===p?m.child1=y:m.child2=y,y.child1=p,y.child2=e,p.parent=y,e.parent=y):(y.child1=p,y.child2=e,p.parent=y,e.parent=y,this.m_root=y);for(var v=e.parent;null!==v;){r=Dt((v=this.Balance(v)).child1),s=Dt(v.child2);v.height=1+x(r.height,s.height),v.aabb.Combine2(r.aabb,s.aabb),v=v.parent}},t.prototype.RemoveLeaf=function(t){if(t!==this.m_root){var e,i=Dt(t.parent),n=i&&i.parent;if(e=i.child1===t?Dt(i.child2):Dt(i.child1),n){n.child1===i?n.child1=e:n.child2=e,e.parent=n,this.FreeNode(i);for(var r=n;r;){var s=Dt((r=this.Balance(r)).child1),o=Dt(r.child2);r.aabb.Combine2(s.aabb,o.aabb),r.height=1+x(s.height,o.height),r=r.parent}}else this.m_root=e,e.parent=null,this.FreeNode(i)}else this.m_root=null},t.prototype.Balance=function(t){if(t.IsLeaf()||t.height<2)return t;var e=Dt(t.child1),i=Dt(t.child2),n=i.height-e.height;if(n>1){var r=Dt(i.child1),s=Dt(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,r.height>s.height?(i.child2=r,t.child2=s,s.parent=t,t.aabb.Combine2(e.aabb,s.aabb),i.aabb.Combine2(t.aabb,r.aabb),t.height=1+x(e.height,s.height),i.height=1+x(t.height,r.height)):(i.child2=s,t.child2=r,r.parent=t,t.aabb.Combine2(e.aabb,r.aabb),i.aabb.Combine2(t.aabb,s.aabb),t.height=1+x(e.height,r.height),i.height=1+x(t.height,s.height)),i}if(n<-1){var o=Dt(e.child1),a=Dt(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,o.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+x(i.height,a.height),e.height=1+x(t.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+x(i.height,o.height),e.height=1+x(t.height,a.height)),e}return t},t.prototype.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),i+=t.GetAreaNode(e.child2)},t.prototype.GetAreaRatio=function(){if(null===this.m_root)return 0;var e=this.m_root.aabb.GetPerimeter();return t.GetAreaNode(this.m_root)/e},t.prototype.ComputeHeightNode=function(t){if(!t||t.IsLeaf())return 0;var e=this.ComputeHeightNode(t.child1),i=this.ComputeHeightNode(t.child2);return 1+x(e,i)},t.prototype.ComputeHeight=function(){return this.ComputeHeightNode(this.m_root)},t.prototype.ValidateStructure=function(t){if(null!==t){this.m_root;var e=t;if(!e.IsLeaf()){var i=Dt(e.child1),n=Dt(e.child2);this.ValidateStructure(i),this.ValidateStructure(n)}}},t.prototype.ValidateMetrics=function(e){if(null!==e){var i=e;if(!i.IsLeaf()){var n=Dt(i.child1),r=Dt(i.child2);t.s_aabb.Combine2(n.aabb,r.aabb),this.ValidateMetrics(n),this.ValidateMetrics(r)}}},t.prototype.Validate=function(){},t.GetMaxBalanceNode=function(t,e){if(null===t)return e;if(t.height<=1)return e;var i=Dt(t.child1),n=Dt(t.child2),r=v(n.height-i.height);return x(e,r)},t.prototype.GetMaxBalance=function(){return t.GetMaxBalanceNode(this.m_root,0)},t.prototype.RebuildBottomUp=function(){this.Validate()},t.ShiftOriginNode=function(e,i){if(null!==e&&!(e.height<=1)){var n=e.child1,r=e.child2;t.ShiftOriginNode(n,i),t.ShiftOriginNode(r,i),e.aabb.lowerBound.SelfSub(i),e.aabb.upperBound.SelfSub(i)}},t.prototype.ShiftOrigin=function(e){t.ShiftOriginNode(this.m_root,e)},t.s_r=new P,t.s_v=new P,t.s_abs_v=new P,t.s_segmentAABB=new wt,t.s_subInput=new St,t.s_combinedAABB=new wt,t.s_aabb=new wt,t.s_node_id=0,t})(),Vt=(function(){return function(t,e){this.proxyA=t,this.proxyB=e}})(),Ft=(function(){function t(){this.m_tree=new Ot,this.m_proxyCount=0,this.m_moveCount=0,this.m_moveBuffer=[],this.m_pairCount=0,this.m_pairBuffer=[]}return t.prototype.CreateProxy=function(t,e){var i=this.m_tree.CreateProxy(t,e);return++this.m_proxyCount,this.BufferMove(i),i},t.prototype.DestroyProxy=function(t){this.UnBufferMove(t),--this.m_proxyCount,this.m_tree.DestroyProxy(t)},t.prototype.MoveProxy=function(t,e,i){this.m_tree.MoveProxy(t,e,i)&&this.BufferMove(t)},t.prototype.TouchProxy=function(t){this.BufferMove(t)},t.prototype.GetProxyCount=function(){return this.m_proxyCount},t.prototype.UpdatePairs=function(t){var e=this;this.m_pairCount=0;for(var i=function(t){var i=n.m_moveBuffer[t];if(null===i)return"continue";var r=i.aabb;n.m_tree.Query(r,(function(t){if(t.m_id===i.m_id)return!0;var n,r;if(t.m_id<i.m_id?(n=t,r=i):(n=i,r=t),e.m_pairCount===e.m_pairBuffer.length)e.m_pairBuffer[e.m_pairCount]=new Vt(n,r);else{var s=e.m_pairBuffer[e.m_pairCount];s.proxyA=n,s.proxyB=r}return++e.m_pairCount,!0}))},n=this,r=0;r<this.m_moveCount;++r)i(r);this.m_moveCount=0,this.m_pairBuffer.length=this.m_pairCount,this.m_pairBuffer.sort(Nt);for(var s=0;s<this.m_pairCount;){var o=this.m_pairBuffer[s],a=o.proxyA.userData,c=o.proxyB.userData;for(a&&c&&t(a,c),++s;s<this.m_pairCount;){var l=this.m_pairBuffer[s];if(l.proxyA.m_id!==o.proxyA.m_id||l.proxyB.m_id!==o.proxyB.m_id)break;++s}}},t.prototype.Query=function(t,e){this.m_tree.Query(t,e)},t.prototype.QueryPoint=function(t,e){this.m_tree.QueryPoint(t,e)},t.prototype.RayCast=function(t,e){this.m_tree.RayCast(t,e)},t.prototype.GetTreeHeight=function(){return this.m_tree.GetHeight()},t.prototype.GetTreeBalance=function(){return this.m_tree.GetMaxBalance()},t.prototype.GetTreeQuality=function(){return this.m_tree.GetAreaRatio()},t.prototype.ShiftOrigin=function(t){this.m_tree.ShiftOrigin(t)},t.prototype.BufferMove=function(t){this.m_moveBuffer[this.m_moveCount]=t,++this.m_moveCount},t.prototype.UnBufferMove=function(t){var e=this.m_moveBuffer.indexOf(t);this.m_moveBuffer[e]=null},t})();function Nt(t,e){return t.proxyA.m_id===e.proxyA.m_id?t.proxyB.m_id-e.proxyB.m_id:t.proxyA.m_id-e.proxyA.m_id}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;var Gt=new N,kt=new N,zt=new P,Ut=new P,Wt=new P,jt=new P,Ht=new P,qt=(function(){return function(){this.proxyA=new X,this.proxyB=new X,this.sweepA=new G,this.sweepB=new G,this.tMax=0}})();(function(t){t[t.e_unknown=0]="e_unknown",t[t.e_failed=1]="e_failed",t[t.e_overlapped=2]="e_overlapped",t[t.e_touching=3]="e_touching",t[t.e_separated=4]="e_separated"})(t.b2TOIOutputState||(t.b2TOIOutputState={}));var Xt=(function(){return function(){this.state=t.b2TOIOutputState.e_unknown,this.t=0}})();(function(t){t[t.e_unknown=-1]="e_unknown",t[t.e_points=0]="e_points",t[t.e_faceA=1]="e_faceA",t[t.e_faceB=2]="e_faceB"})(t.b2SeparationFunctionType||(t.b2SeparationFunctionType={}));var Yt=(function(){function e(){this.m_sweepA=new G,this.m_sweepB=new G,this.m_type=t.b2SeparationFunctionType.e_unknown,this.m_localPoint=new P,this.m_axis=new P}return e.prototype.Initialize=function(e,i,n,r,s,o){this.m_proxyA=i,this.m_proxyB=r;var a=e.count;this.m_sweepA.Copy(n),this.m_sweepB.Copy(s);var c=Gt,l=kt;if(this.m_sweepA.GetTransform(c,o),this.m_sweepB.GetTransform(l,o),1===a){this.m_type=t.b2SeparationFunctionType.e_points;var h=this.m_proxyA.GetVertex(e.indexA[0]),u=this.m_proxyB.GetVertex(e.indexB[0]),_=N.MulXV(c,h,zt),f=N.MulXV(l,u,Ut);P.SubVV(f,_,this.m_axis);var d=this.m_axis.Normalize();return this.m_localPoint.SetZero(),d}if(e.indexA[0]===e.indexA[1]){this.m_type=t.b2SeparationFunctionType.e_faceB;var p=this.m_proxyB.GetVertex(e.indexB[0]),m=this.m_proxyB.GetVertex(e.indexB[1]);P.CrossVOne(P.SubVV(m,p,P.s_t0),this.m_axis).SelfNormalize();var y=F.MulRV(l.q,this.m_axis,Wt);P.MidVV(p,m,this.m_localPoint);f=N.MulXV(l,this.m_localPoint,Ut),h=this.m_proxyA.GetVertex(e.indexA[0]),_=N.MulXV(c,h,zt);return(d=P.DotVV(P.SubVV(_,f,P.s_t0),y))<0&&(this.m_axis.SelfNeg(),d=-d),d}this.m_type=t.b2SeparationFunctionType.e_faceA;var v=this.m_proxyA.GetVertex(e.indexA[0]),g=this.m_proxyA.GetVertex(e.indexA[1]);P.CrossVOne(P.SubVV(g,v,P.s_t0),this.m_axis).SelfNormalize();y=F.MulRV(c.q,this.m_axis,Wt);P.MidVV(v,g,this.m_localPoint);_=N.MulXV(c,this.m_localPoint,zt),u=this.m_proxyB.GetVertex(e.indexB[0]),f=N.MulXV(l,u,Ut);return(d=P.DotVV(P.SubVV(f,_,P.s_t0),y))<0&&(this.m_axis.SelfNeg(),d=-d),d},e.prototype.FindMinSeparation=function(e,i,n){var r=Gt,s=kt;switch(this.m_sweepA.GetTransform(r,n),this.m_sweepB.GetTransform(s,n),this.m_type){case t.b2SeparationFunctionType.e_points:var o=F.MulTRV(r.q,this.m_axis,jt),a=F.MulTRV(s.q,P.NegV(this.m_axis,P.s_t0),Ht);e[0]=this.m_proxyA.GetSupport(o),i[0]=this.m_proxyB.GetSupport(a);var c=this.m_proxyA.GetVertex(e[0]),l=this.m_proxyB.GetVertex(i[0]),h=N.MulXV(r,c,zt),u=N.MulXV(s,l,Ut);return P.DotVV(P.SubVV(u,h,P.s_t0),this.m_axis);case t.b2SeparationFunctionType.e_faceA:var _=F.MulRV(r.q,this.m_axis,Wt);h=N.MulXV(r,this.m_localPoint,zt),a=F.MulTRV(s.q,P.NegV(_,P.s_t0),Ht);e[0]=-1,i[0]=this.m_proxyB.GetSupport(a);l=this.m_proxyB.GetVertex(i[0]),u=N.MulXV(s,l,Ut);return P.DotVV(P.SubVV(u,h,P.s_t0),_);case t.b2SeparationFunctionType.e_faceB:_=F.MulRV(s.q,this.m_axis,Wt),u=N.MulXV(s,this.m_localPoint,Ut),o=F.MulTRV(r.q,P.NegV(_,P.s_t0),jt);i[0]=-1,e[0]=this.m_proxyA.GetSupport(o);c=this.m_proxyA.GetVertex(e[0]),h=N.MulXV(r,c,zt);return P.DotVV(P.SubVV(h,u,P.s_t0),_);default:return e[0]=-1,i[0]=-1,0}},e.prototype.Evaluate=function(e,i,n){var r=Gt,s=kt;switch(this.m_sweepA.GetTransform(r,n),this.m_sweepB.GetTransform(s,n),this.m_type){case t.b2SeparationFunctionType.e_points:var o=this.m_proxyA.GetVertex(e),a=this.m_proxyB.GetVertex(i),c=N.MulXV(r,o,zt),l=N.MulXV(s,a,Ut);return P.DotVV(P.SubVV(l,c,P.s_t0),this.m_axis);case t.b2SeparationFunctionType.e_faceA:var h=F.MulRV(r.q,this.m_axis,Wt);c=N.MulXV(r,this.m_localPoint,zt),a=this.m_proxyB.GetVertex(i),l=N.MulXV(s,a,Ut);return P.DotVV(P.SubVV(l,c,P.s_t0),h);case t.b2SeparationFunctionType.e_faceB:h=F.MulRV(s.q,this.m_axis,Wt),l=N.MulXV(s,this.m_localPoint,Ut),o=this.m_proxyA.GetVertex(e),c=N.MulXV(r,o,zt);return P.DotVV(P.SubVV(c,l,P.s_t0),h);default:return 0}},e})(),Jt=new U,Zt=new Y,Kt=new J,Qt=new Z,$t=new Yt,te=[0],ee=[0],ie=new G,ne=new G;function re(e,i){var n=Jt.Reset();++t.b2_toiCalls,e.state=t.b2TOIOutputState.e_unknown,e.t=i.tMax;var r=i.proxyA,s=i.proxyB,o=ie.Copy(i.sweepA),l=ne.Copy(i.sweepB);o.Normalize(),l.Normalize();var h=i.tMax,u=r.m_radius+s.m_radius,_=x(c,u-3*c),f=.25*c,d=0,p=0,m=Zt;m.count=0;var y=Kt;for(y.proxyA.Copy(i.proxyA),y.proxyB.Copy(i.proxyB),y.useRadii=!1;;){var g=Gt,C=kt;o.GetTransform(g,d),l.GetTransform(C,d),y.transformA.Copy(g),y.transformB.Copy(C);var A=Qt;if(lt(A,m,y),A.distance<=0){e.state=t.b2TOIOutputState.e_overlapped,e.t=0;break}if(A.distance<_+f){e.state=t.b2TOIOutputState.e_touching,e.t=d;break}var b=$t;b.Initialize(m,r,o,s,l,d);for(var S=!1,T=h,w=0;;){var E=te,B=ee,M=b.FindMinSeparation(E,B,T);if(M>_+f){e.state=t.b2TOIOutputState.e_separated,e.t=h,S=!0;break}if(M>_-f){d=T;break}var I=b.Evaluate(E[0],B[0],d);if(I<_-f){e.state=t.b2TOIOutputState.e_failed,e.t=d,S=!0;break}if(I<=_+f){e.state=t.b2TOIOutputState.e_touching,e.t=d,S=!0;break}for(var R=0,P=d,D=T;;){var L=0;L=1&R?P+(_-I)*(D-P)/(M-I):.5*(P+D),++R,++t.b2_toiRootIters;var O=b.Evaluate(E[0],B[0],L);if(v(O-_)<f){T=L;break}if(O>_?(P=L,I=O):(D=L,M=O),50===R)break}if(t.b2_toiMaxRootIters=x(t.b2_toiMaxRootIters,R),++w===a)break}if(++p,++t.b2_toiIters,S)break;if(20===p){e.state=t.b2TOIOutputState.e_failed,e.t=d;break}}t.b2_toiMaxIters=x(t.b2_toiMaxIters,p);var V=n.GetMilliseconds();t.b2_toiMaxTime=x(t.b2_toiMaxTime,V),t.b2_toiTime+=V}var se=new P,oe=new P;function ae(e,i,n,r,s){e.pointCount=0;var o=N.MulXV(n,i.m_p,se),a=N.MulXV(s,r.m_p,oe),c=P.DistanceSquaredVV(o,a),l=i.m_radius+r.m_radius;c>l*l||(e.type=t.b2ManifoldType.e_circles,e.localPoint.Copy(i.m_p),e.localNormal.SetZero(),e.pointCount=1,e.points[0].localPoint.Copy(r.m_p),e.points[0].id.key=0)}var ce=new P,le=new P,he=new P;function ue(e,r,s,o,a){e.pointCount=0;for(var c=N.MulXV(a,o.m_p,ce),l=N.MulTXV(s,c,le),h=0,u=-i,_=r.m_radius+o.m_radius,f=r.m_count,d=r.m_vertices,p=r.m_normals,m=0;m<f;++m){var y=P.DotVV(p[m],P.SubVV(l,d[m],P.s_t0));if(y>_)return;y>u&&(u=y,h=m)}var v=h,g=(v+1)%f,x=d[v],C=d[g];if(u<n)return e.pointCount=1,e.type=t.b2ManifoldType.e_faceA,e.localNormal.Copy(p[h]),P.MidVV(x,C,e.localPoint),e.points[0].localPoint.Copy(o.m_p),void(e.points[0].id.key=0);var A=P.DotVV(P.SubVV(l,x,P.s_t0),P.SubVV(C,x,P.s_t1)),b=P.DotVV(P.SubVV(l,C,P.s_t0),P.SubVV(x,C,P.s_t1));if(A<=0){if(P.DistanceSquaredVV(l,x)>_*_)return;e.pointCount=1,e.type=t.b2ManifoldType.e_faceA,P.SubVV(l,x,e.localNormal).SelfNormalize(),e.localPoint.Copy(x),e.points[0].localPoint.Copy(o.m_p),e.points[0].id.key=0}else if(b<=0){if(P.DistanceSquaredVV(l,C)>_*_)return;e.pointCount=1,e.type=t.b2ManifoldType.e_faceA,P.SubVV(l,C,e.localNormal).SelfNormalize(),e.localPoint.Copy(C),e.points[0].localPoint.Copy(o.m_p),e.points[0].id.key=0}else{var S=P.MidVV(x,C,he);if(P.DotVV(P.SubVV(l,S,P.s_t1),p[v])>_)return;e.pointCount=1,e.type=t.b2ManifoldType.e_faceA,e.localNormal.Copy(p[v]).SelfNormalize(),e.localPoint.Copy(S),e.points[0].localPoint.Copy(o.m_p),e.points[0].id.key=0}}var _e=new P,fe=new P,de=new P,pe=new P;function me(t,e,n,r,s){for(var o=t.m_vertices,a=t.m_normals,c=r.m_count,l=r.m_vertices,h=F.MulRV(e.q,a[n],_e),u=F.MulTRV(s.q,h,fe),_=0,f=i,d=0;d<c;++d){var p=P.DotVV(l[d],u);p<f&&(f=p,_=d)}var m=N.MulXV(e,o[n],de),y=N.MulXV(s,l[_],pe);return P.DotVV(P.SubVV(y,m,P.s_t0),h)}var ye=new P,ve=new P;function ge(t,e,n,r,s){for(var o=e.m_count,a=e.m_normals,c=P.SubVV(N.MulXV(s,r.m_centroid,P.s_t0),N.MulXV(n,e.m_centroid,P.s_t1),ye),l=F.MulTRV(n.q,c,ve),h=0,u=-i,_=0;_<o;++_){var f=P.DotVV(a[_],l);f>u&&(u=f,h=_)}var d=me(e,n,h,r,s),p=(h+o-1)%o,m=me(e,n,p,r,s),y=(h+1)%o,v=me(e,n,y,r,s),g=0,x=0,C=0;if(m>d&&m>v)C=-1,g=p,x=m;else{if(!(v>d))return t[0]=h,d;C=1,g=y,x=v}for(;(d=me(e,n,h=-1===C?(g+o-1)%o:(g+1)%o,r,s))>x;)g=h,x=d;return t[0]=g,x}var xe=new P;function Ce(e,n,r,s,o,a){for(var c=n.m_normals,l=o.m_count,h=o.m_vertices,u=o.m_normals,_=F.MulTRV(a.q,F.MulRV(r.q,c[s],P.s_t0),xe),f=0,d=i,p=0;p<l;++p){var m=P.DotVV(_,u[p]);m<d&&(d=m,f=p)}var y=f,v=(y+1)%l,g=e[0];N.MulXV(a,h[y],g.v);var x=g.id.cf;x.indexA=s,x.indexB=y,x.typeA=t.b2ContactFeatureType.e_face,x.typeB=t.b2ContactFeatureType.e_vertex;var C=e[1];N.MulXV(a,h[v],C.v);var A=C.id.cf;A.indexA=s,A.indexB=v,A.typeA=t.b2ContactFeatureType.e_face,A.typeB=t.b2ContactFeatureType.e_vertex}var Ae=bt.MakeArray(2),be=bt.MakeArray(2),Se=bt.MakeArray(2),Te=[0],we=[0],Ee=new P,Be=new P,Me=new P,Ie=new P,Re=new P,Pe=new P,De=new P,Le=new P;function Oe(e,i,n,r,s){e.pointCount=0;var a=i.m_radius+r.m_radius,c=Te;c[0]=0;var l=ge(c,i,n,r,s);if(!(l>a)){var h=we;h[0]=0;var u=ge(h,r,s,i,n);if(!(u>a)){var _,f,d,p,m=0,y=0;u>.98*l+.001?(_=r,f=i,d=s,p=n,m=h[0],e.type=t.b2ManifoldType.e_faceB,y=1):(_=i,f=r,d=n,p=s,m=c[0],e.type=t.b2ManifoldType.e_faceA,y=0);var v=Ae;Ce(v,_,d,m,f,p);var g=_.m_count,x=_.m_vertices,C=m,A=(m+1)%g,b=x[C],S=x[A],T=P.SubVV(S,b,Ee);T.Normalize();var w=P.CrossVOne(T,Be),E=P.MidVV(b,S,Me),B=F.MulRV(d.q,T,Re),M=P.CrossVOne(B,Ie),I=N.MulXV(d,b,De),R=N.MulXV(d,S,Le),D=P.DotVV(M,I),L=-P.DotVV(B,I)+a,O=P.DotVV(B,R)+a,V=be,G=Se;if(!(Bt(V,v,P.NegV(B,Pe),L,C)<2||Bt(G,V,B,O,A)<2)){e.localNormal.Copy(w),e.localPoint.Copy(E);for(var k=0,z=0;z<o;++z){var U=G[z];if(P.DotVV(M,U.v)-D<=a){var W=e.points[k];if(N.MulTXV(p,U.v,W.localPoint),W.id.Copy(U.id),y){var j=W.id.cf;W.id.cf.indexA=j.indexB,W.id.cf.indexB=j.indexA,W.id.cf.typeA=j.typeB,W.id.cf.typeB=j.typeA}++k}}e.pointCount=k}}}}var Ve=new P,Fe=new P,Ne=new P,Ge=new P,ke=new P,ze=new P,Ue=new P,We=new gt;function je(e,i,n,r,s){e.pointCount=0;var o=N.MulTXV(n,N.MulXV(s,r.m_p,P.s_t0),Ve),a=i.m_vertex1,c=i.m_vertex2,l=P.SubVV(c,a,Fe),h=P.DotVV(l,P.SubVV(c,o,P.s_t0)),u=P.DotVV(l,P.SubVV(o,a,P.s_t0)),_=i.m_radius+r.m_radius,f=We;if(f.cf.indexB=0,f.cf.typeB=t.b2ContactFeatureType.e_vertex,u<=0){var d=a,p=P.SubVV(o,d,Ne);if(P.DotVV(p,p)>_*_)return;if(i.m_hasVertex0){var m=i.m_vertex0,y=a,v=P.SubVV(y,m,Ge);if(P.DotVV(v,P.SubVV(y,o,P.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(d),e.points[0].id.Copy(f),void e.points[0].localPoint.Copy(r.m_p)}if(h<=0){var g=c,x=P.SubVV(o,g,Ne);if(P.DotVV(x,x)>_*_)return;if(i.m_hasVertex3){var C=i.m_vertex3,A=c,b=P.SubVV(C,A,ke);if(P.DotVV(b,P.SubVV(o,A,P.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(g),e.points[0].id.Copy(f),void e.points[0].localPoint.Copy(r.m_p)}var S=P.DotVV(l,l),T=ze;T.x=1/S*(h*a.x+u*c.x),T.y=1/S*(h*a.y+u*c.y);var w=P.SubVV(o,T,Ne);if(!(P.DotVV(w,w)>_*_)){var E=Ue.Set(-l.y,l.x);P.DotVV(E,P.SubVV(o,a,P.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(a),e.points[0].id.Copy(f),e.points[0].localPoint.Copy(r.m_p)}}var He=(function(){return function(){this.type=0,this.index=0,this.separation=0}})(),qe=(function(){return function(){this.vertices=P.MakeArray(a),this.normals=P.MakeArray(a),this.count=0}})(),Xe=(function(){return function(){this.i1=0,this.i2=0,this.v1=new P,this.v2=new P,this.normal=new P,this.sideNormal1=new P,this.sideOffset1=0,this.sideNormal2=new P,this.sideOffset2=0}})(),Ye=new(function(){function e(){this.m_polygonB=new qe,this.m_xf=new N,this.m_centroidB=new P,this.m_v0=new P,this.m_v1=new P,this.m_v2=new P,this.m_v3=new P,this.m_normal0=new P,this.m_normal1=new P,this.m_normal2=new P,this.m_normal=new P,this.m_type1=0,this.m_type2=0,this.m_lowerLimit=new P,this.m_upperLimit=new P,this.m_radius=0,this.m_front=!1}return e.prototype.Collide=function(i,n,r,s,a){N.MulTXX(r,a,this.m_xf),N.MulXV(this.m_xf,s.m_centroid,this.m_centroidB),this.m_v0.Copy(n.m_vertex0),this.m_v1.Copy(n.m_vertex1),this.m_v2.Copy(n.m_vertex2),this.m_v3.Copy(n.m_vertex3);var c=n.m_hasVertex0,l=n.m_hasVertex3,h=P.SubVV(this.m_v2,this.m_v1,e.s_edge1);h.Normalize(),this.m_normal1.Set(h.y,-h.x);var u=P.DotVV(this.m_normal1,P.SubVV(this.m_centroidB,this.m_v1,P.s_t0)),_=0,f=0,d=!1,p=!1;if(c){var m=P.SubVV(this.m_v1,this.m_v0,e.s_edge0);m.Normalize(),this.m_normal0.Set(m.y,-m.x),d=P.CrossVV(m,h)>=0,_=P.DotVV(this.m_normal0,P.SubVV(this.m_centroidB,this.m_v0,P.s_t0))}if(l){var y=P.SubVV(this.m_v3,this.m_v2,e.s_edge2);y.Normalize(),this.m_normal2.Set(y.y,-y.x),p=P.CrossVV(h,y)>0,f=P.DotVV(this.m_normal2,P.SubVV(this.m_centroidB,this.m_v2,P.s_t0))}c&&l?d&&p?(this.m_front=_>=0||u>=0||f>=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())):d?(this.m_front=_>=0||u>=0&&f>=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=f>=0||_>=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=_>=0&&u>=0&&f>=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())):c?d?(this.m_front=_>=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=_>=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||f>=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&&f>=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 v=0;v<s.m_count;++v)N.MulXV(this.m_xf,s.m_vertices[v],this.m_polygonB.vertices[v]),F.MulRV(this.m_xf.q,s.m_normals[v],this.m_polygonB.normals[v]);this.m_radius=s.m_radius+n.m_radius,i.pointCount=0;var g=this.ComputeEdgeSeparation(e.s_edgeAxis);if(0!==g.type&&!(g.separation>this.m_radius)){var x=this.ComputePolygonSeparation(e.s_polygonAxis);if(!(0!==x.type&&x.separation>this.m_radius)){var C;C=0===x.type?g:x.separation>.98*g.separation+.001?x:g;var A=e.s_ie,b=e.s_rf;if(1===C.type){i.type=t.b2ManifoldType.e_faceA;var S=0,T=P.DotVV(this.m_normal,this.m_polygonB.normals[0]);for(v=1;v<this.m_polygonB.count;++v){var w=P.DotVV(this.m_normal,this.m_polygonB.normals[v]);w<T&&(T=w,S=v)}var E=S,B=(E+1)%this.m_polygonB.count;(M=A[0]).v.Copy(this.m_polygonB.vertices[E]),M.id.cf.indexA=0,M.id.cf.indexB=E,M.id.cf.typeA=t.b2ContactFeatureType.e_face,M.id.cf.typeB=t.b2ContactFeatureType.e_vertex,(I=A[1]).v.Copy(this.m_polygonB.vertices[B]),I.id.cf.indexA=0,I.id.cf.indexB=B,I.id.cf.typeA=t.b2ContactFeatureType.e_face,I.id.cf.typeB=t.b2ContactFeatureType.e_vertex,this.m_front?(b.i1=0,b.i2=1,b.v1.Copy(this.m_v1),b.v2.Copy(this.m_v2),b.normal.Copy(this.m_normal1)):(b.i1=1,b.i2=0,b.v1.Copy(this.m_v2),b.v2.Copy(this.m_v1),b.normal.Copy(this.m_normal1).SelfNeg())}else{var M,I;i.type=t.b2ManifoldType.e_faceB,(M=A[0]).v.Copy(this.m_v1),M.id.cf.indexA=0,M.id.cf.indexB=C.index,M.id.cf.typeA=t.b2ContactFeatureType.e_vertex,M.id.cf.typeB=t.b2ContactFeatureType.e_face,(I=A[1]).v.Copy(this.m_v2),I.id.cf.indexA=0,I.id.cf.indexB=C.index,I.id.cf.typeA=t.b2ContactFeatureType.e_vertex,I.id.cf.typeB=t.b2ContactFeatureType.e_face,b.i1=C.index,b.i2=(b.i1+1)%this.m_polygonB.count,b.v1.Copy(this.m_polygonB.vertices[b.i1]),b.v2.Copy(this.m_polygonB.vertices[b.i2]),b.normal.Copy(this.m_polygonB.normals[b.i1])}b.sideNormal1.Set(b.normal.y,-b.normal.x),b.sideNormal2.Copy(b.sideNormal1).SelfNeg(),b.sideOffset1=P.DotVV(b.sideNormal1,b.v1),b.sideOffset2=P.DotVV(b.sideNormal2,b.v2);var R=e.s_clipPoints1,D=e.s_clipPoints2;if(!(Bt(R,A,b.sideNormal1,b.sideOffset1,b.i1)<o||Bt(D,R,b.sideNormal2,b.sideOffset2,b.i2)<o)){1===C.type?(i.localNormal.Copy(b.normal),i.localPoint.Copy(b.v1)):(i.localNormal.Copy(s.m_normals[b.i1]),i.localPoint.Copy(s.m_vertices[b.i1]));var L=0;for(v=0;v<o;++v){if(P.DotVV(b.normal,P.SubVV(D[v].v,b.v1,P.s_t0))<=this.m_radius){var O=i.points[L];1===C.type?(N.MulTXV(this.m_xf,D[v].v,O.localPoint),O.id=D[v].id):(O.localPoint.Copy(D[v].v),O.id.cf.typeA=D[v].id.cf.typeB,O.id.cf.typeB=D[v].id.cf.typeA,O.id.cf.indexA=D[v].id.cf.indexB,O.id.cf.indexB=D[v].id.cf.indexA),++L}}i.pointCount=L}}}},e.prototype.ComputeEdgeSeparation=function(t){var e=t;e.type=1,e.index=this.m_front?0:1,e.separation=i;for(var n=0;n<this.m_polygonB.count;++n){var r=P.DotVV(this.m_normal,P.SubVV(this.m_polygonB.vertices[n],this.m_v1,P.s_t0));r<e.separation&&(e.separation=r)}return e},e.prototype.ComputePolygonSeparation=function(t){var n=t;n.type=0,n.index=-1,n.separation=-i;for(var r=e.s_perp.Set(-this.m_normal.y,this.m_normal.x),s=0;s<this.m_polygonB.count;++s){var o=P.NegV(this.m_polygonB.normals[s],e.s_n),a=P.DotVV(o,P.SubVV(this.m_polygonB.vertices[s],this.m_v1,P.s_t0)),c=P.DotVV(o,P.SubVV(this.m_polygonB.vertices[s],this.m_v2,P.s_t0)),h=g(a,c);if(h>this.m_radius)return n.type=2,n.index=s,n.separation=h,n;if(P.DotVV(o,r)>=0){if(P.DotVV(P.SubVV(o,this.m_upperLimit,P.s_t0),this.m_normal)<-l)continue}else if(P.DotVV(P.SubVV(o,this.m_lowerLimit,P.s_t0),this.m_normal)<-l)continue;h>n.separation&&(n.type=2,n.index=s,n.separation=h)}return n},e.s_edge1=new P,e.s_edge0=new P,e.s_edge2=new P,e.s_ie=bt.MakeArray(2),e.s_rf=new Xe,e.s_clipPoints1=bt.MakeArray(2),e.s_clipPoints2=bt.MakeArray(2),e.s_edgeAxis=new He,e.s_polygonAxis=new He,e.s_n=new P,e.s_perp=new P,e}());function Je(t,e,i,n,r){Ye.Collide(t,e,i,n,r)}var Ze=(function(){return function(){this.mass=0,this.center=new P(0,0),this.I=0}})();(function(t){t[t.e_unknown=-1]="e_unknown",t[t.e_circleShape=0]="e_circleShape",t[t.e_edgeShape=1]="e_edgeShape",t[t.e_polygonShape=2]="e_polygonShape",t[t.e_chainShape=3]="e_chainShape",t[t.e_shapeTypeCount=4]="e_shapeTypeCount"})(t.b2ShapeType||(t.b2ShapeType={}));var Ke=(function(){function e(e,i){this.m_type=t.b2ShapeType.e_unknown,this.m_radius=0,this.m_type=e,this.m_radius=i}return e.prototype.Copy=function(t){return this.m_radius=t.m_radius,this},e.prototype.GetType=function(){return this.m_type},e})(),Qe=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])};function $e(t,e){function i(){this.constructor=t}Qe(t,e),t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)}var ti=(function(e){function i(i){void 0===i&&(i=0);var n=e.call(this,t.b2ShapeType.e_circleShape,i)||this;return n.m_p=new P,n}return $e(i,e),i.prototype.Set=function(t,e){return void 0===e&&(e=this.m_radius),this.m_p.Copy(t),this.m_radius=e,this},i.prototype.Clone=function(){return(new i).Copy(this)},i.prototype.Copy=function(t){return e.prototype.Copy.call(this,t),this.m_p.Copy(t.m_p),this},i.prototype.GetChildCount=function(){return 1},i.prototype.TestPoint=function(t,e){var n=N.MulXV(t,this.m_p,i.TestPoint_s_center),r=P.SubVV(e,n,i.TestPoint_s_d);return P.DotVV(r,r)<=b(this.m_radius)},i.prototype.ComputeDistance=function(t,e,n,r){var s=N.MulXV(t,this.m_p,i.ComputeDistance_s_center);return P.SubVV(e,s,n),n.Normalize()-this.m_radius},i.prototype.RayCast=function(t,e,r,s){var o=N.MulXV(r,this.m_p,i.RayCast_s_position),a=P.SubVV(e.p1,o,i.RayCast_s_s),c=P.DotVV(a,a)-b(this.m_radius),l=P.SubVV(e.p2,e.p1,i.RayCast_s_r),h=P.DotVV(a,l),u=P.DotVV(l,l),_=h*h-u*c;if(_<0||u<n)return!1;var f=-(h+T(_));return 0<=f&&f<=e.maxFraction*u&&(f/=u,t.fraction=f,P.AddVMulSV(a,f,l,t.normal).SelfNormalize(),!0)},i.prototype.ComputeAABB=function(t,e,n){var r=N.MulXV(e,this.m_p,i.ComputeAABB_s_p);t.lowerBound.Set(r.x-this.m_radius,r.y-this.m_radius),t.upperBound.Set(r.x+this.m_radius,r.y+this.m_radius)},i.prototype.ComputeMass=function(t,e){var i=b(this.m_radius);t.mass=e*s*i,t.center.Copy(this.m_p),t.I=t.mass*(.5*i+P.DotVV(this.m_p,this.m_p))},i.prototype.SetupDistanceProxy=function(t,e){t.m_vertices=t.m_buffer,t.m_vertices[0].Copy(this.m_p),t.m_count=1,t.m_radius=this.m_radius},i.prototype.ComputeSubmergedArea=function(t,e,i,r){var o=N.MulXV(i,this.m_p,new P),a=-(P.DotVV(t,o)-e);if(a<-this.m_radius+n)return 0;if(a>this.m_radius)return r.Copy(o),s*this.m_radius*this.m_radius;var c=this.m_radius*this.m_radius,l=a*a,h=c*(I(a/this.m_radius)+s/2)+a*T(c-l),u=-2/3*w(c-l,1.5)/h;return r.x=o.x+t.x*u,r.y=o.y+t.y*u,h},i.prototype.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.TestPoint_s_center=new P,i.TestPoint_s_d=new P,i.ComputeDistance_s_center=new P,i.RayCast_s_position=new P,i.RayCast_s_s=new P,i.RayCast_s_r=new P,i.ComputeAABB_s_p=new P,i})(Ke),ei=(function(e){function r(){var i=e.call(this,t.b2ShapeType.e_polygonShape,h)||this;return i.m_centroid=new P(0,0),i.m_vertices=[],i.m_normals=[],i.m_count=0,i}return $e(r,e),r.prototype.Clone=function(){return(new r).Copy(this)},r.prototype.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=P.MakeArray(this.m_count),this.m_normals=P.MakeArray(this.m_count);for(var i=0;i<this.m_count;++i)this.m_vertices[i].Copy(t.m_vertices[i]),this.m_normals[i].Copy(t.m_normals[i]);return this},r.prototype.GetChildCount=function(){return 1},r.prototype.Set=function(t,e,i){if(void 0===e&&(e=t.length),void 0===i&&(i=0),e<3)return this.SetAsBox(1,1);for(var n=g(e,a),s=r.Set_s_ps,o=0,l=0;l<n;++l){for(var h=t[i+l],u=!0,_=0;_<o;++_)if(P.DistanceSquaredVV(h,s[_])<.5*c*(.5*c)){u=!1;break}u&&s[o++].Copy(h)}if((n=o)<3)return this.SetAsBox(1,1);var f=0,d=s[0].x;for(l=1;l<n;++l){var p=s[l].x;(p>d||p===d&&s[l].y<s[f].y)&&(f=l,d=p)}for(var m=r.Set_s_hull,y=0,v=f;;){m[y]=v;var x=0;for(_=1;_<n;++_)if(x!==v){var C=P.SubVV(s[x],s[m[y]],r.Set_s_r),A=(h=P.SubVV(s[_],s[m[y]],r.Set_s_v),P.CrossVV(C,h));A<0&&(x=_),0===A&&h.LengthSquared()>C.LengthSquared()&&(x=_)}else x=_;if(++y,v=x,x===f)break}this.m_count=y,this.m_vertices=P.MakeArray(this.m_count),this.m_normals=P.MakeArray(this.m_count);for(l=0;l<y;++l)this.m_vertices[l].Copy(s[m[l]]);for(l=0;l<y;++l){var b=this.m_vertices[l],S=this.m_vertices[(l+1)%y],T=P.SubVV(S,b,P.s_t0);P.CrossVOne(T,this.m_normals[l]).SelfNormalize()}return r.ComputeCentroid(this.m_vertices,y,this.m_centroid),this},r.prototype.SetAsArray=function(t,e){return void 0===e&&(e=t.length),this.Set(t,e)},r.prototype.SetAsBox=function(t,e,i,n){if(void 0===n&&(n=0),this.m_count=4,this.m_vertices=P.MakeArray(this.m_count),this.m_normals=P.MakeArray(this.m_count),this.m_vertices[0].Set(-t,-e),this.m_vertices[1].Set(t,-e),this.m_vertices[2].Set(t,e),this.m_vertices[3].Set(-t,e),this.m_normals[0].Set(0,-1),this.m_normals[1].Set(1,0),this.m_normals[2].Set(0,1),this.m_normals[3].Set(-1,0),this.m_centroid.SetZero(),i){this.m_centroid.Copy(i);var r=new N;r.SetPosition(i),r.SetRotationAngle(n);for(var s=0;s<this.m_count;++s)N.MulXV(r,this.m_vertices[s],this.m_vertices[s]),F.MulRV(r.q,this.m_normals[s],this.m_normals[s])}return this},r.prototype.TestPoint=function(t,e){for(var i=N.MulTXV(t,e,r.TestPoint_s_pLocal),n=0;n<this.m_count;++n){if(P.DotVV(this.m_normals[n],P.SubVV(i,this.m_vertices[n],P.s_t0))>0)return!1}return!0},r.prototype.ComputeDistance=function(t,e,n,s){for(var o=N.MulTXV(t,e,r.ComputeDistance_s_pLocal),a=-i,c=r.ComputeDistance_s_normalForMaxDistance.Copy(o),l=0;l<this.m_count;++l){var h=P.DotVV(this.m_normals[l],P.SubVV(o,this.m_vertices[l],P.s_t0));h>a&&(a=h,c.Copy(this.m_normals[l]))}if(a>0){var u=r.ComputeDistance_s_minDistance.Copy(c),_=a*a;for(l=0;l<this.m_count;++l){var f=P.SubVV(o,this.m_vertices[l],r.ComputeDistance_s_distance),d=f.LengthSquared();_>d&&(u.Copy(f),_=d)}return F.MulRV(t.q,u,n),n.Normalize(),Math.sqrt(_)}return F.MulRV(t.q,c,n),a},r.prototype.RayCast=function(t,e,i,n){for(var s=N.MulTXV(i,e.p1,r.RayCast_s_p1),o=N.MulTXV(i,e.p2,r.RayCast_s_p2),a=P.SubVV(o,s,r.RayCast_s_d),c=0,l=e.maxFraction,h=-1,u=0;u<this.m_count;++u){var _=P.DotVV(this.m_normals[u],P.SubVV(this.m_vertices[u],s,P.s_t0)),f=P.DotVV(this.m_normals[u],a);if(0===f){if(_<0)return!1}else f<0&&_<c*f?(c=_/f,h=u):f>0&&_<l*f&&(l=_/f);if(l<c)return!1}return h>=0&&(t.fraction=c,F.MulRV(i.q,this.m_normals[h],t.normal),!0)},r.prototype.ComputeAABB=function(t,e,i){for(var n=N.MulXV(e,this.m_vertices[0],t.lowerBound),s=t.upperBound.Copy(n),o=0;o<this.m_count;++o){var a=N.MulXV(e,this.m_vertices[o],r.ComputeAABB_s_v);P.MinV(a,n,n),P.MaxV(a,s,s)}var c=this.m_radius;n.SelfSubXY(c,c),s.SelfAddXY(c,c)},r.prototype.ComputeMass=function(t,e){for(var i=r.ComputeMass_s_center.SetZero(),n=0,s=0,o=r.ComputeMass_s_s.SetZero(),a=0;a<this.m_count;++a)o.SelfAdd(this.m_vertices[a]);o.SelfMul(1/this.m_count);for(a=0;a<this.m_count;++a){var c=P.SubVV(this.m_vertices[a],o,r.ComputeMass_s_e1),l=P.SubVV(this.m_vertices[(a+1)%this.m_count],o,r.ComputeMass_s_e2),h=P.CrossVV(c,l),u=.5*h;n+=u,i.SelfAdd(P.MulSV(u*(1/3),P.AddVV(c,l,P.s_t0),P.s_t1));var _=c.x,f=c.y,d=l.x,p=l.y;s+=1/3*.25*h*(_*_+d*_+d*d+(f*f+p*f+p*p))}t.mass=e*n,i.SelfMul(1/n),P.AddVV(i,o,t.center),t.I=e*s,t.I+=t.mass*(P.DotVV(t.center,t.center)-P.DotVV(i,i))},r.prototype.Validate=function(){for(var t=0;t<this.m_count;++t)for(var e=t,i=(t+1)%this.m_count,n=this.m_vertices[e],s=P.SubVV(this.m_vertices[i],n,r.Validate_s_e),o=0;o<this.m_count;++o)if(o!==e&&o!==i){var a=P.SubVV(this.m_vertices[o],n,r.Validate_s_v);if(P.CrossVV(s,a)<0)return!1}return!0},r.prototype.SetupDistanceProxy=function(t,e){t.m_vertices=this.m_vertices,t.m_count=this.m_count,t.m_radius=this.m_radius},r.prototype.ComputeSubmergedArea=function(t,e,i,s){for(var o=F.MulTRV(i.q,t,r.ComputeSubmergedArea_s_normalL),a=e-P.DotVV(t,i.p),c=r.ComputeSubmergedArea_s_depths,l=0,h=-1,u=-1,_=!1,f=0;f<this.m_count;++f){c[f]=P.DotVV(o,this.m_vertices[f])-a;var d=c[f]<-n;f>0&&(d?_||(h=f-1,l++):_&&(u=f-1,l++)),_=d}switch(l){case 0:if(_){var p=r.ComputeSubmergedArea_s_md;return this.ComputeMass(p,1),N.MulXV(i,p.center,s),p.mass}return 0;case 1:-1===h?h=this.m_count-1:u=this.m_count-1}for(var m,y=(h+1)%this.m_count,v=(u+1)%this.m_count,g=(0-c[h])/(c[y]-c[h]),x=(0-c[u])/(c[v]-c[u]),C=r.ComputeSubmergedArea_s_intoVec.Set(this.m_vertices[h].x*(1-g)+this.m_vertices[y].x*g,this.m_vertices[h].y*(1-g)+this.m_vertices[y].y*g),A=r.ComputeSubmergedArea_s_outoVec.Set(this.m_vertices[u].x*(1-x)+this.m_vertices[v].x*x,this.m_vertices[u].y*(1-x)+this.m_vertices[v].y*x),b=0,S=r.ComputeSubmergedArea_s_center.SetZero(),T=this.m_vertices[y],w=y;w!==v;){m=(w=(w+1)%this.m_count)===v?A:this.m_vertices[w];var E=.5*((T.x-C.x)*(m.y-C.y)-(T.y-C.y)*(m.x-C.x));b+=E,S.x+=E*(C.x+T.x+m.x)/3,S.y+=E*(C.y+T.y+m.y)/3,T=m}return S.SelfMul(1/b),N.MulXV(i,S,s),b},r.prototype.Dump=function(t){t(" const shape: b2PolygonShape = new b2PolygonShape();\n"),t(" const vs: b2Vec2[] = b2Vec2.MakeArray(%d);\n",a);for(var e=0;e<this.m_count;++e)t(" vs[%d].Set(%.15f, %.15f);\n",e,this.m_vertices[e].x,this.m_vertices[e].y);t(" shape.Set(vs, %d);\n",this.m_count)},r.ComputeCentroid=function(t,e,i){var n=i;n.SetZero();for(var s=0,o=r.ComputeCentroid_s_pRef.SetZero(),a=0;a<e;++a){var c=o,l=t[a],h=t[(a+1)%e],u=P.SubVV(l,c,r.ComputeCentroid_s_e1),_=P.SubVV(h,c,r.ComputeCentroid_s_e2),f=.5*P.CrossVV(u,_);s+=f,n.x+=f*(1/3)*(c.x+l.x+h.x),n.y+=f*(1/3)*(c.y+l.y+h.y)}return n.SelfMul(1/s),n},r.Set_s_ps=P.MakeArray(a),r.Set_s_hull=p(a),r.Set_s_r=new P,r.Set_s_v=new P,r.TestPoint_s_pLocal=new P,r.ComputeDistance_s_pLocal=new P,r.ComputeDistance_s_normalForMaxDistance=new P,r.ComputeDistance_s_minDistance=new P,r.ComputeDistance_s_distance=new P,r.RayCast_s_p1=new P,r.RayCast_s_p2=new P,r.RayCast_s_d=new P,r.ComputeAABB_s_v=new P,r.ComputeMass_s_center=new P,r.ComputeMass_s_s=new P,r.ComputeMass_s_e1=new P,r.ComputeMass_s_e2=new P,r.Validate_s_e=new P,r.Validate_s_v=new P,r.ComputeSubmergedArea_s_normalL=new P,r.ComputeSubmergedArea_s_depths=p(a),r.ComputeSubmergedArea_s_md=new Ze,r.ComputeSubmergedArea_s_intoVec=new P,r.ComputeSubmergedArea_s_outoVec=new P,r.ComputeSubmergedArea_s_center=new P,r.ComputeCentroid_s_pRef=new P,r.ComputeCentroid_s_e1=new P,r.ComputeCentroid_s_e2=new P,r})(Ke),ii=(function(e){function i(){var i=e.call(this,t.b2ShapeType.e_edgeShape,h)||this;return i.m_vertex1=new P,i.m_vertex2=new P,i.m_vertex0=new P,i.m_vertex3=new P,i.m_hasVertex0=!1,i.m_hasVertex3=!1,i}return $e(i,e),i.prototype.Set=function(t,e){return this.m_vertex1.Copy(t),this.m_vertex2.Copy(e),this.m_hasVertex0=!1,this.m_hasVertex3=!1,this},i.prototype.Clone=function(){return(new i).Copy(this)},i.prototype.Copy=function(t){return e.prototype.Copy.call(this,t),this.m_vertex1.Copy(t.m_vertex1),this.m_vertex2.Copy(t.m_vertex2),this.m_vertex0.Copy(t.m_vertex0),this.m_vertex3.Copy(t.m_vertex3),this.m_hasVertex0=t.m_hasVertex0,this.m_hasVertex3=t.m_hasVertex3,this},i.prototype.GetChildCount=function(){return 1},i.prototype.TestPoint=function(t,e){return!1},i.prototype.ComputeDistance=function(t,e,n,r){var s=N.MulXV(t,this.m_vertex1,i.ComputeDistance_s_v1),o=N.MulXV(t,this.m_vertex2,i.ComputeDistance_s_v2),a=P.SubVV(e,s,i.ComputeDistance_s_d),c=P.SubVV(o,s,i.ComputeDistance_s_s),l=P.DotVV(a,c);if(l>0){var h=P.DotVV(c,c);l>h?P.SubVV(e,o,a):a.SelfMulSub(l/h,c)}return n.Copy(a),n.Normalize()},i.prototype.RayCast=function(t,e,n,r){var s=N.MulTXV(n,e.p1,i.RayCast_s_p1),o=N.MulTXV(n,e.p2,i.RayCast_s_p2),a=P.SubVV(o,s,i.RayCast_s_d),c=this.m_vertex1,l=this.m_vertex2,h=P.SubVV(l,c,i.RayCast_s_e),u=t.normal.Set(h.y,-h.x).SelfNormalize(),_=P.DotVV(u,P.SubVV(c,s,P.s_t0)),f=P.DotVV(u,a);if(0===f)return!1;var d=_/f;if(d<0||e.maxFraction<d)return!1;var p=P.AddVMulSV(s,d,a,i.RayCast_s_q),m=P.SubVV(l,c,i.RayCast_s_r),y=P.DotVV(m,m);if(0===y)return!1;var v=P.DotVV(P.SubVV(p,c,P.s_t0),m)/y;return!(v<0||1<v)&&(t.fraction=d,F.MulRV(n.q,t.normal,t.normal),_>0&&t.normal.SelfNeg(),!0)},i.prototype.ComputeAABB=function(t,e,n){var r=N.MulXV(e,this.m_vertex1,i.ComputeAABB_s_v1),s=N.MulXV(e,this.m_vertex2,i.ComputeAABB_s_v2);P.MinV(r,s,t.lowerBound),P.MaxV(r,s,t.upperBound);var o=this.m_radius;t.lowerBound.SelfSubXY(o,o),t.upperBound.SelfAddXY(o,o)},i.prototype.ComputeMass=function(t,e){t.mass=0,P.MidVV(this.m_vertex1,this.m_vertex2,t.center),t.I=0},i.prototype.SetupDistanceProxy=function(t,e){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},i.prototype.ComputeSubmergedArea=function(t,e,i,n){return n.SetZero(),0},i.prototype.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.ComputeDistance_s_v1=new P,i.ComputeDistance_s_v2=new P,i.ComputeDistance_s_d=new P,i.ComputeDistance_s_s=new P,i.RayCast_s_p1=new P,i.RayCast_s_p2=new P,i.RayCast_s_d=new P,i.RayCast_s_e=new P,i.RayCast_s_q=new P,i.RayCast_s_r=new P,i.ComputeAABB_s_v1=new P,i.ComputeAABB_s_v2=new P,i})(Ke),ni=(function(e){function i(){var i=e.call(this,t.b2ShapeType.e_chainShape,h)||this;return i.m_vertices=[],i.m_count=0,i.m_prevVertex=new P,i.m_nextVertex=new P,i.m_hasPrevVertex=!1,i.m_hasNextVertex=!1,i}return $e(i,e),i.prototype.CreateLoop=function(t,e,i){if(void 0===e&&(e=t.length),void 0===i&&(i=0),e<3)return this;this.m_count=e+1,this.m_vertices=P.MakeArray(this.m_count);for(var n=0;n<e;++n)this.m_vertices[n].Copy(t[i+n]);return this.m_vertices[e].Copy(this.m_vertices[0]),this.m_prevVertex.Copy(this.m_vertices[this.m_count-2]),this.m_nextVertex.Copy(this.m_vertices[1]),this.m_hasPrevVertex=!0,this.m_hasNextVertex=!0,this},i.prototype.CreateChain=function(t,e,i){void 0===e&&(e=t.length),void 0===i&&(i=0),this.m_count=e,this.m_vertices=P.MakeArray(e);for(var n=0;n<e;++n)this.m_vertices[n].Copy(t[i+n]);return this.m_hasPrevVertex=!1,this.m_hasNextVertex=!1,this.m_prevVertex.SetZero(),this.m_nextVertex.SetZero(),this},i.prototype.SetPrevVertex=function(t){return this.m_prevVertex.Copy(t),this.m_hasPrevVertex=!0,this},i.prototype.SetNextVertex=function(t){return this.m_nextVertex.Copy(t),this.m_hasNextVertex=!0,this},i.prototype.Clone=function(){return(new i).Copy(this)},i.prototype.Copy=function(t){return e.prototype.Copy.call(this,t),this.CreateChain(t.m_vertices,t.m_count),this.m_prevVertex.Copy(t.m_prevVertex),this.m_nextVertex.Copy(t.m_nextVertex),this.m_hasPrevVertex=t.m_hasPrevVertex,this.m_hasNextVertex=t.m_hasNextVertex,this},i.prototype.GetChildCount=function(){return this.m_count-1},i.prototype.GetChildEdge=function(e,i){e.m_type=t.b2ShapeType.e_edgeShape,e.m_radius=this.m_radius,e.m_vertex1.Copy(this.m_vertices[i]),e.m_vertex2.Copy(this.m_vertices[i+1]),i>0?(e.m_vertex0.Copy(this.m_vertices[i-1]),e.m_hasVertex0=!0):(e.m_vertex0.Copy(this.m_prevVertex),e.m_hasVertex0=this.m_hasPrevVertex),i<this.m_count-2?(e.m_vertex3.Copy(this.m_vertices[i+2]),e.m_hasVertex3=!0):(e.m_vertex3.Copy(this.m_nextVertex),e.m_hasVertex3=this.m_hasNextVertex)},i.prototype.TestPoint=function(t,e){return!1},i.prototype.ComputeDistance=function(t,e,n,r){var s=i.ComputeDistance_s_edgeShape;return this.GetChildEdge(s,r),s.ComputeDistance(t,e,n,0)},i.prototype.RayCast=function(t,e,n,r){var s=i.RayCast_s_edgeShape;return s.m_vertex1.Copy(this.m_vertices[r]),s.m_vertex2.Copy(this.m_vertices[(r+1)%this.m_count]),s.RayCast(t,e,n,0)},i.prototype.ComputeAABB=function(t,e,n){var r=this.m_vertices[n],s=this.m_vertices[(n+1)%this.m_count],o=N.MulXV(e,r,i.ComputeAABB_s_v1),a=N.MulXV(e,s,i.ComputeAABB_s_v2);P.MinV(o,a,t.lowerBound),P.MaxV(o,a,t.upperBound)},i.prototype.ComputeMass=function(t,e){t.mass=0,t.center.SetZero(),t.I=0},i.prototype.SetupDistanceProxy=function(t,e){t.m_vertices=t.m_buffer,t.m_vertices[0].Copy(this.m_vertices[e]),e+1<this.m_count?t.m_vertices[1].Copy(this.m_vertices[e+1]):t.m_vertices[1].Copy(this.m_vertices[0]),t.m_count=2,t.m_radius=this.m_radius},i.prototype.ComputeSubmergedArea=function(t,e,i,n){return n.SetZero(),0},i.prototype.Dump=function(t){t(" const shape: b2ChainShape = new b2ChainShape();\n"),t(" const vs: b2Vec2[] = b2Vec2.MakeArray(%d);\n",a);for(var e=0;e<this.m_count;++e)t(" vs[%d].Set(%.15f, %.15f);\n",e,this.m_vertices[e].x,this.m_vertices[e].y);t(" shape.CreateChain(vs, %d);\n",this.m_count),t(" shape.m_prevVertex.Set(%.15f, %.15f);\n",this.m_prevVertex.x,this.m_prevVertex.y),t(" shape.m_nextVertex.Set(%.15f, %.15f);\n",this.m_nextVertex.x,this.m_nextVertex.y),t(" shape.m_hasPrevVertex = %s;\n",this.m_hasPrevVertex?"true":"false"),t(" shape.m_hasNextVertex = %s;\n",this.m_hasNextVertex?"true":"false")},i.ComputeDistance_s_edgeShape=new ii,i.RayCast_s_edgeShape=new ii,i.ComputeAABB_s_v1=new P,i.ComputeAABB_s_v2=new P,i})(Ke),ri=(function(){function t(){this.categoryBits=1,this.maskBits=65535,this.groupIndex=0}return t.prototype.Clone=function(){return(new t).Copy(this)},t.prototype.Copy=function(t){return this.categoryBits=t.categoryBits,this.maskBits=t.maskBits,this.groupIndex=t.groupIndex||0,this},t.DEFAULT=new t,t})(),si=(function(){return function(){this.userData=null,this.friction=.2,this.restitution=0,this.density=0,this.isSensor=!1,this.filter=new ri}})(),oi=(function(){return function(t){this.aabb=new wt,this.childIndex=0,this.fixture=t}})(),ai=(function(){function t(t,e){this.m_density=0,this.m_next=null,this.m_friction=0,this.m_restitution=0,this.m_proxies=[],this.m_proxyCount=0,this.m_filter=new ri,this.m_isSensor=!1,this.m_userData=null,this.m_body=e,this.m_shape=t.shape.Clone()}return t.prototype.GetType=function(){return this.m_shape.GetType()},t.prototype.GetShape=function(){return this.m_shape},t.prototype.SetSensor=function(t){t!==this.m_isSensor&&(this.m_body.SetAwake(!0),this.m_isSensor=t)},t.prototype.IsSensor=function(){return this.m_isSensor},t.prototype.SetFilterData=function(t){this.m_filter.Copy(t),this.Refilter()},t.prototype.GetFilterData=function(){return this.m_filter},t.prototype.Refilter=function(){for(var t=this.m_body.GetContactList();t;){var e=t.contact,i=e.GetFixtureA(),n=e.GetFixtureB();i!==this&&n!==this||e.FlagForFiltering(),t=t.next}var r=this.m_body.GetWorld();if(null!==r)for(var s=r.m_contactManager.m_broadPhase,o=0;o<this.m_proxyCount;++o)s.TouchProxy(this.m_proxies[o].treeNode)},t.prototype.GetBody=function(){return this.m_body},t.prototype.GetNext=function(){return this.m_next},t.prototype.GetUserData=function(){return this.m_userData},t.prototype.SetUserData=function(t){this.m_userData=t},t.prototype.TestPoint=function(t){return this.m_shape.TestPoint(this.m_body.GetTransform(),t)},t.prototype.ComputeDistance=function(t,e,i){return this.m_shape.ComputeDistance(this.m_body.GetTransform(),t,e,i)},t.prototype.RayCast=function(t,e,i){return this.m_shape.RayCast(t,e,this.m_body.GetTransform(),i)},t.prototype.GetMassData=function(t){return void 0===t&&(t=new Ze),this.m_shape.ComputeMass(t,this.m_density),t},t.prototype.SetDensity=function(t){this.m_density=t},t.prototype.GetDensity=function(){return this.m_density},t.prototype.GetFriction=function(){return this.m_friction},t.prototype.SetFriction=function(t){this.m_friction=t},t.prototype.GetRestitution=function(){return this.m_restitution},t.prototype.SetRestitution=function(t){this.m_restitution=t},t.prototype.GetAABB=function(t){return this.m_proxies[t].aabb},t.prototype.Dump=function(t,e){t(" const fd: b2FixtureDef = new b2FixtureDef();\n"),t(" fd.friction = %.15f;\n",this.m_friction),t(" fd.restitution = %.15f;\n",this.m_restitution),t(" fd.density = %.15f;\n",this.m_density),t(" fd.isSensor = %s;\n",this.m_isSensor?"true":"false"),t(" fd.filter.categoryBits = %d;\n",this.m_filter.categoryBits),t(" fd.filter.maskBits = %d;\n",this.m_filter.maskBits),t(" fd.filter.groupIndex = %d;\n",this.m_filter.groupIndex),this.m_shape.Dump(t),t("\n"),t(" fd.shape = shape;\n"),t("\n"),t(" bodies[%d].CreateFixture(fd);\n",e)},t.prototype.Create=function(t){var i=this;this.m_userData=t.userData,this.m_friction=e(t.friction,.2),this.m_restitution=e(t.restitution,0),this.m_next=null,this.m_filter.Copy(e(t.filter,ri.DEFAULT)),this.m_isSensor=e(t.isSensor,!1),this.m_proxies=d(this.m_shape.GetChildCount(),(function(t){return new oi(i)})),this.m_proxyCount=0,this.m_density=e(t.density,0)},t.prototype.Destroy=function(){},t.prototype.CreateProxies=function(t){var e=this.m_body.m_world.m_contactManager.m_broadPhase;this.m_proxyCount=this.m_shape.GetChildCount();for(var i=0;i<this.m_proxyCount;++i){var n=this.m_proxies[i]=new oi(this);this.m_shape.ComputeAABB(n.aabb,t,i),n.treeNode=e.CreateProxy(n.aabb,n),n.childIndex=i}},t.prototype.DestroyProxies=function(){for(var t=this.m_body.m_world.m_contactManager.m_broadPhase,e=0;e<this.m_proxyCount;++e){var i=this.m_proxies[e];delete i.treeNode.userData,t.DestroyProxy(i.treeNode),delete i.treeNode}this.m_proxyCount=0},t.prototype.TouchProxies=function(){for(var t=this.m_body.m_world.m_contactManager.m_broadPhase,e=this.m_proxyCount,i=0;i<e;++i)t.TouchProxy(this.m_proxies[i].treeNode)},t.prototype.Synchronize=function(e,i){if(0!==this.m_proxyCount)for(var n=this.m_body.m_world.m_contactManager.m_broadPhase,r=0;r<this.m_proxyCount;++r){var s=this.m_proxies[r],o=t.Synchronize_s_aabb1,a=t.Synchronize_s_aabb2;this.m_shape.ComputeAABB(o,e,r),this.m_shape.ComputeAABB(a,i,r),s.aabb.Combine2(o,a);var c=P.SubVV(i.p,e.p,t.Synchronize_s_displacement);n.MoveProxy(s.treeNode,s.aabb,c)}},t.Synchronize_s_aabb1=new wt,t.Synchronize_s_aabb2=new wt,t.Synchronize_s_displacement=new P,t})();(function(t){t[t.b2_unknown=-1]="b2_unknown",t[t.b2_staticBody=0]="b2_staticBody",t[t.b2_kinematicBody=1]="b2_kinematicBody",t[t.b2_dynamicBody=2]="b2_dynamicBody"})(t.b2BodyType||(t.b2BodyType={}));var ci=(function(){return function(){this.type=t.b2BodyType.b2_staticBody,this.position=new P(0,0),this.angle=0,this.linearVelocity=new P(0,0),this.angularVelocity=0,this.linearDamping=0,this.angularDamping=0,this.allowSleep=!0,this.awake=!0,this.fixedRotation=!1,this.bullet=!1,this.active=!0,this.userData=null,this.gravityScale=1}})(),li=(function(){function i(i,n){this.m_type=t.b2BodyType.b2_staticBody,this.m_islandFlag=!1,this.m_awakeFlag=!1,this.m_autoSleepFlag=!1,this.m_bulletFlag=!1,this.m_fixedRotationFlag=!1,this.m_activeFlag=!1,this.m_toiFlag=!1,this.m_islandIndex=0,this.m_xf=new N,this.m_xf0=new N,this.m_sweep=new G,this.m_linearVelocity=new P,this.m_angularVelocity=0,this.m_force=new P,this.m_torque=0,this.m_prev=null,this.m_next=null,this.m_fixtureList=null,this.m_fixtureCount=0,this.m_jointList=null,this.m_contactList=null,this.m_mass=1,this.m_invMass=1,this.m_I=0,this.m_invI=0,this.m_linearDamping=0,this.m_angularDamping=0,this.m_gravityScale=1,this.m_sleepTime=0,this.m_userData=null,this.m_controllerList=null,this.m_controllerCount=0,this.m_bulletFlag=e(i.bullet,!1),this.m_fixedRotationFlag=e(i.fixedRotation,!1),this.m_autoSleepFlag=e(i.allowSleep,!0),this.m_awakeFlag=e(i.awake,!0),this.m_activeFlag=e(i.active,!0),this.m_world=n,this.m_xf.p.Copy(e(i.position,P.ZERO)),this.m_xf.q.SetAngle(e(i.angle,0)),this.m_xf0.Copy(this.m_xf),this.m_sweep.localCenter.SetZero(),this.m_sweep.c0.Copy(this.m_xf.p),this.m_sweep.c.Copy(this.m_xf.p),this.m_sweep.a0=this.m_sweep.a=this.m_xf.q.GetAngle(),this.m_sweep.alpha0=0,this.m_linearVelocity.Copy(e(i.linearVelocity,P.ZERO)),this.m_angularVelocity=e(i.angularVelocity,0),this.m_linearDamping=e(i.linearDamping,0),this.m_angularDamping=e(i.angularDamping,0),this.m_gravityScale=e(i.gravityScale,1),this.m_force.SetZero(),this.m_torque=0,this.m_sleepTime=0,this.m_type=e(i.type,t.b2BodyType.b2_staticBody),i.type===t.b2BodyType.b2_dynamicBody?(this.m_mass=1,this.m_invMass=1):(this.m_mass=0,this.m_invMass=0),this.m_I=0,this.m_invI=0,this.m_userData=i.userData,this.m_fixtureList=null,this.m_fixtureCount=0,this.m_controllerList=null,this.m_controllerCount=0}return i.prototype.CreateFixture=function(t,e){return void 0===e&&(e=0),t instanceof Ke?this.CreateFixtureShapeDensity(t,e):this.CreateFixtureDef(t)},i.prototype.CreateFixtureDef=function(t){if(this.m_world.IsLocked())throw new Error;var e=new ai(t,this);return e.Create(t),this.m_activeFlag&&e.CreateProxies(this.m_xf),e.m_next=this.m_fixtureList,this.m_fixtureList=e,++this.m_fixtureCount,e.m_density>0&&this.ResetMassData(),this.m_world.m_newFixture=!0,e},i.prototype.CreateFixtureShapeDensity=function(t,e){void 0===e&&(e=0);var n=i.CreateFixtureShapeDensity_s_def;return n.shape=t,n.density=e,this.CreateFixtureDef(n)},i.prototype.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 n=this.m_contactList;n;){var r=n.contact;n=n.next;var s=r.GetFixtureA(),o=r.GetFixtureB();t!==s&&t!==o||this.m_world.m_contactManager.Destroy(r)}this.m_activeFlag&&t.DestroyProxies(),t.m_next=null,t.Destroy(),--this.m_fixtureCount,this.ResetMassData()},i.prototype.SetTransformVec=function(t,e){this.SetTransformXY(t.x,t.y,e)},i.prototype.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),N.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 n=this.m_fixtureList;n;n=n.m_next)n.Synchronize(this.m_xf,this.m_xf);this.m_world.m_contactManager.FindNewContacts()},i.prototype.SetTransform=function(t){this.SetTransformVec(t.p,t.GetAngle())},i.prototype.GetTransform=function(){return this.m_xf},i.prototype.GetPosition=function(){return this.m_xf.p},i.prototype.SetPosition=function(t){this.SetTransformVec(t,this.GetAngle())},i.prototype.SetPositionXY=function(t,e){this.SetTransformXY(t,e,this.GetAngle())},i.prototype.GetAngle=function(){return this.m_sweep.a},i.prototype.SetAngle=function(t){this.SetTransformVec(this.GetPosition(),t)},i.prototype.GetWorldCenter=function(){return this.m_sweep.c},i.prototype.GetLocalCenter=function(){return this.m_sweep.localCenter},i.prototype.SetLinearVelocity=function(e){this.m_type!==t.b2BodyType.b2_staticBody&&(P.DotVV(e,e)>0&&this.SetAwake(!0),this.m_linearVelocity.Copy(e))},i.prototype.GetLinearVelocity=function(){return this.m_linearVelocity},i.prototype.SetAngularVelocity=function(e){this.m_type!==t.b2BodyType.b2_staticBody&&(e*e>0&&this.SetAwake(!0),this.m_angularVelocity=e)},i.prototype.GetAngularVelocity=function(){return this.m_angularVelocity},i.prototype.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},i.prototype.ApplyForce=function(e,i,n){void 0===n&&(n=!0),this.m_type===t.b2BodyType.b2_dynamicBody&&(n&&!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))},i.prototype.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))},i.prototype.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))},i.prototype.ApplyLinearImpulse=function(e,i,n){void 0===n&&(n=!0),this.m_type===t.b2BodyType.b2_dynamicBody&&(n&&!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)))},i.prototype.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))},i.prototype.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))},i.prototype.GetMass=function(){return this.m_mass},i.prototype.GetInertia=function(){return this.m_I+this.m_mass*P.DotVV(this.m_sweep.localCenter,this.m_sweep.localCenter)},i.prototype.GetMassData=function(t){return t.mass=this.m_mass,t.I=this.m_I+this.m_mass*P.DotVV(this.m_sweep.localCenter,this.m_sweep.localCenter),t.center.Copy(this.m_sweep.localCenter),t},i.prototype.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*P.DotVV(e.center,e.center),this.m_invI=1/this.m_I);var n=i.SetMassData_s_oldCenter.Copy(this.m_sweep.c);this.m_sweep.localCenter.Copy(e.center),N.MulXV(this.m_xf,this.m_sweep.localCenter,this.m_sweep.c),this.m_sweep.c0.Copy(this.m_sweep.c),P.AddVCrossSV(this.m_linearVelocity,this.m_angularVelocity,P.SubVV(this.m_sweep.c,n,P.s_t0),this.m_linearVelocity)}},i.prototype.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(),n=this.m_fixtureList;n;n=n.m_next)if(0!==n.m_density){var r=n.GetMassData(i.ResetMassData_s_massData);this.m_mass+=r.mass,e.x+=r.center.x*r.mass,e.y+=r.center.y*r.mass,this.m_I+=r.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*P.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),N.MulXV(this.m_xf,this.m_sweep.localCenter,this.m_sweep.c),this.m_sweep.c0.Copy(this.m_sweep.c),P.AddVCrossSV(this.m_linearVelocity,this.m_angularVelocity,P.SubVV(this.m_sweep.c,s,P.s_t0),this.m_linearVelocity)},i.prototype.GetWorldPoint=function(t,e){return N.MulXV(this.m_xf,t,e)},i.prototype.GetWorldVector=function(t,e){return F.MulRV(this.m_xf.q,t,e)},i.prototype.GetLocalPoint=function(t,e){return N.MulTXV(this.m_xf,t,e)},i.prototype.GetLocalVector=function(t,e){return F.MulTRV(this.m_xf.q,t,e)},i.prototype.GetLinearVelocityFromWorldPoint=function(t,e){return P.AddVCrossSV(this.m_linearVelocity,this.m_angularVelocity,P.SubVV(t,this.m_sweep.c,P.s_t0),e)},i.prototype.GetLinearVelocityFromLocalPoint=function(t,e){return this.GetLinearVelocityFromWorldPoint(this.GetWorldPoint(t,e),e)},i.prototype.GetLinearDamping=function(){return this.m_linearDamping},i.prototype.SetLinearDamping=function(t){this.m_linearDamping=t},i.prototype.GetAngularDamping=function(){return this.m_angularDamping},i.prototype.SetAngularDamping=function(t){this.m_angularDamping=t},i.prototype.GetGravityScale=function(){return this.m_gravityScale},i.prototype.SetGravityScale=function(t){this.m_gravityScale=t},i.prototype.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 n=i;i=i.next,this.m_world.m_contactManager.Destroy(n.contact)}this.m_contactList=null;for(var r=this.m_fixtureList;r;r=r.m_next)r.TouchProxies()}},i.prototype.GetType=function(){return this.m_type},i.prototype.SetBullet=function(t){this.m_bulletFlag=t},i.prototype.IsBullet=function(){return this.m_bulletFlag},i.prototype.SetSleepingAllowed=function(t){this.m_autoSleepFlag=t,t||this.SetAwake(!0)},i.prototype.IsSleepingAllowed=function(){return this.m_autoSleepFlag},i.prototype.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)},i.prototype.IsAwake=function(){return this.m_awakeFlag},i.prototype.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(this.m_xf);else{for(e=this.m_fixtureList;e;e=e.m_next)e.DestroyProxies();for(var i=this.m_contactList;i;){var n=i;i=i.next,this.m_world.m_contactManager.Destroy(n.contact)}this.m_contactList=null}},i.prototype.IsActive=function(){return this.m_activeFlag},i.prototype.SetFixedRotation=function(t){this.m_fixedRotationFlag!==t&&(this.m_fixedRotationFlag=t,this.m_angularVelocity=0,this.ResetMassData())},i.prototype.IsFixedRotation=function(){return this.m_fixedRotationFlag},i.prototype.GetFixtureList=function(){return this.m_fixtureList},i.prototype.GetJointList=function(){return this.m_jointList},i.prototype.GetContactList=function(){return this.m_contactList},i.prototype.GetNext=function(){return this.m_next},i.prototype.GetUserData=function(){return this.m_userData},i.prototype.SetUserData=function(t){this.m_userData=t},i.prototype.GetWorld=function(){return this.m_world},i.prototype.Dump=function(e){var i=this.m_islandIndex;e("{\n"),e(" const bd: b2BodyDef = new b2BodyDef();\n");var n="";switch(this.m_type){case t.b2BodyType.b2_staticBody:n="b2BodyType.b2_staticBody";break;case t.b2BodyType.b2_kinematicBody:n="b2BodyType.b2_kinematicBody";break;case t.b2BodyType.b2_dynamicBody:n="b2BodyType.b2_dynamicBody"}e(" bd.type = %s;\n",n),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 r=this.m_fixtureList;r;r=r.m_next)e(" {\n"),r.Dump(e,i),e(" }\n");e("}\n")},i.prototype.SynchronizeFixtures=function(){var t=i.SynchronizeFixtures_s_xf1;t.q.SetAngle(this.m_sweep.a0),F.MulRV(t.q,this.m_sweep.localCenter,t.p),P.SubVV(this.m_sweep.c0,t.p,t.p);for(var e=this.m_fixtureList;e;e=e.m_next)e.Synchronize(t,this.m_xf)},i.prototype.SynchronizeTransform=function(){this.m_xf.q.SetAngle(this.m_sweep.a),F.MulRV(this.m_xf.q,this.m_sweep.localCenter,this.m_xf.p),P.SubVV(this.m_sweep.c,this.m_xf.p,this.m_xf.p)},i.prototype.ShouldCollide=function(e){return(this.m_type!==t.b2BodyType.b2_staticBody||e.m_type!==t.b2BodyType.b2_staticBody)&&this.ShouldCollideConnected(e)},i.prototype.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},i.prototype.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),F.MulRV(this.m_xf.q,this.m_sweep.localCenter,this.m_xf.p),P.SubVV(this.m_sweep.c,this.m_xf.p,this.m_xf.p)},i.prototype.GetControllerList=function(){return this.m_controllerList},i.prototype.GetControllerCount=function(){return this.m_controllerCount},i.CreateFixtureShapeDensity_s_def=new si,i.SetMassData_s_oldCenter=new P,i.ResetMassData_s_localCenter=new P,i.ResetMassData_s_oldCenter=new P,i.ResetMassData_s_massData=new Ze,i.SynchronizeFixtures_s_xf1=new N,i})();(function(t){t[t.e_unknownJoint=0]="e_unknownJoint",t[t.e_revoluteJoint=1]="e_revoluteJoint",t[t.e_prismaticJoint=2]="e_prismaticJoint",t[t.e_distanceJoint=3]="e_distanceJoint",t[t.e_pulleyJoint=4]="e_pulleyJoint",t[t.e_mouseJoint=5]="e_mouseJoint",t[t.e_gearJoint=6]="e_gearJoint",t[t.e_wheelJoint=7]="e_wheelJoint",t[t.e_weldJoint=8]="e_weldJoint",t[t.e_frictionJoint=9]="e_frictionJoint",t[t.e_ropeJoint=10]="e_ropeJoint",t[t.e_motorJoint=11]="e_motorJoint",t[t.e_areaJoint=12]="e_areaJoint"})(t.b2JointType||(t.b2JointType={})),(function(t){t[t.e_inactiveLimit=0]="e_inactiveLimit",t[t.e_atLowerLimit=1]="e_atLowerLimit",t[t.e_atUpperLimit=2]="e_atUpperLimit",t[t.e_equalLimits=3]="e_equalLimits"})(t.b2LimitState||(t.b2LimitState={}));var hi=(function(){function t(){this.linear=new P,this.angularA=0,this.angularB=0}return t.prototype.SetZero=function(){return this.linear.SetZero(),this.angularA=0,this.angularB=0,this},t.prototype.Set=function(t,e,i){return this.linear.Copy(t),this.angularA=e,this.angularB=i,this},t})(),ui=(function(){return function(t,e){this.prev=null,this.next=null,this.joint=t,this.other=e}})(),_i=(function(){return function(e){this.type=t.b2JointType.e_unknownJoint,this.userData=null,this.collideConnected=!1,this.type=e}})(),fi=(function(){function i(i){this.m_type=t.b2JointType.e_unknownJoint,this.m_prev=null,this.m_next=null,this.m_index=0,this.m_islandFlag=!1,this.m_collideConnected=!1,this.m_userData=null,this.m_type=i.type,this.m_edgeA=new ui(this,i.bodyB),this.m_edgeB=new ui(this,i.bodyA),this.m_bodyA=i.bodyA,this.m_bodyB=i.bodyB,this.m_collideConnected=e(i.collideConnected,!1),this.m_userData=i.userData}return i.prototype.GetType=function(){return this.m_type},i.prototype.GetBodyA=function(){return this.m_bodyA},i.prototype.GetBodyB=function(){return this.m_bodyB},i.prototype.GetNext=function(){return this.m_next},i.prototype.GetUserData=function(){return this.m_userData},i.prototype.SetUserData=function(t){this.m_userData=t},i.prototype.IsActive=function(){return this.m_bodyA.IsActive()&&this.m_bodyB.IsActive()},i.prototype.GetCollideConnected=function(){return this.m_collideConnected},i.prototype.Dump=function(t){t("// Dump is not supported for this joint type.\n")},i.prototype.ShiftOrigin=function(t){},i})(),di=(function(e){function i(){var i=e.call(this,t.b2JointType.e_distanceJoint)||this;return i.localAnchorA=new P,i.localAnchorB=new P,i.length=1,i.frequencyHz=0,i.dampingRatio=0,i}return $e(i,e),i.prototype.Initialize=function(t,e,i,n){this.bodyA=t,this.bodyB=e,this.bodyA.GetLocalPoint(i,this.localAnchorA),this.bodyB.GetLocalPoint(n,this.localAnchorB),this.length=P.DistanceVV(i,n),this.frequencyHz=0,this.dampingRatio=0},i})(_i),pi=(function(t){function i(i){var n=t.call(this,i)||this;return n.m_frequencyHz=0,n.m_dampingRatio=0,n.m_bias=0,n.m_localAnchorA=new P,n.m_localAnchorB=new P,n.m_gamma=0,n.m_impulse=0,n.m_length=0,n.m_indexA=0,n.m_indexB=0,n.m_u=new P,n.m_rA=new P,n.m_rB=new P,n.m_localCenterA=new P,n.m_localCenterB=new P,n.m_invMassA=0,n.m_invMassB=0,n.m_invIA=0,n.m_invIB=0,n.m_mass=0,n.m_qA=new F,n.m_qB=new F,n.m_lalcA=new P,n.m_lalcB=new P,n.m_frequencyHz=e(i.frequencyHz,0),n.m_dampingRatio=e(i.dampingRatio,0),n.m_localAnchorA.Copy(i.localAnchorA),n.m_localAnchorB.Copy(i.localAnchorB),n.m_length=i.length,n}return $e(i,t),i.prototype.GetAnchorA=function(t){return this.m_bodyA.GetWorldPoint(this.m_localAnchorA,t)},i.prototype.GetAnchorB=function(t){return this.m_bodyB.GetWorldPoint(this.m_localAnchorB,t)},i.prototype.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},i.prototype.GetReactionTorque=function(t){return 0},i.prototype.GetLocalAnchorA=function(){return this.m_localAnchorA},i.prototype.GetLocalAnchorB=function(){return this.m_localAnchorB},i.prototype.SetLength=function(t){this.m_length=t},i.prototype.Length=function(){return this.m_length},i.prototype.SetFrequency=function(t){this.m_frequencyHz=t},i.prototype.GetFrequency=function(){return this.m_frequencyHz},i.prototype.SetDampingRatio=function(t){this.m_dampingRatio=t},i.prototype.GetDampingRatio=function(){return this.m_dampingRatio},i.prototype.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)},i.prototype.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,n=t.positions[this.m_indexA].a,r=t.velocities[this.m_indexA].v,o=t.velocities[this.m_indexA].w,a=t.positions[this.m_indexB].c,l=t.positions[this.m_indexB].a,h=t.velocities[this.m_indexB].v,u=t.velocities[this.m_indexB].w,_=this.m_qA.SetAngle(n),f=this.m_qB.SetAngle(l);P.SubVV(this.m_localAnchorA,this.m_localCenterA,this.m_lalcA),F.MulRV(_,this.m_lalcA,this.m_rA),P.SubVV(this.m_localAnchorB,this.m_localCenterB,this.m_lalcB),F.MulRV(f,this.m_lalcB,this.m_rB),this.m_u.x=a.x+this.m_rB.x-e.x-this.m_rA.x,this.m_u.y=a.y+this.m_rB.y-e.y-this.m_rA.y;var d=this.m_u.Length();d>c?this.m_u.SelfMul(1/d):this.m_u.SetZero();var p=P.CrossVV(this.m_rA,this.m_u),m=P.CrossVV(this.m_rB,this.m_u),y=this.m_invMassA+this.m_invIA*p*p+this.m_invMassB+this.m_invIB*m*m;if(this.m_mass=0!==y?1/y:0,this.m_frequencyHz>0){var v=d-this.m_length,g=2*s*this.m_frequencyHz,x=2*this.m_mass*this.m_dampingRatio*g,C=this.m_mass*g*g,A=t.step.dt;this.m_gamma=A*(x+A*C),this.m_gamma=0!==this.m_gamma?1/this.m_gamma:0,this.m_bias=v*A*C*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 b=P.MulSV(this.m_impulse,this.m_u,i.InitVelocityConstraints_s_P);r.SelfMulSub(this.m_invMassA,b),o-=this.m_invIA*P.CrossVV(this.m_rA,b),h.SelfMulAdd(this.m_invMassB,b),u+=this.m_invIB*P.CrossVV(this.m_rB,b)}else this.m_impulse=0;t.velocities[this.m_indexA].w=o,t.velocities[this.m_indexB].w=u},i.prototype.SolveVelocityConstraints=function(t){var e=t.velocities[this.m_indexA].v,n=t.velocities[this.m_indexA].w,r=t.velocities[this.m_indexB].v,s=t.velocities[this.m_indexB].w,o=P.AddVCrossSV(e,n,this.m_rA,i.SolveVelocityConstraints_s_vpA),a=P.AddVCrossSV(r,s,this.m_rB,i.SolveVelocityConstraints_s_vpB),c=P.DotVV(this.m_u,P.SubVV(a,o,P.s_t0)),l=-this.m_mass*(c+this.m_bias+this.m_gamma*this.m_impulse);this.m_impulse+=l;var h=P.MulSV(l,this.m_u,i.SolveVelocityConstraints_s_P);e.SelfMulSub(this.m_invMassA,h),n-=this.m_invIA*P.CrossVV(this.m_rA,h),r.SelfMulAdd(this.m_invMassB,h),s+=this.m_invIB*P.CrossVV(this.m_rB,h),t.velocities[this.m_indexA].w=n,t.velocities[this.m_indexB].w=s},i.prototype.SolvePositionConstraints=function(t){if(this.m_frequencyHz>0)return!0;var e=t.positions[this.m_indexA].c,n=t.positions[this.m_indexA].a,r=t.positions[this.m_indexB].c,s=t.positions[this.m_indexB].a,o=this.m_qA.SetAngle(n),a=this.m_qB.SetAngle(s),l=F.MulRV(o,this.m_lalcA,this.m_rA),h=F.MulRV(a,this.m_lalcB,this.m_rB),u=this.m_u;u.x=r.x+h.x-e.x-l.x,u.y=r.y+h.y-e.y-l.y;var _=this.m_u.Normalize()-this.m_length;_=C(_,-.2,.2);var f=-this.m_mass*_,d=P.MulSV(f,u,i.SolvePositionConstraints_s_P);return e.SelfMulSub(this.m_invMassA,d),n-=this.m_invIA*P.CrossVV(l,d),r.SelfMulAdd(this.m_invMassB,d),s+=this.m_invIB*P.CrossVV(h,d),t.positions[this.m_indexA].a=n,t.positions[this.m_indexB].a=s,v(_)<c},i.InitVelocityConstraints_s_P=new P,i.SolveVelocityConstraints_s_vpA=new P,i.SolveVelocityConstraints_s_vpB=new P,i.SolveVelocityConstraints_s_P=new P,i.SolvePositionConstraints_s_P=new P,i})(fi),mi=(function(e){function i(){var i=e.call(this,t.b2JointType.e_areaJoint)||this;return i.bodies=[],i.frequencyHz=0,i.dampingRatio=0,i}return $e(i,e),i.prototype.AddBody=function(t){this.bodies.push(t),1===this.bodies.length?this.bodyA=t:2===this.bodies.length&&(this.bodyB=t)},i})(_i),yi=(function(t){function i(i){var n=t.call(this,i)||this;n.m_frequencyHz=0,n.m_dampingRatio=0,n.m_impulse=0,n.m_targetArea=0,n.m_bodies=i.bodies,n.m_frequencyHz=e(i.frequencyHz,0),n.m_dampingRatio=e(i.dampingRatio,0),n.m_targetLengths=p(i.bodies.length),n.m_normals=P.MakeArray(i.bodies.length),n.m_joints=[],n.m_deltas=P.MakeArray(i.bodies.length),n.m_delta=new P;var r=new di;r.frequencyHz=n.m_frequencyHz,r.dampingRatio=n.m_dampingRatio,n.m_targetArea=0;for(var s=0;s<n.m_bodies.length;++s){var o=n.m_bodies[s],a=n.m_bodies[(s+1)%n.m_bodies.length],c=o.GetWorldCenter(),l=a.GetWorldCenter();n.m_targetLengths[s]=P.DistanceVV(c,l),n.m_targetArea+=P.CrossVV(c,l),r.Initialize(o,a,c,l),n.m_joints[s]=o.GetWorld().CreateJoint(r)}return n.m_targetArea*=.5,n}return $e(i,t),i.prototype.GetAnchorA=function(t){return t},i.prototype.GetAnchorB=function(t){return t},i.prototype.GetReactionForce=function(t,e){return e},i.prototype.GetReactionTorque=function(t){return 0},i.prototype.SetFrequency=function(t){this.m_frequencyHz=t;for(var e=0;e<this.m_joints.length;++e)this.m_joints[e].SetFrequency(t)},i.prototype.GetFrequency=function(){return this.m_frequencyHz},i.prototype.SetDampingRatio=function(t){this.m_dampingRatio=t;for(var e=0;e<this.m_joints.length;++e)this.m_joints[e].SetDampingRatio(t)},i.prototype.GetDampingRatio=function(){return this.m_dampingRatio},i.prototype.Dump=function(t){t("Area joint dumping is not supported.\n")},i.prototype.InitVelocityConstraints=function(t){for(var e=0;e<this.m_bodies.length;++e){var i=this.m_bodies[(e+this.m_bodies.length-1)%this.m_bodies.length],n=this.m_bodies[(e+1)%this.m_bodies.length],r=t.positions[i.m_islandIndex].c,s=t.positions[n.m_islandIndex].c,o=this.m_deltas[e];P.SubVV(s,r,o)}if(t.step.warmStarting){this.m_impulse*=t.step.dtRatio;for(e=0;e<this.m_bodies.length;++e){var a=this.m_bodies[e],c=t.velocities[a.m_islandIndex].v;o=this.m_deltas[e];c.x+=a.m_invMass*o.y*.5*this.m_impulse,c.y+=a.m_invMass*-o.x*.5*this.m_impulse}}else this.m_impulse=0},i.prototype.SolveVelocityConstraints=function(t){for(var e=0,i=0,n=0;n<this.m_bodies.length;++n){var r=this.m_bodies[n],s=t.velocities[r.m_islandIndex].v;e+=(a=this.m_deltas[n]).LengthSquared()/r.GetMass(),i+=P.CrossVV(s,a)}var o=-2*i/e;this.m_impulse+=o;for(n=0;n<this.m_bodies.length;++n){r=this.m_bodies[n],s=t.velocities[r.m_islandIndex].v;var a=this.m_deltas[n];s.x+=r.m_invMass*a.y*.5*o,s.y+=r.m_invMass*-a.x*.5*o}},i.prototype.SolvePositionConstraints=function(t){for(var e=0,i=0,r=0;r<this.m_bodies.length;++r){var s=this.m_bodies[r],o=this.m_bodies[(r+1)%this.m_bodies.length],a=t.positions[s.m_islandIndex].c,l=t.positions[o.m_islandIndex].c,h=(f=P.SubVV(l,a,this.m_delta)).Length();h<n&&(h=1),this.m_normals[r].x=f.y/h,this.m_normals[r].y=-f.x/h,e+=h,i+=P.CrossVV(a,l)}i*=.5;var u=.5*(this.m_targetArea-i)/e,_=!0;for(r=0;r<this.m_bodies.length;++r){s=this.m_bodies[r],a=t.positions[s.m_islandIndex].c;var f,d=(r+1)%this.m_bodies.length;(f=P.AddVV(this.m_normals[r],this.m_normals[d],this.m_delta)).SelfMul(u);var p=f.LengthSquared();p>b(.2)&&f.SelfMul(.2/T(p)),p>b(c)&&(_=!1),a.x+=f.x,a.y+=f.y}return _},i})(fi),vi=(function(e){function i(){var i=e.call(this,t.b2JointType.e_frictionJoint)||this;return i.localAnchorA=new P,i.localAnchorB=new P,i.maxForce=0,i.maxTorque=0,i}return $e(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})(_i),gi=(function(t){function i(i){var n=t.call(this,i)||this;return n.m_localAnchorA=new P,n.m_localAnchorB=new P,n.m_linearImpulse=new P,n.m_angularImpulse=0,n.m_maxForce=0,n.m_maxTorque=0,n.m_indexA=0,n.m_indexB=0,n.m_rA=new P,n.m_rB=new P,n.m_localCenterA=new P,n.m_localCenterB=new P,n.m_invMassA=0,n.m_invMassB=0,n.m_invIA=0,n.m_invIB=0,n.m_linearMass=new O,n.m_angularMass=0,n.m_qA=new F,n.m_qB=new F,n.m_lalcA=new P,n.m_lalcB=new P,n.m_K=new O,n.m_localAnchorA.Copy(i.localAnchorA),n.m_localAnchorB.Copy(i.localAnchorB),n.m_linearImpulse.SetZero(),n.m_maxForce=e(i.maxForce,0),n.m_maxTorque=e(i.maxTorque,0),n.m_linearMass.SetZero(),n}return $e(i,t),i.prototype.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,n=t.velocities[this.m_indexA].w,r=t.positions[this.m_indexB].a,s=t.velocities[this.m_indexB].v,o=t.velocities[this.m_indexB].w,a=this.m_qA.SetAngle(e),c=this.m_qB.SetAngle(r);P.SubVV(this.m_localAnchorA,this.m_localCenterA,this.m_lalcA);var l=F.MulRV(a,this.m_lalcA,this.m_rA);P.SubVV(this.m_localAnchorB,this.m_localCenterB,this.m_lalcB);var h=F.MulRV(c,this.m_lalcB,this.m_rB),u=this.m_invMassA,_=this.m_invMassB,f=this.m_invIA,d=this.m_invIB,p=this.m_K;if(p.ex.x=u+_+f*l.y*l.y+d*h.y*h.y,p.ex.y=-f*l.x*l.y-d*h.x*h.y,p.ey.x=p.ex.y,p.ey.y=u+_+f*l.x*l.x+d*h.x*h.x,p.GetInverse(this.m_linearMass),this.m_angularMass=f+d,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(u,m),n-=f*(P.CrossVV(this.m_rA,m)+this.m_angularImpulse),s.SelfMulAdd(_,m),o+=d*(P.CrossVV(this.m_rB,m)+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=o},i.prototype.SolveVelocityConstraints=function(t){var e=t.velocities[this.m_indexA].v,n=t.velocities[this.m_indexA].w,r=t.velocities[this.m_indexB].v,s=t.velocities[this.m_indexB].w,o=this.m_invMassA,a=this.m_invMassB,c=this.m_invIA,l=this.m_invIB,h=t.step.dt,u=s-n,_=-this.m_angularMass*u,f=this.m_angularImpulse,d=h*this.m_maxTorque;this.m_angularImpulse=C(this.m_angularImpulse+_,-d,d),n-=c*(_=this.m_angularImpulse-f),s+=l*_;var p=P.SubVV(P.AddVCrossSV(r,s,this.m_rB,P.s_t0),P.AddVCrossSV(e,n,this.m_rA,P.s_t1),i.SolveVelocityConstraints_s_Cdot_v2),m=O.MulMV(this.m_linearMass,p,i.SolveVelocityConstraints_s_impulseV).SelfNeg(),y=i.SolveVelocityConstraints_s_oldImpulseV.Copy(this.m_linearImpulse);this.m_linearImpulse.SelfAdd(m);d=h*this.m_maxForce;this.m_linearImpulse.LengthSquared()>d*d&&(this.m_linearImpulse.Normalize(),this.m_linearImpulse.SelfMul(d)),P.SubVV(this.m_linearImpulse,y,m),e.SelfMulSub(o,m),n-=c*P.CrossVV(this.m_rA,m),r.SelfMulAdd(a,m),s+=l*P.CrossVV(this.m_rB,m),t.velocities[this.m_indexA].w=n,t.velocities[this.m_indexB].w=s},i.prototype.SolvePositionConstraints=function(t){return!0},i.prototype.GetAnchorA=function(t){return this.m_bodyA.GetWorldPoint(this.m_localAnchorA,t)},i.prototype.GetAnchorB=function(t){return this.m_bodyB.GetWorldPoint(this.m_localAnchorB,t)},i.prototype.GetReactionForce=function(t,e){return e.x=t*this.m_linearImpulse.x,e.y=t*this.m_linearImpulse.y,e},i.prototype.GetReactionTorque=function(t){return t*this.m_angularImpulse},i.prototype.GetLocalAnchorA=function(){return this.m_localAnchorA},i.prototype.GetLocalAnchorB=function(){return this.m_localAnchorB},i.prototype.SetMaxForce=function(t){this.m_maxForce=t},i.prototype.GetMaxForce=function(){return this.m_maxForce},i.prototype.SetMaxTorque=function(t){this.m_maxTorque=t},i.prototype.GetMaxTorque=function(){return this.m_maxTorque},i.prototype.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.SolveVelocityConstraints_s_Cdot_v2=new P,i.SolveVelocityConstraints_s_impulseV=new P,i.SolveVelocityConstraints_s_oldImpulseV=new P,i})(fi),xi=(function(e){function i(){var i=e.call(this,t.b2JointType.e_gearJoint)||this;return i.ratio=1,i}return $e(i,e),i})(_i),Ci=(function(i){function n(n){var r,s,o=i.call(this,n)||this;o.m_typeA=t.b2JointType.e_unknownJoint,o.m_typeB=t.b2JointType.e_unknownJoint,o.m_localAnchorA=new P,o.m_localAnchorB=new P,o.m_localAnchorC=new P,o.m_localAnchorD=new P,o.m_localAxisC=new P,o.m_localAxisD=new P,o.m_referenceAngleA=0,o.m_referenceAngleB=0,o.m_constant=0,o.m_ratio=0,o.m_impulse=0,o.m_indexA=0,o.m_indexB=0,o.m_indexC=0,o.m_indexD=0,o.m_lcA=new P,o.m_lcB=new P,o.m_lcC=new P,o.m_lcD=new P,o.m_mA=0,o.m_mB=0,o.m_mC=0,o.m_mD=0,o.m_iA=0,o.m_iB=0,o.m_iC=0,o.m_iD=0,o.m_JvAC=new P,o.m_JvBD=new P,o.m_JwA=0,o.m_JwB=0,o.m_JwC=0,o.m_JwD=0,o.m_mass=0,o.m_qA=new F,o.m_qB=new F,o.m_qC=new F,o.m_qD=new F,o.m_lalcA=new P,o.m_lalcB=new P,o.m_lalcC=new P,o.m_lalcD=new P,o.m_joint1=n.joint1,o.m_joint2=n.joint2,o.m_typeA=o.m_joint1.GetType(),o.m_typeB=o.m_joint2.GetType(),o.m_bodyC=o.m_joint1.GetBodyA(),o.m_bodyA=o.m_joint1.GetBodyB();var a=o.m_bodyA.m_xf,c=o.m_bodyA.m_sweep.a,l=o.m_bodyC.m_xf,h=o.m_bodyC.m_sweep.a;if(o.m_typeA===t.b2JointType.e_revoluteJoint){var u=n.joint1;o.m_localAnchorC.Copy(u.m_localAnchorA),o.m_localAnchorA.Copy(u.m_localAnchorB),o.m_referenceAngleA=u.m_referenceAngle,o.m_localAxisC.SetZero(),r=c-h-o.m_referenceAngleA}else{var _=n.joint1;o.m_localAnchorC.Copy(_.m_localAnchorA),o.m_localAnchorA.Copy(_.m_localAnchorB),o.m_referenceAngleA=_.m_referenceAngle,o.m_localAxisC.Copy(_.m_localXAxisA);var f=o.m_localAnchorC,d=F.MulTRV(l.q,P.AddVV(F.MulRV(a.q,o.m_localAnchorA,P.s_t0),P.SubVV(a.p,l.p,P.s_t1),P.s_t0),P.s_t0);r=P.DotVV(P.SubVV(d,f,P.s_t0),o.m_localAxisC)}o.m_bodyD=o.m_joint2.GetBodyA(),o.m_bodyB=o.m_joint2.GetBodyB();var p=o.m_bodyB.m_xf,m=o.m_bodyB.m_sweep.a,y=o.m_bodyD.m_xf,v=o.m_bodyD.m_sweep.a;if(o.m_typeB===t.b2JointType.e_revoluteJoint){u=n.joint2;o.m_localAnchorD.Copy(u.m_localAnchorA),o.m_localAnchorB.Copy(u.m_localAnchorB),o.m_referenceAngleB=u.m_referenceAngle,o.m_localAxisD.SetZero(),s=m-v-o.m_referenceAngleB}else{_=n.joint2;o.m_localAnchorD.Copy(_.m_localAnchorA),o.m_localAnchorB.Copy(_.m_localAnchorB),o.m_referenceAngleB=_.m_referenceAngle,o.m_localAxisD.Copy(_.m_localXAxisA);var g=o.m_localAnchorD,x=F.MulTRV(y.q,P.AddVV(F.MulRV(p.q,o.m_localAnchorB,P.s_t0),P.SubVV(p.p,y.p,P.s_t1),P.s_t0),P.s_t0);s=P.DotVV(P.SubVV(x,g,P.s_t0),o.m_localAxisD)}return o.m_ratio=e(n.ratio,1),o.m_constant=r+o.m_ratio*s,o.m_impulse=0,o}return $e(n,i),n.prototype.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,r=e.velocities[this.m_indexA].v,s=e.velocities[this.m_indexA].w,o=e.positions[this.m_indexB].a,a=e.velocities[this.m_indexB].v,c=e.velocities[this.m_indexB].w,l=e.positions[this.m_indexC].a,h=e.velocities[this.m_indexC].v,u=e.velocities[this.m_indexC].w,_=e.positions[this.m_indexD].a,f=e.velocities[this.m_indexD].v,d=e.velocities[this.m_indexD].w,p=this.m_qA.SetAngle(i),m=this.m_qB.SetAngle(o),y=this.m_qC.SetAngle(l),v=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 g=F.MulRV(y,this.m_localAxisC,n.InitVelocityConstraints_s_u);P.SubVV(this.m_localAnchorC,this.m_lcC,this.m_lalcC);var x=F.MulRV(y,this.m_lalcC,n.InitVelocityConstraints_s_rC);P.SubVV(this.m_localAnchorA,this.m_lcA,this.m_lalcA);var C=F.MulRV(p,this.m_lalcA,n.InitVelocityConstraints_s_rA);this.m_JvAC.Copy(g),this.m_JwC=P.CrossVV(x,g),this.m_JwA=P.CrossVV(C,g),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{g=F.MulRV(v,this.m_localAxisD,n.InitVelocityConstraints_s_u);P.SubVV(this.m_localAnchorD,this.m_lcD,this.m_lalcD);var A=F.MulRV(v,this.m_lalcD,n.InitVelocityConstraints_s_rD);P.SubVV(this.m_localAnchorB,this.m_lcB,this.m_lalcB);var b=F.MulRV(m,this.m_lalcB,n.InitVelocityConstraints_s_rB);P.MulSV(this.m_ratio,g,this.m_JvBD),this.m_JwD=this.m_ratio*P.CrossVV(A,g),this.m_JwB=this.m_ratio*P.CrossVV(b,g),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?(r.SelfMulAdd(this.m_mA*this.m_impulse,this.m_JvAC),s+=this.m_iA*this.m_impulse*this.m_JwA,a.SelfMulAdd(this.m_mB*this.m_impulse,this.m_JvBD),c+=this.m_iB*this.m_impulse*this.m_JwB,h.SelfMulSub(this.m_mC*this.m_impulse,this.m_JvAC),u-=this.m_iC*this.m_impulse*this.m_JwC,f.SelfMulSub(this.m_mD*this.m_impulse,this.m_JvBD),d-=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=c,e.velocities[this.m_indexC].w=u,e.velocities[this.m_indexD].w=d},n.prototype.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,r=t.velocities[this.m_indexB].w,s=t.velocities[this.m_indexC].v,o=t.velocities[this.m_indexC].w,a=t.velocities[this.m_indexD].v,c=t.velocities[this.m_indexD].w,l=P.DotVV(this.m_JvAC,P.SubVV(e,s,P.s_t0))+P.DotVV(this.m_JvBD,P.SubVV(n,a,P.s_t0));l+=this.m_JwA*i-this.m_JwC*o+(this.m_JwB*r-this.m_JwD*c);var h=-this.m_mass*l;this.m_impulse+=h,e.SelfMulAdd(this.m_mA*h,this.m_JvAC),i+=this.m_iA*h*this.m_JwA,n.SelfMulAdd(this.m_mB*h,this.m_JvBD),r+=this.m_iB*h*this.m_JwB,s.SelfMulSub(this.m_mC*h,this.m_JvAC),o-=this.m_iC*h*this.m_JwC,a.SelfMulSub(this.m_mD*h,this.m_JvBD),c-=this.m_iD*h*this.m_JwD,t.velocities[this.m_indexA].w=i,t.velocities[this.m_indexB].w=r,t.velocities[this.m_indexC].w=o,t.velocities[this.m_indexD].w=c},n.prototype.SolvePositionConstraints=function(e){var i,r,s,o,a,l,h=e.positions[this.m_indexA].c,u=e.positions[this.m_indexA].a,_=e.positions[this.m_indexB].c,f=e.positions[this.m_indexB].a,d=e.positions[this.m_indexC].c,p=e.positions[this.m_indexC].a,m=e.positions[this.m_indexD].c,y=e.positions[this.m_indexD].a,v=this.m_qA.SetAngle(u),g=this.m_qB.SetAngle(f),x=this.m_qC.SetAngle(p),C=this.m_qD.SetAngle(y),A=this.m_JvAC,b=this.m_JvBD,S=0;if(this.m_typeA===t.b2JointType.e_revoluteJoint)A.SetZero(),s=1,a=1,S+=this.m_iA+this.m_iC,i=u-p-this.m_referenceAngleA;else{var T=F.MulRV(x,this.m_localAxisC,n.SolvePositionConstraints_s_u),w=F.MulRV(x,this.m_lalcC,n.SolvePositionConstraints_s_rC),E=F.MulRV(v,this.m_lalcA,n.SolvePositionConstraints_s_rA);A.Copy(T),a=P.CrossVV(w,T),s=P.CrossVV(E,T),S+=this.m_mC+this.m_mA+this.m_iC*a*a+this.m_iA*s*s;var B=this.m_lalcC,M=F.MulTRV(x,P.AddVV(E,P.SubVV(h,d,P.s_t0),P.s_t0),P.s_t0);i=P.DotVV(P.SubVV(M,B,P.s_t0),this.m_localAxisC)}if(this.m_typeB===t.b2JointType.e_revoluteJoint)b.SetZero(),o=this.m_ratio,l=this.m_ratio,S+=this.m_ratio*this.m_ratio*(this.m_iB+this.m_iD),r=f-y-this.m_referenceAngleB;else{T=F.MulRV(C,this.m_localAxisD,n.SolvePositionConstraints_s_u);var I=F.MulRV(C,this.m_lalcD,n.SolvePositionConstraints_s_rD),R=F.MulRV(g,this.m_lalcB,n.SolvePositionConstraints_s_rB);P.MulSV(this.m_ratio,T,b),l=this.m_ratio*P.CrossVV(I,T),o=this.m_ratio*P.CrossVV(R,T),S+=this.m_ratio*this.m_ratio*(this.m_mD+this.m_mB)+this.m_iD*l*l+this.m_iB*o*o;var D=this.m_lalcD,L=F.MulTRV(C,P.AddVV(R,P.SubVV(_,m,P.s_t0),P.s_t0),P.s_t0);r=P.DotVV(P.SubVV(L,D,P.s_t0),this.m_localAxisD)}var O=i+this.m_ratio*r-this.m_constant,V=0;return S>0&&(V=-O/S),h.SelfMulAdd(this.m_mA*V,A),u+=this.m_iA*V*s,_.SelfMulAdd(this.m_mB*V,b),f+=this.m_iB*V*o,d.SelfMulSub(this.m_mC*V,A),p-=this.m_iC*V*a,m.SelfMulSub(this.m_mD*V,b),y-=this.m_iD*V*l,e.positions[this.m_indexA].a=u,e.positions[this.m_indexB].a=f,e.positions[this.m_indexC].a=p,e.positions[this.m_indexD].a=y,0<c},n.prototype.GetAnchorA=function(t){return this.m_bodyA.GetWorldPoint(this.m_localAnchorA,t)},n.prototype.GetAnchorB=function(t){return this.m_bodyB.GetWorldPoint(this.m_localAnchorB,t)},n.prototype.GetReactionForce=function(t,e){return P.MulSV(t*this.m_impulse,this.m_JvAC,e)},n.prototype.GetReactionTorque=function(t){return t*this.m_impulse*this.m_JwA},n.prototype.GetJoint1=function(){return this.m_joint1},n.prototype.GetJoint2=function(){return this.m_joint2},n.prototype.GetRatio=function(){return this.m_ratio},n.prototype.SetRatio=function(t){this.m_ratio=t},n.prototype.Dump=function(t){var e=this.m_bodyA.m_islandIndex,i=this.m_bodyB.m_islandIndex,n=this.m_joint1.m_index,r=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",n),t(" jd.joint2 = joints[%d];\n",r),t(" jd.ratio = %.15f;\n",this.m_ratio),t(" joints[%d] = this.m_world.CreateJoint(jd);\n",this.m_index)},n.InitVelocityConstraints_s_u=new P,n.InitVelocityConstraints_s_rA=new P,n.InitVelocityConstraints_s_rB=new P,n.InitVelocityConstraints_s_rC=new P,n.InitVelocityConstraints_s_rD=new P,n.SolvePositionConstraints_s_u=new P,n.SolvePositionConstraints_s_rA=new P,n.SolvePositionConstraints_s_rB=new P,n.SolvePositionConstraints_s_rC=new P,n.SolvePositionConstraints_s_rD=new P,n})(fi),Ai=(function(e){function i(){var i=e.call(this,t.b2JointType.e_motorJoint)||this;return i.linearOffset=new P(0,0),i.angularOffset=0,i.maxForce=1,i.maxTorque=1,i.correctionFactor=.3,i}return $e(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(),n=this.bodyB.GetAngle();this.angularOffset=n-i},i})(_i),bi=(function(t){function i(i){var n=t.call(this,i)||this;return n.m_linearOffset=new P,n.m_angularOffset=0,n.m_linearImpulse=new P,n.m_angularImpulse=0,n.m_maxForce=0,n.m_maxTorque=0,n.m_correctionFactor=.3,n.m_indexA=0,n.m_indexB=0,n.m_rA=new P,n.m_rB=new P,n.m_localCenterA=new P,n.m_localCenterB=new P,n.m_linearError=new P,n.m_angularError=0,n.m_invMassA=0,n.m_invMassB=0,n.m_invIA=0,n.m_invIB=0,n.m_linearMass=new O,n.m_angularMass=0,n.m_qA=new F,n.m_qB=new F,n.m_K=new O,n.m_linearOffset.Copy(e(i.linearOffset,P.ZERO)),n.m_linearImpulse.SetZero(),n.m_maxForce=e(i.maxForce,0),n.m_maxTorque=e(i.maxTorque,0),n.m_correctionFactor=e(i.correctionFactor,.3),n}return $e(i,t),i.prototype.GetAnchorA=function(t){var e=this.m_bodyA.GetPosition();return t.x=e.x,t.y=e.y,t},i.prototype.GetAnchorB=function(t){var e=this.m_bodyB.GetPosition();return t.x=e.x,t.y=e.y,t},i.prototype.GetReactionForce=function(t,e){return P.MulSV(t,this.m_linearImpulse,e)},i.prototype.GetReactionTorque=function(t){return t*this.m_angularImpulse},i.prototype.SetLinearOffset=function(t){P.IsEqualToV(t,this.m_linearOffset)||(this.m_bodyA.SetAwake(!0),this.m_bodyB.SetAwake(!0),this.m_linearOffset.Copy(t))},i.prototype.GetLinearOffset=function(){return this.m_linearOffset},i.prototype.SetAngularOffset=function(t){t!==this.m_angularOffset&&(this.m_bodyA.SetAwake(!0),this.m_bodyB.SetAwake(!0),this.m_angularOffset=t)},i.prototype.GetAngularOffset=function(){return this.m_angularOffset},i.prototype.SetMaxForce=function(t){this.m_maxForce=t},i.prototype.GetMaxForce=function(){return this.m_maxForce},i.prototype.SetMaxTorque=function(t){this.m_maxTorque=t},i.prototype.GetMaxTorque=function(){return this.m_maxTorque},i.prototype.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,n=t.velocities[this.m_indexA].v,r=t.velocities[this.m_indexA].w,s=t.positions[this.m_indexB].c,o=t.positions[this.m_indexB].a,a=t.velocities[this.m_indexB].v,c=t.velocities[this.m_indexB].w,l=this.m_qA.SetAngle(i),h=this.m_qB.SetAngle(o),u=F.MulRV(l,P.SubVV(this.m_linearOffset,this.m_localCenterA,P.s_t0),this.m_rA),_=F.MulRV(h,P.NegV(this.m_localCenterB,P.s_t0),this.m_rB),f=this.m_invMassA,d=this.m_invMassB,p=this.m_invIA,m=this.m_invIB,y=this.m_K;if(y.ex.x=f+d+p*u.y*u.y+m*_.y*_.y,y.ex.y=-p*u.x*u.y-m*_.x*_.y,y.ey.x=y.ex.y,y.ey.y=f+d+p*u.x*u.x+m*_.x*_.x,y.GetInverse(this.m_linearMass),this.m_angularMass=p+m,this.m_angularMass>0&&(this.m_angularMass=1/this.m_angularMass),P.SubVV(P.AddVV(s,_,P.s_t0),P.AddVV(e,u,P.s_t1),this.m_linearError),this.m_angularError=o-i-this.m_angularOffset,t.step.warmStarting){this.m_linearImpulse.SelfMul(t.step.dtRatio),this.m_angularImpulse*=t.step.dtRatio;var v=this.m_linearImpulse;n.SelfMulSub(f,v),r-=p*(P.CrossVV(u,v)+this.m_angularImpulse),a.SelfMulAdd(d,v),c+=m*(P.CrossVV(_,v)+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=c},i.prototype.SolveVelocityConstraints=function(t){var e=t.velocities[this.m_indexA].v,n=t.velocities[this.m_indexA].w,r=t.velocities[this.m_indexB].v,s=t.velocities[this.m_indexB].w,o=this.m_invMassA,a=this.m_invMassB,c=this.m_invIA,l=this.m_invIB,h=t.step.dt,u=t.step.inv_dt,_=s-n+u*this.m_correctionFactor*this.m_angularError,f=-this.m_angularMass*_,d=this.m_angularImpulse,p=h*this.m_maxTorque;this.m_angularImpulse=C(this.m_angularImpulse+f,-p,p),n-=c*(f=this.m_angularImpulse-d),s+=l*f;var m=this.m_rA,y=this.m_rB,v=P.AddVV(P.SubVV(P.AddVV(r,P.CrossSV(s,y,P.s_t0),P.s_t0),P.AddVV(e,P.CrossSV(n,m,P.s_t1),P.s_t1),P.s_t2),P.MulSV(u*this.m_correctionFactor,this.m_linearError,P.s_t3),i.SolveVelocityConstraints_s_Cdot_v2),g=O.MulMV(this.m_linearMass,v,i.SolveVelocityConstraints_s_impulse_v2).SelfNeg(),x=i.SolveVelocityConstraints_s_oldImpulse_v2.Copy(this.m_linearImpulse);this.m_linearImpulse.SelfAdd(g);p=h*this.m_maxForce;this.m_linearImpulse.LengthSquared()>p*p&&(this.m_linearImpulse.Normalize(),this.m_linearImpulse.SelfMul(p)),P.SubVV(this.m_linearImpulse,x,g),e.SelfMulSub(o,g),n-=c*P.CrossVV(m,g),r.SelfMulAdd(a,g),s+=l*P.CrossVV(y,g),t.velocities[this.m_indexA].w=n,t.velocities[this.m_indexB].w=s},i.prototype.SolvePositionConstraints=function(t){return!0},i.prototype.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.SolveVelocityConstraints_s_Cdot_v2=new P,i.SolveVelocityConstraints_s_impulse_v2=new P,i.SolveVelocityConstraints_s_oldImpulse_v2=new P,i})(fi),Si=(function(e){function i(){var i=e.call(this,t.b2JointType.e_mouseJoint)||this;return i.target=new P,i.maxForce=0,i.frequencyHz=5,i.dampingRatio=.7,i}return $e(i,e),i})(_i),Ti=(function(t){function i(i){var n=t.call(this,i)||this;return n.m_localAnchorB=new P,n.m_targetA=new P,n.m_frequencyHz=0,n.m_dampingRatio=0,n.m_beta=0,n.m_impulse=new P,n.m_maxForce=0,n.m_gamma=0,n.m_indexA=0,n.m_indexB=0,n.m_rB=new P,n.m_localCenterB=new P,n.m_invMassB=0,n.m_invIB=0,n.m_mass=new O,n.m_C=new P,n.m_qB=new F,n.m_lalcB=new P,n.m_K=new O,n.m_targetA.Copy(e(i.target,P.ZERO)),N.MulTXV(n.m_bodyB.GetTransform(),n.m_targetA,n.m_localAnchorB),n.m_maxForce=e(i.maxForce,0),n.m_impulse.SetZero(),n.m_frequencyHz=e(i.frequencyHz,0),n.m_dampingRatio=e(i.dampingRatio,0),n.m_beta=0,n.m_gamma=0,n}return $e(i,t),i.prototype.SetTarget=function(t){this.m_bodyB.IsAwake()||this.m_bodyB.SetAwake(!0),this.m_targetA.Copy(t)},i.prototype.GetTarget=function(){return this.m_targetA},i.prototype.SetMaxForce=function(t){this.m_maxForce=t},i.prototype.GetMaxForce=function(){return this.m_maxForce},i.prototype.SetFrequency=function(t){this.m_frequencyHz=t},i.prototype.GetFrequency=function(){return this.m_frequencyHz},i.prototype.SetDampingRatio=function(t){this.m_dampingRatio=t},i.prototype.GetDampingRatio=function(){return this.m_dampingRatio},i.prototype.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,n=t.velocities[this.m_indexB].v,r=t.velocities[this.m_indexB].w,o=this.m_qB.SetAngle(i),a=this.m_bodyB.GetMass(),c=2*s*this.m_frequencyHz,l=2*a*this.m_dampingRatio*c,h=a*(c*c),u=t.step.dt;this.m_gamma=u*(l+u*h),0!==this.m_gamma&&(this.m_gamma=1/this.m_gamma),this.m_beta=u*h*this.m_gamma,P.SubVV(this.m_localAnchorB,this.m_localCenterB,this.m_lalcB),F.MulRV(o,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),r*=.98,t.step.warmStarting?(this.m_impulse.SelfMul(t.step.dtRatio),n.x+=this.m_invMassB*this.m_impulse.x,n.y+=this.m_invMassB*this.m_impulse.y,r+=this.m_invIB*P.CrossVV(this.m_rB,this.m_impulse)):this.m_impulse.SetZero(),t.velocities[this.m_indexB].w=r},i.prototype.SolveVelocityConstraints=function(t){var e=t.velocities[this.m_indexB].v,n=t.velocities[this.m_indexB].w,r=P.AddVCrossSV(e,n,this.m_rB,i.SolveVelocityConstraints_s_Cdot),s=O.MulMV(this.m_mass,P.AddVV(r,P.AddVV(this.m_C,P.MulSV(this.m_gamma,this.m_impulse,P.s_t0),P.s_t0),P.s_t0).SelfNeg(),i.SolveVelocityConstraints_s_impulse),o=i.SolveVelocityConstraints_s_oldImpulse.Copy(this.m_impulse);this.m_impulse.SelfAdd(s);var a=t.step.dt*this.m_maxForce;this.m_impulse.LengthSquared()>a*a&&this.m_impulse.SelfMul(a/this.m_impulse.Length()),P.SubVV(this.m_impulse,o,s),e.SelfMulAdd(this.m_invMassB,s),n+=this.m_invIB*P.CrossVV(this.m_rB,s),t.velocities[this.m_indexB].w=n},i.prototype.SolvePositionConstraints=function(t){return!0},i.prototype.GetAnchorA=function(t){return t.x=this.m_targetA.x,t.y=this.m_targetA.y,t},i.prototype.GetAnchorB=function(t){return this.m_bodyB.GetWorldPoint(this.m_localAnchorB,t)},i.prototype.GetReactionForce=function(t,e){return P.MulSV(t,this.m_impulse,e)},i.prototype.GetReactionTorque=function(t){return 0},i.prototype.Dump=function(t){t("Mouse joint dumping is not supported.\n")},i.prototype.ShiftOrigin=function(t){this.m_targetA.SelfSub(t)},i.SolveVelocityConstraints_s_Cdot=new P,i.SolveVelocityConstraints_s_impulse=new P,i.SolveVelocityConstraints_s_oldImpulse=new P,i})(fi),wi=(function(e){function i(){var i=e.call(this,t.b2JointType.e_prismaticJoint)||this;return i.localAnchorA=new P,i.localAnchorB=new P,i.localAxisA=new P(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 $e(i,e),i.prototype.Initialize=function(t,e,i,n){this.bodyA=t,this.bodyB=e,this.bodyA.GetLocalPoint(i,this.localAnchorA),this.bodyB.GetLocalPoint(i,this.localAnchorB),this.bodyA.GetLocalVector(n,this.localAxisA),this.referenceAngle=this.bodyB.GetAngle()-this.bodyA.GetAngle()},i})(_i),Ei=(function(i){function n(n){var r=i.call(this,n)||this;return r.m_localAnchorA=new P,r.m_localAnchorB=new P,r.m_localXAxisA=new P,r.m_localYAxisA=new P,r.m_referenceAngle=0,r.m_impulse=new L(0,0,0),r.m_motorImpulse=0,r.m_lowerTranslation=0,r.m_upperTranslation=0,r.m_maxMotorForce=0,r.m_motorSpeed=0,r.m_enableLimit=!1,r.m_enableMotor=!1,r.m_limitState=t.b2LimitState.e_inactiveLimit,r.m_indexA=0,r.m_indexB=0,r.m_localCenterA=new P,r.m_localCenterB=new P,r.m_invMassA=0,r.m_invMassB=0,r.m_invIA=0,r.m_invIB=0,r.m_axis=new P(0,0),r.m_perp=new P(0,0),r.m_s1=0,r.m_s2=0,r.m_a1=0,r.m_a2=0,r.m_K=new V,r.m_K3=new V,r.m_K2=new O,r.m_motorMass=0,r.m_qA=new F,r.m_qB=new F,r.m_lalcA=new P,r.m_lalcB=new P,r.m_rA=new P,r.m_rB=new P,r.m_localAnchorA.Copy(e(n.localAnchorA,P.ZERO)),r.m_localAnchorB.Copy(e(n.localAnchorB,P.ZERO)),r.m_localXAxisA.Copy(e(n.localAxisA,new P(1,0))).SelfNormalize(),P.CrossOneV(r.m_localXAxisA,r.m_localYAxisA),r.m_referenceAngle=e(n.referenceAngle,0),r.m_lowerTranslation=e(n.lowerTranslation,0),r.m_upperTranslation=e(n.upperTranslation,0),r.m_maxMotorForce=e(n.maxMotorForce,0),r.m_motorSpeed=e(n.motorSpeed,0),r.m_enableLimit=e(n.enableLimit,!1),r.m_enableMotor=e(n.enableMotor,!1),r}return $e(n,i),n.prototype.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,r=e.positions[this.m_indexA].a,s=e.velocities[this.m_indexA].v,o=e.velocities[this.m_indexA].w,a=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,_=this.m_qA.SetAngle(r),f=this.m_qB.SetAngle(l);P.SubVV(this.m_localAnchorA,this.m_localCenterA,this.m_lalcA);var d=F.MulRV(_,this.m_lalcA,this.m_rA);P.SubVV(this.m_localAnchorB,this.m_localCenterB,this.m_lalcB);var p=F.MulRV(f,this.m_lalcB,this.m_rB),m=P.AddVV(P.SubVV(a,i,P.s_t0),P.SubVV(p,d,P.s_t1),n.InitVelocityConstraints_s_d),y=this.m_invMassA,g=this.m_invMassB,x=this.m_invIA,C=this.m_invIB;if(F.MulRV(_,this.m_localXAxisA,this.m_axis),this.m_a1=P.CrossVV(P.AddVV(m,d,P.s_t0),this.m_axis),this.m_a2=P.CrossVV(p,this.m_axis),this.m_motorMass=y+g+x*this.m_a1*this.m_a1+C*this.m_a2*this.m_a2,this.m_motorMass>0&&(this.m_motorMass=1/this.m_motorMass),F.MulRV(_,this.m_localYAxisA,this.m_perp),this.m_s1=P.CrossVV(P.AddVV(m,d,P.s_t0),this.m_perp),this.m_s2=P.CrossVV(p,this.m_perp),this.m_K.ex.x=y+g+x*this.m_s1*this.m_s1+C*this.m_s2*this.m_s2,this.m_K.ex.y=x*this.m_s1+C*this.m_s2,this.m_K.ex.z=x*this.m_s1*this.m_a1+C*this.m_s2*this.m_a2,this.m_K.ey.x=this.m_K.ex.y,this.m_K.ey.y=x+C,0===this.m_K.ey.y&&(this.m_K.ey.y=1),this.m_K.ey.z=x*this.m_a1+C*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=y+g+x*this.m_a1*this.m_a1+C*this.m_a2*this.m_a2,this.m_enableLimit){var A=P.DotVV(this.m_axis,m);v(this.m_upperTranslation-this.m_lowerTranslation)<2*c?this.m_limitState=t.b2LimitState.e_equalLimits:A<=this.m_lowerTranslation?this.m_limitState!==t.b2LimitState.e_atLowerLimit&&(this.m_limitState=t.b2LimitState.e_atLowerLimit,this.m_impulse.z=0):A>=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 b=P.AddVV(P.MulSV(this.m_impulse.x,this.m_perp,P.s_t0),P.MulSV(this.m_motorImpulse+this.m_impulse.z,this.m_axis,P.s_t1),n.InitVelocityConstraints_s_P),S=this.m_impulse.x*this.m_s1+this.m_impulse.y+(this.m_motorImpulse+this.m_impulse.z)*this.m_a1,T=this.m_impulse.x*this.m_s2+this.m_impulse.y+(this.m_motorImpulse+this.m_impulse.z)*this.m_a2;s.SelfMulSub(y,b),o-=x*S,h.SelfMulAdd(g,b),u+=C*T}else this.m_impulse.SetZero(),this.m_motorImpulse=0;e.velocities[this.m_indexA].w=o,e.velocities[this.m_indexB].w=u},n.prototype.SolveVelocityConstraints=function(e){var i=e.velocities[this.m_indexA].v,r=e.velocities[this.m_indexA].w,s=e.velocities[this.m_indexB].v,o=e.velocities[this.m_indexB].w,a=this.m_invMassA,c=this.m_invMassB,l=this.m_invIA,h=this.m_invIB;if(this.m_enableMotor&&this.m_limitState!==t.b2LimitState.e_equalLimits){var u=P.DotVV(this.m_axis,P.SubVV(s,i,P.s_t0))+this.m_a2*o-this.m_a1*r,_=this.m_motorMass*(this.m_motorSpeed-u),f=this.m_motorImpulse,d=e.step.dt*this.m_maxMotorForce;this.m_motorImpulse=C(this.m_motorImpulse+_,-d,d),_=this.m_motorImpulse-f;var p=P.MulSV(_,this.m_axis,n.SolveVelocityConstraints_s_P),m=_*this.m_a1,y=_*this.m_a2;i.SelfMulSub(a,p),r-=l*m,s.SelfMulAdd(c,p),o+=h*y}var v=P.DotVV(this.m_perp,P.SubVV(s,i,P.s_t0))+this.m_s2*o-this.m_s1*r,A=o-r;if(this.m_enableLimit&&this.m_limitState!==t.b2LimitState.e_inactiveLimit){var b=P.DotVV(this.m_axis,P.SubVV(s,i,P.s_t0))+this.m_a2*o-this.m_a1*r,S=n.SolveVelocityConstraints_s_f1.Copy(this.m_impulse),T=this.m_K.Solve33(-v,-A,-b,n.SolveVelocityConstraints_s_df3);this.m_impulse.SelfAdd(T),this.m_limitState===t.b2LimitState.e_atLowerLimit?this.m_impulse.z=x(this.m_impulse.z,0):this.m_limitState===t.b2LimitState.e_atUpperLimit&&(this.m_impulse.z=g(this.m_impulse.z,0));var w=-v-(this.m_impulse.z-S.z)*this.m_K.ez.x,E=-A-(this.m_impulse.z-S.z)*this.m_K.ez.y,B=this.m_K.Solve22(w,E,n.SolveVelocityConstraints_s_f2r);B.x+=S.x,B.y+=S.y,this.m_impulse.x=B.x,this.m_impulse.y=B.y,T.x=this.m_impulse.x-S.x,T.y=this.m_impulse.y-S.y,T.z=this.m_impulse.z-S.z;p=P.AddVV(P.MulSV(T.x,this.m_perp,P.s_t0),P.MulSV(T.z,this.m_axis,P.s_t1),n.SolveVelocityConstraints_s_P),m=T.x*this.m_s1+T.y+T.z*this.m_a1,y=T.x*this.m_s2+T.y+T.z*this.m_a2;i.SelfMulSub(a,p),r-=l*m,s.SelfMulAdd(c,p),o+=h*y}else{var M=this.m_K.Solve22(-v,-A,n.SolveVelocityConstraints_s_df2);this.m_impulse.x+=M.x,this.m_impulse.y+=M.y;p=P.MulSV(M.x,this.m_perp,n.SolveVelocityConstraints_s_P),m=M.x*this.m_s1+M.y,y=M.x*this.m_s2+M.y;i.SelfMulSub(a,p),r-=l*m,s.SelfMulAdd(c,p),o+=h*y}e.velocities[this.m_indexA].w=r,e.velocities[this.m_indexB].w=o},n.prototype.SolvePositionConstraints=function(t){var e=t.positions[this.m_indexA].c,i=t.positions[this.m_indexA].a,r=t.positions[this.m_indexB].c,s=t.positions[this.m_indexB].a,o=this.m_qA.SetAngle(i),a=this.m_qB.SetAngle(s),h=this.m_invMassA,u=this.m_invMassB,_=this.m_invIA,f=this.m_invIB,d=F.MulRV(o,this.m_lalcA,this.m_rA),p=F.MulRV(a,this.m_lalcB,this.m_rB),m=P.SubVV(P.AddVV(r,p,P.s_t0),P.AddVV(e,d,P.s_t1),n.SolvePositionConstraints_s_d),y=F.MulRV(o,this.m_localXAxisA,this.m_axis),g=P.CrossVV(P.AddVV(m,d,P.s_t0),y),A=P.CrossVV(p,y),b=F.MulRV(o,this.m_localYAxisA,this.m_perp),S=P.CrossVV(P.AddVV(m,d,P.s_t0),b),T=P.CrossVV(p,b),w=n.SolvePositionConstraints_s_impulse,E=P.DotVV(b,m),B=s-i-this.m_referenceAngle,M=v(E),I=v(B),R=!1,D=0;if(this.m_enableLimit){var L=P.DotVV(y,m);v(this.m_upperTranslation-this.m_lowerTranslation)<2*c?(D=C(L,-.2,.2),M=x(M,v(L)),R=!0):L<=this.m_lowerTranslation?(D=C(L-this.m_lowerTranslation+c,-.2,0),M=x(M,this.m_lowerTranslation-L),R=!0):L>=this.m_upperTranslation&&(D=C(L-this.m_upperTranslation-c,0,.2),M=x(M,L-this.m_upperTranslation),R=!0)}if(R){var O=h+u+_*S*S+f*T*T,V=_*S+f*T,N=_*S*g+f*T*A;0===(U=_+f)&&(U=1);var G=_*g+f*A,k=h+u+_*g*g+f*A*A,z=this.m_K3;z.ex.SetXYZ(O,V,N),z.ey.SetXYZ(V,U,G),z.ez.SetXYZ(N,G,k),w=z.Solve33(-E,-B,-D,w)}else{var U;O=h+u+_*S*S+f*T*T,V=_*S+f*T;0===(U=_+f)&&(U=1);var W=this.m_K2;W.ex.Set(O,V),W.ey.Set(V,U);var j=W.Solve(-E,-B,n.SolvePositionConstraints_s_impulse1);w.x=j.x,w.y=j.y,w.z=0}var H=P.AddVV(P.MulSV(w.x,b,P.s_t0),P.MulSV(w.z,y,P.s_t1),n.SolvePositionConstraints_s_P),q=w.x*S+w.y+w.z*g,X=w.x*T+w.y+w.z*A;return e.SelfMulSub(h,H),i-=_*q,r.SelfMulAdd(u,H),s+=f*X,t.positions[this.m_indexA].a=i,t.positions[this.m_indexB].a=s,M<=c&&I<=l},n.prototype.GetAnchorA=function(t){return this.m_bodyA.GetWorldPoint(this.m_localAnchorA,t)},n.prototype.GetAnchorB=function(t){return this.m_bodyB.GetWorldPoint(this.m_localAnchorB,t)},n.prototype.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.prototype.GetReactionTorque=function(t){return t*this.m_impulse.y},n.prototype.GetLocalAnchorA=function(){return this.m_localAnchorA},n.prototype.GetLocalAnchorB=function(){return this.m_localAnchorB},n.prototype.GetLocalAxisA=function(){return this.m_localXAxisA},n.prototype.GetReferenceAngle=function(){return this.m_referenceAngle},n.prototype.GetJointTranslation=function(){var t=this.m_bodyA.GetWorldPoint(this.m_localAnchorA,n.GetJointTranslation_s_pA),e=this.m_bodyB.GetWorldPoint(this.m_localAnchorB,n.GetJointTranslation_s_pB),i=P.SubVV(e,t,n.GetJointTranslation_s_d),r=this.m_bodyA.GetWorldVector(this.m_localXAxisA,n.GetJointTranslation_s_axis);return P.DotVV(i,r)},n.prototype.GetJointSpeed=function(){var t=this.m_bodyA,e=this.m_bodyB;P.SubVV(this.m_localAnchorA,t.m_sweep.localCenter,this.m_lalcA);var i=F.MulRV(t.m_xf.q,this.m_lalcA,this.m_rA);P.SubVV(this.m_localAnchorB,e.m_sweep.localCenter,this.m_lalcB);var n=F.MulRV(e.m_xf.q,this.m_lalcB,this.m_rB),r=P.AddVV(t.m_sweep.c,i,P.s_t0),s=P.AddVV(e.m_sweep.c,n,P.s_t1),o=P.SubVV(s,r,P.s_t2),a=t.GetWorldVector(this.m_localXAxisA,this.m_axis),c=t.m_linearVelocity,l=e.m_linearVelocity,h=t.m_angularVelocity,u=e.m_angularVelocity;return P.DotVV(o,P.CrossSV(h,a,P.s_t0))+P.DotVV(a,P.SubVV(P.AddVCrossSV(l,u,n,P.s_t0),P.AddVCrossSV(c,h,i,P.s_t1),P.s_t0))},n.prototype.IsLimitEnabled=function(){return this.m_enableLimit},n.prototype.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.prototype.GetLowerLimit=function(){return this.m_lowerTranslation},n.prototype.GetUpperLimit=function(){return this.m_upperTranslation},n.prototype.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.prototype.IsMotorEnabled=function(){return this.m_enableMotor},n.prototype.EnableMotor=function(t){t!==this.m_enableMotor&&(this.m_bodyA.SetAwake(!0),this.m_bodyB.SetAwake(!0),this.m_enableMotor=t)},n.prototype.SetMotorSpeed=function(t){t!==this.m_motorSpeed&&(this.m_bodyA.SetAwake(!0),this.m_bodyB.SetAwake(!0),this.m_motorSpeed=t)},n.prototype.GetMotorSpeed=function(){return this.m_motorSpeed},n.prototype.SetMaxMotorForce=function(t){t!==this.m_maxMotorForce&&(this.m_bodyA.SetAwake(!0),this.m_bodyB.SetAwake(!0),this.m_maxMotorForce=t)},n.prototype.GetMaxMotorForce=function(){return this.m_maxMotorForce},n.prototype.GetMotorForce=function(t){return t*this.m_motorImpulse},n.prototype.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)},n.InitVelocityConstraints_s_d=new P,n.InitVelocityConstraints_s_P=new P,n.SolveVelocityConstraints_s_P=new P,n.SolveVelocityConstraints_s_f2r=new P,n.SolveVelocityConstraints_s_f1=new L,n.SolveVelocityConstraints_s_df3=new L,n.SolveVelocityConstraints_s_df2=new P,n.SolvePositionConstraints_s_d=new P,n.SolvePositionConstraints_s_impulse=new L,n.SolvePositionConstraints_s_impulse1=new P,n.SolvePositionConstraints_s_P=new P,n.GetJointTranslation_s_pA=new P,n.GetJointTranslation_s_pB=new P,n.GetJointTranslation_s_d=new P,n.GetJointTranslation_s_axis=new P,n})(fi),Bi=(function(e){function i(){var i=e.call(this,t.b2JointType.e_pulleyJoint)||this;return i.groundAnchorA=new P(-1,1),i.groundAnchorB=new P(1,1),i.localAnchorA=new P(-1,0),i.localAnchorB=new P(1,0),i.lengthA=0,i.lengthB=0,i.ratio=1,i.collideConnected=!0,i}return $e(i,e),i.prototype.Initialize=function(t,e,i,n,r,s,o){this.bodyA=t,this.bodyB=e,this.groundAnchorA.Copy(i),this.groundAnchorB.Copy(n),this.bodyA.GetLocalPoint(r,this.localAnchorA),this.bodyB.GetLocalPoint(s,this.localAnchorB),this.lengthA=P.DistanceVV(r,i),this.lengthB=P.DistanceVV(s,n),this.ratio=o},i})(_i),Mi=(function(t){function i(i){var n=t.call(this,i)||this;return n.m_groundAnchorA=new P,n.m_groundAnchorB=new P,n.m_lengthA=0,n.m_lengthB=0,n.m_localAnchorA=new P,n.m_localAnchorB=new P,n.m_constant=0,n.m_ratio=0,n.m_impulse=0,n.m_indexA=0,n.m_indexB=0,n.m_uA=new P,n.m_uB=new P,n.m_rA=new P,n.m_rB=new P,n.m_localCenterA=new P,n.m_localCenterB=new P,n.m_invMassA=0,n.m_invMassB=0,n.m_invIA=0,n.m_invIB=0,n.m_mass=0,n.m_qA=new F,n.m_qB=new F,n.m_lalcA=new P,n.m_lalcB=new P,n.m_groundAnchorA.Copy(e(i.groundAnchorA,new P(-1,1))),n.m_groundAnchorB.Copy(e(i.groundAnchorB,new P(1,0))),n.m_localAnchorA.Copy(e(i.localAnchorA,new P(-1,0))),n.m_localAnchorB.Copy(e(i.localAnchorB,new P(1,0))),n.m_lengthA=e(i.lengthA,0),n.m_lengthB=e(i.lengthB,0),n.m_ratio=e(i.ratio,1),n.m_constant=e(i.lengthA,0)+n.m_ratio*e(i.lengthB,0),n.m_impulse=0,n}return $e(i,t),i.prototype.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,n=t.positions[this.m_indexA].a,r=t.velocities[this.m_indexA].v,s=t.velocities[this.m_indexA].w,o=t.positions[this.m_indexB].c,a=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(n),_=this.m_qB.SetAngle(a);P.SubVV(this.m_localAnchorA,this.m_localCenterA,this.m_lalcA),F.MulRV(u,this.m_lalcA,this.m_rA),P.SubVV(this.m_localAnchorB,this.m_localCenterB,this.m_lalcB),F.MulRV(_,this.m_lalcB,this.m_rB),this.m_uA.Copy(e).SelfAdd(this.m_rA).SelfSub(this.m_groundAnchorA),this.m_uB.Copy(o).SelfAdd(this.m_rB).SelfSub(this.m_groundAnchorB);var f=this.m_uA.Length(),d=this.m_uB.Length();f>10*c?this.m_uA.SelfMul(1/f):this.m_uA.SetZero(),d>10*c?this.m_uB.SelfMul(1/d):this.m_uB.SetZero();var p=P.CrossVV(this.m_rA,this.m_uA),m=P.CrossVV(this.m_rB,this.m_uB),y=this.m_invMassA+this.m_invIA*p*p,v=this.m_invMassB+this.m_invIB*m*m;if(this.m_mass=y+this.m_ratio*this.m_ratio*v,this.m_mass>0&&(this.m_mass=1/this.m_mass),t.step.warmStarting){this.m_impulse*=t.step.dtRatio;var g=P.MulSV(-this.m_impulse,this.m_uA,i.InitVelocityConstraints_s_PA),x=P.MulSV(-this.m_ratio*this.m_impulse,this.m_uB,i.InitVelocityConstraints_s_PB);r.SelfMulAdd(this.m_invMassA,g),s+=this.m_invIA*P.CrossVV(this.m_rA,g),l.SelfMulAdd(this.m_invMassB,x),h+=this.m_invIB*P.CrossVV(this.m_rB,x)}else this.m_impulse=0;t.velocities[this.m_indexA].w=s,t.velocities[this.m_indexB].w=h},i.prototype.SolveVelocityConstraints=function(t){var e=t.velocities[this.m_indexA].v,n=t.velocities[this.m_indexA].w,r=t.velocities[this.m_indexB].v,s=t.velocities[this.m_indexB].w,o=P.AddVCrossSV(e,n,this.m_rA,i.SolveVelocityConstraints_s_vpA),a=P.AddVCrossSV(r,s,this.m_rB,i.SolveVelocityConstraints_s_vpB),c=-P.DotVV(this.m_uA,o)-this.m_ratio*P.DotVV(this.m_uB,a),l=-this.m_mass*c;this.m_impulse+=l;var h=P.MulSV(-l,this.m_uA,i.SolveVelocityConstraints_s_PA),u=P.MulSV(-this.m_ratio*l,this.m_uB,i.SolveVelocityConstraints_s_PB);e.SelfMulAdd(this.m_invMassA,h),n+=this.m_invIA*P.CrossVV(this.m_rA,h),r.SelfMulAdd(this.m_invMassB,u),s+=this.m_invIB*P.CrossVV(this.m_rB,u),t.velocities[this.m_indexA].w=n,t.velocities[this.m_indexB].w=s},i.prototype.SolvePositionConstraints=function(t){var e=t.positions[this.m_indexA].c,n=t.positions[this.m_indexA].a,r=t.positions[this.m_indexB].c,s=t.positions[this.m_indexB].a,o=this.m_qA.SetAngle(n),a=this.m_qB.SetAngle(s);P.SubVV(this.m_localAnchorA,this.m_localCenterA,this.m_lalcA);var l=F.MulRV(o,this.m_lalcA,this.m_rA);P.SubVV(this.m_localAnchorB,this.m_localCenterB,this.m_lalcB);var h=F.MulRV(a,this.m_lalcB,this.m_rB),u=this.m_uA.Copy(e).SelfAdd(l).SelfSub(this.m_groundAnchorA),_=this.m_uB.Copy(r).SelfAdd(h).SelfSub(this.m_groundAnchorB),f=u.Length(),d=_.Length();f>10*c?u.SelfMul(1/f):u.SetZero(),d>10*c?_.SelfMul(1/d):_.SetZero();var p=P.CrossVV(l,u),m=P.CrossVV(h,_),y=this.m_invMassA+this.m_invIA*p*p,g=this.m_invMassB+this.m_invIB*m*m,x=y+this.m_ratio*this.m_ratio*g;x>0&&(x=1/x);var C=this.m_constant-f-this.m_ratio*d,A=v(C),b=-x*C,S=P.MulSV(-b,u,i.SolvePositionConstraints_s_PA),T=P.MulSV(-this.m_ratio*b,_,i.SolvePositionConstraints_s_PB);return e.SelfMulAdd(this.m_invMassA,S),n+=this.m_invIA*P.CrossVV(l,S),r.SelfMulAdd(this.m_invMassB,T),s+=this.m_invIB*P.CrossVV(h,T),t.positions[this.m_indexA].a=n,t.positions[this.m_indexB].a=s,A<c},i.prototype.GetAnchorA=function(t){return this.m_bodyA.GetWorldPoint(this.m_localAnchorA,t)},i.prototype.GetAnchorB=function(t){return this.m_bodyB.GetWorldPoint(this.m_localAnchorB,t)},i.prototype.GetReactionForce=function(t,e){return e.x=t*this.m_impulse*this.m_uB.x,e.y=t*this.m_impulse*this.m_uB.y,e},i.prototype.GetReactionTorque=function(t){return 0},i.prototype.GetGroundAnchorA=function(){return this.m_groundAnchorA},i.prototype.GetGroundAnchorB=function(){return this.m_groundAnchorB},i.prototype.GetLengthA=function(){return this.m_lengthA},i.prototype.GetLengthB=function(){return this.m_lengthB},i.prototype.GetRatio=function(){return this.m_ratio},i.prototype.GetCurrentLengthA=function(){var t=this.m_bodyA.GetWorldPoint(this.m_localAnchorA,i.GetCurrentLengthA_s_p),e=this.m_groundAnchorA;return P.DistanceVV(t,e)},i.prototype.GetCurrentLengthB=function(){var t=this.m_bodyB.GetWorldPoint(this.m_localAnchorB,i.GetCurrentLengthB_s_p),e=this.m_groundAnchorB;return P.DistanceVV(t,e)},i.prototype.Dump=function(t){var e=this.m_bodyA.m_islandIndex,i=this.m_bodyB.m_islandIndex;t(" const jd: b2PulleyJointDef = new b2PulleyJointDef();\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.groundAnchorA.Set(%.15f, %.15f);\n",this.m_groundAnchorA.x,this.m_groundAnchorA.y),t(" jd.groundAnchorB.Set(%.15f, %.15f);\n",this.m_groundAnchorB.x,this.m_groundAnchorB.y),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.lengthA = %.15f;\n",this.m_lengthA),t(" jd.lengthB = %.15f;\n",this.m_lengthB),t(" jd.ratio = %.15f;\n",this.m_ratio),t(" joints[%d] = this.m_world.CreateJoint(jd);\n",this.m_index)},i.prototype.ShiftOrigin=function(t){this.m_groundAnchorA.SelfSub(t),this.m_groundAnchorB.SelfSub(t)},i.InitVelocityConstraints_s_PA=new P,i.InitVelocityConstraints_s_PB=new P,i.SolveVelocityConstraints_s_vpA=new P,i.SolveVelocityConstraints_s_vpB=new P,i.SolveVelocityConstraints_s_PA=new P,i.SolveVelocityConstraints_s_PB=new P,i.SolvePositionConstraints_s_PA=new P,i.SolvePositionConstraints_s_PB=new P,i.GetCurrentLengthA_s_p=new P,i.GetCurrentLengthB_s_p=new P,i})(fi),Ii=(function(e){function i(){var i=e.call(this,t.b2JointType.e_revoluteJoint)||this;return i.localAnchorA=new P(0,0),i.localAnchorB=new P(0,0),i.referenceAngle=0,i.enableLimit=!1,i.lowerAngle=0,i.upperAngle=0,i.enableMotor=!1,i.motorSpeed=0,i.maxMotorTorque=0,i}return $e(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),this.referenceAngle=this.bodyB.GetAngle()-this.bodyA.GetAngle()},i})(_i),Ri=(function(i){function n(n){var r=i.call(this,n)||this;return r.m_localAnchorA=new P,r.m_localAnchorB=new P,r.m_impulse=new L,r.m_motorImpulse=0,r.m_enableMotor=!1,r.m_maxMotorTorque=0,r.m_motorSpeed=0,r.m_enableLimit=!1,r.m_referenceAngle=0,r.m_lowerAngle=0,r.m_upperAngle=0,r.m_indexA=0,r.m_indexB=0,r.m_rA=new P,r.m_rB=new P,r.m_localCenterA=new P,r.m_localCenterB=new P,r.m_invMassA=0,r.m_invMassB=0,r.m_invIA=0,r.m_invIB=0,r.m_mass=new V,r.m_motorMass=0,r.m_limitState=t.b2LimitState.e_inactiveLimit,r.m_qA=new F,r.m_qB=new F,r.m_lalcA=new P,r.m_lalcB=new P,r.m_K=new O,r.m_localAnchorA.Copy(e(n.localAnchorA,P.ZERO)),r.m_localAnchorB.Copy(e(n.localAnchorB,P.ZERO)),r.m_referenceAngle=e(n.referenceAngle,0),r.m_impulse.SetZero(),r.m_motorImpulse=0,r.m_lowerAngle=e(n.lowerAngle,0),r.m_upperAngle=e(n.upperAngle,0),r.m_maxMotorTorque=e(n.maxMotorTorque,0),r.m_motorSpeed=e(n.motorSpeed,0),r.m_enableLimit=e(n.enableLimit,!1),r.m_enableMotor=e(n.enableMotor,!1),r.m_limitState=t.b2LimitState.e_inactiveLimit,r}return $e(n,i),n.prototype.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].a,r=e.velocities[this.m_indexA].v,s=e.velocities[this.m_indexA].w,o=e.positions[this.m_indexB].a,a=e.velocities[this.m_indexB].v,c=e.velocities[this.m_indexB].w,h=this.m_qA.SetAngle(i),u=this.m_qB.SetAngle(o);P.SubVV(this.m_localAnchorA,this.m_localCenterA,this.m_lalcA),F.MulRV(h,this.m_lalcA,this.m_rA),P.SubVV(this.m_localAnchorB,this.m_localCenterB,this.m_lalcB),F.MulRV(u,this.m_lalcB,this.m_rB);var _=this.m_invMassA,f=this.m_invMassB,d=this.m_invIA,p=this.m_invIB,m=d+p===0;if(this.m_mass.ex.x=_+f+this.m_rA.y*this.m_rA.y*d+this.m_rB.y*this.m_rB.y*p,this.m_mass.ey.x=-this.m_rA.y*this.m_rA.x*d-this.m_rB.y*this.m_rB.x*p,this.m_mass.ez.x=-this.m_rA.y*d-this.m_rB.y*p,this.m_mass.ex.y=this.m_mass.ey.x,this.m_mass.ey.y=_+f+this.m_rA.x*this.m_rA.x*d+this.m_rB.x*this.m_rB.x*p,this.m_mass.ez.y=this.m_rA.x*d+this.m_rB.x*p,this.m_mass.ex.z=this.m_mass.ez.x,this.m_mass.ey.z=this.m_mass.ez.y,this.m_mass.ez.z=d+p,this.m_motorMass=d+p,this.m_motorMass>0&&(this.m_motorMass=1/this.m_motorMass),this.m_enableMotor&&!m||(this.m_motorImpulse=0),this.m_enableLimit&&!m){var y=o-i-this.m_referenceAngle;v(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=n.InitVelocityConstraints_s_P.Set(this.m_impulse.x,this.m_impulse.y);r.SelfMulSub(_,g),s-=d*(P.CrossVV(this.m_rA,g)+this.m_motorImpulse+this.m_impulse.z),a.SelfMulAdd(f,g),c+=p*(P.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=c},n.prototype.SolveVelocityConstraints=function(e){var i=e.velocities[this.m_indexA].v,r=e.velocities[this.m_indexA].w,s=e.velocities[this.m_indexB].v,o=e.velocities[this.m_indexB].w,a=this.m_invMassA,c=this.m_invMassB,l=this.m_invIA,h=this.m_invIB,u=l+h===0;if(this.m_enableMotor&&this.m_limitState!==t.b2LimitState.e_equalLimits&&!u){var _=o-r-this.m_motorSpeed,f=-this.m_motorMass*_,d=this.m_motorImpulse,p=e.step.dt*this.m_maxMotorTorque;this.m_motorImpulse=C(this.m_motorImpulse+f,-p,p),r-=l*(f=this.m_motorImpulse-d),o+=h*f}if(this.m_enableLimit&&this.m_limitState!==t.b2LimitState.e_inactiveLimit&&!u){var m=P.SubVV(P.AddVCrossSV(s,o,this.m_rB,P.s_t0),P.AddVCrossSV(i,r,this.m_rA,P.s_t1),n.SolveVelocityConstraints_s_Cdot1),y=o-r,v=this.m_mass.Solve33(m.x,m.y,y,n.SolveVelocityConstraints_s_impulse_v3).SelfNeg();if(this.m_limitState===t.b2LimitState.e_equalLimits)this.m_impulse.SelfAdd(v);else if(this.m_limitState===t.b2LimitState.e_atLowerLimit){if(this.m_impulse.z+v.z<0){var g=-m.x+this.m_impulse.z*this.m_mass.ez.x,x=-m.y+this.m_impulse.z*this.m_mass.ez.y,A=this.m_mass.Solve22(g,x,n.SolveVelocityConstraints_s_reduced_v2);v.x=A.x,v.y=A.y,v.z=-this.m_impulse.z,this.m_impulse.x+=A.x,this.m_impulse.y+=A.y,this.m_impulse.z=0}else this.m_impulse.SelfAdd(v)}else if(this.m_limitState===t.b2LimitState.e_atUpperLimit){if(this.m_impulse.z+v.z>0){g=-m.x+this.m_impulse.z*this.m_mass.ez.x,x=-m.y+this.m_impulse.z*this.m_mass.ez.y,A=this.m_mass.Solve22(g,x,n.SolveVelocityConstraints_s_reduced_v2);v.x=A.x,v.y=A.y,v.z=-this.m_impulse.z,this.m_impulse.x+=A.x,this.m_impulse.y+=A.y,this.m_impulse.z=0}else this.m_impulse.SelfAdd(v)}var b=n.SolveVelocityConstraints_s_P.Set(v.x,v.y);i.SelfMulSub(a,b),r-=l*(P.CrossVV(this.m_rA,b)+v.z),s.SelfMulAdd(c,b),o+=h*(P.CrossVV(this.m_rB,b)+v.z)}else{var S=P.SubVV(P.AddVCrossSV(s,o,this.m_rB,P.s_t0),P.AddVCrossSV(i,r,this.m_rA,P.s_t1),n.SolveVelocityConstraints_s_Cdot_v2),T=this.m_mass.Solve22(-S.x,-S.y,n.SolveVelocityConstraints_s_impulse_v2);this.m_impulse.x+=T.x,this.m_impulse.y+=T.y,i.SelfMulSub(a,T),r-=l*P.CrossVV(this.m_rA,T),s.SelfMulAdd(c,T),o+=h*P.CrossVV(this.m_rB,T)}e.velocities[this.m_indexA].w=r,e.velocities[this.m_indexB].w=o},n.prototype.SolvePositionConstraints=function(e){var i,r=e.positions[this.m_indexA].c,s=e.positions[this.m_indexA].a,o=e.positions[this.m_indexB].c,a=e.positions[this.m_indexB].a,h=this.m_qA.SetAngle(s),u=this.m_qB.SetAngle(a),_=0,f=this.m_invIA+this.m_invIB===0;if(this.m_enableLimit&&this.m_limitState!==t.b2LimitState.e_inactiveLimit&&!f){var d=a-s-this.m_referenceAngle,p=0;if(this.m_limitState===t.b2LimitState.e_equalLimits){var m=C(d-this.m_lowerAngle,-.13962634015955555,.13962634015955555);p=-this.m_motorMass*m,_=v(m)}else if(this.m_limitState===t.b2LimitState.e_atLowerLimit){_=-(m=d-this.m_lowerAngle),m=C(m+l,-.13962634015955555,0),p=-this.m_motorMass*m}else if(this.m_limitState===t.b2LimitState.e_atUpperLimit){_=m=d-this.m_upperAngle,m=C(m-l,0,.13962634015955555),p=-this.m_motorMass*m}s-=this.m_invIA*p,a+=this.m_invIB*p}h.SetAngle(s),u.SetAngle(a),P.SubVV(this.m_localAnchorA,this.m_localCenterA,this.m_lalcA);var y=F.MulRV(h,this.m_lalcA,this.m_rA);P.SubVV(this.m_localAnchorB,this.m_localCenterB,this.m_lalcB);var g=F.MulRV(u,this.m_lalcB,this.m_rB),x=P.SubVV(P.AddVV(o,g,P.s_t0),P.AddVV(r,y,P.s_t1),n.SolvePositionConstraints_s_C_v2);i=x.Length();var A=this.m_invMassA,b=this.m_invMassB,S=this.m_invIA,T=this.m_invIB,w=this.m_K;w.ex.x=A+b+S*y.y*y.y+T*g.y*g.y,w.ex.y=-S*y.x*y.y-T*g.x*g.y,w.ey.x=w.ex.y,w.ey.y=A+b+S*y.x*y.x+T*g.x*g.x;var E=w.Solve(x.x,x.y,n.SolvePositionConstraints_s_impulse).SelfNeg();return r.SelfMulSub(A,E),s-=S*P.CrossVV(y,E),o.SelfMulAdd(b,E),a+=T*P.CrossVV(g,E),e.positions[this.m_indexA].a=s,e.positions[this.m_indexB].a=a,i<=c&&_<=l},n.prototype.GetAnchorA=function(t){return this.m_bodyA.GetWorldPoint(this.m_localAnchorA,t)},n.prototype.GetAnchorB=function(t){return this.m_bodyB.GetWorldPoint(this.m_localAnchorB,t)},n.prototype.GetReactionForce=function(t,e){return e.x=t*this.m_impulse.x,e.y=t*this.m_impulse.y,e},n.prototype.GetReactionTorque=function(t){return t*this.m_impulse.z},n.prototype.GetLocalAnchorA=function(){return this.m_localAnchorA},n.prototype.GetLocalAnchorB=function(){return this.m_localAnchorB},n.prototype.GetReferenceAngle=function(){return this.m_referenceAngle},n.prototype.GetJointAngle=function(){return this.m_bodyB.m_sweep.a-this.m_bodyA.m_sweep.a-this.m_referenceAngle},n.prototype.GetJointSpeed=function(){return this.m_bodyB.m_angularVelocity-this.m_bodyA.m_angularVelocity},n.prototype.IsMotorEnabled=function(){return this.m_enableMotor},n.prototype.EnableMotor=function(t){t!==this.m_enableMotor&&(this.m_bodyA.SetAwake(!0),this.m_bodyB.SetAwake(!0),this.m_enableMotor=t)},n.prototype.GetMotorTorque=function(t){return t*this.m_motorImpulse},n.prototype.GetMotorSpeed=function(){return this.m_motorSpeed},n.prototype.SetMaxMotorTorque=function(t){t!==this.m_maxMotorTorque&&(this.m_bodyA.SetAwake(!0),this.m_bodyB.SetAwake(!0),this.m_maxMotorTorque=t)},n.prototype.GetMaxMotorTorque=function(){return this.m_maxMotorTorque},n.prototype.IsLimitEnabled=function(){return this.m_enableLimit},n.prototype.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.prototype.GetLowerLimit=function(){return this.m_lowerAngle},n.prototype.GetUpperLimit=function(){return this.m_upperAngle},n.prototype.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.prototype.SetMotorSpeed=function(t){t!==this.m_motorSpeed&&(this.m_bodyA.SetAwake(!0),this.m_bodyB.SetAwake(!0),this.m_motorSpeed=t)},n.prototype.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)},n.InitVelocityConstraints_s_P=new P,n.SolveVelocityConstraints_s_P=new P,n.SolveVelocityConstraints_s_Cdot_v2=new P,n.SolveVelocityConstraints_s_Cdot1=new P,n.SolveVelocityConstraints_s_impulse_v3=new L,n.SolveVelocityConstraints_s_reduced_v2=new P,n.SolveVelocityConstraints_s_impulse_v2=new P,n.SolvePositionConstraints_s_C_v2=new P,n.SolvePositionConstraints_s_impulse=new P,n})(fi),Pi=(function(e){function i(){var i=e.call(this,t.b2JointType.e_ropeJoint)||this;return i.localAnchorA=new P(-1,0),i.localAnchorB=new P(1,0),i.maxLength=0,i}return $e(i,e),i})(_i),Di=(function(i){function n(n){var r=i.call(this,n)||this;return r.m_localAnchorA=new P,r.m_localAnchorB=new P,r.m_maxLength=0,r.m_length=0,r.m_impulse=0,r.m_indexA=0,r.m_indexB=0,r.m_u=new P,r.m_rA=new P,r.m_rB=new P,r.m_localCenterA=new P,r.m_localCenterB=new P,r.m_invMassA=0,r.m_invMassB=0,r.m_invIA=0,r.m_invIB=0,r.m_mass=0,r.m_state=t.b2LimitState.e_inactiveLimit,r.m_qA=new F,r.m_qB=new F,r.m_lalcA=new P,r.m_lalcB=new P,r.m_localAnchorA.Copy(e(n.localAnchorA,new P(-1,0))),r.m_localAnchorB.Copy(e(n.localAnchorB,new P(1,0))),r.m_maxLength=e(n.maxLength,0),r}return $e(n,i),n.prototype.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,r=e.positions[this.m_indexA].a,s=e.velocities[this.m_indexA].v,o=e.velocities[this.m_indexA].w,a=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,_=this.m_qA.SetAngle(r),f=this.m_qB.SetAngle(l);P.SubVV(this.m_localAnchorA,this.m_localCenterA,this.m_lalcA),F.MulRV(_,this.m_lalcA,this.m_rA),P.SubVV(this.m_localAnchorB,this.m_localCenterB,this.m_lalcB),F.MulRV(f,this.m_lalcB,this.m_rB),this.m_u.Copy(a).SelfAdd(this.m_rB).SelfSub(i).SelfSub(this.m_rA),this.m_length=this.m_u.Length();var d=this.m_length-this.m_maxLength;if(this.m_state=d>0?t.b2LimitState.e_atUpperLimit:t.b2LimitState.e_inactiveLimit,!(this.m_length>c))return this.m_u.SetZero(),this.m_mass=0,void(this.m_impulse=0);this.m_u.SelfMul(1/this.m_length);var p=P.CrossVV(this.m_rA,this.m_u),m=P.CrossVV(this.m_rB,this.m_u),y=this.m_invMassA+this.m_invIA*p*p+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 v=P.MulSV(this.m_impulse,this.m_u,n.InitVelocityConstraints_s_P);s.SelfMulSub(this.m_invMassA,v),o-=this.m_invIA*P.CrossVV(this.m_rA,v),h.SelfMulAdd(this.m_invMassB,v),u+=this.m_invIB*P.CrossVV(this.m_rB,v)}else this.m_impulse=0;e.velocities[this.m_indexA].w=o,e.velocities[this.m_indexB].w=u},n.prototype.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,s=t.velocities[this.m_indexB].w,o=P.AddVCrossSV(e,i,this.m_rA,n.SolveVelocityConstraints_s_vpA),a=P.AddVCrossSV(r,s,this.m_rB,n.SolveVelocityConstraints_s_vpB),c=this.m_length-this.m_maxLength,l=P.DotVV(this.m_u,P.SubVV(a,o,P.s_t0));c<0&&(l+=t.step.inv_dt*c);var h=-this.m_mass*l,u=this.m_impulse;this.m_impulse=g(0,this.m_impulse+h),h=this.m_impulse-u;var _=P.MulSV(h,this.m_u,n.SolveVelocityConstraints_s_P);e.SelfMulSub(this.m_invMassA,_),i-=this.m_invIA*P.CrossVV(this.m_rA,_),r.SelfMulAdd(this.m_invMassB,_),s+=this.m_invIB*P.CrossVV(this.m_rB,_),t.velocities[this.m_indexA].w=i,t.velocities[this.m_indexB].w=s},n.prototype.SolvePositionConstraints=function(t){var e=t.positions[this.m_indexA].c,i=t.positions[this.m_indexA].a,r=t.positions[this.m_indexB].c,s=t.positions[this.m_indexB].a,o=this.m_qA.SetAngle(i),a=this.m_qB.SetAngle(s);P.SubVV(this.m_localAnchorA,this.m_localCenterA,this.m_lalcA);var l=F.MulRV(o,this.m_lalcA,this.m_rA);P.SubVV(this.m_localAnchorB,this.m_localCenterB,this.m_lalcB);var h=F.MulRV(a,this.m_lalcB,this.m_rB),u=this.m_u.Copy(r).SelfAdd(h).SelfSub(e).SelfSub(l),_=u.Normalize(),f=_-this.m_maxLength;f=C(f,0,.2);var d=-this.m_mass*f,p=P.MulSV(d,u,n.SolvePositionConstraints_s_P);return e.SelfMulSub(this.m_invMassA,p),i-=this.m_invIA*P.CrossVV(l,p),r.SelfMulAdd(this.m_invMassB,p),s+=this.m_invIB*P.CrossVV(h,p),t.positions[this.m_indexA].a=i,t.positions[this.m_indexB].a=s,_-this.m_maxLength<c},n.prototype.GetAnchorA=function(t){return this.m_bodyA.GetWorldPoint(this.m_localAnchorA,t)},n.prototype.GetAnchorB=function(t){return this.m_bodyB.GetWorldPoint(this.m_localAnchorB,t)},n.prototype.GetReactionForce=function(t,e){return P.MulSV(t*this.m_impulse,this.m_u,e)},n.prototype.GetReactionTorque=function(t){return 0},n.prototype.GetLocalAnchorA=function(){return this.m_localAnchorA},n.prototype.GetLocalAnchorB=function(){return this.m_localAnchorB},n.prototype.SetMaxLength=function(t){this.m_maxLength=t},n.prototype.GetMaxLength=function(){return this.m_maxLength},n.prototype.GetLimitState=function(){return this.m_state},n.prototype.Dump=function(t){var e=this.m_bodyA.m_islandIndex,i=this.m_bodyB.m_islandIndex;t(" const jd: b2RopeJointDef = new b2RopeJointDef();\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.maxLength = %.15f;\n",this.m_maxLength),t(" joints[%d] = this.m_world.CreateJoint(jd);\n",this.m_index)},n.InitVelocityConstraints_s_P=new P,n.SolveVelocityConstraints_s_vpA=new P,n.SolveVelocityConstraints_s_vpB=new P,n.SolveVelocityConstraints_s_P=new P,n.SolvePositionConstraints_s_P=new P,n})(fi),Li=(function(e){function i(){var i=e.call(this,t.b2JointType.e_weldJoint)||this;return i.localAnchorA=new P,i.localAnchorB=new P,i.referenceAngle=0,i.frequencyHz=0,i.dampingRatio=0,i}return $e(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),this.referenceAngle=this.bodyB.GetAngle()-this.bodyA.GetAngle()},i})(_i),Oi=(function(t){function i(i){var n=t.call(this,i)||this;return n.m_frequencyHz=0,n.m_dampingRatio=0,n.m_bias=0,n.m_localAnchorA=new P,n.m_localAnchorB=new P,n.m_referenceAngle=0,n.m_gamma=0,n.m_impulse=new L(0,0,0),n.m_indexA=0,n.m_indexB=0,n.m_rA=new P,n.m_rB=new P,n.m_localCenterA=new P,n.m_localCenterB=new P,n.m_invMassA=0,n.m_invMassB=0,n.m_invIA=0,n.m_invIB=0,n.m_mass=new V,n.m_qA=new F,n.m_qB=new F,n.m_lalcA=new P,n.m_lalcB=new P,n.m_K=new V,n.m_frequencyHz=e(i.frequencyHz,0),n.m_dampingRatio=e(i.dampingRatio,0),n.m_localAnchorA.Copy(e(i.localAnchorA,P.ZERO)),n.m_localAnchorB.Copy(e(i.localAnchorB,P.ZERO)),n.m_referenceAngle=e(i.referenceAngle,0),n.m_impulse.SetZero(),n}return $e(i,t),i.prototype.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,n=t.velocities[this.m_indexA].v,r=t.velocities[this.m_indexA].w,o=t.positions[this.m_indexB].a,a=t.velocities[this.m_indexB].v,c=t.velocities[this.m_indexB].w,l=this.m_qA.SetAngle(e),h=this.m_qB.SetAngle(o);P.SubVV(this.m_localAnchorA,this.m_localCenterA,this.m_lalcA),F.MulRV(l,this.m_lalcA,this.m_rA),P.SubVV(this.m_localAnchorB,this.m_localCenterB,this.m_lalcB),F.MulRV(h,this.m_lalcB,this.m_rB);var u=this.m_invMassA,_=this.m_invMassB,f=this.m_invIA,d=this.m_invIB,p=this.m_K;if(p.ex.x=u+_+this.m_rA.y*this.m_rA.y*f+this.m_rB.y*this.m_rB.y*d,p.ey.x=-this.m_rA.y*this.m_rA.x*f-this.m_rB.y*this.m_rB.x*d,p.ez.x=-this.m_rA.y*f-this.m_rB.y*d,p.ex.y=p.ey.x,p.ey.y=u+_+this.m_rA.x*this.m_rA.x*f+this.m_rB.x*this.m_rB.x*d,p.ez.y=this.m_rA.x*f+this.m_rB.x*d,p.ex.z=p.ez.x,p.ey.z=p.ez.y,p.ez.z=f+d,this.m_frequencyHz>0){p.GetInverse22(this.m_mass);var m=f+d,y=m>0?1/m:0,v=o-e-this.m_referenceAngle,g=2*s*this.m_frequencyHz,x=2*y*this.m_dampingRatio*g,C=y*g*g,A=t.step.dt;this.m_gamma=A*(x+A*C),this.m_gamma=0!==this.m_gamma?1/this.m_gamma:0,this.m_bias=v*A*C*this.m_gamma,m+=this.m_gamma,this.m_mass.ez.z=0!==m?1/m:0}else p.GetSymInverse33(this.m_mass),this.m_gamma=0,this.m_bias=0;if(t.step.warmStarting){this.m_impulse.SelfMul(t.step.dtRatio);var b=i.InitVelocityConstraints_s_P.Set(this.m_impulse.x,this.m_impulse.y);n.SelfMulSub(u,b),r-=f*(P.CrossVV(this.m_rA,b)+this.m_impulse.z),a.SelfMulAdd(_,b),c+=d*(P.CrossVV(this.m_rB,b)+this.m_impulse.z)}else this.m_impulse.SetZero();t.velocities[this.m_indexA].w=r,t.velocities[this.m_indexB].w=c},i.prototype.SolveVelocityConstraints=function(t){var e=t.velocities[this.m_indexA].v,n=t.velocities[this.m_indexA].w,r=t.velocities[this.m_indexB].v,s=t.velocities[this.m_indexB].w,o=this.m_invMassA,a=this.m_invMassB,c=this.m_invIA,l=this.m_invIB;if(this.m_frequencyHz>0){var h=s-n,u=-this.m_mass.ez.z*(h+this.m_bias+this.m_gamma*this.m_impulse.z);this.m_impulse.z+=u,n-=c*u,s+=l*u;var _=P.SubVV(P.AddVCrossSV(r,s,this.m_rB,P.s_t0),P.AddVCrossSV(e,n,this.m_rA,P.s_t1),i.SolveVelocityConstraints_s_Cdot1),f=V.MulM33XY(this.m_mass,_.x,_.y,i.SolveVelocityConstraints_s_impulse1).SelfNeg();this.m_impulse.x+=f.x,this.m_impulse.y+=f.y;var d=f;e.SelfMulSub(o,d),n-=c*P.CrossVV(this.m_rA,d),r.SelfMulAdd(a,d),s+=l*P.CrossVV(this.m_rB,d)}else{_=P.SubVV(P.AddVCrossSV(r,s,this.m_rB,P.s_t0),P.AddVCrossSV(e,n,this.m_rA,P.s_t1),i.SolveVelocityConstraints_s_Cdot1),h=s-n;var p=V.MulM33XYZ(this.m_mass,_.x,_.y,h,i.SolveVelocityConstraints_s_impulse).SelfNeg();this.m_impulse.SelfAdd(p);d=i.SolveVelocityConstraints_s_P.Set(p.x,p.y);e.SelfMulSub(o,d),n-=c*(P.CrossVV(this.m_rA,d)+p.z),r.SelfMulAdd(a,d),s+=l*(P.CrossVV(this.m_rB,d)+p.z)}t.velocities[this.m_indexA].w=n,t.velocities[this.m_indexB].w=s},i.prototype.SolvePositionConstraints=function(t){var e=t.positions[this.m_indexA].c,n=t.positions[this.m_indexA].a,r=t.positions[this.m_indexB].c,s=t.positions[this.m_indexB].a,o=this.m_qA.SetAngle(n),a=this.m_qB.SetAngle(s),h=this.m_invMassA,u=this.m_invMassB,_=this.m_invIA,f=this.m_invIB;P.SubVV(this.m_localAnchorA,this.m_localCenterA,this.m_lalcA);var d=F.MulRV(o,this.m_lalcA,this.m_rA);P.SubVV(this.m_localAnchorB,this.m_localCenterB,this.m_lalcB);var p,m,y=F.MulRV(a,this.m_lalcB,this.m_rB),g=this.m_K;if(g.ex.x=h+u+d.y*d.y*_+y.y*y.y*f,g.ey.x=-d.y*d.x*_-y.y*y.x*f,g.ez.x=-d.y*_-y.y*f,g.ex.y=g.ey.x,g.ey.y=h+u+d.x*d.x*_+y.x*y.x*f,g.ez.y=d.x*_+y.x*f,g.ex.z=g.ez.x,g.ey.z=g.ez.y,g.ez.z=_+f,this.m_frequencyHz>0){p=(C=P.SubVV(P.AddVV(r,y,P.s_t0),P.AddVV(e,d,P.s_t1),i.SolvePositionConstraints_s_C1)).Length(),m=0;var x=g.Solve22(C.x,C.y,i.SolvePositionConstraints_s_P).SelfNeg();e.SelfMulSub(h,x),n-=_*P.CrossVV(d,x),r.SelfMulAdd(u,x),s+=f*P.CrossVV(y,x)}else{var C=P.SubVV(P.AddVV(r,y,P.s_t0),P.AddVV(e,d,P.s_t1),i.SolvePositionConstraints_s_C1),A=s-n-this.m_referenceAngle;p=C.Length(),m=v(A);var b=g.Solve33(C.x,C.y,A,i.SolvePositionConstraints_s_impulse).SelfNeg();x=i.SolvePositionConstraints_s_P.Set(b.x,b.y);e.SelfMulSub(h,x),n-=_*(P.CrossVV(this.m_rA,x)+b.z),r.SelfMulAdd(u,x),s+=f*(P.CrossVV(this.m_rB,x)+b.z)}return t.positions[this.m_indexA].a=n,t.positions[this.m_indexB].a=s,p<=c&&m<=l},i.prototype.GetAnchorA=function(t){return this.m_bodyA.GetWorldPoint(this.m_localAnchorA,t)},i.prototype.GetAnchorB=function(t){return this.m_bodyB.GetWorldPoint(this.m_localAnchorB,t)},i.prototype.GetReactionForce=function(t,e){return e.x=t*this.m_impulse.x,e.y=t*this.m_impulse.y,e},i.prototype.GetReactionTorque=function(t){return t*this.m_impulse.z},i.prototype.GetLocalAnchorA=function(){return this.m_localAnchorA},i.prototype.GetLocalAnchorB=function(){return this.m_localAnchorB},i.prototype.GetReferenceAngle=function(){return this.m_referenceAngle},i.prototype.SetFrequency=function(t){this.m_frequencyHz=t},i.prototype.GetFrequency=function(){return this.m_frequencyHz},i.prototype.SetDampingRatio=function(t){this.m_dampingRatio=t},i.prototype.GetDampingRatio=function(){return this.m_dampingRatio},i.prototype.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.InitVelocityConstraints_s_P=new P,i.SolveVelocityConstraints_s_Cdot1=new P,i.SolveVelocityConstraints_s_impulse1=new P,i.SolveVelocityConstraints_s_impulse=new L,i.SolveVelocityConstraints_s_P=new P,i.SolvePositionConstraints_s_C1=new P,i.SolvePositionConstraints_s_P=new P,i.SolvePositionConstraints_s_impulse=new L,i})(fi),Vi=(function(e){function i(){var i=e.call(this,t.b2JointType.e_wheelJoint)||this;return i.localAnchorA=new P(0,0),i.localAnchorB=new P(0,0),i.localAxisA=new P(1,0),i.enableMotor=!1,i.maxMotorTorque=0,i.motorSpeed=0,i.frequencyHz=2,i.dampingRatio=.7,i}return $e(i,e),i.prototype.Initialize=function(t,e,i,n){this.bodyA=t,this.bodyB=e,this.bodyA.GetLocalPoint(i,this.localAnchorA),this.bodyB.GetLocalPoint(i,this.localAnchorB),this.bodyA.GetLocalVector(n,this.localAxisA)},i})(_i),Fi=(function(t){function i(i){var n=t.call(this,i)||this;return n.m_frequencyHz=0,n.m_dampingRatio=0,n.m_localAnchorA=new P,n.m_localAnchorB=new P,n.m_localXAxisA=new P,n.m_localYAxisA=new P,n.m_impulse=0,n.m_motorImpulse=0,n.m_springImpulse=0,n.m_maxMotorTorque=0,n.m_motorSpeed=0,n.m_enableMotor=!1,n.m_indexA=0,n.m_indexB=0,n.m_localCenterA=new P,n.m_localCenterB=new P,n.m_invMassA=0,n.m_invMassB=0,n.m_invIA=0,n.m_invIB=0,n.m_ax=new P,n.m_ay=new P,n.m_sAx=0,n.m_sBx=0,n.m_sAy=0,n.m_sBy=0,n.m_mass=0,n.m_motorMass=0,n.m_springMass=0,n.m_bias=0,n.m_gamma=0,n.m_qA=new F,n.m_qB=new F,n.m_lalcA=new P,n.m_lalcB=new P,n.m_rA=new P,n.m_rB=new P,n.m_frequencyHz=e(i.frequencyHz,2),n.m_dampingRatio=e(i.dampingRatio,.7),n.m_localAnchorA.Copy(e(i.localAnchorA,P.ZERO)),n.m_localAnchorB.Copy(e(i.localAnchorB,P.ZERO)),n.m_localXAxisA.Copy(e(i.localAxisA,P.UNITX)),P.CrossOneV(n.m_localXAxisA,n.m_localYAxisA),n.m_maxMotorTorque=e(i.maxMotorTorque,0),n.m_motorSpeed=e(i.motorSpeed,0),n.m_enableMotor=e(i.enableMotor,!1),n.m_ax.SetZero(),n.m_ay.SetZero(),n}return $e(i,t),i.prototype.GetMotorSpeed=function(){return this.m_motorSpeed},i.prototype.GetMaxMotorTorque=function(){return this.m_maxMotorTorque},i.prototype.SetSpringFrequencyHz=function(t){this.m_frequencyHz=t},i.prototype.GetSpringFrequencyHz=function(){return this.m_frequencyHz},i.prototype.SetSpringDampingRatio=function(t){this.m_dampingRatio=t},i.prototype.GetSpringDampingRatio=function(){return this.m_dampingRatio},i.prototype.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,n=this.m_invMassB,r=this.m_invIA,o=this.m_invIB,a=t.positions[this.m_indexA].c,c=t.positions[this.m_indexA].a,l=t.velocities[this.m_indexA].v,h=t.velocities[this.m_indexA].w,u=t.positions[this.m_indexB].c,_=t.positions[this.m_indexB].a,f=t.velocities[this.m_indexB].v,d=t.velocities[this.m_indexB].w,p=this.m_qA.SetAngle(c),m=this.m_qB.SetAngle(_);P.SubVV(this.m_localAnchorA,this.m_localCenterA,this.m_lalcA);var y=F.MulRV(p,this.m_lalcA,this.m_rA);P.SubVV(this.m_localAnchorB,this.m_localCenterB,this.m_lalcB);var v=F.MulRV(m,this.m_lalcB,this.m_rB),g=P.SubVV(P.AddVV(u,v,P.s_t0),P.AddVV(a,y,P.s_t1),i.InitVelocityConstraints_s_d);if(F.MulRV(p,this.m_localYAxisA,this.m_ay),this.m_sAy=P.CrossVV(P.AddVV(g,y,P.s_t0),this.m_ay),this.m_sBy=P.CrossVV(v,this.m_ay),this.m_mass=e+n+r*this.m_sAy*this.m_sAy+o*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){F.MulRV(p,this.m_localXAxisA,this.m_ax),this.m_sAx=P.CrossVV(P.AddVV(g,y,P.s_t0),this.m_ax),this.m_sBx=P.CrossVV(v,this.m_ax);var x=e+n+r*this.m_sAx*this.m_sAx+o*this.m_sBx*this.m_sBx;if(x>0){this.m_springMass=1/x;var C=P.DotVV(g,this.m_ax),A=2*s*this.m_frequencyHz,b=2*this.m_springMass*this.m_dampingRatio*A,S=this.m_springMass*A*A,T=t.step.dt;this.m_gamma=T*(b+T*S),this.m_gamma>0&&(this.m_gamma=1/this.m_gamma),this.m_bias=C*T*S*this.m_gamma,this.m_springMass=x+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=r+o,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=P.AddVV(P.MulSV(this.m_impulse,this.m_ay,P.s_t0),P.MulSV(this.m_springImpulse,this.m_ax,P.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;l.SelfMulSub(this.m_invMassA,w),h-=this.m_invIA*E,f.SelfMulAdd(this.m_invMassB,w),d+=this.m_invIB*B}else this.m_impulse=0,this.m_springImpulse=0,this.m_motorImpulse=0;t.velocities[this.m_indexA].w=h,t.velocities[this.m_indexB].w=d},i.prototype.SolveVelocityConstraints=function(t){var e=this.m_invMassA,n=this.m_invMassB,r=this.m_invIA,s=this.m_invIB,o=t.velocities[this.m_indexA].v,a=t.velocities[this.m_indexA].w,c=t.velocities[this.m_indexB].v,l=t.velocities[this.m_indexB].w,h=P.DotVV(this.m_ax,P.SubVV(c,o,P.s_t0))+this.m_sBx*l-this.m_sAx*a,u=-this.m_springMass*(h+this.m_bias+this.m_gamma*this.m_springImpulse);this.m_springImpulse+=u;var _=P.MulSV(u,this.m_ax,i.SolveVelocityConstraints_s_P),f=u*this.m_sAx,d=u*this.m_sBx;o.SelfMulSub(e,_),a-=r*f,c.SelfMulAdd(n,_);h=(l+=s*d)-a-this.m_motorSpeed,u=-this.m_motorMass*h;var p=this.m_motorImpulse,m=t.step.dt*this.m_maxMotorTorque;this.m_motorImpulse=C(this.m_motorImpulse+u,-m,m),a-=r*(u=this.m_motorImpulse-p),l+=s*u;h=P.DotVV(this.m_ay,P.SubVV(c,o,P.s_t0))+this.m_sBy*l-this.m_sAy*a,u=-this.m_mass*h;this.m_impulse+=u;_=P.MulSV(u,this.m_ay,i.SolveVelocityConstraints_s_P),f=u*this.m_sAy,d=u*this.m_sBy;o.SelfMulSub(e,_),a-=r*f,c.SelfMulAdd(n,_),l+=s*d,t.velocities[this.m_indexA].w=a,t.velocities[this.m_indexB].w=l},i.prototype.SolvePositionConstraints=function(t){var e=t.positions[this.m_indexA].c,n=t.positions[this.m_indexA].a,r=t.positions[this.m_indexB].c,s=t.positions[this.m_indexB].a,o=this.m_qA.SetAngle(n),a=this.m_qB.SetAngle(s);P.SubVV(this.m_localAnchorA,this.m_localCenterA,this.m_lalcA);var l=F.MulRV(o,this.m_lalcA,this.m_rA);P.SubVV(this.m_localAnchorB,this.m_localCenterB,this.m_lalcB);var h,u=F.MulRV(a,this.m_lalcB,this.m_rB),_=P.AddVV(P.SubVV(r,e,P.s_t0),P.SubVV(u,l,P.s_t1),i.SolvePositionConstraints_s_d),f=F.MulRV(o,this.m_localYAxisA,this.m_ay),d=P.CrossVV(P.AddVV(_,l,P.s_t0),f),p=P.CrossVV(u,f),m=P.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;h=0!==y?-m/y:0;var g=P.MulSV(h,f,i.SolvePositionConstraints_s_P),x=h*d,C=h*p;return e.SelfMulSub(this.m_invMassA,g),n-=this.m_invIA*x,r.SelfMulAdd(this.m_invMassB,g),s+=this.m_invIB*C,t.positions[this.m_indexA].a=n,t.positions[this.m_indexB].a=s,v(m)<=c},i.prototype.GetDefinition=function(t){return t},i.prototype.GetAnchorA=function(t){return this.m_bodyA.GetWorldPoint(this.m_localAnchorA,t)},i.prototype.GetAnchorB=function(t){return this.m_bodyB.GetWorldPoint(this.m_localAnchorB,t)},i.prototype.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},i.prototype.GetReactionTorque=function(t){return t*this.m_motorImpulse},i.prototype.GetLocalAnchorA=function(){return this.m_localAnchorA},i.prototype.GetLocalAnchorB=function(){return this.m_localAnchorB},i.prototype.GetLocalAxisA=function(){return this.m_localXAxisA},i.prototype.GetJointTranslation=function(){return this.GetPrismaticJointTranslation()},i.prototype.GetJointLinearSpeed=function(){return this.GetPrismaticJointSpeed()},i.prototype.GetJointAngle=function(){return this.GetRevoluteJointAngle()},i.prototype.GetJointAngularSpeed=function(){return this.GetRevoluteJointSpeed()},i.prototype.GetPrismaticJointTranslation=function(){var t=this.m_bodyA,e=this.m_bodyB,i=t.GetWorldPoint(this.m_localAnchorA,new P),n=e.GetWorldPoint(this.m_localAnchorB,new P),r=P.SubVV(n,i,new P),s=t.GetWorldVector(this.m_localXAxisA,new P);return P.DotVV(r,s)},i.prototype.GetPrismaticJointSpeed=function(){var t=this.m_bodyA,e=this.m_bodyB;P.SubVV(this.m_localAnchorA,t.m_sweep.localCenter,this.m_lalcA);var i=F.MulRV(t.m_xf.q,this.m_lalcA,this.m_rA);P.SubVV(this.m_localAnchorB,e.m_sweep.localCenter,this.m_lalcB);var n=F.MulRV(e.m_xf.q,this.m_lalcB,this.m_rB),r=P.AddVV(t.m_sweep.c,i,P.s_t0),s=P.AddVV(e.m_sweep.c,n,P.s_t1),o=P.SubVV(s,r,P.s_t2),a=t.GetWorldVector(this.m_localXAxisA,new P),c=t.m_linearVelocity,l=e.m_linearVelocity,h=t.m_angularVelocity,u=e.m_angularVelocity;return P.DotVV(o,P.CrossSV(h,a,P.s_t0))+P.DotVV(a,P.SubVV(P.AddVCrossSV(l,u,n,P.s_t0),P.AddVCrossSV(c,h,i,P.s_t1),P.s_t0))},i.prototype.GetRevoluteJointAngle=function(){return this.m_bodyB.m_sweep.a-this.m_bodyA.m_sweep.a},i.prototype.GetRevoluteJointSpeed=function(){var t=this.m_bodyA.m_angularVelocity;return this.m_bodyB.m_angularVelocity-t},i.prototype.IsMotorEnabled=function(){return this.m_enableMotor},i.prototype.EnableMotor=function(t){t!==this.m_enableMotor&&(this.m_bodyA.SetAwake(!0),this.m_bodyB.SetAwake(!0),this.m_enableMotor=t)},i.prototype.SetMotorSpeed=function(t){t!==this.m_motorSpeed&&(this.m_bodyA.SetAwake(!0),this.m_bodyB.SetAwake(!0),this.m_motorSpeed=t)},i.prototype.SetMaxMotorTorque=function(t){t!==this.m_maxMotorTorque&&(this.m_bodyA.SetAwake(!0),this.m_bodyB.SetAwake(!0),this.m_maxMotorTorque=t)},i.prototype.GetMotorTorque=function(t){return t*this.m_motorImpulse},i.prototype.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.InitVelocityConstraints_s_d=new P,i.InitVelocityConstraints_s_P=new P,i.SolveVelocityConstraints_s_P=new P,i.SolvePositionConstraints_s_d=new P,i.SolvePositionConstraints_s_P=new P,i})(fi);function Ni(t,e){return T(t*e)}function Gi(t,e){return t>e?t:e}var ki=(function(){return function(t){this.prev=null,this.next=null,this.contact=t}})(),zi=(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_indexA=0,this.m_indexB=0,this.m_manifold=new Ct,this.m_toiCount=0,this.m_toi=0,this.m_friction=0,this.m_restitution=0,this.m_tangentSpeed=0,this.m_oldManifold=new Ct,this.m_nodeA=new ki(this),this.m_nodeB=new ki(this)}return t.prototype.GetManifold=function(){return this.m_manifold},t.prototype.GetWorldManifold=function(t){var e=this.m_fixtureA.GetBody(),i=this.m_fixtureB.GetBody(),n=this.m_fixtureA.GetShape(),r=this.m_fixtureB.GetShape();t.Initialize(this.m_manifold,e.GetTransform(),n.m_radius,i.GetTransform(),r.m_radius)},t.prototype.IsTouching=function(){return this.m_touchingFlag},t.prototype.SetEnabled=function(t){this.m_enabledFlag=t},t.prototype.IsEnabled=function(){return this.m_enabledFlag},t.prototype.GetNext=function(){return this.m_next},t.prototype.GetFixtureA=function(){return this.m_fixtureA},t.prototype.GetChildIndexA=function(){return this.m_indexA},t.prototype.GetFixtureB=function(){return this.m_fixtureB},t.prototype.GetChildIndexB=function(){return this.m_indexB},t.prototype.FlagForFiltering=function(){this.m_filterFlag=!0},t.prototype.SetFriction=function(t){this.m_friction=t},t.prototype.GetFriction=function(){return this.m_friction},t.prototype.ResetFriction=function(){this.m_friction=Ni(this.m_fixtureA.m_friction,this.m_fixtureB.m_friction)},t.prototype.SetRestitution=function(t){this.m_restitution=t},t.prototype.GetRestitution=function(){return this.m_restitution},t.prototype.ResetRestitution=function(){this.m_restitution=Gi(this.m_fixtureA.m_restitution,this.m_fixtureB.m_restitution)},t.prototype.SetTangentSpeed=function(t){this.m_tangentSpeed=t},t.prototype.GetTangentSpeed=function(){return this.m_tangentSpeed},t.prototype.Reset=function(t,e,i,n){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=n,this.m_manifold.pointCount=0,this.m_prev=null,this.m_next=null,delete this.m_nodeA.contact,this.m_nodeA.prev=null,this.m_nodeA.next=null,delete this.m_nodeA.other,delete this.m_nodeB.contact,this.m_nodeB.prev=null,this.m_nodeB.next=null,delete this.m_nodeB.other,this.m_toiCount=0,this.m_friction=Ni(this.m_fixtureA.m_friction,this.m_fixtureB.m_friction),this.m_restitution=Gi(this.m_fixtureA.m_restitution,this.m_fixtureB.m_restitution)},t.prototype.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,n=this.m_touchingFlag,r=this.m_fixtureA.IsSensor(),s=this.m_fixtureB.IsSensor(),o=r||s,a=this.m_fixtureA.GetBody(),c=this.m_fixtureB.GetBody(),l=a.GetTransform(),h=c.GetTransform();if(o){var u=this.m_fixtureA.GetShape(),_=this.m_fixtureB.GetShape();i=Pt(u,this.m_indexA,_,this.m_indexB,l,h),this.m_manifold.pointCount=0}else{this.Evaluate(this.m_manifold,l,h),i=this.m_manifold.pointCount>0;for(var f=0;f<this.m_manifold.pointCount;++f){var d=this.m_manifold.points[f];d.normalImpulse=0,d.tangentImpulse=0;for(var p=d.id,m=0;m<this.m_oldManifold.pointCount;++m){var y=this.m_oldManifold.points[m];if(y.id.key===p.key){d.normalImpulse=y.normalImpulse,d.tangentImpulse=y.tangentImpulse;break}}}i!==n&&(a.SetAwake(!0),c.SetAwake(!0))}this.m_touchingFlag=i,!n&&i&&t&&t.BeginContact(this),n&&!i&&t&&t.EndContact(this),!o&&i&&t&&t.PreSolve(this,this.m_oldManifold)},t.prototype.ComputeTOI=function(e,i){var n=t.ComputeTOI_s_input;n.proxyA.SetShape(this.m_fixtureA.GetShape(),this.m_indexA),n.proxyB.SetShape(this.m_fixtureB.GetShape(),this.m_indexB),n.sweepA.Copy(e),n.sweepB.Copy(i),n.tMax=c;var r=t.ComputeTOI_s_output;return re(r,n),r.t},t.ComputeTOI_s_input=new qt,t.ComputeTOI_s_output=new Xt,t})(),Ui=(function(t){function e(){return t.call(this)||this}return $e(e,t),e.Create=function(t){return new e},e.Destroy=function(t,e){},e.prototype.Reset=function(e,i,n,r){t.prototype.Reset.call(this,e,i,n,r)},e.prototype.Evaluate=function(t,e,i){ae(t,this.m_fixtureA.GetShape(),e,this.m_fixtureB.GetShape(),i)},e})(zi),Wi=(function(t){function e(){return t.call(this)||this}return $e(e,t),e.Create=function(t){return new e},e.Destroy=function(t,e){},e.prototype.Reset=function(e,i,n,r){t.prototype.Reset.call(this,e,i,n,r)},e.prototype.Evaluate=function(t,e,i){Oe(t,this.m_fixtureA.GetShape(),e,this.m_fixtureB.GetShape(),i)},e})(zi),ji=(function(t){function e(){return t.call(this)||this}return $e(e,t),e.Create=function(t){return new e},e.Destroy=function(t,e){},e.prototype.Reset=function(e,i,n,r){t.prototype.Reset.call(this,e,i,n,r)},e.prototype.Evaluate=function(t,e,i){ue(t,this.m_fixtureA.GetShape(),e,this.m_fixtureB.GetShape(),i)},e})(zi),Hi=(function(t){function e(){return t.call(this)||this}return $e(e,t),e.Create=function(t){return new e},e.Destroy=function(t,e){},e.prototype.Reset=function(e,i,n,r){t.prototype.Reset.call(this,e,i,n,r)},e.prototype.Evaluate=function(t,e,i){je(t,this.m_fixtureA.GetShape(),e,this.m_fixtureB.GetShape(),i)},e})(zi),qi=(function(t){function e(){return t.call(this)||this}return $e(e,t),e.Create=function(t){return new e},e.Destroy=function(t,e){},e.prototype.Reset=function(e,i,n,r){t.prototype.Reset.call(this,e,i,n,r)},e.prototype.Evaluate=function(t,e,i){Je(t,this.m_fixtureA.GetShape(),e,this.m_fixtureB.GetShape(),i)},e})(zi),Xi=(function(t){function e(){return t.call(this)||this}return $e(e,t),e.Create=function(t){return new e},e.Destroy=function(t,e){},e.prototype.Reset=function(e,i,n,r){t.prototype.Reset.call(this,e,i,n,r)},e.prototype.Evaluate=function(t,i,n){var r=this.m_fixtureA.GetShape(),s=this.m_fixtureB.GetShape(),o=r,a=e.Evaluate_s_edge;o.GetChildEdge(a,this.m_indexA),je(t,a,i,s,n)},e.Evaluate_s_edge=new ii,e})(zi),Yi=(function(t){function e(){return t.call(this)||this}return $e(e,t),e.Create=function(t){return new e},e.Destroy=function(t,e){},e.prototype.Reset=function(e,i,n,r){t.prototype.Reset.call(this,e,i,n,r)},e.prototype.Evaluate=function(t,i,n){var r=this.m_fixtureA.GetShape(),s=this.m_fixtureB.GetShape(),o=r,a=e.Evaluate_s_edge;o.GetChildEdge(a,this.m_indexA),Je(t,a,i,s,n)},e.Evaluate_s_edge=new ii,e})(zi),Ji=(function(){return function(){this.createFcn=null,this.destroyFcn=null,this.primary=!1}})(),Zi=(function(){function e(t){this.m_allocator=null,this.m_allocator=t,this.InitializeRegisters()}return e.prototype.AddType=function(t,e,i,n){var r=this,s=d(256,(function(e){return t(r.m_allocator)}));function o(e){return s.pop()||t(e)}function a(t,e){s.push(t)}this.m_registers[i][n].createFcn=o,this.m_registers[i][n].destroyFcn=a,this.m_registers[i][n].primary=!0,i!==n&&(this.m_registers[n][i].createFcn=o,this.m_registers[n][i].destroyFcn=a,this.m_registers[n][i].primary=!1)},e.prototype.InitializeRegisters=function(){this.m_registers=[];for(var e=0;e<t.b2ShapeType.e_shapeTypeCount;e++){this.m_registers[e]=[];for(var i=0;i<t.b2ShapeType.e_shapeTypeCount;i++)this.m_registers[e][i]=new Ji}this.AddType(Ui.Create,Ui.Destroy,t.b2ShapeType.e_circleShape,t.b2ShapeType.e_circleShape),this.AddType(ji.Create,ji.Destroy,t.b2ShapeType.e_polygonShape,t.b2ShapeType.e_circleShape),this.AddType(Wi.Create,Wi.Destroy,t.b2ShapeType.e_polygonShape,t.b2ShapeType.e_polygonShape),this.AddType(Hi.Create,Hi.Destroy,t.b2ShapeType.e_edgeShape,t.b2ShapeType.e_circleShape),this.AddType(qi.Create,qi.Destroy,t.b2ShapeType.e_edgeShape,t.b2ShapeType.e_polygonShape),this.AddType(Xi.Create,Xi.Destroy,t.b2ShapeType.e_chainShape,t.b2ShapeType.e_circleShape),this.AddType(Yi.Create,Yi.Destroy,t.b2ShapeType.e_chainShape,t.b2ShapeType.e_polygonShape)},e.prototype.Create=function(t,e,i,n){var r=t.GetType(),s=i.GetType(),o=this.m_registers[r][s];if(o.createFcn){var a=o.createFcn(this.m_allocator);return o.primary?a.Reset(t,e,i,n):a.Reset(i,n,t,e),a}return null},e.prototype.Destroy=function(t){var e=t.m_fixtureA,i=t.m_fixtureB;t.m_manifold.pointCount>0&&!e.IsSensor()&&!i.IsSensor()&&(e.GetBody().SetAwake(!0),i.GetBody().SetAwake(!0));var n=e.GetType(),r=i.GetType(),s=this.m_registers[n][r];s.destroyFcn&&s.destroyFcn(t,this.m_allocator)},e})(),Ki=(function(){function t(){}return t.prototype.SayGoodbyeJoint=function(t){},t.prototype.SayGoodbyeFixture=function(t){},t.prototype.SayGoodbyeParticleGroup=function(t){},t.prototype.SayGoodbyeParticle=function(t,e){},t})(),Qi=(function(){function e(){}return e.prototype.ShouldCollide=function(e,i){var n=e.GetBody(),r=i.GetBody();if(r.GetType()===t.b2BodyType.b2_staticBody&&n.GetType()===t.b2BodyType.b2_staticBody)return!1;if(!r.ShouldCollideConnected(n))return!1;var s=e.GetFilterData(),o=i.GetFilterData();return s.groupIndex===o.groupIndex&&0!==s.groupIndex?s.groupIndex>0:0!=(s.maskBits&o.categoryBits)&&0!=(s.categoryBits&o.maskBits)},e.prototype.ShouldCollideFixtureParticle=function(t,e,i){return!0},e.prototype.ShouldCollideParticleParticle=function(t,e,i){return!0},e.b2_defaultFilter=new e,e})(),$i=(function(){return function(){this.normalImpulses=p(o),this.tangentImpulses=p(o),this.count=0}})(),tn=(function(){function t(){}return t.prototype.BeginContact=function(t){},t.prototype.EndContact=function(t){},t.prototype.BeginContactFixtureParticle=function(t,e){},t.prototype.EndContactFixtureParticle=function(t,e){},t.prototype.BeginContactParticleParticle=function(t,e){},t.prototype.EndContactParticleParticle=function(t,e){},t.prototype.PreSolve=function(t,e){},t.prototype.PostSolve=function(t,e){},t.b2_defaultListener=new t,t})(),en=(function(){function t(){}return t.prototype.ReportFixture=function(t){return!0},t.prototype.ReportParticle=function(t,e){return!1},t.prototype.ShouldQueryParticleSystem=function(t){return!0},t})(),nn=(function(){function t(){}return t.prototype.ReportFixture=function(t,e,i,n){return n},t.prototype.ReportParticle=function(t,e,i,n,r){return 0},t.prototype.ShouldQueryParticleSystem=function(t){return!0},t})(),rn=(function(){function e(){this.m_broadPhase=new Ft,this.m_contactList=null,this.m_contactCount=0,this.m_contactFilter=Qi.b2_defaultFilter,this.m_contactListener=tn.b2_defaultListener,this.m_allocator=null,this.m_contactFactory=new Zi(this.m_allocator)}return e.prototype.AddPair=function(t,e){var i=t.fixture,n=e.fixture,r=t.childIndex,s=e.childIndex,o=i.GetBody(),a=n.GetBody();if(o!==a){for(var c=a.GetContactList();c;){if(c.other===o){var l=c.contact.GetFixtureA(),h=c.contact.GetFixtureB(),u=c.contact.GetChildIndexA(),_=c.contact.GetChildIndexB();if(l===i&&h===n&&u===r&&_===s)return;if(l===n&&h===i&&u===s&&_===r)return}c=c.next}if(!this.m_contactFilter||this.m_contactFilter.ShouldCollide(i,n)){var f=this.m_contactFactory.Create(i,r,n,s);null!==f&&(i=f.GetFixtureA(),n=f.GetFixtureB(),r=f.GetChildIndexA(),s=f.GetChildIndexB(),o=i.m_body,a=n.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.contact=f,f.m_nodeA.other=a,f.m_nodeA.prev=null,f.m_nodeA.next=o.m_contactList,null!==o.m_contactList&&(o.m_contactList.prev=f.m_nodeA),o.m_contactList=f.m_nodeA,f.m_nodeB.contact=f,f.m_nodeB.other=o,f.m_nodeB.prev=null,f.m_nodeB.next=a.m_contactList,null!==a.m_contactList&&(a.m_contactList.prev=f.m_nodeB),a.m_contactList=f.m_nodeB,i.IsSensor()||n.IsSensor()||(o.SetAwake(!0),a.SetAwake(!0)),++this.m_contactCount)}}},e.prototype.FindNewContacts=function(){var t=this;this.m_broadPhase.UpdatePairs((function(e,i){t.AddPair(e,i)}))},e.prototype.Destroy=function(t){var e=t.GetFixtureA(),i=t.GetFixtureB(),n=e.GetBody(),r=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===n.m_contactList&&(n.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===r.m_contactList&&(r.m_contactList=t.m_nodeB.next),this.m_contactFactory.Destroy(t),--this.m_contactCount},e.prototype.Collide=function(){for(var e=this.m_contactList;e;){var i=e.GetFixtureA(),n=e.GetFixtureB(),r=e.GetChildIndexA(),s=e.GetChildIndexB(),o=i.GetBody(),a=n.GetBody();if(e.m_filterFlag){if(this.m_contactFilter&&!this.m_contactFilter.ShouldCollide(i,n)){e=(h=e).m_next,this.Destroy(h);continue}e.m_filterFlag=!1}var c=o.IsAwake()&&o.m_type!==t.b2BodyType.b2_staticBody,l=a.IsAwake()&&a.m_type!==t.b2BodyType.b2_staticBody;if(c||l){var h,u=i.m_proxies[r].treeNode,_=n.m_proxies[s].treeNode;if(Et(u.aabb,_.aabb))e.Update(this.m_contactListener),e=e.m_next;else e=(h=e).m_next,this.Destroy(h)}else e=e.m_next}},e})(),sn=(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})(),on=(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})(),an=(function(){function t(){this.c=new P,this.a=0}return t.MakeArray=function(e){return d(e,(function(e){return new t}))},t})(),cn=(function(){function t(){this.v=new P,this.w=0}return t.MakeArray=function(e){return d(e,(function(e){return new t}))},t})(),ln=(function(){return function(){this.step=new on}})(),hn=(function(){function t(){this.rA=new P,this.rB=new P,this.normalImpulse=0,this.tangentImpulse=0,this.normalMass=0,this.tangentMass=0,this.velocityBias=0}return t.MakeArray=function(e){return d(e,(function(e){return new t}))},t})(),un=(function(){function t(){this.points=hn.MakeArray(o),this.normal=new P,this.tangent=new P,this.normalMass=new O,this.K=new O,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 d(e,(function(e){return new t}))},t})(),_n=(function(){function e(){this.localPoints=P.MakeArray(o),this.localNormal=new P,this.localPoint=new P,this.indexA=0,this.indexB=0,this.invMassA=0,this.invMassB=0,this.localCenterA=new P,this.localCenterB=new P,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 d(t,(function(t){return new e}))},e})(),fn=(function(){return function(){this.step=new on,this.count=0,this.allocator=null}})(),dn=(function(){function e(){this.normal=new P,this.point=new P,this.separation=0}return e.prototype.Initialize=function(i,n,r,s){var o=e.Initialize_s_pointA,a=e.Initialize_s_pointB,c=e.Initialize_s_planePoint,l=e.Initialize_s_clipPoint;switch(i.type){case t.b2ManifoldType.e_circles:N.MulXV(n,i.localPoint,o),N.MulXV(r,i.localPoints[0],a),P.SubVV(a,o,this.normal).SelfNormalize(),P.MidVV(o,a,this.point),this.separation=P.DotVV(P.SubVV(a,o,P.s_t0),this.normal)-i.radiusA-i.radiusB;break;case t.b2ManifoldType.e_faceA:F.MulRV(n.q,i.localNormal,this.normal),N.MulXV(n,i.localPoint,c),N.MulXV(r,i.localPoints[s],l),this.separation=P.DotVV(P.SubVV(l,c,P.s_t0),this.normal)-i.radiusA-i.radiusB,this.point.Copy(l);break;case t.b2ManifoldType.e_faceB:F.MulRV(r.q,i.localNormal,this.normal),N.MulXV(r,i.localPoint,c),N.MulXV(n,i.localPoints[s],l),this.separation=P.DotVV(P.SubVV(l,c,P.s_t0),this.normal)-i.radiusA-i.radiusB,this.point.Copy(l),this.normal.SelfNeg()}},e.Initialize_s_pointA=new P,e.Initialize_s_pointB=new P,e.Initialize_s_planePoint=new P,e.Initialize_s_clipPoint=new P,e})(),pn=(function(){function t(){this.m_step=new on,this.m_allocator=null,this.m_positionConstraints=_n.MakeArray(1024),this.m_velocityConstraints=un.MakeArray(1024),this.m_count=0}return t.prototype.Initialize=function(t){if(this.m_step.Copy(t.step),this.m_allocator=t.allocator,this.m_count=t.count,this.m_positionConstraints.length<this.m_count)for(var e=x(2*this.m_positionConstraints.length,this.m_count);this.m_positionConstraints.length<e;)this.m_positionConstraints[this.m_positionConstraints.length]=new _n;if(this.m_velocityConstraints.length<this.m_count)for(e=x(2*this.m_velocityConstraints.length,this.m_count);this.m_velocityConstraints.length<e;)this.m_velocityConstraints[this.m_velocityConstraints.length]=new un;this.m_positions=t.positions,this.m_velocities=t.velocities,this.m_contacts=t.contacts;for(var i=0;i<this.m_count;++i){var n=this.m_contacts[i],r=n.m_fixtureA,s=n.m_fixtureB,o=r.GetShape(),a=s.GetShape(),c=o.m_radius,l=a.m_radius,h=r.GetBody(),u=s.GetBody(),_=n.GetManifold(),f=_.pointCount,d=this.m_velocityConstraints[i];d.friction=n.m_friction,d.restitution=n.m_restitution,d.tangentSpeed=n.m_tangentSpeed,d.indexA=h.m_islandIndex,d.indexB=u.m_islandIndex,d.invMassA=h.m_invMass,d.invMassB=u.m_invMass,d.invIA=h.m_invI,d.invIB=u.m_invI,d.contactIndex=i,d.pointCount=f,d.K.SetZero(),d.normalMass.SetZero();var p=this.m_positionConstraints[i];p.indexA=h.m_islandIndex,p.indexB=u.m_islandIndex,p.invMassA=h.m_invMass,p.invMassB=u.m_invMass,p.localCenterA.Copy(h.m_sweep.localCenter),p.localCenterB.Copy(u.m_sweep.localCenter),p.invIA=h.m_invI,p.invIB=u.m_invI,p.localNormal.Copy(_.localNormal),p.localPoint.Copy(_.localPoint),p.pointCount=f,p.radiusA=c,p.radiusB=l,p.type=_.type;for(var m=0;m<f;++m){var y=_.points[m],v=d.points[m];this.m_step.warmStarting?(v.normalImpulse=this.m_step.dtRatio*y.normalImpulse,v.tangentImpulse=this.m_step.dtRatio*y.tangentImpulse):(v.normalImpulse=0,v.tangentImpulse=0),v.rA.SetZero(),v.rB.SetZero(),v.normalMass=0,v.tangentMass=0,v.velocityBias=0,p.localPoints[m].Copy(y.localPoint)}}return this},t.prototype.InitializeVelocityConstraints=function(){for(var e=t.InitializeVelocityConstraints_s_xfA,i=t.InitializeVelocityConstraints_s_xfB,n=t.InitializeVelocityConstraints_s_worldManifold,r=0;r<this.m_count;++r){var s=this.m_velocityConstraints[r],o=this.m_positionConstraints[r],a=o.radiusA,c=o.radiusB,l=this.m_contacts[s.contactIndex].GetManifold(),h=s.indexA,u=s.indexB,_=s.invMassA,f=s.invMassB,d=s.invIA,p=s.invIB,m=o.localCenterA,y=o.localCenterB,v=this.m_positions[h].c,g=this.m_positions[h].a,x=this.m_velocities[h].v,C=this.m_velocities[h].w,A=this.m_positions[u].c,b=this.m_positions[u].a,S=this.m_velocities[u].v,T=this.m_velocities[u].w;e.q.SetAngle(g),i.q.SetAngle(b),P.SubVV(v,F.MulRV(e.q,m,P.s_t0),e.p),P.SubVV(A,F.MulRV(i.q,y,P.s_t0),i.p),n.Initialize(l,e,a,i,c),s.normal.Copy(n.normal),P.CrossVOne(s.normal,s.tangent);for(var w=s.pointCount,E=0;E<w;++E){var B=s.points[E];P.SubVV(n.points[E],v,B.rA),P.SubVV(n.points[E],A,B.rB);var M=P.CrossVV(B.rA,s.normal),I=P.CrossVV(B.rB,s.normal),R=_+f+d*M*M+p*I*I;B.normalMass=R>0?1/R:0;var D=s.tangent,L=P.CrossVV(B.rA,D),O=P.CrossVV(B.rB,D),V=_+f+d*L*L+p*O*O;B.tangentMass=V>0?1/V:0,B.velocityBias=0;var N=P.DotVV(s.normal,P.SubVV(P.AddVCrossSV(S,T,B.rB,P.s_t0),P.AddVCrossSV(x,C,B.rA,P.s_t1),P.s_t0));N<-1&&(B.velocityBias+=-s.restitution*N)}s.pointCount}},t.prototype.WarmStart=function(){for(var e=t.WarmStart_s_P,i=0;i<this.m_count;++i){for(var n=this.m_velocityConstraints[i],r=n.indexA,s=n.indexB,o=n.invMassA,a=n.invIA,c=n.invMassB,l=n.invIB,h=n.pointCount,u=this.m_velocities[r].v,_=this.m_velocities[r].w,f=this.m_velocities[s].v,d=this.m_velocities[s].w,p=n.normal,m=n.tangent,y=0;y<h;++y){var v=n.points[y];P.AddVV(P.MulSV(v.normalImpulse,p,P.s_t0),P.MulSV(v.tangentImpulse,m,P.s_t1),e),_-=a*P.CrossVV(v.rA,e),u.SelfMulSub(o,e),d+=l*P.CrossVV(v.rB,e),f.SelfMulAdd(c,e)}this.m_velocities[r].w=_,this.m_velocities[s].w=d}},t.prototype.SolveVelocityConstraints=function(){for(var e=t.SolveVelocityConstraints_s_dv,i=(t.SolveVelocityConstraints_s_dv1,t.SolveVelocityConstraints_s_dv2,t.SolveVelocityConstraints_s_P),n=(t.SolveVelocityConstraints_s_a,t.SolveVelocityConstraints_s_b,t.SolveVelocityConstraints_s_x,t.SolveVelocityConstraints_s_d,t.SolveVelocityConstraints_s_P1,t.SolveVelocityConstraints_s_P2,t.SolveVelocityConstraints_s_P1P2,0);n<this.m_count;++n){for(var r=this.m_velocityConstraints[n],s=r.indexA,o=r.indexB,a=r.invMassA,c=r.invIA,l=r.invMassB,h=r.invIB,u=r.pointCount,_=this.m_velocities[s].v,f=this.m_velocities[s].w,d=this.m_velocities[o].v,p=this.m_velocities[o].w,m=r.normal,y=r.tangent,v=r.friction,g=0;g<u;++g){var A=r.points[g];P.SubVV(P.AddVCrossSV(d,p,A.rB,P.s_t0),P.AddVCrossSV(_,f,A.rA,P.s_t1),e);var b=P.DotVV(e,y)-r.tangentSpeed,S=A.tangentMass*-b,T=v*A.normalImpulse;S=(w=C(A.tangentImpulse+S,-T,T))-A.tangentImpulse,A.tangentImpulse=w,P.MulSV(S,y,i),_.SelfMulSub(a,i),f-=c*P.CrossVV(A.rA,i),d.SelfMulAdd(l,i),p+=h*P.CrossVV(A.rB,i)}r.pointCount;for(g=0;g<u;++g){A=r.points[g];P.SubVV(P.AddVCrossSV(d,p,A.rB,P.s_t0),P.AddVCrossSV(_,f,A.rA,P.s_t1),e);var w,E=P.DotVV(e,m);S=-A.normalMass*(E-A.velocityBias);S=(w=x(A.normalImpulse+S,0))-A.normalImpulse,A.normalImpulse=w,P.MulSV(S,m,i),_.SelfMulSub(a,i),f-=c*P.CrossVV(A.rA,i),d.SelfMulAdd(l,i),p+=h*P.CrossVV(A.rB,i)}this.m_velocities[s].w=f,this.m_velocities[o].w=p}},t.prototype.StoreImpulses=function(){for(var t=0;t<this.m_count;++t)for(var e=this.m_velocityConstraints[t],i=this.m_contacts[e.contactIndex].GetManifold(),n=0;n<e.pointCount;++n)i.points[n].normalImpulse=e.points[n].normalImpulse,i.points[n].tangentImpulse=e.points[n].tangentImpulse},t.prototype.SolvePositionConstraints=function(){for(var e=t.SolvePositionConstraints_s_xfA,i=t.SolvePositionConstraints_s_xfB,n=t.SolvePositionConstraints_s_psm,r=t.SolvePositionConstraints_s_rA,s=t.SolvePositionConstraints_s_rB,o=t.SolvePositionConstraints_s_P,a=0,l=0;l<this.m_count;++l){for(var h=this.m_positionConstraints[l],u=h.indexA,_=h.indexB,f=h.localCenterA,d=h.invMassA,p=h.invIA,m=h.localCenterB,y=h.invMassB,v=h.invIB,x=h.pointCount,A=this.m_positions[u].c,b=this.m_positions[u].a,S=this.m_positions[_].c,T=this.m_positions[_].a,w=0;w<x;++w){e.q.SetAngle(b),i.q.SetAngle(T),P.SubVV(A,F.MulRV(e.q,f,P.s_t0),e.p),P.SubVV(S,F.MulRV(i.q,m,P.s_t0),i.p),n.Initialize(h,e,i,w);var E=n.normal,B=n.point,M=n.separation;P.SubVV(B,A,r),P.SubVV(B,S,s),a=g(a,M);var I=C(.2*(M+c),-.2,0),R=P.CrossVV(r,E),D=P.CrossVV(s,E),L=d+y+p*R*R+v*D*D,O=L>0?-I/L:0;P.MulSV(O,E,o),A.SelfMulSub(d,o),b-=p*P.CrossVV(r,o),S.SelfMulAdd(y,o),T+=v*P.CrossVV(s,o)}this.m_positions[u].a=b,this.m_positions[_].a=T}return a>-3*c},t.prototype.SolveTOIPositionConstraints=function(e,i){for(var n=t.SolveTOIPositionConstraints_s_xfA,r=t.SolveTOIPositionConstraints_s_xfB,s=t.SolveTOIPositionConstraints_s_psm,o=t.SolveTOIPositionConstraints_s_rA,a=t.SolveTOIPositionConstraints_s_rB,l=t.SolveTOIPositionConstraints_s_P,h=0,u=0;u<this.m_count;++u){var _=this.m_positionConstraints[u],f=_.indexA,d=_.indexB,p=_.localCenterA,m=_.localCenterB,y=_.pointCount,v=0,x=0;f!==e&&f!==i||(v=_.invMassA,x=_.invIA);var A=0,b=0;d!==e&&d!==i||(A=_.invMassB,b=_.invIB);for(var S=this.m_positions[f].c,T=this.m_positions[f].a,w=this.m_positions[d].c,E=this.m_positions[d].a,B=0;B<y;++B){n.q.SetAngle(T),r.q.SetAngle(E),P.SubVV(S,F.MulRV(n.q,p,P.s_t0),n.p),P.SubVV(w,F.MulRV(r.q,m,P.s_t0),r.p),s.Initialize(_,n,r,B);var M=s.normal,I=s.point,R=s.separation;P.SubVV(I,S,o),P.SubVV(I,w,a),h=g(h,R);var D=C(.75*(R+c),-.2,0),L=P.CrossVV(o,M),O=P.CrossVV(a,M),V=v+A+x*L*L+b*O*O,N=V>0?-D/V:0;P.MulSV(N,M,l),S.SelfMulSub(v,l),T-=x*P.CrossVV(o,l),w.SelfMulAdd(A,l),E+=b*P.CrossVV(a,l)}this.m_positions[f].a=T,this.m_positions[d].a=E}return h>=-1.5*c},t.InitializeVelocityConstraints_s_xfA=new N,t.InitializeVelocityConstraints_s_xfB=new N,t.InitializeVelocityConstraints_s_worldManifold=new At,t.WarmStart_s_P=new P,t.SolveVelocityConstraints_s_dv=new P,t.SolveVelocityConstraints_s_dv1=new P,t.SolveVelocityConstraints_s_dv2=new P,t.SolveVelocityConstraints_s_P=new P,t.SolveVelocityConstraints_s_a=new P,t.SolveVelocityConstraints_s_b=new P,t.SolveVelocityConstraints_s_x=new P,t.SolveVelocityConstraints_s_d=new P,t.SolveVelocityConstraints_s_P1=new P,t.SolveVelocityConstraints_s_P2=new P,t.SolveVelocityConstraints_s_P1P2=new P,t.SolvePositionConstraints_s_xfA=new N,t.SolvePositionConstraints_s_xfB=new N,t.SolvePositionConstraints_s_psm=new dn,t.SolvePositionConstraints_s_rA=new P,t.SolvePositionConstraints_s_rB=new P,t.SolvePositionConstraints_s_P=new P,t.SolveTOIPositionConstraints_s_xfA=new N,t.SolveTOIPositionConstraints_s_xfB=new N,t.SolveTOIPositionConstraints_s_psm=new dn,t.SolveTOIPositionConstraints_s_rA=new P,t.SolveTOIPositionConstraints_s_rB=new P,t.SolveTOIPositionConstraints_s_P=new P,t})(),mn=(function(){function e(){this.m_allocator=null,this.m_bodies=[],this.m_contacts=[],this.m_joints=[],this.m_positions=an.MakeArray(1024),this.m_velocities=cn.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}return e.prototype.Initialize=function(t,e,i,n,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_allocator=n,this.m_listener=r,this.m_positions.length<t)for(var s=x(2*this.m_positions.length,t);this.m_positions.length<s;)this.m_positions[this.m_positions.length]=new an;if(this.m_velocities.length<t)for(s=x(2*this.m_velocities.length,t);this.m_velocities.length<s;)this.m_velocities[this.m_velocities.length]=new cn},e.prototype.Clear=function(){this.m_bodyCount=0,this.m_contactCount=0,this.m_jointCount=0},e.prototype.AddBody=function(t){t.m_islandIndex=this.m_bodyCount,this.m_bodies[this.m_bodyCount++]=t},e.prototype.AddContact=function(t){this.m_contacts[this.m_contactCount++]=t},e.prototype.AddJoint=function(t){this.m_joints[this.m_jointCount++]=t},e.prototype.Solve=function(n,r,s,o){for(var a=e.s_timer.Reset(),c=r.dt,l=0;l<this.m_bodyCount;++l){var h=this.m_bodies[l];this.m_positions[l].c.Copy(h.m_sweep.c);var u=h.m_sweep.a,_=this.m_velocities[l].v.Copy(h.m_linearVelocity),f=h.m_angularVelocity;h.m_sweep.c0.Copy(h.m_sweep.c),h.m_sweep.a0=h.m_sweep.a,h.m_type===t.b2BodyType.b2_dynamicBody&&(_.x+=c*(h.m_gravityScale*s.x+h.m_invMass*h.m_force.x),_.y+=c*(h.m_gravityScale*s.y+h.m_invMass*h.m_force.y),f+=c*h.m_invI*h.m_torque,_.SelfMul(1/(1+c*h.m_linearDamping)),f*=1/(1+c*h.m_angularDamping)),this.m_positions[l].a=u,this.m_velocities[l].w=f}a.Reset();var d=e.s_solverData;d.step.Copy(r),d.positions=this.m_positions,d.velocities=this.m_velocities;var p=e.s_contactSolverDef;p.step.Copy(r),p.contacts=this.m_contacts,p.count=this.m_contactCount,p.positions=this.m_positions,p.velocities=this.m_velocities,p.allocator=this.m_allocator;var m=e.s_contactSolver.Initialize(p);m.InitializeVelocityConstraints(),r.warmStarting&&m.WarmStart();for(l=0;l<this.m_jointCount;++l)this.m_joints[l].InitVelocityConstraints(d);n.solveInit=a.GetMilliseconds(),a.Reset();for(l=0;l<r.velocityIterations;++l){for(var y=0;y<this.m_jointCount;++y)this.m_joints[y].SolveVelocityConstraints(d);m.SolveVelocityConstraints()}m.StoreImpulses(),n.solveVelocity=a.GetMilliseconds();for(l=0;l<this.m_bodyCount;++l){var x=this.m_positions[l].c,C=(u=this.m_positions[l].a,_=this.m_velocities[l].v,f=this.m_velocities[l].w,P.MulSV(c,_,e.s_translation));if(P.DotVV(C,C)>4){var A=2/C.Length();_.SelfMul(A)}var b=c*f;if(b*b>2.4674011002726646)f*=A=1.570796326795/v(b);x.x+=c*_.x,x.y+=c*_.y,u+=c*f,this.m_positions[l].a=u,this.m_velocities[l].w=f}a.Reset();var S=!1;for(l=0;l<r.positionIterations;++l){var T=m.SolvePositionConstraints(),w=!0;for(y=0;y<this.m_jointCount;++y){var E=this.m_joints[y].SolvePositionConstraints(d);w=w&&E}if(T&&w){S=!0;break}}for(l=0;l<this.m_bodyCount;++l){var B=this.m_bodies[l];B.m_sweep.c.Copy(this.m_positions[l].c),B.m_sweep.a=this.m_positions[l].a,B.m_linearVelocity.Copy(this.m_velocities[l].v),B.m_angularVelocity=this.m_velocities[l].w,B.SynchronizeTransform()}if(n.solvePosition=a.GetMilliseconds(),this.Report(m.m_velocityConstraints),o){var M=i;for(l=0;l<this.m_bodyCount;++l){(h=this.m_bodies[l]).GetType()!==t.b2BodyType.b2_staticBody&&(!h.m_autoSleepFlag||h.m_angularVelocity*h.m_angularVelocity>.0012184696791469947||P.DotVV(h.m_linearVelocity,h.m_linearVelocity)>1e-4?(h.m_sleepTime=0,M=0):(h.m_sleepTime+=c,M=g(M,h.m_sleepTime)))}if(M>=.5&&S)for(l=0;l<this.m_bodyCount;++l){(h=this.m_bodies[l]).SetAwake(!1)}}},e.prototype.SolveTOI=function(t,i,n){for(var r=0;r<this.m_bodyCount;++r){var s=this.m_bodies[r];this.m_positions[r].c.Copy(s.m_sweep.c),this.m_positions[r].a=s.m_sweep.a,this.m_velocities[r].v.Copy(s.m_linearVelocity),this.m_velocities[r].w=s.m_angularVelocity}var o=e.s_contactSolverDef;o.contacts=this.m_contacts,o.count=this.m_contactCount,o.allocator=this.m_allocator,o.step.Copy(t),o.positions=this.m_positions,o.velocities=this.m_velocities;var a=e.s_contactSolver.Initialize(o);for(r=0;r<t.positionIterations;++r){if(a.SolveTOIPositionConstraints(i,n))break}this.m_bodies[i].m_sweep.c0.Copy(this.m_positions[i].c),this.m_bodies[i].m_sweep.a0=this.m_positions[i].a,this.m_bodies[n].m_sweep.c0.Copy(this.m_positions[n].c),this.m_bodies[n].m_sweep.a0=this.m_positions[n].a,a.InitializeVelocityConstraints();for(r=0;r<t.velocityIterations;++r)a.SolveVelocityConstraints();var c=t.dt;for(r=0;r<this.m_bodyCount;++r){var l=this.m_positions[r].c,h=this.m_positions[r].a,u=this.m_velocities[r].v,_=this.m_velocities[r].w,f=P.MulSV(c,u,e.s_translation);if(P.DotVV(f,f)>4){var d=2/f.Length();u.SelfMul(d)}var p=c*_;if(p*p>2.4674011002726646)_*=d=1.570796326795/v(p);l.SelfMulAdd(c,u),h+=c*_,this.m_positions[r].a=h,this.m_velocities[r].w=_;var m=this.m_bodies[r];m.m_sweep.c.Copy(l),m.m_sweep.a=h,m.m_linearVelocity.Copy(u),m.m_angularVelocity=_,m.SynchronizeTransform()}this.Report(a.m_velocityConstraints)},e.prototype.Report=function(t){if(null!==this.m_listener)for(var i=0;i<this.m_contactCount;++i){var n=this.m_contacts[i];if(n){var r=t[i],s=e.s_impulse;s.count=r.pointCount;for(var o=0;o<r.pointCount;++o)s.normalImpulses[o]=r.points[o].normalImpulse,s.tangentImpulses[o]=r.points[o].tangentImpulse;this.m_listener.PostSolve(n,s)}}},e.s_timer=new U,e.s_solverData=new ln,e.s_contactSolverDef=new fn,e.s_contactSolver=new pn,e.s_translation=new P,e.s_impulse=new $i,e})();(function(t){t[t.b2_waterParticle=0]="b2_waterParticle",t[t.b2_zombieParticle=2]="b2_zombieParticle",t[t.b2_wallParticle=4]="b2_wallParticle",t[t.b2_springParticle=8]="b2_springParticle",t[t.b2_elasticParticle=16]="b2_elasticParticle",t[t.b2_viscousParticle=32]="b2_viscousParticle",t[t.b2_powderParticle=64]="b2_powderParticle",t[t.b2_tensileParticle=128]="b2_tensileParticle",t[t.b2_colorMixingParticle=256]="b2_colorMixingParticle",t[t.b2_destructionListenerParticle=512]="b2_destructionListenerParticle",t[t.b2_barrierParticle=1024]="b2_barrierParticle",t[t.b2_staticPressureParticle=2048]="b2_staticPressureParticle",t[t.b2_reactiveParticle=4096]="b2_reactiveParticle",t[t.b2_repulsiveParticle=8192]="b2_repulsiveParticle",t[t.b2_fixtureContactListenerParticle=16384]="b2_fixtureContactListenerParticle",t[t.b2_particleContactListenerParticle=32768]="b2_particleContactListenerParticle",t[t.b2_fixtureContactFilterParticle=65536]="b2_fixtureContactFilterParticle",t[t.b2_particleContactFilterParticle=131072]="b2_particleContactFilterParticle"})(t.b2ParticleFlag||(t.b2ParticleFlag={}));var yn=(function(){return function(){this.flags=0,this.position=new P,this.velocity=new P,this.color=new k(0,0,0,0),this.lifetime=0,this.userData=null,this.group=null}})();function vn(t,e,i){return C(Math.ceil(Math.sqrt(t/(.01*e))*i),1,8)}var gn=(function(){function t(){this.m_index=u}return t.prototype.GetIndex=function(){return this.m_index},t.prototype.SetIndex=function(t){this.m_index=t},t})();(function(t){t[t.b2_solidParticleGroup=1]="b2_solidParticleGroup",t[t.b2_rigidParticleGroup=2]="b2_rigidParticleGroup",t[t.b2_particleGroupCanBeEmpty=4]="b2_particleGroupCanBeEmpty",t[t.b2_particleGroupWillBeDestroyed=8]="b2_particleGroupWillBeDestroyed",t[t.b2_particleGroupNeedsUpdateDepth=16]="b2_particleGroupNeedsUpdateDepth",t[t.b2_particleGroupInternalMask=24]="b2_particleGroupInternalMask"})(t.b2ParticleGroupFlag||(t.b2ParticleGroupFlag={}));var xn=(function(){return function(){this.flags=0,this.groupFlags=0,this.position=new P,this.angle=0,this.linearVelocity=new P,this.angularVelocity=0,this.color=new k,this.strength=1,this.shapeCount=0,this.stride=0,this.particleCount=0,this.lifetime=0,this.userData=null,this.group=null}})(),Cn=(function(){function e(t){this.m_firstIndex=0,this.m_lastIndex=0,this.m_groupFlags=0,this.m_strength=1,this.m_prev=null,this.m_next=null,this.m_timestamp=-1,this.m_mass=0,this.m_inertia=0,this.m_center=new P,this.m_linearVelocity=new P,this.m_angularVelocity=0,this.m_transform=new N,this.m_userData=null,this.m_system=t}return e.prototype.GetNext=function(){return this.m_next},e.prototype.GetParticleSystem=function(){return this.m_system},e.prototype.GetParticleCount=function(){return this.m_lastIndex-this.m_firstIndex},e.prototype.GetBufferIndex=function(){return this.m_firstIndex},e.prototype.ContainsParticle=function(t){return this.m_firstIndex<=t&&t<this.m_lastIndex},e.prototype.GetAllParticleFlags=function(){if(!this.m_system.m_flagsBuffer.data)throw new Error;for(var t=0,e=this.m_firstIndex;e<this.m_lastIndex;e++)t|=this.m_system.m_flagsBuffer.data[e];return t},e.prototype.GetGroupFlags=function(){return this.m_groupFlags},e.prototype.SetGroupFlags=function(e){e|=this.m_groupFlags&t.b2ParticleGroupFlag.b2_particleGroupInternalMask,this.m_system.SetGroupFlags(this,e)},e.prototype.GetMass=function(){return this.UpdateStatistics(),this.m_mass},e.prototype.GetInertia=function(){return this.UpdateStatistics(),this.m_inertia},e.prototype.GetCenter=function(){return this.UpdateStatistics(),this.m_center},e.prototype.GetLinearVelocity=function(){return this.UpdateStatistics(),this.m_linearVelocity},e.prototype.GetAngularVelocity=function(){return this.UpdateStatistics(),this.m_angularVelocity},e.prototype.GetTransform=function(){return this.m_transform},e.prototype.GetPosition=function(){return this.m_transform.p},e.prototype.GetAngle=function(){return this.m_transform.q.GetAngle()},e.prototype.GetLinearVelocityFromWorldPoint=function(t,i){var n=e.GetLinearVelocityFromWorldPoint_s_t0;return this.UpdateStatistics(),P.AddVCrossSV(this.m_linearVelocity,this.m_angularVelocity,P.SubVV(t,this.m_center,n),i)},e.prototype.GetUserData=function(){return this.m_userData},e.prototype.SetUserData=function(t){this.m_userData=t},e.prototype.ApplyForce=function(t){this.m_system.ApplyForce(this.m_firstIndex,this.m_lastIndex,t)},e.prototype.ApplyLinearImpulse=function(t){this.m_system.ApplyLinearImpulse(this.m_firstIndex,this.m_lastIndex,t)},e.prototype.DestroyParticles=function(t){if(this.m_system.m_world.IsLocked())throw new Error;for(var e=this.m_firstIndex;e<this.m_lastIndex;e++)this.m_system.DestroyParticle(e,t)},e.prototype.UpdateStatistics=function(){if(!this.m_system.m_positionBuffer.data)throw new Error;if(!this.m_system.m_velocityBuffer.data)throw new Error;var t=new P,e=new P;if(this.m_timestamp!==this.m_system.m_timestamp){var i=this.m_system.GetParticleMass();this.m_mass=i*(this.m_lastIndex-this.m_firstIndex),this.m_center.SetZero(),this.m_linearVelocity.SetZero();for(var n=this.m_firstIndex;n<this.m_lastIndex;n++)this.m_center.SelfMulAdd(i,this.m_system.m_positionBuffer.data[n]),this.m_linearVelocity.SelfMulAdd(i,this.m_system.m_velocityBuffer.data[n]);if(this.m_mass>0){var r=1/this.m_mass;this.m_center.SelfMul(r),this.m_linearVelocity.SelfMul(r)}this.m_inertia=0,this.m_angularVelocity=0;for(n=this.m_firstIndex;n<this.m_lastIndex;n++)P.SubVV(this.m_system.m_positionBuffer.data[n],this.m_center,t),P.SubVV(this.m_system.m_velocityBuffer.data[n],this.m_linearVelocity,e),this.m_inertia+=i*P.DotVV(t,t),this.m_angularVelocity+=i*P.CrossVV(t,e);this.m_inertia>0&&(this.m_angularVelocity*=1/this.m_inertia),this.m_timestamp=this.m_system.m_timestamp}},e.GetLinearVelocityFromWorldPoint_s_t0=new P,e})(),An=(function(){function t(t){this.m_front=0,this.m_back=0,this.m_capacity=0,this.m_buffer=d(t,(function(t){return null})),this.m_capacity=t}return t.prototype.Push=function(t){if(this.m_back>=this.m_capacity){for(var e=this.m_front;e<this.m_back;e++)this.m_buffer[e-this.m_front]=this.m_buffer[e];this.m_back-=this.m_front,this.m_front=0,this.m_back>=this.m_capacity&&(this.m_capacity>0?(this.m_buffer.concat(d(this.m_capacity,(function(t){return null}))),this.m_capacity*=2):(this.m_buffer.concat(d(1,(function(t){return null}))),this.m_capacity=1))}this.m_buffer[this.m_back]=t,this.m_back++},t.prototype.Pop=function(){this.m_buffer[this.m_front]=null,this.m_front++},t.prototype.Empty=function(){return this.m_front===this.m_back},t.prototype.Front=function(){var t=this.m_buffer[this.m_front];if(!t)throw new Error;return t},t})(),bn=(function(){function t(e){this.m_generatorCapacity=0,this.m_generatorCount=0,this.m_countX=0,this.m_countY=0,this.m_diagram=[],this.m_generatorBuffer=d(e,(function(e){return new t.Generator})),this.m_generatorCapacity=e}return t.prototype.AddGenerator=function(t,e,i){var n=this.m_generatorBuffer[this.m_generatorCount++];n.center.Copy(t),n.tag=e,n.necessary=i},t.prototype.Generate=function(e,n){for(var r=1/e,s=new P(+i,+i),o=new P(-i,-i),a=0,c=0;c<this.m_generatorCount;c++){(f=this.m_generatorBuffer[c]).necessary&&(P.MinV(s,f.center,s),P.MaxV(o,f.center,o),++a)}if(0===a)return this.m_countX=0,void(this.m_countY=0);s.x-=n,s.y-=n,o.x+=n,o.y+=n,this.m_countX=1+Math.floor(r*(o.x-s.x)),this.m_countY=1+Math.floor(r*(o.y-s.y)),this.m_diagram=[];var l=new An(4*this.m_countX*this.m_countY);for(c=0;c<this.m_generatorCount;c++){(f=this.m_generatorBuffer[c]).center.SelfSub(s).SelfMul(r);var h=Math.floor(f.center.x),u=Math.floor(f.center.y);h>=0&&u>=0&&h<this.m_countX&&u<this.m_countY&&l.Push(new t.Task(h,u,h+u*this.m_countX,f))}for(;!l.Empty();){h=(d=l.Front()).m_x,u=d.m_y;var _=d.m_i,f=d.m_generator;l.Pop(),this.m_diagram[_]||(this.m_diagram[_]=f,h>0&&l.Push(new t.Task(h-1,u,_-1,f)),u>0&&l.Push(new t.Task(h,u-1,_-this.m_countX,f)),h<this.m_countX-1&&l.Push(new t.Task(h+1,u,_+1,f)),u<this.m_countY-1&&l.Push(new t.Task(h,u+1,_+this.m_countX,f)))}for(u=0;u<this.m_countY;u++)for(h=0;h<this.m_countX-1;h++){_=h+u*this.m_countX;(p=this.m_diagram[_])!==(m=this.m_diagram[_+1])&&(l.Push(new t.Task(h,u,_,m)),l.Push(new t.Task(h+1,u,_+1,p)))}for(u=0;u<this.m_countY-1;u++)for(h=0;h<this.m_countX;h++){_=h+u*this.m_countX;(p=this.m_diagram[_])!==(m=this.m_diagram[_+this.m_countX])&&(l.Push(new t.Task(h,u,_,m)),l.Push(new t.Task(h,u+1,_+this.m_countX,p)))}for(;!l.Empty();){var d,p,m;h=(d=l.Front()).m_x,u=d.m_y,_=d.m_i,c=d.m_generator;if(l.Pop(),(p=this.m_diagram[_])!==(m=c)){var y=p.center.x-h,v=p.center.y-u,g=m.center.x-h,x=m.center.y-u;y*y+v*v>g*g+x*x&&(this.m_diagram[_]=m,h>0&&l.Push(new t.Task(h-1,u,_-1,m)),u>0&&l.Push(new t.Task(h,u-1,_-this.m_countX,m)),h<this.m_countX-1&&l.Push(new t.Task(h+1,u,_+1,m)),u<this.m_countY-1&&l.Push(new t.Task(h,u+1,_+this.m_countX,m)))}}},t.prototype.GetNodes=function(t){for(var e=0;e<this.m_countY-1;e++)for(var i=0;i<this.m_countX-1;i++){var n=i+e*this.m_countX,r=this.m_diagram[n],s=this.m_diagram[n+1],o=this.m_diagram[n+this.m_countX],a=this.m_diagram[n+1+this.m_countX];s!==o&&(r!==s&&r!==o&&(r.necessary||s.necessary||o.necessary)&&t(r.tag,s.tag,o.tag),a!==s&&a!==o&&(r.necessary||s.necessary||o.necessary)&&t(s.tag,a.tag,o.tag))}},t})();function Sn(t,e,i){var n=t[e];t[e]=t[i],t[i]=n}function Tn(t,e){return t<e}function wn(t,e,i,n){void 0===e&&(e=0),void 0===i&&(i=t.length-e),void 0===n&&(n=Tn);for(var r=e,s=[],o=0;;){for(;r+1<i;i++){var a=t[r+Math.floor(Math.random()*(i-r))];s[o++]=i;for(var c=r-1;;){for(;n(t[++c],a););for(;n(a,t[--i]););if(c>=i)break;Sn(t,c,i)}}if(0===o)break;r=i,i=s[--o]}return t}function En(t,e,i,n){return void 0===e&&(e=0),void 0===i&&(i=t.length-e),void 0===n&&(n=Tn),wn(t,e,i,n)}function Bn(t,e,i){void 0===i&&(i=t.length);for(var n=0,r=0;r<i;++r)e(t[r])||(r!==n?Sn(t,n++,r):++n);return n}function Mn(t,e,i,n,r){void 0===r&&(r=Tn);for(var s=i-e;s>0;){var o=Math.floor(s/2),a=e+o;r(t[a],n)?(e=++a,s-=o+1):s=o}return e}function In(t,e,i,n,r){void 0===r&&(r=Tn);for(var s=i-e;s>0;){var o=Math.floor(s/2),a=e+o;r(n,t[a])?s=o:(e=++a,s-=o+1)}return e}function Rn(t,e,i,n){for(var r=i;e!==r;)Sn(t,e++,r++),r===n?r=i:e===i&&(i=r)}function Pn(t,e,i,n){if(e===i)return i;for(var r=e;++e!==i;)n(t[r],t[e])||Sn(t,++r,e);return++r}(function(t){var e=(function(){return function(){this.center=new P,this.tag=0,this.necessary=!1}})();t.Generator=e;var i=(function(){return function(t,e,i,n){this.m_x=t,this.m_y=e,this.m_i=i,this.m_generator=n}})();t.Task=i})(bn||(bn={}));var Dn=(function(){function t(t){this.data=[],this.count=0,this.capacity=0,this.allocator=t}return t.prototype.Append=function(){return this.count>=this.capacity&&this.Grow(),this.count++},t.prototype.Reserve=function(t){if(!(this.capacity>=t)){for(var e=this.capacity;e<t;++e)this.data[e]=this.allocator();this.capacity=t}},t.prototype.Grow=function(){var t=this.capacity?2*this.capacity:256;this.Reserve(t)},t.prototype.Free=function(){0!==this.data.length&&(this.data=[],this.capacity=0,this.count=0)},t.prototype.Shorten=function(t){},t.prototype.Data=function(){return this.data},t.prototype.GetCount=function(){return this.count},t.prototype.SetCount=function(t){this.count=t},t.prototype.GetCapacity=function(){return this.capacity},t.prototype.RemoveIf=function(t){this.count=Bn(this.data,t,this.count)},t.prototype.Unique=function(t){this.count=Pn(this.data,0,this.count,t)},t})(),Ln=(function(t){function e(e){var i=t.call(this)||this;return i.m_system=e,i}return $e(e,t),e.prototype.ShouldQueryParticleSystem=function(t){return!1},e.prototype.ReportFixture=function(t){if(t.IsSensor())return!0;for(var e=t.GetShape().GetChildCount(),i=0;i<e;i++)for(var n=t.GetAABB(i),r=this.m_system.GetInsideBoundsEnumerator(n),s=void 0;(s=r.GetNext())>=0;)this.ReportFixtureAndParticle(t,i,s);return!0},e.prototype.ReportParticle=function(t,e){return!1},e.prototype.ReportFixtureAndParticle=function(t,e,i){},e})(en),On=(function(){function t(){this.indexA=0,this.indexB=0,this.weight=0,this.normal=new P,this.flags=0}return t.prototype.SetIndices=function(t,e){this.indexA=t,this.indexB=e},t.prototype.SetWeight=function(t){this.weight=t},t.prototype.SetNormal=function(t){this.normal.Copy(t)},t.prototype.SetFlags=function(t){this.flags=t},t.prototype.GetIndexA=function(){return this.indexA},t.prototype.GetIndexB=function(){return this.indexB},t.prototype.GetWeight=function(){return this.weight},t.prototype.GetNormal=function(){return this.normal},t.prototype.GetFlags=function(){return this.flags},t.prototype.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},t.prototype.IsNotEqual=function(t){return!this.IsEqual(t)},t.prototype.ApproximatelyEqual=function(t){return this.indexA===t.indexA&&this.indexB===t.indexB&&this.flags===t.flags&&v(this.weight-t.weight)<.01&&P.DistanceSquaredVV(this.normal,t.normal)<1e-4},t})(),Vn=(function(){return function(){this.index=0,this.weight=0,this.normal=new P,this.mass=0}})(),Fn=(function(){return function(){this.indexA=0,this.indexB=0,this.flags=0,this.strength=0,this.distance=0}})(),Nn=(function(){return function(){this.indexA=0,this.indexB=0,this.indexC=0,this.flags=0,this.strength=0,this.pa=new P(0,0),this.pb=new P(0,0),this.pc=new P(0,0),this.ka=0,this.kb=0,this.kc=0,this.s=0}})(),Gn=(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}return t.prototype.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},t.prototype.Clone=function(){return(new t).Copy(this)},t})();t.b2ParticleSystem=(function(){function n(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 n.UserOverridableBuffer,this.m_flagsBuffer=new n.UserOverridableBuffer,this.m_positionBuffer=new n.UserOverridableBuffer,this.m_velocityBuffer=new n.UserOverridableBuffer,this.m_forceBuffer=[],this.m_weightBuffer=[],this.m_staticPressureBuffer=[],this.m_accumulationBuffer=[],this.m_accumulation2Buffer=[],this.m_depthBuffer=[],this.m_colorBuffer=new n.UserOverridableBuffer,this.m_groupBuffer=[],this.m_userDataBuffer=new n.UserOverridableBuffer,this.m_stuckThreshold=0,this.m_lastBodyContactStepBuffer=new n.UserOverridableBuffer,this.m_bodyContactCountBuffer=new n.UserOverridableBuffer,this.m_consecutiveContactStepsBuffer=new n.UserOverridableBuffer,this.m_stuckParticleBuffer=new Dn(function(){return 0}),this.m_proxyBuffer=new Dn(function(){return new n.Proxy}),this.m_contactBuffer=new Dn(function(){return new On}),this.m_bodyContactBuffer=new Dn(function(){return new Vn}),this.m_pairBuffer=new Dn(function(){return new Fn}),this.m_triadBuffer=new Dn(function(){return new Nn}),this.m_expirationTimeBuffer=new n.UserOverridableBuffer,this.m_indexByExpirationTimeBuffer=new n.UserOverridableBuffer,this.m_timeElapsed=0,this.m_expirationTimeBufferRequiresSorting=!1,this.m_groupCount=0,this.m_groupList=null,this.m_def=new Gn,this.m_prev=null,this.m_next=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)}return n.computeTag=function(t,e){return(e+n.yOffset>>>0<<n.yShift)+(n.xScale*t+n.xOffset>>>0)>>>0},n.computeRelativeTag=function(t,e,i){return t+(i<<n.yShift)+(e<<n.xShift)>>>0},n.prototype.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.prototype.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:256;this.ReallocateInternalAllocatedBuffers(i)}if(this.m_count>=this.m_internalAllocatedCapacity){if(!this.m_def.destroyByAge)return u;this.DestroyOldestParticle(0,!1),this.SolveZombie()}var n=this.m_count++;if(!this.m_flagsBuffer.data)throw new Error;if(this.m_flagsBuffer.data[n]=0,this.m_lastBodyContactStepBuffer.data&&(this.m_lastBodyContactStepBuffer.data[n]=0),this.m_bodyContactCountBuffer.data&&(this.m_bodyContactCountBuffer.data[n]=0),this.m_consecutiveContactStepsBuffer.data&&(this.m_consecutiveContactStepsBuffer.data[n]=0),!this.m_positionBuffer.data)throw new Error;if(!this.m_velocityBuffer.data)throw new Error;this.m_positionBuffer.data[n]=(this.m_positionBuffer.data[n]||new P).Copy(e(t.position,P.ZERO)),this.m_velocityBuffer.data[n]=(this.m_velocityBuffer.data[n]||new P).Copy(e(t.velocity,P.ZERO)),this.m_weightBuffer[n]=0,this.m_forceBuffer[n]=(this.m_forceBuffer[n]||new P).SetZero(),this.m_staticPressureBuffer&&(this.m_staticPressureBuffer[n]=0),this.m_depthBuffer&&(this.m_depthBuffer[n]=0);var r=(new k).Copy(e(t.color,k.ZERO));!this.m_colorBuffer.data&&r.IsZero()||(this.m_colorBuffer.data=this.RequestBuffer(this.m_colorBuffer.data),this.m_colorBuffer.data[n]=(this.m_colorBuffer.data[n]||new k).Copy(r)),(this.m_userDataBuffer.data||t.userData)&&(this.m_userDataBuffer.data=this.RequestBuffer(this.m_userDataBuffer.data),this.m_userDataBuffer.data[n]=t.userData),this.m_handleIndexBuffer.data&&(this.m_handleIndexBuffer.data[n]=null);var s=this.m_proxyBuffer.data[this.m_proxyBuffer.Append()],o=e(t.lifetime,0),a=o>0;if(this.m_expirationTimeBuffer.data||a){if(this.SetParticleLifetime(n,a?o:this.ExpirationTimeToLifetime(-this.GetQuantizedTimeElapsed())),!this.m_indexByExpirationTimeBuffer.data)throw new Error;this.m_indexByExpirationTimeBuffer.data[n]=n}s.index=n;var c=e(t.group,null);return this.m_groupBuffer[n]=c,c&&(c.m_firstIndex<c.m_lastIndex?(this.RotateBuffer(c.m_firstIndex,c.m_lastIndex,n),c.m_lastIndex=n+1):(c.m_firstIndex=n,c.m_lastIndex=n+1)),this.SetParticleFlags(n,e(t.flags,0)),n},n.prototype.GetParticleHandleFromIndex=function(t){this.m_handleIndexBuffer.data=this.RequestBuffer(this.m_handleIndexBuffer.data);var e=this.m_handleIndexBuffer.data[t];return e||((e=new gn).SetIndex(t),this.m_handleIndexBuffer.data[t]=e,e)},n.prototype.DestroyParticle=function(e,i){if(void 0===i&&(i=!1),!this.m_flagsBuffer.data)throw new Error;var n=t.b2ParticleFlag.b2_zombieParticle;i&&(n|=t.b2ParticleFlag.b2_destructionListenerParticle),this.SetParticleFlags(e,this.m_flagsBuffer.data[e]|n)},n.prototype.DestroyOldestParticle=function(t,e){void 0===e&&(e=!1);var i=this.GetParticleCount();if(!this.m_indexByExpirationTimeBuffer.data)throw new Error;if(!this.m_expirationTimeBuffer.data)throw new Error;var n=this.m_indexByExpirationTimeBuffer.data[i-(t+1)],r=this.m_indexByExpirationTimeBuffer.data[t];this.DestroyParticle(this.m_expirationTimeBuffer.data[n]>0?n:r,e)},n.prototype.DestroyParticlesInShape=function(t,e,i){void 0===i&&(i=!1);var r=n.DestroyParticlesInShape_s_aabb;if(this.m_world.IsLocked())throw new Error;var s=new n.DestroyParticlesInShapeCallback(this,t,e,i),o=r;return t.ComputeAABB(o,e,0),this.m_world.QueryAABB(s,o),s.Destroyed()},n.prototype.CreateParticleGroup=function(t){var i=n.CreateParticleGroup_s_transform;if(this.m_world.IsLocked())throw new Error;var r=i;r.SetPositionAngle(e(t.position,P.ZERO),e(t.angle,0));var s=this.m_count;if(t.shape&&this.CreateParticlesWithShapeForGroup(t.shape,t,r),t.shapes&&this.CreateParticlesWithShapesForGroup(t.shapes,e(t.shapeCount,t.shapes.length),t,r),t.positionData)for(var o=e(t.particleCount,t.positionData.length),a=0;a<o;a++){var c=t.positionData[a];this.CreateParticleForGroup(t,r,c)}var l=this.m_count,h=new Cn(this);h.m_firstIndex=s,h.m_lastIndex=l,h.m_strength=e(t.strength,1),h.m_userData=t.userData,h.m_transform.Copy(r),h.m_prev=null,h.m_next=this.m_groupList,this.m_groupList&&(this.m_groupList.m_prev=h),this.m_groupList=h,++this.m_groupCount;for(a=s;a<l;a++)this.m_groupBuffer[a]=h;this.SetGroupFlags(h,e(t.groupFlags,0));var u=new n.ConnectionFilter;return this.UpdateContacts(!0),this.UpdatePairsAndTriads(s,l,u),t.group&&(this.JoinParticleGroups(t.group,h),h=t.group),h},n.prototype.JoinParticleGroups=function(t,e){if(this.m_world.IsLocked())throw new Error;this.RotateBuffer(e.m_firstIndex,e.m_lastIndex,this.m_count),this.RotateBuffer(t.m_firstIndex,t.m_lastIndex,e.m_firstIndex);var i=new n.JoinParticleGroupsFilter(e.m_firstIndex);this.UpdateContacts(!0),this.UpdatePairsAndTriads(t.m_firstIndex,e.m_lastIndex,i);for(var r=e.m_firstIndex;r<e.m_lastIndex;r++)this.m_groupBuffer[r]=t;var s=t.m_groupFlags|e.m_groupFlags;this.SetGroupFlags(t,s),t.m_lastIndex=e.m_lastIndex,e.m_firstIndex=e.m_lastIndex,this.DestroyParticleGroup(e)},n.prototype.SplitParticleGroup=function(t){this.UpdateContacts(!0);var e=d(t.GetParticleCount(),(function(t){return new n.ParticleListNode}));n.InitializeParticleLists(t,e),this.MergeParticleListsInContact(t,e);var i=n.FindLongestParticleList(t,e);this.MergeZombieParticleListNodes(t,e,i),this.CreateParticleGroupsFromParticleList(t,e,i),this.UpdatePairsAndTriadsWithParticleList(t,e)},n.prototype.GetParticleGroupList=function(){return this.m_groupList},n.prototype.GetParticleGroupCount=function(){return this.m_groupCount},n.prototype.GetParticleCount=function(){return this.m_count},n.prototype.GetMaxParticleCount=function(){return this.m_def.maxCount},n.prototype.SetMaxParticleCount=function(t){this.m_def.maxCount=t},n.prototype.GetAllParticleFlags=function(){return this.m_allParticleFlags},n.prototype.GetAllGroupFlags=function(){return this.m_allGroupFlags},n.prototype.SetPaused=function(t){this.m_paused=t},n.prototype.GetPaused=function(){return this.m_paused},n.prototype.SetDensity=function(t){this.m_def.density=t,this.m_inverseDensity=1/this.m_def.density},n.prototype.GetDensity=function(){return this.m_def.density},n.prototype.SetGravityScale=function(t){this.m_def.gravityScale=t},n.prototype.GetGravityScale=function(){return this.m_def.gravityScale},n.prototype.SetDamping=function(t){this.m_def.dampingStrength=t},n.prototype.GetDamping=function(){return this.m_def.dampingStrength},n.prototype.SetStaticPressureIterations=function(t){this.m_def.staticPressureIterations=t},n.prototype.GetStaticPressureIterations=function(){return this.m_def.staticPressureIterations},n.prototype.SetRadius=function(t){this.m_particleDiameter=2*t,this.m_squaredDiameter=this.m_particleDiameter*this.m_particleDiameter,this.m_inverseDiameter=1/this.m_particleDiameter},n.prototype.GetRadius=function(){return this.m_particleDiameter/2},n.prototype.GetPositionBuffer=function(){if(!this.m_positionBuffer.data)throw new Error;return this.m_positionBuffer.data},n.prototype.GetVelocityBuffer=function(){if(!this.m_velocityBuffer.data)throw new Error;return this.m_velocityBuffer.data},n.prototype.GetColorBuffer=function(){return this.m_colorBuffer.data=this.RequestBuffer(this.m_colorBuffer.data),this.m_colorBuffer.data},n.prototype.GetGroupBuffer=function(){return this.m_groupBuffer},n.prototype.GetWeightBuffer=function(){return this.m_weightBuffer},n.prototype.GetUserDataBuffer=function(){return this.m_userDataBuffer.data=this.RequestBuffer(this.m_userDataBuffer.data),this.m_userDataBuffer.data},n.prototype.GetFlagsBuffer=function(){if(!this.m_flagsBuffer.data)throw new Error;return this.m_flagsBuffer.data},n.prototype.SetParticleFlags=function(e,i){if(!this.m_flagsBuffer.data)throw new Error;this.m_flagsBuffer.data[e]&~i&&(this.m_needsUpdateAllParticleFlags=!0),~this.m_allParticleFlags&i&&(i&t.b2ParticleFlag.b2_tensileParticle&&(this.m_accumulation2Buffer=this.RequestBuffer(this.m_accumulation2Buffer)),i&t.b2ParticleFlag.b2_colorMixingParticle&&(this.m_colorBuffer.data=this.RequestBuffer(this.m_colorBuffer.data)),this.m_allParticleFlags|=i),this.m_flagsBuffer.data[e]=i},n.prototype.GetParticleFlags=function(t){if(!this.m_flagsBuffer.data)throw new Error;return this.m_flagsBuffer.data[t]},n.prototype.SetFlagsBuffer=function(t,e){this.SetUserOverridableBuffer(this.m_flagsBuffer,t,e)},n.prototype.SetPositionBuffer=function(t,e){this.SetUserOverridableBuffer(this.m_positionBuffer,t,e)},n.prototype.SetVelocityBuffer=function(t,e){this.SetUserOverridableBuffer(this.m_velocityBuffer,t,e)},n.prototype.SetColorBuffer=function(t,e){this.SetUserOverridableBuffer(this.m_colorBuffer,t,e)},n.prototype.SetUserDataBuffer=function(t,e){this.SetUserOverridableBuffer(this.m_userDataBuffer,t,e)},n.prototype.GetContacts=function(){return this.m_contactBuffer.data},n.prototype.GetContactCount=function(){return this.m_contactBuffer.count},n.prototype.GetBodyContacts=function(){return this.m_bodyContactBuffer.data},n.prototype.GetBodyContactCount=function(){return this.m_bodyContactBuffer.count},n.prototype.GetPairs=function(){return this.m_pairBuffer.data},n.prototype.GetPairCount=function(){return this.m_pairBuffer.count},n.prototype.GetTriads=function(){return this.m_triadBuffer.data},n.prototype.GetTriadCount=function(){return this.m_triadBuffer.count},n.prototype.SetStuckThreshold=function(t){this.m_stuckThreshold=t,t>0&&(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.prototype.GetStuckCandidates=function(){return this.m_stuckParticleBuffer.Data()},n.prototype.GetStuckCandidateCount=function(){return this.m_stuckParticleBuffer.GetCount()},n.prototype.ComputeCollisionEnergy=function(){if(!this.m_velocityBuffer.data)throw new Error;for(var t=n.ComputeCollisionEnergy_s_v,e=this.m_velocityBuffer.data,i=0,r=0;r<this.m_contactBuffer.count;r++){var s=this.m_contactBuffer.data[r],o=s.indexA,a=s.indexB,c=s.normal,l=P.SubVV(e[a],e[o],t),h=P.DotVV(l,c);h<0&&(i+=h*h)}return.5*this.GetParticleMass()*i},n.prototype.SetStrictContactCheck=function(t){this.m_def.strictContactCheck=t},n.prototype.GetStrictContactCheck=function(){return this.m_def.strictContactCheck},n.prototype.SetParticleLifetime=function(t,e){var i=null===this.m_indexByExpirationTimeBuffer.data;if(this.m_expirationTimeBuffer.data=this.RequestBuffer(this.m_expirationTimeBuffer.data),this.m_indexByExpirationTimeBuffer.data=this.RequestBuffer(this.m_indexByExpirationTimeBuffer.data),i)for(var n=this.GetParticleCount(),r=0;r<n;++r)this.m_indexByExpirationTimeBuffer.data[r]=r;var s=e/this.m_def.lifetimeGranularity,o=s>0?this.GetQuantizedTimeElapsed()+s:s;o!==this.m_expirationTimeBuffer.data[t]&&(this.m_expirationTimeBuffer.data[t]=o,this.m_expirationTimeBufferRequiresSorting=!0)},n.prototype.GetParticleLifetime=function(t){return this.ExpirationTimeToLifetime(this.GetExpirationTimeBuffer()[t])},n.prototype.SetDestructionByAge=function(t){t&&this.GetExpirationTimeBuffer(),this.m_def.destroyByAge=t},n.prototype.GetDestructionByAge=function(){return this.m_def.destroyByAge},n.prototype.GetExpirationTimeBuffer=function(){return this.m_expirationTimeBuffer.data=this.RequestBuffer(this.m_expirationTimeBuffer.data),this.m_expirationTimeBuffer.data},n.prototype.ExpirationTimeToLifetime=function(t){return(t>0?t-this.GetQuantizedTimeElapsed():t)*this.m_def.lifetimeGranularity},n.prototype.GetIndexByExpirationTimeBuffer=function(){if(this.GetParticleCount()?this.SetParticleLifetime(0,this.GetParticleLifetime(0)):this.m_indexByExpirationTimeBuffer.data=this.RequestBuffer(this.m_indexByExpirationTimeBuffer.data),!this.m_indexByExpirationTimeBuffer.data)throw new Error;return this.m_indexByExpirationTimeBuffer.data},n.prototype.ParticleApplyLinearImpulse=function(t,e){this.ApplyLinearImpulse(t,t+1,e)},n.prototype.ApplyLinearImpulse=function(t,e,i){if(!this.m_velocityBuffer.data)throw new Error;for(var n=this.m_velocityBuffer.data,r=(e-t)*this.GetParticleMass(),s=(new P).Copy(i).SelfMul(1/r),o=t;o<e;o++)n[o].SelfAdd(s)},n.IsSignificantForce=function(t){return 0!==t.x||0!==t.y},n.prototype.ParticleApplyForce=function(t,e){if(!this.m_flagsBuffer.data)throw new Error;n.IsSignificantForce(e)&&this.ForceCanBeApplied(this.m_flagsBuffer.data[t])&&(this.PrepareForceBuffer(),this.m_forceBuffer[t].SelfAdd(e))},n.prototype.ApplyForce=function(t,e,i){var r=(new P).Copy(i).SelfMul(1/(e-t));if(n.IsSignificantForce(r)){this.PrepareForceBuffer();for(var s=t;s<e;s++)this.m_forceBuffer[s].SelfAdd(r)}},n.prototype.GetNext=function(){return this.m_next},n.prototype.QueryAABB=function(t,e){if(0!==this.m_proxyBuffer.count){var i=this.m_proxyBuffer.count,r=Mn(this.m_proxyBuffer.data,0,i,n.computeTag(this.m_inverseDiameter*e.lowerBound.x,this.m_inverseDiameter*e.lowerBound.y),n.Proxy.CompareProxyTag),s=In(this.m_proxyBuffer.data,r,i,n.computeTag(this.m_inverseDiameter*e.upperBound.x,this.m_inverseDiameter*e.upperBound.y),n.Proxy.CompareTagProxy);if(!this.m_positionBuffer.data)throw new Error;for(var o=this.m_positionBuffer.data,a=r;a<s;++a){var c=this.m_proxyBuffer.data[a].index,l=o[c];if(e.lowerBound.x<l.x&&l.x<e.upperBound.x&&e.lowerBound.y<l.y&&l.y<e.upperBound.y&&!t.ReportParticle(this,c))break}}},n.prototype.QueryShapeAABB=function(t,e,i,r){void 0===r&&(r=0);var s=n.QueryShapeAABB_s_aabb;e.ComputeAABB(s,i,r),this.QueryAABB(t,s)},n.prototype.QueryPointAABB=function(t,e,i){void 0===i&&(i=c);var r=n.QueryPointAABB_s_aabb;r.lowerBound.Set(e.x-i,e.y-i),r.upperBound.Set(e.x+i,e.y+i),this.QueryAABB(t,r)},n.prototype.RayCast=function(t,e,i){var r=n.RayCast_s_aabb,s=n.RayCast_s_p,o=n.RayCast_s_v,a=n.RayCast_s_n,c=n.RayCast_s_point;if(0!==this.m_proxyBuffer.count){if(!this.m_positionBuffer.data)throw new Error;var l=this.m_positionBuffer.data,h=r;P.MinV(e,i,h.lowerBound),P.MaxV(e,i,h.upperBound);for(var u,_=1,f=P.SubVV(i,e,o),d=P.DotVV(f,f),p=this.GetInsideBoundsEnumerator(h);(u=p.GetNext())>=0;){var m=P.SubVV(e,l[u],s),y=P.DotVV(m,f),v=y*y-d*(P.DotVV(m,m)-this.m_squaredDiameter);if(v>=0){var x=T(v),C=(-y-x)/d;if(C>_)continue;if(C<0&&((C=(-y+x)/d)<0||C>_))continue;var A=P.AddVMulSV(m,C,f,a);A.Normalize();var b=t.ReportParticle(this,u,P.AddVMulSV(e,C,f,c),A,C);if((_=g(_,b))<=0)break}}}},n.prototype.ComputeAABB=function(t){var e=this.GetParticleCount();if(t.lowerBound.x=+i,t.lowerBound.y=+i,t.upperBound.x=-i,t.upperBound.y=-i,!this.m_positionBuffer.data)throw new Error;for(var n=this.m_positionBuffer.data,r=0;r<e;r++){var s=n[r];P.MinV(t.lowerBound,s,t.lowerBound),P.MaxV(t.upperBound,s,t.upperBound)}t.lowerBound.x-=this.m_particleDiameter,t.lowerBound.y-=this.m_particleDiameter,t.upperBound.x+=this.m_particleDiameter,t.upperBound.y+=this.m_particleDiameter},n.prototype.FreeBuffer=function(t,e){null!==t&&(t.length=0)},n.prototype.FreeUserOverridableBuffer=function(t){0===t.userSuppliedCapacity&&this.FreeBuffer(t.data,this.m_internalAllocatedCapacity)},n.prototype.ReallocateBuffer3=function(t,e,i){if(i<=e)throw new Error;var n=t?t.slice():[];return n.length=i,n},n.prototype.ReallocateBuffer5=function(t,e,i,n,r){if(n<=i)throw new Error;if(e&&!(n<=e))throw new Error;return r&&!t||e||(t=this.ReallocateBuffer3(t,i,n)),t},n.prototype.ReallocateBuffer4=function(t,e,i,n){return this.ReallocateBuffer5(t.data,t.userSuppliedCapacity,e,i,n)},n.prototype.RequestBuffer=function(t){return t||(0===this.m_internalAllocatedCapacity&&this.ReallocateInternalAllocatedBuffers(256),(t=[]).length=this.m_internalAllocatedCapacity),t},n.prototype.ReallocateHandleBuffers=function(t){this.m_handleIndexBuffer.data=this.ReallocateBuffer4(this.m_handleIndexBuffer,this.m_internalAllocatedCapacity,t,!0)},n.prototype.ReallocateInternalAllocatedBuffers=function(t){function e(t,e){return e&&t>e?e:t}if(t=e(t=e(t=e(t=e(t=e(t=e(t,this.m_def.maxCount),this.m_flagsBuffer.userSuppliedCapacity),this.m_positionBuffer.userSuppliedCapacity),this.m_velocityBuffer.userSuppliedCapacity),this.m_colorBuffer.userSuppliedCapacity),this.m_userDataBuffer.userSuppliedCapacity),this.m_internalAllocatedCapacity<t){this.ReallocateHandleBuffers(t),this.m_flagsBuffer.data=this.ReallocateBuffer4(this.m_flagsBuffer,this.m_internalAllocatedCapacity,t,!1);var i=this.m_stuckThreshold>0;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.prototype.CreateParticleForGroup=function(t,i,n){var r=new yn;r.flags=e(t.flags,0),N.MulXV(i,n,r.position),P.AddVV(e(t.linearVelocity,P.ZERO),P.CrossSV(e(t.angularVelocity,0),P.SubVV(r.position,e(t.position,P.ZERO),P.s_t0),P.s_t0),r.velocity),r.color.Copy(e(t.color,k.ZERO)),r.lifetime=e(t.lifetime,0),r.userData=t.userData,this.CreateParticle(r)},n.prototype.CreateParticlesStrokeShapeForGroup=function(i,r,s){var o=n.CreateParticlesStrokeShapeForGroup_s_edge,a=n.CreateParticlesStrokeShapeForGroup_s_d,c=n.CreateParticlesStrokeShapeForGroup_s_p,l=e(r.stride,0);0===l&&(l=this.GetParticleStride());for(var h=0,u=i.GetChildCount(),_=0;_<u;_++){var f=null;i.GetType()===t.b2ShapeType.e_edgeShape?f=i:(f=o,i.GetChildEdge(f,_));for(var d=P.SubVV(f.m_vertex2,f.m_vertex1,a),p=d.Length();h<p;){var m=P.AddVMulSV(f.m_vertex1,h/p,d,c);this.CreateParticleForGroup(r,s,m),h+=l}h-=p}},n.prototype.CreateParticlesFillShapeForGroup=function(t,i,r){var s=n.CreateParticlesFillShapeForGroup_s_aabb,o=n.CreateParticlesFillShapeForGroup_s_p,a=e(i.stride,0);0===a&&(a=this.GetParticleStride());var c=N.IDENTITY,l=s;t.ComputeAABB(l,c,0);for(var h=Math.floor(l.lowerBound.y/a)*a;h<l.upperBound.y;h+=a)for(var u=Math.floor(l.lowerBound.x/a)*a;u<l.upperBound.x;u+=a){var _=o.Set(u,h);t.TestPoint(c,_)&&this.CreateParticleForGroup(i,r,_)}},n.prototype.CreateParticlesWithShapeForGroup=function(e,i,n){switch(e.GetType()){case t.b2ShapeType.e_edgeShape:case t.b2ShapeType.e_chainShape:this.CreateParticlesStrokeShapeForGroup(e,i,n);break;case t.b2ShapeType.e_polygonShape:case t.b2ShapeType.e_circleShape:this.CreateParticlesFillShapeForGroup(e,i,n)}},n.prototype.CreateParticlesWithShapesForGroup=function(t,e,i,r){var s=new n.CompositeShape(t,e);this.CreateParticlesFillShapeForGroup(s,i,r)},n.prototype.CloneParticle=function(t,e){var i=new yn;if(!this.m_flagsBuffer.data)throw new Error;if(!this.m_positionBuffer.data)throw new Error;if(!this.m_velocityBuffer.data)throw new Error;i.flags=this.m_flagsBuffer.data[t],i.position.Copy(this.m_positionBuffer.data[t]),i.velocity.Copy(this.m_velocityBuffer.data[t]),this.m_colorBuffer.data&&i.color.Copy(this.m_colorBuffer.data[t]),this.m_userDataBuffer.data&&(i.userData=this.m_userDataBuffer.data[t]),i.group=e;var n=this.CreateParticle(i);if(this.m_handleIndexBuffer.data){var r=this.m_handleIndexBuffer.data[t];r&&r.SetIndex(n),this.m_handleIndexBuffer.data[n]=r,this.m_handleIndexBuffer.data[t]=null}return this.m_lastBodyContactStepBuffer.data&&(this.m_lastBodyContactStepBuffer.data[n]=this.m_lastBodyContactStepBuffer.data[t]),this.m_bodyContactCountBuffer.data&&(this.m_bodyContactCountBuffer.data[n]=this.m_bodyContactCountBuffer.data[t]),this.m_consecutiveContactStepsBuffer.data&&(this.m_consecutiveContactStepsBuffer.data[n]=this.m_consecutiveContactStepsBuffer.data[t]),this.m_hasForce&&this.m_forceBuffer[n].Copy(this.m_forceBuffer[t]),this.m_staticPressureBuffer&&(this.m_staticPressureBuffer[n]=this.m_staticPressureBuffer[t]),this.m_depthBuffer&&(this.m_depthBuffer[n]=this.m_depthBuffer[t]),this.m_expirationTimeBuffer.data&&(this.m_expirationTimeBuffer.data[n]=this.m_expirationTimeBuffer.data[t]),n},n.prototype.DestroyParticlesInGroup=function(t,e){void 0===e&&(e=!1);for(var i=t.m_firstIndex;i<t.m_lastIndex;i++)this.DestroyParticle(i,e)},n.prototype.DestroyParticleGroup=function(t){this.m_world.m_destructionListener&&this.m_world.m_destructionListener.SayGoodbyeParticleGroup(t),this.SetGroupFlags(t,0);for(var e=t.m_firstIndex;e<t.m_lastIndex;e++)this.m_groupBuffer[e]=null;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_groupList&&(this.m_groupList=t.m_next),--this.m_groupCount},n.ParticleCanBeConnected=function(e,i){return 0!=(e&(t.b2ParticleFlag.b2_wallParticle|t.b2ParticleFlag.b2_springParticle|t.b2ParticleFlag.b2_elasticParticle))||null!==i&&0!=(i.GetGroupFlags()&t.b2ParticleGroupFlag.b2_rigidParticleGroup)},n.prototype.UpdatePairsAndTriads=function(e,i,r){var s=n.UpdatePairsAndTriads_s_dab,o=n.UpdatePairsAndTriads_s_dbc,a=n.UpdatePairsAndTriads_s_dca;if(!this.m_flagsBuffer.data)throw new Error;if(!this.m_positionBuffer.data)throw new Error;if(!this.m_velocityBuffer.data)throw new Error;for(var c=this.m_positionBuffer.data,l=0,h=e;h<i;h++)l|=this.m_flagsBuffer.data[h];if(l&n.k_pairFlags)for(var u=0;u<this.m_contactBuffer.count;u++){var _=this.m_contactBuffer.data[u],f=_.indexA,d=_.indexB,p=this.m_flagsBuffer.data[f],m=this.m_flagsBuffer.data[d],y=this.m_groupBuffer[f],v=this.m_groupBuffer[d];if(f>=e&&f<i&&d>=e&&d<i&&!((p|m)&t.b2ParticleFlag.b2_zombieParticle)&&(p|m)&n.k_pairFlags&&(r.IsNecessary(f)||r.IsNecessary(d))&&n.ParticleCanBeConnected(p,y)&&n.ParticleCanBeConnected(m,v)&&r.ShouldCreatePair(f,d)){var x=this.m_pairBuffer.data[this.m_pairBuffer.Append()];x.indexA=f,x.indexB=d,x.flags=_.flags,x.strength=g(y?y.m_strength:1,v?v.m_strength:1),x.distance=P.DistanceVV(c[f],c[d])}En(this.m_pairBuffer.data,0,this.m_pairBuffer.count,n.ComparePairIndices),this.m_pairBuffer.Unique(n.MatchPairIndices)}if(l&n.k_triadFlags){var C=new bn(i-e);for(h=e;h<i;h++){var A=this.m_flagsBuffer.data[h],b=this.m_groupBuffer[h];A&t.b2ParticleFlag.b2_zombieParticle||!n.ParticleCanBeConnected(A,b)||C.AddGenerator(c[h],h,r.IsNecessary(h))}var S=this.GetParticleStride();C.Generate(S/2,2*S);var T=this;C.GetNodes((function(t,e,i){if(!T.m_flagsBuffer.data)throw new Error;var l=T.m_flagsBuffer.data[t],h=T.m_flagsBuffer.data[e],u=T.m_flagsBuffer.data[i];if((l|h|u)&n.k_triadFlags&&r.ShouldCreateTriad(t,e,i)){var _=c[t],f=c[e],d=c[i],p=P.SubVV(_,f,s),m=P.SubVV(f,d,o),y=P.SubVV(d,_,a),v=4*T.m_squaredDiameter;if(P.DotVV(p,p)>v||P.DotVV(m,m)>v||P.DotVV(y,y)>v)return;var x=T.m_groupBuffer[t],C=T.m_groupBuffer[e],A=T.m_groupBuffer[i],b=T.m_triadBuffer.data[T.m_triadBuffer.Append()];b.indexA=t,b.indexB=e,b.indexC=i,b.flags=l|h|u,b.strength=g(g(x?x.m_strength:1,C?C.m_strength:1),A?A.m_strength:1);var S=(_.x+f.x+d.x)/3,w=(_.y+f.y+d.y)/3;b.pa.x=_.x-S,b.pa.y=_.y-w,b.pb.x=f.x-S,b.pb.y=f.y-w,b.pc.x=d.x-S,b.pc.y=d.y-w,b.ka=-P.DotVV(y,p),b.kb=-P.DotVV(p,m),b.kc=-P.DotVV(m,y),b.s=P.CrossVV(_,f)+P.CrossVV(f,d)+P.CrossVV(d,_)}})),En(this.m_triadBuffer.data,0,this.m_triadBuffer.count,n.CompareTriadIndices),this.m_triadBuffer.Unique(n.MatchTriadIndices)}},n.prototype.UpdatePairsAndTriadsWithReactiveParticles=function(){var e=new n.ReactiveFilter(this.m_flagsBuffer);if(this.UpdatePairsAndTriads(0,this.m_count,e),!this.m_flagsBuffer.data)throw new Error;for(var i=0;i<this.m_count;i++)this.m_flagsBuffer.data[i]&=~t.b2ParticleFlag.b2_reactiveParticle;this.m_allParticleFlags&=~t.b2ParticleFlag.b2_reactiveParticle},n.ComparePairIndices=function(t,e){var i=t.indexA-e.indexA;return 0!==i?i<0:t.indexB<e.indexB},n.MatchPairIndices=function(t,e){return t.indexA===e.indexA&&t.indexB===e.indexB},n.CompareTriadIndices=function(t,e){var i=t.indexA-e.indexA;if(0!==i)return i<0;var n=t.indexB-e.indexB;return 0!==n?n<0:t.indexC<e.indexC},n.MatchTriadIndices=function(t,e){return t.indexA===e.indexA&&t.indexB===e.indexB&&t.indexC===e.indexC},n.InitializeParticleLists=function(t,e){for(var i=t.GetBufferIndex(),n=t.GetParticleCount(),r=0;r<n;r++){var s=e[r];s.list=s,s.next=null,s.count=1,s.index=r+i}},n.prototype.MergeParticleListsInContact=function(t,e){for(var i=t.GetBufferIndex(),r=0;r<this.m_contactBuffer.count;r++){var s=this.m_contactBuffer.data[r],o=s.indexA,a=s.indexB;if(t.ContainsParticle(o)&&t.ContainsParticle(a)){var c=e[o-i].list,l=e[a-i].list;if(c!==l){if(c.count<l.count){var h=c;c=l,l=h}n.MergeParticleLists(c,l)}}}},n.MergeParticleLists=function(t,e){for(var i=e;;){i.list=t;var n=i.next;if(!n){i.next=t.next;break}i=n}t.next=e,t.count+=e.count,e.count=0},n.FindLongestParticleList=function(t,e){for(var i=t.GetParticleCount(),n=e[0],r=0;r<i;r++){var s=e[r];n.count<s.count&&(n=s)}return n},n.prototype.MergeZombieParticleListNodes=function(e,i,r){if(!this.m_flagsBuffer.data)throw new Error;for(var s=e.GetParticleCount(),o=0;o<s;o++){var a=i[o];a!==r&&this.m_flagsBuffer.data[a.index]&t.b2ParticleFlag.b2_zombieParticle&&n.MergeParticleListAndNode(r,a)}},n.MergeParticleListAndNode=function(t,e){e.list=t,e.next=t.next,t.next=e,t.count++,e.count=0},n.prototype.CreateParticleGroupsFromParticleList=function(e,i,n){if(!this.m_flagsBuffer.data)throw new Error;var r=e.GetParticleCount(),s=new xn;s.groupFlags=e.GetGroupFlags(),s.userData=e.GetUserData();for(var o=0;o<r;o++){var a=i[o];if(a.count&&a!==n)for(var c=this.CreateParticleGroup(s),l=a;l;l=l.next){var h=l.index,u=this.CloneParticle(h,c);this.m_flagsBuffer.data[h]|=t.b2ParticleFlag.b2_zombieParticle,l.index=u}}},n.prototype.UpdatePairsAndTriadsWithParticleList=function(t,e){for(var i=t.GetBufferIndex(),n=0;n<this.m_pairBuffer.count;n++){var r=this.m_pairBuffer.data[n],s=r.indexA,o=r.indexB;t.ContainsParticle(s)&&(r.indexA=e[s-i].index),t.ContainsParticle(o)&&(r.indexB=e[o-i].index)}for(n=0;n<this.m_triadBuffer.count;n++){var a=this.m_triadBuffer.data[n],c=(s=a.indexA,o=a.indexB,a.indexC);t.ContainsParticle(s)&&(a.indexA=e[s-i].index),t.ContainsParticle(o)&&(a.indexB=e[o-i].index),t.ContainsParticle(c)&&(a.indexC=e[c-i].index)}},n.prototype.ComputeDepth=function(){for(var e=[],n=0,r=0;r<this.m_contactBuffer.count;r++){var s=(v=this.m_contactBuffer.data[r]).indexA,o=v.indexB,a=this.m_groupBuffer[s],c=this.m_groupBuffer[o];a&&a===c&&a.m_groupFlags&t.b2ParticleGroupFlag.b2_particleGroupNeedsUpdateDepth&&(e[n++]=v)}for(var l=[],h=0,u=this.m_groupList;u;u=u.GetNext())if(u.m_groupFlags&t.b2ParticleGroupFlag.b2_particleGroupNeedsUpdateDepth){l[h++]=u,this.SetGroupFlags(u,u.m_groupFlags&~t.b2ParticleGroupFlag.b2_particleGroupNeedsUpdateDepth);for(var _=u.m_firstIndex;_<u.m_lastIndex;_++)this.m_accumulationBuffer[_]=0}for(r=0;r<n;r++){s=(v=e[r]).indexA,o=v.indexB;var f=v.weight;this.m_accumulationBuffer[s]+=f,this.m_accumulationBuffer[o]+=f}for(_=0;_<h;_++)for(var d=(u=l[_]).m_firstIndex;d<u.m_lastIndex;d++){f=this.m_accumulationBuffer[d];this.m_depthBuffer[d]=f<.8?0:i}for(var p=T(this.m_count)>>0,m=0;m<p;m++){var y=!1;for(r=0;r<n;r++){s=(v=e[r]).indexA,o=v.indexB;var v,g=1-v.weight,x=this.m_depthBuffer[s],C=this.m_depthBuffer[o],A=C+g,b=x+g;x>A&&(this.m_depthBuffer[s]=A,y=!0),C>b&&(this.m_depthBuffer[o]=b,y=!0)}if(!y)break}for(_=0;_<h;_++)for(var S=(u=l[_]).m_firstIndex;S<u.m_lastIndex;S++)this.m_depthBuffer[S]<i?this.m_depthBuffer[S]*=this.m_particleDiameter:this.m_depthBuffer[S]=0},n.prototype.GetInsideBoundsEnumerator=function(t){var e=n.computeTag(this.m_inverseDiameter*t.lowerBound.x-1,this.m_inverseDiameter*t.lowerBound.y-1),i=n.computeTag(this.m_inverseDiameter*t.upperBound.x+1,this.m_inverseDiameter*t.upperBound.y+1),r=this.m_proxyBuffer.count,s=Mn(this.m_proxyBuffer.data,0,r,e,n.Proxy.CompareProxyTag),o=In(this.m_proxyBuffer.data,0,r,i,n.Proxy.CompareTagProxy);return new n.InsideBoundsEnumerator(this,e,i,s,o)},n.prototype.UpdateAllParticleFlags=function(){if(!this.m_flagsBuffer.data)throw new Error;this.m_allParticleFlags=0;for(var t=0;t<this.m_count;t++)this.m_allParticleFlags|=this.m_flagsBuffer.data[t];this.m_needsUpdateAllParticleFlags=!1},n.prototype.UpdateAllGroupFlags=function(){this.m_allGroupFlags=0;for(var t=this.m_groupList;t;t=t.GetNext())this.m_allGroupFlags|=t.m_groupFlags;this.m_needsUpdateAllGroupFlags=!1},n.prototype.AddContact=function(t,e,i){if(!this.m_flagsBuffer.data)throw new Error;if(!this.m_positionBuffer.data)throw new Error;var r=n.AddContact_s_d,s=this.m_positionBuffer.data,o=P.SubVV(s[e],s[t],r),a=P.DotVV(o,o);if(a<this.m_squaredDiameter){var c=S(a);isFinite(c)||(c=198177537e11);var l=this.m_contactBuffer.data[this.m_contactBuffer.Append()];l.indexA=t,l.indexB=e,l.flags=this.m_flagsBuffer.data[t]|this.m_flagsBuffer.data[e],l.weight=1-a*c*this.m_inverseDiameter,P.MulSV(c,o,l.normal)}},n.prototype.FindContacts_Reference=function(t){var e=this.m_proxyBuffer.count;this.m_contactBuffer.count=0;for(var i=0,r=0;i<e;i++){for(var s=n.computeRelativeTag(this.m_proxyBuffer.data[i].tag,1,0),o=i+1;o<e&&!(s<this.m_proxyBuffer.data[o].tag);o++)this.AddContact(this.m_proxyBuffer.data[i].index,this.m_proxyBuffer.data[o].index,this.m_contactBuffer);for(var a=n.computeRelativeTag(this.m_proxyBuffer.data[i].tag,-1,1);r<e&&!(a<=this.m_proxyBuffer.data[r].tag);r++);var c=n.computeRelativeTag(this.m_proxyBuffer.data[i].tag,1,1);for(o=r;o<e&&!(c<this.m_proxyBuffer.data[o].tag);o++)this.AddContact(this.m_proxyBuffer.data[i].index,this.m_proxyBuffer.data[o].index,this.m_contactBuffer)}},n.prototype.FindContacts=function(t){this.FindContacts_Reference(t)},n.prototype.UpdateProxies_Reference=function(t){if(!this.m_positionBuffer.data)throw new Error;for(var e=this.m_positionBuffer.data,i=this.m_inverseDiameter,r=0;r<this.m_proxyBuffer.count;++r){var s=this.m_proxyBuffer.data[r],o=e[s.index];s.tag=n.computeTag(i*o.x,i*o.y)}},n.prototype.UpdateProxies=function(t){this.UpdateProxies_Reference(t)},n.prototype.SortProxies=function(t){wn(this.m_proxyBuffer.data,0,this.m_proxyBuffer.count,n.Proxy.CompareProxyProxy)},n.prototype.FilterContacts=function(e){var i=this.GetParticleContactFilter();if(null!==i){var n=this;this.m_contactBuffer.RemoveIf((function(e){return 0!=(e.flags&t.b2ParticleFlag.b2_particleContactFilterParticle)&&!i.ShouldCollideParticleParticle(n,e.indexA,e.indexB)}))}},n.prototype.NotifyContactListenerPreContact=function(t){if(null!==this.GetParticleContactListener())throw t.Initialize(this.m_contactBuffer,this.m_flagsBuffer),new Error},n.prototype.NotifyContactListenerPostContact=function(t){var e=this.GetParticleContactListener();if(null!==e){for(var i=0;i<this.m_contactBuffer.count;++i){var n=this.m_contactBuffer.data[i];e.BeginContactParticleParticle(this,n)}throw new Error}},n.b2ParticleContactIsZombie=function(e){return(e.flags&t.b2ParticleFlag.b2_zombieParticle)===t.b2ParticleFlag.b2_zombieParticle},n.prototype.UpdateContacts=function(t){this.UpdateProxies(this.m_proxyBuffer),this.SortProxies(this.m_proxyBuffer);var e=new n.b2ParticlePairSet;this.NotifyContactListenerPreContact(e),this.FindContacts(this.m_contactBuffer),this.FilterContacts(this.m_contactBuffer),this.NotifyContactListenerPostContact(e),t&&this.m_contactBuffer.RemoveIf(n.b2ParticleContactIsZombie)},n.prototype.NotifyBodyContactListenerPreContact=function(t){if(null!==this.GetFixtureContactListener())throw t.Initialize(this.m_bodyContactBuffer,this.m_flagsBuffer),new Error},n.prototype.NotifyBodyContactListenerPostContact=function(t){var e=this.GetFixtureContactListener();if(null!==e){for(var i=0;i<this.m_bodyContactBuffer.count;i++){var n=this.m_bodyContactBuffer.data[i];e.BeginContactFixtureParticle(this,n)}throw new Error}},n.prototype.UpdateBodyContacts=function(){var t=n.UpdateBodyContacts_s_aabb,e=new n.FixtureParticleSet;if(this.NotifyBodyContactListenerPreContact(e),this.m_stuckThreshold>0){if(!this.m_bodyContactCountBuffer.data)throw new Error;if(!this.m_lastBodyContactStepBuffer.data)throw new Error;if(!this.m_consecutiveContactStepsBuffer.data)throw new Error;for(var i=this.GetParticleCount(),r=0;r<i;r++)this.m_bodyContactCountBuffer.data[r]=0,this.m_timestamp>this.m_lastBodyContactStepBuffer.data[r]+1&&(this.m_consecutiveContactStepsBuffer.data[r]=0)}this.m_bodyContactBuffer.SetCount(0),this.m_stuckParticleBuffer.SetCount(0);var s=t;this.ComputeAABB(s);var o=new n.UpdateBodyContactsCallback(this,this.GetFixtureContactFilter());this.m_world.QueryAABB(o,s),this.m_def.strictContactCheck&&this.RemoveSpuriousBodyContacts(),this.NotifyBodyContactListenerPostContact(e)},n.prototype.Solve=function(e){var i=n.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_iterationIndex<e.particleIterations;this.m_iterationIndex++){++this.m_timestamp;var r=i.Copy(e);if(r.dt/=e.particleIterations,r.inv_dt*=e.particleIterations,this.UpdateContacts(!1),this.UpdateBodyContacts(),this.ComputeWeight(),this.m_allGroupFlags&t.b2ParticleGroupFlag.b2_particleGroupNeedsUpdateDepth&&this.ComputeDepth(),this.m_allParticleFlags&t.b2ParticleFlag.b2_reactiveParticle&&this.UpdatePairsAndTriadsWithReactiveParticles(),this.m_hasForce&&this.SolveForce(r),this.m_allParticleFlags&t.b2ParticleFlag.b2_viscousParticle&&this.SolveViscous(),this.m_allParticleFlags&t.b2ParticleFlag.b2_repulsiveParticle&&this.SolveRepulsive(r),this.m_allParticleFlags&t.b2ParticleFlag.b2_powderParticle&&this.SolvePowder(r),this.m_allParticleFlags&t.b2ParticleFlag.b2_tensileParticle&&this.SolveTensile(r),this.m_allGroupFlags&t.b2ParticleGroupFlag.b2_solidParticleGroup&&this.SolveSolid(r),this.m_allParticleFlags&t.b2ParticleFlag.b2_colorMixingParticle&&this.SolveColorMixing(),this.SolveGravity(r),this.m_allParticleFlags&t.b2ParticleFlag.b2_staticPressureParticle&&this.SolveStaticPressure(r),this.SolvePressure(r),this.SolveDamping(r),this.m_allParticleFlags&n.k_extraDampingFlags&&this.SolveExtraDamping(),this.m_allParticleFlags&t.b2ParticleFlag.b2_elasticParticle&&this.SolveElastic(r),this.m_allParticleFlags&t.b2ParticleFlag.b2_springParticle&&this.SolveSpring(r),this.LimitVelocity(r),this.m_allGroupFlags&t.b2ParticleGroupFlag.b2_rigidParticleGroup&&this.SolveRigidDamping(),this.m_allParticleFlags&t.b2ParticleFlag.b2_barrierParticle&&this.SolveBarrier(r),this.SolveCollision(r),this.m_allGroupFlags&t.b2ParticleGroupFlag.b2_rigidParticleGroup&&this.SolveRigid(r),this.m_allParticleFlags&t.b2ParticleFlag.b2_wallParticle&&this.SolveWall(),!this.m_positionBuffer.data)throw new Error;if(!this.m_velocityBuffer.data)throw new Error;for(var s=0;s<this.m_count;s++)this.m_positionBuffer.data[s].SelfMulAdd(r.dt,this.m_velocityBuffer.data[s])}},n.prototype.SolveCollision=function(t){var e=n.SolveCollision_s_aabb;if(!this.m_positionBuffer.data)throw new Error;if(!this.m_velocityBuffer.data)throw new Error;var r=this.m_positionBuffer.data,s=this.m_velocityBuffer.data,o=e;o.lowerBound.x=+i,o.lowerBound.y=+i,o.upperBound.x=-i,o.upperBound.y=-i;for(var a=0;a<this.m_count;a++){var c=s[a],l=r[a],h=l.x+t.dt*c.x,u=l.y+t.dt*c.y;o.lowerBound.x=g(o.lowerBound.x,g(l.x,h)),o.lowerBound.y=g(o.lowerBound.y,g(l.y,u)),o.upperBound.x=x(o.upperBound.x,x(l.x,h)),o.upperBound.y=x(o.upperBound.y,x(l.y,u))}var _=new n.SolveCollisionCallback(this,t);this.m_world.QueryAABB(_,o)},n.prototype.LimitVelocity=function(t){if(!this.m_velocityBuffer.data)throw new Error;for(var e=this.m_velocityBuffer.data,i=this.GetCriticalVelocitySquared(t),n=0;n<this.m_count;n++){var r=e[n],s=P.DotVV(r,r);s>i&&r.SelfMul(T(i/s))}},n.prototype.SolveGravity=function(t){if(!this.m_velocityBuffer.data)throw new Error;for(var e=n.SolveGravity_s_gravity,i=this.m_velocityBuffer.data,r=P.MulSV(t.dt*this.m_def.gravityScale,this.m_world.GetGravity(),e),s=0;s<this.m_count;s++)i[s].SelfAdd(r)},n.prototype.SolveBarrier=function(e){var i=n.SolveBarrier_s_aabb,r=n.SolveBarrier_s_va,s=n.SolveBarrier_s_vb,o=n.SolveBarrier_s_pba,a=n.SolveBarrier_s_vba,c=n.SolveBarrier_s_vc,l=n.SolveBarrier_s_pca,h=n.SolveBarrier_s_vca,u=n.SolveBarrier_s_qba,_=n.SolveBarrier_s_qca,f=n.SolveBarrier_s_dv,d=n.SolveBarrier_s_f;if(!this.m_flagsBuffer.data)throw new Error;if(!this.m_positionBuffer.data)throw new Error;if(!this.m_velocityBuffer.data)throw new Error;for(var p=this.m_positionBuffer.data,m=this.m_velocityBuffer.data,y=0;y<this.m_count;y++){0!=(this.m_flagsBuffer.data[y]&n.k_barrierWallFlags)&&m[y].SetZero()}for(var v=2.5*e.dt,g=this.GetParticleMass(),x=0;x<this.m_pairBuffer.count;x++){var C=this.m_pairBuffer.data[x];if(C.flags&t.b2ParticleFlag.b2_barrierParticle){var A=C.indexA,b=C.indexB,S=p[A],w=p[b],E=i;P.MinV(S,w,E.lowerBound),P.MaxV(S,w,E.upperBound);for(var B=this.m_groupBuffer[A],M=this.m_groupBuffer[b],I=this.GetLinearVelocity(B,A,S,r),R=this.GetLinearVelocity(M,b,w,s),D=P.SubVV(w,S,o),L=P.SubVV(R,I,a),O=this.GetInsideBoundsEnumerator(E),V=void 0;(V=O.GetNext())>=0;){var F=p[V],N=this.m_groupBuffer[V];if(B!==N&&M!==N){var G=this.GetLinearVelocity(N,V,F,c),k=P.SubVV(F,S,l),z=P.SubVV(G,I,h),U=P.CrossVV(L,z),W=P.CrossVV(D,z)-P.CrossVV(k,L),j=P.CrossVV(D,k),H=void 0,q=void 0,X=u,Y=_;if(0===U){if(0===W)continue;if(!((q=-j/W)>=0&&q<v))continue;if(P.AddVMulSV(D,q,L,X),P.AddVMulSV(k,q,z,Y),!((H=P.DotVV(X,Y)/P.DotVV(X,X))>=0&&H<=1))continue}else{var J=W*W-4*j*U;if(J<0)continue;var Z=T(J),K=(-W-Z)/(2*U),Q=(-W+Z)/(2*U);if(K>Q){var $=K;K=Q,Q=$}if(q=K,P.AddVMulSV(D,q,L,X),P.AddVMulSV(k,q,z,Y),H=P.DotVV(X,Y)/P.DotVV(X,X),!(q>=0&&q<v&&H>=0&&H<=1)){if(!((q=Q)>=0&&q<v))continue;if(P.AddVMulSV(D,q,L,X),P.AddVMulSV(k,q,z,Y),!((H=P.DotVV(X,Y)/P.DotVV(X,X))>=0&&H<=1))continue}}var tt=f;tt.x=I.x+H*L.x-G.x,tt.y=I.y+H*L.y-G.y;var et=P.MulSV(g,tt,d);if(N&&this.IsRigidGroup(N)){var it=N.GetMass(),nt=N.GetInertia();it>0&&N.m_linearVelocity.SelfMulAdd(1/it,et),nt>0&&(N.m_angularVelocity+=P.CrossVV(P.SubVV(F,N.GetCenter(),P.s_t0),et)/nt)}else m[V].SelfAdd(tt);this.ParticleApplyForce(V,et.SelfMul(-e.inv_dt))}}}}},n.prototype.SolveStaticPressure=function(e){if(!this.m_flagsBuffer.data)throw new Error;this.m_staticPressureBuffer=this.RequestBuffer(this.m_staticPressureBuffer);for(var i=this.GetCriticalPressure(e),n=this.m_def.staticPressureStrength*i,r=.25*i,s=this.m_def.staticPressureRelaxation,o=0;o<this.m_def.staticPressureIterations;o++){for(var a=0;a<this.m_count;a++)this.m_accumulationBuffer[a]=0;for(var c=0;c<this.m_contactBuffer.count;c++){var l=this.m_contactBuffer.data[c];if(l.flags&t.b2ParticleFlag.b2_staticPressureParticle){var h=l.indexA,u=l.indexB,_=l.weight;this.m_accumulationBuffer[h]+=_*this.m_staticPressureBuffer[u],this.m_accumulationBuffer[u]+=_*this.m_staticPressureBuffer[h]}}for(a=0;a<this.m_count;a++){_=this.m_weightBuffer[a];if(this.m_flagsBuffer.data[a]&t.b2ParticleFlag.b2_staticPressureParticle){var f=(this.m_accumulationBuffer[a]+n*(_-1))/(_+s);this.m_staticPressureBuffer[a]=C(f,0,r)}else this.m_staticPressureBuffer[a]=0}}},n.prototype.ComputeWeight=function(){for(var t=0;t<this.m_count;t++)this.m_weightBuffer[t]=0;for(t=0;t<this.m_bodyContactBuffer.count;t++){var e=(n=this.m_bodyContactBuffer.data[t]).index,i=n.weight;this.m_weightBuffer[e]+=i}for(t=0;t<this.m_contactBuffer.count;t++){e=(n=this.m_contactBuffer.data[t]).indexA;var n,r=n.indexB;i=n.weight;this.m_weightBuffer[e]+=i,this.m_weightBuffer[r]+=i}},n.prototype.SolvePressure=function(e){var i=n.SolvePressure_s_f;if(!this.m_flagsBuffer.data)throw new Error;if(!this.m_positionBuffer.data)throw new Error;if(!this.m_velocityBuffer.data)throw new Error;for(var r=this.m_positionBuffer.data,s=this.m_velocityBuffer.data,o=this.GetCriticalPressure(e),a=this.m_def.pressureStrength*o,c=.25*o,l=0;l<this.m_count;l++){var h=this.m_weightBuffer[l],u=a*x(0,h-1);this.m_accumulationBuffer[l]=g(u,c)}if(this.m_allParticleFlags&n.k_noPressureFlags)for(l=0;l<this.m_count;l++)this.m_flagsBuffer.data[l]&n.k_noPressureFlags&&(this.m_accumulationBuffer[l]=0);if(this.m_allParticleFlags&t.b2ParticleFlag.b2_staticPressureParticle)for(l=0;l<this.m_count;l++)this.m_flagsBuffer.data[l]&t.b2ParticleFlag.b2_staticPressureParticle&&(this.m_accumulationBuffer[l]+=this.m_staticPressureBuffer[l]);for(var _=e.dt/(this.m_def.density*this.m_particleDiameter),f=this.GetParticleInvMass(),d=0;d<this.m_bodyContactBuffer.count;d++){var p=(b=this.m_bodyContactBuffer.data[d]).index,m=b.body,y=(h=b.weight,b.mass),v=b.normal,C=r[p],A=(u=this.m_accumulationBuffer[p]+a*h,P.MulSV(_*h*y*u,v,i));s[p].SelfMulSub(f,A),m.ApplyLinearImpulse(A,C,!0)}for(d=0;d<this.m_contactBuffer.count;d++){var b;p=(b=this.m_contactBuffer.data[d]).indexA,m=b.indexB,h=b.weight,v=b.normal,u=this.m_accumulationBuffer[p]+this.m_accumulationBuffer[m],A=P.MulSV(_*h*u,v,i);s[p].SelfSub(A),s[m].SelfAdd(A)}},n.prototype.SolveDamping=function(t){var e=n.SolveDamping_s_v,i=n.SolveDamping_s_f;if(!this.m_positionBuffer.data)throw new Error;if(!this.m_velocityBuffer.data)throw new Error;for(var r=this.m_positionBuffer.data,s=this.m_velocityBuffer.data,o=this.m_def.dampingStrength,a=1/this.GetCriticalVelocity(t),c=this.GetParticleInvMass(),l=0;l<this.m_bodyContactBuffer.count;l++){var h=(C=this.m_bodyContactBuffer.data[l]).index,u=C.body,_=C.weight,f=C.mass,d=C.normal,p=r[h],m=P.SubVV(u.GetLinearVelocityFromWorldPoint(p,P.s_t0),s[h],e);if((A=P.DotVV(m,d))<0){var y=x(o*_,g(-a*A,.5)),v=P.MulSV(y*f*A,d,i);s[h].SelfMulAdd(c,v),u.ApplyLinearImpulse(v.SelfNeg(),p,!0)}}for(l=0;l<this.m_contactBuffer.count;l++){var C,A;h=(C=this.m_contactBuffer.data[l]).indexA,u=C.indexB,_=C.weight,d=C.normal,m=P.SubVV(s[u],s[h],e);if((A=P.DotVV(m,d))<0){y=x(o*_,g(-a*A,.5)),v=P.MulSV(y*A,d,i);s[h].SelfAdd(v),s[u].SelfSub(v)}}},n.prototype.SolveRigidDamping=function(){var t=n.SolveRigidDamping_s_t0,e=n.SolveRigidDamping_s_t1,i=n.SolveRigidDamping_s_p,r=n.SolveRigidDamping_s_v,s=[0],o=[0],a=[0],c=[0],l=[0],h=[0];if(!this.m_positionBuffer.data)throw new Error;for(var u=this.m_positionBuffer.data,_=this.m_def.dampingStrength,f=0;f<this.m_bodyContactBuffer.count;f++){var d=(A=this.m_bodyContactBuffer.data[f]).index;if((b=this.m_groupBuffer[d])&&this.IsRigidGroup(b)){var p=A.body,m=A.normal,y=A.weight,v=u[d],x=P.SubVV(p.GetLinearVelocityFromWorldPoint(v,t),b.GetLinearVelocityFromWorldPoint(v,e),r);if((E=P.DotVV(x,m))<0){this.InitDampingParameterWithRigidGroupOrParticle(s,o,a,!0,b,d,v,m),this.InitDampingParameter(c,l,h,p.GetMass(),p.GetInertia()-p.GetMass()*p.GetLocalCenter().LengthSquared(),p.GetWorldCenter(),v,m);var C=_*g(y,1)*this.ComputeDampingImpulse(s[0],o[0],a[0],c[0],l[0],h[0],E);this.ApplyDamping(s[0],o[0],a[0],!0,b,d,C,m),p.ApplyLinearImpulse(P.MulSV(-C,m,P.s_t0),v,!0)}}}for(f=0;f<this.m_contactBuffer.count;f++){d=(A=this.m_contactBuffer.data[f]).indexA,p=A.indexB,m=A.normal,y=A.weight;var A,b=this.m_groupBuffer[d],S=this.m_groupBuffer[p],T=this.IsRigidGroup(b),w=this.IsRigidGroup(S);if(b!==S&&(T||w)){var E;v=P.MidVV(u[d],u[p],i),x=P.SubVV(this.GetLinearVelocity(S,p,v,t),this.GetLinearVelocity(b,d,v,e),r);if((E=P.DotVV(x,m))<0){this.InitDampingParameterWithRigidGroupOrParticle(s,o,a,T,b,d,v,m),this.InitDampingParameterWithRigidGroupOrParticle(c,l,h,w,S,p,v,m);C=_*y*this.ComputeDampingImpulse(s[0],o[0],a[0],c[0],l[0],h[0],E);this.ApplyDamping(s[0],o[0],a[0],T,b,d,C,m),this.ApplyDamping(c[0],l[0],h[0],w,S,p,-C,m)}}}},n.prototype.SolveExtraDamping=function(){var t=n.SolveExtraDamping_s_v,e=n.SolveExtraDamping_s_f;if(!this.m_flagsBuffer.data)throw new Error;if(!this.m_positionBuffer.data)throw new Error;if(!this.m_velocityBuffer.data)throw new Error;for(var i=this.m_velocityBuffer.data,r=this.m_positionBuffer.data,s=this.GetParticleInvMass(),o=0;o<this.m_bodyContactBuffer.count;o++){var a=this.m_bodyContactBuffer.data[o],c=a.index;if(this.m_flagsBuffer.data[c]&n.k_extraDampingFlags){var l=a.body,h=a.mass,u=a.normal,_=r[c],f=P.SubVV(l.GetLinearVelocityFromWorldPoint(_,P.s_t0),i[c],t),d=P.DotVV(f,u);if(d<0){var p=P.MulSV(.5*h*d,u,e);i[c].SelfMulAdd(s,p),l.ApplyLinearImpulse(p.SelfNeg(),_,!0)}}}},n.prototype.SolveWall=function(){if(!this.m_flagsBuffer.data)throw new Error;if(!this.m_velocityBuffer.data)throw new Error;for(var e=this.m_velocityBuffer.data,i=0;i<this.m_count;i++)this.m_flagsBuffer.data[i]&t.b2ParticleFlag.b2_wallParticle&&e[i].SetZero()},n.prototype.SolveRigid=function(e){var i=n.SolveRigid_s_position,r=n.SolveRigid_s_rotation,s=n.SolveRigid_s_transform,o=n.SolveRigid_s_velocityTransform;if(!this.m_positionBuffer.data)throw new Error;if(!this.m_velocityBuffer.data)throw new Error;for(var a=this.m_positionBuffer.data,c=this.m_velocityBuffer.data,l=this.m_groupList;l;l=l.GetNext())if(l.m_groupFlags&t.b2ParticleGroupFlag.b2_rigidParticleGroup){l.UpdateStatistics();var h=r;h.SetAngle(e.dt*l.m_angularVelocity);var u=P.AddVV(l.m_center,P.SubVV(P.MulSV(e.dt,l.m_linearVelocity,P.s_t0),F.MulRV(h,l.m_center,P.s_t1),P.s_t0),i),_=s;_.SetPositionRotation(u,h),N.MulXX(_,l.m_transform,l.m_transform);var f=o;f.p.x=e.inv_dt*_.p.x,f.p.y=e.inv_dt*_.p.y,f.q.s=e.inv_dt*_.q.s,f.q.c=e.inv_dt*(_.q.c-1);for(var d=l.m_firstIndex;d<l.m_lastIndex;d++)N.MulXV(f,a[d],c[d])}},n.prototype.SolveElastic=function(e){var i=n.SolveElastic_s_pa,r=n.SolveElastic_s_pb,s=n.SolveElastic_s_pc,o=n.SolveElastic_s_r,a=n.SolveElastic_s_t0;if(!this.m_positionBuffer.data)throw new Error;if(!this.m_velocityBuffer.data)throw new Error;for(var c=this.m_positionBuffer.data,l=this.m_velocityBuffer.data,h=e.inv_dt*this.m_def.elasticStrength,u=0;u<this.m_triadBuffer.count;u++){var _=this.m_triadBuffer.data[u];if(_.flags&t.b2ParticleFlag.b2_elasticParticle){var f=_.indexA,d=_.indexB,p=_.indexC,m=_.pa,y=_.pb,v=_.pc,g=i.Copy(c[f]),x=r.Copy(c[d]),C=s.Copy(c[p]),A=l[f],b=l[d],T=l[p];g.SelfMulAdd(e.dt,A),x.SelfMulAdd(e.dt,b),C.SelfMulAdd(e.dt,T);var w=(g.x+x.x+C.x)/3,E=(g.y+x.y+C.y)/3;g.x-=w,g.y-=E,x.x-=w,x.y-=E,C.x-=w,C.y-=E;var B=o;B.s=P.CrossVV(m,g)+P.CrossVV(y,x)+P.CrossVV(v,C),B.c=P.DotVV(m,g)+P.DotVV(y,x)+P.DotVV(v,C);var M=S(B.s*B.s+B.c*B.c);isFinite(M)||(M=198177537e11),B.s*=M,B.c*=M;var I=h*_.strength;F.MulRV(B,m,a),P.SubVV(a,g,a),P.MulSV(I,a,a),A.SelfAdd(a),F.MulRV(B,y,a),P.SubVV(a,x,a),P.MulSV(I,a,a),b.SelfAdd(a),F.MulRV(B,v,a),P.SubVV(a,C,a),P.MulSV(I,a,a),T.SelfAdd(a)}}},n.prototype.SolveSpring=function(e){var i=n.SolveSpring_s_pa,r=n.SolveSpring_s_pb,s=n.SolveSpring_s_d,o=n.SolveSpring_s_f;if(!this.m_positionBuffer.data)throw new Error;if(!this.m_velocityBuffer.data)throw new Error;for(var a=this.m_positionBuffer.data,c=this.m_velocityBuffer.data,l=e.inv_dt*this.m_def.springStrength,h=0;h<this.m_pairBuffer.count;h++){var u=this.m_pairBuffer.data[h];if(u.flags&t.b2ParticleFlag.b2_springParticle){var _=u.indexA,f=u.indexB,d=i.Copy(a[_]),p=r.Copy(a[f]),m=c[_],y=c[f];d.SelfMulAdd(e.dt,m),p.SelfMulAdd(e.dt,y);var v=P.SubVV(p,d,s),g=u.distance,x=v.Length(),C=l*u.strength,A=P.MulSV(C*(g-x)/x,v,o);m.SelfSub(A),y.SelfAdd(A)}}},n.prototype.SolveTensile=function(e){var i=n.SolveTensile_s_weightedNormal,r=n.SolveTensile_s_s,s=n.SolveTensile_s_f;if(!this.m_velocityBuffer.data)throw new Error;for(var o=this.m_velocityBuffer.data,a=0;a<this.m_count;a++)this.m_accumulation2Buffer[a]=new P,this.m_accumulation2Buffer[a].SetZero();for(var c=0;c<this.m_contactBuffer.count;c++){if((v=this.m_contactBuffer.data[c]).flags&t.b2ParticleFlag.b2_tensileParticle){var l=v.indexA,h=v.indexB,u=v.weight,_=v.normal,f=P.MulSV((1-u)*u,_,i);this.m_accumulation2Buffer[l].SelfSub(f),this.m_accumulation2Buffer[h].SelfAdd(f)}}var d=this.GetCriticalVelocity(e),p=this.m_def.surfaceTensionPressureStrength*d,m=this.m_def.surfaceTensionNormalStrength*d,y=.5*d;for(c=0;c<this.m_contactBuffer.count;c++){var v;if((v=this.m_contactBuffer.data[c]).flags&t.b2ParticleFlag.b2_tensileParticle){l=v.indexA,h=v.indexB,u=v.weight,_=v.normal;var x=this.m_weightBuffer[l]+this.m_weightBuffer[h],C=P.SubVV(this.m_accumulation2Buffer[h],this.m_accumulation2Buffer[l],r),A=g(p*(x-2)+m*P.DotVV(C,_),y)*u,b=P.MulSV(A,_,s);o[l].SelfSub(b),o[h].SelfAdd(b)}}},n.prototype.SolveViscous=function(){var e=n.SolveViscous_s_v,i=n.SolveViscous_s_f;if(!this.m_flagsBuffer.data)throw new Error;if(!this.m_positionBuffer.data)throw new Error;if(!this.m_velocityBuffer.data)throw new Error;for(var r=this.m_positionBuffer.data,s=this.m_velocityBuffer.data,o=this.m_def.viscousStrength,a=this.GetParticleInvMass(),c=0;c<this.m_bodyContactBuffer.count;c++){var l=(m=this.m_bodyContactBuffer.data[c]).index;if(this.m_flagsBuffer.data[l]&t.b2ParticleFlag.b2_viscousParticle){var h=m.body,u=m.weight,_=m.mass,f=r[l],d=P.SubVV(h.GetLinearVelocityFromWorldPoint(f,P.s_t0),s[l],e),p=P.MulSV(o*_*u,d,i);s[l].SelfMulAdd(a,p),h.ApplyLinearImpulse(p.SelfNeg(),f,!0)}}for(c=0;c<this.m_contactBuffer.count;c++){var m;if((m=this.m_contactBuffer.data[c]).flags&t.b2ParticleFlag.b2_viscousParticle){l=m.indexA,h=m.indexB,u=m.weight,d=P.SubVV(s[h],s[l],e),p=P.MulSV(o*u,d,i);s[l].SelfAdd(p),s[h].SelfSub(p)}}},n.prototype.SolveRepulsive=function(e){var i=n.SolveRepulsive_s_f;if(!this.m_velocityBuffer.data)throw new Error;for(var r=this.m_velocityBuffer.data,s=this.m_def.repulsiveStrength*this.GetCriticalVelocity(e),o=0;o<this.m_contactBuffer.count;o++){var a=this.m_contactBuffer.data[o];if(a.flags&t.b2ParticleFlag.b2_repulsiveParticle){var c=a.indexA,l=a.indexB;if(this.m_groupBuffer[c]!==this.m_groupBuffer[l]){var h=a.weight,u=a.normal,_=P.MulSV(s*h,u,i);r[c].SelfSub(_),r[l].SelfAdd(_)}}}},n.prototype.SolvePowder=function(e){var i=n.SolvePowder_s_f;if(!this.m_flagsBuffer.data)throw new Error;if(!this.m_positionBuffer.data)throw new Error;if(!this.m_velocityBuffer.data)throw new Error;for(var r=this.m_positionBuffer.data,s=this.m_velocityBuffer.data,o=this.m_def.powderStrength*this.GetCriticalVelocity(e),a=this.GetParticleInvMass(),c=0;c<this.m_bodyContactBuffer.count;c++){var l=(p=this.m_bodyContactBuffer.data[c]).index;if(this.m_flagsBuffer.data[l]&t.b2ParticleFlag.b2_powderParticle)if((m=p.weight)>.25){var h=p.body,u=p.mass,_=r[l],f=p.normal,d=P.MulSV(o*u*(m-.25),f,i);s[l].SelfMulSub(a,d),h.ApplyLinearImpulse(d,_,!0)}}for(c=0;c<this.m_contactBuffer.count;c++){var p,m;if((p=this.m_contactBuffer.data[c]).flags&t.b2ParticleFlag.b2_powderParticle)if((m=p.weight)>.25){l=p.indexA,h=p.indexB,f=p.normal,d=P.MulSV(o*(m-.25),f,i);s[l].SelfSub(d),s[h].SelfAdd(d)}}},n.prototype.SolveSolid=function(t){var e=n.SolveSolid_s_f;if(!this.m_velocityBuffer.data)throw new Error;var i=this.m_velocityBuffer.data;this.m_depthBuffer=this.RequestBuffer(this.m_depthBuffer);for(var r=t.inv_dt*this.m_def.ejectionStrength,s=0;s<this.m_contactBuffer.count;s++){var o=this.m_contactBuffer.data[s],a=o.indexA,c=o.indexB;if(this.m_groupBuffer[a]!==this.m_groupBuffer[c]){var l=o.weight,h=o.normal,u=this.m_depthBuffer[a]+this.m_depthBuffer[c],_=P.MulSV(r*u*l,h,e);i[a].SelfSub(_),i[c].SelfAdd(_)}}},n.prototype.SolveForce=function(t){if(!this.m_velocityBuffer.data)throw new Error;for(var e=this.m_velocityBuffer.data,i=t.dt*this.GetParticleInvMass(),n=0;n<this.m_count;n++)e[n].SelfMulAdd(i,this.m_forceBuffer[n]);this.m_hasForce=!1},n.prototype.SolveColorMixing=function(){if(!this.m_flagsBuffer.data)throw new Error;if(!this.m_colorBuffer.data)throw new Error;var e=.5*this.m_def.colorMixingStrength;if(e)for(var i=0;i<this.m_contactBuffer.count;i++){var n=this.m_contactBuffer.data[i],r=n.indexA,s=n.indexB;if(this.m_flagsBuffer.data[r]&this.m_flagsBuffer.data[s]&t.b2ParticleFlag.b2_colorMixingParticle){var o=this.m_colorBuffer.data[r],a=this.m_colorBuffer.data[s];k.MixColors(o,a,e)}}},n.prototype.SolveZombie=function(){if(!this.m_flagsBuffer.data)throw new Error;if(!this.m_positionBuffer.data)throw new Error;if(!this.m_velocityBuffer.data)throw new Error;for(var e=0,i=[],n=0;n<this.m_count;n++)i[n]=u;var r=0;for(n=0;n<this.m_count;n++){var s=this.m_flagsBuffer.data[n];if(s&t.b2ParticleFlag.b2_zombieParticle){var o=this.m_world.m_destructionListener;if(s&t.b2ParticleFlag.b2_destructionListenerParticle&&o&&o.SayGoodbyeParticle(this,n),this.m_handleIndexBuffer.data)(a=this.m_handleIndexBuffer.data[n])&&(a.SetIndex(u),this.m_handleIndexBuffer.data[n]=null);i[n]=u}else{if(i[n]=e,n!==e){var a;if(this.m_handleIndexBuffer.data)(a=this.m_handleIndexBuffer.data[n])&&a.SetIndex(e),this.m_handleIndexBuffer.data[e]=a;this.m_flagsBuffer.data[e]=this.m_flagsBuffer.data[n],this.m_lastBodyContactStepBuffer.data&&(this.m_lastBodyContactStepBuffer.data[e]=this.m_lastBodyContactStepBuffer.data[n]),this.m_bodyContactCountBuffer.data&&(this.m_bodyContactCountBuffer.data[e]=this.m_bodyContactCountBuffer.data[n]),this.m_consecutiveContactStepsBuffer.data&&(this.m_consecutiveContactStepsBuffer.data[e]=this.m_consecutiveContactStepsBuffer.data[n]),this.m_positionBuffer.data[e].Copy(this.m_positionBuffer.data[n]),this.m_velocityBuffer.data[e].Copy(this.m_velocityBuffer.data[n]),this.m_groupBuffer[e]=this.m_groupBuffer[n],this.m_hasForce&&this.m_forceBuffer[e].Copy(this.m_forceBuffer[n]),this.m_staticPressureBuffer&&(this.m_staticPressureBuffer[e]=this.m_staticPressureBuffer[n]),this.m_depthBuffer&&(this.m_depthBuffer[e]=this.m_depthBuffer[n]),this.m_colorBuffer.data&&this.m_colorBuffer.data[e].Copy(this.m_colorBuffer.data[n]),this.m_userDataBuffer.data&&(this.m_userDataBuffer.data[e]=this.m_userDataBuffer.data[n]),this.m_expirationTimeBuffer.data&&(this.m_expirationTimeBuffer.data[e]=this.m_expirationTimeBuffer.data[n])}e++,r|=s}}for(var c=function(t){return t.index<0},l=function(t){return t.indexA<0||t.indexB<0},h=function(t){return t.index<0},_=function(t){return t.indexA<0||t.indexB<0},f=function(t){return t.indexA<0||t.indexB<0||t.indexC<0},d=0;d<this.m_proxyBuffer.count;d++){var p=this.m_proxyBuffer.data[d];p.index=i[p.index]}this.m_proxyBuffer.RemoveIf(c);for(d=0;d<this.m_contactBuffer.count;d++){(m=this.m_contactBuffer.data[d]).indexA=i[m.indexA],m.indexB=i[m.indexB]}this.m_contactBuffer.RemoveIf(l);for(d=0;d<this.m_bodyContactBuffer.count;d++){var m;(m=this.m_bodyContactBuffer.data[d]).index=i[m.index]}this.m_bodyContactBuffer.RemoveIf(h);for(d=0;d<this.m_pairBuffer.count;d++){var y=this.m_pairBuffer.data[d];y.indexA=i[y.indexA],y.indexB=i[y.indexB]}this.m_pairBuffer.RemoveIf(_);for(d=0;d<this.m_triadBuffer.count;d++){var v=this.m_triadBuffer.data[d];v.indexA=i[v.indexA],v.indexB=i[v.indexB],v.indexC=i[v.indexC]}if(this.m_triadBuffer.RemoveIf(f),this.m_indexByExpirationTimeBuffer.data)for(var C=0,A=0;A<this.m_count;A++){var b=i[this.m_indexByExpirationTimeBuffer.data[A]];b!==u&&(this.m_indexByExpirationTimeBuffer.data[C++]=b)}for(var S=this.m_groupList;S;S=S.GetNext()){var T=e,w=0,E=!1;for(n=S.m_firstIndex;n<S.m_lastIndex;n++){var B=i[n];B>=0?(T=g(T,B),w=x(w,B+1)):E=!0}T<w?(S.m_firstIndex=T,S.m_lastIndex=w,E&&S.m_groupFlags&t.b2ParticleGroupFlag.b2_solidParticleGroup&&this.SetGroupFlags(S,S.m_groupFlags|t.b2ParticleGroupFlag.b2_particleGroupNeedsUpdateDepth)):(S.m_firstIndex=0,S.m_lastIndex=0,S.m_groupFlags&t.b2ParticleGroupFlag.b2_particleGroupCanBeEmpty||this.SetGroupFlags(S,S.m_groupFlags|t.b2ParticleGroupFlag.b2_particleGroupWillBeDestroyed))}this.m_count=e,this.m_allParticleFlags=r,this.m_needsUpdateAllParticleFlags=!1;for(S=this.m_groupList;S;){var M=S.GetNext();S.m_groupFlags&t.b2ParticleGroupFlag.b2_particleGroupWillBeDestroyed&&this.DestroyParticleGroup(S),S=M}},n.prototype.SolveLifetimes=function(t){if(!this.m_expirationTimeBuffer.data)throw new Error;if(!this.m_indexByExpirationTimeBuffer.data)throw new Error;this.m_timeElapsed=this.LifetimeToExpirationTime(t.dt);var e=this.GetQuantizedTimeElapsed(),i=this.m_expirationTimeBuffer.data,n=this.m_indexByExpirationTimeBuffer.data,r=this.GetParticleCount();if(this.m_expirationTimeBufferRequiresSorting){wn(n,0,r,(function(t,e){var n=i[t],r=i[e],s=n<=0;return s===r<=0?n>r:s})),this.m_expirationTimeBufferRequiresSorting=!1}for(var s=r-1;s>=0;--s){var o=n[s],a=i[o];if(e<a||a<=0)break;this.DestroyParticle(o)}},n.prototype.RotateBuffer=function(t,e,i){if(t!==e&&e!==i){if(!this.m_flagsBuffer.data)throw new Error;if(!this.m_positionBuffer.data)throw new Error;if(!this.m_velocityBuffer.data)throw new Error;if(Rn(this.m_flagsBuffer.data,t,e,i),this.m_lastBodyContactStepBuffer.data&&Rn(this.m_lastBodyContactStepBuffer.data,t,e,i),this.m_bodyContactCountBuffer.data&&Rn(this.m_bodyContactCountBuffer.data,t,e,i),this.m_consecutiveContactStepsBuffer.data&&Rn(this.m_consecutiveContactStepsBuffer.data,t,e,i),Rn(this.m_positionBuffer.data,t,e,i),Rn(this.m_velocityBuffer.data,t,e,i),Rn(this.m_groupBuffer,t,e,i),this.m_hasForce&&Rn(this.m_forceBuffer,t,e,i),this.m_staticPressureBuffer&&Rn(this.m_staticPressureBuffer,t,e,i),this.m_depthBuffer&&Rn(this.m_depthBuffer,t,e,i),this.m_colorBuffer.data&&Rn(this.m_colorBuffer.data,t,e,i),this.m_userDataBuffer.data&&Rn(this.m_userDataBuffer.data,t,e,i),this.m_handleIndexBuffer.data){Rn(this.m_handleIndexBuffer.data,t,e,i);for(var n=t;n<i;++n){var r=this.m_handleIndexBuffer.data[n];r&&r.SetIndex(f(r.GetIndex()))}}if(this.m_expirationTimeBuffer.data){Rn(this.m_expirationTimeBuffer.data,t,e,i);var s=this.GetParticleCount();if(!this.m_indexByExpirationTimeBuffer.data)throw new Error;var o=this.m_indexByExpirationTimeBuffer.data;for(n=0;n<s;++n)o[n]=f(o[n])}for(var a=0;a<this.m_proxyBuffer.count;a++){var c=this.m_proxyBuffer.data[a];c.index=f(c.index)}for(a=0;a<this.m_contactBuffer.count;a++){(l=this.m_contactBuffer.data[a]).indexA=f(l.indexA),l.indexB=f(l.indexB)}for(a=0;a<this.m_bodyContactBuffer.count;a++){var l;(l=this.m_bodyContactBuffer.data[a]).index=f(l.index)}for(a=0;a<this.m_pairBuffer.count;a++){var h=this.m_pairBuffer.data[a];h.indexA=f(h.indexA),h.indexB=f(h.indexB)}for(a=0;a<this.m_triadBuffer.count;a++){var u=this.m_triadBuffer.data[a];u.indexA=f(u.indexA),u.indexB=f(u.indexB),u.indexC=f(u.indexC)}for(var _=this.m_groupList;_;_=_.GetNext())_.m_firstIndex=f(_.m_firstIndex),_.m_lastIndex=f(_.m_lastIndex-1)+1}function f(n){return n<t?n:n<e?n+i-e:n<i?n+t-e:n}},n.prototype.GetCriticalVelocity=function(t){return this.m_particleDiameter*t.inv_dt},n.prototype.GetCriticalVelocitySquared=function(t){var e=this.GetCriticalVelocity(t);return e*e},n.prototype.GetCriticalPressure=function(t){return this.m_def.density*this.GetCriticalVelocitySquared(t)},n.prototype.GetParticleStride=function(){return.75*this.m_particleDiameter},n.prototype.GetParticleMass=function(){var t=this.GetParticleStride();return this.m_def.density*t*t},n.prototype.GetParticleInvMass=function(){var t=this.m_inverseDiameter*(1/.75);return this.m_inverseDensity*t*t},n.prototype.GetFixtureContactFilter=function(){return this.m_allParticleFlags&t.b2ParticleFlag.b2_fixtureContactFilterParticle?this.m_world.m_contactManager.m_contactFilter:null},n.prototype.GetParticleContactFilter=function(){return this.m_allParticleFlags&t.b2ParticleFlag.b2_particleContactFilterParticle?this.m_world.m_contactManager.m_contactFilter:null},n.prototype.GetFixtureContactListener=function(){return this.m_allParticleFlags&t.b2ParticleFlag.b2_fixtureContactListenerParticle?this.m_world.m_contactManager.m_contactListener:null},n.prototype.GetParticleContactListener=function(){return this.m_allParticleFlags&t.b2ParticleFlag.b2_particleContactListenerParticle?this.m_world.m_contactManager.m_contactListener:null},n.prototype.SetUserOverridableBuffer=function(t,e,i){t.data=e,t.userSuppliedCapacity=i},n.prototype.SetGroupFlags=function(e,i){var n=e.m_groupFlags;(n^i)&t.b2ParticleGroupFlag.b2_solidParticleGroup&&(i|=t.b2ParticleGroupFlag.b2_particleGroupNeedsUpdateDepth),n&~i&&(this.m_needsUpdateAllGroupFlags=!0),~this.m_allGroupFlags&i&&(i&t.b2ParticleGroupFlag.b2_solidParticleGroup&&(this.m_depthBuffer=this.RequestBuffer(this.m_depthBuffer)),this.m_allGroupFlags|=i),e.m_groupFlags=i},n.BodyContactCompare=function(t,e){return t.index===e.index?t.weight>e.weight:t.index<e.index},n.prototype.RemoveSpuriousBodyContacts=function(){wn(this.m_bodyContactBuffer.data,0,this.m_bodyContactBuffer.count,n.BodyContactCompare);var t=n.RemoveSpuriousBodyContacts_s_n,e=n.RemoveSpuriousBodyContacts_s_pos,i=n.RemoveSpuriousBodyContacts_s_normal,r=this,s=-1,o=0;this.m_bodyContactBuffer.count=Bn(this.m_bodyContactBuffer.data,(function(n){if(n.index!==s&&(o=0,s=n.index),o++>3)return!0;var a=t.Copy(n.normal);if(a.SelfMul(r.m_particleDiameter*(1-n.weight)),!r.m_positionBuffer.data)throw new Error;var l=P.AddVV(r.m_positionBuffer.data[n.index],a,e);if(!n.fixture.TestPoint(l)){for(var h=n.fixture.GetShape().GetChildCount(),u=0;u<h;u++){var _=i;if(n.fixture.ComputeDistance(l,_,u)<c)return!1}return!0}return!1}),this.m_bodyContactBuffer.count)},n.prototype.DetectStuckParticle=function(t){if(!(this.m_stuckThreshold<=0)){if(!this.m_bodyContactCountBuffer.data)throw new Error;if(!this.m_consecutiveContactStepsBuffer.data)throw new Error;if(!this.m_lastBodyContactStepBuffer.data)throw new Error;++this.m_bodyContactCountBuffer.data[t],2===this.m_bodyContactCountBuffer.data[t]&&(++this.m_consecutiveContactStepsBuffer.data[t],this.m_consecutiveContactStepsBuffer.data[t]>this.m_stuckThreshold&&(this.m_stuckParticleBuffer.data[this.m_stuckParticleBuffer.Append()]=t)),this.m_lastBodyContactStepBuffer.data[t]=this.m_timestamp}},n.prototype.ValidateParticleIndex=function(t){return t>=0&&t<this.GetParticleCount()&&t!==u},n.prototype.GetQuantizedTimeElapsed=function(){return Math.floor(this.m_timeElapsed/4294967296)},n.prototype.LifetimeToExpirationTime=function(t){return this.m_timeElapsed+Math.floor(t/this.m_def.lifetimeGranularity*4294967296)},n.prototype.ForceCanBeApplied=function(e){return!(e&t.b2ParticleFlag.b2_wallParticle)},n.prototype.PrepareForceBuffer=function(){if(!this.m_hasForce){for(var t=0;t<this.m_count;t++)this.m_forceBuffer[t].SetZero();this.m_hasForce=!0}},n.prototype.IsRigidGroup=function(e){return null!==e&&0!=(e.m_groupFlags&t.b2ParticleGroupFlag.b2_rigidParticleGroup)},n.prototype.GetLinearVelocity=function(t,e,i,n){if(t&&this.IsRigidGroup(t))return t.GetLinearVelocityFromWorldPoint(i,n);if(!this.m_velocityBuffer.data)throw new Error;return n.Copy(this.m_velocityBuffer.data[e])},n.prototype.InitDampingParameter=function(t,e,i,n,r,s,o,a){t[0]=n>0?1/n:0,e[0]=r>0?1/r:0,i[0]=P.CrossVV(P.SubVV(o,s,P.s_t0),a)},n.prototype.InitDampingParameterWithRigidGroupOrParticle=function(e,i,n,r,s,o,a,c){if(s&&r)this.InitDampingParameter(e,i,n,s.GetMass(),s.GetInertia(),s.GetCenter(),a,c);else{if(!this.m_flagsBuffer.data)throw new Error;var l=this.m_flagsBuffer.data[o];this.InitDampingParameter(e,i,n,l&t.b2ParticleFlag.b2_wallParticle?0:this.GetParticleMass(),0,a,a,c)}},n.prototype.ComputeDampingImpulse=function(t,e,i,n,r,s,o){var a=t+e*i*i+n+r*s*s;return a>0?o/a:0},n.prototype.ApplyDamping=function(t,e,i,n,r,s,o,a){if(r&&n)r.m_linearVelocity.SelfMulAdd(o*t,a),r.m_angularVelocity+=o*i*e;else{if(!this.m_velocityBuffer.data)throw new Error;this.m_velocityBuffer.data[s].SelfMulAdd(o*t,a)}},n.xTruncBits=12,n.yTruncBits=12,n.tagBits=32,n.yOffset=1<<n.yTruncBits-1,n.yShift=n.tagBits-n.yTruncBits,n.xShift=n.tagBits-n.yTruncBits-n.xTruncBits,n.xScale=1<<n.xShift,n.xOffset=n.xScale*(1<<n.xTruncBits-1),n.yMask=(1<<n.yTruncBits)-1<<n.yShift,n.xMask=~n.yMask,n.DestroyParticlesInShape_s_aabb=new wt,n.CreateParticleGroup_s_transform=new N,n.ComputeCollisionEnergy_s_v=new P,n.QueryShapeAABB_s_aabb=new wt,n.QueryPointAABB_s_aabb=new wt,n.RayCast_s_aabb=new wt,n.RayCast_s_p=new P,n.RayCast_s_v=new P,n.RayCast_s_n=new P,n.RayCast_s_point=new P,n.k_pairFlags=t.b2ParticleFlag.b2_springParticle,n.k_triadFlags=t.b2ParticleFlag.b2_elasticParticle,n.k_noPressureFlags=t.b2ParticleFlag.b2_powderParticle|t.b2ParticleFlag.b2_tensileParticle,n.k_extraDampingFlags=t.b2ParticleFlag.b2_staticPressureParticle,n.k_barrierWallFlags=t.b2ParticleFlag.b2_barrierParticle|t.b2ParticleFlag.b2_wallParticle,n.CreateParticlesStrokeShapeForGroup_s_edge=new ii,n.CreateParticlesStrokeShapeForGroup_s_d=new P,n.CreateParticlesStrokeShapeForGroup_s_p=new P,n.CreateParticlesFillShapeForGroup_s_aabb=new wt,n.CreateParticlesFillShapeForGroup_s_p=new P,n.UpdatePairsAndTriads_s_dab=new P,n.UpdatePairsAndTriads_s_dbc=new P,n.UpdatePairsAndTriads_s_dca=new P,n.AddContact_s_d=new P,n.UpdateBodyContacts_s_aabb=new wt,n.Solve_s_subStep=new on,n.SolveCollision_s_aabb=new wt,n.SolveGravity_s_gravity=new P,n.SolveBarrier_s_aabb=new wt,n.SolveBarrier_s_va=new P,n.SolveBarrier_s_vb=new P,n.SolveBarrier_s_pba=new P,n.SolveBarrier_s_vba=new P,n.SolveBarrier_s_vc=new P,n.SolveBarrier_s_pca=new P,n.SolveBarrier_s_vca=new P,n.SolveBarrier_s_qba=new P,n.SolveBarrier_s_qca=new P,n.SolveBarrier_s_dv=new P,n.SolveBarrier_s_f=new P,n.SolvePressure_s_f=new P,n.SolveDamping_s_v=new P,n.SolveDamping_s_f=new P,n.SolveRigidDamping_s_t0=new P,n.SolveRigidDamping_s_t1=new P,n.SolveRigidDamping_s_p=new P,n.SolveRigidDamping_s_v=new P,n.SolveExtraDamping_s_v=new P,n.SolveExtraDamping_s_f=new P,n.SolveRigid_s_position=new P,n.SolveRigid_s_rotation=new F,n.SolveRigid_s_transform=new N,n.SolveRigid_s_velocityTransform=new N,n.SolveElastic_s_pa=new P,n.SolveElastic_s_pb=new P,n.SolveElastic_s_pc=new P,n.SolveElastic_s_r=new F,n.SolveElastic_s_t0=new P,n.SolveSpring_s_pa=new P,n.SolveSpring_s_pb=new P,n.SolveSpring_s_d=new P,n.SolveSpring_s_f=new P,n.SolveTensile_s_weightedNormal=new P,n.SolveTensile_s_s=new P,n.SolveTensile_s_f=new P,n.SolveViscous_s_v=new P,n.SolveViscous_s_f=new P,n.SolveRepulsive_s_f=new P,n.SolvePowder_s_f=new P,n.SolveSolid_s_f=new P,n.RemoveSpuriousBodyContacts_s_n=new P,n.RemoveSpuriousBodyContacts_s_pos=new P,n.RemoveSpuriousBodyContacts_s_normal=new P,n})(),(function(e){var n=(function(){return function(){this.data=null,this.userSuppliedCapacity=0}})();e.UserOverridableBuffer=n;var r=(function(){function t(){this.index=u,this.tag=0}return t.CompareProxyProxy=function(t,e){return t.tag<e.tag},t.CompareTagProxy=function(t,e){return t<e.tag},t.CompareProxyTag=function(t,e){return t.tag<e},t})();e.Proxy=r;var s=(function(){function t(t,i,n,r,s){this.m_system=t,this.m_xLower=(i&e.xMask)>>>0,this.m_xUpper=(n&e.xMask)>>>0,this.m_yLower=(i&e.yMask)>>>0,this.m_yUpper=(n&e.yMask)>>>0,this.m_first=r,this.m_last=s}return t.prototype.GetNext=function(){for(;this.m_first<this.m_last;){var t=(this.m_system.m_proxyBuffer.data[this.m_first].tag&e.xMask)>>>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 u},t})();e.InsideBoundsEnumerator=s;var o=(function(){return function(){this.next=null,this.count=0,this.index=0}})();e.ParticleListNode=o;var a=(function(){function t(){}return t.prototype.Allocate=function(t,e){return e},t.prototype.Clear=function(){},t.prototype.GetCount=function(){return 0},t.prototype.Invalidate=function(t){},t.prototype.GetValidBuffer=function(){return[]},t.prototype.GetBuffer=function(){return[]},t.prototype.SetCount=function(t){},t})();e.FixedSetAllocator=a;var l=(function(){return function(t,e){this.second=u,this.first=t,this.second=e}})();e.FixtureParticle=l;var h=(function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return $e(e,t),e.prototype.Initialize=function(t,e){},e.prototype.Find=function(t){return u},e})(e.FixedSetAllocator);e.FixtureParticleSet=h;var _=(function(){return function(t,e){this.first=u,this.second=u,this.first=t,this.second=e}})();e.ParticlePair=_;var f=(function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return $e(e,t),e.prototype.Initialize=function(t,e){},e.prototype.Find=function(t){return u},e})(e.FixedSetAllocator);e.b2ParticlePairSet=f;var d=(function(){function t(){}return t.prototype.IsNecessary=function(t){return!0},t.prototype.ShouldCreatePair=function(t,e){return!0},t.prototype.ShouldCreateTriad=function(t,e,i){return!0},t})();e.ConnectionFilter=d;var p=(function(t){function e(e,i,n,r){var s=t.call(this)||this;return s.m_callDestructionListener=!1,s.m_destroyed=0,s.m_system=e,s.m_shape=i,s.m_xf=n,s.m_callDestructionListener=r,s.m_destroyed=0,s}return $e(e,t),e.prototype.ReportFixture=function(t){return!1},e.prototype.ReportParticle=function(t,e){if(t!==this.m_system)return!1;if(!this.m_system.m_positionBuffer.data)throw new Error;return 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},e.prototype.Destroyed=function(){return this.m_destroyed},e})(en);e.DestroyParticlesInShapeCallback=p;var m=(function(t){function e(e){var i=t.call(this)||this;return i.m_threshold=0,i.m_threshold=e,i}return $e(e,t),e.prototype.ShouldCreatePair=function(t,e){return t<this.m_threshold&&this.m_threshold<=e||e<this.m_threshold&&this.m_threshold<=t},e.prototype.ShouldCreateTriad=function(t,e,i){return(t<this.m_threshold||e<this.m_threshold||i<this.m_threshold)&&(this.m_threshold<=t||this.m_threshold<=e||this.m_threshold<=i)},e})(e.ConnectionFilter);e.JoinParticleGroupsFilter=m;var y=(function(e){function n(i,n){void 0===n&&(n=i.length);var r=e.call(this,t.b2ShapeType.e_unknown,0)||this;return r.m_shapeCount=0,r.m_shapes=i,r.m_shapeCount=n,r}return $e(n,e),n.prototype.Clone=function(){throw new Error},n.prototype.GetChildCount=function(){return 1},n.prototype.TestPoint=function(t,e){for(var i=0;i<this.m_shapeCount;i++)if(this.m_shapes[i].TestPoint(t,e))return!0;return!1},n.prototype.ComputeDistance=function(t,e,i,n){return 0},n.prototype.RayCast=function(t,e,i,n){return!1},n.prototype.ComputeAABB=function(t,e,n){var r=new wt;t.lowerBound.x=+i,t.lowerBound.y=+i,t.upperBound.x=-i,t.upperBound.y=-i;for(var s=0;s<this.m_shapeCount;s++)for(var o=this.m_shapes[s].GetChildCount(),a=0;a<o;a++){var c=r;this.m_shapes[s].ComputeAABB(c,e,a),t.Combine1(c)}},n.prototype.ComputeMass=function(t,e){},n.prototype.SetupDistanceProxy=function(t,e){},n.prototype.ComputeSubmergedArea=function(t,e,i,n){return 0},n.prototype.Dump=function(t){},n})(Ke);e.CompositeShape=y;var v=(function(e){function i(t){var i=e.call(this)||this;return i.m_flagsBuffer=t,i}return $e(i,e),i.prototype.IsNecessary=function(e){if(!this.m_flagsBuffer.data)throw new Error;return 0!=(this.m_flagsBuffer.data[e]&t.b2ParticleFlag.b2_reactiveParticle)},i})(e.ConnectionFilter);e.ReactiveFilter=v;var g=(function(i){function n(t,e){var n=i.call(this,t)||this;return n.m_contactFilter=e,n}return $e(n,i),n.prototype.ShouldCollideFixtureParticle=function(e,i,n){if(this.m_contactFilter&&this.m_system.GetFlagsBuffer()[n]&t.b2ParticleFlag.b2_fixtureContactFilterParticle)return this.m_contactFilter.ShouldCollideFixtureParticle(e,this.m_system,n);return!0},n.prototype.ReportFixtureAndParticle=function(i,n,r){var s=e.UpdateBodyContactsCallback.ReportFixtureAndParticle_s_n,o=e.UpdateBodyContactsCallback.ReportFixtureAndParticle_s_rp;if(!this.m_system.m_flagsBuffer.data)throw new Error;if(!this.m_system.m_positionBuffer.data)throw new Error;var a=this.m_system.m_positionBuffer.data[r],c=s,l=i.ComputeDistance(a,c,n);if(l<this.m_system.m_particleDiameter&&this.ShouldCollideFixtureParticle(i,this.m_system,r)){var h=i.GetBody(),u=h.GetWorldCenter(),_=h.GetMass(),f=h.GetInertia()-_*h.GetLocalCenter().LengthSquared(),d=_>0?1/_:0,p=f>0?1/f:0,m=this.m_system.m_flagsBuffer.data[r]&t.b2ParticleFlag.b2_wallParticle?0:this.m_system.GetParticleInvMass(),y=P.SubVV(a,u,o),v=P.CrossVV(y,c),g=m+d+p*v*v,x=this.m_system.m_bodyContactBuffer.data[this.m_system.m_bodyContactBuffer.Append()];x.index=r,x.body=h,x.fixture=i,x.weight=1-l*this.m_system.m_inverseDiameter,x.normal.Copy(c.SelfNeg()),x.mass=g>0?1/g:0,this.m_system.DetectStuckParticle(r)}},n.ReportFixtureAndParticle_s_n=new P,n.ReportFixtureAndParticle_s_rp=new P,n})(Ln);e.UpdateBodyContactsCallback=g;var x=(function(i){function n(t,e){var n=i.call(this,t)||this;return n.m_step=e,n}return $e(n,i),n.prototype.ReportFixtureAndParticle=function(i,n,r){var s=e.SolveCollisionCallback.ReportFixtureAndParticle_s_p1,o=e.SolveCollisionCallback.ReportFixtureAndParticle_s_output,a=e.SolveCollisionCallback.ReportFixtureAndParticle_s_input,l=e.SolveCollisionCallback.ReportFixtureAndParticle_s_p,h=e.SolveCollisionCallback.ReportFixtureAndParticle_s_v,u=e.SolveCollisionCallback.ReportFixtureAndParticle_s_f,_=i.GetBody();if(!this.m_system.m_positionBuffer.data)throw new Error;if(!this.m_system.m_velocityBuffer.data)throw new Error;var f=this.m_system.m_positionBuffer.data[r],d=this.m_system.m_velocityBuffer.data[r],p=o,m=a;if(0===this.m_system.m_iterationIndex){var y=N.MulTXV(_.m_xf0,f,s);i.GetShape().GetType()===t.b2ShapeType.e_circleShape&&(y.SelfSub(_.GetLocalCenter()),F.MulRV(_.m_xf0.q,y,y),F.MulTRV(_.m_xf.q,y,y),y.SelfAdd(_.GetLocalCenter())),N.MulXV(_.m_xf,y,m.p1)}else m.p1.Copy(f);if(P.AddVMulSV(f,this.m_step.dt,d,m.p2),m.maxFraction=1,i.RayCast(p,m,n)){var v=p.normal,g=l;g.x=(1-p.fraction)*m.p1.x+p.fraction*m.p2.x+c*v.x,g.y=(1-p.fraction)*m.p1.y+p.fraction*m.p2.y+c*v.y;var x=h;x.x=this.m_step.inv_dt*(g.x-f.x),x.y=this.m_step.inv_dt*(g.y-f.y),this.m_system.m_velocityBuffer.data[r].Copy(x);var C=u;C.x=this.m_step.inv_dt*this.m_system.GetParticleMass()*(d.x-x.x),C.y=this.m_step.inv_dt*this.m_system.GetParticleMass()*(d.y-x.y),this.m_system.ParticleApplyForce(r,C)}},n.prototype.ReportParticle=function(t,e){return!1},n.ReportFixtureAndParticle_s_p1=new P,n.ReportFixtureAndParticle_s_output=new Tt,n.ReportFixtureAndParticle_s_input=new St,n.ReportFixtureAndParticle_s_p=new P,n.ReportFixtureAndParticle_s_v=new P,n.ReportFixtureAndParticle_s_f=new P,n})(Ln);e.SolveCollisionCallback=x})(t.b2ParticleSystem||(t.b2ParticleSystem={}));var kn=(function(){function e(t){this.m_newFixture=!1,this.m_locked=!1,this.m_clearForces=!0,this.m_contactManager=new rn,this.m_bodyList=null,this.m_jointList=null,this.m_particleSystemList=null,this.m_bodyCount=0,this.m_jointCount=0,this.m_gravity=new P,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 sn,this.m_island=new mn,this.s_stack=[],this.m_controllerList=null,this.m_controllerCount=0,this.m_gravity.Copy(t)}return e.prototype.SetDestructionListener=function(t){this.m_destructionListener=t},e.prototype.SetContactFilter=function(t){this.m_contactManager.m_contactFilter=t},e.prototype.SetContactListener=function(t){this.m_contactManager.m_contactListener=t},e.prototype.SetDebugDraw=function(t){this.m_debugDraw=t},e.prototype.CreateBody=function(t){if(void 0===t&&(t={}),this.IsLocked())throw new Error;var e=new li(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},e.prototype.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 n=t.m_controllerList;n;){var r=n;n=n.nextController,r.controller.RemoveBody(t)}for(var s=t.m_contactList;s;){var o=s;s=s.next,this.m_contactManager.Destroy(o.contact)}t.m_contactList=null;for(var a=t.m_fixtureList;a;){var c=a;a=a.m_next,this.m_destructionListener&&this.m_destructionListener.SayGoodbyeFixture(c),c.DestroyProxies(),c.Destroy(),t.m_fixtureList=a,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,i){switch(e.type){case t.b2JointType.e_distanceJoint:return new pi(e);case t.b2JointType.e_mouseJoint:return new Ti(e);case t.b2JointType.e_prismaticJoint:return new Ei(e);case t.b2JointType.e_revoluteJoint:return new Ri(e);case t.b2JointType.e_pulleyJoint:return new Mi(e);case t.b2JointType.e_gearJoint:return new Ci(e);case t.b2JointType.e_wheelJoint:return new Fi(e);case t.b2JointType.e_weldJoint:return new Oi(e);case t.b2JointType.e_frictionJoint:return new gi(e);case t.b2JointType.e_ropeJoint:return new Di(e);case t.b2JointType.e_motorJoint:return new bi(e);case t.b2JointType.e_areaJoint:return new yi(e)}throw new Error},e._Joint_Destroy=function(t,e){},e.prototype.CreateJoint=function(t){if(this.IsLocked())throw new Error;var i=e._Joint_Create(t,null);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 n=t.bodyA,r=t.bodyB;if(!t.collideConnected)for(var s=r.GetContactList();s;)s.other===n&&s.contact.FlagForFiltering(),s=s.next;return i},e.prototype.DestroyJoint=function(t){if(this.IsLocked())throw new Error;var i=t.m_collideConnected;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 n=t.m_bodyA,r=t.m_bodyB;if(n.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===n.m_jointList&&(n.m_jointList=t.m_edgeA.next),t.m_edgeA.prev=null,t.m_edgeA.next=null,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.prev=null,t.m_edgeB.next=null,e._Joint_Destroy(t,null),--this.m_jointCount,!i)for(var s=r.GetContactList();s;)s.other===n&&s.contact.FlagForFiltering(),s=s.next},e.prototype.CreateParticleSystem=function(e){if(this.IsLocked())throw new Error;var i=new t.b2ParticleSystem(e,this);return i.m_prev=null,i.m_next=this.m_particleSystemList,this.m_particleSystemList&&(this.m_particleSystemList.m_prev=i),this.m_particleSystemList=i,i},e.prototype.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)},e.prototype.CalculateReasonableParticleIterations=function(t){if(null===this.m_particleSystemList)return 1;return vn(this.m_gravity.Length(),(function(t){for(var e=i,n=t.GetParticleSystemList();null!==n;n=n.m_next)e=g(e,n.GetRadius());return e})(this),t)},e.prototype.Step=function(t,i,n,r){void 0===r&&(r=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 o=e.Step_s_step;o.dt=t,o.velocityIterations=i,o.positionIterations=n,o.particleIterations=r,o.inv_dt=t>0?1/t:0,o.dtRatio=this.m_inv_dt0*t,o.warmStarting=this.m_warmStarting;var a=e.Step_s_timer.Reset();if(this.m_contactManager.Collide(),this.m_profile.collide=a.GetMilliseconds(),this.m_stepComplete&&o.dt>0){for(var c=e.Step_s_timer.Reset(),l=this.m_particleSystemList;l;l=l.m_next)l.Solve(o);this.Solve(o),this.m_profile.solve=c.GetMilliseconds()}if(this.m_continuousPhysics&&o.dt>0){var h=e.Step_s_timer.Reset();this.SolveTOI(o),this.m_profile.solveTOI=h.GetMilliseconds()}o.dt>0&&(this.m_inv_dt0=o.inv_dt),this.m_clearForces&&this.ClearForces(),this.m_locked=!1,this.m_profile.step=s.GetMilliseconds()},e.prototype.ClearForces=function(){for(var t=this.m_bodyList;t;t=t.m_next)t.m_force.SetZero(),t.m_torque=0},e.prototype.DrawParticleSystem=function(t){if(null!==this.m_debugDraw){var e=t.GetParticleCount();if(e){var i=t.GetRadius(),n=t.GetPositionBuffer();if(t.m_colorBuffer.data){var r=t.GetColorBuffer();this.m_debugDraw.DrawParticles(n,i,r,e)}else this.m_debugDraw.DrawParticles(n,i,null,e)}}},e.prototype.DrawDebugData=function(){if(null!==this.m_debugDraw){var i=this.m_debugDraw.GetFlags(),n=e.DrawDebugData_s_color.SetRGB(0,0,0);if(i&t.b2DrawFlags.e_shapeBit)for(var r=this.m_bodyList;r;r=r.m_next){var s=r.m_xf;this.m_debugDraw.PushTransform(s);for(var o=r.GetFixtureList();o;o=o.m_next)r.IsActive()?r.GetType()===t.b2BodyType.b2_staticBody?(n.SetRGB(.5,.9,.5),this.DrawShape(o,n)):r.GetType()===t.b2BodyType.b2_kinematicBody?(n.SetRGB(.5,.5,.9),this.DrawShape(o,n)):r.IsAwake()?(n.SetRGB(.9,.7,.7),this.DrawShape(o,n)):(n.SetRGB(.6,.6,.6),this.DrawShape(o,n)):(n.SetRGB(.5,.5,.3),this.DrawShape(o,n));this.m_debugDraw.PopTransform(s)}if(i&t.b2DrawFlags.e_particleBit)for(var a=this.m_particleSystemList;a;a=a.m_next)this.DrawParticleSystem(a);if(i&t.b2DrawFlags.e_jointBit)for(var c=this.m_jointList;c;c=c.m_next)this.DrawJoint(c);if(i&t.b2DrawFlags.e_aabbBit){n.SetRGB(.9,.3,.9);var l=e.DrawDebugData_s_vs;for(r=this.m_bodyList;r;r=r.m_next)if(r.IsActive())for(o=r.GetFixtureList();o;o=o.m_next)for(var h=0;h<o.m_proxyCount;++h){var u=o.m_proxies[h].treeNode.aabb;l[0].Set(u.lowerBound.x,u.lowerBound.y),l[1].Set(u.upperBound.x,u.lowerBound.y),l[2].Set(u.upperBound.x,u.upperBound.y),l[3].Set(u.lowerBound.x,u.upperBound.y),this.m_debugDraw.DrawPolygon(l,4,n)}}if(i&t.b2DrawFlags.e_centerOfMassBit)for(r=this.m_bodyList;r;r=r.m_next){(s=e.DrawDebugData_s_xf).q.Copy(r.m_xf.q),s.p.Copy(r.GetWorldCenter()),this.m_debugDraw.DrawTransform(s)}if(i&t.b2DrawFlags.e_controllerBit)for(var _=this.m_controllerList;_;_=_.m_next)_.Draw(this.m_debugDraw)}},e.prototype.QueryAABB=function(t,e,i){if(this.m_contactManager.m_broadPhase.Query(e,(function(e){var n=e.userData.fixture;return t?t.ReportFixture(n):!i||i(n)})),t instanceof en)for(var n=this.m_particleSystemList;n;n=n.m_next)t.ShouldQueryParticleSystem(n)&&n.QueryAABB(t,e)},e.prototype.QueryAllAABB=function(t,e){return void 0===e&&(e=[]),this.QueryAABB(null,t,(function(t){return e.push(t),!0})),e},e.prototype.QueryPointAABB=function(t,e,i){if(this.m_contactManager.m_broadPhase.QueryPoint(e,(function(e){var n=e.userData.fixture;return t?t.ReportFixture(n):!i||i(n)})),t instanceof en)for(var n=this.m_particleSystemList;n;n=n.m_next)t.ShouldQueryParticleSystem(n)&&n.QueryPointAABB(t,e)},e.prototype.QueryAllPointAABB=function(t,e){return void 0===e&&(e=[]),this.QueryPointAABB(null,t,(function(t){return e.push(t),!0})),e},e.prototype.QueryFixtureShape=function(t,i,n,r,s){var o=e.QueryFixtureShape_s_aabb;if(i.ComputeAABB(o,r,n),this.m_contactManager.m_broadPhase.Query(o,(function(e){var o=e.userData,a=o.fixture;if(Pt(i,n,a.GetShape(),o.childIndex,r,a.GetBody().GetTransform())){if(t)return t.ReportFixture(a);if(s)return s(a)}return!0})),t instanceof en)for(var a=this.m_particleSystemList;a;a=a.m_next)t.ShouldQueryParticleSystem(a)&&a.QueryAABB(t,o)},e.prototype.QueryAllFixtureShape=function(t,e,i,n){return void 0===n&&(n=[]),this.QueryFixtureShape(null,t,e,i,(function(t){return n.push(t),!0})),n},e.prototype.QueryFixturePoint=function(t,e,i){if(this.m_contactManager.m_broadPhase.QueryPoint(e,(function(n){var r=n.userData.fixture;if(r.TestPoint(e)){if(t)return t.ReportFixture(r);if(i)return i(r)}return!0})),t)for(var n=this.m_particleSystemList;n;n=n.m_next)t.ShouldQueryParticleSystem(n)&&n.QueryPointAABB(t,e)},e.prototype.QueryAllFixturePoint=function(t,e){return void 0===e&&(e=[]),this.QueryFixturePoint(null,t,(function(t){return e.push(t),!0})),e},e.prototype.RayCast=function(t,i,n,r){var s=e.RayCast_s_input;if(s.maxFraction=1,s.p1.Copy(i),s.p2.Copy(n),this.m_contactManager.m_broadPhase.RayCast(s,(function(s,o){var a=o.userData,c=a.fixture,l=a.childIndex,h=e.RayCast_s_output;if(c.RayCast(h,s,l)){var u=h.fraction,_=e.RayCast_s_point;if(_.Set((1-u)*i.x+u*n.x,(1-u)*i.y+u*n.y),t)return t.ReportFixture(c,_,h.normal,u);if(r)return r(c,_,h.normal,u)}return s.maxFraction})),t)for(var o=this.m_particleSystemList;o;o=o.m_next)t.ShouldQueryParticleSystem(o)&&o.RayCast(t,i,n)},e.prototype.RayCastOne=function(t,e){var i=null,n=1;return this.RayCast(null,t,e,(function(t,e,r,s){return s<n&&(n=s,i=t),n})),i},e.prototype.RayCastAll=function(t,e,i){return void 0===i&&(i=[]),this.RayCast(null,t,e,(function(t,e,n,r){return i.push(t),1})),i},e.prototype.GetBodyList=function(){return this.m_bodyList},e.prototype.GetJointList=function(){return this.m_jointList},e.prototype.GetParticleSystemList=function(){return this.m_particleSystemList},e.prototype.GetContactList=function(){return this.m_contactManager.m_contactList},e.prototype.SetAllowSleeping=function(t){if(t!==this.m_allowSleep&&(this.m_allowSleep=t,!this.m_allowSleep))for(var e=this.m_bodyList;e;e=e.m_next)e.SetAwake(!0)},e.prototype.GetAllowSleeping=function(){return this.m_allowSleep},e.prototype.SetWarmStarting=function(t){this.m_warmStarting=t},e.prototype.GetWarmStarting=function(){return this.m_warmStarting},e.prototype.SetContinuousPhysics=function(t){this.m_continuousPhysics=t},e.prototype.GetContinuousPhysics=function(){return this.m_continuousPhysics},e.prototype.SetSubStepping=function(t){this.m_subStepping=t},e.prototype.GetSubStepping=function(){return this.m_subStepping},e.prototype.GetProxyCount=function(){return this.m_contactManager.m_broadPhase.GetProxyCount()},e.prototype.GetBodyCount=function(){return this.m_bodyCount},e.prototype.GetJointCount=function(){return this.m_jointCount},e.prototype.GetContactCount=function(){return this.m_contactManager.m_contactCount},e.prototype.GetTreeHeight=function(){return this.m_contactManager.m_broadPhase.GetTreeHeight()},e.prototype.GetTreeBalance=function(){return this.m_contactManager.m_broadPhase.GetTreeBalance()},e.prototype.GetTreeQuality=function(){return this.m_contactManager.m_broadPhase.GetTreeQuality()},e.prototype.SetGravity=function(t,e){if(void 0===e&&(e=!0),!P.IsEqualToV(this.m_gravity,t)&&(this.m_gravity.Copy(t),e))for(var i=this.m_bodyList;i;i=i.m_next)i.SetAwake(!0)},e.prototype.GetGravity=function(){return this.m_gravity},e.prototype.IsLocked=function(){return this.m_locked},e.prototype.SetAutoClearForces=function(t){this.m_clearForces=t},e.prototype.GetAutoClearForces=function(){return this.m_clearForces},e.prototype.ShiftOrigin=function(t){if(this.IsLocked())throw new Error;for(var e=this.m_bodyList;e;e=e.m_next)e.m_xf.p.SelfSub(t),e.m_sweep.c0.SelfSub(t),e.m_sweep.c.SelfSub(t);for(var i=this.m_jointList;i;i=i.m_next)i.ShiftOrigin(t);this.m_contactManager.m_broadPhase.ShiftOrigin(t)},e.prototype.GetContactManager=function(){return this.m_contactManager},e.prototype.GetProfile=function(){return this.m_profile},e.prototype.Dump=function(e){if(!this.m_locked){e("const g: b2Vec2 = new b2Vec2(%.15f, %.15f);\n",this.m_gravity.x,this.m_gravity.y),e("this.m_world.SetGravity(g);\n"),e("const bodies: b2Body[] = [];\n"),e("const joints: b2Joint[] = [];\n");for(var i=0,n=this.m_bodyList;n;n=n.m_next)n.m_islandIndex=i,n.Dump(e),++i;i=0;for(var r=this.m_jointList;r;r=r.m_next)r.m_index=i,++i;for(r=this.m_jointList;r;r=r.m_next)r.m_type!==t.b2JointType.e_gearJoint&&(e("{\n"),r.Dump(e),e("}\n"));for(r=this.m_jointList;r;r=r.m_next)r.m_type===t.b2JointType.e_gearJoint&&(e("{\n"),r.Dump(e),e("}\n"))}},e.prototype.DrawJoint=function(i){if(null!==this.m_debugDraw){var n=i.GetBodyA(),r=i.GetBodyB(),s=n.m_xf,o=r.m_xf,a=s.p,c=o.p,l=i.GetAnchorA(e.DrawJoint_s_p1),h=i.GetAnchorB(e.DrawJoint_s_p2),u=e.DrawJoint_s_color.SetRGB(.5,.8,.8);switch(i.m_type){case t.b2JointType.e_distanceJoint:this.m_debugDraw.DrawSegment(l,h,u);break;case t.b2JointType.e_pulleyJoint:var _=i,f=_.GetGroundAnchorA(),d=_.GetGroundAnchorB();this.m_debugDraw.DrawSegment(f,l,u),this.m_debugDraw.DrawSegment(d,h,u),this.m_debugDraw.DrawSegment(f,d,u);break;case t.b2JointType.e_mouseJoint:var p=e.DrawJoint_s_c;p.Set(0,1,0),this.m_debugDraw.DrawPoint(l,4,p),this.m_debugDraw.DrawPoint(h,4,p),p.Set(.8,.8,.8),this.m_debugDraw.DrawSegment(l,h,p);break;default:this.m_debugDraw.DrawSegment(a,l,u),this.m_debugDraw.DrawSegment(l,h,u),this.m_debugDraw.DrawSegment(c,h,u)}}},e.prototype.DrawShape=function(i,n){if(null!==this.m_debugDraw){var r=i.GetShape();switch(r.m_type){case t.b2ShapeType.e_circleShape:var s=r,o=s.m_p,a=s.m_radius,c=P.UNITX;this.m_debugDraw.DrawSolidCircle(o,a,c,n);break;case t.b2ShapeType.e_edgeShape:var l=r,h=l.m_vertex1,u=l.m_vertex2;this.m_debugDraw.DrawSegment(h,u,n);break;case t.b2ShapeType.e_chainShape:var _=r,f=_.m_count,d=_.m_vertices,p=e.DrawShape_s_ghostColor.SetRGBA(.75*n.r,.75*n.g,.75*n.b,n.a);h=d[0];if(this.m_debugDraw.DrawPoint(h,4,n),_.m_hasPrevVertex){var m=_.m_prevVertex;this.m_debugDraw.DrawSegment(m,h,p),this.m_debugDraw.DrawCircle(m,.1,p)}for(var y=1;y<f;++y){u=d[y];this.m_debugDraw.DrawSegment(h,u,n),this.m_debugDraw.DrawPoint(u,4,n),h=u}if(_.m_hasNextVertex){var v=_.m_nextVertex;this.m_debugDraw.DrawSegment(v,h,p),this.m_debugDraw.DrawCircle(v,.1,p)}break;case t.b2ShapeType.e_polygonShape:var g=r,x=g.m_count;d=g.m_vertices;this.m_debugDraw.DrawSolidPolygon(d,x,n)}}},e.prototype.Solve=function(e){for(var i=this.m_bodyList;i;i=i.m_next)i.m_xf0.Copy(i.m_xf);for(var n=this.m_controllerList;n;n=n.m_next)n.Step(e);this.m_profile.solveInit=0,this.m_profile.solveVelocity=0,this.m_profile.solvePosition=0;var r=this.m_island;r.Initialize(this.m_bodyCount,this.m_contactManager.m_contactCount,this.m_jointCount,null,this.m_contactManager.m_contactListener);for(i=this.m_bodyList;i;i=i.m_next)i.m_islandFlag=!1;for(var s=this.m_contactManager.m_contactList;s;s=s.m_next)s.m_islandFlag=!1;for(var o=this.m_jointList;o;o=o.m_next)o.m_islandFlag=!1;for(var a=this.s_stack,c=this.m_bodyList;c;c=c.m_next)if(!c.m_islandFlag&&c.IsAwake()&&c.IsActive()&&c.GetType()!==t.b2BodyType.b2_staticBody){r.Clear();var l=0;for(a[l++]=c,c.m_islandFlag=!0;l>0;){if(!(i=a[--l]))throw new Error;if(r.AddBody(i),i.m_awakeFlag=!0,i.GetType()!==t.b2BodyType.b2_staticBody){for(var h=i.m_contactList;h;h=h.next){var u=h.contact;if(!u.m_islandFlag&&(u.IsEnabled()&&u.IsTouching())){var _=u.m_fixtureA.m_isSensor,f=u.m_fixtureB.m_isSensor;if(!_&&!f){if(r.AddContact(u),u.m_islandFlag=!0,!(p=h.other))throw new Error;p.m_islandFlag||(a[l++]=p,p.m_islandFlag=!0)}}}for(var d=i.m_jointList;d;d=d.next){var p;if(!d.joint.m_islandFlag)(p=d.other).IsActive()&&(r.AddJoint(d.joint),d.joint.m_islandFlag=!0,p.m_islandFlag||(a[l++]=p,p.m_islandFlag=!0))}}}var m=new sn;r.Solve(m,e,this.m_gravity,this.m_allowSleep),this.m_profile.solveInit+=m.solveInit,this.m_profile.solveVelocity+=m.solveVelocity,this.m_profile.solvePosition+=m.solvePosition;for(var y=0;y<r.m_bodyCount;++y){(i=r.m_bodies[y]).GetType()===t.b2BodyType.b2_staticBody&&(i.m_islandFlag=!1)}}for(y=0;y<a.length&&a[y];++y)a[y]=null;var v=new U;for(i=this.m_bodyList;i;i=i.m_next)i.m_islandFlag&&i.GetType()!==t.b2BodyType.b2_staticBody&&i.SynchronizeFixtures();this.m_contactManager.FindNewContacts(),this.m_profile.broadphase=v.GetMilliseconds()},e.prototype.SolveTOI=function(i){var r=this.m_island;if(r.Initialize(64,32,0,null,this.m_contactManager.m_contactListener),this.m_stepComplete){for(var s=this.m_bodyList;s;s=s.m_next)s.m_islandFlag=!1,s.m_sweep.alpha0=0;for(var o=this.m_contactManager.m_contactList;o;o=o.m_next)o.m_toiFlag=!1,o.m_islandFlag=!1,o.m_toiCount=0,o.m_toi=1}for(;;){var a=null,c=1;for(o=this.m_contactManager.m_contactList;o;o=o.m_next)if(o.IsEnabled()&&!(o.m_toiCount>8)){var l=1;if(o.m_toiFlag)l=o.m_toi;else{var h=o.GetFixtureA(),u=o.GetFixtureB();if(h.IsSensor()||u.IsSensor())continue;var _=h.GetBody(),f=u.GetBody(),d=_.m_type,p=f.m_type,m=_.IsAwake()&&d!==t.b2BodyType.b2_staticBody,y=f.IsAwake()&&p!==t.b2BodyType.b2_staticBody;if(!m&&!y)continue;var v=_.IsBullet()||d!==t.b2BodyType.b2_dynamicBody,x=f.IsBullet()||p!==t.b2BodyType.b2_dynamicBody;if(!v&&!x)continue;var C=_.m_sweep.alpha0;_.m_sweep.alpha0<f.m_sweep.alpha0?(C=f.m_sweep.alpha0,_.m_sweep.Advance(C)):f.m_sweep.alpha0<_.m_sweep.alpha0&&(C=_.m_sweep.alpha0,f.m_sweep.Advance(C));var A=o.GetChildIndexA(),b=o.GetChildIndexB(),S=e.SolveTOI_s_toi_input;S.proxyA.SetShape(h.GetShape(),A),S.proxyB.SetShape(u.GetShape(),b),S.sweepA.Copy(_.m_sweep),S.sweepB.Copy(f.m_sweep),S.tMax=1;var T=e.SolveTOI_s_toi_output;re(T,S);var w=T.t;l=T.state===t.b2TOIOutputState.e_touching?g(C+(1-C)*w,1):1,o.m_toi=l,o.m_toiFlag=!0}l<c&&(a=o,c=l)}if(null===a||1-10*n<c){this.m_stepComplete=!0;break}var E=a.GetFixtureA(),B=a.GetFixtureB(),M=E.GetBody(),I=B.GetBody(),R=e.SolveTOI_s_backup1.Copy(M.m_sweep),P=e.SolveTOI_s_backup2.Copy(I.m_sweep);if(M.Advance(c),I.Advance(c),a.Update(this.m_contactManager.m_contactListener),a.m_toiFlag=!1,++a.m_toiCount,a.IsEnabled()&&a.IsTouching()){M.SetAwake(!0),I.SetAwake(!0),r.Clear(),r.AddBody(M),r.AddBody(I),r.AddContact(a),M.m_islandFlag=!0,I.m_islandFlag=!0,a.m_islandFlag=!0;for(var D=0;D<2;++D){if((z=0===D?M:I).m_type===t.b2BodyType.b2_dynamicBody)for(var L=z.m_contactList;L&&r.m_bodyCount!==r.m_bodyCapacity&&r.m_contactCount!==r.m_contactCapacity;L=L.next){var O=L.contact;if(!O.m_islandFlag){var V=L.other;if(V.m_type!==t.b2BodyType.b2_dynamicBody||z.IsBullet()||V.IsBullet()){var F=O.m_fixtureA.m_isSensor,N=O.m_fixtureB.m_isSensor;if(!F&&!N){var G=e.SolveTOI_s_backup.Copy(V.m_sweep);V.m_islandFlag||V.Advance(c),O.Update(this.m_contactManager.m_contactListener),O.IsEnabled()&&O.IsTouching()?(O.m_islandFlag=!0,r.AddContact(O),V.m_islandFlag||(V.m_islandFlag=!0,V.m_type!==t.b2BodyType.b2_staticBody&&V.SetAwake(!0),r.AddBody(V))):(V.m_sweep.Copy(G),V.SynchronizeTransform())}}}}}var k=e.SolveTOI_s_subStep;k.dt=(1-c)*i.dt,k.inv_dt=1/k.dt,k.dtRatio=1,k.positionIterations=20,k.velocityIterations=i.velocityIterations,k.particleIterations=i.particleIterations,k.warmStarting=!1,r.SolveTOI(k,M.m_islandIndex,I.m_islandIndex);for(D=0;D<r.m_bodyCount;++D){var z;if((z=r.m_bodies[D]).m_islandFlag=!1,z.m_type===t.b2BodyType.b2_dynamicBody){z.SynchronizeFixtures();for(L=z.m_contactList;L;L=L.next)L.contact.m_toiFlag=!1,L.contact.m_islandFlag=!1}}if(this.m_contactManager.FindNewContacts(),this.m_subStepping){this.m_stepComplete=!1;break}}else a.SetEnabled(!1),M.m_sweep.Copy(R),I.m_sweep.Copy(P),M.SynchronizeTransform(),I.SynchronizeTransform()}},e.prototype.AddController=function(t){return t.m_next=this.m_controllerList,t.m_prev=null,this.m_controllerList&&(this.m_controllerList.m_prev=t),this.m_controllerList=t,++this.m_controllerCount,t},e.prototype.RemoveController=function(t){return t.m_prev&&(t.m_prev.m_next=t.m_next),t.m_next&&(t.m_next.m_prev=t.m_prev),this.m_controllerList===t&&(this.m_controllerList=t.m_next),--this.m_controllerCount,t.m_prev=null,t.m_next=null,t},e.Step_s_step=new on,e.Step_s_stepTimer=new U,e.Step_s_timer=new U,e.DrawDebugData_s_color=new k(0,0,0),e.DrawDebugData_s_vs=P.MakeArray(4),e.DrawDebugData_s_xf=new N,e.QueryFixtureShape_s_aabb=new wt,e.RayCast_s_input=new St,e.RayCast_s_output=new Tt,e.RayCast_s_point=new P,e.DrawJoint_s_p1=new P,e.DrawJoint_s_p2=new P,e.DrawJoint_s_color=new k(.5,.8,.8),e.DrawJoint_s_c=new k,e.DrawShape_s_ghostColor=new k,e.SolveTOI_s_subStep=new on,e.SolveTOI_s_backup=new G,e.SolveTOI_s_backup1=new G,e.SolveTOI_s_backup2=new G,e.SolveTOI_s_toi_input=new qt,e.SolveTOI_s_toi_output=new Xt,e})(),zn=(function(){return function(t,e){this.prevBody=null,this.nextBody=null,this.prevController=null,this.nextController=null,this.controller=t,this.body=e}})(),Un=(function(){function t(){this.m_bodyList=null,this.m_bodyCount=0,this.m_prev=null,this.m_next=null}return t.prototype.GetNext=function(){return this.m_next},t.prototype.GetPrev=function(){return this.m_prev},t.prototype.GetBodyList=function(){return this.m_bodyList},t.prototype.AddBody=function(t){var e=new zn(this,t);e.nextBody=this.m_bodyList,e.prevBody=null,this.m_bodyList&&(this.m_bodyList.prevBody=e),this.m_bodyList=e,++this.m_bodyCount,e.nextController=t.m_controllerList,e.prevController=null,t.m_controllerList&&(t.m_controllerList.prevController=e),t.m_controllerList=e,++t.m_controllerCount},t.prototype.RemoveBody=function(t){if(this.m_bodyCount<=0)throw new Error;for(var e=this.m_bodyList;e&&e.body!==t;)e=e.nextBody;if(null===e)throw new Error;e.prevBody&&(e.prevBody.nextBody=e.nextBody),e.nextBody&&(e.nextBody.prevBody=e.prevBody),this.m_bodyList===e&&(this.m_bodyList=e.nextBody),--this.m_bodyCount,e.nextController&&(e.nextController.prevController=e.prevController),e.prevController&&(e.prevController.nextController=e.nextController),t.m_controllerList===e&&(t.m_controllerList=e.nextController),--t.m_controllerCount},t.prototype.Clear=function(){for(;this.m_bodyList;)this.RemoveBody(this.m_bodyList.body);this.m_bodyCount=0},t})(),Wn=(function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.normal=new P(0,1),e.offset=0,e.density=0,e.velocity=new P(0,0),e.linearDrag=0,e.angularDrag=0,e.useDensity=!1,e.useWorldGravity=!0,e.gravity=new P(0,0),e}return $e(e,t),e.prototype.Step=function(t){if(this.m_bodyList){this.useWorldGravity&&this.gravity.Copy(this.m_bodyList.body.GetWorld().GetGravity());for(var e=this.m_bodyList;e;e=e.nextBody){var i=e.body;if(i.IsAwake()){for(var r=new P,s=new P,o=0,a=0,c=i.GetFixtureList();c;c=c.m_next){var l=new P,h=c.GetShape().ComputeSubmergedArea(this.normal,this.offset,i.GetTransform(),l);o+=h,r.x+=h*l.x,r.y+=h*l.y;var u=0;a+=h*(u=this.useDensity?c.GetDensity():1),s.x+=h*l.x*u,s.y+=h*l.y*u}if(r.x/=o,r.y/=o,s.x/=a,s.y/=a,!(o<n)){var _=this.gravity.Clone().SelfNeg();_.SelfMul(this.density*o),i.ApplyForce(_,s);var f=i.GetLinearVelocityFromWorldPoint(r,new P);f.SelfSub(this.velocity),f.SelfMul(-this.linearDrag*o),i.ApplyForce(f,r),i.ApplyTorque(-i.GetInertia()/i.GetMass()*o*i.GetAngularVelocity()*this.angularDrag)}}}}},e.prototype.Draw=function(t){var e=100,i=new P,n=new P;i.x=this.normal.x*this.offset+this.normal.y*e,i.y=this.normal.y*this.offset-this.normal.x*e,n.x=this.normal.x*this.offset-this.normal.y*e,n.y=this.normal.y*this.offset+this.normal.x*e;var r=new k(0,0,.8);t.DrawSegment(i,n,r)},e})(Un),jn=(function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.A=new P(0,0),e}return $e(e,t),e.prototype.Step=function(t){for(var i=P.MulSV(t.dt,this.A,e.Step_s_dtA),n=this.m_bodyList;n;n=n.nextBody){var r=n.body;r.IsAwake()&&r.SetLinearVelocity(P.AddVV(r.GetLinearVelocity(),i,P.s_t0))}},e.prototype.Draw=function(t){},e.Step_s_dtA=new P,e})(Un),Hn=(function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.F=new P(0,0),e}return $e(e,t),e.prototype.Step=function(t){for(var e=this.m_bodyList;e;e=e.nextBody){var i=e.body;i.IsAwake()&&i.ApplyForce(this.F,i.GetWorldCenter())}},e.prototype.Draw=function(t){},e})(Un),qn=(function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.G=1,e.invSqr=!0,e}return $e(e,t),e.prototype.Step=function(t){if(this.invSqr)for(var i=this.m_bodyList;i;i=i.nextBody)for(var r=(l=i.body).GetWorldCenter(),s=l.GetMass(),o=this.m_bodyList;o&&o!==i;o=o.nextBody){var a=(h=o.body).GetWorldCenter(),c=h.GetMass();if(!((f=(u=a.x-r.x)*u+(_=a.y-r.y)*_)<n))(d=e.Step_s_f.Set(u,_)).SelfMul(this.G/f/T(f)*s*c),l.IsAwake()&&l.ApplyForce(d,r),h.IsAwake()&&h.ApplyForce(d.SelfMul(-1),a)}else for(i=this.m_bodyList;i;i=i.nextBody){var l;for(r=(l=i.body).GetWorldCenter(),s=l.GetMass(),o=this.m_bodyList;o&&o!==i;o=o.nextBody){var h,u,_,f,d;a=(h=o.body).GetWorldCenter(),c=h.GetMass();if(!((f=(u=a.x-r.x)*u+(_=a.y-r.y)*_)<n))(d=e.Step_s_f.Set(u,_)).SelfMul(this.G/f*s*c),l.IsAwake()&&l.ApplyForce(d,r),h.IsAwake()&&h.ApplyForce(d.SelfMul(-1),a)}}},e.prototype.Draw=function(t){},e.Step_s_f=new P,e})(Un),Xn=(function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.T=new O,e.maxTimestep=0,e}return $e(e,t),e.prototype.Step=function(t){var i=t.dt;if(!(i<=n)){i>this.maxTimestep&&this.maxTimestep>0&&(i=this.maxTimestep);for(var r=this.m_bodyList;r;r=r.nextBody){var s=r.body;if(s.IsAwake()){var o=s.GetWorldVector(O.MulMV(this.T,s.GetLocalVector(s.GetLinearVelocity(),P.s_t0),P.s_t1),e.Step_s_damping);s.SetLinearVelocity(P.AddVV(s.GetLinearVelocity(),P.MulSV(i,o,P.s_t0),P.s_t1))}}}},e.prototype.Draw=function(t){},e.prototype.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/x(t,e):0},e.Step_s_damping=new P,e})(Un),Yn=(function(){return function(){this.vertices=[],this.count=0,this.masses=[],this.gravity=new P(0,0),this.damping=.1,this.k2=.9,this.k3=.1}})(),Jn=(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 P,this.m_damping=0,this.m_k2=1,this.m_k3=.1}return t.prototype.GetVertexCount=function(){return this.m_count},t.prototype.GetVertices=function(){return this.m_ps},t.prototype.Initialize=function(t){this.m_count=t.count,this.m_ps=P.MakeArray(this.m_count),this.m_p0s=P.MakeArray(this.m_count),this.m_vs=P.MakeArray(this.m_count),this.m_ims=p(this.m_count);for(var e=0;e<this.m_count;++e){this.m_ps[e].Copy(t.vertices[e]),this.m_p0s[e].Copy(t.vertices[e]),this.m_vs[e].SetZero();var i=t.masses[e];this.m_ims[e]=i>0?1/i:0}var n=this.m_count-1,r=this.m_count-2;this.m_Ls=p(n),this.m_as=p(r);for(e=0;e<n;++e){var s=this.m_ps[e],o=this.m_ps[e+1];this.m_Ls[e]=P.DistanceVV(s,o)}for(e=0;e<r;++e){s=this.m_ps[e],o=this.m_ps[e+1];var a=this.m_ps[e+2],c=P.SubVV(o,s,P.s_t0),l=P.SubVV(a,o,P.s_t1),h=P.CrossVV(c,l),u=P.DotVV(c,l);this.m_as[e]=R(h,u)}this.m_gravity.Copy(t.gravity),this.m_damping=t.damping,this.m_k2=t.k2,this.m_k3=t.k3},t.prototype.Step=function(t,e){if(0!==t){for(var i=Math.exp(-t*this.m_damping),n=0;n<this.m_count;++n)this.m_p0s[n].Copy(this.m_ps[n]),this.m_ims[n]>0&&this.m_vs[n].SelfMulAdd(t,this.m_gravity),this.m_vs[n].SelfMul(i),this.m_ps[n].SelfMulAdd(t,this.m_vs[n]);for(n=0;n<e;++n)this.SolveC2(),this.SolveC3(),this.SolveC2();var r=1/t;for(n=0;n<this.m_count;++n)P.MulSV(r,P.SubVV(this.m_ps[n],this.m_p0s[n],P.s_t0),this.m_vs[n])}},t.prototype.SolveC2=function(){for(var e=this.m_count-1,i=0;i<e;++i){var n=this.m_ps[i],r=this.m_ps[i+1],s=P.SubVV(r,n,t.s_d),o=s.Normalize(),a=this.m_ims[i],c=this.m_ims[i+1];if(a+c!==0){var l=a/(a+c),h=c/(a+c);n.SelfMulSub(this.m_k2*l*(this.m_Ls[i]-o),s),r.SelfMulAdd(this.m_k2*h*(this.m_Ls[i]-o),s)}}},t.prototype.SetAngle=function(t){for(var e=this.m_count-2,i=0;i<e;++i)this.m_as[i]=t},t.prototype.SolveC3=function(){for(var e=this.m_count-2,i=0;i<e;++i){var n=this.m_ps[i],r=this.m_ps[i+1],o=this.m_ps[i+2],a=this.m_ims[i],c=this.m_ims[i+1],l=this.m_ims[i+2],h=P.SubVV(r,n,t.s_d1),u=P.SubVV(o,r,t.s_d2),_=h.LengthSquared(),f=u.LengthSquared();if(_*f!=0){var d=P.CrossVV(h,u),p=P.DotVV(h,u),m=R(d,p),y=P.MulSV(-1/_,h.SelfSkew(),t.s_Jd1),v=P.MulSV(1/f,u.SelfSkew(),t.s_Jd2),g=P.NegV(y,t.s_J1),x=P.SubVV(y,v,t.s_J2),C=v,A=a*P.DotVV(g,g)+c*P.DotVV(x,x)+l*P.DotVV(C,C);if(0!==A){A=1/A;for(var b=m-this.m_as[i];b>s;)b=(m-=2*s)-this.m_as[i];for(;b<-s;)b=(m+=2*s)-this.m_as[i];var S=-this.m_k3*A*b;n.SelfMulAdd(a*S,g),r.SelfMulAdd(c*S,x),o.SelfMulAdd(l*S,C)}}}},t.prototype.Draw=function(t){for(var e=new k(.4,.5,.7),i=0;i<this.m_count-1;++i)t.DrawSegment(this.m_ps[i],this.m_ps[i+1],e)},t.s_d=new P,t.s_d1=new P,t.s_d2=new P,t.s_Jd1=new P,t.s_Jd2=new P,t.s_J1=new P,t.s_J2=new P,t})();t.b2Assert=function(t){for(var e=[],i=1;i<arguments.length;i++)e[i-1]=arguments[i];if(!t)throw new(Error.bind.apply(Error,[void 0].concat(e)))},t.b2Maybe=e,t.b2_maxFloat=i,t.b2_epsilon=n,t.b2_epsilon_sq=r,t.b2_pi=s,t.b2_maxManifoldPoints=o,t.b2_maxPolygonVertices=a,t.b2_aabbExtension=.1,t.b2_aabbMultiplier=2,t.b2_linearSlop=c,t.b2_angularSlop=l,t.b2_polygonRadius=h,t.b2_maxSubSteps=8,t.b2_maxTOIContacts=32,t.b2_velocityThreshold=1,t.b2_maxLinearCorrection=.2,t.b2_maxAngularCorrection=.13962634015955555,t.b2_maxTranslation=2,t.b2_maxTranslationSquared=4,t.b2_maxRotation=1.570796326795,t.b2_maxRotationSquared=2.4674011002726646,t.b2_baumgarte=.2,t.b2_toiBaumgarte=.75,t.b2_invalidParticleIndex=u,t.b2_maxParticleIndex=2147483647,t.b2_particleStride=.75,t.b2_minParticleWeight=1,t.b2_maxParticlePressure=.25,t.b2_maxParticleForce=.5,t.b2_maxTriadDistance=2,t.b2_maxTriadDistanceSquared=4,t.b2_minParticleSystemBufferCapacity=256,t.b2_barrierCollisionTime=2.5,t.b2_timeToSleep=.5,t.b2_linearSleepTolerance=.01,t.b2_angularSleepTolerance=.03490658503988889,t.b2Alloc=function(t){return null},t.b2Free=function(t){},t.b2Log=function(t){for(var e=[],i=1;i<arguments.length;i++)e[i-1]=arguments[i]},t.b2Version=_,t.b2_version=f,t.b2_branch="master",t.b2_commit="fbf51801d80fc389d43dc46524520e89043b6faf",t.b2ParseInt=function(t){return parseInt(t,10)},t.b2ParseUInt=function(t){return Math.abs(parseInt(t,10))},t.b2MakeArray=d,t.b2MakeNullArray=function(t){for(var e=[],i=0;i<t;++i)e.push(null);return e},t.b2MakeNumberArray=p,t.b2_pi_over_180=m,t.b2_180_over_pi=y,t.b2_two_pi=6.28318530718,t.b2Abs=v,t.b2Min=g,t.b2Max=x,t.b2Clamp=C,t.b2Swap=function(t,e){var i=t[0];t[0]=e[0],e[0]=i},t.b2IsValid=A,t.b2Sq=b,t.b2InvSqrt=S,t.b2Sqrt=T,t.b2Pow=w,t.b2DegToRad=function(t){return t*m},t.b2RadToDeg=function(t){return t*y},t.b2Cos=E,t.b2Sin=B,t.b2Acos=M,t.b2Asin=I,t.b2Atan2=R,t.b2NextPowerOfTwo=function(t){return t|=t>>1&2147483647,t|=t>>2&1073741823,t|=t>>4&268435455,t|=t>>8&16777215,1+(t|=t>>16&65535)},t.b2IsPowerOfTwo=function(t){return t>0&&0==(t&t-1)},t.b2Random=function(){return 2*Math.random()-1},t.b2RandomRange=function(t,e){return(e-t)*Math.random()+t},t.b2Vec2=P,t.b2Vec2_zero=D,t.b2Vec3=L,t.b2Mat22=O,t.b2Mat33=V,t.b2Rot=F,t.b2Transform=N,t.b2Sweep=G,t.b2Color=k,t.b2Draw=z,t.b2Timer=U,t.b2Counter=W,t.b2GrowableStack=j,t.b2BlockAllocator=H,t.b2StackAllocator=q,t.b2ContactFeature=vt,t.b2ContactID=gt,t.b2ManifoldPoint=xt,t.b2Manifold=Ct,t.b2WorldManifold=At,t.b2GetPointStates=function(e,i,n,r){var s;for(s=0;s<n.pointCount;++s){var a=n.points[s].id.key;e[s]=t.b2PointState.b2_removeState;for(var c=0,l=r.pointCount;c<l;++c)if(r.points[c].id.key===a){e[s]=t.b2PointState.b2_persistState;break}}for(;s<o;++s)e[s]=t.b2PointState.b2_nullState;for(s=0;s<r.pointCount;++s)for(a=r.points[s].id.key,i[s]=t.b2PointState.b2_addState,c=0,l=n.pointCount;c<l;++c)if(n.points[c].id.key===a){i[s]=t.b2PointState.b2_persistState;break}for(;s<o;++s)i[s]=t.b2PointState.b2_nullState},t.b2ClipVertex=bt,t.b2RayCastInput=St,t.b2RayCastOutput=Tt,t.b2AABB=wt,t.b2TestOverlapAABB=Et,t.b2ClipSegmentToLine=Bt,t.b2TestOverlapShape=Pt,t.b2DistanceProxy=X,t.b2SimplexCache=Y,t.b2DistanceInput=J,t.b2DistanceOutput=Z,t.b2ShapeCastInput=K,t.b2ShapeCastOutput=Q,t.b2_gjk_reset=function(){t.b2_gjkCalls=0,t.b2_gjkIters=0,t.b2_gjkMaxIters=0},t.b2SimplexVertex=$,t.b2Simplex=tt,t.b2Distance=lt,t.b2ShapeCast=function(t,e){t.iterations=0,t.lambda=1,t.normal.SetZero(),t.point.SetZero();var i=e.proxyA,n=e.proxyB,r=x(i.m_radius,h)+x(n.m_radius,h),s=e.transformA,o=e.transformB,a=e.translationB,l=ht.Set(0,0),u=0,_=ut;_.m_count=0;for(var f=_.m_vertices,d=i.GetSupport(F.MulTRV(s.q,P.NegV(a,P.s_t1),P.s_t0)),p=N.MulXV(s,i.GetVertex(d),_t),m=n.GetSupport(F.MulTRV(o.q,a,P.s_t0)),y=N.MulXV(o,n.GetVertex(m),ft),g=P.SubVV(p,y,dt),C=x(h,r-h),A=.5*c,b=0;b<20&&v(g.Length()-C)>A;){t.iterations+=1,d=i.GetSupport(F.MulTRV(s.q,P.NegV(g,P.s_t1),P.s_t0)),p=N.MulXV(s,i.GetVertex(d),_t),m=n.GetSupport(F.MulTRV(o.q,g,P.s_t0)),y=N.MulXV(o,n.GetVertex(m),ft);var S=P.SubVV(p,y,pt);g.Normalize();var T=P.DotVV(g,S),w=P.DotVV(g,a);if(T-C>u*w){if(w<=0)return!1;if((u=(T-C)/w)>1)return!1;l.Copy(g).SelfNeg(),_.m_count=0}var E=f[_.m_count];switch(E.indexA=m,E.wA.Copy(y).SelfMulAdd(u,a),E.indexB=d,E.wB.Copy(p),E.w.Copy(E.wB).SelfSub(E.wA),E.a=1,_.m_count+=1,_.m_count){case 1:break;case 2:_.Solve2();break;case 3:_.Solve3()}if(3===_.m_count)return!1;_.GetClosestPoint(g),++b}var B=mt,M=yt;return _.GetWitnessPoints(B,M),g.LengthSquared()>0&&(l.Copy(g).SelfNeg(),l.Normalize()),t.normal.Copy(l),t.lambda=u,t.iterations=b,!0},t.b2Pair=Vt,t.b2BroadPhase=Ft,t.b2PairLessThan=Nt,t.b2TreeNode=Lt,t.b2DynamicTree=Ot,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.b2TOIInput=qt,t.b2TOIOutput=Xt,t.b2SeparationFunction=Yt,t.b2TimeOfImpact=re,t.b2CollideCircles=ae,t.b2CollidePolygonAndCircle=ue,t.b2CollidePolygons=Oe,t.b2CollideEdgeAndCircle=je,t.b2CollideEdgeAndPolygon=Je,t.b2MassData=Ze,t.b2Shape=Ke,t.b2CircleShape=ti,t.b2PolygonShape=ei,t.b2EdgeShape=ii,t.b2ChainShape=ni,t.b2Filter=ri,t.b2FixtureDef=si,t.b2FixtureProxy=oi,t.b2Fixture=ai,t.b2BodyDef=ci,t.b2Body=li,t.b2World=kn,t.b2DestructionListener=Ki,t.b2ContactFilter=Qi,t.b2ContactImpulse=$i,t.b2ContactListener=tn,t.b2QueryCallback=en,t.b2RayCastCallback=nn,t.b2Island=mn,t.b2Profile=sn,t.b2TimeStep=on,t.b2Position=an,t.b2Velocity=cn,t.b2SolverData=ln,t.b2ContactManager=rn,t.b2MixFriction=Ni,t.b2MixRestitution=Gi,t.b2ContactEdge=ki,t.b2Contact=zi,t.b2ContactRegister=Ji,t.b2ContactFactory=Zi,t.g_blockSolve=!1,t.b2VelocityConstraintPoint=hn,t.b2ContactVelocityConstraint=un,t.b2ContactPositionConstraint=_n,t.b2ContactSolverDef=fn,t.b2PositionSolverManifold=dn,t.b2ContactSolver=pn,t.b2CircleContact=Ui,t.b2PolygonContact=Wi,t.b2PolygonAndCircleContact=ji,t.b2EdgeAndCircleContact=Hi,t.b2EdgeAndPolygonContact=qi,t.b2ChainAndCircleContact=Xi,t.b2ChainAndPolygonContact=Yi,t.b2Jacobian=hi,t.b2JointEdge=ui,t.b2JointDef=_i,t.b2Joint=fi,t.b2AreaJointDef=mi,t.b2AreaJoint=yi,t.b2DistanceJointDef=di,t.b2DistanceJoint=pi,t.b2FrictionJointDef=vi,t.b2FrictionJoint=gi,t.b2GearJointDef=xi,t.b2GearJoint=Ci,t.b2MotorJointDef=Ai,t.b2MotorJoint=bi,t.b2MouseJointDef=Si,t.b2MouseJoint=Ti,t.b2PrismaticJointDef=wi,t.b2PrismaticJoint=Ei,t.b2_minPulleyLength=2,t.b2PulleyJointDef=Bi,t.b2PulleyJoint=Mi,t.b2RevoluteJointDef=Ii,t.b2RevoluteJoint=Ri,t.b2RopeJointDef=Pi,t.b2RopeJoint=Di,t.b2WeldJointDef=Li,t.b2WeldJoint=Oi,t.b2WheelJointDef=Vi,t.b2WheelJoint=Fi,t.b2ControllerEdge=zn,t.b2Controller=Un,t.b2BuoyancyController=Wn,t.b2ConstantAccelController=jn,t.b2ConstantForceController=Hn,t.b2GravityController=qn,t.b2TensorDampingController=Xn,t.b2ParticleDef=yn,t.b2CalculateParticleIterations=vn,t.b2ParticleHandle=gn,t.b2ParticleGroupDef=xn,t.b2ParticleGroup=Cn,t.b2GrowableBuffer=Dn,t.b2FixtureParticleQueryCallback=Ln,t.b2ParticleContact=On,t.b2ParticleBodyContact=Vn,t.b2ParticlePair=Fn,t.b2ParticleTriad=Nn,t.b2ParticleSystemDef=Gn,t.b2RopeDef=Yn,t.b2Rope=Jn,Object.defineProperty(t,"__esModule",{value:!0})}))}),{}],336:[(function(t,e,i){"use strict";var n="undefined"==typeof window?global:window;n.cc=n.cc||{},n._cc=n._cc||{},t("./predefine"),t("./polyfill/string"),t("./polyfill/misc"),t("./polyfill/array"),t("./polyfill/object"),t("./polyfill/array-buffer"),t("./polyfill/number"),t("./polyfill/typescript"),t("./cocos2d/core/predefine"),t("./cocos2d"),t("./extends"),e.exports=n.cc}),{"./cocos2d":286,"./cocos2d/core/predefine":185,"./extends":333,"./package":void 0,"./polyfill/array":338,"./polyfill/array-buffer":337,"./polyfill/misc":339,"./polyfill/number":340,"./polyfill/object":341,"./polyfill/string":342,"./polyfill/typescript":343,"./predefine":344}],337:[(function(t,e,i){"use strict";if(!ArrayBuffer.isView){var n=Object.getPrototypeOf(Int8Array);ArrayBuffer.isView="function"==typeof n?function(t){return t instanceof n}:function(t){var e=t.constructor;return e===Float32Array||e===Uint8Array||e===Uint32Array||e===Int8Array}}}),{}],338:[(function(t,e,i){"use strict";Array.isArray||(Array.isArray=function(t){return"[object Array]"===Object.prototype.toString.call(t)}),Array.prototype.find||(Array.prototype.find=function(t){for(var e=this.length,i=0;i<e;i++){var n=this[i];if(t.call(this,n,i,this))return n}}),Array.prototype.includes||(Array.prototype.includes=function(t){return-1!==this.indexOf(t)})}),{}],339:[(function(t,e,i){"use strict";if(Math.sign||(Math.sign=function(t){return 0===(t=+t)||isNaN(t)?t:t>0?1:-1}),Math.log2||(Math.log2=function(t){return Math.log(t)*Math.LOG2E}),Number.isInteger||(Number.isInteger=function(t){return"number"==typeof t&&isFinite(t)&&Math.floor(t)===t}),!console.time){var n=window.performance||Date,r=Object.create(null);console.time=function(t){r[t]=n.now()},console.timeEnd=function(t){var e=r[t],i=n.now()-e;console.log(t+": "+i+"ms")}}}),{}],340:[(function(t,e,i){"use strict";Number.parseFloat=Number.parseFloat||parseFloat,Number.parseInt=Number.parseInt||parseInt}),{}],341:[(function(t,e,i){"use strict";Object.assign||(Object.assign=function(t,e){return cc.js.mixin(t,e)}),Object.getOwnPropertyDescriptors||(Object.getOwnPropertyDescriptors=function(t){var e={},i=Object.getOwnPropertyNames(t);Object.getOwnPropertySymbols&&(i=i.concat(Object.getOwnPropertySymbols(t)));for(var n=0;n<i.length;++n){var r=i[n];e[r]=Object.getOwnPropertyDescriptor(t,r)}return e})}),{}],342:[(function(t,e,i){"use strict";String.prototype.startsWith||(String.prototype.startsWith=function(t,e){return e=e||0,this.lastIndexOf(t,e)===e}),String.prototype.endsWith||(String.prototype.endsWith=function(t,e){(void 0===e||e>this.length)&&(e=this.length),e-=t.length;var i=this.indexOf(t,e);return-1!==i&&i===e}),String.prototype.trimLeft||(String.prototype.trimLeft=function(){return this.replace(/^\s+/,"")})}),{}],343:[(function(t,e,i){"use strict";var n=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])};window.__extends=function(t,e){function i(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},window.__assign=Object.assign||function(t){for(var e,i=1,n=arguments.length;i<n;i++)for(var r in e=arguments[i])Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t},window.__rest=function(t,e){var i={};for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&e.indexOf(n)<0&&(i[n]=t[n]);if(null!=t&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(n=Object.getOwnPropertySymbols(t);r<n.length;r++)e.indexOf(n[r])<0&&(i[n[r]]=t[n[r]])}return i},window.__decorate=function(t,e,i,n){var r,s=arguments.length,o=s<3?e:null===n?n=Object.getOwnPropertyDescriptor(e,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,i,n);else for(var a=t.length-1;a>=0;a--)(r=t[a])&&(o=(s<3?r(o):s>3?r(e,i,o):r(e,i))||o);return s>3&&o&&Object.defineProperty(e,i,o),o},window.__param=function(t,e){return function(i,n){e(i,n,t)}},window.__metadata=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},window.__awaiter=function(t,e,i,n){return new(i||(i=Promise))(function(r,s){function o(t){try{c(n.next(t))}catch(t){s(t)}}function a(t){try{c(n.throw(t))}catch(t){s(t)}}function c(t){t.done?r(t.value):new i(function(e){e(t.value)}).then(o,a)}c((n=n.apply(t,e||[])).next())})},window.__generator=function(t,e){var i,n,r,s,o={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return s={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(s[Symbol.iterator]=function(){return this}),s;function a(t){return function(e){return c([t,e])}}function c(s){if(i)throw new TypeError("Generator is already executing.");for(;o;)try{if(i=1,n&&(r=2&s[0]?n.return:s[0]?n.throw||((r=n.return)&&r.call(n),0):n.next)&&!(r=r.call(n,s[1])).done)return r;switch(n=0,r&&(s=[2&s[0],r.value]),s[0]){case 0:case 1:r=s;break;case 4:return o.label++,{value:s[1],done:!1};case 5:o.label++,n=s[1],s=[0];continue;case 7:s=o.ops.pop(),o.trys.pop();continue;default:if(!(r=(r=o.trys).length>0&&r[r.length-1])&&(6===s[0]||2===s[0])){o=0;continue}if(3===s[0]&&(!r||s[1]>r[0]&&s[1]<r[3])){o.label=s[1];break}if(6===s[0]&&o.label<r[1]){o.label=r[1],r=s;break}if(r&&o.label<r[2]){o.label=r[2],o.ops.push(s);break}r[2]&&o.ops.pop(),o.trys.pop();continue}s=e.call(t,o)}catch(t){s=[6,t],n=0}finally{i=r=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}},window.__exportStar=function(t,e){for(var i in t)e.hasOwnProperty(i)||(e[i]=t[i])},window.__values=function(t){var e="function"==typeof Symbol&&t[Symbol.iterator],i=0;return e?e.call(t):{next:function(){return t&&i>=t.length&&(t=void 0),{value:t&&t[i++],done:!t}}}},window.__read=function(t,e){var i="function"==typeof Symbol&&t[Symbol.iterator];if(!i)return t;var n,r,s=i.call(t),o=[];try{for(;(void 0===e||e-- >0)&&!(n=s.next()).done;)o.push(n.value)}catch(t){r={error:t}}finally{try{n&&!n.done&&(i=s.return)&&i.call(s)}finally{if(r)throw r.error}}return o},window.__spread=function(){for(var t=[],e=0;e<arguments.length;e++)t=t.concat(__read(arguments[e]));return t},window.__await=function(t){return this instanceof __await?(this.v=t,this):new __await(t)},window.__asyncGenerator=function(t,e,i){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var n,r=i.apply(t,e||[]),s=[];return n={},o("next"),o("throw"),o("return"),n[Symbol.asyncIterator]=function(){return this},n;function o(t){r[t]&&(n[t]=function(e){return new Promise(function(i,n){s.push([t,e,i,n])>1||a(t,e)})})}function a(t,e){try{c(r[t](e))}catch(t){u(s[0][3],t)}}function c(t){t.value instanceof __await?Promise.resolve(t.value.v).then(l,h):u(s[0][2],t)}function l(t){a("next",t)}function h(t){a("throw",t)}function u(t,e){t(e),s.shift(),s.length&&a(s[0][0],s[0][1])}},window.__asyncDelegator=function(t){var e,i;return e={},n("next"),n("throw",(function(t){throw t})),n("return"),e[Symbol.iterator]=function(){return this},e;function n(n,r){e[n]=t[n]?function(e){return(i=!i)?{value:__await(t[n](e)),done:"return"===n}:r?r(e):e}:r}},window.__asyncValues=function(t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e,i=t[Symbol.asyncIterator];return i?i.call(t):(t="function"==typeof __values?__values(t):t[Symbol.iterator](),e={},n("next"),n("throw"),n("return"),e[Symbol.asyncIterator]=function(){return this},e);function n(i){e[i]=t[i]&&function(e){return new Promise(function(n,s){r(n,s,(e=t[i](e)).done,e.value)})}}function r(t,e,i,n){Promise.resolve(n).then((function(e){t({value:e,done:i})}),e)}},window.__makeTemplateObject=function(t,e){return Object.defineProperty?Object.defineProperty(t,"raw",{value:e}):t.raw=e,t},window.__importStar=function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var i in t)Object.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e.default=t,e},window.__importDefault=function(t){return t&&t.__esModule?t:{default:t}}}),{}],344:[(function(t,e,i){"use strict";var n="undefined"==typeof window?global:window;function r(t,e){void 0===n[t]&&(n[t]=e)}function s(t,e){void 0===n[t]&&Object.defineProperty(n,t,{get:function(){var i=void 0;return"CC_WECHATGAMESUB"===t?i="cc.sys.platform === cc.sys.WECHAT_GAME_SUB":"CC_WECHATGAME"===t?i="cc.sys.platform === cc.sys.WECHAT_GAME":"CC_QQPLAY"===t&&(i="cc.sys.platform === cc.sys.QQ_PLAY"),cc.warnID(1400,t,i),e}})}function o(t){return"object"==typeof n[t]}r("CC_BUILD",!1),n.CC_BUILD=!0,n.CC_DEV=!1,n.CC_DEBUG=!1,n.CC_JSB=!1,n.CC_NATIVERENDERER=!1,n.CC_SUPPORT_JIT=!0,r("CC_TEST",o("tap")||o("QUnit")),r("CC_EDITOR",o("Editor")&&o("process")&&"electron"in process.versions),r("CC_PREVIEW",!0),r("CC_RUNTIME","function"==typeof loadRuntime),r("CC_JSB",o("jsb")&&!0);var a=!(!o("wx")||!wx.getSharedCanvas),c=!(!o("wx")||!wx.getSystemInfoSync&&!wx.getSharedCanvas),l=o("bk");s("CC_WECHATGAMESUB",a),s("CC_WECHATGAME",c),s("CC_QQPLAY",l);n.CocosEngine=cc.ENGINE_VERSION="2.2.0"}),{}]},{},[336]);
|