@vctrl/hooks 0.11.1 → 0.17.0

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.
Files changed (76) hide show
  1. package/CHANGELOG.md +184 -0
  2. package/GLTFLoader-CygFefRr.cjs +1 -0
  3. package/GLTFLoader-NiJ7qzh1.js +1381 -0
  4. package/README.md +0 -20
  5. package/__vite-browser-external-Bn_csQuM.js +7 -0
  6. package/__vite-browser-external-CVmj8TrW.cjs +1 -0
  7. package/chunk-foFoljWS.js +23 -0
  8. package/chunk-gGpyby2o.cjs +1 -0
  9. package/index.cjs.js +1 -0
  10. package/index.d.ts +5 -0
  11. package/index.es.js +4 -0
  12. package/lib-DKn2MJ9X.js +4111 -0
  13. package/lib-DZ-MihdJ.cjs +2 -0
  14. package/model-exporter-SMSAY90N.cjs +1 -0
  15. package/model-exporter-cvguDGnn.js +6512 -0
  16. package/package.json +4 -4
  17. package/server-communication-Bj6ZxFw2.js +4659 -0
  18. package/server-communication-yXZR8eso.cjs +18 -0
  19. package/use-export-model/use-export-model.d.ts +14 -0
  20. package/use-export-model-CaijtW1c.cjs +1 -0
  21. package/use-export-model-DzVKdqnY.js +49 -0
  22. package/use-export-model.cjs.js +1 -0
  23. package/use-export-model.es.js +2 -0
  24. package/use-load-model/event-system.d.ts +7 -0
  25. package/use-load-model/index.d.ts +4 -0
  26. package/use-load-model/state.d.ts +19 -0
  27. package/use-load-model/types.d.ts +231 -0
  28. package/use-load-model/use-load-model.d.ts +30 -0
  29. package/use-load-model/utils/calculate-referenced-bytes.d.ts +8 -0
  30. package/use-load-model/utils/index.d.ts +4 -0
  31. package/use-load-model/utils/read-directory.d.ts +8 -0
  32. package/use-load-model/utils/reconstruct-files.d.ts +29 -0
  33. package/use-load-model/utils/resolve-scene-payload.d.ts +6 -0
  34. package/use-load-model-B6UXiFWh.js +517 -0
  35. package/use-load-model-CH-WPQ_s.cjs +1 -0
  36. package/use-load-model.cjs.js +1 -0
  37. package/use-load-model.es.js +18 -0
  38. package/{src/use-optimize-model/index.ts → use-optimize-model/index.d.ts} +2 -2
  39. package/use-optimize-model/state.d.ts +13 -0
  40. package/use-optimize-model/types.d.ts +39 -0
  41. package/use-optimize-model/use-calc-optimization-info.d.ts +6 -0
  42. package/use-optimize-model/use-optimize-model.d.ts +119 -0
  43. package/use-optimize-model/utils/index.d.ts +2 -0
  44. package/use-optimize-model/utils/texture-optimization.d.ts +17 -0
  45. package/use-optimize-model/utils/validation.d.ts +8 -0
  46. package/use-optimize-model-C-fzzKh6.cjs +1 -0
  47. package/use-optimize-model-Cb3WMvDZ.js +299 -0
  48. package/use-optimize-model.cjs.js +1 -0
  49. package/use-optimize-model.es.js +2 -0
  50. package/utils/server-communication.d.ts +122 -0
  51. package/project.json +0 -55
  52. package/src/index.ts +0 -38
  53. package/src/use-export-model/use-export-model.ts +0 -113
  54. package/src/use-load-model/event-system.ts +0 -46
  55. package/src/use-load-model/index.ts +0 -15
  56. package/src/use-load-model/model-context.tsx +0 -174
  57. package/src/use-load-model/state.ts +0 -75
  58. package/src/use-load-model/types.ts +0 -284
  59. package/src/use-load-model/use-load-model.ts +0 -682
  60. package/src/use-load-model/utils/calculate-referenced-bytes.ts +0 -123
  61. package/src/use-load-model/utils/index.ts +0 -7
  62. package/src/use-load-model/utils/read-directory.ts +0 -35
  63. package/src/use-load-model/utils/reconstruct-files.ts +0 -85
  64. package/src/use-load-model/utils/resolve-scene-payload.ts +0 -151
  65. package/src/use-optimize-model/state.ts +0 -40
  66. package/src/use-optimize-model/types.ts +0 -37
  67. package/src/use-optimize-model/use-calc-optimization-info.ts +0 -97
  68. package/src/use-optimize-model/use-optimize-model.ts +0 -467
  69. package/src/use-optimize-model/utils/index.ts +0 -29
  70. package/src/use-optimize-model/utils/texture-optimization.ts +0 -292
  71. package/src/use-optimize-model/utils/validation.ts +0 -62
  72. package/src/utils/server-communication.ts +0 -351
  73. package/tsconfig.json +0 -21
  74. package/tsconfig.lib.json +0 -16
  75. package/vite.config.ts +0 -77
  76. /package/{src/use-export-model/index.ts → use-export-model/index.d.ts} +0 -0
@@ -0,0 +1,18 @@
1
+ const e=require(`./chunk-gGpyby2o.cjs`),t=require(`./model-exporter-SMSAY90N.cjs`);var n=function(e){return e.gltf=`gltf`,e.glb=`glb`,e.usdz=`usdz`,e}({}),r=class{constructor(){this.io=new t.T().registerExtensions(t.r)}onProgress(e){this.progressCallback=e}async loadFromFile(e){return typeof e==`string`?this.loadFromFilePath(e):this.loadFromFileObject(e)}async loadFromFilePath(t){let n=Date.now();this.emitProgress(`Loading model from file`,0,t);try{let r=await Promise.resolve().then(()=>require(`./__vite-browser-external-CVmj8TrW.cjs`)).then(t=>e.a(t.t(),1)),i=await Promise.resolve().then(()=>require(`./__vite-browser-external-CVmj8TrW.cjs`)).then(t=>e.a(t.t(),1)),a=await r.readFile(t),o=i.basename(t),s=this.getFileType(o);this.emitProgress(`Parsing model data`,50);let c=await this.io.readBinary(new Uint8Array(a)),l=Date.now()-n;return this.emitProgress(`Model loaded successfully`,100),{data:c,type:s,size:a.byteLength,name:o,loadTime:l}}catch(e){throw Error(`Failed to load model from file ${t}: ${e}`,{cause:e})}}async loadFromFileObject(e){let t=Date.now();this.emitProgress(`Loading model from File object`,0,e.name);try{let n=this.getFileType(e.name),r=await e.arrayBuffer();this.emitProgress(`Parsing model data`,50);let i=await this.io.readBinary(new Uint8Array(r)),a=Date.now()-t;return this.emitProgress(`Model loaded successfully`,100),{data:i,type:n,size:r.byteLength,name:e.name,loadTime:a}}catch(e){throw Error(`Failed to load model from File object: ${e}`,{cause:e})}}async loadFromBuffer(e,t){let n=Date.now();this.emitProgress(`Loading model from buffer`,0);try{let r=this.getFileType(t);this.emitProgress(`Parsing model data`,50);let i=await this.io.readBinary(e),a=Date.now()-n;return this.emitProgress(`Model loaded successfully`,100),{data:i,type:r,size:e.byteLength,name:t,loadTime:a}}catch(e){throw Error(`Failed to load model from buffer: ${e}`,{cause:e})}}async loadGLTFWithAssets(e,t,r,i=!1){let a=Date.now();i||this.emitProgress(`Loading GLTF with assets`,0);try{let o=JSON.parse(new TextDecoder().decode(e)),s=i?50:0,c=i?.5:1;if(this.emitProgress(`Processing assets`,s+25*c),o.images){let e=[];if(o.images.forEach((n,r)=>{if(n.uri){if(n.uri.startsWith(`data:`))return;let i=decodeURIComponent(n.uri),a=i.split(`/`).pop()||i;t.has(i)||t.has(a)||t.has(n.uri)||t.has(i.replace(/^\.\//,``))||t.has(a.replace(/^\.\//,``))||e.push(`Image ${r}: ${i}`)}else (typeof n.bufferView!=`number`||n.bufferView<0)&&e.push(`Image ${r}: (no URI or bufferView)`)}),e.length>0){let n=Array.from(t.keys()).join(`, `);throw Error(`Missing required image files:\n${e.join(`
2
+ `)}\n\nAvailable assets: ${n||`(none)`}`)}}let l=e=>e.startsWith(`data:`),u=new Map;u.set(`model.gltf`,e);let d=new Set;o.images&&o.images.forEach(e=>{e.uri&&!l(e.uri)&&(d.add(e.uri),d.add(decodeURIComponent(e.uri)))}),o.buffers&&o.buffers.forEach(e=>{e.uri&&!l(e.uri)&&(d.add(e.uri),d.add(decodeURIComponent(e.uri)))});for(let[e,n]of t.entries()){let t=e.split(`/`).pop()||e,r=decodeURIComponent(e),i=r.split(`/`).pop()||r,a=new Set([e,t,r,i,`./${t}`,`./${i}`]);for(let e of d){let r=e.split(`/`).pop()||e,o=decodeURIComponent(e),s=o.split(`/`).pop()||o;(a.has(e)||a.has(r)||a.has(o)||a.has(s)||e===t||e===i||r===t||r===i||o===t||o===i||s===t||s===i)&&(u.set(e,n),u.set(o,n))}u.set(e,n),u.set(t,n),r!==e&&u.set(r,n),i!==t&&u.set(i,n)}this.emitProgress(`Parsing model data`,s+75*c);let f=await this.io.readJSON({json:o,resources:u.entries().reduce((e,[t,n])=>(e[t]=n,e),{})}),p=e.byteLength+Array.from(t.values()).reduce((e,t)=>e+t.byteLength,0),m=Date.now()-a;return this.emitProgress(`Model loaded successfully`,100),{data:f,type:n.gltf,size:p,name:r,loadTime:m}}catch(e){throw Error(`Failed to load GLTF with assets: ${e}`,{cause:e})}}async loadGLTFWithFileAssets(e,t){this.emitProgress(`Loading GLTF with file assets`,0);try{this.emitProgress(`Reading files`,10);let n=new Uint8Array(await e.arrayBuffer()),r=new Map;for(let e of t){let t=new Uint8Array(await e.arrayBuffer());r.set(e.name,t);let n=e.name.split(`/`).pop()||e.name;n!==e.name&&r.set(n,t)}return this.emitProgress(`Processing GLTF with assets`,50),await this.loadGLTFWithAssets(n,r,e.name,!0)}catch(e){throw Error(`Failed to load GLTF with file assets: ${e}`,{cause:e})}}isSupportedFormat(e){try{return this.getFileType(e),!0}catch{return!1}}getSupportedExtensions(){return Object.values(n)}async documentToThreeJS(e,t){try{let n=await this.io.writeBinary(e),{GLTFLoader:r}=await Promise.resolve().then(()=>require(`./GLTFLoader-CygFefRr.cjs`));return new Promise((i,a)=>{new r().parse(n.buffer,``,n=>{i({scene:n.scene,document:e,type:t.type,size:t.size,name:t.name,loadTime:t.loadTime})},e=>{let t=`Failed to convert document to Three.js: ${e}`;e&&e.toString().includes(`missing URI and bufferView`)&&(t=`${t}\n\nThis error typically occurs when the GLTF file references external textures or resources that are missing. Please ensure all required asset files (images, textures, .bin files) are uploaded together with the .gltf file.`),a(Error(t))})})}catch(e){throw Error(`Failed to convert document to Three.js: ${e}`,{cause:e})}}async loadToThreeJS(e){let t=await this.loadFromFile(e);return this.documentToThreeJS(t.data,t)}async loadGLTFWithAssetsToThreeJS(e,t){let n=await this.loadGLTFWithFileAssets(e,t);return this.documentToThreeJS(n.data,n)}getFileType(e){let t=e.toLowerCase().split(`.`).pop();switch(t){case`gltf`:return n.gltf;case`glb`:return n.glb;case`usdz`:return n.usdz;default:throw Error(`Unsupported file type: ${t}`)}}emitProgress(e,t,n){this.progressCallback&&this.progressCallback({operation:e,progress:t,details:n})}},i=e.t(((e,t)=>{function n(e){for(var t=Array(e),n=0;n<e;++n)t[n]=n;return t}t.exports=n})),a=e.t(((e,t)=>{t.exports=function(e){return e!=null&&(n(e)||r(e)||!!e._isBuffer)};function n(e){return!!e.constructor&&typeof e.constructor.isBuffer==`function`&&e.constructor.isBuffer(e)}function r(e){return typeof e.readFloatLE==`function`&&typeof e.slice==`function`&&n(e.slice(0,0))}})),o=e.t(((e,t)=>{var n=i(),r=a(),o=typeof Float64Array<`u`;function s(e,t){return e[0]-t[0]}function c(){var e=this.stride,t=Array(e.length),n;for(n=0;n<t.length;++n)t[n]=[Math.abs(e[n]),n];t.sort(s);var r=Array(t.length);for(n=0;n<r.length;++n)r[n]=t[n][1];return r}function l(e,t){var r=[`View`,t,`d`,e].join(``);t<0&&(r=`View_Nil`+e);var i=e===`generic`;if(t===-1){var a=`function `+r+`(a){this.data=a;};var proto=`+r+`.prototype;proto.dtype='`+e+`';proto.index=function(){return -1};proto.size=0;proto.dimension=-1;proto.shape=proto.stride=proto.order=[];proto.lo=proto.hi=proto.transpose=proto.step=function(){return new `+r+`(this.data);};proto.get=proto.set=function(){};proto.pick=function(){return null};return function construct_`+r+`(a){return new `+r+`(a);}`,o=Function(a);return o()}else if(t===0){var a=`function `+r+`(a,d) {this.data = a;this.offset = d};var proto=`+r+`.prototype;proto.dtype='`+e+`';proto.index=function(){return this.offset};proto.dimension=0;proto.size=1;proto.shape=proto.stride=proto.order=[];proto.lo=proto.hi=proto.transpose=proto.step=function `+r+`_copy() {return new `+r+`(this.data,this.offset)};proto.pick=function `+r+`_pick(){return TrivialArray(this.data);};proto.valueOf=proto.get=function `+r+`_get(){return `+(i?`this.data.get(this.offset)`:`this.data[this.offset]`)+`};proto.set=function `+r+`_set(v){return `+(i?`this.data.set(this.offset,v)`:`this.data[this.offset]=v`)+`};return function construct_`+r+`(a,b,c,d){return new `+r+`(a,d)}`,o=Function(`TrivialArray`,a);return o(d[e][0])}var a=[`'use strict'`],s=n(t),l=s.map(function(e){return`i`+e}),u=`this.offset+`+s.map(function(e){return`this.stride[`+e+`]*i`+e}).join(`+`),f=s.map(function(e){return`b`+e}).join(`,`),p=s.map(function(e){return`c`+e}).join(`,`);a.push(`function `+r+`(a,`+f+`,`+p+`,d){this.data=a`,`this.shape=[`+f+`]`,`this.stride=[`+p+`]`,`this.offset=d|0}`,`var proto=`+r+`.prototype`,`proto.dtype='`+e+`'`,`proto.dimension=`+t),a.push(`Object.defineProperty(proto,'size',{get:function `+r+`_size(){return `+s.map(function(e){return`this.shape[`+e+`]`}).join(`*`),`}})`),t===1?a.push(`proto.order=[0]`):(a.push(`Object.defineProperty(proto,'order',{get:`),t<4?(a.push(`function `+r+`_order(){`),t===2?a.push(`return (Math.abs(this.stride[0])>Math.abs(this.stride[1]))?[1,0]:[0,1]}})`):t===3&&a.push(`var s0=Math.abs(this.stride[0]),s1=Math.abs(this.stride[1]),s2=Math.abs(this.stride[2]);if(s0>s1){if(s1>s2){return [2,1,0];}else if(s0>s2){return [1,2,0];}else{return [1,0,2];}}else if(s0>s2){return [2,0,1];}else if(s2>s1){return [0,1,2];}else{return [0,2,1];}}})`)):a.push(`ORDER})`)),a.push(`proto.set=function `+r+`_set(`+l.join(`,`)+`,v){`),i?a.push(`return this.data.set(`+u+`,v)}`):a.push(`return this.data[`+u+`]=v}`),a.push(`proto.get=function `+r+`_get(`+l.join(`,`)+`){`),i?a.push(`return this.data.get(`+u+`)}`):a.push(`return this.data[`+u+`]}`),a.push(`proto.index=function `+r+`_index(`,l.join(),`){return `+u+`}`),a.push(`proto.hi=function `+r+`_hi(`+l.join(`,`)+`){return new `+r+`(this.data,`+s.map(function(e){return[`(typeof i`,e,`!=='number'||i`,e,`<0)?this.shape[`,e,`]:i`,e,`|0`].join(``)}).join(`,`)+`,`+s.map(function(e){return`this.stride[`+e+`]`}).join(`,`)+`,this.offset)}`);var m=s.map(function(e){return`a`+e+`=this.shape[`+e+`]`}),h=s.map(function(e){return`c`+e+`=this.stride[`+e+`]`});a.push(`proto.lo=function `+r+`_lo(`+l.join(`,`)+`){var b=this.offset,d=0,`+m.join(`,`)+`,`+h.join(`,`));for(var g=0;g<t;++g)a.push(`if(typeof i`+g+`==='number'&&i`+g+`>=0){d=i`+g+`|0;b+=c`+g+`*d;a`+g+`-=d}`);a.push(`return new `+r+`(this.data,`+s.map(function(e){return`a`+e}).join(`,`)+`,`+s.map(function(e){return`c`+e}).join(`,`)+`,b)}`),a.push(`proto.step=function `+r+`_step(`+l.join(`,`)+`){var `+s.map(function(e){return`a`+e+`=this.shape[`+e+`]`}).join(`,`)+`,`+s.map(function(e){return`b`+e+`=this.stride[`+e+`]`}).join(`,`)+`,c=this.offset,d=0,ceil=Math.ceil`);for(var g=0;g<t;++g)a.push(`if(typeof i`+g+`==='number'){d=i`+g+`|0;if(d<0){c+=b`+g+`*(a`+g+`-1);a`+g+`=ceil(-a`+g+`/d)}else{a`+g+`=ceil(a`+g+`/d)}b`+g+`*=d}`);a.push(`return new `+r+`(this.data,`+s.map(function(e){return`a`+e}).join(`,`)+`,`+s.map(function(e){return`b`+e}).join(`,`)+`,c)}`);for(var _=Array(t),v=Array(t),g=0;g<t;++g)_[g]=`a[i`+g+`]`,v[g]=`b[i`+g+`]`;a.push(`proto.transpose=function `+r+`_transpose(`+l+`){`+l.map(function(e,t){return e+`=(`+e+`===undefined?`+t+`:`+e+`|0)`}).join(`;`),`var a=this.shape,b=this.stride;return new `+r+`(this.data,`+_.join(`,`)+`,`+v.join(`,`)+`,this.offset)}`),a.push(`proto.pick=function `+r+`_pick(`+l+`){var a=[],b=[],c=this.offset`);for(var g=0;g<t;++g)a.push(`if(typeof i`+g+`==='number'&&i`+g+`>=0){c=(c+this.stride[`+g+`]*i`+g+`)|0}else{a.push(this.shape[`+g+`]);b.push(this.stride[`+g+`])}`);a.push(`var ctor=CTOR_LIST[a.length+1];return ctor(this.data,a,b,c)}`),a.push(`return function construct_`+r+`(data,shape,stride,offset){return new `+r+`(data,`+s.map(function(e){return`shape[`+e+`]`}).join(`,`)+`,`+s.map(function(e){return`stride[`+e+`]`}).join(`,`)+`,offset)}`);var o=Function(`CTOR_LIST`,`ORDER`,a.join(`
3
+ `));return o(d[e],c)}function u(e){if(r(e))return`buffer`;if(o)switch(Object.prototype.toString.call(e)){case`[object Float64Array]`:return`float64`;case`[object Float32Array]`:return`float32`;case`[object Int8Array]`:return`int8`;case`[object Int16Array]`:return`int16`;case`[object Int32Array]`:return`int32`;case`[object Uint8Array]`:return`uint8`;case`[object Uint16Array]`:return`uint16`;case`[object Uint32Array]`:return`uint32`;case`[object Uint8ClampedArray]`:return`uint8_clamped`;case`[object BigInt64Array]`:return`bigint64`;case`[object BigUint64Array]`:return`biguint64`}return Array.isArray(e)?`array`:`generic`}var d={float32:[],float64:[],int8:[],int16:[],int32:[],uint8:[],uint16:[],uint32:[],array:[],uint8_clamped:[],bigint64:[],biguint64:[],buffer:[],generic:[]};function f(e,t,n,r){if(e===void 0){var i=d.array[0];return i([])}else typeof e==`number`&&(e=[e]);t===void 0&&(t=[e.length]);var a=t.length;if(n===void 0){n=Array(a);for(var o=a-1,s=1;o>=0;--o)n[o]=s,s*=t[o]}if(r===void 0){r=0;for(var o=0;o<a;++o)n[o]<0&&(r-=(t[o]-1)*n[o])}for(var c=u(e),f=d[c];f.length<=a+1;)f.push(l(c,f.length-1));var i=f[a+1];return i(e,t,n,r)}t.exports=f})),s=e.t(((e,t)=>{function n(e,t){for(var n=1,r=e.length,i=e[0],a=e[0],o=1;o<r;++o)if(a=i,i=e[o],t(i,a)){if(o===n){n++;continue}e[n++]=i}return e.length=n,e}function r(e){for(var t=1,n=e.length,r=e[0],i=e[0],a=1;a<n;++a,i=r)if(i=r,r=e[a],r!==i){if(a===t){t++;continue}e[t++]=r}return e.length=t,e}function i(e,t,i){return e.length===0?e:t?(i||e.sort(t),n(e,t)):(i||e.sort(),r(e))}t.exports=i})),c=e.t(((e,t)=>{var n=s();function r(e,t,n){var r=e.length,i=t.arrayArgs.length,a=t.indexArgs.length>0,o=[],s=[],c=0,l=0,u,d;for(u=0;u<r;++u)s.push([`i`,u,`=0`].join(``));for(d=0;d<i;++d)for(u=0;u<r;++u)l=c,c=e[u],u===0?s.push([`d`,d,`s`,u,`=t`,d,`p`,c].join(``)):s.push([`d`,d,`s`,u,`=(t`,d,`p`,c,`-s`,l,`*t`,d,`p`,l,`)`].join(``));for(s.length>0&&o.push(`var `+s.join(`,`)),u=r-1;u>=0;--u)c=e[u],o.push([`for(i`,u,`=0;i`,u,`<s`,c,`;++i`,u,`){`].join(``));for(o.push(n),u=0;u<r;++u){for(l=c,c=e[u],d=0;d<i;++d)o.push([`p`,d,`+=d`,d,`s`,u].join(``));a&&(u>0&&o.push([`index[`,l,`]-=s`,l].join(``)),o.push([`++index[`,c,`]`].join(``))),o.push(`}`)}return o.join(`
4
+ `)}function i(e,t,n,i){for(var a=t.length,o=n.arrayArgs.length,s=n.blockSize,c=n.indexArgs.length>0,l=[],u=0;u<o;++u)l.push([`var offset`,u,`=p`,u].join(``));for(var u=e;u<a;++u)l.push([`for(var j`+u+`=SS[`,t[u],`]|0;j`,u,`>0;){`].join(``)),l.push([`if(j`,u,`<`,s,`){`].join(``)),l.push([`s`,t[u],`=j`,u].join(``)),l.push([`j`,u,`=0`].join(``)),l.push([`}else{s`,t[u],`=`,s].join(``)),l.push([`j`,u,`-=`,s,`}`].join(``)),c&&l.push([`index[`,t[u],`]=j`,u].join(``));for(var u=0;u<o;++u){for(var d=[`offset`+u],f=e;f<a;++f)d.push([`j`,f,`*t`,u,`p`,t[f]].join(``));l.push([`p`,u,`=(`,d.join(`+`),`)`].join(``))}l.push(r(t,n,i));for(var u=e;u<a;++u)l.push(`}`);return l.join(`
5
+ `)}function a(e){for(var t=0,n=e[0].length;t<n;){for(var r=1;r<e.length;++r)if(e[r][t]!==e[0][t])return t;++t}return t}function o(e,t,n){for(var r=e.body,i=[],a=[],o=0;o<e.args.length;++o){var s=e.args[o];if(!(s.count<=0)){var c=new RegExp(s.name,`g`),l=``,u=t.arrayArgs.indexOf(o);switch(t.argTypes[o]){case`offset`:var d=t.offsetArgIndex.indexOf(o);u=t.offsetArgs[d].array,l=`+q`+d;case`array`:l=`p`+u+l;var f=`l`+o,p=`a`+u;if(t.arrayBlockIndices[u]===0)s.count===1?n[u]===`generic`?s.lvalue?(i.push([`var `,f,`=`,p,`.get(`,l,`)`].join(``)),r=r.replace(c,f),a.push([p,`.set(`,l,`,`,f,`)`].join(``))):r=r.replace(c,[p,`.get(`,l,`)`].join(``)):r=r.replace(c,[p,`[`,l,`]`].join(``)):n[u]===`generic`?(i.push([`var `,f,`=`,p,`.get(`,l,`)`].join(``)),r=r.replace(c,f),s.lvalue&&a.push([p,`.set(`,l,`,`,f,`)`].join(``))):(i.push([`var `,f,`=`,p,`[`,l,`]`].join(``)),r=r.replace(c,f),s.lvalue&&a.push([p,`[`,l,`]=`,f].join(``)));else{for(var m=[s.name],h=[l],g=0;g<Math.abs(t.arrayBlockIndices[u]);g++)m.push(`\\s*\\[([^\\]]+)\\]`),h.push(`$`+(g+1)+`*t`+u+`b`+g);if(c=new RegExp(m.join(``),`g`),l=h.join(`+`),n[u]===`generic`)throw Error(`cwise: Generic arrays not supported in combination with blocks!`);r=r.replace(c,[p,`[`,l,`]`].join(``))}break;case`scalar`:r=r.replace(c,`Y`+t.scalarArgs.indexOf(o));break;case`index`:r=r.replace(c,`index`);break;case`shape`:r=r.replace(c,`shape`);break}}}return[i.join(`
6
+ `),r,a.join(`
7
+ `)].join(`
8
+ `).trim()}function c(e){for(var t=Array(e.length),n=!0,r=0;r<e.length;++r){var i=e[r],a=i.match(/\d+/);a=a?a[0]:``,i.charAt(0)===0?t[r]=`u`+i.charAt(1)+a:t[r]=i.charAt(0)+a,r>0&&(n&&=t[r]===t[r-1])}return n?t[0]:t.join(``)}function l(e,t){for(var s=t[1].length-Math.abs(e.arrayBlockIndices[0])|0,l=Array(e.arrayArgs.length),u=Array(e.arrayArgs.length),d=0;d<e.arrayArgs.length;++d)u[d]=t[2*d],l[d]=t[2*d+1];for(var f=[],p=[],m=[],h=[],g=[],d=0;d<e.arrayArgs.length;++d){e.arrayBlockIndices[d]<0?(m.push(0),h.push(s),f.push(s),p.push(s+e.arrayBlockIndices[d])):(m.push(e.arrayBlockIndices[d]),h.push(e.arrayBlockIndices[d]+s),f.push(0),p.push(e.arrayBlockIndices[d]));for(var _=[],v=0;v<l[d].length;v++)m[d]<=l[d][v]&&l[d][v]<h[d]&&_.push(l[d][v]-m[d]);g.push(_)}for(var y=[`SS`],b=[`'use strict'`],x=[],v=0;v<s;++v)x.push([`s`,v,`=SS[`,v,`]`].join(``));for(var d=0;d<e.arrayArgs.length;++d){y.push(`a`+d),y.push(`t`+d),y.push(`p`+d);for(var v=0;v<s;++v)x.push([`t`,d,`p`,v,`=t`,d,`[`,m[d]+v,`]`].join(``));for(var v=0;v<Math.abs(e.arrayBlockIndices[d]);++v)x.push([`t`,d,`b`,v,`=t`,d,`[`,f[d]+v,`]`].join(``))}for(var d=0;d<e.scalarArgs.length;++d)y.push(`Y`+d);if(e.shapeArgs.length>0&&x.push(`shape=SS.slice(0)`),e.indexArgs.length>0){for(var S=Array(s),d=0;d<s;++d)S[d]=`0`;x.push([`index=[`,S.join(`,`),`]`].join(``))}for(var d=0;d<e.offsetArgs.length;++d){for(var C=e.offsetArgs[d],w=[],v=0;v<C.offset.length;++v)if(C.offset[v]===0)continue;else C.offset[v]===1?w.push([`t`,C.array,`p`,v].join(``)):w.push([C.offset[v],`*t`,C.array,`p`,v].join(``));w.length===0?x.push(`q`+d+`=0`):x.push([`q`,d,`=`,w.join(`+`)].join(``))}var T=n([].concat(e.pre.thisVars,e.body.thisVars,e.post.thisVars));x=x.concat(T),x.length>0&&b.push(`var `+x.join(`,`));for(var d=0;d<e.arrayArgs.length;++d)b.push(`p`+d+`|=0`);e.pre.body.length>3&&b.push(o(e.pre,e,u));var E=o(e.body,e,u),D=a(g);D<s?b.push(i(D,g[0],e,E)):b.push(r(g[0],e,E)),e.post.body.length>3&&b.push(o(e.post,e,u)),e.debug&&console.log(`-----Generated cwise routine for `,t,`:
9
+ `+b.join(`
10
+ `)+`
11
+ ----------`);var O=[e.funcName||`unnamed`,`_cwise_loop_`,l[0].join(`s`),`m`,D,c(u)].join(``);return Function([`function `,O,`(`,y.join(`,`),`){`,b.join(`
12
+ `),`} return `,O].join(``))()}t.exports=l})),l=e.t(((e,t)=>{var n=c();function r(e){var t=[`'use strict'`,`var CACHED={}`],r=[],i=e.funcName+`_cwise_thunk`;t.push([`return function `,i,`(`,e.shimArgs.join(`,`),`){`].join(``));for(var a=[],o=[],s=[[`array`,e.arrayArgs[0],`.shape.slice(`,Math.max(0,e.arrayBlockIndices[0]),e.arrayBlockIndices[0]<0?`,`+e.arrayBlockIndices[0]+`)`:`)`].join(``)],c=[],l=[],u=0;u<e.arrayArgs.length;++u){var d=e.arrayArgs[u];r.push([`t`,d,`=array`,d,`.dtype,`,`r`,d,`=array`,d,`.order`].join(``)),a.push(`t`+d),a.push(`r`+d),o.push(`t`+d),o.push(`r`+d+`.join()`),s.push(`array`+d+`.data`),s.push(`array`+d+`.stride`),s.push(`array`+d+`.offset|0`),u>0&&(c.push(`array`+e.arrayArgs[0]+`.shape.length===array`+d+`.shape.length+`+(Math.abs(e.arrayBlockIndices[0])-Math.abs(e.arrayBlockIndices[u]))),l.push(`array`+e.arrayArgs[0]+`.shape[shapeIndex+`+Math.max(0,e.arrayBlockIndices[0])+`]===array`+d+`.shape[shapeIndex+`+Math.max(0,e.arrayBlockIndices[u])+`]`))}e.arrayArgs.length>1&&(t.push(`if (!(`+c.join(` && `)+`)) throw new Error('cwise: Arrays do not all have the same dimensionality!')`),t.push(`for(var shapeIndex=array`+e.arrayArgs[0]+`.shape.length-`+Math.abs(e.arrayBlockIndices[0])+`; shapeIndex-->0;) {`),t.push(`if (!(`+l.join(` && `)+`)) throw new Error('cwise: Arrays do not all have the same shape!')`),t.push(`}`));for(var u=0;u<e.scalarArgs.length;++u)s.push(`scalar`+e.scalarArgs[u]);return r.push([`type=[`,o.join(`,`),`].join()`].join(``)),r.push(`proc=CACHED[type]`),t.push(`var `+r.join(`,`)),t.push([`if(!proc){`,`CACHED[type]=proc=compile([`,a.join(`,`),`])}`,`return proc(`,s.join(`,`),`)}`].join(``)),e.debug&&console.log(`-----Generated thunk:
13
+ `+t.join(`
14
+ `)+`
15
+ ----------`),Function(`compile`,t.join(`
16
+ `))(n.bind(void 0,e))}t.exports=r})),u=e.t(((e,t)=>{var n=l();function r(){this.argTypes=[],this.shimArgs=[],this.arrayArgs=[],this.arrayBlockIndices=[],this.scalarArgs=[],this.offsetArgs=[],this.offsetArgIndex=[],this.indexArgs=[],this.shapeArgs=[],this.funcName=``,this.pre=null,this.body=null,this.post=null,this.debug=!1}function i(e){var t=new r;t.pre=e.pre,t.body=e.body,t.post=e.post;var i=e.args.slice(0);t.argTypes=i;for(var a=0;a<i.length;++a){var o=i[a];if(o===`array`||typeof o==`object`&&o.blockIndices){if(t.argTypes[a]=`array`,t.arrayArgs.push(a),t.arrayBlockIndices.push(o.blockIndices?o.blockIndices:0),t.shimArgs.push(`array`+a),a<t.pre.args.length&&t.pre.args[a].count>0)throw Error(`cwise: pre() block may not reference array args`);if(a<t.post.args.length&&t.post.args[a].count>0)throw Error(`cwise: post() block may not reference array args`)}else if(o===`scalar`)t.scalarArgs.push(a),t.shimArgs.push(`scalar`+a);else if(o===`index`){if(t.indexArgs.push(a),a<t.pre.args.length&&t.pre.args[a].count>0)throw Error(`cwise: pre() block may not reference array index`);if(a<t.body.args.length&&t.body.args[a].lvalue)throw Error(`cwise: body() block may not write to array index`);if(a<t.post.args.length&&t.post.args[a].count>0)throw Error(`cwise: post() block may not reference array index`)}else if(o===`shape`){if(t.shapeArgs.push(a),a<t.pre.args.length&&t.pre.args[a].lvalue)throw Error(`cwise: pre() block may not write to array shape`);if(a<t.body.args.length&&t.body.args[a].lvalue)throw Error(`cwise: body() block may not write to array shape`);if(a<t.post.args.length&&t.post.args[a].lvalue)throw Error(`cwise: post() block may not write to array shape`)}else if(typeof o==`object`&&o.offset)t.argTypes[a]=`offset`,t.offsetArgs.push({array:o.array,offset:o.offset}),t.offsetArgIndex.push(a);else throw Error(`cwise: Unknown argument type `+i[a])}if(t.arrayArgs.length<=0)throw Error(`cwise: No array arguments specified`);if(t.pre.args.length>i.length)throw Error(`cwise: Too many arguments in pre() block`);if(t.body.args.length>i.length)throw Error(`cwise: Too many arguments in body() block`);if(t.post.args.length>i.length)throw Error(`cwise: Too many arguments in post() block`);return t.debug=!!e.printCode||!!e.debug,t.funcName=e.funcName||`cwise`,t.blockSize=e.blockSize||64,n(t)}t.exports=i})),d=e.t((e=>{var t=u(),n={body:``,args:[],thisVars:[],localVars:[]};function r(e){if(!e)return n;for(var t=0;t<e.args.length;++t){var r=e.args[t];t===0?e.args[t]={name:r,lvalue:!0,rvalue:!!e.rvalue,count:e.count||1}:e.args[t]={name:r,lvalue:!1,rvalue:!0,count:1}}return e.thisVars||=[],e.localVars||=[],e}function i(e){return t({args:e.args,pre:r(e.pre),body:r(e.body),post:r(e.proc),funcName:e.funcName})}function a(e){for(var t=[],n=0;n<e.args.length;++n)t.push(`a`+n);return Function(`P`,[`return function `,e.funcName,`_ndarrayops(`,t.join(`,`),`) {P(`,t.join(`,`),`);return a0}`].join(``))(i(e))}var o={add:`+`,sub:`-`,mul:`*`,div:`/`,mod:`%`,band:`&`,bor:`|`,bxor:`^`,lshift:`<<`,rshift:`>>`,rrshift:`>>>`};(function(){for(var t in o){var n=o[t];e[t]=a({args:[`array`,`array`,`array`],body:{args:[`a`,`b`,`c`],body:`a=b`+n+`c`},funcName:t}),e[t+`eq`]=a({args:[`array`,`array`],body:{args:[`a`,`b`],body:`a`+n+`=b`},rvalue:!0,funcName:t+`eq`}),e[t+`s`]=a({args:[`array`,`array`,`scalar`],body:{args:[`a`,`b`,`s`],body:`a=b`+n+`s`},funcName:t+`s`}),e[t+`seq`]=a({args:[`array`,`scalar`],body:{args:[`a`,`s`],body:`a`+n+`=s`},rvalue:!0,funcName:t+`seq`})}})();var s={not:`!`,bnot:`~`,neg:`-`,recip:`1.0/`};(function(){for(var t in s){var n=s[t];e[t]=a({args:[`array`,`array`],body:{args:[`a`,`b`],body:`a=`+n+`b`},funcName:t}),e[t+`eq`]=a({args:[`array`],body:{args:[`a`],body:`a=`+n+`a`},rvalue:!0,count:2,funcName:t+`eq`})}})();var c={and:`&&`,or:`||`,eq:`===`,neq:`!==`,lt:`<`,gt:`>`,leq:`<=`,geq:`>=`};(function(){for(var t in c){var n=c[t];e[t]=a({args:[`array`,`array`,`array`],body:{args:[`a`,`b`,`c`],body:`a=b`+n+`c`},funcName:t}),e[t+`s`]=a({args:[`array`,`array`,`scalar`],body:{args:[`a`,`b`,`s`],body:`a=b`+n+`s`},funcName:t+`s`}),e[t+`eq`]=a({args:[`array`,`array`],body:{args:[`a`,`b`],body:`a=a`+n+`b`},rvalue:!0,count:2,funcName:t+`eq`}),e[t+`seq`]=a({args:[`array`,`scalar`],body:{args:[`a`,`s`],body:`a=a`+n+`s`},rvalue:!0,count:2,funcName:t+`seq`})}})();var l=[`abs`,`acos`,`asin`,`atan`,`ceil`,`cos`,`exp`,`floor`,`log`,`round`,`sin`,`sqrt`,`tan`];(function(){for(var t=0;t<l.length;++t){var n=l[t];e[n]=a({args:[`array`,`array`],pre:{args:[],body:`this_f=Math.`+n,thisVars:[`this_f`]},body:{args:[`a`,`b`],body:`a=this_f(b)`,thisVars:[`this_f`]},funcName:n}),e[n+`eq`]=a({args:[`array`],pre:{args:[],body:`this_f=Math.`+n,thisVars:[`this_f`]},body:{args:[`a`],body:`a=this_f(a)`,thisVars:[`this_f`]},rvalue:!0,count:2,funcName:n+`eq`})}})();var d=[`max`,`min`,`atan2`,`pow`];(function(){for(var t=0;t<d.length;++t){var n=d[t];e[n]=a({args:[`array`,`array`,`array`],pre:{args:[],body:`this_f=Math.`+n,thisVars:[`this_f`]},body:{args:[`a`,`b`,`c`],body:`a=this_f(b,c)`,thisVars:[`this_f`]},funcName:n}),e[n+`s`]=a({args:[`array`,`array`,`scalar`],pre:{args:[],body:`this_f=Math.`+n,thisVars:[`this_f`]},body:{args:[`a`,`b`,`c`],body:`a=this_f(b,c)`,thisVars:[`this_f`]},funcName:n+`s`}),e[n+`eq`]=a({args:[`array`,`array`],pre:{args:[],body:`this_f=Math.`+n,thisVars:[`this_f`]},body:{args:[`a`,`b`],body:`a=this_f(a,b)`,thisVars:[`this_f`]},rvalue:!0,count:2,funcName:n+`eq`}),e[n+`seq`]=a({args:[`array`,`scalar`],pre:{args:[],body:`this_f=Math.`+n,thisVars:[`this_f`]},body:{args:[`a`,`b`],body:`a=this_f(a,b)`,thisVars:[`this_f`]},rvalue:!0,count:2,funcName:n+`seq`})}})();var f=[`atan2`,`pow`];(function(){for(var t=0;t<f.length;++t){var n=f[t];e[n+`op`]=a({args:[`array`,`array`,`array`],pre:{args:[],body:`this_f=Math.`+n,thisVars:[`this_f`]},body:{args:[`a`,`b`,`c`],body:`a=this_f(c,b)`,thisVars:[`this_f`]},funcName:n+`op`}),e[n+`ops`]=a({args:[`array`,`array`,`scalar`],pre:{args:[],body:`this_f=Math.`+n,thisVars:[`this_f`]},body:{args:[`a`,`b`,`c`],body:`a=this_f(c,b)`,thisVars:[`this_f`]},funcName:n+`ops`}),e[n+`opeq`]=a({args:[`array`,`array`],pre:{args:[],body:`this_f=Math.`+n,thisVars:[`this_f`]},body:{args:[`a`,`b`],body:`a=this_f(b,a)`,thisVars:[`this_f`]},rvalue:!0,count:2,funcName:n+`opeq`}),e[n+`opseq`]=a({args:[`array`,`scalar`],pre:{args:[],body:`this_f=Math.`+n,thisVars:[`this_f`]},body:{args:[`a`,`b`],body:`a=this_f(b,a)`,thisVars:[`this_f`]},rvalue:!0,count:2,funcName:n+`opseq`})}})(),e.any=t({args:[`array`],pre:n,body:{args:[{name:`a`,lvalue:!1,rvalue:!0,count:1}],body:`if(a){return true}`,localVars:[],thisVars:[]},post:{args:[],localVars:[],thisVars:[],body:`return false`},funcName:`any`}),e.all=t({args:[`array`],pre:n,body:{args:[{name:`x`,lvalue:!1,rvalue:!0,count:1}],body:`if(!x){return false}`,localVars:[],thisVars:[]},post:{args:[],localVars:[],thisVars:[],body:`return true`},funcName:`all`}),e.sum=t({args:[`array`],pre:{args:[],localVars:[],thisVars:[`this_s`],body:`this_s=0`},body:{args:[{name:`a`,lvalue:!1,rvalue:!0,count:1}],body:`this_s+=a`,localVars:[],thisVars:[`this_s`]},post:{args:[],localVars:[],thisVars:[`this_s`],body:`return this_s`},funcName:`sum`}),e.prod=t({args:[`array`],pre:{args:[],localVars:[],thisVars:[`this_s`],body:`this_s=1`},body:{args:[{name:`a`,lvalue:!1,rvalue:!0,count:1}],body:`this_s*=a`,localVars:[],thisVars:[`this_s`]},post:{args:[],localVars:[],thisVars:[`this_s`],body:`return this_s`},funcName:`prod`}),e.norm2squared=t({args:[`array`],pre:{args:[],localVars:[],thisVars:[`this_s`],body:`this_s=0`},body:{args:[{name:`a`,lvalue:!1,rvalue:!0,count:2}],body:`this_s+=a*a`,localVars:[],thisVars:[`this_s`]},post:{args:[],localVars:[],thisVars:[`this_s`],body:`return this_s`},funcName:`norm2squared`}),e.norm2=t({args:[`array`],pre:{args:[],localVars:[],thisVars:[`this_s`],body:`this_s=0`},body:{args:[{name:`a`,lvalue:!1,rvalue:!0,count:2}],body:`this_s+=a*a`,localVars:[],thisVars:[`this_s`]},post:{args:[],localVars:[],thisVars:[`this_s`],body:`return Math.sqrt(this_s)`},funcName:`norm2`}),e.norminf=t({args:[`array`],pre:{args:[],localVars:[],thisVars:[`this_s`],body:`this_s=0`},body:{args:[{name:`a`,lvalue:!1,rvalue:!0,count:4}],body:`if(-a>this_s){this_s=-a}else if(a>this_s){this_s=a}`,localVars:[],thisVars:[`this_s`]},post:{args:[],localVars:[],thisVars:[`this_s`],body:`return this_s`},funcName:`norminf`}),e.norm1=t({args:[`array`],pre:{args:[],localVars:[],thisVars:[`this_s`],body:`this_s=0`},body:{args:[{name:`a`,lvalue:!1,rvalue:!0,count:3}],body:`this_s+=a<0?-a:a`,localVars:[],thisVars:[`this_s`]},post:{args:[],localVars:[],thisVars:[`this_s`],body:`return this_s`},funcName:`norm1`}),e.sup=t({args:[`array`],pre:{body:`this_h=-Infinity`,args:[],thisVars:[`this_h`],localVars:[]},body:{body:`if(_inline_1_arg0_>this_h)this_h=_inline_1_arg0_`,args:[{name:`_inline_1_arg0_`,lvalue:!1,rvalue:!0,count:2}],thisVars:[`this_h`],localVars:[]},post:{body:`return this_h`,args:[],thisVars:[`this_h`],localVars:[]}}),e.inf=t({args:[`array`],pre:{body:`this_h=Infinity`,args:[],thisVars:[`this_h`],localVars:[]},body:{body:`if(_inline_1_arg0_<this_h)this_h=_inline_1_arg0_`,args:[{name:`_inline_1_arg0_`,lvalue:!1,rvalue:!0,count:2}],thisVars:[`this_h`],localVars:[]},post:{body:`return this_h`,args:[],thisVars:[`this_h`],localVars:[]}}),e.argmin=t({args:[`index`,`array`,`shape`],pre:{body:`{this_v=Infinity;this_i=_inline_0_arg2_.slice(0)}`,args:[{name:`_inline_0_arg0_`,lvalue:!1,rvalue:!1,count:0},{name:`_inline_0_arg1_`,lvalue:!1,rvalue:!1,count:0},{name:`_inline_0_arg2_`,lvalue:!1,rvalue:!0,count:1}],thisVars:[`this_i`,`this_v`],localVars:[]},body:{body:`{if(_inline_1_arg1_<this_v){this_v=_inline_1_arg1_;for(var _inline_1_k=0;_inline_1_k<_inline_1_arg0_.length;++_inline_1_k){this_i[_inline_1_k]=_inline_1_arg0_[_inline_1_k]}}}`,args:[{name:`_inline_1_arg0_`,lvalue:!1,rvalue:!0,count:2},{name:`_inline_1_arg1_`,lvalue:!1,rvalue:!0,count:2}],thisVars:[`this_i`,`this_v`],localVars:[`_inline_1_k`]},post:{body:`{return this_i}`,args:[],thisVars:[`this_i`],localVars:[]}}),e.argmax=t({args:[`index`,`array`,`shape`],pre:{body:`{this_v=-Infinity;this_i=_inline_0_arg2_.slice(0)}`,args:[{name:`_inline_0_arg0_`,lvalue:!1,rvalue:!1,count:0},{name:`_inline_0_arg1_`,lvalue:!1,rvalue:!1,count:0},{name:`_inline_0_arg2_`,lvalue:!1,rvalue:!0,count:1}],thisVars:[`this_i`,`this_v`],localVars:[]},body:{body:`{if(_inline_1_arg1_>this_v){this_v=_inline_1_arg1_;for(var _inline_1_k=0;_inline_1_k<_inline_1_arg0_.length;++_inline_1_k){this_i[_inline_1_k]=_inline_1_arg0_[_inline_1_k]}}}`,args:[{name:`_inline_1_arg0_`,lvalue:!1,rvalue:!0,count:2},{name:`_inline_1_arg1_`,lvalue:!1,rvalue:!0,count:2}],thisVars:[`this_i`,`this_v`],localVars:[`_inline_1_k`]},post:{body:`{return this_i}`,args:[],thisVars:[`this_i`],localVars:[]}}),e.random=a({args:[`array`],pre:{args:[],body:`this_f=Math.random`,thisVars:[`this_f`]},body:{args:[`a`],body:`a=this_f()`,thisVars:[`this_f`]},funcName:`random`}),e.assign=a({args:[`array`,`array`],body:{args:[`a`,`b`],body:`a=b`},funcName:`assign`}),e.assigns=a({args:[`array`,`scalar`],body:{args:[`a`,`b`],body:`a=b`},funcName:`assigns`}),e.equals=t({args:[`array`,`array`],pre:n,body:{args:[{name:`x`,lvalue:!1,rvalue:!0,count:1},{name:`y`,lvalue:!1,rvalue:!0,count:1}],body:`if(x!==y){return false}`,localVars:[],thisVars:[]},post:{args:[],localVars:[],thisVars:[],body:`return true`},funcName:`equals`})})),f=e.a(o(),1),p=e.a(d(),1);function m(e,t){if(!(e instanceof Uint8Array))throw Error(`[ndarray-pixels] Input must be Uint8Array or Buffer.`);let n=new Blob([e],{type:t});return createImageBitmap(n,{premultiplyAlpha:`none`,colorSpaceConversion:`none`}).then(e=>{let t=new OffscreenCanvas(e.width,e.height).getContext(`2d`);t.drawImage(e,0,0);let n=t.getImageData(0,0,e.width,e.height);return(0,f.default)(new Uint8Array(n.data),[e.width,e.height,4],[4,4*e.width,1],0)})}function h(e,t,n=-1){if(e.shape.length===4)return h(e.pick(n),t,0);if(e.shape.length===3)if(e.shape[2]===3)p.assign((0,f.default)(t,[e.shape[0],e.shape[1],3],[4,4*e.shape[0],1]),e),p.assigns((0,f.default)(t,[e.shape[0]*e.shape[1]],[4],3),255);else if(e.shape[2]===4)p.assign((0,f.default)(t,[e.shape[0],e.shape[1],4],[4,e.shape[0]*4,1]),e);else if(e.shape[2]===1)p.assign((0,f.default)(t,[e.shape[0],e.shape[1],3],[4,4*e.shape[0],1]),(0,f.default)(e.data,[e.shape[0],e.shape[1],3],[e.stride[0],e.stride[1],0],e.offset)),p.assigns((0,f.default)(t,[e.shape[0]*e.shape[1]],[4],3),255);else throw Error(`[ndarray-pixels] Incompatible array shape.`);else if(e.shape.length===2)p.assign((0,f.default)(t,[e.shape[0],e.shape[1],3],[4,4*e.shape[0],1]),(0,f.default)(e.data,[e.shape[0],e.shape[1],3],[e.stride[0],e.stride[1],0],e.offset)),p.assigns((0,f.default)(t,[e.shape[0]*e.shape[1]],[4],3),255);else throw Error(`[ndarray-pixels] Incompatible array shape.`);return t}async function g(e,t){let n=new OffscreenCanvas(e.shape[0],e.shape[1]),r=n.getContext(`2d`),i=r.getImageData(0,0,n.width,n.height);return h(e,i.data),r.putImageData(i,0,0),_(n,t)}async function _(e,t){let n=await(await e.convertToBlob(t)).arrayBuffer();return new Uint8Array(n)}async function v(e,t){return m(e,t)}async function y(e,t){let n;return n=typeof t==`string`?{type:t,quality:void 0}:{type:t.type,quality:t.quality},g(e,n)}var b=(e,t)=>{if(e<=-t||e>=t)return 0;if(e>-1.1920929e-7&&e<1.1920929e-7)return 1;let n=e*Math.PI;return Math.sin(n)/n*Math.sin(n/t)/(n/t)},x=(e,t,n,r,i,a,o,s)=>{let c=2**s-1,l=e=>Math.round(e*c),u=i?2:3,d=1/n,f=Math.min(1,n),p=u/f,m=new o((Math.floor(2*(p+1))+2)*t),h=0;for(let n=0;n<t;n++){let i=(n+.5)*d+r,s=Math.max(0,Math.floor(i-p)),c=Math.min(e-1,Math.ceil(i+p)),g=c-s+1,_=new a(g),v=new o(g),y=0,x=0;for(let e=s;e<=c;e++){let t=b((e+.5-i)*f,u);y+=t,_[x]=t,x++}let S=0;for(let e=0;e<_.length;e++){let t=_[e]/y;S+=t,v[e]=l(t)}v[t>>1]+=l(1-S);let C=0;for(;C<v.length&&v[C]===0;)C++;let w=v.length-1;for(;w>0&&v[w]===0;)w--;let T=w-C+1;m[h++]=s+C,m[h++]=T,m.set(v.subarray(C,w+1),h),h+=T}return m},S=(e,t,n,r)=>{let[i,a]=e.shape,[o]=t.shape,s=2**(8*t.data.BYTES_PER_ELEMENT)-1,c=e=>e<0?0:e>s?s:e,l=2**(r-1),u=2*l;for(let r=0;r<a;r++){let i=r,a=0;for(let s=0;s<o;s++){let o=n[a++],d=0,f=0,p=0,m=0;for(let t=n[a++];t>0;t--){let t=n[a++];d+=t*e.get(o,r,0),f+=t*e.get(o,r,1),p+=t*e.get(o,r,2),m+=t*e.get(o,r,3),o++}t.set(s,i,0,c((d+l)/u)),t.set(s,i,1,c((f+l)/u)),t.set(s,i,2,c((p+l)/u)),t.set(s,i,3,c((m+l)/u))}}},C;function w(e,t,n){if(e.shape.length!==3||t.shape.length!==3)throw TypeError(`Input and output must have exactly 3 dimensions (width, height and colorspace)`);let[r,i]=e.shape,[a,o]=t.shape,s=a/r,c=o/i,l,u;switch(t.dtype){case`uint8_clamped`:case`uint8`:l=Float32Array,u=Int16Array;break;case`uint16`:case`uint32`:l=Float64Array,u=Int32Array;break;default:throw TypeError(`Unsupported data type ${t.dtype}`)}let d=7*u.BYTES_PER_ELEMENT,p=x(r,a,s,0,n===C.LANCZOS_2,l,u,d),m=x(i,o,c,0,n===C.LANCZOS_2,l,u,d),h=(0,f.default)(new t.data.constructor(a*i*4),[i,a,4]),g=h.transpose(1,0),_=t.transpose(1,0);S(e,g,p,d),S(h,_,m,d)}function T(e,t){w(e,t,C.LANCZOS_3)}function E(e,t){w(e,t,C.LANCZOS_2)}(function(e){e[e.LANCZOS_3=3]=`LANCZOS_3`,e[e.LANCZOS_2=2]=`LANCZOS_2`})(C||={});function D(){return D=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},D.apply(null,arguments)}var{POINTS:O,LINES:k,LINE_STRIP:A,LINE_LOOP:ee,TRIANGLES:te,TRIANGLE_STRIP:ne,TRIANGLE_FAN:re}=t.v.Mode;function j(e,t){return Object.defineProperty(t,`name`,{value:e}),t}function M(e,t){let n=D({},e);for(let e in t)t[e]!==void 0&&(n[e]=t[e]);return n}function ie(e){let n=e.getIndices(),r=e.getAttribute(`POSITION`);switch(e.getMode()){case t.v.Mode.POINTS:return n?n.getCount():r.getCount();case t.v.Mode.LINES:return n?n.getCount()/2:r.getCount()/2;case t.v.Mode.LINE_LOOP:return n?n.getCount():r.getCount();case t.v.Mode.LINE_STRIP:return n?n.getCount()-1:r.getCount()-1;case t.v.Mode.TRIANGLES:return n?n.getCount()/3:r.getCount()/3;case t.v.Mode.TRIANGLE_STRIP:case t.v.Mode.TRIANGLE_FAN:return n?n.getCount()-2:r.getCount()-2;default:throw Error(`Unexpected mode: `+e.getMode())}}var ae=new Intl.NumberFormat(void 0,{maximumFractionDigits:0});function oe(e){return ae.format(e)}function se(e,t,n=2){return(e>t?`–`:`+`)+(Math.abs(e-t)/e*100).toFixed(n)+`%`}function N(e,t){return`${oe(e)} → ${oe(t)} (${se(e,t)})`}function P(e){let t=[];for(let n of e.listAttributes())t.push(n);for(let n of e.listTargets())for(let e of n.listAttributes())t.push(e);return Array.from(new Set(t))}function ce(e,t,n){e.swap(t,n);for(let r of e.listTargets())r.swap(t,n)}function le(e){let t=e.getIndices(),n=P(e);e.dispose(),t&&!pe(t)&&t.dispose();for(let e of n)pe(e)||e.dispose()}function ue(e,t){if(e==null&&t==null)return!0;if(e==null||t==null||e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}function F(e,t){return e.createAccessor(t.getName()).setArray(t.getArray()).setType(t.getType()).setBuffer(t.getBuffer()).setNormalized(t.getNormalized()).setSparse(t.getSparse())}function de(e,t=e){let n=fe(e,t);for(let e=0;e<n.length;e++)n[e]=e;return n}function fe(e,t=e){return t<=65534?new Uint16Array(e):new Uint32Array(e)}function pe(e){return e.listParents().some(e=>e.propertyType!==t.b.ROOT)}function me(e){for(let t in e)return!1;return!0}function he(e,t){let[n,r]=t,[i,a]=e;if(i<=n&&a<=r)return e;let o=i,s=a;return o>n&&(s=Math.floor(n/o*s),o=n),s>r&&(o=Math.floor(r/s*o),s=r),[o,s]}function ge(e,t){if(_e(e[0])&&_e(e[1]))return e;switch(t){case`nearest-pot`:return e.map(ve);case`ceil-pot`:return e.map(be);case`floor-pot`:return e.map(ye)}}function _e(e){return e<=2?!0:(e&e-1)==0&&e!==0}function ve(e){if(e<=4)return 4;let t=ye(e),n=be(e);return n-e>e-t?t:n}function ye(e){return 2**Math.floor(Math.log(e)/Math.LN2)}function be(e){return 2**Math.ceil(Math.log(e)/Math.LN2)}var I=typeof Float32Array<`u`?Float32Array:Array;function xe(e,t){var n=t[0],r=t[1],i=t[2],a=t[3],o=t[4],s=t[5],c=t[6],l=t[7],u=t[8],d=t[9],f=t[10],p=t[11],m=t[12],h=t[13],g=t[14],_=t[15],v=n*s-r*o,y=n*c-i*o,b=n*l-a*o,x=r*c-i*s,S=r*l-a*s,C=i*l-a*c,w=u*h-d*m,T=u*g-f*m,E=u*_-p*m,D=d*g-f*h,O=d*_-p*h,k=f*_-p*g,A=v*k-y*O+b*D+x*E-S*T+C*w;return A?(A=1/A,e[0]=(s*k-c*O+l*D)*A,e[1]=(i*O-r*k-a*D)*A,e[2]=(h*C-g*S+_*x)*A,e[3]=(f*S-d*C-p*x)*A,e[4]=(c*E-o*k-l*T)*A,e[5]=(n*k-i*E+a*T)*A,e[6]=(g*b-m*C-_*y)*A,e[7]=(u*C-f*b+p*y)*A,e[8]=(o*O-s*E+l*w)*A,e[9]=(r*E-n*O-a*w)*A,e[10]=(m*S-h*b+_*v)*A,e[11]=(d*b-u*S-p*v)*A,e[12]=(s*T-o*D-c*w)*A,e[13]=(n*D-r*T+i*w)*A,e[14]=(h*y-m*x-g*v)*A,e[15]=(u*x-d*y+f*v)*A,e):null}function Se(e,t,n){var r=t[0],i=t[1],a=t[2],o=t[3],s=t[4],c=t[5],l=t[6],u=t[7],d=t[8],f=t[9],p=t[10],m=t[11],h=t[12],g=t[13],_=t[14],v=t[15],y=n[0],b=n[1],x=n[2],S=n[3];return e[0]=y*r+b*s+x*d+S*h,e[1]=y*i+b*c+x*f+S*g,e[2]=y*a+b*l+x*p+S*_,e[3]=y*o+b*u+x*m+S*v,y=n[4],b=n[5],x=n[6],S=n[7],e[4]=y*r+b*s+x*d+S*h,e[5]=y*i+b*c+x*f+S*g,e[6]=y*a+b*l+x*p+S*_,e[7]=y*o+b*u+x*m+S*v,y=n[8],b=n[9],x=n[10],S=n[11],e[8]=y*r+b*s+x*d+S*h,e[9]=y*i+b*c+x*f+S*g,e[10]=y*a+b*l+x*p+S*_,e[11]=y*o+b*u+x*m+S*v,y=n[12],b=n[13],x=n[14],S=n[15],e[12]=y*r+b*s+x*d+S*h,e[13]=y*i+b*c+x*f+S*g,e[14]=y*a+b*l+x*p+S*_,e[15]=y*o+b*u+x*m+S*v,e}function Ce(e,t){return e[0]=t[0],e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=t[1],e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=t[2],e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function we(e,t,n,r){var i=t[0],a=t[1],o=t[2],s=t[3],c=i+i,l=a+a,u=o+o,d=i*c,f=i*l,p=i*u,m=a*l,h=a*u,g=o*u,_=s*c,v=s*l,y=s*u,b=r[0],x=r[1],S=r[2];return e[0]=(1-(m+g))*b,e[1]=(f+y)*b,e[2]=(p-v)*b,e[3]=0,e[4]=(f-y)*x,e[5]=(1-(d+g))*x,e[6]=(h+_)*x,e[7]=0,e[8]=(p+v)*S,e[9]=(h-_)*S,e[10]=(1-(d+m))*S,e[11]=0,e[12]=n[0],e[13]=n[1],e[14]=n[2],e[15]=1,e}var L;(function(e){e.RENDER=`render`,e.RENDER_CACHED=`render-cached`,e.UPLOAD=`upload`,e.UPLOAD_NAIVE=`upload-naive`,e.DISTINCT=`distinct`,e.DISTINCT_POSITION=`distinct-position`,e.UNUSED=`unused`})(L||={});function Te(e,t){return Ee(e,t)}function Ee(e,t){let n=[],r=[],i=[];e.traverse(e=>{let t=e.getMesh(),a=e.getExtension(`EXT_mesh_gpu_instancing`);a&&t?(i.push(t),n.push([a.listAttributes()[0].getCount(),t])):t&&(i.push(t),r.push(t))});let a=i.flatMap(e=>e.listPrimitives()).map(e=>e.getAttribute(`POSITION`)),o=Array.from(new Set(a)),s=Array.from(new Set(i)),c=Array.from(new Set(s.flatMap(e=>e.listPrimitives())));switch(t){case L.RENDER:case L.RENDER_CACHED:return B(r.map(e=>R(e,t)))+B(n.map(([e,n])=>e*R(n,t)));case L.UPLOAD_NAIVE:return B(s.map(e=>R(e,t)));case L.UPLOAD:return B(o.map(e=>e.getCount()));case L.DISTINCT:case L.DISTINCT_POSITION:return Oe(t);case L.UNUSED:return De(c);default:return ke(t)}}function R(e,t){let n=e.listPrimitives(),r=Array.from(new Set(n)),i=Array.from(new Set(r.map(e=>e.getAttribute(`POSITION`))));switch(t){case L.RENDER:case L.RENDER_CACHED:case L.UPLOAD_NAIVE:return B(n.map(e=>z(e,t)));case L.UPLOAD:return B(i.map(e=>e.getCount()));case L.DISTINCT:case L.DISTINCT_POSITION:return Oe(t);case L.UNUSED:return De(r);default:return ke(t)}}function z(e,t){let n=e.getAttribute(`POSITION`),r=e.getIndices();switch(t){case L.RENDER:return r?r.getCount():n.getCount();case L.RENDER_CACHED:return r?new Set(r.getArray()).size:n.getCount();case L.UPLOAD_NAIVE:case L.UPLOAD:return n.getCount();case L.DISTINCT:case L.DISTINCT_POSITION:return Oe(t);case L.UNUSED:return r?n.getCount()-new Set(r.getArray()).size:0;default:return ke(t)}}function B(e){let t=0;for(let n=0;n<e.length;n++)t+=e[n];return t}function De(e){let t=new Map;for(let n of e){let e=n.getAttribute(`POSITION`),r=n.getIndices(),i=t.get(e)||new Set;i.add(r),t.set(e,i)}let n=0;for(let[e,r]of t){if(r.has(null))continue;let t=new Uint8Array(e.getCount());for(let e of r){let n=e.getArray();for(let e=0,r=n.length;e<r;e++)t[n[e]]=1}for(let r=0,i=e.getCount();r<i;r++)t[r]===0&&n++}return n}function Oe(e){throw Error(`Not implemented: ${e}`)}function ke(e){throw Error(`Unexpected value: ${e}`)}var V=2**32-1,Ae=class{constructor(e){this.attributes=[],this.u8=void 0,this.u32=void 0;let t=0;for(let n of P(e))t+=this._initAttribute(n);this.u8=new Uint8Array(t),this.u32=new Uint32Array(this.u8.buffer)}_initAttribute(e){let n=e.getArray(),r=new Uint8Array(n.buffer,n.byteOffset,n.byteLength),i=e.getElementSize()*e.getComponentSize(),a=t.c.padNumber(i);return this.attributes.push({u8:r,byteStride:i,paddedByteStride:a}),a}hash(e){let t=0;for(let{u8:n,byteStride:r,paddedByteStride:i}of this.attributes){for(let a=0;a<i;a++)a<r?this.u8[t+a]=n[e*r+a]:this.u8[t+a]=0;t+=i}return je(0,this.u32)}equal(e,t){for(let{u8:n,byteStride:r}of this.attributes)for(let i=0;i<r;i++)if(n[e*r+i]!==n[t*r+i])return!1;return!0}};function je(e,t){let n=1540483477;for(let r=0,i=t.length;r<i;r++){let i=t[r];i=Math.imul(i,n)>>>0,i=(i^i>>24)>>>0,i=Math.imul(i,n)>>>0,e=Math.imul(e,n)>>>0,e=(e^i)>>>0}return e}function Me(e,t,n,r,i=V){let a=t-1,o=n.hash(r)&a;for(let t=0;t<=a;t++){let s=e[o];if(s===i||n.equal(s,r))return o;o=o+t+1&a}throw Error(`Hash table full.`)}function H(e,n,r){let i=t.d.fromGraph(e.getGraph());(!n||!r)&&([n,r]=Pe(e));let a=e.getIndices(),o=a?a.getArray():null,s=z(e,L.RENDER),c=i.createAccessor(),l=s,u=fe(l,r);for(let e=0;e<l;e++)u[e]=n[o?o[e]:e];e.setIndices(c.setArray(u));let d=P(e);for(let t of e.listAttributes()){let o=F(i,t);Ne(t,a,n,o,r),e.swap(t,o)}for(let t of e.listTargets())for(let e of t.listAttributes()){let o=F(i,e);Ne(e,a,n,o,r),t.swap(e,o)}a&&a.listParents().length===1&&a.dispose();for(let e of d)e.listParents().length===1&&e.dispose();return e}function Ne(e,t,n,r,i){let a=e.getElementSize(),o=e.getArray(),s=t?t.getArray():null,c=t?t.getCount():e.getCount(),l=new o.constructor(i*a),u=new Uint8Array(i);for(let e=0;e<c;e++){let t=s?s[e]:e,r=n[t];if(!u[r]){for(let e=0;e<a;e++)l[r*a+e]=o[t*a+e];u[r]=1}}return r.setArray(l)}function Pe(e){let t=z(e,L.UPLOAD),n=e.getIndices(),r=n?n.getArray():null;if(!n||!r)return[de(t,1e6),t];let i=new Uint32Array(t).fill(V),a=0;for(let e=0;e<r.length;e++){let t=r[e];i[t]===V&&(i[t]=a++)}return[i,a]}function Fe(){var e=new I(3);return I!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0),e}function Ie(e,t,n){return e[0]=t[0]*n[0],e[1]=t[1]*n[1],e[2]=t[2]*n[2],e}function Le(e,t,n){return e[0]=Math.min(t[0],n[0]),e[1]=Math.min(t[1],n[1]),e[2]=Math.min(t[2],n[2]),e}function Re(e,t,n){return e[0]=Math.max(t[0],n[0]),e[1]=Math.max(t[1],n[1]),e[2]=Math.max(t[2],n[2]),e}function ze(e,t,n){return e[0]=t[0]*n,e[1]=t[1]*n,e[2]=t[2]*n,e}function Be(e,t){var n=t[0],r=t[1],i=t[2],a=n*n+r*r+i*i;return a>0&&(a=1/Math.sqrt(a)),e[0]=t[0]*a,e[1]=t[1]*a,e[2]=t[2]*a,e}function Ve(e,t,n){var r=t[0],i=t[1],a=t[2],o=n[3]*r+n[7]*i+n[11]*a+n[15];return o||=1,e[0]=(n[0]*r+n[4]*i+n[8]*a+n[12])/o,e[1]=(n[1]*r+n[5]*i+n[9]*a+n[13])/o,e[2]=(n[2]*r+n[6]*i+n[10]*a+n[14])/o,e}var He=Ie;(function(){var e=Fe();return function(t,n,r,i,a,o){var s,c;for(n||=3,r||=0,c=i?Math.min(i*n+r,t.length):t.length,s=r;s<c;s+=n)e[0]=t[s],e[1]=t[s+1],e[2]=t[s+2],a(e,e,o),t[s]=e[0],t[s+1]=e[1],t[s+2]=e[2];return t}})();var Ue=`weld`,U={overwrite:!0};function We(e=U){let t=M(U,e);return j(Ue,async e=>{let n=e.getLogger();for(let n of e.getRoot().listMeshes()){for(let e of n.listPrimitives())Ge(e,t),z(e,L.RENDER)===0&&le(e);n.listPrimitives().length===0&&n.dispose()}n.debug(`${Ue}: Complete.`)})}function Ge(e,n=U){let r=e.getGraph(),i=t.d.fromGraph(r).getLogger(),a=D({},U,n);if(e.getIndices()&&!a.overwrite||e.getMode()===t.v.Mode.POINTS)return;let o=e.getAttribute(`POSITION`).getCount(),s=e.getIndices(),c=s?.getArray(),l=s?s.getCount():o,u=new Ae(e),d=be(o+o/4),f=new Uint32Array(d).fill(V),p=new Uint32Array(o).fill(V),m=0;for(let e=0;e<l;e++){let t=c?c[e]:e;if(p[t]!==V)continue;let n=Me(f,d,u,t,V),r=f[n];r===V?(f[n]=t,p[t]=m++):p[t]=p[r]}i.debug(`${Ue}: ${N(o,m)} vertices.`),H(e,p,m)}var{FLOAT:Ke}=t.o.ComponentType,{LINES:qe,LINE_STRIP:Je,LINE_LOOP:Ye,TRIANGLES:Xe,TRIANGLE_STRIP:Ze,TRIANGLE_FAN:Qe}=t.v.Mode;function $e(e){let n=e.getGraph(),r=t.d.fromGraph(n);e.getIndices()||Ge(e);let i=e.getIndices(),a=i.getArray(),o=ie(e),s=t.u[i.getComponentType()],c=new s(o*3),l=e.getMode();if(l===Ze)for(let e=0,t=a.length;e<t-2;e++)e%2?(c[e*3]=a[e+1],c[e*3+1]=a[e],c[e*3+2]=a[e+2]):(c[e*3]=a[e],c[e*3+1]=a[e+1],c[e*3+2]=a[e+2]);else if(l===Qe)for(let e=0;e<o;e++)c[e*3]=a[0],c[e*3+1]=a[e+1],c[e*3+2]=a[e+2];else throw Error(`Only TRIANGLE_STRIP and TRIANGLE_FAN may be converted to TRIANGLES.`);e.setMode(Xe);let u=r.getRoot();i.listParents().some(t=>t!==u&&t!==e)?e.setIndices(F(r,i).setArray(c)):i.setArray(c)}var W=`dedup`,et={keepUniqueNames:!1,propertyTypes:[t.b.ACCESSOR,t.b.MESH,t.b.TEXTURE,t.b.MATERIAL,t.b.SKIN]};function tt(e=et){let n=M(et,e),r=new Set(n.propertyTypes);for(let e of n.propertyTypes)if(!et.propertyTypes.includes(e))throw Error(`${W}: Unsupported deduplication on type "${e}".`);return j(W,e=>{let i=e.getLogger();r.has(t.b.ACCESSOR)&&nt(e),r.has(t.b.TEXTURE)&&it(e,n),r.has(t.b.MATERIAL)&&at(e,n),r.has(t.b.MESH)&&rt(e,n),r.has(t.b.SKIN)&&ot(e,n),i.debug(`${W}: Complete.`)})}function nt(e){let n=e.getLogger(),r=new Map,i=new Map,a=new Map,o=new Map,s=e.getRoot().listMeshes();s.forEach(e=>{e.listPrimitives().forEach(e=>{e.listAttributes().forEach(e=>c(e,i)),c(e.getIndices(),r)})});for(let t of e.getRoot().listAnimations())for(let e of t.listSamplers())c(e.getInput(),a),c(e.getOutput(),o);function c(e,t){if(!e)return;let n=[e.getCount(),e.getType(),e.getComponentType(),e.getNormalized(),e.getSparse()].join(`:`),r=t.get(n);r||t.set(n,r=new Set),r.add(e)}function l(e,n){for(let r=0;r<e.length;r++){let i=e[r],a=t.c.toView(i.getArray());if(!n.has(i))for(let o=r+1;o<e.length;o++){let r=e[o];n.has(r)||t.c.equals(a,t.c.toView(r.getArray()))&&n.set(r,i)}}}let u=0,d=new Map;for(let e of[i,r,a,o])for(let t of e.values())u+=t.size,l(Array.from(t),d);n.debug(`${W}: Merged ${d.size} of ${u} accessors.`),s.forEach(e=>{e.listPrimitives().forEach(e=>{e.listAttributes().forEach(t=>{d.has(t)&&e.swap(t,d.get(t))});let t=e.getIndices();t&&d.has(t)&&e.swap(t,d.get(t))})});for(let t of e.getRoot().listAnimations())for(let e of t.listSamplers()){let t=e.getInput(),n=e.getOutput();t&&d.has(t)&&e.swap(t,d.get(t)),n&&d.has(n)&&e.swap(n,d.get(n))}Array.from(d.keys()).forEach(e=>e.dispose())}function rt(e,n){let r=e.getLogger(),i=e.getRoot(),a=new Map;i.listAccessors().forEach((e,t)=>a.set(e,t)),i.listMaterials().forEach((e,t)=>a.set(e,t));let o=i.listMeshes().length,s=new Map;for(let e of i.listMeshes()){let r=[];for(let t of e.listPrimitives())r.push(st(t,a));let i=``;if(n.keepUniqueNames&&(i+=e.getName()+`;`),i+=r.join(`;`),s.has(i)){let n=s.get(i);e.listParents().forEach(r=>{r.propertyType!==t.b.ROOT&&r.swap(e,n)}),e.dispose()}else s.set(i,e)}r.debug(`${W}: Merged ${o-s.size} of ${o} meshes.`)}function it(e,n){let r=e.getLogger(),i=e.getRoot(),a=i.listTextures(),o=new Map;for(let e=0;e<a.length;e++){let r=a[e],i=r.getImage();if(!o.has(r))for(let s=e+1;s<a.length;s++){let e=a[s],c=e.getImage();if(o.has(e)||r.getMimeType()!==e.getMimeType()||n.keepUniqueNames&&r.getName()!==e.getName())continue;let l=r.getSize(),u=e.getSize();!l||!u||l[0]===u[0]&&l[1]===u[1]&&(!i||!c||t.c.equals(i,c)&&o.set(e,r))}}r.debug(`${W}: Merged ${o.size} of ${i.listTextures().length} textures.`),Array.from(o.entries()).forEach(([e,n])=>{e.listParents().forEach(r=>{r instanceof t.x||r.swap(e,n)}),e.dispose()})}function at(e,n){let r=e.getLogger(),i=e.getRoot().listMaterials(),a=new Map,o=new Map,s=new Set;n.keepUniqueNames||s.add(`name`);for(let e=0;e<i.length;e++){let t=i[e];if(!a.has(t)&&!ct(t,o))for(let n=e+1;n<i.length;n++){let e=i[n];a.has(e)||ct(e,o)||t.equals(e,s)&&a.set(e,t)}}r.debug(`${W}: Merged ${a.size} of ${i.length} materials.`),Array.from(a.entries()).forEach(([e,n])=>{e.listParents().forEach(r=>{r instanceof t.x||r.swap(e,n)}),e.dispose()})}function ot(e,n){let r=e.getLogger(),i=e.getRoot().listSkins(),a=new Map,o=new Set([`joints`]);n.keepUniqueNames||o.add(`name`);for(let e=0;e<i.length;e++){let t=i[e];if(!a.has(t))for(let n=e+1;n<i.length;n++){let e=i[n];a.has(e)||t.equals(e,o)&&ue(t.listJoints(),e.listJoints())&&a.set(e,t)}}r.debug(`${W}: Merged ${a.size} of ${i.length} skins.`),Array.from(a.entries()).forEach(([e,n])=>{e.listParents().forEach(r=>{r instanceof t.x||r.swap(e,n)}),e.dispose()})}function st(e,n){let r=[];for(let t of e.listSemantics()){let i=e.getAttribute(t);r.push(t+`:`+n.get(i))}if(e instanceof t.v){let t=e.getIndices();t&&r.push(`indices:`+n.get(t));let i=e.getMaterial();i&&r.push(`material:`+n.get(i)),r.push(`mode:`+e.getMode());for(let t of e.listTargets())r.push(`target:`+st(t,n))}return r.join(`,`)}function ct(e,t){if(t.has(e))return t.get(e);let n=e.getGraph(),r=new Set,i=n.listParentEdges(e);for(;i.length>0;){let a=i.pop();if(a.getAttributes().modifyChild===!0)return t.set(e,!0),!0;let o=a.getChild();if(!r.has(o))for(let e of n.listChildEdges(o))i.push(e)}return t.set(e,!1),!1}function lt(e,n,r){let i=new Float32Array(e.length);for(let a=0,o=e.length;a<o;a++)r?i[a]=t.g.decodeNormalizedInt(e[a],n):i[a]=e[a];return i}var{TEXTURE_INFO:ut,ROOT:dt}=t.b;function ft(e){let n=new t.d().setLogger(e.getLogger()),r=ht(n,e);return pt(n,e,r),n.getRoot().copy(e.getRoot(),r),n}function pt(e,t,n){n||=ht(e,t);for(let n of t.getRoot().listExtensionsUsed()){let t=e.createExtension(n.constructor);n.isRequired()&&t.setRequired(!0)}return mt(e,t,gt(t),n)}function mt(e,t,n,r){r||=ht(e,t);let i=new Map;for(let e of n)!i.has(e)&&e.propertyType!==ut&&i.set(e,r(e));for(let[e,t]of i.entries())t.copy(e,r);return i}function ht(e,t){let n=new Map([[t.getRoot(),e.getRoot()]]);return t=>{if(t.propertyType===ut)return t;let r=n.get(t);if(!r){let i=t.constructor;r=new i(e.getGraph()),n.set(t,r)}return r}}function gt(e){let t=new Set;for(let n of e.getGraph().listEdges())t.add(n.getChild());return Array.from(t)}function _t(){var e=new I(4);return I!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0,e[3]=0),e}function vt(e,t,n){return e[0]=t[0]+n[0],e[1]=t[1]+n[1],e[2]=t[2]+n[2],e[3]=t[3]+n[3],e}function yt(e,t,n){return e[0]=t[0]-n[0],e[1]=t[1]-n[1],e[2]=t[2]-n[2],e[3]=t[3]-n[3],e}function bt(e,t,n){return e[0]=t[0]*n[0],e[1]=t[1]*n[1],e[2]=t[2]*n[2],e[3]=t[3]*n[3],e}function xt(e,t,n){return e[0]=t[0]*n,e[1]=t[1]*n,e[2]=t[2]*n,e[3]=t[3]*n,e}function St(e){var t=e[0],n=e[1],r=e[2],i=e[3];return Math.sqrt(t*t+n*n+r*r+i*i)}var Ct=yt,wt=bt,Tt=St;(function(){var e=_t();return function(t,n,r,i,a,o){var s,c;for(n||=4,r||=0,c=i?Math.min(i*n+r,t.length):t.length,s=r;s<c;s+=n)e[0]=t[s],e[1]=t[s+1],e[2]=t[s+2],e[3]=t[s+3],a(e,e,o),t[s]=e[0],t[s+1]=e[1],t[s+2]=e[2],t[s+3]=e[3];return t}})();var Et=/color|emissive|diffuse/i;function Dt(e){return e.getGraph().listParentEdges(e).some(e=>e.getAttributes().isColor||Et.test(e.getName()))?`srgb`:null}function Ot(e){let n=e.getGraph(),r=new Set,i=new Set;function a(e){let o=new Set;for(let r of n.listChildEdges(e))r.getChild()instanceof t.C&&o.add(r.getName()+`Info`);for(let s of n.listChildEdges(e)){let e=s.getChild();r.has(e)||(r.add(e),e instanceof t.w&&o.has(s.getName())?i.add(e):e instanceof t.f&&a(e))}}return a(e),Array.from(i)}function kt(e){let n=t.d.fromGraph(e.getGraph()).getRoot(),r=e.getGraph().listParentEdges(e).filter(e=>e.getParent()!==n).map(e=>e.getName());return Array.from(new Set(r))}var G=`prune`,At=3/255,jt={propertyTypes:[t.b.NODE,t.b.SKIN,t.b.MESH,t.b.CAMERA,t.b.PRIMITIVE,t.b.PRIMITIVE_TARGET,t.b.ANIMATION,t.b.MATERIAL,t.b.TEXTURE,t.b.ACCESSOR,t.b.BUFFER],keepLeaves:!1,keepAttributes:!1,keepIndices:!1,keepSolidTextures:!1,keepExtras:!1};function Mt(e=jt){let n=M(jt,e),r=new Set(n.propertyTypes),i=n.keepExtras;return j(G,async e=>{let a=e.getLogger(),o=e.getRoot(),s=e.getGraph(),c=new Nt,l=e=>c.dispose(e.target);if(s.addEventListener(`node:dispose`,l),r.has(t.b.MESH))for(let e of o.listMeshes())e.listPrimitives().length>0||e.dispose();if(r.has(t.b.NODE)){if(!n.keepLeaves)for(let e of o.listScenes())Ft(s,e,i);for(let e of o.listNodes())K(e,i)}if(r.has(t.b.SKIN))for(let e of o.listSkins())K(e,i);if(r.has(t.b.MESH))for(let e of o.listMeshes())K(e,i);if(r.has(t.b.CAMERA))for(let e of o.listCameras())K(e,i);if(r.has(t.b.PRIMITIVE)&&Pt(s,t.b.PRIMITIVE,i),r.has(t.b.PRIMITIVE_TARGET)&&Pt(s,t.b.PRIMITIVE_TARGET,i),!n.keepAttributes&&r.has(t.b.ACCESSOR)){let t=new Map;for(let n of o.listMeshes())for(let r of n.listPrimitives()){let n=r.getMaterial();if(!n)continue;let i=Lt(r,Rt(e,r,n));It(r,i),r.listTargets().forEach(e=>It(e,i)),t.has(n)?t.get(n).add(r):t.set(n,new Set([r]))}for(let[e,n]of t)zt(e,Array.from(n))}if(r.has(t.b.ANIMATION))for(let e of o.listAnimations()){for(let t of e.listChannels())t.getTargetNode()||t.dispose();if(e.listChannels().length)e.listSamplers().forEach(e=>K(e,i));else{let t=e.listSamplers();K(e,i),t.forEach(e=>K(e,i))}}if(r.has(t.b.MATERIAL)&&o.listMaterials().forEach(e=>K(e,i)),r.has(t.b.TEXTURE)&&(o.listTextures().forEach(e=>K(e,i)),n.keepSolidTextures||await Bt(e)),r.has(t.b.ACCESSOR)&&o.listAccessors().forEach(e=>K(e,i)),r.has(t.b.BUFFER)&&o.listBuffers().forEach(e=>K(e,i)),s.removeEventListener(`node:dispose`,l),c.empty())a.debug(`${G}: No unused properties found.`);else{let e=c.entries().map(([e,t])=>`${e} (${t})`).join(`, `);a.info(`${G}: Removed types... ${e}`)}a.debug(`${G}: Complete.`)})}var Nt=class{constructor(){this.disposed={}}empty(){for(let e in this.disposed)return!1;return!0}entries(){return Object.entries(this.disposed)}dispose(e){this.disposed[e.propertyType]=this.disposed[e.propertyType]||0,this.disposed[e.propertyType]++}};function K(e,n){let r=e.listParents().filter(e=>!(e instanceof t.x||e instanceof t.s)),i=n&&!me(e.getExtras());!r.length&&!i&&e.dispose()}function Pt(e,t,n){for(let r of e.listEdges()){let e=r.getParent();e.propertyType===t&&K(e,n)}}function Ft(e,n,r){if(n.listChildren().forEach(t=>Ft(e,t,r)),n instanceof t.S)return;let i=e.listParentEdges(n).some(e=>{let n=e.getParent().propertyType;return n!==t.b.ROOT&&n!==t.b.SCENE&&n!==t.b.NODE}),a=e.listChildren(n).length===0,o=r&&!me(n.getExtras());a&&!i&&!o&&n.dispose()}function It(e,t){for(let n of t)e.setAttribute(n,null)}function Lt(e,t){let n=[];for(let r of e.listSemantics())(r===`NORMAL`&&!t.has(r)||r===`TANGENT`&&!t.has(r)||r.startsWith(`TEXCOORD_`)&&!t.has(r)||r.startsWith(`COLOR_`)&&r!==`COLOR_0`)&&n.push(r);return n}function Rt(e,n,r,i=new Set){let a=e.getGraph().listChildEdges(r),o=new Set;for(let e of a)e.getChild()instanceof t.C&&o.add(e.getName());for(let r of a){let a=r.getName(),s=r.getChild();s instanceof t.w&&o.has(a.replace(/Info$/,``))&&i.add(`TEXCOORD_${s.getTexCoord()}`),s instanceof t.C&&a.match(/normalTexture/i)&&i.add(`TANGENT`),s instanceof t.f&&Rt(e,n,s,i)}let s=r instanceof t.h&&!r.getExtension(`KHR_materials_unlit`),c=n.getMode()===t.v.Mode.POINTS;return s&&!c&&i.add(`NORMAL`),i}function zt(e,t){let n=Ot(e),r=new Set(n.map(e=>e.getTexCoord())),i=Array.from(r).sort(),a=new Map(i.map((e,t)=>[e,t])),o=new Map(i.map((e,t)=>[`TEXCOORD_${e}`,`TEXCOORD_${t}`]));for(let e of n){let t=e.getTexCoord();e.setTexCoord(a.get(t))}for(let e of t){let t=e.listSemantics().filter(e=>e.startsWith(`TEXCOORD_`)).sort();s(e,t),e.listTargets().forEach(e=>s(e,t))}function s(e,t){for(let n of t){let t=e.getAttribute(n);if(!t)continue;let r=o.get(n);r!==n&&(e.setAttribute(r,t),e.setAttribute(n,null))}}}async function Bt(e){let n=e.getRoot(),r=e.getGraph(),i=e.getLogger(),a=n.listTextures().map(async e=>{let a=await Ht(e);if(!a)return;Dt(e)===`srgb`&&t.l.convertSRGBToLinear(a,a);let o=e.getName()||e.getURI(),s=e.getSize()?.join(`x`),c=kt(e);for(let t of r.listParentEdges(e)){let e=t.getParent();e!==n&&Vt(e,a,t.getName(),i)&&t.dispose()}e.listParents().length===1&&(e.dispose(),i.debug(`${G}: Removed solid-color texture "${o}" (${s}px ${c.join(`, `)})`))});await Promise.all(a)}function Vt(e,n,r,i){if(e instanceof t.h)switch(r){case`baseColorTexture`:return e.setBaseColorFactor(wt(n,n,e.getBaseColorFactor())),!0;case`emissiveTexture`:return e.setEmissiveFactor(He([0,0,0],n.slice(0,3),e.getEmissiveFactor())),!0;case`occlusionTexture`:return Math.abs(n[0]-1)<=At;case`metallicRoughnessTexture`:return e.setRoughnessFactor(n[1]*e.getRoughnessFactor()),e.setMetallicFactor(n[2]*e.getMetallicFactor()),!0;case`normalTexture`:return Tt(Ct(_t(),n,[.5,.5,1,1]))<=At}return i.warn(`${G}: Detected single-color ${r} texture. Pruning ${r} not yet supported.`),!1}async function Ht(e){let t=await Ut(e);if(!t)return null;let n=[1/0,1/0,1/0,1/0],r=[-1/0,-1/0,-1/0,-1/0],i=[0,0,0,0],[a,o]=t.shape;for(let e=0;e<a;e++){for(let i=0;i<o;i++)for(let a=0;a<4;a++)n[a]=Math.min(n[a],t.get(e,i,a)),r[a]=Math.max(r[a],t.get(e,i,a));if(Tt(Ct(i,r,n))/255>At)return null}return xt(i,vt(i,r,n),.5/255)}async function Ut(e){try{return await v(e.getImage(),e.getMimeType())}catch{return null}}function Wt(e){return{scenes:Gt(e),meshes:Kt(e),materials:qt(e),textures:Jt(e),animations:Yt(e)}}function Gt(e){return{properties:e.getRoot().listScenes().map(e=>{let n=e.listChildren()[0],r=t.E(e);return{name:e.getName(),rootName:n?n.getName():``,bboxMin:Qt(r.min),bboxMax:Qt(r.max),renderVertexCount:Te(e,L.RENDER),uploadVertexCount:Te(e,L.UPLOAD),uploadNaiveVertexCount:Te(e,L.UPLOAD_NAIVE)}})}}function Kt(e){return{properties:e.getRoot().listMeshes().map(e=>{let n=e.listParents().filter(e=>e.propertyType!==t.b.ROOT).length,r=0,i=new Set,a=new Set,o=new Set;e.listPrimitives().forEach(e=>{for(let t of e.listSemantics()){let n=e.getAttribute(t);i.add(t+`:`+$t(n)),o.add(n)}for(let t of e.listTargets())t.listAttributes().forEach(e=>o.add(e));let t=e.getIndices();t&&(a.add($t(t)),o.add(t)),r+=ie(e)});let s=0;Array.from(o).forEach(e=>s+=e.getArray().byteLength);let c=e.listPrimitives().map(e=>Xt[e.getMode()]);return{name:e.getName(),mode:Array.from(new Set(c)),meshPrimitives:e.listPrimitives().length,glPrimitives:r,vertices:R(e,L.UPLOAD),indices:Array.from(a).sort(),attributes:Array.from(i).sort(),instances:n,size:s}})}}function qt(e){return{properties:e.getRoot().listMaterials().map(n=>{let r=n.listParents().filter(e=>e.propertyType!==t.b.ROOT).length,i=new Set(n.listExtensions()),a=e.getGraph().listEdges().filter(e=>{let r=e.getChild(),a=e.getParent();return!!(r instanceof t.C&&a===n||r instanceof t.C&&a instanceof t.f&&i.has(a))}).map(e=>e.getName());return{name:n.getName(),instances:r,textures:a,alphaMode:n.getAlphaMode(),doubleSided:n.getDoubleSided()}})}}function Jt(e){return{properties:e.getRoot().listTextures().map(n=>{let r=n.listParents().filter(e=>e.propertyType!==t.b.ROOT).length,i=e.getGraph().listParentEdges(n).filter(e=>e.getParent().propertyType!==t.b.ROOT).map(e=>e.getName()),a=t.m.getSize(n.getImage(),n.getMimeType()),o=``;if(n.getMimeType()===`image/ktx2`){let e=t.a(n.getImage()).dataFormatDescriptor[0];e.colorModel===163?o=`ETC1S`:e.colorModel===166&&(o=`UASTC`)}return{name:n.getName(),uri:n.getURI(),slots:Array.from(new Set(i)),instances:r,mimeType:n.getMimeType(),compression:o,resolution:a?a.join(`x`):``,size:n.getImage().byteLength,gpuSize:t.m.getVRAMByteLength(n.getImage(),n.getMimeType())}})}}function Yt(e){return{properties:e.getRoot().listAnimations().map(e=>{let t=1/0,n=-1/0;e.listSamplers().forEach(e=>{let r=e.getInput();r&&(t=Math.min(t,r.getMin([])[0]),n=Math.max(n,r.getMax([])[0]))});let r=0,i=0,a=new Set;return e.listSamplers().forEach(e=>{let t=e.getInput(),n=e.getOutput();t&&(i+=t.getCount(),a.add(t),n&&a.add(n))}),Array.from(a).forEach(e=>{r+=e.getArray().byteLength}),{name:e.getName(),channels:e.listChannels().length,samplers:e.listSamplers().length,duration:Math.round((n-t)*1e3)/1e3,keyframes:i,size:r}})}}var Xt=[`POINTS`,`LINES`,`LINE_LOOP`,`LINE_STRIP`,`TRIANGLES`,`TRIANGLE_STRIP`,`TRIANGLE_FAN`],Zt={Float32Array:`f32`,Uint32Array:`u32`,Uint16Array:`u16`,Uint8Array:`u8`,Int32Array:`i32`,Int16Array:`i16`,Int8Array:`i8`};function Qt(e){for(let t=0;t<e.length;t++)e[t].toFixed&&(e[t]=Number(e[t].toFixed(5)));return e}function $t(e){return(Zt[e.getArray().constructor.name]||`?`)+(e.getNormalized()?`_norm`:``)}var{LINE_STRIP:en,LINE_LOOP:tn,TRIANGLE_STRIP:nn,TRIANGLE_FAN:rn}=t.v.Mode,{ROOT:an,NODE:on,MESH:sn,PRIMITIVE:cn,ACCESSOR:ln}=t.b;function un(e,t=1/0){if(Number.isFinite(t)&&t%4||t<=0)throw Error(`Limit must be positive multiple of four.`);let n=e.getAttribute(`POSITION`).getCount(),r=e.listSemantics().filter(e=>e.startsWith(`WEIGHTS_`)).length,i=new Uint16Array(r*4),a=new Float32Array(r*4),o=new Float32Array(r*4),s=new Uint32Array(r*4),c=new Uint32Array(r*4);for(let t=0;t<n;t++){q(e,t,`WEIGHTS`,a),q(e,t,`JOINTS`,s);for(let e=0;e<r*4;e++)i[e]=e;i.sort((e,t)=>a[e]>a[t]?-1:1);for(let e=0;e<i.length;e++)o[e]=a[i[e]],c[e]=s[i[e]];J(e,t,`WEIGHTS`,o),J(e,t,`JOINTS`,c)}for(let n=r;n*4>t;n--){let t=e.getAttribute(`WEIGHTS_${n-1}`),r=e.getAttribute(`JOINTS_${n-1}`);e.setAttribute(`WEIGHTS_${n-1}`,null),e.setAttribute(`JOINTS_${n-1}`,null),t.listParents().length===1&&t.dispose(),r.listParents().length===1&&r.dispose()}dn(e)}function dn(e){if(!pn(e))return;let n=e.getAttribute(`POSITION`).getCount(),r=e.listSemantics().filter(e=>e.startsWith(`WEIGHTS_`)).length,i=e.getAttribute(`WEIGHTS_0`),a=i.getArray(),o=i.getComponentType(),s=i.getNormalized(),c=s?o:void 0,l=s?t.g.decodeNormalizedInt(1,o):2**-52,u=new Uint32Array(r*4).fill(0),d=a.slice(0,r*4).fill(0);for(let r=0;r<n;r++){q(e,r,`JOINTS`,u),q(e,r,`WEIGHTS`,d,c);let n=fn(d,c);if(n!==0&&n!==1){if(Math.abs(1-n)>l)for(let e=0;e<d.length;e++)if(s){let r=t.g.decodeNormalizedInt(d[e],o);d[e]=t.g.encodeNormalizedInt(r/n,o)}else d[e]/=n;if(n=fn(d,c),s&&n!==1){for(let e=d.length-1;e>=0;e--)if(d[e]>0){let r=1-n;d[e]+=Math.sign(r)*t.g.encodeNormalizedInt(Math.abs(r),o);break}}}for(let e=d.length-1;e>=0;e--)d[e]===0&&(u[e]=0);J(e,r,`JOINTS`,u),J(e,r,`WEIGHTS`,d,c)}}function q(e,n,r,i,a){let o,s=[0,0,0,0];for(let c=0;o=e.getAttribute(`${r}_${c}`);c++){o.getElement(n,s);for(let e=0;e<4;e++)a?i[c*4+e]=t.g.encodeNormalizedInt(s[e],a):i[c*4+e]=s[e]}return i}function J(e,n,r,i,a){let o,s=[0,0,0,0];for(let c=0;o=e.getAttribute(`${r}_${c}`);c++){for(let e=0;e<4;e++)a?s[e]=t.g.decodeNormalizedInt(i[c*4+e],a):s[e]=i[c*4+e];o.setElement(n,s)}}function fn(e,n){let r=0;for(let i=0;i<e.length;i++)n?r+=t.g.decodeNormalizedInt(e[i],n):r+=e[i];return r}function pn(e){let t=e.listSemantics().filter(e=>e.startsWith(`WEIGHTS_`)).map(t=>e.getAttribute(t)),n=t.map(e=>e.getNormalized()),r=t.map(e=>e.getComponentType());return new Set(n).size===1&&new Set(r).size===1}var Y=`quantize`,mn=[Int8Array,Int16Array,Int32Array],{TRANSLATION:hn,ROTATION:gn,SCALE:_n,WEIGHTS:vn}=t.s.TargetPath,yn=[hn,gn,_n],X={pattern:/.*/,quantizationVolume:`mesh`,quantizePosition:14,quantizeNormal:10,quantizeTexcoord:12,quantizeColor:8,quantizeWeight:8,quantizeGeneric:12,normalizeWeights:!0,cleanup:!0};function bn(e=X){let n=M(X,D({patternTargets:e.pattern||X.pattern},e));return j(Y,async e=>{let r=e.getLogger(),i=e.getRoot(),a;n.quantizationVolume===`scene`&&(a=Sn(Nn(i.listMeshes().map(kn))));for(let t of e.getRoot().listMeshes()){n.quantizationVolume===`mesh`&&(a=Sn(kn(t))),a&&n.pattern.test(`POSITION`)&&(Cn(e,t,a),En(t,1/a.scale));for(let r of t.listPrimitives()){z(r,L.RENDER)<z(r,L.UPLOAD)/2&&H(r),xn(e,r,a,n);for(let t of r.listTargets())xn(e,t,a,n)}}i.listMeshes().flatMap(e=>e.listPrimitives()).some(jn)&&e.createExtension(t.i).setRequired(!0),n.cleanup&&await e.transform(Mt({propertyTypes:[t.b.ACCESSOR,t.b.SKIN,t.b.MATERIAL],keepAttributes:!0,keepIndices:!0,keepLeaves:!0,keepSolidTextures:!0}),tt({propertyTypes:[t.b.ACCESSOR,t.b.MATERIAL,t.b.SKIN],keepUniqueNames:!0})),r.debug(`${Y}: Complete.`)})}function xn(e,n,r,i){let a=n instanceof t.y,o=e.getLogger();for(let e of n.listSemantics()){if(!a&&!i.pattern.test(e)||a&&!i.patternTargets.test(e))continue;let s=n.getAttribute(e),{bits:c,ctor:l}=On(e,s,o,i);if(!l)continue;if(c<8||c>16)throw Error(`${Y}: Requires bits = 8–16.`);if(s.getComponentSize()<=c/8)continue;let u=s.clone();if(e===`POSITION`){let e=r.scale,i=[];n instanceof t.v?xe(i,Z(r)):Ce(i,[1/e,1/e,1/e]);for(let e=0,t=[0,0,0],n=u.getCount();e<n;e++)u.getElement(e,t),u.setElement(e,Ve(t,t,i))}Dn(u,l,c),n.setAttribute(e,u)}if(i.normalizeWeights&&n.getAttribute(`WEIGHTS_0`)&&un(n,1/0),n instanceof t.v&&n.getIndices()&&n.listAttributes().length&&n.listAttributes()[0].getCount()<65535){let e=n.getIndices();e.setArray(new Uint16Array(e.getArray()))}}function Sn(e){let{min:t,max:n}=e,r=Math.max((n[0]-t[0])/2,(n[1]-t[1])/2,(n[2]-t[2])/2);return{offset:[t[0]+(n[0]-t[0])/2,t[1]+(n[1]-t[1])/2,t[2]+(n[2]-t[2])/2],scale:r}}function Cn(e,n,r){let i=Z(r);for(let a of n.listParents()){if(!(a instanceof t._))continue;let o=a.listParents().filter(e=>e instanceof t.s),s=o.some(e=>yn.includes(e.getTargetPath())),c=a.listChildren().length>0,l=a.getSkin();if(l){a.setSkin(wn(l,r));continue}let u=a.getExtension(`EXT_mesh_gpu_instancing`);if(u){a.setExtension(`EXT_mesh_gpu_instancing`,Tn(e,u,r));continue}let d;c||s?(d=e.createNode(``).setMesh(n),a.addChild(d).setMesh(null),o.filter(e=>e.getTargetPath()===vn).forEach(e=>e.setTargetNode(d))):d=a;let f=d.getMatrix();Se(f,f,i),d.setMatrix(f)}}function wn(e,t){e=e.clone();let n=Z(t),r=e.getInverseBindMatrices().clone(),i=[];for(let e=0,t=r.getCount();e<t;e++)r.getElement(e,i),Se(i,i,n),r.setElement(e,i);return e.setInverseBindMatrices(r)}function Tn(e,n,r){if(!n.getAttribute(`TRANSLATION`)&&!n.getAttribute(`ROTATION`)&&!n.getAttribute(`SCALE`))return n;n=n.clone();let i=n.getAttribute(`TRANSLATION`)?.clone(),a=n.getAttribute(`ROTATION`)?.clone(),o=n.getAttribute(`SCALE`)?.clone(),s=i||a||o,c=[0,0,0],l=[0,0,0,1],u=[1,1,1];!i&&r.offset&&(i=e.createAccessor().setType(`VEC3`).setArray(Fn(s.getCount(),c))),!o&&r.scale&&(o=e.createAccessor().setType(`VEC3`).setArray(Fn(s.getCount(),u)));let d=[0,0,0],f=[0,0,0,1],p=[1,1,1],m=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],h=Z(r);for(let e=0,n=s.getCount();e<n;e++)t.g.compose(i?i.getElement(e,d):c,a?a.getElement(e,f):l,o?o.getElement(e,p):u,m),Se(m,m,h),t.g.decompose(m,d,f,p),i&&i.setElement(e,d),a&&a.setElement(e,f),o&&o.setElement(e,p);return i&&n.setAttribute(`TRANSLATION`,i),a&&n.setAttribute(`ROTATION`,a),o&&n.setAttribute(`SCALE`,o),n}function En(e,t){for(let n of e.listPrimitives()){let e=n.getMaterial();if(!e)continue;let r=e.getExtension(`KHR_materials_volume`);!r||r.getThicknessFactor()<=0||(r=r.clone().setThicknessFactor(r.getThicknessFactor()*t),e=e.clone().setExtension(`KHR_materials_volume`,r),n.setMaterial(e))}}function Dn(e,t,n){let r=new t(e.getArray().length),i=+!!mn.includes(t),a=n-i,o=t.BYTES_PER_ELEMENT*8-i,s=2**a-1,c=o-a,l=2*a-o,u=[i>0?-1:0,1];for(let t=0,n=0,i=[];t<e.getCount();t++){e.getElement(t,i);for(let e=0;e<i.length;e++){let t=Pn(i[e],u);t=Math.round(Math.abs(t)*s),t=t<<c|t>>l,r[n++]=t*Math.sign(i[e])}}e.setArray(r).setNormalized(!0).setSparse(!1)}function On(e,t,n,r){let i=t.getMinNormalized([]),a=t.getMaxNormalized([]),o,s;if(e===`POSITION`)o=r.quantizePosition,s=o<=8?Int8Array:Int16Array;else if(e===`NORMAL`||e===`TANGENT`)o=r.quantizeNormal,s=o<=8?Int8Array:Int16Array;else if(e.startsWith(`COLOR_`))o=r.quantizeColor,s=o<=8?Uint8Array:Uint16Array;else if(e.startsWith(`TEXCOORD_`)){if(i.some(e=>e<0)||a.some(e=>e>1))return n.warn(`${Y}: Skipping ${e}; out of [0,1] range.`),{bits:-1};o=r.quantizeTexcoord,s=o<=8?Uint8Array:Uint16Array}else if(e.startsWith(`JOINTS_`))return o=Math.max(...t.getMax([]))<=255?8:16,s=o<=8?Uint8Array:Uint16Array,t.getComponentSize()>o/8&&t.setArray(new s(t.getArray())),{bits:-1};else if(e.startsWith(`WEIGHTS_`)){if(i.some(e=>e<0)||a.some(e=>e>1))return n.warn(`${Y}: Skipping ${e}; out of [0,1] range.`),{bits:-1};o=r.quantizeWeight,s=o<=8?Uint8Array:Uint16Array}else if(e.startsWith(`_`)){if(i.some(e=>e<-1)||a.some(e=>e>1))return n.warn(`${Y}: Skipping ${e}; out of [-1,1] range.`),{bits:-1};o=r.quantizeGeneric,s=s=i.some(e=>e<0)?o<=8?Int8Array:Int16Array:o<=8?Uint8Array:Uint16Array}else throw Error(`${Y}: Unexpected semantic, "${e}".`);return{bits:o,ctor:s}}function kn(e){let t=[],n=[];for(let r of e.listPrimitives()){let e=r.getAttribute(`POSITION`);e&&t.push(e);for(let e of r.listTargets()){let t=e.getAttribute(`POSITION`);t&&n.push(t)}}if(t.length===0)throw Error(`${Y}: Missing "POSITION" attribute.`);let r=Mn(t,3);if(n.length>0){let{min:e,max:t}=Mn(n,3);Le(r.min,r.min,Le(e,ze(e,e,2),[0,0,0])),Re(r.max,r.max,Re(t,ze(t,t,2),[0,0,0]))}return r}function An(e,n){let r=n.getComponentSize();if(e===`POSITION`||e===`NORMAL`||e===`TANGENT`)return r<4;if(e.startsWith(`TEXCOORD_`)){let e=n.getComponentType(),i=n.getNormalized();return r<4&&!(i&&e===t.o.ComponentType.UNSIGNED_BYTE)&&!(i&&e===t.o.ComponentType.UNSIGNED_SHORT)}return!1}function jn(e){for(let t of e.listSemantics())if(An(t,e.getAttribute(`POSITION`)))return!0;return e.propertyType===t.b.PRIMITIVE?e.listTargets().some(jn):!1}function Mn(e,t){let n=Array(t).fill(1/0),r=Array(t).fill(-1/0),i=[],a=[];for(let o of e){o.getMinNormalized(i),o.getMaxNormalized(a);for(let e=0;e<t;e++)n[e]=Math.min(n[e],i[e]),r[e]=Math.max(r[e],a[e])}return{min:n,max:r}}function Nn(e){let t=e[0];for(let n of e)Le(t.min,t.min,n.min),Re(t.max,t.max,n.max);return t}function Z(e){return we([],[0,0,0,1],e.offset,[e.scale,e.scale,e.scale])}function Pn(e,t){return Math.min(Math.max(e,t[0]),t[1])}function Fn(e,t){let n=t.length,r=new Float32Array(e*n);for(let i=0;i<e;i++)r.set(t,i*n);return r}D({level:`high`},X);var In=`unweld`,Ln={};function Rn(e=Ln){return j(In,e=>{let t=e.getLogger(),n=new Map;for(let t of e.getRoot().listMeshes())for(let e of t.listPrimitives())zn(e,n);t.debug(`${In}: Complete.`)})}function zn(e,n=new Map){let r=e.getIndices();if(!r)return;let i=e.getGraph(),a=t.d.fromGraph(i),o=a.getLogger(),s=e.getAttribute(`POSITION`).getCount();for(let t of e.listAttributes())e.swap(t,Bn(a,t,r,n)),t.listParents().length===1&&t.dispose();for(let t of e.listTargets())for(let e of t.listAttributes())t.swap(e,Bn(a,e,r,n)),e.listParents().length===1&&e.dispose();let c=e.getAttribute(`POSITION`).getCount();o.debug(`${In}: ${N(s,c)} vertices.`),e.setIndices(null),r.listParents().length===1&&r.dispose()}function Bn(e,t,n,r){if(r.has(t)&&r.get(t).has(n))return r.get(t).get(n);let i=t.getArray(),a=i.constructor,o=new a(n.getCount()*t.getElementSize()),s=n.getArray(),c=t.getElementSize();for(let e=0,t=n.getCount();e<t;e++)for(let t=0;t<c;t++)o[e*c+t]=i[s[e]*c+t];r.has(t)||r.set(t,new Map);let l=F(e,t).setArray(o);return r.get(t).set(n,l),l}var Q=`normals`,Vn={overwrite:!1};function Hn(e=Vn){let t=M(Vn,e);return j(Q,async e=>{let n=e.getLogger(),r=0;await e.transform(Rn());for(let i of e.getRoot().listMeshes())for(let a of i.listPrimitives()){let i=a.getAttribute(`POSITION`),o=a.getAttribute(`NORMAL`);if(t.overwrite&&o)o.dispose();else if(o){n.debug(`${Q}: Skipping primitive: NORMAL found.`);continue}o=e.createAccessor().setArray(new Float32Array(i.getCount()*3)).setType(`VEC3`);let s=[0,0,0],c=[0,0,0],l=[0,0,0];for(let e=0;e<i.getCount();e+=3){i.getElement(e+0,s),i.getElement(e+1,c),i.getElement(e+2,l);let t=Un(s,c,l);o.setElement(e+0,t),o.setElement(e+1,t),o.setElement(e+2,t)}a.setAttribute(`NORMAL`,o),r++}r?n.debug(`${Q}: Complete.`):n.warn(`${Q}: No qualifying primitives found. See debug output.`)})}function Un(e,t,n){let r=[t[0]-e[0],t[1]-e[1],t[2]-e[2]],i=[n[0]-e[0],n[1]-e[1],n[2]-e[2]];return Be([0,0,0],[r[1]*i[2]-r[2]*i[1],r[2]*i[0]-r[0]*i[2],r[0]*i[1]-r[1]*i[0]])}var Wn;(function(e){e[e.STEP=0]=`STEP`,e[e.LERP=1]=`LERP`,e[e.SLERP=2]=`SLERP`})(Wn||={}),Promise.resolve();var $=`simplify`,{POINTS:Gn,LINES:Kn,LINE_STRIP:qn,LINE_LOOP:Jn,TRIANGLES:Yn,TRIANGLE_STRIP:Xn,TRIANGLE_FAN:Zn}=t.v.Mode,Qn={ratio:0,error:1e-4,lockBorder:!1};function $n(e){let t=M(Qn,e),n=t.simplifier;if(!n)throw Error(`${$}: simplifier dependency required — install "meshoptimizer".`);return j($,async e=>{let r=e.getLogger();await n.ready,await e.transform(We({overwrite:!1}));let i=0;for(let n of e.getRoot().listMeshes()){for(let e of n.listPrimitives()){let n=e.getMode();if(n!==Yn&&n!==Xn&&n!==Zn&&n!==Gn){i++;continue}er(e,t),z(e,L.RENDER)===0&&le(e)}n.listPrimitives().length===0&&n.dispose()}i>0&&r.warn(`${$}: Skipped ${i} primitives: Unsupported draw mode.`),r.debug(`${$}: Complete.`)})}function er(e,n){let r=D({},Qn,n),i=r.simplifier,a=e.getGraph(),o=t.d.fromGraph(a),s=o.getLogger();switch(e.getMode()){case Gn:return tr(o,e,r);case Kn:case qn:case Jn:return s.warn(`${$}: Skipping primitive simplification: Unsupported draw mode.`),e;case Xn:case Zn:$e(e);break}let c=z(e,L.UPLOAD),l=z(e,L.RENDER);l<c/2&&H(e);let u=e.getAttribute(`POSITION`),d=e.getIndices(),f=u.getArray(),p=d.getArray();f instanceof Float32Array||(f=lt(f,u.getComponentType(),u.getNormalized())),p instanceof Uint32Array||(p=new Uint32Array(p));let m=Math.floor(r.ratio*l/3)*3,h=r.lockBorder?[`LockBorder`]:[],[g,_]=i.simplify(p,f,3,m,r.error,h);e.setIndices(F(o,d).setArray(g)),d.listParents().length===1&&d.dispose(),H(e);let v=z(e,L.UPLOAD);return v<=65534&&e.getIndices().setArray(new Uint16Array(e.getIndices().getArray())),s.debug(`${$}: ${N(c,v)} vertices, error: ${_.toFixed(4)}.`),e}function tr(e,t,n){let r=n.simplifier,i=e.getLogger();t.getIndices()&&zn(t);let a=t.getAttribute(`POSITION`),o=t.getAttribute(`COLOR_0`),s=a.getCount(),c=a.getArray(),l=o?o.getArray():void 0,u=o?o.getComponentSize():void 0;c instanceof Float32Array||(c=lt(c,a.getComponentType(),a.getNormalized())),l&&!(l instanceof Float32Array)&&(l=lt(l,a.getComponentType(),a.getNormalized()));let d=Math.floor(n.ratio*s),f=r.simplifyPoints(c,3,d,l,u),[p,m]=r.compactMesh(f);i.debug(`${$}: ${N(a.getCount(),m)} vertices.`);for(let n of P(t)){let r=F(e,n);Ne(n,null,p,r,m),ce(t,n,r),n.listParents().length===1&&n.dispose()}return t}var nr=[`jpeg`,`png`,`webp`,`avif`],rr;(function(e){e.LANCZOS3=`lanczos3`,e.LANCZOS2=`lanczos2`})(rr||={});var ir={resizeFilter:rr.LANCZOS3,pattern:void 0,formats:void 0,slots:void 0,quality:void 0,effort:void 0,lossless:!1,nearLossless:!1,chromaSubsampling:void 0,limitInputPixels:!0};async function ar(e,n){let r=D({},ir,n),i=r.encoder,a=e.getURI(),o=cr(e),s=Dt(e),c=r.targetFormat||o,l=e.getMimeType(),u=`image/${c}`,d=r.chromaSubsampling||(s===`srgb`?`4:2:0`:`4:4:4`),f=e.getImage(),p=i?await or(f,l,u,D({},r,{chromaSubsampling:d})):await sr(f,l,u,D({},r,{chromaSubsampling:d})),m=f.byteLength,h=p.byteLength;if(!(l===u&&h>=m&&!r.resize))if(l===u)e.setImage(p);else{let n=a?t.p.extension(a):t.m.mimeTypeToExtension(l),r=t.m.mimeTypeToExtension(u),i=e.getURI().replace(RegExp(`\\.${n}$`),`.${r}`);e.setImage(p).setMimeType(u).setURI(i)}}async function or(e,n,r,i){let a=i.encoder,o={},s=lr(r);switch(s){case`jpeg`:o={quality:i.quality,chromaSubsampling:i.chromaSubsampling};break;case`png`:o={quality:i.quality,effort:ur(i.effort,100,10)};break;case`webp`:o={quality:i.quality,effort:ur(i.effort,100,6),lossless:i.lossless,nearLossless:i.nearLossless};break;case`avif`:o={quality:i.quality,effort:ur(i.effort,100,9),lossless:i.lossless,chromaSubsampling:i.chromaSubsampling};break}let c=i.limitInputPixels,l=a(e,{limitInputPixels:c}).toFormat(s,o);if(i.resize){let r=t.m.getSize(e,n),a=Array.isArray(i.resize)?he(r,i.resize):ge(r,i.resize);l.resize(a[0],a[1],{fit:`fill`,kernel:i.resizeFilter})}return t.c.toView(await l.toBuffer())}async function sr(e,t,n,r){let i=await v(e,t);if(r.resize){let[e,t]=i.shape,a=Array.isArray(r.resize)?he([e,t],r.resize):ge([e,t],r.resize),o=(0,f.default)(new Uint8Array(a[0]*a[1]*4),[...a,4]);return r.resizeFilter===rr.LANCZOS3?T(i,o):E(i,o),y(o,n)}return y(i,n)}function cr(e){return lr(e.getMimeType())}function lr(e){let t=e.split(`/`).pop();if(!t||!nr.includes(t))throw Error(`Unknown MIME type "${e}".`);return t}function ur(e,t,n){if(e!=null)return Math.round(e/t*n)}(function(){var e=`b9H79Tebbbe9ok9Geueu9Geub9Gbb9Gruuuuuuueu9Gvuuuuueu9Gduueu9Gluuuueu9Gvuuuuub9Gouuuuuub9Gluuuub9GiuuueuiE8AdilveoveovrrwrrrDDoDrbqqbelve9Weiiviebeoweuecj:Gdkr:PlCo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8F9TW79O9V9Wt9FW9U9J9V9KW9wWVtW949c919M9MWV9mW4W2be8A9TW79O9V9Wt9FW9U9J9V9KW9wWVtW949c919M9MWVbd8F9TW79O9V9Wt9FW9U9J9V9KW9wWVtW949c919M9MWV9c9V919U9KbiE9TW79O9V9Wt9FW9U9J9V9KW9wWVtW949wWV79P9V9UblY9TW79O9V9Wt9FW9U9J9V9KW69U9KW949c919M9MWVbv8E9TW79O9V9Wt9FW9U9J9V9KW69U9KW949c919M9MWV9c9V919U9Kbo8A9TW79O9V9Wt9FW9U9J9V9KW69U9KW949wWV79P9V9UbrE9TW79O9V9Wt9FW9U9J9V9KW69U9KW949tWG91W9U9JWbwa9TW79O9V9Wt9FW9U9J9V9KW69U9KW949tWG91W9U9JW9c9V919U9KbDL9TW79O9V9Wt9FW9U9J9V9KWS9P2tWV9p9JtbqK9TW79O9V9Wt9FW9U9J9V9KWS9P2tWV9r919HtbkL9TW79O9V9Wt9FW9U9J9V9KWS9P2tWVT949WbxY9TW79O9V9Wt9FW9U9J9V9KWS9P2tWVJ9V29VVbmE9TW79O9V9Wt9F9V9Wt9P9T9P96W9wWVtW94J9H9J9OWbza9TW79O9V9Wt9F9V9Wt9P9T9P96W9wWVtW94J9H9J9OW9ttV9P9WbHa9TW79O9V9Wt9F9V9Wt9P9T9P96W9wWVtW94SWt9J9O9sW9T9H9WbOK9TW79O9V9Wt9F79W9Ht9P9H29t9VVt9sW9T9H9WbAl79IV9RbXDwebcekdKYq:8f8Adbk;wadhud9:8Jjjjjbc;qw9Rgr8KjjjjbcbhwdnaeTmbabcbyd;i:I:cjbaoaocb9iEgDc:GeV86bbarc;adfcbcjdz:xjjjb8AdnaiTmbarc;adfadalz:wjjjb8Akarc;abfalfcbcbcjdal9RalcFe0Ez:xjjjb8Aarc;abfarc;adfalz:wjjjb8Aar9cb83iUar9cb83i8War9cb83iyar9cb83iaar9cb83iKar9cb83izar9cb83iwar9cb83ibcj;abal9Uc;WFbGcjdalca0Ehqdnaicd6mbavcd9imbaDTmbadcefhkaqci2gxal2hmarc;alfclfhParc;qlfceVhsarc;qofclVhzcbhHincdhOcbhAdnavci6mbar9cb83i;Ooar9cb83i;Goar9cb83i;yoar9cb83i;qoadaHfgoybbhCcbhXincbhwcbhQdninaoalfhLaoybbgKaC7aQVhQawcP0meaLhoaKhCawcefgwaXfai6mbkkcbhCarc;qofhwincwhYcwh8AdnaQaC93gocFeGgEcs0mbclh8AaEci0mbcdcbaEEh8Akdnaocw4cFeGgEcs0mbclhYaEci0mbcdcbaEEhYkaYa8AfhEawydbh3cwhYcwh8Adnaocz4cFeGg5cs0mbclh8Aa5ci0mbcdcba5Eh8AkaEa3fhEdnaocFFFFb0mbclhYaocFFF8F0mbcbcdaocjjjw6EhYkawaEa8AfaYfBdbawclfhwaCcefgCcw9hmbkaLhoaKhCaXczfgXai6mbkcbhocehwazhQinawaoaQydbarc;qofaocdtfydb6EhoaQclfhQawcefgwcw9hmbkaoclthAcihOkcbhEarc;qlfcbcjdz:xjjjb8AarcbBd;ilar9cb83i;aladh8Eaqh8Fakh3inarc;qlfadaEaEcb9h9Ral2falz:wjjjb8Aaia8Faia8F6EhadnaqaiaE9RaEaqfai6EgKcsfc9WGgoaK9nmbarc;qofaKfcbaoaK9Rz:xjjjb8AkadaEal2fhhcbhginagaAVcl4hXarc;alfagcdtfh8JaHh8Kcbh8Lina8LaHfhwdndndndndndndnagPlbedibkaKTmvahawfhoarc;qlfawfRbbhQarc;qofhwaahCinawaoRbbgYaQ9RgQcetaQcKtc8F91786bbawcefhwaoalfhoaYhQaEaCcufgC9hmbxvkkaKTmla8Kc9:Ghoa8LcitcwGh8Aarc;qlfawceVfRbbcwtarc;qlfawc9:GfRbbVhQarc;qofhwaahCinawa3aofRbbcwta8EaofRbbVgYaQ9RgQcetaQcztc8F917cFFiGa8A486bbaoalfhoawcefhwaYhQaEaCcufgC9hmbxlkkasa8Kc98GgQfhoa3aQfhYarc;qlfawc98GgQfRbbhCcwhwinaoRbbawtaCVhCaocefhoawcwfgwca9hmbxdkkaKTmdxekaKTmea8Lcith5ahaQfh8AcbhLina8ARbbhQcwhoaYhwinawRbbaotaQVhQawcefhwaocwfgoca9hmbkarc;qofaLfaQaC7aX93a5486bbaYalfhYa8Aalfh8AaQhCaLcefgLaK9hmbkka8Jydbh8AcbhLarc;qofhoincdhQcbhwinaQaoawfRbbcb9hfhQawcefgwcz9hmbkclhCcbhwinaCaoawfRbbcd0fhCawcefgwcz9hmbkcwhYcbhwinaYaoawfRbbcP0fhYawcefgwcz9hmbkaQaCaQaC6EgwaYawaY6Egwczawcz6Ea8Afh8AaoczfhoaLczfgLaK6mbka8Ja8ABdbka8Kcefh8Ka8Lcefg8Lcl9hmbkagcefggaO9hmbka8Eamfh8Ea8Faxfh8Fa3amfh3aEaxfgEai6mbkcbhocehwaPhQinawaoaQydbarc;alfaocdtfydb6EhoaQclfhQaOawcefgw9hmbkaraHcd4faAcdVaoaocdSE86bbaHclfgHal6mbkkabaefhgabcefhoalcd4g8McbaDEhkadcefh8Narc;abfceVhecbhmdndninaiam9nmearc;qofcbcjdz:xjjjb8Aagao9Rak6mdadamal2gwfhxcbhHa8Nawfhzaocbakz:xjjjbg8Fakfh3aqaiam9Ramaqfai6Egscsfgocl4cifcd4hOaoc9WGg8JThPindndndndndndndndndndnaDTmbaraHcd4fRbbgQciGPlbedlbkasTmdaxaHfhoarc;abfaHfRbbhQarc;qofhwashCinawaoRbbgYaQ9RgQcetaQcKtc8F91786bbawcefhwaoalfhoaYhQaCcufgCmbxikkasTmiaHcitcwGh8Aarc;abfaHceVfRbbcwtarc;abfaHc9:GgofRbbVhQaxaofhoarc;qofhwashCinawao8VbbgYaQ9RgQcetaQcztc8F917cFFiGa8A486bbawcefhwaoalfhoaYhQaCcufgCmbxikkaeaHc98Gg8Afhoaza8AfhYarc;abfa8AfRbbhCcwhwinaoRbbawtaCVhCaocefhoawcwfgwca9hmbkasTmdaQcl4hKaHcitcKGhEaxa8Afh8AcbhLina8ARbbhQcwhoaYhwinawRbbaotaQVhQawcefhwaocwfgoca9hmbkarc;qofaLfaQaC7aK93aE486bbaYalfhYa8Aalfh8AaQhCaLcefgLas9hmbkkaDmbcbhoxlka8JTmbcbhodninarc;qofaofgwcwf8Pibaw8Pib:e9qTmeaoczfgoa8J9pmdxbkkdnavmbcehoxikcbh8AaOhLaOhKinarc;qofa8Afgocwf8Pibhyao8Pibh8PcdhQcbhwinaQaoawfRbbcb9hfhQawcefgwcz9hmbkclhCcbhwinaCaoawfRbbcd0fhCawcefgwcz9hmbkcwhYcbhwinaYaoawfRbbcP0fhYawcefgwcz9hmbkaQaCaQaC6EgoaYaoaY6Egoczaocz6EaKfhKaocucbaya8P:e9cb9sEgwaoaw6EaLfhLa8Aczfg8Aa8J9pmdxbkka8FaHcd4fgoaoRbbcdaHcetcoGtV86bbxikdnaLas6mbaKas6mba8FaHcd4fgoaoRbbciaHcetcoGtV86bbaga39Ras6mra3arc;qofasz:wjjjbasfh3xikaLaK9phoka8FaHcd4fgwawRbbaoaHcetcoGtV86bbkaga39RaO6mla3cbaOz:xjjjbgaaOfhKdndna8JmbaPhoxekdnagaK9RcK9pmbaPhoxekaocdtc:q:G:cjbfcj:G:cjbaDEg3ydxghcetc;:FFFeGhAcuhEcuahtcu7cFeGh8Ecbh8Karc;qofhQinarc;qofa8KfhXczh8AdndndnahPDbeeeeeeedekcucbaXcwf8PibaX8Pib:e9cb9sEh8AxekcbhoaAh8Aina8Aa8EaQaofRbb9nfh8Aaocefgocz9hmbkkcih5cbhYinczhwdndndna3aYcdtfydbgLPDbeeeeeeedekcucbaXcwf8PibaX8Pib:e9cb9sEhwxekaLcetc;:FFFeGhwcuaLtcu7cFeGhCcbhoinawaCaQaofRbb9nfhwaocefgocz9hmbkkdndnawa8A6mbaLaE9hmeawa8A9hmea3a5cdtfydbcwSmekaYh5awh8AkaYcefgYci9hmbkaaa8Kco4fgoaoRbba5a8Kci4coGtV86bbdndndna3a5cdtfydbgEPDdbbbbbbbebkdncwaE9Tg5TmbcuaEtcu7hwdndnaEceSmbcbh8LaQhXinaXhoa5hYcbhCinaoRbbg8AawcFeGgLa8AaL6EaCaEtVhCaocefhoaYcufgYmbkaKaC86bbaXa5fhXaKcefhKa8La5fg8Lcz6mbxdkkcbh8LaQhXinaXhoa5hYcbhCinaoRbbg8AawcFeGgLa8AaL6EaCcetVhCaocefhoaYcufgYmbkaKaC:T9cFe:d9c:c:qj:bw9:9c:q;c1:I1e:d9c:b:c:e1z9:9ca188bbaXa5fhXaKcefhKa8La5fg8Lcz6mbkkcbhoinaKaQaofRbbgC86bbaKaCawcFeG9pfhKaocefgocz9hmbxikkdnaEceSmbinaKcb86bbaKcefhKxbkkinaKcb86bbaKcefhKxbkkaKaX8Pbw83bwaKaX8Pbb83bbaKczfhKka8Kczfg8Ka8J9pgomeaQczfhQagaK9RcK9pmbkkaoTmlaKh3aKTmlkaHcefgHal9hmbkarc;abfaxascufal2falz:wjjjb8Aasamfhma3hoa3mbkcbhwxdkdnagao9RakalfgwcKcaaDEgQawaQ0EgC9pmbcbhwxdkdnawaQ9pmbaocbaCaw9Rgwz:xjjjbawfhokaoarc;adfalz:wjjjbalfhodnaDTmbaoara8Mz:wjjjba8Mfhokaoab9Rhwxekcbhwkarc;qwf8Kjjjjbawk5babaeadaialcdcbyd;i:I:cjbz:bjjjbk9reduaecd4gdaefgicaaica0Eabcj;abae9Uc;WFbGcjdaeca0Egifcufai9Uae2aiadfaicl4cifcd4f2fcefkmbcbabBd;i:I:cjbk;HPeLu8Jjjjjbc;ae9Rgl8Kjjjjbcbhvdnaeaici9UgocHf6mbabcbyd;m:I:cjbgrc;GeV86bbalc;abfcFecjez:xjjjb8Aal9cu83iUal9cu83i8Wal9cu83iyal9cu83iaal9cu83iKal9cu83izal9cu83iwal9cu83ibabaefc9WfhwabcefgDaofhednaiTmbcmcsarcb9kgqEhkcbhxcbhmcbhPcbhscbhzindnaeaw9nmbcbhvxikazcufhvadaPcdtfgHydbhOaHcwfydbhAaHclfydbhCcbhXdndndninalc;abfavcsGcitfgoydlhQdndndnaoydbgoaO9hmbaQaCSmekdnaoaC9hmbaQaA9hmbaXcefhXxekaoaA9hmeaQaO9hmeaXcdfhXkaXc870mdascufhvaHaXcdtgAcxGgoyd:4:G:cjbcdtfydbhQaHaoyd:0:G:cjbcdtfydbhCaHaoyd:W:G:cjbcdtfydbhOcbhodnindnalavcsGcdtfydbaQ9hmbaohXxdkcuhXavcufhvaocefgocz9hmbkkaxaQaxSgvaXce9iaXak9oVgoGfhxdndndncbcsavEaXaoEgvcs9hmbarce9imbaQaQamaQcefamSgvEgmcefSmecmcsavEhvkaDavaAc;WeGV86bbavcs9hmeaQam9Rgvcetavc8F917hvinaecbcjeavcje6EavcFbGV86bbaecefheavcr4gvmbkaQhmxvkcPhvaDaAcPV86bbaQhmkavTmiavak9omicdhocehXazhAxlkavcufhvaXclfgXc;ab9hmbkkdnaHcecdcbaAaxSEaCaxSEcdtgvyd:W:G:cjbcdtfydbgOTaHavyd:0:G:cjbcdtfydbgCceSGaHavyd:4:G:cjbcdtfydbgQcdSGaxcb9hGaqGgLce9hmbal9cu83iUal9cu83i8Wal9cu83iyal9cu83iaal9cu83iKal9cu83izal9cu83iwal9cu83ibcbhxkcbhXascufgvhodnindnalaocsGcdtfydbaC9hmbaXhAxdkcuhAaocufhoaXcefgXcz9hmbkkcbhodnindnalavcsGcdtfydbaQ9hmbaohXxdkcuhXavcufhvaocefgocz9hmbkkaxaOaxSgKfhHdndnaAcm0mbaAcefhAxekcbcsaCaHSgvEhAaHavfhHkdndnaXcm0mbaXcefhXxekcbcsaQaHSgvEhXaHavfhHkc9:cuaKEhYcbhvaXaAcltVg8AcFeGhodndndninavc;q:G:cjbfRbbaoSmeavcefgvcz9hmbxdkkaLaOax9havcm0VVmbaDavc;WeV86bbxekaDaY86bbaea8A86bbaecefhekdnaKmbaOam9Rgvcetavc8F917hvinaecbcjeavcje6EavcFbGV86bbaecefheavcr4gvmbkaOhmkdnaAcs9hmbaCam9Rgvcetavc8F917hvinaecbcjeavcje6EavcFbGV86bbaecefheavcr4gvmbkaChmkdnaXcs9hmbaQam9Rgvcetavc8F917hvinaecbcjeavcje6EavcFbGV86bbaecefheavcr4gvmbkaQhmkalascdtfaOBdbascefcsGhvdndnaAPzbeeeeeeeeeeeeeebekalavcdtfaCBdbascdfcsGhvkdndnaXPzbeeeeeeeeeeeeeebekalavcdtfaQBdbavcefcsGhvkcihoalc;abfazcitfgXaOBdlaXaCBdbazcefcsGhAcdhXavhsaHhxxekcdhoalascdtfaQBdbcehXascefcsGhsazhAkalc;abfaAcitfgvaCBdlavaQBdbalc;abfazaXfcsGcitfgvaQBdlavaOBdbaDcefhDazaofcsGhzaPcifgPai6mbkkdnaeaw9nmbcbhvxekcbhvinaeavfavc;q:G:cjbfRbb86bbavcefgvcz9hmbkaeab9Ravfhvkalc;aef8KjjjjbavkZeeucbhddninadcefgdc8F0meaeceadt0mbkkadcrfcFeGcr9Uci2cdfabci9U2cHfkmbcbabBd;m:I:cjbk:zderu8Jjjjjbcz9Rhlcbhvdnaeaicvf6mbabcbRb;m:I:cjbc;qeV86bbal9cb83iwabcefhvabaefc98fhodnaiTmbcbhecbhrcbhwindnavao6mbcbskadawcdtfydbgDalcwfaraDae9Rgeaec8F91ge7ae9Rc507grcdtfgqydb9Rgec8E91c9:Gaecdt7arVheinavcbcjeaecje6EaecFbGV86bbavcefhvaecr4gembkaqaDBdbaDheawcefgwai9hmbkkdnavao9nmbcbskavcbBbbavab9RclfhvkavkBeeucbhddninadcefgdc8F0meaeceadt0mbkkabadcwfcFeGcr9U2cvfk:dvli99dui99ludnaeTmbcuadcetcuftcu7:Zhvdndncuaicuftcu7:ZgoJbbbZMgr:lJbbb9p9DTmbar:Ohwxekcjjjj94hwkcbhicbhDinalclfIdbgrJbbbbJbbjZalIdbgq:lar:lMalcwfIdbgk:lMgr:varJbbbb9BEgrNhxaqarNhralcxfIdbhqdndnakJbbbb9GTmbaxhkxekJbbjZar:l:tgkak:maxJbbbb9GEhkJbbjZax:l:tgxax:marJbbbb9GEhrkdndnaqJbbj:;aqJbbj:;9GEgxJbbjZaxJbbjZ9FEavNJbbbZJbbb:;aqJbbbb9GEMgq:lJbbb9p9DTmbaq:Ohmxekcjjjj94hmkdndnakJbbj:;akJbbj:;9GEgqJbbjZaqJbbjZ9FEaoNJbbbZJbbb:;akJbbbb9GEMgq:lJbbb9p9DTmbaq:OhPxekcjjjj94hPkdndnarJbbj:;arJbbj:;9GEgqJbbjZaqJbbjZ9FEaoNJbbbZJbbb:;arJbbbb9GEMgr:lJbbb9p9DTmbar:Ohsxekcjjjj94hskdndnadcl9hmbabaDfgzas86bbazcifam86bbazcdfaw86bbazcefaP86bbxekabaifgzas87ebazcofam87ebazclfaw87ebazcdfaP87ebkaicwfhiaDclfhDalczfhlaecufgembkkk;hlld99eud99eudnaeTmbdndncuaicuftcu7:ZgvJbbbZMgo:lJbbb9p9DTmbao:Ohixekcjjjj94hikaic;8FiGhrinabcofcicdalclfIdb:lalIdb:l9EgialcwfIdb:lalaicdtfIdb:l9EEgialcxfIdb:lalaicdtfIdb:l9EEgiarV87ebdndnJbbj:;JbbjZalaicdtfIdbJbbbb9DEgoalaicd7cdtfIdbJ;Zl:1ZNNgwJbbj:;awJbbj:;9GEgDJbbjZaDJbbjZ9FEavNJbbbZJbbb:;awJbbbb9GEMgw:lJbbb9p9DTmbaw:Ohqxekcjjjj94hqkabcdfaq87ebdndnalaicefciGcdtfIdbJ;Zl:1ZNaoNgwJbbj:;awJbbj:;9GEgDJbbjZaDJbbjZ9FEavNJbbbZJbbb:;awJbbbb9GEMgw:lJbbb9p9DTmbaw:Ohqxekcjjjj94hqkabaq87ebdndnaoalaicufciGcdtfIdbJ;Zl:1ZNNgoJbbj:;aoJbbj:;9GEgwJbbjZawJbbjZ9FEavNJbbbZJbbb:;aoJbbbb9GEMgo:lJbbb9p9DTmbao:Ohixekcjjjj94hikabclfai87ebabcwfhbalczfhlaecufgembkkk;Pviwue99eu8Jjjjjbcjd9Rgo8Kjjjjbadcd4hrdndndnavcd9hmbarTmbaohdarhwinadc:CuBdbadclfhdawcufgwmbkaeTmdarcdthDalhqcbhkinaohdaqhwarhxinadadydbgmcbawIdbgP:8cL4cFeGc:cufaPJbbbb9BEgsamas9kEBdbawclfhwadclfhdaxcufgxmbkaqaDfhqakcefgkae9hmbxdkkaeTmekarcdthqavce9hhDcbhkindndndnaDmbarTmdc:CuhwalhdarhxinawcbadIdbgP:8cL4cFeGc:cufaPJbbbb9BEgmawam9kEhwadclfhdaxcufgxmbxdkkdndndndnavPleddbdkarTmlaohdalhwarhxinadcbcbawIdbgP:8cL4cFeGgmc:cufgsasam0EaPJbbbb9BEBdbadclfhdawclfhwaxcufgxmbxikkarTmicbhdarhwinaoadfcbaladfIdbgP:8cL4cFeGgxc8Aaxc8A0Ec:cufaPJbbbb9BEBdbadclfhdawcufgwmbxdkkarTmdkc:CuhwkcbhdarhminawhxdnavceSmbaoadfydbhxkdndnaladfIdbgPcjjj;8iaxai9RcefgxcLt9R::NJbbbZJbbb:;aPJbbbb9GEMgP:lJbbb9p9DTmbaP:Ohsxekcjjjj94hskabadfascFFFrGaxcKtVBdbadclfhdamcufgmmbkkabaqfhbalaqfhlakcefgkae9hmbkkaocjdf8Kjjjjbk:Olveue99iue99iudnaeTmbceaicufthvcuaitcu7:Zhocbhradcl9hhwcbhDindndnalcwfIdbgqJbbbbaqJbbbb9GEgqJbbjZaqJbbjZ9FEaoNJbbbZMgq:lJbbb9p9DTmbaq:Ohixekcjjjj94hikdndnalIdbgqJbbbbaqJbbbb9GEgqJbbjZaqJbbjZ9FEaoNJbbbZMgq:lJbbb9p9DTmbaq:Ohdxekcjjjj94hdkadai9Rcd9TgkaifhidndnalclfIdbgqJbbbbaqJbbbb9GEgqJbbjZaqJbbjZ9FEaoNJbbbZMgq:lJbbb9p9DTmbaq:Ohdxekcjjjj94hdkadai9Rcd9ThddndnalcxfIdbgqJbbbbaqJbbbb9GEgqJbbjZaqJbbjZ9FEaoNJbbbZMgq:lJbbb9p9DTmbaq:Ohxxekcjjjj94hxkadaifhiaxce91avVhxdndnawmbabaDfgmai86bbamcifax86bbamcdfad86bbamcefak86bbxekabarfgmai87ebamcofax87ebamclfad87ebamcdfak87ebkarcwfhraDclfhDalczfhlaecufgembkkk;mqdQui998Jjjjjbc:qd9Rgv8Kjjjjbavc:Sefcbc;Kbz:xjjjb8AdnadTmbaiTmbdndnabaeSmbaehoxekavcuadcdtgradcFFFFi0Ecbyd;q:I:cjbHjjjjbbgoBd:SeavceBd:mdaoaearz:wjjjb8AkavcbBd:Oeav9cb83i:Geavc:Gefaoadaiavc:Sefz:pjjjbavyd:Gehwadci9UgDcbyd;q:I:cjbHjjjjbbheavc:Sefavyd:mdgqcdtfaeBdbavaqcefgrBd:mdaecbaDz:xjjjbhkavc:SefarcdtfcuaicdtaicFFFFi0Ecbyd;q:I:cjbHjjjjbbgxBdbavaqcdfgmBd:mdalc;ebfhPawheaxhrinaralIdbaPaeydbgscwascw6EcdtfIdbMUdbaeclfhearclfhraicufgimbkavc:SefamcdtfcuaDcdtadcFFFF970Ecbyd;q:I:cjbHjjjjbbgmBdbdnadci6mbaoheamhraDhiinaraxaeydbcdtfIdbaxaeclfydbcdtfIdbMaxaecwfydbcdtfIdbMUdbaecxfhearclfhraicufgimbkkaqcifhzalc;ebfhHavc;qbfhOavheavyd:KehAavyd:OehCcbhscbhrcbhXcehQinaehLaoarcx2fgKydbhPaKclfydbhdabaXcx2fgecwfaKcwfydbgYBdbaeclfadBdbaeaPBdbakarfce86bbaOaYBdwaOadBdlaOaPBdbamarcdtfcbBdbcih8AdnasTmbaLhiinaOa8AcdtfaiydbgeBdba8AaeaY9haeaP9haead9hGGfh8AaiclfhiascufgsmbkkaXcefhXcbhsinaCaAaKascdtfydbcdtgifydbcdtfgYheawaifgdydbgPhidnaPTmbdninaeydbarSmeaeclfheaicufgiTmdxbkkaeaYaPcdtfc98fydbBdbadadydbcufBdbkascefgsci9hmbkdndndna8ATmbcuhrJbbbbhEcbhdavyd:KehYavyd:OehKindnawaOadcdtfydbcdtgsfydbgeTmbaxasfgiIdbh3aialcuadadcs0EcdtfclfIdbaHaecwaecw6EcdtfIdbMg5Udba5a3:th5aecdthiaKaYasfydbcdtfheinamaeydbgscdtfgPa5aPIdbMg3Udba3aEaEa39DgPEhEasaraPEhraeclfheaic98fgimbkkadcefgda8A9hmbkarcu9hmekaQaD9pmeindnakaQfRbbmbaQhrxdkaDaQcefgQ9hmbxdkka8Acza8Acz6EhsaOheaLhOarcu9hmekkazTmbaqcdtavc:Seffcwfheinaeydbcbyd;u:I:cjbH:bjjjbbaec98fheazcufgzmbkkavc:qdf8Kjjjjbk:0leoucuaicdtgvaicFFFFi0Egocbyd;q:I:cjbHjjjjbbhralalyd9GgwcdtfarBdbalawcefBd9GabarBdbaocbyd;q:I:cjbHjjjjbbhralalyd9GgocdtfarBdbalaocefBd9GabarBdlcuadcdtadcFFFFi0Ecbyd;q:I:cjbHjjjjbbhralalyd9GgocdtfarBdbalaocefBd9GabarBdwabydbcbavz:xjjjb8AabydbhraehladhvinaralydbcdtfgoaoydbcefBdbalclfhlavcufgvmbkcbhvabydlglhoarhwaihDinaoavBdbaoclfhoawydbavfhvawclfhwaDcufgDmbkadci9Uhqdnadcd9nmbabydwhocbhvinaecwfydbhwaeclfydbhDalaeydbcdtfgbabydbgbcefBdbaoabcdtfavBdbalaDcdtfgDaDydbgDcefBdbaoaDcdtfavBdbalawcdtfgwawydbgwcefBdbaoawcdtfavBdbaecxfheaqavcefgv9hmbkkinalalydbarydb9RBdbarclfhralclfhlaicufgimbkkQbabaeadaic;G:G:cjbz:ojjjbkQbabaeadaic;i:H:cjbz:ojjjbk9DeeuabcFeaicdtz:xjjjbhlcbhbdnadTmbindnalaeydbcdtfgiydbcu9hmbaiabBdbabcefhbkaeclfheadcufgdmbkkabk:3vioud9:du8Jjjjjbc;Wa9Rgl8Kjjjjbcbhvalcxfcbc;Kbz:xjjjb8AalcuadcitgoadcFFFFe0Ecbyd;q:I:cjbHjjjjbbgrBdxalceBd2araeadaicezNjjjbalcuaoadcjjjjoGEcbyd;q:I:cjbHjjjjbbgwBdzadcdthednadTmbabhiinaiavBdbaiclfhiadavcefgv9hmbkkawaefhDalabBdwalawBdl9cbhqindnadTmbaq9cq9:hkarhvaDhiadheinaiav8Pibak1:NcFrG87ebavcwfhvaicdfhiaecufgembkkalclfaq:NceGcdtfydbhxalclfaq9ce98gq:NceGcdtfydbhmalc;Wbfcbcjaz:xjjjb8AaDhvadhidnadTmbinalc;Wbfav8VebcdtfgeaeydbcefBdbavcdfhvaicufgimbkkcbhvcbhiinalc;WbfavfgeydbhoaeaiBdbaoaifhiavclfgvcja9hmbkadhvdndnadTmbinalc;WbfaDamydbgicetf8VebcdtfgeaeydbgecefBdbaxaecdtfaiBdbamclfhmavcufgvmbkaq9cv9smdcbhvinabawydbcdtfavBdbawclfhwadavcefgv9hmbxdkkaq9cv9smekkcwhvcbhiinalcxfavfc98fydbcbyd;u:I:cjbH:bjjjbbaiceGheclhvcehiaeTmbkalc;Waf8Kjjjjbk:Awliuo99iud9:cbhv8Jjjjjbca9Rgocbyd:4:I:cjbBdKaocb8Pd:W:I:cjb83izaocbyd;e:I:cjbBdwaocb8Pd:8:I:cjb83ibaicd4hrdndnadmbJFFuFhwJFFuuhDJFFuuhqJFFuFhkJFFuuhxJFFuFhmxekarcdthPaehsincbhiinaoczfaifgzasaifIdbgwazIdbgDaDaw9EEUdbaoaifgzawazIdbgDaDaw9DEUdbaiclfgicx9hmbkasaPfhsavcefgvad9hmbkaoIdKhDaoIdwhwaoIdChqaoIdlhkaoIdzhxaoIdbhmkdnadTmbJbbbbJbFu9hJbbbbamax:tgmamJbbbb9DEgmakaq:tgkakam9DEgkawaD:tgwawak9DEgw:vawJbbbb9BEhwdnalmbarcdthoindndnaeclfIdbaq:tawNJbbbZMgk:lJbbb9p9DTmbak:Ohixekcjjjj94hikai:S9cC:ghHdndnaeIdbax:tawNJbbbZMgk:lJbbb9p9DTmbak:Ohixekcjjjj94hikaHai:S:ehHdndnaecwfIdbaD:tawNJbbbZMgk:lJbbb9p9DTmbak:Ohixekcjjjj94hikabaHai:T9cy:g:e83ibaeaofheabcwfhbadcufgdmbxdkkarcdthoindndnaeIdbax:tawNJbbbZMgk:lJbbb9p9DTmbak:Ohixekcjjjj94hikai:SgH9ca:gaH9cz:g9cjjj;4s:d:eaH9cFe:d:e9cF:bj;4:pj;ar:d9c:bd9:9c:p;G:d;4j:E;ar:d9cH9:9c;d;H:W:y:m:g;d;Hb:d9cv9:9c;j:KM;j:KM;j:Kd:dhOdndnaeclfIdbaq:tawNJbbbZMgk:lJbbb9p9DTmbak:Ohixekcjjjj94hikai:SgH9ca:gaH9cz:g9cjjj;4s:d:eaH9cFe:d:e9cF:bj;4:pj;ar:d9c:bd9:9c:p;G:d;4j:E;ar:d9cH9:9c;d;H:W:y:m:g;d;Hb:d9cq9:9cM;j:KM;j:KM;jl:daO:ehOdndnaecwfIdbaD:tawNJbbbZMgk:lJbbb9p9DTmbak:Ohixekcjjjj94hikabaOai:SgH9ca:gaH9cz:g9cjjj;4s:d:eaH9cFe:d:e9cF:bj;4:pj;ar:d9c:bd9:9c:p;G:d;4j:E;ar:d9cH9:9c;d;H:W:y:m:g;d;Hb:d9cC9:9c:KM;j:KM;j:KMD:d:e83ibaeaofheabcwfhbadcufgdmbkkk9teiucbcbyd;y:I:cjbgeabcifc98GfgbBd;y:I:cjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik;LeeeudndnaeabVciGTmbabhixekdndnadcz9pmbabhixekabhiinaiaeydbBdbaiclfaeclfydbBdbaicwfaecwfydbBdbaicxfaecxfydbBdbaeczfheaiczfhiadc9Wfgdcs0mbkkadcl6mbinaiaeydbBdbaeclfheaiclfhiadc98fgdci0mbkkdnadTmbinaiaeRbb86bbaicefhiaecefheadcufgdmbkkabk;aeedudndnabciGTmbabhixekaecFeGc:b:c:ew2hldndnadcz9pmbabhixekabhiinaialBdbaicxfalBdbaicwfalBdbaiclfalBdbaiczfhiadc9Wfgdcs0mbkkadcl6mbinaialBdbaiclfhiadc98fgdci0mbkkdnadTmbinaiae86bbaicefhiadcufgdmbkkabk9teiucbcbyd;y:I:cjbgeabcrfc94GfgbBd;y:I:cjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaikTeeucbabcbyd;y:I:cjbge9Rcifc98GaefgbBd;y:I:cjbdnabZbcztge9nmbabae9RcFFifcz4nb8Akkk;Sddbcj:Gdk;idbbbbdbbblbbbwbbbbbbbebbbdbbblbbbwbbbbbbbbbbbbbbbbbbbebbbdbbbbbbbebbbbbbbbbbbbbbbb4:h9w9N94:P:gW:j9O:ye9Pbbbbbb:l29hZ;69:9kZ;N;76Z;rg97Z;z;o9xZ8J;B85Z;:;u9yZ;b;k9HZ:2;Z9DZ9e:l9mZ59A8KZ:r;T3Z:A:zYZ79OHZ;j4::8::Y:D9V8:bbbb9s:49:Z8R:hBZ9M9M;M8:L;z;o8:;8:PG89q;x:J878R:hQ8::M:B;e87bbbbbbjZbbjZbbjZ:E;V;N8::Y:DsZ9i;H;68:xd;R8:;h0838:;W:NoZbbbb:WV9O8:uf888:9i;H;68:9c9G;L89;n;m9m89;D8Ko8:bbbbf:8tZ9m836ZS:2AZL;zPZZ818EZ9e:lxZ;U98F8:819E;68:FFuuFFuuFFuuFFuFFFuFFFuFbc;i:IdkCebbbebbbebbbdbbb9G:rbb`,t=new Uint8Array([32,0,65,2,1,106,34,33,3,128,11,4,13,64,6,253,10,7,15,116,127,5,8,12,40,16,19,54,20,9,27,255,113,17,42,67,24,23,146,148,18,14,22,45,70,69,56,114,101,21,25,63,75,136,108,28,118,29,73,115]);if(typeof WebAssembly!=`object`)return{supported:!1};var n,r=WebAssembly.instantiate(i(e),{}).then(function(e){n=e.instance,n.exports.__wasm_call_ctors(),n.exports.meshopt_encodeVertexVersion(1),n.exports.meshopt_encodeIndexVersion(1)});function i(e){for(var n=new Uint8Array(e.length),r=0;r<e.length;++r){var i=e.charCodeAt(r);n[r]=i>96?i-97:i>64?i-39:i+4}for(var a=0,r=0;r<e.length;++r)n[a++]=n[r]<60?t[n[r]]:(n[r]-60)*64+n[++r];return n.buffer.slice(0,a)}function a(e){if(!e)throw Error(`Assertion failed`)}function o(e){return new Uint8Array(e.buffer,e.byteOffset,e.byteLength)}function s(e,t,r,i){var a=n.exports.sbrk,s=a(t.length*4),c=a(r*4),l=new Uint8Array(n.exports.memory.buffer),u=o(t);l.set(u,s),i&&i(s,s,t.length,r);var d=e(c,s,t.length,r);l=new Uint8Array(n.exports.memory.buffer);var f=new Uint32Array(r);new Uint8Array(f.buffer).set(l.subarray(c,c+r*4)),u.set(l.subarray(s,s+t.length*4)),a(s-a(0));for(var p=0;p<t.length;++p)t[p]=f[t[p]];return[f,d]}function c(e,t,r,i){var a=n.exports.sbrk,s=a(r*4),c=a(r*i),l=new Uint8Array(n.exports.memory.buffer);l.set(o(t),c),e(s,c,r,i),l=new Uint8Array(n.exports.memory.buffer);var u=new Uint32Array(r);return new Uint8Array(u.buffer).set(l.subarray(s,s+r*4)),a(s-a(0)),u}function l(e,t,r,i,a,s,c){var l=n.exports.sbrk,u=l(t),d=l(i*a),f=new Uint8Array(n.exports.memory.buffer);f.set(o(r),d);var p=e(u,t,d,i,a,s,c),m=new Uint8Array(p);return m.set(f.subarray(u,u+p)),l(u-l(0)),m}function u(e){for(var t=0,n=0;n<e.length;++n){var r=e[n];t=t<r?r:t}return t}function d(e,t){if(a(t==2||t==4),t==4)return new Uint32Array(e.buffer,e.byteOffset,e.byteLength/4);var n=new Uint16Array(e.buffer,e.byteOffset,e.byteLength/2);return new Uint32Array(n)}function f(e,t,r,i,a,s,c){var l=n.exports.sbrk,u=l(r*i),d=l(r*s),f=new Uint8Array(n.exports.memory.buffer);f.set(o(t),d),e(u,r,i,a,d,c);var p=new Uint8Array(r*i);return p.set(f.subarray(u,u+r*i)),l(u-l(0)),p}return{ready:r,supported:!0,reorderMesh:function(e,t,r){a(e instanceof Uint32Array||e instanceof Int32Array),a(!t||e.length%3==0);var i=t?r?n.exports.meshopt_optimizeVertexCacheStrip:n.exports.meshopt_optimizeVertexCache:void 0;return s(n.exports.meshopt_optimizeVertexFetchRemap,e,u(e)+1,i)},reorderPoints:function(e,t){return a(e instanceof Float32Array),a(e.length%t==0),a(t>=3),c(n.exports.meshopt_spatialSortRemap,e,e.length/t,t*4)},encodeVertexBuffer:function(e,t,r){a(r>0&&r<=256),a(r%4==0);var i=n.exports.meshopt_encodeVertexBufferBound(t,r);return l(n.exports.meshopt_encodeVertexBuffer,i,e,t,r)},encodeVertexBufferLevel:function(e,t,r,i,o){a(r>0&&r<=256),a(r%4==0),a(i>=0&&i<=3),a(o===void 0||o==0||o==1);var s=n.exports.meshopt_encodeVertexBufferBound(t,r);return l(n.exports.meshopt_encodeVertexBufferLevel,s,e,t,r,i,o===void 0?-1:o)},encodeIndexBuffer:function(e,t,r){a(r==2||r==4),a(t%3==0);var i=d(e,r),o=n.exports.meshopt_encodeIndexBufferBound(t,u(i)+1);return l(n.exports.meshopt_encodeIndexBuffer,o,i,t,4)},encodeIndexSequence:function(e,t,r){a(r==2||r==4);var i=d(e,r),o=n.exports.meshopt_encodeIndexSequenceBound(t,u(i)+1);return l(n.exports.meshopt_encodeIndexSequence,o,i,t,4)},encodeGltfBuffer:function(e,t,n,r,i){var o={ATTRIBUTES:this.encodeVertexBufferLevel,TRIANGLES:this.encodeIndexBuffer,INDICES:this.encodeIndexSequence};return a(o[r]),o[r](e,t,n,2,i===void 0?0:i)},encodeFilterOct:function(e,t,r,i){return a(r==4||r==8),a(i>=2&&i<=16),f(n.exports.meshopt_encodeFilterOct,e,t,r,i,16)},encodeFilterQuat:function(e,t,r,i){return a(r==8),a(i>=4&&i<=16),f(n.exports.meshopt_encodeFilterQuat,e,t,r,i,16)},encodeFilterExp:function(e,t,r,i,o){a(r>0&&r%4==0),a(i>=1&&i<=24);var s={Separate:0,SharedVector:1,SharedComponent:2,Clamped:3};return a(!o||o in s),f(n.exports.meshopt_encodeFilterExp,e,t,r,i,r,o?s[o]:1)},encodeFilterColor:function(e,t,r,i){return a(r==4||r==8),a(i>=2&&i<=16),f(n.exports.meshopt_encodeFilterColor,e,t,r,i,16)}}})(),(function(){var e=`b9H79Tebbbe8Fv9Gbb9Gvuuuuueu9Giuuub9Geueu9Giuuueuixkbeeeddddillviebeoweuecj:Gdkr;Neqo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8A9TW79O9V9Wt9F9KW9J9V9KW9wWVtW949c919M9MWVbeY9TW79O9V9Wt9F9KW9J9V9KW69U9KW949c919M9MWVbdE9TW79O9V9Wt9F9KW9J9V9KW69U9KW949tWG91W9U9JWbiL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9p9JtblK9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9r919HtbvL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVT949WboY9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVJ9V29VVbrl79IV9Rbwq:VZkdbk:XYi5ud9:du8Jjjjjbcj;kb9Rgv8Kjjjjbc9:hodnalTmbcuhoaiRbbgrc;WeGc:Ge9hmbarcsGgwce0mbc9:hoalcufadcd4cbawEgDadfgrcKcaawEgqaraq0Egk6mbaicefhxcj;abad9Uc;WFbGcjdadca0EhmaialfgPar9Rgoadfhsavaoadz:jjjjbgzceVhHcbhOdndninaeaO9nmeaPax9RaD6mdamaeaO9RaOamfgoae6EgAcsfglc9WGhCabaOad2fhXaAcethQaxaDfhiaOaeaoaeao6E9RhLalcl4cifcd4hKazcj;cbfaAfhYcbh8AazcjdfhEaHh3incbh5dnawTmbaxa8Acd4fRbbh5kcbh8Eazcj;cbfhqinaih8Fdndndndna5a8Ecet4ciGgoc9:fPdebdkaPa8F9RaA6mrazcj;cbfa8EaA2fa8FaAz:jjjjb8Aa8FaAfhixdkazcj;cbfa8EaA2fcbaAz:kjjjb8Aa8FhixekaPa8F9RaK6mva8FaKfhidnaCTmbaPai9RcK6mbaocdtc:q:G:cjbfcj:G:cjbawEhaczhrcbhlinargoc9Wfghaqfhrdndndndndndnaaa8Fahco4fRbbalcoG4ciGcdtfydbPDbedvivvvlvkar9cb83bwar9cb83bbxlkarcbaiRbdai8Xbb9c:c:qj:bw9:9c:q;c1:I1e:d9c:b:c:e1z9:gg9cjjjjjz:dg8J9qE86bbaqaofgrcGfcbaicdfa8J9c8N1:NfghRbbag9cjjjjjw:dg8J9qE86bbarcVfcbaha8J9c8M1:NfghRbbag9cjjjjjl:dg8J9qE86bbarc7fcbaha8J9c8L1:NfghRbbag9cjjjjjd:dg8J9qE86bbarctfcbaha8J9c8K1:NfghRbbag9cjjjjje:dg8J9qE86bbarc91fcbaha8J9c8J1:NfghRbbag9cjjjj;ab:dg8J9qE86bbarc4fcbaha8J9cg1:NfghRbbag9cjjjja:dg8J9qE86bbarc93fcbaha8J9ch1:NfghRbbag9cjjjjz:dgg9qE86bbarc94fcbahag9ca1:NfghRbbai8Xbe9c:c:qj:bw9:9c:q;c1:I1e:d9c:b:c:e1z9:gg9cjjjjjz:dg8J9qE86bbarc95fcbaha8J9c8N1:NfgiRbbag9cjjjjjw:dg8J9qE86bbarc96fcbaia8J9c8M1:NfgiRbbag9cjjjjjl:dg8J9qE86bbarc97fcbaia8J9c8L1:NfgiRbbag9cjjjjjd:dg8J9qE86bbarc98fcbaia8J9c8K1:NfgiRbbag9cjjjjje:dg8J9qE86bbarc99fcbaia8J9c8J1:NfgiRbbag9cjjjj;ab:dg8J9qE86bbarc9:fcbaia8J9cg1:NfgiRbbag9cjjjja:dg8J9qE86bbarcufcbaia8J9ch1:NfgiRbbag9cjjjjz:dgg9qE86bbaiag9ca1:NfhixikaraiRblaiRbbghco4g8Ka8KciSg8KE86bbaqaofgrcGfaiclfa8Kfg8KRbbahcl4ciGg8La8LciSg8LE86bbarcVfa8Ka8Lfg8KRbbahcd4ciGg8La8LciSg8LE86bbarc7fa8Ka8Lfg8KRbbahciGghahciSghE86bbarctfa8Kahfg8KRbbaiRbeghco4g8La8LciSg8LE86bbarc91fa8Ka8Lfg8KRbbahcl4ciGg8La8LciSg8LE86bbarc4fa8Ka8Lfg8KRbbahcd4ciGg8La8LciSg8LE86bbarc93fa8Ka8Lfg8KRbbahciGghahciSghE86bbarc94fa8Kahfg8KRbbaiRbdghco4g8La8LciSg8LE86bbarc95fa8Ka8Lfg8KRbbahcl4ciGg8La8LciSg8LE86bbarc96fa8Ka8Lfg8KRbbahcd4ciGg8La8LciSg8LE86bbarc97fa8Ka8Lfg8KRbbahciGghahciSghE86bbarc98fa8KahfghRbbaiRbigico4g8Ka8KciSg8KE86bbarc99faha8KfghRbbaicl4ciGg8Ka8KciSg8KE86bbarc9:faha8KfghRbbaicd4ciGg8Ka8KciSg8KE86bbarcufaha8KfgrRbbaiciGgiaiciSgiE86bbaraifhixdkaraiRbwaiRbbghcl4g8Ka8KcsSg8KE86bbaqaofgrcGfaicwfa8Kfg8KRbbahcsGghahcsSghE86bbarcVfa8KahfghRbbaiRbeg8Kcl4g8La8LcsSg8LE86bbarc7faha8LfghRbba8KcsGg8Ka8KcsSg8KE86bbarctfaha8KfghRbbaiRbdg8Kcl4g8La8LcsSg8LE86bbarc91faha8LfghRbba8KcsGg8Ka8KcsSg8KE86bbarc4faha8KfghRbbaiRbig8Kcl4g8La8LcsSg8LE86bbarc93faha8LfghRbba8KcsGg8Ka8KcsSg8KE86bbarc94faha8KfghRbbaiRblg8Kcl4g8La8LcsSg8LE86bbarc95faha8LfghRbba8KcsGg8Ka8KcsSg8KE86bbarc96faha8KfghRbbaiRbvg8Kcl4g8La8LcsSg8LE86bbarc97faha8LfghRbba8KcsGg8Ka8KcsSg8KE86bbarc98faha8KfghRbbaiRbog8Kcl4g8La8LcsSg8LE86bbarc99faha8LfghRbba8KcsGg8Ka8KcsSg8KE86bbarc9:faha8KfghRbbaiRbrgicl4g8Ka8KcsSg8KE86bbarcufaha8KfgrRbbaicsGgiaicsSgiE86bbaraifhixekarai8Pbw83bwarai8Pbb83bbaiczfhikdnaoaC9pmbalcdfhlaoczfhraPai9RcL0mekkaoaC6moaimexokaCmva8FTmvkaqaAfhqa8Ecefg8Ecl9hmbkdndndndnawTmbasa8Acd4fRbbgociGPlbedrbkaATmdaza8Afh8Fazcj;cbfhhcbh8EaEhaina8FRbbhraahocbhlinaoahalfRbbgqce4cbaqceG9R7arfgr86bbaoadfhoaAalcefgl9hmbkaacefhaa8Fcefh8FahaAfhha8Ecefg8Ecl9hmbxikkaATmeaza8Afhaazcj;cbfhhcbhoceh8EaYh8FinaEaofhlaa8Vbbhrcbhoinala8FaofRbbcwtahaofRbbgqVc;:FiGce4cbaqceG9R7arfgr87bbaladfhlaLaocefgofmbka8FaQfh8FcdhoaacdfhaahaQfhha8EceGhlcbh8EalmbxdkkaATmbaocl4h8Eaza8AfRbbhqcwhoa3hlinalRbbaotaqVhqalcefhlaocwfgoca9hmbkcbhhaEh8FaYhainazcj;cbfahfRbbhrcwhoaahlinalRbbaotarVhralaAfhlaocwfgoca9hmbkara8E94aq7hqcbhoa8Fhlinalaqao486bbalcefhlaocwfgoca9hmbka8Fadfh8FaacefhaahcefghaA9hmbkkaEclfhEa3clfh3a8Aclfg8Aad6mbkaXazcjdfaAad2z:jjjjb8AazazcjdfaAcufad2fadz:jjjjb8AaAaOfhOaihxaimbkc9:hoxdkcbc99aPax9RakSEhoxekc9:hokavcj;kbf8Kjjjjbaok:ysezu8Jjjjjbc;ae9Rgv8Kjjjjbc9:hodnalaeci9UgrcHf6mbcuhoaiRbbgwc;WeGc;Ge9hmbawcsGgDce0mbavc;abfcFecjez:kjjjb8Aav9cu83iUav9cu83i8Wav9cu83iyav9cu83iaav9cu83iKav9cu83izav9cu83iwav9cu83ibaialfc9WfhqaicefgwarfhldnaeTmbcmcsaDceSEhkcbhxcbhmcbhrcbhicbhoindnalaq9nmbc9:hoxikdndnawRbbgDc;Ve0mbavc;abfaoaDcu7gPcl4fcsGcitfgsydlhzasydbhHdndnaDcsGgsak9pmbavaiaPfcsGcdtfydbaxasEhDaxasTgOfhxxekdndnascsSmbcehOasc987asamffcefhDxekalcefhDal8SbbgscFeGhPdndnascu9mmbaDhlxekalcvfhlaPcFbGhPcrhsdninaD8SbbgOcFbGastaPVhPaOcu9kmeaDcefhDascrfgsc8J9hmbxdkkaDcefhlkcehOaPce4cbaPceG9R7amfhDkaDhmkavc;abfaocitfgsaDBdbasazBdlavaicdtfaDBdbavc;abfaocefcsGcitfgsaHBdbasaDBdlaocdfhoaOaifhidnadcd9hmbabarcetfgsaH87ebasclfaD87ebascdfaz87ebxdkabarcdtfgsaHBdbascwfaDBdbasclfazBdbxekdnaDcpe0mbavaiaqaDcsGfRbbgscl4gP9RcsGcdtfydbaxcefgOaPEhDavaias9RcsGcdtfydbaOaPTgzfgOascsGgPEhsaPThPdndnadcd9hmbabarcetfgHax87ebaHclfas87ebaHcdfaD87ebxekabarcdtfgHaxBdbaHcwfasBdbaHclfaDBdbkavaicdtfaxBdbavc;abfaocitfgHaDBdbaHaxBdlavaicefgicsGcdtfaDBdbavc;abfaocefcsGcitfgHasBdbaHaDBdlavaiazfgicsGcdtfasBdbavc;abfaocdfcsGcitfgDaxBdbaDasBdlaocifhoaiaPfhiaOaPfhxxekaxcbalRbbgsEgHaDc;:eSgDfhOascsGhAdndnascl4gCmbaOcefhzxekaOhzavaiaC9RcsGcdtfydbhOkdndnaAmbazcefhxxekazhxavaias9RcsGcdtfydbhzkdndnaDTmbalcefhDxekalcdfhDal8SbegPcFeGhsdnaPcu9kmbalcofhHascFbGhscrhldninaD8SbbgPcFbGaltasVhsaPcu9kmeaDcefhDalcrfglc8J9hmbkaHhDxekaDcefhDkasce4cbasceG9R7amfgmhHkdndnaCcsSmbaDhsxekaDcefhsaD8SbbglcFeGhPdnalcu9kmbaDcvfhOaPcFbGhPcrhldninas8SbbgDcFbGaltaPVhPaDcu9kmeascefhsalcrfglc8J9hmbkaOhsxekascefhskaPce4cbaPceG9R7amfgmhOkdndnaAcsSmbashlxekascefhlas8SbbgDcFeGhPdnaDcu9kmbascvfhzaPcFbGhPcrhDdninal8SbbgscFbGaDtaPVhPascu9kmealcefhlaDcrfgDc8J9hmbkazhlxekalcefhlkaPce4cbaPceG9R7amfgmhzkdndnadcd9hmbabarcetfgDaH87ebaDclfaz87ebaDcdfaO87ebxekabarcdtfgDaHBdbaDcwfazBdbaDclfaOBdbkavc;abfaocitfgDaOBdbaDaHBdlavaicdtfaHBdbavc;abfaocefcsGcitfgDazBdbaDaOBdlavaicefgicsGcdtfaOBdbavc;abfaocdfcsGcitfgDaHBdbaDazBdlavaiaCTaCcsSVfgicsGcdtfazBdbaiaATaAcsSVfhiaocifhokawcefhwaocsGhoaicsGhiarcifgrae6mbkkcbc99alaqSEhokavc;aef8Kjjjjbaok:clevu8Jjjjjbcz9Rhvdnalaecvf9pmbc9:skdnaiRbbc;:eGc;qeSmbcuskav9cb83iwaicefhoaialfc98fhrdnaeTmbdnadcdSmbcbhwindnaoar6mbc9:skaocefhlao8SbbgicFeGhddndnaicu9mmbalhoxekaocvfhoadcFbGhdcrhidninal8SbbgDcFbGaitadVhdaDcu9kmealcefhlaicrfgic8J9hmbxdkkalcefhokabawcdtfadc8Etc8F91adcd47avcwfadceGcdtVglydbfgiBdbalaiBdbawcefgwae9hmbxdkkcbhwindnaoar6mbc9:skaocefhlao8SbbgicFeGhddndnaicu9mmbalhoxekaocvfhoadcFbGhdcrhidninal8SbbgDcFbGaitadVhdaDcu9kmealcefhlaicrfgic8J9hmbxdkkalcefhokabawcetfadc8Etc8F91adcd47avcwfadceGcdtVglydbfgi87ebalaiBdbawcefgwae9hmbkkcbc99aoarSEk:Lvoeue99dud99eud99dndnadcl9hmbaeTmeindndnabcdfgd8Sbb:Yab8Sbbgi:Ygl:l:tabcefgv8Sbbgo:Ygr:l:tgwJbb;:9cawawNJbbbbawawJbbbb9GgDEgq:mgkaqaicb9iEalMgwawNakaqaocb9iEarMgqaqNMM:r:vglNJbbbZJbbb:;aDEMgr:lJbbb9p9DTmbar:Ohixekcjjjj94hikadai86bbdndnaqalNJbbbZJbbb:;aqJbbbb9GEMgq:lJbbb9p9DTmbaq:Ohdxekcjjjj94hdkavad86bbdndnawalNJbbbZJbbb:;awJbbbb9GEMgw:lJbbb9p9DTmbaw:Ohdxekcjjjj94hdkabad86bbabclfhbaecufgembxdkkaeTmbindndnabclfgd8Ueb:Yab8Uebgi:Ygl:l:tabcdfgv8Uebgo:Ygr:l:tgwJb;:FSawawNJbbbbawawJbbbb9GgDEgq:mgkaqaicb9iEalMgwawNakaqaocb9iEarMgqaqNMM:r:vglNJbbbZJbbb:;aDEMgr:lJbbb9p9DTmbar:Ohixekcjjjj94hikadai87ebdndnaqalNJbbbZJbbb:;aqJbbbb9GEMgq:lJbbb9p9DTmbaq:Ohdxekcjjjj94hdkavad87ebdndnawalNJbbbZJbbb:;awJbbbb9GEMgw:lJbbb9p9DTmbaw:Ohdxekcjjjj94hdkabad87ebabcwfhbaecufgembkkk:4ioiue99dud99dud99dnaeTmbcbhiabhlindndnal8Uebgv:YgoJ:ji:1Salcof8UebgrciVgw:Y:vgDNJbbbZJbbb:;avcu9kEMgq:lJbbb9p9DTmbaq:Ohkxekcjjjj94hkkalclf8Uebhvalcdf8UebhxalarcefciGcetfak87ebdndnax:YgqaDNJbbbZJbbb:;axcu9kEMgm:lJbbb9p9DTmbam:Ohxxekcjjjj94hxkabaiarciGgkfcd7cetfax87ebdndnav:YgmaDNJbbbZJbbb:;avcu9kEMgP:lJbbb9p9DTmbaP:Ohvxekcjjjj94hvkalarcufciGcetfav87ebdndnawaw2:ZgPaPMaoaoN:taqaqN:tamamN:tgoJbbbbaoJbbbb9GE:raDNJbbbZMgD:lJbbb9p9DTmbaD:Ohrxekcjjjj94hrkalakcetfar87ebalcwfhlaiclfhiaecufgembkkk9mbdnadcd4ae2gdTmbinababydbgecwtcw91:Yaece91cjjj98Gcjjj;8if::NUdbabclfhbadcufgdmbkkk:Tvirud99eudndnadcl9hmbaeTmeindndnabRbbgiabcefgl8Sbbgvabcdfgo8Sbbgrf9R:YJbbuJabcifgwRbbgdce4adVgDcd4aDVgDcl4aDVgD:Z:vgqNJbbbZMgk:lJbbb9p9DTmbak:Ohxxekcjjjj94hxkaoax86bbdndnaraif:YaqNJbbbZMgk:lJbbb9p9DTmbak:Ohoxekcjjjj94hokalao86bbdndnavaifar9R:YaqNJbbbZMgk:lJbbb9p9DTmbak:Ohixekcjjjj94hikabai86bbdndnaDadcetGadceGV:ZaqNJbbbZMgq:lJbbb9p9DTmbaq:Ohdxekcjjjj94hdkawad86bbabclfhbaecufgembxdkkaeTmbindndnab8Vebgiabcdfgl8Uebgvabclfgo8Uebgrf9R:YJbFu9habcofgw8Vebgdce4adVgDcd4aDVgDcl4aDVgDcw4aDVgD:Z:vgqNJbbbZMgk:lJbbb9p9DTmbak:Ohxxekcjjjj94hxkaoax87ebdndnaraif:YaqNJbbbZMgk:lJbbb9p9DTmbak:Ohoxekcjjjj94hokalao87ebdndnavaifar9R:YaqNJbbbZMgk:lJbbb9p9DTmbak:Ohixekcjjjj94hikabai87ebdndnaDadcetGadceGV:ZaqNJbbbZMgq:lJbbb9p9DTmbaq:Ohdxekcjjjj94hdkawad87ebabcwfhbaecufgembkkk9teiucbcbyd:K:G:cjbgeabcifc98GfgbBd:K:G:cjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik;LeeeudndnaeabVciGTmbabhixekdndnadcz9pmbabhixekabhiinaiaeydbBdbaiclfaeclfydbBdbaicwfaecwfydbBdbaicxfaecxfydbBdbaeczfheaiczfhiadc9Wfgdcs0mbkkadcl6mbinaiaeydbBdbaeclfheaiclfhiadc98fgdci0mbkkdnadTmbinaiaeRbb86bbaicefhiaecefheadcufgdmbkkabk;aeedudndnabciGTmbabhixekaecFeGc:b:c:ew2hldndnadcz9pmbabhixekabhiinaialBdbaicxfalBdbaicwfalBdbaiclfalBdbaiczfhiadc9Wfgdcs0mbkkadcl6mbinaialBdbaiclfhiadc98fgdci0mbkkdnadTmbinaiae86bbaicefhiadcufgdmbkkabkk83dbcj:Gdk8Kbbbbdbbblbbbwbbbbbbbebbbdbbblbbbwbbbbc:K:Gdkl8W:qbb`,t=`b9H79TebbbeKl9Gbb9Gvuuuuueu9Giuuub9Geueuixkbbebeeddddilve9Weeeviebeoweuecj:Gdkr;Neqo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8A9TW79O9V9Wt9F9KW9J9V9KW9wWVtW949c919M9MWVbdY9TW79O9V9Wt9F9KW9J9V9KW69U9KW949c919M9MWVblE9TW79O9V9Wt9F9KW9J9V9KW69U9KW949tWG91W9U9JWbvL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9p9JtboK9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9r919HtbrL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVT949WbwY9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVJ9V29VVbDl79IV9Rbqq:W9Dklbzik94evu8Jjjjjbcz9Rhbcbheincbhdcbhiinabcwfadfaicjuaead4ceGglE86bbaialfhiadcefgdcw9hmbkaeai86b:q:W:cjbaecitab8Piw83i:q:G:cjbaecefgecjd9hmbkk:JBl8Aud97dur978Jjjjjbcj;kb9Rgv8Kjjjjbc9:hodnalTmbcuhoaiRbbgrc;WeGc:Ge9hmbarcsGgwce0mbc9:hoalcufadcd4cbawEgDadfgrcKcaawEgqaraq0Egk6mbaialfgxar9RhodnadTgmmbavaoad;8qbbkaicefhPcj;abad9Uc;WFbGcjdadca0EhsdndndnadTmbaoadfhzcbhHinaeaH9nmdaxaP9RaD6miabaHad2fhOaPaDfhAasaeaH9RaHasfae6EgCcsfgocl4cifcd4hXavcj;cbfaoc9WGgQcetfhLavcj;cbfaQci2fhKavcj;cbfaQfhYcbh8Aaoc;ab6hEincbh3dnawTmbaPa8Acd4fRbbh3kcbh5avcj;cbfh8Eindndndndna3a5cet4ciGgoc9:fPdebdkaxaA9RaQ6mwdnaQTmbavcj;cbfa5aQ2faAaQ;8qbbkaAaCfhAxdkaQTmeavcj;cbfa5aQ2fcbaQ;8kbxekaxaA9RaX6moaoclVcbawEhraAaXfhocbhidnaEmbaxao9Rc;Gb6mbcbhlina8EalfhidndndndndndnaAalco4fRbbgqciGarfPDbedibledibkaipxbbbbbbbbbbbbbbbbpklbxlkaiaopbblaopbbbg8Fclp:mea8FpmbzeHdOiAlCvXoQrLg8Fcdp:mea8FpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogapxiiiiiiiiiiiiiiiip8Jg8Fp5b9cjF;8;4;W;G;ab9:9cU1:Nghcitpbi:q:G:cjbahRb:q:W:cjbghpsa8Fp5e9cjF;8;4;W;G;ab9:9cU1:Nggcitpbi:q:G:cjbp9UpmbedilvorzHOACXQLpPaaa8Fp9spklbahaoclffagRb:q:W:cjbfhoxikaiaopbbwaopbbbg8Fclp:mea8FpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogapxssssssssssssssssp8Jg8Fp5b9cjF;8;4;W;G;ab9:9cU1:Nghcitpbi:q:G:cjbahRb:q:W:cjbghpsa8Fp5e9cjF;8;4;W;G;ab9:9cU1:Nggcitpbi:q:G:cjbp9UpmbedilvorzHOACXQLpPaaa8Fp9spklbahaocwffagRb:q:W:cjbfhoxdkaiaopbbbpklbaoczfhoxekaiaopbbdaoRbbghcitpbi:q:G:cjbahRb:q:W:cjbghpsaoRbeggcitpbi:q:G:cjbp9UpmbedilvorzHOACXQLpPpklbahaocdffagRb:q:W:cjbfhokdndndndndndnaqcd4ciGarfPDbedibledibkaiczfpxbbbbbbbbbbbbbbbbpklbxlkaiczfaopbblaopbbbg8Fclp:mea8FpmbzeHdOiAlCvXoQrLg8Fcdp:mea8FpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogapxiiiiiiiiiiiiiiiip8Jg8Fp5b9cjF;8;4;W;G;ab9:9cU1:Nghcitpbi:q:G:cjbahRb:q:W:cjbghpsa8Fp5e9cjF;8;4;W;G;ab9:9cU1:Nggcitpbi:q:G:cjbp9UpmbedilvorzHOACXQLpPaaa8Fp9spklbahaoclffagRb:q:W:cjbfhoxikaiczfaopbbwaopbbbg8Fclp:mea8FpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogapxssssssssssssssssp8Jg8Fp5b9cjF;8;4;W;G;ab9:9cU1:Nghcitpbi:q:G:cjbahRb:q:W:cjbghpsa8Fp5e9cjF;8;4;W;G;ab9:9cU1:Nggcitpbi:q:G:cjbp9UpmbedilvorzHOACXQLpPaaa8Fp9spklbahaocwffagRb:q:W:cjbfhoxdkaiczfaopbbbpklbaoczfhoxekaiczfaopbbdaoRbbghcitpbi:q:G:cjbahRb:q:W:cjbghpsaoRbeggcitpbi:q:G:cjbp9UpmbedilvorzHOACXQLpPpklbahaocdffagRb:q:W:cjbfhokdndndndndndnaqcl4ciGarfPDbedibledibkaicafpxbbbbbbbbbbbbbbbbpklbxlkaicafaopbblaopbbbg8Fclp:mea8FpmbzeHdOiAlCvXoQrLg8Fcdp:mea8FpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogapxiiiiiiiiiiiiiiiip8Jg8Fp5b9cjF;8;4;W;G;ab9:9cU1:Nghcitpbi:q:G:cjbahRb:q:W:cjbghpsa8Fp5e9cjF;8;4;W;G;ab9:9cU1:Nggcitpbi:q:G:cjbp9UpmbedilvorzHOACXQLpPaaa8Fp9spklbahaoclffagRb:q:W:cjbfhoxikaicafaopbbwaopbbbg8Fclp:mea8FpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogapxssssssssssssssssp8Jg8Fp5b9cjF;8;4;W;G;ab9:9cU1:Nghcitpbi:q:G:cjbahRb:q:W:cjbghpsa8Fp5e9cjF;8;4;W;G;ab9:9cU1:Nggcitpbi:q:G:cjbp9UpmbedilvorzHOACXQLpPaaa8Fp9spklbahaocwffagRb:q:W:cjbfhoxdkaicafaopbbbpklbaoczfhoxekaicafaopbbdaoRbbghcitpbi:q:G:cjbahRb:q:W:cjbghpsaoRbeggcitpbi:q:G:cjbp9UpmbedilvorzHOACXQLpPpklbahaocdffagRb:q:W:cjbfhokdndndndndndnaqco4arfPDbedibledibkaic8Wfpxbbbbbbbbbbbbbbbbpklbxlkaic8Wfaopbblaopbbbg8Fclp:mea8FpmbzeHdOiAlCvXoQrLg8Fcdp:mea8FpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogapxiiiiiiiiiiiiiiiip8Jg8Fp5b9cjF;8;4;W;G;ab9:9cU1:Ngicitpbi:q:G:cjbaiRb:q:W:cjbgipsa8Fp5e9cjF;8;4;W;G;ab9:9cU1:Ngqcitpbi:q:G:cjbp9UpmbedilvorzHOACXQLpPaaa8Fp9spklbaiaoclffaqRb:q:W:cjbfhoxikaic8Wfaopbbwaopbbbg8Fclp:mea8FpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogapxssssssssssssssssp8Jg8Fp5b9cjF;8;4;W;G;ab9:9cU1:Ngicitpbi:q:G:cjbaiRb:q:W:cjbgipsa8Fp5e9cjF;8;4;W;G;ab9:9cU1:Ngqcitpbi:q:G:cjbp9UpmbedilvorzHOACXQLpPaaa8Fp9spklbaiaocwffaqRb:q:W:cjbfhoxdkaic8Wfaopbbbpklbaoczfhoxekaic8WfaopbbdaoRbbgicitpbi:q:G:cjbaiRb:q:W:cjbgipsaoRbegqcitpbi:q:G:cjbp9UpmbedilvorzHOACXQLpPpklbaiaocdffaqRb:q:W:cjbfhokalc;abfhialcjefaQ0meaihlaxao9Rc;Fb0mbkkdnaiaQ9pmbaici4hlinaxao9RcK6mwa8EaifhqdndndndndndnaAaico4fRbbalcoG4ciGarfPDbedibledibkaqpxbbbbbbbbbbbbbbbbpkbbxlkaqaopbblaopbbbg8Fclp:mea8FpmbzeHdOiAlCvXoQrLg8Fcdp:mea8FpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogapxiiiiiiiiiiiiiiiip8Jg8Fp5b9cjF;8;4;W;G;ab9:9cU1:Nghcitpbi:q:G:cjbahRb:q:W:cjbghpsa8Fp5e9cjF;8;4;W;G;ab9:9cU1:Nggcitpbi:q:G:cjbp9UpmbedilvorzHOACXQLpPaaa8Fp9spkbbahaoclffagRb:q:W:cjbfhoxikaqaopbbwaopbbbg8Fclp:mea8FpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogapxssssssssssssssssp8Jg8Fp5b9cjF;8;4;W;G;ab9:9cU1:Nghcitpbi:q:G:cjbahRb:q:W:cjbghpsa8Fp5e9cjF;8;4;W;G;ab9:9cU1:Nggcitpbi:q:G:cjbp9UpmbedilvorzHOACXQLpPaaa8Fp9spkbbahaocwffagRb:q:W:cjbfhoxdkaqaopbbbpkbbaoczfhoxekaqaopbbdaoRbbghcitpbi:q:G:cjbahRb:q:W:cjbghpsaoRbeggcitpbi:q:G:cjbp9UpmbedilvorzHOACXQLpPpkbbahaocdffagRb:q:W:cjbfhokalcdfhlaiczfgiaQ6mbkkaohAaoTmoka8EaQfh8Ea5cefg5cl9hmbkdndndndnawTmbaza8Acd4fRbbglciGPlbedwbkaQTmdavcjdfa8Afhlava8Afpbdbh8Jcbhoinalavcj;cbfaofpblbg8KaYaofpblbg8LpmbzeHdOiAlCvXoQrLg8MaLaofpblbg8NaKaofpblbgypmbzeHdOiAlCvXoQrLg8PpmbezHdiOAlvCXorQLg8Fcep9Ta8Fpxeeeeeeeeeeeeeeeegap9op9Hp9rg8Fa8Jp9Ug8Jp9Abbbaladfgla8Ja8Fa8Fpmlvorlvorlvorlvorp9Ug8Jp9Abbbaladfgla8Ja8Fa8FpmwDqkwDqkwDqkwDqkp9Ug8Jp9Abbbaladfgla8Ja8Fa8FpmxmPsxmPsxmPsxmPsp9Ug8Jp9Abbbaladfgla8Ja8Ma8PpmwDKYqk8AExm35Ps8E8Fg8Fcep9Ta8Faap9op9Hp9rg8Fp9Ug8Jp9Abbbaladfgla8Ja8Fa8Fpmlvorlvorlvorlvorp9Ug8Jp9Abbbaladfgla8Ja8Fa8FpmwDqkwDqkwDqkwDqkp9Ug8Jp9Abbbaladfgla8Ja8Fa8FpmxmPsxmPsxmPsxmPsp9Ug8Jp9Abbbaladfgla8Ja8Ka8LpmwKDYq8AkEx3m5P8Es8Fg8Ka8NaypmwKDYq8AkEx3m5P8Es8Fg8LpmbezHdiOAlvCXorQLg8Fcep9Ta8Faap9op9Hp9rg8Fp9Ug8Jp9Abbbaladfgla8Ja8Fa8Fpmlvorlvorlvorlvorp9Ug8Jp9Abbbaladfgla8Ja8Fa8FpmwDqkwDqkwDqkwDqkp9Ug8Jp9Abbbaladfgla8Ja8Fa8FpmxmPsxmPsxmPsxmPsp9Ug8Jp9Abbbaladfgla8Ja8Ka8LpmwDKYqk8AExm35Ps8E8Fg8Fcep9Ta8Faap9op9Hp9rg8Fp9Ugap9Abbbaladfglaaa8Fa8Fpmlvorlvorlvorlvorp9Ugap9Abbbaladfglaaa8Fa8FpmwDqkwDqkwDqkwDqkp9Ugap9Abbbaladfglaaa8Fa8FpmxmPsxmPsxmPsxmPsp9Ug8Jp9AbbbaladfhlaoczfgoaQ6mbxikkaQTmeavcjdfa8Afhlava8Afpbdbh8Jcbhoinalavcj;cbfaofpblbg8KaYaofpblbg8LpmbzeHdOiAlCvXoQrLg8MaLaofpblbg8NaKaofpblbgypmbzeHdOiAlCvXoQrLg8PpmbezHdiOAlvCXorQLg8Fcep:nea8Fpxebebebebebebebebgap9op:bep9rg8Fa8Jp:oeg8Jp9Abbbaladfgla8Ja8Fa8Fpmlvorlvorlvorlvorp:oeg8Jp9Abbbaladfgla8Ja8Fa8FpmwDqkwDqkwDqkwDqkp:oeg8Jp9Abbbaladfgla8Ja8Fa8FpmxmPsxmPsxmPsxmPsp:oeg8Jp9Abbbaladfgla8Ja8Ma8PpmwDKYqk8AExm35Ps8E8Fg8Fcep:nea8Faap9op:bep9rg8Fp:oeg8Jp9Abbbaladfgla8Ja8Fa8Fpmlvorlvorlvorlvorp:oeg8Jp9Abbbaladfgla8Ja8Fa8FpmwDqkwDqkwDqkwDqkp:oeg8Jp9Abbbaladfgla8Ja8Fa8FpmxmPsxmPsxmPsxmPsp:oeg8Jp9Abbbaladfgla8Ja8Ka8LpmwKDYq8AkEx3m5P8Es8Fg8Ka8NaypmwKDYq8AkEx3m5P8Es8Fg8LpmbezHdiOAlvCXorQLg8Fcep:nea8Faap9op:bep9rg8Fp:oeg8Jp9Abbbaladfgla8Ja8Fa8Fpmlvorlvorlvorlvorp:oeg8Jp9Abbbaladfgla8Ja8Fa8FpmwDqkwDqkwDqkwDqkp:oeg8Jp9Abbbaladfgla8Ja8Fa8FpmxmPsxmPsxmPsxmPsp:oeg8Jp9Abbbaladfgla8Ja8Ka8LpmwDKYqk8AExm35Ps8E8Fg8Fcep:nea8Faap9op:bep9rg8Fp:oegap9Abbbaladfglaaa8Fa8Fpmlvorlvorlvorlvorp:oegap9Abbbaladfglaaa8Fa8FpmwDqkwDqkwDqkwDqkp:oegap9Abbbaladfglaaa8Fa8FpmxmPsxmPsxmPsxmPsp:oeg8Jp9AbbbaladfhlaoczfgoaQ6mbxdkkaQTmbcbhocbalcl4gl9Rc8FGhiavcjdfa8Afhrava8Afpbdbhainaravcj;cbfaofpblbg8JaYaofpblbg8KpmbzeHdOiAlCvXoQrLg8LaLaofpblbg8MaKaofpblbg8NpmbzeHdOiAlCvXoQrLgypmbezHdiOAlvCXorQLg8Faip:Rea8Falp:Tep9qg8Faap9rgap9Abbbaradfgraaa8Fa8Fpmlvorlvorlvorlvorp9rgap9Abbbaradfgraaa8Fa8FpmwDqkwDqkwDqkwDqkp9rgap9Abbbaradfgraaa8Fa8FpmxmPsxmPsxmPsxmPsp9rgap9Abbbaradfgraaa8LaypmwDKYqk8AExm35Ps8E8Fg8Faip:Rea8Falp:Tep9qg8Fp9rgap9Abbbaradfgraaa8Fa8Fpmlvorlvorlvorlvorp9rgap9Abbbaradfgraaa8Fa8FpmwDqkwDqkwDqkwDqkp9rgap9Abbbaradfgraaa8Fa8FpmxmPsxmPsxmPsxmPsp9rgap9Abbbaradfgraaa8Ja8KpmwKDYq8AkEx3m5P8Es8Fg8Ja8Ma8NpmwKDYq8AkEx3m5P8Es8Fg8KpmbezHdiOAlvCXorQLg8Faip:Rea8Falp:Tep9qg8Fp9rgap9Abbbaradfgraaa8Fa8Fpmlvorlvorlvorlvorp9rgap9Abbbaradfgraaa8Fa8FpmwDqkwDqkwDqkwDqkp9rgap9Abbbaradfgraaa8Fa8FpmxmPsxmPsxmPsxmPsp9rgap9Abbbaradfgraaa8Ja8KpmwDKYqk8AExm35Ps8E8Fg8Faip:Rea8Falp:Tep9qg8Fp9rgap9Abbbaradfgraaa8Fa8Fpmlvorlvorlvorlvorp9rgap9Abbbaradfgraaa8Fa8FpmwDqkwDqkwDqkwDqkp9rgap9Abbbaradfgraaa8Fa8FpmxmPsxmPsxmPsxmPsp9rgap9AbbbaradfhraoczfgoaQ6mbkka8Aclfg8Aad6mbkdnaCad2goTmbaOavcjdfao;8qbbkdnammbavavcjdfaCcufad2fad;8qbbkaCaHfhHc9:hoaAhPaAmbxlkkaeTmbaDalfhrcbhocuhlinaralaD9RglfaD6mdasaeao9Raoasfae6Eaofgoae6mbkaial9RhPkcbc99axaP9RakSEhoxekc9:hokavcj;kbf8Kjjjjbaokwbz:bjjjbkNsezu8Jjjjjbc;ae9Rgv8Kjjjjbc9:hodnalaeci9UgrcHf6mbcuhoaiRbbgwc;WeGc;Ge9hmbawcsGgDce0mbavc;abfcFecje;8kbav9cu83iUav9cu83i8Wav9cu83iyav9cu83iaav9cu83iKav9cu83izav9cu83iwav9cu83ibaialfc9WfhqaicefgwarfhldnaeTmbcmcsaDceSEhkcbhxcbhmcbhrcbhicbhoindnalaq9nmbc9:hoxikdndnawRbbgDc;Ve0mbavc;abfaoaDcu7gPcl4fcsGcitfgsydlhzasydbhHdndnaDcsGgsak9pmbavaiaPfcsGcdtfydbaxasEhDaxasTgOfhxxekdndnascsSmbcehOasc987asamffcefhDxekalcefhDal8SbbgscFeGhPdndnascu9mmbaDhlxekalcvfhlaPcFbGhPcrhsdninaD8SbbgOcFbGastaPVhPaOcu9kmeaDcefhDascrfgsc8J9hmbxdkkaDcefhlkcehOaPce4cbaPceG9R7amfhDkaDhmkavc;abfaocitfgsaDBdbasazBdlavaicdtfaDBdbavc;abfaocefcsGcitfgsaHBdbasaDBdlaocdfhoaOaifhidnadcd9hmbabarcetfgsaH87ebasclfaD87ebascdfaz87ebxdkabarcdtfgsaHBdbascwfaDBdbasclfazBdbxekdnaDcpe0mbavaiaqaDcsGfRbbgscl4gP9RcsGcdtfydbaxcefgOaPEhDavaias9RcsGcdtfydbaOaPTgzfgOascsGgPEhsaPThPdndnadcd9hmbabarcetfgHax87ebaHclfas87ebaHcdfaD87ebxekabarcdtfgHaxBdbaHcwfasBdbaHclfaDBdbkavaicdtfaxBdbavc;abfaocitfgHaDBdbaHaxBdlavaicefgicsGcdtfaDBdbavc;abfaocefcsGcitfgHasBdbaHaDBdlavaiazfgicsGcdtfasBdbavc;abfaocdfcsGcitfgDaxBdbaDasBdlaocifhoaiaPfhiaOaPfhxxekaxcbalRbbgsEgHaDc;:eSgDfhOascsGhAdndnascl4gCmbaOcefhzxekaOhzavaiaC9RcsGcdtfydbhOkdndnaAmbazcefhxxekazhxavaias9RcsGcdtfydbhzkdndnaDTmbalcefhDxekalcdfhDal8SbegPcFeGhsdnaPcu9kmbalcofhHascFbGhscrhldninaD8SbbgPcFbGaltasVhsaPcu9kmeaDcefhDalcrfglc8J9hmbkaHhDxekaDcefhDkasce4cbasceG9R7amfgmhHkdndnaCcsSmbaDhsxekaDcefhsaD8SbbglcFeGhPdnalcu9kmbaDcvfhOaPcFbGhPcrhldninas8SbbgDcFbGaltaPVhPaDcu9kmeascefhsalcrfglc8J9hmbkaOhsxekascefhskaPce4cbaPceG9R7amfgmhOkdndnaAcsSmbashlxekascefhlas8SbbgDcFeGhPdnaDcu9kmbascvfhzaPcFbGhPcrhDdninal8SbbgscFbGaDtaPVhPascu9kmealcefhlaDcrfgDc8J9hmbkazhlxekalcefhlkaPce4cbaPceG9R7amfgmhzkdndnadcd9hmbabarcetfgDaH87ebaDclfaz87ebaDcdfaO87ebxekabarcdtfgDaHBdbaDcwfazBdbaDclfaOBdbkavc;abfaocitfgDaOBdbaDaHBdlavaicdtfaHBdbavc;abfaocefcsGcitfgDazBdbaDaOBdlavaicefgicsGcdtfaOBdbavc;abfaocdfcsGcitfgDaHBdbaDazBdlavaiaCTaCcsSVfgicsGcdtfazBdbaiaATaAcsSVfhiaocifhokawcefhwaocsGhoaicsGhiarcifgrae6mbkkcbc99alaqSEhokavc;aef8Kjjjjbaok:clevu8Jjjjjbcz9Rhvdnalaecvf9pmbc9:skdnaiRbbc;:eGc;qeSmbcuskav9cb83iwaicefhoaialfc98fhrdnaeTmbdnadcdSmbcbhwindnaoar6mbc9:skaocefhlao8SbbgicFeGhddndnaicu9mmbalhoxekaocvfhoadcFbGhdcrhidninal8SbbgDcFbGaitadVhdaDcu9kmealcefhlaicrfgic8J9hmbxdkkalcefhokabawcdtfadc8Etc8F91adcd47avcwfadceGcdtVglydbfgiBdbalaiBdbawcefgwae9hmbxdkkcbhwindnaoar6mbc9:skaocefhlao8SbbgicFeGhddndnaicu9mmbalhoxekaocvfhoadcFbGhdcrhidninal8SbbgDcFbGaitadVhdaDcu9kmealcefhlaicrfgic8J9hmbxdkkalcefhokabawcetfadc8Etc8F91adcd47avcwfadceGcdtVglydbfgi87ebalaiBdbawcefgwae9hmbkkcbc99aoarSEk;Toio97eue97aec98Ghedndnadcl9hmbaeTmecbhdinababpbbbgicKp:RecKp:Sep;6eglaicwp:RecKp:Sep;6ealp;Geaiczp:RecKp:Sep;6egvp;Gep;Kep;Legopxbbbbbbbbbbbbbbbbp:2egralpxbbbjbbbjbbbjbbbjgwp9op9rp;Keglpxbb;:9cbb;:9cbb;:9cbb;:9calalp;Meaoaop;Meavaravawp9op9rp;Keglalp;Mep;Kep;Kep;Jep;Negvp;Mepxbbn0bbn0bbn0bbn0grp;KepxFbbbFbbbFbbbFbbbp9oaipxbbbFbbbFbbbFbbbFp9op9qalavp;Mearp;Kecwp:RepxbFbbbFbbbFbbbFbbp9op9qaoavp;Mearp;Keczp:RepxbbFbbbFbbbFbbbFbp9op9qpkbbabczfhbadclfgdae6mbxdkkaeTmbcbhdinabczfgDaDpbbbgipxbbbbbbFFbbbbbbFFgwp9oabpbbbgoaipmbediwDqkzHOAKY8AEgvczp:Reczp:Sep;6eglaoaipmlvorxmPsCXQL358E8FpxFubbFubbFubbFubbp9op;6eavczp:Sep;6egvp;Gealp;Gep;Kep;Legipxbbbbbbbbbbbbbbbbp:2egralpxbbbjbbbjbbbjbbbjgqp9op9rp;Keglpxb;:FSb;:FSb;:FSb;:FSalalp;Meaiaip;Meavaravaqp9op9rp;Keglalp;Mep;Kep;Kep;Jep;Negvp;Mepxbbn0bbn0bbn0bbn0grp;KepxFFbbFFbbFFbbFFbbp9oaiavp;Mearp;Keczp:Rep9qgialavp;Mearp;KepxFFbbFFbbFFbbFFbbp9oglpmwDKYqk8AExm35Ps8E8Fp9qpkbbabaoawp9oaialpmbezHdiOAlvCXorQLp9qpkbbabcafhbadclfgdae6mbkkk;2ileue97euo97dnaec98GgiTmbcbheinabcKfpx:ji:1S:ji:1S:ji:1S:ji:1SabpbbbglabczfgvpbbbgopmlvorxmPsCXQL358E8Fgrczp:Segwpxibbbibbbibbbibbbp9qp;6egDp;NegqaDaDp;MegDaDp;KealaopmbediwDqkzHOAKY8AEgDczp:Reczp:Sep;6eglalp;MeaDczp:Sep;6egoaop;Mearczp:Reczp:Sep;6egrarp;Mep;Kep;Kep;Lepxbbbbbbbbbbbbbbbbp:4ep;Jep;Mepxbbn0bbn0bbn0bbn0gDp;KepxFFbbFFbbFFbbFFbbgkp9oaqaop;MeaDp;Keczp:Rep9qgoaqalp;MeaDp;Keakp9oaqarp;MeaDp;Keczp:Rep9qgDpmwDKYqk8AExm35Ps8E8Fglp5eawclp:RegqpEi:T:j83ibavalp5baqpEd:T:j83ibabcwfaoaDpmbezHdiOAlvCXorQLgDp5eaqpEe:T:j83ibabaDp5baqpEb:T:j83ibabcafhbaeclfgeai6mbkkkuee97dnadcd4ae2c98GgeTmbcbhdinababpbbbgicwp:Recwp:Sep;6eaicep:SepxbbjFbbjFbbjFbbjFp9opxbbjZbbjZbbjZbbjZp:Uep;Mepkbbabczfhbadclfgdae6mbkkk:Sodw97euaec98Ghedndnadcl9hmbaeTmecbhdinabpxbbuJbbuJbbuJbbuJabpbbbgicKp:TeglaicYp:Tep9qgvcdp:Teavp9qgvclp:Teavp9qgop;6ep;Negvaicwp:RecKp:SegraipxFbbbFbbbFbbbFbbbgwp9ogDp:Uep;6ep;Mepxbbn0bbn0bbn0bbn0gqp;Kecwp:RepxbFbbbFbbbFbbbFbbp9oavaDarp:Xeaiczp:RecKp:Segip:Uep;6ep;Meaqp;Keawp9op9qavaDaraip:Uep:Xep;6ep;Meaqp;Keczp:RepxbbFbbbFbbbFbbbFbp9op9qavaoalcep:Rep9oalpxebbbebbbebbbebbbp9op9qp;6ep;Meaqp;KecKp:Rep9qpkbbabczfhbadclfgdae6mbxdkkaeTmbcbhdinabczfgkpxbFu9hbFu9hbFu9hbFu9habpbbbglakpbbbgrpmlvorxmPsCXQL358E8Fgvczp:TegqavcHp:Tep9qgicdp:Teaip9qgiclp:Teaip9qgicwp:Teaip9qgop;6ep;NegialarpmbediwDqkzHOAKY8AEgDpxFFbbFFbbFFbbFFbbglp9ograDczp:Segwp:Ueavczp:Reczp:SegDp:Xep;6ep;Mepxbbn0bbn0bbn0bbn0gvp;Kealp9oaiarawaDp:Uep:Xep;6ep;Meavp;Keczp:Rep9qgwaiaoaqcep:Rep9oaqpxebbbebbbebbbebbbp9op9qp;6ep;Meavp;Keczp:ReaiaDarp:Uep;6ep;Meavp;Kealp9op9qgipmwDKYqk8AExm35Ps8E8FpkbbabawaipmbezHdiOAlvCXorQLpkbbabcafhbadclfgdae6mbkkk9teiucbcbydj:G:cjbgeabcifc98GfgbBdj:G:cjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaikkxebcj:Gdklz:zbb`,n=new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,3,2,0,0,5,3,1,0,1,12,1,0,10,22,2,12,0,65,0,65,0,65,0,252,10,0,0,11,7,0,65,0,253,15,26,11]),r=new Uint8Array([32,0,65,2,1,106,34,33,3,128,11,4,13,64,6,253,10,7,15,116,127,5,8,12,40,16,19,54,20,9,27,255,113,17,42,67,24,23,146,148,18,14,22,45,70,69,56,114,101,21,25,63,75,136,108,28,118,29,73,115]);if(typeof WebAssembly!=`object`)return{supported:!1};var i=WebAssembly.validate(n)?s(t):s(e),a,o=WebAssembly.instantiate(i,{}).then(function(e){a=e.instance,a.exports.__wasm_call_ctors()});function s(e){for(var t=new Uint8Array(e.length),n=0;n<e.length;++n){var i=e.charCodeAt(n);t[n]=i>96?i-97:i>64?i-39:i+4}for(var a=0,n=0;n<e.length;++n)t[a++]=t[n]<60?r[t[n]]:(t[n]-60)*64+t[++n];return t.buffer.slice(0,a)}function c(e,t,n,r,i,a,o){var s=e.exports.sbrk,c=r+3&-4,l=s(c*i),u=s(a.length),d=new Uint8Array(e.exports.memory.buffer);d.set(a,u);var f=t(l,r,i,u,a.length);if(f==0&&o&&o(l,c,i),n.set(d.subarray(l,l+r*i)),s(l-s(0)),f!=0)throw Error(`Malformed buffer data: `+f)}var l={NONE:``,OCTAHEDRAL:`meshopt_decodeFilterOct`,QUATERNION:`meshopt_decodeFilterQuat`,EXPONENTIAL:`meshopt_decodeFilterExp`,COLOR:`meshopt_decodeFilterColor`},u={ATTRIBUTES:`meshopt_decodeVertexBuffer`,TRIANGLES:`meshopt_decodeIndexBuffer`,INDICES:`meshopt_decodeIndexSequence`},d=[],f=0;function p(e){var t={object:new Worker(e),pending:0,requests:{}};return t.object.onmessage=function(e){var n=e.data;t.pending-=n.count,t.requests[n.id][n.action](n.value),delete t.requests[n.id]},t}function m(e){for(var t=`self.ready = WebAssembly.instantiate(new Uint8Array([`+new Uint8Array(i)+`]), {}).then(function(result) { result.instance.exports.__wasm_call_ctors(); return result.instance; });self.onmessage = `+g.name+`;`+c.toString()+g.toString(),n=new Blob([t],{type:`text/javascript`}),r=URL.createObjectURL(n),a=d.length;a<e;++a)d[a]=p(r);for(var a=e;a<d.length;++a)d[a].object.postMessage({});d.length=e,URL.revokeObjectURL(r)}function h(e,t,n,r,i){for(var a=d[0],o=1;o<d.length;++o)d[o].pending<a.pending&&(a=d[o]);return new Promise(function(o,s){var c=new Uint8Array(n),l=++f;a.pending+=e,a.requests[l]={resolve:o,reject:s},a.object.postMessage({id:l,count:e,size:t,source:c,mode:r,filter:i},[c.buffer])})}function g(e){var t=e.data;self.ready.then(function(e){if(!t.id)return self.close();try{var n=new Uint8Array(t.count*t.size);c(e,e.exports[t.mode],n,t.count,t.size,t.source,e.exports[t.filter]),self.postMessage({id:t.id,count:t.count,action:`resolve`,value:n},[n.buffer])}catch(e){self.postMessage({id:t.id,count:t.count,action:`reject`,value:e})}})}return{ready:o,supported:!0,useWorkers:function(e){m(e)},decodeVertexBuffer:function(e,t,n,r,i){c(a,a.exports.meshopt_decodeVertexBuffer,e,t,n,r,a.exports[l[i]])},decodeIndexBuffer:function(e,t,n,r){c(a,a.exports.meshopt_decodeIndexBuffer,e,t,n,r)},decodeIndexSequence:function(e,t,n,r){c(a,a.exports.meshopt_decodeIndexSequence,e,t,n,r)},decodeGltfBuffer:function(e,t,n,r,i,o){c(a,a.exports[u[i]],e,t,n,r,a.exports[l[o]])},decodeGltfBufferAsync:function(e,t,n,r,i){return d.length>0?h(e,t,n,u[r],l[i]):o.then(function(){var o=new Uint8Array(e*t);return c(a,a.exports[u[r]],o,e,t,n,a.exports[l[i]]),o})}}})();var dr=(function(){var e=`b9H79Tebbbe:6eO9Geueu9Geub9Gbb9Gsuuuuuuuuuuuu99uueu9Gvuuuuub9Gruuuuuuub9Gouuuuuue999Gvuuuuueu9Gzuuuuuuuuuuu99uuuub9Gquuuuuuu99uueu9GPuuuuuuuuuuu99uueu9Gquuuuuuuu99ueu9Gruuuuuu99eu9Gwuuuuuu99ueu9Giuuue999Gluuuueu9Gluuuub9GiuuueuiLQdilvorlwDiqkxmPszbHHbelve9Weiiviebeoweuecj:Gdkr:Bdxo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bbz9TW79O9V9Wt9F79P9T9W29P9M95bw8E9TW79O9V9Wt9F79P9T9W29P9M959x9Pt9OcttV9P9I91tW7bD8A9TW79O9V9Wt9F79P9T9W29P9M959x9Pt9O9v9W9K9HtWbqQ9TW79O9V9Wt9F79P9T9W29P9M959t29V9W9W95bkX9TW79O9V9Wt9F79P9T9W29P9M959qV919UWbxQ9TW79O9V9Wt9F79P9T9W29P9M959q9V9P9Ut7bmX9TW79O9V9Wt9F79P9T9W29P9M959t9J9H2WbPa9TW79O9V9Wt9F9V9Wt9P9T9P96W9wWVtW94SWt9J9O9sW9T9H9Wbs59TW79O9V9Wt9F9NW9UWV9HtW9q9V79Pt9P9V9U9sW9T9H9Wbzl79IV9RbHDwebcekdCXq;y;WeQdbk;r:herYue99iuY99Xue9:D998Jjjjjbcj;sb9Rgs8Kjjjjbcbhzasc:Cefcbc;Kbz:tjjjb8AdnabaeSmbabaeadcdtzMjjjb8AkdnamcdGTmbalcrfci4cbyd1:H:cjbHjjjjbbhHasc:Cefasyd;8egecdtfaHBdbasaecefBd;8ecbhlcbhednadTmbabheadhOinaHaeydbci4fcb86bbaeclfheaOcufgOmbkcbhlabheadhOinaHaeydbgAci4fgCaCRbbgCceaAcrGgAtV86bbaCcu7aA4ceGalfhlaeclfheaOcufgOmbkcualcdtalcFFFFi0Ehekaecbyd1:H:cjbHjjjjbbhzasc:Cefasyd;8egecdtfazBdbasaecefBd;8ealcd4alfhOcehHinaHgecethHaeaO6mbkcbhXcuaecdtgOaecFFFFi0Ecbyd1:H:cjbHjjjjbbhHasc:Cefasyd;8egAcdtfaHBdbasaAcefBd;8eaHcFeaOz:tjjjbhQdnadTmbaecufhLcbhKindndnaQabaKcdtfgYydbgAc:v;t;h;Ev2aLGgOcdtfgCydbgHcuSmbceheinazaHcdtfydbaASmdaOaefhHaecefheaQaHaLGgOcdtfgCydbgHcu9hmbkkazaXcdtfaABdbaCaXBdbaXhHaXcefhXkaYaHBdbaKcefgKad9hmbkkaQcbyd:m:H:cjbH:bjjjbbasasyd;8ecufBd;8ekcbh8AcualcefgecdtaecFFFFi0Ecbyd1:H:cjbHjjjjbbhLasc:Cefasyd;8egecdtfaLBdbasaLBdNeasaecefBd;8ecuadcitadcFFFFe0Ecbyd1:H:cjbHjjjjbbhEasc:Cefasyd;8egecdtfaEBdbasaEBd:yeasaecefBd;8eascNefabadalcbz:cjjjbcualcdtgealcFFFFi0Eg3cbyd1:H:cjbHjjjjbbhOasc:Cefasyd;8egHcdtfaOBdbasaHcefBd;8ea3cbyd1:H:cjbHjjjjbbhQasc:Cefasyd;8egHcdtfaQBdbasaHcefBd;8eaOaQaialavazasc:Cefz:djjjbalcbyd1:H:cjbHjjjjbbhYasc:Cefasyd;8egHcdtfaYBdbasaHcefBd;8ea3cbyd1:H:cjbHjjjjbbhHasc:Cefasyd;8egAcdtfaHBdbasaAcefBd;8ea3cbyd1:H:cjbHjjjjbbhAasc:Cefasyd;8egCcdtfaABdbasaCcefBd;8eaHcFeaez:tjjjbh5aAcFeaez:tjjjbh8EdnalTmbindnaLa8AgAcefg8AcdtfydbgCaLaAcdtgefydbgHSmbaCaH9Rh8FaEaHcitfhaa8Eaefhha5aefhKcbhCindndnaaaCcitfydbgXaA9hmbaKaABdbahaABdbxekdnaLaXcdtggfgeclfydbgHaeydbgeSmbaHae9RhHaEaecitfheinaeydbaASmdaecwfheaHcufgHmbkka8EagfgeaAaXaeydbcuSEBdbaKaXaAaKydbcuSEBdbkaCcefgCa8F9hmbkka8Aal9hmbkaOhHaQhAa5hXa8EhCcbheindndnaeaHydbgK9hmbdnaeaAydbgK9hmbaXydbhKdnaCydbg8Fcu9hmbaKcu9hmbaYaefcb86bbxikdna8FcuSmbaKcuSmbaea8FSmbaOa8FcdtfydbaOaKcdtfydb9hmbaYaefcd86bbxikaYaefhadnaea8FSmbaeaKSmbaace86bbxikaacl86bbxdkdnaeaQaKcdtg8Ffydb9hmbdnaCydbgacuSmbaeaaSmbaXydbggcuSmbaeagSmba8Ea8FfydbghcuSmbahaKSmba5a8Ffydbg8FcuSmba8FaKSmbdnaOaacdtfydbgKaOa8Fcdtfydb9hmbaKaOagcdtfydbg8FSmba8FaOahcdtfydb9hmbaYaefcd86bbxlkaYaefcl86bbxikaYaefcl86bbxdkaYaefcl86bbxekaYaefaYaKfRbb86bbkaHclfhHaAclfhAaXclfhXaCclfhCalaecefge9hmbkdnamcaGTmbcbh8JindndnaYa8Jfg8KRbbg8Lc9:fPibebekdndndnaOa8Jcdtfydbgea8J9hmbdnaqmbcbh8FxdkdnazTmbcbh8Fa8JheinaqazaecdtgefydbfRbbce4a8FVceGh8FaQaefydbgea8J9hmbxikkcbh8Fa8JheinaqaefRbbce4a8FVceGh8FaQaecdtfydbgea8J9hmbxdkkaYaefRbbhexeka8JheindnaLaecdtg8AfgeclfydbgHaeydbgeSmbaHae9RhgaEaecitfhhaOa8AfhacbhKinahaKcitfydbgXhednindnaLaecdtgCfgeclfydbgHaeydbgeSmbaHae9RhHaEaecitfheaaydbhAdninaOaeydbcdtfydbaASmeaecwfheaHcufgHTmdxbkkcbhexdkaQaCfydbgeaX9hmbkceheka8FaeVh8FaKcefgKag9hmbkkaQa8Afydbgea8J9hmbka8Lcia8FceGEheka8Kae86bbka8Jcefg8Jal9hmbkkdnaqTmbdndnazTmbazheaOhHalhAindnaqaeydbfRbbceGTmbaYaHydbfcl86bbkaeclfheaHclfhHaAcufgAmbxdkkaqheaOhHalhAindnaeRbbceGTmbaYaHydbfcl86bbkaecefheaHclfhHaAcufgAmbkkaOhealhAaYhHindnaYaeydbfRbbcl9hmbaHcl86bbkaeclfheaHcefhHaAcufgAmbkkamceGTmbaYhealhHindnaeRbbce9hmbaecl86bbkaecefheaHcufgHmbkkcbh8Mcualcx2alc;v:Q;v:Qe0Ecbyd1:H:cjbHjjjjbbh8Nasc:Cefasyd;8egecdtfa8NBdbasaecefBd;8eascbBd:qeas9cb83i1ea8Naialavazasc1efz:ejjjbhydndnaDmbcbh8PcbhCxekcbhCawhecbhHindnaeIdbJbbbb9ETmbasaCcdtfaHBdbaCcefhCkaeclfheaDaHcefgH9hmbkcuaCal2gecdtaecFFFFi0Ecbyd1:H:cjbHjjjjbbh8Pasc:Cefasyd;8egecdtfa8PBdbasaecefBd;8ealTmbdnaCmbcbhCxekarcd4hgdnazTmbaCcdthhcbh8Fa8Phainaoaza8Fcdtfydbag2cdtfhKasheaahHaChAinaHaKaeydbcdtgXfIdbawaXfIdbNUdbaeclfheaHclfhHaAcufgAmbkaaahfhaa8Fcefg8Fal9hmbxdkkaCcdthhcbh8Fa8Phainaoa8Fag2cdtfhKasheaahHaChAinaHaKaeydbcdtgXfIdbawaXfIdbNUdbaeclfheaHclfhHaAcufgAmbkaaahfhaa8Fcefg8Fal9hmbkkcualc8S2gHalc;D;O;f8U0EgXcbyd1:H:cjbHjjjjbbheasc:Cefasyd;8egAcdtfaeBdbasaAcefBd;8eaecbaHz:tjjjbhIcbh8RcbhgdnaCTmbcbh8MaXcbyd1:H:cjbHjjjjbbhgasc:Cefasyd;8egecdtfagBdbasaecefBd;8eagcbaHz:tjjjb8AcuaCal2gecltgHaecFFFFb0Ecbyd1:H:cjbHjjjjbbh8Rasc:Cefasyd;8egecdtfa8RBdbasaecefBd;8ea8RcbaHz:tjjjb8AamcjjjjdGTmbcualcltgealcFFFFb0Ecbyd1:H:cjbHjjjjbbh8Masc:Cefasyd;8egHcdtfa8MBdbasaHcefBd;8ea8Mcbaez:tjjjb8AkdnadTmbcbhKabhHina8NaHclfydbg8Fcx2fgeIdba8NaHydbgacx2fgAIdbg8S:tgRa8NaHcwfydbghcx2fgXIdlaAIdlg8U:tg8VNaeIdla8U:tg8WaXIdba8S:tg8XN:tg8Ya8YNa8WaXIdwaAIdwg8Z:tg80NaeIdwa8Z:tg8Wa8VN:tg81a81Na8Wa8XNaRa80N:tg80a80NMMg8V:rhBa8Yh8Xa80h8Wa81hRdna8VJbbbb9EgATmba8YaB:vh8Xa80aB:vh8Wa81aB:vhRkaIaOaacdtfydbgXc8S2fgeaRaB:rg8VaRNNg83aeIdbMUdbaea8Wa8Va8WNgUNg85aeIdlMUdlaea8Xa8Va8XNg86Ng87aeIdwMUdwaeaRaUNgUaeIdxMUdxaea86aRNg88aeIdzMUdzaea8Wa86Ng89aeIdCMUdCaeaRa8Va8Xa8ZNaRa8SNa8Ua8WNMM:mg8:Ng86NgRaeIdKMUdKaea8Wa86Ng8WaeId3MUd3aea8Xa86Ng8XaeIdaMUdaaea86a8:Ng86aeId8KMUd8Kaea8VaeIdyMUdyaIaOa8Fcdtfydbg8Fc8S2fgea83aeIdbMUdbaea85aeIdlMUdlaea87aeIdwMUdwaeaUaeIdxMUdxaea88aeIdzMUdzaea89aeIdCMUdCaeaRaeIdKMUdKaea8WaeId3MUd3aea8XaeIdaMUdaaea86aeId8KMUd8Kaea8VaeIdyMUdyaIaOahcdtfydbgac8S2fgea83aeIdbMUdbaea85aeIdlMUdlaea87aeIdwMUdwaeaUaeIdxMUdxaea88aeIdzMUdzaea89aeIdCMUdCaeaRaeIdKMUdKaea8WaeId3MUd3aea8XaeIdaMUdaaea86aeId8KMUd8Kaea8VaeIdyMUdydna8MTmbdnaATmba8YaB:vh8Ya80aB:vh80a81aB:vh81ka8MaXcltfgeaBJbbbZNgRa80Ng8VaeIdlMUdlaeaRa8YNg8WaeIdwMUdwaeaRa81Ng8XaeIdbMUdbaeaRa8S:ma81Na8Ua80N:ta8Za8YN:tNgRaeIdxMUdxa8Ma8Fcltfgea8VaeIdlMUdlaea8WaeIdwMUdwaea8XaeIdbMUdbaeaRaeIdxMUdxa8Maacltfgea8VaeIdlMUdlaea8WaeIdwMUdwaea8XaeIdbMUdbaeaRaeIdxMUdxkaHcxfhHaKcifgKad6mbkkdnalTmbJq;x8J88J;n;m;m89J:v:;;w8ZamczGEamc;abGEh80cbhHaOhXazhKaIhea8NhAindnaHaXydb9hmbaHh8FdnazTmbaKydbh8Fka80hRdnaqTmbJbbjZa80aqa8FfRbbclGEhRkaecxfg8Fa8FIdbJbbbbMUdbaeczfg8Fa8FIdbJbbbbMUdbaecCfg8Fa8FIdbJbbbbMUdbaeaRaecyfg8FIdbg8YNgRaeIdbMUdbaeclfgaaRaaIdbMUdbaecwfgaaRaaIdbMUdbaecKfgaaaIdbaAIdbg8WaRN:tUdbaAcwfIdbh8Vaec3fgaaaIdbaRaAclfIdbg8XN:tUdbaecafgaaaIdbaRa8VN:tUdbaec8KfgaIdbh81a8Fa8YaRMUdbaaa81aRa8Va8VNa8Wa8WNa8Xa8XNMMNMUdbkaXclfhXaKclfhKaec8SfheaAcxfhAalaHcefgH9hmbkkdnadTmbcbh8Aabhainaba8Acdtfh8FcbhHinaYa8FaHc:G:G:cjbfydbcdtfydbgAfRbbhedndnaYaaaHfydbgXfRbbgKc99fcFeGcpe0mbaec99fcFeGc;:e6mekdnaKcufcFeGce0mba5aXcdtfydbaA9hmekdnaecufcFeGce0mba8EaAcdtfydbaX9hmekJbbacJbbacJbbbZaecFeGceSEaKcFeGceSEhUdna8Na8FaHc:K:G:cjbfydbcdtfydbcx2fgeIdwa8NaXcx2fgKIdwg86:tg8Sa8NaAcx2fghIdwa86:tg8Xa8XNahIdbaKIdbg8U:tg80a80NahIdlaKIdlg8Z:tg8Va8VNMMg81Na8Xa8Sa8XNaeIdba8U:tg83a80Na8VaeIdla8Z:tg85NMMg8WN:tg8Ya8YNa83a81Na80a8WN:tgRaRNa85a81Na8Va8WN:tg8Wa8WNMMgBJbbbb9ETmba8YaB:rgB:vh8Ya8WaB:vh8WaRaB:vhRkaUa81:rNgBa8Ya86NaRa8UNa8Za8WNMM:mg81Ng87a81Nh88a80a85Na8Va83N:tg81a81Na8Va8SNa8Xa85N:tg8Va8VNa8Xa83Na80a8SN:tg8Xa8XNMMg83:rh80a8Ya87Nh85a8Wa87Nh89aRa87Nh87a8WaBa8YNg8SNh8:a8SaRNhZaRaBa8WNgnNhca8Ya8SNh8Ya8WanNh8WaRaBaRNNh8Sdna83Jbbbb9ETmba81a80:vh81a8Xa80:vh8Xa8Va80:vh8VkaIaOaXcdtfydbc8S2fgeaeIdba8Sa8VaUa80:rNgRa8VNNMg80MUdbaea8Wa8XaRa8XNg8SNMg83aeIdlMUdlaea8Ya81aRa81Ng8WNMg8YaeIdwMUdwaeaca8Va8SNMg8SaeIdxMUdxaeaZa8Wa8VNMgUaeIdzMUdzaea8:a8Xa8WNMg8WaeIdCMUdCaea87a8VaRa81a86Na8Va8UNa8Za8XNMMg86:mNgRNMg8VaeIdKMUdKaea89a8XaRNMg8XaeId3MUd3aea85a81aRNMg81aeIdaMUdaaea88a86aRN:tgRaeId8KMUd8KaeaBaeIdyMUdyaIaOaAcdtfydbc8S2fgea80aeIdbMUdbaea83aeIdlMUdlaea8YaeIdwMUdwaea8SaeIdxMUdxaeaUaeIdzMUdzaea8WaeIdCMUdCaea8VaeIdKMUdKaea8XaeId3MUd3aea81aeIdaMUdaaeaRaeId8KMUd8KaeaBaeIdyMUdykaHclfgHcx9hmbkaacxfhaa8Acifg8Aad6mbkaCTmbcbhainJbbbbh80a8Nabaacdtfgeclfydbg8Fcx2fgHIdwa8Naeydbghcx2fgAIdwg8Z:tg8Va8VNaHIdbaAIdbg83:tg8Wa8WNaHIdlaAIdlg85:tg8Xa8XNMMg8Sa8Naecwfydbg8Acx2fgeIdwa8Z:tg8YNa8Va8YNa8WaeIdba83:tg81Na8XaeIdla85:tgBNMMgRa8VN:tJbbbbJbbjZa8Sa8Ya8YNa81a81NaBaBNMMg8UNaRaRN:tg86:va86Jbbbb9BEg86Nh88a8Ua8VNaRa8YN:ta86Nh89a8SaBNaRa8XN:ta86Nh8:a8Ua8XNaRaBN:ta86NhZa8Sa81NaRa8WN:ta86Nhna8Ua8WNaRa81N:ta86Nhca8WaBNa8Xa81N:tgRaRNa8Xa8YNa8VaBN:tgRaRNa8Va81Na8Wa8YN:tgRaRNMM:rJbbbZNhRa8PahaC2g8JcdtfhHa8Pa8AaC2gDcdtfhAa8Pa8FaC2g8KcdtfhXa8Z:mh9ca85:mhJa83:mh9eascjdfheaChKJbbbbhBJbbbbh86Jbbbbh8SJbbbbh8UJbbbbh8ZJbbbbh83Jbbbbh85Jbbbbh87JbbbbhUinaecwfaRa89aXIdbaHIdbg8Y:tg8XNa88aAIdba8Y:tg81NMg8VNUdbaeclfaRaZa8XNa8:a81NMg8WNUdbaeaRaca8XNana81NMg8XNUdbaecxfaRa9ca8VNaJa8WNa8Ya9ea8XNMMMg8YNUdbaRa8Va8WNNa8ZMh8ZaRa8Va8XNNa8UMh8UaRa8Wa8XNNa8SMh8SaRa8Ya8YNNaUMhUaRa8Va8YNNa87Mh87aRa8Wa8YNNa85Mh85aRa8Xa8YNNa83Mh83aRa8Va8VNNa86Mh86aRa8Wa8WNNaBMhBaRa8Xa8XNNa80Mh80aHclfhHaXclfhXaAclfhAaeczfheaKcufgKmbkagahc8S2fgea80aeIdbMUdbaeaBaeIdlMUdlaea86aeIdwMUdwaea8SaeIdxMUdxaea8UaeIdzMUdzaea8ZaeIdCMUdCaea83aeIdKMUdKaea85aeId3MUd3aea87aeIdaMUdaaeaUaeId8KMUd8KaeaRaeIdyMUdyaga8Fc8S2fgea80aeIdbMUdbaeaBaeIdlMUdlaea86aeIdwMUdwaea8SaeIdxMUdxaea8UaeIdzMUdzaea8ZaeIdCMUdCaea83aeIdKMUdKaea85aeId3MUd3aea87aeIdaMUdaaeaUaeId8KMUd8KaeaRaeIdyMUdyaga8Ac8S2fgea80aeIdbMUdbaeaBaeIdlMUdlaea86aeIdwMUdwaea8SaeIdxMUdxaea8UaeIdzMUdzaea8ZaeIdCMUdCaea83aeIdKMUdKaea85aeId3MUd3aea87aeIdaMUdaaeaUaeId8KMUd8KaeaRaeIdyMUdya8Ra8Jcltfh8FcbhHaChXina8FaHfgeascjdfaHfgAIdbaeIdbMUdbaeclfgKaAclfIdbaKIdbMUdbaecwfgKaAcwfIdbaKIdbMUdbaecxfgeaAcxfIdbaeIdbMUdbaHczfhHaXcufgXmbka8Ra8Kcltfh8FcbhHaChXina8FaHfgeascjdfaHfgAIdbaeIdbMUdbaeclfgKaAclfIdbaKIdbMUdbaecwfgKaAcwfIdbaKIdbMUdbaecxfgeaAcxfIdbaeIdbMUdbaHczfhHaXcufgXmbka8RaDcltfh8FcbhHaChXina8FaHfgeascjdfaHfgAIdbaeIdbMUdbaeclfgKaAclfIdbaKIdbMUdbaecwfgKaAcwfIdbaKIdbMUdbaecxfgeaAcxfIdbaeIdbMUdbaHczfhHaXcufgXmbkaacifgaad6mbkkcbhAdndnamcwGgTmbJbbbbh8ScbhScbh9hcbh9ixekcbhSa3cbyd1:H:cjbHjjjjbbh9iasc:Cefasyd;8egecdtfa9iBdbasaecefBd;8ecua9ialabadaOz:fjjjbgXcltaXcjjjjiGEcbyd1:H:cjbHjjjjbbh9hasc:Cefasyd;8egecdtfa9hBdbasaecefBd;8ea9haXa9ia8Nalz:gjjjbJFFuuh8SaXTmba9hheaXhHinaeIdbgRa8Sa8SaR9EEh8SaeclfheaHcufgHmbkaXhSkdnalTmbaLclfheaLydbhXaYhHalhKcbhAincbaeydbg8FaX9RaHRbbcpeGEaAfhAaHcefhHaeclfhea8FhXaKcufgKmbkaAce4hAkcuadaA9Rcifg6cx2a6c;v:Q;v:Qe0Ecbyd1:H:cjbHjjjjbbh9kasc:Cefasyd;8egecdtfa9kBdbasaecefBd;8ecua6cdta6cFFFFi0Ecbyd1:H:cjbHjjjjbbh0asc:Cefasyd;8egecdtfa0BdbasaecefBd;8ea3cbyd1:H:cjbHjjjjbbh9masc:Cefasyd;8egecdtfa9mBdbasaecefBd;8ealcbyd1:H:cjbHjjjjbbh9nasc:Cefasyd;8egecdtfa9nBdbasaecefBd;8eaxaxNayJbbjZamclGEgZaZN:vh87JbbbbhUdnadak9nmbdna6ci6mbaCclth9oa9kcwfh9pJbbbbh85JbbbbhUinascNefabadalaOz:cjjjbabh8Acbh9qcbh9rinaba9rcdtfhDcbheindnaOa8AaefydbgAcdtghfydbgXaOaDaec:W:G:cjbfydbcdtfydbgHcdtg8JfydbgKSmbaYaHfRbbgacv2aYaAfRbbg8FfRb;a:G:cjbg8La8Fcv2aafg8KRb;a:G:cjbg3VcFeGTmbdnaKaX9nmba8KRb;G:G:cjbcFeGmekdna8FcufcFeGce0mbaaTmba5ahfydbaH9hmekdna8FTmbaacufcFeGce0mba8Ea8JfydbaA9hmeka9ka9qcx2fgXaHaAa3cFeGgKEBdlaXaAaHaKEBdbaXaKa8LGcb9hBdwa9qcefh9qkaeclfgecx9hmbkdna9rcifg9rad9pmba8Acxfh8Aa9qcifa69nmekka9qTmdcbh8KinaIaOa9ka8Kcx2fghydbgKcdtgXfydbg8Ac8S2fgeIdwa8Nahydlg8Fcx2fgHIdwg8WNaeIdzaHIdbg8XNaeIdaMgRaRMMa8WNaeIdlaHIdlg8YNaeIdCa8WNaeId3MgRaRMMa8YNaeIdba8XNaeIdxa8YNaeIdKMgRaRMMa8XNaeId8KMMM:lhRJbbbbJbbjZaeIdyg8V:va8VJbbbb9BEh8VdndnahydwgDmbJFFuuh86xekJbbbbJbbjZaIaOa8Fcdtfydbc8S2fgeIdyg81:va81Jbbbb9BEaeIdwa8NaKcx2fgHIdwg81NaeIdzaHIdbg80NaeIdaMgBaBMMa81NaeIdlaHIdlgBNaeIdCa81NaeId3Mg81a81MMaBNaeIdba80NaeIdxaBNaeIdKMg81a81MMa80NaeId8KMMM:lNh86ka8VaRNhBdnaCTmbagaKc8S2fgAIdwa8WNaAIdza8XNaAIdaMgRaRMMa8WNaAIdla8YNaAIdCa8WNaAId3MgRaRMMa8YNaAIdba8XNaAIdxa8YNaAIdKMgRaRMMa8XNaAId8KMMMhRa8Pa8FaC2gacdtfhHa8RaKaC2g8JcltfheaAIdyh81aChAinaHIdbg8Va8Va81NaecxfIdba8WaecwfIdbNa8XaeIdbNa8YaeclfIdbNMMMg8Va8VM:tNaRMhRaHclfhHaeczfheaAcufgAmbkdndnaDmbJbbbbh8Vxekaga8Fc8S2fgAIdwa8NaKcx2fgeIdwg8XNaAIdzaeIdbg8YNaAIdaMg8Va8VMMa8XNaAIdlaeIdlg81NaAIdCa8XNaAId3Mg8Va8VMMa81NaAIdba8YNaAIdxa81NaAIdKMg8Va8VMMa8YNaAId8KMMMh8Va8Pa8JcdtfhHa8RaacltfheaAIdyh80aChAinaHIdbg8Wa8Wa80NaecxfIdba8XaecwfIdbNa8YaeIdbNa81aeclfIdbNMMMg8Wa8WM:tNa8VMh8VaHclfhHaeczfheaAcufgAmbka8V:lh8VkaBaR:lMhBa86a8VMh86dndndnaYaKfRbbc9:fPddbekaQaXfydbgXaKSmbaOa8Fcdtfydbh8Jindndna5aXcdtgafydbgecuSmbaOaecdtfydba8JSmekdna8EaafydbgecuSmbaOaecdtfydba8JSmeka8FhekagaXc8S2fgAIdwa8Naecx2fgHIdwg8WNaAIdzaHIdbg8XNaAIdaMgRaRMMa8WNaAIdlaHIdlg8YNaAIdCa8WNaAId3MgRaRMMa8YNaAIdba8XNaAIdxa8YNaAIdKMgRaRMMa8XNaAId8KMMMhRa8PaeaC2cdtfhHa8RaXaC2cltfheaAIdyh81aChAinaHIdbg8Va8Va81NaecxfIdba8WaecwfIdbNa8XaeIdbNa8YaeclfIdbNMMMg8Va8VM:tNaRMhRaHclfhHaeczfheaAcufgAmbkaBaR:lMhBaQaafydbgXaK9hmbkkaYa8FfRbbci9hmeaDTmeaQa8FcdtfydbgXa8FSmeindndna5aXcdtgafydbgecuSmbaOaecdtfydba8ASmekdna8EaafydbgecuSmbaOaecdtfydba8ASmekaKhekagaXc8S2fgAIdwa8Naecx2fgHIdwg8WNaAIdzaHIdbg8XNaAIdaMgRaRMMa8WNaAIdlaHIdlg8YNaAIdCa8WNaAId3MgRaRMMa8YNaAIdba8XNaAIdxa8YNaAIdKMgRaRMMa8XNaAId8KMMMhRa8PaeaC2cdtfhHa8RaXaC2cltfheaAIdyh81aChAinaHIdbg8Va8Va81NaecxfIdba8WaecwfIdbNa8XaeIdbNa8YaeclfIdbNMMMg8Va8VM:tNaRMhRaHclfhHaeczfheaAcufgAmbka86aR:lMh86aQaafydbgXa8F9hmbxdkkdna8Ea5a5aXfydba8FSEaQaXfydbgacdtfydbgXcu9hmbaQa8FcdtfydbhXkagaac8S2fgAIdwa8NaXcx2fgeIdwg8WNaAIdzaeIdbg8XNaAIdaMgRaRMMa8WNaAIdlaeIdlg8YNaAIdCa8WNaAId3MgRaRMMa8YNaAIdba8XNaAIdxa8YNaAIdKMgRaRMMa8XNaAId8KMMMhRa8PaXaC2g8AcdtfhHa8RaaaC2g8JcltfheaAIdyh81aChAinaHIdbg8Va8Va81NaecxfIdba8WaecwfIdbNa8XaeIdbNa8YaeclfIdbNMMMg8Va8VM:tNaRMhRaHclfhHaeczfheaAcufgAmbkdndnaDmbJbbbbh8VxekagaXc8S2fgAIdwa8Naacx2fgeIdwg8XNaAIdzaeIdbg8YNaAIdaMg8Va8VMMa8XNaAIdlaeIdlg81NaAIdCa8XNaAId3Mg8Va8VMMa81NaAIdba8YNaAIdxa81NaAIdKMg8Va8VMMa8YNaAId8KMMMh8Va8Pa8JcdtfhHa8Ra8AcltfheaAIdyh80aChAinaHIdbg8Wa8Wa80NaecxfIdba8XaecwfIdbNa8YaeIdbNa81aeclfIdbNMMMg8Wa8WM:tNa8VMh8VaHclfhHaeczfheaAcufgAmbka8V:lh8VkaBaR:lMhBa86a8VMh86kaha86aBa86aB9DgeEUdwahaKa8FaeaDcb9hGgeEBdlaha8FaKaeEBdba8Kcefg8Ka9q9hmbkascjdfcbcj;qbz:tjjjb8Aa9phea9qhHinascjdfaeydbcA4cF8FGgAcFAaAcFA6EcdtfgAaAydbcefBdbaecxfheaHcufgHmbkcbhecbhHinascjdfaefgAydbhXaAaHBdbaXaHfhHaeclfgecj;qb9hmbkcbhea9phHinascjdfaHydbcA4cF8FGgAcFAaAcFA6EcdtfgAaAydbgAcefBdba0aAcdtfaeBdbaHcxfhHa9qaecefge9hmbkadak9RgAci9Uh9sdnalTmbcbhea9mhHinaHaeBdbaHclfhHalaecefge9hmbkkcbh9ta9ncbalz:tjjjbh3aAcO9Uh9ua9sce4h9rcbh8Lcbh8Kdnina9ka0a8Kcdtfydbcx2fg8JIdwgRa879Emea8La9s9pmeJFFuuh8Vdna9ra9q9pmba9ka0a9rcdtfydbcx2fIdwJbb;aZNh8VkdnaRa8V9ETmbaRaU9ETmba8La9u0mdkdna3aOa8JydlgDcdtg9vfg8AydbgAfg9wRbba3aOa8Jydbghcdtg9xfydbgefg9yRbbVmbaYahfRbbh9zdndnaLaecdtfgHclfydbgXaHydbgHSmbaXaH9RhXa8NaAcx2fh8Fa8Naecx2fhaaEaHcitfheindna9maeydbcdtfydbgHaASmba9maeclfydbcdtfydbgKaASmbaHaKSmba8NaKcx2fgKIdba8NaHcx2fgHIdbg8W:tgRaaIdlaHIdlg8X:tg80NaKIdla8X:tg8VaaIdba8W:tgBN:tg8YaRa8FIdla8X:tg86Na8Va8FIdba8W:tg8UN:tg8XNa8VaaIdwaHIdwg81:tg8ZNaKIdwa81:tg8Wa80N:tg80a8Va8FIdwa81:tg83Na8Wa86N:tg8VNa8WaBNaRa8ZN:tg81a8Wa8UNaRa83N:tgRNMMa8Ya8YNa80a80Na81a81NMMa8Xa8XNa8Va8VNaRaRNMMN:rJbbj8:N9FmikaecwfheaXcufgXmbkkdndndndna9zc9:fPdebdkahheina8AydbhAdndna5aecdtgHfydbgecuSmbaOaecdtfydbaASmekdna8EaHfydbgecuSmbaOaecdtfydbaASmekaDheka9maHfaeBdbaQaHfydbgeah9hmbxikkdna8Ea5a5a9xfydbaDSEaQa9xfydbghcdtfydbgecu9hmbaQa9vfydbheka9ma9xfaDBdbaehDka9mahcdtfaDBdbka9yce86bba9wce86bba8JIdwgRaUaUaR9DEhUa9tcefh9tcecda9zceSEa8Lfh8Lxeka9rcefh9rka8Kcefg8Ka9q9hmbkka9tTmddnalTmbcbh8Fcbhhindna9mahcdtgefydbgAahSmbaOaAcdtfydbh8AdnahaOaefydb9hg8JmbaIa8Ac8S2fgeaIahc8S2fgHIdbaeIdbMUdbaeaHIdlaeIdlMUdlaeaHIdwaeIdwMUdwaeaHIdxaeIdxMUdxaeaHIdzaeIdzMUdzaeaHIdCaeIdCMUdCaeaHIdKaeIdKMUdKaeaHId3aeId3MUd3aeaHIdaaeIdaMUdaaeaHId8KaeId8KMUd8KaeaHIdyaeIdyMUdya8MTmba8Ma8Acltfgea8MahcltfgHIdbaeIdbMUdbaeaHIdlaeIdlMUdlaeaHIdwaeIdwMUdwaeaHIdxaeIdxMUdxkaCTmbagaAc8S2fgeagahc8S2gDfgHIdbaeIdbMUdbaeaHIdlaeIdlMUdlaeaHIdwaeIdwMUdwaeaHIdxaeIdxMUdxaeaHIdzaeIdzMUdzaeaHIdCaeIdCMUdCaeaHIdKaeIdKMUdKaeaHId3aeId3MUd3aeaHIdaaeIdaMUdaaeaHId8KaeId8KMUd8KaeaHIdyaeIdyMUdya9oaA2haa8RhHaChXinaHaafgeaHa8FfgAIdbaeIdbMUdbaeclfgKaAclfIdbaKIdbMUdbaecwfgKaAcwfIdbaKIdbMUdbaecxfgeaAcxfIdbaeIdbMUdbaHczfhHaXcufgXmbka8JmbJbbbbJbbjZaIaDfgeIdygR:vaRJbbbb9BEaeIdwa8Na8Acx2fgHIdwgRNaeIdzaHIdbg8VNaeIdaMg8Wa8WMMaRNaeIdlaHIdlg8WNaeIdCaRNaeId3MgRaRMMa8WNaeIdba8VNaeIdxa8WNaeIdKMgRaRMMa8VNaeId8KMMM:lNgRa85a85aR9DEh85ka8Fa9ofh8Fahcefghal9hmbkcbhHa5heindnaeydbgAcuSmbdnaHa9maAcdtgXfydbgA9hmbcuhAa5aXfydbgXcuSmba9maXcdtfydbhAkaeaABdbkaeclfhealaHcefgH9hmbkcbhHa8EheindnaeydbgAcuSmbdnaHa9maAcdtgXfydbgA9hmbcuhAa8EaXfydbgXcuSmba9maXcdtfydbhAkaeaABdbkaeclfhealaHcefgH9hmbkka85aUaCEh85cbhHabhecbhAindnaOa9maeydbcdtfydbg8FcdtfydbgXaOa9maeclfydbcdtfydbgacdtfydbgKSmbaXaOa9maecwfydbcdtfydbg8AcdtfydbghSmbaKahSmbabaHcdtfgXa8FBdbaXcwfa8ABdbaXclfaaBdbaHcifhHkaecxfheaAcifgAad6mbkdndnaTmbaHhdxekdnaHak0mbaHhdxekdna8Sa859FmbaHhdxekJFFuuh8ScbhdabhecbhAindna9ha9iaeydbgXcdtfydbcdtfIdbgRa859ETmbaeclf8Pdbh9AabadcdtfgKaXBdbaKclfa9A83dbaRa8Sa8SaR9EEh8SadcifhdkaecxfheaAcifgAaH6mbkkadak0mbxdkkascNefabadalaOz:cjjjbkdndnadak0mbadhaxekdnaTmbadhaxekdna8Sa879FmbadhaxekcehKina8SJbb;aZNgRa87aRa879DEh8WJbbbbhRdnaSTmba9hheaShHinaeIdbg8VaRa8Va8W9FEaRa8VaR9EEhRaeclfheaHcufgHmbkkJFFuuh8ScbhaabhecbhHindna9ha9iaeydbgAcdtfydbcdtfIdbg8Va8W9ETmbaeclf8Pdbh9AabaacdtfgXaABdbaXclfa9A83dba8Va8Sa8Sa8V9EEh8SaacifhakaecxfheaHcifgHad6mbkdnaKaaad9hVceGmbadhaxdkaRaUaUaR9DEhUaaak9nmecbhKaahda8Sa879FmbkkdnamcjjjjdGTmba9ncbalz:tjjjbh8AdnaaTmbabheaahHina8AaeydbgAfce86bba8AaOaAcdtfydbfce86bbaeclfheaHcufgHmbkkascNefabaaalaOz:cjjjbdndnalTmbcbhXindna8AaXfRbbTmbdnaYaXfRbbgecl0mbceaetcQGmekdnaOaXcdtg8FfydbgeaXSmba8NaXcx2fgHa8Naecx2fgeydwBdwaHae8Pdb83dbxekaIaXc8S2fgKIdygcacJL:3;rUNgRMh87aKIdwg9BaRMh8SaKIdlg9CaRMh8UaKIdbg9DaRMh81aKIdag9EaRa8NaXcx2fg8JIdwg88N:th8ZaKId3g9FaRa8JIdlg89N:th83aKIdKg9Ga8JIdbg8:aRN:th80JbbbbhnaKIdCg9HJbbbbMh85aKIdzg9IJbbbbMhBaKIdxg9JJbbbbMh86dndnaCTmbaXhAinJbbbba87agaAc8S2fgHIdygR:vaRJbbbb9BEhRa8RaAaC2cltfheaHIdaa87Na8ZMh8ZaHId3a87Na83Mh83aHIdKa87Na80Mh80aHIdCa87Na85Mh85aHIdza87NaBMhBaHIdxa87Na86Mh86aHIdwa87Na8SMh8SaHIdla87Na8UMh8UaHIdba87Na81Mh81aChHina8ZaecwfIdbg8VaecxfIdbg8YNaRN:th8Za83aeclfIdbg8Wa8YNaRN:th83a85a8Wa8VNaRN:th85a81aeIdbg8Xa8XNaRN:th81a80a8Xa8YNaRN:th80aBa8Xa8VNaRN:thBa86a8Xa8WNaRN:th86a8Sa8Va8VNaRN:th8Sa8Ua8Wa8WNaRN:th8UaeczfheaHcufgHmbkaQaAcdtfydbgAaX9hmbka8MTmba8MaXcltfgeIdxhxaeIdwh9caeIdlhJaeIdbhRxekJbbbbhxJbbbbh9cJbbbbhJJbbbbhRkaBa81:vg8Wa80Na8Z:ta85aBa86a81:vg8VN:tg8Za8Ua86a8VN:tg8Y:vg8Xa8Va80Na83:tg8UN:th83a9caRa8WN:taJaRa8VN:tg86a8XN:tg85a8SaBa8WN:ta8Za8XN:tgB:vg8S:mh8Za86a8Y:vg9c:mhJdnJbbbbaRaRa81:vg9eN:ta86a9cN:ta85a8SN:tg86:la87J:983:g81NgR9ETmba8Za83NaJa8UNa9ea80Nax:tMMa86:vhnka81:laR9ETmba8Y:laR9ETmbaB:laR9ETmba9e:manNa8W:ma8ZanNa83aB:vMgBNa8V:maJanNa8X:maBNa8Ua8Y:vMMg85Na80:ma81:vMMMh87aLa8FfgeclfydbgHaeydbge9RhhaEaecitfh8FJbbbbhRdnaHaeSgDmbJbbbbhRa8FheahhAina8Naeclfydbcx2fgHIdwa88:tg8Va8VNaHIdba8::tg8Va8VNaHIdla89:tg8Va8VNMMg8Va8Naeydbcx2fgHIdwa88:tg8Wa8WNaHIdba8::tg8Wa8WNaHIdla89:tg8Wa8WNMMg8WaRaRa8W9DEgRaRa8V9DEhRaecwfheaAcufgAmbkaR:rgRaRNhRkaBa88:tg8Va8VNa87a8::tg8Va8VNa85a89:tg8Va8VNMMaR9EmbaKId8KhndnaDmbina8Na8Fclfydbcx2fgeIdba8Na8Fydbcx2fgHIdbg8W:tgRa89aHIdlg8X:tg80NaeIdla8X:tg8Va8:a8W:tg86N:tg8YaRa85a8X:tg8SNa8Va87a8W:tg8UN:tg8XNa8Va88aHIdwg81:tg8ZNaeIdwa81:tg8Wa80N:tg80a8VaBa81:tg83Na8Wa8SN:tg8VNa8Wa86NaRa8ZN:tg81a8Wa8UNaRa83N:tgRNMMa8Ya8YNa80a80Na81a81NMMa8Xa8XNa8Va8VNaRaRNMMN:rJbbj8:N9Fmda8Fcwfh8FahcufghmbkkJbbbbJbbjZac:vacJbbbb9BEgRa9BaBNa9Ia87Na9EMg8Va8VMMaBNa9Ca85Na9HaBNa9FMg8Va8VMMa85Na9Da87Na9Ja85Na9GMg8Va8VMMa87NanMMM:lNaRa9Ba88Na9Ia8:Na9EMg8Va8VMMa88Na9Ca89Na9Ha88Na9FMg8Va8VMMa89Na9Da8:Na9Ja89Na9GMg8Va8VMMa8:NanMMM:lNJbb;aZNJ:983:g81M9Emba8JaBUdwa8Ja85Udla8Ja87UdbkaXcefgXal9hmbkdnaCmbcbhCxdkcbhXindna8AaXfRbbTmbaOaXcdtgefydbaX9hmbaYaXfhhaQaefh8Ja8NaXcx2fhAa8PaXaC2cdtfhDcbhEincuhLdnahRbbci9hmbaXhLa8JydbgeaXSmba8PaEcdtgHfhKaDaHfIdbhRaXhLinaLhHcuhLdnaKaeaC2cdtfIdbaR9CmbaHcuSmbaHhLagaec8S2fIdyagaHc8S2fIdy9ETmbaehLkaQaecdtfydbgeaX9hmbkka8PaEcdtfhKa8RaEcltfh8FaXheinaKaeaC2cdtfJbbbbJbbjZagaeaLaLcuSEgHc8S2fIdygR:vaRJbbbb9BEa8FaHaC2cltfgHIdwaAIdwNaHIdbaAIdbNaHIdlaAIdlNMMaHIdxMNUdbaQaecdtfydbgeaX9hmbkaEcefgEaC9hmbkkaXcefgXal9hmbxdkkaCmbcbhCkaiavaoarawaCala8Na8Pazasayasc1efaYa8Aaqz:hjjjbkdnamcjjjjlGTmbazmbaaTmbabhecbhLinaYaeydbgAfRbbc3thQaecwfgXydbhHcjjjj94hCdna5aAcdtgEfydbaeclfgKydbgOSmbcjjjj94cba8EaOcdtfydbaASEhCkaeaQaCVaAVBdbaYaOfRbbc3th8Fcjjjj94hCcjjjj94hQdna5aOcdtfydbaHSmbcjjjj94cba8EaHcdtfydbaOSEhQkaKa8FaQVaOVBdbaYaHfRbbc3thOdna5aHcdtfydbaASmbcjjjj94cba8EaEfydbaHSEhCkaXaOaCVaHVBdbaecxfheaLcifgLaa6mbkkdnazTmbaaTmbaaheinabazabydbcdtfydbBdbabclfhbaecufgembkkdnaPTmbaPaZaU:rNUdbkdnasyd;8egHTmbaHcdtasc:Ceffc98fheinaeydbcbyd:m:H:cjbH:bjjjbbaec98fheaHcufgHmbkkascj;sbf8Kjjjjbaak;Yieouabydlhvabydbclfcbaicdtz:tjjjbhoadci9UhrdnadTmbdnalTmbaehwadhDinaoalawydbcdtfydbcdtfgqaqydbcefBdbawclfhwaDcufgDmbxdkkaehwadhDinaoawydbcdtfgqaqydbcefBdbawclfhwaDcufgDmbkkdnaiTmbcbhDaohwinawydbhqawaDBdbawclfhwaqaDfhDaicufgimbkkdnadci6mbinaecwfydbhwaeclfydbhDaeydbhidnalTmbalawcdtfydbhwalaDcdtfydbhDalaicdtfydbhikavaoaicdtfgqydbcitfaDBdbavaqydbcitfawBdlaqaqydbcefBdbavaoaDcdtfgqydbcitfawBdbavaqydbcitfaiBdlaqaqydbcefBdbavaoawcdtfgwydbcitfaiBdbavawydbcitfaDBdlawawydbcefBdbaecxfhearcufgrmbkkabydbcbBdbk:todDue99aicd4aifhrcehwinawgDcethwaDar6mbkcuaDcdtgraDcFFFFi0Ecbyd1:H:cjbHjjjjbbhwaoaoyd9GgqcefBd9GaoaqcdtfawBdbawcFearz:tjjjbhkdnaiTmbalcd4hlaDcufhxcbhminamhDdnavTmbavamcdtfydbhDkcbadaDal2cdtfgDydlgwawcjjjj94SEgwcH4aw7c:F:b:DD2cbaDydbgwawcjjjj94SEgwcH4aw7c;D;O:B8J27cbaDydwgDaDcjjjj94SEgDcH4aD7c:3F;N8N27axGhwamcdthPdndndnavTmbakawcdtfgrydbgDcuSmeadavaPfydbal2cdtfgsIdbhzcehqinaqhrdnadavaDcdtfydbal2cdtfgqIdbaz9CmbaqIdlasIdl9CmbaqIdwasIdw9BmlkarcefhqakawarfaxGgwcdtfgrydbgDcu9hmbxdkkakawcdtfgrydbgDcuSmbadamal2cdtfgsIdbhzcehqinaqhrdnadaDal2cdtfgqIdbaz9CmbaqIdlasIdl9CmbaqIdwasIdw9BmikarcefhqakawarfaxGgwcdtfgrydbgDcu9hmbkkaramBdbamhDkabaPfaDBdbamcefgmai9hmbkkakcbyd:m:H:cjbH:bjjjbbaoaoyd9GcufBd9GdnaeTmbaiTmbcbhDaehwinawaDBdbawclfhwaiaDcefgD9hmbkcbhDaehwindnaDabydbgrSmbawaearcdtfgrydbBdbaraDBdbkabclfhbawclfhwaiaDcefgD9hmbkkk;:odvuv998Jjjjjbca9Rgocbyd1:G:cjbBdKaocb8Pdj:G:cjb83izaocbydN:G:cjbBdwaocb8Pd:m:G:cjb83ibdnadTmbaicd4hrdnabmbdnalTmbcbhwinaealawcdtfydbar2cdtfhDcbhiinaoczfaifgqaDaifIdbgkaqIdbgxaxak9EEUdbaoaifgqakaqIdbgxaxak9DEUdbaiclfgicx9hmbkawcefgwad9hmbxikkarcdthwcbhDincbhiinaoczfaifgqaeaifIdbgkaqIdbgxaxak9EEUdbaoaifgqakaqIdbgxaxak9DEUdbaiclfgicx9hmbkaeawfheaDcefgDad9hmbxdkkdnalTmbcbhwinabawcx2fgiaealawcdtfydbar2cdtfgDIdbUdbaiaDIdlUdlaiaDIdwUdwcbhiinaoczfaifgqaDaifIdbgkaqIdbgxaxak9EEUdbaoaifgqakaqIdbgxaxak9DEUdbaiclfgicx9hmbkawcefgwad9hmbxdkkarcdthlcbhwaehDinabawcx2fgiaeawar2cdtfgqIdbUdbaiaqIdlUdlaiaqIdwUdwcbhiinaoczfaifgqaDaifIdbgkaqIdbgxaxak9EEUdbaoaifgqakaqIdbgxaxak9DEUdbaiclfgicx9hmbkaDalfhDawcefgwad9hmbkkJbbbbaoIdbaoIdzgx:tgkakJbbbb9DEgkaoIdlaoIdCgm:tgPaPak9DEgkaoIdwaoIdKgP:tgsasak9DEhsdnabTmbadTmbJbbbbJbbjZas:vasJbbbb9BEhkinabakabIdbax:tNUdbabclfgoakaoIdbam:tNUdbabcwfgoakaoIdbaP:tNUdbabcxfhbadcufgdmbkkdnavTmbavaPUdwavamUdlavaxUdbkask:WlewudnaeTmbcbhvabhoinaoavBdbaoclfhoaeavcefgv9hmbkkdnaiTmbcbhrinadarcdtfhwcbhDinalawaDcdtgvyd:G:G:cjbcdtfydbcdtfydbhodnalawavfydbcdtfydbgqabaqcdtfgkydbgvSmbinakabavgqcdtfgxydbgvBdbaxhkaqav9hmbkkdnaoabaocdtfgkydbgvSmbinakabavgocdtfgxydbgvBdbaxhkaoav9hmbkkdnaqaoSmbabaqaoaqao0Ecdtfaqaoaqao6EBdbkaDcefgDci9hmbkarcifgrai6mbkkdnaembcbskcbhxindnalaxcdtgvfydbax9hmbaxhodnaxabavfgDydbgvSmbaDhqinaqabavgocdtfgkydbgvBdbakhqaoav9hmbkkaDaoBdbkaxcefgxae9hmbkcbhkabhvcbhoindndnaoalydbgq9hmbdnaoavydbgq9hmbavakBdbakcefhkxdkavabaqcdtfydbBdbxekavabaqcdtfydbBdbkalclfhlavclfhvaeaocefgo9hmbkakk;jiilud99euabcbaecltz:tjjjbhvdnalTmbadhoaihralhwinarcwfIdbhDarclfIdbhqavaoydbcltfgkarIdbakIdbMUdbakaqakIdlMUdlakaDakIdwMUdwakakIdxJbbjZMUdxaoclfhoarcxfhrawcufgwmbkkdnaeTmbavhkaehrinakcxfgoIdbhDaocbBdbakakIdbJbbbbJbbjZaD:vaDJbbbb9BEgDNUdbakclfgoaDaoIdbNUdbakcwfgoaDaoIdbNUdbakczfhkarcufgrmbkkdnalTmbinavadydbcltfgkaicwfIdbakIdw:tgDaDNaiIdbakIdb:tgDaDNaiclfIdbakIdl:tgDaDNMMgDakIdxgqaqaD9DEUdxadclfhdaicxfhialcufglmbkkdnaeTmbavcxfhkinabakIdbUdbakczfhkabclfhbaecufgembkkk:moerudnaoTmbaecd4hzdnavTmbaicd4hHavcdthOcbhAindnaPaAfRbbTmbaAhednaDTmbaDaAcdtfydbhekdnasTmbasaefRbbceGmekdnamaAfRbbclSmbabaeaz2cdtfgiaraAcx2fgCIdbakNaxIdbMUdbaiaCIdlakNaxIdlMUdlaiaCIdwakNaxIdwMUdwkadaeaH2cdtfhXaqheawhiavhCinaXaeydbcdtgQfaiIdbalaQfIdb:vUdbaeclfheaiclfhiaCcufgCmbkkawaOfhwaAcefgAao9hmbxdkkdnasmbcbheaDhiindnaPaefRbbTmbaehCdnaDTmbaiydbhCkamaefRbbclSmbabaCaz2cdtfgCarIdbakNaxIdbMUdbaCarclfIdbakNaxIdlMUdlaCarcwfIdbakNaxIdwMUdwkaiclfhiarcxfhraoaecefge9hmbxdkkdnaDTmbindnaPRbbTmbasaDydbgefRbbceGmbamRbbclSmbabaeaz2cdtfgearIdbakNaxIdbMUdbaearclfIdbakNaxIdlMUdlaearcwfIdbakNaxIdwMUdwkaPcefhPaDclfhDamcefhmarcxfhraocufgombxdkkazcdthicbheindnaPaefRbbTmbasaefRbbceGmbamaefRbbclSmbabarIdbakNaxIdbMUdbabclfarclfIdbakNaxIdlMUdbabcwfarcwfIdbakNaxIdwMUdbkarcxfhrabaifhbaoaecefge9hmbkkk8MbabaeadaialavcbcbcbcbcbaoarawaDz:bjjjbk8MbabaeadaialavaoarawaDaqakaxamaPz:bjjjbkRbababaeadaialavaoarawaDaqakaxcjjjjdVamz:bjjjbk:g8Koque99due99duq998Jjjjjbc;Wb9Rgq8Kjjjjbcbhkaqcxfcbc;Kbz:tjjjb8Aaqcualcx2alc;v:Q;v:Qe0Ecbyd1:H:cjbHjjjjbbgxBdxaqceBd2axaialavcbcbz:ejjjb8AaqcualcdtalcFFFFi0Egmcbyd1:H:cjbHjjjjbbgiBdzaqcdBd2dndnJFF959eJbbjZawJbbjZawJbbjZ9DE:vawJ9VO:d869DEgw:lJbbb9p9DTmbaw:OhPxekcjjjj94hPkadci9Uhsarco9UhzdndnaombaPcd9imekdnalTmbaPcuf:YhwdnaoTmbcbhvaihHaxhOindndnaoavfRbbceGTmbavcjjjjlVhAxekdndnaOclfIdbawNJbbbZMgC:lJbbb9p9DTmbaC:OhAxekcjjjj94hAkaAcqthAdndnaOcwfIdbawNJbbbZMgC:lJbbb9p9DTmbaC:OhXxekcjjjj94hXkaAaXVhAdndnaOIdbawNJbbbZMgC:lJbbb9p9DTmbaC:OhXxekcjjjj94hXkaAaXcCtVhAkaHaABdbaHclfhHaOcxfhOalavcefgv9hmbxdkkaxhvaihOalhHindndnavIdbawNJbbbZMgC:lJbbb9p9DTmbaC:OhAxekcjjjj94hAkaAcCthAdndnavclfIdbawNJbbbZMgC:lJbbb9p9DTmbaC:OhXxekcjjjj94hXkaXcqtaAVhAdndnavcwfIdbawNJbbbZMgC:lJbbb9p9DTmbaC:OhXxekcjjjj94hXkaOaAaXVBdbavcxfhvaOclfhOaHcufgHmbkkadTmbcbhkaehvcbhOinakaiavclfydbcdtfydbgHaiavcwfydbcdtfydbgA9haiavydbcdtfydbgXaH9haXaA9hGGfhkavcxfhvaOcifgOad6mbkkarci9UhQdndnaz:Z:rJbbbZMgw:lJbbb9p9DTmbaw:Ohvxekcjjjj94hvkaQ:ZhLcbhKc:bwhzdninakaQ9pmeazaP9Rcd9imeavazcufgOavaO9iEaPcefavaP9kEhYdnalTmbaYcuf:YhwdnaoTmbcbhOaihHaxhvindndnaoaOfRbbceGTmbaOcjjjjlVhAxekdndnavclfIdbawNJbbbZMgC:lJbbb9p9DTmbaC:OhAxekcjjjj94hAkaAcqthAdndnavcwfIdbawNJbbbZMgC:lJbbb9p9DTmbaC:OhXxekcjjjj94hXkaAaXVhAdndnavIdbawNJbbbZMgC:lJbbb9p9DTmbaC:OhXxekcjjjj94hXkaAaXcCtVhAkaHaABdbaHclfhHavcxfhvalaOcefgO9hmbxdkkaxhvaihOalhHindndnavIdbawNJbbbZMgC:lJbbb9p9DTmbaC:OhAxekcjjjj94hAkaAcCthAdndnavclfIdbawNJbbbZMgC:lJbbb9p9DTmbaC:OhXxekcjjjj94hXkaXcqtaAVhAdndnavcwfIdbawNJbbbZMgC:lJbbb9p9DTmbaC:OhXxekcjjjj94hXkaOaAaXVBdbavcxfhvaOclfhOaHcufgHmbkkcbhOdnadTmbaehvcbhHinaOaiavclfydbcdtfydbgAaiavcwfydbcdtfydbgX9haiavydbcdtfydbgraA9haraX9hGGfhOavcxfhvaHcifgHad6mbkkdnas:ZgCaL:taY:Ygwaz:Y:tg8ANak:ZgEaO:Zg3:tNaEaL:tawaP:Y:tg5Na3aC:tNMg8EJbbbb9BmbaCaE:ta5a8Aa3aL:tNNNa8E:vawMhwkdndnaOaQ0mbaOhkaYhPxekaOhsaYhzkdndnaKcl0mbdnawJbbbZMgw:lJbbb9p9DTmbaw:Ohvxdkcjjjj94hvxekaPazfcd9ThvkaKcefgKcs9hmbkkdndndnakmbJbbjZhwcbhOcdhvaDmexdkalcd4alfhHcehOinaOgvcethOavaH6mbkcbhOaqcuavcdtgYavcFFFFi0Ecbyd1:H:cjbHjjjjbbgKBdCaqciBd2aqamcbyd1:H:cjbHjjjjbbgzBdKaqclBd2dndndndnalTmbaPcuf:YhwaoTmecbhOaihAaxhHindndnaoaOfRbbceGTmbaOcjjjjlVhXxekdndnaHclfIdbawNJbbbZMgC:lJbbb9p9DTmbaC:OhXxekcjjjj94hXkaXcqthXdndnaHcwfIdbawNJbbbZMgC:lJbbb9p9DTmbaC:Ohrxekcjjjj94hrkaXarVhXdndnaHIdbawNJbbbZMgC:lJbbb9p9DTmbaC:Ohrxekcjjjj94hrkaXarcCtVhXkaAaXBdbaAclfhAaHcxfhHalaOcefgO9hmbxikkaKcFeaYz:tjjjb8AcbhPcbhvxdkaxhOaihHalhAindndnaOIdbawNJbbbZMgC:lJbbb9p9DTmbaC:OhXxekcjjjj94hXkaXcCthXdndnaOclfIdbawNJbbbZMgC:lJbbb9p9DTmbaC:Ohrxekcjjjj94hrkarcqtaXVhXdndnaOcwfIdbawNJbbbZMgC:lJbbb9p9DTmbaC:Ohrxekcjjjj94hrkaHaXarVBdbaOcxfhOaHclfhHaAcufgAmbkkaKcFeaYz:tjjjbhravcufhocbhPcbhYindndndnaraiaYcdtgKfydbgAcm4aA7c:v;t;h;Ev2gvcs4av7aoGgHcdtfgXydbgOcuSmbcehvinaiaOcdtgOfydbaASmdaHavfhOavcefhvaraOaoGgHcdtfgXydbgOcu9hmbkkaXaYBdbaPhvaPcefhPxekazaOfydbhvkazaKfavBdbaYcefgYal9hmbkcuaPc8S2gOaPc;D;O;f8U0EhvkcbhXaqavcbyd1:H:cjbHjjjjbbgvBd3aqcvBd2avcbaOz:tjjjbhOdnadTmbaehiinaxaiclfydbgrcx2fgvIdbaxaiydbgocx2fgHIdbg3:tgCaxaicwfydbgYcx2fgAIdlaHIdlg8A:tgwNavIdla8A:tgEaAIdba3:tg8EN:tgLaLNaEaAIdwaHIdwg5:tg8FNavIdwa5:tgEawN:tgwawNaEa8ENaCa8FN:tgCaCNMMg8E:rhEJbbnnJbbjZazaocdtfydbgvazarcdtfydbgASavazaYcdtfydbgrSGgHEh8Fdna8EJbbbb9ETmbaLaE:vhLaCaE:vhCawaE:vhwkaOavc8S2fgvavIdbawa8FaE:rNgEawNNg8FMUdbavaCaEaCNgaNghavIdlMUdlavaLaEaLNg8ENggavIdwMUdwavawaaNgaavIdxMUdxava8EawNg8JavIdzMUdzavaCa8ENg8EavIdCMUdCavawaEaLa5Nawa3Na8AaCNMM:mg8ANg3NgwavIdKMUdKavaCa3NgCavId3MUd3avaLa3NgLavIdaMUdaava3a8ANg3avId8KMUd8KavaEavIdyMUdydnaHmbaOaAc8S2fgva8FavIdbMUdbavahavIdlMUdlavagavIdwMUdwavaaavIdxMUdxava8JavIdzMUdzava8EavIdCMUdCavawavIdKMUdKavaCavId3MUd3avaLavIdaMUdaava3avId8KMUd8KavaEavIdyMUdyaOarc8S2fgva8FavIdbMUdbavahavIdlMUdlavagavIdwMUdwavaaavIdxMUdxava8JavIdzMUdzava8EavIdCMUdCavawavIdKMUdKavaCavId3MUd3avaLavIdaMUdaava3avId8KMUd8KavaEavIdyMUdykaicxfhiaXcifgXad6mbkkcbhAaqcuaPcdtgvaPcFFFFi0Egicbyd1:H:cjbHjjjjbbgHBdaaqcoBd2aqaicbyd1:H:cjbHjjjjbbgiBd8KaqcrBd2aHcFeavz:tjjjbhYdnalTmbazhHinJbbbbJbbjZaOaHydbgXc8S2fgvIdygw:vawJbbbb9BEavIdwaxcwfIdbgwNavIdzaxIdbgCNavIdaMgLaLMMawNavIdlaxclfIdbgLNavIdCawNavId3MgwawMMaLNavIdbaCNavIdxaLNavIdKMgwawMMaCNavId8KMMM:lNhwdndnaYaXcdtgvfgXydbcuSmbaiavfIdbaw9ETmekaXaABdbaiavfawUdbkaHclfhHaxcxfhxalaAcefgA9hmbkkdndnaPmbJbbbbhwxekJbbbbhwinaiIdbgCawawaC9DEhwaiclfhiaPcufgPmbkaw:rhwkakcd4akfhOcehiinaigvcethiavaO6mbkcbhOaqcuavcdtgiavcFFFFi0Ecbyd1:H:cjbHjjjjbbgHBdyaHcFeaiz:tjjjbhXdnadTmbavcufhrcbhPcbhxindnazaeaxcdtfgvydbcdtfydbgiazavclfydbcdtfydbgOSmbaiazavcwfydbcdtfydbgvSmbaOavSmbaYavcdtfydbhAdndnaYaOcdtfydbgvaYaicdtfydbgi9pmbavaA9pmbaAhlaihoavhAxekdnaAai9pmbaAav9pmbaihlavhoxekavhlaAhoaihAkabaPcx2fgvaABdbavcwfaoBdbavclfalBdbdnaXaoc:3F;N8N2alc:F:b:DD27aAc;D;O:B8J27arGgOcdtfgvydbgicuSmbcehHinaHhvdnabaicx2fgiydbaA9hmbaiydlal9hmbaiydwaoSmikavcefhHaXaOavfarGgOcdtfgvydbgicu9hmbkkavaPBdbaPcefhPkaxcifgxad6mbkaPci2hOkcwhvaDTmekaDawUdbkavcdthvaqcxfc98fhiinaiavfydbcbyd:m:H:cjbH:bjjjbbavc98fgvmbkaqc;Wbf8KjjjjbaOk:3ldrue9:8Jjjjjbc;Wb9Rgr8Kjjjjbcbhwarcxfcbc;Kbz:tjjjb8AdnabaeSmbabaeadcdtzMjjjb8AkarcualcdtalcFFFFi0EgDcbyd1:H:cjbHjjjjbbgqBdxarceBd2aqcbaialavcbarcxfz:djjjbcualcx2alc;v:Q;v:Qe0Ecbyd1:H:cjbHjjjjbbhkarcxfaryd2gxcdtfakBdbaraxcefgmBd2akaialavcbcbz:ejjjb8AarcxfamcdtfaDcbyd1:H:cjbHjjjjbbgiBdbaraxcdfgvBd2arcxfavcdtfcuaialaeadaqz:fjjjbgecltaecjjjjiGEcbyd1:H:cjbHjjjjbbgqBdbaqaeaiakalz:gjjjbaxcifhkdnadTmbaoaoNhocbhwabhlcbheindnaqaialydbgvcdtfydbcdtfIdbao9ETmbalclf8PdbhPabawcdtfgDavBdbaDclfaP83dbawcifhwkalcxfhlaecifgead6mbkkdnakTmbaxcdtarcxffcwfhlinalydbcbyd:m:H:cjbH:bjjjbbalc98fhlakcufgkmbkkarc;Wbf8Kjjjjbawk:WCoDud99vue99vuv998Jjjjjbc;Wb9Rgw8KjjjjbdndnarmbcbhDxekawcxfcbc;Kbz:tjjjb8Aawcuadcx2adc;v:Q;v:Qe0Ecbyd1:H:cjbHjjjjbbgqBdxawceBd2aqaeadaicbcbz:ejjjb8AawcuadcdtadcFFFFi0Egkcbyd1:H:cjbHjjjjbbgxBdzawcdBd2adcd4adfhmceheinaegicetheaiam6mbkcbhPawcuaicdtgsaicFFFFi0Ecbyd1:H:cjbHjjjjbbgzBdCawciBd2dndnar:ZgH:rJbbbZMgO:lJbbb9p9DTmbaO:Ohexekcjjjj94hekaicufhAc:bwhCcbhXadhQcbhLinaeaCcufgiaeai9iEaPcefaeaP9kEhDdndnadTmbaDcuf:YhOaqhiaxheadhmindndnaiIdbaONJbbbZMgK:lJbbb9p9DTmbaK:OhYxekcjjjj94hYkaYcCthYdndnaiclfIdbaONJbbbZMgK:lJbbb9p9DTmbaK:Oh8Axekcjjjj94h8Aka8AcqtaYVhYdndnaicwfIdbaONJbbbZMgK:lJbbb9p9DTmbaK:Oh8Axekcjjjj94h8AkaeaYa8AVBdbaicxfhiaeclfheamcufgmmbkazcFeasz:tjjjbhEcbh3cbh5indnaEaxa5cdtfydbgYcm4aY7c:v;t;h;Ev2gics4ai7aAGgmcdtfg8AydbgecuSmbaeaYSmbcehiinaEamaifaAGgmcdtfg8AydbgecuSmeaicefhiaeaY9hmbkka8AaYBdba3aecuSfh3a5cefg5ad9hmbxdkkazcFeasz:tjjjb8Acbh3kdnaQ:ZgKaH:taD:YgOaC:Y:tg8ENaX:Zg8Fa3:Zga:tNa8FaH:taOaP:Y:tghNaaaK:tNMggJbbbb9BmbaKa8F:taha8EaaaH:tNNNag:vaOMhOkaPaDa3ar0giEhPaXa3aiEhXdna3arSmbaDaCaiEgCaP9Rcd9imbdndnaLcl0mbdnaOJbbbZMgO:lJbbb9p9DTmbaO:Ohexdkcjjjj94hexekaPaCfcd9Theka3aQaiEhQaLcefgLcs9hmekkdndnaXmbcihicbhDxekcbhiawakcbyd1:H:cjbHjjjjbbg5BdKawclBd2aPcuf:YhKdndnadTmbaqhiaxheadhmindndnaiIdbaKNJbbbZMgO:lJbbb9p9DTmbaO:OhYxekcjjjj94hYkaYcCthYdndnaiclfIdbaKNJbbbZMgO:lJbbb9p9DTmbaO:Oh8Axekcjjjj94h8Aka8AcqtaYVhYdndnaicwfIdbaKNJbbbZMgO:lJbbb9p9DTmbaO:Oh8Axekcjjjj94h8AkaeaYa8AVBdbaicxfhiaeclfheamcufgmmbkazcFeasz:tjjjbhEcbhDcbh3indndndnaEaxa3cdtgCfydbgYcm4aY7c:v;t;h;Ev2gics4ai7aAGgmcdtfg8AydbgecuSmbcehiinaxaecdtgefydbaYSmdamaifheaicefhiaEaeaAGgmcdtfg8Aydbgecu9hmbkka8Aa3BdbaDhiaDcefhDxeka5aefydbhika5aCfaiBdba3cefg3ad9hmbkcuaDc32giaDc;j:KM;jb0EhexekazcFeasz:tjjjb8AcbhDcbhekawaecbyd1:H:cjbHjjjjbbgeBd3awcvBd2aecbaiz:tjjjbh8Aavcd4hxdnadTmbdnalTmbaxcdthEa5hYaqhealhmadhAina8AaYydbc32fgiaeIdbaiIdbMUdbaiaeclfIdbaiIdlMUdlaiaecwfIdbaiIdwMUdwaiamIdbaiIdxMUdxaiamclfIdbaiIdzMUdzaiamcwfIdbaiIdCMUdCaiaiIdKJbbjZMUdKaYclfhYaecxfheamaEfhmaAcufgAmbxdkka5hmaqheadhYina8Aamydbc32fgiaeIdbaiIdbMUdbaiaeclfIdbaiIdlMUdlaiaecwfIdbaiIdwMUdwaiaiIdxJbbbbMUdxaiaiIdzJbbbbMUdzaiaiIdCJbbbbMUdCaiaiIdKJbbjZMUdKamclfhmaecxfheaYcufgYmbkkdnaDTmba8AhiaDheinaiaiIdbJbbbbJbbjZaicKfIdbgO:vaOJbbbb9BEgONUdbaiclfgmaOamIdbNUdbaicwfgmaOamIdbNUdbaicxfgmaOamIdbNUdbaiczfgmaOamIdbNUdbaicCfgmaOamIdbNUdbaic3fhiaecufgembkkcbhYawcuaDcdtgCaDcFFFFi0Egicbyd1:H:cjbHjjjjbbgeBdaawcoBd2awaicbyd1:H:cjbHjjjjbbgEBd8KaecFeaCz:tjjjbh3dnadTmbaoJbbjZJbbjZaK:vaPceSENgOaONhKaxcdthxalheinaKaec;8:G:cjbalEgmIdwa8Aa5ydbgAc32fgiIdC:tgOaONamIdbaiIdx:tgOaONamIdlaiIdz:tgOaONMMNaqcwfIdbaiIdw:tgOaONaqIdbaiIdb:tgOaONaqclfIdbaiIdl:tgOaONMMMhOdndna3aAcdtgifgmydbcuSmbaEaifIdbaO9ETmekamaYBdbaEaifaOUdbka5clfh5aqcxfhqaeaxfheadaYcefgY9hmbkkaba3aCzMjjjb8Acrhikaicdthiawcxfc98fheinaeaifydbcbyd:m:H:cjbH:bjjjbbaic98fgimbkkawc;Wbf8KjjjjbaDk:Pdidui99ducbhi8Jjjjjbca9Rglcbyd1:G:cjbBdKalcb8Pdj:G:cjb83izalcbydN:G:cjbBdwalcb8Pd:m:G:cjb83ibdndnaembJbbjFhvJbbjFhoJbbjFhrxekadcd4cdthwincbhdinalczfadfgDabadfIdbgvaDIdbgoaoav9EEUdbaladfgDavaDIdbgoaoav9DEUdbadclfgdcx9hmbkabawfhbaicefgiae9hmbkalIdwalIdK:thralIdlalIdC:thoalIdbalIdz:thvkJbbbbavavJbbbb9DEgvaoaoav9DEgvararav9DEk9DeeuabcFeaicdtz:tjjjbhlcbhbdnadTmbindnalaeydbcdtfgiydbcu9hmbaiabBdbabcefhbkaeclfheadcufgdmbkkabk;Bidqui998Jjjjjbc;Wb9Rgl8Kjjjjbalcxfcbc;Kbz:tjjjb8Aadcd4adfhvcehoinaogrcethoarav6mbkalcuarcdtgoarcFFFFi0Ecbyd1:H:cjbHjjjjbbgvBdxavcFeaoz:tjjjbhwdnadTmbaicd4hDarcufhqcbhkindndnawcbaeakaD2cdtfgrydlgiaicjjjj94SEgocH4ao7c:F:b:DD2cbarydbgxaxcjjjj94SEgocH4ao7c;D;O:B8J27cbarydwgmamcjjjj94SEgrcH4ar7c:3F;N8N27aqGgvcdtfgrydbgocuSmbam::hPai::hsax::hzcehiinaihrdnaeaoaD2cdtfgiIdbaz9CmbaiIdlas9CmbaiIdwaP9BmikarcefhiawavarfaqGgvcdtfgrydbgocu9hmbkkarakBdbakhokabakcdtfaoBdbakcefgkad9hmbkkalydxcbyd:m:H:cjbH:bjjjbbalc;Wbf8Kjjjjbk9teiucbcbyd:q:H:cjbgeabcifc98GfgbBd:q:H:cjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik;LeeeudndnaeabVciGTmbabhixekdndnadcz9pmbabhixekabhiinaiaeydbBdbaiclfaeclfydbBdbaicwfaecwfydbBdbaicxfaecxfydbBdbaeczfheaiczfhiadc9Wfgdcs0mbkkadcl6mbinaiaeydbBdbaeclfheaiclfhiadc98fgdci0mbkkdnadTmbinaiaeRbb86bbaicefhiaecefheadcufgdmbkkabk;aeedudndnabciGTmbabhixekaecFeGc:b:c:ew2hldndnadcz9pmbabhixekabhiinaialBdbaicxfalBdbaicwfalBdbaiclfalBdbaiczfhiadc9Wfgdcs0mbkkadcl6mbinaialBdbaiclfhiadc98fgdci0mbkkdnadTmbinaiae86bbaicefhiadcufgdmbkkabk9teiucbcbyd:q:H:cjbgeabcrfc94GfgbBd:q:H:cjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaikTeeucbabcbyd:q:H:cjbge9Rcifc98GaefgbBd:q:H:cjbdnabZbcztge9nmbabae9RcFFifcz4nb8Akkk:Kedbcj:Gdk1eFFuuFFuuFFuuFFuFFFuFFFuFbbbbbbbbebbbdbbbbbbbebbbebbbdbbbbbbbbbbbeeeeebebbebbebebbbeebbbbbbbbbbbbeeeeeebebbeeebeebbbbebebbbbbbbbbbbbbbbbbbc1:Hdkxebbbdbbb:G:qbb`,t=new Uint8Array([32,0,65,2,1,106,34,33,3,128,11,4,13,64,6,253,10,7,15,116,127,5,8,12,40,16,19,54,20,9,27,255,113,17,42,67,24,23,146,148,18,14,22,45,70,69,56,114,101,21,25,63,75,136,108,28,118,29,73,115]);if(typeof WebAssembly!=`object`)return{supported:!1};var n,r=WebAssembly.instantiate(i(e),{}).then(function(e){n=e.instance,n.exports.__wasm_call_ctors()});function i(e){for(var n=new Uint8Array(e.length),r=0;r<e.length;++r){var i=e.charCodeAt(r);n[r]=i>96?i-97:i>64?i-39:i+4}for(var a=0,r=0;r<e.length;++r)n[a++]=n[r]<60?t[n[r]]:(n[r]-60)*64+n[++r];return n.buffer.slice(0,a)}function a(e){if(!e)throw Error(`Assertion failed`)}function o(e){return new Uint8Array(e.buffer,e.byteOffset,e.byteLength)}function s(e,t,r,i){var a=n.exports.sbrk,s=a(r*4),c=a(r*i*4),l=new Uint8Array(n.exports.memory.buffer);l.set(o(t),c),e(s,c,r,i*4),l=new Uint8Array(n.exports.memory.buffer);var u=new Uint32Array(r);return new Uint8Array(u.buffer).set(l.subarray(s,s+r*4)),a(s-a(0)),u}function c(e,t,r){var i=n.exports.sbrk,a=i(t.length*4),s=i(r*4),c=new Uint8Array(n.exports.memory.buffer),l=o(t);c.set(l,a);var u=e(s,a,t.length,r);c=new Uint8Array(n.exports.memory.buffer);var d=new Uint32Array(r);new Uint8Array(d.buffer).set(c.subarray(s,s+r*4)),i(a-i(0));for(var f=0;f<t.length;++f)t[f]=d[t[f]];return[d,u]}function l(e){for(var t=0,n=0;n<e.length;++n){var r=e[n];t=t<r?r:t}return t}function u(e,t,r,i,a,s,c,l,u){var d=n.exports.sbrk,f=d(4),p=d(r*4),m=d(a*s),h=d(r*4),g=new Uint8Array(n.exports.memory.buffer);g.set(o(i),m),g.set(o(t),h);var _=e(p,h,r,m,a,s,c,l,u,f);g=new Uint8Array(n.exports.memory.buffer);var v=new Uint32Array(_);o(v).set(g.subarray(p,p+_*4));var y=new Float32Array(1);return o(y).set(g.subarray(f,f+4)),d(f-d(0)),[v,y[0]]}function d(e,t,r,i,a,s,c,l,u,d,f,p,m){var h=n.exports.sbrk,g=h(4),_=h(r*4),v=h(a*s),y=h(a*l),b=h(u.length*4),x=h(r*4),S=d?h(a):0,C=new Uint8Array(n.exports.memory.buffer);C.set(o(i),v),C.set(o(c),y),C.set(o(u),b),C.set(o(t),x),d&&C.set(o(d),S);var w=e(_,x,r,v,a,s,y,l,b,u.length,S,f,p,m,g);C=new Uint8Array(n.exports.memory.buffer);var T=new Uint32Array(w);o(T).set(C.subarray(_,_+w*4));var E=new Float32Array(1);return o(E).set(C.subarray(g,g+4)),h(g-h(0)),[T,E[0]]}function f(e,t,r,i,a,s,c,l,u,d,f,p,m){var h=n.exports.sbrk,g=h(4),_=h(a*s),v=h(a*l),y=h(u.length*4),b=h(r*4),x=d?h(a):0,S=new Uint8Array(n.exports.memory.buffer);S.set(o(i),_),S.set(o(c),v),S.set(o(u),y),S.set(o(t),b),d&&S.set(o(d),x);var C=e(b,r,_,a,s,v,l,y,u.length,x,f,p,m,g);S=new Uint8Array(n.exports.memory.buffer),o(t).set(S.subarray(b,b+C*4)),o(i).set(S.subarray(_,_+a*s)),o(c).set(S.subarray(v,v+a*l));var w=new Float32Array(1);return o(w).set(S.subarray(g,g+4)),h(g-h(0)),[C,w[0]]}function p(e,t,r,i){var a=n.exports.sbrk,s=a(r*i);new Uint8Array(n.exports.memory.buffer).set(o(t),s);var c=e(s,r,i);return a(s-a(0)),c}function m(e,t,r,i,a,s,c,l){var u=n.exports.sbrk,d=u(l*4),f=u(r*i),p=a?u(r*s):0,m=new Uint8Array(n.exports.memory.buffer);m.set(o(t),f),a&&m.set(o(a),p);var h=e(d,f,r,i,p,s,c,l);m=new Uint8Array(n.exports.memory.buffer);var g=new Uint32Array(h);return o(g).set(m.subarray(d,d+h*4)),u(d-u(0)),g}function h(e,t,r,i,a,s,c,l,u){var d=n.exports.sbrk,f=d(4),p=d(r*4),m=d(a*s),h=d(r*4),g=c?d(a):0,_=new Uint8Array(n.exports.memory.buffer);_.set(o(i),m),_.set(o(t),h),c&&_.set(o(c),g);var v=e(p,h,r,m,a,s,g,l,u,f);_=new Uint8Array(n.exports.memory.buffer);var y=new Uint32Array(v);o(y).set(_.subarray(p,p+v*4));var b=new Float32Array(1);return o(b).set(_.subarray(f,f+4)),d(f-d(0)),[y,b[0]]}function g(e,t,r,i,a,s,c){var l=n.exports.sbrk,u=l(r*4),d=l(a*s),f=l(r*4),p=new Uint8Array(n.exports.memory.buffer);p.set(o(i),d),p.set(o(t),f);var m=e(u,f,r,d,a,s,c);p=new Uint8Array(n.exports.memory.buffer);var h=new Uint32Array(m);return o(h).set(p.subarray(u,u+m*4)),l(u-l(0)),h}var _={LockBorder:1,Sparse:2,ErrorAbsolute:4,Prune:8,Regularize:16,Permissive:32,_InternalDebug:1<<30};return{ready:r,supported:!0,compactMesh:function(e){a(e instanceof Uint32Array||e instanceof Int32Array||e instanceof Uint16Array||e instanceof Int16Array),a(e.length%3==0);var t=e.BYTES_PER_ELEMENT==4?e:new Uint32Array(e),r=c(n.exports.meshopt_optimizeVertexFetchRemap,t,l(e)+1);if(e!==t)for(var i=0;i<t.length;++i)e[i]=t[i];return r},generatePositionRemap:function(e,t){return a(e instanceof Float32Array),a(e.length%t==0),a(t>=3),s(n.exports.meshopt_generatePositionRemap,e,e.length/t,t)},simplify:function(e,t,r,i,o,s){a(e instanceof Uint32Array||e instanceof Int32Array||e instanceof Uint16Array||e instanceof Int16Array),a(e.length%3==0),a(t instanceof Float32Array),a(t.length%r==0),a(r>=3),a(i>=0&&i<=e.length),a(i%3==0),a(o>=0);for(var c=0,l=0;l<(s?s.length:0);++l)a(s[l]in _),c|=_[s[l]];var d=e.BYTES_PER_ELEMENT==4?e:new Uint32Array(e),f=u(n.exports.meshopt_simplify,d,e.length,t,t.length/r,r*4,i,o,c);return f[0]=e instanceof Uint32Array?f[0]:new e.constructor(f[0]),f},simplifyWithAttributes:function(e,t,r,i,o,s,c,l,u,f){a(e instanceof Uint32Array||e instanceof Int32Array||e instanceof Uint16Array||e instanceof Int16Array),a(e.length%3==0),a(t instanceof Float32Array),a(t.length%r==0),a(r>=3),a(i instanceof Float32Array),a(i.length==o*(t.length/r)),a(o>=0),a(c==null||c instanceof Uint8Array),a(c==null||c.length==t.length/r),a(l>=0&&l<=e.length),a(l%3==0),a(u>=0),a(Array.isArray(s)),a(o>=s.length),a(s.length<=32);for(var p=0;p<s.length;++p)a(s[p]>=0);for(var m=0,p=0;p<(f?f.length:0);++p)a(f[p]in _),m|=_[f[p]];var h=e.BYTES_PER_ELEMENT==4?e:new Uint32Array(e),g=d(n.exports.meshopt_simplifyWithAttributes,h,e.length,t,t.length/r,r*4,i,o*4,new Float32Array(s),c,l,u,m);return g[0]=e instanceof Uint32Array?g[0]:new e.constructor(g[0]),g},simplifyWithUpdate:function(e,t,r,i,o,s,c,l,u,d){a(e instanceof Uint32Array||e instanceof Int32Array||e instanceof Uint16Array||e instanceof Int16Array),a(e.length%3==0),a(t instanceof Float32Array),a(t.length%r==0),a(r>=3),a(i instanceof Float32Array),a(i.length==o*(t.length/r)),a(o>=0),a(c==null||c instanceof Uint8Array),a(c==null||c.length==t.length/r),a(l>=0&&l<=e.length),a(l%3==0),a(u>=0),a(Array.isArray(s)),a(o>=s.length),a(s.length<=32);for(var p=0;p<s.length;++p)a(s[p]>=0);for(var m=0,p=0;p<(d?d.length:0);++p)a(d[p]in _),m|=_[d[p]];var h=e.BYTES_PER_ELEMENT==4?e:new Uint32Array(e),g=f(n.exports.meshopt_simplifyWithUpdate,h,e.length,t,t.length/r,r*4,i,o*4,new Float32Array(s),c,l,u,m);if(e!==h)for(var p=0;p<g[0];++p)e[p]=h[p];return g},getScale:function(e,t){return a(e instanceof Float32Array),a(e.length%t==0),a(t>=3),p(n.exports.meshopt_simplifyScale,e,e.length/t,t*4)},simplifyPoints:function(e,t,r,i,o,s){return a(e instanceof Float32Array),a(e.length%t==0),a(t>=3),a(r>=0&&r<=e.length/t),i?(a(i instanceof Float32Array),a(i.length%o==0),a(o>=3),a(e.length/t==i.length/o),m(n.exports.meshopt_simplifyPoints,e,e.length/t,t*4,i,o*4,s||0,r)):m(n.exports.meshopt_simplifyPoints,e,e.length/t,t*4,void 0,0,0,r)},simplifySloppy:function(e,t,r,i,o,s){a(e instanceof Uint32Array||e instanceof Int32Array||e instanceof Uint16Array||e instanceof Int16Array),a(e.length%3==0),a(t instanceof Float32Array),a(t.length%r==0),a(r>=3),a(i==null||i instanceof Uint8Array),a(i==null||i.length==t.length/r),a(o>=0&&o<=e.length),a(o%3==0),a(s>=0);var c=e.BYTES_PER_ELEMENT==4?e:new Uint32Array(e),l=h(n.exports.meshopt_simplifySloppy,c,e.length,t,t.length/r,r*4,i,o,s);return l[0]=e instanceof Uint32Array?l[0]:new e.constructor(l[0]),l},simplifyPrune:function(e,t,r,i){a(e instanceof Uint32Array||e instanceof Int32Array||e instanceof Uint16Array||e instanceof Int16Array),a(e.length%3==0),a(t instanceof Float32Array),a(t.length%r==0),a(r>=3),a(i>=0);var o=e.BYTES_PER_ELEMENT==4?e:new Uint32Array(e),s=g(n.exports.meshopt_simplifyPrune,o,e.length,t,t.length/r,r*4,i);return s=e instanceof Uint32Array?s:new e.constructor(s),s}}})();(function(){var e=`b9H79Tebbbe:neP9Geueu9Geub9Gbb9Giuuueu9Gmuuuuuuuuuuu9999eu9Gouuuuuueu9Gruuuuuuub9Gxuuuuuuuuuuuueu9Gxuuuuuuuuuuu99eu9GPuuuuuuuuuuuuu99b9Gouuuuuub9Gwuuuuuuuub9Gvuuuuub9GluuuubiQXdilvorwDqokoqxmbiibeilve9Weiiviebeoweuecj:Gdkr;Zeqo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8A9TW79O9V9Wt9F9I919P29K9nW79O2Wt79c9V919U9KbeY9TW79O9V9Wt9F9I919P29K9nW79O2Wt7S2W94bd39TW79O9V9Wt9F9I919P29K9nW79O2Wt79t9W9Ht9P9H2bo39TW79O9V9Wt9F9J9V9T9W91tWJ2917tWV9c9V919U9K7bw39TW79O9V9Wt9F9J9V9T9W91tW9nW79O2Wt9c9V919U9K7bkE9TW79O9V9Wt9F9J9V9T9W91tW9t9W9OWVW9c9V919U9K7bxL9TW79O9V9Wt9F9V9Wt9P9T9P96W9nW79O2WtbPl79IV9RbsDwebcekdOAq;W:leXdbkIbabaec9:fgefcufae9Ugeabci9Uadfcufad9Ugbaeab0Ek:88JDPue99eux99due99euo99iu8Jjjjjbc:WD9Rgm8KjjjjbdndnalmbcbhPxekamc:Cwfcbc;Kbz:rjjjb8AcuaocdtgsaocFFFFi0Ehzcbyd;0:G:cjbhHdndnalcb9imbaoal9nmbamazaHHjjjjbbgHBd:CwamceBd;8wamazcbyd;0:G:cjbHjjjjbbgOBd:GwamcdBd;8wamcualcdtalcFFFFi0Ecbyd;0:G:cjbHjjjjbbgABd:KwamciBd;8waihzalhsinaHazydbcdtfcbBdbazclfhzascufgsmbkaihzalhsinaHazydbcdtfgCaCydbcefBdbazclfhzascufgsmbkaihzalhCcbhXindnaHazydbcdtgQfgsydbcb9imbaOaQfaXBdbasasydbgQcjjjj94VBdbaQaXfhXkazclfhzaCcufgCmbkalci9UhLdnalci6mbcbhzaihsinascwfydbhCasclfydbhXaOasydbcdtfgQaQydbgQcefBdbaAaQcdtfazBdbaOaXcdtfgXaXydbgXcefBdbaAaXcdtfazBdbaOaCcdtfgCaCydbgCcefBdbaAaCcdtfazBdbascxfhsaLazcefgz9hmbkkaihzalhsindnaHazydbcdtgCfgXydbgQcu9kmbaXaQcFFFFrGgQBdbaOaCfgCaCydbaQ9RBdbkazclfhzascufgsmbxdkkamazaHHjjjjbbgHBd:CwamceBd;8wamazcbyd;0:G:cjbHjjjjbbgOBd:GwamcdBd;8wamcualcdtalcFFFFi0Ecbyd;0:G:cjbHjjjjbbgABd:KwamciBd;8waHcbasz:rjjjbhXaihzalhsinaXazydbcdtfgCaCydbcefBdbazclfhzascufgsmbkalci9UhLdnaoTmbcbhzaOhsaXhCaohQinasazBdbasclfhsaCydbazfhzaCclfhCaQcufgQmbkkdnalci6mbcbhzaihsinascwfydbhCasclfydbhQaOasydbcdtfgKaKydbgKcefBdbaAaKcdtfazBdbaOaQcdtfgQaQydbgQcefBdbaAaQcdtfazBdbaOaCcdtfgCaCydbgCcefBdbaAaCcdtfazBdbascxfhsaLazcefgz9hmbkkaoTmbcbhzaohsinaOazfgCaCydbaXazfydb9RBdbazclfhzascufgsmbkkamaLcbyd;0:G:cjbHjjjjbbgzBd:OwamclBd;8wazcbaLz:rjjjbhYamcuaLcK2alcjjjjd0Ecbyd;0:G:cjbHjjjjbbg8ABd:SwamcvBd;8wJbbbbhEdnalci6g3mbarcd4hKaihsa8AhzaLhrJbbbbh5inavasclfydbaK2cdtfgCIdlh8EavasydbaK2cdtfgXIdlhEavascwfydbaK2cdtfgQIdlh8FaCIdwhaaXIdwhhaQIdwhgazaCIdbg8JaXIdbg8KMaQIdbg8LMJbbnn:vUdbazclfaXIdlaCIdlMaQIdlMJbbnn:vUdbaQIdwh8MaCIdwh8NaXIdwhyazcxfa8EaE:tg8Eagah:tggNaaah:tgaa8FaE:tghN:tgEJbbbbJbbjZa8Ja8K:tg8FahNa8Ea8La8K:tg8KN:tghahNaEaENaaa8KNa8FagN:tgEaENMMg8K:rg8E:va8KJbbbb9BEg8KNUdbazczfaEa8KNUdbazcCfaha8KNUdbazcwfa8Maya8NMMJbbnn:vUdba5a8EMh5ascxfhsazcKfhzarcufgrmbka5aL:Z:vJbbbZNhEkamcuaLcdtalcFFFF970Ecbyd;0:G:cjbHjjjjbbgCBd:WwamcoBd;8waq:Zhhdna3mbcbhzaChsinasazBdbasclfhsaLazcefgz9hmbkkaEahNhhamcuaLcltalcFFFFd0Ecbyd;0:G:cjbHjjjjbbg8PBd:0wamcrBd;8wcba8Pa8AaCaLcbz:djjjb8AJFFuuh8MJFFuuh8NJFFuuhydnalci6mbJFFuuhya8AhzaLhsJFFuuh8NJFFuuh8MinazcwfIdbgEa8Ma8MaE9EEh8MazclfIdbgEa8Na8NaE9EEh8NazIdbgEayayaE9EEhyazcKfhzascufgsmbkkah:rhEamaocetgzcuaocu9kEcbyd;0:G:cjbHjjjjbbgCBd:4wdndnaoal9nmbaihzalhsinaCazydbcetfcFFi87ebazclfhzascufgsmbxdkkaCcFeazz:rjjjb8AkaEJbbbZNh8JcuhIdnalci6mbcbhsJFFuuhEa8AhzcuhIinazcwfIdba8M:tghahNazIdbay:tghahNazclfIdba8N:tghahNMM:rghaEaIcuSahaE9DVgXEhEasaIaXEhIazcKfhzaLascefgs9hmbkkamczfcbcjwz:rjjjb8Aam9cb83iwam9cb83ibaxa8JNh8RJbbjZak:th8Lcbh8SJbbbbhRJbbbbh8UJbbbbh8VJbbbbh8WJbbbbh8XJbbbbh8Ycbh8ZcbhPinJbbbbhEdna8STmbJbbjZa8S:Z:vhEkJbbbbhhdna8Ya8YNa8Wa8WNa8Xa8XNMMg8KJbbbb9BmbJbbjZa8K:r:vhhka8VaENh8Ka8UaENh5aRaENh8EaIhLdndndndndna8SaPVTmbamydwg80Tmea8YahNh8Fa8XahNhaa8WahNhgaeamydbcdtfh81cbh3JFFuuhEcvhQcuhLindnaHa81a3cdtfydbcdtgzfydbgvTmbaAaOazfydbcdtfhsindndnaCaiasydbgKcx2fgzclfydbgrcetf8Vebcs4aCazydbgXcetf8Vebcs4faCazcwfydbglcetf8Vebcs4fgombcbhzxekcehzaHaXcdtfydbgXceSmbcehzaHarcdtfydbgrceSmbcehzaHalcdtfydbglceSmbdnarcdSaXcdSfalcdSfcd6mbaocefhzxekaocdfhzkdnazaQ9kmba8AaKcK2fgXIdwa8K:tghahNaXIdba8E:tghahNaXIdla5:tghahNMM:ra8J:va8LNJbbjZMJ9VO:d86JbbjZaXIdCa8FNaXIdxagNaaaXIdzNMMakN:tghahJ9VO:d869DENghaEazaQ6ahaE9DVgXEhEaKaLaXEhLazaQaXEhQkasclfhsavcufgvmbkka3cefg3a809hmbkkaLcu9hmekama8KUd:ODama5Ud:KDama8EUd:GDamcuBd:qDamcFFF;7rBdjDa8Pcba8AaYamc:GDfamc:qDfamcjDfz:ejjjbamyd:qDhLdndnaxJbbbb9ETmba8SaD6mbaLcuSmeceh3amIdjDa8R9EmixdkaLcu9hmekdna8STmbabaPcltfgHam8Piw83dwaHam8Pib83dbaPcefhPkc3hHinamc:CwfaHfydbcbyd;4:G:cjbH:bjjjbbaHc98fgHc989hmbxvkkcbh3a8Saq9pmbamydwaCaiaLcx2fgzydbcetf8Vebcs4aCazcwfydbcetf8Vebcs4faCazclfydbcetf8Vebcs4ffaw9nmekcbhzcbhsdna8ZTmbcbhsamczfhXinamczfascdtfaXydbgQBdbaXclfhXasaYaQfRbbTfhsa8Zcufg8ZmbkkamydwhlamydbhXam9cu83i:GDam9cu83i:ODam9cu83i:qDam9cu83i:yDinamcjDfazfcFFF;7rBdbazclfgzcz9hmbkasc;8easclfc:bd6Eg8Zcdth80dnalTmbaeaXcdtfhocbhrindnaHaoarcdtfydbcdtgzfydbgvTmbaAaOazfydbcdtfhscuhQcuhzinaHaiasydbgKcx2fgXclfydbcdtfydbaHaXydbcdtfydbfaHaXcwfydbcdtfydbfgXazaXaz6gXEhzaKaQaXEhQasclfhsavcufgvmbkaQcuSmba8AaQcK2fgsIdwa8M:tgEaENasIdbay:tgEaENasIdla8N:tgEaENMM:rhEcbhsindndnazamc:qDfasfgvydbgX6mbazaX9hmeaEamcjDfasfIdb9FTmekavazBdbamc:GDfasfaQBdbamcjDfasfaEUdbxdkasclfgscz9hmbkkarcefgral9hmbkkamczfa80fhQcbhzcbhsindnamc:GDfazfydbgXcuSmbaQascdtfaXBdbascefhskazclfgzcz9hmbkasa8Zfg8ZTmbJFFuuhhcuhKamczfhza8ZhvcuhQina8AazydbgXcK2fgsIdwa8M:tgEaENasIdbay:tgEaENasIdla8N:tgEaENMM:rhEdndnaHaiaXcx2fgsclfydbcdtfydbaHasydbcdtfydbfaHascwfydbcdtfydbfgsaQ6mbasaQ9hmeaEah9DTmekaEhhashQaXhKkazclfhzavcufgvmbkaKcuSmbaKhLkdnamaiaLcx2fgrydbarclfydbarcwfydbaCabaeadaPawaqa3z:fjjjbTmbaPcefhPJbbbbhRJbbbbh8UJbbbbh8VJbbbbh8WJbbbbh8XJbbbbh8YkcbhXinaAaOaraXcdtfydbcdtgsfydbcdtfgKhzaHasfgvydbgQhsdnaQTmbdninazydbaLSmeazclfhzascufgsTmdxbkkazaKaQcdtfc98fydbBdbavavydbcufBdbkaXcefgXci9hmbka8AaLcK2fgzIdbhEazIdlhhazIdwh8KazIdxh5azIdzh8EazIdCh8FaYaLfce86bba8Ya8FMh8Ya8Xa8EMh8Xa8Wa5Mh8Wa8Va8KMh8Va8UahMh8UaRaEMhRamydxh8Sxbkkamc:WDf8KjjjjbaPkjoivuv99lu8Jjjjjbca9Rgo8Kjjjjbdndnalcw0mbaiydbhraeabcitfgwalcdtciVBdlawarBdbdnalcd6mbaiclfhralcufhDawcxfhwinarydbhqawcuBdbawc98faqBdbawcwfhwarclfhraDcufgDmbkkalabfhwxekcbhqaocbBdKao9cb83izaocbBdwao9cb83ibJbbjZhkJbbjZhxinadaiaqcdtfydbcK2fhDcbhwinaoczfawfgraDawfIdbgmarIdbgP:tgsaxNaPMgPUdbaoawfgrasamaP:tNarIdbMUdbawclfgwcx9hmbkJbbjZakJbbjZMgk:vhxaqcefgqal9hmbkcbhradcbcecdaoIdlgmaoIdwgP9GEgwaoIdbgsaP9GEawasam9GEgzcdtgwfhHaoczfawfIdbhmaihwalhDinaiarcdtfgqydbhOaqawydbgABdbawaOBdbawclfhwaraHaAcK2fIdbam9DfhraDcufgDmbkdndnarcv6mbavc8X9kmbaralc98f6mekaiydbhraeabcitfgwalcdtciVBdlawarBdbaiclfhralcufhDawcxfhwinarydbhqawcuBdbawc98faqBdbawcwfhwarclfhraDcufgDmbkalabfhwxekaeabcitfgwamUdbawawydlc98GazVBdlabcefaeadaiaravcefgqz:djjjbhDawawydlciGaDabcu7fcdtVBdlaDaeadaiarcdtfalar9Raqz:djjjbhwkaocaf8Kjjjjbawk;Oddvue99dninabaecitfgrydlgwcd4gDTmednawciGgqci9hmbcihqdnawcl6mbabaecitfhbcbheawhqcehkindnaiabydbgDfRbbmbcbhkadaDcK2fgwIdwalIdw:tgxaxNawIdbalIdb:tgxaxNawIdlalIdl:tgxaxNMM:rgxaoIdb9DTmbaoaxUdbavaDBdbarydlhqkabcwfhbaecefgeaqcd46mbkakceGTmikaraqciGBdlskdnabcbaDalaqcdtfIdbarIdb:tgxJbbbb9FEgwaD7aecefgDfgecitfydlabawaDfgDcitfydlVci0mbaraqBdlkabaDadaialavaoz:ejjjbax:laoIdb9Fmbkkkjlevudndnabydwgxaladcetfgm8Vebcs4alaecetfgP8Vebgscs4falaicetfgz8Vebcs4ffaD0mbakmbcbhDabydxaq6mekavawcltfgxab8Pdw83dwaxab8Pdb83dbabydbhDdnabydwgwTmbaoaDcdtfhxawhsinalaxydbcetfcFFi87ebaxclfhxascufgsmbkkabaDawfBdbabydxhxab9cb83dwababydlaxci2fBdlaP8VebhscehDcbhxkdnascztcz91cu9kmbabaxcefBdwaPax87ebaoabydbcdtfaxcdtfaeBdbkdnam8Uebcu9kmbababydwgxcefBdwamax87ebaoabydbcdtfaxcdtfadBdbkdnaz8Uebcu9kmbababydwgxcefBdwazax87ebaoabydbcdtfaxcdtfaiBdbkarabydlfabydxci2faPRbb86bbarabydlfabydxci2fcefamRbb86bbarabydlfabydxci2fcdfazRbb86bbababydxcefBdxaDk:mPrHue99eue99eue99iu8Jjjjjbc;W;Gb9Rgx8KjjjjbdndnalmbcbhmxekcbhPaxc:m;Gbfcbc;Kbz:rjjjb8Aaxcualci9UgscltascjjjjiGEcbyd;0:G:cjbHjjjjbbgzBd:m9GaxceBd;S9GaxcuascK2gHcKfalcpFFFe0Ecbyd;0:G:cjbHjjjjbbgOBd:q9GaxcdBd;S9Gdnalci6gAmbarcd4hCascdthXaOhQazhLinavaiaPcx2fgrydwaC2cdtfhKavarydlaC2cdtfhYavarydbaC2cdtfh8AcbhraLhEinaQarfgma8Aarfg3Idbg5aYarfg8EIdbg8Fa5a8F9DEg5UdbamaKarfgaIdbg8Fa5a8Fa59DEg8FUdbamcxfgma3Idbg5a8EIdbgha5ah9EEg5UdbamaaIdbgha5aha59EEg5UdbaEa8Fa5MJbbbZNUdbaEaXfhEarclfgrcx9hmbkaQcKfhQaLclfhLaPcefgPas9hmbkkaOaHfgr9cb83dbar9cb83dzar9cb83dwaxcuascx2gralc:bjjjl0Ecbyd;0:G:cjbHjjjjbbgHBdN9GaxciBd;S9GascdthgazarfhvaxcwVhPaxclVhCaHh8Jazh8KcbhLinaxcbcj;Gbz:rjjjbhEaLas2cdthadnaAmba8Khrash3inaEarydbgmc8F91cjjjj94Vam7gmcQ4cx2fg8Ea8EydwcefBdwaEamcd4cFrGcx2fg8Ea8EydbcefBdbaEamcx4cFrGcx2fgmamydlcefBdlarclfhra3cufg3mbkkazaafh8AaHaafhXcbhmcbh3cbh8EcbhainaEamfgrydbhQara3BdbarcwfgKydbhYaKaaBdbarclfgrydbhKara8EBdbaQa3fh3aYaafhaaKa8Efh8Eamcxfgmcj;Gb9hmbkdnaAmbcbhravhminamarBdbamclfhmasarcefgr9hmbkavhrashminaEa8Aarydbg3cdtfydbg8Ec8F91a8E7cd4cFrGcx2fg8Ea8Eydbg8EcefBdbaXa8Ecdtfa3Bdbarclfhramcufgmmbka8JhrashminaCa8Aarydbg3cdtfydbg8Ec8F91a8E7cx4cFrGcx2fg8Ea8Eydbg8EcefBdbava8Ecdtfa3BdbarclfhramcufgmmbkavhrashminaPa8Aarydbg3cdtfydbg8Ec8F91cjjjj94Va8E7cQ4cx2fg8Ea8Eydbg8EcefBdbaXa8Ecdtfa3Bdbarclfhramcufgmmbkka8Jagfh8Ja8Kagfh8KaLcefgLci9hmbkaEaocetgrcuaocu9kEcbyd;0:G:cjbHjjjjbbgKBd:y9GaEclBd;S9Gdndnaoal9nmbaihralhminaKarydbcetfcFFi87ebarclfhramcufgmmbxdkkaKcFearz:rjjjb8Akcbh8EaEascbyd;0:G:cjbHjjjjbbg8ABd:C9GaOaHaHascdtfaHascitfa8AascbazaKaiawaDaqakz:hjjjbdndnalci6mba8Ahrashmina8EarRbbfh8EarcefhramcufgmmbkaE9cb83iwaE9cb83ibalawc9:fgrfcufar9UgrasaDfcufaD9Ugmaram0EhYcbhmcbhra8Ehaincbh3dnarTmba8AarfRbbceSh3kamaEaiaHydbcx2fgQydbaQclfydbaQcwfydbaKabaeadamawaqa3a3ce7a8EaY9nVaaamfaY6VGz:fjjjbfhmaHclfhHaaa8AarfRbb9Rhaasarcefgr9hmbkaEydxTmeabamcltfgraE8Piw83dwaraE8Pib83dbamcefhmxekaE9cb83iwaE9cb83ibcbhmkczhrinaEc:m;Gbfarfydbcbyd;4:G:cjbH:bjjjbbarc98fgrc989hmbkkaxc;W;Gbf8Kjjjjbamk:wKDQue99iue99iul9:euw99iu8Jjjjjbc;qb9RgP8Kjjjjbaxhsaxhzdndnavax0gHmbdnavTmbcbhOaehzavhAinawaDazydbcx2fgCcwfydbcetfgX8VebhQawaCclfydbcetfgL8VebhKawaCydbcetfgC8VebhYaXce87ebaLce87ebaCce87ebaOaKcs4aYcs4faQcs4ffhOazclfhzaAcufgAmbkaehzavhAinawaDazydbcx2fgCcwfydbcetfcFFi87ebawaCclfydbcetfcFFi87ebawaCydbcetfcFFi87ebazclfhzaAcufgAmbkcehzaqhsaOaq0mekalce86bbalcefcbavcufz:rjjjb8AxekaPaiBdxaPadBdwaPaeBdlavakaqci9Ug8Aaka8Aak6EaHEgK9RhEaxaK9Rh3aKcufh5aKceth8EaKcdtgCc98fh8FavcitgOaC9Rarfc98fhaascufhhavcufhgaraOfh8JJbbjZas:Y:vh8KcbazceakaxSEg8Lcdtg8M9Rh8NJFFuuhycuh8PcbhIcbh8RinaPclfa8RcdtfydbhQaPcb8Pd:y:G:cjbg8S83i9iaPcb8Pd:q:G:cjbgR83inaPcb8Pd1:G:cjbg8U83iUaPcb8Pdj:G:cjbg8V83i8WaPa8S83iyaPaR83iaaPa8U83iKaPa8V83izaQavcdtgYfh8WcbhXinabaQaXcdtgLfydbcK2fhAcbhzinaPc8WfazfgCaAazfgOIdbg8XaCIdbg8Ya8Xa8Y9DEUdbaCczfgCaOcxfIdbg8XaCIdbg8Ya8Xa8Y9EEUdbazclfgzcx9hmbkaba8WaXcu7cdtfydbcK2fhAcbhzaPIdUh8ZaPId9ih80aPId80h81aPId9ehBaPId8Wh83aPIdnhUinaPczfazfgCaAazfgOIdbg8XaCIdbg8Ya8Xa8Y9DEUdbaCczfgCaOcxfIdbg8XaCIdbg8Ya8Xa8Y9EEUdbazclfgzcx9hmbkaraLfgzaBa81:tg8Xa80a8Z:tg8YNaUa83:tg8Za8XNa8Za8YNMMUdbazaYfaPId8KaPIdC:tg8XaPIdyaPIdK:tg8YNaPIdaaPIdz:tg8Za8XNa8Za8YNMMUdbaXcefgXav9hmbkcbh85dnaHmbcbhAaQhza8JhCavhXinawaDazydbcx2fgOcwfydbcetfgL8Vebh8WawaOclfydbcetfg858Vebh86awaOydbcetfgO8Vebh87aLce87eba85ce87ebaOce87ebaCaAa86cs4a87cs4fa8Wcs4ffgABdbazclfhzaCclfhCaXcufgXmbkavhCinawaDaQydbcx2fgzcwfydbcetfcFFi87ebawazclfydbcetfcFFi87ebawazydbcetfcFFi87ebaQclfhQaCcufgCmbka8Jh85kdndndndndndndndndndndnava8E6mba8Eax9nmeavavaK9UgzaK29Raza320mda5aE9pmqa85Th87ceh8WaEhQxwka5ag9pmDa8Eax9nmixokavaK6mea5aE9pmwcehQaEhXa85Tmixlka5ag6mlxrka5ag9pmokcbhQaghXa85mekJFFuuh8XcbhLa5hzindnazcefgCaK6mbaQavaC9RgOaK6GmbarazcdtfIdbg8YaC:YNaravaz9RcdtfaYfc94fIdbg8ZaO:YNMg80a8X9Embdndna8KaOahf:YNg81:lJbbb9p9DTmba81:OhAxekcjjjj94hAka8ZasaA2aO9R:YNh8Zdndna8Kazasf:YNg81:lJbbb9p9DTmba81:OhOxekcjjjj94hOkamasaO2aC9R:Ya8YNa8ZMNa80Mg8Ya8Xa8Ya8X9DgOEh8XaCaLaOEhLkaza8LfgzaX6mbxlkkJFFuuh8XcbhLaEhCaahAa8FhOaKhzindnazaK6mbaQaCaK6GmbaraOfIdbg8Yaz:YNaAIdbg8ZaC:YNMg80a8X9Embdndna8Ka85aOfydbgYahf:YNg81:lJbbb9p9DTmba81:Oh8Wxekcjjjj94h8Wkamasa8W2aY9R:Yg81a8YNa8Za81NMNa80Mg8Ya8Xa8Ya8X9DgYEh8XazaLaYEhLkaCa8L9RhCaAa8NfhAaOa8MfhOaza8LfgzcufaX6mbxikka85Th87cbh8WaghQkJFFuuh8XcbhLaEhCaahAa8FhOaKhzindnazazaK9UgXaK29RaXa320mbdna8WTmbaCaCaK9UgXaK29RaXa320mekaraOfIdbg8Yaz:YNaAIdbg8ZaC:YNMg80a8X9EmbazhXaChYdna87mba85aOfydbgXhYkdndna8KaYahf:YNg81:lJbbb9p9DTmba81:Oh86xekcjjjj94h86ka8Zasa862aY9R:YNh8Zdndna8KaXahf:YNg81:lJbbb9p9DTmba81:OhYxekcjjjj94hYkamasaY2aX9R:Ya8YNa8ZMNa80Mg8Ya8Xa8Ya8X9DgXEh8XazaLaXEhLkaCa8L9RhCaAa8NfhAaOa8MfhOaza8LfgzcufaQ6mbkkaLTmba8Xay9DTmba8XhyaLhIa8Rh8Pka8Rcefg8Rci9hmbkdndnaoc8X9kmba8Pcb9omeka8Acufh85cbhYindndndnavaY9RaxaYaxfav0Eg8WTmbcbhAaeaYcdtfgzhCa8WhXinawaDaCydbcx2fgOcwfydbcetfgQ8VebhbawaOclfydbcetfgL8VebhrawaOydbcetfgO8VebhKaQce87ebaLce87ebaOce87ebaAarcs4aKcs4fabcs4ffhAaCclfhCaXcufgXmbka8WhOinawaDazydbcx2fgCcwfydbcetfcFFi87ebawaCclfydbcetfcFFi87ebawaCydbcetfcFFi87ebazclfhzaOcufgOmbkaAaq0mekalaYfgzce86bbazcefcba8Wcufz:rjjjb8AxekalaYfgzce86bbazcefcba85z:rjjjb8Aa8Ah8Wka8WaYfgYav9pmdxbkkaravcdtg8WfhLdnaITmbaPclfa8PcdtfydbhzaIhCinaLazydbfcb86bbazclfhzaCcufgCmbkkdnavaI9nmbaPclfa8PcdtfydbaIcdtfhzavaI9RhCinaLazydbfce86bbazclfhzaCcufgCmbkkcbhYindnaYa8PSmbcbhzaraPclfaYcdtfydbgKa8Wz:qjjjbhCavhXaIhOinaKaOazaLaCydbgQfRbbgAEcdtfaQBdbaCclfhCaOaAfhOazaA9RcefhzaXcufgXmbkkaYcefgYci9hmbkabaeadaialaIaocefgCarawaDaqakaxamz:hjjjbabaeaIcdtgzfadazfaiazfalaIfavaI9RaCarawaDaqakaxamz:hjjjbkaPc;qbf8Kjjjjbk:Seeru8Jjjjjbc:q;ab9Rgo8Kjjjjbaoc:q8WfcFecjzz:rjjjb8AcbhrdnadTmbaehwadhDinaoarcdtfawydbgqBdbaoc:q8WfaqcFiGcdtfgkydbhxakaqBdbawclfhwaraxaq9hfhraDcufgDmbkkabaeadaoaraiavz:jjjjbaoc:q;abf8Kjjjjbk;Sqloud99euD998Jjjjjbc:W;ab9Rgr8KjjjjbdndnadTmbaocd4hwcbhDcbhqindnavaeclfydbaw2cdtfgkIdbavaeydbaw2cdtfgxIdbgm:tgPavaecwfydbaw2cdtfgsIdlaxIdlgz:tgHNakIdlaz:tgOasIdbam:tgAN:tgCaCNaOasIdwaxIdwgX:tgQNakIdwaX:tgOaHN:tgHaHNaOaANaPaQN:tgPaPNMMgOJbbbb9Bmbarc8WfaDcltfgkaCaO:rgO:vgCUdwakaPaO:vgPUdlakaHaO:vgHUdbakaCaXNaHamNazaPNMM:mUdxaDcefhDkaecxfheaqcifgqad6mbkab9cb83dyab9cb83daab9cb83dKab9cb83dzab9cb83dwab9cb83dbaDTmearcbBd8Sar9cb83iKar9cb83izarczfavalaoarc8Sfcbcraiz:kjjjbarIdKhQarIdChLarIdzhKar9cb83iwar9cb83ibararc8WfaDczarc8Sfcbcicbz:kjjjbJbbbbhmdnarIdwgzazNarIdbgHaHNarIdlgXaXNMMgCJbbbb9BmbJbbjZaC:r:vhmkazamNhCaXamNhXaHamNhHJbbjZhmarc8WfheaDhvinaecwfIdbaCNaeIdbaHNaXaeclfIdbNMMgzamazam9DEhmaeczfheavcufgvmbkabaQUdwabaLUdlabaKUdbabarId3UdxdndnamJ;n;m;m899FmbJbbbbhzarc8WfheinaecxfIdbaQaecwfIdbgPNaKaeIdbgONaLaeclfIdbgANMMMaCaPNaHaONaXaANMM:vgPazaPaz9EEhzaeczfheaDcufgDmbkabaCUd8KabaXUdaabaHUd3abaQaCazN:tUdKabaLaXazN:tUdCabaKaHazN:tUdzabJbbjZamamN:t:rgmUdydndnaCJbbj:;aCJbbj:;9GEgzJbbjZazJbbjZ9FEJbb;:9cNJbbbZJbbb:;aCJbbbb9GEMgz:lJbbb9p9DTmbaz:Ohexekcjjjj94hekabae86b8UdndnaXJbbj:;aXJbbj:;9GEgzJbbjZazJbbjZ9FEJbb;:9cNJbbbZJbbb:;aXJbbbb9GEMgz:lJbbb9p9DTmbaz:Ohvxekcjjjj94hvkabav86bRdndnaHJbbj:;aHJbbj:;9GEgzJbbjZazJbbjZ9FEJbb;:9cNJbbbZJbbb:;aHJbbbb9GEMgz:lJbbb9p9DTmbaz:Ohwxekcjjjj94hwkabaw86b8SdndnaecKtcK91:YJbb;:9c:vaC:t:lavcKtcK91:YJbb;:9c:vaX:t:lawcKtcK91:YJbb;:9c:vaH:t:lamMMMJbb;:9cNJbbjZMgm:lJbbb9p9DTmbam:Ohexekcjjjj94hekaecFbaecFb9iEhexekabcjjj;8iBdycFbhekabae86b8Vxekab9cb83dyab9cb83daab9cb83dKab9cb83dzab9cb83dwab9cb83dbkarc:W;abf8Kjjjjbk;7woDuo99eue99euv998Jjjjjbcje9Rgw8Kjjjjbawc;abfcbaocdtgDz:rjjjb8Aawc;GbfcbaDz:rjjjb8AawcafhDawhqaohkinaqcFFF97BdbaDcFFF;7rBdbaqclfhqaDclfhDakcufgkmbkavcd4hxaicd4hmdnadTmbaocx2hPcbhsinashzdnarTmbarascdtfydbhzkaeazam2cdtfgDIdwhHaDIdlhOaDIdbhAalazax2cdtfIdbhCcbhDawcafhqawc;Gbfhvawhkawc;abfhiinaCaDc:O:G:cjbfIdbaHNaDc:G:G:cjbfIdbaANaDc:K:G:cjbfIdbaONMMgXMhQazhLdnaXaC:tgXaqIdbgK9DgYmbavydbhLkavaLBdbazhLdnaQakIdbg8A9EmbaiydbhLa8AhQkaiaLBdbakaQUdbaqaXaKaYEUdbaiclfhiakclfhkavclfhvaqclfhqaPaDcxfgD9hmbkascefgsad9hmbkkJbbbbhQcbhLawc;GbfhDawc;abfhqcbhkinalaqydbgvax2cdtfIdbalaDydbgiax2cdtfIdbaeavam2cdtfgvIdwaeaiam2cdtfgiIdw:tgCaCNavIdbaiIdb:tgCaCNavIdlaiIdl:tgCaCNMM:rMMgCaQaCaQ9EgvEhQakaLavEhLaqclfhqaDclfhDaoakcefgk9hmbkJbbbbhCdnaeawc;abfaLcdtgqfydbgkam2cdtfgDIdwaeawc;Gbfaqfydbgvam2cdtfgqIdwgH:tgXaXNaDIdbaqIdbgA:tg8Aa8ANaDIdlaqIdlgE:tgOaONMMgKJbbbb9ETmbaK:rgCalakax2cdtfIdbMalavax2cdtfIdb:taCaCM:vhCkaQJbbbZNhKaXaCNaHMhHaOaCNaEMhOa8AaCNaAMhAdnadTmbcbhqarhkinaqhDdnarTmbakydbhDkdnalaDax2cdtfIdbg3aeaDam2cdtfgDIdwaH:tgQaQNaDIdbaA:tgCaCNaDIdlaO:tgXaXNMMg5:rgEMg8EaK9ETmbJbbbbh8Adna5Jbbbb9ETmba8EaK:taEaEM:vh8Aka8AaQNaHMhHa8AaXNaOMhOa8AaCNaAMhAa3aKaEMMJbbbZNhKkakclfhkadaqcefgq9hmbkkabaKUdxabaHUdwabaOUdlabaAUdbawcjef8Kjjjjbk:reevu8Jjjjjbcj8W9Rgr8Kjjjjbaici2hwcbhDdnaiTmbarhiawhqinaiaeadRbbgkcdtfydbBdbaDakcefgkaDak0EhDaiclfhiadcefhdaqcufgqmbkkabarawaeaDalaoz:jjjjbarcj8Wf8Kjjjjbk:Eeeeu8Jjjjjbca9Rgo8Kjjjjbab9cb83dyab9cb83daab9cb83dKab9cb83dzab9cb83dwab9cb83dbdnadTmbaocbBd3ao9cb83iwao9cb83ibaoaeadaialaoc3falEavcbalEcrcbz:kjjjbabao8Pib83dbabao8Piw83dwkaocaf8Kjjjjbk::meQu8Jjjjjbcjz9Rgv8KjjjjbcbhoavcjPfcbaez:rjjjb8Aavcjxfcbaez:rjjjb8AdnaiTmbadhoaihrinavcjxfaoRbbfgwawRbbcef86bbavcjxfaocefRbbfgwawRbbcef86bbavcjxfaocdfRbbfgwawRbbcef86bbaocifhoarcufgrmbkcbhDcjehoadhqcehkindndnalTmbcbhxcuhmaqhrakhwcuhPinawcufamaoavcjPfarcefRbbgsfRbb9RcFeGgzci6aoavcjPfarRbbgHfRbb9RcFeGgOci6faoavcjPfarcdfRbbgAfRbb9RcFeGgCci6fgXcOtaOcFr7azaCf9RcwtVavcjxfaAfRbbgzavcjxfaHfRbbgHavcjxfasfRbbgsaHas6Egsazas6EcFe7VgsaP9kgzEhmaXcd6gHaxcefgOal9iVce9hmdasaPazEhPaxaOaHEhxarcifhrawai6hsawcefhwasmbxdkkcuhmaqhrakhwcuhxinawcufamaoavcjPfarcefRbbfRbb9RcFeGci6aoavcjPfarRbbfRbb9RcFeGci6faoavcjPfarcdfRbbfRbb9RcFeGci6fgPax9kgsEhmaPce0meaPaxasEhxarcifhrawai6hPawcefhwaPmbkkadamci2fgrcdfRbbhwarcefRbbhxarRbbhPadaDci2fgrcifaramaD9Rci2zNjjjb8AaPavcjPffaocefgo86bbaPavcjxffgmamRbbcuf86bbaxavcjPffao86bbaxavcjxffgmamRbbcuf86bbarcdfaw86bbarcefax86bbaraP86bbawavcjPffao86bbawavcjxffgrarRbbcuf86bbaqcifhqakcefhkaDcefgDai9hmbkcbhzdnalcb9mmbcbhsavcjPfcbaez:rjjjb8Aadcvfhlinadasci2fgxcefgDRbbhoaxcdfgqRbbhrdndnavcjPfaxRbbgmfRbbmbavcjPfarfRbbhwdndndnavcjPfaofRbbTmbawcFeGTmexikawcFeGmdascefgAai9pmdasc980mdascifhQcbhLarcFeGhCamcFeGhXalhwcbhKcbhYinawcufRbbhPawRbbhOcehkdndnawc9:fRbbgHao9hmbaPcFeGamSmekdnaPcFeGao9hmbaOcFeGamSmekaHamSaOcFeGaoSGhkkceh8AaYceGhYdndnaHar9hmbaPcFeGaoSmekdnaPcFeGar9hmbaOcFeGaoSmekaHaoSaOcFeGarSGh8AkakaYVhYaLaHcFeGgHaXSaPcFeGgPaCSGaPaXSaOcFeGgPaCSGVaHaCSaPaXSGVVhLa8AaKceGVhKdnaAcefgPai9pmbawcifhwaAaQ6hHaPhAaHmekkaYTmeaKmekarhwaohPaohHarhOamhrxdkdnaYTaLVceGTmbaYaKTVaLVceGmekamhwarhParhHamhOaohrxekaohwamhPamhHaohOkavcjPfarfce86bbavcjPfawfce86bbaxaH86bbaqar86bbaDaO86bbavcjPfaPfce86bbalcifhlascefgsai9hmbkkavcFeaecetz:rjjjbhwaici2hrindnawadRbbgmcetfgx8Uebgocu9kmbaxaz87ebawcjlfazcdtfabamcdtfydbBdbazhoazcefhzkadao86bbadcefhdarcufgrmbkazcdthokabavcjlfaoz:qjjjb8Aavcjzf8KjjjjbkObabaiaeadcbz:njjjbk9teiucbcbyd;8:G:cjbgeabcifc98GfgbBd;8:G:cjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik;LeeeudndnaeabVciGTmbabhixekdndnadcz9pmbabhixekabhiinaiaeydbBdbaiclfaeclfydbBdbaicwfaecwfydbBdbaicxfaecxfydbBdbaeczfheaiczfhiadc9Wfgdcs0mbkkadcl6mbinaiaeydbBdbaeclfheaiclfhiadc98fgdci0mbkkdnadTmbinaiaeRbb86bbaicefhiaecefheadcufgdmbkkabk;aeedudndnabciGTmbabhixekaecFeGc:b:c:ew2hldndnadcz9pmbabhixekabhiinaialBdbaicxfalBdbaicwfalBdbaiclfalBdbaiczfhiadc9Wfgdcs0mbkkadcl6mbinaialBdbaiclfhiadc98fgdci0mbkkdnadTmbinaiae86bbaicefhiadcufgdmbkkabk9teiucbcbyd;8:G:cjbgeabcrfc94GfgbBd;8:G:cjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaikTeeucbabcbyd;8:G:cjbge9Rcifc98GaefgbBd;8:G:cjbdnabZbcztge9nmbabae9RcFFifcz4nb8Akk:3qeludndnadch6mbadTmeabaead;8qbbabskabaeSmbdnaeadabfgi9Rcbadcet9R0mbadTmeabaead;8qbbabskaeab7ciGhldndndnabae9pmbdnalTmbadhvabhixikdnabciGmbadhvabhixdkadTmiabaeRbb86bbadcufhvdnabcefgiciGmbaecefhexdkavTmiabaeRbe86beadc9:fhvdnabcdfgiciGmbaecdfhexdkavTmiabaeRbd86bdadc99fhvdnabcifgiciGmbaecifhexdkavTmiabaeRbi86biabclfhiaeclfheadc98fhvxekdnalmbdnaiciGTmbadTmlabadcufgifglaeaifRbb86bbdnalciGmbaihdxekaiTmlabadc9:fgifglaeaifRbb86bbdnalciGmbaihdxekaiTmlabadc99fgifglaeaifRbb86bbdnalciGmbaihdxekaiTmlabadc98fgdfaeadfRbb86bbkadcl6mbdnadc98fgocxGcxSmbaocd4cefciGhiaec98fhlabc98fhvinavadfaladfydbBdbadc98fhdaicufgimbkkaocx6mbaec9Wfhvabc9WfhoinaoadfgicxfavadfglcxfydbBdbaicwfalcwfydbBdbaiclfalclfydbBdbaialydbBdbadc9Wfgdci0mbkkadTmdadhidnadciGglTmbaecufhvabcufhoadhiinaoaifavaifRbb86bbaicufhialcufglmbkkadcl6mdaec98fhlabc98fhvinavaifgecifalaifgdcifRbb86bbaecdfadcdfRbb86bbaecefadcefRbb86bbaeadRbb86bbaic98fgimbxikkavcl6mbdnavc98fglc3Gc3Smbavalcd4cefcrGgdcdt9RhvinaiaeydbBdbaeclfheaiclfhiadcufgdmbkkalc36mbinaiaeydbBdbaiclfaeclfydbBdbaicwfaecwfydbBdbaicxfaecxfydbBdbaiczfaeczfydbBdbaicCfaecCfydbBdbaicKfaecKfydbBdbaic3faec3fydbBdbaecafheaicafhiavc9Gfgvci0mbkkavTmbdndnavcrGgdmbavhlxekavc94GhlinaiaeRbb86bbaicefhiaecefheadcufgdmbkkavcw6mbinaiaeRbb86bbaicefaecefRbb86bbaicdfaecdfRbb86bbaicifaecifRbb86bbaiclfaeclfRbb86bbaicvfaecvfRbb86bbaicofaecofRbb86bbaicrfaecrfRbb86bbaicwfhiaecwfhealc94fglmbkkabkk:pedbcj:GdktFFuuFFuuFFuubbbbFFuFFFuFFFuFbbbbbbjZbbbbbbbbbbbbbbjZbbbbbbbbbbbbbbjZ86;nAZ86;nAZ86;nAZ86;nA:;86;nAZ86;nAZ86;nAZ86;nA:;86;nAZ86;nAZ86;nAZ86;nA:;bc;0:Gdkxebbbdbbbj:qbb`,t=new Uint8Array([32,0,65,2,1,106,34,33,3,128,11,4,13,64,6,253,10,7,15,116,127,5,8,12,40,16,19,54,20,9,27,255,113,17,42,67,24,23,146,148,18,14,22,45,70,69,56,114,101,21,25,63,75,136,108,28,118,29,73,115]);if(typeof WebAssembly!=`object`)return{supported:!1};var n,r=WebAssembly.instantiate(i(e),{}).then(function(e){n=e.instance,n.exports.__wasm_call_ctors()});function i(e){for(var n=new Uint8Array(e.length),r=0;r<e.length;++r){var i=e.charCodeAt(r);n[r]=i>96?i-97:i>64?i-39:i+4}for(var a=0,r=0;r<e.length;++r)n[a++]=n[r]<60?t[n[r]]:(n[r]-60)*64+n[++r];return n.buffer.slice(0,a)}function a(e){if(!e)throw Error(`Assertion failed`)}function o(e){return new Uint8Array(e.buffer,e.byteOffset,e.byteLength)}var s=48,c=16;function l(e,t){var n=e.meshlets[t*4+0],r=e.meshlets[t*4+1],i=e.meshlets[t*4+2],a=e.meshlets[t*4+3];return{vertices:e.vertices.subarray(n,n+i),triangles:e.triangles.subarray(r,r+a*3)}}function u(e,t,r,i,a,s,l,u,d,f){var p=n.exports.sbrk,m=p(n.exports.meshopt_buildMeshletsBound(t.length,s,l)*c),h=p(t.length*4),g=p(t.length),_=p(t.byteLength),v=p(r.byteLength),y=new Uint8Array(n.exports.memory.buffer);y.set(o(t),_),y.set(o(r),v);var b=e(m,h,g,_,t.length,v,i,a,s,l,u,d,f);y=new Uint8Array(n.exports.memory.buffer);for(var x=y.subarray(m,m+b*c),S=new Uint32Array(x.buffer,x.byteOffset,x.byteLength/4).slice(),C=0;C<b;++C){var w=S[C*4+0],T=S[C*4+1],i=S[C*4+2],E=S[C*4+3];n.exports.meshopt_optimizeMeshlet(h+w*4,g+T,E,i)}var D=b?S[(b-1)*4+0]+S[(b-1)*4+2]:0,O=b?S[(b-1)*4+1]+S[(b-1)*4+3]*3:0,k={meshlets:S,vertices:new Uint32Array(y.buffer,h,D).slice(),triangles:new Uint8Array(y.buffer,g,O).slice(),meshletCount:b};return p(m-p(0)),k}function d(e){var t=new Float32Array(n.exports.memory.buffer,e,s/4);return{centerX:t[0],centerY:t[1],centerZ:t[2],radius:t[3],coneApexX:t[4],coneApexY:t[5],coneApexZ:t[6],coneAxisX:t[7],coneAxisY:t[8],coneAxisZ:t[9],coneCutoff:t[10]}}function f(e,t,r,i){var a=n.exports.sbrk,c=[],l=a(t.byteLength),u=a(e.vertices.byteLength),f=a(e.triangles.byteLength),p=a(s),m=new Uint8Array(n.exports.memory.buffer);m.set(o(t),l),m.set(o(e.vertices),u),m.set(o(e.triangles),f);for(var h=0;h<e.meshletCount;++h){var g=e.meshlets[h*4+0],_=e.meshlets[h*4+1],v=e.meshlets[h*4+3];n.exports.meshopt_computeMeshletBounds(p,u+g*4,f+_,v,l,r,i),c.push(d(p))}return a(l-a(0)),c}function p(e,t,r,i){var a=n.exports.sbrk,c=a(s),l=a(e.byteLength),u=a(t.byteLength),f=new Uint8Array(n.exports.memory.buffer);f.set(o(e),l),f.set(o(t),u),n.exports.meshopt_computeClusterBounds(c,l,e.length,u,r,i);var p=d(c);return a(c-a(0)),p}function m(e,t,r,i,a){var c=n.exports.sbrk,l=c(s),u=c(e.byteLength),f=i?c(i.byteLength):0,p=new Uint8Array(n.exports.memory.buffer);p.set(o(e),u),i&&p.set(o(i),f),n.exports.meshopt_computeSphereBounds(l,u,t,r,f,i?a:0);var m=d(l);return c(l-c(0)),m}return{ready:r,supported:!0,buildMeshlets:function(e,t,r,i,o,s){a(e.length%3==0),a(t instanceof Float32Array),a(t.length%r==0),a(r>=3),a(i>=3&&i<=256),a(o>=1&&o<=512),s||=0;var c=e.BYTES_PER_ELEMENT==4?e:new Uint32Array(e);return u(n.exports.meshopt_buildMeshletsFlex,c,t,t.length/r,r*4,i,o,o,s,0)},buildMeshletsFlex:function(e,t,r,i,o,s,c,l){a(e.length%3==0),a(t instanceof Float32Array),a(t.length%r==0),a(r>=3),a(i>=3&&i<=256),a(o>=1&&s<=512),a(o<=s),c||=0,l||=0;var d=e.BYTES_PER_ELEMENT==4?e:new Uint32Array(e);return u(n.exports.meshopt_buildMeshletsFlex,d,t,t.length/r,r*4,i,o,s,c,l)},buildMeshletsSpatial:function(e,t,r,i,o,s,c){a(e.length%3==0),a(t instanceof Float32Array),a(t.length%r==0),a(r>=3),a(i>=3&&i<=256),a(o>=1&&s<=512),a(o<=s),c||=0;var l=e.BYTES_PER_ELEMENT==4?e:new Uint32Array(e);return u(n.exports.meshopt_buildMeshletsSpatial,l,t,t.length/r,r*4,i,o,s,c)},extractMeshlet:function(e,t){return a(t>=0&&t<e.meshletCount),l(e,t)},computeClusterBounds:function(e,t,n){return a(e.length%3==0),a(e.length/3<=512),a(t instanceof Float32Array),a(t.length%n==0),a(n>=3),p(e.BYTES_PER_ELEMENT==4?e:new Uint32Array(e),t,t.length/n,n*4)},computeMeshletBounds:function(e,t,n){return a(t instanceof Float32Array),a(t.length%n==0),a(n>=3),f(e,t,t.length/n,n*4)},computeSphereBounds:function(e,t,n,r){return a(e instanceof Float32Array),a(e.length%t==0),a(t>=3),a(!n||n instanceof Float32Array),a(!n||n.length%r==0),a(!n||r>=1),a(!n||e.length/t==n.length/r),r||=0,m(e,e.length/t,t*4,n,r*4)}}})();var fr=e=>{switch(e.toLowerCase()){case`image/webp`:return`webp`;case`image/jpeg`:return`jpg`;case`image/png`:return`png`;default:return null}},pr=e=>{switch(e){case`webp`:return`image/webp`;case`jpeg`:return`image/jpeg`;case`png`:return`image/png`;default:return null}},mr=(e,t)=>{if(!e||e.startsWith(`data:`))return e;let n=[e.indexOf(`?`),e.indexOf(`#`)].filter(e=>e>=0).reduce((e,t)=>Math.min(e,t),1/0),r=Number.isFinite(n),i=r?e.slice(0,n):e,a=r?e.slice(n):``,o=i.lastIndexOf(`/`),s=i.lastIndexOf(`.`);return`${s>o?`${i.slice(0,s)}.${t}`:`${i}.${t}`}${a}`},hr=(e,t)=>{let n=t?fr(t):null;return n?`texture-${e}.${n}`:`texture-${e}`},gr=e=>{let t=e.split(`?`)[0]||e,n=(t.split(`#`)[0]||t).replace(/\\/g,`/`).trim();return n.split(`/`).pop()||n},_r=/^(?:text{1,2}ure|image|img)[-_ ]?\d+(?:\.[a-z0-9]+)?$/i,vr=e=>{let t=e.trim();if(t.length===0)return!1;let n=gr(t);return _r.test(n)},yr=class{constructor(){this._document=null,this.originalSize=0,this.originalReport=null,this.appliedOptimizations=[],this.io=new t.T().registerExtensions(t.r),this.exporter=new t.n}onProgress(e){this.progressCallback=e}async loadFromThreeJS(e){this.emitProgress(`Loading model from Three.js object`,0);try{let t=await this.exporter.parseAsync(e,{binary:!0}),n=new Uint8Array(t);await this.loadFromBuffer(n),this.emitProgress(`Model loaded successfully`,100)}catch(e){throw Error(`Failed to load Three.js model: ${e}`,{cause:e})}}async loadFromBuffer(e){this.emitProgress(`Loading model from buffer`,0);try{if(e.byteLength===0)throw Error(`Buffer is empty`);let t=e.slice(0,4),n=String.fromCharCode(...t);if(n!==`glTF`)throw console.error(`Invalid buffer format:`,{byteLength:e.byteLength,firstBytes:Array.from(e.slice(0,16)),magicString:n}),Error(`Invalid glTF 2.0 binary. Expected 'glTF' magic bytes, got '${n}'`);this._document=await this.io.readBinary(e),this.originalSize=e.byteLength,this.originalReport=Wt(this._document),this.emitProgress(`Model loaded successfully`,100)}catch(e){throw Error(`Failed to load model from buffer: ${e}`,{cause:e})}}async loadFromFile(t){this.emitProgress(`Loading model from file`,0);try{let n=await(await Promise.resolve().then(()=>require(`./__vite-browser-external-CVmj8TrW.cjs`)).then(t=>e.a(t.t(),1))).readFile(t);await this.loadFromBuffer(new Uint8Array(n))}catch(e){throw Error(`Failed to load model from file: ${e}`,{cause:e})}}async loadFromJSON(e){this.emitProgress(`Loading model from JSON document`,0);try{this._document=await this.io.readJSON(e),this.originalReport=Wt(this._document);let t=await this.export();this.originalSize=t.byteLength}catch(e){throw Error(`Failed to load model from JSON document: ${e}`,{cause:e})}}async simplify(e={}){this.ensureModelLoaded();let{ratio:t=.5,error:n=.001}=e;this.emitProgress(`Applying mesh simplification`,0);let r=[We(),$n({ratio:t,simplifier:dr,error:n})];await this.applyTransforms(r,`simplification`),this.emitProgress(`Mesh simplification complete`,100)}async deduplicate(e={}){this.ensureModelLoaded(),this.emitProgress(`Applying deduplication`,0),await this.applyTransforms([tt(e)],`deduplication`),this.emitProgress(`Deduplication complete`,100)}async quantize(e={}){this.ensureModelLoaded(),this.emitProgress(`Applying quantization`,0),await this.applyTransforms([bn(e)],`quantization`),this.emitProgress(`Quantization complete`,100)}async optimizeNormals(e={}){this.ensureModelLoaded(),this.emitProgress(`Optimizing normals`,0),await this.applyTransforms([Hn(e)],`normals optimization`),this.emitProgress(`Normals optimization complete`,100)}async compressTextures(t={}){this.ensureModelLoaded(),this.emitProgress(`Compressing textures`,0);let n;try{let t=await Promise.resolve().then(()=>e.a(require(`./lib-DZ-MihdJ.cjs`).default,1));if(n=t.default||t,typeof n!=`function`)throw Error(`Sharp is not available or not properly installed`)}catch(e){console.warn(`Sharp-based compression failed, applying basic optimization:`,e),await this.applyBasicTextureOptimization(t);return}let{serverOptions:r,...i}=t,a=pr(i.targetFormat);if(console.log(`Texture compression options:`,{targetFormat:i.targetFormat,quality:i.quality,resize:i.resize,sharpAvailable:typeof n==`function`}),!this._document)throw Error(`Document is not loaded`);let o=this._document.getRoot().listTextures();console.log(`Before texture compression:`),o.forEach((e,t)=>{console.log(`Texture ${t}: ${e.getMimeType()||`unknown mime type`}`)});let s=[];console.log(`Compressing textures individually...`);for(let e=0;e<o.length;e++){let t=o[e];console.log(`Processing texture ${e}/${o.length}`);try{if(await ar(t,{encoder:n,targetFormat:i.targetFormat,quality:i.quality,resize:i.resize}),this.syncTextureIdentity(t,e),a&&t.getMimeType()!==a)throw Error(`expected ${a}, received ${t.getMimeType()||`unknown mime type`}`);console.log(`Texture ${e} compressed successfully to ${t.getMimeType()}`)}catch(t){s.push({index:e,reason:t instanceof Error?t.message:String(t)}),console.warn(`Failed to compress texture ${e}:`,t)}this.emitProgress(`Compressing textures`,Math.round((e+1)/o.length*100))}if(s.length>0){let e=s.map(e=>`#${e.index}: ${e.reason}`).join(`; `);throw Error(`Texture compression failed for ${s.length} of ${o.length} textures. ${e}`)}console.log(`All textures processed`),this.appliedOptimizations.push(`texture compression`),console.log(`After texture compression:`),o.forEach((e,t)=>{console.log(`Texture ${t}: ${e.getMimeType()||`unknown mime type`}`)}),this.emitProgress(`Texture compression complete`,100)}async applyBasicTextureOptimization(e){this.emitProgress(`Applying basic texture optimization`,50);let t=[tt(),Mt()];await this.applyTransforms(t,`basic texture optimization`),console.warn(`Applied basic texture optimization only. For advanced compression (WebP, JPEG conversion), ensure Sharp is properly configured.`),this.emitProgress(`Basic texture optimization complete`,100)}async optimizeAll(e={}){this.ensureModelLoaded();let t=[];e.simplify!==!1&&t.push(()=>this.simplify(e.simplify)),e.dedup!==!1&&t.push(()=>this.deduplicate(e.dedup)),e.quantize!==!1&&t.push(()=>this.quantize(e.quantize)),e.normals!==!1&&t.push(()=>this.optimizeNormals(e.normals)),e.textures&&t.push(()=>this.compressTextures(e.textures));for(let e=0;e<t.length;e++){let n=Math.round(e/t.length*100);this.emitProgress(`Running optimization ${e+1}/${t.length}`,n),await t[e]()}this.emitProgress(`All optimizations complete`,100)}async getReport(){let e=Wt(this.ensureModelLoaded()),t=(await this.export()).byteLength,n=e=>{let t=0,n=0;return e.meshes&&e.meshes.properties&&e.meshes.properties.forEach(e=>{t+=e.vertices||0,n+=e.glPrimitives||0}),{vertices:t,primitives:n}},r=e=>{let t=0;return e.textures&&e.textures.properties&&e.textures.properties.forEach(e=>{t+=e.size||e.gpuSize||0}),t},i=e=>e.textures?.properties?e.textures.properties.length:0,a=e=>{let t=new Set;return e.textures?.properties&&e.textures.properties.forEach(e=>{let n=e;if(typeof n.width==`number`&&typeof n.height==`number`){t.add(`${n.width}x${n.height}`);return}Array.isArray(n.dimensions)&&n.dimensions.length===2&&typeof n.dimensions[0]==`number`&&typeof n.dimensions[1]==`number`&&t.add(`${n.dimensions[0]}x${n.dimensions[1]}`)}),Array.from(t)},o=e=>{let t=0;return e.meshes&&e.meshes.properties&&e.meshes.properties.forEach(e=>{t+=e.size||0}),t},s=this.originalReport?n(this.originalReport):{vertices:0,primitives:0},c=n(e),l=this.originalReport?r(this.originalReport):0,u=r(e),d=this.originalReport?i(this.originalReport):0,f=i(e),p=this.originalReport?a(this.originalReport):[],m=a(e),h=this.originalReport?o(this.originalReport):0,g=o(e);return{originalSize:this.originalSize,optimizedSize:t,compressionRatio:this.originalSize/t,appliedOptimizations:[...this.appliedOptimizations],stats:{vertices:{before:s.vertices,after:c.vertices},triangles:{before:s.primitives,after:c.primitives},materials:{before:this.originalReport?.materials?.properties?this.originalReport.materials.properties.length:0,after:e.materials?.properties?e.materials.properties.length:0},textures:{before:l,after:u},texturesCount:{before:d,after:f},textureResolutions:{before:p,after:m},meshes:{before:h,after:g},nodes:{before:0,after:0}}}}async export(){let e=this.ensureModelLoaded();return await this.io.writeBinary(e)}async exportJSON(){let e=this.ensureModelLoaded();return await this.io.writeJSON(e)}reset(){this._document=null,this.originalSize=0,this.originalReport=null,this.appliedOptimizations=[]}hasModel(){return this._document!==null}listTextureDescriptors(){return this.ensureModelLoaded().getRoot().listTextures().map((e,t)=>{let n=this.resolveTextureCanonicalFileName(e,t);return{index:t,fileName:n,name:n,mimeType:e.getMimeType()||`application/octet-stream`,byteLength:e.getImage()?.byteLength??0}})}getTexturePayload(e){let t=this.ensureModelLoaded().getRoot().listTextures()[e];if(!t)throw Error(`Texture not found for index ${e}`);let n=t.getImage();if(!n||n.byteLength===0)throw Error(`Texture at index ${e} has no image payload`);return{index:e,fileName:this.resolveTextureCanonicalFileName(t,e),name:this.resolveTextureCanonicalFileName(t,e),mimeType:t.getMimeType()||`application/octet-stream`,image:n}}replaceTexturePayload(e,t,n,r){let i=this.ensureModelLoaded().getRoot().listTextures()[e];if(!i)throw Error(`Texture not found for index ${e}`);i.setImage(t),i.setMimeType(n),this.syncTextureIdentity(i,e,r)}resolveTextureCanonicalFileName(e,t){let n=e,r=n.getURI?.()?.trim()??``,i=n.getName?.()?.trim()??``,a=r&&!r.startsWith(`data:`)&&!vr(r)?r:``,o=i&&!vr(i)?i:``,s=hr(t,e.getMimeType()),c=gr(a||o||s),l=fr(e.getMimeType()||``);return l?mr(c,l):c}syncTextureIdentity(e,t,n){let r=e,i=r.getName?.()?.trim()??``,a=r.getURI?.()?.trim()??``,o=n?.trim();if(typeof o==`string`&&o.length>0&&!vr(o)){let e=gr(o);r.setURI&&a!==e&&r.setURI(e),r.setName&&i!==e&&r.setName(e)}let s=this.resolveTextureCanonicalFileName(e,t);r.setURI&&a!==s&&r.setURI(s),r.setName&&i!==s&&r.setName(s)}getAppliedOptimizations(){return[...this.appliedOptimizations]}addAppliedOptimization(e){this.appliedOptimizations.includes(e)||this.appliedOptimizations.push(e)}setAppliedOptimizations(e){this.appliedOptimizations=[...e]}ensureModelLoaded(){if(!this._document)throw Error(`No model loaded. Call loadFromThreeJS(), loadFromBuffer(), or loadFromFile() first.`);return this._document}get document(){return this.ensureModelLoaded()}async applyTransforms(e,t){if(this._document)try{let n=ft(this._document),r=(await this.io.writeBinary(n)).byteLength,i=ft(this._document);await i.transform(...e);let a=(await this.io.writeBinary(i)).byteLength;if(a>r){console.warn(`${t} increased model size (${r} → ${a} bytes), reverting changes.`);return}this._document=i,this.appliedOptimizations.push(t)}catch(e){throw Error(`Failed to apply ${t}: ${e}`,{cause:e})}}emitProgress(e,t,n){this.progressCallback&&this.progressCallback({operation:e,progress:t,details:n})}};function br(e){if(!e?.cameras||e.cameras.length===0)return e;let t=e.cameras.map((e,t)=>({...e,cameraId:e.cameraId||`camera-${t+1}`,name:e.name||`Camera ${t+1}`})),n=(e.activeCameraId&&t.some(t=>t.cameraId===e.activeCameraId)?e.activeCameraId:void 0)??t.find(e=>e.initial)?.cameraId??t[0]?.cameraId;return n?{...e,activeCameraId:n,cameras:t.map(e=>({...e,initial:e.cameraId===n}))}:e}var xr=e=>decodeURIComponent(e).replace(/^\.\//,``),Sr=e=>{let t=xr(e),n=t.split(`/`).pop()||t;return new Set([e,t,n])},Cr=e=>e===` `||e===`
17
+ `||e===`\r`||e===` `||e===`\f`||e===`\v`,wr=e=>{let t=``;for(let n=0;n<e.length;n+=1){let r=e[n];Cr(r)||(t+=r)}return t},Tr=e=>{let t=e.charCodeAt(0);return t>=65&&t<=90||t>=97&&t<=122||t>=48&&t<=57||t===43||t===47};function Er(e){if(Array.isArray(e))return e.length;let t=0,n=0,r=!1;for(let i=e.length-1;i>=0;--i){let a=e[i];if(!(a===` `||a===`
18
+ `||a===`\r`||a===` `||a===`\f`||a===`\v`)){if(t+=1,!r&&a===`=`){n+=1;continue}r=!0}}return Math.max(0,Math.floor(t*3/4)-n)}var Dr=e=>{let t=wr(e);if(t.length===0||t.length%4!=0)return!1;let n=0,r=!1;for(let e=0;e<t.length;e+=1){let i=t[e];if(i===`=`){if(r=!0,n+=1,n>2)return!1;continue}if(r||!Tr(i))return!1}return!0};function Or(e){if(typeof atob!=`function`)throw Error(`Base64 decoding is not supported in this environment`);let t=wr(e),n=atob(t),r=new Uint8Array(n.length);for(let e=0;e<n.length;e+=1)r[e]=n.charCodeAt(e);return r}function kr(e){return Array.isArray(e.data)?Uint8Array.from(e.data):e.encoding===`base64`?Or(e.data):new TextEncoder().encode(e.data)}var Ar=class e{static extractApiData(e){if(!e||typeof e!=`object`)return e;let t=e;if(t.error)throw Error(t.error);if(t.success===!1)throw Error(`Request failed`);if(`data`in t){if(t.data===void 0)throw Error(`Server response did not include data payload`);return t.data}return e}static createDefaultServerOptions(e){return{endpoint:`/api/optimize-textures`,...e}}static createRequestHeaders(e,t){return{...e?.apiKey?{Authorization:`Bearer ${e.apiKey}`}:{},...e?.headers,...t}}static async extractErrorMessage(e){let t=`Server responded with ${e.status}: ${e.statusText}`;try{if(e.headers.get(`content-type`)?.includes(`application/json`)){let n=await e.json();t=n.error||n.details||t}else{let n=await e.text();n&&(t+=` - ${n}`)}}catch{}return t}static async handleServerResponseError(t){let n=await e.extractErrorMessage(t);throw Error(n)}static prepareTextureOptimizationFormData(e,t){let n=new FormData;if(n.append(`texture`,new Blob([new Uint8Array(e.image)],{type:e.mimeType||`application/octet-stream`}),`${e.name||`texture-${e.index}`}`),n.append(`textureIndex`,String(e.index)),n.append(`textureName`,e.name),n.append(`textureMimeType`,e.mimeType),t){let{serverOptions:e,...r}=t;n.append(`options`,JSON.stringify(r))}return n}static async request(t){let{endpoint:n,method:r=`GET`,body:i,serverOptions:a,contentType:o=`application/json`}=t,s=e.createRequestHeaders(a),c;i instanceof FormData?c=i:typeof i==`object`&&i?(s[`Content-Type`]=o,c=JSON.stringify(i)):typeof i==`string`&&(c=i);let l=await fetch(n,{method:r,headers:s,body:c});l.ok||await e.handleServerResponseError(l);let u=l.headers.get(`content-type`);if(u?.includes(`application/json`))return await l.json();if(u?.includes(`model/`)||u?.includes(`application/octet-stream`)){let e=await l.arrayBuffer();return new Uint8Array(e)}return await l.text()}static async get(t,n){return e.request({endpoint:t,method:`GET`,serverOptions:n})}static async post(t,n,r){return e.request({endpoint:t,method:`POST`,body:n,serverOptions:r})}static async postFormData(t,n,r){return e.request({endpoint:t,method:`POST`,body:n,serverOptions:r})}static async loadScene(t,n){let r=new FormData;r.append(`action`,`get-scene-settings`),r.append(`sceneId`,t);let i=n?.endpoint||`/api/scenes/${t}`,a=await e.request({endpoint:i,method:`POST`,body:r,serverOptions:n});return e.extractApiData(a)}};Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return xr}}),Object.defineProperty(exports,`c`,{enumerable:!0,get:function(){return yr}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return Dr}}),Object.defineProperty(exports,`l`,{enumerable:!0,get:function(){return r}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return Sr}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return kr}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return Er}}),Object.defineProperty(exports,`s`,{enumerable:!0,get:function(){return br}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return Ar}}),Object.defineProperty(exports,`u`,{enumerable:!0,get:function(){return n}});
@@ -0,0 +1,14 @@
1
+ import { Document } from '@gltf-transform/core';
2
+ import { ModelFile } from '../use-load-model';
3
+ /**
4
+ * A React hook for exporting a 3D model using the core ModelExporter.
5
+ *
6
+ * @param {Function} [onSaved] Called when the export is complete.
7
+ * @param {Function} [onError] Called when an error occurs during exporting.
8
+ * @returns An object with export functions.
9
+ */
10
+ declare const useExportModel: (onSaved?: () => void, onError?: (error: Error) => void) => {
11
+ handleThreeGltfExport: (file: ModelFile | null, binary: boolean) => Promise<void>;
12
+ handleDocumentGltfExport: (jsonDocument: Document, file: ModelFile | null, binary?: boolean, download?: boolean) => Promise<import('../../../core/src/model-exporter/index.ts').GLTFExportResult | undefined>;
13
+ };
14
+ export default useExportModel;
@@ -0,0 +1 @@
1
+ const e=require(`./chunk-gGpyby2o.cjs`),t=require(`./model-exporter-SMSAY90N.cjs`);let n=require(`react`),r=require(`file-saver`);r=e.a(r,1);var i=(e,i)=>{let a=(0,n.useRef)(new t.t);return{handleThreeGltfExport:(0,n.useCallback)(async(t,n)=>{let o=t?.model;if(!o){console.error(`Scene not initialized`);return}try{let i=a.current,s=t.name.replace(/\.[^/.]+$/,``);if(n){let e=await i.exportThreeJSGLB(o,{});if(!(e.data instanceof Uint8Array))throw Error(`Expected GLB export to return Uint8Array`);r.default.saveAs(new Blob([new Uint8Array(e.data)]),`${s}.glb`)}else{let e=await i.exportThreeJSGLTF(o),t=await i.createZIPArchive(e,s);r.default.saveAs(new Blob([new Uint8Array(t)]),`${s}.zip`)}e&&e()}catch(e){console.error(`Export failed:`,e),i&&i(e)}},[e,i]),handleDocumentGltfExport:(0,n.useCallback)(async function(t,n,o=!1,s=!0){try{let i=a.current,c=n?.name.replace(/\.[^/.]+$/,``)||`model`;if(o){let e=await i.exportDocumentGLB(t);r.default.saveAs(new Blob([new Uint8Array(e.data)]),`${c}.glb`)}else{let e=await i.exportDocumentGLTF(t);if(!s)return e;let n=await i.createZIPArchive(e,c);r.default.saveAs(new Blob([new Uint8Array(n)]),`${c}.zip`)}e&&e()}catch(e){console.error(`Export failed:`,e),i&&i(e)}},[i,e])}};Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return i}});
@@ -0,0 +1,49 @@
1
+ import { t as e } from "./model-exporter-cvguDGnn.js";
2
+ import { useCallback as t, useRef as n } from "react";
3
+ import r from "file-saver";
4
+ //#region packages/hooks/src/use-export-model/use-export-model.ts
5
+ var i = (i, a) => {
6
+ let o = n(new e());
7
+ return {
8
+ handleThreeGltfExport: t(async (e, t) => {
9
+ let n = e?.model;
10
+ if (!n) {
11
+ console.error("Scene not initialized");
12
+ return;
13
+ }
14
+ try {
15
+ let a = o.current, s = e.name.replace(/\.[^/.]+$/, "");
16
+ if (t) {
17
+ let e = await a.exportThreeJSGLB(n, {});
18
+ if (!(e.data instanceof Uint8Array)) throw Error("Expected GLB export to return Uint8Array");
19
+ r.saveAs(new Blob([new Uint8Array(e.data)]), `${s}.glb`);
20
+ } else {
21
+ let e = await a.exportThreeJSGLTF(n), t = await a.createZIPArchive(e, s);
22
+ r.saveAs(new Blob([new Uint8Array(t)]), `${s}.zip`);
23
+ }
24
+ i && i();
25
+ } catch (e) {
26
+ console.error("Export failed:", e), a && a(e);
27
+ }
28
+ }, [i, a]),
29
+ handleDocumentGltfExport: t(async function(e, t, n = !1, s = !0) {
30
+ try {
31
+ let a = o.current, c = t?.name.replace(/\.[^/.]+$/, "") || "model";
32
+ if (n) {
33
+ let t = await a.exportDocumentGLB(e);
34
+ r.saveAs(new Blob([new Uint8Array(t.data)]), `${c}.glb`);
35
+ } else {
36
+ let t = await a.exportDocumentGLTF(e);
37
+ if (!s) return t;
38
+ let n = await a.createZIPArchive(t, c);
39
+ r.saveAs(new Blob([new Uint8Array(n)]), `${c}.zip`);
40
+ }
41
+ i && i();
42
+ } catch (e) {
43
+ console.error("Export failed:", e), a && a(e);
44
+ }
45
+ }, [a, i])
46
+ };
47
+ };
48
+ //#endregion
49
+ export { i as t };
@@ -0,0 +1 @@
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`}),require(`./chunk-gGpyby2o.cjs`);const e=require(`./use-export-model-CaijtW1c.cjs`);exports.useExportModel=e.t;
@@ -0,0 +1,2 @@
1
+ import { t as e } from "./use-export-model-DzVKdqnY.js";
2
+ export { e as useExportModel };
@@ -0,0 +1,7 @@
1
+ import { EventData, EventHandler, EventTypes } from './types';
2
+ declare const eventSystem: {
3
+ emit<T extends EventTypes>(event: T, data?: EventData[T]): void;
4
+ on<T extends EventTypes>(event: T, handler?: EventHandler<T>): void;
5
+ off<T extends EventTypes>(event: T, handler?: EventHandler<T>): void;
6
+ };
7
+ export default eventSystem;
@@ -0,0 +1,4 @@
1
+ export { default as useLoadModel } from './use-load-model';
2
+ export { type EventHandler, type EventTypes, type InputFileOrDirectory, type LoadData, type ModelFile, type SceneDataLoadOptions, type SceneLoadOptions, type SceneLoadResult, type UseLoadModelReturn, type ServerSceneData } from './types';
3
+ export { reconstructGltfFiles } from './utils/reconstruct-files';
4
+ export * from './model-context';