@galacean/effects-threejs 2.0.0-alpha.5 → 2.0.0-alpha.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.min.js CHANGED
@@ -1,21 +1,13 @@
1
- /*!
1
+ !/*!
2
2
  * Name: @galacean/effects-threejs
3
3
  * Description: Galacean Effects runtime threejs plugin for the web
4
4
  * Author: Ant Group CO., Ltd.
5
5
  * Contributors: 燃然,飂兮,十弦,云垣,茂安,意绮
6
- * Version: v2.0.0-alpha.5
7
- */
8
- !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("three")):"function"==typeof define&&define.amd?define(["exports","three"],e):e(((t="undefined"!=typeof globalThis?globalThis:t||self).ge=t.ge||{},t.ge.three={}),t.THREE)}(this,(function(t,e){"use strict";function r(t){if(t&&t.__esModule)return t;var e=Object.create(null);return t&&Object.keys(t).forEach((function(r){if("default"!==r){var i=Object.getOwnPropertyDescriptor(t,r);Object.defineProperty(e,r,i.get?i:{enumerable:!0,get:function(){return t[r]}})}})),e.default=t,Object.freeze(e)}var i=r(e),n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)};function o(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}var a=function(){return a=Object.assign||function(t){for(var e,r=1,i=arguments.length;r<i;r++)for(var n in e=arguments[r])Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t},a.apply(this,arguments)};function s(t,e,r,i){var n,o=arguments.length,a=o<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,r,i);else for(var s=t.length-1;s>=0;s--)(n=t[s])&&(a=(o<3?n(a):o>3?n(e,r,a):n(e,r))||a);return o>3&&a&&Object.defineProperty(e,r,a),a}function u(t,e,r,i){return new(r||(r=Promise))((function(n,o){function a(t){try{u(i.next(t))}catch(t){o(t)}}function s(t){try{u(i.throw(t))}catch(t){o(t)}}function u(t){t.done?n(t.value):function(t){return t instanceof r?t:new r((function(e){e(t)}))}(t.value).then(a,s)}u((i=i.apply(t,e||[])).next())}))}function c(t,e){var r,i,n,o,a={label:0,sent:function(){if(1&n[0])throw n[1];return n[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(s){return function(u){return function(s){if(r)throw new TypeError("Generator is already executing.");for(;o&&(o=0,s[0]&&(a=0)),a;)try{if(r=1,i&&(n=2&s[0]?i.return:s[0]?i.throw||((n=i.return)&&n.call(i),0):i.next)&&!(n=n.call(i,s[1])).done)return n;switch(i=0,n&&(s=[2&s[0],n.value]),s[0]){case 0:case 1:n=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,i=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!(n=a.trys,(n=n.length>0&&n[n.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!n||s[1]>n[0]&&s[1]<n[3])){a.label=s[1];break}if(6===s[0]&&a.label<n[1]){a.label=n[1],n=s;break}if(n&&a.label<n[2]){a.label=n[2],a.ops.push(s);break}n[2]&&a.ops.pop(),a.trys.pop();continue}s=e.call(t,a)}catch(t){s=[6,t],i=0}finally{r=n=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,u])}}}function l(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],i=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&i>=t.length&&(t=void 0),{value:t&&t[i++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function h(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var i,n,o=r.call(t),a=[];try{for(;(void 0===e||e-- >0)&&!(i=o.next()).done;)a.push(i.value)}catch(t){n={error:t}}finally{try{i&&!i.done&&(r=o.return)&&r.call(o)}finally{if(n)throw n.error}}return a}function f(t,e,r){if(r||2===arguments.length)for(var i,n=0,o=e.length;n<o;n++)!i&&n in e||(i||(i=Array.prototype.slice.call(e,0,n)),i[n]=e[n]);return t.concat(i||Array.prototype.slice.call(e))}let p;"function"==typeof SuppressedError&&SuppressedError;const d=new Uint8Array(16);function m(){if(!p&&(p="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!p))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return p(d)}const y=[];for(let t=0;t<256;++t)y.push((t+256).toString(16).slice(1));var v,x={randomUUID:"undefined"!=typeof crypto&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)};function g(t,e,r){if(x.randomUUID&&!e&&!t)return x.randomUUID();const i=(t=t||{}).random||(t.rng||m)();if(i[6]=15&i[6]|64,i[8]=63&i[8]|128,e){r=r||0;for(let t=0;t<16;++t)e[r+t]=i[t];return e}return function(t,e=0){return y[t[e+0]]+y[t[e+1]]+y[t[e+2]]+y[t[e+3]]+"-"+y[t[e+4]]+y[t[e+5]]+"-"+y[t[e+6]]+y[t[e+7]]+"-"+y[t[e+8]]+y[t[e+9]]+"-"+y[t[e+10]]+y[t[e+11]]+y[t[e+12]]+y[t[e+13]]+y[t[e+14]]+y[t[e+15]]}(i)}function T(t,e){return t.includes(e)||t.push(e),t}function E(t,e){var r=t.indexOf(e);return r>-1&&t.splice(r,1),t}function b(t,e,r,i){if(void 0===r&&(r=1),t.buffer.byteLength<t.BYTES_PER_ELEMENT*e){var n=Math.ceil(e*r);isNaN(i)||(n=Math.min(n,i));var o=new ArrayBuffer(t.BYTES_PER_ELEMENT*n),a=new t.constructor(o);return a.set(t),a}return t}function C(t,e){var r=[0,0,0,0];if(ft(t)){t=t.replace(/[\s\t\r\n]/g,"");var i=/rgba?\(([.\d]+),([.\d]+),([.\d]+),?([.\d]+)?\)/.exec(t);if(i){var n=+i[4];r=[+i[1],+i[2],+i[3],isNaN(n)?255:255*n]}else/^#[a-f\d]{3}$/i.test(t)?r=[parseInt(t[1]+t[1],16),parseInt(t[2]+t[2],16),parseInt(t[3]+t[3],16),255]:(i=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t))&&(r=[parseInt(i[1],16),parseInt(i[2],16),parseInt(i[3],16),255]||[0,0,0,255])}else t instanceof Array&&(r=[t[0],t[1],t[2],isNaN(t[3])?255:t[3]]);if(e)for(var o=0;o<4;o++)r[o]/=255;return r}function _(t,e,r){if(t.length){for(var i=void 0,n=1;n<=t.length-1;n++){var o=t[n-1],a=t[n];if(o.stop<=e&&e<=a.stop){i=O(o.color,a.color,(e-o.stop)/(a.stop-o.stop));break}}return i||(i=t[t.length-1].color),r?i.map((function(t){return t/255})):i}return[0,0,0,0]}function S(t){var e=[];if(t instanceof Array?t.forEach((function(t){var r=h(t,5),i=r[0],n=r[1],o=r[2],a=r[3],s=r[4];e.push({stop:w(i),color:[n,o,a,s]})})):Object.keys(t).forEach((function(r){var i=C(t[r]);e.push({stop:w(r),color:i})})),(e=e.sort((function(t,e){return t.stop-e.stop}))).length){0!==e[0].stop&&e.unshift({stop:0,color:e[0].color.slice()});var r=e[e.length-1];1!==r.stop&&e.push({stop:1,color:r.color.slice()})}return e}function O(t,e,r,i){var n=[],o=1-r;if(i)for(var a=0;a<4;a++)n[a]=t[a]*o+e[a]*r;else{for(a=0;a<3;a++)n[a]=Math.round(Math.sqrt(t[a]*t[a]*o+e[a]*e[a]*r));n[3]=Math.round(t[3]*o+e[3]*r)}return n}function w(t){var e=/^(-)?([\d+.]+)%$/.exec(t);return e?+e[2]/100*(e[1]?-1:1):+t}function A(){return/\b[Aa]ndroid\b/.test(navigator.userAgent)}function R(){return A()||/\b(iPad|iPhone|iPod)\b/.test(navigator.userAgent)}function L(t){var e=128,r={width:e,height:1,data:new Uint8Array(512)},i=r.data,n=S(t);if(n.length){i.set(n[0].color,0);for(var o=1;o<127;o++){for(var a=o/e,s=void 0,u=void 0,c=0;c<n.length&&(s=n[c],u=n[c+1],!(s.stop<=a&&u.stop>a));c++);var l=O(s.color,u.color,(a-s.stop)/(u.stop-s.stop));i.set(l,4*o)}i.set(n[n.length-1].color,508)}return r}function I(e,r){void 0===r&&(r=t.OrderType.ascending);var i=e.length;if(i<=1||r===t.OrderType.none)return e;if(i<=30){for(var n=1;n<i;n++)P(e,n,r);return e}return V(e,r)}function M(e,r,i){return void 0===i&&(i=t.OrderType.ascending),e.includes(r)?e:(e.push(r),1===e.length||i!==t.OrderType.none&&P(e,e.length-1,i),e)}function P(e,r,i){var n=e[r];if(i!==t.OrderType.ascending)for(;r>=1&&e[r-1].priority<n.priority&&(e[r]=e[r-1],0!=--r););else for(;r>=1&&e[r-1].priority>n.priority&&(e[r]=e[r-1],0!=--r););e[r]=n}function V(e,r,i,n){var o,a;if(void 0===i&&(i=0),void 0===n&&(n=e.length-1),i>=n)return e;for(var s=e[i],u=i,c=n;u<c;){if(r===t.OrderType.ascending){for(;e[c].priority>s.priority&&c>=u;)c--;for(;e[u].priority<=s.priority&&u<c;)u++}else{for(;e[c].priority<s.priority&&c>=u;)c--;for(;e[u].priority>=s.priority&&u<c;)u++}o=h([e[c],e[u]],2),e[u]=o[0],e[c]=o[1]}return a=h([e[u],e[i]],2),e[i]=a[0],e[u]=a[1],V(e,r,i,u-1),V(e,r,c+1,n),e}function F(t,e){if(void 0===e&&(e="item doesn't exist"),null==t)throw new Error(e)}t.OrderType=void 0,(v=t.OrderType||(t.OrderType={}))[v.none=1]="none",v[v.ascending=2]="ascending",v[v.descending=3]="descending";var N=2*Math.PI,D=Math.PI/180,z=180/Math.PI,U=1e-6;function k(t,e){return Math.abs(t-e)<U||t===1/0&&e===1/0||t===-1/0&&e===-1/0}var B=function(t,e,r){return(1-r)*t+r*e};function G(t,e,r){var i=isNaN(e)?-1/0:e,n=isNaN(r)?1/0:r,o=Math.min(i,n),a=Math.max(i,n);return Math.min(Math.max(t,o),a)}var X,j=function(){function t(t,e){void 0===t&&(t=0),void 0===e&&(e=0),this.x=t,this.y=e}return t.prototype.set=function(t,e){return this.x=t,this.y=e,this},t.prototype.setZero=function(){return this.x=0,this.y=0,this},t.prototype.setFromNumber=function(t){return this.x=t,this.y=t,this},t.prototype.setFromArray=function(t,e){var r,i;return void 0===e&&(e=0),this.x=null!==(r=t[e])&&void 0!==r?r:0,this.y=null!==(i=t[e+1])&&void 0!==i?i:0,this},t.prototype.copyFrom=function(t){return this.x=t.x,this.y=t.y,this},t.prototype.clone=function(){return new t(this.x,this.y)},t.prototype.setElement=function(t,e){switch(t){case 0:this.x=e;break;case 1:this.y=e;break;default:console.error("index is out of range: "+t)}return this},t.prototype.getElement=function(t){switch(t){case 0:return this.x;case 1:return this.y;default:console.error("index is out of range: "+t)}return 0},t.prototype.add=function(t){return"number"==typeof t?(this.x+=t,this.y+=t):t instanceof Array?(this.x+=t[0],this.y+=t[1]):(this.x+=t.x,this.y+=t.y),this},t.prototype.addVectors=function(t,e){return this.x=t.x+e.x,this.y=t.y+e.y,this},t.prototype.subtract=function(t){return"number"==typeof t?(this.x-=t,this.y-=t):t instanceof Array?(this.x-=t[0],this.y-=t[1]):(this.x-=t.x,this.y-=t.y),this},t.prototype.subtractVectors=function(t,e){return this.x=t.x-e.x,this.y=t.y-e.y,this},t.prototype.multiply=function(t){return"number"==typeof t?(this.x*=t,this.y*=t):t instanceof Array?(this.x*=t[0],this.y*=t[1]):(this.x*=t.x,this.y*=t.y),this},t.prototype.multiplyVectors=function(t,e){return this.x=t.x*e.x,this.y=t.y*e.y,this},t.prototype.divide=function(t){return"number"==typeof t?(this.x/=t,this.y/=t):t instanceof Array?(this.x/=t[0],this.y/=t[1]):(this.x/=t.x,this.y/=t.y),this},t.prototype.scale=function(t){return this.x*=t,this.y*=t,this},t.prototype.sum=function(){return this.x+this.y},t.prototype.min=function(t){return"number"==typeof t?(this.x=Math.min(this.x,t),this.y=Math.min(this.y,t)):(this.x=Math.min(this.x,t.x),this.y=Math.min(this.y,t.y)),this},t.prototype.max=function(t){return"number"==typeof t?(this.x=Math.max(this.x,t),this.y=Math.max(this.y,t)):(this.x=Math.max(this.x,t.x),this.y=Math.max(this.y,t.y)),this},t.prototype.clamp=function(t,e){return this.max(t).min(e)},t.prototype.floor=function(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this},t.prototype.ceil=function(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this},t.prototype.round=function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this},t.prototype.abs=function(){return this.x=Math.abs(this.x),this.y=Math.abs(this.y),this},t.prototype.negate=function(){return this.x=-this.x,this.y=-this.y,this},t.prototype.length=function(){return Math.sqrt(this.x*this.x+this.y*this.y)},t.prototype.lengthSquared=function(){return this.x*this.x+this.y*this.y},t.prototype.normalize=function(){return this.divide(this.length()||1)},t.prototype.setLength=function(t){return this.normalize().multiply(t)},t.prototype.lerp=function(t,e){return this.x+=(t.x-this.x)*e,this.y+=(t.y-this.y)*e,this},t.prototype.lerpVectors=function(t,e,r){return this.x=t.x+(e.x-t.x)*r,this.y=t.y+(e.y-t.y)*r,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.distance=function(t){var e=this.x-t.x,r=this.y-t.y;return Math.sqrt(e*e+r*r)},t.prototype.distanceSquared=function(t){var e=this.x-t.x,r=this.y-t.y;return e*e+r*r},t.prototype.equals=function(t){return this.x===t.x&&this.y===t.y},t.prototype.isZero=function(){var t=U,e=(this,this.x),r=this.y;return Math.abs(e)<=t&&Math.abs(r)<=t},t.prototype.toArray=function(){return[this.x,this.y]},t.prototype.fill=function(t,e){void 0===e&&(e=0),t[e]=this.x,t[e+1]=this.y},t.prototype.random=function(){return this.x=Math.random(),this.y=Math.random(),this},t.fromNumber=function(e){return(new t).setFromNumber(e)},t.fromArray=function(e,r){return void 0===r&&(r=0),(new t).setFromArray(e,r)},t.ONE=new t(1,1),t.ZERO=new t(0,0),t}(),H=function(){function t(t,e,r){void 0===t&&(t=0),void 0===e&&(e=0),void 0===r&&(r=0),this.x=t,this.y=e,this.z=r}return t.prototype.set=function(t,e,r){return this.x=t,this.y=e,this.z=r,this},t.prototype.setZero=function(){return this.x=0,this.y=0,this.z=0,this},t.prototype.setFromNumber=function(t){return this.x=t,this.y=t,this.z=t,this},t.prototype.setFromArray=function(t,e){var r,i,n;return void 0===e&&(e=0),this.x=null!==(r=t[e])&&void 0!==r?r:0,this.y=null!==(i=t[e+1])&&void 0!==i?i:0,this.z=null!==(n=t[e+2])&&void 0!==n?n:0,this},t.prototype.copyFrom=function(t){return this.x=t.x,this.y=t.y,this.z=t.z,this},t.prototype.clone=function(){return new t(this.x,this.y,this.z)},t.prototype.setElement=function(t,e){switch(t){case 0:this.x=e;break;case 1:this.y=e;break;case 2:this.z=e;break;default:console.error("index is out of range: "+t)}return this},t.prototype.getElement=function(t){switch(t){case 0:return this.x;case 1:return this.y;case 2:return this.z;default:console.error("index is out of range: "+t)}return 0},t.prototype.add=function(t){return"number"==typeof t?(this.x+=t,this.y+=t,this.z+=t):t instanceof Array?(this.x+=t[0],this.y+=t[1],this.z+=t[2]):(this.x+=t.x,this.y+=t.y,this.z+=t.z),this},t.prototype.addVectors=function(t,e){return this.x=t.x+e.x,this.y=t.y+e.y,this.z=t.z+e.z,this},t.prototype.addScaledVector=function(t,e){return this.x+=t.x*e,this.y+=t.y*e,this.z+=t.z*e,this},t.prototype.subtract=function(t){return"number"==typeof t?(this.x-=t,this.y-=t,this.z-=t):t instanceof Array?(this.x-=t[0],this.y-=t[1],this.z-=t[2]):(this.x-=t.x,this.y-=t.y,this.z-=t.z),this},t.prototype.subtractVectors=function(t,e){return this.x=t.x-e.x,this.y=t.y-e.y,this.z=t.z-e.z,this},t.prototype.multiply=function(t){return"number"==typeof t?(this.x*=t,this.y*=t,this.z*=t):t instanceof Array?(this.x*=t[0],this.y*=t[1],this.z*=t[2]):(this.x*=t.x,this.y*=t.y,this.z*=t.z),this},t.prototype.multiplyVectors=function(t,e){return this.x=t.x*e.x,this.y=t.y*e.y,this.z=t.z*e.z,this},t.prototype.divide=function(t){return"number"==typeof t?(this.x/=t,this.y/=t,this.z/=t):t instanceof Array?(this.x/=t[0],this.y/=t[1],this.z/=t[2]):(this.x/=t.x,this.y/=t.y,this.z/=t.z),this},t.prototype.scale=function(t){return this.x*=t,this.y*=t,this.z*=t,this},t.prototype.sum=function(){return this.x+this.y+this.z},t.prototype.min=function(t){return"number"==typeof t?(this.x=Math.min(this.x,t),this.y=Math.min(this.y,t),this.z=Math.min(this.z,t)):(this.x=Math.min(this.x,t.x),this.y=Math.min(this.y,t.y),this.z=Math.min(this.z,t.z)),this},t.prototype.max=function(t){return"number"==typeof t?(this.x=Math.max(this.x,t),this.y=Math.max(this.y,t),this.z=Math.max(this.z,t)):(this.x=Math.max(this.x,t.x),this.y=Math.max(this.y,t.y),this.z=Math.max(this.z,t.z)),this},t.prototype.clamp=function(t,e){return this.max(t).min(e)},t.prototype.floor=function(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this},t.prototype.ceil=function(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this},t.prototype.round=function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this},t.prototype.abs=function(){return this.x=Math.abs(this.x),this.y=Math.abs(this.y),this.z=Math.abs(this.z),this},t.prototype.negate=function(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this},t.prototype.length=function(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)},t.prototype.lengthSquared=function(){return this.x*this.x+this.y*this.y+this.z*this.z},t.prototype.normalize=function(){return this.divide(this.length()||1)},t.prototype.setLength=function(t){return this.normalize().multiply(t)},t.prototype.lerp=function(t,e){return this.x+=(t.x-this.x)*e,this.y+=(t.y-this.y)*e,this.z+=(t.z-this.z)*e,this},t.prototype.lerpVectors=function(t,e,r){return this.x=t.x+(e.x-t.x)*r,this.y=t.y+(e.y-t.y)*r,this.z=t.z+(e.z-t.z)*r,this},t.prototype.dot=function(t){return this.x*t.x+this.y*t.y+this.z*t.z},t.prototype.cross=function(t){return this.crossVectors(this,t)},t.prototype.crossVectors=function(t,e){var r=t.x,i=t.y,n=t.z,o=e.x,a=e.y,s=e.z;return this.x=i*s-n*a,this.y=n*o-r*s,this.z=r*a-i*o,this},t.prototype.reflect=function(t){return this.subtract(t.clone().multiply(2*this.dot(t)))},t.prototype.distance=function(t){return Math.sqrt(this.distanceSquared(t))},t.prototype.distanceSquared=function(t){var e=this.x-t.x,r=this.y-t.y,i=this.z-t.z;return e*e+r*r+i*i},t.prototype.equals=function(t){return t.x===this.x&&t.y===this.y&&t.z===this.z},t.prototype.isZero=function(){var t,e=U,r=(t=this).x,i=t.y,n=t.z;return Math.abs(r)<=e&&Math.abs(i)<=e&&Math.abs(n)<=e},t.prototype.toArray=function(){return[this.x,this.y,this.z]},t.prototype.toVector2=function(){return new j(this.x,this.y)},t.prototype.fill=function(t,e){void 0===e&&(e=0),t[e]=this.x,t[e+1]=this.y,t[e+2]=this.z},t.prototype.random=function(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this},t.prototype.applyEuler=function(t,e){return t.rotateVector3(this,e)},t.prototype.applyQuaternion=function(t,e){return t.rotateVector3(this,e)},t.prototype.applyMatrix=function(t,e){return t.transformPoint(this,e)},t.prototype.applyNormalMatrix=function(t,e){return t.transformNormal(this,e)},t.prototype.applyProjectionMatrix=function(t,e){return t.projectPoint(this,e)},t.fromNumber=function(e){return(new t).setFromNumber(e)},t.fromArray=function(e,r){return void 0===r&&(r=0),(new t).setFromArray(e,r)},t.X=new t(1,0,0),t.Y=new t(0,1,0),t.Z=new t(0,0,1),t.ONE=new t(1,1,1),t.ZERO=new t(0,0,0),t}(),Y=function(){function t(t,e,r,i){void 0===t&&(t=0),void 0===e&&(e=0),void 0===r&&(r=0),void 0===i&&(i=1),this.x=t,this.y=e,this.z=r,this.w=i}return t.prototype.set=function(t,e,r,i){return this.x=t,this.y=e,this.z=r,this.w=i,this},t.prototype.setFromEuler=function(t){return t.toQuaternion(this),this},t.prototype.setFromAxisAngle=function(e,r){var i=r/2,n=Math.sin(i),o=t.tempVec0;return o.copyFrom(e).normalize(),this.x=o.x*n,this.y=o.y*n,this.z=o.z*n,this.w=Math.cos(i),this},t.prototype.setFromArray=function(t,e){return void 0===e&&(e=0),this.x=t[e],this.y=t[e+1],this.z=t[e+2],this.w=t[e+3],this},t.prototype.setFromRotationMatrix=function(t){var e=t.elements,r=e[0],i=e[4],n=e[8],o=e[1],a=e[5],s=e[9],u=e[2],c=e[6],l=e[10],h=r+a+l;if(h>0){var f=.5/Math.sqrt(h+1);this.w=.25/f,this.x=(c-s)*f,this.y=(n-u)*f,this.z=(o-i)*f}else if(r>a&&r>l){f=2*Math.sqrt(1+r-a-l);this.w=(c-s)/f,this.x=.25*f,this.y=(i+o)/f,this.z=(n+u)/f,this.negate()}else if(a>l){f=2*Math.sqrt(1+a-r-l);this.w=(n-u)/f,this.x=(i+o)/f,this.y=.25*f,this.z=(s+c)/f,this.negate()}else{f=2*Math.sqrt(1+l-r-a);this.w=(o-i)/f,this.x=(n+u)/f,this.y=(s+c)/f,this.z=.25*f,this.negate()}return this},t.prototype.setFromUnitVectors=function(t,e){var r=t.dot(e)+1;return r<Number.EPSILON?(r=0,Math.abs(t.x)>Math.abs(t.z)?(this.x=-t.y,this.y=t.x,this.z=0,this.w=r):(this.x=0,this.y=-t.z,this.z=t.y,this.w=r)):(this.x=t.y*e.z-t.z*e.y,this.y=t.z*e.x-t.x*e.z,this.z=t.x*e.y-t.y*e.x,this.w=r),this.normalize()},t.prototype.copyFrom=function(t){return this.x=t.x,this.y=t.y,this.z=t.z,this.w=t.w,this},t.prototype.clone=function(){return new t(this.x,this.y,this.z,this.w)},t.prototype.angleTo=function(t){return 2*Math.acos(Math.abs(G(this.dot(t),-1,1)))},t.prototype.rotateTowards=function(t,e){var r=this.angleTo(t);if(0===r)return this;var i=Math.min(1,e/r);return this.slerp(t,i),this},t.prototype.identity=function(){return this.set(0,0,0,1)},t.prototype.invert=function(){return this.conjugate()},t.prototype.negate=function(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this.w=-this.w,this},t.prototype.conjugate=function(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this},t.prototype.dot=function(t){return this.x*t.x+this.y*t.y+this.z*t.z+this.w*t.w},t.prototype.lengthSquared=function(){return this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w},t.prototype.length=function(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w)},t.prototype.normalize=function(){var t=this.length();return 0===t?(this.x=0,this.y=0,this.z=0,this.w=1):(t=1/t,this.x=this.x*t,this.y=this.y*t,this.z=this.z*t,this.w=this.w*t),this},t.prototype.multiply=function(t){return this.multiplyQuaternions(this,t)},t.prototype.premultiply=function(t){return this.multiplyQuaternions(t,this)},t.prototype.multiplyQuaternions=function(t,e){var r=t.x,i=t.y,n=t.z,o=t.w,a=e.x,s=e.y,u=e.z,c=e.w;return this.x=r*c+o*a+i*u-n*s,this.y=i*c+o*s+n*a-r*u,this.z=n*c+o*u+r*s-i*a,this.w=o*c-r*a-i*s-n*u,this},t.prototype.slerp=function(t,e){var r;if(0===e)return this;if(1===e)return this.copyFrom(t);var i=(r=this).x,n=r.y,o=r.z,a=r.w,s=a*t.w+i*t.x+n*t.y+o*t.z;if(s<0?(this.w=-t.w,this.x=-t.x,this.y=-t.y,this.z=-t.z,s=-s):this.copyFrom(t),s>=1)return this.w=a,this.x=i,this.y=n,this.z=o,this;var u=1-s*s;if(u<=Number.EPSILON){var c=1-e;return this.w=c*a+e*this.w,this.x=c*i+e*this.x,this.y=c*n+e*this.y,this.z=c*o+e*this.z,this.normalize(),this}var l=Math.sqrt(u),h=Math.atan2(l,s),f=Math.sin((1-e)*h)/l,p=Math.sin(e*h)/l;return this.w=a*f+this.w*p,this.x=i*f+this.x*p,this.y=n*f+this.y*p,this.z=o*f+this.z*p,this},t.prototype.slerpQuaternions=function(t,e,r){this.copyFrom(t).slerp(e,r)},t.prototype.rotateVector3=function(t,e){var r,i=(r=this).x,n=r.y,o=r.z,a=r.w,s=t.x,u=t.y,c=t.z,l=a*s+n*c-o*u,h=a*u+o*s-i*c,f=a*c+i*u-n*s,p=-i*s-n*u-o*c,d=null!=e?e:t;return d.x=l*a+p*-i+h*-o-f*-n,d.y=h*a+p*-n+f*-i-l*-o,d.z=f*a+p*-o+l*-n-h*-i,d},t.prototype.equals=function(t){return t.x===this.x&&t.y===this.y&&t.z===this.z&&t.w===this.w},t.prototype.toArray=function(){return[this.x,this.y,this.z,this.w]},t.prototype.toVector4=function(t){return t.set(this.x,this.y,this.z,this.w)},t.prototype.toEuler=function(t){return t.setFromQuaternion(this)},t.prototype.toMatrix4=function(t){return t.compose(H.ZERO,this,H.ONE)},t.fromEuler=function(e){return(new t).setFromEuler(e)},t.fromAxisAngle=function(e,r){return(new t).setFromAxisAngle(e,r)},t.fromArray=function(e,r){return void 0===r&&(r=0),(new t).setFromArray(e,r)},t.fromRotationMatrix=function(e){return(new t).setFromRotationMatrix(e)},t.fromUnitVectors=function(e,r){return(new t).setFromUnitVectors(e,r)},t.tempVec0=new H,t}(),W=function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var i,n,o=r.call(t),a=[];try{for(;(void 0===e||e-- >0)&&!(i=o.next()).done;)a.push(i.value)}catch(t){n={error:t}}finally{try{i&&!i.done&&(r=o.return)&&r.call(o)}finally{if(n)throw n.error}}return a},Z=function(t,e,r){if(r||2===arguments.length)for(var i,n=0,o=e.length;n<o;n++)!i&&n in e||(i||(i=Array.prototype.slice.call(e,0,n)),i[n]=e[n]);return t.concat(i||Array.prototype.slice.call(e))},q=function(){function t(t,e,r,i,n,o,a,s,u,c,l,h,f,p,d,m){void 0===t&&(t=1),void 0===e&&(e=0),void 0===r&&(r=0),void 0===i&&(i=0),void 0===n&&(n=0),void 0===o&&(o=1),void 0===a&&(a=0),void 0===s&&(s=0),void 0===u&&(u=0),void 0===c&&(c=0),void 0===l&&(l=1),void 0===h&&(h=0),void 0===f&&(f=0),void 0===p&&(p=0),void 0===d&&(d=0),void 0===m&&(m=1),this.elements=[t,e,r,i,n,o,a,s,u,c,l,h,f,p,d,m]}return t.prototype.set=function(t,e,r,i,n,o,a,s,u,c,l,h,f,p,d,m){var y=this.elements;return y[0]=t,y[1]=e,y[2]=r,y[3]=i,y[4]=n,y[5]=o,y[6]=a,y[7]=s,y[8]=u,y[9]=c,y[10]=l,y[11]=h,y[12]=f,y[13]=p,y[14]=d,y[15]=m,this},t.prototype.setFromRowMajorData=function(t,e,r,i,n,o,a,s,u,c,l,h,f,p,d,m){var y=this.elements;return y[0]=t,y[4]=e,y[8]=r,y[12]=i,y[1]=n,y[5]=o,y[9]=a,y[13]=s,y[2]=u,y[6]=c,y[10]=l,y[14]=h,y[3]=f,y[7]=p,y[11]=d,y[15]=m,this},t.prototype.setFromColumnVectors=function(t,e,r,i){return this.set(t.x,t.y,t.z,t.w,e.x,e.y,e.z,e.w,r.x,r.y,r.z,r.w,i.x,i.y,i.z,i.w)},t.prototype.setFromMatrix3=function(t){var e=t.elements;return this.set(e[0],e[1],e[2],0,e[3],e[4],e[5],0,e[6],e[7],e[8],0,0,0,0,1),this},t.prototype.setFromArray=function(t,e){void 0===e&&(e=0);for(var r=0;r<16;r++)this.elements[r]=t[e+r];return this},t.prototype.setFromScale=function(t,e,r){return this.set(t,0,0,0,0,e,0,0,0,0,r,0,0,0,0,1)},t.prototype.setFromTranslation=function(t,e,r){return this.set(1,0,0,0,0,1,0,0,0,0,1,0,t,e,r,1)},t.prototype.setFromRotationX=function(t){var e=Math.cos(t),r=Math.sin(t);return this.set(1,0,0,0,0,e,r,0,0,-r,e,0,0,0,0,1)},t.prototype.setFromRotationY=function(t){var e=Math.cos(t),r=Math.sin(t);return this.set(e,0,-r,0,0,1,0,0,r,0,e,0,0,0,0,1)},t.prototype.setFromRotationZ=function(t){var e=Math.cos(t),r=Math.sin(t);return this.set(e,r,0,0,-r,e,0,0,0,0,1,0,0,0,0,1)},t.prototype.setFromRotationAxis=function(e,r){var i=t.tempVec0;i.copyFrom(e).normalize();var n=Math.cos(r),o=Math.sin(r),a=1-n,s=i.x,u=i.y,c=i.z,l=a*s,h=a*u;return this.set(l*s+n,l*u+o*c,l*c-o*u,0,l*u-o*c,h*u+n,h*c+o*s,0,l*c+o*u,h*c-o*s,a*c*c+n,0,0,0,0,1)},t.prototype.setFromEuler=function(t){return t.toMatrix4(this),this},t.prototype.setFromQuaternion=function(t){return this.compose(H.ZERO,t,H.ONE)},t.prototype.setFromShear=function(t,e,r){return this.set(1,t,t,0,e,1,e,0,r,r,1,0,0,0,0,1)},t.prototype.setFromBasis=function(t,e,r){return this.set(t.x,t.y,t.z,0,e.x,e.y,e.z,0,r.x,r.y,r.z,0,0,0,0,1)},t.prototype.setZero=function(){for(var t=0;t<16;t++)this.elements[t]=0;return this},t.prototype.identity=function(){return this.set(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)},t.prototype.isIdentity=function(){var t=this.elements;return 1===t[0]&&0===t[4]&&0===t[8]&&0===t[12]&&0===t[1]&&1===t[5]&&0===t[9]&&0===t[13]&&0===t[2]&&0===t[6]&&1===t[10]&&0===t[14]&&0===t[3]&&0===t[7]&&0===t[11]&&1===t[15]},t.prototype.clone=function(){var e=this.elements;return new t(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.prototype.copyFrom=function(t){return this.elements=Z([],W(t.elements),!1),this},t.prototype.getColumnVector=function(t,e){return e.set(this.elements[4*t],this.elements[4*t+1],this.elements[4*t+2],this.elements[4*t+3])},t.prototype.lookAt=function(e,r,i){var n=t.tempVec0,o=t.tempVec1,a=t.tempVec2;a.subtractVectors(e,r),a.normalize(),n.crossVectors(i,a),n.normalize(),o.crossVectors(a,n);var s=this.elements;return s[0]=n.x,s[1]=o.x,s[2]=a.x,s[3]=0,s[4]=n.y,s[5]=o.y,s[6]=a.y,s[7]=0,s[8]=n.z,s[9]=o.z,s[10]=a.z,s[11]=0,s[12]=-n.dot(e),s[13]=-o.dot(e),s[14]=-a.dot(e),s[15]=1,this},t.prototype.addScaledMatrix=function(t,e){for(var r=this.elements,i=t.elements,n=0;n<16;n++)r[n]+=i[n]*e;return this},t.prototype.multiply=function(t){if("number"==typeof t){for(var e=0;e<16;e++)this.elements[e]*=t;return this}return this.multiplyMatrices(this,t)},t.prototype.premultiply=function(t){return this.multiplyMatrices(t,this)},t.prototype.multiplyMatrices=function(t,e){var r=t.elements,i=e.elements,n=this.elements,o=r[0],a=r[4],s=r[8],u=r[12],c=r[1],l=r[5],h=r[9],f=r[13],p=r[2],d=r[6],m=r[10],y=r[14],v=r[3],x=r[7],g=r[11],T=r[15],E=i[0],b=i[4],C=i[8],_=i[12],S=i[1],O=i[5],w=i[9],A=i[13],R=i[2],L=i[6],I=i[10],M=i[14],P=i[3],V=i[7],F=i[11],N=i[15];return n[0]=o*E+a*S+s*R+u*P,n[4]=o*b+a*O+s*L+u*V,n[8]=o*C+a*w+s*I+u*F,n[12]=o*_+a*A+s*M+u*N,n[1]=c*E+l*S+h*R+f*P,n[5]=c*b+l*O+h*L+f*V,n[9]=c*C+l*w+h*I+f*F,n[13]=c*_+l*A+h*M+f*N,n[2]=p*E+d*S+m*R+y*P,n[6]=p*b+d*O+m*L+y*V,n[10]=p*C+d*w+m*I+y*F,n[14]=p*_+d*A+m*M+y*N,n[3]=v*E+x*S+g*R+T*P,n[7]=v*b+x*O+g*L+T*V,n[11]=v*C+x*w+g*I+T*F,n[15]=v*_+x*A+g*M+T*N,this},t.prototype.multiplyScalar=function(t){var e=this.elements;return e[0]*=t,e[4]*=t,e[8]*=t,e[12]*=t,e[1]*=t,e[5]*=t,e[9]*=t,e[13]*=t,e[2]*=t,e[6]*=t,e[10]*=t,e[14]*=t,e[3]*=t,e[7]*=t,e[11]*=t,e[15]*=t,this},t.prototype.determinant=function(){var t=this.elements,e=t[0],r=t[4],i=t[8],n=t[12],o=t[1],a=t[5],s=t[9],u=t[13],c=t[2],l=t[6],h=t[10],f=t[14];return t[3]*(+n*s*l-i*u*l-n*a*h+r*u*h+i*a*f-r*s*f)+t[7]*(+e*s*f-e*u*h+n*o*h-i*o*f+i*u*c-n*s*c)+t[11]*(+e*u*l-e*a*f-n*o*l+r*o*f+n*a*c-r*u*c)+t[15]*(-i*a*c-e*s*l+e*a*h+i*o*l-r*o*h+r*s*c)},t.prototype.transpose=function(){var t,e=this.elements;return t=e[1],e[1]=e[4],e[4]=t,t=e[2],e[2]=e[8],e[8]=t,t=e[3],e[3]=e[12],e[12]=t,t=e[6],e[6]=e[9],e[9]=t,t=e[7],e[7]=e[13],e[13]=t,t=e[11],e[11]=e[14],e[14]=t,this},t.prototype.invert=function(){var t=this.elements,e=t[0],r=t[1],i=t[2],n=t[3],o=t[4],a=t[5],s=t[6],u=t[7],c=t[8],l=t[9],h=t[10],f=t[11],p=t[12],d=t[13],m=t[14],y=t[15],v=l*m*u-d*h*u+d*s*f-a*m*f-l*s*y+a*h*y,x=p*h*u-c*m*u-p*s*f+o*m*f+c*s*y-o*h*y,g=c*d*u-p*l*u+p*a*f-o*d*f-c*a*y+o*l*y,T=p*l*s-c*d*s-p*a*h+o*d*h+c*a*m-o*l*m,E=e*v+r*x+i*g+n*T;if(0===E)return this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);var b=1/E;return t[0]=v*b,t[1]=(d*h*n-l*m*n-d*i*f+r*m*f+l*i*y-r*h*y)*b,t[2]=(a*m*n-d*s*n+d*i*u-r*m*u-a*i*y+r*s*y)*b,t[3]=(l*s*n-a*h*n-l*i*u+r*h*u+a*i*f-r*s*f)*b,t[4]=x*b,t[5]=(c*m*n-p*h*n+p*i*f-e*m*f-c*i*y+e*h*y)*b,t[6]=(p*s*n-o*m*n-p*i*u+e*m*u+o*i*y-e*s*y)*b,t[7]=(o*h*n-c*s*n+c*i*u-e*h*u-o*i*f+e*s*f)*b,t[8]=g*b,t[9]=(p*l*n-c*d*n-p*r*f+e*d*f+c*r*y-e*l*y)*b,t[10]=(o*d*n-p*a*n+p*r*u-e*d*u-o*r*y+e*a*y)*b,t[11]=(c*a*n-o*l*n-c*r*u+e*l*u+o*r*f-e*a*f)*b,t[12]=T*b,t[13]=(c*d*i-p*l*i+p*r*h-e*d*h-c*r*m+e*l*m)*b,t[14]=(p*a*i-o*d*i-p*r*s+e*d*s+o*r*m-e*a*m)*b,t[15]=(o*l*i-c*a*i+c*r*s-e*l*s-o*r*h+e*a*h)*b,this},t.prototype.extractBasis=function(t,e,r){var i=this.elements;return t.set(i[0],i[1],i[2]),e.set(i[4],i[5],i[6]),r.set(i[8],i[9],i[10]),this},t.prototype.compose=function(t,e,r,i){void 0===i&&(i=H.ZERO);var n=this.elements,o=e.x,a=e.y,s=e.z,u=e.w,c=-i.x,l=-i.y,h=-i.z,f=o+o,p=a+a,d=s+s,m=o*f,y=o*p,v=o*d,x=a*p,g=a*d,T=s*d,E=u*f,b=u*p,C=u*d,_=r.x,S=r.y,O=r.z;return n[0]=(1-(x+T))*_,n[1]=(y+C)*_,n[2]=(v-b)*_,n[3]=0,n[4]=(y-C)*S,n[5]=(1-(m+T))*S,n[6]=(g+E)*S,n[7]=0,n[8]=(v+b)*O,n[9]=(g-E)*O,n[10]=(1-(m+x))*O,n[11]=0,n[12]=c*n[0]+l*n[4]+h*n[8]-c+t.x,n[13]=c*n[1]+l*n[5]+h*n[9]-l+t.y,n[14]=c*n[2]+l*n[6]+h*n[10]-h+t.z,this},t.prototype.decompose=function(e,r,i){var n=t.tempVec0,o=this.elements,a=n.set(o[0],o[1],o[2]).length(),s=n.set(o[4],o[5],o[6]).length(),u=n.set(o[8],o[9],o[10]).length();this.determinant()<0&&(a=-a),e.x=o[12],e.y=o[13],e.z=o[14];var c=t.tempMat0;c.copyFrom(this);var l=1/a,h=1/s,f=1/u;return c.elements[0]*=l,c.elements[1]*=l,c.elements[2]*=l,c.elements[4]*=h,c.elements[5]*=h,c.elements[6]*=h,c.elements[8]*=f,c.elements[9]*=f,c.elements[10]*=f,r.setFromRotationMatrix(c),i.x=a,i.y=s,i.z=u,this},t.prototype.getTranslation=function(t){var e=this.elements;return t.set(e[12],e[13],e[14])},t.prototype.getScale=function(t){var e=this.elements;return t.set(Math.hypot(e[0],e[1],e[2]),Math.hypot(e[4],e[5],e[6]),Math.hypot(e[8],e[9],e[10]))},t.prototype.getTransform=function(){var t=new H,e=new Y,r=new H;return this.decompose(t,e,r),{translation:t,rotation:e,scale:r}},t.prototype.orthographic=function(t,e,r,i,n,o){var a=1/(e-t),s=1/(r-i),u=1/(o-n),c=-(e+t)*a,l=-(r+i)*s,h=-(o+n)*u;a*=2,s*=2,u*=-2;var f=this.elements;return f[0]=a,f[1]=0,f[2]=0,f[3]=0,f[4]=0,f[5]=s,f[6]=0,f[7]=0,f[8]=0,f[9]=0,f[10]=u,f[11]=0,f[12]=c,f[13]=l,f[14]=h,f[15]=1,this},t.prototype.perspective=function(t,e,r,i,n){var o=1/Math.tan(.5*t),a=1/(r-i),s=this.elements;return s[0]=n?o:o/e,s[1]=0,s[2]=0,s[3]=0,s[4]=0,s[5]=n?o*e:o,s[6]=0,s[7]=0,s[8]=0,s[9]=0,s[10]=(i+r)*a,s[11]=-1,s[12]=0,s[13]=0,s[14]=2*i*r*a,s[15]=0,null!==i&&i!==1/0||(s[10]=-1,s[14]=-2*r),this},t.prototype.projectPoint=function(t,e){var r=t.x,i=t.y,n=t.z,o=this.elements,a=null!=e?e:t;a.x=o[0]*r+o[4]*i+o[8]*n+o[12],a.y=o[1]*r+o[5]*i+o[9]*n+o[13],a.z=o[2]*r+o[6]*i+o[10]*n+o[14];var s=o[3]*r+o[7]*i+o[11]*n+o[15];return a.multiply(1/s)},t.prototype.transformPoint=function(t,e){var r=t.x,i=t.y,n=t.z,o=this.elements,a=null!=e?e:t;return a.x=o[0]*r+o[4]*i+o[8]*n+o[12],a.y=o[1]*r+o[5]*i+o[9]*n+o[13],a.z=o[2]*r+o[6]*i+o[10]*n+o[14],a},t.prototype.transformNormal=function(t,e){var r=t.x,i=t.y,n=t.z,o=this.elements,a=null!=e?e:t;return a.x=o[0]*r+o[4]*i+o[8]*n,a.y=o[1]*r+o[5]*i+o[9]*n,a.z=o[2]*r+o[6]*i+o[10]*n,a.normalize()},t.prototype.transformVector4=function(t,e){var r=t.x,i=t.y,n=t.z,o=t.w,a=this.elements,s=null!=e?e:t;return s.x=a[0]*r+a[4]*i+a[8]*n+a[12]*o,s.y=a[1]*r+a[5]*i+a[9]*n+a[13]*o,s.z=a[2]*r+a[6]*i+a[10]*n+a[14]*o,s.w=a[3]*r+a[7]*i+a[11]*n+a[15]*o,s},t.prototype.equals=function(t){for(var e=this.elements,r=t.elements,i=0;i<16;i++)if(!k(e[i],r[i]))return!1;return!0},t.prototype.toArray=function(){return Z([],W(this.elements),!1)},t.prototype.fill=function(t,e){void 0===e&&(e=0);var r=this.elements;t[e]=r[0],t[e+1]=r[1],t[e+2]=r[2],t[e+3]=r[3],t[e+4]=r[4],t[e+5]=r[5],t[e+6]=r[6],t[e+7]=r[7],t[e+8]=r[8],t[e+9]=r[9],t[e+10]=r[10],t[e+11]=r[11],t[e+12]=r[12],t[e+13]=r[13],t[e+14]=r[14],t[e+15]=r[15]},t.fromIdentity=function(){return new t(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)},t.fromLookAt=function(e,r,i){return(new t).lookAt(e,r,i)},t.fromPerspective=function(e,r,i,n,o){return(new t).perspective(e,r,i,n,o)},t.fromColumnVectors=function(e,r,i,n){return(new t).setFromColumnVectors(e,r,i,n)},t.fromMatrix3=function(e){return(new t).setFromMatrix3(e)},t.fromArray=function(e,r){return void 0===r&&(r=0),(new t).setFromArray(e,r)},t.fromScale=function(e,r,i){return(new t).setFromScale(e,r,i)},t.fromTranslation=function(e,r,i){return(new t).setFromTranslation(e,r,i)},t.fromRotationX=function(e){return(new t).setFromRotationX(e)},t.fromRotationY=function(e){return(new t).setFromRotationY(e)},t.fromRotationZ=function(e){return(new t).setFromRotationZ(e)},t.fromRotationAxis=function(e,r){return(new t).setFromRotationAxis(e,r)},t.fromEuler=function(e){return(new t).setFromEuler(e)},t.fromQuaternion=function(e){return(new t).setFromQuaternion(e)},t.fromShear=function(e,r,i){return(new t).setFromShear(e,r,i)},t.fromBasis=function(e,r,i){return(new t).setFromBasis(e,r,i)},t.fromRowMajorData=function(e,r,i,n,o,a,s,u,c,l,h,f,p,d,m,y){return new t(e,o,c,p,r,a,l,d,i,s,h,m,n,u,f,y)},t.IDENTITY=new t(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1),t.ZERO=new t(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0),t.tempVec0=new H,t.tempVec1=new H,t.tempVec2=new H,t.tempMat0=new t,t}();!function(t){t[t.XYZ=0]="XYZ",t[t.XZY=1]="XZY",t[t.YXZ=2]="YXZ",t[t.YZX=3]="YZX",t[t.ZXY=4]="ZXY",t[t.ZYX=5]="ZYX"}(X||(X={}));var Q=function(){function t(e,r,i,n){void 0===e&&(e=0),void 0===r&&(r=0),void 0===i&&(i=0),void 0===n&&(n=t.DEFAULT_ORDER),this.x=e,this.y=r,this.z=i,this.order=n}return t.prototype.set=function(t,e,r,i){return void 0===i&&(i=this.order),this.x=t,this.y=e,this.z=r,this.order=i,this},t.prototype.setZero=function(t){return void 0===t&&(t=this.order),this.set(0,0,0,t)},t.prototype.setFromRotationMatrix4=function(t,e){void 0===e&&(e=this.order);var r=t.elements,i=r[0],n=r[4],o=r[8],a=r[1],s=r[5],u=r[9],c=r[2],l=r[6],h=r[10];switch(e){case X.XYZ:this.y=Math.asin(G(o,-1,1)),Math.abs(o)<.9999999?(this.x=Math.atan2(-u,h),this.z=Math.atan2(-n,i)):(this.x=Math.atan2(l,s),this.z=0);break;case X.YXZ:this.x=Math.asin(-G(u,-1,1)),Math.abs(u)<.9999999?(this.y=Math.atan2(o,h),this.z=Math.atan2(a,s)):(this.y=Math.atan2(-c,i),this.z=0);break;case X.ZXY:this.x=Math.asin(G(l,-1,1)),Math.abs(l)<.9999999?(this.y=Math.atan2(-c,h),this.z=Math.atan2(-n,s)):(this.y=0,this.z=Math.atan2(a,i));break;case X.ZYX:this.y=Math.asin(-G(c,-1,1)),Math.abs(c)<.9999999?(this.x=Math.atan2(l,h),this.z=Math.atan2(a,i)):(this.x=0,this.z=Math.atan2(-n,s));break;case X.YZX:this.z=Math.asin(G(a,-1,1)),Math.abs(a)<.9999999?(this.x=Math.atan2(-u,s),this.y=Math.atan2(-c,i)):(this.x=0,this.y=Math.atan2(o,h));break;case X.XZY:this.z=Math.asin(-G(n,-1,1)),Math.abs(n)<.9999999?(this.x=Math.atan2(l,s),this.y=Math.atan2(o,i)):(this.x=Math.atan2(-u,h),this.y=0);break;default:console.error("setFromRotationMatrix: unknown order: "+e)}return this.x*=z,this.y*=z,this.z*=z,this.order=e,this},t.prototype.setFromQuaternion=function(e,r){void 0===r&&(r=this.order);var i=t.tempMat0;return i.setFromQuaternion(e),this.setFromRotationMatrix4(i,r)},t.prototype.setFromVector3=function(t,e){return void 0===e&&(e=this.order),this.set(t.x,t.y,t.z,e)},t.prototype.setFromArray=function(t,e,r){var i,n,o,a;return void 0===e&&(e=0),void 0===r&&(r=this.order),this.x=null!==(i=t[e])&&void 0!==i?i:0,this.y=null!==(n=t[e+1])&&void 0!==n?n:0,this.z=null!==(o=t[e+2])&&void 0!==o?o:0,this.order=null!==(a=t[e+3])&&void 0!==a?a:r,this},t.prototype.clone=function(){return new t(this.x,this.y,this.z,this.order)},t.prototype.copyFrom=function(t){return this.x=t.x,this.y=t.y,this.z=t.z,this.order=t.order,this},t.prototype.add=function(t){return this.order!=t.order?(console.error("add euler with different order"),this):(this.x+=t.x,this.y+=t.y,this.z+=t.z,this)},t.prototype.addEulers=function(t,e){return t.order!=e.order?(console.error("add euler with different order"),this):(this.x=t.x+e.x,this.y=t.y+e.y,this.z=t.z+e.z,this.order=t.order,this)},t.prototype.negate=function(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this},t.prototype.reorder=function(t){var e=new Y;return e.setFromEuler(this),this.setFromQuaternion(e,t)},t.prototype.rotateVector3=function(e,r){return t.tempQuat0.setFromEuler(this).rotateVector3(e,r)},t.prototype.equals=function(t){return t.x===this.x&&t.y===this.y&&t.z===this.z&&t.order===this.order},t.prototype.toVector3=function(t){return t.set(this.x,this.y,this.z)},t.prototype.toArray=function(){return[this.x,this.y,this.z]},t.prototype.toQuaternion=function(t){var e,r=(e=this).x,i=e.y,n=e.z,o=e.order,a=Math.cos(r*D*.5),s=Math.cos(i*D*.5),u=Math.cos(n*D*.5),c=Math.sin(r*D*.5),l=Math.sin(i*D*.5),h=Math.sin(n*D*.5);switch(o){case X.XYZ:t.set(c*s*u+a*l*h,a*l*u-c*s*h,a*s*h+c*l*u,a*s*u-c*l*h);break;case X.YXZ:t.set(c*s*u+a*l*h,a*l*u-c*s*h,a*s*h-c*l*u,a*s*u+c*l*h);break;case X.ZXY:t.set(c*s*u-a*l*h,a*l*u+c*s*h,a*s*h+c*l*u,a*s*u-c*l*h);break;case X.ZYX:t.set(c*s*u-a*l*h,a*l*u+c*s*h,a*s*h-c*l*u,a*s*u+c*l*h);break;case X.YZX:t.set(c*s*u+a*l*h,a*l*u+c*s*h,a*s*h-c*l*u,a*s*u-c*l*h);break;case X.XZY:t.set(c*s*u-a*l*h,a*l*u-c*s*h,a*s*h+c*l*u,a*s*u+c*l*h);break;default:console.error("unknown euler order: "+o)}return t},t.prototype.toMatrix4=function(t){var e,r=t.elements,i=(e=this).x,n=e.y,o=e.z,a=e.order,s=Math.cos(i*D),u=Math.sin(i*D),c=Math.cos(n*D),l=Math.sin(n*D),h=Math.cos(o*D),f=Math.sin(o*D);if(a===X.XYZ){var p=s*h,d=s*f,m=u*h,y=u*f;r[0]=c*h,r[4]=-c*f,r[8]=l,r[1]=d+m*l,r[5]=p-y*l,r[9]=-u*c,r[2]=y-p*l,r[6]=m+d*l,r[10]=s*c}else if(a===X.YXZ){var v=c*h,x=c*f,g=l*h,T=l*f;r[0]=v+T*u,r[4]=g*u-x,r[8]=s*l,r[1]=s*f,r[5]=s*h,r[9]=-u,r[2]=x*u-g,r[6]=T+v*u,r[10]=s*c}else if(a===X.ZXY){v=c*h,x=c*f,g=l*h,T=l*f;r[0]=v-T*u,r[4]=-s*f,r[8]=g+x*u,r[1]=x+g*u,r[5]=s*h,r[9]=T-v*u,r[2]=-s*l,r[6]=u,r[10]=s*c}else if(a===X.ZYX){p=s*h,d=s*f,m=u*h,y=u*f;r[0]=c*h,r[4]=m*l-d,r[8]=p*l+y,r[1]=c*f,r[5]=y*l+p,r[9]=d*l-m,r[2]=-l,r[6]=u*c,r[10]=s*c}else if(a===X.YZX){var E=s*c,b=s*l,C=u*c,_=u*l;r[0]=c*h,r[4]=_-E*f,r[8]=C*f+b,r[1]=f,r[5]=s*h,r[9]=-u*h,r[2]=-l*h,r[6]=b*f+C,r[10]=E-_*f}else if(a===X.XZY){E=s*c,b=s*l,C=u*c,_=u*l;r[0]=c*h,r[4]=-f,r[8]=l*h,r[1]=E*f+_,r[5]=s*h,r[9]=b*f-C,r[2]=C*f-b,r[6]=u*h,r[10]=_*f+E}else console.error("toMatrix4: Invalid order "+a);return r[3]=0,r[7]=0,r[11]=0,r[12]=0,r[13]=0,r[14]=0,r[15]=1,t},t.fromRotationMatrix4=function(e,r){return void 0===r&&(r=t.DEFAULT_ORDER),(new t).setFromRotationMatrix4(e,r)},t.fromQuaternion=function(e,r){return void 0===r&&(r=t.DEFAULT_ORDER),(new t).setFromQuaternion(e,r)},t.fromVector3=function(e,r){return void 0===r&&(r=t.DEFAULT_ORDER),(new t).setFromVector3(e,r)},t.fromArray=function(e,r,i){return void 0===r&&(r=0),void 0===i&&(i=t.DEFAULT_ORDER),(new t).setFromArray(e,r,i)},t.DEFAULT_ORDER=X.ZYX,t.tempQuat0=new Y,t.tempMat0=new q,t}(),K=function(){function t(t,e,r,i){void 0===t&&(t=0),void 0===e&&(e=0),void 0===r&&(r=0),void 0===i&&(i=0),this.x=t,this.y=e,this.z=r,this.w=i}return t.prototype.set=function(t,e,r,i){return this.x=t,this.y=e,this.z=r,this.w=i,this},t.prototype.setZero=function(){return this.x=0,this.y=0,this.z=0,this.w=0,this},t.prototype.setFromNumber=function(t){return this.x=t,this.y=t,this.z=t,this.w=t,this},t.prototype.setFromArray=function(t,e){var r,i,n,o;return void 0===e&&(e=0),this.x=null!==(r=t[e])&&void 0!==r?r:0,this.y=null!==(i=t[e+1])&&void 0!==i?i:0,this.z=null!==(n=t[e+2])&&void 0!==n?n:0,this.w=null!==(o=t[e+3])&&void 0!==o?o:0,this},t.prototype.copyFrom=function(t){return this.x=t.x,this.y=t.y,this.z=t.z,this.w=t.w,this},t.prototype.clone=function(){return new t(this.x,this.y,this.z,this.w)},t.prototype.setElement=function(t,e){switch(t){case 0:this.x=e;break;case 1:this.y=e;break;case 2:this.z=e;break;case 3:this.w=e;break;default:console.error("index is out of range: "+t)}return this},t.prototype.getElement=function(t){switch(t){case 0:return this.x;case 1:return this.y;case 2:return this.z;case 3:return this.w;default:console.error("index is out of range: "+t)}return 0},t.prototype.add=function(t){return"number"==typeof t?(this.x+=t,this.y+=t,this.z+=t,this.w+=t):t instanceof Array?(this.x+=t[0],this.y+=t[1],this.z+=t[2],this.w+=t[3]):(this.x+=t.x,this.y+=t.y,this.z+=t.z,this.w+=t.w),this},t.prototype.addVectors=function(t,e){return this.x=t.x+e.x,this.y=t.y+e.y,this.z=t.z+e.z,this.w=t.w+e.w,this},t.prototype.addScaledVector=function(t,e){return this.x+=t.x*e,this.y+=t.y*e,this.z+=t.z*e,this.w+=t.w*e,this},t.prototype.subtract=function(t){return"number"==typeof t?(this.x-=t,this.y-=t,this.z-=t,this.w-=t):t instanceof Array?(this.x-=t[0],this.y-=t[1],this.z-=t[2],this.w-=t[3]):(this.x-=t.x,this.y-=t.y,this.z-=t.z,this.w-=t.w),this},t.prototype.subtractVectors=function(t,e){return this.x=t.x-e.x,this.y=t.y-e.y,this.z=t.z-e.z,this.w=t.w-e.w,this},t.prototype.multiply=function(t){return"number"==typeof t?(this.x*=t,this.y*=t,this.z*=t,this.w*=t):t instanceof Array?(this.x*=t[0],this.y*=t[1],this.z*=t[2],this.w*=t[3]):(this.x*=t.x,this.y*=t.y,this.z*=t.z,this.w*=t.w),this},t.prototype.multiplyVectors=function(t,e){return this.x=t.x*e.x,this.y=t.y*e.y,this.z=t.z*e.z,this.w=t.w*e.w,this},t.prototype.divide=function(t){return"number"==typeof t?(this.x/=t,this.y/=t,this.z/=t,this.w/=t):t instanceof Array?(this.x/=t[0],this.y/=t[1],this.z/=t[2],this.w/=t[3]):(this.x/=t.x,this.y/=t.y,this.z/=t.z,this.w/=t.w),this},t.prototype.scale=function(t){return this.x*=t,this.y*=t,this.z*=t,this.w*=t,this},t.prototype.sum=function(){return this.x+this.y+this.z+this.w},t.prototype.min=function(t){return"number"==typeof t?(this.x=Math.min(this.x,t),this.y=Math.min(this.y,t),this.z=Math.min(this.z,t),this.w=Math.min(this.w,t)):(this.x=Math.min(this.x,t.x),this.y=Math.min(this.y,t.y),this.z=Math.min(this.z,t.z),this.w=Math.min(this.w,t.w)),this},t.prototype.max=function(t){return"number"==typeof t?(this.x=Math.max(this.x,t),this.y=Math.max(this.y,t),this.z=Math.max(this.z,t),this.w=Math.max(this.w,t)):(this.x=Math.max(this.x,t.x),this.y=Math.max(this.y,t.y),this.z=Math.max(this.z,t.z),this.w=Math.max(this.w,t.w)),this},t.prototype.clamp=function(t,e){return this.max(t).min(e)},t.prototype.floor=function(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this.w=Math.floor(this.w),this},t.prototype.ceil=function(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this.w=Math.ceil(this.w),this},t.prototype.round=function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this.w=Math.round(this.w),this},t.prototype.abs=function(){return this.x=Math.abs(this.x),this.y=Math.abs(this.y),this.z=Math.abs(this.z),this.w=Math.abs(this.w),this},t.prototype.negate=function(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this.w=-this.w,this},t.prototype.lengthSquared=function(){return this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w},t.prototype.length=function(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w)},t.prototype.normalize=function(){return this.divide(this.length()||1)},t.prototype.setLength=function(t){return this.normalize().multiply(t)},t.prototype.lerp=function(t,e){return this.x+=(t.x-this.x)*e,this.y+=(t.y-this.y)*e,this.z+=(t.z-this.z)*e,this.w+=(t.w-this.w)*e,this},t.prototype.lerpVectors=function(t,e,r){return this.x=t.x+(e.x-t.x)*r,this.y=t.y+(e.y-t.y)*r,this.z=t.z+(e.z-t.z)*r,this.w=t.w+(e.w-t.w)*r,this},t.prototype.dot=function(t){return this.x*t.x+this.y*t.y+this.z*t.z+this.w*t.w},t.prototype.equals=function(t){return t.x===this.x&&t.y===this.y&&t.z===this.z&&t.w===this.w},t.prototype.isZero=function(){var t,e=U,r=(t=this).x,i=t.y,n=t.z,o=t.w;return Math.abs(r)<=e&&Math.abs(i)<=e&&Math.abs(n)<=e&&Math.abs(o)<=e},t.prototype.toArray=function(){return[this.x,this.y,this.z,this.w]},t.prototype.toVector3=function(){return new H(this.x,this.y,this.z)},t.prototype.fill=function(t,e){void 0===e&&(e=0),t[e]=this.x,t[e+1]=this.y,t[e+2]=this.z,t[e+3]=this.w},t.prototype.random=function(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this.w=Math.random(),this},t.prototype.applyMatrix=function(t,e){return t.transformVector4(this,e)},t.fromNumber=function(e){return(new t).setFromNumber(e)},t.fromArray=function(e,r){return void 0===r&&(r=0),(new t).setFromArray(e,r)},t.ONE=new t(1,1,1,1),t.ZERO=new t(0,0,0,0),t}(),J=function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var i,n,o=r.call(t),a=[];try{for(;(void 0===e||e-- >0)&&!(i=o.next()).done;)a.push(i.value)}catch(t){n={error:t}}finally{try{i&&!i.done&&(r=o.return)&&r.call(o)}finally{if(n)throw n.error}}return a},$=function(t,e,r){if(r||2===arguments.length)for(var i,n=0,o=e.length;n<o;n++)!i&&n in e||(i||(i=Array.prototype.slice.call(e,0,n)),i[n]=e[n]);return t.concat(i||Array.prototype.slice.call(e))},tt=function(){function t(t,e,r,i,n,o,a,s,u){void 0===t&&(t=1),void 0===e&&(e=0),void 0===r&&(r=0),void 0===i&&(i=0),void 0===n&&(n=1),void 0===o&&(o=0),void 0===a&&(a=0),void 0===s&&(s=0),void 0===u&&(u=1),this.elements=[t,e,r,i,n,o,a,s,u]}return t.prototype.set=function(t,e,r,i,n,o,a,s,u){var c=this.elements;return c[0]=t,c[3]=i,c[6]=a,c[1]=e,c[4]=n,c[7]=s,c[2]=r,c[5]=o,c[8]=u,this},t.prototype.setFromRowMajorData=function(t,e,r,i,n,o,a,s,u){var c=this.elements;return c[0]=t,c[3]=e,c[6]=r,c[1]=i,c[4]=n,c[7]=o,c[2]=a,c[5]=s,c[8]=u,this},t.prototype.setFromColumnVectors=function(t,e,r){return this.set(t.x,t.y,t.z,e.x,e.y,e.z,r.x,r.y,r.z)},t.prototype.setFromMatrix4=function(t){var e=t.elements;return this.set(e[0],e[1],e[2],e[4],e[5],e[6],e[8],e[9],e[10])},t.prototype.setFromArray=function(t,e){void 0===e&&(e=0);for(var r=0;r<9;r++)this.elements[r]=t[e+r];return this},t.prototype.setFromQuaternion=function(t){var e=t.x,r=t.y,i=t.z,n=t.w,o=e+e,a=r+r,s=i+i,u=e*o,c=e*a,l=e*s,h=r*a,f=r*s,p=i*s,d=n*o,m=n*a,y=n*s,v=this.elements;return v[0]=1-(h+p),v[1]=c+y,v[2]=l-m,v[3]=c-y,v[4]=1-(u+p),v[5]=f+d,v[6]=l+m,v[7]=f-d,v[8]=1-(u+h),this},t.prototype.setZero=function(){for(var t=0;t<9;t++)this.elements[t]=0;return this},t.prototype.identity=function(){return this.set(1,0,0,0,1,0,0,0,1)},t.prototype.clone=function(){var e=this.elements;return new t(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8])},t.prototype.copyFrom=function(t){return this.elements=$([],J(t.elements),!1),this},t.prototype.getColumnVector=function(t,e){return e.set(this.elements[3*t],this.elements[3*t+1],this.elements[3*t+2])},t.prototype.scale=function(t,e){var r=this.elements;return r[0]*=t,r[3]*=t,r[6]*=t,r[1]*=e,r[4]*=e,r[7]*=e,this},t.prototype.rotate=function(t){var e=Math.cos(t),r=Math.sin(t),i=this.elements,n=i[0],o=i[3],a=i[6],s=i[1],u=i[4],c=i[7];return i[0]=e*n+r*s,i[3]=e*o+r*u,i[6]=e*a+r*c,i[1]=-r*n+e*s,i[4]=-r*o+e*u,i[7]=-r*a+e*c,this},t.prototype.translate=function(t,e){var r=this.elements;return r[0]+=t*r[2],r[3]+=t*r[5],r[6]+=t*r[8],r[1]+=e*r[2],r[4]+=e*r[5],r[7]+=e*r[8],this},t.prototype.multiply=function(t){if("number"==typeof t){for(var e=0;e<9;e++)this.elements[e]*=t;return this}return this.multiplyMatrices(this,t)},t.prototype.premultiply=function(t){return this.multiplyMatrices(t,this)},t.prototype.multiplyMatrices=function(t,e){var r=t.elements,i=e.elements,n=this.elements,o=r[0],a=r[3],s=r[6],u=r[1],c=r[4],l=r[7],h=r[2],f=r[5],p=r[8],d=i[0],m=i[3],y=i[6],v=i[1],x=i[4],g=i[7],T=i[2],E=i[5],b=i[8];return n[0]=o*d+a*v+s*T,n[3]=o*m+a*x+s*E,n[6]=o*y+a*g+s*b,n[1]=u*d+c*v+l*T,n[4]=u*m+c*x+l*E,n[7]=u*y+c*g+l*b,n[2]=h*d+f*v+p*T,n[5]=h*m+f*x+p*E,n[8]=h*y+f*g+p*b,this},t.prototype.determinant=function(){var t=this.elements,e=t[0],r=t[3],i=t[6],n=t[1],o=t[4],a=t[7],s=t[2],u=t[5],c=t[8];return e*(o*c-u*a)+n*(u*i-r*c)+s*(r*a-o*i)},t.prototype.invert=function(){var t=this.elements,e=t[0],r=t[3],i=t[6],n=t[1],o=t[4],a=t[7],s=t[2],u=t[5],c=t[8],l=c*o-u*a,h=u*i-c*r,f=a*r-o*i,p=e*l+n*h+s*f;if(0===p)return this.set(0,0,0,0,0,0,0,0,0);var d=1/p;return t[0]=l*d,t[1]=(s*a-c*n)*d,t[2]=(u*n-s*o)*d,t[3]=h*d,t[4]=(c*e-s*i)*d,t[5]=(s*r-u*e)*d,t[6]=f*d,t[7]=(n*i-a*e)*d,t[8]=(o*e-n*r)*d,this},t.prototype.transpose=function(){var t,e=this.elements;return t=e[1],e[1]=e[3],e[3]=t,t=e[2],e[2]=e[6],e[6]=t,t=e[5],e[5]=e[7],e[7]=t,this},t.prototype.transformPoint=function(t,e){var r=t.x,i=t.y,n=t.z,o=this.elements,a=null!=e?e:t;return a.x=o[0]*r+o[3]*i+o[6]*n,a.y=o[1]*r+o[4]*i+o[7]*n,a.z=o[2]*r+o[5]*i+o[8]*n,a},t.prototype.transformNormal=function(t,e){return this.transformPoint(t,e).normalize()},t.prototype.equals=function(t){for(var e=this.elements,r=t.elements,i=0;i<9;i++)if(!k(e[i],r[i]))return!1;return!0},t.prototype.toArray=function(){return $([],J(this.elements),!1)},t.prototype.fill=function(t,e){void 0===e&&(e=0);var r=this.elements;t[e]=r[0],t[e+1]=r[1],t[e+2]=r[2],t[e+3]=r[3],t[e+4]=r[4],t[e+5]=r[5],t[e+6]=r[6],t[e+7]=r[7],t[e+8]=r[8]},t.fromIdentity=function(){return new t(1,0,0,0,1,0,0,0,1)},t.fromColumnVectors=function(e,r,i){return(new t).setFromColumnVectors(e,r,i)},t.fromMatrix4=function(e){return(new t).setFromMatrix4(e)},t.fromArray=function(e,r){return void 0===r&&(r=0),(new t).setFromArray(e,r)},t.fromQuaternion=function(e){return(new t).setFromQuaternion(e)},t.fromRowMajorData=function(e,r,i,n,o,a,s,u,c){return new t(e,n,s,r,o,u,i,a,c)},t}(),et=function(){function t(t,e){void 0===t&&(t=H.ZERO),void 0===e&&(e=H.X),this.origin=new H,this.direction=new H,this.origin.copyFrom(t),this.direction.copyFrom(e).normalize()}return t.prototype.set=function(t,e){return this.origin.copyFrom(t),this.direction.copyFrom(e).normalize(),this},t.prototype.clone=function(){return new t(this.origin,this.direction)},t.prototype.copyFrom=function(t){return this.set(t.origin,t.direction)},t.prototype.recast=function(e){return this.origin.copyFrom(this.at(e,t.tempVec0)),this},t.prototype.at=function(t,e){var r=e||new H;return r.copyFrom(this.origin),r.addScaledVector(this.direction,t)},t.prototype.equals=function(t){return this.origin.equals(t.origin)&&this.direction.equals(t.direction)},t.prototype.applyMatrix=function(t){return this.origin.applyProjectionMatrix(t),this.direction.applyNormalMatrix(t),this},t.prototype.intersectBox=function(t,e){var r,i,n,o,a,s,u,c,l,h,f=(r=this.origin).x,p=r.y,d=r.z,m=(i=this.direction).x,y=i.y,v=i.z,x=(n=t.min).x,g=n.y,T=n.z,E=(o=t.max).x,b=o.y,C=o.z,_=1/m,S=1/y,O=1/v;if(_>=0?(a=(x-f)*_,s=(E-f)*_):(a=(E-f)*_,s=(x-f)*_),S>=0?(u=(g-p)*S,c=(b-p)*S):(u=(b-p)*S,c=(g-p)*S),!(a>c||u>s||((u>a||a!=a)&&(a=u),(c<s||s!=s)&&(s=c),(u>a||a!=a)&&(a=u),(c<s||s!=s)&&(s=c),O>=0?(l=(T-d)*O,h=(C-d)*O):(l=(C-d)*O,h=(T-d)*O),a>h||l>s||((l>a||a!=a)&&(a=l),(h<s||s!=s)&&(s=h),s<0))))return a>=0?this.at(a,e):this.at(s,e)},t.prototype.intersectPlane=function(t,e){var r=t.normal,i=t.distance,n=r.dot(this.direction);if(0===n)return 0===r.dot(this.origin)+i?(e||new H).copyFrom(this.origin):void 0;var o=-(this.origin.dot(r)+i)/n;return o>=0?this.at(o,e):void 0},t.prototype.intersectSphere=function(e,r){var i=e.center,n=t.tempVec0.subtractVectors(i,this.origin),o=n.dot(this.direction),a=n.dot(n)-o*o,s=e.radius*e.radius;if(!(a>s)){var u=Math.sqrt(s-a),c=o-u,l=o+u;if(!(l<0))return c>=0?this.at(c,r):this.at(l,r)}},t.prototype.intersectTriangle=function(e,r,i){var n,o=e.p0,a=e.p1,s=e.p2,u=t.tempVec0.subtractVectors(a,o),c=t.tempVec1.subtractVectors(s,o),l=t.tempVec2.subtractVectors(this.origin,o),h=t.tempVec3.crossVectors(u,c),f=this.direction.dot(h);if(f>0){if(i)return;n=1}else{if(!(f<0))return;n=-1,f=-f}c.crossVectors(l,c);var p=n*this.direction.dot(c);if(!(p<0)){u.cross(l);var d=n*this.direction.dot(u);if(!(d<0||p+d>f)){var m=-n*l.dot(h);if(!(m<0))return this.at(m/f,r)}}},t.tempVec0=new H,t.tempVec1=new H,t.tempVec2=new H,t.tempVec3=new H,t}(),rt=function(){function t(t,e,r,i){void 0===t&&(t=0),void 0===e&&(e=0),void 0===r&&(r=0),void 0===i&&(i=0),this.r=t,this.g=e,this.b=r,this.a=i}return t.prototype.set=function(t,e,r,i){return this.r=t,this.g=e,this.b=r,this.a=i,this},t.prototype.setZero=function(){return this.r=0,this.g=0,this.b=0,this.a=0,this},t.prototype.setFromNumber=function(t){return this.r=t,this.g=t,this.b=t,this.a=t,this},t.prototype.setFromVector4=function(t){return this.r=t.x,this.g=t.y,this.b=t.z,this.a=t.w,this},t.prototype.setFromArray=function(t,e){var r,i,n,o;return void 0===e&&(e=0),this.r=null!==(r=t[e])&&void 0!==r?r:0,this.g=null!==(i=t[e+1])&&void 0!==i?i:0,this.b=null!==(n=t[e+2])&&void 0!==n?n:0,this.a=null!==(o=t[e+3])&&void 0!==o?o:0,this},t.prototype.setFromHSV=function(t,e,r,i){void 0===i&&(i=1);var n=r*e,o=t/60,a=n*(1-Math.abs(o%2-1)),s=0,u=0,c=0;o>=0&&o<=1?(s=n,u=a):o>=1&&o<=2?(s=a,u=n):o>=2&&o<=3?(u=n,c=a):o>=3&&o<=4?(u=a,c=n):o>=4&&o<=5?(s=a,c=n):o>=5&&o<=6&&(s=n,c=a);var l=r-n;return this.set(s+l,u+l,c+l,i)},t.prototype.setFromHexString=function(t){if("#"!==t.substring(0,1)||9!==t.length&&7!==t.length)return this;var e=parseInt(t.substring(1,3),16)/255,r=parseInt(t.substring(3,5),16)/255,i=parseInt(t.substring(5,7),16)/255,n=9===t.length?parseInt(t.substring(7,9),16)/255:1;return this.set(e,r,i,n)},t.prototype.copyFrom=function(t){return this.r=t.r,this.g=t.g,this.b=t.b,this.a=t.a,this},t.prototype.clone=function(){return new t(this.r,this.g,this.b,this.a)},t.prototype.setElement=function(t,e){switch(t){case 0:this.r=e;break;case 1:this.g=e;break;case 2:this.b=e;break;case 3:this.a=e;break;default:console.error("index is out of range: "+t)}return this},t.prototype.getElement=function(t){switch(t){case 0:return this.r;case 1:return this.g;case 2:return this.b;case 3:return this.a;default:console.error("index is out of range: "+t)}return 0},t.prototype.add=function(t){return"number"==typeof t?(this.r+=t,this.g+=t,this.b+=t,this.a+=t):t instanceof Array?(this.r+=t[0],this.g+=t[1],this.b+=t[2],this.a+=t[3]):(this.r+=t.r,this.g+=t.g,this.b+=t.b,this.a+=t.a),this},t.prototype.subtract=function(t){return"number"==typeof t?(this.r-=t,this.g-=t,this.b-=t,this.a-=t):t instanceof Array?(this.r-=t[0],this.g-=t[1],this.b-=t[2],this.a-=t[3]):(this.r-=t.r,this.g-=t.g,this.b-=t.b,this.a-=t.a),this},t.prototype.multiply=function(t){return"number"==typeof t?(this.r*=t,this.g*=t,this.b*=t,this.a*=t):t instanceof Array?(this.r*=t[0],this.g*=t[1],this.b*=t[2],this.a*=t[3]):(this.r*=t.r,this.g*=t.g,this.b*=t.b,this.a*=t.a),this},t.prototype.divide=function(t){return"number"==typeof t?(this.r/=t,this.g/=t,this.b/=t,this.a/=t):t instanceof Array?(this.r/=t[0],this.g/=t[1],this.b/=t[2],this.a/=t[3]):(this.r/=t.r,this.g/=t.g,this.b/=t.b,this.a/=t.a),this},t.prototype.scale=function(t){return this.r*=t,this.g*=t,this.b*=t,this.a*=t,this},t.prototype.min=function(t){return"number"==typeof t?(this.r=Math.min(this.r,t),this.g=Math.min(this.g,t),this.b=Math.min(this.b,t),this.a=Math.min(this.a,t)):(this.r=Math.min(this.r,t.r),this.g=Math.min(this.g,t.g),this.b=Math.min(this.b,t.b),this.a=Math.min(this.a,t.a)),this},t.prototype.max=function(t){return"number"==typeof t?(this.r=Math.max(this.r,t),this.g=Math.max(this.g,t),this.b=Math.max(this.b,t),this.a=Math.max(this.a,t)):(this.r=Math.max(this.r,t.r),this.g=Math.max(this.g,t.g),this.b=Math.max(this.b,t.b),this.a=Math.max(this.a,t.a)),this},t.prototype.clamp=function(t,e){return this.max(t).min(e)},t.prototype.lerp=function(t,e){return this.r+=(t.r-this.r)*e,this.g+=(t.g-this.g)*e,this.b+=(t.b-this.b)*e,this.a+=(t.a-this.a)*e,this},t.prototype.luminance=function(){return.3*this.r+.59*this.g+.11*this.b},t.prototype.equals=function(t){return t.r===this.r&&t.g===this.g&&t.b===this.b&&t.a===this.a},t.prototype.toLinear=function(){return this.r=t.gammaToLinear(this.r),this.g=t.gammaToLinear(this.g),this.b=t.gammaToLinear(this.b),this},t.prototype.toGamma=function(){return this.r=t.linearToGamma(this.r),this.g=t.linearToGamma(this.g),this.b=t.linearToGamma(this.b),this},t.prototype.toArray=function(){return[this.r,this.g,this.b,this.a]},t.prototype.toVector4=function(){return new K(this.r,this.g,this.b,this.a)},t.prototype.toHSV=function(){var e,r=(e=this).r,i=e.g,n=e.b,o=e.a,a=Math.max(r,i,n),s=Math.min(r,i,n),u=a-s,c=0,l=0;return 0!==a&&(l=u/a),a!=s&&(a==r?(c=(i-n)/u,i<n&&(c+=6)):a==i?c=(n-r)/u+2:a==n&&(c=(r-i)/u+4),c*=60),new t(c,l,a,o)},t.prototype.toHexString=function(e){void 0===e&&(e=!0);var r=t.ToHex(Math.round(255*this.r)),i=t.ToHex(Math.round(255*this.g)),n=t.ToHex(Math.round(255*this.b)),o=t.ToHex(Math.round(255*this.a));return e?"#"+r+i+n+o:"#"+r+i+n},t.prototype.fill=function(t,e){void 0===e&&(e=0),t[e]=this.r,t[e+1]=this.g,t[e+2]=this.b,t[e+3]=this.a},t.fromNumber=function(e){return(new t).setFromNumber(e)},t.fromArray=function(e,r){return void 0===r&&(r=0),(new t).setFromArray(e,r)},t.fromHexString=function(e){return(new t).setFromHexString(e)},t.fromHSV=function(e,r,i,n){return void 0===n&&(n=1),(new t).setFromHSV(e,r,i,n)},t.gammaToLinear=function(t){return t<=0?0:t<=.04045?t/12.92:t<1?Math.pow((t+.055)/1.055,2.4):Math.pow(t,2.4)},t.linearToGamma=function(t){return t<=0?0:t<.0031308?12.92*t:t<1?1.055*Math.pow(t,.41666)-.055:Math.pow(t,.41666)},t.ToHex=function(t){var e=t.toString(16);return t<=15?("0"+e).toUpperCase():e.toUpperCase()},t.BLACK=new t(0,0,0,1),t.BLUE=new t(0,0,1,1),t.CLEAR=new t(0,0,0,0),t.CYAN=new t(0,1,1,1),t.GRAY=new t(.5,.5,.5,1),t.GREEN=new t(0,1,0,1),t.MAGENTA=new t(1,0,1,1),t.RED=new t(1,0,0,1),t.WHITE=new t(1,1,1,1),t.YELLOW=new t(1,.92,.016,1),t}(),it=function(){function t(t,e){void 0===t&&(t=new H(1/0,1/0,1/0)),void 0===e&&(e=new H(-1/0,-1/0,-1/0)),this.min=t.clone(),this.max=e.clone()}return t.prototype.set=function(t,e){return this.min.copyFrom(t),this.max.copyFrom(e),this},t.prototype.setFromArray=function(t){for(var e=Number(1/0),r=Number(1/0),i=Number(1/0),n=-1/0,o=-1/0,a=-1/0,s=0,u=t.length;s<u;s+=3){var c=t[s],l=t[s+1],h=t[s+2];c<e&&(e=c),l<r&&(r=l),h<i&&(i=h),c>n&&(n=c),l>o&&(o=l),h>a&&(a=h)}return this.min.set(e,r,i),this.max.set(n,o,a),this},t.prototype.setFromPoints=function(t){this.makeEmpty();for(var e=0,r=t.length;e<r;e++)this.expandByPoint(t[e]);return this},t.prototype.setFromCenterAndSize=function(t,e){var r=e.clone().multiply(.5);return this.min.copyFrom(t).subtract(r),this.max.copyFrom(t).add(r),this},t.prototype.setFromObject=function(t){return this.makeEmpty(),this.expandByObject(t)},t.prototype.clone=function(){return(new t).copyFrom(this)},t.prototype.copyFrom=function(t){return this.min.copyFrom(t.min),this.max.copyFrom(t.max),this},t.prototype.makeEmpty=function(){return this.min.x=this.min.y=this.min.z=Number(1/0),this.max.x=this.max.y=this.max.z=-1/0,this},t.prototype.isEmpty=function(){return this.max.x<this.min.x||this.max.y<this.min.y||this.max.z<this.min.z},t.prototype.getCenter=function(t){return void 0===t&&(t=new H),this.isEmpty()?t.set(0,0,0):t.addVectors(this.min,this.max).multiply(.5)},t.prototype.getSize=function(t){return void 0===t&&(t=new H),this.isEmpty()?t.set(0,0,0):t.subtractVectors(this.max,this.min)},t.prototype.expandByPoint=function(t){return this.min.min(t),this.max.max(t),this},t.prototype.expandByVector=function(t){return this.min.subtract(t),this.max.add(t),this},t.prototype.expandByScalar=function(t){return this.min.add(-t),this.max.add(t),this},t.prototype.expandByBox=function(t){return this.min.min(t.min),this.max.max(t.max),this},t.prototype.expandByObject=function(e){e.updateWorldMatrix(!1,!1);var r=e.geometry;if(void 0!==r){null===r.boundingBox&&r.computeBoundingBox();var i=new t;i.copyFrom(r.boundingBox),i.applyMatrix4(e.matrixWorld),this.union(i)}for(var n=e.children,o=0,a=n.length;o<a;o++)this.expandByObject(n[o]);return this},t.prototype.containsPoint=function(t){return!(t.x<this.min.x||t.x>this.max.x||t.y<this.min.y||t.y>this.max.y||t.z<this.min.z||t.z>this.max.z)},t.prototype.containsBox=function(t){return this.min.x<=t.min.x&&this.max.x>=t.max.x&&this.min.y<=t.min.y&&this.max.y>=t.max.y&&this.min.z<=t.min.z&&this.max.z>=t.max.z},t.prototype.getParameter=function(t,e){return void 0===e&&(e=new H),e.set((t.x-this.min.x)/(this.max.x-this.min.x),(t.y-this.min.y)/(this.max.y-this.min.y),(t.z-this.min.z)/(this.max.z-this.min.z))},t.prototype.intersectsBox=function(t){return!(t.max.x<this.min.x||t.min.x>this.max.x||t.max.y<this.min.y||t.min.y>this.max.y||t.max.z<this.min.z||t.min.z>this.max.z)},t.prototype.intersectsSphere=function(t){var e=new H;return this.clampPoint(t.center,e),e.distanceSquared(t.center)<=t.radius*t.radius},t.prototype.clampPoint=function(t,e){return void 0===e&&(e=new H),e.copyFrom(t).clamp(this.min,this.max)},t.prototype.distanceToPoint=function(t){return t.clone().clamp(this.min,this.max).subtract(t).length()},t.prototype.intersect=function(t){return this.min.max(t.min),this.max.min(t.max),this.isEmpty()&&this.makeEmpty(),this},t.prototype.union=function(t){return this.min.min(t.min),this.max.max(t.max),this},t.prototype.applyMatrix4=function(t,e){if(void 0===e&&(e=new H),this.isEmpty())return this;var r=this.getOBBPoints(t,e);return this.setFromPoints(r),this},t.prototype.getOBBPoints=function(t,e){if(void 0===e&&(e=new H),this.isEmpty())return[];var r=[];return r[0]=new H(this.min.x,this.min.y,this.min.z),r[1]=new H(this.min.x,this.min.y,this.max.z),r[2]=new H(this.min.x,this.max.y,this.min.z),r[3]=new H(this.min.x,this.max.y,this.max.z),r[4]=new H(this.max.x,this.min.y,this.min.z),r[5]=new H(this.max.x,this.min.y,this.max.z),r[6]=new H(this.max.x,this.max.y,this.min.z),r[7]=new H(this.max.x,this.max.y,this.max.z),r.forEach((function(r){r.subtract(e),r.applyMatrix(t),r.add(e)})),r},t.prototype.getBoundingSphere=function(t){this.getCenter(t.center);var e=new H;return t.radius=.5*this.getSize(e).length(),t},t.prototype.translate=function(t){return this.min.add(t),this.max.add(t),this},t.prototype.equals=function(t){return t.min.equals(this.min)&&t.max.equals(this.max)},t}(),nt=function(){function t(t,e){void 0===t&&(t=H.ZERO),void 0===e&&(e=-1),this.center=t.clone(),this.radius=e}return t.prototype.set=function(t,e){return this.center.copyFrom(t),this.radius=e,this},t.prototype.setFromPoints=function(t,e){var r=this.center;if(void 0!==e){r.copyFrom(e);for(var i=0,n=0;n<t.length;n++)i=Math.max(i,r.distanceSquared(t[n]));this.radius=Math.sqrt(i)}else{var o=(new it).setFromPoints(t);o.getCenter(r),this.radius=o.getSize().length()/2}return this},t.prototype.copyFrom=function(t){return this.center.copyFrom(t.center),this.radius=t.radius,this},t.prototype.isEmpty=function(){return this.radius<0},t.prototype.makeEmpty=function(){return this.center.set(0,0,0),this.radius=-1,this},t.prototype.containsPoint=function(t){return t.distanceSquared(this.center)<=this.radius*this.radius},t.prototype.distanceToPoint=function(t){return t.distance(this.center)-this.radius},t.prototype.intersectsSphere=function(t){var e=this.radius+t.radius;return t.center.distanceSquared(this.center)<=e*e},t.prototype.intersectsBox=function(t){return t.intersectsSphere(this)},t.prototype.clampPoint=function(t,e){var r=this.center.distanceSquared(t);return void 0===e&&(e=new H),e.copyFrom(t),r>this.radius*this.radius&&(e.subtract(this.center).normalize(),e.multiply(this.radius).add(this.center)),e},t.prototype.getBoundingBox=function(t){return void 0===t&&(t=new it),this.isEmpty()?(t.makeEmpty(),t):(t.set(this.center,this.center),t.expandByScalar(this.radius),t)},t.prototype.applyMatrix4=function(t){var e=t.elements,r=e[0]*e[0]+e[1]*e[1]+e[2]*e[2],i=e[4]*e[4]+e[5]*e[5]+e[6]*e[6],n=e[8]*e[8]+e[9]*e[9]+e[10]*e[10],o=Math.sqrt(Math.max(r,i,n));return this.center.applyMatrix(t),this.radius=this.radius*o,this},t.prototype.translate=function(t){return this.center.add(t),this},t.prototype.expandByPoint=function(t){var e=(new H).subtractVectors(t,this.center),r=e.lengthSquared();if(r>this.radius*this.radius){var i=Math.sqrt(r),n=.5*(i-this.radius);this.center.add(e.multiply(n/i)),this.radius+=n}return this},t.prototype.union=function(t){var e=new H,r=new H;return r.subtractVectors(t.center,this.center).normalize().multiply(t.radius),this.expandByPoint(e.copyFrom(t.center).add(r)),this.expandByPoint(e.copyFrom(t.center).subtract(r)),this},t.prototype.intersect=function(t){var e=(new H).subtractVectors(this.center,t.center),r=e.length();return r>this.radius+t.radius?this.makeEmpty():(this.center=this.center.add(e.normalize().multiply(r/2)),this.radius=this.radius+t.radius-r,this)},t.prototype.equals=function(t){return t.center.equals(this.center)&&t.radius===this.radius},t.prototype.clone=function(){return(new t).copyFrom(this)},t}(),ot=Object.freeze({__proto__:null,get EulerOrder(){return X},Euler:Q,Quaternion:Y,Vector2:j,Vector3:H,Vector4:K,Matrix3:tt,Matrix4:q,Ray:et,PI2:N,DEG2RAD:D,RAD2DEG:z,NumberEpsilon:U,isZero:function(t){return isNaN(t)||Math.abs(t)<U},isEqual:k,damp:function(t,e,r,i){return B(t,e,1-Math.exp(-r*i))},lerp:B,degToRad:function(t){return t*D},radToDeg:function(t){return t*z},clamp:G,Color:rt,Box3:it,Sphere:nt});new Q,new H(1,1,1),new H(0,0,0);var at,st="[Galacean Effects]";function ut(t){return["%c".concat(st),"background: #AA0100; color: white","".concat(t)]}var ct,lt={error:function(t){for(var e=[],r=1;r<arguments.length;r++)e[r-1]=arguments[r];console.error.apply(console,f(f([],h(ut(t)),!1),[e],!1)),null==at||at("error",t,e)},info:function(t){for(var e=[],r=1;r<arguments.length;r++)e[r-1]=arguments[r];console.debug.apply(console,f([],h(ut(t)),!1)),null==at||at("info",t,e)},warn:function(t){for(var e=[],r=1;r<arguments.length;r++)e[r-1]=arguments[r];console.warn.apply(console,f([],h(ut(t)),!1)),null==at||at("warn",t,e)},register:function(t){t&&dt(t)&&(at=t)}};function ht(){}function ft(t){return"string"==typeof t}t.DestroyOptions=void 0,(ct=t.DestroyOptions||(t.DestroyOptions={}))[ct.destroy=0]="destroy",ct[ct.keep=1]="keep",ct[ct.force=0]="force";var pt=Array.isArray||function(t){return"[object Array]"===Object.prototype.toString.call(t)};function dt(t){return"[object Function]"===Object.prototype.toString.call(t)}function mt(t){return"[object Object]"===Object.prototype.toString.call(t)}function yt(t,e){return t+Math.random()*(e-t)}function vt(){throw Error("destroyed item cannot be used again")}function xt(){return g().replace(/-/g,"")}
9
- /*!
6
+ * Version: v2.0.0-alpha.7
7
+ */function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("three")):"function"==typeof define&&define.amd?define(["exports","three"],e):e(((t="undefined"!=typeof globalThis?globalThis:t||self).ge=t.ge||{},t.ge.three={}),t.THREE)}(this,function(t,e){"use strict";var r,i,n,o,a,s,u,l,c,h,f,m,d,p,v,y,g,x,T,E,_,C,S,R,A,b,O,w,L,I,M,P,V,F,N,D,z,k,U,B,G,X,H,Y,W,j,Z,q,Q,K,J,$,tt,te,tr,ti,tn,to,ta,ts,tu,tl,tc,th,tf,tm,td,tp,tv,ty,tg,tx,tT,tE,t_,tC,tS,tR,tA,tb,tO,tw,tL,tI,tM,tP,tV,tF,tN,tD,tz,tk,tU,tB,tG,tX,tH,tY,tW,tj,tZ,tq,tQ,tK,tJ,t$,t0,t1,t2,t3,t4,t5,t6,t8,t9,t7,et,ee,er,ei,en,eo,ea,es,eu,el,ec,eh,ef,em,ed,ep,ev,ey,eg,ex,eT,eE,e_,eC,eS,eR,eA,eb,eO,ew,eL,eI,eM,eP,eV,eF,eN,eD,ez,ek,eU,eB,eG,eX,eH,eY,eW,ej,eZ,eq,eQ,eK,eJ=function(t){if(t&&t.__esModule)return t;var e=Object.create(null);return t&&Object.keys(t).forEach(function(r){if("default"!==r){var i=Object.getOwnPropertyDescriptor(t,r);Object.defineProperty(e,r,i.get?i:{enumerable:!0,get:function(){return t[r]}})}}),e.default=t,Object.freeze(e)}(e);function e$(t,e,r,i,n,o,a){try{var s=t[o](a),u=s.value}catch(t){r(t);return}s.done?e(u):Promise.resolve(u).then(i,n)}function e0(t){return function(){var e=this,r=arguments;return new Promise(function(i,n){var o=t.apply(e,r);function a(t){e$(o,i,n,a,s,"next",t)}function s(t){e$(o,i,n,a,s,"throw",t)}a(void 0)})}}function e1(t,e){return null!=e&&"undefined"!=typeof Symbol&&e[Symbol.hasInstance]?!!e[Symbol.hasInstance](t):e1(t,e)}function e2(t){return t&&"undefined"!=typeof Symbol&&t.constructor===Symbol?"symbol":typeof t}function e3(t,e,r,i){var n,o=arguments.length,a=o<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,r,i);else for(var s=t.length-1;s>=0;s--)(n=t[s])&&(a=(o<3?n(a):o>3?n(e,r,a):n(e,r))||a);return o>3&&a&&Object.defineProperty(e,r,a),a}function e4(t,e){var r,i,n,o,a={label:0,sent:function(){if(1&n[0])throw n[1];return n[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(s){return function(u){return function(s){if(r)throw TypeError("Generator is already executing.");for(;o&&(o=0,s[0]&&(a=0)),a;)try{if(r=1,i&&(n=2&s[0]?i.return:s[0]?i.throw||((n=i.return)&&n.call(i),0):i.next)&&!(n=n.call(i,s[1])).done)return n;switch(i=0,n&&(s=[2&s[0],n.value]),s[0]){case 0:case 1:n=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,i=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!(n=(n=a.trys).length>0&&n[n.length-1])&&(6===s[0]||2===s[0])){a=0;continue}if(3===s[0]&&(!n||s[1]>n[0]&&s[1]<n[3])){a.label=s[1];break}if(6===s[0]&&a.label<n[1]){a.label=n[1],n=s;break}if(n&&a.label<n[2]){a.label=n[2],a.ops.push(s);break}n[2]&&a.ops.pop(),a.trys.pop();continue}s=e.call(t,a)}catch(t){s=[6,t],i=0}finally{r=n=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,u])}}}"function"==typeof SuppressedError&&SuppressedError;for(var e5=new Uint8Array(16),e6=[],e8=0;e8<256;++e8)e6.push((e8+256).toString(16).slice(1));var e9={randomUUID:"undefined"!=typeof crypto&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)};function e7(t,e){return t.includes(e)||t.push(e),t}function rt(t,e){var r=t.indexOf(e);return r>-1&&t.splice(r,1),t}function re(t,e,r,i){if(void 0===r&&(r=1),t.buffer.byteLength<t.BYTES_PER_ELEMENT*e){var n=Math.ceil(e*r);isNaN(i)||(n=Math.min(n,i));var o=new ArrayBuffer(t.BYTES_PER_ELEMENT*n),a=new t.constructor(o);return a.set(t),a}return t}function rr(t,e){var r=[0,0,0,0];if(rV(t)){t=t.replace(/[\s\t\r\n]/g,"");var i=/rgba?\(([.\d]+),([.\d]+),([.\d]+),?([.\d]+)?\)/.exec(t);if(i){var n=+i[4];r=[+i[1],+i[2],+i[3],isNaN(n)?255:255*n]}else/^#[a-f\d]{3}$/i.test(t)?r=[parseInt(t[1]+t[1],16),parseInt(t[2]+t[2],16),parseInt(t[3]+t[3],16),255]:(i=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t))&&(r=[parseInt(i[1],16),parseInt(i[2],16),parseInt(i[3],16),255])}else e1(t,Array)&&(r=[t[0],t[1],t[2],isNaN(t[3])?255:t[3]]);if(e)for(var o=0;o<4;o++)r[o]/=255;return r}function ri(t,e,r){if(t.length){for(var i,n=1;n<=t.length-1;n++){var o=t[n-1],a=t[n];if(o.stop<=e&&e<=a.stop){i=ro(o.color,a.color,(e-o.stop)/(a.stop-o.stop));break}}return i||(i=t[t.length-1].color),r?i.map(function(t){return t/255}):i}return[0,0,0,0]}function rn(t){var e=[];if(e1(t,Array)?t.forEach(function(t){var r=t[0],i=t[1],n=t[2],o=t[3],a=t[4];e.push({stop:ra(r),color:[i,n,o,a]})}):Object.keys(t).forEach(function(r){var i=rr(t[r]);e.push({stop:ra(r),color:i})}),(e=e.sort(function(t,e){return t.stop-e.stop})).length){0!==e[0].stop&&e.unshift({stop:0,color:e[0].color.slice()});var r=e[e.length-1];1!==r.stop&&e.push({stop:1,color:r.color.slice()})}return e}function ro(t,e,r,i){var n=[],o=1-r;if(i)for(var a=0;a<4;a++)n[a]=t[a]*o+e[a]*r;else{for(var s=0;s<3;s++)n[s]=Math.round(Math.sqrt(t[s]*t[s]*o+e[s]*e[s]*r));n[3]=Math.round(t[3]*o+e[3]*r)}return n}function ra(t){var e=/^(-)?([\d+.]+)%$/.exec(t);return e?+e[2]/100*(e[1]?-1:1):+t}function rs(){return/\b[Aa]ndroid\b/.test(navigator.userAgent)}function ru(){return rs()||/\b(iPad|iPhone|iPod)\b/.test(navigator.userAgent)}function rl(t){var e={width:128,height:1,data:new Uint8Array(512)},r=e.data,i=rn(t);if(i.length){r.set(i[0].color,0);for(var n=1;n<127;n++){for(var o=n/128,a=void 0,s=void 0,u=0;u<i.length&&(a=i[u],s=i[u+1],!(a.stop<=o)||!(s.stop>o));u++);var l=ro(a.color,s.color,(o-a.stop)/(s.stop-a.stop));r.set(l,4*n)}r.set(i[i.length-1].color,508)}return e}function rc(t,e){void 0===e&&(e=2);var r=t.length;if(r<=1||1===e)return t;if(!(r<=30))return function t(e,r,i,n){if(void 0===i&&(i=0),void 0===n&&(n=e.length-1),i>=n)return e;for(var o,a,s=e[i],u=i,l=n;u<l;){if(2===r){for(;e[l].priority>s.priority&&l>=u;)l--;for(;e[u].priority<=s.priority&&u<l;)u++}else{for(;e[l].priority<s.priority&&l>=u;)l--;for(;e[u].priority>=s.priority&&u<l;)u++}o=[e[l],e[u]],e[u]=o[0],e[l]=o[1]}return a=[e[u],e[i]],e[i]=a[0],e[u]=a[1],t(e,r,i,u-1),t(e,r,l+1,n),e}(t,e);for(var i=1;i<r;i++)rf(t,i,e);return t}function rh(t,e,r){return void 0===r&&(r=2),t.includes(e)||(t.push(e),1===t.length||1!==r&&rf(t,t.length-1,r)),t}function rf(t,e,r){var i=t[e];if(2!==r)for(;e>=1&&t[e-1].priority<i.priority&&(t[e]=t[e-1],0!=--e););else for(;e>=1&&t[e-1].priority>i.priority&&(t[e]=t[e-1],0!=--e););t[e]=i}function rm(t,e){if(void 0===e&&(e="item doesn't exist"),null==t)throw Error(e)}t.OrderType=void 0,(r=t.OrderType||(t.OrderType={}))[r.none=1]="none",r[r.ascending=2]="ascending",r[r.descending=3]="descending";var rd=Math.PI/180,rp=180/Math.PI;function rv(t,e){return 1e-6>Math.abs(t-e)||t===1/0&&e===1/0||t===-1/0&&e===-1/0}var ry=function(t,e,r){return(1-r)*t+r*e};function rg(t,e,r){var i=isNaN(e)?-1/0:e,n=isNaN(r)?1/0:r;return Math.min(Math.max(t,Math.min(i,n)),Math.max(i,n))}var rx=function(){function t(t,e){void 0===t&&(t=0),void 0===e&&(e=0),this.x=t,this.y=e}var e=t.prototype;return e.set=function(t,e){return this.x=t,this.y=e,this},e.setZero=function(){return this.x=0,this.y=0,this},e.setFromNumber=function(t){return this.x=t,this.y=t,this},e.setFromArray=function(t,e){var r,i;return void 0===e&&(e=0),this.x=null!=(r=t[e])?r:0,this.y=null!=(i=t[e+1])?i:0,this},e.copyFrom=function(t){return this.x=t.x,this.y=t.y,this},e.clone=function(){return new t(this.x,this.y)},e.setElement=function(t,e){switch(t){case 0:this.x=e;break;case 1:this.y=e;break;default:console.error("index is out of range: "+t)}return this},e.getElement=function(t){switch(t){case 0:return this.x;case 1:return this.y;default:console.error("index is out of range: "+t)}return 0},e.add=function(t){return"number"==typeof t?(this.x+=t,this.y+=t):e1(t,Array)?(this.x+=t[0],this.y+=t[1]):(this.x+=t.x,this.y+=t.y),this},e.addVectors=function(t,e){return this.x=t.x+e.x,this.y=t.y+e.y,this},e.subtract=function(t){return"number"==typeof t?(this.x-=t,this.y-=t):e1(t,Array)?(this.x-=t[0],this.y-=t[1]):(this.x-=t.x,this.y-=t.y),this},e.subtractVectors=function(t,e){return this.x=t.x-e.x,this.y=t.y-e.y,this},e.multiply=function(t){return"number"==typeof t?(this.x*=t,this.y*=t):e1(t,Array)?(this.x*=t[0],this.y*=t[1]):(this.x*=t.x,this.y*=t.y),this},e.multiplyVectors=function(t,e){return this.x=t.x*e.x,this.y=t.y*e.y,this},e.divide=function(t){return"number"==typeof t?(this.x/=t,this.y/=t):e1(t,Array)?(this.x/=t[0],this.y/=t[1]):(this.x/=t.x,this.y/=t.y),this},e.scale=function(t){return this.x*=t,this.y*=t,this},e.sum=function(){return this.x+this.y},e.min=function(t){return"number"==typeof t?(this.x=Math.min(this.x,t),this.y=Math.min(this.y,t)):(this.x=Math.min(this.x,t.x),this.y=Math.min(this.y,t.y)),this},e.max=function(t){return"number"==typeof t?(this.x=Math.max(this.x,t),this.y=Math.max(this.y,t)):(this.x=Math.max(this.x,t.x),this.y=Math.max(this.y,t.y)),this},e.clamp=function(t,e){return this.max(t).min(e)},e.floor=function(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this},e.ceil=function(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this},e.round=function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this},e.abs=function(){return this.x=Math.abs(this.x),this.y=Math.abs(this.y),this},e.negate=function(){return this.x=-this.x,this.y=-this.y,this},e.length=function(){return Math.sqrt(this.x*this.x+this.y*this.y)},e.lengthSquared=function(){return this.x*this.x+this.y*this.y},e.normalize=function(){return this.divide(this.length()||1)},e.setLength=function(t){return this.normalize().multiply(t)},e.lerp=function(t,e){return this.x+=(t.x-this.x)*e,this.y+=(t.y-this.y)*e,this},e.lerpVectors=function(t,e,r){return this.x=t.x+(e.x-t.x)*r,this.y=t.y+(e.y-t.y)*r,this},e.dot=function(t){return this.x*t.x+this.y*t.y},e.cross=function(t){return this.x*t.y-this.y*t.x},e.distance=function(t){var e=this.x-t.x,r=this.y-t.y;return Math.sqrt(e*e+r*r)},e.distanceSquared=function(t){var e=this.x-t.x,r=this.y-t.y;return e*e+r*r},e.equals=function(t){return this.x===t.x&&this.y===t.y},e.isZero=function(){var t=this.x,e=this.y;return 1e-6>=Math.abs(t)&&1e-6>=Math.abs(e)},e.toArray=function(){return[this.x,this.y]},e.fill=function(t,e){void 0===e&&(e=0),t[e]=this.x,t[e+1]=this.y},e.random=function(){return this.x=Math.random(),this.y=Math.random(),this},t.fromNumber=function(e){return new t().setFromNumber(e)},t.fromArray=function(e,r){return void 0===r&&(r=0),new t().setFromArray(e,r)},t}();rx.ONE=new rx(1,1),rx.ZERO=new rx(0,0);var rT=function(){function t(t,e,r){void 0===t&&(t=0),void 0===e&&(e=0),void 0===r&&(r=0),this.x=t,this.y=e,this.z=r}var e=t.prototype;return e.set=function(t,e,r){return this.x=t,this.y=e,this.z=r,this},e.setZero=function(){return this.x=0,this.y=0,this.z=0,this},e.setFromNumber=function(t){return this.x=t,this.y=t,this.z=t,this},e.setFromArray=function(t,e){var r,i,n;return void 0===e&&(e=0),this.x=null!=(r=t[e])?r:0,this.y=null!=(i=t[e+1])?i:0,this.z=null!=(n=t[e+2])?n:0,this},e.copyFrom=function(t){return this.x=t.x,this.y=t.y,this.z=t.z,this},e.clone=function(){return new t(this.x,this.y,this.z)},e.setElement=function(t,e){switch(t){case 0:this.x=e;break;case 1:this.y=e;break;case 2:this.z=e;break;default:console.error("index is out of range: "+t)}return this},e.getElement=function(t){switch(t){case 0:return this.x;case 1:return this.y;case 2:return this.z;default:console.error("index is out of range: "+t)}return 0},e.add=function(t){return"number"==typeof t?(this.x+=t,this.y+=t,this.z+=t):e1(t,Array)?(this.x+=t[0],this.y+=t[1],this.z+=t[2]):(this.x+=t.x,this.y+=t.y,this.z+=t.z),this},e.addVectors=function(t,e){return this.x=t.x+e.x,this.y=t.y+e.y,this.z=t.z+e.z,this},e.addScaledVector=function(t,e){return this.x+=t.x*e,this.y+=t.y*e,this.z+=t.z*e,this},e.subtract=function(t){return"number"==typeof t?(this.x-=t,this.y-=t,this.z-=t):e1(t,Array)?(this.x-=t[0],this.y-=t[1],this.z-=t[2]):(this.x-=t.x,this.y-=t.y,this.z-=t.z),this},e.subtractVectors=function(t,e){return this.x=t.x-e.x,this.y=t.y-e.y,this.z=t.z-e.z,this},e.multiply=function(t){return"number"==typeof t?(this.x*=t,this.y*=t,this.z*=t):e1(t,Array)?(this.x*=t[0],this.y*=t[1],this.z*=t[2]):(this.x*=t.x,this.y*=t.y,this.z*=t.z),this},e.multiplyVectors=function(t,e){return this.x=t.x*e.x,this.y=t.y*e.y,this.z=t.z*e.z,this},e.divide=function(t){return"number"==typeof t?(this.x/=t,this.y/=t,this.z/=t):e1(t,Array)?(this.x/=t[0],this.y/=t[1],this.z/=t[2]):(this.x/=t.x,this.y/=t.y,this.z/=t.z),this},e.scale=function(t){return this.x*=t,this.y*=t,this.z*=t,this},e.sum=function(){return this.x+this.y+this.z},e.min=function(t){return"number"==typeof t?(this.x=Math.min(this.x,t),this.y=Math.min(this.y,t),this.z=Math.min(this.z,t)):(this.x=Math.min(this.x,t.x),this.y=Math.min(this.y,t.y),this.z=Math.min(this.z,t.z)),this},e.max=function(t){return"number"==typeof t?(this.x=Math.max(this.x,t),this.y=Math.max(this.y,t),this.z=Math.max(this.z,t)):(this.x=Math.max(this.x,t.x),this.y=Math.max(this.y,t.y),this.z=Math.max(this.z,t.z)),this},e.clamp=function(t,e){return this.max(t).min(e)},e.floor=function(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this},e.ceil=function(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this},e.round=function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this},e.abs=function(){return this.x=Math.abs(this.x),this.y=Math.abs(this.y),this.z=Math.abs(this.z),this},e.negate=function(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this},e.length=function(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)},e.lengthSquared=function(){return this.x*this.x+this.y*this.y+this.z*this.z},e.normalize=function(){return this.divide(this.length()||1)},e.setLength=function(t){return this.normalize().multiply(t)},e.lerp=function(t,e){return this.x+=(t.x-this.x)*e,this.y+=(t.y-this.y)*e,this.z+=(t.z-this.z)*e,this},e.lerpVectors=function(t,e,r){return this.x=t.x+(e.x-t.x)*r,this.y=t.y+(e.y-t.y)*r,this.z=t.z+(e.z-t.z)*r,this},e.dot=function(t){return this.x*t.x+this.y*t.y+this.z*t.z},e.cross=function(t){return this.crossVectors(this,t)},e.crossVectors=function(t,e){var r=t.x,i=t.y,n=t.z,o=e.x,a=e.y,s=e.z;return this.x=i*s-n*a,this.y=n*o-r*s,this.z=r*a-i*o,this},e.reflect=function(t){return this.subtract(t.clone().multiply(2*this.dot(t)))},e.distance=function(t){return Math.sqrt(this.distanceSquared(t))},e.distanceSquared=function(t){var e=this.x-t.x,r=this.y-t.y,i=this.z-t.z;return e*e+r*r+i*i},e.equals=function(t){return t.x===this.x&&t.y===this.y&&t.z===this.z},e.isZero=function(){var t=this.x,e=this.y,r=this.z;return 1e-6>=Math.abs(t)&&1e-6>=Math.abs(e)&&1e-6>=Math.abs(r)},e.toArray=function(){return[this.x,this.y,this.z]},e.toVector2=function(){return new rx(this.x,this.y)},e.fill=function(t,e){void 0===e&&(e=0),t[e]=this.x,t[e+1]=this.y,t[e+2]=this.z},e.random=function(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this},e.applyEuler=function(t,e){return t.rotateVector3(this,e)},e.applyQuaternion=function(t,e){return t.rotateVector3(this,e)},e.applyMatrix=function(t,e){return t.transformPoint(this,e)},e.applyNormalMatrix=function(t,e){return t.transformNormal(this,e)},e.applyProjectionMatrix=function(t,e){return t.projectPoint(this,e)},t.fromNumber=function(e){return new t().setFromNumber(e)},t.fromArray=function(e,r){return void 0===r&&(r=0),new t().setFromArray(e,r)},t}();rT.X=new rT(1,0,0),rT.Y=new rT(0,1,0),rT.Z=new rT(0,0,1),rT.ONE=new rT(1,1,1),rT.ZERO=new rT(0,0,0);var rE=function(){function t(t,e,r,i){void 0===t&&(t=0),void 0===e&&(e=0),void 0===r&&(r=0),void 0===i&&(i=1),this.x=t,this.y=e,this.z=r,this.w=i}var e=t.prototype;return e.set=function(t,e,r,i){return this.x=t,this.y=e,this.z=r,this.w=i,this},e.setFromEuler=function(t){return t.toQuaternion(this),this},e.setFromAxisAngle=function(e,r){var i=r/2,n=Math.sin(i),o=t.tempVec0;return o.copyFrom(e).normalize(),this.x=o.x*n,this.y=o.y*n,this.z=o.z*n,this.w=Math.cos(i),this},e.setFromArray=function(t,e){return void 0===e&&(e=0),this.x=t[e],this.y=t[e+1],this.z=t[e+2],this.w=t[e+3],this},e.setFromRotationMatrix=function(t){var e=t.elements,r=e[0],i=e[4],n=e[8],o=e[1],a=e[5],s=e[9],u=e[2],l=e[6],c=e[10],h=r+a+c;if(h>0){var f=.5/Math.sqrt(h+1);this.w=.25/f,this.x=(l-s)*f,this.y=(n-u)*f,this.z=(o-i)*f}else if(r>a&&r>c){var m=2*Math.sqrt(1+r-a-c);this.w=(l-s)/m,this.x=.25*m,this.y=(i+o)/m,this.z=(n+u)/m,this.negate()}else if(a>c){var d=2*Math.sqrt(1+a-r-c);this.w=(n-u)/d,this.x=(i+o)/d,this.y=.25*d,this.z=(s+l)/d,this.negate()}else{var p=2*Math.sqrt(1+c-r-a);this.w=(o-i)/p,this.x=(n+u)/p,this.y=(s+l)/p,this.z=.25*p,this.negate()}return this},e.setFromUnitVectors=function(t,e){var r=t.dot(e)+1;return r<Number.EPSILON?(r=0,Math.abs(t.x)>Math.abs(t.z)?(this.x=-t.y,this.y=t.x,this.z=0):(this.x=0,this.y=-t.z,this.z=t.y)):(this.x=t.y*e.z-t.z*e.y,this.y=t.z*e.x-t.x*e.z,this.z=t.x*e.y-t.y*e.x),this.w=r,this.normalize()},e.copyFrom=function(t){return this.x=t.x,this.y=t.y,this.z=t.z,this.w=t.w,this},e.clone=function(){return new t(this.x,this.y,this.z,this.w)},e.angleTo=function(t){return 2*Math.acos(Math.abs(rg(this.dot(t),-1,1)))},e.rotateTowards=function(t,e){var r=this.angleTo(t);return 0===r||this.slerp(t,Math.min(1,e/r)),this},e.identity=function(){return this.set(0,0,0,1)},e.invert=function(){return this.conjugate()},e.negate=function(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this.w=-this.w,this},e.conjugate=function(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this},e.dot=function(t){return this.x*t.x+this.y*t.y+this.z*t.z+this.w*t.w},e.lengthSquared=function(){return this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w},e.length=function(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w)},e.normalize=function(){var t=this.length();return 0===t?(this.x=0,this.y=0,this.z=0,this.w=1):(t=1/t,this.x=this.x*t,this.y=this.y*t,this.z=this.z*t,this.w=this.w*t),this},e.multiply=function(t){return this.multiplyQuaternions(this,t)},e.premultiply=function(t){return this.multiplyQuaternions(t,this)},e.multiplyQuaternions=function(t,e){var r=t.x,i=t.y,n=t.z,o=t.w,a=e.x,s=e.y,u=e.z,l=e.w;return this.x=r*l+o*a+i*u-n*s,this.y=i*l+o*s+n*a-r*u,this.z=n*l+o*u+r*s-i*a,this.w=o*l-r*a-i*s-n*u,this},e.slerp=function(t,e){if(0===e)return this;if(1===e)return this.copyFrom(t);var r=this.x,i=this.y,n=this.z,o=this.w,a=o*t.w+r*t.x+i*t.y+n*t.z;if(a<0?(this.w=-t.w,this.x=-t.x,this.y=-t.y,this.z=-t.z,a=-a):this.copyFrom(t),a>=1)return this.w=o,this.x=r,this.y=i,this.z=n,this;var s=1-a*a;if(s<=Number.EPSILON){var u=1-e;return this.w=u*o+e*this.w,this.x=u*r+e*this.x,this.y=u*i+e*this.y,this.z=u*n+e*this.z,this.normalize(),this}var l=Math.sqrt(s),c=Math.atan2(l,a),h=Math.sin((1-e)*c)/l,f=Math.sin(e*c)/l;return this.w=o*h+this.w*f,this.x=r*h+this.x*f,this.y=i*h+this.y*f,this.z=n*h+this.z*f,this},e.slerpQuaternions=function(t,e,r){this.copyFrom(t).slerp(e,r)},e.rotateVector3=function(t,e){var r=this.x,i=this.y,n=this.z,o=this.w,a=t.x,s=t.y,u=t.z,l=o*a+i*u-n*s,c=o*s+n*a-r*u,h=o*u+r*s-i*a,f=-r*a-i*s-n*u,m=null!=e?e:t;return m.x=l*o+-(f*r)+-(c*n)- -(h*i),m.y=c*o+-(f*i)+-(h*r)- -(l*n),m.z=h*o+-(f*n)+-(l*i)- -(c*r),m},e.equals=function(t){return t.x===this.x&&t.y===this.y&&t.z===this.z&&t.w===this.w},e.toArray=function(){return[this.x,this.y,this.z,this.w]},e.toVector4=function(t){return t.set(this.x,this.y,this.z,this.w)},e.toEuler=function(t){return t.setFromQuaternion(this)},e.toMatrix4=function(t){return t.compose(rT.ZERO,this,rT.ONE)},t.fromEuler=function(e){return new t().setFromEuler(e)},t.fromAxisAngle=function(e,r){return new t().setFromAxisAngle(e,r)},t.fromArray=function(e,r){return void 0===r&&(r=0),new t().setFromArray(e,r)},t.fromRotationMatrix=function(e){return new t().setFromRotationMatrix(e)},t.fromUnitVectors=function(e,r){return new t().setFromUnitVectors(e,r)},t}();rE.tempVec0=new rT;var r_=function(){function t(t,e,r,i,n,o,a,s,u,l,c,h,f,m,d,p){void 0===t&&(t=1),void 0===e&&(e=0),void 0===r&&(r=0),void 0===i&&(i=0),void 0===n&&(n=0),void 0===o&&(o=1),void 0===a&&(a=0),void 0===s&&(s=0),void 0===u&&(u=0),void 0===l&&(l=0),void 0===c&&(c=1),void 0===h&&(h=0),void 0===f&&(f=0),void 0===m&&(m=0),void 0===d&&(d=0),void 0===p&&(p=1),this.elements=[t,e,r,i,n,o,a,s,u,l,c,h,f,m,d,p]}var e=t.prototype;return e.set=function(t,e,r,i,n,o,a,s,u,l,c,h,f,m,d,p){var v=this.elements;return v[0]=t,v[1]=e,v[2]=r,v[3]=i,v[4]=n,v[5]=o,v[6]=a,v[7]=s,v[8]=u,v[9]=l,v[10]=c,v[11]=h,v[12]=f,v[13]=m,v[14]=d,v[15]=p,this},e.setFromRowMajorData=function(t,e,r,i,n,o,a,s,u,l,c,h,f,m,d,p){var v=this.elements;return v[0]=t,v[4]=e,v[8]=r,v[12]=i,v[1]=n,v[5]=o,v[9]=a,v[13]=s,v[2]=u,v[6]=l,v[10]=c,v[14]=h,v[3]=f,v[7]=m,v[11]=d,v[15]=p,this},e.setFromColumnVectors=function(t,e,r,i){return this.set(t.x,t.y,t.z,t.w,e.x,e.y,e.z,e.w,r.x,r.y,r.z,r.w,i.x,i.y,i.z,i.w)},e.setFromMatrix3=function(t){var e=t.elements;return this.set(e[0],e[1],e[2],0,e[3],e[4],e[5],0,e[6],e[7],e[8],0,0,0,0,1),this},e.setFromArray=function(t,e){void 0===e&&(e=0);for(var r=0;r<16;r++)this.elements[r]=t[e+r];return this},e.setFromScale=function(t,e,r){return this.set(t,0,0,0,0,e,0,0,0,0,r,0,0,0,0,1)},e.setFromTranslation=function(t,e,r){return this.set(1,0,0,0,0,1,0,0,0,0,1,0,t,e,r,1)},e.setFromRotationX=function(t){var e=Math.cos(t),r=Math.sin(t);return this.set(1,0,0,0,0,e,r,0,0,-r,e,0,0,0,0,1)},e.setFromRotationY=function(t){var e=Math.cos(t),r=Math.sin(t);return this.set(e,0,-r,0,0,1,0,0,r,0,e,0,0,0,0,1)},e.setFromRotationZ=function(t){var e=Math.cos(t),r=Math.sin(t);return this.set(e,r,0,0,-r,e,0,0,0,0,1,0,0,0,0,1)},e.setFromRotationAxis=function(e,r){var i=t.tempVec0;i.copyFrom(e).normalize();var n=Math.cos(r),o=Math.sin(r),a=1-n,s=i.x,u=i.y,l=i.z,c=a*s,h=a*u;return this.set(c*s+n,c*u+o*l,c*l-o*u,0,c*u-o*l,h*u+n,h*l+o*s,0,c*l+o*u,h*l-o*s,a*l*l+n,0,0,0,0,1)},e.setFromEuler=function(t){return t.toMatrix4(this),this},e.setFromQuaternion=function(t){return this.compose(rT.ZERO,t,rT.ONE)},e.setFromShear=function(t,e,r){return this.set(1,t,t,0,e,1,e,0,r,r,1,0,0,0,0,1)},e.setFromBasis=function(t,e,r){return this.set(t.x,t.y,t.z,0,e.x,e.y,e.z,0,r.x,r.y,r.z,0,0,0,0,1)},e.setZero=function(){for(var t=0;t<16;t++)this.elements[t]=0;return this},e.identity=function(){return this.set(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)},e.isIdentity=function(){var t=this.elements;return 1===t[0]&&0===t[4]&&0===t[8]&&0===t[12]&&0===t[1]&&1===t[5]&&0===t[9]&&0===t[13]&&0===t[2]&&0===t[6]&&1===t[10]&&0===t[14]&&0===t[3]&&0===t[7]&&0===t[11]&&1===t[15]},e.clone=function(){var e=this.elements;return new t(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])},e.copyFrom=function(t){return this.elements=[].concat(t.elements),this},e.getColumnVector=function(t,e){return e.set(this.elements[4*t],this.elements[4*t+1],this.elements[4*t+2],this.elements[4*t+3])},e.lookAt=function(e,r,i){var n=t.tempVec0,o=t.tempVec1,a=t.tempVec2;a.subtractVectors(e,r),a.normalize(),n.crossVectors(i,a),n.normalize(),o.crossVectors(a,n);var s=this.elements;return s[0]=n.x,s[1]=o.x,s[2]=a.x,s[3]=0,s[4]=n.y,s[5]=o.y,s[6]=a.y,s[7]=0,s[8]=n.z,s[9]=o.z,s[10]=a.z,s[11]=0,s[12]=-n.dot(e),s[13]=-o.dot(e),s[14]=-a.dot(e),s[15]=1,this},e.addScaledMatrix=function(t,e){for(var r=this.elements,i=t.elements,n=0;n<16;n++)r[n]+=i[n]*e;return this},e.multiply=function(t){if("number"!=typeof t)return this.multiplyMatrices(this,t);for(var e=0;e<16;e++)this.elements[e]*=t;return this},e.premultiply=function(t){return this.multiplyMatrices(t,this)},e.multiplyMatrices=function(t,e){var r=t.elements,i=e.elements,n=this.elements,o=r[0],a=r[4],s=r[8],u=r[12],l=r[1],c=r[5],h=r[9],f=r[13],m=r[2],d=r[6],p=r[10],v=r[14],y=r[3],g=r[7],x=r[11],T=r[15],E=i[0],_=i[4],C=i[8],S=i[12],R=i[1],A=i[5],b=i[9],O=i[13],w=i[2],L=i[6],I=i[10],M=i[14],P=i[3],V=i[7],F=i[11],N=i[15];return n[0]=o*E+a*R+s*w+u*P,n[4]=o*_+a*A+s*L+u*V,n[8]=o*C+a*b+s*I+u*F,n[12]=o*S+a*O+s*M+u*N,n[1]=l*E+c*R+h*w+f*P,n[5]=l*_+c*A+h*L+f*V,n[9]=l*C+c*b+h*I+f*F,n[13]=l*S+c*O+h*M+f*N,n[2]=m*E+d*R+p*w+v*P,n[6]=m*_+d*A+p*L+v*V,n[10]=m*C+d*b+p*I+v*F,n[14]=m*S+d*O+p*M+v*N,n[3]=y*E+g*R+x*w+T*P,n[7]=y*_+g*A+x*L+T*V,n[11]=y*C+g*b+x*I+T*F,n[15]=y*S+g*O+x*M+T*N,this},e.multiplyScalar=function(t){var e=this.elements;return e[0]*=t,e[4]*=t,e[8]*=t,e[12]*=t,e[1]*=t,e[5]*=t,e[9]*=t,e[13]*=t,e[2]*=t,e[6]*=t,e[10]*=t,e[14]*=t,e[3]*=t,e[7]*=t,e[11]*=t,e[15]*=t,this},e.determinant=function(){var t=this.elements,e=t[0],r=t[4],i=t[8],n=t[12],o=t[1],a=t[5],s=t[9],u=t[13],l=t[2],c=t[6],h=t[10],f=t[14];return t[3]*(+n*s*c-i*u*c-n*a*h+r*u*h+i*a*f-r*s*f)+t[7]*(+e*s*f-e*u*h+n*o*h-i*o*f+i*u*l-n*s*l)+t[11]*(+e*u*c-e*a*f-n*o*c+r*o*f+n*a*l-r*u*l)+t[15]*(-i*a*l-e*s*c+e*a*h+i*o*c-r*o*h+r*s*l)},e.transpose=function(){var t,e=this.elements;return t=e[1],e[1]=e[4],e[4]=t,t=e[2],e[2]=e[8],e[8]=t,t=e[3],e[3]=e[12],e[12]=t,t=e[6],e[6]=e[9],e[9]=t,t=e[7],e[7]=e[13],e[13]=t,t=e[11],e[11]=e[14],e[14]=t,this},e.invert=function(){var t=this.elements,e=t[0],r=t[1],i=t[2],n=t[3],o=t[4],a=t[5],s=t[6],u=t[7],l=t[8],c=t[9],h=t[10],f=t[11],m=t[12],d=t[13],p=t[14],v=t[15],y=c*p*u-d*h*u+d*s*f-a*p*f-c*s*v+a*h*v,g=m*h*u-l*p*u-m*s*f+o*p*f+l*s*v-o*h*v,x=l*d*u-m*c*u+m*a*f-o*d*f-l*a*v+o*c*v,T=m*c*s-l*d*s-m*a*h+o*d*h+l*a*p-o*c*p,E=e*y+r*g+i*x+n*T;if(0===E)return this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);var _=1/E;return t[0]=y*_,t[1]=(d*h*n-c*p*n-d*i*f+r*p*f+c*i*v-r*h*v)*_,t[2]=(a*p*n-d*s*n+d*i*u-r*p*u-a*i*v+r*s*v)*_,t[3]=(c*s*n-a*h*n-c*i*u+r*h*u+a*i*f-r*s*f)*_,t[4]=g*_,t[5]=(l*p*n-m*h*n+m*i*f-e*p*f-l*i*v+e*h*v)*_,t[6]=(m*s*n-o*p*n-m*i*u+e*p*u+o*i*v-e*s*v)*_,t[7]=(o*h*n-l*s*n+l*i*u-e*h*u-o*i*f+e*s*f)*_,t[8]=x*_,t[9]=(m*c*n-l*d*n-m*r*f+e*d*f+l*r*v-e*c*v)*_,t[10]=(o*d*n-m*a*n+m*r*u-e*d*u-o*r*v+e*a*v)*_,t[11]=(l*a*n-o*c*n-l*r*u+e*c*u+o*r*f-e*a*f)*_,t[12]=T*_,t[13]=(l*d*i-m*c*i+m*r*h-e*d*h-l*r*p+e*c*p)*_,t[14]=(m*a*i-o*d*i-m*r*s+e*d*s+o*r*p-e*a*p)*_,t[15]=(o*c*i-l*a*i+l*r*s-e*c*s-o*r*h+e*a*h)*_,this},e.extractBasis=function(t,e,r){var i=this.elements;return t.set(i[0],i[1],i[2]),e.set(i[4],i[5],i[6]),r.set(i[8],i[9],i[10]),this},e.compose=function(t,e,r,i){void 0===i&&(i=rT.ZERO);var n=this.elements,o=e.x,a=e.y,s=e.z,u=e.w,l=-i.x,c=-i.y,h=-i.z,f=o+o,m=a+a,d=s+s,p=o*f,v=o*m,y=o*d,g=a*m,x=a*d,T=s*d,E=u*f,_=u*m,C=u*d,S=r.x,R=r.y,A=r.z;return n[0]=(1-(g+T))*S,n[1]=(v+C)*S,n[2]=(y-_)*S,n[3]=0,n[4]=(v-C)*R,n[5]=(1-(p+T))*R,n[6]=(x+E)*R,n[7]=0,n[8]=(y+_)*A,n[9]=(x-E)*A,n[10]=(1-(p+g))*A,n[11]=0,n[12]=l*n[0]+c*n[4]+h*n[8]-l+t.x,n[13]=l*n[1]+c*n[5]+h*n[9]-c+t.y,n[14]=l*n[2]+c*n[6]+h*n[10]-h+t.z,this},e.decompose=function(e,r,i){var n=t.tempVec0,o=this.elements,a=n.set(o[0],o[1],o[2]).length(),s=n.set(o[4],o[5],o[6]).length(),u=n.set(o[8],o[9],o[10]).length();0>this.determinant()&&(a=-a),e.x=o[12],e.y=o[13],e.z=o[14];var l=t.tempMat0;l.copyFrom(this);var c=1/a,h=1/s,f=1/u;return l.elements[0]*=c,l.elements[1]*=c,l.elements[2]*=c,l.elements[4]*=h,l.elements[5]*=h,l.elements[6]*=h,l.elements[8]*=f,l.elements[9]*=f,l.elements[10]*=f,r.setFromRotationMatrix(l),i.x=a,i.y=s,i.z=u,this},e.getTranslation=function(t){var e=this.elements;return t.set(e[12],e[13],e[14])},e.getScale=function(t){var e=this.elements;return t.set(Math.hypot(e[0],e[1],e[2]),Math.hypot(e[4],e[5],e[6]),Math.hypot(e[8],e[9],e[10]))},e.getTransform=function(){var t=new rT,e=new rE,r=new rT;return this.decompose(t,e,r),{translation:t,rotation:e,scale:r}},e.orthographic=function(t,e,r,i,n,o){var a=1/(e-t),s=1/(r-i),u=1/(o-n),l=-(e+t)*a,c=-(r+i)*s,h=-(o+n)*u;a*=2,s*=2,u*=-2;var f=this.elements;return f[0]=a,f[1]=0,f[2]=0,f[3]=0,f[4]=0,f[5]=s,f[6]=0,f[7]=0,f[8]=0,f[9]=0,f[10]=u,f[11]=0,f[12]=l,f[13]=c,f[14]=h,f[15]=1,this},e.perspective=function(t,e,r,i,n){var o=1/Math.tan(.5*t),a=1/(r-i),s=this.elements;return s[0]=n?o:o/e,s[1]=0,s[2]=0,s[3]=0,s[4]=0,s[5]=n?o*e:o,s[6]=0,s[7]=0,s[8]=0,s[9]=0,s[10]=(i+r)*a,s[11]=-1,s[12]=0,s[13]=0,s[14]=2*i*r*a,s[15]=0,(null===i||i===1/0)&&(s[10]=-1,s[14]=-2*r),this},e.projectPoint=function(t,e){var r=t.x,i=t.y,n=t.z,o=this.elements,a=null!=e?e:t;a.x=o[0]*r+o[4]*i+o[8]*n+o[12],a.y=o[1]*r+o[5]*i+o[9]*n+o[13],a.z=o[2]*r+o[6]*i+o[10]*n+o[14];var s=o[3]*r+o[7]*i+o[11]*n+o[15];return a.multiply(1/s)},e.transformPoint=function(t,e){var r=t.x,i=t.y,n=t.z,o=this.elements,a=null!=e?e:t;return a.x=o[0]*r+o[4]*i+o[8]*n+o[12],a.y=o[1]*r+o[5]*i+o[9]*n+o[13],a.z=o[2]*r+o[6]*i+o[10]*n+o[14],a},e.transformNormal=function(t,e){var r=t.x,i=t.y,n=t.z,o=this.elements,a=null!=e?e:t;return a.x=o[0]*r+o[4]*i+o[8]*n,a.y=o[1]*r+o[5]*i+o[9]*n,a.z=o[2]*r+o[6]*i+o[10]*n,a.normalize()},e.transformVector4=function(t,e){var r=t.x,i=t.y,n=t.z,o=t.w,a=this.elements,s=null!=e?e:t;return s.x=a[0]*r+a[4]*i+a[8]*n+a[12]*o,s.y=a[1]*r+a[5]*i+a[9]*n+a[13]*o,s.z=a[2]*r+a[6]*i+a[10]*n+a[14]*o,s.w=a[3]*r+a[7]*i+a[11]*n+a[15]*o,s},e.equals=function(t){for(var e=this.elements,r=t.elements,i=0;i<16;i++)if(!rv(e[i],r[i]))return!1;return!0},e.toArray=function(){return[].concat(this.elements)},e.fill=function(t,e){void 0===e&&(e=0);var r=this.elements;t[e]=r[0],t[e+1]=r[1],t[e+2]=r[2],t[e+3]=r[3],t[e+4]=r[4],t[e+5]=r[5],t[e+6]=r[6],t[e+7]=r[7],t[e+8]=r[8],t[e+9]=r[9],t[e+10]=r[10],t[e+11]=r[11],t[e+12]=r[12],t[e+13]=r[13],t[e+14]=r[14],t[e+15]=r[15]},t.fromIdentity=function(){return new t(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)},t.fromLookAt=function(e,r,i){return new t().lookAt(e,r,i)},t.fromPerspective=function(e,r,i,n,o){return new t().perspective(e,r,i,n,o)},t.fromColumnVectors=function(e,r,i,n){return new t().setFromColumnVectors(e,r,i,n)},t.fromMatrix3=function(e){return new t().setFromMatrix3(e)},t.fromArray=function(e,r){return void 0===r&&(r=0),new t().setFromArray(e,r)},t.fromScale=function(e,r,i){return new t().setFromScale(e,r,i)},t.fromTranslation=function(e,r,i){return new t().setFromTranslation(e,r,i)},t.fromRotationX=function(e){return new t().setFromRotationX(e)},t.fromRotationY=function(e){return new t().setFromRotationY(e)},t.fromRotationZ=function(e){return new t().setFromRotationZ(e)},t.fromRotationAxis=function(e,r){return new t().setFromRotationAxis(e,r)},t.fromEuler=function(e){return new t().setFromEuler(e)},t.fromQuaternion=function(e){return new t().setFromQuaternion(e)},t.fromShear=function(e,r,i){return new t().setFromShear(e,r,i)},t.fromBasis=function(e,r,i){return new t().setFromBasis(e,r,i)},t.fromRowMajorData=function(e,r,i,n,o,a,s,u,l,c,h,f,m,d,p,v){return new t(e,o,l,m,r,a,c,d,i,s,h,p,n,u,f,v)},t}();r_.IDENTITY=new r_(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1),r_.ZERO=new r_(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0),r_.tempVec0=new rT,r_.tempVec1=new rT,r_.tempVec2=new rT,r_.tempMat0=new r_,(i=tF||(tF={}))[i.XYZ=0]="XYZ",i[i.XZY=1]="XZY",i[i.YXZ=2]="YXZ",i[i.YZX=3]="YZX",i[i.ZXY=4]="ZXY",i[i.ZYX=5]="ZYX";var rC=function(){function t(e,r,i,n){void 0===e&&(e=0),void 0===r&&(r=0),void 0===i&&(i=0),void 0===n&&(n=t.DEFAULT_ORDER),this.x=e,this.y=r,this.z=i,this.order=n}var e=t.prototype;return e.set=function(t,e,r,i){return void 0===i&&(i=this.order),this.x=t,this.y=e,this.z=r,this.order=i,this},e.setZero=function(t){return void 0===t&&(t=this.order),this.set(0,0,0,t)},e.setFromRotationMatrix4=function(t,e){void 0===e&&(e=this.order);var r=t.elements,i=r[0],n=r[4],o=r[8],a=r[1],s=r[5],u=r[9],l=r[2],c=r[6],h=r[10];switch(e){case tF.XYZ:this.y=Math.asin(rg(o,-1,1)),.9999999>Math.abs(o)?(this.x=Math.atan2(-u,h),this.z=Math.atan2(-n,i)):(this.x=Math.atan2(c,s),this.z=0);break;case tF.YXZ:this.x=Math.asin(-rg(u,-1,1)),.9999999>Math.abs(u)?(this.y=Math.atan2(o,h),this.z=Math.atan2(a,s)):(this.y=Math.atan2(-l,i),this.z=0);break;case tF.ZXY:this.x=Math.asin(rg(c,-1,1)),.9999999>Math.abs(c)?(this.y=Math.atan2(-l,h),this.z=Math.atan2(-n,s)):(this.y=0,this.z=Math.atan2(a,i));break;case tF.ZYX:this.y=Math.asin(-rg(l,-1,1)),.9999999>Math.abs(l)?(this.x=Math.atan2(c,h),this.z=Math.atan2(a,i)):(this.x=0,this.z=Math.atan2(-n,s));break;case tF.YZX:this.z=Math.asin(rg(a,-1,1)),.9999999>Math.abs(a)?(this.x=Math.atan2(-u,s),this.y=Math.atan2(-l,i)):(this.x=0,this.y=Math.atan2(o,h));break;case tF.XZY:this.z=Math.asin(-rg(n,-1,1)),.9999999>Math.abs(n)?(this.x=Math.atan2(c,s),this.y=Math.atan2(o,i)):(this.x=Math.atan2(-u,h),this.y=0);break;default:console.error("setFromRotationMatrix: unknown order: "+e)}return this.x*=rp,this.y*=rp,this.z*=rp,this.order=e,this},e.setFromQuaternion=function(e,r){void 0===r&&(r=this.order);var i=t.tempMat0;return i.setFromQuaternion(e),this.setFromRotationMatrix4(i,r)},e.setFromVector3=function(t,e){return void 0===e&&(e=this.order),this.set(t.x,t.y,t.z,e)},e.setFromArray=function(t,e,r){var i,n,o,a;return void 0===e&&(e=0),void 0===r&&(r=this.order),this.x=null!=(i=t[e])?i:0,this.y=null!=(n=t[e+1])?n:0,this.z=null!=(o=t[e+2])?o:0,this.order=null!=(a=t[e+3])?a:r,this},e.clone=function(){return new t(this.x,this.y,this.z,this.order)},e.copyFrom=function(t){return this.x=t.x,this.y=t.y,this.z=t.z,this.order=t.order,this},e.add=function(t){return this.order!=t.order?console.error("add euler with different order"):(this.x+=t.x,this.y+=t.y,this.z+=t.z),this},e.addEulers=function(t,e){return t.order!=e.order?console.error("add euler with different order"):(this.x=t.x+e.x,this.y=t.y+e.y,this.z=t.z+e.z,this.order=t.order),this},e.negate=function(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this},e.reorder=function(t){var e=new rE;return e.setFromEuler(this),this.setFromQuaternion(e,t)},e.rotateVector3=function(e,r){return t.tempQuat0.setFromEuler(this).rotateVector3(e,r)},e.equals=function(t){return t.x===this.x&&t.y===this.y&&t.z===this.z&&t.order===this.order},e.toVector3=function(t){return t.set(this.x,this.y,this.z)},e.toArray=function(){return[this.x,this.y,this.z]},e.toQuaternion=function(t){var e=this.x,r=this.y,i=this.z,n=this.order,o=Math.cos(e*rd*.5),a=Math.cos(r*rd*.5),s=Math.cos(i*rd*.5),u=Math.sin(e*rd*.5),l=Math.sin(r*rd*.5),c=Math.sin(i*rd*.5);switch(n){case tF.XYZ:t.set(u*a*s+o*l*c,o*l*s-u*a*c,o*a*c+u*l*s,o*a*s-u*l*c);break;case tF.YXZ:t.set(u*a*s+o*l*c,o*l*s-u*a*c,o*a*c-u*l*s,o*a*s+u*l*c);break;case tF.ZXY:t.set(u*a*s-o*l*c,o*l*s+u*a*c,o*a*c+u*l*s,o*a*s-u*l*c);break;case tF.ZYX:t.set(u*a*s-o*l*c,o*l*s+u*a*c,o*a*c-u*l*s,o*a*s+u*l*c);break;case tF.YZX:t.set(u*a*s+o*l*c,o*l*s+u*a*c,o*a*c-u*l*s,o*a*s-u*l*c);break;case tF.XZY:t.set(u*a*s-o*l*c,o*l*s-u*a*c,o*a*c+u*l*s,o*a*s+u*l*c);break;default:console.error("unknown euler order: "+n)}return t},e.toMatrix4=function(t){var e=t.elements,r=this.x,i=this.y,n=this.z,o=this.order,a=Math.cos(r*rd),s=Math.sin(r*rd),u=Math.cos(i*rd),l=Math.sin(i*rd),c=Math.cos(n*rd),h=Math.sin(n*rd);if(o===tF.XYZ){var f=a*c,m=a*h,d=s*c,p=s*h;e[0]=u*c,e[4]=-u*h,e[8]=l,e[1]=m+d*l,e[5]=f-p*l,e[9]=-s*u,e[2]=p-f*l,e[6]=d+m*l,e[10]=a*u}else if(o===tF.YXZ){var v=u*c,y=u*h,g=l*c,x=l*h;e[0]=v+x*s,e[4]=g*s-y,e[8]=a*l,e[1]=a*h,e[5]=a*c,e[9]=-s,e[2]=y*s-g,e[6]=x+v*s,e[10]=a*u}else if(o===tF.ZXY){var T=u*c,E=u*h,_=l*c,C=l*h;e[0]=T-C*s,e[4]=-a*h,e[8]=_+E*s,e[1]=E+_*s,e[5]=a*c,e[9]=C-T*s,e[2]=-a*l,e[6]=s,e[10]=a*u}else if(o===tF.ZYX){var S=a*c,R=a*h,A=s*c,b=s*h;e[0]=u*c,e[4]=A*l-R,e[8]=S*l+b,e[1]=u*h,e[5]=b*l+S,e[9]=R*l-A,e[2]=-l,e[6]=s*u,e[10]=a*u}else if(o===tF.YZX){var O=a*u,w=a*l,L=s*u,I=s*l;e[0]=u*c,e[4]=I-O*h,e[8]=L*h+w,e[1]=h,e[5]=a*c,e[9]=-s*c,e[2]=-l*c,e[6]=w*h+L,e[10]=O-I*h}else if(o===tF.XZY){var M=a*u,P=a*l,V=s*u,F=s*l;e[0]=u*c,e[4]=-h,e[8]=l*c,e[1]=M*h+F,e[5]=a*c,e[9]=P*h-V,e[2]=V*h-P,e[6]=s*c,e[10]=F*h+M}else console.error("toMatrix4: Invalid order "+o);return e[3]=0,e[7]=0,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,t},t.fromRotationMatrix4=function(e,r){return void 0===r&&(r=t.DEFAULT_ORDER),new t().setFromRotationMatrix4(e,r)},t.fromQuaternion=function(e,r){return void 0===r&&(r=t.DEFAULT_ORDER),new t().setFromQuaternion(e,r)},t.fromVector3=function(e,r){return void 0===r&&(r=t.DEFAULT_ORDER),new t().setFromVector3(e,r)},t.fromArray=function(e,r,i){return void 0===r&&(r=0),void 0===i&&(i=t.DEFAULT_ORDER),new t().setFromArray(e,r,i)},t}();rC.DEFAULT_ORDER=tF.ZYX,rC.tempQuat0=new rE,rC.tempMat0=new r_;var rS=function(){function t(t,e,r,i){void 0===t&&(t=0),void 0===e&&(e=0),void 0===r&&(r=0),void 0===i&&(i=0),this.x=t,this.y=e,this.z=r,this.w=i}var e=t.prototype;return e.set=function(t,e,r,i){return this.x=t,this.y=e,this.z=r,this.w=i,this},e.setZero=function(){return this.x=0,this.y=0,this.z=0,this.w=0,this},e.setFromNumber=function(t){return this.x=t,this.y=t,this.z=t,this.w=t,this},e.setFromArray=function(t,e){var r,i,n,o;return void 0===e&&(e=0),this.x=null!=(r=t[e])?r:0,this.y=null!=(i=t[e+1])?i:0,this.z=null!=(n=t[e+2])?n:0,this.w=null!=(o=t[e+3])?o:0,this},e.copyFrom=function(t){return this.x=t.x,this.y=t.y,this.z=t.z,this.w=t.w,this},e.clone=function(){return new t(this.x,this.y,this.z,this.w)},e.setElement=function(t,e){switch(t){case 0:this.x=e;break;case 1:this.y=e;break;case 2:this.z=e;break;case 3:this.w=e;break;default:console.error("index is out of range: "+t)}return this},e.getElement=function(t){switch(t){case 0:return this.x;case 1:return this.y;case 2:return this.z;case 3:return this.w;default:console.error("index is out of range: "+t)}return 0},e.add=function(t){return"number"==typeof t?(this.x+=t,this.y+=t,this.z+=t,this.w+=t):e1(t,Array)?(this.x+=t[0],this.y+=t[1],this.z+=t[2],this.w+=t[3]):(this.x+=t.x,this.y+=t.y,this.z+=t.z,this.w+=t.w),this},e.addVectors=function(t,e){return this.x=t.x+e.x,this.y=t.y+e.y,this.z=t.z+e.z,this.w=t.w+e.w,this},e.addScaledVector=function(t,e){return this.x+=t.x*e,this.y+=t.y*e,this.z+=t.z*e,this.w+=t.w*e,this},e.subtract=function(t){return"number"==typeof t?(this.x-=t,this.y-=t,this.z-=t,this.w-=t):e1(t,Array)?(this.x-=t[0],this.y-=t[1],this.z-=t[2],this.w-=t[3]):(this.x-=t.x,this.y-=t.y,this.z-=t.z,this.w-=t.w),this},e.subtractVectors=function(t,e){return this.x=t.x-e.x,this.y=t.y-e.y,this.z=t.z-e.z,this.w=t.w-e.w,this},e.multiply=function(t){return"number"==typeof t?(this.x*=t,this.y*=t,this.z*=t,this.w*=t):e1(t,Array)?(this.x*=t[0],this.y*=t[1],this.z*=t[2],this.w*=t[3]):(this.x*=t.x,this.y*=t.y,this.z*=t.z,this.w*=t.w),this},e.multiplyVectors=function(t,e){return this.x=t.x*e.x,this.y=t.y*e.y,this.z=t.z*e.z,this.w=t.w*e.w,this},e.divide=function(t){return"number"==typeof t?(this.x/=t,this.y/=t,this.z/=t,this.w/=t):e1(t,Array)?(this.x/=t[0],this.y/=t[1],this.z/=t[2],this.w/=t[3]):(this.x/=t.x,this.y/=t.y,this.z/=t.z,this.w/=t.w),this},e.scale=function(t){return this.x*=t,this.y*=t,this.z*=t,this.w*=t,this},e.sum=function(){return this.x+this.y+this.z+this.w},e.min=function(t){return"number"==typeof t?(this.x=Math.min(this.x,t),this.y=Math.min(this.y,t),this.z=Math.min(this.z,t),this.w=Math.min(this.w,t)):(this.x=Math.min(this.x,t.x),this.y=Math.min(this.y,t.y),this.z=Math.min(this.z,t.z),this.w=Math.min(this.w,t.w)),this},e.max=function(t){return"number"==typeof t?(this.x=Math.max(this.x,t),this.y=Math.max(this.y,t),this.z=Math.max(this.z,t),this.w=Math.max(this.w,t)):(this.x=Math.max(this.x,t.x),this.y=Math.max(this.y,t.y),this.z=Math.max(this.z,t.z),this.w=Math.max(this.w,t.w)),this},e.clamp=function(t,e){return this.max(t).min(e)},e.floor=function(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this.w=Math.floor(this.w),this},e.ceil=function(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this.w=Math.ceil(this.w),this},e.round=function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this.w=Math.round(this.w),this},e.abs=function(){return this.x=Math.abs(this.x),this.y=Math.abs(this.y),this.z=Math.abs(this.z),this.w=Math.abs(this.w),this},e.negate=function(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this.w=-this.w,this},e.lengthSquared=function(){return this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w},e.length=function(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w)},e.normalize=function(){return this.divide(this.length()||1)},e.setLength=function(t){return this.normalize().multiply(t)},e.lerp=function(t,e){return this.x+=(t.x-this.x)*e,this.y+=(t.y-this.y)*e,this.z+=(t.z-this.z)*e,this.w+=(t.w-this.w)*e,this},e.lerpVectors=function(t,e,r){return this.x=t.x+(e.x-t.x)*r,this.y=t.y+(e.y-t.y)*r,this.z=t.z+(e.z-t.z)*r,this.w=t.w+(e.w-t.w)*r,this},e.dot=function(t){return this.x*t.x+this.y*t.y+this.z*t.z+this.w*t.w},e.equals=function(t){return t.x===this.x&&t.y===this.y&&t.z===this.z&&t.w===this.w},e.isZero=function(){var t=this.x,e=this.y,r=this.z,i=this.w;return 1e-6>=Math.abs(t)&&1e-6>=Math.abs(e)&&1e-6>=Math.abs(r)&&1e-6>=Math.abs(i)},e.toArray=function(){return[this.x,this.y,this.z,this.w]},e.toVector3=function(){return new rT(this.x,this.y,this.z)},e.fill=function(t,e){void 0===e&&(e=0),t[e]=this.x,t[e+1]=this.y,t[e+2]=this.z,t[e+3]=this.w},e.random=function(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this.w=Math.random(),this},e.applyMatrix=function(t,e){return t.transformVector4(this,e)},t.fromNumber=function(e){return new t().setFromNumber(e)},t.fromArray=function(e,r){return void 0===r&&(r=0),new t().setFromArray(e,r)},t}();rS.ONE=new rS(1,1,1,1),rS.ZERO=new rS(0,0,0,0);var rR=function(){function t(t,e,r,i,n,o,a,s,u){void 0===t&&(t=1),void 0===e&&(e=0),void 0===r&&(r=0),void 0===i&&(i=0),void 0===n&&(n=1),void 0===o&&(o=0),void 0===a&&(a=0),void 0===s&&(s=0),void 0===u&&(u=1),this.elements=[t,e,r,i,n,o,a,s,u]}var e=t.prototype;return e.set=function(t,e,r,i,n,o,a,s,u){var l=this.elements;return l[0]=t,l[3]=i,l[6]=a,l[1]=e,l[4]=n,l[7]=s,l[2]=r,l[5]=o,l[8]=u,this},e.setFromRowMajorData=function(t,e,r,i,n,o,a,s,u){var l=this.elements;return l[0]=t,l[3]=e,l[6]=r,l[1]=i,l[4]=n,l[7]=o,l[2]=a,l[5]=s,l[8]=u,this},e.setFromColumnVectors=function(t,e,r){return this.set(t.x,t.y,t.z,e.x,e.y,e.z,r.x,r.y,r.z)},e.setFromMatrix4=function(t){var e=t.elements;return this.set(e[0],e[1],e[2],e[4],e[5],e[6],e[8],e[9],e[10])},e.setFromArray=function(t,e){void 0===e&&(e=0);for(var r=0;r<9;r++)this.elements[r]=t[e+r];return this},e.setFromQuaternion=function(t){var e=t.x,r=t.y,i=t.z,n=t.w,o=e+e,a=r+r,s=i+i,u=e*o,l=e*a,c=e*s,h=r*a,f=r*s,m=i*s,d=n*o,p=n*a,v=n*s,y=this.elements;return y[0]=1-(h+m),y[1]=l+v,y[2]=c-p,y[3]=l-v,y[4]=1-(u+m),y[5]=f+d,y[6]=c+p,y[7]=f-d,y[8]=1-(u+h),this},e.setZero=function(){for(var t=0;t<9;t++)this.elements[t]=0;return this},e.identity=function(){return this.set(1,0,0,0,1,0,0,0,1)},e.clone=function(){var e=this.elements;return new t(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8])},e.copyFrom=function(t){return this.elements=[].concat(t.elements),this},e.getColumnVector=function(t,e){return e.set(this.elements[3*t],this.elements[3*t+1],this.elements[3*t+2])},e.scale=function(t,e){var r=this.elements;return r[0]*=t,r[3]*=t,r[6]*=t,r[1]*=e,r[4]*=e,r[7]*=e,this},e.rotate=function(t){var e=Math.cos(t),r=Math.sin(t),i=this.elements,n=i[0],o=i[3],a=i[6],s=i[1],u=i[4],l=i[7];return i[0]=e*n+r*s,i[3]=e*o+r*u,i[6]=e*a+r*l,i[1]=-r*n+e*s,i[4]=-r*o+e*u,i[7]=-r*a+e*l,this},e.translate=function(t,e){var r=this.elements;return r[0]+=t*r[2],r[3]+=t*r[5],r[6]+=t*r[8],r[1]+=e*r[2],r[4]+=e*r[5],r[7]+=e*r[8],this},e.multiply=function(t){if("number"!=typeof t)return this.multiplyMatrices(this,t);for(var e=0;e<9;e++)this.elements[e]*=t;return this},e.premultiply=function(t){return this.multiplyMatrices(t,this)},e.multiplyMatrices=function(t,e){var r=t.elements,i=e.elements,n=this.elements,o=r[0],a=r[3],s=r[6],u=r[1],l=r[4],c=r[7],h=r[2],f=r[5],m=r[8],d=i[0],p=i[3],v=i[6],y=i[1],g=i[4],x=i[7],T=i[2],E=i[5],_=i[8];return n[0]=o*d+a*y+s*T,n[3]=o*p+a*g+s*E,n[6]=o*v+a*x+s*_,n[1]=u*d+l*y+c*T,n[4]=u*p+l*g+c*E,n[7]=u*v+l*x+c*_,n[2]=h*d+f*y+m*T,n[5]=h*p+f*g+m*E,n[8]=h*v+f*x+m*_,this},e.determinant=function(){var t=this.elements,e=t[0],r=t[3],i=t[6],n=t[1],o=t[4],a=t[7],s=t[2],u=t[5],l=t[8];return e*(o*l-u*a)+n*(u*i-r*l)+s*(r*a-o*i)},e.invert=function(){var t=this.elements,e=t[0],r=t[3],i=t[6],n=t[1],o=t[4],a=t[7],s=t[2],u=t[5],l=t[8],c=l*o-u*a,h=u*i-l*r,f=a*r-o*i,m=e*c+n*h+s*f;if(0===m)return this.set(0,0,0,0,0,0,0,0,0);var d=1/m;return t[0]=c*d,t[1]=(s*a-l*n)*d,t[2]=(u*n-s*o)*d,t[3]=h*d,t[4]=(l*e-s*i)*d,t[5]=(s*r-u*e)*d,t[6]=f*d,t[7]=(n*i-a*e)*d,t[8]=(o*e-n*r)*d,this},e.transpose=function(){var t,e=this.elements;return t=e[1],e[1]=e[3],e[3]=t,t=e[2],e[2]=e[6],e[6]=t,t=e[5],e[5]=e[7],e[7]=t,this},e.transformPoint=function(t,e){var r=t.x,i=t.y,n=t.z,o=this.elements,a=null!=e?e:t;return a.x=o[0]*r+o[3]*i+o[6]*n,a.y=o[1]*r+o[4]*i+o[7]*n,a.z=o[2]*r+o[5]*i+o[8]*n,a},e.transformNormal=function(t,e){return this.transformPoint(t,e).normalize()},e.equals=function(t){for(var e=this.elements,r=t.elements,i=0;i<9;i++)if(!rv(e[i],r[i]))return!1;return!0},e.toArray=function(){return[].concat(this.elements)},e.fill=function(t,e){void 0===e&&(e=0);var r=this.elements;t[e]=r[0],t[e+1]=r[1],t[e+2]=r[2],t[e+3]=r[3],t[e+4]=r[4],t[e+5]=r[5],t[e+6]=r[6],t[e+7]=r[7],t[e+8]=r[8]},t.fromIdentity=function(){return new t(1,0,0,0,1,0,0,0,1)},t.fromColumnVectors=function(e,r,i){return new t().setFromColumnVectors(e,r,i)},t.fromMatrix4=function(e){return new t().setFromMatrix4(e)},t.fromArray=function(e,r){return void 0===r&&(r=0),new t().setFromArray(e,r)},t.fromQuaternion=function(e){return new t().setFromQuaternion(e)},t.fromRowMajorData=function(e,r,i,n,o,a,s,u,l){return new t(e,n,s,r,o,u,i,a,l)},t}(),rA=function(){function t(t,e){void 0===t&&(t=rT.ZERO),void 0===e&&(e=rT.X),this.origin=new rT,this.direction=new rT,this.origin.copyFrom(t),this.direction.copyFrom(e).normalize()}var e=t.prototype;return e.set=function(t,e){return this.origin.copyFrom(t),this.direction.copyFrom(e).normalize(),this},e.clone=function(){return new t(this.origin,this.direction)},e.copyFrom=function(t){return this.set(t.origin,t.direction)},e.recast=function(e){return this.origin.copyFrom(this.at(e,t.tempVec0)),this},e.at=function(t,e){var r=e||new rT;return r.copyFrom(this.origin),r.addScaledVector(this.direction,t)},e.equals=function(t){return this.origin.equals(t.origin)&&this.direction.equals(t.direction)},e.applyMatrix=function(t){return this.origin.applyProjectionMatrix(t),this.direction.applyNormalMatrix(t),this},e.intersectBox=function(t,e){var r,i,n,o,a,s,u=this.origin,l=u.x,c=u.y,h=u.z,f=this.direction,m=f.x,d=f.y,p=f.z,v=t.min,y=v.x,g=v.y,x=v.z,T=t.max,E=T.x,_=T.y,C=T.z,S=1/m,R=1/d,A=1/p;if(S>=0?(r=(y-l)*S,i=(E-l)*S):(r=(E-l)*S,i=(y-l)*S),R>=0?(n=(g-c)*R,o=(_-c)*R):(n=(_-c)*R,o=(g-c)*R),!(r>o)&&!(n>i)&&((n>r||r!=r)&&(r=n),(o<i||i!=i)&&(i=o),(n>r||r!=r)&&(r=n),(o<i||i!=i)&&(i=o),A>=0?(a=(x-h)*A,s=(C-h)*A):(a=(C-h)*A,s=(x-h)*A),!(r>s)&&!(a>i))&&((a>r||r!=r)&&(r=a),(s<i||i!=i)&&(i=s),!(i<0)))return r>=0?this.at(r,e):this.at(i,e)},e.intersectPlane=function(t,e){var r=t.normal,i=t.distance,n=r.dot(this.direction);if(0===n)return 0===r.dot(this.origin)+i?(e||new rT).copyFrom(this.origin):void 0;var o=-(this.origin.dot(r)+i)/n;return o>=0?this.at(o,e):void 0},e.intersectSphere=function(e,r){var i=e.center,n=t.tempVec0.subtractVectors(i,this.origin),o=n.dot(this.direction),a=n.dot(n)-o*o,s=e.radius*e.radius;if(!(a>s)){var u=Math.sqrt(s-a),l=o-u,c=o+u;if(!(c<0))return l>=0?this.at(l,r):this.at(c,r)}},e.intersectTriangle=function(e,r,i){var n,o=e.p0,a=e.p1,s=e.p2,u=t.tempVec0.subtractVectors(a,o),l=t.tempVec1.subtractVectors(s,o),c=t.tempVec2.subtractVectors(this.origin,o),h=t.tempVec3.crossVectors(u,l),f=this.direction.dot(h);if(f>0){if(i)return;n=1}else{if(!(f<0))return;n=-1,f=-f}l.crossVectors(c,l);var m=n*this.direction.dot(l);if(!(m<0)){u.cross(c);var d=n*this.direction.dot(u);if(!(d<0)&&!(m+d>f)){var p=-n*c.dot(h);if(!(p<0))return this.at(p/f,r)}}},t}();rA.tempVec0=new rT,rA.tempVec1=new rT,rA.tempVec2=new rT,rA.tempVec3=new rT;var rb=function(){function t(t,e,r,i){void 0===t&&(t=0),void 0===e&&(e=0),void 0===r&&(r=0),void 0===i&&(i=0),this.r=t,this.g=e,this.b=r,this.a=i}var e=t.prototype;return e.set=function(t,e,r,i){return this.r=t,this.g=e,this.b=r,this.a=i,this},e.setZero=function(){return this.r=0,this.g=0,this.b=0,this.a=0,this},e.setFromNumber=function(t){return this.r=t,this.g=t,this.b=t,this.a=t,this},e.setFromVector4=function(t){return this.r=t.x,this.g=t.y,this.b=t.z,this.a=t.w,this},e.setFromArray=function(t,e){var r,i,n,o;return void 0===e&&(e=0),this.r=null!=(r=t[e])?r:0,this.g=null!=(i=t[e+1])?i:0,this.b=null!=(n=t[e+2])?n:0,this.a=null!=(o=t[e+3])?o:0,this},e.setFromHSV=function(t,e,r,i){void 0===i&&(i=1);var n=r*e,o=t/60,a=n*(1-Math.abs(o%2-1)),s=0,u=0,l=0;o>=0&&o<=1?(s=n,u=a):o>=1&&o<=2?(s=a,u=n):o>=2&&o<=3?(u=n,l=a):o>=3&&o<=4?(u=a,l=n):o>=4&&o<=5?(s=a,l=n):o>=5&&o<=6&&(s=n,l=a);var c=r-n;return this.set(s+c,u+c,l+c,i)},e.setFromHexString=function(t){if("#"!==t.substring(0,1)||9!==t.length&&7!==t.length)return this;var e=parseInt(t.substring(1,3),16)/255,r=parseInt(t.substring(3,5),16)/255,i=parseInt(t.substring(5,7),16)/255,n=9===t.length?parseInt(t.substring(7,9),16)/255:1;return this.set(e,r,i,n)},e.copyFrom=function(t){return this.r=t.r,this.g=t.g,this.b=t.b,this.a=t.a,this},e.clone=function(){return new t(this.r,this.g,this.b,this.a)},e.setElement=function(t,e){switch(t){case 0:this.r=e;break;case 1:this.g=e;break;case 2:this.b=e;break;case 3:this.a=e;break;default:console.error("index is out of range: "+t)}return this},e.getElement=function(t){switch(t){case 0:return this.r;case 1:return this.g;case 2:return this.b;case 3:return this.a;default:console.error("index is out of range: "+t)}return 0},e.add=function(t){return"number"==typeof t?(this.r+=t,this.g+=t,this.b+=t,this.a+=t):e1(t,Array)?(this.r+=t[0],this.g+=t[1],this.b+=t[2],this.a+=t[3]):(this.r+=t.r,this.g+=t.g,this.b+=t.b,this.a+=t.a),this},e.subtract=function(t){return"number"==typeof t?(this.r-=t,this.g-=t,this.b-=t,this.a-=t):e1(t,Array)?(this.r-=t[0],this.g-=t[1],this.b-=t[2],this.a-=t[3]):(this.r-=t.r,this.g-=t.g,this.b-=t.b,this.a-=t.a),this},e.multiply=function(t){return"number"==typeof t?(this.r*=t,this.g*=t,this.b*=t,this.a*=t):e1(t,Array)?(this.r*=t[0],this.g*=t[1],this.b*=t[2],this.a*=t[3]):(this.r*=t.r,this.g*=t.g,this.b*=t.b,this.a*=t.a),this},e.divide=function(t){return"number"==typeof t?(this.r/=t,this.g/=t,this.b/=t,this.a/=t):e1(t,Array)?(this.r/=t[0],this.g/=t[1],this.b/=t[2],this.a/=t[3]):(this.r/=t.r,this.g/=t.g,this.b/=t.b,this.a/=t.a),this},e.scale=function(t){return this.r*=t,this.g*=t,this.b*=t,this.a*=t,this},e.min=function(t){return"number"==typeof t?(this.r=Math.min(this.r,t),this.g=Math.min(this.g,t),this.b=Math.min(this.b,t),this.a=Math.min(this.a,t)):(this.r=Math.min(this.r,t.r),this.g=Math.min(this.g,t.g),this.b=Math.min(this.b,t.b),this.a=Math.min(this.a,t.a)),this},e.max=function(t){return"number"==typeof t?(this.r=Math.max(this.r,t),this.g=Math.max(this.g,t),this.b=Math.max(this.b,t),this.a=Math.max(this.a,t)):(this.r=Math.max(this.r,t.r),this.g=Math.max(this.g,t.g),this.b=Math.max(this.b,t.b),this.a=Math.max(this.a,t.a)),this},e.clamp=function(t,e){return this.max(t).min(e)},e.lerp=function(t,e){return this.r+=(t.r-this.r)*e,this.g+=(t.g-this.g)*e,this.b+=(t.b-this.b)*e,this.a+=(t.a-this.a)*e,this},e.luminance=function(){return .3*this.r+.59*this.g+.11*this.b},e.equals=function(t){return t.r===this.r&&t.g===this.g&&t.b===this.b&&t.a===this.a},e.toLinear=function(){return this.r=t.gammaToLinear(this.r),this.g=t.gammaToLinear(this.g),this.b=t.gammaToLinear(this.b),this},e.toGamma=function(){return this.r=t.linearToGamma(this.r),this.g=t.linearToGamma(this.g),this.b=t.linearToGamma(this.b),this},e.toArray=function(){return[this.r,this.g,this.b,this.a]},e.toVector4=function(){return new rS(this.r,this.g,this.b,this.a)},e.toHSV=function(){var e=this.r,r=this.g,i=this.b,n=this.a,o=Math.max(e,r,i),a=Math.min(e,r,i),s=o-a,u=0,l=0;return 0!==o&&(l=s/o),o!=a&&(o==e?(u=(r-i)/s,r<i&&(u+=6)):o==r?u=(i-e)/s+2:o==i&&(u=(e-r)/s+4),u*=60),new t(u,l,o,n)},e.toHexString=function(e){void 0===e&&(e=!0);var r=t.ToHex(Math.round(255*this.r)),i=t.ToHex(Math.round(255*this.g)),n=t.ToHex(Math.round(255*this.b)),o=t.ToHex(Math.round(255*this.a));return e?"#"+r+i+n+o:"#"+r+i+n},e.fill=function(t,e){void 0===e&&(e=0),t[e]=this.r,t[e+1]=this.g,t[e+2]=this.b,t[e+3]=this.a},t.fromNumber=function(e){return new t().setFromNumber(e)},t.fromArray=function(e,r){return void 0===r&&(r=0),new t().setFromArray(e,r)},t.fromHexString=function(e){return new t().setFromHexString(e)},t.fromHSV=function(e,r,i,n){return void 0===n&&(n=1),new t().setFromHSV(e,r,i,n)},t.gammaToLinear=function(t){return t<=0?0:t<=.04045?t/12.92:t<1?Math.pow((t+.055)/1.055,2.4):Math.pow(t,2.4)},t.linearToGamma=function(t){return t<=0?0:t<.0031308?12.92*t:t<1?1.055*Math.pow(t,.41666)-.055:Math.pow(t,.41666)},t.ToHex=function(t){var e=t.toString(16);return t<=15?("0"+e).toUpperCase():e.toUpperCase()},t}();rb.BLACK=new rb(0,0,0,1),rb.BLUE=new rb(0,0,1,1),rb.CLEAR=new rb(0,0,0,0),rb.CYAN=new rb(0,1,1,1),rb.GRAY=new rb(.5,.5,.5,1),rb.GREEN=new rb(0,1,0,1),rb.MAGENTA=new rb(1,0,1,1),rb.RED=new rb(1,0,0,1),rb.WHITE=new rb(1,1,1,1),rb.YELLOW=new rb(1,.92,.016,1);var rO=function(){function t(t,e){void 0===t&&(t=new rT(1/0,1/0,1/0)),void 0===e&&(e=new rT(-1/0,-1/0,-1/0)),this.min=t.clone(),this.max=e.clone()}var e=t.prototype;return e.set=function(t,e){return this.min.copyFrom(t),this.max.copyFrom(e),this},e.setFromArray=function(t){for(var e=Number(1/0),r=Number(1/0),i=Number(1/0),n=-1/0,o=-1/0,a=-1/0,s=0,u=t.length;s<u;s+=3){var l=t[s],c=t[s+1],h=t[s+2];l<e&&(e=l),c<r&&(r=c),h<i&&(i=h),l>n&&(n=l),c>o&&(o=c),h>a&&(a=h)}return this.min.set(e,r,i),this.max.set(n,o,a),this},e.setFromPoints=function(t){this.makeEmpty();for(var e=0,r=t.length;e<r;e++)this.expandByPoint(t[e]);return this},e.setFromCenterAndSize=function(t,e){var r=e.clone().multiply(.5);return this.min.copyFrom(t).subtract(r),this.max.copyFrom(t).add(r),this},e.setFromObject=function(t){return this.makeEmpty(),this.expandByObject(t)},e.clone=function(){return new t().copyFrom(this)},e.copyFrom=function(t){return this.min.copyFrom(t.min),this.max.copyFrom(t.max),this},e.makeEmpty=function(){return this.min.x=this.min.y=this.min.z=Number(1/0),this.max.x=this.max.y=this.max.z=-1/0,this},e.isEmpty=function(){return this.max.x<this.min.x||this.max.y<this.min.y||this.max.z<this.min.z},e.getCenter=function(t){return void 0===t&&(t=new rT),this.isEmpty()?t.set(0,0,0):t.addVectors(this.min,this.max).multiply(.5)},e.getSize=function(t){return void 0===t&&(t=new rT),this.isEmpty()?t.set(0,0,0):t.subtractVectors(this.max,this.min)},e.expandByPoint=function(t){return this.min.min(t),this.max.max(t),this},e.expandByVector=function(t){return this.min.subtract(t),this.max.add(t),this},e.expandByScalar=function(t){return this.min.add(-t),this.max.add(t),this},e.expandByBox=function(t){return this.min.min(t.min),this.max.max(t.max),this},e.expandByObject=function(e){e.updateWorldMatrix(!1,!1);var r=e.geometry;if(void 0!==r){null===r.boundingBox&&r.computeBoundingBox();var i=new t;i.copyFrom(r.boundingBox),i.applyMatrix4(e.matrixWorld),this.union(i)}for(var n=e.children,o=0,a=n.length;o<a;o++)this.expandByObject(n[o]);return this},e.containsPoint=function(t){return!(t.x<this.min.x||t.x>this.max.x||t.y<this.min.y||t.y>this.max.y||t.z<this.min.z||t.z>this.max.z)},e.containsBox=function(t){return this.min.x<=t.min.x&&this.max.x>=t.max.x&&this.min.y<=t.min.y&&this.max.y>=t.max.y&&this.min.z<=t.min.z&&this.max.z>=t.max.z},e.getParameter=function(t,e){return void 0===e&&(e=new rT),e.set((t.x-this.min.x)/(this.max.x-this.min.x),(t.y-this.min.y)/(this.max.y-this.min.y),(t.z-this.min.z)/(this.max.z-this.min.z))},e.intersectsBox=function(t){return!(t.max.x<this.min.x||t.min.x>this.max.x||t.max.y<this.min.y||t.min.y>this.max.y||t.max.z<this.min.z||t.min.z>this.max.z)},e.intersectsSphere=function(t){var e=new rT;return this.clampPoint(t.center,e),e.distanceSquared(t.center)<=t.radius*t.radius},e.clampPoint=function(t,e){return void 0===e&&(e=new rT),e.copyFrom(t).clamp(this.min,this.max)},e.distanceToPoint=function(t){return t.clone().clamp(this.min,this.max).subtract(t).length()},e.intersect=function(t){return this.min.max(t.min),this.max.min(t.max),this.isEmpty()&&this.makeEmpty(),this},e.union=function(t){return this.min.min(t.min),this.max.max(t.max),this},e.applyMatrix4=function(t,e){if(void 0===e&&(e=new rT),this.isEmpty())return this;var r=this.getOBBPoints(t,e);return this.setFromPoints(r),this},e.getOBBPoints=function(t,e){if(void 0===e&&(e=new rT),this.isEmpty())return[];var r=[];return r[0]=new rT(this.min.x,this.min.y,this.min.z),r[1]=new rT(this.min.x,this.min.y,this.max.z),r[2]=new rT(this.min.x,this.max.y,this.min.z),r[3]=new rT(this.min.x,this.max.y,this.max.z),r[4]=new rT(this.max.x,this.min.y,this.min.z),r[5]=new rT(this.max.x,this.min.y,this.max.z),r[6]=new rT(this.max.x,this.max.y,this.min.z),r[7]=new rT(this.max.x,this.max.y,this.max.z),r.forEach(function(r){r.subtract(e),r.applyMatrix(t),r.add(e)}),r},e.getBoundingSphere=function(t){this.getCenter(t.center);var e=new rT;return t.radius=.5*this.getSize(e).length(),t},e.translate=function(t){return this.min.add(t),this.max.add(t),this},e.equals=function(t){return t.min.equals(this.min)&&t.max.equals(this.max)},t}(),rw=function(){function t(t,e){void 0===t&&(t=rT.ZERO),void 0===e&&(e=-1),this.center=t.clone(),this.radius=e}var e=t.prototype;return e.set=function(t,e){return this.center.copyFrom(t),this.radius=e,this},e.setFromPoints=function(t,e){var r=this.center;if(void 0!==e){r.copyFrom(e);for(var i=0,n=0;n<t.length;n++)i=Math.max(i,r.distanceSquared(t[n]));this.radius=Math.sqrt(i)}else{var o=new rO().setFromPoints(t);o.getCenter(r),this.radius=o.getSize().length()/2}return this},e.copyFrom=function(t){return this.center.copyFrom(t.center),this.radius=t.radius,this},e.isEmpty=function(){return this.radius<0},e.makeEmpty=function(){return this.center.set(0,0,0),this.radius=-1,this},e.containsPoint=function(t){return t.distanceSquared(this.center)<=this.radius*this.radius},e.distanceToPoint=function(t){return t.distance(this.center)-this.radius},e.intersectsSphere=function(t){var e=this.radius+t.radius;return t.center.distanceSquared(this.center)<=e*e},e.intersectsBox=function(t){return t.intersectsSphere(this)},e.clampPoint=function(t,e){var r=this.center.distanceSquared(t);return void 0===e&&(e=new rT),e.copyFrom(t),r>this.radius*this.radius&&(e.subtract(this.center).normalize(),e.multiply(this.radius).add(this.center)),e},e.getBoundingBox=function(t){return(void 0===t&&(t=new rO),this.isEmpty())?t.makeEmpty():(t.set(this.center,this.center),t.expandByScalar(this.radius)),t},e.applyMatrix4=function(t){var e=t.elements,r=e[0]*e[0]+e[1]*e[1]+e[2]*e[2],i=e[4]*e[4]+e[5]*e[5]+e[6]*e[6],n=e[8]*e[8]+e[9]*e[9]+e[10]*e[10];return this.center.applyMatrix(t),this.radius=this.radius*Math.sqrt(Math.max(r,i,n)),this},e.translate=function(t){return this.center.add(t),this},e.expandByPoint=function(t){var e=new rT().subtractVectors(t,this.center),r=e.lengthSquared();if(r>this.radius*this.radius){var i=Math.sqrt(r),n=(i-this.radius)*.5;this.center.add(e.multiply(n/i)),this.radius+=n}return this},e.union=function(t){var e=new rT,r=new rT;return r.subtractVectors(t.center,this.center).normalize().multiply(t.radius),this.expandByPoint(e.copyFrom(t.center).add(r)),this.expandByPoint(e.copyFrom(t.center).subtract(r)),this},e.intersect=function(t){var e=new rT().subtractVectors(this.center,t.center),r=e.length();return r>this.radius+t.radius?this.makeEmpty():(this.center=this.center.add(e.normalize().multiply(r/2)),this.radius=this.radius+t.radius-r,this)},e.equals=function(t){return t.center.equals(this.center)&&t.radius===this.radius},e.clone=function(){return new t().copyFrom(this)},t}(),rL=Object.freeze({__proto__:null,get EulerOrder(){return tF},Euler:rC,Quaternion:rE,Vector2:rx,Vector3:rT,Vector4:rS,Matrix3:rR,Matrix4:r_,Ray:rA,PI2:2*Math.PI,DEG2RAD:rd,RAD2DEG:rp,NumberEpsilon:1e-6,isZero:function(t){return isNaN(t)||1e-6>Math.abs(t)},isEqual:rv,damp:function(t,e,r,i){return ry(t,e,1-Math.exp(-r*i))},lerp:ry,degToRad:function(t){return t*rd},radToDeg:function(t){return t*rp},clamp:rg,Color:rb,Box3:rO,Sphere:rw});function rI(t){return["%c[Galacean Effects]","color: #AA0100",""+t]}new rC,new rT(1,1,1),new rT(0,0,0);var rM={error:function(t){for(var e,r=arguments.length,i=Array(r>1?r-1:0),n=1;n<r;n++)i[n-1]=arguments[n];(e=console).error.apply(e,[].concat(rI(t),[i])),null==tN||tN("error",t,i)},info:function(t){for(var e,r=arguments.length,i=Array(r>1?r-1:0),n=1;n<r;n++)i[n-1]=arguments[n];(e=console).debug.apply(e,[].concat(rI(t))),null==tN||tN("info",t,i)},warn:function(t){for(var e,r=arguments.length,i=Array(r>1?r-1:0),n=1;n<r;n++)i[n-1]=arguments[n];(e=console).warn.apply(e,[].concat(rI(t))),null==tN||tN("warn",t,i)},register:function(t){t&&rN(t)&&(tN=t)}};function rP(){}function rV(t){return"string"==typeof t}t.DestroyOptions=void 0,(n=t.DestroyOptions||(t.DestroyOptions={}))[n.destroy=0]="destroy",n[n.keep=1]="keep",n[n.force=0]="force";var rF=Array.isArray||function(t){return"[object Array]"===Object.prototype.toString.call(t)};function rN(t){return"[object Function]"===Object.prototype.toString.call(t)}function rD(t){return"[object Object]"===Object.prototype.toString.call(t)}function rz(t,e){return t+Math.random()*(e-t)}function rk(){throw Error("destroyed item cannot be used again")}function rU(){return(function(t,e,r){if(e9.randomUUID&&!t)return e9.randomUUID();var i,n=(t=t||{}).random||(t.rng||function(){if(!tV&&!(tV="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)))throw Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return tV(e5)})();return n[6]=15&n[6]|64,n[8]=63&n[8]|128,void 0===i&&(i=0),e6[n[i+0]]+e6[n[i+1]]+e6[n[i+2]]+e6[n[i+3]]+"-"+e6[n[i+4]]+e6[n[i+5]]+"-"+e6[n[i+6]]+e6[n[i+7]]+"-"+e6[n[i+8]]+e6[n[i+9]]+"-"+e6[n[i+10]]+e6[n[i+11]]+e6[n[i+12]]+e6[n[i+13]]+e6[n[i+14]]+e6[n[i+15]]})().replace(/-/g,"")}function rB(t,e){for(var r=0;r<e.length;r++){var i=e[r];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}function rG(t,e,r){return e&&rB(t.prototype,e),r&&rB(t,r),t}function rX(t,e){return(rX=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function rH(t,e){if("function"!=typeof e&&null!==e)throw TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&rX(t,e)}function rY(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,i=Array(e);r<e;r++)i[r]=t[r];return i}function rW(t,e){var r="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(r)return(r=r.call(t)).next.bind(r);if(Array.isArray(t)||(r=function(t,e){if(t){if("string"==typeof t)return rY(t,void 0);var r=Object.prototype.toString.call(t).slice(8,-1);if("Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r)return Array.from(r);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return rY(t,void 0)}}(t))||e&&t&&"number"==typeof t.length){r&&(t=r);var i=0;return function(){return i>=t.length?{done:!0}:{done:!1,value:t[i++]}}}throw TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}/*!
10
8
  * Name: @galacean/effects-specification
11
9
  * Description: Galacean Effects JSON Specification
12
10
  * Author: Ant Group CO., Ltd.
13
- * Version: v2.0.0-alpha.3
14
- */"undefined"!=typeof crypto&&crypto.randomUUID&&crypto.randomUUID.bind(crypto);const gt=[];for(let t=0;t<256;++t)gt.push((t+256).toString(16).slice(1));var Tt,Et,bt,Ct,_t,St,Ot,wt,At,Rt,Lt;!function(t){t.S="S",t.APlus="A+",t.A="A",t.BPlus="B+",t.B="B"}(Tt||(Tt={})),function(t){t[t.ALPHA=0]="ALPHA",t[t.ADD=1]="ADD",t[t.MULTIPLY=2]="MULTIPLY",t[t.BRIGHTNESS=3]="BRIGHTNESS",t[t.SUBTRACTION=4]="SUBTRACTION",t[t.STRONG_LIGHT=5]="STRONG_LIGHT",t[t.WEAK_LIGHT=6]="WEAK_LIGHT",t[t.SUPERPOSITION=7]="SUPERPOSITION"}(Et||(Et={})),function(t){t[t.DOUBLE=1032]="DOUBLE",t[t.FRONT=1028]="FRONT",t[t.BACK=1029]="BACK"}(bt||(bt={})),function(t){t[t.NONE=0]="NONE",t[t.MASK=1]="MASK",t[t.OBSCURED=2]="OBSCURED",t[t.REVERSE_OBSCURED=3]="REVERSE_OBSCURED"}(Ct||(Ct={})),function(t){t[t.NONE=0]="NONE",t[t.SPHERE=1]="SPHERE",t[t.CONE=2]="CONE",t[t.HEMISPHERE=3]="HEMISPHERE",t[t.CIRCLE=4]="CIRCLE",t[t.DONUT=5]="DONUT",t[t.RECTANGLE=6]="RECTANGLE",t[t.RECTANGLE_EDGE=7]="RECTANGLE_EDGE",t[t.EDGE=8]="EDGE",t[t.TEXTURE=9]="TEXTURE"}(_t||(_t={})),function(t){t[t.GYROSCOPE=0]="GYROSCOPE",t[t.SPINE=1]="SPINE"}(St||(St={})),function(t){t[t.CLICK=0]="CLICK",t[t.MESSAGE=1]="MESSAGE",t[t.DRAG=2]="DRAG"}(Ot||(Ot={})),function(t){t[t.NONE=0]="NONE",t[t.NOTIFY=1]="NOTIFY",t[t.RESUME_PLAYER=2]="RESUME_PLAYER",t[t.REMOVE=3]="REMOVE",t[t.PAUSE=4]="PAUSE"}(wt||(wt={})),function(t){t.base="0",t.sprite="1",t.particle="2",t.null="3",t.interact="4",t.plugin="5",t.camera="6",t.composition="7",t.filter="8",t.spine="spine",t.mesh="mesh",t.tree="tree",t.text="text",t.light="light",t.skybox="skybox",t.effect="effect"}(At||(At={})),function(t){t[t.BILLBOARD=0]="BILLBOARD",t[t.MESH=1]="MESH",t[t.VERTICAL_BILLBOARD=2]="VERTICAL_BILLBOARD",t[t.HORIZONTAL_BILLBOARD=3]="HORIZONTAL_BILLBOARD"}(Rt||(Rt={})),function(t){t[t.PARTICLE_ORIGIN_CENTER=0]="PARTICLE_ORIGIN_CENTER",t[t.PARTICLE_ORIGIN_LEFT_TOP=1]="PARTICLE_ORIGIN_LEFT_TOP",t[t.PARTICLE_ORIGIN_LEFT_CENTER=2]="PARTICLE_ORIGIN_LEFT_CENTER",t[t.PARTICLE_ORIGIN_LEFT_BOTTOM=3]="PARTICLE_ORIGIN_LEFT_BOTTOM",t[t.PARTICLE_ORIGIN_CENTER_TOP=4]="PARTICLE_ORIGIN_CENTER_TOP",t[t.PARTICLE_ORIGIN_CENTER_BOTTOM=5]="PARTICLE_ORIGIN_CENTER_BOTTOM",t[t.PARTICLE_ORIGIN_RIGHT_TOP=6]="PARTICLE_ORIGIN_RIGHT_TOP",t[t.PARTICLE_ORIGIN_RIGHT_CENTER=7]="PARTICLE_ORIGIN_RIGHT_CENTER",t[t.PARTICLE_ORIGIN_RIGHT_BOTTOM=8]="PARTICLE_ORIGIN_RIGHT_BOTTOM"}(Lt||(Lt={}));var It,Mt,Pt,Vt,Ft,Nt,Dt,zt;!function(t){t[t.portrait=1]="portrait",t[t.landscape=0]="landscape"}(It||(It={})),function(t){t[t.destroy=0]="destroy",t[t.pause=1]="pause",t[t.restart=5]="restart",t[t.forward=2]="forward",t[t.pause_destroy=3]="pause_destroy",t[t.freeze=4]="freeze"}(Mt||(Mt={})),function(t){t[t.CONSTANT=0]="CONSTANT",t[t.CONSTANT_VEC2=1]="CONSTANT_VEC2",t[t.CONSTANT_VEC3=2]="CONSTANT_VEC3",t[t.CONSTANT_VEC4=3]="CONSTANT_VEC4",t[t.RANDOM=4]="RANDOM",t[t.LINE=5]="LINE",t[t.CURVE=6]="CURVE",t[t.BEZIER_PATH=7]="BEZIER_PATH",t[t.RGBA_COLOR=8]="RGBA_COLOR",t[t.GRADIENT_COLOR=9]="GRADIENT_COLOR",t[t.SHAPE_POINTS=10]="SHAPE_POINTS",t[t.SHAPE_SPLITS=11]="SHAPE_SPLITS",t[t.LINEAR_PATH=12]="LINEAR_PATH",t[t.COLORS=13]="COLORS",t[t.BINARY=20]="BINARY",t[t.BEZIER_CURVE=21]="BEZIER_CURVE",t[t.BEZIER_CURVE_PATH=22]="BEZIER_CURVE_PATH"}(Pt||(Pt={})),function(t){t[t.AUTO=0]="AUTO",t[t.EASE=1]="EASE",t[t.EASE_IN=2]="EASE_IN",t[t.EASE_OUT=3]="EASE_OUT",t[t.LINE=4]="LINE",t[t.HOLD=5]="HOLD",t[t.LINE_OUT=6]="LINE_OUT"}(Vt||(Vt={})),function(t){t[t.destroy=0]="destroy",t[t.loop=5]="loop",t[t.freeze=4]="freeze"}(Ft||(Ft={})),function(t){t[t.destroyChildren=6]="destroyChildren"}(Nt||(Nt={})),function(t){t[t.none=0]="none",t[t.removeParticle=1]="removeParticle"}(Dt||(Dt={})),function(t){t[t.RANDOM=0]="RANDOM",t[t.UNIDIRECTIONAL_CYCLE=1]="UNIDIRECTIONAL_CYCLE",t[t.BIDIRECTIONAL_CYCLE=2]="BIDIRECTIONAL_CYCLE",t[t.UNIFORM_BURST=3]="UNIFORM_BURST"}(zt||(zt={}));var Ut,kt,Bt,Gt,Xt,jt,Ht,Yt,Wt,Zt,qt,Qt;!function(t){t.point="point",t.spot="spot",t.directional="directional",t.ambient="ambient"}(Ut||(Ut={})),function(t){t[t.box=2]="box",t[t.sphere=3]="sphere"}(kt||(kt={})),function(t){t.orthographic="orthographic",t.perspective="perspective"}(Bt||(Bt={})),function(t){t.unlit="unlit",t.pbr="pbr",t.hair="hair"}(Gt||(Gt={})),function(t){t[t.opaque=100]="opaque",t[t.masked=101]="masked",t[t.translucent=102]="translucent",t[t.additive=103]="additive"}(Xt||(Xt={})),function(t){t.none="none",t.uv="uv",t.normal="normal",t.basecolor="basecolor",t.alpha="alpha",t.metallic="metallic",t.roughness="roughness",t.ao="ao",t.emissive="emissive"}(jt||(jt={})),function(t){t[t.display=0]="display",t[t.clip=1]="clip",t[t.ellipsis=2]="ellipsis"}(Ht||(Ht={})),function(t){t[t.top=0]="top",t[t.middle=1]="middle",t[t.bottom=2]="bottom"}(Yt||(Yt={})),function(t){t[t.left=0]="left",t[t.middle=1]="middle",t[t.right=2]="right"}(Wt||(Wt={})),function(t){t.normal="normal",t.bold="bold",t.lighter="lighter"}(Zt||(Zt={})),function(t){t.normal="normal",t.italic="italic",t.oblique="oblique"}(qt||(qt={})),function(t){t.VFXItemData="VFXItemData",t.EffectComponent="EffectComponent",t.Material="Material",t.Shader="Shader",t.SpriteComponent="SpriteComponent",t.ParticleSystem="ParticleSystem",t.InteractComponent="InteractComponent",t.CameraController="CameraController",t.Geometry="Geometry",t.Texture="Texture",t.TextComponent="TextComponent",t.MeshComponent="MeshComponent",t.SkyboxComponent="SkyboxComponent",t.LightComponent="LightComponent",t.CameraComponent="CameraComponent",t.ModelPluginComponent="ModelPluginComponent",t.TreeComponent="TreeComponent"}(Qt||(Qt={}));var Kt,Jt=Object.freeze({__proto__:null,get BezierKeyframeType(){return Vt},get BlendingMode(){return Et},BloomFilterThresholdAvgColor:0,CAMERA_CLIP_MODE_NORMAL:0,CAMERA_CLIP_MODE_VERTICAL:1,get CameraClipMode(){return It},get CameraType(){return Bt},get CompositionEndBehavior(){return Mt},get DataType(){return Qt},END_BEHAVIOR_DESTROY:0,END_BEHAVIOR_DESTROY_CHILDREN:6,END_BEHAVIOR_FORWARD:2,END_BEHAVIOR_FREEZE:4,END_BEHAVIOR_PAUSE:1,END_BEHAVIOR_PAUSE_AND_DESTROY:3,END_BEHAVIOR_RESTART:5,get FontStyle(){return qt},get InteractBehavior(){return wt},get InteractType(){return Ot},get ItemEndBehavior(){return Ft},get ItemType(){return At},get LightType(){return Ut},MESSAGE_ITEM_PHRASE_BEGIN:2,MESSAGE_ITEM_PHRASE_END:1,get MaskMode(){return Ct},get MaterialBlending(){return Xt},get MaterialType(){return Gt},get ModelBoundingType(){return kt},get ParentItemEndBehavior(){return Nt},get ParticleInteractionBehavior(){return Dt},get ParticleOrigin(){return Lt},get PluginType(){return St},get RenderLevel(){return Tt},get RenderMode(){return Rt},get RenderMode3D(){return jt},get ShapeArcMode(){return zt},get ShapeType(){return _t},get SideMode(){return bt},get TextAlignment(){return Wt},get TextBaseline(){return Yt},get TextOverflow(){return Ht},get TextWeight(){return Zt},get ValueType(){return Pt}}),$t={},te={},ee={};function re(t){var e=t.constructor.name;if(ee[e])return ee[e];ee[e]={};for(var r=ee[e],i=t,n=e;n;){var o=te[n];for(var a in o)r[a]=o[a];var s=Object.getPrototypeOf(i);if("Object"===(n=Object.getPrototypeOf(s).constructor.name))break;i=s}return r}function ie(t){return function(t,e){return function(r,i){var n=function(t){var e=t.constructor.name;return te[e]||(te[e]={}),te[e]}(r);n[i]||(n[i]={type:t,sourceName:e})}}(0,t)}function ne(t){return function(e,r){$t[t]&&console.warn("Class "+t+" 重复注册"),$t[t]=e}}t.ShaderType=void 0,(Kt=t.ShaderType||(t.ShaderType={}))[Kt.vertex=0]="vertex",Kt[Kt.fragment=1]="fragment";var oe,ae=[],se={};function ue(){"function"==typeof WebGL2RenderingContext?ce(WebGL2RenderingContext):"undefined"!=typeof WebGLRenderingContext?(ce(WebGLRenderingContext),ce(WebGLRenderingContext.prototype)):ae.push("iOS16 lockdown mode, WebGL Constants not in global"),ae.length||"HALF_FLOAT"in se||(se.HALF_FLOAT=5131)}function ce(t){for(var e in t)/^[A-Z_]/.test(e)&&(se[e]=t[e])}function le(t){switch(t){case Et.ALPHA:case Et.ADD:case Et.SUBTRACTION:case Et.STRONG_LIGHT:case Et.WEAK_LIGHT:return 1;case Et.SUPERPOSITION:return 2;case Et.BRIGHTNESS:return 3;case Et.MULTIPLY:return 0;default:return 1}}ae.length||ue();var he,fe,pe=((oe={})[t.ShaderType.vertex]={in:"attribute",out:"varying"},oe[t.ShaderType.fragment]={in:"varying"},oe);function de(t,e,r,i){var n=[],o="";n.push("#define GE_RUNTIME"),t&&(t.forEach((function(t){var e=h(t,2),r=e[0],i=e[1];!0===i?n.push("#define ".concat(r)):Number.isFinite(i)&&n.push("#define ".concat(r," ").concat(i))})),o=n.length?n.join("\n")+"\n":"");var a="WEBGL".concat(i),s=(o+="\n#ifndef ".concat(a,"\n#define ").concat(a,"\n#endif"))+"\n"+e,u=s.match(/#version\s+\b\d{3}\b\s*(es)?/),c=u?u[0]:"";if(c&&c.includes("300")){var l=new RegExp("".concat(c),"g");1===i&&(s=s.replace(/\b(in|out)\b/g,(function(t){var e;return null!==(e=pe[r][t])&&void 0!==e?e:t}))),s=s.replace(l,"\n")}return s}function me(t,e){switch(e){case void 0:case Et.ALPHA:t.blendFunction=[se.ONE,se.ONE_MINUS_SRC_ALPHA,se.ONE,se.ONE_MINUS_SRC_ALPHA];break;case Et.ADD:t.blendFunction=[se.ONE,se.ONE,se.ONE,se.ONE];break;case Et.SUBTRACTION:t.blendFunction=[se.ONE,se.ONE,se.ZERO,se.ONE],t.blendEquation=[se.FUNC_REVERSE_SUBTRACT,se.FUNC_REVERSE_SUBTRACT];break;case Et.SUPERPOSITION:t.blendFunction=[se.ONE,se.ONE,se.ONE,se.ONE];break;case Et.MULTIPLY:t.blendFunction=[se.DST_COLOR,se.ONE_MINUS_SRC_ALPHA,se.DST_COLOR,se.ONE_MINUS_SRC_ALPHA];break;case Et.BRIGHTNESS:t.blendFunction=[se.ONE,se.ONE_MINUS_SRC_ALPHA,se.ONE,se.ONE_MINUS_SRC_ALPHA];break;case Et.STRONG_LIGHT:t.blendFunction=[se.DST_COLOR,se.DST_ALPHA,se.ZERO,se.ONE];break;case Et.WEAK_LIGHT:t.blendFunction=[se.DST_COLOR,se.ZERO,se.ZERO,se.ONE];break;default:console.warn("blendMode ".concat(e," not in specification, please set blend params separately"))}}function ye(t,e){e===bt.DOUBLE?t.culling=!1:(t.culling=!0,t.frontFace=se.CW,t.cullFace=e===bt.BACK?se.BACK:se.FRONT)}function ve(t,e){switch(e){case void 0:t.stencilTest=!1;break;case Ct.MASK:t.stencilTest=!0,t.stencilFunc=[se.ALWAYS,se.ALWAYS],t.stencilOpZPass=[se.REPLACE,se.REPLACE];break;case Ct.OBSCURED:t.stencilTest=!0,t.stencilFunc=[se.EQUAL,se.EQUAL];break;case Ct.REVERSE_OBSCURED:t.stencilTest=!0,t.stencilFunc=[se.NOTEQUAL,se.NOTEQUAL];break;case Ct.NONE:t.stencilTest=!1;break;default:console.warn("maskMode ".concat(e," not in specification, please set stencil params seperately"))}}t.TextureLoadAction=void 0,(he=t.TextureLoadAction||(t.TextureLoadAction={}))[he.whatever=0]="whatever",he[he.clear=2]="clear",t.TextureSourceType=void 0,(fe=t.TextureSourceType||(t.TextureSourceType={}))[fe.none=0]="none",fe[fe.data=1]="data",fe[fe.image=2]="image",fe[fe.compressed=3]="compressed",fe[fe.video=4]="video",fe[fe.canvas=5]="canvas",fe[fe.framebuffer=6]="framebuffer",fe[fe.mipmaps=7]="mipmaps";var xe=function(){function t(){this.callbacks={}}return t.prototype.downloadJSON=function(t,e,r){this.download(t,"json",e,r)},t.prototype.downloadBinary=function(t,e,r){this.download(t,"arraybuffer",e,r)},t.prototype.downloadBlob=function(t,e,r){this.download(t,"blob",e,r)},t.prototype.download=function(t,e,r,i){var n=this;if(void 0===e&&(e="json"),!this.start(t,r,i)){var o=new XMLHttpRequest,a=function(){n.finish(t,o.status,o.response)};o.responseType=e,o.addEventListener("load",(function(){200==o.status||0==o.status?n.finish(t,200,o.response):a()})),o.addEventListener("error",a),o.open("GET",t,!0),o.send()}},t.prototype.start=function(t,e,r){var i=this.callbacks[t];try{if(i)return!0;this.callbacks[t]=i=[]}finally{i.push(e,r)}},t.prototype.finish=function(t,e,r){var i=this.callbacks[t];delete this.callbacks[t];for(var n=200==e||0==e?[r]:[e,r],o=n.length-1,a=i.length;o<a;o+=2)i[o].apply(null,n)},t}(),ge=!1;function Te(t,e){return u(this,void 0,void 0,(function(){return c(this,(function(r){switch(r.label){case 0:return!ge&&e?[3,2]:[4,Ee(t)];case 1:case 5:return[2,{image:r.sent(),url:t}];case 2:return r.trys.push([2,4,,6]),[4,Ee(e)];case 3:return[2,{image:r.sent(),url:e}];case 4:return r.sent(),ge=!0,[4,Ee(t)];case 6:return[2]}}))}))}function Ee(t){return u(this,void 0,void 0,(function(){var e,r;return c(this,(function(i){if(e="",t instanceof HTMLImageElement){if(t.complete)return[2,t];e=t.src}else t instanceof Blob?(e=URL.createObjectURL(t),r=!0):"string"==typeof t&&(e=t);if(!e)throw new Error("Invalid url type: ".concat(JSON.stringify(t)));return[2,new Promise((function(t,i){var n=new Image;/^data:/.test(e)||(n.crossOrigin="*"),n.onload=function(){return n.onload=null,r&&URL.revokeObjectURL(e),t(n)},n.onerror=function(t){return n.onerror=null,r&&URL.revokeObjectURL(e),i("Load image fail: ".concat(e,", reason: ").concat(JSON.stringify(t)))},n.src=e}))]}))}))}function be(t){return u(this,void 0,void 0,(function(){return c(this,(function(e){return[2,new Promise((function(e,r){(new xe).downloadBinary(t,e,(function(e,i){r("Couldn't load bins ".concat(t,": status ").concat(e,", ").concat(i))}))}))]}))}))}function Ce(t,e){return void 0===e&&(e={}),u(this,void 0,void 0,(function(){var r;return c(this,(function(i){return r=document.createElement("video"),"string"==typeof t?r.src=t:r.srcObject=t,r.crossOrigin="anonymous",r.muted=!0,e.loop&&r.addEventListener("ended",(function(){return r.play()})),A()&&r.setAttribute("renderer","standard"),r.setAttribute("playsinline","playsinline"),[2,new Promise((function(t,e){var i=r.play();i?i.then((function(){return t(r)})):r.addEventListener("loadeddata",(function e(){t(r),r.removeEventListener("loadeddata",e)}),!0),r.addEventListener("error",(function(t){e(t)}))}))]}))}))}function _e(e,r,i){return void 0===i&&(i=[]),u(this,void 0,void 0,(function(){var n,o,s,u,l,h,f;return c(this,(function(c){switch(c.label){case 0:return 34067!==e.target?[3,2]:(s=(n=e).mipmaps,u=n.target,l=s.map((function(t){return Promise.all(t.map((function(t){return Se(t,r)})))})),[4,Promise.all(l)]);case 1:return h=c.sent(),f=i[s[0][0][1][0]].url,[2,a(a({keepImageSource:!1},e),{mipmaps:h,sourceFrom:{target:u,bin:f,type:t.TextureSourceType.mipmaps,mipmaps:s.map((function(t){return t.map((function(t){return[t[1][1],t[1][2]]}))}))}})];case 2:return s=(o=e).mipmaps,u=o.target,l=s.map((function(t){return Se(t,r)})),[4,Promise.all(l)];case 3:return h=c.sent(),f=i[s[0][1][0]].url,[2,a(a({keepImageSource:!1},e),{mipmaps:h,sourceType:t.TextureSourceType.mipmaps,sourceFrom:{target:u,bin:f,type:t.TextureSourceType.mipmaps,mipmaps:s.map((function(t){return[t[1][1],t[1][2]]}))}})]}}))}))}function Se(t,e){return u(this,void 0,void 0,(function(){var r,i,n,o,a;return c(this,(function(s){if(r=h(t[1],3),i=r[0],n=r[1],o=r[2],!(a=e[i]))throw new Error("invalid bin pointer: ".concat(JSON.stringify(t)));return[2,Ee(new Blob([new Uint8Array(a,n,o)]))]}))}))}var Oe=function(){function t(t){this.engine=t,this.guid=xt(),this.taggedProperties={},this.engine.addInstance(this)}return t.prototype.getInstanceId=function(){return this.guid},t.prototype.setInstanceId=function(t){this.engine.removeInstance(this.guid),this.guid=t,this.engine.addInstance(this)},t.prototype.toData=function(){},t.prototype.fromData=function(t){t.id&&this.setInstanceId(t.id)},t.prototype.dispose=function(){},s([ie()],t.prototype,"guid",void 0),t}(),we=1,Ae=function(e){function r(t){var r=e.call(this,t)||this;return r.destroyed=!1,r.id="Tex"+we++,r}return o(r,e),Object.defineProperty(r.prototype,"isDestroyed",{get:function(){return this.destroyed},enumerable:!1,configurable:!0}),r.prototype.getWidth=function(){return this.width||0},r.prototype.getHeight=function(){return this.height||0},r.prototype.uploadCurrentVideoFrame=function(){},r.prototype.offloadData=function(){},r.prototype.reloadData=function(){},r.prototype.initialize=function(){},r.prototype.assembleOptions=function(e){var r=e.target,i=void 0===r?se.TEXTURE_2D:r,n=e.format,o=void 0===n?se.RGBA:n;return e.sourceType||(e.sourceType="image"in e?t.TextureSourceType.image:"data"in e?t.TextureSourceType.data:"video"in e?t.TextureSourceType.video:0),a({minFilter:se.NEAREST,magFilter:se.NEAREST,wrapS:se.CLAMP_TO_EDGE,wrapT:se.CLAMP_TO_EDGE,target:i,format:se.RGBA,internalFormat:o,type:se.UNSIGNED_BYTE},e)},r}(Oe);function Re(t,e,r,i){var n,o,a=e.length/r/i;return o=n=4===a||0===a?se.RGBA:3===a?se.RGB:2===a?se.LUMINANCE_ALPHA:se.LUMINANCE,Ae.createWithData(t,{data:e,width:r,height:i},{type:se.HALF_FLOAT,format:n,internalFormat:o,wrapS:se.CLAMP_TO_EDGE,wrapT:se.CLAMP_TO_EDGE})}var Le=function(){function t(t,e,r){void 0===r&&(r=0),this.arrayBuffer=t,this.baseOffset=r;var i=new Uint8Array(this.arrayBuffer,this.baseOffset,12);if(171!==i[0]||75!==i[1]||84!==i[2]||88!==i[3]||32!==i[4]||49!==i[5]||49!==i[6]||187!==i[7]||13!==i[8]||10!==i[9]||26!==i[10]||10!==i[11])throw Error("texture missing KTX identifier");var n=Uint32Array.BYTES_PER_ELEMENT,o=new DataView(this.arrayBuffer,this.baseOffset+12,13*n),a=67305985===o.getUint32(0,!0);this.glType=o.getUint32(1*n,a),this.glTypeSize=o.getUint32(2*n,a),this.glFormat=o.getUint32(3*n,a),this.glInternalFormat=o.getUint32(4*n,a),this.glBaseInternalFormat=o.getUint32(5*n,a),this.pixelWidth=o.getUint32(6*n,a),this.pixelHeight=o.getUint32(7*n,a),this.pixelDepth=o.getUint32(8*n,a),this.numberOfArrayElements=o.getUint32(9*n,a),this.numberOfFaces=o.getUint32(10*n,a),this.numberOfMipmapLevels=o.getUint32(11*n,a),this.bytesOfKeyValueData=o.getUint32(12*n,a),this.numberOfMipmapLevels=Math.max(1,this.numberOfMipmapLevels),0!==this.pixelHeight&&0===this.pixelDepth?0===this.numberOfArrayElements?this.numberOfFaces===e?0===this.glType?this.loadType=0:this.loadType=2:lt.warn("Number of faces expected"+e+", but found "+this.numberOfFaces):lt.warn("Texture arrays not currently supported"):lt.warn("Only 2D textures currently supported")}return t.prototype.mipmaps=function(t){for(var e=[],r=64+this.bytesOfKeyValueData,i=this.pixelWidth,n=this.pixelHeight,o=t?this.numberOfMipmapLevels:1,a=0;a<o;a++){for(var s=new Int32Array(this.arrayBuffer,this.baseOffset+r,1)[0],u=0;u<this.numberOfFaces;u++){var c=new Uint8Array(this.arrayBuffer,this.baseOffset+r+4,s);e.push({data:c,width:i,height:n}),r+=s+4,r+=3-(s+3)%4}i=Math.max(1,.5*i),n=Math.max(1,.5*n)}return e},t}();function Ie(e){var r=new Le(e,1),i=r.numberOfMipmapLevels,n=r.pixelWidth,o=r.pixelHeight,a=r.glType,s=r.numberOfFaces,u=r.glInternalFormat,c=r.glFormat,l=i>=Math.floor(Math.log2(Math.max(n,o))+1);return{sourceType:t.TextureSourceType.compressed,type:a,target:6===s?se.TEXTURE_CUBE_MAP:se.TEXTURE_2D,internalFormat:u,format:c,mipmaps:r.mipmaps(l)}}var Me,Pe=function(){function e(){this.reloadPending={}}return e.prototype.reload=function(t){return u(this,void 0,void 0,(function(){var e,r;return c(this,(function(i){switch(i.label){case 0:return e=t.id,this.reloadPending[e]?[2]:t.sourceFrom?(this.reloadPending[e]=!0,[4,this.loadSource(t.sourceFrom)]):[3,2];case 1:return r=i.sent(),t.updateSource(r),this.reloadPending[e]=!1,[3,3];case 2:throw new Error("No source from");case 3:return[2]}}))}))},e.prototype.canOffloadTexture=function(e){if(e){var r=e.type;if(r===t.TextureSourceType.compressed||r===t.TextureSourceType.image){var i=e,n=i.target,o=i.map,a=e.url;return n===se.TEXTURE_CUBE_MAP?"object"==typeof o&&!!o:ft(a)&&a.length>0}if(r===t.TextureSourceType.mipmaps){var s=e,u=s.bin,c=s.mipmaps,l=e,h=(n=l.target,l.maps),f=e.urls;return u?c.length>0:n===se.TEXTURE_CUBE_MAP?h.every((function(t){return"object"==typeof t&&t})):f.every((function(t){return ft(t)&&t.length>0}))}}return!1},e.prototype.loadSource=function(e,r){return u(this,void 0,void 0,(function(){var i,n,o,s,u,l,h,f,p,d,m,y,v,x,g,T,E,b=this;return c(this,(function(c){switch(c.label){case 0:return i=e.type,n=e.target,o=e.map,s=e.url,l=(u=e).bin,h=u.mipmaps,f=e.urls,p=e.maps,n!==se.TEXTURE_CUBE_MAP||i===t.TextureSourceType.mipmaps?[3,2]:[4,this.loadCubeMap(o)];case 1:return d=c.sent(),[2,a(a({},r),{cube:d,target:se.TEXTURE_CUBE_MAP,sourceType:t.TextureSourceType.image,sourceFrom:{type:t.TextureSourceType.image,map:a({},o),target:se.TEXTURE_CUBE_MAP}})];case 2:return i!==t.TextureSourceType.image?[3,4]:[4,Ee(s)];case 3:return m=c.sent(),[2,a(a({},r),{image:m,sourceType:t.TextureSourceType.image,sourceFrom:{type:i,url:s,target:se.TEXTURE_2D}})];case 4:return i!==t.TextureSourceType.video?[3,6]:[4,Ce(s)];case 5:return y=c.sent(),[2,a(a({},r),{video:y,sourceType:t.TextureSourceType.video})];case 6:return i!==t.TextureSourceType.compressed?[3,8]:[4,be(s)];case 7:return v=c.sent(),[2,a(a(a({},Ie(v)),r),{sourceFrom:{url:s,type:t.TextureSourceType.compressed}})];case 8:return i!==t.TextureSourceType.mipmaps?[3,17]:l?[4,be(l)]:[3,13];case 9:return x=c.sent(),g=null!=n?n:se.TEXTURE_2D,T=g===se.TEXTURE_2D?h.slice():h.map((function(t){return t.slice()})),E=void 0,n!==se.TEXTURE_CUBE_MAP?[3,11]:[4,Promise.all(h.map((function(t){return b.loadMipmapImages(t,x)})))];case 10:return E=c.sent(),[3,12];case 11:E=this.loadMipmapImages(h,x),c.label=12;case 12:return[2,a(a({},r),{mipmaps:E,target:g,sourceType:t.TextureSourceType.mipmaps,sourceFrom:{bin:l,mipmaps:T,target:g,type:t.TextureSourceType.mipmaps}})];case 13:return n!==se.TEXTURE_2D&&n?[3,15]:[4,Promise.all(f.map((function(t){return Ee(t)})))];case 14:return E=c.sent(),[2,a(a({},r),{mipmaps:E,target:se.TEXTURE_2D,sourceType:t.TextureSourceType.mipmaps,sourceFrom:{type:i,urls:f.slice(),target:se.TEXTURE_2D}})];case 15:return n!==se.TEXTURE_CUBE_MAP?[3,17]:[4,Promise.all(p.map((function(t){return b.loadCubeMap(t)})))];case 16:return E=c.sent(),[2,a(a({},r),{mipmaps:E,target:se.TEXTURE_CUBE_MAP,sourceType:t.TextureSourceType.mipmaps,sourceFrom:{type:i,maps:p.map((function(t){return a({},t)})),target:se.TEXTURE_CUBE_MAP}})];case 17:throw new Error("Invalid resource type: ".concat(i))}}))}))},e.prototype.loadMipmapImages=function(t,e){return u(this,void 0,void 0,(function(){return c(this,(function(r){return[2,Promise.all(t.map((function(t){return Ee(new Blob([new Uint8Array(e,t[0],t[1])]))})))]}))}))},e.prototype.loadCubeMap=function(t){return u(this,void 0,void 0,(function(){return c(this,(function(e){return[2,Promise.all(t.map((function(t){return Ee(t)})))]}))}))},e}();var Ve,Fe=function(){function t(t){this.destroyed=!1;var e=t.name,r=void 0===e?"defaultDataBlock":e;this.name=r}return t.prototype.setUniformValues=function(t){var e=this;Object.keys(t).forEach((function(r){e.setUniformValue(r,t[r])}))},t.prototype.invalidAllFlags=function(){},t.prototype.updateUniformSubData=function(t,e,r){},t}();function Ne(t){return"object"==typeof t&&t&&void 0===t.length&&t instanceof Ae}t.MaterialRenderType=void 0,(Ve=t.MaterialRenderType||(t.MaterialRenderType={}))[Ve.normal=0]="normal",Ve[Ve.transformFeedback=1]="transformFeedback";var De,ze,Ue=1,ke=function(e){function r(r,i){var n=e.call(this,r)||this;if(n.destroyed=!1,n.initialized=!1,i){var o=i.name,s=void 0===o?"Material"+Ue++:o,u=i.renderType,c=void 0===u?t.MaterialRenderType.normal:u,l=i.shader,h=i.uniformSemantics;n.name=s,n.renderType=c,n.shaderSource=l,n.props=i,n.uniformSemantics=a({},h)}else n.name="Material"+Ue++,n.renderType=t.MaterialRenderType.normal;return n}return o(r,e),Object.defineProperty(r.prototype,"blending",{set:function(t){},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"blendFunction",{set:function(t){},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"blendEquation",{set:function(t){},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"depthTest",{set:function(t){},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"depthMask",{set:function(t){},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"stencilTest",{set:function(t){},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"stencilRef",{set:function(t){},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"stencilFunc",{set:function(t){},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"stencilOpZPass",{set:function(t){},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"culling",{set:function(t){},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"frontFace",{set:function(t){},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"cullFace",{set:function(t){},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"blendColor",{set:function(t){},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"depthRange",{set:function(t){},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"depthFunc",{set:function(t){},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"polygonOffsetFill",{set:function(t){},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"polygonOffset",{set:function(t){},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"sampleAlphaToCoverage",{set:function(t){},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"colorMask",{set:function(t){},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"stencilMask",{set:function(t){},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"stencilOpFail",{set:function(t){},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"stencilOpZFail",{set:function(t){},enumerable:!1,configurable:!0}),r.prototype.initialize=function(){},r.prototype.use=function(t,e){},r}(Oe),Be="uniform vec2 uFilterSourceSize;uniform sampler2D uFilterSource;\n#define INTERPOLATION 1\nvec4 filterMain(vec2 texCoord,sampler2D tex){\n#ifdef INTERPOLATION\nvec2 texInPixel=texCoord*uFilterSourceSize;vec2 coordMin=floor(texInPixel);vec2 pp=texInPixel-coordMin;vec4 fCoord=vec4(coordMin/uFilterSourceSize,(coordMin+vec2(1.))/uFilterSourceSize);vec4 cLT=texture2D(uFilterSource,vec2(fCoord.x,fCoord.w));vec4 cLB=texture2D(uFilterSource,vec2(fCoord.x,fCoord.y));vec4 cRT=texture2D(uFilterSource,vec2(fCoord.z,fCoord.w));vec4 cRB=texture2D(uFilterSource,vec2(fCoord.z,fCoord.y));return mix(mix(cLB,cRB,pp.x),mix(cLT,cRT,pp.x),pp.y);\n#else\nreturn texture2D(uFilterSource,texCoord);\n#endif\n}";t.ShaderCompileResultStatus=void 0,(De=t.ShaderCompileResultStatus||(t.ShaderCompileResultStatus={}))[De.noShader=0]="noShader",De[De.success=1]="success",De[De.fail=2]="fail",De[De.compiling=3]="compiling",t.GLSLVersion=void 0,(ze=t.GLSLVersion||(t.GLSLVersion={})).GLSL1="100",ze.GLSL3="300 es";var Ge=function(t){function e(e,r){var i=t.call(this,e)||this;return i.source=r,i}return o(e,t),e}(Oe),Xe=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype.createVariant=function(t){var e,r,i=[];if(t)try{for(var n=l(Object.keys(t)),o=n.next();!o.done;o=n.next()){var a=o.value;i.push([a,t[a]])}}catch(t){e={error:t}}finally{try{o&&!o.done&&(r=n.return)&&r.call(n)}finally{if(e)throw e.error}}var s=this.engine.getShaderLibrary().createShader(this.shaderData,i);return s.shader=this,s},e.prototype.fromData=function(e){t.prototype.fromData.call(this,e),this.shaderData=e},e=s([ne("Shader")],e)}(Oe),je="effects-internal-copy",He="effects-internal-copy-mesh",Ye="\n#ifdef WEBGL2\n#define vsIn in\n#define vsOut out\n#else\n#define vsIn attribute\n#define vsOut varying\n#endif\nprecision highp float;\nvsIn vec2 aPos;\nvsOut vec2 vTex;\nvoid main(){\n gl_Position = vec4(aPos,0.,1.0);\n vTex = (aPos + vec2(1.0))/2.;\n}",We="precision mediump float;\n#ifdef WEBGL2\n#define fsIn in\n#define fsOut out\n#define texture2D texture\n#else\n#define fsIn varying\n#endif\n".concat(Be,"\nfsIn vec2 vTex;\n#ifdef WEBGL2\nlayout (location = 0) out vec4 fragColor;\n#else\n#define fragColor gl_FragColor\n#endif\n\n#ifdef DEPTH_TEXTURE\nuniform sampler2D uDepth;\n#ifndef WEBGL2\n#extension GL_EXT_frag_depth : enable\n#define gl_FragDepth gl_FragDepthEXT\n#endif\n#endif\nvoid main(){\n fragColor = filterMain(vTex,uFilterSource);\n #ifdef DEPTH_TEXTURE\n gl_FragDepth = texture2D(uDepth,vTex).r;\n #endif\n}\n");function Ze(e,r){var i=2===e,n=i?"#version 300 es":"";return{name:je,vertex:n+"\n"+Ye,fragment:n+"\n"+We,glslVersion:i?t.GLSLVersion.GLSL3:t.GLSLVersion.GLSL1,marcos:[["WEBGL2",!!i],["DEPTH_TEXTURE",!!r]],cacheId:He+ +r}}var qe,Qe={format:se.RGBA,type:se.UNSIGNED_BYTE,minFilter:se.LINEAR,magFilter:se.LINEAR,wrapS:se.CLAMP_TO_EDGE,wrapT:se.CLAMP_TO_EDGE},Ke=Symbol("dispose"),Je=function(){function e(t){this.textureCache={},this.textureRef={},this.engine=t}return e.prototype.requestColorAttachmentTexture=function(e){var r=this,i=e.width,n=e.height,o=e.name,a={sourceType:t.TextureSourceType.framebuffer,data:{width:i,height:n},name:o},s=[o];Object.getOwnPropertyNames(Qe).forEach((function(t){var r,i=null!==(r=e[t])&&void 0!==r?r:Qe[t];a[t]=i,s.push(t,i)}));var u=s.join(":"),c=this.textureCache[u];if(c)this.textureRef[u]++;else{var l=this.engine;F(l),c=Ae.create(l,a),this.textureCache[u]=c,this.textureRef[u]=1,c[Ke]=c.dispose,c.dispose=function(){return r.removeTexture(u)}}return c},e.prototype.removeTexture=function(t){var e=this.textureRef[t];if(e<=1){e<0&&console.error("ref count < 0");var r=this.textureCache[t];r&&(r[Ke](),r.dispose=r[Ke]),delete this.textureCache[t],delete this.textureRef[t]}else this.textureRef[t]=e-1},e.prototype.dispose=function(){var t=this;Object.keys(this.textureCache).forEach((function(e){var r=t.textureCache[e];r[Ke](),r.dispose=r[Ke]})),this.textureCache={},this.textureRef={},this.engine=void 0},e}(),$e=function(){function t(t){void 0===t&&(t={}),this.semantics=a({},t)}return t.prototype.toObject=function(){return a({},this.semantics)},t.prototype.setSemantic=function(t,e){void 0===e?delete this.semantics[t]:this.semantics[t]=e},t.prototype.getSemanticValue=function(t,e){var r=this.semantics[t];return dt(r)?r(e):r},t.prototype.hasSemanticValue=function(t){return t in this.semantics},t.prototype.dispose=function(){var t=this;Object.keys(this.semantics).forEach((function(e){delete t.semantics[e]}))},t}(),tr=((qe={})[se.FLOAT]=Float32Array.BYTES_PER_ELEMENT,qe[se.INT]=Int32Array.BYTES_PER_ELEMENT,qe[se.SHORT]=Int16Array.BYTES_PER_ELEMENT,qe[se.BYTE]=Int8Array.BYTES_PER_ELEMENT,qe),er=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype.initialize=function(){},e.prototype.flush=function(){},e}(Oe);function rr(t){return t===se.INT?new Int32Array(0):t===se.SHORT?new Int16Array(0):new Float32Array(0)}var ir,nr,or=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),Object.defineProperty(e.prototype,"transform",{get:function(){return this.item.transform},enumerable:!1,configurable:!0}),e.prototype.onAttached=function(){},e.prototype.onDestroy=function(){},e.prototype.fromData=function(e){t.prototype.fromData.call(this,e),e.item&&(this.item=e.item)},e.prototype.dispose=function(){this.onDestroy(),this.item&&E(this.item.components,this)},e}(Oe),ar=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e._enabled=!0,e}return o(e,t),Object.defineProperty(e.prototype,"isActiveAndEnabled",{get:function(){return this.item.getVisible()&&this.enabled},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"enabled",{get:function(){return this._enabled},set:function(t){this._enabled=t,t&&this.onBehaviourEnable()},enumerable:!1,configurable:!0}),e.prototype.onBehaviourEnable=function(){},e.prototype.fromData=function(e){t.prototype.fromData.call(this,e)},e.prototype.toData=function(){t.prototype.toData.call(this)},s([ie()],e.prototype,"_enabled",void 0),e}(or),sr=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.started=!1,e}return o(e,t),e.prototype.onEnable=function(){},e.prototype.start=function(){},e.prototype.update=function(t){},e.prototype.lateUpdate=function(t){},e.prototype.onAttached=function(){this.item.itemBehaviours.push(this)},e.prototype.dispose=function(){this.item&&E(this.item.itemBehaviours,this),t.prototype.dispose.call(this)},e.prototype.onBehaviourEnable=function(){this.onEnable(),this.started||(this.start(),this.started=!0)},e}(ar),ur=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.started=!1,e.materials=[],e._enabled=!0,e}return o(e,t),Object.defineProperty(e.prototype,"priority",{get:function(){return this._priority},set:function(t){this._priority=t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"enabled",{get:function(){return this._enabled},set:function(t){this._enabled=t,t&&this.onEnable()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"isActiveAndEnabled",{get:function(){return this.item.getVisible()&&this.enabled},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"material",{get:function(){return this.materials[0]},set:function(t){0===this.materials.length?this.materials.push(t):this.materials[0]=t},enumerable:!1,configurable:!0}),e.prototype.onEnable=function(){},e.prototype.start=function(){},e.prototype.update=function(t){},e.prototype.lateUpdate=function(t){},e.prototype.render=function(t){},e.prototype.onAttached=function(){this.item.rendererComponents.push(this)},e.prototype.fromData=function(e){t.prototype.fromData.call(this,e)},e.prototype.toData=function(){t.prototype.toData.call(this)},e.prototype.dispose=function(){this.item&&E(this.item.rendererComponents,this),t.prototype.dispose.call(this)},s([ie()],e.prototype,"materials",void 0),s([ie()],e.prototype,"_priority",void 0),s([ie()],e.prototype,"_enabled",void 0),e}(or),cr=1,lr=function(e){function r(t,r){var i=e.call(this,t)||this;if(i.destroyed=!1,i.visible=!0,r){var n=r.material,o=r.geometry,a=r.name,s=void 0===a?"<unnamed>":a,u=r.priority,c=void 0===u?0:u,l=r.worldMatrix,h=void 0===l?q.fromIdentity():l;i.id="Mesh"+cr++,i.name=s,i.geometry=o,i.material=n,i.priority=c,i.worldMatrix=h}else i.id="Mesh"+cr++,i.name="<unnamed>",i.worldMatrix=q.fromIdentity(),i._priority=0;return i}return o(r,e),Object.defineProperty(r.prototype,"isDestroyed",{get:function(){return this.destroyed},enumerable:!1,configurable:!0}),r.prototype.setVisible=function(t){this.visible=t},r.prototype.getVisible=function(){return this.visible},r.prototype.render=function(t){if(!this.isDestroyed&&this.getVisible()){var e=this.material,r=this.geometry;t.renderingData.currentFrame.globalUniforms&&t.setGlobalMatrix("effects_ObjectToWorld",this.worldMatrix),r.flush(),t.drawGeometry(r,e)}},r.prototype.firstGeometry=function(){return this.geometry},r.prototype.setMaterial=function(e,r){r!==t.DestroyOptions.keep&&this.material.dispose(r),this.material=e},r.prototype.restore=function(){},r.prototype.dispose=function(e){if(!this.destroyed){(null==e?void 0:e.geometries)!==t.DestroyOptions.keep&&this.geometry.dispose();var r=null==e?void 0:e.material;r!==t.DestroyOptions.keep&&this.material.dispose(r),this.destroyed=!0,void 0!==this.engine&&(this.engine.removeMesh(this),this.engine=void 0)}},r}(ur),hr=1e3;t.RenderPassAttachmentStorageType=void 0,(ir=t.RenderPassAttachmentStorageType||(t.RenderPassAttachmentStorageType={}))[ir.none=0]="none",ir[ir.color=1]="color",ir[ir.stencil_8_opaque=2]="stencil_8_opaque",ir[ir.depth_16_opaque=3]="depth_16_opaque",ir[ir.depth_stencil_opaque=4]="depth_stencil_opaque",ir[ir.depth_16_texture=5]="depth_16_texture",ir[ir.depth_24_stencil_8_texture=6]="depth_24_stencil_8_texture",t.TextureStoreAction=void 0,(nr=t.TextureStoreAction||(t.TextureStoreAction={}))[nr.store=0]="store",nr[nr.clear=2]="clear";var fr,pr=function(){function e(e,r){if(this.destroyed=!1,r){var i=r.texture,n=r.size;if(i instanceof Ae)this.texture=i,this.externalTexture=!0;else if(i){var o=i.wrapT,s=i.wrapS,u=i.minFilter,c=i.magFilter,l=i.internalFormat,h=i.format,f=void 0===h?se.RGBA:h,p=i.type,d=void 0===p?se.UNSIGNED_BYTE:p;this.externalTexture=!1,this.textureOptions={size:n,format:f,type:d,internalFormat:l||f,wrapT:o,wrapS:s,minFilter:u,magFilter:c,name:r.name},this.texture=Ae.create(e,a(a({},this.textureOptions),{sourceType:t.TextureSourceType.framebuffer,data:{width:n[0],height:n[1]}}))}}}return e.prototype.dispose=function(){this.destroyed||(this.texture.dispose(),this.destroyed=!0)},Object.defineProperty(e.prototype,"isDestroyed",{get:function(){return this.destroyed},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"storageType",{get:function(){return t.RenderPassAttachmentStorageType.color},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"size",{get:function(){var t=this.texture;return t?[t.getWidth(),t.getHeight()]:[0,0]},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"width",{get:function(){return this.texture.getWidth()||0},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"height",{get:function(){return this.texture.getHeight()||0},enumerable:!1,configurable:!0}),e}();t.RenderPassDestroyAttachmentType=void 0,(fr=t.RenderPassDestroyAttachmentType||(t.RenderPassDestroyAttachmentType={}))[fr.force=0]="force",fr[fr.keep=1]="keep",fr[fr.keepExternal=2]="keepExternal",fr[fr.destroy=0]="destroy";var dr=1,mr=function(){function e(e,r){this.attachments=[],this.destroyed=!1,this.initialized=!1;var i=r.name,n=void 0===i?"RenderPass_"+dr++:i,o=r.clearAction,s=r.semantics,u=r.depthStencilAttachment,c=r.storeAction,l=r.priority,h=void 0===l?0:l,f=r.meshOrder,p=void 0===f?t.OrderType.ascending:f,d=r.meshes,m=void 0===d?[]:d,y=r.delegate,v=void 0===y?{}:y;this.name=n,this.renderer=e,this.priority=h,this.meshOrder=p,this.meshes=I(m.slice(),this.meshOrder),this.depthStencilType=(null==u?void 0:u.storageType)||t.RenderPassAttachmentStorageType.none,this.clearAction=a({},o),this.storeAction=a({colorAction:t.TextureStoreAction.store,depthAction:t.TextureStoreAction.store,stencilAction:t.TextureStoreAction.store},c),this.semantics=new $e(s),this.options=r,this.delegate=v,this.setViewportOptions(r)}return Object.defineProperty(e.prototype,"isDestroyed",{get:function(){return this.destroyed},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"viewport",{get:function(){return this.getViewport()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"stencilAttachment",{get:function(){return this.getStencilAttachment()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"depthAttachment",{get:function(){return this.getDepthAttachment()},enumerable:!1,configurable:!0}),e.prototype.addMesh=function(t){M(this.meshes,t,this.meshOrder)},e.prototype.removeMesh=function(t){E(this.meshes,t)},e.prototype.setMeshes=function(t){var e;return this.meshes.length=0,(e=this.meshes).splice.apply(e,f([0,0],h(t),!1)),I(this.meshes,this.meshOrder),this.meshes},e.prototype.getInitAttachments=function(){return this.attachments.length>0?this.attachments:this.options.attachments},e.prototype.configure=function(t){if(this.frameBuffer)t.setFrameBuffer(this.frameBuffer);else{var e=h(this.getViewport(),4),r=e[0],i=e[1],n=e[2],o=e[3];t.setViewport(r,i,n,o)}},e.prototype.execute=function(t){t.clear(this.clearAction),t.renderMeshes(this.meshes),t.clear(this.storeAction)},e.prototype.frameCleanup=function(t){},e.prototype.resetColorAttachments=function(e){var r=this;if(e.length||this.resetAttachments({attachments:[]}),this.attachments.length){var i=e.map((function(e){return e.updateSource({sourceType:t.TextureSourceType.framebuffer}),new pr(r.renderer.engine,{texture:e})}));this.attachments.forEach((function(t){return!t.externalTexture&&t.dispose()})),this.attachments=i,this.frameBuffer&&(this.frameBuffer.bind(),this.frameBuffer.resetColorTextures(e.map((function(t){return t}))))}else this.resetAttachments({attachments:e.map((function(t){return{texture:t}}))})},e.prototype.resetAttachments=function(t){this.options=t,this.setViewportOptions(t),this.renderer&&this._resetAttachments()},e.prototype.setViewportOptions=function(t){if(t.viewport){if(this.isCustomViewport=!0,this.viewportScale=1,this.customViewport=t.viewport.slice(0,4),this.frameBuffer){var e=this.customViewport;this.frameBuffer.isCustomViewport=!1,this.frameBuffer.resize(e[0],e[1],e[2],e[3])}}else this.isCustomViewport=!1,this.viewportScale=t.viewportScale||1,this.frameBuffer&&(this.frameBuffer.isCustomViewport=!0,this.frameBuffer.viewportScale=this.viewportScale)},e.prototype._resetAttachments=function(){var e,r,i=this,n=this.renderer,o=this.options;this.attachments.length&&(this.attachments.forEach((function(t){return!t.externalTexture&&t.dispose()})),this.attachments.length=0,null===(e=this.frameBuffer)||void 0===e||e.dispose({depthStencilAttachment:t.RenderPassDestroyAttachmentType.keepExternal}),this.frameBuffer=null);var s=this.viewportScale,u=this.isCustomViewport?this.customViewport:[0,0,n.getWidth()*s,n.getHeight()*s],c=[u[2],u[3]],l=this.name;if(null===(r=o.attachments)||void 0===r?void 0:r.length){var h=o.attachments.map((function(t,e){var r;return new pr(i.renderer.engine,a({size:c,name:(null===(r=t.texture)||void 0===r?void 0:r.name)||"".concat(l,"##color_").concat(e)},t))}));this.attachments=h;var f=Wr.create({storeAction:this.storeAction,name:l,viewport:u,viewportScale:this.viewportScale,isCustomViewport:this.isCustomViewport,attachments:h.map((function(t){return t.texture})),depthStencilAttachment:o.depthStencilAttachment||{storageType:t.RenderPassAttachmentStorageType.none}},n);f.bind(),f.unbind(),this.frameBuffer=f}else this.attachments.length=0},e.prototype.getViewport=function(){var t,e=(null===(t=this.frameBuffer)||void 0===t?void 0:t.viewport)||this.customViewport;if(e)return e;var r=this.renderer,i=this.viewportScale;return r?[0,0,r.getWidth()*i,r.getHeight()*i]:[0,0,0,0]},e.prototype.getDepthAttachment=function(){var t=this.frameBuffer;if(t)return{storageType:t.depthStencilStorageType,storage:t.depthStorage,texture:t.getDepthTexture()?this.getDepthTexture(t.getDepthTexture(),t.externalStorage):void 0}},e.prototype.getStencilAttachment=function(){var t=this.frameBuffer;if(t)return{storageType:t.depthStencilStorageType,storage:t.stencilStorage,texture:t.getStencilTexture()?this.getStencilTexture(t.getStencilTexture(),t.externalStorage):void 0}},e.prototype.getDepthTexture=function(t,e){var r;if(!this.depthTexture){var i=null===(r=this.options.depthStencilAttachment)||void 0===r?void 0:r.texture,n=t===i?i:t;return e||(this.depthTexture=n),n}return this.depthTexture},e.prototype.getStencilTexture=function(t,e){var r;if(!this.stencilTexture){var i=null===(r=this.options.depthStencilAttachment)||void 0===r?void 0:r.texture,n=t===i?i:t;return e||(this.stencilTexture=n),n}return this.stencilTexture},e.prototype.initialize=function(t){return this.initialized||(this._resetAttachments(),this.initialized=!0),this},e.prototype.dispose=function(e){var r,i;if(!this.destroyed){var n=(null==e?void 0:e.meshes)||void 0;n!==t.DestroyOptions.keep&&this.meshes.forEach((function(t){t.dispose(n)})),this.meshes.length=0;var o=(null==e?void 0:e.colorAttachment)?e.colorAttachment:t.RenderPassDestroyAttachmentType.force;this.attachments.forEach((function(e){e.externalTexture&&o===t.RenderPassDestroyAttachmentType.keepExternal||o===t.RenderPassDestroyAttachmentType.keep||e.dispose()})),this.attachments.length=0,(null==e?void 0:e.semantics)!==t.DestroyOptions.keep&&this.semantics.dispose(),this.destroyed=!0;var a=(null==e?void 0:e.depthStencilAttachment)?e.depthStencilAttachment:t.RenderPassDestroyAttachmentType.force,s=this.frameBuffer;if(s)s.dispose({depthStencilAttachment:a}),s.externalStorage&&a===t.RenderPassDestroyAttachmentType.keepExternal||a===t.RenderPassDestroyAttachmentType.keep||(null===(r=this.stencilTexture)||void 0===r||r.dispose(),null===(i=this.depthTexture)||void 0===i||i.dispose());this.options=this.renderer=null,this.initialize=vt}},e}(),yr="#version 300 es\nprecision highp float;\n#version 300 es\n#ifdef WEBGL2\n#define texture2D texture\n#define textureCube texture\n#define textureCubeLodEXT textureLod\nlayout(location=0)out vec4 fragColor;\n#else\n#define fragColor gl_FragColor\n#endif\nvec4 blendColor(vec4 color,vec4 vc,float mode){vec4 ret=color*vc;\n#ifdef PRE_MULTIPLY_ALPHA\nfloat alpha=vc.a;\n#else\nfloat alpha=ret.a;\n#endif\nif(mode==1.){ret.rgb*=alpha;}else if(mode==2.){ret.rgb*=alpha;ret.a=dot(ret.rgb,vec3(0.33333333));}else if(mode==3.){alpha=color.r*alpha;ret=vec4(vc.rgb*alpha,alpha);}return ret;}in vec4 vColor;in vec4 vTexCoord;in highp vec2 vParams;uniform vec3 uFrameColor;void main(){fragColor=vec4(uFrameColor.xyz,1.0);}",vr="precision highp float;attribute vec2 atlasOffset;attribute vec3 aPos;varying vec2 vTexCoord;varying vec3 vParams;varying vec4 vColor;uniform vec4 _Color;uniform vec4 _TexParams;uniform vec4 _TexOffset;uniform mat4 effects_MatrixVP;uniform mat4 effects_MatrixInvV;uniform mat4 effects_ObjectToWorld;\n#ifdef ENV_EDITOR\nuniform vec4 uEditorTransform;\n#endif\nvoid main(){vec4 texParams=_TexParams;vTexCoord=vec2(atlasOffset.xy*_TexOffset.zw+_TexOffset.xy);vColor=_Color;vParams=vec3(0.0,texParams.y,texParams.x);vec4 pos=vec4(aPos.xyz,1.0);gl_Position=effects_MatrixVP*effects_ObjectToWorld*pos;\n#ifdef ENV_EDITOR\ngl_Position=vec4(gl_Position.xy*uEditorTransform.xy+uEditorTransform.zw*gl_Position.w,gl_Position.zw);\n#endif\n}",xr="precision highp float;varying vec4 vColor;varying vec2 vTexCoord;varying vec3 vParams;uniform sampler2D uSampler0;vec4 blendColor(vec4 color,vec4 vc,float mode){vec4 ret=color*vc;\n#ifdef PRE_MULTIPLY_ALPHA\nfloat alpha=vc.a;\n#else\nfloat alpha=ret.a;\n#endif\nif(mode==1.){ret.rgb*=alpha;}else if(mode==2.){ret.rgb*=alpha;ret.a=dot(ret.rgb,vec3(0.33333333));}else if(mode==3.){alpha=color.r*alpha;ret=vec4(vc.rgb*alpha,alpha);}return ret;}void main(){vec4 color=vec4(0.);vec4 texColor=texture2D(uSampler0,vTexCoord.xy);color=blendColor(texColor,vColor,floor(0.5+vParams.y));if(vParams.z==0.&&color.a<0.04){discard;}color.a=clamp(color.a,0.0,1.0);gl_FragColor=color;}",gr="#version 300 es\nprecision mediump float;\n#version 300 es\n#ifdef WEBGL2\n#define texture2D texture\n#define textureCube texture\n#define textureCubeLodEXT textureLod\nlayout(location=0)out vec4 fragColor;\n#else\n#define fragColor gl_FragColor\n#endif\nvec4 blendColor(vec4 color,vec4 vc,float mode){vec4 ret=color*vc;\n#ifdef PRE_MULTIPLY_ALPHA\nfloat alpha=vc.a;\n#else\nfloat alpha=ret.a;\n#endif\nif(mode==1.){ret.rgb*=alpha;}else if(mode==2.){ret.rgb*=alpha;ret.a=dot(ret.rgb,vec3(0.33333333));}else if(mode==3.){alpha=color.r*alpha;ret=vec4(vc.rgb*alpha,alpha);}return ret;}\n#define PATICLE_SHADER 1\nin float vLife;in vec2 vTexCoord;in vec4 vColor;uniform vec3 emissionColor;uniform float emissionIntensity;uniform sampler2D uMaskTex;uniform vec4 uColorParams;uniform vec2 uTexOffset;\n#ifdef COLOR_OVER_LIFETIME\nuniform sampler2D uColorOverLifetime;\n#endif\n#ifdef USE_SPRITE\nin vec4 vTexCoordBlend;\n#ifdef USE_FILTER\nuniform vec4 uFSprite;\n#endif\n#endif\nin float vSeed;\n#ifdef PREVIEW_BORDER\nuniform vec4 uPreviewColor;\n#endif\n#ifdef USE_SPRITE\nvec4 getTextureColor(sampler2D tex,vec2 texCoord){if(vTexCoordBlend.w>0.){return mix(texture2D(tex,texCoord),texture2D(tex,vTexCoordBlend.xy+texCoord),vTexCoordBlend.z);}return texture2D(tex,texCoord);}\n#else\n#define getTextureColor texture2D\n#endif\n#ifndef WEBGL2\n#define round(a) floor(0.5+a)\n#endif\n#ifdef PREVIEW_BORDER\nvoid main(){fragColor=uPreviewColor;}\n#else\n#pragma FILTER_FRAG\nvoid main(){vec4 color=vec4(1.0);vec4 tempColor=vColor;vec2 texOffset=uTexOffset;if(vLife<0.){discard;}\n#ifdef USE_FILTER\n#ifdef USE_SPRITE\ntexOffset=uTexOffset/uFSprite.xy;\n#endif\ncolor=filterMain(vTexCoord,uMaskTex);\n#else\nif(uColorParams.x>0.0){color=getTextureColor(uMaskTex,vTexCoord);}\n#endif\n#ifdef COLOR_OVER_LIFETIME\n#ifndef ENABLE_VERTEX_TEXTURE\ntempColor*=texture2D(uColorOverLifetime,vec2(vLife,0.));\n#endif\n#endif\ncolor=blendColor(color,tempColor,round(uColorParams.y));if(color.a<=0.01&&uColorParams.w>0.){float _at=texture2D(uMaskTex,vTexCoord+texOffset).a+texture2D(uMaskTex,vTexCoord+texOffset*-1.).a;if(_at<=0.02){discard;}}vec3 emission=emissionColor*pow(2.0,emissionIntensity);color=vec4(pow(pow(color.rgb,vec3(2.2))+emission,vec3(1.0/2.2)),color.a);fragColor=color;}\n#endif\n",Tr="#version 300 es\nprecision highp float;\n#define SHADER_VERTEX 1\n#define PATICLE_SHADER 1\n#version 300 es\n#ifdef WEBGL2\n#define texture2D texture\n#else\n#endif\n#ifdef SHADER_VERTEX\n#define CURVE_VALUE_TEXTURE uVCurveValueTexture\n#define CURVE_VALUE_ARRAY uVCurveValues\n#define CURVE_VALUE_COUNT VERT_CURVE_VALUE_COUNT\n#define FRAG_CURVE_VALUE_COUNT 0\n#else\n#define CURVE_VALUE_TEXTURE uFCurveValueTexture\n#define CURVE_VALUE_ARRAY uFCurveValues\n#define CURVE_VALUE_COUNT FRAG_CURVE_VALUE_COUNT\n#define VERT_CURVE_VALUE_COUNT 0\n#endif\n#if CURVE_VALUE_COUNT > 0\n#if LOOKUP_TEXTURE_CURVE\nuniform sampler2D CURVE_VALUE_TEXTURE;const float uCurveCount=1./float(CURVE_VALUE_COUNT);\n#define lookup_curve(i) texture2D(CURVE_VALUE_TEXTURE,vec2(float(i) * uCurveCount,0.))\n#else\nuniform vec4 CURVE_VALUE_ARRAY[CURVE_VALUE_COUNT];\n#define lookup_curve(i) CURVE_VALUE_ARRAY[i]\n#endif\n#else\n#define lookup_curve(i) vec4(0.)\n#endif\n#ifdef WEBGL2\n#define ITR_END (count + 1)\n#else\n#define ITR_END MAX_C\n#endif\n#ifdef SHADER_VERTEX\nin float aSeed;out float vSeed;\n#define NONE_CONST_INDEX 1\n#else\n#if LOOKUP_TEXTURE_CURVE\n#define NONE_CONST_INDEX 1\n#endif\n#endif\n#ifdef NONE_CONST_INDEX\n#ifdef SHADER_VERTEX\n#define MAX_C VERT_MAX_KEY_FRAME_COUNT\n#else\n#define MAX_C FRAG_MAX_KEY_FRAME_COUNT\n#endif\n#else\n#define MAX_C CURVE_VALUE_COUNT\n#endif\nfloat evaluateCurveFrames(float time,vec4 keyframe0,vec4 keyframe1){float dt=keyframe1.x-keyframe0.x;float m0=keyframe0.w*dt;float m1=keyframe1.z*dt;float t=(time-keyframe0.x)/dt;float t2=t*t;float t3=t2*t;return dot(vec4(dot(vec3(2.,-3.,1.),vec3(t3,t2,1.)),dot(vec3(1,-2.,1),vec3(t3,t2,t)),t3-t2,dot(vec2(-2,3),vec2(t3,t2))),vec4(keyframe0.y,m0,m1,keyframe1.y));}float valueFromCurveFrames(float time,float frameStart,float frameCount){int start=int(frameStart);int count=int(frameCount-1.);int end=start+count;for(int i=0;i<ITR_END;i++){\n#ifdef NONE_CONST_INDEX\nif(i==count){return lookup_curve(count).y;}vec4 k0=lookup_curve(i+start);vec4 k1=lookup_curve(i+1+start);\n#else\nif(i<start){continue;}vec4 k0=lookup_curve(i);vec4 k1=lookup_curve(i+1);if(i==end){return k0.y;}\n#endif\nif(time>=k0.x&&time<=k1.x){return evaluateCurveFrames(time,k0,k1);}}return lookup_curve(0).y;}float evaluteLineSeg(float t,vec2 p0,vec2 p1){return p0.y+(p1.y-p0.y)*(t-p0.x)/(p1.x-p0.x);}float valueFromLineSegs(float time,float frameStart,float frameCount){int start=int(frameStart);int count=int(frameCount-1.);int end=start+count;for(int i=0;i<ITR_END;i++){\n#ifdef NONE_CONST_INDEX\nif(i>count){return lookup_curve(i).w;}\n#else\nif(i<start){continue;}if(i>end){return lookup_curve(i-2).w;}\n#endif\n#ifdef NONE_CONST_INDEX\nvec4 seg=lookup_curve(i+start);\n#else\nvec4 seg=lookup_curve(i);\n#endif\nvec2 p0=seg.xy;vec2 p1=seg.zw;if(time>=p0.x&&time<=p1.x){return evaluteLineSeg(time,p0,p1);}\n#ifdef NONE_CONST_INDEX\nvec2 p2=lookup_curve(i+start+1).xy;\n#else\nvec2 p2=lookup_curve(i+1).xy;\n#endif\nif(time>p1.x&&time<=p2.x){return evaluteLineSeg(time,p1,p2);}}return lookup_curve(0).y;}float getValueFromTime(float time,vec4 value){float type=value.x;if(type==0.){return value.y;}else if(type==1.){return mix(value.y,value.z,time/value.w);}if(type==2.){return valueFromCurveFrames(time,floor(value.y),floor(1./fract(value.y)+0.5))*value.w+value.z;}if(type==3.){return valueFromLineSegs(time,value.y,value.z);}if(type==4.){\n#ifdef SHADER_VERTEX\nfloat seed=aSeed;\n#else\nfloat seed=vSeed;\n#endif\nreturn mix(value.y,value.z,seed);}return 0.;}float integrateCurveFrames(float t1,vec4 k0,vec4 k1){float k=k1.x-k0.x;float m0=k0.w*k;float m1=k1.z*k;float t0=k0.x;float v0=k0.y;float v1=k1.y;float dt=t0-t1;float dt2=dt*dt;float dt3=dt2*dt;vec4 a=vec4(dt3*dt,dt3,dt2,dt)/vec4(4.*k*k*k,3.*k*k,2.*k,1.);vec4 b=vec4(m0+m1+2.*v0-2.*v1,2.*m0+m1+3.*v0-3.*v1,m0,-v0);return dot(a,b);}float integrateByTimeCurveFrames(float t1,vec4 k0,vec4 k1){float k=k1.x-k0.x;float m0=k0.w*k;float m1=k1.z*k;float t0=k0.x;float v0=k0.y;float v1=k1.y;float dt=t0-t1;float dt2=dt*dt;float dt3=dt2*dt;float k2=k*k;float k3=k2*k;vec4 a=vec4(-30.*k3,10.*k2,5.*k,3.)*vec4(dt,dt2,dt3,dt3*dt);vec4 b=vec4(v0,m0,2.*m0+m1+3.*v0-3.*v1,m0+m1+2.*v0-2.*v1)*vec4(t0+t1,t0+2.*t1,t0+3.*t1,t0+4.*t1);return dot(a,b)/60./k3;}float integrateByTimeFromCurveFrames(float t1,float frameStart,float frameCount){if(t1==0.){return 0.;}int start=int(frameStart);int count=int(frameCount-1.);float ret=0.;for(int i=0;i<ITR_END;i++){if(i==count){return ret;}vec4 k0=lookup_curve(i+start);vec4 k1=lookup_curve(i+1+start);if(t1>k0.x&&t1<=k1.x){return ret+integrateByTimeCurveFrames(t1,k0,k1);}ret+=integrateByTimeCurveFrames(k1.x,k0,k1);}return ret;}float integrateFromCurveFrames(float time,float frameStart,float frameCount){if(time==0.){return 0.;}int start=int(frameStart);int count=int(frameCount-1.);float ret=0.;for(int i=0;i<ITR_END;i++){if(i==count){return ret;}vec4 k0=lookup_curve(i+start);vec4 k1=lookup_curve(i+1+start);if(time>k0.x&&time<=k1.x){return ret+integrateCurveFrames(time,k0,k1);}ret+=integrateCurveFrames(k1.x,k0,k1);}return ret;}float integrateByTimeLineSeg(float t,vec2 p0,vec2 p1){float t0=p0.x;float t1=p1.x;float y0=p0.y;float y1=p1.y;vec4 tSqr=vec4(t,t,t0,t0);tSqr=tSqr*tSqr;vec4 a=vec4(2.*t,3.,-t0,3.)*tSqr;float t1y0=t1*y0;vec4 b=vec4(y0-y1,t0*y1-t1y0,2.*y0+y1,t1y0);float r=dot(a,b);return r/(t0-t1)*0.16666667;}float integrateLineSeg(float time,vec2 p0,vec2 p1){float h=time-p0.x;float y0=p0.y;return(y0+y0+(p1.y-y0)*h/(p1.x-p0.x))*h/2.;}float integrateFromLineSeg(float time,float frameStart,float frameCount){if(time==0.){return 0.;}int start=int(frameStart);int count=int(frameCount-1.);float ret=0.;for(int i=0;i<ITR_END;i++){if(i>count){return ret;}vec4 ks=lookup_curve(i+start);vec2 k0=ks.xy;vec2 k1=ks.zw;if(time>k0.x&&time<=k1.x){return ret+integrateLineSeg(time,k0,k1);}ret+=integrateLineSeg(k1.x,k0,k1);vec2 k2=lookup_curve(i+start+1).xy;if(time>k1.x&&time<=k2.x){return ret+integrateLineSeg(time,k1,k2);}ret+=integrateLineSeg(k2.x,k1,k2);}return ret;}float integrateByTimeFromLineSeg(float time,float frameStart,float frameCount){if(time==0.){return 0.;}int start=int(frameStart);int count=int(frameCount-1.);float ret=0.;for(int i=0;i<ITR_END;i++){if(i>count){return ret;}vec4 ks=lookup_curve(i+start);vec2 k0=ks.xy;vec2 k1=ks.zw;if(time>k0.x&&time<=k1.x){return ret+integrateByTimeLineSeg(time,k0,k1);}ret+=integrateByTimeLineSeg(k1.x,k0,k1);vec2 k2=lookup_curve(i+start+1).xy;if(time>k1.x&&time<=k2.x){return ret+integrateByTimeLineSeg(time,k1,k2);}ret+=integrateByTimeLineSeg(k2.x,k1,k2);}return ret;}float getIntegrateFromTime0(float t1,vec4 value){float type=value.x;if(type==0.){return value.y*t1;}else if(type==1.){vec2 p0=vec2(0.,value.y);vec2 p1=vec2(value.w,value.z);return integrateLineSeg(t1,p0,p1);}if(type==3.){return integrateFromLineSeg(t1,value.y,value.z);}if(type==2.){float idx=floor(value.y);float ilen=floor(1./fract(value.y)+0.5);float d=integrateFromCurveFrames(t1,idx,ilen);return d*value.w+value.z*t1;}if(type==4.){return mix(value.y,value.z,aSeed)*t1;}return 0.;}float getIntegrateByTimeFromTime(float t0,float t1,vec4 value){float type=value.x;if(type==0.){return value.y*(t1*t1-t0*t0)/2.;}else if(type==1.){vec2 p0=vec2(0.,value.y);vec2 p1=vec2(value.w,value.z);return integrateByTimeLineSeg(t1,p0,p1)-integrateByTimeLineSeg(t0,p0,p1);}if(type==2.){float idx=floor(value.y);float ilen=floor(1./fract(value.y)+0.5);float d=integrateByTimeFromCurveFrames(t1,idx,ilen)-integrateByTimeFromCurveFrames(t0,idx,ilen);return d*value.w+value.z*pow(t1-t0,2.)*0.5;}if(type==3.){return integrateByTimeFromLineSeg(t1,value.y,value.z)-integrateByTimeFromLineSeg(t0,value.y,value.z);}if(type==4.){return mix(value.y,value.z,aSeed)*(t1*t1-t0*t0)/2.;}return 0.;}const float d2r=3.141592653589793/180.;in vec3 aPos;in vec4 aOffset;in vec3 aVel;in vec3 aRot;in vec4 aColor;in vec3 aDirX;in vec3 aDirY;\n#ifdef USE_SPRITE\nin vec3 aSprite;uniform vec4 uSprite;struct UVDetail{vec2 uv0;vec3 uv1;};UVDetail getSpriteUV(vec2 uv,float lifeTime);out vec4 vTexCoordBlend;\n#endif\n#pragma EDITOR_VERT_DEFINE\n#ifdef FINAL_TARGET\nuniform vec3 uFinalTarget;uniform vec4 uForceCurve;\n#endif\nuniform mat4 effects_ObjectToWorld;uniform mat4 effects_MatrixV;uniform mat4 effects_MatrixVP;uniform vec4 uParams;uniform vec4 uAcceleration;uniform vec4 uGravityModifierValue;uniform vec4 uOpacityOverLifetimeValue;\n#ifdef ROT_X_LIFETIME\nuniform vec4 uRXByLifeTimeValue;\n#endif\n#ifdef ROT_Y_LIFETIME\nuniform vec4 uRYByLifeTimeValue;\n#endif\n#ifdef ROT_Z_LIFETIME\nuniform vec4 uRZByLifeTimeValue;\n#endif\n#ifdef COLOR_OVER_LIFETIME\nuniform sampler2D uColorOverLifetime;\n#endif\n#if LINEAR_VEL_X + LINEAR_VEL_Y + LINEAR_VEL_Z\n#if LINEAR_VEL_X\nuniform vec4 uLinearXByLifetimeValue;\n#endif\n#if LINEAR_VEL_Y\nuniform vec4 uLinearYByLifetimeValue;\n#endif\n#if LINEAR_VEL_Z\nuniform vec4 uLinearZByLifetimeValue;\n#endif\n#endif\n#ifdef SPEED_OVER_LIFETIME\nuniform vec4 uSpeedLifetimeValue;\n#endif\n#if ORB_VEL_X + ORB_VEL_Y + ORB_VEL_Z\n#if ORB_VEL_X\nuniform vec4 uOrbXByLifetimeValue;\n#endif\n#if ORB_VEL_Y\nuniform vec4 uOrbYByLifetimeValue;\n#endif\n#if ORB_VEL_Z\nuniform vec4 uOrbZByLifetimeValue;\n#endif\nuniform vec3 uOrbCenter;\n#endif\nuniform vec4 uSizeByLifetimeValue;\n#ifdef SIZE_Y_BY_LIFE\nuniform vec4 uSizeYByLifetimeValue;\n#endif\nout float vLife;out vec4 vColor;out vec2 vTexCoord;\n#ifdef USE_FILTER\n#pragma FILTER_VERT\n#endif\n#ifdef ENV_EDITOR\nuniform vec4 uEditorTransform;\n#endif\nvec3 calOrbitalMov(float _life,float _dur){vec3 orb=vec3(0.0);\n#ifdef AS_ORBITAL_MOVEMENT\n#define FUNC(a) getValueFromTime(_life,a)\n#else\n#define FUNC(a) getIntegrateFromTime0(_life,a) * _dur\n#endif\n#if ORB_VEL_X\norb.x=FUNC(uOrbXByLifetimeValue);\n#endif\n#if ORB_VEL_Y\norb.y=FUNC(uOrbYByLifetimeValue);\n#endif\n#if ORB_VEL_Z\norb.z=FUNC(uOrbZByLifetimeValue);\n#endif\n#undef FUNC\nreturn orb;}vec3 calLinearMov(float _life,float _dur){vec3 mov=vec3(0.0);\n#ifdef AS_LINEAR_MOVEMENT\n#define FUNC(a) getValueFromTime(_life,a)\n#else\n#define FUNC(a) getIntegrateFromTime0(_life,a) * _dur\n#endif\n#if LINEAR_VEL_X\nmov.x=FUNC(uLinearXByLifetimeValue);\n#endif\n#if LINEAR_VEL_Y\nmov.y=FUNC(uLinearYByLifetimeValue);\n#endif\n#if LINEAR_VEL_Z\nmov.z=FUNC(uLinearZByLifetimeValue);\n#endif\n#undef FUNC\nreturn mov;}mat3 mat3FromRotation(vec3 rotation){vec3 sinR=sin(rotation*d2r);vec3 cosR=cos(rotation*d2r);return mat3(cosR.z,-sinR.z,0.,sinR.z,cosR.z,0.,0.,0.,1.)*mat3(cosR.y,0.,sinR.y,0.,1.,0.,-sinR.y,0,cosR.y)*mat3(1.,0.,0.,0,cosR.x,-sinR.x,0.,sinR.x,cosR.x);}\n#ifdef USE_SPRITE\nUVDetail getSpriteUV(vec2 uv,float lifeTime){float t=fract(clamp((lifeTime-aSprite.x)/aSprite.y,0.0,1.)*aSprite.z);float frame=uSprite.z*t;float frameIndex=max(ceil(frame)-1.,0.);float row=floor((frameIndex+0.1)/uSprite.x);float col=frameIndex-row*uSprite.x;vec2 retUV=(vec2(col,row)+uv)/uSprite.xy;UVDetail ret;if(uSprite.w>0.){float blend=frame-frameIndex;float frameIndex1=min(ceil(frame),uSprite.z-1.);float row1=floor((frameIndex1+0.1)/uSprite.x);float col1=frameIndex1-row1*uSprite.x;vec2 coord=(vec2(col1,row1)+uv)/uSprite.xy-retUV;ret.uv1=vec3(coord.x,1.-coord.y,blend);}ret.uv0=vec2(retUV.x,1.-retUV.y);return ret;}\n#endif\nvec3 calculateTranslation(vec3 vel,float t0,float t1,float dur){float dt=t1-t0;float d=getIntegrateByTimeFromTime(0.,dt,uGravityModifierValue);vec3 acc=uAcceleration.xyz*d;\n#ifdef SPEED_OVER_LIFETIME\nreturn vel*getIntegrateFromTime0(dt/dur,uSpeedLifetimeValue)*dur+acc;\n#endif\nreturn vel*dt+acc;}mat3 transformFromRotation(vec3 rot,float _life,float _dur){vec3 rotation=rot;\n#ifdef ROT_LIFETIME_AS_MOVEMENT\n#define FUNC1(a) getValueFromTime(_life,a)\n#else\n#define FUNC1(a) getIntegrateFromTime0(_life,a) * _dur\n#endif\n#ifdef ROT_X_LIFETIME\nrotation.x+=FUNC1(uRXByLifeTimeValue);\n#endif\n#ifdef ROT_Y_LIFETIME\nrotation.y+=FUNC1(uRYByLifeTimeValue);\n#endif\n#ifdef ROT_Z_LIFETIME\nrotation.z+=FUNC1(uRZByLifeTimeValue);\n#endif\nif(dot(rotation,rotation)==0.0){return mat3(1.0);}\n#undef FUNC1\nreturn mat3FromRotation(rotation);}void main(){float time=uParams.x-aOffset.z;float dur=aOffset.w;if(time<0.||time>dur){gl_Position=vec4(-3.,-3.,-3.,1.);}else{float life=clamp(time/dur,0.0,1.0);vLife=life;\n#ifdef USE_SPRITE\nUVDetail uvD=getSpriteUV(aOffset.xy,time);vTexCoord=uvD.uv0;vTexCoordBlend=vec4(uvD.uv1,uSprite.w);\n#else\nvTexCoord=aOffset.xy;\n#endif\nvColor=aColor;\n#ifdef COLOR_OVER_LIFETIME\n#ifdef ENABLE_VERTEX_TEXTURE\nvColor*=texture2D(uColorOverLifetime,vec2(life,0.));\n#endif\n#endif\nvColor.a*=clamp(getValueFromTime(life,uOpacityOverLifetimeValue),0.,1.);vec3 size=vec3(vec2(getValueFromTime(life,uSizeByLifetimeValue)),1.0);\n#ifdef SIZE_Y_BY_LIFE\nsize.y=getValueFromTime(life,uSizeYByLifetimeValue);\n#endif\nvec3 point=transformFromRotation(aRot,life,dur)*(aDirX*size.x+aDirY*size.y);vec3 pt=calculateTranslation(aVel,aOffset.z,uParams.x,dur);vec3 _pos=aPos+pt;\n#if ORB_VEL_X + ORB_VEL_Y + ORB_VEL_Z\n_pos=mat3FromRotation(calOrbitalMov(life,dur))*(_pos-uOrbCenter);_pos+=uOrbCenter;\n#endif\n#if LINEAR_VEL_X + LINEAR_VEL_Y + LINEAR_VEL_Z\n_pos.xyz+=calLinearMov(life,dur);\n#endif\n#ifdef FINAL_TARGET\nfloat force=getValueFromTime(life,uForceCurve);vec4 pos=vec4(mix(_pos,uFinalTarget,force),1.);\n#else\nvec4 pos=vec4(_pos,1.0);\n#endif\n#if RENDER_MODE == 1\npos.xyz+=point;pos=effects_ObjectToWorld*pos;\n#elif RENDER_MODE == 3\npos=effects_ObjectToWorld*pos;pos.xyz+=effects_MatrixV[0].xyz*point.x+effects_MatrixV[2].xyz*point.y;\n#elif RENDER_MODE == 2\npos=effects_ObjectToWorld*pos;pos.xy+=point.xy;\n#elif RENDER_MODE == 0\npos=effects_ObjectToWorld*pos;pos.xyz+=effects_MatrixV[0].xyz*point.x+effects_MatrixV[1].xyz*point.y;\n#endif\ngl_Position=effects_MatrixVP*pos;vSeed=aSeed;gl_PointSize=6.0;\n#ifdef USE_FILTER\nfilterMain(life);\n#endif\n#ifdef ENV_EDITOR\ngl_Position=vec4(gl_Position.xy*uEditorTransform.xy+uEditorTransform.zw*gl_Position.w,gl_Position.zw);\n#endif\n#pragma EDITOR_VERT_TRANSFORM\n}}",Er="#version 300 es\nprecision mediump float;\n#define SHADER_VERTEX 1\n#version 300 es\n#ifdef WEBGL2\n#define texture2D texture\n#else\n#endif\n#ifdef SHADER_VERTEX\n#define CURVE_VALUE_TEXTURE uVCurveValueTexture\n#define CURVE_VALUE_ARRAY uVCurveValues\n#define CURVE_VALUE_COUNT VERT_CURVE_VALUE_COUNT\n#define FRAG_CURVE_VALUE_COUNT 0\n#else\n#define CURVE_VALUE_TEXTURE uFCurveValueTexture\n#define CURVE_VALUE_ARRAY uFCurveValues\n#define CURVE_VALUE_COUNT FRAG_CURVE_VALUE_COUNT\n#define VERT_CURVE_VALUE_COUNT 0\n#endif\n#if CURVE_VALUE_COUNT > 0\n#if LOOKUP_TEXTURE_CURVE\nuniform sampler2D CURVE_VALUE_TEXTURE;const float uCurveCount=1./float(CURVE_VALUE_COUNT);\n#define lookup_curve(i) texture2D(CURVE_VALUE_TEXTURE,vec2(float(i) * uCurveCount,0.))\n#else\nuniform vec4 CURVE_VALUE_ARRAY[CURVE_VALUE_COUNT];\n#define lookup_curve(i) CURVE_VALUE_ARRAY[i]\n#endif\n#else\n#define lookup_curve(i) vec4(0.)\n#endif\n#ifdef WEBGL2\n#define ITR_END (count + 1)\n#else\n#define ITR_END MAX_C\n#endif\n#ifdef SHADER_VERTEX\nin float aSeed;out float vSeed;\n#define NONE_CONST_INDEX 1\n#else\n#if LOOKUP_TEXTURE_CURVE\n#define NONE_CONST_INDEX 1\n#endif\n#endif\n#ifdef NONE_CONST_INDEX\n#ifdef SHADER_VERTEX\n#define MAX_C VERT_MAX_KEY_FRAME_COUNT\n#else\n#define MAX_C FRAG_MAX_KEY_FRAME_COUNT\n#endif\n#else\n#define MAX_C CURVE_VALUE_COUNT\n#endif\nfloat evaluateCurveFrames(float time,vec4 keyframe0,vec4 keyframe1){float dt=keyframe1.x-keyframe0.x;float m0=keyframe0.w*dt;float m1=keyframe1.z*dt;float t=(time-keyframe0.x)/dt;float t2=t*t;float t3=t2*t;return dot(vec4(dot(vec3(2.,-3.,1.),vec3(t3,t2,1.)),dot(vec3(1,-2.,1),vec3(t3,t2,t)),t3-t2,dot(vec2(-2,3),vec2(t3,t2))),vec4(keyframe0.y,m0,m1,keyframe1.y));}float valueFromCurveFrames(float time,float frameStart,float frameCount){int start=int(frameStart);int count=int(frameCount-1.);int end=start+count;for(int i=0;i<ITR_END;i++){\n#ifdef NONE_CONST_INDEX\nif(i==count){return lookup_curve(count).y;}vec4 k0=lookup_curve(i+start);vec4 k1=lookup_curve(i+1+start);\n#else\nif(i<start){continue;}vec4 k0=lookup_curve(i);vec4 k1=lookup_curve(i+1);if(i==end){return k0.y;}\n#endif\nif(time>=k0.x&&time<=k1.x){return evaluateCurveFrames(time,k0,k1);}}return lookup_curve(0).y;}float evaluteLineSeg(float t,vec2 p0,vec2 p1){return p0.y+(p1.y-p0.y)*(t-p0.x)/(p1.x-p0.x);}float valueFromLineSegs(float time,float frameStart,float frameCount){int start=int(frameStart);int count=int(frameCount-1.);int end=start+count;for(int i=0;i<ITR_END;i++){\n#ifdef NONE_CONST_INDEX\nif(i>count){return lookup_curve(i).w;}\n#else\nif(i<start){continue;}if(i>end){return lookup_curve(i-2).w;}\n#endif\n#ifdef NONE_CONST_INDEX\nvec4 seg=lookup_curve(i+start);\n#else\nvec4 seg=lookup_curve(i);\n#endif\nvec2 p0=seg.xy;vec2 p1=seg.zw;if(time>=p0.x&&time<=p1.x){return evaluteLineSeg(time,p0,p1);}\n#ifdef NONE_CONST_INDEX\nvec2 p2=lookup_curve(i+start+1).xy;\n#else\nvec2 p2=lookup_curve(i+1).xy;\n#endif\nif(time>p1.x&&time<=p2.x){return evaluteLineSeg(time,p1,p2);}}return lookup_curve(0).y;}float getValueFromTime(float time,vec4 value){float type=value.x;if(type==0.){return value.y;}else if(type==1.){return mix(value.y,value.z,time/value.w);}if(type==2.){return valueFromCurveFrames(time,floor(value.y),floor(1./fract(value.y)+0.5))*value.w+value.z;}if(type==3.){return valueFromLineSegs(time,value.y,value.z);}if(type==4.){\n#ifdef SHADER_VERTEX\nfloat seed=aSeed;\n#else\nfloat seed=vSeed;\n#endif\nreturn mix(value.y,value.z,seed);}return 0.;}in vec4 aPos;in vec3 aDir;in vec3 aInfo;in vec4 aColor;in float aTime;\n#ifdef ATTR_TRAIL_START\nin float aTrailStart;\n#else\nuniform float uTrailStart[64];in float aTrailStartIndex;\n#endif\nuniform mat4 effects_MatrixInvV;uniform mat4 effects_ObjectToWorld;uniform mat4 effects_MatrixVP;uniform vec4 uTextureMap;uniform float uTime;uniform vec4 uParams;uniform vec4 uColorParams;uniform vec4 uOpacityOverLifetimeValue;uniform vec4 uWidthOverTrail;\n#ifdef COLOR_OVER_TRAIL\nuniform sampler2D uColorOverTrail;\n#endif\n#ifdef COLOR_OVER_LIFETIME\nuniform sampler2D uColorOverLifetime;\n#endif\nout float vLife;out vec2 vTexCoord;out vec4 vColor;\n#ifdef ENV_EDITOR\nuniform vec4 uEditorTransform;\n#endif\nvoid main(){vec4 _pa=effects_MatrixVP*vec4(aPos.xyz,1.);vec4 _pb=effects_MatrixVP*vec4(aPos.xyz+aDir,1.);vec2 dir=normalize(_pb.xy/_pb.w-_pa.xy/_pa.w);vec2 screen_xy=vec2(-dir.y,dir.x);vec4 pos=effects_ObjectToWorld*vec4(aPos.xyz,1.);\n#ifdef ATTR_TRAIL_START\nfloat ts=aTrailStart;\n#else\nfloat ts=uTrailStart[int(aTrailStartIndex)];\n#endif\nfloat trail=(ts-aInfo.y)/uParams.y;float width=aPos.w*getValueFromTime(trail,uWidthOverTrail)/max(abs(screen_xy.x),abs(screen_xy.y));pos.xyz+=(effects_MatrixInvV[0].xyz*screen_xy.x+effects_MatrixInvV[1].xyz*screen_xy.y)*width;float time=min((uTime-aTime)/aInfo.x,1.0);gl_Position=effects_MatrixVP*pos;vColor=aColor;\n#ifdef COLOR_OVER_LIFETIME\n#ifdef ENABLE_VERTEX_TEXTURE\nvColor*=texture2D(uColorOverLifetime,vec2(time,0.));\n#endif\n#endif\n#ifdef COLOR_OVER_TRAIL\nvColor*=texture2D(uColorOverTrail,vec2(trail,0.));\n#endif\nvColor.a*=clamp(getValueFromTime(time,uOpacityOverLifetimeValue),0.,1.);vLife=time;vTexCoord=uTextureMap.xy+vec2(trail,aInfo.z)*uTextureMap.zw;vSeed=aSeed;\n#ifdef ENV_EDITOR\ngl_Position=vec4(gl_Position.xy*uEditorTransform.xy+uEditorTransform.zw*gl_Position.w,gl_Position.zw);\n#endif\n}",br="precision highp float;attribute vec2 aPos;varying vec2 uv;void main(){gl_Position=vec4(aPos,0.,1.0);uv=(aPos+vec2(1.0))/2.;}",Cr="precision highp float;\n#define HALF_MAX 60000.0\n#define ACEScc_MIDGRAY 0.4135884\nvarying vec2 uv;uniform sampler2D _GaussianTex;uniform sampler2D _SceneTex;uniform float _BloomIntensity;uniform float _Brightness;uniform float _Saturation;uniform float _Contrast;uniform bool _UseBloom;uniform bool _UseToneMapping;mat3 LinearToACES=mat3(0.59719,0.07600,0.02840,0.35458,0.90834,0.13383,0.04823,0.01566,0.83777);mat3 ACESToLinear=mat3(1.60475,-0.10208,-0.00327,-0.53108,1.10813,-0.07276,-0.07367,-0.00605,1.07602);float log10(float x){return log(x)/log(10.0);}vec3 log10(vec3 v){return vec3(log10(v.x),log10(v.y),log10(v.z));}vec3 LinearToLogC(vec3 x){return 0.244161*log10(5.555556*x+0.047996)+0.386036;}vec3 LogCToLinear(vec3 x){return(pow(vec3(10.0),(x-0.386036)/0.244161)-0.047996)/5.555556;}vec3 rrt_and_odt_fit(vec3 col){vec3 a=col*(col+0.0245786)-0.000090537;vec3 b=col*(0.983729*col+0.4329510)+0.238081;return a/b;}vec3 ACESToneMapping(vec3 col){vec3 aces=LinearToACES*col;aces=rrt_and_odt_fit(aces);col=ACESToLinear*aces;return col;}vec3 LinearToSrgb(vec3 c){return mix(1.055*pow(c,vec3(1./2.4))-0.055,12.92*c,step(c,vec3(0.0031308)));}vec3 GammaCorrection(vec3 c){return pow(c,vec3(1.0/2.2));}void main(){vec4 hdrColor=texture2D(_SceneTex,uv);hdrColor.rgb=pow(hdrColor.rgb,vec3(2.2));vec3 finalColor=hdrColor.rgb;if(_UseBloom){vec4 bloomColor=texture2D(_GaussianTex,uv);bloomColor.rgb*=_BloomIntensity;finalColor+=bloomColor.rgb;}finalColor=finalColor*_Brightness;vec3 colorLog=LinearToLogC(finalColor);colorLog=(colorLog-ACEScc_MIDGRAY)*_Contrast+ACEScc_MIDGRAY;finalColor=LogCToLinear(colorLog);finalColor=max(finalColor,0.0);float luminance=0.2125*finalColor.r+0.7154*finalColor.g+0.0721*finalColor.b;vec3 luminanceColor=vec3(luminance,luminance,luminance);finalColor=(finalColor-luminanceColor)*_Saturation+luminanceColor;finalColor=max(finalColor,0.0);if(_UseToneMapping){finalColor=max(vec3(0.0),ACESToneMapping(finalColor));}gl_FragColor=vec4(clamp(GammaCorrection(finalColor),0.0,1.0),1.0);}",_r="precision highp float;varying vec2 uv;uniform sampler2D _MainTex;uniform vec2 _TextureSize;vec3 GaussH(sampler2D tex,vec2 uv){vec3 color=vec3(0.0);float offsets[9];offsets[0]=-4.0;offsets[1]=-3.0;offsets[2]=-2.0;offsets[3]=-1.0;offsets[4]=0.0;offsets[5]=1.0;offsets[6]=2.0;offsets[7]=3.0;offsets[8]=4.0;float weights[9];weights[0]=0.01621622;weights[1]=0.05405405;weights[2]=0.12162162;weights[3]=0.19459459;weights[4]=0.22702703;weights[5]=0.19459459;weights[6]=0.12162162;weights[7]=0.05405405;weights[8]=0.01621622;for(int i=0;i<9;i++){vec2 offset=vec2(offsets[i]*2.0*(1.0/_TextureSize.x),0);color+=texture2D(tex,uv+offset).rgb*weights[i];}return color;}void main(){vec3 color=GaussH(_MainTex,uv);gl_FragColor=vec4(color,1.0);}",Sr="precision highp float;varying vec2 uv;uniform sampler2D _MainTex;uniform vec2 _TextureSize;vec3 GaussV(sampler2D tex,vec2 uv){vec3 color=vec3(0.0);float offsets[5];offsets[0]=-3.23076923;offsets[1]=-1.38461538;offsets[2]=0.0;offsets[3]=1.38461538;offsets[4]=3.23076923;float weights[5];weights[0]=0.07027027;weights[1]=0.31621622;weights[2]=0.22702703;weights[3]=0.31621622;weights[4]=0.07027027;for(int i=0;i<5;i++){vec2 offset=vec2(0,offsets[i]*(1.0/_TextureSize.y));color+=texture2D(tex,uv+offset).rgb*weights[i];}return color;}void main(){vec3 color=GaussV(_MainTex,uv);gl_FragColor=vec4(color,1.0);}",Or="precision highp float;varying vec2 uv;uniform sampler2D _MainTex;uniform sampler2D _GaussianDownTex;uniform vec2 _GaussianDownTextureSize;float GaussWeight2D(float x,float y,float sigma){float PI=3.14159265358;float E=2.71828182846;float sigma_2=pow(sigma,2.0);float a=-(x*x+y*y)/(2.0*sigma_2);return pow(E,a)/(2.0*PI*sigma_2);}vec3 GaussNxN(sampler2D tex,vec2 uv,vec2 stride,float sigma){vec3 color=vec3(0.,0.,0.);const int r=1;float weight=0.0;for(int i=-r;i<=r;i++){for(int j=-r;j<=r;j++){float w=GaussWeight2D(float(i),float(j),sigma);vec2 coord=uv+vec2(i,j)*stride;color+=texture2D(tex,coord).rgb*w;weight+=w;}}color/=weight;return color;}void main(){vec3 lowResColor=GaussNxN(_MainTex,uv,0.5/_GaussianDownTextureSize,1.0);vec3 highResColor=GaussNxN(_GaussianDownTex,uv,1.0/_GaussianDownTextureSize,1.0);vec3 color=mix(highResColor,lowResColor,0.7);gl_FragColor=vec4(color,1.0);}",wr="precision highp float;varying vec2 uv;uniform sampler2D _MainTex;uniform float _Threshold;void main(){vec4 mainColor=texture2D(_MainTex,uv);mainColor.rgb=pow(mainColor.rgb,vec3(2.2));float brightness=max(mainColor.r,max(mainColor.g,mainColor.b));float w=max(0.0,brightness-_Threshold)/max(brightness,0.00001);mainColor.rgb*=w;gl_FragColor=vec4(mainColor.rgb,1.0);}",Ar=function(e){function r(r,i){var n=e.call(this,r,i)||this,o=n.renderer.engine,a=er.create(o,{mode:se.TRIANGLE_STRIP,attributes:{aPos:{type:se.FLOAT,size:2,data:new Float32Array([-1,1,-1,-1,1,1,1,-1])}},drawCount:4}),s=ke.create(o,{shader:{vertex:br,fragment:wr,glslVersion:t.GLSLVersion.GLSL1}});return s.blending=!1,s.depthTest=!1,s.culling=!1,n.screenMesh=lr.create(o,{geometry:a,material:s,priority:0}),n.priority=5e3,n}return o(r,e),r.prototype.configure=function(t){this.mainTexture=t.getFrameBuffer().getColorTextures()[0],this.sceneTextureHandle.texture=this.mainTexture,t.setFrameBuffer(this.frameBuffer)},r.prototype.execute=function(e){e.clear({colorAction:t.TextureStoreAction.clear,depthAction:t.TextureStoreAction.clear,stencilAction:t.TextureStoreAction.clear}),this.screenMesh.material.setTexture("_MainTex",this.mainTexture);var r=e.renderingData.currentFrame.globalVolume.threshold;this.screenMesh.material.setFloat("_Threshold",r),e.renderMeshes([this.screenMesh])},r}(mr),Rr=function(e){function r(r,i,n){var o=e.call(this,r,n)||this;o.type=i;var a=o.renderer.engine,s="PostProcess",u=er.create(a,{name:s,mode:se.TRIANGLE_STRIP,attributes:{aPos:{type:se.FLOAT,size:2,data:new Float32Array([-1,1,-1,-1,1,1,1,-1])}},drawCount:4}),c={vertex:br,fragment:"H"==i?_r:Sr,glslVersion:t.GLSLVersion.GLSL1},l=ke.create(a,{name:s,shader:c});return l.blending=!1,l.depthTest=!1,l.culling=!1,o.screenMesh=lr.create(a,{name:s,geometry:u,material:l,priority:0}),o.priority=5e3,o}return o(r,e),r.prototype.configure=function(t){this.mainTexture=t.getFrameBuffer().getColorTextures()[0],t.setFrameBuffer(this.frameBuffer)},r.prototype.execute=function(e){e.clear({colorAction:t.TextureStoreAction.clear,depthAction:t.TextureStoreAction.clear,stencilAction:t.TextureStoreAction.clear}),this.screenMesh.material.setTexture("_MainTex",this.mainTexture),this.screenMesh.material.setVector2("_TextureSize",Nr(this.mainTexture)),e.renderMeshes([this.screenMesh]),"V"===this.type&&(this.gaussianResult.texture=e.getFrameBuffer().getColorTextures()[0])},r}(mr),Lr=function(e){function r(t,r){var i=e.call(this,t,r)||this,n="PostProcess",o=i.renderer.engine,a=er.create(o,{name:n,mode:se.TRIANGLE_STRIP,attributes:{aPos:{type:se.FLOAT,size:2,data:new Float32Array([-1,1,-1,-1,1,1,1,-1])}},drawCount:4}),s={vertex:br,fragment:Or},u=ke.create(o,{name:n,shader:s});return u.blending=!1,u.depthTest=!1,u.culling=!1,i.screenMesh=lr.create(o,{name:n,geometry:a,material:u,priority:0}),i.priority=5e3,i}return o(r,e),r.prototype.configure=function(t){this.mainTexture=t.getFrameBuffer().getColorTextures()[0],t.setFrameBuffer(this.frameBuffer)},r.prototype.execute=function(e){e.clear({colorAction:t.TextureStoreAction.clear,depthAction:t.TextureStoreAction.clear,stencilAction:t.TextureStoreAction.clear}),this.screenMesh.material.setTexture("_MainTex",this.mainTexture),this.screenMesh.material.setTexture("_GaussianDownTex",this.gaussianDownSampleResult.texture),this.screenMesh.material.setVector2("_GaussianDownTextureSize",Nr(this.gaussianDownSampleResult.texture)),e.renderMeshes([this.screenMesh])},r}(mr),Ir=function(e){function r(r,i){var n=e.call(this,r,{})||this,o="PostProcess",a=n.renderer.engine;n.sceneTextureHandle=i||new pr(a);var s=er.create(a,{name:o,mode:se.TRIANGLE_STRIP,attributes:{aPos:{type:se.FLOAT,size:2,data:new Float32Array([-1,1,-1,-1,1,1,1,-1])}},drawCount:4}),u=ke.create(a,{name:o,shader:{vertex:br,fragment:Cr,glslVersion:t.GLSLVersion.GLSL1}});return u.blending=!1,u.depthTest=!1,u.culling=!1,n.screenMesh=lr.create(a,{name:o,geometry:s,material:u,priority:0}),n.priority=5e3,n}return o(r,e),r.prototype.configure=function(t){this.mainTexture=t.getFrameBuffer().getColorTextures()[0],this.sceneTextureHandle.texture||(this.sceneTextureHandle.texture=this.mainTexture),t.setFrameBuffer(null)},r.prototype.execute=function(e){e.clear({colorAction:t.TextureStoreAction.clear,depthAction:t.TextureStoreAction.clear,stencilAction:t.TextureStoreAction.clear});var r=e.renderingData.currentFrame.globalVolume,i=r.bloomIntensity,n=r.brightness,o=r.saturation,a=r.contrast,s=r.useBloom,u=r.useToneMapping;this.screenMesh.material.setTexture("_SceneTex",this.sceneTextureHandle.texture),this.screenMesh.material.setFloat("_Brightness",n),this.screenMesh.material.setFloat("_Saturation",o),this.screenMesh.material.setFloat("_Contrast",a),this.screenMesh.material.setInt("_UseBloom",s),s&&(this.screenMesh.material.setTexture("_GaussianTex",this.mainTexture),this.screenMesh.material.setFloat("_BloomIntensity",i)),this.screenMesh.material.setInt("_UseToneMapping",u),e.renderMeshes([this.screenMesh])},r}(mr),Mr={useHDR:!1,usePostProcessing:!1,useBloom:1,threshold:1,bloomIntensity:1,brightness:1,saturation:1,contrast:1,useToneMapping:1},Pr="_effects_default_",Vr=1,Fr=function(){function e(e){var r;this.renderQueue=[],this.destroyed=!1,this.renderPassInfoMap=new WeakMap;var i=e.camera,n=e.keepColorBuffer,o=e.renderer,s=e.editorTransform,u=void 0===s?[1,1,0,0]:s,c=e.globalVolume,l=e.clearAction,h=void 0===l?{colorAction:t.TextureLoadAction.whatever,stencilAction:t.TextureLoadAction.clear,depthAction:t.TextureLoadAction.whatever}:l,f=o.engine;c&&(this.globalVolume=a(a({},Mr),c)),this.globalUniforms=new zr;var p,d=[],m={};if(this.renderer=o,this.globalVolume){var y=this.globalVolume.useHDR?se.HALF_FLOAT:se.UNSIGNED_BYTE;d=[{texture:{format:se.RGBA,type:y,magFilter:se.LINEAR,minFilter:se.LINEAR}}],p={storageType:t.RenderPassAttachmentStorageType.depth_stencil_opaque},m={colorAction:t.TextureLoadAction.clear,stencilAction:t.TextureLoadAction.clear,depthAction:t.TextureLoadAction.clear}}var v=[new mr(o,{name:Pr,priority:hr,meshOrder:t.OrderType.ascending,depthStencilAttachment:p,attachments:d,clearAction:m})];if(this.setRenderPasses(v),this.globalVolume){var x=this.globalVolume.useBloom,g=new pr(f);if(x){var T=[0,0,this.renderer.getWidth()/2,this.renderer.getHeight()/2],E=new Array(7),b=(y=this.globalVolume.useHDR?se.HALF_FLOAT:se.UNSIGNED_BYTE,new Ar(o,{name:"BloomThresholdPass",attachments:[{texture:{format:se.RGBA,type:y,minFilter:se.LINEAR,magFilter:se.LINEAR}}]}));b.sceneTextureHandle=g,this.addRenderPass(b);for(var C=0;C<7;C++){E[C]=new pr(f);var _=new Rr(o,"H",{name:"GaussianDownPassH"+C,viewport:T,attachments:[{texture:{format:se.RGBA,type:y,minFilter:se.LINEAR,magFilter:se.LINEAR}}]}),S=new Rr(o,"V",{name:"GaussianDownPassV"+C,viewport:T,attachments:[{texture:{format:se.RGBA,type:y,minFilter:se.LINEAR,magFilter:se.LINEAR}}]});S.gaussianResult=E[C],this.addRenderPass(_),this.addRenderPass(S),T[2]/=2,T[3]/=2}T[2]*=4,T[3]*=4;for(C=0;C<6;C++){var O=new Lr(o,{name:"GaussianUpPass"+C,viewport:T,attachments:[{texture:{format:se.RGBA,type:y,minFilter:se.LINEAR,magFilter:se.LINEAR}}]});O.gaussianDownSampleResult=E[5-C],this.addRenderPass(O),T[2]*=2,T[3]*=2}}var w=void 0;w=x?new Ir(o,g):new Ir(o),this.addRenderPass(w)}this.semantics=new $e(e.semantics),this.clearAction=h,this.name="RenderFrame".concat(Vr++);var A=v[0],R={type:se.UNSIGNED_BYTE,format:se.RGBA,internalFormat:se.RGBA,wrapS:se.MIRRORED_REPEAT,wrapT:se.MIRRORED_REPEAT,minFilter:se.NEAREST,magFilter:se.NEAREST};this.emptyTexture=Ae.create(f,a({data:{width:1,height:1,data:new Uint8Array([255,255,255,255])},sourceType:t.TextureSourceType.data},R)),this.transparentTexture=Ae.create(f,a({data:{width:1,height:1,data:new Uint8Array([0,0,0,0])},sourceType:t.TextureSourceType.data},R)),this.camera=i,this.keepColorBuffer=n,this.renderPassInfoMap.set(A,{listStart:0,listEnd:0,renderPass:A,intermedia:!1}),this.editorTransform=K.fromArray(u),e.clearAction||this.resetClearActions(),this.passTextureCache=new Je(f);var L=f.gpuCapability,I=L.detail,M=Ze(L.level,I.readableDepthStencilTextures&&I.writableFragDepth);null===(r=this.renderer.getShaderLibrary())||void 0===r||r.addShader(M)}return Object.defineProperty(e.prototype,"renderPasses",{get:function(){return this._renderPasses.slice()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"isDestroyed",{get:function(){return this.destroyed},enumerable:!1,configurable:!0}),e.prototype.addMeshToDefaultRenderPass=function(t){t&&this.renderPasses[0].addMesh(t)},e.prototype.removeMeshFromDefaultRenderPass=function(t){},e.prototype.dispose=function(e){var r,i;(null==e?void 0:e.semantics)!==t.DestroyOptions.keep&&this.semantics.dispose();var n=(null==e?void 0:e.passes)?e.passes:void 0;n!==t.DestroyOptions.keep&&this._renderPasses.forEach((function(t){t.dispose(n)})),this.passTextureCache.dispose(),this._renderPasses.length=0,this.emptyTexture.dispose(),this.transparentTexture.dispose(),this.resource&&(this.resource.color_a.dispose(),this.resource.color_b.dispose(),null===(i=null===(r=this.resource.depthStencil)||void 0===r?void 0:r.texture)||void 0===i||i.dispose(),this.resource.finalCopyRP.dispose(),this.resource.resRP.dispose(),this.resource=null),this.destroyed=!0},e.prototype.resetRenderPassDefaultAttachment=function(t,e){for(var r,i,n,o=this.resource,a=o.color_a,s=o.color_b,u=e;u<t.length;u++){var c=t[u],l=null===(r=c.attachments[0])||void 0===r?void 0:r.texture;if(l&&n===l){var h=l===a?s:a;c.resetColorAttachments([h])}(l=null===(i=c.attachments[0])||void 0===i?void 0:i.texture)&&(n=l)}},e.prototype.findMeshRenderPassIndex=function(t){var e=-1;return this.renderPasses.every((function(r,i){return!r.name.startsWith(Pr)||!r.meshes.includes(t)||(e=i,!1)})),e},e.prototype.addToRenderPass=function(t,e){var r=this.renderPassInfoMap.get(t),i=e.priority;0===t.meshes.length?r.listStart=r.listEnd=i:i<r.listStart?r.listStart=i:i>r.listEnd&&(r.listEnd=i),t.addMesh(e)},e.prototype.getRPAttachments=function(t,e){var r;if(1===(null==t?void 0:t.length)){var i=t[0],n=i.texture,o=i.persistent,a=n.format,s=null!==(r=null==e?void 0:e.getInitAttachments())&&void 0!==r?r:[];if(a===se.RGBA&&!o){var u=this.resource.color_a;return 0===s.length?[{texture:u}]:[{texture:s[0].texture===u?this.resource.color_b:u}]}}return t},e.prototype.resetClearActions=function(){var e=this.renderPasses.length>1?t.TextureLoadAction.clear:t.TextureLoadAction.whatever;this.clearAction.stencilAction=e,this.clearAction.depthAction=e,this.clearAction.colorAction=e,this.keepColorBuffer&&(this.clearAction.colorAction=t.TextureLoadAction.whatever)},e.prototype.setRenderPasses=function(t){var e=this;void 0!==this.renderer&&t.forEach((function(t){return t.initialize(e.renderer)})),this._renderPasses=t.slice()},e.prototype.addRenderPass=function(t){void 0!==this.renderer&&t.initialize(this.renderer),this._renderPasses.push(t)},e.prototype.createResource=function(){var e,r=this.renderer.engine;if(!this.resource){var i=r.gpuCapability,n=i.detail,o=i.level,a=this.renderer.getWidth(),s=this.renderer.getHeight(),u=2===o?se.LINEAR:se.NEAREST,c=Ae.create(r,{sourceType:t.TextureSourceType.framebuffer,format:se.RGBA,name:"frame_a",minFilter:u,magFilter:u}),l=Ae.create(r,{sourceType:t.TextureSourceType.framebuffer,format:se.RGBA,data:{width:a,height:s},minFilter:u,magFilter:u,name:"frame_b"}),h=n.readableDepthStencilTextures&&n.writableFragDepth?t.RenderPassAttachmentStorageType.depth_24_stencil_8_texture:t.RenderPassAttachmentStorageType.depth_stencil_opaque,f=new mr(this.renderer,{depthStencilAttachment:{storageType:h},attachments:[{texture:c}]}).initialize(this.renderer),p=new Dr(this.renderer,{name:"effects-final-copy",priority:1600,clearAction:{depthAction:t.TextureLoadAction.clear,stencilAction:t.TextureLoadAction.clear,colorAction:t.TextureLoadAction.clear},meshOrder:t.OrderType.ascending,meshes:[this.createCopyMesh({blend:!0,depthTexture:null===(e=f.getDepthAttachment())||void 0===e?void 0:e.texture})]});this.resource={color_a:f.attachments[0].texture,color_b:l,finalCopyRP:p,depthStencil:f.depthAttachment,resRP:f}}},e.prototype.createCopyMesh=function(t){var e=je,r=this.renderer.engine,i=er.create(r,{name:e,mode:se.TRIANGLE_STRIP,attributes:{aPos:{type:se.FLOAT,size:2,data:new Float32Array([-1,1,-1,-1,1,1,1,-1])}},drawCount:4}),n=Ze(r.gpuCapability.level,!!(null==t?void 0:t.depthTexture));this.renderer.getShaderLibrary().addShader(n);var o=ke.create(r,{uniformValues:{uDepth:null==t?void 0:t.depthTexture},name:e,shader:n});return o.blending=!1,o.depthTest=!1,o.culling=!1,(null==t?void 0:t.blend)&&(o.blending=!0,o.blendFunction=[se.SRC_ALPHA,se.ONE_MINUS_SRC_ALPHA,se.SRC_ALPHA,se.ONE_MINUS_SRC_ALPHA]),lr.create(r,{name:e,geometry:i,material:o,priority:0})},e.prototype.removeRenderPass=function(t){E(this._renderPasses,t)},e}();function Nr(t){return t?new j(t.getWidth(),t.getHeight()):new j}var Dr=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype.configure=function(t){this.prePassTexture=t.getFrameBuffer().getColorTextures()[0],t.setFrameBuffer(null)},e.prototype.execute=function(t){t.clear(this.clearAction),this.meshes[0].material.setTexture("uFilterSource",this.prePassTexture),this.meshes[0].material.setVector2("uFilterSourceSize",Nr(this.prePassTexture)),t.renderMeshes(this.meshes),this.storeAction&&t.clear(this.storeAction)},e}(mr),zr=function(){this.floats={},this.ints={},this.matrices={},this.samplers=[],this.uniforms=[]},Ur=function(){function t(t){this.size=[0,0],this.multiSample=1,this.destroyed=!1;var e=t.storageType,r=t.format,i=t.attachment;this.storageType=e,this.format=r,this.attachment=i}return Object.defineProperty(t.prototype,"isDestroyed",{get:function(){return this.destroyed},enumerable:!1,configurable:!0}),t}(),kr="function"==typeof WebGL2RenderingContext,Br=function(){function t(t){this.setupCapability(t)}return t.prototype.setupCapability=function(t){var e,r=kr&&t instanceof WebGL2RenderingContext?2:1,i=2===r,n=t.getExtension("EXT_texture_filter_anisotropic")||t.getExtension("WEBKIT_EXT_texture_filter_anisotropic"),o=t.getExtension("WEBGL_depth_texture"),a=!!t.getExtension("OES_texture_half_float_linear"),s=!!t.getExtension("OES_texture_float_linear");this.level=r,this.type=i?"webgl2":"webgl",this.vaoExt=t.getExtension("OES_vertex_array_object"),this.glAsyncCompileExt=t.getExtension("KHR_parallel_shader_compile"),this.UNSIGNED_INT_24_8=t.UNSIGNED_INT_24_8,this.drawBufferExtension=t.getExtension("WEBGL_draw_buffers"),o&&(this.UNSIGNED_INT_24_8=o.UNSIGNED_INT_24_8_WEBGL),i&&!a&&(a=Gr(t,t.HALF_FLOAT)),i&&!s&&(s=Gr(t,t.FLOAT)),this.internalFormatDepth16=i?t.DEPTH_COMPONENT16:t.DEPTH_COMPONENT,this.internalFormatDepth24_stencil8=i?t.DEPTH24_STENCIL8:t.DEPTH_STENCIL;var u=i||t.getExtension("OES_texture_float")?t.FLOAT:0,c=i?WebGL2RenderingContext.HALF_FLOAT:(null===(e=t.getExtension("OES_texture_half_float"))||void 0===e?void 0:e.HALF_FLOAT_OES)||0,l={floatTexture:u,halfFloatTexture:c,maxSample:i?t.getParameter(t.MAX_SAMPLES):1,maxVertexUniforms:t.getParameter(t.MAX_VERTEX_UNIFORM_VECTORS),maxVertexTextures:t.getParameter(t.MAX_VERTEX_TEXTURE_IMAGE_UNITS),maxFragmentUniforms:t.getParameter(t.MAX_FRAGMENT_UNIFORM_VECTORS),maxFragmentTextures:t.getParameter(t.MAX_TEXTURE_IMAGE_UNITS),floatColorAttachment:i?!!t.getExtension("EXT_color_buffer_float"):u>0&&!!t.getExtension("WEBGL_color_buffer_float"),halfFloatColorAttachment:i?!!t.getExtension("EXT_color_buffer_float"):c>0&&!!t.getExtension("EXT_color_buffer_half_float"),maxTextureSize:t.getParameter(t.MAX_TEXTURE_SIZE),maxShaderTexCount:t.getParameter(t.MAX_COMBINED_TEXTURE_IMAGE_UNITS),compressedTexture:Yr(t),halfFloatLinear:a,floatLinear:s,maxTextureAnisotropy:n?t.getParameter(n.MAX_TEXTURE_MAX_ANISOTROPY_EXT):0,shaderTextureLod:i||!!t.getExtension("EXT_shader_texture_lod"),instanceDraw:i||!!t.getExtension("ANGLE_instanced_arrays"),drawBuffers:i||!!this.drawBufferExtension,asyncShaderCompile:!!t.getExtension("KHR_parallel_shader_compile"),intIndexElementBuffer:!!t.getExtension("OES_element_index_uint"),standardDerivatives:i||!!t.getExtension("OES_standard_derivatives"),readableDepthStencilTextures:i||!!o,writableFragDepth:i||!!t.getExtension("EXT_frag_depth")};this.detail=l,n&&(this.textureMaxAnisotropyExt=n.TEXTURE_MAX_ANISOTROPY_EXT)},t.prototype.framebufferTexture2D=function(t,e,r,i,n){var o=this.drawBufferExtension;if(1===this.level&&!o&&r>0)throw new Error("draw multiple color buffers not available");var a=o?o["COLOR_ATTACHMENT".concat(r,"_WEBGL")]:t["COLOR_ATTACHMENT".concat(r)];a?t.framebufferTexture2D(e,a,i,n,0):console.error("invalid color attachment index: "+r)},t.prototype.drawBuffers=function(t,e){var r=this.drawBufferExtension;if(1!==this.level||r){var i=e.map((function(e,i){return e?r?r["COLOR_ATTACHMENT".concat(i,"_WEBGL")]:t["COLOR_ATTACHMENT".concat(i)]:t.NONE}));r?r.drawBuffersWEBGL(i):t.drawBuffers(i)}else if(e.length>1)throw Error("draw buffers not available")},t.prototype.setTextureAnisotropic=function(t,e,r){var i=this.detail.maxTextureAnisotropy;i&&t.texParameterf(e,this.textureMaxAnisotropyExt,Math.min(i,r||4))},t}();function Gr(t,e){var r=t.createTexture(),i=!1;return t.getError(),t.bindTexture(t.TEXTURE_2D,r),t.texImage2D(t.TEXTURE_2D,0,t.R16F,1,1,0,t.RED,e,null),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.LINEAR),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.LINEAR),t.getError()||(i=!0),t.deleteTexture(r),i}var Xr,jr,Hr={NONE:0,PVRTC:1,ASTC:2};function Yr(t){return t.getExtension("WEBGL_compressed_texture_astc")?Hr.ASTC:t.getExtension("WEBGL_compressed_texture_pvrtc")||t.getExtension("WEBKIT_WEBGL_compressed_texture_pvrtc")?Hr.PVRTC:Hr.NONE}t.FilterMode=void 0,(Xr=t.FilterMode||(t.FilterMode={}))[Xr.Nearest=0]="Nearest",Xr[Xr.Linear=1]="Linear",t.RenderTextureFormat=void 0,(jr=t.RenderTextureFormat||(t.RenderTextureFormat={}))[jr.RGBA32=0]="RGBA32",jr[jr.RGBAHalf=1]="RGBAHalf";var Wr=function(){function t(){}return t.prototype.resize=function(t,e,r,i){},t.prototype.resetColorTextures=function(t){},t.prototype.unbind=function(){},t.prototype.bind=function(){},Object.defineProperty(t.prototype,"stencilStorage",{get:function(){},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"depthStorage",{get:function(){},enumerable:!1,configurable:!0}),t.prototype.getDepthTexture=function(){},t.prototype.getStencilTexture=function(){},t.prototype.getColorTextures=function(){return[]},t.prototype.dispose=function(t){},t}(),Zr=function(){function t(){}return t.prototype.setGlobalFloat=function(t,e){},t.prototype.setGlobalInt=function(t,e){},t.prototype.setGlobalMatrix=function(t,e){},t.prototype.getFrameBuffer=function(){return null},t.prototype.setFrameBuffer=function(t){},t.prototype.setViewport=function(t,e,r,i){},t.prototype.resize=function(t,e){},t.prototype.clear=function(t){},t.prototype.getWidth=function(){return 0},t.prototype.getHeight=function(){return 0},t.prototype.addLostHandler=function(t){},t.prototype.addRestoreHandler=function(t){},t.prototype.lost=function(t){},t.prototype.restore=function(){},t.prototype.getShaderLibrary=function(){},t.prototype.renderRenderFrame=function(t){},t.prototype.renderMeshes=function(t){},t.prototype.drawGeometry=function(t,e){},t.prototype.getTemporaryRT=function(t,e,r,i,n,o){return null},t.prototype.dispose=function(t){},t}(),qr=function(){function t(){}return t.collectSerializableObject=function(t,e){var r,i,n,o,a,s;if(!e[t.getInstanceId()]){t.toData(),e[t.getInstanceId()]=t;var u=re(t);try{for(var c=l(Object.keys(u)),h=c.next();!h.done;h=c.next()){var f=h.value,p=t.taggedProperties[f];if(void 0===p&&(p=t[f]),p instanceof Oe)this.collectSerializableObject(p,e);else if(p instanceof Array)try{for(var d=(n=void 0,l(p)),m=d.next();!m.done;m=d.next()){var y=m.value;y instanceof Oe&&this.collectSerializableObject(y,e)}}catch(t){n={error:t}}finally{try{m&&!m.done&&(o=d.return)&&o.call(d)}finally{if(n)throw n.error}}else if(p instanceof Object)try{for(var v=(a=void 0,l(Object.keys(p))),x=v.next();!x.done;x=v.next()){var g=p[x.value];g instanceof Oe&&this.collectSerializableObject(g,e)}}catch(t){a={error:t}}finally{try{x&&!x.done&&(s=v.return)&&s.call(v)}finally{if(a)throw a.error}}}}catch(t){r={error:t}}finally{try{h&&!h.done&&(i=c.return)&&i.call(c)}finally{if(r)throw r.error}}}},t.serializeEffectObject=function(e){var r,i,n={},o=e.engine,s=a({},o.jsonSceneData);t.collectSerializableObject(e,n);try{for(var u=l(Object.keys(n)),c=u.next();!c.done;c=u.next()){var h=n[c.value];s[h.getInstanceId()]||(s[h.getInstanceId()]={}),t.serializeTaggedProperties(h,s[h.getInstanceId()])}}catch(t){r={error:t}}finally{try{c&&!c.done&&(i=u.return)&&i.call(u)}finally{if(r)throw r.error}}return s},t.serializeTaggedProperties=function(e,r){var i,n,o,a;e.toData(),r||(r={});var s=re(e);try{for(var u=l(Object.keys(s)),c=u.next();!c.done;c=u.next()){"number"==typeof(p=e[d=c.value])||"string"==typeof p||"boolean"==typeof p||t.checkTypedArray(p)?r[d]=p:p instanceof Array?(r[d]||(r[d]=[]),t.serializeArrayProperty(p,r[d],0)):p instanceof Oe?r[d]={id:p.getInstanceId()}:p instanceof Object&&(r[d]||(r[d]={}),t.serializeObjectProperty(p,r[d],0))}}catch(t){i={error:t}}finally{try{c&&!c.done&&(n=u.return)&&n.call(u)}finally{if(i)throw i.error}}try{for(var h=l(Object.keys(e.taggedProperties)),f=h.next();!f.done;f=h.next()){var p,d=f.value;"number"==typeof(p=e.taggedProperties[d])||"string"==typeof p||"boolean"==typeof p||t.checkTypedArray(p)?r[d]=p:p instanceof Array?(r[d]||(r[d]=[]),t.serializeArrayProperty(p,r[d],0)):p instanceof Oe?r[d]={id:p.getInstanceId()}:p instanceof Object&&(r[d]||(r[d]={}),t.serializeObjectProperty(p,r[d],0))}}catch(t){o={error:t}}finally{try{f&&!f.done&&(a=h.return)&&a.call(h)}finally{if(o)throw o.error}}return r},t.deserializeTaggedProperties=function(e,r){var i,n,o,a,s=r.taggedProperties,u=re(r),c=r.engine;try{for(var h=l(Object.keys(e)),f=h.next();!f.done;f=h.next()){if(!u[y=f.value]){var p=e[y];s[y]=t.deserializeProperty(p,c,0)}}}catch(t){i={error:t}}finally{try{f&&!f.done&&(n=h.return)&&n.call(h)}finally{if(i)throw i.error}}try{for(var d=l(Object.keys(u)),m=d.next();!m.done;m=d.next()){var y;void 0!==(p=e[y=m.value])&&(r[y]=t.deserializeProperty(p,c,0))}}catch(t){o={error:t}}finally{try{m&&!m.done&&(a=d.return)&&a.call(d)}finally{if(o)throw o.error}}r.fromData(s)},t.deserializeTaggedPropertiesAsync=function(e,r){return u(this,void 0,void 0,(function(){var i,n,o,a,s,u,h,f,p,d,m,y,v,x,g,T,E,b,C;return c(this,(function(c){switch(c.label){case 0:i=r.taggedProperties,n=re(r),o=r.engine,c.label=1;case 1:c.trys.push([1,6,7,8]),a=l(Object.keys(e)),s=a.next(),c.label=2;case 2:return s.done?[3,5]:(m=s.value,n[m]?[3,4]:(y=e[m],u=i,h=m,[4,t.deserializePropertyAsync(y,o,0)]));case 3:u[h]=c.sent(),c.label=4;case 4:return s=a.next(),[3,2];case 5:return[3,8];case 6:return f=c.sent(),T={error:f},[3,8];case 7:try{s&&!s.done&&(E=a.return)&&E.call(a)}finally{if(T)throw T.error}return[7];case 8:c.trys.push([8,13,14,15]),p=l(Object.keys(n)),d=p.next(),c.label=9;case 9:return d.done?[3,12]:(m=d.value,void 0===(y=e[m])?[3,11]:(v=r,x=m,[4,t.deserializePropertyAsync(y,o,0)]));case 10:v[x]=c.sent(),c.label=11;case 11:return d=p.next(),[3,9];case 12:return[3,15];case 13:return g=c.sent(),b={error:g},[3,15];case 14:try{d&&!d.done&&(C=p.return)&&C.call(p)}finally{if(b)throw b.error}return[7];case 15:return r.fromData(i),[2]}}))}))},t.checkTypedArray=function(t){return t instanceof Int8Array||t instanceof Uint8Array||t instanceof Uint8ClampedArray||t instanceof Int16Array||t instanceof Uint16Array||t instanceof Int32Array||t instanceof Uint32Array||t instanceof Float32Array||t instanceof Float64Array},t.checkDataPath=function(t){return t instanceof Object&&1===Object.keys(t).length&&t.id&&32===t.id.length},t.checkGLTFNode=function(t){return t instanceof Object&&void 0!==t.nodeIndex&&void 0!==t.isJoint},t.deserializeProperty=function(e,r,i){var n,o,a,s;if(i>14)console.error("序列化数据的内嵌对象层数大于上限");else{if("number"==typeof e||"string"==typeof e||"boolean"==typeof e)return e;if(e instanceof Array){var u=[];try{for(var c=l(e),h=c.next();!h.done;h=c.next()){var f=h.value;u.push(t.deserializeProperty(f,r,i+1))}}catch(t){n={error:t}}finally{try{h&&!h.done&&(o=c.return)&&o.call(c)}finally{if(n)throw n.error}}return u}if(t.checkDataPath(e))return r.assetLoader.loadGUID(e.id);if(e instanceof Oe||t.checkTypedArray(e)||t.checkGLTFNode(e))return e;if(e instanceof Object){u={};try{for(var p=l(Object.keys(e)),d=p.next();!d.done;d=p.next()){var m=d.value;u[m]=t.deserializeProperty(e[m],r,i+1)}}catch(t){a={error:t}}finally{try{d&&!d.done&&(s=p.return)&&s.call(p)}finally{if(a)throw a.error}}return u}}},t.deserializePropertyAsync=function(e,r,i){return u(this,void 0,void 0,(function(){var n,o,a,s,u,h,f,p,d,m,y,v,x,g,T,E,b;return c(this,(function(c){switch(c.label){case 0:return i>14?(console.error("序列化数据的内嵌对象层数大于上限"),[2]):"number"!=typeof e&&"string"!=typeof e&&"boolean"!=typeof e?[3,1]:[2,e];case 1:if(!(e instanceof Array))return[3,10];f=[],c.label=2;case 2:c.trys.push([2,7,8,9]),n=l(e),o=n.next(),c.label=3;case 3:return o.done?[3,6]:(a=o.value,u=(s=f).push,[4,t.deserializePropertyAsync(a,r,i+1)]);case 4:u.apply(s,[c.sent()]),c.label=5;case 5:return o=n.next(),[3,3];case 6:return[3,9];case 7:return h=c.sent(),g={error:h},[3,9];case 8:try{o&&!o.done&&(T=n.return)&&T.call(n)}finally{if(g)throw g.error}return[7];case 9:return[2,f];case 10:return t.checkDataPath(e)?[4,r.assetLoader.loadGUIDAsync(e.id)]:[3,12];case 11:return[2,f=c.sent()];case 12:return e instanceof Oe||t.checkTypedArray(e)||t.checkGLTFNode(e)?[2,e]:[3,13];case 13:if(!(e instanceof Object))return[3,22];f={},c.label=14;case 14:c.trys.push([14,19,20,21]),p=l(Object.keys(e)),d=p.next(),c.label=15;case 15:return d.done?[3,18]:(m=d.value,y=f,v=m,[4,t.deserializePropertyAsync(e[m],r,i+1)]);case 16:y[v]=c.sent(),c.label=17;case 17:return d=p.next(),[3,15];case 18:return[3,21];case 19:return x=c.sent(),E={error:x},[3,21];case 20:try{d&&!d.done&&(b=p.return)&&b.call(p)}finally{if(E)throw E.error}return[7];case 21:return[2,f];case 22:return[2]}}))}))},t.serializeObjectProperty=function(e,r,i){var n,o;if(i>14)console.error("序列化数据的内嵌对象层数大于上限");else{r||(r={});try{for(var a=l(Object.keys(e)),s=a.next();!s.done;s=a.next()){var u=s.value,c=e[u];"number"==typeof c||"string"==typeof c||"boolean"==typeof c||t.checkTypedArray(e)?r[u]=c:c instanceof Array?(r[u]||(r[u]=[]),t.serializeArrayProperty(c,r[u],i+1)):c instanceof Oe?r[u]={id:c.getInstanceId()}:c instanceof Object&&(r[u]||(r[u]={}),t.serializeObjectProperty(c,r[u],i+1))}}catch(t){n={error:t}}finally{try{s&&!s.done&&(o=a.return)&&o.call(a)}finally{if(n)throw n.error}}}},t.serializeArrayProperty=function(e,r,i){if(i>14)console.error("序列化数据的内嵌对象层数大于上限");else{r||(r=[]);for(var n=0;n<e.length;n++){var o=e[n];"number"==typeof o||"string"==typeof o||"boolean"==typeof o||t.checkTypedArray(e)?r[n]=o:o instanceof Array?(r[n]||(r[n]=[]),this.serializeArrayProperty(o,r[n],i+1)):o instanceof Oe?r[n]={id:o.getInstanceId()}:o instanceof Object&&(r[n]||(r[n]={}),t.serializeObjectProperty(o[n],r[n],i+1))}}},t}(),Qr=function(){function e(t){this.engine=t}return e.prototype.loadGUID=function(r){if(this.engine.objectInstance[r])return this.engine.objectInstance[r];var i,n=this.findData(r);if(n){switch(n.dataType){case t.DataType.Material:i=ke.create(this.engine);break;case t.DataType.Geometry:i=er.create(this.engine);break;case t.DataType.Texture:return i=Ae.create(this.engine,n);default:var o=e.getClass(n.dataType);o&&(i=new o(this.engine))}if(i)return i.setInstanceId(n.id),this.engine.addInstance(i),qr.deserializeTaggedProperties(n,i),i;console.error("未找到 DataType: "+n.dataType+"的构造函数")}else console.error("未找到 uuid: "+r+"的对象数据")},e.prototype.loadGUIDAsync=function(r){return u(this,void 0,void 0,(function(){var i,n,o;return c(this,(function(a){switch(a.label){case 0:return this.engine.objectInstance[r]?[2,this.engine.objectInstance[r]]:(n=this.findData(r))?[3,2]:this.engine.database?[4,this.engine.database.loadGUID(r)]:(console.error("未找到 uuid: "+r+"的对象数据"),[2,void 0]);case 1:return(i=a.sent())?(this.engine.addInstance(i),[2,i]):(console.error("未找到 uuid: "+r+"的磁盘数据"),[2,void 0]);case 2:switch(n.dataType){case t.DataType.Material:i=ke.create(this.engine);break;case t.DataType.Geometry:i=er.create(this.engine);break;case t.DataType.Texture:return[2,i=Ae.create(this.engine,n)];default:(o=e.getClass(n.dataType))&&(i=new o(this.engine))}return i?(i.setInstanceId(n.id),this.engine.addInstance(i),[4,qr.deserializeTaggedPropertiesAsync(n,i)]):(console.error("未找到 DataType: "+n.dataType+"的构造函数"),[2,void 0]);case 3:return a.sent(),[2,i]}}))}))},e.prototype.findData=function(t){return this.engine.jsonSceneData[t]},e.getClass=function(t){return $t[t]},e}(),Kr=function(){function t(){}return t.prototype.loadGUID=function(t){return u(this,void 0,void 0,(function(){return c(this,(function(t){return[2,void 0]}))}))},t}();t.DataType=void 0,function(t){t.VFXItemData="VFXItemData",t.EffectComponent="EffectComponent",t.Material="Material",t.Shader="Shader",t.SpriteComponent="SpriteComponent",t.ParticleSystem="ParticleSystem",t.InteractComponent="InteractComponent",t.CameraController="CameraController",t.Geometry="Geometry",t.Texture="Texture",t.TextComponent="TextComponent",t.MeshComponent="MeshComponent",t.SkyboxComponent="SkyboxComponent",t.LightComponent="LightComponent",t.CameraComponent="CameraComponent",t.ModelPluginComponent="ModelPluginComponent",t.TreeComponent="TreeComponent"}(t.DataType||(t.DataType={}));var Jr,$r,ti=function(){function t(){this.order=100,this.name=""}return t.precompile=function(t,e){return Promise.resolve()},t.prototype.onCompositionConstructed=function(t,e){},t.prototype.onCompositionItemLifeBegin=function(t,e){},t.prototype.onCompositionItemLifeEnd=function(t,e){},t.prototype.onCompositionItemRemoved=function(t,e){},t.prototype.onCompositionReset=function(t,e){},t.prototype.onCompositionWillReset=function(t,e){},t.prototype.onCompositionDestroyed=function(t){},t.prototype.onCompositionUpdate=function(t,e){},t.prototype.prepareRenderFrame=function(t,e){return!1},t.prototype.postProcessFrame=function(t,e){},t}(),ei=(Jr=new Float32Array(1),$r=new Int32Array(Jr.buffer),function(t){Jr[0]=t;var e=$r[0],r=e>>16&32768,i=e>>12&2047,n=e>>23&255;return n<103?r:n>142?(r|=31744,r|=(255==n?0:1)&&8388607&e):n<113?r|=((i|=2048)>>114-n)+(i>>113-n&1):(r|=n-112<<10|i>>1,r+=1&i)}),ri=function(){function t(t){if(Number.isInteger(t))this.data=new Uint16Array(t);else if(t&&"object"==typeof t&&Number.isInteger(t.length))for(var e=this.data=new Uint16Array(t.length),r=0;r<e.length;r++)e[r]=ei(t[r])}return t.prototype.set=function(t,e){for(var r=0;r<t.length;r++)this.data[r+e]=ei(t[r])},t}();var ii,ni=new Q,oi=new q;function ai(t,e,r,i,n,o,a){var s=t,u=i/n,c=i,l=e.speedOverLifetime;l&&(c=l.getIntegrateValue(0,i,n));var h=e.gravityModifier?e.gravityModifier.getIntegrateByTime(0,i):0;s.copyFrom(o),s.addScaledVector(a,c),s.addScaledVector(r,h);var f=e.linearVelOverLifetime||{},p=e.orbitalVelOverLifetime||{},d=["x","y","z"];if(p.enabled){var m=new H;p.center&&m.setFromArray(p.center);var y=s.clone().subtract(m),v=p.asRotation,x=d.map((function(t){var e=p[t];return e?v?e.getValue(u):e.getIntegrateValue(0,i,n):0}));ni.setFromArray(x).negate(),oi.setFromEuler(ni);var g=oi.transformPoint(y);s.addVectors(m,g)}if(f.enabled)for(var T=f.asMovement,E=0;E<3;E++){var b=f[d[E]];if(b){var C=T?b.getValue(u):b.getIntegrateValue(0,i,n);s.setElement(E,s.getElement(E)+C)}}return s}function si(t){return Array.isArray(t)?[t[0],t[1],t[2]]:[0,0,0]}function ui(t,e){for(var r=0,i=t.length;r<i;r++)t[r]=e;return t}function ci(t,e,r,i){void 0===i&&(i=0);for(var n=0;n<r;n++)t[n]=e[n+i];return t}function li(t,e,r){if(e&&r)for(var i=0,n=e.length;i<n;i++)t[i]=e[i]*r[i];else if(e){if(t!==e)for(i=0;i<e.length;i++)t[i]=e[i]}else if(r&&t!==r)for(i=0;i<r.length;i++)t[i]=r[i];return t}var hi,fi=((ii={})[Lt.PARTICLE_ORIGIN_CENTER]=[0,0],ii[Lt.PARTICLE_ORIGIN_CENTER_BOTTOM]=[0,-.5],ii[Lt.PARTICLE_ORIGIN_CENTER_TOP]=[0,.5],ii[Lt.PARTICLE_ORIGIN_LEFT_TOP]=[-.5,.5],ii[Lt.PARTICLE_ORIGIN_LEFT_CENTER]=[-.5,0],ii[Lt.PARTICLE_ORIGIN_LEFT_BOTTOM]=[-.5,-.5],ii[Lt.PARTICLE_ORIGIN_RIGHT_CENTER]=[.5,0],ii[Lt.PARTICLE_ORIGIN_RIGHT_BOTTOM]=[.5,-.5],ii[Lt.PARTICLE_ORIGIN_RIGHT_TOP]=[.5,.5],ii);function pi(t,e,r){var i=r.position,n=new H(t,e,0),o=new H;return r.getInverseViewProjectionMatrix().projectPoint(n,o),o.subtract(i),new et(i,o)}function di(t,e,r){var i=t.x,n=t.y,o=t.z,a=new H(i-e,n+r,o),s=new H(i-e,n-r,o),u=new H(i+e,n-r,o),c=new H(i+e,n+r,o);return[{p0:a,p1:s,p2:u},{p0:a.clone(),p1:u.clone(),p2:c}]}var mi="not_implement",yi=function(){function t(t){this.onCreate(t)}return t.prototype.onCreate=function(t){throw Error(mi)},t.prototype.getIntegrateValue=function(t,e,r){throw Error(mi)},t.prototype.getIntegrateByTime=function(t,e){throw Error(mi)},t.prototype.getValue=function(t){throw Error(mi)},t.prototype.toUniform=function(t){throw Error(mi)},t.prototype.map=function(t){throw Error(mi)},t.prototype.scaleXCoord=function(t){return this},t}(),vi=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype.onCreate=function(t){this.value=t},e.prototype.getIntegrateValue=function(t,e,r){return this.value*(e-t)},e.prototype.getIntegrateByTime=function(t,e){return.5*this.value*(e*e-t*t)},e.prototype.getValue=function(t){return this.value},e.prototype.toUniform=function(){return new Float32Array([0,this.value,0,0])},e.prototype.map=function(t){var e=this.value;return this.value=t(e),this},e}(yi),xi=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype.onCreate=function(t){this.items=t},e.prototype.getValue=function(t){var e=this.items;return e[Math.floor(Math.random()*e.length)]},e.prototype.map=function(t){return this.items=this.items.map(t),this},e}(yi),gi=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype.onCreate=function(t){this.min=t[0],this.max=t[1]},e.prototype.getValue=function(t){return yt(this.min,this.max)},e.prototype.toUniform=function(){return new Float32Array([4,this.min,this.max,0])},e.prototype.map=function(t){return this.min=t(this.min),this.max=t(this.max),this},e}(yi),Ti=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype.onCreate=function(t){this.min=t[0],this.max=t[1]},e.prototype.getValue=function(t){for(var e=this.min,r=this.max,i=[],n=0;n<e.length;n++){var o=Math.random();i[n]=e[n]*(1-o)+r[n]*o}return i},e.prototype.map=function(t){return this.min=this.min.map(t),this.max=this.max.map(t),this},e}(yi),Ei=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype.onCreate=function(t){this.min=t[0],this.max=t[1],this.xCoord=1},e.prototype.getValue=function(t){return t/=this.xCoord,this.min*(1-t)+this.max*t},e.prototype.toUniform=function(){return new Float32Array([1,this.min,this.max,this.xCoord])},e.prototype.getIntegrateValue=function(t,e,r){void 0===r&&(r=1);var i=this.min,n=this.max,o=this.xCoord*r;return((i+e/o*(n-i)+i)*e-(i+t/o*(n-i)+i)*t)/2},e.prototype.getIntegrateByTime=function(t,e){return Li(e,0,this.xCoord,this.min,this.max)-Li(t,0,this.xCoord,this.min,this.max)},e.prototype.map=function(t){return this.min=t(this.min),this.max=t(this.max),this},e.prototype.scaleXCoord=function(t){return this.xCoord=t,this},e}(yi),bi=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype.onCreate=function(t){this.stops=S(t)},e.prototype.getStops=function(){return this.stops},e.prototype.getValue=function(t){for(var e=this.stops,r=e.length-1,i=0;i<r;i++){var n=e[i],o=e[i+1];if(n.stop<=t&&o.stop>t){var a=(t-n.stop)/(o.stop-n.stop);return O(n.color,o.color,a,!0)}}return e[r].color.slice()},e}(yi),Ci=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.getAllData=function(t,e){for(var r=new(e?ri:Float32Array)(4*t.index),i=0,n=0,o=t.curves;i<o.length;i++){var a=o[i].toData();r.set(a,n),n+=a.length}return e?r.data:r},e.prototype.onCreate=function(t){var e=1/0,r=-1/0;if(Number.isFinite(t[0])&&Number.isFinite(t[1])){for(var i=[],n=2;n<t.length;n++)i.push(t[n].slice(0,4));this.keys=i,this.min=t[0],this.dist=t[1]-t[0]}else{i=t.map((function(t){if(pt(t))return e=Math.min(e,t[1]),r=Math.max(r,t[1]),t.slice(0,4);if("object"==typeof t&&t){var i=t,n=i.time,o=i.value,a=i.inTangent,s=void 0===a?0:a,u=i.outTangent,c=void 0===u?0:u;return e=Math.min(e,o),r=Math.max(r,o),[n,o,s,c]}throw new Error("invalid keyframe")}));var o=r-e;if(this.keys=i,0!==o)for(n=0;n<i.length;n++){var a=i[n];a[1]=(a[1]-e)/o}var s=i[0];s[0]>0&&(s[2]=0,i.unshift([0,s[1],0,0]));var u=i[i.length-1];u[0]<1&&(u[3]=0,i.push([1,u[1],0,0])),this.min=e,this.dist=o}this.isCurveValue=!0},e.prototype.getValue=function(t){var e=this,r=e.keys,i=e.min,n=e.dist,o=r;if(t<=o[0][0])return o[0][1]*n+i;for(var a=o.length-1,s=0;s<a;s++){var u=o[s],c=o[s+1];if(t>u[0]&&t<=c[0])return Ii(t,u,c)*n+i}return o[a][1]*n+i},e.prototype.getIntegrateByTime=function(t,e){var r=this.integrate(e,!0)-this.integrate(t,!0);return.5*this.min*(e-t)*(e-t)+r*this.dist},e.prototype.getIntegrateValue=function(t,e,r){r=r||1;var i=(this.integrate(e/r,!1)-this.integrate(t/r,!1))*r,n=(e-t)/r;return this.min*n+i*this.dist},e.prototype.integrate=function(t,e){var r=this.keys;if(t<=r[0][0])return 0;for(var i=0,n=r.length-1,o=e?Pi:Mi,a=0;a<n;a++){var s=r[a],u=r[a+1],c=s[0],l=u[0];if(t>c&&t<=l)return i+o(t,s,u);i+=o(l,s,u)}return i},e.prototype.toData=function(){for(var t=this.keys,e=new Float32Array(4*t.length),r=0,i=0;r<t.length;r++,i+=4)e.set(t[r],i);return e},e.prototype.toUniform=function(t){var e=t.index,r=this.keys;return t.curves.push(this),t.index+=r.length,t.max=Math.max(t.max,r.length),t.curveCount+=r.length,new Float32Array([2,e+1/r.length,this.min,this.dist])},e.prototype.map=function(t){return this.keys.forEach((function(e){e[1]=t(e[1])})),this},e.prototype.scaleXCoord=function(t){return this.keys.forEach((function(e){return e[0]=t*e[0]})),this},e}(yi),_i=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype.onCreate=function(t){this.keys=t.map((function(t){return t.slice?t.slice(0,2):[t.time,t.value]})).sort((function(t,e){return t[0]-e[0]}));var e=this.keys[this.keys.length-1];e[0]<1&&this.keys.push([1,e[1]]);var r=this.keys[0];r[0]>0&&this.keys.unshift([0,r[1]]),this.isLineSeg=!0},e.prototype.getValue=function(t){var e=this.keys;if(t<e[0][0])return e[0][1];for(var r=e.length-1,i=0;i<r;i++){var n=e[i],o=e[i+1],a=n[0],s=o[0];if(t>=a&&t<=s){var u=(t-a)/(s-a),c=n[1];return c+u*(o[1]-c)}}return e[r][1]},e.prototype.getIntegrateValue=function(t,e,r){return void 0===r&&(r=1),(this.integrate(e,!1)-this.integrate(t,!1))*r},e.prototype.getIntegrateByTime=function(t,e){return this.integrate(e,!0)-this.integrate(t,!0)},e.prototype.integrate=function(t,e){var r=this.keys;if(t<=r[0][0])return 0;for(var i=0,n=r.length-1,o=e?Li:Ri,a=0;a<n;a++){var s=r[a],u=r[a+1],c=s[0],l=u[0];if(t>c&&t<=l)return i+o(t,c,l,s[1],u[1]);i+=o(l,c,l,s[1],u[1])}return i},e.prototype.toData=function(){for(var t=this.keys,e=new Float32Array(4*Math.ceil(t.length/2)),r=0,i=0;r<t.length;r++,i+=2)e.set(t[r],i);return e.set(t[t.length-1],e.length-2),e},e.prototype.toUniform=function(t){var e=t.index,r=this.keys,i=Math.ceil(r.length/2);return t.lineSegCount+=i,t.curves.push(this),t.index+=i,t.max=Math.max(t.max,i),new Float32Array([3,e,i,0])},e.prototype.map=function(t){return this.keys.forEach((function(e){return e[1]=t(e[1])})),this},e.prototype.scaleXCoord=function(t){return this.keys.forEach((function(e){return e[0]=t*e[0]})),this},e}(yi),Si=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype.onCreate=function(t){this.keys=t[0],this.values=t[1]},e.prototype.getValue=function(t){for(var e=this.keys,r=this.values,i=0;i<e.length-1;i++){var n=e[i],o=e[i+1];if(n[0]<=t&&o[0]>=t){var a=o[1]-n[1],s=void 0;if(0===a)s=(t-n[0])/(o[0]-n[0]);else s=(Ii(t,n,o)-n[1])/a;return this.calculateVec(i,s)}}return t<=e[0][0]?r[0].slice():r[r.length-1].slice()},e.prototype.calculateVec=function(t,e){for(var r=this.values[t],i=this.values[t+1],n=[0,0,0],o=0;o<r.length;o++)n[o]=r[o]*(1-e)+i[o]*e;return n},e}(yi),Oi=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype.onCreate=function(e){t.prototype.onCreate.call(this,e),this.cps=e[2]},e.prototype.calculateVec=function(t,e){for(var r=this.values[t],i=this.values[t+1],n=this.cps[t+t],o=this.cps[t+t+1],a=[0,0,0],s=1-e,u=s*s*s,c=3*e*s*s,l=3*e*e*s,h=e*e*e,f=0;f<r.length;f++)a[f]=u*r[f]+c*n[f]+l*o[f]+h*i[f];return a},e}(Si),wi=((hi={})[Pt.RANDOM]=function(t){return t[0]instanceof Array?new Ti(t):new gi(t)},hi[Pt.CONSTANT]=function(t){return new vi(t)},hi[Pt.CONSTANT_VEC2]=function(t){return new vi(t)},hi[Pt.CONSTANT_VEC3]=function(t){return new vi(t)},hi[Pt.CONSTANT_VEC4]=function(t){return new vi(t)},hi[Pt.CURVE]=function(t){return new Ci(t)},hi[Pt.RGBA_COLOR]=function(t){return new vi(t)},hi[Pt.COLORS]=function(t){return new xi(t.map((function(t){return C(t,!1)})))},hi[Pt.LINE]=function(t){return 2===t.length&&0===t[0][0]&&1===t[1][0]?new Ei([t[0][1],t[1][1]]):new _i(t)},hi[Pt.GRADIENT_COLOR]=function(t){return new bi(t)},hi[Pt.LINEAR_PATH]=function(t){return new Si(t)},hi[Pt.BEZIER_PATH]=function(t){return new Oi(t)},hi);function Ai(t){if(!t||!isNaN(+t))return new vi(t||0);if(t instanceof yi)return t;if(dt(wi[t[0]]))return wi[t[0]](t[1]);throw new Error("ValueType: ".concat(t[0]," is not support"))}function Ri(t,e,r,i,n){var o=t-e;return(i+i+(n-i)*o/(r-e))*o/2}function Li(t,e,r,i,n){var o=t*t,a=e*e;return(2*(o*t)*(i-n)+3*o*(e*n-r*i)-a*e*(2*i+n)+3*a*r*i)/(6*(e-r))}function Ii(t,e,r){var i=r[0]-e[0],n=e[3]*i,o=r[2]*i,a=(t-e[0])/i,s=a*a,u=s*a,c=u-2*s+a,l=u-s,h=-2*u+3*s;return(2*u-3*s+1)*e[1]+c*n+l*o+h*r[1]}function Mi(t,e,r){var i=r[0]-e[0],n=e[3]*i,o=r[2]*i,a=e[0],s=e[1],u=r[1],c=a-t,l=c*c,h=l*c;return(n+o+2*s-2*u)*h*c/(4*i*i*i)+(2*n+o+3*s-3*u)*h/(3*i*i)+n*l/2/i-s*c}function Pi(t,e,r){var i=r[0]-e[0],n=e[3]*i,o=r[2]*i,a=e[0],s=e[1],u=r[1],c=a-t,l=c*c,h=l*c,f=i*i,p=f*i;return(-30*p*s*(a+t)*c+10*f*n*(a+2*t)*l+5*i*(a+3*t)*(2*n+o+3*s-3*u)*h+3*(a+4*t)*(n+o+2*s-2*u)*h*c)/60/p}function Vi(t,e){if(e){var r=e[0],i=e[1];if(r===Pt.CURVE){t.curves.push(i);var n=i.length;i[0][0]>0&&n++,i[i.length-1][0]<1&&n++,t.index+=n,t.max=Math.max(t.max,n),t.curveCount+=n}else if(r===Pt.LINE){if(2===(n=i.length)&&0===i[0][0]&&1===i[1][0])return;i[0][0]>0&&n++,i[i.length-1][0]<1&&n++;var o=Math.ceil(n/2);t.lineSegCount+=o,t.curves.push(i),t.index+=o,t.max=Math.max(t.max,o)}}}function Fi(){return{curves:[],index:0,max:0,lineSegCount:0,curveCount:0}}var Ni,Di=new Y,zi=1,Ui=function(){function t(t,e){void 0===t&&(t={}),this.taggedProperties={},this.position=new H(0,0,0),this.quat=new Y(0,0,0,1),this.rotation=new Q(0,0,0),this.scale=new H(1,1,1),this.anchor=new H(0,0,0),this.size=new j(1,1),this.children=[],this.worldMatrix=q.fromIdentity(),this.localMatrix=q.fromIdentity(),this.valid=!0,this.dirtyFlags={localData:!1,localMatrix:!1,worldMatrix:!1,parentMatrix:!1},this.worldTRSCache={position:new H(0,0,0),quat:new Y(0,0,0,1),scale:new H(1,1,1)},this.name="transform_".concat(zi++),t&&this.setTransform(t),e&&(this.parentTransform=e),void 0!==t.valid&&this.setValid(t.valid)}return t.getRotation=function(t,e){var r=Di.copyFrom(t);return r.conjugate(),e.setFromQuaternion(r)},Object.defineProperty(t.prototype,"parentTransform",{get:function(){return this.parent},set:function(t){t&&this.parent!==t&&this!==t&&(this.parent&&this.parent.removeChild(this),t.addChild(this),this.parent=t,this.parentMatrixDirty=!0)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"parentMatrixDirty",{get:function(){return this.dirtyFlags.parentMatrix},set:function(t){this.dirtyFlags.parentMatrix!==t&&(this.dirtyFlags.parentMatrix=t,this.dispatchValueChange())},enumerable:!1,configurable:!0}),t.prototype.setPosition=function(t,e,r){this.position.x===t&&this.position.y===e&&this.position.z===r||(this.position.x=t,this.position.y=e,this.position.z=r,this.dirtyFlags.localData=!0,this.dispatchValueChange())},t.prototype.translate=function(t,e,r){0===t&&0===e&&0===r||(this.position.x+=t,this.position.y+=e,this.position.z+=r,this.dirtyFlags.localData=!0,this.dispatchValueChange())},t.prototype.setRotation=function(t,e,r){this.rotation.x===t&&this.rotation.y===e&&this.rotation.z===r||(this.rotation.x=t,this.rotation.y=e,this.rotation.z=r,this.quat.setFromEuler(this.rotation),this.quat.conjugate(),this.dirtyFlags.localData=!0,this.dispatchValueChange())},t.prototype.setQuaternion=function(t,e,r,i){this.quat.x===t&&this.quat.y===e&&this.quat.z===r&&this.quat.w===i||(this.quat.x=t,this.quat.y=e,this.quat.z=r,this.quat.w=i,this.rotation.setFromQuaternion(this.quat),this.dirtyFlags.localData=!0,this.dispatchValueChange())},t.prototype.setScale=function(t,e,r){this.scale.x===t&&this.scale.y===e&&this.scale.z===r||(this.scale.x=t,this.scale.y=e,this.scale.z=r,this.dirtyFlags.localData=!0,this.dispatchValueChange())},t.prototype.setSize=function(t,e){this.size.x===t&&this.size.y===e||(this.size.x=t,this.size.y=e,this.dirtyFlags.localData=!0,this.dispatchValueChange())},t.prototype.rotateByQuat=function(t){this.quat.multiply(t),this.rotation.setFromQuaternion(this.quat),this.dirtyFlags.localData=!0,this.dispatchValueChange()},t.prototype.scaleBy=function(t,e,r){this.scale.x*=t,this.scale.y*=e,this.scale.z*=r,this.dirtyFlags.localData=!0,this.dispatchValueChange()},t.prototype.setAnchor=function(t,e){this.anchor.x===t&&this.anchor.y===e||(this.anchor.x=t,this.anchor.y=e,this.dirtyFlags.localData=!0,this.dispatchValueChange())},t.prototype.setTransform=function(t,e){var r=t.position,i=t.rotation,n=t.scale,o=t.size,a=t.quat,s=t.name,u=t.anchor;if(s&&(this.name=s),r&&(r instanceof H?this.setPosition(r.x,r.y,r.z):this.setPosition(r[0],r[1],r[2])),a)a instanceof Y?this.setQuaternion(a.x,a.y,a.z,a.w):this.setQuaternion(a[0],a[1],a[2],a[3]);else if(i){var c=e?-1:1;i instanceof Q?this.setRotation(i.x*c,i.y*c,i.z*c):this.setRotation(i[0]*c,i[1]*c,i[2]*c)}n&&(n instanceof H?this.setScale(n.x,n.y,n.z):this.setScale(n[0],n[1],n[2])),o&&this.setSize(o.x,o.y),u&&(u instanceof j?this.setAnchor(u.x,u.y):this.setAnchor(u[0],u[1]))},t.prototype.addChild=function(t){T(this.children,t)},t.prototype.removeChild=function(t){E(this.children,t)},t.prototype.getRotation=function(){return t.getRotation(this.quat,new Q)},t.prototype.getQuaternion=function(){return this.quat},t.prototype.updateLocalMatrix=function(){this.valid?(this.dirtyFlags.localData&&(this.localMatrix.compose(this.position,this.quat,this.scale,this.anchor),this.localMatrix.multiply(new q(this.size.x,0,0,0,0,this.size.y,0,0,0,0,1,0,0,0,0,1)),this.dirtyFlags.localMatrix=!0),this.dirtyFlags.localData=!1):this.localMatrix.isIdentity()||(this.localMatrix.identity(),this.dirtyFlags.localMatrix=!0)},t.prototype.getMatrix=function(){return this.updateLocalMatrix(),this.localMatrix},t.prototype.getParentMatrix=function(){return this.parent&&(this.parentMatrix=this.parent.getWorldMatrix(),this.dirtyFlags.parentMatrix=this.dirtyFlags.parentMatrix||this.parent.dirtyFlags.localMatrix||this.parent.dirtyFlags.worldMatrix),this.parentMatrix},t.prototype.getWorldMatrix=function(){var t=this.getMatrix(),e=this.getParentMatrix();return(this.dirtyFlags.localMatrix||this.dirtyFlags.parentMatrix)&&(e?this.worldMatrix.multiplyMatrices(e,t):this.worldMatrix.copyFrom(t),this.dirtyFlags.worldMatrix=!0,this.dirtyFlags.localMatrix=!1,this.dirtyFlags.parentMatrix=!1),this.worldMatrix},t.prototype.getWorldScale=function(){var t=this.worldTRSCache;this.dirtyFlags.worldMatrix&&(this.getWorldMatrix().decompose(t.position,t.quat,t.scale),this.dirtyFlags.worldMatrix=!1);return this.worldTRSCache.scale.clone()},t.prototype.getWorldPosition=function(){return this.updateTRSCache(),this.worldTRSCache.position.clone()},t.prototype.getWorldRotation=function(){return this.updateTRSCache(),t.getRotation(this.worldTRSCache.quat,new Q)},t.prototype.assignWorldTRS=function(t,e,r){this.updateTRSCache(),t&&t.copyFrom(this.worldTRSCache.position),e&&e.copyFrom(this.worldTRSCache.quat),r&&r.copyFrom(this.worldTRSCache.scale)},t.prototype.cloneFromMatrix=function(t,e){t.decompose(this.position,this.quat,this.scale),e&&e.copyFrom(this.scale),this.dirtyFlags.localData=!0,this.dispatchValueChange()},t.prototype.setValid=function(t){this.valid!==t&&(this.valid=t,t?this.dirtyFlags.localData=!0:(this.localMatrix.identity(),this.dirtyFlags.localMatrix=!0),this.dispatchValueChange())},t.prototype.getValid=function(){return this.valid},t.prototype.toData=function(){var t=this.taggedProperties;return t.position=this.position.clone(),t.rotation={x:this.rotation.x,y:this.rotation.y,z:this.rotation.z},t.scale=this.scale.clone(),t},t.prototype.fromData=function(t){var e={position:(new H).copyFrom(t.position),rotation:new Q(t.rotation.x,t.rotation.y,t.rotation.z),scale:(new H).copyFrom(t.scale)};this.setTransform(e)},t.prototype.dispose=function(){},t.prototype.updateTRSCache=function(){var t=this.getWorldMatrix();if(this.dirtyFlags.worldMatrix){var e=this.worldTRSCache;t.decompose(e.position,e.quat,e.scale),this.dirtyFlags.worldMatrix=!1}},t.prototype.dispatchValueChange=function(){this.children.forEach((function(t){t.parentMatrixDirty=!0}))},t}(),ki=function(e){function r(t,r){var i=e.call(this,t)||this;return r&&i.fromData(r),i}return o(r,e),r.prototype.start=function(){this.options.position=this.transform.position.clone(),this.options.rotation=this.transform.getRotation().clone()},r.prototype.update=function(){var t=this.item.lifetime;if(!(t<0)&&this.item.transform.getValid()){var e=new Y,r=new H,i=new Q;r.copyFrom(this.options.position),i.copyFrom(this.options.rotation);var n=this.translateOverLifetime,o=this.rotationOverLifetime;if(t=G(t,0,1),n&&(r.x+=n.x.getValue(t),r.y+=n.y.getValue(t),r.z+=n.z.getValue(t),n.path)){var a=n.path.getValue(t);r.x+=a[0],r.y+=a[1],r.z+=a[2]}if(o){var s=o.z.getValue(t);i.z+=s,o.separateAxes?(i.x+=o.x.getValue(t),i.y+=o.y.getValue(t)):(i.x+=s,i.y+=s)}this.far=this.options.far.getValue(t),this.near=this.options.near.getValue(t),this.fov=this.options.fov.getValue(t),this.transform.setPosition(r.x,r.y,r.z),this.transform.setRotation(i.x,i.y,i.z),this.transform.assignWorldTRS(r,e),this.position=r,this.rotation=Ui.getRotation(e,i),this.updateCamera()}},r.prototype.fromData=function(t){e.prototype.fromData.call(this,t);var r=t.options,i=r.near,n=r.far,o=r.fov,a=r.clipMode;if(this.clipMode=a,this.options={position:new H,rotation:new Q,near:Ai(i),far:Ai(n),fov:Ai(o)},t.positionOverLifetime){var s=t.positionOverLifetime,u=s.path,c=s.linearX,l=void 0===c?0:c,h=s.linearY,f=void 0===h?0:h,p=s.linearZ,d=void 0===p?0:p;this.translateOverLifetime={path:u&&Ai(u),x:Ai(l),y:Ai(f),z:Ai(d)}}if(t.rotationOverLifetime){var m=t.rotationOverLifetime,y=m.separateAxes,v=m.x,x=void 0===v?0:v,g=m.y,T=void 0===g?0:g,E=m.z,b=void 0===E?0:E;this.rotationOverLifetime={separateAxes:y,x:Ai(x),y:Ai(T),z:Ai(b)}}},r.prototype.updateCamera=function(){if(this.item.composition){var t=this.item.composition.camera;t.near=this.near,t.far=this.far,t.fov=this.fov,t.clipMode=this.clipMode,t.position=this.position,t.rotation=this.rotation}},r=s([ne(t.DataType.CameraController)],r)}(sr),Bi=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e}(ti);t.HitTestType=void 0,(Ni=t.HitTestType||(t.HitTestType={}))[Ni.triangle=1]="triangle",Ni[Ni.box=2]="box",Ni[Ni.sphere=3]="sphere",Ni[Ni.custom=4]="custom";var Gi="click",Xi="touchstart",ji="touchmove",Hi="touchend",Yi=wt,Wi=function(){function t(t,e){void 0===e&&(e=!1),this.target=t,this.allowPropagation=e,this.enabled=!0,this.handlers={},this.nativeHandlers={}}return t.prototype.bindListeners=function(){var t,e,r,i,n,o,a=this;o=function(t){return t};var s="mousedown",u="mousemove",c="mouseup",l=function(t,e,r,i,o){void 0===i&&(i=0),void 0===o&&(o=0);var s=a.target,u=s.width,c=s.height,l=performance.now(),h=0,f=0;if(n){var p=l-n.ts;h=(i-n.dx)/p||0,f=(o-n.dy)/p||0,n={dx:i,dy:o,ts:l}}return{x:e,y:r,vx:h,vy:f,dx:i,dy:o,ts:l,width:u,height:c,origin:t}};R()&&(o=function(t){var e=t,r=e.touches,i=e.changedTouches;return r[0]||i[0]},s="touchstart",u="touchmove",c="touchend"),this.nativeHandlers=((t={})[s]=function(t){if(a.enabled){var s=o(t),u=Zi(s);e=u.x,r=u.y,n=i={clientX:s.clientX,clientY:s.clientY,ts:performance.now(),x:e,y:r},a.dispatchEvent(Xi,l(t,e,r))}},t[u]=function(t){if(i&&a.enabled){var n=Zi(o(t));e=n.x,r=n.y,a.dispatchEvent(ji,l(t,e,r,e-i.x,r-i.y))}},t[c]=function(t){if(i&&a.enabled){!a.allowPropagation&&t.cancelable&&(t.preventDefault(),t.stopPropagation());var n=o(t),s=Zi(n),u=Math.abs(i.clientX-n.clientX)+Math.abs(i.clientY-n.clientY);e=s.x,r=s.y,u<4&&a.dispatchEvent(Gi,l(t,e,r)),a.dispatchEvent(Hi,l(t,e,r,e-i.x,r-i.y))}i=0},t),Object.keys(this.nativeHandlers).forEach((function(t){var e;null===(e=a.target)||void 0===e||e.addEventListener(String(t),a.nativeHandlers[t])}))},t.prototype.dispatchEvent=function(t,e){var r=this.handlers[t];null==r||r.forEach((function(t){return t(e)}))},t.prototype.addEventListener=function(t,e){var r=this.handlers[t];return r||(r=this.handlers[t]=[]),T(r,e),function(){E(r,e)}},t.prototype.removeEventListener=function(t,e){var r=this.handlers[t];r&&E(r,e)},t.prototype.dispose=function(){var t=this;this.target&&(this.handlers={},Object.keys(this.nativeHandlers).forEach((function(e){var r;null===(r=t.target)||void 0===r||r.removeEventListener(String(e),t.nativeHandlers[e])})),this.nativeHandlers={},this.target=null)},t}();function Zi(t){var e=t.target,r=t.clientX,i=t.clientY,n=e.getBoundingClientRect(),o=n.left,a=n.top;return{x:(r-o)/n.width*2-1,y:1-(i-a)/n.height*2}}var qi=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e}(ti),Qi=6,Ki="editor",Ji={"Filter not imported":"https://galacean.antgroup.com/effects/#/user/gasrv4ka5sacrwpg","Item duration can't be less than 0":"https://galacean.antgroup.com/effects/#/user/gasrv4ka5sacrwpg"},$i=1,tn=function(){function e(t,e,r,i){this.transform=r,this.engine=i,this.color=t.options.previewColor;var n=this.createMaterial(e),o=this.createGeometry();this.mesh=this.createMesh(o,n),this.updateMesh()}return e.prototype.updateMesh=function(){var t=this.mesh.material,e=t.getVector2("uSize").clone(),r=t.getVector4("uPos").clone(),i=new H,n=new Y,o=this.transform.scale.clone();this.transform.assignWorldTRS(i,n,o),e.x=o.x,e.y=o.y,r.x=i.x,r.y=i.y,r.z=i.z,t.setVector2("uSize",e),t.setVector4("uPos",r),t.setQuaternion("uQuat",n)},e.prototype.createMaterial=function(e){var r,i=[["ENV_EDITOR",(null===(r=this.engine.renderer)||void 0===r?void 0:r.env)===Ki]],n=Ai(this.color).getValue(0),o={shader:{vertex:"\nprecision highp float;\n\nattribute vec2 aPoint;\nuniform vec4 uPos;\nuniform vec2 uSize;\nuniform vec4 uQuat;\nuniform vec4 uColor;\nuniform mat4 effects_ObjectToWorld;\nuniform mat4 effects_MatrixInvV;\nuniform mat4 effects_MatrixVP;\nvarying vec4 vColor;\n#ifdef ENV_EDITOR\n uniform vec4 uEditorTransform;\n#endif\n\nvec3 rotateByQuat(vec3 a, vec4 quat){\n vec3 qvec = quat.xyz;\n vec3 uv = cross(qvec, a);\n vec3 uuv = cross(qvec, uv) * 2.;\n return a +(uv * 2. * quat.w + uuv);\n}\n\nvoid main() {\n vec4 _pos = uPos;\n vec3 point = rotateByQuat(vec3(aPoint.xy * uSize, 0.),uQuat);\n vec4 pos = vec4(_pos.xyz, 1.0);\n pos = effects_ObjectToWorld * pos;\n pos.xyz += effects_MatrixInvV[0].xyz * point.x+ effects_MatrixInvV[1].xyz * point.y;\n gl_Position = effects_MatrixVP * pos;\n vColor = uColor;\n #ifdef ENV_EDITOR\n gl_Position = vec4(gl_Position.xy * uEditorTransform.xy + uEditorTransform.zw * gl_Position.w, gl_Position.zw);\n #endif\n}\n",fragment:"\nprecision highp float;\n\n#define fragColor gl_FragColor\n\nvarying vec4 vColor;\nvoid main() {\n gl_FragColor = vColor;\n}\n",glslVersion:t.GLSLVersion.GLSL1,cacheId:"".concat(e.cachePrefix,"_effects_interact"),marcos:i},uniformSemantics:{effects_MatrixVP:"VIEWPROJECTION",effects_MatrixInvV:"VIEWINVERSE",effects_ObjectToWorld:"MODEL",uEditorTransform:"EDITOR_TRANSFORM"}},a=ke.create(this.engine,o);return a.depthTest=!1,a.setVector4("uPos",new K(0,0,0,0)),a.setVector2("uSize",new j(1,1)),a.setVector4("uColor",new K(n[0]/255,n[1]/255,n[2]/255,n[3])),a.setQuaternion("uQuat",new Y(0,0,0,0)),a},e.prototype.createGeometry=function(){var t=new Uint8Array([0,1,1,2,2,3,3,0]);return er.create(this.engine,{attributes:{aPoint:{size:2,offset:0,stride:2*Float32Array.BYTES_PER_ELEMENT,data:new Float32Array([-.5,.5,.5,.5,.5,-.5,-.5,-.5])}},drawCount:t.length,indices:{data:t},mode:se.LINES,maxVertex:4})},e.prototype.createMesh=function(t,e){return lr.create(this.engine,{name:"Interact_preview"+$i++,priority:0,worldMatrix:q.fromIdentity(),geometry:t,material:e})},e}(),en=function(e){function r(){var t=null!==e&&e.apply(this,arguments)||this;return t.getHitTestParams=function(e){if(t.clickable){var r=t.item.props.content.options.behavior,i=t.getBoundingBox();return i?{type:i.type,triangles:i.area,behavior:r}:void 0}},t}var i;return o(r,e),i=r,r.prototype.start=function(){var t=this,e=this.item.props.content.options,r=this.item.engine.renderer.env,i=this.item.composition,n=this.interactData.options,o=n.type,a=n.showPreview;if(o===Ot.CLICK&&(this.clickable=!0,a&&r===Ki)){var s=this.item.composition.getRendererOptions();this.previewContent=new tn(this.item.props.content,s,this.transform,this.engine)}i.addInteractiveItem(this.item,e.type),this.item.onEnd=function(){return i.removeInteractiveItem(t.item,e.type)},e.type===Ot.DRAG&&(r!==Ki||e.enableInEditor)&&i.event&&this.beginDragTarget(e,i.event),this.previewContent&&(this.previewContent.mesh.item=this.item,this.materials=this.previewContent.mesh.materials),this.item.getHitTestParams=this.getHitTestParams},r.prototype.update=function(t){var e;if(null===(e=this.previewContent)||void 0===e||e.updateMesh(),this.dragEvent&&this.bouncingArg){this.bouncingArg.vx*=.95,this.bouncingArg.vy*=.95,this.bouncingArg.dy+=this.bouncingArg.vy,this.bouncingArg.dx+=this.bouncingArg.vx,rn(this.bouncingArg)?(this.dragEvent=null,this.bouncingArg=null):this.handleDragMove(this.dragEvent,this.bouncingArg)}},r.prototype.render=function(t){this.previewContent&&this.previewContent.mesh.render(t)},r.prototype.onDestroy=function(){var t;this.item&&this.item.composition&&(this.item.composition.removeInteractiveItem(this.item,this.item.props.content.options.type),this.clickable=!1,null===(t=this.previewContent)||void 0===t||t.mesh.dispose(),this.endDragTarget())},r.prototype.endDragTarget=function(){},r.prototype.handleDragMove=function(t,e){var r,i;if(t&&t.cameraParam&&this.item.composition){var n=this.item.props.content.options,o=t.cameraParam,a=o.position,s=o.fov,u=e.dy,c=e.dx*e.width/e.height,l=a[2],f=Math.tan(s*Math.PI/180/2)*Math.abs(l),p=u*f,d=c*f,m=a[0]-d,y=a[1]-p;if(n.dxRange){var v=h(n.dxRange,2);(m=G(m,x=v[0],g=v[1]))!==x&&m!==g&&x!==g&&(null===(r=e.origin)||void 0===r||r.preventDefault())}if(n.dyRange){var x,g,T=h(n.dyRange,2);(y=G(y,x=T[0],g=T[1]))!==x&&y!==g&&x!==g&&(null===(i=e.origin)||void 0===i||i.preventDefault())}this.item.composition.camera.position=new H(m,y,l)}},r.prototype.beginDragTarget=function(t,e){var r=this;if("camera"===t.target){var n,o={touchstart:function(t){var e;r.dragEvent=null,r.bouncingArg=null;var i=null===(e=r.item.composition)||void 0===e?void 0:e.camera;n={x:t.x,y:t.y,cameraParam:{position:(null==i?void 0:i.position.toArray())||[0,0,8],fov:(null==i?void 0:i.fov)||60}}},touchmove:function(t){r.handleDragMove(n,t),r.bouncingArg=t},touchend:function(t){var e=r.bouncingArg;if(!rn(e,3)&&e){e.vx*=5,e.vy*=5,r.dragEvent=a({},n)}n=null}};Object.keys(o).forEach((function(t){e.addEventListener(t,o[t])})),o.touchmove({dx:0,dy:0,width:1,height:1}),this.item.getComponent(i).endDragTarget=function(){Object.keys(o).forEach((function(t){e.removeEventListener(t,o[t])}))}}},r.prototype.getBoundingBox=function(){var e=this.transform.getWorldMatrix(),r=di(H.ZERO,.5,.5);return r.forEach((function(t){e.transformPoint(t.p0),e.transformPoint(t.p1),e.transformPoint(t.p2)})),{type:t.HitTestType.triangle,area:r}},r.prototype.fromData=function(t){e.prototype.fromData.call(this,t),this.interactData=t},r=i=s([ne(t.DataType.InteractComponent)],r)}(ur);function rn(t,e){var r=1e-5*(e||1);return t&&Math.abs(t.vx||0)<r&&Math.abs(t.vy||0)<r}function nn(t){var e=t.renderer,r=e.blending,i=e.side,n=e.occlusion,o=e.mask,a=e.maskMode,s=e.order,u=+r,c=t.cachePrefix||"-";return{side:i,occlusion:n,blending:r,mask:o,maskMode:a,cachePrefix:c,cacheId:"".concat(c,".").concat(+i,"+").concat(+n,"+").concat(u,"+").concat(s,"+").concat(a,".").concat(o)}}function on(e,r){var i=null!=r?r:{},n=i.count,o=void 0===n?2:n,a=i.env,s=void 0===a?"":a,u=i.ignoreBlend,c=i.wireframe,l=[["MAX_ITEM_COUNT",o],["PRE_MULTIPLY_ALPHA",!1],["ENV_EDITOR",s===Ki],["USE_BLEND",!u],["MAX_FRAG_TEX",t.maxSpriteTextureCount>=16?16:8]];return{fragment:c?yr:xr.replace(/#pragma\s+FILTER_FRAG/,""),vertex:vr.replace(/#pragma\s+FILTER_VERT/,"vec4 filterMain(float t,vec4 pos){return effects_MatrixVP * pos;}"),glslVersion:1===e?t.GLSLVersion.GLSL1:t.GLSLVersion.GLSL3,marcos:l,shared:!0}}function an(t,e){return"".concat(t.cachePrefix,"_effects_sprite_").concat(e)}function sn(t,e,r,i){var n=t.wireframe,o=on(r,{count:e,wireframe:n,env:i});return o.shared=!0,n||(o.cacheId=an(t,e)),o}function un(e){t.maxSpriteMeshItemCount=e}t.maxSpriteMeshItemCount=8,t.maxSpriteTextureCount=8;var cn={blending:0,cacheId:"-",mask:0,maskMode:0,occlusion:!1,side:0,cachePrefix:"-"},ln=function(e){function r(){var t=null!==e&&e.apply(this,arguments)||this;return t.name="sprite",t}return o(r,e),r.precompile=function(e,r,i){var n=r.getShaderLibrary(),o=r.engine.gpuCapability,a=o.level,s=o.detail,u=(null!=i?i:{}).env;return n.shaderResults[an(cn,2)]||(n.addShader(sn(cn,2,1,u)),n.addShader(sn(cn,t.maxSpriteMeshItemCount,1,u)),s.writableFragDepth&&n.addShader(Ze(a,!0))),Promise.resolve()},r}(ti),hn=function(){function t(){this.playableOutputs=[]}return t.prototype.evaluate=function(t){var e,r;try{for(var i=l(this.playableOutputs),n=i.next();!n.done;n=i.next()){var o=n.value;this.callProcessFrame(o.sourcePlayable,t),o.processFrame(t)}}catch(t){e={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(e)throw e.error}}},t.prototype.connect=function(t,e){e.connect(t)},t.prototype.addOutput=function(t){this.playableOutputs.push(t)},t.prototype.callProcessFrame=function(t,e){var r,i;try{for(var n=l(t.getInputs()),o=n.next();!o.done;o=n.next()){var a=o.value;this.callProcessFrame(a,e)}}catch(t){r={error:t}}finally{try{o&&!o.done&&(i=n.return)&&i.call(n)}finally{if(r)throw r.error}}t.processFrame(e)},t}(),fn=function(){function t(){this.inputs=[]}return t.prototype.connect=function(t){this.inputs.push(t)},t.prototype.getInputs=function(){return this.inputs},t.prototype.getInput=function(t){if(!(t>this.inputs.length-1))return this.inputs[t]},t.prototype.setTime=function(t){this.time=t},t.prototype.getTime=function(){return this.time},t.prototype.onGraphStart=function(){},t.prototype.onGraphStop=function(){},t.prototype.onPlayablePlay=function(){},t.prototype.processFrame=function(t){},t.prototype.onPlayableDestroy=function(){},t.prototype.fromData=function(t){},t}(),pn=function(){function t(){}return t.prototype.setSourcePlayeble=function(t){this.sourcePlayable=t},t.prototype.onGraphStart=function(){},t.prototype.processFrame=function(t){},t}(),dn=function(){function t(){}return t.prototype.fromData=function(t){},t}(),mn=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.clips=[],e.clipSeed=0,e}return o(e,t),e.prototype.createOutput=function(){return new pn},e.prototype.createMixerPlayable=function(){return new fn},e.prototype.createPlayable=function(){var t,e,r=this.createMixerPlayable();try{for(var i=l(this.clips),n=i.next();!n.done;n=i.next()){var o=n.value;r.connect(o.playable)}}catch(e){t={error:e}}finally{try{n&&!n.done&&(e=i.return)&&e.call(i)}finally{if(t)throw t.error}}return r},e.prototype.createClip=function(t,e){var r=new yn;return r.playable=new t,r.name=e||"TimelineClip"+r.id,this.addClip(r),r},e.prototype.getClips=function(){return this.clips},e.prototype.findClip=function(t){var e,r;try{for(var i=l(this.clips),n=i.next();!n.done;n=i.next()){var o=n.value;if(o.name===t)return o}}catch(t){e={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(e)throw e.error}}},e.prototype.addClip=function(t){t.playable.bindingItem=this.bindingItem,t.id=(this.clipSeed++).toString(),this.clips.push(t)},e}(dn),yn=function(){this.start=0,this.duration=0},vn=function(){function t(t){this.curveValues={},this.playable=t}return t.prototype.setCurveValue=function(t,e,r){return this.findCurveValue(t,e)?this.curveValues[t+e].value=r:this.curveValues[t+e]={componentType:t,propertyName:e,value:r},this.curveValues[t+e]},t.prototype.findCurveValue=function(t,e){return this.curveValues[t+e]},t.prototype.getInputStream=function(t){var e=this.playable.getInput(t);if(e instanceof xn)return e.animationStream},t}(),xn=function(t){function e(){var e=t.call(this)||this;return e.animationStream=new vn(e),e}return o(e,t),e}(fn),gn=new Q,Tn=new H(1,1,1),En=new H,bn=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype.processFrame=function(t){this.bindingItem.composition&&this.sampleAnimation()},e.prototype.sampleAnimation=function(){var t=this,e=this.bindingItem.duration,r=this.time/e;if(r=r<0?0:r>1?1:r,this.sizeXOverLifetime){Tn.x=this.sizeXOverLifetime.getValue(r),this.sizeSeparateAxes?(Tn.y=this.sizeYOverLifetime.getValue(r),Tn.z=this.sizeZOverLifetime.getValue(r)):Tn.z=Tn.y=Tn.x;var i=this.originalTransform.scale;this.bindingItem.transform.setScale(Tn.x*i.x,Tn.y*i.y,Tn.z*i.z)}if(this.rotationOverLifetime){var n=function(i){return t.rotationOverLifetime.asRotation?i.getValue(r):i.getIntegrateValue(0,r,e)},o=n(this.rotationOverLifetime.z),a=this.rotationOverLifetime.separateAxes;gn.x=a?n(this.rotationOverLifetime.x):0,gn.y=a?n(this.rotationOverLifetime.y):0,gn.z=o;var s=gn.addEulers(this.originalTransform.rotation,gn);this.bindingItem.transform.setRotation(s.x,s.y,s.z)}if(this.positionOverLifetime){var u=En;ai(u,this,this.gravity,this.time,e,this.originalTransform.position,this.velocity),this.originalTransform.path&&u.add(this.originalTransform.path.getValue(r)),this.bindingItem.transform.setPosition(u.x,u.y,u.z)}},e.prototype.fromData=function(t){var e,r=this.bindingItem.transform.scale;this.originalTransform={position:this.bindingItem.transform.position.clone(),rotation:this.bindingItem.transform.getRotation().clone(),scale:new H(r.x,r.y,r.x)};var i=t.positionOverLifetime,n=t.rotationOverLifetime,o=t.sizeOverLifetime;if(i&&0!==Object.keys(i).length){this.positionOverLifetime=i,i.path&&(this.originalTransform.path=Ai(i.path));var a=i.linearX||i.linearY||i.linearZ;a&&(this.linearVelOverLifetime={x:i.linearX&&Ai(i.linearX),y:i.linearY&&Ai(i.linearY),z:i.linearZ&&Ai(i.linearZ),asMovement:i.asMovement,enabled:!!a});var s=i.orbitalX||i.orbitalY||i.orbitalZ;s&&(this.orbitalVelOverLifetime={x:i.orbitalX&&Ai(i.orbitalX),y:i.orbitalY&&Ai(i.orbitalY),z:i.orbitalZ&&Ai(i.orbitalZ),center:si(i.orbCenter),asRotation:i.asRotation,enabled:!!s}),this.speedOverLifetime=i.speedOverLifetime&&Ai(i.speedOverLifetime)}if(o&&(o.separateAxes?(this.sizeSeparateAxes=!0,this.sizeXOverLifetime=Ai(o.x||1),this.sizeYOverLifetime=Ai(o.y||1),this.sizeZOverLifetime=Ai(o.z||1)):this.sizeXOverLifetime=Ai(o.size||1)),n&&(this.rotationOverLifetime={asRotation:n.asRotation,separateAxes:n.separateAxes,z:Ai(n.z||0)},n.separateAxes)){var u=this.rotationOverLifetime;u.x=Ai(n.x||0),u.y=Ai(n.y||0)}this.gravity=H.fromArray((null==i?void 0:i.gravity)||[]),this.gravityModifier=Ai(null!==(e=null==i?void 0:i.gravityOverLifetime)&&void 0!==e?e:0),this.direction=(null==i?void 0:i.direction)?H.fromArray(i.direction).normalize():new H,this.startSpeed=(null==i?void 0:i.startSpeed)||0,this.velocity=this.direction.clone(),this.velocity.multiply(this.startSpeed)},e}(xn),Cn=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype.createPlayable=function(){var t=new bn;return t.fromData(this.transformAnimationData),t},e.prototype.fromData=function(t){this.transformAnimationData=t},e}(dn),_n=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype.onGraphStart=function(){this.bindingItem.transform.setValid(!1),this.hideRendererComponents()},e.prototype.onPlayablePlay=function(){this.bindingItem.transform.setValid(!0),this.showRendererComponents()},e.prototype.onPlayableDestroy=function(){this.bindingItem.transform.setValid(!1),this.hideRendererComponents()},e.prototype.hideRendererComponents=function(){var t,e;try{for(var r=l(this.bindingItem.rendererComponents),i=r.next();!i.done;i=r.next()){var n=i.value;n.enabled&&(n.enabled=!1)}}catch(e){t={error:e}}finally{try{i&&!i.done&&(e=r.return)&&e.call(r)}finally{if(t)throw t.error}}},e.prototype.showRendererComponents=function(){var t,e;try{for(var r=l(this.bindingItem.rendererComponents),i=r.next();!i.done;i=r.next()){var n=i.value;n.enabled||(n.enabled=!0)}}catch(e){t={error:e}}finally{try{i&&!i.done&&(e=r.return)&&e.call(r)}finally{if(t)throw t.error}}},e}(fn),Sn=function(t){function e(e){var r=t.call(this,e)||this;return r.reusable=!1,r.timelineStarted=!1,r.playableGraph=new hn,r.time=0,r.tracks=[],r.trackSeed=0,r}return o(e,t),e.prototype.start=function(){var t,e,r,i;try{for(var n=l(this.tracks),o=n.next();!o.done;o=n.next()){var a=o.value;try{for(var s=(r=void 0,l(a.getClips())),u=s.next();!u.done;u=s.next()){var c=u.value;c.start=this.item.start,c.duration=this.item.duration}}catch(t){r={error:t}}finally{try{u&&!u.done&&(i=s.return)&&i.call(s)}finally{if(r)throw r.error}}}}catch(e){t={error:e}}finally{try{o&&!o.done&&(e=n.return)&&e.call(n)}finally{if(t)throw t.error}}this.compileTracks(this.playableGraph)},e.prototype.update=function(t){var e,r,i,n,o,a,s,u,c,h,f,p,d,m,y,v;if(!this.item.stopped&&this.item.composition){if(!this.timelineStarted){try{for(var x=l(this.tracks),g=x.next();!g.done;g=x.next()){var T=g.value;try{for(var E=(i=void 0,l(T.getClips())),b=E.next();!b.done;b=E.next()){b.value.playable.onGraphStart()}}catch(t){i={error:t}}finally{try{b&&!b.done&&(n=E.return)&&n.call(E)}finally{if(i)throw i.error}}}}catch(t){e={error:t}}finally{try{g&&!g.done&&(r=x.return)&&r.call(x)}finally{if(e)throw e.error}}this.timelineStarted=!0}var C=this.time;if(this.item.delaying&&C>=0&&C<=this.item.duration){this.item.delaying=!1;try{for(var _=l(this.tracks),S=_.next();!S.done;S=_.next()){T=S.value;try{for(var O=(s=void 0,l(T.getClips())),w=O.next();!w.done;w=O.next()){w.value.playable.onPlayablePlay()}}catch(t){s={error:t}}finally{try{w&&!w.done&&(u=O.return)&&u.call(O)}finally{if(s)throw s.error}}}}catch(t){o={error:t}}finally{try{S&&!S.done&&(a=_.return)&&a.call(_)}finally{if(o)throw o.error}}}if(Ma.isParticle(this.item)?this.item.isEnded(C)&&this.item.content.destoryed:this.item.isEnded(C)){var A=this.item.endBehavior;if(!this.item.ended&&(this.item.ended=!0,this.item.onEnd(),0===A)){try{for(var R=l(this.tracks),L=R.next();!L.done;L=R.next()){T=L.value;try{for(var I=(f=void 0,l(T.getClips())),M=I.next();!M.done;M=I.next()){M.value.playable.onPlayableDestroy()}}catch(t){f={error:t}}finally{try{M&&!M.done&&(p=I.return)&&p.call(I)}finally{if(f)throw f.error}}}}catch(t){c={error:t}}finally{try{L&&!L.done&&(h=R.return)&&h.call(R)}finally{if(c)throw c.error}}if(this.item.delaying=!0,!this.item.reusable&&!this.reusable)return void this.item.dispose()}}if(!this.item.delaying){var P=this.time/this.item.duration;this.item.lifetime=P;try{for(var V=l(this.tracks),F=V.next();!F.done;F=V.next()){T=F.value;try{for(var N=(y=void 0,l(T.getClips())),D=N.next();!D.done;D=N.next()){D.value.playable.setTime(this.time)}}catch(t){y={error:t}}finally{try{D&&!D.done&&(v=N.return)&&v.call(N)}finally{if(y)throw y.error}}}}catch(t){d={error:t}}finally{try{F&&!F.done&&(m=V.return)&&m.call(V)}finally{if(d)throw d.error}}this.playableGraph.evaluate(t)}}},e.prototype.setTime=function(t){this.time=t},e.prototype.getTime=function(){return this.time},e.prototype.toLocalTime=function(t){var e=t-this.options.start,r=this.options.duration;return e-r>.001&&(5===this.options.endBehavior?e%=r:4===this.options.endBehavior&&(e=Math.min(r,e))),e},e.prototype.createTrack=function(t,e){var r=new t;return r.bindingItem=this.item,r.id=(this.trackSeed++).toString(),r.name=e||"Track"+r.id,this.tracks.push(r),r},e.prototype.getTracks=function(){return this.tracks},e.prototype.findTrack=function(t){var e,r;try{for(var i=l(this.tracks),n=i.next();!n.done;n=i.next()){var o=n.value;if(o.name===t)return o}}catch(t){e={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(e)throw e.error}}},e.prototype.rebuildGraph=function(){this.playableGraph=new hn,this.compileTracks(this.playableGraph)},e.prototype.compileTracks=function(t){var e,r;try{for(var i=l(this.tracks),n=i.next();!n.done;n=i.next()){var o=n.value,a=o.createPlayable(),s=o.createOutput();t.addOutput(s),s.setSourcePlayeble(a)}}catch(t){e={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(e)throw e.error}}},e.prototype.fromData=function(e){var r,i,n,o;if(t.prototype.fromData.call(this,e),this.options={start:this.item.start,duration:this.item.duration,looping:5===this.item.endBehavior,endBehavior:this.item.endBehavior||0},this.id=this.item.id,this.name=this.item.name,this.createTrack(mn,"ActivationTrack").createClip(_n,"ActivationTimelineClip"),e.tracks){var a=e.tracks;try{for(var s=l(a),u=s.next();!u.done;u=s.next()){var c=u.value,h=this.createTrack(mn);try{for(var f=(n=void 0,l(c.clips)),p=f.next();!p.done;p=f.next()){var d=p.value;switch(d.dataType){case"TransformAnimationPlayableAsset":h.name="AnimationTrack",h.createClip(bn,"AnimationTimelineClip").playable.fromData(d.animationClip);break;case"SpriteColorAnimationPlayableAsset":h.name="SpriteColorTrack",h.createClip(Rn,"SpriteColorClip").playable.fromData(d.animationClip)}}}catch(t){n={error:t}}finally{try{p&&!p.done&&(o=f.return)&&o.call(f)}finally{if(n)throw n.error}}}}catch(t){r={error:t}}finally{try{u&&!u.done&&(i=s.return)&&i.call(s)}finally{if(r)throw r.error}}}},e.prototype.toData=function(){t.prototype.toData.call(this)},s([ie()],e.prototype,"time",void 0),e}(sr),On=[[0,0,1,1,void 0]],wn=[1,1,1,1],An=0,Rn=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.renderColor=[1,1,1,1],e}return o(e,t),e.prototype.onPlayablePlay=function(){this.spriteMaterial=this.bindingItem.getComponent(Ln).material},e.prototype.processFrame=function(t){var e,r=ui(wn,1),i=this.time/this.bindingItem.duration,n=this.opacityOverLifetime,o=this.colorOverLifetime;o&&(r=_(o,i,!0),e=!0),n&&(r[3]*=n.getValue(i),e=!0),e&&(li(this.renderColor,r,this.startColor),this.spriteMaterial.getVector4("_Color").setFromArray(this.renderColor))},e.prototype.fromData=function(t){var e;this.clipData=t;var r=t.colorOverLifetime;return r&&(this.opacityOverLifetime=Ai(null!==(e=r.opacity)&&void 0!==e?e:1),r.color&&r.color[0]===Pt.GRADIENT_COLOR&&(this.colorOverLifetime=S(r.color[1]))),this.startColor=t.startColor||[1,1,1,1],this},e}(fn),Ln=function(e){function r(t,r){var i=e.call(this,t)||this;return i.color=[1,1,1,1],i.visible=!0,i.getHitTestParams=function(t){var e,r=i.interaction;if(t||r){var n=i.getBoundingBox();if(n)return{behavior:(null===(e=i.interaction)||void 0===e?void 0:e.behavior)||0,type:n.type,triangles:n.area,backfaceCulling:i.renderer.side===bt.FRONT}}},r&&i.fromData(r),i}return o(r,e),r.prototype.setVisible=function(t){this.visible=t},r.prototype.getVisible=function(){return this.visible},r.prototype.render=function(t){if(this.getVisible()){var e=this.material,r=this.geometry;t.renderingData.currentFrame.globalUniforms&&t.setGlobalMatrix("effects_ObjectToWorld",this.transform.getWorldMatrix()),this.material.setVector2("_Size",this.transform.size),r.flush(),t.drawGeometry(r,e)}},r.prototype.start=function(){this.priority=this.item.listIndex,this.timelineComponent=this.item.getComponent(Sn),this.item.getHitTestParams=this.getHitTestParams},r.prototype.update=function(t){var e=this.timelineComponent.getTime(),r=this.item.duration,i=Math.min(Math.max(e/r,0),1),n=this.textureSheetAnimation;if(n){var o=n.total||n.row*n.col,a=0,s=0,u=1,c=1,l=void 0;if(this.splits){var h=this.splits[0];l=h[4],a=h[0],s=h[1],l?(u=h[3],c=h[2]):(u=h[2],c=h[3])}var f=void 0,p=void 0;l?(f=1/n.row*u,p=1/n.col*c):(f=1/n.col*u,p=1/n.row*c);var d=void 0;if(n.animate){var m=Math.round(i*(o-1)),y=Math.floor(m/n.col),v=m-y*n.col;d=l?[f*y,p*(n.col-v)]:[f*v,p*(1+y)]}else d=[0,p];this.material.getVector4("_TexOffset").setFromArray([a+d[0],c+s-d[1],f,p])}},r.prototype.onDestroy=function(){this.item&&this.item.composition&&this.item.composition.destroyTextures(this.getTextures())},r.prototype.getItemInitData=function(t,e,r,i){var n=t.geoData;n||(n=t.geoData=this.getItemGeometryData(t,e));var o=n.index,a=o.length,s=this.wireframe?new Uint8Array([0,1,1,3,2,3,2,0]):new o.constructor(a);if(!this.wireframe)for(var u=0;u<a;u++)s[u]=r+o[u];return{atlasOffset:n.atlasOffset,index:s}},r.prototype.setItem=function(){var e=[],r=this.renderer.texture;r&&T(e,r);var i=(r=this.renderer.texture)?e.indexOf(r):-1,n=this.getItemInitData(this,0,0,i),o=this.renderer,a=this.material.getVector4("_TexParams");a.x=o.occlusion?+o.transparentOcclusion:1,a.y=+this.preMultiAlpha,a.z=o.renderMode;var s={atlasOffset:new Float32Array(n.atlasOffset.length),index:new Uint16Array(n.index.length)};s.atlasOffset.set(n.atlasOffset),s.index.set(n.index);var u=this.material,c=this.geometry,l=s.index;c.setIndexData(l),c.setAttributeData("atlasOffset",s.atlasOffset),c.setDrawCount(n.index.length);for(var h=0;h<e.length;h++){var f=e[h];u.setTexture("uSampler"+h,f)}for(var p=this.emptyTexture,d=e.length;d<t.maxSpriteMeshItemCount;d++)u.setTexture("uSampler"+d,p)},r.prototype.createGeometry=function(t){var e=12*this.splits.length;return er.create(this.engine,{attributes:{aPos:{type:se.FLOAT,size:3,data:new Float32Array([-.5,.5,0,-.5,-.5,0,.5,.5,0,.5,-.5,0])},atlasOffset:{size:2,offset:0,releasable:!0,type:se.FLOAT,data:new Float32Array(0)}},indices:{data:new Uint16Array(0),releasable:!0},mode:t,maxVertex:e})},r.prototype.createMaterial=function(t,e){var r=t.side,i=t.occlusion,n=t.blending,o=t.maskMode,a=t.mask,s={shader:sn(t,e,1)};this.preMultiAlpha=le(n);var u=ke.create(this.engine,s),c={side:r,blending:!0,blendMode:n,mask:a,maskMode:o,depthTest:!0,depthMask:i};return u.blending=c.blending,u.stencilRef=void 0!==c.mask?[c.mask,c.mask]:void 0,u.depthTest=c.depthTest,u.depthMask=c.depthMask,me(u,c.blendMode),ve(u,c.maskMode),ye(u,c.side),u.hasUniform("_Color")||u.setVector4("_Color",new K(0,0,0,1)),u.hasUniform("_TexOffset")||u.setVector4("_TexOffset",new K),u.hasUniform("_TexParams")||u.setVector4("_TexParams",new K),u},r.prototype.getItemGeometryData=function(t,e){var r=t.splits,i=t.renderer,n=t.textureSheetAnimation;if(i.shape){for(var o=i.shape,a=o.index,s=o.aPoint,u=new Float32Array(s),c=[],l=[],h=0;h<u.length;h+=6)u[h]*=1,u[h+1]*=1,l.push(s[h+2],s[h+3]),c.push(u[h],u[h+1],0);return this.geometry.setAttributeData("aPos",new Float32Array(c)),{index:a,atlasOffset:l}}var f=[-.5,.5,-.5,-.5,.5,.5,.5,-.5],p=[],d=[],m=2,y=2;1===r.length&&(m=1,y=1);for(var v=[],x=0;x<m;x++)for(var g=0;g<y;g++){var T=4*(2*g+x),E=n?[0,0,1,1,r[0][4]]:r[2*g+x],b=E[4]?[0,0,1,0,0,1,1,1]:[0,1,0,0,1,1,1,0],C=((x+x+1)/m-1)/2,_=((g+g+1)/y-1)/2,S=E[0],O=E[1],w=E[4]?E[3]:E[2],A=E[4]?E[2]:E[3],R=[f[0]/m+C,f[1]/y+_,f[2]/m+C,f[3]/y+_,f[4]/m+C,f[5]/y+_,f[6]/m+C,f[7]/y+_];p.push(b[0]*w+S,b[1]*A+O,b[2]*w+S,b[3]*A+O,b[4]*w+S,b[5]*A+O,b[6]*w+S,b[7]*A+O),v.push(1*R[0],1*R[1],0,1*R[2],1*R[3],0,1*R[4],1*R[5],0,1*R[6],1*R[7],0),d.push(T,1+T,2+T,2+T,1+T,3+T)}return this.geometry.setAttributeData("aPos",new Float32Array(v)),{index:d,atlasOffset:p}},r.prototype.getTextures=function(){var t=[],e=this.renderer.texture;return e&&t.push(e),t},r.prototype.getBoundingBox=function(){if(this.item){var e=this.transform.getWorldMatrix(),r=di(H.ZERO,.5,.5);return r.forEach((function(t){e.transformPoint(t.p0),e.transformPoint(t.p1),e.transformPoint(t.p2)})),{type:t.HitTestType.triangle,area:r}}},r.prototype.fromData=function(t){var r,i,n,o,a,s;e.prototype.fromData.call(this,t);var u=t.interaction,c=t.options,l=t.listIndex,h=void 0===l?0:l,f=t.renderer;f||(f={}),this.interaction=u,this.renderer={renderMode:null!==(r=f.renderMode)&&void 0!==r?r:Rt.BILLBOARD,blending:null!==(i=f.blending)&&void 0!==i?i:Et.ALPHA,texture:null!==(n=f.texture)&&void 0!==n?n:this.engine.emptyTexture,occlusion:!!f.occlusion,transparentOcclusion:!!f.transparentOcclusion||f.maskMode===Ct.MASK,side:null!==(o=f.side)&&void 0!==o?o:bt.DOUBLE,shape:f.shape,mask:null!==(a=f.mask)&&void 0!==a?a:0,maskMode:null!==(s=f.maskMode)&&void 0!==s?s:Ct.NONE,order:h},this.emptyTexture=this.engine.emptyTexture,this.splits=t.splits||On,this.textureSheetAnimation=t.textureSheetAnimation,this.cachePrefix="-",this.renderInfo=nn(this);var p=this.createGeometry(se.TRIANGLES),d=this.createMaterial(this.renderInfo,2);this.worldMatrix=q.fromIdentity(),this.material=d,this.geometry=p,this.name="MSprite"+An++;var m=c.startColor||[1,1,1,1];this.material.setVector4("_Color",(new K).setFromArray(m)),this.material.setVector4("_TexOffset",(new K).setFromArray([0,0,1,1])),this.setItem()},r.prototype.toData=function(){e.prototype.toData.call(this)},r=s([ne(t.DataType.SpriteComponent)],r)}(ur),In="lookup_texture",Mn="offscreen_canvas",Pn={};function Vn(t){return Pn[t]}var Fn=function(){function e(e,r){var i,n;this.particleCount=0;var o=(null!==(i=e.renderer)&&void 0!==i?i:{}).env,a=r.speedOverLifetime,s=r.colorOverLifetime,u=r.linearVelOverLifetime,c=r.orbitalVelOverLifetime,l=r.sizeOverLifetime,h=r.rotationOverLifetime,f=r.sprite,p=r.gravityModifier,d=r.maxCount,m=r.textureFlip,y=r.useSprite,v=r.name;r.filter;var x,g=r.gravity,T=r.forceTarget,E=r.side,b=r.occlusion,C=r.anchor,_=r.blending,S=r.maskMode,O=r.mask,w=r.transparentOcclusion,A=r.meshSlots,R=r.renderMode,I=void 0===R?0:R,M=r.diffuse,P=void 0===M?Ae.createWithData(e):M,V=e.gpuCapability.detail,F=V.halfFloatTexture,N=V.maxVertexUniforms,D=[["RENDER_MODE",+I],["PRE_MULTIPLY_ALPHA",!1],["ENV_EDITOR",o===Ki]],z=e.gpuCapability.level,U={curves:[],index:0,max:0,lineSegCount:0,curveCount:0},k={curves:[],index:0,max:0,lineSegCount:0,curveCount:0},B=N>0,G={},X=0,Y=0;this.useSprite=y,B&&D.push(["ENABLE_VERTEX_TEXTURE",!0]),a&&(D.push(["SPEED_OVER_LIFETIME",!0]),Y|=2,G.uSpeedLifetimeValue=a.toUniform(U)),(null==f?void 0:f.animate)&&(D.push(["USE_SPRITE",!0]),Y|=4,G.uFSprite=G.uSprite=new Float32Array([f.col,f.row,f.total,f.blend?1:0]),this.useSprite=!0),(null==s?void 0:s.color)&&(D.push(["COLOR_OVER_LIFETIME",!0]),Y|=16,G.uColorOverLifetime=s.color instanceof Ae?s.color:Ae.createWithData(e,L(s.color))),(null==s?void 0:s.opacity)?G.uOpacityOverLifetimeValue=s.opacity.toUniform(U):G.uOpacityOverLifetimeValue=Ai(1).toUniform(U),["x","y","z"].forEach((function(t,e){var r=0,i=0;(null==u?void 0:u[t])&&(G["uLinear".concat(t.toUpperCase(),"ByLifetimeValue")]=u[t].toUniform(U),r=1,Y|=1<<7+e,u.enabled=!0),D.push(["LINEAR_VEL_".concat(t.toUpperCase()),r]),(null==c?void 0:c[t])&&(G["uOrb".concat(t.toUpperCase(),"ByLifetimeValue")]=c[t].toUniform(U),i=1,Y|=1<<10+e,x=!0,c.enabled=!0),D.push(["ORB_VEL_".concat(t.toUpperCase()),i])})),(null==u?void 0:u.asMovement)&&(D.push(["AS_LINEAR_MOVEMENT",!0]),Y|=32),x&&((null==c?void 0:c.asRotation)&&(D.push(["AS_ORBITAL_MOVEMENT",!0]),Y|=64),G.uOrbCenter=new Float32Array((null==c?void 0:c.center)||[0,0,0])),G.uSizeByLifetimeValue=null==l?void 0:l.x.toUniform(U),(null==l?void 0:l.separateAxes)&&(D.push(["SIZE_Y_BY_LIFE",1]),Y|=16384,G.uSizeYByLifetimeValue=null===(n=null==l?void 0:l.y)||void 0===n?void 0:n.toUniform(U)),(null==h?void 0:h.z)&&(G.uRZByLifeTimeValue=h.z.toUniform(U),Y|=32768,D.push(["ROT_Z_LIFETIME",1])),(null==h?void 0:h.x)&&(G.uRXByLifeTimeValue=h.x.toUniform(U),Y|=65536,D.push(["ROT_X_LIFETIME",1])),(null==h?void 0:h.y)&&(G.uRYByLifeTimeValue=h.y.toUniform(U),Y|=1<<17,D.push(["ROT_Y_LIFETIME",1])),(null==h?void 0:h.asRotation)&&(D.push(["ROT_LIFETIME_AS_MOVEMENT",1]),Y|=1<<18),G.uGravityModifierValue=p.toUniform(U),T&&(D.push(["FINAL_TARGET",!0]),Y|=1<<19,G.uFinalTarget=new Float32Array(T.target||[0,0,0]),G.uForceCurve=T.curve.toUniform(U)),F&&k.max?(Y|=1<<20,G.uFCurveValueTexture=Re(e,Ci.getAllData(k,!0),k.index,1)):G.uFCurveValues=Ci.getAllData(k);var W=U.max+U.curves.length-32>N;if(2===z&&(U.max=-1,U.index=A?A[0]:Dn(U.index),k.index>0&&(k.max=-1,k.index=A?A[1]:Dn(k.index))),W&&F&&B){var Z=Re(e,Ci.getAllData(U,!0),U.index,1);G.uVCurveValueTexture=Z,X=1}else G.uVCurveValues=Ci.getAllData(U);var q=["-p:",I,Y,U.index,U.max,k.index,k.max].join("+");D.push(["VERT_CURVE_VALUE_COUNT",U.index],["FRAG_CURVE_VALUE_COUNT",k.index],["VERT_MAX_KEY_FRAME_COUNT",U.max],["FRAG_MAX_KEY_FRAME_COUNT",k.max]);var Q={shader:{fragment:gr,vertex:"#define LOOKUP_TEXTURE_CURVE ".concat(X,"\n").concat(Tr),glslVersion:1===z?t.GLSLVersion.GLSL1:t.GLSLVersion.GLSL3,shared:!0,cacheId:q,marcos:D,name:"particle#".concat(v)},uniformSemantics:{effects_MatrixV:"VIEW",effects_MatrixVP:"VIEWPROJECTION",uEditorTransform:"EDITOR_TRANSFORM",effects_ObjectToWorld:"MODEL"}},J=le(_);G.uTexOffset=new Float32Array(P?[1/P.getWidth(),1/P.getHeight()]:[0,0]),G.uMaskTex=P,G.uColorParams=new Float32Array([P?1:0,+J,0,+(!!b&&!w)]),G.uParams=[0,0,0,0],G.uAcceleration=[(null==g?void 0:g[0])||0,(null==g?void 0:g[1])||0,(null==g?void 0:g[2])||0,0];var $=ke.create(e,Q);$.blending=!0,$.depthTest=!0,$.depthMask=!!b,$.stencilRef=O?[O,O]:void 0,ve($,S),me($,_),ye($,E);var tt={uSprite:"vec4",uParams:"vec4",uAcceleration:"vec4",uGravityModifierValue:"vec4",uOpacityOverLifetimeValue:"vec4",uRXByLifeTimeValue:"vec4",uRYByLifeTimeValue:"vec4",uRZByLifeTimeValue:"vec4",uLinearXByLifetimeValue:"vec4",uLinearYByLifetimeValue:"vec4",uLinearZByLifetimeValue:"vec4",uSpeedLifetimeValue:"vec4",uOrbXByLifetimeValue:"vec4",uOrbYByLifetimeValue:"vec4",uOrbZByLifetimeValue:"vec4",uSizeByLifetimeValue:"vec4",uSizeYByLifetimeValue:"vec4",uColorParams:"vec4",uFSprite:"vec4",uPreviewColor:"vec4",uVCurveValues:"vec4Array",uFCurveValues:"vec4",uFinalTarget:"vec3",uForceCurve:"vec4",uOrbCenter:"vec3",uTexOffset:"vec2",uPeriodValue:"vec4",uMovementValue:"vec4",uStrengthValue:"vec4",uWaveParams:"vec4"};Object.keys(G).map((function(t){var e=G[t];if(e instanceof Ae)$.setTexture(t,e);else{var r=[];switch(tt[t]){case"vec4":$.setVector4(t,K.fromArray(e));break;case"vec3":$.setVector3(t,H.fromArray(e));break;case"vec2":$.setVector2(t,j.fromArray(e));break;case"vec4Array":for(var i=0;i<e.length;i+=4){var n=new K(e[i],e[i+1],e[i+2],e[i+3]);r.push(n)}$.setVector4Array(t,r),r.length=0;break;default:console.warn("uniform ".concat(t,"'s type not in typeMap"))}}})),$.setVector3("emissionColor",new H(0,0,0)),$.setFloat("emissionIntensity",0);var et=er.create(e,function(t,e,r){var i=Float32Array.BYTES_PER_ELEMENT,n=12*i,o={aPos:{size:3,offset:0,stride:n,data:new Float32Array(0)},aVel:{size:3,offset:3*i,stride:n,dataSource:"aPos"},aDirX:{size:3,offset:6*i,stride:n,dataSource:"aPos"},aDirY:{size:3,offset:9*i,stride:n,dataSource:"aPos"},aRot:{size:3,offset:0,stride:8*i,data:new Float32Array(0)},aSeed:{size:1,offset:3*i,stride:8*i,dataSource:"aRot"},aColor:{size:4,offset:4*i,stride:8*i,dataSource:"aRot"},aOffset:{size:4,stride:4*i,data:new Float32Array(0)}};e&&(o.aSprite={size:3,stride:3*i,data:new Float32Array(0)});return{attributes:o,indices:{data:new Uint16Array(0)},name:r,maxVertex:t}}(4*d,this.useSprite,"particle#".concat(v))),rt=lr.create(e,{name:"MParticle_".concat(v),material:$,geometry:et});this.anchor=C,this.mesh=rt,this.geometry=rt.firstGeometry(),this.forceTarget=T,this.sizeOverLifetime=l,this.speedOverLifetime=a,this.linearVelOverLifetime=u,this.orbitalVelOverLifetime=c,this.orbitalVelOverLifetime=c,this.gravityModifier=p,this.maxCount=d,this.textureOffsets=m?[0,0,1,0,0,1,1,1]:[0,1,0,0,1,1,1,0],this.time=0}return e.prototype.getPointColor=function(t){var e=this.geometry.getAttributeData("aRot"),r=32*t+4;return[e[r],e[r+1],e[r+2],e[r+3]]},e.prototype.getPointPosition=function(t){var e=this.geometry,r=48*t,i=e.getAttributeData("aPos"),n=e.getAttributeData("aOffset"),o=this.time-n[16*t+2],a=n[16*t+3],s=this.mesh.material,u=s.getVector4("uAcceleration").toVector3(),c=H.fromArray(i,r),l=H.fromArray(i,r+3),h=ai(new H,this,u,o,a,c,l);if(this.forceTarget){var f=s.getVector3("uFinalTarget"),p=this.forceTarget.curve.getValue(o/a),d=1-p;h.x=h.x*d+f.x*p,h.y=h.y*d+f.y*p,h.z=h.z*d+f.z*p}return h},e.prototype.clearPoints=function(){this.resetGeometryData(this.geometry),this.particleCount=0,this.geometry.setDrawCount(0),this.maxParticleBufferCount=0},e.prototype.resetGeometryData=function(t){for(var e=t.getAttributeNames(),r=t.getIndexData(),i=0;i<e.length;i++){var n=e[i],o=t.getAttributeData(n);o&&t.setAttributeData(n,new o.constructor(0))}t.setIndexData(new r.constructor(0))},e.prototype.minusTime=function(t){for(var e=this.geometry.getAttributeData("aOffset"),r=0;r<e.length;r+=4)e[r+2]-=t;this.geometry.setAttributeData("aOffset",e),this.time-=t},e.prototype.removePoint=function(t){t<this.particleCount&&this.geometry.setAttributeSubData("aOffset",16*t,new Float32Array(16))},e.prototype.setPoint=function(t,e){var r=this.maxCount;if(t<r){var i=t+1,n=4*i,o=this.geometry,a=i>this.maxParticleBufferCount,s=1;this.particleCount>300?s=(this.particleCount+100)/this.particleCount:this.particleCount>100?s=1.4:this.particleCount>0&&(s=2);var u={aPos:new Float32Array(48),aRot:new Float32Array(32),aOffset:new Float32Array(16)},c=this.useSprite;c&&(u.aSprite=new Float32Array(12));var l=new H,h=new Y,f=new H(1,1,1);e.transform.assignWorldTRS(l,h,f);var p=Ui.getRotation(h,new Q),d=l.toArray(),m=p.toArray(),y=this.textureOffsets,v=[0,0,e.delay,e.lifetime],x=[0,0,1,1],g=e.vel,T=e.color,E=[-.5,.5,-.5,-.5,.5,.5,.5,-.5],C=Math.random(),_=void 0;c&&(_=e.sprite);for(var S=0;S<4;S++){var O=2*S,w=3*S,A=4*S,R=12*S,L=8*S;u.aPos.set(d,R),g.fill(u.aPos,R+3),u.aRot.set(m,L),u.aRot[L+3]=C,u.aRot.set(T,L+4),c&&u.aSprite.set(_,w);var I=e.uv||x;if(I){var M=c?1-y[O+1]:y[O+1];v[0]=I[0]+y[O]*I[2],v[1]=I[1]+M*I[3]}u.aOffset.set(v,A);for(var P=S+S,V=(E[P]-this.anchor.x)*f.x,F=(E[P+1]-this.anchor.y)*f.y,N=0;N<3;N++)u.aPos[R+6+N]=e.dirX.getElement(N)*V,u.aPos[R+9+N]=e.dirY.getElement(N)*F}var D=new Uint16Array([0,1,2,2,1,3].map((function(e){return e+4*t})));if(a){var z=b(o.getIndexData(),6*i,s,6*r);z.set(D,6*t),o.setIndexData(z),this.maxParticleBufferCount=z.length/6}else o.setIndexSubData(6*t,D);Object.keys(u).forEach((function(e){var i=u[e],c=o.getAttributeStride(e)/Float32Array.BYTES_PER_ELEMENT;if(a){var l=b(o.getAttributeData(e),n*c,s,4*r*c);l.set(i,i.length*t),o.setAttributeData(e,l)}else o.setAttributeSubData(e,i.length*t,i)})),this.particleCount=Math.max(i,this.particleCount),o.setDrawCount(6*this.particleCount)}},e}(),Nn=[10,32,64,160];function Dn(t){for(var e=0;e<Nn.length;e++){var r=Nn[e];if(r>t)return r}return t||Nn[0]}function zn(t,e,r){var i,n;void 0===e&&(e="");var o=t.content,a=+((null===(i=o.renderer)||void 0===i?void 0:i.renderMode)||0),s=[["RENDER_MODE",a],["PRE_MULTIPLY_ALPHA",!1],["ENV_EDITOR",e===Ki]],u=r.level,c=r.detail,l={curves:[],index:0,max:0,lineSegCount:0,curveCount:0},h={curves:[],index:0,max:0,lineSegCount:0,curveCount:0},f=c.maxVertexUniforms>0,p=(null!==(n=o.positionOverLifetime)&&void 0!==n?n:{}).speedOverLifetime,d=0,m=0;f&&s.push(["ENABLE_VERTEX_TEXTURE",!0]),p&&(s.push(["SPEED_OVER_LIFETIME",!0]),m|=2,Vi(l,p));var y=o.textureSheetAnimation;y&&y.animate&&(s.push(["USE_SPRITE",!0]),m|=4);var v=o.colorOverLifetime;v&&v.color&&(s.push(["COLOR_OVER_LIFETIME",!0]),m|=16);var x=v&&v.opacity;x&&Vi(l,x);var g,T=o.positionOverLifetime;["x","y","z"].forEach((function(t,e){var r=0,i="linear"+t.toUpperCase(),n="orbital"+t.toUpperCase();(null==T?void 0:T[i])&&(Vi(l,T[i]),r=1,m|=1<<7+e),s.push(["LINEAR_VEL_".concat(t.toUpperCase()),r]);var o=0;(null==T?void 0:T[n])&&(Vi(l,T[n]),o=1,m|=1<<10+e,g=!0),s.push(["ORB_VEL_".concat(t.toUpperCase()),o])})),(null==T?void 0:T.asMovement)&&(s.push(["AS_LINEAR_MOVEMENT",!0]),m|=32),g&&(null==T?void 0:T.asRotation)&&(s.push(["AS_ORBITAL_MOVEMENT",!0]),m|=64);var E=o.sizeOverLifetime;Vi(l,null==E?void 0:E.x),(null==E?void 0:E.separateAxes)&&(s.push(["SIZE_Y_BY_LIFE",1]),m|=16384,Vi(l,null==E?void 0:E.y));var b=o.rotationOverLifetime;(null==b?void 0:b.z)&&(Vi(l,null==b?void 0:b.z),m|=32768,s.push(["ROT_Z_LIFETIME",1])),(null==b?void 0:b.separateAxes)&&(b.x&&(Vi(l,b.x),m|=65536,s.push(["ROT_X_LIFETIME",1])),b.y&&(Vi(l,b.y),m|=1<<17,s.push(["ROT_Y_LIFETIME",1]))),(null==b?void 0:b.asRotation)&&(s.push(["ROT_LIFETIME_AS_MOVEMENT",1]),m|=1<<18),Vi(l,null==T?void 0:T.gravityOverLifetime),(null==T?void 0:T.forceTarget)&&(s.push(["FINAL_TARGET",!0]),m|=1<<19,Vi(l,T.forceCurve));var C=c.halfFloatTexture;C&&h.max&&(m|=1<<20);var _=c.maxVertexUniforms,S=l.max+l.curves.length-32>_;Vn(In)&&(S=!0),2===u&&(l.max=-1,h.index>0&&(h.max=-1)),S&&C&&f&&(d=1);var O=["-p:",a,m,l.index,l.max,h.index,h.max].join("+"),w={fragment:gr,vertex:"#define LOOKUP_TEXTURE_CURVE ".concat(d,"\n").concat(Tr),shared:!0,cacheId:O,marcos:s,name:"particle#".concat(t.name)};return s.push(["VERT_CURVE_VALUE_COUNT",l.index],["FRAG_CURVE_VALUE_COUNT",h.index],["VERT_MAX_KEY_FRAME_COUNT",l.max],["FRAG_MAX_KEY_FRAME_COUNT",h.max]),{shader:w,vertex:l.index,fragment:h.index}}function Un(t,e,r){var i,n=null===(i=t.cacheId)||void 0===i?void 0:i.split("+");if(n[3]=e,n[5]=r,t.cacheId=n.join("+"),t.marcos)for(var o=0;o<t.marcos.length;o++){var a=t.marcos[o];if("VERT_CURVE_VALUE_COUNT"===a[0])a[1]=e;else if("FRAG_CURVE_VALUE_COUNT"===a[0]){a[1]=r;break}}}var kn=new H,Bn=new H,Gn=function(){function e(e,r){var i;this.pointStart=[];var n=r.colorOverLifetime,o=r.colorOverTrail,a=r.maxTrailCount,s=r.opacityOverLifetime,u=void 0===s?Ai(1):s,c=r.widthOverTrail,l=r.name,h=r.occlusion,f=r.blending,p=r.maskMode,d=r.textureMap,m=void 0===d?[0,0,1,1]:d,y=r.texture,v=r.transparentOcclusion,x=r.minimumVertexDistance,g=r.lifetime,T=r.matrix,E=e.gpuCapability,b=E.detail,C=E.level,_=Math.max(r.pointCountPerTrail,2),S={curves:[],index:0,max:0,lineSegCount:0,curveCount:0},O=b.maxVertexTextures>0,w=(null!==(i=e.renderer)&&void 0!==i?i:{}).env,A={},R=[["ENABLE_VERTEX_TEXTURE",O],["LOOKUP_TEXTURE_CURVE",0],["ENV_EDITOR",w===Ki]],I=a>64,M=0;n&&(R.push(["COLOR_OVER_LIFETIME",!0]),M|=1,A.uColorOverLifetime=Ae.createWithData(e,L(n))),o&&(R.push(["COLOR_OVER_TRAIL",!0]),M|=4,A.uColorOverTrail=Ae.createWithData(e,L(o))),I?(R.push(["ATTR_TRAIL_START",1]),M|=8):A.uTrailStart=new Float32Array(a),A.uOpacityOverLifetimeValue=u.toUniform(S);var P=c.toUniform(S);R.push(["VERT_CURVE_VALUE_COUNT",S.index],["VERT_MAX_KEY_FRAME_COUNT",S.max]),A.uVCurveValues=Ci.getAllData(S);var V={shader:{vertex:Er,fragment:gr,marcos:R,glslVersion:1===C?t.GLSLVersion.GLSL1:t.GLSLVersion.GLSL3,shared:!0,name:"trail#".concat(l),cacheId:"-t:+".concat(M,"+").concat(S.index,"+").concat(S.max)},uniformSemantics:{effects_MatrixVP:"VIEWPROJECTION",effects_MatrixInvV:"VIEWINVERSE",effects_ObjectToWorld:"MODEL",uEditorTransform:"EDITOR_TRANSFORM"}},F=_*a*2,N=(_-1)*a,D=Float32Array.BYTES_PER_ELEMENT,z=12*D,U={attributes:{aColor:{size:4,stride:z,data:new Float32Array(12*F)},aSeed:{size:1,stride:z,offset:4*D,dataSource:"aColor"},aInfo:{size:3,stride:z,offset:5*D,dataSource:"aColor"},aPos:{size:4,stride:z,offset:8*D,dataSource:"aColor"},aTime:{size:1,data:new Float32Array(F)},aDir:{size:3,data:new Float32Array(3*F)}},indices:{data:new Uint16Array(6*F)},drawCount:6*N,name:"trail#".concat(l),bufferUsage:se.DYNAMIC_DRAW};if(I)U.attributes.aTrailStart={size:1,data:new Float32Array(F)};else{var k=new Float32Array(F);U.attributes.aTrailStartIndex={size:1,data:k};for(var B=0;B<a;B++)for(var G=2*_,X=B*G,H=0;H<G;H++)k[X+H]=B}var Y=le(f),W=ke.create(e,V);W.blending=!0,W.depthMask=h,W.depthTest=!0,ve(W,p),me(W,f);var Z=this.mesh=lr.create(e,{name:"MTrail_".concat(l),material:W,geometry:er.create(e,U)}),q=null!=y?y:Ae.createWithData(e);Object.keys(A).map((function(t){var e=A[t];if(e instanceof Ae)W.setTexture(t,e);else if("uTrailStart"===t)W.setFloats("uTrailStart",e);else if("uVCurveValues"===t){var r=[];r.push(new K(e[0],e[1],e[2],e[3])),r.push(new K(e[4],e[5],e[6],e[7])),W.setVector4Array(t,r)}else W.setVector4(t,K.fromArray(e))})),W.setFloat("uTime",0),W.setVector4("uWidthOverTrail",K.fromArray(P)),W.setVector2("uTexOffset",new j(0,0)),W.setVector4("uTextureMap",K.fromArray(m)),W.setVector4("uParams",new K(0,_-1,0,0)),W.setTexture("uMaskTex",q),W.setVector4("uColorParams",new K(y?1:0,+Y,0,+(h&&!v))),this.maxTrailCount=a,this.pointCountPerTrail=_,this.checkVertexDistance=x>0,this.minimumVertexDistance=Math.pow(x||.001,2),this.useAttributeTrailStart=I,this.lifetime=g,T&&(this.mesh.worldMatrix=T),this.geometry=Z.firstGeometry(),this.trailCursors=new Uint16Array(a)}return Object.defineProperty(e.prototype,"time",{get:function(){return this.mesh.material.getFloat("uTime")||0},set:function(t){this.mesh.material.setFloat("uTime",null!=t?t:0)},enumerable:!1,configurable:!0}),e.prototype.addPoint=function(t,e,r){r=r||{};var i=this.trailCursors[t],n=this.pointCountPerTrail,o=this.geometry,a=n-1,s=i%n,u=(i-1)%n,c=(i-2)%n,l=this.getTrailPosition(t,u,kn);if(!(l&&this.checkVertexDistance&&(null==l?void 0:l.distanceSquared(e))<this.minimumVertexDistance)){var h=t*n+s,f=Yn(l,e),p=r.time||this.time,d=[Math.random(),r.lifetime||this.lifetime,i],m=r.size||1,y=6*h,v=new Float32Array(6);v.set(f,0),v.set(f,3),o.setAttributeSubData("aDir",y,v),o.setAttributeSubData("aTime",2*h,new Float32Array([p,p]));var x=r.color||[1,1,1,1],g=new Float32Array(24),T=e.toArray();if(g.set(x,0),g.set(d,4),g[7]=0,g.set(T,8),g[11]=.5*m,g.set(x,12),g.set(d,16),g[19]=1,g.set(T,20),g[23]=-.5*m,o.setAttributeSubData("aColor",24*h,g),u>=0){var E=this.getTrailPosition(t,c,Bn),b=new Float32Array(Yn(E,l,e)),C=6*(t*n+u);o.setAttributeSubData("aDir",C,b),o.setAttributeSubData("aDir",C+3,b);var _=t*n*2,S=new Uint16Array([2*u+_,2*u+1+_,2*s+_,2*s+_,2*u+1+_,2*s+1+_]),O=6*(t*a+(i-1)%a);o.setIndexSubData(O,S)}i=++this.trailCursors[t];var w=this.mesh.material,A=w.getVector4("uParams"),R=d[2];if(this.useAttributeTrailStart){for(var L=2*n,I=new Float32Array(L),M=0;M<L;M++)I[M]=R;o.setAttributeSubData("aTrailStart",t*I.length,I)}else{var P=w.getFloats("uTrailStart");null!=P&&(P[t]=R,w.setFloats("uTrailStart",P))}A&&(A.y=Math.max(A.y,i-1)-Math.max(0,i-n),w.setVector4("uParams",A))}},e.prototype.getTrailPosition=function(t,e,r){var i=this.pointCountPerTrail;if(e>=0&&e<i){var n=24*(t*i+e)+8,o=this.geometry.getAttributeData("aColor");return r.x=o[n],r.y=o[1+n],r.z=o[2+n],r}},e.prototype.clearAllTrails=function(){var t=this.geometry;this.trailCursors=new Uint16Array(this.trailCursors.length),t.setIndexData(new Uint16Array(t.getIndexData().length))},e.prototype.minusTime=function(t){for(var e=this.geometry.getAttributeData("aTime"),r=0;r<e.length;r++)e[r]-=t;this.geometry.setAttributeData("aTime",e),this.time-=t},e.prototype.clearTrail=function(t){if(0!==this.trailCursors[t]){var e=6*(this.pointCountPerTrail-1),r=this.geometry.getIndexData();r.set(new Uint16Array(e),t*e),this.geometry.setIndexData(r),this.trailCursors[t]=0}},e.prototype.getPointStartPos=function(t){return this.pointStart[t]},e.prototype.setPointStartPos=function(t,e){this.pointStart[t]=e},e.prototype.onUpdate=function(t){},e}(),Xn=new H,jn=new H,Hn=new H;function Yn(t,e,r){var i=Xn;return t||r?(t?r?(jn.subtractVectors(e,t).normalize(),jn.subtractVectors(r,e),Hn.copyFrom(jn).normalize(),i.addVectors(jn,Hn)):i.subtractVectors(e,t):i.subtractVectors(r,e),i.normalize().toArray()):[0,0,0]}var Wn=function(e){function r(){return null!==e&&e.apply(this,arguments)||this}return o(r,e),r.precompile=function(e,r,i){var n=e[0],o={rotationOverLifetime:{x:!1,y:!1,z:!1},positionOverLifetime:{speedOverLifetime:!1,linearX:!1,linearY:!1,linearZ:!1,orbitalX:!1,orbitalY:!1,orbitalZ:!1,forceCurve:!1},colorOverLifetime:{opacity:!1,color:!1},sizeOverLifetime:{x:!1,y:!1}},a={colorOverLifetime:{opacity:1,color:[Pt.RGBA_COLOR,[255,255,255,255]]},positionOverLifetime:{speedOverLifetime:1},sizeOverLifetime:{x:1,y:1}},s=r.engine.gpuCapability,u=s.level,c=(null!=i?i:{}).env,l=r.getShaderLibrary(),h=[],f=[],p=[],d=0,m=0;return n.items.forEach((function(e){t.Item.isParticle(e)&&(f.push(e),function(e){if(t.Item.isParticle(e)){var r=e.content;r.rotationOverLifetime||(r.rotationOverLifetime={});var i=r.rotationOverLifetime;i.z||(i.z=[Pt.CONSTANT,0]),i.separateAxes||(delete i.y,delete i.x),r.sizeOverLifetime||(r.sizeOverLifetime={});var n=r.sizeOverLifetime;n.separateAxes||delete n.y,n.size&&(n.x=n.size,delete n.size),n.x||(n.x=[Pt.CONSTANT,1])}}(e),2===u&&Object.keys(o).forEach((function(t){var r=o[t],i=e.content[t];i&&Object.keys(r).forEach((function(e){i[e]&&(r[e]=!0,T(h,t))}))})))})),f.forEach((function(e){var r,i,n=e.content;2===u&&(h.forEach((function(t){var e=o[t],r=n[t]||(n[t]={});Object.keys(e).forEach((function(i){if(e[i]&&!r[i]){var n=a[t]&&a[t][i]||0;r[i]=isNaN(n)?n:[Pt.CONSTANT,n]}}))})),o.positionOverLifetime.forceCurve&&(n.positionOverLifetime.forceTarget=!0),(o.rotationOverLifetime.x||o.rotationOverLifetime.y)&&(n.rotationOverLifetime.separateAxes=!0),o.sizeOverLifetime.y&&(n.sizeOverLifetime.separateAxes=!0));var f=zn(e,c,s),y=f.shader,v=f.fragment,x=f.vertex;if(p.push(y),d=Math.max(d,v),m=Math.max(m,x),e.content.trails){var g=function(t,e,r,i,n){void 0===i&&(i="");var o=0,a=Vn(In)?1:0,s=[["ENABLE_VERTEX_TEXTURE",n.detail.maxVertexTextures>0],["LOOKUP_TEXTURE_CURVE",a],["ENV_EDITOR",i===Ki]],u={curves:[],index:0,max:0,lineSegCount:0,curveCount:0};return t.colorOverLifetime&&(s.push(["COLOR_OVER_LIFETIME",!0]),o|=1),t.colorOverTrail&&(s.push(["COLOR_OVER_TRAIL",!0]),o|=4),e>64&&(s.push(["ATTR_TRAIL_START",1]),o|=8),Vi(u,t.opacityOverLifetime),Vi(u,t.widthOverTrail),s.push(["VERT_CURVE_VALUE_COUNT",u.index],["VERT_MAX_KEY_FRAME_COUNT",u.max]),{vertex:Er,fragment:gr,marcos:s,shared:!0,name:"trail#"+r,cacheId:"-t:+".concat(o,"+").concat(u.index,"+").concat(u.max)}}(e.content.trails,e.content.options.maxCount,e.name,c,s);g.vertex=de(null!==(r=g.marcos)&&void 0!==r?r:[],g.vertex,t.ShaderType.vertex,u),g.fragment=de(null!==(i=g.marcos)&&void 0!==i?i:[],g.fragment,t.ShaderType.fragment,u),g.glslVersion=2===u?t.GLSLVersion.GLSL3:t.GLSLVersion.GLSL1,l.addShader(g)}})),p.forEach((function(e){var r,i;2===u?(Un(e,m,d),e.glslVersion=t.GLSLVersion.GLSL3):e.glslVersion=t.GLSLVersion.GLSL1,e.vertex=de(null!==(r=e.marcos)&&void 0!==r?r:[],e.vertex,t.ShaderType.vertex,u),e.fragment=de(null!==(i=e.marcos)&&void 0!==i?i:[],e.fragment,t.ShaderType.fragment,u),l.addShader(e)})),2===u&&f.forEach((function(t){t.content.options.meshSlots=[m,d]})),Promise.resolve()},r}(ti);var Zn=function(){function t(t){var e=this;Object.keys(t).forEach((function(r){e[r]=t[r]}))}return t.prototype.generate=function(t){var e=qn(this.arc,this.arcMode,t)*D,r=Math.cos(e)*this.radius,i=Math.sin(e)*this.radius,n=new H(r,i,0),o=Math.tan(this.angle*D),a=n.clone().multiply(o);return a.z+=1,{position:n.multiply(yt(0,1)),direction:a.normalize()}},t}();function qn(t,e,r){if(e===zt.RANDOM)t=yt(0,t);else if(e===zt.UNIDIRECTIONAL_CYCLE){var i=r.index%(r.total+1);t=t/r.total*i}else if(e===zt.BIDIRECTIONAL_CYCLE){var n=(i=r.index/(r.total+1))-Math.floor(i);t*=Math.floor(i)%2?1-n:n}else e===zt.UNIFORM_BURST&&(t=t*r.burstIndex/r.burstCount);return t}var Qn,Kn=function(){function t(t){var e=this;Object.keys(t).forEach((function(r){e[r]=t[r]}))}return t.prototype.generate=function(t){var e=qn(this.arc,this.arcMode,t)*D,r=new H(Math.cos(e),Math.sin(e),0),i=this.radius;return{direction:r,position:r.clone().multiply(i)}},t}(),Jn=function(){function t(t){this._d=(t.width||1)/2,this._h=(t.height||1)/2}return t.prototype.generate=function(t){var e=yt(-this._d,this._d),r=yt(-this._h,this._h);return{direction:new H(0,0,1),position:new H(e,r,0)}},t}(),$n=function(){function t(t){this._d=(t.width||1)/2,this._h=(t.height||1)/2,this.arcMode=t.arcMode,this.arc=t.arc}return t.prototype.generate=function(t){var e=qn(this.arc,this.arcMode,t)*D,r=new H(Math.cos(e),Math.sin(e),0),i=this._d,n=this._h,o=Math.atan2(n,i),a=Math.tan(e),s=new H;return e<o?s.set(i,i*a,0):e>=o&&e<Math.PI-o?s.set(n/a,n,0):e<Math.PI+o?s.set(-i,-i*a,0):e<2*Math.PI-o?s.set(-n/a,-n,0):s.set(i,i*a,0),{direction:r,position:s}},t}(),to=function(){function t(t){this._d=(t.width||1)/2,this.arcMode=t.arcMode}return t.prototype.generate=function(t){var e=this.arcMode===zt.UNIFORM_BURST?t.burstIndex%t.burstCount/(t.burstCount-1):yt(0,1);return{direction:new H(0,1,0),position:new H(this._d*(e-.5),0,0)}},t}(),eo=new q,ro=function(){function t(t){var e=this;Object.keys(t).forEach((function(r){e[r]=t[r]}))}return t.prototype.generate=function(t){var e=this.donutRadius,r=this.radius-e,i=yt(0,2*Math.PI),n=qn(this.arc,this.arcMode,t)*D,o=eo.setFromRotationZ(n),a=new H(Math.cos(i),Math.sin(i),0),s=new H(r+Math.cos(i)*e,0,Math.sin(i)*e);return{direction:o.transformNormal(a),position:o.transformPoint(s)}},t}(),io=new q,no=function(){function t(t){var e=this;Object.keys(t).forEach((function(r){e[r]=t[r]}))}return t.prototype.getHorizontalAngle=function(){return yt(-90,90)},t.prototype.generate=function(t){var e=qn(this.arc,this.arcMode,t)*D,r=this.getHorizontalAngle()*D,i=this.radius,n=new H(Math.cos(r),0,Math.sin(r)),o=io.setFromRotationZ(e).transformNormal(n);return{position:o.clone().multiply(i),direction:o}},t}(),oo=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype.getHorizontalAngle=function(){return yt(0,90)},e}(no),ao=function(){function t(t){var e=t.detail||{anchors:[.5,.5],block:[0,0]};this.anchors=new Float32Array(e.anchors),this.width=t.width||1,this.height=t.height||1,this.block=e.block,this.arcMode=t.arcMode,this.random=G(t.random||0,0,1)}return t.prototype.generate=function(t){var e=this.anchors,r=e.length/2-1,i=Math.floor(qn(r,this.arcMode,t)),n=(e[2*i]+this.block[0]*this.random*Math.random())%1-.5,o=(e[2*i+1]+this.block[1]*this.random*Math.random())%1-.5,a=new H(n,o,0);return{position:new H(n*this.width,o*this.height,0),direction:a.normalize()}},t}(),so=function(){function t(){}return t.prototype.generate=function(){return{position:new H,direction:new H}},t}(),uo=((Qn={})[_t.NONE]=so,Qn[_t.CONE]=Zn,Qn[_t.SPHERE]=no,Qn[_t.HEMISPHERE]=oo,Qn[_t.CIRCLE]=Kn,Qn[_t.DONUT]=ro,Qn[_t.RECTANGLE]=Jn,Qn[_t.EDGE]=to,Qn[_t.RECTANGLE_EDGE]=$n,Qn[_t.TEXTURE]=ao,Qn);function co(t){if(!t)return new so;var e=a({radius:1,arc:360,angle:0,arcMode:zt.RANDOM},t),r=t.type,i=uo[r];if(!i)throw Error("invalid shape:"+r);var n=new i(e);if(r!==_t.NONE){var o=t,s=o.alignSpeedDirection,u=o.upDirection,c=void 0===u?[0,0,1]:u;n.alignSpeedDirection=s,n.upDirection=H.fromArray(c).normalize()}return n}function lo(t,e,r,i,n){var o,a;if(n===function(t,e,r,i){for(var n=0,o=e,a=r-i;o<r;o+=i)n+=(t[a]-t[o])*(t[o+1]+t[a+1]),a=o;return n}(t,e,r,i)>0)for(o=e;o<r;o+=i)a=Ro(o,t[o],t[o+1],a);else for(o=r-i;o>=e;o-=i)a=Ro(o,t[o],t[o+1],a);return a&&Co(a,a.next)&&(Lo(a),a=a.next),a}function ho(t,e){if(!t)return t;e||(e=t);var r,i=t;do{if(r=!1,i.steiner||!Co(i,i.next)&&0!==bo(i.prev,i,i.next))i=i.next;else{if(Lo(i),(i=e=i.prev)===i.next)break;r=!0}}while(r||i!==e);return e}function fo(t){var e=t.prev,r=t,i=t.next;if(bo(e,r,i)>=0)return!1;for(var n=t.next.next;n!==t.prev;){if(To(e.x,e.y,r.x,r.y,i.x,i.y,n.x,n.y)&&bo(n.prev,n,n.next)>=0)return!1;n=n.next}return!0}function po(t,e,r,i){var n=t.prev,o=t,a=t.next;if(bo(n,o,a)>=0)return!1;for(var s=n.x<o.x?n.x<a.x?n.x:a.x:o.x<a.x?o.x:a.x,u=n.y<o.y?n.y<a.y?n.y:a.y:o.y<a.y?o.y:a.y,c=n.x>o.x?n.x>a.x?n.x:a.x:o.x>a.x?o.x:a.x,l=n.y>o.y?n.y>a.y?n.y:a.y:o.y>a.y?o.y:a.y,h=xo(s,u,e,r,i),f=xo(c,l,e,r,i),p=t.prevZ,d=t.nextZ;p&&p.z>=h&&d&&d.z<=f;){if(p!==t.prev&&p!==t.next&&To(n.x,n.y,o.x,o.y,a.x,a.y,p.x,p.y)&&bo(p.prev,p,p.next)>=0)return!1;if(p=p.prevZ,d!==t.prev&&d!==t.next&&To(n.x,n.y,o.x,o.y,a.x,a.y,d.x,d.y)&&bo(d.prev,d,d.next)>=0)return!1;d=d.nextZ}for(;p&&p.z>=h;){if(p!==t.prev&&p!==t.next&&To(n.x,n.y,o.x,o.y,a.x,a.y,p.x,p.y)&&bo(p.prev,p,p.next)>=0)return!1;p=p.prevZ}for(;d&&d.z<=f;){if(d!==t.prev&&d!==t.next&&To(n.x,n.y,o.x,o.y,a.x,a.y,d.x,d.y)&&bo(d.prev,d,d.next)>=0)return!1;d=d.nextZ}return!0}function mo(t,e){return t.x-e.x}function yo(t,e){if(e=function(t,e){var r,i=e,n=t.x,o=t.y,a=-1/0;do{if(o<=i.y&&o>=i.next.y&&i.next.y!==i.y){var s=i.x+(o-i.y)*(i.next.x-i.x)/(i.next.y-i.y);if(s<=n&&s>a){if(a=s,s===n){if(o===i.y)return i;if(o===i.next.y)return i.next}r=i.x<i.next.x?i:i.next}}i=i.next}while(i!==e);if(!r)return null;if(n===a)return r;var u,c=r,l=r.x,h=r.y,f=1/0;i=r;do{n>=i.x&&i.x>=l&&n!==i.x&&To(o<h?n:a,o,l,h,o<h?a:n,o,i.x,i.y)&&(u=Math.abs(o-i.y)/(n-i.x),wo(i,t)&&(u<f||u===f&&(i.x>r.x||i.x===r.x&&vo(r,i)))&&(r=i,f=u)),i=i.next}while(i!==c);return r}(t,e),e){var r=Ao(e,t);ho(e,e.next),ho(r,r.next)}}function vo(t,e){return bo(t.prev,t,e.prev)<0&&bo(e.next,t,t.next)<0}function xo(t,e,r,i,n){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=32767*(t-r)*n)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=32767*(e-i)*n)|e<<8))|e<<4))|e<<2))|e<<1))<<1}function go(t){var e=t,r=t;do{(e.x<r.x||e.x===r.x&&e.y<r.y)&&(r=e),e=e.next}while(e!==t);return r}function To(t,e,r,i,n,o,a,s){return(n-a)*(e-s)-(t-a)*(o-s)>=0&&(t-a)*(i-s)-(r-a)*(e-s)>=0&&(r-a)*(o-s)-(n-a)*(i-s)>=0}function Eo(t,e){return t.next.i!==e.i&&t.prev.i!==e.i&&!function(t,e){var r=t;do{if(r.i!==t.i&&r.next.i!==t.i&&r.i!==e.i&&r.next.i!==e.i&&_o(r,r.next,t,e))return!0;r=r.next}while(r!==t);return!1}(t,e)&&(wo(t,e)&&wo(e,t)&&function(t,e){var r=t,i=!1,n=(t.x+e.x)/2,o=(t.y+e.y)/2;do{r.y>o!=r.next.y>o&&r.next.y!==r.y&&n<(r.next.x-r.x)*(o-r.y)/(r.next.y-r.y)+r.x&&(i=!i),r=r.next}while(r!==t);return i}(t,e)&&(bo(t.prev,t,e.prev)||bo(t,e.prev,e))||Co(t,e)&&bo(t.prev,t,t.next)>0&&bo(e.prev,e,e.next)>0)}function bo(t,e,r){return(e.y-t.y)*(r.x-e.x)-(e.x-t.x)*(r.y-e.y)}function Co(t,e){return t.x===e.x&&t.y===e.y}function _o(t,e,r,i){var n=Oo(bo(t,e,r)),o=Oo(bo(t,e,i)),a=Oo(bo(r,i,t)),s=Oo(bo(r,i,e));return n!==o&&a!==s||(!(0!==n||!So(t,r,e))||(!(0!==o||!So(t,i,e))||(!(0!==a||!So(r,t,i))||!(0!==s||!So(r,e,i)))))}function So(t,e,r){return e.x<=Math.max(t.x,r.x)&&e.x>=Math.min(t.x,r.x)&&e.y<=Math.max(t.y,r.y)&&e.y>=Math.min(t.y,r.y)}function Oo(t){return t>0?1:t<0?-1:0}function wo(t,e){return bo(t.prev,t,t.next)<0?bo(t,e,t.next)>=0&&bo(t,t.prev,e)>=0:bo(t,e,t.prev)<0||bo(t,t.next,e)<0}function Ao(t,e){var r=new Io(t.i,t.x,t.y),i=new Io(e.i,e.x,e.y),n=t.next,o=e.prev;return t.next=e,e.prev=t,r.next=n,n.prev=r,i.next=r,r.prev=i,o.next=i,i.prev=o,i}function Ro(t,e,r,i){var n=new Io(t,e,r);return i?(n.next=i.next,n.prev=i,i.next.prev=n,i.next=n):(n.prev=n,n.next=n),n}function Lo(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 Io(t,e,r){this.i=t,this.x=e,this.y=r,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}var Mo=0;function Po(t,e,r,i){r=r||2,Mo=i||0;var n,o,a,s,u,c,l,h=e&&e.length,f=h?e[0]*r:t.length,p=lo(t,0,f,r,!0),d=[];if(!p||p.next===p.prev)return d;if(h&&(p=function(t,e,r,i){var n,o,a,s=[];for(n=0,o=e.length;n<o;n++)(a=lo(t,e[n]*i,n<o-1?e[n+1]*i:t.length,i,!1))===a.next&&(a.steiner=!0),s.push(go(a));for(s.sort(mo),n=0;n<s.length;n++)yo(s[n],r),r=ho(r,r.next);return r}(t,e,p,r)),t.length>80*r){n=a=t[0],o=s=t[1];for(var m=r;m<f;m+=r)(u=t[m])<n&&(n=u),(c=t[m+1])<o&&(o=c),u>a&&(a=u),c>s&&(s=c);l=0!==(l=Math.max(a-n,s-o))?1/l:0}return Vo(p,d,r,n,o,l),d}function Vo(t,e,r,i,n,o,a){if(t){!a&&o&&function(t,e,r,i){var n=t;do{null===n.z&&(n.z=xo(n.x,n.y,e,r,i)),n.prevZ=n.prev,n.nextZ=n.next,n=n.next}while(n!==t);n.prevZ.nextZ=null,n.prevZ=null,function(t){var e,r,i,n,o,a,s,u,c=1;do{for(r=t,t=null,o=null,a=0;r;){for(a++,i=r,s=0,e=0;e<c&&(s++,i=i.nextZ);e++);for(u=c;s>0||u>0&&i;)0!==s&&(0===u||!i||r.z<=i.z)?(n=r,r=r.nextZ,s--):(n=i,i=i.nextZ,u--),o?o.nextZ=n:t=n,n.prevZ=o,o=n;r=i}o.nextZ=null,c*=2}while(a>1)}(n)}(t,i,n,o);for(var s,u,c=t;t.prev!==t.next;)if(s=t.prev,u=t.next,o?po(t,i,n,o):fo(t))e.push(s.i/r+Mo),e.push(t.i/r+Mo),e.push(u.i/r+Mo),Lo(t),t=u.next,c=u.next;else if((t=u)===c){a?1===a?Vo(t=Fo(ho(t),e,r),e,r,i,n,o,2):2===a&&No(t,e,r,i,n,o):Vo(ho(t),e,r,i,n,o,1);break}}}function Fo(t,e,r){var i=t;do{var n=i.prev,o=i.next.next;!Co(n,o)&&_o(n,i,i.next,o)&&wo(n,o)&&wo(o,n)&&(e.push(n.i/r+Mo),e.push(i.i/r+Mo),e.push(o.i/r+Mo),Lo(i),Lo(i.next),i=t=o),i=i.next}while(i!==t);return ho(i)}function No(t,e,r,i,n,o){var a=t;do{for(var s=a.next.next;s!==a.prev;){if(a.i!==s.i&&Eo(a,s)){var u=Ao(a,s);return a=ho(a,a.next),u=ho(u,u.next),Vo(a,e,r,i,n,o),void Vo(u,e,r,i,n,o)}s=s.next}a=a.next}while(a!==t)}var Do=2;function zo(t,e){for(var r=t.s,i=t.p,n=r[1],o=i[1],a=0,s=0;s<n.length;s++){a+=(T=n[s]).length-1}var u,c=new Float32Array(a*Qi),l=e.indexBase,h=void 0===l?0:l,f=e.uvTransform,p=0,d=0,m=0,y=1,v=1;f&&(d=f[0],m=f[1],u=f[4],y=u?f[3]:f[2],v=u?f[2]:f[3]);var x=[0,0],g=0===u?0:-Math.PI/2;for(s=0;s<n.length;s++)for(var T=n[s],E=o[s],b=o[s+1]||o[0],C=T,_=[0,0],S=0;S<C.length-1;S++){Bo(_,C[S],E,b,E[4],E[5],b[2],b[3]),w(_[0],_[1])}var O=Po(Array.from(c),null,Qi,h);return{aPoint:c,index:new Uint16Array(O)};function w(t,e){c[p++]=t/2,c[p++]=e/2,f?(x[0]=t,x[1]=e,ko(x,x,g),c[p++]=d+(x[0]+1)/2*y,c[p++]=m+(x[1]+1)/2*v):(c[p++]=(t+1)/2,c[p++]=(e+1)/2),p+=Do}}function Uo(t,e){for(var r=[],i=function(t){var e=[];return t.gs?t.gs.forEach((function(t){e.push({p:[Pt.SHAPE_POINTS,t.p],s:[Pt.SHAPE_SPLITS,t.s]})})):t.g?e.push({p:[Pt.SHAPE_POINTS,t.g.p],s:[Pt.SHAPE_SPLITS,t.g.s]}):e.push(t),e}(t),n=0,o=0,a=0,s=0;s<i.length;s++){n+=(f=zo(i[s],{indexBase:n,uvTransform:e})).aPoint.length/5,r.push(f),o+=f.aPoint.length,a+=f.index.length}if(1===r.length)return r[0];for(var u=new Float32Array(o),c=new Uint16Array(a),l=(s=0,0),h=0;s<r[s];s++){var f=r[s];u.set(f.aPoint,l),l+=f.aPoint.length,c.set(f.index,h),h+=f.index.length}return{aPoint:u,index:c}}function ko(t,e,r){var i=Math.cos(r),n=Math.sin(r),o=e[0],a=e[1];return t[0]=i*o+n*a,t[1]=-n*o+i*a,t}function Bo(t,e,r,i,n,o,a,s){var u=1-e,c=u*u*u,l=3*e*u*u,h=3*e*e*u,f=e*e*e;return t[0]=c*r[0]+l*n+h*a+f*i[0],t[1]=c*r[1]+l*o+h*s+f*i[1],t}var Go=function(){function t(t){var e=t.time,r=t.interval,i=t.count,n=t.cycles,o=t.probability;this.time=+e||0,this.interval=+r||1,this.count=i instanceof yi?i:Ai(i),this.cycles=+n||1/0,this.probability=isNaN(o)?1:+o,this.reset()}return t.prototype.getGeneratorOptions=function(t,e){if(t-this.time-this.now>this.interval*this.index&&this.internalCycles>0)return this.internalCycles--,this.index++,Math.random()<=this.probability?{index:this.index,total:1/this.interval,count:this.count.getValue(e),cycleIndex:this.cycles-this.internalCycles-1}:null},t.prototype.reset=function(){this.internalCycles=this.cycles,this.index=0,this.now=0},t.prototype.clone=function(){return new t(this)},t}(),Xo=function(t){this.content=t},jo=function(){function t(t){this.sort=t,this.length=0}return t.prototype.findNodeByContent=function(t){var e=this.first;if(e)do{if(t(e.content))return e}while(e=e.next)},t.prototype.insertNode=function(t,e){var r=t.next;t.next=e,e.pre=t,e.next=r,r&&(r.pre=e)},t.prototype.shiftNode=function(t){var e=new Xo(t);if(this.length++,1===this.length)return this.first=this.last=e;for(var r=this.first;r;){if(!(this.sort(r.content,e.content)<=0))return r.pre?this.insertNode(r.pre,e):(this.first=e,e.next=r,r.pre=e),e;if(!r.next)return this.insertNode(r,e),this.last=e;r=r.next}},t.prototype.pushNode=function(t){var e=new Xo(t);if(this.length++,1===this.length)return this.last=this.first=e;for(var r=this.last;r;){if(!(this.sort(e.content,r.content)<=0))return this.insertNode(r,e),r===this.last&&(this.last=e),e;if(this.first===r)return r.pre=e,e.next=r,this.first=e;r=r.pre}},t.prototype.removeNode=function(t){var e=this.first;if(this.length--,e===t)(r=this.first=e.next)&&(r.pre=null);else if((e=this.last)===t){var r;(r=this.last=e.pre)&&(r.next=null)}else if(t){var i=t.pre,n=t.next;i.next=n,n&&(n.pre=i)}t.pre=null,t.next=null},t.prototype.forEach=function(t,e){var r=this.first,i=0;if(r)do{t.call(e||this,r.content,i++)}while(r=r.next)},t.prototype.forEachReverse=function(t,e){var r=this.last,i=this.length-1;if(r)do{t.call(e||this,r.content,i--)}while(r=r.pre)},t}(),Ho=function(t){function e(e,r,i){var n=t.call(this,e)||this;n.name="ParticleSystemRenderer",n.particleMesh=new Fn(e,r),void 0!==i&&(n.trailMesh=new Gn(e,i));var o=[n.particleMesh.mesh];return n.materials.push(n.particleMesh.mesh.material),n.trailMesh&&(o.push(n.trailMesh.mesh),n.materials.push(n.trailMesh.mesh.material)),n.meshes=o,n}return o(e,t),e.prototype.start=function(){var t,e;this._priority=this.item.listIndex,this.particleMesh.gravityModifier.scaleXCoord(this.item.duration);try{for(var r=l(this.meshes),i=r.next();!i.done;i=r.next()){i.value.start()}}catch(e){t={error:e}}finally{try{i&&!i.done&&(e=r.return)&&e.call(r)}finally{if(t)throw t.error}}},e.prototype.update=function(t){var e=this.particleMesh.time;this.particleMesh.mesh.material.setVector4("uParams",new K(e,this.item.duration,0,0))},e.prototype.render=function(t){var e,r;try{for(var i=l(this.meshes),n=i.next();!n.done;n=i.next()){n.value.render(t)}}catch(t){e={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(e)throw e.error}}},e.prototype.reset=function(){var t;this.particleMesh.clearPoints(),null===(t=this.trailMesh)||void 0===t||t.clearAllTrails()},e.prototype.updateTime=function(t,e){this.particleMesh.time=t,this.trailMesh&&(this.trailMesh.time=t,this.trailMesh.onUpdate(e))},e.prototype.minusTimeForLoop=function(t){var e;this.particleMesh.minusTime(t),null===(e=this.trailMesh)||void 0===e||e.minusTime(t)},e.prototype.updateWorldMatrix=function(t){this.particleMesh.mesh.worldMatrix=t,this.trailMesh&&(this.trailMesh.mesh.worldMatrix=t)},e.prototype.setVisible=function(t){var e;this.particleMesh.mesh.setVisible(t),null===(e=this.trailMesh)||void 0===e||e.mesh.setVisible(t)},e.prototype.getTextures=function(){var t=[],e=this.particleMesh.mesh.material.textures;if(Object.keys(e).forEach((function(r){t.push(e[r])})),this.trailMesh){var r=this.trailMesh.mesh.material.textures;Object.keys(r).forEach((function(e){t.push(r[e])}))}return t},e.prototype.setParticlePoint=function(t,e){this.particleMesh.setPoint(t,e)},e.prototype.removeParticlePoint=function(t){this.particleMesh.removePoint(t)},e.prototype.getParticlePointColor=function(t){return this.particleMesh.getPointColor(t)},e.prototype.hasTrail=function(){return void 0!==this.trailMesh},e.prototype.clearTrail=function(t){var e;null===(e=this.trailMesh)||void 0===e||e.clearTrail(t)},e.prototype.addTrailPoint=function(t,e,r){var i;null===(i=this.trailMesh)||void 0===i||i.addPoint(t,e,r)},e.prototype.setTrailStartPosition=function(t,e){var r;null===(r=this.trailMesh)||void 0===r||r.setPointStartPos(t,e)},e.prototype.getTrailStartPosition=function(t){return this.trailMesh.getPointStartPos(t)},e}(ur),Yo=function(e){function r(r,i){var n=e.call(this,r)||this;return n.destoryed=!1,n.getHitTestParams=function(e){var r=n.interaction;if(e||r)return{type:t.HitTestType.custom,collect:function(t){return n.raycast({radius:(null==r?void 0:r.radius)||.4,multiple:!!(null==r?void 0:r.multiple),removeParticle:(null==r?void 0:r.behavior)===Dt.removeParticle,ray:t})}}},i&&n.fromData(i),n}return o(r,e),Object.defineProperty(r.prototype,"timePassed",{get:function(){return this.lastUpdate-this.loopStartTime},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"lifetime",{get:function(){return this.timePassed/this.item.duration},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"particleCount",{get:function(){return this.particleLink.length},enumerable:!1,configurable:!0}),r.prototype.initEmitterTransform=function(){var t,e=this.item.transform.position.clone(),r=this.item.transform.rotation.clone(),i=this.props.emitterTransform&&this.props.emitterTransform.path;i&&(i[0]===Pt.CONSTANT_VEC3?e.add(i[1]):t=Ai(i)),this.basicTransform={position:e,rotation:r,path:t};var n=this.transform.parentTransform,o=e.clone();if(t&&o.add(t.getValue(0)),this.transform.setPosition(o.x,o.y,o.z),this.options.particleFollowParent&&n){var a=n.getWorldMatrix();this.renderer.updateWorldMatrix(a)}},r.prototype.updateEmitterTransform=function(t){var e=this.transform.parentTransform,r=this.basicTransform,i=r.path,n=r.position.clone();if(i){var o=this.item.duration;n.add(i.getValue(t/o))}if(this.transform.setPosition(n.x,n.y,n.z),this.options.particleFollowParent&&e){var a=e.getWorldMatrix();this.renderer.updateWorldMatrix(a)}},r.prototype.addParticle=function(t,e){var r,i=this.particleLink,n=[t.delay+t.lifetime,0,t.delay,t];if(i.length<e)r=n[1]=i.length;else{var o=i.first;i.removeNode(o),r=n[1]=o.content[1]}i.pushNode(n),this.renderer.setParticlePoint(r,t),this.clearPointTrail(r),this.transform.parentTransform&&this.renderer.setTrailStartPosition(r,this.transform.parentTransform.position.clone())},r.prototype.setVisible=function(t){this.renderer.setVisible(t)},r.prototype.setOpacity=function(t){var e,r=this.renderer.particleMesh.mesh.material,i=this.renderer.particleMesh.mesh.geometry,n=(null===(e=r.getVector4("uOpacityOverLifetimeValue"))||void 0===e?void 0:e.toArray())||[1,1,1,1];r.setVector4("uOpacityOverLifetimeValue",new K(n[0],n[1],n[2],t));for(var o=i.getAttributeData("aColor")||[],a=0;a<o.length;a+=32)o[8*a+7]=t},r.prototype.setColor=function(t,e,r,i){var n,o=this.renderer.particleMesh.mesh.material,a=this.renderer.particleMesh.mesh.geometry,s=(null===(n=o.getVector4("uOpacityOverLifetimeValue"))||void 0===n?void 0:n.toArray())||[1,1,1,1];o.setVector4("uOpacityOverLifetimeValue",new K(s[0],s[1],s[2],i));for(var u=a.getAttributeData("aColor")||[],c=0;c<u.length;c+=32)u[8*c+4]=t,u[8*c+5]=e,u[8*c+6]=r,u[8*c+7]=i},r.prototype.setParentTransform=function(t){},r.prototype.getTextures=function(){return this.renderer.getTextures()},r.prototype.start=function(){this.started&&!this.ended||(this.reset(),this.started=!0,this.ended=!1)},r.prototype.stop=function(){this.ended=!0,this.started=!1},r.prototype.reset=function(){this.renderer.reset(),this.lastUpdate=0,this.loopStartTime=0,this.lastEmitTime=-1/this.emission.rateOverTime.getValue(0),this.generatedCount=0,this.particleLink=new jo((function(t,e){return t[0]-e[0]})),this.emission.bursts.forEach((function(t){return t.reset()})),this.frozen=!1},r.prototype.onUpdate=function(t){var e,r=this;if(this.started&&!this.frozen){var i=this.lastUpdate+t/1e3,n=this.options,o=this.loopStartTime,a=this.emission;this.lastUpdate=i,this.upDirectionWorld=null,this.renderer.updateTime(i,t);var s=this.particleLink,u=(i-o)/this.item.duration,c=this.timePassed,l=!1,p=function(){r.trails&&!l&&(l=!0,s.forEach((function(t){var e=h(t,4),i=e[0],n=e[1],o=e[2],a=e[3];i<c?r.clearPointTrail(n):c>o&&r.updatePointTrail(n,u,a,o)})))};if(this.ended){if(this.item.endBehavior!==Ft.loop&&0===this.item.endBehavior){var d=s.last;d&&d.content[0]<this.lastUpdate&&(this.destoryed=!0)}}else{var m=this.item.duration,y=this.lifetime;if(c<m){var v=1/a.rateOverTime.getValue(y),x=Math.floor((c-this.lastEmitTime)/v),g=x,T=v/x,E=i,b=n.maxCount;this.updateEmitterTransform(c);for(var C=function(){var t=s.first;return r.emissionStopped||s.length===b&&t&&t.content[0]-o>c},_=0;_<g&&_<b&&!C();_++){(M=this.createPoint(y)).delay+=E+_*T,this.addParticle(M,b),this.lastEmitTime=c}for(var S=a.bursts,O=(null==S?void 0:S.length)-1,w=0;O>=0&&w<b&&!C();O--){var A=S[O],R=!A.disabled&&A.getGeneratorOptions(c,y);if(R){var L=a.burstOffsets[O],I=L&&L[R.cycleIndex]||[0,0,0];A.once&&this.removeBurst(O);for(_=0;_<R.count&&w<b&&!C();_++){var M;(M=this.initPoint(this.shape.generate({total:R.total,index:R.index,burstIndex:_,burstCount:R.count}))).delay+=E,w++,(e=M.transform).translate.apply(e,f([],h(I),!1)),this.addParticle(M,b)}}}}else if(this.item.endBehavior===Ft.loop)p(),this.loopStartTime=i-m,this.lastEmitTime-=m,this.lastUpdate-=m,a.bursts.forEach((function(t){return t.reset()})),this.particleLink.forEach((function(t){t[0]-=m,t[2]-=m,t[3].delay-=m})),this.renderer.minusTimeForLoop(m),this.onIterate(this);else{this.ended=!0,this.onEnd(this),4===this.item.endBehavior&&(this.frozen=!0)}}p()}},r.prototype.onDestroy=function(){this.item&&this.item.composition&&(this.item.composition.destroyTextures(this.getTextures()),this.meshes.forEach((function(e){return e.dispose({material:{textures:t.DestroyOptions.keep}})})))},r.prototype.getParticleBoxes=function(){var t=this.particleLink,e=this.renderer,r=[],i=this.particleCount,n=0;if(!t||!e)return r;for(var o=t.last,a=!1;!a;){var s=o.content[0],u=o.content[3];if(s>this.timePassed){var c=this.getPointPosition(u);r.push({center:c,size:u.transform.scale}),o.pre?o=o.pre:a=!0}++n>i&&(a=!0)}return r},r.prototype.raycast=function(t){var e=this.particleLink,r=this.renderer;if(e&&r){var i=e.last,n=[],o=new H,a=!1;if(i&&i.content)do{var s=h(i.content,4),u=s[0],c=s[1];s[2];var l=s[3];if(!(u>this.timePassed))break;var f=this.getPointPosition(l),p=t.ray,d=!1;p&&(d=!!p.intersectSphere({center:f,radius:t.radius},o)),d&&(t.removeParticle&&(r.removeParticlePoint(c),this.clearPointTrail(c),e.removeNode(i),i.content=[0]),n.push(f),t.multiple||(a=!0))}while((i=i.pre)&&!a);return n}},r.prototype.clearPointTrail=function(t){this.trails&&this.trails.dieWithParticles&&this.renderer.clearTrail(t)},r.prototype.updatePointTrail=function(t,e,r,i){var n=this.renderer;if(n.hasTrail()){var o=this.trails,a=this.getPointPosition(r),s=o.inheritParticleColor?n.getParticlePointColor(t):[1,1,1,1],u=r.transform.getWorldScale().toArray(),c=1,l=o.lifetime.getValue(e);if(o.sizeAffectsWidth&&(c*=u[0]),o.sizeAffectsLifetime&&(l*=u[0]),o.parentAffectsPosition&&this.transform.parentTransform){a.add(this.transform.parentTransform.position);var h=n.getTrailStartPosition(t);h&&a.subtract(h)}n.addTrailPoint(t,a,{color:s,lifetime:l,size:c,time:i})}},r.prototype.getPointPosition=function(t){var e=t.transform,r=t.vel,i=t.lifetime,n=t.delay,o=t.gravity,a=void 0===o?[]:o,s=this.options.forceTarget,u=this.lastUpdate-n,c=new H,l=H.fromArray(a);e.assignWorldTRS(c);var h=ai(new H,this.options,l,u,i,c,r);if(s){var f=s.target||[0,0,0],p=s.curve.getValue(u/i),d=1-p;h.x=h.x*d+f[0]*p,h.y=h.y*d+f[1]*p,h.z=h.z*d+f[2]*p}return h},r.prototype.onEnd=function(t){},r.prototype.onIterate=function(t){},r.prototype.initPoint=function(t){var e=this.options,r=this.lifetime,i=this.shape,n=e.startSpeed.getValue(r),o=e.particleFollowParent?this.transform.getMatrix():this.transform.getWorldMatrix(),a=o.transformPoint(t.position,new H),s=new Ui({position:a,valid:!0}),u=t.direction;if(u=o.transformNormal(u,Wo).normalize(),e.startTurbulence&&e.turbulence){for(var c=0;c<3;c++)Jo.setElement(c,e.turbulence[c].getValue(r));$o.setFromVector3(Jo.negate()),ea.setFromEuler($o).transformNormal(u).normalize()}var l,h=Qo,f=Ko;i.alignSpeedDirection?(f.copyFrom(u),this.upDirectionWorld||(i.upDirection?this.upDirectionWorld=i.upDirection.clone():this.upDirectionWorld=H.Z.clone(),o.transformNormal(this.upDirectionWorld)),h.crossVectors(f,this.upDirectionWorld).normalize(),h.isZero()&&h.set(1,0,0)):(h.set(1,0,0),f.set(0,1,0));var p=this.textureSheetAnimation;p&&p.animate&&((l=ta)[0]=p.animationDelay.getValue(r),l[1]=p.animationDuration.getValue(r),l[2]=p.cycles.getValue(r));var d=qo;e.start3DRotation?d.set(e.startRotationX.getValue(r),e.startRotationY.getValue(r),e.startRotationZ.getValue(r)):e.startRotation?d.set(0,0,e.startRotation.getValue(r)):d.set(0,0,0),s.setRotation(d.x,d.y,d.z);var m=e.startColor.getValue(r);3===m.length&&(m[3]=1);var y=Zo;if(e.start3DSize)y.x=e.startSizeX.getValue(r),y.y=e.startSizeY.getValue(r);else{var v=e.startSize.getValue(r),x=e.sizeAspect.getValue(r);y.x=v,y.y=0===x?0:v/x}var g=u.clone();if(g.multiply(n),!e.particleFollowParent){var T=new H;this.transform.assignWorldTRS(void 0,void 0,T),y.x*=T.x,y.y*=T.y}return s.setScale(y.x,y.y,1),{size:y,vel:g,color:m,delay:e.startDelay.getValue(r),lifetime:e.startLifetime.getValue(r),uv:ia(this.uvs,!0),gravity:e.gravity,sprite:l,dirY:f,dirX:h,transform:s}},r.prototype.addBurst=function(t,e){var r=!1;if(this.emission.bursts.includes(t)||(this.emission.bursts.push(t),r=!0),r&&e instanceof Array){var i=this.emission.bursts.indexOf(t);return this.emission.burstOffsets[i]=e,i}return-1},r.prototype.removeBurst=function(t){t<this.emission.bursts.length&&(this.emission.burstOffsets[t]=null,this.emission.bursts.splice(t,1))},r.prototype.createPoint=function(t){var e={total:this.emission.rateOverTime.getValue(t),index:this.generatedCount,burstIndex:0,burstCount:0};return this.generatedCount++,this.initPoint(this.shape.generate(e))},r.prototype.stopParticleEmission=function(){this.emissionStopped=!0},r.prototype.resumeParticleEmission=function(){this.emissionStopped=!1},r.prototype.getBoundingBox=function(){var e=this.getParticleBoxes();return{type:t.HitTestType.sphere,area:e}},r.prototype.fromData=function(t){var r,i,n,o,a,s;e.prototype.fromData.call(this,t);var u=t;this.props=u,this.destoryed=!1;var c,l=u.options,h=u.positionOverLifetime,f=u.shape,p=h.gravityOverLifetime,d=si(h.gravity),m=u.textureSheetAnimation,y=m?{animationDelay:Ai(m.animationDelay||0),animationDuration:Ai(m.animationDuration||1),cycles:Ai(m.cycles||1),animate:m.animate,col:m.col,row:m.row,total:m.total||m.col*m.row}:void 0,v=!!(f&&f.turbulenceX||f.turbulenceY||f.turbulenceZ);v&&(c=[Ai(null!==(r=f.turbulenceX)&&void 0!==r?r:0),Ai(null!==(i=f.turbulenceY)&&void 0!==i?i:0),Ai(null!==(n=f.turbulenceZ)&&void 0!==n?n:0)]),this.name="ParticleSystem",this.shape=co(f),this.emission={rateOverTime:Ai(u.emission.rateOverTime),burstOffsets:ra(null!==(o=u.emission.burstOffsets)&&void 0!==o?o:[]),bursts:(u.emission.bursts||[]).map((function(t){return new Go(t)}))},this.textureSheetAnimation=y;var x,g=u.renderer||{},T={},E=u.rotationOverLifetime;E&&(T.asRotation=!!E.asRotation,T.z=E.z?Ai(E.z):Ai(0),E.separateAxes&&(T.x=E.x&&Ai(E.x),T.y=E.y&&Ai(E.y))),h.forceTarget&&(x={target:h.target||[0,0,0],curve:Ai(h.forceCurve||[Pt.LINE,[[0,0],[1,1]]])});var b={x:h.linearX&&Ai(h.linearX||0),y:h.linearY&&Ai(h.linearY||0),z:h.linearZ&&Ai(h.linearZ||0),asMovement:h.asMovement},C={x:h.orbitalX&&Ai(h.orbitalX),y:h.orbitalY&&Ai(h.orbitalY),z:h.orbitalZ&&Ai(h.orbitalZ),center:h.orbCenter,asRotation:h.asRotation},_=u.sizeOverLifetime||{},S=u.colorOverLifetime,O=(null==_?void 0:_.separateAxes)?{separateAxes:!0,x:Ai(_.x),y:Ai(_.y)}:{separateAxes:!1,x:Ai(("size"in _?_.size:_.x)||1)};g.anchor=g.anchor||[0,0];var w=j.fromArray(g.anchor);this.options={particleFollowParent:!!l.particleFollowParent,startLifetime:Ai(l.startLifetime),startDelay:Ai(l.startDelay||0),startSpeed:Ai(h.startSpeed||0),startColor:Ai(l.startColor),looping:!1,maxCount:null!==(a=l.maxCount)&&void 0!==a?a:0,gravityModifier:Ai(p||0),gravity:d,start3DSize:!!l.start3DSize,startTurbulence:v,turbulence:c,speedOverLifetime:h.speedOverLifetime&&Ai(h.speedOverLifetime),linearVelOverLifetime:b,orbitalVelOverLifetime:C,forceTarget:x},l.startRotationZ&&(this.options.startRotation=Ai(l.startRotationZ||0)),(l.startRotationX||l.startRotationY)&&(this.options.start3DRotation=!0,this.options.startRotationX=Ai(l.startRotationX||0),this.options.startRotationY=Ai(l.startRotationY||0),this.options.startRotationZ=Ai(l.startRotationZ||0)),l.start3DSize?(this.options.startSizeX=Ai(l.startSizeX),this.options.startSizeY=Ai(l.startSizeY)):(this.options.startSize=Ai(l.startSize),this.options.sizeAspect=Ai(l.sizeAspect||1));var A={meshSlots:l.meshSlots,name:this.name,matrix:q.IDENTITY,filter:u.filter,shaderCachePrefix:"",renderMode:g.renderMode||Rt.BILLBOARD,side:g.side||bt.DOUBLE,gravity:d,blending:g.blending||Et.ALPHA,rotationOverLifetime:T,gravityModifier:this.options.gravityModifier,linearVelOverLifetime:this.options.linearVelOverLifetime,orbitalVelOverLifetime:this.options.orbitalVelOverLifetime,speedOverLifetime:this.options.speedOverLifetime,sprite:y,occlusion:!!g.occlusion,transparentOcclusion:!!g.transparentOcclusion,maxCount:l.maxCount,mask:g.mask,maskMode:null!==(s=g.maskMode)&&void 0!==s?s:Ct.NONE,forceTarget:x,diffuse:g.texture,sizeOverLifetime:O,anchor:w};if(S){var R=S.color,L=S.opacity;A.colorOverLifetime={},L&&(A.colorOverLifetime.opacity=Ai(S.opacity)),R&&(R[0]===Pt.GRADIENT_COLOR?A.colorOverLifetime.color=S.color[1]:R[0]===Pt.RGBA_COLOR?A.colorOverLifetime.color=Ae.createWithData(this.engine,{data:new Uint8Array(R[1]),width:1,height:1}):R instanceof Ae&&(A.colorOverLifetime.color=R))}var I,M=[],P=[0,0,1,1];if(u.splits){var V=u.splits[0];P=(I=V[4])?[V[0],V[1],V[3],V[2]]:[V[0],V[1],V[2],V[3]]}if(y&&!y.animate)for(var F=I?y.row:y.col,N=I?y.col:y.row,D=y.total||F*N,z=0,U=0;U<F;U++)for(var k=0;k<N&&z<D;k++,z++)M.push([U*P[2]/F+P[0],k*P[3]/N+P[1],P[2]/F,P[3]/N]);else M.push(P);this.uvs=M,A.textureFlip=I;var B,G=u.trails;G&&(this.trails={lifetime:Ai(G.lifetime),dieWithParticles:!1!==G.dieWithParticles,sizeAffectsWidth:!!G.sizeAffectsWidth,sizeAffectsLifetime:!!G.sizeAffectsLifetime,inheritParticleColor:!!G.inheritParticleColor,parentAffectsPosition:!!G.parentAffectsPosition},B={name:"Trail",matrix:q.IDENTITY,minimumVertexDistance:G.minimumVertexDistance||.02,maxTrailCount:l.maxCount,pointCountPerTrail:Math.round(G.maxPointPerTrail)||32,blending:G.blending,texture:G.texture,opacityOverLifetime:Ai(G.opacityOverLifetime||1),widthOverTrail:Ai(G.widthOverTrail||1),shaderCachePrefix:"",lifetime:this.trails.lifetime,occlusion:!!G.occlusion,transparentOcclusion:!!G.transparentOcclusion,textureMap:G.textureMap,mask:g.mask,maskMode:g.maskMode},G.colorOverLifetime&&G.colorOverLifetime[0]===Pt.GRADIENT_COLOR&&(B.colorOverLifetime=G.colorOverLifetime[1]),G.colorOverTrail&&G.colorOverTrail[0]===Pt.GRADIENT_COLOR&&(B.colorOverTrail=G.colorOverTrail[1])),this.renderer=new Ho(this.engine,A,B),this.meshes=this.renderer.meshes;var X=u.interaction;X&&(this.interaction={multiple:X.multiple,radius:X.radius,behavior:X.behavior}),this.item.getHitTestParams=this.getHitTestParams,this.item._content=this,this.renderer.item=this.item,this.item.components.push(this.renderer),this.item.rendererComponents.push(this.renderer),this.item.getComponent(Sn).createTrack(mn).createClip(oa)},r=s([ne(t.DataType.ParticleSystem)],r)}(or),Wo=new H,Zo=new j,qo=new Q,Qo=new H,Ko=new H,Jo=new H,$o=new Q,ta=[0,0,0],ea=new q;function ra(t){var e={};return Array.isArray(t)&&t.forEach((function(t){var r=t instanceof Array,i=r?t[0]:t.index,n=e[i];n||(n=e[i]=[]),r?n.push(t.slice(1,4)):n.push([+t.x,+t.y,+t.z])})),e}function ia(t,e){var r=Math.floor(Math.random()*t.length),i=t[r];return e||t.splice(r,1),i}var na,oa=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.prototype.onPlayablePlay=function(){this.particleSystem=this.bindingItem.getComponent(Yo),this.particleSystem&&(this.particleSystem.name=this.bindingItem.name,this.particleSystem.start(),this.particleSystem.initEmitterTransform())},e.prototype.processFrame=function(t){var e=this.particleSystem;e&&(this.bindingItem.parent,e.setVisible(!0),e.onUpdate(t))},e}(fn),aa=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e}(ti),sa=function(){function t(t){this.width=0,this.height=0;var e=t.textHeight,r=void 0===e?100:e,i=t.textWidth,n=void 0===i?100:i,o=t.textOverflow,a=void 0===o?Ht.display:o,s=t.textBaseline,u=void 0===s?Yt.top:s,c=t.textAlign,l=void 0===c?Wt.left:c,h=t.text,f=t.letterSpace,p=void 0===f?0:f,d=t.autoWidth,m=void 0!==d&&d,y=t.fontSize,v=t.lineHeight,x=void 0===v?y:v,g=y+p;this.autoWidth=m,this.maxTextWidth=h.length*g,this.width=n,this.height=r,this.letterSpace=p,this.overFlow=a,this.textBaseline=u,this.textAlign=l,this.lineHeight=x}return t.prototype.getOffsetY=function(t){var e=0,r=(t.fontSize+t.outlineWidth)*t.fontScale;switch(this.textBaseline){case 0:e=r;break;case 1:e=(this.height+r)/2;break;case 2:e=this.height-r/2}return e},t.prototype.getOffsetX=function(t,e){var r=0;switch(this.textAlign){case 0:r=t.outlineWidth*t.fontScale;break;case 1:r=(this.width*t.fontScale-e)/2;break;case 2:r=this.width*t.fontScale-e}return r},t.prototype.setSize=function(t,e){this.width=t,this.height=e},t}(),ua=function(t){var e,r,i,n,o,a;this.isUnderline=!1,this.underlineHeight=1,this.isOutlined=!1,this.outlineWidth=0,this.hasShadow=!1,this.fontDesc="",this.fontScale=2,this.fontOffset=0;var s=t.textColor,u=void 0===s?[1,1,1,1]:s,c=t.fontSize,l=void 0===c?40:c,h=t.outline,f=t.shadow,p=t.fontWeight,d=void 0===p?"normal":p,m=t.fontStyle,y=void 0===m?"normal":m,v=t.fontFamily,x=void 0===v?"sans-serif":v;this.textColor=u,this.textWeight=d,this.fontStyle=y,this.fontFamily=x,this.fontSize=l,h&&(this.isOutlined=!0,this.outlineColor=null!==(e=h.outlineColor)&&void 0!==e?e:[1,1,1,1],this.outlineWidth=null!==(r=h.outlineWidth)&&void 0!==r?r:1,this.fontOffset+=this.outlineWidth),f&&(this.hasShadow=!0,this.shadowBlur=null!==(i=f.shadowBlur)&&void 0!==i?i:2,this.shadowColor=null!==(n=f.shadowColor)&&void 0!==n?n:[0,0,0,1],this.shadowOffsetX=null!==(o=f.shadowOffsetX)&&void 0!==o?o:0,this.shadowOffsetY=null!==(a=f.shadowOffsetY)&&void 0!==a?a:0),this.fontStyle!==qt.normal&&(this.fontOffset+=this.fontSize*Math.tan(.20943951))},ca=function(){function t(){}return t.measureFont=function(e){if(t._fonts[e])return t._fonts[e];var r={ascent:0,descent:0,fontSize:0},i=t._canvas,n=i.getContext("2d",{willReadFrequently:!0});n.font=e;var o=t.METRICS_STRING+t.BASELINE_SYMBOL,a=Math.ceil(n.measureText(o).width),s=Math.ceil(n.measureText(t.BASELINE_SYMBOL).width),u=Math.ceil(t.HEIGHT_MULTIPLIER*s);s=s*t.BASELINE_MULTIPLIER|0,i.width=a,i.height=u,n.fillStyle="#f00",n.fillRect(0,0,a,u),n.font=e,n.textBaseline="alphabetic",n.fillStyle="#000",n.fillText(o,0,s);var c=n.getImageData(0,0,a,u).data,l=c.length,h=4*a,f=0,p=0,d=!1;for(f=0;f<s;++f){for(var m=0;m<h;m+=4)if(255!==c[p+m]){d=!0;break}if(d)break;p+=h}for(r.ascent=s-f,p=l-h,d=!1,f=u;f>s;--f){for(m=0;m<h;m+=4)if(255!==c[p+m]){d=!0;break}if(d)break;p-=h}return r.descent=f-s,r.fontSize=r.ascent+r.descent,t._fonts[e]=r,r},Object.defineProperty(t,"_canvas",{get:function(){var e;return Vn(Mn)?(e=window._createOffscreenCanvas(10,10),t.__canvas=e):t.__canvas||((e=document.createElement("canvas")).width=e.height=10,t.__canvas=e),t.__canvas},enumerable:!1,configurable:!0}),t._fonts={},t.METRICS_STRING="|ÉqÅ",t.BASELINE_SYMBOL="M",t.BASELINE_MULTIPLIER=1.4,t.HEIGHT_MULTIPLIER=2,t}(),la=["serif","sans-serif","monospace","cursive","fantasy","system-ui"];t.QTextWrapMode=void 0,(na=t.QTextWrapMode||(t.QTextWrapMode={}))[na.Default=0]="Default",na[na.Clip=1]="Clip",na[na.Ellipsis=2]="Ellipsis";var ha=function(){function e(e,r){var i,n,o,a,s,u,c,l,h,f;this.left=0,this.top=0,this.fontSize=48,this.fontFamily="Arial",this.color="black",this.letterSpacing=0,this.maxLineWidth=0,this.wrap=t.QTextWrapMode.Clip,this.scaleX=1,this.scaleY=1,this.angle=0,this.active=!0,this.padding=0,this.borderColor="#ffffffff",this.borderWidth=1,this.fontProperties={ascent:0,descent:0,fontSize:0},this.fontVariant="normal",this.originX="left",this.originY="top",this.ellipsis="…",this.text=e,this.left=null!==(i=r.left)&&void 0!==i?i:0,this.top=null!==(n=r.top)&&void 0!==n?n:0,this.maxLineWidth=null!==(o=r.maxWidth)&&void 0!==o?o:0,this.letterSpacing=null!==(a=r.letterSpacing)&&void 0!==a?a:0,this.originX="left",this.originY="top",this.color=null!==(s=r.color)&&void 0!==s?s:"black",this.fontFamily=null!==(u=r.fontFamily)&&void 0!==u?u:"Arial",this.fontSize=null!==(c=r.fontSize)&&void 0!==c?c:48,this.wrap=null!==(l=r.wrap)&&void 0!==l?l:t.QTextWrapMode.Clip,this.fontStyle=null!==(h=r.fontStyle)&&void 0!==h?h:"normal",this.textAlign="left",this.textBaseline="alphabetic",this.fontWeight="normal",this.angle=null!==(f=r.angle)&&void 0!==f?f:0,this.name=r.name||""}return e.prototype.update=function(){this.updateDimension()},e.prototype.render=function(){if(void 0!==this.viewer){var t=this.viewer.renderContext;void 0!==t&&(t.save(),this.setRenderTransform(t),this.renderText(t),this.active&&this.drawBorders(t),t.restore())}},e.prototype.init=function(t){this.viewer=t,this.updateDimension()},e.prototype.getLayout=function(){var t=this.viewer.scaleX,e=this.viewer.scaleY;return{x:this.left*t,y:this.top*e,width:this.width*t,height:this.height*e}},e.prototype.updateDimension=function(){var t=this.viewer.renderContext;this.configTextStyle(t),this.configTextLayout(t);var e=this.getFontDesc();this.fontProperties=ca.measureFont(e),0===this.fontProperties.fontSize&&(this.fontProperties.fontSize=this.fontSize,this.fontProperties.ascent=this.fontSize);var r=this.createCharsFromText(t,this.text),i=0;if(r.length>0){var n=r[r.length-1];i=n.left+n.width}this.chars=r,this.maxLineWidth=i,void 0===this.height&&(this.height=this.fontProperties.fontSize),void 0===this.width&&(this.width=this.maxLineWidth)},e.prototype.configTextStyle=function(t){t.font=this.getFontDesc(),t.fillStyle=this.color},e.prototype.getFontDesc=function(){for(var t="number"==typeof this.fontSize?"".concat(this.fontSize,"px"):this.fontSize,e=this.fontFamily.split(","),r=e.length-1;r>=0;r--){var i=e[r].trim();/([\"\'])[^\'\"]+\1/.test(i)||la.includes(i)||(i='"'.concat(i,'"')),e[r]=i}return e.push("Arial, Helvetica, sans-serif"),"".concat(this.fontStyle," ").concat(this.fontVariant," ").concat(this.fontWeight," ").concat(t," ").concat(e.join(","))},e.prototype.configTextLayout=function(t){t.textBaseline=this.textBaseline,t.textAlign=this.textAlign},e.prototype.setRenderTransform=function(t){t.scale(this.scaleX,this.scaleY),t.translate(this.left,this.top)},e.prototype.renderText=function(t){this.drawCharsInTextBox(t,{min:[0,0],max:[0+this.width,0+this.height]})},e.prototype.drawCharsInTextBox=function(e,r){var i=this.chars,n=0;if(i.length>0){var o=i[i.length-1];n=o.left+o.width}var a=r.max[0]-r.min[0],s=0;"left"===this.textAlign?s=0:"center"===this.textAlign?s=.5*(a-n):"right"===this.textAlign&&(s=a-n),this.addOffsetToChars(i,s);var u=this.cloneChars(this.clipCharsWithTextBox(i,r)),c=u;this.wrap===t.QTextWrapMode.Ellipsis&&0===(c=this.replaceCharWithEllipsis(e,u,r)).length&&0!==i.length&&this.addEllipsisToChars(e,c,r),this.drawCharsFromLeft(e,c)},e.prototype.addEllipsisToChars=function(t,e,r){var i,n,o,a=t.measureText(this.ellipsis).width;if("left"===this.textAlign)e.push({char:this.ellipsis,left:r.min[0],top:0,width:a,heigh:null!==(i=this.height)&&void 0!==i?i:0,font:this.fontFamily,fontSize:this.fontSize,isEllipsis:!0,scale:1,index:0});else if("right"===this.textAlign)e.push({char:this.ellipsis,left:r.max[0]-a,top:0,width:a,heigh:null!==(n=this.height)&&void 0!==n?n:0,font:this.fontFamily,fontSize:this.fontSize,isEllipsis:!0,scale:1,index:0});else{var s=.5*(r.max[0]+r.min[0]);e.push({char:this.ellipsis,left:s-.5*a,top:0,width:a,heigh:null!==(o=this.height)&&void 0!==o?o:0,font:this.fontFamily,fontSize:this.fontSize,isEllipsis:!0,scale:1,index:0})}},e.prototype.createCharsFromText=function(t,e){var r=e.split(""),i=0,n=0;"top"===this.textBaseline?n=0:"middle"===this.textBaseline?n+=.5*this.fontProperties.ascent:"alphabetic"===this.textBaseline&&(n+=this.fontProperties.ascent);for(var o=[],a=0;a<r.length;++a){var s=r[a],u=Math.floor(t.measureText(s).width),c={left:i,top:n,width:u,heigh:this.fontSize,char:s,font:this.fontFamily,fontSize:this.fontSize,isEllipsis:!1,scale:1,index:a};o.push(c),i+=u+this.letterSpacing}return o},e.prototype.addOffsetToChars=function(t,e){return t.forEach((function(t){t.left+=e})),t},e.prototype.clipCharsWithTextBox=function(t,e){for(var r=[],i=0;i<t.length;++i){var n=t[i];n.left>=e.min[0]&&n.left+n.width<e.max[0]+.5&&r.push(n)}return r},e.prototype.cloneChars=function(t){return t.map((function(t){return a({},t)}))},e.prototype.replaceCharWithEllipsis=function(t,e,r){var i=t.measureText(this.ellipsis).width;if(e.length>0){if(0!==e[0].index)(n=a({},e[0])).char=this.ellipsis,n.isEllipsis=!0,n.width=i,e=this.findEllipsisPositionAndReplaceCharsFromLeft(e,n,r);var n,o=e.length-1,s=this.chars.length;if(e[o].index!==s-1)(n=a({},e[0])).char=this.ellipsis,n.isEllipsis=!0,n.width=i,e=this.findEllipsisPositionAndReplaceCharsFromRight(e,n,r)}return e},e.prototype.findEllipsisPositionAndReplaceCharsFromLeft=function(t,e,r){for(var i=0,n=0;n<t.length;++n){var o=t[n];if(i=n,o.left+o.width-e.width>=r.min[0])break}var a=t[i];e.left=a.left+a.width-e.width;for(n=0;n<i+1;++n)t.shift();return[e].concat(t)},e.prototype.findEllipsisPositionAndReplaceCharsFromRight=function(t,e,r){for(var i=t.length-1,n=i;n>=0;--n){if(i=n,t[n].left+e.width<=r.max[0])break}e.left=t[i].left;for(n=t.length-1;n>=i;--n)t.pop();return t.concat([e])},e.prototype.drawCharsFromLeft=function(t,e){var r=t.textAlign||"left";t.textAlign="left";for(var i=0;i<e.length;++i){var n=e[i];t.fillText(n.char,n.left,n.top)}t.textAlign=r},e.prototype.drawBorders=function(t){this.padding;var e=this.borderWidth;t.strokeStyle=this.borderColor,t.lineWidth=e;var r=this.width,i=this.height,n=0,o=0;"center"===this.originX?n-=this.width/2:"right"===this.originX&&(n-=this.width),"center"===this.originY?o-=this.height/2:"bottom"===this.originY&&(o-=this.height),t.strokeRect(n+e/2,o+e/2,r-e,i-e)},e}(),fa=function(){function t(t,e,r,i,n,o){var a;this.textList=[],a="string"==typeof t?document.getElementById(t):t,this.scaleX=null!=i?i:1,this.scaleY=null!=n?n:1,this.flipY=null!=o&&o,this.width=e,this.height=r,a.style.width="".concat(e*this.scaleX,"px"),a.style.height="".concat(r*this.scaleY,"px");this.devicePixelRatio=1,a.width=1*e*this.scaleX,a.height=1*r*this.scaleY,a.className="lower-canvas",this.renderCanvas=a,this.renderContext=this.renderCanvas.getContext("2d"),this.renderContext.scale(1*this.scaleX,1*this.scaleY)}return t.prototype.initDimension=function(t,e,r,i){this.width=t,this.height=e,this.scaleX=null!=r?r:1,this.scaleY=null!=i?i:1,this.renderCanvas.style.width="".concat(t*this.scaleX,"px"),this.renderCanvas.style.height="".concat(e*this.scaleY,"px");var n=this.devicePixelRatio;this.renderCanvas.width=n*t*this.scaleX,this.renderCanvas.height=n*e*this.scaleY,this.flipY&&(this.renderContext.translate(0,this.height),this.renderContext.scale(1,-1)),this.renderContext.scale(n*this.scaleX,n*this.scaleY)},t.prototype.clearText=function(){this.textList=[]},t.prototype.clearCanvasWithContext=function(t){t.clearRect(0,0,this.width,this.height)},t.prototype.clearCanvas=function(){this.clearCanvasWithContext(this.renderContext)},t.prototype.addObject=function(t){t.init(this),this.textList.push(t)},t.prototype.render=function(){this.clearCanvasWithContext(this.renderContext),this.renderContext.fillStyle="rgba(255, 255, 255, 0.0039)",this.renderContext.fillRect(0,0,this.width,this.height);var t=this.background;t&&void 0!==t.width&&void 0!==t.height&&this.renderContext.drawImage(t,0,0,t.width,t.height,0,0,this.width,this.height);for(var e=0;e<this.textList.length;++e){this.renderContext.save();var r=this.textList[e];r.update(),r.render(),this.renderContext.restore()}},t}();function pa(t,e){return e=e||{},new Promise((function(r,i){var n=new XMLHttpRequest;n.responseType=(null==e?void 0:e.responseType)||"json",n.addEventListener("load",(function(){return r(n.response)})),n.addEventListener("error",(function(){return i(Error("load ".concat(t," fail")))})),n.open((null==e?void 0:e.method)||"get",t),n.send(null==e?void 0:e.data)}))}function da(t,e,r,i,n){return u(this,void 0,void 0,(function(){var o,a,s,u,l,h,f,p,d,m;return c(this,(function(c){switch(c.label){case 0:return o={},a=[],i=i||{},r=r||{},e.asImage?(s=e.content.replace(/\$/g,""),u=r[s]||e.variables[s],l=function(t){var r=(null==i?void 0:i.canvas)||document.createElement("canvas"),o=r.width=e.backgroundWidth,a=r.height=e.backgroundHeight,s=r.getContext("2d");return null==s||s.clearRect(0,0,o,a),n&&(null==s||s.translate(0,a),null==s||s.scale(1,-1)),null==s||s.drawImage(t,0,0,t.width,t.height,0,0,o,a),r},u?[2,Ee(u).then(l)]:[2,ma(t).then(l)]):(h=i.templateScale||1,Object.keys(e.variables).forEach((function(t){var i=e.variables[t];if(r.hasOwnProperty(t)&&(i=r[t]),/^image_/.test(t)){var n=i instanceof Array,s=n?i[0]:i;a.push(function(t,e){return r(t,(function(i){return e?r(e,(function(){return t})):t}));function r(t,e){return/^(https?:)?\/\//.test(t)?pa(t,{responseType:"blob"}).then(ya,e):Promise.resolve(t)}}(s,n&&i[1]).then((function(e){return o[t]=e})))}else o[t]=i})),[4,Promise.all(a)]);case 1:return c.sent(),[4,Ee(t)];case 2:return f=c.sent(),p=e.content.replace(/\$([\w_]+)\$/g,(function(t,e){return o[e]})).replace('width="'.concat(e.width,'px"'),'width="'.concat(e.width*h,'px"')).replace('height="'.concat(e.height,'px"'),'height="'.concat(e.height*h,'px"')),[4,Ee("data:image/svg+xml,".concat(encodeURIComponent(p)))];case 3:return d=c.sent(),(m=(null==i?void 0:i.canvas)||document.createElement("canvas")).width=f.width*h,m.height=f.height*h,[2,new Promise((function(t,r){var i=m.getContext("2d");i.clearRect(0,0,m.width,m.height),n&&(i.translate(0,m.height),i.scale(1,-1)),i.drawImage(f,0,0,f.width,f.height,0,0,m.width,m.height),i.drawImage(d,0,0,d.width,d.height,(e.x||0)*h,(e.y||0)*h,e.width*h/e.backgroundWidth*f.width,e.height*h/e.backgroundHeight*f.height),t(m)}))]}}))}))}function ma(t){return ft(t)?Ee(t):Promise.resolve(t)}function ya(t){return new Promise((function(e,r){var i=new FileReader;i.readAsDataURL(t),i.onload=function(){e(i.result)},i.onerror=r}))}var va=["serif","sans-serif","monospace","courier"],xa=800,ga=600,Ta=new Map,Ea=new(function(){function t(){this.elements=[]}return t.prototype.dispose=function(){this.elements.forEach((function(t){return t.remove()})),this.elements=[]},t.prototype.getCanvas=function(){if(this.elements.length)return this.elements.shift();if(Vn(Mn))return window._createOffscreenCanvas(10,10);var t=document.createElement("canvas");return t.getContext("2d",{willReadFrequently:!0}),t},t.prototype.saveCanvas=function(t){t.width=t.height=1,this.elements.length<3?T(this.elements,t):t.remove()},t}());function ba(t,e){var r,i,n;if(null===(r=null==t?void 0:t.background)||void 0===r?void 0:r.name){var o=t.background.name;e&&e[o]?n=e[o]:(null===(i=t.background)||void 0===i?void 0:i.url)&&(n=t.background.url)}return n}function Ca(e,r,i,n,o){var s;return u(this,void 0,void 0,(function(){var u,l,h,f,p,d,m,y,v,x,g;return c(this,(function(c){switch(c.label){case 0:if(!r)throw Error("image not provided");return u=(null==o?void 0:o.templateScale)||1,l=u,h=u,f=r,p=r.width,d=r.height,i?(p=i.width,d=i.height,r.width===p&&r.height===d||(l*=r.width/i.width,h*=r.height/i.height),(m=ba(i,n))&&m!==r.src?ft(m)?[4,Ee(m)]:[3,2]:[3,4]):[3,5];case 1:return y=c.sent(),[3,3];case 2:y=m,c.label=3;case 3:f=y,c.label=4;case 4:(v=i.content)&&(x=function(e,r,i){var n=e.fonts,o=[];return e.texts.forEach((function(a){var s,u=a.t,c=a.x,l=a.y,h={weight:400,family:"serif",size:48,style:qt.normal};void 0!==a.f&&(h=n[a.f]);var f=a.n;f&&r&&r.hasOwnProperty(f)&&(u="".concat(r[f]));var p=new ha(u,{left:c,top:l,fontSize:h.size,fontFamily:h.family,fontWeight:"".concat(h.weight),fontStyle:"normal",name:f});if(void 0!==a.r&&(p.angle=a.r*Math.PI/180),p.active=null!==(s=null==i?void 0:i.debug)&&void 0!==s&&s,void 0!==a.w&&(p.width=a.w),void 0!==h.letterSpace&&(p.letterSpacing=h.letterSpace),a.of===Ht.display?p.wrap=t.QTextWrapMode.Default:a.of===Ht.clip?p.wrap=t.QTextWrapMode.Clip:a.of===Ht.ellipsis&&(p.wrap=t.QTextWrapMode.Ellipsis),void 0!==a.c){var d=e.colors[a.c][1],m=1;void 0!==d[3]&&(m=d[3]/255),p.color="rgba(".concat(d[0],", ").concat(d[1],", ").concat(d[2],", ").concat(m,")")}a.a===Wt.left?p.textAlign="left":a.a===Wt.middle?p.textAlign="center":a.a===Wt.right&&(p.textAlign="right"),h.style===qt.normal?p.fontStyle="normal":h.style===qt.italic?p.fontStyle="italic":h.style===qt.oblique&&(p.fontStyle="oblique"),void 0!==h.weight&&(p.fontWeight=String(h.weight)),(null==i?void 0:i.borderColor)&&(p.borderColor=i.borderColor),void 0!==(null==i?void 0:i.borderWidth)&&(p.borderWidth=i.borderWidth),o.push(p)})),o}(v,n,a(a({},o),{scaleX:l,scaleY:h})),x.forEach((function(t){e.addObject(t)}))),c.label=5;case 5:return e.flipY=null!==(s=null==o?void 0:o.flipY)&&void 0!==s&&s,e.initDimension(p,d,l,h),e.background=f,e.render(),(g=null==o?void 0:o.textLayouts)&&(g.length=0,e.textList.forEach((function(t){var e=t.getLayout(),r={x:e.x,y:e.y,width:e.width,height:e.height};g.push(r)}))),[2]}}))}))}function _a(t){return u(this,void 0,void 0,(function(){var e,r,i;return c(this,(function(n){switch(n.label){case 0:if(!t.content||!t.content.fonts)return[3,4];e=t.content.fonts,r=function(t){var r,i,n,o,a;return c(this,(function(s){switch(s.label){case 0:return r=e[t].family,i=e[t].url,n=!1,va.includes(r)?n=!0:void 0!==document.fonts&&document.fonts.forEach((function(t){t.family===r&&(n=!0)})),n||void 0===i||""===i?[3,2]:(o="url(".concat(i,")"),void 0===document.fonts?[3,2]:[4,(a=new FontFace("".concat(r),o)).load()]);case 1:s.sent(),document.fonts.add(a),s.label=2;case 2:return[2]}}))},i=0,n.label=1;case 1:return i<e.length?[5,r(i)]:[3,4];case 2:n.sent(),n.label=3;case 3:return++i,[3,1];case 4:return[2]}}))}))}function Sa(t,e,r,i,n){return u(this,void 0,void 0,(function(){var o,s,u;return c(this,(function(c){switch(c.label){case 0:return o=a(a({},i),{flipY:n}),s=function(t,e,r){var i,n=(null==r?void 0:r.templateScale)||1,o=(null==r?void 0:r.flipY)||!1;if(null==r?void 0:r.canvas){if(!(i=Ta.get(r.canvas))){var a=new fa(r.canvas,t,e,n,n,o);Ta.set(r.canvas,a),i=a}}else{var s=Ea.getCanvas();i=new fa(s,xa,ga,n,n,o)}return i}(xa,xa,o),void 0===e?[3,2]:[4,_a(e)];case 1:c.sent(),c.label=2;case 2:return s.clearText(),"string"!=typeof t?[3,5]:[4,Ee(t)];case 3:return u=c.sent(),[4,Ca(s,u,e,r,o)];case 4:return c.sent(),[2,s.renderCanvas];case 5:return[4,Ca(s,t,e,r,o)];case 6:return c.sent(),[2,s.renderCanvas]}}))}))}function Oa(t,e,r,i,n){return u(this,void 0,void 0,(function(){return c(this,(function(o){return 2===e.v?[2,Sa(t,e,r,{templateScale:null==i?void 0:i.templateScale,toData:!0},n)]:[2,da(t,e,r,i,n)]}))}))}var wa=function(e){function r(t,r){var i=e.call(this,t,r)||this;if(i.isDirty=!0,i.canvas=Ea.getCanvas(),Ea.saveCanvas(i.canvas),i.context=i.canvas.getContext("2d",{willReadFrequently:!0}),!r)return i;var n=r.options;return i.textStyle=new ua(n),i.textLayout=new sa(n),i.text=n.text,i.updateTexture(),i}return o(r,e),r.prototype.setFontSize=function(t){if(this.textStyle.fontSize!==t){var e=this.textStyle.fontSize-t;this.textLayout.lineHeight+=e,this.textStyle.fontSize=t,this.isDirty=!0}},r.prototype.setFontWeight=function(t){this.textStyle.textWeight!==t&&(this.textStyle.textWeight=t,this.isDirty=!0)},r.prototype.setFontStyle=function(t){this.textStyle.fontStyle!==t&&(this.textStyle.fontStyle=t,this.isDirty=!0)},r.prototype.setText=function(t){this.text!==t&&(this.text=t,this.isDirty=!0)},r.prototype.setTextAlign=function(t){this.textLayout.textAlign!==t&&(this.textLayout.textAlign=t,this.isDirty=!0)},r.prototype.setTextBaseline=function(t){this.textLayout.textBaseline!==t&&(this.textLayout.textBaseline=t,this.isDirty=!0)},r.prototype.setTextColor=function(t){this.textStyle.textColor!==t&&(this.textStyle.textColor=t,this.isDirty=!0)},r.prototype.setFontFamily=function(t){this.textStyle.fontFamily!==t&&(this.textStyle.fontFamily=t,this.isDirty=!0)},r.prototype.setOutlineColor=function(t){this.textStyle.outlineColor!==t&&(this.textStyle.outlineColor=t,this.isDirty=!0)},r.prototype.setOutlineWidth=function(t){this.textStyle.outlineWidth!==t&&(this.textStyle.outlineWidth=t,this.isDirty=!0)},r.prototype.setShadowBlur=function(t){this.textStyle.shadowBlur!==t&&(this.textStyle.shadowBlur=t,this.isDirty=!0)},r.prototype.setShadowColor=function(t){this.textStyle.shadowColor!==t&&(this.textStyle.shadowColor=t,this.isDirty=!0)},r.prototype.setShadowOffsetX=function(t){this.textStyle.shadowOffsetX!==t&&(this.textStyle.shadowOffsetX=t,this.isDirty=!0)},r.prototype.setShadowOffsetY=function(t){this.textStyle.shadowOffsetY!==t&&(this.textStyle.shadowOffsetY=t,this.isDirty=!0)},r.prototype.setFontScale=function(t){this.textStyle.fontScale!==t&&(this.textStyle.fontScale=t,this.isDirty=!0)},r.prototype.update=function(t){e.prototype.update.call(this,t),this.updateTexture()},r.prototype.updateTexture=function(){if(this.isDirty&&this.context&&this.canvas){var t=this.context,e=this.textStyle,r=this.textLayout,i=e.fontScale,n=(r.width+e.fontOffset)*i,o=r.height*i,a=e.fontSize*i,s=r.lineHeight*i;this.char=(this.text||"").split(""),this.canvas.width=n,this.canvas.height=o,t.clearRect(0,0,n,this.canvas.height),t.fillStyle="rgba(255, 255, 255, 0.0039)",t.fillRect(0,0,n,this.canvas.height),e.fontDesc=this.getFontDesc(),t.font=e.fontDesc,e.hasShadow&&this.setupShadow(),e.isOutlined&&this.setupOutline(),t.fillStyle="rgba(".concat(e.textColor[0],", ").concat(e.textColor[1],", ").concat(e.textColor[2],", ").concat(e.textColor[3],")");for(var u=[],c=(s-a)/3,l=0,h=r.getOffsetY(e)+c,f=[],p=[],d=0;d<this.char.length;d++){var m=this.char[d],y=t.measureText(m);((l+=r.letterSpace*i)+y.width>n&&d>0||"\n"===m)&&(u.push({y:h,width:l,chars:f,charOffsetX:p}),l=0,h+=s,f=[],p=[]),"\n"!==m&&(f.push(m),p.push(l),l+=y.width)}u.push({y:h,width:l,chars:f,charOffsetX:p}),u.forEach((function(i){var n=r.getOffsetX(e,i.width);i.chars.forEach((function(r,o){e.isOutlined&&t.strokeText(r,n+i.charOffsetX[o],i.y),t.fillText(r,n+i.charOffsetX[o],i.y)}))})),e.hasShadow&&(t.shadowColor="transparent");var v=t.getImageData(0,0,this.canvas.width,this.canvas.height);this.material.setTexture("uSampler0",Ae.createWithData(this.engine,{data:new Uint8Array(v.data),width:v.width,height:v.height},{flipY:!0,magFilter:se.LINEAR,minFilter:se.LINEAR,wrapS:se.CLAMP_TO_EDGE,wrapT:se.CLAMP_TO_EDGE})),this.isDirty=!1}},r.prototype.fromData=function(t){e.prototype.fromData.call(this,t);var r=t.options;this.textStyle=new ua(r),this.textLayout=new sa(r),this.text=r.text,this.updateTexture()},r.prototype.getFontDesc=function(){var t=this.textStyle,e="".concat((t.fontSize*t.fontScale).toString(),"px ");return va.includes(t.fontFamily)?e+=t.fontFamily:e+='"'.concat(t.fontFamily,'"'),t.textWeight!==Zt.normal&&(e="".concat(t.textWeight," ").concat(e)),t.fontStyle!==qt.normal&&(e="".concat(t.fontStyle," ").concat(e)),e},r.prototype.setupOutline=function(){var t=this.context,e=this.textStyle;t.strokeStyle="rgba(".concat(255*e.outlineColor[0],", ").concat(255*e.outlineColor[1],", ").concat(255*e.outlineColor[2],", ").concat(e.outlineColor[3],")"),t.lineWidth=2*e.outlineWidth},r.prototype.setupShadow=function(){var t=this.context,e=this.textStyle;t.shadowColor="rgba(".concat(255*e.shadowColor[0],", ").concat(255*e.shadowColor[1],", ").concat(255*e.shadowColor[2],", ").concat(e.shadowColor[3],")"),t.shadowBlur=e.shadowBlur,t.shadowOffsetX=e.shadowOffsetX,t.shadowOffsetY=-e.shadowOffsetY},r=s([ne(t.DataType.TextComponent)],r)}(Ln),Aa=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e}(ti),Ra=1,La=function(e){function r(t){var r=e.call(this,t)||this;return r.worldMatrix=q.fromIdentity(),r.triangles=[],r.destroyed=!1,r.visible=!1,r.getHitTestParams=function(t){var e=r.getBoundingBox();if(e)return{type:e.type,triangles:e.area}},r.id="Mesh"+Ra++,r.name="<unnamed>",r._priority=0,r}return o(r,e),Object.defineProperty(r.prototype,"isDestroyed",{get:function(){return this.destroyed},enumerable:!1,configurable:!0}),r.prototype.setVisible=function(t){this.visible=t},r.prototype.start=function(){this.item.getHitTestParams=this.getHitTestParams},r.prototype.render=function(t){var e=this.material,r=this.geometry;t.renderingData.currentFrame.globalUniforms&&t.setGlobalMatrix("effects_ObjectToWorld",this.transform.getWorldMatrix()),r.flush(),t.drawGeometry(r,e)},r.prototype.getVisible=function(){return this.visible},r.prototype.firstGeometry=function(){return this.geometry},r.prototype.setMaterial=function(e,r){r!==t.DestroyOptions.keep&&this.material.dispose(r),this.material=e},r.prototype.getBoundingBox=function(){var e,r,i=this.transform.getWorldMatrix();this.hitTestGeometry!==this.geometry&&(this.triangles=function(t){for(var e=t.getIndexData(),r=t.getAttributeData("aPos"),i=[],n=0;n<e.length;n+=3){var o=3*e[n],a=3*e[n+1],s=3*e[n+2],u={x:r[o],y:r[o+1],z:r[o+2]},c={x:r[a],y:r[a+1],z:r[a+2]},l={x:r[s],y:r[s+1],z:r[s+2]};i.push({p0:u,p1:c,p2:l})}return i}(this.geometry),this.hitTestGeometry=this.geometry);var n=[];try{for(var o=l(this.triangles),a=o.next();!a.done;a=o.next()){var s=a.value;n.push({p0:s.p0,p1:s.p1,p2:s.p2})}}catch(t){e={error:t}}finally{try{a&&!a.done&&(r=o.return)&&r.call(o)}finally{if(e)throw e.error}}return n.forEach((function(t){t.p0=i.transformPoint(t.p0,new H),t.p1=i.transformPoint(t.p1,new H),t.p2=i.transformPoint(t.p2,new H)})),{type:t.HitTestType.triangle,area:n}},r.prototype.fromData=function(t){e.prototype.fromData.call(this,t),this.material=this.materials[0]},r.prototype.toData=function(){this.taggedProperties.id=this.guid},r.prototype.dispose=function(t){this.destroyed||(this.destroyed=!0,e.prototype.dispose.call(this))},s([ie()],r.prototype,"geometry",void 0),r=s([ne(t.DataType.EffectComponent)],r)}(ur);var Ia,Ma=function(e){function r(t,r){var i=e.call(this,t)||this;return i.children=[],i.transform=new Ui,i.duration=0,i.start=0,i.ended=!1,i.delaying=!0,i.type=At.base,i.stopped=!1,i.components=[],i.itemBehaviours=[],i.rendererComponents=[],i.visible=!0,i._contentVisible=!1,i.speed=1,i.name="VFXItem",i.transform.name=i.name,i.transform.engine=t,i.addComponent(Sn),r&&i.fromData(r),i}var i;return o(r,e),i=r,r.isComposition=function(t){return t.type===At.composition},r.isSprite=function(t){return t.type===At.sprite},r.isParticle=function(t){return t.type===At.particle},r.isNull=function(t){return t.type===At.null},r.isTree=function(t){return t.type===At.tree},r.isCamera=function(t){return t.type===At.camera},r.isExtraCamera=function(t){return"extra-camera"===t.id&&"extra-camera"===t.name},Object.defineProperty(r.prototype,"content",{get:function(){return this._content},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"reusable",{get:function(){var t,e;return null!==(e=null===(t=this.composition)||void 0===t?void 0:t.reusable)&&void 0!==e&&e},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"lifetimeStarted",{get:function(){return!this.delaying},enumerable:!1,configurable:!0}),r.prototype.setSpeed=function(t){this.speed=t},r.prototype.getSpeed=function(){return this.speed},r.prototype.addComponent=function(t){var e=new t(this.engine);return e.item=this,this.components.push(e),e.onAttached(),e},r.prototype.getComponent=function(t){var e,r,i;try{for(var n=l(this.components),o=n.next();!o.done;o=n.next()){var a=o.value;if(a instanceof t){i=a;break}}}catch(t){e={error:t}}finally{try{o&&!o.done&&(r=n.return)&&r.call(n)}finally{if(e)throw e.error}}return i},r.prototype.getComponents=function(t){var e,r,i=[];try{for(var n=l(this.components),o=n.next();!o.done;o=n.next()){var a=o.value;a instanceof t&&i.push(a)}}catch(t){e={error:t}}finally{try{o&&!o.done&&(r=n.return)&&r.call(n)}finally{if(e)throw e.error}}return i},r.prototype.setParent=function(t){t!==this&&(this.parent&&E(this.parent.children,this),this.parent=t,t&&(i.isCamera(this)||(this.transform.parentTransform=t.transform),t.children.push(this),this.composition||(this.composition=t.composition)))},r.prototype.stop=function(){this.stopped=!0},r.prototype.onEnd=function(){},r.prototype.setColor=function(t,e,r,i){},r.prototype.setOpacity=function(t){},r.prototype.getVisible=function(){return this.visible},r.prototype.setVisible=function(t){this.visible!==t&&(this.visible=!!t)},r.prototype.getWorldTransform=function(t){var e=null!=t?t:new Ui({valid:!0});return e.cloneFromMatrix(this.transform.getWorldMatrix()),e},r.prototype.getNodeTransform=function(t){for(var e=0;e<this.components.length;e++){var r=this.components[1];if(r.getNodeTransform)return r.getNodeTransform(t)}return this.transform},r.prototype.translate=function(t,e,r){this.transform.translate(t,e,r)},r.prototype.rotate=function(t,e,r){var i=new Q(t,e,r),n=Y.fromEuler(i);n.conjugate(),this.transform.rotateByQuat(n)},r.prototype.scale=function(t,e,r){this.transform.scaleBy(t,e,r)},r.prototype.setPositionByPixel=function(t,e){if(this.composition){var r=this.transform.getWorldPosition().z,i=this.composition.camera.getInverseVPRatio(r),n=i.x,o=i.y,a=this.composition.renderer.getWidth()/2,s=this.composition.renderer.getHeight()/2;this.transform.setPosition(2*t*n/a,-2*e*o/s,r)}},r.prototype.setPosition=function(t,e,r){this.transform.setPosition(t,e,r)},r.prototype.setRotation=function(t,e,r){this.transform.setRotation(t,e,r)},r.prototype.setScale=function(t,e,r){this.transform.setScale(t,e,r)},r.prototype.getBoundingBox=function(){},r.prototype.getHitTestParams=function(t){},r.prototype.getCurrentPosition=function(){var t=new H;return this.transform.assignWorldTRS(t),t},r.prototype.isEnded=function(t){return t-this.duration>.001},r.prototype.find=function(t){var e,r,i,n;if(this.name===t)return this;try{for(var o=l(this.children),a=o.next();!a.done;a=o.next()){if((c=a.value).name===t)return c}}catch(t){e={error:t}}finally{try{a&&!a.done&&(r=o.return)&&r.call(o)}finally{if(e)throw e.error}}try{for(var s=l(this.children),u=s.next();!u.done;u=s.next()){var c,h=(c=u.value).find(t);if(h)return h}}catch(t){i={error:t}}finally{try{u&&!u.done&&(n=s.return)&&n.call(s)}finally{if(i)throw i.error}}},r.prototype.fromData=function(t){var r,i;e.prototype.fromData.call(this,t);var n=t.id,o=t.name,a=t.delay,s=t.parentId,u=t.endBehavior,c=t.transform,h=t.listIndex,f=void 0===h?0:h,p=t.duration,d=void 0===p?0:p;if(this.props=t,this.type=t.type,this.id=n.toString(),this.name=o,this.start=a||this.start,c&&(c.position=(new H).copyFrom(c.position),c.rotation=(new Q).copyFrom(c.rotation),c.scale=(new H).copyFrom(c.scale),c.size&&(c.size=(new j).copyFrom(c.size)),c.anchor&&(c.anchor=(new j).copyFrom(c.anchor)),this.transform.setTransform(c)),this.transform.name=this.name,this.transform.engine=this.engine,this.parentId=s,this.duration=d,this.endBehavior=u,this.lifetime=-this.start/this.duration,this.listIndex=f,this.oldId=t.oldId,t.content||(t.content={options:{}}),this.getComponent(Sn).fromData(t.content),d<=0)throw Error("Item duration can't be less than 0, see ".concat(Ji["Item duration can't be less than 0"]));if(t.components)try{for(var m=l(t.components),y=m.next();!y.done;y=m.next()){var v=y.value;this.components.push(v),v instanceof ur?this.rendererComponents.push(v):v instanceof sr&&this.itemBehaviours.push(v)}}catch(t){r={error:t}}finally{try{y&&!y.done&&(i=m.return)&&i.call(m)}finally{if(r)throw r.error}}},r.prototype.toData=function(){var e,r,i,n;if(this.taggedProperties.id=this.guid,this.taggedProperties.transform=this.transform.toData(),this.taggedProperties.dataType=t.DataType.VFXItemData,"rootItem"!==(null===(i=this.parent)||void 0===i?void 0:i.name)&&(this.taggedProperties.parentId=null===(n=this.parent)||void 0===n?void 0:n.guid),!this.taggedProperties.components){this.taggedProperties.components=[];try{for(var o=l(this.components),a=o.next();!a.done;a=o.next()){var s=a.value;s instanceof La&&this.taggedProperties.components.push(s)}}catch(t){e={error:t}}finally{try{a&&!a.done&&(r=o.return)&&r.call(o)}finally{if(e)throw e.error}}}this.taggedProperties.content={}},r.prototype.translateByPixel=function(t,e){if(this.composition){var r=this.composition.renderer.canvas.getBoundingClientRect(),i=r.width,n=r.height,o=this.transform.getWorldPosition().z,a=this.composition.camera.getInverseVPRatio(o),s=a.x,u=a.y;this.transform.translate(2*t*s/i,-2*e*u/n,0)}},r.prototype.dispose=function(){var t,e;if(this.resetChildrenParent(),this.composition){this.composition.destroyItem(this);try{for(var r=l(this.components.slice()),i=r.next();!i.done;i=r.next()){i.value.dispose()}}catch(e){t={error:e}}finally{try{i&&!i.done&&(e=r.return)&&e.call(r)}finally{if(t)throw t.error}}this.components=[],this._content=void 0,this.composition=null,this._contentVisible=!1,this.transform.setValid(!1)}},r.prototype.resetChildrenParent=function(){var t,e,r;try{for(var i=l(this.children),n=i.next();!n.done;n=i.next()){var o=n.value;this.parent&&o.setParent(this.parent)}}catch(e){t={error:e}}finally{try{n&&!n.done&&(e=i.return)&&e.call(i)}finally{if(t)throw t.error}}this.parent&&E(null===(r=this.parent)||void 0===r?void 0:r.children,this)},r=i=s([ne(t.DataType.VFXItemData)],r)}(Oe);function Pa(t,e){var r=t.type,i=t.pluginName;if(!i)switch(r){case At.null:i="cal";break;case At.sprite:i="sprite";break;case At.particle:i="particle";break;case At.interact:i="interact";break;case At.camera:i="camera";break;case At.filter:i="filter";break;case At.text:i="text";break;case At.tree:i="tree";break;default:throw new Error("invalid vfx item type")}return e.pluginSystem.createPluginItem(i,t,e)}t.Item=void 0,(Ia=t.Item||(t.Item={})).is=function(t,e){return t.type===e},Ia.isFilter=function(t){return t.type===At.filter},Ia.isComposition=function(t){return t.type===At.composition},Ia.isParticle=function(t){return t.type===At.particle},Ia.isNull=function(t){return t.type===At.null};var Va={},Fa=[],Na={};function Da(t,e,r,i){Na[t]=r,Va[t]=e,i&&T(Fa,t)}var za=function(){function t(t){var e={},r=[],i=function(t){var i=Va[t];r.includes(i)||(r.push(i),e[t]=i)};Fa.forEach(i),t.forEach(i),this.plugins=Object.keys(e).map((function(t){var e=Va[t];if(!e)throw new Error("plugin '".concat(t,"' not found.")+function(t){var e=Ua[t];return e?"\nInstall Plugin: npm i ".concat(e,"@latest --save\nImport Plugin: import '").concat(e,"'"):""}
15
- /*!
16
- * Name: @galacean/effects-specification
17
- * Description: Galacean Effects JSON Specification
18
- * Author: Ant Group CO., Ltd.
19
- * Version: v2.0.0-alpha.3
20
- */(t));var r=new e;return r.name=t,r})).sort((function(t,e){return t.order-e.order}))}return t.prototype.initializeComposition=function(t,e){this.plugins.forEach((function(r){return r.onCompositionConstructed(t,e)}))},t.prototype.destroyComposition=function(t){this.plugins.forEach((function(e){return e.onCompositionDestroyed(t)}))},t.prototype.resetComposition=function(t,e){this.plugins.forEach((function(r){return r.onCompositionReset(t,e)}))},t.prototype.createPluginItem=function(t,e,r){var i=Na[t];if(!i)throw new Error("plugin ".concat(t," no registered constructor"));var n=new i(r.getEngine(),e,r);if(n.composition=r,!(n instanceof Ma))throw new Error("plugin ".concat(t," invalid constructor type"));return n},t.prototype.processRawJSON=function(t,e){return u(this,void 0,void 0,(function(){return c(this,(function(r){return[2,this.callStatic("processRawJSON",t,e)]}))}))},t.prototype.callStatic=function(t){for(var e=[],r=1;r<arguments.length;r++)e[r-1]=arguments[r];return u(this,void 0,void 0,(function(){var r,i,n,o,a;return c(this,(function(s){for(r=[],i=this.plugins,n=0;n<i.length;n++)o=i[n],a=Va[o.name],t in a&&r.push(Promise.resolve(a[t].apply(a,f([],h(e),!1))));return[2,Promise.all(r)]}))}))},t.prototype.precompile=function(t,e,r){return u(this,void 0,void 0,(function(){return c(this,(function(i){return[2,this.callStatic("precompile",t,e,r)]}))}))},t.prototype.loadResources=function(t,e){return u(this,void 0,void 0,(function(){return c(this,(function(r){return[2,this.callStatic("prepareResource",t,e)]}))}))},t}(),Ua={"alipay-downgrade":"@galacean/effects-plugin-alipay-downgrade","editor-gizmo":"@galacean/effects-plugin-editor-gizmo",tree:"@galacean/effects-plugin-model",model:"@galacean/effects-plugin-model","orientation-transformer":"@galacean/effects-plugin-orientation-transformer",spine:"@galacean/effects-plugin-spine"};var ka={randomUUID:"undefined"!=typeof crypto&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)};let Ba;const Ga=new Uint8Array(16);function Xa(){if(!Ba&&(Ba="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!Ba))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return Ba(Ga)}const ja=[];for(let t=0;t<256;++t)ja.push((t+256).toString(16).slice(1));function Ha(t,e,r){if(ka.randomUUID&&!e&&!t)return ka.randomUUID();const i=(t=t||{}).random||(t.rng||Xa)();if(i[6]=15&i[6]|64,i[8]=63&i[8]|128,e){r=r||0;for(let t=0;t<16;++t)e[r+t]=i[t];return e}return function(t,e=0){return ja[t[e+0]]+ja[t[e+1]]+ja[t[e+2]]+ja[t[e+3]]+"-"+ja[t[e+4]]+ja[t[e+5]]+"-"+ja[t[e+6]]+ja[t[e+7]]+"-"+ja[t[e+8]]+ja[t[e+9]]+"-"+ja[t[e+10]]+ja[t[e+11]]+ja[t[e+12]]+ja[t[e+13]]+ja[t[e+14]]+ja[t[e+15]]}(i)}var Ya,Wa,Za,qa,Qa,Ka,Ja,$a,ts,es,rs;!function(t){t.S="S",t.APlus="A+",t.A="A",t.BPlus="B+",t.B="B"}(Ya||(Ya={})),function(t){t[t.ALPHA=0]="ALPHA",t[t.ADD=1]="ADD",t[t.MULTIPLY=2]="MULTIPLY",t[t.BRIGHTNESS=3]="BRIGHTNESS",t[t.SUBTRACTION=4]="SUBTRACTION",t[t.STRONG_LIGHT=5]="STRONG_LIGHT",t[t.WEAK_LIGHT=6]="WEAK_LIGHT",t[t.SUPERPOSITION=7]="SUPERPOSITION"}(Wa||(Wa={})),function(t){t[t.DOUBLE=1032]="DOUBLE",t[t.FRONT=1028]="FRONT",t[t.BACK=1029]="BACK"}(Za||(Za={})),function(t){t[t.NONE=0]="NONE",t[t.MASK=1]="MASK",t[t.OBSCURED=2]="OBSCURED",t[t.REVERSE_OBSCURED=3]="REVERSE_OBSCURED"}(qa||(qa={})),function(t){t[t.NONE=0]="NONE",t[t.SPHERE=1]="SPHERE",t[t.CONE=2]="CONE",t[t.HEMISPHERE=3]="HEMISPHERE",t[t.CIRCLE=4]="CIRCLE",t[t.DONUT=5]="DONUT",t[t.RECTANGLE=6]="RECTANGLE",t[t.RECTANGLE_EDGE=7]="RECTANGLE_EDGE",t[t.EDGE=8]="EDGE",t[t.TEXTURE=9]="TEXTURE"}(Qa||(Qa={})),function(t){t[t.GYROSCOPE=0]="GYROSCOPE",t[t.SPINE=1]="SPINE"}(Ka||(Ka={})),function(t){t[t.CLICK=0]="CLICK",t[t.MESSAGE=1]="MESSAGE",t[t.DRAG=2]="DRAG"}(Ja||(Ja={})),function(t){t[t.NONE=0]="NONE",t[t.NOTIFY=1]="NOTIFY",t[t.RESUME_PLAYER=2]="RESUME_PLAYER",t[t.REMOVE=3]="REMOVE",t[t.PAUSE=4]="PAUSE"}($a||($a={})),function(t){t.base="0",t.sprite="1",t.particle="2",t.null="3",t.interact="4",t.plugin="5",t.camera="6",t.composition="7",t.filter="8",t.spine="spine",t.mesh="mesh",t.tree="tree",t.text="text",t.light="light",t.skybox="skybox",t.effect="effect"}(ts||(ts={})),function(t){t[t.BILLBOARD=0]="BILLBOARD",t[t.MESH=1]="MESH",t[t.VERTICAL_BILLBOARD=2]="VERTICAL_BILLBOARD",t[t.HORIZONTAL_BILLBOARD=3]="HORIZONTAL_BILLBOARD"}(es||(es={})),function(t){t[t.PARTICLE_ORIGIN_CENTER=0]="PARTICLE_ORIGIN_CENTER",t[t.PARTICLE_ORIGIN_LEFT_TOP=1]="PARTICLE_ORIGIN_LEFT_TOP",t[t.PARTICLE_ORIGIN_LEFT_CENTER=2]="PARTICLE_ORIGIN_LEFT_CENTER",t[t.PARTICLE_ORIGIN_LEFT_BOTTOM=3]="PARTICLE_ORIGIN_LEFT_BOTTOM",t[t.PARTICLE_ORIGIN_CENTER_TOP=4]="PARTICLE_ORIGIN_CENTER_TOP",t[t.PARTICLE_ORIGIN_CENTER_BOTTOM=5]="PARTICLE_ORIGIN_CENTER_BOTTOM",t[t.PARTICLE_ORIGIN_RIGHT_TOP=6]="PARTICLE_ORIGIN_RIGHT_TOP",t[t.PARTICLE_ORIGIN_RIGHT_CENTER=7]="PARTICLE_ORIGIN_RIGHT_CENTER",t[t.PARTICLE_ORIGIN_RIGHT_BOTTOM=8]="PARTICLE_ORIGIN_RIGHT_BOTTOM"}(rs||(rs={}));var is,ns,os,as,ss,us,cs,ls,hs,fs,ps,ds,ms,ys,vs,xs,gs,Ts,Es,bs,Cs=1,_s=3,Ss=4,Os=0;!function(t){t[t.portrait=1]="portrait",t[t.landscape=Os]="landscape"}(is||(is={})),function(t){t[t.destroy=0]="destroy",t[t.pause=Cs]="pause",t[t.restart=5]="restart",t[t.forward=2]="forward",t[t.pause_destroy=_s]="pause_destroy",t[t.freeze=Ss]="freeze"}(ns||(ns={})),function(t){t[t.CONSTANT=0]="CONSTANT",t[t.CONSTANT_VEC2=1]="CONSTANT_VEC2",t[t.CONSTANT_VEC3=2]="CONSTANT_VEC3",t[t.CONSTANT_VEC4=3]="CONSTANT_VEC4",t[t.RANDOM=4]="RANDOM",t[t.LINE=5]="LINE",t[t.CURVE=6]="CURVE",t[t.BEZIER_PATH=7]="BEZIER_PATH",t[t.RGBA_COLOR=8]="RGBA_COLOR",t[t.GRADIENT_COLOR=9]="GRADIENT_COLOR",t[t.SHAPE_POINTS=10]="SHAPE_POINTS",t[t.SHAPE_SPLITS=11]="SHAPE_SPLITS",t[t.LINEAR_PATH=12]="LINEAR_PATH",t[t.COLORS=13]="COLORS",t[t.BINARY=20]="BINARY",t[t.BEZIER_CURVE=21]="BEZIER_CURVE",t[t.BEZIER_CURVE_PATH=22]="BEZIER_CURVE_PATH"}(os||(os={})),function(t){t[t.AUTO=0]="AUTO",t[t.EASE=1]="EASE",t[t.EASE_IN=2]="EASE_IN",t[t.EASE_OUT=3]="EASE_OUT",t[t.LINE=4]="LINE",t[t.HOLD=5]="HOLD",t[t.LINE_OUT=6]="LINE_OUT"}(as||(as={})),function(t){t[t.destroy=0]="destroy",t[t.loop=5]="loop",t[t.freeze=Ss]="freeze"}(ss||(ss={})),function(t){t[t.destroyChildren=6]="destroyChildren"}(us||(us={})),function(t){t[t.none=0]="none",t[t.removeParticle=1]="removeParticle"}(cs||(cs={})),function(t){t[t.RANDOM=0]="RANDOM",t[t.UNIDIRECTIONAL_CYCLE=1]="UNIDIRECTIONAL_CYCLE",t[t.BIDIRECTIONAL_CYCLE=2]="BIDIRECTIONAL_CYCLE",t[t.UNIFORM_BURST=3]="UNIFORM_BURST"}(ls||(ls={})),function(t){t.point="point",t.spot="spot",t.directional="directional",t.ambient="ambient"}(hs||(hs={})),function(t){t[t.box=2]="box",t[t.sphere=3]="sphere"}(fs||(fs={})),function(t){t.orthographic="orthographic",t.perspective="perspective"}(ps||(ps={})),function(t){t.unlit="unlit",t.pbr="pbr",t.hair="hair"}(ds||(ds={})),function(t){t[t.opaque=100]="opaque",t[t.masked=101]="masked",t[t.translucent=102]="translucent",t[t.additive=103]="additive"}(ms||(ms={})),function(t){t.none="none",t.uv="uv",t.normal="normal",t.basecolor="basecolor",t.alpha="alpha",t.metallic="metallic",t.roughness="roughness",t.ao="ao",t.emissive="emissive"}(ys||(ys={})),function(t){t[t.display=0]="display",t[t.clip=1]="clip",t[t.ellipsis=2]="ellipsis"}(vs||(vs={})),function(t){t[t.top=0]="top",t[t.middle=1]="middle",t[t.bottom=2]="bottom"}(xs||(xs={})),function(t){t[t.left=0]="left",t[t.middle=1]="middle",t[t.right=2]="right"}(gs||(gs={})),function(t){t.normal="normal",t.bold="bold",t.lighter="lighter"}(Ts||(Ts={})),function(t){t.normal="normal",t.italic="italic",t.oblique="oblique"}(Es||(Es={})),function(t){t.VFXItemData="VFXItemData",t.EffectComponent="EffectComponent",t.Material="Material",t.Shader="Shader",t.SpriteComponent="SpriteComponent",t.ParticleSystem="ParticleSystem",t.InteractComponent="InteractComponent",t.CameraController="CameraController",t.Geometry="Geometry",t.Texture="Texture",t.TextComponent="TextComponent",t.MeshComponent="MeshComponent",t.SkyboxComponent="SkyboxComponent",t.LightComponent="LightComponent",t.CameraComponent="CameraComponent",t.ModelPluginComponent="ModelPluginComponent",t.TreeComponent="TreeComponent"}(bs||(bs={}));var ws,As=function(){return As=Object.assign||function(t){for(var e,r=1,i=arguments.length;r<i;r++)for(var n in e=arguments[r])Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t},As.apply(this,arguments)};function Rs(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],i=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&i>=t.length&&(t=void 0),{value:t&&t[i++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function Ls(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var i,n,o=r.call(t),a=[];try{for(;(void 0===e||e-- >0)&&!(i=o.next()).done;)a.push(i.value)}catch(t){n={error:t}}finally{try{i&&!i.done&&(r=o.return)&&r.call(o)}finally{if(n)throw n.error}}return a}function Is(t,e,r){if(r||2===arguments.length)for(var i,n=0,o=e.length;n<o;n++)!i&&n in e||(i||(i=Array.prototype.slice.call(e,0,n)),i[n]=e[n]);return t.concat(i||Array.prototype.slice.call(e))}function Ms(t,e){if(!t.includes(e))return t.push(e),!0}function Ps(t,e,r){if(t)for(var i in t)Object.hasOwnProperty.call(t,i)&&e.call(r,t[i],i);return t}function Vs(t){if(Number.isFinite(t))return[os.CONSTANT,t];if(t){if("lines"===t[0])return[os.LINE,t[1]];if("curve"===t[0])return[os.CURVE,t[1]];if("static"===t[0])return[os.CONSTANT,t[1]]}}function Fs(t,e){return Array.isArray(t)&&"random"===t[0]?[os.CONSTANT,t[1][e]]:Vs(t)}function Ns(t){return t&&"color"===t[0]?ks(t[1],!0):[1,1,1,1]}function Ds(t,e){if(t){if("colors"===t[0])return[os.COLORS,t[1].map((function(t){return ks(t,e)}))];if("gradient"===t[0])return Us(t[1],e);if("color"===t[0])return[os.RGBA_COLOR,ks(t[1],e)]}}function zs(t){return t&&"random"===t[0]?[os.RANDOM,t[1]]:Vs(t)}function Us(t,e){if(t){var r=[];return Object.getOwnPropertyNames(t).forEach((function(i){var n=function(t){var e=/^(-)?([\d+.]+)%$/.exec(t);if(e)return+e[2]/100*(e[1]?-1:1);return+t}(i),o=ks(t[i],e);r.push([n,o[0],o[1],o[2],o[3]])})),r=r.sort((function(t,e){return t[0]-e[0]})),[os.GRADIENT_COLOR,r]}}function ks(t,e){var r;if("string"==typeof t){t=t.replace(/[\s\t\r\n]/g,"");var i=/rgba?\(([.\d]+),([.\d]+),([.\d]+),?([.\d]+)?\)/.exec(t);if(i){var n=+i[4];r=[+i[1],+i[2],+i[3],isNaN(n)?255:Math.round(255*n)]}else/^#[a-f\d]{3}$/i.test(t)?r=[parseInt(t[1]+t[1],16),parseInt(t[2]+t[2],16),parseInt(t[3]+t[3],16),255]:(i=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t))&&(r=[parseInt(i[1],16),parseInt(i[2],16),parseInt(i[3],16),255]||[0,0,0,255])}else t instanceof Array&&(r=[t[0],t[1],t[2],isNaN(t[3])?255:Math.round(255*t[3])]);return e&&(r=function(t){if(Array.isArray(t))return t.map((function(t){return Number.isFinite(t/255)?Number((t/255).toFixed(6)):0}))}(r)),r}function Bs(t,e){return Array.isArray(t)?("gradient"===t[0]||"color"===t[0])&&Us(t[1],e):Us(t,e)}function Gs(t){if(t){if(3===t.length)return[os.CONSTANT_VEC3,t];if("path"===t[0])return[os.LINEAR_PATH,t[1]];if("bezier"===t[0])return[os.BEZIER_PATH,t[1]]}}function Xs(t){var e,r;try{for(var i=Rs(Object.keys(t)),n=i.next();!n.done;n=i.next()){var o=n.value;t[o]=Number(t[o])}}catch(t){e={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(e)throw e.error}}return t}function js(t){var e,r;try{for(var i=Rs(Object.keys(t)),n=i.next();!n.done;n=i.next()){var o=n.value;void 0===t[o]&&delete t[o]}}catch(t){e={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(e)throw e.error}}return t}"function"==typeof SuppressedError&&SuppressedError;var Hs=Math.cos,Ys=Math.sin,Ws=Math.PI/180,Zs=180/Math.PI;function qs(){return Ha().replace(/-/g,"")}function Qs(t,e){return t?[t[0]-.5,.5-t[1]]:e?Ks[e]:[0,0]}var Ks=((ws={})[rs.PARTICLE_ORIGIN_CENTER]=[0,0],ws[rs.PARTICLE_ORIGIN_CENTER_BOTTOM]=[0,-.5],ws[rs.PARTICLE_ORIGIN_CENTER_TOP]=[0,.5],ws[rs.PARTICLE_ORIGIN_LEFT_TOP]=[-.5,.5],ws[rs.PARTICLE_ORIGIN_LEFT_CENTER]=[-.5,0],ws[rs.PARTICLE_ORIGIN_LEFT_BOTTOM]=[-.5,-.5],ws[rs.PARTICLE_ORIGIN_RIGHT_CENTER]=[.5,0],ws[rs.PARTICLE_ORIGIN_RIGHT_BOTTOM]=[.5,-.5],ws[rs.PARTICLE_ORIGIN_RIGHT_TOP]=[.5,.5],ws);function Js(t){var e,r=t.options,i=t.transform,n={type:Qa.NONE};if(t.shape){var o=null===(e=t.shape.shape)||void 0===e?void 0:e.replace(/([A-Z])/g,"_$1").toUpperCase().replace(/^_/,"");if(n=As(As({},t.shape),{type:Qa[o]}),t.shape.upDirection){var a=Ls(t.shape.upDirection,3),s=a[0],u=a[1],c=a[2];0===s&&0===u&&0===c&&delete n.upDirection}}r.startTurbulence&&(n.turbulenceX=zs(r.turbulenceX),n.turbulenceY=zs(r.turbulenceY),n.turbulenceZ=zs(r.turbulenceZ));var l=t.emission;l.bursts&&l.bursts.length>0&&(l.bursts=l.bursts.map((function(t){return Xs(t)}))),l.burstOffsets&&l.burstOffsets.length>0&&(l.burstOffsets=l.burstOffsets.map((function(t){return Xs(t)}))),l.rateOverTime&&(l.rateOverTime=zs(l.rateOverTime));var h={renderer:t.renderer,shape:n,splits:t.splits,emission:l,options:{startLifetime:zs(r.startLifetime),start3DSize:!!r.start3DSize,startSize:zs(r.startSize),startSizeX:zs(r.startSizeX),startSizeY:zs(r.startSizeY),sizeAspect:zs(r.sizeAspect),maxCount:r.maxCount,startDelay:zs(r.startDelay),startColor:Ds(r.startColor,!0),startRotationZ:zs(r.startRotation||r.startRotationZ),particleFollowParent:r.particleFollowParent}};if(r.start3DRotation&&(h.options.startRotationX=zs(r.startRotationX),h.options.startRotationY=zs(r.startRotationY)),t.filter){var f={};Ps(t.filter,(function(t,e){var r;f[e]=(r=t,Array.isArray(r)&&"string"==typeof r[0]&&(zs(r)||Gs(r)||Ds(r))||r)})),h.filter=f}i&&i.path&&(h.emitterTransform={path:Gs(i.path)});var p=t.sizeOverLifetime;p&&(p.separateAxes?h.sizeOverLifetime={separateAxes:!0,x:zs(p.x),y:zs(p.y)}:h.sizeOverLifetime={size:zs(p.size)});var d=t.velocityOverLifetime||{},m=d.speedOverLifetime;m=m?Vs(m):void 0,h.positionOverLifetime={gravity:r.gravity,gravityOverLifetime:Vs(r.gravityModifier),startSpeed:zs(r.startSpeed),speedOverLifetime:m,asMovement:d.asMovement,linearX:zs(d.linearX),linearY:zs(d.linearY),linearZ:zs(d.linearZ),asRotation:d.asRotation,orbCenter:d.orbCenter,orbitalX:zs(d.orbitalX),orbitalY:zs(d.orbitalY),orbitalZ:zs(d.orbitalZ),forceTarget:d.forceTarget,target:d.target,forceCurve:Vs(d.forceCurve)},js(h.positionOverLifetime);var y=t.rotationOverLifetime;y&&(h.rotationOverLifetime={separateAxes:y.separateAxes,asRotation:y.asRotation,z:zs(y.separateAxes?y.z:y.angularVelocity)},y.separateAxes&&(h.rotationOverLifetime.y=Vs(y.y),h.rotationOverLifetime.x=Vs(y.x)));var v=t.colorOverLifetime;if(v){var x=h.colorOverLifetime={opacity:Vs(v.opacity)};v.color&&(x.color=Bs(v.color))}var g=t.textureSheetAnimation;g&&(h.textureSheetAnimation={row:g.row,col:g.col,total:g.total,animate:g.animate,cycles:Vs(g.cycles),animationDelay:Fs(g.animationDelay,0),animationDuration:Fs(g.animationDuration,0)});var T=t.trails;T&&(h.trails={lifetime:zs(T.lifetime),dieWithParticles:T.dieWithParticles,maxPointPerTrail:T.maxPointPerTrail,minimumVertexDistance:T.minimumVertexDistance,widthOverTrail:Vs(T.widthOverTrail),colorOverTrail:T.colorOverTrail&&Bs(T.colorOverTrail,!1),blending:T.blending,colorOverLifetime:T.colorOverLifetime&&Bs(T.colorOverLifetime,!1),inheritParticleColor:T.inheritParticleColor,occlusion:T.occlusion,transparentOcclusion:T.transparentOcclusion,orderOffset:T.orderOffset,sizeAffectsLifetime:T.sizeAffectsLifetime,sizeAffectsWidth:T.sizeAffectsWidth,texture:T.texture,parentAffectsPosition:T.parentAffectsPosition,opacityOverLifetime:zs(T.opacityOverLifetime)}),h.trails&&js(h.trails);var E=t.interaction;return E&&(h.interaction={behavior:E.behavior,radius:E.radius,multiple:E.multiple}),h}function $s(t,e){var r,i=t.options,n=t.velocityOverLifetime||{},o={path:Gs(null===(r=t.transform)||void 0===r?void 0:r.path),gravity:i.gravity,gravityOverLifetime:Vs(i.gravityModifier),direction:i.direction,startSpeed:i.startSpeed,asMovement:n.asMovement,linearX:Vs(n.linearX),linearY:Vs(n.linearY),linearZ:Vs(n.linearZ),asRotation:n.asRotation,orbCenter:n.orbCenter,orbitalX:Vs(n.orbitalX),orbitalY:Vs(n.orbitalY),orbitalZ:Vs(n.orbitalZ),speedOverLifetime:Vs(n.speedOverLifetime)};js(o);var a={options:{startColor:Ns(i.startColor)},positionOverLifetime:o};i.startSize&&(e.scale=[i.startSize,i.startSize/(i.sizeAspect||1),1]),i.startRotation&&(e.rotation?e.rotation[2]+=i.startRotation:e.rotation=[0,0,i.startRotation]);var s=t.rotationOverLifetime;if(s){var u=a.rotationOverLifetime={separateAxes:s.separateAxes,asRotation:s.asRotation};u.separateAxes?(u.x=Vs(s.x),u.y=Vs(s.y),u.z=Vs(s.z)):u.z=Vs(s.angularVelocity)}var c=t.colorOverLifetime;if(c){var l=a.colorOverLifetime={opacity:Vs(c.opacity)};c.color&&(l.color=Bs(c.color))}var h=t.sizeOverLifetime;return h&&(a.sizeOverLifetime={separateAxes:h.separateAxes,size:Vs(h.size),x:Vs(h.x),y:Vs(h.y),z:Vs(h.z)}),a}function tu(t,e){var r=$s(t,e),i=t.textureSheetAnimation;return i&&(r.textureSheetAnimation={row:i.row,col:i.col,total:i.total||void 0,animate:i.animate}),r.renderer=t.renderer,t.splits&&(r.splits=t.splits),t.interaction&&(r.interaction=t.interaction),r}var eu=["strength","bloomAddon","colorAddon","period","waveMovement","colorThreshold","xOpacity","yOpacity","feather"],ru=["path","position"];function iu(t){return t.compositions.forEach((function(t){t.items.forEach((function(t){t.type===ts.null&&t.endBehavior===ss.destroy&&(t.endBehavior=ss.freeze)}))})),t.version="2.1",t}function nu(t){var e,r,i,n,o,a,s,u,c,l,h=Object.assign({},t,{items:[],components:[],materials:[],shaders:[],geometries:[]});if(null!==(i=h.textures)&&void 0!==i||(h.textures=[]),h.textures.forEach((function(t){Object.assign(t,{id:qs(),dataType:bs.Texture})})),h.textures.length<h.images.length)for(var f=h.textures.length;f<h.images.length;f++)h.textures.push({id:qs(),dataType:bs.Texture,source:f,flipY:!0});var p=function(t){var e,r,i,f;t.endBehavior!==_s&&t.endBehavior!==Cs||(t.endBehavior=Ss);var p={};try{for(var d=(e=void 0,Rs(t.items)),m=d.next();!m.done;m=d.next()){var y=m.value;p[y.id]=qs(),y.oldId=y.id,y.id=p[y.id]}}catch(t){e={error:t}}finally{try{m&&!m.done&&(r=d.return)&&r.call(d)}finally{if(e)throw e.error}}t.items.forEach((function(e,r){if(e.parentId)if(e.parentId.includes("^")){var i=e.parentId.split("^")[0],n=e.parentId.split("^")[1];e.parentId=p[i]+"^"+n}else e.parentId=p[e.parentId];h.items.push(e),t.items[r]={id:e.id}}));try{for(var v=(i=void 0,Rs(h.items)),x=v.next();!x.done;x=v.next()){if((y=x.value).content){if(y.content.renderer&&void 0!==y.content.renderer.texture){var g=y.content.renderer.texture;y.content.renderer.texture={id:h.textures[g].id}}if(y.content.trails&&void 0!==y.content.trails.texture){g=y.content.trails.texture;y.content.trails.texture={id:h.textures[g].id}}}if(y.transform){var T=Is([],Ls(null!==(n=y.transform.position)&&void 0!==n?n:[0,0,0]),!1),E=Is([],Ls(null!==(o=y.transform.rotation)&&void 0!==o?o:[0,0,0]),!1),b=Is([],Ls(null!==(a=y.transform.scale)&&void 0!==a?a:[1,1,1]),!1);if(Object.assign(y,{transform:{position:{x:T[0],y:T[1],z:T[2]},rotation:{x:E[0],y:E[1],z:E[2]},scale:{x:b[0],y:b[1],z:b[0]}}}),y.type===ts.sprite&&(y.transform.size={x:b[0],y:b[1]},y.transform.scale={x:1,y:1,z:1}),y.type===ts.sprite){(S=y.content).renderer||(S.renderer={});var C=Qs((O=S.renderer).anchor,O.particleOrigin),_=y.transform.size;O.anchor||void 0===O.particleOrigin||(y.transform.position.x+=-C[0]*(null!==(s=null==_?void 0:_.x)&&void 0!==s?s:1),y.transform.position.y+=-C[1]*(null!==(u=null==_?void 0:_.y)&&void 0!==u?u:1)),y.transform.anchor={x:C[0]*(null!==(c=null==_?void 0:_.x)&&void 0!==c?c:1),y:C[1]*(null!==(l=null==_?void 0:_.y)&&void 0!==l?l:1)}}}if(y.type===ts.particle){var S;(S=y.content).renderer||(S.renderer={});var O=S.renderer;S.renderer.anchor=Qs(O.anchor,O.particleOrigin)}y.content.tracks=[];var w=y.content.tracks;y.type!==ts.particle&&w.push({clips:[{dataType:"TransformAnimationPlayableAsset",animationClip:{sizeOverLifetime:y.content.sizeOverLifetime,rotationOverLifetime:y.content.rotationOverLifetime,positionOverLifetime:y.content.positionOverLifetime}}]}),y.type===ts.sprite&&w.push({clips:[{dataType:"SpriteColorAnimationPlayableAsset",animationClip:{colorOverLifetime:y.content.colorOverLifetime,startColor:y.content.options.startColor}}]}),y.content.options.target&&(y.content.options.target=p[y.content.options.target]);var A=qs();y.type===ts.sprite?(y.components=[],h.components.push(y.content),y.content.id=A,y.content.dataType=bs.SpriteComponent,y.content.item={id:y.id},y.dataType=bs.VFXItemData,y.components.push({id:y.content.id})):y.type===ts.particle?(y.components=[],h.components.push(y.content),y.content.id=A,y.content.dataType=bs.ParticleSystem,y.content.item={id:y.id},y.dataType=bs.VFXItemData,y.components.push({id:y.content.id})):y.type===ts.mesh?(y.components=[],h.components.push(y.content),y.content.id=A,y.content.dataType=bs.MeshComponent,y.content.item={id:y.id},y.dataType=bs.VFXItemData,y.components.push({id:y.content.id})):y.type===ts.skybox?(y.components=[],h.components.push(y.content),y.content.id=A,y.content.dataType=bs.SkyboxComponent,y.content.item={id:y.id},y.dataType=bs.VFXItemData,y.components.push({id:y.content.id})):y.type===ts.light?(y.components=[],h.components.push(y.content),y.content.id=A,y.content.dataType=bs.LightComponent,y.content.item={id:y.id},y.dataType=bs.VFXItemData,y.components.push({id:y.content.id})):"camera"===y.type?(y.components=[],h.components.push(y.content),y.content.id=A,y.content.dataType=bs.CameraComponent,y.content.item={id:y.id},y.dataType=bs.VFXItemData,y.components.push({id:y.content.id})):y.type===ts.tree?(y.components=[],h.components.push(y.content),y.content.id=A,y.content.dataType=bs.TreeComponent,y.content.item={id:y.id},y.dataType=bs.VFXItemData,y.components.push({id:y.content.id})):y.type===ts.interact?(y.components=[],h.components.push(y.content),y.content.id=A,y.content.dataType=bs.InteractComponent,y.content.item={id:y.id},y.dataType=bs.VFXItemData,y.components.push({id:y.content.id})):y.type===ts.camera?(y.components=[],h.components.push(y.content),y.content.id=A,y.content.dataType=bs.CameraController,y.content.item={id:y.id},y.dataType=bs.VFXItemData,y.components.push({id:y.content.id})):y.type===ts.text&&(y.components=[],h.components.push(y.content),y.content.id=A,y.content.dataType=bs.TextComponent,y.content.item={id:y.id},y.dataType=bs.VFXItemData,y.components.push({id:y.content.id}))}}catch(t){i={error:t}}finally{try{x&&!x.done&&(f=v.return)&&f.call(v)}finally{if(i)throw i.error}}};try{for(var d=Rs(t.compositions),m=d.next();!m.done;m=d.next()){p(m.value)}}catch(t){e={error:t}}finally{try{m&&!m.done&&(r=d.return)&&r.call(d)}finally{if(e)throw e.error}}return h.version="3.0",h}var ou=/^(\d+)\.(\d+)\.(\d+)(-(\w+)\.\d+)?$/,au=/^(\d+)\.(\d+)$/,su=!1;function uu(t){var e,r;if(!t||"object"!=typeof t)throw Error("expect a json object");if(function(t){var e,r=null===(e=t.version)||void 0===e?void 0:e.split(".");!r||Number(r[0])>2||2===Number(r[0])&&Number(r[1])>=2||t.compositions.forEach((function(t){t.items.forEach((function(t){t.type!==ts.mesh&&t.type!==ts.light||(t.endBehavior=1===t.endBehavior?ss.destroy:t.endBehavior)}))}))}(t),ou.test(t.version))return su="0"===(null===(e=/^(\d+)/.exec(t.version))||void 0===e?void 0:e[0]),nu(iu(function(t){var e,r;cu="1.0";var i=t.plugins||[];(null===(e=t.bins)||void 0===e?void 0:e.length)&&(cu="1.3");var n=(t.requires||[]).slice(),o=t.images.map((function(e,r){return lu(e,r,t.imageTags||[])})),a=t.textures||o.map((function(t,e){return{source:e,flipY:!0}})),s={plugins:i,shapes:t.shapes||[],type:"ge",version:cu,playerVersion:null!==(r=t.playerVersion)&&void 0!==r?r:{web:"",native:""},compositionId:t.compositionId+"",compositions:t.compositions.map((function(t){return hu(t,{plugins:i,requires:n})})),images:o,imgUsage:t._imgs,binUsage:t.binUsage,spines:t.spines,requires:t.requires,textures:a,bins:(t.bins||[]).slice()};t._textures&&(s._textures=t._textures);return s}(t)));var i=null===(r=au.exec(t.version))||void 0===r?void 0:r[1];if(i)return Number(i)<3?nu(iu(t)):t;throw Error("invalid json version "+t.version)}var cu="1.0";function lu(t,e,r){var i=r[e],n=t.oriY;if("string"==typeof t)return{renderLevel:i,url:t,oriY:n};if(t.template)return{url:t.url,template:t.template,webp:t.webp,renderLevel:i,oriY:n};if(t.compressed)return{url:t.url,oriY:n,compressed:{astc:t.compressed.android,pvrtc:t.compressed.iOS},webp:t.webp,renderLevel:i};if(t.url)return{url:t.url,type:t.type,webp:t.webp,renderLevel:i,oriY:n,loop:t.loop};if(t&&t.sourceType)return t;throw Error("invalid image type")}function hu(t,e){var r;void 0===e&&(e={});var i={id:t.id+"",camera:Object.assign({clipMode:Os},t.camera),duration:t.duration,endBehavior:t.endBehavior,items:t.items.map((function(t){return mu(t,e)})),name:t.name},n=t.startTime||t.st;n&&(i.startTime=n);var o=null===(r=t.meta)||void 0===r?void 0:r.previewSize;return o&&o[0]===o[1]&&0===o[0]&&(o=void 0),o&&(i.previewSize=o),i}var fu,pu=[0,0,0,1],du=.5;function mu(t,e){var r,i,n;void 0===e&&(e={});var o,a,s,u,c,l,h=ts.base,f=t.endBehavior,p=NaN;if(t.content?(h=t.type||ts.plugin,l=t.pn,c=t.pluginName,s=t.content,a=t.content,isNaN(l)&&!c&&(c=s.options.type),t.duration&&(p=t.duration),o=t.transform||v(a.transform),h===ts.filter&&(cu<"1.1"&&(cu="1.1"),(s=tu(a,o)).filter=function(t){var e={};return Ps(t,(function(t,r){eu.includes(r)?e[r]=Vs(t):ru.includes(r)?e[r]=Gs(t):e[r]=t})),e}(a.filter))):t.particle?(h=ts.particle,o=v((a=t.particle).transform,su,!0),s=Js(a)):t.sprite?(h=ts.sprite,s=tu(a=t.sprite,o=v(a.transform,!1,!0))):t.cal?(h=ts.null,s=$s(a=t.cal,o=v(a.transform,!1,!0))):t.ui?(h=ts.interact,o=v((a=t.ui).transform),s=function(t){var e,r=t.options;switch(r.type){case"click":e={type:Ja.CLICK,showPreview:r.showPreview,previewColor:r.previewColor&&Ns(r.previewColor),behavior:r.behavior||$a.NOTIFY};break;case"drag":e={type:Ja.DRAG,enableInEditor:!!r.enableInEditor,dxRange:r.dxRange,dyRange:r.dyRange,target:r.target};break;case"message":e={type:Ja.MESSAGE}}return{options:e}}(a),o.scale=[a.options.width||1,a.options.height||1,1]):t.model&&(a=t.model,1===t.model.options.type&&(h=ts.camera,o=v(a.transform),s=function(t){var e,r,i=t.options,n={options:{fov:i.fov,far:i.far,near:i.near,clipMode:i.clipMode}},o=t.velocityOverLifetime;if(o||(null===(e=t.transform)||void 0===e?void 0:e.path)){var a={path:Gs(null===(r=t.transform)||void 0===r?void 0:r.path),linearX:Vs(null==o?void 0:o.translateX),linearY:Vs(null==o?void 0:o.translateY),linearZ:Vs(null==o?void 0:o.translateZ)};js(a),n.positionOverLifetime=a}var s=t.rotationOverLifetime;if(s){var u={separateAxes:s.separateAxes,x:Vs(null==s?void 0:s.rotateX),y:Vs(null==s?void 0:s.rotateY),z:s.separateAxes?Vs(null==s?void 0:s.rotateZ):Vs(s.rotation)};js(u),n.rotationOverLifetime=u}return n}(a))),null===(r=s.renderer)||void 0===r?void 0:r.anchor){var d=new Float32Array(s.renderer.anchor);d[0]==du&&d[1]==du?delete s.renderer.anchor:e.requires&&Ms(e.requires,"anchor")}if(a){var m=null===(i=a.options)||void 0===i?void 0:i.looping;f=m?Array.isArray(m)?m[1]?ss.loop:ss.destroy:ss.loop:f||(null===(n=null==a?void 0:a.options)||void 0===n?void 0:n.endBehavior)||ss.destroy,a.options.renderLevel&&(u=a.options.renderLevel),isNaN(p)&&(p=a.options.duration)}var y={type:h,name:t.name,delay:t.delay,duration:p,id:t.id+"",transform:o,endBehavior:f,renderLevel:u,content:s};return c?e.plugins?(Ms(e.plugins,c),y.pn=e.plugins.indexOf(c)):y.pluginName=c:Number.isInteger(l)&&(y.pn=l),t.parentId&&(y.parentId=t.parentId+""),y;function v(t,e,r){if(t){var i={},n=t.rotation;if(n&&(i.rotation=e?[-n[0],-n[1],-n[2]]:[n[0],n[1],n[2]],r)){var o=(a=pu,s=i.rotation[0],u=i.rotation[1],c=i.rotation[2],l=Hs(s*Ws/2),h=Hs(u*Ws/2),f=Hs(c*Ws/2),p=Ys(s*Ws/2),d=Ys(u*Ws/2),m=Ys(c*Ws/2),a[0]=p*h*f+l*d*m,a[1]=l*d*f-p*h*m,a[2]=l*h*m+p*d*f,a[3]=l*h*f-p*d*m,a);i.rotation=function(t,e){var r,i,n,o=e[0],a=e[1],s=e[2],u=e[3],c=o+o,l=a+a,h=s+s,f=o*c,p=a*c,d=a*l,m=s*h,y=u*h,v=1-d-m,x=p-y,g=p+y,T=1-f-m,E=s*c-u*l,b=s*l+u*c,C=1-f-d;return t[1]=Math.asin((i=-1,(r=-E)>(n=1)?n:r<i?i:r))*Zs,Math.abs(E)<.9999999?(t[0]=Math.atan2(b,C)*Zs,t[2]=Math.atan2(g,v)*Zs):(t[0]=0,t[2]=Math.atan2(-x,T)*Zs),t}([],o)}return t.position&&(i.position=t.position),Array.isArray(t.scale)&&(i.scale=[t.scale[0]||1,t.scale[1]||1,t.scale[2]||1]),i}var a,s,u,c,l,h,f,p,d,m;return{}}}var yu=((fu={})[Tt.S]=[Tt.S,Tt.BPlus,Tt.APlus],fu[Tt.A]=[Tt.A,Tt.BPlus,Tt.APlus],fu[Tt.B]=[Tt.B,Tt.BPlus],fu);function vu(t,e){if(!t||!e)return!0;var r=yu[e];return!!r&&r.includes(t)}function xu(t){return mt(t)&&"jsonScene"in t}function gu(t,e){return t?[t[0]-.5,.5-t[1]]:e?fi[e]:[0,0]}var Tu=1,Eu=function(){function e(t,e){void 0===t&&(t={}),void 0===e&&(e=new xe),this.options=t,this.downloader=e,this.assets={},this.id=Tu++,this.timers=[],this.updateOptions(t)}return e.prototype.updateOptions=function(t){void 0===t&&(t={}),this.options=t,t.pluginData||(t.pluginData={});var e=t.timeout,r=void 0===e?10:e;this.timeout=r},e.prototype.updateSceneData=function(t){var e=this.options.variables;return!e||Object.keys(e).length<=0||t.forEach((function(t){t.items.forEach((function(t){if(t.type===At.text){var r=e[t.name];r&&(t.content.options.text=r)}}))})),t},e.prototype.loadScene=function(e,r,i){var n,o,s;return u(this,void 0,void 0,(function(){var f,p,d,m,y,v,x,T,E,b,C,_,S=this;return c(this,(function(O){return p=ft(e)?e:this.id,d=performance.now(),m=[],y=null==r?void 0:r.engine.gpuCapability,v=null!==(o=null===(n=null==y?void 0:y.detail)||void 0===n?void 0:n.asyncShaderCompile)&&void 0!==o&&o,x=null!==(s=null==y?void 0:y.detail.compressedTexture)&&void 0!==s?s:0,E=!1,b=new Promise((function(t,e){T=window.setTimeout((function(){E=!0,S.removeTimer(T);var t=performance.now()-d;e("Load time out: totalTime: ".concat(t.toFixed(4),"ms ").concat(m.join(" "),", url: ").concat(p))}),1e3*S.timeout),S.timers.push(T)})),C=function(t,e){return u(S,void 0,void 0,(function(){var r,i,n;return c(this,(function(o){switch(o.label){case 0:if(E)return[3,4];r=performance.now(),o.label=1;case 1:return o.trys.push([1,3,,4]),[4,e()];case 2:return i=o.sent(),m.push("[".concat(t,": ").concat((performance.now()-r).toFixed(2),"]")),[2,i];case 3:throw n=o.sent(),new Error("load error in ".concat(t,", ").concat(n));case 4:throw new Error("load canceled.")}}))}))},_=function(){return u(S,void 0,void 0,(function(){var n,o,s,u,y,E,b,_,S,O,w,A,R,L,I,M,P,V,F,N=this;return c(this,(function(c){switch(c.label){case 0:return mt(e)?(f=e,this.baseUrl=location.href,[3,3]):[3,1];case 1:return e=new URL(e,location.href).href,this.baseUrl=e,[4,C("loadJSON",(function(){return N.loadJSON(e)}))];case 2:f=c.sent(),c.label=3;case 3:if(!xu(f))return[3,6];if(n=a({},f),!this.options||!this.options.variables||0===Object.keys(this.options.variables).length)return[3,5];for(o=f.jsonScene.images,s=n.images,y=0;y<o.length;y++)s[y]instanceof HTMLCanvasElement&&(s[y]=o[y]);return u=n,[4,C("processImages",(function(){return N.processImages(s,n.usedImages,x)}))];case 4:for(u.images=c.sent(),y=0;y<n.images.length;y++)n.textureOptions[y].image=n.images[y];n.jsonScene.compositions=this.updateSceneData(n.jsonScene.compositions),c.label=5;case 5:return[3,12];case 6:return[4,C("processJSON",(function(){return N.processJSON(f)}))];case 7:return E=c.sent(),b=E.usedImages,_=E.jsonScene,S=E.pluginSystem,O=_.bins,w=void 0===O?[]:O,A=_.images,R=_.compositions,L=_.fonts,[4,Promise.all([C("processBins",(function(){return N.processBins(w)})),C("processImages",(function(){return N.processImages(A,b,x)})),C("".concat(v?"async":"sync"," compile"),(function(){return N.precompile(R,S,r,i)}))])];case 8:return I=h.apply(void 0,[c.sent(),2]),M=I[0],P=I[1],[4,C("processFontURL",(function(){return N.processFontURL(L)}))];case 9:return c.sent(),[4,C("processTextures",(function(){return N.processTextures(P,M,_)}))];case 10:return V=c.sent(),_.compositions=this.updateSceneData(_.compositions),n={url:e,renderLevel:this.options.renderLevel,storage:{},pluginSystem:S,jsonScene:_,usedImages:b,images:P,textureOptions:V,bins:M},[4,C("processPlugins",(function(){return S.loadResources(n,N.options)}))];case 11:c.sent(),c.label=12;case 12:return F=performance.now()-d,lt.info("Load asset: totalTime: ".concat(F.toFixed(4),"ms ").concat(m.join(" "),", url: ").concat(p)),window.clearTimeout(T),this.removeTimer(T),n.totalTime=F,n.startTime=d,Number(n.jsonScene.version)<3&&(console.warn("The current json version "+n.jsonScene.version+" is less than 3.0, try to convert to the new version."),n=function(e){var r,i,n,o,a,s,u,c,h,f,p,d;e.jsonScene.version="3.0";var m=e.jsonScene;m.items||(m.items=[]);try{for(var y=l(e.jsonScene.compositions),v=y.next();!v.done;v=y.next()){for(var x=v.value,T=0;T<x.items.length;T++)m.items.push(x.items[T]);3!==x.endBehavior&&1!==x.endBehavior||(x.endBehavior=4)}}catch(t){r={error:t}}finally{try{v&&!v.done&&(i=y.return)&&i.call(y)}finally{if(r)throw r.error}}var E={};try{for(var b=l(m.items),C=b.next();!C.done;C=b.next())E[(N=C.value).id]=xt(),N.oldId=N.id,N.id=E[N.id]}catch(t){n={error:t}}finally{try{C&&!C.done&&(o=b.return)&&o.call(b)}finally{if(n)throw n.error}}try{for(var _=l(m.items),S=_.next();!S.done;S=_.next())if((N=S.value).parentId)if(N.parentId.includes("^")){var O=N.parentId.split("^")[0],w=N.parentId.split("^")[1];N.parentId=E[O]+"^"+w}else N.parentId=E[N.parentId]}catch(t){a={error:t}}finally{try{S&&!S.done&&(s=_.return)&&s.call(_)}finally{if(a)throw a.error}}try{for(var A=l(e.jsonScene.compositions),R=A.next();!R.done;R=A.next())for(x=R.value,T=0;T<x.items.length;T++)x.items[T]={id:x.items[T].id}}catch(t){u={error:t}}finally{try{R&&!R.done&&(c=A.return)&&c.call(A)}finally{if(u)throw u.error}}try{for(var L=l(e.textureOptions),I=L.next();!I.done;I=L.next()){var M=I.value;M.id=xt(),M.dataType=t.DataType.Texture}}catch(t){h={error:t}}finally{try{I&&!I.done&&(f=L.return)&&f.call(L)}finally{if(h)throw h.error}}m.components||(m.components=[]);var P=m.components;try{for(var V=l(m.items),F=V.next();!F.done;F=V.next()){var N;if((N=F.value).content){if(N.content.renderer&&void 0!==N.content.renderer.texture){var D=N.content.renderer.texture;N.content.renderer.texture={id:e.textureOptions[D].id}}N.content.trails&&void 0!==N.content.trails.texture&&(D=N.content.trails.texture,N.content.trails.texture={id:e.textureOptions[D].id})}if(N.transform){var z=N.transform.position,U=N.transform.rotation,k=N.transform.scale;if(z||(z=[0,0,0]),U||(U=[0,0,0]),k||(k=[1,1,1]),N.transform={position:{x:z[0],y:z[1],z:z[2]},rotation:{x:U[0],y:U[1],z:U[2]},scale:{x:k[0],y:k[1],z:k[0]}},N.type===At.sprite&&(N.transform.size={x:k[0],y:k[1]},N.transform.scale={x:1,y:1,z:1}),N.type===At.sprite){(X=N.content).renderer||(X.renderer={});var B=gu((j=X.renderer).anchor,j.particleOrigin),G=N.transform.size;j.anchor||void 0===j.particleOrigin||(N.transform.position.x+=-B[0]*G.x,N.transform.position.y+=-B[1]*G.y),N.transform.anchor={x:B[0]*G.x,y:B[1]*G.y}}}if(N.type===At.particle){var X;(X=N.content).renderer||(X.renderer={});var j=X.renderer;X.renderer.anchor=gu(j.anchor,j.particleOrigin)}3!==N.endBehavior&&1!==N.endBehavior||(N.endBehavior=4),N.content.tracks=[];var H=N.content.tracks;N.type!==At.particle&&H.push({clips:[{dataType:"TransformAnimationPlayableAsset",animationClip:{sizeOverLifetime:N.content.sizeOverLifetime,rotationOverLifetime:N.content.rotationOverLifetime,positionOverLifetime:N.content.positionOverLifetime}}]}),N.type===At.sprite&&H.push({clips:[{dataType:"SpriteColorAnimationPlayableAsset",animationClip:{colorOverLifetime:N.content.colorOverLifetime,startColor:N.content.options.startColor}}]}),N.content&&N.content.options&&N.content.options.target&&(N.content.options.target=E[N.content.options.target]);var Y=g().replace(/-/g,"");N.type===At.sprite?(N.components=[],P.push(N.content),N.content.id=Y,N.content.dataType=t.DataType.SpriteComponent,N.content.item={id:N.id},N.dataType=t.DataType.VFXItemData,N.components.push({id:N.content.id})):N.type===At.particle?(N.components=[],P.push(N.content),N.content.id=Y,N.content.dataType=t.DataType.ParticleSystem,N.content.item={id:N.id},N.dataType=t.DataType.VFXItemData,N.components.push({id:N.content.id})):N.type===At.mesh?(N.components=[],P.push(N.content),N.content.id=Y,N.content.dataType=t.DataType.MeshComponent,N.content.item={id:N.id},N.dataType=t.DataType.VFXItemData,N.components.push({id:N.content.id})):N.type===At.skybox?(N.components=[],P.push(N.content),N.content.id=Y,N.content.dataType=t.DataType.SkyboxComponent,N.content.item={id:N.id},N.dataType=t.DataType.VFXItemData,N.components.push({id:N.content.id})):N.type===At.light?(N.components=[],P.push(N.content),N.content.id=Y,N.content.dataType=t.DataType.LightComponent,N.content.item={id:N.id},N.dataType=t.DataType.VFXItemData,N.components.push({id:N.content.id})):"camera"===N.type?(N.components=[],P.push(N.content),N.content.id=Y,N.content.dataType=t.DataType.CameraComponent,N.content.item={id:N.id},N.dataType=t.DataType.VFXItemData,N.components.push({id:N.content.id})):N.type===At.tree?(N.components=[],P.push(N.content),N.content.id=Y,N.content.dataType=t.DataType.TreeComponent,N.content.item={id:N.id},N.dataType=t.DataType.VFXItemData,N.components.push({id:N.content.id})):N.type===At.interact?(N.components=[],P.push(N.content),N.content.id=Y,N.content.dataType=t.DataType.InteractComponent,N.content.item={id:N.id},N.dataType=t.DataType.VFXItemData,N.components.push({id:N.content.id})):N.type===At.camera?(N.components=[],P.push(N.content),N.content.id=Y,N.content.dataType=t.DataType.CameraController,N.content.item={id:N.id},N.dataType=t.DataType.VFXItemData,N.components.push({id:N.content.id})):N.type===At.text&&(N.components=[],P.push(N.content),N.content.id=Y,N.content.dataType=t.DataType.TextComponent,N.content.item={id:N.id},N.dataType=t.DataType.VFXItemData,N.components.push({id:N.content.id}))}}catch(t){p={error:t}}finally{try{F&&!F.done&&(d=V.return)&&d.call(V)}finally{if(p)throw p.error}}return e}(n)),[2,n]}}))}))},[2,Promise.race([b,_()])]}))}))},e.prototype.precompile=function(t,e,r,i){return u(this,void 0,void 0,(function(){var n;return c(this,(function(o){switch(o.label){case 0:return r&&r.getShaderLibrary()?(n=null==r?void 0:r.getShaderLibrary(),[4,null==e?void 0:e.precompile(t,r,i)]):[2];case 1:return o.sent(),[4,new Promise((function(t){n.compileAllShaders((function(){t(null)}))}))];case 2:return o.sent(),[2]}}))}))},e.prototype.processJSON=function(t){return u(this,void 0,void 0,(function(){var e,r,i,n,o,a,s,u,l;return c(this,(function(c){switch(c.label){case 0:return e=uu(t),t.compositions.forEach((function(t,r){t.globalVolume&&(e.compositions[r].globalVolume=t.globalVolume)})),r=e.plugins,i=void 0===r?[]:r,n=e.compositions,o=e.imgUsage,a=e.images,[4,(s=new za(i)).processRawJSON(e,this.options)];case 1:return c.sent(),u=this.options.renderLevel,l={},o?function(t,e,r,i,n){for(var o=0;o<e.length;o++){var a=r[e[o].id];if(a)for(var s=0;s<a.length;s++){var u=a[s];vu(i[u].renderLevel,n)&&(t[u]=!0)}}}(l,n,o,a,u):null==a||a.forEach((function(t,e){l[e]=!0})),[2,{usedImages:l,jsonScene:e,pluginSystem:s}]}}))}))},e.prototype.processBins=function(t){return u(this,void 0,void 0,(function(){var e,r,i,n=this;return c(this,(function(o){return e=this.options.renderLevel,r=this.baseUrl,i=t.map((function(i){if(i instanceof ArrayBuffer)return i;if(vu(i.renderLevel,e))return n.loadBins(new URL(i.url,r).href);throw new Error("Invalid bins source: ".concat(JSON.stringify(t)))})),[2,Promise.all(i)]}))}))},e.prototype.processFontURL=function(t){return u(this,void 0,void 0,(function(){var r,i=this;return c(this,(function(n){return t?(r=t.map((function(t){return u(i,void 0,void 0,(function(){var r,i,n;return c(this,(function(o){switch(o.label){case 0:if(!t.fontURL||e.fonts.has(t.fontFamily))return[3,4];r=new URL(t.fontURL,this.baseUrl).href,i=new FontFace(null!==(n=t.fontFamily)&&void 0!==n?n:"","url("+r+")"),o.label=1;case 1:return o.trys.push([1,3,,4]),[4,i.load()];case 2:return o.sent(),document.fonts.add(i),e.fonts.add(t.fontFamily),[3,4];case 3:return o.sent(),lt.warn("Invalid fonts source: ".concat(JSON.stringify(r))),[3,4];case 4:return[2]}}))}))})),[2,Promise.all(r)]):[2]}))}))},e.prototype.processImages=function(e,r,i){return u(this,void 0,void 0,(function(){var n,o,a,s,l,h=this;return c(this,(function(f){return n=this.options,o=n.useCompressedTexture,a=n.variables,s=this.baseUrl,l=e.map((function(e,n){return u(h,void 0,void 0,(function(){var u,l,h,f,p,d,m,y,v,x,g,T,E,b,C,_,S,O,w;return c(this,(function(c){switch(c.label){case 0:if(!r[n])return[3,19];if(u=e.url,l=e.webp,h=new URL(u,s).href,f=l&&new URL(l,s).href,!("template"in e))return[3,16];if(p=e.template,d=void 0,!("v"in p)||2!==p.v||!p.background)return[3,9];if(!((m=ba(p,a))instanceof Array))return[3,6];y=p.background.name,c.label=1;case 1:return c.trys.push([1,3,,5]),S={},[4,Ee(m[0])];case 2:return S.image=c.sent(),S.url=m[0],d=S,[3,5];case 3:return c.sent(),O={},[4,Ee(m[1])];case 4:return O.image=c.sent(),O.url=m[1],d=O,[3,5];case 5:return a&&(a[y]=d.url),[3,8];case 6:return"string"!=typeof m?[3,8]:(w={},[4,Ee(m)]);case 7:w.image=c.sent(),w.url=m,d=w,c.label=8;case 8:return[3,11];case 9:return[4,Te(h,f)];case 10:d=c.sent(),c.label=11;case 11:v=void 0,c.label=12;case 12:return c.trys.push([12,14,,15]),[4,Oa(d.image,p,a,this.options,-1===e.oriY)];case 13:return v=c.sent(),[3,15];case 14:throw c.sent(),new Error("image template fail: ".concat(h));case 15:return[2,v];case 16:if("type"in e&&"video"===e.type)return x=e.loop,[2,Ce(e.url,{loop:x})];if("compressed"in e&&o&&i){if(g=e.compressed,T=void 0,i===Hr.ASTC?T=g.astc:i===Hr.PVRTC&&(T=g.pvrtc),T)return E=new URL(T,s).href,this.assets[n]={url:E,type:t.TextureSourceType.compressed},[2,this.loadBins(E)]}else{if("sourceType"in e)return[2,e];if(e instanceof HTMLImageElement||e instanceof HTMLCanvasElement||e instanceof HTMLVideoElement||e instanceof Ae)return[2,e]}c.label=17;case 17:return[4,Te(h,f)];case 18:return b=c.sent(),C=b.url,_=b.image,this.assets[n]={url:C,type:t.TextureSourceType.image},[2,_];case 19:return[2,void 0]}}))}))})),[2,Promise.all(l)]}))}))},e.prototype.processTextures=function(e,r,i){var n;return u(this,void 0,void 0,(function(){var o,s,l=this;return c(this,(function(h){return o=null!==(n=i.textures)&&void 0!==n?n:e.map((function(t,e){return{source:e}})),s=o.map((function(n,o){return u(l,void 0,void 0,(function(){var s,u,l,h;return c(this,(function(c){switch(c.label){case 0:if(n instanceof Ae)return[2,n];if(!("mipmaps"in n))return[3,4];c.label=1;case 1:return c.trys.push([1,3,,4]),[4,_e(n,r,i.bins)];case 2:return[2,c.sent()];case 3:throw s=c.sent(),new Error("load texture ".concat(o," fails, error message: ").concat(s));case 4:return"number"!=typeof(u=n.source)?[3,5]:(l=e[u],[3,7]);case 5:return"string"!=typeof u?[3,7]:[4,Ee(bu(u))];case 6:l=c.sent(),c.label=7;case 7:if(l)return h=function(e,r){if(e instanceof Ae)return e.source;if(e instanceof HTMLImageElement||function(t){var e;return"object"==typeof t&&null!==t&&"CANVAS"===(null===(e=t.tagName)||void 0===e?void 0:e.toUpperCase())}(e))return{image:e,sourceType:t.TextureSourceType.image,sourceFrom:r,keepImageSource:!0,minFilter:se.LINEAR,magFilter:se.LINEAR};if(e instanceof HTMLVideoElement)return{sourceType:t.TextureSourceType.video,video:e,minFilter:se.LINEAR,magFilter:se.LINEAR};if(e instanceof ArrayBuffer)return a(a({},Ie(e)),{sourceFrom:r});if("width"in e&&"height"in e&&"data"in e)return{sourceType:t.TextureSourceType.data,data:e,wrapS:se.CLAMP_TO_EDGE,wrapT:se.CLAMP_TO_EDGE,minFilter:se.NEAREST,magFilter:se.NEAREST};throw new Error("Invalid texture options")}(l,this.assets[o]),[2,h.sourceType===t.TextureSourceType.compressed?h:a(a({},h),n)];throw new Error("Invalid texture source: ".concat(u))}}))}))})),[2,Promise.all(s)]}))}))},e.prototype.loadJSON=function(t){return u(this,void 0,void 0,(function(){var e=this;return c(this,(function(r){return[2,new Promise((function(r,i){e.downloader.downloadJSON(t,r,(function(e,r){i("Couldn't load JSON ".concat(JSON.stringify(t),": status ").concat(e,", ").concat(r))}))}))]}))}))},e.prototype.loadBins=function(t){return u(this,void 0,void 0,(function(){var e=this;return c(this,(function(r){return[2,new Promise((function(r,i){e.downloader.downloadBinary(t,r,(function(e,r){i("Couldn't load bins ".concat(JSON.stringify(t),": status ").concat(e,", ").concat(r))}))}))]}))}))},e.prototype.removeTimer=function(t){var e=this.timers.indexOf(t);-1!==e&&this.timers.splice(e,1)},e.prototype.dispose=function(){var t;for(var e in this.timers.length&&this.timers.map((function(t){return window.clearTimeout(t)})),this.assets){var r=this.assets[e];null===(t=null==r?void 0:r.dispose)||void 0===t||t.call(r)}this.assets={},this.timers=[]},e.fonts=new Set,e}();function bu(t,e,r){void 0===e&&(e="base64File"),void 0===r&&(r="");for(var i=t.split(",")[1]||t,n=atob(i),o=[],a=0;a<n.length;a+=512){for(var s=n.slice(a,a+512),u=new Array(s.length),c=0;c<s.length;c++)u[c]=s.charCodeAt(c);var l=new Uint8Array(u);o.push(l)}var h=new Blob(o,{type:r});return new File([h],e,{type:r})}var Cu,_u,Su,Ou,wu=new H(1,1,1),Au=function(){function t(t,e){void 0===e&&(e={}),this.name=t,this.viewMatrix=q.fromIdentity(),this.projectionMatrix=q.fromIdentity(),this.viewProjectionMatrix=q.fromIdentity(),this.inverseViewMatrix=q.fromIdentity(),this.dirty=!0;var r=e.near,i=void 0===r?.1:r,n=e.far,o=void 0===n?20:n,a=e.fov,s=void 0===a?60:a,u=e.aspect,c=void 0===u?1:u,l=e.clipMode,h=void 0===l?It.portrait:l,f=e.position,p=void 0===f?[0,0,8]:f,d=e.rotation,m=void 0===d?[0,0,0]:d;this.options={near:i,far:o,fov:s,aspect:c,clipMode:h,position:H.fromArray(p),rotation:Q.fromArray(m)},this.dirty=!0,this.updateMatrix()}return Object.defineProperty(t.prototype,"near",{get:function(){return this.options.near},set:function(t){this.options.near!==t&&(this.options.near=t,this.dirty=!0)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"far",{get:function(){return this.options.far},set:function(t){this.options.far!==t&&(this.options.far=t,this.dirty=!0)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"fov",{get:function(){return this.options.fov},set:function(t){this.options.fov!==t&&(this.options.fov=t,this.dirty=!0)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"aspect",{get:function(){return this.options.aspect},set:function(t){this.options.aspect!==t&&(this.options.aspect=t,this.dirty=!0)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"clipMode",{get:function(){return this.options.clipMode},set:function(t){void 0!==t&&this.options.clipMode!==t&&(this.options.clipMode=t,this.dirty=!0)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"position",{get:function(){return this.options.position.clone()},set:function(t){this.options.position.equals(t)||(this.options.position.copyFrom(t),this.dirty=!0)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"rotation",{get:function(){return this.options.rotation.clone()},set:function(t){this.options.rotation.equals(t)||(this.options.rotation.copyFrom(t),this.dirty=!0,this.options.quat=void 0)},enumerable:!1,configurable:!0}),t.prototype.getViewMatrix=function(){return this.updateMatrix(),this.viewMatrix.clone()},t.prototype.getInverseViewMatrix=function(){return this.updateMatrix(),this.inverseViewMatrix.clone()},t.prototype.getProjectionMatrix=function(){return this.updateMatrix(),this.projectionMatrix.clone()},t.prototype.getInverseProjectionMatrix=function(){var t;return this.updateMatrix(),null===(t=this.inverseProjectionMatrix)||void 0===t?void 0:t.clone()},t.prototype.getViewProjectionMatrix=function(){return this.updateMatrix(),this.viewProjectionMatrix.clone()},t.prototype.getInverseViewProjectionMatrix=function(){return this.updateMatrix(),this.inverseViewProjectionMatrix||(this.inverseViewProjectionMatrix=this.viewProjectionMatrix.clone(),this.inverseViewProjectionMatrix.invert()),this.inverseViewProjectionMatrix.clone()},t.prototype.getModelViewProjection=function(t,e){return t.multiplyMatrices(this.viewProjectionMatrix,e)},t.prototype.getInverseVPRatio=function(t){var e=new H(0,0,t),r=this.getViewProjectionMatrix(),i=this.getInverseViewProjectionMatrix(),n=r.projectPoint(e).z;return i.projectPoint(new H(1,1,n))},t.prototype.setQuat=function(t){void 0===this.options.quat?(this.options.quat=t.clone(),this.dirty=!0):this.options.quat.equals(t)||(this.options.quat.copyFrom(t),this.dirty=!0),this.dirty&&this.setRotationByQuat(t)},t.prototype.getQuat=function(){var t=this.options.quat;if(void 0===t){t=new Y;var e=this.options.rotation;e&&t.setFromEuler(e),this.options.quat=t}return t},t.prototype.getOptions=function(){return this.options},t.prototype.copy=function(t){var e=t.near,r=t.far,i=t.fov,n=t.clipMode,o=t.aspect,a=t.position,s=t.rotation;this.near=e,this.far=r,this.fov=i,this.clipMode=n,this.aspect=o,this.position=a,this.rotation=s,this.updateMatrix()},t.prototype.updateMatrix=function(){if(this.dirty){var t=this.options,e=t.fov,r=t.aspect,i=t.near,n=t.far,o=t.clipMode,a=t.position;this.projectionMatrix.perspective(e*D,r,i,n,o===It.portrait),this.inverseViewMatrix.compose(a,this.getQuat(),wu),this.viewMatrix.copyFrom(this.inverseViewMatrix).invert(),this.viewProjectionMatrix.multiplyMatrices(this.projectionMatrix,this.viewMatrix),this.inverseViewProjectionMatrix=null,this.dirty=!1}},t.prototype.setRotationByQuat=function(t){Ui.getRotation(t,this.options.rotation)},t}(),Ru=function(e){function r(){var t=null!==e&&e.apply(this,arguments)||this;return t.items=[],t}return o(r,e),r.prototype.start=function(){var t,e,r=this.item.props.startTime,i=void 0===r?0:r;this.startTime=i,this.timelineComponents=[],this.timelineComponent=this.item.getComponent(Sn);try{for(var n=l(this.items),o=n.next();!o.done;o=n.next()){var a=o.value.getComponent(Sn);a&&(this.timelineComponents.push(a),(0!==this.item.endBehavior||this.timelineComponent.reusable)&&(a.reusable=!0))}}catch(e){t={error:e}}finally{try{o&&!o.done&&(e=n.return)&&e.call(n)}finally{if(t)throw t.error}}},r.prototype.update=function(t){var e,r,i=this.timelineComponent.getTime();try{for(var n=l(this.timelineComponents),o=n.next();!o.done;o=n.next()){var a=o.value,s=a.toLocalTime(i);a.setTime(s)}}catch(t){e={error:t}}finally{try{o&&!o.done&&(r=n.return)&&r.call(n)}finally{if(e)throw e.error}}},r.prototype.resetStatus=function(){this.item.ended=!1,this.item.delaying=!0},r.prototype.createContent=function(){var e=this.items;if(this.items.length=0,this.item.composition){var i=this.item.engine.assetLoader;this.item.composition.compositionSourceManager.jsonScene;for(var n=this.item.props.items?this.item.props.items:[],o=0;o<n.length;o++){var s=void 0,u=n[o];if(t.Item.isComposition(u)){var c=u.content.options.refId,l=this.item.composition.refCompositionProps.get(c);if(!l)throw new Error("引用的Id: ".concat(c," 的预合成不存在"));l.content=u.content,(s=new Ma(this.engine,a(a({},l),{id:u.id,name:u.name,delay:u.delay,duration:u.duration,endBehavior:u.endBehavior,parentId:u.parentId,transform:u.transform,oldId:u.oldId}))).type=At.composition,s.composition=this.item.composition,s.addComponent(r).refId=c,s.transform.parentTransform=this.transform,this.item.composition.refContent.push(s),5===s.endBehavior&&(this.item.composition.autoRefTex=!1),s.getComponent(r).createContent()}else u.type===At.sprite||u.type===At.text||u.type===At.particle||u.type===At.mesh||u.type===At.skybox||u.type===At.light||"camera"===u.type||u.type===At.tree||u.type===At.interact||u.type===At.camera?(s=i.loadGUID(u.id)).composition=this.item.composition:((s=new Ma(this.engine,u)).composition=this.item.composition,s=Pa(u,this.item.composition));s.parent=this.item,s.transform.parentTransform=u.type===At.camera?new Ui:this.transform,Ma.isExtraCamera(s)&&(this.item.composition.extraCamera=s),e.push(s)}}},r.prototype.onDestroy=function(){this.item.composition&&this.items&&(this.items.forEach((function(t){return t.dispose()})),this.items.length=0)},r.prototype.hitTest=function(e,r,i,n,o,a){for(var s=[],u=(null==a?void 0:a.stop)||ht,c=(null==a?void 0:a.skip)||ht,l=(null==a?void 0:a.maxCount)||this.items.length,h=0;h<this.items.length&&n.length<l;h++){var f=this.items[h];if(f.lifetime>=0&&!f.ended&&!Ma.isComposition(f)&&!c(f)){var p=f.getHitTestParams(o);if(p){var d=!1,m=new H;if(p.type===t.HitTestType.triangle)for(var y=p.triangles,v=p.backfaceCulling,x=0;x<y.length;x++){var g=y[x];if(e.intersectTriangle(g,m,v)){d=!0,s.push(m);break}}else if(p.type===t.HitTestType.box){var T=p.center,E=p.size,b=T.clone().addScaledVector(E,.5),C=T.clone().addScaledVector(E,-.5);e.intersectBox({min:b,max:C},m)&&(d=!0,s.push(m))}else if(p.type===t.HitTestType.sphere){T=p.center;var _=p.radius;e.intersectSphere({center:T,radius:_},m)&&(d=!0,s.push(m))}else if(p.type===t.HitTestType.custom){var S=p.collect(e,new j(r,i));S&&S.length>0&&(S.forEach((function(t){s.push(t)})),d=!0)}if(d){var O={compContent:this.item,id:f.id,name:f.name,position:s[s.length-1],parentId:f.parentId,hitPositions:s,behavior:p.behavior};if(n.push(O),u(O))return n}}}}return n},r}(sr),Lu=function(){function e(t,e,r){var i,n=this;this.compositionSourceManager=r,this.speed=1,this.loaderData={},this.refContent=[],this.refCompositionProps=new Map,this.assigned=!1,this.destroyed=!1,this.paused=!1,this.lastVideoUpdateTime=0,this.postLoaders=[];var o=t.reusable,s=void 0!==o&&o,u=t.speed,c=void 0===u?1:u,l=t.baseRenderOrder,h=void 0===l?0:l,f=t.renderer,p=t.onPlayerPause,d=t.onMessageItem,m=t.onEnd,y=t.event,v=t.width,x=t.height;e.jsonScene.imgUsage=void 0,s&&(this.keepResource=!0,e.textures=void 0,e.consumed=!0);var g=this.compositionSourceManager,T=g.sourceContent,E=g.pluginSystem,b=g.imgUsage,C=g.totalTime,_=g.renderLevel,S=g.refCompositionProps;F(T),this.renderer=f,this.refCompositionProps=S;var O=new Ma(this.getEngine(),T);O.name="rootItem",O.type=At.composition,O.composition=this,this.rootComposition=O.addComponent(Ru),this.rootTimeline=O.getComponent(Sn);var w=!s&&b;this.transform=new Ui({name:this.name}),this.transform.engine=this.getEngine(),O.transform=this.transform,this.globalVolume=T.globalVolume,this.width=v,this.height=x,this.renderOrder=h,this.id=T.id,this.renderer=f,this.texInfo=null!=w?w:{},this.event=y,this.statistic={loadTime:null!=C?C:0,loadStart:null!==(i=e.startTime)&&void 0!==i?i:0,firstFrameTime:0},this.reusable=s,this.speed=c,this.renderLevel=_,this.autoRefTex=!this.keepResource&&w&&5!==O.endBehavior,this.rootItem=O,this.name=T.name,this.pluginSystem=E,this.pluginSystem.initializeComposition(this,e),this.camera=new Au(this.name,a(a({},null==T?void 0:T.camera),{aspect:v/x})),this.url=e.url,this.assigned=!0,this.globalTime=0,this.onPlayerPause=p,this.onMessageItem=d,this.onEnd=m,this.createRenderFrame(),this.rendererOptions=null,this.rootComposition.createContent(),this.buildItemTree(this.rootItem),this.rootItem.onEnd=function(){window.setTimeout((function(){var t;null===(t=n.onEnd)||void 0===t||t.call(n,n)}),0)},this.pluginSystem.resetComposition(this,this.renderFrame)}return Object.defineProperty(e.prototype,"handleEnd",{set:function(t){console.warn("The handleEnd property is deprecated. Use onEnd instead."),this.onEnd=t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"textures",{get:function(){return this.compositionSourceManager.textures},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"items",{get:function(){return this.rootComposition.items},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"startTime",{get:function(){var t;return null!==(t=this.rootComposition.startTime)&&void 0!==t?t:0},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"time",{get:function(){return this.rootTimeline.getTime()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"isDestroyed",{get:function(){return this.destroyed},enumerable:!1,configurable:!0}),e.prototype.getDuration=function(){return this.rootItem.duration},e.prototype.restart=function(){this.rootComposition.items,this.prepareRender(),this.reset(),this.transform.setValid(!0),this.rootComposition.resetStatus(),this.forwardTime(this.startTime)},e.prototype.setIndex=function(t){this.renderOrder=t},e.prototype.getIndex=function(){return this.renderOrder},e.prototype.setSpeed=function(t){this.speed=t},e.prototype.getSpeed=function(){return this.speed},e.prototype.play=function(){this.rootItem.ended&&this.reusable&&this.restart(),this.rootTimeline.timelineStarted?this.gotoAndPlay(this.time-this.startTime):this.gotoAndPlay(0)},e.prototype.pause=function(){this.paused=!0},e.prototype.getPaused=function(){return this.paused},e.prototype.resume=function(){this.paused=!1},e.prototype.gotoAndPlay=function(t){this.resume(),this.rootTimeline.timelineStarted||this.rootComposition.start(),this.forwardTime(t+this.startTime)},e.prototype.gotoAndStop=function(t){this.gotoAndPlay(t),this.pause()},e.prototype.createRenderFrame=function(){this.renderFrame=new Fr({camera:this.camera,renderer:this.renderer,keepColorBuffer:this.keepColorBuffer,globalVolume:this.globalVolume}),this.renderFrame.cachedTextures=this.textures},e.prototype.setTime=function(t){var e=this.paused;e&&this.resume(),this.rootTimeline.timelineStarted||this.rootComposition.start(),this.forwardTime(t+this.startTime,!0),e&&this.pause()},e.prototype.addItem=function(t){this.items.push(t),t.setParent(this.rootItem)},e.prototype.forwardTime=function(t,e){void 0===e&&(e=!1);for(var r=1e3*t-1e3*this.rootTimeline.getTime(),i=r<0,n=Math.abs(r),o=i?-15:15;n>15;n-=15)this.update(o,e);this.update(i?-n:n,e)},e.prototype.reset=function(){var t=this,e=new Ma(this.getEngine(),this.compositionSourceManager.sourceContent);e.type=At.composition,e.composition=this,this.rootComposition=e.addComponent(Ru),this.rootTimeline=e.getComponent(Sn),this.transform=new Ui({name:this.name}),this.transform.engine=this.getEngine(),e.transform=this.transform,this.rootItem=e,this.rendererOptions=null,this.globalTime=0,this.rootComposition.createContent(),this.buildItemTree(this.rootItem),this.rootItem.onEnd=function(){window.setTimeout((function(){var e;null===(e=t.onEnd)||void 0===e||e.call(t,t)}),0)},this.pluginSystem.resetComposition(this,this.renderFrame)},e.prototype.prepareRender=function(){var t,e,r,i,n,o,a,s,u,c,h=this,f=this.renderFrame;f._renderPasses[0].meshes.length=0,this.postLoaders.length=0,this.pluginSystem.plugins.forEach((function(t){t.prepareRenderFrame(h,f)&&h.postLoaders.push(t)}));try{for(var p=l(this.rootComposition.items),d=p.next();!d.done;d=p.next()){var m=d.value.getComponents(ur);try{for(var y=(r=void 0,l(m)),v=y.next();!v.done;v=y.next()){(S=v.value).isActiveAndEnabled&&f.addMeshToDefaultRenderPass(S)}}catch(t){r={error:t}}finally{try{v&&!v.done&&(i=y.return)&&i.call(y)}finally{if(r)throw r.error}}}}catch(e){t={error:e}}finally{try{d&&!d.done&&(e=p.return)&&e.call(p)}finally{if(t)throw t.error}}try{for(var x=l(this.refContent),g=x.next();!g.done;g=x.next()){var T=g.value;try{for(var E=(a=void 0,l(T.getComponent(Ru).items)),b=E.next();!b.done;b=E.next()){m=b.value.getComponents(ur);try{for(var C=(u=void 0,l(m)),_=C.next();!_.done;_=C.next()){var S;(S=_.value).isActiveAndEnabled&&f.addMeshToDefaultRenderPass(S)}}catch(t){u={error:t}}finally{try{_&&!_.done&&(c=C.return)&&c.call(C)}finally{if(u)throw u.error}}}}catch(t){a={error:t}}finally{try{b&&!b.done&&(s=E.return)&&s.call(E)}finally{if(a)throw a.error}}}}catch(t){n={error:t}}finally{try{g&&!g.done&&(o=x.return)&&o.call(x)}finally{if(n)throw n.error}}this.postLoaders.forEach((function(t){return t.postProcessFrame(h,f)}))},e.prototype.shouldRestart=function(){var t=this.rootItem,e=t.ended,r=t.endBehavior;return e&&5===r},e.prototype.shouldDispose=function(){if(this.reusable)return!1;var t=this.rootItem,e=t.ended,r=t.endBehavior;return e&&(!r||3===r)},e.prototype.update=function(t,e){var r,i;if(void 0===e&&(e=!1),this.assigned&&!this.paused){this.shouldRestart()&&this.restart();var n=this.getUpdateTime(t*this.speed);if(this.globalTime+=n,this.rootTimeline.isActiveAndEnabled){var o=this.rootTimeline.toLocalTime(this.globalTime/1e3);this.rootTimeline.setTime(o)}this.updateVideo(),this.updatePluginLoaders(t),this.callStart(this.rootItem),this.callUpdate(this.rootItem,n),this.callLateUpdate(this.rootItem,n),null===(i=null===(r=this.extraCamera)||void 0===r?void 0:r.getComponent(Sn))||void 0===i||i.update(t),this.updateCamera(),this.shouldDispose()?this.dispose():e||this.prepareRender()}},e.prototype.getUpdateTime=function(t){var e=1e3*this.startTime;this.rootItem;var r=1e3*this.rootTimeline.getTime();return t<0&&r+t<e?e-r:t},e.prototype.callStart=function(t){var e,r,i,n,o,a;try{for(var s=l(t.itemBehaviours),u=s.next();!u.done;u=s.next()){var c=u.value;c.isActiveAndEnabled&&!c.started&&(c.start(),c.started=!0)}}catch(t){e={error:t}}finally{try{u&&!u.done&&(r=s.return)&&r.call(s)}finally{if(e)throw e.error}}try{for(var h=l(t.rendererComponents),f=h.next();!f.done;f=h.next()){var p=f.value;p.isActiveAndEnabled&&!p.started&&(p.start(),p.started=!0)}}catch(t){i={error:t}}finally{try{f&&!f.done&&(n=h.return)&&n.call(h)}finally{if(i)throw i.error}}try{for(var d=l(t.children),m=d.next();!m.done;m=d.next()){var y=m.value;this.callStart(y)}}catch(t){o={error:t}}finally{try{m&&!m.done&&(a=d.return)&&a.call(d)}finally{if(o)throw o.error}}},e.prototype.callUpdate=function(t,e){var r,i,n,o,a,s;try{for(var u=l(t.itemBehaviours),c=u.next();!c.done;c=u.next()){var h=c.value;h.isActiveAndEnabled&&h.started&&h.update(e)}}catch(t){r={error:t}}finally{try{c&&!c.done&&(i=u.return)&&i.call(u)}finally{if(r)throw r.error}}try{for(var f=l(t.rendererComponents),p=f.next();!p.done;p=f.next()){var d=p.value;d.isActiveAndEnabled&&d.started&&d.update(e)}}catch(t){n={error:t}}finally{try{p&&!p.done&&(o=f.return)&&o.call(f)}finally{if(n)throw n.error}}try{for(var m=l(t.children),y=m.next();!y.done;y=m.next()){var v=y.value;Ma.isComposition(v)&&v.ended&&5===v.endBehavior?(v.getComponent(Ru).resetStatus(),this.callUpdate(v,0)):this.callUpdate(v,e)}}catch(t){a={error:t}}finally{try{y&&!y.done&&(s=m.return)&&s.call(m)}finally{if(a)throw a.error}}},e.prototype.callLateUpdate=function(t,e){var r,i,n,o,a,s;try{for(var u=l(t.itemBehaviours),c=u.next();!c.done;c=u.next()){var h=c.value;h.isActiveAndEnabled&&h.started&&h.lateUpdate(e)}}catch(t){r={error:t}}finally{try{c&&!c.done&&(i=u.return)&&i.call(u)}finally{if(r)throw r.error}}try{for(var f=l(t.rendererComponents),p=f.next();!p.done;p=f.next()){var d=p.value;d.isActiveAndEnabled&&d.started&&d.lateUpdate(e)}}catch(t){n={error:t}}finally{try{p&&!p.done&&(o=f.return)&&o.call(f)}finally{if(n)throw n.error}}try{for(var m=l(t.children),y=m.next();!y.done;y=m.next()){var v=y.value;this.callLateUpdate(v,e)}}catch(t){a={error:t}}finally{try{y&&!y.done&&(s=m.return)&&s.call(m)}finally{if(a)throw a.error}}},e.prototype.buildItemTree=function(t){var e,r,i,n,o,a;if(t.composition){var s=new Map,u=t.getComponent(Ru).items;try{for(var c=l(u),h=c.next();!h.done;h=c.next()){var f=h.value;s.set(f.id,f)}}catch(t){e={error:t}}finally{try{h&&!h.done&&(r=c.return)&&r.call(c)}finally{if(e)throw e.error}}try{for(var p=l(u),d=p.next();!d.done;d=p.next()){if(void 0===(f=d.value).parentId)f.setParent(t);else{var m=this.getParentIdWithoutSuffix(f.parentId),y=s.get(m);if(!y)throw Error("元素引用了不存在的元素,请检查数据");Ma.isTree(y)&&f.parentId.includes("^")?(f.parent=y,f.transform.parentTransform=y.getNodeTransform(f.parentId)):(f.parent=y,f.transform.parentTransform=y.transform),y.children.push(f)}}}catch(t){i={error:t}}finally{try{d&&!d.done&&(n=p.return)&&n.call(p)}finally{if(i)throw i.error}}try{for(var v=l(u),x=v.next();!x.done;x=v.next()){f=x.value;Ma.isComposition(f)&&this.buildItemTree(f)}}catch(t){o={error:t}}finally{try{x&&!x.done&&(a=v.return)&&a.call(v)}finally{if(o)throw o.error}}}},e.prototype.getParentIdWithoutSuffix=function(t){var e=t.lastIndexOf("^");return e>-1?t.substring(0,e):t},e.prototype.updateVideo=function(){var t,e=performance.now();e-this.lastVideoUpdateTime>33&&((null!==(t=this.textures)&&void 0!==t?t:[]).forEach((function(t){return null==t?void 0:t.uploadCurrentVideoFrame()})),this.lastVideoUpdateTime=e)},e.prototype.updateCamera=function(){this.camera.updateMatrix()},e.prototype.updatePluginLoaders=function(t){var e=this;this.pluginSystem.plugins.forEach((function(r){return r.onCompositionUpdate(e,t)}))},e.prototype.getItemByName=function(t){return this.rootItem.find(t)},e.prototype.getHitTestRay=function(t,e){var r=this.renderFrame.editorTransform,i=r.x,n=r.y;return pi((t-r.z)/i,(e-r.w)/n,this.camera)},e.prototype.getEngine=function(){var t;return null===(t=this.renderer)||void 0===t?void 0:t.engine},e.prototype.hitTest=function(t,e,r,i){var n;if(this.isDestroyed)return[];var o=[],a=this.getHitTestRay(t,e);return null===(n=this.rootItem.getComponent(Ru))||void 0===n||n.hitTest(a,t,e,o,r,i),this.refContent.forEach((function(n){var s;null===(s=n.getComponent(Ru))||void 0===s||s.hitTest(a,t,e,o,r,i)})),o},e.prototype.addInteractiveItem=function(t,e){var r;if(e===Ot.MESSAGE)return null===(r=this.onMessageItem)||void 0===r||r.call(this,{name:t.name,phrase:2,id:t.id,compositionId:this.id}),t.id},e.prototype.removeInteractiveItem=function(t,e){var r;e===Ot.MESSAGE&&(null===(r=this.onMessageItem)||void 0===r||r.call(this,{name:t.name,phrase:1,id:t.id,compositionId:this.id}))},e.prototype.destroyTextures=function(e){for(var r,i=0;i<e.length;i++){var n=e[i];if(n)if(n.sourceType!==t.TextureSourceType.data||this.texInfo[n.getInstanceId()]){if(this.autoRefTex)--this.texInfo[n.getInstanceId()]||n.dispose()}else n!==(null===(r=this.rendererOptions)||void 0===r?void 0:r.emptyTexture)&&n!==this.renderFrame.transparentTexture&&n!==this.getEngine().emptyTexture&&n.dispose()}},e.prototype.destroyItem=function(t){var e=this;t.type==At.composition?4!==t.endBehavior&&t.getComponent(Ru).items.forEach((function(t){return e.pluginSystem.plugins.forEach((function(r){return r.onCompositionItemRemoved(e,t)}))})):(E(this.items,t),this.pluginSystem.plugins.forEach((function(r){return r.onCompositionItemRemoved(e,t)})))},e.prototype.lost=function(t){this.videoState=this.textures.map((function(t){if("video"in t.source)return t.source.video.pause(),t.source.video.currentTime})),this.textures.map((function(t){return t.dispose()})),this.dispose()},e.prototype.dispose=function(){var e,r,i=this;if(!this.destroyed){this.destroyed=!0;var n={},o=this.textures;o&&this.keepResource&&o.forEach((function(t){(null==t?void 0:t.dispose)&&(n[t.id]=t.dispose,t.dispose=ht)})),this.rootItem.dispose(),this.renderFrame.dispose(),null===(e=this.rendererOptions)||void 0===e||e.emptyTexture.dispose(),null===(r=this.pluginSystem)||void 0===r||r.destroyComposition(this),this.update=function(){lt.error("Update disposed composition: ".concat(i.name,"."))},this.onPlayerPause=ht,this.dispose=ht,o&&this.keepResource&&o.forEach((function(t){return t.dispose=n[t.id]})),this.compositionSourceManager.dispose(),this.refCompositionProps.clear(),this.renderer.env!==Ki&&this.renderer.clear({stencilAction:t.TextureLoadAction.clear,clearStencil:0,depthAction:t.TextureLoadAction.clear,clearDepth:1,colorAction:t.TextureLoadAction.clear,clearColor:[0,0,0,0]})}},e.prototype.setEditorTransform=function(t,e,r){this.renderFrame.editorTransform.set(t,t,e,r)},e.prototype.translateByPixel=function(t,e){this.renderer?this.rootItem.translateByPixel(t,e):console.warn("Can not translate position when container not assigned")},e.prototype.translate=function(t,e,r){this.rootItem.translate(t,e,r)},e.prototype.setPosition=function(t,e,r){this.rootItem.setPosition(t,e,r)},e.prototype.rotate=function(t,e,r){this.rootItem.rotate(t,e,r)},e.prototype.setRotation=function(t,e,r){this.rootItem.setRotation(t,e,r)},e.prototype.scale=function(t,e,r){this.rootItem.scale(t,e,r)},e.prototype.setScale=function(t,e,r){this.rootItem.setScale(t,e,r)},e.prototype.offloadTexture=function(){this.textureOffloaded||(this.textures.forEach((function(t){return t&&t.offloadData()})),this.textureOffloaded=!0)},e.prototype.getRendererOptions=function(){return this.rendererOptions||(this.rendererOptions={emptyTexture:this.renderFrame.emptyTexture,cachePrefix:"-"}),this.rendererOptions},e.prototype.reloadTexture=function(){return u(this,void 0,void 0,(function(){return c(this,(function(t){switch(t.label){case 0:return this.textureOffloaded?[4,Promise.all(this.textures.map((function(t){return null==t?void 0:t.reloadData()})))]:[3,2];case 1:t.sent(),this.textureOffloaded=!1,t.label=2;case 2:return[2]}}))}))},e}(),Iu=0,Mu=function(){function t(t,e){var r,i;this.refCompositions=new Map,this.refCompositionProps=new Map,this.mask=0,this.engine=e;var n=t.jsonScene,o=t.renderLevel,a=t.textureOptions,s=t.pluginSystem,u=t.totalTime,c=n.compositions,h=n.imgUsage,f=n.compositionId;if(!a)throw new Error("scene.textures expected");var p=a;try{for(var d=l(c),m=d.next();!m.done;m=d.next()){var y=m.value;y.id===f?this.composition=y:this.refCompositions.set(y.id,y)}}catch(t){r={error:t}}finally{try{m&&!m.done&&(i=d.return)&&i.call(d)}finally{if(r)throw r.error}}if(!this.composition)throw new Error("Invalid composition id: "+f);this.jsonScene=n,this.renderLevel=o,this.pluginSystem=s,this.totalTime=null!=u?u:0,this.imgUsage=null!=h?h:{},this.textures=p,Iu=0,this.sourceContent=this.getContent(this.composition)}return t.prototype.getContent=function(t){var e=t.id,r=t.duration,i=t.name,n=t.endBehavior,o=t.camera,a=t.globalVolume,s=t.startTime,u=void 0===s?0:s,c=this.assembleItems(t);return{id:e,duration:r,name:i,endBehavior:isNaN(n)?1:n,items:c,camera:o,startTime:u,globalVolume:a}},t.prototype.assembleItems=function(t){var e,r,i,n,o,a,s=this,u=[];this.mask++;var c={};try{for(var h=l(this.jsonScene.components),f=h.next();!f.done;f=h.next()){var p=f.value;c[p.id]=p}}catch(t){e={error:t}}finally{try{f&&!f.done&&(r=h.return)&&r.call(h)}finally{if(e)throw e.error}}try{for(var d=l(t.items),m=d.next();!m.done;m=d.next()){var y=m.value,v=this.engine.jsonSceneData[y.id],x=v;if(vu(v.renderLevel,this.renderLevel)){if(x.type===At.sprite||x.type===At.particle)try{for(var g=(o=void 0,l(x.components)),T=g.next();!T.done;T=g.next()){var E=c[T.value.id];this.preProcessItemContent(E)}}catch(t){o={error:t}}finally{try{T&&!T.done&&(a=g.return)&&a.call(g)}finally{if(o)throw o.error}}else{var b=x.content;b&&this.preProcessItemContent(b)}var C=v.pn,_=this.jsonScene.plugins,S=void 0===_?[]:_;if(x.listIndex=Iu++,void 0!==C&&Number.isInteger(C)&&(x.pluginName=S[C]),x.type===At.composition){var O=v.content.options.refId;if(!this.refCompositions.get(O))throw new Error("Invalid Ref Composition id: "+O);var w=this.getContent(this.refCompositions.get(O));this.refCompositionProps.has(O)||this.refCompositionProps.set(O,w),w.items.forEach((function(t){s.processMask(t.content)})),x.items=w.items}u.push(x)}}}catch(t){i={error:t}}finally{try{m&&!m.done&&(n=d.return)&&n.call(d)}finally{if(i)throw i.error}}return u},t.prototype.preProcessItemContent=function(t){var e;if(t.renderer){t.renderer=this.changeTex(t.renderer),t.renderer.mask||this.processMask(t.renderer);var r=t.splits&&!t.textureSheetAnimation&&t.splits[0];Number.isInteger(t.renderer.shape)?t.renderer.shape=Uo(null===(e=this.jsonScene)||void 0===e?void 0:e.shapes[t.renderer.shape],r):t.renderer.shape&&mt(t.renderer.shape)&&(t.renderer.shape=Uo(t.renderer.shape,r))}t.trails&&(t.trails=this.changeTex(t.trails))},t.prototype.changeTex=function(t){if(!t.texture)return t;var e=t.texture.id;return void 0!==e&&this.addTextureUsage(e),t},t.prototype.addTextureUsage=function(t){var e,r=t,i=null!==(e=this.imgUsage)&&void 0!==e?e:{};r&&i&&(i.hasOwnProperty(r)||(i[r]=0),i[r]++)},t.prototype.processMask=function(t){if(t.maskMode!==Ct.NONE&&!t.mask){var e=t.maskMode;e===Ct.MASK?t.mask=++this.mask:e!==Ct.OBSCURED&&e!==Ct.REVERSE_OBSCURED||(t.mask=this.mask)}},t.prototype.dispose=function(){this.textures=[],this.composition=void 0,this.jsonScene=void 0,this.totalTime=0,this.pluginSystem=void 0,this.sourceContent=void 0,this.refCompositions.clear(),this.refCompositionProps.clear()},t}(),Pu=function(){function e(){this.destroyed=!1,this.textures=[],this.materials=[],this.geometries=[],this.meshes=[],this.renderPasses=[],this.jsonSceneData={},this.objectInstance={},this.assetLoader=new Qr(this),this.createDefaultTexture()}return e.prototype.clearResources=function(){this.jsonSceneData={},this.objectInstance={}},e.prototype.addEffectsObjectData=function(t){this.jsonSceneData[t.id]=t},e.prototype.findEffectsObjectData=function(t){return this.jsonSceneData[t]},e.prototype.addInstance=function(t){this.objectInstance[t.getInstanceId()]=t},e.prototype.getInstance=function(t){return this.objectInstance[t]},e.prototype.removeInstance=function(t){delete this.objectInstance[t]},e.prototype.addPackageDatas=function(t){var e,r,i,n,o,a,s,u,c,h,f,p,d=t.jsonScene;if(d.items)try{for(var m=l(d.items),y=m.next();!y.done;y=m.next()){var v=y.value;this.addEffectsObjectData(v)}}catch(t){e={error:t}}finally{try{y&&!y.done&&(r=m.return)&&r.call(m)}finally{if(e)throw e.error}}if(d.materials)try{for(var x=l(d.materials),g=x.next();!g.done;g=x.next()){var T=g.value;this.addEffectsObjectData(T)}}catch(t){i={error:t}}finally{try{g&&!g.done&&(n=x.return)&&n.call(x)}finally{if(i)throw i.error}}if(d.shaders)try{for(var E=l(d.shaders),b=E.next();!b.done;b=E.next()){var C=b.value;this.addEffectsObjectData(C)}}catch(t){o={error:t}}finally{try{b&&!b.done&&(a=E.return)&&a.call(E)}finally{if(o)throw o.error}}if(d.geometries)try{for(var _=l(d.geometries),S=_.next();!S.done;S=_.next()){var O=S.value;this.addEffectsObjectData(O)}}catch(t){s={error:t}}finally{try{S&&!S.done&&(u=_.return)&&u.call(_)}finally{if(s)throw s.error}}if(d.components)try{for(var w=l(d.components),A=w.next();!A.done;A=w.next()){var R=A.value;this.addEffectsObjectData(R)}}catch(t){c={error:t}}finally{try{A&&!A.done&&(h=w.return)&&h.call(w)}finally{if(c)throw c.error}}if(t.textureOptions)try{for(var L=l(t.textureOptions),I=L.next();!I.done;I=L.next()){var M=I.value;this.addEffectsObjectData(M)}}catch(t){f={error:t}}finally{try{I&&!I.done&&(p=L.return)&&p.call(L)}finally{if(f)throw f.error}}},e.prototype.createVFXItemsAsync=function(t){return u(this,void 0,void 0,(function(){var e,r,i,n,o,a,s;return c(this,(function(u){switch(u.label){case 0:e=t.jsonScene,u.label=1;case 1:u.trys.push([1,6,7,8]),r=l(e.items),i=r.next(),u.label=2;case 2:return i.done?[3,5]:"ECS"!==(n=i.value).type&&n.type!==At.sprite&&n.type!==At.particle&&n.type!==At.mesh&&n.type!==At.skybox&&n.type!==At.light&&"camera"!==n.type&&n.type!==At.tree&&n.type!==At.interact&&n.type!==At.camera?[3,4]:this.database?[4,this.assetLoader.loadGUIDAsync(n.id)]:[3,4];case 3:u.sent(),u.label=4;case 4:return i=r.next(),[3,2];case 5:return[3,8];case 6:return o=u.sent(),a={error:o},[3,8];case 7:try{i&&!i.done&&(s=r.return)&&s.call(r)}finally{if(a)throw a.error}return[7];case 8:return[2]}}))}))},e.prototype.addTexture=function(t){this.destroyed||T(this.textures,t)},e.prototype.removeTexture=function(t){this.destroyed||E(this.textures,t)},e.prototype.addMaterial=function(t){this.destroyed||T(this.materials,t)},e.prototype.removeMaterial=function(t){this.destroyed||E(this.materials,t)},e.prototype.addGeometry=function(t){this.destroyed||T(this.geometries,t)},e.prototype.removeGeometry=function(t){this.destroyed||E(this.geometries,t)},e.prototype.addMesh=function(t){this.destroyed||T(this.meshes,t)},e.prototype.removeMesh=function(t){this.destroyed||E(this.meshes,t)},e.prototype.addRenderPass=function(t){this.destroyed||T(this.renderPasses,t)},e.prototype.removeRenderPass=function(t){this.destroyed||E(this.renderPasses,t)},Object.defineProperty(e.prototype,"isDestroyed",{get:function(){return this.destroyed},enumerable:!1,configurable:!0}),e.prototype.getShaderLibrary=function(){return this.renderer.getShaderLibrary()},e.prototype.createDefaultTexture=function(){var e={type:se.UNSIGNED_BYTE,format:se.RGBA,internalFormat:se.RGBA,wrapS:se.MIRRORED_REPEAT,wrapT:se.MIRRORED_REPEAT,minFilter:se.NEAREST,magFilter:se.NEAREST};this.emptyTexture=Ae.create(this,a({data:{width:1,height:1,data:new Uint8Array([255,255,255,255])},sourceType:t.TextureSourceType.data},e)),this.transparentTexture=Ae.create(this,a({data:{width:1,height:1,data:new Uint8Array([0,0,0,0])},sourceType:t.TextureSourceType.data},e))},e.prototype.dispose=function(){if(!this.destroyed){this.destroyed=!0;var t=[];this.renderPasses.length>0&&t.push("Pass ".concat(this.renderPasses.length)),this.meshes.length>0&&t.push("Mesh ".concat(this.meshes.length)),this.geometries.length>0&&t.push("Geom ".concat(this.geometries.length)),this.textures.length>0&&t.push("Tex ".concat(this.textures.length)),t.length>0&&lt.warn("Release GPU memory: ".concat(t.join(", "))),this.renderPasses.forEach((function(t){t.dispose()})),this.meshes.forEach((function(t){t.dispose()})),this.geometries.forEach((function(t){t.dispose()})),this.materials.forEach((function(t){t.dispose()})),this.textures.forEach((function(t){t.dispose()})),this.textures=[],this.materials=[],this.geometries=[],this.meshes=[],this.renderPasses=[],this.renderer=null}},e}(),Vu=function(){function t(t){void 0===t&&(t=60),this.paused=!0,this.lastTime=0,this._deltaTime=0,this.setFPS(t),this.tickers=[]}return Object.defineProperty(t.prototype,"deltaTime",{get:function(){return this._deltaTime},enumerable:!1,configurable:!0}),t.prototype.getFPS=function(){return this.targetFPS},t.prototype.setFPS=function(t){this.targetFPS=G(t,1,120),this.interval=Math.floor(1e3/t)-2},t.prototype.getPaused=function(){return this.paused},t.prototype.start=function(){var t=this;if(this.paused=!1,this._deltaTime=0,!this.intervalId){this.lastTime=performance.now();var e=requestAnimationFrame||function(t){return window.setTimeout(t,16.7)},r=function(){t.intervalId=e(r),t.paused||t.tick()};r()}},t.prototype.stop=function(){(cancelAnimationFrame||window.clearTimeout)(this.intervalId),this.intervalId=0,this.lastTime=0,this.paused=!0,this._deltaTime=0,this.tickers=[]},t.prototype.pause=function(){this.paused=!0,this._deltaTime=0},t.prototype.resume=function(){this.paused=!1,this._deltaTime=0},t.prototype.tick=function(){if(!this.paused){var t=performance.now();if(this._deltaTime=t-this.lastTime,this._deltaTime>=this.interval){this.lastTime=t,this.resetTickers&&(this.tickers=this.tickers.filter((function(t){return t})),this.resetTickers=!1);for(var e=0,r=this.tickers.length;e<r;e++){(0,this.tickers[e])(this._deltaTime)}}}},t.prototype.add=function(t){if("function"!=typeof t)throw new Error("Ticker: The tick object must implement the tick method.");this.tickers.push(t)},t}();Da("camera",Bi,Ma,!0),Da("text",Aa,Ma,!0),Da("sprite",ln,Ma,!0),Da("particle",Wn,Ma,!0),Da("cal",aa,Ma,!0),Da("interact",qi,Ma,!0);var Fu=((Cu={})[se.ONE]=i.OneFactor,Cu[se.ZERO]=i.ZeroFactor,Cu[se.SRC_COLOR]=i.SrcColorFactor,Cu[se.SRC_ALPHA]=i.SrcAlphaFactor,Cu[se.ONE_MINUS_SRC_COLOR]=i.OneMinusSrcColorFactor,Cu[se.ONE_MINUS_SRC_ALPHA]=i.OneMinusSrcAlphaFactor,Cu[se.DST_COLOR]=i.DstColorFactor,Cu[se.DST_ALPHA]=i.DstAlphaFactor,Cu[se.ONE_MINUS_DST_COLOR]=i.OneMinusDstColorFactor,Cu[se.ONE_MINUS_DST_ALPHA]=i.OneMinusDstAlphaFactor,Cu),Nu=((_u={})[se.NEVER]=i.NeverStencilFunc,_u[se.EQUAL]=i.EqualStencilFunc,_u[se.LESS]=i.LessStencilFunc,_u[se.LEQUAL]=i.LessEqualStencilFunc,_u[se.ALWAYS]=i.AlwaysStencilFunc,_u[se.NOTEQUAL]=i.NotEqualStencilFunc,_u[se.GREATER]=i.GreaterStencilFunc,_u[se.GEQUAL]=i.GreaterEqualStencilFunc,_u),Du=((Su={})[se.KEEP]=i.KeepStencilOp,Su[se.ZERO]=i.ZeroStencilOp,Su[se.REPLACE]=i.ReplaceStencilOp,Su[se.INCR]=i.IncrementStencilOp,Su[se.DECR]=i.DecrementStencilOp,Su[se.INCR_WRAP]=i.IncrementWrapStencilOp,Su[se.DECR_WRAP]=i.IncrementWrapStencilOp,Su[se.INVERT]=i.InvertStencilOp,Su),zu=((Ou={})[se.NEVER]=i.NeverDepth,Ou[se.ALWAYS]=i.AlwaysDepth,Ou[se.EQUAL]=i.EqualDepth,Ou[se.LESS]=i.LessDepth,Ou[se.LEQUAL]=i.LessEqualDepth,Ou[se.GREATER]=i.GreaterDepth,Ou[se.GEQUAL]=i.GreaterEqualDepth,Ou[se.NOTEQUAL]=i.NotEqualDepth,Ou);var Uu=["uMaskTex","uSampler0","uSampler1","uSampler2","uSampler3","uSampler4","uSampler5","uSampler6","uSampler7","uSampler8","uSampler9","uSampler10","uSampler11","uSampler12","uSampler13","uSampler14","uSampler15","uColorOverLifetime","uColorOverTrail"],ku=function(e){function r(r,n){var o=e.call(this,r,n)||this;o.textures={},o.material=new i.RawShaderMaterial,o.uniforms={};for(var a=null==n?void 0:n.shader,s=r.gpuCapability.level,u=0;u<t.maxSpriteMeshItemCount;u++)o.uniforms["uSampler".concat(u)]=new i.Uniform(null);return o.uniforms.uEditorTransform=new i.Uniform([1,1,0,0]),o.uniforms.effects_ObjectToWorld=new i.Uniform((new i.Matrix4).identity()),o.uniforms.effects_MatrixInvV=new i.Uniform([1,0,0,0,0,1,0,0,0,0,1,0,0,0,8,1]),o.uniforms.effects_MatrixVP=new i.Uniform([1,0,0,0,0,1,0,0,0,0,1,0,0,0,-8,1]),o.uniforms.effects_MatrixV=new i.Uniform([1,0,0,0,0,1,0,0,0,0,1,0,0,0,8,1]),o.material=new i.RawShaderMaterial({vertexShader:null==a?void 0:a.vertex,fragmentShader:null==a?void 0:a.fragment,alphaToCoverage:!1,depthFunc:i.LessDepth,polygonOffsetFactor:i.ZeroFactor,polygonOffsetUnits:i.ZeroFactor,polygonOffset:!1,uniforms:o.uniforms}),o.material.glslVersion=1===s?i.GLSL1:i.GLSL3,o}return o(r,e),r.prototype.onSetUniformValue=function(t,e){var r;Uu.includes(t)&&(r=e.texture),this.material.uniforms[t]?this.material.uniforms[t].value=r||e:this.material.uniforms[t]=new i.Uniform(r||e)},r.prototype.use=function(t,e){var r=this.engine,n=r.composition,o=r.threeCamera;if(o){var a=(new i.Matrix4).multiplyMatrices(o.projectionMatrix,o.matrixWorldInverse);this.setMatrix("effects_MatrixVP",a)}else{var s=n.camera;this.setMatrix("effects_MatrixVP",s.getViewProjectionMatrix()),this.setMatrix("effects_MatrixV",s.getViewMatrix())}},r.prototype.onRemoveUniformValue=function(t){this.material.uniforms[t]&&(this.material.uniforms[t].value=null)},Object.defineProperty(r.prototype,"blending",{get:function(){return this.material.blending!==i.NoBlending},set:function(t){this.material.blending=t?i.CustomBlending:i.NoBlending},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"blendFunction",{get:function(){var t=this.material,e=t.blendSrc,r=t.blendDst;return[e,r,t.blendSrcAlpha||e,t.blendDstAlpha||r]},set:function(t){if(t){var e=h(t,4),r=e[0],i=e[1],n=e[2],o=e[3];this.material.blendSrc=Fu[r],this.material.blendDst=Fu[i],this.material.blendSrcAlpha=Fu[n],this.material.blendDstAlpha=Fu[o]}},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"blendEquation",{get:function(){var t=this.material,e=t.blendEquation;return[e,t.blendEquationAlpha||e]},set:function(t){if(t){var e=h(t,2),r=e[0],i=e[1];this.material.blendEquation=r,this.material.blendEquationAlpha=i}},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"depthTest",{get:function(){return this.material.depthTest},set:function(t){this.material.depthTest=!!t},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"depthMask",{get:function(){return this.material.depthWrite},set:function(t){this.material.depthWrite=!!t},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"depthFunc",{get:function(){return this.material.depthFunc},set:function(t){void 0!==t&&(this.material.depthFunc=zu[t])},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"polygonOffsetFill",{get:function(){return this.material.polygonOffset},set:function(t){this.material.polygonOffset=!!t},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"polygonOffset",{get:function(){return[this.material.polygonOffsetFactor,this.material.polygonOffsetUnits]},set:function(t){if(t){var e=h(t,2),r=e[0],i=e[1];this.material.polygonOffsetFactor=r,this.material.polygonOffsetUnits=i}},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"sampleAlphaToCoverage",{get:function(){return this.material.alphaToCoverage},set:function(t){this.material.alphaToCoverage=!!t},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"stencilTest",{get:function(){return this.material.stencilWrite},set:function(t){this.material.stencilWrite=!!t},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"stencilMask",{get:function(){return[this.material.stencilWriteMask,this.material.stencilWriteMask]},set:function(t){t&&(this.material.stencilWriteMask=t[0])},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"stencilRef",{get:function(){return[this.material.stencilRef,this.material.stencilRef]},set:function(t){t&&(this.material.stencilRef=t[0])},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"stencilFunc",{get:function(){return[this.material.stencilFunc,this.material.stencilFunc]},set:function(t){t&&(this.material.stencilFunc=Nu[t[0]])},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"stencilOpFail",{get:function(){return[this.material.stencilFail,this.material.stencilZFail]},set:function(t){t&&(this.material.stencilFail=Du[t[0]])},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"stencilOpZFail",{get:function(){return[this.material.stencilZFail,this.material.stencilZFail]},set:function(t){t&&(this.material.stencilZFail=Du[t[0]])},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"stencilOpZPass",{get:function(){return[this.material.stencilZPass,this.material.stencilZPass]},set:function(t){t&&(this.material.stencilZPass=Du[t[0]])},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"culling",{get:function(){return this.material.side!==i.DoubleSide},set:function(t){this.material.side=t?i.FrontSide:i.DoubleSide},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"cullFace",{get:function(){return this.material.side},set:function(t){t===bt.FRONT?this.material.side=i.FrontSide:t===bt.BACK&&(this.material.side=i.BackSide)},enumerable:!1,configurable:!0}),r.prototype.getTexture=function(t){return this.textures[t]},r.prototype.setTexture=function(t,e){this.setUniform(t,e.texture),this.textures[t]=e},r.prototype.getVector4Array=function(t){return this.uniforms[t].value},r.prototype.setVector4Array=function(t,e){var r,i,n=[];try{for(var o=l(e),a=o.next();!a.done;a=o.next()){var s=a.value;n=n.concat(s.toArray())}}catch(t){r={error:t}}finally{try{a&&!a.done&&(i=o.return)&&i.call(o)}finally{if(r)throw r.error}}this.setUniform(t,n)},r.prototype.getMatrixArray=function(t){return this.uniforms[t].value},r.prototype.setMatrixArray=function(t,e){var r,i,n=[];try{for(var o=l(e),a=o.next();!a.done;a=o.next()){var s=a.value;n=n.concat(s.elements)}}catch(t){r={error:t}}finally{try{a&&!a.done&&(i=o.return)&&i.call(o)}finally{if(r)throw r.error}}this.setUniform(t,n)},r.prototype.setMatrixNumberArray=function(t,e){this.setUniform(t,e)},r.prototype.getMatrix=function(t){return this.uniforms[t].value},r.prototype.setMatrix=function(t,e){this.setUniform(t,e)},r.prototype.setMatrix3=function(t,e){this.setUniform(t,e)},r.prototype.getVector2=function(t){return this.uniforms[t].value},r.prototype.setVector2=function(t,e){this.setUniform(t,e)},r.prototype.getVector3=function(t){return this.uniforms[t].value},r.prototype.setVector3=function(t,e){this.setUniform(t,e)},r.prototype.getVector4=function(t){return this.uniforms[t].value},r.prototype.setVector4=function(t,e){this.setUniform(t,e)},r.prototype.getQuaternion=function(t){return this.uniforms[t].value},r.prototype.setQuaternion=function(t,e){this.setUniform(t,e)},r.prototype.getFloat=function(t){return this.uniforms[t].value},r.prototype.setFloat=function(t,e){this.setUniform(t,e)},r.prototype.getFloats=function(t){return this.uniforms[t].value},r.prototype.setFloats=function(t,e){this.setUniform(t,e)},r.prototype.getInt=function(t){return this.uniforms[t].value},r.prototype.setInt=function(t,e){this.setUniform(t,e)},r.prototype.hasUniform=function(t){return!!this.uniforms[t]},r.prototype.setUniform=function(t,e){var r=new i.Uniform(e);this.uniforms[t]=this.material.uniforms[t]=r},r.prototype.enableMacro=function(t){throw new Error("Method not implemented.")},r.prototype.disableMacro=function(t){throw new Error("Method not implemented.")},r.prototype.isMacroEnabled=function(t){throw new Error("Method not implemented.")},r.prototype.clone=function(t){throw new Error("Method not implemented.")},r.prototype.cloneUniforms=function(t){throw new Error("Method not implemented.")},r.prototype.fromData=function(t){throw new Error("Method not implemented.")},r.prototype.dispose=function(t){this.destroyed&&(this.material.dispose(),this.destroyed=!0)},r}(ke),Bu=1,Gu=function(t){function e(e,r){var n=t.call(this,e)||this;if(n.attributes={},n.destroyed=!1,n.attributesName=[],!r)return n;var o=r.drawStart,a=void 0===o?0:o,s=r.drawCount,u=r.indices,c=r.mode,l=r.name,h=void 0===l?"effectsGeometry:".concat(Bu++):l;n.name=h,n.mode=null!=c?c:se.TRIANGLES;var f=[],p={},d=new i.BufferGeometry;return Object.keys(r.attributes).forEach((function(t){var e=r.attributes[t];if("dataSource"in e){var o=e.dataSource;if(o){void 0===p[o]&&n.setAttributeType(o,e,d,p,r.maxVertex);var a=e.size,s=e.offset,u=e.normalize,c=p[o],l=c.buffer,h=c.dataLength,m=new i.InterleavedBufferAttribute(l,a,(null!=s?s:0)/h,u);d.setAttribute(t,m),p[t]={buffer:l,attribute:m,type:c.type,dataLength:h}}}else n.setAttributeType(t,e,d,p,r.maxVertex);f.push(t)})),u&&u.data&&d.setIndex(new i.BufferAttribute(u.data,1)),n.geometry=d,n.attributes=p,n.attributesName=f,n.drawStart=a,n.drawCount=null!=s?s:0,n}return o(e,t),Object.defineProperty(e.prototype,"drawCount",{get:function(){return this.geometry.drawRange.count},set:function(t){this.geometry.drawRange.count=t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"drawStart",{get:function(){return this.geometry.drawRange.start},set:function(t){this.geometry.drawRange.start=t},enumerable:!1,configurable:!0}),e.prototype.getAttributeData=function(t){if(null!=this.attributes[t])return this.attributes[t].buffer.array},e.prototype.setAttributeData=function(t,e){if(null!=this.attributes[t]){var r=this.attributes[t].buffer;if(e.length>r.array.length){var n=new i.InterleavedBuffer(e,r.stride);r=this.attributes[t].attribute.data=n,this.geometry.setAttribute(t,this.attributes[t].attribute)}else r.set(e,0),r.updateRange.count=e.length,r.updateRange.offset=0;this.geometry.attributes[t].needsUpdate=!0}},e.prototype.setAttributeSubData=function(t,e,r){null!=this.attributes[t]&&(this.attributes[t].buffer.set(r,e),this.geometry.attributes[t].needsUpdate=!0)},e.prototype.getAttributeStride=function(t){var e=this.attributes[t];return e.buffer.stride*tr[e.type]},e.prototype.getAttributeNames=function(){return this.attributesName},e.prototype.getIndexData=function(){var t=this.geometry.getIndex();return null===t?void 0:t.array},e.prototype.setIndexData=function(t){t&&(this.geometry.setIndex(new i.BufferAttribute(t,1)),this.geometry.index.needsUpdate=!0)},e.prototype.setIndexSubData=function(t,e){var r=this.geometry.getIndex();if(null!==r){var i=t,n=t+e.length;if(r.count<n){var o=new e.constructor(end);o.set(r.array),r.array=o}r.array.set(e,i),this.geometry.index.needsUpdate=!0}},e.prototype.setDrawStart=function(t){this.drawStart=t},e.prototype.getDrawStart=function(){return this.drawStart},e.prototype.setDrawCount=function(t){this.drawCount=t},e.prototype.getDrawCount=function(){return this.drawCount},e.prototype.dispose=function(){this.destroyed||(this.geometry.dispose(),this.destroyed=!0)},e.prototype.setAttributeType=function(t,e,r,n,o){var a=e,s=a.stride,u=void 0===s?0:s,c=a.size,l=a.offset,h=a.normalize,f=a.type,p=void 0===f?se.FLOAT:f,d=e.data;if(p&&!d&&(d=rr(p)),d){var m=d instanceof Float32Array?Float32Array.BYTES_PER_ELEMENT:Uint16Array.BYTES_PER_ELEMENT,y=u/m,v=(o=(null!=o?o:0)*y)||c*m;v&&0===d.length&&(d=d instanceof Float32Array?new Float32Array(v):new Uint16Array(v));var x=new i.InterleavedBuffer(d,y),g=new i.InterleavedBufferAttribute(x,c,(null!=l?l:0)/m,h);r.setAttribute(t,g),n[t]={buffer:x,attribute:g,type:p,dataLength:m}}},e}(er),Xu=function(e){function r(t,r){var n=this;if(!r)return n;var o=r.material,a=r.geometry,s=r.priority,u=void 0===s?0:s;return(n=e.call(this,t,r)||this).geometry=a,n.material=o,a.mode===se.LINES?n.mesh=new i.LineSegments(a.geometry,o.material):n.mesh=new i.Mesh(a.geometry,o.material),n.priority=u,n}return o(r,e),Object.defineProperty(r.prototype,"priority",{get:function(){return this.mesh.renderOrder},set:function(t){this.mesh&&(this.mesh.renderOrder=t)},enumerable:!1,configurable:!0}),r.prototype.setVisible=function(t){this.mesh.visible=t},r.prototype.getVisible=function(){return this.mesh.visible},r.prototype.firstGeometry=function(){return this.geometry},r.prototype.setMaterial=function(e,r){r!==t.DestroyOptions.keep&&this.material.dispose(r),this.material=e,this.mesh.material=e.material},r.prototype.start=function(){e.prototype.start.call(this),this.engine.threeGroup.add(this.mesh)},r.prototype.restore=function(){},r.prototype.render=function(t){this.isDestroyed||this.getVisible()&&(this.material.setMatrix("effects_ObjectToWorld",this.worldMatrix),this.material.use(t,t.renderingData.currentFrame.globalUniforms))},r.prototype.dispose=function(t){this.destroyed||(this.mesh.clear(),this.destroyed=!0)},r}(lr),ju=function(e){function r(r,i,n){void 0===n&&(n={});var o=e.call(this,r)||this;if(i){var s=i.width,u=void 0===s?1:s,c=i.height,l=void 0===c?1:c;o.texture=o.createTextureByType(a(a({},n),{sourceType:t.TextureSourceType.data,data:i})),o.width=u,o.height=l}else o.texture=o.createTextureByType(n);return o.texture.needsUpdate=!0,o}return o(r,e),r.toThreeJsTextureFilter=function(t){return t===se.LINEAR?i.LinearFilter:i.NearestFilter},r.toThreeJsTextureWrap=function(t){switch(t){case se.MIRRORED_REPEAT:return i.MirroredRepeatWrapping;case se.REPEAT:return i.RepeatWrapping;default:return i.ClampToEdgeWrapping}},r.prototype.updateSource=function(t){this.texture.dispose(),this.texture=this.createTextureByType(t),this.texture.needsUpdate=!0},r.prototype.startVideo=function(){return u(this,void 0,void 0,(function(){var e;return c(this,(function(r){switch(r.label){case 0:return this.sourceType!==t.TextureSourceType.video?[3,2]:(e=this.texture.source.data).paused?[4,e.play()]:[3,2];case 1:r.sent(),r.label=2;case 2:return[2]}}))}))},r.prototype.assembleOptions=function(e){var n=e.target,o=void 0===n?se.TEXTURE_2D:n;return e.sourceType||(e.sourceType="image"in e?t.TextureSourceType.image:"data"in e?t.TextureSourceType.data:"video"in e?t.TextureSourceType.video:t.TextureSourceType.none),a(a({target:o,format:i.RGBAFormat,type:i.UnsignedByteType},e),{minFilter:r.toThreeJsTextureFilter(e.minFilter),magFilter:r.toThreeJsTextureFilter(e.magFilter),wrapS:r.toThreeJsTextureWrap(e.wrapS),wrapT:r.toThreeJsTextureWrap(e.wrapT)})},r.prototype.dispose=function(){this.texture.dispose()},r.prototype.createTextureByType=function(e){var r,n,o=this.assembleOptions(e),a=o.flipY,s=o.type,u=o.wrapS,c=o.wrapT,l=o.minFilter,h=o.magFilter,f=o.sourceType,p=i.UVMapping,d=o.format,m=void 0;if(this.sourceType=f,f===t.TextureSourceType.data){var y=e.data;m=new i.DataTexture(y.data,y.width,y.height,d,s,p,u,c,h,l),this.width=y.width,this.height=y.height}else if(f===t.TextureSourceType.image){var v=e.image;m=new i.Texture(v,p,u,c,h,l,d,s),this.width=v.width,this.height=v.height}else if(f===t.TextureSourceType.compressed){var x=0,g=0,T=e.mipmaps.map((function(t){var e=t.data,r=t.width,i=t.height;return x=x<r?r:x,g=g<i?i:g,{data:e,width:r,height:i,colorSpace:"srgb"}}));d=i.RGBA_ASTC_4x4_Format,m=new i.CompressedTexture(T,x,g,d,s,p,u,c,h,l),this.width=x,this.height=g}else if(f===t.TextureSourceType.video)m=new i.VideoTexture(e.video,p,u,c,h,l,d,s);else if(f===t.TextureSourceType.framebuffer){if(y=e.data){var E=null!==(r=y.width)&&void 0!==r?r:0,b=null!==(n=y.height)&&void 0!==n?n:0;m=new i.FramebufferTexture(E,b,d),this.width=E,this.height=b}}else f===t.TextureSourceType.none&&((m=new i.DataTexture(new Uint8Array(4).fill(255),1,1)).wrapS=i.MirroredRepeatWrapping,m.wrapT=i.MirroredRepeatWrapping,this.width=this.height=1);if(m)return m.flipY=!!a,m;throw new Error("使用未知的数据类型创建纹理")},r}(Ae),Hu=function(t){function e(e,r,i){var n=t.call(this,e,r,i)||this;return n.rootItem.getComponent(Ru).resetStatus(),n}return o(e,t),e.prototype.updateVideo=function(){this.textures.map((function(t){return t.startVideo()}))},e.prototype.prepareRender=function(){var t,e,r,i,n,o,a,s,u,c,h=this.renderer;this.renderFrame._renderPasses[0].meshes.length=0;try{for(var f=l(this.rootComposition.items),p=f.next();!p.done;p=f.next()){var d=p.value.getComponents(ur);try{for(var m=(r=void 0,l(d)),y=m.next();!y.done;y=m.next()){(_=y.value).isActiveAndEnabled&&_.render(h)}}catch(t){r={error:t}}finally{try{y&&!y.done&&(i=m.return)&&i.call(m)}finally{if(r)throw r.error}}}}catch(e){t={error:e}}finally{try{p&&!p.done&&(e=f.return)&&e.call(f)}finally{if(t)throw t.error}}try{for(var v=l(this.refContent),x=v.next();!x.done;x=v.next()){var g=x.value;try{for(var T=(a=void 0,l(g.getComponent(Ru).items)),E=T.next();!E.done;E=T.next()){d=E.value.getComponents(ur);try{for(var b=(u=void 0,l(d)),C=b.next();!C.done;C=b.next()){var _;(_=C.value).isActiveAndEnabled&&_.render(h)}}catch(t){u={error:t}}finally{try{C&&!C.done&&(c=b.return)&&c.call(b)}finally{if(u)throw u.error}}}}catch(t){a={error:t}}finally{try{E&&!E.done&&(s=T.return)&&s.call(T)}finally{if(a)throw a.error}}}}catch(t){n={error:t}}finally{try{x&&!x.done&&(o=v.return)&&o.call(v)}finally{if(n)throw n.error}}},e.prototype.getRendererOptions=function(){var t=ju.createWithData(this.renderer.engine,{data:new Uint8Array(4).fill(255),width:1,height:1});return t.texture.needsUpdate=!0,this.rendererOptions||(this.rendererOptions={emptyTexture:t,cachePrefix:"-"}),this.rendererOptions},e.shape={},e}(Lu),Yu=function(t){function e(e){var r=t.call(this)||this;return r.gpuCapability=new Br(e),r}return o(e,t),e.prototype.setOptions=function(t){var e=t.threeCamera,r=t.threeGroup,i=t.composition;this.threeCamera=e,this.threeGroup=r,this.composition=i},e}(Pu),Wu=function(t){function e(e){var r=t.call(this)||this;return r.engine=new Yu(e),r.renderingData={currentFrame:{}},r}return o(e,t),e}(Zr),Zu=function(t){function e(e,r){var i=t.call(this)||this;i.compositions=[],i.baseCompositionIndex=0,i.env="";var n=r.width,o=r.height,a=r.camera;return i.renderer=new Wu(e),i.width=n,i.height=o,i.camera=a,i}return o(e,t),Object.defineProperty(e.prototype,"currentComposition",{get:function(){return this.compositions[0]},enumerable:!1,configurable:!0}),e.prototype.loadScene=function(t,e){return u(this,void 0,void 0,(function(){var r,i,n=this;return c(this,(function(o){switch(o.label){case 0:return i=this.baseCompositionIndex,pt(t)?(this.baseCompositionIndex+=t.length,[4,Promise.all(t.map((function(t,r){return u(n,void 0,void 0,(function(){var n;return c(this,(function(o){switch(o.label){case 0:return[4,this.createComposition(t,e)];case 1:return(n=o.sent()).setIndex(i+r),[2,n]}}))}))})))]):[3,2];case 1:return r=o.sent(),[3,4];case 2:return this.baseCompositionIndex+=1,[4,this.createComposition(t,e)];case 3:(r=o.sent()).setIndex(i),o.label=4;case 4:return[2,r]}}))}))},e.prototype.createComposition=function(t,e){return void 0===e&&(e={}),u(this,void 0,void 0,(function(){var r,i,n,o,s,u,l,h,f;return c(this,(function(c){switch(c.label){case 0:return r=performance.now(),i=a({autoplay:!0},e),qu(t)?(n=t.scene,i=a(a({},i),t.options||{})):n=t,this.assetManager?this.assetManager.updateOptions(i):this.assetManager=new Eu(i),[4,this.assetManager.loadScene(n,this.renderer,{env:this.env})];case 1:for(o=c.sent(),(s=this.renderer.engine).clearResources(),s.addPackageDatas(o),u=0;u<o.textureOptions.length;u++)o.textureOptions[u]=s.assetLoader.loadGUID(o.textureOptions[u].id),o.textureOptions[u].initialize();return l=new Mu(o,s),s.database?[4,s.createVFXItemsAsync(o)]:[3,3];case 2:c.sent(),c.label=3;case 3:return h=new Hu(a(a({},i),{width:this.width,height:this.height,renderer:this.renderer}),o,l),this.renderer.engine.setOptions({threeCamera:this.camera,threeGroup:this,composition:h}),i.autoplay?h.play():h.pause(),f=performance.now()-r+h.statistic.loadTime,h.statistic.firstFrameTime=f,lt.info("first frame: [".concat(h.name,"]").concat(f.toFixed(4),"ms")),this.compositions.push(h),[2,h]}}))}))},e.prototype.update=function(t){this.compositions.forEach((function(e){e.update(t)}))},e}(i.Group);function qu(t){return mt(t)&&"scene"in t}var Qu=function(e){function r(){return null!==e&&e.apply(this,arguments)||this}return o(r,e),Object.defineProperty(r.prototype,"priority",{get:function(){return this.threeMesh.renderOrder},set:function(t){this.threeMesh&&(this.threeMesh.renderOrder=t)},enumerable:!1,configurable:!0}),r.prototype.setVisible=function(t){this.threeMesh.visible=t},r.prototype.getVisible=function(){return this.threeMesh.visible},Object.defineProperty(r.prototype,"enabled",{get:function(){return this.threeMesh.visible},set:function(t){this.threeMesh.visible=t,t&&this.onEnable()},enumerable:!1,configurable:!0}),r.prototype.dispose=function(){e.prototype.dispose.call(this),this.isActiveAndEnabled||this.threeMesh.clear()},r.prototype.fromData=function(t){e.prototype.fromData.call(this,t),this.threeMesh||(this.geometry.mode===se.LINES?this.threeMesh=new i.LineSegments(this.geometry.geometry,this.material.material):this.threeMesh=new i.Mesh(this.geometry.geometry,this.material.material))},r.prototype.start=function(){e.prototype.start.call(this),this.engine.threeGroup.add(this.threeMesh)},r.prototype.render=function(t){this.isActiveAndEnabled&&(this.material.setMatrix("effects_ObjectToWorld",this.transform.getWorldMatrix()),this.material.use(t,t.renderingData.currentFrame.globalUniforms))},r.prototype.onDestroy=function(){this.threeMesh.clear()},r=s([ne(t.DataType.SpriteComponent)],r)}(Ln);un(8),Ae.create=function(t,e){return new ju(t,void 0,e)},Ae.createWithData=function(t,e,r){return new ju(t,e,r)},ke.create=function(t,e){return new ku(t,e)},er.create=function(t,e){return new Gu(t,e)},lr.create=function(t,e){return new Xu(t,e)};var Ku="2.0.0-alpha.5";lt.info("THREEJS plugin version: "+Ku),t.AbstractPlugin=ti,t.ActivationPlayable=_n,t.AssetLoader=Qr,t.AssetManager=Eu,t.BYTES_TYPE_MAP=tr,t.Behaviour=ar,t.BezierSegments=Oi,t.COMPRESSED_TEXTURE=Hr,t.CONSTANT_MAP_BLEND=Fu,t.CONSTANT_MAP_DEPTH=zu,t.CONSTANT_MAP_STENCIL_FUNC=Nu,t.CONSTANT_MAP_STENCIL_OP=Du,t.COPY_FRAGMENT_SHADER=We,t.COPY_MESH_SHADER_ID=He,t.COPY_VERTEX_SHADER=Ye,t.CalculateLoader=aa,t.Camera=Au,t.CameraController=ki,t.CameraVFXItemLoader=Bi,t.Component=or,t.Composition=Lu,t.CompositionComponent=Ru,t.CompositionSourceManager=Mu,t.CurveValue=Ci,t.DEFAULT_FONTS=va,t.Database=Kr,t.Downloader=xe,t.EFFECTS_COPY_MESH_NAME=je,t.EVENT_TYPE_CLICK=Gi,t.EVENT_TYPE_TOUCH_END=Hi,t.EVENT_TYPE_TOUCH_MOVE=ji,t.EVENT_TYPE_TOUCH_START=Xi,t.EffectComponent=La,t.EffectsObject=Oe,t.Engine=Pu,t.EventSystem=Wi,t.FILTER_NAME_NONE="none",t.Float16ArrayWrapper=ri,t.FrameBuffer=Wr,t.GPUCapability=Br,t.Geometry=er,t.GlobalUniforms=zr,t.GradientValue=bi,t.HELP_LINK=Ji,t.InteractBehavior=Yi,t.InteractComponent=en,t.InteractLoader=qi,t.InteractMesh=tn,t.ItemBehaviour=sr,t.KTXTexture=Le,t.LineSegments=_i,t.LinearValue=Ei,t.Material=ke,t.MaterialDataBlock=Fe,t.Mesh=lr,t.PLAYER_OPTIONS_ENV_EDITOR=Ki,t.POST_PROCESS_SETTINGS="post_process_settings",t.ParticleBehaviourPlayable=oa,t.ParticleLoader=Wn,t.ParticleMesh=Fn,t.ParticleSystem=Yo,t.ParticleSystemRenderer=Ho,t.PassTextureCache=Je,t.PathSegments=Si,t.PluginSystem=za,t.QCanvasViewer=fa,t.QText=ha,t.RENDER_PASS_NAME_PREFIX=Pr,t.RENDER_PREFER_LOOKUP_TEXTURE=In,t.RUNTIME_ENV="runtime_env",t.RandomSetValue=xi,t.RandomValue=gi,t.RandomVectorValue=Ti,t.RenderBuffer=Ur,t.RenderFrame=Fr,t.RenderPass=mr,t.RenderPassPriorityNormal=hr,t.RenderPassPriorityPostprocess=3e3,t.RenderPassPriorityPrepare=0,t.RenderTargetHandle=pr,t.Renderer=Zr,t.RendererComponent=ur,t.SEMANTIC_MAIN_PRE_COLOR_ATTACHMENT_0="PRE_MAIN_COLOR_0",t.SEMANTIC_MAIN_PRE_COLOR_ATTACHMENT_SIZE_0="PRE_MAIN_COLOR_SIZE_0",t.SEMANTIC_PRE_COLOR_ATTACHMENT_0="PRE_COLOR_0",t.SEMANTIC_PRE_COLOR_ATTACHMENT_SIZE_0="PRE_COLOR_SIZE_0",t.SPRITE_VERTEX_STRIDE=Qi,t.SemanticMap=$e,t.SerializationHelper=qr,t.Shader=Xe,t.ShaderVariant=Ge,t.SpriteColorPlayable=Rn,t.SpriteComponent=Ln,t.SpriteLoader=ln,t.StaticValue=vi,t.TEMPLATE_USE_OFFSCREEN_CANVAS=Mn,t.TEXTURE_UNIFORM_MAP=Uu,t.TextComponent=wa,t.TextLoader=Aa,t.Texture=Ae,t.TextureFactory=Pe,t.ThreeComposition=Hu,t.ThreeDisplayObject=Zu,t.ThreeEngine=Yu,t.ThreeMaterial=ku,t.ThreeSpriteComponent=Qu,t.ThreeTexture=ju,t.Ticker=Vu,t.TimelineClip=yn,t.TimelineComponent=Sn,t.Track=mn,t.Transform=Ui,t.TransformAnimationPlayable=bn,t.TransformAnimationPlayableAsset=Cn,t.VFXItem=Ma,t.ValueGetter=yi,t.addByOrder=M,t.addItem=T,t.addItemWithOrder=function(t,e,r,i){if(void 0===i&&(i=!1),!t.includes(e)&&(t.push(e),1!==t.length)){var n=t.length-1;if(n){var o=t[n];if(i)for(;t[n-1][r]<o[r]&&(t[n]=t[n-1],0!=--n););else for(;t[n-1][r]>o[r]&&(t[n]=t[n-1],0!=--n););t[n]=o}}},t.alphaFrameFrag="uniform vec4 uTexRange;uniform vec2 uFilterSourceSize;\n#define INTERPOLATION 0\nvec4 filterMain(vec2 texCoord,sampler2D source){float x=uTexRange.x+texCoord.x*uTexRange.y;\n#if INTERPOLATION\nvec2 texInPixel=texCoord*uFilterSourceSize;vec2 coordMin=floor(texInPixel);vec2 pp=texInPixel-coordMin;vec4 fCoord=vec4(coordMin/uFilterSourceSize,(coordMin+vec2(1.))/uFilterSourceSize);vec4 cLT=texture2D(uFilterSource,vec2(fCoord.x,fCoord.w));vec4 cLB=texture2D(uFilterSource,vec2(fCoord.x,fCoord.y));vec4 cRT=texture2D(uFilterSource,vec2(fCoord.z,fCoord.w));vec4 cRB=texture2D(uFilterSource,vec2(fCoord.z,fCoord.y));vec4 color=mix(mix(cLB,cRB,pp.x),mix(cLT,cRT,pp.x),pp.y);\n#else\nvec4 color=texture2D(source,vec2(x,texCoord.y));\n#endif\nx=uTexRange.z+texCoord.x*uTexRange.w;vec4 opacity=texture2D(source,vec2(x,texCoord.y));return vec4(color.rgb,opacity.r);}",t.alphaMaskFrag="uniform sampler2D uAlphaXSample;uniform sampler2D uAlphaYSample;vec4 filterMain(vec2 texCoord,sampler2D source){vec4 color=texture2D(source,texCoord);float x=texture2D(uAlphaXSample,vec2(vFeatherCoord.x,0.)).r;float y=texture2D(uAlphaYSample,vec2(vFeatherCoord.y,0.)).r;return vec4(color.rgb,color.a*min(x,y));}",t.assertExist=F,t.asserts=function(t,e){if(void 0===e&&(e="asserts failed"),!t)throw new Error(e)},t.blend="vec4 blendColor(vec4 color,vec4 vc,float mode){vec4 ret=color*vc;\n#ifdef PRE_MULTIPLY_ALPHA\nfloat alpha=vc.a;\n#else\nfloat alpha=ret.a;\n#endif\nif(mode==1.){ret.rgb*=alpha;}else if(mode==2.){ret.rgb*=alpha;ret.a=dot(ret.rgb,vec3(0.33333333));}else if(mode==3.){alpha=color.r*alpha;ret=vec4(vc.rgb*alpha,alpha);}return ret;}",t.bloomMixVert="uniform sampler2D uBloomBlur;uniform vec4 uBloomParams;vec4 filterMain(vec2 coord,sampler2D tex){const vec3 gamma=vec3(1./2.2);vec4 c1=texture2D(tex,coord);vec4 bloomColor=texture2D(uBloomBlur,coord);float alpha=max(c1.a,bloomColor.a);vec3 color=max(c1.rgb*c1.a,bloomColor.rgb*bloomColor.a)/alpha*uBloomParams.y+bloomColor.rgb*uBloomParams.x;return vec4(color,alpha);}",t.bloomThresholdVert="uniform vec4 uColorThreshold;vec4 filterMain(vec2 coord,sampler2D tex){vec4 c1=texture2D(tex,coord);vec3 color=c1.rgb*c1.a;vec3 s=step(uColorThreshold.xyz,color);float m=min(s.r+s.g+s.b,1.);return c1*m;}",t.calculateTranslation=ai,t.cameraMoveFrag="uniform vec2 uMoveTexSize;uniform sampler2D uFilterSource;\n#define INTERPOLATION 1\nvec4 filterMain(vec2 texCoord,sampler2D tex){\n#ifdef INTERPOLATION\nvec2 texInPixel=texCoord*uMoveTexSize;vec2 coordMin=floor(texInPixel);vec2 pp=texInPixel-coordMin;vec4 fCoord=vec4(coordMin/uMoveTexSize,(coordMin+vec2(1.))/uMoveTexSize);vec4 cLT=texture2D(uFilterSource,vec2(fCoord.x,fCoord.w));vec4 cLB=texture2D(uFilterSource,vec2(fCoord.x,fCoord.y));vec4 cRT=texture2D(uFilterSource,vec2(fCoord.z,fCoord.w));vec4 cRB=texture2D(uFilterSource,vec2(fCoord.z,fCoord.y));vec4 cB=mix(cLB,cRB,pp.x);vec4 cT=mix(cLT,cRT,pp.x);return mix(cB,cT,pp.y);\n#else\nreturn texture2D(uFilterSource,texCoord);\n#endif\n}",t.cameraMoveVert="uniform mat4 uMoveCameraViewPro;vec4 filterMain(float p,vec4 pos){return uMoveCameraViewPro*pos;}",t.canvasPool=Ea,t.colorGradingFrag=Cr,t.colorStopsFromGradient=S,t.colorToArr=C,t.combineImageTemplate=Oa,t.combineImageTemplate1=da,t.combineImageTemplate1Async=function(t,e,r,i,n){return u(this,void 0,void 0,(function(){return c(this,(function(o){return console.warn("The combineImageTemplate1Async function is deprecated. Use combineImageTemplate1 instead."),[2,da(t,e,r,i,n)]}))}))},t.combineImageTemplate2=Sa,t.combineImageTemplate2Async=function(t,e,r,i,n){return u(this,void 0,void 0,(function(){return c(this,(function(o){return console.warn("The combineImageTemplate2Async function is deprecated. Use combineImageTemplate2 instead."),[2,Sa(t,e,r,i,n)]}))}))},t.combineImageTemplateAsync=function(t,e,r,i,n){return u(this,void 0,void 0,(function(){return c(this,(function(o){return console.warn("The combineImageTemplateAsync function is deprecated. Use combineImageTemplate instead."),[2,Oa(t,e,r,i,n)]}))}))},t.compatibleFrag="#version 300 es\n#ifdef WEBGL2\n#define texture2D texture\n#define textureCube texture\n#define textureCubeLodEXT textureLod\nlayout(location=0)out vec4 fragColor;\n#else\n#define fragColor gl_FragColor\n#endif\n",t.compatibleVert="#version 300 es\n#ifdef WEBGL2\n#define texture2D texture\n#else\n#endif\n",t.copyFrag=Be,t.createCopyShader=Ze,t.createGLContext=function(t,e,r){var i;if(void 0===e&&(e="webgl"),"webgl2"===e&&((i=t.getContext("webgl2",r))||console.debug("WebGL2 context retrieval failed, falling back to WebGL context.")),i&&"webgl"!==e||(i=t.getContext("webgl",r)),!i)throw new Error("This browser does not support WebGL or the WebGL version is incorrect. Please check your WebGL version.");return i},t.createKeyFrameMeta=Fi,t.createShaderWithMarcos=de,t.createShape=co,t.createVFXItem=Pa,t.createValueGetter=Ai,t.deepClone=function t(e){if(pt(e))return e.map(t);if(e&&"object"==typeof e){if(ArrayBuffer.isView(e))return e.slice();for(var r={},i=Object.keys(e),n=0;n<i.length;n++){var o=i[n];r[o]=t(e[o])}return r}return e},t.defaultGlobalVolume=Mr,t.defaultPlugins=Fa,t.delayFrag="uniform sampler2D uLastSource;uniform vec4 uParams;vec4 filterMain(vec2 coord,sampler2D tex){vec4 c1=texture2D(tex,coord);if(uParams.x<1.){return c1;}vec4 c2=texture2D(uLastSource,coord);return mix(c1,c2,uParams.y);}",t.deserializeMipmapTexture=_e,t.distortionFrag="uniform vec4 uWaveParams;\n#ifdef PATICLE_SHADER\nin vec4 vWaveParams;\n#else\nuniform vec4 vWaveParams;\n#endif\nvec4 filterMain(vec2 texCoord,sampler2D tex){vec2 vp=texCoord-uWaveParams.xy;float xx=dot(vp,uWaveParams.zw);float d=sin(vWaveParams.x*xx+vWaveParams.y)*vWaveParams.z;vec2 up=vec2(-uWaveParams.w,uWaveParams.z)*d;return texture2D(tex,clamp(texCoord+up,0.,1.));}",t.distortionVert="uniform vec4 uMovementValue;uniform vec4 uStrengthValue;uniform vec4 uPeriodValue;out vec4 vWaveParams;void filterMain(float lifetime){const float pi2=3.14159265;vWaveParams=vec4(getValueFromTime(lifetime,uPeriodValue)*pi2,getValueFromTime(lifetime,uMovementValue)*pi2,getValueFromTime(lifetime,uStrengthValue),0.);}",t.earcut=Po,t.effectsClass=ne,t.effectsClassStore=$t,t.enlargeBuffer=b,t.ensureVec3=si,t.findPreviousRenderPass=function(t,e){var r=t.indexOf(e);return t[r-1]},t.gaussianDownFrag="precision highp float;varying vec2 uv;uniform sampler2D _MainTex;uniform vec2 _TextureSize;float GaussWeight2D(float x,float y,float sigma){float PI=3.14159265358;float E=2.71828182846;float sigma_2=pow(sigma,2.0);float a=-(x*x+y*y)/(2.0*sigma_2);return pow(E,a)/(2.0*PI*sigma_2);}vec3 GaussNxN(sampler2D tex,vec2 uv,vec2 stride,float sigma){vec3 color=vec3(0.,0.,0.);const int r=5/2;float weight=0.0;for(int i=-r;i<=r;i++){for(int j=-r;j<=r;j++){float w=GaussWeight2D(float(i),float(j),sigma);vec2 coord=uv+vec2(i,j)*stride;color+=texture2D(tex,coord).rgb*w;weight+=w;}}color/=weight;return color;}void main(){vec4 mainColor=texture2D(_MainTex,uv);vec3 color=mainColor.rgb;color=GaussNxN(_MainTex,uv,1.0/_TextureSize,1.0);gl_FragColor=vec4(color,1.0);}",t.gaussianDownHFrag=_r,t.gaussianDownVFrag=Sr,t.gaussianUpFrag=Or,t.generateEmptyTypedArray=rr,t.generateGUID=xt,t.generateHalfFloatTexture=Re,t.getBackgroundImage=ba,t.getColorFromGradientStops=_,t.getConfig=Vn,t.getDefaultTemplateCanvasPool=function(){return Ea},t.getDefaultTextureFactory=function(){return Me||(Me=new Pe),Me},t.getGeometryByShape=Uo,t.getGeometryTriangles=zo,t.getImageItemRenderInfo=nn,t.getKTXTextureOptions=Ie,t.getKeyFrameMetaByRawValue=Vi,t.getMergedStore=re,t.getParticleMeshShader=zn,t.getPixelRatio=function(){if("object"==typeof screen&&"object"==typeof document){var t=Math.max(document.documentElement.clientWidth,window.innerWidth||0),e=screen.width/t;return Math.min(2*e,2)}return 1},t.getPreMultiAlpha=le,t.getStandardComposition=hu,t.getStandardImage=lu,t.getStandardItem=mu,t.getStandardJSON=uu,t.getTextureSize=Nr,t.glContext=se,t.gpuTimer=function(t){var e=this,r=t.getExtension("EXT_disjoint_timer_query_webgl2");if(r){var i=t.createQuery(),n=function(){return u(e,void 0,void 0,(function(){return c(this,(function(e){return[2,new Promise((function(e,o){if(i){var a=t.getQueryParameter(i,t.QUERY_RESULT_AVAILABLE),s=t.getParameter(r.GPU_DISJOINT_EXT);if(a&&!s){var u=t.getQueryParameter(i,t.QUERY_RESULT);e(u/1e3/1e3)}(a||s)&&(t.deleteQuery(i),i=null),null!==a&&i&&window.setTimeout((function(){n().then(e).catch}),1)}}))]}))}))};if(!i)return;return{begin:function(){i&&t.beginQuery(r.TIME_ELAPSED_EXT,i)},end:function(){t.endQuery(r.TIME_ELAPSED_EXT)},getTime:n}}},t.imageDataFromColor=function(t){ft(t)&&(t=C(t));for(var e=t,r={width:1,height:1,data:new Uint8Array(4)},i=r.data,n=0;n<4;n++)i[n]=e[n];return r},t.imageDataFromGradient=L,t.initErrors=ae,t.initGLContext=ue,t.integrate="float integrateCurveFrames(float t1,vec4 k0,vec4 k1){float k=k1.x-k0.x;float m0=k0.w*k;float m1=k1.z*k;float t0=k0.x;float v0=k0.y;float v1=k1.y;float dt=t0-t1;float dt2=dt*dt;float dt3=dt2*dt;vec4 a=vec4(dt3*dt,dt3,dt2,dt)/vec4(4.*k*k*k,3.*k*k,2.*k,1.);vec4 b=vec4(m0+m1+2.*v0-2.*v1,2.*m0+m1+3.*v0-3.*v1,m0,-v0);return dot(a,b);}float integrateByTimeCurveFrames(float t1,vec4 k0,vec4 k1){float k=k1.x-k0.x;float m0=k0.w*k;float m1=k1.z*k;float t0=k0.x;float v0=k0.y;float v1=k1.y;float dt=t0-t1;float dt2=dt*dt;float dt3=dt2*dt;float k2=k*k;float k3=k2*k;vec4 a=vec4(-30.*k3,10.*k2,5.*k,3.)*vec4(dt,dt2,dt3,dt3*dt);vec4 b=vec4(v0,m0,2.*m0+m1+3.*v0-3.*v1,m0+m1+2.*v0-2.*v1)*vec4(t0+t1,t0+2.*t1,t0+3.*t1,t0+4.*t1);return dot(a,b)/60./k3;}float integrateByTimeFromCurveFrames(float t1,float frameStart,float frameCount){if(t1==0.){return 0.;}int start=int(frameStart);int count=int(frameCount-1.);float ret=0.;for(int i=0;i<ITR_END;i++){if(i==count){return ret;}vec4 k0=lookup_curve(i+start);vec4 k1=lookup_curve(i+1+start);if(t1>k0.x&&t1<=k1.x){return ret+integrateByTimeCurveFrames(t1,k0,k1);}ret+=integrateByTimeCurveFrames(k1.x,k0,k1);}return ret;}float integrateFromCurveFrames(float time,float frameStart,float frameCount){if(time==0.){return 0.;}int start=int(frameStart);int count=int(frameCount-1.);float ret=0.;for(int i=0;i<ITR_END;i++){if(i==count){return ret;}vec4 k0=lookup_curve(i+start);vec4 k1=lookup_curve(i+1+start);if(time>k0.x&&time<=k1.x){return ret+integrateCurveFrames(time,k0,k1);}ret+=integrateCurveFrames(k1.x,k0,k1);}return ret;}float integrateByTimeLineSeg(float t,vec2 p0,vec2 p1){float t0=p0.x;float t1=p1.x;float y0=p0.y;float y1=p1.y;vec4 tSqr=vec4(t,t,t0,t0);tSqr=tSqr*tSqr;vec4 a=vec4(2.*t,3.,-t0,3.)*tSqr;float t1y0=t1*y0;vec4 b=vec4(y0-y1,t0*y1-t1y0,2.*y0+y1,t1y0);float r=dot(a,b);return r/(t0-t1)*0.16666667;}float integrateLineSeg(float time,vec2 p0,vec2 p1){float h=time-p0.x;float y0=p0.y;return(y0+y0+(p1.y-y0)*h/(p1.x-p0.x))*h/2.;}float integrateFromLineSeg(float time,float frameStart,float frameCount){if(time==0.){return 0.;}int start=int(frameStart);int count=int(frameCount-1.);float ret=0.;for(int i=0;i<ITR_END;i++){if(i>count){return ret;}vec4 ks=lookup_curve(i+start);vec2 k0=ks.xy;vec2 k1=ks.zw;if(time>k0.x&&time<=k1.x){return ret+integrateLineSeg(time,k0,k1);}ret+=integrateLineSeg(k1.x,k0,k1);vec2 k2=lookup_curve(i+start+1).xy;if(time>k1.x&&time<=k2.x){return ret+integrateLineSeg(time,k1,k2);}ret+=integrateLineSeg(k2.x,k1,k2);}return ret;}float integrateByTimeFromLineSeg(float time,float frameStart,float frameCount){if(time==0.){return 0.;}int start=int(frameStart);int count=int(frameCount-1.);float ret=0.;for(int i=0;i<ITR_END;i++){if(i>count){return ret;}vec4 ks=lookup_curve(i+start);vec2 k0=ks.xy;vec2 k1=ks.zw;if(time>k0.x&&time<=k1.x){return ret+integrateByTimeLineSeg(time,k0,k1);}ret+=integrateByTimeLineSeg(k1.x,k0,k1);vec2 k2=lookup_curve(i+start+1).xy;if(time>k1.x&&time<=k2.x){return ret+integrateByTimeLineSeg(time,k1,k2);}ret+=integrateByTimeLineSeg(k2.x,k1,k2);}return ret;}float getIntegrateFromTime0(float t1,vec4 value){float type=value.x;if(type==0.){return value.y*t1;}else if(type==1.){vec2 p0=vec2(0.,value.y);vec2 p1=vec2(value.w,value.z);return integrateLineSeg(t1,p0,p1);}if(type==3.){return integrateFromLineSeg(t1,value.y,value.z);}if(type==2.){float idx=floor(value.y);float ilen=floor(1./fract(value.y)+0.5);float d=integrateFromCurveFrames(t1,idx,ilen);return d*value.w+value.z*t1;}if(type==4.){return mix(value.y,value.z,aSeed)*t1;}return 0.;}float getIntegrateByTimeFromTime(float t0,float t1,vec4 value){float type=value.x;if(type==0.){return value.y*(t1*t1-t0*t0)/2.;}else if(type==1.){vec2 p0=vec2(0.,value.y);vec2 p1=vec2(value.w,value.z);return integrateByTimeLineSeg(t1,p0,p1)-integrateByTimeLineSeg(t0,p0,p1);}if(type==2.){float idx=floor(value.y);float ilen=floor(1./fract(value.y)+0.5);float d=integrateByTimeFromCurveFrames(t1,idx,ilen)-integrateByTimeFromCurveFrames(t0,idx,ilen);return d*value.w+value.z*pow(t1-t0,2.)*0.5;}if(type==3.){return integrateByTimeFromLineSeg(t1,value.y,value.z)-integrateByTimeFromLineSeg(t0,value.y,value.z);}if(type==4.){return mix(value.y,value.z,aSeed)*(t1*t1-t0*t0)/2.;}return 0.;}",t.interpolateColor=O,t.isAndroid=A,t.isArray=pt,t.isFunction=dt,t.isIOS=function(){return!!navigator.platform&&/iPad|iPhone|iPod/.test(navigator.platform)},t.isObject=mt,t.isScene=xu,t.isSceneWithOptions=qu,t.isSimulatorCellPhone=R,t.isString=ft,t.isUniformStruct=Ne,t.isUniformStructArray=function(t){return t&&void 0!==t.length&&Ne(t[0])},t.isWebGL2=function(t){return"undefined"!=typeof WebGL2RenderingContext&&"WebGL2RenderingContext"===t.constructor.name},t.itemDefine="uniform mat4 uMainData[MAX_ITEM_COUNT];uniform vec4 uTexParams[MAX_ITEM_COUNT];uniform vec4 uTexOffset[MAX_ITEM_COUNT];",t.itemFrag=xr,t.itemFrameFrag=yr,t.itemVert=vr,t.loadBinary=be,t.loadBlob=function(t){return u(this,void 0,void 0,(function(){return c(this,(function(e){return[2,new Promise((function(e,r){(new xe).downloadBlob(t,e,(function(e,i){r("Couldn't load blob ".concat(t,": status ").concat(e,", ").concat(i))}))}))]}))}))},t.loadImage=Ee,t.loadVideo=Ce,t.loadWebPOptional=Te,t.logger=lt,t.math=ot,t.modifyMaxKeyframeShader=Un,t.nearestPowerOfTwo=function(t){return Math.pow(2,Math.round(Math.log(t)/Math.LN2))},t.noop=ht,t.parsePercent=w,t.particleFrag=gr,t.particleOriginTranslateMap=fi,t.particleVert=Tr,t.pluginLoaderMap=Va,t.random=yt,t.registerPlugin=Da,t.removeItem=E,t.requestAsync=pa,t.rotateVec2=ko,t.screenMeshVert=br,t.serialize=ie,t.setBlendMode=me,t.setConfig=function(t,e){return Pn[t]=e},t.setDefaultTextureFactory=function(t){Me=t},t.setMaskMode=ve,t.setMaxSpriteMeshItemCount=un,t.setRayFromCamera=pi,t.setSideMode=ye,t.setSpriteMeshMaxFragmentTextures=function(e){t.maxSpriteTextureCount=e},t.setSpriteMeshMaxItemCountByGPU=function(e){return t.maxSpriteTextureCount=Math.min(e.maxFragmentTextures,16),e.maxVertexUniforms>=256?t.maxSpriteMeshItemCount=32:e.maxVertexUniforms>=128?t.maxSpriteMeshItemCount=16:void(t.maxSpriteTextureCount=8)},t.setUniformValue=function(t,e,r){t[e]?t[e].value=r:t[e]=new i.Uniform(r)},t.sortByOrder=I,t.spec=Jt,t.spriteMeshShaderFromFilter=on,t.spriteMeshShaderFromRenderInfo=sn,t.spriteMeshShaderIdFromRenderInfo=an,t.thresholdFrag=wr,t.throwDestroyedError=vt,t.trailVert=Er,t.translatePoint=function(t,e){for(var r=[-.5,.5,-.5,-.5,.5,.5,.5,-.5],i=0;i<8;i+=2)r[i]+=t,r[i+1]+=e;return r},t.trianglesFromRect=di,t.unregisterPlugin=function(t){delete Na[t],delete Va[t],E(Fa,t)},t.valIfUndefined=function(t,e){return null==t?e:t},t.value="#ifdef SHADER_VERTEX\n#define CURVE_VALUE_TEXTURE uVCurveValueTexture\n#define CURVE_VALUE_ARRAY uVCurveValues\n#define CURVE_VALUE_COUNT VERT_CURVE_VALUE_COUNT\n#define FRAG_CURVE_VALUE_COUNT 0\n#else\n#define CURVE_VALUE_TEXTURE uFCurveValueTexture\n#define CURVE_VALUE_ARRAY uFCurveValues\n#define CURVE_VALUE_COUNT FRAG_CURVE_VALUE_COUNT\n#define VERT_CURVE_VALUE_COUNT 0\n#endif\n#if CURVE_VALUE_COUNT > 0\n#if LOOKUP_TEXTURE_CURVE\nuniform sampler2D CURVE_VALUE_TEXTURE;const float uCurveCount=1./float(CURVE_VALUE_COUNT);\n#define lookup_curve(i) texture2D(CURVE_VALUE_TEXTURE,vec2(float(i) * uCurveCount,0.))\n#else\nuniform vec4 CURVE_VALUE_ARRAY[CURVE_VALUE_COUNT];\n#define lookup_curve(i) CURVE_VALUE_ARRAY[i]\n#endif\n#else\n#define lookup_curve(i) vec4(0.)\n#endif\n#ifdef WEBGL2\n#define ITR_END (count + 1)\n#else\n#define ITR_END MAX_C\n#endif\n#ifdef SHADER_VERTEX\nin float aSeed;out float vSeed;\n#define NONE_CONST_INDEX 1\n#else\n#if LOOKUP_TEXTURE_CURVE\n#define NONE_CONST_INDEX 1\n#endif\n#endif\n#ifdef NONE_CONST_INDEX\n#ifdef SHADER_VERTEX\n#define MAX_C VERT_MAX_KEY_FRAME_COUNT\n#else\n#define MAX_C FRAG_MAX_KEY_FRAME_COUNT\n#endif\n#else\n#define MAX_C CURVE_VALUE_COUNT\n#endif\nfloat evaluateCurveFrames(float time,vec4 keyframe0,vec4 keyframe1){float dt=keyframe1.x-keyframe0.x;float m0=keyframe0.w*dt;float m1=keyframe1.z*dt;float t=(time-keyframe0.x)/dt;float t2=t*t;float t3=t2*t;return dot(vec4(dot(vec3(2.,-3.,1.),vec3(t3,t2,1.)),dot(vec3(1,-2.,1),vec3(t3,t2,t)),t3-t2,dot(vec2(-2,3),vec2(t3,t2))),vec4(keyframe0.y,m0,m1,keyframe1.y));}float valueFromCurveFrames(float time,float frameStart,float frameCount){int start=int(frameStart);int count=int(frameCount-1.);int end=start+count;for(int i=0;i<ITR_END;i++){\n#ifdef NONE_CONST_INDEX\nif(i==count){return lookup_curve(count).y;}vec4 k0=lookup_curve(i+start);vec4 k1=lookup_curve(i+1+start);\n#else\nif(i<start){continue;}vec4 k0=lookup_curve(i);vec4 k1=lookup_curve(i+1);if(i==end){return k0.y;}\n#endif\nif(time>=k0.x&&time<=k1.x){return evaluateCurveFrames(time,k0,k1);}}return lookup_curve(0).y;}float evaluteLineSeg(float t,vec2 p0,vec2 p1){return p0.y+(p1.y-p0.y)*(t-p0.x)/(p1.x-p0.x);}float valueFromLineSegs(float time,float frameStart,float frameCount){int start=int(frameStart);int count=int(frameCount-1.);int end=start+count;for(int i=0;i<ITR_END;i++){\n#ifdef NONE_CONST_INDEX\nif(i>count){return lookup_curve(i).w;}\n#else\nif(i<start){continue;}if(i>end){return lookup_curve(i-2).w;}\n#endif\n#ifdef NONE_CONST_INDEX\nvec4 seg=lookup_curve(i+start);\n#else\nvec4 seg=lookup_curve(i);\n#endif\nvec2 p0=seg.xy;vec2 p1=seg.zw;if(time>=p0.x&&time<=p1.x){return evaluteLineSeg(time,p0,p1);}\n#ifdef NONE_CONST_INDEX\nvec2 p2=lookup_curve(i+start+1).xy;\n#else\nvec2 p2=lookup_curve(i+1).xy;\n#endif\nif(time>p1.x&&time<=p2.x){return evaluteLineSeg(time,p1,p2);}}return lookup_curve(0).y;}float getValueFromTime(float time,vec4 value){float type=value.x;if(type==0.){return value.y;}else if(type==1.){return mix(value.y,value.z,time/value.w);}if(type==2.){return valueFromCurveFrames(time,floor(value.y),floor(1./fract(value.y)+0.5))*value.w+value.z;}if(type==3.){return valueFromLineSegs(time,value.y,value.z);}if(type==4.){\n#ifdef SHADER_VERTEX\nfloat seed=aSeed;\n#else\nfloat seed=vSeed;\n#endif\nreturn mix(value.y,value.z,seed);}return 0.;}",t.valueDefine="#ifdef SHADER_VERTEX\n#define CURVE_VALUE_TEXTURE uVCurveValueTexture\n#define CURVE_VALUE_ARRAY uVCurveValues\n#define CURVE_VALUE_COUNT VERT_CURVE_VALUE_COUNT\n#define FRAG_CURVE_VALUE_COUNT 0\n#else\n#define CURVE_VALUE_TEXTURE uFCurveValueTexture\n#define CURVE_VALUE_ARRAY uFCurveValues\n#define CURVE_VALUE_COUNT FRAG_CURVE_VALUE_COUNT\n#define VERT_CURVE_VALUE_COUNT 0\n#endif\n#if CURVE_VALUE_COUNT > 0\n#if LOOKUP_TEXTURE_CURVE\nuniform sampler2D CURVE_VALUE_TEXTURE;const float uCurveCount=1./float(CURVE_VALUE_COUNT);\n#define lookup_curve(i) texture2D(CURVE_VALUE_TEXTURE,vec2(float(i) * uCurveCount,0.))\n#else\nuniform vec4 CURVE_VALUE_ARRAY[CURVE_VALUE_COUNT];\n#define lookup_curve(i) CURVE_VALUE_ARRAY[i]\n#endif\n#else\n#define lookup_curve(i) vec4(0.)\n#endif\n#ifdef WEBGL2\n#define ITR_END (count + 1)\n#else\n#define ITR_END MAX_C\n#endif\n",t.vecAssign=ci,t.vecFill=ui,t.vecMulCombine=li,t.vecNormalize=function(t,e){1===arguments.length&&(e=t,t=[]);var r=e,i=Math.hypot.apply(Math,f([],h(r),!1));if(0===i)return ci(t,r,r.length);for(var n=0;n<r.length;n++)t[n]=r[n]/i;return t},t.version=Ku,Object.defineProperty(t,"__esModule",{value:!0})}));
11
+ * Version: v2.0.0-alpha.5
12
+ */"undefined"!=typeof crypto&&crypto.randomUUID&&crypto.randomUUID.bind(crypto);for(var rj=[],rZ=0;rZ<256;++rZ)rj.push((rZ+256).toString(16).slice(1));(o=tD||(tD={})).S="S",o.APlus="A+",o.A="A",o.BPlus="B+",o.B="B",(a=tz||(tz={}))[a.ALPHA=0]="ALPHA",a[a.ADD=1]="ADD",a[a.MULTIPLY=2]="MULTIPLY",a[a.BRIGHTNESS=3]="BRIGHTNESS",a[a.SUBTRACTION=4]="SUBTRACTION",a[a.STRONG_LIGHT=5]="STRONG_LIGHT",a[a.WEAK_LIGHT=6]="WEAK_LIGHT",a[a.SUPERPOSITION=7]="SUPERPOSITION",(s=tk||(tk={}))[s.DOUBLE=1032]="DOUBLE",s[s.FRONT=1028]="FRONT",s[s.BACK=1029]="BACK",(u=tU||(tU={}))[u.NONE=0]="NONE",u[u.MASK=1]="MASK",u[u.OBSCURED=2]="OBSCURED",u[u.REVERSE_OBSCURED=3]="REVERSE_OBSCURED",(l=tB||(tB={}))[l.NONE=0]="NONE",l[l.SPHERE=1]="SPHERE",l[l.CONE=2]="CONE",l[l.HEMISPHERE=3]="HEMISPHERE",l[l.CIRCLE=4]="CIRCLE",l[l.DONUT=5]="DONUT",l[l.RECTANGLE=6]="RECTANGLE",l[l.RECTANGLE_EDGE=7]="RECTANGLE_EDGE",l[l.EDGE=8]="EDGE",l[l.TEXTURE=9]="TEXTURE",(c=tG||(tG={}))[c.GYROSCOPE=0]="GYROSCOPE",c[c.SPINE=1]="SPINE",(h=tX||(tX={}))[h.CLICK=0]="CLICK",h[h.MESSAGE=1]="MESSAGE",h[h.DRAG=2]="DRAG",(f=tH||(tH={}))[f.NONE=0]="NONE",f[f.NOTIFY=1]="NOTIFY",f[f.RESUME_PLAYER=2]="RESUME_PLAYER",f[f.REMOVE=3]="REMOVE",f[f.PAUSE=4]="PAUSE",(m=tY||(tY={})).base="0",m.sprite="1",m.particle="2",m.null="3",m.interact="4",m.plugin="5",m.camera="6",m.composition="7",m.filter="8",m.spine="spine",m.mesh="mesh",m.tree="tree",m.text="text",m.light="light",m.skybox="skybox",m.effect="effect",(d=tW||(tW={}))[d.BILLBOARD=0]="BILLBOARD",d[d.MESH=1]="MESH",d[d.VERTICAL_BILLBOARD=2]="VERTICAL_BILLBOARD",d[d.HORIZONTAL_BILLBOARD=3]="HORIZONTAL_BILLBOARD",(p=tj||(tj={}))[p.PARTICLE_ORIGIN_CENTER=0]="PARTICLE_ORIGIN_CENTER",p[p.PARTICLE_ORIGIN_LEFT_TOP=1]="PARTICLE_ORIGIN_LEFT_TOP",p[p.PARTICLE_ORIGIN_LEFT_CENTER=2]="PARTICLE_ORIGIN_LEFT_CENTER",p[p.PARTICLE_ORIGIN_LEFT_BOTTOM=3]="PARTICLE_ORIGIN_LEFT_BOTTOM",p[p.PARTICLE_ORIGIN_CENTER_TOP=4]="PARTICLE_ORIGIN_CENTER_TOP",p[p.PARTICLE_ORIGIN_CENTER_BOTTOM=5]="PARTICLE_ORIGIN_CENTER_BOTTOM",p[p.PARTICLE_ORIGIN_RIGHT_TOP=6]="PARTICLE_ORIGIN_RIGHT_TOP",p[p.PARTICLE_ORIGIN_RIGHT_CENTER=7]="PARTICLE_ORIGIN_RIGHT_CENTER",p[p.PARTICLE_ORIGIN_RIGHT_BOTTOM=8]="PARTICLE_ORIGIN_RIGHT_BOTTOM",(v=tZ||(tZ={}))[v.portrait=1]="portrait",v[v.landscape=0]="landscape",(y=tq||(tq={}))[y.destroy=0]="destroy",y[y.pause=1]="pause",y[y.restart=5]="restart",y[y.forward=2]="forward",y[y.pause_destroy=3]="pause_destroy",y[y.freeze=4]="freeze",(g=tQ||(tQ={})).video="video",g.image="image",(x=tK||(tK={}))[x.CONSTANT=0]="CONSTANT",x[x.CONSTANT_VEC2=1]="CONSTANT_VEC2",x[x.CONSTANT_VEC3=2]="CONSTANT_VEC3",x[x.CONSTANT_VEC4=3]="CONSTANT_VEC4",x[x.RANDOM=4]="RANDOM",x[x.LINE=5]="LINE",x[x.CURVE=6]="CURVE",x[x.BEZIER_PATH=7]="BEZIER_PATH",x[x.RGBA_COLOR=8]="RGBA_COLOR",x[x.GRADIENT_COLOR=9]="GRADIENT_COLOR",x[x.SHAPE_POINTS=10]="SHAPE_POINTS",x[x.SHAPE_SPLITS=11]="SHAPE_SPLITS",x[x.LINEAR_PATH=12]="LINEAR_PATH",x[x.COLORS=13]="COLORS",x[x.BINARY=20]="BINARY",x[x.BEZIER_CURVE=21]="BEZIER_CURVE",x[x.BEZIER_CURVE_PATH=22]="BEZIER_CURVE_PATH",(T=tJ||(tJ={}))[T.AUTO=0]="AUTO",T[T.EASE=1]="EASE",T[T.EASE_IN=2]="EASE_IN",T[T.EASE_OUT=3]="EASE_OUT",T[T.LINE=4]="LINE",T[T.HOLD=5]="HOLD",T[T.LINE_OUT=6]="LINE_OUT",(E=t$||(t$={}))[E.destroy=0]="destroy",E[E.loop=5]="loop",E[E.freeze=4]="freeze",(_=t0||(t0={}))[_.destroyChildren=6]="destroyChildren",(C=t1||(t1={}))[C.none=0]="none",C[C.removeParticle=1]="removeParticle",(S=t2||(t2={}))[S.RANDOM=0]="RANDOM",S[S.UNIDIRECTIONAL_CYCLE=1]="UNIDIRECTIONAL_CYCLE",S[S.BIDIRECTIONAL_CYCLE=2]="BIDIRECTIONAL_CYCLE",S[S.UNIFORM_BURST=3]="UNIFORM_BURST",(R=t3||(t3={})).point="point",R.spot="spot",R.directional="directional",R.ambient="ambient",(A=t4||(t4={}))[A.box=2]="box",A[A.sphere=3]="sphere",(b=t5||(t5={})).orthographic="orthographic",b.perspective="perspective",(O=t6||(t6={})).unlit="unlit",O.pbr="pbr",O.hair="hair",(w=t8||(t8={}))[w.opaque=100]="opaque",w[w.masked=101]="masked",w[w.translucent=102]="translucent",w[w.additive=103]="additive",(L=t9||(t9={})).none="none",L.uv="uv",L.normal="normal",L.basecolor="basecolor",L.alpha="alpha",L.metallic="metallic",L.roughness="roughness",L.ao="ao",L.emissive="emissive",(I=t7||(t7={}))[I.display=0]="display",I[I.clip=1]="clip",I[I.ellipsis=2]="ellipsis",(M=et||(et={}))[M.top=0]="top",M[M.middle=1]="middle",M[M.bottom=2]="bottom",(P=ee||(ee={}))[P.left=0]="left",P[P.middle=1]="middle",P[P.right=2]="right",(V=er||(er={})).normal="normal",V.bold="bold",V.lighter="lighter",(F=ei||(ei={})).normal="normal",F.italic="italic",F.oblique="oblique",(N=en||(en={})).VFXItemData="VFXItemData",N.EffectComponent="EffectComponent",N.Material="Material",N.Shader="Shader",N.SpriteComponent="SpriteComponent",N.ParticleSystem="ParticleSystem",N.InteractComponent="InteractComponent",N.CameraController="CameraController",N.Geometry="Geometry",N.Texture="Texture",N.TextComponent="TextComponent",N.MeshComponent="MeshComponent",N.SkyboxComponent="SkyboxComponent",N.LightComponent="LightComponent",N.CameraComponent="CameraComponent",N.ModelPluginComponent="ModelPluginComponent",N.TreeComponent="TreeComponent",(D=eo||(eo={}))[D.POINTS=0]="POINTS",D[D.LINES=1]="LINES",D[D.LINE_LOOP=2]="LINE_LOOP",D[D.LINE_STRIP=3]="LINE_STRIP",D[D.TRIANGLES=4]="TRIANGLES",D[D.TRIANGLE_STRIP=5]="TRIANGLE_STRIP",D[D.TRIANGLE_FAN=6]="TRIANGLE_FAN";var rq=Object.freeze({__proto__:null,get BackgroundType(){return tQ},get BezierKeyframeType(){return tJ},get BlendingMode(){return tz},BloomFilterThresholdAvgColor:0,CAMERA_CLIP_MODE_NORMAL:0,CAMERA_CLIP_MODE_VERTICAL:1,get CameraClipMode(){return tZ},get CameraType(){return t5},get CompositionEndBehavior(){return tq},get DataType(){return en},END_BEHAVIOR_DESTROY:0,END_BEHAVIOR_DESTROY_CHILDREN:6,END_BEHAVIOR_FORWARD:2,END_BEHAVIOR_FREEZE:4,END_BEHAVIOR_PAUSE:1,END_BEHAVIOR_PAUSE_AND_DESTROY:3,END_BEHAVIOR_RESTART:5,get FontStyle(){return ei},get GeometryType(){return eo},get InteractBehavior(){return tH},get InteractType(){return tX},get ItemEndBehavior(){return t$},get ItemType(){return tY},get LightType(){return t3},MESSAGE_ITEM_PHRASE_BEGIN:2,MESSAGE_ITEM_PHRASE_END:1,get MaskMode(){return tU},get MaterialBlending(){return t8},get MaterialType(){return t6},get ModelBoundingType(){return t4},get ParentItemEndBehavior(){return t0},get ParticleInteractionBehavior(){return t1},get ParticleOrigin(){return tj},get PluginType(){return tG},get RenderLevel(){return tD},get RenderMode(){return tW},get RenderMode3D(){return t9},get ShapeArcMode(){return t2},get ShapeType(){return tB},get SideMode(){return tk},get TextAlignment(){return ee},get TextBaseline(){return et},get TextOverflow(){return t7},get TextWeight(){return er},get ValueType(){return tK}}),rQ={},rK={},rJ={};function r$(t){var e=t.constructor.name;if(rJ[e])return rJ[e];rJ[e]={};for(var r=rJ[e],i=t,n=e;n;){var o=rK[n];for(var a in o)r[a]=o[a];var s=Object.getPrototypeOf(i);if("Object"===(n=Object.getPrototypeOf(s).constructor.name))break;i=s}return r}function r0(t){return function(e,r){var i,n=(rK[i=e.constructor.name]||(rK[i]={}),rK[i]);n[r]||(n[r]={type:0,sourceName:t})}}function r1(t){return function(e,r){rQ[t]&&console.warn("Class "+t+" 重复注册"),rQ[t]=e}}t.ShaderType=void 0,(z=t.ShaderType||(t.ShaderType={}))[z.vertex=0]="vertex",z[z.fragment=1]="fragment";var r2=[],r3={};function r4(){"function"==typeof WebGL2RenderingContext?r5(WebGL2RenderingContext):"undefined"!=typeof WebGLRenderingContext?(r5(WebGLRenderingContext),r5(WebGLRenderingContext.prototype)):r2.push("iOS16 lockdown mode, WebGL Constants not in global"),r2.length||"HALF_FLOAT"in r3||(r3.HALF_FLOAT=5131)}function r5(t){for(var e in t)/^[A-Z_]/.test(e)&&(r3[e]=t[e])}function r6(t){switch(t){case tz.ALPHA:case tz.ADD:case tz.SUBTRACTION:case tz.STRONG_LIGHT:case tz.WEAK_LIGHT:return 1;case tz.SUPERPOSITION:return 2;case tz.BRIGHTNESS:return 3;case tz.MULTIPLY:return 0;default:return 1}}r2.length||r4();var r8=((ea={})[t.ShaderType.vertex]={in:"attribute",out:"varying"},ea[t.ShaderType.fragment]={in:"varying"},ea);function r9(t,e,r,i){var n=[],o="";n.push("#define GE_RUNTIME"),t&&(t.forEach(function(t){var e=t[0],r=t[1];!0===r?n.push("#define "+e):Number.isFinite(r)&&n.push("#define "+e+" "+r)}),o=n.length?n.join("\n")+"\n":"");var a="WEBGL"+i,s=(o=o+("\n#ifndef "+a)+"\n#define "+a+"\n#endif")+"\n"+e,u=s.match(/#version\s+\b\d{3}\b\s*(es)?/),l=u?u[0]:"";if(l&&l.includes("300")){var c=RegExp(""+l,"g");1===i&&(s=s.replace(/\b(in|out)\b/g,function(t){var e;return null!=(e=r8[r][t])?e:t})),s=s.replace(c,"\n")}return s}function r7(t,e){switch(e){case void 0:case tz.ALPHA:t.blendFunction=[r3.ONE,r3.ONE_MINUS_SRC_ALPHA,r3.ONE,r3.ONE_MINUS_SRC_ALPHA];break;case tz.ADD:t.blendFunction=[r3.ONE,r3.ONE,r3.ONE,r3.ONE];break;case tz.SUBTRACTION:t.blendFunction=[r3.ONE,r3.ONE,r3.ZERO,r3.ONE],t.blendEquation=[r3.FUNC_REVERSE_SUBTRACT,r3.FUNC_REVERSE_SUBTRACT];break;case tz.SUPERPOSITION:t.blendFunction=[r3.ONE,r3.ONE,r3.ONE,r3.ONE];break;case tz.MULTIPLY:t.blendFunction=[r3.DST_COLOR,r3.ONE_MINUS_SRC_ALPHA,r3.DST_COLOR,r3.ONE_MINUS_SRC_ALPHA];break;case tz.BRIGHTNESS:t.blendFunction=[r3.ONE,r3.ONE_MINUS_SRC_ALPHA,r3.ONE,r3.ONE_MINUS_SRC_ALPHA];break;case tz.STRONG_LIGHT:t.blendFunction=[r3.DST_COLOR,r3.DST_ALPHA,r3.ZERO,r3.ONE];break;case tz.WEAK_LIGHT:t.blendFunction=[r3.DST_COLOR,r3.ZERO,r3.ZERO,r3.ONE];break;default:console.warn("blendMode "+e+" not in specification, please set blend params separately")}}function it(t,e){e===tk.DOUBLE?t.culling=!1:(t.culling=!0,t.frontFace=r3.CW,t.cullFace=e===tk.BACK?r3.BACK:r3.FRONT)}function ie(t,e){switch(e){case void 0:t.stencilTest=!1;break;case tU.MASK:t.stencilTest=!0,t.stencilFunc=[r3.ALWAYS,r3.ALWAYS],t.stencilOpZPass=[r3.REPLACE,r3.REPLACE];break;case tU.OBSCURED:t.stencilTest=!0,t.stencilFunc=[r3.EQUAL,r3.EQUAL];break;case tU.REVERSE_OBSCURED:t.stencilTest=!0,t.stencilFunc=[r3.NOTEQUAL,r3.NOTEQUAL];break;case tU.NONE:t.stencilTest=!1;break;default:console.warn("maskMode "+e+" not in specification, please set stencil params seperately")}}function ir(){return(ir=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var r=arguments[e];for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&(t[i]=r[i])}return t}).apply(this,arguments)}t.TextureLoadAction=void 0,(k=t.TextureLoadAction||(t.TextureLoadAction={}))[k.whatever=0]="whatever",k[k.clear=2]="clear",t.TextureSourceType=void 0,(U=t.TextureSourceType||(t.TextureSourceType={}))[U.none=0]="none",U[U.data=1]="data",U[U.image=2]="image",U[U.compressed=3]="compressed",U[U.video=4]="video",U[U.canvas=5]="canvas",U[U.framebuffer=6]="framebuffer",U[U.mipmaps=7]="mipmaps";var ii=function(){function t(){this.callbacks={}}var e=t.prototype;return e.downloadJSON=function(t,e,r){this.download(t,"json",e,r)},e.downloadBinary=function(t,e,r){this.download(t,"arraybuffer",e,r)},e.downloadBlob=function(t,e,r){this.download(t,"blob",e,r)},e.download=function(t,e,r,i){var n=this;if(void 0===e&&(e="json"),!this.start(t,r,i)){var o=new XMLHttpRequest,a=function(){n.finish(t,o.status,o.response)};o.responseType=e,o.addEventListener("load",function(){200==o.status||0==o.status?n.finish(t,200,o.response):a()}),o.addEventListener("error",a),o.open("GET",t,!0),o.send()}},e.start=function(t,e,r){var i=this.callbacks[t];try{if(i)return!0;this.callbacks[t]=i=[]}finally{i.push(e,r)}},e.finish=function(t,e,r){var i=this.callbacks[t];delete this.callbacks[t];for(var n=200==e||0==e?[r]:[e,r],o=n.length-1,a=i.length;o<a;o+=2)i[o].apply(null,n)},t}(),io=!1;function ia(t,e){return is.apply(this,arguments)}function is(){return(is=e0(function(t,e){return e4(this,function(r){switch(r.label){case 0:if(!(io||!e))return[3,2];return[4,iu(t)];case 1:case 5:return[2,{image:r.sent(),url:t}];case 2:return r.trys.push([2,4,,6]),[4,iu(e)];case 3:return[2,{image:r.sent(),url:e}];case 4:return r.sent(),io=!0,[4,iu(t)];case 6:return[2]}})})).apply(this,arguments)}function iu(t){return il.apply(this,arguments)}function il(){return(il=e0(function(t){var e,r;return e4(this,function(i){if(e="",e1(t,HTMLImageElement)){if(t.complete)return[2,t];e=t.src}else e1(t,Blob)?(e=URL.createObjectURL(t),r=!0):"string"==typeof t&&(e=t);if(!e)throw Error("Invalid url type: "+JSON.stringify(t));return[2,new Promise(function(t,i){var n=new Image;/^data:/.test(e)||(n.crossOrigin="*"),n.onload=function(){return n.onload=null,r&&URL.revokeObjectURL(e),t(n)},n.onerror=function(t){return n.onerror=null,r&&URL.revokeObjectURL(e),i("Load image fail: "+e+", reason: "+JSON.stringify(t))},n.src=e})]})})).apply(this,arguments)}function ic(t){return ih.apply(this,arguments)}function ih(){return(ih=e0(function(t){return e4(this,function(e){return[2,new Promise(function(e,r){new ii().downloadBinary(t,e,function(e,i){r("Couldn't load bins "+t+": status "+e+", "+i)})})]})})).apply(this,arguments)}function im(){return(im=e0(function(t){return e4(this,function(e){return[2,new Promise(function(e,r){new ii().downloadBlob(t,e,function(e,i){r("Couldn't load blob "+t+": status "+e+", "+i)})})]})})).apply(this,arguments)}function id(t){return ip.apply(this,arguments)}function ip(){return(ip=e0(function(t){var e;return e4(this,function(r){return e=document.createElement("video"),"string"==typeof t?e.src=t:e.srcObject=t,e.crossOrigin="anonymous",e.muted=!0,rs()&&e.setAttribute("renderer","standard"),e.setAttribute("playsinline","playsinline"),[2,new Promise(function(t,r){var i=e.play();i?i.then(function(){return t(e)}):e.addEventListener("loadeddata",function r(){t(e),e.removeEventListener("loadeddata",r)},!0),e.addEventListener("error",function(t){r(t)})})]})})).apply(this,arguments)}function iv(t,e){return iy.apply(this,arguments)}function iy(){return(iy=e0(function(e,r,i){var n,o,a,s,u,l,c,h;return e4(this,function(f){switch(f.label){case 0:if(void 0===i&&(i=[]),34067!==e.target)return[3,2];return n=e.mipmaps,o=e.target,[4,Promise.all(n.map(function(t){return Promise.all(t.map(function(t){return ig(t,r)}))}))];case 1:return a=f.sent(),s=i[n[0][0][1][0]].url,[2,ir({keepImageSource:!1},e,{mipmaps:a,sourceFrom:{target:o,bin:s,type:t.TextureSourceType.mipmaps,mipmaps:n.map(function(t){return t.map(function(t){return[t[1][1],t[1][2]]})})}})];case 2:return u=e.mipmaps,l=e.target,[4,Promise.all(u.map(function(t){return ig(t,r)}))];case 3:return c=f.sent(),h=i[u[0][1][0]].url,[2,ir({keepImageSource:!1},e,{mipmaps:c,sourceType:t.TextureSourceType.mipmaps,sourceFrom:{target:l,bin:h,type:t.TextureSourceType.mipmaps,mipmaps:u.map(function(t){return[t[1][1],t[1][2]]})}})];case 4:return[2]}})})).apply(this,arguments)}function ig(t,e){return ix.apply(this,arguments)}function ix(){return(ix=e0(function(t,e){var r,i,n,o,a;return e4(this,function(s){if(i=(r=t[1])[0],n=r[1],o=r[2],!(a=e[i]))throw Error("invalid bin pointer: "+JSON.stringify(t));return[2,iu(new Blob([new Uint8Array(a,n,o)]))]})})).apply(this,arguments)}var iT=function(){function t(t){this.engine=t,this.guid=rU(),this.taggedProperties={},this.engine.addInstance(this)}var e=t.prototype;return e.getInstanceId=function(){return this.guid},e.setInstanceId=function(t){this.engine.removeInstance(this.guid),this.guid=t,this.engine.addInstance(this)},e.toData=function(){},e.fromData=function(t){t.id&&this.setInstanceId(t.id)},e.dispose=function(){},t}();e3([r0()],iT.prototype,"guid",void 0);var iE=1,i_=function(e){function r(t){var r;return(r=e.call(this,t)||this).destroyed=!1,r.id="Tex"+iE++,r}rH(r,e);var i=r.prototype;return i.getWidth=function(){return this.width||0},i.getHeight=function(){return this.height||0},i.uploadCurrentVideoFrame=function(){},i.offloadData=function(){},i.reloadData=function(){},i.initialize=function(){},i.assembleOptions=function(e){var r=e.target,i=void 0===r?r3.TEXTURE_2D:r,n=e.format,o=void 0===n?r3.RGBA:n;return e.sourceType||("image"in e?e.sourceType=t.TextureSourceType.image:"data"in e?e.sourceType=t.TextureSourceType.data:"video"in e?e.sourceType=t.TextureSourceType.video:e.sourceType=0),ir({minFilter:r3.NEAREST,magFilter:r3.NEAREST,wrapS:r3.CLAMP_TO_EDGE,wrapT:r3.CLAMP_TO_EDGE,target:i,format:r3.RGBA,internalFormat:o,type:r3.UNSIGNED_BYTE},e)},rG(r,[{key:"isDestroyed",get:function(){return this.destroyed}}]),r}(iT);function iC(t,e,r,i){var n,o,a=e.length/r/i;return o=n=4===a||0===a?r3.RGBA:3===a?r3.RGB:2===a?r3.LUMINANCE_ALPHA:r3.LUMINANCE,i_.createWithData(t,{data:e,width:r,height:i},{type:r3.HALF_FLOAT,format:n,internalFormat:o,wrapS:r3.CLAMP_TO_EDGE,wrapT:r3.CLAMP_TO_EDGE})}var iS=function(){function t(t,e,r){void 0===r&&(r=0),this.arrayBuffer=t,this.baseOffset=r;var i=new Uint8Array(this.arrayBuffer,this.baseOffset,12);if(171!==i[0]||75!==i[1]||84!==i[2]||88!==i[3]||32!==i[4]||49!==i[5]||49!==i[6]||187!==i[7]||13!==i[8]||10!==i[9]||26!==i[10]||10!==i[11])throw Error("texture missing KTX identifier");var n=Uint32Array.BYTES_PER_ELEMENT,o=new DataView(this.arrayBuffer,this.baseOffset+12,13*n),a=67305985===o.getUint32(0,!0);if(this.glType=o.getUint32(1*n,a),this.glTypeSize=o.getUint32(2*n,a),this.glFormat=o.getUint32(3*n,a),this.glInternalFormat=o.getUint32(4*n,a),this.glBaseInternalFormat=o.getUint32(5*n,a),this.pixelWidth=o.getUint32(6*n,a),this.pixelHeight=o.getUint32(7*n,a),this.pixelDepth=o.getUint32(8*n,a),this.numberOfArrayElements=o.getUint32(9*n,a),this.numberOfFaces=o.getUint32(10*n,a),this.numberOfMipmapLevels=o.getUint32(11*n,a),this.bytesOfKeyValueData=o.getUint32(12*n,a),this.numberOfMipmapLevels=Math.max(1,this.numberOfMipmapLevels),0===this.pixelHeight||0!==this.pixelDepth){rM.warn("Only 2D textures currently supported");return}if(0!==this.numberOfArrayElements){rM.warn("Texture arrays not currently supported");return}if(this.numberOfFaces!==e){rM.warn("Number of faces expected"+e+", but found "+this.numberOfFaces);return}0===this.glType?this.loadType=0:this.loadType=2}return t.prototype.mipmaps=function(t){for(var e=[],r=64+this.bytesOfKeyValueData,i=this.pixelWidth,n=this.pixelHeight,o=t?this.numberOfMipmapLevels:1,a=0;a<o;a++){for(var s=new Int32Array(this.arrayBuffer,this.baseOffset+r,1)[0],u=0;u<this.numberOfFaces;u++){var l=new Uint8Array(this.arrayBuffer,this.baseOffset+r+4,s);e.push({data:l,width:i,height:n}),r+=s+4+(3-(s+3)%4)}i=Math.max(1,.5*i),n=Math.max(1,.5*n)}return e},t}();function iR(e){var r=new iS(e,1),i=r.numberOfMipmapLevels,n=r.pixelWidth,o=r.pixelHeight,a=r.glType,s=r.numberOfFaces,u=r.glInternalFormat,l=r.glFormat;return{sourceType:t.TextureSourceType.compressed,type:a,target:6===s?r3.TEXTURE_CUBE_MAP:r3.TEXTURE_2D,internalFormat:u,format:l,mipmaps:r.mipmaps(i>=Math.floor(Math.log2(Math.max(n,o))+1))}}var iA=function(){function e(){this.reloadPending={}}var r=e.prototype;return r.reload=function(t){var e=this;return e0(function(){var r,i;return e4(this,function(n){switch(n.label){case 0:if(r=t.id,e.reloadPending[r])return[2];if(!t.sourceFrom)return[3,2];return e.reloadPending[r]=!0,[4,e.loadSource(t.sourceFrom)];case 1:return i=n.sent(),t.updateSource(i),e.reloadPending[r]=!1,[3,3];case 2:throw Error("No source from");case 3:return[2]}})})()},r.canOffloadTexture=function(e){if(e){var r=e.type;if(r===t.TextureSourceType.compressed||r===t.TextureSourceType.image){var i=e.target,n=e.map,o=e.url;return i===r3.TEXTURE_CUBE_MAP?"object"==typeof n&&!!n:rV(o)&&o.length>0}if(r===t.TextureSourceType.mipmaps){var a=e.bin,s=e.mipmaps,u=e.target,l=e.maps,c=e.urls;return a?s.length>0:u===r3.TEXTURE_CUBE_MAP?l.every(function(t){return"object"==typeof t&&t}):c.every(function(t){return rV(t)&&t.length>0})}}return!1},r.loadSource=function(e,r){var i=this;return e0(function(){var n,o,a,s,u,l,c,h,f,m,d,p,v,y,g,x,T,E;return e4(this,function(_){switch(_.label){case 0:if(n=e.type,o=e.target,a=e.map,s=e.url,u=e.bin,l=e.mipmaps,c=e.urls,h=e.maps,!(o===r3.TEXTURE_CUBE_MAP&&n!==t.TextureSourceType.mipmaps))return[3,2];return[4,i.loadCubeMap(a)];case 1:return f=_.sent(),[2,ir({},r,{cube:f,target:r3.TEXTURE_CUBE_MAP,sourceType:t.TextureSourceType.image,sourceFrom:{type:t.TextureSourceType.image,map:ir({},a),target:r3.TEXTURE_CUBE_MAP}})];case 2:if(n!==t.TextureSourceType.image)return[3,4];return[4,iu(s)];case 3:return m=_.sent(),[2,ir({},r,{image:m,sourceType:t.TextureSourceType.image,sourceFrom:{type:n,url:s,target:r3.TEXTURE_2D}})];case 4:if(n!==t.TextureSourceType.video)return[3,6];return[4,id(s)];case 5:return d=_.sent(),[2,ir({},r,{video:d,sourceType:t.TextureSourceType.video})];case 6:if(n!==t.TextureSourceType.compressed)return[3,8];return[4,ic(s)];case 7:return p=_.sent(),[2,ir({},iR(p),r,{sourceFrom:{url:s,type:t.TextureSourceType.compressed}})];case 8:if(n!==t.TextureSourceType.mipmaps)return[3,17];if(!u)return[3,13];return[4,ic(u)];case 9:if(v=_.sent(),g=(y=null!=o?o:r3.TEXTURE_2D)===r3.TEXTURE_2D?l.slice():l.map(function(t){return t.slice()}),o!==r3.TEXTURE_CUBE_MAP)return[3,11];return[4,Promise.all(l.map(function(t){return i.loadMipmapImages(t,v)}))];case 10:return x=_.sent(),[3,12];case 11:x=i.loadMipmapImages(l,v),_.label=12;case 12:return[2,ir({},r,{mipmaps:x,target:y,sourceType:t.TextureSourceType.mipmaps,sourceFrom:{bin:u,mipmaps:g,target:y,type:t.TextureSourceType.mipmaps}})];case 13:if(!(o===r3.TEXTURE_2D||!o))return[3,15];return[4,Promise.all(c.map(function(t){return iu(t)}))];case 14:return T=_.sent(),[2,ir({},r,{mipmaps:T,target:r3.TEXTURE_2D,sourceType:t.TextureSourceType.mipmaps,sourceFrom:{type:n,urls:c.slice(),target:r3.TEXTURE_2D}})];case 15:if(o!==r3.TEXTURE_CUBE_MAP)return[3,17];return[4,Promise.all(h.map(function(t){return i.loadCubeMap(t)}))];case 16:return E=_.sent(),[2,ir({},r,{mipmaps:E,target:r3.TEXTURE_CUBE_MAP,sourceType:t.TextureSourceType.mipmaps,sourceFrom:{type:n,maps:h.map(function(t){return ir({},t)}),target:r3.TEXTURE_CUBE_MAP}})];case 17:throw Error("Invalid resource type: "+n)}})})()},r.loadMipmapImages=function(t,e){return e0(function(){return e4(this,function(r){return[2,Promise.all(t.map(function(t){return iu(new Blob([new Uint8Array(e,t[0],t[1])]))}))]})})()},r.loadCubeMap=function(t){return e0(function(){return e4(this,function(e){return[2,Promise.all(t.map(function(t){return iu(t)}))]})})()},e}(),ib=function(){function t(t){this.destroyed=!1;var e=t.name;this.name=void 0===e?"defaultDataBlock":e}var e=t.prototype;return e.setUniformValues=function(t){var e=this;Object.keys(t).forEach(function(r){e.setUniformValue(r,t[r])})},e.invalidAllFlags=function(){},e.updateUniformSubData=function(t,e,r){},t}();function iO(t){return"object"==typeof t&&t&&void 0===t.length&&e1(t,i_)}t.MaterialRenderType=void 0,(B=t.MaterialRenderType||(t.MaterialRenderType={}))[B.normal=0]="normal",B[B.transformFeedback=1]="transformFeedback";var iw=1,iL=function(t){function e(e,r){var i;if((i=t.call(this,e)||this).destroyed=!1,i.initialized=!1,r){var n=r.name,o=void 0===n?"Material"+iw++:n,a=r.renderType,s=r.shader,u=r.uniformSemantics;i.name=o,i.renderType=void 0===a?0:a,i.shaderSource=s,i.props=r,i.uniformSemantics=ir({},u)}else i.name="Material"+iw++,i.renderType=0;return i}rH(e,t);var r=e.prototype;return r.initialize=function(){},r.use=function(t,e){},rG(e,[{key:"blending",set:function(t){}},{key:"blendFunction",set:function(t){}},{key:"blendEquation",set:function(t){}},{key:"depthTest",set:function(t){}},{key:"depthMask",set:function(t){}},{key:"stencilTest",set:function(t){}},{key:"stencilRef",set:function(t){}},{key:"stencilFunc",set:function(t){}},{key:"stencilOpZPass",set:function(t){}},{key:"culling",set:function(t){}},{key:"frontFace",set:function(t){}},{key:"cullFace",set:function(t){}},{key:"blendColor",set:function(t){}},{key:"depthRange",set:function(t){}},{key:"depthFunc",set:function(t){}},{key:"polygonOffsetFill",set:function(t){}},{key:"polygonOffset",set:function(t){}},{key:"sampleAlphaToCoverage",set:function(t){}},{key:"colorMask",set:function(t){}},{key:"stencilMask",set:function(t){}},{key:"stencilOpFail",set:function(t){}},{key:"stencilOpZFail",set:function(t){}}]),e}(iT),iI="uniform vec2 uFilterSourceSize;uniform sampler2D uFilterSource;\n#define INTERPOLATION 1\nvec4 filterMain(vec2 texCoord,sampler2D tex){\n#ifdef INTERPOLATION\nvec2 texInPixel=texCoord*uFilterSourceSize;vec2 coordMin=floor(texInPixel);vec2 pp=texInPixel-coordMin;vec4 fCoord=vec4(coordMin/uFilterSourceSize,(coordMin+vec2(1.))/uFilterSourceSize);vec4 cLT=texture2D(uFilterSource,vec2(fCoord.x,fCoord.w));vec4 cLB=texture2D(uFilterSource,vec2(fCoord.x,fCoord.y));vec4 cRT=texture2D(uFilterSource,vec2(fCoord.z,fCoord.w));vec4 cRB=texture2D(uFilterSource,vec2(fCoord.z,fCoord.y));return mix(mix(cLB,cRB,pp.x),mix(cLT,cRT,pp.x),pp.y);\n#else\nreturn texture2D(uFilterSource,texCoord);\n#endif\n}";t.ShaderCompileResultStatus=void 0,(G=t.ShaderCompileResultStatus||(t.ShaderCompileResultStatus={}))[G.noShader=0]="noShader",G[G.success=1]="success",G[G.fail=2]="fail",G[G.compiling=3]="compiling",t.GLSLVersion=void 0,(X=t.GLSLVersion||(t.GLSLVersion={})).GLSL1="100",X.GLSL3="300 es";var iM=function(t){function e(e,r){var i;return(i=t.call(this,e)||this).source=r,i}return rH(e,t),e}(iT);t.Shader=function(t){function e(){return t.apply(this,arguments)}rH(e,t);var r=e.prototype;return r.createVariant=function(t){var e=[];if(t)for(var r,i=rW(Object.keys(t));!(r=i()).done;){var n=r.value;e.push([n,t[n]])}var o=this.engine.getShaderLibrary().createShader(this.shaderData,e);return o.shader=this,o},r.fromData=function(e){t.prototype.fromData.call(this,e),this.shaderData=e},e}(iT),t.Shader=e3([r1("Shader")],t.Shader);var iP="effects-internal-copy",iV="effects-internal-copy-mesh",iF="\n#ifdef WEBGL2\n#define vsIn in\n#define vsOut out\n#else\n#define vsIn attribute\n#define vsOut varying\n#endif\nprecision highp float;\nvsIn vec2 aPos;\nvsOut vec2 vTex;\nvoid main(){\n gl_Position = vec4(aPos,0.,1.0);\n vTex = (aPos + vec2(1.0))/2.;\n}",iN="precision mediump float;\n#ifdef WEBGL2\n#define fsIn in\n#define fsOut out\n#define texture2D texture\n#else\n#define fsIn varying\n#endif\n"+iI+"\nfsIn vec2 vTex;\n#ifdef WEBGL2\nlayout (location = 0) out vec4 fragColor;\n#else\n#define fragColor gl_FragColor\n#endif\n\n#ifdef DEPTH_TEXTURE\nuniform sampler2D uDepth;\n#ifndef WEBGL2\n#extension GL_EXT_frag_depth : enable\n#define gl_FragDepth gl_FragDepthEXT\n#endif\n#endif\nvoid main(){\n fragColor = filterMain(vTex,uFilterSource);\n #ifdef DEPTH_TEXTURE\n gl_FragDepth = texture2D(uDepth,vTex).r;\n #endif\n}\n";function iD(e,r){var i=2===e,n=i?"#version 300 es":"";return{name:iP,vertex:n+"\n"+iF,fragment:n+"\n"+iN,glslVersion:i?t.GLSLVersion.GLSL3:t.GLSLVersion.GLSL1,marcos:[["WEBGL2",!!i],["DEPTH_TEXTURE",!!r]],cacheId:iV+ +r}}var iz={format:r3.RGBA,type:r3.UNSIGNED_BYTE,minFilter:r3.LINEAR,magFilter:r3.LINEAR,wrapS:r3.CLAMP_TO_EDGE,wrapT:r3.CLAMP_TO_EDGE},ik=Symbol("dispose"),iU=function(){function e(t){this.textureCache={},this.textureRef={},this.engine=t}var r=e.prototype;return r.requestColorAttachmentTexture=function(e){var r=this,i=e.width,n=e.height,o=e.name,a={sourceType:t.TextureSourceType.framebuffer,data:{width:i,height:n},name:o},s=[o];Object.getOwnPropertyNames(iz).forEach(function(t){var r,i=null!=(r=e[t])?r:iz[t];a[t]=i,s.push(t,i)});var u=s.join(":"),l=this.textureCache[u];if(l)this.textureRef[u]++;else{var c=this.engine;rm(c),l=i_.create(c,a),this.textureCache[u]=l,this.textureRef[u]=1,l[ik]=l.dispose,l.dispose=function(){return r.removeTexture(u)}}return l},r.removeTexture=function(t){var e=this.textureRef[t];if(e<=1){e<0&&console.error("ref count < 0");var r=this.textureCache[t];r&&(r[ik](),r.dispose=r[ik]),delete this.textureCache[t],delete this.textureRef[t]}else this.textureRef[t]=e-1},r.dispose=function(){var t=this;Object.keys(this.textureCache).forEach(function(e){var r=t.textureCache[e];r[ik](),r.dispose=r[ik]}),this.textureCache={},this.textureRef={},this.engine=void 0},e}(),iB=function(){function t(t){void 0===t&&(t={}),this.semantics=ir({},t)}var e=t.prototype;return e.toObject=function(){return ir({},this.semantics)},e.setSemantic=function(t,e){void 0===e?delete this.semantics[t]:this.semantics[t]=e},e.getSemanticValue=function(t,e){var r=this.semantics[t];return rN(r)?r(e):r},e.hasSemanticValue=function(t){return t in this.semantics},e.dispose=function(){var t=this;Object.keys(this.semantics).forEach(function(e){delete t.semantics[e]})},t}(),iG=((eu={})[r3.FLOAT]=Float32Array.BYTES_PER_ELEMENT,eu[r3.INT]=Int32Array.BYTES_PER_ELEMENT,eu[r3.SHORT]=Int16Array.BYTES_PER_ELEMENT,eu[r3.BYTE]=Int8Array.BYTES_PER_ELEMENT,eu),iX=function(t){function e(){return t.apply(this,arguments)}rH(e,t);var r=e.prototype;return r.initialize=function(){},r.flush=function(){},e}(iT);function iH(t){return t===r3.INT?new Int32Array(0):t===r3.SHORT?new Int16Array(0):new Float32Array(0)}var iY=function(t){function e(){return t.apply(this,arguments)}rH(e,t);var r=e.prototype;return r.onAttached=function(){},r.onDestroy=function(){},r.fromData=function(e){t.prototype.fromData.call(this,e),e.item&&(this.item=e.item)},r.dispose=function(){this.onDestroy(),this.item&&rt(this.item.components,this)},rG(e,[{key:"transform",get:function(){return this.item.transform}}]),e}(iT),iW=function(t){function e(){var e;return e=t.apply(this,arguments)||this,e._enabled=!0,e}rH(e,t);var r=e.prototype;return r.onBehaviourEnable=function(){},r.fromData=function(e){t.prototype.fromData.call(this,e)},r.toData=function(){t.prototype.toData.call(this)},rG(e,[{key:"isActiveAndEnabled",get:function(){return this.item.getVisible()&&this.enabled}},{key:"enabled",get:function(){return this._enabled},set:function(t){this._enabled=t,t&&this.onBehaviourEnable()}}]),e}(iY);e3([r0()],iW.prototype,"_enabled",void 0);var ij=function(t){function e(){var e;return e=t.apply(this,arguments)||this,e.started=!1,e}rH(e,t);var r=e.prototype;return r.onEnable=function(){},r.start=function(){},r.update=function(t){},r.lateUpdate=function(t){},r.onAttached=function(){this.item.itemBehaviours.push(this)},r.dispose=function(){this.item&&rt(this.item.itemBehaviours,this),t.prototype.dispose.call(this)},r.onBehaviourEnable=function(){this.onEnable(),this.started||(this.start(),this.started=!0)},e}(iW),iZ=function(t){function e(){var e;return e=t.apply(this,arguments)||this,e.started=!1,e.materials=[],e._enabled=!0,e}rH(e,t);var r=e.prototype;return r.onEnable=function(){},r.start=function(){},r.update=function(t){},r.lateUpdate=function(t){},r.render=function(t){},r.onAttached=function(){this.item.rendererComponents.push(this)},r.fromData=function(e){t.prototype.fromData.call(this,e)},r.toData=function(){t.prototype.toData.call(this)},r.dispose=function(){this.item&&rt(this.item.rendererComponents,this),t.prototype.dispose.call(this)},rG(e,[{key:"priority",get:function(){return this._priority},set:function(t){this._priority=t}},{key:"enabled",get:function(){return this._enabled},set:function(t){this._enabled=t,t&&this.onEnable()}},{key:"isActiveAndEnabled",get:function(){return this.item.getVisible()&&this.enabled}},{key:"material",get:function(){return this.materials[0]},set:function(t){0===this.materials.length?this.materials.push(t):this.materials[0]=t}}]),e}(iY);e3([r0()],iZ.prototype,"materials",void 0),e3([r0()],iZ.prototype,"_priority",void 0),e3([r0()],iZ.prototype,"_enabled",void 0);var iq=1,iQ=function(e){function r(t,r){var i;if((i=e.call(this,t)||this).destroyed=!1,i.visible=!0,r){var n=r.material,o=r.geometry,a=r.name,s=r.priority,u=r.worldMatrix,l=void 0===u?r_.fromIdentity():u;i.id="Mesh"+iq++,i.name=void 0===a?"<unnamed>":a,i.geometry=o,i.material=n,i.priority=void 0===s?0:s,i.worldMatrix=l}else i.id="Mesh"+iq++,i.name="<unnamed>",i.worldMatrix=r_.fromIdentity(),i._priority=0;return i}rH(r,e);var i=r.prototype;return i.setVisible=function(t){this.visible=t},i.getVisible=function(){return this.visible},i.render=function(t){if(!this.isDestroyed&&this.getVisible()){var e=this.material,r=this.geometry;t.renderingData.currentFrame.globalUniforms&&t.setGlobalMatrix("effects_ObjectToWorld",this.worldMatrix),r.flush(),t.drawGeometry(r,e)}},i.firstGeometry=function(){return this.geometry},i.setMaterial=function(e,r){r!==t.DestroyOptions.keep&&this.material.dispose(r),this.material=e},i.restore=function(){},i.dispose=function(e){if(!this.destroyed){(null==e?void 0:e.geometries)!==t.DestroyOptions.keep&&this.geometry.dispose();var r=null==e?void 0:e.material;r!==t.DestroyOptions.keep&&this.material.dispose(r),this.destroyed=!0,void 0!==this.engine&&(this.engine.removeMesh(this),this.engine=void 0)}},rG(r,[{key:"isDestroyed",get:function(){return this.destroyed}}]),r}(iZ);t.RenderPassAttachmentStorageType=void 0,(H=t.RenderPassAttachmentStorageType||(t.RenderPassAttachmentStorageType={}))[H.none=0]="none",H[H.color=1]="color",H[H.stencil_8_opaque=2]="stencil_8_opaque",H[H.depth_16_opaque=3]="depth_16_opaque",H[H.depth_stencil_opaque=4]="depth_stencil_opaque",H[H.depth_16_texture=5]="depth_16_texture",H[H.depth_24_stencil_8_texture=6]="depth_24_stencil_8_texture",t.TextureStoreAction=void 0,(Y=t.TextureStoreAction||(t.TextureStoreAction={}))[Y.store=0]="store",Y[Y.clear=2]="clear";var iK=function(){function e(e,r){if(this.destroyed=!1,r){var i=r.texture,n=r.size;if(e1(i,i_))this.texture=i,this.externalTexture=!0;else if(i){var o=i.wrapT,a=i.wrapS,s=i.minFilter,u=i.magFilter,l=i.internalFormat,c=i.format,h=void 0===c?r3.RGBA:c,f=i.type,m=void 0===f?r3.UNSIGNED_BYTE:f;this.externalTexture=!1,this.textureOptions={size:n,format:h,type:m,internalFormat:l||h,wrapT:o,wrapS:a,minFilter:s,magFilter:u,name:r.name},this.texture=i_.create(e,ir({},this.textureOptions,{sourceType:t.TextureSourceType.framebuffer,data:{width:n[0],height:n[1]}}))}}}return e.prototype.dispose=function(){this.destroyed||(this.texture.dispose(),this.destroyed=!0)},rG(e,[{key:"isDestroyed",get:function(){return this.destroyed}},{key:"storageType",get:function(){return 1}},{key:"size",get:function(){var t=this.texture;return t?[t.getWidth(),t.getHeight()]:[0,0]}},{key:"width",get:function(){return this.texture.getWidth()||0}},{key:"height",get:function(){return this.texture.getHeight()||0}}]),e}();t.RenderPassDestroyAttachmentType=void 0,(W=t.RenderPassDestroyAttachmentType||(t.RenderPassDestroyAttachmentType={}))[W.force=0]="force",W[W.keep=1]="keep",W[W.keepExternal=2]="keepExternal",W[W.destroy=0]="destroy";var iJ=1,i$=function(){function e(e,r){this.attachments=[],this.destroyed=!1,this.initialized=!1;var i=r.name,n=void 0===i?"RenderPass_"+iJ++:i,o=r.clearAction,a=r.semantics,s=r.depthStencilAttachment,u=r.storeAction,l=r.priority,c=r.meshOrder,h=void 0===c?t.OrderType.ascending:c,f=r.meshes,m=r.delegate;this.name=n,this.renderer=e,this.priority=void 0===l?0:l,this.meshOrder=h,this.meshes=rc((void 0===f?[]:f).slice(),this.meshOrder),this.depthStencilType=(null==s?void 0:s.storageType)||0,this.clearAction=ir({},o),this.storeAction=ir({colorAction:0,depthAction:0,stencilAction:0},u),this.semantics=new iB(a),this.options=r,this.delegate=void 0===m?{}:m,this.setViewportOptions(r)}var r=e.prototype;return r.addMesh=function(t){rh(this.meshes,t,this.meshOrder)},r.removeMesh=function(t){rt(this.meshes,t)},r.setMeshes=function(t){var e;return this.meshes.length=0,(e=this.meshes).splice.apply(e,[].concat([0,0],t)),rc(this.meshes,this.meshOrder),this.meshes},r.getInitAttachments=function(){return this.attachments.length>0?this.attachments:this.options.attachments},r.configure=function(t){if(this.frameBuffer)t.setFrameBuffer(this.frameBuffer);else{var e=this.getViewport(),r=e[0],i=e[1],n=e[2],o=e[3];t.setViewport(r,i,n,o)}},r.execute=function(t){t.clear(this.clearAction),t.renderMeshes(this.meshes),t.clear(this.storeAction)},r.frameCleanup=function(t){},r.resetColorAttachments=function(e){var r=this;if(e.length||this.resetAttachments({attachments:[]}),this.attachments.length){var i=e.map(function(e){return e.updateSource({sourceType:t.TextureSourceType.framebuffer}),new iK(r.renderer.engine,{texture:e})});this.attachments.forEach(function(t){return!t.externalTexture&&t.dispose()}),this.attachments=i,this.frameBuffer&&(this.frameBuffer.bind(),this.frameBuffer.resetColorTextures(e.map(function(t){return t})))}else this.resetAttachments({attachments:e.map(function(t){return{texture:t}})})},r.resetAttachments=function(t){this.options=t,this.setViewportOptions(t),this.renderer&&this._resetAttachments()},r.setViewportOptions=function(t){if(t.viewport){if(this.isCustomViewport=!0,this.viewportScale=1,this.customViewport=t.viewport.slice(0,4),this.frameBuffer){var e=this.customViewport;this.frameBuffer.isCustomViewport=!1,this.frameBuffer.resize(e[0],e[1],e[2],e[3])}}else this.isCustomViewport=!1,this.viewportScale=t.viewportScale||1,this.frameBuffer&&(this.frameBuffer.isCustomViewport=!0,this.frameBuffer.viewportScale=this.viewportScale)},r._resetAttachments=function(){var t,e,r=this,i=this.renderer,n=this.options;this.attachments.length&&(this.attachments.forEach(function(t){return!t.externalTexture&&t.dispose()}),this.attachments.length=0,null==(e=this.frameBuffer)||e.dispose({depthStencilAttachment:2}),this.frameBuffer=null);var o=this.viewportScale,a=this.isCustomViewport?this.customViewport:[0,0,i.getWidth()*o,i.getHeight()*o],s=[a[2],a[3]],u=this.name;if(null==(t=n.attachments)?void 0:t.length){var l=n.attachments.map(function(t,e){var i;return new iK(r.renderer.engine,ir({size:s,name:(null==(i=t.texture)?void 0:i.name)||u+"##color_"+e},t))});this.attachments=l;var c=ng.create({storeAction:this.storeAction,name:u,viewport:a,viewportScale:this.viewportScale,isCustomViewport:this.isCustomViewport,attachments:l.map(function(t){return t.texture}),depthStencilAttachment:n.depthStencilAttachment||{storageType:0}},i);c.bind(),c.unbind(),this.frameBuffer=c}else this.attachments.length=0},r.getViewport=function(){var t,e=(null==(t=this.frameBuffer)?void 0:t.viewport)||this.customViewport;if(e)return e;var r=this.renderer,i=this.viewportScale;return r?[0,0,r.getWidth()*i,r.getHeight()*i]:[0,0,0,0]},r.getDepthAttachment=function(){var t=this.frameBuffer;if(t)return{storageType:t.depthStencilStorageType,storage:t.depthStorage,texture:t.getDepthTexture()?this.getDepthTexture(t.getDepthTexture(),t.externalStorage):void 0}},r.getStencilAttachment=function(){var t=this.frameBuffer;if(t)return{storageType:t.depthStencilStorageType,storage:t.stencilStorage,texture:t.getStencilTexture()?this.getStencilTexture(t.getStencilTexture(),t.externalStorage):void 0}},r.getDepthTexture=function(t,e){if(!this.depthTexture){var r,i=null==(r=this.options.depthStencilAttachment)?void 0:r.texture,n=t===i?i:t;return e||(this.depthTexture=n),n}return this.depthTexture},r.getStencilTexture=function(t,e){if(!this.stencilTexture){var r,i=null==(r=this.options.depthStencilAttachment)?void 0:r.texture,n=t===i?i:t;return e||(this.stencilTexture=n),n}return this.stencilTexture},r.initialize=function(t){return this.initialized||(this._resetAttachments(),this.initialized=!0),this},r.dispose=function(e){if(!this.destroyed){var r,i,n=(null==e?void 0:e.meshes)||void 0;n!==t.DestroyOptions.keep&&this.meshes.forEach(function(t){t.dispose(n)}),this.meshes.length=0;var o=(null==e?void 0:e.colorAttachment)?e.colorAttachment:0;this.attachments.forEach(function(t){t.externalTexture&&2===o||1===o||t.dispose()}),this.attachments.length=0,(null==e?void 0:e.semantics)!==t.DestroyOptions.keep&&this.semantics.dispose(),this.destroyed=!0;var a=(null==e?void 0:e.depthStencilAttachment)?e.depthStencilAttachment:0,s=this.frameBuffer;s&&(s.dispose({depthStencilAttachment:a}),s.externalStorage&&2===a||1===a||(null==(r=this.stencilTexture)||r.dispose(),null==(i=this.depthTexture)||i.dispose())),this.options=this.renderer=null,this.initialize=rk}},rG(e,[{key:"isDestroyed",get:function(){return this.destroyed}},{key:"viewport",get:function(){return this.getViewport()}},{key:"stencilAttachment",get:function(){return this.getStencilAttachment()}},{key:"depthAttachment",get:function(){return this.getDepthAttachment()}}]),e}(),i0="#version 300 es\nprecision highp float;\n#version 300 es\n#ifdef WEBGL2\n#define texture2D texture\n#define textureCube texture\n#define textureCubeLodEXT textureLod\nlayout(location=0)out vec4 fragColor;\n#else\n#define fragColor gl_FragColor\n#endif\nvec4 blendColor(vec4 color,vec4 vc,float mode){vec4 ret=color*vc;\n#ifdef PRE_MULTIPLY_ALPHA\nfloat alpha=vc.a;\n#else\nfloat alpha=ret.a;\n#endif\nif(mode==1.){ret.rgb*=alpha;}else if(mode==2.){ret.rgb*=alpha;ret.a=dot(ret.rgb,vec3(0.33333333));}else if(mode==3.){alpha=color.r*alpha;ret=vec4(vc.rgb*alpha,alpha);}return ret;}in vec4 vColor;in vec4 vTexCoord;in highp vec2 vParams;uniform vec3 uFrameColor;void main(){fragColor=vec4(uFrameColor.xyz,1.0);}",i1="precision highp float;attribute vec2 atlasOffset;attribute vec3 aPos;varying vec2 vTexCoord;varying vec3 vParams;varying vec4 vColor;uniform vec2 _Size;uniform vec4 _Color;uniform vec4 _TexParams;uniform vec4 _TexOffset;uniform mat4 effects_MatrixVP;uniform mat4 effects_MatrixInvV;uniform mat4 effects_ObjectToWorld;\n#ifdef ENV_EDITOR\nuniform vec4 uEditorTransform;\n#endif\nvoid main(){vec4 texParams=_TexParams;vTexCoord=vec2(atlasOffset.xy*_TexOffset.zw+_TexOffset.xy);vColor=_Color;vParams=vec3(0.0,texParams.y,texParams.x);vec4 pos=vec4(aPos.xy*_Size,aPos.z,1.0);gl_Position=effects_MatrixVP*effects_ObjectToWorld*pos;\n#ifdef ENV_EDITOR\ngl_Position=vec4(gl_Position.xy*uEditorTransform.xy+uEditorTransform.zw*gl_Position.w,gl_Position.zw);\n#endif\n}",i2="precision highp float;varying vec4 vColor;varying vec2 vTexCoord;varying vec3 vParams;uniform sampler2D uSampler0;vec4 blendColor(vec4 color,vec4 vc,float mode){vec4 ret=color*vc;\n#ifdef PRE_MULTIPLY_ALPHA\nfloat alpha=vc.a;\n#else\nfloat alpha=ret.a;\n#endif\nif(mode==1.){ret.rgb*=alpha;}else if(mode==2.){ret.rgb*=alpha;ret.a=dot(ret.rgb,vec3(0.33333333));}else if(mode==3.){alpha=color.r*alpha;ret=vec4(vc.rgb*alpha,alpha);}return ret;}void main(){vec4 color=vec4(0.);vec4 texColor=texture2D(uSampler0,vTexCoord.xy);color=blendColor(texColor,vColor,floor(0.5+vParams.y));if(vParams.z==0.&&color.a<0.04){discard;}color.a=clamp(color.a,0.0,1.0);gl_FragColor=color;}",i3="#version 300 es\nprecision mediump float;\n#version 300 es\n#ifdef WEBGL2\n#define texture2D texture\n#define textureCube texture\n#define textureCubeLodEXT textureLod\nlayout(location=0)out vec4 fragColor;\n#else\n#define fragColor gl_FragColor\n#endif\nvec4 blendColor(vec4 color,vec4 vc,float mode){vec4 ret=color*vc;\n#ifdef PRE_MULTIPLY_ALPHA\nfloat alpha=vc.a;\n#else\nfloat alpha=ret.a;\n#endif\nif(mode==1.){ret.rgb*=alpha;}else if(mode==2.){ret.rgb*=alpha;ret.a=dot(ret.rgb,vec3(0.33333333));}else if(mode==3.){alpha=color.r*alpha;ret=vec4(vc.rgb*alpha,alpha);}return ret;}\n#define PATICLE_SHADER 1\nin float vLife;in vec2 vTexCoord;in vec4 vColor;uniform vec3 emissionColor;uniform float emissionIntensity;uniform sampler2D uMaskTex;uniform vec4 uColorParams;uniform vec2 uTexOffset;\n#ifdef COLOR_OVER_LIFETIME\nuniform sampler2D uColorOverLifetime;\n#endif\n#ifdef USE_SPRITE\nin vec4 vTexCoordBlend;\n#ifdef USE_FILTER\nuniform vec4 uFSprite;\n#endif\n#endif\nin float vSeed;\n#ifdef PREVIEW_BORDER\nuniform vec4 uPreviewColor;\n#endif\n#ifdef USE_SPRITE\nvec4 getTextureColor(sampler2D tex,vec2 texCoord){if(vTexCoordBlend.w>0.){return mix(texture2D(tex,texCoord),texture2D(tex,vTexCoordBlend.xy+texCoord),vTexCoordBlend.z);}return texture2D(tex,texCoord);}\n#else\n#define getTextureColor texture2D\n#endif\n#ifndef WEBGL2\n#define round(a) floor(0.5+a)\n#endif\n#ifdef PREVIEW_BORDER\nvoid main(){fragColor=uPreviewColor;}\n#else\n#pragma FILTER_FRAG\nvoid main(){vec4 color=vec4(1.0);vec4 tempColor=vColor;vec2 texOffset=uTexOffset;if(vLife<0.){discard;}\n#ifdef USE_FILTER\n#ifdef USE_SPRITE\ntexOffset=uTexOffset/uFSprite.xy;\n#endif\ncolor=filterMain(vTexCoord,uMaskTex);\n#else\nif(uColorParams.x>0.0){color=getTextureColor(uMaskTex,vTexCoord);}\n#endif\n#ifdef COLOR_OVER_LIFETIME\n#ifndef ENABLE_VERTEX_TEXTURE\ntempColor*=texture2D(uColorOverLifetime,vec2(vLife,0.));\n#endif\n#endif\ncolor=blendColor(color,tempColor,round(uColorParams.y));if(color.a<=0.01&&uColorParams.w>0.){float _at=texture2D(uMaskTex,vTexCoord+texOffset).a+texture2D(uMaskTex,vTexCoord+texOffset*-1.).a;if(_at<=0.02){discard;}}vec3 emission=emissionColor*pow(2.0,emissionIntensity);color=vec4(pow(pow(color.rgb,vec3(2.2))+emission,vec3(1.0/2.2)),color.a);fragColor=color;}\n#endif\n",i4="#version 300 es\nprecision highp float;\n#define SHADER_VERTEX 1\n#define PATICLE_SHADER 1\n#version 300 es\n#ifdef WEBGL2\n#define texture2D texture\n#else\n#endif\n#ifdef SHADER_VERTEX\n#define CURVE_VALUE_TEXTURE uVCurveValueTexture\n#define CURVE_VALUE_ARRAY uVCurveValues\n#define CURVE_VALUE_COUNT VERT_CURVE_VALUE_COUNT\n#define FRAG_CURVE_VALUE_COUNT 0\n#else\n#define CURVE_VALUE_TEXTURE uFCurveValueTexture\n#define CURVE_VALUE_ARRAY uFCurveValues\n#define CURVE_VALUE_COUNT FRAG_CURVE_VALUE_COUNT\n#define VERT_CURVE_VALUE_COUNT 0\n#endif\n#if CURVE_VALUE_COUNT > 0\n#if LOOKUP_TEXTURE_CURVE\nuniform sampler2D CURVE_VALUE_TEXTURE;const float uCurveCount=1./float(CURVE_VALUE_COUNT);\n#define lookup_curve(i) texture2D(CURVE_VALUE_TEXTURE,vec2(float(i) * uCurveCount,0.))\n#else\nuniform vec4 CURVE_VALUE_ARRAY[CURVE_VALUE_COUNT];\n#define lookup_curve(i) CURVE_VALUE_ARRAY[i]\n#endif\n#else\n#define lookup_curve(i) vec4(0.)\n#endif\n#ifdef WEBGL2\n#define ITR_END (count + 1)\n#else\n#define ITR_END MAX_C\n#endif\n#ifdef SHADER_VERTEX\nin float aSeed;out float vSeed;\n#define NONE_CONST_INDEX 1\n#else\n#if LOOKUP_TEXTURE_CURVE\n#define NONE_CONST_INDEX 1\n#endif\n#endif\n#ifdef NONE_CONST_INDEX\n#ifdef SHADER_VERTEX\n#define MAX_C VERT_MAX_KEY_FRAME_COUNT\n#else\n#define MAX_C FRAG_MAX_KEY_FRAME_COUNT\n#endif\n#else\n#define MAX_C CURVE_VALUE_COUNT\n#endif\nfloat evaluateCurveFrames(float time,vec4 keyframe0,vec4 keyframe1){float dt=keyframe1.x-keyframe0.x;float m0=keyframe0.w*dt;float m1=keyframe1.z*dt;float t=(time-keyframe0.x)/dt;float t2=t*t;float t3=t2*t;return dot(vec4(dot(vec3(2.,-3.,1.),vec3(t3,t2,1.)),dot(vec3(1,-2.,1),vec3(t3,t2,t)),t3-t2,dot(vec2(-2,3),vec2(t3,t2))),vec4(keyframe0.y,m0,m1,keyframe1.y));}float valueFromCurveFrames(float time,float frameStart,float frameCount){int start=int(frameStart);int count=int(frameCount-1.);int end=start+count;for(int i=0;i<ITR_END;i++){\n#ifdef NONE_CONST_INDEX\nif(i==count){return lookup_curve(count).y;}vec4 k0=lookup_curve(i+start);vec4 k1=lookup_curve(i+1+start);\n#else\nif(i<start){continue;}vec4 k0=lookup_curve(i);vec4 k1=lookup_curve(i+1);if(i==end){return k0.y;}\n#endif\nif(time>=k0.x&&time<=k1.x){return evaluateCurveFrames(time,k0,k1);}}return lookup_curve(0).y;}float evaluteLineSeg(float t,vec2 p0,vec2 p1){return p0.y+(p1.y-p0.y)*(t-p0.x)/(p1.x-p0.x);}float valueFromLineSegs(float time,float frameStart,float frameCount){int start=int(frameStart);int count=int(frameCount-1.);int end=start+count;for(int i=0;i<ITR_END;i++){\n#ifdef NONE_CONST_INDEX\nif(i>count){return lookup_curve(i).w;}\n#else\nif(i<start){continue;}if(i>end){return lookup_curve(i-2).w;}\n#endif\n#ifdef NONE_CONST_INDEX\nvec4 seg=lookup_curve(i+start);\n#else\nvec4 seg=lookup_curve(i);\n#endif\nvec2 p0=seg.xy;vec2 p1=seg.zw;if(time>=p0.x&&time<=p1.x){return evaluteLineSeg(time,p0,p1);}\n#ifdef NONE_CONST_INDEX\nvec2 p2=lookup_curve(i+start+1).xy;\n#else\nvec2 p2=lookup_curve(i+1).xy;\n#endif\nif(time>p1.x&&time<=p2.x){return evaluteLineSeg(time,p1,p2);}}return lookup_curve(0).y;}float getValueFromTime(float time,vec4 value){float type=value.x;if(type==0.){return value.y;}else if(type==1.){return mix(value.y,value.z,time/value.w);}if(type==2.){return valueFromCurveFrames(time,floor(value.y),floor(1./fract(value.y)+0.5))*value.w+value.z;}if(type==3.){return valueFromLineSegs(time,value.y,value.z);}if(type==4.){\n#ifdef SHADER_VERTEX\nfloat seed=aSeed;\n#else\nfloat seed=vSeed;\n#endif\nreturn mix(value.y,value.z,seed);}return 0.;}float integrateCurveFrames(float t1,vec4 k0,vec4 k1){float k=k1.x-k0.x;float m0=k0.w*k;float m1=k1.z*k;float t0=k0.x;float v0=k0.y;float v1=k1.y;float dt=t0-t1;float dt2=dt*dt;float dt3=dt2*dt;vec4 a=vec4(dt3*dt,dt3,dt2,dt)/vec4(4.*k*k*k,3.*k*k,2.*k,1.);vec4 b=vec4(m0+m1+2.*v0-2.*v1,2.*m0+m1+3.*v0-3.*v1,m0,-v0);return dot(a,b);}float integrateByTimeCurveFrames(float t1,vec4 k0,vec4 k1){float k=k1.x-k0.x;float m0=k0.w*k;float m1=k1.z*k;float t0=k0.x;float v0=k0.y;float v1=k1.y;float dt=t0-t1;float dt2=dt*dt;float dt3=dt2*dt;float k2=k*k;float k3=k2*k;vec4 a=vec4(-30.*k3,10.*k2,5.*k,3.)*vec4(dt,dt2,dt3,dt3*dt);vec4 b=vec4(v0,m0,2.*m0+m1+3.*v0-3.*v1,m0+m1+2.*v0-2.*v1)*vec4(t0+t1,t0+2.*t1,t0+3.*t1,t0+4.*t1);return dot(a,b)/60./k3;}float integrateByTimeFromCurveFrames(float t1,float frameStart,float frameCount){if(t1==0.){return 0.;}int start=int(frameStart);int count=int(frameCount-1.);float ret=0.;for(int i=0;i<ITR_END;i++){if(i==count){return ret;}vec4 k0=lookup_curve(i+start);vec4 k1=lookup_curve(i+1+start);if(t1>k0.x&&t1<=k1.x){return ret+integrateByTimeCurveFrames(t1,k0,k1);}ret+=integrateByTimeCurveFrames(k1.x,k0,k1);}return ret;}float integrateFromCurveFrames(float time,float frameStart,float frameCount){if(time==0.){return 0.;}int start=int(frameStart);int count=int(frameCount-1.);float ret=0.;for(int i=0;i<ITR_END;i++){if(i==count){return ret;}vec4 k0=lookup_curve(i+start);vec4 k1=lookup_curve(i+1+start);if(time>k0.x&&time<=k1.x){return ret+integrateCurveFrames(time,k0,k1);}ret+=integrateCurveFrames(k1.x,k0,k1);}return ret;}float integrateByTimeLineSeg(float t,vec2 p0,vec2 p1){float t0=p0.x;float t1=p1.x;float y0=p0.y;float y1=p1.y;vec4 tSqr=vec4(t,t,t0,t0);tSqr=tSqr*tSqr;vec4 a=vec4(2.*t,3.,-t0,3.)*tSqr;float t1y0=t1*y0;vec4 b=vec4(y0-y1,t0*y1-t1y0,2.*y0+y1,t1y0);float r=dot(a,b);return r/(t0-t1)*0.16666667;}float integrateLineSeg(float time,vec2 p0,vec2 p1){float h=time-p0.x;float y0=p0.y;return(y0+y0+(p1.y-y0)*h/(p1.x-p0.x))*h/2.;}float integrateFromLineSeg(float time,float frameStart,float frameCount){if(time==0.){return 0.;}int start=int(frameStart);int count=int(frameCount-1.);float ret=0.;for(int i=0;i<ITR_END;i++){if(i>count){return ret;}vec4 ks=lookup_curve(i+start);vec2 k0=ks.xy;vec2 k1=ks.zw;if(time>k0.x&&time<=k1.x){return ret+integrateLineSeg(time,k0,k1);}ret+=integrateLineSeg(k1.x,k0,k1);vec2 k2=lookup_curve(i+start+1).xy;if(time>k1.x&&time<=k2.x){return ret+integrateLineSeg(time,k1,k2);}ret+=integrateLineSeg(k2.x,k1,k2);}return ret;}float integrateByTimeFromLineSeg(float time,float frameStart,float frameCount){if(time==0.){return 0.;}int start=int(frameStart);int count=int(frameCount-1.);float ret=0.;for(int i=0;i<ITR_END;i++){if(i>count){return ret;}vec4 ks=lookup_curve(i+start);vec2 k0=ks.xy;vec2 k1=ks.zw;if(time>k0.x&&time<=k1.x){return ret+integrateByTimeLineSeg(time,k0,k1);}ret+=integrateByTimeLineSeg(k1.x,k0,k1);vec2 k2=lookup_curve(i+start+1).xy;if(time>k1.x&&time<=k2.x){return ret+integrateByTimeLineSeg(time,k1,k2);}ret+=integrateByTimeLineSeg(k2.x,k1,k2);}return ret;}float getIntegrateFromTime0(float t1,vec4 value){float type=value.x;if(type==0.){return value.y*t1;}else if(type==1.){vec2 p0=vec2(0.,value.y);vec2 p1=vec2(value.w,value.z);return integrateLineSeg(t1,p0,p1);}if(type==3.){return integrateFromLineSeg(t1,value.y,value.z);}if(type==2.){float idx=floor(value.y);float ilen=floor(1./fract(value.y)+0.5);float d=integrateFromCurveFrames(t1,idx,ilen);return d*value.w+value.z*t1;}if(type==4.){return mix(value.y,value.z,aSeed)*t1;}return 0.;}float getIntegrateByTimeFromTime(float t0,float t1,vec4 value){float type=value.x;if(type==0.){return value.y*(t1*t1-t0*t0)/2.;}else if(type==1.){vec2 p0=vec2(0.,value.y);vec2 p1=vec2(value.w,value.z);return integrateByTimeLineSeg(t1,p0,p1)-integrateByTimeLineSeg(t0,p0,p1);}if(type==2.){float idx=floor(value.y);float ilen=floor(1./fract(value.y)+0.5);float d=integrateByTimeFromCurveFrames(t1,idx,ilen)-integrateByTimeFromCurveFrames(t0,idx,ilen);return d*value.w+value.z*pow(t1-t0,2.)*0.5;}if(type==3.){return integrateByTimeFromLineSeg(t1,value.y,value.z)-integrateByTimeFromLineSeg(t0,value.y,value.z);}if(type==4.){return mix(value.y,value.z,aSeed)*(t1*t1-t0*t0)/2.;}return 0.;}const float d2r=3.141592653589793/180.;in vec3 aPos;in vec4 aOffset;in vec3 aVel;in vec3 aRot;in vec4 aColor;in vec3 aDirX;in vec3 aDirY;\n#ifdef USE_SPRITE\nin vec3 aSprite;uniform vec4 uSprite;struct UVDetail{vec2 uv0;vec3 uv1;};UVDetail getSpriteUV(vec2 uv,float lifeTime);out vec4 vTexCoordBlend;\n#endif\n#pragma EDITOR_VERT_DEFINE\n#ifdef FINAL_TARGET\nuniform vec3 uFinalTarget;uniform vec4 uForceCurve;\n#endif\nuniform mat4 effects_ObjectToWorld;uniform mat4 effects_MatrixV;uniform mat4 effects_MatrixVP;uniform vec4 uParams;uniform vec4 uAcceleration;uniform vec4 uGravityModifierValue;uniform vec4 uOpacityOverLifetimeValue;\n#ifdef ROT_X_LIFETIME\nuniform vec4 uRXByLifeTimeValue;\n#endif\n#ifdef ROT_Y_LIFETIME\nuniform vec4 uRYByLifeTimeValue;\n#endif\n#ifdef ROT_Z_LIFETIME\nuniform vec4 uRZByLifeTimeValue;\n#endif\n#ifdef COLOR_OVER_LIFETIME\nuniform sampler2D uColorOverLifetime;\n#endif\n#if LINEAR_VEL_X + LINEAR_VEL_Y + LINEAR_VEL_Z\n#if LINEAR_VEL_X\nuniform vec4 uLinearXByLifetimeValue;\n#endif\n#if LINEAR_VEL_Y\nuniform vec4 uLinearYByLifetimeValue;\n#endif\n#if LINEAR_VEL_Z\nuniform vec4 uLinearZByLifetimeValue;\n#endif\n#endif\n#ifdef SPEED_OVER_LIFETIME\nuniform vec4 uSpeedLifetimeValue;\n#endif\n#if ORB_VEL_X + ORB_VEL_Y + ORB_VEL_Z\n#if ORB_VEL_X\nuniform vec4 uOrbXByLifetimeValue;\n#endif\n#if ORB_VEL_Y\nuniform vec4 uOrbYByLifetimeValue;\n#endif\n#if ORB_VEL_Z\nuniform vec4 uOrbZByLifetimeValue;\n#endif\nuniform vec3 uOrbCenter;\n#endif\nuniform vec4 uSizeByLifetimeValue;\n#ifdef SIZE_Y_BY_LIFE\nuniform vec4 uSizeYByLifetimeValue;\n#endif\nout float vLife;out vec4 vColor;out vec2 vTexCoord;\n#ifdef USE_FILTER\n#pragma FILTER_VERT\n#endif\n#ifdef ENV_EDITOR\nuniform vec4 uEditorTransform;\n#endif\nvec3 calOrbitalMov(float _life,float _dur){vec3 orb=vec3(0.0);\n#ifdef AS_ORBITAL_MOVEMENT\n#define FUNC(a) getValueFromTime(_life,a)\n#else\n#define FUNC(a) getIntegrateFromTime0(_life,a) * _dur\n#endif\n#if ORB_VEL_X\norb.x=FUNC(uOrbXByLifetimeValue);\n#endif\n#if ORB_VEL_Y\norb.y=FUNC(uOrbYByLifetimeValue);\n#endif\n#if ORB_VEL_Z\norb.z=FUNC(uOrbZByLifetimeValue);\n#endif\n#undef FUNC\nreturn orb;}vec3 calLinearMov(float _life,float _dur){vec3 mov=vec3(0.0);\n#ifdef AS_LINEAR_MOVEMENT\n#define FUNC(a) getValueFromTime(_life,a)\n#else\n#define FUNC(a) getIntegrateFromTime0(_life,a) * _dur\n#endif\n#if LINEAR_VEL_X\nmov.x=FUNC(uLinearXByLifetimeValue);\n#endif\n#if LINEAR_VEL_Y\nmov.y=FUNC(uLinearYByLifetimeValue);\n#endif\n#if LINEAR_VEL_Z\nmov.z=FUNC(uLinearZByLifetimeValue);\n#endif\n#undef FUNC\nreturn mov;}mat3 mat3FromRotation(vec3 rotation){vec3 sinR=sin(rotation*d2r);vec3 cosR=cos(rotation*d2r);return mat3(cosR.z,-sinR.z,0.,sinR.z,cosR.z,0.,0.,0.,1.)*mat3(cosR.y,0.,sinR.y,0.,1.,0.,-sinR.y,0,cosR.y)*mat3(1.,0.,0.,0,cosR.x,-sinR.x,0.,sinR.x,cosR.x);}\n#ifdef USE_SPRITE\nUVDetail getSpriteUV(vec2 uv,float lifeTime){float t=fract(clamp((lifeTime-aSprite.x)/aSprite.y,0.0,1.)*aSprite.z);float frame=uSprite.z*t;float frameIndex=max(ceil(frame)-1.,0.);float row=floor((frameIndex+0.1)/uSprite.x);float col=frameIndex-row*uSprite.x;vec2 retUV=(vec2(col,row)+uv)/uSprite.xy;UVDetail ret;if(uSprite.w>0.){float blend=frame-frameIndex;float frameIndex1=min(ceil(frame),uSprite.z-1.);float row1=floor((frameIndex1+0.1)/uSprite.x);float col1=frameIndex1-row1*uSprite.x;vec2 coord=(vec2(col1,row1)+uv)/uSprite.xy-retUV;ret.uv1=vec3(coord.x,1.-coord.y,blend);}ret.uv0=vec2(retUV.x,1.-retUV.y);return ret;}\n#endif\nvec3 calculateTranslation(vec3 vel,float t0,float t1,float dur){float dt=t1-t0;float d=getIntegrateByTimeFromTime(0.,dt,uGravityModifierValue);vec3 acc=uAcceleration.xyz*d;\n#ifdef SPEED_OVER_LIFETIME\nreturn vel*getIntegrateFromTime0(dt/dur,uSpeedLifetimeValue)*dur+acc;\n#endif\nreturn vel*dt+acc;}mat3 transformFromRotation(vec3 rot,float _life,float _dur){vec3 rotation=rot;\n#ifdef ROT_LIFETIME_AS_MOVEMENT\n#define FUNC1(a) getValueFromTime(_life,a)\n#else\n#define FUNC1(a) getIntegrateFromTime0(_life,a) * _dur\n#endif\n#ifdef ROT_X_LIFETIME\nrotation.x+=FUNC1(uRXByLifeTimeValue);\n#endif\n#ifdef ROT_Y_LIFETIME\nrotation.y+=FUNC1(uRYByLifeTimeValue);\n#endif\n#ifdef ROT_Z_LIFETIME\nrotation.z+=FUNC1(uRZByLifeTimeValue);\n#endif\nif(dot(rotation,rotation)==0.0){return mat3(1.0);}\n#undef FUNC1\nreturn mat3FromRotation(rotation);}void main(){float time=uParams.x-aOffset.z;float dur=aOffset.w;if(time<0.||time>dur){gl_Position=vec4(-3.,-3.,-3.,1.);}else{float life=clamp(time/dur,0.0,1.0);vLife=life;\n#ifdef USE_SPRITE\nUVDetail uvD=getSpriteUV(aOffset.xy,time);vTexCoord=uvD.uv0;vTexCoordBlend=vec4(uvD.uv1,uSprite.w);\n#else\nvTexCoord=aOffset.xy;\n#endif\nvColor=aColor;\n#ifdef COLOR_OVER_LIFETIME\n#ifdef ENABLE_VERTEX_TEXTURE\nvColor*=texture2D(uColorOverLifetime,vec2(life,0.));\n#endif\n#endif\nvColor.a*=clamp(getValueFromTime(life,uOpacityOverLifetimeValue),0.,1.);vec3 size=vec3(vec2(getValueFromTime(life,uSizeByLifetimeValue)),1.0);\n#ifdef SIZE_Y_BY_LIFE\nsize.y=getValueFromTime(life,uSizeYByLifetimeValue);\n#endif\nvec3 point=transformFromRotation(aRot,life,dur)*(aDirX*size.x+aDirY*size.y);vec3 pt=calculateTranslation(aVel,aOffset.z,uParams.x,dur);vec3 _pos=aPos+pt;\n#if ORB_VEL_X + ORB_VEL_Y + ORB_VEL_Z\n_pos=mat3FromRotation(calOrbitalMov(life,dur))*(_pos-uOrbCenter);_pos+=uOrbCenter;\n#endif\n#if LINEAR_VEL_X + LINEAR_VEL_Y + LINEAR_VEL_Z\n_pos.xyz+=calLinearMov(life,dur);\n#endif\n#ifdef FINAL_TARGET\nfloat force=getValueFromTime(life,uForceCurve);vec4 pos=vec4(mix(_pos,uFinalTarget,force),1.);\n#else\nvec4 pos=vec4(_pos,1.0);\n#endif\n#if RENDER_MODE == 1\npos.xyz+=point;pos=effects_ObjectToWorld*pos;\n#elif RENDER_MODE == 3\npos=effects_ObjectToWorld*pos;pos.xyz+=effects_MatrixV[0].xyz*point.x+effects_MatrixV[2].xyz*point.y;\n#elif RENDER_MODE == 2\npos=effects_ObjectToWorld*pos;pos.xy+=point.xy;\n#elif RENDER_MODE == 0\npos=effects_ObjectToWorld*pos;pos.xyz+=effects_MatrixV[0].xyz*point.x+effects_MatrixV[1].xyz*point.y;\n#endif\ngl_Position=effects_MatrixVP*pos;vSeed=aSeed;gl_PointSize=6.0;\n#ifdef USE_FILTER\nfilterMain(life);\n#endif\n#ifdef ENV_EDITOR\ngl_Position=vec4(gl_Position.xy*uEditorTransform.xy+uEditorTransform.zw*gl_Position.w,gl_Position.zw);\n#endif\n#pragma EDITOR_VERT_TRANSFORM\n}}",i5="#version 300 es\nprecision mediump float;\n#define SHADER_VERTEX 1\n#version 300 es\n#ifdef WEBGL2\n#define texture2D texture\n#else\n#endif\n#ifdef SHADER_VERTEX\n#define CURVE_VALUE_TEXTURE uVCurveValueTexture\n#define CURVE_VALUE_ARRAY uVCurveValues\n#define CURVE_VALUE_COUNT VERT_CURVE_VALUE_COUNT\n#define FRAG_CURVE_VALUE_COUNT 0\n#else\n#define CURVE_VALUE_TEXTURE uFCurveValueTexture\n#define CURVE_VALUE_ARRAY uFCurveValues\n#define CURVE_VALUE_COUNT FRAG_CURVE_VALUE_COUNT\n#define VERT_CURVE_VALUE_COUNT 0\n#endif\n#if CURVE_VALUE_COUNT > 0\n#if LOOKUP_TEXTURE_CURVE\nuniform sampler2D CURVE_VALUE_TEXTURE;const float uCurveCount=1./float(CURVE_VALUE_COUNT);\n#define lookup_curve(i) texture2D(CURVE_VALUE_TEXTURE,vec2(float(i) * uCurveCount,0.))\n#else\nuniform vec4 CURVE_VALUE_ARRAY[CURVE_VALUE_COUNT];\n#define lookup_curve(i) CURVE_VALUE_ARRAY[i]\n#endif\n#else\n#define lookup_curve(i) vec4(0.)\n#endif\n#ifdef WEBGL2\n#define ITR_END (count + 1)\n#else\n#define ITR_END MAX_C\n#endif\n#ifdef SHADER_VERTEX\nin float aSeed;out float vSeed;\n#define NONE_CONST_INDEX 1\n#else\n#if LOOKUP_TEXTURE_CURVE\n#define NONE_CONST_INDEX 1\n#endif\n#endif\n#ifdef NONE_CONST_INDEX\n#ifdef SHADER_VERTEX\n#define MAX_C VERT_MAX_KEY_FRAME_COUNT\n#else\n#define MAX_C FRAG_MAX_KEY_FRAME_COUNT\n#endif\n#else\n#define MAX_C CURVE_VALUE_COUNT\n#endif\nfloat evaluateCurveFrames(float time,vec4 keyframe0,vec4 keyframe1){float dt=keyframe1.x-keyframe0.x;float m0=keyframe0.w*dt;float m1=keyframe1.z*dt;float t=(time-keyframe0.x)/dt;float t2=t*t;float t3=t2*t;return dot(vec4(dot(vec3(2.,-3.,1.),vec3(t3,t2,1.)),dot(vec3(1,-2.,1),vec3(t3,t2,t)),t3-t2,dot(vec2(-2,3),vec2(t3,t2))),vec4(keyframe0.y,m0,m1,keyframe1.y));}float valueFromCurveFrames(float time,float frameStart,float frameCount){int start=int(frameStart);int count=int(frameCount-1.);int end=start+count;for(int i=0;i<ITR_END;i++){\n#ifdef NONE_CONST_INDEX\nif(i==count){return lookup_curve(count).y;}vec4 k0=lookup_curve(i+start);vec4 k1=lookup_curve(i+1+start);\n#else\nif(i<start){continue;}vec4 k0=lookup_curve(i);vec4 k1=lookup_curve(i+1);if(i==end){return k0.y;}\n#endif\nif(time>=k0.x&&time<=k1.x){return evaluateCurveFrames(time,k0,k1);}}return lookup_curve(0).y;}float evaluteLineSeg(float t,vec2 p0,vec2 p1){return p0.y+(p1.y-p0.y)*(t-p0.x)/(p1.x-p0.x);}float valueFromLineSegs(float time,float frameStart,float frameCount){int start=int(frameStart);int count=int(frameCount-1.);int end=start+count;for(int i=0;i<ITR_END;i++){\n#ifdef NONE_CONST_INDEX\nif(i>count){return lookup_curve(i).w;}\n#else\nif(i<start){continue;}if(i>end){return lookup_curve(i-2).w;}\n#endif\n#ifdef NONE_CONST_INDEX\nvec4 seg=lookup_curve(i+start);\n#else\nvec4 seg=lookup_curve(i);\n#endif\nvec2 p0=seg.xy;vec2 p1=seg.zw;if(time>=p0.x&&time<=p1.x){return evaluteLineSeg(time,p0,p1);}\n#ifdef NONE_CONST_INDEX\nvec2 p2=lookup_curve(i+start+1).xy;\n#else\nvec2 p2=lookup_curve(i+1).xy;\n#endif\nif(time>p1.x&&time<=p2.x){return evaluteLineSeg(time,p1,p2);}}return lookup_curve(0).y;}float getValueFromTime(float time,vec4 value){float type=value.x;if(type==0.){return value.y;}else if(type==1.){return mix(value.y,value.z,time/value.w);}if(type==2.){return valueFromCurveFrames(time,floor(value.y),floor(1./fract(value.y)+0.5))*value.w+value.z;}if(type==3.){return valueFromLineSegs(time,value.y,value.z);}if(type==4.){\n#ifdef SHADER_VERTEX\nfloat seed=aSeed;\n#else\nfloat seed=vSeed;\n#endif\nreturn mix(value.y,value.z,seed);}return 0.;}in vec4 aPos;in vec3 aDir;in vec3 aInfo;in vec4 aColor;in float aTime;\n#ifdef ATTR_TRAIL_START\nin float aTrailStart;\n#else\nuniform float uTrailStart[64];in float aTrailStartIndex;\n#endif\nuniform mat4 effects_MatrixInvV;uniform mat4 effects_ObjectToWorld;uniform mat4 effects_MatrixVP;uniform vec4 uTextureMap;uniform float uTime;uniform vec4 uParams;uniform vec4 uColorParams;uniform vec4 uOpacityOverLifetimeValue;uniform vec4 uWidthOverTrail;\n#ifdef COLOR_OVER_TRAIL\nuniform sampler2D uColorOverTrail;\n#endif\n#ifdef COLOR_OVER_LIFETIME\nuniform sampler2D uColorOverLifetime;\n#endif\nout float vLife;out vec2 vTexCoord;out vec4 vColor;\n#ifdef ENV_EDITOR\nuniform vec4 uEditorTransform;\n#endif\nvoid main(){vec4 _pa=effects_MatrixVP*vec4(aPos.xyz,1.);vec4 _pb=effects_MatrixVP*vec4(aPos.xyz+aDir,1.);vec2 dir=normalize(_pb.xy/_pb.w-_pa.xy/_pa.w);vec2 screen_xy=vec2(-dir.y,dir.x);vec4 pos=effects_ObjectToWorld*vec4(aPos.xyz,1.);\n#ifdef ATTR_TRAIL_START\nfloat ts=aTrailStart;\n#else\nfloat ts=uTrailStart[int(aTrailStartIndex)];\n#endif\nfloat trail=(ts-aInfo.y)/uParams.y;float width=aPos.w*getValueFromTime(trail,uWidthOverTrail)/max(abs(screen_xy.x),abs(screen_xy.y));pos.xyz+=(effects_MatrixInvV[0].xyz*screen_xy.x+effects_MatrixInvV[1].xyz*screen_xy.y)*width;float time=min((uTime-aTime)/aInfo.x,1.0);gl_Position=effects_MatrixVP*pos;vColor=aColor;\n#ifdef COLOR_OVER_LIFETIME\n#ifdef ENABLE_VERTEX_TEXTURE\nvColor*=texture2D(uColorOverLifetime,vec2(time,0.));\n#endif\n#endif\n#ifdef COLOR_OVER_TRAIL\nvColor*=texture2D(uColorOverTrail,vec2(trail,0.));\n#endif\nvColor.a*=clamp(getValueFromTime(time,uOpacityOverLifetimeValue),0.,1.);vLife=time;vTexCoord=uTextureMap.xy+vec2(trail,aInfo.z)*uTextureMap.zw;vSeed=aSeed;\n#ifdef ENV_EDITOR\ngl_Position=vec4(gl_Position.xy*uEditorTransform.xy+uEditorTransform.zw*gl_Position.w,gl_Position.zw);\n#endif\n}",i6="precision highp float;attribute vec2 aPos;varying vec2 uv;void main(){gl_Position=vec4(aPos,0.,1.0);uv=(aPos+vec2(1.0))/2.;}",i8="precision highp float;\n#define HALF_MAX 60000.0\n#define ACEScc_MIDGRAY 0.4135884\nvarying vec2 uv;uniform sampler2D _GaussianTex;uniform sampler2D _SceneTex;uniform float _BloomIntensity;uniform float _Brightness;uniform float _Saturation;uniform float _Contrast;uniform bool _UseBloom;uniform bool _UseToneMapping;uniform vec3 _VignetteColor;uniform vec2 _VignetteCenter;uniform float _VignetteIntensity;uniform float _VignetteSmoothness;uniform float _VignetteRoundness;mat3 LinearToACES=mat3(0.59719,0.07600,0.02840,0.35458,0.90834,0.13383,0.04823,0.01566,0.83777);mat3 ACESToLinear=mat3(1.60475,-0.10208,-0.00327,-0.53108,1.10813,-0.07276,-0.07367,-0.00605,1.07602);float log10(float x){return log(x)/log(10.0);}vec3 log10(vec3 v){return vec3(log10(v.x),log10(v.y),log10(v.z));}vec3 LinearToLogC(vec3 x){return 0.244161*log10(5.555556*x+0.047996)+0.386036;}vec3 LogCToLinear(vec3 x){return(pow(vec3(10.0),(x-0.386036)/0.244161)-0.047996)/5.555556;}vec3 rrt_and_odt_fit(vec3 col){vec3 a=col*(col+0.0245786)-0.000090537;vec3 b=col*(0.983729*col+0.4329510)+0.238081;return a/b;}vec3 ACESToneMapping(vec3 col){vec3 aces=LinearToACES*col;aces=rrt_and_odt_fit(aces);col=ACESToLinear*aces;return col;}vec3 LinearToSrgb(vec3 c){return mix(1.055*pow(c,vec3(1./2.4))-0.055,12.92*c,step(c,vec3(0.0031308)));}vec3 GammaCorrection(vec3 c){return pow(c,vec3(1.0/2.2));}vec3 ApplyVignette(vec3 inputColor,vec2 uv,vec2 center,float intensity,float roundness,float smoothness,vec3 color){vec2 dist=abs(uv-center)*intensity;dist.x*=roundness;float vfactor=pow(clamp((1.0-dot(dist,dist)),0.0,1.0),smoothness);return inputColor*mix(color,vec3(1.0),vfactor);}void main(){vec4 hdrColor=texture2D(_SceneTex,uv);hdrColor.rgb=pow(hdrColor.rgb,vec3(2.2));vec3 finalColor=hdrColor.rgb;if(_UseBloom){vec4 bloomColor=texture2D(_GaussianTex,uv);bloomColor.rgb*=_BloomIntensity;finalColor+=bloomColor.rgb;}if(_VignetteIntensity>0.0){finalColor=ApplyVignette(finalColor,uv,_VignetteCenter,_VignetteIntensity,_VignetteRoundness,_VignetteSmoothness,_VignetteColor);}finalColor=finalColor*_Brightness;vec3 colorLog=LinearToLogC(finalColor);colorLog=(colorLog-ACEScc_MIDGRAY)*_Contrast+ACEScc_MIDGRAY;finalColor=LogCToLinear(colorLog);finalColor=max(finalColor,0.0);float luminance=0.2125*finalColor.r+0.7154*finalColor.g+0.0721*finalColor.b;vec3 luminanceColor=vec3(luminance,luminance,luminance);finalColor=(finalColor-luminanceColor)*_Saturation+luminanceColor;finalColor=max(finalColor,0.0);if(_UseToneMapping){finalColor=max(vec3(0.0),ACESToneMapping(finalColor));}gl_FragColor=vec4(clamp(GammaCorrection(finalColor),0.0,1.0),1.0);}",i9="precision highp float;varying vec2 uv;uniform sampler2D _MainTex;uniform vec2 _TextureSize;vec3 GaussH(sampler2D tex,vec2 uv){vec3 color=vec3(0.0);float offsets[9];offsets[0]=-4.0;offsets[1]=-3.0;offsets[2]=-2.0;offsets[3]=-1.0;offsets[4]=0.0;offsets[5]=1.0;offsets[6]=2.0;offsets[7]=3.0;offsets[8]=4.0;float weights[9];weights[0]=0.01621622;weights[1]=0.05405405;weights[2]=0.12162162;weights[3]=0.19459459;weights[4]=0.22702703;weights[5]=0.19459459;weights[6]=0.12162162;weights[7]=0.05405405;weights[8]=0.01621622;for(int i=0;i<9;i++){vec2 offset=vec2(offsets[i]*2.0*(1.0/_TextureSize.x),0);color+=texture2D(tex,uv+offset).rgb*weights[i];}return color;}void main(){vec3 color=GaussH(_MainTex,uv);gl_FragColor=vec4(color,1.0);}",i7="precision highp float;varying vec2 uv;uniform sampler2D _MainTex;uniform vec2 _TextureSize;vec3 GaussV(sampler2D tex,vec2 uv){vec3 color=vec3(0.0);float offsets[5];offsets[0]=-3.23076923;offsets[1]=-1.38461538;offsets[2]=0.0;offsets[3]=1.38461538;offsets[4]=3.23076923;float weights[5];weights[0]=0.07027027;weights[1]=0.31621622;weights[2]=0.22702703;weights[3]=0.31621622;weights[4]=0.07027027;for(int i=0;i<5;i++){vec2 offset=vec2(0,offsets[i]*(1.0/_TextureSize.y));color+=texture2D(tex,uv+offset).rgb*weights[i];}return color;}void main(){vec3 color=GaussV(_MainTex,uv);gl_FragColor=vec4(color,1.0);}",nt="precision highp float;varying vec2 uv;uniform sampler2D _MainTex;uniform sampler2D _GaussianDownTex;uniform vec2 _GaussianDownTextureSize;float GaussWeight2D(float x,float y,float sigma){float PI=3.14159265358;float E=2.71828182846;float sigma_2=pow(sigma,2.0);float a=-(x*x+y*y)/(2.0*sigma_2);return pow(E,a)/(2.0*PI*sigma_2);}vec3 GaussNxN(sampler2D tex,vec2 uv,vec2 stride,float sigma){vec3 color=vec3(0.,0.,0.);const int r=1;float weight=0.0;for(int i=-r;i<=r;i++){for(int j=-r;j<=r;j++){float w=GaussWeight2D(float(i),float(j),sigma);vec2 coord=uv+vec2(i,j)*stride;color+=texture2D(tex,coord).rgb*w;weight+=w;}}color/=weight;return color;}void main(){vec3 lowResColor=GaussNxN(_MainTex,uv,0.5/_GaussianDownTextureSize,1.0);vec3 highResColor=GaussNxN(_GaussianDownTex,uv,1.0/_GaussianDownTextureSize,1.0);vec3 color=mix(highResColor,lowResColor,0.7);gl_FragColor=vec4(color,1.0);}",ne="precision highp float;varying vec2 uv;uniform sampler2D _MainTex;uniform float _Threshold;void main(){vec4 mainColor=texture2D(_MainTex,uv);mainColor.rgb=pow(mainColor.rgb,vec3(2.2));float brightness=max(mainColor.r,max(mainColor.g,mainColor.b));float w=max(0.0,brightness-_Threshold)/max(brightness,0.00001);mainColor.rgb*=w;gl_FragColor=vec4(mainColor.rgb,1.0);}",nr=function(e){function r(r,i){var n,o=(n=e.call(this,r,i)||this).renderer.engine,a=iX.create(o,{mode:r3.TRIANGLE_STRIP,attributes:{aPos:{type:r3.FLOAT,size:2,data:new Float32Array([-1,1,-1,-1,1,1,1,-1])}},drawCount:4}),s=iL.create(o,{shader:{vertex:i6,fragment:ne,glslVersion:t.GLSLVersion.GLSL1}});return s.blending=!1,s.depthTest=!1,s.culling=!1,n.screenMesh=iQ.create(o,{geometry:a,material:s,priority:0}),n.priority=5e3,n}rH(r,e);var i=r.prototype;return i.configure=function(t){this.mainTexture=t.getFrameBuffer().getColorTextures()[0],this.sceneTextureHandle.texture=this.mainTexture,t.setFrameBuffer(this.frameBuffer)},i.execute=function(e){e.clear({colorAction:t.TextureStoreAction.clear,depthAction:t.TextureStoreAction.clear,stencilAction:t.TextureStoreAction.clear}),this.screenMesh.material.setTexture("_MainTex",this.mainTexture);var r=e.renderingData.currentFrame.globalVolume.threshold;this.screenMesh.material.setFloat("_Threshold",r),e.renderMeshes([this.screenMesh])},r}(i$),ni=function(e){function r(r,i,n){(o=e.call(this,r,n)||this).type=i;var o,a=o.renderer.engine,s="PostProcess",u=iX.create(a,{name:s,mode:r3.TRIANGLE_STRIP,attributes:{aPos:{type:r3.FLOAT,size:2,data:new Float32Array([-1,1,-1,-1,1,1,1,-1])}},drawCount:4}),l={vertex:i6,fragment:"H"==i?i9:i7,glslVersion:t.GLSLVersion.GLSL1},c=iL.create(a,{name:s,shader:l});return c.blending=!1,c.depthTest=!1,c.culling=!1,o.screenMesh=iQ.create(a,{name:s,geometry:u,material:c,priority:0}),o.priority=5e3,o}rH(r,e);var i=r.prototype;return i.configure=function(t){this.mainTexture=t.getFrameBuffer().getColorTextures()[0],t.setFrameBuffer(this.frameBuffer)},i.execute=function(e){e.clear({colorAction:t.TextureStoreAction.clear,depthAction:t.TextureStoreAction.clear,stencilAction:t.TextureStoreAction.clear}),this.screenMesh.material.setTexture("_MainTex",this.mainTexture),this.screenMesh.material.setVector2("_TextureSize",nc(this.mainTexture)),e.renderMeshes([this.screenMesh]),"V"===this.type&&(this.gaussianResult.texture=e.getFrameBuffer().getColorTextures()[0])},r}(i$),nn=function(e){function r(t,r){i=e.call(this,t,r)||this;var i,n="PostProcess",o=i.renderer.engine,a=iX.create(o,{name:n,mode:r3.TRIANGLE_STRIP,attributes:{aPos:{type:r3.FLOAT,size:2,data:new Float32Array([-1,1,-1,-1,1,1,1,-1])}},drawCount:4}),s=iL.create(o,{name:n,shader:{vertex:i6,fragment:nt}});return s.blending=!1,s.depthTest=!1,s.culling=!1,i.screenMesh=iQ.create(o,{name:n,geometry:a,material:s,priority:0}),i.priority=5e3,i}rH(r,e);var i=r.prototype;return i.configure=function(t){this.mainTexture=t.getFrameBuffer().getColorTextures()[0],t.setFrameBuffer(this.frameBuffer)},i.execute=function(e){e.clear({colorAction:t.TextureStoreAction.clear,depthAction:t.TextureStoreAction.clear,stencilAction:t.TextureStoreAction.clear}),this.screenMesh.material.setTexture("_MainTex",this.mainTexture),this.screenMesh.material.setTexture("_GaussianDownTex",this.gaussianDownSampleResult.texture),this.screenMesh.material.setVector2("_GaussianDownTextureSize",nc(this.gaussianDownSampleResult.texture)),e.renderMeshes([this.screenMesh])},r}(i$),no=function(e){function r(r,i){n=e.call(this,r,{})||this;var n,o="PostProcess",a=n.renderer.engine;n.sceneTextureHandle=i||new iK(a);var s=iX.create(a,{name:o,mode:r3.TRIANGLE_STRIP,attributes:{aPos:{type:r3.FLOAT,size:2,data:new Float32Array([-1,1,-1,-1,1,1,1,-1])}},drawCount:4}),u=iL.create(a,{name:o,shader:{vertex:i6,fragment:i8,glslVersion:t.GLSLVersion.GLSL1}});return u.blending=!1,u.depthTest=!1,u.culling=!1,n.screenMesh=iQ.create(a,{name:o,geometry:s,material:u,priority:0}),n.priority=5e3,n}rH(r,e);var i=r.prototype;return i.configure=function(t){this.mainTexture=t.getFrameBuffer().getColorTextures()[0],this.sceneTextureHandle.texture||(this.sceneTextureHandle.texture=this.mainTexture),t.setFrameBuffer(null)},i.execute=function(e){e.clear({colorAction:t.TextureStoreAction.clear,depthAction:t.TextureStoreAction.clear,stencilAction:t.TextureStoreAction.clear});var r=e.renderingData.currentFrame.globalVolume,i=r.useBloom,n=r.bloomIntensity,o=r.brightness,a=r.saturation,s=r.contrast,u=r.useToneMapping,l=r.vignetteIntensity,c=r.vignetteSmoothness,h=r.vignetteRoundness;this.screenMesh.material.setTexture("_SceneTex",this.sceneTextureHandle.texture),this.screenMesh.material.setFloat("_Brightness",o),this.screenMesh.material.setFloat("_Saturation",a),this.screenMesh.material.setFloat("_Contrast",s),this.screenMesh.material.setInt("_UseBloom",i),i&&(this.screenMesh.material.setTexture("_GaussianTex",this.mainTexture),this.screenMesh.material.setFloat("_BloomIntensity",n)),l>0&&(this.screenMesh.material.setFloat("_VignetteIntensity",l),this.screenMesh.material.setFloat("_VignetteSmoothness",c),this.screenMesh.material.setFloat("_VignetteRoundness",h),this.screenMesh.material.setVector2("_VignetteCenter",new rx(.5,.5)),this.screenMesh.material.setVector3("_VignetteColor",new rT(0,0,0))),this.screenMesh.material.setInt("_UseToneMapping",u),e.renderMeshes([this.screenMesh])},r}(i$),na={useHDR:!1,usePostProcessing:!1,useBloom:1,threshold:1,bloomIntensity:1,brightness:1,saturation:1,contrast:1,vignetteIntensity:.2,vignetteSmoothness:.4,vignetteRoundness:1,useToneMapping:1},ns="_effects_default_",nu=1,nl=function(){function e(e){this.renderQueue=[],this.destroyed=!1,this.renderPassInfoMap=new WeakMap;var r=e.camera,i=e.keepColorBuffer,n=e.renderer,o=e.editorTransform,a=e.globalVolume,s=e.clearAction,u=void 0===s?{colorAction:t.TextureLoadAction.whatever,stencilAction:t.TextureLoadAction.clear,depthAction:t.TextureLoadAction.whatever}:s,l=n.engine;a&&(this.globalVolume=ir({},na,a)),this.globalUniforms=new nf;var c=[],h={};if(this.renderer=n,this.globalVolume){var f=this.globalVolume.useHDR?r3.HALF_FLOAT:r3.UNSIGNED_BYTE;c=[{texture:{format:r3.RGBA,type:f,magFilter:r3.LINEAR,minFilter:r3.LINEAR}}],p={storageType:t.RenderPassAttachmentStorageType.depth_stencil_opaque},h={colorAction:t.TextureLoadAction.clear,stencilAction:t.TextureLoadAction.clear,depthAction:t.TextureLoadAction.clear}}var m=[new i$(n,{name:ns,priority:1e3,meshOrder:t.OrderType.ascending,depthStencilAttachment:p,attachments:c,clearAction:h})];if(this.setRenderPasses(m),this.globalVolume){var d,p,v,y=this.globalVolume.useBloom,g=new iK(l);if(y){var x=[0,0,this.renderer.getWidth()/2,this.renderer.getHeight()/2],T=Array(7),E=this.globalVolume.useHDR?r3.HALF_FLOAT:r3.UNSIGNED_BYTE,_=new nr(n,{name:"BloomThresholdPass",attachments:[{texture:{format:r3.RGBA,type:E,minFilter:r3.LINEAR,magFilter:r3.LINEAR}}]});_.sceneTextureHandle=g,this.addRenderPass(_);for(var C=0;C<7;C++){T[C]=new iK(l);var S=new ni(n,"H",{name:"GaussianDownPassH"+C,viewport:x,attachments:[{texture:{format:r3.RGBA,type:E,minFilter:r3.LINEAR,magFilter:r3.LINEAR}}]}),R=new ni(n,"V",{name:"GaussianDownPassV"+C,viewport:x,attachments:[{texture:{format:r3.RGBA,type:E,minFilter:r3.LINEAR,magFilter:r3.LINEAR}}]});R.gaussianResult=T[C],this.addRenderPass(S),this.addRenderPass(R),x[2]/=2,x[3]/=2}x[2]*=4,x[3]*=4;for(var A=0;A<6;A++){var b=new nn(n,{name:"GaussianUpPass"+A,viewport:x,attachments:[{texture:{format:r3.RGBA,type:E,minFilter:r3.LINEAR,magFilter:r3.LINEAR}}]});b.gaussianDownSampleResult=T[5-A],this.addRenderPass(b),x[2]*=2,x[3]*=2}}v=y?new no(n,g):new no(n),this.addRenderPass(v)}this.semantics=new iB(e.semantics),this.clearAction=u,this.name="RenderFrame"+nu++;var O=m[0],w={type:r3.UNSIGNED_BYTE,format:r3.RGBA,internalFormat:r3.RGBA,wrapS:r3.MIRRORED_REPEAT,wrapT:r3.MIRRORED_REPEAT,minFilter:r3.NEAREST,magFilter:r3.NEAREST};this.emptyTexture=i_.create(l,ir({data:{width:1,height:1,data:new Uint8Array([255,255,255,255])},sourceType:t.TextureSourceType.data},w)),this.transparentTexture=i_.create(l,ir({data:{width:1,height:1,data:new Uint8Array([0,0,0,0])},sourceType:t.TextureSourceType.data},w)),this.camera=r,this.keepColorBuffer=i,this.renderPassInfoMap.set(O,{listStart:0,listEnd:0,renderPass:O,intermedia:!1}),this.editorTransform=rS.fromArray(void 0===o?[1,1,0,0]:o),e.clearAction||this.resetClearActions(),this.passTextureCache=new iU(l);var L=l.gpuCapability,I=L.detail,M=iD(L.level,I.readableDepthStencilTextures&&I.writableFragDepth);null==(d=this.renderer.getShaderLibrary())||d.addShader(M)}var r=e.prototype;return r.addMeshToDefaultRenderPass=function(t){t&&this.renderPasses[0].addMesh(t)},r.removeMeshFromDefaultRenderPass=function(t){},r.dispose=function(e){(null==e?void 0:e.semantics)!==t.DestroyOptions.keep&&this.semantics.dispose();var r,i,n=(null==e?void 0:e.passes)?e.passes:void 0;n!==t.DestroyOptions.keep&&this._renderPasses.forEach(function(t){t.dispose(n)}),this.passTextureCache.dispose(),this._renderPasses.length=0,this.emptyTexture.dispose(),this.transparentTexture.dispose(),this.resource&&(this.resource.color_a.dispose(),this.resource.color_b.dispose(),null==(i=this.resource.depthStencil)||null==(r=i.texture)||r.dispose(),this.resource.finalCopyRP.dispose(),this.resource.resRP.dispose(),this.resource=null),this.destroyed=!0},r.resetRenderPassDefaultAttachment=function(t,e){for(var r=this.resource,i=r.color_a,n=r.color_b,o=e;o<t.length;o++){var a,s,u,l=t[o],c=null==(s=l.attachments[0])?void 0:s.texture;if(c&&a===c){var h=c===i?n:i;l.resetColorAttachments([h])}(c=null==(u=l.attachments[0])?void 0:u.texture)&&(a=c)}},r.findMeshRenderPassIndex=function(t){var e=-1;return this.renderPasses.every(function(r,i){return!(r.name.startsWith(ns)&&r.meshes.includes(t))||(e=i,!1)}),e},r.addToRenderPass=function(t,e){var r=this.renderPassInfoMap.get(t),i=e.priority;0===t.meshes.length?r.listStart=r.listEnd=i:i<r.listStart?r.listStart=i:i>r.listEnd&&(r.listEnd=i),t.addMesh(e)},r.getRPAttachments=function(t,e){if((null==t?void 0:t.length)===1){var r,i=t[0],n=i.texture,o=i.persistent,a=n.format,s=null!=(r=null==e?void 0:e.getInitAttachments())?r:[];if(a===r3.RGBA&&!o){var u=this.resource.color_a;return 0===s.length?[{texture:u}]:[{texture:s[0].texture===u?this.resource.color_b:u}]}}return t},r.resetClearActions=function(){var e=this.renderPasses.length>1?t.TextureLoadAction.clear:t.TextureLoadAction.whatever;this.clearAction.stencilAction=e,this.clearAction.depthAction=e,this.clearAction.colorAction=e,this.keepColorBuffer&&(this.clearAction.colorAction=t.TextureLoadAction.whatever)},r.setRenderPasses=function(t){var e=this;void 0!==this.renderer&&t.forEach(function(t){return t.initialize(e.renderer)}),this._renderPasses=t.slice()},r.addRenderPass=function(t){void 0!==this.renderer&&t.initialize(this.renderer),this._renderPasses.push(t)},r.createResource=function(){var e=this.renderer.engine;if(!this.resource){var r,i=e.gpuCapability,n=i.detail,o=i.level,a=this.renderer.getWidth(),s=this.renderer.getHeight(),u=2===o?r3.LINEAR:r3.NEAREST,l=i_.create(e,{sourceType:t.TextureSourceType.framebuffer,format:r3.RGBA,name:"frame_a",minFilter:u,magFilter:u}),c=i_.create(e,{sourceType:t.TextureSourceType.framebuffer,format:r3.RGBA,data:{width:a,height:s},minFilter:u,magFilter:u,name:"frame_b"}),h=n.readableDepthStencilTextures&&n.writableFragDepth?t.RenderPassAttachmentStorageType.depth_24_stencil_8_texture:t.RenderPassAttachmentStorageType.depth_stencil_opaque,f=new i$(this.renderer,{depthStencilAttachment:{storageType:h},attachments:[{texture:l}]}).initialize(this.renderer),m=new nh(this.renderer,{name:"effects-final-copy",priority:1600,clearAction:{depthAction:t.TextureLoadAction.clear,stencilAction:t.TextureLoadAction.clear,colorAction:t.TextureLoadAction.clear},meshOrder:t.OrderType.ascending,meshes:[this.createCopyMesh({blend:!0,depthTexture:null==(r=f.getDepthAttachment())?void 0:r.texture})]});this.resource={color_a:f.attachments[0].texture,color_b:c,finalCopyRP:m,depthStencil:f.depthAttachment,resRP:f}}},r.createCopyMesh=function(t){var e=this.renderer.engine,r=iX.create(e,{name:iP,mode:r3.TRIANGLE_STRIP,attributes:{aPos:{type:r3.FLOAT,size:2,data:new Float32Array([-1,1,-1,-1,1,1,1,-1])}},drawCount:4}),i=iD(e.gpuCapability.level,!!(null==t?void 0:t.depthTexture));this.renderer.getShaderLibrary().addShader(i);var n=iL.create(e,{uniformValues:{uDepth:null==t?void 0:t.depthTexture},name:iP,shader:i});return n.blending=!1,n.depthTest=!1,n.culling=!1,(null==t?void 0:t.blend)&&(n.blending=!0,n.blendFunction=[r3.SRC_ALPHA,r3.ONE_MINUS_SRC_ALPHA,r3.SRC_ALPHA,r3.ONE_MINUS_SRC_ALPHA]),iQ.create(e,{name:iP,geometry:r,material:n,priority:0})},r.removeRenderPass=function(t){rt(this._renderPasses,t)},rG(e,[{key:"renderPasses",get:function(){return this._renderPasses.slice()}},{key:"isDestroyed",get:function(){return this.destroyed}}]),e}();function nc(t){return t?new rx(t.getWidth(),t.getHeight()):new rx}var nh=function(t){function e(){return t.apply(this,arguments)}rH(e,t);var r=e.prototype;return r.configure=function(t){this.prePassTexture=t.getFrameBuffer().getColorTextures()[0],t.setFrameBuffer(null)},r.execute=function(t){t.clear(this.clearAction),this.meshes[0].material.setTexture("uFilterSource",this.prePassTexture),this.meshes[0].material.setVector2("uFilterSourceSize",nc(this.prePassTexture)),t.renderMeshes(this.meshes),this.storeAction&&t.clear(this.storeAction)},e}(i$),nf=function(){this.floats={},this.ints={},this.matrices={},this.samplers=[],this.uniforms=[]},nm=function(){function t(t){this.size=[0,0],this.multiSample=1,this.destroyed=!1;var e=t.storageType,r=t.format,i=t.attachment;this.storageType=e,this.format=r,this.attachment=i}return rG(t,[{key:"isDestroyed",get:function(){return this.destroyed}}]),t}(),nd="function"==typeof WebGL2RenderingContext,np=function(){function t(t){this.setupCapability(t)}var e=t.prototype;return e.setupCapability=function(t){var e,r=nd&&e1(t,WebGL2RenderingContext)?2:1,i=2===r,n=t.getExtension("EXT_texture_filter_anisotropic")||t.getExtension("WEBKIT_EXT_texture_filter_anisotropic"),o=t.getExtension("WEBGL_depth_texture"),a=!!t.getExtension("OES_texture_half_float_linear"),s=!!t.getExtension("OES_texture_float_linear");this.level=r,this.type=i?"webgl2":"webgl",this.vaoExt=t.getExtension("OES_vertex_array_object"),this.glAsyncCompileExt=t.getExtension("KHR_parallel_shader_compile"),this.UNSIGNED_INT_24_8=t.UNSIGNED_INT_24_8,this.drawBufferExtension=t.getExtension("WEBGL_draw_buffers"),o&&(this.UNSIGNED_INT_24_8=o.UNSIGNED_INT_24_8_WEBGL),i&&!a&&(a=nv(t,t.HALF_FLOAT)),i&&!s&&(s=nv(t,t.FLOAT)),this.internalFormatDepth16=i?t.DEPTH_COMPONENT16:t.DEPTH_COMPONENT,this.internalFormatDepth24_stencil8=i?t.DEPTH24_STENCIL8:t.DEPTH_STENCIL;var u=i||t.getExtension("OES_texture_float")?t.FLOAT:0,l=i?WebGL2RenderingContext.HALF_FLOAT:(null==(e=t.getExtension("OES_texture_half_float"))?void 0:e.HALF_FLOAT_OES)||0,c={floatTexture:u,halfFloatTexture:l,maxSample:i?t.getParameter(t.MAX_SAMPLES):1,maxVertexUniforms:t.getParameter(t.MAX_VERTEX_UNIFORM_VECTORS),maxVertexTextures:t.getParameter(t.MAX_VERTEX_TEXTURE_IMAGE_UNITS),maxFragmentUniforms:t.getParameter(t.MAX_FRAGMENT_UNIFORM_VECTORS),maxFragmentTextures:t.getParameter(t.MAX_TEXTURE_IMAGE_UNITS),floatColorAttachment:i?!!t.getExtension("EXT_color_buffer_float"):u>0&&!!t.getExtension("WEBGL_color_buffer_float"),halfFloatColorAttachment:i?!!t.getExtension("EXT_color_buffer_float"):l>0&&!!t.getExtension("EXT_color_buffer_half_float"),maxTextureSize:t.getParameter(t.MAX_TEXTURE_SIZE),maxShaderTexCount:t.getParameter(t.MAX_COMBINED_TEXTURE_IMAGE_UNITS),compressedTexture:t.getExtension("WEBGL_compressed_texture_astc")?ny.ASTC:t.getExtension("WEBGL_compressed_texture_pvrtc")||t.getExtension("WEBKIT_WEBGL_compressed_texture_pvrtc")?ny.PVRTC:ny.NONE,halfFloatLinear:a,floatLinear:s,maxTextureAnisotropy:n?t.getParameter(n.MAX_TEXTURE_MAX_ANISOTROPY_EXT):0,shaderTextureLod:i||!!t.getExtension("EXT_shader_texture_lod"),instanceDraw:i||!!t.getExtension("ANGLE_instanced_arrays"),drawBuffers:i||!!this.drawBufferExtension,asyncShaderCompile:!!t.getExtension("KHR_parallel_shader_compile"),intIndexElementBuffer:!!t.getExtension("OES_element_index_uint"),standardDerivatives:i||!!t.getExtension("OES_standard_derivatives"),readableDepthStencilTextures:i||!!o,writableFragDepth:i||!!t.getExtension("EXT_frag_depth")};this.detail=c,n&&(this.textureMaxAnisotropyExt=n.TEXTURE_MAX_ANISOTROPY_EXT)},e.framebufferTexture2D=function(t,e,r,i,n){var o=this.drawBufferExtension;if(1===this.level&&!o&&r>0)throw Error("draw multiple color buffers not available");var a=o?o["COLOR_ATTACHMENT"+r+"_WEBGL"]:t["COLOR_ATTACHMENT"+r];a?t.framebufferTexture2D(e,a,i,n,0):console.error("invalid color attachment index: "+r)},e.drawBuffers=function(t,e){var r=this.drawBufferExtension;if(1===this.level&&!r){if(!(e.length>1))return;throw Error("draw buffers not available")}var i=e.map(function(e,i){return e?r?r["COLOR_ATTACHMENT"+i+"_WEBGL"]:t["COLOR_ATTACHMENT"+i]:t.NONE});r?r.drawBuffersWEBGL(i):t.drawBuffers(i)},e.setTextureAnisotropic=function(t,e,r){var i=this.detail.maxTextureAnisotropy;i&&t.texParameterf(e,this.textureMaxAnisotropyExt,Math.min(i,r||4))},t}();function nv(t,e){var r=t.createTexture(),i=!1;return t.getError(),t.bindTexture(t.TEXTURE_2D,r),t.texImage2D(t.TEXTURE_2D,0,t.R16F,1,1,0,t.RED,e,null),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.LINEAR),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.LINEAR),t.getError()||(i=!0),t.deleteTexture(r),i}var ny={NONE:0,PVRTC:1,ASTC:2};t.FilterMode=void 0,(j=t.FilterMode||(t.FilterMode={}))[j.Nearest=0]="Nearest",j[j.Linear=1]="Linear",t.RenderTextureFormat=void 0,(Z=t.RenderTextureFormat||(t.RenderTextureFormat={}))[Z.RGBA32=0]="RGBA32",Z[Z.RGBAHalf=1]="RGBAHalf";var ng=function(){function t(){}var e=t.prototype;return e.resize=function(t,e,r,i){},e.resetColorTextures=function(t){},e.unbind=function(){},e.bind=function(){},e.getDepthTexture=function(){},e.getStencilTexture=function(){},e.getColorTextures=function(){return[]},e.dispose=function(t){},rG(t,[{key:"stencilStorage",get:function(){}},{key:"depthStorage",get:function(){}}]),t}(),nx=function(){function t(){}var e=t.prototype;return e.setGlobalFloat=function(t,e){},e.setGlobalInt=function(t,e){},e.setGlobalMatrix=function(t,e){},e.getFrameBuffer=function(){return null},e.setFrameBuffer=function(t){},e.setViewport=function(t,e,r,i){},e.resize=function(t,e){},e.clear=function(t){},e.getWidth=function(){return 0},e.getHeight=function(){return 0},e.addLostHandler=function(t){},e.addRestoreHandler=function(t){},e.lost=function(t){},e.restore=function(){},e.getShaderLibrary=function(){},e.renderRenderFrame=function(t){},e.renderMeshes=function(t){},e.drawGeometry=function(t,e){},e.getTemporaryRT=function(t,e,r,i,n,o){return null},e.dispose=function(t){},t}(),nT=function(){function t(){}return t.collectSerializableObject=function(t,e){if(!e[t.getInstanceId()]){t.toData(),e[t.getInstanceId()]=t;for(var r,i=r$(t),n=rW(Object.keys(i));!(r=n()).done;){var o=r.value,a=t.taggedProperties[o];if(void 0===a&&(a=t[o]),e1(a,iT))this.collectSerializableObject(a,e);else if(e1(a,Array))for(var s,u=rW(a);!(s=u()).done;){var l=s.value;e1(l,iT)&&this.collectSerializableObject(l,e)}else if(e1(a,Object))for(var c,h=rW(Object.keys(a));!(c=h()).done;){var f=a[c.value];e1(f,iT)&&this.collectSerializableObject(f,e)}}}},t.serializeEffectObject=function(e){var r={},i=e.engine,n=ir({},i.jsonSceneData);t.collectSerializableObject(e,r);for(var o,a=rW(Object.keys(r));!(o=a()).done;){var s=r[o.value];n[s.getInstanceId()]||(n[s.getInstanceId()]={}),t.serializeTaggedProperties(s,n[s.getInstanceId()])}return n},t.serializeTaggedProperties=function(e,r){e.toData(),r||(r={});for(var i,n=r$(e),o=rW(Object.keys(n));!(i=o()).done;){var a=i.value,s=e[a];"number"==typeof s||"string"==typeof s||"boolean"==typeof s||t.checkTypedArray(s)?r[a]=s:e1(s,Array)?(r[a]||(r[a]=[]),t.serializeArrayProperty(s,r[a],0)):e1(s,iT)?r[a]={id:s.getInstanceId()}:e1(s,Object)&&(r[a]||(r[a]={}),t.serializeObjectProperty(s,r[a],0))}for(var u,l=rW(Object.keys(e.taggedProperties));!(u=l()).done;){var c=u.value,h=e.taggedProperties[c];"number"==typeof h||"string"==typeof h||"boolean"==typeof h||t.checkTypedArray(h)?r[c]=h:e1(h,Array)?(r[c]||(r[c]=[]),t.serializeArrayProperty(h,r[c],0)):e1(h,iT)?r[c]={id:h.getInstanceId()}:e1(h,Object)&&(r[c]||(r[c]={}),t.serializeObjectProperty(h,r[c],0))}return r},t.deserializeTaggedProperties=function(e,r){for(var i,n=r.taggedProperties,o=r$(r),a=r.engine,s=rW(Object.keys(e));!(i=s()).done;){var u=i.value;if(!o[u]){var l=e[u];n[u]=t.deserializeProperty(l,a,0)}}for(var c,h=rW(Object.keys(o));!(c=h()).done;){var f=c.value,m=e[f];void 0!==m&&(r[f]=t.deserializeProperty(m,a,0))}r.fromData(n)},t.deserializeTaggedPropertiesAsync=function(e,r){return e0(function(){var i,n,o,a,s,u,l,c,h,f,m;return e4(this,function(d){switch(d.label){case 0:i=r.taggedProperties,n=r$(r),o=r.engine,a=rW(Object.keys(e)),d.label=1;case 1:if((s=a()).done)return[3,4];if(n[u=s.value])return[3,3];return l=e[u],[4,t.deserializePropertyAsync(l,o,0)];case 2:i[u]=d.sent(),d.label=3;case 3:return[3,1];case 4:c=rW(Object.keys(n)),d.label=5;case 5:if((h=c()).done)return[3,8];if(void 0===(m=e[f=h.value]))return[3,7];return[4,t.deserializePropertyAsync(m,o,0)];case 6:r[f]=d.sent(),d.label=7;case 7:return[3,5];case 8:return r.fromData(i),[2]}})})()},t.checkTypedArray=function(t){return e1(t,Int8Array)||e1(t,Uint8Array)||e1(t,Uint8ClampedArray)||e1(t,Int16Array)||e1(t,Uint16Array)||e1(t,Int32Array)||e1(t,Uint32Array)||e1(t,Float32Array)||e1(t,Float64Array)},t.checkDataPath=function(t){return e1(t,Object)&&1===Object.keys(t).length&&t.id&&32===t.id.length},t.checkGLTFNode=function(t){return e1(t,Object)&&void 0!==t.nodeIndex&&void 0!==t.isJoint},t.deserializeProperty=function(e,r,i){if(i>14){console.error("序列化数据的内嵌对象层数大于上限");return}if("number"==typeof e||"string"==typeof e||"boolean"==typeof e)return e;if(e1(e,Array)){for(var n,o=[],a=rW(e);!(n=a()).done;){var s=n.value;o.push(t.deserializeProperty(s,r,i+1))}return o}if(t.checkDataPath(e))return r.assetLoader.loadGUID(e.id);if(e1(e,iT)||t.checkTypedArray(e)||t.checkGLTFNode(e))return e;if(e1(e,Object)){for(var u,l={},c=rW(Object.keys(e));!(u=c()).done;){var h=u.value;l[h]=t.deserializeProperty(e[h],r,i+1)}return l}},t.deserializePropertyAsync=function(e,r,i){return e0(function(){var n,o,a,s,u,l,c,h,f;return e4(this,function(m){switch(m.label){case 0:if(i>14)return console.error("序列化数据的内嵌对象层数大于上限"),[2];if(!("number"==typeof e||"string"==typeof e||"boolean"==typeof e))return[3,1];return[2,e];case 1:if(!e1(e,Array))return[3,6];n=[],o=rW(e),m.label=2;case 2:if((a=o()).done)return[3,5];return s=a.value,u=n.push,[4,t.deserializePropertyAsync(s,r,i+1)];case 3:u.apply(n,[m.sent()]),m.label=4;case 4:return[3,2];case 5:return[2,n];case 6:if(!t.checkDataPath(e))return[3,8];return[4,r.assetLoader.loadGUIDAsync(e.id)];case 7:return[2,m.sent()];case 8:if(!(e1(e,iT)||t.checkTypedArray(e)||t.checkGLTFNode(e)))return[3,9];return[2,e];case 9:if(!e1(e,Object))return[3,14];l={},c=rW(Object.keys(e)),m.label=10;case 10:if((h=c()).done)return[3,13];return f=h.value,[4,t.deserializePropertyAsync(e[f],r,i+1)];case 11:l[f]=m.sent(),m.label=12;case 12:return[3,10];case 13:return[2,l];case 14:return[2]}})})()},t.serializeObjectProperty=function(e,r,i){if(i>14){console.error("序列化数据的内嵌对象层数大于上限");return}r||(r={});for(var n,o=rW(Object.keys(e));!(n=o()).done;){var a=n.value,s=e[a];"number"==typeof s||"string"==typeof s||"boolean"==typeof s||t.checkTypedArray(e)?r[a]=s:e1(s,Array)?(r[a]||(r[a]=[]),t.serializeArrayProperty(s,r[a],i+1)):e1(s,iT)?r[a]={id:s.getInstanceId()}:e1(s,Object)&&(r[a]||(r[a]={}),t.serializeObjectProperty(s,r[a],i+1))}},t.serializeArrayProperty=function(e,r,i){if(i>14){console.error("序列化数据的内嵌对象层数大于上限");return}r||(r=[]);for(var n=0;n<e.length;n++){var o=e[n];"number"==typeof o||"string"==typeof o||"boolean"==typeof o||t.checkTypedArray(e)?r[n]=o:e1(o,Array)?(r[n]||(r[n]=[]),this.serializeArrayProperty(o,r[n],i+1)):e1(o,iT)?r[n]={id:o.getInstanceId()}:e1(o,Object)&&(r[n]||(r[n]={}),t.serializeObjectProperty(o,r[n],i+1))}},t}(),nE=function(){function t(t){this.engine=t}var e=t.prototype;return e.loadGUID=function(e){if(this.engine.objectInstance[e])return this.engine.objectInstance[e];var r,i=this.findData(e);if(!i){console.error("未找到 uuid: "+e+"的对象数据");return}switch(i.dataType){case"Material":r=iL.create(this.engine);break;case"Geometry":r=iX.create(this.engine);break;case"Texture":return i_.create(this.engine,i);default:var n=t.getClass(i.dataType);n&&(r=new n(this.engine))}if(!r){console.error("未找到 DataType: "+i.dataType+"的构造函数");return}return r.setInstanceId(i.id),this.engine.addInstance(r),nT.deserializeTaggedProperties(i,r),r},e.loadGUIDAsync=function(e){var r=this;return e0(function(){var i,n,o;return e4(this,function(a){switch(a.label){case 0:if(r.engine.objectInstance[e])return[2,r.engine.objectInstance[e]];if(n=r.findData(e))return[3,2];if(!r.engine.database)return console.error("未找到 uuid: "+e+"的对象数据"),[2,void 0];return[4,r.engine.database.loadGUID(e)];case 1:if(!(i=a.sent()))return console.error("未找到 uuid: "+e+"的磁盘数据"),[2,void 0];return r.engine.addInstance(i),[2,i];case 2:switch(n.dataType){case"Material":i=iL.create(r.engine);break;case"Geometry":i=iX.create(r.engine);break;case"Texture":return[2,i=i_.create(r.engine,n)];default:(o=t.getClass(n.dataType))&&(i=new o(r.engine))}if(!i)return console.error("未找到 DataType: "+n.dataType+"的构造函数"),[2,void 0];return i.setInstanceId(n.id),r.engine.addInstance(i),[4,nT.deserializeTaggedPropertiesAsync(n,i)];case 3:return a.sent(),[2,i]}})})()},e.findData=function(t){return this.engine.jsonSceneData[t]},t.getClass=function(t){return rQ[t]},t}(),n_=function(){function t(){}return t.prototype.loadGUID=function(t){return e0(function(){return e4(this,function(t){return[2,void 0]})})()},t}();t.DataType=void 0,(q=t.DataType||(t.DataType={})).VFXItemData="VFXItemData",q.EffectComponent="EffectComponent",q.Material="Material",q.Shader="Shader",q.SpriteComponent="SpriteComponent",q.ParticleSystem="ParticleSystem",q.InteractComponent="InteractComponent",q.CameraController="CameraController",q.Geometry="Geometry",q.Texture="Texture",q.TextComponent="TextComponent",q.MeshComponent="MeshComponent",q.SkyboxComponent="SkyboxComponent",q.LightComponent="LightComponent",q.CameraComponent="CameraComponent",q.ModelPluginComponent="ModelPluginComponent",q.TreeComponent="TreeComponent";var nC=function(){function t(){this.order=100,this.name=""}var e=t.prototype;return e.onCompositionConstructed=function(t,e){},e.onCompositionItemLifeBegin=function(t,e){},e.onCompositionItemLifeEnd=function(t,e){},e.onCompositionItemRemoved=function(t,e){},e.onCompositionReset=function(t,e){},e.onCompositionWillReset=function(t,e){},e.onCompositionDestroyed=function(t){},e.onCompositionUpdate=function(t,e){},e.prepareRenderFrame=function(t,e){return!1},e.postProcessFrame=function(t,e){},t.precompile=function(t,e){return Promise.resolve()},t}(),nS=(K=new Int32Array((Q=new Float32Array(1)).buffer),function(t){Q[0]=t;var e=K[0],r=e>>16&32768,i=e>>12&2047,n=e>>23&255;return n<103?r:n>142?(r|=31744,r|=(255==n?0:1)&&8388607&e):n<113?(i|=2048,r|=(i>>114-n)+(i>>113-n&1)):(r|=n-112<<10|i>>1,r+=1&i)}),nR=function(){function t(t){if(Number.isInteger(t))this.data=new Uint16Array(t);else if(t&&"object"==typeof t&&Number.isInteger(t.length))for(var e=this.data=new Uint16Array(t.length),r=0;r<e.length;r++)e[r]=nS(t[r])}return t.prototype.set=function(t,e){for(var r=0;r<t.length;r++)this.data[r+e]=nS(t[r])},t}(),nA=new rC,nb=new r_;function nO(t,e,r,i,n,o,a){var s=i/n,u=i,l=e.speedOverLifetime;l&&(u=l.getIntegrateValue(0,i,n));var c=e.gravityModifier?e.gravityModifier.getIntegrateByTime(0,i):0;t.copyFrom(o),t.addScaledVector(a,u),t.addScaledVector(r,c);var h=e.linearVelOverLifetime||{},f=e.orbitalVelOverLifetime||{},m=["x","y","z"];if(f.enabled){var d=new rT;f.center&&d.setFromArray(f.center);var p=t.clone().subtract(d),v=f.asRotation,y=m.map(function(t){var e=f[t];return e?v?e.getValue(s):e.getIntegrateValue(0,i,n):0});nA.setFromArray(y).negate(),nb.setFromEuler(nA);var g=nb.transformPoint(p);t.addVectors(d,g)}if(h.enabled)for(var x=h.asMovement,T=0;T<3;T++){var E=h[m[T]];if(E){var _=x?E.getValue(s):E.getIntegrateValue(0,i,n);t.setElement(T,t.getElement(T)+_)}}return t}function nw(t){return Array.isArray(t)?[t[0],t[1],t[2]]:[0,0,0]}function nL(t,e){for(var r=0,i=t.length;r<i;r++)t[r]=e;return t}function nI(t,e,r,i){void 0===i&&(i=0);for(var n=0;n<r;n++)t[n]=e[n+i];return t}function nM(t,e,r){if(e&&r)for(var i=0,n=e.length;i<n;i++)t[i]=e[i]*r[i];else if(e){if(t!==e)for(var o=0;o<e.length;o++)t[o]=e[o]}else if(r&&t!==r)for(var a=0;a<r.length;a++)t[a]=r[a];return t}var nP=((el={})[tj.PARTICLE_ORIGIN_CENTER]=[0,0],el[tj.PARTICLE_ORIGIN_CENTER_BOTTOM]=[0,-.5],el[tj.PARTICLE_ORIGIN_CENTER_TOP]=[0,.5],el[tj.PARTICLE_ORIGIN_LEFT_TOP]=[-.5,.5],el[tj.PARTICLE_ORIGIN_LEFT_CENTER]=[-.5,0],el[tj.PARTICLE_ORIGIN_LEFT_BOTTOM]=[-.5,-.5],el[tj.PARTICLE_ORIGIN_RIGHT_CENTER]=[.5,0],el[tj.PARTICLE_ORIGIN_RIGHT_BOTTOM]=[.5,-.5],el[tj.PARTICLE_ORIGIN_RIGHT_TOP]=[.5,.5],el);function nV(t,e,r){var i=r.position,n=new rT(t,e,0),o=new rT;return r.getInverseViewProjectionMatrix().projectPoint(n,o),o.subtract(i),new rA(i,o)}function nF(t,e,r){var i=t.x,n=t.y,o=t.z,a=new rT(i-e,n+r,o),s=new rT(i-e,n-r,o),u=new rT(i+e,n-r,o),l=new rT(i+e,n+r,o);return[{p0:a,p1:s,p2:u},{p0:a.clone(),p1:u.clone(),p2:l}]}var nN="not_implement",nD=function(){function t(t){this.onCreate(t)}var e=t.prototype;return e.onCreate=function(t){throw Error(nN)},e.getIntegrateValue=function(t,e,r){throw Error(nN)},e.getIntegrateByTime=function(t,e){throw Error(nN)},e.getValue=function(t){throw Error(nN)},e.toUniform=function(t){throw Error(nN)},e.map=function(t){throw Error(nN)},e.scaleXCoord=function(t){return this},t}(),nz=function(t){function e(){return t.apply(this,arguments)}rH(e,t);var r=e.prototype;return r.onCreate=function(t){this.value=t},r.getIntegrateValue=function(t,e,r){return this.value*(e-t)},r.getIntegrateByTime=function(t,e){return .5*this.value*(e*e-t*t)},r.getValue=function(t){return this.value},r.toUniform=function(){return new Float32Array([0,this.value,0,0])},r.map=function(t){var e=this.value;return this.value=t(e),this},e}(nD),nk=function(t){function e(){return t.apply(this,arguments)}rH(e,t);var r=e.prototype;return r.onCreate=function(t){this.items=t},r.getValue=function(t){var e=this.items;return e[Math.floor(Math.random()*e.length)]},r.map=function(t){return this.items=this.items.map(t),this},e}(nD),nU=function(t){function e(){return t.apply(this,arguments)}rH(e,t);var r=e.prototype;return r.onCreate=function(t){this.min=t[0],this.max=t[1]},r.getValue=function(t){return rz(this.min,this.max)},r.toUniform=function(){return new Float32Array([4,this.min,this.max,0])},r.map=function(t){return this.min=t(this.min),this.max=t(this.max),this},e}(nD),nB=function(t){function e(){return t.apply(this,arguments)}rH(e,t);var r=e.prototype;return r.onCreate=function(t){this.min=t[0],this.max=t[1]},r.getValue=function(t){for(var e=this.min,r=this.max,i=[],n=0;n<e.length;n++){var o=Math.random();i[n]=e[n]*(1-o)+r[n]*o}return i},r.map=function(t){return this.min=this.min.map(t),this.max=this.max.map(t),this},e}(nD),nG=function(t){function e(){return t.apply(this,arguments)}rH(e,t);var r=e.prototype;return r.onCreate=function(t){this.min=t[0],this.max=t[1],this.xCoord=1},r.getValue=function(t){return t/=this.xCoord,this.min*(1-t)+this.max*t},r.toUniform=function(){return new Float32Array([1,this.min,this.max,this.xCoord])},r.getIntegrateValue=function(t,e,r){void 0===r&&(r=1);var i=this.min,n=this.max,o=this.xCoord*r;return((i+e/o*(n-i)+i)*e-(i+t/o*(n-i)+i)*t)/2},r.getIntegrateByTime=function(t,e){return nK(e,0,this.xCoord,this.min,this.max)-nK(t,0,this.xCoord,this.min,this.max)},r.map=function(t){return this.min=t(this.min),this.max=t(this.max),this},r.scaleXCoord=function(t){return this.xCoord=t,this},e}(nD),nX=function(t){function e(){return t.apply(this,arguments)}rH(e,t);var r=e.prototype;return r.onCreate=function(t){this.stops=rn(t)},r.getStops=function(){return this.stops},r.getValue=function(t){for(var e=this.stops,r=e.length-1,i=0;i<r;i++){var n=e[i],o=e[i+1];if(n.stop<=t&&o.stop>t){var a=(t-n.stop)/(o.stop-n.stop);return ro(n.color,o.color,a,!0)}}return e[r].color.slice()},e}(nD),nH=function(t){function e(){return t.apply(this,arguments)}rH(e,t);var r=e.prototype;return r.onCreate=function(t){var e=1/0,r=-1/0;if(Number.isFinite(t[0])&&Number.isFinite(t[1])){for(var i=[],n=2;n<t.length;n++)i.push(t[n].slice(0,4));this.keys=i,this.min=t[0],this.dist=t[1]-t[0]}else{var o=t.map(function(t){if(rF(t))return e=Math.min(e,t[1]),r=Math.max(r,t[1]),t.slice(0,4);if("object"==typeof t&&t){var i=t.time,n=t.value,o=t.inTangent,a=t.outTangent;return e=Math.min(e,n),r=Math.max(r,n),[i,n,void 0===o?0:o,void 0===a?0:a]}throw Error("invalid keyframe")}),a=r-e;if(this.keys=o,0!==a)for(var s=0;s<o.length;s++){var u=o[s];u[1]=(u[1]-e)/a}var l=o[0];l[0]>0&&(l[2]=0,o.unshift([0,l[1],0,0]));var c=o[o.length-1];c[0]<1&&(c[3]=0,o.push([1,c[1],0,0])),this.min=e,this.dist=a}this.isCurveValue=!0},r.getValue=function(t){var e=this.keys,r=this.min,i=this.dist;if(t<=e[0][0])return e[0][1]*i+r;for(var n=e.length-1,o=0;o<n;o++){var a=e[o],s=e[o+1];if(t>a[0]&&t<=s[0])return nJ(t,a,s)*i+r}return e[n][1]*i+r},r.getIntegrateByTime=function(t,e){var r=this.integrate(e,!0)-this.integrate(t,!0);return .5*this.min*(e-t)*(e-t)+r*this.dist},r.getIntegrateValue=function(t,e,r){r=r||1;var i=(this.integrate(e/r,!1)-this.integrate(t/r,!1))*r,n=(e-t)/r;return this.min*n+i*this.dist},r.integrate=function(t,e){var r=this.keys;if(t<=r[0][0])return 0;for(var i=0,n=r.length-1,o=e?n0:n$,a=0;a<n;a++){var s=r[a],u=r[a+1],l=s[0],c=u[0];if(t>l&&t<=c)return i+o(t,s,u);i+=o(c,s,u)}return i},r.toData=function(){for(var t=this.keys,e=new Float32Array(4*t.length),r=0,i=0;r<t.length;r++,i+=4)e.set(t[r],i);return e},r.toUniform=function(t){var e=t.index,r=this.keys;return t.curves.push(this),t.index+=r.length,t.max=Math.max(t.max,r.length),t.curveCount+=r.length,new Float32Array([2,e+1/r.length,this.min,this.dist])},r.map=function(t){return this.keys.forEach(function(e){e[1]=t(e[1])}),this},r.scaleXCoord=function(t){return this.keys.forEach(function(e){return e[0]=t*e[0]}),this},e.getAllData=function(t,e){for(var r=new(e?nR:Float32Array)(4*t.index),i=0,n=0,o=t.curves;i<o.length;i++){var a=o[i].toData();r.set(a,n),n+=a.length}return e?r.data:r},e}(nD),nY=function(t){function e(){return t.apply(this,arguments)}rH(e,t);var r=e.prototype;return r.onCreate=function(t){this.keys=t.map(function(t){return t.slice?t.slice(0,2):[t.time,t.value]}).sort(function(t,e){return t[0]-e[0]});var e=this.keys[this.keys.length-1];e[0]<1&&this.keys.push([1,e[1]]);var r=this.keys[0];r[0]>0&&this.keys.unshift([0,r[1]]),this.isLineSeg=!0},r.getValue=function(t){var e=this.keys;if(t<e[0][0])return e[0][1];for(var r=e.length-1,i=0;i<r;i++){var n=e[i],o=e[i+1],a=n[0],s=o[0];if(t>=a&&t<=s){var u=(t-a)/(s-a),l=n[1];return l+u*(o[1]-l)}}return e[r][1]},r.getIntegrateValue=function(t,e,r){return void 0===r&&(r=1),(this.integrate(e,!1)-this.integrate(t,!1))*r},r.getIntegrateByTime=function(t,e){return this.integrate(e,!0)-this.integrate(t,!0)},r.integrate=function(t,e){var r=this.keys;if(t<=r[0][0])return 0;for(var i=0,n=r.length-1,o=e?nK:nQ,a=0;a<n;a++){var s=r[a],u=r[a+1],l=s[0],c=u[0];if(t>l&&t<=c)return i+o(t,l,c,s[1],u[1]);i+=o(c,l,c,s[1],u[1])}return i},r.toData=function(){for(var t=this.keys,e=new Float32Array(4*Math.ceil(t.length/2)),r=0,i=0;r<t.length;r++,i+=2)e.set(t[r],i);return e.set(t[t.length-1],e.length-2),e},r.toUniform=function(t){var e=t.index,r=Math.ceil(this.keys.length/2);return t.lineSegCount+=r,t.curves.push(this),t.index+=r,t.max=Math.max(t.max,r),new Float32Array([3,e,r,0])},r.map=function(t){return this.keys.forEach(function(e){return e[1]=t(e[1])}),this},r.scaleXCoord=function(t){return this.keys.forEach(function(e){return e[0]=t*e[0]}),this},e}(nD),nW=function(t){function e(){return t.apply(this,arguments)}rH(e,t);var r=e.prototype;return r.onCreate=function(t){this.keys=t[0],this.values=t[1]},r.getValue=function(t){for(var e=this.keys,r=this.values,i=0;i<e.length-1;i++){var n=e[i],o=e[i+1];if(n[0]<=t&&o[0]>=t){var a=o[1]-n[1],s=void 0;return s=0===a?(t-n[0])/(o[0]-n[0]):(nJ(t,n,o)-n[1])/a,this.calculateVec(i,s)}}return t<=e[0][0]?r[0].slice():r[r.length-1].slice()},r.calculateVec=function(t,e){for(var r=this.values[t],i=this.values[t+1],n=[0,0,0],o=0;o<r.length;o++)n[o]=r[o]*(1-e)+i[o]*e;return n},e}(nD),nj=function(t){function e(){return t.apply(this,arguments)}rH(e,t);var r=e.prototype;return r.onCreate=function(e){t.prototype.onCreate.call(this,e),this.cps=e[2]},r.calculateVec=function(t,e){for(var r=this.values[t],i=this.values[t+1],n=this.cps[t+t],o=this.cps[t+t+1],a=[0,0,0],s=1-e,u=s*s*s,l=3*e*s*s,c=3*e*e*s,h=e*e*e,f=0;f<r.length;f++)a[f]=u*r[f]+l*n[f]+c*o[f]+h*i[f];return a},e}(nW),nZ=((ec={})[tK.RANDOM]=function(t){return e1(t[0],Array)?new nB(t):new nU(t)},ec[tK.CONSTANT]=function(t){return new nz(t)},ec[tK.CONSTANT_VEC2]=function(t){return new nz(t)},ec[tK.CONSTANT_VEC3]=function(t){return new nz(t)},ec[tK.CONSTANT_VEC4]=function(t){return new nz(t)},ec[tK.CURVE]=function(t){return new nH(t)},ec[tK.RGBA_COLOR]=function(t){return new nz(t)},ec[tK.COLORS]=function(t){return new nk(t.map(function(t){return rr(t,!1)}))},ec[tK.LINE]=function(t){return 2===t.length&&0===t[0][0]&&1===t[1][0]?new nG([t[0][1],t[1][1]]):new nY(t)},ec[tK.GRADIENT_COLOR]=function(t){return new nX(t)},ec[tK.LINEAR_PATH]=function(t){return new nW(t)},ec[tK.BEZIER_PATH]=function(t){return new nj(t)},ec);function nq(t){if(!t||!isNaN(+t))return new nz(t||0);if(e1(t,nD))return t;if(rN(nZ[t[0]]))return nZ[t[0]](t[1]);throw Error("ValueType: "+t[0]+" is not support")}function nQ(t,e,r,i,n){var o=t-e;return(i+i+(n-i)*o/(r-e))*o/2}function nK(t,e,r,i,n){var o=t*t,a=e*e;return(o*t*2*(i-n)+3*o*(e*n-r*i)-a*e*(2*i+n)+3*a*r*i)/(6*(e-r))}function nJ(t,e,r){var i=r[0]-e[0],n=e[3]*i,o=r[2]*i,a=(t-e[0])/i,s=a*a,u=s*a;return(2*u-3*s+1)*e[1]+(u-2*s+a)*n+(u-s)*o+(-2*u+3*s)*r[1]}function n$(t,e,r){var i=r[0]-e[0],n=e[3]*i,o=r[2]*i,a=e[0],s=e[1],u=r[1],l=a-t,c=l*l,h=c*l;return(n+o+2*s-2*u)*h*l/(4*i*i*i)+(2*n+o+3*s-3*u)*h/(3*i*i)+n*c/2/i-s*l}function n0(t,e,r){var i=r[0]-e[0],n=e[3]*i,o=r[2]*i,a=e[0],s=e[1],u=r[1],l=a-t,c=l*l,h=c*l,f=i*i,m=f*i;return(-30*m*s*(a+t)*l+10*f*n*(a+2*t)*c+5*i*(a+3*t)*(2*n+o+3*s-3*u)*h+3*(a+4*t)*(n+o+2*s-2*u)*h*l)/60/m}function n1(t,e){if(e){var r=e[0],i=e[1];if(r===tK.CURVE){t.curves.push(i);var n=i.length;i[0][0]>0&&n++,i[i.length-1][0]<1&&n++,t.index+=n,t.max=Math.max(t.max,n),t.curveCount+=n}else if(r===tK.LINE){var o=i.length;if(2===o&&0===i[0][0]&&1===i[1][0])return;i[0][0]>0&&o++,i[i.length-1][0]<1&&o++;var a=Math.ceil(o/2);t.lineSegCount+=a,t.curves.push(i),t.index+=a,t.max=Math.max(t.max,a)}}}function n2(){return{curves:[],index:0,max:0,lineSegCount:0,curveCount:0}}var n3=new rE,n4=1,n5=function(){function t(t,e){void 0===t&&(t={}),this.taggedProperties={},this.position=new rT(0,0,0),this.quat=new rE(0,0,0,1),this.rotation=new rC(0,0,0),this.scale=new rT(1,1,1),this.anchor=new rT(0,0,0),this.size=new rx(1,1),this.children=[],this.worldMatrix=r_.fromIdentity(),this.localMatrix=r_.fromIdentity(),this.valid=!0,this.dirtyFlags={localData:!1,localMatrix:!1,worldMatrix:!1,parentMatrix:!1},this.worldTRSCache={position:new rT(0,0,0),quat:new rE(0,0,0,1),scale:new rT(1,1,1)},this.name="transform_"+n4++,t&&this.setTransform(t),e&&(this.parentTransform=e),void 0!==t.valid&&this.setValid(t.valid)}var e=t.prototype;return e.setPosition=function(t,e,r){(this.position.x!==t||this.position.y!==e||this.position.z!==r)&&(this.position.x=t,this.position.y=e,this.position.z=r,this.dirtyFlags.localData=!0,this.dispatchValueChange())},e.translate=function(t,e,r){(0!==t||0!==e||0!==r)&&(this.position.x+=t,this.position.y+=e,this.position.z+=r,this.dirtyFlags.localData=!0,this.dispatchValueChange())},e.setRotation=function(t,e,r){(this.rotation.x!==t||this.rotation.y!==e||this.rotation.z!==r)&&(this.rotation.x=t,this.rotation.y=e,this.rotation.z=r,this.quat.setFromEuler(this.rotation),this.quat.conjugate(),this.dirtyFlags.localData=!0,this.dispatchValueChange())},e.setQuaternion=function(t,e,r,i){(this.quat.x!==t||this.quat.y!==e||this.quat.z!==r||this.quat.w!==i)&&(this.quat.x=t,this.quat.y=e,this.quat.z=r,this.quat.w=i,this.rotation.setFromQuaternion(this.quat),this.dirtyFlags.localData=!0,this.dispatchValueChange())},e.setScale=function(t,e,r){(this.scale.x!==t||this.scale.y!==e||this.scale.z!==r)&&(this.scale.x=t,this.scale.y=e,this.scale.z=r,this.dirtyFlags.localData=!0,this.dispatchValueChange())},e.setSize=function(t,e){(this.size.x!==t||this.size.y!==e)&&(this.size.x=t,this.size.y=e,this.dirtyFlags.localData=!0,this.dispatchValueChange())},e.rotateByQuat=function(t){this.quat.multiply(t),this.rotation.setFromQuaternion(this.quat),this.dirtyFlags.localData=!0,this.dispatchValueChange()},e.scaleBy=function(t,e,r){this.scale.x*=t,this.scale.y*=e,this.scale.z*=r,this.dirtyFlags.localData=!0,this.dispatchValueChange()},e.setAnchor=function(t,e){(this.anchor.x!==t||this.anchor.y!==e)&&(this.anchor.x=t,this.anchor.y=e,this.dirtyFlags.localData=!0,this.dispatchValueChange())},e.setTransform=function(t,e){var r=t.position,i=t.rotation,n=t.scale,o=t.size,a=t.quat,s=t.name,u=t.anchor;if(s&&(this.name=s),r&&(e1(r,rT)?this.setPosition(r.x,r.y,r.z):this.setPosition(r[0],r[1],r[2])),a)e1(a,rE)?this.setQuaternion(a.x,a.y,a.z,a.w):this.setQuaternion(a[0],a[1],a[2],a[3]);else if(i){var l=e?-1:1;e1(i,rC)?this.setRotation(i.x*l,i.y*l,i.z*l):this.setRotation(i[0]*l,i[1]*l,i[2]*l)}n&&(e1(n,rT)?this.setScale(n.x,n.y,n.z):this.setScale(n[0],n[1],n[2])),o&&this.setSize(o.x,o.y),u&&(e1(u,rx)?this.setAnchor(u.x,u.y):this.setAnchor(u[0],u[1]))},e.addChild=function(t){e7(this.children,t)},e.removeChild=function(t){rt(this.children,t)},e.getRotation=function(){return t.getRotation(this.quat,new rC)},e.getQuaternion=function(){return this.quat},e.updateLocalMatrix=function(){this.valid?(this.dirtyFlags.localData&&(this.localMatrix.compose(this.position,this.quat,this.scale,this.anchor),this.dirtyFlags.localMatrix=!0),this.dirtyFlags.localData=!1):this.localMatrix.isIdentity()||(this.localMatrix.identity(),this.dirtyFlags.localMatrix=!0)},e.getMatrix=function(){return this.updateLocalMatrix(),this.localMatrix},e.getParentMatrix=function(){return this.parent&&(this.parentMatrix=this.parent.getWorldMatrix(),this.dirtyFlags.parentMatrix=this.dirtyFlags.parentMatrix||this.parent.dirtyFlags.localMatrix||this.parent.dirtyFlags.worldMatrix),this.parentMatrix},e.getWorldMatrix=function(){var t=this.getMatrix(),e=this.getParentMatrix();return(this.dirtyFlags.localMatrix||this.dirtyFlags.parentMatrix)&&(e?this.worldMatrix.multiplyMatrices(e,t):this.worldMatrix.copyFrom(t),this.dirtyFlags.worldMatrix=!0,this.dirtyFlags.localMatrix=!1,this.dirtyFlags.parentMatrix=!1),this.worldMatrix},e.getWorldScale=function(){var t=this.worldTRSCache;return this.dirtyFlags.worldMatrix&&(this.getWorldMatrix().decompose(t.position,t.quat,t.scale),this.dirtyFlags.worldMatrix=!1),this.worldTRSCache.scale.clone()},e.getWorldPosition=function(){return this.updateTRSCache(),this.worldTRSCache.position.clone()},e.getWorldRotation=function(){return this.updateTRSCache(),t.getRotation(this.worldTRSCache.quat,new rC)},e.assignWorldTRS=function(t,e,r){this.updateTRSCache(),t&&t.copyFrom(this.worldTRSCache.position),e&&e.copyFrom(this.worldTRSCache.quat),r&&r.copyFrom(this.worldTRSCache.scale)},e.cloneFromMatrix=function(t,e){t.decompose(this.position,this.quat,this.scale),e&&e.copyFrom(this.scale),this.dirtyFlags.localData=!0,this.dispatchValueChange()},e.setValid=function(t){this.valid!==t&&(this.valid=t,t?this.dirtyFlags.localData=!0:(this.localMatrix.identity(),this.dirtyFlags.localMatrix=!0),this.dispatchValueChange())},e.getValid=function(){return this.valid},e.toData=function(){var t=this.taggedProperties;return t.position=this.position.clone(),t.rotation={x:this.rotation.x,y:this.rotation.y,z:this.rotation.z},t.scale=this.scale.clone(),t},e.fromData=function(t){var e={position:new rT().copyFrom(t.position),rotation:new rC(t.eulerHint.x,t.eulerHint.y,t.eulerHint.z),scale:new rT().copyFrom(t.scale)};this.setTransform(e)},e.dispose=function(){},e.updateTRSCache=function(){var t=this.getWorldMatrix();if(this.dirtyFlags.worldMatrix){var e=this.worldTRSCache;t.decompose(e.position,e.quat,e.scale),this.dirtyFlags.worldMatrix=!1}},e.dispatchValueChange=function(){this.children.forEach(function(t){t.parentMatrixDirty=!0})},t.getRotation=function(t,e){var r=n3.copyFrom(t);return r.conjugate(),e.setFromQuaternion(r)},rG(t,[{key:"parentTransform",get:function(){return this.parent},set:function(t){t&&this.parent!==t&&this!==t&&(this.parent&&this.parent.removeChild(this),t.addChild(this),this.parent=t,this.parentMatrixDirty=!0)}},{key:"parentMatrixDirty",get:function(){return this.dirtyFlags.parentMatrix},set:function(t){this.dirtyFlags.parentMatrix!==t&&(this.dirtyFlags.parentMatrix=t,this.dispatchValueChange())}}]),t}();t.CameraController=function(t){function e(e,r){var i;return i=t.call(this,e)||this,r&&i.fromData(r),i}rH(e,t);var r=e.prototype;return r.start=function(){this.options.position=this.transform.position.clone(),this.options.rotation=this.transform.getRotation().clone()},r.update=function(){var t=this.item.lifetime;if(!(t<0)&&this.item.transform.getValid()){var e=new rE,r=new rT,i=new rC;r.copyFrom(this.options.position),i.copyFrom(this.options.rotation);var n=this.translateOverLifetime,o=this.rotationOverLifetime;if(t=rg(t,0,1),n&&(r.x+=n.x.getValue(t),r.y+=n.y.getValue(t),r.z+=n.z.getValue(t),n.path)){var a=n.path.getValue(t);r.x+=a[0],r.y+=a[1],r.z+=a[2]}if(o){var s=o.z.getValue(t);i.z+=s,o.separateAxes?(i.x+=o.x.getValue(t),i.y+=o.y.getValue(t)):(i.x+=s,i.y+=s)}this.far=this.options.far.getValue(t),this.near=this.options.near.getValue(t),this.fov=this.options.fov.getValue(t),this.transform.setPosition(r.x,r.y,r.z),this.transform.setRotation(i.x,i.y,i.z),this.transform.assignWorldTRS(r,e),this.position=r,this.rotation=n5.getRotation(e,i),this.updateCamera()}},r.fromData=function(e){t.prototype.fromData.call(this,e);var r=e.options,i=r.near,n=r.far,o=r.fov,a=r.clipMode;if(this.clipMode=a,this.options={position:new rT,rotation:new rC,near:nq(i),far:nq(n),fov:nq(o)},e.positionOverLifetime){var s=e.positionOverLifetime,u=s.path,l=s.linearX,c=s.linearY,h=s.linearZ;this.translateOverLifetime={path:u&&nq(u),x:nq(void 0===l?0:l),y:nq(void 0===c?0:c),z:nq(void 0===h?0:h)}}if(e.rotationOverLifetime){var f=e.rotationOverLifetime,m=f.separateAxes,d=f.x,p=f.y,v=f.z;this.rotationOverLifetime={separateAxes:m,x:nq(void 0===d?0:d),y:nq(void 0===p?0:p),z:nq(void 0===v?0:v)}}},r.updateCamera=function(){if(this.item.composition){var t=this.item.composition.camera;t.near=this.near,t.far=this.far,t.fov=this.fov,t.clipMode=this.clipMode,t.position=this.position,t.rotation=this.rotation}},e}(ij),t.CameraController=e3([r1(t.DataType.CameraController)],t.CameraController);var n6=function(t){function e(){return t.apply(this,arguments)}return rH(e,t),e}(nC);t.HitTestType=void 0,(J=t.HitTestType||(t.HitTestType={}))[J.triangle=1]="triangle",J[J.box=2]="box",J[J.sphere=3]="sphere",J[J.custom=4]="custom";var n8="click",n9="touchstart",n7="touchmove",ot="touchend",oe=tH,or=function(){function t(t,e){void 0===e&&(e=!1),this.target=t,this.allowPropagation=e,this.enabled=!0,this.handlers={},this.nativeHandlers={}}var e=t.prototype;return e.bindListeners=function(){var t,e,r,i,n,o,a=this;n=function(t){return t};var s="mousedown",u="mousemove",l="mouseup",c=function(t,e,r,n,o){void 0===n&&(n=0),void 0===o&&(o=0);var s=a.target,u=s.width,l=s.height,c=performance.now(),h=0,f=0;if(i){var m=c-i.ts;h=(n-i.dx)/m||0,f=(o-i.dy)/m||0,i={dx:n,dy:o,ts:c}}return{x:e,y:r,vx:h,vy:f,dx:n,dy:o,ts:c,width:u,height:l,origin:t}};ru()&&(n=function(t){var e=t.touches,r=t.changedTouches;return e[0]||r[0]},s="touchstart",u="touchmove",l="touchend"),this.nativeHandlers=((o={})[s]=function(o){if(a.enabled){var s=n(o),u=oi(s);t=u.x,e=u.y,i=r={clientX:s.clientX,clientY:s.clientY,ts:performance.now(),x:t,y:e},a.dispatchEvent(n9,c(o,t,e))}},o[u]=function(i){if(r&&a.enabled){var o=oi(n(i));t=o.x,e=o.y,a.dispatchEvent(n7,c(i,t,e,t-r.x,e-r.y))}},o[l]=function(i){if(r&&a.enabled){!a.allowPropagation&&i.cancelable&&(i.preventDefault(),i.stopPropagation());var o=n(i),s=oi(o),u=Math.abs(r.clientX-o.clientX)+Math.abs(r.clientY-o.clientY);t=s.x,e=s.y,u<4&&a.dispatchEvent(n8,c(i,t,e)),a.dispatchEvent(ot,c(i,t,e,t-r.x,e-r.y))}r=0},o),Object.keys(this.nativeHandlers).forEach(function(t){var e;null==(e=a.target)||e.addEventListener(String(t),a.nativeHandlers[t])})},e.dispatchEvent=function(t,e){var r=this.handlers[t];null==r||r.forEach(function(t){return t(e)})},e.addEventListener=function(t,e){var r=this.handlers[t];return r||(r=this.handlers[t]=[]),e7(r,e),function(){rt(r,e)}},e.removeEventListener=function(t,e){var r=this.handlers[t];r&&rt(r,e)},e.dispose=function(){var t=this;this.target&&(this.handlers={},Object.keys(this.nativeHandlers).forEach(function(e){var r;null==(r=t.target)||r.removeEventListener(String(e),t.nativeHandlers[e])}),this.nativeHandlers={},this.target=null)},t}();function oi(t){var e=t.target,r=t.clientX,i=t.clientY,n=e.getBoundingClientRect(),o=n.left,a=n.top;return{x:(r-o)/n.width*2-1,y:1-(i-a)/n.height*2}}var on=function(t){function e(){return t.apply(this,arguments)}return rH(e,t),e}(nC),oo="editor",oa={"Filter not imported":"https://galacean.antgroup.com/effects/#/user/gasrv4ka5sacrwpg","Item duration can't be less than 0":"https://galacean.antgroup.com/effects/#/user/gasrv4ka5sacrwpg"},os=1,ou=function(){function e(t,e,r,i){this.transform=r,this.engine=i,this.color=t.options.previewColor;var n=this.createMaterial(e),o=this.createGeometry();this.mesh=this.createMesh(o,n),this.updateMesh()}var r=e.prototype;return r.updateMesh=function(){var t=this.mesh.material,e=t.getVector2("uSize").clone(),r=t.getVector4("uPos").clone(),i=new rT,n=new rE,o=this.transform.scale.clone();this.transform.assignWorldTRS(i,n,o),e.x=o.x,e.y=o.y,r.x=i.x,r.y=i.y,r.z=i.z,t.setVector2("uSize",e),t.setVector4("uPos",r),t.setQuaternion("uQuat",n)},r.createMaterial=function(e){var r,i=[["ENV_EDITOR",(null==(r=this.engine.renderer)?void 0:r.env)===oo]],n=nq(this.color).getValue(0),o={shader:{vertex:"\nprecision highp float;\n\nattribute vec2 aPoint;\nuniform vec4 uPos;\nuniform vec2 uSize;\nuniform vec4 uQuat;\nuniform vec4 uColor;\nuniform mat4 effects_ObjectToWorld;\nuniform mat4 effects_MatrixInvV;\nuniform mat4 effects_MatrixVP;\nvarying vec4 vColor;\n#ifdef ENV_EDITOR\n uniform vec4 uEditorTransform;\n#endif\n\nvec3 rotateByQuat(vec3 a, vec4 quat){\n vec3 qvec = quat.xyz;\n vec3 uv = cross(qvec, a);\n vec3 uuv = cross(qvec, uv) * 2.;\n return a +(uv * 2. * quat.w + uuv);\n}\n\nvoid main() {\n vec4 _pos = uPos;\n vec3 point = rotateByQuat(vec3(aPoint.xy * uSize, 0.),uQuat);\n vec4 pos = vec4(_pos.xyz, 1.0);\n pos = effects_ObjectToWorld * pos;\n pos.xyz += effects_MatrixInvV[0].xyz * point.x+ effects_MatrixInvV[1].xyz * point.y;\n gl_Position = effects_MatrixVP * pos;\n vColor = uColor;\n #ifdef ENV_EDITOR\n gl_Position = vec4(gl_Position.xy * uEditorTransform.xy + uEditorTransform.zw * gl_Position.w, gl_Position.zw);\n #endif\n}\n",fragment:"\nprecision highp float;\n\n#define fragColor gl_FragColor\n\nvarying vec4 vColor;\nvoid main() {\n gl_FragColor = vColor;\n}\n",glslVersion:t.GLSLVersion.GLSL1,cacheId:""+e.cachePrefix+"_effects_interact",marcos:i},uniformSemantics:{effects_MatrixVP:"VIEWPROJECTION",effects_MatrixInvV:"VIEWINVERSE",effects_ObjectToWorld:"MODEL",uEditorTransform:"EDITOR_TRANSFORM"}},a=iL.create(this.engine,o);return a.depthTest=!1,a.setVector4("uPos",new rS(0,0,0,0)),a.setVector2("uSize",new rx(1,1)),a.setVector4("uColor",new rS(n[0]/255,n[1]/255,n[2]/255,n[3])),a.setQuaternion("uQuat",new rE(0,0,0,0)),a},r.createGeometry=function(){var t=new Uint8Array([0,1,1,2,2,3,3,0]);return iX.create(this.engine,{attributes:{aPoint:{size:2,offset:0,stride:2*Float32Array.BYTES_PER_ELEMENT,data:new Float32Array([-.5,.5,.5,.5,.5,-.5,-.5,-.5])}},drawCount:t.length,indices:{data:t},mode:r3.LINES,maxVertex:4})},r.createMesh=function(t,e){return iQ.create(this.engine,{name:"Interact_preview"+os++,priority:0,worldMatrix:r_.fromIdentity(),geometry:t,material:e})},e}();function ol(t,e){var r=1e-5*(e||1);return t&&Math.abs(t.vx||0)<r&&Math.abs(t.vy||0)<r}function oc(t){var e=t.renderer,r=e.blending,i=e.side,n=e.occlusion,o=e.mask,a=e.maskMode,s=e.order,u=t.cachePrefix||"-";return{side:i,occlusion:n,blending:r,mask:o,maskMode:a,cachePrefix:u,cacheId:u+"."+ +i+"+"+ +n+"+"+ +r+"+"+s+"+"+a+"."+o}}function oh(e,r){var i=null!=r?r:{},n=i.count,o=i.env,a=i.ignoreBlend,s=i.wireframe,u=[["MAX_ITEM_COUNT",void 0===n?2:n],["PRE_MULTIPLY_ALPHA",!1],["ENV_EDITOR",(void 0===o?"":o)===oo],["USE_BLEND",!a],["MAX_FRAG_TEX",t.maxSpriteTextureCount>=16?16:8]];return{fragment:s?i0:i2.replace(/#pragma\s+FILTER_FRAG/,""),vertex:i1.replace(/#pragma\s+FILTER_VERT/,"vec4 filterMain(float t,vec4 pos){return effects_MatrixVP * pos;}"),glslVersion:1===e?t.GLSLVersion.GLSL1:t.GLSLVersion.GLSL3,marcos:u,shared:!0}}function of(t,e){return t.cachePrefix+"_effects_sprite_"+e}function om(t,e,r,i){var n=t.wireframe,o=oh(r,{count:e,wireframe:n,env:i});return o.shared=!0,n||(o.cacheId=of(t,e)),o}function od(e){t.maxSpriteMeshItemCount=e}t.InteractComponent=function(e){function r(){var t;return t=e.apply(this,arguments)||this,t.getHitTestParams=function(e){if(t.clickable){var r=t.item.props.content.options.behavior,i=t.getBoundingBox();if(i)return{type:i.type,triangles:i.area,behavior:r}}},t}rH(r,e);var i=r.prototype;return i.start=function(){var t=this,e=this.item.props.content.options,r=this.item.engine.renderer.env,i=this.item.composition,n=this.interactData.options,o=n.type,a=n.showPreview;if(o===tX.CLICK&&(this.clickable=!0,a&&r===oo)){var s=this.item.composition.getRendererOptions();this.previewContent=new ou(this.item.props.content,s,this.transform,this.engine)}i.addInteractiveItem(this.item,e.type),this.item.onEnd=function(){return i.removeInteractiveItem(t.item,e.type)},e.type===tX.DRAG&&(r!==oo||e.enableInEditor)&&i.event&&this.beginDragTarget(e,i.event),this.previewContent&&(this.previewContent.mesh.item=this.item,this.materials=this.previewContent.mesh.materials),this.item.getHitTestParams=this.getHitTestParams},i.update=function(t){var e;null==(e=this.previewContent)||e.updateMesh(),this.dragEvent&&this.bouncingArg&&(this.bouncingArg.vx*=.95,this.bouncingArg.vy*=.95,this.bouncingArg.dy+=this.bouncingArg.vy,this.bouncingArg.dx+=this.bouncingArg.vx,ol(this.bouncingArg)?(this.dragEvent=null,this.bouncingArg=null):this.handleDragMove(this.dragEvent,this.bouncingArg))},i.render=function(t){this.previewContent&&this.previewContent.mesh.render(t)},i.onDestroy=function(){if(this.item&&this.item.composition){var t;this.item.composition.removeInteractiveItem(this.item,this.item.props.content.options.type),this.clickable=!1,null==(t=this.previewContent)||t.mesh.dispose(),this.endDragTarget()}},i.endDragTarget=function(){},i.handleDragMove=function(t,e){if(t&&t.cameraParam&&this.item.composition){var r=this.item.props.content.options,i=t.cameraParam,n=i.position,o=i.fov,a=e.dy,s=e.dx*e.width/e.height,u=n[2],l=Math.tan(o*Math.PI/180/2)*Math.abs(u),c=n[0]-s*l,h=n[1]-a*l;if(r.dxRange){var f,m=r.dxRange,d=m[0],p=m[1];(c=rg(c,d,p))!==d&&c!==p&&d!==p&&(null==(f=e.origin)||f.preventDefault())}if(r.dyRange){var v,y=r.dyRange,g=y[0],x=y[1];(h=rg(h,g,x))!==g&&h!==x&&g!==x&&(null==(v=e.origin)||v.preventDefault())}this.item.composition.camera.position=new rT(c,h,u)}},i.beginDragTarget=function(t,e){var i,n=this;if("camera"===t.target){var o={touchstart:function(t){n.dragEvent=null,n.bouncingArg=null;var e,r=null==(e=n.item.composition)?void 0:e.camera;i={x:t.x,y:t.y,cameraParam:{position:(null==r?void 0:r.position.toArray())||[0,0,8],fov:(null==r?void 0:r.fov)||60}}},touchmove:function(t){n.handleDragMove(i,t),n.bouncingArg=t},touchend:function(t){var e=n.bouncingArg;!ol(e,3)&&e&&(e.vx*=5,e.vy*=5,n.dragEvent=ir({},i)),i=null}};Object.keys(o).forEach(function(t){e.addEventListener(t,o[t])}),o.touchmove({dx:0,dy:0,width:1,height:1}),this.item.getComponent(r).endDragTarget=function(){Object.keys(o).forEach(function(t){e.removeEventListener(t,o[t])})}}},i.getBoundingBox=function(){var e=this.transform.getWorldMatrix(),r=nF(rT.ZERO,.5,.5);return r.forEach(function(t){e.transformPoint(t.p0),e.transformPoint(t.p1),e.transformPoint(t.p2)}),{type:t.HitTestType.triangle,area:r}},i.fromData=function(t){e.prototype.fromData.call(this,t),this.interactData=t},r}(iZ),t.InteractComponent=e3([r1(t.DataType.InteractComponent)],t.InteractComponent),t.maxSpriteMeshItemCount=8,t.maxSpriteTextureCount=8;var op={blending:0,cacheId:"-",mask:0,maskMode:0,occlusion:!1,side:0,cachePrefix:"-"},ov=function(e){function r(){var t;return t=e.apply(this,arguments)||this,t.name="sprite",t}return rH(r,e),r.precompile=function(e,r,i){var n=r.getShaderLibrary(),o=r.engine.gpuCapability,a=o.level,s=o.detail,u=(null!=i?i:{}).env;return!n.shaderResults[of(op,2)]&&(n.addShader(om(op,2,1,u)),n.addShader(om(op,t.maxSpriteMeshItemCount,1,u)),s.writableFragDepth&&n.addShader(iD(a,!0))),Promise.resolve()},r}(nC),oy=function(){function t(){this.playableOutputs=[]}var e=t.prototype;return e.evaluate=function(t){for(var e,r=rW(this.playableOutputs);!(e=r()).done;){var i=e.value;this.callProcessFrame(i.sourcePlayable,t),i.processFrame(t)}},e.connect=function(t,e){e.connect(t)},e.addOutput=function(t){this.playableOutputs.push(t)},e.callProcessFrame=function(t,e){for(var r,i=rW(t.getInputs());!(r=i()).done;){var n=r.value;this.callProcessFrame(n,e)}t.processFrame(e)},t}(),og=function(){function t(){this.inputs=[]}var e=t.prototype;return e.connect=function(t){this.inputs.push(t)},e.getInputs=function(){return this.inputs},e.getInput=function(t){if(!(t>this.inputs.length-1))return this.inputs[t]},e.setTime=function(t){this.time=t},e.getTime=function(){return this.time},e.onGraphStart=function(){},e.onGraphStop=function(){},e.onPlayablePlay=function(){},e.processFrame=function(t){},e.onPlayableDestroy=function(){},e.fromData=function(t){},t}(),ox=function(){function t(){}var e=t.prototype;return e.setSourcePlayeble=function(t){this.sourcePlayable=t},e.onGraphStart=function(){},e.processFrame=function(t){},t}(),oT=function(){function t(){}return t.prototype.fromData=function(t){},t}(),oE=function(t){function e(){var e;return e=t.apply(this,arguments)||this,e.clips=[],e.clipSeed=0,e}rH(e,t);var r=e.prototype;return r.createOutput=function(){return new ox},r.createMixerPlayable=function(){return new og},r.createPlayable=function(){for(var t,e=this.createMixerPlayable(),r=rW(this.clips);!(t=r()).done;){var i=t.value;e.connect(i.playable)}return e},r.createClip=function(t,e){var r=new o_;return r.playable=new t,r.name=e||"TimelineClip"+r.id,this.addClip(r),r},r.getClips=function(){return this.clips},r.findClip=function(t){for(var e,r=rW(this.clips);!(e=r()).done;){var i=e.value;if(i.name===t)return i}},r.addClip=function(t){t.playable.bindingItem=this.bindingItem,t.id=(this.clipSeed++).toString(),this.clips.push(t)},e}(oT),o_=function(){this.start=0,this.duration=0};function oC(t){if(void 0===t)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return t}var oS=function(){function t(t){this.curveValues={},this.playable=t}var e=t.prototype;return e.setCurveValue=function(t,e,r){return this.findCurveValue(t,e)?this.curveValues[t+e].value=r:this.curveValues[t+e]={componentType:t,propertyName:e,value:r},this.curveValues[t+e]},e.findCurveValue=function(t,e){return this.curveValues[t+e]},e.getInputStream=function(t){var e=this.playable.getInput(t);if(e1(e,oR))return e.animationStream},t}(),oR=function(t){function e(){var e;return(e=t.call(this)||this).animationStream=new oS(oC(e)),e}return rH(e,t),e}(og),oA=new rC,ob=new rT(1,1,1),oO=new rT,ow=function(t){function e(){return t.apply(this,arguments)}rH(e,t);var r=e.prototype;return r.processFrame=function(t){this.bindingItem.composition&&this.sampleAnimation()},r.sampleAnimation=function(){var t=this,e=this.bindingItem.duration,r=this.time/e;if(r=r<0?0:r>1?1:r,this.sizeXOverLifetime){ob.x=this.sizeXOverLifetime.getValue(r),this.sizeSeparateAxes?(ob.y=this.sizeYOverLifetime.getValue(r),ob.z=this.sizeZOverLifetime.getValue(r)):ob.z=ob.y=ob.x;var i=this.originalTransform.scale;this.bindingItem.transform.setScale(ob.x*i.x,ob.y*i.y,ob.z*i.z)}if(this.rotationOverLifetime){var n=function(i){return t.rotationOverLifetime.asRotation?i.getValue(r):i.getIntegrateValue(0,r,e)},o=n(this.rotationOverLifetime.z),a=this.rotationOverLifetime.separateAxes;oA.x=a?n(this.rotationOverLifetime.x):0,oA.y=a?n(this.rotationOverLifetime.y):0,oA.z=o;var s=oA.addEulers(this.originalTransform.rotation,oA);this.bindingItem.transform.setRotation(s.x,s.y,s.z)}this.positionOverLifetime&&(nO(oO,this,this.gravity,this.time,e,this.originalTransform.position,this.velocity),this.originalTransform.path&&oO.add(this.originalTransform.path.getValue(r)),this.bindingItem.transform.setPosition(oO.x,oO.y,oO.z))},r.fromData=function(t){var e,r=this.bindingItem.transform.scale;this.originalTransform={position:this.bindingItem.transform.position.clone(),rotation:this.bindingItem.transform.getRotation().clone(),scale:new rT(r.x,r.y,r.x)};var i=t.positionOverLifetime,n=t.rotationOverLifetime,o=t.sizeOverLifetime;if(i&&0!==Object.keys(i).length){this.positionOverLifetime=i,i.path&&(this.originalTransform.path=nq(i.path));var a=i.linearX||i.linearY||i.linearZ;a&&(this.linearVelOverLifetime={x:i.linearX&&nq(i.linearX),y:i.linearY&&nq(i.linearY),z:i.linearZ&&nq(i.linearZ),asMovement:i.asMovement,enabled:!!a});var s=i.orbitalX||i.orbitalY||i.orbitalZ;s&&(this.orbitalVelOverLifetime={x:i.orbitalX&&nq(i.orbitalX),y:i.orbitalY&&nq(i.orbitalY),z:i.orbitalZ&&nq(i.orbitalZ),center:nw(i.orbCenter),asRotation:i.asRotation,enabled:!!s}),this.speedOverLifetime=i.speedOverLifetime&&nq(i.speedOverLifetime)}if(o&&(o.separateAxes?(this.sizeSeparateAxes=!0,this.sizeXOverLifetime=nq(o.x||1),this.sizeYOverLifetime=nq(o.y||1),this.sizeZOverLifetime=nq(o.z||1)):this.sizeXOverLifetime=nq(o.size||1)),n&&(this.rotationOverLifetime={asRotation:n.asRotation,separateAxes:n.separateAxes,z:nq(n.z||0)},n.separateAxes)){var u=this.rotationOverLifetime;u.x=nq(n.x||0),u.y=nq(n.y||0)}this.gravity=rT.fromArray((null==i?void 0:i.gravity)||[]),this.gravityModifier=nq(null!=(e=null==i?void 0:i.gravityOverLifetime)?e:0),this.direction=(null==i?void 0:i.direction)?rT.fromArray(i.direction).normalize():new rT,this.startSpeed=(null==i?void 0:i.startSpeed)||0,this.velocity=this.direction.clone(),this.velocity.multiply(this.startSpeed)},e}(oR),oL=function(t){function e(){return t.apply(this,arguments)}rH(e,t);var r=e.prototype;return r.createPlayable=function(){var t=new ow;return t.fromData(this.transformAnimationData),t},r.fromData=function(t){this.transformAnimationData=t},e}(oT),oI=function(t){function e(){return t.apply(this,arguments)}rH(e,t);var r=e.prototype;return r.onGraphStart=function(){this.bindingItem.transform.setValid(!1),this.hideRendererComponents()},r.onPlayablePlay=function(){this.bindingItem.transform.setValid(!0),this.showRendererComponents()},r.onPlayableDestroy=function(){this.bindingItem.transform.setValid(!1),this.hideRendererComponents()},r.hideRendererComponents=function(){for(var t,e=rW(this.bindingItem.rendererComponents);!(t=e()).done;){var r=t.value;r.enabled&&(r.enabled=!1)}},r.showRendererComponents=function(){for(var t,e=rW(this.bindingItem.rendererComponents);!(t=e()).done;){var r=t.value;r.enabled||(r.enabled=!0)}},e}(og),oM=function(e){function r(t){var r;return(r=e.call(this,t)||this).reusable=!1,r.timelineStarted=!1,r.playableGraph=new oy,r.time=0,r.tracks=[],r.trackSeed=0,r}rH(r,e);var i=r.prototype;return i.start=function(){for(var t,e=rW(this.tracks);!(t=e()).done;)for(var r,i=t.value,n=rW(i.getClips());!(r=n()).done;){var o=r.value;o.start=this.item.start,o.duration=this.item.duration}this.compileTracks(this.playableGraph)},i.update=function(e){if(!this.item.stopped&&this.item.composition){if(!this.timelineStarted){for(var r,i=rW(this.tracks);!(r=i()).done;)for(var n,o=r.value,a=rW(o.getClips());!(n=a()).done;)n.value.playable.onGraphStart();this.timelineStarted=!0}var s=this.time;if(this.item.delaying&&s>=0&&s<=this.item.duration){this.item.delaying=!1;for(var u,l=rW(this.tracks);!(u=l()).done;)for(var c,h=u.value,f=rW(h.getClips());!(c=f()).done;)c.value.playable.onPlayablePlay()}if(t.VFXItem.isParticle(this.item)?this.item.isEnded(s)&&this.item.content.destoryed:this.item.isEnded(s)){var m=this.item.endBehavior;if(!this.item.ended&&(this.item.ended=!0,this.item.onEnd(),0===m)){for(var d,p=rW(this.tracks);!(d=p()).done;)for(var v,y=d.value,g=rW(y.getClips());!(v=g()).done;)v.value.playable.onPlayableDestroy();if(this.item.delaying=!0,!this.item.reusable&&!this.reusable){this.item.dispose();return}}}if(!this.item.delaying){var x=this.time/this.item.duration;this.item.lifetime=x;for(var T,E=rW(this.tracks);!(T=E()).done;)for(var _,C=T.value,S=rW(C.getClips());!(_=S()).done;)_.value.playable.setTime(this.time);this.playableGraph.evaluate(e)}}},i.setTime=function(t){this.time=t},i.getTime=function(){return this.time},i.toLocalTime=function(t){var e=t-this.options.start,r=this.options.duration;return e-r>.001&&(5===this.options.endBehavior?e%=r:4===this.options.endBehavior&&(e=Math.min(r,e))),e},i.createTrack=function(t,e){var r=new t;return r.bindingItem=this.item,r.id=(this.trackSeed++).toString(),r.name=e||"Track"+r.id,this.tracks.push(r),r},i.getTracks=function(){return this.tracks},i.findTrack=function(t){for(var e,r=rW(this.tracks);!(e=r()).done;){var i=e.value;if(i.name===t)return i}},i.rebuildGraph=function(){this.playableGraph=new oy,this.compileTracks(this.playableGraph)},i.compileTracks=function(t){for(var e,r=rW(this.tracks);!(e=r()).done;){var i=e.value,n=i.createPlayable(),o=i.createOutput();t.addOutput(o),o.setSourcePlayeble(n)}},i.fromData=function(t){if(e.prototype.fromData.call(this,t),this.options={start:this.item.start,duration:this.item.duration,looping:5===this.item.endBehavior,endBehavior:this.item.endBehavior||0},this.id=this.item.id,this.name=this.item.name,this.createTrack(oE,"ActivationTrack").createClip(oI,"ActivationTimelineClip"),t.tracks)for(var r,i=t.tracks,n=rW(i);!(r=n()).done;)for(var o,a=r.value,s=this.createTrack(oE),u=rW(a.clips);!(o=u()).done;){var l=o.value;switch(l.dataType){case"TransformAnimationPlayableAsset":s.name="AnimationTrack",s.createClip(ow,"AnimationTimelineClip").playable.fromData(l.animationClip);break;case"SpriteColorAnimationPlayableAsset":s.name="SpriteColorTrack",s.createClip(oN,"SpriteColorClip").playable.fromData(l.animationClip)}}},i.toData=function(){e.prototype.toData.call(this)},r}(ij);e3([r0()],oM.prototype,"time",void 0);var oP=[[0,0,1,1,void 0]],oV=[1,1,1,1],oF=0,oN=function(e){function r(){var t;return t=e.apply(this,arguments)||this,t.renderColor=[1,1,1,1],t}rH(r,e);var i=r.prototype;return i.onPlayablePlay=function(){this.spriteMaterial=this.bindingItem.getComponent(t.SpriteComponent).material},i.processFrame=function(t){var e,r=nL(oV,1),i=this.time/this.bindingItem.duration,n=this.opacityOverLifetime,o=this.colorOverLifetime;o&&(r=ri(o,i,!0),e=!0),n&&(r[3]*=n.getValue(i),e=!0),e&&(nM(this.renderColor,r,this.startColor),this.spriteMaterial.getVector4("_Color").setFromArray(this.renderColor))},i.fromData=function(t){this.clipData=t;var e,r=t.colorOverLifetime;return r&&(this.opacityOverLifetime=nq(null!=(e=r.opacity)?e:1),r.color&&r.color[0]===tK.GRADIENT_COLOR&&(this.colorOverLifetime=rn(r.color[1]))),this.startColor=t.startColor||[1,1,1,1],this},r}(og);t.SpriteComponent=function(e){function r(t,r){var i;return(i=e.call(this,t)||this).color=[1,1,1,1],i.visible=!0,i.getHitTestParams=function(t){var e=i.interaction;if(t||e){var r,n=i.getBoundingBox();if(n)return{behavior:(null==(r=i.interaction)?void 0:r.behavior)||0,type:n.type,triangles:n.area,backfaceCulling:i.renderer.side===tk.FRONT}}},r&&i.fromData(r),i}rH(r,e);var i=r.prototype;return i.setVisible=function(t){this.visible=t},i.getVisible=function(){return this.visible},i.render=function(t){if(this.getVisible()){var e=this.material,r=this.geometry;t.renderingData.currentFrame.globalUniforms&&t.setGlobalMatrix("effects_ObjectToWorld",this.transform.getWorldMatrix()),this.material.setVector2("_Size",this.transform.size),r.flush(),t.drawGeometry(r,e)}},i.start=function(){this.priority=this.item.listIndex,this.timelineComponent=this.item.getComponent(oM),this.item.getHitTestParams=this.getHitTestParams},i.update=function(t){var e=this.timelineComponent.getTime(),r=this.item.duration,i=this.textureSheetAnimation;if(i){var n,o,a,s,u=i.total||i.row*i.col,l=0,c=0,h=1,f=1;if(this.splits){var m=this.splits[0];n=m[4],l=m[0],c=m[1],n?(h=m[3],f=m[2]):(h=m[2],f=m[3])}if(n?(o=1/i.row*h,a=1/i.col*f):(o=1/i.col*h,a=1/i.row*f),i.animate){var d=Math.round(Math.min(Math.max(e/r,0),1)*(u-1)),p=Math.floor(d/i.col),v=d-p*i.col;s=n?[o*p,a*(i.col-v)]:[o*v,a*(1+p)]}else s=[0,a];this.material.getVector4("_TexOffset").setFromArray([l+s[0],f+c-s[1],o,a])}},i.onDestroy=function(){this.item&&this.item.composition&&this.item.composition.destroyTextures(this.getTextures())},i.getItemInitData=function(t,e,r,i){var n=t.geoData;n||(n=t.geoData=this.getItemGeometryData(t,e));var o=n.index,a=o.length,s=this.wireframe?new Uint8Array([0,1,1,3,2,3,2,0]):new o.constructor(a);if(!this.wireframe)for(var u=0;u<a;u++)s[u]=r+o[u];return{atlasOffset:n.atlasOffset,index:s}},i.setItem=function(){var e=[],r=this.renderer.texture;r&&e7(e,r);var i=(r=this.renderer.texture)?e.indexOf(r):-1,n=this.getItemInitData(this,0,0,i),o=this.renderer,a=this.material.getVector4("_TexParams");a.x=o.occlusion?+o.transparentOcclusion:1,a.y=+this.preMultiAlpha,a.z=o.renderMode;var s={atlasOffset:new Float32Array(n.atlasOffset.length),index:new Uint16Array(n.index.length)};s.atlasOffset.set(n.atlasOffset),s.index.set(n.index);var u=this.material,l=this.geometry,c=s.index;l.setIndexData(c),l.setAttributeData("atlasOffset",s.atlasOffset),l.setDrawCount(n.index.length);for(var h=0;h<e.length;h++){var f=e[h];u.setTexture("uSampler"+h,f)}for(var m=this.emptyTexture,d=e.length;d<t.maxSpriteMeshItemCount;d++)u.setTexture("uSampler"+d,m)},i.createGeometry=function(t){var e=12*this.splits.length;return iX.create(this.engine,{attributes:{aPos:{type:r3.FLOAT,size:3,data:new Float32Array([-.5,.5,0,-.5,-.5,0,.5,.5,0,.5,-.5,0])},atlasOffset:{size:2,offset:0,releasable:!0,type:r3.FLOAT,data:new Float32Array(0)}},indices:{data:new Uint16Array(0),releasable:!0},mode:t,maxVertex:e})},i.createMaterial=function(t,e){var r=t.side,i=t.occlusion,n=t.blending,o=t.maskMode,a=t.mask,s={shader:om(t,e,1)};this.preMultiAlpha=r6(n);var u=iL.create(this.engine,s),l={side:r,blending:!0,blendMode:n,mask:a,maskMode:o,depthTest:!0,depthMask:i};return u.blending=l.blending,u.stencilRef=void 0!==l.mask?[l.mask,l.mask]:void 0,u.depthTest=l.depthTest,u.depthMask=l.depthMask,r7(u,l.blendMode),ie(u,l.maskMode),it(u,l.side),u.hasUniform("_Color")||u.setVector4("_Color",new rS(0,0,0,1)),u.hasUniform("_TexOffset")||u.setVector4("_TexOffset",new rS),u.hasUniform("_TexParams")||u.setVector4("_TexParams",new rS),u},i.getItemGeometryData=function(t,e){var r=t.splits,i=t.renderer,n=t.textureSheetAnimation;if(i.shape){for(var o=i.shape,a=o.index,s=o.aPoint,u=new Float32Array(s),l=[],c=[],h=0;h<u.length;h+=6)u[h]*=1,u[h+1]*=1,c.push(s[h+2],s[h+3]),l.push(u[h],u[h+1],0);return this.geometry.setAttributeData("aPos",new Float32Array(l)),{index:a,atlasOffset:c}}var f=[],m=[],d=2,p=2;1===r.length&&(d=1,p=1);for(var v=[],y=0;y<d;y++)for(var g=0;g<p;g++){var x=(2*g+y)*4,T=n?[0,0,1,1,r[0][4]]:r[2*g+y],E=T[4]?[0,0,1,0,0,1,1,1]:[0,1,0,0,1,1,1,0],_=((y+y+1)/d-1)/2,C=((g+g+1)/p-1)/2,S=T[0],R=T[1],A=T[4]?T[3]:T[2],b=T[4]?T[2]:T[3],O=[-.5/d+_,.5/p+C,-.5/d+_,-.5/p+C,.5/d+_,.5/p+C,.5/d+_,-.5/p+C];f.push(E[0]*A+S,E[1]*b+R,E[2]*A+S,E[3]*b+R,E[4]*A+S,E[5]*b+R,E[6]*A+S,E[7]*b+R),v.push(1*O[0],1*O[1],0,1*O[2],1*O[3],0,1*O[4],1*O[5],0,1*O[6],1*O[7],0),m.push(x,1+x,2+x,2+x,1+x,3+x)}return this.geometry.setAttributeData("aPos",new Float32Array(v)),{index:m,atlasOffset:f}},i.getTextures=function(){var t=[],e=this.renderer.texture;return e&&t.push(e),t},i.getBoundingBox=function(){if(this.item){var e=this.transform.getWorldMatrix(),r=nF(rT.ZERO,.5,.5);return r.forEach(function(t){e.transformPoint(t.p0),e.transformPoint(t.p1),e.transformPoint(t.p2)}),{type:t.HitTestType.triangle,area:r}}},i.fromData=function(t){e.prototype.fromData.call(this,t);var r,i,n,o,a,s,u=t.interaction,l=t.options,c=t.listIndex,h=t.renderer;h||(h={}),this.interaction=u,this.renderer={renderMode:null!=(r=h.renderMode)?r:tW.BILLBOARD,blending:null!=(i=h.blending)?i:tz.ALPHA,texture:null!=(n=h.texture)?n:this.engine.emptyTexture,occlusion:!!h.occlusion,transparentOcclusion:!!h.transparentOcclusion||h.maskMode===tU.MASK,side:null!=(o=h.side)?o:tk.DOUBLE,shape:h.shape,mask:null!=(a=h.mask)?a:0,maskMode:null!=(s=h.maskMode)?s:tU.NONE,order:void 0===c?0:c},this.emptyTexture=this.engine.emptyTexture,this.splits=t.splits||oP,this.textureSheetAnimation=t.textureSheetAnimation,this.cachePrefix="-",this.renderInfo=oc(this);var f=this.createGeometry(r3.TRIANGLES),m=this.createMaterial(this.renderInfo,2);this.worldMatrix=r_.fromIdentity(),this.material=m,this.geometry=f,this.name="MSprite"+oF++;var d=l.startColor||[1,1,1,1];this.material.setVector4("_Color",new rS().setFromArray(d)),this.material.setVector4("_TexOffset",new rS().setFromArray([0,0,1,1])),this.setItem()},i.toData=function(){e.prototype.toData.call(this)},r}(iZ),t.SpriteComponent=e3([r1(t.DataType.SpriteComponent)],t.SpriteComponent);var oD="lookup_texture",oz="offscreen_canvas",ok={},oU=function(){function e(e,r){this.particleCount=0;var i,n,o,a,s,u,l,c,h,f=(null!=(l=e.renderer)?l:{}).env,m=r.speedOverLifetime,d=r.colorOverLifetime,p=r.linearVelOverLifetime,v=r.orbitalVelOverLifetime,y=r.sizeOverLifetime,g=r.rotationOverLifetime,x=r.sprite,T=r.gravityModifier,E=r.maxCount,_=r.textureFlip,C=r.useSprite,S=r.name;r.filter;var R=r.gravity,A=r.forceTarget,b=r.side,O=r.occlusion,w=r.anchor,L=r.blending,I=r.maskMode,M=r.mask,P=r.transparentOcclusion,V=r.meshSlots,F=r.renderMode,N=void 0===F?0:F,D=r.diffuse,z=void 0===D?i_.createWithData(e):D,k=e.gpuCapability.detail,U=k.halfFloatTexture,B=k.maxVertexUniforms,G=[["RENDER_MODE",+N],["PRE_MULTIPLY_ALPHA",!1],["ENV_EDITOR",f===oo]],X=e.gpuCapability.level,H=n2(),Y=n2(),W=B>0,j={},Z=0,q=0;this.useSprite=C,W&&G.push(["ENABLE_VERTEX_TEXTURE",!0]),m&&(G.push(["SPEED_OVER_LIFETIME",!0]),q|=2,j.uSpeedLifetimeValue=m.toUniform(H)),(null==x?void 0:x.animate)&&(G.push(["USE_SPRITE",!0]),q|=4,j.uFSprite=j.uSprite=new Float32Array([x.col,x.row,x.total,x.blend?1:0]),this.useSprite=!0),(null==d?void 0:d.color)&&(G.push(["COLOR_OVER_LIFETIME",!0]),q|=16,j.uColorOverLifetime=e1(d.color,i_)?d.color:i_.createWithData(e,rl(d.color))),(null==d?void 0:d.opacity)?j.uOpacityOverLifetimeValue=d.opacity.toUniform(H):j.uOpacityOverLifetimeValue=nq(1).toUniform(H),["x","y","z"].forEach(function(t,e){var r=0,i=0;(null==p?void 0:p[t])&&(j["uLinear"+t.toUpperCase()+"ByLifetimeValue"]=p[t].toUniform(H),r=1,q|=1<<7+e,p.enabled=!0),G.push(["LINEAR_VEL_"+t.toUpperCase(),r]),(null==v?void 0:v[t])&&(j["uOrb"+t.toUpperCase()+"ByLifetimeValue"]=v[t].toUniform(H),i=1,q|=1<<10+e,c=!0,v.enabled=!0),G.push(["ORB_VEL_"+t.toUpperCase(),i])}),(null==p?void 0:p.asMovement)&&(G.push(["AS_LINEAR_MOVEMENT",!0]),q|=32),c&&((null==v?void 0:v.asRotation)&&(G.push(["AS_ORBITAL_MOVEMENT",!0]),q|=64),j.uOrbCenter=new Float32Array((null==v?void 0:v.center)||[0,0,0])),j.uSizeByLifetimeValue=null==y?void 0:y.x.toUniform(H),(null==y?void 0:y.separateAxes)&&(G.push(["SIZE_Y_BY_LIFE",1]),q|=16384,j.uSizeYByLifetimeValue=null==y?void 0:null==(h=y.y)?void 0:h.toUniform(H)),(null==g?void 0:g.z)&&(j.uRZByLifeTimeValue=g.z.toUniform(H),q|=32768,G.push(["ROT_Z_LIFETIME",1])),(null==g?void 0:g.x)&&(j.uRXByLifeTimeValue=g.x.toUniform(H),q|=65536,G.push(["ROT_X_LIFETIME",1])),(null==g?void 0:g.y)&&(j.uRYByLifeTimeValue=g.y.toUniform(H),q|=131072,G.push(["ROT_Y_LIFETIME",1])),(null==g?void 0:g.asRotation)&&(G.push(["ROT_LIFETIME_AS_MOVEMENT",1]),q|=262144),j.uGravityModifierValue=T.toUniform(H),A&&(G.push(["FINAL_TARGET",!0]),q|=524288,j.uFinalTarget=new Float32Array(A.target||[0,0,0]),j.uForceCurve=A.curve.toUniform(H)),U&&Y.max?(q|=1048576,j.uFCurveValueTexture=iC(e,nH.getAllData(Y,!0),Y.index,1)):j.uFCurveValues=nH.getAllData(Y);var Q=H.max+H.curves.length-32>B;if(2===X&&(H.max=-1,H.index=V?V[0]:oG(H.index),Y.index>0&&(Y.max=-1,Y.index=V?V[1]:oG(Y.index))),Q&&U&&W){var K=iC(e,nH.getAllData(H,!0),H.index,1);j.uVCurveValueTexture=K,Z=1}else j.uVCurveValues=nH.getAllData(H);var J=["-p:",N,q,H.index,H.max,Y.index,Y.max].join("+");G.push(["VERT_CURVE_VALUE_COUNT",H.index],["FRAG_CURVE_VALUE_COUNT",Y.index],["VERT_MAX_KEY_FRAME_COUNT",H.max],["FRAG_MAX_KEY_FRAME_COUNT",Y.max]);var $={fragment:i3,vertex:"#define LOOKUP_TEXTURE_CURVE "+Z+"\n"+i4,glslVersion:1===X?t.GLSLVersion.GLSL1:t.GLSLVersion.GLSL3,shared:!0,cacheId:J,marcos:G,name:"particle#"+S},tt=r6(L);j.uTexOffset=new Float32Array(z?[1/z.getWidth(),1/z.getHeight()]:[0,0]),j.uMaskTex=z,j.uColorParams=new Float32Array([z?1:0,+tt,0,+(!!O&&!P)]),j.uParams=[0,0,0,0],j.uAcceleration=[(null==R?void 0:R[0])||0,(null==R?void 0:R[1])||0,(null==R?void 0:R[2])||0,0];var te=iL.create(e,{shader:$,uniformSemantics:{effects_MatrixV:"VIEW",effects_MatrixVP:"VIEWPROJECTION",uEditorTransform:"EDITOR_TRANSFORM",effects_ObjectToWorld:"MODEL"}});te.blending=!0,te.depthTest=!0,te.depthMask=!!O,te.stencilRef=M?[M,M]:void 0,ie(te,I),r7(te,L),it(te,b);var tr={uSprite:"vec4",uParams:"vec4",uAcceleration:"vec4",uGravityModifierValue:"vec4",uOpacityOverLifetimeValue:"vec4",uRXByLifeTimeValue:"vec4",uRYByLifeTimeValue:"vec4",uRZByLifeTimeValue:"vec4",uLinearXByLifetimeValue:"vec4",uLinearYByLifetimeValue:"vec4",uLinearZByLifetimeValue:"vec4",uSpeedLifetimeValue:"vec4",uOrbXByLifetimeValue:"vec4",uOrbYByLifetimeValue:"vec4",uOrbZByLifetimeValue:"vec4",uSizeByLifetimeValue:"vec4",uSizeYByLifetimeValue:"vec4",uColorParams:"vec4",uFSprite:"vec4",uPreviewColor:"vec4",uVCurveValues:"vec4Array",uFCurveValues:"vec4",uFinalTarget:"vec3",uForceCurve:"vec4",uOrbCenter:"vec3",uTexOffset:"vec2",uPeriodValue:"vec4",uMovementValue:"vec4",uStrengthValue:"vec4",uWaveParams:"vec4"};Object.keys(j).map(function(t){var e=j[t];if(e1(e,i_)){te.setTexture(t,e);return}var r=[];switch(tr[t]){case"vec4":te.setVector4(t,rS.fromArray(e));break;case"vec3":te.setVector3(t,rT.fromArray(e));break;case"vec2":te.setVector2(t,rx.fromArray(e));break;case"vec4Array":for(var i=0;i<e.length;i+=4){var n=new rS(e[i],e[i+1],e[i+2],e[i+3]);r.push(n)}te.setVector4Array(t,r),r.length=0;break;default:console.warn("uniform "+t+"'s type not in typeMap")}}),te.setVector3("emissionColor",new rT(0,0,0)),te.setFloat("emissionIntensity",0);var ti=iX.create(e,(i=4*E,n=this.useSprite,o="particle#"+S,u={aPos:{size:3,offset:0,stride:s=12*(a=Float32Array.BYTES_PER_ELEMENT),data:new Float32Array(0)},aVel:{size:3,offset:3*a,stride:s,dataSource:"aPos"},aDirX:{size:3,offset:6*a,stride:s,dataSource:"aPos"},aDirY:{size:3,offset:9*a,stride:s,dataSource:"aPos"},aRot:{size:3,offset:0,stride:8*a,data:new Float32Array(0)},aSeed:{size:1,offset:3*a,stride:8*a,dataSource:"aRot"},aColor:{size:4,offset:4*a,stride:8*a,dataSource:"aRot"},aOffset:{size:4,stride:4*a,data:new Float32Array(0)}},n&&(u.aSprite={size:3,stride:3*a,data:new Float32Array(0)}),{attributes:u,indices:{data:new Uint16Array(0)},name:o,maxVertex:i})),tn=iQ.create(e,{name:"MParticle_"+S,material:te,geometry:ti});this.anchor=w,this.mesh=tn,this.geometry=tn.firstGeometry(),this.forceTarget=A,this.sizeOverLifetime=y,this.speedOverLifetime=m,this.linearVelOverLifetime=p,this.orbitalVelOverLifetime=v,this.orbitalVelOverLifetime=v,this.gravityModifier=T,this.maxCount=E,this.textureOffsets=_?[0,0,1,0,0,1,1,1]:[0,1,0,0,1,1,1,0],this.time=0}var r=e.prototype;return r.getPointColor=function(t){var e=this.geometry.getAttributeData("aRot"),r=32*t+4;return[e[r],e[r+1],e[r+2],e[r+3]]},r.getPointPosition=function(t){var e=this.geometry,r=48*t,i=e.getAttributeData("aPos"),n=e.getAttributeData("aOffset"),o=this.time-n[16*t+2],a=n[16*t+3],s=this.mesh.material,u=s.getVector4("uAcceleration").toVector3(),l=rT.fromArray(i,r),c=rT.fromArray(i,r+3),h=nO(new rT,this,u,o,a,l,c);if(this.forceTarget){var f=s.getVector3("uFinalTarget"),m=this.forceTarget.curve.getValue(o/a),d=1-m;h.x=h.x*d+f.x*m,h.y=h.y*d+f.y*m,h.z=h.z*d+f.z*m}return h},r.clearPoints=function(){this.resetGeometryData(this.geometry),this.particleCount=0,this.geometry.setDrawCount(0),this.maxParticleBufferCount=0},r.resetGeometryData=function(t){for(var e=t.getAttributeNames(),r=t.getIndexData(),i=0;i<e.length;i++){var n=e[i],o=t.getAttributeData(n);o&&t.setAttributeData(n,new o.constructor(0))}t.setIndexData(new r.constructor(0))},r.minusTime=function(t){for(var e=this.geometry.getAttributeData("aOffset"),r=0;r<e.length;r+=4)e[r+2]-=t;this.geometry.setAttributeData("aOffset",e),this.time-=t},r.removePoint=function(t){t<this.particleCount&&this.geometry.setAttributeSubData("aOffset",16*t,new Float32Array(16))},r.setPoint=function(t,e){var r=this.maxCount;if(t<r){var i,n=t+1,o=4*n,a=this.geometry,s=n>this.maxParticleBufferCount,u=1;this.particleCount>300?u=(this.particleCount+100)/this.particleCount:this.particleCount>100?u=1.4:this.particleCount>0&&(u=2);var l={aPos:new Float32Array(48),aRot:new Float32Array(32),aOffset:new Float32Array(16)},c=this.useSprite;c&&(l.aSprite=new Float32Array(12));var h=new rT,f=new rE,m=new rT(1,1,1);e.transform.assignWorldTRS(h,f,m);var d=n5.getRotation(f,new rC),p=h.toArray(),v=d.toArray(),y=this.textureOffsets,g=[0,0,e.delay,e.lifetime],x=[0,0,1,1],T=e.vel,E=e.color,_=[-.5,.5,-.5,-.5,.5,.5,.5,-.5],C=Math.random();c&&(i=e.sprite);for(var S=0;S<4;S++){var R=2*S,A=3*S,b=4*S,O=12*S,w=8*S;l.aPos.set(p,O),T.fill(l.aPos,O+3),l.aRot.set(v,w),l.aRot[w+3]=C,l.aRot.set(E,w+4),c&&l.aSprite.set(i,A);var L=e.uv||x;if(L){var I=c?1-y[R+1]:y[R+1];g[0]=L[0]+y[R]*L[2],g[1]=L[1]+I*L[3]}l.aOffset.set(g,b);for(var M=S+S,P=(_[M]-this.anchor.x)*m.x,V=(_[M+1]-this.anchor.y)*m.y,F=0;F<3;F++)l.aPos[O+6+F]=e.dirX.getElement(F)*P,l.aPos[O+9+F]=e.dirY.getElement(F)*V}var N=new Uint16Array([0,1,2,2,1,3].map(function(e){return e+4*t}));if(s){var D=re(a.getIndexData(),6*n,u,6*r);D.set(N,6*t),a.setIndexData(D),this.maxParticleBufferCount=D.length/6}else a.setIndexSubData(6*t,N);Object.keys(l).forEach(function(e){var i=l[e],n=a.getAttributeStride(e)/Float32Array.BYTES_PER_ELEMENT;if(s){var c=re(a.getAttributeData(e),o*n,u,4*r*n);c.set(i,i.length*t),a.setAttributeData(e,c)}else a.setAttributeSubData(e,i.length*t,i)}),this.particleCount=Math.max(n,this.particleCount),a.setDrawCount(6*this.particleCount)}},e}(),oB=[10,32,64,160];function oG(t){for(var e=0;e<oB.length;e++){var r=oB[e];if(r>t)return r}return t||oB[0]}function oX(t,e,r){void 0===e&&(e="");var i,n,o,a=t.content,s=+((null==(i=a.renderer)?void 0:i.renderMode)||0),u=[["RENDER_MODE",s],["PRE_MULTIPLY_ALPHA",!1],["ENV_EDITOR",e===oo]],l=r.level,c=r.detail,h=n2(),f=n2(),m=c.maxVertexUniforms>0,d=(null!=(n=a.positionOverLifetime)?n:{}).speedOverLifetime,p=0,v=0;m&&u.push(["ENABLE_VERTEX_TEXTURE",!0]),d&&(u.push(["SPEED_OVER_LIFETIME",!0]),v|=2,n1(h,d));var y=a.textureSheetAnimation;y&&y.animate&&(u.push(["USE_SPRITE",!0]),v|=4);var g=a.colorOverLifetime;g&&g.color&&(u.push(["COLOR_OVER_LIFETIME",!0]),v|=16);var x=g&&g.opacity;x&&n1(h,x);var T=a.positionOverLifetime;["x","y","z"].forEach(function(t,e){var r=0,i="linear"+t.toUpperCase(),n="orbital"+t.toUpperCase();(null==T?void 0:T[i])&&(n1(h,T[i]),r=1,v|=1<<7+e),u.push(["LINEAR_VEL_"+t.toUpperCase(),r]);var a=0;(null==T?void 0:T[n])&&(n1(h,T[n]),a=1,v|=1<<10+e,o=!0),u.push(["ORB_VEL_"+t.toUpperCase(),a])}),(null==T?void 0:T.asMovement)&&(u.push(["AS_LINEAR_MOVEMENT",!0]),v|=32),o&&(null==T?void 0:T.asRotation)&&(u.push(["AS_ORBITAL_MOVEMENT",!0]),v|=64);var E=a.sizeOverLifetime;n1(h,null==E?void 0:E.x),(null==E?void 0:E.separateAxes)&&(u.push(["SIZE_Y_BY_LIFE",1]),v|=16384,n1(h,null==E?void 0:E.y));var _=a.rotationOverLifetime;(null==_?void 0:_.z)&&(n1(h,null==_?void 0:_.z),v|=32768,u.push(["ROT_Z_LIFETIME",1])),(null==_?void 0:_.separateAxes)&&(_.x&&(n1(h,_.x),v|=65536,u.push(["ROT_X_LIFETIME",1])),_.y&&(n1(h,_.y),v|=131072,u.push(["ROT_Y_LIFETIME",1]))),(null==_?void 0:_.asRotation)&&(u.push(["ROT_LIFETIME_AS_MOVEMENT",1]),v|=262144),n1(h,null==T?void 0:T.gravityOverLifetime),(null==T?void 0:T.forceTarget)&&(u.push(["FINAL_TARGET",!0]),v|=524288,n1(h,T.forceCurve));var C=c.halfFloatTexture;C&&f.max&&(v|=1048576);var S=c.maxVertexUniforms,R=h.max+h.curves.length-32>S;ok[oD]&&(R=!0),2===l&&(h.max=-1,f.index>0&&(f.max=-1)),R&&C&&m&&(p=1);var A={fragment:i3,vertex:"#define LOOKUP_TEXTURE_CURVE "+p+"\n"+i4,shared:!0,cacheId:["-p:",s,v,h.index,h.max,f.index,f.max].join("+"),marcos:u,name:"particle#"+t.name};return u.push(["VERT_CURVE_VALUE_COUNT",h.index],["FRAG_CURVE_VALUE_COUNT",f.index],["VERT_MAX_KEY_FRAME_COUNT",h.max],["FRAG_MAX_KEY_FRAME_COUNT",f.max]),{shader:A,vertex:h.index,fragment:f.index}}function oH(t,e,r){var i,n=null==(i=t.cacheId)?void 0:i.split("+");if(n[3]=e,n[5]=r,t.cacheId=n.join("+"),t.marcos)for(var o=0;o<t.marcos.length;o++){var a=t.marcos[o];if("VERT_CURVE_VALUE_COUNT"===a[0])a[1]=e;else if("FRAG_CURVE_VALUE_COUNT"===a[0]){a[1]=r;break}}}var oY=new rT,oW=new rT,oj=function(){function e(e,r){this.pointStart=[];var i,n=r.colorOverLifetime,o=r.colorOverTrail,a=r.maxTrailCount,s=r.opacityOverLifetime,u=void 0===s?nq(1):s,l=r.widthOverTrail,c=r.name,h=r.occlusion,f=r.blending,m=r.maskMode,d=r.textureMap,p=r.texture,v=r.transparentOcclusion,y=r.minimumVertexDistance,g=r.lifetime,x=r.matrix,T=e.gpuCapability,E=T.detail,_=T.level,C=Math.max(r.pointCountPerTrail,2),S=n2(),R=E.maxVertexTextures>0,A=(null!=(i=e.renderer)?i:{}).env,b={},O=[["ENABLE_VERTEX_TEXTURE",R],["LOOKUP_TEXTURE_CURVE",0],["ENV_EDITOR",A===oo]],w=a>64,L=0;n&&(O.push(["COLOR_OVER_LIFETIME",!0]),L|=1,b.uColorOverLifetime=i_.createWithData(e,rl(n))),o&&(O.push(["COLOR_OVER_TRAIL",!0]),L|=4,b.uColorOverTrail=i_.createWithData(e,rl(o))),w?(O.push(["ATTR_TRAIL_START",1]),L|=8):b.uTrailStart=new Float32Array(a),b.uOpacityOverLifetimeValue=u.toUniform(S);var I=l.toUniform(S);O.push(["VERT_CURVE_VALUE_COUNT",S.index],["VERT_MAX_KEY_FRAME_COUNT",S.max]),b.uVCurveValues=nH.getAllData(S);var M={shader:{vertex:i5,fragment:i3,marcos:O,glslVersion:1===_?t.GLSLVersion.GLSL1:t.GLSLVersion.GLSL3,shared:!0,name:"trail#"+c,cacheId:"-t:+"+L+"+"+S.index+"+"+S.max},uniformSemantics:{effects_MatrixVP:"VIEWPROJECTION",effects_MatrixInvV:"VIEWINVERSE",effects_ObjectToWorld:"MODEL",uEditorTransform:"EDITOR_TRANSFORM"}},P=C*a*2,V=(C-1)*a,F=Float32Array.BYTES_PER_ELEMENT,N=12*F,D={attributes:{aColor:{size:4,stride:N,data:new Float32Array(12*P)},aSeed:{size:1,stride:N,offset:4*F,dataSource:"aColor"},aInfo:{size:3,stride:N,offset:5*F,dataSource:"aColor"},aPos:{size:4,stride:N,offset:8*F,dataSource:"aColor"},aTime:{size:1,data:new Float32Array(P)},aDir:{size:3,data:new Float32Array(3*P)}},indices:{data:new Uint16Array(6*P)},drawCount:6*V,name:"trail#"+c,bufferUsage:r3.DYNAMIC_DRAW};if(w)D.attributes.aTrailStart={size:1,data:new Float32Array(P)};else{var z=new Float32Array(P);D.attributes.aTrailStartIndex={size:1,data:z};for(var k=0;k<a;k++)for(var U=2*C,B=k*U,G=0;G<U;G++)z[B+G]=k}var X=r6(f),H=iL.create(e,M);H.blending=!0,H.depthMask=h,H.depthTest=!0,ie(H,m),r7(H,f);var Y=this.mesh=iQ.create(e,{name:"MTrail_"+c,material:H,geometry:iX.create(e,D)}),W=null!=p?p:i_.createWithData(e);Object.keys(b).map(function(t){var e=b[t];if(e1(e,i_))H.setTexture(t,e);else if("uTrailStart"===t)H.setFloats("uTrailStart",e);else if("uVCurveValues"===t){var r=[];r.push(new rS(e[0],e[1],e[2],e[3])),r.push(new rS(e[4],e[5],e[6],e[7])),H.setVector4Array(t,r)}else H.setVector4(t,rS.fromArray(e))}),H.setFloat("uTime",0),H.setVector4("uWidthOverTrail",rS.fromArray(I)),H.setVector2("uTexOffset",new rx(0,0)),H.setVector4("uTextureMap",rS.fromArray(void 0===d?[0,0,1,1]:d)),H.setVector4("uParams",new rS(0,C-1,0,0)),H.setTexture("uMaskTex",W),H.setVector4("uColorParams",new rS(p?1:0,+X,0,+(h&&!v))),this.maxTrailCount=a,this.pointCountPerTrail=C,this.checkVertexDistance=y>0,this.minimumVertexDistance=Math.pow(y||.001,2),this.useAttributeTrailStart=w,this.lifetime=g,x&&(this.mesh.worldMatrix=x),this.geometry=Y.firstGeometry(),this.trailCursors=new Uint16Array(a)}var r=e.prototype;return r.addPoint=function(t,e,r){r=r||{};var i=this.trailCursors[t],n=this.pointCountPerTrail,o=this.geometry,a=n-1,s=i%n,u=(i-1)%n,l=(i-2)%n,c=this.getTrailPosition(t,u,oY);if(!(c&&this.checkVertexDistance&&(null==c?void 0:c.distanceSquared(e))<this.minimumVertexDistance)){var h=t*n+s,f=oK(c,e),m=r.time||this.time,d=[Math.random(),r.lifetime||this.lifetime,i],p=r.size||1,v=new Float32Array(6);v.set(f,0),v.set(f,3),o.setAttributeSubData("aDir",6*h,v),o.setAttributeSubData("aTime",2*h,new Float32Array([m,m]));var y=r.color||[1,1,1,1],g=new Float32Array(24),x=e.toArray();if(g.set(y,0),g.set(d,4),g[7]=0,g.set(x,8),g[11]=.5*p,g.set(y,12),g.set(d,16),g[19]=1,g.set(x,20),g[23]=-.5*p,o.setAttributeSubData("aColor",24*h,g),u>=0){var T=new Float32Array(oK(this.getTrailPosition(t,l,oW),c,e)),E=(t*n+u)*6;o.setAttributeSubData("aDir",E,T),o.setAttributeSubData("aDir",E+3,T);var _=t*n*2,C=new Uint16Array([2*u+_,2*u+1+_,2*s+_,2*s+_,2*u+1+_,2*s+1+_]),S=(t*a+(i-1)%a)*6;o.setIndexSubData(S,C)}i=++this.trailCursors[t];var R=this.mesh.material,A=R.getVector4("uParams"),b=d[2];if(this.useAttributeTrailStart){for(var O=2*n,w=new Float32Array(O),L=0;L<O;L++)w[L]=b;o.setAttributeSubData("aTrailStart",t*w.length,w)}else{var I=R.getFloats("uTrailStart");void 0!=I&&(I[t]=b,R.setFloats("uTrailStart",I))}A&&(A.y=Math.max(A.y,i-1)-Math.max(0,i-n),R.setVector4("uParams",A))}},r.getTrailPosition=function(t,e,r){var i=this.pointCountPerTrail;if(e>=0&&e<i){var n=(t*i+e)*24+8,o=this.geometry.getAttributeData("aColor");return r.x=o[n],r.y=o[1+n],r.z=o[2+n],r}},r.clearAllTrails=function(){var t=this.geometry;this.trailCursors=new Uint16Array(this.trailCursors.length),t.setIndexData(new Uint16Array(t.getIndexData().length))},r.minusTime=function(t){for(var e=this.geometry.getAttributeData("aTime"),r=0;r<e.length;r++)e[r]-=t;this.geometry.setAttributeData("aTime",e),this.time-=t},r.clearTrail=function(t){if(0!==this.trailCursors[t]){var e=(this.pointCountPerTrail-1)*6,r=this.geometry.getIndexData();r.set(new Uint16Array(e),t*e),this.geometry.setIndexData(r),this.trailCursors[t]=0}},r.getPointStartPos=function(t){return this.pointStart[t]},r.setPointStartPos=function(t,e){this.pointStart[t]=e},r.onUpdate=function(t){},rG(e,[{key:"time",get:function(){return this.mesh.material.getFloat("uTime")||0},set:function(t){this.mesh.material.setFloat("uTime",null!=t?t:0)}}]),e}(),oZ=new rT,oq=new rT,oQ=new rT;function oK(t,e,r){return t||r?(t?r?(oq.subtractVectors(e,t).normalize(),oq.subtractVectors(r,e),oQ.copyFrom(oq).normalize(),oZ.addVectors(oq,oQ)):oZ.subtractVectors(e,t):oZ.subtractVectors(r,e),oZ.normalize().toArray()):[0,0,0]}var oJ=function(e){function r(){return e.apply(this,arguments)}return rH(r,e),r.precompile=function(e,r,i){var n=e[0],o={rotationOverLifetime:{x:!1,y:!1,z:!1},positionOverLifetime:{speedOverLifetime:!1,linearX:!1,linearY:!1,linearZ:!1,orbitalX:!1,orbitalY:!1,orbitalZ:!1,forceCurve:!1},colorOverLifetime:{opacity:!1,color:!1},sizeOverLifetime:{x:!1,y:!1}},a={colorOverLifetime:{opacity:1,color:[tK.RGBA_COLOR,[255,255,255,255]]},positionOverLifetime:{speedOverLifetime:1},sizeOverLifetime:{x:1,y:1}},s=r.engine.gpuCapability,u=s.level,l=(null!=i?i:{}).env,c=r.getShaderLibrary(),h=[],f=[],m=[],d=0,p=0;return n.items.forEach(function(e){t.Item.isParticle(e)&&(f.push(e),function(e){if(t.Item.isParticle(e)){var r=e.content;r.rotationOverLifetime||(r.rotationOverLifetime={});var i=r.rotationOverLifetime;i.z||(i.z=[tK.CONSTANT,0]),i.separateAxes||(delete i.y,delete i.x),r.sizeOverLifetime||(r.sizeOverLifetime={});var n=r.sizeOverLifetime;n.separateAxes||delete n.y,n.size&&(n.x=n.size,delete n.size),n.x||(n.x=[tK.CONSTANT,1])}}(e),2===u&&Object.keys(o).forEach(function(t){var r=o[t],i=e.content[t];i&&Object.keys(r).forEach(function(e){i[e]&&(r[e]=!0,e7(h,t))})}))}),f.forEach(function(e){var r=e.content;2===u&&(h.forEach(function(t){var e=o[t],i=r[t]||(r[t]={});Object.keys(e).forEach(function(r){if(e[r]&&!i[r]){var n=a[t]&&a[t][r]||0;i[r]=isNaN(n)?n:[tK.CONSTANT,n]}})}),o.positionOverLifetime.forceCurve&&(r.positionOverLifetime.forceTarget=!0),(o.rotationOverLifetime.x||o.rotationOverLifetime.y)&&(r.rotationOverLifetime.separateAxes=!0),o.sizeOverLifetime.y&&(r.sizeOverLifetime.separateAxes=!0));var i=oX(e,l,s),n=i.shader,f=i.fragment,v=i.vertex;if(m.push(n),d=Math.max(d,f),p=Math.max(p,v),e.content.trails){var y,g,x,T,E,_,C,S,R,A,b=(y=e.content.trails,g=e.content.options.maxCount,x=e.name,void 0===(T=l)&&(T=""),E=0,_=ok[oD]?1:0,C=[["ENABLE_VERTEX_TEXTURE",s.detail.maxVertexTextures>0],["LOOKUP_TEXTURE_CURVE",_],["ENV_EDITOR",T===oo]],S=n2(),y.colorOverLifetime&&(C.push(["COLOR_OVER_LIFETIME",!0]),E|=1),y.colorOverTrail&&(C.push(["COLOR_OVER_TRAIL",!0]),E|=4),g>64&&(C.push(["ATTR_TRAIL_START",1]),E|=8),n1(S,y.opacityOverLifetime),n1(S,y.widthOverTrail),C.push(["VERT_CURVE_VALUE_COUNT",S.index],["VERT_MAX_KEY_FRAME_COUNT",S.max]),{vertex:i5,fragment:i3,marcos:C,shared:!0,name:"trail#"+x,cacheId:"-t:+"+E+"+"+S.index+"+"+S.max});b.vertex=r9(null!=(R=b.marcos)?R:[],b.vertex,t.ShaderType.vertex,u),b.fragment=r9(null!=(A=b.marcos)?A:[],b.fragment,t.ShaderType.fragment,u),b.glslVersion=2===u?t.GLSLVersion.GLSL3:t.GLSLVersion.GLSL1,c.addShader(b)}}),m.forEach(function(e){var r,i;2===u?(oH(e,p,d),e.glslVersion=t.GLSLVersion.GLSL3):e.glslVersion=t.GLSLVersion.GLSL1,e.vertex=r9(null!=(r=e.marcos)?r:[],e.vertex,t.ShaderType.vertex,u),e.fragment=r9(null!=(i=e.marcos)?i:[],e.fragment,t.ShaderType.fragment,u),c.addShader(e)}),2===u&&f.forEach(function(t){t.content.options.meshSlots=[p,d]}),Promise.resolve()},r}(nC),o$=function(){function t(t){var e=this;Object.keys(t).forEach(function(r){e[r]=t[r]})}return t.prototype.generate=function(t){var e=o0(this.arc,this.arcMode,t)*rd,r=new rT(Math.cos(e)*this.radius,Math.sin(e)*this.radius,0),i=Math.tan(this.angle*rd),n=r.clone().multiply(i);return n.z+=1,{position:r.multiply(rz(0,1)),direction:n.normalize()}},t}();function o0(t,e,r){if(e===t2.RANDOM)t=rz(0,t);else if(e===t2.UNIDIRECTIONAL_CYCLE){var i=r.index%(r.total+1);t=t/r.total*i}else if(e===t2.BIDIRECTIONAL_CYCLE){var n=r.index/(r.total+1),o=n-Math.floor(n);t*=Math.floor(n)%2?1-o:o}else e===t2.UNIFORM_BURST&&(t=t*r.burstIndex/r.burstCount);return t}var o1=function(){function t(t){var e=this;Object.keys(t).forEach(function(r){e[r]=t[r]})}return t.prototype.generate=function(t){var e=o0(this.arc,this.arcMode,t)*rd,r=new rT(Math.cos(e),Math.sin(e),0),i=this.radius;return{direction:r,position:r.clone().multiply(i)}},t}(),o2=function(){function t(t){this._d=(t.width||1)/2,this._h=(t.height||1)/2}return t.prototype.generate=function(t){var e=rz(-this._d,this._d),r=rz(-this._h,this._h);return{direction:new rT(0,0,1),position:new rT(e,r,0)}},t}(),o3=function(){function t(t){this._d=(t.width||1)/2,this._h=(t.height||1)/2,this.arcMode=t.arcMode,this.arc=t.arc}return t.prototype.generate=function(t){var e=o0(this.arc,this.arcMode,t)*rd,r=new rT(Math.cos(e),Math.sin(e),0),i=this._d,n=this._h,o=Math.atan2(n,i),a=Math.tan(e),s=new rT;return e<o?s.set(i,i*a,0):e>=o&&e<Math.PI-o?s.set(n/a,n,0):e<Math.PI+o?s.set(-i,-i*a,0):e<2*Math.PI-o?s.set(-n/a,-n,0):s.set(i,i*a,0),{direction:r,position:s}},t}(),o4=function(){function t(t){this._d=(t.width||1)/2,this.arcMode=t.arcMode}return t.prototype.generate=function(t){var e=this.arcMode===t2.UNIFORM_BURST?t.burstIndex%t.burstCount/(t.burstCount-1):rz(0,1);return{direction:new rT(0,1,0),position:new rT(this._d*(e-.5),0,0)}},t}(),o5=new r_,o6=function(){function t(t){var e=this;Object.keys(t).forEach(function(r){e[r]=t[r]})}return t.prototype.generate=function(t){var e=this.donutRadius,r=this.radius-e,i=rz(0,2*Math.PI),n=o0(this.arc,this.arcMode,t)*rd,o=o5.setFromRotationZ(n),a=new rT(Math.cos(i),Math.sin(i),0),s=new rT(r+Math.cos(i)*e,0,Math.sin(i)*e);return{direction:o.transformNormal(a),position:o.transformPoint(s)}},t}(),o8=new r_,o9=function(){function t(t){var e=this;Object.keys(t).forEach(function(r){e[r]=t[r]})}var e=t.prototype;return e.getHorizontalAngle=function(){return rz(-90,90)},e.generate=function(t){var e=o0(this.arc,this.arcMode,t)*rd,r=this.getHorizontalAngle()*rd,i=this.radius,n=new rT(Math.cos(r),0,Math.sin(r)),o=o8.setFromRotationZ(e).transformNormal(n);return{position:o.clone().multiply(i),direction:o}},t}(),o7=function(t){function e(){return t.apply(this,arguments)}return rH(e,t),e.prototype.getHorizontalAngle=function(){return rz(0,90)},e}(o9),at=function(){function t(t){var e=t.detail||{anchors:[.5,.5],block:[0,0]};this.anchors=new Float32Array(e.anchors),this.width=t.width||1,this.height=t.height||1,this.block=e.block,this.arcMode=t.arcMode,this.random=rg(t.random||0,0,1)}return t.prototype.generate=function(t){var e=this.anchors,r=Math.floor(o0(e.length/2-1,this.arcMode,t)),i=(e[2*r]+this.block[0]*this.random*Math.random())%1-.5,n=(e[2*r+1]+this.block[1]*this.random*Math.random())%1-.5,o=new rT(i,n,0);return{position:new rT(i*this.width,n*this.height,0),direction:o.normalize()}},t}(),ae=function(){function t(){}return t.prototype.generate=function(){return{position:new rT,direction:new rT}},t}(),ar=((eh={})[tB.NONE]=ae,eh[tB.CONE]=o$,eh[tB.SPHERE]=o9,eh[tB.HEMISPHERE]=o7,eh[tB.CIRCLE]=o1,eh[tB.DONUT]=o6,eh[tB.RECTANGLE]=o2,eh[tB.EDGE]=o4,eh[tB.RECTANGLE_EDGE]=o3,eh[tB.TEXTURE]=at,eh);function ai(t){if(!t)return new ae;var e=ir({radius:1,arc:360,angle:0,arcMode:t2.RANDOM},t),r=t.type,i=ar[r];if(!i)throw Error("invalid shape:"+r);var n=new i(e);if(r!==tB.NONE){var o=t.alignSpeedDirection,a=t.upDirection;n.alignSpeedDirection=o,n.upDirection=rT.fromArray(void 0===a?[0,0,1]:a).normalize()}return n}function an(t,e,r,i,n){var o,a;if(n===function(t,e,r,i){for(var n=0,o=e,a=r-i;o<r;o+=i)n+=(t[a]-t[o])*(t[o+1]+t[a+1]),a=o;return n}(t,e,r,i)>0)for(o=e;o<r;o+=i)a=av(o,t[o],t[o+1],a);else for(o=r-i;o>=e;o-=i)a=av(o,t[o],t[o+1],a);return a&&ac(a,a.next)&&(ay(a),a=a.next),a}function ao(t,e){if(!t)return t;e||(e=t);var r,i=t;do if(r=!1,!i.steiner&&(ac(i,i.next)||0===al(i.prev,i,i.next))){if(ay(i),(i=e=i.prev)===i.next)break;r=!0}else i=i.next;while(r||i!==e);return e}function aa(t,e){return t.x-e.x}function as(t,e,r,i,n){return(t=((t=((t=((t=((t=32767*(t-r)*n)|t<<8)&16711935)|t<<4)&252645135)|t<<2)&858993459)|t<<1)&1431655765)|(e=((e=((e=((e=((e=32767*(e-i)*n)|e<<8)&16711935)|e<<4)&252645135)|e<<2)&858993459)|e<<1)&1431655765)<<1}function au(t,e,r,i,n,o,a,s){return(n-a)*(e-s)-(t-a)*(o-s)>=0&&(t-a)*(i-s)-(r-a)*(e-s)>=0&&(r-a)*(o-s)-(n-a)*(i-s)>=0}function al(t,e,r){return(e.y-t.y)*(r.x-e.x)-(e.x-t.x)*(r.y-e.y)}function ac(t,e){return t.x===e.x&&t.y===e.y}function ah(t,e,r,i){var n=am(al(t,e,r)),o=am(al(t,e,i)),a=am(al(r,i,t)),s=am(al(r,i,e));return!!(n!==o&&a!==s||0===n&&af(t,r,e)||0===o&&af(t,i,e)||0===a&&af(r,t,i)||0===s&&af(r,e,i))}function af(t,e,r){return e.x<=Math.max(t.x,r.x)&&e.x>=Math.min(t.x,r.x)&&e.y<=Math.max(t.y,r.y)&&e.y>=Math.min(t.y,r.y)}function am(t){return t>0?1:t<0?-1:0}function ad(t,e){return 0>al(t.prev,t,t.next)?al(t,e,t.next)>=0&&al(t,t.prev,e)>=0:0>al(t,e,t.prev)||0>al(t,t.next,e)}function ap(t,e){var r=new ag(t.i,t.x,t.y),i=new ag(e.i,e.x,e.y),n=t.next,o=e.prev;return t.next=e,e.prev=t,r.next=n,n.prev=r,i.next=r,r.prev=i,o.next=i,i.prev=o,i}function av(t,e,r,i){var n=new ag(t,e,r);return i?(n.next=i.next,n.prev=i,i.next.prev=n,i.next=n):(n.prev=n,n.next=n),n}function ay(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 ag(t,e,r){this.i=t,this.x=e,this.y=r,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}var ax=0;function aT(t,e,r,i){r=r||2,ax=i||0;var n,o,a,s,u,l,c,h=e&&e.length,f=h?e[0]*r:t.length,m=an(t,0,f,r,!0),d=[];if(!m||m.next===m.prev)return d;if(h&&(m=function(t,e,r,i){var n,o,a,s,u,l=[];for(n=0,o=e.length;n<o;n++)a=e[n]*i,s=n<o-1?e[n+1]*i:t.length,(u=an(t,a,s,i,!1))===u.next&&(u.steiner=!0),l.push(function(t){var e=t,r=t;do(e.x<r.x||e.x===r.x&&e.y<r.y)&&(r=e),e=e.next;while(e!==t);return r}(u));for(l.sort(aa),n=0;n<l.length;n++)(function(t,e){if(e=function(t,e){var r,i,n,o=e,a=t.x,s=t.y,u=-1/0;do{if(s<=o.y&&s>=o.next.y&&o.next.y!==o.y){var l=o.x+(s-o.y)*(o.next.x-o.x)/(o.next.y-o.y);if(l<=a&&l>u){if(u=l,l===a){if(s===o.y)return o;if(s===o.next.y)return o.next}n=o.x<o.next.x?o:o.next}}o=o.next}while(o!==e);if(!n)return null;if(a===u)return n;var c,h=n,f=n.x,m=n.y,d=1/0;o=n;do a>=o.x&&o.x>=f&&a!==o.x&&au(s<m?a:u,s,f,m,s<m?u:a,s,o.x,o.y)&&(c=Math.abs(s-o.y)/(a-o.x),ad(o,t)&&(c<d||c===d&&(o.x>n.x||o.x===n.x&&(r=n,i=o,0>al(r.prev,r,i.prev)&&0>al(i.next,r,r.next))))&&(n=o,d=c)),o=o.next;while(o!==h);return n}(t,e)){var r=ap(e,t);ao(e,e.next),ao(r,r.next)}})(l[n],r),r=ao(r,r.next);return r}(t,e,m,r)),t.length>80*r){n=a=t[0],o=s=t[1];for(var p=r;p<f;p+=r)u=t[p],l=t[p+1],u<n&&(n=u),l<o&&(o=l),u>a&&(a=u),l>s&&(s=l);c=0!==(c=Math.max(a-n,s-o))?1/c:0}return function t(e,r,i,n,o,a,s){if(e){!s&&a&&function(t,e,r,i){var n=t;do null===n.z&&(n.z=as(n.x,n.y,e,r,i)),n.prevZ=n.prev,n.nextZ=n.next,n=n.next;while(n!==t);n.prevZ.nextZ=null,n.prevZ=null,function(t){var e,r,i,n,o,a,s,u,l=1;do{for(r=t,t=null,o=null,a=0;r;){for(a++,i=r,s=0,e=0;e<l&&(s++,i=i.nextZ);e++);for(u=l;s>0||u>0&&i;)0!==s&&(0===u||!i||r.z<=i.z)?(n=r,r=r.nextZ,s--):(n=i,i=i.nextZ,u--),o?o.nextZ=n:t=n,n.prevZ=o,o=n;r=i}o.nextZ=null,l*=2}while(a>1)}(n)}(e,n,o,a);for(var u,l,c=e;e.prev!==e.next;){if(u=e.prev,l=e.next,a?function(t,e,r,i){var n=t.prev,o=t.next;if(al(n,t,o)>=0)return!1;for(var a=n.x<t.x?n.x<o.x?n.x:o.x:t.x<o.x?t.x:o.x,s=n.y<t.y?n.y<o.y?n.y:o.y:t.y<o.y?t.y:o.y,u=n.x>t.x?n.x>o.x?n.x:o.x:t.x>o.x?t.x:o.x,l=n.y>t.y?n.y>o.y?n.y:o.y:t.y>o.y?t.y:o.y,c=as(a,s,e,r,i),h=as(u,l,e,r,i),f=t.prevZ,m=t.nextZ;f&&f.z>=c&&m&&m.z<=h;){if(f!==t.prev&&f!==t.next&&au(n.x,n.y,t.x,t.y,o.x,o.y,f.x,f.y)&&al(f.prev,f,f.next)>=0||(f=f.prevZ,m!==t.prev&&m!==t.next&&au(n.x,n.y,t.x,t.y,o.x,o.y,m.x,m.y)&&al(m.prev,m,m.next)>=0))return!1;m=m.nextZ}for(;f&&f.z>=c;){if(f!==t.prev&&f!==t.next&&au(n.x,n.y,t.x,t.y,o.x,o.y,f.x,f.y)&&al(f.prev,f,f.next)>=0)return!1;f=f.prevZ}for(;m&&m.z<=h;){if(m!==t.prev&&m!==t.next&&au(n.x,n.y,t.x,t.y,o.x,o.y,m.x,m.y)&&al(m.prev,m,m.next)>=0)return!1;m=m.nextZ}return!0}(e,n,o,a):function(t){var e=t.prev,r=t.next;if(al(e,t,r)>=0)return!1;for(var i=t.next.next;i!==t.prev;){if(au(e.x,e.y,t.x,t.y,r.x,r.y,i.x,i.y)&&al(i.prev,i,i.next)>=0)return!1;i=i.next}return!0}(e)){r.push(u.i/i+ax),r.push(e.i/i+ax),r.push(l.i/i+ax),ay(e),e=l.next,c=l.next;continue}if((e=l)===c){s?1===s?t(e=function(t,e,r){var i=t;do{var n=i.prev,o=i.next.next;!ac(n,o)&&ah(n,i,i.next,o)&&ad(n,o)&&ad(o,n)&&(e.push(n.i/r+ax),e.push(i.i/r+ax),e.push(o.i/r+ax),ay(i),ay(i.next),i=t=o),i=i.next}while(i!==t);return ao(i)}(ao(e),r,i),r,i,n,o,a,2):2===s&&function(e,r,i,n,o,a){var s=e;do{for(var u,l,c=s.next.next;c!==s.prev;){if(s.i!==c.i&&(u=s,l=c,u.next.i!==l.i&&u.prev.i!==l.i&&!function(t,e){var r=t;do{if(r.i!==t.i&&r.next.i!==t.i&&r.i!==e.i&&r.next.i!==e.i&&ah(r,r.next,t,e))return!0;r=r.next}while(r!==t);return!1}(u,l)&&(ad(u,l)&&ad(l,u)&&function(t,e){var r=t,i=!1,n=(t.x+e.x)/2,o=(t.y+e.y)/2;do r.y>o!=r.next.y>o&&r.next.y!==r.y&&n<(r.next.x-r.x)*(o-r.y)/(r.next.y-r.y)+r.x&&(i=!i),r=r.next;while(r!==t);return i}(u,l)&&(al(u.prev,u,l.prev)||al(u,l.prev,l))||ac(u,l)&&al(u.prev,u,u.next)>0&&al(l.prev,l,l.next)>0))){var h=ap(s,c);s=ao(s,s.next),h=ao(h,h.next),t(s,r,i,n,o,a),t(h,r,i,n,o,a);return}c=c.next}s=s.next}while(s!==e)}(e,r,i,n,o,a):t(ao(e),r,i,n,o,a,1);break}}}}(m,d,r,n,o,c),d}function aE(t,e){for(var r,i,n=t.s,o=t.p,a=n[1],s=o[1],u=0,l=0;l<a.length;l++)u+=a[l].length-1;var c,h=new Float32Array(6*u),f=e.indexBase,m=e.uvTransform,d=0,p=0,v=0,y=1,g=1;m&&(p=m[0],v=m[1],y=(c=m[4])?m[3]:m[2],g=c?m[2]:m[3]);for(var x=[0,0],T=0===c?0:-Math.PI/2,E=0;E<a.length;E++)for(var _=a[E],C=s[E],S=s[E+1]||s[0],R=[0,0],A=0;A<_.length-1;A++)(function(t,e,r,i,n,o,a,s){var u=1-e,l=u*u*u,c=3*e*u*u,h=3*e*e*u,f=e*e*e;t[0]=l*r[0]+c*n+h*a+f*i[0],t[1]=l*r[1]+c*o+h*s+f*i[1]})(R,_[A],C,S,C[4],C[5],S[2],S[3]),r=R[0],i=R[1],h[d++]=r/2,h[d++]=i/2,m?(x[0]=r,x[1]=i,aC(x,x,T),h[d++]=p+(x[0]+1)/2*y,h[d++]=v+(x[1]+1)/2*g):(h[d++]=(r+1)/2,h[d++]=(i+1)/2),d+=2;var b=aT(Array.from(h),null,6,void 0===f?0:f);return{aPoint:h,index:new Uint16Array(b)}}function a_(t,e){for(var r,i=[],n=(r=[],t.gs?t.gs.forEach(function(t){r.push({p:[tK.SHAPE_POINTS,t.p],s:[tK.SHAPE_SPLITS,t.s]})}):t.g?r.push({p:[tK.SHAPE_POINTS,t.g.p],s:[tK.SHAPE_SPLITS,t.g.s]}):r.push(t),r),o=0,a=0,s=0,u=0;u<n.length;u++){var l=aE(n[u],{indexBase:o,uvTransform:e});o+=l.aPoint.length/5,i.push(l),a+=l.aPoint.length,s+=l.index.length}if(1===i.length)return i[0];for(var c=new Float32Array(a),h=new Uint16Array(s),f=0,m=0,d=0;f<i[f];f++){var p=i[f];c.set(p.aPoint,m),m+=p.aPoint.length,h.set(p.index,d),d+=p.index.length}return{aPoint:c,index:h}}function aC(t,e,r){var i=Math.cos(r),n=Math.sin(r),o=e[0],a=e[1];return t[0]=i*o+n*a,t[1]=-n*o+i*a,t}var aS=function(){function t(t){var e=t.time,r=t.interval,i=t.count,n=t.cycles,o=t.probability;this.time=+e||0,this.interval=+r||1,this.count=e1(i,nD)?i:nq(i),this.cycles=+n||1/0,this.probability=isNaN(o)?1:+o,this.reset()}var e=t.prototype;return e.getGeneratorOptions=function(t,e){if(t-this.time-this.now>this.interval*this.index&&this.internalCycles>0)return this.internalCycles--,this.index++,Math.random()<=this.probability?{index:this.index,total:1/this.interval,count:this.count.getValue(e),cycleIndex:this.cycles-this.internalCycles-1}:null},e.reset=function(){this.internalCycles=this.cycles,this.index=0,this.now=0},e.clone=function(){return new t(this)},t}(),aR=function(t){this.content=t},aA=function(){function t(t){this.sort=t,this.length=0}var e=t.prototype;return e.findNodeByContent=function(t){var e=this.first;if(e)do if(t(e.content))return e;while(e=e.next)},e.insertNode=function(t,e){var r=t.next;t.next=e,e.pre=t,e.next=r,r&&(r.pre=e)},e.shiftNode=function(t){var e=new aR(t);if(this.length++,1===this.length)return this.first=this.last=e;for(var r=this.first;r;){if(!(0>=this.sort(r.content,e.content)))return r.pre?this.insertNode(r.pre,e):(this.first=e,e.next=r,r.pre=e),e;if(!r.next)return this.insertNode(r,e),this.last=e;r=r.next}},e.pushNode=function(t){var e=new aR(t);if(this.length++,1===this.length)return this.last=this.first=e;for(var r=this.last;r;){if(!(0>=this.sort(e.content,r.content)))return this.insertNode(r,e),r===this.last&&(this.last=e),e;if(this.first===r)return r.pre=e,e.next=r,this.first=e;r=r.pre}},e.removeNode=function(t){var e=this.first;if(this.length--,e===t){var r=this.first=e.next;r&&(r.pre=null)}else if((e=this.last)===t){var i=this.last=e.pre;i&&(i.next=null)}else if(t){var n=t.pre,o=t.next;n.next=o,o&&(o.pre=n)}t.pre=null,t.next=null},e.forEach=function(t,e){var r=this.first,i=0;if(r)do t.call(e||this,r.content,i++);while(r=r.next)},e.forEachReverse=function(t,e){var r=this.last,i=this.length-1;if(r)do t.call(e||this,r.content,i--);while(r=r.pre)},t}(),ab=function(t){function e(e,r,i){(n=t.call(this,e)||this).name="ParticleSystemRenderer",n.particleMesh=new oU(e,r),void 0!==i&&(n.trailMesh=new oj(e,i));var n,o=[n.particleMesh.mesh];return n.materials.push(n.particleMesh.mesh.material),n.trailMesh&&(o.push(n.trailMesh.mesh),n.materials.push(n.trailMesh.mesh.material)),n.meshes=o,n}rH(e,t);var r=e.prototype;return r.start=function(){this._priority=this.item.listIndex,this.particleMesh.gravityModifier.scaleXCoord(this.item.duration);for(var t,e=rW(this.meshes);!(t=e()).done;)t.value.start()},r.update=function(t){var e=this.particleMesh.time;this.particleMesh.mesh.material.setVector4("uParams",new rS(e,this.item.duration,0,0))},r.render=function(t){for(var e,r=rW(this.meshes);!(e=r()).done;)e.value.render(t)},r.reset=function(){var t;this.particleMesh.clearPoints(),null==(t=this.trailMesh)||t.clearAllTrails()},r.updateTime=function(t,e){this.particleMesh.time=t,this.trailMesh&&(this.trailMesh.time=t,this.trailMesh.onUpdate(e))},r.minusTimeForLoop=function(t){var e;this.particleMesh.minusTime(t),null==(e=this.trailMesh)||e.minusTime(t)},r.updateWorldMatrix=function(t){this.particleMesh.mesh.worldMatrix=t,this.trailMesh&&(this.trailMesh.mesh.worldMatrix=t)},r.setVisible=function(t){var e;this.particleMesh.mesh.setVisible(t),null==(e=this.trailMesh)||e.mesh.setVisible(t)},r.getTextures=function(){var t=[],e=this.particleMesh.mesh.material.textures;if(Object.keys(e).forEach(function(r){t.push(e[r])}),this.trailMesh){var r=this.trailMesh.mesh.material.textures;Object.keys(r).forEach(function(e){t.push(r[e])})}return t},r.setParticlePoint=function(t,e){this.particleMesh.setPoint(t,e)},r.removeParticlePoint=function(t){this.particleMesh.removePoint(t)},r.getParticlePointColor=function(t){return this.particleMesh.getPointColor(t)},r.hasTrail=function(){return void 0!==this.trailMesh},r.clearTrail=function(t){var e;null==(e=this.trailMesh)||e.clearTrail(t)},r.addTrailPoint=function(t,e,r){var i;null==(i=this.trailMesh)||i.addPoint(t,e,r)},r.setTrailStartPosition=function(t,e){var r;null==(r=this.trailMesh)||r.setPointStartPos(t,e)},r.getTrailStartPosition=function(t){return this.trailMesh.getPointStartPos(t)},e}(iZ);t.ParticleSystem=function(e){function r(r,i){var n;return(n=e.call(this,r)||this).destoryed=!1,n.getHitTestParams=function(e){var r=n.interaction;if(e||r)return{type:t.HitTestType.custom,collect:function(t){return n.raycast({radius:(null==r?void 0:r.radius)||.4,multiple:!!(null==r?void 0:r.multiple),removeParticle:(null==r?void 0:r.behavior)===t1.removeParticle,ray:t})}}},i&&n.fromData(i),n}rH(r,e);var i=r.prototype;return i.initEmitterTransform=function(){var t,e=this.item.transform.position.clone(),r=this.item.transform.rotation.clone(),i=this.props.emitterTransform&&this.props.emitterTransform.path;i&&(i[0]===tK.CONSTANT_VEC3?e.add(i[1]):t=nq(i)),this.basicTransform={position:e,rotation:r,path:t};var n=this.transform.parentTransform,o=e.clone();if(t&&o.add(t.getValue(0)),this.transform.setPosition(o.x,o.y,o.z),this.options.particleFollowParent&&n){var a=n.getWorldMatrix();this.renderer.updateWorldMatrix(a)}},i.updateEmitterTransform=function(t){var e=this.transform.parentTransform,r=this.basicTransform,i=r.path,n=r.position.clone();if(i){var o=this.item.duration;n.add(i.getValue(t/o))}if(this.transform.setPosition(n.x,n.y,n.z),this.options.particleFollowParent&&e){var a=e.getWorldMatrix();this.renderer.updateWorldMatrix(a)}},i.addParticle=function(t,e){var r,i=this.particleLink,n=[t.delay+t.lifetime,0,t.delay,t];if(i.length<e)r=n[1]=i.length;else{var o=i.first;i.removeNode(o),r=n[1]=o.content[1]}i.pushNode(n),this.renderer.setParticlePoint(r,t),this.clearPointTrail(r),this.transform.parentTransform&&this.renderer.setTrailStartPosition(r,this.transform.parentTransform.position.clone())},i.setVisible=function(t){this.renderer.setVisible(t)},i.setOpacity=function(t){var e,r=this.renderer.particleMesh.mesh.material,i=this.renderer.particleMesh.mesh.geometry,n=(null==(e=r.getVector4("uOpacityOverLifetimeValue"))?void 0:e.toArray())||[1,1,1,1];r.setVector4("uOpacityOverLifetimeValue",new rS(n[0],n[1],n[2],t));for(var o=i.getAttributeData("aColor")||[],a=0;a<o.length;a+=32)o[8*a+7]=t},i.setColor=function(t,e,r,i){var n,o=this.renderer.particleMesh.mesh.material,a=this.renderer.particleMesh.mesh.geometry,s=(null==(n=o.getVector4("uOpacityOverLifetimeValue"))?void 0:n.toArray())||[1,1,1,1];o.setVector4("uOpacityOverLifetimeValue",new rS(s[0],s[1],s[2],i));for(var u=a.getAttributeData("aColor")||[],l=0;l<u.length;l+=32)u[8*l+4]=t,u[8*l+5]=e,u[8*l+6]=r,u[8*l+7]=i},i.setParentTransform=function(t){},i.getTextures=function(){return this.renderer.getTextures()},i.start=function(){(!this.started||this.ended)&&(this.reset(),this.started=!0,this.ended=!1)},i.stop=function(){this.ended=!0,this.started=!1},i.reset=function(){this.renderer.reset(),this.lastUpdate=0,this.loopStartTime=0,this.lastEmitTime=-1/this.emission.rateOverTime.getValue(0),this.generatedCount=0,this.particleLink=new aA(function(t,e){return t[0]-e[0]}),this.emission.bursts.forEach(function(t){return t.reset()}),this.frozen=!1},i.onUpdate=function(t){var e=this;if(this.started&&!this.frozen){var r=this.lastUpdate+t/1e3,i=this.options,n=this.loopStartTime,o=this.emission;this.lastUpdate=r,this.upDirectionWorld=null,this.renderer.updateTime(r,t);var a=this.particleLink,s=(r-n)/this.item.duration,u=this.timePassed,l=!1,c=function(){e.trails&&!l&&(l=!0,a.forEach(function(t){var r=t[0],i=t[1],n=t[2],o=t[3];r<u?e.clearPointTrail(i):u>n&&e.updatePointTrail(i,s,o,n)}))};if(this.ended){if(this.item.endBehavior!==t$.loop&&0===this.item.endBehavior){var h=a.last;h&&h.content[0]<this.lastUpdate&&(this.destoryed=!0)}}else{var f=this.item.duration,m=this.lifetime;if(u<f){var d=1/o.rateOverTime.getValue(m),p=Math.floor((u-this.lastEmitTime)/d),v=d/p,y=i.maxCount;this.updateEmitterTransform(u);for(var g=function(){var t=a.first;return e.emissionStopped||a.length===y&&t&&t.content[0]-n>u},x=0;x<p&&x<y&&!g();x++){var T=this.createPoint(m);T.delay+=r+x*v,this.addParticle(T,y),this.lastEmitTime=u}for(var E=o.bursts,_=(null==E?void 0:E.length)-1,C=0;_>=0&&C<y&&!g();_--){var S=E[_],R=!S.disabled&&S.getGeneratorOptions(u,m);if(R){var A=[0,0,0],b=o.burstOffsets[_],O=b&&b[R.cycleIndex]||A;S.once&&this.removeBurst(_);for(var w=0;w<R.count&&C<y&&!g();w++){var L,I=this.initPoint(this.shape.generate({total:R.total,index:R.index,burstIndex:w,burstCount:R.count}));I.delay+=r,C++,(L=I.transform).translate.apply(L,[].concat(O)),this.addParticle(I,y)}}}}else this.item.endBehavior===t$.loop?(c(),this.loopStartTime=r-f,this.lastEmitTime-=f,this.lastUpdate-=f,o.bursts.forEach(function(t){return t.reset()}),this.particleLink.forEach(function(t){t[0]-=f,t[2]-=f,t[3].delay-=f}),this.renderer.minusTimeForLoop(f),this.onIterate(this)):(this.ended=!0,this.onEnd(this),4===this.item.endBehavior&&(this.frozen=!0))}c()}},i.onDestroy=function(){this.item&&this.item.composition&&(this.item.composition.destroyTextures(this.getTextures()),this.meshes.forEach(function(e){return e.dispose({material:{textures:t.DestroyOptions.keep}})}))},i.getParticleBoxes=function(){var t=this.particleLink,e=this.renderer,r=[],i=this.particleCount,n=0;if(!(t&&e))return r;for(var o=t.last,a=!1;!a;){var s=o.content[0],u=o.content[3];if(s>this.timePassed){var l=this.getPointPosition(u);r.push({center:l,size:u.transform.scale}),o.pre?o=o.pre:a=!0}++n>i&&(a=!0)}return r},i.raycast=function(t){var e=this.particleLink,r=this.renderer;if(e&&r){var i=e.last,n=[],o=new rT,a=!1;if(i&&i.content)do{var s=i.content,u=s[0],l=s[1];s[2];var c=s[3];if(u>this.timePassed){var h=this.getPointPosition(c),f=t.ray,m=!1;f&&(m=!!f.intersectSphere({center:h,radius:t.radius},o)),m&&(t.removeParticle&&(r.removeParticlePoint(l),this.clearPointTrail(l),e.removeNode(i),i.content=[0]),n.push(h),t.multiple||(a=!0))}else break}while((i=i.pre)&&!a);return n}},i.clearPointTrail=function(t){this.trails&&this.trails.dieWithParticles&&this.renderer.clearTrail(t)},i.updatePointTrail=function(t,e,r,i){var n=this.renderer;if(n.hasTrail()){var o=this.trails,a=this.getPointPosition(r),s=o.inheritParticleColor?n.getParticlePointColor(t):[1,1,1,1],u=r.transform.getWorldScale().toArray(),l=1,c=o.lifetime.getValue(e);if(o.sizeAffectsWidth&&(l*=u[0]),o.sizeAffectsLifetime&&(c*=u[0]),o.parentAffectsPosition&&this.transform.parentTransform){a.add(this.transform.parentTransform.position);var h=n.getTrailStartPosition(t);h&&a.subtract(h)}n.addTrailPoint(t,a,{color:s,lifetime:c,size:l,time:i})}},i.getPointPosition=function(t){var e=t.transform,r=t.vel,i=t.lifetime,n=t.delay,o=t.gravity,a=this.options.forceTarget,s=this.lastUpdate-n,u=new rT,l=rT.fromArray(void 0===o?[]:o);e.assignWorldTRS(u);var c=nO(new rT,this.options,l,s,i,u,r);if(a){var h=a.target||[0,0,0],f=a.curve.getValue(s/i),m=1-f;c.x=c.x*m+h[0]*f,c.y=c.y*m+h[1]*f,c.z=c.z*m+h[2]*f}return c},i.onEnd=function(t){},i.onIterate=function(t){},i.initPoint=function(t){var e,r,i,n,o=this.options,a=this.lifetime,s=this.shape,u=o.startSpeed.getValue(a),l=o.particleFollowParent?this.transform.getMatrix():this.transform.getWorldMatrix(),c=new n5({position:l.transformPoint(t.position,new rT),valid:!0}),h=t.direction;if(h=l.transformNormal(h,aO).normalize(),o.startTurbulence&&o.turbulence){for(var f=0;f<3;f++)aP.setElement(f,o.turbulence[f].getValue(a));aV.setFromVector3(aP.negate()),aN.setFromEuler(aV).transformNormal(h).normalize()}s.alignSpeedDirection?(aM.copyFrom(h),this.upDirectionWorld||(s.upDirection?this.upDirectionWorld=s.upDirection.clone():this.upDirectionWorld=rT.Z.clone(),l.transformNormal(this.upDirectionWorld)),aI.crossVectors(aM,this.upDirectionWorld).normalize(),aI.isZero()&&aI.set(1,0,0)):(aI.set(1,0,0),aM.set(0,1,0));var m=this.textureSheetAnimation;m&&m.animate&&((n=aF)[0]=m.animationDelay.getValue(a),n[1]=m.animationDuration.getValue(a),n[2]=m.cycles.getValue(a)),o.start3DRotation?aL.set(o.startRotationX.getValue(a),o.startRotationY.getValue(a),o.startRotationZ.getValue(a)):o.startRotation?aL.set(0,0,o.startRotation.getValue(a)):aL.set(0,0,0),c.setRotation(aL.x,aL.y,aL.z);var d=o.startColor.getValue(a);if(3===d.length&&(d[3]=1),o.start3DSize)aw.x=o.startSizeX.getValue(a),aw.y=o.startSizeY.getValue(a);else{var p=o.startSize.getValue(a),v=o.sizeAspect.getValue(a);aw.x=p,aw.y=0===v?0:p/v}var y=h.clone();if(y.multiply(u),!o.particleFollowParent){var g=new rT;this.transform.assignWorldTRS(void 0,void 0,g),aw.x*=g.x,aw.y*=g.y}return c.setScale(aw.x,aw.y,1),{size:aw,vel:y,color:d,delay:o.startDelay.getValue(a),lifetime:o.startLifetime.getValue(a),uv:(r=Math.floor(Math.random()*(e=this.uvs).length),i=e[r],i),gravity:o.gravity,sprite:n,dirY:aM,dirX:aI,transform:c}},i.addBurst=function(t,e){var r=!1;if(this.emission.bursts.includes(t)||(this.emission.bursts.push(t),r=!0),r&&e1(e,Array)){var i=this.emission.bursts.indexOf(t);return this.emission.burstOffsets[i]=e,i}return -1},i.removeBurst=function(t){t<this.emission.bursts.length&&(this.emission.burstOffsets[t]=null,this.emission.bursts.splice(t,1))},i.createPoint=function(t){var e={total:this.emission.rateOverTime.getValue(t),index:this.generatedCount,burstIndex:0,burstCount:0};return this.generatedCount++,this.initPoint(this.shape.generate(e))},i.stopParticleEmission=function(){this.emissionStopped=!0},i.resumeParticleEmission=function(){this.emissionStopped=!1},i.getBoundingBox=function(){var e=this.getParticleBoxes();return{type:t.HitTestType.sphere,area:e}},i.fromData=function(t){e.prototype.fromData.call(this,t),this.props=t,this.destoryed=!1;var r,i,n,o,a,s,u,l,c,h,f,m,d=t.options,p=t.positionOverLifetime,v=t.shape,y=p.gravityOverLifetime,g=nw(p.gravity),x=t.textureSheetAnimation,T=x?{animationDelay:nq(x.animationDelay||0),animationDuration:nq(x.animationDuration||1),cycles:nq(x.cycles||1),animate:x.animate,col:x.col,row:x.row,total:x.total||x.col*x.row}:void 0,E=!!(v&&v.turbulenceX||v.turbulenceY||v.turbulenceZ);E&&(n=[nq(null!=(o=v.turbulenceX)?o:0),nq(null!=(a=v.turbulenceY)?a:0),nq(null!=(s=v.turbulenceZ)?s:0)]),this.name="ParticleSystem",this.shape=ai(v),this.emission={rateOverTime:nq(t.emission.rateOverTime),burstOffsets:(r=null!=(u=t.emission.burstOffsets)?u:[],i={},Array.isArray(r)&&r.forEach(function(t){var e=e1(t,Array),r=e?t[0]:t.index,n=i[r];n||(n=i[r]=[]),e?n.push(t.slice(1,4)):n.push([+t.x,+t.y,+t.z])}),i),bursts:(t.emission.bursts||[]).map(function(t){return new aS(t)})},this.textureSheetAnimation=T;var _=t.renderer||{},C={},S=t.rotationOverLifetime;S&&(C.asRotation=!!S.asRotation,C.z=S.z?nq(S.z):nq(0),S.separateAxes&&(C.x=S.x&&nq(S.x),C.y=S.y&&nq(S.y))),p.forceTarget&&(l={target:p.target||[0,0,0],curve:nq(p.forceCurve||[tK.LINE,[[0,0],[1,1]]])});var R={x:p.linearX&&nq(p.linearX||0),y:p.linearY&&nq(p.linearY||0),z:p.linearZ&&nq(p.linearZ||0),asMovement:p.asMovement},A={x:p.orbitalX&&nq(p.orbitalX),y:p.orbitalY&&nq(p.orbitalY),z:p.orbitalZ&&nq(p.orbitalZ),center:p.orbCenter,asRotation:p.asRotation},b=t.sizeOverLifetime||{},O=t.colorOverLifetime,w=(null==b?void 0:b.separateAxes)?{separateAxes:!0,x:nq(b.x),y:nq(b.y)}:{separateAxes:!1,x:nq(("size"in b?b.size:b.x)||1)};_.anchor=_.anchor||[0,0];var L=rx.fromArray(_.anchor);this.options={particleFollowParent:!!d.particleFollowParent,startLifetime:nq(d.startLifetime),startDelay:nq(d.startDelay||0),startSpeed:nq(p.startSpeed||0),startColor:nq(d.startColor),looping:!1,maxCount:null!=(c=d.maxCount)?c:0,gravityModifier:nq(y||0),gravity:g,start3DSize:!!d.start3DSize,startTurbulence:E,turbulence:n,speedOverLifetime:p.speedOverLifetime&&nq(p.speedOverLifetime),linearVelOverLifetime:R,orbitalVelOverLifetime:A,forceTarget:l},d.startRotationZ&&(this.options.startRotation=nq(d.startRotationZ||0)),(d.startRotationX||d.startRotationY)&&(this.options.start3DRotation=!0,this.options.startRotationX=nq(d.startRotationX||0),this.options.startRotationY=nq(d.startRotationY||0),this.options.startRotationZ=nq(d.startRotationZ||0)),d.start3DSize?(this.options.startSizeX=nq(d.startSizeX),this.options.startSizeY=nq(d.startSizeY)):(this.options.startSize=nq(d.startSize),this.options.sizeAspect=nq(d.sizeAspect||1));var I={meshSlots:d.meshSlots,name:this.name,matrix:r_.IDENTITY,filter:t.filter,shaderCachePrefix:"",renderMode:_.renderMode||tW.BILLBOARD,side:_.side||tk.DOUBLE,gravity:g,blending:_.blending||tz.ALPHA,rotationOverLifetime:C,gravityModifier:this.options.gravityModifier,linearVelOverLifetime:this.options.linearVelOverLifetime,orbitalVelOverLifetime:this.options.orbitalVelOverLifetime,speedOverLifetime:this.options.speedOverLifetime,sprite:T,occlusion:!!_.occlusion,transparentOcclusion:!!_.transparentOcclusion,maxCount:d.maxCount,mask:_.mask,maskMode:null!=(h=_.maskMode)?h:tU.NONE,forceTarget:l,diffuse:_.texture,sizeOverLifetime:w,anchor:L};if(O){var M=O.color,P=O.opacity;I.colorOverLifetime={},P&&(I.colorOverLifetime.opacity=nq(O.opacity)),M&&(M[0]===tK.GRADIENT_COLOR?I.colorOverLifetime.color=O.color[1]:M[0]===tK.RGBA_COLOR?I.colorOverLifetime.color=i_.createWithData(this.engine,{data:new Uint8Array(M[1]),width:1,height:1}):e1(M,i_)&&(I.colorOverLifetime.color=M))}var V=[],F=[0,0,1,1];if(t.splits){var N=t.splits[0];F=(f=N[4])?[N[0],N[1],N[3],N[2]]:[N[0],N[1],N[2],N[3]]}if(T&&!T.animate)for(var D=f?T.row:T.col,z=f?T.col:T.row,k=T.total||D*z,U=0,B=0;B<D;B++)for(var G=0;G<z&&U<k;G++,U++)V.push([B*F[2]/D+F[0],G*F[3]/z+F[1],F[2]/D,F[3]/z]);else V.push(F);this.uvs=V,I.textureFlip=f;var X=t.trails;X&&(this.trails={lifetime:nq(X.lifetime),dieWithParticles:!1!==X.dieWithParticles,sizeAffectsWidth:!!X.sizeAffectsWidth,sizeAffectsLifetime:!!X.sizeAffectsLifetime,inheritParticleColor:!!X.inheritParticleColor,parentAffectsPosition:!!X.parentAffectsPosition},m={name:"Trail",matrix:r_.IDENTITY,minimumVertexDistance:X.minimumVertexDistance||.02,maxTrailCount:d.maxCount,pointCountPerTrail:Math.round(X.maxPointPerTrail)||32,blending:X.blending,texture:X.texture,opacityOverLifetime:nq(X.opacityOverLifetime||1),widthOverTrail:nq(X.widthOverTrail||1),shaderCachePrefix:"",lifetime:this.trails.lifetime,occlusion:!!X.occlusion,transparentOcclusion:!!X.transparentOcclusion,textureMap:X.textureMap,mask:_.mask,maskMode:_.maskMode},X.colorOverLifetime&&X.colorOverLifetime[0]===tK.GRADIENT_COLOR&&(m.colorOverLifetime=X.colorOverLifetime[1]),X.colorOverTrail&&X.colorOverTrail[0]===tK.GRADIENT_COLOR&&(m.colorOverTrail=X.colorOverTrail[1])),this.renderer=new ab(this.engine,I,m),this.meshes=this.renderer.meshes;var H=t.interaction;H&&(this.interaction={multiple:H.multiple,radius:H.radius,behavior:H.behavior}),this.item.getHitTestParams=this.getHitTestParams,this.item._content=this,this.renderer.item=this.item,this.item.components.push(this.renderer),this.item.rendererComponents.push(this.renderer),this.item.getComponent(oM).createTrack(oE).createClip(aD)},rG(r,[{key:"timePassed",get:function(){return this.lastUpdate-this.loopStartTime}},{key:"lifetime",get:function(){return this.timePassed/this.item.duration}},{key:"particleCount",get:function(){return this.particleLink.length}}]),r}(iY),t.ParticleSystem=e3([r1(t.DataType.ParticleSystem)],t.ParticleSystem);var aO=new rT,aw=new rx,aL=new rC,aI=new rT,aM=new rT,aP=new rT,aV=new rC,aF=[0,0,0],aN=new r_,aD=function(e){function r(){return e.apply(this,arguments)}rH(r,e);var i=r.prototype;return i.onPlayablePlay=function(){this.particleSystem=this.bindingItem.getComponent(t.ParticleSystem),this.particleSystem&&(this.particleSystem.name=this.bindingItem.name,this.particleSystem.start(),this.particleSystem.initEmitterTransform())},i.processFrame=function(t){var e=this.particleSystem;e&&(this.bindingItem.parent,e.setVisible(!0),e.onUpdate(t))},r}(og),az=function(t){function e(){return t.apply(this,arguments)}return rH(e,t),e}(nC);function ak(t,e){return e&&("object"===e2(e)||"function"==typeof e)?e:oC(t)}var aU=function(){function t(t){this.width=0,this.height=0;var e=t.textHeight,r=t.textWidth,i=t.textOverflow,n=void 0===i?t7.display:i,o=t.textBaseline,a=void 0===o?et.top:o,s=t.textAlign,u=void 0===s?ee.left:s,l=t.text,c=t.letterSpace,h=void 0===c?0:c,f=t.autoWidth,m=t.fontSize,d=t.lineHeight;this.autoWidth=void 0!==f&&f,this.maxTextWidth=l.length*(m+h),this.width=void 0===r?100:r,this.height=void 0===e?100:e,this.letterSpace=h,this.overFlow=n,this.textBaseline=a,this.textAlign=u,this.lineHeight=void 0===d?m:d}var e=t.prototype;return e.getOffsetY=function(t){var e=0,r=(t.fontSize+t.outlineWidth)*t.fontScale;switch(this.textBaseline){case 0:e=r;break;case 1:e=(this.height+r)/2;break;case 2:e=this.height-r/2}return e},e.getOffsetX=function(t,e){var r=0;switch(this.textAlign){case 0:r=t.outlineWidth*t.fontScale;break;case 1:r=(this.width*t.fontScale-e)/2;break;case 2:r=this.width*t.fontScale-e}return r},e.setSize=function(t,e){this.width=t,this.height=e},t}(),aB=function(t){this.isUnderline=!1,this.underlineHeight=1,this.isOutlined=!1,this.outlineWidth=0,this.hasShadow=!1,this.fontDesc="",this.fontScale=2,this.fontOffset=0;var e,r,i,n,o,a,s=t.textColor,u=t.fontSize,l=t.outline,c=t.shadow,h=t.fontWeight,f=t.fontStyle,m=t.fontFamily;this.textColor=void 0===s?[1,1,1,1]:s,this.textWeight=void 0===h?"normal":h,this.fontStyle=void 0===f?"normal":f,this.fontFamily=void 0===m?"sans-serif":m,this.fontSize=void 0===u?40:u,l&&(this.isOutlined=!0,this.outlineColor=null!=(e=l.outlineColor)?e:[1,1,1,1],this.outlineWidth=null!=(r=l.outlineWidth)?r:1,this.fontOffset+=this.outlineWidth),c&&(this.hasShadow=!0,this.shadowBlur=null!=(i=c.shadowBlur)?i:2,this.shadowColor=null!=(n=c.shadowColor)?n:[0,0,0,1],this.shadowOffsetX=null!=(o=c.shadowOffsetX)?o:0,this.shadowOffsetY=null!=(a=c.shadowOffsetY)?a:0),this.fontStyle!==ei.normal&&(this.fontOffset+=this.fontSize*Math.tan(.20943951))},aG=function(){function t(){}return t.measureFont=function(e){if(t._fonts[e])return t._fonts[e];var r={ascent:0,descent:0,fontSize:0},i=t._canvas,n=i.getContext("2d",{willReadFrequently:!0});n.font=e;var o=t.METRICS_STRING+t.BASELINE_SYMBOL,a=Math.ceil(n.measureText(o).width),s=Math.ceil(n.measureText(t.BASELINE_SYMBOL).width),u=Math.ceil(t.HEIGHT_MULTIPLIER*s);s=s*t.BASELINE_MULTIPLIER|0,i.width=a,i.height=u,n.fillStyle="#f00",n.fillRect(0,0,a,u),n.font=e,n.textBaseline="alphabetic",n.fillStyle="#000",n.fillText(o,0,s);var l=n.getImageData(0,0,a,u).data,c=l.length,h=4*a,f=0,m=0,d=!1;for(f=0;f<s;++f){for(var p=0;p<h;p+=4)if(255!==l[m+p]){d=!0;break}if(d)break;m+=h}for(r.ascent=s-f,m=c-h,d=!1,f=u;f>s;--f){for(var v=0;v<h;v+=4)if(255!==l[m+v]){d=!0;break}if(d)break;m-=h}return r.descent=f-s,r.fontSize=r.ascent+r.descent,t._fonts[e]=r,r},rG(t,null,[{key:"_canvas",get:function(){var e;return ok[oz]?(e=window._createOffscreenCanvas(10,10),t.__canvas=e):t.__canvas||((e=document.createElement("canvas")).width=e.height=10,t.__canvas=e),t.__canvas}}]),t}();aG._fonts={},aG.METRICS_STRING="|\xc9q\xc5",aG.BASELINE_SYMBOL="M",aG.BASELINE_MULTIPLIER=1.4,aG.HEIGHT_MULTIPLIER=2;var aX=["serif","sans-serif","monospace","cursive","fantasy","system-ui"];t.QTextWrapMode=void 0,($=t.QTextWrapMode||(t.QTextWrapMode={}))[$.Default=0]="Default",$[$.Clip=1]="Clip",$[$.Ellipsis=2]="Ellipsis";var aH=function(){function t(t,e){var r,i,n,o,a,s,u,l,c,h;this.left=0,this.top=0,this.fontSize=48,this.fontFamily="Arial",this.color="black",this.letterSpacing=0,this.maxLineWidth=0,this.wrap=1,this.scaleX=1,this.scaleY=1,this.angle=0,this.active=!0,this.padding=0,this.borderColor="#ffffffff",this.borderWidth=1,this.fontProperties={ascent:0,descent:0,fontSize:0},this.fontVariant="normal",this.originX="left",this.originY="top",this.ellipsis="…",this.text=t,this.left=null!=(r=e.left)?r:0,this.top=null!=(i=e.top)?i:0,this.maxLineWidth=null!=(n=e.maxWidth)?n:0,this.letterSpacing=null!=(o=e.letterSpacing)?o:0,this.originX="left",this.originY="top",this.color=null!=(a=e.color)?a:"black",this.fontFamily=null!=(s=e.fontFamily)?s:"Arial",this.fontSize=null!=(u=e.fontSize)?u:48,this.wrap=null!=(l=e.wrap)?l:1,this.fontStyle=null!=(c=e.fontStyle)?c:"normal",this.textAlign="left",this.textBaseline="alphabetic",this.fontWeight="normal",this.angle=null!=(h=e.angle)?h:0,this.name=e.name||""}var e=t.prototype;return e.update=function(){this.updateDimension()},e.render=function(){if(void 0!==this.viewer){var t=this.viewer.renderContext;void 0!==t&&(t.save(),this.setRenderTransform(t),this.renderText(t),this.active&&this.drawBorders(t),t.restore())}},e.init=function(t){this.viewer=t,this.updateDimension()},e.getLayout=function(){var t=this.viewer.scaleX,e=this.viewer.scaleY;return{x:this.left*t,y:this.top*e,width:this.width*t,height:this.height*e}},e.updateDimension=function(){var t=this.viewer.renderContext;this.configTextStyle(t),this.configTextLayout(t);var e=this.getFontDesc();this.fontProperties=aG.measureFont(e),0===this.fontProperties.fontSize&&(this.fontProperties.fontSize=this.fontSize,this.fontProperties.ascent=this.fontSize);var r=this.createCharsFromText(t,this.text),i=0;if(r.length>0){var n=r[r.length-1];i=n.left+n.width}this.chars=r,this.maxLineWidth=i,void 0===this.height&&(this.height=this.fontProperties.fontSize),void 0===this.width&&(this.width=this.maxLineWidth)},e.configTextStyle=function(t){t.font=this.getFontDesc(),t.fillStyle=this.color},e.getFontDesc=function(){for(var t="number"==typeof this.fontSize?""+this.fontSize+"px":this.fontSize,e=this.fontFamily.split(","),r=e.length-1;r>=0;r--){var i=e[r].trim();/([\"\'])[^\'\"]+\1/.test(i)||aX.includes(i)||(i='"'+i+'"'),e[r]=i}return e.push("Arial, Helvetica, sans-serif"),this.fontStyle+" "+this.fontVariant+" "+this.fontWeight+" "+t+" "+e.join(",")},e.configTextLayout=function(t){t.textBaseline=this.textBaseline,t.textAlign=this.textAlign},e.setRenderTransform=function(t){t.scale(this.scaleX,this.scaleY),t.translate(this.left,this.top)},e.renderText=function(t){this.drawCharsInTextBox(t,{min:[0,0],max:[0+this.width,0+this.height]})},e.drawCharsInTextBox=function(t,e){var r=this.chars,i=0;if(r.length>0){var n=r[r.length-1];i=n.left+n.width}var o=e.max[0]-e.min[0],a=0;"left"===this.textAlign?a=0:"center"===this.textAlign?a=.5*(o-i):"right"===this.textAlign&&(a=o-i),this.addOffsetToChars(r,a);var s=this.cloneChars(this.clipCharsWithTextBox(r,e)),u=s;2===this.wrap&&0===(u=this.replaceCharWithEllipsis(t,s,e)).length&&0!==r.length&&this.addEllipsisToChars(t,u,e),this.drawCharsFromLeft(t,u)},e.addEllipsisToChars=function(t,e,r){var i=t.measureText(this.ellipsis).width;if("left"===this.textAlign)e.push({char:this.ellipsis,left:r.min[0],top:0,width:i,heigh:null!=(n=this.height)?n:0,font:this.fontFamily,fontSize:this.fontSize,isEllipsis:!0,scale:1,index:0});else if("right"===this.textAlign)e.push({char:this.ellipsis,left:r.max[0]-i,top:0,width:i,heigh:null!=(o=this.height)?o:0,font:this.fontFamily,fontSize:this.fontSize,isEllipsis:!0,scale:1,index:0});else{var n,o,a,s=(r.max[0]+r.min[0])*.5;e.push({char:this.ellipsis,left:s-.5*i,top:0,width:i,heigh:null!=(a=this.height)?a:0,font:this.fontFamily,fontSize:this.fontSize,isEllipsis:!0,scale:1,index:0})}},e.createCharsFromText=function(t,e){var r=e.split(""),i=0,n=0;"top"===this.textBaseline?n=0:"middle"===this.textBaseline?n+=.5*this.fontProperties.ascent:"alphabetic"===this.textBaseline&&(n+=this.fontProperties.ascent);for(var o=[],a=0;a<r.length;++a){var s=r[a],u=Math.floor(t.measureText(s).width),l={left:i,top:n,width:u,heigh:this.fontSize,char:s,font:this.fontFamily,fontSize:this.fontSize,isEllipsis:!1,scale:1,index:a};o.push(l),i+=u+this.letterSpacing}return o},e.addOffsetToChars=function(t,e){return t.forEach(function(t){t.left+=e}),t},e.clipCharsWithTextBox=function(t,e){for(var r=[],i=0;i<t.length;++i){var n=t[i];n.left>=e.min[0]&&n.left+n.width<e.max[0]+.5&&r.push(n)}return r},e.cloneChars=function(t){return t.map(function(t){return ir({},t)})},e.replaceCharWithEllipsis=function(t,e,r){var i=t.measureText(this.ellipsis).width;if(e.length>0){if(0!==e[0].index){var n=ir({},e[0]);n.char=this.ellipsis,n.isEllipsis=!0,n.width=i,e=this.findEllipsisPositionAndReplaceCharsFromLeft(e,n,r)}var o=e.length-1,a=this.chars.length;if(e[o].index!==a-1){var s=ir({},e[0]);s.char=this.ellipsis,s.isEllipsis=!0,s.width=i,e=this.findEllipsisPositionAndReplaceCharsFromRight(e,s,r)}}return e},e.findEllipsisPositionAndReplaceCharsFromLeft=function(t,e,r){for(var i=0,n=0;n<t.length;++n){var o=t[n],a=o.left+o.width;if(i=n,a-e.width>=r.min[0])break}var s=t[i];e.left=s.left+s.width-e.width;for(var u=0;u<i+1;++u)t.shift();return[e].concat(t)},e.findEllipsisPositionAndReplaceCharsFromRight=function(t,e,r){for(var i=t.length-1,n=i;n>=0;--n){var o=t[n].left+e.width;if(i=n,o<=r.max[0])break}e.left=t[i].left;for(var a=t.length,s=a-1;s>=i;--s)t.pop();return t.concat([e])},e.drawCharsFromLeft=function(t,e){var r=t.textAlign||"left";t.textAlign="left";for(var i=0;i<e.length;++i){var n=e[i];t.fillText(n.char,n.left,n.top)}t.textAlign=r},e.drawBorders=function(t){this.padding;var e=this.borderWidth;t.strokeStyle=this.borderColor,t.lineWidth=e;var r=this.width,i=this.height,n=0,o=0;"center"===this.originX?n-=this.width/2:"right"===this.originX&&(n-=this.width),"center"===this.originY?o-=this.height/2:"bottom"===this.originY&&(o-=this.height),t.strokeRect(n+e/2,o+e/2,r-e,i-e)},t}(),aY=function(){function t(t,e,r,i,n,o){var a;this.textList=[],a="string"==typeof t?document.getElementById(t):t,this.scaleX=null!=i?i:1,this.scaleY=null!=n?n:1,this.flipY=null!=o&&o,this.width=e,this.height=r,a.style.width=""+e*this.scaleX+"px",a.style.height=""+r*this.scaleY+"px",this.devicePixelRatio=1,a.width=1*e*this.scaleX,a.height=1*r*this.scaleY,a.className="lower-canvas",this.renderCanvas=a,this.renderContext=this.renderCanvas.getContext("2d"),this.renderContext.scale(1*this.scaleX,1*this.scaleY)}var e=t.prototype;return e.initDimension=function(t,e,r,i){this.width=t,this.height=e,this.scaleX=null!=r?r:1,this.scaleY=null!=i?i:1,this.renderCanvas.style.width=""+t*this.scaleX+"px",this.renderCanvas.style.height=""+e*this.scaleY+"px";var n=this.devicePixelRatio;this.renderCanvas.width=n*t*this.scaleX,this.renderCanvas.height=n*e*this.scaleY,this.flipY&&(this.renderContext.translate(0,this.height),this.renderContext.scale(1,-1)),this.renderContext.scale(n*this.scaleX,n*this.scaleY)},e.clearText=function(){this.textList=[]},e.clearCanvasWithContext=function(t){t.clearRect(0,0,this.width,this.height)},e.clearCanvas=function(){this.clearCanvasWithContext(this.renderContext)},e.addObject=function(t){t.init(this),this.textList.push(t)},e.render=function(){this.clearCanvasWithContext(this.renderContext),this.renderContext.fillStyle="rgba(255, 255, 255, 0.0039)",this.renderContext.fillRect(0,0,this.width,this.height);var t=this.background;t&&void 0!==t.width&&void 0!==t.height&&this.renderContext.drawImage(t,0,0,t.width,t.height,0,0,this.width,this.height);for(var e=0;e<this.textList.length;++e){this.renderContext.save();var r=this.textList[e];r.update(),r.render(),this.renderContext.restore()}},t}();function aW(t,e){return e=e||{},new Promise(function(r,i){var n=new XMLHttpRequest;n.responseType=(null==e?void 0:e.responseType)||"json",n.addEventListener("load",function(){return r(n.response)}),n.addEventListener("error",function(){return i(Error("load "+t+" fail"))}),n.open((null==e?void 0:e.method)||"get",t),n.send(null==e?void 0:e.data)})}function aj(t,e,r,i,n){return aZ.apply(this,arguments)}function aZ(){return(aZ=e0(function(t,e,r,i,n){var o,a,s,u,l,c,h,f,m;return e4(this,function(d){switch(d.label){case 0:if(o={},a=[],i=i||{},r=r||{},e.asImage){if(u=r[s=e.content.replace(/\$/g,"")]||e.variables[s],l=function(t){var r=(null==i?void 0:i.canvas)||document.createElement("canvas"),o=r.width=e.backgroundWidth,a=r.height=e.backgroundHeight,s=r.getContext("2d");return null==s||s.clearRect(0,0,o,a),n&&(null==s||s.translate(0,a),null==s||s.scale(1,-1)),null==s||s.drawImage(t,0,0,t.width,t.height,0,0,o,a),r},u)return[2,iu(u).then(l)];return[2,(rV(t)?iu(t):Promise.resolve(t)).then(l)]}return c=i.templateScale||1,Object.keys(e.variables).forEach(function(t){var i=e.variables[t];if(r.hasOwnProperty(t)&&(i=r[t]),/^image_/.test(t)){var n=e1(i,Array),s=n?i[0]:i;a.push((function(t,e){return r(t,function(i){return e?r(e,function(){return t}):t});function r(t,e){return/^(https?:)?\/\//.test(t)?aW(t,{responseType:"blob"}).then(aQ,e):Promise.resolve(t)}})(s,n&&i[1]).then(function(e){return o[t]=e}))}else o[t]=i}),[4,Promise.all(a)];case 1:return d.sent(),[4,iu(t)];case 2:return h=d.sent(),[4,iu("data:image/svg+xml,"+encodeURIComponent(e.content.replace(/\$([\w_]+)\$/g,function(t,e){return o[e]}).replace('width="'+e.width+'px"','width="'+e.width*c+'px"').replace('height="'+e.height+'px"','height="'+e.height*c+'px"')))];case 3:return f=d.sent(),(m=(null==i?void 0:i.canvas)||document.createElement("canvas")).width=h.width*c,m.height=h.height*c,[2,new Promise(function(t,r){var i=m.getContext("2d");i.clearRect(0,0,m.width,m.height),n&&(i.translate(0,m.height),i.scale(1,-1)),i.drawImage(h,0,0,h.width,h.height,0,0,m.width,m.height),i.drawImage(f,0,0,f.width,f.height,(e.x||0)*c,(e.y||0)*c,e.width*c/e.backgroundWidth*h.width,e.height*c/e.backgroundHeight*h.height),t(m)})]}})})).apply(this,arguments)}function aq(){return(aq=e0(function(t,e,r,i,n){return e4(this,function(o){return console.warn("The combineImageTemplate1Async function is deprecated. Use combineImageTemplate1 instead."),[2,aj(t,e,r,i,n)]})})).apply(this,arguments)}function aQ(t){return new Promise(function(e,r){var i=new FileReader;i.readAsDataURL(t),i.onload=function(){e(i.result)},i.onerror=r})}var aK=["serif","sans-serif","monospace","courier"],aJ=new Map,a$=new(function(){function t(){this.elements=[]}var e=t.prototype;return e.dispose=function(){this.elements.forEach(function(t){return t.remove()}),this.elements=[]},e.getCanvas=function(){if(this.elements.length)return this.elements.shift();if(ok[oz])return window._createOffscreenCanvas(10,10);var t=document.createElement("canvas");return t.getContext("2d",{willReadFrequently:!0}),t},e.saveCanvas=function(t){t.width=t.height=1,this.elements.length<3?e7(this.elements,t):t.remove()},t}());function a0(t,e){if(null==t?void 0:null==(r=t.background)?void 0:r.name){var r,i,n,o=t.background.name;e&&e[o]?i=e[o]:(null==(n=t.background)?void 0:n.url)&&(i=t.background.url)}return i}function a1(t,e){return a2.apply(this,arguments)}function a2(){return(a2=e0(function(t,e){return e4(this,function(r){switch(r.label){case 0:if(!Array.isArray(t))return[3,5];r.label=1;case 1:return r.trys.push([1,3,,5]),[4,e(t[0])];case 2:case 4:return[2,r.sent()];case 3:return r.sent(),[4,e(t[1])];case 5:return[2,e(t)]}})})).apply(this,arguments)}function a3(t,e,r,i,n){return a4.apply(this,arguments)}function a4(){return(a4=e0(function(e,r,i,n,o){var a,s,u,l,c,h,f,m,d,p,v;return e4(this,function(y){switch(y.label){case 0:if(!r)throw Error("image not provided");if(s=a=(null==o?void 0:o.templateScale)||1,u=a,l=r,c=r.width,h=r.height,!i)return[3,5];if(c=i.width,h=i.height,(r.width!==c||r.height!==h)&&(s*=r.width/i.width,u*=r.height/i.height),!((f=a0(i,n))&&f!==r.src))return[3,4];if(!rV(f))return[3,2];return[4,iu(f)];case 1:return m=y.sent(),[3,3];case 2:m=f,y.label=3;case 3:l=m,y.label=4;case 4:if(d=i.content){var g,x,T;g=ir({},o,{scaleX:s,scaleY:u}),x=d.fonts,T=[],d.texts.forEach(function(e){var r,i=e.t,o=e.x,a=e.y,s={weight:400,family:"serif",size:48,style:ei.normal};void 0!==e.f&&(s=x[e.f]);var u=e.n;u&&n&&n.hasOwnProperty(u)&&(i=""+n[u]);var l=new aH(i,{left:o,top:a,fontSize:s.size,fontFamily:s.family,fontWeight:""+s.weight,fontStyle:"normal",name:u});if(void 0!==e.r&&(l.angle=e.r*Math.PI/180),l.active=null!=(r=null==g?void 0:g.debug)&&r,void 0!==e.w&&(l.width=e.w),void 0!==s.letterSpace&&(l.letterSpacing=s.letterSpace),e.of===t7.display?l.wrap=t.QTextWrapMode.Default:e.of===t7.clip?l.wrap=t.QTextWrapMode.Clip:e.of===t7.ellipsis&&(l.wrap=t.QTextWrapMode.Ellipsis),void 0!==e.c){var c=d.colors[e.c][1],h=1;void 0!==c[3]&&(h=c[3]/255),l.color="rgba("+c[0]+", "+c[1]+", "+c[2]+", "+h+")"}e.a===ee.left?l.textAlign="left":e.a===ee.middle?l.textAlign="center":e.a===ee.right&&(l.textAlign="right"),s.style===ei.normal?l.fontStyle="normal":s.style===ei.italic?l.fontStyle="italic":s.style===ei.oblique&&(l.fontStyle="oblique"),void 0!==s.weight&&(l.fontWeight=String(s.weight)),(null==g?void 0:g.borderColor)&&(l.borderColor=g.borderColor),(null==g?void 0:g.borderWidth)!==void 0&&(l.borderWidth=g.borderWidth),T.push(l)}),T.forEach(function(t){e.addObject(t)})}y.label=5;case 5:return e.flipY=null!=(p=null==o?void 0:o.flipY)&&p,e.initDimension(c,h,s,u),e.background=l,e.render(),(v=null==o?void 0:o.textLayouts)&&(v.length=0,e.textList.forEach(function(t){var e=t.getLayout(),r={x:e.x,y:e.y,width:e.width,height:e.height};v.push(r)})),[2]}})})).apply(this,arguments)}function a5(){return(a5=e0(function(t){var e,r,i;return e4(this,function(n){switch(n.label){case 0:if(!(t.content&&t.content.fonts))return[3,4];e=function(t){var e,i,n,o,a;return e4(this,function(s){switch(s.label){case 0:if(e=r[t].family,i=r[t].url,n=!1,aK.includes(e)?n=!0:void 0!==document.fonts&&document.fonts.forEach(function(t){t.family===e&&(n=!0)}),!(!n&&void 0!==i&&""!==i)||(o="url("+i+")",!(void 0!==document.fonts)))return[3,2];return[4,(a=new FontFace(""+e,o)).load()];case 1:s.sent(),document.fonts.add(a),s.label=2;case 2:return[2]}})},r=t.content.fonts,i=0,n.label=1;case 1:if(!(i<r.length))return[3,4];return[5,function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],i=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&i>=t.length&&(t=void 0),{value:t&&t[i++],done:!t}}};throw TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}(e(i))];case 2:n.sent(),n.label=3;case 3:return++i,[3,1];case 4:return[2]}})})).apply(this,arguments)}function a6(t,e,r,i,n){return a8.apply(this,arguments)}function a8(){return(a8=e0(function(t,e,r,i,n){var o,a,s;return e4(this,function(u){switch(u.label){case 0:if(a=function(t,e,r){var i,n=(null==r?void 0:r.templateScale)||1,o=(null==r?void 0:r.flipY)||!1;if(null==r?void 0:r.canvas){if(!(i=aJ.get(r.canvas))){var a=new aY(r.canvas,800,800,n,n,o);aJ.set(r.canvas,a),i=a}}else i=new aY(a$.getCanvas(),800,600,n,n,o);return i}(0,0,o=ir({},i,{flipY:n})),!(void 0!==e))return[3,2];return[4,function(t){return a5.apply(this,arguments)}(e)];case 1:u.sent(),u.label=2;case 2:if(a.clearText(),"string"!=typeof t)return[3,5];return[4,iu(t)];case 3:return s=u.sent(),[4,a3(a,s,e,r,o)];case 4:case 6:return u.sent(),[2,a.renderCanvas];case 5:return[4,a3(a,t,e,r,o)];case 7:return[2]}})})).apply(this,arguments)}function a9(){return(a9=e0(function(t,e,r,i,n){return e4(this,function(o){return console.warn("The combineImageTemplate2Async function is deprecated. Use combineImageTemplate2 instead."),[2,a6(t,e,r,i,n)]})})).apply(this,arguments)}function a7(t,e,r,i,n){return st.apply(this,arguments)}function st(){return(st=e0(function(t,e,r,i,n){return e4(this,function(o){return 2===e.v?[2,a6(t,e,r,{templateScale:null==i?void 0:i.templateScale,toData:!0},n)]:[2,aj(t,e,r,i,n)]})})).apply(this,arguments)}function se(){return(se=e0(function(t,e,r,i,n){return e4(this,function(o){return console.warn("The combineImageTemplateAsync function is deprecated. Use combineImageTemplate instead."),[2,a7(t,e,r,i,n)]})})).apply(this,arguments)}t.TextComponent=function(t){function e(e,r){if((i=t.call(this,e,r)||this).isDirty=!0,i.canvas=a$.getCanvas(),a$.saveCanvas(i.canvas),i.context=i.canvas.getContext("2d",{willReadFrequently:!0}),!r)return ak(i);var i,n=r.options;return i.textStyle=new aB(n),i.textLayout=new aU(n),i.text=n.text,i.updateTexture(),i}rH(e,t);var r=e.prototype;return r.setFontSize=function(t){if(this.textStyle.fontSize!==t){var e=this.textStyle.fontSize-t;this.textLayout.lineHeight+=e,this.textStyle.fontSize=t,this.isDirty=!0}},r.setFontWeight=function(t){this.textStyle.textWeight!==t&&(this.textStyle.textWeight=t,this.isDirty=!0)},r.setFontStyle=function(t){this.textStyle.fontStyle!==t&&(this.textStyle.fontStyle=t,this.isDirty=!0)},r.setText=function(t){this.text!==t&&(this.text=t,this.isDirty=!0)},r.setTextAlign=function(t){this.textLayout.textAlign!==t&&(this.textLayout.textAlign=t,this.isDirty=!0)},r.setTextBaseline=function(t){this.textLayout.textBaseline!==t&&(this.textLayout.textBaseline=t,this.isDirty=!0)},r.setTextColor=function(t){this.textStyle.textColor!==t&&(this.textStyle.textColor=t,this.isDirty=!0)},r.setFontFamily=function(t){this.textStyle.fontFamily!==t&&(this.textStyle.fontFamily=t,this.isDirty=!0)},r.setOutlineColor=function(t){this.textStyle.outlineColor!==t&&(this.textStyle.outlineColor=t,this.isDirty=!0)},r.setOutlineWidth=function(t){this.textStyle.outlineWidth!==t&&(this.textStyle.outlineWidth=t,this.isDirty=!0)},r.setShadowBlur=function(t){this.textStyle.shadowBlur!==t&&(this.textStyle.shadowBlur=t,this.isDirty=!0)},r.setShadowColor=function(t){this.textStyle.shadowColor!==t&&(this.textStyle.shadowColor=t,this.isDirty=!0)},r.setShadowOffsetX=function(t){this.textStyle.shadowOffsetX!==t&&(this.textStyle.shadowOffsetX=t,this.isDirty=!0)},r.setShadowOffsetY=function(t){this.textStyle.shadowOffsetY!==t&&(this.textStyle.shadowOffsetY=t,this.isDirty=!0)},r.setFontScale=function(t){this.textStyle.fontScale!==t&&(this.textStyle.fontScale=t,this.isDirty=!0)},r.update=function(e){t.prototype.update.call(this,e),this.updateTexture()},r.updateTexture=function(){if(this.isDirty&&this.context&&this.canvas){var t=this.context,e=this.textStyle,r=this.textLayout,i=e.fontScale,n=(r.width+e.fontOffset)*i,o=r.height*i,a=e.fontSize*i,s=r.lineHeight*i;this.char=(this.text||"").split(""),this.canvas.width=n,this.canvas.height=o,t.clearRect(0,0,n,this.canvas.height),t.fillStyle="rgba(255, 255, 255, 0.0039)",t.fillRect(0,0,n,this.canvas.height),e.fontDesc=this.getFontDesc(),t.font=e.fontDesc,e.hasShadow&&this.setupShadow(),e.isOutlined&&this.setupOutline(),t.fillStyle="rgba("+e.textColor[0]+", "+e.textColor[1]+", "+e.textColor[2]+", "+e.textColor[3]+")";for(var u=[],l=0,c=r.getOffsetY(e)+(s-a)/3,h=[],f=[],m=0;m<this.char.length;m++){var d=this.char[m],p=t.measureText(d);((l+=r.letterSpace*i)+p.width>n&&m>0||"\n"===d)&&(u.push({y:c,width:l,chars:h,charOffsetX:f}),l=0,c+=s,h=[],f=[]),"\n"!==d&&(h.push(d),f.push(l),l+=p.width)}u.push({y:c,width:l,chars:h,charOffsetX:f}),u.forEach(function(i){var n=r.getOffsetX(e,i.width);i.chars.forEach(function(r,o){e.isOutlined&&t.strokeText(r,n+i.charOffsetX[o],i.y),t.fillText(r,n+i.charOffsetX[o],i.y)})}),e.hasShadow&&(t.shadowColor="transparent");var v=t.getImageData(0,0,this.canvas.width,this.canvas.height);this.material.setTexture("uSampler0",i_.createWithData(this.engine,{data:new Uint8Array(v.data),width:v.width,height:v.height},{flipY:!0,magFilter:r3.LINEAR,minFilter:r3.LINEAR,wrapS:r3.CLAMP_TO_EDGE,wrapT:r3.CLAMP_TO_EDGE})),this.isDirty=!1}},r.fromData=function(e){t.prototype.fromData.call(this,e);var r=e.options;this.textStyle=new aB(r),this.textLayout=new aU(r),this.text=r.text,this.updateTexture()},r.getFontDesc=function(){var t=this.textStyle,e=""+(t.fontSize*t.fontScale).toString()+"px ";return aK.includes(t.fontFamily)?e+=t.fontFamily:e+='"'+t.fontFamily+'"',t.textWeight!==er.normal&&(e=t.textWeight+" "+e),t.fontStyle!==ei.normal&&(e=t.fontStyle+" "+e),e},r.setupOutline=function(){var t=this.context,e=this.textStyle;t.strokeStyle="rgba("+255*e.outlineColor[0]+", "+255*e.outlineColor[1]+", "+255*e.outlineColor[2]+", "+e.outlineColor[3]+")",t.lineWidth=2*e.outlineWidth},r.setupShadow=function(){var t=this.context,e=this.textStyle;t.shadowColor="rgba("+255*e.shadowColor[0]+", "+255*e.shadowColor[1]+", "+255*e.shadowColor[2]+", "+e.shadowColor[3]+")",t.shadowBlur=e.shadowBlur,t.shadowOffsetX=e.shadowOffsetX,t.shadowOffsetY=-e.shadowOffsetY},e}(t.SpriteComponent),t.TextComponent=e3([r1(t.DataType.TextComponent)],t.TextComponent);var sr=function(t){function e(){return t.apply(this,arguments)}return rH(e,t),e}(nC),si=1;function sn(t,e){var r=t.type,i=t.pluginName;if(!i)switch(r){case tY.null:i="cal";break;case tY.sprite:i="sprite";break;case tY.particle:i="particle";break;case tY.interact:i="interact";break;case tY.camera:i="camera";break;case tY.filter:i="filter";break;case tY.text:i="text";break;case tY.tree:i="tree";break;default:throw Error("invalid vfx item type")}return e.pluginSystem.createPluginItem(i,t,e)}t.EffectComponent=function(e){function r(t){var r;return(r=e.call(this,t)||this).worldMatrix=r_.fromIdentity(),r.triangles=[],r.destroyed=!1,r.visible=!1,r.getHitTestParams=function(t){var e=r.getBoundingBox();if(e)return{type:e.type,triangles:e.area}},r.id="Mesh"+si++,r.name="<unnamed>",r._priority=0,r}rH(r,e);var i=r.prototype;return i.setVisible=function(t){this.visible=t},i.start=function(){this.item.getHitTestParams=this.getHitTestParams},i.render=function(t){var e=this.material,r=this.geometry;t.renderingData.currentFrame.globalUniforms&&t.setGlobalMatrix("effects_ObjectToWorld",this.transform.getWorldMatrix()),r.flush(),t.drawGeometry(r,e)},i.getVisible=function(){return this.visible},i.firstGeometry=function(){return this.geometry},i.setMaterial=function(e,r){r!==t.DestroyOptions.keep&&this.material.dispose(r),this.material=e},i.getBoundingBox=function(){var e=this.transform.getWorldMatrix();this.hitTestGeometry!==this.geometry&&(this.triangles=function(t){for(var e=t.getIndexData(),r=t.getAttributeData("aPos"),i=[],n=0;n<e.length;n+=3){var o=3*e[n],a=3*e[n+1],s=3*e[n+2],u={x:r[o],y:r[o+1],z:r[o+2]},l={x:r[a],y:r[a+1],z:r[a+2]},c={x:r[s],y:r[s+1],z:r[s+2]};i.push({p0:u,p1:l,p2:c})}return i}(this.geometry),this.hitTestGeometry=this.geometry);for(var r,i=[],n=rW(this.triangles);!(r=n()).done;){var o=r.value;i.push({p0:o.p0,p1:o.p1,p2:o.p2})}return i.forEach(function(t){t.p0=e.transformPoint(t.p0,new rT),t.p1=e.transformPoint(t.p1,new rT),t.p2=e.transformPoint(t.p2,new rT)}),{type:t.HitTestType.triangle,area:i}},i.fromData=function(t){e.prototype.fromData.call(this,t),this.material=this.materials[0]},i.toData=function(){this.taggedProperties.id=this.guid},i.dispose=function(t){this.destroyed||(this.destroyed=!0,e.prototype.dispose.call(this))},rG(r,[{key:"isDestroyed",get:function(){return this.destroyed}}]),r}(iZ),e3([r0()],t.EffectComponent.prototype,"geometry",void 0),t.EffectComponent=e3([r1(t.DataType.EffectComponent)],t.EffectComponent),t.VFXItem=function(e){function r(t,r){var i;return(i=e.call(this,t)||this).children=[],i.transform=new n5,i.duration=0,i.start=0,i.ended=!1,i.delaying=!0,i.type=tY.base,i.stopped=!1,i.components=[],i.itemBehaviours=[],i.rendererComponents=[],i.visible=!0,i._contentVisible=!1,i.speed=1,i.name="VFXItem",i.transform.name=i.name,i.transform.engine=t,i.addComponent(oM),r&&i.fromData(r),i}rH(r,e);var i=r.prototype;return i.setSpeed=function(t){this.speed=t},i.getSpeed=function(){return this.speed},i.addComponent=function(t){var e=new t(this.engine);return e.item=this,this.components.push(e),e.onAttached(),e},i.getComponent=function(t){for(var e,r,i=rW(this.components);!(r=i()).done;){var n=r.value;if(e1(n,t)){e=n;break}}return e},i.getComponents=function(t){for(var e,r=[],i=rW(this.components);!(e=i()).done;){var n=e.value;e1(n,t)&&r.push(n)}return r},i.setParent=function(t){t!==this&&(this.parent&&rt(this.parent.children,this),this.parent=t,t&&(r.isCamera(this)||(this.transform.parentTransform=t.transform),t.children.push(this),this.composition||(this.composition=t.composition)))},i.stop=function(){this.stopped=!0},i.onEnd=function(){},i.setColor=function(t,e,r,i){},i.setOpacity=function(t){},i.getVisible=function(){return this.visible},i.setVisible=function(t){this.visible!==t&&(this.visible=!!t)},i.getWorldTransform=function(t){var e=null!=t?t:new n5({valid:!0});return e.cloneFromMatrix(this.transform.getWorldMatrix()),e},i.getNodeTransform=function(t){for(var e=0;e<this.components.length;e++){var r=this.components[1];if(r.getNodeTransform)return r.getNodeTransform(t)}return this.transform},i.translate=function(t,e,r){this.transform.translate(t,e,r)},i.rotate=function(t,e,r){var i=new rC(t,e,r),n=rE.fromEuler(i);n.conjugate(),this.transform.rotateByQuat(n)},i.scale=function(t,e,r){this.transform.scaleBy(t,e,r)},i.setPositionByPixel=function(t,e){if(this.composition){var r=this.transform.getWorldPosition().z,i=this.composition.camera.getInverseVPRatio(r),n=i.x,o=i.y,a=this.composition.renderer.getWidth()/2,s=this.composition.renderer.getHeight()/2;this.transform.setPosition(2*t*n/a,-2*e*o/s,r)}},i.setPosition=function(t,e,r){this.transform.setPosition(t,e,r)},i.setRotation=function(t,e,r){this.transform.setRotation(t,e,r)},i.setScale=function(t,e,r){this.transform.setScale(t,e,r)},i.getBoundingBox=function(){},i.getHitTestParams=function(t){},i.getCurrentPosition=function(){var t=new rT;return this.transform.assignWorldTRS(t),t},i.isEnded=function(t){return t-this.duration>.001},i.find=function(t){if(this.name===t)return this;for(var e,r=rW(this.children);!(e=r()).done;){var i=e.value;if(i.name===t)return i}for(var n,o=rW(this.children);!(n=o()).done;){var a=n.value.find(t);if(a)return a}},i.fromData=function(t){e.prototype.fromData.call(this,t);var r=t.id,i=t.name,n=t.delay,o=t.parentId,a=t.endBehavior,s=t.transform,u=t.listIndex,l=t.duration,c=void 0===l?0:l;if(this.props=t,this.type=t.type,this.id=r.toString(),this.name=i,this.start=n||this.start,s&&(s.position=new rT().copyFrom(s.position),s.rotation=new rC().copyFrom(null!=(h=s.eulerHint)?h:s.rotation),s.scale=new rT().copyFrom(s.scale),s.size&&(s.size=new rx().copyFrom(s.size)),s.anchor&&(s.anchor=new rx().copyFrom(s.anchor)),this.transform.setTransform(s)),this.transform.name=this.name,this.transform.engine=this.engine,this.parentId=o,this.duration=c,this.endBehavior=a,this.lifetime=-(this.start/this.duration),this.listIndex=void 0===u?0:u,this.oldId=t.oldId,t.content||(t.content={options:{}}),this.getComponent(oM).fromData(t.content),c<=0)throw Error("Item duration can't be less than 0, see "+oa["Item duration can't be less than 0"]);if(t.components)for(var h,f,m=rW(t.components);!(f=m()).done;){var d=f.value;this.components.push(d),e1(d,iZ)?this.rendererComponents.push(d):e1(d,ij)&&this.itemBehaviours.push(d)}},i.toData=function(){if(this.taggedProperties.id=this.guid,this.taggedProperties.transform=this.transform.toData(),this.taggedProperties.dataType=t.DataType.VFXItemData,(null==(e=this.parent)?void 0:e.name)!=="rootItem"&&(this.taggedProperties.parentId=null==(r=this.parent)?void 0:r.guid),!this.taggedProperties.components){this.taggedProperties.components=[];for(var e,r,i,n=rW(this.components);!(i=n()).done;){var o=i.value;e1(o,t.EffectComponent)&&this.taggedProperties.components.push(o)}}this.taggedProperties.content={}},i.translateByPixel=function(t,e){if(this.composition){var r=this.composition.renderer.canvas.getBoundingClientRect(),i=r.width,n=r.height,o=this.transform.getWorldPosition().z,a=this.composition.camera.getInverseVPRatio(o),s=a.x,u=a.y;this.transform.translate(2*t*s/i,-2*e*u/n,0)}},i.dispose=function(){if(this.resetChildrenParent(),this.composition){this.composition.destroyItem(this);for(var t,e=rW(this.components.slice());!(t=e()).done;)t.value.dispose();this.components=[],this._content=void 0,this.composition=null,this._contentVisible=!1,this.transform.setValid(!1)}},i.resetChildrenParent=function(){for(var t,e,r=rW(this.children);!(e=r()).done;){var i=e.value;this.parent&&i.setParent(this.parent)}this.parent&&rt(null==(t=this.parent)?void 0:t.children,this)},r.isComposition=function(t){return t.type===tY.composition},r.isSprite=function(t){return t.type===tY.sprite},r.isParticle=function(t){return t.type===tY.particle},r.isNull=function(t){return t.type===tY.null},r.isTree=function(t){return t.type===tY.tree},r.isCamera=function(t){return t.type===tY.camera},r.isExtraCamera=function(t){return"extra-camera"===t.id&&"extra-camera"===t.name},rG(r,[{key:"content",get:function(){return this._content}},{key:"reusable",get:function(){var t,e;return null!=(e=null==(t=this.composition)?void 0:t.reusable)&&e}},{key:"lifetimeStarted",get:function(){return!this.delaying}}]),r}(iT),t.VFXItem=e3([r1(t.DataType.VFXItemData)],t.VFXItem),t.Item=void 0,(tt=t.Item||(t.Item={})).is=function(t,e){return t.type===e},tt.isFilter=function(t){return t.type===tY.filter},tt.isComposition=function(t){return t.type===tY.composition},tt.isParticle=function(t){return t.type===tY.particle},tt.isNull=function(t){return t.type===tY.null};var so={},sa=[],ss={};function su(t,e,r,i){ss[t]=r,so[t]=e,i&&e7(sa,t)}var sl=function(){function e(t){var e={},r=[],i=function(t){var i=so[t];r.includes(i)||(r.push(i),e[t]=i)};sa.forEach(i),t.forEach(i),this.plugins=Object.keys(e).map(function(t){var e,r=so[t];if(!r)throw Error("plugin '"+t+"' not found."+((e=sc[t])?"\nInstall Plugin: npm i "+e+"@latest --save\nImport Plugin: import '"+e+"'":""));var i=new r;return i.name=t,i}).sort(function(t,e){return t.order-e.order})}var r=e.prototype;return r.initializeComposition=function(t,e){this.plugins.forEach(function(r){return r.onCompositionConstructed(t,e)})},r.destroyComposition=function(t){this.plugins.forEach(function(e){return e.onCompositionDestroyed(t)})},r.resetComposition=function(t,e){this.plugins.forEach(function(r){return r.onCompositionReset(t,e)})},r.createPluginItem=function(e,r,i){var n=ss[e];if(!n)throw Error("plugin "+e+" no registered constructor");var o=new n(i.getEngine(),r,i);if(o.composition=i,!e1(o,t.VFXItem))throw Error("plugin "+e+" invalid constructor type");return o},r.processRawJSON=function(t,e){var r=this;return e0(function(){return e4(this,function(i){return[2,r.callStatic("processRawJSON",t,e)]})})()},r.callStatic=function(t){for(var e=arguments.length,r=Array(e>1?e-1:0),i=1;i<e;i++)r[i-1]=arguments[i];var n=this;return e0(function(){var e,i,o,a,s,u;return e4(this,function(l){for(o=0,e=[],i=n.plugins;o<i.length;o++)t in(a=so[i[o].name])&&e.push(Promise.resolve(null==(u=a[t])?void 0:(s=u).call.apply(s,[].concat([a],r))));return[2,Promise.all(e)]})})()},r.precompile=function(t,e,r){var i=this;return e0(function(){return e4(this,function(n){return[2,i.callStatic("precompile",t,e,r)]})})()},r.loadResources=function(t,e){var r=this;return e0(function(){return e4(this,function(i){return[2,r.callStatic("prepareResource",t,e)]})})()},e}(),sc={"alipay-downgrade":"@galacean/effects-plugin-alipay-downgrade","editor-gizmo":"@galacean/effects-plugin-editor-gizmo",tree:"@galacean/effects-plugin-model",model:"@galacean/effects-plugin-model","orientation-transformer":"@galacean/effects-plugin-orientation-transformer",spine:"@galacean/effects-plugin-spine"},sh=function(){return(sh=Object.assign||function(t){for(var e,r=1,i=arguments.length;r<i;r++)for(var n in e=arguments[r])Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t}).apply(this,arguments)};function sf(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],i=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&i>=t.length&&(t=void 0),{value:t&&t[i++],done:!t}}};throw TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function sm(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var i,n,o=r.call(t),a=[];try{for(;(void 0===e||e-- >0)&&!(i=o.next()).done;)a.push(i.value)}catch(t){n={error:t}}finally{try{i&&!i.done&&(r=o.return)&&r.call(o)}finally{if(n)throw n.error}}return a}function sd(t,e,r){if(r||2==arguments.length)for(var i,n=0,o=e.length;n<o;n++)!i&&n in e||(i||(i=Array.prototype.slice.call(e,0,n)),i[n]=e[n]);return t.concat(i||Array.prototype.slice.call(e))}"function"==typeof SuppressedError&&SuppressedError;for(var sp={randomUUID:"undefined"!=typeof crypto&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)},sv=new Uint8Array(16),sy=[],sg=0;sg<256;++sg)sy.push((sg+256).toString(16).slice(1));function sx(t,e){if(!t.includes(e))return t.push(e),!0}function sT(t,e,r){if(t)for(var i in t)Object.hasOwnProperty.call(t,i)&&e.call(r,t[i],i);return t}function sE(t){if(Number.isFinite(t))return[eb.CONSTANT,t];if(t){if("lines"===t[0])return[eb.LINE,t[1]];if("curve"===t[0])return[eb.CURVE,t[1]];if("static"===t[0])return[eb.CONSTANT,t[1]]}}function s_(t,e){return Array.isArray(t)&&"random"===t[0]?[eb.CONSTANT,t[1][e]]:sE(t)}function sC(t){return t&&"color"===t[0]?sb(t[1],!0):[1,1,1,1]}function sS(t,e){if(t){if("colors"===t[0])return[eb.COLORS,t[1].map(function(t){return sb(t,e)})];if("gradient"===t[0])return sA(t[1],e);if("color"===t[0])return[eb.RGBA_COLOR,sb(t[1],e)]}}function sR(t){return t&&"random"===t[0]?[eb.RANDOM,t[1]]:sE(t)}function sA(t,e){if(t){var r=[];return Object.getOwnPropertyNames(t).forEach(function(i){var n,o=(n=/^(-)?([\d+.]+)%$/.exec(i))?+n[2]/100*(n[1]?-1:1):+i,a=sb(t[i],e);r.push([o,a[0],a[1],a[2],a[3]])}),r=r.sort(function(t,e){return t[0]-e[0]}),[eb.GRADIENT_COLOR,r]}}function sb(t,e){var r;if("string"==typeof t){t=t.replace(/[\s\t\r\n]/g,"");var i=/rgba?\(([.\d]+),([.\d]+),([.\d]+),?([.\d]+)?\)/.exec(t);if(i){var n=+i[4];r=[+i[1],+i[2],+i[3],isNaN(n)?255:Math.round(255*n)]}else/^#[a-f\d]{3}$/i.test(t)?r=[parseInt(t[1]+t[1],16),parseInt(t[2]+t[2],16),parseInt(t[3]+t[3],16),255]:(i=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t))&&(r=[parseInt(i[1],16),parseInt(i[2],16),parseInt(i[3],16),255])}else e1(t,Array)&&(r=[t[0],t[1],t[2],isNaN(t[3])?255:Math.round(255*t[3])]);return e&&(r=function(t){if(Array.isArray(t))return t.map(function(t){return Number.isFinite(t/255)?Number((t/255).toFixed(6)):0})}(r)),r}function sO(t,e){return Array.isArray(t)?("gradient"===t[0]||"color"===t[0])&&sA(t[1],e):sA(t,e)}function sw(t){if(t){if(3===t.length)return[eb.CONSTANT_VEC3,t];if("path"===t[0])return[eb.LINEAR_PATH,t[1]];if("bezier"===t[0])return[eb.BEZIER_PATH,t[1]]}}function sL(t){var e,r;try{for(var i=sf(Object.keys(t)),n=i.next();!n.done;n=i.next()){var o=n.value;t[o]=Number(t[o])}}catch(t){e={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(e)throw e.error}}return t}function sI(t){var e,r;try{for(var i=sf(Object.keys(t)),n=i.next();!n.done;n=i.next()){var o=n.value;void 0===t[o]&&delete t[o]}}catch(t){e={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(e)throw e.error}}return t}(te=em||(em={})).S="S",te.APlus="A+",te.A="A",te.BPlus="B+",te.B="B",(tr=ed||(ed={}))[tr.ALPHA=0]="ALPHA",tr[tr.ADD=1]="ADD",tr[tr.MULTIPLY=2]="MULTIPLY",tr[tr.BRIGHTNESS=3]="BRIGHTNESS",tr[tr.SUBTRACTION=4]="SUBTRACTION",tr[tr.STRONG_LIGHT=5]="STRONG_LIGHT",tr[tr.WEAK_LIGHT=6]="WEAK_LIGHT",tr[tr.SUPERPOSITION=7]="SUPERPOSITION",(ti=ep||(ep={}))[ti.DOUBLE=1032]="DOUBLE",ti[ti.FRONT=1028]="FRONT",ti[ti.BACK=1029]="BACK",(tn=ev||(ev={}))[tn.NONE=0]="NONE",tn[tn.MASK=1]="MASK",tn[tn.OBSCURED=2]="OBSCURED",tn[tn.REVERSE_OBSCURED=3]="REVERSE_OBSCURED",(to=ey||(ey={}))[to.NONE=0]="NONE",to[to.SPHERE=1]="SPHERE",to[to.CONE=2]="CONE",to[to.HEMISPHERE=3]="HEMISPHERE",to[to.CIRCLE=4]="CIRCLE",to[to.DONUT=5]="DONUT",to[to.RECTANGLE=6]="RECTANGLE",to[to.RECTANGLE_EDGE=7]="RECTANGLE_EDGE",to[to.EDGE=8]="EDGE",to[to.TEXTURE=9]="TEXTURE",(ta=eg||(eg={}))[ta.GYROSCOPE=0]="GYROSCOPE",ta[ta.SPINE=1]="SPINE",(ts=ex||(ex={}))[ts.CLICK=0]="CLICK",ts[ts.MESSAGE=1]="MESSAGE",ts[ts.DRAG=2]="DRAG",(tu=eT||(eT={}))[tu.NONE=0]="NONE",tu[tu.NOTIFY=1]="NOTIFY",tu[tu.RESUME_PLAYER=2]="RESUME_PLAYER",tu[tu.REMOVE=3]="REMOVE",tu[tu.PAUSE=4]="PAUSE",(tl=eE||(eE={})).base="0",tl.sprite="1",tl.particle="2",tl.null="3",tl.interact="4",tl.plugin="5",tl.camera="6",tl.composition="7",tl.filter="8",tl.spine="spine",tl.mesh="mesh",tl.tree="tree",tl.text="text",tl.light="light",tl.skybox="skybox",tl.effect="effect",(tc=e_||(e_={}))[tc.BILLBOARD=0]="BILLBOARD",tc[tc.MESH=1]="MESH",tc[tc.VERTICAL_BILLBOARD=2]="VERTICAL_BILLBOARD",tc[tc.HORIZONTAL_BILLBOARD=3]="HORIZONTAL_BILLBOARD",(th=eC||(eC={}))[th.PARTICLE_ORIGIN_CENTER=0]="PARTICLE_ORIGIN_CENTER",th[th.PARTICLE_ORIGIN_LEFT_TOP=1]="PARTICLE_ORIGIN_LEFT_TOP",th[th.PARTICLE_ORIGIN_LEFT_CENTER=2]="PARTICLE_ORIGIN_LEFT_CENTER",th[th.PARTICLE_ORIGIN_LEFT_BOTTOM=3]="PARTICLE_ORIGIN_LEFT_BOTTOM",th[th.PARTICLE_ORIGIN_CENTER_TOP=4]="PARTICLE_ORIGIN_CENTER_TOP",th[th.PARTICLE_ORIGIN_CENTER_BOTTOM=5]="PARTICLE_ORIGIN_CENTER_BOTTOM",th[th.PARTICLE_ORIGIN_RIGHT_TOP=6]="PARTICLE_ORIGIN_RIGHT_TOP",th[th.PARTICLE_ORIGIN_RIGHT_CENTER=7]="PARTICLE_ORIGIN_RIGHT_CENTER",th[th.PARTICLE_ORIGIN_RIGHT_BOTTOM=8]="PARTICLE_ORIGIN_RIGHT_BOTTOM",(tf=eS||(eS={}))[tf.portrait=1]="portrait",tf[tf.landscape=0]="landscape",(tm=eR||(eR={}))[tm.destroy=0]="destroy",tm[tm.pause=1]="pause",tm[tm.restart=5]="restart",tm[tm.forward=2]="forward",tm[tm.pause_destroy=3]="pause_destroy",tm[tm.freeze=4]="freeze",(td=eA||(eA={})).video="video",td.image="image",(tp=eb||(eb={}))[tp.CONSTANT=0]="CONSTANT",tp[tp.CONSTANT_VEC2=1]="CONSTANT_VEC2",tp[tp.CONSTANT_VEC3=2]="CONSTANT_VEC3",tp[tp.CONSTANT_VEC4=3]="CONSTANT_VEC4",tp[tp.RANDOM=4]="RANDOM",tp[tp.LINE=5]="LINE",tp[tp.CURVE=6]="CURVE",tp[tp.BEZIER_PATH=7]="BEZIER_PATH",tp[tp.RGBA_COLOR=8]="RGBA_COLOR",tp[tp.GRADIENT_COLOR=9]="GRADIENT_COLOR",tp[tp.SHAPE_POINTS=10]="SHAPE_POINTS",tp[tp.SHAPE_SPLITS=11]="SHAPE_SPLITS",tp[tp.LINEAR_PATH=12]="LINEAR_PATH",tp[tp.COLORS=13]="COLORS",tp[tp.BINARY=20]="BINARY",tp[tp.BEZIER_CURVE=21]="BEZIER_CURVE",tp[tp.BEZIER_CURVE_PATH=22]="BEZIER_CURVE_PATH",(tv=eO||(eO={}))[tv.AUTO=0]="AUTO",tv[tv.EASE=1]="EASE",tv[tv.EASE_IN=2]="EASE_IN",tv[tv.EASE_OUT=3]="EASE_OUT",tv[tv.LINE=4]="LINE",tv[tv.HOLD=5]="HOLD",tv[tv.LINE_OUT=6]="LINE_OUT",(ty=ew||(ew={}))[ty.destroy=0]="destroy",ty[ty.loop=5]="loop",ty[ty.freeze=4]="freeze",(tg=eL||(eL={}))[tg.destroyChildren=6]="destroyChildren",(tx=eI||(eI={}))[tx.none=0]="none",tx[tx.removeParticle=1]="removeParticle",(tT=eM||(eM={}))[tT.RANDOM=0]="RANDOM",tT[tT.UNIDIRECTIONAL_CYCLE=1]="UNIDIRECTIONAL_CYCLE",tT[tT.BIDIRECTIONAL_CYCLE=2]="BIDIRECTIONAL_CYCLE",tT[tT.UNIFORM_BURST=3]="UNIFORM_BURST",(tE=eP||(eP={})).point="point",tE.spot="spot",tE.directional="directional",tE.ambient="ambient",(t_=eV||(eV={}))[t_.box=2]="box",t_[t_.sphere=3]="sphere",(tC=eF||(eF={})).orthographic="orthographic",tC.perspective="perspective",(tS=eN||(eN={})).unlit="unlit",tS.pbr="pbr",tS.hair="hair",(tR=eD||(eD={}))[tR.opaque=100]="opaque",tR[tR.masked=101]="masked",tR[tR.translucent=102]="translucent",tR[tR.additive=103]="additive",(tA=ez||(ez={})).none="none",tA.uv="uv",tA.normal="normal",tA.basecolor="basecolor",tA.alpha="alpha",tA.metallic="metallic",tA.roughness="roughness",tA.ao="ao",tA.emissive="emissive",(tb=ek||(ek={}))[tb.display=0]="display",tb[tb.clip=1]="clip",tb[tb.ellipsis=2]="ellipsis",(tO=eU||(eU={}))[tO.top=0]="top",tO[tO.middle=1]="middle",tO[tO.bottom=2]="bottom",(tw=eB||(eB={}))[tw.left=0]="left",tw[tw.middle=1]="middle",tw[tw.right=2]="right",(tL=eG||(eG={})).normal="normal",tL.bold="bold",tL.lighter="lighter",(tI=eX||(eX={})).normal="normal",tI.italic="italic",tI.oblique="oblique",(tM=eH||(eH={})).VFXItemData="VFXItemData",tM.EffectComponent="EffectComponent",tM.Material="Material",tM.Shader="Shader",tM.SpriteComponent="SpriteComponent",tM.ParticleSystem="ParticleSystem",tM.InteractComponent="InteractComponent",tM.CameraController="CameraController",tM.Geometry="Geometry",tM.Texture="Texture",tM.TextComponent="TextComponent",tM.MeshComponent="MeshComponent",tM.SkyboxComponent="SkyboxComponent",tM.LightComponent="LightComponent",tM.CameraComponent="CameraComponent",tM.ModelPluginComponent="ModelPluginComponent",tM.TreeComponent="TreeComponent",(tP=eY||(eY={}))[tP.POINTS=0]="POINTS",tP[tP.LINES=1]="LINES",tP[tP.LINE_LOOP=2]="LINE_LOOP",tP[tP.LINE_STRIP=3]="LINE_STRIP",tP[tP.TRIANGLES=4]="TRIANGLES",tP[tP.TRIANGLE_STRIP=5]="TRIANGLE_STRIP",tP[tP.TRIANGLE_FAN=6]="TRIANGLE_FAN";var sM=Math.cos,sP=Math.sin,sV=Math.PI/180,sF=180/Math.PI;function sN(){return(function(t,e,r){if(sp.randomUUID&&!t)return sp.randomUUID();var i,n=(t=t||{}).random||(t.rng||function(){if(!ef&&!(ef="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)))throw Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return ef(sv)})();return n[6]=15&n[6]|64,n[8]=63&n[8]|128,void 0===i&&(i=0),sy[n[i+0]]+sy[n[i+1]]+sy[n[i+2]]+sy[n[i+3]]+"-"+sy[n[i+4]]+sy[n[i+5]]+"-"+sy[n[i+6]]+sy[n[i+7]]+"-"+sy[n[i+8]]+sy[n[i+9]]+"-"+sy[n[i+10]]+sy[n[i+11]]+sy[n[i+12]]+sy[n[i+13]]+sy[n[i+14]]+sy[n[i+15]]})().replace(/-/g,"")}function sD(t,e){return t?[t[0]-.5,.5-t[1]]:e?sz[e]:[0,0]}var sz=((eW={})[eC.PARTICLE_ORIGIN_CENTER]=[0,0],eW[eC.PARTICLE_ORIGIN_CENTER_BOTTOM]=[0,-.5],eW[eC.PARTICLE_ORIGIN_CENTER_TOP]=[0,.5],eW[eC.PARTICLE_ORIGIN_LEFT_TOP]=[-.5,.5],eW[eC.PARTICLE_ORIGIN_LEFT_CENTER]=[-.5,0],eW[eC.PARTICLE_ORIGIN_LEFT_BOTTOM]=[-.5,-.5],eW[eC.PARTICLE_ORIGIN_RIGHT_CENTER]=[.5,0],eW[eC.PARTICLE_ORIGIN_RIGHT_BOTTOM]=[.5,-.5],eW[eC.PARTICLE_ORIGIN_RIGHT_TOP]=[.5,.5],eW);function sk(t,e){var r,i=t.options,n=t.velocityOverLifetime||{},o={path:sw(null===(r=t.transform)||void 0===r?void 0:r.path),gravity:i.gravity,gravityOverLifetime:sE(i.gravityModifier),direction:i.direction,startSpeed:i.startSpeed,asMovement:n.asMovement,linearX:sE(n.linearX),linearY:sE(n.linearY),linearZ:sE(n.linearZ),asRotation:n.asRotation,orbCenter:n.orbCenter,orbitalX:sE(n.orbitalX),orbitalY:sE(n.orbitalY),orbitalZ:sE(n.orbitalZ),speedOverLifetime:sE(n.speedOverLifetime)};sI(o);var a={options:{startColor:sC(i.startColor)},positionOverLifetime:o};i.startSize&&(e.scale=[i.startSize,i.startSize/(i.sizeAspect||1),1]),i.startRotation&&(e.rotation?e.rotation[2]+=i.startRotation:e.rotation=[0,0,i.startRotation]);var s=t.rotationOverLifetime;if(s){var u=a.rotationOverLifetime={separateAxes:s.separateAxes,asRotation:s.asRotation};u.separateAxes?(u.x=sE(s.x),u.y=sE(s.y),u.z=sE(s.z)):u.z=sE(s.angularVelocity)}var l=t.colorOverLifetime;if(l){var c=a.colorOverLifetime={opacity:sE(l.opacity)};l.color&&(c.color=sO(l.color))}var h=t.sizeOverLifetime;return h&&(a.sizeOverLifetime={separateAxes:h.separateAxes,size:sE(h.size),x:sE(h.x),y:sE(h.y),z:sE(h.z)}),a}function sU(t,e){var r=sk(t,e),i=t.textureSheetAnimation;return i&&(r.textureSheetAnimation={row:i.row,col:i.col,total:i.total||void 0,animate:i.animate}),r.renderer=t.renderer,t.splits&&(r.splits=t.splits),t.interaction&&(r.interaction=t.interaction),r}var sB=["strength","bloomAddon","colorAddon","period","waveMovement","colorThreshold","xOpacity","yOpacity","feather"],sG=["path","position"];function sX(t){return t.compositions.forEach(function(t){t.items.forEach(function(t){t.type===eE.null&&t.endBehavior===ew.destroy&&(t.endBehavior=ew.freeze)})}),t.version="2.1",t}function sH(t){var e,r,i,n,o,a,s,u,l,c,h=sh(sh({},t),{items:[],components:[],materials:[],shaders:[],geometries:[]});if(null!==(i=h.textures)&&void 0!==i||(h.textures=[]),h.textures.forEach(function(t){t.id=sN(),t.dataType=eH.Texture}),h.textures.length<h.images.length)for(var f=h.textures.length;f<h.images.length;f++)h.textures.push({id:sN(),dataType:eH.Texture,source:f,flipY:!0});var m=function(t){(3===t.endBehavior||1===t.endBehavior)&&(t.endBehavior=4);var e,r,i,f,m={};try{for(var d=(e=void 0,sf(t.items)),p=d.next();!p.done;p=d.next()){var v=p.value;m[v.id]=sN(),v.oldId=v.id,v.id=m[v.id]}}catch(t){e={error:t}}finally{try{p&&!p.done&&(r=d.return)&&r.call(d)}finally{if(e)throw e.error}}t.items.forEach(function(e,r){if(e.parentId){if(e.parentId.includes("^")){var i=e.parentId.split("^")[0],n=e.parentId.split("^")[1];e.parentId=m[i]+"^"+n}else e.parentId=m[e.parentId]}h.items.push(e),t.items[r]={id:e.id}});try{for(var y=(i=void 0,sf(h.items)),g=y.next();!g.done;g=y.next()){var v=g.value;if(v.content){if(v.content.renderer&&void 0!==v.content.renderer.texture){var x=v.content.renderer.texture;v.content.renderer.texture={id:h.textures[x].id}}if(v.content.trails&&void 0!==v.content.trails.texture){var x=v.content.trails.texture;v.content.trails.texture={id:h.textures[x].id}}}if(v.transform){var T=sd([],sm(null!==(n=v.transform.position)&&void 0!==n?n:[0,0,0]),!1),E=sd([],sm(null!==(o=v.transform.rotation)&&void 0!==o?o:[0,0,0]),!1),_=sd([],sm(null!==(a=v.transform.scale)&&void 0!==a?a:[1,1,1]),!1);if(Object.assign(v,{transform:{position:{x:T[0],y:T[1],z:T[2]},eulerHint:{x:E[0],y:E[1],z:E[2]},scale:{x:_[0],y:_[1],z:_[0]}}}),v.type===eE.sprite&&(v.transform.size={x:_[0],y:_[1]},v.transform.scale={x:1,y:1,z:1}),v.type===eE.sprite){var C=v.content;C.renderer||(C.renderer={});var S=C.renderer,R=sD(S.anchor,S.particleOrigin),A=v.transform.size;S.anchor||void 0===S.particleOrigin||(v.transform.position.x+=-R[0]*(null!==(s=null==A?void 0:A.x)&&void 0!==s?s:1),v.transform.position.y+=-R[1]*(null!==(u=null==A?void 0:A.y)&&void 0!==u?u:1)),v.transform.anchor={x:R[0]*(null!==(l=null==A?void 0:A.x)&&void 0!==l?l:1),y:R[1]*(null!==(c=null==A?void 0:A.y)&&void 0!==c?c:1)}}}if(v.type===eE.particle){var C=v.content;C.renderer||(C.renderer={});var S=C.renderer;C.renderer.anchor=sD(S.anchor,S.particleOrigin)}v.content.tracks=[];var b=v.content.tracks;v.type!==eE.particle&&b.push({clips:[{dataType:"TransformAnimationPlayableAsset",animationClip:{sizeOverLifetime:v.content.sizeOverLifetime,rotationOverLifetime:v.content.rotationOverLifetime,positionOverLifetime:v.content.positionOverLifetime}}]}),v.type===eE.sprite&&b.push({clips:[{dataType:"SpriteColorAnimationPlayableAsset",animationClip:{colorOverLifetime:v.content.colorOverLifetime,startColor:v.content.options.startColor}}]}),v.content.options.target&&(v.content.options.target=m[v.content.options.target]);var O=sN();switch((v.type===eE.sprite||v.type===eE.particle||v.type===eE.mesh||v.type===eE.skybox||v.type===eE.light||"camera"===v.type||v.type===eE.tree||v.type===eE.interact||v.type===eE.camera||v.type===eE.text)&&(v.components=[],h.components.push(v.content),v.content.id=O,v.content.item={id:v.id},v.dataType=eH.VFXItemData,v.components.push({id:v.content.id})),v.type){case eE.sprite:v.content.dataType=eH.SpriteComponent;break;case eE.particle:v.content.dataType=eH.ParticleSystem;break;case eE.mesh:v.content.dataType=eH.MeshComponent;break;case eE.skybox:v.content.dataType=eH.SkyboxComponent;break;case eE.light:v.content.dataType=eH.LightComponent;break;case"camera":v.content.dataType=eH.CameraComponent;break;case eE.tree:v.content.dataType=eH.TreeComponent;break;case eE.interact:v.content.dataType=eH.InteractComponent;break;case eE.camera:v.content.dataType=eH.CameraController;break;case eE.text:v.content.dataType=eH.TextComponent}}}catch(t){i={error:t}}finally{try{g&&!g.done&&(f=y.return)&&f.call(y)}finally{if(i)throw i.error}}};try{for(var d=sf(t.compositions),p=d.next();!p.done;p=d.next()){var v=p.value;m(v)}}catch(t){e={error:t}}finally{try{p&&!p.done&&(r=d.return)&&r.call(d)}finally{if(e)throw e.error}}return h.version="3.0",h}var sY=/^(\d+)\.(\d+)\.(\d+)(-(\w+)\.\d+)?$/,sW=/^(\d+)\.(\d+)$/,sj=!1;function sZ(t){if(!t||"object"!=typeof t)throw Error("expect a json object");if(!(l=null===(u=t.version)||void 0===u?void 0:u.split("."))||Number(l[0])>2||2===Number(l[0])&&Number(l[1])>=2||t.compositions.forEach(function(t){t.items.forEach(function(t){(t.type===eE.mesh||t.type===eE.light)&&(t.endBehavior=1===t.endBehavior?ew.destroy:t.endBehavior)})}),sY.test(t.version)){var e,r,i,n,o,a,s;return sj=(null===(c=/^(\d+)/.exec(t.version))||void 0===c?void 0:c[0])==="0",sH(sX((sq="1.0",i=t.plugins||[],(null===(e=t.bins)||void 0===e?void 0:e.length)&&(sq="1.3"),n=(t.requires||[]).slice(),o=t.images.map(function(e,r){return sQ(e,r,t.imageTags||[])}),a=t.textures||o.map(function(t,e){return{source:e,flipY:!0}}),s={plugins:i,shapes:t.shapes||[],type:"ge",version:sq,playerVersion:null!==(r=t.playerVersion)&&void 0!==r?r:{web:"",native:""},compositionId:t.compositionId+"",compositions:t.compositions.map(function(t){return sK(t,{plugins:i,requires:n})}),images:o,imgUsage:t._imgs,binUsage:t.binUsage,spines:t.spines,requires:t.requires,textures:a,bins:(t.bins||[]).slice()},t._textures&&(s._textures=t._textures),s)))}var u,l,c,h,f=null===(h=sW.exec(t.version))||void 0===h?void 0:h[1];if(f)return 3>Number(f)?sH(sX(t)):t;throw Error("invalid json version "+t.version)}var sq="1.0";function sQ(t,e,r){var i=r[e],n=t.oriY;if("string"==typeof t)return{renderLevel:i,url:t,oriY:n};if(t.template)return{url:t.url,template:t.template,webp:t.webp,renderLevel:i,oriY:n};if(t.compressed)return{url:t.url,oriY:n,compressed:{astc:t.compressed.android,pvrtc:t.compressed.iOS},webp:t.webp,renderLevel:i};if(t.url)return{url:t.url,webp:t.webp,renderLevel:i,oriY:n};if(t&&t.sourceType)return t;throw Error("invalid image type")}function sK(t,e){void 0===e&&(e={});var r,i={id:t.id+"",camera:sh({clipMode:0},t.camera),duration:t.duration,endBehavior:t.endBehavior,items:t.items.map(function(t){return s$(t,e)}),name:t.name},n=t.startTime||t.st;n&&(i.startTime=n);var o=null===(r=t.meta)||void 0===r?void 0:r.previewSize;return o&&o[0]===o[1]&&0===o[0]&&(o=void 0),o&&(i.previewSize=o),i}var sJ=[0,0,0,1];function s$(t,e){void 0===e&&(e={});var r,i,n,o,a,s,u,l,c,h,f,m=eE.base,d=t.endBehavior,p=NaN;if(t.content?(m=t.type||eE.plugin,f=t.pn,h=t.pluginName,l=t.content,u=t.content,isNaN(f)&&!h&&(h=l.options.type),t.duration&&(p=t.duration),s=t.transform||x(u.transform),m===eE.filter&&(sq<"1.1"&&(sq="1.1"),(l=sU(u,s)).filter=(r=u.filter,i={},sT(r,function(t,e){sB.includes(e)?i[e]=sE(t):sG.includes(e)?i[e]=sw(t):i[e]=t}),i))):t.particle?(m=eE.particle,s=x((u=t.particle).transform,sj,!0),l=function(t){var e,r=t.options,i=t.transform,n={type:ey.NONE};if(t.shape){var o=null===(e=t.shape.shape)||void 0===e?void 0:e.replace(/([A-Z])/g,"_$1").toUpperCase().replace(/^_/,"");if(n=sh(sh({},t.shape),{type:ey[o]}),t.shape.upDirection){var a=sm(t.shape.upDirection,3),s=a[0],u=a[1],l=a[2];0===s&&0===u&&0===l&&delete n.upDirection}}r.startTurbulence&&(n.turbulenceX=sR(r.turbulenceX),n.turbulenceY=sR(r.turbulenceY),n.turbulenceZ=sR(r.turbulenceZ));var c=t.emission;c.bursts&&c.bursts.length>0&&(c.bursts=c.bursts.map(function(t){return sL(t)})),c.burstOffsets&&c.burstOffsets.length>0&&(c.burstOffsets=c.burstOffsets.map(function(t){return sL(t)})),c.rateOverTime&&(c.rateOverTime=sR(c.rateOverTime));var h={renderer:t.renderer,shape:n,splits:t.splits,emission:c,options:{startLifetime:sR(r.startLifetime),start3DSize:!!r.start3DSize,startSize:sR(r.startSize),startSizeX:sR(r.startSizeX),startSizeY:sR(r.startSizeY),sizeAspect:sR(r.sizeAspect),maxCount:r.maxCount,startDelay:sR(r.startDelay),startColor:sS(r.startColor,!0),startRotationZ:sR(r.startRotation||r.startRotationZ),particleFollowParent:r.particleFollowParent}};if(r.start3DRotation&&(h.options.startRotationX=sR(r.startRotationX),h.options.startRotationY=sR(r.startRotationY)),t.filter){var f={};sT(t.filter,function(t,e){f[e]=Array.isArray(t)&&"string"==typeof t[0]&&(sR(t)||sw(t)||sS(t))||t}),h.filter=f}i&&i.path&&(h.emitterTransform={path:sw(i.path)});var m=t.sizeOverLifetime;m&&(m.separateAxes?h.sizeOverLifetime={separateAxes:!0,x:sR(m.x),y:sR(m.y)}:h.sizeOverLifetime={size:sR(m.size)});var d=t.velocityOverLifetime||{},p=d.speedOverLifetime;p=p?sE(p):void 0,h.positionOverLifetime={gravity:r.gravity,gravityOverLifetime:sE(r.gravityModifier),startSpeed:sR(r.startSpeed),speedOverLifetime:p,asMovement:d.asMovement,linearX:sR(d.linearX),linearY:sR(d.linearY),linearZ:sR(d.linearZ),asRotation:d.asRotation,orbCenter:d.orbCenter,orbitalX:sR(d.orbitalX),orbitalY:sR(d.orbitalY),orbitalZ:sR(d.orbitalZ),forceTarget:d.forceTarget,target:d.target,forceCurve:sE(d.forceCurve)},sI(h.positionOverLifetime);var v=t.rotationOverLifetime;v&&(h.rotationOverLifetime={separateAxes:v.separateAxes,asRotation:v.asRotation,z:sR(v.separateAxes?v.z:v.angularVelocity)},v.separateAxes&&(h.rotationOverLifetime.y=sE(v.y),h.rotationOverLifetime.x=sE(v.x)));var y=t.colorOverLifetime;if(y){var g=h.colorOverLifetime={opacity:sE(y.opacity)};y.color&&(g.color=sO(y.color))}var x=t.textureSheetAnimation;x&&(h.textureSheetAnimation={row:x.row,col:x.col,total:x.total,animate:x.animate,cycles:sE(x.cycles),animationDelay:s_(x.animationDelay,0),animationDuration:s_(x.animationDuration,0)});var T=t.trails;T&&(h.trails={lifetime:sR(T.lifetime),dieWithParticles:T.dieWithParticles,maxPointPerTrail:T.maxPointPerTrail,minimumVertexDistance:T.minimumVertexDistance,widthOverTrail:sE(T.widthOverTrail),colorOverTrail:T.colorOverTrail&&sO(T.colorOverTrail,!1),blending:T.blending,colorOverLifetime:T.colorOverLifetime&&sO(T.colorOverLifetime,!1),inheritParticleColor:T.inheritParticleColor,occlusion:T.occlusion,transparentOcclusion:T.transparentOcclusion,orderOffset:T.orderOffset,sizeAffectsLifetime:T.sizeAffectsLifetime,sizeAffectsWidth:T.sizeAffectsWidth,texture:T.texture,parentAffectsPosition:T.parentAffectsPosition,opacityOverLifetime:sR(T.opacityOverLifetime)}),h.trails&&sI(h.trails);var E=t.interaction;return E&&(h.interaction={behavior:E.behavior,radius:E.radius,multiple:E.multiple}),h}(u)):t.sprite?(m=eE.sprite,s=x((u=t.sprite).transform,!1,!0),l=sU(u,s)):t.cal?(m=eE.null,s=x((u=t.cal).transform,!1,!0),l=sk(u,s)):t.ui?(m=eE.interact,s=x((u=t.ui).transform),l=function(t){var e,r=t.options;switch(r.type){case"click":e={type:ex.CLICK,showPreview:r.showPreview,previewColor:r.previewColor&&sC(r.previewColor),behavior:r.behavior||eT.NOTIFY};break;case"drag":e={type:ex.DRAG,enableInEditor:!!r.enableInEditor,dxRange:r.dxRange,dyRange:r.dyRange,target:r.target};break;case"message":e={type:ex.MESSAGE}}return{options:e}}(u),s.scale=[u.options.width||1,u.options.height||1,1]):t.model&&(u=t.model,1===t.model.options.type&&(m=eE.camera,s=x(u.transform),l=function(t){var e,r,i=t.options,n={options:{fov:i.fov,far:i.far,near:i.near,clipMode:i.clipMode}},o=t.velocityOverLifetime;if(o||(null===(e=t.transform)||void 0===e?void 0:e.path)){var a={path:sw(null===(r=t.transform)||void 0===r?void 0:r.path),linearX:sE(null==o?void 0:o.translateX),linearY:sE(null==o?void 0:o.translateY),linearZ:sE(null==o?void 0:o.translateZ)};sI(a),n.positionOverLifetime=a}var s=t.rotationOverLifetime;if(s){var u={separateAxes:s.separateAxes,x:sE(null==s?void 0:s.rotateX),y:sE(null==s?void 0:s.rotateY),z:s.separateAxes?sE(null==s?void 0:s.rotateZ):sE(s.rotation)};sI(u),n.rotationOverLifetime=u}return n}(u))),null===(n=l.renderer)||void 0===n?void 0:n.anchor){var v=new Float32Array(l.renderer.anchor);.5==v[0]&&.5==v[1]?delete l.renderer.anchor:e.requires&&sx(e.requires,"anchor")}if(u){var y=null===(o=u.options)||void 0===o?void 0:o.looping;d=y?Array.isArray(y)?y[1]?ew.loop:ew.destroy:ew.loop:d||(null===(a=null==u?void 0:u.options)||void 0===a?void 0:a.endBehavior)||ew.destroy,u.options.renderLevel&&(c=u.options.renderLevel),isNaN(p)&&(p=u.options.duration)}var g={type:m,name:t.name,delay:t.delay,duration:p,id:t.id+"",transform:s,endBehavior:d,renderLevel:c,content:l};return h?e.plugins?(sx(e.plugins,h),g.pn=e.plugins.indexOf(h)):g.pluginName=h:Number.isInteger(f)&&(g.pn=f),t.parentId&&(g.parentId=t.parentId+""),g;function x(t,e,r){if(t){var i={},n=t.rotation;if(n&&(e?i.rotation=[-n[0],-n[1],-n[2]]:i.rotation=[n[0],n[1],n[2]],r)){var o,a,s,u,l,c,h,f,m,d,p,v,y,g,x,T,E,_,C,S,R,A,b,O,w=(o=i.rotation[0],a=i.rotation[1],s=i.rotation[2],u=sM(o*sV/2),l=sM(a*sV/2),c=sM(s*sV/2),h=sP(o*sV/2),f=sP(a*sV/2),m=sP(s*sV/2),sJ[0]=h*l*c+u*f*m,sJ[1]=u*f*c-h*l*m,sJ[2]=u*l*m+h*f*c,sJ[3]=u*l*c-h*f*m,sJ);i.rotation=(d=[],p=w[0],v=w[1],y=w[2],g=w[3],x=p+p,T=v+v,E=y+y,_=p*x,C=v*x,S=v*T,R=y*E,A=g*E,b=y*x-g*T,d[1]=Math.asin((O=-b)>1?1:O<-1?-1:O)*sF,.9999999>Math.abs(b)?(d[0]=Math.atan2(y*T+g*x,1-_-S)*sF,d[2]=Math.atan2(C+A,1-S-R)*sF):(d[0]=0,d[2]=Math.atan2(-(C-A),1-_-R)*sF),d)}return t.position&&(i.position=t.position),Array.isArray(t.scale)&&(i.scale=[t.scale[0]||1,t.scale[1]||1,t.scale[2]||1]),i}return{}}}var s0=((ej={})[tD.S]=[tD.S,tD.BPlus,tD.APlus],ej[tD.A]=[tD.A,tD.BPlus,tD.APlus],ej[tD.B]=[tD.B,tD.BPlus],ej);function s1(t,e){if(!t||!e)return!0;var r=s0[e];return!!r&&r.includes(t)}function s2(t){return rD(t)&&"jsonScene"in t}var s3=1,s4=function(){function e(t,e){void 0===t&&(t={}),void 0===e&&(e=new ii),this.options=t,this.downloader=e,this.assets={},this.id=s3++,this.timers=[],this.updateOptions(t)}var r=e.prototype;return r.updateOptions=function(t){void 0===t&&(t={}),this.options=t,t.pluginData||(t.pluginData={});var e=t.timeout;this.timeout=void 0===e?10:e},r.updateSceneData=function(t){var e=this.options.variables;return!e||Object.keys(e).length<=0||t.forEach(function(t){t.items.forEach(function(t){if(t.type===tY.text){var r=e[t.name];r&&(t.content.options.text=r)}})}),t},r.loadScene=function(t,e,r){var i=this;return e0(function(){var n,o,a,s,u,l,c,h,f,m,d,p,v,y;return e4(this,function(g){return a=rV(t)?t:i.id,s=performance.now(),u=[],h=null!=(c=null==(l=null==e?void 0:e.engine.gpuCapability)?void 0:null==(n=l.detail)?void 0:n.asyncShaderCompile)&&c,m=null!=(f=null==l?void 0:l.detail.compressedTexture)?f:0,p=!1,v=new Promise(function(t,e){d=window.setTimeout(function(){p=!0,i.removeTimer(d),e("Load time out: totalTime: "+(performance.now()-s).toFixed(4)+"ms "+u.join(" ")+", url: "+a)},1e3*i.timeout),i.timers.push(d)}),y=e0(function(t,e){var r,i;return e4(this,function(n){switch(n.label){case 0:if(p)return[3,4];r=performance.now(),n.label=1;case 1:return n.trys.push([1,3,,4]),[4,e()];case 2:return i=n.sent(),u.push("["+t+": "+(performance.now()-r).toFixed(2)+"]"),[2,i];case 3:throw Error("load error in "+t+", "+n.sent());case 4:throw Error("load canceled.")}})}),[2,Promise.race([v,e0(function(){var n,l,c,f,p,v,g,x,T,E,_,C,S,R,A,b,O,w,L;return e4(this,function(I){switch(I.label){case 0:if(!rD(t))return[3,1];return o=t,i.baseUrl=location.href,[3,3];case 1:return t=new URL(t,location.href).href,i.baseUrl=t,[4,y("loadJSON",function(){return i.loadJSON(t)})];case 2:o=I.sent(),I.label=3;case 3:if(!s2(o))return[3,6];if(n=ir({},o),!(i.options&&i.options.variables&&0!==Object.keys(i.options.variables).length))return[3,5];for(f=0,l=o.jsonScene.images,c=n.images;f<l.length;f++)e1(c[f],HTMLCanvasElement)&&(c[f]=l[f]);return[4,y("processImages",function(){return i.processImages(c,n.usedImages,m)})];case 4:for(p=0,n.images=I.sent();p<n.images.length;p++)n.textureOptions[p].image=n.images[p];n.jsonScene.compositions=i.updateSceneData(n.jsonScene.compositions),I.label=5;case 5:return[3,12];case 6:return[4,y("processJSON",function(){return i.processJSON(o)})];case 7:return g=(v=I.sent()).usedImages,x=v.jsonScene,T=v.pluginSystem,_=void 0===(E=x.bins)?[]:E,C=x.images,S=x.compositions,R=x.fonts,[4,Promise.all([y("processBins",function(){return i.processBins(_)}),y("processImages",function(){return i.processImages(C,g,m)}),y((h?"async":"sync")+" compile",function(){return i.precompile(S,T,e,r)})])];case 8:return b=(A=I.sent())[0],O=A[1],[4,y("processFontURL",function(){return i.processFontURL(R)})];case 9:return I.sent(),[4,y("processTextures",function(){return i.processTextures(O,b,x)})];case 10:return w=I.sent(),x.compositions=i.updateSceneData(x.compositions),n={url:t,renderLevel:i.options.renderLevel,storage:{},pluginSystem:T,jsonScene:x,usedImages:g,images:O,textureOptions:w,bins:b},[4,y("processPlugins",function(){return T.loadResources(n,i.options)})];case 11:I.sent(),I.label=12;case 12:return L=performance.now()-s,rM.info("Load asset: totalTime: "+L.toFixed(4)+"ms "+u.join(" ")+", url: "+a),window.clearTimeout(d),i.removeTimer(d),n.totalTime=L,n.startTime=s,[2,n]}})})()])]})})()},r.precompile=function(t,e,r,i){return e0(function(){var n;return e4(this,function(o){switch(o.label){case 0:if(!r||!r.getShaderLibrary())return[2];return n=null==r?void 0:r.getShaderLibrary(),[4,null==e?void 0:e.precompile(t,r,i)];case 1:return o.sent(),[4,new Promise(function(t){n.compileAllShaders(function(){t(null)})})];case 2:return o.sent(),[2]}})})()},r.processJSON=function(t){var e=this;return e0(function(){var r,i,n,o,a,s,u,l,c;return e4(this,function(h){switch(h.label){case 0:return r=sZ(t),t.compositions.forEach(function(t,e){t.globalVolume&&(r.compositions[e].globalVolume=t.globalVolume)}),n=void 0===(i=r.plugins)?[]:i,o=r.compositions,a=r.imgUsage,s=r.images,[4,(u=new sl(n)).processRawJSON(r,e.options)];case 1:return h.sent(),l=e.options.renderLevel,c={},a?function(t,e,r,i,n){for(var o=0;o<e.length;o++){var a=r[e[o].id];if(a)for(var s=0;s<a.length;s++){var u=a[s];s1(i[u].renderLevel,n)&&(t[u]=!0)}}}(c,o,a,s,l):null==s||s.forEach(function(t,e){c[e]=!0}),[2,{usedImages:c,jsonScene:r,pluginSystem:u}]}})})()},r.processBins=function(t){var e=this;return e0(function(){var r,i;return e4(this,function(n){return r=e.options.renderLevel,i=e.baseUrl,[2,Promise.all(t.map(function(n){if(e1(n,ArrayBuffer))return n;if(s1(n.renderLevel,r))return e.loadBins(new URL(n.url,i).href);throw Error("Invalid bins source: "+JSON.stringify(t))}))]})})()},r.processFontURL=function(t){var r=this;return e0(function(){return e4(this,function(i){return t?[2,Promise.all(t.map(e0(function(t){var i,n,o;return e4(this,function(a){switch(a.label){case 0:if(!(t.fontURL&&!e.fonts.has(t.fontFamily)))return[3,4];i=new URL(t.fontURL,r.baseUrl).href,o=new FontFace(null!=(n=t.fontFamily)?n:"","url("+i+")"),a.label=1;case 1:return a.trys.push([1,3,,4]),[4,o.load()];case 2:return a.sent(),document.fonts.add(o),e.fonts.add(t.fontFamily),[3,4];case 3:return a.sent(),rM.warn("Invalid fonts source: "+JSON.stringify(i)),[3,4];case 4:return[2]}})})))]:[2]})})()},r.processImages=function(e,r,i){var n=this;return e0(function(){var o,a,s,u;return e4(this,function(l){return a=(o=n.options).useCompressedTexture,s=o.variables,u=n.baseUrl,[2,Promise.all(e.map(e0(function(e,o){var l,c,h,f,m,d,p,v,y,g,x,T,E,_,C,S,R;return e4(this,function(A){switch(A.label){case 0:if(!r[o])return[2,void 0];if(l=e.url,c=e.webp,h=new URL(l,u).href,f=c&&new URL(c,u).href,!("template"in e))return[3,13];if(p=(d="v"in(m=e.template)&&2===m.v&&m.background)?m.background:void 0,!(d&&p))return[3,8];v=a0(m,s),y=p.type===tQ.video,g=p&&y?id:iu,A.label=1;case 1:return A.trys.push([1,6,,7]),[4,a1(v,g)];case 2:if(!e1(x=A.sent(),HTMLVideoElement))return[3,3];return[2,x];case 3:return p&&!Array.isArray(v)&&s&&(s[p.name]=v),[4,a7(x,m,s,n.options,-1===e.oriY)];case 4:case 10:return[2,A.sent()];case 5:return[3,7];case 6:throw A.sent(),Error("Failed to load. Check the template or if the URL is "+(y?"video":"image")+" type, URL: "+v+".");case 7:return[3,12];case 8:return A.trys.push([8,11,,12]),[4,ia(h,f)];case 9:return[4,a7(A.sent().image,m,s,n.options,-1===e.oriY)];case 11:throw A.sent(),Error("Failed to load. Check the template, URL: "+h+".");case 12:return[3,14];case 13:if("type"in e&&"video"===e.type)return console.warn("The video element is deprecated. Use template BackgroundType.video instead."),[2,id(e.url)];if("compressed"in e&&a&&i){if(T=e.compressed,i===ny.ASTC?E=T.astc:i===ny.PVRTC&&(E=T.pvrtc),E)return _=new URL(E,u).href,n.assets[o]={url:_,type:t.TextureSourceType.compressed},[2,n.loadBins(_)]}else if("sourceType"in e)return[2,e];else if(e1(e,HTMLImageElement)||e1(e,HTMLCanvasElement)||e1(e,HTMLVideoElement)||e1(e,i_))return[2,e];A.label=14;case 14:return[4,ia(h,f)];case 15:return S=(C=A.sent()).url,R=C.image,n.assets[o]={url:S,type:t.TextureSourceType.image},[2,R]}})})))]})})()},r.processTextures=function(e,r,i){var n=this;return e0(function(){var o;return e4(this,function(a){return[2,Promise.all((null!=(o=i.textures)?o:e.map(function(t,e){return{source:e}})).map(e0(function(o,a){var s,u,l;return e4(this,function(c){switch(c.label){case 0:if(e1(o,i_))return[2,o];if(!("mipmaps"in o))return[3,4];c.label=1;case 1:return c.trys.push([1,3,,4]),[4,iv(o,r,i.bins)];case 2:return[2,c.sent()];case 3:throw Error("load texture "+a+" fails, error message: "+c.sent());case 4:if("number"!=typeof(s=o.source))return[3,5];return u=e[s],[3,7];case 5:if("string"!=typeof s)return[3,7];return[4,iu(function(t,e,r){void 0===e&&(e="base64File"),void 0===r&&(r="");for(var i=atob(t.split(",")[1]||t),n=[],o=0;o<i.length;o+=512){for(var a=i.slice(o,o+512),s=Array(a.length),u=0;u<a.length;u++)s[u]=a.charCodeAt(u);var l=new Uint8Array(s);n.push(l)}return new File([new Blob(n,{type:r})],e,{type:r})}(s))];case 6:u=c.sent(),c.label=7;case 7:if(u)return(l=function(e,r){var i;if(e1(e,i_))return e.source;if(e1(e,HTMLImageElement)||"object"==typeof e&&null!==e&&(null==(i=e.tagName)?void 0:i.toUpperCase())==="CANVAS")return{image:e,sourceType:t.TextureSourceType.image,sourceFrom:r,keepImageSource:!0,minFilter:r3.LINEAR,magFilter:r3.LINEAR};if(e1(e,HTMLVideoElement))return{sourceType:t.TextureSourceType.video,video:e,minFilter:r3.LINEAR,magFilter:r3.LINEAR};if(e1(e,ArrayBuffer))return ir({},iR(e),{sourceFrom:r});if("width"in e&&"height"in e&&"data"in e)return{sourceType:t.TextureSourceType.data,data:e,wrapS:r3.CLAMP_TO_EDGE,wrapT:r3.CLAMP_TO_EDGE,minFilter:r3.NEAREST,magFilter:r3.NEAREST};throw Error("Invalid texture options")}(u,n.assets[a])).id=o.id,l.dataType=en.Texture,[2,l.sourceType===t.TextureSourceType.compressed?l:ir({},l,o)];throw Error("Invalid texture source: "+s)}})})))]})})()},r.loadJSON=function(t){var e=this;return e0(function(){return e4(this,function(r){return[2,new Promise(function(r,i){e.downloader.downloadJSON(t,r,function(e,r){i("Couldn't load JSON "+JSON.stringify(t)+": status "+e+", "+r)})})]})})()},r.loadBins=function(t){var e=this;return e0(function(){return e4(this,function(r){return[2,new Promise(function(r,i){e.downloader.downloadBinary(t,r,function(e,r){i("Couldn't load bins "+JSON.stringify(t)+": status "+e+", "+r)})})]})})()},r.removeTimer=function(t){var e=this.timers.indexOf(t);-1!==e&&this.timers.splice(e,1)},r.dispose=function(){for(var t in this.timers.length&&this.timers.map(function(t){return window.clearTimeout(t)}),this.assets){var e,r=this.assets[t];null==r||null==(e=r.dispose)||e.call(r)}this.assets={},this.timers=[]},e}();s4.fonts=new Set;var s5=new rT(1,1,1),s6=function(){function t(t,e){void 0===e&&(e={}),this.name=t,this.viewMatrix=r_.fromIdentity(),this.projectionMatrix=r_.fromIdentity(),this.viewProjectionMatrix=r_.fromIdentity(),this.inverseViewMatrix=r_.fromIdentity(),this.dirty=!0;var r=e.near,i=e.far,n=e.fov,o=e.aspect,a=e.clipMode,s=void 0===a?tZ.portrait:a,u=e.position,l=e.rotation;this.options={near:void 0===r?.1:r,far:void 0===i?20:i,fov:void 0===n?60:n,aspect:void 0===o?1:o,clipMode:s,position:rT.fromArray(void 0===u?[0,0,8]:u),rotation:rC.fromArray(void 0===l?[0,0,0]:l)},this.dirty=!0,this.updateMatrix()}var e=t.prototype;return e.getViewMatrix=function(){return this.updateMatrix(),this.viewMatrix.clone()},e.getInverseViewMatrix=function(){return this.updateMatrix(),this.inverseViewMatrix.clone()},e.getProjectionMatrix=function(){return this.updateMatrix(),this.projectionMatrix.clone()},e.getInverseProjectionMatrix=function(){var t;return this.updateMatrix(),null==(t=this.inverseProjectionMatrix)?void 0:t.clone()},e.getViewProjectionMatrix=function(){return this.updateMatrix(),this.viewProjectionMatrix.clone()},e.getInverseViewProjectionMatrix=function(){return this.updateMatrix(),this.inverseViewProjectionMatrix||(this.inverseViewProjectionMatrix=this.viewProjectionMatrix.clone(),this.inverseViewProjectionMatrix.invert()),this.inverseViewProjectionMatrix.clone()},e.getModelViewProjection=function(t,e){return t.multiplyMatrices(this.viewProjectionMatrix,e)},e.getInverseVPRatio=function(t){var e=new rT(0,0,t),r=this.getViewProjectionMatrix(),i=this.getInverseViewProjectionMatrix(),n=r.projectPoint(e).z;return i.projectPoint(new rT(1,1,n))},e.setQuat=function(t){void 0===this.options.quat?(this.options.quat=t.clone(),this.dirty=!0):this.options.quat.equals(t)||(this.options.quat.copyFrom(t),this.dirty=!0),this.dirty&&this.setRotationByQuat(t)},e.getQuat=function(){var t=this.options.quat;if(void 0===t){t=new rE;var e=this.options.rotation;e&&t.setFromEuler(e),this.options.quat=t}return t},e.getOptions=function(){return this.options},e.copy=function(t){var e=t.near,r=t.far,i=t.fov,n=t.clipMode,o=t.aspect,a=t.position,s=t.rotation;this.near=e,this.far=r,this.fov=i,this.clipMode=n,this.aspect=o,this.position=a,this.rotation=s,this.updateMatrix()},e.updateMatrix=function(){if(this.dirty){var t=this.options,e=t.fov,r=t.aspect,i=t.near,n=t.far,o=t.clipMode,a=t.position;this.projectionMatrix.perspective(e*rd,r,i,n,o===tZ.portrait),this.inverseViewMatrix.compose(a,this.getQuat(),s5),this.viewMatrix.copyFrom(this.inverseViewMatrix).invert(),this.viewProjectionMatrix.multiplyMatrices(this.projectionMatrix,this.viewMatrix),this.inverseViewProjectionMatrix=null,this.dirty=!1}},e.setRotationByQuat=function(t){n5.getRotation(t,this.options.rotation)},rG(t,[{key:"near",get:function(){return this.options.near},set:function(t){this.options.near!==t&&(this.options.near=t,this.dirty=!0)}},{key:"far",get:function(){return this.options.far},set:function(t){this.options.far!==t&&(this.options.far=t,this.dirty=!0)}},{key:"fov",get:function(){return this.options.fov},set:function(t){this.options.fov!==t&&(this.options.fov=t,this.dirty=!0)}},{key:"aspect",get:function(){return this.options.aspect},set:function(t){this.options.aspect!==t&&(this.options.aspect=t,this.dirty=!0)}},{key:"clipMode",get:function(){return this.options.clipMode},set:function(t){void 0!==t&&this.options.clipMode!==t&&(this.options.clipMode=t,this.dirty=!0)}},{key:"position",get:function(){return this.options.position.clone()},set:function(t){this.options.position.equals(t)||(this.options.position.copyFrom(t),this.dirty=!0)}},{key:"rotation",get:function(){return this.options.rotation.clone()},set:function(t){this.options.rotation.equals(t)||(this.options.rotation.copyFrom(t),this.dirty=!0,this.options.quat=void 0)}}]),t}(),s8=function(e){function r(){var t;return t=e.apply(this,arguments)||this,t.items=[],t}rH(r,e);var i=r.prototype;return i.start=function(){var t=this.item.props.startTime;this.startTime=void 0===t?0:t,this.timelineComponents=[],this.timelineComponent=this.item.getComponent(oM);for(var e,r=rW(this.items);!(e=r()).done;){var i=e.value.getComponent(oM);i&&(this.timelineComponents.push(i),(0!==this.item.endBehavior||this.timelineComponent.reusable)&&(i.reusable=!0))}},i.update=function(t){for(var e,r=this.timelineComponent.getTime(),i=rW(this.timelineComponents);!(e=i()).done;){var n=e.value,o=n.toLocalTime(r);n.setTime(o)}},i.resetStatus=function(){this.item.ended=!1,this.item.delaying=!0},i.createContent=function(){var e=this.items;if(this.items.length=0,this.item.composition){var i=this.item.engine.assetLoader;this.item.composition.compositionSourceManager.jsonScene;for(var n=this.item.props.items?this.item.props.items:[],o=0;o<n.length;o++){var a=void 0,s=n[o];if(t.Item.isComposition(s)){var u=s.content.options.refId,l=this.item.composition.refCompositionProps.get(u);if(!l)throw Error("引用的Id: "+u+" 的预合成不存在");l.content=s.content,(a=new t.VFXItem(this.engine,ir({},l,{id:s.id,name:s.name,delay:s.delay,duration:s.duration,endBehavior:s.endBehavior,parentId:s.parentId,transform:s.transform,oldId:s.oldId}))).type=tY.composition,a.composition=this.item.composition,a.addComponent(r).refId=u,a.transform.parentTransform=this.transform,this.item.composition.refContent.push(a),5===a.endBehavior&&(this.item.composition.autoRefTex=!1),a.getComponent(r).createContent()}else"ECS"===s.type||s.type===tY.sprite||s.type===tY.text||s.type===tY.particle||s.type===tY.mesh||s.type===tY.skybox||s.type===tY.light||"camera"===s.type||s.type===tY.tree||s.type===tY.interact||s.type===tY.camera?(a=i.loadGUID(s.id)).composition=this.item.composition:((a=new t.VFXItem(this.engine,s)).composition=this.item.composition,a=sn(s,this.item.composition));a.parent=this.item,a.transform.parentTransform=s.type===tY.camera?new n5:this.transform,t.VFXItem.isExtraCamera(a)&&(this.item.composition.extraCamera=a),e.push(a)}}},i.onDestroy=function(){this.item.composition&&this.items&&(this.items.forEach(function(t){return t.dispose()}),this.items.length=0)},i.hitTest=function(e,r,i,n,o,a){for(var s,u=[],l=(null==a?void 0:a.stop)||rP,c=(null==a?void 0:a.skip)||rP,h=(null==a?void 0:a.maxCount)||this.items.length,f=0;f<this.items.length&&n.length<h;f++){var m=(s=this,function(a){var h=s.items[a];if(h.lifetime>=0&&!h.ended&&!t.VFXItem.isComposition(h)&&!c(h)){var f=h.getHitTestParams(o);if(f){var m=!1,d=new rT;if(f.type===t.HitTestType.triangle)for(var p=f.triangles,v=f.backfaceCulling,y=0;y<p.length;y++){var g=p[y];if(e.intersectTriangle(g,d,v)){m=!0,u.push(d);break}}else if(f.type===t.HitTestType.box){var x=f.center,T=f.size,E=x.clone().addScaledVector(T,.5),_=x.clone().addScaledVector(T,-.5);e.intersectBox({min:E,max:_},d)&&(m=!0,u.push(d))}else if(f.type===t.HitTestType.sphere){var C=f.center,S=f.radius;e.intersectSphere({center:C,radius:S},d)&&(m=!0,u.push(d))}else if(f.type===t.HitTestType.custom){var R=f.collect(e,new rx(r,i));R&&R.length>0&&(R.forEach(function(t){u.push(t)}),m=!0)}if(m){var A={compContent:s.item,id:h.id,name:h.name,position:u[u.length-1],parentId:h.parentId,hitPositions:u,behavior:f.behavior};if(n.push(A),l(A))return{v:n}}}}}(f));if("object"===e2(m))return m.v}return n},r}(ij),s9=function(){function e(e,r,i){var n,o=this;this.compositionSourceManager=i,this.speed=1,this.loaderData={},this.refContent=[],this.refCompositionProps=new Map,this.assigned=!1,this.destroyed=!1,this.paused=!1,this.lastVideoUpdateTime=0,this.postLoaders=[];var a=e.reusable,s=void 0!==a&&a,u=e.speed,l=e.baseRenderOrder,c=e.renderer,h=e.onPlayerPause,f=e.onMessageItem,m=e.onEnd,d=e.event,p=e.width,v=e.height;r.jsonScene.imgUsage=void 0,s&&(this.keepResource=!0,r.textures=void 0,r.consumed=!0);var y=this.compositionSourceManager,g=y.sourceContent,x=y.pluginSystem,T=y.imgUsage,E=y.totalTime,_=y.renderLevel,C=y.refCompositionProps;rm(g),this.renderer=c,this.refCompositionProps=C;var S=new t.VFXItem(this.getEngine(),g);S.name="rootItem",S.type=tY.composition,S.composition=this,this.rootComposition=S.addComponent(s8),this.rootTimeline=S.getComponent(oM);var R=!s&&T;this.transform=new n5({name:this.name}),this.transform.engine=this.getEngine(),S.transform=this.transform,this.globalVolume=g.globalVolume,this.width=p,this.height=v,this.renderOrder=void 0===l?0:l,this.id=g.id,this.renderer=c,this.texInfo=null!=R?R:{},this.event=d,this.statistic={loadTime:null!=E?E:0,loadStart:null!=(n=r.startTime)?n:0,firstFrameTime:0},this.reusable=s,this.speed=void 0===u?1:u,this.renderLevel=_,this.autoRefTex=!this.keepResource&&R&&5!==S.endBehavior,this.rootItem=S,this.name=g.name,this.pluginSystem=x,this.pluginSystem.initializeComposition(this,r),this.camera=new s6(this.name,ir({},null==g?void 0:g.camera,{aspect:p/v})),this.url=r.url,this.assigned=!0,this.globalTime=0,this.onPlayerPause=h,this.onMessageItem=f,this.onEnd=m,this.createRenderFrame(),this.rendererOptions=null,this.rootComposition.createContent(),this.buildItemTree(this.rootItem),this.rootItem.onEnd=function(){window.setTimeout(function(){null==o.onEnd||o.onEnd.call(o,o)},0)},this.pluginSystem.resetComposition(this,this.renderFrame)}var r=e.prototype;return r.getDuration=function(){return this.rootItem.duration},r.restart=function(){this.rootComposition.items,this.prepareRender(),this.reset(),this.transform.setValid(!0),this.rootComposition.resetStatus(),this.forwardTime(this.startTime)},r.setIndex=function(t){this.renderOrder=t},r.getIndex=function(){return this.renderOrder},r.setSpeed=function(t){this.speed=t},r.getSpeed=function(){return this.speed},r.play=function(){this.rootItem.ended&&this.reusable&&this.restart(),this.rootTimeline.timelineStarted?this.gotoAndPlay(this.time-this.startTime):this.gotoAndPlay(0)},r.pause=function(){this.paused=!0},r.getPaused=function(){return this.paused},r.resume=function(){this.paused=!1},r.gotoAndPlay=function(t){this.resume(),this.rootTimeline.timelineStarted||this.rootComposition.start(),this.forwardTime(t+this.startTime)},r.gotoAndStop=function(t){this.gotoAndPlay(t),this.pause()},r.createRenderFrame=function(){this.renderFrame=new nl({camera:this.camera,renderer:this.renderer,keepColorBuffer:this.keepColorBuffer,globalVolume:this.globalVolume}),this.renderFrame.cachedTextures=this.textures},r.setTime=function(t){var e=this.paused;e&&this.resume(),this.rootTimeline.timelineStarted||this.rootComposition.start(),this.forwardTime(t+this.startTime,!0),e&&this.pause()},r.addItem=function(t){this.items.push(t),t.setParent(this.rootItem)},r.forwardTime=function(t,e){void 0===e&&(e=!1);for(var r=1e3*t-1e3*this.rootTimeline.getTime(),i=r<0,n=Math.abs(r),o=i?-15:15;n>15;n-=15)this.update(o,e);this.update(i?-n:n,e)},r.reset=function(){var e=this,r=new t.VFXItem(this.getEngine(),this.compositionSourceManager.sourceContent);r.type=tY.composition,r.composition=this,this.rootComposition=r.addComponent(s8),this.rootTimeline=r.getComponent(oM),this.transform=new n5({name:this.name}),this.transform.engine=this.getEngine(),r.transform=this.transform,this.rootItem=r,this.rendererOptions=null,this.globalTime=0,this.rootComposition.createContent(),this.buildItemTree(this.rootItem),this.rootItem.onEnd=function(){window.setTimeout(function(){null==e.onEnd||e.onEnd.call(e,e)},0)},this.pluginSystem.resetComposition(this,this.renderFrame)},r.prepareRender=function(){var t=this,e=this.renderFrame;e._renderPasses[0].meshes.length=0,this.postLoaders.length=0,this.pluginSystem.plugins.forEach(function(r){r.prepareRenderFrame(t,e)&&t.postLoaders.push(r)});for(var r,i=rW(this.rootComposition.items);!(r=i()).done;)for(var n,o=r.value.getComponents(iZ),a=rW(o);!(n=a()).done;){var s=n.value;s.isActiveAndEnabled&&e.addMeshToDefaultRenderPass(s)}for(var u,l=rW(this.refContent);!(u=l()).done;)for(var c,h=u.value,f=rW(h.getComponent(s8).items);!(c=f()).done;)for(var m,d=c.value.getComponents(iZ),p=rW(d);!(m=p()).done;){var v=m.value;v.isActiveAndEnabled&&e.addMeshToDefaultRenderPass(v)}this.postLoaders.forEach(function(r){return r.postProcessFrame(t,e)})},r.shouldRestart=function(){var t=this.rootItem,e=t.ended,r=t.endBehavior;return e&&5===r},r.shouldDispose=function(){if(this.reusable)return!1;var t=this.rootItem,e=t.ended,r=t.endBehavior;return e&&(!r||3===r)},r.update=function(t,e){if(void 0===e&&(e=!1),this.assigned&&!this.paused){this.shouldRestart()&&this.restart();var r,i,n=this.getUpdateTime(t*this.speed);if(this.globalTime+=n,this.rootTimeline.isActiveAndEnabled){var o=this.rootTimeline.toLocalTime(this.globalTime/1e3);this.rootTimeline.setTime(o)}this.updateVideo(),this.updatePluginLoaders(t),this.callStart(this.rootItem),this.callUpdate(this.rootItem,n),this.callLateUpdate(this.rootItem,n),null==(i=this.extraCamera)||null==(r=i.getComponent(oM))||r.update(t),this.updateCamera(),this.shouldDispose()?this.dispose():e||this.prepareRender()}},r.getUpdateTime=function(t){var e=1e3*this.startTime;this.rootItem;var r=1e3*this.rootTimeline.getTime();return t<0&&r+t<e?e-r:t},r.callStart=function(t){for(var e,r=rW(t.itemBehaviours);!(e=r()).done;){var i=e.value;i.isActiveAndEnabled&&!i.started&&(i.start(),i.started=!0)}for(var n,o=rW(t.rendererComponents);!(n=o()).done;){var a=n.value;a.isActiveAndEnabled&&!a.started&&(a.start(),a.started=!0)}for(var s,u=rW(t.children);!(s=u()).done;){var l=s.value;this.callStart(l)}},r.callUpdate=function(e,r){for(var i,n=rW(e.itemBehaviours);!(i=n()).done;){var o=i.value;o.isActiveAndEnabled&&o.started&&o.update(r)}for(var a,s=rW(e.rendererComponents);!(a=s()).done;){var u=a.value;u.isActiveAndEnabled&&u.started&&u.update(r)}for(var l,c=rW(e.children);!(l=c()).done;){var h=l.value;t.VFXItem.isComposition(h)&&h.ended&&5===h.endBehavior?(h.getComponent(s8).resetStatus(),this.callUpdate(h,0)):this.callUpdate(h,r)}},r.callLateUpdate=function(t,e){for(var r,i=rW(t.itemBehaviours);!(r=i()).done;){var n=r.value;n.isActiveAndEnabled&&n.started&&n.lateUpdate(e)}for(var o,a=rW(t.rendererComponents);!(o=a()).done;){var s=o.value;s.isActiveAndEnabled&&s.started&&s.lateUpdate(e)}for(var u,l=rW(t.children);!(u=l()).done;){var c=u.value;this.callLateUpdate(c,e)}},r.buildItemTree=function(e){if(e.composition){for(var r,i=new Map,n=e.getComponent(s8).items,o=rW(n);!(r=o()).done;){var a=r.value;i.set(a.id,a)}for(var s,u=rW(n);!(s=u()).done;){var l=s.value;if(void 0===l.parentId)l.setParent(e);else{var c=this.getParentIdWithoutSuffix(l.parentId),h=i.get(c);if(h)t.VFXItem.isTree(h)&&l.parentId.includes("^")?(l.parent=h,l.transform.parentTransform=h.getNodeTransform(l.parentId)):(l.parent=h,l.transform.parentTransform=h.transform),h.children.push(l);else throw Error("元素引用了不存在的元素,请检查数据")}}for(var f,m=rW(n);!(f=m()).done;){var d=f.value;t.VFXItem.isComposition(d)&&this.buildItemTree(d)}}},r.getParentIdWithoutSuffix=function(t){var e=t.lastIndexOf("^");return e>-1?t.substring(0,e):t},r.updateVideo=function(){var t,e=performance.now();e-this.lastVideoUpdateTime>33&&((null!=(t=this.textures)?t:[]).forEach(function(t){return null==t?void 0:t.uploadCurrentVideoFrame()}),this.lastVideoUpdateTime=e)},r.updateCamera=function(){this.camera.updateMatrix()},r.updatePluginLoaders=function(t){var e=this;this.pluginSystem.plugins.forEach(function(r){return r.onCompositionUpdate(e,t)})},r.getItemByName=function(t){return this.rootItem.find(t)},r.getHitTestRay=function(t,e){var r=this.renderFrame.editorTransform,i=r.x,n=r.y;return nV((t-r.z)/i,(e-r.w)/n,this.camera)},r.getEngine=function(){var t;return null==(t=this.renderer)?void 0:t.engine},r.hitTest=function(t,e,r,i){if(this.isDestroyed)return[];var n,o=[],a=this.getHitTestRay(t,e);return null==(n=this.rootItem.getComponent(s8))||n.hitTest(a,t,e,o,r,i),this.refContent.forEach(function(n){var s;null==(s=n.getComponent(s8))||s.hitTest(a,t,e,o,r,i)}),o},r.addInteractiveItem=function(t,e){if(e===tX.MESSAGE)return null==this.onMessageItem||this.onMessageItem.call(this,{name:t.name,phrase:2,id:t.id,compositionId:this.id}),t.id},r.removeInteractiveItem=function(t,e){e===tX.MESSAGE&&(null==this.onMessageItem||this.onMessageItem.call(this,{name:t.name,phrase:1,id:t.id,compositionId:this.id}))},r.destroyTextures=function(e){for(var r=0;r<e.length;r++){var i,n=e[r];if(n){if(n.sourceType===t.TextureSourceType.data&&!this.texInfo[n.getInstanceId()]){n!==(null==(i=this.rendererOptions)?void 0:i.emptyTexture)&&n!==this.renderFrame.transparentTexture&&n!==this.getEngine().emptyTexture&&n.dispose();continue}!this.autoRefTex||--this.texInfo[n.getInstanceId()]||n.dispose()}}},r.destroyItem=function(t){var e=this;t.type==tY.composition?4!==t.endBehavior&&t.getComponent(s8).items.forEach(function(t){return e.pluginSystem.plugins.forEach(function(r){return r.onCompositionItemRemoved(e,t)})}):(rt(this.items,t),this.pluginSystem.plugins.forEach(function(r){return r.onCompositionItemRemoved(e,t)}))},r.lost=function(t){this.videoState=this.textures.map(function(t){if("video"in t.source)return t.source.video.pause(),t.source.video.currentTime}),this.textures.map(function(t){return t.dispose()}),this.dispose()},r.dispose=function(){var e,r,i=this;if(!this.destroyed){this.destroyed=!0;var n={},o=this.textures;o&&this.keepResource&&o.forEach(function(t){(null==t?void 0:t.dispose)&&(n[t.id]=t.dispose,t.dispose=rP)}),this.rootItem.dispose(),this.renderFrame.dispose(),null==(e=this.rendererOptions)||e.emptyTexture.dispose(),null==(r=this.pluginSystem)||r.destroyComposition(this),this.update=function(){rM.error("Update disposed composition: "+i.name+".")},this.onPlayerPause=rP,this.dispose=rP,o&&this.keepResource&&o.forEach(function(t){return t.dispose=n[t.id]}),this.compositionSourceManager.dispose(),this.refCompositionProps.clear(),this.renderer.env!==oo&&this.renderer.clear({stencilAction:t.TextureLoadAction.clear,clearStencil:0,depthAction:t.TextureLoadAction.clear,clearDepth:1,colorAction:t.TextureLoadAction.clear,clearColor:[0,0,0,0]})}},r.setEditorTransform=function(t,e,r){this.renderFrame.editorTransform.set(t,t,e,r)},r.translateByPixel=function(t,e){if(!this.renderer){console.warn("Can not translate position when container not assigned");return}this.rootItem.translateByPixel(t,e)},r.translate=function(t,e,r){this.rootItem.translate(t,e,r)},r.setPosition=function(t,e,r){this.rootItem.setPosition(t,e,r)},r.rotate=function(t,e,r){this.rootItem.rotate(t,e,r)},r.setRotation=function(t,e,r){this.rootItem.setRotation(t,e,r)},r.scale=function(t,e,r){this.rootItem.scale(t,e,r)},r.setScale=function(t,e,r){this.rootItem.setScale(t,e,r)},r.offloadTexture=function(){this.textureOffloaded||(this.textures.forEach(function(t){return t&&t.offloadData()}),this.textureOffloaded=!0)},r.getRendererOptions=function(){return this.rendererOptions||(this.rendererOptions={emptyTexture:this.renderFrame.emptyTexture,cachePrefix:"-"}),this.rendererOptions},r.reloadTexture=function(){var t=this;return e0(function(){return e4(this,function(e){switch(e.label){case 0:if(!t.textureOffloaded)return[3,2];return[4,Promise.all(t.textures.map(function(t){return null==t?void 0:t.reloadData()}))];case 1:e.sent(),t.textureOffloaded=!1,e.label=2;case 2:return[2]}})})()},rG(e,[{key:"handleEnd",set:function(t){console.warn("The handleEnd property is deprecated. Use onEnd instead."),this.onEnd=t}},{key:"textures",get:function(){return this.compositionSourceManager.textures}},{key:"items",get:function(){return this.rootComposition.items}},{key:"startTime",get:function(){var t;return null!=(t=this.rootComposition.startTime)?t:0}},{key:"time",get:function(){return this.rootTimeline.getTime()}},{key:"isDestroyed",get:function(){return this.destroyed}}]),e}(),s7=0,ut=function(){function t(t,e){this.refCompositions=new Map,this.refCompositionProps=new Map,this.mask=0,this.engine=e;var r=t.jsonScene,i=t.renderLevel,n=t.textureOptions,o=t.pluginSystem,a=t.totalTime,s=r.compositions,u=r.imgUsage,l=r.compositionId;if(!n)throw Error("scene.textures expected");for(var c,h=rW(s);!(c=h()).done;){var f=c.value;f.id===l?this.composition=f:this.refCompositions.set(f.id,f)}if(!this.composition)throw Error("Invalid composition id: "+l);this.jsonScene=r,this.renderLevel=i,this.pluginSystem=o,this.totalTime=null!=a?a:0,this.imgUsage=null!=u?u:{},this.textures=n,s7=0,this.sourceContent=this.getContent(this.composition)}var e=t.prototype;return e.getContent=function(t){var e=t.id,r=t.duration,i=t.name,n=t.endBehavior,o=t.camera,a=t.globalVolume,s=t.startTime,u=this.assembleItems(t);return{id:e,duration:r,name:i,endBehavior:isNaN(n)?1:n,items:u,camera:o,startTime:void 0===s?0:s,globalVolume:a}},e.assembleItems=function(t){var e=this,r=[];this.mask++;for(var i,n={},o=rW(this.jsonScene.components);!(i=o()).done;){var a=i.value;n[a.id]=a}for(var s,u=rW(t.items);!(s=u()).done;){var l=s.value,c=this.engine.jsonSceneData[l.id];if(s1(c.renderLevel,this.renderLevel)){if(c.type===tY.sprite||c.type===tY.particle)for(var h,f=rW(c.components);!(h=f()).done;){var m=n[h.value.id];this.preProcessItemContent(m)}else{var d=c.content;d&&this.preProcessItemContent(d)}var p=c.pn,v=this.jsonScene.plugins,y=void 0===v?[]:v;if(c.listIndex=s7++,void 0!==p&&Number.isInteger(p)&&(c.pluginName=y[p]),c.type===tY.composition){var g=c.content.options.refId;if(!this.refCompositions.get(g))throw Error("Invalid Ref Composition id: "+g);var x=this.getContent(this.refCompositions.get(g));this.refCompositionProps.has(g)||this.refCompositionProps.set(g,x),x.items.forEach(function(t){e.processMask(t.content)}),c.items=x.items}r.push(c)}}return r},e.preProcessItemContent=function(t){if(t.renderer){t.renderer=this.changeTex(t.renderer),t.renderer.mask||this.processMask(t.renderer);var e,r=t.splits&&!t.textureSheetAnimation&&t.splits[0];Number.isInteger(t.renderer.shape)?t.renderer.shape=a_(null==(e=this.jsonScene)?void 0:e.shapes[t.renderer.shape],r):t.renderer.shape&&rD(t.renderer.shape)&&(t.renderer.shape=a_(t.renderer.shape,r))}t.trails&&(t.trails=this.changeTex(t.trails))},e.changeTex=function(t){if(!t.texture)return t;var e=t.texture.id;return void 0!==e&&this.addTextureUsage(e),t},e.addTextureUsage=function(t){var e,r=null!=(e=this.imgUsage)?e:{};t&&r&&(r.hasOwnProperty(t)||(r[t]=0),r[t]++)},e.processMask=function(t){if(t.maskMode!==tU.NONE&&!t.mask){var e=t.maskMode;e===tU.MASK?t.mask=++this.mask:(e===tU.OBSCURED||e===tU.REVERSE_OBSCURED)&&(t.mask=this.mask)}},e.dispose=function(){this.textures=[],this.composition=void 0,this.jsonScene=void 0,this.totalTime=0,this.pluginSystem=void 0,this.sourceContent=void 0,this.refCompositions.clear(),this.refCompositionProps.clear()},t}(),ue=function(){function e(){this.destroyed=!1,this.textures=[],this.materials=[],this.geometries=[],this.meshes=[],this.renderPasses=[],this.jsonSceneData={},this.objectInstance={},this.assetLoader=new nE(this),this.createDefaultTexture()}var r=e.prototype;return r.clearResources=function(){this.jsonSceneData={},this.objectInstance={}},r.addEffectsObjectData=function(t){this.jsonSceneData[t.id]=t},r.findEffectsObjectData=function(t){return this.jsonSceneData[t]},r.addInstance=function(t){this.objectInstance[t.getInstanceId()]=t},r.getInstance=function(t){return this.objectInstance[t]},r.removeInstance=function(t){delete this.objectInstance[t]},r.addPackageDatas=function(t){var e=t.jsonScene;if(e.items)for(var r,i=rW(e.items);!(r=i()).done;){var n=r.value;this.addEffectsObjectData(n)}if(e.materials)for(var o,a=rW(e.materials);!(o=a()).done;){var s=o.value;this.addEffectsObjectData(s)}if(e.shaders)for(var u,l=rW(e.shaders);!(u=l()).done;){var c=u.value;this.addEffectsObjectData(c)}if(e.geometries)for(var h,f=rW(e.geometries);!(h=f()).done;){var m=h.value;this.addEffectsObjectData(m)}if(e.components)for(var d,p=rW(e.components);!(d=p()).done;){var v=d.value;this.addEffectsObjectData(v)}if(t.textureOptions)for(var y,g=rW(t.textureOptions);!(y=g()).done;){var x=y.value;this.addEffectsObjectData(x)}},r.createVFXItemsAsync=function(t){var e=this;return e0(function(){var r,i,n;return e4(this,function(o){switch(o.label){case 0:r=rW(t.jsonScene.items),o.label=1;case 1:if((i=r()).done)return[3,4];if(!("ECS"===(n=i.value).type||n.type===tY.sprite||n.type===tY.particle||n.type===tY.mesh||n.type===tY.skybox||n.type===tY.light||"camera"===n.type||n.type===tY.tree||n.type===tY.interact||n.type===tY.camera)||!e.database)return[3,3];return[4,e.assetLoader.loadGUIDAsync(n.id)];case 2:o.sent(),o.label=3;case 3:return[3,1];case 4:return[2]}})})()},r.addTexture=function(t){this.destroyed||e7(this.textures,t)},r.removeTexture=function(t){this.destroyed||rt(this.textures,t)},r.addMaterial=function(t){this.destroyed||e7(this.materials,t)},r.removeMaterial=function(t){this.destroyed||rt(this.materials,t)},r.addGeometry=function(t){this.destroyed||e7(this.geometries,t)},r.removeGeometry=function(t){this.destroyed||rt(this.geometries,t)},r.addMesh=function(t){this.destroyed||e7(this.meshes,t)},r.removeMesh=function(t){this.destroyed||rt(this.meshes,t)},r.addRenderPass=function(t){this.destroyed||e7(this.renderPasses,t)},r.removeRenderPass=function(t){this.destroyed||rt(this.renderPasses,t)},r.getShaderLibrary=function(){return this.renderer.getShaderLibrary()},r.createDefaultTexture=function(){var e={type:r3.UNSIGNED_BYTE,format:r3.RGBA,internalFormat:r3.RGBA,wrapS:r3.MIRRORED_REPEAT,wrapT:r3.MIRRORED_REPEAT,minFilter:r3.NEAREST,magFilter:r3.NEAREST};this.emptyTexture=i_.create(this,ir({data:{width:1,height:1,data:new Uint8Array([255,255,255,255])},sourceType:t.TextureSourceType.data},e)),this.transparentTexture=i_.create(this,ir({data:{width:1,height:1,data:new Uint8Array([0,0,0,0])},sourceType:t.TextureSourceType.data},e))},r.dispose=function(){if(!this.destroyed){this.destroyed=!0;var t=[];this.renderPasses.length>0&&t.push("Pass "+this.renderPasses.length),this.meshes.length>0&&t.push("Mesh "+this.meshes.length),this.geometries.length>0&&t.push("Geom "+this.geometries.length),this.textures.length>0&&t.push("Tex "+this.textures.length),t.length>0&&rM.warn("Release GPU memory: "+t.join(", ")),this.renderPasses.forEach(function(t){t.dispose()}),this.meshes.forEach(function(t){t.dispose()}),this.geometries.forEach(function(t){t.dispose()}),this.materials.forEach(function(t){t.dispose()}),this.textures.forEach(function(t){t.dispose()}),this.textures=[],this.materials=[],this.geometries=[],this.meshes=[],this.renderPasses=[],this.renderer=null}},rG(e,[{key:"isDestroyed",get:function(){return this.destroyed}}]),e}(),ur=function(){function t(t){void 0===t&&(t=60),this.paused=!0,this.lastTime=0,this._deltaTime=0,this.setFPS(t),this.tickers=[]}var e=t.prototype;return e.getFPS=function(){return this.targetFPS},e.setFPS=function(t){this.targetFPS=rg(t,1,120),this.interval=Math.floor(1e3/t)-2},e.getPaused=function(){return this.paused},e.start=function(){var t=this;if(this.paused=!1,this._deltaTime=0,!this.intervalId){this.lastTime=performance.now();var e=requestAnimationFrame||function(t){return window.setTimeout(t,16.7)},r=function(){t.intervalId=e(r),t.paused||t.tick()};r()}},e.stop=function(){(cancelAnimationFrame||window.clearTimeout)(this.intervalId),this.intervalId=0,this.lastTime=0,this.paused=!0,this._deltaTime=0,this.tickers=[]},e.pause=function(){this.paused=!0,this._deltaTime=0},e.resume=function(){this.paused=!1,this._deltaTime=0},e.tick=function(){if(!this.paused){var t=performance.now();if(this._deltaTime=t-this.lastTime,this._deltaTime>=this.interval){this.lastTime=t,this.resetTickers&&(this.tickers=this.tickers.filter(function(t){return t}),this.resetTickers=!1);for(var e=0,r=this.tickers.length;e<r;e++)(0,this.tickers[e])(this._deltaTime)}}},e.add=function(t){if("function"!=typeof t)throw Error("Ticker: The tick object must implement the tick method.");this.tickers.push(t)},rG(t,[{key:"deltaTime",get:function(){return this._deltaTime}}]),t}();su("camera",n6,t.VFXItem,!0),su("text",sr,t.VFXItem,!0),su("sprite",ov,t.VFXItem,!0),su("particle",oJ,t.VFXItem,!0),su("cal",az,t.VFXItem,!0),su("interact",on,t.VFXItem,!0);var ui=((eZ={})[r3.ONE]=eJ.OneFactor,eZ[r3.ZERO]=eJ.ZeroFactor,eZ[r3.SRC_COLOR]=eJ.SrcColorFactor,eZ[r3.SRC_ALPHA]=eJ.SrcAlphaFactor,eZ[r3.ONE_MINUS_SRC_COLOR]=eJ.OneMinusSrcColorFactor,eZ[r3.ONE_MINUS_SRC_ALPHA]=eJ.OneMinusSrcAlphaFactor,eZ[r3.DST_COLOR]=eJ.DstColorFactor,eZ[r3.DST_ALPHA]=eJ.DstAlphaFactor,eZ[r3.ONE_MINUS_DST_COLOR]=eJ.OneMinusDstColorFactor,eZ[r3.ONE_MINUS_DST_ALPHA]=eJ.OneMinusDstAlphaFactor,eZ),un=((eq={})[r3.NEVER]=eJ.NeverStencilFunc,eq[r3.EQUAL]=eJ.EqualStencilFunc,eq[r3.LESS]=eJ.LessStencilFunc,eq[r3.LEQUAL]=eJ.LessEqualStencilFunc,eq[r3.ALWAYS]=eJ.AlwaysStencilFunc,eq[r3.NOTEQUAL]=eJ.NotEqualStencilFunc,eq[r3.GREATER]=eJ.GreaterStencilFunc,eq[r3.GEQUAL]=eJ.GreaterEqualStencilFunc,eq),uo=((eQ={})[r3.KEEP]=eJ.KeepStencilOp,eQ[r3.ZERO]=eJ.ZeroStencilOp,eQ[r3.REPLACE]=eJ.ReplaceStencilOp,eQ[r3.INCR]=eJ.IncrementStencilOp,eQ[r3.DECR]=eJ.DecrementStencilOp,eQ[r3.INCR_WRAP]=eJ.IncrementWrapStencilOp,eQ[r3.DECR_WRAP]=eJ.IncrementWrapStencilOp,eQ[r3.INVERT]=eJ.InvertStencilOp,eQ),ua=((eK={})[r3.NEVER]=eJ.NeverDepth,eK[r3.ALWAYS]=eJ.AlwaysDepth,eK[r3.EQUAL]=eJ.EqualDepth,eK[r3.LESS]=eJ.LessDepth,eK[r3.LEQUAL]=eJ.LessEqualDepth,eK[r3.GREATER]=eJ.GreaterDepth,eK[r3.GEQUAL]=eJ.GreaterEqualDepth,eK[r3.NOTEQUAL]=eJ.NotEqualDepth,eK),us=["uMaskTex","uSampler0","uSampler1","uSampler2","uSampler3","uSampler4","uSampler5","uSampler6","uSampler7","uSampler8","uSampler9","uSampler10","uSampler11","uSampler12","uSampler13","uSampler14","uSampler15","uColorOverLifetime","uColorOverTrail"],uu=function(e){function r(r,i){(n=e.call(this,r,i)||this).textures={},n.material=new eJ.RawShaderMaterial,n.uniforms={};for(var n,o=null==i?void 0:i.shader,a=r.gpuCapability.level,s=0;s<t.maxSpriteMeshItemCount;s++)n.uniforms["uSampler"+s]=new eJ.Uniform(null);return n.uniforms.uEditorTransform=new eJ.Uniform([1,1,0,0]),n.uniforms.effects_ObjectToWorld=new eJ.Uniform(new eJ.Matrix4().identity()),n.uniforms.effects_MatrixInvV=new eJ.Uniform([1,0,0,0,0,1,0,0,0,0,1,0,0,0,8,1]),n.uniforms.effects_MatrixVP=new eJ.Uniform([1,0,0,0,0,1,0,0,0,0,1,0,0,0,-8,1]),n.uniforms.effects_MatrixV=new eJ.Uniform([1,0,0,0,0,1,0,0,0,0,1,0,0,0,8,1]),n.material=new eJ.RawShaderMaterial({vertexShader:r9(o.marcos,o.vertex,t.ShaderType.vertex,n.engine.gpuCapability.level),fragmentShader:r9(o.marcos,o.fragment,t.ShaderType.fragment,n.engine.gpuCapability.level),alphaToCoverage:!1,depthFunc:eJ.LessDepth,polygonOffsetFactor:eJ.ZeroFactor,polygonOffsetUnits:eJ.ZeroFactor,polygonOffset:!1,uniforms:n.uniforms}),1===a?n.material.glslVersion=eJ.GLSL1:n.material.glslVersion=eJ.GLSL3,n}rH(r,e);var i=r.prototype;return i.onSetUniformValue=function(t,e){var r;us.includes(t)&&(r=e.texture),this.material.uniforms[t]?this.material.uniforms[t].value=r||e:this.material.uniforms[t]=new eJ.Uniform(r||e)},i.use=function(t,e){var r=this.engine,i=r.composition,n=r.threeCamera;if(n){var o=new eJ.Matrix4().multiplyMatrices(n.projectionMatrix,n.matrixWorldInverse);this.setMatrix("effects_MatrixVP",o)}else{var a=i.camera;this.setMatrix("effects_MatrixVP",a.getViewProjectionMatrix()),this.setMatrix("effects_MatrixV",a.getViewMatrix())}},i.onRemoveUniformValue=function(t){this.material.uniforms[t]&&(this.material.uniforms[t].value=null)},i.getTexture=function(t){return this.textures[t]},i.setTexture=function(t,e){this.setUniform(t,e.texture),this.textures[t]=e},i.getVector4Array=function(t){return this.uniforms[t].value},i.setVector4Array=function(t,e){for(var r,i=[],n=rW(e);!(r=n()).done;){var o=r.value;i=i.concat(o.toArray())}this.setUniform(t,i)},i.getMatrixArray=function(t){return this.uniforms[t].value},i.setMatrixArray=function(t,e){for(var r,i=[],n=rW(e);!(r=n()).done;){var o=r.value;i=i.concat(o.elements)}this.setUniform(t,i)},i.setMatrixNumberArray=function(t,e){this.setUniform(t,e)},i.getMatrix=function(t){return this.uniforms[t].value},i.setMatrix=function(t,e){this.setUniform(t,e)},i.setMatrix3=function(t,e){this.setUniform(t,e)},i.getVector2=function(t){return this.uniforms[t].value},i.setVector2=function(t,e){this.setUniform(t,e)},i.getVector3=function(t){return this.uniforms[t].value},i.setVector3=function(t,e){this.setUniform(t,e)},i.getVector4=function(t){return this.uniforms[t].value},i.setVector4=function(t,e){this.setUniform(t,e)},i.getQuaternion=function(t){return this.uniforms[t].value},i.setQuaternion=function(t,e){this.setUniform(t,e)},i.getFloat=function(t){return this.uniforms[t].value},i.setFloat=function(t,e){this.setUniform(t,e)},i.getFloats=function(t){return this.uniforms[t].value},i.setFloats=function(t,e){this.setUniform(t,e)},i.getInt=function(t){return this.uniforms[t].value},i.setInt=function(t,e){this.setUniform(t,e)},i.hasUniform=function(t){return!!this.uniforms[t]},i.setUniform=function(t,e){var r=new eJ.Uniform(e);this.uniforms[t]=this.material.uniforms[t]=r},i.enableMacro=function(t){throw Error("Method not implemented.")},i.disableMacro=function(t){throw Error("Method not implemented.")},i.isMacroEnabled=function(t){throw Error("Method not implemented.")},i.clone=function(t){throw Error("Method not implemented.")},i.cloneUniforms=function(t){throw Error("Method not implemented.")},i.fromData=function(t){throw Error("Method not implemented.")},i.dispose=function(t){this.destroyed&&(this.material.dispose(),this.destroyed=!0)},rG(r,[{key:"blending",get:function(){return this.material.blending!==eJ.NoBlending},set:function(t){this.material.blending=t?eJ.CustomBlending:eJ.NoBlending}},{key:"blendFunction",get:function(){var t=this.material,e=t.blendSrc,r=t.blendDst;return[e,r,t.blendSrcAlpha||e,t.blendDstAlpha||r]},set:function(t){if(t){var e=t[0],r=t[1],i=t[2],n=t[3];this.material.blendSrc=ui[e],this.material.blendDst=ui[r],this.material.blendSrcAlpha=ui[i],this.material.blendDstAlpha=ui[n]}}},{key:"blendEquation",get:function(){var t=this.material,e=t.blendEquation;return[e,t.blendEquationAlpha||e]},set:function(t){if(t){var e=t[0],r=t[1];this.material.blendEquation=e,this.material.blendEquationAlpha=r}}},{key:"depthTest",get:function(){return this.material.depthTest},set:function(t){this.material.depthTest=!!t}},{key:"depthMask",get:function(){return this.material.depthWrite},set:function(t){this.material.depthWrite=!!t}},{key:"depthFunc",get:function(){return this.material.depthFunc},set:function(t){void 0!==t&&(this.material.depthFunc=ua[t])}},{key:"polygonOffsetFill",get:function(){return this.material.polygonOffset},set:function(t){this.material.polygonOffset=!!t}},{key:"polygonOffset",get:function(){return[this.material.polygonOffsetFactor,this.material.polygonOffsetUnits]},set:function(t){if(t){var e=t[0],r=t[1];this.material.polygonOffsetFactor=e,this.material.polygonOffsetUnits=r}}},{key:"sampleAlphaToCoverage",get:function(){return this.material.alphaToCoverage},set:function(t){this.material.alphaToCoverage=!!t}},{key:"stencilTest",get:function(){return this.material.stencilWrite},set:function(t){this.material.stencilWrite=!!t}},{key:"stencilMask",get:function(){return[this.material.stencilWriteMask,this.material.stencilWriteMask]},set:function(t){t&&(this.material.stencilWriteMask=t[0])}},{key:"stencilRef",get:function(){return[this.material.stencilRef,this.material.stencilRef]},set:function(t){t&&(this.material.stencilRef=t[0])}},{key:"stencilFunc",get:function(){return[this.material.stencilFunc,this.material.stencilFunc]},set:function(t){t&&(this.material.stencilFunc=un[t[0]])}},{key:"stencilOpFail",get:function(){return[this.material.stencilFail,this.material.stencilZFail]},set:function(t){t&&(this.material.stencilFail=uo[t[0]])}},{key:"stencilOpZFail",get:function(){return[this.material.stencilZFail,this.material.stencilZFail]},set:function(t){t&&(this.material.stencilZFail=uo[t[0]])}},{key:"stencilOpZPass",get:function(){return[this.material.stencilZPass,this.material.stencilZPass]},set:function(t){t&&(this.material.stencilZPass=uo[t[0]])}},{key:"culling",get:function(){return this.material.side!==eJ.DoubleSide},set:function(t){this.material.side=t?eJ.FrontSide:eJ.DoubleSide}},{key:"cullFace",get:function(){return this.material.side},set:function(t){t===tk.FRONT?this.material.side=eJ.FrontSide:t===tk.BACK&&(this.material.side=eJ.BackSide)}}]),r}(iL),ul=1,uc=function(t){function e(e,r){if((i=t.call(this,e)||this).attributes={},i.destroyed=!1,i.attributesName=[],!r)return ak(i);var i,n=r.drawStart,o=r.drawCount,a=r.indices,s=r.mode,u=r.name,l=void 0===u?"effectsGeometry:"+ul++:u;i.name=l,i.mode=null!=s?s:r3.TRIANGLES;var c=[],h={},f=new eJ.BufferGeometry;return Object.keys(r.attributes).forEach(function(t){var e=r.attributes[t];if("dataSource"in e){var n=e.dataSource;if(n){void 0===h[n]&&i.setAttributeType(n,e,f,h,r.maxVertex);var o=e.size,a=e.offset,s=e.normalize,u=h[n],l=u.buffer,m=u.dataLength,d=new eJ.InterleavedBufferAttribute(l,o,(null!=a?a:0)/m,s);f.setAttribute(t,d),h[t]={buffer:l,attribute:d,type:u.type,dataLength:m}}}else i.setAttributeType(t,e,f,h,r.maxVertex);c.push(t)}),a&&a.data&&f.setIndex(new eJ.BufferAttribute(a.data,1)),i.geometry=f,i.attributes=h,i.attributesName=c,i.drawStart=void 0===n?0:n,i.drawCount=null!=o?o:0,i}rH(e,t);var r=e.prototype;return r.getAttributeData=function(t){if(void 0!=this.attributes[t])return this.attributes[t].buffer.array},r.setAttributeData=function(t,e){if(void 0!=this.attributes[t]){var r=this.attributes[t].buffer;if(e.length>r.array.length){var i=new eJ.InterleavedBuffer(e,r.stride);r=this.attributes[t].attribute.data=i,this.geometry.setAttribute(t,this.attributes[t].attribute)}else r.set(e,0),r.updateRange.count=e.length,r.updateRange.offset=0;this.geometry.attributes[t].needsUpdate=!0}},r.setAttributeSubData=function(t,e,r){void 0!=this.attributes[t]&&(this.attributes[t].buffer.set(r,e),this.geometry.attributes[t].needsUpdate=!0)},r.getAttributeStride=function(t){var e=this.attributes[t];return e.buffer.stride*iG[e.type]},r.getAttributeNames=function(){return this.attributesName},r.getIndexData=function(){var t=this.geometry.getIndex();return null===t?void 0:t.array},r.setIndexData=function(t){t&&(this.geometry.setIndex(new eJ.BufferAttribute(t,1)),this.geometry.index.needsUpdate=!0)},r.setIndexSubData=function(t,e){var r=this.geometry.getIndex();if(null!==r){var i=t+e.length;if(r.count<i){var n=new e.constructor(end);n.set(r.array),r.array=n}r.array.set(e,t),this.geometry.index.needsUpdate=!0}},r.setDrawStart=function(t){this.drawStart=t},r.getDrawStart=function(){return this.drawStart},r.setDrawCount=function(t){this.drawCount=t},r.getDrawCount=function(){return this.drawCount},r.dispose=function(){this.destroyed||(this.geometry.dispose(),this.destroyed=!0)},r.setAttributeType=function(t,e,r,i,n){var o=e.stride,a=e.size,s=e.offset,u=e.normalize,l=e.type,c=void 0===l?r3.FLOAT:l,h=e.data;if(c&&!h&&(h=iH(c)),h){var f=e1(h,Float32Array)?Float32Array.BYTES_PER_ELEMENT:Uint16Array.BYTES_PER_ELEMENT,m=(void 0===o?0:o)/f,d=(n=(null!=n?n:0)*m)||a*f;d&&0===h.length&&(h=e1(h,Float32Array)?new Float32Array(d):new Uint16Array(d));var p=new eJ.InterleavedBuffer(h,m),v=new eJ.InterleavedBufferAttribute(p,a,(null!=s?s:0)/f,u);r.setAttribute(t,v),i[t]={buffer:p,attribute:v,type:c,dataLength:f}}},rG(e,[{key:"drawCount",get:function(){return this.geometry.drawRange.count},set:function(t){this.geometry.drawRange.count=t}},{key:"drawStart",get:function(){return this.geometry.drawRange.start},set:function(t){this.geometry.drawRange.start=t}}]),e}(iX),uh=function(e){function r(t,r){if(!r)return ak(i);var i,n=r.material,o=r.geometry,a=r.priority;return(i=e.call(this,t,r)||this).geometry=o,i.material=n,o.mode===r3.LINES?i.mesh=new eJ.LineSegments(o.geometry,n.material):i.mesh=new eJ.Mesh(o.geometry,n.material),i.priority=void 0===a?0:a,i}rH(r,e);var i=r.prototype;return i.setVisible=function(t){this.mesh.visible=t},i.getVisible=function(){return this.mesh.visible},i.firstGeometry=function(){return this.geometry},i.setMaterial=function(e,r){r!==t.DestroyOptions.keep&&this.material.dispose(r),this.material=e,this.mesh.material=e.material},i.start=function(){e.prototype.start.call(this),this.engine.threeGroup.add(this.mesh)},i.restore=function(){},i.render=function(t){!this.isDestroyed&&this.getVisible()&&(this.material.setMatrix("effects_ObjectToWorld",this.worldMatrix),this.material.use(t,t.renderingData.currentFrame.globalUniforms))},i.dispose=function(t){this.destroyed||(this.mesh.clear(),this.destroyed=!0)},rG(r,[{key:"priority",get:function(){return this.mesh.renderOrder},set:function(t){this.mesh&&(this.mesh.renderOrder=t)}}]),r}(iQ),uf=function(e){function r(r,i,n){if(void 0===n&&(n={}),o=e.call(this,r)||this,i){var o,a=i.width,s=i.height;o.texture=o.createTextureByType(ir({},n,{sourceType:t.TextureSourceType.data,data:i})),o.width=void 0===a?1:a,o.height=void 0===s?1:s}else o.texture=o.createTextureByType(n);return o.texture.needsUpdate=!0,o}rH(r,e);var i=r.prototype;return i.updateSource=function(t){this.texture.dispose(),this.texture=this.createTextureByType(t),this.texture.needsUpdate=!0},i.startVideo=function(){var e=this;return e0(function(){var r;return e4(this,function(i){switch(i.label){case 0:if(e.sourceType!==t.TextureSourceType.video||!(r=e.texture.source.data).paused)return[3,2];return[4,r.play()];case 1:i.sent(),i.label=2;case 2:return[2]}})})()},i.assembleOptions=function(e){var i=e.target,n=void 0===i?r3.TEXTURE_2D:i;return e.sourceType||("image"in e?e.sourceType=t.TextureSourceType.image:"data"in e?e.sourceType=t.TextureSourceType.data:"video"in e?e.sourceType=t.TextureSourceType.video:e.sourceType=t.TextureSourceType.none),ir({target:n,format:eJ.RGBAFormat,type:eJ.UnsignedByteType},e,{minFilter:r.toThreeJsTextureFilter(e.minFilter),magFilter:r.toThreeJsTextureFilter(e.magFilter),wrapS:r.toThreeJsTextureWrap(e.wrapS),wrapT:r.toThreeJsTextureWrap(e.wrapT)})},i.dispose=function(){this.texture.dispose()},i.createTextureByType=function(e){var r=this.assembleOptions(e),i=r.flipY,n=r.type,o=r.wrapS,a=r.wrapT,s=r.minFilter,u=r.magFilter,l=r.sourceType,c=eJ.UVMapping,h=r.format,f=void 0;if(this.sourceType=l,l===t.TextureSourceType.data){var m=e.data;f=new eJ.DataTexture(m.data,m.width,m.height,h,n,c,o,a,u,s),this.width=m.width,this.height=m.height}else if(l===t.TextureSourceType.image){var d=e.image;f=new eJ.Texture(d,c,o,a,u,s,h,n),this.width=d.width,this.height=d.height}else if(l===t.TextureSourceType.compressed){var p=0,v=0,y=e.mipmaps.map(function(t){var e=t.data,r=t.width,i=t.height;return p=p<r?r:p,v=v<i?i:v,{data:e,width:r,height:i,colorSpace:"srgb"}});h=eJ.RGBA_ASTC_4x4_Format,f=new eJ.CompressedTexture(y,p,v,h,n,c,o,a,u,s),this.width=p,this.height=v}else if(l===t.TextureSourceType.video)f=new eJ.VideoTexture(e.video,c,o,a,u,s,h,n);else if(l===t.TextureSourceType.framebuffer){var g=e.data;if(g){var x,T,E=null!=(x=g.width)?x:0,_=null!=(T=g.height)?T:0;f=new eJ.FramebufferTexture(E,_,h),this.width=E,this.height=_}}else l===t.TextureSourceType.none&&((f=new eJ.DataTexture(new Uint8Array(4).fill(255),1,1)).wrapS=eJ.MirroredRepeatWrapping,f.wrapT=eJ.MirroredRepeatWrapping,this.width=this.height=1);if(f)return f.flipY=!!i,f;throw Error("使用未知的数据类型创建纹理")},r.toThreeJsTextureFilter=function(t){return t===r3.LINEAR?eJ.LinearFilter:eJ.NearestFilter},r.toThreeJsTextureWrap=function(t){switch(t){case r3.MIRRORED_REPEAT:return eJ.MirroredRepeatWrapping;case r3.REPEAT:return eJ.RepeatWrapping;default:return eJ.ClampToEdgeWrapping}},r}(i_),um=function(t){function e(e,r,i){var n;return(n=t.call(this,e,r,i)||this).rootItem.getComponent(s8).resetStatus(),n}rH(e,t);var r=e.prototype;return r.updateVideo=function(){this.textures.map(function(t){return t.startVideo()})},r.prepareRender=function(){var t=this.renderer;this.renderFrame._renderPasses[0].meshes.length=0;for(var e,r=rW(this.rootComposition.items);!(e=r()).done;)for(var i,n=e.value.getComponents(iZ),o=rW(n);!(i=o()).done;){var a=i.value;a.isActiveAndEnabled&&a.render(t)}for(var s,u=rW(this.refContent);!(s=u()).done;)for(var l,c=s.value,h=rW(c.getComponent(s8).items);!(l=h()).done;)for(var f,m=l.value.getComponents(iZ),d=rW(m);!(f=d()).done;){var p=f.value;p.isActiveAndEnabled&&p.render(t)}},r.getRendererOptions=function(){var t=uf.createWithData(this.renderer.engine,{data:new Uint8Array(4).fill(255),width:1,height:1});return t.texture.needsUpdate=!0,this.rendererOptions||(this.rendererOptions={emptyTexture:t,cachePrefix:"-"}),this.rendererOptions},e}(s9);um.shape={};var ud=function(t){function e(e){var r;return(r=t.call(this)||this).gpuCapability=new np(e),r}return rH(e,t),e.prototype.setOptions=function(t){var e=t.threeCamera,r=t.threeGroup,i=t.composition;this.threeCamera=e,this.threeGroup=r,this.composition=i},e}(ue),up=function(t){function e(e){var r;return(r=t.call(this)||this).engine=new ud(e),r.renderingData={currentFrame:{}},r}return rH(e,t),e}(nx),uv=function(t){function e(e,r){(i=t.call(this)||this).compositions=[],i.baseCompositionIndex=0,i.env="";var i,n=r.width,o=r.height,a=r.camera;return i.renderer=new up(e),i.width=n,i.height=o,i.camera=a,i}rH(e,t);var r=e.prototype;return r.loadScene=function(t,e){var r=this;return e0(function(){var i,n;return e4(this,function(o){switch(o.label){case 0:if(n=r.baseCompositionIndex,!rF(t))return[3,2];return r.baseCompositionIndex+=t.length,[4,Promise.all(t.map(e0(function(t,i){var o;return e4(this,function(a){switch(a.label){case 0:return[4,r.createComposition(t,e)];case 1:return(o=a.sent()).setIndex(n+i),[2,o]}})})))];case 1:return i=o.sent(),[3,4];case 2:return r.baseCompositionIndex+=1,[4,r.createComposition(t,e)];case 3:(i=o.sent()).setIndex(n),o.label=4;case 4:return[2,i]}})})()},r.createComposition=function(t,e){void 0===e&&(e={});var r=this;return e0(function(){var i,n,o,a,s,u,l,c,h;return e4(this,function(f){switch(f.label){case 0:return i=performance.now(),n=ir({autoplay:!0},e),uy(t)?(o=t.scene,n=ir({},n,t.options||{})):o=t,r.assetManager?r.assetManager.updateOptions(n):r.assetManager=new s4(n),[4,r.assetManager.loadScene(o,r.renderer,{env:r.env})];case 1:for(a=f.sent(),(s=r.renderer.engine).clearResources(),s.addPackageDatas(a),u=0;u<a.textureOptions.length;u++)a.textureOptions[u]=s.assetLoader.loadGUID(a.textureOptions[u].id),a.textureOptions[u].initialize();if(l=new ut(a,s),!s.database)return[3,3];return[4,s.createVFXItemsAsync(a)];case 2:f.sent(),f.label=3;case 3:return c=new um(ir({},n,{width:r.width,height:r.height,renderer:r.renderer}),a,l),r.renderer.engine.setOptions({threeCamera:r.camera,threeGroup:r,composition:c}),n.autoplay?c.play():c.pause(),h=performance.now()-i+c.statistic.loadTime,c.statistic.firstFrameTime=h,rM.info("first frame: ["+c.name+"]"+h.toFixed(4)+"ms"),r.compositions.push(c),[2,c]}})})()},r.update=function(t){this.compositions.forEach(function(e){e.update(t)})},rG(e,[{key:"currentComposition",get:function(){return this.compositions[0]}}]),e}(eJ.Group);function uy(t){return rD(t)&&"scene"in t}t.ThreeSpriteComponent=function(t){function e(){return t.apply(this,arguments)}rH(e,t);var r=e.prototype;return r.setVisible=function(t){this.threeMesh.visible=t},r.getVisible=function(){return this.threeMesh.visible},r.dispose=function(){t.prototype.dispose.call(this),this.isActiveAndEnabled||this.threeMesh.clear()},r.fromData=function(e){t.prototype.fromData.call(this,e),this.threeMesh||(this.geometry.mode===r3.LINES?this.threeMesh=new eJ.LineSegments(this.geometry.geometry,this.material.material):this.threeMesh=new eJ.Mesh(this.geometry.geometry,this.material.material))},r.start=function(){t.prototype.start.call(this),this.engine.threeGroup.add(this.threeMesh)},r.render=function(t){this.isActiveAndEnabled&&(this.material.setVector2("_Size",this.transform.size),this.material.setMatrix("effects_ObjectToWorld",this.transform.getWorldMatrix()),this.material.use(t,t.renderingData.currentFrame.globalUniforms))},r.onDestroy=function(){this.threeMesh.clear()},rG(e,[{key:"priority",get:function(){return this.threeMesh.renderOrder},set:function(t){this.threeMesh&&(this.threeMesh.renderOrder=t)}},{key:"enabled",get:function(){return this.threeMesh.visible},set:function(t){this.threeMesh.visible=t,t&&this.onEnable()}}]),e}(t.SpriteComponent),t.ThreeSpriteComponent=e3([r1(t.DataType.SpriteComponent)],t.ThreeSpriteComponent),od(8),i_.create=function(t,e){return new uf(t,void 0,e)},i_.createWithData=function(t,e,r){return new uf(t,e,r)},iL.create=function(t,e){return new uu(t,e)},iX.create=function(t,e){return new uc(t,e)},iQ.create=function(t,e){return new uh(t,e)};var ug="2.0.0-alpha.7";rM.info("THREEJS plugin version: "+ug),t.AbstractPlugin=nC,t.ActivationPlayable=oI,t.AssetLoader=nE,t.AssetManager=s4,t.BYTES_TYPE_MAP=iG,t.Behaviour=iW,t.BezierSegments=nj,t.COMPRESSED_TEXTURE=ny,t.CONSTANT_MAP_BLEND=ui,t.CONSTANT_MAP_DEPTH=ua,t.CONSTANT_MAP_STENCIL_FUNC=un,t.CONSTANT_MAP_STENCIL_OP=uo,t.COPY_FRAGMENT_SHADER=iN,t.COPY_MESH_SHADER_ID=iV,t.COPY_VERTEX_SHADER=iF,t.CalculateLoader=az,t.Camera=s6,t.CameraVFXItemLoader=n6,t.Component=iY,t.Composition=s9,t.CompositionComponent=s8,t.CompositionSourceManager=ut,t.CurveValue=nH,t.DEFAULT_FONTS=aK,t.Database=n_,t.Downloader=ii,t.EFFECTS_COPY_MESH_NAME=iP,t.EVENT_TYPE_CLICK=n8,t.EVENT_TYPE_TOUCH_END=ot,t.EVENT_TYPE_TOUCH_MOVE=n7,t.EVENT_TYPE_TOUCH_START=n9,t.EffectsObject=iT,t.Engine=ue,t.EventSystem=or,t.FILTER_NAME_NONE="none",t.Float16ArrayWrapper=nR,t.FrameBuffer=ng,t.GPUCapability=np,t.Geometry=iX,t.GlobalUniforms=nf,t.GradientValue=nX,t.HELP_LINK=oa,t.InteractBehavior=oe,t.InteractLoader=on,t.InteractMesh=ou,t.ItemBehaviour=ij,t.KTXTexture=iS,t.LineSegments=nY,t.LinearValue=nG,t.Material=iL,t.MaterialDataBlock=ib,t.Mesh=iQ,t.PLAYER_OPTIONS_ENV_EDITOR=oo,t.POST_PROCESS_SETTINGS="post_process_settings",t.ParticleBehaviourPlayable=aD,t.ParticleLoader=oJ,t.ParticleMesh=oU,t.ParticleSystemRenderer=ab,t.PassTextureCache=iU,t.PathSegments=nW,t.PluginSystem=sl,t.QCanvasViewer=aY,t.QText=aH,t.RENDER_PASS_NAME_PREFIX=ns,t.RENDER_PREFER_LOOKUP_TEXTURE=oD,t.RUNTIME_ENV="runtime_env",t.RandomSetValue=nk,t.RandomValue=nU,t.RandomVectorValue=nB,t.RenderBuffer=nm,t.RenderFrame=nl,t.RenderPass=i$,t.RenderPassPriorityNormal=1e3,t.RenderPassPriorityPostprocess=3e3,t.RenderPassPriorityPrepare=0,t.RenderTargetHandle=iK,t.Renderer=nx,t.RendererComponent=iZ,t.SEMANTIC_MAIN_PRE_COLOR_ATTACHMENT_0="PRE_MAIN_COLOR_0",t.SEMANTIC_MAIN_PRE_COLOR_ATTACHMENT_SIZE_0="PRE_MAIN_COLOR_SIZE_0",t.SEMANTIC_PRE_COLOR_ATTACHMENT_0="PRE_COLOR_0",t.SEMANTIC_PRE_COLOR_ATTACHMENT_SIZE_0="PRE_COLOR_SIZE_0",t.SPRITE_VERTEX_STRIDE=6,t.SemanticMap=iB,t.SerializationHelper=nT,t.ShaderVariant=iM,t.SpriteColorPlayable=oN,t.SpriteLoader=ov,t.StaticValue=nz,t.TEMPLATE_USE_OFFSCREEN_CANVAS=oz,t.TEXTURE_UNIFORM_MAP=us,t.TextLoader=sr,t.Texture=i_,t.TextureFactory=iA,t.ThreeComposition=um,t.ThreeDisplayObject=uv,t.ThreeEngine=ud,t.ThreeMaterial=uu,t.ThreeTexture=uf,t.Ticker=ur,t.TimelineClip=o_,t.TimelineComponent=oM,t.Track=oE,t.Transform=n5,t.TransformAnimationPlayable=ow,t.TransformAnimationPlayableAsset=oL,t.ValueGetter=nD,t.addByOrder=rh,t.addItem=e7,t.addItemWithOrder=function(t,e,r,i){if(void 0===i&&(i=!1),!t.includes(e)&&(t.push(e),1!==t.length)){var n=t.length-1;if(n){var o=t[n];if(i)for(;t[n-1][r]<o[r]&&(t[n]=t[n-1],0!=--n););else for(;t[n-1][r]>o[r]&&(t[n]=t[n-1],0!=--n););t[n]=o}}},t.alphaFrameFrag="uniform vec4 uTexRange;uniform vec2 uFilterSourceSize;\n#define INTERPOLATION 0\nvec4 filterMain(vec2 texCoord,sampler2D source){float x=uTexRange.x+texCoord.x*uTexRange.y;\n#if INTERPOLATION\nvec2 texInPixel=texCoord*uFilterSourceSize;vec2 coordMin=floor(texInPixel);vec2 pp=texInPixel-coordMin;vec4 fCoord=vec4(coordMin/uFilterSourceSize,(coordMin+vec2(1.))/uFilterSourceSize);vec4 cLT=texture2D(uFilterSource,vec2(fCoord.x,fCoord.w));vec4 cLB=texture2D(uFilterSource,vec2(fCoord.x,fCoord.y));vec4 cRT=texture2D(uFilterSource,vec2(fCoord.z,fCoord.w));vec4 cRB=texture2D(uFilterSource,vec2(fCoord.z,fCoord.y));vec4 color=mix(mix(cLB,cRB,pp.x),mix(cLT,cRT,pp.x),pp.y);\n#else\nvec4 color=texture2D(source,vec2(x,texCoord.y));\n#endif\nx=uTexRange.z+texCoord.x*uTexRange.w;vec4 opacity=texture2D(source,vec2(x,texCoord.y));return vec4(color.rgb,opacity.r);}",t.alphaMaskFrag="uniform sampler2D uAlphaXSample;uniform sampler2D uAlphaYSample;vec4 filterMain(vec2 texCoord,sampler2D source){vec4 color=texture2D(source,texCoord);float x=texture2D(uAlphaXSample,vec2(vFeatherCoord.x,0.)).r;float y=texture2D(uAlphaYSample,vec2(vFeatherCoord.y,0.)).r;return vec4(color.rgb,color.a*min(x,y));}",t.assertExist=rm,t.asserts=function(t,e){if(void 0===e&&(e="asserts failed"),!t)throw Error(e)},t.blend="vec4 blendColor(vec4 color,vec4 vc,float mode){vec4 ret=color*vc;\n#ifdef PRE_MULTIPLY_ALPHA\nfloat alpha=vc.a;\n#else\nfloat alpha=ret.a;\n#endif\nif(mode==1.){ret.rgb*=alpha;}else if(mode==2.){ret.rgb*=alpha;ret.a=dot(ret.rgb,vec3(0.33333333));}else if(mode==3.){alpha=color.r*alpha;ret=vec4(vc.rgb*alpha,alpha);}return ret;}",t.bloomMixVert="uniform sampler2D uBloomBlur;uniform vec4 uBloomParams;vec4 filterMain(vec2 coord,sampler2D tex){const vec3 gamma=vec3(1./2.2);vec4 c1=texture2D(tex,coord);vec4 bloomColor=texture2D(uBloomBlur,coord);float alpha=max(c1.a,bloomColor.a);vec3 color=max(c1.rgb*c1.a,bloomColor.rgb*bloomColor.a)/alpha*uBloomParams.y+bloomColor.rgb*uBloomParams.x;return vec4(color,alpha);}",t.bloomThresholdVert="uniform vec4 uColorThreshold;vec4 filterMain(vec2 coord,sampler2D tex){vec4 c1=texture2D(tex,coord);vec3 color=c1.rgb*c1.a;vec3 s=step(uColorThreshold.xyz,color);float m=min(s.r+s.g+s.b,1.);return c1*m;}",t.calculateTranslation=nO,t.cameraMoveFrag="uniform vec2 uMoveTexSize;uniform sampler2D uFilterSource;\n#define INTERPOLATION 1\nvec4 filterMain(vec2 texCoord,sampler2D tex){\n#ifdef INTERPOLATION\nvec2 texInPixel=texCoord*uMoveTexSize;vec2 coordMin=floor(texInPixel);vec2 pp=texInPixel-coordMin;vec4 fCoord=vec4(coordMin/uMoveTexSize,(coordMin+vec2(1.))/uMoveTexSize);vec4 cLT=texture2D(uFilterSource,vec2(fCoord.x,fCoord.w));vec4 cLB=texture2D(uFilterSource,vec2(fCoord.x,fCoord.y));vec4 cRT=texture2D(uFilterSource,vec2(fCoord.z,fCoord.w));vec4 cRB=texture2D(uFilterSource,vec2(fCoord.z,fCoord.y));vec4 cB=mix(cLB,cRB,pp.x);vec4 cT=mix(cLT,cRT,pp.x);return mix(cB,cT,pp.y);\n#else\nreturn texture2D(uFilterSource,texCoord);\n#endif\n}",t.cameraMoveVert="uniform mat4 uMoveCameraViewPro;vec4 filterMain(float p,vec4 pos){return uMoveCameraViewPro*pos;}",t.canvasPool=a$,t.colorGradingFrag=i8,t.colorStopsFromGradient=rn,t.colorToArr=rr,t.combineImageTemplate=a7,t.combineImageTemplate1=aj,t.combineImageTemplate1Async=function(t,e,r,i,n){return aq.apply(this,arguments)},t.combineImageTemplate2=a6,t.combineImageTemplate2Async=function(t,e,r,i,n){return a9.apply(this,arguments)},t.combineImageTemplateAsync=function(t,e,r,i,n){return se.apply(this,arguments)},t.compatibleFrag="#version 300 es\n#ifdef WEBGL2\n#define texture2D texture\n#define textureCube texture\n#define textureCubeLodEXT textureLod\nlayout(location=0)out vec4 fragColor;\n#else\n#define fragColor gl_FragColor\n#endif\n",t.compatibleVert="#version 300 es\n#ifdef WEBGL2\n#define texture2D texture\n#else\n#endif\n",t.copyFrag=iI,t.createCopyShader=iD,t.createGLContext=function(t,e,r){var i;if(void 0===e&&(e="webgl"),"webgl2"!==e||(i=t.getContext("webgl2",r))||console.debug("WebGL2 context retrieval failed, falling back to WebGL context."),i&&"webgl"!==e||(i=t.getContext("webgl",r)),!i)throw Error("This browser does not support WebGL or the WebGL version is incorrect. Please check your WebGL version.");return i},t.createKeyFrameMeta=n2,t.createShaderWithMarcos=r9,t.createShape=ai,t.createVFXItem=sn,t.createValueGetter=nq,t.deepClone=function t(e){if(rF(e))return e.map(t);if(e&&"object"==typeof e){if(ArrayBuffer.isView(e))return e.slice();for(var r={},i=Object.keys(e),n=0;n<i.length;n++){var o=i[n];r[o]=t(e[o])}return r}return e},t.defaultGlobalVolume=na,t.defaultPlugins=sa,t.delayFrag="uniform sampler2D uLastSource;uniform vec4 uParams;vec4 filterMain(vec2 coord,sampler2D tex){vec4 c1=texture2D(tex,coord);if(uParams.x<1.){return c1;}vec4 c2=texture2D(uLastSource,coord);return mix(c1,c2,uParams.y);}",t.deserializeMipmapTexture=iv,t.distortionFrag="uniform vec4 uWaveParams;\n#ifdef PATICLE_SHADER\nin vec4 vWaveParams;\n#else\nuniform vec4 vWaveParams;\n#endif\nvec4 filterMain(vec2 texCoord,sampler2D tex){vec2 vp=texCoord-uWaveParams.xy;float xx=dot(vp,uWaveParams.zw);float d=sin(vWaveParams.x*xx+vWaveParams.y)*vWaveParams.z;vec2 up=vec2(-uWaveParams.w,uWaveParams.z)*d;return texture2D(tex,clamp(texCoord+up,0.,1.));}",t.distortionVert="uniform vec4 uMovementValue;uniform vec4 uStrengthValue;uniform vec4 uPeriodValue;out vec4 vWaveParams;void filterMain(float lifetime){const float pi2=3.14159265;vWaveParams=vec4(getValueFromTime(lifetime,uPeriodValue)*pi2,getValueFromTime(lifetime,uMovementValue)*pi2,getValueFromTime(lifetime,uStrengthValue),0.);}",t.earcut=aT,t.effectsClass=r1,t.effectsClassStore=rQ,t.enlargeBuffer=re,t.ensureVec3=nw,t.findPreviousRenderPass=function(t,e){var r=t.indexOf(e);return t[r-1]},t.gaussianDownFrag="precision highp float;varying vec2 uv;uniform sampler2D _MainTex;uniform vec2 _TextureSize;float GaussWeight2D(float x,float y,float sigma){float PI=3.14159265358;float E=2.71828182846;float sigma_2=pow(sigma,2.0);float a=-(x*x+y*y)/(2.0*sigma_2);return pow(E,a)/(2.0*PI*sigma_2);}vec3 GaussNxN(sampler2D tex,vec2 uv,vec2 stride,float sigma){vec3 color=vec3(0.,0.,0.);const int r=5/2;float weight=0.0;for(int i=-r;i<=r;i++){for(int j=-r;j<=r;j++){float w=GaussWeight2D(float(i),float(j),sigma);vec2 coord=uv+vec2(i,j)*stride;color+=texture2D(tex,coord).rgb*w;weight+=w;}}color/=weight;return color;}void main(){vec4 mainColor=texture2D(_MainTex,uv);vec3 color=mainColor.rgb;color=GaussNxN(_MainTex,uv,1.0/_TextureSize,1.0);gl_FragColor=vec4(color,1.0);}",t.gaussianDownHFrag=i9,t.gaussianDownVFrag=i7,t.gaussianUpFrag=nt,t.generateEmptyTypedArray=iH,t.generateGUID=rU,t.generateHalfFloatTexture=iC,t.getBackgroundImage=a0,t.getColorFromGradientStops=ri,t.getConfig=function(t){return ok[t]},t.getDefaultTemplateCanvasPool=function(){return a$},t.getDefaultTextureFactory=function(){return es||(es=new iA),es},t.getGeometryByShape=a_,t.getGeometryTriangles=aE,t.getImageItemRenderInfo=oc,t.getKTXTextureOptions=iR,t.getKeyFrameMetaByRawValue=n1,t.getMergedStore=r$,t.getParticleMeshShader=oX,t.getPixelRatio=function(){if("object"==typeof screen&&"object"==typeof document){var t=Math.max(document.documentElement.clientWidth,window.innerWidth||0);return Math.min(screen.width/t*2,2)}return 1},t.getPreMultiAlpha=r6,t.getStandardComposition=sK,t.getStandardImage=sQ,t.getStandardItem=s$,t.getStandardJSON=sZ,t.getTextureSize=nc,t.glContext=r3,t.gpuTimer=function(t){var e=t.getExtension("EXT_disjoint_timer_query_webgl2");if(e){var r=t.createQuery(),i=e0(function(){return e4(this,function(n){return[2,new Promise(function(n,o){if(r){var a=t.getQueryParameter(r,t.QUERY_RESULT_AVAILABLE),s=t.getParameter(e.GPU_DISJOINT_EXT);a&&!s&&n(t.getQueryParameter(r,t.QUERY_RESULT)/1e3/1e3),(a||s)&&(t.deleteQuery(r),r=null),null!==a&&r&&window.setTimeout(function(){i().then(n).catch},1)}})]})});if(!r)return;return{begin:function(){r&&t.beginQuery(e.TIME_ELAPSED_EXT,r)},end:function(){t.endQuery(e.TIME_ELAPSED_EXT)},getTime:i}}},t.imageDataFromColor=function(t){rV(t)&&(t=rr(t));for(var e=t,r={width:1,height:1,data:new Uint8Array(4)},i=r.data,n=0;n<4;n++)i[n]=e[n];return r},t.imageDataFromGradient=rl,t.initErrors=r2,t.initGLContext=r4,t.integrate="float integrateCurveFrames(float t1,vec4 k0,vec4 k1){float k=k1.x-k0.x;float m0=k0.w*k;float m1=k1.z*k;float t0=k0.x;float v0=k0.y;float v1=k1.y;float dt=t0-t1;float dt2=dt*dt;float dt3=dt2*dt;vec4 a=vec4(dt3*dt,dt3,dt2,dt)/vec4(4.*k*k*k,3.*k*k,2.*k,1.);vec4 b=vec4(m0+m1+2.*v0-2.*v1,2.*m0+m1+3.*v0-3.*v1,m0,-v0);return dot(a,b);}float integrateByTimeCurveFrames(float t1,vec4 k0,vec4 k1){float k=k1.x-k0.x;float m0=k0.w*k;float m1=k1.z*k;float t0=k0.x;float v0=k0.y;float v1=k1.y;float dt=t0-t1;float dt2=dt*dt;float dt3=dt2*dt;float k2=k*k;float k3=k2*k;vec4 a=vec4(-30.*k3,10.*k2,5.*k,3.)*vec4(dt,dt2,dt3,dt3*dt);vec4 b=vec4(v0,m0,2.*m0+m1+3.*v0-3.*v1,m0+m1+2.*v0-2.*v1)*vec4(t0+t1,t0+2.*t1,t0+3.*t1,t0+4.*t1);return dot(a,b)/60./k3;}float integrateByTimeFromCurveFrames(float t1,float frameStart,float frameCount){if(t1==0.){return 0.;}int start=int(frameStart);int count=int(frameCount-1.);float ret=0.;for(int i=0;i<ITR_END;i++){if(i==count){return ret;}vec4 k0=lookup_curve(i+start);vec4 k1=lookup_curve(i+1+start);if(t1>k0.x&&t1<=k1.x){return ret+integrateByTimeCurveFrames(t1,k0,k1);}ret+=integrateByTimeCurveFrames(k1.x,k0,k1);}return ret;}float integrateFromCurveFrames(float time,float frameStart,float frameCount){if(time==0.){return 0.;}int start=int(frameStart);int count=int(frameCount-1.);float ret=0.;for(int i=0;i<ITR_END;i++){if(i==count){return ret;}vec4 k0=lookup_curve(i+start);vec4 k1=lookup_curve(i+1+start);if(time>k0.x&&time<=k1.x){return ret+integrateCurveFrames(time,k0,k1);}ret+=integrateCurveFrames(k1.x,k0,k1);}return ret;}float integrateByTimeLineSeg(float t,vec2 p0,vec2 p1){float t0=p0.x;float t1=p1.x;float y0=p0.y;float y1=p1.y;vec4 tSqr=vec4(t,t,t0,t0);tSqr=tSqr*tSqr;vec4 a=vec4(2.*t,3.,-t0,3.)*tSqr;float t1y0=t1*y0;vec4 b=vec4(y0-y1,t0*y1-t1y0,2.*y0+y1,t1y0);float r=dot(a,b);return r/(t0-t1)*0.16666667;}float integrateLineSeg(float time,vec2 p0,vec2 p1){float h=time-p0.x;float y0=p0.y;return(y0+y0+(p1.y-y0)*h/(p1.x-p0.x))*h/2.;}float integrateFromLineSeg(float time,float frameStart,float frameCount){if(time==0.){return 0.;}int start=int(frameStart);int count=int(frameCount-1.);float ret=0.;for(int i=0;i<ITR_END;i++){if(i>count){return ret;}vec4 ks=lookup_curve(i+start);vec2 k0=ks.xy;vec2 k1=ks.zw;if(time>k0.x&&time<=k1.x){return ret+integrateLineSeg(time,k0,k1);}ret+=integrateLineSeg(k1.x,k0,k1);vec2 k2=lookup_curve(i+start+1).xy;if(time>k1.x&&time<=k2.x){return ret+integrateLineSeg(time,k1,k2);}ret+=integrateLineSeg(k2.x,k1,k2);}return ret;}float integrateByTimeFromLineSeg(float time,float frameStart,float frameCount){if(time==0.){return 0.;}int start=int(frameStart);int count=int(frameCount-1.);float ret=0.;for(int i=0;i<ITR_END;i++){if(i>count){return ret;}vec4 ks=lookup_curve(i+start);vec2 k0=ks.xy;vec2 k1=ks.zw;if(time>k0.x&&time<=k1.x){return ret+integrateByTimeLineSeg(time,k0,k1);}ret+=integrateByTimeLineSeg(k1.x,k0,k1);vec2 k2=lookup_curve(i+start+1).xy;if(time>k1.x&&time<=k2.x){return ret+integrateByTimeLineSeg(time,k1,k2);}ret+=integrateByTimeLineSeg(k2.x,k1,k2);}return ret;}float getIntegrateFromTime0(float t1,vec4 value){float type=value.x;if(type==0.){return value.y*t1;}else if(type==1.){vec2 p0=vec2(0.,value.y);vec2 p1=vec2(value.w,value.z);return integrateLineSeg(t1,p0,p1);}if(type==3.){return integrateFromLineSeg(t1,value.y,value.z);}if(type==2.){float idx=floor(value.y);float ilen=floor(1./fract(value.y)+0.5);float d=integrateFromCurveFrames(t1,idx,ilen);return d*value.w+value.z*t1;}if(type==4.){return mix(value.y,value.z,aSeed)*t1;}return 0.;}float getIntegrateByTimeFromTime(float t0,float t1,vec4 value){float type=value.x;if(type==0.){return value.y*(t1*t1-t0*t0)/2.;}else if(type==1.){vec2 p0=vec2(0.,value.y);vec2 p1=vec2(value.w,value.z);return integrateByTimeLineSeg(t1,p0,p1)-integrateByTimeLineSeg(t0,p0,p1);}if(type==2.){float idx=floor(value.y);float ilen=floor(1./fract(value.y)+0.5);float d=integrateByTimeFromCurveFrames(t1,idx,ilen)-integrateByTimeFromCurveFrames(t0,idx,ilen);return d*value.w+value.z*pow(t1-t0,2.)*0.5;}if(type==3.){return integrateByTimeFromLineSeg(t1,value.y,value.z)-integrateByTimeFromLineSeg(t0,value.y,value.z);}if(type==4.){return mix(value.y,value.z,aSeed)*(t1*t1-t0*t0)/2.;}return 0.;}",t.interpolateColor=ro,t.isAndroid=rs,t.isArray=rF,t.isFunction=rN,t.isIOS=function(){return!!navigator.platform&&/iPad|iPhone|iPod/.test(navigator.platform)},t.isObject=rD,t.isScene=s2,t.isSceneWithOptions=uy,t.isSimulatorCellPhone=ru,t.isString=rV,t.isUniformStruct=iO,t.isUniformStructArray=function(t){return t&&void 0!==t.length&&iO(t[0])},t.isWebGL2=function(t){return"undefined"!=typeof WebGL2RenderingContext&&"WebGL2RenderingContext"===t.constructor.name},t.itemDefine="uniform mat4 uMainData[MAX_ITEM_COUNT];uniform vec4 uTexParams[MAX_ITEM_COUNT];uniform vec4 uTexOffset[MAX_ITEM_COUNT];",t.itemFrag=i2,t.itemFrameFrag=i0,t.itemVert=i1,t.loadBinary=ic,t.loadBlob=function(t){return im.apply(this,arguments)},t.loadImage=iu,t.loadMedia=a1,t.loadVideo=id,t.loadWebPOptional=ia,t.logger=rM,t.math=rL,t.modifyMaxKeyframeShader=oH,t.nearestPowerOfTwo=function(t){return Math.pow(2,Math.round(Math.log(t)/Math.LN2))},t.noop=rP,t.parsePercent=ra,t.particleFrag=i3,t.particleOriginTranslateMap=nP,t.particleVert=i4,t.pluginLoaderMap=so,t.random=rz,t.registerPlugin=su,t.removeItem=rt,t.requestAsync=aW,t.rotateVec2=aC,t.screenMeshVert=i6,t.serialize=r0,t.setBlendMode=r7,t.setConfig=function(t,e){return ok[t]=e},t.setDefaultTextureFactory=function(t){es=t},t.setMaskMode=ie,t.setMaxSpriteMeshItemCount=od,t.setRayFromCamera=nV,t.setSideMode=it,t.setSpriteMeshMaxFragmentTextures=function(e){t.maxSpriteTextureCount=e},t.setSpriteMeshMaxItemCountByGPU=function(e){return(t.maxSpriteTextureCount=Math.min(e.maxFragmentTextures,16),e.maxVertexUniforms>=256)?t.maxSpriteMeshItemCount=32:e.maxVertexUniforms>=128?t.maxSpriteMeshItemCount=16:void(t.maxSpriteTextureCount=8)},t.setUniformValue=function(t,e,r){t[e]?t[e].value=r:t[e]=new eJ.Uniform(r)},t.sortByOrder=rc,t.spec=rq,t.spriteMeshShaderFromFilter=oh,t.spriteMeshShaderFromRenderInfo=om,t.spriteMeshShaderIdFromRenderInfo=of,t.thresholdFrag=ne,t.throwDestroyedError=rk,t.trailVert=i5,t.translatePoint=function(t,e){for(var r=[-.5,.5,-.5,-.5,.5,.5,.5,-.5],i=0;i<8;i+=2)r[i]+=t,r[i+1]+=e;return r},t.trianglesFromRect=nF,t.unregisterPlugin=function(t){delete ss[t],delete so[t],rt(sa,t)},t.valIfUndefined=function(t,e){return null==t?e:t},t.value="#ifdef SHADER_VERTEX\n#define CURVE_VALUE_TEXTURE uVCurveValueTexture\n#define CURVE_VALUE_ARRAY uVCurveValues\n#define CURVE_VALUE_COUNT VERT_CURVE_VALUE_COUNT\n#define FRAG_CURVE_VALUE_COUNT 0\n#else\n#define CURVE_VALUE_TEXTURE uFCurveValueTexture\n#define CURVE_VALUE_ARRAY uFCurveValues\n#define CURVE_VALUE_COUNT FRAG_CURVE_VALUE_COUNT\n#define VERT_CURVE_VALUE_COUNT 0\n#endif\n#if CURVE_VALUE_COUNT > 0\n#if LOOKUP_TEXTURE_CURVE\nuniform sampler2D CURVE_VALUE_TEXTURE;const float uCurveCount=1./float(CURVE_VALUE_COUNT);\n#define lookup_curve(i) texture2D(CURVE_VALUE_TEXTURE,vec2(float(i) * uCurveCount,0.))\n#else\nuniform vec4 CURVE_VALUE_ARRAY[CURVE_VALUE_COUNT];\n#define lookup_curve(i) CURVE_VALUE_ARRAY[i]\n#endif\n#else\n#define lookup_curve(i) vec4(0.)\n#endif\n#ifdef WEBGL2\n#define ITR_END (count + 1)\n#else\n#define ITR_END MAX_C\n#endif\n#ifdef SHADER_VERTEX\nin float aSeed;out float vSeed;\n#define NONE_CONST_INDEX 1\n#else\n#if LOOKUP_TEXTURE_CURVE\n#define NONE_CONST_INDEX 1\n#endif\n#endif\n#ifdef NONE_CONST_INDEX\n#ifdef SHADER_VERTEX\n#define MAX_C VERT_MAX_KEY_FRAME_COUNT\n#else\n#define MAX_C FRAG_MAX_KEY_FRAME_COUNT\n#endif\n#else\n#define MAX_C CURVE_VALUE_COUNT\n#endif\nfloat evaluateCurveFrames(float time,vec4 keyframe0,vec4 keyframe1){float dt=keyframe1.x-keyframe0.x;float m0=keyframe0.w*dt;float m1=keyframe1.z*dt;float t=(time-keyframe0.x)/dt;float t2=t*t;float t3=t2*t;return dot(vec4(dot(vec3(2.,-3.,1.),vec3(t3,t2,1.)),dot(vec3(1,-2.,1),vec3(t3,t2,t)),t3-t2,dot(vec2(-2,3),vec2(t3,t2))),vec4(keyframe0.y,m0,m1,keyframe1.y));}float valueFromCurveFrames(float time,float frameStart,float frameCount){int start=int(frameStart);int count=int(frameCount-1.);int end=start+count;for(int i=0;i<ITR_END;i++){\n#ifdef NONE_CONST_INDEX\nif(i==count){return lookup_curve(count).y;}vec4 k0=lookup_curve(i+start);vec4 k1=lookup_curve(i+1+start);\n#else\nif(i<start){continue;}vec4 k0=lookup_curve(i);vec4 k1=lookup_curve(i+1);if(i==end){return k0.y;}\n#endif\nif(time>=k0.x&&time<=k1.x){return evaluateCurveFrames(time,k0,k1);}}return lookup_curve(0).y;}float evaluteLineSeg(float t,vec2 p0,vec2 p1){return p0.y+(p1.y-p0.y)*(t-p0.x)/(p1.x-p0.x);}float valueFromLineSegs(float time,float frameStart,float frameCount){int start=int(frameStart);int count=int(frameCount-1.);int end=start+count;for(int i=0;i<ITR_END;i++){\n#ifdef NONE_CONST_INDEX\nif(i>count){return lookup_curve(i).w;}\n#else\nif(i<start){continue;}if(i>end){return lookup_curve(i-2).w;}\n#endif\n#ifdef NONE_CONST_INDEX\nvec4 seg=lookup_curve(i+start);\n#else\nvec4 seg=lookup_curve(i);\n#endif\nvec2 p0=seg.xy;vec2 p1=seg.zw;if(time>=p0.x&&time<=p1.x){return evaluteLineSeg(time,p0,p1);}\n#ifdef NONE_CONST_INDEX\nvec2 p2=lookup_curve(i+start+1).xy;\n#else\nvec2 p2=lookup_curve(i+1).xy;\n#endif\nif(time>p1.x&&time<=p2.x){return evaluteLineSeg(time,p1,p2);}}return lookup_curve(0).y;}float getValueFromTime(float time,vec4 value){float type=value.x;if(type==0.){return value.y;}else if(type==1.){return mix(value.y,value.z,time/value.w);}if(type==2.){return valueFromCurveFrames(time,floor(value.y),floor(1./fract(value.y)+0.5))*value.w+value.z;}if(type==3.){return valueFromLineSegs(time,value.y,value.z);}if(type==4.){\n#ifdef SHADER_VERTEX\nfloat seed=aSeed;\n#else\nfloat seed=vSeed;\n#endif\nreturn mix(value.y,value.z,seed);}return 0.;}",t.valueDefine="#ifdef SHADER_VERTEX\n#define CURVE_VALUE_TEXTURE uVCurveValueTexture\n#define CURVE_VALUE_ARRAY uVCurveValues\n#define CURVE_VALUE_COUNT VERT_CURVE_VALUE_COUNT\n#define FRAG_CURVE_VALUE_COUNT 0\n#else\n#define CURVE_VALUE_TEXTURE uFCurveValueTexture\n#define CURVE_VALUE_ARRAY uFCurveValues\n#define CURVE_VALUE_COUNT FRAG_CURVE_VALUE_COUNT\n#define VERT_CURVE_VALUE_COUNT 0\n#endif\n#if CURVE_VALUE_COUNT > 0\n#if LOOKUP_TEXTURE_CURVE\nuniform sampler2D CURVE_VALUE_TEXTURE;const float uCurveCount=1./float(CURVE_VALUE_COUNT);\n#define lookup_curve(i) texture2D(CURVE_VALUE_TEXTURE,vec2(float(i) * uCurveCount,0.))\n#else\nuniform vec4 CURVE_VALUE_ARRAY[CURVE_VALUE_COUNT];\n#define lookup_curve(i) CURVE_VALUE_ARRAY[i]\n#endif\n#else\n#define lookup_curve(i) vec4(0.)\n#endif\n#ifdef WEBGL2\n#define ITR_END (count + 1)\n#else\n#define ITR_END MAX_C\n#endif\n",t.vecAssign=nI,t.vecFill=nL,t.vecMulCombine=nM,t.vecNormalize=function(t,e){1==arguments.length&&(e=t,t=[]);var r,i=e,n=(r=Math).hypot.apply(r,[].concat(i));if(0===n)return nI(t,i,i.length);for(var o=0;o<i.length;o++)t[o]=i[o]/n;return t},t.version=ug,Object.defineProperty(t,"__esModule",{value:!0})});
21
13
  //# sourceMappingURL=index.min.js.map