!function(t,n){"object"==typeof exports&&"object"==typeof module?module.exports=n():"function"==typeof define&&define.amd?define([],n):"object"==typeof exports?exports.Util=n():t.Util=n()}(this,function(){return function(t){function n(e){if(r[e])return r[e].exports;var o=r[e]={i:e,l:!1,exports:{}};return t[e].call(o.exports,o,o.exports,n),o.l=!0,o.exports}var r={};return n.m=t,n.c=r,n.d=function(t,r,e){n.o(t,r)||Object.defineProperty(t,r,{configurable:!1,enumerable:!0,get:e})},n.n=function(t){var r=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(r,"a",r),r},n.o=function(t,n){return Object.prototype.hasOwnProperty.call(t,n)},n.p="",n(n.s=40)}([function(t,n,r){var e=r(16),o=r(1);t.exports=function(t,n){if(t)if(o(t))for(var r=0,a=t.length;r-1}},function(t,n,r){var e=r(4);t.exports=function(t){return e(t,"String")}},function(t,n){function r(t,n){for(var r in n)n.hasOwnProperty(r)&&"constructor"!==r&&void 0!==n[r]&&(t[r]=n[r])}t.exports=function(t,n,e,o){return n&&r(t,n),e&&r(t,e),o&&r(t,o),t}},function(t,n,r){var e=r(0),o=r(3);t.exports=function(t,n){if(!o(t))return t;var r=[];return e(t,function(t,e){n(t,e)&&r.push(t)}),r}},function(t,n){var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t};t.exports=function(t){return"object"===(void 0===t?"undefined":r(t))&&null!==t}},function(t,n,r){var e=r(3);t.exports=function(t){return e(t)?Array.prototype.slice.call(t):[]}},function(t,n){Object.defineProperty(n,"__esModule",{value:!0}),n.setMatrixArrayType=function(t){n.ARRAY_TYPE=e=t},n.toRadian=function(t){return t*o},n.equals=function(t,n){return Math.abs(t-n)<=r*Math.max(1,Math.abs(t),Math.abs(n))};var r=n.EPSILON=1e-6,e=n.ARRAY_TYPE="undefined"!=typeof Float32Array?Float32Array:Array,o=(n.RANDOM=Math.random,Math.PI/180)},function(t,n){var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t};t.exports=function(t){var n=void 0===t?"undefined":r(t);return null!==t&&"object"===n||"function"===n}},function(t,n,r){var e=r(18),o=r(5);t.exports=function(t,n){var r=e(n),a=r.length;if(o(t))return!a;for(var u=0;ur?r:t}},function(t,n){t.exports=parseInt},function(t,n,r){var e=r(89);e.translate=function(t,n,r){var o=new Array(9);return e.fromTranslation(o,r),e.multiply(t,o,n)},e.rotate=function(t,n,r){var o=new Array(9);return e.fromRotation(o,r),e.multiply(t,o,n)},e.scale=function(t,n,r){var o=new Array(9);return e.fromScaling(o,r),e.multiply(t,o,n)},t.exports=e},function(t,n,r){var e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},o=r(1);t.exports=function t(n){if("object"!==(void 0===n?"undefined":e(n))||null===n)return n;var r=void 0;if(o(n)){r=[];for(var a=0,u=n.length;a1&&(e*=A=Math.sqrt(A),o*=A);var P=e*e,O=o*o,S=(u===i?-1:1)*Math.sqrt(Math.abs((P*O-P*g*g-O*b*b)/(P*g*g+O*b*b)));d=S*e*g/o+(n+c)/2,M=S*-o*b/e+(r+f)/2,x=Math.asin(((r-M)/o).toFixed(9)),y=Math.asin(((f-M)/o).toFixed(9)),x=ny&&(x-=2*Math.PI),!i&&y>x&&(y-=2*Math.PI)}var w=y-x;if(Math.abs(w)>l){var E=y,q=c,R=f;y=x+l*(i&&y>x?1:-1),p=t(c=d+e*Math.cos(y),f=M+o*Math.sin(y),e,o,a,0,i,q,R,[y,E,d,M])}w=y-x;var k=Math.cos(x),C=Math.sin(x),j=Math.cos(y),F=Math.sin(y),L=Math.tan(w/4),I=4/3*e*L,_=4/3*o*L,T=[n,r],Y=[n+I*C,r-_*k],N=[c+I*F,f-_*j],U=[c,f];if(Y[0]=2*T[0]-Y[0],Y[1]=2*T[1]-Y[1],s)return[Y,N,U].concat(p);for(var D=[],B=0,z=(p=[Y,N,U].concat(p).join().split(",")).length;B7){t[n].shift();for(var e=t[n];e.length;)s[n]="A",i&&(l[n]="A"),t.splice(n++,0,["C"].concat(e.splice(0,6)));t.splice(n,1),v=Math.max(r.length,i&&i.length||0)}},d=function(t,n,e,o,a){t&&n&&"M"===t[a][0]&&"M"!==n[a][0]&&(n.splice(a,0,["M",o.x,o.y]),e.bx=0,e.by=0,e.x=t[a][1],e.y=t[a][2],v=Math.max(r.length,i&&i.length||0))};v=Math.max(r.length,i&&i.length||0);for(var M=0;M180),0,c,n+r*Math.sin(-o*u)]]}else a=[["M",t,n],["m",0,-e],["a",r,e,0,1,1,0,2*e],["a",r,e,0,1,1,0,-2*e],["z"]];return a}var o=r(31),a=r(32);t.exports=function(t){if(!(t=o(t))||!t.length)return[["M",0,0]];var n=[],r=0,u=0,i=0,c=0,f=0,s=void 0,l=void 0;"M"===t[0][0]&&(i=r=+t[0][1],c=u=+t[0][2],f++,n[0]=["M",r,u]);for(var h,p,v=3===t.length&&"M"===t[0][0]&&"R"===t[1][0].toUpperCase()&&"Z"===t[2][0].toUpperCase(),x=f,y=t.length;x2&&(e.push([r].concat(u.splice(0,2))),i="l",r="m"===r?"l":"L"),"o"===i&&1===u.length&&e.push([r,u[0]]),"r"===i)e.push([r].concat(u));else for(;u.length>=n[i]&&(e.push([r].concat(u.splice(0,n[i]))),n[i]););}),e}},function(t,n){t.exports=function(t,n){for(var r=[],e=0,o=t.length;o-2*!n>e;e+=2){var a=[{x:+t[e-2],y:+t[e-1]},{x:+t[e],y:+t[e+1]},{x:+t[e+2],y:+t[e+3]},{x:+t[e+4],y:+t[e+5]}];n?e?o-4===e?a[3]={x:+t[0],y:+t[1]}:o-2===e&&(a[2]={x:+t[0],y:+t[1]},a[3]={x:+t[2],y:+t[3]}):a[0]={x:+t[o-2],y:+t[o-1]}:o-4===e?a[3]=a[2]:e||(a[0]={x:+t[e],y:+t[e+1]}),r.push(["C",(-a[0].x+6*a[1].x+a[2].x)/6,(-a[0].y+6*a[1].y+a[2].y)/6,(a[1].x+6*a[2].x-a[3].x)/6,(a[1].y+6*a[2].y-a[3].y)/6,a[2].x,a[2].y])}return r}},function(t,n,r){var e=r(8);t.exports=function(t){return e(t).toLowerCase()}},function(t,n,r){var e=r(8);t.exports=function(t){return e(t).toUpperCase()}},function(t,n){var r={}.toString;t.exports=function(t){return r.call(t).replace(/^\[object /,"").replace(/\]$/,"")}},function(t,n){var r=Object.prototype;t.exports=function(t){var n=t&&t.constructor;return t===("function"==typeof n&&n.prototype||r)}},function(t,n,r){var e=r(2),o=r(1),a=r(38);t.exports=function(t,n){if(!n)return{0:t};if(!e(n)){var r=o(n)?n:n.replace(/\s+/g,"").split("*");n=function(t){for(var n="_",e=0,o=r.length;e]*>/,a={tr:document.createElement("tbody"),tbody:r,thead:r,tfoot:r,td:e,th:e,"*":document.createElement("div")};t.exports=function(t){var n=o.test(t)&&RegExp.$1;n in a||(n="*");var r=a[n];t=t.replace(/(^\s*)|(\s*$)/g,""),r.innerHTML=""+t;var e=r.childNodes[0];return r.removeChild(e),e}},function(t,n){t.exports=function(t,n){if(t&&t.getBoundingClientRect){var r=t.getBoundingClientRect(),e=document.documentElement.clientTop,o=document.documentElement.clientLeft;return{top:r.top-e,bottom:r.bottom-e,left:r.left-o,right:r.right-o}}return n||null}},function(t,n){t.exports=function(t,n){var r=this.getStyle(t,"height",n);return"auto"===r&&(r=t.offsetHeight),parseFloat(r)}},function(t,n){t.exports=function(t,n){var r=this.getHeight(t,n),e=parseFloat(this.getStyle(t,"borderTopWidth"))||0,o=parseFloat(this.getStyle(t,"paddingTop"))||0,a=parseFloat(this.getStyle(t,"paddingBottom"))||0;return r+e+(parseFloat(this.getStyle(t,"borderBottomWidth"))||0)+o+a}},function(t,n){t.exports=function(t,n){var r=this.getWidth(t,n),e=parseFloat(this.getStyle(t,"borderLeftWidth"))||0,o=parseFloat(this.getStyle(t,"paddingLeft"))||0,a=parseFloat(this.getStyle(t,"paddingRight"))||0;return r+e+(parseFloat(this.getStyle(t,"borderRightWidth"))||0)+o+a}},function(t,n){t.exports=function(){return window.devicePixelRatio?window.devicePixelRatio:2}},function(t,n,r){var e=r(5);t.exports=function(t,n,r){try{return window.getComputedStyle?window.getComputedStyle(t,null)[n]:t.currentStyle[n]}catch(t){return e(r)?null:r}}},function(t,n){t.exports=function(t,n){var r=this.getStyle(t,"width",n);return"auto"===r&&(r=t.offsetWidth),parseFloat(r)}},function(t,n){t.exports=function(t,n){if(t)for(var r in n)n.hasOwnProperty(r)&&(t.style[r]=n[r]);return t}},function(t,n){t.exports=function(t){return(window.requestAnimationFrame||window.webkitRequestAnimationFrame||function(t){return setTimeout(t,16)})(t)}},function(t,n,r){t.exports={contains:r(9),difference:r(54),find:r(55),firstValue:r(56),flatten:r(57),flattenDeep:r(58),getRange:r(59),merge:r(60),pull:r(61),pullAt:r(19),reduce:r(62),remove:r(63),sortBy:r(64),union:r(65),uniq:r(20),valuesOfKey:r(66)}},function(t,n,r){var e=r(12),o=r(9);t.exports=function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return e(t,function(t){return!o(n,t)})}},function(t,n,r){var e=r(2),o=r(7),a=r(17);t.exports=function(t,n){var r=void 0;if(e(n)&&(r=n),o(n)&&(r=function(t){return a(t,n)}),r)for(var u=0;u1&&void 0!==arguments[1]?arguments[1]:[];if(e(n))for(var o=0;o-1;)e.call(t,i,1);return t}},function(t,n,r){var e=r(1),o=r(7),a=r(0);t.exports=function(t,n,r){if(!e(t)&&!o(t))return t;var u=r;return a(t,function(t,r){u=n(u,t,r)}),u}},function(t,n,r){var e=r(3),o=r(19);t.exports=function(t,n){var r=[];if(!e(t))return r;for(var a=-1,u=[],i=t.length;++an[e])return 1;if(t[e]1){var e=n[0].charAt(0);n.splice(1,0,n[0].substr(1)),n[0]=e}a(n,function(t,r){isNaN(t)||(n[r]=+t)}),t[r]=n}),t):void 0}},function(t,n,r){var e=r(1);t.exports=function(t){var n=0,r=0,o=0,a=0;return e(t)?1===t.length?n=r=o=a=t[0]:2===t.length?(n=o=t[0],r=a=t[1]):3===t.length?(n=t[0],r=a=t[1],o=t[2]):(n=t[0],r=t[1],o=t[2],a=t[3]):n=r=o=a=t,{r1:n,r2:r,r3:o,r4:a}}},function(t,n,r){var e=r(75);t.exports={clamp:r(21),fixedBase:r(76),isDecimal:r(77),isEven:r(78),isInteger:r(79),isNegative:r(80),isNumberEqual:e,isOdd:r(81),isPositive:r(82),maxBy:r(83),minBy:r(84),mod:r(85),snapEqual:e,toDegree:r(86),toInt:r(22),toInteger:r(22),toRadian:r(87)}},function(t,n){t.exports=function(t,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1e-5;return Math.abs(t-n)20&&(o=20),parseFloat(t.toFixed(o))}},function(t,n,r){var e=r(6);t.exports=function(t){return e(t)&&t%1!=0}},function(t,n,r){var e=r(6);t.exports=function(t){return e(t)&&t%2==0}},function(t,n,r){var e=r(6),o=Number.isInteger?Number.isInteger:function(t){return e(t)&&t%1==0};t.exports=o},function(t,n,r){var e=r(6);t.exports=function(t){return e(t)&&t<0}},function(t,n,r){var e=r(6);t.exports=function(t){return e(t)&&t%2!=0}},function(t,n,r){var e=r(6);t.exports=function(t){return e(t)&&t>0}},function(t,n,r){var e=r(1),o=r(2),a=r(0);t.exports=function(t,n){if(e(t)){var r=t[0],u=void 0;u=o(n)?n(t[0]):t[0][n];var i=void 0;return a(t,function(t){(i=o(n)?n(t):t[n])>u&&(r=t,u=i)}),r}}},function(t,n,r){var e=r(1),o=r(2),a=r(0);t.exports=function(t,n){if(e(t)){var r=t[0],u=void 0;u=o(n)?n(t[0]):t[0][n];var i=void 0;return a(t,function(t){(i=o(n)?n(t):t[n])=0;return r?a?2*Math.PI-o:o:a?o:2*Math.PI-o},e.vertical=function(t,n,r){return r?(t[0]=n[1],t[1]=-1*n[0]):(t[0]=-1*n[1],t[1]=n[0]),t},t.exports=e},function(t,n,r){function e(){var t=new l.ARRAY_TYPE(2);return l.ARRAY_TYPE!=Float32Array&&(t[0]=0,t[1]=0),t}function o(t,n,r){return t[0]=n[0]-r[0],t[1]=n[1]-r[1],t}function a(t,n,r){return t[0]=n[0]*r[0],t[1]=n[1]*r[1],t}function u(t,n,r){return t[0]=n[0]/r[0],t[1]=n[1]/r[1],t}function i(t,n){var r=n[0]-t[0],e=n[1]-t[1];return Math.sqrt(r*r+e*e)}function c(t,n){var r=n[0]-t[0],e=n[1]-t[1];return r*r+e*e}function f(t){var n=t[0],r=t[1];return Math.sqrt(n*n+r*r)}function s(t){var n=t[0],r=t[1];return n*n+r*r}Object.defineProperty(n,"__esModule",{value:!0}),n.forEach=n.sqrLen=n.sqrDist=n.dist=n.div=n.mul=n.sub=n.len=void 0,n.create=e,n.clone=function(t){var n=new l.ARRAY_TYPE(2);return n[0]=t[0],n[1]=t[1],n},n.fromValues=function(t,n){var r=new l.ARRAY_TYPE(2);return r[0]=t,r[1]=n,r},n.copy=function(t,n){return t[0]=n[0],t[1]=n[1],t},n.set=function(t,n,r){return t[0]=n,t[1]=r,t},n.add=function(t,n,r){return t[0]=n[0]+r[0],t[1]=n[1]+r[1],t},n.subtract=o,n.multiply=a,n.divide=u,n.ceil=function(t,n){return t[0]=Math.ceil(n[0]),t[1]=Math.ceil(n[1]),t},n.floor=function(t,n){return t[0]=Math.floor(n[0]),t[1]=Math.floor(n[1]),t},n.min=function(t,n,r){return t[0]=Math.min(n[0],r[0]),t[1]=Math.min(n[1],r[1]),t},n.max=function(t,n,r){return t[0]=Math.max(n[0],r[0]),t[1]=Math.max(n[1],r[1]),t},n.round=function(t,n){return t[0]=Math.round(n[0]),t[1]=Math.round(n[1]),t},n.scale=function(t,n,r){return t[0]=n[0]*r,t[1]=n[1]*r,t},n.scaleAndAdd=function(t,n,r,e){return t[0]=n[0]+r[0]*e,t[1]=n[1]+r[1]*e,t},n.distance=i,n.squaredDistance=c,n.length=f,n.squaredLength=s,n.negate=function(t,n){return t[0]=-n[0],t[1]=-n[1],t},n.inverse=function(t,n){return t[0]=1/n[0],t[1]=1/n[1],t},n.normalize=function(t,n){var r=n[0],e=n[1],o=r*r+e*e;return o>0&&(o=1/Math.sqrt(o),t[0]=n[0]*o,t[1]=n[1]*o),t},n.dot=function(t,n){return t[0]*n[0]+t[1]*n[1]},n.cross=function(t,n,r){var e=n[0]*r[1]-n[1]*r[0];return t[0]=t[1]=0,t[2]=e,t},n.lerp=function(t,n,r,e){var o=n[0],a=n[1];return t[0]=o+e*(r[0]-o),t[1]=a+e*(r[1]-a),t},n.random=function(t,n){n=n||1;var r=2*l.RANDOM()*Math.PI;return t[0]=Math.cos(r)*n,t[1]=Math.sin(r)*n,t},n.transformMat2=function(t,n,r){var e=n[0],o=n[1];return t[0]=r[0]*e+r[2]*o,t[1]=r[1]*e+r[3]*o,t},n.transformMat2d=function(t,n,r){var e=n[0],o=n[1];return t[0]=r[0]*e+r[2]*o+r[4],t[1]=r[1]*e+r[3]*o+r[5],t},n.transformMat3=function(t,n,r){var e=n[0],o=n[1];return t[0]=r[0]*e+r[3]*o+r[6],t[1]=r[1]*e+r[4]*o+r[7],t},n.transformMat4=function(t,n,r){var e=n[0],o=n[1];return t[0]=r[0]*e+r[4]*o+r[12],t[1]=r[1]*e+r[5]*o+r[13],t},n.rotate=function(t,n,r,e){var o=n[0]-r[0],a=n[1]-r[1],u=Math.sin(e),i=Math.cos(e);return t[0]=o*i-a*u+r[0],t[1]=o*u+a*i+r[1],t},n.angle=function(t,n){var r=t[0],e=t[1],o=n[0],a=n[1],u=r*r+e*e;u>0&&(u=1/Math.sqrt(u));var i=o*o+a*a;i>0&&(i=1/Math.sqrt(i));var c=(r*o+e*a)*u*i;return c>1?0:c<-1?Math.PI:Math.acos(c)},n.str=function(t){return"vec2("+t[0]+", "+t[1]+")"},n.exactEquals=function(t,n){return t[0]===n[0]&&t[1]===n[1]},n.equals=function(t,n){var r=t[0],e=t[1],o=n[0],a=n[1];return Math.abs(r-o)<=l.EPSILON*Math.max(1,Math.abs(r),Math.abs(o))&&Math.abs(e-a)<=l.EPSILON*Math.max(1,Math.abs(e),Math.abs(a))};var l=function(t){if(t&&t.__esModule)return t;var n={};if(null!=t)for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(n[r]=t[r]);return n.default=t,n}(r(15));n.len=f,n.sub=o,n.mul=a,n.div=u,n.dist=i,n.sqrDist=c,n.sqrLen=s,n.forEach=function(){var t=e();return function(n,r,e,o,a,u){var i=void 0,c=void 0;for(r||(r=2),e||(e=0),c=o?Math.min(o*r+e,n.length):n.length,i=e;i0&&(a=1/Math.sqrt(a),t[0]=n[0]*a,t[1]=n[1]*a,t[2]=n[2]*a),t}function p(t,n){return t[0]*n[0]+t[1]*n[1]+t[2]*n[2]}Object.defineProperty(n,"__esModule",{value:!0}),n.forEach=n.sqrLen=n.len=n.sqrDist=n.dist=n.div=n.mul=n.sub=void 0,n.create=e,n.clone=function(t){var n=new v.ARRAY_TYPE(3);return n[0]=t[0],n[1]=t[1],n[2]=t[2],n},n.length=o,n.fromValues=a,n.copy=function(t,n){return t[0]=n[0],t[1]=n[1],t[2]=n[2],t},n.set=function(t,n,r,e){return t[0]=n,t[1]=r,t[2]=e,t},n.add=function(t,n,r){return t[0]=n[0]+r[0],t[1]=n[1]+r[1],t[2]=n[2]+r[2],t},n.subtract=u,n.multiply=i,n.divide=c,n.ceil=function(t,n){return t[0]=Math.ceil(n[0]),t[1]=Math.ceil(n[1]),t[2]=Math.ceil(n[2]),t},n.floor=function(t,n){return t[0]=Math.floor(n[0]),t[1]=Math.floor(n[1]),t[2]=Math.floor(n[2]),t},n.min=function(t,n,r){return t[0]=Math.min(n[0],r[0]),t[1]=Math.min(n[1],r[1]),t[2]=Math.min(n[2],r[2]),t},n.max=function(t,n,r){return t[0]=Math.max(n[0],r[0]),t[1]=Math.max(n[1],r[1]),t[2]=Math.max(n[2],r[2]),t},n.round=function(t,n){return t[0]=Math.round(n[0]),t[1]=Math.round(n[1]),t[2]=Math.round(n[2]),t},n.scale=function(t,n,r){return t[0]=n[0]*r,t[1]=n[1]*r,t[2]=n[2]*r,t},n.scaleAndAdd=function(t,n,r,e){return t[0]=n[0]+r[0]*e,t[1]=n[1]+r[1]*e,t[2]=n[2]+r[2]*e,t},n.distance=f,n.squaredDistance=s,n.squaredLength=l,n.negate=function(t,n){return t[0]=-n[0],t[1]=-n[1],t[2]=-n[2],t},n.inverse=function(t,n){return t[0]=1/n[0],t[1]=1/n[1],t[2]=1/n[2],t},n.normalize=h,n.dot=p,n.cross=function(t,n,r){var e=n[0],o=n[1],a=n[2],u=r[0],i=r[1],c=r[2];return t[0]=o*c-a*i,t[1]=a*u-e*c,t[2]=e*i-o*u,t},n.lerp=function(t,n,r,e){var o=n[0],a=n[1],u=n[2];return t[0]=o+e*(r[0]-o),t[1]=a+e*(r[1]-a),t[2]=u+e*(r[2]-u),t},n.hermite=function(t,n,r,e,o,a){var u=a*a,i=u*(2*a-3)+1,c=u*(a-2)+a,f=u*(a-1),s=u*(3-2*a);return t[0]=n[0]*i+r[0]*c+e[0]*f+o[0]*s,t[1]=n[1]*i+r[1]*c+e[1]*f+o[1]*s,t[2]=n[2]*i+r[2]*c+e[2]*f+o[2]*s,t},n.bezier=function(t,n,r,e,o,a){var u=1-a,i=u*u,c=a*a,f=i*u,s=3*a*i,l=3*c*u,h=c*a;return t[0]=n[0]*f+r[0]*s+e[0]*l+o[0]*h,t[1]=n[1]*f+r[1]*s+e[1]*l+o[1]*h,t[2]=n[2]*f+r[2]*s+e[2]*l+o[2]*h,t},n.random=function(t,n){n=n||1;var r=2*v.RANDOM()*Math.PI,e=2*v.RANDOM()-1,o=Math.sqrt(1-e*e)*n;return t[0]=Math.cos(r)*o,t[1]=Math.sin(r)*o,t[2]=e*n,t},n.transformMat4=function(t,n,r){var e=n[0],o=n[1],a=n[2],u=r[3]*e+r[7]*o+r[11]*a+r[15];return u=u||1,t[0]=(r[0]*e+r[4]*o+r[8]*a+r[12])/u,t[1]=(r[1]*e+r[5]*o+r[9]*a+r[13])/u,t[2]=(r[2]*e+r[6]*o+r[10]*a+r[14])/u,t},n.transformMat3=function(t,n,r){var e=n[0],o=n[1],a=n[2];return t[0]=e*r[0]+o*r[3]+a*r[6],t[1]=e*r[1]+o*r[4]+a*r[7],t[2]=e*r[2]+o*r[5]+a*r[8],t},n.transformQuat=function(t,n,r){var e=r[0],o=r[1],a=r[2],u=r[3],i=n[0],c=n[1],f=n[2],s=o*f-a*c,l=a*i-e*f,h=e*c-o*i,p=o*h-a*l,v=a*s-e*h,x=e*l-o*s,y=2*u;return s*=y,l*=y,h*=y,p*=2,v*=2,x*=2,t[0]=i+s+p,t[1]=c+l+v,t[2]=f+h+x,t},n.rotateX=function(t,n,r,e){var o=[],a=[];return o[0]=n[0]-r[0],o[1]=n[1]-r[1],o[2]=n[2]-r[2],a[0]=o[0],a[1]=o[1]*Math.cos(e)-o[2]*Math.sin(e),a[2]=o[1]*Math.sin(e)+o[2]*Math.cos(e),t[0]=a[0]+r[0],t[1]=a[1]+r[1],t[2]=a[2]+r[2],t},n.rotateY=function(t,n,r,e){var o=[],a=[];return o[0]=n[0]-r[0],o[1]=n[1]-r[1],o[2]=n[2]-r[2],a[0]=o[2]*Math.sin(e)+o[0]*Math.cos(e),a[1]=o[1],a[2]=o[2]*Math.cos(e)-o[0]*Math.sin(e),t[0]=a[0]+r[0],t[1]=a[1]+r[1],t[2]=a[2]+r[2],t},n.rotateZ=function(t,n,r,e){var o=[],a=[];return o[0]=n[0]-r[0],o[1]=n[1]-r[1],o[2]=n[2]-r[2],a[0]=o[0]*Math.cos(e)-o[1]*Math.sin(e),a[1]=o[0]*Math.sin(e)+o[1]*Math.cos(e),a[2]=o[2],t[0]=a[0]+r[0],t[1]=a[1]+r[1],t[2]=a[2]+r[2],t},n.angle=function(t,n){var r=a(t[0],t[1],t[2]),e=a(n[0],n[1],n[2]);h(r,r),h(e,e);var o=p(r,e);return o>1?0:o<-1?Math.PI:Math.acos(o)},n.str=function(t){return"vec3("+t[0]+", "+t[1]+", "+t[2]+")"},n.exactEquals=function(t,n){return t[0]===n[0]&&t[1]===n[1]&&t[2]===n[2]},n.equals=function(t,n){var r=t[0],e=t[1],o=t[2],a=n[0],u=n[1],i=n[2];return Math.abs(r-a)<=v.EPSILON*Math.max(1,Math.abs(r),Math.abs(a))&&Math.abs(e-u)<=v.EPSILON*Math.max(1,Math.abs(e),Math.abs(u))&&Math.abs(o-i)<=v.EPSILON*Math.max(1,Math.abs(o),Math.abs(i))};var v=function(t){if(t&&t.__esModule)return t;var n={};if(null!=t)for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(n[r]=t[r]);return n.default=t,n}(r(15));n.sub=u,n.mul=i,n.div=c,n.dist=f,n.sqrDist=s,n.len=o,n.sqrLen=l,n.forEach=function(){var t=e();return function(n,r,e,o,a,u){var i=void 0,c=void 0;for(r||(r=3),e||(e=0),c=o?Math.min(o*r+e,n.length):n.length,i=e;i1?1:f<0?0:f)/2,l=[-.1252,.1252,-.3678,.3678,-.5873,.5873,-.7699,.7699,-.9041,.9041,-.9816,.9816],h=[.2491,.2491,.2335,.2335,.2032,.2032,.1601,.1601,.1069,.1069,.0472,.0472],p=0,v=0;v<12;v++){var x=s*l[v]+s,y=u(x,t,r,o,i),d=u(x,n,e,a,c),M=y*y+d*d;p+=h[v]*Math.sqrt(M)}return s*p},c=function(t,n,r,e,o,a,u,i){for(var c=[],f=[[],[]],s=void 0,l=void 0,h=void 0,p=void 0,v=0;v<2;++v)if(0===v?(l=6*t-12*r+6*o,s=-3*t+9*r-9*o+3*u,h=3*r-3*t):(l=6*n-12*e+6*a,s=-3*n+9*e-9*a+3*i,h=3*e-3*n),Math.abs(s)<1e-12){if(Math.abs(l)<1e-12)continue;(p=-h/l)>0&&p<1&&c.push(p)}else{var x=l*l-4*h*s,y=Math.sqrt(x);if(!(x<0)){var d=(-l+y)/(2*s);d>0&&d<1&&c.push(d);var M=(-l-y)/(2*s);M>0&&M<1&&c.push(M)}}for(var m=c.length,b=m,g=void 0;m--;)g=1-(p=c[m]),f[0][m]=g*g*g*t+3*g*g*p*r+3*g*p*p*o+p*p*p*u,f[1][m]=g*g*g*n+3*g*g*p*e+3*g*p*p*a+p*p*p*i;return f[0][b]=t,f[1][b]=n,f[0][b+1]=u,f[1][b+1]=i,f[0].length=f[1].length=b+2,{min:{x:Math.min.apply(0,f[0]),y:Math.min.apply(0,f[1])},max:{x:Math.max.apply(0,f[0]),y:Math.max.apply(0,f[1])}}},f=function(t,n,r,e,o,a,u,i){if(!(Math.max(t,r)Math.max(o,u)||Math.max(n,e)Math.max(a,i))){var c=(t*e-n*r)*(o-u)-(t-r)*(o*i-a*u),f=(t*e-n*r)*(a-i)-(n-e)*(o*i-a*u),s=(t-r)*(a-i)-(n-e)*(o-u);if(s){var l=c/s,h=f/s,p=+l.toFixed(2),v=+h.toFixed(2);if(!(p<+Math.min(t,r).toFixed(2)||p>+Math.max(t,r).toFixed(2)||p<+Math.min(o,u).toFixed(2)||p>+Math.max(o,u).toFixed(2)||v<+Math.min(n,e).toFixed(2)||v>+Math.max(n,e).toFixed(2)||v<+Math.min(a,i).toFixed(2)||v>+Math.max(a,i).toFixed(2)))return{x:l,y:h}}}},s=function(t,n,r){return n>=t.x&&n<=t.x+t.width&&r>=t.y&&r<=t.y+t.height},l=function(t,n,r,e){return null===t&&(t=n=r=e=0),null===n&&(n=t.y,r=t.width,e=t.height,t=t.x),{x:t,y:n,width:r,w:r,height:e,h:e,x2:t+r,y2:n+e,cx:t+r/2,cy:n+e/2,r1:Math.min(r,e)/2,r2:Math.max(r,e)/2,r0:Math.sqrt(r*r+e*e)/2,path:o(t,n,r,e),vb:[t,n,r,e].join(" ")}},h=function(t,n){return t=l(t),n=l(n),s(n,t.x,t.y)||s(n,t.x2,t.y)||s(n,t.x,t.y2)||s(n,t.x2,t.y2)||s(t,n.x,n.y)||s(t,n.x2,n.y)||s(t,n.x,n.y2)||s(t,n.x2,n.y2)||(t.xn.x||n.xt.x)&&(t.yn.y||n.yt.y)},p=function(t,n,r,o,a,u,i,f){e(t)||(t=[t,n,r,o,a,u,i,f]);var s=c.apply(null,t);return l(s.min.x,s.min.y,s.max.x-s.min.x,s.max.y-s.min.y)},v=function(t,n,r,e,o,a,u,i,c){var f=1-c,s=Math.pow(f,3),l=Math.pow(f,2),h=c*c,p=h*c,v=t+2*c*(r-t)+h*(o-2*r+t),x=n+2*c*(e-n)+h*(a-2*e+n),y=r+2*c*(o-r)+h*(u-2*o+r),d=e+2*c*(a-e)+h*(i-2*a+e);return{x:s*t+3*l*c*r+3*f*c*c*o+p*u,y:s*n+3*l*c*e+3*f*c*c*a+p*i,m:{x:v,y:x},n:{x:y,y:d},start:{x:f*t+c*r,y:f*n+c*e},end:{x:f*o+c*u,y:f*a+c*i},alpha:90-180*Math.atan2(v-y,x-d)/Math.PI}},x=function(t,n,r){var e=p(t),o=p(n);if(!h(e,o))return r?0:[];for(var a=~~(i.apply(0,t)/8),u=~~(i.apply(0,n)/8),c=[],s=[],l={},x=r?0:[],y=0;y=0&&R<=1&&k>=0&&k<=1&&(r?x++:x.push({x:q.x,y:q.y,t1:R,t2:k}))}}return x},y=function(t,n,r){t=a(t),n=a(n);for(var e=void 0,o=void 0,u=void 0,i=void 0,c=void 0,f=void 0,s=void 0,l=void 0,h=void 0,p=void 0,v=r?0:[],y=0,d=t.length;y=3&&(3===t.length&&n.push("Q"),n=n.concat(t[1])),2===t.length&&n.push("L"),n=n.concat(t[t.length-1])})}function o(t,n,r){if(1===r)return[[].concat(t)];var o=[];if("L"===n[0]||"C"===n[0]||"Q"===n[0])o=o.concat(e(t,n,r));else{var a=[].concat(t);"M"===a[0]&&(a[0]="L");for(var u=0;u<=r-1;u++)o.push(a)}return o}t.exports=function(t,n){if(1===t.length)return t;var r=t.length-1,e=n.length-1,a=r/e,u=[];if(1===t.length&&"M"===t[0][0]){for(var i=0;i=0;h--)i=u[h].index,"add"===u[h].type?t.splice(i,0,[].concat(t[i])):t.splice(i,1)}if((e=t.length)0)){t[a]=n[a];break}o=e(o,t[a-1],1)}t[a]=["Q"].concat(o.reduce(function(t,n){return t.concat(n)},[]));break;case"T":t[a]=["T"].concat(o[0]);break;case"C":if(o.length<3){if(!(a>0)){t[a]=n[a];break}o=e(o,t[a-1],2)}t[a]=["C"].concat(o.reduce(function(t,n){return t.concat(n)},[]));break;case"S":if(o.length<2){if(!(a>0)){t[a]=n[a];break}o=e(o,t[a-1],1)}t[a]=["S"].concat(o.reduce(function(t,n){return t.concat(n)},[]));break;default:t[a]=n[a]}return t}},function(t,n,r){var e={lc:r(106),lowerCase:r(33),lowerFirst:r(107),substitute:r(108),uc:r(109),upperCase:r(34),upperFirst:r(110)};t.exports=e},function(t,n,r){t.exports=r(33)},function(t,n,r){var e=r(8);t.exports=function(t){var n=e(t);return n.charAt(0).toLowerCase()+n.substring(1)}},function(t,n){t.exports=function(t,n){return t&&n?t.replace(/\\?\{([^{}]+)\}/g,function(t,r){return"\\"===t.charAt(0)?t.slice(1):void 0===n[r]?"":n[r]}):t}},function(t,n,r){t.exports=r(34)},function(t,n,r){var e=r(8);t.exports=function(t){var n=e(t);return n.charAt(0).toUpperCase()+n.substring(1)}},function(t,n,r){var e=r(4),o={getType:r(35),isArray:r(1),isArrayLike:r(3),isBoolean:r(112),isFunction:r(2),isNil:r(5),isNull:r(113),isNumber:r(6),isObject:r(16),isObjectLike:r(13),isPlainObject:r(7),isPrototype:r(36),isType:e,isUndefined:r(114),isString:r(10),isRegExp:r(115)};["Arguments","Date","Error"].forEach(function(t){o["is"+t]=function(n){return e(n,t)}}),t.exports=o},function(t,n,r){var e=r(4);t.exports=function(t){return e(t,"Boolean")}},function(t,n){t.exports=function(t){return null===t}},function(t,n){t.exports=function(t){return void 0===t}},function(t,n,r){var e=r(4);t.exports=function(t){return e(t,"RegExp")}},function(t,n,r){var e=r(2),o=r(14),a=r(11);t.exports=function(t){for(var n=o(arguments),r=1;r