mx3d 0.0.36 → 0.0.38

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/mx3d.min.js CHANGED
@@ -1,25 +1,25 @@
1
- !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("TWEEN"),require("Dazzle"),require("BABYLON"),require("babylonjs-materials"),require("BABYLON.GUI"),require("BABYLON.SceneLoader"),require("babylonjs-serializers")):"function"==typeof define&&define.amd?define(["TWEEN","Dazzle","BABYLON","babylonjs-materials","BABYLON.GUI","BABYLON.SceneLoader","babylonjs-serializers"],t):"object"==typeof exports?exports.MX3D=t(require("TWEEN"),require("Dazzle"),require("BABYLON"),require("babylonjs-materials"),require("BABYLON.GUI"),require("BABYLON.SceneLoader"),require("babylonjs-serializers")):e.MX3D=t(e.TWEEN,e.Dazzle,e.BABYLON,e["babylonjs-materials"],e["BABYLON.GUI"],e["BABYLON.SceneLoader"],e["babylonjs-serializers"])}(window,function(i,s,n,o,r,a,c){return l=[function(t,e,g){!function(f){var e;t.exports=(e=function(h){var s;if("undefined"!=typeof window&&window.crypto&&(s=window.crypto),"undefined"!=typeof self&&self.crypto&&(s=self.crypto),!(s=!(s=!(s="undefined"!=typeof globalThis&&globalThis.crypto?globalThis.crypto:s)&&"undefined"!=typeof window&&window.msCrypto?window.msCrypto:s)&&void 0!==f&&f.crypto?f.crypto:s))try{s=g(19)}catch(e){}var i=Object.create||function(e){return t.prototype=e,e=new t,t.prototype=null,e};function t(){}var e={},n=e.lib={},o=n.Base={extend:function(e){var t=i(this);return e&&t.mixIn(e),t.hasOwnProperty("init")&&this.init!==t.init||(t.init=function(){t.$super.init.apply(this,arguments)}),(t.init.prototype=t).$super=this,t},create:function(){var e=this.extend();return e.init.apply(e,arguments),e},init:function(){},mixIn:function(e){for(var t in e)e.hasOwnProperty(t)&&(this[t]=e[t]);e.hasOwnProperty("toString")&&(this.toString=e.toString)},clone:function(){return this.init.prototype.extend(this)}},l=n.WordArray=o.extend({init:function(e,t){e=this.words=e||[],this.sigBytes=null!=t?t:4*e.length},toString:function(e){return(e||a).stringify(this)},concat:function(e){var t=this.words,i=e.words,s=this.sigBytes,n=e.sigBytes;if(this.clamp(),s%4)for(var o=0;o<n;o++){var r=i[o>>>2]>>>24-o%4*8&255;t[s+o>>>2]|=r<<24-(s+o)%4*8}else for(var a=0;a<n;a+=4)t[s+a>>>2]=i[a>>>2];return this.sigBytes+=n,this},clamp:function(){var e=this.words,t=this.sigBytes;e[t>>>2]&=4294967295<<32-t%4*8,e.length=h.ceil(t/4)},clone:function(){var e=o.clone.call(this);return e.words=this.words.slice(0),e},random:function(e){for(var t=[],i=0;i<e;i+=4)t.push(function(){if(s){if("function"==typeof s.getRandomValues)try{return s.getRandomValues(new Uint32Array(1))[0]}catch(e){}if("function"==typeof s.randomBytes)try{return s.randomBytes(4).readInt32LE()}catch(e){}}throw new Error("Native crypto module could not be used to get secure random number.")}());return new l.init(t,e)}}),r=e.enc={},a=r.Hex={stringify:function(e){for(var t=e.words,i=e.sigBytes,s=[],n=0;n<i;n++){var o=t[n>>>2]>>>24-n%4*8&255;s.push((o>>>4).toString(16)),s.push((15&o).toString(16))}return s.join("")},parse:function(e){for(var t=e.length,i=[],s=0;s<t;s+=2)i[s>>>3]|=parseInt(e.substr(s,2),16)<<24-s%8*4;return new l.init(i,t/2)}},c=r.Latin1={stringify:function(e){for(var t=e.words,i=e.sigBytes,s=[],n=0;n<i;n++){var o=t[n>>>2]>>>24-n%4*8&255;s.push(String.fromCharCode(o))}return s.join("")},parse:function(e){for(var t=e.length,i=[],s=0;s<t;s++)i[s>>>2]|=(255&e.charCodeAt(s))<<24-s%4*8;return new l.init(i,t)}},p=r.Utf8={stringify:function(e){try{return decodeURIComponent(escape(c.stringify(e)))}catch(e){throw new Error("Malformed UTF-8 data")}},parse:function(e){return c.parse(unescape(encodeURIComponent(e)))}},d=n.BufferedBlockAlgorithm=o.extend({reset:function(){this._data=new l.init,this._nDataBytes=0},_append:function(e){"string"==typeof e&&(e=p.parse(e)),this._data.concat(e),this._nDataBytes+=e.sigBytes},_process:function(e){var t,i=this._data,s=i.words,n=i.sigBytes,o=this.blockSize,r=n/(4*o),a=(r=e?h.ceil(r):h.max((0|r)-this._minBufferSize,0))*o,n=h.min(4*a,n);if(a){for(var c=0;c<a;c+=o)this._doProcessBlock(s,c);t=s.splice(0,a),i.sigBytes-=n}return new l.init(t,n)},clone:function(){var e=o.clone.call(this);return e._data=this._data.clone(),e},_minBufferSize:0}),u=(n.Hasher=d.extend({cfg:o.extend(),init:function(e){this.cfg=this.cfg.extend(e),this.reset()},reset:function(){d.reset.call(this),this._doReset()},update:function(e){return this._append(e),this._process(),this},finalize:function(e){return e&&this._append(e),this._doFinalize()},blockSize:16,_createHelper:function(i){return function(e,t){return new i.init(t).finalize(e)}},_createHmacHelper:function(i){return function(e,t){return new u.HMAC.init(i,t).finalize(e)}}}),e.algo={});return e}(Math),e)}.call(this,g(18))},function(e,t,i){var g;e.exports=(g=i(0),i(5),void(g.lib.Cipher||function(){var e=g,t=e.lib,i=t.Base,r=t.WordArray,s=t.BufferedBlockAlgorithm,n=e.enc,o=(n.Utf8,n.Base64),a=e.algo.EvpKDF,c=t.Cipher=s.extend({cfg:i.extend(),createEncryptor:function(e,t){return this.create(this._ENC_XFORM_MODE,e,t)},createDecryptor:function(e,t){return this.create(this._DEC_XFORM_MODE,e,t)},init:function(e,t,i){this.cfg=this.cfg.extend(i),this._xformMode=e,this._key=t,this.reset()},reset:function(){s.reset.call(this),this._doReset()},process:function(e){return this._append(e),this._process()},finalize:function(e){return e&&this._append(e),this._doFinalize()},keySize:4,ivSize:4,_ENC_XFORM_MODE:1,_DEC_XFORM_MODE:2,_createHelper:function(s){return{encrypt:function(e,t,i){return h(t).encrypt(s,e,t,i)},decrypt:function(e,t,i){return h(t).decrypt(s,e,t,i)}}}});function h(e){return"string"==typeof e?f:u}t.StreamCipher=c.extend({_doFinalize:function(){return this._process(!0)},blockSize:1});var l=e.mode={},n=t.BlockCipherMode=i.extend({createEncryptor:function(e,t){return this.Encryptor.create(e,t)},createDecryptor:function(e,t){return this.Decryptor.create(e,t)},init:function(e,t){this._cipher=e,this._iv=t}}),n=l.CBC=((l=n.extend()).Encryptor=l.extend({processBlock:function(e,t){var i=this._cipher,s=i.blockSize;p.call(this,e,t,s),i.encryptBlock(e,t),this._prevBlock=e.slice(t,t+s)}}),l.Decryptor=l.extend({processBlock:function(e,t){var i=this._cipher,s=i.blockSize,n=e.slice(t,t+s);i.decryptBlock(e,t),p.call(this,e,t,s),this._prevBlock=n}}),l);function p(e,t,i){var s,n=this._iv;n?(s=n,this._iv=void 0):s=this._prevBlock;for(var o=0;o<i;o++)e[t+o]^=s[o]}var l=(e.pad={}).Pkcs7={pad:function(e,t){for(var t=4*t,i=t-e.sigBytes%t,s=i<<24|i<<16|i<<8|i,n=[],o=0;o<i;o+=4)n.push(s);t=r.create(n,i);e.concat(t)},unpad:function(e){var t=255&e.words[e.sigBytes-1>>>2];e.sigBytes-=t}},d=(t.BlockCipher=c.extend({cfg:c.cfg.extend({mode:n,padding:l}),reset:function(){var e;c.reset.call(this);var t=this.cfg,i=t.iv,t=t.mode;this._xformMode==this._ENC_XFORM_MODE?e=t.createEncryptor:(e=t.createDecryptor,this._minBufferSize=1),this._mode&&this._mode.__creator==e?this._mode.init(this,i&&i.words):(this._mode=e.call(t,this,i&&i.words),this._mode.__creator=e)},_doProcessBlock:function(e,t){this._mode.processBlock(e,t)},_doFinalize:function(){var e,t=this.cfg.padding;return this._xformMode==this._ENC_XFORM_MODE?(t.pad(this._data,this.blockSize),e=this._process(!0)):(e=this._process(!0),t.unpad(e)),e},blockSize:4}),t.CipherParams=i.extend({init:function(e){this.mixIn(e)},toString:function(e){return(e||this.formatter).stringify(this)}})),l=(e.format={}).OpenSSL={stringify:function(e){var t=e.ciphertext,e=e.salt,t=e?r.create([1398893684,1701076831]).concat(e).concat(t):t;return t.toString(o)},parse:function(e){var t,i=o.parse(e),e=i.words;return 1398893684==e[0]&&1701076831==e[1]&&(t=r.create(e.slice(2,4)),e.splice(0,4),i.sigBytes-=16),d.create({ciphertext:i,salt:t})}},u=t.SerializableCipher=i.extend({cfg:i.extend({format:l}),encrypt:function(e,t,i,s){s=this.cfg.extend(s);var n=e.createEncryptor(i,s),t=n.finalize(t),n=n.cfg;return d.create({ciphertext:t,key:i,iv:n.iv,algorithm:e,mode:n.mode,padding:n.padding,blockSize:e.blockSize,formatter:s.format})},decrypt:function(e,t,i,s){return s=this.cfg.extend(s),t=this._parse(t,s.format),e.createDecryptor(i,s).finalize(t.ciphertext)},_parse:function(e,t){return"string"==typeof e?t.parse(e,this):e}}),e=(e.kdf={}).OpenSSL={execute:function(e,t,i,s){s=s||r.random(8);e=a.create({keySize:t+i}).compute(e,s),i=r.create(e.words.slice(t),4*i);return e.sigBytes=4*t,d.create({key:e,iv:i,salt:s})}},f=t.PasswordBasedCipher=u.extend({cfg:u.cfg.extend({kdf:e}),encrypt:function(e,t,i,s){i=(s=this.cfg.extend(s)).kdf.execute(i,e.keySize,e.ivSize);s.iv=i.iv;s=u.encrypt.call(this,e,t,i.key,s);return s.mixIn(i),s},decrypt:function(e,t,i,s){s=this.cfg.extend(s),t=this._parse(t,s.format);i=s.kdf.execute(i,e.keySize,e.ivSize,t.salt);return s.iv=i.iv,u.decrypt.call(this,e,t,i.key,s)}})}()))},function(e,t){e.exports=i},function(e,t){e.exports=s},function(e,t,i){e.exports=(e=i(0),i(8),i(20),i(21),i(6),i(22),i(7),i(9),i(11),i(23),i(12),i(24),i(25),i(26),i(10),i(27),i(5),i(1),i(28),i(29),i(30),i(31),i(32),i(33),i(34),i(35),i(36),i(37),i(38),i(39),i(40),i(41),i(42),i(43),e)},function(e,t,i){var o;e.exports=(o=i(0),i(9),i(10),function(){var e=o,t=e.lib,i=t.Base,l=t.WordArray,s=e.algo,t=s.MD5,n=s.EvpKDF=i.extend({cfg:i.extend({keySize:4,hasher:t,iterations:1}),init:function(e){this.cfg=this.cfg.extend(e)},compute:function(e,t){for(var i,s=this.cfg,n=s.hasher.create(),o=l.create(),r=o.words,a=s.keySize,c=s.iterations;r.length<a;){i&&n.update(i),i=n.update(e).finalize(t),n.reset();for(var h=1;h<c;h++)i=n.finalize(i),n.reset();o.concat(i)}return o.sigBytes=4*a,o}});e.EvpKDF=function(e,t,i){return n.create(i).compute(e,t)}}(),o.EvpKDF)},function(e,t,i){var s;e.exports=(s=i(0),function(){var c=s.lib.WordArray;s.enc.Base64={stringify:function(e){var t=e.words,i=e.sigBytes,s=this._map;e.clamp();for(var n=[],o=0;o<i;o+=3)for(var r=(t[o>>>2]>>>24-o%4*8&255)<<16|(t[o+1>>>2]>>>24-(o+1)%4*8&255)<<8|t[o+2>>>2]>>>24-(o+2)%4*8&255,a=0;a<4&&o+.75*a<i;a++)n.push(s.charAt(r>>>6*(3-a)&63));var c=s.charAt(64);if(c)for(;n.length%4;)n.push(c);return n.join("")},parse:function(e){var t=e.length,i=this._map;if(!(s=this._reverseMap))for(var s=this._reverseMap=[],n=0;n<i.length;n++)s[i.charCodeAt(n)]=n;var o=i.charAt(64);return!o||-1!==(o=e.indexOf(o))&&(t=o),function(e,t,i){for(var s=[],n=0,o=0;o<t;o++){var r,a;o%4&&(r=i[e.charCodeAt(o-1)]<<o%4*2,a=i[e.charCodeAt(o)]>>>6-o%4*2,a=r|a,s[n>>>2]|=a<<24-n%4*8,n++)}return c.create(s,n)}(e,t,s)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="}}(),s.enc.Base64)},function(e,t,i){var n;e.exports=(n=i(0),function(c){var e=n,t=e.lib,i=t.WordArray,s=t.Hasher,t=e.algo,_=[];!function(){for(var e=0;e<64;e++)_[e]=4294967296*c.abs(c.sin(e+1))|0}();t=t.MD5=s.extend({_doReset:function(){this._hash=new i.init([1732584193,4023233417,2562383102,271733878])},_doProcessBlock:function(e,t){for(var i=0;i<16;i++){var s=t+i,n=e[s];e[s]=16711935&(n<<8|n>>>24)|4278255360&(n<<24|n>>>8)}var o=this._hash.words,r=e[t+0],a=e[t+1],c=e[t+2],h=e[t+3],l=e[t+4],p=e[t+5],d=e[t+6],u=e[t+7],f=e[t+8],g=e[t+9],m=e[t+10],v=e[t+11],y=e[t+12],b=e[t+13],B=e[t+14],A=e[t+15],w=k(w=o[0],T=o[1],M=o[2],x=o[3],r,7,_[0]),x=k(x,w,T,M,a,12,_[1]),M=k(M,x,w,T,c,17,_[2]),T=k(T,M,x,w,h,22,_[3]);w=k(w,T,M,x,l,7,_[4]),x=k(x,w,T,M,p,12,_[5]),M=k(M,x,w,T,d,17,_[6]),T=k(T,M,x,w,u,22,_[7]),w=k(w,T,M,x,f,7,_[8]),x=k(x,w,T,M,g,12,_[9]),M=k(M,x,w,T,m,17,_[10]),T=k(T,M,x,w,v,22,_[11]),w=k(w,T,M,x,y,7,_[12]),x=k(x,w,T,M,b,12,_[13]),M=k(M,x,w,T,B,17,_[14]),w=O(w,T=k(T,M,x,w,A,22,_[15]),M,x,a,5,_[16]),x=O(x,w,T,M,d,9,_[17]),M=O(M,x,w,T,v,14,_[18]),T=O(T,M,x,w,r,20,_[19]),w=O(w,T,M,x,p,5,_[20]),x=O(x,w,T,M,m,9,_[21]),M=O(M,x,w,T,A,14,_[22]),T=O(T,M,x,w,l,20,_[23]),w=O(w,T,M,x,g,5,_[24]),x=O(x,w,T,M,B,9,_[25]),M=O(M,x,w,T,h,14,_[26]),T=O(T,M,x,w,f,20,_[27]),w=O(w,T,M,x,b,5,_[28]),x=O(x,w,T,M,c,9,_[29]),M=O(M,x,w,T,u,14,_[30]),w=L(w,T=O(T,M,x,w,y,20,_[31]),M,x,p,4,_[32]),x=L(x,w,T,M,f,11,_[33]),M=L(M,x,w,T,v,16,_[34]),T=L(T,M,x,w,B,23,_[35]),w=L(w,T,M,x,a,4,_[36]),x=L(x,w,T,M,l,11,_[37]),M=L(M,x,w,T,u,16,_[38]),T=L(T,M,x,w,m,23,_[39]),w=L(w,T,M,x,b,4,_[40]),x=L(x,w,T,M,r,11,_[41]),M=L(M,x,w,T,h,16,_[42]),T=L(T,M,x,w,d,23,_[43]),w=L(w,T,M,x,g,4,_[44]),x=L(x,w,T,M,y,11,_[45]),M=L(M,x,w,T,A,16,_[46]),w=C(w,T=L(T,M,x,w,c,23,_[47]),M,x,r,6,_[48]),x=C(x,w,T,M,u,10,_[49]),M=C(M,x,w,T,B,15,_[50]),T=C(T,M,x,w,p,21,_[51]),w=C(w,T,M,x,y,6,_[52]),x=C(x,w,T,M,h,10,_[53]),M=C(M,x,w,T,m,15,_[54]),T=C(T,M,x,w,a,21,_[55]),w=C(w,T,M,x,f,6,_[56]),x=C(x,w,T,M,A,10,_[57]),M=C(M,x,w,T,d,15,_[58]),T=C(T,M,x,w,b,21,_[59]),w=C(w,T,M,x,l,6,_[60]),x=C(x,w,T,M,v,10,_[61]),M=C(M,x,w,T,c,15,_[62]),T=C(T,M,x,w,g,21,_[63]),o[0]=o[0]+w|0,o[1]=o[1]+T|0,o[2]=o[2]+M|0,o[3]=o[3]+x|0},_doFinalize:function(){var e=this._data,t=e.words,i=8*this._nDataBytes,s=8*e.sigBytes;t[s>>>5]|=128<<24-s%32;var n=c.floor(i/4294967296),i=i;t[15+(64+s>>>9<<4)]=16711935&(n<<8|n>>>24)|4278255360&(n<<24|n>>>8),t[14+(64+s>>>9<<4)]=16711935&(i<<8|i>>>24)|4278255360&(i<<24|i>>>8),e.sigBytes=4*(t.length+1),this._process();for(var t=this._hash,o=t.words,r=0;r<4;r++){var a=o[r];o[r]=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8)}return t},clone:function(){var e=s.clone.call(this);return e._hash=this._hash.clone(),e}});function k(e,t,i,s,n,o,r){r=e+(t&i|~t&s)+n+r;return(r<<o|r>>>32-o)+t}function O(e,t,i,s,n,o,r){r=e+(t&s|i&~s)+n+r;return(r<<o|r>>>32-o)+t}function L(e,t,i,s,n,o,r){r=e+(t^i^s)+n+r;return(r<<o|r>>>32-o)+t}function C(e,t,i,s,n,o,r){r=e+(i^(t|~s))+n+r;return(r<<o|r>>>32-o)+t}e.MD5=s._createHelper(t),e.HmacMD5=s._createHmacHelper(t)}(Math),n.MD5)},function(e,t,i){var s;e.exports=(s=i(0),function(){var e=s,t=e.lib,n=t.Base,o=t.WordArray,e=e.x64={};e.Word=n.extend({init:function(e,t){this.high=e,this.low=t}}),e.WordArray=n.extend({init:function(e,t){e=this.words=e||[],this.sigBytes=null!=t?t:8*e.length},toX32:function(){for(var e=this.words,t=e.length,i=[],s=0;s<t;s++){var n=e[s];i.push(n.high),i.push(n.low)}return o.create(i,this.sigBytes)},clone:function(){for(var e=n.clone.call(this),t=e.words=this.words.slice(0),i=t.length,s=0;s<i;s++)t[s]=t[s].clone();return e}})}(),s)},function(e,t,i){var n;e.exports=(n=i(0),function(){var e=n,t=e.lib,i=t.WordArray,s=t.Hasher,t=e.algo,l=[],t=t.SHA1=s.extend({_doReset:function(){this._hash=new i.init([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(e,t){for(var i=this._hash.words,s=i[0],n=i[1],o=i[2],r=i[3],a=i[4],c=0;c<80;c++){c<16?l[c]=0|e[t+c]:(h=l[c-3]^l[c-8]^l[c-14]^l[c-16],l[c]=h<<1|h>>>31);var h=(s<<5|s>>>27)+a+l[c];h+=c<20?1518500249+(n&o|~n&r):c<40?1859775393+(n^o^r):c<60?(n&o|n&r|o&r)-1894007588:(n^o^r)-899497514,a=r,r=o,o=n<<30|n>>>2,n=s,s=h}i[0]=i[0]+s|0,i[1]=i[1]+n|0,i[2]=i[2]+o|0,i[3]=i[3]+r|0,i[4]=i[4]+a|0},_doFinalize:function(){var e=this._data,t=e.words,i=8*this._nDataBytes,s=8*e.sigBytes;return t[s>>>5]|=128<<24-s%32,t[14+(64+s>>>9<<4)]=Math.floor(i/4294967296),t[15+(64+s>>>9<<4)]=i,e.sigBytes=4*t.length,this._process(),this._hash},clone:function(){var e=s.clone.call(this);return e._hash=this._hash.clone(),e}});e.SHA1=s._createHelper(t),e.HmacSHA1=s._createHmacHelper(t)}(),n.SHA1)},function(e,t,i){var s;e.exports=(s=i(0),void function(){var e=s.lib.Base,a=s.enc.Utf8;s.algo.HMAC=e.extend({init:function(e,t){e=this._hasher=new e.init,"string"==typeof t&&(t=a.parse(t));var i=e.blockSize,s=4*i;(t=t.sigBytes>s?e.finalize(t):t).clamp();for(var e=this._oKey=t.clone(),t=this._iKey=t.clone(),n=e.words,o=t.words,r=0;r<i;r++)n[r]^=1549556828,o[r]^=909522486;e.sigBytes=t.sigBytes=s,this.reset()},reset:function(){var e=this._hasher;e.reset(),e.update(this._iKey)},update:function(e){return this._hasher.update(e),this},finalize:function(e){var t=this._hasher,e=t.finalize(e);return t.reset(),t.finalize(this._oKey.clone().concat(e))}})}())},function(e,t,i){var r;e.exports=(r=i(0),function(n){var e=r,t=e.lib,i=t.WordArray,s=t.Hasher,t=e.algo,o=[],f=[];!function(){function e(e){return 4294967296*(e-(0|e))|0}for(var t=2,i=0;i<64;)!function(e){for(var t=n.sqrt(e),i=2;i<=t;i++)if(!(e%i))return;return 1}(t)||(i<8&&(o[i]=e(n.pow(t,.5))),f[i]=e(n.pow(t,1/3)),i++),t++}();var g=[],t=t.SHA256=s.extend({_doReset:function(){this._hash=new i.init(o.slice(0))},_doProcessBlock:function(e,t){for(var i=this._hash.words,s=i[0],n=i[1],o=i[2],r=i[3],a=i[4],c=i[5],h=i[6],l=i[7],p=0;p<64;p++){p<16?g[p]=0|e[t+p]:(d=g[p-15],u=g[p-2],g[p]=((d<<25|d>>>7)^(d<<14|d>>>18)^d>>>3)+g[p-7]+((u<<15|u>>>17)^(u<<13|u>>>19)^u>>>10)+g[p-16]);var d=s&n^s&o^n&o,u=l+((a<<26|a>>>6)^(a<<21|a>>>11)^(a<<7|a>>>25))+(a&c^~a&h)+f[p]+g[p],l=h,h=c,c=a,a=r+u|0,r=o,o=n,n=s,s=u+(((s<<30|s>>>2)^(s<<19|s>>>13)^(s<<10|s>>>22))+d)|0}i[0]=i[0]+s|0,i[1]=i[1]+n|0,i[2]=i[2]+o|0,i[3]=i[3]+r|0,i[4]=i[4]+a|0,i[5]=i[5]+c|0,i[6]=i[6]+h|0,i[7]=i[7]+l|0},_doFinalize:function(){var e=this._data,t=e.words,i=8*this._nDataBytes,s=8*e.sigBytes;return t[s>>>5]|=128<<24-s%32,t[14+(64+s>>>9<<4)]=n.floor(i/4294967296),t[15+(64+s>>>9<<4)]=i,e.sigBytes=4*t.length,this._process(),this._hash},clone:function(){var e=s.clone.call(this);return e._hash=this._hash.clone(),e}});e.SHA256=s._createHelper(t),e.HmacSHA256=s._createHmacHelper(t)}(Math),r.SHA256)},function(e,t,i){var r;e.exports=(r=i(0),i(8),function(){var e=r,t=e.lib.Hasher,i=e.x64,s=i.Word,n=i.WordArray,i=e.algo;function o(){return s.create.apply(s,arguments)}var ee=[o(1116352408,3609767458),o(1899447441,602891725),o(3049323471,3964484399),o(3921009573,2173295548),o(961987163,4081628472),o(1508970993,3053834265),o(2453635748,2937671579),o(2870763221,3664609560),o(3624381080,2734883394),o(310598401,1164996542),o(607225278,1323610764),o(1426881987,3590304994),o(1925078388,4068182383),o(2162078206,991336113),o(2614888103,633803317),o(3248222580,3479774868),o(3835390401,2666613458),o(4022224774,944711139),o(264347078,2341262773),o(604807628,2007800933),o(770255983,1495990901),o(1249150122,1856431235),o(1555081692,3175218132),o(1996064986,2198950837),o(2554220882,3999719339),o(2821834349,766784016),o(2952996808,2566594879),o(3210313671,3203337956),o(3336571891,1034457026),o(3584528711,2466948901),o(113926993,3758326383),o(338241895,168717936),o(666307205,1188179964),o(773529912,1546045734),o(1294757372,1522805485),o(1396182291,2643833823),o(1695183700,2343527390),o(1986661051,1014477480),o(2177026350,1206759142),o(2456956037,344077627),o(2730485921,1290863460),o(2820302411,3158454273),o(3259730800,3505952657),o(3345764771,106217008),o(3516065817,3606008344),o(3600352804,1432725776),o(4094571909,1467031594),o(275423344,851169720),o(430227734,3100823752),o(506948616,1363258195),o(659060556,3750685593),o(883997877,3785050280),o(958139571,3318307427),o(1322822218,3812723403),o(1537002063,2003034995),o(1747873779,3602036899),o(1955562222,1575990012),o(2024104815,1125592928),o(2227730452,2716904306),o(2361852424,442776044),o(2428436474,593698344),o(2756734187,3733110249),o(3204031479,2999351573),o(3329325298,3815920427),o(3391569614,3928383900),o(3515267271,566280711),o(3940187606,3454069534),o(4118630271,4000239992),o(116418474,1914138554),o(174292421,2731055270),o(289380356,3203993006),o(460393269,320620315),o(685471733,587496836),o(852142971,1086792851),o(1017036298,365543100),o(1126000580,2618297676),o(1288033470,3409855158),o(1501505948,4234509866),o(1607167915,987167468),o(1816402316,1246189591)],te=[];!function(){for(var e=0;e<80;e++)te[e]=o()}();i=i.SHA512=t.extend({_doReset:function(){this._hash=new n.init([new s.init(1779033703,4089235720),new s.init(3144134277,2227873595),new s.init(1013904242,4271175723),new s.init(2773480762,1595750129),new s.init(1359893119,2917565137),new s.init(2600822924,725511199),new s.init(528734635,4215389547),new s.init(1541459225,327033209)])},_doProcessBlock:function(e,t){for(var i=this._hash.words,s=i[0],n=i[1],o=i[2],r=i[3],a=i[4],c=i[5],h=i[6],l=i[7],p=s.high,d=s.low,u=n.high,f=n.low,g=o.high,m=o.low,v=r.high,y=r.low,b=a.high,B=a.low,A=c.high,w=c.low,x=h.high,M=h.low,T=l.high,i=l.low,_=p,k=d,O=u,L=f,C=g,E=m,j=v,S=y,I=b,N=B,z=A,P=w,D=x,Y=M,R=T,V=i,F=0;F<80;F++){var H,G,W=te[F];F<16?(G=W.high=0|e[t+2*F],H=W.low=0|e[t+2*F+1]):($=(U=te[F-15]).high,J=U.low,K=(Z=te[F-2]).high,X=Z.low,q=(Q=te[F-7]).high,U=Q.low,Q=(Z=te[F-16]).high,G=(G=(($>>>1|J<<31)^($>>>8|J<<24)^$>>>7)+q+((H=(q=(J>>>1|$<<31)^(J>>>8|$<<24)^(J>>>7|$<<25))+U)>>>0<q>>>0?1:0))+((K>>>19|X<<13)^(K<<3|X>>>29)^K>>>6)+((H+=J=(X>>>19|K<<13)^(X<<3|K>>>29)^(X>>>6|K<<26))>>>0<J>>>0?1:0),H+=$=Z.low,W.high=G=G+Q+(H>>>0<$>>>0?1:0),W.low=H);var U=I&z^~I&D,q=N&P^~N&Y,X=_&O^_&C^O&C,K=(k>>>28|_<<4)^(k<<30|_>>>2)^(k<<25|_>>>7),J=ee[F],Z=J.high,Q=J.low,$=V+((N>>>14|I<<18)^(N>>>18|I<<14)^(N<<23|I>>>9)),W=R+((I>>>14|N<<18)^(I>>>18|N<<14)^(I<<23|N>>>9))+($>>>0<V>>>0?1:0),J=K+(k&L^k&E^L&E),R=D,V=Y,D=z,Y=P,z=I,P=N,I=j+(W=(W=(W=W+U+(($=$+q)>>>0<q>>>0?1:0))+Z+(($=$+Q)>>>0<Q>>>0?1:0))+G+(($=$+H)>>>0<H>>>0?1:0))+((N=S+$|0)>>>0<S>>>0?1:0)|0,j=C,S=E,C=O,E=L,O=_,L=k,_=W+(((_>>>28|k<<4)^(_<<30|k>>>2)^(_<<25|k>>>7))+X+(J>>>0<K>>>0?1:0))+((k=$+J|0)>>>0<$>>>0?1:0)|0}d=s.low=d+k,s.high=p+_+(d>>>0<k>>>0?1:0),f=n.low=f+L,n.high=u+O+(f>>>0<L>>>0?1:0),m=o.low=m+E,o.high=g+C+(m>>>0<E>>>0?1:0),y=r.low=y+S,r.high=v+j+(y>>>0<S>>>0?1:0),B=a.low=B+N,a.high=b+I+(B>>>0<N>>>0?1:0),w=c.low=w+P,c.high=A+z+(w>>>0<P>>>0?1:0),M=h.low=M+Y,h.high=x+D+(M>>>0<Y>>>0?1:0),i=l.low=i+V,l.high=T+R+(i>>>0<V>>>0?1:0)},_doFinalize:function(){var e=this._data,t=e.words,i=8*this._nDataBytes,s=8*e.sigBytes;return t[s>>>5]|=128<<24-s%32,t[30+(128+s>>>10<<5)]=Math.floor(i/4294967296),t[31+(128+s>>>10<<5)]=i,e.sigBytes=4*t.length,this._process(),this._hash.toX32()},clone:function(){var e=t.clone.call(this);return e._hash=this._hash.clone(),e},blockSize:32});e.SHA512=t._createHelper(i),e.HmacSHA512=t._createHmacHelper(i)}(),r.SHA512)},function(e,t){e.exports=n},function(e,t){e.exports=o},function(e,t){e.exports=r},function(e,t){e.exports=a},function(e,t){e.exports=c},function(e,t){var i=function(){return this}();try{i=i||new Function("return this")()}catch(e){"object"==typeof window&&(i=window)}e.exports=i},function(e,t){},function(e,t,i){var s;e.exports=(s=i(0),function(){var e,n;"function"==typeof ArrayBuffer&&(e=s.lib.WordArray,n=e.init,(e.init=function(e){if((e=(e=e instanceof ArrayBuffer?new Uint8Array(e):e)instanceof Int8Array||"undefined"!=typeof Uint8ClampedArray&&e instanceof Uint8ClampedArray||e instanceof Int16Array||e instanceof Uint16Array||e instanceof Int32Array||e instanceof Uint32Array||e instanceof Float32Array||e instanceof Float64Array?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):e)instanceof Uint8Array){for(var t=e.byteLength,i=[],s=0;s<t;s++)i[s>>>2]|=e[s]<<24-s%4*8;n.call(this,i,t)}else n.apply(this,arguments)}).prototype=e)}(),s.lib.WordArray)},function(e,t,i){var s;e.exports=(s=i(0),function(){var n=s.lib.WordArray,e=s.enc;e.Utf16=e.Utf16BE={stringify:function(e){for(var t=e.words,i=e.sigBytes,s=[],n=0;n<i;n+=2){var o=t[n>>>2]>>>16-n%4*8&65535;s.push(String.fromCharCode(o))}return s.join("")},parse:function(e){for(var t=e.length,i=[],s=0;s<t;s++)i[s>>>1]|=e.charCodeAt(s)<<16-s%2*16;return n.create(i,2*t)}};function r(e){return e<<8&4278255360|e>>>8&16711935}e.Utf16LE={stringify:function(e){for(var t=e.words,i=e.sigBytes,s=[],n=0;n<i;n+=2){var o=r(t[n>>>2]>>>16-n%4*8&65535);s.push(String.fromCharCode(o))}return s.join("")},parse:function(e){for(var t=e.length,i=[],s=0;s<t;s++)i[s>>>1]|=r(e.charCodeAt(s)<<16-s%2*16);return n.create(i,2*t)}}}(),s.enc.Utf16)},function(e,t,i){var s;e.exports=(s=i(0),function(){var c=s.lib.WordArray;s.enc.Base64url={stringify:function(e,t=!0){var i=e.words,s=e.sigBytes,n=t?this._safe_map:this._map;e.clamp();for(var o=[],r=0;r<s;r+=3)for(var a=(i[r>>>2]>>>24-r%4*8&255)<<16|(i[r+1>>>2]>>>24-(r+1)%4*8&255)<<8|i[r+2>>>2]>>>24-(r+2)%4*8&255,c=0;c<4&&r+.75*c<s;c++)o.push(n.charAt(a>>>6*(3-c)&63));var h=n.charAt(64);if(h)for(;o.length%4;)o.push(h);return o.join("")},parse:function(e,t=!0){var i=e.length,s=t?this._safe_map:this._map;if(!(n=this._reverseMap))for(var n=this._reverseMap=[],o=0;o<s.length;o++)n[s.charCodeAt(o)]=o;t=s.charAt(64);return!t||-1!==(t=e.indexOf(t))&&(i=t),function(e,t,i){for(var s=[],n=0,o=0;o<t;o++){var r,a;o%4&&(r=i[e.charCodeAt(o-1)]<<o%4*2,a=i[e.charCodeAt(o)]>>>6-o%4*2,a=r|a,s[n>>>2]|=a<<24-n%4*8,n++)}return c.create(s,n)}(e,i,n)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",_safe_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"}}(),s.enc.Base64url)},function(e,t,i){var n;e.exports=(n=i(0),i(11),function(){var e=n,t=e.lib.WordArray,i=e.algo,s=i.SHA256,i=i.SHA224=s.extend({_doReset:function(){this._hash=new t.init([3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428])},_doFinalize:function(){var e=s._doFinalize.call(this);return e.sigBytes-=4,e}});e.SHA224=s._createHelper(i),e.HmacSHA224=s._createHmacHelper(i)}(),n.SHA224)},function(e,t,i){var o;e.exports=(o=i(0),i(8),i(12),function(){var e=o,t=e.x64,i=t.Word,s=t.WordArray,t=e.algo,n=t.SHA512,t=t.SHA384=n.extend({_doReset:function(){this._hash=new s.init([new i.init(3418070365,3238371032),new i.init(1654270250,914150663),new i.init(2438529370,812702999),new i.init(355462360,4144912697),new i.init(1731405415,4290775857),new i.init(2394180231,1750603025),new i.init(3675008525,1694076839),new i.init(1203062813,3204075428)])},_doFinalize:function(){var e=n._doFinalize.call(this);return e.sigBytes-=16,e}});e.SHA384=n._createHelper(t),e.HmacSHA384=n._createHmacHelper(t)}(),o.SHA384)},function(e,t,i){var n;e.exports=(n=i(0),i(8),function(l){var e=n,t=e.lib,p=t.WordArray,s=t.Hasher,d=e.x64.Word,t=e.algo,_=[],k=[],O=[];!function(){for(var e=1,t=0,i=0;i<24;i++){_[e+5*t]=(i+1)*(i+2)/2%64;var s=(2*e+3*t)%5;e=t%5,t=s}for(e=0;e<5;e++)for(t=0;t<5;t++)k[e+5*t]=t+(2*e+3*t)%5*5;for(var n=1,o=0;o<24;o++){for(var r,a=0,c=0,h=0;h<7;h++)1&n&&((r=(1<<h)-1)<32?c^=1<<r:a^=1<<r-32),128&n?n=n<<1^113:n<<=1;O[o]=d.create(a,c)}}();var L=[];!function(){for(var e=0;e<25;e++)L[e]=d.create()}();t=t.SHA3=s.extend({cfg:s.cfg.extend({outputLength:512}),_doReset:function(){for(var e=this._state=[],t=0;t<25;t++)e[t]=new d.init;this.blockSize=(1600-2*this.cfg.outputLength)/32},_doProcessBlock:function(e,t){for(var i=this._state,s=this.blockSize/2,n=0;n<s;n++){var o=e[t+2*n],r=e[t+2*n+1],o=16711935&(o<<8|o>>>24)|4278255360&(o<<24|o>>>8);(w=i[n]).high^=r=16711935&(r<<8|r>>>24)|4278255360&(r<<24|r>>>8),w.low^=o}for(var a=0;a<24;a++){for(var c=0;c<5;c++){for(var h=0,l=0,p=0;p<5;p++)h^=(w=i[c+5*p]).high,l^=w.low;var d=L[c];d.high=h,d.low=l}for(c=0;c<5;c++)for(var u=L[(c+4)%5],f=L[(c+1)%5],g=f.high,f=f.low,h=u.high^(g<<1|f>>>31),l=u.low^(f<<1|g>>>31),p=0;p<5;p++)(w=i[c+5*p]).high^=h,w.low^=l;for(var m=1;m<25;m++){var v=(w=i[m]).high,y=w.low,b=_[m];l=b<32?(h=v<<b|y>>>32-b,y<<b|v>>>32-b):(h=y<<b-32|v>>>64-b,v<<b-32|y>>>64-b);b=L[k[m]];b.high=h,b.low=l}var B=L[0],A=i[0];B.high=A.high,B.low=A.low;for(c=0;c<5;c++)for(p=0;p<5;p++){var w=i[m=c+5*p],x=L[m],M=L[(c+1)%5+5*p],T=L[(c+2)%5+5*p];w.high=x.high^~M.high&T.high,w.low=x.low^~M.low&T.low}w=i[0],A=O[a];w.high^=A.high,w.low^=A.low}},_doFinalize:function(){var e=this._data,t=e.words,i=(this._nDataBytes,8*e.sigBytes),s=32*this.blockSize;t[i>>>5]|=1<<24-i%32,t[(l.ceil((1+i)/s)*s>>>5)-1]|=128,e.sigBytes=4*t.length,this._process();for(var n=this._state,t=this.cfg.outputLength/8,o=t/8,r=[],a=0;a<o;a++){var c=n[a],h=c.high,c=c.low,h=16711935&(h<<8|h>>>24)|4278255360&(h<<24|h>>>8);r.push(c=16711935&(c<<8|c>>>24)|4278255360&(c<<24|c>>>8)),r.push(h)}return new p.init(r,t)},clone:function(){for(var e=s.clone.call(this),t=e._state=this._state.slice(0),i=0;i<25;i++)t[i]=t[i].clone();return e}});e.SHA3=s._createHelper(t),e.HmacSHA3=s._createHmacHelper(t)}(Math),n.SHA3)},function(e,t,i){var n;e.exports=(n=i(0),function(){var e=n,t=e.lib,i=t.WordArray,s=t.Hasher,t=e.algo,x=i.create([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13]),M=i.create([5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11]),T=i.create([11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6]),_=i.create([8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11]),k=i.create([0,1518500249,1859775393,2400959708,2840853838]),O=i.create([1352829926,1548603684,1836072691,2053994217,0]),t=t.RIPEMD160=s.extend({_doReset:function(){this._hash=i.create([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(e,t){for(var i=0;i<16;i++){var s=t+i,n=e[s];e[s]=16711935&(n<<8|n>>>24)|4278255360&(n<<24|n>>>8)}for(var o,r,a,c,h,l,p=this._hash.words,d=k.words,u=O.words,f=x.words,g=M.words,m=T.words,v=_.words,y=o=p[0],b=r=p[1],B=a=p[2],A=c=p[3],w=h=p[4],i=0;i<80;i+=1)l=o+e[t+f[i]]|0,l+=i<16?(r^a^c)+d[0]:i<32?L(r,a,c)+d[1]:i<48?((r|~a)^c)+d[2]:i<64?C(r,a,c)+d[3]:(r^(a|~c))+d[4],l=(l=E(l|=0,m[i]))+h|0,o=h,h=c,c=E(a,10),a=r,r=l,l=y+e[t+g[i]]|0,l+=i<16?(b^(B|~A))+u[0]:i<32?C(b,B,A)+u[1]:i<48?((b|~B)^A)+u[2]:i<64?L(b,B,A)+u[3]:(b^B^A)+u[4],l=(l=E(l|=0,v[i]))+w|0,y=w,w=A,A=E(B,10),B=b,b=l;l=p[1]+a+A|0,p[1]=p[2]+c+w|0,p[2]=p[3]+h+y|0,p[3]=p[4]+o+b|0,p[4]=p[0]+r+B|0,p[0]=l},_doFinalize:function(){var e=this._data,t=e.words,i=8*this._nDataBytes,s=8*e.sigBytes;t[s>>>5]|=128<<24-s%32,t[14+(64+s>>>9<<4)]=16711935&(i<<8|i>>>24)|4278255360&(i<<24|i>>>8),e.sigBytes=4*(t.length+1),this._process();for(var t=this._hash,n=t.words,o=0;o<5;o++){var r=n[o];n[o]=16711935&(r<<8|r>>>24)|4278255360&(r<<24|r>>>8)}return t},clone:function(){var e=s.clone.call(this);return e._hash=this._hash.clone(),e}});function L(e,t,i){return e&t|~e&i}function C(e,t,i){return e&i|t&~i}function E(e,t){return e<<t|e>>>32-t}e.RIPEMD160=s._createHelper(t),e.HmacRIPEMD160=s._createHmacHelper(t)}(Math),n.RIPEMD160)},function(e,t,i){var o;e.exports=(o=i(0),i(9),i(10),function(){var e=o,t=e.lib,i=t.Base,v=t.WordArray,s=e.algo,t=s.SHA1,y=s.HMAC,n=s.PBKDF2=i.extend({cfg:i.extend({keySize:4,hasher:t,iterations:1}),init:function(e){this.cfg=this.cfg.extend(e)},compute:function(e,t){for(var i=this.cfg,s=y.create(i.hasher,e),n=v.create(),o=v.create([1]),r=n.words,a=o.words,c=i.keySize,h=i.iterations;r.length<c;){var l=s.update(t).finalize(o);s.reset();for(var p=l.words,d=p.length,u=l,f=1;f<h;f++){u=s.finalize(u),s.reset();for(var g=u.words,m=0;m<d;m++)p[m]^=g[m]}n.concat(l),a[0]++}return n.sigBytes=4*c,n}});e.PBKDF2=function(e,t,i){return n.create(i).compute(e,t)}}(),o.PBKDF2)},function(e,t,i){var s;e.exports=(s=i(0),i(1),s.mode.CFB=function(){var e=s.lib.BlockCipherMode.extend();function o(e,t,i,s){var n,o=this._iv;o?(n=o.slice(0),this._iv=void 0):n=this._prevBlock,s.encryptBlock(n,0);for(var r=0;r<i;r++)e[t+r]^=n[r]}return e.Encryptor=e.extend({processBlock:function(e,t){var i=this._cipher,s=i.blockSize;o.call(this,e,t,s,i),this._prevBlock=e.slice(t,t+s)}}),e.Decryptor=e.extend({processBlock:function(e,t){var i=this._cipher,s=i.blockSize,n=e.slice(t,t+s);o.call(this,e,t,s,i),this._prevBlock=n}}),e}(),s.mode.CFB)},function(e,t,i){var s;e.exports=(s=i(0),i(1),s.mode.CTR=function(){var e=s.lib.BlockCipherMode.extend(),t=e.Encryptor=e.extend({processBlock:function(e,t){var i=this._cipher,s=i.blockSize,n=this._iv,o=this._counter;n&&(o=this._counter=n.slice(0),this._iv=void 0);var r=o.slice(0);i.encryptBlock(r,0),o[s-1]=o[s-1]+1|0;for(var a=0;a<s;a++)e[t+a]^=r[a]}});return e.Decryptor=t,e}(),s.mode.CTR)},function(e,t,i){var s;e.exports=(s=i(0),i(1),s.mode.CTRGladman=function(){var e=s.lib.BlockCipherMode.extend();function c(e){var t,i,s;return 255==(e>>24&255)?(i=e>>8&255,s=255&e,255===(t=e>>16&255)?(t=0,255===i?(i=0,255===s?s=0:++s):++i):++t,e=0,e+=t<<16,e+=i<<8,e+=s):e+=1<<24,e}var t=e.Encryptor=e.extend({processBlock:function(e,t){var i=this._cipher,s=i.blockSize,n=this._iv,o=this._counter;n&&(o=this._counter=n.slice(0),this._iv=void 0),0===((n=o)[0]=c(n[0]))&&(n[1]=c(n[1]));var r=o.slice(0);i.encryptBlock(r,0);for(var a=0;a<s;a++)e[t+a]^=r[a]}});return e.Decryptor=t,e}(),s.mode.CTRGladman)},function(e,t,i){var s;e.exports=(s=i(0),i(1),s.mode.OFB=function(){var e=s.lib.BlockCipherMode.extend(),t=e.Encryptor=e.extend({processBlock:function(e,t){var i=this._cipher,s=i.blockSize,n=this._iv,o=this._keystream;n&&(o=this._keystream=n.slice(0),this._iv=void 0),i.encryptBlock(o,0);for(var r=0;r<s;r++)e[t+r]^=o[r]}});return e.Decryptor=t,e}(),s.mode.OFB)},function(e,t,i){var s;e.exports=(s=i(0),i(1),s.mode.ECB=function(){var e=s.lib.BlockCipherMode.extend();return e.Encryptor=e.extend({processBlock:function(e,t){this._cipher.encryptBlock(e,t)}}),e.Decryptor=e.extend({processBlock:function(e,t){this._cipher.decryptBlock(e,t)}}),e}(),s.mode.ECB)},function(e,t,i){e.exports=(e=i(0),i(1),e.pad.AnsiX923={pad:function(e,t){var i=e.sigBytes,t=4*t,t=t-i%t,i=i+t-1;e.clamp(),e.words[i>>>2]|=t<<24-i%4*8,e.sigBytes+=t},unpad:function(e){var t=255&e.words[e.sigBytes-1>>>2];e.sigBytes-=t}},e.pad.Ansix923)},function(e,t,i){var s;e.exports=(s=i(0),i(1),s.pad.Iso10126={pad:function(e,t){t*=4,t-=e.sigBytes%t;e.concat(s.lib.WordArray.random(t-1)).concat(s.lib.WordArray.create([t<<24],1))},unpad:function(e){var t=255&e.words[e.sigBytes-1>>>2];e.sigBytes-=t}},s.pad.Iso10126)},function(e,t,i){var s;e.exports=(s=i(0),i(1),s.pad.Iso97971={pad:function(e,t){e.concat(s.lib.WordArray.create([2147483648],1)),s.pad.ZeroPadding.pad(e,t)},unpad:function(e){s.pad.ZeroPadding.unpad(e),e.sigBytes--}},s.pad.Iso97971)},function(e,t,i){e.exports=(e=i(0),i(1),e.pad.ZeroPadding={pad:function(e,t){t*=4;e.clamp(),e.sigBytes+=t-(e.sigBytes%t||t)},unpad:function(e){for(var t=e.words,i=e.sigBytes-1,i=e.sigBytes-1;0<=i;i--)if(t[i>>>2]>>>24-i%4*8&255){e.sigBytes=i+1;break}}},e.pad.ZeroPadding)},function(e,t,i){e.exports=(e=i(0),i(1),e.pad.NoPadding={pad:function(){},unpad:function(){}},e.pad.NoPadding)},function(e,t,i){var s;e.exports=(s=i(0),i(1),function(){var t=s.lib.CipherParams,i=s.enc.Hex;s.format.Hex={stringify:function(e){return e.ciphertext.toString(i)},parse:function(e){e=i.parse(e);return t.create({ciphertext:e})}}}(),s.format.Hex)},function(e,t,i){var s;e.exports=(s=i(0),i(6),i(7),i(5),i(1),function(){var e=s,t=e.lib.BlockCipher,i=e.algo,h=[],l=[],p=[],d=[],u=[],f=[],g=[],m=[],v=[],y=[];!function(){for(var e=[],t=0;t<256;t++)e[t]=t<128?t<<1:t<<1^283;for(var i=0,s=0,t=0;t<256;t++){var n=s^s<<1^s<<2^s<<3^s<<4;h[i]=n=n>>>8^255&n^99;var o=e[l[n]=i],r=e[o],a=e[r],c=257*e[n]^16843008*n;p[i]=c<<24|c>>>8,d[i]=c<<16|c>>>16,u[i]=c<<8|c>>>24,f[i]=c,g[n]=(c=16843009*a^65537*r^257*o^16843008*i)<<24|c>>>8,m[n]=c<<16|c>>>16,v[n]=c<<8|c>>>24,y[n]=c,i?(i=o^e[e[e[a^o]]],s^=e[e[s]]):i=s=1}}();var b=[0,1,2,4,8,16,32,64,128,27,54],i=i.AES=t.extend({_doReset:function(){if(!this._nRounds||this._keyPriorReset!==this._key){for(var e=this._keyPriorReset=this._key,t=e.words,i=e.sigBytes/4,s=4*(1+(this._nRounds=6+i)),n=this._keySchedule=[],o=0;o<s;o++)o<i?n[o]=t[o]:(c=n[o-1],o%i?6<i&&o%i==4&&(c=h[c>>>24]<<24|h[c>>>16&255]<<16|h[c>>>8&255]<<8|h[255&c]):(c=h[(c=c<<8|c>>>24)>>>24]<<24|h[c>>>16&255]<<16|h[c>>>8&255]<<8|h[255&c],c^=b[o/i|0]<<24),n[o]=n[o-i]^c);for(var r=this._invKeySchedule=[],a=0;a<s;a++){var c,o=s-a;c=a%4?n[o]:n[o-4],r[a]=a<4||o<=4?c:g[h[c>>>24]]^m[h[c>>>16&255]]^v[h[c>>>8&255]]^y[h[255&c]]}}},encryptBlock:function(e,t){this._doCryptBlock(e,t,this._keySchedule,p,d,u,f,h)},decryptBlock:function(e,t){var i=e[t+1];e[t+1]=e[t+3],e[t+3]=i,this._doCryptBlock(e,t,this._invKeySchedule,g,m,v,y,l);i=e[t+1];e[t+1]=e[t+3],e[t+3]=i},_doCryptBlock:function(e,t,i,s,n,o,r,a){for(var c=this._nRounds,h=e[t]^i[0],l=e[t+1]^i[1],p=e[t+2]^i[2],d=e[t+3]^i[3],u=4,f=1;f<c;f++)var g=s[h>>>24]^n[l>>>16&255]^o[p>>>8&255]^r[255&d]^i[u++],m=s[l>>>24]^n[p>>>16&255]^o[d>>>8&255]^r[255&h]^i[u++],v=s[p>>>24]^n[d>>>16&255]^o[h>>>8&255]^r[255&l]^i[u++],y=s[d>>>24]^n[h>>>16&255]^o[l>>>8&255]^r[255&p]^i[u++],h=g,l=m,p=v,d=y;g=(a[h>>>24]<<24|a[l>>>16&255]<<16|a[p>>>8&255]<<8|a[255&d])^i[u++],m=(a[l>>>24]<<24|a[p>>>16&255]<<16|a[d>>>8&255]<<8|a[255&h])^i[u++],v=(a[p>>>24]<<24|a[d>>>16&255]<<16|a[h>>>8&255]<<8|a[255&l])^i[u++],y=(a[d>>>24]<<24|a[h>>>16&255]<<16|a[l>>>8&255]<<8|a[255&p])^i[u++];e[t]=g,e[t+1]=m,e[t+2]=v,e[t+3]=y},keySize:8});e.AES=t._createHelper(i)}(),s.AES)},function(e,t,i){var o;e.exports=(o=i(0),i(6),i(7),i(5),i(1),function(){var e=o,t=e.lib,s=t.WordArray,i=t.BlockCipher,t=e.algo,h=[57,49,41,33,25,17,9,1,58,50,42,34,26,18,10,2,59,51,43,35,27,19,11,3,60,52,44,36,63,55,47,39,31,23,15,7,62,54,46,38,30,22,14,6,61,53,45,37,29,21,13,5,28,20,12,4],l=[14,17,11,24,1,5,3,28,15,6,21,10,23,19,12,4,26,8,16,7,27,20,13,2,41,52,31,37,47,55,30,40,51,45,33,48,44,49,39,56,34,53,46,42,50,36,29,32],p=[1,2,4,6,8,10,12,14,15,17,19,21,23,25,27,28],d=[{0:8421888,268435456:32768,536870912:8421378,805306368:2,1073741824:512,1342177280:8421890,1610612736:8389122,1879048192:8388608,2147483648:514,2415919104:8389120,2684354560:33280,2952790016:8421376,3221225472:32770,3489660928:8388610,3758096384:0,4026531840:33282,134217728:0,402653184:8421890,671088640:33282,939524096:32768,1207959552:8421888,1476395008:512,1744830464:8421378,2013265920:2,2281701376:8389120,2550136832:33280,2818572288:8421376,3087007744:8389122,3355443200:8388610,3623878656:32770,3892314112:514,4160749568:8388608,1:32768,268435457:2,536870913:8421888,805306369:8388608,1073741825:8421378,1342177281:33280,1610612737:512,1879048193:8389122,2147483649:8421890,2415919105:8421376,2684354561:8388610,2952790017:33282,3221225473:514,3489660929:8389120,3758096385:32770,4026531841:0,134217729:8421890,402653185:8421376,671088641:8388608,939524097:512,1207959553:32768,1476395009:8388610,1744830465:2,2013265921:33282,2281701377:32770,2550136833:8389122,2818572289:514,3087007745:8421888,3355443201:8389120,3623878657:0,3892314113:33280,4160749569:8421378},{0:1074282512,16777216:16384,33554432:524288,50331648:1074266128,67108864:1073741840,83886080:1074282496,100663296:1073758208,117440512:16,134217728:540672,150994944:1073758224,167772160:1073741824,184549376:540688,201326592:524304,218103808:0,234881024:16400,251658240:1074266112,8388608:1073758208,25165824:540688,41943040:16,58720256:1073758224,75497472:1074282512,92274688:1073741824,109051904:524288,125829120:1074266128,142606336:524304,159383552:0,176160768:16384,192937984:1074266112,209715200:1073741840,226492416:540672,243269632:1074282496,260046848:16400,268435456:0,285212672:1074266128,301989888:1073758224,318767104:1074282496,335544320:1074266112,352321536:16,369098752:540688,385875968:16384,402653184:16400,419430400:524288,436207616:524304,452984832:1073741840,469762048:540672,486539264:1073758208,503316480:1073741824,520093696:1074282512,276824064:540688,293601280:524288,310378496:1074266112,327155712:16384,343932928:1073758208,360710144:1074282512,377487360:16,394264576:1073741824,411041792:1074282496,427819008:1073741840,444596224:1073758224,461373440:524304,478150656:0,494927872:16400,511705088:1074266128,528482304:540672},{0:260,1048576:0,2097152:67109120,3145728:65796,4194304:65540,5242880:67108868,6291456:67174660,7340032:67174400,8388608:67108864,9437184:67174656,10485760:65792,11534336:67174404,12582912:67109124,13631488:65536,14680064:4,15728640:256,524288:67174656,1572864:67174404,2621440:0,3670016:67109120,4718592:67108868,5767168:65536,6815744:65540,7864320:260,8912896:4,9961472:256,11010048:67174400,12058624:65796,13107200:65792,14155776:67109124,15204352:67174660,16252928:67108864,16777216:67174656,17825792:65540,18874368:65536,19922944:67109120,20971520:256,22020096:67174660,23068672:67108868,24117248:0,25165824:67109124,26214400:67108864,27262976:4,28311552:65792,29360128:67174400,30408704:260,31457280:65796,32505856:67174404,17301504:67108864,18350080:260,19398656:67174656,20447232:0,21495808:65540,22544384:67109120,23592960:256,24641536:67174404,25690112:65536,26738688:67174660,27787264:65796,28835840:67108868,29884416:67109124,30932992:67174400,31981568:4,33030144:65792},{0:2151682048,65536:2147487808,131072:4198464,196608:2151677952,262144:0,327680:4198400,393216:2147483712,458752:4194368,524288:2147483648,589824:4194304,655360:64,720896:2147487744,786432:2151678016,851968:4160,917504:4096,983040:2151682112,32768:2147487808,98304:64,163840:2151678016,229376:2147487744,294912:4198400,360448:2151682112,425984:0,491520:2151677952,557056:4096,622592:2151682048,688128:4194304,753664:4160,819200:2147483648,884736:4194368,950272:4198464,1015808:2147483712,1048576:4194368,1114112:4198400,1179648:2147483712,1245184:0,1310720:4160,1376256:2151678016,1441792:2151682048,1507328:2147487808,1572864:2151682112,1638400:2147483648,1703936:2151677952,1769472:4198464,1835008:2147487744,1900544:4194304,1966080:64,2031616:4096,1081344:2151677952,1146880:2151682112,1212416:0,1277952:4198400,1343488:4194368,1409024:2147483648,1474560:2147487808,1540096:64,1605632:2147483712,1671168:4096,1736704:2147487744,1802240:2151678016,1867776:4160,1933312:2151682048,1998848:4194304,2064384:4198464},{0:128,4096:17039360,8192:262144,12288:536870912,16384:537133184,20480:16777344,24576:553648256,28672:262272,32768:16777216,36864:537133056,40960:536871040,45056:553910400,49152:553910272,53248:0,57344:17039488,61440:553648128,2048:17039488,6144:553648256,10240:128,14336:17039360,18432:262144,22528:537133184,26624:553910272,30720:536870912,34816:537133056,38912:0,43008:553910400,47104:16777344,51200:536871040,55296:553648128,59392:16777216,63488:262272,65536:262144,69632:128,73728:536870912,77824:553648256,81920:16777344,86016:553910272,90112:537133184,94208:16777216,98304:553910400,102400:553648128,106496:17039360,110592:537133056,114688:262272,118784:536871040,122880:0,126976:17039488,67584:553648256,71680:16777216,75776:17039360,79872:537133184,83968:536870912,88064:17039488,92160:128,96256:553910272,100352:262272,104448:553910400,108544:0,112640:553648128,116736:16777344,120832:262144,124928:537133056,129024:536871040},{0:268435464,256:8192,512:270532608,768:270540808,1024:268443648,1280:2097152,1536:2097160,1792:268435456,2048:0,2304:268443656,2560:2105344,2816:8,3072:270532616,3328:2105352,3584:8200,3840:270540800,128:270532608,384:270540808,640:8,896:2097152,1152:2105352,1408:268435464,1664:268443648,1920:8200,2176:2097160,2432:8192,2688:268443656,2944:270532616,3200:0,3456:270540800,3712:2105344,3968:268435456,4096:268443648,4352:270532616,4608:270540808,4864:8200,5120:2097152,5376:268435456,5632:268435464,5888:2105344,6144:2105352,6400:0,6656:8,6912:270532608,7168:8192,7424:268443656,7680:270540800,7936:2097160,4224:8,4480:2105344,4736:2097152,4992:268435464,5248:268443648,5504:8200,5760:270540808,6016:270532608,6272:270540800,6528:270532616,6784:8192,7040:2105352,7296:2097160,7552:0,7808:268435456,8064:268443656},{0:1048576,16:33555457,32:1024,48:1049601,64:34604033,80:0,96:1,112:34603009,128:33555456,144:1048577,160:33554433,176:34604032,192:34603008,208:1025,224:1049600,240:33554432,8:34603009,24:0,40:33555457,56:34604032,72:1048576,88:33554433,104:33554432,120:1025,136:1049601,152:33555456,168:34603008,184:1048577,200:1024,216:34604033,232:1,248:1049600,256:33554432,272:1048576,288:33555457,304:34603009,320:1048577,336:33555456,352:34604032,368:1049601,384:1025,400:34604033,416:1049600,432:1,448:0,464:34603008,480:33554433,496:1024,264:1049600,280:33555457,296:34603009,312:1,328:33554432,344:1048576,360:1025,376:34604032,392:33554433,408:34603008,424:0,440:34604033,456:1049601,472:1024,488:33555456,504:1048577},{0:134219808,1:131072,2:134217728,3:32,4:131104,5:134350880,6:134350848,7:2048,8:134348800,9:134219776,10:133120,11:134348832,12:2080,13:0,14:134217760,15:133152,2147483648:2048,2147483649:134350880,2147483650:134219808,2147483651:134217728,2147483652:134348800,2147483653:133120,2147483654:133152,2147483655:32,2147483656:134217760,2147483657:2080,2147483658:131104,2147483659:134350848,2147483660:0,2147483661:134348832,2147483662:134219776,2147483663:131072,16:133152,17:134350848,18:32,19:2048,20:134219776,21:134217760,22:134348832,23:131072,24:0,25:131104,26:134348800,27:134219808,28:134350880,29:133120,30:2080,31:134217728,2147483664:131072,2147483665:2048,2147483666:134348832,2147483667:133152,2147483668:32,2147483669:134348800,2147483670:134217728,2147483671:134219808,2147483672:134350880,2147483673:134217760,2147483674:134219776,2147483675:0,2147483676:133120,2147483677:2080,2147483678:131104,2147483679:134350848}],u=[4160749569,528482304,33030144,2064384,129024,8064,504,2147483679],n=t.DES=i.extend({_doReset:function(){for(var e=this._key.words,t=[],i=0;i<56;i++){var s=h[i]-1;t[i]=e[s>>>5]>>>31-s%32&1}for(var n=this._subKeys=[],o=0;o<16;o++){for(var r=n[o]=[],a=p[o],i=0;i<24;i++)r[i/6|0]|=t[(l[i]-1+a)%28]<<31-i%6,r[4+(i/6|0)]|=t[28+(l[i+24]-1+a)%28]<<31-i%6;r[0]=r[0]<<1|r[0]>>>31;for(i=1;i<7;i++)r[i]=r[i]>>>4*(i-1)+3;r[7]=r[7]<<5|r[7]>>>27}for(var c=this._invSubKeys=[],i=0;i<16;i++)c[i]=n[15-i]},encryptBlock:function(e,t){this._doCryptBlock(e,t,this._subKeys)},decryptBlock:function(e,t){this._doCryptBlock(e,t,this._invSubKeys)},_doCryptBlock:function(e,t,i){this._lBlock=e[t],this._rBlock=e[t+1],f.call(this,4,252645135),f.call(this,16,65535),g.call(this,2,858993459),g.call(this,8,16711935),f.call(this,1,1431655765);for(var s=0;s<16;s++){for(var n=i[s],o=this._lBlock,r=this._rBlock,a=0,c=0;c<8;c++)a|=d[c][((r^n[c])&u[c])>>>0];this._lBlock=r,this._rBlock=o^a}var h=this._lBlock;this._lBlock=this._rBlock,this._rBlock=h,f.call(this,1,1431655765),g.call(this,8,16711935),g.call(this,2,858993459),f.call(this,16,65535),f.call(this,4,252645135),e[t]=this._lBlock,e[t+1]=this._rBlock},keySize:2,ivSize:2,blockSize:2});function f(e,t){t=(this._lBlock>>>e^this._rBlock)&t;this._rBlock^=t,this._lBlock^=t<<e}function g(e,t){t=(this._rBlock>>>e^this._lBlock)&t;this._lBlock^=t,this._rBlock^=t<<e}e.DES=i._createHelper(n);t=t.TripleDES=i.extend({_doReset:function(){var e=this._key.words;if(2!==e.length&&4!==e.length&&e.length<6)throw new Error("Invalid key length - 3DES requires the key length to be 64, 128, 192 or >192.");var t=e.slice(0,2),i=e.length<4?e.slice(0,2):e.slice(2,4),e=e.length<6?e.slice(0,2):e.slice(4,6);this._des1=n.createEncryptor(s.create(t)),this._des2=n.createEncryptor(s.create(i)),this._des3=n.createEncryptor(s.create(e))},encryptBlock:function(e,t){this._des1.encryptBlock(e,t),this._des2.decryptBlock(e,t),this._des3.encryptBlock(e,t)},decryptBlock:function(e,t){this._des3.decryptBlock(e,t),this._des2.encryptBlock(e,t),this._des1.decryptBlock(e,t)},keySize:6,ivSize:2,blockSize:2});e.TripleDES=i._createHelper(t)}(),o.TripleDES)},function(e,t,i){var o;e.exports=(o=i(0),i(6),i(7),i(5),i(1),function(){var e=o,t=e.lib.StreamCipher,i=e.algo,s=i.RC4=t.extend({_doReset:function(){for(var e=this._key,t=e.words,i=e.sigBytes,s=this._S=[],n=0;n<256;n++)s[n]=n;for(var n=0,o=0;n<256;n++){var r=n%i,r=t[r>>>2]>>>24-r%4*8&255,o=(o+s[n]+r)%256,r=s[n];s[n]=s[o],s[o]=r}this._i=this._j=0},_doProcessBlock:function(e,t){e[t]^=n.call(this)},keySize:8,ivSize:0});function n(){for(var e=this._S,t=this._i,i=this._j,s=0,n=0;n<4;n++){var i=(i+e[t=(t+1)%256])%256,o=e[t];e[t]=e[i],e[i]=o,s|=e[(e[t]+e[i])%256]<<24-8*n}return this._i=t,this._j=i,s}e.RC4=t._createHelper(s);i=i.RC4Drop=s.extend({cfg:s.cfg.extend({drop:192}),_doReset:function(){s._doReset.call(this);for(var e=this.cfg.drop;0<e;e--)n.call(this)}});e.RC4Drop=t._createHelper(i)}(),o.RC4)},function(e,t,i){var s;e.exports=(s=i(0),i(6),i(7),i(5),i(1),function(){var e=s,t=e.lib.StreamCipher,i=e.algo,n=[],r=[],a=[],i=i.Rabbit=t.extend({_doReset:function(){for(var e=this._key.words,t=this.cfg.iv,i=0;i<4;i++)e[i]=16711935&(e[i]<<8|e[i]>>>24)|4278255360&(e[i]<<24|e[i]>>>8);for(var s=this._X=[e[0],e[3]<<16|e[2]>>>16,e[1],e[0]<<16|e[3]>>>16,e[2],e[1]<<16|e[0]>>>16,e[3],e[2]<<16|e[1]>>>16],n=this._C=[e[2]<<16|e[2]>>>16,4294901760&e[0]|65535&e[1],e[3]<<16|e[3]>>>16,4294901760&e[1]|65535&e[2],e[0]<<16|e[0]>>>16,4294901760&e[2]|65535&e[3],e[1]<<16|e[1]>>>16,4294901760&e[3]|65535&e[0]],i=this._b=0;i<4;i++)c.call(this);for(i=0;i<8;i++)n[i]^=s[i+4&7];if(t){var o=t.words,r=o[0],a=o[1],t=16711935&(r<<8|r>>>24)|4278255360&(r<<24|r>>>8),o=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8),r=t>>>16|4294901760&o,a=o<<16|65535&t;n[0]^=t,n[1]^=r,n[2]^=o,n[3]^=a,n[4]^=t,n[5]^=r,n[6]^=o,n[7]^=a;for(i=0;i<4;i++)c.call(this)}},_doProcessBlock:function(e,t){var i=this._X;c.call(this),n[0]=i[0]^i[5]>>>16^i[3]<<16,n[1]=i[2]^i[7]>>>16^i[5]<<16,n[2]=i[4]^i[1]>>>16^i[7]<<16,n[3]=i[6]^i[3]>>>16^i[1]<<16;for(var s=0;s<4;s++)n[s]=16711935&(n[s]<<8|n[s]>>>24)|4278255360&(n[s]<<24|n[s]>>>8),e[t+s]^=n[s]},blockSize:4,ivSize:2});function c(){for(var e=this._X,t=this._C,i=0;i<8;i++)r[i]=t[i];t[0]=t[0]+1295307597+this._b|0,t[1]=t[1]+3545052371+(t[0]>>>0<r[0]>>>0?1:0)|0,t[2]=t[2]+886263092+(t[1]>>>0<r[1]>>>0?1:0)|0,t[3]=t[3]+1295307597+(t[2]>>>0<r[2]>>>0?1:0)|0,t[4]=t[4]+3545052371+(t[3]>>>0<r[3]>>>0?1:0)|0,t[5]=t[5]+886263092+(t[4]>>>0<r[4]>>>0?1:0)|0,t[6]=t[6]+1295307597+(t[5]>>>0<r[5]>>>0?1:0)|0,t[7]=t[7]+3545052371+(t[6]>>>0<r[6]>>>0?1:0)|0,this._b=t[7]>>>0<r[7]>>>0?1:0;for(i=0;i<8;i++){var s=e[i]+t[i],n=65535&s,o=s>>>16;a[i]=((n*n>>>17)+n*o>>>15)+o*o^((4294901760&s)*s|0)+((65535&s)*s|0)}e[0]=a[0]+(a[7]<<16|a[7]>>>16)+(a[6]<<16|a[6]>>>16)|0,e[1]=a[1]+(a[0]<<8|a[0]>>>24)+a[7]|0,e[2]=a[2]+(a[1]<<16|a[1]>>>16)+(a[0]<<16|a[0]>>>16)|0,e[3]=a[3]+(a[2]<<8|a[2]>>>24)+a[1]|0,e[4]=a[4]+(a[3]<<16|a[3]>>>16)+(a[2]<<16|a[2]>>>16)|0,e[5]=a[5]+(a[4]<<8|a[4]>>>24)+a[3]|0,e[6]=a[6]+(a[5]<<16|a[5]>>>16)+(a[4]<<16|a[4]>>>16)|0,e[7]=a[7]+(a[6]<<8|a[6]>>>24)+a[5]|0}e.Rabbit=t._createHelper(i)}(),s.Rabbit)},function(e,t,i){var s;e.exports=(s=i(0),i(6),i(7),i(5),i(1),function(){var e=s,t=e.lib.StreamCipher,i=e.algo,n=[],r=[],a=[],i=i.RabbitLegacy=t.extend({_doReset:function(){for(var e=this._key.words,t=this.cfg.iv,i=this._X=[e[0],e[3]<<16|e[2]>>>16,e[1],e[0]<<16|e[3]>>>16,e[2],e[1]<<16|e[0]>>>16,e[3],e[2]<<16|e[1]>>>16],s=this._C=[e[2]<<16|e[2]>>>16,4294901760&e[0]|65535&e[1],e[3]<<16|e[3]>>>16,4294901760&e[1]|65535&e[2],e[0]<<16|e[0]>>>16,4294901760&e[2]|65535&e[3],e[1]<<16|e[1]>>>16,4294901760&e[3]|65535&e[0]],n=this._b=0;n<4;n++)c.call(this);for(n=0;n<8;n++)s[n]^=i[n+4&7];if(t){var o=t.words,r=o[0],e=o[1],t=16711935&(r<<8|r>>>24)|4278255360&(r<<24|r>>>8),o=16711935&(e<<8|e>>>24)|4278255360&(e<<24|e>>>8),r=t>>>16|4294901760&o,e=o<<16|65535&t;s[0]^=t,s[1]^=r,s[2]^=o,s[3]^=e,s[4]^=t,s[5]^=r,s[6]^=o,s[7]^=e;for(n=0;n<4;n++)c.call(this)}},_doProcessBlock:function(e,t){var i=this._X;c.call(this),n[0]=i[0]^i[5]>>>16^i[3]<<16,n[1]=i[2]^i[7]>>>16^i[5]<<16,n[2]=i[4]^i[1]>>>16^i[7]<<16,n[3]=i[6]^i[3]>>>16^i[1]<<16;for(var s=0;s<4;s++)n[s]=16711935&(n[s]<<8|n[s]>>>24)|4278255360&(n[s]<<24|n[s]>>>8),e[t+s]^=n[s]},blockSize:4,ivSize:2});function c(){for(var e=this._X,t=this._C,i=0;i<8;i++)r[i]=t[i];t[0]=t[0]+1295307597+this._b|0,t[1]=t[1]+3545052371+(t[0]>>>0<r[0]>>>0?1:0)|0,t[2]=t[2]+886263092+(t[1]>>>0<r[1]>>>0?1:0)|0,t[3]=t[3]+1295307597+(t[2]>>>0<r[2]>>>0?1:0)|0,t[4]=t[4]+3545052371+(t[3]>>>0<r[3]>>>0?1:0)|0,t[5]=t[5]+886263092+(t[4]>>>0<r[4]>>>0?1:0)|0,t[6]=t[6]+1295307597+(t[5]>>>0<r[5]>>>0?1:0)|0,t[7]=t[7]+3545052371+(t[6]>>>0<r[6]>>>0?1:0)|0,this._b=t[7]>>>0<r[7]>>>0?1:0;for(i=0;i<8;i++){var s=e[i]+t[i],n=65535&s,o=s>>>16;a[i]=((n*n>>>17)+n*o>>>15)+o*o^((4294901760&s)*s|0)+((65535&s)*s|0)}e[0]=a[0]+(a[7]<<16|a[7]>>>16)+(a[6]<<16|a[6]>>>16)|0,e[1]=a[1]+(a[0]<<8|a[0]>>>24)+a[7]|0,e[2]=a[2]+(a[1]<<16|a[1]>>>16)+(a[0]<<16|a[0]>>>16)|0,e[3]=a[3]+(a[2]<<8|a[2]>>>24)+a[1]|0,e[4]=a[4]+(a[3]<<16|a[3]>>>16)+(a[2]<<16|a[2]>>>16)|0,e[5]=a[5]+(a[4]<<8|a[4]>>>24)+a[3]|0,e[6]=a[6]+(a[5]<<16|a[5]>>>16)+(a[4]<<16|a[4]>>>16)|0,e[7]=a[7]+(a[6]<<8|a[6]>>>24)+a[5]|0}e.RabbitLegacy=t._createHelper(i)}(),s.RabbitLegacy)},function(e,t,i){"use strict";i.r(t);i(13),i(14),i(15),i(16),i(17);var n,s=i(2),l=i.n(s);class o{constructor(e){this.app=e,this.camera=new BABYLON.ArcRotateCamera("camera",-Math.PI/4,Math.PI/4,50,new BABYLON.Vector3(0,0,0),this.app.scene),this.camera.pinchPrecision=200,this.app.scene.activeCamera=this.camera,this.camera.attachControl(this.app.canvas,!0,!0),this.camera.minZ=.3,this.camera.wheelDeltaPercentage=.01,this.frustrum=5,this.isOverLook=!1,this.tw_camera=new l.a.Tween(this.camera),this.tw_target=new l.a.Tween(this.camera.target)}orthographic(){this.isOverLook=!0,this.camera.lowerBetaLimit=0,this.camera.upperBetaLimit=0,this.camera.lowerAlphaLimit=Math.PI/2,this.camera.upperAlphaLimit=Math.PI/2,this.camera.mode=BABYLON.Camera.ORTHOGRAPHIC_CAMERA;var e=this.app.Resources.BOX.getBoundingInfo();this.camera.lowerRadiusLimit=e.maximum.y-e.minimum.y;var t=e.boundingSphere.radiusWorld;this.camera.radius=t;t=e.boundingSphere.center.clone();this.camera.target=new BABYLON.Vector3(t.x,0,t.z),this.frustrum=.6*(e.maximum.x-e.minimum.x),this.computeCameraView()}perspective(){this.focusingFromProperty(this.app.project.current.visualAngle)}focusingFromProperty(e){this.app.scene.blockfreeActiveMeshesAndRenderingGroups=!0,this.isOverLook=!1,this.camera.lowerRadiusLimit=e.minimumLimit,this.camera.upperRadiusLimit=e.maximumLimit,this.camera.panningSensibility=1e3,this.camera.lowerBetaLimit=.01,this.camera.upperBetaLimit=Math.PI/2*.98,this.camera.lowerAlphaLimit=null,this.camera.upperAlphaLimit=null,this.camera.mode=BABYLON.Camera.PERSPECTIVE_CAMERA,(this.camera.alpha>2*Math.PI||this.camera.alpha<-2*Math.PI)&&(this.camera.alpha=this.camera.alpha-Math.floor(this.camera.alpha/(2*Math.PI))*(2*Math.PI)),this.camera.alpha=e.alpha,this.tw_target.to(e.focus,500).start().onComplete(()=>{this.tw_camera.to({radius:e.radius,beta:e.beta},500).start()}),this.app.scene.blockfreeActiveMeshesAndRenderingGroups=!1}flyTo(e,t=300){(this.camera.alpha>2*Math.PI||this.camera.alpha<-2*Math.PI)&&(this.camera.alpha=this.camera.alpha-Math.floor(this.camera.alpha/(2*Math.PI))*(2*Math.PI)),this.tw_target.to({x:e.focus.x,y:e.focus.y,z:e.focus.z},t).start().onComplete(()=>{this.tw_camera.to({radius:e.radius,beta:e.beta,alpha:e.alpha},t).start()}),this.camera.lowerRadiusLimit=e.minimumLimit,this.camera.upperRadiusLimit=e.maximumLimit,this.camera.lowerBetaLimit=e.minBeta,this.camera.upperBetaLimit=e.maxBeta}translation(e,t=300){this.tw_target.to({x:e.focus.x,y:e.focus.y,z:e.focus.z},t).start().onComplete(()=>{this.tw_camera.to({radius:e.radius},t).start()})}computeCameraView(){var e=this.app.canvas.clientWidth/this.app.canvas.clientHeight;this.camera.orthoLeft=-e*this.frustrum,this.camera.orthoRight=e*this.frustrum,this.camera.orthoTop=this.frustrum,this.camera.orthoBottom=-this.frustrum;e=1e3/(this.frustrum/20);this.camera.panningSensibility=2e3<e?2e3:e<10?10:e}_wheel(e){this.isOverLook&&(e=(e.wheelDelta||24*-e.detail)<0?1.1:.9,this.frustrum*=e,this.computeCameraView())}}class m{constructor(){this.map={}}add(e,t){this.map[e]=t}find(e){return this.map[e]}remove(e){delete this.map[e]}termRemove(e){for(var t in this.map)e(this.map[t])&&delete this.map[t]}showAll(){for(var e in this.map)this.map[e]}count(){var e,t=0;for(e in Object.keys(this.map))++t;return t}clear(){for(var e in this.map)delete this.map[e]}}class r{static getGUID(e){var t,i,s="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz".split(""),n=[],o=s.length;if(e)for(t=0;t<e;t++)n[t]=s[0|Math.random()*o];else for(n[8]=n[13]=n[18]=n[23]="-",n[14]="4",t=0;t<36;t++)n[t]||(i=0|16*Math.random(),n[t]=s[19==t?3&i|8:i]);return n.join("")}}class a{constructor(e){this.objectType="Light",this.app=e}load(){}}class c extends a{load(){this.light=new BABYLON.DirectionalLight(this.id,this.direction,this.app.scene),this.light.position=this.position,this.light.intensity=this.intensity,this.light.diffuse=BABYLON.Color3.FromHexString(this.color),this.light.specular=BABYLON.Color3.Black()}}class h extends a{load(){this.light=new BABYLON.HemisphericLight(this.id,this.direction,this.app.scene),this.light.intensity=this.intensity,this.light.diffuse=BABYLON.Color3.FromHexString(this.color),this.light.specular=BABYLON.Color3.Black()}}(s=n=n||{}).Point="Point",s.Spot="Spot",s.Directional="Directional",s.Hemispheric="Hemispheric";class p extends a{load(){this.light=new BABYLON.PointLight(this.id,this.position.clone(),this.app.scene),this.light.range=this.range,this.light.intensity=this.intensity,this.light.diffuse=BABYLON.Color3.FromHexString(this.color),this.light.specular=BABYLON.Color3.Black()}}class d extends a{load(){this.light=new BABYLON.SpotLight(this.id,this.position.clone(),this.direction.clone(),this.angle*Math.PI/180,this.exponent,this.app.scene),this.light.range=this.range,this.light.position=this.position,this.light.intensity=this.intensity,this.light.diffuse=BABYLON.Color3.FromHexString(this.color),this.light.specular=BABYLON.Color3.Black()}}class u{static vector3ToJson(e){return{x:Math.floor(1e3*e.x)/1e3,y:Math.floor(1e3*e.y)/1e3,z:Math.floor(1e3*e.z)/1e3}}static vector3ARRToJson(e){let t=[];return e.forEach(e=>t.push({x:Math.floor(1e3*e.x)/1e3,y:Math.floor(1e3*e.y)/1e3,z:Math.floor(1e3*e.z)/1e3})),t}static ToVector3(e){return new BABYLON.Vector3(Math.floor(1e3*e.x)/1e3,Math.floor(1e3*e.y)/1e3,Math.floor(1e3*e.z)/1e3)}static ToARRVector3(e){let t=[];return e.forEach(e=>t.push(new BABYLON.Vector3(Math.floor(1e3*e.x)/1e3,Math.floor(1e3*e.y)/1e3,Math.floor(1e3*e.z)/1e3))),t}static computeBounds(e){let t=e.getChildMeshes(),i=e.getBoundingInfo();if(0<t.length){for(var s=t[0].getBoundingInfo(),n=s.minimum.add(t[0].position),o=s.maximum.add(t[0].position),r=1;r<t.length;r++)s=t[r].getBoundingInfo(),n=BABYLON.Vector3.Minimize(n,s.minimum.add(t[r].position)),o=BABYLON.Vector3.Maximize(o,s.maximum.add(t[r].position));i=new BABYLON.BoundingInfo(n,o)}return i}static computeBoundsToARR(e){for(var t=e[0].getBoundingInfo(),i=t.minimum.add(e[0].position),s=t.maximum.add(e[0].position),n=1;n<e.length;n++)t=e[n].getBoundingInfo(),i=BABYLON.Vector3.Minimize(i,t.minimum.add(e[n].position)),s=BABYLON.Vector3.Maximize(s,t.maximum.add(e[n].position));return new BABYLON.BoundingInfo(i,s)}static Expand(s,n){let o=new Array;var r=s.length;for(let i=0;i<r;i++){var a=s[i],c=s[0==i?r-1:i-1],h=s[i==r-1?0:i+1],l=c.x-a.x,p=c.z-a.z,d=this.norm(l,p);l/=d,p/=d;c=h.x-a.x,d=h.z-a.z,h=this.norm(c,d);c/=h,d/=h;h=-n/Math.sqrt((1-(l*c+p*d))/2);let e=l+c,t=p+d;h=0==this.norm(e,t)?0:h/this.norm(e,t);e*=h,t*=h,o[i]=new BABYLON.Vector3(e+a.x,0,t+a.z)}return o}static norm(e,t){return Math.sqrt(e*e+t*t)}static MergeMeshes(o,e){let r=new BABYLON.Mesh((new Date).getDate().toString(),e.scene);return setTimeout(()=>{let t=null,i;for(let e=0;e<o.length;e++){var s,n;o[e]&&(n=(s=o[e]).computeWorldMatrix(!0),i=BABYLON.VertexData.ExtractFromMesh(s,!0,!0),i.transform(n),t?t.merge(i,!0):t=i,s.dispose(!1,!0))}t.applyToMesh(r)}),r}static DeconsTructMesh(e,t,i){if(1<e.subMeshes.length){for(var s=BABYLON.VertexData.ExtractFromMesh(e,!0,!0),n=s.indices,o=s.normals,r=s.positions,a=s.uvs,c=new Array,h=0;h<e.subMeshes.length;h++){for(var l=new BABYLON.VertexData,p=n.slice(e.subMeshes[h].indexStart,e.subMeshes[h].indexStart+e.subMeshes[h].indexCount),d=o.slice(3*e.subMeshes[h].verticesStart,3*e.subMeshes[h].verticesStart+3*e.subMeshes[h].verticesCount),u=r.slice(3*e.subMeshes[h].verticesStart,3*e.subMeshes[h].verticesStart+3*e.subMeshes[h].verticesCount),f=a.slice(2*e.subMeshes[h].verticesStart,2*e.subMeshes[h].verticesStart+2*e.subMeshes[h].verticesCount),g=0;g<p.length;g++)p[g]=p[g]-e.subMeshes[h].verticesStart;l.indices=p,l.normals=d,l.positions=u,l.uvs=f;f=new BABYLON.Mesh(e.id+"-"+h,i.scene);l.applyToMesh(f),f.position.y=parseFloat(t),f.setEnabled(!1),c.push(f)}return e.dispose(!1,!0),c}return[e]}static getVisualAngle(e,t){let i={};var s=e.boundingSphere.radiusWorld,n=t.engine.getAspectRatio(t.camera.camera);let o=t.camera.camera.fov/1.2;return n<1&&(o=Math.atan(n*Math.tan(t.camera.camera.fov/2))),i.radius=1.1*Math.abs(s/Math.sin(o)),i.alpha=Math.PI/2,i.beta=Math.PI/4,i.focus=e.boundingSphere.center.clone(),i}static pathTransformation(i,s){let e=new BABYLON.Path3D(i);var n=e.getTangents();let o=[];for(let t=0;t<i.length;t++)if(0<t&&t<i.length-1){var r=i[t-1],a=i[t+1],c=i[t];let e=n[t-1];var h=n[t];if(!e.equals(h)){r=BABYLON.Vector3.Lerp(c,r,s/BABYLON.Vector3.Distance(r,c)),a=BABYLON.Vector3.Lerp(c,a,s/BABYLON.Vector3.Distance(a,c));let e=BABYLON.Curve3.CreateQuadraticBezier(r,c,a,10);o=o.concat(e.getPoints())}}else o.push(i[t]);return o}static createTube(e,t,i=.05,s){return BABYLON.MeshBuilder.CreateTube(e,{path:this.pathTransformation(t,i),radius:i/2},s.scene)}static getAngleFromVector2(e,t,i){var s=(e.x-t.x)*(i.x-t.x)+(e.y-t.y)*(i.y-t.y),t=(e.x-t.x)*(i.y-t.y)-(e.y-t.y)*(i.x-t.x),s=Math.atan2(t,s);return Math.PI-s}static getAngleFromVector3(e,t,i){return this.getAngleFromVector2(new BABYLON.Vector2(e.x,e.z),new BABYLON.Vector2(t.x,t.z),new BABYLON.Vector2(i.x,i.z))}static RandomNumBoth(e,t){var i=t-e,t=Math.random();return e+Math.round(t*i)}}class f{constructor(e){this.lights=new m,this.reflexEnabled=!0,this.reflexIntensity=.5,this.app=e,this.color=new BABYLON.Color4(0,.0588,.1176,1),this.reflex(this.app.rootUrl+"resources/environment.env",.5),this.app.scene.fogEnabled=!0,this.app.scene.fogMode=2,this.fogDistance=500,BABYLON.Effect.IncludesShadersStore.fogVertex=`
2
-       #ifdef FOG
3
-         vFogDistance=(worldPos).xyz;
4
-       #endif
5
-     `}set fogDistance(e){this.app.scene.fogDensity=1/e}set color(e){this._color=new BABYLON.Color4(e.r,e.g,e.b,e.a),this.app.scene.clearColor=this._color,this.app.scene.fogColor=new BABYLON.Color3(...this._color.asArray())}reflex(e,t){e=new BABYLON.CubeTexture(e,this.app.scene);this.app.scene.environmentTexture=e,this.app.scene.environmentIntensity=t}setBackground(e){this.background&&this.background.dispose(),this.background=new BABYLON.Layer("background",e,this.app.scene),this.background.isBackground=!0}setReflexEnabled(e){this.app.scene.blockfreeActiveMeshesAndRenderingGroups=!0,this.reflexEnabled=e,this.app.scene.environmentIntensity=this.reflexEnabled?this.reflexIntensity:0,this.app.scene.blockfreeActiveMeshesAndRenderingGroups=!1}setFlexIntensity(e){this.app.scene.blockfreeActiveMeshesAndRenderingGroups=!0,this.reflexIntensity=e,this.app.scene.environmentIntensity=this.reflexIntensity,this.app.scene.blockfreeActiveMeshesAndRenderingGroups=!1}defaultLights(){let e=new h(this.app);e.id=r.getGUID(12),e.lightType="Hemispheric",e.name="半球光_"+this.lights.count(),e.direction=new BABYLON.Vector3(1,1,0),e.color="#FFFFFF",e.intensity=1,this.lights.add(e.id,e);let t=new h(this.app);t.id=r.getGUID(12),t.lightType="Hemispheric",t.name="半球光_"+this.lights.count(),t.direction=new BABYLON.Vector3(-1,1,0),t.color="#FFFFFF",t.intensity=.7,this.lights.add(t.id,t)}offAllLight(){for(const e in this.lights.map)this.lights.find(e).light&&(this.lights.find(e).light.intensity=0,this.app.scene.removeLight(this.lights.find(e).light),this.lights.find(e).light.dispose()),this.lights.find(e).light=null}openAllLight(){for(const e in this.lights.map)this.lights.find(e).load()}loadLight(i){for(let t=0;t<i.length;t++){var s=i[t];let e;s.lightType==n.Hemispheric?(e=new h(this.app),e.id=s.id,e.lightType=s.lightType,e.name=s.name,e.direction=u.ToVector3(s.direction),e.color=s.color,e.intensity=s.intensity):s.lightType==n.Directional?(e=new c(this.app),e.id=s.id,e.lightType=s.lightType,e.name=s.name,e.direction=u.ToVector3(s.direction),e.position=u.ToVector3(s.position),e.color=s.color,e.intensity=s.intensity):s.lightType==n.Spot?(e=new d(this.app),e.id=s.id,e.lightType=s.lightType,e.name=s.name,e.direction=u.ToVector3(s.direction),e.position=u.ToVector3(s.position),e.angle=s.angle,e.exponent=s.exponent,e.range=s.range,e.color=s.color,e.intensity=s.intensity):s.lightType==n.Point&&(e=new p(this.app),e.id=s.id,e.lightType=s.lightType,e.name=s.name,e.position=u.ToVector3(s.position),e.range=s.range,e.color=s.color,e.intensity=s.intensity),e&&this.lights.add(e.id,e)}this.lights.count()<1&&this.defaultLights(),this.openAllLight()}}var v,g,y,s=i(4),b=i.n(s);class B{static de(e){return b.a.AES.decrypt(b.a.enc.Base64.stringify(b.a.enc.Hex.parse(e.substring(48,e.length))),b.a.enc.Utf8.parse(e.substring(0,32)),{iv:b.a.enc.Utf8.parse(e.substring(32,48)),mode:b.a.mode.CBC,padding:b.a.pad.Pkcs7}).toString(b.a.enc.Utf8).toString()}}class A{constructor(){this.colors={1:BABYLON.Color3.Red(),2:new BABYLON.Color3(1,.5,0),3:BABYLON.Color3.Yellow(),4:new BABYLON.Color3(0,1,1),5:BABYLON.Color3.Green()};let e=new l.a.Tween(this.colors[1]).to({r:1,g:0,b:0},500),t=new l.a.Tween(this.colors[1]).to({r:1,g:.5,b:.5},500);t.chain(e),e.chain(t),e.start();let i=new l.a.Tween(this.colors[2]).to({r:1,g:.55,b:0},500),s=new l.a.Tween(this.colors[2]).to({r:0,g:0,b:0},500);i.chain(s),s.chain(i),i.start();let n=new l.a.Tween(this.colors[3]).to({r:1,g:.84,b:0},500),o=new l.a.Tween(this.colors[3]).to({r:0,g:0,b:0},500);n.chain(o),o.chain(n),n.start();let r=new l.a.Tween(this.colors[4]).to({r:0,g:.75,b:1},500),a=new l.a.Tween(this.colors[4]).to({r:0,g:0,b:0},500);r.chain(a),a.chain(r),r.start();let c=new l.a.Tween(this.colors[5]).to({r:.53,g:.8,b:0},500),h=new l.a.Tween(this.colors[5]).to({r:0,g:0,b:0},500);c.chain(h),h.chain(c),c.start()}}(s=v=v||{}).Campus="Campus",s.Building="Building",s.Scene="Scene",s.Humiture="Humiture",s.Battery="Battery",s.PowerCabinet="PowerCabinet",s.Cabinet="Cabinet",s.AirCondition="AirCondition",s.UPS="UPS",s.Camera="Camera",s.NewWindMachine="NewWindMachine",s.SmokeDetector="SmokeDetector",s.AudibleVisualAlarm="AudibleVisualAlarm",s.LeakWater="LeakWater",s.Wall="Wall",s.Floor="Floor",s.Window="Window",s.Door="Door",s.AirFlow="AirFlow",s.Corner="Corner",s.FireFighting="FireFighting",s.Lighting="Lighting",s.Enclosure="Enclosure",s.ParkingLot="ParkingLot",s.Elevator="Elevator",s.Other="Other",s.InrackAsset="InrackAsset",s.GasDetection="GasDetection",s.Security="Security",s.OutDoorScene="OutDoorScene",s.Infrared="Infrared",s.SkyBox="SkyBox",s.UI3D="UI3D",s.ColdTongDoor="ColdTongDoor",s.VirtualBox="VirtualBox",s.PathPint="PathPint",s.Port="Port",s.Positioner="Positioner",s.AutoAnimation="AutoAnimation",s.MapModel="MapModel",s.radiator="radiator",s.Conduit="Conduit",s.ParkModel="ParkModel",s.Storey="Storey",s.optimizedWall="optimizedWall";class w{setVisual(e){e=JSON.parse(e);this.alpha=e.alpha,this.beta=e.beta,this.radius=e.radius,this.focus=H.Tools.ToVector3(e.focus)}setLimit(e,t){this.minimumLimit=e+.3,this.maximumLimit=t}setBeta(e,t){this.minBeta=e,this.maxBeta=t}}class x{constructor(e){this.objectDatas=new m,this.app=e}delete(){this.app.scene.blockfreeActiveMeshesAndRenderingGroups=!0;for(const e in this.objectDatas.map)this.objectDatas.find(e).instance&&this.objectDatas.find(e).instance.dispose();this.objectDatas.clear(),this.current=null,this.app.scene.blockfreeActiveMeshesAndRenderingGroups=!1}optimization(){this.computeView(),this.app.scene.freezeActiveMeshes()}computeView(){this.visualAngle=new w;var e=this.getBounding(),e=H.Tools.getVisualAngle(e,this.app);this.visualAngle.alpha=e.alpha,this.visualAngle.beta=e.beta,this.visualAngle.focus=e.focus,this.visualAngle.radius=e.radius}getChildNodes(e){let t=new Array;for(const s in this.objectDatas.map){var i=this.app.project.objectDatas.find(s);i.parentId==e&&i.objectType!=v.Wall&&i.objectType!=v.Corner&&t.push(i)}return t}getTrees(){const n=(e,t)=>{for(const s in this.objectDatas.map){var i=this.app.project.objectDatas.find(s);i.isMonitor&&i.parentId==e&&(t.push({label:i.name,id:i.id,type:i.objectType,children:[]}),n(i.id,t[t.length-1].children))}};var e={label:this.root.name,id:this.root.id,type:this.root.objectType,children:[]};return n(this.root.id,e.children),e}find(e){return this.objectDatas.find(e)}findFormObjectType(e,t=!0){let i=new Array;for(const n in this.objectDatas.map){var s=this.app.project.objectDatas.find(n);t&&s.parentId!=this.current.id||s.objectType!=e||i.push(s)}return i}show(){this.app.scene.blockfreeActiveMeshesAndRenderingGroups=!0;for(const t in this.app.project.objectDatas.map){let e=this.app.project.objectDatas.find(t);e.setEnabled(!0)}this.app.scene.blockfreeActiveMeshesAndRenderingGroups=!1}getBounding(){var i,s;for(const e in this.app.project.objectDatas.map){let t=this.app.project.objectDatas.find(e);if(t.objectType!=v.ParkModel&&t.objectType!=v.Storey){let e=t.instance.getBoundingInfo();i&&s||(i=s=e.boundingBox.center.clone()),i=BABYLON.Vector3.Minimize(i,e.minimum.add(t.instance.position)),s=BABYLON.Vector3.Maximize(s,e.maximum.add(t.instance.position))}}return i&&s||(i=BABYLON.Vector3.Zero(),s=new BABYLON.Vector3(12,0,8)),new BABYLON.BoundingInfo(i,s)}flyTo(){this.app.camera.flyTo(this.visualAngle,500)}}class M{constructor(e){this.resourcePath="http://models.wodashijie.com/",this.walls=new m,this.resources=new m,this.ndoeMats=new m,this.Materials=new m,this.Textures=new m,this.MergeMaterials=new m,this.app=e;e=r.getGUID(12);this.transparentBox=BABYLON.MeshBuilder.CreateBox(e,{size:1},this.app.scene),this.transparentBox.alwaysSelectAsActiveMesh=!0;let t=new BABYLON.StandardMaterial(e,this.app.scene);t.diffuseTexture=new BABYLON.Texture(this.app.rootUrl+"resources/white.jpg",this.app.scene,!0,!1),t.alphaMode=BABYLON.Engine.ALPHA_COMBINE,t.emissiveColor=BABYLON.Color3.Green(),this.transparentBox.material=t,this.transparentBox.setEnabled(!1),this.transparentBox.visibility=.3;e=r.getGUID(12);this.BOX=BABYLON.MeshBuilder.CreateBox(e,{size:1},this.app.scene),this.BOX.edgesColor=BABYLON.Color4.FromHexString("#4ba3fff2"),this.BOX.setEnabled(!1),this.BOX.visibility=0,this.FogTex=new BABYLON.Texture(this.app.rootUrl+"resources/fogtex.png",this.app.scene,!0,!1)}async loadModelMesh(t){let i=this.resources.find(t.modelId);if(!i)try{i=await BABYLON.SceneLoader.LoadAssetContainerAsync(this.resourcePath+"bundle/"+t.modelId+"/",t.modelId+t.extension,this.app.scene),0<i.animationGroups.length&&i.animationGroups[0].stop(),i.addAllToScene(),i.meshes[0].setEnabled(!1),i.meshes[0].getChildMeshes().forEach(e=>{e.metadata&&e.metadata.gltf&&e.metadata.gltf.extras&&(i.isExtras=!0,e.metadata.gltf.extras.U&&BABYLON.Animation.CreateAndStartAnimation("u",e.material.albedoTexture,"uOffset",30*e.metadata.gltf.extras.Uspeed,30,0,1,1),e.metadata.gltf.extras.V&&BABYLON.Animation.CreateAndStartAnimation("v",e.material.albedoTexture,"vOffset",30*e.metadata.gltf.extras.Vspeed,30,0,1,1))}),t.objectType==v.OutDoorScene||i.isExtras||i.meshes[0].getChildMeshes().forEach(e=>{e.registerInstancedBuffer("color",4),e.instancedBuffers.color=new BABYLON.Color4(1,1,1,1)}),this.resources.add(t.modelId,i)}catch(e){console.error("模型下载失败!模型编号:"+t.modelId+";错误信息:"+e)}return i}loadModelMeshAsync(t,i){var e=this.resources.find(t.modelId);e?i(e):BABYLON.SceneLoader.LoadAssetContainerAsync(this.resourcePath+"bundle/"+t.modelId+"/",t.modelId+t.extension,this.app.scene).then(e=>{0<e.animationGroups.length&&e.animationGroups[0].stop(),this.resources.add(t.modelId,e),i(e)}).catch(()=>{console.error("模型下载失败!模型编号:"+t.modelId)})}GetMaterial(e,t){let i=this.Materials.find(e.modelId);var s;return void 0===i&&(s=this.GetTexture(e,t),i=new BABYLON.StandardMaterial(e.modelId,t),i.alphaMode=BABYLON.Engine.ALPHA_COMBINE,i.diffuseTexture=s,this.Materials.add(e.modelId,i)),i}GetTexture(e,t){let i=this.Textures.find(e.modelId);return void 0===i&&(i=new BABYLON.Texture(this.resourcePath+"texture/"+e.modelId+e.extension,t,!1),".png"==e.extension&&(i.hasAlpha=!0),this.Textures.add(e.modelId,i)),i}GetMergeMaterial(t,i){let s=this.MergeMaterials.find(t.modelId);if(void 0===s){s=new BABYLON.CustomMaterial(t.modelId,i),s.alphaMode=2,this.MergeMaterials.add(t.modelId,s),s.AddUniform("textureData","sampler2D",null),s.Vertex_Definitions(`
6
- varying vec3 localPos ;
7
- varying vec3 localNrm ;
8
- `),s.Fragment_Definitions(`
9
- varying vec3 localPos ;
10
- varying vec3 localNrm ;`),s.Vertex_Before_PositionUpdated(`
11
- localPos = position.xyz;
12
- localNrm = normal;
13
- `);let e=this.GetTexture(t,i);".png"==t.extension&&(e.hasAlpha=!0,s.alpha=.9),t.length=3.1,console.log(t.width),s.onBindObservable.add(()=>s.getEffect().setTexture("textureData",e)),s.Fragment_Custom_Diffuse(`
14
- vec3 newUV = vec3(abs(localPos.x)/`+t.width+",abs(localPos.y)/"+t.length+",abs(localPos.z)/"+t.width+`);
15
- if(abs(localNrm.z)>abs(localNrm.x)){
16
- vec4 res = texture2D(textureData,newUV.xy);
17
- diffuseColor = res.rgb;
18
- alpha = res.a;
19
- }
20
- else {
21
- vec4 res = texture2D(textureData,newUV.zy);
22
- diffuseColor = res.rgb;
23
- alpha = res.a;
24
- }
25
- `),s.freeze()}return s}delete(e=!1){if(this.BOX&&this.BOX.dispose(),this.transparentBox&&this.transparentBox.dispose(!0,!0),this.BOX=null,this.transparentBox=null,e){for(const t in this.resources.map)this.resources.find(t).removeAllFromScene(),this.resources.remove(t);this.resources.clear()}}async GetWalls(e,t){let i=await BABYLON.SceneLoader.LoadAssetContainerAsync(e,t+".gltf",this.app.scene);if(i.meshes){var s=i.meshes[0].getChildMeshes();for(let e=0;e<s.length;e++)this.walls.add(s[e].id,s[e])}}}(s=g=g||{}).leftClick="leftClick",s.rightClick="rightClick",s.doubleClick="doubleClick",s.eover="eover",s.longPress="longPress",s.out="out",(s=y=y||{})[s.Opaque=0]="Opaque",s[s.Flash=1]="Flash",s[s.Transparent=2]="Transparent";class T{constructor(e){this.isVisible=!0,this.executes=new m,this.clickEvents=new m,this.touchtime=(new Date).getTime(),this.effectType=y.Opaque,this._isMonitor=!0,this.app=e}set isMonitor(e){this._isMonitor=e}get isMonitor(){return this._isMonitor}setEnabled(e){this.app.scene.blockfreeActiveMeshesAndRenderingGroups=!0,this.instance.setEnabled(e),this.isEnabled=e,this.isEnabled?(this.instance.isPickable=0<this.executes.count(),this.executes.find(g.eover)||this.executes.find(g.out)?this.instance.enablePointerMoveEvents=!0:this.instance.enablePointerMoveEvents=!1):(this.instance.isPickable=!1,this.instance.enablePointerMoveEvents=!1),this.app.scene.blockfreeActiveMeshesAndRenderingGroups=!1}set showBoundingBox(e){this.app.scene.blockfreeActiveMeshesAndRenderingGroups=!0,this.instance.showBoundingBox=e,this.app.scene.blockfreeActiveMeshesAndRenderingGroups=!1}get showBoundingBox(){return this.instance.showBoundingBox}bind(e){this.id=e.id,this.name=e.name,this.parentId=e.parentId,this.modelId=e.baseModel.modelId,this.animation=e.animation,this.isAutoPlay=e.isAutoPlay,this.isloop=e.isloop,this.isMonitor=e.isMonitor,null!=e.isVisible&&(this.isVisible=e.isVisible),this.objectType=e.objectType;let t=new BABYLON.Mesh(this.id,this.app.scene),i=this.app.Resources.resources.find(this.modelId);i.meshes[0].getChildMeshes().forEach(e=>{e=e.createInstance(this.id);e.isPickable=!1,e.enablePointerMoveEvents=!1,e.parent=t}),t.rotation=H.Tools.ToVector3(e.rotation),t.position=H.Tools.ToVector3(e.position),t.scaling=H.Tools.ToVector3(e.scaling);e=H.Tools.computeBounds(t);t.setBoundingInfo(e),this.instance=this.app.Resources.BOX.clone(this.id),this.instance.id=this.id,this.instance.enablePointerMoveEvents=!1,this.instance.isPickable=!1,this.instance.scaling=new BABYLON.Vector3((e.maximum.x-e.minimum.x)*t.scaling.x,(e.maximum.y-e.minimum.y)*t.scaling.y,(e.maximum.z-e.minimum.z)*t.scaling.z),0==this.instance.scaling.y&&(this.instance.scaling.y=.01),this.instance.position=t.position.clone(),this.instance.position.y=(e.maximum.y-e.minimum.y)/2+t.position.y,this.instance.rotation=t.rotation.clone(),t.setParent(this.instance),this.alwaysActive(),this.optimization(!0),this.instance.setEnabled(!1),this.computeView(),this.isAutoPlay&&this.play()}computeView(){this.visualAngle=new w;var e=this.instance.getBoundingInfo(),t=H.Tools.getVisualAngle(e,this.app);this.visualAngle.alpha=t.alpha,this.visualAngle.beta=t.beta,this.visualAngle.focus=this.instance.getAbsolutePosition(),this.visualAngle.radius=e.boundingSphere.radiusWorld+3,this.visualAngle.minimumLimit=.3,this.visualAngle.maximumLimit=2*this.visualAngle.radius,this.visualAngle.minBeta=.01,this.visualAngle.maxBeta=Math.PI/2*.98}optimization(t){this.instance.getChildMeshes().forEach(e=>{t?e.freezeWorldMatrix():e.unfreezeWorldMatrix()}),t?this.instance.freezeWorldMatrix():this.instance.unfreezeWorldMatrix(),this.instance.material&&(t?this.instance.material.freeze():this.instance.material.unfreeze())}alwaysActive(){this.instance.getChildMeshes().forEach(e=>{e.alwaysSelectAsActiveMesh=!0,e.doNotSyncBoundingInfo=!1,e.ignoreNonUniformScaling=!0}),this.instance.alwaysSelectAsActiveMesh=!0,this.instance.doNotSyncBoundingInfo=!1}addEventListener(e,t){this.app.scene.blockfreeActiveMeshesAndRenderingGroups=!0;let i=null;var s;e==g.leftClick||e==g.rightClick?(this.clickEvents.remove(e),this.clickEvents.add(e,t),this.instance.isPickable=!0,i=new BABYLON.ExecuteCodeAction(BABYLON.ActionManager.OnPickTrigger,e=>{let t=this.clickEvents.find(g.leftClick);t&&0==e.sourceEvent.button&&t(this,e);let i=this.clickEvents.find(g.rightClick);i&&2==e.sourceEvent.button&&i(this,e),this.touchtime=(new Date).getTime()}),e="click"):e==g.doubleClick?i=new BABYLON.ExecuteCodeAction(BABYLON.ActionManager.OnDoublePickTrigger,e=>t(this,e)):e==g.eover?(i=new BABYLON.ExecuteCodeAction(BABYLON.ActionManager.OnPointerOverTrigger,e=>t(this,e)),this.instance.enablePointerMoveEvents=!0):e==g.longPress?i=new BABYLON.ExecuteCodeAction(BABYLON.ActionManager.OnLongPressTrigger,e=>t(this,e)):e==g.out&&(i=new BABYLON.ExecuteCodeAction(BABYLON.ActionManager.OnPointerOutTrigger,e=>t(this,e)),this.instance.enablePointerMoveEvents=!0),i&&(this.action||(this.action=new BABYLON.ActionManager(this.app.scene),this.instance.actionManager=this.action),(s=this.executes.find(e))&&this.action.unregisterAction(s),this.executes.remove(e),this.executes.add(e,i),this.action.registerAction(i)),this.app.scene.blockfreeActiveMeshesAndRenderingGroups=!1}removeEventListener(e){if(e==g.leftClick||e==g.rightClick||e==g.doubleClick){if(this.clickEvents.remove(e),0<this.clickEvents.count())return;e="click"}this.app.scene.blockfreeActiveMeshesAndRenderingGroups=!0;var t=this.executes.find(e);t&&this.action.unregisterAction(t),this.executes.remove(e),0==this.executes.count()&&(this.action=null,this.instance.actionManager=this.action),this.app.scene.blockfreeActiveMeshesAndRenderingGroups=!1}setFlash(t){this.effectType==y.Opaque&&(this.app.scene.blockfreeActiveMeshesAndRenderingGroups=!0,this.instance.getChildMeshes().forEach(e=>{e.instancedBuffers&&(e.instancedBuffers.color=H.EffectMgr.colors[t])}),this.app.scene.blockfreeActiveMeshesAndRenderingGroups=!1,this.effectType=y.Flash)}setOpaque(){this.effectType!=y.Opaque&&(this.app.scene.blockfreeActiveMeshesAndRenderingGroups=!0,this.instance.getChildMeshes().forEach(e=>{e.setEnabled(!0),e.instancedBuffers&&(e.instancedBuffers.color=new BABYLON.Color4(1,1,1,1))}),this.instance.disableEdgesRendering(),this.instance.visibility=0,this.setEnabled(this.isEnabled),this.app.scene.blockfreeActiveMeshesAndRenderingGroups=!1,this.effectType=y.Opaque)}setTransparent(e=.3){this.effectType==y.Opaque&&(this.app.scene.blockfreeActiveMeshesAndRenderingGroups=!0,this.instance.getChildMeshes().forEach(e=>e.setEnabled(!1)),this.instance.visibility=e,this.instance.enableEdgesRendering(),this.app.scene.blockfreeActiveMeshesAndRenderingGroups=!1,this.effectType=y.Transparent)}play(){this.app.scene.blockfreeActiveMeshesAndRenderingGroups=!0,this.instance.getChildMeshes().forEach(t=>{let i;t.animations.forEach(e=>{-1!=e.name.indexOf("open")&&(i=e)}),i?this.app.scene.beginDirectAnimation(t,[i],0,10*i.getKeys().length,this.isloop):t.animations.forEach(e=>this.app.scene.beginDirectAnimation(t,[e],0,10*e.getKeys().length,this.isloop))}),this.app.scene.blockfreeActiveMeshesAndRenderingGroups=!1}stop(){this.app.scene.blockfreeActiveMeshesAndRenderingGroups=!0,this.instance.getChildMeshes().forEach(t=>{let i;t.animations.forEach(e=>{-1!=e.name.indexOf("close")&&(i=e)}),i?this.app.scene.beginDirectAnimation(t,[i],0,10*i.getKeys().length,!1):t.animations.forEach(e=>this.app.scene.beginDirectAnimation(t,[e],10*e.getKeys().length,0,!1))}),this.app.scene.blockfreeActiveMeshesAndRenderingGroups=!1}flyTo(){this.app.camera.translation(this.visualAngle,500)}focus(){}}class _ extends T{constructor(){super(...arguments),this.baseModel=null}bind(e){this.id=r.getGUID(12),this.objectType="Wall",this.name="墙体",this.isMonitor=!1,this.instance=H.Tools.MergeMeshes(e.walls,this.app),this.instance.receiveShadows=!0,e.t&&""!=e.t?(this.modelId=e.t.modelId,this.baseModel=e.t,this.baseModel.length||(this.baseModel.length=3.1),this.nativeMaterial=this.app.Resources.GetMergeMaterial(e.t,this.app.scene)):this.nativeMaterial=null,this.instance.material=this.nativeMaterial,this.instance.id=this.id,this.instance.name=this.id,this.instance.isPickable=!1,this.instance.enablePointerMoveEvents=!1,this.instance.position.y=this.height,this.alwaysActive(),this.optimization(!0)}}class k extends T{bind(e){this.id=e.id,this.name=e.name,this.parentId=e.parentId,this.modelId=e.baseModel.modelId,this.height=e.baseModel.height,this.isMonitor=e.isMonitor,this.objectType=e.objectType,this.instance=new BABYLON.Mesh(this.id,this.app.scene);let t=this.app.Resources.resources.find(this.modelId);t.meshes[0].getChildMeshes().forEach(e=>{(this.app.highQualityMode?e.clone(this.id):e.createInstance(this.id)).parent=this.instance});var i=H.Tools.computeBounds(this.instance);this.instance.rotation=H.Tools.ToVector3(e.rotation),this.instance.position=H.Tools.ToVector3(e.position),this.visualAngle=H.Tools.getVisualAngle(i,this.app);let s=this.app.Resources.BOX.createInstance(this.id);s.setBoundingInfo(i),s.enablePointerMoveEvents=!1,s.isPickable=!1,s.scaling=new BABYLON.Vector3((i.maximum.x-i.minimum.x)*this.instance.scaling.x,(i.maximum.y-i.minimum.y)*this.instance.scaling.y,(i.maximum.z-i.minimum.z)*this.instance.scaling.z),s.position=this.instance.position.clone(),s.position.y=(i.maximum.y-i.minimum.y)/2+this.instance.position.y,s.rotation=this.instance.rotation.clone(),this.instance.getChildMeshes().forEach(e=>e.setParent(s)),this.instance.dispose(),this.instance=s,this.alwaysActive(),this.optimization(!0),this.instance.setEnabled(!1),this.computeView()}}class O extends T{bind(e){this.id=e.id,this.name=e.name,this.parentId=e.parentId,this.modelId=e.baseModel.modelId,this.height=e.baseModel.height,this.isMonitor=e.isMonitor,this.objectType=e.objectType,this.instance=new BABYLON.Mesh(this.id,this.app.scene);let t=this.app.Resources.resources.find(this.modelId);t.meshes[0].getChildMeshes().forEach(e=>{(this.app.highQualityMode?e.clone(this.id):e.createInstance(this.id)).parent=this.instance});var i=H.Tools.computeBounds(this.instance);this.instance.rotation=H.Tools.ToVector3(e.rotation),this.instance.position=H.Tools.ToVector3(e.position);let s=this.app.Resources.BOX.createInstance(this.id);s.setBoundingInfo(i),s.enablePointerMoveEvents=!1,s.isPickable=!1,s.scaling=new BABYLON.Vector3((i.maximum.x-i.minimum.x)*this.instance.scaling.x,(i.maximum.y-i.minimum.y)*this.instance.scaling.y,(i.maximum.z-i.minimum.z)*this.instance.scaling.z),s.position=this.instance.position.clone(),s.position.y=(i.maximum.y-i.minimum.y)/2+this.instance.position.y,s.rotation=this.instance.rotation.clone(),this.instance.getChildMeshes().forEach(e=>e.setParent(s)),this.instance.dispose(),this.instance=s,this.alwaysActive(),this.optimization(!0),this.instance.setEnabled(!1),this.computeView()}}class L extends T{}class C extends T{bind(e){this.visualAngle=new w;let t=H.Tools.ToARRVector3(e.lines);this.visualAngle.focus=t[0].clone(),this.instance=H.Tools.createTube(e.id,t,.02,this.app),this.instance.setEnabled(!1),this.id=e.id,this.name=e.name,this.parentId=e.parentId,this.modelId=e.baseModel.modelId,this.objectType=e.objectType,this.isMonitor=e.isMonitor;e=this.app.Resources.GetMaterial(e.baseModel,this.app.scene).clone(this.id);BABYLON.Animation.CreateAndStartAnimation("u",e.diffuseTexture,"vOffset",15,30,0,1,1),e.diffuseTexture.vScale=this.instance.getTotalVertices()/50,this.instance.material=e,this.alwaysActive(),this.optimization(!0),this.computeView()}computeView(){var e=this.instance.getBoundingInfo(),t=H.Tools.getVisualAngle(e,this.app);this.visualAngle.alpha=t.alpha,this.visualAngle.beta=t.beta,this.visualAngle.radius=e.boundingSphere.radiusWorld+3,this.visualAngle.minimumLimit=.3,this.visualAngle.maximumLimit=2*this.visualAngle.radius,this.visualAngle.minBeta=.01,this.visualAngle.maxBeta=Math.PI/2*.98}addEventListener(e,t){this.app.scene.blockfreeActiveMeshesAndRenderingGroups=!0;let i=null;var s;e==g.leftClick||e==g.rightClick||e==g.doubleClick?(this.clickEvents.remove(e),this.clickEvents.add(e,t),this.instance.isPickable=!0,i=new BABYLON.ExecuteCodeAction(BABYLON.ActionManager.OnPickTrigger,e=>{let t=this.clickEvents.find(g.leftClick);t&&0==e.sourceEvent.button&&t(this,e);let i=this.clickEvents.find(g.rightClick);i&&2==e.sourceEvent.button&&i(this,e);let s=this.clickEvents.find(g.doubleClick);s&&0==e.sourceEvent.button&&(new Date).getTime()-this.touchtime<500&&s(this,e),this.touchtime=(new Date).getTime()}),e="click"):e==g.eover?(i=new BABYLON.ExecuteCodeAction(BABYLON.ActionManager.OnPointerOverTrigger,e=>t(this,e)),this.instance.enablePointerMoveEvents=!0):e==g.longPress?i=new BABYLON.ExecuteCodeAction(BABYLON.ActionManager.OnLongPressTrigger,e=>t(this,e)):e==g.out&&(i=new BABYLON.ExecuteCodeAction(BABYLON.ActionManager.OnPointerOutTrigger,e=>t(this,e)),this.instance.enablePointerMoveEvents=!0),i&&(this.action||(this.action=new BABYLON.ActionManager(this.app.scene),this.instance.actionManager=this.action),(s=this.executes.find(e))&&this.action.unregisterAction(s),this.executes.remove(e),this.executes.add(e,i),this.action.registerAction(i)),this.app.scene.blockfreeActiveMeshesAndRenderingGroups=!1}removeEventListener(e){if(e==g.leftClick||e==g.rightClick||e==g.doubleClick){if(this.clickEvents.remove(e),0<this.clickEvents.count())return;e="click"}this.app.scene.blockfreeActiveMeshesAndRenderingGroups=!0;var t=this.executes.find(e);t&&this.action.unregisterAction(t),this.executes.remove(e),0==this.executes.count()&&(this.action=null,this.instance.actionManager=this.action,this.instance.getChildMeshes().forEach(e=>e.actionManager=this.action)),this.app.scene.blockfreeActiveMeshesAndRenderingGroups=!1}}class E extends T{async bind(t){if(this.id=t.id,this.name=t.name,this.parentId=t.parentId,this.isMonitor=t.isMonitor,this.objectType=t.objectType,this.isVisible=t.isVisible,t.virtualType&&t.isVisible){"Cylinder"==t.virtualType?this.instance=BABYLON.MeshBuilder.CreateCylinder(this.id,{height:1,diameterTop:1,diameterBottom:1},this.app.scene):this.instance=BABYLON.MeshBuilder.CreateBox(this.id,{size:1},this.app.scene),this.instance.setEnabled(!1),this.instance.id=this.id;let e=new BABYLON.StandardMaterial(this.id,this.app.scene);e.diffuseColor=BABYLON.Color3.FromHexString(t.color),t.alpha<.98&&(e.alpha=t.alpha,e.alphaMode=2,e.useAlphaFromDiffuseTexture=!0),this.instance.material=e,t.isEdges&&(this.instance.enableEdgesRendering(),this.instance.edgesWidth=1,this.instance.edgesColor=new BABYLON.Color4(0,1,1,1)),t.edgesWidth&&0<t.edgesWidth&&(this.instance.enableEdgesRendering(),this.instance.edgesWidth=t.edgesWidth,this.instance.edgesColor=BABYLON.Color3.FromHexString(t.edgesColor).toColor4(1))}else this.instance=BABYLON.Mesh.CreateBox(this.id,1,this.app.scene),this.instance.setEnabled(!1),this.instance.id=this.id;this.instance.enablePointerMoveEvents=this.isMonitor,this.instance.isPickable=this.isMonitor,this.instance.rotation=H.Tools.ToVector3(t.rotation),this.instance.position=H.Tools.ToVector3(t.position),this.instance.scaling=H.Tools.ToVector3(t.scaling),this.alwaysActive(),this.optimization(!0),this.computeView()}}class j extends T{bind(e){this.id=e.id,this.name=e.name,this.parentId=e.parentId,this.objectType=e.objectType,this.isMonitor=e.isMonitor;let t={};t.color=e.color,e.size?(t.clearColor=null,t.position=H.Tools.ToVector3(e.position),n=H.Tools.ToVector3(e.rotation),t.rotation=new BABYLON.Vector3(n.x+Math.PI,n.y,n.z),i=Number.parseInt(e.size.replace("px",""))/40,n=e.scaling?H.Tools.ToVector3(e.scaling):BABYLON.Vector3.One(),t.scaling=new BABYLON.Vector3(14*i/50*n.x,1,14*i/50*n.z)):(t.clearColor=e.clearColor,t.position=H.Tools.ToVector3(e.position),t.rotation=H.Tools.ToVector3(e.rotation),t.scaling=H.Tools.ToVector3(e.scaling));var i="bold 100px Arial";let s=new BABYLON.DynamicTexture(this.id,64,this.app.scene,!1);var n=s.getContext();n.font=i;e=n.measureText(this.name).width+8,n=.02*e;s=new BABYLON.DynamicTexture(this.id,{width:e,height:150},this.app.scene,!1);e=new BABYLON.StandardMaterial(this.id,this.app.scene);e.backFaceCulling=!1,e.diffuseTexture=s,t.clearColor||(s.hasAlpha=!0),s.drawText(this.name,null,null,i,t.color,t.clearColor,!1),this.instance=BABYLON.Mesh.CreateGround(this.id,n,3,1,this.app.scene),this.instance.setEnabled(!1),this.instance.scaling=t.scaling,this.instance.position=t.position,this.instance.rotation=t.rotation,this.instance.material=e,this.alwaysActive(),this.optimization(!0),this.computeView()}}class S extends T{bind(e){this.id=e.id,this.name=e.name,this.parentId=e.parentId,this.isMonitor=e.isMonitor,this.objectType=e.objectType,this.isVisible=!0,this.color=e.color,this.instance=new BABYLON.Mesh(this.id);var t=u.ToARRVector3(e.pints);let i=u.createTube(e.id,t,e.radius,this.app);this.instance.position=i.getBoundingInfo().boundingBox.center.clone(),this.instance.addChild(i),e.rotation&&(this.instance.rotation=H.Tools.ToVector3(e.rotation)),e.position&&(this.instance.position=H.Tools.ToVector3(e.position)),i.setParent(this.instance.parent),this.instance.dispose(),this.instance=i;let s=new BABYLON.StandardMaterial(e.id,this.app.scene);s.diffuseColor=BABYLON.Color3.FromHexString(e.color),s.alpha=e.alpha,this.alpha=e.alpha,this.instance.material=s,this.instance.enablePointerMoveEvents=this.isMonitor,this.instance.isPickable=this.isMonitor,this.instance.setEnabled(!1),this.alwaysActive(),this.optimization(!0),this.computeView()}computeView(){this.visualAngle=new w;var e=this.instance.getBoundingInfo(),e=H.Tools.getVisualAngle(e,this.app);this.alpha=e.alpha,this.visualAngle.beta=e.beta,this.visualAngle.focus=e.focus,this.visualAngle.radius=e.radius,this.visualAngle.minimumLimit=.3,this.visualAngle.maximumLimit=2*this.visualAngle.radius,this.visualAngle.minBeta=.01,this.visualAngle.maxBeta=Math.PI/2*.98}setFlash(e=1){this.effectType==y.Opaque&&(this.app.scene.blockfreeActiveMeshesAndRenderingGroups=!0,this.optimization(!1),this.instance.material.emissiveColor=H.EffectMgr.colors[e],this.app.Glow.addIncludedOnlyMesh(this.instance),this.app.scene.blockfreeActiveMeshesAndRenderingGroups=!1,this.effectType=y.Flash)}setOpaque(){this.effectType!=y.Opaque&&(this.app.scene.blockfreeActiveMeshesAndRenderingGroups=!0,this.app.Glow.removeIncludedOnlyMesh(this.instance),this.optimization(!0),this.instance.material.alpha=this.alpha,this.instance.material.emissiveColor=null,this.app.scene.blockfreeActiveMeshesAndRenderingGroups=!1,this.effectType=y.Opaque)}setTransparent(e=.3){this.effectType==y.Opaque&&(this.app.scene.blockfreeActiveMeshesAndRenderingGroups=!0,this.app.Glow.removeIncludedOnlyMesh(this.instance),this.optimization(!1),this.instance.material.alpha=e,this.app.scene.blockfreeActiveMeshesAndRenderingGroups=!1,this.effectType=y.Transparent)}}class I extends T{bind(e){this.id=e.id,this.name=e.name,this.parentId=e.parentId,this.modelId=e.baseModel.modelId,this.objectType=e.objectType,this.isMonitor=!0,this.instance=BABYLON.MeshBuilder.CreatePolygon("地板",{shape:u.Expand(e.vectors,-.01),holes:e.buckles,sideOrientation:BABYLON.Mesh.DOUBLESIDE},this.app.scene),this.alwaysActive(),this.instance.setEnabled(!1),this.instance.isPickable=!1,this.instance.enablePointerMoveEvents=!1,this.instance.position.y=this.height,this.instance.id=e.id,this.instance.name="地板";var t=this.app.Resources.GetMaterial(e.baseModel,this.app.scene).clone(e.id),i=this.instance.getBoundingInfo();this.visualAngle=u.getVisualAngle(i,this.app),e.baseModel.isTiling&&(t.diffuseTexture.uScale=(i.maximum.x-i.minimum.x)/e.baseModel.width,t.diffuseTexture.vScale=(i.maximum.z-i.minimum.z)/e.baseModel.length),this.instance.material=t,this.optimization(!0),this.computeView()}}class N extends T{bind(e){this.id=e.id,this.parentId=e.parentId,this.objectType="Wall",this.isMonitor=!1,this.instance=this.app.Resources.walls.find(e.id),this.instance&&(this.app.scene.addMesh(this.instance),this.app.Resources.walls.remove(e.id),e.baseModel?(this.modelId=e.baseModel.modelId,this.nativeMaterial=this.app.Resources.GetMergeMaterial(e.baseModel,this.app.scene)):this.nativeMaterial=null,this.instance.material=this.nativeMaterial,this.instance.id=this.id,this.instance.name=this.id,this.instance.isPickable=!1,this.instance.enablePointerMoveEvents=!1,this.alwaysActive(),this.optimization(!0),this.instance.setEnabled(!1),this.computeView())}}class z extends T{bind(i){let e=!1;this.id=r.getGUID(12),this.name="墙角",this.isMonitor=!1,this.objectType="Corner";let s=new Array;for(let t=0;t<i.length;t++)if(2<i[t].pints.length){let e=BABYLON.MeshBuilder.CreatePolygon(this.id,{shape:i[t].pints,sideOrientation:BABYLON.Mesh.FRONTSIDE},this.app.scene);e.setEnabled(!1),e.position.y=i[t].height,e.isPickable=!0,e.enablePointerMoveEvents=!1,s.push(e)}return s.length<1||(1<s.length?this.instance=u.MergeMeshes(s,this.app):this.instance=s[0],this.instance.id=this.id,this.instance.name=this.id,this.instance.position.y=this.height,this.instance.setEnabled(!1),this.instance.isPickable=!1,this.instance.enablePointerMoveEvents=!1,this.alwaysActive(),this.optimization(!0),e=!0),e}}class P extends T{focus(){this.app.scene.blockfreeActiveMeshesAndRenderingGroups=!0;let i=new Array;for(const t in this.app.project.objectDatas.map){let e=this.app.project.objectDatas.find(t);e.parentId==this.id&&i.push(e),e.setEnabled(!1)}for(const e in this.app.project.objectDatas.map){let t=this.app.project.objectDatas.find(e);t.objectType!=v.Wall&&t.objectType!=v.Corner&&t.objectType!=v.Floor&&t.objectType!=v.Window&&t.objectType!=v.Door||i.forEach(e=>{t.parentId==e.id&&t.setEnabled(!0)})}this.isEnabled=!0,this.app.scene.blockfreeActiveMeshesAndRenderingGroups=!1}restVisualAngle(){this.visualAngle=u.getVisualAngle(this.instance.getBoundingInfo(),this.app)}}class D extends T{bind(e){this.id=e.id,this.name=e.name,this.parentId=e.parentId,this.modelId=e.baseModel.modelId,this.animation=!0,this.isAutoPlay=!0,this.isloop=!0,this.isVisible=!1,this.isMonitor=e.isMonitor,null!=e.isVisible&&(this.isVisible=e.isVisible),this.objectType=e.objectType;let t=new BABYLON.Mesh(this.id,this.app.scene),i=this.app.Resources.resources.find(this.modelId);i.meshes[0].getChildMeshes().forEach(e=>{e=e.createInstance(this.id);e.isPickable=!1,e.enablePointerMoveEvents=!1,e.parent=t}),t.rotation=H.Tools.ToVector3(e.rotation),t.position=H.Tools.ToVector3(e.position),t.scaling=H.Tools.ToVector3(e.scaling);e=H.Tools.computeBounds(t);t.setBoundingInfo(e),this.instance=t,this.alwaysActive(),this.optimization(!0),this.instance.setEnabled(!1),this.computeView(),this.isAutoPlay&&this.play()}computeView(){this.visualAngle=new w;var e=this.instance.getBoundingInfo(),t=H.Tools.getVisualAngle(e,this.app);this.visualAngle.alpha=t.alpha,this.visualAngle.beta=t.beta,this.visualAngle.focus=this.instance.getAbsolutePosition(),this.visualAngle.radius=e.boundingSphere.radiusWorld+3,this.visualAngle.minimumLimit=.3,this.visualAngle.maximumLimit=2*this.visualAngle.radius,this.visualAngle.minBeta=.01,this.visualAngle.maxBeta=Math.PI/2*.98}setFlash(e){}setTransparent(e){this.app.scene.blockfreeActiveMeshesAndRenderingGroups=!0,this.setEnabled(!1),this.app.scene.blockfreeActiveMeshesAndRenderingGroups=!1}setOpaque(){this.app.scene.blockfreeActiveMeshesAndRenderingGroups=!0,this.setEnabled(!0),this.app.scene.blockfreeActiveMeshesAndRenderingGroups=!1}play(){}stop(){}}class Y extends T{constructor(e,t){super(e),this.height=0,this.id=t.id,this.objectType=t.objectType,this.name=t.name,this.parentId=t.parentId,this.height=t.height,this.objectType==v.ParkModel&&(this.height=0),this.index=t.index}bind(n,e=0){let t=!1;for(let e=0;e<n.length;e++){var i=n[e];if(i.objectType==v.optimizedWall){t=!0;let e=new N(this.app);e.bind(i),e.instance&&this.app.project.objectDatas.add(e.id,e)}}let r=new Array;for(let t=0;t<n.length;t++){let e=n[t];e.objectType==v.Wall&&(e.height||(e.height=3.1),e.ply||(e.ply=.09),r.push(e))}let o=new m;for(let e=0;e<n.length;e++){let i=n[e];i.objectType==v.Corner&&(o.add(i.id,i.corner),2<i.pints.length&&(i.height=3.1,i.walls.forEach(t=>{r.forEach(e=>{t==e.id&&parseFloat(e.height)<i.height&&(i.height=parseFloat(e.height))})})))}if(!t){let t=new Array;for(let e=0;e<n.length;e++){var s=n[e];s.objectType==v.Corner&&t.push(s)}let e=new z(this.app);e.height=this.height,e.bind(t)?(e.parentId=this.id,this.app.project.objectDatas.add(e.id,e)):e=null}for(let i=0;i<n.length;i++){let s=n[i];if(s.objectType==v.Floor){s.vectors=new Array;let e=n[i];e.pints.forEach(e=>{o.find(e)||console.log(e),s.vectors.push(o.find(e))}),s.buckles=new Array,e.holes&&e.holes.forEach(e=>{let t=new Array;e.forEach(e=>t.push(o.find(e))),s.buckles.push(t)}),e.middles&&e.middles.forEach(t=>{let i=Array();for(let e=0;e<n.length;e++)n[e].id==t&&n[e].pints.forEach(e=>{e=o.find(e);i.push(new BABYLON.Vector3(e.x,0,e.z))});s.buckles.push(i)});let t=new I(this.app);t.height=this.height,t.bind(s),this.app.project.objectDatas.add(t.id,t)}}o=null;for(let t=0;t<n.length;t++){var a=n[t];let e;if(a.objectType==v.Window)e=new k(this.app);else if(a.objectType==v.Door)e=new O(this.app);else if(a.objectType==v.Cabinet)e=new L(this.app);else if(a.objectType==v.LeakWater)e=new C(this.app);else if(a.objectType==v.VirtualBox)e=new E(this.app);else if(a.objectType==v.UI3D)e=new j(this.app);else if(a.objectType==v.Conduit)e=new S(this.app);else if(a.objectType==v.Building)e=new P(this.app);else{if(a.objectType==v.Wall||a.objectType==v.optimizedWall)continue;if(a.objectType==v.Corner)continue;if(a.objectType==v.Floor)continue;e=new(a.objectType==v.AirFlow?D:T)(this.app)}e.bind(a),this.app.project.objectDatas.add(e.id,e)}if(!t){let o=new m;o.add("body",{t:"",walls:new Array});for(let n=0;n<r.length;n++){let s=BABYLON.MeshBuilder.ExtrudePolygon(r[n].id,{shape:[H.Tools.ToVector3(r[n].wtop),H.Tools.ToVector3(r[n].wleft),H.Tools.ToVector3(r[n].wbottom),H.Tools.ToVector3(r[n].wright)],depth:parseFloat(r[n].height),sideOrientation:BABYLON.Mesh.FRONTSIDE},this.app.scene);s.setEnabled(!1),s.position.y=parseFloat(r[n].height),s.subMeshes=[];var c=s.getTotalVertices();s.subMeshes.push(new BABYLON.SubMesh(0,0,c,0,6,s)),s.subMeshes.push(new BABYLON.SubMesh(0,1,c,18,6,s)),s.subMeshes.push(new BABYLON.SubMesh(0,2,c,30,6,s));for(let i=0;i<r[n].wallwindows.length;i++){const d=BABYLON.CSG.FromMesh(s);let e=this.app.project.objectDatas.find(r[n].wallwindows[i]);var h=e.instance.getBoundingInfo(),l=BABYLON.MeshBuilder.CreateBox((new Date).getTime().toString(),{height:h.maximum.y-h.minimum.y,width:h.maximum.x-h.minimum.x,depth:2*parseFloat(r[n].ply)+.1},this.app.scene);l.position=e.instance.position.clone(),l.position.y=(h.maximum.y-h.minimum.y)/2+e.height,l.rotation=e.instance.rotation.clone();h=BABYLON.CSG.FromMesh(l);let t=d.subtract(h);l.dispose(),s.dispose(),s=t.toMesh(r[n].id,null,this.app.scene,!0),s.setEnabled(!1)}let t=o.find(r[n].leftMap.modelId);t||(t={t:r[n].leftMap,walls:new Array},o.add(r[n].leftMap.modelId,t));let i=o.find(r[n].rightMap.modelId);i||(i={t:r[n].rightMap,walls:new Array},o.add(r[n].rightMap.modelId,i));var p=H.Tools.DeconsTructMesh(s,parseFloat(r[n].height),this.app);for(let e=0;e<p.length;e++)(2==e||3==e?t:4==e||5==e?i:o.find("body")).walls.push(p[e])}for(const u in o.map)if(0<o.find(u).walls.length){let e=new _(this.app);e.parentId=this.id,e.height=this.height,e.bind(o.find(u)),this.app.project.objectDatas.add(e.id,e)}}r=null,this.computeView()}computeView(){this.visualAngle=new w;var e=this.getBounding(),e=H.Tools.getVisualAngle(e,this.app);this.visualAngle.alpha=e.alpha,this.visualAngle.beta=e.beta,this.visualAngle.focus=e.focus,this.visualAngle.radius=e.radius,this.visualAngle.focus.y=this.height}flyTo(){this.app.camera.flyTo(this.visualAngle,500)}focus(){this.app.scene.blockfreeActiveMeshesAndRenderingGroups=!0;for(const t in this.app.project.objectDatas.map){let e=this.app.project.objectDatas.find(t);e.parentId==this.id?e.setEnabled(e.isVisible):e.setEnabled(!1)}this.isEnabled=!0,(this.app.project.current=this).app.scene.blockfreeActiveMeshesAndRenderingGroups=!1}setEnabled(e){}getBounding(){var i,s;for(const e in this.app.project.objectDatas.map){let t=this.app.project.objectDatas.find(e);if(t.objectType!=v.ParkModel&&t.objectType!=v.Storey&&t.parentId==this.id){let e=t.instance.getBoundingInfo();i&&s||(i=s=e.boundingBox.center.clone()),i=BABYLON.Vector3.Minimize(i,e.minimum.add(t.instance.position)),s=BABYLON.Vector3.Maximize(s,e.maximum.add(t.instance.position))}}return i&&s||(i=BABYLON.Vector3.Zero(),s=new BABYLON.Vector3(12,this.height,8)),new BABYLON.BoundingInfo(i,s)}dispose(){}}class R extends T{constructor(e,t){super(e),this.height=0,this.id=t.id,this.objectType=t.objectType,this.name=t.name,this.parentId=t.parentId,this.height=t.height,this.objectType==v.ParkModel&&(this.height=0),this.index=t.index}bind(n,i=!1){let o=new Array;for(let t=0;t<n.length;t++){let e=n[t];e.objectType==v.Wall&&(e.height||(e.height=3.1),e.ply||(e.ply=.09),o.push(e))}let r=new m;for(let e=0;e<n.length;e++){let i=n[e];i.objectType==v.Corner&&(r.add(i.id,i.corner),2<i.pints.length&&(i.height=3.1,i.walls.forEach(t=>{o.forEach(e=>{t==e.id&&parseFloat(e.height)<i.height&&(i.height=parseFloat(e.height))})})))}let t=new Array;for(let e=0;e<n.length;e++){var s=n[e];s.objectType==v.Corner&&t.push(s)}let e=new z(this.app);if(e.height=this.height,e.bind(t)?(e.parentId=this.id,this.app.project.objectDatas.add(e.id,e)):e=null,!i)for(let i=0;i<n.length;i++){let s=n[i];if(s.objectType==v.Floor){s.vectors=new Array;let e=n[i];e.pints.forEach(e=>{r.find(e)||console.log(e),s.vectors.push(r.find(e))}),s.buckles=new Array,e.holes&&e.holes.forEach(e=>{let t=new Array;e.forEach(e=>t.push(r.find(e))),s.buckles.push(t)}),e.middles&&e.middles.forEach(t=>{let i=Array();for(let e=0;e<n.length;e++)n[e].id==t&&n[e].pints.forEach(e=>{e=r.find(e);i.push(new BABYLON.Vector3(e.x,0,e.z))});s.buckles.push(i)});let t=new I(this.app);t.height=this.height,t.bind(s),this.app.project.objectDatas.add(t.id,t)}}r=null;for(let t=0;t<n.length;t++){var a=n[t];let e;if(a.objectType==v.Window)e=new k(this.app);else if(a.objectType==v.Door)e=new O(this.app);else if(a.objectType!=v.Cabinet||i)if(a.objectType!=v.LeakWater||i)if(a.objectType!=v.VirtualBox||i)if(a.objectType!=v.UI3D||i)if(a.objectType!=v.Conduit||i)if(a.objectType!=v.Building||i){if(a.objectType==v.Wall)continue;if(a.objectType==v.Corner)continue;if(a.objectType==v.Floor)continue;if(i)continue;e=new T(this.app)}else e=new P(this.app);else e=new S(this.app);else e=new j(this.app);else e=new E(this.app);else e=new C(this.app);else e=new L(this.app);e.bind(a),this.app.project.objectDatas.add(e.id,e)}let c=new m;c.add("body",{t:"",walls:new Array});for(let n=0;n<o.length;n++){let s=BABYLON.MeshBuilder.ExtrudePolygon(o[n].id,{shape:[H.Tools.ToVector3(o[n].wtop),H.Tools.ToVector3(o[n].wleft),H.Tools.ToVector3(o[n].wbottom),H.Tools.ToVector3(o[n].wright)],depth:parseFloat(o[n].height),sideOrientation:BABYLON.Mesh.FRONTSIDE},this.app.scene);s.setEnabled(!1),s.position.y=parseFloat(o[n].height),s.subMeshes=[];var h=s.getTotalVertices();s.subMeshes.push(new BABYLON.SubMesh(0,0,h,0,6,s)),s.subMeshes.push(new BABYLON.SubMesh(0,1,h,18,6,s)),s.subMeshes.push(new BABYLON.SubMesh(0,2,h,30,6,s));for(let i=0;i<o[n].wallwindows.length;i++){const u=BABYLON.CSG.FromMesh(s);let e=this.app.project.objectDatas.find(o[n].wallwindows[i]);var l=e.instance.getBoundingInfo(),p=BABYLON.MeshBuilder.CreateBox((new Date).getTime().toString(),{height:l.maximum.y-l.minimum.y,width:l.maximum.x-l.minimum.x,depth:2*parseFloat(o[n].ply)+.1},this.app.scene);p.position=e.instance.position.clone(),p.position.y=(l.maximum.y-l.minimum.y)/2+e.height,p.rotation=e.instance.rotation.clone();l=BABYLON.CSG.FromMesh(p);let t=u.subtract(l);p.dispose(),s.dispose(),s=t.toMesh(o[n].id,null,this.app.scene,!0),s.setEnabled(!1)}let t=c.find(o[n].leftMap.modelId);t||(t={t:o[n].leftMap,walls:new Array},c.add(o[n].leftMap.modelId,t));let i=c.find(o[n].rightMap.modelId);i||(i={t:o[n].rightMap,walls:new Array},c.add(o[n].rightMap.modelId,i));var d=H.Tools.DeconsTructMesh(s,parseFloat(o[n].height),this.app);for(let e=0;e<d.length;e++)(2==e||3==e?t:4==e||5==e?i:c.find("body")).walls.push(d[e])}for(const f in c.map)if(0<c.find(f).walls.length){let e=new _(this.app);e.parentId=this.id,e.height=this.height,e.bind(c.find(f)),this.app.project.objectDatas.add(e.id,e)}o=null,this.restVisualAngle()}focus(){this.app.scene.blockfreeActiveMeshesAndRenderingGroups=!0;for(const t in this.app.project.objectDatas.map){let e=this.app.project.objectDatas.find(t);e.parentId==this.id?e.setEnabled(!0):e.setEnabled(!1)}this.isEnabled=!0,this.app.scene.blockfreeActiveMeshesAndRenderingGroups=!1}setEnabled(e){}restVisualAngle(){var i,s;for(const e in this.app.project.objectDatas.map){let t=this.app.project.objectDatas.find(e);if(t.objectType!=v.ParkModel&&t.objectType!=v.Storey&&t.parentId==this.id){let e=t.instance.getBoundingInfo();i&&s||(i=s=e.boundingBox.center.clone()),i=BABYLON.Vector3.Minimize(i,e.minimum.add(t.instance.position)),s=BABYLON.Vector3.Maximize(s,e.maximum.add(t.instance.position))}}i&&s||(i=BABYLON.Vector3.Zero(),s=new BABYLON.Vector3(12,this.height,8)),this.visualAngle=u.getVisualAngle(new BABYLON.BoundingInfo(i,s),this.app),this.visualAngle.focus.y=this.height}}var V=i(3);class F{constructor(e,t){this.isOK=!1,this.app=t,this.ele=document.createElement("div"),this.ele.style.cssText="position: absolute;z-index:999999999; font-size: 10px;color: rgb(211, 211, 211);text-shadow:rgba(0, 0, 0, 0.2) 1px 1px 0; padding: 5px 8px;",e.appendChild(this.ele),this.close(),setInterval(()=>{var e;1e3<(new Date).getTime()-this.time&&this.isOK&&!this.text&&((e=this.app.project.objectDatas.find(this.id))&&(this.text=e.name))},100)}set text(e){this._text=e,(this.ele.innerText=e)&&(this.ele.style.display=null)}update(e){e.pickInfo.pickedMesh?e.pickInfo.pickedMesh.id!=this.id?(this.close(),this.id=e.pickInfo.pickedMesh.id,this.time=(new Date).getTime()):this.isOK=!0:this.close(),this.ele.style.top=e.event.offsetY+"px",this.ele.style.left=e.event.offsetX+20+"px"}close(){this.isOK=!1,this.time=(new Date).getTime(),this.ele.style.display="none",this.text=""}setBackground(e){this.url=e,this.ele.style.background="url("+this.url+") no-repeat",this.ele.style.backgroundSize="cover"}}var i={App:class{constructor(e,t){this.index=0,this.highQualityMode=!1;e=V.SceneLoader.create(e);this.canvas=e.canvas,this.engine=e.engine,this.scene=e.scene,this.rootUrl=t||"http://models.wodashijie.com/",this.Resources=new M(this),this.camera=new o(this),this.highlightLayer=new BABYLON.HighlightLayer("highlightLayer",this.scene),this.container=BABYLON.GUI.AdvancedDynamicTexture.CreateFullscreenUI("screenUI"),this.Environment=new f(this),this.project=new x(this),H.EffectMgr=new A,this.engine.runRenderLoop(()=>{this.fps&&(this.fps.innerText=this.engine.getFps().toFixed()+" fps"),this.scene.render(),l.a.update()}),window.addEventListener("resize",()=>{this.engine.resize()}),this.scene.onPointerObservable.add(e=>{switch(e.type){case BABYLON.PointerEventTypes.POINTERMOVE:if(!this.tipsTool)return;e.pickInfo&&e.pickInfo.pickedPoint?this.tipsTool.update(e):this.tipsTool.close();break;case BABYLON.PointerEventTypes.POINTERWHEEL:var t;this.camera.isOverLook?this.camera._wheel(e.event):(t=1e3/(this.camera.camera.radius/20),this.camera.camera.panningSensibility=2e3<t?2e3:t<10?10:t)}}),this.scene.onKeyboardObservable.add(e=>{e.type===BABYLON.KeyboardEventTypes.KEYDOWN&&70===e.event.keyCode&&prompt("请复制输入框内的视角参数",JSON.stringify({alpha:this.camera.camera.alpha,focus:u.vector3ToJson(this.camera.camera.target),radius:this.camera.camera.radius,beta:this.camera.camera.beta}))})}create(f){return this.highQualityMode=f.highQualityMode,this.highQualityMode&&(this.Glow=new BABYLON.GlowLayer("glow",this.scene),this.Glow.addIncludedOnlyMesh(this.Resources.BOX)),f.libraryUrl&&(this.Resources.resourcePath=f.libraryUrl),new Promise(async(n,t)=>{try{var o=await class{static read(s,n){return new Promise(function(e,t){let i=new XMLHttpRequest;i.open(s,n),i.onload=function(){200<=this.status&&this.status<300?e(i.response):t({status:this.status,statusText:i.statusText})},i.onerror=function(){t({status:this.status,statusText:i.statusText})},i.send()})}}.read("GET",f.fileUrl),r=JSON.parse(B.de(o));this.project.id=r.id,this.Environment.color="#7A7A7A"==r.environmentSettings.backColor?new BABYLON.Color4(0,.0588,.1176,1):new BABYLON.Color4(...BABYLON.Color3.FromHexString(r.environmentSettings.backColor).asArray(),1),this.Environment.fogDistance=r.environmentSettings.fogDensity,this.Environment.setFlexIntensity(r.environmentSettings.reflexIntensity),this.Environment.setReflexEnabled(r.environmentSettings.reflexEnabled),this.Environment.loadLight(r.environmentSettings.lights),this.scene.blockfreeActiveMeshesAndRenderingGroups=!0,r.isOptimized&&await this.Resources.GetWalls(f.fileUrl.replace(r.id+".json",""),r.id);let t=new m;for(let e=0;e<r.scenes.length;e++){const p=r.scenes[e];!p.baseModel||".gltf"!=p.baseModel.extension||t.find(p.baseModel.modelId)||this.Resources.resources.find(p.baseModel.modelId)||(p.baseModel.objectType=p.objectType,t.add(p.baseModel.modelId,p.baseModel))}let e=0;for(const d in t.map)await this.Resources.loadModelMesh(t.find(d)),e++,f.progress&&f.progress(e/t.count()*.8);e=0,t=null;let i=new m,s=new m;for(let e=0;e<r.scenes.length;e++){var a,c=r.scenes[e];c.objectType==v.Storey||c.objectType==v.ParkModel?(a=new Y(this,c),this.project.objectDatas.add(a.id,a),i.add(a.id,a),s.add(a.id,new Array),c.objectType==v.ParkModel&&(this.project.root=a)):c.objectType==v.Floor&&i.add(c.id,c)}for(let e=0;e<r.scenes.length;e++){var h,l=r.scenes[e];l.objectType!=v.Storey&&l.objectType!=v.ParkModel&&((h=i.find(l.parentId)).objectType==v.Floor?s.find(h.parentId):s.find(l.parentId)).push(l)}for(const u in s.map)await this.project.objectDatas.find(u).bind(s.find(u)),e++,f.progress&&f.progress(.8+e/r.scenes.length*.2);i=null,s=null,this.project.optimization(),this.scene.blockfreeActiveMeshesAndRenderingGroups=!1,n(null),this.engine.resize(),f.complete&&f.complete()}catch(e){t(e)}})}optimized(g){return g.libraryUrl&&(this.Resources.resourcePath=g.libraryUrl),new Promise(async(o,t)=>{try{let i=JSON.parse(B.de(g.file));this.project.id=i.id,this.Environment.color="#7A7A7A"==i.environmentSettings.backColor?new BABYLON.Color4(0,.0588,.1176,1):new BABYLON.Color4(...BABYLON.Color3.FromHexString(i.environmentSettings.backColor).asArray(),1),this.Environment.fogDistance=i.environmentSettings.fogDensity,this.Environment.setFlexIntensity(i.environmentSettings.reflexIntensity),this.Environment.setReflexEnabled(i.environmentSettings.reflexEnabled),this.Environment.loadLight(i.environmentSettings.lights),this.scene.blockfreeActiveMeshesAndRenderingGroups=!0;let t=new m;for(let e=0;e<i.scenes.length;e++){const p=i.scenes[e];g._isOptimized&&"Window"!=p.objectType&&"Door"!=p.objectType||!p.baseModel||".gltf"!=p.baseModel.extension||t.find(p.baseModel.modelId)||this.Resources.resources.find(p.baseModel.modelId)||(p.baseModel.objectType=p.objectType,t.add(p.baseModel.modelId,p.baseModel))}let e=0;for(const d in t.map)await this.Resources.loadModelMesh(t.find(d)),e++,g.progress&&g.progress(e/t.count()*.8);e=0,t=null;let s=new m,n=new m;for(let e=0;e<i.scenes.length;e++){var r,a=i.scenes[e];a.objectType==v.Storey||a.objectType==v.ParkModel?(r=new R(this,a),this.project.objectDatas.add(r.id,r),s.add(r.id,r),n.add(r.id,new Array),a.objectType==v.ParkModel&&(this.project.root=r)):a.objectType==v.Floor&&s.add(a.id,a)}for(let e=0;e<i.scenes.length;e++){var c,h=i.scenes[e];h.objectType!=v.Storey&&h.objectType!=v.ParkModel&&((c=s.find(h.parentId)).objectType==v.Floor?n.find(c.parentId):n.find(h.parentId)).push(h)}for(const u in n.map)await this.project.objectDatas.find(u).bind(n.find(u),g._isOptimized),e++,g.progress&&g.progress(.8+e/i.scenes.length*.2);if(s=null,n=null,this.project.optimization(),this.scene.blockfreeActiveMeshesAndRenderingGroups=!1,g._isOptimized){let t=[];for(const f in this.project.objectDatas.map){var l=this.project.objectDatas.find(f);l.objectType!=v.Wall&&l.objectType!=v.Corner||t.push({id:l.id,parentId:l.parentId,objectType:"optimizedWall",baseModel:l.baseModel})}for(let e=0;e<i.scenes.length;e++)i.scenes[e].objectType!=v.Wall&&t.push(i.scenes[e]);i.isOptimized=!0,i.scenes=t}o(JSON.stringify(i)),g.complete&&g.complete()}catch(e){t(e)}})}outGltf(t){this.Resources.delete(!0);for(const i in this.project.objectDatas.map){let e=this.project.objectDatas.find(i);e.objectType!=v.Wall&&e.objectType!=v.Corner?(e.instance&&e.instance.dispose(),this.project.objectDatas.remove(i)):e.instance.material=null}return BABYLON.GLTF2Export.GLTFAsync(this.scene,this.project.id,{shouldExportNode:e=>{e=this.project.objectDatas.find(e.id);return e&&(e.objectType==v.Wall||e.objectType==v.Corner)}}).then(e=>{e.downloadFiles(),t&&t()})}showTips(){this.tipsTool=new F(this.canvas.parentElement,this)}showFps(e="position: absolute;left: 5px;bottom: 5px;z-index:999999999; font-size: 10px;color: rgb(0, 255, 0);text-shadow:rgba(0, 0, 0, 0.2) 1px 1px 0;"){this.fps||(this.fps=document.createElement("div"),this.canvas.parentElement.appendChild(this.fps)),this.fps.style.cssText=e}showMonitoringParameters(){var e=new BABYLON.EngineInstrumentation(this.engine);e.captureGPUFrameTime=!0,e.captureShaderCompilationTime=!0;let t=document.createElement("div");t.style.cssText="position: absolute;left: 5px;top: 5px;z-index:999999999;font-size: 10px;color: rgb(0, 255, 0);",this.canvas.parentElement.appendChild(t);let i=document.createElement("div");i.style.cssText="position: absolute;left: 5px;top: 25px;z-index:999999999;font-size: 10px;color: rgb(0, 255, 0);",this.canvas.parentElement.appendChild(i);let s=document.createElement("div");s.style.cssText="position: absolute;left: 5px;top: 45px;z-index:999999999;font-size: 10px;color: rgb(0, 255, 0);",this.canvas.parentElement.appendChild(s);let n=document.createElement("div");n.style.cssText="position: absolute;left: 5px;top: 65px;z-index:999999999;font-size: 10px;color: rgb(0, 255, 0);",this.canvas.parentElement.appendChild(n);let o=document.createElement("div");o.style.cssText="position: absolute;left: 5px;top: 85px;z-index:999999999;font-size: 10px;color: rgb(0, 255, 0);",this.canvas.parentElement.appendChild(o),this.scene.registerBeforeRender(()=>{t.innerText="current frame time (GPU): "+(1e-6*e.gpuFrameTimeCounter.current).toFixed(2)+"ms",i.innerText="average frame time (GPU): "+(1e-6*e.gpuFrameTimeCounter.average).toFixed(2)+"ms",s.innerText="total shader compilation time: "+e.shaderCompilationTimeCounter.total.toFixed(2)+"ms",n.innerText="average shader compilation time: "+e.shaderCompilationTimeCounter.average.toFixed(2)+"ms",o.innerText="compiler shaders count: "+e.shaderCompilationTimeCounter.count})}hideFps(){this.fps&&this.canvas.parentElement.removeChild(this.fps),this.fps=null}dispose(){this.fps&&this.canvas.parentElement.removeChild(this.fps),this.fps=null,this.project.delete(),this.Resources.delete(),this.engine.dispose()}showDebug(){this.scene.debugLayer.show()}},Tools:u,UI:class{static createIconFromMesh(e,t,i,s,n){let o=t.visualAngle.focus.clone();var r=t.instance.getBoundingInfo();return o.y+=(r.boundingBox.maximum.y-r.boundingBox.minimum.y)/2,new V.IconFromMesh(e,o,i,s,n,t.app.scene)}static createIcon(e,t,i,s){let n;t.app.scene.blockfreeActiveMeshesAndRenderingGroups=!0,n=new V.Icon(e,t.app.scene),n.size=i,n.height=s,n.pint=new BABYLON.Mesh(e+"_pint");e=t.visualAngle.focus.clone();return n.pint.position=e,n.pint.position.y+=s,n.rect=new BABYLON.GUI.Rectangle,n.rect.isPointerBlocker=!1,n.rect.width=i.width+"px",n.rect.height=i.height+"px",n.rect.thickness=0,t.app.container.addControl(n.rect),n.rect.linkWithMesh(n.pint),t.app.scene.blockfreeActiveMeshesAndRenderingGroups=!1,n}},ObjectType:v,EffectMgr:void 0,EffectType:y,EventType:g,EffectControls:class{static createCapacity(e,t,i,s="200px"){return V.Builder.createCapacity(e,t,i,s)}static createMatrixHeatMap(e,t){if(e.objectType==v.Floor)return V.Builder.createMatrixHeatMap({anchor:e.instance,rootUrl:e.app.rootUrl,FogTex:e.app.Resources.FogTex,container:e.app.container,config:t.config,displayValues:t.displayValues,height:t.height,isAlpha:t.isAlpha,isLevelRender:t.isLevelRender,isParticle:t.isParticle,radius:t.radius,range:t.range});console.error("矩阵云图对象必须为房间!")}static createColumnarHeatMap(e,t){return V.Builder.createColumnarHeatMap({anchor:e.instance,FogTex:e.app.Resources.FogTex,container:e.app.container,config:t.config,displayValues:t.displayValues,isAlpha:t.isAlpha,isLevelRender:t.isLevelRender,isParticle:t.isParticle,radius:t.radius,range:t.range})}},Dictionary:m},H=t.default=i}],p={},h.m=l,h.c=p,h.d=function(e,t,i){h.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:i})},h.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},h.t=function(t,e){if(1&e&&(t=h(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var i=Object.create(null);if(h.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var s in t)h.d(i,s,function(e){return t[e]}.bind(null,s));return i},h.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return h.d(t,"a",t),t},h.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},h.p="",h(h.s=44).default;function h(e){if(p[e])return p[e].exports;var t=p[e]={i:e,l:!1,exports:{}};return l[e].call(t.exports,t,t.exports,h),t.l=!0,t.exports}var l,p});
1
+ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("TWEEN"),require("Dazzle"),require("BABYLON"),require("babylonjs-materials"),require("BABYLON.GUI"),require("BABYLON.SceneLoader"),require("babylonjs-serializers")):"function"==typeof define&&define.amd?define(["TWEEN","Dazzle","BABYLON","babylonjs-materials","BABYLON.GUI","BABYLON.SceneLoader","babylonjs-serializers"],t):"object"==typeof exports?exports.MX3D=t(require("TWEEN"),require("Dazzle"),require("BABYLON"),require("babylonjs-materials"),require("BABYLON.GUI"),require("BABYLON.SceneLoader"),require("babylonjs-serializers")):e.MX3D=t(e.TWEEN,e.Dazzle,e.BABYLON,e["babylonjs-materials"],e["BABYLON.GUI"],e["BABYLON.SceneLoader"],e["babylonjs-serializers"])}(window,function(i,s,n,r,a,o,c){return l=[function(t,e,g){!function(f){var e;t.exports=(e=function(h){var s;if("undefined"!=typeof window&&window.crypto&&(s=window.crypto),"undefined"!=typeof self&&self.crypto&&(s=self.crypto),!(s=!(s=!(s="undefined"!=typeof globalThis&&globalThis.crypto?globalThis.crypto:s)&&"undefined"!=typeof window&&window.msCrypto?window.msCrypto:s)&&void 0!==f&&f.crypto?f.crypto:s))try{s=g(19)}catch(e){}var i=Object.create||function(e){return t.prototype=e,e=new t,t.prototype=null,e};function t(){}var e={},n=e.lib={},r=n.Base={extend:function(e){var t=i(this);return e&&t.mixIn(e),t.hasOwnProperty("init")&&this.init!==t.init||(t.init=function(){t.$super.init.apply(this,arguments)}),(t.init.prototype=t).$super=this,t},create:function(){var e=this.extend();return e.init.apply(e,arguments),e},init:function(){},mixIn:function(e){for(var t in e)e.hasOwnProperty(t)&&(this[t]=e[t]);e.hasOwnProperty("toString")&&(this.toString=e.toString)},clone:function(){return this.init.prototype.extend(this)}},l=n.WordArray=r.extend({init:function(e,t){e=this.words=e||[],this.sigBytes=null!=t?t:4*e.length},toString:function(e){return(e||o).stringify(this)},concat:function(e){var t=this.words,i=e.words,s=this.sigBytes,n=e.sigBytes;if(this.clamp(),s%4)for(var r=0;r<n;r++){var a=i[r>>>2]>>>24-r%4*8&255;t[s+r>>>2]|=a<<24-(s+r)%4*8}else for(var o=0;o<n;o+=4)t[s+o>>>2]=i[o>>>2];return this.sigBytes+=n,this},clamp:function(){var e=this.words,t=this.sigBytes;e[t>>>2]&=4294967295<<32-t%4*8,e.length=h.ceil(t/4)},clone:function(){var e=r.clone.call(this);return e.words=this.words.slice(0),e},random:function(e){for(var t=[],i=0;i<e;i+=4)t.push(function(){if(s){if("function"==typeof s.getRandomValues)try{return s.getRandomValues(new Uint32Array(1))[0]}catch(e){}if("function"==typeof s.randomBytes)try{return s.randomBytes(4).readInt32LE()}catch(e){}}throw new Error("Native crypto module could not be used to get secure random number.")}());return new l.init(t,e)}}),a=e.enc={},o=a.Hex={stringify:function(e){for(var t=e.words,i=e.sigBytes,s=[],n=0;n<i;n++){var r=t[n>>>2]>>>24-n%4*8&255;s.push((r>>>4).toString(16)),s.push((15&r).toString(16))}return s.join("")},parse:function(e){for(var t=e.length,i=[],s=0;s<t;s+=2)i[s>>>3]|=parseInt(e.substr(s,2),16)<<24-s%8*4;return new l.init(i,t/2)}},c=a.Latin1={stringify:function(e){for(var t=e.words,i=e.sigBytes,s=[],n=0;n<i;n++){var r=t[n>>>2]>>>24-n%4*8&255;s.push(String.fromCharCode(r))}return s.join("")},parse:function(e){for(var t=e.length,i=[],s=0;s<t;s++)i[s>>>2]|=(255&e.charCodeAt(s))<<24-s%4*8;return new l.init(i,t)}},p=a.Utf8={stringify:function(e){try{return decodeURIComponent(escape(c.stringify(e)))}catch(e){throw new Error("Malformed UTF-8 data")}},parse:function(e){return c.parse(unescape(encodeURIComponent(e)))}},d=n.BufferedBlockAlgorithm=r.extend({reset:function(){this._data=new l.init,this._nDataBytes=0},_append:function(e){"string"==typeof e&&(e=p.parse(e)),this._data.concat(e),this._nDataBytes+=e.sigBytes},_process:function(e){var t,i=this._data,s=i.words,n=i.sigBytes,r=this.blockSize,a=n/(4*r),o=(a=e?h.ceil(a):h.max((0|a)-this._minBufferSize,0))*r,e=h.min(4*o,n);if(o){for(var c=0;c<o;c+=r)this._doProcessBlock(s,c);t=s.splice(0,o),i.sigBytes-=e}return new l.init(t,e)},clone:function(){var e=r.clone.call(this);return e._data=this._data.clone(),e},_minBufferSize:0}),u=(n.Hasher=d.extend({cfg:r.extend(),init:function(e){this.cfg=this.cfg.extend(e),this.reset()},reset:function(){d.reset.call(this),this._doReset()},update:function(e){return this._append(e),this._process(),this},finalize:function(e){return e&&this._append(e),this._doFinalize()},blockSize:16,_createHelper:function(i){return function(e,t){return new i.init(t).finalize(e)}},_createHmacHelper:function(i){return function(e,t){return new u.HMAC.init(i,t).finalize(e)}}}),e.algo={});return e}(Math),e)}.call(this,g(18))},function(e,t){e.exports=i},function(e,t,i){var s,a,n,r,o,c,h,l,p,d,u,f;e.exports=(e=i(0),i(5),void(e.lib.Cipher||(i=(e=e).lib,s=i.Base,a=i.WordArray,n=i.BufferedBlockAlgorithm,(p=e.enc).Utf8,r=p.Base64,o=e.algo.EvpKDF,c=i.Cipher=n.extend({cfg:s.extend(),createEncryptor:function(e,t){return this.create(this._ENC_XFORM_MODE,e,t)},createDecryptor:function(e,t){return this.create(this._DEC_XFORM_MODE,e,t)},init:function(e,t,i){this.cfg=this.cfg.extend(i),this._xformMode=e,this._key=t,this.reset()},reset:function(){n.reset.call(this),this._doReset()},process:function(e){return this._append(e),this._process()},finalize:function(e){return e&&this._append(e),this._doFinalize()},keySize:4,ivSize:4,_ENC_XFORM_MODE:1,_DEC_XFORM_MODE:2,_createHelper:function(){function n(e){return"string"==typeof e?f:d}return function(s){return{encrypt:function(e,t,i){return n(t).encrypt(s,e,t,i)},decrypt:function(e,t,i){return n(t).decrypt(s,e,t,i)}}}}()}),i.StreamCipher=c.extend({_doFinalize:function(){return this._process(!0)},blockSize:1}),p=e.mode={},h=i.BlockCipherMode=s.extend({createEncryptor:function(e,t){return this.Encryptor.create(e,t)},createDecryptor:function(e,t){return this.Decryptor.create(e,t)},init:function(e,t){this._cipher=e,this._iv=t}}),p=p.CBC=function(){var e=h.extend();function r(e,t,i){var s,n=this._iv;n?(s=n,this._iv=void 0):s=this._prevBlock;for(var r=0;r<i;r++)e[t+r]^=s[r]}return e.Encryptor=e.extend({processBlock:function(e,t){var i=this._cipher,s=i.blockSize;r.call(this,e,t,s),i.encryptBlock(e,t),this._prevBlock=e.slice(t,t+s)}}),e.Decryptor=e.extend({processBlock:function(e,t){var i=this._cipher,s=i.blockSize,n=e.slice(t,t+s);i.decryptBlock(e,t),r.call(this,e,t,s),this._prevBlock=n}}),e}(),u=(e.pad={}).Pkcs7={pad:function(e,t){for(var t=4*t,i=t-e.sigBytes%t,s=i<<24|i<<16|i<<8|i,n=[],r=0;r<i;r+=4)n.push(s);t=a.create(n,i);e.concat(t)},unpad:function(e){var t=255&e.words[e.sigBytes-1>>>2];e.sigBytes-=t}},i.BlockCipher=c.extend({cfg:c.cfg.extend({mode:p,padding:u}),reset:function(){c.reset.call(this);var e,t=this.cfg,i=t.iv,t=t.mode;this._xformMode==this._ENC_XFORM_MODE?e=t.createEncryptor:(e=t.createDecryptor,this._minBufferSize=1),this._mode&&this._mode.__creator==e?this._mode.init(this,i&&i.words):(this._mode=e.call(t,this,i&&i.words),this._mode.__creator=e)},_doProcessBlock:function(e,t){this._mode.processBlock(e,t)},_doFinalize:function(){var e,t=this.cfg.padding;return this._xformMode==this._ENC_XFORM_MODE?(t.pad(this._data,this.blockSize),e=this._process(!0)):(e=this._process(!0),t.unpad(e)),e},blockSize:4}),l=i.CipherParams=s.extend({init:function(e){this.mixIn(e)},toString:function(e){return(e||this.formatter).stringify(this)}}),p=(e.format={}).OpenSSL={stringify:function(e){var t=e.ciphertext,e=e.salt,e=e?a.create([1398893684,1701076831]).concat(e).concat(t):t;return e.toString(r)},parse:function(e){var t,e=r.parse(e),i=e.words;return 1398893684==i[0]&&1701076831==i[1]&&(t=a.create(i.slice(2,4)),i.splice(0,4),e.sigBytes-=16),l.create({ciphertext:e,salt:t})}},d=i.SerializableCipher=s.extend({cfg:s.extend({format:p}),encrypt:function(e,t,i,s){s=this.cfg.extend(s);var n=e.createEncryptor(i,s),t=n.finalize(t),n=n.cfg;return l.create({ciphertext:t,key:i,iv:n.iv,algorithm:e,mode:n.mode,padding:n.padding,blockSize:e.blockSize,formatter:s.format})},decrypt:function(e,t,i,s){return s=this.cfg.extend(s),t=this._parse(t,s.format),e.createDecryptor(i,s).finalize(t.ciphertext)},_parse:function(e,t){return"string"==typeof e?t.parse(e,this):e}}),u=(e.kdf={}).OpenSSL={execute:function(e,t,i,s){s=s||a.random(8);e=o.create({keySize:t+i}).compute(e,s),i=a.create(e.words.slice(t),4*i);return e.sigBytes=4*t,l.create({key:e,iv:i,salt:s})}},f=i.PasswordBasedCipher=d.extend({cfg:d.cfg.extend({kdf:u}),encrypt:function(e,t,i,s){i=(s=this.cfg.extend(s)).kdf.execute(i,e.keySize,e.ivSize),s.iv=i.iv,e=d.encrypt.call(this,e,t,i.key,s);return e.mixIn(i),e},decrypt:function(e,t,i,s){s=this.cfg.extend(s),t=this._parse(t,s.format);i=s.kdf.execute(i,e.keySize,e.ivSize,t.salt);return s.iv=i.iv,d.decrypt.call(this,e,t,i.key,s)}}))))},function(e,t){e.exports=s},function(e,t,i){e.exports=(e=i(0),i(8),i(20),i(21),i(6),i(22),i(7),i(9),i(11),i(23),i(12),i(24),i(25),i(26),i(10),i(27),i(5),i(2),i(28),i(29),i(30),i(31),i(32),i(33),i(34),i(35),i(36),i(37),i(38),i(39),i(40),i(41),i(42),i(43),e)},function(e,t,i){var s,l,n,r,a;e.exports=(e=i(0),i(9),i(10),n=(i=e).lib,s=n.Base,l=n.WordArray,n=i.algo,r=n.MD5,a=n.EvpKDF=s.extend({cfg:s.extend({keySize:4,hasher:r,iterations:1}),init:function(e){this.cfg=this.cfg.extend(e)},compute:function(e,t){for(var i,s=this.cfg,n=s.hasher.create(),r=l.create(),a=r.words,o=s.keySize,c=s.iterations;a.length<o;){i&&n.update(i),i=n.update(e).finalize(t),n.reset();for(var h=1;h<c;h++)i=n.finalize(i),n.reset();r.concat(i)}return r.sigBytes=4*o,r}}),i.EvpKDF=function(e,t,i){return a.create(i).compute(e,t)},e.EvpKDF)},function(e,t,i){function a(e,t,i){for(var s,n,r=[],a=0,o=0;o<t;o++)o%4&&(s=i[e.charCodeAt(o-1)]<<o%4*2,n=i[e.charCodeAt(o)]>>>6-o%4*2,r[a>>>2]|=(s|n)<<24-a%4*8,a++);return c.create(r,a)}var c;e.exports=(e=i(0),c=e.lib.WordArray,e.enc.Base64={stringify:function(e){for(var t=e.words,i=e.sigBytes,s=this._map,n=(e.clamp(),[]),r=0;r<i;r+=3)for(var a=(t[r>>>2]>>>24-r%4*8&255)<<16|(t[r+1>>>2]>>>24-(r+1)%4*8&255)<<8|t[r+2>>>2]>>>24-(r+2)%4*8&255,o=0;o<4&&r+.75*o<i;o++)n.push(s.charAt(a>>>6*(3-o)&63));var c=s.charAt(64);if(c)for(;n.length%4;)n.push(c);return n.join("")},parse:function(e){var t=e.length,i=this._map;if(!(s=this._reverseMap))for(var s=this._reverseMap=[],n=0;n<i.length;n++)s[i.charCodeAt(n)]=n;var r=i.charAt(64);return r&&-1!==(r=e.indexOf(r))&&(t=r),a(e,t,s)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="},e.enc.Base64)},function(e,t,i){e.exports=function(e){for(var l=Math,t=e,i=t.lib,s=i.WordArray,n=i.Hasher,r=t.algo,_=[],a=0;a<64;a++)_[a]=l.abs(l.sin(a+1))*4294967296|0;var o=r.MD5=n.extend({_doReset:function(){this._hash=new s.init([1732584193,4023233417,2562383102,271733878])},_doProcessBlock:function(e,t){for(var i=0;i<16;i++){var s=t+i;var n=e[s];e[s]=(n<<8|n>>>24)&16711935|(n<<24|n>>>8)&4278255360}var r=this._hash.words;var a=e[t+0];var o=e[t+1];var c=e[t+2];var h=e[t+3];var l=e[t+4];var p=e[t+5];var d=e[t+6];var u=e[t+7];var f=e[t+8];var g=e[t+9];var m=e[t+10];var v=e[t+11];var y=e[t+12];var b=e[t+13];var B=e[t+14];var A=e[t+15];var w=r[0];var x=r[1];var M=r[2];var T=r[3];w=k(w,x,M,T,a,7,_[0]);T=k(T,w,x,M,o,12,_[1]);M=k(M,T,w,x,c,17,_[2]);x=k(x,M,T,w,h,22,_[3]);w=k(w,x,M,T,l,7,_[4]);T=k(T,w,x,M,p,12,_[5]);M=k(M,T,w,x,d,17,_[6]);x=k(x,M,T,w,u,22,_[7]);w=k(w,x,M,T,f,7,_[8]);T=k(T,w,x,M,g,12,_[9]);M=k(M,T,w,x,m,17,_[10]);x=k(x,M,T,w,v,22,_[11]);w=k(w,x,M,T,y,7,_[12]);T=k(T,w,x,M,b,12,_[13]);M=k(M,T,w,x,B,17,_[14]);x=k(x,M,T,w,A,22,_[15]);w=O(w,x,M,T,o,5,_[16]);T=O(T,w,x,M,d,9,_[17]);M=O(M,T,w,x,v,14,_[18]);x=O(x,M,T,w,a,20,_[19]);w=O(w,x,M,T,p,5,_[20]);T=O(T,w,x,M,m,9,_[21]);M=O(M,T,w,x,A,14,_[22]);x=O(x,M,T,w,l,20,_[23]);w=O(w,x,M,T,g,5,_[24]);T=O(T,w,x,M,B,9,_[25]);M=O(M,T,w,x,h,14,_[26]);x=O(x,M,T,w,f,20,_[27]);w=O(w,x,M,T,b,5,_[28]);T=O(T,w,x,M,c,9,_[29]);M=O(M,T,w,x,u,14,_[30]);x=O(x,M,T,w,y,20,_[31]);w=C(w,x,M,T,p,4,_[32]);T=C(T,w,x,M,f,11,_[33]);M=C(M,T,w,x,v,16,_[34]);x=C(x,M,T,w,B,23,_[35]);w=C(w,x,M,T,o,4,_[36]);T=C(T,w,x,M,l,11,_[37]);M=C(M,T,w,x,u,16,_[38]);x=C(x,M,T,w,m,23,_[39]);w=C(w,x,M,T,b,4,_[40]);T=C(T,w,x,M,a,11,_[41]);M=C(M,T,w,x,h,16,_[42]);x=C(x,M,T,w,d,23,_[43]);w=C(w,x,M,T,g,4,_[44]);T=C(T,w,x,M,y,11,_[45]);M=C(M,T,w,x,A,16,_[46]);x=C(x,M,T,w,c,23,_[47]);w=L(w,x,M,T,a,6,_[48]);T=L(T,w,x,M,u,10,_[49]);M=L(M,T,w,x,B,15,_[50]);x=L(x,M,T,w,p,21,_[51]);w=L(w,x,M,T,y,6,_[52]);T=L(T,w,x,M,h,10,_[53]);M=L(M,T,w,x,m,15,_[54]);x=L(x,M,T,w,o,21,_[55]);w=L(w,x,M,T,f,6,_[56]);T=L(T,w,x,M,A,10,_[57]);M=L(M,T,w,x,d,15,_[58]);x=L(x,M,T,w,b,21,_[59]);w=L(w,x,M,T,l,6,_[60]);T=L(T,w,x,M,v,10,_[61]);M=L(M,T,w,x,c,15,_[62]);x=L(x,M,T,w,g,21,_[63]);r[0]=r[0]+w|0;r[1]=r[1]+x|0;r[2]=r[2]+M|0;r[3]=r[3]+T|0},_doFinalize:function(){var e=this._data;var t=e.words;var i=this._nDataBytes*8;var s=e.sigBytes*8;t[s>>>5]|=128<<24-s%32;var n=l.floor(i/4294967296);var r=i;t[(s+64>>>9<<4)+15]=(n<<8|n>>>24)&16711935|(n<<24|n>>>8)&4278255360;t[(s+64>>>9<<4)+14]=(r<<8|r>>>24)&16711935|(r<<24|r>>>8)&4278255360;e.sigBytes=(t.length+1)*4;this._process();var a=this._hash;var o=a.words;for(var c=0;c<4;c++){var h=o[c];o[c]=(h<<8|h>>>24)&16711935|(h<<24|h>>>8)&4278255360}return a},clone:function(){var e=n.clone.call(this);e._hash=this._hash.clone();return e}});function k(e,t,i,s,n,r,a){var o=e+(t&i|~t&s)+n+a;return(o<<r|o>>>32-r)+t}function O(e,t,i,s,n,r,a){var o=e+(t&s|i&~s)+n+a;return(o<<r|o>>>32-r)+t}function C(e,t,i,s,n,r,a){var o=e+(t^i^s)+n+a;return(o<<r|o>>>32-r)+t}function L(e,t,i,s,n,r,a){var o=e+(i^(t|~s))+n+a;return(o<<r|o>>>32-r)+t}return t.MD5=n._createHelper(o),t.HmacMD5=n._createHmacHelper(o),e.MD5}(i(0))},function(e,t,i){var n,r,s;e.exports=(e=i(0),s=(i=e).lib,n=s.Base,r=s.WordArray,(s=i.x64={}).Word=n.extend({init:function(e,t){this.high=e,this.low=t}}),s.WordArray=n.extend({init:function(e,t){e=this.words=e||[],this.sigBytes=null!=t?t:8*e.length},toX32:function(){for(var e=this.words,t=e.length,i=[],s=0;s<t;s++){var n=e[s];i.push(n.high),i.push(n.low)}return r.create(i,this.sigBytes)},clone:function(){for(var e=n.clone.call(this),t=e.words=this.words.slice(0),i=t.length,s=0;s<i;s++)t[s]=t[s].clone();return e}}),e)},function(e,t,i){var s,n,l,r;e.exports=(e=i(0),r=(i=e).lib,s=r.WordArray,n=r.Hasher,r=i.algo,l=[],r=r.SHA1=n.extend({_doReset:function(){this._hash=new s.init([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(e,t){for(var i=this._hash.words,s=i[0],n=i[1],r=i[2],a=i[3],o=i[4],c=0;c<80;c++){c<16?l[c]=0|e[t+c]:(h=l[c-3]^l[c-8]^l[c-14]^l[c-16],l[c]=h<<1|h>>>31);var h=(s<<5|s>>>27)+o+l[c];h+=c<20?1518500249+(n&r|~n&a):c<40?1859775393+(n^r^a):c<60?(n&r|n&a|r&a)-1894007588:(n^r^a)-899497514,o=a,a=r,r=n<<30|n>>>2,n=s,s=h}i[0]=i[0]+s|0,i[1]=i[1]+n|0,i[2]=i[2]+r|0,i[3]=i[3]+a|0,i[4]=i[4]+o|0},_doFinalize:function(){var e=this._data,t=e.words,i=8*this._nDataBytes,s=8*e.sigBytes;return t[s>>>5]|=128<<24-s%32,t[14+(64+s>>>9<<4)]=Math.floor(i/4294967296),t[15+(64+s>>>9<<4)]=i,e.sigBytes=4*t.length,this._process(),this._hash},clone:function(){var e=n.clone.call(this);return e._hash=this._hash.clone(),e}}),i.SHA1=n._createHelper(r),i.HmacSHA1=n._createHmacHelper(r),e.SHA1)},function(e,t,i){var o;e.exports=(e=i(0),i=e.lib.Base,o=e.enc.Utf8,void(e.algo.HMAC=i.extend({init:function(e,t){e=this._hasher=new e.init,"string"==typeof t&&(t=o.parse(t));for(var i=e.blockSize,s=4*i,e=((t=t.sigBytes>s?e.finalize(t):t).clamp(),this._oKey=t.clone()),t=this._iKey=t.clone(),n=e.words,r=t.words,a=0;a<i;a++)n[a]^=1549556828,r[a]^=909522486;e.sigBytes=t.sigBytes=s,this.reset()},reset:function(){var e=this._hasher;e.reset(),e.update(this._iKey)},update:function(e){return this._hasher.update(e),this},finalize:function(e){var t=this._hasher,e=t.finalize(e);return t.reset(),t.finalize(this._oKey.clone().concat(e))}})))},function(e,t,i){e.exports=function(e){var n=Math,t=e,i=t.lib,s=i.WordArray,r=i.Hasher,a=t.algo,o=[],w=[];function c(e){var t=n.sqrt(e);for(var i=2;i<=t;i++)if(!(e%i))return false;return true}function h(e){return(e-(e|0))*4294967296|0}var l=2,p=0;while(p<64){if(c(l)){if(p<8)o[p]=h(n.pow(l,1/2));w[p]=h(n.pow(l,1/3));p++}l++}var x=[],d=a.SHA256=r.extend({_doReset:function(){this._hash=new s.init(o.slice(0))},_doProcessBlock:function(e,t){var i=this._hash.words;var s=i[0];var n=i[1];var r=i[2];var a=i[3];var o=i[4];var c=i[5];var h=i[6];var l=i[7];for(var p=0;p<64;p++){if(p<16)x[p]=e[t+p]|0;else{var d=x[p-15];var u=(d<<25|d>>>7)^(d<<14|d>>>18)^d>>>3;var f=x[p-2];var g=(f<<15|f>>>17)^(f<<13|f>>>19)^f>>>10;x[p]=u+x[p-7]+g+x[p-16]}var m=o&c^~o&h;var v=s&n^s&r^n&r;var y=(s<<30|s>>>2)^(s<<19|s>>>13)^(s<<10|s>>>22);var b=(o<<26|o>>>6)^(o<<21|o>>>11)^(o<<7|o>>>25);var B=l+b+m+w[p]+x[p];var A=y+v;l=h;h=c;c=o;o=a+B|0;a=r;r=n;n=s;s=B+A|0}i[0]=i[0]+s|0;i[1]=i[1]+n|0;i[2]=i[2]+r|0;i[3]=i[3]+a|0;i[4]=i[4]+o|0;i[5]=i[5]+c|0;i[6]=i[6]+h|0;i[7]=i[7]+l|0},_doFinalize:function(){var e=this._data;var t=e.words;var i=this._nDataBytes*8;var s=e.sigBytes*8;t[s>>>5]|=128<<24-s%32;t[(s+64>>>9<<4)+14]=n.floor(i/4294967296);t[(s+64>>>9<<4)+15]=i;e.sigBytes=t.length*4;this._process();return this._hash},clone:function(){var e=r.clone.call(this);e._hash=this._hash.clone();return e}});return t.SHA256=r._createHelper(d),t.HmacSHA256=r._createHmacHelper(d),e.SHA256}(i(0))},function(e,t,i){e.exports=function(e){var t=e,i,s=t.lib.Hasher,n=t.x64,r=n.Word,a=n.WordArray,o=t.algo;function c(){return r.create.apply(r,arguments)}for(var Me=[c(1116352408,3609767458),c(1899447441,602891725),c(3049323471,3964484399),c(3921009573,2173295548),c(961987163,4081628472),c(1508970993,3053834265),c(2453635748,2937671579),c(2870763221,3664609560),c(3624381080,2734883394),c(310598401,1164996542),c(607225278,1323610764),c(1426881987,3590304994),c(1925078388,4068182383),c(2162078206,991336113),c(2614888103,633803317),c(3248222580,3479774868),c(3835390401,2666613458),c(4022224774,944711139),c(264347078,2341262773),c(604807628,2007800933),c(770255983,1495990901),c(1249150122,1856431235),c(1555081692,3175218132),c(1996064986,2198950837),c(2554220882,3999719339),c(2821834349,766784016),c(2952996808,2566594879),c(3210313671,3203337956),c(3336571891,1034457026),c(3584528711,2466948901),c(113926993,3758326383),c(338241895,168717936),c(666307205,1188179964),c(773529912,1546045734),c(1294757372,1522805485),c(1396182291,2643833823),c(1695183700,2343527390),c(1986661051,1014477480),c(2177026350,1206759142),c(2456956037,344077627),c(2730485921,1290863460),c(2820302411,3158454273),c(3259730800,3505952657),c(3345764771,106217008),c(3516065817,3606008344),c(3600352804,1432725776),c(4094571909,1467031594),c(275423344,851169720),c(430227734,3100823752),c(506948616,1363258195),c(659060556,3750685593),c(883997877,3785050280),c(958139571,3318307427),c(1322822218,3812723403),c(1537002063,2003034995),c(1747873779,3602036899),c(1955562222,1575990012),c(2024104815,1125592928),c(2227730452,2716904306),c(2361852424,442776044),c(2428436474,593698344),c(2756734187,3733110249),c(3204031479,2999351573),c(3329325298,3815920427),c(3391569614,3928383900),c(3515267271,566280711),c(3940187606,3454069534),c(4118630271,4000239992),c(116418474,1914138554),c(174292421,2731055270),c(289380356,3203993006),c(460393269,320620315),c(685471733,587496836),c(852142971,1086792851),c(1017036298,365543100),c(1126000580,2618297676),c(1288033470,3409855158),c(1501505948,4234509866),c(1607167915,987167468),c(1816402316,1246189591)],Te=[],h=0;h<80;h++)Te[h]=c();var l=o.SHA512=s.extend({_doReset:function(){this._hash=new a.init([new r.init(1779033703,4089235720),new r.init(3144134277,2227873595),new r.init(1013904242,4271175723),new r.init(2773480762,1595750129),new r.init(1359893119,2917565137),new r.init(2600822924,725511199),new r.init(528734635,4215389547),new r.init(1541459225,327033209)])},_doProcessBlock:function(z,P){var e=this._hash.words;var t=e[0];var i=e[1];var s=e[2];var n=e[3];var r=e[4];var a=e[5];var o=e[6];var c=e[7];var D=t.high;var h=t.low;var Y=i.high;var l=i.low;var R=s.high;var p=s.low;var V=n.high;var d=n.low;var F=r.high;var u=r.low;var H=a.high;var f=a.low;var G=o.high;var W=o.low;var U=c.high;var q=c.low;var g=D;var m=h;var v=Y;var y=l;var b=R;var B=p;var X=V;var A=d;var w=F;var x=u;var K=H;var M=f;var J=G;var T=W;var Z=U;var _=q;for(var k=0;k<80;k++){var O;var C;var Q=Te[k];if(k<16){C=Q.high=z[P+k*2]|0;O=Q.low=z[P+k*2+1]|0}else{var $=Te[k-15];var L=$.high;var E=$.low;var ee=(L>>>1|E<<31)^(L>>>8|E<<24)^L>>>7;var te=(E>>>1|L<<31)^(E>>>8|L<<24)^(E>>>7|L<<25);var ie=Te[k-2];var j=ie.high;var S=ie.low;var se=(j>>>19|S<<13)^(j<<3|S>>>29)^j>>>6;var ne=(S>>>19|j<<13)^(S<<3|j>>>29)^(S>>>6|j<<26);var re=Te[k-7];var ae=re.high;var oe=re.low;var ce=Te[k-16];var he=ce.high;var le=ce.low;O=te+oe;C=ee+ae+(O>>>0<te>>>0?1:0);O=O+ne;C=C+se+(O>>>0<ne>>>0?1:0);O=O+le;C=C+he+(O>>>0<le>>>0?1:0);Q.high=C;Q.low=O}var pe=w&K^~w&J;var de=x&M^~x&T;var ue=g&v^g&b^v&b;var fe=m&y^m&B^y&B;var ge=(g>>>28|m<<4)^(g<<30|m>>>2)^(g<<25|m>>>7);var me=(m>>>28|g<<4)^(m<<30|g>>>2)^(m<<25|g>>>7);var ve=(w>>>14|x<<18)^(w>>>18|x<<14)^(w<<23|x>>>9);var ye=(x>>>14|w<<18)^(x>>>18|w<<14)^(x<<23|w>>>9);var be=Me[k];var Be=be.high;var Ae=be.low;var I=_+ye;var N=Z+ve+(I>>>0<_>>>0?1:0);var I=I+de;var N=N+pe+(I>>>0<de>>>0?1:0);var I=I+Ae;var N=N+Be+(I>>>0<Ae>>>0?1:0);var I=I+O;var N=N+C+(I>>>0<O>>>0?1:0);var we=me+fe;var xe=ge+ue+(we>>>0<me>>>0?1:0);Z=J;_=T;J=K;T=M;K=w;M=x;x=A+I|0;w=X+N+(x>>>0<A>>>0?1:0)|0;X=b;A=B;b=v;B=y;v=g;y=m;m=I+we|0;g=N+xe+(m>>>0<I>>>0?1:0)|0}h=t.low=h+m;t.high=D+g+(h>>>0<m>>>0?1:0);l=i.low=l+y;i.high=Y+v+(l>>>0<y>>>0?1:0);p=s.low=p+B;s.high=R+b+(p>>>0<B>>>0?1:0);d=n.low=d+A;n.high=V+X+(d>>>0<A>>>0?1:0);u=r.low=u+x;r.high=F+w+(u>>>0<x>>>0?1:0);f=a.low=f+M;a.high=H+K+(f>>>0<M>>>0?1:0);W=o.low=W+T;o.high=G+J+(W>>>0<T>>>0?1:0);q=c.low=q+_;c.high=U+Z+(q>>>0<_>>>0?1:0)},_doFinalize:function(){var e=this._data;var t=e.words;var i=this._nDataBytes*8;var s=e.sigBytes*8;t[s>>>5]|=128<<24-s%32;t[(s+128>>>10<<5)+30]=Math.floor(i/4294967296);t[(s+128>>>10<<5)+31]=i;e.sigBytes=t.length*4;this._process();var n=this._hash.toX32();return n},clone:function(){var e=s.clone.call(this);e._hash=this._hash.clone();return e},blockSize:1024/32});return t.SHA512=s._createHelper(l),t.HmacSHA512=s._createHmacHelper(l),e.SHA512}(i(0),i(8))},function(e,t){e.exports=n},function(e,t){e.exports=r},function(e,t){e.exports=a},function(e,t){e.exports=o},function(e,t){e.exports=c},function(e,t){var i=function(){return this}();try{i=i||new Function("return this")()}catch(e){"object"==typeof window&&(i=window)}e.exports=i},function(e,t){},function(e,t,i){var s;e.exports=(s=i(0),function(){var e,n;"function"==typeof ArrayBuffer&&(e=s.lib.WordArray,n=e.init,(e.init=function(e){if((e=(e=e instanceof ArrayBuffer?new Uint8Array(e):e)instanceof Int8Array||"undefined"!=typeof Uint8ClampedArray&&e instanceof Uint8ClampedArray||e instanceof Int16Array||e instanceof Uint16Array||e instanceof Int32Array||e instanceof Uint32Array||e instanceof Float32Array||e instanceof Float64Array?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):e)instanceof Uint8Array){for(var t=e.byteLength,i=[],s=0;s<t;s++)i[s>>>2]|=e[s]<<24-s%4*8;n.call(this,i,t)}else n.apply(this,arguments)}).prototype=e)}(),s.lib.WordArray)},function(e,t,i){function a(e){return e<<8&4278255360|e>>>8&16711935}var n;e.exports=(e=i(0),n=e.lib.WordArray,(i=e.enc).Utf16=i.Utf16BE={stringify:function(e){for(var t=e.words,i=e.sigBytes,s=[],n=0;n<i;n+=2){var r=t[n>>>2]>>>16-n%4*8&65535;s.push(String.fromCharCode(r))}return s.join("")},parse:function(e){for(var t=e.length,i=[],s=0;s<t;s++)i[s>>>1]|=e.charCodeAt(s)<<16-s%2*16;return n.create(i,2*t)}},i.Utf16LE={stringify:function(e){for(var t=e.words,i=e.sigBytes,s=[],n=0;n<i;n+=2){var r=a(t[n>>>2]>>>16-n%4*8&65535);s.push(String.fromCharCode(r))}return s.join("")},parse:function(e){for(var t=e.length,i=[],s=0;s<t;s++)i[s>>>1]|=a(e.charCodeAt(s)<<16-s%2*16);return n.create(i,2*t)}},e.enc.Utf16)},function(e,t,i){function a(e,t,i){for(var s,n,r=[],a=0,o=0;o<t;o++)o%4&&(s=i[e.charCodeAt(o-1)]<<o%4*2,n=i[e.charCodeAt(o)]>>>6-o%4*2,r[a>>>2]|=(s|n)<<24-a%4*8,a++);return c.create(r,a)}var c;e.exports=(e=i(0),c=e.lib.WordArray,e.enc.Base64url={stringify:function(e,t=!0){for(var i=e.words,s=e.sigBytes,n=t?this._safe_map:this._map,r=(e.clamp(),[]),a=0;a<s;a+=3)for(var o=(i[a>>>2]>>>24-a%4*8&255)<<16|(i[a+1>>>2]>>>24-(a+1)%4*8&255)<<8|i[a+2>>>2]>>>24-(a+2)%4*8&255,c=0;c<4&&a+.75*c<s;c++)r.push(n.charAt(o>>>6*(3-c)&63));var h=n.charAt(64);if(h)for(;r.length%4;)r.push(h);return r.join("")},parse:function(e,t=!0){var i=e.length,s=t?this._safe_map:this._map;if(!(n=this._reverseMap))for(var n=this._reverseMap=[],r=0;r<s.length;r++)n[s.charCodeAt(r)]=r;var t=s.charAt(64);return t&&-1!==(t=e.indexOf(t))&&(i=t),a(e,i,n)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",_safe_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"},e.enc.Base64url)},function(e,t,i){var s,n,r;e.exports=(e=i(0),i(11),s=(i=e).lib.WordArray,r=i.algo,n=r.SHA256,r=r.SHA224=n.extend({_doReset:function(){this._hash=new s.init([3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428])},_doFinalize:function(){var e=n._doFinalize.call(this);return e.sigBytes-=4,e}}),i.SHA224=n._createHelper(r),i.HmacSHA224=n._createHmacHelper(r),e.SHA224)},function(e,t,i){var s,n,r,a;e.exports=(e=i(0),i(8),i(12),a=(i=e).x64,s=a.Word,n=a.WordArray,a=i.algo,r=a.SHA512,a=a.SHA384=r.extend({_doReset:function(){this._hash=new n.init([new s.init(3418070365,3238371032),new s.init(1654270250,914150663),new s.init(2438529370,812702999),new s.init(355462360,4144912697),new s.init(1731405415,4290775857),new s.init(2394180231,1750603025),new s.init(3675008525,1694076839),new s.init(1203062813,3204075428)])},_doFinalize:function(){var e=r._doFinalize.call(this);return e.sigBytes-=16,e}}),i.SHA384=r._createHelper(a),i.HmacSHA384=r._createHmacHelper(a),e.SHA384)},function(e,t,i){e.exports=function(e){for(var u=Math,t=e,i=t.lib,f=i.WordArray,s=i.Hasher,n,r=t.x64.Word,a=t.algo,C=[],L=[],E=[],o=1,c=0,h=0;h<24;h++){C[o+5*c]=(h+1)*(h+2)/2%64;var l=c%5;var p=(2*o+3*c)%5;o=l;c=p}for(var o=0;o<5;o++)for(var c=0;c<5;c++)L[o+5*c]=c+(2*o+3*c)%5*5;for(var d=1,g=0;g<24;g++){var m=0;var v=0;for(var y=0;y<7;y++){if(d&1){var b=(1<<y)-1;if(b<32)v^=1<<b;else m^=1<<b-32}if(d&128)d=d<<1^113;else d<<=1}E[g]=r.create(m,v)}for(var j=[],B=0;B<25;B++)j[B]=r.create();var A=a.SHA3=s.extend({cfg:s.cfg.extend({outputLength:512}),_doReset:function(){var e=this._state=[];for(var t=0;t<25;t++)e[t]=new r.init;this.blockSize=(1600-2*this.cfg.outputLength)/32},_doProcessBlock:function(e,t){var i=this._state;var s=this.blockSize/2;for(var n=0;n<s;n++){var r=e[t+2*n];var a=e[t+2*n+1];r=(r<<8|r>>>24)&16711935|(r<<24|r>>>8)&4278255360;a=(a<<8|a>>>24)&16711935|(a<<24|a>>>8)&4278255360;var o=i[n];o.high^=a;o.low^=r}for(var c=0;c<24;c++){for(var h=0;h<5;h++){var l=0,p=0;for(var d=0;d<5;d++){var o=i[h+5*d];l^=o.high;p^=o.low}var u=j[h];u.high=l;u.low=p}for(var h=0;h<5;h++){var f=j[(h+4)%5];var g=j[(h+1)%5];var m=g.high;var v=g.low;var l=f.high^(m<<1|v>>>31);var p=f.low^(v<<1|m>>>31);for(var d=0;d<5;d++){var o=i[h+5*d];o.high^=l;o.low^=p}}for(var y=1;y<25;y++){var l;var p;var o=i[y];var b=o.high;var B=o.low;var A=C[y];if(A<32){l=b<<A|B>>>32-A;p=B<<A|b>>>32-A}else{l=B<<A-32|b>>>64-A;p=b<<A-32|B>>>64-A}var w=j[L[y]];w.high=l;w.low=p}var x=j[0];var M=i[0];x.high=M.high;x.low=M.low;for(var h=0;h<5;h++)for(var d=0;d<5;d++){var y=h+5*d;var o=i[y];var T=j[y];var _=j[(h+1)%5+5*d];var k=j[(h+2)%5+5*d];o.high=T.high^~_.high&k.high;o.low=T.low^~_.low&k.low}var o=i[0];var O=E[c];o.high^=O.high;o.low^=O.low}},_doFinalize:function(){var e=this._data;var t=e.words;var i=this._nDataBytes*8;var s=e.sigBytes*8;var n=this.blockSize*32;t[s>>>5]|=1<<24-s%32;t[(u.ceil((s+1)/n)*n>>>5)-1]|=128;e.sigBytes=t.length*4;this._process();var r=this._state;var a=this.cfg.outputLength/8;var o=a/8;var c=[];for(var h=0;h<o;h++){var l=r[h];var p=l.high;var d=l.low;p=(p<<8|p>>>24)&16711935|(p<<24|p>>>8)&4278255360;d=(d<<8|d>>>24)&16711935|(d<<24|d>>>8)&4278255360;c.push(d);c.push(p)}return new f.init(c,a)},clone:function(){var e=s.clone.call(this);var t=e._state=this._state.slice(0);for(var i=0;i<25;i++)t[i]=t[i].clone();return e}});return t.SHA3=s._createHelper(A),t.HmacSHA3=s._createHmacHelper(A),e.SHA3}(i(0),i(8))},function(e,t,i){function x(e,t,i){return e&t|~e&i}function M(e,t,i){return e&i|t&~i}function T(e,t){return e<<t|e>>>32-t}var s,n,_,k,O,C,L,E,r;e.exports=(e=i(0),Math,r=(i=e).lib,s=r.WordArray,n=r.Hasher,r=i.algo,_=s.create([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13]),k=s.create([5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11]),O=s.create([11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6]),C=s.create([8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11]),L=s.create([0,1518500249,1859775393,2400959708,2840853838]),E=s.create([1352829926,1548603684,1836072691,2053994217,0]),r=r.RIPEMD160=n.extend({_doReset:function(){this._hash=s.create([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(e,t){for(var i=0;i<16;i++){var s=t+i,n=e[s];e[s]=16711935&(n<<8|n>>>24)|4278255360&(n<<24|n>>>8)}for(var r,a,o,c,h,l,p=this._hash.words,d=L.words,u=E.words,f=_.words,g=k.words,m=O.words,v=C.words,y=r=p[0],b=a=p[1],B=o=p[2],A=c=p[3],w=h=p[4],i=0;i<80;i+=1)l=(l=T(l=(l=r+e[t+f[i]]|0)+(i<16?(a^o^c)+d[0]:i<32?x(a,o,c)+d[1]:i<48?((a|~o)^c)+d[2]:i<64?M(a,o,c)+d[3]:(a^(o|~c))+d[4])|0,m[i]))+h|0,r=h,h=c,c=T(o,10),o=a,a=l,l=(l=T(l=(l=y+e[t+g[i]]|0)+(i<16?(b^(B|~A))+u[0]:i<32?M(b,B,A)+u[1]:i<48?((b|~B)^A)+u[2]:i<64?x(b,B,A)+u[3]:(b^B^A)+u[4])|0,v[i]))+w|0,y=w,w=A,A=T(B,10),B=b,b=l;l=p[1]+o+A|0,p[1]=p[2]+c+w|0,p[2]=p[3]+h+y|0,p[3]=p[4]+r+b|0,p[4]=p[0]+a+B|0,p[0]=l},_doFinalize:function(){for(var e=this._data,t=e.words,i=8*this._nDataBytes,s=8*e.sigBytes,s=(t[s>>>5]|=128<<24-s%32,t[14+(64+s>>>9<<4)]=16711935&(i<<8|i>>>24)|4278255360&(i<<24|i>>>8),e.sigBytes=4*(t.length+1),this._process(),this._hash),n=s.words,r=0;r<5;r++){var a=n[r];n[r]=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8)}return s},clone:function(){var e=n.clone.call(this);return e._hash=this._hash.clone(),e}}),i.RIPEMD160=n._createHelper(r),i.HmacRIPEMD160=n._createHmacHelper(r),e.RIPEMD160)},function(e,t,i){var s,v,n,r,y,a;e.exports=(e=i(0),i(9),i(10),n=(i=e).lib,s=n.Base,v=n.WordArray,n=i.algo,r=n.SHA1,y=n.HMAC,a=n.PBKDF2=s.extend({cfg:s.extend({keySize:4,hasher:r,iterations:1}),init:function(e){this.cfg=this.cfg.extend(e)},compute:function(e,t){for(var i=this.cfg,s=y.create(i.hasher,e),n=v.create(),r=v.create([1]),a=n.words,o=r.words,c=i.keySize,h=i.iterations;a.length<c;){for(var l=s.update(t).finalize(r),p=(s.reset(),l.words),d=p.length,u=l,f=1;f<h;f++){u=s.finalize(u),s.reset();for(var g=u.words,m=0;m<d;m++)p[m]^=g[m]}n.concat(l),o[0]++}return n.sigBytes=4*c,n}}),i.PBKDF2=function(e,t,i){return a.create(i).compute(e,t)},e.PBKDF2)},function(e,t,i){var s;e.exports=(s=i(0),i(2),s.mode.CFB=function(){var e=s.lib.BlockCipherMode.extend();function r(e,t,i,s){var n,r=this._iv;r?(n=r.slice(0),this._iv=void 0):n=this._prevBlock,s.encryptBlock(n,0);for(var a=0;a<i;a++)e[t+a]^=n[a]}return e.Encryptor=e.extend({processBlock:function(e,t){var i=this._cipher,s=i.blockSize;r.call(this,e,t,s,i),this._prevBlock=e.slice(t,t+s)}}),e.Decryptor=e.extend({processBlock:function(e,t){var i=this._cipher,s=i.blockSize,n=e.slice(t,t+s);r.call(this,e,t,s,i),this._prevBlock=n}}),e}(),s.mode.CFB)},function(e,t,i){var s;e.exports=(s=i(0),i(2),s.mode.CTR=function(){var e=s.lib.BlockCipherMode.extend(),t=e.Encryptor=e.extend({processBlock:function(e,t){var i=this._cipher,s=i.blockSize,n=this._iv,r=this._counter,a=(n&&(r=this._counter=n.slice(0),this._iv=void 0),r.slice(0));i.encryptBlock(a,0),r[s-1]=r[s-1]+1|0;for(var o=0;o<s;o++)e[t+o]^=a[o]}});return e.Decryptor=t,e}(),s.mode.CTR)},function(e,t,i){var s;e.exports=(s=i(0),i(2),s.mode.CTRGladman=function(){var e=s.lib.BlockCipherMode.extend();function c(e){var t,i,s;return 255==(e>>24&255)?(i=e>>8&255,s=255&e,255===(t=e>>16&255)?(t=0,255===i?(i=0,255===s?s=0:++s):++i):++t,e=0,e=(e+=t<<16)+(i<<8)+s):e+=1<<24,e}var t=e.Encryptor=e.extend({processBlock:function(e,t){var i=this._cipher,s=i.blockSize,n=this._iv,r=this._counter,a=(n&&(r=this._counter=n.slice(0),this._iv=void 0),0===((n=r)[0]=c(n[0]))&&(n[1]=c(n[1])),r.slice(0));i.encryptBlock(a,0);for(var o=0;o<s;o++)e[t+o]^=a[o]}});return e.Decryptor=t,e}(),s.mode.CTRGladman)},function(e,t,i){var s;e.exports=(s=i(0),i(2),s.mode.OFB=function(){var e=s.lib.BlockCipherMode.extend(),t=e.Encryptor=e.extend({processBlock:function(e,t){var i=this._cipher,s=i.blockSize,n=this._iv,r=this._keystream;n&&(r=this._keystream=n.slice(0),this._iv=void 0),i.encryptBlock(r,0);for(var a=0;a<s;a++)e[t+a]^=r[a]}});return e.Decryptor=t,e}(),s.mode.OFB)},function(e,t,i){var s;e.exports=(s=i(0),i(2),s.mode.ECB=function(){var e=s.lib.BlockCipherMode.extend();return e.Encryptor=e.extend({processBlock:function(e,t){this._cipher.encryptBlock(e,t)}}),e.Decryptor=e.extend({processBlock:function(e,t){this._cipher.decryptBlock(e,t)}}),e}(),s.mode.ECB)},function(e,t,i){e.exports=(e=i(0),i(2),e.pad.AnsiX923={pad:function(e,t){var i=e.sigBytes,t=4*t,t=t-i%t,i=i+t-1;e.clamp(),e.words[i>>>2]|=t<<24-i%4*8,e.sigBytes+=t},unpad:function(e){var t=255&e.words[e.sigBytes-1>>>2];e.sigBytes-=t}},e.pad.Ansix923)},function(e,t,i){var s;e.exports=(s=i(0),i(2),s.pad.Iso10126={pad:function(e,t){t*=4,t-=e.sigBytes%t;e.concat(s.lib.WordArray.random(t-1)).concat(s.lib.WordArray.create([t<<24],1))},unpad:function(e){var t=255&e.words[e.sigBytes-1>>>2];e.sigBytes-=t}},s.pad.Iso10126)},function(e,t,i){var s;e.exports=(s=i(0),i(2),s.pad.Iso97971={pad:function(e,t){e.concat(s.lib.WordArray.create([2147483648],1)),s.pad.ZeroPadding.pad(e,t)},unpad:function(e){s.pad.ZeroPadding.unpad(e),e.sigBytes--}},s.pad.Iso97971)},function(e,t,i){e.exports=(e=i(0),i(2),e.pad.ZeroPadding={pad:function(e,t){t*=4;e.clamp(),e.sigBytes+=t-(e.sigBytes%t||t)},unpad:function(e){for(var t=e.words,i=e.sigBytes-1,i=e.sigBytes-1;0<=i;i--)if(t[i>>>2]>>>24-i%4*8&255){e.sigBytes=i+1;break}}},e.pad.ZeroPadding)},function(e,t,i){e.exports=(e=i(0),i(2),e.pad.NoPadding={pad:function(){},unpad:function(){}},e.pad.NoPadding)},function(e,t,i){var s,n;e.exports=(e=i(0),i(2),s=e.lib.CipherParams,n=e.enc.Hex,e.format.Hex={stringify:function(e){return e.ciphertext.toString(n)},parse:function(e){e=n.parse(e);return s.create({ciphertext:e})}},e.format.Hex)},function(e,t,i){e.exports=function(e){for(var t=e,i,s=t.lib.BlockCipher,n=t.algo,l=[],r=[],a=[],o=[],c=[],h=[],p=[],d=[],u=[],f=[],g=[],m=0;m<256;m++)if(m<128)g[m]=m<<1;else g[m]=m<<1^283;for(var v=0,y=0,m=0;m<256;m++){var b=y^y<<1^y<<2^y<<3^y<<4;b=b>>>8^b&255^99;l[v]=b;r[b]=v;var B=g[v];var A=g[B];var w=g[A];var x=g[b]*257^b*16843008;a[v]=x<<24|x>>>8;o[v]=x<<16|x>>>16;c[v]=x<<8|x>>>24;h[v]=x;var x=w*16843009^A*65537^B*257^v*16843008;p[b]=x<<24|x>>>8;d[b]=x<<16|x>>>16;u[b]=x<<8|x>>>24;f[b]=x;if(!v)v=y=1;else{v=B^g[g[g[w^B]]];y^=g[g[y]]}}var M=[0,1,2,4,8,16,32,64,128,27,54],T=n.AES=s.extend({_doReset:function(){var e;if(this._nRounds&&this._keyPriorReset===this._key)return;var t=this._keyPriorReset=this._key;var i=t.words;var s=t.sigBytes/4;var n=this._nRounds=s+6;var r=(n+1)*4;var a=this._keySchedule=[];for(var o=0;o<r;o++)if(o<s)a[o]=i[o];else{e=a[o-1];if(!(o%s)){e=e<<8|e>>>24;e=l[e>>>24]<<24|l[e>>>16&255]<<16|l[e>>>8&255]<<8|l[e&255];e^=M[o/s|0]<<24}else if(s>6&&o%s==4)e=l[e>>>24]<<24|l[e>>>16&255]<<16|l[e>>>8&255]<<8|l[e&255];a[o]=a[o-s]^e}var c=this._invKeySchedule=[];for(var h=0;h<r;h++){var o=r-h;if(h%4)var e=a[o];else var e=a[o-4];if(h<4||o<=4)c[h]=e;else c[h]=p[l[e>>>24]]^d[l[e>>>16&255]]^u[l[e>>>8&255]]^f[l[e&255]]}},encryptBlock:function(e,t){this._doCryptBlock(e,t,this._keySchedule,a,o,c,h,l)},decryptBlock:function(e,t){var i=e[t+1];e[t+1]=e[t+3];e[t+3]=i;this._doCryptBlock(e,t,this._invKeySchedule,p,d,u,f,r);var i=e[t+1];e[t+1]=e[t+3];e[t+3]=i},_doCryptBlock:function(e,t,i,s,n,r,a,o){var c=this._nRounds;var h=e[t]^i[0];var l=e[t+1]^i[1];var p=e[t+2]^i[2];var d=e[t+3]^i[3];var u=4;for(var f=1;f<c;f++){var g=s[h>>>24]^n[l>>>16&255]^r[p>>>8&255]^a[d&255]^i[u++];var m=s[l>>>24]^n[p>>>16&255]^r[d>>>8&255]^a[h&255]^i[u++];var v=s[p>>>24]^n[d>>>16&255]^r[h>>>8&255]^a[l&255]^i[u++];var y=s[d>>>24]^n[h>>>16&255]^r[l>>>8&255]^a[p&255]^i[u++];h=g;l=m;p=v;d=y}var g=(o[h>>>24]<<24|o[l>>>16&255]<<16|o[p>>>8&255]<<8|o[d&255])^i[u++];var m=(o[l>>>24]<<24|o[p>>>16&255]<<16|o[d>>>8&255]<<8|o[h&255])^i[u++];var v=(o[p>>>24]<<24|o[d>>>16&255]<<16|o[h>>>8&255]<<8|o[l&255])^i[u++];var y=(o[d>>>24]<<24|o[h>>>16&255]<<16|o[l>>>8&255]<<8|o[p&255])^i[u++];e[t]=g;e[t+1]=m;e[t+2]=v;e[t+3]=y},keySize:256/32});return t.AES=s._createHelper(T),e.AES}(i(0),(i(6),i(7),i(5),i(2)))},function(e,t,i){function l(e,t){t=(this._lBlock>>>e^this._rBlock)&t;this._rBlock^=t,this._lBlock^=t<<e}function p(e,t){t=(this._rBlock>>>e^this._lBlock)&t;this._lBlock^=t,this._rBlock^=t<<e}var s,n,h,d,u,f,g,r,a;e.exports=(e=i(0),i(6),i(7),i(5),i(2),n=(i=e).lib,s=n.WordArray,n=n.BlockCipher,a=i.algo,h=[57,49,41,33,25,17,9,1,58,50,42,34,26,18,10,2,59,51,43,35,27,19,11,3,60,52,44,36,63,55,47,39,31,23,15,7,62,54,46,38,30,22,14,6,61,53,45,37,29,21,13,5,28,20,12,4],d=[14,17,11,24,1,5,3,28,15,6,21,10,23,19,12,4,26,8,16,7,27,20,13,2,41,52,31,37,47,55,30,40,51,45,33,48,44,49,39,56,34,53,46,42,50,36,29,32],u=[1,2,4,6,8,10,12,14,15,17,19,21,23,25,27,28],f=[{0:8421888,268435456:32768,536870912:8421378,805306368:2,1073741824:512,1342177280:8421890,1610612736:8389122,1879048192:8388608,2147483648:514,2415919104:8389120,2684354560:33280,2952790016:8421376,3221225472:32770,3489660928:8388610,3758096384:0,4026531840:33282,134217728:0,402653184:8421890,671088640:33282,939524096:32768,1207959552:8421888,1476395008:512,1744830464:8421378,2013265920:2,2281701376:8389120,2550136832:33280,2818572288:8421376,3087007744:8389122,3355443200:8388610,3623878656:32770,3892314112:514,4160749568:8388608,1:32768,268435457:2,536870913:8421888,805306369:8388608,1073741825:8421378,1342177281:33280,1610612737:512,1879048193:8389122,2147483649:8421890,2415919105:8421376,2684354561:8388610,2952790017:33282,3221225473:514,3489660929:8389120,3758096385:32770,4026531841:0,134217729:8421890,402653185:8421376,671088641:8388608,939524097:512,1207959553:32768,1476395009:8388610,1744830465:2,2013265921:33282,2281701377:32770,2550136833:8389122,2818572289:514,3087007745:8421888,3355443201:8389120,3623878657:0,3892314113:33280,4160749569:8421378},{0:1074282512,16777216:16384,33554432:524288,50331648:1074266128,67108864:1073741840,83886080:1074282496,100663296:1073758208,117440512:16,134217728:540672,150994944:1073758224,167772160:1073741824,184549376:540688,201326592:524304,218103808:0,234881024:16400,251658240:1074266112,8388608:1073758208,25165824:540688,41943040:16,58720256:1073758224,75497472:1074282512,92274688:1073741824,109051904:524288,125829120:1074266128,142606336:524304,159383552:0,176160768:16384,192937984:1074266112,209715200:1073741840,226492416:540672,243269632:1074282496,260046848:16400,268435456:0,285212672:1074266128,301989888:1073758224,318767104:1074282496,335544320:1074266112,352321536:16,369098752:540688,385875968:16384,402653184:16400,419430400:524288,436207616:524304,452984832:1073741840,469762048:540672,486539264:1073758208,503316480:1073741824,520093696:1074282512,276824064:540688,293601280:524288,310378496:1074266112,327155712:16384,343932928:1073758208,360710144:1074282512,377487360:16,394264576:1073741824,411041792:1074282496,427819008:1073741840,444596224:1073758224,461373440:524304,478150656:0,494927872:16400,511705088:1074266128,528482304:540672},{0:260,1048576:0,2097152:67109120,3145728:65796,4194304:65540,5242880:67108868,6291456:67174660,7340032:67174400,8388608:67108864,9437184:67174656,10485760:65792,11534336:67174404,12582912:67109124,13631488:65536,14680064:4,15728640:256,524288:67174656,1572864:67174404,2621440:0,3670016:67109120,4718592:67108868,5767168:65536,6815744:65540,7864320:260,8912896:4,9961472:256,11010048:67174400,12058624:65796,13107200:65792,14155776:67109124,15204352:67174660,16252928:67108864,16777216:67174656,17825792:65540,18874368:65536,19922944:67109120,20971520:256,22020096:67174660,23068672:67108868,24117248:0,25165824:67109124,26214400:67108864,27262976:4,28311552:65792,29360128:67174400,30408704:260,31457280:65796,32505856:67174404,17301504:67108864,18350080:260,19398656:67174656,20447232:0,21495808:65540,22544384:67109120,23592960:256,24641536:67174404,25690112:65536,26738688:67174660,27787264:65796,28835840:67108868,29884416:67109124,30932992:67174400,31981568:4,33030144:65792},{0:2151682048,65536:2147487808,131072:4198464,196608:2151677952,262144:0,327680:4198400,393216:2147483712,458752:4194368,524288:2147483648,589824:4194304,655360:64,720896:2147487744,786432:2151678016,851968:4160,917504:4096,983040:2151682112,32768:2147487808,98304:64,163840:2151678016,229376:2147487744,294912:4198400,360448:2151682112,425984:0,491520:2151677952,557056:4096,622592:2151682048,688128:4194304,753664:4160,819200:2147483648,884736:4194368,950272:4198464,1015808:2147483712,1048576:4194368,1114112:4198400,1179648:2147483712,1245184:0,1310720:4160,1376256:2151678016,1441792:2151682048,1507328:2147487808,1572864:2151682112,1638400:2147483648,1703936:2151677952,1769472:4198464,1835008:2147487744,1900544:4194304,1966080:64,2031616:4096,1081344:2151677952,1146880:2151682112,1212416:0,1277952:4198400,1343488:4194368,1409024:2147483648,1474560:2147487808,1540096:64,1605632:2147483712,1671168:4096,1736704:2147487744,1802240:2151678016,1867776:4160,1933312:2151682048,1998848:4194304,2064384:4198464},{0:128,4096:17039360,8192:262144,12288:536870912,16384:537133184,20480:16777344,24576:553648256,28672:262272,32768:16777216,36864:537133056,40960:536871040,45056:553910400,49152:553910272,53248:0,57344:17039488,61440:553648128,2048:17039488,6144:553648256,10240:128,14336:17039360,18432:262144,22528:537133184,26624:553910272,30720:536870912,34816:537133056,38912:0,43008:553910400,47104:16777344,51200:536871040,55296:553648128,59392:16777216,63488:262272,65536:262144,69632:128,73728:536870912,77824:553648256,81920:16777344,86016:553910272,90112:537133184,94208:16777216,98304:553910400,102400:553648128,106496:17039360,110592:537133056,114688:262272,118784:536871040,122880:0,126976:17039488,67584:553648256,71680:16777216,75776:17039360,79872:537133184,83968:536870912,88064:17039488,92160:128,96256:553910272,100352:262272,104448:553910400,108544:0,112640:553648128,116736:16777344,120832:262144,124928:537133056,129024:536871040},{0:268435464,256:8192,512:270532608,768:270540808,1024:268443648,1280:2097152,1536:2097160,1792:268435456,2048:0,2304:268443656,2560:2105344,2816:8,3072:270532616,3328:2105352,3584:8200,3840:270540800,128:270532608,384:270540808,640:8,896:2097152,1152:2105352,1408:268435464,1664:268443648,1920:8200,2176:2097160,2432:8192,2688:268443656,2944:270532616,3200:0,3456:270540800,3712:2105344,3968:268435456,4096:268443648,4352:270532616,4608:270540808,4864:8200,5120:2097152,5376:268435456,5632:268435464,5888:2105344,6144:2105352,6400:0,6656:8,6912:270532608,7168:8192,7424:268443656,7680:270540800,7936:2097160,4224:8,4480:2105344,4736:2097152,4992:268435464,5248:268443648,5504:8200,5760:270540808,6016:270532608,6272:270540800,6528:270532616,6784:8192,7040:2105352,7296:2097160,7552:0,7808:268435456,8064:268443656},{0:1048576,16:33555457,32:1024,48:1049601,64:34604033,80:0,96:1,112:34603009,128:33555456,144:1048577,160:33554433,176:34604032,192:34603008,208:1025,224:1049600,240:33554432,8:34603009,24:0,40:33555457,56:34604032,72:1048576,88:33554433,104:33554432,120:1025,136:1049601,152:33555456,168:34603008,184:1048577,200:1024,216:34604033,232:1,248:1049600,256:33554432,272:1048576,288:33555457,304:34603009,320:1048577,336:33555456,352:34604032,368:1049601,384:1025,400:34604033,416:1049600,432:1,448:0,464:34603008,480:33554433,496:1024,264:1049600,280:33555457,296:34603009,312:1,328:33554432,344:1048576,360:1025,376:34604032,392:33554433,408:34603008,424:0,440:34604033,456:1049601,472:1024,488:33555456,504:1048577},{0:134219808,1:131072,2:134217728,3:32,4:131104,5:134350880,6:134350848,7:2048,8:134348800,9:134219776,10:133120,11:134348832,12:2080,13:0,14:134217760,15:133152,2147483648:2048,2147483649:134350880,2147483650:134219808,2147483651:134217728,2147483652:134348800,2147483653:133120,2147483654:133152,2147483655:32,2147483656:134217760,2147483657:2080,2147483658:131104,2147483659:134350848,2147483660:0,2147483661:134348832,2147483662:134219776,2147483663:131072,16:133152,17:134350848,18:32,19:2048,20:134219776,21:134217760,22:134348832,23:131072,24:0,25:131104,26:134348800,27:134219808,28:134350880,29:133120,30:2080,31:134217728,2147483664:131072,2147483665:2048,2147483666:134348832,2147483667:133152,2147483668:32,2147483669:134348800,2147483670:134217728,2147483671:134219808,2147483672:134350880,2147483673:134217760,2147483674:134219776,2147483675:0,2147483676:133120,2147483677:2080,2147483678:131104,2147483679:134350848}],g=[4160749569,528482304,33030144,2064384,129024,8064,504,2147483679],r=a.DES=n.extend({_doReset:function(){for(var e=this._key.words,t=[],i=0;i<56;i++){var s=h[i]-1;t[i]=e[s>>>5]>>>31-s%32&1}for(var n=this._subKeys=[],r=0;r<16;r++){for(var a=n[r]=[],o=u[r],i=0;i<24;i++)a[i/6|0]|=t[(d[i]-1+o)%28]<<31-i%6,a[4+(i/6|0)]|=t[28+(d[i+24]-1+o)%28]<<31-i%6;a[0]=a[0]<<1|a[0]>>>31;for(i=1;i<7;i++)a[i]=a[i]>>>4*(i-1)+3;a[7]=a[7]<<5|a[7]>>>27}for(var c=this._invSubKeys=[],i=0;i<16;i++)c[i]=n[15-i]},encryptBlock:function(e,t){this._doCryptBlock(e,t,this._subKeys)},decryptBlock:function(e,t){this._doCryptBlock(e,t,this._invSubKeys)},_doCryptBlock:function(e,t,i){this._lBlock=e[t],this._rBlock=e[t+1],l.call(this,4,252645135),l.call(this,16,65535),p.call(this,2,858993459),p.call(this,8,16711935),l.call(this,1,1431655765);for(var s=0;s<16;s++){for(var n=i[s],r=this._lBlock,a=this._rBlock,o=0,c=0;c<8;c++)o|=f[c][((a^n[c])&g[c])>>>0];this._lBlock=a,this._rBlock=r^o}var h=this._lBlock;this._lBlock=this._rBlock,this._rBlock=h,l.call(this,1,1431655765),p.call(this,8,16711935),p.call(this,2,858993459),l.call(this,16,65535),l.call(this,4,252645135),e[t]=this._lBlock,e[t+1]=this._rBlock},keySize:2,ivSize:2,blockSize:2}),i.DES=n._createHelper(r),a=a.TripleDES=n.extend({_doReset:function(){var e=this._key.words;if(2!==e.length&&4!==e.length&&e.length<6)throw new Error("Invalid key length - 3DES requires the key length to be 64, 128, 192 or >192.");var t=e.slice(0,2),i=e.length<4?e.slice(0,2):e.slice(2,4),e=e.length<6?e.slice(0,2):e.slice(4,6);this._des1=r.createEncryptor(s.create(t)),this._des2=r.createEncryptor(s.create(i)),this._des3=r.createEncryptor(s.create(e))},encryptBlock:function(e,t){this._des1.encryptBlock(e,t),this._des2.decryptBlock(e,t),this._des3.encryptBlock(e,t)},decryptBlock:function(e,t){this._des3.decryptBlock(e,t),this._des2.encryptBlock(e,t),this._des1.decryptBlock(e,t)},keySize:6,ivSize:2,blockSize:2}),i.TripleDES=n._createHelper(a),e.TripleDES)},function(e,t,i){function s(){for(var e=this._S,t=this._i,i=this._j,s=0,n=0;n<4;n++){var i=(i+e[t=(t+1)%256])%256,r=e[t];e[t]=e[i],e[i]=r,s|=e[(e[t]+e[i])%256]<<24-8*n}return this._i=t,this._j=i,s}var n,r,a;e.exports=(e=i(0),i(6),i(7),i(5),i(2),n=(i=e).lib.StreamCipher,a=i.algo,r=a.RC4=n.extend({_doReset:function(){for(var e=this._key,t=e.words,i=e.sigBytes,s=this._S=[],n=0;n<256;n++)s[n]=n;for(var n=0,r=0;n<256;n++){var a=n%i,a=t[a>>>2]>>>24-a%4*8&255,r=(r+s[n]+a)%256,a=s[n];s[n]=s[r],s[r]=a}this._i=this._j=0},_doProcessBlock:function(e,t){e[t]^=s.call(this)},keySize:8,ivSize:0}),i.RC4=n._createHelper(r),a=a.RC4Drop=r.extend({cfg:r.cfg.extend({drop:192}),_doReset:function(){r._doReset.call(this);for(var e=this.cfg.drop;0<e;e--)s.call(this)}}),i.RC4Drop=n._createHelper(a),e.RC4)},function(e,t,i){function c(){for(var e=this._X,t=this._C,i=0;i<8;i++)a[i]=t[i];t[0]=t[0]+1295307597+this._b|0,t[1]=t[1]+3545052371+(t[0]>>>0<a[0]>>>0?1:0)|0,t[2]=t[2]+886263092+(t[1]>>>0<a[1]>>>0?1:0)|0,t[3]=t[3]+1295307597+(t[2]>>>0<a[2]>>>0?1:0)|0,t[4]=t[4]+3545052371+(t[3]>>>0<a[3]>>>0?1:0)|0,t[5]=t[5]+886263092+(t[4]>>>0<a[4]>>>0?1:0)|0,t[6]=t[6]+1295307597+(t[5]>>>0<a[5]>>>0?1:0)|0,t[7]=t[7]+3545052371+(t[6]>>>0<a[6]>>>0?1:0)|0,this._b=t[7]>>>0<a[7]>>>0?1:0;for(i=0;i<8;i++){var s=e[i]+t[i],n=65535&s,r=s>>>16;o[i]=((n*n>>>17)+n*r>>>15)+r*r^((4294901760&s)*s|0)+((65535&s)*s|0)}e[0]=o[0]+(o[7]<<16|o[7]>>>16)+(o[6]<<16|o[6]>>>16)|0,e[1]=o[1]+(o[0]<<8|o[0]>>>24)+o[7]|0,e[2]=o[2]+(o[1]<<16|o[1]>>>16)+(o[0]<<16|o[0]>>>16)|0,e[3]=o[3]+(o[2]<<8|o[2]>>>24)+o[1]|0,e[4]=o[4]+(o[3]<<16|o[3]>>>16)+(o[2]<<16|o[2]>>>16)|0,e[5]=o[5]+(o[4]<<8|o[4]>>>24)+o[3]|0,e[6]=o[6]+(o[5]<<16|o[5]>>>16)+(o[4]<<16|o[4]>>>16)|0,e[7]=o[7]+(o[6]<<8|o[6]>>>24)+o[5]|0}var s,n,a,o,r;e.exports=(e=i(0),i(6),i(7),i(5),i(2),s=(i=e).lib.StreamCipher,r=i.algo,n=[],a=[],o=[],r=r.Rabbit=s.extend({_doReset:function(){for(var e=this._key.words,t=this.cfg.iv,i=0;i<4;i++)e[i]=16711935&(e[i]<<8|e[i]>>>24)|4278255360&(e[i]<<24|e[i]>>>8);for(var s=this._X=[e[0],e[3]<<16|e[2]>>>16,e[1],e[0]<<16|e[3]>>>16,e[2],e[1]<<16|e[0]>>>16,e[3],e[2]<<16|e[1]>>>16],n=this._C=[e[2]<<16|e[2]>>>16,4294901760&e[0]|65535&e[1],e[3]<<16|e[3]>>>16,4294901760&e[1]|65535&e[2],e[0]<<16|e[0]>>>16,4294901760&e[2]|65535&e[3],e[1]<<16|e[1]>>>16,4294901760&e[3]|65535&e[0]],i=this._b=0;i<4;i++)c.call(this);for(i=0;i<8;i++)n[i]^=s[i+4&7];if(t){var t=t.words,r=t[0],t=t[1],r=16711935&(r<<8|r>>>24)|4278255360&(r<<24|r>>>8),t=16711935&(t<<8|t>>>24)|4278255360&(t<<24|t>>>8),a=r>>>16|4294901760&t,o=t<<16|65535&r;n[0]^=r,n[1]^=a,n[2]^=t,n[3]^=o,n[4]^=r,n[5]^=a,n[6]^=t,n[7]^=o;for(i=0;i<4;i++)c.call(this)}},_doProcessBlock:function(e,t){var i=this._X;c.call(this),n[0]=i[0]^i[5]>>>16^i[3]<<16,n[1]=i[2]^i[7]>>>16^i[5]<<16,n[2]=i[4]^i[1]>>>16^i[7]<<16,n[3]=i[6]^i[3]>>>16^i[1]<<16;for(var s=0;s<4;s++)n[s]=16711935&(n[s]<<8|n[s]>>>24)|4278255360&(n[s]<<24|n[s]>>>8),e[t+s]^=n[s]},blockSize:4,ivSize:2}),i.Rabbit=s._createHelper(r),e.Rabbit)},function(e,t,i){function o(){for(var e=this._X,t=this._C,i=0;i<8;i++)a[i]=t[i];t[0]=t[0]+1295307597+this._b|0,t[1]=t[1]+3545052371+(t[0]>>>0<a[0]>>>0?1:0)|0,t[2]=t[2]+886263092+(t[1]>>>0<a[1]>>>0?1:0)|0,t[3]=t[3]+1295307597+(t[2]>>>0<a[2]>>>0?1:0)|0,t[4]=t[4]+3545052371+(t[3]>>>0<a[3]>>>0?1:0)|0,t[5]=t[5]+886263092+(t[4]>>>0<a[4]>>>0?1:0)|0,t[6]=t[6]+1295307597+(t[5]>>>0<a[5]>>>0?1:0)|0,t[7]=t[7]+3545052371+(t[6]>>>0<a[6]>>>0?1:0)|0,this._b=t[7]>>>0<a[7]>>>0?1:0;for(i=0;i<8;i++){var s=e[i]+t[i],n=65535&s,r=s>>>16;c[i]=((n*n>>>17)+n*r>>>15)+r*r^((4294901760&s)*s|0)+((65535&s)*s|0)}e[0]=c[0]+(c[7]<<16|c[7]>>>16)+(c[6]<<16|c[6]>>>16)|0,e[1]=c[1]+(c[0]<<8|c[0]>>>24)+c[7]|0,e[2]=c[2]+(c[1]<<16|c[1]>>>16)+(c[0]<<16|c[0]>>>16)|0,e[3]=c[3]+(c[2]<<8|c[2]>>>24)+c[1]|0,e[4]=c[4]+(c[3]<<16|c[3]>>>16)+(c[2]<<16|c[2]>>>16)|0,e[5]=c[5]+(c[4]<<8|c[4]>>>24)+c[3]|0,e[6]=c[6]+(c[5]<<16|c[5]>>>16)+(c[4]<<16|c[4]>>>16)|0,e[7]=c[7]+(c[6]<<8|c[6]>>>24)+c[5]|0}var s,n,a,c,r;e.exports=(e=i(0),i(6),i(7),i(5),i(2),s=(i=e).lib.StreamCipher,r=i.algo,n=[],a=[],c=[],r=r.RabbitLegacy=s.extend({_doReset:function(){for(var e=this._key.words,t=this.cfg.iv,i=this._X=[e[0],e[3]<<16|e[2]>>>16,e[1],e[0]<<16|e[3]>>>16,e[2],e[1]<<16|e[0]>>>16,e[3],e[2]<<16|e[1]>>>16],s=this._C=[e[2]<<16|e[2]>>>16,4294901760&e[0]|65535&e[1],e[3]<<16|e[3]>>>16,4294901760&e[1]|65535&e[2],e[0]<<16|e[0]>>>16,4294901760&e[2]|65535&e[3],e[1]<<16|e[1]>>>16,4294901760&e[3]|65535&e[0]],n=this._b=0;n<4;n++)o.call(this);for(n=0;n<8;n++)s[n]^=i[n+4&7];if(t){var e=t.words,t=e[0],e=e[1],t=16711935&(t<<8|t>>>24)|4278255360&(t<<24|t>>>8),e=16711935&(e<<8|e>>>24)|4278255360&(e<<24|e>>>8),r=t>>>16|4294901760&e,a=e<<16|65535&t;s[0]^=t,s[1]^=r,s[2]^=e,s[3]^=a,s[4]^=t,s[5]^=r,s[6]^=e,s[7]^=a;for(n=0;n<4;n++)o.call(this)}},_doProcessBlock:function(e,t){var i=this._X;o.call(this),n[0]=i[0]^i[5]>>>16^i[3]<<16,n[1]=i[2]^i[7]>>>16^i[5]<<16,n[2]=i[4]^i[1]>>>16^i[7]<<16,n[3]=i[6]^i[3]>>>16^i[1]<<16;for(var s=0;s<4;s++)n[s]=16711935&(n[s]<<8|n[s]>>>24)|4278255360&(n[s]<<24|n[s]>>>8),e[t+s]^=n[s]},blockSize:4,ivSize:2}),i.RabbitLegacy=s._createHelper(r),e.RabbitLegacy)},function(z,e,t){"use strict";t.r(e);t(13),t(14),t(15),t(16),t(17);var n,i=t(1),d=t.n(i);class s{constructor(e){this.app=e,this.camera=new BABYLON.ArcRotateCamera("camera",-Math.PI/4,Math.PI/4,50,new BABYLON.Vector3(0,0,0),this.app.scene),this.camera.pinchPrecision=200,this.app.scene.activeCamera=this.camera,this.camera.attachControl(this.app.canvas,!0,!0),this.camera.minZ=.3,this.camera.wheelDeltaPercentage=.01,this.frustrum=5,this.isOverLook=!1,this.tw_camera=new d.a.Tween(this.camera),this.tw_target=new d.a.Tween(this.camera.target)}orthographic(){this.isOverLook=!0,this.camera.lowerBetaLimit=0,this.camera.upperBetaLimit=0,this.camera.lowerAlphaLimit=Math.PI/2,this.camera.upperAlphaLimit=Math.PI/2,this.camera.mode=BABYLON.Camera.ORTHOGRAPHIC_CAMERA;var e=this.app.Resources.BOX.getBoundingInfo(),t=(this.camera.lowerRadiusLimit=e.maximum.y-e.minimum.y,e.boundingSphere.radiusWorld),t=(this.camera.radius=t,e.boundingSphere.center.clone());this.camera.target=new BABYLON.Vector3(t.x,0,t.z),this.frustrum=.6*(e.maximum.x-e.minimum.x),this.computeCameraView()}perspective(){this.focusingFromProperty(this.app.project.current.visualAngle)}focusingFromProperty(e){this.app.scene.blockfreeActiveMeshesAndRenderingGroups=!0,this.isOverLook=!1,this.camera.lowerRadiusLimit=e.minimumLimit,this.camera.upperRadiusLimit=e.maximumLimit,this.camera.panningSensibility=1e3,this.camera.lowerBetaLimit=.01,this.camera.upperBetaLimit=Math.PI/2*.98,this.camera.lowerAlphaLimit=null,this.camera.upperAlphaLimit=null,this.camera.mode=BABYLON.Camera.PERSPECTIVE_CAMERA,(this.camera.alpha>2*Math.PI||this.camera.alpha<-2*Math.PI)&&(this.camera.alpha=this.camera.alpha-Math.floor(this.camera.alpha/(2*Math.PI))*(2*Math.PI)),this.camera.alpha=e.alpha,this.tw_target.to(e.focus,500).start().onComplete(()=>{this.tw_camera.to({radius:e.radius,beta:e.beta},500).start()}),this.app.scene.blockfreeActiveMeshesAndRenderingGroups=!1}flyTo(e,t=300){(this.camera.alpha>2*Math.PI||this.camera.alpha<-2*Math.PI)&&(this.camera.alpha=this.camera.alpha-Math.floor(this.camera.alpha/(2*Math.PI))*(2*Math.PI)),this.tw_target.to({x:e.focus.x,y:e.focus.y,z:e.focus.z},t).start().onComplete(()=>{this.tw_camera.to({radius:e.radius,beta:e.beta,alpha:e.alpha},t).start()}),this.camera.lowerRadiusLimit=e.minimumLimit,this.camera.upperRadiusLimit=e.maximumLimit,this.camera.lowerBetaLimit=e.minBeta,this.camera.upperBetaLimit=e.maxBeta}translation(e,t=300){this.tw_target.to({x:e.focus.x,y:e.focus.y,z:e.focus.z},t).start().onComplete(()=>{this.tw_camera.to({radius:e.radius},t).start()})}computeCameraView(){var e=this.app.canvas.clientWidth/this.app.canvas.clientHeight,e=(this.camera.orthoLeft=-e*this.frustrum,this.camera.orthoRight=e*this.frustrum,this.camera.orthoTop=this.frustrum,this.camera.orthoBottom=-this.frustrum,1e3/(this.frustrum/20));this.camera.panningSensibility=2e3<e?2e3:e<10?10:e}_wheel(e){this.isOverLook&&(e=(e.wheelDelta||24*-e.detail)<0?1.1:.9,this.frustrum*=e,this.computeCameraView())}}class m{constructor(){this.map={}}add(e,t){this.map[e]=t}find(e){return this.map[e]}remove(e){delete this.map[e]}termRemove(e){for(var t in this.map)e(this.map[t])&&delete this.map[t]}showAll(){for(var e in this.map)this.map[e]}count(){var e,t=0;for(e in Object.keys(this.map))++t;return t}clear(){for(var e in this.map)delete this.map[e]}}class r{static getGUID(e){var t,i,s="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz".split(""),n=[],r=s.length;if(e)for(t=0;t<e;t++)n[t]=s[0|Math.random()*r];else for(n[8]=n[13]=n[18]=n[23]="-",n[14]="4",t=0;t<36;t++)n[t]||(i=0|16*Math.random(),n[t]=s[19==t?3&i|8:i]);return n.join("")}}class a{constructor(e){this.objectType="Light",this.app=e}load(){}}class o extends a{load(){this.light=new BABYLON.DirectionalLight(this.id,this.direction,this.app.scene),this.light.position=this.position,this.light.intensity=this.intensity,this.light.diffuse=BABYLON.Color3.FromHexString(this.color),this.light.specular=BABYLON.Color3.Black()}}class c extends a{load(){this.light=new BABYLON.HemisphericLight(this.id,this.direction,this.app.scene),this.light.intensity=this.intensity,this.light.diffuse=BABYLON.Color3.FromHexString(this.color),this.light.specular=BABYLON.Color3.Black()}}(i=n=n||{}).Point="Point",i.Spot="Spot",i.Directional="Directional",i.Hemispheric="Hemispheric";class h extends a{load(){this.light=new BABYLON.PointLight(this.id,this.position.clone(),this.app.scene),this.light.range=this.range,this.light.intensity=this.intensity,this.light.diffuse=BABYLON.Color3.FromHexString(this.color),this.light.specular=BABYLON.Color3.Black()}}class l extends a{load(){this.light=new BABYLON.SpotLight(this.id,this.position.clone(),this.direction.clone(),this.angle*Math.PI/180,this.exponent,this.app.scene),this.light.range=this.range,this.light.position=this.position,this.light.intensity=this.intensity,this.light.diffuse=BABYLON.Color3.FromHexString(this.color),this.light.specular=BABYLON.Color3.Black()}}class p{static vector3ToJson(e){return{x:Math.floor(1e3*e.x)/1e3,y:Math.floor(1e3*e.y)/1e3,z:Math.floor(1e3*e.z)/1e3}}static vector3ARRToJson(e){let t=[];return e.forEach(e=>t.push({x:Math.floor(1e3*e.x)/1e3,y:Math.floor(1e3*e.y)/1e3,z:Math.floor(1e3*e.z)/1e3})),t}static ToVector3(e){return new BABYLON.Vector3(Math.floor(1e3*e.x)/1e3,Math.floor(1e3*e.y)/1e3,Math.floor(1e3*e.z)/1e3)}static ToARRVector3(e){let t=[];return e.forEach(e=>t.push(new BABYLON.Vector3(Math.floor(1e3*e.x)/1e3,Math.floor(1e3*e.y)/1e3,Math.floor(1e3*e.z)/1e3))),t}static computeBounds(e){let t=e.getChildMeshes(),i=e.getBoundingInfo();if(0<t.length){for(var s=t[0].getBoundingInfo(),n=s.minimum.add(t[0].position),r=s.maximum.add(t[0].position),a=1;a<t.length;a++)s=t[a].getBoundingInfo(),n=BABYLON.Vector3.Minimize(n,s.minimum.add(t[a].position)),r=BABYLON.Vector3.Maximize(r,s.maximum.add(t[a].position));i=new BABYLON.BoundingInfo(n,r)}return i}static computeBoundsToARR(e){for(var t=e[0].getBoundingInfo(),i=t.minimum.add(e[0].position),s=t.maximum.add(e[0].position),n=1;n<e.length;n++)t=e[n].getBoundingInfo(),i=BABYLON.Vector3.Minimize(i,t.minimum.add(e[n].position)),s=BABYLON.Vector3.Maximize(s,t.maximum.add(e[n].position));return new BABYLON.BoundingInfo(i,s)}static Expand(s,n){let r=new Array;var a=s.length;for(let i=0;i<a;i++){var o=s[i],c=s[0==i?a-1:i-1],h=s[i==a-1?0:i+1],l=c.x-o.x,c=c.z-o.z,p=this.norm(l,c),p=(l/=p,c/=p,h.x-o.x),h=h.z-o.z,d=this.norm(p,h),d=(p/=d,h/=d,-n/Math.sqrt((1-(l*p+c*h))/2));let e=l+p,t=c+h;l=0==this.norm(e,t)?0:d/this.norm(e,t);e*=l,t*=l,r[i]=new BABYLON.Vector3(e+o.x,0,t+o.z)}return r}static norm(e,t){return Math.sqrt(e*e+t*t)}static MergeMeshes(r,e){let a=new BABYLON.Mesh((new Date).getDate().toString(),e.scene);return setTimeout(()=>{let t=null,i;for(let e=0;e<r.length;e++){var s,n;r[e]&&(n=(s=r[e]).computeWorldMatrix(!0),(i=BABYLON.VertexData.ExtractFromMesh(s,!0,!0)).transform(n),t?t.merge(i,!0):t=i,s.dispose(!1,!0))}t.applyToMesh(a)}),a}static DeconsTructMesh(e,t,i){if(1<e.subMeshes.length){for(var s=BABYLON.VertexData.ExtractFromMesh(e,!0,!0),n=s.indices,r=s.normals,a=s.positions,o=s.uvs,c=new Array,h=0;h<e.subMeshes.length;h++){for(var l=new BABYLON.VertexData,p=n.slice(e.subMeshes[h].indexStart,e.subMeshes[h].indexStart+e.subMeshes[h].indexCount),d=r.slice(3*e.subMeshes[h].verticesStart,3*e.subMeshes[h].verticesStart+3*e.subMeshes[h].verticesCount),u=a.slice(3*e.subMeshes[h].verticesStart,3*e.subMeshes[h].verticesStart+3*e.subMeshes[h].verticesCount),f=o.slice(2*e.subMeshes[h].verticesStart,2*e.subMeshes[h].verticesStart+2*e.subMeshes[h].verticesCount),g=0;g<p.length;g++)p[g]=p[g]-e.subMeshes[h].verticesStart;l.indices=p,l.normals=d,l.positions=u,l.uvs=f;d=new BABYLON.Mesh(e.id+"-"+h,i.scene);l.applyToMesh(d),d.position.y=parseFloat(t),d.setEnabled(!1),c.push(d)}return e.dispose(!1,!0),c}return[e]}static getVisualAngle(e,t){let i={};var s=e.boundingSphere.radiusWorld,n=t.engine.getAspectRatio(t.camera.camera);let r=t.camera.camera.fov/1.2;return n<1&&(r=Math.atan(n*Math.tan(t.camera.camera.fov/2))),i.radius=1.1*Math.abs(s/Math.sin(r)),i.alpha=Math.PI/2,i.beta=Math.PI/4,i.focus=e.boundingSphere.center.clone(),i}static pathTransformation(i,s){let e=new BABYLON.Path3D(i);var n=e.getTangents();let r=[];for(let t=0;t<i.length;t++)if(0<t&&t<i.length-1){var a=i[t-1],o=i[t+1],c=i[t];let e=n[t-1];var h=n[t];if(!e.equals(h)){h=BABYLON.Vector3.Lerp(c,a,s/BABYLON.Vector3.Distance(a,c)),a=BABYLON.Vector3.Lerp(c,o,s/BABYLON.Vector3.Distance(o,c));let e=BABYLON.Curve3.CreateQuadraticBezier(h,c,a,10);r=r.concat(e.getPoints())}}else r.push(i[t]);return r}static createTube(e,t,i=.05,s){return BABYLON.MeshBuilder.CreateTube(e,{path:this.pathTransformation(t,i),radius:i/2},s.scene)}static getAngleFromVector2(e,t,i){var s=(e.x-t.x)*(i.x-t.x)+(e.y-t.y)*(i.y-t.y),e=(e.x-t.x)*(i.y-t.y)-(e.y-t.y)*(i.x-t.x),i=Math.atan2(e,s);return Math.PI-i}static getAngleFromVector3(e,t,i){return this.getAngleFromVector2(new BABYLON.Vector2(e.x,e.z),new BABYLON.Vector2(t.x,t.z),new BABYLON.Vector2(i.x,i.z))}static RandomNumBoth(e,t){var t=t-e,i=Math.random();return e+Math.round(i*t)}}class u{constructor(e){this.lights=new m,this.reflexEnabled=!0,this.reflexIntensity=.5,this.app=e,this.color=new BABYLON.Color4(0,.0588,.1176,1),this.reflex(this.app.rootUrl+"resources/environment.env",.5),this.app.scene.fogEnabled=!0,this.app.scene.fogMode=2,this.fogDistance=500,BABYLON.Effect.IncludesShadersStore.fogVertex=`
2
+       #ifdef FOG
3
+         vFogDistance=(worldPos).xyz;
4
+       #endif
5
+     `}set fogDistance(e){this.app.scene.fogDensity=1/e}set color(e){this._color=new BABYLON.Color4(e.r,e.g,e.b,e.a),this.app.scene.clearColor=this._color,this.app.scene.fogColor=new BABYLON.Color3(...this._color.asArray())}reflex(e,t){e=new BABYLON.CubeTexture(e,this.app.scene);this.app.scene.environmentTexture=e,this.app.scene.environmentIntensity=t}setBackground(e){this.background&&this.background.dispose(),this.background=new BABYLON.Layer("background",e,this.app.scene),this.background.isBackground=!0}setReflexEnabled(e){this.app.scene.blockfreeActiveMeshesAndRenderingGroups=!0,this.reflexEnabled=e,this.app.scene.environmentIntensity=this.reflexEnabled?this.reflexIntensity:0,this.app.scene.blockfreeActiveMeshesAndRenderingGroups=!1}setFlexIntensity(e){this.app.scene.blockfreeActiveMeshesAndRenderingGroups=!0,this.reflexIntensity=e,this.app.scene.environmentIntensity=this.reflexIntensity,this.app.scene.blockfreeActiveMeshesAndRenderingGroups=!1}defaultLights(){let e=new c(this.app),t=(e.id=r.getGUID(12),e.lightType="Hemispheric",e.name="半球光_"+this.lights.count(),e.direction=new BABYLON.Vector3(1,1,0),e.color="#FFFFFF",e.intensity=1,this.lights.add(e.id,e),new c(this.app));t.id=r.getGUID(12),t.lightType="Hemispheric",t.name="半球光_"+this.lights.count(),t.direction=new BABYLON.Vector3(-1,1,0),t.color="#FFFFFF",t.intensity=.7,this.lights.add(t.id,t)}offAllLight(){for(const e in this.lights.map)this.lights.find(e).light&&(this.lights.find(e).light.intensity=0,this.app.scene.removeLight(this.lights.find(e).light),this.lights.find(e).light.dispose()),this.lights.find(e).light=null}openAllLight(){for(const e in this.lights.map)this.lights.find(e).load()}loadLight(i){for(let t=0;t<i.length;t++){var s=i[t];let e;s.lightType==n.Hemispheric?((e=new c(this.app)).id=s.id,e.lightType=s.lightType,e.name=s.name,e.direction=p.ToVector3(s.direction),e.color=s.color,e.intensity=s.intensity):s.lightType==n.Directional?((e=new o(this.app)).id=s.id,e.lightType=s.lightType,e.name=s.name,e.direction=p.ToVector3(s.direction),e.position=p.ToVector3(s.position),e.color=s.color,e.intensity=s.intensity):s.lightType==n.Spot?((e=new l(this.app)).id=s.id,e.lightType=s.lightType,e.name=s.name,e.direction=p.ToVector3(s.direction),e.position=p.ToVector3(s.position),e.angle=s.angle,e.exponent=s.exponent,e.range=s.range,e.color=s.color,e.intensity=s.intensity):s.lightType==n.Point&&((e=new h(this.app)).id=s.id,e.lightType=s.lightType,e.name=s.name,e.position=p.ToVector3(s.position),e.range=s.range,e.color=s.color,e.intensity=s.intensity),e&&this.lights.add(e.id,e)}this.lights.count()<1&&this.defaultLights(),this.openAllLight()}}var v,f,g,i=t(4),y=t.n(i);class b{static de(e){return y.a.AES.decrypt(y.a.enc.Base64.stringify(y.a.enc.Hex.parse(e.substring(48,e.length))),y.a.enc.Utf8.parse(e.substring(0,32)),{iv:y.a.enc.Utf8.parse(e.substring(32,48)),mode:y.a.mode.CBC,padding:y.a.pad.Pkcs7}).toString(y.a.enc.Utf8).toString()}}class B{constructor(){this.colors={1:BABYLON.Color3.Red(),2:new BABYLON.Color3(1,.5,0),3:BABYLON.Color3.Yellow(),4:new BABYLON.Color3(0,1,1),5:BABYLON.Color3.Green(),6:BABYLON.Color3.Gray()};let e=new d.a.Tween(this.colors[1]).to({r:1,g:0,b:0},500),t=new d.a.Tween(this.colors[1]).to({r:1,g:.5,b:.5},500),i=(t.chain(e),e.chain(t),e.start(),new d.a.Tween(this.colors[2]).to({r:1,g:.55,b:0},500)),s=new d.a.Tween(this.colors[2]).to({r:0,g:0,b:0},500),n=(i.chain(s),s.chain(i),i.start(),new d.a.Tween(this.colors[3]).to({r:1,g:.84,b:0},500)),r=new d.a.Tween(this.colors[3]).to({r:0,g:0,b:0},500),a=(n.chain(r),r.chain(n),n.start(),new d.a.Tween(this.colors[4]).to({r:0,g:.75,b:1},500)),o=new d.a.Tween(this.colors[4]).to({r:0,g:0,b:0},500),c=(a.chain(o),o.chain(a),a.start(),new d.a.Tween(this.colors[5]).to({r:.53,g:.8,b:0},500)),h=new d.a.Tween(this.colors[5]).to({r:0,g:0,b:0},500),l=(c.chain(h),h.chain(c),c.start(),new d.a.Tween(this.colors[6]).to({r:.8,g:.8,b:.8},500)),p=new d.a.Tween(this.colors[6]).to({r:0,g:0,b:0},500);l.chain(p),p.chain(l),l.start()}}(i=v=v||{}).Campus="Campus",i.Building="Building",i.Scene="Scene",i.Humiture="Humiture",i.Battery="Battery",i.PowerCabinet="PowerCabinet",i.Cabinet="Cabinet",i.AirCondition="AirCondition",i.UPS="UPS",i.Camera="Camera",i.NewWindMachine="NewWindMachine",i.SmokeDetector="SmokeDetector",i.AudibleVisualAlarm="AudibleVisualAlarm",i.LeakWater="LeakWater",i.Wall="Wall",i.Floor="Floor",i.Window="Window",i.Door="Door",i.AirFlow="AirFlow",i.Corner="Corner",i.FireFighting="FireFighting",i.Lighting="Lighting",i.Enclosure="Enclosure",i.ParkingLot="ParkingLot",i.Elevator="Elevator",i.Other="Other",i.InrackAsset="InrackAsset",i.GasDetection="GasDetection",i.Security="Security",i.OutDoorScene="OutDoorScene",i.Infrared="Infrared",i.SkyBox="SkyBox",i.UI3D="UI3D",i.ColdTongDoor="ColdTongDoor",i.VirtualBox="VirtualBox",i.PathPint="PathPint",i.Port="Port",i.Positioner="Positioner",i.AutoAnimation="AutoAnimation",i.MapModel="MapModel",i.radiator="radiator",i.Conduit="Conduit",i.ParkModel="ParkModel",i.Storey="Storey",i.optimizedWall="optimizedWall";class A{setVisual(e){e=JSON.parse(e);this.alpha=e.alpha,this.beta=e.beta,this.radius=e.radius,this.focus=N.Tools.ToVector3(e.focus)}setLimit(e,t){this.minimumLimit=e+.3,this.maximumLimit=t}setBeta(e,t){this.minBeta=e,this.maxBeta=t}}class P{constructor(e){this.objectDatas=new m,this.app=e}delete(){this.app.scene.blockfreeActiveMeshesAndRenderingGroups=!0;for(const e in this.objectDatas.map)this.objectDatas.find(e).instance&&this.objectDatas.find(e).instance.dispose();this.objectDatas.clear(),this.current=null,this.app.scene.blockfreeActiveMeshesAndRenderingGroups=!1}optimization(){this.computeView(),this.app.scene.freezeActiveMeshes()}computeView(){this.visualAngle=new A;var e=this.getBounding(),e=N.Tools.getVisualAngle(e,this.app);this.visualAngle.alpha=e.alpha,this.visualAngle.beta=e.beta,this.visualAngle.focus=e.focus,this.visualAngle.radius=e.radius}getChildNodes(e){let t=new Array;for(const s in this.objectDatas.map){var i=this.app.project.objectDatas.find(s);i.parentId==e&&i.objectType!=v.Wall&&i.objectType!=v.Corner&&t.push(i)}return t}getTrees(){const n=(e,t)=>{for(const s in this.objectDatas.map){var i=this.app.project.objectDatas.find(s);i.isMonitor&&i.parentId==e&&(t.push({label:i.name,id:i.id,type:i.objectType,children:[]}),n(i.id,t[t.length-1].children))}};var e={label:this.root.name,id:this.root.id,type:this.root.objectType,children:[]};return n(this.root.id,e.children),e}find(e){return this.objectDatas.find(e)}findFormObjectType(e,t=!0){let i=new Array;for(const n in this.objectDatas.map){var s=this.app.project.objectDatas.find(n);t&&s.parentId!=this.current.id||s.objectType!=e||i.push(s)}return i}show(){this.app.scene.blockfreeActiveMeshesAndRenderingGroups=!0;for(const t in this.app.project.objectDatas.map){let e=this.app.project.objectDatas.find(t);e.setEnabled(!0)}this.app.scene.blockfreeActiveMeshesAndRenderingGroups=!1}getBounding(){var i,s;for(const e in this.app.project.objectDatas.map){let t=this.app.project.objectDatas.find(e);if(t.objectType!=v.ParkModel&&t.objectType!=v.Storey){let e=t.instance.getBoundingInfo();i&&s||(i=s=e.boundingBox.center.clone()),i=BABYLON.Vector3.Minimize(i,e.minimum.add(t.instance.position)),s=BABYLON.Vector3.Maximize(s,e.maximum.add(t.instance.position))}}return i&&s||(i=BABYLON.Vector3.Zero(),s=new BABYLON.Vector3(12,0,8)),new BABYLON.BoundingInfo(i,s)}flyTo(){this.app.camera.flyTo(this.visualAngle,500)}}class D{constructor(e){this.resourcePath="http://models.wodashijie.com/",this.walls=new m,this.resources=new m,this.ndoeMats=new m,this.Materials=new m,this.Textures=new m,this.MergeMaterials=new m,this.app=e;e=r.getGUID(12);this.transparentBox=BABYLON.MeshBuilder.CreateBox(e,{size:1},this.app.scene),this.transparentBox.alwaysSelectAsActiveMesh=!0;let t=new BABYLON.StandardMaterial(e,this.app.scene);t.diffuseTexture=new BABYLON.Texture(this.app.rootUrl+"resources/white.jpg",this.app.scene,!0,!1),t.alphaMode=BABYLON.Engine.ALPHA_COMBINE,t.emissiveColor=BABYLON.Color3.Green(),this.transparentBox.material=t,this.transparentBox.setEnabled(!1),this.transparentBox.visibility=.3;e=r.getGUID(12);this.BOX=BABYLON.MeshBuilder.CreateBox(e,{size:1},this.app.scene),this.BOX.edgesColor=BABYLON.Color4.FromHexString("#4ba3fff2"),this.BOX.setEnabled(!1),this.BOX.visibility=0,this.FogTex=new BABYLON.Texture(this.app.rootUrl+"resources/fogtex.png",this.app.scene,!0,!1)}async loadModelMesh(t){let i=this.resources.find(t.modelId);if(!i)try{0<(i=await BABYLON.SceneLoader.LoadAssetContainerAsync(this.resourcePath+"bundle/"+t.modelId+"/",t.modelId+t.extension,this.app.scene)).animationGroups.length&&i.animationGroups[0].stop(),i.addAllToScene(),i.meshes[0].setEnabled(!1),i.meshes[0].getChildMeshes().forEach(e=>{e.metadata&&e.metadata.gltf&&e.metadata.gltf.extras&&(i.isExtras=!0,e.metadata.gltf.extras.U&&BABYLON.Animation.CreateAndStartAnimation("u",e.material.albedoTexture,"uOffset",30*e.metadata.gltf.extras.Uspeed,30,0,1,1),e.metadata.gltf.extras.V&&BABYLON.Animation.CreateAndStartAnimation("v",e.material.albedoTexture,"vOffset",30*e.metadata.gltf.extras.Vspeed,30,0,1,1))}),t.objectType==v.OutDoorScene||i.isExtras||i.meshes[0].getChildMeshes().forEach(e=>{e.registerInstancedBuffer("color",4),e.instancedBuffers.color=new BABYLON.Color4(1,1,1,1)}),this.resources.add(t.modelId,i)}catch(e){console.error("模型下载失败!模型编号:"+t.modelId+";错误信息:"+e)}return i}loadModelMeshAsync(t,i){var e=this.resources.find(t.modelId);e?i(e):BABYLON.SceneLoader.LoadAssetContainerAsync(this.resourcePath+"bundle/"+t.modelId+"/",t.modelId+t.extension,this.app.scene).then(e=>{0<e.animationGroups.length&&e.animationGroups[0].stop(),this.resources.add(t.modelId,e),i(e)}).catch(()=>{console.error("模型下载失败!模型编号:"+t.modelId)})}GetMaterial(e,t){let i=this.Materials.find(e.modelId);var s;return void 0===i&&(s=this.GetTexture(e,t),(i=new BABYLON.StandardMaterial(e.modelId,t)).alphaMode=BABYLON.Engine.ALPHA_COMBINE,i.diffuseTexture=s,this.Materials.add(e.modelId,i)),i}GetTexture(e,t){let i=this.Textures.find(e.modelId);return void 0===i&&(i=new BABYLON.Texture(this.resourcePath+"texture/"+e.modelId+e.extension,t,!1),".png"==e.extension&&(i.hasAlpha=!0),this.Textures.add(e.modelId,i)),i}GetMergeMaterial(t,i){let s=this.MergeMaterials.find(t.modelId);if(void 0===s){(s=new BABYLON.CustomMaterial(t.modelId,i)).alphaMode=2,this.MergeMaterials.add(t.modelId,s),s.AddUniform("textureData","sampler2D",null),s.Vertex_Definitions(`
6
+ varying vec3 localPos ;
7
+ varying vec3 localNrm ;
8
+ `),s.Fragment_Definitions(`
9
+ varying vec3 localPos ;
10
+ varying vec3 localNrm ;`),s.Vertex_Before_PositionUpdated(`
11
+ localPos = position.xyz;
12
+ localNrm = normal;
13
+ `);let e=this.GetTexture(t,i);".png"==t.extension&&(e.hasAlpha=!0,s.alpha=.9),t.length=3.1,console.log(t.width),s.onBindObservable.add(()=>s.getEffect().setTexture("textureData",e)),s.Fragment_Custom_Diffuse(`
14
+ vec3 newUV = vec3(abs(localPos.x)/`+t.width+",abs(localPos.y)/"+t.length+",abs(localPos.z)/"+t.width+`);
15
+ if(abs(localNrm.z)>abs(localNrm.x)){
16
+ vec4 res = texture2D(textureData,newUV.xy);
17
+ diffuseColor = res.rgb;
18
+ alpha = res.a;
19
+ }
20
+ else {
21
+ vec4 res = texture2D(textureData,newUV.zy);
22
+ diffuseColor = res.rgb;
23
+ alpha = res.a;
24
+ }
25
+ `),s.freeze()}return s}delete(e=!1){if(this.BOX&&this.BOX.dispose(),this.transparentBox&&this.transparentBox.dispose(!0,!0),this.BOX=null,this.transparentBox=null,e){for(const t in this.resources.map)this.resources.find(t).removeAllFromScene(),this.resources.remove(t);this.resources.clear()}}async GetWalls(e,t){let i=await BABYLON.SceneLoader.LoadAssetContainerAsync(e,t+".gltf",this.app.scene);if(i.meshes){var s=i.meshes[0].getChildMeshes();for(let e=0;e<s.length;e++)this.walls.add(s[e].id,s[e])}}}(i=f=f||{}).leftClick="leftClick",i.rightClick="rightClick",i.doubleClick="doubleClick",i.eover="eover",i.longPress="longPress",i.out="out",(i=g=g||{})[i.Opaque=0]="Opaque",i[i.Flash=1]="Flash",i[i.Transparent=2]="Transparent";class w{constructor(e){this.isVisible=!0,this.executes=new m,this.clickEvents=new m,this.touchtime=(new Date).getTime(),this.effectType=g.Opaque,this._isMonitor=!0,this.app=e}set isMonitor(e){this._isMonitor=e}get isMonitor(){return this._isMonitor}setEnabled(e){this.app.scene.blockfreeActiveMeshesAndRenderingGroups=!0,this.instance.setEnabled(e),this.isEnabled=e,this.isEnabled?(this.instance.isPickable=0<this.executes.count(),this.executes.find(f.eover)||this.executes.find(f.out)?this.instance.enablePointerMoveEvents=!0:this.instance.enablePointerMoveEvents=!1):(this.instance.isPickable=!1,this.instance.enablePointerMoveEvents=!1),this.app.scene.blockfreeActiveMeshesAndRenderingGroups=!1}set showBoundingBox(e){this.app.scene.blockfreeActiveMeshesAndRenderingGroups=!0,this.instance.showBoundingBox=e,this.app.scene.blockfreeActiveMeshesAndRenderingGroups=!1}get showBoundingBox(){return this.instance.showBoundingBox}bind(e){this.id=e.id,this.name=e.name,this.parentId=e.parentId,this.modelId=e.baseModel.modelId,this.animation=e.animation,this.isAutoPlay=e.isAutoPlay,this.isloop=e.isloop,this.isMonitor=e.isMonitor,null!=e.isVisible&&(this.isVisible=e.isVisible),this.objectType=e.objectType;let t=new BABYLON.Mesh(this.id,this.app.scene),i=this.app.Resources.resources.find(this.modelId);i.meshes[0].getChildMeshes().forEach(e=>{e=e.createInstance(this.id);e.isPickable=!1,e.enablePointerMoveEvents=!1,e.parent=t}),t.rotation=N.Tools.ToVector3(e.rotation),t.position=N.Tools.ToVector3(e.position),t.scaling=N.Tools.ToVector3(e.scaling);e=N.Tools.computeBounds(t);t.setBoundingInfo(e),this.instance=this.app.Resources.BOX.clone(this.id),this.instance.id=this.id,this.instance.enablePointerMoveEvents=!1,this.instance.isPickable=!1,this.instance.scaling=new BABYLON.Vector3((e.maximum.x-e.minimum.x)*t.scaling.x,(e.maximum.y-e.minimum.y)*t.scaling.y,(e.maximum.z-e.minimum.z)*t.scaling.z),0==this.instance.scaling.y&&(this.instance.scaling.y=.01),this.instance.position=t.position.clone(),this.instance.position.y=(e.maximum.y-e.minimum.y)/2+t.position.y,this.instance.rotation=t.rotation.clone(),t.setParent(this.instance),this.alwaysActive(),this.optimization(!0),this.instance.setEnabled(!1),this.computeView(),this.isAutoPlay&&this.play()}computeView(){this.visualAngle=new A;var e=this.instance.getBoundingInfo(),t=N.Tools.getVisualAngle(e,this.app);this.visualAngle.alpha=t.alpha,this.visualAngle.beta=t.beta,this.visualAngle.focus=this.instance.getAbsolutePosition(),this.visualAngle.radius=e.boundingSphere.radiusWorld+3,this.visualAngle.minimumLimit=.3,this.visualAngle.maximumLimit=2*this.visualAngle.radius,this.visualAngle.minBeta=.01,this.visualAngle.maxBeta=Math.PI/2*.98}optimization(t){this.instance.getChildMeshes().forEach(e=>{t?e.freezeWorldMatrix():e.unfreezeWorldMatrix()}),t?this.instance.freezeWorldMatrix():this.instance.unfreezeWorldMatrix(),this.instance.material&&(t?this.instance.material.freeze():this.instance.material.unfreeze())}alwaysActive(){this.instance.getChildMeshes().forEach(e=>{e.alwaysSelectAsActiveMesh=!0,e.doNotSyncBoundingInfo=!1,e.ignoreNonUniformScaling=!0}),this.instance.alwaysSelectAsActiveMesh=!0,this.instance.doNotSyncBoundingInfo=!1}addEventListener(e,t){this.app.scene.blockfreeActiveMeshesAndRenderingGroups=!0;let i=null;var s;e==f.leftClick||e==f.rightClick?(this.clickEvents.remove(e),this.clickEvents.add(e,t),this.instance.isPickable=!0,i=new BABYLON.ExecuteCodeAction(BABYLON.ActionManager.OnPickTrigger,e=>{let t=this.clickEvents.find(f.leftClick),i=(t&&0==e.sourceEvent.button&&t(this,e),this.clickEvents.find(f.rightClick));i&&2==e.sourceEvent.button&&i(this,e),this.touchtime=(new Date).getTime()}),e="click"):e==f.doubleClick?i=new BABYLON.ExecuteCodeAction(BABYLON.ActionManager.OnDoublePickTrigger,e=>t(this,e)):e==f.eover?(i=new BABYLON.ExecuteCodeAction(BABYLON.ActionManager.OnPointerOverTrigger,e=>t(this,e)),this.instance.enablePointerMoveEvents=!0):e==f.longPress?i=new BABYLON.ExecuteCodeAction(BABYLON.ActionManager.OnLongPressTrigger,e=>t(this,e)):e==f.out&&(i=new BABYLON.ExecuteCodeAction(BABYLON.ActionManager.OnPointerOutTrigger,e=>t(this,e)),this.instance.enablePointerMoveEvents=!0),i&&(this.action||(this.action=new BABYLON.ActionManager(this.app.scene),this.instance.actionManager=this.action),(s=this.executes.find(e))&&this.action.unregisterAction(s),this.executes.remove(e),this.executes.add(e,i),this.action.registerAction(i)),this.app.scene.blockfreeActiveMeshesAndRenderingGroups=!1}removeEventListener(e){if(e==f.leftClick||e==f.rightClick||e==f.doubleClick){if(this.clickEvents.remove(e),0<this.clickEvents.count())return;e="click"}this.app.scene.blockfreeActiveMeshesAndRenderingGroups=!0;var t=this.executes.find(e);t&&this.action.unregisterAction(t),this.executes.remove(e),0==this.executes.count()&&(this.action=null,this.instance.actionManager=this.action),this.app.scene.blockfreeActiveMeshesAndRenderingGroups=!1}setFlash(t){this.effectType==g.Opaque&&(this.app.scene.blockfreeActiveMeshesAndRenderingGroups=!0,this.instance.getChildMeshes().forEach(e=>{e.instancedBuffers&&(e.instancedBuffers.color=N.EffectMgr.colors[t])}),this.app.scene.blockfreeActiveMeshesAndRenderingGroups=!1,this.effectType=g.Flash)}setOpaque(){this.effectType!=g.Opaque&&(this.app.scene.blockfreeActiveMeshesAndRenderingGroups=!0,this.instance.getChildMeshes().forEach(e=>{e.setEnabled(!0),e.instancedBuffers&&(e.instancedBuffers.color=new BABYLON.Color4(1,1,1,1))}),this.instance.disableEdgesRendering(),this.instance.visibility=0,this.setEnabled(this.isEnabled),this.app.scene.blockfreeActiveMeshesAndRenderingGroups=!1,this.effectType=g.Opaque)}setTransparent(e=.3){this.effectType==g.Opaque&&(this.app.scene.blockfreeActiveMeshesAndRenderingGroups=!0,this.instance.getChildMeshes().forEach(e=>e.setEnabled(!1)),this.instance.visibility=e,this.instance.enableEdgesRendering(),this.app.scene.blockfreeActiveMeshesAndRenderingGroups=!1,this.effectType=g.Transparent)}play(){this.app.scene.blockfreeActiveMeshesAndRenderingGroups=!0,this.instance.getChildMeshes().forEach(t=>{let i;t.animations.forEach(e=>{-1!=e.name.indexOf("open")&&(i=e)}),i?this.app.scene.beginDirectAnimation(t,[i],0,10*i.getKeys().length,this.isloop):t.animations.forEach(e=>this.app.scene.beginDirectAnimation(t,[e],0,10*e.getKeys().length,this.isloop))}),this.app.scene.blockfreeActiveMeshesAndRenderingGroups=!1}stop(){this.app.scene.blockfreeActiveMeshesAndRenderingGroups=!0,this.instance.getChildMeshes().forEach(t=>{let i;t.animations.forEach(e=>{-1!=e.name.indexOf("close")&&(i=e)}),i?this.app.scene.beginDirectAnimation(t,[i],0,10*i.getKeys().length,!1):t.animations.forEach(e=>this.app.scene.beginDirectAnimation(t,[e],10*e.getKeys().length,0,!1))}),this.app.scene.blockfreeActiveMeshesAndRenderingGroups=!1}flyTo(){this.app.camera.translation(this.visualAngle,500)}focus(){}}class x extends w{constructor(){super(...arguments),this.baseModel=null}bind(e){this.id=r.getGUID(12),this.objectType="Wall",this.name="墙体",this.isMonitor=!1,this.instance=N.Tools.MergeMeshes(e.walls,this.app),this.instance.receiveShadows=!0,e.t&&""!=e.t?(this.modelId=e.t.modelId,this.baseModel=e.t,this.baseModel.length||(this.baseModel.length=3.1),this.nativeMaterial=this.app.Resources.GetMergeMaterial(e.t,this.app.scene)):this.nativeMaterial=null,this.instance.material=this.nativeMaterial,this.instance.id=this.id,this.instance.name=this.id,this.instance.isPickable=!1,this.instance.enablePointerMoveEvents=!1,this.instance.position.y=this.height,this.alwaysActive(),this.optimization(!0)}}class M extends w{bind(e){this.id=e.id,this.name=e.name,this.parentId=e.parentId,this.modelId=e.baseModel.modelId,this.height=e.baseModel.height,this.isMonitor=e.isMonitor,this.objectType=e.objectType,this.instance=new BABYLON.Mesh(this.id,this.app.scene);let t=this.app.Resources.resources.find(this.modelId);t.meshes[0].getChildMeshes().forEach(e=>{(this.app.highQualityMode?e.clone(this.id):e.createInstance(this.id)).parent=this.instance});var i=N.Tools.computeBounds(this.instance);this.instance.rotation=N.Tools.ToVector3(e.rotation),this.instance.position=N.Tools.ToVector3(e.position),this.visualAngle=N.Tools.getVisualAngle(i,this.app);let s=this.app.Resources.BOX.createInstance(this.id);s.setBoundingInfo(i),s.enablePointerMoveEvents=!1,s.isPickable=!1,s.scaling=new BABYLON.Vector3((i.maximum.x-i.minimum.x)*this.instance.scaling.x,(i.maximum.y-i.minimum.y)*this.instance.scaling.y,(i.maximum.z-i.minimum.z)*this.instance.scaling.z),s.position=this.instance.position.clone(),s.position.y=(i.maximum.y-i.minimum.y)/2+this.instance.position.y,s.rotation=this.instance.rotation.clone(),this.instance.getChildMeshes().forEach(e=>e.setParent(s)),this.instance.dispose(),this.instance=s,this.alwaysActive(),this.optimization(!0),this.instance.setEnabled(!1),this.computeView()}}class T extends w{bind(e){this.id=e.id,this.name=e.name,this.parentId=e.parentId,this.modelId=e.baseModel.modelId,this.height=e.baseModel.height,this.isMonitor=e.isMonitor,this.objectType=e.objectType,this.instance=new BABYLON.Mesh(this.id,this.app.scene);let t=this.app.Resources.resources.find(this.modelId);t.meshes[0].getChildMeshes().forEach(e=>{(this.app.highQualityMode?e.clone(this.id):e.createInstance(this.id)).parent=this.instance});var i=N.Tools.computeBounds(this.instance);this.instance.rotation=N.Tools.ToVector3(e.rotation),this.instance.position=N.Tools.ToVector3(e.position);let s=this.app.Resources.BOX.createInstance(this.id);s.setBoundingInfo(i),s.enablePointerMoveEvents=!1,s.isPickable=!1,s.scaling=new BABYLON.Vector3((i.maximum.x-i.minimum.x)*this.instance.scaling.x,(i.maximum.y-i.minimum.y)*this.instance.scaling.y,(i.maximum.z-i.minimum.z)*this.instance.scaling.z),s.position=this.instance.position.clone(),s.position.y=(i.maximum.y-i.minimum.y)/2+this.instance.position.y,s.rotation=this.instance.rotation.clone(),this.instance.getChildMeshes().forEach(e=>e.setParent(s)),this.instance.dispose(),this.instance=s,this.alwaysActive(),this.optimization(!0),this.instance.setEnabled(!1),this.computeView()}}class _ extends w{}class k extends w{bind(e){this.visualAngle=new A;let t=N.Tools.ToARRVector3(e.lines);this.visualAngle.focus=t[0].clone(),this.instance=N.Tools.createTube(e.id,t,.02,this.app),this.instance.setEnabled(!1),this.id=e.id,this.name=e.name,this.parentId=e.parentId,this.modelId=e.baseModel.modelId,this.objectType=e.objectType,this.isMonitor=e.isMonitor;e=this.app.Resources.GetMaterial(e.baseModel,this.app.scene).clone(this.id);BABYLON.Animation.CreateAndStartAnimation("u",e.diffuseTexture,"vOffset",15,30,0,1,1),e.diffuseTexture.vScale=this.instance.getTotalVertices()/50,this.instance.material=e,this.alwaysActive(),this.optimization(!0),this.computeView()}computeView(){var e=this.instance.getBoundingInfo(),t=N.Tools.getVisualAngle(e,this.app);this.visualAngle.alpha=t.alpha,this.visualAngle.beta=t.beta,this.visualAngle.radius=e.boundingSphere.radiusWorld+3,this.visualAngle.minimumLimit=.3,this.visualAngle.maximumLimit=2*this.visualAngle.radius,this.visualAngle.minBeta=.01,this.visualAngle.maxBeta=Math.PI/2*.98}addEventListener(e,t){this.app.scene.blockfreeActiveMeshesAndRenderingGroups=!0;let i=null;var s;e==f.leftClick||e==f.rightClick||e==f.doubleClick?(this.clickEvents.remove(e),this.clickEvents.add(e,t),this.instance.isPickable=!0,i=new BABYLON.ExecuteCodeAction(BABYLON.ActionManager.OnPickTrigger,e=>{let t=this.clickEvents.find(f.leftClick),i=(t&&0==e.sourceEvent.button&&t(this,e),this.clickEvents.find(f.rightClick)),s=(i&&2==e.sourceEvent.button&&i(this,e),this.clickEvents.find(f.doubleClick));s&&0==e.sourceEvent.button&&(new Date).getTime()-this.touchtime<500&&s(this,e),this.touchtime=(new Date).getTime()}),e="click"):e==f.eover?(i=new BABYLON.ExecuteCodeAction(BABYLON.ActionManager.OnPointerOverTrigger,e=>t(this,e)),this.instance.enablePointerMoveEvents=!0):e==f.longPress?i=new BABYLON.ExecuteCodeAction(BABYLON.ActionManager.OnLongPressTrigger,e=>t(this,e)):e==f.out&&(i=new BABYLON.ExecuteCodeAction(BABYLON.ActionManager.OnPointerOutTrigger,e=>t(this,e)),this.instance.enablePointerMoveEvents=!0),i&&(this.action||(this.action=new BABYLON.ActionManager(this.app.scene),this.instance.actionManager=this.action),(s=this.executes.find(e))&&this.action.unregisterAction(s),this.executes.remove(e),this.executes.add(e,i),this.action.registerAction(i)),this.app.scene.blockfreeActiveMeshesAndRenderingGroups=!1}removeEventListener(e){if(e==f.leftClick||e==f.rightClick||e==f.doubleClick){if(this.clickEvents.remove(e),0<this.clickEvents.count())return;e="click"}this.app.scene.blockfreeActiveMeshesAndRenderingGroups=!0;var t=this.executes.find(e);t&&this.action.unregisterAction(t),this.executes.remove(e),0==this.executes.count()&&(this.action=null,this.instance.actionManager=this.action,this.instance.getChildMeshes().forEach(e=>e.actionManager=this.action)),this.app.scene.blockfreeActiveMeshesAndRenderingGroups=!1}}class O extends w{async bind(t){if(this.id=t.id,this.name=t.name,this.parentId=t.parentId,this.isMonitor=t.isMonitor,this.objectType=t.objectType,this.isVisible=t.isVisible,t.virtualType&&t.isVisible){"Cylinder"==t.virtualType?this.instance=BABYLON.MeshBuilder.CreateCylinder(this.id,{height:1,diameterTop:1,diameterBottom:1},this.app.scene):this.instance=BABYLON.MeshBuilder.CreateBox(this.id,{size:1},this.app.scene),this.instance.setEnabled(!1),this.instance.id=this.id;let e=new BABYLON.StandardMaterial(this.id,this.app.scene);e.diffuseColor=BABYLON.Color3.FromHexString(t.color),t.alpha<.98&&(e.alpha=t.alpha,e.alphaMode=2,e.useAlphaFromDiffuseTexture=!0),this.instance.material=e,t.isEdges&&(this.instance.enableEdgesRendering(),this.instance.edgesWidth=1,this.instance.edgesColor=new BABYLON.Color4(0,1,1,1)),t.edgesWidth&&0<t.edgesWidth&&(this.instance.enableEdgesRendering(),this.instance.edgesWidth=t.edgesWidth,this.instance.edgesColor=BABYLON.Color3.FromHexString(t.edgesColor).toColor4(1))}else this.instance=BABYLON.Mesh.CreateBox(this.id,1,this.app.scene),this.instance.setEnabled(!1),this.instance.id=this.id;this.instance.enablePointerMoveEvents=this.isMonitor,this.instance.isPickable=this.isMonitor,this.instance.rotation=N.Tools.ToVector3(t.rotation),this.instance.position=N.Tools.ToVector3(t.position),this.instance.scaling=N.Tools.ToVector3(t.scaling),this.alwaysActive(),this.optimization(!0),this.computeView()}}class C extends w{bind(e){this.id=e.id,this.name=e.name,this.parentId=e.parentId,this.objectType=e.objectType,this.isMonitor=e.isMonitor;let t={};t.color=e.color,e.size?(t.clearColor=null,t.position=N.Tools.ToVector3(e.position),i=N.Tools.ToVector3(e.rotation),t.rotation=new BABYLON.Vector3(i.x+Math.PI,i.y,i.z),i=Number.parseInt(e.size.replace("px",""))/40,n=e.scaling?N.Tools.ToVector3(e.scaling):BABYLON.Vector3.One(),t.scaling=new BABYLON.Vector3(14*i/50*n.x,1,14*i/50*n.z)):(t.clearColor=e.clearColor,t.position=N.Tools.ToVector3(e.position),t.rotation=N.Tools.ToVector3(e.rotation),t.scaling=N.Tools.ToVector3(e.scaling));var i="bold 100px Arial";let s=new BABYLON.DynamicTexture(this.id,64,this.app.scene,!1);var n=s.getContext(),e=(n.font=i,n.measureText(this.name).width+8),n=.02*e,e=(s=new BABYLON.DynamicTexture(this.id,{width:e,height:150},this.app.scene,!1),new BABYLON.StandardMaterial(this.id,this.app.scene));e.backFaceCulling=!1,e.diffuseTexture=s,t.clearColor||(s.hasAlpha=!0),s.drawText(this.name,null,null,i,t.color,t.clearColor,!1),this.instance=BABYLON.Mesh.CreateGround(this.id,n,3,1,this.app.scene),this.instance.setEnabled(!1),this.instance.scaling=t.scaling,this.instance.position=t.position,this.instance.rotation=t.rotation,this.instance.material=e,this.alwaysActive(),this.optimization(!0),this.computeView()}}class L extends w{bind(e){this.id=e.id,this.name=e.name,this.parentId=e.parentId,this.isMonitor=e.isMonitor,this.objectType=e.objectType,this.isVisible=!0,this.color=e.color,this.instance=new BABYLON.Mesh(this.id);var t=p.ToARRVector3(e.pints);let i=p.createTube(e.id,t,e.radius,this.app),s=(this.instance.position=i.getBoundingInfo().boundingBox.center.clone(),this.instance.addChild(i),e.rotation&&(this.instance.rotation=N.Tools.ToVector3(e.rotation)),e.position&&(this.instance.position=N.Tools.ToVector3(e.position)),i.setParent(this.instance.parent),this.instance.dispose(),this.instance=i,new BABYLON.StandardMaterial(e.id,this.app.scene));s.diffuseColor=BABYLON.Color3.FromHexString(e.color),s.alpha=e.alpha,this.alpha=e.alpha,this.instance.material=s,this.instance.enablePointerMoveEvents=this.isMonitor,this.instance.isPickable=this.isMonitor,this.instance.setEnabled(!1),this.alwaysActive(),this.optimization(!0),this.computeView()}SetColor(e,t,i){this.app.scene.blockfreeActiveMeshesAndRenderingGroups=!0,this.optimization(!1),this.instance.material.diffuseColor=new BABYLON.Color3(e/255,i/255,t/255),this.app.scene.blockfreeActiveMeshesAndRenderingGroups=!1}ReColor(){this.app.scene.blockfreeActiveMeshesAndRenderingGroups=!0,this.optimization(!1),this.instance.material.diffuseColor=BABYLON.Color3.FromHexString(this.color),this.app.scene.blockfreeActiveMeshesAndRenderingGroups=!1}computeView(){this.visualAngle=new A;var e=this.instance.getBoundingInfo(),e=N.Tools.getVisualAngle(e,this.app);this.alpha=e.alpha,this.visualAngle.beta=e.beta,this.visualAngle.focus=e.focus,this.visualAngle.radius=e.radius,this.visualAngle.minimumLimit=.3,this.visualAngle.maximumLimit=2*this.visualAngle.radius,this.visualAngle.minBeta=.01,this.visualAngle.maxBeta=Math.PI/2*.98}setFlash(e=1){this.effectType==g.Opaque&&(this.app.scene.blockfreeActiveMeshesAndRenderingGroups=!0,this.optimization(!1),this.instance.material.emissiveColor=N.EffectMgr.colors[e],this.app.Glow.addIncludedOnlyMesh(this.instance),this.app.scene.blockfreeActiveMeshesAndRenderingGroups=!1,this.effectType=g.Flash)}setOpaque(){this.effectType!=g.Opaque&&(this.app.scene.blockfreeActiveMeshesAndRenderingGroups=!0,this.app.Glow.removeIncludedOnlyMesh(this.instance),this.optimization(!0),this.instance.material.alpha=this.alpha,this.instance.material.emissiveColor=null,this.app.scene.blockfreeActiveMeshesAndRenderingGroups=!1,this.effectType=g.Opaque)}setTransparent(e=.3){this.effectType==g.Opaque&&(this.app.scene.blockfreeActiveMeshesAndRenderingGroups=!0,this.app.Glow.removeIncludedOnlyMesh(this.instance),this.optimization(!1),this.instance.material.alpha=e,this.app.scene.blockfreeActiveMeshesAndRenderingGroups=!1,this.effectType=g.Transparent)}}class E extends w{bind(e){this.id=e.id,this.name=e.name,this.parentId=e.parentId,this.modelId=e.baseModel.modelId,this.objectType=e.objectType,this.isMonitor=!0,this.instance=BABYLON.MeshBuilder.CreatePolygon("地板",{shape:p.Expand(e.vectors,-.01),holes:e.buckles,sideOrientation:BABYLON.Mesh.DOUBLESIDE},this.app.scene),this.alwaysActive(),this.instance.setEnabled(!1),this.instance.isPickable=!1,this.instance.enablePointerMoveEvents=!1,this.instance.position.y=this.height,this.instance.id=e.id,this.instance.name="地板";var t=this.app.Resources.GetMaterial(e.baseModel,this.app.scene).clone(e.id),i=this.instance.getBoundingInfo();this.visualAngle=p.getVisualAngle(i,this.app),e.baseModel.isTiling&&(t.diffuseTexture.uScale=(i.maximum.x-i.minimum.x)/e.baseModel.width,t.diffuseTexture.vScale=(i.maximum.z-i.minimum.z)/e.baseModel.length),this.instance.material=t,this.optimization(!0),this.computeView()}}class Y extends w{bind(e){this.id=e.id,this.parentId=e.parentId,this.objectType="Wall",this.isMonitor=!1,this.instance=this.app.Resources.walls.find(e.id),this.instance&&(this.app.scene.addMesh(this.instance),this.app.Resources.walls.remove(e.id),e.baseModel?(this.modelId=e.baseModel.modelId,this.nativeMaterial=this.app.Resources.GetMergeMaterial(e.baseModel,this.app.scene)):this.nativeMaterial=null,this.instance.material=this.nativeMaterial,this.instance.id=this.id,this.instance.name=this.id,this.instance.isPickable=!1,this.instance.enablePointerMoveEvents=!1,this.alwaysActive(),this.optimization(!0),this.instance.setEnabled(!1),this.computeView())}}class j extends w{bind(i){let e=!1,s=(this.id=r.getGUID(12),this.name="墙角",this.isMonitor=!1,this.objectType="Corner",new Array);for(let t=0;t<i.length;t++)if(2<i[t].pints.length){let e=BABYLON.MeshBuilder.CreatePolygon(this.id,{shape:i[t].pints,sideOrientation:BABYLON.Mesh.FRONTSIDE},this.app.scene);e.setEnabled(!1),e.position.y=i[t].height,e.isPickable=!0,e.enablePointerMoveEvents=!1,s.push(e)}return s.length<1?e:(1<s.length?this.instance=p.MergeMeshes(s,this.app):this.instance=s[0],this.instance.id=this.id,this.instance.name=this.id,this.instance.position.y=this.height,this.instance.setEnabled(!1),this.instance.isPickable=!1,this.instance.enablePointerMoveEvents=!1,this.alwaysActive(),this.optimization(!0),e=!0)}}class S extends w{focus(){this.app.scene.blockfreeActiveMeshesAndRenderingGroups=!0;let i=new Array;for(const t in this.app.project.objectDatas.map){let e=this.app.project.objectDatas.find(t);e.parentId==this.id&&i.push(e),e.setEnabled(!1)}for(const e in this.app.project.objectDatas.map){let t=this.app.project.objectDatas.find(e);t.objectType!=v.Wall&&t.objectType!=v.Corner&&t.objectType!=v.Floor&&t.objectType!=v.Window&&t.objectType!=v.Door||i.forEach(e=>{t.parentId==e.id&&t.setEnabled(!0)})}this.isEnabled=!0,this.app.scene.blockfreeActiveMeshesAndRenderingGroups=!1}restVisualAngle(){this.visualAngle=p.getVisualAngle(this.instance.getBoundingInfo(),this.app)}}class R extends w{bind(e){this.id=e.id,this.name=e.name,this.parentId=e.parentId,this.modelId=e.baseModel.modelId,this.animation=!0,this.isAutoPlay=!0,this.isloop=!0,this.isVisible=!1,this.isMonitor=e.isMonitor,null!=e.isVisible&&(this.isVisible=e.isVisible),this.objectType=e.objectType;let t=new BABYLON.Mesh(this.id,this.app.scene),i=this.app.Resources.resources.find(this.modelId);i.meshes[0].getChildMeshes().forEach(e=>{e=e.createInstance(this.id);e.isPickable=!1,e.enablePointerMoveEvents=!1,e.parent=t}),t.rotation=N.Tools.ToVector3(e.rotation),t.position=N.Tools.ToVector3(e.position),t.scaling=N.Tools.ToVector3(e.scaling);e=N.Tools.computeBounds(t);t.setBoundingInfo(e),this.instance=t,this.alwaysActive(),this.optimization(!0),this.instance.setEnabled(!1),this.computeView(),this.isAutoPlay&&this.play()}computeView(){this.visualAngle=new A;var e=this.instance.getBoundingInfo(),t=N.Tools.getVisualAngle(e,this.app);this.visualAngle.alpha=t.alpha,this.visualAngle.beta=t.beta,this.visualAngle.focus=this.instance.getAbsolutePosition(),this.visualAngle.radius=e.boundingSphere.radiusWorld+3,this.visualAngle.minimumLimit=.3,this.visualAngle.maximumLimit=2*this.visualAngle.radius,this.visualAngle.minBeta=.01,this.visualAngle.maxBeta=Math.PI/2*.98}setFlash(e){}setTransparent(e){this.app.scene.blockfreeActiveMeshesAndRenderingGroups=!0,this.setEnabled(!1),this.app.scene.blockfreeActiveMeshesAndRenderingGroups=!1}setOpaque(){this.app.scene.blockfreeActiveMeshesAndRenderingGroups=!0,this.setEnabled(!0),this.app.scene.blockfreeActiveMeshesAndRenderingGroups=!1}play(){}stop(){}}class V extends w{constructor(e,t){super(e),this.height=0,this.id=t.id,this.objectType=t.objectType,this.name=t.name,this.parentId=t.parentId,this.height=t.height,this.objectType==v.ParkModel&&(this.height=0),this.index=t.index}bind(n,e=0){let t=!1;for(let e=0;e<n.length;e++){var i=n[e];if(i.objectType==v.optimizedWall){t=!0;let e=new Y(this.app);e.bind(i),e.instance&&this.app.project.objectDatas.add(e.id,e)}}let a=new Array;for(let t=0;t<n.length;t++){let e=n[t];e.objectType==v.Wall&&(e.height||(e.height=3.1),e.ply||(e.ply=.09),a.push(e))}let r=new m;for(let e=0;e<n.length;e++){let i=n[e];i.objectType==v.Corner&&(r.add(i.id,i.corner),2<i.pints.length&&(i.height=3.1,i.walls.forEach(t=>{a.forEach(e=>{t==e.id&&parseFloat(e.height)<i.height&&(i.height=parseFloat(e.height))})})))}if(!t){let t=new Array;for(let e=0;e<n.length;e++){var s=n[e];s.objectType==v.Corner&&t.push(s)}let e=new j(this.app);e.height=this.height,e.bind(t)?(e.parentId=this.id,this.app.project.objectDatas.add(e.id,e)):e=null}for(let i=0;i<n.length;i++){let s=n[i];if(s.objectType==v.Floor){s.vectors=new Array;let e=n[i],t=(e.pints.forEach(e=>{r.find(e)||console.log(e),s.vectors.push(r.find(e))}),s.buckles=new Array,e.holes&&e.holes.forEach(e=>{let t=new Array;e.forEach(e=>t.push(r.find(e))),s.buckles.push(t)}),e.middles&&e.middles.forEach(t=>{let i=Array();for(let e=0;e<n.length;e++)n[e].id==t&&n[e].pints.forEach(e=>{e=r.find(e);i.push(new BABYLON.Vector3(e.x,0,e.z))});s.buckles.push(i)}),new E(this.app));t.height=this.height,t.bind(s),this.app.project.objectDatas.add(t.id,t)}}r=null;for(let t=0;t<n.length;t++){var o=n[t];let e;if(o.objectType==v.Window)e=new M(this.app);else if(o.objectType==v.Door)e=new T(this.app);else if(o.objectType==v.Cabinet)e=new _(this.app);else if(o.objectType==v.LeakWater)e=new k(this.app);else if(o.objectType==v.VirtualBox)e=new O(this.app);else if(o.objectType==v.UI3D)e=new C(this.app);else if(o.objectType==v.Conduit)e=new L(this.app);else if(o.objectType==v.Building)e=new S(this.app);else{if(o.objectType==v.Wall||o.objectType==v.optimizedWall)continue;if(o.objectType==v.Corner)continue;if(o.objectType==v.Floor)continue;e=new(o.objectType==v.AirFlow?R:w)(this.app)}e.bind(o),this.app.project.objectDatas.add(e.id,e)}if(!t){let r=new m;r.add("body",{t:"",walls:new Array});for(let n=0;n<a.length;n++){let s=BABYLON.MeshBuilder.ExtrudePolygon(a[n].id,{shape:[N.Tools.ToVector3(a[n].wtop),N.Tools.ToVector3(a[n].wleft),N.Tools.ToVector3(a[n].wbottom),N.Tools.ToVector3(a[n].wright)],depth:parseFloat(a[n].height),sideOrientation:BABYLON.Mesh.FRONTSIDE},this.app.scene);s.setEnabled(!1),s.position.y=parseFloat(a[n].height),s.subMeshes=[];var c=s.getTotalVertices();s.subMeshes.push(new BABYLON.SubMesh(0,0,c,0,6,s)),s.subMeshes.push(new BABYLON.SubMesh(0,1,c,18,6,s)),s.subMeshes.push(new BABYLON.SubMesh(0,2,c,30,6,s));for(let i=0;i<a[n].wallwindows.length;i++){const d=BABYLON.CSG.FromMesh(s);let e=this.app.project.objectDatas.find(a[n].wallwindows[i]);var h=e.instance.getBoundingInfo(),l=BABYLON.MeshBuilder.CreateBox((new Date).getTime().toString(),{height:h.maximum.y-h.minimum.y,width:h.maximum.x-h.minimum.x,depth:2*parseFloat(a[n].ply)+.1},this.app.scene),h=(l.position=e.instance.position.clone(),l.position.y=(h.maximum.y-h.minimum.y)/2+e.height,l.rotation=e.instance.rotation.clone(),BABYLON.CSG.FromMesh(l));let t=d.subtract(h);l.dispose(),s.dispose(),(s=t.toMesh(a[n].id,null,this.app.scene,!0)).setEnabled(!1)}let t=r.find(a[n].leftMap.modelId),i=(t||(t={t:a[n].leftMap,walls:new Array},r.add(a[n].leftMap.modelId,t)),r.find(a[n].rightMap.modelId));i||(i={t:a[n].rightMap,walls:new Array},r.add(a[n].rightMap.modelId,i));var p=N.Tools.DeconsTructMesh(s,parseFloat(a[n].height),this.app);for(let e=0;e<p.length;e++)(2==e||3==e?t:4==e||5==e?i:r.find("body")).walls.push(p[e])}for(const u in r.map)if(0<r.find(u).walls.length){let e=new x(this.app);e.parentId=this.id,e.height=this.height,e.bind(r.find(u)),this.app.project.objectDatas.add(e.id,e)}}a=null,this.computeView()}computeView(){this.visualAngle=new A;var e=this.getBounding(),e=N.Tools.getVisualAngle(e,this.app);this.visualAngle.alpha=e.alpha,this.visualAngle.beta=e.beta,this.visualAngle.focus=e.focus,this.visualAngle.radius=e.radius,this.visualAngle.focus.y=this.height}flyTo(){this.app.camera.flyTo(this.visualAngle,500)}focus(){this.app.scene.blockfreeActiveMeshesAndRenderingGroups=!0;for(const t in this.app.project.objectDatas.map){let e=this.app.project.objectDatas.find(t);e.parentId==this.id?e.setEnabled(e.isVisible):e.setEnabled(!1)}this.isEnabled=!0,(this.app.project.current=this).app.scene.blockfreeActiveMeshesAndRenderingGroups=!1}setEnabled(e){}getBounding(){var i,s;for(const e in this.app.project.objectDatas.map){let t=this.app.project.objectDatas.find(e);if(t.objectType!=v.ParkModel&&t.objectType!=v.Storey&&t.parentId==this.id){let e=t.instance.getBoundingInfo();i&&s||(i=s=e.boundingBox.center.clone()),i=BABYLON.Vector3.Minimize(i,e.minimum.add(t.instance.position)),s=BABYLON.Vector3.Maximize(s,e.maximum.add(t.instance.position))}}return i&&s||(i=BABYLON.Vector3.Zero(),s=new BABYLON.Vector3(12,this.height,8)),new BABYLON.BoundingInfo(i,s)}dispose(){}}class F extends w{constructor(e,t){super(e),this.height=0,this.id=t.id,this.objectType=t.objectType,this.name=t.name,this.parentId=t.parentId,this.height=t.height,this.objectType==v.ParkModel&&(this.height=0),this.index=t.index}bind(n,i=!1){let r=new Array;for(let t=0;t<n.length;t++){let e=n[t];e.objectType==v.Wall&&(e.height||(e.height=3.1),e.ply||(e.ply=.09),r.push(e))}let a=new m;for(let e=0;e<n.length;e++){let i=n[e];i.objectType==v.Corner&&(a.add(i.id,i.corner),2<i.pints.length&&(i.height=3.1,i.walls.forEach(t=>{r.forEach(e=>{t==e.id&&parseFloat(e.height)<i.height&&(i.height=parseFloat(e.height))})})))}let t=new Array;for(let e=0;e<n.length;e++){var s=n[e];s.objectType==v.Corner&&t.push(s)}let e=new j(this.app);if(e.height=this.height,e.bind(t)?(e.parentId=this.id,this.app.project.objectDatas.add(e.id,e)):e=null,!i)for(let i=0;i<n.length;i++){let s=n[i];if(s.objectType==v.Floor){s.vectors=new Array;let e=n[i],t=(e.pints.forEach(e=>{a.find(e)||console.log(e),s.vectors.push(a.find(e))}),s.buckles=new Array,e.holes&&e.holes.forEach(e=>{let t=new Array;e.forEach(e=>t.push(a.find(e))),s.buckles.push(t)}),e.middles&&e.middles.forEach(t=>{let i=Array();for(let e=0;e<n.length;e++)n[e].id==t&&n[e].pints.forEach(e=>{e=a.find(e);i.push(new BABYLON.Vector3(e.x,0,e.z))});s.buckles.push(i)}),new E(this.app));t.height=this.height,t.bind(s),this.app.project.objectDatas.add(t.id,t)}}a=null;for(let t=0;t<n.length;t++){var o=n[t];let e;if(o.objectType==v.Window)e=new M(this.app);else if(o.objectType==v.Door)e=new T(this.app);else if(o.objectType!=v.Cabinet||i)if(o.objectType!=v.LeakWater||i)if(o.objectType!=v.VirtualBox||i)if(o.objectType!=v.UI3D||i)if(o.objectType!=v.Conduit||i)if(o.objectType!=v.Building||i){if(o.objectType==v.Wall)continue;if(o.objectType==v.Corner)continue;if(o.objectType==v.Floor)continue;if(i)continue;e=new w(this.app)}else e=new S(this.app);else e=new L(this.app);else e=new C(this.app);else e=new O(this.app);else e=new k(this.app);else e=new _(this.app);e.bind(o),this.app.project.objectDatas.add(e.id,e)}let c=new m;c.add("body",{t:"",walls:new Array});for(let n=0;n<r.length;n++){let s=BABYLON.MeshBuilder.ExtrudePolygon(r[n].id,{shape:[N.Tools.ToVector3(r[n].wtop),N.Tools.ToVector3(r[n].wleft),N.Tools.ToVector3(r[n].wbottom),N.Tools.ToVector3(r[n].wright)],depth:parseFloat(r[n].height),sideOrientation:BABYLON.Mesh.FRONTSIDE},this.app.scene);s.setEnabled(!1),s.position.y=parseFloat(r[n].height),s.subMeshes=[];var h=s.getTotalVertices();s.subMeshes.push(new BABYLON.SubMesh(0,0,h,0,6,s)),s.subMeshes.push(new BABYLON.SubMesh(0,1,h,18,6,s)),s.subMeshes.push(new BABYLON.SubMesh(0,2,h,30,6,s));for(let i=0;i<r[n].wallwindows.length;i++){const u=BABYLON.CSG.FromMesh(s);let e=this.app.project.objectDatas.find(r[n].wallwindows[i]);var l=e.instance.getBoundingInfo(),p=BABYLON.MeshBuilder.CreateBox((new Date).getTime().toString(),{height:l.maximum.y-l.minimum.y,width:l.maximum.x-l.minimum.x,depth:2*parseFloat(r[n].ply)+.1},this.app.scene),l=(p.position=e.instance.position.clone(),p.position.y=(l.maximum.y-l.minimum.y)/2+e.height,p.rotation=e.instance.rotation.clone(),BABYLON.CSG.FromMesh(p));let t=u.subtract(l);p.dispose(),s.dispose(),(s=t.toMesh(r[n].id,null,this.app.scene,!0)).setEnabled(!1)}let t=c.find(r[n].leftMap.modelId),i=(t||(t={t:r[n].leftMap,walls:new Array},c.add(r[n].leftMap.modelId,t)),c.find(r[n].rightMap.modelId));i||(i={t:r[n].rightMap,walls:new Array},c.add(r[n].rightMap.modelId,i));var d=N.Tools.DeconsTructMesh(s,parseFloat(r[n].height),this.app);for(let e=0;e<d.length;e++)(2==e||3==e?t:4==e||5==e?i:c.find("body")).walls.push(d[e])}for(const f in c.map)if(0<c.find(f).walls.length){let e=new x(this.app);e.parentId=this.id,e.height=this.height,e.bind(c.find(f)),this.app.project.objectDatas.add(e.id,e)}r=null,this.restVisualAngle()}focus(){this.app.scene.blockfreeActiveMeshesAndRenderingGroups=!0;for(const t in this.app.project.objectDatas.map){let e=this.app.project.objectDatas.find(t);e.parentId==this.id?e.setEnabled(!0):e.setEnabled(!1)}this.isEnabled=!0,this.app.scene.blockfreeActiveMeshesAndRenderingGroups=!1}setEnabled(e){}restVisualAngle(){var i,s;for(const e in this.app.project.objectDatas.map){let t=this.app.project.objectDatas.find(e);if(t.objectType!=v.ParkModel&&t.objectType!=v.Storey&&t.parentId==this.id){let e=t.instance.getBoundingInfo();i&&s||(i=s=e.boundingBox.center.clone()),i=BABYLON.Vector3.Minimize(i,e.minimum.add(t.instance.position)),s=BABYLON.Vector3.Maximize(s,e.maximum.add(t.instance.position))}}i&&s||(i=BABYLON.Vector3.Zero(),s=new BABYLON.Vector3(12,this.height,8)),this.visualAngle=p.getVisualAngle(new BABYLON.BoundingInfo(i,s),this.app),this.visualAngle.focus.y=this.height}}var I=t(3);class H{constructor(e,t){this.isOK=!1,this.app=t,this.ele=document.createElement("div"),this.ele.style.cssText="position: absolute;z-index:999999999; font-size: 10px;color: rgb(211, 211, 211);text-shadow:rgba(0, 0, 0, 0.2) 1px 1px 0; padding: 5px 8px;",e.appendChild(this.ele),this.close(),setInterval(()=>{var e;1e3<(new Date).getTime()-this.time&&this.isOK&&!this.text&&((e=this.app.project.objectDatas.find(this.id))&&(this.text=e.name))},100)}set text(e){this._text=e,(this.ele.innerText=e)&&(this.ele.style.display=null)}update(e){e.pickInfo.pickedMesh?e.pickInfo.pickedMesh.id!=this.id?(this.close(),this.id=e.pickInfo.pickedMesh.id,this.time=(new Date).getTime()):this.isOK=!0:this.close(),this.ele.style.top=e.event.offsetY+"px",this.ele.style.left=e.event.offsetX+20+"px"}close(){this.isOK=!1,this.time=(new Date).getTime(),this.ele.style.display="none",this.text=""}setBackground(e){this.url=e,this.ele.style.background="url("+this.url+") no-repeat",this.ele.style.backgroundSize="cover"}}var i={App:class{constructor(e,t){this.index=0,this.highQualityMode=!1;e=I.SceneLoader.create(e);this.canvas=e.canvas,this.engine=e.engine,this.scene=e.scene,this.rootUrl=t||"http://models.wodashijie.com/",this.Resources=new D(this),this.camera=new s(this),this.highlightLayer=new BABYLON.HighlightLayer("highlightLayer",this.scene),this.container=BABYLON.GUI.AdvancedDynamicTexture.CreateFullscreenUI("screenUI"),this.Environment=new u(this),this.project=new P(this),N.EffectMgr=new B,this.engine.runRenderLoop(()=>{this.fps&&(this.fps.innerText=this.engine.getFps().toFixed()+" fps"),this.scene.render(),d.a.update()}),window.addEventListener("resize",()=>{this.engine.resize()}),this.scene.onPointerObservable.add(e=>{switch(e.type){case BABYLON.PointerEventTypes.POINTERMOVE:if(!this.tipsTool)return;e.pickInfo&&e.pickInfo.pickedPoint?this.tipsTool.update(e):this.tipsTool.close();break;case BABYLON.PointerEventTypes.POINTERWHEEL:var t;this.camera.isOverLook?this.camera._wheel(e.event):(t=1e3/(this.camera.camera.radius/20),this.camera.camera.panningSensibility=2e3<t?2e3:t<10?10:t)}}),this.scene.onKeyboardObservable.add(e=>{e.type===BABYLON.KeyboardEventTypes.KEYDOWN&&70===e.event.keyCode&&prompt("请复制输入框内的视角参数",JSON.stringify({alpha:this.camera.camera.alpha,focus:p.vector3ToJson(this.camera.camera.target),radius:this.camera.camera.radius,beta:this.camera.camera.beta}))})}create(f){return this.highQualityMode=f.highQualityMode,this.highQualityMode&&(this.Glow=new BABYLON.GlowLayer("glow",this.scene),this.Glow.addIncludedOnlyMesh(this.Resources.BOX)),f.libraryUrl&&(this.Resources.resourcePath=f.libraryUrl),new Promise(async(n,t)=>{try{var r=await class{static read(s,n){return new Promise(function(e,t){let i=new XMLHttpRequest;i.open(s,n),i.onload=function(){200<=this.status&&this.status<300?e(i.response):t({status:this.status,statusText:i.statusText})},i.onerror=function(){t({status:this.status,statusText:i.statusText})},i.send()})}}.read("GET",f.fileUrl),a=JSON.parse(b.de(r));this.project.id=a.id,this.Environment.color="#7A7A7A"==a.environmentSettings.backColor?new BABYLON.Color4(0,.0588,.1176,1):new BABYLON.Color4(...BABYLON.Color3.FromHexString(a.environmentSettings.backColor).asArray(),1),this.Environment.fogDistance=a.environmentSettings.fogDensity,this.Environment.setFlexIntensity(a.environmentSettings.reflexIntensity),this.Environment.setReflexEnabled(a.environmentSettings.reflexEnabled),this.Environment.loadLight(a.environmentSettings.lights),this.scene.blockfreeActiveMeshesAndRenderingGroups=!0,a.isOptimized&&await this.Resources.GetWalls(f.fileUrl.replace(a.id+".json",""),a.id);let t=new m;for(let e=0;e<a.scenes.length;e++){const p=a.scenes[e];!p.baseModel||".gltf"!=p.baseModel.extension||t.find(p.baseModel.modelId)||this.Resources.resources.find(p.baseModel.modelId)||(p.baseModel.objectType=p.objectType,t.add(p.baseModel.modelId,p.baseModel))}let e=0;for(const d in t.map)await this.Resources.loadModelMesh(t.find(d)),e++,f.progress&&f.progress(e/t.count()*.8);e=0,t=null;let i=new m,s=new m;for(let e=0;e<a.scenes.length;e++){var o,c=a.scenes[e];c.objectType==v.Storey||c.objectType==v.ParkModel?(o=new V(this,c),this.project.objectDatas.add(o.id,o),i.add(o.id,o),s.add(o.id,new Array),c.objectType==v.ParkModel&&(this.project.root=o)):c.objectType==v.Floor&&i.add(c.id,c)}for(let e=0;e<a.scenes.length;e++){var h,l=a.scenes[e];l.objectType!=v.Storey&&l.objectType!=v.ParkModel&&((h=i.find(l.parentId)).objectType==v.Floor?s.find(h.parentId):s.find(l.parentId)).push(l)}for(const u in s.map)await this.project.objectDatas.find(u).bind(s.find(u)),e++,f.progress&&f.progress(.8+e/a.scenes.length*.2);i=null,s=null,this.project.optimization(),this.scene.blockfreeActiveMeshesAndRenderingGroups=!1,n(null),this.engine.resize(),f.complete&&f.complete()}catch(e){t(e)}})}optimized(g){return g.libraryUrl&&(this.Resources.resourcePath=g.libraryUrl),new Promise(async(r,t)=>{try{let i=JSON.parse(b.de(g.file)),t=(this.project.id=i.id,this.Environment.color="#7A7A7A"==i.environmentSettings.backColor?new BABYLON.Color4(0,.0588,.1176,1):new BABYLON.Color4(...BABYLON.Color3.FromHexString(i.environmentSettings.backColor).asArray(),1),this.Environment.fogDistance=i.environmentSettings.fogDensity,this.Environment.setFlexIntensity(i.environmentSettings.reflexIntensity),this.Environment.setReflexEnabled(i.environmentSettings.reflexEnabled),this.Environment.loadLight(i.environmentSettings.lights),this.scene.blockfreeActiveMeshesAndRenderingGroups=!0,new m);for(let e=0;e<i.scenes.length;e++){const p=i.scenes[e];g._isOptimized&&"Window"!=p.objectType&&"Door"!=p.objectType||!p.baseModel||".gltf"!=p.baseModel.extension||t.find(p.baseModel.modelId)||this.Resources.resources.find(p.baseModel.modelId)||(p.baseModel.objectType=p.objectType,t.add(p.baseModel.modelId,p.baseModel))}let e=0;for(const d in t.map)await this.Resources.loadModelMesh(t.find(d)),e++,g.progress&&g.progress(e/t.count()*.8);e=0,t=null;let s=new m,n=new m;for(let e=0;e<i.scenes.length;e++){var a,o=i.scenes[e];o.objectType==v.Storey||o.objectType==v.ParkModel?(a=new F(this,o),this.project.objectDatas.add(a.id,a),s.add(a.id,a),n.add(a.id,new Array),o.objectType==v.ParkModel&&(this.project.root=a)):o.objectType==v.Floor&&s.add(o.id,o)}for(let e=0;e<i.scenes.length;e++){var c,h=i.scenes[e];h.objectType!=v.Storey&&h.objectType!=v.ParkModel&&((c=s.find(h.parentId)).objectType==v.Floor?n.find(c.parentId):n.find(h.parentId)).push(h)}for(const u in n.map)await this.project.objectDatas.find(u).bind(n.find(u),g._isOptimized),e++,g.progress&&g.progress(.8+e/i.scenes.length*.2);if(s=null,n=null,this.project.optimization(),this.scene.blockfreeActiveMeshesAndRenderingGroups=!1,g._isOptimized){let t=[];for(const f in this.project.objectDatas.map){var l=this.project.objectDatas.find(f);l.objectType!=v.Wall&&l.objectType!=v.Corner||t.push({id:l.id,parentId:l.parentId,objectType:"optimizedWall",baseModel:l.baseModel})}for(let e=0;e<i.scenes.length;e++)i.scenes[e].objectType!=v.Wall&&t.push(i.scenes[e]);i.isOptimized=!0,i.scenes=t}r(JSON.stringify(i)),g.complete&&g.complete()}catch(e){t(e)}})}outGltf(t){this.Resources.delete(!0);for(const i in this.project.objectDatas.map){let e=this.project.objectDatas.find(i);e.objectType!=v.Wall&&e.objectType!=v.Corner?(e.instance&&e.instance.dispose(),this.project.objectDatas.remove(i)):e.instance.material=null}return BABYLON.GLTF2Export.GLTFAsync(this.scene,this.project.id,{shouldExportNode:e=>{e=this.project.objectDatas.find(e.id);return e&&(e.objectType==v.Wall||e.objectType==v.Corner)}}).then(e=>{e.downloadFiles(),t&&t()})}showTips(){this.tipsTool=new H(this.canvas.parentElement,this)}showFps(e="position: absolute;left: 5px;bottom: 5px;z-index:999999999; font-size: 10px;color: rgb(0, 255, 0);text-shadow:rgba(0, 0, 0, 0.2) 1px 1px 0;"){this.fps||(this.fps=document.createElement("div"),this.canvas.parentElement.appendChild(this.fps)),this.fps.style.cssText=e}showMonitoringParameters(){var e=new BABYLON.EngineInstrumentation(this.engine);e.captureGPUFrameTime=!0,e.captureShaderCompilationTime=!0;let t=document.createElement("div"),i=(t.style.cssText="position: absolute;left: 5px;top: 5px;z-index:999999999;font-size: 10px;color: rgb(0, 255, 0);",this.canvas.parentElement.appendChild(t),document.createElement("div")),s=(i.style.cssText="position: absolute;left: 5px;top: 25px;z-index:999999999;font-size: 10px;color: rgb(0, 255, 0);",this.canvas.parentElement.appendChild(i),document.createElement("div")),n=(s.style.cssText="position: absolute;left: 5px;top: 45px;z-index:999999999;font-size: 10px;color: rgb(0, 255, 0);",this.canvas.parentElement.appendChild(s),document.createElement("div")),r=(n.style.cssText="position: absolute;left: 5px;top: 65px;z-index:999999999;font-size: 10px;color: rgb(0, 255, 0);",this.canvas.parentElement.appendChild(n),document.createElement("div"));r.style.cssText="position: absolute;left: 5px;top: 85px;z-index:999999999;font-size: 10px;color: rgb(0, 255, 0);",this.canvas.parentElement.appendChild(r),this.scene.registerBeforeRender(()=>{t.innerText="current frame time (GPU): "+(1e-6*e.gpuFrameTimeCounter.current).toFixed(2)+"ms",i.innerText="average frame time (GPU): "+(1e-6*e.gpuFrameTimeCounter.average).toFixed(2)+"ms",s.innerText="total shader compilation time: "+e.shaderCompilationTimeCounter.total.toFixed(2)+"ms",n.innerText="average shader compilation time: "+e.shaderCompilationTimeCounter.average.toFixed(2)+"ms",r.innerText="compiler shaders count: "+e.shaderCompilationTimeCounter.count})}hideFps(){this.fps&&this.canvas.parentElement.removeChild(this.fps),this.fps=null}dispose(){this.fps&&this.canvas.parentElement.removeChild(this.fps),this.fps=null,this.project.delete(),this.Resources.delete(),this.engine.dispose()}showDebug(){this.scene.debugLayer.show()}},Tools:p,UI:class{static createIconFromMesh(e,t,i,s,n){let r=t.visualAngle.focus.clone();var a=t.instance.getBoundingInfo(),a=(r.y+=(a.boundingBox.maximum.y-a.boundingBox.minimum.y)/2,new I.IconFromMesh(e,r,i,s,n,t.app.scene));return a}static createIcon(e,t,i,s){let n;t.app.scene.blockfreeActiveMeshesAndRenderingGroups=!0,(n=new I.Icon(e,t.app.scene)).size=i,n.height=s,n.pint=new BABYLON.Mesh(e+"_pint");e=t.visualAngle.focus.clone();return n.pint.position=e,n.pint.position.y+=s,n.rect=new BABYLON.GUI.Rectangle,n.rect.isPointerBlocker=!1,n.rect.width=i.width+"px",n.rect.height=i.height+"px",n.rect.thickness=0,t.app.container.addControl(n.rect),n.rect.linkWithMesh(n.pint),t.app.scene.blockfreeActiveMeshesAndRenderingGroups=!1,n}},ObjectType:v,EffectMgr:void 0,EffectType:g,EventType:f,EffectControls:class{static createCapacity(e,t,i,s="200px"){return I.Builder.createCapacity(e,t,i,s)}static createMatrixHeatMap(e,t){if(e.objectType==v.Floor)return I.Builder.createMatrixHeatMap({anchor:e.instance,rootUrl:e.app.rootUrl,FogTex:e.app.Resources.FogTex,container:e.app.container,config:t.config,displayValues:t.displayValues,height:t.height,isAlpha:t.isAlpha,isLevelRender:t.isLevelRender,isParticle:t.isParticle,radius:t.radius,range:t.range});console.error("矩阵云图对象必须为房间!")}static createColumnarHeatMap(e,t){return I.Builder.createColumnarHeatMap({anchor:e.instance,FogTex:e.app.Resources.FogTex,container:e.app.container,config:t.config,displayValues:t.displayValues,isAlpha:t.isAlpha,isLevelRender:t.isLevelRender,isParticle:t.isParticle,radius:t.radius,range:t.range})}},Dictionary:m},N=e.default=i}],p={},h.m=l,h.c=p,h.d=function(e,t,i){h.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:i})},h.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},h.t=function(t,e){if(1&e&&(t=h(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var i=Object.create(null);if(h.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var s in t)h.d(i,s,function(e){return t[e]}.bind(null,s));return i},h.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return h.d(t,"a",t),t},h.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},h.p="",h(h.s=44).default;function h(e){if(p[e])return p[e].exports;var t=p[e]={i:e,l:!1,exports:{}};return l[e].call(t.exports,t,t.exports,h),t.l=!0,t.exports}var l,p});