@jdultra/threedtiles 14.0.0 → 14.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/threedtiles.cjs.js +237 -26
- package/dist/threedtiles.cjs.js.map +1 -1
- package/dist/threedtiles.es.js +5962 -5737
- package/dist/threedtiles.es.js.map +1 -1
- package/dist/threedtiles.umd.js +239 -28
- package/dist/threedtiles.umd.js.map +1 -1
- package/package.json +1 -1
package/dist/threedtiles.cjs.js
CHANGED
|
@@ -1,44 +1,252 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const f=require("three");var ce=typeof document<"u"?document.currentScript:null;function
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const f=require("three");var ce=typeof document<"u"?document.currentScript:null;function CB(g){const A=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(g){for(const a in g)if(a!=="default"){const e=Object.getOwnPropertyDescriptor(g,a);Object.defineProperty(A,a,e.get?e:{enumerable:!0,get:()=>g[a]})}}return A.default=g,Object.freeze(A)}const z=CB(f),fa=new f.Matrix3,GA=new f.Vector3,Yt=new f.Vector3,Kt=new f.Box3,ag=new f.Matrix4,qt=new f.Matrix4,Tt=new f.Ray;class sa{constructor(A){this.isOBB=!0,this.center=new f.Vector3(A[0],A[1],A[2]),this.e1=new f.Vector3(A[3],A[4],A[5]),this.e2=new f.Vector3(A[6],A[7],A[8]),this.e3=new f.Vector3(A[9],A[10],A[11]),this.halfSize=new f.Vector3(this.e1.length(),this.e2.length(),this.e3.length()),this.e1.normalize(),this.e2.normalize(),this.e3.normalize(),this.rotationMatrix=new f.Matrix3,this.rotationMatrix.set(this.e1.x,this.e2.x,this.e3.x,this.e1.y,this.e2.y,this.e3.y,this.e1.z,this.e2.z,this.e3.z)}copy(A){this.center.copy(A.center),this.rotationMatrix.copy(A.rotationMatrix),this.halfSize.copy(A.halfSize),this.e1.copy(A.e1),this.e2.copy(A.e2),this.e3.copy(A.e3)}getSize(A){return A.copy(this.halfSize).multiplyScalar(2)}applyMatrix4(A){const a=A.elements;let e=GA.set(a[0],a[1],a[2]).length();const t=GA.set(a[4],a[5],a[6]).length(),i=GA.set(a[8],a[9],a[10]).length();A.determinant()<0&&(e=-e),fa.setFromMatrix4(A);const I=1/e,B=1/t,r=1/i;return fa.elements[0]*=I,fa.elements[1]*=I,fa.elements[2]*=I,fa.elements[3]*=B,fa.elements[4]*=B,fa.elements[5]*=B,fa.elements[6]*=r,fa.elements[7]*=r,fa.elements[8]*=r,this.rotationMatrix.premultiply(fa),this.halfSize.x*=e,this.halfSize.y*=t,this.halfSize.z*=i,this.center.applyMatrix4(A),this.rotationMatrix.extractBasis(this.e1,this.e2,this.e3),this}intersectRay(A,a){return this.getSize(Yt),Kt.setFromCenterAndSize(GA.set(0,0,0),Yt),ag.setFromMatrix3(this.rotationMatrix),ag.setPosition(this.center),qt.copy(ag).invert(),Tt.copy(A).applyMatrix4(qt),Tt.intersectBox(Kt,a)?a.applyMatrix4(ag):null}clampPoint(A,a){GA.copy(A).sub(this.center);const e=GA.dot(this.e1),t=GA.dot(this.e2),i=GA.dot(this.e3),I=Math.max(-this.halfSize.x,Math.min(this.halfSize.x,e)),B=Math.max(-this.halfSize.y,Math.min(this.halfSize.y,t)),r=Math.max(-this.halfSize.z,Math.min(this.halfSize.z,i));return a.copy(this.center).addScaledVector(this.e1,I).addScaledVector(this.e2,B).addScaledVector(this.e3,r)}intersectsSphere(A){return this.clampPoint(A.center,GA),GA.distanceToSquared(A.center)<=A.radius*A.radius}intersectsOBB(A,a=Number.EPSILON){const e=[this.e1,this.e2,this.e3],t=[A.e1,A.e2,A.e3],i=[this.halfSize.x,this.halfSize.y,this.halfSize.z],I=[A.halfSize.x,A.halfSize.y,A.halfSize.z],B=[[0,0,0],[0,0,0],[0,0,0]],r=[[0,0,0],[0,0,0],[0,0,0]];for(let Q=0;Q<3;++Q)for(let E=0;E<3;++E)B[Q][E]=e[Q].dot(t[E]),r[Q][E]=Math.abs(B[Q][E])+a;GA.subVectors(A.center,this.center);const o=[GA.dot(e[0]),GA.dot(e[1]),GA.dot(e[2])];let n,C;for(let Q=0;Q<3;++Q)if(n=i[Q],C=I[0]*r[Q][0]+I[1]*r[Q][1]+I[2]*r[Q][2],Math.abs(o[Q])>n+C)return!1;for(let Q=0;Q<3;++Q)if(n=i[0]*r[0][Q]+i[1]*r[1][Q]+i[2]*r[2][Q],C=I[Q],Math.abs(o[0]*B[0][Q]+o[1]*B[1][Q]+o[2]*B[2][Q])>n+C)return!1;return n=i[1]*r[2][0]+i[2]*r[1][0],C=I[1]*r[0][2]+I[2]*r[0][1],!(Math.abs(o[2]*B[1][0]-o[1]*B[2][0])>n+C)&&(n=i[1]*r[2][1]+i[2]*r[1][1],C=I[0]*r[0][2]+I[2]*r[0][0],!(Math.abs(o[2]*B[1][1]-o[1]*B[2][1])>n+C)&&(n=i[1]*r[2][2]+i[2]*r[1][2],C=I[0]*r[0][1]+I[1]*r[0][0],!(Math.abs(o[2]*B[1][2]-o[1]*B[2][2])>n+C)&&(n=i[0]*r[2][0]+i[2]*r[0][0],C=I[1]*r[1][2]+I[2]*r[1][1],!(Math.abs(o[0]*B[2][0]-o[2]*B[0][0])>n+C)&&(n=i[0]*r[2][1]+i[2]*r[0][1],C=I[0]*r[1][2]+I[2]*r[1][0],!(Math.abs(o[0]*B[2][1]-o[2]*B[0][1])>n+C)&&(n=i[0]*r[2][2]+i[2]*r[0][2],C=I[0]*r[1][1]+I[1]*r[1][0],!(Math.abs(o[0]*B[2][2]-o[2]*B[0][2])>n+C)&&(n=i[0]*r[1][0]+i[1]*r[0][0],C=I[1]*r[2][2]+I[2]*r[2][1],!(Math.abs(o[1]*B[0][0]-o[0]*B[1][0])>n+C)&&(n=i[0]*r[1][1]+i[1]*r[0][1],C=I[0]*r[2][2]+I[2]*r[2][0],!(Math.abs(o[1]*B[0][1]-o[0]*B[1][1])>n+C)&&(n=i[0]*r[1][2]+i[1]*r[0][2],C=I[0]*r[2][1]+I[1]*r[2][0],!(Math.abs(o[1]*B[0][2]-o[0]*B[1][2])>n+C)))))))))}intersectsRay(A){return this.intersectRay(A,GA)!==null}insidePlane(A){A.normal.normalize();const a=this.halfSize.x*Math.abs(A.normal.dot(this.e1))+this.halfSize.y*Math.abs(A.normal.dot(this.e2))+this.halfSize.z*Math.abs(A.normal.dot(this.e3));return A.distanceToPoint(this.center)>-a}inFrustum(A){for(let a=0;a<6;a++){const e=A.planes[a];if(!this.insidePlane(e))return!1}return!0}distanceToPoint(A){GA.copy(A),GA.sub(this.center),GA.applyMatrix3(this.rotationMatrix);let a=Math.max(0,Math.max(-this.halfSize.x-GA.x,GA.x-this.halfSize.x)),e=Math.max(0,Math.max(-this.halfSize.y-GA.y,GA.y-this.halfSize.y)),t=Math.max(0,Math.max(-this.halfSize.z-GA.z,GA.z-this.halfSize.z));return Math.sqrt(a*a+e*e+t*t)}helper(){const A=this.halfSize,a=this.center,e=this.e1,t=this.e2,i=this.e3,I=[new f.Vector3().copy(a).add(e.clone().multiplyScalar(A.x)).add(t.clone().multiplyScalar(A.y)).add(i.clone().multiplyScalar(A.z)),new f.Vector3().copy(a).add(e.clone().multiplyScalar(-A.x)).add(t.clone().multiplyScalar(A.y)).add(i.clone().multiplyScalar(A.z)),new f.Vector3().copy(a).add(e.clone().multiplyScalar(-A.x)).add(t.clone().multiplyScalar(-A.y)).add(i.clone().multiplyScalar(A.z)),new f.Vector3().copy(a).add(e.clone().multiplyScalar(A.x)).add(t.clone().multiplyScalar(-A.y)).add(i.clone().multiplyScalar(A.z)),new f.Vector3().copy(a).add(e.clone().multiplyScalar(A.x)).add(t.clone().multiplyScalar(A.y)).add(i.clone().multiplyScalar(-A.z)),new f.Vector3().copy(a).add(e.clone().multiplyScalar(-A.x)).add(t.clone().multiplyScalar(A.y)).add(i.clone().multiplyScalar(-A.z)),new f.Vector3().copy(a).add(e.clone().multiplyScalar(-A.x)).add(t.clone().multiplyScalar(-A.y)).add(i.clone().multiplyScalar(-A.z)),new f.Vector3().copy(a).add(e.clone().multiplyScalar(A.x)).add(t.clone().multiplyScalar(-A.y)).add(i.clone().multiplyScalar(-A.z))],B=new f.BufferGeometry().setFromPoints(I);B.setIndex([0,1,1,2,2,3,3,0,4,5,5,6,6,7,7,4,0,4,1,5,2,6,3,7]),B.computeBoundingSphere();const r=new f.LineBasicMaterial({color:16711680}),o=new f.LineSegments(B,r);return o.dispose=()=>{r.dispose(),B.dispose()},o}}/**
|
|
2
2
|
* @copyright 2021 Aaron Zhao <yujianzhao2013@gmail.com>
|
|
3
3
|
* @license MIT
|
|
4
4
|
* Linked hash map data structure
|
|
5
5
|
* @class LinkedHashMap
|
|
6
|
-
*/class Wi{constructor(){this._data=new Map,this._link=new Map,this._head=void 0,this._tail=void 0}put(A,a,e=!1){this.has(A)?this._data.set(A,a):(this._data.set(A,a),this._link.set(A,{previous:void 0,next:void 0}),this._head==null?(this._head=A,this._tail=A):e?(this._link.get(this._head).previous=A,this._link.get(A).next=this._head,this._head=A):(this._link.get(this._tail).next=A,this._link.get(A).previous=this._tail,this._tail=A))}head(){return{key:this._head,value:this.get(this._head),next:()=>this.next(this._head),previous:()=>null}}tail(){return{key:this._tail,value:this.get(this._tail),next:()=>null,previous:()=>this.previous(this._tail)}}get(A){return this._data.get(A)}previousKey(A){const a=this._link.get(A);return a?.previous}previousValue(A){return this.get(this.previousKey(A))}previous(A){const a=this.previousKey(A);return{key:a,value:this.get(a),next:()=>this.next(a),previous:()=>this.previous(a)}}nextKey(A){const a=this._link.get(A);return a?.next}nextValue(A){return this.get(this.nextKey(A))}next(A){const a=this.nextKey(A);return{key:a,value:this.get(a),next:()=>this.next(a),previous:()=>this.previous(a)}}remove(A){const a=this._data.get(A);if(a!=null)if(this.size()===1)this.reset();else{if(A===this._head){const e=this._link.get(this._head);this._link.get(e.next).previous=null,this._head=e.next}else if(A===this._tail){const e=this._link.get(this._tail);this._link.get(e.previous).next=null,this._tail=e.previous}else{const e=this._link.get(A),g=this._link.get(e.previous),i=this._link.get(e.next);g.next=e.next,i.previous=e.previous}this._link.delete(A),this._data.delete(A)}return a}has(A){return this._data.has(A)}size(){return this._data.size}reset(){this._data.clear(),this._link.clear(),this._head=void 0,this._tail=void 0}keys(){return this._data.keys()}values(){return this._data.values()}entries(){return this._data.entries()}toArray(A="orderByInsert"){if(A!=="orderByInsert"){const a=[];let e=this._head;for(;e!=null;)a.push({key:e,value:this.get(e)}),e=this.nextKey(e);return a}return Array.from(this.keys()).map(a=>({key:a,value:this.get(a)}))}}const Br=new TextDecoder;class Vi{constructor(A,a,e,g){this.buffer=A,this.binOffset=a+e,this.binLength=g;let i=null;if(e!==0)try{const I=new Uint8Array(A,a,e);i=JSON.parse(Br.decode(I))}catch{i={}}else i={};this.header=i}getKeys(){return Object.keys(this.header)}getData(A,a,e=null,g=null){const i=this.header;if(!(A in i))return null;const I=i[A];if(I instanceof Object){if(Array.isArray(I))return I;{const{buffer:r,binOffset:o,binLength:B}=this,n=I.byteOffset||0,s=I.type||g,E=I.componentType||e;if("type"in I&&g&&I.type!==g)throw new Error("FeatureTable: Specified type does not match expected type.");let C,Q;switch(s){case"SCALAR":C=1;break;case"VEC2":C=2;break;case"VEC3":C=3;break;case"VEC4":C=4;break;default:throw new Error(`FeatureTable : Feature type not provided for "${A}".`)}const c=o+n,d=a*C;switch(E){case"BYTE":Q=new Int8Array(r,c,d);break;case"UNSIGNED_BYTE":Q=new Uint8Array(r,c,d);break;case"SHORT":Q=new Int16Array(r,c,d);break;case"UNSIGNED_SHORT":Q=new Uint16Array(r,c,d);break;case"INT":Q=new Int32Array(r,c,d);break;case"UNSIGNED_INT":Q=new Uint32Array(r,c,d);break;case"FLOAT":Q=new Float32Array(r,c,d);break;case"DOUBLE":Q=new Float64Array(r,c,d);break;default:throw new Error(`FeatureTable : Feature component type not provided for "${A}".`)}if(c+d*Q.BYTES_PER_ELEMENT>o+B)throw new Error("FeatureTable: Feature data read outside binary body length.");return Q}}return I}}class sr extends Vi{constructor(A,a,e,g,i){super(A,e,g,i),this.batchSize=a}getData(A,a=null,e=null){return super.getData(A,this.batchSize,a,e)}}function Og(t){let A,a,e,g=-1,i=0;for(let B=0;B<t.length;++B){const n=t[B];if(A===void 0&&(A=n.array.constructor),A!==n.array.constructor)return console.error("THREE.BufferGeometryUtils: .mergeAttributes() failed. BufferAttribute.array must be of consistent array types across matching attributes."),null;if(a===void 0&&(a=n.itemSize),a!==n.itemSize)return console.error("THREE.BufferGeometryUtils: .mergeAttributes() failed. BufferAttribute.itemSize must be consistent across matching attributes."),null;if(e===void 0&&(e=n.normalized),e!==n.normalized)return console.error("THREE.BufferGeometryUtils: .mergeAttributes() failed. BufferAttribute.normalized must be consistent across matching attributes."),null;if(g===-1&&(g=n.gpuType),g!==n.gpuType)return console.error("THREE.BufferGeometryUtils: .mergeAttributes() failed. BufferAttribute.gpuType must be consistent across matching attributes."),null;i+=n.count*a}const I=new A(i),r=new f.BufferAttribute(I,a,e);let o=0;for(let B=0;B<t.length;++B){const n=t[B];if(n.isInterleavedBufferAttribute){const s=o/a;for(let E=0,C=n.count;E<C;E++)for(let Q=0;Q<a;Q++){const c=n.getComponent(E,Q);r.setComponent(E+s,Q,c)}}else I.set(n.array,o);o+=n.count*a}return g!==void 0&&(r.gpuType=g),r}function Pg(t,A){if(A===f.TrianglesDrawMode)return console.warn("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Geometry already defined as triangles."),t;if(A===f.TriangleFanDrawMode||A===f.TriangleStripDrawMode){let a=t.getIndex();if(a===null){const I=[],r=t.getAttribute("position");if(r===void 0)return console.error("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Undefined position attribute. Processing not possible."),t;for(let o=0;o<r.count;o++)I.push(o);t.setIndex(I),a=t.getIndex()}const e=a.count-2,g=[];if(A===f.TriangleFanDrawMode)for(let I=1;I<=e;I++)g.push(a.getX(0)),g.push(a.getX(I)),g.push(a.getX(I+1));else for(let I=0;I<e;I++)I%2==0?(g.push(a.getX(I)),g.push(a.getX(I+1)),g.push(a.getX(I+2))):(g.push(a.getX(I+2)),g.push(a.getX(I+1)),g.push(a.getX(I)));g.length/3!==e&&console.error("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Unable to generate correct amount of triangles.");const i=t.clone();return i.setIndex(g),i.clearGroups(),i}return console.error("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Unknown draw mode:",A),t}class Xi{constructor(A){this.gltfLoader=A,this.tempMatrix=new z.Matrix4,this.zUpToYUpMatrix=new z.Matrix4,this.zUpToYUpMatrix.set(1,0,0,0,0,0,-1,0,0,1,0,0,0,0,0,1)}parseB3DM(A,a,e,g){const i=this,I=new DataView(A),r=String.fromCharCode(I.getUint8(0))+String.fromCharCode(I.getUint8(1))+String.fromCharCode(I.getUint8(2))+String.fromCharCode(I.getUint8(3));console.assert(r==="b3dm");const o=I.getUint32(8,!0);console.assert(o===A.byteLength);const B=I.getUint32(12,!0),n=I.getUint32(16,!0),s=I.getUint32(20,!0),E=I.getUint32(24,!0),C=new Vi(A,28,B,n),Q=28+B+n;new sr(A,C.getData("BATCH_LENGTH"),Q,s,E);const c=Q+s+E,d=new Uint8Array(A,c,o-c).slice().buffer;return new Promise(async(b,h)=>{await this.checkLoaderInitialized(),this.gltfLoader.parse(d,null,l=>{const w=C.getData("RTC_CENTER");w?(this.tempMatrix.makeTranslation(w[0],w[1],w[2]),l.scene.applyMatrix4(this.tempMatrix)):l.userData.gltfExtensions&&l.userData.gltfExtensions.CESIUM_RTC&&(this.tempMatrix.makeTranslation(l.userData.gltfExtensions.CESIUM_RTC.center[0],l.userData.gltfExtensions.CESIUM_RTC.center[1],l.userData.gltfExtensions.CESIUM_RTC.center[2]),l.scene.applyMatrix4(this.tempMatrix)),e&&l.scene.applyMatrix4(i.zUpToYUpMatrix),l.scene.asset=l.asset,l.scene.traverse(M=>{M.isMesh&&(g&&M.applyMatrix4(i.zUpToYUpMatrix),a&&a(M))}),b(l.scene)},l=>{console.error(l)})})}checkLoaderInitialized=async()=>new Promise(A=>{const a=setInterval(()=>{this.gltfLoader.hasDracoLoader&&!this.gltfLoader.dracoLoader||this.gltfLoader.hasKTX2Loader&&!this.gltfLoader.ktx2Loader||(clearInterval(a),A())},10)});parseB3DMInstanced(A,a,e,g,i){return this.parseB3DM(A,a,g,i).then(I=>{let r,o=[],B=[];I.updateWorldMatrix(!1,!0),I.traverse(s=>{s.isMesh&&(s.geometry.applyMatrix4(s.matrixWorld),o.push(s.geometry),B.push(s.material))});let n=function(s){let E=new Set;return s.forEach(Q=>{for(let c in Q.attributes)E.add(c)}),s.forEach(Q=>{E.forEach(c=>{if(!Q.attributes[c]){const d=function(h){switch(h){case"position":case"normal":case"color":return 3;case"uv":case"uv2":return 2;default:throw new Error(`Unknown attribute ${h}`)}}(c),b=new Float32Array(d*Q.getAttribute("position").count).fill(0);Q.setAttribute(c,new z.BufferAttribute(b,d))}})}),function(Q,c=!1){const d=Q[0].index!==null,b=new Set(Object.keys(Q[0].attributes)),h=new Set(Object.keys(Q[0].morphAttributes)),l={},w={},M=Q[0].morphTargetsRelative,k=new f.BufferGeometry;let N=0;for(let F=0;F<Q.length;++F){const G=Q[F];let L=0;if(d!==(G.index!==null))return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index "+F+". All geometries must have compatible attributes; make sure index attribute exists among all geometries, or in none of them."),null;for(const x in G.attributes){if(!b.has(x))return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index "+F+'. All geometries must have compatible attributes; make sure "'+x+'" attribute exists among all geometries, or in none of them.'),null;l[x]===void 0&&(l[x]=[]),l[x].push(G.attributes[x]),L++}if(L!==b.size)return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index "+F+". Make sure all geometries have the same number of attributes."),null;if(M!==G.morphTargetsRelative)return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index "+F+". .morphTargetsRelative must be consistent throughout all geometries."),null;for(const x in G.morphAttributes){if(!h.has(x))return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index "+F+". .morphAttributes must be consistent throughout all geometries."),null;w[x]===void 0&&(w[x]=[]),w[x].push(G.morphAttributes[x])}if(c){let x;if(d)x=G.index.count;else{if(G.attributes.position===void 0)return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index "+F+". The geometry must have either an index or a position attribute"),null;x=G.attributes.position.count}k.addGroup(N,x,F),N+=x}}if(d){let F=0;const G=[];for(let L=0;L<Q.length;++L){const x=Q[L].index;for(let W=0;W<x.count;++W)G.push(x.getX(W)+F);F+=Q[L].attributes.position.count}k.setIndex(G)}for(const F in l){const G=Og(l[F]);if(!G)return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed while trying to merge the "+F+" attribute."),null;k.setAttribute(F,G)}for(const F in w){const G=w[F][0].length;if(G===0)break;k.morphAttributes=k.morphAttributes||{},k.morphAttributes[F]=[];for(let L=0;L<G;++L){const x=[];for(let X=0;X<w[F].length;++X)x.push(w[F][X][L]);const W=Og(x);if(!W)return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed while trying to merge the "+F+" morphAttribute."),null;k.morphAttributes[F].push(W)}}return k}(s,!0)}(o);return r=new z.InstancedMesh(n,B,e),r.baseMatrix=new z.Matrix4().identity(),r})}}async function Cr(t={}){var A,a,e=t,g=typeof window=="object",i=typeof WorkerGlobalScope<"u",I=typeof process=="object"&&((A=process.versions)==null?void 0:A.node)&&process.type!="renderer";if(I){const{createRequire:D}=await Promise.resolve().then(()=>hr);var r=D(typeof document>"u"?require("url").pathToFileURL(__filename).href:ce&&ce.tagName.toUpperCase()==="SCRIPT"&&ce.src||new URL("threedtiles.cjs.js",document.baseURI).href)}var o,B="./this.program",n=typeof document>"u"?require("url").pathToFileURL(__filename).href:ce&&ce.tagName.toUpperCase()==="SCRIPT"&&ce.src||new URL("threedtiles.cjs.js",document.baseURI).href;if(I){var s=r("fs");n.startsWith("file:")&&r("path").dirname(r("url").fileURLToPath(n)),o=D=>(D=X(D)?new URL(D):D,s.readFileSync(D)),1<process.argv.length&&(B=process.argv[1].replace(/\\/g,"/")),process.argv.slice(2)}else if(g||i){try{new URL(".",n)}catch{}i&&(o=D=>{var u=new XMLHttpRequest;return u.open("GET",D,!1),u.responseType="arraybuffer",u.send(null),new Uint8Array(u.response)})}var E,C,Q,c,d,b,h,l,w,M,k,N,F,G,L=console.log.bind(console),x=console.error.bind(console),W=!1,X=D=>D.startsWith("file://"),eA=!1;function AA(){var D=c.buffer;d=new Int8Array(D),h=new Int16Array(D),e.HEAPU8=b=new Uint8Array(D),l=new Uint16Array(D),w=new Int32Array(D),M=new Uint32Array(D),e.HEAPF32=k=new Float32Array(D),N=new Float64Array(D),F=new BigInt64Array(D),G=new BigUint64Array(D)}var Z,nA=0,bA=null;function cA(D){var u;throw(u=e.onAbort)==null||u.call(e,D),x(D="Aborted("+D+")"),W=!0,D=new WebAssembly.RuntimeError(D+". Build with -sASSERTIONS for more info."),Q?.(D),D}async function yA(D){var u=Z;try{var y=await async function(p){if(!ArrayBuffer.isView(p))if(p==Z&&E)p=new Uint8Array(E);else{if(!o)throw"both async and sync fetching of the wasm failed";p=o(p)}return p}(u);return await WebAssembly.instantiate(y,D)}catch(p){x(`failed to asynchronously prepare wasm: ${p}`),cA(p)}}var fA=D=>{for(;0<D.length;)D.shift()(e)},BA=[],kA=[],rA=()=>{var D=e.preRun.shift();kA.push(D)},sA={},uA=D=>{for(;D.length;){var u=D.pop();D.pop()(u)}};function pA(D){return this.N(M[D>>2])}var mA={},NA={},WA={},VA=class extends Error{constructor(D){super(D),this.name="InternalError"}},oa=(D,u,y)=>{function p(O){if((O=y(O)).length!==D.length)throw new VA("Mismatched type converter count");for(var aA=0;aA<D.length;++aA)R(D[aA],O[aA])}D.forEach(O=>WA[O]=u);var S=Array(u.length),T=[],J=0;u.forEach((O,aA)=>{NA.hasOwnProperty(O)?S[aA]=NA[O]:(T.push(O),mA.hasOwnProperty(O)||(mA[O]=[]),mA[O].push(()=>{S[aA]=NA[O],++J===T.length&&p(S)}))}),T.length===0&&p(S)},YA=D=>{for(var u="";;){var y=b[D++];if(!y)return u;u+=String.fromCharCode(y)}},EA=class extends Error{constructor(D){super(D),this.name="BindingError"}},m=D=>{throw new EA(D)};function R(D,u,y={}){return function(p,S,T={}){var J=S.name;if(!p)throw new EA(`type "${J}" must have a positive integer typeid pointer`);if(NA.hasOwnProperty(p)){if(T.wa)return;throw new EA(`Cannot register type '${J}' twice`)}NA[p]=S,delete WA[p],mA.hasOwnProperty(p)&&(S=mA[p],delete mA[p],S.forEach(O=>O()))}(D,u,y)}var U=(D,u,y)=>{switch(u){case 1:return y?p=>d[p]:p=>b[p];case 2:return y?p=>h[p>>1]:p=>l[p>>1];case 4:return y?p=>w[p>>2]:p=>M[p>>2];case 8:return y?p=>F[p>>3]:p=>G[p>>3];default:throw new TypeError(`invalid integer width (${u}): ${D}`)}},v=D=>{throw new EA(D.L.P.M.name+" instance already deleted")},H=!1,q=()=>{},V=D=>typeof FinalizationRegistry>"u"?(V=u=>u,D):(H=new FinalizationRegistry(u=>{--(u=u.L).count.value,u.count.value===0&&(u.S?u.W.Y(u.S):u.P.M.Y(u.O))}),V=u=>{var y=u.L;return y.S&&H.register(u,{L:y},u),u},q=u=>{H.unregister(u)},V(D));function K(){}var $=(D,u)=>Object.defineProperty(u,"name",{value:D}),P={},DA=(D,u,y)=>{if(D[u].R===void 0){var p=D[u];D[u]=function(...S){if(!D[u].R.hasOwnProperty(S.length))throw new EA(`Function '${y}' called with an invalid number of arguments (${S.length}) - expects one of (${D[u].R})!`);return D[u].R[S.length].apply(this,S)},D[u].R=[],D[u].R[p.aa]=p}},hA=(D,u,y)=>{if(e.hasOwnProperty(D)){if(y===void 0||e[D].R!==void 0&&e[D].R[y]!==void 0)throw new EA(`Cannot register public name '${D}' twice`);if(DA(e,D,D),e[D].R.hasOwnProperty(y))throw new EA(`Cannot register multiple overloads of a function with the same number of arguments (${y})!`);e[D].R[y]=u}else e[D]=u,e[D].aa=y};function xA(D,u,y,p,S,T,J,O){this.name=D,this.constructor=u,this.$=y,this.Y=p,this.U=S,this.ra=T,this.ea=J,this.pa=O,this.ya=[]}var OA=(D,u,y)=>{for(;u!==y;){if(!u.ea)throw new EA(`Expected null or instance of ${y.name}, got an instance of ${u.name}`);D=u.ea(D),u=u.U}return D},ia=D=>{if(D===null)return"null";var u=typeof D;return u==="object"||u==="array"||u==="function"?D.toString():""+D};function Ba(D,u){if(u===null){if(this.ha)throw new EA(`null is not a valid ${this.name}`);return 0}if(!u.L)throw new EA(`Cannot pass "${ia(u)}" as a ${this.name}`);if(!u.L.O)throw new EA(`Cannot pass deleted object as a pointer of type ${this.name}`);return OA(u.L.O,u.L.P.M,this.M)}function la(D,u){if(u===null){if(this.ha)throw new EA(`null is not a valid ${this.name}`);if(this.ga){var y=this.ia();return D!==null&&D.push(this.Y,y),y}return 0}if(!u||!u.L)throw new EA(`Cannot pass "${ia(u)}" as a ${this.name}`);if(!u.L.O)throw new EA(`Cannot pass deleted object as a pointer of type ${this.name}`);if(!this.fa&&u.L.P.fa)throw new EA(`Cannot convert argument of type ${u.L.W?u.L.W.name:u.L.P.name} to parameter type ${this.name}`);if(y=OA(u.L.O,u.L.P.M,this.M),this.ga){if(u.L.S===void 0)throw new EA("Passing raw pointer to smart pointer is illegal");switch(this.Da){case 0:if(u.L.W!==this)throw new EA(`Cannot convert argument of type ${u.L.W?u.L.W.name:u.L.P.name} to parameter type ${this.name}`);y=u.L.S;break;case 1:y=u.L.S;break;case 2:if(u.L.W===this)y=u.L.S;else{var p=u.clone();y=this.za(y,xe(()=>p.delete())),D!==null&&D.push(this.Y,y)}break;default:throw new EA("Unsupporting sharing policy")}}return y}function ja(D,u){if(u===null){if(this.ha)throw new EA(`null is not a valid ${this.name}`);return 0}if(!u.L)throw new EA(`Cannot pass "${ia(u)}" as a ${this.name}`);if(!u.L.O)throw new EA(`Cannot pass deleted object as a pointer of type ${this.name}`);if(u.L.P.fa)throw new EA(`Cannot convert argument of type ${u.L.P.name} to parameter type ${this.name}`);return OA(u.L.O,u.L.P.M,this.M)}var Ae=(D,u,y)=>u===y?D:y.U===void 0||(D=Ae(D,u,y.U))===null?null:y.pa(D),Nt={},se=(D,u)=>{if(!u.P||!u.O)throw new VA("makeClassHandle requires ptr and ptrType");if(!!u.W!=!!u.S)throw new VA("Both smartPtrType and smartPtr must be specified");return u.count={value:1},V(Object.create(D,{L:{value:u,writable:!0}}))};function Ce(D,u,y,p,S,T,J,O,aA,gA,tA){this.name=D,this.M=u,this.ha=y,this.fa=p,this.ga=S,this.xa=T,this.Da=J,this.na=O,this.ia=aA,this.za=gA,this.Y=tA,S||u.U!==void 0?this.T=la:(this.T=p?Ba:ja,this.V=null)}var Oe,Pe=(D,u,y)=>{if(!e.hasOwnProperty(D))throw new VA("Replacing nonexistent public symbol");e[D].R!==void 0&&y!==void 0?e[D].R[y]=u:(e[D]=u,e[D].aa=y)},sa=(D,u)=>{D=YA(D);var y=Oe.get(u);if(typeof y!="function")throw new EA(`unknown function pointer with signature ${D}: ${u}`);return y};class Gt extends Error{}var ze=D=>{D=Jg(D);var u=YA(D);return Ka(D),u},Ee=(D,u)=>{var y=[],p={};throw u.forEach(function S(T){p[T]||NA[T]||(WA[T]?WA[T].forEach(S):(y.push(T),p[T]=!0))}),new Gt(`${D}: `+y.map(ze).join([", "]))},Re=(D,u)=>{for(var y=[],p=0;p<D;p++)y.push(M[u+4*p>>2]);return y};function We(D){for(var u=1;u<D.length;++u)if(D[u]!==null&&D[u].V===void 0)return!0;return!1}function Ne(D,u,y,p,S,T){var J=u.length;if(2>J)throw new EA("argTypes array size mismatch! Must at least get return value and 'this' types!");var O=u[1]!==null&&y!==null,aA=We(u);y=!u[0].ma;var gA=u[0],tA=u[1];for(p=[D,m,p,S,uA,gA.N.bind(gA),tA?.T.bind(tA)],S=2;S<J;++S)gA=u[S],p.push(gA.T.bind(gA));if(!aA)for(S=O?1:2;S<u.length;++S)u[S].V!==null&&p.push(u[S].V);for(aA=We(u),S=u.length-2,tA=[],gA=["fn"],O&&gA.push("thisWired"),J=0;J<S;++J)tA.push(`arg${J}`),gA.push(`arg${J}Wired`);tA=tA.join(","),gA=gA.join(","),tA=`return function (${tA}) {
|
|
7
|
-
`,aA&&(
|
|
8
|
-
`);var
|
|
9
|
-
`),
|
|
10
|
-
`,
|
|
11
|
-
`,aA)
|
|
12
|
-
`;else for(
|
|
13
|
-
`,
|
|
6
|
+
*/class Vi{constructor(){this._data=new Map,this._link=new Map,this._head=void 0,this._tail=void 0}put(A,a,e=!1){this.has(A)?this._data.set(A,a):(this._data.set(A,a),this._link.set(A,{previous:void 0,next:void 0}),this._head==null?(this._head=A,this._tail=A):e?(this._link.get(this._head).previous=A,this._link.get(A).next=this._head,this._head=A):(this._link.get(this._tail).next=A,this._link.get(A).previous=this._tail,this._tail=A))}head(){return{key:this._head,value:this.get(this._head),next:()=>this.next(this._head),previous:()=>null}}tail(){return{key:this._tail,value:this.get(this._tail),next:()=>null,previous:()=>this.previous(this._tail)}}get(A){return this._data.get(A)}previousKey(A){const a=this._link.get(A);return a?.previous}previousValue(A){return this.get(this.previousKey(A))}previous(A){const a=this.previousKey(A);return{key:a,value:this.get(a),next:()=>this.next(a),previous:()=>this.previous(a)}}nextKey(A){const a=this._link.get(A);return a?.next}nextValue(A){return this.get(this.nextKey(A))}next(A){const a=this.nextKey(A);return{key:a,value:this.get(a),next:()=>this.next(a),previous:()=>this.previous(a)}}remove(A){const a=this._data.get(A);if(a!=null)if(this.size()===1)this.reset();else{if(A===this._head){const e=this._link.get(this._head);this._link.get(e.next).previous=null,this._head=e.next}else if(A===this._tail){const e=this._link.get(this._tail);this._link.get(e.previous).next=null,this._tail=e.previous}else{const e=this._link.get(A),t=this._link.get(e.previous),i=this._link.get(e.next);t.next=e.next,i.previous=e.previous}this._link.delete(A),this._data.delete(A)}return a}has(A){return this._data.has(A)}size(){return this._data.size}reset(){this._data.clear(),this._link.clear(),this._head=void 0,this._tail=void 0}keys(){return this._data.keys()}values(){return this._data.values()}entries(){return this._data.entries()}toArray(A="orderByInsert"){if(A!=="orderByInsert"){const a=[];let e=this._head;for(;e!=null;)a.push({key:e,value:this.get(e)}),e=this.nextKey(e);return a}return Array.from(this.keys()).map(a=>({key:a,value:this.get(a)}))}}const EB=new TextDecoder;class Xi{constructor(A,a,e,t){this.buffer=A,this.binOffset=a+e,this.binLength=t;let i=null;if(e!==0)try{const I=new Uint8Array(A,a,e);i=JSON.parse(EB.decode(I))}catch{i={}}else i={};this.header=i}getKeys(){return Object.keys(this.header)}getData(A,a,e=null,t=null){const i=this.header;if(!(A in i))return null;const I=i[A];if(I instanceof Object){if(Array.isArray(I))return I;{const{buffer:B,binOffset:r,binLength:o}=this,n=I.byteOffset||0,C=I.type||t,Q=I.componentType||e;if("type"in I&&t&&I.type!==t)throw new Error("FeatureTable: Specified type does not match expected type.");let E,s;switch(C){case"SCALAR":E=1;break;case"VEC2":E=2;break;case"VEC3":E=3;break;case"VEC4":E=4;break;default:throw new Error(`FeatureTable : Feature type not provided for "${A}".`)}const c=r+n,d=a*E;switch(Q){case"BYTE":s=new Int8Array(B,c,d);break;case"UNSIGNED_BYTE":s=new Uint8Array(B,c,d);break;case"SHORT":s=new Int16Array(B,c,d);break;case"UNSIGNED_SHORT":s=new Uint16Array(B,c,d);break;case"INT":s=new Int32Array(B,c,d);break;case"UNSIGNED_INT":s=new Uint32Array(B,c,d);break;case"FLOAT":s=new Float32Array(B,c,d);break;case"DOUBLE":s=new Float64Array(B,c,d);break;default:throw new Error(`FeatureTable : Feature component type not provided for "${A}".`)}if(c+d*s.BYTES_PER_ELEMENT>r+o)throw new Error("FeatureTable: Feature data read outside binary body length.");return s}}return I}}class QB extends Xi{constructor(A,a,e,t,i){super(A,e,t,i),this.batchSize=a}getData(A,a=null,e=null){return super.getData(A,this.batchSize,a,e)}}function Ot(g){let A,a,e,t=-1,i=0;for(let o=0;o<g.length;++o){const n=g[o];if(A===void 0&&(A=n.array.constructor),A!==n.array.constructor)return console.error("THREE.BufferGeometryUtils: .mergeAttributes() failed. BufferAttribute.array must be of consistent array types across matching attributes."),null;if(a===void 0&&(a=n.itemSize),a!==n.itemSize)return console.error("THREE.BufferGeometryUtils: .mergeAttributes() failed. BufferAttribute.itemSize must be consistent across matching attributes."),null;if(e===void 0&&(e=n.normalized),e!==n.normalized)return console.error("THREE.BufferGeometryUtils: .mergeAttributes() failed. BufferAttribute.normalized must be consistent across matching attributes."),null;if(t===-1&&(t=n.gpuType),t!==n.gpuType)return console.error("THREE.BufferGeometryUtils: .mergeAttributes() failed. BufferAttribute.gpuType must be consistent across matching attributes."),null;i+=n.count*a}const I=new A(i),B=new f.BufferAttribute(I,a,e);let r=0;for(let o=0;o<g.length;++o){const n=g[o];if(n.isInterleavedBufferAttribute){const C=r/a;for(let Q=0,E=n.count;Q<E;Q++)for(let s=0;s<a;s++){const c=n.getComponent(Q,s);B.setComponent(Q+C,s,c)}}else I.set(n.array,r);r+=n.count*a}return t!==void 0&&(B.gpuType=t),B}function Pt(g,A){if(A===f.TrianglesDrawMode)return console.warn("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Geometry already defined as triangles."),g;if(A===f.TriangleFanDrawMode||A===f.TriangleStripDrawMode){let a=g.getIndex();if(a===null){const I=[],B=g.getAttribute("position");if(B===void 0)return console.error("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Undefined position attribute. Processing not possible."),g;for(let r=0;r<B.count;r++)I.push(r);g.setIndex(I),a=g.getIndex()}const e=a.count-2,t=[];if(A===f.TriangleFanDrawMode)for(let I=1;I<=e;I++)t.push(a.getX(0)),t.push(a.getX(I)),t.push(a.getX(I+1));else for(let I=0;I<e;I++)I%2==0?(t.push(a.getX(I)),t.push(a.getX(I+1)),t.push(a.getX(I+2))):(t.push(a.getX(I+2)),t.push(a.getX(I+1)),t.push(a.getX(I)));t.length/3!==e&&console.error("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Unable to generate correct amount of triangles.");const i=g.clone();return i.setIndex(t),i.clearGroups(),i}return console.error("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Unknown draw mode:",A),g}class Zi{constructor(A){this.gltfLoader=A,this.tempMatrix=new z.Matrix4,this.zUpToYUpMatrix=new z.Matrix4,this.zUpToYUpMatrix.set(1,0,0,0,0,0,-1,0,0,1,0,0,0,0,0,1)}parseB3DM(A,a,e,t){const i=this,I=new DataView(A),B=String.fromCharCode(I.getUint8(0))+String.fromCharCode(I.getUint8(1))+String.fromCharCode(I.getUint8(2))+String.fromCharCode(I.getUint8(3));console.assert(B==="b3dm");const r=I.getUint32(8,!0);console.assert(r===A.byteLength);const o=I.getUint32(12,!0),n=I.getUint32(16,!0),C=I.getUint32(20,!0),Q=I.getUint32(24,!0),E=new Xi(A,28,o,n),s=28+o+n;new QB(A,E.getData("BATCH_LENGTH"),s,C,Q);const c=s+C+Q,d=new Uint8Array(A,c,r-c).slice().buffer;return new Promise(async(b,h)=>{await this.checkLoaderInitialized(),this.gltfLoader.parse(d,null,l=>{const w=E.getData("RTC_CENTER");w?(this.tempMatrix.makeTranslation(w[0],w[1],w[2]),l.scene.applyMatrix4(this.tempMatrix)):l.userData.gltfExtensions&&l.userData.gltfExtensions.CESIUM_RTC&&(this.tempMatrix.makeTranslation(l.userData.gltfExtensions.CESIUM_RTC.center[0],l.userData.gltfExtensions.CESIUM_RTC.center[1],l.userData.gltfExtensions.CESIUM_RTC.center[2]),l.scene.applyMatrix4(this.tempMatrix)),e&&l.scene.applyMatrix4(i.zUpToYUpMatrix),l.scene.asset=l.asset,l.scene.traverse(k=>{k.isMesh&&(t&&k.applyMatrix4(i.zUpToYUpMatrix),a&&a(k))}),b(l.scene)},l=>{console.error(l)})})}checkLoaderInitialized=async()=>new Promise(A=>{const a=setInterval(()=>{this.gltfLoader.hasDracoLoader&&!this.gltfLoader.dracoLoader||this.gltfLoader.hasKTX2Loader&&!this.gltfLoader.ktx2Loader||(clearInterval(a),A())},10)});parseB3DMInstanced(A,a,e,t,i){return this.parseB3DM(A,a,t,i).then(I=>{let B,r=[],o=[];I.updateWorldMatrix(!1,!0),I.traverse(C=>{C.isMesh&&(C.geometry.applyMatrix4(C.matrixWorld),r.push(C.geometry),o.push(C.material))});let n=function(C){let Q=new Set;return C.forEach(s=>{for(let c in s.attributes)Q.add(c)}),C.forEach(s=>{Q.forEach(c=>{if(!s.attributes[c]){const d=function(h){switch(h){case"position":case"normal":case"color":return 3;case"uv":case"uv2":return 2;default:throw new Error(`Unknown attribute ${h}`)}}(c),b=new Float32Array(d*s.getAttribute("position").count).fill(0);s.setAttribute(c,new z.BufferAttribute(b,d))}})}),function(s,c=!1){const d=s[0].index!==null,b=new Set(Object.keys(s[0].attributes)),h=new Set(Object.keys(s[0].morphAttributes)),l={},w={},k=s[0].morphTargetsRelative,M=new f.BufferGeometry;let N=0;for(let m=0;m<s.length;++m){const G=s[m];let L=0;if(d!==(G.index!==null))return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index "+m+". All geometries must have compatible attributes; make sure index attribute exists among all geometries, or in none of them."),null;for(const x in G.attributes){if(!b.has(x))return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index "+m+'. All geometries must have compatible attributes; make sure "'+x+'" attribute exists among all geometries, or in none of them.'),null;l[x]===void 0&&(l[x]=[]),l[x].push(G.attributes[x]),L++}if(L!==b.size)return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index "+m+". Make sure all geometries have the same number of attributes."),null;if(k!==G.morphTargetsRelative)return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index "+m+". .morphTargetsRelative must be consistent throughout all geometries."),null;for(const x in G.morphAttributes){if(!h.has(x))return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index "+m+". .morphAttributes must be consistent throughout all geometries."),null;w[x]===void 0&&(w[x]=[]),w[x].push(G.morphAttributes[x])}if(c){let x;if(d)x=G.index.count;else{if(G.attributes.position===void 0)return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed with geometry at index "+m+". The geometry must have either an index or a position attribute"),null;x=G.attributes.position.count}M.addGroup(N,x,m),N+=x}}if(d){let m=0;const G=[];for(let L=0;L<s.length;++L){const x=s[L].index;for(let W=0;W<x.count;++W)G.push(x.getX(W)+m);m+=s[L].attributes.position.count}M.setIndex(G)}for(const m in l){const G=Ot(l[m]);if(!G)return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed while trying to merge the "+m+" attribute."),null;M.setAttribute(m,G)}for(const m in w){const G=w[m][0].length;if(G===0)break;M.morphAttributes=M.morphAttributes||{},M.morphAttributes[m]=[];for(let L=0;L<G;++L){const x=[];for(let X=0;X<w[m].length;++X)x.push(w[m][X][L]);const W=Ot(x);if(!W)return console.error("THREE.BufferGeometryUtils: .mergeGeometries() failed while trying to merge the "+m+" morphAttribute."),null;M.morphAttributes[m].push(W)}}return M}(C,!0)}(r);return B=new z.InstancedMesh(n,o,e),B.baseMatrix=new z.Matrix4().identity(),B})}}async function sB(g={}){var A,a,e=g,t=typeof window=="object",i=typeof WorkerGlobalScope<"u",I=typeof process=="object"&&((A=process.versions)==null?void 0:A.node)&&process.type!="renderer";if(I){const{createRequire:D}=await Promise.resolve().then(()=>bB);var B=D(typeof document>"u"?require("url").pathToFileURL(__filename).href:ce&&ce.tagName.toUpperCase()==="SCRIPT"&&ce.src||new URL("threedtiles.cjs.js",document.baseURI).href)}var r,o="./this.program",n=typeof document>"u"?require("url").pathToFileURL(__filename).href:ce&&ce.tagName.toUpperCase()==="SCRIPT"&&ce.src||new URL("threedtiles.cjs.js",document.baseURI).href;if(I){var C=B("fs");n.startsWith("file:")&&B("path").dirname(B("url").fileURLToPath(n)),r=D=>(D=X(D)?new URL(D):D,C.readFileSync(D)),1<process.argv.length&&(o=process.argv[1].replace(/\\/g,"/")),process.argv.slice(2)}else if(t||i){try{new URL(".",n)}catch{}i&&(r=D=>{var u=new XMLHttpRequest;return u.open("GET",D,!1),u.responseType="arraybuffer",u.send(null),new Uint8Array(u.response)})}var Q,E,s,c,d,b,h,l,w,k,M,N,m,G,L=console.log.bind(console),x=console.error.bind(console),W=!1,X=D=>D.startsWith("file://"),eA=!1;function AA(){var D=c.buffer;d=new Int8Array(D),h=new Int16Array(D),e.HEAPU8=b=new Uint8Array(D),l=new Uint16Array(D),w=new Int32Array(D),k=new Uint32Array(D),e.HEAPF32=M=new Float32Array(D),N=new Float64Array(D),m=new BigInt64Array(D),G=new BigUint64Array(D)}var Z,nA=0,bA=null;function cA(D){var u;throw(u=e.onAbort)==null||u.call(e,D),x(D="Aborted("+D+")"),W=!0,D=new WebAssembly.RuntimeError(D+". Build with -sASSERTIONS for more info."),s?.(D),D}async function pA(D){var u=Z;try{var p=await async function(y){if(!ArrayBuffer.isView(y))if(y==Z&&Q)y=new Uint8Array(Q);else{if(!r)throw"both async and sync fetching of the wasm failed";y=r(y)}return y}(u);return await WebAssembly.instantiate(p,D)}catch(y){x(`failed to asynchronously prepare wasm: ${y}`),cA(y)}}var fA=D=>{for(;0<D.length;)D.shift()(e)},oA=[],MA=[],BA=()=>{var D=e.preRun.shift();MA.push(D)},CA={},uA=D=>{for(;D.length;){var u=D.pop();D.pop()(u)}};function yA(D){return this.N(k[D>>2])}var FA={},NA={},WA={},VA=class extends Error{constructor(D){super(D),this.name="InternalError"}},ra=(D,u,p)=>{function y(O){if((O=p(O)).length!==D.length)throw new VA("Mismatched type converter count");for(var aA=0;aA<D.length;++aA)R(D[aA],O[aA])}D.forEach(O=>WA[O]=u);var S=Array(u.length),q=[],v=0;u.forEach((O,aA)=>{NA.hasOwnProperty(O)?S[aA]=NA[O]:(q.push(O),FA.hasOwnProperty(O)||(FA[O]=[]),FA[O].push(()=>{S[aA]=NA[O],++v===q.length&&y(S)}))}),q.length===0&&y(S)},YA=D=>{for(var u="";;){var p=b[D++];if(!p)return u;u+=String.fromCharCode(p)}},QA=class extends Error{constructor(D){super(D),this.name="BindingError"}},F=D=>{throw new QA(D)};function R(D,u,p={}){return function(y,S,q={}){var v=S.name;if(!y)throw new QA(`type "${v}" must have a positive integer typeid pointer`);if(NA.hasOwnProperty(y)){if(q.wa)return;throw new QA(`Cannot register type '${v}' twice`)}NA[y]=S,delete WA[y],FA.hasOwnProperty(y)&&(S=FA[y],delete FA[y],S.forEach(O=>O()))}(D,u,p)}var U=(D,u,p)=>{switch(u){case 1:return p?y=>d[y]:y=>b[y];case 2:return p?y=>h[y>>1]:y=>l[y>>1];case 4:return p?y=>w[y>>2]:y=>k[y>>2];case 8:return p?y=>m[y>>3]:y=>G[y>>3];default:throw new TypeError(`invalid integer width (${u}): ${D}`)}},j=D=>{throw new QA(D.L.P.M.name+" instance already deleted")},H=!1,T=()=>{},V=D=>typeof FinalizationRegistry>"u"?(V=u=>u,D):(H=new FinalizationRegistry(u=>{--(u=u.L).count.value,u.count.value===0&&(u.S?u.W.Y(u.S):u.P.M.Y(u.O))}),V=u=>{var p=u.L;return p.S&&H.register(u,{L:p},u),u},T=u=>{H.unregister(u)},V(D));function K(){}var $=(D,u)=>Object.defineProperty(u,"name",{value:D}),P={},DA=(D,u,p)=>{if(D[u].R===void 0){var y=D[u];D[u]=function(...S){if(!D[u].R.hasOwnProperty(S.length))throw new QA(`Function '${p}' called with an invalid number of arguments (${S.length}) - expects one of (${D[u].R})!`);return D[u].R[S.length].apply(this,S)},D[u].R=[],D[u].R[y.aa]=y}},hA=(D,u,p)=>{if(e.hasOwnProperty(D)){if(p===void 0||e[D].R!==void 0&&e[D].R[p]!==void 0)throw new QA(`Cannot register public name '${D}' twice`);if(DA(e,D,D),e[D].R.hasOwnProperty(p))throw new QA(`Cannot register multiple overloads of a function with the same number of arguments (${p})!`);e[D].R[p]=u}else e[D]=u,e[D].aa=p};function xA(D,u,p,y,S,q,v,O){this.name=D,this.constructor=u,this.$=p,this.Y=y,this.U=S,this.ra=q,this.ea=v,this.pa=O,this.ya=[]}var OA=(D,u,p)=>{for(;u!==p;){if(!u.ea)throw new QA(`Expected null or instance of ${p.name}, got an instance of ${u.name}`);D=u.ea(D),u=u.U}return D},ia=D=>{if(D===null)return"null";var u=typeof D;return u==="object"||u==="array"||u==="function"?D.toString():""+D};function oa(D,u){if(u===null){if(this.ha)throw new QA(`null is not a valid ${this.name}`);return 0}if(!u.L)throw new QA(`Cannot pass "${ia(u)}" as a ${this.name}`);if(!u.L.O)throw new QA(`Cannot pass deleted object as a pointer of type ${this.name}`);return OA(u.L.O,u.L.P.M,this.M)}function la(D,u){if(u===null){if(this.ha)throw new QA(`null is not a valid ${this.name}`);if(this.ga){var p=this.ia();return D!==null&&D.push(this.Y,p),p}return 0}if(!u||!u.L)throw new QA(`Cannot pass "${ia(u)}" as a ${this.name}`);if(!u.L.O)throw new QA(`Cannot pass deleted object as a pointer of type ${this.name}`);if(!this.fa&&u.L.P.fa)throw new QA(`Cannot convert argument of type ${u.L.W?u.L.W.name:u.L.P.name} to parameter type ${this.name}`);if(p=OA(u.L.O,u.L.P.M,this.M),this.ga){if(u.L.S===void 0)throw new QA("Passing raw pointer to smart pointer is illegal");switch(this.Da){case 0:if(u.L.W!==this)throw new QA(`Cannot convert argument of type ${u.L.W?u.L.W.name:u.L.P.name} to parameter type ${this.name}`);p=u.L.S;break;case 1:p=u.L.S;break;case 2:if(u.L.W===this)p=u.L.S;else{var y=u.clone();p=this.za(p,xe(()=>y.delete())),D!==null&&D.push(this.Y,p)}break;default:throw new QA("Unsupporting sharing policy")}}return p}function Ja(D,u){if(u===null){if(this.ha)throw new QA(`null is not a valid ${this.name}`);return 0}if(!u.L)throw new QA(`Cannot pass "${ia(u)}" as a ${this.name}`);if(!u.L.O)throw new QA(`Cannot pass deleted object as a pointer of type ${this.name}`);if(u.L.P.fa)throw new QA(`Cannot convert argument of type ${u.L.P.name} to parameter type ${this.name}`);return OA(u.L.O,u.L.P.M,this.M)}var Ae=(D,u,p)=>u===p?D:p.U===void 0||(D=Ae(D,u,p.U))===null?null:p.pa(D),Ng={},Ce=(D,u)=>{if(!u.P||!u.O)throw new VA("makeClassHandle requires ptr and ptrType");if(!!u.W!=!!u.S)throw new VA("Both smartPtrType and smartPtr must be specified");return u.count={value:1},V(Object.create(D,{L:{value:u,writable:!0}}))};function Ee(D,u,p,y,S,q,v,O,aA,tA,gA){this.name=D,this.M=u,this.ha=p,this.fa=y,this.ga=S,this.xa=q,this.Da=v,this.na=O,this.ia=aA,this.za=tA,this.Y=gA,S||u.U!==void 0?this.T=la:(this.T=y?oa:Ja,this.V=null)}var Oe,Pe=(D,u,p)=>{if(!e.hasOwnProperty(D))throw new VA("Replacing nonexistent public symbol");e[D].R!==void 0&&p!==void 0?e[D].R[p]=u:(e[D]=u,e[D].aa=p)},Ca=(D,u)=>{D=YA(D);var p=Oe.get(u);if(typeof p!="function")throw new QA(`unknown function pointer with signature ${D}: ${u}`);return p};class Gg extends Error{}var ze=D=>{D=vt(D);var u=YA(D);return Ka(D),u},Qe=(D,u)=>{var p=[],y={};throw u.forEach(function S(q){y[q]||NA[q]||(WA[q]?WA[q].forEach(S):(p.push(q),y[q]=!0))}),new Gg(`${D}: `+p.map(ze).join([", "]))},Re=(D,u)=>{for(var p=[],y=0;y<D;y++)p.push(k[u+4*y>>2]);return p};function We(D){for(var u=1;u<D.length;++u)if(D[u]!==null&&D[u].V===void 0)return!0;return!1}function Ne(D,u,p,y,S,q){var v=u.length;if(2>v)throw new QA("argTypes array size mismatch! Must at least get return value and 'this' types!");var O=u[1]!==null&&p!==null,aA=We(u);p=!u[0].ma;var tA=u[0],gA=u[1];for(y=[D,F,y,S,uA,tA.N.bind(tA),gA?.T.bind(gA)],S=2;S<v;++S)tA=u[S],y.push(tA.T.bind(tA));if(!aA)for(S=O?1:2;S<u.length;++S)u[S].V!==null&&y.push(u[S].V);for(aA=We(u),S=u.length-2,gA=[],tA=["fn"],O&&tA.push("thisWired"),v=0;v<S;++v)gA.push(`arg${v}`),tA.push(`arg${v}Wired`);gA=gA.join(","),tA=tA.join(","),gA=`return function (${gA}) {
|
|
7
|
+
`,aA&&(gA+=`var destructors = [];
|
|
8
|
+
`);var mA=aA?"destructors":"null",Qa="humanName throwBindingError invoker fn runDestructors fromRetWire toClassParamWire".split(" ");for(O&&(gA+=`var thisWired = toClassParamWire(${mA}, this);
|
|
9
|
+
`),v=0;v<S;++v){var aa=`toArg${v}Wire`;gA+=`var arg${v}Wired = ${aa}(${mA}, arg${v});
|
|
10
|
+
`,Qa.push(aa)}if(gA+=(p||q?"var rv = ":"")+`invoker(${tA});
|
|
11
|
+
`,aA)gA+=`runDestructors(destructors);
|
|
12
|
+
`;else for(v=O?1:2;v<u.length;++v)q=v===1?"thisWired":"arg"+(v-2)+"Wired",u[v].V!==null&&(gA+=`${q}_dtor(${q});
|
|
13
|
+
`,Qa.push(`${q}_dtor`));return p&&(gA+=`var ret = fromRetWire(rv);
|
|
14
14
|
return ret;
|
|
15
|
-
`),u=new Function(
|
|
16
|
-
`)(...p),$(D,u)}for(var Ge,Ve=D=>{const u=(D=D.trim()).indexOf("(");return u===-1?D:D.slice(0,u)},Xe=[],va=[0,1,,1,null,1,!0,1,!1,1],Se=D=>{9<D&&--va[D+1]==0&&(va[D]=void 0,Xe.push(D))},Ue=D=>{if(!D)throw new EA(`Cannot use deleted val. handle = ${D}`);return va[D]},xe=D=>{switch(D){case void 0:return 2;case null:return 4;case!0:return 6;case!1:return 8;default:const u=Xe.pop()||va.length;return va[u]=D,va[u+1]=1,u}},Ze={name:"emscripten::val",N:D=>{var u=Ue(D);return Se(D),u},T:(D,u)=>xe(u),X:pA,V:null},St=(D,u,y)=>{switch(u){case 1:return y?function(p){return this.N(d[p])}:function(p){return this.N(b[p])};case 2:return y?function(p){return this.N(h[p>>1])}:function(p){return this.N(l[p>>1])};case 4:return y?function(p){return this.N(w[p>>2])}:function(p){return this.N(M[p>>2])};default:throw new TypeError(`invalid integer width (${u}): ${D}`)}},_e=(D,u)=>{var y=NA[D];if(y===void 0)throw D=`${u} has unknown type ${ze(D)}`,new EA(D);return y},Ut=(D,u)=>{switch(u){case 4:return function(y){return this.N(k[y>>2])};case 8:return function(y){return this.N(N[y>>3])};default:throw new TypeError(`invalid float width (${u}): ${D}`)}},xt=Object.assign({optional:!0},Ze),Ja=(D,u,y)=>{var p=b;if(!(0<y))return 0;var S=u;y=u+y-1;for(var T=0;T<D.length;++T){var J=D.codePointAt(T);if(127>=J){if(u>=y)break;p[u++]=J}else if(2047>=J){if(u+1>=y)break;p[u++]=192|J>>6,p[u++]=128|63&J}else if(65535>=J){if(u+2>=y)break;p[u++]=224|J>>12,p[u++]=128|J>>6&63,p[u++]=128|63&J}else{if(u+3>=y)break;p[u++]=240|J>>18,p[u++]=128|J>>12&63,p[u++]=128|J>>6&63,p[u++]=128|63&J,T++}}return p[u]=0,u-S},$e=D=>{for(var u=0,y=0;y<D.length;++y){var p=D.charCodeAt(y);127>=p?u++:2047>=p?u+=2:55296<=p&&57343>=p?(u+=4,++y):u+=3}return u},At=new TextDecoder,Le=(D,u,y,p)=>{if(y=u+y,p)return y;for(;D[u]&&!(u>=y);)++u;return u},ae=new TextDecoder("utf-16le"),QA=(D,u,y)=>(D>>=1,ae.decode(l.subarray(D,Le(l,D,u/2,y)))),Ca=(D,u,y)=>{if(y??(y=2147483647),2>y)return 0;var p=u;y=(y-=2)<2*D.length?y/2:D.length;for(var S=0;S<y;++S)h[u>>1]=D.charCodeAt(S),u+=2;return h[u>>1]=0,u-p},je=D=>2*D.length,Ha=(D,u,y)=>{var p="";D>>=2;for(var S=0;!(S>=u/4);S++){var T=M[D+S];if(!T&&!y)break;p+=String.fromCodePoint(T)}return p},ee=(D,u,y)=>{if(y??(y=2147483647),4>y)return 0;var p=u;y=p+y-4;for(var S=0;S<D.length;++S){var T=D.codePointAt(S);if(65535<T&&S++,w[u>>2]=T,(u+=4)+4>y)break}return w[u>>2]=0,u-p},Lt=D=>{for(var u=0,y=0;y<D.length;++y)65535<D.codePointAt(y)&&y++,u+=4;return u},jt=[],gr=(D,u,y)=>{var p=[];return D=D(p,y),p.length&&(M[u>>2]=xe(p)),D},ir={},Ir=D=>{var u=ir[D];return u===void 0?YA(D):u},vt={},vg=()=>{if(!Ge){var D,u={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:(typeof navigator=="object"&&navigator.language||"C").replace("-","_")+".UTF-8",_:B||"./this.program"};for(D in vt)vt[D]===void 0?delete u[D]:u[D]=vt[D];var y=[];for(D in u)y.push(`${D}=${u[D]}`);Ge=y}return Ge},rr=[null,[],[]],Ra=new Uint8Array(123),Ya=25;0<=Ya;--Ya)Ra[48+Ya]=52+Ya,Ra[65+Ya]=Ya,Ra[97+Ya]=26+Ya;Ra[43]=62,Ra[47]=63,(()=>{let D=K.prototype;Object.assign(D,{isAliasOf:function(y){if(!(this instanceof K&&y instanceof K))return!1;var p=this.L.P.M,S=this.L.O;y.L=y.L;var T=y.L.P.M;for(y=y.L.O;p.U;)S=p.ea(S),p=p.U;for(;T.U;)y=T.ea(y),T=T.U;return p===T&&S===y},clone:function(){if(this.L.O||v(this),this.L.da)return this.L.count.value+=1,this;var y=V,p=Object,S=p.create,T=Object.getPrototypeOf(this),J=this.L;return(y=y(S.call(p,T,{L:{value:{count:J.count,ba:J.ba,da:J.da,O:J.O,P:J.P,S:J.S,W:J.W}}}))).L.count.value+=1,y.L.ba=!1,y},delete(){if(this.L.O||v(this),this.L.ba&&!this.L.da)throw new EA("Object already scheduled for deletion");q(this);var y=this.L;--y.count.value,y.count.value===0&&(y.S?y.W.Y(y.S):y.P.M.Y(y.O)),this.L.da||(this.L.S=void 0,this.L.O=void 0)},isDeleted:function(){return!this.L.O},deleteLater:function(){if(this.L.O||v(this),this.L.ba&&!this.L.da)throw new EA("Object already scheduled for deletion");return this.L.ba=!0,this}});const u=Symbol.dispose;u&&(D[u]=D.delete)})(),Object.assign(Ce.prototype,{sa(D){return this.na&&(D=this.na(D)),D},ka(D){var u;(u=this.Y)==null||u.call(this,D)},X:pA,N:function(D){function u(){return this.ga?se(this.M.$,{P:this.xa,O:y,W:this,S:D}):se(this.M.$,{P:this,O:D})}var y=this.sa(D);if(!y)return this.ka(D),null;var p=((T,J)=>{if(J===void 0)throw new EA("ptr should not be undefined");for(;T.U;)J=T.ea(J),T=T.U;return Nt[J]})(this.M,y);if(p!==void 0)return p.L.count.value===0?(p.L.O=y,p.L.S=D,p.clone()):(p=p.clone(),this.ka(D),p);if(p=this.M.ra(y),!(p=P[p]))return u.call(this);p=this.fa?p.oa:p.pointerType;var S=Ae(y,this.M,p.M);return S===null?u.call(this):this.ga?se(p.M.$,{P:p,O:S,W:this,S:D}):se(p.M.$,{P:p,O:S})}}),e.print&&(L=e.print),e.printErr&&(x=e.printErr),e.wasmBinary&&(E=e.wasmBinary),e.thisProgram&&(B=e.thisProgram);var Jg,Jt,Ka,nr={x:()=>cA(""),q:D=>{var u=sA[D];delete sA[D];var y=u.ia,p=u.Y,S=u.la,T=S.map(J=>J.va).concat(S.map(J=>J.Ba));oa([D],T,J=>{var O={};return S.forEach((aA,gA)=>{var tA=J[gA],FA=aA.ta,Ea=aA.ua,aa=J[gA+S.length],KA=aA.Aa,ea=aA.Ca;O[aA.qa]={read:Na=>tA.N(FA(Ea,Na)),write:(Na,ve)=>{var Ta=[];KA(ea,Na,aa.T(Ta,ve)),uA(Ta)},optional:J[gA].optional}}),[{name:u.name,N:aA=>{var gA,tA={};for(gA in O)tA[gA]=O[gA].read(aA);return p(aA),tA},T:(aA,gA)=>{for(var tA in O)if(!(tA in gA)&&!O[tA].optional)throw new TypeError(`Missing field: "${tA}"`);var FA=y();for(tA in O)O[tA].write(FA,gA[tA]);return aA!==null&&aA.push(p,FA),FA},X:pA,V:p}]})},n:(D,u,y,p,S)=>{u=YA(u);let T=J=>J;if(p=p===0n){const J=8*y;T=O=>BigInt.asUintN(J,O),S=T(S)}R(D,{name:u,N:T,T:(J,O)=>(typeof O=="number"&&(O=BigInt(O)),O),X:U(u,y,!p),V:null})},B:(D,u,y,p)=>{R(D,{name:u=YA(u),N:function(S){return!!S},T:function(S,T){return T?y:p},X:function(S){return this.N(b[S])},V:null})},j:(D,u,y,p,S,T,J,O,aA,gA,tA,FA,Ea)=>{tA=YA(tA),T=sa(S,T),O&&(O=sa(J,O)),gA&&(gA=sa(aA,gA)),Ea=sa(FA,Ea);var aa=(KA=>{var ea=(KA=KA.replace(/[^a-zA-Z0-9_]/g,"$")).charCodeAt(0);return 48<=ea&&57>=ea?`_${KA}`:KA})(tA);hA(aa,function(){Ee(`Cannot construct ${tA} due to unbound types`,[p])}),oa([D,u,y],p?[p]:[],KA=>{if(KA=KA[0],p)var ea=KA.M,Na=ea.$;else Na=K.prototype;KA=$(tA,function(...Ht){if(Object.getPrototypeOf(this)!==ve)throw new EA(`Use 'new' to construct ${tA}`);if(ya.Z===void 0)throw new EA(`${tA} has no accessible constructor`);var Hg=ya.Z[Ht.length];if(Hg===void 0)throw new EA(`Tried to invoke ctor of ${tA} with invalid number of parameters (${Ht.length}) - expected (${Object.keys(ya.Z).toString()}) parameters instead!`);return Hg.apply(this,Ht)});var ve=Object.create(Na,{constructor:{value:KA}});KA.prototype=ve;var Ta,ya=new xA(tA,KA,ve,Ea,ea,T,O,gA);return ya.U&&((Ta=ya.U).ja??(Ta.ja=[]),ya.U.ja.push(ya)),ea=new Ce(tA,ya,!0,!1,!1),Ta=new Ce(tA+"*",ya,!1,!1,!1),Na=new Ce(tA+" const*",ya,!1,!0,!1),P[D]={pointerType:Ta,oa:Na},Pe(aa,KA),[ea,Ta,Na]})},g:(D,u,y,p,S,T)=>{var J=Re(u,y);S=sa(p,S),oa([],[D],O=>{var aA=`constructor ${(O=O[0]).name}`;if(O.M.Z===void 0&&(O.M.Z=[]),O.M.Z[u-1]!==void 0)throw new EA(`Cannot register multiple constructors with identical number of parameters (${u-1}) for class '${O.name}'! Overload resolution is currently only performed using the parameter count, not actual type info!`);return O.M.Z[u-1]=()=>{Ee(`Cannot construct ${O.name} due to unbound types`,J)},oa([],J,gA=>(gA.splice(1,0,null),O.M.Z[u-1]=Ne(aA,gA,null,S,T),[])),[]})},b:(D,u,y,p,S,T,J,O,aA)=>{var gA=Re(y,p);u=YA(u),u=Ve(u),T=sa(S,T),oa([],[D],tA=>{function FA(){Ee(`Cannot call ${Ea} due to unbound types`,gA)}var Ea=`${(tA=tA[0]).name}.${u}`;u.startsWith("@@")&&(u=Symbol[u.substring(2)]),O&&tA.M.ya.push(u);var aa=tA.M.$,KA=aa[u];return KA===void 0||KA.R===void 0&&KA.className!==tA.name&&KA.aa===y-2?(FA.aa=y-2,FA.className=tA.name,aa[u]=FA):(DA(aa,u,Ea),aa[u].R[y-2]=FA),oa([],gA,ea=>(ea=Ne(Ea,ea,tA,T,J,aA),aa[u].R===void 0?(ea.aa=y-2,aa[u]=ea):aa[u].R[y-2]=ea,[])),[]})},z:D=>R(D,Ze),r:(D,u,y,p)=>{function S(){}u=YA(u),S.values={},R(D,{name:u,constructor:S,N:function(T){return this.constructor.values[T]},T:(T,J)=>J.value,X:St(u,y,p),V:null}),hA(u,S)},d:(D,u,y)=>{var p=_e(D,"enum");u=YA(u),D=p.constructor,p=Object.create(p.constructor.prototype,{value:{value:y},constructor:{value:$(`${p.name}_${u}`,function(){})}}),D.values[y]=p,D[u]=p},m:(D,u,y)=>{R(D,{name:u=YA(u),N:p=>p,T:(p,S)=>S,X:Ut(u,y),V:null})},l:(D,u,y,p,S,T,J)=>{var O=Re(u,y);D=YA(D),D=Ve(D),S=sa(p,S),hA(D,function(){Ee(`Cannot call ${D} due to unbound types`,O)},u-1),oa([],O,aA=>(aA=[aA[0],null].concat(aA.slice(1)),Pe(D,Ne(D,aA,null,S,T,J),u-1),[]))},c:(D,u,y,p,S)=>{u=YA(u);let T=O=>O;if(p===0){var J=32-8*y;T=O=>O<<J>>>J,S=T(S)}R(D,{name:u,N:T,T:(O,aA)=>aA,X:U(u,y,p!==0),V:null})},a:(D,u,y)=>{function p(T){return new S(d.buffer,M[T+4>>2],M[T>>2])}var S=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,BigInt64Array,BigUint64Array][u];R(D,{name:y=YA(y),N:p,X:p},{wa:!0})},h:D=>{R(D,xt)},A:(D,u)=>{R(D,{name:u=YA(u),N(y){var p=(p=y+4)?At.decode(b.subarray(p,Le(b,p,M[y>>2],!0))):"";return Ka(y),p},T(y,p){p instanceof ArrayBuffer&&(p=new Uint8Array(p));var S=typeof p=="string";if(!(S||ArrayBuffer.isView(p)&&p.BYTES_PER_ELEMENT==1))throw new EA("Cannot pass non-string to std::string");var T=S?$e(p):p.length,J=Jt(4+T+1),O=J+4;return M[J>>2]=T,S?Ja(p,O,T+1):b.set(p,O),y!==null&&y.push(Ka,J),J},X:pA,V(y){Ka(y)}})},f:(D,u,y)=>{if(y=YA(y),u===2)var p=QA,S=Ca,T=je;else p=Ha,S=ee,T=Lt;R(D,{name:y,N:J=>{var O=p(J+4,M[J>>2]*u,!0);return Ka(J),O},T:(J,O)=>{if(typeof O!="string")throw new EA(`Cannot pass non-string to C++ string type ${y}`);var aA=T(O),gA=Jt(4+aA+u);return M[gA>>2]=aA/u,S(O,gA+4,aA+u),J!==null&&J.push(Ka,gA),gA},X:pA,V(J){Ka(J)}})},i:(D,u,y,p,S,T)=>{sA[D]={name:YA(u),ia:sa(y,p),Y:sa(S,T),la:[]}},e:(D,u,y,p,S,T,J,O,aA,gA)=>{sA[D].la.push({qa:YA(u),va:y,ta:sa(p,S),ua:T,Ba:J,Aa:sa(O,aA),Ca:gA})},C:(D,u)=>{R(D,{ma:!0,name:u=YA(u),N:()=>{},T:()=>{}})},p:(D,u,y)=>{var[p,...S]=((aA,gA)=>{for(var tA=Array(aA),FA=0;FA<aA;++FA)tA[FA]=_e(M[gA+4*FA>>2],`parameter ${FA}`);return tA})(D,u);u=p.T.bind(p);var T=S.map(aA=>aA.X.bind(aA));D--;var J={toValue:Ue};switch(D=T.map((aA,gA)=>{var tA=`argFromPtr${gA}`;return J[tA]=aA,`${tA}(args${gA?"+"+8*gA:""})`}),y){case 0:var O="toValue(handle)";break;case 2:O="new (toValue(handle))";break;case 3:O="";break;case 1:J.getStringOrSymbol=Ir,O="toValue(handle)[getStringOrSymbol(methodName)]"}return O+=`(${D})`,p.ma||(J.toReturnWire=u,J.emval_returnValue=gr,O=`return emval_returnValue(toReturnWire, destructorsRef, ${O})`),O=`return function (handle, methodName, destructorsRef, args) {
|
|
15
|
+
`),u=new Function(Qa,gA+`}
|
|
16
|
+
`)(...y),$(D,u)}for(var Ge,Ve=D=>{const u=(D=D.trim()).indexOf("(");return u===-1?D:D.slice(0,u)},Xe=[],ja=[0,1,,1,null,1,!0,1,!1,1],Se=D=>{9<D&&--ja[D+1]==0&&(ja[D]=void 0,Xe.push(D))},Ue=D=>{if(!D)throw new QA(`Cannot use deleted val. handle = ${D}`);return ja[D]},xe=D=>{switch(D){case void 0:return 2;case null:return 4;case!0:return 6;case!1:return 8;default:const u=Xe.pop()||ja.length;return ja[u]=D,ja[u+1]=1,u}},Ze={name:"emscripten::val",N:D=>{var u=Ue(D);return Se(D),u},T:(D,u)=>xe(u),X:yA,V:null},Sg=(D,u,p)=>{switch(u){case 1:return p?function(y){return this.N(d[y])}:function(y){return this.N(b[y])};case 2:return p?function(y){return this.N(h[y>>1])}:function(y){return this.N(l[y>>1])};case 4:return p?function(y){return this.N(w[y>>2])}:function(y){return this.N(k[y>>2])};default:throw new TypeError(`invalid integer width (${u}): ${D}`)}},_e=(D,u)=>{var p=NA[D];if(p===void 0)throw D=`${u} has unknown type ${ze(D)}`,new QA(D);return p},Ug=(D,u)=>{switch(u){case 4:return function(p){return this.N(M[p>>2])};case 8:return function(p){return this.N(N[p>>3])};default:throw new TypeError(`invalid float width (${u}): ${D}`)}},xg=Object.assign({optional:!0},Ze),va=(D,u,p)=>{var y=b;if(!(0<p))return 0;var S=u;p=u+p-1;for(var q=0;q<D.length;++q){var v=D.codePointAt(q);if(127>=v){if(u>=p)break;y[u++]=v}else if(2047>=v){if(u+1>=p)break;y[u++]=192|v>>6,y[u++]=128|63&v}else if(65535>=v){if(u+2>=p)break;y[u++]=224|v>>12,y[u++]=128|v>>6&63,y[u++]=128|63&v}else{if(u+3>=p)break;y[u++]=240|v>>18,y[u++]=128|v>>12&63,y[u++]=128|v>>6&63,y[u++]=128|63&v,q++}}return y[u]=0,u-S},$e=D=>{for(var u=0,p=0;p<D.length;++p){var y=D.charCodeAt(p);127>=y?u++:2047>=y?u+=2:55296<=y&&57343>=y?(u+=4,++p):u+=3}return u},Ag=new TextDecoder,Le=(D,u,p,y)=>{if(p=u+p,y)return p;for(;D[u]&&!(u>=p);)++u;return u},ae=new TextDecoder("utf-16le"),sA=(D,u,p)=>(D>>=1,ae.decode(l.subarray(D,Le(l,D,u/2,p)))),Ea=(D,u,p)=>{if(p??(p=2147483647),2>p)return 0;var y=u;p=(p-=2)<2*D.length?p/2:D.length;for(var S=0;S<p;++S)h[u>>1]=D.charCodeAt(S),u+=2;return h[u>>1]=0,u-y},Je=D=>2*D.length,Ha=(D,u,p)=>{var y="";D>>=2;for(var S=0;!(S>=u/4);S++){var q=k[D+S];if(!q&&!p)break;y+=String.fromCodePoint(q)}return y},ee=(D,u,p)=>{if(p??(p=2147483647),4>p)return 0;var y=u;p=y+p-4;for(var S=0;S<D.length;++S){var q=D.codePointAt(S);if(65535<q&&S++,w[u>>2]=q,(u+=4)+4>p)break}return w[u>>2]=0,u-y},Lg=D=>{for(var u=0,p=0;p<D.length;++p)65535<D.codePointAt(p)&&p++,u+=4;return u},Jg=[],IB=(D,u,p)=>{var y=[];return D=D(y,p),y.length&&(k[u>>2]=xe(y)),D},BB={},nB=D=>{var u=BB[D];return u===void 0?YA(D):u},jg={},jt=()=>{if(!Ge){var D,u={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:(typeof navigator=="object"&&navigator.language||"C").replace("-","_")+".UTF-8",_:o||"./this.program"};for(D in jg)jg[D]===void 0?delete u[D]:u[D]=jg[D];var p=[];for(D in u)p.push(`${D}=${u[D]}`);Ge=p}return Ge},rB=[null,[],[]],Ra=new Uint8Array(123),Ya=25;0<=Ya;--Ya)Ra[48+Ya]=52+Ya,Ra[65+Ya]=Ya,Ra[97+Ya]=26+Ya;Ra[43]=62,Ra[47]=63,(()=>{let D=K.prototype;Object.assign(D,{isAliasOf:function(p){if(!(this instanceof K&&p instanceof K))return!1;var y=this.L.P.M,S=this.L.O;p.L=p.L;var q=p.L.P.M;for(p=p.L.O;y.U;)S=y.ea(S),y=y.U;for(;q.U;)p=q.ea(p),q=q.U;return y===q&&S===p},clone:function(){if(this.L.O||j(this),this.L.da)return this.L.count.value+=1,this;var p=V,y=Object,S=y.create,q=Object.getPrototypeOf(this),v=this.L;return(p=p(S.call(y,q,{L:{value:{count:v.count,ba:v.ba,da:v.da,O:v.O,P:v.P,S:v.S,W:v.W}}}))).L.count.value+=1,p.L.ba=!1,p},delete(){if(this.L.O||j(this),this.L.ba&&!this.L.da)throw new QA("Object already scheduled for deletion");T(this);var p=this.L;--p.count.value,p.count.value===0&&(p.S?p.W.Y(p.S):p.P.M.Y(p.O)),this.L.da||(this.L.S=void 0,this.L.O=void 0)},isDeleted:function(){return!this.L.O},deleteLater:function(){if(this.L.O||j(this),this.L.ba&&!this.L.da)throw new QA("Object already scheduled for deletion");return this.L.ba=!0,this}});const u=Symbol.dispose;u&&(D[u]=D.delete)})(),Object.assign(Ee.prototype,{sa(D){return this.na&&(D=this.na(D)),D},ka(D){var u;(u=this.Y)==null||u.call(this,D)},X:yA,N:function(D){function u(){return this.ga?Ce(this.M.$,{P:this.xa,O:p,W:this,S:D}):Ce(this.M.$,{P:this,O:D})}var p=this.sa(D);if(!p)return this.ka(D),null;var y=((q,v)=>{if(v===void 0)throw new QA("ptr should not be undefined");for(;q.U;)v=q.ea(v),q=q.U;return Ng[v]})(this.M,p);if(y!==void 0)return y.L.count.value===0?(y.L.O=p,y.L.S=D,y.clone()):(y=y.clone(),this.ka(D),y);if(y=this.M.ra(p),!(y=P[y]))return u.call(this);y=this.fa?y.oa:y.pointerType;var S=Ae(p,this.M,y.M);return S===null?u.call(this):this.ga?Ce(y.M.$,{P:y,O:S,W:this,S:D}):Ce(y.M.$,{P:y,O:S})}}),e.print&&(L=e.print),e.printErr&&(x=e.printErr),e.wasmBinary&&(Q=e.wasmBinary),e.thisProgram&&(o=e.thisProgram);var vt,vg,Ka,oB={x:()=>cA(""),q:D=>{var u=CA[D];delete CA[D];var p=u.ia,y=u.Y,S=u.la,q=S.map(v=>v.va).concat(S.map(v=>v.Ba));ra([D],q,v=>{var O={};return S.forEach((aA,tA)=>{var gA=v[tA],mA=aA.ta,Qa=aA.ua,aa=v[tA+S.length],KA=aA.Aa,ea=aA.Ca;O[aA.qa]={read:Na=>gA.N(mA(Qa,Na)),write:(Na,je)=>{var qa=[];KA(ea,Na,aa.T(qa,je)),uA(qa)},optional:v[tA].optional}}),[{name:u.name,N:aA=>{var tA,gA={};for(tA in O)gA[tA]=O[tA].read(aA);return y(aA),gA},T:(aA,tA)=>{for(var gA in O)if(!(gA in tA)&&!O[gA].optional)throw new TypeError(`Missing field: "${gA}"`);var mA=p();for(gA in O)O[gA].write(mA,tA[gA]);return aA!==null&&aA.push(y,mA),mA},X:yA,V:y}]})},n:(D,u,p,y,S)=>{u=YA(u);let q=v=>v;if(y=y===0n){const v=8*p;q=O=>BigInt.asUintN(v,O),S=q(S)}R(D,{name:u,N:q,T:(v,O)=>(typeof O=="number"&&(O=BigInt(O)),O),X:U(u,p,!y),V:null})},B:(D,u,p,y)=>{R(D,{name:u=YA(u),N:function(S){return!!S},T:function(S,q){return q?p:y},X:function(S){return this.N(b[S])},V:null})},j:(D,u,p,y,S,q,v,O,aA,tA,gA,mA,Qa)=>{gA=YA(gA),q=Ca(S,q),O&&(O=Ca(v,O)),tA&&(tA=Ca(aA,tA)),Qa=Ca(mA,Qa);var aa=(KA=>{var ea=(KA=KA.replace(/[^a-zA-Z0-9_]/g,"$")).charCodeAt(0);return 48<=ea&&57>=ea?`_${KA}`:KA})(gA);hA(aa,function(){Qe(`Cannot construct ${gA} due to unbound types`,[y])}),ra([D,u,p],y?[y]:[],KA=>{if(KA=KA[0],y)var ea=KA.M,Na=ea.$;else Na=K.prototype;KA=$(gA,function(...Hg){if(Object.getPrototypeOf(this)!==je)throw new QA(`Use 'new' to construct ${gA}`);if(pa.Z===void 0)throw new QA(`${gA} has no accessible constructor`);var Ht=pa.Z[Hg.length];if(Ht===void 0)throw new QA(`Tried to invoke ctor of ${gA} with invalid number of parameters (${Hg.length}) - expected (${Object.keys(pa.Z).toString()}) parameters instead!`);return Ht.apply(this,Hg)});var je=Object.create(Na,{constructor:{value:KA}});KA.prototype=je;var qa,pa=new xA(gA,KA,je,Qa,ea,q,O,tA);return pa.U&&((qa=pa.U).ja??(qa.ja=[]),pa.U.ja.push(pa)),ea=new Ee(gA,pa,!0,!1,!1),qa=new Ee(gA+"*",pa,!1,!1,!1),Na=new Ee(gA+" const*",pa,!1,!0,!1),P[D]={pointerType:qa,oa:Na},Pe(aa,KA),[ea,qa,Na]})},g:(D,u,p,y,S,q)=>{var v=Re(u,p);S=Ca(y,S),ra([],[D],O=>{var aA=`constructor ${(O=O[0]).name}`;if(O.M.Z===void 0&&(O.M.Z=[]),O.M.Z[u-1]!==void 0)throw new QA(`Cannot register multiple constructors with identical number of parameters (${u-1}) for class '${O.name}'! Overload resolution is currently only performed using the parameter count, not actual type info!`);return O.M.Z[u-1]=()=>{Qe(`Cannot construct ${O.name} due to unbound types`,v)},ra([],v,tA=>(tA.splice(1,0,null),O.M.Z[u-1]=Ne(aA,tA,null,S,q),[])),[]})},b:(D,u,p,y,S,q,v,O,aA)=>{var tA=Re(p,y);u=YA(u),u=Ve(u),q=Ca(S,q),ra([],[D],gA=>{function mA(){Qe(`Cannot call ${Qa} due to unbound types`,tA)}var Qa=`${(gA=gA[0]).name}.${u}`;u.startsWith("@@")&&(u=Symbol[u.substring(2)]),O&&gA.M.ya.push(u);var aa=gA.M.$,KA=aa[u];return KA===void 0||KA.R===void 0&&KA.className!==gA.name&&KA.aa===p-2?(mA.aa=p-2,mA.className=gA.name,aa[u]=mA):(DA(aa,u,Qa),aa[u].R[p-2]=mA),ra([],tA,ea=>(ea=Ne(Qa,ea,gA,q,v,aA),aa[u].R===void 0?(ea.aa=p-2,aa[u]=ea):aa[u].R[p-2]=ea,[])),[]})},z:D=>R(D,Ze),r:(D,u,p,y)=>{function S(){}u=YA(u),S.values={},R(D,{name:u,constructor:S,N:function(q){return this.constructor.values[q]},T:(q,v)=>v.value,X:Sg(u,p,y),V:null}),hA(u,S)},d:(D,u,p)=>{var y=_e(D,"enum");u=YA(u),D=y.constructor,y=Object.create(y.constructor.prototype,{value:{value:p},constructor:{value:$(`${y.name}_${u}`,function(){})}}),D.values[p]=y,D[u]=y},m:(D,u,p)=>{R(D,{name:u=YA(u),N:y=>y,T:(y,S)=>S,X:Ug(u,p),V:null})},l:(D,u,p,y,S,q,v)=>{var O=Re(u,p);D=YA(D),D=Ve(D),S=Ca(y,S),hA(D,function(){Qe(`Cannot call ${D} due to unbound types`,O)},u-1),ra([],O,aA=>(aA=[aA[0],null].concat(aA.slice(1)),Pe(D,Ne(D,aA,null,S,q,v),u-1),[]))},c:(D,u,p,y,S)=>{u=YA(u);let q=O=>O;if(y===0){var v=32-8*p;q=O=>O<<v>>>v,S=q(S)}R(D,{name:u,N:q,T:(O,aA)=>aA,X:U(u,p,y!==0),V:null})},a:(D,u,p)=>{function y(q){return new S(d.buffer,k[q+4>>2],k[q>>2])}var S=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,BigInt64Array,BigUint64Array][u];R(D,{name:p=YA(p),N:y,X:y},{wa:!0})},h:D=>{R(D,xg)},A:(D,u)=>{R(D,{name:u=YA(u),N(p){var y=(y=p+4)?Ag.decode(b.subarray(y,Le(b,y,k[p>>2],!0))):"";return Ka(p),y},T(p,y){y instanceof ArrayBuffer&&(y=new Uint8Array(y));var S=typeof y=="string";if(!(S||ArrayBuffer.isView(y)&&y.BYTES_PER_ELEMENT==1))throw new QA("Cannot pass non-string to std::string");var q=S?$e(y):y.length,v=vg(4+q+1),O=v+4;return k[v>>2]=q,S?va(y,O,q+1):b.set(y,O),p!==null&&p.push(Ka,v),v},X:yA,V(p){Ka(p)}})},f:(D,u,p)=>{if(p=YA(p),u===2)var y=sA,S=Ea,q=Je;else y=Ha,S=ee,q=Lg;R(D,{name:p,N:v=>{var O=y(v+4,k[v>>2]*u,!0);return Ka(v),O},T:(v,O)=>{if(typeof O!="string")throw new QA(`Cannot pass non-string to C++ string type ${p}`);var aA=q(O),tA=vg(4+aA+u);return k[tA>>2]=aA/u,S(O,tA+4,aA+u),v!==null&&v.push(Ka,tA),tA},X:yA,V(v){Ka(v)}})},i:(D,u,p,y,S,q)=>{CA[D]={name:YA(u),ia:Ca(p,y),Y:Ca(S,q),la:[]}},e:(D,u,p,y,S,q,v,O,aA,tA)=>{CA[D].la.push({qa:YA(u),va:p,ta:Ca(y,S),ua:q,Ba:v,Aa:Ca(O,aA),Ca:tA})},C:(D,u)=>{R(D,{ma:!0,name:u=YA(u),N:()=>{},T:()=>{}})},p:(D,u,p)=>{var[y,...S]=((aA,tA)=>{for(var gA=Array(aA),mA=0;mA<aA;++mA)gA[mA]=_e(k[tA+4*mA>>2],`parameter ${mA}`);return gA})(D,u);u=y.T.bind(y);var q=S.map(aA=>aA.X.bind(aA));D--;var v={toValue:Ue};switch(D=q.map((aA,tA)=>{var gA=`argFromPtr${tA}`;return v[gA]=aA,`${gA}(args${tA?"+"+8*tA:""})`}),p){case 0:var O="toValue(handle)";break;case 2:O="new (toValue(handle))";break;case 3:O="";break;case 1:v.getStringOrSymbol=nB,O="toValue(handle)[getStringOrSymbol(methodName)]"}return O+=`(${D})`,y.ma||(v.toReturnWire=u,v.emval_returnValue=IB,O=`return emval_returnValue(toReturnWire, destructorsRef, ${O})`),O=`return function (handle, methodName, destructorsRef, args) {
|
|
17
17
|
${O}
|
|
18
|
-
}`,y=new Function(Object.keys(J),O)(...Object.values(J)),O=`methodCaller<(${S.map(aA=>aA.name)}) => ${p.name}>`,(aA=>{var gA=jt.length;return jt.push(aA),gA})($(O,y))},E:Se,o:(D,u,y,p,S)=>jt[D](u,y,p,S),D:D=>{var u=Ue(D);uA(u),Se(D)},s:(D,u,y,p)=>{var S=new Date().getFullYear(),T=new Date(S,0,1).getTimezoneOffset();S=new Date(S,6,1).getTimezoneOffset(),M[D>>2]=60*Math.max(T,S),w[u>>2]=+(T!=S),u=J=>{var O=Math.abs(J);return`UTC${0<=J?"-":"+"}${String(Math.floor(O/60)).padStart(2,"0")}${String(O%60).padStart(2,"0")}`},D=u(T),u=u(S),S<T?(Ja(D,y,17),Ja(u,p,17)):(Ja(D,p,17),Ja(u,y,17))},y:D=>{var u=b.length;if(2147483648<(D>>>=0))return!1;for(var y=1;4>=y;y*=2){var p=u*(1+.2/y);p=Math.min(p,D+100663296);A:{p=(Math.min(2147483648,65536*Math.ceil(Math.max(D,p)/65536))-c.buffer.byteLength+65535)/65536|0;try{c.grow(p),AA();var S=1;break A}catch{}S=void 0}if(S)return!0}return!1},t:(D,u)=>{var y,p=0,S=0;for(y of vg()){var T=u+p;M[D+S>>2]=T,p+=Ja(y,T,1/0)+1,S+=4}return 0},u:(D,u)=>{var y=vg();for(var p of(M[D>>2]=y.length,D=0,y))D+=$e(p)+1;return M[u>>2]=D,0},v:()=>52,w:function(){return 70},k:(D,u,y,p)=>{for(var S=0,T=0;T<y;T++){var J=M[u>>2],O=M[u+4>>2];u+=8;for(var aA=0;aA<O;aA++){var gA=D,tA=b[J+aA],FA=rr[gA];tA===0||tA===10?(gA=gA===1?L:x,tA=Le(FA,0),gA(tA=At.decode(FA.buffer?FA.subarray(0,tA):new Uint8Array(FA.slice(0,tA)))),FA.length=0):FA.push(tA)}S+=O}return M[p>>2]=S,0}},Qe=await async function(){var D;function u(p){var S;return Qe=p.exports,c=Qe.F,AA(),Oe=Qe.H,Jg=(p=Qe).I,e._malloc=Jt=p.J,e._free=Ka=p.K,nA--,(S=e.monitorRunDependencies)==null||S.call(e,nA),nA==0&&bA&&(p=bA,bA=null,p()),Qe}nA++,(D=e.monitorRunDependencies)==null||D.call(e,nA);var y={a:nr};return e.instantiateWasm?new Promise(p=>{e.instantiateWasm(y,(S,T)=>{p(u(S))})}):(Z??(Z=(p=>{if(I)return p=Buffer.from(p,"base64"),new Uint8Array(p.buffer,p.byteOffset,p.length);for(var S,T,J=0,O=0,aA=p.length,gA=new Uint8Array((3*aA>>2)-(p[aA-2]=="=")-(p[aA-1]=="="));J<aA;J+=4,O+=3)S=Ra[p.charCodeAt(J+1)],T=Ra[p.charCodeAt(J+2)],gA[O]=Ra[p.charCodeAt(J)]<<2|S>>4,gA[O+1]=S<<4|T>>2,gA[O+2]=T<<6|Ra[p.charCodeAt(J+3)];return gA})("AGFzbQEAAAAB2QM5YAF/AX9gAn9/AGABfwBgA39/fwF/YAJ/fwF/YAN/f38AYAZ/f39/f38Bf2AFf39/f38Bf2AEf39/fwBgBH9/f38Bf2AGf39/f39/AGAFf39/f38AYAAAYAh/f39/f39/fwF/YAd/f39/f39/AX9gAAF/YAV/fn5+fgBgCn9/f39/f39/f38AYAd/f39/f39/AGAFf39/f34Bf2AIf39/f39/f38AYAR/fn5/AGADf35/AX5gBX9/fn9/AGACf34AYAp/f39/f39/f39/AX9gDH9/f39/f39/f39/fwF/YAN/f38BfmAGf39/f35/AX9gD39/f39/f39/f39/f39/fwBgC39/f39/f39/f39/AX9gBH9/f38BfmAGf3x/f39/AX9gB39/f39/fn4Bf2AGf39/f35+AX9gBX9/f398AX9gDX9/f39/f39/f39/f38AYAV/f39+fgBgBX9/f39/AXxgBH9+f38Bf2ACf3wAYAR+fn5+AX9gAn5/AX9gBH9/f34BfmACfn4BfGABfwF8YAN/f38BfGADf39/AX1gA39/fgBgAn5+AX1gAn9/AX5gBH9+fn4AYAN+fn4Bf2ACfH8BfGAEf39/fQF/YAR/f399AGADf399AAK7AR8BYQFhAAUBYQFiABEBYQFjAAsBYQFkAAUBYQFlABEBYQFmAAUBYQFnAAoBYQFoAAEBYQFpAAoBYQFqACQBYQFrAAkBYQFsABQBYQFtAAUBYQFuACUBYQFvACYBYQFwAAMBYQFxAAIBYQFyAAgBYQFzAAgBYQF0AAQBYQF1AAQBYQF2AAABYQF3ACcBYQF4AAwBYQF5AAABYQF6AAIBYQFBAAEBYQFCAAgBYQFDAAEBYQFEAAIBYQFFAAIDjQWLBQAAAQQAAAIAAQABAQQEAg8QAgAEBQACAwAAAAIDAQwAABAEBQgVCwAAAAAQBAAFAAEBAwQAAAQBAQEAAAwBAQADAwACBBgFBQcHAwAAKA0NCAEDAQABAAQAAAgEAQEAAAwGBAQBAQYDKQUAFQMMAAQBAAEBBQQEBwMZABkAAQABAAQBBAABACoBAAEHAQAFBAUBAAgDBAIECwEUAgIBAAACCQABBAAACQEJAwcIBA4EDgQJCQQAAQABAAACAQQAAgADAgAGAQoFCAQFAQwAAAMBBAAABAsEAgACAxoLAAMaCwgCGwArAQAJEAAEAgIDAgAABBgBACwEAQUtAQIMAAgCBBwGHAYACQkBBAwIAwECFAUFBQAEBAIABQACBQ8FAwUFAAIAAAcNDQcNDQUABw0EAAQCAgIBAAIBAQIAAwMdEQMBHREAAAADCwEeAQAABQEeAQEBCgsKCgsKCg8AAxICEgcJBxIJBwkHCRIDBgMILgwvHwkGCR8JAQUbCQAABwQCAAQEAzAxMggQEBUzNAEAAAAAAAMEAAEFAQUBAAACAQgCBAAAAgICBAAMAgQDCAAOBzUAAQMAAAkDCAU2Azc4CgoKCwsLAwgICAMCDwIAAgACAAIAAgUAAgACAAIAAgACBAACAAIAAgACAAUBAQEBAQEAAAIEAgAHAAcNDQIHBwMJAwQDBAIHAwkDBAMEAgkJCQMCAg8DCgoGIQUGIQUODgEADg4DDg4NBQYGBgYGBQ0GBgYGBgciIxMHEwcHAAciBCMTBxMJBwcGBgYGBgYGBgYGBgYGBgAGBgYIAQYDCAcDCAcDAwICAAIACAIXBAQAAAACAgAAAgACAAMAAAMIFwMCABYBIBYDDAQHAXABgAOAAwUHAQGCAoCAAgYIAX8BQfD+BQsHGwYBRgIAAUcAqQUBSAEAAUkA1gMBSgA0AUsALQm/BQEAQQEL/wKQA/sE9wTmBOEE3gT/AvsC/ATPBGvJBMUEwgT/AvsCwQS+BNcDuwS2BLUErgTPAssClQSLBIEE9gPsAzDPAssCpQLfA94DoALdA9wDpQLbA9oDoALZA9gDnALVA9QDRqgFpwWmBaUFlAKiBZMCoQWgBZ8FRkaeBZ0FnAXIA5sFyAOQAsYDmgWZBY8CwQOYBZcF2AGOApYFlAWVBZMF/AGMBY0FiwWQBY8FjgWxAYwCigWJBYgFhwWJAoYFhQWEBS3hAdICiQSHBIUEgwSABP4D/AP6A/gD9QPzA/ED7wPtA9YCtASzBNACpgSlBKQEowSiBNECoQSgBJ8E2wKdBJwEmwSaBJkERpgElwTEApYEkwSSBJEEjwSNBMMClASSBZEFkASOBIwEiQEwMLIEsQSwBK8ErQSsBKsEqgTRAqkEqASnBDDOAs4CqgHiAeIBngTiATDKAskCqgFGRsgCvgEwygLJAqoBRkbIAr4BMMcCxgKqAUZGxQK+ATDHAsYCqgFGRsUCvgGJATCDBYIFgQWJATCABf8E/gQw/QT6BPkE+ASUA5QD9gT1BPQE8wTyBDDxBPAE7wTuBIwDjAPtBOwE6wTqBOkEMOgE5wTlBOQE4wTiBOAE3wQw3QTcBNsE2gTZBNgE1wTWBIkBMPwC1QTUBNME0gTRBNAEigSGBIIE9APwA/0D+QOJATD8As4EzQTMBMsEygTIBIgEhAT/A/ID7gP7A/cD7QHCAscE7QHCAsYEMMUBxQFXV1fyAkZ0dDDFAcUBV1dX8gJGdHQwxAHEAVdXV/ECRnR0MMQBxAFXV1fxAkZ0dDDEBMMEMMAEvwQwvQS8BDC6BLkEMNwCuASTAjDcArcEkwKJAesD6wGjBaQFiQEw4QHhAawCMKwCMOoD4APjA+kDMOED5APoAzDiA+UD5wMw5gMMASoKwLAIiwUTACAAEEcEQCAAKAIEDwsgABBeCxoBAX8gABBHBEAgACgCACAAEH4aEIsCCyAAC4sBAQN/IAAQHyICIAFJBEAjAEEQayIEJAAgASACayICBEAgAiAAECgiAyAAEB8iAWtLBEAgACADIAIgA2sgAWogASABEPQBCyABIAAQIyIDaiACQQAQsgIgACABIAJqIgAQgwEgBEEAOgAPIAAgA2ogBEEPahBdCyAEQRBqJAAPCyAAIAAQIyABEMACCwkAIAAQIyABagsRACAAEEcEQCAAKAIADwsgAAsSACAAQgA3AgAgAEEANgIIIAALFgAgACgCACIAQaDxAUcEQCAAEL8BCwuLAgIDfwJ+AkAgACkDcCIEUEUgBCAAKQN4IAAoAgQiASAAKAIsIgJrrHwiBVdxRQRAIwBBEGsiAiQAQX8hAQJAIAAQyQMNACAAIAJBD2pBASAAKAIgEQMAQQFHDQAgAi0ADyEBCyACQRBqJAAgASIDQQBODQEgACgCBCEBIAAoAiwhAgsgAEJ/NwNwIAAgATYCaCAAIAUgAiABa6x8NwN4QX8PCyAFQgF8IQUgACgCBCEBIAAoAgghAgJAIAApA3AiBFANACAEIAV9IgQgAiABa6xZDQAgASAEp2ohAgsgACACNgJoIAAgBSAAKAIsIgAgAWusfDcDeCAAIAFPBEAgAUEBayADOgAACyADCwwAIAAgAUEcahDVAgsZAQF/QQohASAAEEcEfyAAEH5BAWsFQQoLC3kBA38CQCABELcCIQIgABDxASEDIAAQHyEEIAIgA00EQCAAECMiAyABIAIQZSMAQRBrIgEkACAAEB8aIAAgAhCDASABQQA2AgwgAyACQQJ0aiABQQxqEFYgAUEQaiQADAELIAAgAyACIANrIARBACAEIAIgARCvAgsLDgAgACABIAEQqAEQsQILEAAgABCyAyABELIDc0EBcwsQACAAELMDIAEQswNzQQFzC4EMAQh/AkAgAEUNACAAQQhrIgMgAEEEaygCACICQXhxIgBqIQUCQCACQQFxDQAgAkECcUUNASADIAMoAgAiBGsiA0Gc6gEoAgBJDQEgACAEaiEAAkACQAJAQaDqASgCACADRwRAIAMoAgwhASAEQf8BTQRAIAEgAygCCCICRw0CQYzqAUGM6gEoAgBBfiAEQQN2d3E2AgAMBQsgAygCGCEHIAEgA0cEQCADKAIIIgIgATYCDCABIAI2AggMBAsgAygCFCICBH8gA0EUagUgAygCECICRQ0DIANBEGoLIQQDQCAEIQYgAiIBQRRqIQQgASgCFCICDQAgAUEQaiEEIAEoAhAiAg0ACyAGQQA2AgAMAwsgBSgCBCICQQNxQQNHDQNBlOoBIAA2AgAgBSACQX5xNgIEIAMgAEEBcjYCBCAFIAA2AgAPCyACIAE2AgwgASACNgIIDAILQQAhAQsgB0UNAAJAIAMoAhwiBEECdCICKAK87AEgA0YEQCACQbzsAWogATYCACABDQFBkOoBQZDqASgCAEF+IAR3cTYCAAwCCwJAIAMgBygCEEYEQCAHIAE2AhAMAQsgByABNgIUCyABRQ0BCyABIAc2AhggAygCECICBEAgASACNgIQIAIgATYCGAsgAygCFCICRQ0AIAEgAjYCFCACIAE2AhgLIAMgBU8NACAFKAIEIgRBAXFFDQACQAJAAkACQCAEQQJxRQRAQaTqASgCACAFRgRAQaTqASADNgIAQZjqAUGY6gEoAgAgAGoiADYCACADIABBAXI2AgQgA0Gg6gEoAgBHDQZBlOoBQQA2AgBBoOoBQQA2AgAPC0Gg6gEoAgAiByAFRgRAQaDqASADNgIAQZTqAUGU6gEoAgAgAGoiADYCACADIABBAXI2AgQgACADaiAANgIADwsgBEF4cSAAaiEAIAUoAgwhASAEQf8BTQRAIAUoAggiAiABRgRAQYzqAUGM6gEoAgBBfiAEQQN2d3E2AgAMBQsgAiABNgIMIAEgAjYCCAwECyAFKAIYIQggASAFRwRAIAUoAggiAiABNgIMIAEgAjYCCAwDCyAFKAIUIgIEfyAFQRRqBSAFKAIQIgJFDQIgBUEQagshBANAIAQhBiACIgFBFGohBCABKAIUIgINACABQRBqIQQgASgCECICDQALIAZBADYCAAwCCyAFIARBfnE2AgQgAyAAQQFyNgIEIAAgA2ogADYCAAwDC0EAIQELIAhFDQACQCAFKAIcIgRBAnQiAigCvOwBIAVGBEAgAkG87AFqIAE2AgAgAQ0BQZDqAUGQ6gEoAgBBfiAEd3E2AgAMAgsCQCAFIAgoAhBGBEAgCCABNgIQDAELIAggATYCFAsgAUUNAQsgASAINgIYIAUoAhAiAgRAIAEgAjYCECACIAE2AhgLIAUoAhQiAkUNACABIAI2AhQgAiABNgIYCyADIABBAXI2AgQgACADaiAANgIAIAMgB0cNAEGU6gEgADYCAA8LIABB/wFNBEAgAEF4cUG06gFqIQICf0GM6gEoAgAiBEEBIABBA3Z0IgBxRQRAQYzqASAAIARyNgIAIAIMAQsgAigCCAshACACIAM2AgggACADNgIMIAMgAjYCDCADIAA2AggPC0EfIQEgAEH///8HTQRAIABBJiAAQQh2ZyICa3ZBAXEgAkEBdGtBPmohAQsgAyABNgIcIANCADcCECABQQJ0QbzsAWohBAJ/AkACf0GQ6gEoAgAiBkEBIAF0IgJxRQRAQZDqASACIAZyNgIAIAQgAzYCAEEYIQFBCAwBCyAAQRkgAUEBdmtBACABQR9HG3QhASAEKAIAIQQDQCAEIgIoAgRBeHEgAEYNAiABQR12IQQgAUEBdCEBIAIgBEEEcWoiBigCECIEDQALIAYgAzYCEEEYIQEgAiEEQQgLIQAgAyICDAELIAIoAggiBCADNgIMIAIgAzYCCEEYIQBBCCEBQQALIQYgASADaiAENgIAIAMgAjYCDCAAIANqIAY2AgBBrOoBQazqASgCAEEBayIAQX8gABs2AgALC+kCAQZ/QZzxAS0AAARAQZjxASgCAA8LIwBBIGsiAiQAAkACQANAIAJBCGoiBCAAQQJ0IgNqAn9BASAAdEH/////B3EiBUEBckUEQCADKAIADAELIABBjBZBxh8gBRsQogMLIgM2AgAgA0F/Rg0BIABBAWoiAEEGRw0AC0EAEKEDRQRAQZiDASEBIARBmIMBQRgQiwFFDQJBsIMBIQEgBEGwgwFBGBCLAUUNAkEAIQBBvO4BLQAARQRAA0AgAEECdCAAQcYfEKIDNgKM7gEgAEEBaiIAQQZHDQALQbzuAUEBOgAAQaTuAUGM7gEoAgA2AgALQYzuASEBIAJBCGoiAEGM7gFBGBCLAUUNAkGk7gEhASAAQaTuAUEYEIsBRQ0CQRgQNCIBRQ0BCyABIAIpAgg3AgAgASACKQIYNwIQIAEgAikCEDcCCAwBC0EAIQELIAJBIGokAEGc8QFBAToAAEGY8QEgATYCACABC80KAgV/CX4jAEHgAGsiBSQAIARC////////P4MhCiACIASFQoCAgICAgICAgH+DIQsgAkL///////8/gyIMQiCIIQ8gBEIwiKdB//8BcSEHAkACQCACQjCIp0H//wFxIglB//8Ba0GCgH5PBEAgB0H//wFrQYGAfksNAQsgAVAgAkL///////////8AgyINQoCAgICAgMD//wBUIA1CgICAgICAwP//AFEbRQRAIAJCgICAgICAIIQhCwwCCyADUCAEQv///////////wCDIgJCgICAgICAwP//AFQgAkKAgICAgIDA//8AURtFBEAgBEKAgICAgIAghCELIAMhAQwCCyABIA1CgICAgICAwP//AIWEUARAIAIgA4RQBEBCgICAgICA4P//ACELQgAhAQwDCyALQoCAgICAgMD//wCEIQtCACEBDAILIAMgAkKAgICAgIDA//8AhYRQBEAgASANhEIAIQFQBEBCgICAgICA4P//ACELDAMLIAtCgICAgICAwP//AIQhCwwCCyABIA2EUARAQgAhAQwCCyACIAOEUARAQgAhAQwCCyANQv///////z9YBEAgBUHQAGogASAMIAEgDCAMUCIGG3lCwABCACAGG3ynIgZBD2sQREEQIAZrIQYgBSkDWCIMQiCIIQ8gBSkDUCEBCyACQv///////z9WDQAgBUFAayADIAogAyAKIApQIggbeULAAEIAIAgbfKciCEEPaxBEIAYgCGtBEGohBiAFKQNIIQogBSkDQCEDCyAHIAlqIAZqQf//AGshBgJAIApCD4YiDkIgiEKAgICACIQiAiABQiCIIgR+IhAgA0IPhiIRQiCIIgogD0KAgASEIg1+fCIPIBBUrSAPIANCMYggDoRC/////w+DIgMgDEL/////D4MiDH58Ig4gD1StfCACIA1+fCAOIA4gEUKAgP7/D4MiDyAMfiIRIAQgCn58IhAgEVStIBAgECADIAFC/////w+DIgF+fCIQVq18fCIOVq18IAMgDX4iEiACIAx+fCIRIBJUrUIghiARQiCIhHwgDiAOIBFCIIZ8Ig5WrXwgDiANIA9+Ig0gCiAMfnwiDCABIAJ+fCICIAMgBH58IgNCIIggAiADVq0gDCANVK0gAiAMVK18fEIghoR8IgIgDlStfCACIBAgBCAPfiIMIAEgCn58IgRCIIggBCAMVK1CIIaEfCIKIBBUrSAKIANCIIZ8IgMgClStfHwiCiACVK18IAogAyAEQiCGIgIgASAPfnwiASACVK18IgIgA1StfCIEIApUrXwiA0KAgICAgIDAAINQRQRAIAZBAWohBgwBCyABQj+IIANCAYYgBEI/iIQhAyAEQgGGIAJCP4iEIQQgAUIBhiEBIAJCAYaEIQILIAZB//8BTgRAIAtCgICAgICAwP//AIQhC0IAIQEMAQsCfiAGQQBMBEBBASAGayIHQf8ATQRAIAVBMGogASACIAZB/wBqIgYQRCAFQSBqIAQgAyAGEEQgBUEQaiABIAIgBxCKASAFIAQgAyAHEIoBIAUpAzAgBSkDOIRCAFKtIAUpAyAgBSkDEISEIQEgBSkDKCAFKQMYhCECIAUpAwAhBCAFKQMIDAILQgAhAQwCCyADQv///////z+DIAatQjCGhAsgC4QhCyABUCACQgBZIAJCgICAgICAgICAf1EbRQRAIAsgBEIBfCIBUK18IQsMAQsgASACQoCAgICAgICAgH+FhFBFBEAgBCEBDAELIAsgBCAEQgGDfCIBIARUrXwhCwsgACABNwMAIAAgCzcDCCAFQeAAaiQACwYAIAAQLQt8AQN/IwBBEGsiASQAIAEgADYCDCMAQRBrIgIkACAAKAIAQX9HBEAgAkEIaiACQQxqIAFBDGoQVRBVIQMDQCAAKAIAQQFGDQALIAAoAgBFBEAgAEEBNgIAIAMQ0gIgAEF/NgIACwsgAkEQaiQAIAAoAgQgAUEQaiQAQQFrCyAAIAAgAUEBazYCBCAAQeDVATYCACAAQZCtATYCACAAC/cFAQl/IwBBEGsiCSQAIAEQ1wIgCUEMaiABEFUhCCAAQQhqIgMQayACTQRAAkAgAkEBaiIAIAMQayIBSwRAIwBBIGsiCiQAAkAgACABayIHIAMoAgggAygCBGtBAnVNBEAgAyAHENkCDAELIApBDGohAQJ/IAMQayAHaiEFIwBBEGsiACQAIAAgBTYCDCAFELwCIgRNBEAgAxC5AiIFIARBAXZJBEAgACAFQQF0NgIIIABBCGogAEEMahCgASgCACEECyAAQRBqJAAgBAwBCxCMAQALIQQgAxBrIQUjAEEQayIAJAAgASADQQxqIgs2AhAgAUEANgIMIAQEfyAAQQhqIAsgBBC7AiAAKAIIIQYgACgCDAVBAAshBCABIAY2AgAgASAGIAVBAnRqIgU2AgggASAGIARBAnRqNgIMIAEgBTYCBCAAQRBqJAAjAEEQayIGJAAgASgCCCEEIAZBBGoiACABQQhqNgIIIAAgBDYCACAAIAQgB0ECdGo2AgQgACgCACEEA0AgACgCBCAERwRAIAEoAhAaIAQQugIgACAAKAIAQQRqIgQ2AgAMAQsLIAAoAgggACgCADYCACAGQRBqJAAgASgCBCADKAIAIgAgAygCBGtqIQQgAygCBCAAayIHBEAgBCAAIAf8CgAACyABIAQ2AgQgAyADKAIANgIEIAMgAUEEahDXASADQQRqIAFBCGoQ1wEgA0EIaiABQQxqENcBIAEgASgCBDYCACADEGsaIAEoAgQhAANAIAEoAggiBCAARwRAIAEgBEEEazYCCCABKAIQGgwBCwsgASgCACIABEAgASgCECAAIAEoAgwgASgCAGtBAnUQuAILCyAKQSBqJAAMAQsgACABSQRAIAMoAgAgAEECdGohACADEGsaIAMgABDYAgsLCyADIAIQggEoAgAEQCADIAIQggEoAgAQvwELIAgQrAEhACADIAIQggEgADYCACAIKAIAIQAgCEEANgIAIAAEQCAAEL8BCyAJQRBqJAALySgBC38jAEEQayIKJAACQAJAAkACQAJAAkACQAJAAkACQCAAQfQBTQRAQYzqASgCACIEQRAgAEELakH4A3EgAEELSRsiBkEDdiIAdiIBQQNxBEACQCABQX9zQQFxIABqIgJBA3QiAUG06gFqIgAgASgCvOoBIgEoAggiBUYEQEGM6gEgBEF+IAJ3cTYCAAwBCyAFIAA2AgwgACAFNgIICyABQQhqIQAgASACQQN0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KAIAKAIcEQQAC8EBAQN/IAAtAABBIHFFBEACQCAAKAIQIgMEfyADBSAAEN8BDQEgACgCEAsgACgCFCIEayACSQRAIAAgASACIAAoAiQRAwAaDAELAkACQCACRSAAKAJQQQBIcg0AIAIhAwNAIAEgA2oiBUEBay0AAEEKRwRAIANBAWsiAw0BDAILCyAAIAEgAyAAKAIkEQMAIANJDQIgAiADayECIAAoAhQhBAwBCyABIQULIAQgBSACEHEaIAAgACgCFCACajYCFAsLC6EBAQJ/AkAgABAfRSACIAFrQQVIcg0AIAEgAhDHASACQQRrIQQgABAjIgIgABAfaiEFAkADQAJAIAIsAAAhACABIARPDQAgAEEATCAAQf8ATnJFBEAgASgCACACLAAARw0DCyABQQRqIQEgAiAFIAJrQQFKaiECDAELCyAAQQBMIABB/wBOcg0BIAIsAAAgBCgCAEEBa0sNAQsgA0EENgIACwtQAQF+AkAgA0HAAHEEQCABIANBQGqthiECQgAhAQwBCyADRQ0AIAIgA60iBIYgAUHAACADa62IhCECIAEgBIYhAQsgACABNwMAIAAgAjcDCAtpAQF/IwBBgAJrIgUkACAEQYDABHEgAiADTHJFBEAgBSABIAIgA2siA0GAAiADQYACSSIBGxCYAiABRQRAA0AgACAFQYACEEIgA0GAAmsiA0H/AUsNAAsLIAAgBSADEEILIAVBgAJqJAALBABBAAsKACAALQALQQd2CwoAIABB0PIBEHoLCgAgAEHY8gEQegvPCQIEfwR+IwBB8ABrIgYkACAEQv///////////wCDIQkCQAJAIAFQIgUgAkL///////////8AgyIKQoCAgICAgMD//wB9QoCAgICAgMCAgH9UIApQG0UEQCADQgBSIAlCgICAgICAwP//AH0iC0KAgICAgIDAgIB/ViALQoCAgICAgMCAgH9RGw0BCyAFIApCgICAgICAwP//AFQgCkKAgICAgIDA//8AURtFBEAgAkKAgICAgIAghCEEIAEhAwwCCyADUCAJQoCAgICAgMD//wBUIAlCgICAgICAwP//AFEbRQRAIARCgICAgICAIIQhBAwCCyABIApCgICAgICAwP//AIWEUARAQoCAgICAgOD//wAgAiABIAOFIAIgBIVCgICAgICAgICAf4WEUCIFGyEEQgAgASAFGyEDDAILIAMgCUKAgICAgIDA//8AhYRQDQEgASAKhFAEQCADIAmEQgBSDQIgASADgyEDIAIgBIMhBAwCCyADIAmEUEUNACABIQMgAiEEDAELIAMgASABIANUIAkgClYgCSAKURsiCBshCiAEIAIgCBsiDEL///////8/gyEJIAIgBCAIGyILQjCIp0H//wFxIQcgDEIwiKdB//8BcSIFRQRAIAZB4ABqIAogCSAKIAkgCVAiBRt5QsAAQgAgBRt8pyIFQQ9rEEQgBikDaCEJIAYpA2AhCkEQIAVrIQULIAEgAyAIGyEDIAtC////////P4MhASAHBH4gAQUgBkHQAGogAyABIAMgASABUCIHG3lCwABCACAHG3ynIgdBD2sQREEQIAdrIQcgBikDUCEDIAYpA1gLQgOGIANCPYiEQoCAgICAgIAEhCEBIAlCA4YgCkI9iIQgAiAEhSEEAn4gA0IDhiICIAUgB0YNABogBSAHayIHQf8ASwRAQgAhAUIBDAELIAZBQGsgAiABQYABIAdrEEQgBkEwaiACIAEgBxCKASAGKQM4IQEgBikDMCAGKQNAIAYpA0iEQgBSrYQLIQlCgICAgICAgASEIQsgCkIDhiEKAkAgBEIAUwRAQgAhA0IAIQQgCSAKhSABIAuFhFANAiAKIAl9IQIgCyABfSAJIApWrX0iBEL/////////A1YNASAGQSBqIAIgBCACIAQgBFAiBxt5QsAAQgAgBxt8p0EMayIHEEQgBSAHayEFIAYpAyghBCAGKQMgIQIMAQsgCSAKfCICIAlUrSABIAt8fCIEQoCAgICAgIAIg1ANACAJQgGDIARCP4YgAkIBiISEIQIgBUEBaiEFIARCAYghBAsgDEKAgICAgICAgIB/gyEDIAVB//8BTgRAIANCgICAgICAwP//AIQhBEIAIQMMAQtBACEHAkAgBUEASgRAIAUhBwwBCyAGQRBqIAIgBCAFQf8AahBEIAYgAiAEQQEgBWsQigEgBikDACAGKQMQIAYpAxiEQgBSrYQhAiAGKQMIIQQLIARCPYYgAkIDiIQhASAEQgOIQv///////z+DIAetQjCGhCADhCEEAkACQCACp0EHcSIFQQRHBEAgBCABIAEgBUEES618IgNWrXwhBAwBCyAEIAEgASABQgGDfCIDVq18IQQMAQsgBUUN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C14BA38gAEEANgIIIABCADcCACABKAIAIQMgASgCBCIBIANrIgRBAnUiAgRAIAAgAhCuAyAAKAIEIQIgBEUgASADRnJFBEAgAiADIAT8CgAACyAAIAIgBGo2AgQLIAALDQAgACgCACABQQJ0agsXACAAEEcEQCAAIAE2AgQPCyAAIAEQUAthAQF/IwBBEGsiAiQAIAIgADYCDAJAIAAgAUYNAANAIAIgAUEBayIBNgIIIAAgAU8NASACKAIMIAIoAggQ8wIgAiACKAIMQQFqIgA2AgwgAigCCCEBDAALAAsgAkEQaiQAC6wBAQR/IwBBEGsiByQAAkAgAEUNACAEKAIMIQYgAiABa0ECdSIIQQBKBEAgACABIAgQjQIgCEcNAQsgAyABa0ECdSIBIAZIBEAgACAHQQRqIAYgAWsiASAFEP0CIgUQIyABEI0CIQYgBRA5GiABIAZHDQELIAMgAmtBAnUiAUEASgRAIAAgAiABEI0CIAFHDQELIAQoAgwaIARBADYCDCAAIQkLIAdBEGokACAJCycBAX8jAEEQayIDJAAgAyACNgIMIABB5AAgASACENEBIANBEGokAAvbAQIBfwJ+QQEhBAJAIABCAFIgAUL///////////8AgyIFQoCAgICAgMD//wBWIAVCgICAgICAwP//AFEbDQAgAkIAUiADQv///////////wCDIgZCgICAgICAwP//AFYgBkKAgICAgIDA//8AURsNACAAIAKEIAUgBoSEUARAQQAPCyABIAODQgBZBEAgACACVCABIANTIAEgA1EbBEBBfw8LIAAgAoUgASADhYRCAFIPCyAAIAJWIAEgA1UgASADURsEQEF/DwsgACAChSABIAOFhEIAUiEECyAEC+wBAQR/IwBBEGsiBCQAIABBADYCBCMAQRBrIgUkACAEQQA6AA8gACAAKAIAQQxrKAIAahDZASEGIAAgACgCAEEMaygCAGohAwJAIAYEQCADKAJIBEAgACAAKAIAQQxrKAIAaigCSBDFAwsgBCAAIAAoAgBBDGsoAgBqENkBOgAPDAELIANBBBDVAQsgBUEQaiQAQQQhAyAELQAPBEAgACAAIAAoAgBBDGsoAgBqKAIYIgMgASACIAMoAgAoAiARAwAiATYCBEEGQQAgASACRxshAwsgACAAKAIAQQxrKAIAaiADENUBIARB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AxsLPAAgAEEANgIIIABCADcCACAAIAEoAgA2AgAgACABKAIENgIEIAAgASgCCDYCCCABQQA2AgggAUIANwIACywBAX8gAEEANgIIIABCADcCACAAIAEoAgAiAiABKAIEIgEgASACaxDAAyAACwgAIABB/wFxC/wBAQN/IAAoAgQgACgCACIDa0ECdSICIAFJBEAjAEEgayIDJAACQCABIAJrIgIgACgCCCAAKAIEIgFrQQJ1TQRAIAAoAgQiASACQQJ0aiECA0AgASACRgRAIAAgAjYCBAUgAUEANgIAIAFBBGohAQwBCwsMAQsgA0EMaiAAIAEgACgCAGtBAnUgAmoQtgEgACgCBCAAKAIAa0ECdSAAEIcCIgQoAggiASACQQJ0aiECA0AgASACRwRAIAFBADYCACABQQRqIQEMAQsLIAQgAjYCCCAAIAQQhQIgBBCBAgsgA0EgaiQADwsgASACSQRAIAAgAyABQQJ0ajYCBAsLUgECf0HU3gEoAgAiASAAQQdqQXhxIgJqIQACQCACQQAgACABTRtFBEAgAD8AQRB0TQ0BIAAQGA0BC0GI6gFBMDYCAEF/DwtB1N4BIAA2AgAgAQt/AgF+A38CQCAAQoCAgIAQVARAIAAhAgwBCwNAIAFBAWsiASAAIABCCoAiAkIKfn2nQTByOgAAIABC/////58BViACIQANAAsLIAJQRQRAIAKnIQMDQCABQQFrIgEgAyADQQpuIgRBCmxrQTByOgAAIANBCUsgBCEDDQALCyABC78BAQN/IAAoAgQgACgCACIDayICIAFJBEAjAEEgayIDJAACQCABIAJrIgIgACgCCCAAKAIEIgFrTQRAIAAgAhCYAwwBCyACIANBDGogACABIAJqIAAoAgBrELQBIAAoAgQgACgCAGsgABDGASIEKAIIIgFqIQIDQCABIAJHBEAgAUEAOgAAIAFBAWohAQwBCwsgBCACNgIIIAAgBBDvASAEELoBCyADQSBqJAAPCyABIAJJBEAgACABIANqNgIECwt9AQN/AkACQCAAIgFBA3FFDQAgAS0AAEUEQEEADwsDQCABQQFqIgFBA3FFDQEgAS0AAA0ACwwBCwNAIAEiAkEEaiEBQYCChAggAigCACIDayADckGAgYKEeHFBgIGChHhGDQALA0AgAiIBQQFqIQIgAS0AAA0ACwsgASAAawsTAEEEENYBBEAgABAtDwsgABAtCwsAIAQgAjYCAEEDC3wBAn8jAEEQayICJAAgABBHBEAgACgCACAAEH4QqQELIAEQHxogARBHIQMgACABKAIINgIIIAAgASkCADcCACABQQAQUCACQQA2AgwgASACQQxqEFYCQCADIAAgAUYiAXJFDQALIAAQRyABckUEQCAAEF4aCyACQRBqJAALEAEBfyAAKAIAIABBADYCAAs3AQJ/IwBBEGsiAyQAIANBDGoiBCABECcgAiAEEJkBIgEQWTYCACAAIAEQWCAEECUgA0EQaiQACzUBAn8jAEEQayICJAAgAkEMaiIDIAAQJyADEEhB0J8BQeqfASABEG8gAxAlIAJBEGokACABCzcBAn8jAEEQayIDJAAgA0EMaiIEIAEQJyACIAQQmwEiARBZOgAAIAAgARBYIAQQJSADQRBqJAALkwEBA38CQCABEKgBIQIjAEEQayIDJAAgAkH3////B00EQAJAIAIQ1AEEQCAAIAIQUCAAIQQMAQsgA0EIaiACEJ8BQQFqEJ4BIAMoAgwaIAAgAygCCCIENgIAIAAgAygCDBBcIAAgAjYCBAsgBCABIAIQTSADQQA6AAcgAiAEaiADQQdqEF0gA0EQaiQADAELEFsACwtGAQF/IABB+PsAKAIAIgE2AgAgACABQQxrKAIAakGY/AAoAgA2AgAgAEGc/AAoAgA2AgggAEEMahD8ARogAEFAaxDaASAACxcAIAAgAzYCECAAIAI2AgwgACABNgIIC7kHAQV/An8gAEH//wNxIQMgAEEQdiEEIAJBAUYEQCADIAEtAABqIgBB8f8DayAAIABB8P8DSxsiACAEaiIBQRB0IgJBgIA8aiACIAFB8P8DSxsgAHIMAQsgAQR/AkACQAJAAkAgAkEQTwRAAkAgAkGvK0sEQANAQdsCIQUgASEAA0AgAyAALQAAaiIDIARqIAMgAC0AAWoiA2ogAyAALQACaiIDaiADIAAtAANqIgNqIAMgAC0ABGoiA2ogAyAALQAFaiIDaiADIAAtAAZqIgNqIAMgAC0AB2oiA2ogAyAALQAIaiIDaiADIAAtAAlqIgNqIAMgAC0ACmoiA2ogAyAALQALaiIDaiADIAAtAAxqIgNqIAMgAC0ADWoiA2ogAyAALQAOaiIDaiADIAAtAA9qIgNqIQQgAEEQaiEAIAVBAWsiBQ0ACyAEQfH/A3AhBCADQfH/A3AhAyABQbAraiEBIAJBsCtrIgJBrytLDQALIAJFDQYgAkEQSQ0BCwNAIAMgAS0AAGoiACAEaiAAIAEtAAFqIgBqIAAgAS0AAmoiAGogACABLQADaiIAaiAAIAEtAARqIgBqIAAgAS0ABWoiAGogACABLQAGaiIAaiAAIAEtAAdqIgBqIAAgAS0ACGoiAGogACABLQAJaiIAaiAAIAEtAApqIgBqIAAgAS0AC2oiAGogACABLQAMaiIAaiAAIAEtAA1qIgBqIAAgAS0ADmoiAGogACABLQAPaiIDaiEEIAFBEGohASACQRBrIgJBD0sNAAsgAkUNBAsgAkEDcSIHDQEgAiEADAILAkAgAkUNAAJAIAJBA3EiB0UEQCACIQAMAQsgAiEAIAEhBQNAIABBAWshACADIAUtAABqIgMgBGohBCAFQQFqIgEhBSAGQQFqIgYgB0cNAAsLIAJBBEkNAANAIAMgAS0AAGoiAiABLQABaiIFIAEtAAJqIgYgAS0AA2oiAyAGIAUgAiAEampqaiEEIAFBBGohASAAQQRrIgANAAsLIARB8f8DcEEQdCADQfH/A2sgAyADQfD/A0sbcgwFCyACIQAgASEFA0AgAEEBayEAIAMgBS0AAGoiAyAEaiEEIAVBAWoiASEFIAZBAWoiBiAHRw0ACwsgAkEESQ0AA0AgAyABLQAAaiICIAEtAAFqIgUgAS0AAmoiBiABLQADaiIDIAYgBSACIARqampqIQQgAUEEaiEBIABBBGsiAA0ACwsgBEHx/wNwIQQgA0Hx/wNwIQMLIARBEHQgA3IFQQELCws6AQF/IAFBAEgEQBCMAQALQf////8HIAAoAgggACgCAGsiAEEBdCICIAEgASACSRsgAEH/////A08bCxwBAX8gACgCBCIBQQlPBEAgARAeIABBADYCBAsLPgEBfyABQYCAgIAETwRAEIwBAAtB/////wMgACgCCCAAKAIAayIAQQF1IgIgASABIAJJGyAAQfz///8HTxsLSQECfyAAKAIEIgZBCHUhBSAGQQFxBEAgAigCACAFEOgBIQULIAAoAgAiACABIAIgBWogA0ECIAZBAnEbIAQgACgCACgCGBELAAuqAQEDfyMAQRBrIgIkACACIAE6AA8CQAJAAn8gABBHIgRFBEBBCiEBIAAQXgwBCyAAEH5BAWshASAAKAIECyIDIAFGBEAgACABQQEgASABEPQBIAAQIxoMAQsgABAjGiAEDQAgACIBIANBAWoQUAwBCyAAKAIAIQEgACADQQFqNgIECyABIANqIgAgAkEPahBdIAJBADoADiAAQQFqIAJBDmoQXSACQRBqJAALoQIBA38jAEEgayIIJABB9////wciCSABQX9zaiACTwRAIAAQIyEKIAFB8////wNJBEAgCCABQQF0NgIcIAggASACajYCECAIQRBqIAhBHGoQoAEoAgAQnwFBAWohCQsgCEEcaiAIQRhqIAAQVSgCABC8ASAIQRBqIAkQngEgCCgCECECIAgoAhQaIAQEQCACIAogBBBNCyAGBEAgAiAEaiAHIAYQTQsgAyAEIAVqIglrIQcgAyAJRwRAIAIgBGogBmogBCAKaiAFaiAHEE0LIAFBCkcEQCAKEIsCCyAAIAI2AgAgACAIKAIUEFwgACAEIAZqIAdqIgA2AgQgCEEAOgAPIAAgAmogCEEPahBdIAhBHGoQuwEgCEEgaiQADwsQWwALCQAgAEEBEKgCCwoAIAAoAgAQHxoLCQAgACABEFUaCwcAIABBAkkLBABBBAsoAQF/IAAgACgCBEEBayIBNgIEIAFBf0YEQCAAIAAoAgAoAggRAgALC5UBAQN/IwBBEGsiBCQAIAQgATYCDCAEIAM2AgggBEEEaiAEQQxqEGMgBCgCCCEDIwBBEGsiASQAIAEgAzYCDCABIAM2AghBfyEFAkBBAEEAIAIgAxDRASIDQQBIDQAgACADQQFqIgMQNCIANgIAIABFDQAgACADIAIgASgCDBDRASEFCyABQRBqJAAQYiAEQRBqJAAgBQsPACAAIAAoAgAoAiQRAAALEQAgACABIAEoAgAoAiARAQALDgAgACABKAIANgIAIAALCABB/////wcLBQBB/wALOwAgACADNgIQIAAgAQR/IAEQUwVBAAsiAzYCACAAIAIgA2oiAjYCCCAAIAEgA2o2AgwgACACNgIEIAALYQEBfyMAQRBrIgIkACACIAA2AgwCQCAAIAFGDQADQCACIAFBBGsiATYCCCAAIAFPDQEgAigCDCACKAIIENcBIAIgAigCDEEEaiIANgIMIAIoAgghAQwACwALIAJBEGokAAs5AgF/AX4jAEEQayIEJAAgAykDACEFIAQgAykDCDcDCCAEIAU3AwAgACABIAIgBBDAASAEQRBqJAAL0AEBAn8gAkGAEHEEQCAAQSs6AAAgAEEBaiEACyACQYAIcQRAIABBIzoAACAAQQFqIQALIAJBhAJxIgNBhAJHBEAgAEGu1AA7AAAgAEECaiEACyACQYCAAXEhAgNAIAEtAAAiBARAIAAgBDoAACAAQQFqIQAgAUEBaiEBDAELCyAAAn8CQCADQYACRwRAIANBBEcNAUHGAEHmACACGwwCC0HFAEHlACACGwwBC0HBAEHhACACGyADQYQCRg0AGkHHAEHnACACGws6AAAgA0GEAkcLKwEBfyMAQRBrIgUkACAFIAQoAgA2AgAgACABIAIgAyAFEJYBIAVBEGokAAuqAQEBfwJAIANBgBBxRSACRXINACADQcoAcSIEQQhGIARBwABGcg0AIABBKzoAACAAQQFqIQALIANBgARxBEAgAEEjOgAAIABBAWohAAsDQCABLQAAIgQEQCAAIAQ6AAAgAEEBaiEAIAFBAWohAQwBCwsgAAJ/Qe8AIANBygBxIgFBwABGDQAaQdgAQfgAIANBgIABcRsgAUEIRg0AGkHkAEH1ACACGws6AAALDAAgABAjIAFBAnRqC5IEAQt/IwBBgAFrIgokACAKIAE2AnwgAiADELUCIQggCkHjADYCECAKQQhqQQAgCkEQaiIJEDYhDwJAAkACQCAIQeUATwRAIAgQNCIJRQ0BIA8gCRA8CyAJIQcgAiEBA0AgASADRgRAA0AgACAKQfwAaiIBECtBASAIGwRAIAAgARArBEAgBSAFKAIAQQJyNgIACwNAIAIgA0YNBiAJLQAAQQJGDQcgCUEBaiEJIAJBDGohAgwACwALIAAQNyEOIAZFBEAgBCAOEEEhDgsgDUEBaiEMQQAhECAJIQcgAiEBA0AgASADRgRAIAwhDSAQRQ0CIAAQPhogCSEHIAIhASAIIAtqQQJJDQIDQCABIANGBEAMBAUCQCAHLQAAQQJHDQAgARAfIA1GDQAgB0EAOgAAIAtBAWshCwsgB0EBaiEHIAFBDGohAQwBCwALAAUCQCAHLQAAQQFHDQAgASANEMwBKAIAIRECQCAGBH8gEQUgBCAREEELIA5GBEBBASEQIAEQHyAMRw0CIAdBAjoAACALQQFqIQsMAQsgB0EAOgAACyAIQQFrIQgLIAdBAWohByABQQxqIQEMAQsACwALAAUgB0ECQQEgARBaIgwbOgAAIAdBAWohByABQQxqIQEgCyAMaiELIAggDGshCAwBCwALAAsQPQALIAUgBSgCAEEEcjYCAAsgDxA1IApBgAFqJAAgAgsRACAAIAEgACgCACgCDBEEAAuTBAELfyMAQYABayIKJAAgCiABNgJ8IAIgAxC1AiEIIApB4wA2AhAgCkEIakEAIApBEGoiCRA2IQ8CQAJAAkAgCEHlAE8EQCAIEDQiCUUNASAPIAkQPAsgCSEHIAIhAQNAIAEgA0YEQANAIAAgCkH8AGoiARAsQQEgCBsEQCAAIAEQLARAIAUgBSgCAEECcjYCAAsDQCACIANGDQYgCS0AAEECRg0HIAlBAWohCSACQQxqIQIMAAsACyAAEDghDiAGRQRAIAQgDhDOASEOCyANQQFqIQxBACEQIAkhByACIQEDQCABIANGBEAgDCENIBBFDQIgABA/GiAJIQcgAiEBIAggC2pBAkkNAgNAIAEgA0YEQAwEBQJAIActAABBAkcNACABEB8gDUYNACAHQQA6AAAgC0EBayELCyAHQQFqIQcgAUEMaiEBDAELAAsABQJAIActAABBAUcNACABIA0QIiwAACERAkAgBgR/IBEFIAQgERDOAQsgDkYEQEEBIRAgARAfIAxHDQIgB0ECOgAAIAtBAWohCwwBCyAHQQA6AAALIAhBAWshCAsgB0EBaiEHIAFBDGohAQwBCwALAAsABSAHQQJBASABEFoiDBs6AAAgB0EBaiEHIAFBDGohASALIAxqIQsgCCAMayEIDAELAAsACxA9AAsgBSAFKAIAQQRyNgIACyAPEDUgCkGAAWokACACC0oBAn8CQCAALQAAIgJFIAIgAS0AACIDR3INAANAIAEtAAEhAyAALQABIgJFDQEgAUEBaiEBIABBAWohACACIANGDQALCyACIANrC4QBAQJ/IwBBoAFrIgQkACAEIAAgBEGeAWogARsiADYClAEgBCABQQFrIgVBACABIAVPGzYCmAEgBEEAQZAB/AsAIARBfzYCTCAEQeIANgIkIARBfzYCUCAEIARBnwFqNgIsIAQgBEGUAWo2AlQgAEEAOgAAIAQgAiADEM0DIARBoAFqJAALuwIBBH8gA0H87QEgAxsiBSgCACEDAkAC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IBAtIAAoAiQQLSAAKAIwEC0gACgCPBAtCyAACwcAIAEgAGsLDABBARDWARogABAtCwkAIAAQsQEQLQsTACAAIAEgAiAAKAIAKAIwEQMACwkAIAAQ2AEQLQsMACAAQQRqENoBIAALDAAgAEEIahDaASAACygBAn8jAEEQayICJAAgASgCACAAKAIASCEDIAJBEGokACABIAAgAxsLEAAgACABNwMIIABCADcDAAsCAAsUACAAQZj1ADYCACAAQQRqECUgAAvyAwICfgV/IwBBIGsiBSQAIAFC////////P4MhAgJ+IAFCMIhC//8BgyIDpyIEQYH4AGtB/Q9NBEAgAkIEhiAAQjyIhCECIARBgPgAa60hAwJAIABC//////////8PgyIAQoGAgICAgICACFoEQCACQgF8IQIMAQsgAEKAgICAgICAgAhSDQAgAkIBgyACfCECC0IAIAIgAkL/////////B1YiBBshACAErSADfAwBCyAAIAKEUCADQv//AVJyRQRAIAJCBIYgAEI8iIRCgICAgICAgASEIQBC/w8MAQsgBEH+hwFLBEBCACEAQv8PDAELQYD4AEGB+AAgA1AiBxsiCCAEayIGQfAASgRAQgAhAEIADAELIAVBEGogACACIAJCgICAgICAwACEIAcbIgJBgAEgBmsQRCAFIAAgAiAGEIoBIAUpAwhCBIYgBSkDACICQjyIhCEAAkAgBCAIRyAFKQMQIAUpAxiEQgBSca0gAkL//////////w+DhCICQoGAgICAgICACFoEQCAAQgF8IQAMAQsgAkKAgICAgICAgAhSDQAgAEIBgyAAfCEACyAAQoCAgICAgIAIhSAAIABC/////////wdWIgQbIQAgBK0LIQIgBUEgaiQAIAFCgICAgICAgICAf4MgAkI0hoQgAIS/C4kCAAJAIAAEfyABQf8ATQ0BAkBB3OEBKAIAKAIARQRAIAFBgH9xQYC/A0YNAwwBCyABQf8PTQRAIAAgAUE/cUGAAXI6AAEgACABQQZ2QcABcjoAAEECDwsgAUGAQHFBgMADRyABQYCwA09xRQRAIAAgAUE/cUGAAXI6AAIgACABQQx2QeABcjoAACAAIAFBBnZBP3FBgAFyOgABQQMPCyABQYCABGtB//8/TQRAIAAgAUE/cUGAAXI6AAMgACABQRJ2QfABcjoAACAA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AXI2AgQgCSAGIAkoAgBBAXFyQQJyNgIAIAEgBmoiAiACKAIEQQFyNgIEIAEgBhDbAQsCQCAAKAIEIgJBA3FFDQAgAkF4cSIBIAVBEGpNDQAgACAFIAJBAXFyQQJyNgIEIAAgBWoiBCABIAVrIgJBA3I2AgQgACABaiIBIAEoAgRBAXI2AgQgBCACENsBCyAAQQhqCwsiAEUNARogCCAANgIMQQAhAQsgAQshAEEAIAgoAgwgABshAQsgCEEQaiQAIAENAEHk/gEoAgAiAEUNACAAEQwADAELCyABRQRAEOsBCyABCwoAIAEgAGtBDG0LCQAgABAuNgIACyMBAn8gACEBA0AgASICQQRqIQEgAigCAA0ACyACIABrQQJ1Cy8BAX8jAEEQayIDJAACQCAAIAFGBEAgAEEAOgB4DAELIAEgAhCpAQsgA0EQaiQACxAAIAAoAgggACgCAGtBAnULCQAgAEEANgIAC0kBAX8jAEEQayIDJAACQAJAIAJBHksNACABLQB4QQFxDQAgAUEBOgB4DAELIAIQwQIhAQsgA0EQaiQAIAAgAjYCBCAAIAE2AgALOgECfyMAQRBrIgAkACAAQf////8DNgIMIABB/////wc2AgggAEEMaiAAQQhqELUDKAIAIABBEGokAAs0AQF/IwBBEGsiAyQAIAMgARBzNgIMIAMgAhBzNgIIIAAgA0EMaiADQQhqEGYgA0EQaiQAC04BAX8jAEEQayIDJAAgAyABNgIIIAMgADYCDCADIAI2AgRBACEBIANBBGoiACADQQxqENMBRQRAIAAgA0EIahDTASEBCyADQRBqJAAgAQswAQF/IwBBEGsiAyQAIAMgATYCDCADIAI2AgggACADQQxqIANBCGoQZiADQRBqJAALMwEBfyMAQRBrIgMkACAAEB8aIAAgAhCDASADQQA6AA8gASACaiADQQ9qEF0gA0EQaiQACzEAIABB/////wNLBEAQqgIACwJ/IABBAnQhAEEEENYBBEAgAEEEELQCDAELIAAQUwsLCQAgABDtARAtCxUAIABB8KoBNgIAIABBEGoQIBogAAsVACAAQciqATYCACAAQQxqECAaIAALgAMBBH8gAiEAA0ACQCAEIAdNIAAgA09yDQAgACwAACIBQf8BcSEFAn9BASABQQBODQAaIAFBQkkNASABQV9NBEAgAyAA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ZEYNAEEAIQAgC0EANgIQIBEgDygCACALKAJkIAtBEGoQQyALKAIQBEAgBSAFKAIAQQRyNgIADAELQQEhAAsgEBAgGiANECAaIA4QIBogDBAgGiARECAaIA8QNQwDCyACIQELIANBAWohAwwACwALIAtBkARqJAAgAAsMACAAQQFBLRD9AhoLCwAgAEEBQS0QsAILHAEBfyAALQAAIQIgACABLQAAOgAAIAEgAjoAAAtlAQF/IwBBEGsiBiQAIAZBADoADyAGIAU6AA4gBiAEOgANIAZBJToADCAFBEAgBkENaiAGQQ5qEPMCCyACIAEgASACKAIAEIoCIAZBDGogAyAAKAIAEJ4DIAFqNgIAIAZBEGokAAtBACABIAIgAyAEQQQQZyEBIAMtAABBBHFFBEAgACABQdAPaiABQewOaiABIAFB5ABJGyABQcUASBtB7A5rNgIACwtAACACIAMgAEEIaiAAKAIIKAIEEQAAIgAgAEGgAmogBSAEQQAQzQEgAGsiAEGfAkwEQCABIABBDG1BDG82AgALC0AAIAIgAyAAQQhqIAAoAggoAgARAAAiACAAQagBaiAFIARBABDNASAAayIAQacBTARAIAEgAEEMbUEHbzYCAAsLQQAgASACIAMgBEEEEGghASADLQAAQQRxRQRAIAAgAUHQD2ogAUHsDmogASABQeQASRsgAUHFAEgbQewOazYCAAsLQAAgAiADIABBCGogACgCCCgCBBEAACIAIABBoAJqIAUgBEEAEM8BIABrIgBBnwJMBEAgASAAQQxtQQxvNgIACwtAACACIAMgAEEIaiAAKAIIKAIAEQAAIgAgAEGoAWogBSAEQQAQzwEgAGsiAEGnAUwEQCABIABBDG1BB282AgALCxgBAX9BDBBTIgBBADYCCCAAQgA3AgAgAAsEAEECC8oBAQR/IwBBEGsiAyQAAkAgAUH3////A00EQAJAIAEQvQEEQCAAIAEQUCAAIQQMAQsgA0EIaiABEJABQQFqEI8BIAMoAgwaIAAgAygCCCIENgIAIAAgAygCDBBcIAAgATYCBAsjAEEQayIFJAAgBSACNgIMIAQhBiABIQIDQCACBEAgBiAFKAIMNgIAIAJBAWshAiAGQQRqIQYMAQsLIAVBEGokACADQQA2AgQgBCABQQJ0aiADQQRqEFYgA0EQaiQADAELEFsA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hoRCAEKAgICAgIDAwz8QLyAFKQNIIQIgBSkDQCEEDAELIAlC////////P4MgBiAHcq1CMIaEIQILIAAgBDcDACAAIAI3AwggBUGAAWokAAuIEAIFfw9+IwBB0AJrIgUkACAEQv///////z+DIQsgAkL///////8/gyEKIAIgBIVCgICAgICAgICAf4MhDCAEQjCIp0H//wFxIQcCQAJAIAJCMIinQf//AXEiCEH//wFrQYKAfk8EQCAHQf//AWtBgYB+Sw0BCyABUCACQv///////////wCDIg5CgICAgICAwP//AFQgDkKAgICAgIDA//8AURtFBEAgAkKAgICAgIAghCEMDAILIANQIARC////////////AIMiAkKAgICAgIDA//8AVCACQoCAgICAgMD//wBRG0UEQCAEQoCAgICAgCCEIQwgAyEBDAILIAEgDkKAgICAgIDA//8AhYRQBEAgAyACQoCAgICAgMD//wCFhFAEQEIAIQFCgICAgICA4P//ACEMDAMLIAxCgICAgICAwP//AIQhDEIAIQEMAgsgAyACQoCAgICAgMD//wCFhFAEQEIAIQEMAgsgASAOhFAEQEKAgICAgIDg//8AIAwgAiADhFAbIQxCACEBDAILIAIgA4RQBEAgDEKAgICAgIDA//8AhCEMQgAhAQwCCyAOQv///////z9YBEAgBUHAAmogASAKIAEgCiAKUCIGG3lCwABCACAGG3ynIgZBD2sQREEQIAZrIQYgBSkDyAIhCiAFKQPAAiEBCyACQv///////z9WDQAgBUGwAmogAyALIAMgCyALUCIJG3lCwABCACAJG3ynIglBD2sQRCAGIAlqQRBrIQYgBSkDuAIhCyAFKQOwAiEDCyAFQaACaiALQoCAgICAgMAAhCISQg+GIANCMYiEIgJCAEKAgICAsOa8gvUAIAJ9IgRCABBAIAVBkAJqQgAgBSkDqAJ9QgAgBEIAEEAgBUGAAmogBSkDmAJCAYYgBSkDkAJCP4iEIgRCACACQgAQQCAFQfABaiAEQgBCACAFKQOIAn1CABBAIAVB4AFqIAUpA/gBQgGGIAUpA/ABQj+IhCIEQgAgAkIAEEAgBUHQAWogBEIAQgAgBSkD6AF9QgAQQCAFQcABaiAFKQPYAUIBhiAFKQPQAUI/iIQiBEIAIAJCABBAIAVBsAFqIARCAEIAIAUpA8gBfUIAEEAgBUGgAWogAkIAIAUpA7gBQgGGIAUpA7ABQj+IhEIBfSICQgAQQCAFQZABaiADQg+GQgAgAkIAEEAgBUHwAGogAkIAQgAgBSkDqAEgBSkDoAEiDiAFKQOYAXwiBCAOVK18IARCAVatfH1CABBAIAVBgAFqQgEgBH1CACACQgAQQCAGIAggB2tqIghB//8AaiEGAn4gBSkDcCITQgGGIg0gBSkDiAEiD0IBhiAFKQOAAUI/iIR8IhBC5+wAfSIUQiCIIgIgCkKAgICAgIDAAIQiFUIBhiIWQiCIIgR+IhEgAUIBhiIOQiCIIgsgECAUVq0gDSAQVq0gBSkDeEIBhiATQj+IhCAPQj+IfHx8QgF9IhNCIIgiEH58Ig0gEVStIA0gDSATQv////8PgyITIAFCP4giFyAKQgGGhEL/////D4MiCn58Ig1WrXwgBCAQfnwgBCATfiIRIAogEH58Ig8gEVStQiCGIA9CIIiEfCANIA9CIIZ8Ig8gDVStfCAPIA8gFEL/////D4MiFCAKfiINIAIgC358IhEgDVStIBEgESATIA5C/v///w+DIg1+fCIRVq18fCIPVq18IA8gBCAUfiIYIA0gEH58IgQgAiAKfnwiCiALIBN+fCIQQiCIIAogEFatIAQgGFStIAQgClatfHxCIIaEfCIEIA9UrXwgBCAEIBEgAiANfiIKIAsgFH58IgJCIIggAiAKVK1CIIaEfCIKIBFUrSAKIAogEEIghnwiClatfHwiBFatfCAEIAQgCiACQiCGIgIgDSAUfnwgAlStQn+FIgJWIAIgClJxrXwiBFatfCICQv////////8AWARAIBYgF4QhFSAFQdAAaiAEIAJCgICAgICAwABUIgetIguGIgogAiALhiAEQgGIIAdBP3OtiIQiBCADIBIQQCAIQf7/AGogBiAHG0EBayEGIAFCMYYgBSkDWH0gBSkDUCIBQgBSrX0hC0IAIAF9DAELIAVB4ABqIAJCP4YgBEIBiIQiCiACQgGIIgQgAyASEEAgAUIwhiAFKQNofSAFKQNgIgJCAFKtfSELIAEhDkIAIAJ9CyECIAZB//8BTgRAIAxCgICAgICAwP//AIQhDEIAIQEMAQsCfiAGQQBKBEAgC0IBhiACQj+IhCEBIARC////////P4MgBq1CMIaEIQsgAkIBhgwBCyAGQY9/TARAQgAhAQwCCyAFQUBrIAogBEEBIAZrEIoBIAVBMGogDiAVIAZB8ABqEEQgBUEgaiADIBIgBSkDQCIKIAUpA0giCxBAIAUpAzggBSkDKEIBhiAFKQMgIgFCP4iEfSAFKQMwIgIgAUIBhiIEVK19IQEgAiAEfQshAiAFQRBqIAMgEkIDQgAQQCAFIAMgEkIFQgAQQCALIAogAyAKQgGDIgMgAnwiAlQgASACIANUrXwiASASViABIBJRG618IgMgClStfCIEIAMgAyAEQoCAgICAgMD//wBUIAIgBSkDEFYgASAFKQMYIgRWIAEgBFEbca18IgNWrXwiBCADIARCgICAgICAwP//AFQgAiAFKQMAViABIAUpAwgiAlYgASACURtxrXwiASADVK18IAyEIQwLIAAgATcDACAAIAw3AwggBUHQAmokAAu/AgEBfyMAQdAAayIEJAACQCADQYCAAU4EQCAEQSBqIAEgAkIAQoCAgICAgID//wAQLyAEKQMoIQIgBCkDICEBIANB//8BSQRAIANB//8AayEDDAILIARBEGogASACQgBCgICAgICAgP//ABAvQf3/AiADIANB/f8CTxtB/v8BayEDIAQpAxghAiAEKQMQIQEMAQsgA0GBgH9KDQAgBEFAayABIAJCAEKAgICAgICAORAvIAQpA0ghAiAEKQNAIQEgA0H0gH5LBEAgA0GN/wBqIQMMAQsgBEEwaiABIAJCAEKAgICAgICAORAvQeiBfSADIANB6IF9TRtBmv4BaiEDIAQpAzghAiAEKQMwIQELIAQgASACQgAgA0H//wBqrUIwhhAvIAAgBCkDCDcDCCAAIAQpAwA3AwAgBEHQAGokAAs8ACAAIAE3AwAgACACQv///////z+DIAJCgICAgICAwP//AINCMIinIANCMIinQYCAAnFyrUIwhoQ3AwgLwAECAX8CfkF/IQMCQCAAQgBSIAFC////////////AIMiBEKAgICAgIDA//8AViAEQoCAgICAgMD//wBRGw0AIAJC////////////AIMiBUKAgICAgIDA//8AViAFQoCAgICAgMD//wBScQ0AIAAgBCAFhIRQBEBBAA8LIAEgAoNCAFkEQCABIAJSIAEgAlNxDQEgACABIAKFhEIAUg8LIABCAFIgASACVSABIAJRGw0AIAAg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EKYCCyEAIAEQTAR/QZiEASgCACABQf8BcUECdGooAgAFIAELwAsJACAAENACEC0LOwADQCABIAJGRQRAIAMhACAEIAEoAgAQTAR/IAEoAgAFIAALOgAAIARBAWohBCABQQRqIQEMAQsLIAELDAAgASACIAEQTBvACyoAA0AgASACRkUEQCADIAEsAAA2AgAgA0EEaiEDIAFBAWohAQwBCwsgAQsPACAAIAEgAkGgkAEQpwILHAAgARBMBH9BoJABKAIAIAFBAnRqKAIABSABCwsPACAAIAEgAkGYhAEQpwILHAAgARBMBH9BmIQBKAIAIAFBAnRqKAIABSABCwsQACAABEAgABDHAwsgABAtCzoAA0ACQCACIANGDQAgAigCABBMRQ0AIAIoAgBBAnRBkKIBaigCACABcUUNACACQQRqIQIMAQsLIAILOQADQAJAIAIgA0YNACACKAIAEEwEQCACKAIAQQJ0QZCiAWooAgAgAXENAQsgAkEEaiECDAELCyACC0YAA0AgASACRkUEQEEAIQAgAyABKAIAEEwEfyABKAIAQQJ0QZCiAWooAgAFQQALNgIAIANBBGohAyABQQRqIQEMAQsLIAELIwBBACEAIAIQTAR/IAJBAnRBkKIBaigCACABcUEARwVBAAsLDwAgACAAKAIAKAIEEQIACwkAIAAQ1gIQLQsVAQF/QdQAEFMiAEEAQdQA/AsAIAALFAAgACgCACABaiACLQAAOgAAQQELrgEAAkAgBRBHRQRAIAAgBSkCADcCACAAIAUoAgg2AgggABBeGgwBCyAFKAIAIQQgBSgCBCECIwBBEGsiAyQAAkACQAJAIAIQvQEEQCAAIgEgAhBQDAELIAJB9////wNLDQEgA0EIaiACEJABQQFqEI8BIAMoAgwaIAAgAygCCCIBNgIAIAAgAygCDBBcIAAgAjYCBAsgASAEIAJBAWoQZSADQRBqJAAMAQsQWwALCwsJACAAIAUQ5AELhAMBCH8jAEHgA2siACQAIABB3ANqIgYgAxAnIAYQSCEKIAUQHwRAIAVBABDMASgCACAKQS0QS0YhCwsgAiALIABB3ANqIABB2ANqIABB1ANqIABB0ANqIABBxANqECQiDCAAQbgDahAkIgYgAEGsA2oQJCIHIABBqANqEN8CIABB4wA2AhAgAEEIakEAIABBEGoiAhA2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KAK8ASAEEI8DOQMAIABBzAFqIABBEGogACgCDCAEEEMgAEHcAmogAEHYAmoQKwRAIAQgBCgCAEECcjYCAAsgACgC3AIgARAgGiAAQcwBahAgGiAAQeACaiQADAMLQQEhAwsgAEHcAmoQPhoMAAsACwvKBAEDfwJ/IwBB4AJrIgAkACAAIAI2AtgCIAAgATYC3AIgAEHMAWogAyAAQeABaiAAQdwBaiAAQdgBahD7ASAAQcABahAkIgEgARAoECEgACABQQAQIiICNgK8ASAAIABBEGo2AgwgAEEANgIIIABBAToAByAAQcUAOgAGQQAhAwNAAkACQAJAIABB3AJqIABB2AJqECsNACAAKAK8ASABEB8gAmpGBEAgARAfIQYgASABEB9BAXQQISABIAEQKBAhIAAgBiABQQAQIiICajYCvAELIABB3AJqEDcgAEEHaiAAQQZqIAIgAEG8AWogACgC3AEgACgC2AEgAEHMAWogAEEQaiAAQQxqIABBCGogAEHgAWoQ+gENACADDQFBACEDIAAoArwBIAJrIgdBAEwNAgJAAkAgAi0AACIGQStrIggOAwEAAQALIAZBLkYNAkEBIQMgBkEwa0H/AXFBCkkNAwwBCyAHQQFGDQICQCAIDgMAAwADCyACLQABIgZBLkYNAUEBIQMgBkEwa0H/AXFBCU0NAgsCQCAAQcwBahAfRQ0AIAAtAAdBAXFFDQAgACgCDCIDIABBEGprQZ8BSg0AIAAgA0EEajYCDCADIAAoAgg2AgALIAUgAiAAKAK8ASAEEJEDOAIAIABBzAFqIABBEGogACgCDCAEEEMgAEHcAmogAEHYAmoQKwRAIAQgBCgCAEECcjYCAAsgACgC3AIgARAgGiAAQcwBahAgGiAAQeACaiQADAMLQQEhAwsgAEHcAmoQPhoMAAsACwuWAwECfyMAQdACayIAJAAgACACNgLIAiAAIAE2AswCIAMQaiEGIAMgAEHQAWoQrgEhByAAQcQBaiADIABBxAJqEK0BIABBuAFqECQiASABECgQISAAIAFBABAiIgI2ArQBIAAgAEEQajYCDCAAQQA2AggDQAJAIABBzAJqIABByAJqECsNACAAKAK0ASABEB8gAmpGBEAgARAfIQMgASABEB9BAXQQISABIAEQKBAhIAAgAyABQQAQIiICajYCtAELIABBzAJqIgMQNyAGIAIgAEG0AWogAEEIaiAAKALEAiAAQcQBaiAAQRBqIABBDGogBxCYAQ0AIAMQPhoMAQsLAkAgAEHEAWoQH0UNACAAKAIMIgMgAEEQamtBnwFKDQAgACADQQRqNgIMIAMgACgCCDYCAAsgBSACIAAoArQBIAQgBhCSAzcDACAAQcQBaiAAQRBqIAAoAgwgBBBDIABBzAJqIABByAJqECsEQCAEIAQoAgBBAnI2AgALIAAoAswCIAEQIBogAEHEAWoQIBogAEHQAmokAAuWAwECfyMAQdACayIAJAAgACACNgLIAiAAIAE2AswCIAMQaiEGIAMgAEHQAWoQrgEhByAAQcQBaiADIABBxAJqEK0BIABBuAFqECQiASABECgQISAAIAFBABAiIgI2ArQBIAAgAEEQajYCDCAAQQA2AggDQAJAIABBzAJqIABByAJqECsNACAAKAK0ASABEB8gAmpGBEAgARAfIQMgASABEB9BAXQQISABIAEQKBAhIAAgAyABQQAQIiICajYCtAELIABBzAJqIgMQNyAGIAIgAEG0AWogAEEIaiAAKALEAiAAQcQBaiAAQRBqIABBDGogBxCYAQ0AIAMQPhoMAQsLAkAgAEHEAWoQH0UNACAAKAIMIgMgAEEQamtBnwFKDQAgACADQQRqNgIMIAMgACgCCDYCAAsgBSACIAAoArQBIAQgBhCVAzsBACAAQcQBaiAAQRBqIAAoAgwgBBBDIABBzAJqIABByAJqECsEQCAEIAQoAgBBAnI2AgALIAAoAswCIAEQIBogAEHEAWoQIBogAEHQAmokAAuWAwECfyMAQdACayIAJAAgACACNgLIAiAAIAE2AswCIAMQaiEGIAMgAEHQAWoQrgEhByAAQcQBaiADIABBxAJqEK0BIABBuAFqECQiASABECgQISAAIAFBABAiIgI2ArQBIAAgAEEQajYCDCAAQQA2AggDQAJAIABBzAJqIABByAJqECsNACAAKAK0ASABEB8gAmpGBEAgARAfIQMgASABEB9BAXQQISABIAEQKBAhIAAgAyABQQAQIiICajYCtAELIABBzAJqIgMQNyAGIAIgAEG0AWogAEEIaiAAKALEAiAAQcQBaiAAQRBqIABBDGogBxCYAQ0AIAMQPhoMAQsLAkAgAEHEAWoQH0UNACAAKAIMIgMgAEEQamtB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DCECDAYLIANBIHIhAyABQQRqIQIgBEEEayEEIAEtAAMgCHQgB2ohBwsCQCAFQQRxRQ0AIAcgBigCIEYNACAKQd4ONgIYIAZB0f4ANgIEIAIhASAGKAIEIQUMAQsLIAIhAUEAIQdBACEDCyAGQdD+ADYCBAtBASECDAELQQAhBCAMIQILIAogDzYCECAKIBA2AgwgCiAENgIEIAogATYCACAGIAM2AkAgBiAHNgI8AkACQCAGKAIsRQRAIA8gFUYNASAGKAIEQdD+AEsNAQsCfyAVIA9rIQMCQAJAIAooAhwiASgCOCIMRQRAQQEhBSABIAooAihBASABKAIodEEBIAooAiARAwAiDDYCOCAMRQ0BCyABKAIsIgRFBEAgAUIANwIwIAFBASABKAIodCIENgIsCyADIARPBEAgBARAIAwgECAEayAE/AoAAAsgAUEANgI0DAILIAQgASgCNCIIayIFIAMgAyAFSxsiBARAIAggDGogECADayAE/AoAAAsgAyAFSwRAIAMgBGsiAwRAIAEoAjggECADayAD/AoAAAsgASADNgI0DAILQQAhBSABIAEoAjQgBGoiA0EAIAMgASgCLCIMRxs2AjQgDCABKAIwIgNNDQAgASADIARqNgIwCyAFDAELIAEgASgCLDYCMEEACw0BIAooAhAhDyAKKAIEIQQLIAogCigCCCAkIARrajYCCCAKIBUgD2siASAKKAIUajYCFCAGIAYoAiAgAWo2AiAgBi0ADEEEcUUgDyAVRnJFBEAgCigCDCABayEDIAYoAhwhBSAGAn8gBigCFARAIAUgAyABEFEMAQsgBSADIAEQswELIgE2AhwgCiABNgIwCyAKIAYoAkBBwABBACAGKAIIG2pBgAFBACAGKAIEIgFBv/4ARhtqQYACQYACQQAgAUHC/gBGGyABQcf+AEYbajYCLCACQXsgAhsgAiAPIBVGGyACIAQgJEYbIRwMAgsgBkHS/gA2AgQLQXwhHAsgF0EQaiQAIBxBAUsNASATQagBaiEBIBMoAqwBIQMgGigCACEJIBooAgQgEygCFGshDCMAQSBrIggkAAJAIAwgCWsiBUEATA0AIAEoAgggASgCBCICayAFTgRAIAIgA2siBCAFSARAIAwgBCAJaiIHayILRSAHIAxGckUEQCACIAcgC/wKAAALIAEgAiALajYCBCAE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eQAtKyAgIDBYMHgALTBYKzBYIDBYLTB4KzB4IDB4AE5vdgBUaHUAQXVndXN0AHVuc2lnbmVkIHNob3J0AHVuc2lnbmVkIGludABpbnZhbGlkIGxpdGVyYWwvbGVuZ3RocyBzZXQAaW52YWxpZCBjb2RlIGxlbmd0aHMgc2V0AHVua25vd24gaGVhZGVyIGZsYWdzIHNldABpbnZhbGlkIGRpc3RhbmNlcyBzZXQAZ2V0AE9jdABmbG9hdABpbnZhbGlkIGJpdCBsZW5ndGggcmVwZWF0AFNhdABudW1Qb2ludHMAY29sb3JzAFVucGFja09wdGlvbnMAcG9zaXRpb25zAHJvdGF0aW9ucwB0b28gbWFueSBsZW5ndGggb3IgZGlzdGFuY2Ugc3ltYm9scwBpbnZhbGlkIHN0b3JlZCBibG9jayBsZW5ndGhzAHNjYWxlcwBhbHBoYXMAW1NQWjogRVJST1JdIENoZWNrIGZhaWxlZDogJXM6JWQ6ICVzAHZmMzJfcHRyAEFwcgB2ZWN0b3IAbW9uZXlfZ2V0IGVycm9yAFtTUFogRVJST1JdIGRlc2VyaWFsaXplUGFja2VkR2F1c3NpYW5zOiByZWFkIGVycm9yAE9jdG9iZXIATm92ZW1iZXIAU2VwdGVtYmVyAERlY2VtYmVyAHVuc2lnbmVkIGNoYXIAaW9zX2Jhc2U6OmNsZWFyAE1hcgAvZW1zZGsvZW1zY3JpcHRlbi9zeXN0ZW0vbGliL2xpYmN4eGFiaS9zcmMvcHJpdmF0ZV90eXBlaW5mby5jcHAAU2VwACVJOiVNOiVTICVwAFN1bgBKdW4ATW9uAG5hbgBKYW4AY29vcmRpbmF0ZVN5c3RlbQBDb29yZGluYXRlU3lzdGVtAEp1bABib29sAGxsAEFwcmlsAGludmFsaWQgY29kZSAtLSBtaXNzaW5nIGVuZC1vZi1ibG9jawBpbmNvcnJlY3QgaGVhZGVyIGNoZWNrAGluY29ycmVjdCBsZW5ndGggY2hlY2sAaW5jb3JyZWN0IGRhdGEgY2hlY2sAcHVzaF9iYWNrAGludmFsaWQgZGlzdGFuY2UgdG9vIGZhciBiYWNrAEZyaQBzaABoZWFkZXIgY3JjIG1pc21hdGNoAE1hcmNoAEF1ZwB1bnNpZ25lZCBsb25nIGxvbmcAdW5zaWduZWQgbG9uZwBzdGQ6OndzdHJpbmcAYmFzaWNfc3RyaW5nAHN0ZDo6c3RyaW5nAHN0ZDo6dTE2c3RyaW5nAHN0ZDo6dTMyc3RyaW5nAGluZgAlLjBMZgAlTGYAcmVzaXplAGludmFsaWQgd2luZG93IHNpemUAdHJ1ZQBUdWUAZmFsc2UAaW52YWxpZCBibG9jayB0eXBlAEp1bmUAZG91YmxlAHNoRGVncmVlAGJhZF9hcnJheV9uZXdfbGVuZ3RoIHdhcyB0aHJvd24gaW4gLWZuby1leGNlcHRpb25zIG1vZGUAaW52YWxpZCBsaXRlcmFsL2xlbmd0aCBjb2RlAGludmFsaWQgZGlzdGFuY2UgY29kZQBSYXdHYXVzc2lhbkNsb3VkAHVua25vd24gY29tcHJlc3Npb24gbWV0aG9kAFtTUFogRVJST1JdIGRlc2VyaWFsaXplUGFja2VkR2F1c3NpYW5zOiBoZWFkZXIgbm90IGZvdW5kACUwKmxsZAAlKmxsZAArJWxsZAAlKy40bGQAdm9pZABsb2NhbGUgbm90IHN1cHBvcnRlZABhbnRpYWxpYXNlZABXZWQAJVktJW0tJWQAW1NQWiBFUlJPUl0gZGVzZXJpYWxpemVQYWNrZWRHYXVzc2lhbnM6IFRvbyBtYW55IHBvaW50czogJWQAW1NQWiBFUlJPUl0gZGVzZXJpYWxpemVQYWNrZWRHYXVzc2lhbnM6IFVuc3VwcG9ydGVkIFNIIGRlZ3JlZTogJWQAW1NQWiBFUlJPUl0gZGVzZXJpYWxpemVQYWNrZWRHYXVzc2lhbnM6IHZlcnNpb24gbm90IHN1cHBvcnRlZDogJWQARGVjAC4vc3B6L3NyYy9jYy9sb2FkLXNwei5jYwBGZWIAJWEgJWIgJWQgJUg6JU06JVMgJVkAUE9TSVgAVmVjdG9yVUludDhUACVIOiVNOiVTAE5BTgBQTQBBTQAlSDolTQBMQ19BTEwAQVNDSUkATEFORwBSVUYATFVGAElORgBSREYATERGAFVOU1BFQ0lGSUVEAEMAUlVCAExVQgBSREIATERCAGNhdGNoaW5nIGEgY2xhc3Mgd2l0aG91dCBhbiBvYmplY3Q/AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHNob3J0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBzaG9ydD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBpbnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGZsb2F0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50OF90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQ4X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVpbnQxNl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQxNl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50NjRfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50NjRfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dWludDMyX3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGludDMyX3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGNoYXI+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIGNoYXI+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHNpZ25lZCBjaGFyPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxsb25nPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBsb25nPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxkb3VibGU+ADAxMjM0NTY3ODkAQy5VVEYtOABWZWN0b3JGbG9hdDMyADEuMy4xAC4ALQAocGFja2VkLmFscGhhcy5zaXplKCkpID09IChudW1Qb2ludHMpAChudWxsKQAocGFja2VkLmNvbG9ycy5zaXplKCkpID09IChudW1Qb2ludHMgKiAzKQAocGFja2VkLnNjYWxlcy5zaXplKCkpID09IChudW1Qb2ludHMgKiAzKQAocGFja2VkLnNoLnNpemUoKSkgPT0gKG51bVBvaW50cyAqIHNoRGltICogMykAKHBhY2tlZC5yb3RhdGlvbnMuc2l6ZSgpKSA9PSAobnVtUG9pbnRzICogKHBhY2tlZC51c2VzUXVhdGVybmlvblNtYWxsZXN0VGhyZWUgPyA0IDogMykpAChwYWNrZWQucG9zaXRpb25zLnNpemUoKSkgPT0gKG51bVBvaW50cyAqIDMgKiAodXNlc0Zsb2F0MTYgPyAyIDogMykpACUAbGVuZ3RoX2Vycm9yIHdhcyB0aHJvd24gaW4gLWZuby1leGNlcHRpb25zIG1vZGUgd2l0aCBtZXNzYWdlICIlcyIAUHVyZSB2aXJ0dWFsIGZ1bmN0aW9uIGNhbGxlZCEAW1NQWjogRVJST1JdIFVuc3VwcG9ydGVkIFNIIGRlZ3JlZTogJWQKAAkAAAAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwBBkCALthMgEAAA9GwAAPRsAABAEAAAqG0AACgQAABOM3NwejEzR2F1c3NpYW5DbG91ZEUAAACobQAASBAAAE4zc3B6MTNVbnBhY2tPcHRpb25zRQBwcGlpcAD0bAAAbBAAAKhtAAB0EAAATlN0M19fMjZ2ZWN0b3JJZk5TXzlhbGxvY2F0b3JJZkVFRUUAaXBwACxuAADEEAAAAAAAAAMAAADcEAAAAAAAACgSAAAAAAAAWBIAAAAAAABOU3QzX18yOG9wdGlvbmFsSWZFRQAAAADQbQAA6BAAABgRAABOU3QzX18yMjdfX29wdGlvbmFsX21vdmVfYXNzaWduX2Jhc2VJZkxiMUVFRQAAAADQbQAAJBEAAFQRAABOU3QzX18yMjdfX29wdGlvbmFsX2NvcHlfYXNzaWduX2Jhc2VJZkxiMUVFRQAAAADQbQAAYBEAAIgRAABOU3QzX18yMjBfX29wdGlvbmFsX21vdmVfYmFzZUlmTGIxRUVFAAAA0G0AAJQRAAC8EQAATlN0M19fMjIwX19vcHRpb25hbF9jb3B5X2Jhc2VJZkxiMUVFRQAAANBtAADIEQAA9BEAAE5TdDNfXzIyM19fb3B0aW9uYWxfc3RvcmFnZV9iYXNlSWZMYjBFRUUAAAAAqG0AAPwRAABOU3QzX18yMjRfX29wdGlvbmFsX2Rlc3RydWN0X2Jhc2VJZkxiMUVFRQAAAKhtAAAwEgAATlN0M19fMjE4X19zZmluYWVfY3Rvcl9iYXNlSUxiMUVMYjFFRUUAAKhtAABgEgAATlN0M19fMjIwX19zZmluYWVfYXNzaWduX2Jhc2VJTGIxRUxiMUVFRQAAAACIbgAAnBIAAAAAAABsEAAAUE5TdDNfXzI2dmVjdG9ySWZOU185YWxsb2NhdG9ySWZFRUVFAAAAAIhuAADUEgAAAQAAAGwQAABQS05TdDNfXzI2dmVjdG9ySWZOU185YWxsb2NhdG9ySWZFRUVFAHBwAHYAdnAAAACMEgAAcHAAAJRsAACMEgAAPG0AAHZwcGQAAAAAlGwAAIwSAAAYbQAAPG0AAHZwcHBkAAAAGG0AAMQSAABwcHAATBMAADxtAACobQAAVBMAAE4xMGVtc2NyaXB0ZW4zdmFsRQAAnBAAAGwQAAAYbQAAcHBwcAAAAAAAAAAArGwAAGwQAAAYbQAAPG0AAGlwcHBkAAAALG4AAMATAAAAAAAAAwAAANgTAAAAAAAAKBIAAAAAAABYEgAAAAAAAE5TdDNfXzI4b3B0aW9uYWxJaEVFAAAAANBtAADkEwAAFBQAAE5TdDNfXzIyN19fb3B0aW9uYWxfbW92ZV9hc3NpZ25fYmFzZUloTGIxRUVFAAAAANBtAAAgFAAAUBQAAE5TdDNfXzIyN19fb3B0aW9uYWxfY29weV9hc3NpZ25fYmFzZUloTGIxRUVFAAAAANBtAABcFAAAhBQAAE5TdDNfXzIyMF9fb3B0aW9uYWxfbW92ZV9iYXNlSWhMYjFFRUUAAADQbQAAkBQAALgUAABOU3QzX18yMjBfX29wdGlvbmFsX2NvcHlfYmFzZUloTGIxRUVFAAAA0G0AAMQUAADwFAAATlN0M19fMjIzX19vcHRpb25hbF9zdG9yYWdlX2Jhc2VJaExiMEVFRQAAAACobQAA+BQAAE5TdDNfXzIyNF9fb3B0aW9uYWxfZGVzdHJ1Y3RfYmFzZUloTGIxRUVFAAAAqG0AACwVAABOU3QzX18yNnZlY3RvckloTlNfOWFsbG9jYXRvckloRUVFRQCIbgAAYBUAAAAAAAAkFQAAUE5TdDNfXzI2dmVjdG9ySWhOU185YWxsb2NhdG9ySWhFRUVFAAAAAIhuAACYFQAAAQAAACQVAABQS05TdDNfXzI2dmVjdG9ySWhOU185YWxsb2NhdG9ySWhFRUVFAHBwAHZwAFAVAABwcAAAlGwAAFAVAADEbAAAdnBwaQAAAACUbAAAUBUAABhtAADEbAAAdnBwcGkAAAAYbQAAiBUAAHBwcABMEwAAxGwAAJgTAAAkFQAAGG0AAHBwcHAAAAAArGwAACQVAAAYbQAAxGwAAGlwcHBpAHAAdnAAaXBwAHZwcGkAaXBwAHZwcGkAcHBwAHZwcHAAAABcbQAAYBYAAE4zc3B6MTZDb29yZGluYXRlU3lzdGVtRQBwAHZwAGlwcAB2cHBpAAAAAAAAAwAAAAgAAAAPAAAAqG0AAKAWAABOU3QzX18yMTJiYXNpY19zdHJpbmdJY05TXzExY2hhcl90cmFpdHNJY0VFTlNfOWFsbG9jYXRvckljRUVFRQAAqG0AAOgWAABOU3QzX18yMTJiYXNpY19zdHJpbmdJd05TXzExY2hhcl90cmFpdHNJd0VFTlNfOWFsbG9jYXRvckl3RUVFRQAAqG0AADAXAABOU3QzX18yMTJiYXNpY19zdHJpbmdJRHNOU18xMWNoYXJfdHJhaXRzSURzRUVOU185YWxsb2NhdG9ySURzRUVFRQAAAKhtAAB8FwAATlN0M19fMjEyYmFzaWNfc3RyaW5nSURpTlNfMTFjaGFyX3RyYWl0c0lEaUVFTlNfOWFsbG9jYXRvcklEaUVFRUUAAACobQAAyBcAAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWNFRQAAqG0AAPAXAABOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lhRUUAAKhtAAAYGAAATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJaEVFAACobQAAQBgAAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SXNFRQAAqG0AAGgYAABOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0l0RUUAAKhtAACQGAAATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJaUVFAACobQAAuBgAAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWpFRQAAqG0AAOAYAABOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lsRUUAAKhtAAAIGQAATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJbUVFAACobQAAMBkAAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SXhFRQAAqG0AAFgZAABOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0l5RUUAAKhtAACAGQAATjEwZW1zY3Jp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AAAJqAAACAQAAAiEAAAIRAAACegAEAcIAAAIXAAACBwAAAmYABQHUwAACHwAAAg8AAAJ2AASBxcAAAhsAAAILAAACbgAAAgMAAAIjAAACEwAAAn4ABAHAwAACFIAAAgSABUIowATByMAAAhyAAAIMgAACcQAEQcLAAAIYgAACCIAAAmkAAAIAgAACIIAAAhCAAAJ5AAQBwcAAAhaAAAIGgAACZQAFAdDAAAIegAACDoAAAnUABIHEwAACGoAAAgqAAAJtAAACAoAAAiKAAAISgAACfQAEAcFAAAIVgAACBYAQAgAABMHMwAACHYAAAg2AAAJzAARBw8AAAhmAAAIJgAACawAAAgGAAAIhgAACEYAAAnsABAHCQAACF4AAAgeAAAJnAAUB2MAAAh+AAAIPgAACdwAEgcbAAAIbgAACC4AAAm8AAAIDgAACI4AAAhOAAAJ/ABgBwAAAAhRAAAIEQAVCIMAEgcfAAAIcQAACDEAAAnCABAHCgAACGEAAAghAAAJogAACAEAAAiBAAAIQQAACeIAEAcGAAAIWQAACBkAAAmSABMHOwAACHkAAAg5AAAJ0gARBxEAAAhpAAAIKQAACbIAAAgJAAAIiQAACEkAAAnyABAHBAAACFUAAAgVABAIAgETBysAAAh1AAAINQAACcoAEQcNAAAIZQAACCUAAAmqAAAIBQAACIUAAAhFAAAJ6gAQBwgAAAhdAAAIHQAACZoAFAdTAAAIfQAACD0AAAnaABIHFwAACG0AAAgtAAAJugAACA0AAAiNAAAITQAACfoAEAcDAAAIUwAACBMAFQjDABMHIwAACHMAAAgzAAAJxgARBwsAAAhjAAAIIwAACaYAAAgDAAAIgwAACEMAAAnmABAHBwAACFsAAAgbAAAJlgAUB0MAAAh7AAAIOwAACdYAEgcTAAAIawAACCsAAAm2AAAICwAACIsAAAhLAAAJ9gAQBwUAAAhXAAAIFwBACAAAEwczAAAIdwAACDcAAAnOABEHDwAACGcAAAgnAAAJrgAACAcAAAiHAAAIRwAACe4AEAcJAAAIXwAACB8AAAmeABQHYwAACH8AAAg/AAAJ3gASBxsAAAhvAAAILwAACb4AAAgPAAAIjwAACE8AAAn+AGAHAAAACFAAAAgQABQIcwASBx8AAAhwAAAIMAAACcEAEAcKAAAIYAAACCAAAAmhAAAIAAAACIAAAAhAAAAJ4QAQBwYAAAhYAAAIGAAACZEAEwc7AAAIeAAACDgAAAnRABEHEQAACGgAAAgoAAAJsQAACAgAAAiIAAAISAAACfEAEAcEAAAIVAAACBQAFQjjABMHKwAACHQAAAg0AAAJyQARBw0AAAhkAAAIJAAACakAAAgEAAAIhAAACEQAAAnpABAHCAAACFwAAAgcAAAJmQAUB1MAAAh8AAAIPAAACdkAEgcXAAAIbAAACCwAAAm5AAAIDAAACIwAAAhMAAAJ+QAQBwMAAAhSAAAIEgAVCKMAEwcjAAAIcgAACDIAAAnFABEHCwAACGIAAAgiAAAJpQAACAIAAAiCAAAIQgAACeUAEAcHAAAIWgAACBoAAAmVABQHQwAACHoAAAg6AAAJ1QASBxMAAAhqAAAIKgAACbUAAAgKAAAIigAACEoAAAn1ABAHBQAACFYAAAgWAEAIAAATBzMAAAh2AAAINgAACc0AEQcPAAAIZgAACCYAAAmtAAAIBgAACIYAAAhGAAAJ7QAQBwkAAAheAAAIHgAACZ0AFAdjAAAIfgAACD4AAAndABIHGwAACG4AAAguAAAJvQAACA4AAAiOAAAITgAACf0AYAcAAAAIUQAACBEAFQiDABIHHwAACHEAAAgxAAAJwwAQBwoAAAhhAAAIIQAACaMAAAgBAAAIgQAACEEAAAnjABAHBgAACFkAAAgZAAAJkwATBzsAAAh5AAAIOQAACdMAEQcRAAAIaQAACCkAAAmzAAAICQAACIkAAAhJAAAJ8wAQBwQAAAhVAAAIFQAQCAIBEwcrAAAIdQAACDUAAAnLABEHDQAACGUAAAglAAAJqwAACAUAAAiFAAAIRQAACesAEAcIAAAIXQAACB0AAAmbABQHUwAACH0AAAg9AAAJ2wASBxcAAAhtAAAILQAACbsAAAgNAAAIjQAACE0AAAn7ABAHAwAACFMAAAgTABUIwwATByMAAAhzAAAIMwAACccAEQcLAAAIYwAACCMAAAmnAAAIAwAACIMAAAhDAAAJ5wAQBwcAAAhbAAAIGwAACZcAFAdDAAAIewAACDsAAAnXABIHEwAACGsAAAgrAAAJtwAACAsAAAiLAAAISwAACfcAEAcFAAAIVwAACBcAQAgAABMHMwAACHcAAAg3AAAJzwARBw8AAAhnAAAIJwAACa8AAAgH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Y05TXzExY2hhcl90cmFpdHNJY0VFRUUA0G0AAHg9AAAAPAAATlN0M19fMjE1YmFzaWNfc3RyaW5nYnVmSWNOU18xMWNoYXJfdHJhaXRzSWNFRU5TXzlhbGxvY2F0b3JJY0VFRUUAAABAAAAAAAAAAKw+AABZAAAAWgAAADgAAAD4////rD4AAFsAAABcAAAAwP///8D///+sPgAAXQAAAF4AAADIPQAALD4AAGg+AAB8PgAAkD4AAKQ+AABUPgAAQD4AAPA9AADcPQAAQAAAAAAAAAAcPQAATAAAAE0AAAA4AAAA+P///xw9AABOAAAATwAAAMD////A////HD0AAFAAAABRAAAAQAAAAAAAAAA8PAAARAAAAEUAAADA////wP///zw8AABGAAAARwAAADgAAAAAAAAAhDwAAEgAAABJAAAAyP///8j///+EPAAASgAAAEsAAADQbQAAuD4AABw9AABOU3QzX18yMThiYXNpY19zdHJpbmdzdHJlYW1JY05TXzExY2hhcl90cmFpdHNJY0VFTlNfOWFsbG9jYXRvckljRUVFRQAAAAAAAAAAED8AAF8AAABgAAAAqG0AABg/AABOU3QzX18yOGlvc19iYXNlRQAAAAAAAADRdJ4AV529KoBwUg///z4nCgAAAGQAAADoAwAAECcAAKCGAQBAQg8AgJaYAADh9QUYAAAANQAAAHEAAABr////zvv//5K///8AAAAAAAAAAP////////////////////////////////////////////////////////////////8AAQIDBAUGBwgJ/////////woLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIj////////CgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiP/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAECBAcDBgUAAAAAAAAAAgAAwAMAAMAEAADABQAAwAYAAMAHAADACAAAwAkAAMAKAADACwAAwAwAAMANAADADgAAwA8AAMAQAADAEQAAwBIAAMATAADA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")),u((await async function(p){return yA(p)}(y)).instance))}();if(e.preInit)for(typeof e.preInit=="function"&&(e.preInit=[e.preInit]);0<e.preInit.length;)e.preInit.shift()();return function D(){function u(){var y;if(e.calledRun=!0,!W){if(eA=!0,Qe.G(),C?.(e),(y=e.onRuntimeInitialized)==null||y.call(e),e.postRun)for(typeof e.postRun=="function"&&(e.postRun=[e.postRun]);e.postRun.length;){var p=e.postRun.shift();BA.push(p)}fA(BA)}}if(0<nA)bA=D;else{if(e.preRun)for(typeof e.preRun=="function"&&(e.preRun=[e.preRun]);e.preRun.length;)rA();fA(kA),0<nA?bA=D:e.setStatus?(e.setStatus("Running..."),setTimeout(()=>{setTimeout(()=>e.setStatus(""),1),u()},1)):u()}}(),a=eA?e:new Promise((D,u)=>{C=D,Q=u}),a}const he=(t,A,a=e=>e)=>{const e=t.vf32_ptr(A),g=A.size();return new Float32Array(t.HEAPF32.buffer,e,g).map(a)},Er=t=>1/(1+Math.exp(-t)),Qr=t=>A=>A*t+.5,cr=async(t,A)=>{var a;const e=await Cr(),g=t instanceof Uint8Array?t:new Uint8Array(t);let i=null;try{if(i=e._malloc(Uint8Array.BYTES_PER_ELEMENT*g.length),i===null)throw new Error("couldn't allocate memory");e.HEAPU8.set(g,i/Uint8Array.BYTES_PER_ELEMENT);const I=e.CoordinateSystem[((a=A?.unpackOptions)==null?void 0:a.coordinateSystem)??"UNSPECIFIED"],r=e.load_spz(i,g.length,{coordinateSystem:I}),o=((B,n)=>({numPoints:n.numPoints,shDegree:n.shDegree,antialiased:n.antialiased,positions:he(B,n.positions),scales:he(B,n.scales,Math.exp),rotations:he(B,n.rotations),alphas:he(B,n.alphas,Er),colors:he(B,n.colors,Qr(.282)),sh:he(B,n.sh)}))(e,r);return((B,n)=>{B._free(B.vf32_ptr(n.positions)),B._free(B.vf32_ptr(n.scales)),B._free(B.vf32_ptr(n.rotations)),B._free(B.vf32_ptr(n.alphas)),B._free(B.vf32_ptr(n.colors)),B._free(B.vf32_ptr(n.sh))})(e,r),o}catch(I){throw I}finally{i!==null&&e._free(i)}},hr=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"}));function dr(t){return new Worker(""+(typeof document>"u"?require("url").pathToFileURL(__dirname+"/assets/SPZ.worker-d-ZlUCr9.js").href:new URL("assets/SPZ.worker-d-ZlUCr9.js",document.currentScript&&document.currentScript.tagName.toUpperCase()==="SCRIPT"&&document.currentScript.src||document.baseURI).href),{type:"module",name:t?.name})}class br{constructor(A,a){this.gltfLoader=A,this.renderer=a,this.gltfLoader?.register&&this.gltfLoader.register(()=>({name:"KHR_spz_gaussian_splats_compression"}));try{this.spzWorker=new dr({type:"module"}),this.spzWorkerJobId=0,this.spzWorkerCallbacks=new Map,this.spzWorker.onmessage=e=>{const{id:g,pos:i,col:I,c0:r,c1:o,error:B}=e.data||{},n=this.spzWorkerCallbacks.get(g);n&&(this.spzWorkerCallbacks.delete(g),B?n.reject(new Error(B)):n.resolve({pos:i,col:I,c0:r,c1:o}))},this.spzWorker.onerror=e=>{for(const[,g]of this.spzWorkerCallbacks)g.reject(e instanceof Error?e:new Error(String(e)));this.spzWorkerCallbacks.clear()}}catch{this.spzWorker=void 0}}parseSplats(A,a,e,g){return new Promise(async(i,I)=>{await this.#n(),this.gltfLoader.parse(A,"",async r=>{try{const o=await this.#t(r,g);i(o)}catch(o){I(o)}},r=>I(r))})}async#t(A,a){if(a)return this.#A(A);const e=A.parser,g=e.json,i=this.#g(g);return i?.type==="SPZ"?this.#i(e,i,A):i?.type==="KHR"?this.#I(e,g,i,A):i?.type==="ULTRA"?this.#A(A):(A.scene||(A.scene=new z.Object3D),A.scene.asset=A.asset,A.scene)}#g(A){if(!A?.meshes)return null;for(let a=0;a<A.meshes.length;a++){const e=A.meshes[a];for(let g=0;g<(e.primitives?.length||0);g++){const i=e.primitives[g],I=i?.extensions;if(I?.KHR_spz_gaussian_splats_compression&&Number.isInteger(I.KHR_spz_gaussian_splats_compression.bufferView))return{mesh:a,prim:g,type:"SPZ",bv:I.KHR_spz_gaussian_splats_compression.bufferView};if(I?.KHR_gaussian_splatting)return{mesh:a,prim:g,type:"KHR"};if(I?.ULTRA_splats)return{mesh:a,prim:g,type:"ULTRA"}}}return null}async#i(A,a,e){let g=await A.getDependency("bufferView",a.bv);if(g?.buffer?.byteLength&&(g=g.buffer.slice(g.byteOffset,g.byteLength+g.byteOffset)),this.spzWorker){const h=this.spzWorkerJobId++,l=new Promise((Z,nA)=>{this.spzWorkerCallbacks.set(h,{resolve:Z,reject:nA})});try{this.spzWorker.postMessage({id:h,spz:g},[g])}catch(Z){throw this.spzWorkerCallbacks.delete(h),Z}const{pos:w,col:M,c0:k,c1:N}=await l,F=new Float32Array(w),G=new Float32Array(M),L=new Float32Array(k),x=new Float32Array(N),W=new z.BufferAttribute(F,3),X=new z.BufferAttribute(G,4),eA=new z.BufferAttribute(L,3),AA=new z.BufferAttribute(x,3);return e.scene.traverse(Z=>Z.dispose&&Z.dispose()),{isSplatsData:!0,positions:W,colors:X,cov0:eA,cov1:AA}}const i=await cr(g),I=i.numPoints??i.positions.length/3,r=new Float32Array(i.positions),o=i.colors??i.color,B=i.alphas??i.opacity??i.opacities,n=new Float32Array(4*I);for(let h=0;h<I;h++){const l=o[3*h+0],w=o[3*h+1],M=o[3*h+2],k=B?this.#r(B[h]):1,[N,F,G]=this.#e(l,w,M);n.set([N,F,G,k],4*h)}const s=i.rotations??i.quaternions,E=i.scales??i.scale,C=this.#a(s,E),Q=new z.BufferAttribute(r,3),c=new z.BufferAttribute(n,4),d=new z.BufferAttribute(C.c0,3),b=new z.BufferAttribute(C.c1,3);return e.scene.traverse(h=>h.dispose&&h.dispose()),{isSplatsData:!0,positions:Q,colors:c,cov0:d,cov1:b}}async#I(A,a,e,g){const i=a.meshes[e.mesh].primitives[e.prim],I=async h=>{const l=i.attributes?.[h];return Number.isInteger(l)?A.getDependency("accessor",l):null};let r=await I("POSITION");if(!r)return this.#A(g);r?.buffer&&(r=new Float32Array(r.buffer,r.byteOffset,3*r.count));let o=await I("COLOR_0");o?.buffer&&(o=new Float32Array(o.buffer,o.byteOffset,(o.itemSize||4)*o.count));let B=await I("ROTATION")||await I("_ROTATION"),n=await I("SCALE")||await I("_SCALE");B?.buffer&&(B=new Float32Array(B.buffer,B.byteOffset,4*B.count)),n?.buffer&&(n=new Float32Array(n.buffer,n.byteOffset,3*n.count));const s=r.length/3,E=new Float32Array(4*s);if(o){const h=o.length===4*s?4:3;for(let l=0;l<s;l++){const w=o[l*h+0],M=o[l*h+1],k=o[l*h+2],[N,F,G]=this.#e(w,M,k);E.set([N,F,G,h===4?o[l*h+3]:1],4*l)}}else for(let h=0;h<s;h++)E.set([1,1,1,1],4*h);const C=this.#a(B,n),Q=new z.BufferAttribute(r,3),c=new z.BufferAttribute(E,4),d=new z.BufferAttribute(C.c0,3),b=new z.BufferAttribute(C.c1,3);return g.scene.traverse(h=>h.dispose&&h.dispose()),{isSplatsData:!0,positions:Q,colors:c,cov0:d,cov1:b}}async#A(A){const a=A.scene.children[0].geometry,e=a.attributes.position,g=a.attributes.color,i=a.attributes.cov_0||a.attributes.COV_0,I=a.attributes.cov_1||a.attributes.COV_1;return A.scene.traverse(r=>r.dispose&&r.dispose()),{isSplatsData:!0,positions:e,colors:g,cov0:i,cov1:I}}#a(A,a){const e=(A?.length||0)/4,g=new Float32Array(3*e),i=new Float32Array(3*e),I=new Float32Array(9);for(let r=0;r<e;r++){const o=A?A[4*r+0]:0,B=A?A[4*r+1]:0,n=A?A[4*r+2]:0,s=A?A[4*r+3]:1,E=o*o,C=B*B,Q=n*n,c=o*B,d=o*n,b=B*n,h=s*o,l=s*B,w=s*n;I[0]=1-2*(C+Q),I[1]=2*(c-w),I[2]=2*(d+l),I[3]=2*(c+w),I[4]=1-2*(E+Q),I[5]=2*(b-h),I[6]=2*(d-l),I[7]=2*(b+h),I[8]=1-2*(E+C);const M=Math.max(1e-12,a?a[3*r+0]:0),k=Math.max(1e-12,a?a[3*r+1]:0),N=Math.max(1e-12,a?a[3*r+2]:0),F=M*M,G=k*k,L=N*N,x=I[0]*I[0]*F+I[1]*I[1]*G+I[2]*I[2]*L,W=I[3]*I[0]*F+I[4]*I[1]*G+I[5]*I[2]*L,X=I[6]*I[0]*F+I[7]*I[1]*G+I[8]*I[2]*L,eA=I[3]*I[3]*F+I[4]*I[4]*G+I[5]*I[5]*L,AA=I[6]*I[3]*F+I[7]*I[4]*G+I[8]*I[5]*L,Z=I[6]*I[6]*F+I[7]*I[7]*G+I[8]*I[8]*L,nA=3*r;g[nA+0]=x,g[nA+1]=W,g[nA+2]=X,i[nA+0]=eA,i[nA+1]=AA,i[nA+2]=Z}return{c0:g,c1:i}}#r(A){return Number.isFinite(A)?A>=0&&A<=1?A:A>=0&&A<=255&&Math.abs(A-Math.round(A))<.001?A/255:A>=0&&A<=65535&&Math.abs(A-Math.round(A))<.001?A/65535:Math.min(1,Math.max(0,A)):1}#e(A,a,e){const g=s=>s>=0&&s<=255&&Math.abs(s-Math.round(s))<.001,i=s=>s>=0&&s<=65535&&Math.abs(s-Math.round(s))<.001,I=s=>s<=.04045?s/12.92:Math.pow((s+.055)/1.055,2.4),r=s=>Math.min(1,Math.max(0,s));let o=A,B=a,n=e;if(!(A>=0&&A<=1&&a>=0&&a<=1&&e>=0&&e<=1))if(g(A)&&g(a)&&g(e))o=A/255,B=a/255,n=e/255;else if(i(A)&&i(a)&&i(e))o=A/65535,B=a/65535,n=e/65535;else{const s=E=>.5+.28209479177387814*E;o=s(A),B=s(a),n=s(e)}return o=r(o),B=r(B),n=r(n),[I(o),I(B),I(n)]}#n(){return new Promise(A=>{const a=setInterval(()=>{const e=this.gltfLoader;e.hasDracoLoader&&!e.dracoLoader||e.hasKTX2Loader&&!e.ktx2Loader||(clearInterval(a),A())},10)})}}class Zi extends f.Loader{constructor(A){super(A),this.dracoLoader=null,this.ktx2Loader=null,this.meshoptDecoder=null,this.pluginCallbacks=[],this.register(function(a){return new wr(a)}),this.register(function(a){return new pr(a)}),this.register(function(a){return new Sr(a)}),this.register(function(a){return new Ur(a)}),this.register(function(a){return new xr(a)}),this.register(function(a){return new mr(a)}),this.register(function(a){return new Fr(a)}),this.register(function(a){return new kr(a)}),this.register(function(a){return new Mr(a)}),this.register(function(a){return new Dr(a)}),this.register(function(a){return new Rr(a)}),this.register(function(a){return new yr(a)}),this.register(function(a){return new Gr(a)}),this.register(function(a){return new Nr(a)}),this.register(function(a){return new lr(a)}),this.register(function(a){return new Lr(a)}),this.register(function(a){return new jr(a)})}load(A,a,e,g){const i=this;let I;if(this.resourcePath!=="")I=this.resourcePath;else if(this.path!==""){const B=f.LoaderUtils.extractUrlBase(A);I=f.LoaderUtils.resolveURL(B,this.path)}else I=f.LoaderUtils.extractUrlBase(A);this.manager.itemStart(A);const r=function(B){g?g(B):console.error(B),i.manager.itemError(A),i.manager.itemEnd(A)},o=new f.FileLoader(this.manager);o.setPath(this.path),o.setResponseType("arraybuffer"),o.setRequestHeader(this.requestHeader),o.setWithCredentials(this.withCredentials),o.load(A,function(B){try{i.parse(B,I,function(n){a(n),i.manager.itemEnd(A)},r)}catch(n){r(n)}},e,r)}setDRACOLoader(A){return this.dracoLoader=A,this}setKTX2Loader(A){return this.ktx2Loader=A,this}setMeshoptDecoder(A){return this.meshoptDecoder=A,this}register(A){return this.pluginCallbacks.indexOf(A)===-1&&this.pluginCallbacks.push(A),this}unregister(A){return this.pluginCallbacks.indexOf(A)!==-1&&this.pluginCallbacks.splice(this.pluginCallbacks.indexOf(A),1),this}parse(A,a,e,g){let i;const I={},r={},o=new TextDecoder;if(typeof A=="string")i=JSON.parse(A);else if(A instanceof ArrayBuffer)if(o.decode(new Uint8Array(A,0,4))===_i){try{I[dA.KHR_BINARY_GLTF]=new Hr(A)}catch(n){return void(g&&g(n))}i=JSON.parse(I[dA.KHR_BINARY_GLTF].content)}else i=JSON.parse(o.decode(A));else i=A;if(i.asset===void 0||i.asset.version[0]<2)return void(g&&g(new Error("THREE.GLTFLoader: Unsupported asset. glTF versions >=2.0 are supported.")));const B=new $r(i,{path:a||this.resourcePath||"",crossOrigin:this.crossOrigin,requestHeader:this.requestHeader,manager:this.manager,ktx2Loader:this.ktx2Loader,meshoptDecoder:this.meshoptDecoder});B.fileLoader.setRequestHeader(this.requestHeader);for(let n=0;n<this.pluginCallbacks.length;n++){const s=this.pluginCallbacks[n](B);s.name||console.error("THREE.GLTFLoader: Invalid plugin found: missing name"),r[s.name]=s,I[s.name]=!0}if(i.extensionsUsed)for(let n=0;n<i.extensionsUsed.length;++n){const s=i.extensionsUsed[n],E=i.extensionsRequired||[];switch(s){case dA.KHR_MATERIALS_UNLIT:I[s]=new fr;break;case dA.KHR_DRACO_MESH_COMPRESSION:I[s]=new Yr(i,this.dracoLoader);break;case dA.KHR_TEXTURE_TRANSFORM:I[s]=new Kr;break;case dA.KHR_MESH_QUANTIZATION:I[s]=new Tr;break;default:E.indexOf(s)>=0&&r[s]===void 0&&console.warn('THREE.GLTFLoader: Unknown extension "'+s+'".')}}B.setExtensions(I),B.setPlugins(r),B.parse(e,g)}parseAsync(A,a){const e=this;return new Promise(function(g,i){e.parse(A,a,g,i)})}}function ur(){let t={};return{get:function(A){return t[A]},add:function(A,a){t[A]=a},remove:function(A){delete t[A]},removeAll:function(){t={}}}}const dA={KHR_BINARY_GLTF:"KHR_binary_glTF",KHR_DRACO_MESH_COMPRESSION:"KHR_draco_mesh_compression",KHR_LIGHTS_PUNCTUAL:"KHR_lights_punctual",KHR_MATERIALS_CLEARCOAT:"KHR_materials_clearcoat",KHR_MATERIALS_DISPERSION:"KHR_materials_dispersion",KHR_MATERIALS_IOR:"KHR_materials_ior",KHR_MATERIALS_SHEEN:"KHR_materials_sheen",KHR_MATERIALS_SPECULAR:"KHR_materials_specular",KHR_MATERIALS_TRANSMISSION:"KHR_materials_transmission",KHR_MATERIALS_IRIDESCENCE:"KHR_materials_iridescence",KHR_MATERIALS_ANISOTROPY:"KHR_materials_anisotropy",KHR_MATERIALS_UNLIT:"KHR_materials_unlit",KHR_MATERIALS_VOLUME:"KHR_materials_volume",KHR_TEXTURE_BASISU:"KHR_texture_basisu",KHR_TEXTURE_TRANSFORM:"KHR_texture_transform",KHR_MESH_QUANTIZATION:"KHR_mesh_quantization",KHR_MATERIALS_EMISSIVE_STRENGTH:"KHR_materials_emissive_strength",EXT_MATERIALS_BUMP:"EXT_materials_bump",EXT_TEXTURE_WEBP:"EXT_texture_webp",EXT_TEXTURE_AVIF:"EXT_texture_avif",EXT_MESHOPT_COMPRESSION:"EXT_meshopt_compression",EXT_MESH_GPU_INSTANCING:"EXT_mesh_gpu_instancing"};class lr{constructor(A){this.parser=A,this.name=dA.KHR_LIGHTS_PUNCTUAL,this.cache={refs:{},uses:{}}}_markDefs(){const A=this.parser,a=this.parser.json.nodes||[];for(let e=0,g=a.length;e<g;e++){const i=a[e];i.extensions&&i.extensions[this.name]&&i.extensions[this.name].light!==void 0&&A._addNodeRef(this.cache,i.extensions[this.name].light)}}_loadLight(A){const a=this.parser,e="light:"+A;let g=a.cache.get(e);if(g)return g;const i=a.json,I=((i.extensions&&i.extensions[this.name]||{}).lights||[])[A];let r;const o=new f.Color(16777215);I.color!==void 0&&o.setRGB(I.color[0],I.color[1],I.color[2],f.LinearSRGBColorSpace);const B=I.range!==void 0?I.range:0;switch(I.type){case"directional":r=new f.DirectionalLight(o),r.target.position.set(0,0,-1),r.add(r.target);break;case"point":r=new f.PointLight(o),r.distance=B;break;case"spot":r=new f.SpotLight(o),r.distance=B,I.spot=I.spot||{},I.spot.innerConeAngle=I.spot.innerConeAngle!==void 0?I.spot.innerConeAngle:0,I.spot.outerConeAngle=I.spot.outerConeAngle!==void 0?I.spot.outerConeAngle:Math.PI/4,r.angle=I.spot.outerConeAngle,r.penumbra=1-I.spot.innerConeAngle/I.spot.outerConeAngle,r.target.position.set(0,0,-1),r.add(r.target);break;default:throw new Error("THREE.GLTFLoader: Unexpected light type: "+I.type)}return r.position.set(0,0,0),xa(r,I),I.intensity!==void 0&&(r.intensity=I.intensity),r.name=a.createUniqueName(I.name||"light_"+A),g=Promise.resolve(r),a.cache.add(e,g),g}getDependency(A,a){if(A==="light")return this._loadLight(a)}createNodeAttachment(A){const a=this,e=this.parser,g=e.json.nodes[A],i=(g.extensions&&g.extensions[this.name]||{}).light;return i===void 0?null:this._loadLight(i).then(function(I){return e._getNodeRef(a.cache,i,I)})}}class fr{constructor(){this.name=dA.KHR_MATERIALS_UNLIT}getMaterialType(){return f.MeshBasicMaterial}extendParams(A,a,e){const g=[];A.color=new f.Color(1,1,1),A.opacity=1;const i=a.pbrMetallicRoughness;if(i){if(Array.isArray(i.baseColorFactor)){const I=i.baseColorFactor;A.color.setRGB(I[0],I[1],I[2],f.LinearSRGBColorSpace),A.opacity=I[3]}i.baseColorTexture!==void 0&&g.push(e.assignTexture(A,"map",i.baseColorTexture,f.SRGBColorSpace))}return Promise.all(g)}}class Dr{constructor(A){this.parser=A,this.name=dA.KHR_MATERIALS_EMISSIVE_STRENGTH}extendMaterialParams(A,a){const e=this.parser.json.materials[A];if(!e.extensions||!e.extensions[this.name])return Promise.resolve();const g=e.extensions[this.name].emissiveStrength;return g!==void 0&&(a.emissiveIntensity=g),Promise.resolve()}}class wr{constructor(A){this.parser=A,this.name=dA.KHR_MATERIALS_CLEARCOAT}getMaterialType(A){const a=this.parser.json.materials[A];return a.extensions&&a.extensions[this.name]?f.MeshPhysicalMaterial:null}extendMaterialParams(A,a){const e=this.parser,g=e.json.materials[A];if(!g.extensions||!g.extensions[this.name])return Promise.resolve();const i=[],I=g.extensions[this.name];if(I.clearcoatFactor!==void 0&&(a.clearcoat=I.clearcoatFactor),I.clearcoatTexture!==void 0&&i.push(e.assignTexture(a,"clearcoatMap",I.clearcoatTexture)),I.clearcoatRoughnessFactor!==void 0&&(a.clearcoatRoughness=I.clearcoatRoughnessFactor),I.clearcoatRoughnessTexture!==void 0&&i.push(e.assignTexture(a,"clearcoatRoughnessMap",I.clearcoatRoughnessTexture)),I.clearcoatNormalTexture!==void 0&&(i.push(e.assignTexture(a,"clearcoatNormalMap",I.clearcoatNormalTexture)),I.clearcoatNormalTexture.scale!==void 0)){const r=I.clearcoatNormalTexture.scale;a.clearcoatNormalScale=new f.Vector2(r,r)}return Promise.all(i)}}class pr{constructor(A){this.parser=A,this.name=dA.KHR_MATERIALS_DISPERSION}getMaterialType(A){const a=this.parser.json.materials[A];return a.extensions&&a.extensions[this.name]?f.MeshPhysicalMaterial:null}extendMaterialParams(A,a){const e=this.parser.json.materials[A];if(!e.extensions||!e.extensions[this.name])return Promise.resolve();const g=e.extensions[this.name];return a.dispersion=g.dispersion!==void 0?g.dispersion:0,Promise.resolve()}}class yr{constructor(A){this.parser=A,this.name=dA.KHR_MATERIALS_IRIDESCENCE}getMaterialType(A){const a=this.parser.json.materials[A];return a.extensions&&a.extensions[this.name]?f.MeshPhysicalMaterial:null}extendMaterialParams(A,a){const e=this.parser,g=e.json.materials[A];if(!g.extensions||!g.extensions[this.name])return Promise.resolve();const i=[],I=g.extensions[this.name];return I.iridescenceFactor!==void 0&&(a.iridescence=I.iridescenceFactor),I.iridescenceTexture!==void 0&&i.push(e.assignTexture(a,"iridescenceMap",I.iridescenceTexture)),I.iridescenceIor!==void 0&&(a.iridescenceIOR=I.iridescenceIor),a.iridescenceThicknessRange===void 0&&(a.iridescenceThicknessRange=[100,400]),I.iridescenceThicknessMinimum!==void 0&&(a.iridescenceThicknessRange[0]=I.iridescenceThicknessMinimum),I.iridescenceThicknessMaximum!==void 0&&(a.iridescenceThicknessRange[1]=I.iridescenceThicknessMaximum),I.iridescenceThicknessTexture!==void 0&&i.push(e.assignTexture(a,"iridescenceThicknessMap",I.iridescenceThicknessTexture)),Promise.all(i)}}class mr{constructor(A){this.parser=A,this.name=dA.KHR_MATERIALS_SHEEN}getMaterialType(A){const a=this.parser.json.materials[A];return a.extensions&&a.extensions[this.name]?f.MeshPhysicalMaterial:null}extendMaterialParams(A,a){const e=this.parser,g=e.json.materials[A];if(!g.extensions||!g.extensions[this.name])return Promise.resolve();const i=[];a.sheenColor=new f.Color(0,0,0),a.sheenRoughness=0,a.sheen=1;const I=g.extensions[this.name];if(I.sheenColorFactor!==void 0){const r=I.sheenColorFactor;a.sheenColor.setRGB(r[0],r[1],r[2],f.LinearSRGBColorSpace)}return I.sheenRoughnessFactor!==void 0&&(a.sheenRoughness=I.sheenRoughnessFactor),I.sheenColorTexture!==void 0&&i.push(e.assignTexture(a,"sheenColorMap",I.sheenColorTexture,f.SRGBColorSpace)),I.sheenRoughnessTexture!==void 0&&i.push(e.assignTexture(a,"sheenRoughnessMap",I.sheenRoughnessTexture)),Promise.all(i)}}class Fr{constructor(A){this.parser=A,this.name=dA.KHR_MATERIALS_TRANSMISSION}getMaterialType(A){const a=this.parser.json.materials[A];return a.extensions&&a.extensions[this.name]?f.MeshPhysicalMaterial:null}extendMaterialParams(A,a){const e=this.parser,g=e.json.materials[A];if(!g.extensions||!g.extensions[this.name])return Promise.resolve();const i=[],I=g.extensions[this.name];return I.transmissionFactor!==void 0&&(a.transmission=I.transmissionFactor),I.transmissionTexture!==void 0&&i.push(e.assignTexture(a,"transmissionMap",I.transmissionTexture)),Promise.all(i)}}class kr{constructor(A){this.parser=A,this.name=dA.KHR_MATERIALS_VOLUME}getMaterialType(A){const a=this.parser.json.materials[A];return a.extensions&&a.extensions[this.name]?f.MeshPhysicalMaterial:null}extendMaterialParams(A,a){const e=this.parser,g=e.json.materials[A];if(!g.extensions||!g.extensions[this.name])return Promise.resolve();const i=[],I=g.extensions[this.name];a.thickness=I.thicknessFactor!==void 0?I.thicknessFactor:0,I.thicknessTexture!==void 0&&i.push(e.assignTexture(a,"thicknessMap",I.thicknessTexture)),a.attenuationDistance=I.attenuationDistance||1/0;const r=I.attenuationColor||[1,1,1];return a.attenuationColor=new f.Color().setRGB(r[0],r[1],r[2],f.LinearSRGBColorSpace),Promise.all(i)}}class Mr{constructor(A){this.parser=A,this.name=dA.KHR_MATERIALS_IOR}getMaterialType(A){const a=this.parser.json.materials[A];return a.extensions&&a.extensions[this.name]?f.MeshPhysicalMaterial:null}extendMaterialParams(A,a){const e=this.parser.json.materials[A];if(!e.extensions||!e.extensions[this.name])return Promise.resolve();const g=e.extensions[this.name];return a.ior=g.ior!==void 0?g.ior:1.5,Promise.resolve()}}class Rr{constructor(A){this.parser=A,this.name=dA.KHR_MATERIALS_SPECULAR}getMaterialType(A){const a=this.parser.json.materials[A];return a.extensions&&a.extensions[this.name]?f.MeshPhysicalMaterial:null}extendMaterialParams(A,a){const e=this.parser,g=e.json.materials[A];if(!g.extensions||!g.extensions[this.name])return Promise.resolve();const i=[],I=g.extensions[this.name];a.specularIntensity=I.specularFactor!==void 0?I.specularFactor:1,I.specularTexture!==void 0&&i.push(e.assignTexture(a,"specularIntensityMap",I.specularTexture));const r=I.specularColorFactor||[1,1,1];return a.specularColor=new f.Color().setRGB(r[0],r[1],r[2],f.LinearSRGBColorSpace),I.specularColorTexture!==void 0&&i.push(e.assignTexture(a,"specularColorMap",I.specularColorTexture,f.SRGBColorSpace)),Promise.all(i)}}class Nr{constructor(A){this.parser=A,this.name=dA.EXT_MATERIALS_BUMP}getMaterialType(A){const a=this.parser.json.materials[A];return a.extensions&&a.extensions[this.name]?f.MeshPhysicalMaterial:null}extendMaterialParams(A,a){const e=this.parser,g=e.json.materials[A];if(!g.extensions||!g.extensions[this.name])return Promise.resolve();const i=[],I=g.extensions[this.name];return a.bumpScale=I.bumpFactor!==void 0?I.bumpFactor:1,I.bumpTexture!==void 0&&i.push(e.assignTexture(a,"bumpMap",I.bumpTexture)),Promise.all(i)}}class Gr{constructor(A){this.parser=A,this.name=dA.KHR_MATERIALS_ANISOTROPY}getMaterialType(A){const a=this.parser.json.materials[A];return a.extensions&&a.extensions[this.name]?f.MeshPhysicalMaterial:null}extendMaterialParams(A,a){const e=this.parser,g=e.json.materials[A];if(!g.extensions||!g.extensions[this.name])return Promise.resolve();const i=[],I=g.extensions[this.name];return I.anisotropyStrength!==void 0&&(a.anisotropy=I.anisotropyStrength),I.anisotropyRotation!==void 0&&(a.anisotropyRotation=I.anisotropyRotation),I.anisotropyTexture!==void 0&&i.push(e.assignTexture(a,"anisotropyMap",I.anisotropyTexture)),Promise.all(i)}}class Sr{constructor(A){this.parser=A,this.name=dA.KHR_TEXTURE_BASISU}loadTexture(A){const a=this.parser,e=a.json,g=e.textures[A];if(!g.extensions||!g.extensions[this.name])return null;const i=g.extensions[this.name],I=a.options.ktx2Loader;if(!I){if(e.extensionsRequired&&e.extensionsRequired.indexOf(this.name)>=0)throw new Error("THREE.GLTFLoader: setKTX2Loader must be called before loading KTX2 textures");return null}return a.loadTextureImage(A,i.source,I)}}class Ur{constructor(A){this.parser=A,this.name=dA.EXT_TEXTURE_WEBP}loadTexture(A){const a=this.name,e=this.parser,g=e.json,i=g.textures[A];if(!i.extensions||!i.extensions[a])return null;const I=i.extensions[a],r=g.images[I.source];let o=e.textureLoader;if(r.uri){const B=e.options.manager.getHandler(r.uri);B!==null&&(o=B)}return e.loadTextureImage(A,I.source,o)}}class xr{constructor(A){this.parser=A,this.name=dA.EXT_TEXTURE_AVIF}loadTexture(A){const a=this.name,e=this.parser,g=e.json,i=g.textures[A];if(!i.extensions||!i.extensions[a])return null;const I=i.extensions[a],r=g.images[I.source];let o=e.textureLoader;if(r.uri){const B=e.options.manager.getHandler(r.uri);B!==null&&(o=B)}return e.loadTextureImage(A,I.source,o)}}class Lr{constructor(A){this.name=dA.EXT_MESHOPT_COMPRESSION,this.parser=A}loadBufferView(A){const a=this.parser.json,e=a.bufferViews[A];if(e.extensions&&e.extensions[this.name]){const g=e.extensions[this.name],i=this.parser.getDependency("buffer",g.buffer),I=this.parser.options.meshoptDecoder;if(!I||!I.supported){if(a.extensionsRequired&&a.extensionsRequired.indexOf(this.name)>=0)throw new Error("THREE.GLTFLoader: setMeshoptDecoder must be called before loading compressed files");return null}return i.then(function(r){const o=g.byteOffset||0,B=g.byteLength||0,n=g.count,s=g.byteStride,E=new Uint8Array(r,o,B);return I.decodeGltfBufferAsync?I.decodeGltfBufferAsync(n,s,E,g.mode,g.filter).then(function(C){return C.buffer}):I.ready.then(function(){const C=new ArrayBuffer(n*s);return I.decodeGltfBuffer(new Uint8Array(C),n,s,E,g.mode,g.filter),C})})}return null}}class jr{constructor(A){this.name=dA.EXT_MESH_GPU_INSTANCING,this.parser=A}createNodeMesh(A){const a=this.parser.json,e=a.nodes[A];if(!e.extensions||!e.extensions[this.name]||e.mesh===void 0)return null;const g=a.meshes[e.mesh];for(const o of g.primitives)if(o.mode!==ba.TRIANGLES&&o.mode!==ba.TRIANGLE_STRIP&&o.mode!==ba.TRIANGLE_FAN&&o.mode!==void 0)return null;const i=e.extensions[this.name].attributes,I=[],r={};for(const o in i)I.push(this.parser.getDependency("accessor",i[o]).then(B=>(r[o]=B,r[o])));return I.length<1?null:(I.push(this.parser.createNodeMesh(A)),Promise.all(I).then(o=>{const B=o.pop(),n=B.isGroup?B.children:[B],s=o[0].count,E=[];for(const C of n){const Q=new f.Matrix4,c=new f.Vector3,d=new f.Quaternion,b=new f.Vector3(1,1,1),h=new f.InstancedMesh(C.geometry,C.material,s);for(let l=0;l<s;l++)r.TRANSLATION&&c.fromBufferAttribute(r.TRANSLATION,l),r.ROTATION&&d.fromBufferAttribute(r.ROTATION,l),r.SCALE&&b.fromBufferAttribute(r.SCALE,l),h.setMatrixAt(l,Q.compose(c,d,b));for(const l in r)if(l==="_COLOR_0"){const w=r[l];h.instanceColor=new f.InstancedBufferAttribute(w.array,w.itemSize,w.normalized)}else l!=="TRANSLATION"&&l!=="ROTATION"&&l!=="SCALE"&&C.geometry.setAttribute(l,r[l]);f.Object3D.prototype.copy.call(h,C),this.parser.assignFinalMaterial(h),E.push(h)}return B.isGroup?(B.clear(),B.add(...E),B):E[0]}))}}const _i="glTF",vr=1313821514,Jr=5130562;class Hr{constructor(A){this.name=dA.KHR_BINARY_GLTF,this.content=null,this.body=null;const a=new DataView(A,0,12),e=new TextDecoder;if(this.header={magic:e.decode(new Uint8Array(A.slice(0,4))),version:a.getUint32(4,!0),length:a.getUint32(8,!0)},this.header.magic!==_i)throw new Error("THREE.GLTFLoader: Unsupported glTF-Binary header.");if(this.header.version<2)throw new Error("THREE.GLTFLoader: Legacy binary file detected.");const g=this.header.length-12,i=new DataView(A,12);let I=0;for(;I<g;){const r=i.getUint32(I,!0);I+=4;const o=i.getUint32(I,!0);if(I+=4,o===vr){const B=new Uint8Array(A,12+I,r);this.content=e.decode(B)}else if(o===Jr){const B=12+I;this.body=A.slice(B,B+r)}I+=r}if(this.content===null)throw new Error("THREE.GLTFLoader: JSON content not found.")}}class Yr{constructor(A,a){if(!a)throw new Error("THREE.GLTFLoader: No DRACOLoader instance provided.");this.name=dA.KHR_DRACO_MESH_COMPRESSION,this.json=A,this.dracoLoader=a,this.dracoLoader.preload()}decodePrimitive(A,a){const e=this.json,g=this.dracoLoader,i=A.extensions[this.name].bufferView,I=A.extensions[this.name].attributes,r={},o={},B={};for(const n in I){const s=Cg[n]||n.toLowerCase();r[s]=I[n]}for(const n in A.attributes){const s=Cg[n]||n.toLowerCase();if(I[n]!==void 0){const E=e.accessors[A.attributes[n]],C=ye[E.componentType];B[s]=C.name,o[s]=E.normalized===!0}}return a.getDependency("bufferView",i).then(function(n){return new Promise(function(s,E){g.decodeDracoFile(n,function(C){for(const Q in C.attributes){const c=C.attributes[Q],d=o[Q];d!==void 0&&(c.normalized=d)}s(C)},r,B,f.LinearSRGBColorSpace,E)})})}}class Kr{constructor(){this.name=dA.KHR_TEXTURE_TRANSFORM}extendTexture(A,a){return(a.texCoord!==void 0&&a.texCoord!==A.channel||a.offset!==void 0||a.rotation!==void 0||a.scale!==void 0)&&(A=A.clone(),a.texCoord!==void 0&&(A.channel=a.texCoord),a.offset!==void 0&&A.offset.fromArray(a.offset),a.rotation!==void 0&&(A.rotation=a.rotation),a.scale!==void 0&&A.repeat.fromArray(a.scale),A.needsUpdate=!0),A}}class Tr{constructor(){this.name=dA.KHR_MESH_QUANTIZATION}}class $i extends f.Interpolant{constructor(A,a,e,g){super(A,a,e,g)}copySampleValue_(A){const a=this.resultBuffer,e=this.sampleValues,g=this.valueSize,i=A*g*3+g;for(let I=0;I!==g;I++)a[I]=e[i+I];return a}interpolate_(A,a,e,g){const i=this.resultBuffer,I=this.sampleValues,r=this.valueSize,o=2*r,B=3*r,n=g-a,s=(e-a)/n,E=s*s,C=E*s,Q=A*B,c=Q-B,d=-2*C+3*E,b=C-E,h=1-d,l=b-E+s;for(let w=0;w!==r;w++){const M=I[c+w+r],k=I[c+w+o]*n,N=I[Q+w+r],F=I[Q+w]*n;i[w]=h*M+l*k+d*N+b*F}return i}}const qr=new f.Quaternion;class Or extends $i{interpolate_(A,a,e,g){const i=super.interpolate_(A,a,e,g);return qr.fromArray(i).normalize().toArray(i),i}}const ba={POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6},ye={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array},zg={9728:f.NearestFilter,9729:f.LinearFilter,9984:f.NearestMipmapNearestFilter,9985:f.LinearMipmapNearestFilter,9986:f.NearestMipmapLinearFilter,9987:f.LinearMipmapLinearFilter},Wg={33071:f.ClampToEdgeWrapping,33648:f.MirroredRepeatWrapping,10497:f.RepeatWrapping},Yt={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},Cg={POSITION:"position",NORMAL:"normal",TANGENT:"tangent",TEXCOORD_0:"uv",TEXCOORD_1:"uv1",TEXCOORD_2:"uv2",TEXCOORD_3:"uv3",COLOR_0:"color",WEIGHTS_0:"skinWeight",JOINTS_0:"skinIndex"},qa={scale:"scale",translation:"position",rotation:"quaternion",weights:"morphTargetInfluences"},Pr={CUBICSPLINE:void 0,LINEAR:f.InterpolateLinear,STEP:f.InterpolateDiscrete},zr="OPAQUE",Wr="MASK",Vr="BLEND";function te(t,A,a){for(const e in a.extensions)t[e]===void 0&&(A.userData.gltfExtensions=A.userData.gltfExtensions||{},A.userData.gltfExtensions[e]=a.extensions[e])}function xa(t,A){A.extras!==void 0&&(typeof A.extras=="object"?Object.assign(t.userData,A.extras):console.warn("THREE.GLTFLoader: Ignoring primitive type .extras, "+A.extras))}function Xr(t,A){if(t.updateMorphTargets(),A.weights!==void 0)for(let a=0,e=A.weights.length;a<e;a++)t.morphTargetInfluences[a]=A.weights[a];if(A.extras&&Array.isArray(A.extras.targetNames)){const a=A.extras.targetNames;if(t.morphTargetInfluences.length===a.length){t.morphTargetDictionary={};for(let e=0,g=a.length;e<g;e++)t.morphTargetDictionary[a[e]]=e}else console.warn("THREE.GLTFLoader: Invalid extras.targetNames length. Ignoring names.")}}function Zr(t){let A;const a=t.extensions&&t.extensions[dA.KHR_DRACO_MESH_COMPRESSION];if(A=a?"draco:"+a.bufferView+":"+a.indices+":"+Kt(a.attributes):t.indices+":"+Kt(t.attributes)+":"+t.mode,t.targets!==void 0)for(let e=0,g=t.targets.length;e<g;e++)A+=":"+Kt(t.targets[e]);return A}function Kt(t){let A="";const a=Object.keys(t).sort();for(let e=0,g=a.length;e<g;e++)A+=a[e]+":"+t[a[e]]+";";return A}function Eg(t){switch(t){case Int8Array:return 1/127;case Uint8Array:return 1/255;case Int16Array:return 1/32767;case Uint16Array:return 1/65535;default:throw new Error("THREE.GLTFLoader: Unsupported normalized accessor component type.")}}const _r=new f.Matrix4;class $r{constructor(A={},a={}){this.json=A,this.extensions={},this.plugins={},this.options=a,this.cache=new ur,this.associations=new Map,this.primitiveCache={},this.nodeCache={},this.meshCache={refs:{},uses:{}},this.cameraCache={refs:{},uses:{}},this.lightCache={refs:{},uses:{}},this.sourceCache={},this.textureCache={},this.nodeNamesUsed={};let e=!1,g=-1,i=!1,I=-1;if(typeof navigator<"u"){const r=navigator.userAgent;e=/^((?!chrome|android).)*safari/i.test(r)===!0;const o=r.match(/Version\/(\d+)/);g=e&&o?parseInt(o[1],10):-1,i=r.indexOf("Firefox")>-1,I=i?r.match(/Firefox\/([0-9]+)\./)[1]:-1}typeof createImageBitmap>"u"||e&&g<17||i&&I<98?this.textureLoader=new f.TextureLoader(this.options.manager):this.textureLoader=new f.ImageBitmapLoader(this.options.manager),this.textureLoader.setCrossOrigin(this.options.crossOrigin),this.textureLoader.setRequestHeader(this.options.requestHeader),this.fileLoader=new f.FileLoader(this.options.manager),this.fileLoader.setResponseType("arraybuffer"),this.options.crossOrigin==="use-credentials"&&this.fileLoader.setWithCredentials(!0)}setExtensions(A){this.extensions=A}setPlugins(A){this.plugins=A}parse(A,a){const e=this,g=this.json,i=this.extensions;this.cache.removeAll(),this.nodeCache={},this._invokeAll(function(I){return I._markDefs&&I._markDefs()}),Promise.all(this._invokeAll(function(I){return I.beforeRoot&&I.beforeRoot()})).then(function(){return Promise.all([e.getDependencies("scene"),e.getDependencies("animation"),e.getDependencies("camera")])}).then(function(I){const r={scene:I[0][g.scene||0],scenes:I[0],animations:I[1],cameras:I[2],asset:g.asset,parser:e,userData:{}};return te(i,r,g),xa(r,g),Promise.all(e._invokeAll(function(o){return o.afterRoot&&o.afterRoot(r)})).then(function(){for(const o of r.scenes)o.updateMatrixWorld();A(r)})}).catch(a)}_markDefs(){const A=this.json.nodes||[],a=this.json.skins||[],e=this.json.meshes||[];for(let g=0,i=a.length;g<i;g++){const I=a[g].joints;for(let r=0,o=I.length;r<o;r++)A[I[r]].isBone=!0}for(let g=0,i=A.length;g<i;g++){const I=A[g];I.mesh!==void 0&&(this._addNodeRef(this.meshCache,I.mesh),I.skin!==void 0&&(e[I.mesh].isSkinnedMesh=!0)),I.camera!==void 0&&this._addNodeRef(this.cameraCache,I.camera)}}_addNodeRef(A,a){a!==void 0&&(A.refs[a]===void 0&&(A.refs[a]=A.uses[a]=0),A.refs[a]++)}_getNodeRef(A,a,e){if(A.refs[a]<=1)return e;const g=e.clone(),i=(I,r)=>{const o=this.associations.get(I);o!=null&&this.associations.set(r,o);for(const[B,n]of I.children.entries())i(n,r.children[B])};return i(e,g),g.name+="_instance_"+A.uses[a]++,g}_invokeOne(A){const a=Object.values(this.plugins);a.push(this);for(let e=0;e<a.length;e++){const g=A(a[e]);if(g)return g}return null}_invokeAll(A){const a=Object.values(this.plugins);a.unshift(this);const e=[];for(let g=0;g<a.length;g++){const i=A(a[g]);i&&e.push(i)}return e}getDependency(A,a){const e=A+":"+a;let g=this.cache.get(e);if(!g){switch(A){case"scene":g=this.loadScene(a);break;case"node":g=this._invokeOne(function(i){return i.loadNode&&i.loadNode(a)});break;case"mesh":g=this._invokeOne(function(i){return i.loadMesh&&i.loadMesh(a)});break;case"accessor":g=this.loadAccessor(a);break;case"bufferView":g=this._invokeOne(function(i){return i.loadBufferView&&i.loadBufferView(a)});break;case"buffer":g=this.loadBuffer(a);break;case"material":g=this._invokeOne(function(i){return i.loadMaterial&&i.loadMaterial(a)});break;case"texture":g=this._invokeOne(function(i){return i.loadTexture&&i.loadTexture(a)});break;case"skin":g=this.loadSkin(a);break;case"animation":g=this._invokeOne(function(i){return i.loadAnimation&&i.loadAnimation(a)});break;case"camera":g=this.loadCamera(a);break;default:if(g=this._invokeOne(function(i){return i!=this&&i.getDependency&&i.getDependency(A,a)}),!g)throw new Error("Unknown type: "+A)}this.cache.add(e,g)}return g}getDependencies(A){let a=this.cache.get(A);if(!a){const e=this,g=this.json[A+(A==="mesh"?"es":"s")]||[];a=Promise.all(g.map(function(i,I){return e.getDependency(A,I)})),this.cache.add(A,a)}return a}loadBuffer(A){const a=this.json.buffers[A],e=this.fileLoader;if(a.type&&a.type!=="arraybuffer")throw new Error("THREE.GLTFLoader: "+a.type+" buffer type is not supported.");if(a.uri===void 0&&A===0)return Promise.resolve(this.extensions[dA.KHR_BINARY_GLTF].body);const g=this.options;return new Promise(function(i,I){e.load(f.LoaderUtils.resolveURL(a.uri,g.path),i,void 0,function(){I(new Error('THREE.GLTFLoader: Failed to load buffer "'+a.uri+'".'))})})}loadBufferView(A){const a=this.json.bufferViews[A];return this.getDependency("buffer",a.buffer).then(function(e){const g=a.byteLength||0,i=a.byteOffset||0;return e.slice(i,i+g)})}loadAccessor(A){const a=this,e=this.json,g=this.json.accessors[A];if(g.bufferView===void 0&&g.sparse===void 0){const I=Yt[g.type],r=ye[g.componentType],o=g.normalized===!0,B=new r(g.count*I);return Promise.resolve(new f.BufferAttribute(B,I,o))}const i=[];return g.bufferView!==void 0?i.push(this.getDependency("bufferView",g.bufferView)):i.push(null),g.sparse!==void 0&&(i.push(this.getDependency("bufferView",g.sparse.indices.bufferView)),i.push(this.getDependency("bufferView",g.sparse.values.bufferView))),Promise.all(i).then(function(I){const r=I[0],o=Yt[g.type],B=ye[g.componentType],n=B.BYTES_PER_ELEMENT,s=n*o,E=g.byteOffset||0,C=g.bufferView!==void 0?e.bufferViews[g.bufferView].byteStride:void 0,Q=g.normalized===!0;let c,d;if(C&&C!==s){const b=Math.floor(E/C),h="InterleavedBuffer:"+g.bufferView+":"+g.componentType+":"+b+":"+g.count;let l=a.cache.get(h);l||(c=new B(r,b*C,g.count*C/n),l=new f.InterleavedBuffer(c,C/n),a.cache.add(h,l)),d=new f.InterleavedBufferAttribute(l,o,E%C/n,Q)}else c=r===null?new B(g.count*o):new B(r,E,g.count*o),d=new f.BufferAttribute(c,o,Q);if(g.sparse!==void 0){const b=Yt.SCALAR,h=ye[g.sparse.indices.componentType],l=g.sparse.indices.byteOffset||0,w=g.sparse.values.byteOffset||0,M=new h(I[1],l,g.sparse.count*b),k=new B(I[2],w,g.sparse.count*o);r!==null&&(d=new f.BufferAttribute(d.array.slice(),d.itemSize,d.normalized)),d.normalized=!1;for(let N=0,F=M.length;N<F;N++){const G=M[N];if(d.setX(G,k[N*o]),o>=2&&d.setY(G,k[N*o+1]),o>=3&&d.setZ(G,k[N*o+2]),o>=4&&d.setW(G,k[N*o+3]),o>=5)throw new Error("THREE.GLTFLoader: Unsupported itemSize in sparse BufferAttribute.")}d.normalized=Q}return d})}loadTexture(A){const a=this.json,e=this.options,g=a.textures[A].source,i=a.images[g];let I=this.textureLoader;if(i.uri){const r=e.manager.getHandler(i.uri);r!==null&&(I=r)}return this.loadTextureImage(A,g,I)}loadTextureImage(A,a,e){const g=this,i=this.json,I=i.textures[A],r=i.images[a],o=(r.uri||r.bufferView)+":"+I.sampler;if(this.textureCache[o])return this.textureCache[o];const B=this.loadImageSource(a,e).then(function(n){n.flipY=!1,n.name=I.name||r.name||"",n.name===""&&typeof r.uri=="string"&&r.uri.startsWith("data:image/")===!1&&(n.name=r.uri);const s=(i.samplers||{})[I.sampler]||{};return n.magFilter=zg[s.magFilter]||f.LinearFilter,n.minFilter=zg[s.minFilter]||f.LinearMipmapLinearFilter,n.wrapS=Wg[s.wrapS]||f.RepeatWrapping,n.wrapT=Wg[s.wrapT]||f.RepeatWrapping,n.generateMipmaps=!n.isCompressedTexture&&n.minFilter!==f.NearestFilter&&n.minFilter!==f.LinearFilter,g.associations.set(n,{textures:A}),n}).catch(function(){return null});return this.textureCache[o]=B,B}loadImageSource(A,a){const e=this,g=this.json,i=this.options;if(this.sourceCache[A]!==void 0)return this.sourceCache[A].then(s=>s.clone());const I=g.images[A],r=self.URL||self.webkitURL;let o=I.uri||"",B=!1;if(I.bufferView!==void 0)o=e.getDependency("bufferView",I.bufferView).then(function(s){B=!0;const E=new Blob([s],{type:I.mimeType});return o=r.createObjectURL(E),o});else if(I.uri===void 0)throw new Error("THREE.GLTFLoader: Image "+A+" is missing URI and bufferView");const n=Promise.resolve(o).then(function(s){return new Promise(function(E,C){let Q=E;a.isImageBitmapLoader===!0&&(Q=function(c){const d=new f.Texture(c);d.needsUpdate=!0,E(d)}),a.load(f.LoaderUtils.resolveURL(s,i.path),Q,void 0,C)})}).then(function(s){var E;return B===!0&&r.revokeObjectURL(o),xa(s,I),s.userData.mimeType=I.mimeType||((E=I.uri).search(/\.jpe?g($|\?)/i)>0||E.search(/^data\:image\/jpeg/)===0?"image/jpeg":E.search(/\.webp($|\?)/i)>0||E.search(/^data\:image\/webp/)===0?"image/webp":E.search(/\.ktx2($|\?)/i)>0||E.search(/^data\:image\/ktx2/)===0?"image/ktx2":"image/png"),s}).catch(function(s){throw console.error("THREE.GLTFLoader: Couldn't load texture",o),s});return this.sourceCache[A]=n,n}assignTexture(A,a,e,g){const i=this;return this.getDependency("texture",e.index).then(function(I){if(!I)return null;if(e.texCoord!==void 0&&e.texCoord>0&&((I=I.clone()).channel=e.texCoord),i.extensions[dA.KHR_TEXTURE_TRANSFORM]){const r=e.extensions!==void 0?e.extensions[dA.KHR_TEXTURE_TRANSFORM]:void 0;if(r){const o=i.associations.get(I);I=i.extensions[dA.KHR_TEXTURE_TRANSFORM].extendTexture(I,r),i.associations.set(I,o)}}return g!==void 0&&(I.colorSpace=g),A[a]=I,I})}assignFinalMaterial(A){const a=A.geometry;let e=A.material;const g=a.attributes.tangent===void 0,i=a.attributes.color!==void 0,I=a.attributes.normal===void 0;if(A.isPoints){const r="PointsMaterial:"+e.uuid;let o=this.cache.get(r);o||(o=new f.PointsMaterial,f.Material.prototype.copy.call(o,e),o.color.copy(e.color),o.map=e.map,o.sizeAttenuation=!1,this.cache.add(r,o)),e=o}else if(A.isLine){const r="LineBasicMaterial:"+e.uuid;let o=this.cache.get(r);o||(o=new f.LineBasicMaterial,f.Material.prototype.copy.call(o,e),o.color.copy(e.color),o.map=e.map,this.cache.add(r,o)),e=o}if(g||i||I){let r="ClonedMaterial:"+e.uuid+":";g&&(r+="derivative-tangents:"),i&&(r+="vertex-colors:"),I&&(r+="flat-shading:");let o=this.cache.get(r);o||(o=e.clone(),i&&(o.vertexColors=!0),I&&(o.flatShading=!0),g&&(o.normalScale&&(o.normalScale.y*=-1),o.clearcoatNormalScale&&(o.clearcoatNormalScale.y*=-1)),this.cache.add(r,o),this.associations.set(o,this.associations.get(e))),e=o}A.material=e}getMaterialType(){return f.MeshStandardMaterial}loadMaterial(A){const a=this,e=this.json,g=this.extensions,i=e.materials[A];let I;const r={},o=[];if((i.extensions||{})[dA.KHR_MATERIALS_UNLIT]){const n=g[dA.KHR_MATERIALS_UNLIT];I=n.getMaterialType(),o.push(n.extendParams(r,i,a))}else{const n=i.pbrMetallicRoughness||{};if(r.color=new f.Color(1,1,1),r.opacity=1,Array.isArray(n.baseColorFactor)){const s=n.baseColorFactor;r.color.setRGB(s[0],s[1],s[2],f.LinearSRGBColorSpace),r.opacity=s[3]}n.baseColorTexture!==void 0&&o.push(a.assignTexture(r,"map",n.baseColorTexture,f.SRGBColorSpace)),r.metalness=n.metallicFactor!==void 0?n.metallicFactor:1,r.roughness=n.roughnessFactor!==void 0?n.roughnessFactor:1,n.metallicRoughnessTexture!==void 0&&(o.push(a.assignTexture(r,"metalnessMap",n.metallicRoughnessTexture)),o.push(a.assignTexture(r,"roughnessMap",n.metallicRoughnessTexture))),I=this._invokeOne(function(s){return s.getMaterialType&&s.getMaterialType(A)}),o.push(Promise.all(this._invokeAll(function(s){return s.extendMaterialParams&&s.extendMaterialParams(A,r)})))}i.doubleSided===!0&&(r.side=f.DoubleSide);const B=i.alphaMode||zr;if(B===Vr?(r.transparent=!0,r.depthWrite=!1):(r.transparent=!1,B===Wr&&(r.alphaTest=i.alphaCutoff!==void 0?i.alphaCutoff:.5)),i.normalTexture!==void 0&&I!==f.MeshBasicMaterial&&(o.push(a.assignTexture(r,"normalMap",i.normalTexture)),r.normalScale=new f.Vector2(1,1),i.normalTexture.scale!==void 0)){const n=i.normalTexture.scale;r.normalScale.set(n,n)}if(i.occlusionTexture!==void 0&&I!==f.MeshBasicMaterial&&(o.push(a.assignTexture(r,"aoMap",i.occlusionTexture)),i.occlusionTexture.strength!==void 0&&(r.aoMapIntensity=i.occlusionTexture.strength)),i.emissiveFactor!==void 0&&I!==f.MeshBasicMaterial){const n=i.emissiveFactor;r.emissive=new f.Color().setRGB(n[0],n[1],n[2],f.LinearSRGBColorSpace)}return i.emissiveTexture!==void 0&&I!==f.MeshBasicMaterial&&o.push(a.assignTexture(r,"emissiveMap",i.emissiveTexture,f.SRGBColorSpace)),Promise.all(o).then(function(){const n=new I(r);return i.name&&(n.name=i.name),xa(n,i),a.associations.set(n,{materials:A}),i.extensions&&te(g,n,i),n})}createUniqueName(A){const a=f.PropertyBinding.sanitizeNodeName(A||"");return a in this.nodeNamesUsed?a+"_"+ ++this.nodeNamesUsed[a]:(this.nodeNamesUsed[a]=0,a)}loadGeometries(A){const a=this,e=this.extensions,g=this.primitiveCache;function i(r){return e[dA.KHR_DRACO_MESH_COMPRESSION].decodePrimitive(r,a).then(function(o){return Vg(o,r,a)})}const I=[];for(let r=0,o=A.length;r<o;r++){const B=A[r],n=Zr(B),s=g[n];if(s)I.push(s.promise);else{let E;E=B.extensions&&B.extensions[dA.KHR_DRACO_MESH_COMPRESSION]?i(B):Vg(new f.BufferGeometry,B,a),g[n]={primitive:B,promise:E},I.push(E)}}return Promise.all(I)}loadMesh(A){const a=this,e=this.json,g=this.extensions,i=e.meshes[A],I=i.primitives,r=[];for(let B=0,n=I.length;B<n;B++){const s=I[B].material===void 0?((o=this.cache).DefaultMaterial===void 0&&(o.DefaultMaterial=new f.MeshStandardMaterial({color:16777215,emissive:0,metalness:1,roughness:1,transparent:!1,depthTest:!0,side:f.FrontSide})),o.DefaultMaterial):this.getDependency("material",I[B].material);r.push(s)}var o;return r.push(a.loadGeometries(I)),Promise.all(r).then(function(B){const n=B.slice(0,B.length-1),s=B[B.length-1],E=[];for(let Q=0,c=s.length;Q<c;Q++){const d=s[Q],b=I[Q];let h;const l=n[Q];if(b.mode===ba.TRIANGLES||b.mode===ba.TRIANGLE_STRIP||b.mode===ba.TRIANGLE_FAN||b.mode===void 0)h=i.isSkinnedMesh===!0?new f.SkinnedMesh(d,l):new f.Mesh(d,l),h.isSkinnedMesh===!0&&h.normalizeSkinWeights(),b.mode===ba.TRIANGLE_STRIP?h.geometry=Pg(h.geometry,f.TriangleStripDrawMode):b.mode===ba.TRIANGLE_FAN&&(h.geometry=Pg(h.geometry,f.TriangleFanDrawMode));else if(b.mode===ba.LINES)h=new f.LineSegments(d,l);else if(b.mode===ba.LINE_STRIP)h=new f.Line(d,l);else if(b.mode===ba.LINE_LOOP)h=new f.LineLoop(d,l);else{if(b.mode!==ba.POINTS)throw new Error("THREE.GLTFLoader: Primitive mode unsupported: "+b.mode);h=new f.Points(d,l)}Object.keys(h.geometry.morphAttributes).length>0&&Xr(h,i),h.name=a.createUniqueName(i.name||"mesh_"+A),xa(h,i),b.extensions&&te(g,h,b),a.assignFinalMaterial(h),E.push(h)}for(let Q=0,c=E.length;Q<c;Q++)a.associations.set(E[Q],{meshes:A,primitives:Q});if(E.length===1)return i.extensions&&te(g,E[0],i),E[0];const C=new f.Group;i.extensions&&te(g,C,i),a.associations.set(C,{meshes:A});for(let Q=0,c=E.length;Q<c;Q++)C.add(E[Q]);return C})}loadCamera(A){let a;const e=this.json.cameras[A],g=e[e.type];if(g)return e.type==="perspective"?a=new f.PerspectiveCamera(f.MathUtils.radToDeg(g.yfov),g.aspectRatio||1,g.znear||1,g.zfar||2e6):e.type==="orthographic"&&(a=new f.OrthographicCamera(-g.xmag,g.xmag,g.ymag,-g.ymag,g.znear,g.zfar)),e.name&&(a.name=this.createUniqueName(e.name)),xa(a,e),Promise.resolve(a);console.warn("THREE.GLTFLoader: Missing camera parameters.")}loadSkin(A){const a=this.json.skins[A],e=[];for(let g=0,i=a.joints.length;g<i;g++)e.push(this._loadNodeShallow(a.joints[g]));return a.inverseBindMatrices!==void 0?e.push(this.getDependency("accessor",a.inverseBindMatrices)):e.push(null),Promise.all(e).then(function(g){const i=g.pop(),I=g,r=[],o=[];for(let B=0,n=I.length;B<n;B++){const s=I[B];if(s){r.push(s);const E=new f.Matrix4;i!==null&&E.fromArray(i.array,16*B),o.push(E)}else console.warn('THREE.GLTFLoader: Joint "%s" could not be found.',a.joints[B])}return new f.Skeleton(r,o)})}loadAnimation(A){const a=this.json,e=this,g=a.animations[A],i=g.name?g.name:"animation_"+A,I=[],r=[],o=[],B=[],n=[];for(let s=0,E=g.channels.length;s<E;s++){const C=g.channels[s],Q=g.samplers[C.sampler],c=C.target,d=c.node,b=g.parameters!==void 0?g.parameters[Q.input]:Q.input,h=g.parameters!==void 0?g.parameters[Q.output]:Q.output;c.node!==void 0&&(I.push(this.getDependency("node",d)),r.push(this.getDependency("accessor",b)),o.push(this.getDependency("accessor",h)),B.push(Q),n.push(c))}return Promise.all([Promise.all(I),Promise.all(r),Promise.all(o),Promise.all(B),Promise.all(n)]).then(function(s){const E=s[0],C=s[1],Q=s[2],c=s[3],d=s[4],b=[];for(let h=0,l=E.length;h<l;h++){const w=E[h],M=C[h],k=Q[h],N=c[h],F=d[h];if(w===void 0)continue;w.updateMatrix&&w.updateMatrix();const G=e._createAnimationTracks(w,M,k,N,F);if(G)for(let L=0;L<G.length;L++)b.push(G[L])}return new f.AnimationClip(i,void 0,b)})}createNodeMesh(A){const a=this.json,e=this,g=a.nodes[A];return g.mesh===void 0?null:e.getDependency("mesh",g.mesh).then(function(i){const I=e._getNodeRef(e.meshCache,g.mesh,i);return g.weights!==void 0&&I.traverse(function(r){if(r.isMesh)for(let o=0,B=g.weights.length;o<B;o++)r.morphTargetInfluences[o]=g.weights[o]}),I})}loadNode(A){const a=this,e=this.json.nodes[A],g=a._loadNodeShallow(A),i=[],I=e.children||[];for(let o=0,B=I.length;o<B;o++)i.push(a.getDependency("node",I[o]));const r=e.skin===void 0?Promise.resolve(null):a.getDependency("skin",e.skin);return Promise.all([g,Promise.all(i),r]).then(function(o){const B=o[0],n=o[1],s=o[2];s!==null&&B.traverse(function(E){E.isSkinnedMesh&&E.bind(s,_r)});for(let E=0,C=n.length;E<C;E++)B.add(n[E]);return B})}_loadNodeShallow(A){const a=this.json,e=this.extensions,g=this;if(this.nodeCache[A]!==void 0)return this.nodeCache[A];const i=a.nodes[A],I=i.name?g.createUniqueName(i.name):"",r=[],o=g._invokeOne(function(B){return B.createNodeMesh&&B.createNodeMesh(A)});return o&&r.push(o),i.camera!==void 0&&r.push(g.getDependency("camera",i.camera).then(function(B){return g._getNodeRef(g.cameraCache,i.camera,B)})),g._invokeAll(function(B){return B.createNodeAttachment&&B.createNodeAttachment(A)}).forEach(function(B){r.push(B)}),this.nodeCache[A]=Promise.all(r).then(function(B){let n;if(n=i.isBone===!0?new f.Bone:B.length>1?new f.Group:B.length===1?B[0]:new f.Object3D,n!==B[0])for(let s=0,E=B.length;s<E;s++)n.add(B[s]);if(i.name&&(n.userData.name=i.name,n.name=I),xa(n,i),i.extensions&&te(e,n,i),i.matrix!==void 0){const s=new f.Matrix4;s.fromArray(i.matrix),n.applyMatrix4(s)}else i.translation!==void 0&&n.position.fromArray(i.translation),i.rotation!==void 0&&n.quaternion.fromArray(i.rotation),i.scale!==void 0&&n.scale.fromArray(i.scale);if(g.associations.has(n)){if(i.mesh!==void 0&&g.meshCache.refs[i.mesh]>1){const s=g.associations.get(n);g.associations.set(n,{...s})}}else g.associations.set(n,{});return g.associations.get(n).nodes=A,n}),this.nodeCache[A]}loadScene(A){const a=this.extensions,e=this.json.scenes[A],g=this,i=new f.Group;e.name&&(i.name=g.createUniqueName(e.name)),xa(i,e),e.extensions&&te(a,i,e);const I=e.nodes||[],r=[];for(let o=0,B=I.length;o<B;o++)r.push(g.getDependency("node",I[o]));return Promise.all(r).then(function(o){for(let B=0,n=o.length;B<n;B++)i.add(o[B]);return g.associations=(B=>{const n=new Map;for(const[s,E]of g.associations)(s instanceof f.Material||s instanceof f.Texture)&&n.set(s,E);return B.traverse(s=>{const E=g.associations.get(s);E!=null&&n.set(s,E)}),n})(i),i})}_createAnimationTracks(A,a,e,g,i){const I=[],r=A.name?A.name:A.uuid,o=[];let B;switch(qa[i.path]===qa.weights?A.traverse(function(E){E.morphTargetInfluences&&o.push(E.name?E.name:E.uuid)}):o.push(r),qa[i.path]){case qa.weights:B=f.NumberKeyframeTrack;break;case qa.rotation:B=f.QuaternionKeyframeTrack;break;case qa.translation:case qa.scale:B=f.VectorKeyframeTrack;break;default:e.itemSize===1?B=f.NumberKeyframeTrack:B=f.VectorKeyframeTrack}const n=g.interpolation!==void 0?Pr[g.interpolation]:f.InterpolateLinear,s=this._getArrayFromAccessor(e);for(let E=0,C=o.length;E<C;E++){const Q=new B(o[E]+"."+qa[i.path],a.array,s,n);g.interpolation==="CUBICSPLINE"&&this._createCubicSplineTrackInterpolant(Q),I.push(Q)}return I}_getArrayFromAccessor(A){let a=A.array;if(A.normalized){const e=Eg(a.constructor),g=new Float32Array(a.length);for(let i=0,I=a.length;i<I;i++)g[i]=a[i]*e;a=g}return a}_createCubicSplineTrackInterpolant(A){A.createInterpolant=function(a){return new(this instanceof f.QuaternionKeyframeTrack?Or:$i)(this.times,this.values,this.getValueSize()/3,a)},A.createInterpolant.isInterpolantFactoryMethodGLTFCubicSpline=!0}}function Vg(t,A,a){const e=A.attributes,g=[];function i(I,r){return a.getDependency("accessor",I).then(function(o){t.setAttribute(r,o)})}for(const I in e){const r=Cg[I]||I.toLowerCase();r in t.attributes||g.push(i(e[I],r))}if(A.indices!==void 0&&!t.index){const I=a.getDependency("accessor",A.indices).then(function(r){t.setIndex(r)});g.push(I)}return f.ColorManagement.workingColorSpace!==f.LinearSRGBColorSpace&&"COLOR_0"in e&&console.warn(`THREE.GLTFLoader: Converting vertex colors from "srgb-linear" to "${f.ColorManagement.workingColorSpace}" not supported.`),xa(t,A),function(I,r,o){const B=r.attributes,n=new f.Box3;if(B.POSITION===void 0)return;{const C=o.json.accessors[B.POSITION],Q=C.min,c=C.max;if(Q===void 0||c===void 0)return void console.warn("THREE.GLTFLoader: Missing min/max properties for accessor POSITION.");if(n.set(new f.Vector3(Q[0],Q[1],Q[2]),new f.Vector3(c[0],c[1],c[2])),C.normalized){const d=Eg(ye[C.componentType]);n.min.multiplyScalar(d),n.max.multiplyScalar(d)}}const s=r.targets;if(s!==void 0){const C=new f.Vector3,Q=new f.Vector3;for(let c=0,d=s.length;c<d;c++){const b=s[c];if(b.POSITION!==void 0){const h=o.json.accessors[b.POSITION],l=h.min,w=h.max;if(l!==void 0&&w!==void 0){if(Q.setX(Math.max(Math.abs(l[0]),Math.abs(w[0]))),Q.setY(Math.max(Math.abs(l[1]),Math.abs(w[1]))),Q.setZ(Math.max(Math.abs(l[2]),Math.abs(w[2]))),h.normalized){const M=Eg(ye[h.componentType]);Q.multiplyScalar(M)}C.max(Q)}else console.warn("THREE.GLTFLoader: Missing min/max properties for accessor POSITION.")}}n.expandByVector(C)}I.boundingBox=n;const E=new f.Sphere;n.getCenter(E.center),E.radius=n.min.distanceTo(n.max)/2,I.boundingSphere=E}(t,A,a),Promise.all(g).then(function(){return A.targets!==void 0?function(I,r,o){let B=!1,n=!1,s=!1;for(let c=0,d=r.length;c<d;c++){const b=r[c];if(b.POSITION!==void 0&&(B=!0),b.NORMAL!==void 0&&(n=!0),b.COLOR_0!==void 0&&(s=!0),B&&n&&s)break}if(!B&&!n&&!s)return Promise.resolve(I);const E=[],C=[],Q=[];for(let c=0,d=r.length;c<d;c++){const b=r[c];if(B){const h=b.POSITION!==void 0?o.getDependency("accessor",b.POSITION):I.attributes.position;E.push(h)}if(n){const h=b.NORMAL!==void 0?o.getDependency("accessor",b.NORMAL):I.attributes.normal;C.push(h)}if(s){const h=b.COLOR_0!==void 0?o.getDependency("accessor",b.COLOR_0):I.attributes.color;Q.push(h)}}return Promise.all([Promise.all(E),Promise.all(C),Promise.all(Q)]).then(function(c){const d=c[0],b=c[1],h=c[2];return B&&(I.morphAttributes.position=d),n&&(I.morphAttributes.normal=b),s&&(I.morphAttributes.color=h),I.morphTargetsRelative=!0,I})}(t,A.targets,a):t})}const Tt=new WeakMap;class AI extends f.Loader{constructor(A){super(A),this.decoderPath="",this.decoderConfig={},this.decoderBinary=null,this.decoderPending=null,this.workerLimit=4,this.workerPool=[],this.workerNextTaskID=1,this.workerSourceURL="",this.defaultAttributeIDs={position:"POSITION",normal:"NORMAL",color:"COLOR",uv:"TEX_COORD"},this.defaultAttributeTypes={position:"Float32Array",normal:"Float32Array",color:"Float32Array",uv:"Float32Array"}}setDecoderPath(A){return this.decoderPath=A,this}setDecoderConfig(A){return this.decoderConfig=A,this}setWorkerLimit(A){return this.workerLimit=A,this}load(A,a,e,g){const i=new f.FileLoader(this.manager);i.setPath(this.path),i.setResponseType("arraybuffer"),i.setRequestHeader(this.requestHeader),i.setWithCredentials(this.withCredentials),i.load(A,I=>{this.parse(I,a,g)},e,g)}parse(A,a,e=()=>{}){this.decodeDracoFile(A,a,null,null,f.SRGBColorSpace,e).catch(e)}decodeDracoFile(A,a,e,g,i=f.LinearSRGBColorSpace,I=()=>{}){const r={attributeIDs:e||this.defaultAttributeIDs,attributeTypes:g||this.defaultAttributeTypes,useUniqueIDs:!!e,vertexColorSpace:i};return this.decodeGeometry(A,r).then(a).catch(I)}decodeGeometry(A,a){const e=JSON.stringify(a);if(Tt.has(A)){const o=Tt.get(A);if(o.key===e)return o.promise;if(A.byteLength===0)throw new Error("THREE.DRACOLoader: Unable to re-decode a buffer with different settings. Buffer has already been transferred.")}let g;const i=this.workerNextTaskID++,I=A.byteLength,r=this._getWorker(i,I).then(o=>(g=o,new Promise((B,n)=>{g._callbacks[i]={resolve:B,reject:n},g.postMessage({type:"decode",id:i,taskConfig:a,buffer:A},[A])}))).then(o=>this._createGeometry(o.geometry));return r.catch(()=>!0).then(()=>{g&&i&&this._releaseTask(g,i)}),Tt.set(A,{key:e,promise:r}),r}_createGeometry(A){const a=new f.BufferGeometry;A.index&&a.setIndex(new f.BufferAttribute(A.index.array,1));for(let e=0;e<A.attributes.length;e++){const g=A.attributes[e],i=g.name,I=g.array,r=g.itemSize,o=new f.BufferAttribute(I,r);i==="color"&&(this._assignVertexColorSpace(o,g.vertexColorSpace),o.normalized=!(I instanceof Float32Array)),a.setAttribute(i,o)}return a}_assignVertexColorSpace(A,a){if(a!==f.SRGBColorSpace)return;const e=new f.Color;for(let g=0,i=A.count;g<i;g++)e.fromBufferAttribute(A,g),f.ColorManagement.colorSpaceToWorking(e,f.SRGBColorSpace),A.setXYZ(g,e.r,e.g,e.b)}_loadLibrary(A,a){const e=new f.FileLoader(this.manager);return e.setPath(this.decoderPath),e.setResponseType(a),e.setWithCredentials(this.withCredentials),new Promise((g,i)=>{e.load(A,g,void 0,i)})}preload(){return this._initDecoder(),this}_initDecoder(){if(this.decoderPending)return this.decoderPending;const A=typeof WebAssembly!="object"||this.decoderConfig.type==="js",a=[];return A?a.push(this._loadLibrary("draco_decoder.js","text")):(a.push(this._loadLibrary("draco_wasm_wrapper.js","text")),a.push(this._loadLibrary("draco_decoder.wasm","arraybuffer"))),this.decoderPending=Promise.all(a).then(e=>{const g=e[0];A||(this.decoderConfig.wasmBinary=e[1]);const i=An.toString(),I=["/* draco decoder */",g,"","/* worker */",i.substring(i.indexOf("{")+1,i.lastIndexOf("}"))].join(`
|
|
19
|
-
`);this.workerSourceURL=URL.createObjectURL(new Blob([I]))}),this.decoderPending}_getWorker(A,a){return this._initDecoder().then(()=>{if(this.workerPool.length<this.workerLimit){const g=new Worker(this.workerSourceURL);g._callbacks={},g._taskCosts={},g._taskLoad=0,g.postMessage({type:"init",decoderConfig:this.decoderConfig}),g.onmessage=function(i){const I=i.data;switch(I.type){case"decode":g._callbacks[I.id].resolve(I);break;case"error":g._callbacks[I.id].reject(I);break;default:console.error('THREE.DRACOLoader: Unexpected message, "'+I.type+'"')}},this.workerPool.push(g)}else this.workerPool.sort(function(g,i){return g._taskLoad>i._taskLoad?-1:1});const e=this.workerPool[this.workerPool.length-1];return e._taskCosts[A]=a,e._taskLoad+=a,e})}_releaseTask(A,a){A._taskLoad-=A._taskCosts[a],delete A._callbacks[a],delete A._taskCosts[a]}debug(){console.log("Task load: ",this.workerPool.map(A=>A._taskLoad))}dispose(){for(let A=0;A<this.workerPool.length;++A)this.workerPool[A].terminate();return this.workerPool.length=0,this.workerSourceURL!==""&&URL.revokeObjectURL(this.workerSourceURL),this}}function An(){let t,A;function a(e,g,i,I,r,o){const B=o.num_components(),n=i.num_points()*B,s=n*r.BYTES_PER_ELEMENT,E=function(c,d){switch(d){case Float32Array:return c.DT_FLOAT32;case Int8Array:return c.DT_INT8;case Int16Array:return c.DT_INT16;case Int32Array:return c.DT_INT32;case Uint8Array:return c.DT_UINT8;case Uint16Array:return c.DT_UINT16;case Uint32Array:return c.DT_UINT32}}(e,r),C=e._malloc(s);g.GetAttributeDataArrayForAllPoints(i,o,E,s,C);const Q=new r(e.HEAPF32.buffer,C,n).slice();return e._free(C),{name:I,array:Q,itemSize:B}}onmessage=function(e){const g=e.data;switch(g.type){case"init":t=g.decoderConfig,A=new Promise(function(r){t.onModuleLoaded=function(o){r({draco:o})},DracoDecoderModule(t)});break;case"decode":const i=g.buffer,I=g.taskConfig;A.then(r=>{const o=r.draco,B=new o.Decoder;try{const n=function(E,C,Q,c){const d=c.attributeIDs,b=c.attributeTypes;let h,l;const w=C.GetEncodedGeometryType(Q);if(w===E.TRIANGULAR_MESH)h=new E.Mesh,l=C.DecodeArrayToMesh(Q,Q.byteLength,h);else{if(w!==E.POINT_CLOUD)throw new Error("THREE.DRACOLoader: Unexpected geometry type.");h=new E.PointCloud,l=C.DecodeArrayToPointCloud(Q,Q.byteLength,h)}if(!l.ok()||h.ptr===0)throw new Error("THREE.DRACOLoader: Decoding failed: "+l.error_msg());const M={index:null,attributes:[]};for(const k in d){const N=self[b[k]];let F,G;if(c.useUniqueIDs)G=d[k],F=C.GetAttributeByUniqueId(h,G);else{if(G=C.GetAttributeId(h,E[d[k]]),G===-1)continue;F=C.GetAttribute(h,G)}const L=a(E,C,h,k,N,F);k==="color"&&(L.vertexColorSpace=c.vertexColorSpace),M.attributes.push(L)}return w===E.TRIANGULAR_MESH&&(M.index=function(k,N,F){const G=F.num_faces(),L=3*G,x=4*L,W=k._malloc(x);N.GetTrianglesUInt32Array(F,x,W);const X=new Uint32Array(k.HEAPF32.buffer,W,L).slice();return k._free(W),{array:X,itemSize:1}}(E,C,h)),E.destroy(h),M}(o,B,new Int8Array(i),I),s=n.attributes.map(E=>E.array.buffer);n.index&&s.push(n.index.array.buffer),self.postMessage({type:"decode",id:g.id,geometry:n},s)}catch(n){console.error(n),self.postMessage({type:"error",id:g.id,error:n.message})}finally{o.destroy(B)}})}}}class an{constructor(A=4){this.pool=A,this.queue=[],this.workers=[],this.workersResolve=[],this.workerStatus=0,this.workerCreator=null}_initWorker(A){if(!this.workers[A]){const a=this.workerCreator();a.addEventListener("message",this._onMessage.bind(this,A)),this.workers[A]=a}}_getIdleWorker(){for(let A=0;A<this.pool;A++)if(!(this.workerStatus&1<<A))return A;return-1}_onMessage(A,a){const e=this.workersResolve[A];if(e&&e(a),this.queue.length){const{resolve:g,msg:i,transfer:I}=this.queue.shift();this.workersResolve[A]=g,this.workers[A].postMessage(i,I)}else this.workerStatus^=1<<A}setWorkerCreator(A){this.workerCreator=A}setWorkerLimit(A){this.pool=A}postMessage(A,a){return new Promise(e=>{const g=this._getIdleWorker();g!==-1?(this._initWorker(g),this.workerStatus|=1<<g,this.workersResolve[g]=e,this.workers[g].postMessage(A,a)):this.queue.push({resolve:e,msg:A,transfer:a})})}dispose(){this.workers.forEach(A=>A.terminate()),this.workersResolve.length=0,this.workers.length=0,this.queue.length=0,this.workerStatus=0}}const aI=9,eI=15,tI=16,gI=22,iI=37,II=43,rI=76,nI=83,oI=97,BI=100,sI=103,CI=109,en=131,tn=132,gn=133,In=134,rn=137,nn=138,on=141,Bn=142,sn=145,Cn=146,EI=148,QI=152,En=157,Qn=158,cI=165,hI=166,mg=1000066e3;class cn{constructor(){this.vkFormat=0,this.typeSize=1,this.pixelWidth=0,this.pixelHeight=0,this.pixelDepth=0,this.layerCount=0,this.faceCount=1,this.supercompressionScheme=0,this.levels=[],this.dataFormatDescriptor=[{vendorId:0,descriptorType:0,descriptorBlockSize:0,versionNumber:2,colorModel:0,colorPrimaries:1,transferFunction:2,flags:0,texelBlockDimension:[0,0,0,0],bytesPlane:[0,0,0,0,0,0,0,0],samples:[]}],this.keyValue={},this.globalData=null}}class Je{constructor(A,a,e,g){this._dataView=void 0,this._littleEndian=void 0,this._offset=void 0,this._dataView=new DataView(A.buffer,A.byteOffset+a,e),this._littleEndian=g,this._offset=0}_nextUint8(){const A=this._dataView.getUint8(this._offset);return this._offset+=1,A}_nextUint16(){const A=this._dataView.getUint16(this._offset,this._littleEndian);return this._offset+=2,A}_nextUint32(){const A=this._dataView.getUint32(this._offset,this._littleEndian);return this._offset+=4,A}_nextUint64(){const A=this._dataView.getUint32(this._offset,this._littleEndian)+4294967296*this._dataView.getUint32(this._offset+4,this._littleEndian);return this._offset+=8,A}_nextInt32(){const A=this._dataView.getInt32(this._offset,this._littleEndian);return this._offset+=4,A}_nextUint8Array(A){const a=new Uint8Array(this._dataView.buffer,this._dataView.byteOffset+this._offset,A);return this._offset+=A,a}_skip(A){return this._offset+=A,this}_scan(A,a){a===void 0&&(a=0);const e=this._offset;let g=0;for(;this._dataView.getUint8(this._offset)!==a&&g<A;)g++,this._offset++;return g<A&&this._offset++,new Uint8Array(this._dataView.buffer,this._dataView.byteOffset+e,g)}}const ta=[171,75,84,88,32,50,48,187,13,10,26,10];function Xg(t){return new TextDecoder().decode(t)}let qt,Ua,Qg;const Ot={env:{emscripten_notify_memory_growth:function(t){Qg=new Uint8Array(Ua.exports.memory.buffer)}}};class hn{init(){return qt||(qt=typeof fetch<"u"?fetch("data:application/wasm;base64,"+Zg).then(A=>A.arrayBuffer()).then(A=>WebAssembly.instantiate(A,Ot)).then(this._init):WebAssembly.instantiate(Buffer.from(Zg,"base64"),Ot).then(this._init),qt)}_init(A){Ua=A.instance,Ot.env.emscripten_notify_memory_growth(0)}decode(A,a=0){if(!Ua)throw new Error("ZSTDDecoder: Await .init() before decoding.");const e=A.byteLength,g=Ua.exports.malloc(e);Qg.set(A,g),a=a||Number(Ua.exports.ZSTD_findDecompressedSize(g,e));const i=Ua.exports.malloc(a),I=Ua.exports.ZSTD_decompress(i,a,g,e),r=Qg.slice(i,i+I);return Ua.exports.free(g),Ua.exports.free(i),r}}const Zg="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IAMNACAEQQNxBEADQCACRQ0FIAAgAkF/aiICaiIDIAEgAmotAAA6AAAgA0EDcQ0ACwsgAkEDTQ0AA0AgACACQXxqIgJqIAEgAmooAgA2AgAgAkEDSw0ACwsgAkUNAgNAIAAgAkF/aiICaiABIAJqLQAAOgAAIAINAAsMAgsgAkEDTQ0AIAIhBANAIAMgASgCADYCACABQQRqIQEgA0EEaiEDIARBfGoiBEEDSw0ACyACQQNxIQILIAJFDQADQCADIAEtAAA6AAAgA0EBaiEDIAFBAWohASACQX9qIgINAAsLIAAL8wICAn8BfgJAIAJFDQAgACACaiIDQX9qIAE6AAAgACABOgAAIAJBA0kNACADQX5qIAE6AAAgACABOgABIANBfWogAToAACAAIAE6AAIgAkEHSQ0AIANBfGogAToAACAAIAE6AAMgAkEJSQ0AIABBACAAa0EDcSIEaiIDIAFB/wFxQYGChAhsIgE2AgAgAyACIARrQXxxIgRqIgJBfGogATYCACAEQQlJDQAgAyABNgIIIAMgATYCBCACQXhqIAE2AgAgAkF0aiABNgIAIARBGUkNACADIAE2AhggAyABNgIUIAMgATYCECADIAE2AgwgAkFwaiABNgIAIAJBbGogATYCACACQWhqIAE2AgAgAkFkaiABNgIAIAQgA0EEcUEYciIEayICQSBJDQAgAa0iBUIghiAFhCEFIAMgBGohAQNAIAEgBTcDGCABIAU3AxAgASAFNwMIIAEgBTcDACABQSBqIQEgAkFgaiICQR9LDQALCyAACy8BAn8gACgCBCAAKAIAQQJ0aiICLQACIQMgACACLwEAIAEgAi0AAxAIajYCACADCy8BAn8gACgCBCAAKAIAQQJ0aiICLQACIQMgACACLwEAIAEgAi0AAxAFajYCACADCx8AIAAgASACKAIEEAg2AgAgARAEGiAAIAJBCGo2AgQLCAAgAGdBH3MLugUBDX8jAEEQayIKJAACfyAEQQNNBEAgCkEANgIMIApBDGogAyAEEAsaIAAgASACIApBDGpBBBAVIgBBbCAAEAMbIAAgACAESxsMAQsgAEEAIAEoAgBBAXRBAmoQECENQVQgAygAACIGQQ9xIgBBCksNABogAiAAQQVqNgIAIAMgBGoiAkF8aiEMIAJBeWohDiACQXtqIRAgAEEGaiELQQQh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ASIDNgLE4AEgACgCvOABIQQgACABNgK84AEgACABIAJqNgK44AEgACABIAQgA2tqNgLA4AELpgEBAX8gACAAKALs4QEQFjYCyOABIABCADcD+OABIABCADcDuOABIABBwOABakIANwMAIABBqNAAaiIBQYyAgOAANgIAIABBADYCmOIBIABCADcDiOEBIABCAzcDgOEBIABBrNABakHgEikCADcCACAAQbTQAWpB6BIoAgA2AgAgACABNgIMIAAgAEGYIGo2AgggACAAQaAwajYCBCAAIABBEGo2AgALYQEBf0G4fyEDAkAgAUEDSQ0AIAIgABAhIgFBA3YiADYCCCACIAFBAXE2AgQgAiABQQF2QQNxIgM2AgACQCADQX9qIgFBAksNAAJAIAFBAWsOAgEAAgtBbA8LIAAhAwsgAwsMACAAIAEgAkEAEC4LiAQCA38CfiADEBYhBCAAQQBBKBAQIQAgBCACSwRAIAQPCyABRQRAQX8PCwJAAkAgA0EBRg0AIAEoAAAiBkGo6r5pRg0AQXYhAyAGQXBxQdDUtMIBRw0BQQghAyACQQhJDQEgAEEAQSgQECEAIAEoAAQhASAAQQE2AhQgACABrTcDAEEADwsgASACIAMQLyIDIAJLDQAgACADNgIYQXIhAyABIARqIgVBf2otAAAiAkEIcQ0AIAJBIHEiBkUEQEFwIQMgBS0AACIFQacBSw0BIAVBB3GtQgEgBUEDdkEKaq2GIgdCA4h+IAd8IQggBEEBaiEECyACQQZ2IQMgAkECdiEFAkAgAkEDcUF/aiICQQJLBEBBACECDAELAkACQAJAIAJBAWsOAgECAAsgASAEai0AACECIARBAWohBAwCCyABIARqLwAAIQIgBEECaiEEDAELIAEgBGooAAAhAiAEQQRqIQQLIAVBAXEhBQJ+AkACQAJAIANBf2oiA0ECTQRAIANBAWsOAgIDAQtCfyAGRQ0DGiABIARqMQAADAMLIAEgBGovAACtQoACfAwCCyABIARqKAAArQwBCyABIARqKQAACyEHIAAgBTYCICAAIAI2AhwgACAHNwMAQQAhAyAAQQA2AhQgACAHIAggBhsiBzcDCCAAIAdCgIAIIAdCgIAIVBs+AhALIAMLWwEBf0G4fyEDIAIQFiICIAFNBH8gACACakF/ai0AACIAQQNxQQJ0QaAeaigC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C0Egak8NAQsgByAHKQNoNwMQIAcgBykDYDcDCCAEIA0gB0EIaiAHQdwAaiAPIA4gESAQEB4hCwwBCyACIARqIQggBCAKEAcgAkERTwRAIARBEGohAgNAIAIgCkEQaiIKEAcgAkEQaiICIAhJDQALCyAIIAlrIQIgByATNgJcIAkgCCAOa0sEQCAJIAggEWtLBEBBbCELDAILIBAgAiAOayICaiIKIANqIBBNBEAgCCAKIAMQDxoMAgsgCCAKQQAgAmsQDyEIIAcgAiADaiIDNgJkIAggAmshCCAOIQILIAlBEE8EQCADIAhqIQMDQCAIIAIQByACQRBqIQIgCEEQaiIIIANJDQALDAELAkAgCUEHTQRAIAggAi0AADoAACAIIAItAAE6AAEgCCACLQACOgACIAggAi0AAzoAAyAIQQRqIAIgCUECdCIDQcAeaigCAGoiAhAXIAIgA0HgHmooAgBrIQIgBygCZCEDDAELIAggAhAMCyADQQlJDQAgAyAIaiEDIAhBCGoiCCACQQhqIgJrQQ9MBEADQCAIIAIQDCACQQhqIQIgCEEIaiIIIANJDQAMAgALAAsDQCAIIAIQByACQRBqIQIgCEEQaiIIIANJDQALCyAHQRhqEAQaIAsgDCALEAMiAhshDCAEIAQgC2ogAhshBCAFQX9qIgUNAAsgDBADDQFBbCEMIAdBGGoQBEECSQ0BQQAhCANAIAhBA0cEQCAAIAhBAnQiAmpBrNABaiACIAdqKAJENgIAIAhBAWohCAwBCwsgBygCXCEIC0G6fyEMIA8gCGsiACANIARrSw0AIAQEfyAEIAggABALIABqBUEACyABayEMCyAHQfAAaiQAIAwLkRcCFn8FfiMAQdABayIHJAAgByAAKALw4QEiCDYCvAEgASACaiESIAggACgCgOIBaiETAkACQCAFRQRAIAEhAwwBCyAAKALE4AEhESAAKALA4AEhFSAAKAK84AEhDyAAQQE2AozhAUEAIQgDQCAIQQNHBEAgByAIQQJ0IgJqIAAgAmpBrNABaigCADYCVCAIQQFqIQgMAQsLIAcgETYCZCAHIA82AmAgByABIA9rNgJoQWwhECAHQShqIAMgBBAGEAMNASAFQQQgBUEESBshFyAHQTxqIAdBKGogACgCABATIAdBxABqIAdBKGogACgCCBATIAdBzABqIAdB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IAdB0AFqJAAgEAslACAAQgA3AgAgAEEAOwEIIABBADoACyAAIAE2AgwgACACOgAKC7QFAQN/IwBBMGsiBCQAIABB/wFqIgVBfWohBgJAIAMvAQIEQCAEQRhqIAEgAhAGIgIQAw0BIARBEGogBEEYaiADEBwgBEEIaiAEQRhqIAMQHCAAIQMDQAJAIARBGGoQBCADIAZPckUEQCADIARBEGogBEEYahASOgAAIAMgBEEIaiAEQRhqEBI6AAEgBEEYahAERQ0BIANBAmohAwsgBUF+aiEFAn8DQEG6fyECIAMiASAFSw0FIAEgBEEQaiAEQRhqEBI6AAAgAUEBaiEDIARBGGoQBEEDRgRAQQIhAiAEQQhqDAILIAMgBUsNBSABIARBCGogBEEYahASOgABIAFBAmohA0EDIQIgBEEYahAEQQNHDQALIARBEGoLIQUgAyAFIARBGGoQEjoAACABIAJqIABrIQIMAwsgAyAEQRBqIARBGGoQEjoAAiADIARBCGogBEEYahASOgADIANBBGohAwwAAAsACyAEQRhqIAEgAhAGIgIQAw0AIARBEGogBEEYaiADEBwgBEEIaiAEQRhqIAMQHCAAIQMDQAJAIARBGGoQBCADIAZPckUEQCADIARBEGogBEEYahAROgAAIAMgBEEIaiAEQRhqEBE6AAEgBEEYahAERQ0BIANBAmohAwsgBUF+aiEFAn8DQEG6fyECIAMiASAFSw0EIAEgBEEQaiAEQRhqEBE6AAAgAUEBaiEDIARBGGoQBEEDRgRAQQIhAiAEQQhqDAILIAMgBUsNBCABIARBCGogBEEYahAROgABIAFBAmohA0EDIQIgBEEYahAEQQNHDQALIARBEGoLIQUgAyAFIARBGGoQEToAACABIAJqIABrIQIMAgsgAyAEQRBqIARBGGoQEToAAiADIARBCGogBEEYahAROgADIANBBGohAwwAAAsACyAEQTBqJAAgAgtpAQF/An8CQAJAIAJBB00NACABKAAAQbfIwuF+Rw0AIAAgASgABDYCmOIBQWIgAEEQaiABIAIQPiIDEAMNAhogAEKBgICAEDcDiOEBIAAgASADaiACIANrECoMAQsgACABIAIQKgtBAAsLrQMBBn8jAEGAAWsiAyQAQWIhCAJAIAJBCUkNACAAQZjQAGogAUEIaiIEIAJBeGogAEGY0AAQMyIFEAMiBg0AIANBHzYCfCADIANB/ABqIANB+ABqIAQgBCAFaiAGGyIEIAEgAmoiAiAEaxAVIgUQAw0AIAMoAnwiBkEfSw0AIAMoAngiB0EJTw0AIABBiCBqIAMgBkGAC0GADCAHEBggA0E0NgJ8IAMgA0H8AGogA0H4AGogBCAFaiIEIAIgBGsQFSIFEAMNACADKAJ8IgZBNEsNACADKAJ4IgdBCk8NACAAQZAwaiADIAZBgA1B4A4gBxAYIANBIzYCfCADIANB/ABqIANB+ABqIAQgBWoiBCACIARrEBUiBRADDQAgAygCfCIGQSNLDQAgAygCeCIHQQpPDQAgACADIAZBwBBB0BEgBxAYIAQgBWoiBEEMaiIFIAJLDQAgAiAFayEFQQAhAgNAIAJBA0cEQCAEKAAAIgZBf2ogBU8NAiAAIAJBAnRqQZzQAWogBjYCACACQQFqIQIgBEEEaiEEDAELCyAEIAFrIQgLIANBgAFqJAAgCAtGAQN/IABBCGohAyAAKAIEIQJBACEAA0AgACACdkUEQCABIAMgAEEDdGotAAJBFktqIQEgAEEBaiEADAELCyABQQggAmt0C4YDAQV/Qbh/IQcCQCADRQ0AIAItAAAiBEUEQCABQQA2AgBBAUG4fyADQQFGGw8LAn8gAkEBaiIFIARBGHRBGHUiBkF/Sg0AGiAGQX9GBEAgA0EDSA0CIAUvAABBgP4BaiEEIAJBA2oMAQsgA0ECSA0BIAItAAEgBEEIdHJBgIB+aiEEIAJBAmoLIQUgASAENgIAIAVBAWoiASACIANqIgNLDQBBbCEHIABBEGogACAFLQAAIgVBBnZBI0EJIAEgAyABa0HAEEHQEUHwEiAAKAKM4QEgACgCnOIBIAQQHyIGEAMiCA0AIABBmCBqIABBCGogBUEEdkEDcUEfQQggASABIAZqIAgbIgEgAyABa0GAC0GADEGAFyAAKAKM4QEgACgCnOIBIAQQHyIGEAMiCA0AIABBoDBqIABBBGogBUECdkEDcUE0QQkgASABIAZqIAgbIgEgAyABa0GADUHgDkGQGSAAKAKM4QEgACgCnOIBIAQQHyIAEAMNACAAIAFqIAJrIQcLIAcLrQMBCn8jAEGABGsiCCQAAn9BUiACQf8BSw0AGkFUIANBDEsNABogAkEBaiELIABBBGohCUGAgAQgA0F/anRBEHUhCkEAIQJBASEEQQEgA3QiB0F/aiIMIQUDQCACIAtGRQRAAkAgASACQQF0Ig1qLwEAIgZB//8DRgRAIAkgBUECdGogAjoAAiAFQX9qIQVBASEGDAELIARBACAKIAZBEHRBEHVKGyEECyAIIA1qIAY7AQAgAkEBaiECDAELCyAAIAQ7AQIgACADOwEAIAdBA3YgB0EBdmpBA2ohBkEAIQRBACECA0AgBCALRkUEQCABIARBAXRqLgEAIQpBACEAA0AgACAKTkUEQCAJIAJBAnRqIAQ6AAIDQCACIAZqIAxxIgIgBUsNAAsgAEEBaiEADAELCyAEQQFqIQQMAQsLQX8gAg0AGkEAIQIDfyACIAdGBH9BAAUgCCAJIAJBAnRqIgAtAAJBAXRqIgEgAS8BACIBQQFqOwEAIAAgAyABEBRrIgU6AAMgACABIAVB/wFxdCAHazsBACACQQFqIQIMAQsLCyEFIAhBgARqJAAgBQvjBgEIf0FsIQcCQCACQQNJDQACQAJAAkACQCABLQAAIgNBA3EiCUEBaw4DAwEAAgsgACgCiOEBDQBBYg8LIAJBBUkNAkEDIQYgASgAACEFAn8CQAJAIANBAnZBA3EiCEF+aiIEQQFNBEAgBEEBaw0BDAILIAVBDnZB/wdxIQQgBUEEdkH/B3EhAyAIRQwCCyAFQRJ2IQRBBCEGIAVBBHZB//8AcSEDQQAMAQsgBUEEdkH//w9xIgNBgIAISw0DIAEtAARBCnQgBUEWdnIhBEEFIQZBAAshBSAEIAZqIgogAksNAgJAIANBgQZJDQAgACgCnOIBRQ0AQQAhAgNAIAJBg4ABSw0BIAJBQGshAgwAAAsACwJ/IAlBA0YEQCABIAZqIQEgAEHw4gFqIQIgACgCDCEGIAUEQCACIAMgASAEIAYQXwwCCyACIAMgASAEIAYQXQwBCyAAQbjQAWohAiABIAZqIQEgAEHw4gFqIQYgAEGo0ABqIQggBQRAIAggBiADIAEgBCACEF4MAQsgCCAGIAMgASAEIAIQXAsQAw0CIAAgAzYCgOIBIABBATYCiOEBIAAgAEHw4gFqNgLw4QEgCUECRgRAIAAgAEGo0ABqNgIMCyAAIANqIgBBiOMBakIANwAAIABBgOMBakIANwAAIABB+OIBakIANwAAIABB8OIBakIANwAAIAoPCwJ/AkACQAJAIANBAnZBA3FBf2oiBEECSw0AIARBAWsOAgACAQtBASEEIANBA3YMAgtBAiEEIAEvAABBBHYMAQtBAyEEIAEQIUEEdgsiAyAEaiIFQSBqIAJLBEAgBSACSw0CIABB8OIBaiABIARqIAMQCyEBIAAgAzYCgOIBIAAgATYC8OEBIAEgA2oiAEIANwAYIABCADcAECAAQgA3AAggAEIANwAAIAUPCyAAIAM2AoDiASAAIAEgBGo2AvDhASAFDwsCfwJAAkACQCADQQJ2QQNxQX9qIgRBAksNACAEQQFrDgIAAgELQQEhByADQQN2DAILQQIhByABLwAAQQR2DAELIAJBBEkgARAhIgJBj4CAAUtyDQFBAyEHIAJBBHYLIQIgAEHw4gFqIAEgB2otAAAgAkEgahAQIQEgACACNgKA4gEgACABNgLw4QEgB0EBaiEHCyAHC0sAIABC+erQ0OfJoeThADcDICAAQgA3AxggAELP1tO+0ser2UI3AxAgAELW64Lu6v2J9eAANwMIIABCADcDACAAQShqQQBBKBAQGgviAgICfwV+IABBKGoiASAAKAJIaiECAn4gACkDACIDQiBaBEAgACkDECIEQgeJIAApAwgiBUIBiXwgACkDGCIGQgyJfCAAKQMgIgdCEol8IAUQGSAEEBkgBhAZIAcQGQwBCyAAKQMYQsXP2bLx5brqJ3wLIAN8IQMDQCABQQhqIgAgAk0EQEIAIAEpAAAQCSADhUIbiUKHla+vmLbem55/fkLj3MqV/M7y9YV/fCEDIAAhAQwBCwsCQCABQQRqIgAgAksEQCABIQAMAQsgASgAAK1Ch5Wvr5i23puef34gA4VCF4lCz9bTvtLHq9lCfkL5893xmfaZqxZ8IQMLA0AgACACSQRAIAAxAABCxc/ZsvHluuonfiADhUILiUKHla+vmLbem55/fiEDIABBAWohAAwBCwsgA0IhiCADhULP1tO+0ser2UJ+IgNCHYggA4VC+fPd8Zn2masWfiIDQiCIIAOFC+8CAgJ/BH4gACAAKQMAIAKtfDcDAAJAAkAgACgCSCIDIAJqIgRBH00EQCABRQ0BIAAgA2pBKGogASACECAgACgCSCACaiEEDAELIAEgAmohAgJ/IAMEQCAAQShqIgQgA2ogAUEgIANrECAgACAAKQMIIAQpAAAQCTcDCCAAIAApAxAgACkAMBAJNwMQIAAgACkDGCAAKQA4EAk3AxggACAAKQMgIABBQGspAAAQCTcDICAAKAJIIQMgAEEANgJIIAEgA2tBIGohAQsgAUEgaiACTQsEQCACQWBqIQMgACkDICEFIAApAxghBiAAKQMQIQcgACkDCCEIA0AgCCABKQAAEAkhCCAHIAEpAAgQCSEHIAYgASkAEBAJIQYgBSABKQAYEAkhBSABQSBqIgEgA00NAAsgACAFNwMgIAAgBjcDGCAAIAc3AxAgACAINwMICyABIAJPDQEgAEEoaiABIAIgAWsiBBAgCyAAIAQ2AkgLCy8BAX8gAEUEQEG2f0EAIAMbDwtBun8hBCADIAFNBH8gACACIAMQEBogAwVBun8LCy8BAX8gAEUEQEG2f0EAIAMbDwtBun8hBCADIAFNBH8gACACIAMQCxogAwVBun8LC6gCAQZ/IwBBEGsiByQAIABB2OABaikDAEKAgIAQViEIQbh/IQUCQCAEQf//B0sNACAAIAMgBBBCIgUQAyIGDQAgACgCnOIBIQkgACAHQQxqIAMgAyAFaiAGGyIKIARBACAFIAYbayIGEEAiAxADBEAgAyEFDAELIAcoAgwhBCABRQRAQbp/IQUgBEEASg0BCyAGIANrIQUgAyAKaiEDAkAgCQRAIABBADYCnOIBDAELAkACQAJAIARBBUgNACAAQdjgAWopAwBCgICACFgNAAwBCyAAQQA2ApziAQwBCyAAKAIIED8hBiAAQQA2ApziASAGQRRPDQELIAAgASACIAMgBSAEIAgQOSEFDAELIAAgASACIAMgBSAEIAgQOiEFCyAHQRBqJAAgBQtnACAAQdDgAWogASACIAAoAuzhARAuIgEQAwRAIAEPC0G4fyECAkAgAQ0AIABB7OABaigCACIBBEBBYCECIAAoApjiASABRw0BC0EAIQIgAEHw4AFqKAIARQ0AIABBkOEBahBDCyACCycBAX8QVyIERQRAQUAPCyAEIAAgASACIAMgBBBLEE8hACAEEFYgAAs/AQF/AkACQAJAIAAoAqDiAUEBaiIBQQJLDQAgAUEBaw4CAAECCyAAEDBBAA8LIABBADYCoOIBCyAAKAKU4gELvAMCB38BfiMAQRBrIgkkAEG4fyEGAkAgBCgCACIIQQVBCSAAKALs4QEiBRtJDQAgAygCACIHQQFBBSAFGyAFEC8iBRADBEAgBSEGDAELIAggBUEDakkNACAAIAcgBRBJIgYQAw0AIAEgAmohCiAAQZDhAWohCyAIIAVrIQIgBSAHaiEHIAEhBQNAIAcgAiAJECwiBhADDQEgAkF9aiICIAZJBEBBuH8hBgwCCyAJKAIAIghBAksEQEFsIQYMAgsgB0EDaiEHAn8CQAJAAkAgCEEBaw4CAgABCyAAIAUgCiAFayAHIAYQSAwCCyAFIAogBWsgByAGEEcMAQsgBSAKIAVrIActAAAgCSgCCBBGCyIIEAMEQCAIIQYMAgsgACgC8OABBEAgCyAFIAgQRQsgAiAGayECIAYgB2ohByAFIAhqIQUgCSgCBEUNAAsgACkD0OABIgxCf1IEQEFsIQYgDCAFIAFrrFINAQsgACgC8OABBEBBaiEGIAJBBEkNASALEEQhDCAHKAAAIAynRw0BIAdBBGohByACQXxqIQILIAMgBzYCACAEIAI2AgAgBSABayEGCyAJQRBqJAAgBgsuACAAECsCf0EAQQAQAw0AGiABRSACRXJFBEBBYiAAIAEgAhA9EAMNARoLQQALCzcAIAEEQCAAIAAoAsTgASABKAIEIAEoAghqRzYCnOIBCyAAECtBABADIAFFckUEQCAAIAEQWwsL0QIBB38jAEEQayIGJAAgBiAENgIIIAYgAzYCDCAFBEAgBSgCBCEKIAUoAgghCQsgASEIAkACQANAIAAoAuzhARAWIQsCQANAIAQgC0kNASADKAAAQXBxQdDUtMIBRgRAIAMgBBAiIgcQAw0EIAQgB2shBCADIAdqIQMMAQsLIAYgAzYCDCAGIAQ2AggCQCAFBEAgACAFEE5BACEHQQAQA0UNAQwFCyAAIAogCRBNIgcQAw0ECyAAIAgQUCAMQQFHQQAgACAIIAIgBkEMaiAGQQhqEEwiByIDa0EAIAMQAxtBCkdyRQRAQbh/IQcMBAsgBxADDQMgAiAHayECIAcgCGohCEEBIQwgBigCDCEDIAYoAgghBAwBCwsgBiADNgIMIAYgBDYCCEG4fyEHIAQNASAIIAFrIQcMAQsgBiADNgIMIAYgBDYCCAsgBkEQaiQAIAcLRgECfyABIAAoArjgASICRwRAIAAgAjYCxOABIAAgATYCuOABIAAoArzgASEDIAAgATYCvOABIAAgASADIAJrajYCwOABCwutAgIEfwF+IwBBQGoiBCQAAkACQCACQQhJDQAgASgAAEFwcUHQ1LTCAUcNACABIAIQIiEBIABCADcDCCAAQQA2AgQgACABNgIADAELIARBGGogASACEC0iAxADBEAgACADEBoMAQsgAwRAIABBuH8QGgwBCyACIAQoAjAiA2shAiABIANqIQMDQAJAIAAgAyACIARBCGoQLCIFEAMEfyAFBSACIAVBA2oiBU8NAUG4fwsQGgwCCyAGQQFqIQYgAiAFayECIAMgBWohAyAEKAIMRQ0ACyAEKAI4BEAgAkEDTQRAIABBuH8QGgwCCyADQQRqIQMLIAQoAighAiAEKQMYIQcgAEEANgIEIAAgAyABazYCACAAIAIgBmytIAcgB0J/URs3AwgLIARBQGskAAslAQF/IwBBEGsiAiQAIAIgACABEFEgAigCACEAIAJBEGokACAAC30BBH8jAEGQBGsiBCQAIARB/wE2AggCQCAEQRBqIARBCGogBEEMaiABIAIQFSIGEAMEQCAGIQUMAQtBVCEFIAQoAgwiB0EGSw0AIAMgBEEQaiAEKAIIIAcQQSIFEAMNACAAIAEgBmogAiAGayADEDwhBQsgBEGQBGokACAFC4cBAgJ/An5BABAWIQMCQANAIAEgA08EQAJAIAAoAABBcHFB0NS0wgFGBEAgACABECIiAhADRQ0BQn4PCyAAIAEQVSIEQn1WDQMgBCAFfCIFIARUIQJCfiEEIAINAyAAIAEQUiICEAMNAwsgASACayEBIAAgAmohAAwBCwtCfiAFIAEbIQQLIAQLPwIBfwF+IwBBMGsiAiQAAn5CfiACQQhqIAAgARAtDQAaQgAgAigCHEEBRg0AGiACKQMICyEDIAJBMGokACADC40BAQJ/IwBBMGsiASQAAkAgAEUNACAAKAKI4gENACABIABB/OEBaigCADYCKCABIAApAvThATcDICAAEDAgACgCqOIBIQIgASABKAIoNgIYIAEgASkDIDcDECACIAFBEGoQGyAAQQA2AqjiASABIAEoAig2AgggASABKQMgNwMAIAAgARAbCyABQTBqJAALKgECfyMAQRBrIgAkACAAQQA2AgggAEIANwMAIAAQWCEBIABBEGokACABC4cBAQN/IwBBEGsiAiQAAkAgACgCAEUgACgCBEVzDQAgAiAAKAIINgIIIAIgACkCADcDAAJ/IAIoAgAiAQRAIAIoAghBqOMJIAERBQAMAQtBqOMJECgLIgFFDQAgASAAKQIANwL04QEgAUH84QFqIAAoAgg2AgAgARBZIAEhAwsgAkEQaiQAIAMLywEBAn8jAEEgayIBJAAgAEGBgIDAADYCtOIBIABBADYCiOIBIABBADYC7OEBIABCADcDkOIBIABBADYCpOMJIABBADYC3OIBIABCADcCzOIBIABBADYCvOIBIABBADYCxOABIABCADcCnOIBIABBpOIBakIANwIAIABBrOIBakEANgIAIAFCADcCECABQgA3AhggASABKQMYNwMIIAEgASkDEDcDACABKAIIQQh2QQFxIQIgAEEANgLg4gEgACACNgKM4gEgAUEgaiQAC3YBA38jAEEwayIBJAAgAARAIAEgAEHE0AFqIgIoAgA2AiggASAAKQK80AE3AyAgACgCACEDIAEgAigCADYCGCABIAApArzQATcDECADIAFBEGoQGyABIAEoAig2AgggASABKQMgNwMAIAAgARAbCyABQTBqJAALzAEBAX8gACABKAK00AE2ApjiASAAIAEoAgQiAjYCwOABIAAgAjYCvOABIAAgAiABKAIIaiICNgK44AEgACACNgLE4AEgASgCuNABBEAgAEKBgICAEDcDiOEBIAAgAUGk0ABqNgIMIAAgAUGUIGo2AgggACABQZwwajYCBCAAIAFBDGo2AgAgAEGs0AFqIAFBqNABaigCADYCACAAQbDQAWogAUGs0AFqKAIANgIAIABBtNABaiABQbDQAWooAgA2AgAPCyAAQgA3A4jhAQs7ACACRQRAQbp/DwsgBEUEQEFsDwsgAiAEEGAEQCAAIAEgAiADIAQgBRBhDwsgACABIAIgAyAEIAUQZQtGAQF/IwBBEGsiBSQAIAVBCGogBBAOAn8gBS0ACQRAIAAgASACIAMgBBAyDAELIAAgASACIAMgBBA0CyEAIAVBEGokACAACzQAIAAgAyAEIAUQNiIFEAMEQCAFDwsgBSAESQR/IAEgAiADIAVqIAQgBWsgABA1BUG4fwsLRgEBfyMAQRBrIgUkACAFQQhqIAQQDgJ/IAUtAAkEQCAAIAEgAiADIAQQYgwBCyAAIAEgAiADIAQQNQshACAFQRBqJAAgAAtZAQF/QQ8hAiABIABJBEAgAUEE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",Pt=new WeakMap;let zt,Wt=0;class ca extends f.Loader{constructor(A){super(A),this.transcoderPath="",this.transcoderBinary=null,this.transcoderPending=null,this.workerPool=new an,this.workerSourceURL="",this.workerConfig=null,typeof MSC_TRANSCODER<"u"&&console.warn('THREE.KTX2Loader: Please update to latest "basis_transcoder". "msc_basis_transcoder" is no longer supported in three.js r125+.')}setTranscoderPath(A){return this.transcoderPath=A,this}setWorkerLimit(A){return this.workerPool.setWorkerLimit(A),this}async detectSupportAsync(A){return this.workerConfig={astcSupported:await A.hasFeatureAsync("texture-compression-astc"),astcHDRSupported:!1,etc1Supported:await A.hasFeatureAsync("texture-compression-etc1"),etc2Supported:await A.hasFeatureAsync("texture-compression-etc2"),dxtSupported:await A.hasFeatureAsync("texture-compression-bc"),bptcSupported:await A.hasFeatureAsync("texture-compression-bptc"),pvrtcSupported:await A.hasFeatureAsync("texture-compression-pvrtc")},this}detectSupport(A){return A.isWebGPURenderer===!0?this.workerConfig={astcSupported:A.hasFeature("texture-compression-astc"),astcHDRSupported:!1,etc1Supported:A.hasFeature("texture-compression-etc1"),etc2Supported:A.hasFeature("texture-compression-etc2"),dxtSupported:A.hasFeature("texture-compression-bc"),bptcSupported:A.hasFeature("texture-compression-bptc"),pvrtcSupported:A.hasFeature("texture-compression-pvrtc")}:this.workerConfig={astcSupported:A.extensions.has("WEBGL_compressed_texture_astc"),astcHDRSupported:A.extensions.has("WEBGL_compressed_texture_astc")&&A.extensions.get("WEBGL_compressed_texture_astc").getSupportedProfiles().includes("hdr"),etc1Supported:A.extensions.has("WEBGL_compressed_texture_etc1"),etc2Supported:A.extensions.has("WEBGL_compressed_texture_etc"),dxtSupported:A.extensions.has("WEBGL_compressed_texture_s3tc"),bptcSupported:A.extensions.has("EXT_texture_compression_bptc"),pvrtcSupported:A.extensions.has("WEBGL_compressed_texture_pvrtc")||A.extensions.has("WEBKIT_WEBGL_compressed_texture_pvrtc")},this}init(){if(!this.transcoderPending){const A=new f.FileLoader(this.manager);A.setPath(this.transcoderPath),A.setWithCredentials(this.withCredentials);const a=A.loadAsync("basis_transcoder.js"),e=new f.FileLoader(this.manager);e.setPath(this.transcoderPath),e.setResponseType("arraybuffer"),e.setWithCredentials(this.withCredentials);const g=e.loadAsync("basis_transcoder.wasm");this.transcoderPending=Promise.all([a,g]).then(([i,I])=>{const r=ca.BasisWorker.toString(),o=["/* constants */","let _EngineFormat = "+JSON.stringify(ca.EngineFormat),"let _EngineType = "+JSON.stringify(ca.EngineType),"let _TranscoderFormat = "+JSON.stringify(ca.TranscoderFormat),"let _BasisFormat = "+JSON.stringify(ca.BasisFormat),"/* basis_transcoder.js */",i,"/* worker */",r.substring(r.indexOf("{")+1,r.lastIndexOf("}"))].join(`
|
|
20
|
-
`);this.workerSourceURL=URL.createObjectURL(new Blob([o])),this.transcoderBinary=I,this.workerPool.setWorkerCreator(()=>{const B=new Worker(this.workerSourceURL),n=this.transcoderBinary.slice(0);return B.postMessage({type:"init",config:this.workerConfig,transcoderBinary:n},[n]),B})}),Wt>0&&console.warn("THREE.KTX2Loader: Multiple active KTX2 loaders may cause performance issues. Use a single KTX2Loader instance, or call .dispose() on old instances."),Wt++}return this.transcoderPending}load(A,a,e,g){if(this.workerConfig===null)throw new Error("THREE.KTX2Loader: Missing initialization with `.detectSupport( renderer )`.");const i=new f.FileLoader(this.manager);i.setPath(this.path),i.setCrossOrigin(this.crossOrigin),i.setWithCredentials(this.withCredentials),i.setResponseType("arraybuffer"),i.load(A,I=>{this.parse(I,a,g)},e,g)}parse(A,a,e){if(this.workerConfig===null)throw new Error("THREE.KTX2Loader: Missing initialization with `.detectSupport( renderer )`.");if(Pt.has(A))return Pt.get(A).promise.then(a).catch(e);this._createTexture(A).then(g=>a?a(g):null).catch(e)}_createTextureFrom(A,a){const{type:e,error:g,data:{faces:i,width:I,height:r,format:o,type:B,dfdFlags:n}}=A;if(e==="error")return Promise.reject(g);let s;if(a.faceCount===6)s=new f.CompressedCubeTexture(i,o,B);else{const E=i[0].mipmaps;s=a.layerCount>1?new f.CompressedArrayTexture(E,I,r,a.layerCount,o,B):new f.CompressedTexture(E,I,r,o,B)}return s.minFilter=i[0].mipmaps.length===1?f.LinearFilter:f.LinearMipmapLinearFilter,s.magFilter=f.LinearFilter,s.generateMipmaps=!1,s.needsUpdate=!0,s.colorSpace=_g(a),s.premultiplyAlpha=!!(1&n),s}async _createTexture(A,a={}){const e=function(r){const o=new Uint8Array(r.buffer,r.byteOffset,ta.length);if(o[0]!==ta[0]||o[1]!==ta[1]||o[2]!==ta[2]||o[3]!==ta[3]||o[4]!==ta[4]||o[5]!==ta[5]||o[6]!==ta[6]||o[7]!==ta[7]||o[8]!==ta[8]||o[9]!==ta[9]||o[10]!==ta[10]||o[11]!==ta[11])throw new Error("Missing KTX 2.0 identifier.");const B=new cn,n=17*Uint32Array.BYTES_PER_ELEMENT,s=new Je(r,ta.length,n,!0);B.vkFormat=s._nextUint32(),B.typeSize=s._nextUint32(),B.pixelWidth=s._nextUint32(),B.pixelHeight=s._nextUint32(),B.pixelDepth=s._nextUint32(),B.layerCount=s._nextUint32(),B.faceCount=s._nextUint32();const E=s._nextUint32();B.supercompressionScheme=s._nextUint32();const C=s._nextUint32(),Q=s._nextUint32(),c=s._nextUint32(),d=s._nextUint32(),b=s._nextUint64(),h=s._nextUint64(),l=new Je(r,ta.length+n,3*E*8,!0);for(let rA=0;rA<E;rA++)B.levels.push({levelData:new Uint8Array(r.buffer,r.byteOffset+l._nextUint64(),l._nextUint64()),uncompressedByteLength:l._nextUint64()});const w=new Je(r,C,Q,!0),M={vendorId:w._skip(4)._nextUint16(),descriptorType:w._nextUint16(),versionNumber:w._nextUint16(),descriptorBlockSize:w._nextUint16(),colorModel:w._nextUint8(),colorPrimaries:w._nextUint8(),transferFunction:w._nextUint8(),flags:w._nextUint8(),texelBlockDimension:[w._nextUint8(),w._nextUint8(),w._nextUint8(),w._nextUint8()],bytesPlane:[w._nextUint8(),w._nextUint8(),w._nextUint8(),w._nextUint8(),w._nextUint8(),w._nextUint8(),w._nextUint8(),w._nextUint8()],samples:[]},k=(M.descriptorBlockSize/4-6)/4;for(let rA=0;rA<k;rA++){const sA={bitOffset:w._nextUint16(),bitLength:w._nextUint8(),channelType:w._nextUint8(),samplePosition:[w._nextUint8(),w._nextUint8(),w._nextUint8(),w._nextUint8()],sampleLower:-1/0,sampleUpper:1/0};64&sA.channelType?(sA.sampleLower=w._nextInt32(),sA.sampleUpper=w._nextInt32()):(sA.sampleLower=w._nextUint32(),sA.sampleUpper=w._nextUint32()),M.samples[rA]=sA}B.dataFormatDescriptor.length=0,B.dataFormatDescriptor.push(M);const N=new Je(r,c,d,!0);for(;N._offset<d;){const rA=N._nextUint32(),sA=N._scan(rA),uA=Xg(sA);if(B.keyValue[uA]=N._nextUint8Array(rA-sA.byteLength-1),uA.match(/^ktx/i)){const pA=Xg(B.keyValue[uA]);B.keyValue[uA]=pA.substring(0,pA.lastIndexOf("\0"))}N._skip(rA%4?4-rA%4:0)}if(h<=0)return B;const F=new Je(r,b,h,!0),G=F._nextUint16(),L=F._nextUint16(),x=F._nextUint32(),W=F._nextUint32(),X=F._nextUint32(),eA=F._nextUint32(),AA=[];for(let rA=0;rA<E;rA++)AA.push({imageFlags:F._nextUint32(),rgbSliceByteOffset:F._nextUint32(),rgbSliceByteLength:F._nextUint32(),alphaSliceByteOffset:F._nextUint32(),alphaSliceByteLength:F._nextUint32()});const Z=b+F._offset,nA=Z+x,bA=nA+W,cA=bA+X,yA=new Uint8Array(r.buffer,r.byteOffset+Z,x),fA=new Uint8Array(r.buffer,r.byteOffset+nA,W),BA=new Uint8Array(r.buffer,r.byteOffset+bA,X),kA=new Uint8Array(r.buffer,r.byteOffset+cA,eA);return B.globalData={endpointCount:G,selectorCount:L,imageDescs:AA,endpointsData:yA,selectorsData:fA,tablesData:BA,extendedData:kA},B}(new Uint8Array(A)),g=e.vkFormat===mg&&e.dataFormatDescriptor[0].colorModel===167;if(!(e.vkFormat===0||g&&!this.workerConfig.astcHDRSupported))return async function(r){const{vkFormat:o}=r;if(Vt[o]===void 0)throw new Error("THREE.KTX2Loader: Unsupported vkFormat.");let B;r.supercompressionScheme===2&&(zt||(zt=new Promise(async E=>{const C=new hn;await C.init(),E(C)})),B=await zt);const n=[];for(let E=0;E<r.levels.length;E++){const C=Math.max(1,r.pixelWidth>>E),Q=Math.max(1,r.pixelHeight>>E),c=r.pixelDepth?Math.max(1,r.pixelDepth>>E):0,d=r.levels[E];let b,h;if(r.supercompressionScheme===0)b=d.levelData;else{if(r.supercompressionScheme!==2)throw new Error("THREE.KTX2Loader: Unsupported supercompressionScheme.");b=B.decode(d.levelData,d.uncompressedByteLength)}h=Xt[o]===f.FloatType?new Float32Array(b.buffer,b.byteOffset,b.byteLength/Float32Array.BYTES_PER_ELEMENT):Xt[o]===f.HalfFloatType?new Uint16Array(b.buffer,b.byteOffset,b.byteLength/Uint16Array.BYTES_PER_ELEMENT):b,n.push({data:h,width:C,height:Q,depth:c})}let s;if(dn.has(Vt[o]))s=r.pixelDepth===0?new f.DataTexture(n[0].data,r.pixelWidth,r.pixelHeight):new f.Data3DTexture(n[0].data,r.pixelWidth,r.pixelHeight,r.pixelDepth);else{if(r.pixelDepth>0)throw new Error("THREE.KTX2Loader: Unsupported pixelDepth.");s=new f.CompressedTexture(n,r.pixelWidth,r.pixelHeight),s.minFilter=n.length===1?f.LinearFilter:f.LinearMipmapLinearFilter,s.magFilter=f.LinearFilter}return s.mipmaps=n,s.type=Xt[o],s.format=Vt[o],s.colorSpace=_g(r),s.needsUpdate=!0,Promise.resolve(s)}(e);const i=a,I=this.init().then(()=>this.workerPool.postMessage({type:"transcode",buffer:A,taskConfig:i},[A])).then(r=>this._createTextureFrom(r.data,e));return Pt.set(A,{promise:I}),I}dispose(){this.workerPool.dispose(),this.workerSourceURL&&URL.revokeObjectURL(this.workerSourceURL),Wt--}}ca.BasisFormat={ETC1S:0,UASTC:1,UASTC_HDR:2},ca.TranscoderFormat={ETC1:0,ETC2:1,BC1:2,BC3:3,BC4:4,BC5:5,BC7_M6_OPAQUE_ONLY:6,BC7_M5:7,PVRTC1_4_RGB:8,PVRTC1_4_RGBA:9,ASTC_4x4:10,ATC_RGB:11,ATC_RGBA_INTERPOLATED_ALPHA:12,RGBA32:13,RGB565:14,BGR565:15,RGBA4444:16,BC6H:22,RGB_HALF:24,RGBA_HALF:25},ca.EngineFormat={RGBAFormat:f.RGBAFormat,RGBA_ASTC_4x4_Format:f.RGBA_ASTC_4x4_Format,RGB_BPTC_UNSIGNED_Format:f.RGB_BPTC_UNSIGNED_Format,RGBA_BPTC_Format:f.RGBA_BPTC_Format,RGBA_ETC2_EAC_Format:f.RGBA_ETC2_EAC_Format,RGBA_PVRTC_4BPPV1_Format:f.RGBA_PVRTC_4BPPV1_Format,RGBA_S3TC_DXT5_Format:f.RGBA_S3TC_DXT5_Format,RGB_ETC1_Format:f.RGB_ETC1_Format,RGB_ETC2_Format:f.RGB_ETC2_Format,RGB_PVRTC_4BPPV1_Format:f.RGB_PVRTC_4BPPV1_Format,RGBA_S3TC_DXT1_Format:f.RGBA_S3TC_DXT1_Format},ca.EngineType={UnsignedByteType:f.UnsignedByteType,HalfFloatType:f.HalfFloatType,FloatType:f.FloatType},ca.BasisWorker=function(){let t,A,a;const e=_EngineFormat,g=_EngineType,i=_TranscoderFormat,I=_BasisFormat;self.addEventListener("message",function(s){const E=s.data;switch(E.type){case"init":t=E.config,C=E.transcoderBinary,A=new Promise(Q=>{a={wasmBinary:C,onRuntimeInitialized:Q},BASIS(a)}).then(()=>{a.initializeBasis(),a.KTX2File===void 0&&console.warn("THREE.KTX2Loader: Please update Basis Universal transcoder.")});break;case"transcode":A.then(()=>{try{const{faces:Q,buffers:c,width:d,height:b,hasAlpha:h,format:l,type:w,dfdFlags:M}=function(k){const N=new a.KTX2File(new Uint8Array(k));function F(){N.close(),N.delete()}if(!N.isValid())throw F(),new Error("THREE.KTX2Loader: Invalid or unsupported .ktx2 file");let G;if(N.isUASTC())G=I.UASTC;else if(N.isETC1S())G=I.ETC1S;else{if(!N.isHDR())throw new Error("THREE.KTX2Loader: Unknown Basis encoding");G=I.UASTC_HDR}const L=N.getWidth(),x=N.getHeight(),W=N.getLayers()||1,X=N.getLevels(),eA=N.getFaces(),AA=N.getHasAlpha(),Z=N.getDFDFlags(),{transcoderFormat:nA,engineFormat:bA,engineType:cA}=function(BA,kA,rA,sA){const uA=o[BA];for(let pA=0;pA<uA.length;pA++){const mA=uA[pA];if(!(mA.if&&!t[mA.if])&&mA.basisFormat.includes(BA)&&!(sA&&mA.transcoderFormat.length<2)&&!(mA.needsPowerOfTwo&&(!B(kA)||!B(rA))))return{transcoderFormat:mA.transcoderFormat[sA?1:0],engineFormat:mA.engineFormat[sA?1:0],engineType:mA.engineType[0]}}throw new Error("THREE.KTX2Loader: Failed to identify transcoding target.")}(G,L,x,AA);if(!L||!x||!X)throw F(),new Error("THREE.KTX2Loader: Invalid texture");if(!N.startTranscoding())throw F(),new Error("THREE.KTX2Loader: .startTranscoding failed");const yA=[],fA=[];for(let BA=0;BA<eA;BA++){const kA=[];for(let rA=0;rA<X;rA++){const sA=[];let uA,pA;for(let NA=0;NA<W;NA++){const WA=N.getImageLevelInfo(rA,NA,BA);BA!==0||rA!==0||NA!==0||WA.origWidth%4==0&&WA.origHeight%4==0||console.warn("THREE.KTX2Loader: ETC1S and UASTC textures should use multiple-of-four dimensions."),X>1?(uA=WA.origWidth,pA=WA.origHeight):(uA=WA.width,pA=WA.height);let VA=new Uint8Array(N.getImageTranscodedSizeInBytes(rA,NA,0,nA));const oa=N.transcodeImage(VA,rA,NA,BA,nA,0,-1,-1);if(cA===g.HalfFloatType&&(VA=new Uint16Array(VA.buffer,VA.byteOffset,VA.byteLength/Uint16Array.BYTES_PER_ELEMENT)),!oa)throw F(),new Error("THREE.KTX2Loader: .transcodeImage failed.");sA.push(VA)}const mA=n(sA);kA.push({data:mA,width:uA,height:pA}),fA.push(mA.buffer)}yA.push({mipmaps:kA,width:L,height:x,format:bA,type:cA})}return F(),{faces:yA,buffers:fA,width:L,height:x,hasAlpha:AA,dfdFlags:Z,format:bA,type:cA}}(E.buffer);self.postMessage({type:"transcode",id:E.id,data:{faces:Q,width:d,height:b,hasAlpha:h,format:l,type:w,dfdFlags:M}},c)}catch(Q){console.error(Q),self.postMessage({type:"error",id:E.id,error:Q.message})}})}var C});const r=[{if:"astcSupported",basisFormat:[I.UASTC],transcoderFormat:[i.ASTC_4x4,i.ASTC_4x4],engineFormat:[e.RGBA_ASTC_4x4_Format,e.RGBA_ASTC_4x4_Format],engineType:[g.UnsignedByteType],priorityETC1S:1/0,priorityUASTC:1,needsPowerOfTwo:!1},{if:"bptcSupported",basisFormat:[I.ETC1S,I.UASTC],transcoderFormat:[i.BC7_M5,i.BC7_M5],engineFormat:[e.RGBA_BPTC_Format,e.RGBA_BPTC_Format],engineType:[g.UnsignedByteType],priorityETC1S:3,priorityUASTC:2,needsPowerOfTwo:!1},{if:"dxtSupported",basisFormat:[I.ETC1S,I.UASTC],transcoderFormat:[i.BC1,i.BC3],engineFormat:[e.RGBA_S3TC_DXT1_Format,e.RGBA_S3TC_DXT5_Format],engineType:[g.UnsignedByteType],priorityETC1S:4,priorityUASTC:5,needsPowerOfTwo:!1},{if:"etc2Supported",basisFormat:[I.ETC1S,I.UASTC],transcoderFormat:[i.ETC1,i.ETC2],engineFormat:[e.RGB_ETC2_Format,e.RGBA_ETC2_EAC_Format],engineType:[g.UnsignedByteType],priorityETC1S:1,priorityUASTC:3,needsPowerOfTwo:!1},{if:"etc1Supported",basisFormat:[I.ETC1S,I.UASTC],transcoderFormat:[i.ETC1],engineFormat:[e.RGB_ETC1_Format],engineType:[g.UnsignedByteType],priorityETC1S:2,priorityUASTC:4,needsPowerOfTwo:!1},{if:"pvrtcSupported",basisFormat:[I.ETC1S,I.UASTC],transcoderFormat:[i.PVRTC1_4_RGB,i.PVRTC1_4_RGBA],engineFormat:[e.RGB_PVRTC_4BPPV1_Format,e.RGBA_PVRTC_4BPPV1_Format],engineType:[g.UnsignedByteType],priorityETC1S:5,priorityUASTC:6,needsPowerOfTwo:!0},{if:"bptcSupported",basisFormat:[I.UASTC_HDR],transcoderFormat:[i.BC6H],engineFormat:[e.RGB_BPTC_UNSIGNED_Format],engineType:[g.HalfFloatType],priorityHDR:1,needsPowerOfTwo:!1},{basisFormat:[I.ETC1S,I.UASTC],transcoderFormat:[i.RGBA32,i.RGBA32],engineFormat:[e.RGBAFormat,e.RGBAFormat],engineType:[g.UnsignedByteType,g.UnsignedByteType],priorityETC1S:100,priorityUASTC:100,needsPowerOfTwo:!1},{basisFormat:[I.UASTC_HDR],transcoderFormat:[i.RGBA_HALF],engineFormat:[e.RGBAFormat],engineType:[g.HalfFloatType],priorityHDR:100,needsPowerOfTwo:!1}],o={[I.ETC1S]:r.filter(s=>s.basisFormat.includes(I.ETC1S)).sort((s,E)=>s.priorityUASTC-E.priorityUASTC),[I.UASTC]:r.filter(s=>s.basisFormat.includes(I.UASTC)).sort((s,E)=>s.priorityUASTC-E.priorityUASTC),[I.UASTC_HDR]:r.filter(s=>s.basisFormat.includes(I.UASTC_HDR)).sort((s,E)=>s.priorityHDR-E.priorityHDR)};function B(s){return s<=2||!(s&s-1)&&s!==0}function n(s){if(s.length===1)return s[0];let E=0;for(let c=0;c<s.length;c++)E+=s[c].byteLength;const C=new Uint8Array(E);let Q=0;for(let c=0;c<s.length;c++){const d=s[c];C.set(d,Q),Q+=d.byteLength}return C}};const dn=new Set([f.RGBAFormat,f.RGFormat,f.RedFormat]),Vt={[CI]:f.RGBAFormat,[oI]:f.RGBAFormat,[iI]:f.RGBAFormat,[II]:f.RGBAFormat,[sI]:f.RGFormat,[nI]:f.RGFormat,[tI]:f.RGFormat,[gI]:f.RGFormat,[BI]:f.RedFormat,[rI]:f.RedFormat,[eI]:f.RedFormat,[aI]:f.RedFormat,[EI]:f.RGB_ETC2_Format,[QI]:f.RGBA_ETC2_EAC_Format,[mg]:f.RGBA_ASTC_4x4_Format,[Qn]:f.RGBA_ASTC_4x4_Format,[En]:f.RGBA_ASTC_4x4_Format,[hI]:f.RGBA_ASTC_6x6_Format,[cI]:f.RGBA_ASTC_6x6_Format,[gn]:f.RGBA_S3TC_DXT1_Format,[In]:f.RGBA_S3TC_DXT1_Format,[en]:f.RGB_S3TC_DXT1_Format,[tn]:f.RGB_S3TC_DXT1_Format,[nn]:f.RGBA_S3TC_DXT3_Format,[rn]:f.RGBA_S3TC_DXT3_Format,[Bn]:f.RGBA_S3TC_DXT5_Format,[on]:f.RGBA_S3TC_DXT5_Format,[Cn]:f.RGBA_BPTC_Format,[sn]:f.RGBA_BPTC_Format},Xt={[CI]:f.FloatType,[oI]:f.HalfFloatType,[iI]:f.UnsignedByteType,[II]:f.UnsignedByteType,[sI]:f.FloatType,[nI]:f.HalfFloatType,[tI]:f.UnsignedByteType,[gI]:f.UnsignedByteType,[BI]:f.FloatType,[rI]:f.HalfFloatType,[eI]:f.UnsignedByteType,[aI]:f.UnsignedByteType,[EI]:f.UnsignedByteType,[QI]:f.UnsignedByteType,[mg]:f.HalfFloatType,[hI]:f.UnsignedByteType,[cI]:f.UnsignedByteType};function _g(t){const A=t.dataFormatDescriptor[0];return A.colorPrimaries===1?A.transferFunction===2?f.SRGBColorSpace:f.LinearSRGBColorSpace:A.colorPrimaries===10?A.transferFunction===2?"display-p3":"display-p3-linear":(A.colorPrimaries===0||console.warn(`THREE.KTX2Loader: Unsupported color primaries, "${A.colorPrimaries}"`),f.NoColorSpace)}async function $g(t){const A=t.split("?")[0].split(".").pop(),a=await fetch(t);if(!a.ok)throw new Error(`Failed to fetch ${t}: ${a.statusText}`);if(A==="json"){const e=await a.json();return handleJSONSubtree(e,Ai(t))}if(A==="subtree")return async function(e,g){const i=new DataView(e),I=i.getBigUint64(8,!0),r=i.getBigUint64(16,!0),o=24,B=o+Number(I),n=B+(8-B%8)%8,s=n+Number(r),E=e.slice(o,B),C=new TextDecoder().decode(E).trim(),Q=JSON.parse(C);if(!Q.buffers)throw new Error("subtree has no buffers");const c=Q.buffers.map(async b=>{if(b.uri){const h=new URL(b.uri,g).href,l=await fetch(h);if(!l.ok)throw new Error(`Failed to fetch binary file ${h}: ${l.statusText}`);return new Uint8Array(await l.arrayBuffer())}return new Uint8Array(e.slice(n,s))}),d=await Promise.all(c);return function(b,h){function l(F,G){if(!F)throw new Error("incomplete json subtree");if(F.constant){if(F.constant==0)return!1;if(F.constant==1)return!0}if(F.bitstream==null)throw new Error('json subtree "tileAvailability" does not specify a bitstream');if(!b.bufferViews||!b.bufferViews[F.bitstream])throw new Error('json subtree "bufferViews" does not specify a bitstream');const L=b.bufferViews[F.bitstream];return w(h[L.buffer],L.byteOffset,G)}function w(F,G,L){const x=L%8;return F[G+Math.floor(L/8)]>>x&!0}function M(F){let G=0;return G=F.z==null?Zt(F.x,F.y,F.level):$t(F.x,F.y,F.z,F.level),l(b.tileAvailability,G)}function k(F){let G=0;G=F.z==null?Zt(F.x,F.y,F.level):$t(F.x,F.y,F.z,F.level);const L=[];return b.contentAvailability.forEach(x=>{L.push(l(x,G))}),L}function N(F){let G=0;return G=F.z==null?Zt(F.x,F.y):$t(F.x,F.y,F.z),l(b.childSubtreeAvailability,G)}return{isTileAvailable:M,isContentAvailable:k,isChildSubtreeAvailable:N}}(Q,d)}(await a.arrayBuffer(),Ai(t));throw new Error(`Unsupported file extension: ${A}`)}function Ai(t){const A=t.split("?")[0];return A.substring(0,A.lastIndexOf("/")+1)}function ai(t){return t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t&=65535)^t<<8))^t<<4))^t<<2))^t<<1)}function Zt(t,A,a){let e=0;return a&&(e=(Math.pow(4,a)-1)/3),e+(ai(t)|ai(A)<<1)}function _t(t){return t=153391689&((t=51130563&((t=50393103&((t=4278190335&((t&=1023)^t<<16))^t<<8))^t<<4))^t<<2)}function $t(t,A,a,e){let g=0;return e&&(g=(Math.pow(8,e)-1)/7),g+(_t(t)|_t(A)<<1|_t(a)<<2)}const He=new Map;async function Fg(t,A){if(!t.root||!t.root.implicitTiling)return t;if(!t.root.content&&!t.root.contents)throw new Error("implicit tiling requires a Template URI");let a=!0;t.root.implicitTiling.subdivisionScheme&&(a=t.root.implicitTiling.subdivisionScheme.toUpperCase()==="QUADTREE");let e="";t.root.implicitTiling.subtrees&&(t.root.implicitTiling.subtrees.uri?e=t.root.implicitTiling.subtrees.uri:t.root.implicitTiling.subtrees.url&&(e=t.root.implicitTiling.subtrees.url));let g=[];t.root.content?t.root.content.uri?g.push(t.root.content.uri):t.root.content.url&&g.push(t.root.content.url):t.root.contents&&t.root.contents.forEach(C=>{C.uri?g.push(C.uri):C.url&&g.push(C.url)});const i=function(C){const Q=C.split("?")[0];return Q.substring(0,Q.lastIndexOf("/")+1)}(A);let I;a&&(I=e.replace("{level}",0).replace("{x}",0).replace("{y}",0)),a||(I=e.replace("{level}",0).replace("{x}",0).replace("{y}",0).replace("{z}",0));const r={level:0,x:0,y:0},o={level:0,x:0,y:0};a||(r.z=0,o.z=0),He.set(I,await $g(i+I));const B=He.get(I),n=[];B.isContentAvailable(o)&&g.forEach(C=>{let Q;a&&(Q=C.replace("{level}",r.level).replace("{x}",r.x).replace("{y}",r.y)),a||(Q=C.replace("{level}",r.level).replace("{x}",r.x).replace("{y}",r.y).replace("{z}",r.z)),n.push({uri:Q})});const s={geometricError:t.root.geometricError,boundingVolume:t.root.boundingVolume,refine:t.root.refine,globalAddress:r,localAddress:o,subtree:B,contents:n,getChildren:async()=>E(s)};return{root:s};async function E(C){const Q=[];if(C.localAddress.level==t.root.implicitTiling.availableLevels-1)return Q;if((C.localAddress.level+1)%t.root.implicitTiling.subtreeLevels==0){const c=et(C.localAddress),d=et(C.globalAddress),b=ei(a,t.root.boundingVolume,d);for(let h=0;h<c.length;h++){const l=c[h],w=d[h];C.subtree.isChildSubtreeAvailable(l)&&(a&&e.replace("{level}",w.level).replace("{x}",w.x).replace("{y}",w.y),a||e.replace("{level}",w.level).replace("{x}",w.x).replace("{y}",w.y).replace("{z}",w.z)),He.has(I)||He.set(I,await $g(i+I));const M=He.get(I),k={level:0,x:0,y:0};a||(k.z=0);const N=[];M.isContentAvailable(k)&&g.forEach(G=>{let L;a&&(L=G.replace("{level}",w.level).replace("{x}",w.x).replace("{y}",w.y)),a||(L=G.replace("{level}",w.level).replace("{x}",w.x).replace("{y}",w.y).replace("{z}",w.z)),N.push({uri:L})});const F={geometricError:C.geometricError/2,boundingVolume:b[h],refine:t.root.refine,globalAddress:w,localAddress:k,subtree:M,contents:N,getChildren:async()=>E(F)};Q.push(F)}}else{const c=et(C.localAddress),d=et(C.globalAddress),b=ei(a,t.root.boundingVolume,d);for(let h=0;h<c.length;h++){const l=c[h],w=d[h];if(!C.subtree.isTileAvailable(l))continue;const M=[],k=C.subtree.isContentAvailable(l);for(let F=0;F<g.length;F++){if(!k[F])continue;const G=g[F];let L;a&&(L=G.replace("{level}",w.level).replace("{x}",w.x).replace("{y}",w.y)),a||(L=G.replace("{level}",w.level).replace("{x}",w.x).replace("{y}",w.y).replace("{z}",w.z)),M.push({uri:L})}const N={geometricError:C.geometricError/2,boundingVolume:b[h],refine:t.root.refine,globalAddress:w,localAddress:l,subtree:C.subtree,contents:M,getChildren:async()=>E(N)};Q.push(N)}}return Q.length>0?Q:void 0}}function et(t){const{level:A,x:a,y:e,z:g}=t,i=A+1;let I=[];return I=g===void 0?[{level:i,x:2*a,y:2*e},{level:i,x:2*a+1,y:2*e},{level:i,x:2*a,y:2*e+1},{level:i,x:2*a+1,y:2*e+1}]:[{level:i,x:2*a,y:2*e,z:2*g},{level:i,x:2*a+1,y:2*e,z:2*g},{level:i,x:2*a,y:2*e+1,z:2*g},{level:i,x:2*a+1,y:2*e+1,z:2*g},{level:i,x:2*a,y:2*e,z:2*g+1},{level:i,x:2*a+1,y:2*e,z:2*g+1},{level:i,x:2*a,y:2*e+1,z:2*g+1},{level:i,x:2*a+1,y:2*e+1,z:2*g+1}],I}function ei(t,A,a){const e=[];for(let g=0;g<a.length;g++)e.push(bn(t,A,a[g]));return e}function bn(t,A,a){if(A.region)return function(e,g,i){const[I,r,o,B,n,s]=g,E=(o-I)/2**i.level,C=(B-r)/2**i.level,Q=e?0:(s-n)/2**i.level,c=I+E*i.x,d=r+C*i.y,b=c+E,h=d+C,l=e?n:n+Q*i.z,w=e?s:l+Q;return{region:[c,d,b,h,l,w]}}(t,A.region,a);if(A.box)return function(e,g,i){const I=g.slice(0,3),r=[g.slice(3,6),g.slice(6,9),g.slice(9,12)],o=1/Math.pow(2,i.level),B=[o,o,e?1:o],n=r.map((C,Q)=>C.map(c=>c*B[Q])),s=[I[0]-r[0][0]-r[1][0]-r[2][0],I[1]-r[0][1]-r[1][1]-r[2][1],I[2]-r[0][2]-r[1][2]-r[2][2]];return{box:[s[0]+(2*i.x+1)*(n[0][0]+n[1][0]+n[2][0]),s[1]+(2*i.y+1)*(n[0][1]+n[1][1]+n[2][1]),e?I[2]:s[2]+(2*i.z+1)*(n[0][2]+n[1][2]+n[2][2])].concat(...n)}}(t,A.box,a);throw new Error("Unsupported bounding volume type")}(function(){var t,A=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};function a(o){if(!o)throw new Error("Assertion failed")}function e(o){return new Uint8Array(o.buffer,o.byteOffset,o.byteLength)}function g(o,B,n,s,E,C,Q){var c=t.exports.sbrk,d=c(B),b=c(s*E),h=new Uint8Array(t.exports.memory.buffer);h.set(e(n),b);var l=o(d,B,b,s,E,C,Q),w=new Uint8Array(l);return w.set(h.subarray(d,d+l)),c(d-c(0)),w}function i(o){for(var B=0,n=0;n<o.length;++n)var s=o[n];return B}function I(o,B){if(a(B==2||B==4),B==4)return new Uint32Array(o.buffer,o.byteOffset,o.byteLength/4);var n=new Uint16Array(o.buffer,o.byteOffset,o.byteLength/2);return new Uint32Array(n)}function r(o,B,n,s,E,C,Q){var c=t.exports.sbrk,d=c(n*s),b=c(n*C),h=new Uint8Array(t.exports.memory.buffer);h.set(e(B),b),o(d,n,s,E,b,Q);var l=new Uint8Array(n*s);return l.set(h.subarray(d,d+n*s)),c(d-c(0)),l}WebAssembly.instantiate(function(o){for(var B=new Uint8Array(o.length),n=0;n<o.length;++n){var s=o.charCodeAt(n);B[n]=s>96?s-97:s>64?s-39:s+4}var E=0;for(n=0;n<o.length;++n)B[E++]=B[n]<60?A[B[n]]:64*(B[n]-60)+B[++n];return B.buffer.slice(0,E)}("b9H79Tebbbe9ok9Geueu9Geub9Gbb9Gruuuuuuueu9Gvuuuuueu9Gduueu9Gluuuueu9Gvuuuuub9Gouuuuuub9Gluuuub9GiuuueuiE8AdilveoveovrrwrrrDDoDrbqqbelve9Weiiviebeoweuec;G:Qdkr:PlCo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8F9TW79O9V9Wt9FW9U9J9V9KW9wWVtW949c919M9MWV9mW4W2be8A9TW79O9V9Wt9FW9U9J9V9KW9wWVtW949c919M9MWVbd8F9TW79O9V9Wt9FW9U9J9V9KW9wWVtW949c919M9MWV9c9V919U9KbiE9TW79O9V9Wt9FW9U9J9V9KW9wWVtW949wWV79P9V9UblY9TW79O9V9Wt9FW9U9J9V9KW69U9KW949c919M9MWVbv8E9TW79O9V9Wt9FW9U9J9V9KW69U9KW949c919M9MWV9c9V919U9Kbo8A9TW79O9V9Wt9FW9U9J9V9KW69U9KW949wWV79P9V9UbrE9TW79O9V9Wt9FW9U9J9V9KW69U9KW949tWG91W9U9JWbwa9TW79O9V9Wt9FW9U9J9V9KW69U9KW949tWG91W9U9JW9c9V919U9KbDL9TW79O9V9Wt9FW9U9J9V9KWS9P2tWV9p9JtbqK9TW79O9V9Wt9FW9U9J9V9KWS9P2tWV9r919HtbkL9TW79O9V9Wt9FW9U9J9V9KWS9P2tWVT949WbxY9TW79O9V9Wt9FW9U9J9V9KWS9P2tWVJ9V29VVbmE9TW79O9V9Wt9F9V9Wt9P9T9P96W9wWVtW94J9H9J9OWbza9TW79O9V9Wt9F9V9Wt9P9T9P96W9wWVtW94J9H9J9OW9ttV9P9WbHa9TW79O9V9Wt9F9V9Wt9P9T9P96W9wWVtW94SWt9J9O9sW9T9H9WbOK9TW79O9V9Wt9F79W9Ht9P9H29t9VVt9sW9T9H9WbAl79IV9RbXDwebcekdKYq;i28Adbk:Bhdhud9:8Jjjjjbc;qw9Rgr8KjjjjbcbhwdnaeTmbabcbyd;C:kjjbaoaocb9iEgDc:GeV86bbarc;adfcbcjdz:xjjjb8AdnaiTmbarc;adfadalz:wjjjb8Akarc;abfalfcbcbcjdal9RalcFe0Ez:xjjjb8Aarc;abfarc;adfalz:wjjjb8AarcUf9cb83ibarc8Wf9cb83ibarcyf9cb83ibarcaf9cb83ibarcKf9cb83ibarczf9cb83ibar9cb83iwar9cb83ibcj;abal9Uc;WFbGcjdalca0Ehqdnaicd6mbavcd9imbaDTmbadcefhkaqci2gxal2hmarc;alfclfhParc;qlfceVhsarc;qofclVhzarc;qofcKfhHarc;qofczfhOcbhAincdhCcbhodnavci6mbaH9cb83ibaO9cb83ibar9cb83i;yoar9cb83i;qoadaAfgoybbhXcbhQincbhwcbhLdninaoalfhKaoybbgYaX7aLVhLawcP0meaKhoaYhXawcefgwaQfai6mbkkcbhXarc;qofhwincwh8AcwhEdnaLaX93gocFeGg3cs0mbclhEa3ci0mba3cb9hcethEkdnaocw4cFeGg3cs0mbclh8Aa3ci0mba3cb9hceth8Aka8AaEfh3awydbh5cwh8AcwhEdnaocz4cFeGg8Ecs0mbclhEa8Eci0mba8Ecb9hcethEka3a5fh3dnaocFFFFb0mbclh8AaocFFF8F0mbaocFFFr0ceth8Akawa3aEfa8AfBdbawclfhwaXcefgXcw9hmbkaKhoaYhXaQczfgQai6mbkcbhocehwazhLinawaoaLydbarc;qofaocdtfydb6EhoaLclfhLawcefgwcw9hmbkcihCkcbh3arc;qlfcbcjdz:xjjjb8Aarc;alfcwfcbBdbar9cb83i;alaoclth8Fadhaaqhhakh5inarc;qlfadcba3cufgoaoa30Eal2falz:wjjjb8Aaiahaiah6Ehgdnaqaia39Ra3aqfai6EgYcsfc9WGgoaY9nmbarc;qofaYfcbaoaY9Rz:xjjjb8Akada3al2fh8Jcbh8Kina8Ka8FVcl4hQarc;alfa8Kcdtfh8LaAh8Mcbh8Nina8NaAfhwdndndndndndna8KPldebidkasa8Mc98GgLfhoa5aLfh8Aarc;qlfawc98GgLfRbbhXcwhwinaoRbbawtaXVhXaocefhoawcwfgwca9hmbkaYTmla8Ncith8Ea8JaLfhEcbhKinaERbbhLcwhoa8AhwinawRbbaotaLVhLawcefhwaocwfgoca9hmbkarc;qofaKfaLaX7aQ93a8E486bba8Aalfh8AaEalfhEaLhXaKcefgKaY9hmbxlkkaYTmia8Mc9:Ghoa8NcitcwGhEarc;qlfawceVfRbbcwtarc;qlfawc9:GfRbbVhLarc;qofhwaghXinawa5aofRbbcwtaaaofRbbVg8AaL9RgLcetaLcztcz91cs47cFFiGaE486bbaoalfhoawcefhwa8AhLa3aXcufgX9hmbxikkaYTmda8Jawfhoarc;qlfawfRbbhLarc;qofhwaghXinawaoRbbg8AaL9RgLcetaLcKtcK91cr4786bbawcefhwaoalfhoa8AhLa3aXcufgX9hmbxdkkaYTmeka8LydbhEcbhKarc;qofhoincdhLcbhwinaLaoawfRbbcb9hfhLawcefgwcz9hmbkclhXcbhwinaXaoawfRbbcd0fhXawcefgwcz9hmbkcwh8Acbhwina8AaoawfRbbcP0fh8Aawcefgwcz9hmbkaLaXaLaX6Egwa8Aawa8A6Egwczawcz6EaEfhEaoczfhoaKczfgKaY6mbka8LaEBdbka8Mcefh8Ma8Ncefg8Ncl9hmbka8Kcefg8KaC9hmbkaaamfhaahaxfhha5amfh5a3axfg3ai6mbkcbhocehwaPhLinawaoaLydbarc;alfaocdtfydb6EhoaLclfhLawcefgXhwaCaX9hmbkaraAcd4fa8FcdVaoaocdSE86bbaAclfgAal6mbkkabaefh8Kabcefhoalcd4gecbaDEhkadcefhOarc;abfceVhHcbhmdndninaiam9nmearc;qofcbcjdz:xjjjb8Aa8Kao9Rak6mdadamal2gwfhxcbh8JaOawfhzaocbakz:xjjjbghakfh5aqaiam9Ramaqfai6Egscsfgocl4cifcd4hCaoc9WGg8LThPindndndndndndndndndndnaDTmbara8Jcd4fRbbgLciGPlbedlbkasTmdaxa8Jfhoarc;abfa8JfRbbhLarc;qofhwashXinawaoRbbg8AaL9RgLcetaLcKtcK91cr4786bbawcefhwaoalfhoa8AhLaXcufgXmbxikkasTmia8JcitcwGhEarc;abfa8JceVfRbbcwtarc;abfa8Jc9:GgofRbbVhLaxaofhoarc;qofhwashXinawao8Vbbg8AaL9RgLcetaLcztcz91cs47cFFiGaE486bbawcefhwaoalfhoa8AhLaXcufgXmbxdkkaHa8Jc98GgEfhoazaEfh8Aarc;abfaEfRbbhXcwhwinaoRbbawtaXVhXaocefhoawcwfgwca9hmbkasTmbaLcl4hYa8JcitcKGh3axaEfhEcbhKinaERbbhLcwhoa8AhwinawRbbaotaLVhLawcefhwaocwfgoca9hmbkarc;qofaKfaLaX7aY93a3486bba8Aalfh8AaEalfhEaLhXaKcefgKas9hmbkkaDmbcbhoxlka8LTmbcbhodninarc;qofaofgwcwf8Pibaw8Pib:e9qTmeaoczfgoa8L9pmdxbkkdnavmbcehoxikcbhEaChKaChYinarc;qofaEfgocwf8Pibhyao8Pibh8PcdhLcbhwinaLaoawfRbbcb9hfhLawcefgwcz9hmbkclhXcbhwinaXaoawfRbbcd0fhXawcefgwcz9hmbkcwh8Acbhwina8AaoawfRbbcP0fh8Aawcefgwcz9hmbkaLaXaLaX6Egoa8Aaoa8A6Egoczaocz6EaYfhYaocucbaya8P:e9cb9sEgwaoaw6EaKfhKaEczfgEa8L9pmdxbkkaha8Jcd4fgoaoRbbcda8JcetcoGtV86bbxikdnaKas6mbaYas6mbaha8Jcd4fgoaoRbbcia8JcetcoGtV86bba8Ka59Ras6mra5arc;qofasz:wjjjbasfh5xikaKaY9phokaha8Jcd4fgwawRbbaoa8JcetcoGtV86bbka8Ka59RaC6mla5cbaCz:xjjjbgAaCfhYdndna8LmbaPhoxekdna8KaY9RcK9pmbaPhoxekaocdtc:q1jjbfcj1jjbaDEg5ydxggcetc;:FFFeGh8Fcuh3cuagtcu7cFeGhacbh8Marc;qofhLinarc;qofa8MfhQczhEdndndnagPDbeeeeeeedekcucbaQcwf8PibaQ8Pib:e9cb9sEhExekcbhoa8FhEinaEaaaLaofRbb9nfhEaocefgocz9hmbkkcih8Ecbh8Ainczhwdndndna5a8AcdtfydbgKPDbeeeeeeedekcucbaQcwf8PibaQ8Pib:e9cb9sEhwxekaKcetc;:FFFeGhwcuaKtcu7cFeGhXcbhoinawaXaLaofRbb9nfhwaocefgocz9hmbkkdndnawaE6mbaKa39hmeawaE9hmea5a8EcdtfydbcwSmeka8Ah8EawhEka8Acefg8Aci9hmbkaAa8Mco4fgoaoRbba8Ea8Mci4coGtV86bbdndndna5a8Ecdtfydbg3PDdbbbbbbbebkdncwa39Tg8ETmbcua3tcu7hwdndna3ceSmbcbh8NaLhQinaQhoa8Eh8AcbhXinaoRbbgEawcFeGgKaEaK6EaXa3tVhXaocefhoa8Acufg8AmbkaYaX86bbaQa8EfhQaYcefhYa8Na8Efg8Ncz6mbxdkkcbh8NaLhQinaQhoa8Eh8AcbhXinaoRbbgEawcFeGgKaEaK6EaXcetVhXaocefhoa8Acufg8AmbkaYaX:T9cFe:d9c:c:qj:bw9:9c:q;c1:I1e:d9c:b:c:e1z9:9ca188bbaQa8EfhQaYcefhYa8Na8Efg8Ncz6mbkkcbhoinaYaLaofRbbgX86bbaYaXawcFeG9pfhYaocefgocz9hmbxikkdna3ceSmbinaYcb86bbaYcefhYxbkkinaYcb86bbaYcefhYxbkkaYaQ8Pbb83bbaYcwfaQcwf8Pbb83bbaYczfhYka8Mczfg8Ma8L9pgomeaLczfhLa8KaY9RcK9pmbkkaoTmlaYh5aYTmlka8Jcefg8Jal9hmbkarc;abfaxascufal2falz:wjjjb8Aasamfhma5hoa5mbkcbhwxdkdna8Kao9RakalfgwcKcaaDEgLawaL0EgX9pmbcbhwxdkdnawaL9pmbaocbaXaw9Rgwz:xjjjbawfhokaoarc;adfalz:wjjjbalfhodnaDTmbaoaraez:wjjjbaefhokaoab9Rhwxekcbhwkarc;qwf8Kjjjjbawk5babaeadaialcdcbyd;C:kjjbz:bjjjbk9reduaecd4gdaefgicaaica0Eabcj;abae9Uc;WFbGcjdaeca0Egifcufai9Uae2aiadfaicl4cifcd4f2fcefkmbcbabBd;C:kjjbk:Ese5u8Jjjjjbc;ae9Rgl8Kjjjjbcbhvdnaici9UgocHfae0mbabcbyd;m:kjjbgrc;GeV86bbalc;abfcFecjez:xjjjb8AalcUfgw9cu83ibalc8WfgD9cu83ibalcyfgq9cu83ibalcafgk9cu83ibalcKfgx9cu83ibalczfgm9cu83ibal9cu83iwal9cu83ibabaefc9WfhPabcefgsaofhednaiTmbcmcsarcb9kgzEhHcbhOcbhAcbhCcbhXcbhQindnaeaP9nmbcbhvxikaQcufhvadaCcdtfgLydbhKaLcwfydbhYaLclfydbh8AcbhEdndndninalc;abfavcsGcitfgoydlh3dndndnaoydbgoaK9hmba3a8ASmekdnaoa8A9hmba3aY9hmbaEcefhExekaoaY9hmea3aK9hmeaEcdfhEkaEc870mdaXcufhvaLaEciGcx2goc;i1jjbfydbcdtfydbh3aLaoc;e1jjbfydbcdtfydbh8AaLaoc;a1jjbfydbcdtfydbhKcbhodnindnalavcsGcdtfydba39hmbaohYxdkcuhYavcufhvaocefgocz9hmbkkaOa3aOSgvaYce9iaYaH9oVgoGfhOdndndncbcsavEaYaoEgvcs9hmbarce9imba3a3aAa3cefaASgvEgAcefSmecmcsavEhvkasavaEcdtc;WeGV86bbavcs9hmea3aA9Rgvcetavc8F917hvinaeavcFb0crtavcFbGV86bbaecefheavcje6hoavcr4hvaoTmbka3hAxvkcPhvasaEcdtcPV86bba3hAkavTmiavaH9omicdhocehEaQhYxlkavcufhvaEclfgEc;ab9hmbkkdnaLceaYaOSceta8AaOSEcx2gvc;a1jjbfydbcdtfydbgKTaLavc;e1jjbfydbcdtfydbg8AceSGaLavc;i1jjbfydbcdtfydbg3cdSGaOcb9hGazGg5ce9hmbaw9cu83ibaD9cu83ibaq9cu83ibak9cu83ibax9cu83ibam9cu83ibal9cu83iwal9cu83ibcbhOkcbhEaXcufgvhodnindnalaocsGcdtfydba8A9hmbaEhYxdkcuhYaocufhoaEcefgEcz9hmbkkcbhodnindnalavcsGcdtfydba39hmbaohExdkcuhEavcufhvaocefgocz9hmbkkaOaKaOSg8EfhLdndnaYcm0mbaYcefhYxekcbcsa8AaLSgvEhYaLavfhLkdndnaEcm0mbaEcefhExekcbcsa3aLSgvEhEaLavfhLkc9:cua8EEh8FcbhvaEaYcltVgacFeGhodndndninavc:W1jjbfRbbaoSmeavcefgvcz9hmbxdkka5aKaO9havcm0VVmbasavc;WeV86bbxekasa8F86bbaeaa86bbaecefhekdna8EmbaKaA9Rgvcetavc8F917hvinaeavcFb0gocrtavcFbGV86bbavcr4hvaecefheaombkaKhAkdnaYcs9hmba8AaA9Rgvcetavc8F917hvinaeavcFb0gocrtavcFbGV86bbavcr4hvaecefheaombka8AhAkdnaEcs9hmba3aA9Rgvcetavc8F917hvinaeavcFb0gocrtavcFbGV86bbavcr4hvaecefheaombka3hAkalaXcdtfaKBdbaXcefcsGhvdndnaYPzbeeeeeeeeeeeeeebekalavcdtfa8ABdbaXcdfcsGhvkdndnaEPzbeeeeeeeeeeeeeebekalavcdtfa3BdbavcefcsGhvkcihoalc;abfaQcitfgEaKBdlaEa8ABdbaQcefcsGhYcdhEavhXaLhOxekcdhoalaXcdtfa3BdbcehEaXcefcsGhXaQhYkalc;abfaYcitfgva8ABdlava3Bdbalc;abfaQaEfcsGcitfgva3BdlavaKBdbascefhsaQaofcsGhQaCcifgCai6mbkkdnaeaP9nmbcbhvxekcbhvinaeavfavc:W1jjbfRbb86bbavcefgvcz9hmbkaeab9Ravfhvkalc;aef8KjjjjbavkZeeucbhddninadcefgdc8F0meceadtae6mbkkadcrfcFeGcr9Uci2cdfabci9U2cHfkmbcbabBd;m:kjjbk:Adewu8Jjjjjbcz9Rhlcbhvdnaicvfae0mbcbhvabcbRb;m:kjjbc;qeV86bbal9cb83iwabcefhoabaefc98fhrdnaiTmbcbhwcbhDindnaoar6mbcbskadaDcdtfydbgqalcwfawaqav9Rgvavc8F91gv7av9Rc507gwcdtfgkydb9Rgvc8E91c9:Gavcdt7awVhvinaoavcFb0gecrtavcFbGV86bbavcr4hvaocefhoaembkakaqBdbaqhvaDcefgDai9hmbkkdnaoar9nmbcbskaocbBbbaoab9RclfhvkavkBeeucbhddninadcefgdc8F0meceadtae6mbkkadcwfcFeGcr9Uab2cvfk:bvli99dui99ludnaeTmbcuadcetcuftcu7:Zhvdndncuaicuftcu7:ZgoJbbbZMgr:lJbbb9p9DTmbar:Ohwxekcjjjj94hwkcbhicbhDinalclfIdbgrJbbbbJbbjZalIdbgq:lar:lMalcwfIdbgk:lMgr:varJbbbb9BEgrNhxaqarNhrdndnakJbbbb9GTmbaxhqxekJbbjZar:l:tgqaq:maxJbbbb9GEhqJbbjZax:l:tgxax:marJbbbb9GEhrkdndnalcxfIdbgxJbbj:;axJbbj:;9GEgkJbbjZakJbbjZ9FEavNJbbbZJbbb:;axJbbbb9GEMgx:lJbbb9p9DTmbax:Ohmxekcjjjj94hmkdndnaqJbbj:;aqJbbj:;9GEgxJbbjZaxJbbjZ9FEaoNJbbbZJbbb:;aqJbbbb9GEMgq:lJbbb9p9DTmbaq:OhPxekcjjjj94hPkdndnarJbbj:;arJbbj:;9GEgqJbbjZaqJbbjZ9FEaoNJbbbZJbbb:;arJbbbb9GEMgr:lJbbb9p9DTmbar:Ohsxekcjjjj94hskdndnadcl9hmbabaifgzas86bbazcifam86bbazcdfaw86bbazcefaP86bbxekabaDfgzas87ebazcofam87ebazclfaw87ebazcdfaP87ebkalczfhlaiclfhiaDcwfhDaecufgembkkk;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;3viDue99eu8Jjjjjbcjd9Rgo8Kjjjjbadcd4hrdndndndnavcd9hmbadcl6meaohwarhDinawc:CuBdbawclfhwaDcufgDmbkaeTmiadcl6mdarcdthqalhkcbhxinaohwakhDarhminawawydbgPcbaDIdbgs:8cL4cFeGc:cufasJbbbb9BEgzaPaz9kEBdbaDclfhDawclfhwamcufgmmbkakaqfhkaxcefgxaeSmixbkkaeTmdxekaeTmekarcdthkavce9hhqadcl6hdcbhxindndndnaqmbadmdc:CuhDalhwarhminaDcbawIdbgs:8cL4cFeGc:cufasJbbbb9BEgPaDaP9kEhDawclfhwamcufgmmbxdkkc:CuhDdndnavPleddbdkadmdaohwalhmarhPinawcbamIdbgs:8cL4cFeGgzc;:bazc;:b0Ec:cufasJbbbb9BEBdbamclfhmawclfhwaPcufgPmbxdkkadmecbhwarhminaoawfcbalawfIdbgs:8cL4cFeGgPc8AaPc8A0Ec:cufasJbbbb9BEBdbawclfhwamcufgmmbkkadmbcbhwarhPinaDhmdnavceSmbaoawfydbhmkdndnalawfIdbgscjjj;8iamai9RcefgmcLt9R::NJbbbZJbbb:;asJbbbb9GEMgs:lJbbb9p9DTmbas:Ohzxekcjjjj94hzkabawfazcFFFrGamcKtVBdbawclfhwaPcufgPmbkkabakfhbalakfhlaxcefgxae9hmbkkaocjdf8Kjjjjbk:Ylvdud99due99iudnaeTmbceaicufgvthocuaitcu7:Zhrcuavtcu7:Zhwcbhvadcl9hhDcbhqindndnalcwfIdbgkJbbbbakJbbbb9GEgkJbbjZakJbbjZ9FEarNJbbbZMgk:lJbbb9p9DTmbak:Ohixekcjjjj94hikdndnalIdbgkJbbbbakJbbbb9GEgkJbbjZakJbbjZ9FEarNJbbbZMgk:lJbbb9p9DTmbak:Ohdxekcjjjj94hdkadai9Rcd9TgxaifhidndnalclfIdbgkJbbbbakJbbbb9GEgkJbbjZakJbbjZ9FEarNJbbbZMgk:lJbbb9p9DTmbak:Ohdxekcjjjj94hdkadai9Rcd9ThddndnalcxfIdbgkJbbbbakJbbbb9GEgkJbbjZakJbbjZ9FEawNJbbbZMgk:lJbbb9p9DTmbak:Ohmxekcjjjj94hmkadaifhiaoamVhmdndnaDmbabavfgPai86bbaPcifam86bbaPcdfad86bbaPcefax86bbxekabaqfgPai87ebaPcofam87ebaPclfad87ebaPcdfax87ebkalczfhlavclfhvaqcwfhqaecufgembkkk;YqdXui998Jjjjjbc:qd9Rgv8Kjjjjbavc:Sefcbc;Kbz:xjjjb8AcbhodnadTmbcbhoaiTmbdndnabaeSmbaehrxekavcuadcdtgwadcFFFFi0Ecbyd;q:kjjbHjjjjbbgrBd:SeavceBd:mdaraeawz:wjjjb8Akavc:GefcwfcbBdbav9cb83i:Geavc:Gefaradaiavc:Sefz:pjjjbavyd:GehDadci9Ugqcbyd;q:kjjbHjjjjbbheavc:Sefavyd:mdgkcdtfaeBdbavakcefgwBd:mdaecbaqz:xjjjbhxavc:SefawcdtfcuaicdtaicFFFFi0Ecbyd;q:kjjbHjjjjbbgmBdbavakcdfgPBd:mdalc;ebfhsaDheamhwinawalIdbasaeydbgzcwazcw6EcdtfIdbMUdbaeclfheawclfhwaicufgimbkavc:SefaPcdtfcuaqcdtadcFFFF970Ecbyd;q:kjjbHjjjjbbgPBdbdnadci6mbarheaPhwaqhiinawamaeydbcdtfIdbamaeclfydbcdtfIdbMamaecwfydbcdtfIdbMUdbaecxfheawclfhwaicufgimbkkakcifhoalc;ebfhHavc;qbfhOavheavyd:KehAavyd:OehCcbhzcbhwcbhXcehQinaehLcihkarawci2gKcdtfgeydbhsaeclfydbhdabaXcx2fgicwfaecwfydbgYBdbaiclfadBdbaiasBdbaxawfce86bbaOaYBdwaOadBdlaOasBdbaPawcdtfcbBdbdnazTmbcihkaLhiinaOakcdtfaiydbgeBdbakaeaY9haeas9haead9hGGfhkaiclfhiazcufgzmbkkaXcefhXcbhzinaCaAarazaKfcdtfydbcdtgifydbcdtfgYheaDaifgdydbgshidnasTmbdninaeydbawSmeaeclfheaicufgiTmdxbkkaeaYascdtfc98fydbBdbadadydbcufBdbkazcefgzci9hmbkdndnakTmbcuhwJbbbbh8Acbhdavyd:KehYavyd:OehKindndnaDaOadcdtfydbcdtgzfydbgembadcefhdxekadcs0hiamazfgsIdbhEasalcbadcefgdaiEcdtfIdbaHaecwaecw6EcdtfIdbMg3Udba3aE:th3aecdthiaKaYazfydbcdtfheinaPaeydbgzcdtfgsa3asIdbMgEUdbaEa8Aa8AaE9DgsEh8AazawasEhwaeclfheaic98fgimbkkadak9hmbkawcu9hmekaQaq9pmdindnaxaQfRbbmbaQhwxdkaqaQcefgQ9hmbxikkakczakcz6EhzaOheaLhOawcu9hmbkkaocdtavc:Seffc98fhedninaoTmeaeydbcbyd;u:kjjbH:bjjjbbaec98fheaocufhoxbkkavc:qdf8Kjjjjbk;IlevucuaicdtgvaicFFFFi0Egocbyd;q:kjjbHjjjjbbhralalyd9GgwcdtfarBdbalawcefBd9GabarBdbaocbyd;q:kjjbHjjjjbbhralalyd9GgocdtfarBdbalaocefBd9GabarBdlcuadcdtadcFFFFi0Ecbyd;q:kjjbHjjjjbbhralalyd9GgocdtfarBdbalaocefBd9GabarBdwabydbcbavz:xjjjb8Aadci9UhDdnadTmbabydbhoaehladhrinaoalydbcdtfgvavydbcefBdbalclfhlarcufgrmbkkdnaiTmbabydbhlabydlhrcbhvaihoinaravBdbarclfhralydbavfhvalclfhlaocufgombkkdnadci6mbabydlhrabydwhvcbhlinaecwfydbhoaeclfydbhdaraeydbcdtfgwawydbgwcefBdbavawcdtfalBdbaradcdtfgdadydbgdcefBdbavadcdtfalBdbaraocdtfgoaoydbgocefBdbavaocdtfalBdbaecxfheaDalcefgl9hmbkkdnaiTmbabydlheabydbhlinaeaeydbalydb9RBdbalclfhlaeclfheaicufgimbkkkQbabaeadaic;K1jjbz:ojjjbkQbabaeadaic;m:jjjbz:ojjjbk9DeeuabcFeaicdtz:xjjjbhlcbhbdnadTmbindnalaeydbcdtfgiydbcu9hmbaiabBdbabcefhbkaeclfheadcufgdmbkkabk:Vvioud9:du8Jjjjjbc;Wa9Rgl8Kjjjjbcbhvalcxfcbc;Kbz:xjjjb8AalcuadcitgoadcFFFFe0Ecbyd;q:kjjbHjjjjbbgrBdxalceBd2araeadaicezNjjjbalcuaoadcjjjjoGEcbyd;q:kjjbHjjjjbbgwBdzadcdthednadTmbabhiinaiavBdbaiclfhiadavcefgv9hmbkkawaefhDalabBdwalawBdl9cbhqindnadTmbaq9cq9:hkarhvaDhiadheinaiav8Pibak1:NcFrG87ebavcwfhvaicdfhiaecufgembkkalclfaq:NceGcdtfydbhxalclfaq9ce98gq:NceGcdtfydbhmalc;Wbfcbcjaz:xjjjb8AaDhvadhidnadTmbinalc;Wbfav8VebcdtfgeaeydbcefBdbavcdfhvaicufgimbkkcbhvcbhiinalc;WbfavfgeydbhoaeaiBdbaoaifhiavclfgvcja9hmbkadhvdndnadTmbinalc;WbfaDamydbgicetf8VebcdtfgeaeydbgecefBdbaxaecdtfaiBdbamclfhmavcufgvmbkaq9cv9smdcbhvinabawydbcdtfavBdbawclfhwadavcefgv9hmbxdkkaq9cv9smekkclhvdninavc98Smealcxfavfydbcbyd;u:kjjbH:bjjjbbavc98fhvxbkkalc;Waf8Kjjjjbk:Jwliuo99iud9:cbhv8Jjjjjbca9Rgoczfcwfcbyd:8:kjjbBdbaocb8Pd:0:kjjb83izaocwfcbyd;i:kjjbBdbaocb8Pd;a:kjjb83ibaicd4hrdndnadmbJFFuFhwJFFuuhDJFFuuhqJFFuFhkJFFuuhxJFFuFhmxekarcdthPaehsincbhiinaoczfaifgzasaifIdbgwazIdbgDaDaw9EEUdbaoaifgzawazIdbgDaDaw9DEUdbaiclfgicx9hmbkasaPfhsavcefgvad9hmbkaoIdKhDaoIdwhwaoIdChqaoIdlhkaoIdzhxaoIdbhmkdnadTmbJbbbbJbFu9hJbbbbamax: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:kjjbgeabcifc98GfgbBd;y:kjjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik;teeeudndnaeabVciGTmbabhixekdndnadcz9pmbabhixekabhiinaiaeydbBdbaiaeydlBdlaiaeydwBdwaiaeydxBdxaeczfheaiczfhiadc9Wfgdcs0mbkkadcl6mbinaiaeydbBdbaeclfheaiclfhiadc98fgdci0mbkkdnadTmbinaiaeRbb86bbaicefhiaecefheadcufgdmbkkabk:3eedudndnabciGTmbabhixekaecFeGc:b:c:ew2hldndnadcz9pmbabhixekabhiinaialBdxaialBdwaialBdlaialBdbaiczfhiadc9Wfgdcs0mbkkadcl6mbinaialBdbaiclfhiadc98fgdci0mbkkdnadTmbinaiae86bbaicefhiadcufgdmbkkabk9teiucbcbyd;y:kjjbgeabcrfc94GfgbBd;y:kjjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik9:eiuZbhedndncbyd;y:kjjbgdaecztgi9nmbcuheadai9RcFFifcz4nbcuSmekadhekcbabae9Rcifc98Gcbyd;y:kjjbfgdBd;y:kjjbdnadZbcztge9nmbadae9RcFFifcz4nb8Akkk;Qddbcjwk;mdbbbbdbbblbbbwbbbbbbbebbbdbbblbbbwbbbbbbbbbbbbbbbb4:h9w9N94:P:gW:j9O:ye9Pbbbbbbebbbdbbbebbbdbbbbbbbdbbbbbbbebbbbbbb: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;mqkzebbbebbbdbbb9G:vbb"),{}).then(function(o){(t=o.instance).exports.__wasm_call_ctors(),t.exports.meshopt_encodeVertexVersion(0),t.exports.meshopt_encodeIndexVersion(1)})})();var dI=function(){var t=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]),A=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 a,e=WebAssembly.validate(t)?i("b9H79TebbbeKl9Gbb9Gvuuuuueu9Giuuub9Geueuixkbbebeeddddilve9Weeeviebeoweuec:q:6dkr;Neqo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8A9TW79O9V9Wt9F9KW9J9V9KW9wWVtW949c919M9MWVbdY9TW79O9V9Wt9F9KW9J9V9KW69U9KW949c919M9MWVblE9TW79O9V9Wt9F9KW9J9V9KW69U9KW949tWG91W9U9JWbvL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9p9JtboK9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9r919HtbrL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVT949WbwY9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVJ9V29VVbDl79IV9Rbqq;Ctklbzik9:evu8Jjjjjbcz9Rhbcbheincbhdcbhiinabcwfadfaicjuaead4ceGglE86bbaialfhiadcefgdcw9hmbkaec:q:yjjbfai86bbaecitc:q1jjbfab8Piw83ibaecefgecjd9hmbkk:183lYud97dur978Jjjjjbcj;kb9Rgv8Kjjjjbc9:hodnalTmbcuhoaiRbbgrc;WeGc:Ge9hmbarcsGgwce0mbc9:hoalcufadcd4cbawEgDadfgrcKcaawEgqaraq0Egk6mbaicefhxavaialfgmar9Rgoad;8qbbcj;abad9Uc;WFbGcjdadca0EhPdndndnadTmbaoadfhscbhzinaeaz9nmdamax9RaD6miabazad2fhHaxaDfhOaPaeaz9RazaPfae6EgAcsfgocl4cifcd4hCavcj;cbfaoc9WGgXcetfhQavcj;cbfaXci2fhLavcj;cbfaXfhKcbhYaoc;ab6h8AincbhodnawTmbaxaYcd4fRbbhokaocFeGhEcbh3avcj;cbfh5indndndndnaEa3cet4ciGgoc9:fPdebdkamaO9RaX6mwavcj;cbfa3aX2faOaX;8qbbaOaAfhOxdkavcj;cbfa3aX2fcbaX;8kbxekamaO9RaC6moaoclVcbawEhraOaCfhocbhidna8Ambamao9Rc;Gb6mbcbhlina5alfhidndndndndndnaOalco4fRbbgqciGarfPDbedibledibkaipxbbbbbbbbbbbbbbbbpklbxlkaiaopbblaopbbbg8Eclp:mea8EpmbzeHdOiAlCvXoQrLg8Ecdp:mea8EpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9og8Fpxiiiiiiiiiiiiiiiip8Jg8Ep5b9cjF;8;4;W;G;ab9:9cU1:Ngacitc:q1jjbfpbibaac:q:yjjbfRbbgapsa8Ep5e9cjF;8;4;W;G;ab9:9cU1:Nghcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPa8Fa8Ep9spklbaaaoclffahc:q:yjjbfRbbfhoxikaiaopbbwaopbbbg8Eclp:mea8EpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9og8Fpxssssssssssssssssp8Jg8Ep5b9cjF;8;4;W;G;ab9:9cU1:Ngacitc:q1jjbfpbibaac:q:yjjbfRbbgapsa8Ep5e9cjF;8;4;W;G;ab9:9cU1:Nghcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPa8Fa8Ep9spklbaaaocwffahc:q:yjjbfRbbfhoxdkaiaopbbbpklbaoczfhoxekaiaopbbdaoRbbgacitc:q1jjbfpbibaac:q:yjjbfRbbgapsaoRbeghcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPpklbaaaocdffahc:q:yjjbfRbbfhokdndndndndndnaqcd4ciGarfPDbedibledibkaiczfpxbbbbbbbbbbbbbbbbpklbxlkaiczfaopbblaopbbbg8Eclp:mea8EpmbzeHdOiAlCvXoQrLg8Ecdp:mea8EpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9og8Fpxiiiiiiiiiiiiiiiip8Jg8Ep5b9cjF;8;4;W;G;ab9:9cU1:Ngacitc:q1jjbfpbibaac:q:yjjbfRbbgapsa8Ep5e9cjF;8;4;W;G;ab9:9cU1:Nghcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPa8Fa8Ep9spklbaaaoclffahc:q:yjjbfRbbfhoxikaiczfaopbbwaopbbbg8Eclp:mea8EpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9og8Fpxssssssssssssssssp8Jg8Ep5b9cjF;8;4;W;G;ab9:9cU1:Ngacitc:q1jjbfpbibaac:q:yjjbfRbbgapsa8Ep5e9cjF;8;4;W;G;ab9:9cU1:Nghcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPa8Fa8Ep9spklbaaaocwffahc:q:yjjbfRbbfhoxdkaiczfaopbbbpklbaoczfhoxekaiczfaopbbdaoRbbgacitc:q1jjbfpbibaac:q:yjjbfRbbgapsaoRbeghcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPpklbaaaocdffahc:q:yjjbfRbbfhokdndndndndndnaqcl4ciGarfPDbedibledibkaicafpxbbbbbbbbbbbbbbbbpklbxlkaicafaopbblaopbbbg8Eclp:mea8EpmbzeHdOiAlCvXoQrLg8Ecdp:mea8EpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9og8Fpxiiiiiiiiiiiiiiiip8Jg8Ep5b9cjF;8;4;W;G;ab9:9cU1:Ngacitc:q1jjbfpbibaac:q:yjjbfRbbgapsa8Ep5e9cjF;8;4;W;G;ab9:9cU1:Nghcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPa8Fa8Ep9spklbaaaoclffahc:q:yjjbfRbbfhoxikaicafaopbbwaopbbbg8Eclp:mea8EpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9og8Fpxssssssssssssssssp8Jg8Ep5b9cjF;8;4;W;G;ab9:9cU1:Ngacitc:q1jjbfpbibaac:q:yjjbfRbbgapsa8Ep5e9cjF;8;4;W;G;ab9:9cU1:Nghcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPa8Fa8Ep9spklbaaaocwffahc:q:yjjbfRbbfhoxdkaicafaopbbbpklbaoczfhoxekaicafaopbbdaoRbbgacitc:q1jjbfpbibaac:q:yjjbfRbbgapsaoRbeghcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPpklbaaaocdffahc:q:yjjbfRbbfhokdndndndndndnaqco4arfPDbedibledibkaic8Wfpxbbbbbbbbbbbbbbbbpklbxlkaic8Wfaopbblaopbbbg8Eclp:mea8EpmbzeHdOiAlCvXoQrLg8Ecdp:mea8EpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9og8Fpxiiiiiiiiiiiiiiiip8Jg8Ep5b9cjF;8;4;W;G;ab9:9cU1:Ngicitc:q1jjbfpbibaic:q:yjjbfRbbgipsa8Ep5e9cjF;8;4;W;G;ab9:9cU1:Ngqcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPa8Fa8Ep9spklbaiaoclffaqc:q:yjjbfRbbfhoxikaic8Wfaopbbwaopbbbg8Eclp:mea8EpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9og8Fpxssssssssssssssssp8Jg8Ep5b9cjF;8;4;W;G;ab9:9cU1:Ngicitc:q1jjbfpbibaic:q:yjjbfRbbgipsa8Ep5e9cjF;8;4;W;G;ab9:9cU1:Ngqcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPa8Fa8Ep9spklbaiaocwffaqc:q:yjjbfRbbfhoxdkaic8Wfaopbbbpklbaoczfhoxekaic8WfaopbbdaoRbbgicitc:q1jjbfpbibaic:q:yjjbfRbbgipsaoRbegqcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPpklbaiaocdffaqc:q:yjjbfRbbfhokalc;abfhialcjefaX0meaihlamao9Rc;Fb0mbkkdnaiaX9pmbaici4hlinamao9RcK6mwa5aifhqdndndndndndnaOaico4fRbbalcoG4ciGarfPDbedibledibkaqpxbbbbbbbbbbbbbbbbpkbbxlkaqaopbblaopbbbg8Eclp:mea8EpmbzeHdOiAlCvXoQrLg8Ecdp:mea8EpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9og8Fpxiiiiiiiiiiiiiiiip8Jg8Ep5b9cjF;8;4;W;G;ab9:9cU1:Ngacitc:q1jjbfpbibaac:q:yjjbfRbbgapsa8Ep5e9cjF;8;4;W;G;ab9:9cU1:Nghcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPa8Fa8Ep9spkbbaaaoclffahc:q:yjjbfRbbfhoxikaqaopbbwaopbbbg8Eclp:mea8EpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9og8Fpxssssssssssssssssp8Jg8Ep5b9cjF;8;4;W;G;ab9:9cU1:Ngacitc:q1jjbfpbibaac:q:yjjbfRbbgapsa8Ep5e9cjF;8;4;W;G;ab9:9cU1:Nghcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPa8Fa8Ep9spkbbaaaocwffahc:q:yjjbfRbbfhoxdkaqaopbbbpkbbaoczfhoxekaqaopbbdaoRbbgacitc:q1jjbfpbibaac:q:yjjbfRbbgapsaoRbeghcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPpkbbaaaocdffahc:q:yjjbfRbbfhokalcdfhlaiczfgiaX6mbkkaohOaoTmoka5aXfh5a3cefg3cl9hmbkdndndndnawTmbasaYcd4fRbbglciGPlbedwbkaXTmdavcjdfaYfhlavaYfpbdbhgcbhoinalavcj;cbfaofpblbg8JaKaofpblbg8KpmbzeHdOiAlCvXoQrLg8LaQaofpblbg8MaLaofpblbg8NpmbzeHdOiAlCvXoQrLgypmbezHdiOAlvCXorQLg8Ecep9Ta8Epxeeeeeeeeeeeeeeeeg8Fp9op9Hp9rg8Eagp9Uggp9Abbbaladfglaga8Ea8Epmlvorlvorlvorlvorp9Uggp9Abbbaladfglaga8Ea8EpmwDqkwDqkwDqkwDqkp9Uggp9Abbbaladfglaga8Ea8EpmxmPsxmPsxmPsxmPsp9Uggp9Abbbaladfglaga8LaypmwDKYqk8AExm35Ps8E8Fg8Ecep9Ta8Ea8Fp9op9Hp9rg8Ep9Uggp9Abbbaladfglaga8Ea8Epmlvorlvorlvorlvorp9Uggp9Abbbaladfglaga8Ea8EpmwDqkwDqkwDqkwDqkp9Uggp9Abbbaladfglaga8Ea8EpmxmPsxmPsxmPsxmPsp9Uggp9Abbbaladfglaga8Ja8KpmwKDYq8AkEx3m5P8Es8Fg8Ja8Ma8NpmwKDYq8AkEx3m5P8Es8Fg8KpmbezHdiOAlvCXorQLg8Ecep9Ta8Ea8Fp9op9Hp9rg8Ep9Uggp9Abbbaladfglaga8Ea8Epmlvorlvorlvorlvorp9Uggp9Abbbaladfglaga8Ea8EpmwDqkwDqkwDqkwDqkp9Uggp9Abbbaladfglaga8Ea8EpmxmPsxmPsxmPsxmPsp9Uggp9Abbbaladfglaga8Ja8KpmwDKYqk8AExm35Ps8E8Fg8Ecep9Ta8Ea8Fp9op9Hp9rg8Ep9Ug8Fp9Abbbaladfgla8Fa8Ea8Epmlvorlvorlvorlvorp9Ug8Fp9Abbbaladfgla8Fa8Ea8EpmwDqkwDqkwDqkwDqkp9Ug8Fp9Abbbaladfgla8Fa8Ea8EpmxmPsxmPsxmPsxmPsp9Uggp9AbbbaladfhlaoczfgoaX6mbxikkaXTmeavcjdfaYfhlavaYfpbdbhgcbhoinalavcj;cbfaofpblbg8JaKaofpblbg8KpmbzeHdOiAlCvXoQrLg8LaQaofpblbg8MaLaofpblbg8NpmbzeHdOiAlCvXoQrLgypmbezHdiOAlvCXorQLg8Ecep:nea8Epxebebebebebebebebg8Fp9op:bep9rg8Eagp:oeggp9Abbbaladfglaga8Ea8Epmlvorlvorlvorlvorp:oeggp9Abbbaladfglaga8Ea8EpmwDqkwDqkwDqkwDqkp:oeggp9Abbbaladfglaga8Ea8EpmxmPsxmPsxmPsxmPsp:oeggp9Abbbaladfglaga8LaypmwDKYqk8AExm35Ps8E8Fg8Ecep:nea8Ea8Fp9op:bep9rg8Ep:oeggp9Abbbaladfglaga8Ea8Epmlvorlvorlvorlvorp:oeggp9Abbbaladfglaga8Ea8EpmwDqkwDqkwDqkwDqkp:oeggp9Abbbaladfglaga8Ea8EpmxmPsxmPsxmPsxmPsp:oeggp9Abbbaladfglaga8Ja8KpmwKDYq8AkEx3m5P8Es8Fg8Ja8Ma8NpmwKDYq8AkEx3m5P8Es8Fg8KpmbezHdiOAlvCXorQLg8Ecep:nea8Ea8Fp9op:bep9rg8Ep:oeggp9Abbbaladfglaga8Ea8Epmlvorlvorlvorlvorp:oeggp9Abbbaladfglaga8Ea8EpmwDqkwDqkwDqkwDqkp:oeggp9Abbbaladfglaga8Ea8EpmxmPsxmPsxmPsxmPsp:oeggp9Abbbaladfglaga8Ja8KpmwDKYqk8AExm35Ps8E8Fg8Ecep:nea8Ea8Fp9op:bep9rg8Ep:oeg8Fp9Abbbaladfgla8Fa8Ea8Epmlvorlvorlvorlvorp:oeg8Fp9Abbbaladfgla8Fa8Ea8EpmwDqkwDqkwDqkwDqkp:oeg8Fp9Abbbaladfgla8Fa8Ea8EpmxmPsxmPsxmPsxmPsp:oeggp9AbbbaladfhlaoczfgoaX6mbxdkkaXTmbcbhocbalcl4gl9Rc8FGhiavcjdfaYfhravaYfpbdbh8Finaravcj;cbfaofpblbggaKaofpblbg8JpmbzeHdOiAlCvXoQrLg8KaQaofpblbg8LaLaofpblbg8MpmbzeHdOiAlCvXoQrLg8NpmbezHdiOAlvCXorQLg8Eaip:Rea8Ealp:Sep9qg8Ea8Fp9rg8Fp9Abbbaradfgra8Fa8Ea8Epmlvorlvorlvorlvorp9rg8Fp9Abbbaradfgra8Fa8Ea8EpmwDqkwDqkwDqkwDqkp9rg8Fp9Abbbaradfgra8Fa8Ea8EpmxmPsxmPsxmPsxmPsp9rg8Fp9Abbbaradfgra8Fa8Ka8NpmwDKYqk8AExm35Ps8E8Fg8Eaip:Rea8Ealp:Sep9qg8Ep9rg8Fp9Abbbaradfgra8Fa8Ea8Epmlvorlvorlvorlvorp9rg8Fp9Abbbaradfgra8Fa8Ea8EpmwDqkwDqkwDqkwDqkp9rg8Fp9Abbbaradfgra8Fa8Ea8EpmxmPsxmPsxmPsxmPsp9rg8Fp9Abbbaradfgra8Faga8JpmwKDYq8AkEx3m5P8Es8Fgga8La8MpmwKDYq8AkEx3m5P8Es8Fg8JpmbezHdiOAlvCXorQLg8Eaip:Rea8Ealp:Sep9qg8Ep9rg8Fp9Abbbaradfgra8Fa8Ea8Epmlvorlvorlvorlvorp9rg8Fp9Abbbaradfgra8Fa8Ea8EpmwDqkwDqkwDqkwDqkp9rg8Fp9Abbbaradfgra8Fa8Ea8EpmxmPsxmPsxmPsxmPsp9rg8Fp9Abbbaradfgra8Faga8JpmwDKYqk8AExm35Ps8E8Fg8Eaip:Rea8Ealp:Sep9qg8Ep9rg8Fp9Abbbaradfgra8Fa8Ea8Epmlvorlvorlvorlvorp9rg8Fp9Abbbaradfgra8Fa8Ea8EpmwDqkwDqkwDqkwDqkp9rg8Fp9Abbbaradfgra8Fa8Ea8EpmxmPsxmPsxmPsxmPsp9rg8Fp9AbbbaradfhraoczfgoaX6mbkkaYclfgYad6mbkaHavcjdfaAad2;8qbbavavcjdfaAcufad2fad;8qbbaAazfhzc9:hoaOhxaOmbxlkkaeTmbaDalfhrcbhocuhlinaralaD9RglfaD6mdaPaeao9RaoaPfae6Eaofgoae6mbkaial9Rhxkcbc99amax9RakSEhoxekc9:hokavcj;kbf8Kjjjjbaokwbz:bjjjbk:TseHu8Jjjjjbc;ae9Rgv8Kjjjjbc9:hodnaeci9UgrcHfal0mbcuhoaiRbbgwc;WeGc;Ge9hmbawcsGgDce0mbavc;abfcFecje;8kbavcUf9cu83ibavc8Wf9cu83ibavcyf9cu83ibavcaf9cu83ibavcKf9cu83ibavczf9cu83ibav9cu83iwav9cu83ibaialfc9WfhqaicefgwarfhldnaeTmbcmcsaDceSEhkcbhxcbhmcbhrcbhicbhoindnalaq9nmbc9:hoxikdndnawRbbgDc;Ve0mbavc;abfaoaDcu7gPcl4fcsGcitfgsydlhzasydbhHdndnaDcsGgsak9pmbavaiaPfcsGcdtfydbaxasEhDaxasTgOfhxxekdndnascsSmbcehOasc987asamffcefhDxekalcefhDal8SbbgscFeGhPdndnascu9mmbaDhlxekalcvfhlaPcFbGhPcrhsdninaD8SbbgOcFbGastaPVhPaOcu9kmeaDcefhDascrfgsc8J9hmbxdkkaDcefhlkcehOaPce4cbaPceG9R7amfhDkaDhmkavc;abfaocitfgsaDBdbasazBdlavaicdtfaDBdbavc;abfaocefcsGcitfgsaHBdbasaDBdlaocdfhoaOaifhidnadcd9hmbabarcetfgsaH87ebasclfaD87ebascdfaz87ebxdkabarcdtfgsaHBdbascwfaDBdbasclfazBdbxekdnaDcpe0mbaxcefgOavaiaqaDcsGfRbbgscl49RcsGcdtfydbascz6gPEhDavaias9RcsGcdtfydbaOaPfgzascsGgOEhsaOThOdndnadcd9hmbabarcetfgHax87ebaHclfas87ebaHcdfaD87ebxekabarcdtfgHaxBdbaHcwfasBdbaHclfaDBdbkavaicdtfaxBdbavc;abfaocitfgHaDBdbaHaxBdlavaicefgicsGcdtfaDBdbavc;abfaocefcsGcitfgHasBdbaHaDBdlavaiaPfgicsGcdtfasBdbavc;abfaocdfcsGcitfgDaxBdbaDasBdlaocifhoaiaOfhiazaOfhxxekaxcbalRbbgHEgAaDc;:eSgDfhzaHcsGhCaHcl4hXdndnaHcs0mbazcefhOxekazhOavaiaX9RcsGcdtfydbhzkdndnaCmbaOcefhxxekaOhxavaiaH9RcsGcdtfydbhOkdndnaDTmbalcefhDxekalcdfhDal8SbegPcFeGhsdnaPcu9kmbalcofhAascFbGhscrhldninaD8SbbgPcFbGaltasVhsaPcu9kmeaDcefhDalcrfglc8J9hmbkaAhDxekaDcefhDkasce4cbasceG9R7amfgmhAkdndnaXcsSmbaDhsxekaDcefhsaD8SbbglcFeGhPdnalcu9kmbaDcvfhzaPcFbGhPcrhldninas8SbbgDcFbGaltaPVhPaDcu9kmeascefhsalcrfglc8J9hmbkazhsxekascefhskaPce4cbaPceG9R7amfgmhzkdndnaCcsSmbashlxekascefhlas8SbbgDcFeGhPdnaDcu9kmbascvfhOaPcFbGhPcrhDdninal8SbbgscFbGaDtaPVhPascu9kmealcefhlaDcrfgDc8J9hmbkaOhlxekalcefhlkaPce4cbaPceG9R7amfgmhOkdndnadcd9hmbabarcetfgDaA87ebaDclfaO87ebaDcdfaz87ebxekabarcdtfgDaABdbaDcwfaOBdbaDclfazBdbkavc;abfaocitfgDazBdbaDaABdlavaicdtfaABdbavc;abfaocefcsGcitfgDaOBdbaDazBdlavaicefgicsGcdtfazBdbavc;abfaocdfcsGcitfgDaABdbaDaOBdlavaiaHcz6aXcsSVfgicsGcdtfaOBdbaiaCTaCcsSVfhiaocifhokawcefhwaocsGhoaicsGhiarcifgrae6mbkkcbc99alaqSEhokavc;aef8Kjjjjbaok:clevu8Jjjjjbcz9Rhvdnaecvfal9nmbc9:skdnaiRbbc;:eGc;qeSmbcuskav9cb83iwaicefhoaialfc98fhrdnaeTmbdnadcdSmbcbhwindnaoar6mbc9:skaocefhlao8SbbgicFeGhddndnaicu9mmbalhoxekaocvfhoadcFbGhdcrhidninal8SbbgDcFbGaitadVhdaDcu9kmealcefhlaicrfgic8J9hmbxdkkalcefhokabawcdtfadc8Etc8F91adcd47avcwfadceGcdtVglydbfgiBdbalaiBdbawcefgwae9hmbxdkkcbhwindnaoar6mbc9:skaocefhlao8SbbgicFeGhddndnaicu9mmbalhoxekaocvfhoadcFbGhdcrhidninal8SbbgDcFbGaitadVhdaDcu9kmealcefhlaicrfgic8J9hmbxdkkalcefhokabawcetfadc8Etc8F91adcd47avcwfadceGcdtVglydbfgi87ebalaiBdbawcefgwae9hmbkkcbc99aoarSEk:2Pliur97eue978Jjjjjbc8W9Rhiaec98Ghldndnadcl9hmbdnalTmbcbhvabhdinadadpbbbgocKp:RecKp:Sep;6egraocwp:RecKp:Sep;6earp;Geaoczp:RecKp:Sep;6egwp;Gep;Kep;LegDpxbbbbbbbbbbbbbbbbp:2egqarpxbbbjbbbjbbbjbbbjgkp9op9rp;Kegrpxbb;:9cbb;:9cbb;:9cbb;:9cararp;MeaDaDp;Meawaqawakp9op9rp;Kegrarp;Mep;Kep;Kep;Jep;Negwp;Mepxbbn0bbn0bbn0bbn0gqp;KepxFbbbFbbbFbbbFbbbp9oaopxbbbFbbbFbbbFbbbFp9op9qarawp;Meaqp;Kecwp:RepxbFbbbFbbbFbbbFbbp9op9qaDawp;Meaqp;Keczp:RepxbbFbbbFbbbFbbbFbp9op9qpkbbadczfhdavclfgval6mbkkalaeSmeaipxbbbbbbbbbbbbbbbbgqpklbaiabalcdtfgdaeciGglcdtgv;8qbbdnalTmbaiaipblbgocKp:RecKp:Sep;6egraocwp:RecKp:Sep;6earp;Geaoczp:RecKp:Sep;6egwp;Gep;Kep;LegDaqp:2egqarpxbbbjbbbjbbbjbbbjgkp9op9rp;Kegrpxbb;:9cbb;:9cbb;:9cbb;:9cararp;MeaDaDp;Meawaqawakp9op9rp;Kegrarp;Mep;Kep;Kep;Jep;Negwp;Mepxbbn0bbn0bbn0bbn0gqp;KepxFbbbFbbbFbbbFbbbp9oaopxbbbFbbbFbbbFbbbFp9op9qarawp;Meaqp;Kecwp:RepxbFbbbFbbbFbbbFbbp9op9qaDawp;Meaqp;Keczp:RepxbbFbbbFbbbFbbbFbp9op9qpklbkadaiav;8qbbskaipxFubbFubbFubbFubbgxpklbdnalTmbcbhvabhdinadczfgmampbbbgopxbbbbbbFFbbbbbbFFgkp9oadpbbbgDaopmbediwDqkzHOAKY8AEgwczp:Reczp:Sep;6egraipblbaDaopmlvorxmPsCXQL358E8Fp9op;6eawczp:Sep;6egwp;Gearp;Gep;Kep;Legopxbbbbbbbbbbbbbbbbp:2egqarpxbbbjbbbjbbbjbbbjgPp9op9rp;Kegrpxb;:FSb;:FSb;:FSb;:FSararp;Meaoaop;MeawaqawaPp9op9rp;Kegrarp;Mep;Kep;Kep;Jep;Negwp;Mepxbbn0bbn0bbn0bbn0gqp;KepxFFbbFFbbFFbbFFbbp9oaoawp;Meaqp;Keczp:Rep9qgoarawp;Meaqp;KepxFFbbFFbbFFbbFFbbp9ogrpmwDKYqk8AExm35Ps8E8Fp9qpkbbadaDakp9oaoarpmbezHdiOAlvCXorQLp9qpkbbadcafhdavclfgval6mbkkalaeSmbaiczfpxbbbbbbbbbbbbbbbbgopklbaiaopklbaiabalcitfgdaeciGglcitgv;8qbbaiaxpkladnalTmbaiaipblzgopxbbbbbbFFbbbbbbFFgkp9oaipblbgDaopmbediwDqkzHOAKY8AEgwczp:Reczp:Sep;6egraipblaaDaopmlvorxmPsCXQL358E8Fp9op;6eawczp:Sep;6egwp;Gearp;Gep;Kep;Legopxbbbbbbbbbbbbbbbbp:2egqarpxbbbjbbbjbbbjbbbjgPp9op9rp;Kegrpxb;:FSb;:FSb;:FSb;:FSararp;Meaoaop;MeawaqawaPp9op9rp;Kegrarp;Mep;Kep;Kep;Jep;Negwp;Mepxbbn0bbn0bbn0bbn0gqp;KepxFFbbFFbbFFbbFFbbp9oaoawp;Meaqp;Keczp:Rep9qgoarawp;Meaqp;KepxFFbbFFbbFFbbFFbbp9ogrpmwDKYqk8AExm35Ps8E8Fp9qpklzaiaDakp9oaoarpmbezHdiOAlvCXorQLp9qpklbkadaiav;8qbbkk;Iwllue97euo978Jjjjjbca9Rhidnaec98GglTmbcbhvabhoinaocKfpxbbjZbbjZbbjZbbjZpx;Zl81Z;Zl81Z;Zl81Z;Zl81ZaopbbbgraoczfgwpbbbgDpmlvorxmPsCXQL358E8Fgqczp:Segkpxibbbibbbibbbibbbp9qp;6ep;NegxaraDpmbediwDqkzHOAKY8AEgrczp:Reczp:Sep;6ep;MegDaDp;Meaxarczp:Sep;6ep;Megmamp;Meaxaqczp:Reczp:Sep;6ep;Megqaqp;Mep;Kep;Kep;Lepxbbbbbbbbbbbbbbbbp:4ep;Jepxb;:FSb;:FSb;:FSb;:FSgxp;Mepxbbn0bbn0bbn0bbn0grp;KepxFFbbFFbbFFbbFFbbgPp9oamaxp;Mearp;Keczp:Rep9qgmaDaxp;Mearp;KeaPp9oaqaxp;Mearp;Keczp:Rep9qgrpmwDKYqk8AExm35Ps8E8FgDp5eakclp:RegxpEi:T:j83ibawaDp5baxpEd:T:j83ibaocwfamarpmbezHdiOAlvCXorQLgrp5eaxpEe:T:j83ibaoarp5baxpEb:T:j83ibaocafhoavclfgval6mbkkdnalaeSmbaiczfpxbbbbbbbbbbbbbbbbgxpklbaiaxpklbaiabalcitfgoaeciGgvcitgw;8qbbdnavTmbaipxbbjZbbjZbbjZbbjZpx;Zl81Z;Zl81Z;Zl81Z;Zl81ZaipblbgraipblzgDpmlvorxmPsCXQL358E8Fgqczp:Segkpxibbbibbbibbbibbbp9qp;6ep;NegxaraDpmbediwDqkzHOAKY8AEgrczp:Reczp:Sep;6ep;MegDaDp;Meaxarczp:Sep;6ep;Megmamp;Meaxaqczp:Reczp:Sep;6ep;Megqaqp;Mep;Kep;Kep;Lepxbbbbbbbbbbbbbbbbp:4ep;Jepxb;:FSb;:FSb;:FSb;:FSgxp;Mepxbbn0bbn0bbn0bbn0grp;KepxFFbbFFbbFFbbFFbbgPp9oamaxp;Mearp;Keczp:Rep9qgmaDaxp;Mearp;KeaPp9oaqaxp;Mearp;Keczp:Rep9qgrpmwDKYqk8AExm35Ps8E8FgDp5eakclp:RegxpEi:T:j83iKaiaDp5baxpEd:T:j83izaiamarpmbezHdiOAlvCXorQLgrp5eaxpEe:T:j83iwaiarp5baxpEb:T:j83ibkaoaiaw;8qbbkk;uddiue978Jjjjjbc;ab9Rhidnadcd4ae2glc98GgvTmbcbheabhdinadadpbbbgocwp:Recwp:Sep;6eaocep:SepxbbjFbbjFbbjFbbjFp9opxbbjZbbjZbbjZbbjZp:Uep;Mepkbbadczfhdaeclfgeav6mbkkdnavalSmbaic8WfpxbbbbbbbbbbbbbbbbgopklbaicafaopklbaiczfaopklbaiaopklbaiabavcdtfgdalciGgecdtgv;8qbbdnaeTmbaiaipblbgocwp:Recwp:Sep;6eaocep:SepxbbjFbbjFbbjFbbjFp9opxbbjZbbjZbbjZbbjZp:Uep;Mepklbkadaiav;8qbbkk:CPvdue97euw97eu8Jjjjjbc8W9Rhiaec98Ghldndnadcl9hmbaipxbbbbbbbbbbbbbbbbgvpklbdnalTmbcbhoabhdinadpbbbhradpxbbuJbbuJbbuJbbuJaipblbarcKp:Tep9qgwcep:Seawp9qgDcdp:SeaDp9qgDclp:SeaDp9qgqp;6ep;NegDarcwp:RecKp:SegkarpxFbbbFbbbFbbbFbbbgxp9ogmp:Uep;6ep;Mepxbbn0bbn0bbn0bbn0gPp;Kecwp:RepxbFbbbFbbbFbbbFbbp9oaDamakp:Xearczp:RecKp:Segrp:Uep;6ep;MeaPp;Keaxp9op9qaDamakarp:Uep:Xep;6ep;MeaPp;Keczp:RepxbbFbbbFbbbFbbbFbp9op9qaDaqawcep:Rep9oawpxebbbebbbebbbebbbp9op9qp;6ep;MeaPp;KecKp:Rep9qpkbbadczfhdaoclfgoal6mbkkalaeSmeaiavpklaaicafabalcdtfgdaeciGglcdtgo;8qbbaiavpklbdnalTmbaipblahraipxbbuJbbuJbbuJbbuJaipblbarcKp:Tep9qgwcep:Seawp9qgDcdp:SeaDp9qgDclp:SeaDp9qgqp;6ep;NegDarcwp:RecKp:SegkarpxFbbbFbbbFbbbFbbbgxp9ogmp:Uep;6ep;Mepxbbn0bbn0bbn0bbn0gPp;Kecwp:RepxbFbbbFbbbFbbbFbbp9oaDamakp:Xearczp:RecKp:Segrp:Uep;6ep;MeaPp;Keaxp9op9qaDamakarp:Uep:Xep;6ep;MeaPp;Keczp:RepxbbFbbbFbbbFbbbFbp9op9qaDaqawcep:Rep9oawpxebbbebbbebbbebbbp9op9qp;6ep;MeaPp;KecKp:Rep9qpklakadaicafao;8qbbskaipxbbbbbbbbbbbbbbbbgvpklbdnalTmbcbhoabhdinadczfgspxbFu9hbFu9hbFu9hbFu9hadpbbbgDaspbbbgPpmlvorxmPsCXQL358E8Fgmczp:Teaipblbp9qgrcep:Searp9qgwcdp:Seawp9qgwclp:Seawp9qgwcwp:Seawp9qgqp;6ep;NegwaDaPpmbediwDqkzHOAKY8AEgDpxFFbbFFbbFFbbFFbbgPp9ogkaDczp:Segxp:Ueamczp:Reczp:Segmp:Xep;6ep;Mepxbbn0bbn0bbn0bbn0gDp;KeaPp9oawakaxamp:Uep:Xep;6ep;MeaDp;Keczp:Rep9qgxawaqarcep:Rep9oarpxebbbebbbebbbebbbp9op9qp;6ep;MeaDp;Keczp:Reawamakp:Uep;6ep;MeaDp;KeaPp9op9qgrpmwDKYqk8AExm35Ps8E8FpkbbadaxarpmbezHdiOAlvCXorQLpkbbadcafhdaoclfgoal6mbkkalaeSmbaiczfpxbbbbbbbbbbbbbbbbgrpklbaiarpklbaiabalcitfgdaeciGglcitgo;8qbbaiavpkladnalTmbaipxbFu9hbFu9hbFu9hbFu9haipblbgDaipblzgPpmlvorxmPsCXQL358E8Fgmczp:Teaipblap9qgrcep:Searp9qgwcdp:Seawp9qgwclp:Seawp9qgwcwp:Seawp9qgqp;6ep;NegwaDaPpmbediwDqkzHOAKY8AEgDpxFFbbFFbbFFbbFFbbgPp9ogkaDczp:Segxp:Ueamczp:Reczp:Segmp:Xep;6ep;Mepxbbn0bbn0bbn0bbn0gDp;KeaPp9oawakaxamp:Uep:Xep;6ep;MeaDp;Keczp:Rep9qgxawaqarcep:Rep9oarpxebbbebbbebbbebbbp9op9qp;6ep;MeaDp;Keczp:Reawamakp:Uep;6ep;MeaDp;KeaPp9op9qgrpmwDKYqk8AExm35Ps8E8FpklzaiaxarpmbezHdiOAlvCXorQLpklbkadaiao;8qbbkk9teiucbcbydj1jjbgeabcifc98GfgbBdj1jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaikkkebcjwklz:Dbb"):i("b9H79Tebbbe8Fv9Gbb9Gvuuuuueu9Giuuub9Geueu9Giuuueuixkbeeeddddillviebeoweuec:W:Odkr;Neqo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8A9TW79O9V9Wt9F9KW9J9V9KW9wWVtW949c919M9MWVbeY9TW79O9V9Wt9F9KW9J9V9KW69U9KW949c919M9MWVbdE9TW79O9V9Wt9F9KW9J9V9KW69U9KW949tWG91W9U9JWbiL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9p9JtblK9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9r919HtbvL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVT949WboY9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVJ9V29VVbrl79IV9Rbwq;BZkdbk;jYi5ud9:du8Jjjjjbcj;kb9Rgv8Kjjjjbc9:hodnalTmbcuhoaiRbbgrc;WeGc:Ge9hmbarcsGgwce0mbc9:hoalcufadcd4cbawEgDadfgrcKcaawEgqaraq0Egk6mbaicefhxcj;abad9Uc;WFbGcjdadca0EhmaialfgPar9Rgoadfhsavaoadz:jjjjbgzceVhHcbhOdndninaeaO9nmeaPax9RaD6mdamaeaO9RaOamfgoae6EgAcsfglc9WGhCabaOad2fhXaAcethQaxaDfhiaOaeaoaeao6E9RhLalcl4cifcd4hKazcj;cbfaAfhYcbh8AazcjdfhEaHh3incbhodnawTmbaxa8Acd4fRbbhokaocFeGh5cbh8Eazcj;cbfhqinaih8Fdndndndna5a8Ecet4ciGgoc9:fPdebdkaPa8F9RaA6mrazcj;cbfa8EaA2fa8FaAz:jjjjb8Aa8FaAfhixdkazcj;cbfa8EaA2fcbaAz:kjjjb8Aa8FhixekaPa8F9RaK6mva8FaKfhidnaCTmbaPai9RcK6mbaocdtc:q1jjbfcj1jjbawEhaczhrcbhlinargoc9Wfghaqfhrdndndndndndnaaa8Fahco4fRbbalcoG4ciGcdtfydbPDbedvivvvlvkar9cb83bbarcwf9cb83bbxlkarcbaiRbdai8Xbb9c:c:qj:bw9:9c:q;c1:I1e:d9c:b:c:e1z9:gg9cjjjjjz:dg8J9qE86bbaqaofgrcGfag9c8F1:NghcKtc8F91aicdfa8J9c8N1:Nfg8KRbbG86bbarcVfcba8KahcjeGcr4fghRbbag9cjjjjjl: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:dg8J9qE86bbarc95fag9c8F1:NgicKtc8F91aha8J9c8N1:NfghRbbG86bbarc96fcbahaicjeGcr4fgiRbbag9cjjjjjl:dg8J9qE86bbarc97fcbaia8J9c8L1:NfgiRbbag9cjjjjjd:dg8J9qE86bbarc98fcbaia8J9c8K1:NfgiRbbag9cjjjjje:dg8J9qE86bbarc99fcbaia8J9c8J1:NfgiRbbag9cjjjj;ab:dg8J9qE86bbarc9:fcbaia8J9cg1:NfgiRbbag9cjjjja:dg8J9qE86bbarcufcbaia8J9ch1:NfgiRbbag9cjjjjz:dgg9qE86bbaiag9ca1:NfhixikaraiRblaiRbbghco4g8Ka8KciSg8KE86bbaqaofgrcGfaiclfa8Kfg8KRbbahcl4ciGg8La8LciSg8LE86bbarcVfa8Ka8Lfg8KRbbahcd4ciGg8La8LciSg8LE86bbarc7fa8Ka8Lfg8KRbbahciGghahciSghE86bbarctfa8Kahfg8KRbbaiRbeghco4g8La8LciSg8LE86bbarc91fa8Ka8Lfg8KRbbahcl4ciGg8La8LciSg8LE86bbarc4fa8Ka8Lfg8KRbbahcd4ciGg8La8LciSg8LE86bbarc93fa8Ka8Lfg8KRbbahciGghahciSghE86bbarc94fa8Kahfg8KRbbaiRbdghco4g8La8LciSg8LE86bbarc95fa8Ka8Lfg8KRbbahcl4ciGg8La8LciSg8LE86bbarc96fa8Ka8Lfg8KRbbahcd4ciGg8La8LciSg8LE86bbarc97fa8Ka8Lfg8KRbbahciGghahciSghE86bbarc98fa8KahfghRbbaiRbigico4g8Ka8KciSg8KE86bbarc99faha8KfghRbbaicl4ciGg8Ka8KciSg8KE86bbarc9:faha8KfghRbbaicd4ciGg8Ka8KciSg8KE86bbarcufaha8KfgrRbbaiciGgiaiciSgiE86bbaraifhixdkaraiRbwaiRbbghcl4g8Ka8KcsSg8KE86bbaqaofgrcGfaicwfa8Kfg8KRbbahcsGghahcsSghE86bbarcVfa8KahfghRbbaiRbeg8Kcl4g8La8LcsSg8LE86bbarc7faha8LfghRbba8KcsGg8Ka8KcsSg8KE86bbarctfaha8KfghRbbaiRbdg8Kcl4g8La8LcsSg8LE86bbarc91faha8LfghRbba8KcsGg8Ka8KcsSg8KE86bbarc4faha8KfghRbbaiRbig8Kcl4g8La8LcsSg8LE86bbarc93faha8LfghRbba8KcsGg8Ka8KcsSg8KE86bbarc94faha8KfghRbbaiRblg8Kcl4g8La8LcsSg8LE86bbarc95faha8LfghRbba8KcsGg8Ka8KcsSg8KE86bbarc96faha8KfghRbbaiRbvg8Kcl4g8La8LcsSg8LE86bbarc97faha8LfghRbba8KcsGg8Ka8KcsSg8KE86bbarc98faha8KfghRbbaiRbog8Kcl4g8La8LcsSg8LE86bbarc99faha8LfghRbba8KcsGg8Ka8KcsSg8KE86bbarc9:faha8KfghRbbaiRbrgicl4g8Ka8KcsSg8KE86bbarcufaha8KfgrRbbaicsGgiaicsSgiE86bbaraifhixekarai8Pbb83bbarcwfaicwf8Pbb83bbaiczfhikdnaoaC9pmbalcdfhlaoczfhraPai9RcL0mekkaoaC6moaimexokaCmva8FTmvkaqaAfhqa8Ecefg8Ecl9hmbkdndndndnawTmbasa8Acd4fRbbgociGPlbedrbkaATmdaza8Afh8Fazcj;cbfhhcbh8EaEhaina8FRbbhraahocbhlinaoahalfRbbgqce4cbaqceG9R7arfgr86bbaoadfhoaAalcefgl9hmbkaacefhaa8Fcefh8FahaAfhha8Ecefg8Ecl9hmbxikkaATmeaza8Afhaazcj;cbfhhcbhoceh8EaYh8FinaEaofhlaa8Vbbhrcbhoinala8FaofRbbcwtahaofRbbgqVc;:FiGce4cbaqceG9R7arfgr87bbaladfhlaLaocefgofmbka8FaQfh8FcdhoaacdfhaahaQfhha8EceGhlcbh8EalmbxdkkaATmbcbaocl49Rh8Eaza8AfRbbhqcwhoa3hlinalRbbaotaqVhqalcefhlaocwfgoca9hmbkcbhhaEh8FaYhainazcj;cbfahfRbbhrcwhoaahlinalRbbaotarVhralaAfhlaocwfgoca9hmbkara8E93aq7hqcbhoa8Fhlinalaqao486bbalcefhlaocwfgoca9hmbka8Fadfh8FaacefhaahcefghaA9hmbkkaEclfhEa3clfh3a8Aclfg8Aad6mbkaXazcjdfaAad2z:jjjjb8AazazcjdfaAcufad2fadz:jjjjb8AaAaOfhOaihxaimbkc9:hoxdkcbc99aPax9RakSEhoxekc9:hokavcj;kbf8Kjjjjbaok:XseHu8Jjjjjbc;ae9Rgv8Kjjjjbc9:hodnaeci9UgrcHfal0mbcuhoaiRbbgwc;WeGc;Ge9hmbawcsGgDce0mbavc;abfcFecjez:kjjjb8AavcUf9cu83ibavc8Wf9cu83ibavcyf9cu83ibavcaf9cu83ibavcKf9cu83ibavczf9cu83ibav9cu83iwav9cu83ibaialfc9WfhqaicefgwarfhldnaeTmbcmcsaDceSEhkcbhxcbhmcbhrcbhicbhoindnalaq9nmbc9:hoxikdndnawRbbgDc;Ve0mbavc;abfaoaDcu7gPcl4fcsGcitfgsydlhzasydbhHdndnaDcsGgsak9pmbavaiaPfcsGcdtfydbaxasEhDaxasTgOfhxxekdndnascsSmbcehOasc987asamffcefhDxekalcefhDal8SbbgscFeGhPdndnascu9mmbaDhlxekalcvfhlaPcFbGhPcrhsdninaD8SbbgOcFbGastaPVhPaOcu9kmeaDcefhDascrfgsc8J9hmbxdkkaDcefhlkcehOaPce4cbaPceG9R7amfhDkaDhmkavc;abfaocitfgsaDBdbasazBdlavaicdtfaDBdbavc;abfaocefcsGcitfgsaHBdbasaDBdlaocdfhoaOaifhidnadcd9hmbabarcetfgsaH87ebasclfaD87ebascdfaz87ebxdkabarcdtfgsaHBdbascwfaDBdbasclfazBdbxekdnaDcpe0mbaxcefgOavaiaqaDcsGfRbbgscl49RcsGcdtfydbascz6gPEhDavaias9RcsGcdtfydbaOaPfgzascsGgOEhsaOThOdndnadcd9hmbabarcetfgHax87ebaHclfas87ebaHcdfaD87ebxekabarcdtfgHaxBdbaHcwfasBdbaHclfaDBdbkavaicdtfaxBdbavc;abfaocitfgHaDBdbaHaxBdlavaicefgicsGcdtfaDBdbavc;abfaocefcsGcitfgHasBdbaHaDBdlavaiaPfgicsGcdtfasBdbavc;abfaocdfcsGcitfgDaxBdbaDasBdlaocifhoaiaOfhiazaOfhxxekaxcbalRbbgHEgAaDc;:eSgDfhzaHcsGhCaHcl4hXdndnaHcs0mbazcefhOxekazhOavaiaX9RcsGcdtfydbhzkdndnaCmbaOcefhxxekaOhxavaiaH9RcsGcdtfydbhOkdndnaDTmbalcefhDxekalcdfhDal8SbegPcFeGhsdnaPcu9kmbalcofhAascFbGhscrhldninaD8SbbgPcFbGaltasVhsaPcu9kmeaDcefhDalcrfglc8J9hmbkaAhDxekaDcefhDkasce4cbasceG9R7amfgmhAkdndnaXcsSmbaDhsxekaDcefhsaD8SbbglcFeGhPdnalcu9kmbaDcvfhzaPcFbGhPcrhldninas8SbbgDcFbGaltaPVhPaDcu9kmeascefhsalcrfglc8J9hmbkazhsxekascefhskaPce4cbaPceG9R7amfgmhzkdndnaCcsSmbashlxekascefhlas8SbbgDcFeGhPdnaDcu9kmbascvfhOaPcFbGhPcrhDdninal8SbbgscFbGaDtaPVhPascu9kmealcefhlaDcrfgDc8J9hmbkaOhlxekalcefhlkaPce4cbaPceG9R7amfgmhOkdndnadcd9hmbabarcetfgDaA87ebaDclfaO87ebaDcdfaz87ebxekabarcdtfgDaABdbaDcwfaOBdbaDclfazBdbkavc;abfaocitfgDazBdbaDaABdlavaicdtfaABdbavc;abfaocefcsGcitfgDaOBdbaDazBdlavaicefgicsGcdtfazBdbavc;abfaocdfcsGcitfgDaABdbaDaOBdlavaiaHcz6aXcsSVfgicsGcdtfaOBdbaiaCTaCcsSVfhiaocifhokawcefhwaocsGhoaicsGhiarcifgrae6mbkkcbc99alaqSEhokavc;aef8Kjjjjbaok:clevu8Jjjjjbcz9Rhvdnaecvfal9nmbc9: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;oiliui99iue99dnaeTmbcbhiabhlindndnJ;Zl81Zalcof8UebgvciV:Y:vgoal8Ueb:YNgrJb;:FSNJbbbZJbbb:;arJbbbb9GEMgw:lJbbb9p9DTmbaw:OhDxekcjjjj94hDkalclf8Uebhqalcdf8UebhkabaiavcefciGfcetfaD87ebdndnaoak:YNgwJb;:FSNJbbbZJbbb:;awJbbbb9GEMgx:lJbbb9p9DTmbax:OhDxekcjjjj94hDkabaiavciGfgkcd7cetfaD87ebdndnaoaq:YNgoJb;:FSNJbbbZJbbb:;aoJbbbb9GEMgx:lJbbb9p9DTmbax:OhDxekcjjjj94hDkabaiavcufciGfcetfaD87ebdndnJbbjZararN:tawawN:taoaoN:tgrJbbbbarJbbbb9GE:rJb;:FSNJbbbZMgr:lJbbb9p9DTmbar:Ohvxekcjjjj94hvkabakcetfav87ebalcwfhlaiclfhiaecufgembkkk9mbdnadcd4ae2gdTmbinababydbgecwtcw91: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:K1jjbgeabcifc98GfgbBd:K1jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik;teeeudndnaeabVciGTmbabhixekdndnadcz9pmbabhixekabhiinaiaeydbBdbaiaeydlBdlaiaeydwBdwaiaeydxBdxaeczfheaiczfhiadc9Wfgdcs0mbkkadcl6mbinaiaeydbBdbaeclfheaiclfhiadc98fgdci0mbkkdnadTmbinaiaeRbb86bbaicefhiaecefheadcufgdmbkkabk:3eedudndnabciGTmbabhixekaecFeGc:b:c:ew2hldndnadcz9pmbabhixekabhiinaialBdxaialBdwaialBdlaialBdbaiczfhiadc9Wfgdcs0mbkkadcl6mbinaialBdbaiclfhiadc98fgdci0mbkkdnadTmbinaiae86bbaicefhiadcufgdmbkkabkk81dbcjwk8Kbbbbdbbblbbbwbbbbbbbebbbdbbblbbbwbbbbc:Kwkl8WNbb"),g=WebAssembly.instantiate(e,{}).then(function(C){(a=C.instance).exports.__wasm_call_ctors()});function i(C){for(var Q=new Uint8Array(C.length),c=0;c<C.length;++c){var d=C.charCodeAt(c);Q[c]=d>96?d-97:d>64?d-39:d+4}var b=0;for(c=0;c<C.length;++c)Q[b++]=Q[c]<60?A[Q[c]]:64*(Q[c]-60)+Q[++c];return Q.buffer.slice(0,b)}function I(C,Q,c,d,b,h,l){var w=C.exports.sbrk,M=d+3&-4,k=w(M*b),N=w(h.length),F=new Uint8Array(C.exports.memory.buffer);F.set(h,N);var G=Q(k,d,b,N,h.length);if(G==0&&l&&l(k,M,b),c.set(F.subarray(k,k+d*b)),w(k-w(0)),G!=0)throw new Error("Malformed buffer data: "+G)}var r={NONE:"",OCTAHEDRAL:"meshopt_decodeFilterOct",QUATERNION:"meshopt_decodeFilterQuat",EXPONENTIAL:"meshopt_decodeFilterExp",COLOR:"meshopt_decodeFilterColor"},o={ATTRIBUTES:"meshopt_decodeVertexBuffer",TRIANGLES:"meshopt_decodeIndexBuffer",INDICES:"meshopt_decodeIndexSequence"},B=[],n=0;function s(C){var Q={object:new Worker(C),pending:0,requests:{}};return Q.object.onmessage=function(c){var d=c.data;Q.pending-=d.count,Q.requests[d.id][d.action](d.value),delete Q.requests[d.id]},Q}function E(C){var Q=C.data;if(!Q.id)return self.close();self.ready.then(function(c){try{var d=new Uint8Array(Q.count*Q.size);I(c,c.exports[Q.mode],d,Q.count,Q.size,Q.source,c.exports[Q.filter]),self.postMessage({id:Q.id,count:Q.count,action:"resolve",value:d},[d.buffer])}catch(b){self.postMessage({id:Q.id,count:Q.count,action:"reject",value:b})}})}return{ready:g,supported:!0,useWorkers:function(C){(function(Q){for(var c="self.ready = WebAssembly.instantiate(new Uint8Array(["+new Uint8Array(e)+"]), {}).then(function(result) { result.instance.exports.__wasm_call_ctors(); return result.instance; });self.onmessage = "+E.name+";"+I.toString()+E.toString(),d=new Blob([c],{type:"text/javascript"}),b=URL.createObjectURL(d),h=B.length;h<Q;++h)B[h]=s(b);for(h=Q;h<B.length;++h)B[h].object.postMessage({});B.length=Q,URL.revokeObjectURL(b)})(C)},decodeVertexBuffer:function(C,Q,c,d,b){I(a,a.exports.meshopt_decodeVertexBuffer,C,Q,c,d,a.exports[r[b]])},decodeIndexBuffer:function(C,Q,c,d){I(a,a.exports.meshopt_decodeIndexBuffer,C,Q,c,d)},decodeIndexSequence:function(C,Q,c,d){I(a,a.exports.meshopt_decodeIndexSequence,C,Q,c,d)},decodeGltfBuffer:function(C,Q,c,d,b,h){I(a,a.exports[o[b]],C,Q,c,d,a.exports[r[h]])},decodeGltfBufferAsync:function(C,Q,c,d,b){return B.length>0?function(h,l,w,M,k){for(var N=B[0],F=1;F<B.length;++F)B[F].pending<N.pending&&(N=B[F]);return new Promise(function(G,L){var x=new Uint8Array(w),W=++n;N.pending+=h,N.requests[W]={resolve:G,reject:L},N.object.postMessage({id:W,count:h,size:l,source:x,mode:M,filter:k},[x.buffer])})}(C,Q,c,o[d],r[b]):g.then(function(){var h=new Uint8Array(C*Q);return I(a,a.exports[o[d]],h,C,Q,c,a.exports[r[b]]),h})}}}();(function(){var t,A=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 a=WebAssembly.instantiate(function(r){for(var o=new Uint8Array(r.length),B=0;B<r.length;++B){var n=r.charCodeAt(B);o[B]=n>96?n-97:n>64?n-39:n+4}var s=0;for(B=0;B<r.length;++B)o[s++]=o[B]<60?A[o[B]]:64*(o[B]-60)+o[++B];return o.buffer.slice(0,s)}("b9H79Tebbbe:Gez9Geueu9Geub9Gbb9Gsuuuuuuuuuuuu99uueu9Gvuuuuub9Gruuuuuuub9Gouuuuuue999Gvuuuuueu9Gquuuuuuu99uueu9GPuuuuuuuuuuu99uueu9Gquuuuuuuu99ueu9Gruuuuuu99eu9Gwuuuuuu99ueu9Giuuue999Gluuuueu9GiuuueuiXCdilvorlwiDqkxmPbssbelve9Weiiviebeoweuec:G:Pdkr;7eko9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bbz9TW79O9V9Wt9F79P9T9W29P9M95br8E9TW79O9V9Wt9F79P9T9W29P9M959x9Pt9OcttV9P9I91tW7bw8A9TW79O9V9Wt9F79P9T9W29P9M959x9Pt9O9v9W9K9HtWbDQ9TW79O9V9Wt9F79P9T9W29P9M959t29V9W9W95bqX9TW79O9V9Wt9F79P9T9W29P9M959qV919UWbkQ9TW79O9V9Wt9F79P9T9W29P9M959q9V9P9Ut7bxX9TW79O9V9Wt9F79P9T9W29P9M959t9J9H2Wbma9TW79O9V9Wt9F9V9Wt9P9T9P96W9wWVtW94SWt9J9O9sW9T9H9WbPl79IV9RbsDwebcekdOAq:d;OeCdbk:J1eo3ue99euE99Cue9:8Jjjjjbcj;sb9Rgs8Kjjjjbcbhzasc:Cefcbc;Kbz:rjjjb8AdnabaeSmbabaeadcdtz:qjjjb8AkdnamcdGTmbalcrfci4gHcbyd1:jjjbHjjjjbbheasc:Cefasyd;8egOcdtfaeBdbasaOcefBd;8eaecbaHz:rjjjbhAcbhlcbhednadTmbcbhlabheadhHinaAaeydbgOci4fgCaCRbbgCceaOcrGgOtV86bbaCcu7aO4ceGalfhlaeclfheaHcufgHmbkcualcdtalcFFFFi0Ehekaecbyd1:jjjbHjjjjbbhzasc:Cefasyd;8egecdtfazBdbasaecefBd;8ealcd4alfhOcehHinaHgecethHaeaO6mbkcbhXcuaecdtgOaecFFFFi0Ecbyd1:jjjbHjjjjbbhHasc:Cefasyd;8egCcdtfaHBdbasaCcefBd;8eaHcFeaOz:rjjjbhQdnadTmbaecufhLcbhKindndnaQabaXcdtfgYydbgCc:v;t;h;Ev2aLGgOcdtfgAydbgHcuSmbceheinazaHcdtfydbaCSmdaOaefhHaecefheaQaHaLGgOcdtfgAydbgHcu9hmbkkazaKcdtfaCBdbaAaKBdbaKhHaKcefhKkaYaHBdbaXcefgXad9hmbkkaQcbyd:m:jjjbH:bjjjbbasasyd;8ecufBd;8ekcbh8AcualcefgecdtaecFFFFi0Ecbyd1:jjjbHjjjjbbhKasc:Cefasyd;8egecdtfaKBdbasaKBdNeasaecefBd;8ecuadcitadcFFFFe0Ecbyd1:jjjbHjjjjbbhEasc:Cefasyd;8egecdtfaEBdbasaEBd:yeasaecefBd;8eascNefabadalcbz:cjjjbcualcdtgealcFFFFi0Eg3cbyd1:jjjbHjjjjbbhCasc:Cefasyd;8egHcdtfaCBdbasaHcefBd;8ea3cbyd1:jjjbHjjjjbbhYasc:Cefasyd;8egHcdtfaYBdbasaHcefBd;8eaCaYaialavazasc:Cefz:djjjbalcbyd1:jjjbHjjjjbbh5asc:Cefasyd;8egHcdtfa5BdbasaHcefBd;8ea3cbyd1:jjjbHjjjjbbhHasc:Cefasyd;8egOcdtfaHBdbasaOcefBd;8ea3cbyd1:jjjbHjjjjbbhOasc:Cefasyd;8egAcdtfaOBdbasaAcefBd;8eaHcFeaez:rjjjbh8EaOcFeaez:rjjjbh8FdnalTmbaEcwfhaindnaKa8AgOcefg8AcdtfydbgAaKaOcdtgefydbgHSmbaAaH9RhhaEaHcitfhga8Faefh8Ja8Eaefh8KcbhQindndnagaQcitfydbgLaO9hmba8KaOBdba8JaOBdbxekdnaKaLcdtg8LfgeclfydbgHaeydbgeSmbaEaecitgAfydbaOSmeaHae9Rh8Maecu7aHfhXaaaAfhHcbheinaXaeSmeaecefheaHydbhAaHcwfhHaAaO9hmbkaea8M6meka8Fa8LfgeaOaLaeydbcuSEBdba8KaLaOa8KydbcuSEBdbkaQcefgQah9hmbkka8Aal9hmbkaChHaYhOa8FhAa8EhQcbheindndnaeaHydbgL9hmbdnaeaOydbgL9hmbaQydbhLdnaAydbgXcu9hmbaLcu9hmba5aefcb86bbxikdnaXcuSmbaLcuSmbaeaXSmbaCaXcdtfydbaCaLcdtfydb9hmba5aefcd86bbxika5aefh8KdnaeaXSmbaeaLSmba8Kce86bbxika8Kcl86bbxdkdnaeaYaLcdtgXfydb9hmbdnaAydbg8KcuSmbaea8KSmbaQydbghcuSmbaeahSmba8FaXfydbggcuSmbagaLSmba8EaXfydbgXcuSmbaXaLSmbdnaCa8KcdtfydbgLaCaXcdtfydb9hmbaLaCahcdtfydbgXSmbaXaCagcdtfydb9hmba5aefcd86bbxlka5aefcl86bbxika5aefcl86bbxdka5aefcl86bbxeka5aefa5aLfRbb86bbkaHclfhHaOclfhOaAclfhAaQclfhQalaecefge9hmbkdnamcaGTmbaEcwfh8Jcbh8Nindndna5a8NfgyRbbg8Pc9:fPibebekdndndnaCa8Ncdtfydbgea8N9hmbdnaqmbcbhgxdkdnazTmbcbhga8NheinagaqazaecdtgefydbfRbbcdGce4VhgaYaefydbgea8N9hmbxikkcbhga8NheinagaqaefRbbcdGce4VhgaYaecdtfydbgea8N9hmbxdkka5aefRbbhexeka8NheindnaKaecdtgafgeclfydbgHaeydbgeSmbaHae9Rh8AaEaecitfh8MaCaafh8Lcbh8Kina8Ma8KcitfydbgXhednindnaKaecdtgLfgeclfydbgHaeydbgeSmbdnaCaEaecitgOfydbcdtfydba8LydbgQ9hmbcehexikaHae9Rhhaecu7aHfhAa8JaOfhHcbheinaAaeSmeaecefheaHydbhOaHcwfhHaCaOcdtfydbaQ9hmbkaeah6hexdkaYaLfydbgeaX9hmbkcbhekagaece7Vhga8Kcefg8Ka8A9hmbkkaYaafydbgea8N9hmbka8PciagceGEhekayae86bbka8Ncefg8Nal9hmbkkdnaqTmbdndnazTmbazheaChHalhOindnaqaeydbfRbbceGTmba5aHydbfcl86bbkaeclfheaHclfhHaOcufgOmbxdkkaChealhHindnaqRbbceGTmba5aeydbfcl86bbkaqcefhqaeclfheaHcufgHmbkkaChealhOa5hHindna5aeydbfRbbcl9hmbaHcl86bbkaeclfheaHcefhHaOcufgOmbkkamceGTmba5healhHindnaeRbbce9hmbaecl86bbkaecefheaHcufgHmbkkcbhIcualcx2alc;v:Q;v:Qe0Ecbyd1:jjjbHjjjjbbhaasc:Cefasyd;8egecdtfaaBdbasaecefBd;8easc:qefcbBdbas9cb83i1eaaaialavazasc1efz:ejjjbh8RdndnaDmbcbh8Scbh8Lxekcbh8LawhecbhHindnaeIdbJbbbb9ETmbasa8LcdtfaHBdba8Lcefh8LkaeclfheaDaHcefgH9hmbkcua8Lal2gecdtaecFFFFi0Ecbyd1:jjjbHjjjjbbh8Sasc:Cefasyd;8egecdtfa8SBdbasaecefBd;8ealTmbdna8Lmbcbh8Lxekarcd4hXdnazTmba8Lcdth8KcbhLa8ShKinaoazaLcdtfydbaX2cdtfhQasheaKhHa8LhOinaHaQaeydbcdtgAfIdbawaAfIdbNUdbaeclfheaHclfhHaOcufgOmbkaKa8KfhKaLcefgLal9hmbxdkka8Lcdth8KcbhLa8ShKinaoaLaX2cdtfhQasheaKhHa8LhOinaHaQaeydbcdtgAfIdbawaAfIdbNUdbaeclfheaHclfhHaOcufgOmbkaKa8KfhKaLcefgLal9hmbkkcualc8S2gHalc;D;O;f8U0EgAcbyd1:jjjbHjjjjbbheasc:Cefasyd;8egOcdtfaeBdbasaOcefBd;8eaecbaHz:rjjjbhycbhqcbh8Ndna8LTmbcbhIaAcbyd1:jjjbHjjjjbbh8Nasc:Cefasyd;8egecdtfa8NBdbasaecefBd;8ea8NcbaHz:rjjjb8Acua8Lal2gecltgHaecFFFFb0Ecbyd1:jjjbHjjjjbbhqasc:Cefasyd;8egecdtfaqBdbasaecefBd;8eaqcbaHz:rjjjb8AamcjjjjdGTmbcualcltgealcFFFFb0Ecbyd1:jjjbHjjjjbbhIasc:Cefasyd;8egHcdtfaIBdbasaHcefBd;8eaIcbaez:rjjjb8AkdnadTmbcbhQabhHinaaaHclfydbgLcx2fgeIdbaaaHydbgKcx2fgOIdbgR:tg8UaaaHcwfydbgXcx2fgAIdlaOIdlg8V:tg8WNaAIdbaR:tg8XaeIdla8V:tg8YN:tg8Zh80aeIdwaOIdwg81:tgBa8XNaAIdwa81:tg83a8UN:tgUh8Xa8Ya83Na8WaBN:tg8Yh8Udna8Za8ZNa8Ya8YNaUaUNMM:rgBJbbbb9EgOTmba8ZaB:vh80aUaB:vh8Xa8YaB:vh8UkayaCaKcdtfydbgAc8S2fgea8UaB:rg8Wa8UNNg85aeIdbMUdbaea8Xa8Wa8XNg86Ng87aeIdlMUdlaea80a8Wa80Ng83Ng88aeIdwMUdwaea86a8UNg86aeIdxMUdxaea83a8UNg89aeIdzMUdzaea83a8XNg8:aeIdCMUdCaea8Ua8Wa80a81Na8UaRNa8Va8XNMM:mgZNg83Ng8UaeIdKMUdKaea8Xa83Ng8XaeId3MUd3aea80a83Ng80aeIdaMUdaaea83aZNg83aeId8KMUd8Kaea8WaeIdyMUdyayaCaLcdtfydbgLc8S2fgea85aeIdbMUdbaea87aeIdlMUdlaea88aeIdwMUdwaea86aeIdxMUdxaea89aeIdzMUdzaea8:aeIdCMUdCaea8UaeIdKMUdKaea8XaeId3MUd3aea80aeIdaMUdaaea83aeId8KMUd8Kaea8WaeIdyMUdyayaCaXcdtfydbgKc8S2fgea85aeIdbMUdbaea87aeIdlMUdlaea88aeIdwMUdwaea86aeIdxMUdxaea89aeIdzMUdzaea8:aeIdCMUdCaea8UaeIdKMUdKaea8XaeId3MUd3aea80aeIdaMUdaaea83aeId8KMUd8Kaea8WaeIdyMUdydnaITmbdnaOTmba8ZaB:vh8ZaUaB:vhUa8YaB:vh8YkaIaAcltfgeaBJbbbZNg8UaUNg8WaeIdlMUdlaea8Ua8ZNg8XaeIdwMUdwaea8Ua8YNg80aeIdbMUdbaea8UaR:ma8YNaUa8VN:ta81a8ZN:tNg8UaeIdxMUdxaIaLcltfgea8WaeIdlMUdlaea8XaeIdwMUdwaea80aeIdbMUdbaea8UaeIdxMUdxaIaKcltfgea8WaeIdlMUdlaea8XaeIdwMUdwaea80aeIdbMUdbaea8UaeIdxMUdxkaHcxfhHaQcifgQad6mbkkdnalTmbJ;n;m;m89J:v:;;w8ZamczGEh8YcbhOaChAaahHayheindnaOaAydb9hmbaecxfgQaQIdbJbbbbMUdbaeczfgQaQIdbJbbbbMUdbaecCfgQaQIdbJbbbbMUdbaea8YaecyfgQIdbg8ZNg8UaeIdbMUdbaeclfgLa8UaLIdbMUdbaecwfgLa8UaLIdbMUdbaecKfgLaLIdbaHIdbg8Xa8UN:tUdbaHcwfIdbh8Waec3fgLaLIdba8UaHclfIdbg80N:tUdbaecafgLaLIdba8Ua8WN:tUdbaec8KfgLIdbhUaQa8Za8UMUdbaLaUa8Ua8Wa8WNa8Xa8XNa80a80NMMNMUdbkaAclfhAaHcxfhHaec8SfhealaOcefgO9hmbkkdnadTmbcbhXabhKinabaXcdtfhLcbhHina5aLaHc:G1jjbfydbcdtfydbgOfRbbhedndna5aKaHfydbgAfRbbgQc99fcFeGcpe0mbaec99fcFeGc;:e6mekdnaQcufcFeGce0mba8EaAcdtfydbaO9hmekdnaecufcFeGce0mba8FaOcdtfydbaA9hmekJbbacJbbacJbbbZaecFeGceSEaQcFeGceSEh88aaaOcx2fgeIdwaaaAcx2fgQIdwgB:tg80:mh86aeIdlaQIdlg83:tg8Z:mh89aeIdbaQIdbgR:tgU:mh8:dnaaaLaHc:K1jjbfydbcdtfydbcx2fgeIdwaB:tg8Va80a80NaUaUNa8Za8ZNMMg8YNa8Va80NaeIdbaR:tg81aUNa8ZaeIdla83:tg85NMMg8Wa80N:tg8Xa8XNa81a8YNa8WaUN:tg8Ua8UNa85a8YNa8Wa8ZN:tg8Wa8WNMM:rg87Jbbbb9ETmba8Xa87:vh8Xa8Wa87:vh8Wa8Ua87:vh8Uka88a8Y:rNg8Ya8XaBNa8UaRNa83a8WNMM:mgZNg87aZNhZa8Xa87Nhna8Wa87Nhca8Ua87Nh9ca8Ya8XNg87a8WNhJa87a8UNh9ea8Ya8WNgTa8UNhSa8Xa87Nh87a8WaTNhTa8Ua8Ya8UNNh9hdnaUa85Na81a89NMg8Xa8XNa8Za8VNa85a86NMg8Ua8UNa80a81Na8Va8:NMg8Wa8WNMM:rg80Jbbbb9ETmba8Xa80:vh8Xa8Wa80:vh8Wa8Ua80:vh8UkayaCaAcdtfydbc8S2fgeaeIdba9ha8Ua88a80:rNg80a8UNNMgUMUdbaeaTa8Wa80a8WNg8VNMg81aeIdlMUdlaea87a8Xa80a8XNg8ZNMg85aeIdwMUdwaeaSa8Va8UNMg8VaeIdxMUdxaea9ea8Za8UNMg87aeIdzMUdzaeaJa8Za8WNMg8ZaeIdCMUdCaea9ca8Ua80a8XaBNa8UaRNa83a8WNMMgB:mNg80NMg8UaeIdKMUdKaeaca8Wa80NMg8WaeId3MUd3aeana8Xa80NMg8XaeIdaMUdaaeaZaBa80N:tg80aeId8KMUd8Kaea8YJbbbbMg8YaeIdyMUdyayaCaOcdtfydbc8S2fgeaUaeIdbMUdbaea81aeIdlMUdlaea85aeIdwMUdwaea8VaeIdxMUdxaea87aeIdzMUdzaea8ZaeIdCMUdCaea8UaeIdKMUdKaea8WaeId3MUd3aea8XaeIdaMUdaaea80aeId8KMUd8Kaea8YaeIdyMUdykaHclfgHcx9hmbkaKcxfhKaXcifgXad6mbka8LTmbcbhKinJbbbbh8YaaabaKcdtfgeclfydbgXcx2fgHIdwaaaeydbg8Kcx2fgOIdwg81:tg8Wa8WNaHIdbaOIdbg85:tg8Xa8XNaHIdlaOIdlg87:tg80a80NMMgRaaaecwfydbghcx2fgeIdwa81:tg8ZNa8Wa8Wa8ZNa8XaeIdba85:tgUNa80aeIdla87:tgBNMMg8UN:tJbbbbJbbjZaRa8Za8ZNaUaUNaBaBNMMg8VNa8Ua8UN:tg83:va83Jbbbb9BEg83Nh89a8Va8WNa8Za8UN:ta83Nh8:aRaBNa80a8UN:ta83NhZa8Va80NaBa8UN:ta83NhnaRaUNa8Xa8UN:ta83Nhca8Va8XNaUa8UN:ta83Nh9ca8XaBNaUa80N:tg8Ua8UNa80a8ZNaBa8WN:tg8Ua8UNa8WaUNa8Za8XN:tg8Ua8UNMM:rJbbbZNh8Ua8Sa8Ka8L2ggcdtfhHa8Saha8L2gEcdtfhOa8SaXa8L2g8JcdtfhAa81:mhJa87:mh9ea85:mhTcbhQa8LhLJbbbbhBJbbbbh83JbbbbhRJbbbbh8VJbbbbh81Jbbbbh85Jbbbbh87Jbbbbh88Jbbbbh86inascjdfaQfgecwfa8Ua8:aAIdbaHIdbg8Z:tg80Na89aOIdba8Z:tgUNMg8WNUdbaeclfa8Uana80NaZaUNMg8XNUdbaea8Ua9ca80NacaUNMg80NUdbaecxfa8UaJa8WNa9ea8XNa8ZaTa80NMMMg8ZNUdba8Ua8Wa8XNNa8VMh8Va8Ua8Wa80NNa81Mh81a8Ua8Xa80NNa85Mh85a8Ua8Za8ZNNa8YMh8Ya8Ua8Wa8ZNNaBMhBa8Ua8Xa8ZNNa83Mh83a8Ua80a8ZNNaRMhRa8Ua8Wa8WNNa87Mh87a8Ua8Xa8XNNa88Mh88a8Ua80a80NNa86Mh86aHclfhHaAclfhAaOclfhOaQczfhQaLcufgLmbka8Na8Kc8S2fgea86aeIdbMUdbaea88aeIdlMUdlaea87aeIdwMUdwaea85aeIdxMUdxaea81aeIdzMUdzaea8VaeIdCMUdCaeaRaeIdKMUdKaea83aeId3MUd3aeaBaeIdaMUdaaea8YaeId8KMUd8Kaea8UaeIdyMUdya8NaXc8S2fgea86aeIdbMUdbaea88aeIdlMUdlaea87aeIdwMUdwaea85aeIdxMUdxaea81aeIdzMUdzaea8VaeIdCMUdCaeaRaeIdKMUdKaea83aeId3MUd3aeaBaeIdaMUdaaea8YaeId8KMUd8Kaea8UaeIdyMUdya8Nahc8S2fgea86aeIdbMUdbaea88aeIdlMUdlaea87aeIdwMUdwaea85aeIdxMUdxaea81aeIdzMUdzaea8VaeIdCMUdCaeaRaeIdKMUdKaea83aeId3MUd3aeaBaeIdaMUdaaea8YaeId8KMUd8Kaea8UaeIdyMUdyaqagcltfhLcbhHa8LhAinaLaHfgeascjdfaHfgOIdbaeIdbMUdbaeclfgQaOclfIdbaQIdbMUdbaecwfgQaOcwfIdbaQIdbMUdbaecxfgeaOcxfIdbaeIdbMUdbaHczfhHaAcufgAmbkaqa8JcltfhLcbhHa8LhAinaLaHfgeascjdfaHfgOIdbaeIdbMUdbaeclfgQaOclfIdbaQIdbMUdbaecwfgQaOcwfIdbaQIdbMUdbaecxfgeaOcxfIdbaeIdbMUdbaHczfhHaAcufgAmbkaqaEcltfhLcbhHa8LhAinaLaHfgeascjdfaHfgOIdbaeIdbMUdbaeclfgQaOclfIdbaQIdbMUdbaecwfgQaOcwfIdbaQIdbMUdbaecxfgeaOcxfIdbaeIdbMUdbaHczfhHaAcufgAmbkaKcifgKad6mbkkcbhOdndnamcwGg9imbJbbbbh85cbh6cbh9kcbh0xekcbh6a3cbyd1:jjjbHjjjjbbh0asc:Cefasyd;8egecdtfa0BdbasaecefBd;8ecua0alabadaCz:fjjjbgAcltaAcjjjjiGEcbyd1:jjjbHjjjjbbh9kasc:Cefasyd;8egecdtfa9kBdbasaecefBd;8ea9kaAa0aaalz:gjjjbJFFuuh85aATmba9kheaAhHinaeIdbg8Ua85a85a8U9EEh85aeclfheaHcufgHmbkaAh6kasydNeh9mdnalTmba9mclfhea9mydbhAa5hHalhQcbhOincbaeydbgLaA9RaHRbbcpeGEaOfhOaHcefhHaeclfheaLhAaQcufgQmbkaOce4hOkcuadaO9Rcifg9ncx2a9nc;v:Q;v:Qe0Ecbyd1:jjjbHjjjjbbh8Pasc:Cefasyd;8egecdtfa8PBdbasaecefBd;8ecua9ncdta9ncFFFFi0Ecbyd1:jjjbHjjjjbbh9oasc:Cefasyd;8egecdtfa9oBdbasaecefBd;8ea3cbyd1:jjjbHjjjjbbhDasc:Cefasyd;8egecdtfaDBdbasaecefBd;8ealcbyd1:jjjbHjjjjbbh9pasc:Cefasyd;8egecdtfa9pBdbasaecefBd;8eaxaxNa8RJbbjZamclGEgnanN:vh88Jbbbbh86dnadak9nmbdna9nci6mbasyd:yeh9qa8Lclth9ra8Pcwfh9sJbbbbh87Jbbbbh86inascNefabadalaCz:cjjjbabh8Kcbh8Mcbh3inaba3cdtfhgcbheindnaCa8KaefydbgOcdtgXfydbgAaCagaec:W1jjbfydbcdtfydbgHcdtghfydbgQSmba5aHfRbbgKcv2a5aOfRbbgLfc;a1jjbfRbbg8JaLcv2aKfgEc;a1jjbfRbbg8AVcFeGTmbdnaQaA9nmbaEc;G1jjbfRbbcFeGmekdnaLcufcFeGce0mbaKTmba8EaXfydbaH9hmekdnaLTmbaKcufcFeGce0mba8FahfydbaO9hmeka8Pa8Mcx2fgAaHaOa8AcFeGgQEBdlaAaOaHaQEBdbaAaQa8JGcb9hBdwa8Mcefh8Mkaeclfgecx9hmbkdna3cifg3ad9pmba8Kcxfh8Ka8Mcifa9n9nmekka8MTmdcbhhinayaCa8Pahcx2fgKydbgQcdtgAfydbc8S2fgeIdwaaaKydlgLcx2fgHIdwg8XNaeIdzaHIdbg80NaeIdaMg8Ua8UMMa8XNaeIdlaHIdlg8ZNaeIdCa8XNaeId3Mg8Ua8UMMa8ZNaeIdba80NaeIdxa8ZNaeIdKMg8Ua8UMMa80NaeId8KMMM:lh8UJbbbbJbbjZaeIdyg8W:va8WJbbbb9BEh8WdndnaKydwg8KmbJFFuuh81xekJbbbbJbbjZayaCaLcdtfydbc8S2fgeIdygU:vaUJbbbb9BEaeIdwaaaQcx2fgHIdwgUNaeIdzaHIdbg8YNaeIdaMgBaBMMaUNaeIdlaHIdlgBNaeIdCaUNaeId3MgUaUMMaBNaeIdba8YNaeIdxaBNaeIdKMgUaUMMa8YNaeId8KMMM:lNh81ka8Wa8UNh8Vdna8LTmba8NaQc8S2fgHIdwa8XNaHIdza80NaHIdaMg8Ua8UMMa8XNaHIdla8ZNaHIdCa8XNaHId3Mg8Ua8UMMa8ZNaHIdba80NaHIdxa8ZNaHIdKMg8Ua8UMMa80NaHId8KMMMh8UaqaQa8L2ggcltfheaHIdyhUa8SaLa8L2gEcdtfgXhHa8LhOinaHIdbg8Wa8WaUNaecxfIdba8XaecwfIdbNa80aeIdbNa8ZaeclfIdbNMMMg8Wa8WM:tNa8UMh8UaHclfhHaeczfheaOcufgOmbkdndna8KmbJbbbbh8Wxeka8NaLc8S2fgOIdwaaaQcx2fgeIdwg8YNaOIdzaeIdbgBNaOIdaMg8Wa8WMMa8YNaOIdlaeIdlg83NaOIdCa8YNaOId3Mg8Wa8WMMa83NaOIdbaBNaOIdxa83NaOIdKMg8Wa8WMMaBNaOId8KMMMh8Wa8SagcdtfhHaqaEcltfheaOIdyhRa8LhOinaHIdbgUaUaRNaecxfIdba8YaecwfIdbNaBaeIdbNa83aeclfIdbNMMMgUaUM:tNa8WMh8WaHclfhHaeczfheaOcufgOmbka8W:lh8Wka8Va8U:lMh8Va81a8WMh81dndndna5aQfRbbc9:fPdbedkdna8Fa8Ea8EaAfydbaLSEaYaAfydbgXcdtfydbgAcu9hmbaYaLcdtfydbhAka8NaXc8S2fgOIdwaaaAcx2fgeIdwg8XNaOIdzaeIdbg80NaOIdaMg8Ua8UMMa8XNaOIdlaeIdlg8ZNaOIdCa8XNaOId3Mg8Ua8UMMa8ZNaOIdba80NaOIdxa8ZNaOIdKMg8Ua8UMMa80NaOId8KMMMh8Ua8SaAa8L2ggcdtfhHaqaXa8L2gEcltfheaOIdyhUa8LhOinaHIdbg8Wa8WaUNaecxfIdba8XaecwfIdbNa80aeIdbNa8ZaeclfIdbNMMMg8Wa8WM:tNa8UMh8UaHclfhHaeczfheaOcufgOmbkdndna8KmbJbbbbh8Wxeka8NaAc8S2fgOIdwaaaXcx2fgeIdwg80NaOIdzaeIdbg8ZNaOIdaMg8Wa8WMMa80NaOIdlaeIdlgUNaOIdCa80NaOId3Mg8Wa8WMMaUNaOIdba8ZNaOIdxaUNaOIdKMg8Wa8WMMa8ZNaOId8KMMMh8Wa8SaEcdtfhHaqagcltfheaOIdyh8Ya8LhOinaHIdbg8Xa8Xa8YNaecxfIdba80aecwfIdbNa8ZaeIdbNaUaeclfIdbNMMMg8Xa8XM:tNa8WMh8WaHclfhHaeczfheaOcufgOmbka8W:lh8Wka8Va8U:lMh8Va81a8WMh81xdkaYaAfydbgAaQSmbina8NaAc8S2fgHIdwa8XNaHIdza80NaHIdaMg8Ua8UMMa8XNaHIdla8ZNaHIdCa8XNaHId3Mg8Ua8UMMa8ZNaHIdba80NaHIdxa8ZNaHIdKMg8Ua8UMMa80NaHId8KMMMh8UaqaAa8L2cltfheaHIdyhUaXhHa8LhOinaHIdbg8Wa8WaUNaecxfIdba8XaecwfIdbNa80aeIdbNa8ZaeclfIdbNMMMg8Wa8WM:tNa8UMh8UaHclfhHaeczfheaOcufgOmbka8Va8U:lMh8VaYaAcdtfydbgAaQ9hmbkka5aLfRbbci9hmba8KTmbaYaLcdtfydbgAaLSmba8SagcdtfhXaaaQcx2fgeIdbh8XaeIdwh80aeIdlh8Zina8NaAc8S2fgHIdwa80NaHIdza8XNaHIdaMg8Ua8UMMa80NaHIdla8ZNaHIdCa80NaHId3Mg8Ua8UMMa8ZNaHIdba8XNaHIdxa8ZNaHIdKMg8Ua8UMMa8XNaHId8KMMMh8UaqaAa8L2cltfheaHIdyhUaXhHa8LhOinaHIdbg8Wa8WaUNaecxfIdba80aecwfIdbNa8XaeIdbNa8ZaeclfIdbNMMMg8Wa8WM:tNa8UMh8UaHclfhHaeczfheaOcufgOmbka81a8U:lMh81aYaAcdtfydbgAaL9hmbkkaKa81a8Va81a8V9DgeEUdwaKaQaLaea8Kcb9hGgeEBdlaKaLaQaeEBdbahcefgha8M9hmbkascjdfcbcj;qbz:rjjjb8Aa9shea8MhHinascjdfaeydbcA4cF8FGgOcFAaOcFA6EcdtfgOaOydbcefBdbaecxfheaHcufgHmbkcbhecbhHinascjdfaefgOydbhAaOaHBdbaAaHfhHaeclfgecj;qb9hmbkcbhea9shHinascjdfaHydbcA4cF8FGgOcFAaOcFA6EcdtfgOaOydbgOcefBdba9oaOcdtfaeBdbaHcxfhHa8Maecefge9hmbkadak9RgOci9Uh9tdnalTmbcbheaDhHinaHaeBdbaHclfhHalaecefge9hmbkkcbh9ua9pcbalz:rjjjbh3aOcO9Uh9va9tce4h9wcbh8Acbh8Jdnina8Pa9oa8Jcdtfydbcx2fgEIdwg8Ua889Emea8Aa9t9pmeJFFuuh8Wdna9wa8M9pmba8Pa9oa9wcdtfydbcx2fIdwJbb;aZNh8Wkdna8Ua8W9ETmba8Ua869ETmba8Aa9v0mdkdna3aCaEydlghcdtg9xfydbgAfg9yRbba3aCaEydbg8Kcdtg9zfydbgefg9ARbbVmba5a8KfRbbh9Bdna9maecdtfgHclfydbgOaHydbgHSmbaOaH9RhQaaaAcx2fhKaaaecx2fhXa9qaHcitfhecbhHcehgdnindnaDaeydbcdtfydbgOaASmbaDaeclfydbcdtfydbgLaASmbaOaLSmbaaaLcx2fgLIdbaaaOcx2fgOIdbg8X:tg8UaXIdlaOIdlg80:tg8YNaXIdba8X:tgBaLIdla80:tg8WN:tg8Za8UaKIdla80:tg83NaKIdba8X:tgRa8WN:tg80Na8WaXIdwaOIdwgU:tg8VNa8YaLIdwaU:tg8XN:tg8Ya8WaKIdwaU:tg81Na83a8XN:tg8WNa8XaBNa8Va8UN:tgUa8XaRNa81a8UN:tg8UNMMa8Za8ZNa8Ya8YNaUaUNMMa80a80Na8Wa8WNa8Ua8UNMMN:rJbbj8:N9FmdkaecwfheaHcefgHaQ6hgaQaH9hmbkkagceGTmba9wcefh9wxekdndndndna9Bc9:fPdebdka8KheinaDaecdtgefahBdbaYaefydbgea8K9hmbxikkdna8Fa8Ea8Ea9zfydbahSEaYa9zfydbg8Kcdtfydbgecu9hmbaYa9xfydbhekaDa9zfahBdbaehhkaDa8KcdtfahBdbka9Ace86bba9yce86bbaEIdwg8Ua86a86a8U9DEh86a9ucefh9ucecda9BceSEa8Afh8Aka8Jcefg8Ja8M9hmbkka9uTmddnalTmbcbhLcbhXindnaDaXcdtgefydbgOaXSmbaCaOcdtfydbh8KdnaXaCaefydb9hghmbaya8Kc8S2fgeayaXc8S2fgHIdbaeIdbMUdbaeaHIdlaeIdlMUdlaeaHIdwaeIdwMUdwaeaHIdxaeIdxMUdxaeaHIdzaeIdzMUdzaeaHIdCaeIdCMUdCaeaHIdKaeIdKMUdKaeaHId3aeId3MUd3aeaHIdaaeIdaMUdaaeaHId8KaeId8KMUd8KaeaHIdyaeIdyMUdyaITmbaIa8KcltfgeaIaXcltfgHIdbaeIdbMUdbaeaHIdlaeIdlMUdlaeaHIdwaeIdwMUdwaeaHIdxaeIdxMUdxka8LTmba8NaOc8S2fgea8NaXc8S2ggfgHIdbaeIdbMUdbaeaHIdlaeIdlMUdlaeaHIdwaeIdwMUdwaeaHIdxaeIdxMUdxaeaHIdzaeIdzMUdzaeaHIdCaeIdCMUdCaeaHIdKaeIdKMUdKaeaHId3aeId3MUd3aeaHIdaaeIdaMUdaaeaHId8KaeId8KMUd8KaeaHIdyaeIdyMUdya9raO2hKaqhHa8LhAinaHaKfgeaHaLfgOIdbaeIdbMUdbaeclfgQaOclfIdbaQIdbMUdbaecwfgQaOcwfIdbaQIdbMUdbaecxfgeaOcxfIdbaeIdbMUdbaHczfhHaAcufgAmbkahmbJbbbbJbbjZayagfgeIdyg8U:va8UJbbbb9BEaeIdwaaa8Kcx2fgHIdwg8UNaeIdzaHIdbg8WNaeIdaMg8Xa8XMMa8UNaeIdlaHIdlg8XNaeIdCa8UNaeId3Mg8Ua8UMMa8XNaeIdba8WNaeIdxa8XNaeIdKMg8Ua8UMMa8WNaeId8KMMM:lNg8Ua87a87a8U9DEh87kaLa9rfhLaXcefgXal9hmbkcbhHa8EheindnaeydbgOcuSmbdnaHaDaOcdtgAfydbgO9hmbcuhOa8EaAfydbgAcuSmbaDaAcdtfydbhOkaeaOBdbkaeclfhealaHcefgH9hmbkcbhHa8FheindnaeydbgOcuSmbdnaHaDaOcdtgAfydbgO9hmbcuhOa8FaAfydbgAcuSmbaDaAcdtfydbhOkaeaOBdbkaeclfhealaHcefgH9hmbkka87a86a8LEh87cbhHabhecbhOindnaCaDaeydbcdtfydbgLcdtfydbgAaCaDaeclfydbcdtfydbgKcdtfydbgQSmbaAaCaDaecwfydbcdtfydbg8KcdtfydbgXSmbaQaXSmbabaHcdtfgAaLBdbaAcwfa8KBdbaAclfaKBdbaHcifhHkaecxfheaOcifgOad6mbkdndna9imbaHhdxekdnaHak0mbaHhdxekdna85a879FmbaHhdxekJFFuuh85cbhdabhecbhOindna9ka0aeydbgAcdtfydbcdtfIdbg8Ua879ETmbaeclf8Pdbh9CabadcdtfgQaABdbaQclfa9C83dba8Ua85a85a8U9EEh85adcifhdkaecxfheaOcifgOaH6mbkkadak0mbxdkkascNefabadalaCz:cjjjbkdndnadak0mbadhOxekdna9imbadhOxekdna85a889FmbadhOxekcehLina85Jbb;aZNg8Ua88a8Ua889DEh8XJbbbbh8Udna6Tmba9khea6hHinaeIdbg8Wa8Ua8Wa8X9FEa8Ua8Wa8U9EEh8UaeclfheaHcufgHmbkkJFFuuh85cbhOabhecbhHindna9ka0aeydbgAcdtfydbcdtfIdbg8Wa8X9ETmbaeclf8Pdbh9CabaOcdtfgQaABdbaQclfa9C83dba8Wa85a85a8W9EEh85aOcifhOkaecxfheaHcifgHad6mbkdnaLaOad9hVceGmbadhOxdka8Ua86a86a8U9DEh86aOak9nmecbhLaOhda85a889FmbkkdnamcjjjjdGTmba9pcbalz:rjjjbhLdnaOTmbabheaOhHinaLaeydbgAfa5aAfRbbcl9h86bbaeclfheaHcufgHmbkkascNefabaOalaCz:cjjjbalTmbcbhQasyd:yehgindnaLaQfRbbTmbdna5aQfRbbgecl0mbceaetcQGmekdnaCaQcdtgKfydbgeaQSmbaaaQcx2fgHaaaecx2fge8Pdb83dbaHcwfaecwfydbBdbxekayaQc8S2fgeIdyg8Ua8UJL:3;rUNg8UMh88aeIdwa8UMhRaeIdla8UMh8VaeIdba8UMhUaeIdaa8UaaaQcx2fg8KIdwg89N:th81aeId3a8Ua8KIdlg8:N:th85aeIdKa8KIdbgZa8UN:th8YJbbbbhcaeIdCJbbbbMh87aeIdzJbbbbMhBaeIdxJbbbbMh83dndna8LTmbaQhAinJbbbba88a8NaAc8S2fgHIdyg8U:va8UJbbbb9BEh8UaqaAa8L2cltfheaHIdaa88Na81Mh81aHId3a88Na85Mh85aHIdKa88Na8YMh8YaHIdCa88Na87Mh87aHIdza88NaBMhBaHIdxa88Na83Mh83aHIdwa88NaRMhRaHIdla88Na8VMh8VaHIdba88NaUMhUa8LhHina81aecxfIdbg8ZaecwfIdbg8WNa8UN:th81a85a8ZaeclfIdbg8XNa8UN:th85a87a8Wa8XNa8UN:th87aUaeIdbg80a80Na8UN:thUa8Ya8Za80Na8UN:th8YaBa8Wa80Na8UN:thBa83a8Xa80Na8UN:th83aRa8Wa8WNa8UN:thRa8Va8Xa8XNa8UN:th8VaeczfheaHcufgHmbkaYaAcdtfydbgAaQ9hmbkaITmbaIaQcltfgeIdxhTaeIdwh9caeIdlhJaeIdbh8UxekJbbbbhTJbbbbh9cJbbbbhJJbbbbh8UkaBaU:vg8Xa8YNa81:ta87aBa83aU:vg8WN:tg81a8Va83a8WN:tg8Z:vg80a8Wa8YNa85:tg8VN:th85a9ca8Ua8XN:taJa8Ua8WN:tg83a80N:tg87aRaBa8XN:ta81a80N:tgB:vgR:mh81a83a8Z:vg9c:mhJdnJbbbba8Ua8UaU:vg9eN:ta83a9cN:ta87aRN:tg83:la88J:983:g81Ng8U9ETmba81a85NaJa8VNa9ea8YNaT:tMMa83:vhckaU:la8U9ETmba8Z:la8U9ETmbaB:la8U9ETmba9e:macNa8X:ma81acNa85aB:vMg85Na8W:maJacNa80:ma85Na8Va8Z:vMMg87Na8Y:maU:vMMMh88a9maKfgeclfydbgHaeydbge9RhXagaecitfhKJbbbbh8UdnaHaeSghmbJbbbbh8UaKheaXhAinaaaeclfydbcx2fgHIdwa89:tg8Wa8WNaHIdbaZ:tg8Wa8WNaHIdla8::tg8Wa8WNMMg8Waaaeydbcx2fgHIdwa89:tg8Xa8XNaHIdbaZ:tg8Xa8XNaHIdla8::tg8Xa8XNMMg8Xa8Ua8Ua8X9DEg8Ua8Ua8W9DEh8UaecwfheaAcufgAmbkka85a89:tg8Wa8WNa88aZ:tg8Wa8WNa87a8::tg8Wa8WNMMa8U:rg8Ua8UN9EmbdnahmbcbhAcehhdninaaaKclfydbcx2fgeIdbaaaKydbcx2fgHIdbg8X:tg8Ua8:aHIdlg80:tg8YNaZa8X:tgBaeIdla80:tg8WN:tg8Za8Ua87a80:tg83Na88a8X:tgRa8WN:tg80Na8Wa89aHIdwgU:tg8VNa8YaeIdwaU:tg8XN:tg8Ya8Wa85aU:tg81Na83a8XN:tg8WNa8XaBNa8Va8UN:tgUa8XaRNa81a8UN:tg8UNMMa8Za8ZNa8Ya8YNaUaUNMMa80a80Na8Wa8WNa8Ua8UNMMN:rJbbj8:N9FmeaKcwfhKaAcefgAaX6hhaXaA9hmbkkahceGmeka8Ka85Udwa8Ka87Udla8Ka88UdbkaQcefgQal9hmbkdndna8LTmba8LclthYa8Lcdth8KcbhKa8ShXindnaLaKfRbbTmba5aKfRbbclSmbJbbbbJbbjZa8NaKc8S2fIdyg8U:va8UJbbbb9BEh8UaaaCaKcdtfydbcx2fhHaqheaXhAa8LhQinaAa8UaecwfIdbaHIdwNaeIdbaHIdbNaeclfIdbaHIdlNMMaecxfIdbMNUdbaeczfheaAclfhAaQcufgQmbkkaqaYfhqaXa8KfhXaKcefgKal9hmbkarcd4hXavcd4hYasId:qeh8UasId:meh8WasId1eh8XazTmea8Lcdth8KcbhKindnaLaKfRbbTmbaiazaKcdtfydbgCaY2cdtfgeaaaKcx2fgHIdba8RNa8XMUdbaeaHIdla8RNa8WMUdlaeaHIdwa8RNa8UMUdwaoaCaX2cdtfhQashea8ShHa8LhCinaQaeydbcdtgAfaHIdbawaAfIdb:vUdbaeclfheaHclfhHaCcufgCmbkka8Sa8Kfh8SaKcefgKal9hmbxikkavcd4hCasId:qeh8UasId:meh8WasId1eh8XdnazTmbazheindna9pRbbTmbaiaeydbaC2cdtfgHaaIdba8RNa8XMUdbaHaaclfIdba8RNa8WMUdlaHaacwfIdba8RNa8UMUdwka9pcefh9paeclfheaacxfhaalcufglmbxikkaCcdtheindna9pRbbTmbaiaaIdba8RNa8XMUdbaiclfaaclfIdba8RNa8WMUdbaicwfaacwfIdba8RNa8UMUdbka9pcefh9paacxfhaaiaefhialcufglmbxdkka8Lcdth8KcbhKindnaLaKfRbbTmbaiaKaY2cdtfgeaaaKcx2fgHIdba8RNa8XMUdbaeaHIdla8RNa8WMUdlaeaHIdwa8RNa8UMUdwaoaKaX2cdtfhQashea8ShHa8LhCinaQaeydbcdtgAfaHIdbawaAfIdb:vUdbaeclfheaHclfhHaCcufgCmbkka8Sa8Kfh8SaKcefgKal9hmbkkdnamcjjjjlGTmbazmbaOTmbcbhLabheina5aeydbgAfRbbc3thKaecwfgXydbhHdndna8EaAcdtg8KfydbaeclfgYydbgCSmbcbhQa8FaCcdtfydbaA9hmekcjjjj94hQkaeaKaQVaAVBdba5aCfRbbc3thKdndna8EaCcdtfydbaHSmbcbhQa8FaHcdtfydbaC9hmekcjjjj94hQkaYaKaQVaCVBdba5aHfRbbc3thQdndna8EaHcdtfydbaASmbcbhCa8Fa8KfydbaH9hmekcjjjj94hCkaXaQaCVaHVBdbaecxfheaLcifgLaO6mbkkdnazTmbaOTmbaOheinabazabydbcdtfydbBdbabclfhbaecufgembkkdnaPTmbaPana86:rNUdbkasyd;8egecdtasc:Ceffc98fhHdninaeTmeaHydbcbyd:m:jjjbH:bjjjbbaHc98fhHaecufhexbkkascj;sbf8KjjjjbaOk;Yieouabydlhvabydbclfcbaicdtz:rjjjbhoadci9UhrdnadTmbdnalTmbaehwadhDinaoalawydbcdtfydbcdtfgqaqydbcefBdbawclfhwaDcufgDmbxdkkaehwadhDinaoawydbcdtfgqaqydbcefBdbawclfhwaDcufgDmbkkdnaiTmbcbhDaohwinawydbhqawaDBdbawclfhwaqaDfhDaicufgimbkkdnadci6mbinaecwfydbhwaeclfydbhDaeydbhidnalTmbalawcdtfydbhwalaDcdtfydbhDalaicdtfydbhikavaoaicdtfgqydbcitfaDBdbavaqydbcitfawBdlaqaqydbcefBdbavaoaDcdtfgqydbcitfawBdbavaqydbcitfaiBdlaqaqydbcefBdbavaoawcdtfgwydbcitfaiBdbavawydbcitfaDBdlawawydbcefBdbaecxfhearcufgrmbkkabydbcbBdbk:todDue99aicd4aifhrcehwinawgDcethwaDar6mbkcuaDcdtgraDcFFFFi0Ecbyd1:jjjbHjjjjbbhwaoaoyd9GgqcefBd9GaoaqcdtfawBdbawcFearz:rjjjbhkdnaiTmbalcd4hlaDcufhxcbhminamhDdnavTmbavamcdtfydbhDkcbadaDal2cdtfgDydlgwawcjjjj94SEgwcH4aw7c:F:b:DD2cbaDydbgwawcjjjj94SEgwcH4aw7c;D;O:B8J27cbaDydwgDaDcjjjj94SEgDcH4aD7c:3F;N8N27axGhwamcdthPdndndnavTmbakawcdtfgrydbgDcuSmeadavaPfydbal2cdtfgsIdbhzcehqinaqhrdnadavaDcdtfydbal2cdtfgqIdbaz9CmbaqIdlasIdl9CmbaqIdwasIdw9BmlkarcefhqakawarfaxGgwcdtfgrydbgDcu9hmbxdkkakawcdtfgrydbgDcuSmbadamal2cdtfgsIdbhzcehqinaqhrdnadaDal2cdtfgqIdbaz9CmbaqIdlasIdl9CmbaqIdwasIdw9BmikarcefhqakawarfaxGgwcdtfgrydbgDcu9hmbkkaramBdbamhDkabaPfaDBdbamcefgmai9hmbkkakcbyd:m:jjjbH:bjjjbbaoaoyd9GcufBd9GdnaeTmbaiTmbcbhDaehwinawaDBdbawclfhwaiaDcefgD9hmbkcbhDaehwindnaDabydbgrSmbawaearcdtfgrydbBdbaraDBdbkawclfhwabclfhbaiaDcefgD9hmbkkk:hrdvuv998Jjjjjbca9Rgoczfcwfcbyd11jjbBdbaocb8Pdj1jjb83izaocwfcbydN1jjbBdbaocb8Pd:m1jjb83ibdnadTmbaicd4hrdnabmbdnalTmbcbhwinaealawcdtfydbar2cdtfhDcbhiinaoczfaifgqaDaifIdbgkaqIdbgxaxak9EEUdbaoaifgqakaqIdbgxaxak9DEUdbaiclfgicx9hmbkawcefgwad9hmbxikkarcdthwcbhDincbhiinaoczfaifgqaeaifIdbgkaqIdbgxaxak9EEUdbaoaifgqakaqIdbgxaxak9DEUdbaiclfgicx9hmbkaeawfheaDcefgDad9hmbxdkkdnalTmbcbhwinabawcx2fgiaealawcdtfydbar2cdtfgDIdbUdbaiaDIdlUdlaiaDIdwUdwcbhiinaoczfaifgqaDaifIdbgkaqIdbgxaxak9EEUdbaoaifgqakaqIdbgxaxak9DEUdbaiclfgicx9hmbkawcefgwad9hmbxdkkarcdthlcbhwaehDinabawcx2fgiaeawar2cdtfgqIdbUdbaiaqIdlUdlaiaqIdwUdwcbhiinaoczfaifgqaDaifIdbgkaqIdbgxaxak9EEUdbaoaifgqakaqIdbgxaxak9DEUdbaiclfgicx9hmbkaDalfhDawcefgwad9hmbkkJbbbbaoIdbaoIdzgx:tgkakJbbbb9DEgkaoIdlaoIdCgm:tgPaPak9DEgkaoIdwaoIdKgP:tgsasak9DEhsdnabTmbadTmbJbbbbJbbjZas:vasJbbbb9BEhkinabakabIdbax:tNUdbabclfgoakaoIdbam:tNUdbabcwfgoakaoIdbaP:tNUdbabcxfhbadcufgdmbkkdnavTmbavaPUdwavamUdlavaxUdbkask:ZlewudnaeTmbcbhvabhoinaoavBdbaoclfhoaeavcefgv9hmbkkdnaiTmbcbhrinadarcdtfhwcbhDinalawaDcdtgvc:G1jjbfydbcdtfydbcdtfydbhodnabalawavfydbcdtfydbgqcdtfgkydbgvaqSmbinakabavgqcdtfgxydbgvBdbaxhkaqav9hmbkkdnabaocdtfgkydbgvaoSmbinakabavgocdtfgxydbgvBdbaxhkaoav9hmbkkdnaqaoSmbabaqaoaqao0Ecdtfaqaoaqao6EBdbkaDcefgDci9hmbkarcifgrai6mbkkdnaembcbskcbhxindnalaxcdtgvfydbax9hmbaxhodnabavfgDydbgvaxSmbaDhqinaqabavgocdtfgkydbgvBdbakhqaoav9hmbkkaDaoBdbkaxcefgxae9hmbkcbhvabhocbhkindndnavalydbgq9hmbdnavaoydbgq9hmbaoakBdbakcefhkxdkaoabaqcdtfydbBdbxekaoabaqcdtfydbBdbkaoclfhoalclfhlaeavcefgv9hmbkakk;Jiilud99duabcbaecltz:rjjjbhvdnalTmbadhoaihralhwinarcwfIdbhDarclfIdbhqavaoydbcltfgkarIdbakIdbMUdbakclfgxaqaxIdbMUdbakcwfgxaDaxIdbMUdbakcxfgkakIdbJbbjZMUdbaoclfhoarcxfhrawcufgwmbkkdnaeTmbavhraehkinarcxfgoIdbhDaocbBdbararIdbJbbbbJbbjZaD:vaDJbbbb9BEgDNUdbarclfgoaDaoIdbNUdbarcwfgoaDaoIdbNUdbarczfhrakcufgkmbkkdnalTmbinavadydbcltfgrcxfgkaicwfIdbarcwfIdb:tgDaDNaiIdbarIdb:tgDaDNaiclfIdbarclfIdb:tgDaDNMMgDakIdbgqaqaD9DEUdbadclfhdaicxfhialcufglmbkkdnaeTmbavcxfhrinabarIdbUdbarczfhrabclfhbaecufgembkkk8MbabaeadaialavcbcbcbcbcbaoarawaDz:bjjjbk8MbabaeadaialavaoarawaDaqakaxamaPz:bjjjbkRbababaeadaialavaoarawaDaqakaxcjjjjdVamz:bjjjbk:p8Koque99due99iuq998Jjjjjbc;Wb9Rgq8Kjjjjbcbhkaqcxfcbc;Kbz:rjjjb8Aaqcualcx2alc;v:Q;v:Qe0Ecbyd1:jjjbHjjjjbbgxBdxaqceBd2axaialavcbcbz:ejjjb8AaqcualcdtalcFFFFi0Egmcbyd1:jjjbHjjjjbbgiBdzaqcdBd2dndnJFF959eJbbjZawJbbjZawJbbjZ9DE:vawJ9VO:d869DEgw:lJbbb9p9DTmbaw:OhPxekcjjjj94hPkadci9Uhsarco9UhzdndnaombaPcd9imekdnalTmbaPcuf:YhwdnaoTmbcbhvaihHaxhOindndnaoavfRbbceGTmbavcjjjjlVhAxekdndnaOclfIdbawNJbbbZMgC:lJbbb9p9DTmbaC:OhAxekcjjjj94hAkaAcqthAdndnaOcwfIdbawNJbbbZMgC:lJbbb9p9DTmbaC:OhXxekcjjjj94hXkaAaXVhAdndnaOIdbawNJbbbZMgC:lJbbb9p9DTmbaC:OhXxekcjjjj94hXkaAaXcCtVhAkaHaABdbaHclfhHaOcxfhOalavcefgv9hmbxdkkaxhvaihOalhHindndnavIdbawNJbbbZMgC:lJbbb9p9DTmbaC:OhAxekcjjjj94hAkaAcCthAdndnavclfIdbawNJbbbZMgC:lJbbb9p9DTmbaC:OhXxekcjjjj94hXkaXcqtaAVhAdndnavcwfIdbawNJbbbZMgC:lJbbb9p9DTmbaC:OhXxekcjjjj94hXkaOaAaXVBdbavcxfhvaOclfhOaHcufgHmbkkadTmbcbhkaehvcbhOinakaiavclfydbcdtfydbgHaiavcwfydbcdtfydbgA9haiavydbcdtfydbgXaH9haXaA9hGGfhkavcxfhvaOcifgOad6mbkkarci9UhQdndnaz:Z:rJbbbZMgw:lJbbb9p9DTmbaw:Ohvxekcjjjj94hvkaQ:ZhLcbhKc:bwhHdndninashYaHhXaPhrakg8AaQ9pmeaXar9Rcd9imeavaXcufavaX9iEarcefavar9kEhzdnalTmbazcuf:YhwdnaoTmbcbhOaihPaxhvindndnaoaOfRbbceGTmbaOcjjjjlVhHxekdndnavclfIdbawNJbbbZMgC:lJbbb9p9DTmbaC:OhHxekcjjjj94hHkaHcqthHdndnavcwfIdbawNJbbbZMgC:lJbbb9p9DTmbaC:Ohsxekcjjjj94hskaHasVhHdndnavIdbawNJbbbZMgC:lJbbb9p9DTmbaC:Ohsxekcjjjj94hskaHascCtVhHkaPaHBdbaPclfhPavcxfhvalaOcefgO9hmbxdkkaxhvaihOalhPindndnavIdbawNJbbbZMgC:lJbbb9p9DTmbaC:OhHxekcjjjj94hHkaHcCthHdndnavclfIdbawNJbbbZMgC:lJbbb9p9DTmbaC:Ohsxekcjjjj94hskascqtaHVhHdndnavcwfIdbawNJbbbZMgC:lJbbb9p9DTmbaC:Ohsxekcjjjj94hskaOaHasVBdbavcxfhvaOclfhOaPcufgPmbkkcbhOdnadTmbaehvcbhPinaOaiavclfydbcdtfydbgHaiavcwfydbcdtfydbgs9haiavydbcdtfydbgAaH9haAas9hGGfhOavcxfhvaPcifgPad6mbkkaYhsaOhkaXhHazhPdnaOaQ9nmbaOhsa8AhkazhHarhPkdndnaKcl0mbdnaY:Zgwa8A:ZgC:taz:YgEar:Y:tg3aEaX:Y:tg5aO:Zg8EaL:tNNNawaL:ta5NaCa8E:tNaCaL:ta3Na8Eaw:tNM:vaEMJbbbZMgw:lJbbb9p9DTmbaw:Ohvxdkcjjjj94hvxekaPaHfcd9ThvkaKcefgKcs9hmbxdkka8AhkarhPkdndndnakmbJbbjZhwcbhicdhvaDmexdkalcd4alfhHcehOinaOgvcethOavaH6mbkcbhOaqcuavcdtgravcFFFFi0Ecbyd1:jjjbHjjjjbbgzBdCaqciBd2aqamcbyd1:jjjbHjjjjbbgXBdKaqclBd2dndndndnalTmbaPcuf:YhwaoTmecbhOaihHaxhPindndnaoaOfRbbceGTmbaOcjjjjlVhsxekdndnaPclfIdbawNJbbbZMgC:lJbbb9p9DTmbaC:Ohsxekcjjjj94hskascqthsdndnaPcwfIdbawNJbbbZMgC:lJbbb9p9DTmbaC:OhAxekcjjjj94hAkasaAVhsdndnaPIdbawNJbbbZMgC:lJbbb9p9DTmbaC:OhAxekcjjjj94hAkasaAcCtVhskaHasBdbaHclfhHaPcxfhPalaOcefgO9hmbxikkazcFearz:rjjjb8AcbhrcbhvxdkaxhOaihPalhHindndnaOIdbawNJbbbZMgC:lJbbb9p9DTmbaC:Ohsxekcjjjj94hskascCthsdndnaOclfIdbawNJbbbZMgC:lJbbb9p9DTmbaC:OhAxekcjjjj94hAkaAcqtasVhsdndnaOcwfIdbawNJbbbZMgC:lJbbb9p9DTmbaC:OhAxekcjjjj94hAkaPasaAVBdbaOcxfhOaPclfhPaHcufgHmbkkazcFearz:rjjjbhAavcufhocbhrcbhzindndndnaAaiazcdtgKfydbgHcm4aH7c:v;t;h;Ev2gvcs4av7aoGgPcdtfgsydbgOcuSmbcehvinaiaOcdtgOfydbaHSmdaPavfhOavcefhvaAaOaoGgPcdtfgsydbgOcu9hmbkkasazBdbarhvarcefhrxekaXaOfydbhvkaXaKfavBdbazcefgzal9hmbkcuarc8S2gOarc;D;O;f8U0EhvkcbhAaqavcbyd1:jjjbHjjjjbbgvBd3aqcvBd2avcbaOz:rjjjbhOdnadTmbaehiinJbbnnJbbjZaXaiydbgHcdtfydbgvaXaiclfydbgPcdtfydbgzSavaXaicwfydbgscdtfydbgKSGgoEh8FdnaxaPcx2fgPIdbaxaHcx2fgHIdbg8E:tgCaxascx2fgsIdlaHIdlg3:tgwNasIdba8E:tgEaPIdla3:tgaN:tgLaLNaaasIdwaHIdwg5:tghNawaPIdwa5:tgaN:tgwawNaaaENahaCN:tgCaCNMM:rgEJbbbb9ETmbaLaE:vhLaCaE:vhCawaE:vhwkaOavc8S2fgvavIdbawa8FaE:rNgEawNNgaMUdbavaCaEaCNghNggavIdlMUdlavaLaEaLNg8FNg8JavIdwMUdwavahawNghavIdxMUdxava8FawNg8KavIdzMUdzava8FaCNg8FavIdCMUdCavawaEaLa5Nawa8ENa3aCNMM:mg3Ng8ENgwavIdKMUdKavaCa8ENgCavId3MUd3avaLa8ENgLavIdaMUdaava8Ea3Ng8EavId8KMUd8KavaEavIdyMUdydnaombaOazc8S2fgvaaavIdbMUdbavagavIdlMUdlava8JavIdwMUdwavahavIdxMUdxava8KavIdzMUdzava8FavIdCMUdCavawavIdKMUdKavaCavId3MUd3avaLavIdaMUdaava8EavId8KMUd8KavaEavIdyMUdyaOaKc8S2fgvaaavIdbMUdbavagavIdlMUdlava8JavIdwMUdwavahavIdxMUdxava8KavIdzMUdzava8FavIdCMUdCavawavIdKMUdKavaCavId3MUd3avaLavIdaMUdaava8EavId8KMUd8KavaEavIdyMUdykaicxfhiaAcifgAad6mbkkcbhHaqcuarcdtgvarcFFFFi0Egicbyd1:jjjbHjjjjbbgPBdaaqcoBd2aqaicbyd1:jjjbHjjjjbbgiBd8KaqcrBd2aPcFeavz:rjjjbhzdnalTmbaXhPinJbbbbJbbjZaOaPydbgsc8S2fgvIdygw:vawJbbbb9BEavIdwaxcwfIdbgwNavIdzaxIdbgCNavIdaMgLaLMMawNavIdlaxclfIdbgLNavIdCawNavId3MgwawMMaLNavIdbaCNavIdxaLNavIdKMgwawMMaCNavId8KMMM:lNhwdndnazascdtgvfgsydbcuSmbaiavfIdbaw9ETmekasaHBdbaiavfawUdbkaPclfhPaxcxfhxalaHcefgH9hmbkkJbbbbhwdnarTmbinaiIdbgCawawaC9DEhwaiclfhiarcufgrmbkkakcd4akfhOcehiinaigvcethiavaO6mbkcbhiaqcuavcdtgOavcFFFFi0Ecbyd1:jjjbHjjjjbbgPBdyaPcFeaOz:rjjjbhsdnadTmbavcufhAcbhrcbhxindnaXaeaxcdtfgvydbcdtfydbgiaXavclfydbcdtfydbgOSmbaiaXavcwfydbcdtfydbgvSmbaOavSmbazavcdtfydbhHdndnazaOcdtfydbgvazaicdtfydbgi9pmbavaH9pmbaHhlaihoavhHxekdnaHai9pmbaHav9pmbaihlavhoxekavhlaHhoaihHkabarcx2fgvaHBdbavcwfaoBdbavclfalBdbdnasaoc:3F;N8N2alc:F:b:DD27aHc;D;O:B8J27aAGgOcdtfgvydbgicuSmbcehPinaPhvdnabaicx2fgiydbaH9hmbaiydlal9hmbaiydwaoSmikavcefhPasaOavfaAGgOcdtfgvydbgicu9hmbkkavarBdbarcefhrkaxcifgxad6mbkarci2hikdnaDmbcwhvxdkaw:rhwcwhvkaDawUdbkavcdthvdninavTmeavc98fgvaqcxffydbcbyd:m:jjjbH:bjjjbbxbkkaqc;Wbf8Kjjjjbaik:2ldwue9:8Jjjjjbc;Wb9Rgr8Kjjjjbcbhwarcxfcbc;Kbz:rjjjb8AdnabaeSmbabaeadcdtz:qjjjb8AkarcualcdtalcFFFFi0EgDcbyd1:jjjbHjjjjbbgqBdxarceBd2aqcbaialavcbarcxfz:djjjbcualcx2alc;v:Q;v:Qe0Ecbyd1:jjjbHjjjjbbhkarcxfaryd2gxcdtgmfakBdbaraxcefgPBd2akaialavcbcbz:ejjjb8AarcxfaPcdtfaDcbyd1:jjjbHjjjjbbgvBdbaraxcdfgiBd2arcxfaicdtfcuavalaeadaqz:fjjjbgecltaecjjjjiGEcbyd1:jjjbHjjjjbbgiBdbaiaeavakalz:gjjjbdnadTmbaoaoNhocbhwabhlcbhkindnaiavalydbgecdtfydbcdtfIdbao9ETmbalclf8PdbhsabawcdtfgqaeBdbaqclfas83dbawcifhwkalcxfhlakcifgkad6mbkkaxcifhlamarcxffcwfhkdninalTmeakydbcbyd:m:jjjbH:bjjjbbakc98fhkalcufhlxbkkarc;Wbf8Kjjjjbawk:FCoDud99rue99iul998Jjjjjbc;Wb9Rgw8KjjjjbdndnarmbcbhDxekawcxfcbc;Kbz:rjjjb8Aawcuadcx2adc;v:Q;v:Qe0Ecbyd1:jjjbHjjjjbbgqBdxawceBd2aqaeadaicbcbz:ejjjb8AawcuadcdtadcFFFFi0Egkcbyd1:jjjbHjjjjbbgxBdzawcdBd2adcd4adfhmceheinaegicetheaiam6mbkcbhPawcuaicdtgsaicFFFFi0Ecbyd1:jjjbHjjjjbbgzBdCawciBd2dndnar:ZgH:rJbbbZMgO:lJbbb9p9DTmbaO:Ohexekcjjjj94hekaicufhAc:bwhmcbhCadhXcbhQinaChLaeamgKcufaeaK9iEaPgDcefaeaD9kEhYdndnadTmbaYcuf:YhOaqhiaxheadhmindndnaiIdbaONJbbbZMg8A:lJbbb9p9DTmba8A:OhCxekcjjjj94hCkaCcCthCdndnaiclfIdbaONJbbbZMg8A:lJbbb9p9DTmba8A:OhExekcjjjj94hEkaEcqtaCVhCdndnaicwfIdbaONJbbbZMg8A:lJbbb9p9DTmba8A:OhExekcjjjj94hEkaeaCaEVBdbaicxfhiaeclfheamcufgmmbkazcFeasz:rjjjbh3cbh5cbhPindna3axaPcdtfydbgCcm4aC7c:v;t;h;Ev2gics4ai7aAGgmcdtfgEydbgecuSmbaeaCSmbcehiina3amaifaAGgmcdtfgEydbgecuSmeaicefhiaeaC9hmbkkaEaCBdba5aecuSfh5aPcefgPad9hmbxdkkazcFeasz:rjjjb8Acbh5kaDaYa5ar0giEhPaLa5aiEhCdna5arSmbaYaKaiEgmaP9Rcd9imbdndnaQcl0mbdnaX:ZgOaL:Zg8A:taY:Yg8EaD:Y:tg8Fa8EaK:Y:tgaa5:ZghaH:tNNNaOaH:taaNa8Aah:tNa8AaH:ta8FNahaO:tNM:va8EMJbbbZMgO:lJbbb9p9DTmbaO:Ohexdkcjjjj94hexekaPamfcd9Theka5aXaiEhXaQcefgQcs9hmekkdndnaCmbcihicbhDxekcbhiawakcbyd1:jjjbHjjjjbbg5BdKawclBd2aPcuf:Yh8AdndnadTmbaqhiaxheadhmindndnaiIdba8ANJbbbZMgO:lJbbb9p9DTmbaO:OhCxekcjjjj94hCkaCcCthCdndnaiclfIdba8ANJbbbZMgO:lJbbb9p9DTmbaO:OhExekcjjjj94hEkaEcqtaCVhCdndnaicwfIdba8ANJbbbZMgO:lJbbb9p9DTmbaO:OhExekcjjjj94hEkaeaCaEVBdbaicxfhiaeclfheamcufgmmbkazcFeasz:rjjjbh3cbhDcbhYindndndna3axaYcdtgKfydbgCcm4aC7c:v;t;h;Ev2gics4ai7aAGgmcdtfgEydbgecuSmbcehiinaxaecdtgefydbaCSmdamaifheaicefhia3aeaAGgmcdtfgEydbgecu9hmbkkaEaYBdbaDhiaDcefhDxeka5aefydbhika5aKfaiBdbaYcefgYad9hmbkcuaDc32giaDc;j:KM;jb0EhexekazcFeasz:rjjjb8AcbhDcbhekawaecbyd1:jjjbHjjjjbbgeBd3awcvBd2aecbaiz:rjjjbhEavcd4hKdnadTmbdnalTmbaKcdth3a5hCaqhealhmadhAinaEaCydbc32fgiaeIdbaiIdbMUdbaiaeclfIdbaiIdlMUdlaiaecwfIdbaiIdwMUdwaiamIdbaiIdxMUdxaiamclfIdbaiIdzMUdzaiamcwfIdbaiIdCMUdCaiaiIdKJbbjZMUdKaCclfhCaecxfheama3fhmaAcufgAmbxdkka5hmaqheadhCinaEamydbc32fgiaeIdbaiIdbMUdbaiaeclfIdbaiIdlMUdlaiaecwfIdbaiIdwMUdwaiaiIdxJbbbbMUdxaiaiIdzJbbbbMUdzaiaiIdCJbbbbMUdCaiaiIdKJbbjZMUdKamclfhmaecxfheaCcufgCmbkkdnaDTmbaEhiaDheinaiaiIdbJbbbbJbbjZaicKfIdbgO:vaOJbbbb9BEgONUdbaiclfgmaOamIdbNUdbaicwfgmaOamIdbNUdbaicxfgmaOamIdbNUdbaiczfgmaOamIdbNUdbaicCfgmaOamIdbNUdbaic3fhiaecufgembkkcbhCawcuaDcdtgYaDcFFFFi0Egicbyd1:jjjbHjjjjbbgeBdaawcoBd2awaicbyd1:jjjbHjjjjbbg3Bd8KaecFeaYz:rjjjbhxdnadTmbJbbjZJbbjZa8A:vaPceSEaoNgOaONh8AaKcdthPalheina8Aaec;81jjbalEgmIdwaEa5ydbgAc32fgiIdC:tgOaONamIdbaiIdx:tgOaONamIdlaiIdz:tgOaONMMNaqcwfIdbaiIdw:tgOaONaqIdbaiIdb:tgOaONaqclfIdbaiIdl:tgOaONMMMhOdndnaxaAcdtgifgmydbcuSmba3aifIdbaO9ETmekamaCBdba3aifaOUdbka5clfh5aqcxfhqaeaPfheadaCcefgC9hmbkkabaxaYz:qjjjb8AcrhikaicdthiinaiTmeaic98fgiawcxffydbcbyd:m:jjjbH:bjjjbbxbkkawc;Wbf8KjjjjbaDk:Ydidui99ducbhi8Jjjjjbca9Rglczfcwfcbyd11jjbBdbalcb8Pdj1jjb83izalcwfcbydN1jjbBdbalcb8Pd:m1jjb83ibdndnaembJbbjFhvJbbjFhoJbbjFhrxekadcd4cdthwincbhdinalczfadfgDabadfIdbgvaDIdbgoaoav9EEUdbaladfgDavaDIdbgoaoav9DEUdbadclfgdcx9hmbkabawfhbaicefgiae9hmbkalIdwalIdK:thralIdlalIdC:thoalIdbalIdz:thvkJbbbbavavJbbbb9DEgvaoaoav9DEgvararav9DEk9DeeuabcFeaicdtz:rjjjbhlcbhbdnadTmbindnalaeydbcdtfgiydbcu9hmbaiabBdbabcefhbkaeclfheadcufgdmbkkabk9teiucbcbyd:q:jjjbgeabcifc98GfgbBd:q:jjjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik;teeeudndnaeabVciGTmbabhixekdndnadcz9pmbabhixekabhiinaiaeydbBdbaiaeydlBdlaiaeydwBdwaiaeydxBdxaeczfheaiczfhiadc9Wfgdcs0mbkkadcl6mbinaiaeydbBdbaeclfheaiclfhiadc98fgdci0mbkkdnadTmbinaiaeRbb86bbaicefhiaecefheadcufgdmbkkabk:3eedudndnabciGTmbabhixekaecFeGc:b:c:ew2hldndnadcz9pmbabhixekabhiinaialBdxaialBdwaialBdlaialBdbaiczfhiadc9Wfgdcs0mbkkadcl6mbinaialBdbaiclfhiadc98fgdci0mbkkdnadTmbinaiae86bbaicefhiadcufgdmbkkabk9teiucbcbyd:q:jjjbgeabcrfc94GfgbBd:q:jjjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik9:eiuZbhedndncbyd:q:jjjbgdaecztgi9nmbcuheadai9RcFFifcz4nbcuSmekadhekcbabae9Rcifc98Gcbyd:q:jjjbfgdBd:q:jjjbdnadZbcztge9nmbadae9RcFFifcz4nb8Akkk:Iedbcjwk1eFFuuFFuuFFuuFFuFFFuFFFuFbbbbbbbbebbbdbbbbbbbebbbebbbdbbbbbbbbbbbeeeeebebbebbebebbbeebbbbbbbbbbbbeeeeeebebbeeebeebbbbebebbbbbbbbbbbbbbbbbbc1Dkxebbbdbbb:GNbb"),{}).then(function(r){(t=r.instance).exports.__wasm_call_ctors()});function e(r){if(!r)throw new Error("Assertion failed")}function g(r){return new Uint8Array(r.buffer,r.byteOffset,r.byteLength)}function i(r,o,B,n,s,E,C,Q){var c=t.exports.sbrk,d=c(4*Q),b=c(B*n),h=c(B*E),l=new Uint8Array(t.exports.memory.buffer);l.set(g(o),b),s&&l.set(g(s),h);var w=r(d,b,B,n,h,E,C,Q);new Uint8Array(t.exports.memory.buffer);var M=new Uint32Array(w);return g(M).set(l.subarray(d,d+4*w)),c(d-c(0)),M}var I={LockBorder:1,Sparse:2,ErrorAbsolute:4,Prune:8,Regularize:16,Permissive:32,_InternalDebug:1<<30}})(),function(){var t,A=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 a=WebAssembly.instantiate(function(I){for(var r=new Uint8Array(I.length),o=0;o<I.length;++o){var B=I.charCodeAt(o);r[o]=B>96?B-97:B>64?B-39:B+4}var n=0;for(o=0;o<I.length;++o)r[n++]=r[o]<60?A[r[o]]:64*(r[o]-60)+r[++o];return r.buffer.slice(0,n)}("b9H79TebbbeVx9Geueu9Geub9Gbb9Giuuueu9Gmuuuuuuuuuuu9999eu9Gvuuuuueu9Gwuuuuuuuub9Gxuuuuuuuuuuuueu9Gkuuuuuuuuuu99eu9Gouuuuuub9Gruuuuuuub9GluuuubiAOdilvorwDqqDkbiibeilve9Weiiviebeoweuec;G:Odkr;qeDo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8A9TW79O9V9Wt9F9I919P29K9nW79O2Wt79c9V919U9KbeX9TW79O9V9Wt9F9I919P29K9nW79O2Wt7bo39TW79O9V9Wt9F9J9V9T9W91tWJ2917tWV9c9V919U9K7br39TW79O9V9Wt9F9J9V9T9W91tW9nW79O2Wt9c9V919U9K7bDE9TW79O9V9Wt9F9J9V9T9W91tW9t9W9OWVW9c9V919U9K7bqL9TW79O9V9Wt9F9V9Wt9P9T9P96W9nW79O2Wtbkl79IV9RbxDwebcekdszq:x9DOdbkIbabaec9:fgefcufae9Ugeabci9Uadfcufad9Ugbaeab0Ek:w8KDPue99eux99dui99euo99iu8Jjjjjbc:WD9Rgm8KjjjjbdndnalmbcbhPxekamc:Cwfcbc;Kbz:ojjjb8Adndnalcb9imbaoal9nmbamcuaocdtaocFFFFi0Egscbyd;u1jjbHjjjjbbgzBd:CwamceBd;8wamascbyd;u1jjbHjjjjbbgHBd:GwamcdBd;8wamcualcdtalcFFFFi0Ecbyd;u1jjbHjjjjbbgOBd:KwamciBd;8waihsalhAinazasydbcdtfcbBdbasclfhsaAcufgAmbkaihsalhAinazasydbcdtfgCaCydbcefBdbasclfhsaAcufgAmbkaihsalhCcbhXindnazasydbcdtgQfgAydbcb9imbaHaQfaXBdbaAaAydbgQcjjjj94VBdbaQaXfhXkasclfhsaCcufgCmbkalci9UhLdnalci6mbcbhsaihAinaAcwfydbhCaAclfydbhXaHaAydbcdtfgQaQydbgQcefBdbaOaQcdtfasBdbaHaXcdtfgXaXydbgXcefBdbaOaXcdtfasBdbaHaCcdtfgCaCydbgCcefBdbaOaCcdtfasBdbaAcxfhAaLascefgs9hmbkkaihsalhAindnazasydbcdtgCfgXydbgQcu9kmbaXaQcFFFFrGgQBdbaHaCfgCaCydbaQ9RBdbkasclfhsaAcufgAmbxdkkamcuaocdtgsaocFFFFi0EgAcbyd;u1jjbHjjjjbbgzBd:CwamceBd;8wamaAcbyd;u1jjbHjjjjbbgHBd:GwamcdBd;8wamcualcdtalcFFFFi0Ecbyd;u1jjbHjjjjbbgOBd:KwamciBd;8wazcbasz:ojjjbhXalci9UhLaihsalhAinaXasydbcdtfgCaCydbcefBdbasclfhsaAcufgAmbkdnaoTmbcbhsaHhAaXhCaohQinaAasBdbaAclfhAaCydbasfhsaCclfhCaQcufgQmbkkdnalci6mbcbhsaihAinaAcwfydbhCaAclfydbhQaHaAydbcdtfgKaKydbgKcefBdbaOaKcdtfasBdbaHaQcdtfgQaQydbgQcefBdbaOaQcdtfasBdbaHaCcdtfgCaCydbgCcefBdbaOaCcdtfasBdbaAcxfhAaLascefgs9hmbkkaoTmbcbhsaohAinaHasfgCaCydbaXasfydb9RBdbasclfhsaAcufgAmbkkamaLcbyd;u1jjbHjjjjbbgsBd:OwamclBd;8wascbaLz:ojjjbhYamcuaLcK2alcjjjjd0Ecbyd;u1jjbHjjjjbbg8ABd:SwamcvBd;8wJbbbbhEdnalci6g3mbarcd4hKaihAa8AhsaLhrJbbbbh5inavaAclfydbaK2cdtfgCIdlh8EavaAydbaK2cdtfgXIdlhEavaAcwfydbaK2cdtfgQIdlh8FaCIdwhaaXIdwhhaQIdwhgasaCIdbg8JaXIdbg8KMaQIdbg8LMJbbnn:vUdbasclfaXIdlaCIdlMaQIdlMJbbnn:vUdbaQIdwh8MaCIdwh8NaXIdwhyascxfa8EaE:tg8Eagah:tggNa8FaE:tg8Faaah:tgaN:tgEJbbbbJbbjZa8Ja8K:tg8Ja8FNa8La8K:tg8Ka8EN:tghahNaEaENaaa8KNaga8JN:tgEaENMM:rg8K:va8KJbbbb9BEg8ENUdbasczfaEa8ENUdbascCfaha8ENUdbascwfa8Maya8NMMJbbnn:vUdba5a8KMh5aAcxfhAascKfhsarcufgrmbka5aL:Z:vJbbbZNhEkamcuaLcdtalcFFFF970Ecbyd;u1jjbHjjjjbbgCBd:WwamcoBd;8waEaq:ZNhEdna3mbcbhsaChAinaAasBdbaAclfhAaLascefgs9hmbkkaE:rhhcuh8PamcuaLcltalcFFFFd0Ecbyd;u1jjbHjjjjbbgIBd:0wamcrBd;8wcbaIa8AaCaLz:djjjb8AJFFuuhyJFFuuh8RJFFuuh8Sdnalci6gXmbJFFuuh8Sa8AhsaLhAJFFuuh8RJFFuuhyinascwfIdbgEayayaE9EEhyasclfIdbgEa8Ra8RaE9EEh8RasIdbgEa8Sa8SaE9EEh8SascKfhsaAcufgAmbkkahJbbbZNhgamaocetgscuaocu9kEcbyd;u1jjbHjjjjbbgABd:4waAcFeasz:ojjjbhCdnaXmbcbhAJFFuuhEa8Ahscuh8PinascwfIdbay:tghahNasIdba8S:tghahNasclfIdba8R:tghahNMM:rghaEa8PcuSahaE9DVgXEhEaAa8PaXEh8PascKfhsaLaAcefgA9hmbkkamczfcbcjwz:ojjjb8Aamcwf9cb83ibam9cb83ibagaxNhRJbbjZak:th8Ncbh8UJbbbbh8VJbbbbh8WJbbbbh8XJbbbbh8YJbbbbh8ZJbbbbh80cbh81cbhPinJbbbbhEdna8UTmbJbbjZa8U:Z:vhEkJbbbbhhdna80a80Na8Ya8YNa8Za8ZNMMg8KJbbbb9BmbJbbjZa8K:r:vhhka8XaENh5a8WaENh8Fa8VaENhaa8PhQdndndndndna8UaPVTmbamydwgBTmea80ahNh8Ja8ZahNh8La8YahNh8Maeamydbcdtfh83cbh3JFFuuhEcvhXcuhQindnaza83a3cdtfydbcdtgsfydbgvTmbaOaHasfydbcdtfhAindndnaCaiaAydbgKcx2fgsclfydbgrcetf8Vebcs4aCasydbgLcetf8Vebcs4faCascwfydbglcetf8Vebcs4fgombcbhsxekcehsazaLcdtfydbgLceSmbcehsazarcdtfydbgrceSmbcehsazalcdtfydbglceSmbdnarcdSaLcdSfalcdSfcd6mbaocefhsxekaocdfhskdnasaX9kmba8AaKcK2fgLIdwa5:thhaLIdla8F:th8KaLIdbaa:th8EdndnakJbbbb9DTmba8E:lg8Ea8K:lg8Ka8Ea8K9EEg8Kah:lgha8Kah9EEag:vJbbjZMhhxekahahNa8Ea8ENa8Ka8KNMM:rag:va8NNJbbjZMJ9VO:d86JbbjZaLIdCa8JNaLIdxa8MNa8LaLIdzNMMakN:tghahJ9VO:d869DENhhkaKaQasaX6ahaE9DVgLEhQasaXaLEhXahaEaLEhEkaAclfhAavcufgvmbkka3cefg3aB9hmbkkaQcu9hmekama5Ud:ODama8FUd:KDamaaUd:GDamcuBd:qDamcFFF;7rBdjDaIcba8AaYamc:GDfakJbbbb9Damc:qDfamcjDfz:ejjjbamyd:qDhQdndnaxJbbbb9ETmba8UaD6mbaQcuSmeceh3amIdjDaR9EmixdkaQcu9hmekdna8UTmbdnamydlgza8Uci2fgsciGTmbadasfcba8Uazcu7fciGcefz:ojjjb8AkabaPcltfgzam8Pib83dbazcwfamcwf8Pib83dbaPcefhPkc3hzinazc98Smvamc:Cwfazfydbcbyd;y1jjbH:bjjjbbazc98fhzxbkkcbh3a8Uaq9pmbamydwaCaiaQcx2fgsydbcetf8Vebcs4aCascwfydbcetf8Vebcs4faCasclfydbcetf8Vebcs4ffaw9nmekcbhscbhAdna81TmbcbhAamczfhXinamczfaAcdtfaXydbgLBdbaXclfhXaAaYaLfRbbTfhAa81cufg81mbkkamydwhlamydbhXam9cu83i:GDam9cu83i:ODam9cu83i:qDam9cu83i:yDaAc;8eaAclfc:bd6Eh81inamcjDfasfcFFF;7rBdbasclfgscz9hmbka81cdthBdnalTmbaeaXcdtfhocbhrindnazaoarcdtfydbcdtgsfydbgvTmbaOaHasfydbcdtfhAcuhLcuhsinazaiaAydbgKcx2fgXclfydbcdtfydbazaXydbcdtfydbfazaXcwfydbcdtfydbfgXasaXas6gXEhsaKaLaXEhLaAclfhAavcufgvmbkaLcuSmba8AaLcK2fgAIdway:tgEaENaAIdba8S:tgEaENaAIdla8R:tgEaENMM:rhEcbhAindndnasamc:qDfaAfgvydbgX6mbasaX9hmeaEamcjDfaAfIdb9FTmekavasBdbamc:GDfaAfaLBdbamcjDfaAfaEUdbxdkaAclfgAcz9hmbkkarcefgral9hmbkkamczfaBfhLcbhscbhAindnamc:GDfasfydbgXcuSmbaLaAcdtfaXBdbaAcefhAkasclfgscz9hmbkaAa81fg81TmbJFFuuhhcuhKamczfhsa81hvcuhLina8AasydbgXcK2fgAIdway:tgEaENaAIdba8S:tgEaENaAIdla8R:tgEaENMM:rhEdndnazaiaXcx2fgAclfydbcdtfydbazaAydbcdtfydbfazaAcwfydbcdtfydbfgAaL6mbaAaL9hmeaEah9DTmekaEhhaAhLaXhKkasclfhsavcufgvmbkaKcuSmbaKhQkdnamaiaQcx2fgrydbarclfydbarcwfydbaCabaeadaPawaqa3z:fjjjbTmbaPcefhPJbbbbh8VJbbbbh8WJbbbbh8XJbbbbh8YJbbbbh8ZJbbbbh80kcbhXinaOaHaraXcdtfydbcdtgAfydbcdtfgKhsazaAfgvydbgLhAdnaLTmbdninasydbaQSmeasclfhsaAcufgATmdxbkkasaKaLcdtfc98fydbBdbavavydbcufBdbkaXcefgXci9hmbka8AaQcK2fgsIdbhEasIdlhhasIdwh8KasIdxh8EasIdzh5asIdCh8FaYaQfce86bba80a8FMh80a8Za5Mh8Za8Ya8EMh8Ya8Xa8KMh8Xa8WahMh8Wa8VaEMh8Vamydxh8Uxbkkamc:WDf8KjjjjbaPk;Vvivuv99lu8Jjjjjbca9Rgv8Kjjjjbdndnalcw0mbaiydbhoaeabcitfgralcdtcufBdlaraoBdbdnalcd6mbaiclfhoalcufhwarcxfhrinaoydbhDarcuBdbarc98faDBdbarcwfhraoclfhoawcufgwmbkkalabfhrxekcbhDavczfcwfcbBdbav9cb83izavcwfcbBdbav9cb83ibJbbjZhqJbbjZhkinadaiaDcdtfydbcK2fhwcbhrinavczfarfgoawarfIdbgxaoIdbgm:tgPakNamMgmUdbavarfgoaPaxam:tNaoIdbMUdbarclfgrcx9hmbkJbbjZaqJbbjZMgq:vhkaDcefgDal9hmbkcbhoadcbcecdavIdlgxavIdwgm9GEgravIdbgPam9GEaraPax9GEgscdtgrfhzavczfarfIdbhxaihralhwinaiaocdtfgDydbhHaDarydbgOBdbaraHBdbarclfhraoazaOcK2fIdbax9Dfhoawcufgwmbkaeabcitfhrdndnaocv6mbaoalc98f6mekaraiydbBdbaralcdtcufBdlaiclfhoalcufhwarcxfhrinaoydbhDarcuBdbarc98faDBdbarcwfhraoclfhoawcufgwmbkalabfhrxekaraxUdbararydlc98GasVBdlabcefaeadaiaoz:djjjbhwararydlciGawabcu7fcdtVBdlawaeadaiaocdtfalao9Rz:djjjbhrkavcaf8Kjjjjbark:;idiud99dndnabaecitfgwydlgDciGgqciSmbinabcbaDcd4gDalaqcdtfIdbawIdb:tgkJbbbb9FEgwaecefgefadaialavaoarz:ejjjbak:larIdb9FTmdabawaD7aefgecitfgwydlgDciGgqci9hmbkkabaecitfgeclfhbdnavmbcuhwindnaiaeydbgDfRbbmbadaDcK2fgqIdwalIdw:tgkakNaqIdbalIdb:tgkakNaqIdlalIdl:tgkakNMM:rgkarIdb9DTmbarakUdbaoaDBdbkaecwfheawcefgwabydbcd46mbxdkkcuhwindnaiaeydbgDfRbbmbadaDcK2fgqIdbalIdb:t:lgkaqIdlalIdl:t:lgxakax9EEgkaqIdwalIdw:t:lgxakax9EEgkarIdb9DTmbarakUdbaoaDBdbkaecwfheawcefgwabydbcd46mbkkk;llevudnabydwgxaladcetfgm8Vebcs4alaecetfgP8Vebgscs4falaicetfgz8Vebcs4ffaD0abydxaq9pVakVgDce9hmbavawcltfgxab8Pdb83dbaxcwfabcwfgx8Pdb83dbdnaxydbgqTmbaoabydbcdtfhxaqhsinalaxydbcetfcFFi87ebaxclfhxascufgsmbkkdnabydxglci2gsabydlgxfgkciGTmbarakfcbalaxcu7fciGcefz:ojjjb8Aabydxci2hsabydlhxabydwhqkab9cb83dwababydbaqfBdbabascifc98GaxfBdlaP8Vebhscbhxkdnascztcz91cu9kmbabaxcefBdwaPax87ebaoabydbcdtfaxcdtfaeBdbkdnam8Uebcu9kmbababydwgxcefBdwamax87ebaoabydbcdtfaxcdtfadBdbkdnaz8Uebcu9kmbababydwgxcefBdwazax87ebaoabydbcdtfaxcdtfaiBdbkarabydlfabydxci2faPRbb86bbarabydlfabydxci2fcefamRbb86bbarabydlfabydxci2fcdfazRbb86bbababydxcefBdxaDk8LbabaeadaialavaoarawaDaDaqJbbbbz:cjjjbk;Nkovud99euv99eul998Jjjjjbc:W;ae9Rgo8KjjjjbdndnadTmbavcd4hrcbhwcbhDindnaiaeclfydbar2cdtfgvIdbaiaeydbar2cdtfgqIdbgk:tgxaiaecwfydbar2cdtfgmIdlaqIdlgP:tgsNamIdbak:tgzavIdlaP:tgPN:tgkakNaPamIdwaqIdwgH:tgONasavIdwaH:tgHN:tgPaPNaHazNaOaxN:tgxaxNMM:rgsJbbbb9Bmbaoc:W:qefawcx2fgAakas:vUdwaAaxas:vUdlaAaPas:vUdbaoc8Wfawc8K2fgAaq8Pdb83dbaAav8Pdb83dxaAam8Pdb83dKaAcwfaqcwfydbBdbaAcCfavcwfydbBdbaAcafamcwfydbBdbawcefhwkaecxfheaDcifgDad6mbkab9cb83dbabcyf9cb83dbabcaf9cb83dbabcKf9cb83dbabczf9cb83dbabcwf9cb83dbawTmeaocbBd8Sao9cb83iKao9cb83izaoczfaoc8Wfawci2cxaoc8Sfcbcrz1jjjbaoIdKhCaoIdChXaoIdzhQao9cb83iwao9cb83ibaoaoc:W:qefawcxaoc8Sfcbciz1jjjbJbbjZhkaoIdwgPJbbbbJbbjZaPaPNaoIdbgPaPNaoIdlgsasNMM:rgx:vaxJbbbb9BEgzNhxasazNhsaPazNhzaoc:W:qefheawhvinaecwfIdbaxNaeIdbazNasaeclfIdbNMMgPakaPak9DEhkaecxfheavcufgvmbkabaCUdwabaXUdlabaQUdbabaoId3UdxdndnakJ;n;m;m899FmbJbbbbhPaoc:W:qefheaoc8WfhvinaCavcwfIdb:taecwfIdbgHNaQavIdb:taeIdbgONaXavclfIdb:taeclfIdbgLNMMaxaHNazaONasaLNMM:vgHaPaHaP9EEhPavc8KfhvaecxfheawcufgwmbkabaxUd8KabasUdaabazUd3abaCaxaPN:tUdKabaXasaPN:tUdCabaQazaPN:tUdzabJbbjZakakN:t:rgkUdydndnaxJbbj:;axJbbj:;9GEgPJbbjZaPJbbjZ9FEJbb;:9cNJbbbZJbbb:;axJbbbb9GEMgP:lJbbb9p9DTmbaP:Ohexekcjjjj94hekabae86b8UdndnasJbbj:;asJbbj:;9GEgPJbbjZaPJbbjZ9FEJbb;:9cNJbbbZJbbb:;asJbbbb9GEMgP:lJbbb9p9DTmbaP:Ohvxekcjjjj94hvkabav86bRdndnazJbbj:;azJbbj:;9GEgPJbbjZaPJbbjZ9FEJbb;:9cNJbbbZJbbb:;azJbbbb9GEMgP:lJbbb9p9DTmbaP:Ohqxekcjjjj94hqkabaq86b8SdndnaecKtcK91:YJbb;:9c:vax:t:lavcKtcK91:YJbb;:9c:vas:t:laqcKtcK91:YJbb;:9c:vaz:t:lakMMMJbb;:9cNJbbjZMgk:lJbbb9p9DTmbak:Ohexekcjjjj94hekaecFbaecFb9iEhexekabcjjj;8iBdycFbhekabae86b8Vxekab9cb83dbabcyf9cb83dbabcaf9cb83dbabcKf9cb83dbabczf9cb83dbabcwf9cb83dbkaoc:W;aef8Kjjjjbk;Iwwvul99iud99eue99eul998Jjjjjbcje9Rgr8Kjjjjbavcd4hwaicd4hDdndnaoTmbarc;abfcbaocdtgvz:ojjjb8Aarc;Gbfcbavz:ojjjb8AarhvarcafhiaohqinavcFFF97BdbaicFFF;7rBdbaiclfhiavclfhvaqcufgqmbkdnadTmbcbhkinaeakaD2cdtfgvIdwhxavIdlhmavIdbhPalakaw2cdtfIdbhsarc;abfhzarhiarc;GbfhHarcafhqcj1jjbhvaohOinasavcwfIdbaxNavIdbaPNavclfIdbamNMMgAMhCakhXdnaAas:tgAaqIdbgQ9DgLmbaHydbhXkaHaXBdbakhXdnaCaiIdbgK9EmbazydbhXaKhCkazaXBdbaiaCUdbaqaAaQaLEUdbavcxfhvaqclfhqaHclfhHaiclfhiazclfhzaOcufgOmbkakcefgkad9hmbkkadThkJbbbbhCcbhXarc;abfhvarc;Gbfhicbhqinalavydbgzaw2cdtfIdbalaiydbgHaw2cdtfIdbaeazaD2cdtfgzIdwaeaHaD2cdtfgHIdw:tgsasNazIdbaHIdb:tgsasNazIdlaHIdl:tgsasNMM:rMMgsaCasaC9EgzEhCaqaXazEhXaiclfhiavclfhvaoaqcefgq9hmbkaCJbbbZNhKxekadThkcbhXJbbbbhKkJbbbbhCdnaearc;abfaXcdtgifydbgqaD2cdtfgvIdwaearc;GbfaifydbgzaD2cdtfgiIdwgm:tgsasNavIdbaiIdbgY:tgAaANavIdlaiIdlgP:tgQaQNMM:rgxJbbbb9ETmbaxalaqaw2cdtfIdbMalazaw2cdtfIdb:taxaxM:vhCkasaCNamMhmaQaCNaPMhPaAaCNaYMhYdnakmbaDcdthvawcdthiindnalIdbg8AaecwfIdbam:tgCaCNaeIdbaY:tgsasNaeclfIdbaP:tgAaANMM:rgQMgEaK9ETmbJbbbbhxdnaQJbbbb9ETmbaEaK:taQaQM:vhxkaxaCNamMhmaxaANaPMhPaxasNaYMhYa8AaKaQMMJbbbZNhKkaeavfhealaifhladcufgdmbkkabaKUdxabamUdwabaPUdlabaYUdbarcjef8Kjjjjbkjeeiu8Jjjjjbcj8W9Rgr8Kjjjjbaici2hwdnaiTmbawceawce0EhDarhiinaiaeadRbbcdtfydbBdbadcefhdaiclfhiaDcufgDmbkkabarawaladaoz:hjjjbarcj8Wf8Kjjjjbk:Reeeu8Jjjjjbca9Rgo8Kjjjjbab9cb83dbabcyf9cb83dbabcaf9cb83dbabcKf9cb83dbabczf9cb83dbabcwf9cb83dbdnadTmbaocbBd3ao9cb83iwao9cb83ibaoaeadaialaoc3falEavcbalEcrz1jjjbabao8Pib83dbabao8Piw83dwkaocaf8Kjjjjbk:3lequ8JjjjjbcjP9Rgl8Kjjjjbcbhvalcjxfcbaiz:ojjjb8AdndnadTmbcjehoaehrincuhwarhDcuhqavhkdninawakaoalcjxfaDcefRbbfRbb9RcFeGci6aoalcjxfaDRbbfRbb9RcFeGci6faoalcjxfaDcdfRbbfRbb9RcFeGci6fgxaq9mgmEhwdnammbaxce0mdkaxaqaxaq9kEhqaDcifhDadakcefgk9hmbkkaeawci2fgDcdfRbbhqaDcefRbbhxaDRbbhkaeavci2fgDcifaDawav9Rci2z:rjjjb8Aakalcjxffaocefgo86bbaxalcjxffao86bbaDcdfaq86bbaDcefax86bbaDak86bbaqalcjxffao86bbarcifhravcefgvad9hmbkalcFeaicetz:ojjjbhoadci2gDceaDce0EhqcbhxindnaoaeRbbgkcetfgw8UebgDcu9kmbawax87ebaocjlfaxcdtfabakcdtfydbBdbaxhDaxcefhxkaeaD86bbaecefheaqcufgqmbkaxcdthDxekcbhDkabalcjlfaDz:njjjb8AalcjPf8Kjjjjbk9teiucbcbyd;C1jjbgeabcifc98GfgbBd;C1jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik;teeeudndnaeabVciGTmbabhixekdndnadcz9pmbabhixekabhiinaiaeydbBdbaiaeydlBdlaiaeydwBdwaiaeydxBdxaeczfheaiczfhiadc9Wfgdcs0mbkkadcl6mbinaiaeydbBdbaeclfheaiclfhiadc98fgdci0mbkkdnadTmbinaiaeRbb86bbaicefhiaecefheadcufgdmbkkabk:3eedudndnabciGTmbabhixekaecFeGc:b:c:ew2hldndnadcz9pmbabhixekabhiinaialBdxaialBdwaialBdlaialBdbaiczfhiadc9Wfgdcs0mbkkadcl6mbinaialBdbaiclfhiadc98fgdci0mbkkdnadTmbinaiae86bbaicefhiadcufgdmbkkabk9teiucbcbyd;C1jjbgeabcrfc94GfgbBd;C1jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik9:eiuZbhedndncbyd;C1jjbgdaecztgi9nmbcuheadai9RcFFifcz4nbcuSmekadhekcbabae9Rcifc98Gcbyd;C1jjbfgdBd;C1jjbdnadZbcztge9nmbadae9RcFFifcz4nb8Akk:;Deludndndnadch9pmbabaeSmdaeabadfgi9Rcbadcet9R0mekabaead;8qbbxekaeab7ciGhldndndnabae9pmbdnalTmbadhvabhixikdnabciGmbadhvabhixdkadTmiabaeRbb86bbadcufhvdnabcefgiciGmbaecefhexdkavTmiabaeRbe86beadc9:fhvdnabcdfgiciGmbaecdfhexdkavTmiabaeRbd86bdadc99fhvdnabcifgiciGmbaecifhexdkavTmiabaeRbi86biabclfhiaeclfheadc98fhvxekdnalmbdnaiciGTmbadTmlabadcufgifglaeaifRbb86bbdnalciGmbaihdxekaiTmlabadc9:fgifglaeaifRbb86bbdnalciGmbaihdxekaiTmlabadc99fgifglaeaifRbb86bbdnalciGmbaihdxekaiTmlabadc98fgdfaeadfRbb86bbkadcl6mbdnadc98fgocd4cefciGgiTmbaec98fhlabc98fhvinavadfaladfydbBdbadc98fhdaicufgimbkkaocx6mbaec9Wfhvabc9WfhoinaoadfgicxfavadfglcxfydbBdbaicwfalcwfydbBdbaiclfalclfydbBdbaialydbBdbadc9Wfgdci0mbkkadTmdadhidnadciGglTmbaecufhvabcufhoadhiinaoaifavaifRbb86bbaicufhialcufglmbkkadcl6mdaec98fhlabc98fhvinavaifgecifalaifgdcifRbb86bbaecdfadcdfRbb86bbaecefadcefRbb86bbaeadRbb86bbaic98fgimbxikkavcl6mbdnavc98fglcd4cefcrGgdTmbavadcdt9RhvinaiaeydbBdbaeclfheaiclfhiadcufgdmbkkalc36mbinaiaeydbBdbaiaeydlBdlaiaeydwBdwaiaeydxBdxaiaeydzBdzaiaeydCBdCaiaeydKBdKaiaeyd3Bd3aecafheaicafhiavc9Gfgvci0mbkkavTmbdndnavcrGgdmbavhlxekavc94GhlinaiaeRbb86bbaicefhiaecefheadcufgdmbkkavcw6mbinaiaeRbb86bbaiaeRbe86beaiaeRbd86bdaiaeRbi86biaiaeRbl86blaiaeRbv86bvaiaeRbo86boaiaeRbr86braicwfhiaecwfhealc94fglmbkkabkk9Tdbcjwk9ubbjZbbbbbbbbbbbbbbjZbbbbbbbbbbbbbbjZ86;nAZ86;nAZ86;nAZ86;nA:;86;nAZ86;nAZ86;nAZ86;nA:;86;nAZ86;nAZ86;nAZ86;nA:;bc;uwkxebbbdbbb9GNbb"),{}).then(function(I){(t=I.instance).exports.__wasm_call_ctors()});function e(I){if(!I)throw new Error("Assertion failed")}function g(I){return new Uint8Array(I.buffer,I.byteOffset,I.byteLength)}function i(I){var r=new Float32Array(t.exports.memory.buffer,I,12);return{centerX:r[0],centerY:r[1],centerZ:r[2],radius:r[3],coneApexX:r[4],coneApexY:r[5],coneApexZ:r[6],coneAxisX:r[7],coneAxisY:r[8],coneAxisZ:r[9],coneCutoff:r[10]}}}();let ge=0;class bI{constructor(A){if(this.downloadParallelism=A.downloadParallelism==null?8:A.downloadParallelism,this.timeout=A.timeout!=null?A.timeout:5e3,this.renderer=A.renderer,this.zUpToYUpMatrix=new z.Matrix4,this.zUpToYUpMatrix.set(1,0,0,0,0,0,-1,0,0,1,0,0,0,0,0,1),this.maxCachedItems=100,this.proxy=A.proxy,A&&(this.meshCallback=A.meshCallback,this.pointsCallback=A.pointsCallback,A.maxCachedItems!=null&&(this.maxCachedItems=A.maxCachedItems)),this.gltfLoader=new Zi,this.gltfLoader.register(a=>({name:"KHR_spz_gaussian_splats_compression"})),A&&A.dracoLoader)this.gltfLoader.setDRACOLoader(A.dracoLoader),this.hasDracoLoader=!0;else{const a=new AI;a.setDecoderPath("https://storage.googleapis.com/ogc-3d-tiles/draco/"),this.dracoLoader=a,this.gltfLoader.setDRACOLoader(a),this.gltfLoader.hasDracoLoader=!0}if(A&&A.ktx2Loader)this.gltfLoader.setKTX2Loader(A.ktx2Loader),this.hasKTX2Loader=!0;else if(A&&A.renderer){const a=new ca;a.setTranscoderPath("https://storage.googleapis.com/ogc-3d-tiles/basis/").detectSupport(A.renderer),this.ktx2loader=a,this.gltfLoader.setKTX2Loader(a),this.gltfLoader.hasKTX2Loader=!0}this.gltfLoader.setMeshoptDecoder(dI),this.hasMeshOptDecoder=!0,this.b3dmDecoder=new Xi(this.gltfLoader),this.splatsDecoder=new br(this.gltfLoader,this.renderer),this.cache=new Wi,this.register={},this.ready=[],this.downloads=[],this.nextReady=[],this.nextDownloads=[]}update(){const A=this;ge<A.downloadParallelism&&A._download(),A._loadBatch()}_scheduleDownload(A){this.downloads.unshift(A)}_download(){do{if(this.nextDownloads.length==0&&(this._getNextDownloads(),this.nextDownloads.length==0))return;for(;this.nextDownloads.length>0;){const A=this.nextDownloads.shift();A&&A.shouldDoDownload()&&A.doDownload()}}while(this.concurrentDownloads<this.downloadParallelism)}_meshReceived(A,a,e,g,i,I,r){this.ready.unshift([A,a,e,g,i,I,r])}_loadBatch(){for(this.nextReady.length==0&&this._getNextReady();this.nextReady.length>0;){const A=this.nextReady.shift();if(!A)return;const a=A[0],e=A[1],g=A[2],i=a.get(g);i&&e[g]&&Object.keys(e[g]).forEach(I=>{const r=e[g][I];r&&(a.put(g,r(i)),e[g][I]=null)}),this.nextReady.length==0&&this._getNextReady()}}_getNextDownloads(){let A=Number.POSITIVE_INFINITY,a=-1;for(let r=this.downloads.length-1;r>=0;r--)this.downloads[r].shouldDoDownload()?this.downloads[r].distanceFunction||this.nextDownloads.push(this.downloads.splice(r,1)[0]):this.downloads.splice(r,1);if(this.nextDownloads.length>0)return;let e,g=0,i=Number.MAX_SAFE_INTEGER,I=-1;for(let r=this.downloads.length-1;r>=0;r--){const o=this.downloads[r].distanceFunction();o<=A&&(A=o,a=r),g=Math.max(this.downloads[r].level),this.downloads[r].loadingStrategy!="IMMEDIATE"&&this.downloads[r].level<i&&(i=this.downloads[r].level,I=r)}if(g>i+4?e=this.downloads.splice(I,1).pop():a>=0&&(e=this.downloads.splice(a,1).pop()),e){this.nextDownloads.push(e);const r=e.getSiblings();for(let o=this.downloads.length-1;o>=0;o--)r.map(B=>B.uuid).includes(this.downloads[o].uuid)&&this.nextDownloads.push(this.downloads.splice(o,1).pop())}}_getNextReady(){let A=Number.POSITIVE_INFINITY,a=-1;for(let e=this.ready.length-1;e>=0;e--)this.ready[e][3]||this.nextReady.push(this.ready.splice(e,1)[0]);if(!(this.nextReady.length>0)){for(let e=this.ready.length-1;e>=0;e--){const g=this.ready[e][3]()*this.ready[e][5];g<=A&&(A=g,a=e)}if(a>=0){const e=this.ready.splice(a,1).pop();this.nextReady.push(e);const g=e[4]();for(let i=this.ready.length-1;i>=0;i--)g.map(I=>I.uuid).includes(this.ready[i][6])&&this.nextReady.push(this.ready.splice(i,1).pop())}}}get(A,a,e,g,i,I,r,o,B,n,s,E){const C=this,Q=ti(e),c=new AbortController;if(A.signal.addEventListener("abort",()=>{C.register[Q]&&Object.keys(C.register[Q]).length!=0||c.abort("user abort")}),!(e.includes(".b3dm")||e.includes(".json")||e.includes(".gltf")||e.includes(".glb")))return void console.error("the 3DTiles cache can only be used to load B3DM, gltf and json data");if(C.register[Q]||(C.register[Q]={}),C.register[Q][a]&&console.error(" a tile should only be loaded once"),C.register[Q][a]=g,C.cache.get(Q))this._meshReceived(C.cache,C.register,Q,i,I,r,a);else{let d;e.includes(".b3dm")?d=()=>{var b;b=C.proxy?()=>fetch(C.proxy,{method:"POST",body:e,signal:c.signal}):()=>fetch(e,{signal:c.signal}),ge++,b().then(h=>{if(!h.ok)throw console.error("could not load tile with path : "+e),new Error(`couldn't load "${e}". Request failed with status ${h.status} : ${h.statusText}`);return h.arrayBuffer()}).then(h=>this.b3dmDecoder.parseB3DM(h,l=>{C.meshCallback(l,s)},B,n)).then(h=>{C.cache.put(Q,h),this._meshReceived(C.cache,C.register,Q,i,I,r,a),C._checkSize()}).catch(h=>{}).finally(()=>{ge--})}:e.includes(".glb")||e.includes(".gltf")?d=()=>{var b;b=C.proxy?()=>fetch(C.proxy,{method:"POST",body:e,signal:c.signal}):()=>fetch(e,{signal:c.signal}),ge++,b().then(h=>{if(!h.ok)throw console.error("could not load tile with path : "+e),new Error(`couldn't load "${e}". Request failed with status ${h.status} : ${h.statusText}`);return h.arrayBuffer()}).then(h=>this.splatsDecoder.parseSplats(h,B,n,E)).then(h=>{h.isSplatsData||(B&&h.applyMatrix4(this.zUpToYUpMatrix),h.traverse(l=>{l.isMesh&&(n&&l.applyMatrix4(this.zUpToYUpMatrix),C.meshCallback&&C.meshCallback(l,s)),l.isPoints&&C.pointsCallback&&C.pointsCallback(l,s)})),C.cache.put(Q,h),C._meshReceived(C.cache,C.register,Q,i,I,r,a),C._checkSize()}).catch(h=>{}).finally(()=>{ge--})}:e.includes(".json")&&(d=()=>{var b;b=C.proxy?()=>fetch(C.proxy,{method:"POST",body:e,signal:c.signal}):()=>fetch(e,{signal:c.signal}),ge++,b().then(h=>{if(!h.ok)throw console.error("could not load tile with path : "+e),new Error(`couldn't load "${e}". Request failed with status ${h.status} : ${h.statusText}`);return h.json()}).then(h=>Fg(h,e)).then(h=>{C.cache.put(Q,h),C._meshReceived(C.cache,C.register,Q),C._checkSize()}).catch(h=>{console.error(h)}).finally(()=>{ge--})}),this._scheduleDownload({shouldDoDownload:()=>!A.signal.aborted&&!!C.register[Q]&&Object.keys(C.register[Q]).length>0&&!C.cache.get(Q),doDownload:d,distanceFunction:i,getSiblings:I,level:r,loadingStrategy:o,uuid:a})}}clear(){const A=this.maxCachedItems;this.maxCachedItems=0,this._checkSize(),this.maxCachedItems=A}invalidate(A,a){const e=ti(A),g=this;g.register[e]&&setTimeout(()=>{g.register&&g.register[e]&&(delete g.register[e][a],g._checkSize())},g.timeout)}dispose(){let A=this.cache.head();for(this._disposeEntryContent(A);(A=A.next()).key!=null;)this._disposeEntryContent(A);this.cache.reset(),this.cache=void 0,this.register=void 0,this.dracoLoader&&this.dracoLoader.dispose(),this.ktx2loader&&this.ktx2loader.dispose()}_checkSize(){const A=this;let a=0;for(;A.cache.size()>A.maxCachedItems&&a<A.cache.size();){a++;const e=A.cache.head(),g=A.register[e.key];g&&(Object.keys(g).length>0?(A.cache.remove(e.key),A.cache.put(e.key,e.value)):(A.cache.remove(e.key),delete A.register[e.key],A._disposeEntryContent(e)))}}_disposeEntryContent(A){A.value&&(A.value.isSplatsBatch?A.value.remove():A.value.traverse&&A.value.traverse(a=>{if(a.material)if(a.material.length)for(let e=0;e<a.material.length;++e)a.material[e].dispose();else a.material.dispose();a.geometry&&a.geometry.dispose()}))}}function ti(t){for(var A=t.split("/"),a=[],e=0,g=0;g<A.length;g++){var i=A[g];i!=="."&&i!==""&&i!==".."?a[e++]=i:i===".."&&e>0&&e--}if(e===0)return"/";var I="";for(g=0;g<e;g++)I+="/"+a[g];return I}const ZA=[];for(let t=0;t<256;++t)ZA.push((t+256).toString(16).slice(1));let Ag;const un=new Uint8Array(16),gi={randomUUID:typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)};function uI(t,A,a){if(gi.randomUUID&&!t)return gi.randomUUID();const e=(t=t||{}).random??t.rng?.()??function(){if(!Ag){if(typeof crypto>"u"||!crypto.getRandomValues)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");Ag=crypto.getRandomValues.bind(crypto)}return Ag(un)}();if(e.length<16)throw new Error("Random bytes length must be >= 16");return e[6]=15&e[6]|64,e[8]=63&e[8]|128,function(g,i=0){return(ZA[g[i+0]]+ZA[g[i+1]]+ZA[g[i+2]]+ZA[g[i+3]]+"-"+ZA[g[i+4]]+ZA[g[i+5]]+"-"+ZA[g[i+6]]+ZA[g[i+7]]+"-"+ZA[g[i+8]]+ZA[g[i+9]]+"-"+ZA[g[i+10]]+ZA[g[i+11]]+ZA[g[i+12]]+ZA[g[i+13]]+ZA[g[i+14]]+ZA[g[i+15]]).toLowerCase()}(e)}var ii,Ii,Za=function(){if(Ii)return ii;function t(e){if(typeof e!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(e))}function A(e,g){for(var i,I="",r=0,o=-1,B=0,n=0;n<=e.length;++n){if(n<e.length)i=e.charCodeAt(n);else{if(i===47)break;i=47}if(i===47){if(!(o===n-1||B===1))if(o!==n-1&&B===2){if(I.length<2||r!==2||I.charCodeAt(I.length-1)!==46||I.charCodeAt(I.length-2)!==46){if(I.length>2){var s=I.lastIndexOf("/");if(s!==I.length-1){s===-1?(I="",r=0):r=(I=I.slice(0,s)).length-1-I.lastIndexOf("/"),o=n,B=0;continue}}else if(I.length===2||I.length===1){I="",r=0,o=n,B=0;continue}}g&&(I.length>0?I+="/..":I="..",r=2)}else I.length>0?I+="/"+e.slice(o+1,n):I=e.slice(o+1,n),r=n-o-1;o=n,B=0}else i===46&&B!==-1?++B:B=-1}return I}Ii=1;var a={resolve:function(){for(var e,g="",i=!1,I=arguments.length-1;I>=-1&&!i;I--){var r;I>=0?r=arguments[I]:(e===void 0&&(e=process.cwd()),r=e),t(r),r.length!==0&&(g=r+"/"+g,i=r.charCodeAt(0)===47)}return g=A(g,!i),i?g.length>0?"/"+g:"/":g.length>0?g:"."},normalize:function(e){if(t(e),e.length===0)return".";var g=e.charCodeAt(0)===47,i=e.charCodeAt(e.length-1)===47;return(e=A(e,!g)).length!==0||g||(e="."),e.length>0&&i&&(e+="/"),g?"/"+e:e},isAbsolute:function(e){return t(e),e.length>0&&e.charCodeAt(0)===47},join:function(){if(arguments.length===0)return".";for(var e,g=0;g<arguments.length;++g){var i=arguments[g];t(i),i.length>0&&(e===void 0?e=i:e+="/"+i)}return e===void 0?".":a.normalize(e)},relative:function(e,g){if(t(e),t(g),e===g||(e=a.resolve(e))===(g=a.resolve(g)))return"";for(var i=1;i<e.length&&e.charCodeAt(i)===47;++i);for(var I=e.length,r=I-i,o=1;o<g.length&&g.charCodeAt(o)===47;++o);for(var B=g.length-o,n=r<B?r:B,s=-1,E=0;E<=n;++E){if(E===n){if(B>n){if(g.charCodeAt(o+E)===47)return g.slice(o+E+1);if(E===0)return g.slice(o+E)}else r>n&&(e.charCodeAt(i+E)===47?s=E:E===0&&(s=0));break}var C=e.charCodeAt(i+E);if(C!==g.charCodeAt(o+E))break;C===47&&(s=E)}var Q="";for(E=i+s+1;E<=I;++E)E!==I&&e.charCodeAt(E)!==47||(Q.length===0?Q+="..":Q+="/..");return Q.length>0?Q+g.slice(o+s):(o+=s,g.charCodeAt(o)===47&&++o,g.slice(o))},_makeLong:function(e){return e},dirname:function(e){if(t(e),e.length===0)return".";for(var g=e.charCodeAt(0),i=g===47,I=-1,r=!0,o=e.length-1;o>=1;--o)if((g=e.charCodeAt(o))===47){if(!r){I=o;break}}else r=!1;return I===-1?i?"/":".":i&&I===1?"//":e.slice(0,I)},basename:function(e,g){if(g!==void 0&&typeof g!="string")throw new TypeError('"ext" argument must be a string');t(e);var i,I=0,r=-1,o=!0;if(g!==void 0&&g.length>0&&g.length<=e.length){if(g.length===e.length&&g===e)return"";var B=g.length-1,n=-1;for(i=e.length-1;i>=0;--i){var s=e.charCodeAt(i);if(s===47){if(!o){I=i+1;break}}else n===-1&&(o=!1,n=i+1),B>=0&&(s===g.charCodeAt(B)?--B==-1&&(r=i):(B=-1,r=n))}return I===r?r=n:r===-1&&(r=e.length),e.slice(I,r)}for(i=e.length-1;i>=0;--i)if(e.charCodeAt(i)===47){if(!o){I=i+1;break}}else r===-1&&(o=!1,r=i+1);return r===-1?"":e.slice(I,r)},extname:function(e){t(e);for(var g=-1,i=0,I=-1,r=!0,o=0,B=e.length-1;B>=0;--B){var n=e.charCodeAt(B);if(n!==47)I===-1&&(r=!1,I=B+1),n===46?g===-1?g=B:o!==1&&(o=1):g!==-1&&(o=-1);else if(!r){i=B+1;break}}return g===-1||I===-1||o===0||o===1&&g===I-1&&g===i+1?"":e.slice(g,I)},format:function(e){if(e===null||typeof e!="object")throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof e);return function(g,i){var I=i.dir||i.root,r=i.base||(i.name||"")+(i.ext||"");return I?I===i.root?I+r:I+g+r:r}("/",e)},parse:function(e){t(e);var g={root:"",dir:"",base:"",ext:"",name:""};if(e.length===0)return g;var i,I=e.charCodeAt(0),r=I===47;r?(g.root="/",i=1):i=0;for(var o=-1,B=0,n=-1,s=!0,E=e.length-1,C=0;E>=i;--E)if((I=e.charCodeAt(E))!==47)n===-1&&(s=!1,n=E+1),I===46?o===-1?o=E:C!==1&&(C=1):o!==-1&&(C=-1);else if(!s){B=E+1;break}return o===-1||n===-1||C===0||C===1&&o===n-1&&o===B+1?n!==-1&&(g.base=g.name=B===0&&r?e.slice(1,n):e.slice(B,n)):(B===0&&r?(g.name=e.slice(1,o),g.base=e.slice(1,n)):(g.name=e.slice(B,o),g.base=e.slice(B,n)),g.ext=e.slice(o,n)),B>0?g.dir=e.slice(0,B-1):r&&(g.dir="/"),g},sep:"/",delimiter:":",win32:null,posix:null};return a.posix=a,ii=a}();function ut(){return ut=Object.assign?Object.assign.bind():function(t){for(var A=1;A<arguments.length;A++){var a=arguments[A];for(var e in a)({}).hasOwnProperty.call(a,e)&&(t[e]=a[e])}return t},ut.apply(null,arguments)}var lI={relTol:1e-12,absTol:1e-15,matrix:"Matrix",number:"number",numberFallback:"number",precision:64,predictable:!1,randomSeed:null};function ln(t,A){if(Ct(t,A))return t[A];throw typeof t[A]=="function"&&function(a,e){return a==null||typeof a[e]!="function"||ft(a,e)&&Object.getPrototypeOf&&e in Object.getPrototypeOf(a)?!1:ft(Dn,e)?!0:!(e in Object.prototype||e in Function.prototype)}(t,A)?new Error('Cannot access method "'+A+'" as a property'):new Error('No access to property "'+A+'"')}function Ct(t,A){return!(!function(a){return typeof a=="object"&&a&&a.constructor===Object}(t)&&!Array.isArray(t))&&(!!ft(fn,A)||!(A in Object.prototype)&&!(A in Function.prototype))}var fn={length:!0,name:!0},Dn={toString:!0,valueOf:!0,toLocaleString:!0};class wn{constructor(A){this.wrappedObject=A,this[Symbol.iterator]=this.entries}keys(){return Object.keys(this.wrappedObject).filter(A=>this.has(A)).values()}get(A){return ln(this.wrappedObject,A)}set(A,a){return function(e,g,i){if(Ct(e,g))return e[g]=i,i;throw new Error('No access to property "'+g+'"')}(this.wrappedObject,A,a),this}has(A){return Ct(this.wrappedObject,A)&&A in this.wrappedObject}entries(){return function(A,a){return{next:()=>{var e=A.next();return e.done?e:{value:a(e.value),done:!1}}}}(this.keys(),A=>[A,this.get(A)])}forEach(A){for(var a of this.keys())A(this.get(a),a,this)}delete(A){Ct(this.wrappedObject,A)&&delete this.wrappedObject[A]}clear(){for(var A of this.keys())this.delete(A)}get size(){return Object.keys(this.wrappedObject).length}}function RA(t){return typeof t=="number"}function qA(t){return!(!t||typeof t!="object"||typeof t.constructor!="function")&&(t.isBigNumber===!0&&typeof t.constructor.prototype=="object"&&t.constructor.prototype.isBigNumber===!0||typeof t.constructor.isDecimal=="function"&&t.constructor.isDecimal(t)===!0)}function pn(t){return typeof t=="bigint"}function fI(t){return t&&typeof t=="object"&&Object.getPrototypeOf(t).isComplex===!0||!1}function DI(t){return t&&typeof t=="object"&&Object.getPrototypeOf(t).isFraction===!0||!1}function wI(t){return t&&t.constructor.prototype.isUnit===!0||!1}function ka(t){return typeof t=="string"}var PA=Array.isArray;function HA(t){return t&&t.constructor.prototype.isMatrix===!0||!1}function lt(t){return Array.isArray(t)||HA(t)}function yn(t){return t&&t.isDenseMatrix&&t.constructor.prototype.isMatrix===!0||!1}function mn(t){return t&&t.isSparseMatrix&&t.constructor.prototype.isMatrix===!0||!1}function Fn(t){return t&&t.constructor.prototype.isRange===!0||!1}function kg(t){return t&&t.constructor.prototype.isIndex===!0||!1}function kn(t){return typeof t=="boolean"}function Mn(t){return t&&t.constructor.prototype.isResultSet===!0||!1}function Rn(t){return t&&t.constructor.prototype.isHelp===!0||!1}function Nn(t){return typeof t=="function"}function Gn(t){return t instanceof Date}function Sn(t){return t instanceof RegExp}function Mg(t){return!(!t||typeof t!="object"||t.constructor!==Object||fI(t)||DI(t))}function Un(t){return!!t&&(t instanceof Map||t instanceof wn||typeof t.set=="function"&&typeof t.get=="function"&&typeof t.keys=="function"&&typeof t.has=="function")}function xn(t){return t===null}function Ln(t){return t===void 0}function jn(t){return t&&t.isAccessorNode===!0&&t.constructor.prototype.isNode===!0||!1}function vn(t){return t&&t.isArrayNode===!0&&t.constructor.prototype.isNode===!0||!1}function Jn(t){return t&&t.isAssignmentNode===!0&&t.constructor.prototype.isNode===!0||!1}function Hn(t){return t&&t.isBlockNode===!0&&t.constructor.prototype.isNode===!0||!1}function Yn(t){return t&&t.isConditionalNode===!0&&t.constructor.prototype.isNode===!0||!1}function Kn(t){return t&&t.isConstantNode===!0&&t.constructor.prototype.isNode===!0||!1}function Tn(t){return t&&t.isFunctionAssignmentNode===!0&&t.constructor.prototype.isNode===!0||!1}function qn(t){return t&&t.isFunctionNode===!0&&t.constructor.prototype.isNode===!0||!1}function On(t){return t&&t.isIndexNode===!0&&t.constructor.prototype.isNode===!0||!1}function Pn(t){return t&&t.isNode===!0&&t.constructor.prototype.isNode===!0||!1}function zn(t){return t&&t.isObjectNode===!0&&t.constructor.prototype.isNode===!0||!1}function Wn(t){return t&&t.isOperatorNode===!0&&t.constructor.prototype.isNode===!0||!1}function Vn(t){return t&&t.isParenthesisNode===!0&&t.constructor.prototype.isNode===!0||!1}function Xn(t){return t&&t.isRangeNode===!0&&t.constructor.prototype.isNode===!0||!1}function Zn(t){return t&&t.isRelationalNode===!0&&t.constructor.prototype.isNode===!0||!1}function _n(t){return t&&t.isSymbolNode===!0&&t.constructor.prototype.isNode===!0||!1}function $n(t){return t&&t.constructor.prototype.isChain===!0||!1}function _a(t){var A=typeof t;return A==="object"?t===null?"null":qA(t)?"BigNumber":t.constructor&&t.constructor.name?t.constructor.name:"Object":A}function JA(t){var A=typeof t;if(A==="number"||A==="bigint"||A==="string"||A==="boolean"||t==null)return t;if(typeof t.clone=="function")return t.clone();if(Array.isArray(t))return t.map(function(a){return JA(a)});if(t instanceof Date)return new Date(t.valueOf());if(qA(t))return t;if(Mg(t))return function(a,e){var g={};for(var i in a)ft(a,i)&&(g[i]=e(a[i]));return g}(t,JA);if(A==="function")return t;throw new TypeError("Cannot clone: unknown type of value (value: ".concat(t,")"))}function ke(t,A){var a,e,g;if(Array.isArray(t)){if(!Array.isArray(A)||t.length!==A.length)return!1;for(e=0,g=t.length;e<g;e++)if(!ke(t[e],A[e]))return!1;return!0}if(typeof t=="function")return t===A;if(t instanceof Object){if(Array.isArray(A)||!(A instanceof Object))return!1;for(a in t)if(!(a in A)||!ke(t[a],A[a]))return!1;for(a in A)if(!(a in t))return!1;return!0}return t===A}function ft(t,A){return t&&Object.hasOwnProperty.call(t,A)}var oe=function(t){if(t)throw new Error(`The global config is readonly.
|
|
18
|
+
}`,p=new Function(Object.keys(v),O)(...Object.values(v)),O=`methodCaller<(${S.map(aA=>aA.name)}) => ${y.name}>`,(aA=>{var tA=Jg.length;return Jg.push(aA),tA})($(O,p))},E:Se,o:(D,u,p,y,S)=>Jg[D](u,p,y,S),D:D=>{var u=Ue(D);uA(u),Se(D)},s:(D,u,p,y)=>{var S=new Date().getFullYear(),q=new Date(S,0,1).getTimezoneOffset();S=new Date(S,6,1).getTimezoneOffset(),k[D>>2]=60*Math.max(q,S),w[u>>2]=+(q!=S),u=v=>{var O=Math.abs(v);return`UTC${0<=v?"-":"+"}${String(Math.floor(O/60)).padStart(2,"0")}${String(O%60).padStart(2,"0")}`},D=u(q),u=u(S),S<q?(va(D,p,17),va(u,y,17)):(va(D,y,17),va(u,p,17))},y:D=>{var u=b.length;if(2147483648<(D>>>=0))return!1;for(var p=1;4>=p;p*=2){var y=u*(1+.2/p);y=Math.min(y,D+100663296);A:{y=(Math.min(2147483648,65536*Math.ceil(Math.max(D,y)/65536))-c.buffer.byteLength+65535)/65536|0;try{c.grow(y),AA();var S=1;break A}catch{}S=void 0}if(S)return!0}return!1},t:(D,u)=>{var p,y=0,S=0;for(p of jt()){var q=u+y;k[D+S>>2]=q,y+=va(p,q,1/0)+1,S+=4}return 0},u:(D,u)=>{var p=jt();for(var y of(k[D>>2]=p.length,D=0,p))D+=$e(y)+1;return k[u>>2]=D,0},v:()=>52,w:function(){return 70},k:(D,u,p,y)=>{for(var S=0,q=0;q<p;q++){var v=k[u>>2],O=k[u+4>>2];u+=8;for(var aA=0;aA<O;aA++){var tA=D,gA=b[v+aA],mA=rB[tA];gA===0||gA===10?(tA=tA===1?L:x,gA=Le(mA,0),tA(gA=Ag.decode(mA.buffer?mA.subarray(0,gA):new Uint8Array(mA.slice(0,gA)))),mA.length=0):mA.push(gA)}S+=O}return k[y>>2]=S,0}},se=await async function(){var D;function u(y){var S;return se=y.exports,c=se.F,AA(),Oe=se.H,vt=(y=se).I,e._malloc=vg=y.J,e._free=Ka=y.K,nA--,(S=e.monitorRunDependencies)==null||S.call(e,nA),nA==0&&bA&&(y=bA,bA=null,y()),se}nA++,(D=e.monitorRunDependencies)==null||D.call(e,nA);var p={a:oB};return e.instantiateWasm?new Promise(y=>{e.instantiateWasm(p,(S,q)=>{y(u(S))})}):(Z??(Z=(y=>{if(I)return y=Buffer.from(y,"base64"),new Uint8Array(y.buffer,y.byteOffset,y.length);for(var S,q,v=0,O=0,aA=y.length,tA=new Uint8Array((3*aA>>2)-(y[aA-2]=="=")-(y[aA-1]=="="));v<aA;v+=4,O+=3)S=Ra[y.charCodeAt(v+1)],q=Ra[y.charCodeAt(v+2)],tA[O]=Ra[y.charCodeAt(v)]<<2|S>>4,tA[O+1]=S<<4|q>>2,tA[O+2]=q<<6|Ra[y.charCodeAt(v+3)];return tA})("AGFzbQEAAAAB2QM5YAF/AX9gAn9/AGABfwBgA39/fwF/YAJ/fwF/YAN/f38AYAZ/f39/f38Bf2AFf39/f38Bf2AEf39/fwBgBH9/f38Bf2AGf39/f39/AGAFf39/f38AYAAAYAh/f39/f39/fwF/YAd/f39/f39/AX9gAAF/YAV/fn5+fgBgCn9/f39/f39/f38AYAd/f39/f39/AGAFf39/f34Bf2AIf39/f39/f38AYAR/fn5/AGADf35/AX5gBX9/fn9/AGACf34AYAp/f39/f39/f39/AX9gDH9/f39/f39/f39/fwF/YAN/f38BfmAGf39/f35/AX9gD39/f39/f39/f39/f39/fwBgC39/f39/f39/f39/AX9gBH9/f38BfmAGf3x/f39/AX9gB39/f39/fn4Bf2AGf39/f35+AX9gBX9/f398AX9gDX9/f39/f39/f39/f38AYAV/f39+fgBgBX9/f39/AXxgBH9+f38Bf2ACf3wAYAR+fn5+AX9gAn5/AX9gBH9/f34BfmACfn4BfGABfwF8YAN/f38BfGADf39/AX1gA39/fgBgAn5+AX1gAn9/AX5gBH9+fn4AYAN+fn4Bf2ACfH8BfGAEf39/fQF/YAR/f399AGADf399AAK7AR8BYQFhAAUBYQFiABEBYQFjAAsBYQFkAAUBYQFlABEBYQFmAAUBYQFnAAoBYQFoAAEBYQFpAAoBYQFqACQBYQFrAAkBYQFsABQBYQFtAAUBYQFuACUBYQFvACYBYQFwAAMBYQFxAAIBYQFyAAgBYQFzAAgBYQF0AAQBYQF1AAQBYQF2AAABYQF3ACcBYQF4AAwBYQF5AAABYQF6AAIBYQFBAAEBYQFCAAgBYQFDAAEBYQFEAAIBYQFFAAIDjQWLBQAAAQQAAAIAAQABAQQEAg8QAgAEBQACAwAAAAIDAQwAABAEBQgVCwAAAAAQBAAFAAEBAwQAAAQBAQEAAAwBAQADAwACBBgFBQcHAwAAKA0NCAEDAQABAAQAAAgEAQEAAAwGBAQBAQYDKQUAFQMMAAQBAAEBBQQEBwMZABkAAQABAAQBBAABACoBAAEHAQAFBAUBAAgDBAIECwEUAgIBAAACCQABBAAACQEJAwcIBA4EDgQJCQQAAQABAAACAQQAAgADAgAGAQoFCAQFAQwAAAMBBAAABAsEAgACAxoLAAMaCwgCGwArAQAJEAAEAgIDAgAABBgBACwEAQUtAQIMAAgCBBwGHAYACQkBBAwIAwECFAUFBQAEBAIABQACBQ8FAwUFAAIAAAcNDQcNDQUABw0EAAQCAgIBAAIBAQIAAwMdEQMBHREAAAADCwEeAQAABQEeAQEBCgsKCgsKCg8AAxICEgcJBxIJBwkHCRIDBgMILgwvHwkGCR8JAQUbCQAABwQCAAQEAzAxMggQEBUzNAEAAAAAAAMEAAEFAQUBAAACAQgCBAAAAgICBAAMAgQDCAAOBzUAAQMAAAkDCAU2Azc4CgoKCwsLAwgICAMCDwIAAgACAAIAAgUAAgACAAIAAgACBAACAAIAAgACAAUBAQEBAQEAAAIEAgAHAAcNDQIHBwMJAwQDBAIHAwkDBAMEAgkJCQMCAg8DCgoGIQUGIQUODgEADg4DDg4NBQYGBgYGBQ0GBgYGBgciIxMHEwcHAAciBCMTBxMJBwcGBgYGBgYGBgYGBgYGBgAGBgYIAQYDCAcDCAcDAwICAAIACAIXBAQAAAACAgAAAgACAAMAAAMIFwMCABYBIBYDDAQHAXABgAOAAwUHAQGCAoCAAgYIAX8BQfD+BQsHGwYBRgIAAUcAqQUBSAEAAUkA1gMBSgA0AUsALQm/BQEAQQEL/wKQA/sE9wTmBOEE3gT/AvsC/ATPBGvJBMUEwgT/AvsCwQS+BNcDuwS2BLUErgTPAssClQSLBIEE9gPsAzDPAssCpQLfA94DoALdA9wDpQLbA9oDoALZA9gDnALVA9QDRqgFpwWmBaUFlAKiBZMCoQWgBZ8FRkaeBZ0FnAXIA5sFyAOQAsYDmgWZBY8CwQOYBZcF2AGOApYFlAWVBZMF/AGMBY0FiwWQBY8FjgWxAYwCigWJBYgFhwWJAoYFhQWEBS3hAdICiQSHBIUEgwSABP4D/AP6A/gD9QPzA/ED7wPtA9YCtASzBNACpgSlBKQEowSiBNECoQSgBJ8E2wKdBJwEmwSaBJkERpgElwTEApYEkwSSBJEEjwSNBMMClASSBZEFkASOBIwEiQEwMLIEsQSwBK8ErQSsBKsEqgTRAqkEqASnBDDOAs4CqgHiAeIBngTiATDKAskCqgFGRsgCvgEwygLJAqoBRkbIAr4BMMcCxgKqAUZGxQK+ATDHAsYCqgFGRsUCvgGJATCDBYIFgQWJATCABf8E/gQw/QT6BPkE+ASUA5QD9gT1BPQE8wTyBDDxBPAE7wTuBIwDjAPtBOwE6wTqBOkEMOgE5wTlBOQE4wTiBOAE3wQw3QTcBNsE2gTZBNgE1wTWBIkBMPwC1QTUBNME0gTRBNAEigSGBIIE9APwA/0D+QOJATD8As4EzQTMBMsEygTIBIgEhAT/A/ID7gP7A/cD7QHCAscE7QHCAsYEMMUBxQFXV1fyAkZ0dDDFAcUBV1dX8gJGdHQwxAHEAVdXV/ECRnR0MMQBxAFXV1fxAkZ0dDDEBMMEMMAEvwQwvQS8BDC6BLkEMNwCuASTAjDcArcEkwKJAesD6wGjBaQFiQEw4QHhAawCMKwCMOoD4APjA+kDMOED5APoAzDiA+UD5wMw5gMMASoKwLAIiwUTACAAEEcEQCAAKAIEDwsgABBeCxoBAX8gABBHBEAgACgCACAAEH4aEIsCCyAAC4sBAQN/IAAQHyICIAFJBEAjAEEQayIEJAAgASACayICBEAgAiAAECgiAyAAEB8iAWtLBEAgACADIAIgA2sgAWogASABEPQBCyABIAAQIyIDaiACQQAQsgIgACABIAJqIgAQgwEgBEEAOgAPIAAgA2ogBEEPahBdCyAEQRBqJAAPCyAAIAAQIyABEMACCwkAIAAQIyABagsRACAAEEcEQCAAKAIADwsgAAsSACAAQgA3AgAgAEEANgIIIAALFgAgACgCACIAQaDxAUcEQCAAEL8BCwuLAgIDfwJ+AkAgACkDcCIEUEUgBCAAKQN4IAAoAgQiASAAKAIsIgJrrHwiBVdxRQRAIwBBEGsiAiQAQX8hAQJAIAAQyQMNACAAIAJBD2pBASAAKAIgEQMAQQFHDQAgAi0ADyEBCyACQRBqJAAgASIDQQBODQEgACgCBCEBIAAoAiwhAgsgAEJ/NwNwIAAgATYCaCAAIAUgAiABa6x8NwN4QX8PCyAFQgF8IQUgACgCBCEBIAAoAgghAgJAIAApA3AiBFANACAEIAV9IgQgAiABa6xZDQAgASAEp2ohAgsgACACNgJoIAAgBSAAKAIsIgAgAWusfDcDeCAAIAFPBEAgAUEBayADOgAACyADCwwAIAAgAUEcahDVAgsZAQF/QQohASAAEEcEfyAAEH5BAWsFQQoLC3kBA38CQCABELcCIQIgABDxASEDIAAQHyEEIAIgA00EQCAAECMiAyABIAIQZSMAQRBrIgEkACAAEB8aIAAgAhCDASABQQA2AgwgAyACQQJ0aiABQQxqEFYgAUEQaiQADAELIAAgAyACIANrIARBACAEIAIgARCvAgsLDgAgACABIAEQqAEQsQILEAAgABCyAyABELIDc0EBcwsQACAAELMDIAEQswNzQQFzC4EMAQh/AkAgAEUNACAAQQhrIgMgAEEEaygCACICQXhxIgBqIQUCQCACQQFxDQAgAkECcUUNASADIAMoAgAiBGsiA0Gc6gEoAgBJDQEgACAEaiEAAkACQAJAQaDqASgCACADRwRAIAMoAgwhASAEQf8BTQRAIAEgAygCCCICRw0CQYzqAUGM6gEoAgBBfiAEQQN2d3E2AgAMBQsgAygCGCEHIAEgA0cEQCADKAIIIgIgATYCDCABIAI2AggMBAsgAygCFCICBH8gA0EUagUgAygCECICRQ0DIANBEGoLIQQDQCAEIQYgAiIBQRRqIQQgASgCFCICDQAgAUEQaiEEIAEoAhAiAg0ACyAGQQA2AgAMAwsgBSgCBCICQQNxQQNHDQNBlOoBIAA2AgAgBSACQX5xNgIEIAMgAEEBcjYCBCAFIAA2AgAPCyACIAE2AgwgASACNgIIDAILQQAhAQsgB0UNAAJAIAMoAhwiBEECdCICKAK87AEgA0YEQCACQbzsAWogATYCACABDQFBkOoBQZDqASgCAEF+IAR3cTYCAAwCCwJAIAMgBygCEEYEQCAHIAE2AhAMAQsgByABNgIUCyABRQ0BCyABIAc2AhggAygCECICBEAgASACNgIQIAIgATYCGAsgAygCFCICRQ0AIAEgAjYCFCACIAE2AhgLIAMgBU8NACAFKAIEIgRBAXFFDQACQAJAAkACQCAEQQJxRQRAQaTqASgCACAFRgRAQaTqASADNgIAQZjqAUGY6gEoAgAgAGoiADYCACADIABBAXI2AgQgA0Gg6gEoAgBHDQZBlOoBQQA2AgBBoOoBQQA2AgAPC0Gg6gEoAgAiByAFRgRAQaDqASADNgIAQZTqAUGU6gEoAgAgAGoiADYCACADIABBAXI2AgQgACADaiAANgIADwsgBEF4cSAAaiEAIAUoAgwhASAEQf8BTQRAIAUoAggiAiABRgRAQYzqAUGM6gEoAgBBfiAEQQN2d3E2AgAMBQsgAiABNgIMIAEgAjYCCAwECyAFKAIYIQggASAFRwRAIAUoAggiAiABNgIMIAEgAjYCCAwDCyAFKAIUIgIEfyAFQRRqBSAFKAIQIgJFDQIgBUEQagshBANAIAQhBiACIgFBFGohBCABKAIUIgINACABQRBqIQQgASgCECICDQALIAZBADYCAAwCCyAFIARBfnE2AgQgAyAAQQFyNgIEIAAgA2ogADYCAAwDC0EAIQELIAhFDQACQCAFKAIcIgRBAnQiAigCvOwBIAVGBEAgAkG87AFqIAE2AgAgAQ0BQZDqAUGQ6gEoAgBBfiAEd3E2AgAMAgsCQCAFIAgoAhBGBEAgCCABNgIQDAELIAggATYCFAsgAUUNAQsgASAINgIYIAUoAhAiAgRAIAEgAjYCECACIAE2AhgLIAUoAhQiAkUNACABIAI2AhQgAiABNgIYCyADIABBAXI2AgQgACADaiAANgIAIAMgB0cNAEGU6gEgADYCAA8LIABB/wFNBEAgAEF4cUG06gFqIQICf0GM6gEoAgAiBEEBIABBA3Z0IgBxRQRAQYzqASAAIARyNgIAIAIMAQsgAigCCAshACACIAM2AgggACADNgIMIAMgAjYCDCADIAA2AggPC0EfIQEgAEH///8HTQRAIABBJiAAQQh2ZyICa3ZBAXEgAkEBdGtBPmohAQsgAyABNgIcIANCADcCECABQQJ0QbzsAWohBAJ/AkACf0GQ6gEoAgAiBkEBIAF0IgJxRQRAQZDqASACIAZyNgIAIAQgAzYCAEEYIQFBCAwBCyAAQRkgAUEBdmtBACABQR9HG3QhASAEKAIAIQQDQCAEIgIoAgRBeHEgAEYNAiABQR12IQQgAUEBdCEBIAIgBEEEcWoiBigCECIEDQALIAYgAzYCEEEYIQEgAiEEQQgLIQAgAyICDAELIAIoAggiBCADNgIMIAIgAzYCCEEYIQBBCCEBQQALIQYgASADaiAENgIAIAMgAjYCDCAAIANqIAY2AgBBrOoBQazqASgCAEEBayIAQX8gABs2AgALC+kCAQZ/QZzxAS0AAARAQZjxASgCAA8LIwBBIGsiAiQAAkACQANAIAJBCGoiBCAAQQJ0IgNqAn9BASAAdEH/////B3EiBUEBckUEQCADKAIADAELIABBjBZBxh8gBRsQogMLIgM2AgAgA0F/Rg0BIABBAWoiAEEGRw0AC0EAEKEDRQRAQZiDASEBIARBmIMBQRgQiwFFDQJBsIMBIQEgBEGwgwFBGBCLAUUNAkEAIQBBvO4BLQAARQRAA0AgAEECdCAAQcYfEKIDNgKM7gEgAEEBaiIAQQZHDQALQbzuAUEBOgAAQaTuAUGM7gEoAgA2AgALQYzuASEBIAJBCGoiAEGM7gFBGBCLAUUNAkGk7gEhASAAQaTuAUEYEIsBRQ0CQRgQNCIBRQ0BCyABIAIpAgg3AgAgASACKQIYNwIQIAEgAikCEDcCCAwBC0EAIQELIAJBIGokAEGc8QFBAToAAEGY8QEgATYCACABC80KAgV/CX4jAEHgAGsiBSQAIARC////////P4MhCiACIASFQoCAgICAgICAgH+DIQsgAkL///////8/gyIMQiCIIQ8gBEIwiKdB//8BcSEHAkACQCACQjCIp0H//wFxIglB//8Ba0GCgH5PBEAgB0H//wFrQYGAfksNAQsgAVAgAkL///////////8AgyINQoCAgICAgMD//wBUIA1CgICAgICAwP//AFEbRQRAIAJCgICAgICAIIQhCwwCCyADUCAEQv///////////wCDIgJCgICAgICAwP//AFQgAkKAgICAgIDA//8AURtFBEAgBEKAgICAgIAghCELIAMhAQwCCyABIA1CgICAgICAwP//AIWEUARAIAIgA4RQBEBCgICAgICA4P//ACELQgAhAQwDCyALQoCAgICAgMD//wCEIQtCACEBDAILIAMgAkKAgICAgIDA//8AhYRQBEAgASANhEIAIQFQBEBCgICAgICA4P//ACELDAMLIAtCgICAgICAwP//AIQhCwwCCyABIA2EUARAQgAhAQwCCyACIAOEUARAQgAhAQwCCyANQv///////z9YBEAgBUHQAGogASAMIAEgDCAMUCIGG3lCwABCACAGG3ynIgZBD2sQREEQIAZrIQYgBSkDWCIMQiCIIQ8gBSkDUCEBCyACQv///////z9WDQAgBUFAayADIAogAyAKIApQIggbeULAAEIAIAgbfKciCEEPaxBEIAYgCGtBEGohBiAFKQNIIQogBSkDQCEDCyAHIAlqIAZqQf//AGshBgJAIApCD4YiDkIgiEKAgICACIQiAiABQiCIIgR+IhAgA0IPhiIRQiCIIgogD0KAgASEIg1+fCIPIBBUrSAPIANCMYggDoRC/////w+DIgMgDEL/////D4MiDH58Ig4gD1StfCACIA1+fCAOIA4gEUKAgP7/D4MiDyAMfiIRIAQgCn58IhAgEVStIBAgECADIAFC/////w+DIgF+fCIQVq18fCIOVq18IAMgDX4iEiACIAx+fCIRIBJUrUIghiARQiCIhHwgDiAOIBFCIIZ8Ig5WrXwgDiANIA9+Ig0gCiAMfnwiDCABIAJ+fCICIAMgBH58IgNCIIggAiADVq0gDCANVK0gAiAMVK18fEIghoR8IgIgDlStfCACIBAgBCAPfiIMIAEgCn58IgRCIIggBCAMVK1CIIaEfCIKIBBUrSAKIANCIIZ8IgMgClStfHwiCiACVK18IAogAyAEQiCGIgIgASAPfnwiASACVK18IgIgA1StfCIEIApUrXwiA0KAgICAgIDAAINQRQRAIAZBAWohBgwBCyABQj+IIANCAYYgBEI/iIQhAyAEQgGGIAJCP4iEIQQgAUIBhiEBIAJCAYaEIQILIAZB//8BTgRAIAtCgICAgICAwP//AIQhC0IAIQEMAQsCfiAGQQBMBEBBASAGayIHQf8ATQRAIAVBMGogASACIAZB/wBqIgYQRCAFQSBqIAQgAyAGEEQgBUEQaiABIAIgBxCKASAFIAQgAyAHEIoBIAUpAzAgBSkDOIRCAFKtIAUpAyAgBSkDEISEIQEgBSkDKCAFKQMYhCECIAUpAwAhBCAFKQMIDAILQgAhAQwCCyADQv///////z+DIAatQjCGhAsgC4QhCyABUCACQgBZIAJCgICAgICAgICAf1EbRQRAIAsgBEIBfCIBUK18IQsMAQsgASACQoCAgICAgICAgH+FhFBFBEAgBCEBDAELIAsgBCAEQgGDfCIBIARUrXwhCwsgACABNwMAIAAgCzcDCCAFQeAAaiQACwYAIAAQLQt8AQN/IwBBEGsiASQAIAEgADYCDCMAQRBrIgIkACAAKAIAQX9HBEAgAkEIaiACQQxqIAFBDGoQVRBVIQMDQCAAKAIAQQFGDQALIAAoAgBFBEAgAEEBNgIAIAMQ0gIgAEF/NgIACwsgAkEQaiQAIAAoAgQgAUEQaiQAQQFrCyAAIAAgAUEBazYCBCAAQeDVATYCACAAQZCtATYCACAAC/cFAQl/IwBBEGsiCSQAIAEQ1wIgCUEMaiABEFUhCCAAQQhqIgMQayACTQRAAkAgAkEBaiIAIAMQayIBSwRAIwBBIGsiCiQAAkAgACABayIHIAMoAgggAygCBGtBAnVNBEAgAyAHENkCDAELIApBDGohAQJ/IAMQayAHaiEFIwBBEGsiACQAIAAgBTYCDCAFELwCIgRNBEAgAxC5AiIFIARBAXZJBEAgACAFQQF0NgIIIABBCGogAEEMahCgASgCACEECyAAQRBqJAAgBAwBCxCMAQALIQQgAxBrIQUjAEEQayIAJAAgASADQQxqIgs2AhAgAUEANgIMIAQEfyAAQQhqIAsgBBC7AiAAKAIIIQYgACgCDAVBAAshBCABIAY2AgAgASAGIAVBAnRqIgU2AgggASAGIARBAnRqNgIMIAEgBTYCBCAAQRBqJAAjAEEQayIGJAAgASgCCCEEIAZBBGoiACABQQhqNgIIIAAgBDYCACAAIAQgB0ECdGo2AgQgACgCACEEA0AgACgCBCAERwRAIAEoAhAaIAQQugIgACAAKAIAQQRqIgQ2AgAMAQsLIAAoAgggACgCADYCACAGQRBqJAAgASgCBCADKAIAIgAgAygCBGtqIQQgAygCBCAAayIHBEAgBCAAIAf8CgAACyABIAQ2AgQgAyADKAIANgIEIAMgAUEEahDXASADQQRqIAFBCGoQ1wEgA0EIaiABQQxqENcBIAEgASgCBDYCACADEGsaIAEoAgQhAANAIAEoAggiBCAARwRAIAEgBEEEazYCCCABKAIQGgwBCwsgASgCACIABEAgASgCECAAIAEoAgwgASgCAGtBAnUQuAILCyAKQSBqJAAMAQsgACABSQRAIAMoAgAgAEECdGohACADEGsaIAMgABDYAgsLCyADIAIQggEoAgAEQCADIAIQggEoAgAQvwELIAgQrAEhACADIAIQggEgADYCACAIKAIAIQAgCEEANgIAIAAEQCAAEL8BCyAJQRBqJAALySgBC38jAEEQayIKJAACQAJAAkACQAJAAkACQAJAAkACQCAAQfQBTQRAQYzqASgCACIEQRAgAEELakH4A3EgAEELSRsiBkEDdiIAdiIBQQNxBEACQCABQX9zQQFxIABqIgJBA3QiAUG06gFqIgAgASgCvOoBIgEoAggiBUYEQEGM6gEgBEF+IAJ3cTYCAAwBCyAFIAA2AgwgACAFNgIICyABQQhqIQAgASACQQN0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KAIAKAIcEQQAC8EBAQN/IAAtAABBIHFFBEACQCAAKAIQIgMEfyADBSAAEN8BDQEgACgCEAsgACgCFCIEayACSQRAIAAgASACIAAoAiQRAwAaDAELAkACQCACRSAAKAJQQQBIcg0AIAIhAwNAIAEgA2oiBUEBay0AAEEKRwRAIANBAWsiAw0BDAILCyAAIAEgAyAAKAIkEQMAIANJDQIgAiADayECIAAoAhQhBAwBCyABIQULIAQgBSACEHEaIAAgACgCFCACajYCFAsLC6EBAQJ/AkAgABAfRSACIAFrQQVIcg0AIAEgAhDHASACQQRrIQQgABAjIgIgABAfaiEFAkADQAJAIAIsAAAhACABIARPDQAgAEEATCAAQf8ATnJFBEAgASgCACACLAAARw0DCyABQQRqIQEgAiAFIAJrQQFKaiECDAELCyAAQQBMIABB/wBOcg0BIAIsAAAgBCgCAEEBa0sNAQsgA0EENgIACwtQAQF+AkAgA0HAAHEEQCABIANBQGqthiECQgAhAQwBCyADRQ0AIAIgA60iBIYgAUHAACADa62IhCECIAEgBIYhAQsgACABNwMAIAAgAjcDCAtpAQF/IwBBgAJrIgUkACAEQYDABHEgAiADTHJFBEAgBSABIAIgA2siA0GAAiADQYACSSIBGxCYAiABRQRAA0AgACAFQYACEEIgA0GAAmsiA0H/AUsNAAsLIAAgBSADEEILIAVBgAJqJAALBABBAAsKACAALQALQQd2CwoAIABB0PIBEHoLCgAgAEHY8gEQegvPCQIEfwR+IwBB8ABrIgYkACAEQv///////////wCDIQkCQAJAIAFQIgUgAkL///////////8AgyIKQoCAgICAgMD//wB9QoCAgICAgMCAgH9UIApQG0UEQCADQgBSIAlCgICAgICAwP//AH0iC0KAgICAgIDAgIB/ViALQoCAgICAgMCAgH9RGw0BCyAFIApCgICAgICAwP//AFQgCkKAgICAgIDA//8AURtFBEAgAkKAgICAgIAghCEEIAEhAwwCCyADUCAJQoCAgICAgMD//wBUIAlCgICAgICAwP//AFEbRQRAIARCgICAgICAIIQhBAwCCyABIApCgICAgICAwP//AIWEUARAQoCAgICAgOD//wAgAiABIAOFIAIgBIVCgICAgICAgICAf4WEUCIFGyEEQgAgASAFGyEDDAILIAMgCUKAgICAgIDA//8AhYRQDQEgASAKhFAEQCADIAmEQgBSDQIgASADgyEDIAIgBIMhBAwCCyADIAmEUEUNACABIQMgAiEEDAELIAMgASABIANUIAkgClYgCSAKURsiCBshCiAEIAIgCBsiDEL///////8/gyEJIAIgBCAIGyILQjCIp0H//wFxIQcgDEIwiKdB//8BcSIFRQRAIAZB4ABqIAogCSAKIAkgCVAiBRt5QsAAQgAgBRt8pyIFQQ9rEEQgBikDaCEJIAYpA2AhCkEQIAVrIQULIAEgAyAIGyEDIAtC////////P4MhASAHBH4gAQUgBkHQAGogAyABIAMgASABUCIHG3lCwABCACAHG3ynIgdBD2sQREEQIAdrIQcgBikDUCEDIAYpA1gLQgOGIANCPYiEQoCAgICAgIAEhCEBIAlCA4YgCkI9iIQgAiAEhSEEAn4gA0IDhiICIAUgB0YNABogBSAHayIHQf8ASwRAQgAhAUIBDAELIAZBQGsgAiABQYABIAdrEEQgBkEwaiACIAEgBxCKASAGKQM4IQEgBikDMCAGKQNAIAYpA0iEQgBSrYQLIQlCgICAgICAgASEIQsgCkIDhiEKAkAgBEIAUwRAQgAhA0IAIQQgCSAKhSABIAuFhFANAiAKIAl9IQIgCyABfSAJIApWrX0iBEL/////////A1YNASAGQSBqIAIgBCACIAQgBFAiBxt5QsAAQgAgBxt8p0EMayIHEEQgBSAHayEFIAYpAyghBCAGKQMgIQIMAQsgCSAKfCICIAlUrSABIAt8fCIEQoCAgICAgIAIg1ANACAJQgGDIARCP4YgAkIBiISEIQIgBUEBaiEFIARCAYghBAsgDEKAgICAgICAgIB/gyEDIAVB//8BTgRAIANCgICAgICAwP//AIQhBEIAIQMMAQtBACEHAkAgBUEASgRAIAUhBwwBCyAGQRBqIAIgBCAFQf8AahBEIAYgAiAEQQEgBWsQigEgBikDACAGKQMQIAYpAxiEQgBSrYQhAiAGKQMIIQQLIARCPYYgAkIDiIQhASAEQgOIQv///////z+DIAetQjCGhCADhCEEAkACQCACp0EHcSIFQQRHBEAgBCABIAEgBUEES618IgNWrXwhBAwBCyAEIAEgASABQgGDfCIDVq18IQQMAQsgBUUN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C14BA38gAEEANgIIIABCADcCACABKAIAIQMgASgCBCIBIANrIgRBAnUiAgRAIAAgAhCuAyAAKAIEIQIgBEUgASADRnJFBEAgAiADIAT8CgAACyAAIAIgBGo2AgQLIAALDQAgACgCACABQQJ0agsXACAAEEcEQCAAIAE2AgQPCyAAIAEQUAthAQF/IwBBEGsiAiQAIAIgADYCDAJAIAAgAUYNAANAIAIgAUEBayIBNgIIIAAgAU8NASACKAIMIAIoAggQ8wIgAiACKAIMQQFqIgA2AgwgAigCCCEBDAALAAsgAkEQaiQAC6wBAQR/IwBBEGsiByQAAkAgAEUNACAEKAIMIQYgAiABa0ECdSIIQQBKBEAgACABIAgQjQIgCEcNAQsgAyABa0ECdSIBIAZIBEAgACAHQQRqIAYgAWsiASAFEP0CIgUQIyABEI0CIQYgBRA5GiABIAZHDQELIAMgAmtBAnUiAUEASgRAIAAgAiABEI0CIAFHDQELIAQoAgwaIARBADYCDCAAIQkLIAdBEGokACAJCycBAX8jAEEQayIDJAAgAyACNgIMIABB5AAgASACENEBIANBEGokAAvbAQIBfwJ+QQEhBAJAIABCAFIgAUL///////////8AgyIFQoCAgICAgMD//wBWIAVCgICAgICAwP//AFEbDQAgAkIAUiADQv///////////wCDIgZCgICAgICAwP//AFYgBkKAgICAgIDA//8AURsNACAAIAKEIAUgBoSEUARAQQAPCyABIAODQgBZBEAgACACVCABIANTIAEgA1EbBEBBfw8LIAAgAoUgASADhYRCAFIPCyAAIAJWIAEgA1UgASADURsEQEF/DwsgACAChSABIAOFhEIAUiEECyAEC+wBAQR/IwBBEGsiBCQAIABBADYCBCMAQRBrIgUkACAEQQA6AA8gACAAKAIAQQxrKAIAahDZASEGIAAgACgCAEEMaygCAGohAwJAIAYEQCADKAJIBEAgACAAKAIAQQxrKAIAaigCSBDFAwsgBCAAIAAoAgBBDGsoAgBqENkBOgAPDAELIANBBBDVAQsgBUEQaiQAQQQhAyAELQAPBEAgACAAIAAoAgBBDGsoAgBqKAIYIgMgASACIAMoAgAoAiARAwAiATYCBEEGQQAgASACRxshAwsgACAAKAIAQQxrKAIAaiADENUBIARB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AxsLPAAgAEEANgIIIABCADcCACAAIAEoAgA2AgAgACABKAIENgIEIAAgASgCCDYCCCABQQA2AgggAUIANwIACywBAX8gAEEANgIIIABCADcCACAAIAEoAgAiAiABKAIEIgEgASACaxDAAyAACwgAIABB/wFxC/wBAQN/IAAoAgQgACgCACIDa0ECdSICIAFJBEAjAEEgayIDJAACQCABIAJrIgIgACgCCCAAKAIEIgFrQQJ1TQRAIAAoAgQiASACQQJ0aiECA0AgASACRgRAIAAgAjYCBAUgAUEANgIAIAFBBGohAQwBCwsMAQsgA0EMaiAAIAEgACgCAGtBAnUgAmoQtgEgACgCBCAAKAIAa0ECdSAAEIcCIgQoAggiASACQQJ0aiECA0AgASACRwRAIAFBADYCACABQQRqIQEMAQsLIAQgAjYCCCAAIAQQhQIgBBCBAgsgA0EgaiQADwsgASACSQRAIAAgAyABQQJ0ajYCBAsLUgECf0HU3gEoAgAiASAAQQdqQXhxIgJqIQACQCACQQAgACABTRtFBEAgAD8AQRB0TQ0BIAAQGA0BC0GI6gFBMDYCAEF/DwtB1N4BIAA2AgAgAQt/AgF+A38CQCAAQoCAgIAQVARAIAAhAgwBCwNAIAFBAWsiASAAIABCCoAiAkIKfn2nQTByOgAAIABC/////58BViACIQANAAsLIAJQRQRAIAKnIQMDQCABQQFrIgEgAyADQQpuIgRBCmxrQTByOgAAIANBCUsgBCEDDQALCyABC78BAQN/IAAoAgQgACgCACIDayICIAFJBEAjAEEgayIDJAACQCABIAJrIgIgACgCCCAAKAIEIgFrTQRAIAAgAhCYAwwBCyACIANBDGogACABIAJqIAAoAgBrELQBIAAoAgQgACgCAGsgABDGASIEKAIIIgFqIQIDQCABIAJHBEAgAUEAOgAAIAFBAWohAQwBCwsgBCACNgIIIAAgBBDvASAEELoBCyADQSBqJAAPCyABIAJJBEAgACABIANqNgIECwt9AQN/AkACQCAAIgFBA3FFDQAgAS0AAEUEQEEADwsDQCABQQFqIgFBA3FFDQEgAS0AAA0ACwwBCwNAIAEiAkEEaiEBQYCChAggAigCACIDayADckGAgYKEeHFBgIGChHhGDQALA0AgAiIBQQFqIQIgAS0AAA0ACwsgASAA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BEBBCiEBIAAQXgwBCyAAEH5BAWshASAAKAIECyIDIAFGBEAgACABQQEgASABEPQBIAAQIxoMAQsgABAjGiAEDQAgACIBIANBAWoQUAwBCyAAKAIAIQEgACADQQFqNgIECyABIANqIgAgAkEPahBdIAJBADoADiAAQQFqIAJBDmoQXSACQRBqJAALoQIBA38jAEEgayIIJABB9////wciCSABQX9zaiACTwRAIAAQIyEKIAFB8////wNJBEAgCCABQQF0NgIcIAggASACajYCECAIQRBqIAhBHGoQoAEoAgAQnwFBAWohCQsgCEEcaiAIQRhqIAAQVSgCABC8ASAIQRBqIAkQngEgCCgCECECIAgoAhQaIAQEQCACIAogBBBNCyAGBEAgAiAEaiAHIAYQTQsgAyAEIAVqIglrIQcgAyAJRwRAIAIgBGogBmogBCAKaiAFaiAHEE0LIAFBCkcEQCAKEIsCCyAAIAI2AgAgACAIKAIUEFwgACAEIAZqIAdqIgA2AgQgCEEAOgAPIAAgAmogCEEPahBdIAhBHGoQuwEgCEEgaiQADwsQWwALCQAgAEEBEKgCCwoAIAAoAgAQHxoLCQAgACABEFUaCwcAIABBAkkLBABBBAsoAQF/IAAgACgCBEEBayIBNgIEIAFBf0YEQCAAIAAoAgAoAggRAgALC5UBAQN/IwBBEGsiBCQAIAQgATYCDCAEIAM2AgggBEEEaiAEQQxqEGMgBCgCCCEDIwBBEGsiASQAIAEgAzYCDCABIAM2AghBfyEFAkBBAEEAIAIgAxDRASIDQQBIDQAgACADQQFqIgMQNCIANgIAIABFDQAgACADIAIgASgCDBDRASEFCyABQRBqJAAQYiAEQRBqJAAgBQsPACAAIAAoAgAoAiQRAAALEQAgACABIAEoAgAoAiARAQALDgAgACABKAIANgIAIAALCABB/////wcLBQBB/wALOwAgACADNgIQIAAgAQR/IAEQUwVBAAsiAzYCACAAIAIgA2oiAjYCCCAAIAEgA2o2AgwgACACNgIEIAALYQEBfyMAQRBrIgIkACACIAA2AgwCQCAAIAFGDQADQCACIAFBBGsiATYCCCAAIAFPDQEgAigCDCACKAIIENcBIAIgAigCDEEEaiIANgIMIAIoAgghAQwACwALIAJBEGokAAs5AgF/AX4jAEEQayIEJAAgAykDACEFIAQgAykDCDcDCCAEIAU3AwAgACABIAIgBBDAASAEQRBqJAAL0AEBAn8gAkGAEHEEQCAAQSs6AAAgAEEBaiEACyACQYAIcQRAIABBIzoAACAAQQFqIQALIAJBhAJxIgNBhAJHBEAgAEGu1AA7AAAgAEECaiEACyACQYCAAXEhAgNAIAEtAAAiBARAIAAgBDoAACAAQQFqIQAgAUEBaiEBDAELCyAAAn8CQCADQYACRwRAIANBBEcNAUHGAEHmACACGwwCC0HFAEHlACACGwwBC0HBAEHhACACGyADQYQCRg0AGkHHAEHnACACGws6AAAgA0GEAkcLKwEBfyMAQRBrIgUkACAFIAQoAgA2AgAgACABIAIgAyAFEJYBIAVBEGokAAuqAQEBfwJAIANBgBBxRSACRXINACADQcoAcSIEQQhGIARBwABGcg0AIABBKzoAACAAQQFqIQALIANBgARxBEAgAEEjOgAAIABBAWohAAsDQCABLQAAIgQEQCAAIAQ6AAAgAEEBaiEAIAFBAWohAQwBCwsgAAJ/Qe8AIANBygBxIgFBwABGDQAaQdgAQfgAIANBgIABcRsgAUEIRg0AGkHkAEH1ACACGws6AAALDAAgABAjIAFBAnRqC5IEAQt/IwBBgAFrIgokACAKIAE2AnwgAiADELUCIQggCkHjADYCECAKQQhqQQAgCkEQaiIJEDYhDwJAAkACQCAIQeUATwRAIAgQNCIJRQ0BIA8gCRA8CyAJIQcgAiEBA0AgASADRgRAA0AgACAKQfwAaiIBECtBASAIGwRAIAAgARArBEAgBSAFKAIAQQJyNgIACwNAIAIgA0YNBiAJLQAAQQJGDQcgCUEBaiEJIAJBDGohAgwACwALIAAQNyEOIAZFBEAgBCAOEEEhDgsgDUEBaiEMQQAhECAJIQcgAiEBA0AgASADRgRAIAwhDSAQRQ0CIAAQPhogCSEHIAIhASAIIAtqQQJJDQIDQCABIANGBEAMBAUCQCAHLQAAQQJHDQAgARAfIA1GDQAgB0EAOgAAIAtBAWshCwsgB0EBaiEHIAFBDGohAQwBCwALAAUCQCAHLQAAQQFHDQAgASANEMwBKAIAIRECQCAGBH8gEQUgBCAREEELIA5GBEBBASEQIAEQHyAMRw0CIAdBAjoAACALQQFqIQsMAQsgB0EAOgAACyAIQQFrIQgLIAdBAWohByABQQxqIQEMAQsACwALAAUgB0ECQQEgARBaIgwbOgAAIAdBAWohByABQQxqIQEgCyAMaiELIAggDGshCAwBCwALAAsQPQALIAUgBSgCAEEEcjYCAAsgDxA1IApBgAFqJAAgAgsRACAAIAEgACgCACgCDBEEAAuTBAELfyMAQYABayIKJAAgCiABNgJ8IAIgAxC1AiEIIApB4wA2AhAgCkEIakEAIApBEGoiCRA2IQ8CQAJAAkAgCEHlAE8EQCAIEDQiCUUNASAPIAkQPAsgCSEHIAIhAQNAIAEgA0YEQANAIAAgCkH8AGoiARAsQQEgCBsEQCAAIAEQLARAIAUgBSgCAEECcjYCAAsDQCACIANGDQYgCS0AAEECRg0HIAlBAWohCSACQQxqIQIMAAsACyAAEDghDiAGRQRAIAQgDhDOASEOCyANQQFqIQxBACEQIAkhByACIQEDQCABIANGBEAgDCENIBBFDQIgABA/GiAJIQcgAiEBIAggC2pBAkkNAgNAIAEgA0YEQAwEBQJAIActAABBAkcNACABEB8gDUYNACAHQQA6AAAgC0EBayELCyAHQQFqIQcgAUEMaiEBDAELAAsABQJAIActAABBAUcNACABIA0QIiwAACERAkAgBgR/IBEFIAQgERDOAQsgDkYEQEEBIRAgARAfIAxHDQIgB0ECOgAAIAtBAWohCwwBCyAHQQA6AAALIAhBAWshCAsgB0EBaiEHIAFBDGohAQwBCwALAAsABSAHQQJBASABEFoiDBs6AAAgB0EBaiEHIAFBDGohASALIAxqIQsgCCAMayEIDAELAAsACxA9AAsgBSAFKAIAQQRyNgIACyAPEDUgCkGAAWokACACC0oBAn8CQCAALQAAIgJFIAIgAS0AACIDR3INAANAIAEtAAEhAyAALQABIgJFDQEgAUEBaiEBIABBAWohACACIANGDQALCyACIANrC4QBAQJ/IwBBoAFrIgQkACAEIAAgBEGeAWogARsiADYClAEgBCABQQFrIgVBACABIAVPGzYCmAEgBEEAQZAB/AsAIARBfzYCTCAEQeIANgIkIARBfzYCUCAEIARBnwFqNgIsIAQgBEGUAWo2AlQgAEEAOgAAIAQgAiADEM0DIARBoAFqJAALuwIBBH8gA0H87QEgAxsiBSgCACEDAkACfwJAIAFFBEAgAw0BQQAPC0F+IAJFDQEaAkAgAwRAIAIhBAwBCyABLQAAIgPAIgRBAE4EQCAABEAgACADNgIACyAEQQBHDwtB3OEBKAIAKAIARQRAQQEgAEUNAxogACAEQf+/A3E2AgBBAQ8LIANBwgFrIgNBMksNASADQQJ0KAKQgQEhAyACQQFrIgRFDQMgAUEBaiEBCyABLQAAIgZBA3YiB0EQayADQRp1IAdqckEHSw0AA0AgBEEBayEEIAZB/wFxQYABayADQQZ0ciIDQQBOBEAgBUEANgIAIAAEQCAAIAM2AgALIAIgBGsPCyAERQ0DIAFBAWoiASwAACIGQUBIDQALCyAFQQA2AgBBiOoBQRk2AgBBfwsPCyAFIAM2AgBBfgsNACAAKAIAIAEoAgBJCwcAIABBC0kLJgAgACAAKAIYRSAAKAIQIAFyciIBNgIQIAAoAhQgAXEEQBA9AAsLBwAgAEEISwscAQF/IAAoAgAhAiAAIAEoAgA2AgAgASACNgIACwwAIABBDGoQ2gEgAAsIACAAKAIQRQsIACAAEIkCGgusCwEHfyAAIAFqIQUCQAJAIAAoAgQiAkEBcQ0AIAJBAnFFDQEgACgCACICIAFqIQECQAJAAkAgACACayIAQaDqASgCAEcEQCAAKAIMIQMgAkH/AU0EQCADIAAoAggiBEcNAkGM6gFBjOoBKAIAQX4gAkEDdndxNgIADAULIAAoAhghBiAAIANHBEAgACgCCCICIAM2AgwgAyACNgIIDAQLIAAoAhQiBAR/IABBFGoFIAAoAhAiBEUNAyAAQRBqCyECA0AgAiEHIAQiA0EUaiECIAMoAhQiBA0AIANBEGohAiADKAIQIgQNAAsgB0EANgIADAMLIAUoAgQiAkEDcUEDRw0DQZTqASABNgIAIAUgAkF+cTYCBCAAIAFBAXI2AgQgBSABNgIADwsgBCADNgIMIAMgBDYCCAwCC0EAIQMLIAZFDQACQCAAKAIcIgJBAnQiBCgCvOwBIABGBEAgBEG87AFqIAM2AgAgAw0BQZDqAUGQ6gEoAgBBfiACd3E2AgAMAgsCQCAAIAYoAhBGBEAgBiADNgIQDAELIAYgAzYCFAsgA0UNAQsgAyAGNgIYIAAoAhAiAgRAIAMgAjYCECACIAM2AhgLIAAoAhQiAkUNACADIAI2AhQgAiADNgIYCwJAAkACQAJAIAUoAgQiAkECcUUEQEGk6gEoAgAgBUYEQEGk6gEgADYCAEGY6gFBmOoBKAIAIAFqIgE2AgAgACABQQFyNgIEIABBoOoBKAIARw0GQZTqAUEANgIAQaDqAUEANgIADwtBoOoBKAIAIgggBUYEQEGg6gEgADYCAEGU6gFBlOoBKAIAIAFqIgE2AgAgACABQQFyNgIEIAAgAWogATYCAA8LIAJBeHEgAWohASAFKAIMIQMgAkH/AU0EQCAFKAIIIgQgA0YEQEGM6gFBjOoBKAIAQX4gAkEDdndxNgIADAULIAQgAzYCDCADIAQ2AggMBAsgBSgCGCEGIAMgBUcEQCAFKAIIIgIgAzYCDCADIAI2AggMAwsgBSgCFCIEBH8gBUEUagUgBSgCECIERQ0CIAVBEGoLIQIDQCACIQcgBCIDQRRqIQIgAygCFCIEDQAgA0EQaiECIAMoAhAiBA0ACyAHQQA2AgAMAgsgBSACQX5xNgIEIAAgAUEBcjYCBCAAIAFqIAE2AgAMAwtBACEDCyAGRQ0AAkAgBSgCHCICQQJ0IgQoArzsASAFRgRAIARBvOwBaiADNgIAIAMNAUGQ6gFBkOoBKAIAQX4gAndxNgIADAILAkAgBSAGKAIQRgRAIAYgAzYCEAwBCyAGIAM2AhQLIANFDQELIAMgBjYCGCAFKAIQIgIEQCADIAI2AhAgAiADNgIYCyAFKAIUIgJFDQAgAyACNgIUIAIgAzYCGAsgACABQQFyNgIEIAAgAWogATYCACAAIAhHDQBBlOoBIAE2AgAPCyABQf8BTQRAIAFBeHFBtOoBaiECAn9BjOoBKAIAIgNBASABQQN2dCIBcUUEQEGM6gEgASADcjYCACACDAELIAIoAggLIQEgAiAANgIIIAEgADYCDCAAIAI2AgwgACABNgIIDwtBHyEDIAFB////B00EQCABQSYgAUEIdmciAmt2QQFxIAJBAXRrQT5qIQMLIAAgAzYCHCAAQgA3AhAgA0ECdEG87AFqIQICQAJAQZDqASgCACIEQQEgA3QiB3FFBEBBkOoBIAQgB3I2AgAgAiAANgIAIAAgAjYCGAwBCyABQRkgA0EBdmtBACADQR9HG3QhAyACKAIAIQIDQCACIgQoAgRBeHEgAUYNAiADQR12IQIgA0EBdCEDIAQgAkEEcWoiBygCECICDQALIAcgADYCECAAIAQ2AhgLIAAgADYCDCAAIAA2AggPCyAEKAIIIgEgADYCDCAEIAA2AgggAEEANgIYIAAgBDYCDCAAIAE2AggLC40IAQt/IABFBEAgARA0DwsgAUFATwRAQYjqAUEwNgIAQQAPCwJ/QRAgAUELakF4cSABQQtJGyEGIABBCGsiBCgCBCIJQXhxIQgCQCAJQQNxRQRAIAZBgAJJDQEgBkEEaiAITQRAIAQhAiAIIAZrQeztASgCAEEBdE0NAgtBAAwCCyAEIAhqIQcCQCAGIAhNBEAgCCAGayIDQRBJDQEgBCAGIAlBAXFyQQJyNgIEIAQgBmoiAiADQQNyNgIEIAcgBygCBEEBcjYCBCACIAMQ2wEMAQtBpOoBKAIAIAdGBEBBmOoBKAIAIAhqIgggBk0NAiAEIAYgCUEBcXJBAnI2AgQgBCAGaiIDIAggBmsiAkEBcjYCBEGY6gEgAjYCAEGk6gEgAzYCAAwBC0Gg6gEoAgAgB0YEQEGU6gEoAgAgCGoiAyAGSQ0CAkAgAyAGayICQRBPBEAgBCAGIAlBAXFyQQJyNgIEIAQgBmoiCCACQQFyNgIEIAMgBGoiAyACNgIAIAMgAygCBEF+cTYCBAwBCyAEIAlBAXEgA3JBAnI2AgQgAyAEaiICIAIoAgRBAXI2AgRBACECQQAhCAtBoOoBIAg2AgBBlOoBIAI2AgAMAQsgBygCBCIDQQJxDQEgA0F4cSAIaiILIAZJDQEgCyAGayEMIAcoAgwhBQJAIANB/wFNBEAgBygCCCICIAVGBEBBjOoBQYzqASgCAEF+IANBA3Z3cTYCAAwCCyACIAU2AgwgBSACNgIIDAELIAcoAhghCgJAIAUgB0cEQCAHKAIIIgIgBTYCDCAFIAI2AggMAQsCQCAHKAIUIgIEfyAHQRRqBSAHKAIQIgJFDQEgB0EQagshCANAIAghAyACIgVBFGohCCACKAIUIgINACAFQRBqIQggBSgCECICDQALIANBADYCAAwBC0EAIQULIApFDQACQCAHKAIcIgNBAnQiAigCvOwBIAdGBEAgAkG87AFqIAU2AgAgBQ0BQZDqAUGQ6gEoAgBBfiADd3E2AgAMAgsCQCAHIAooAhBGBEAgCiAFNgIQDAELIAogBTYCFAsgBUUNAQsgBSAKNgIYIAcoAhAiAgRAIAUgAjYCECACIAU2AhgLIAcoAhQiAkUNACAFIAI2AhQgAiAFNgIYCyAMQQ9NBEAgBCAJQQFxIAtyQQJyNgIEIAQgC2oiAiACKAIEQQFyNgIEDAELIAQgBiAJQQFxckECcjYCBCAEIAZqIgMgDEEDcjYCBCAEIAtqIgIgAigCBEEBcjYCBCADIAwQ2wELIAQhAgsgAgsiAgRAIAJBCGoPCyABEDQiBEUEQEEADwsgBCAAQXxBeCAAQQRrKAIAIgJBA3EbIAJBeHFqIgIgASABIAJLGxBxGiAAEC0gBAsWACAARQRAQQAPC0GI6gEgADYCAEF/C30BAn8jAEEQayIBJAAgAUEKOgAPAkACQCAAKAIQIgIEfyACBSAAEN8BDQIgACgCEAsgACgCFCICRg0AIAAoAlBBCkYNACAAIAJBAWo2AhQgAkEKOgAADAELIAAgAUEPakEBIAAoAiQRAwBBAUcNACABLQAPGgsgAUEQaiQAC1kBAX8gACAAKAJIIgFBAWsgAXI2AkggACgCACIBQQhxBEAgACABQSByNgIAQX8PCyAAQgA3AgQgACAAKAIsIgE2AhwgACABNgIUIAAgASAAKAIwajYCEEEAC+IBAQJ/IAJBAEchAwJAAkACQCAAQQNxRSACRXINACABQf8BcSEEA0AgAC0AACAERg0CIAJBAWsiAkEARyEDIABBAWoiAEEDcUUNASACDQALCyADRQ0BIAFB/wFxIgMgAC0AAEYgAkEESXJFBEAgA0GBgoQIbCEDA0BBgIKECCAAKAIAIANzIgRrIARyQYCBgoR4cUGAgYKEeEcNAiAAQQRqIQAgAkEEayICQQNLDQALCyACRQ0BCyABQf8BcSEBA0AgASAALQAARgRAIAAPCyAAQQFqIQAgAkEBayICDQALC0EACwIACwQAQQELoBABFn8jAEFAaiIGQgA3AzAgBkIANwM4IAZCADcDICAGQgA3AygCQAJAAn8CQAJ/IAIEQCACQQRPBEAgAUEGaiEIIAFBBGohDSABQQJqIQsgAkF8cSEMA0AgBkEgaiIPIAEgCkEBdCIJai8BAEEBdGoiESARLwEAQQFqOwEAIAkgC2ovAQBBAXQgD2oiESARLwEAQQFqOwEAIAkgDWovAQBBAXQgD2oiESARLwEAQQFqOwEAIAggCWovAQBBAXQgD2oiCSAJLwEAQQFqOwEAIApBBGohCiAOQQRqIg4gDEcNAAsLIAJBA3EiCQRAA0AgBkEgaiABIApBAXRqLwEAQQF0aiIIIAgvAQBBAWo7AQAgCkEBaiEKIAdBAWoiByAJRw0ACwsgBCgCACIKIAYvAT4iEEUNARpBDyELDAILIAQoAgALIQpBACEQIAYvATwEQEEOIQsMAQsgBi8BOgRAQQ0hCwwBCyAGLwE4BEBBDCELDAELIAYvATYEQEELIQsMAQsgBi8BNARAQQohCwwBCyAGLwEyBEBBCSELDAELIAYvATAEQEEIIQsMAQsgBi8BLgRAQQchCwwBCyAGLwEsBEBBBiELDAELIAYvASoEQEEFIQsMAQsgBi8BKARAQQQhCwwBCyAGLwEmBEBBAyELDAELIAYvASQEQEECIQsMAQsgBi8BIkUEQCADIAMoAgAiAEEEajYCACAAQcACNgEAIAMgAygCACIAQQRqNgIAIABBwAI2AQBBASEMDAMLIApBAEchCUEBIQtBASEKQQAMAQsgCiALIAogC0kbIQlBASEKAkADQCAGQSBqIApBAXRqLwEADQEgCkEBaiIKIAtHDQALIAshCgtBAQshD0F/IQcgBi8BIiIIQQJLDQFBBCAIQQF0a0H+/wNxIAYvASQiDWsiDkEASA0BIA5BAXQgBi8BJiIOayIMQQBIDQEgDEEBdCAGLwEoIgxrIhFBAEgNASARQQF0IAYvASoiEWsiGEEASA0BIBhBAXQgBi8BLCIYayISQQBIDQEgEkEBdCAGLwEuIhJrIhNBAEgNASATQQF0IAYvATAiE2siFEEASA0BIBRBAXQgBi8BMiIUayIVQQBIDQEgFUEBdCAGLwE0IhVrIhdBAEgNASAXQQF0IAYvATYiF2siFkEASA0BIBZBAXQgBi8BOCIWayIZQQBIDQEgGUEBdCAGLwE6IhlrIhpBAEgNASAaQQF0IAYvATwiGmsiG0EASA0BIBtBAXQiGyAQSSAQIBtHQQAgAEUgD3Ibcg0BIAkgCkshEEEAIQcgBkEAOwECIAYgCDsBBCAGIAggDWoiCDsBBiAGIAggDmoiCDsBCCAGIAggDGoiCDsBCiAGIAggEWoiCDsBDCAGIAggGGoiCDsBDiAGIAggEmoiCDsBECAGIAggE2oiCDsBEiAGIAggFGoiCDsBFCAGIAggFWoiCDsBFiAGIAggF2oiCDsBGCAGIAggFmoiCDsBGiAGIAggGWoiCDsBHCAGIAggGmo7AR4CQCACRQ0AIAJBAUcEQCACQX5xIQhBACEOA0AgASAHQQF0ai8BACINBEAgBiANQQF0aiINIA0vAQAiDUEBajsBACAFIA1BAXRqIAc7AQALIAEgB0EBciINQQF0ai8BACIMBEAgBiAMQQF0aiIMIAwvAQAiDEEBajsBACAFIAxBAXRqIA07AQALIAdBAmohByAOQQJqIg4gCEcNAAsLIAJBAXFFDQAgASAHQQF0ai8BACICRQ0AIAYgAkEBdGoiAiACLwEAIgJBAWo7AQAgBSACQQF0aiAHOwEACyAJIAogEBshDEEUIRJBACEXIAUiCCERQQAhEwJAAkACQCAADgICAAELQQEhByAMQQlLDQNBgQIhEkHA7QAhEUGA7QAhCEEBIRMMAQsgAEECRiEXQQAhEkHA7gAhEUGA7gAhCCAAQQJHBEAMAQtBASEHIAxBCUsNAgtBASAMdCIUQQFrIRkgAygCACEVQQAhAiAMIQlBACEAQQAhEEF/IQ0DQEEBIAl0IRgCQANAAn9BACASIAUgAkEBdGovAQAiCUEBaksNABogCSASSQRAQQAhCUHgAAwBCyAIIAkgEmtBAXQiB2ovAQAhCSAHIBFqLQAACyEOQX8gCiAAayIPdCEaIBUgECAAdkECdGohGyAYIQcDQCAbIAcgGmoiB0ECdGoiFiAJOwECIBYgDzoAASAWIA46AAAgBw0AC0EBIApBAWt0IQ4DQCAOIgdBAXYhDiAHIBBxDQALIAZBIGogCkEBdGoiCSAJLwEAQQFrIgk7AQAgB0EBayAQcSAHakEAIAcbIRAgAkEBaiECIAlB//8DcUUEQCAKIAtGDQIgASAFIAJBAXRqLwEAQQF0ai8BACEKCyAKIAxNDQAgECAZcSIOIA1GDQALQQEgCiAAIAwgABsiAGsiCXQhDyAKIAtJBEAgAEEBaiEWIAsgAGshDSAKIQcCQANAIA8gBkEgaiAHQQF0ai8BAGsiB0EATA0BIAdBAXQhDyAJIBZqIQcgCUEBaiEJIAcgC0kNAAsgDSEJC0EBIAl0IQ8LQQEhByATIA8gFGoiFEHUBktxIBcgFEHQBEtxcg0DIAMoAgAiDSAOQQJ0aiIHIAw6AAEgByAJOgAAIAcgFSAYQQJ0aiIVIA1rQQJ2OwECIA4hDQwBCwsgEARAIBUgEEECdGoiAEEAOwECIAAgDzoAASAAQcAAOgAACyADIAMoAgAgFEECdGo2AgALIAQgDDYCAEEAIQcLIAcLqgEBA38gASwAC0EATgRAIAAgASkCADcCACAAIAEoAgg2AggPCyABKAIAIQQgASgCBCECIwBBEGsiAyQAAkACQAJAIAIQ1AEEQCAAIgEgAhBQDAELIAJB9////wdLDQEgA0EIaiACEJ8BQQFqEJ4BIAMoAgwaIAAgAygCCCIBNgIAIAAgAygCDBBcIAAgAjYCBAsgASAEIAJBAWoQTSADQRBqJAAMAQsQWwALC0sBAn8gACgCBCIHQQh1IQYgB0EBcQRAIAMoAgAgBhDoASEGCyAAKAIAIgAgASACIAMgBmogBEECIAdBAnEbIAUgACgCACgCFBEKAAsgAAJAIAEgACgCBEcNACAAKAIcQQFGDQAgACACNgIcCwuaAQAgAEEBOgA1AkAgAiAAKAIERw0AIABBAToANAJAIAAoAhAiAkUEQCAAQQE2AiQgACADNgIYIAAgATYCECADQQFHDQIgACgCMEEBRg0BDAILIAEgAkYEQCAAKAIYIgJBAkYEQCAAIAM2AhggAyECCyAAKAIwQQFHDQIgAkEBRg0BDAILIAAgACgCJEEBajYCJAsgAEEBOgA2CwsKACAAIAFqKAIAC3YBAX8gACgCJCIDRQRAIAAgAjYCGCAAIAE2AhAgAEEBNgIkIAAgACgCODYCFA8LAkACQCAAKAIUIAAoAjhHDQAgACgCECABRw0AIAAoAhhBAkcNASAAIAI2AhgPCyAAQQE6ADYgAEECNgIYIAAgA0EBajYCJAsLrQEBA38jAEEQayICJAAgAiABNgIMAkACQAJ/IAAQRyIERQRAQQEhASAAEF4MAQsgABB+QQFrIQEgACgCBAsiAyABRgRAIAAgAUEBIAEgARDoAiAAECMaDAELIAAQIxogBA0AIAAiASADQQFqEFAMAQsgACgCACEBIAAgA0EBajYCBAsgASADQQJ0aiIAIAJBDGoQViACQQA2AgggAEEEaiACQQhqEFYgAkEQaiQACwUAED0ACycBAX8gACgCACEBIwBBEGsiACQAIAAgATYCDCAAKAIMIABBEGokAAsXACAAKAIIEC5HBEAgACgCCBCgAwsgAAs0AQF/IwBBEGsiAyQAIAMgAjYCDCADQQhqIANBDGoQYyAAIAEQlgIhABBiIANBEGokACAAC40BAQN/IAEoAgQgACgCACICIAAoAgQiA2tqIQQgAyACayIDBEAgBCACIAP8CgAACyABIAQ2AgQgACAAKAIAIgI2AgQgACABKAIENgIAIAEgAjYCBCAAKAIEIQIgACABKAIINgIEIAEgAjYCCCAAKAIIIQIgACABKAIMNgIIIAEgAjYCDCABIAEoAgQ2AgALMwEBfyMAQRBrIgIkACACIAAoAgA2AgwgAiACKAIMIAFBAnRqNgIMIAIoAgwgAkEQaiQACxkBAX9BASEBIAAQRwR/IAAQfkEBawVBAQsLBwAgAEEEagswAQF/IwBBEGsiAiQAIAIgACgCADYCDCACIAIoAgwgAWo2AgwgAigCDCACQRBqJAAL9wEBBX8jAEEQayIGJAAgBkEMaiIIIAZBCGogABBVKAIAELwBIwBBEGsiBSQAAkBB9////wcgAWsgAk8EQCAAECMhByAFQQRqIgkgAUHz////A0kEfyAFIAFBAXQ2AgwgBSABIAJqNgIEIAkgBUEMahCgASgCABCfAUEBagVB9////wcLEJ4BIAUoAgQhAiAFKAIIGiAEBEAgAiAHIAQQTQsgAyAERwRAIAIgBGogBCAHaiADIARrEE0LIAFBCkcEQCAHEIsCCyAAIAI2AgAgACAFKAIIEFwgBUEQaiQADAELEFsACyAAIAM2AgQgCBC7ASAGQRBqJAALCgAgASAAa0ECdQsPACAAIAAoAgBBBGo2AgALIAEBfyMAQRBrIgEkACABQQxqIAAQVSgCACABQRBqJAALDwAgACAAKAIAQQFqNgIAC1kBAn8jAEEQayIDJAAgAigCACEEIAACfyABIABrQQJ1IgIEQANAIAAgBCAAKAIARg0CGiAAQQRqIQAgAkEBayICDQALC0EACyIAIAEgABsQjgEgA0EQaiQAC/gDAQF/IwBBEGsiDCQAIAwgADYCDAJAAkAgACAFRgRAIAEtAABBAUcNAUEAIQAgAUEAOgAAIAQgBCgCACIBQQFqNgIAIAFBLjoAACAHEB9FDQIgCSgCACIBIAhrQZ8BSg0CIAooAgAhAiAJIAFBBGo2AgAgASACNgIADAILAkACQCAAIAZHDQAgBxAfRQ0AIAEtAABBAUcNAiAJKAIAIgAgCGtBnwFKDQEgCigCACEBIAkgAEEEajYCACAAIAE2AgBBACEAIApBADYCAAwDCyALIAtB8ABqIAxBDGoQ+QEgC2siAEECdSIGQRtKDQEgBkHQnwFqLAAAIQUCQAJAIABBe3EiAEHYAEcEQCAAQeAARw0BIAMgBCgCACIBRwRAQX8hACABQQFrLAAAEJ0BIAIsAAAQnQFHDQYLIAQgAUEBajYCACABIAU6AAAMAwsgAkHQADoAAAwBCyAFEJ0BIgAgAiwAAEcNACACIAAQsQM6AAAgAS0AAEEBRw0AIAFBADoAACAHEB9FDQAgCSgCACIAIAhrQZ8BSg0AIAooAgAhASAJIABBBGo2AgAgACABNgIACyAEIAQoAgAiAEEBajYCACAAIAU6AABBACEAIAZBFUoNAiAKIAooAgBBAWo2AgAMAgtBACEADAELQX8hAAsgDEEQaiQAIAALUAECfyMAQRBrIgYkACAGQQxqIgUgARAnIAUQSEHQnwFB7J8BIAIQbyADIAUQmQEiARB4NgIAIAQgARBZNgIAIAAgARBYIAUQJSAGQRBqJAALGAAgAEGQ9wA2AgAgAEEgahAgGiAAEJQCCy8BAX8jAEEQayIDJAAgACAAIAIsAAAgASAAaxDgASIAIAEgABsQjgEgA0EQaiQAC/ADAQF/IwBBEGsiDCQAIAwgADoADwJAAkAgACAFRgRAIAEtAABBAUcNAUEAIQAgAUEAOgAAIAQgBCgCACIBQQFqNgIAIAFBLjoAACAHEB9FDQIgCSgCACIBIAhrQZ8BSg0CIAooAgAhAiAJIAFBBGo2AgAgASACNgIADAILAkACQCAAIAZHDQAgBxAfRQ0AIAEtAABBAUcNAiAJKAIAIgAgCGtBnwFKDQEgCigCACEBIAkgAEEEajYCACAAIAE2AgBBACEAIApBADYCAAwDCyALIAtBHGogDEEPahD9ASALayIFQRtKDQEgBUHQnwFqLAAAIQYCQAJAAkACQCAFQX5xQRZrDgMBAgACCyADIAQoAgAiAUcEQEF/IQAgAUEBaywAABCdASACLAAAEJ0BRw0GCyAEIAFBAWo2AgAgASAGOgAADAMLIAJB0AA6AAAMAQsgBhCdASIAIAIsAABHDQAgAiAAELEDOgAAIAEtAABBAUcNACABQQA6AAAgBxAfRQ0AIAkoAgAiACAIa0GfAUoNACAKKAIAIQEgCSAAQQRqNgIAIAAgATYCAAsgBCAEKAIAIgBBAWo2AgAgACAGOgAAQQAhACAFQRVKDQIgCiAKKAIAQQFqNgIADAILQQAhAAwBC0F/IQALIAxBEGokACAAC1ABAn8jAEEQayIGJAAgBkEMaiIFIAEQJyAFEElB0J8BQeyfASACEHkgAyAFEJsBIgEQeDoAACAEIAEQWToAACAAIAEQWCAFECUgBkEQaiQAC34CAn8CfiMAQaABayIEJAAgBCABNgI8IAQgATYCFCAEQX82AhggBEEQaiIFQgAQZCAEIAUgA0EBEKgDIAQpAwghBiAEKQMAIQcgAgRAIAIgBCgCiAEgASAEKAIUIAQoAjxramo2AgALIAAgBjcDCCAAIAc3AwAgBEGgAWokAAsJACAAQQQQqAILDQAgACABIAJCfxCEAgucAQEDf0E1IQECQCAAKAIcIgIgACgCGCIDQQZqQQdwa0EHakEHbiADIAJrIgJB8QJqQQdwQQNJaiIDQTVHBEAgAyIBDQFBNCEBAkACQCACQQZqQQdwQQRrDgIBAAMLIAAoAhRBkANvQQFrEJ0DRQ0CC0E1DwsCQAJAIAJB8wJqQQdwQQNrDgIAAgELIAAoAhQQnQMNAQtBASEBCyABC5sEAgd/BH4jAEEQayIIJAACQAJAAkAgAkEkTARAIAAtAAAiBQ0BIAAhBAwCC0GI6gFBHDYCAEIAIQMMAgsgACEEAkADQCAFwBB9RQ0BIAQtAAEhBSAEQQFqIQQgBQ0ACwwBCwJAIAVB/wFxIgZBK2sOAwABAAELQX9BACAGQS1GGyEHIARBAWohBAsCfwJAIAJBEHJBEEcNACAELQAAQTBHDQBBASEJIAQtAAFB3wFxQdgARgRAIARBAmohBEEQDAILIARBAWohBCACQQggAhsMAQsgAkEKIAIbCyIKrSEMQQAhAgNAAkACQCAELQAAIgZBMGsiBUH/AXFBCkkNACAGQeEAa0H/AXFBGU0EQCAGQdcAayEFDAELIAZBwQBrQf8BcUEZSw0BIAZBN2shBQsgCiAFQf8BcUwNACAIIAxCACALQgAQQEEBIQYCQCAIKQMIQgBSDQAgCyAMfiINIAWtQv8BgyIOQn+FVg0AIA0gDnwhC0EBIQkgAiEGCyAEQQFqIQQgBiECDAELCyABBEAgASAEIAAgCRs2AgALAkACQCACBEBBiOoBQcQANgIAIAdBACADQgGDIgxQGyEHIAMhCwwBCyADIAtWDQEgA0IBgyEMCyAMpyAHckUEQEGI6gFBxAA2AgAgA0IBfSEDDAILIAMgC1oNAEGI6gFBxAA2AgAMAQsgCyAHrCIDhSADfSEDCyAIQRBqJAAgAwuIAQEDfyABKAIEIAAoAgQgACgCACIEayICayEDIAIEQCADIAQgAvwKAAALIAEgAzYCBCAAIAAoAgAiAjYCBCAAIAEoAgQ2AgAgASACNgIEIAAoAgQhAiAAIAEoAgg2AgQgASACNgIIIAAoAgghAiAAIAEoAgw2AgggASACNgIMIAEgASgCBDYCAAuaAwEIfwJAIAAiAUEDcQRAA0AgAS0AACICRSACQT1Gcg0CIAFBAWoiAUEDcQ0ACwsCQAJAQYCChAggASgCACIDayADckGAgYKEeHFBgIGChHhHDQADQEGAgoQIIANBvfr06QNzIgJrIAJyQYCBgoR4cUGAgYKEeEcNASABKAIEIQMgAUEEaiICIQEgA0GAgoQIIANrckGAgYKEeHFBgIGChHhGDQALDAELIAEhAgsDQCACIgEtAAAiA0UNASABQQFqIQIgA0E9Rw0ACwsgACABRgRAQQAPCwJAIAAgASAAayIDai0AAA0AQYDuASgCACIERQ0AIAQoAgAiAUUNAANAAkACfyAAIQJBACADIgZFDQAaIAAtAAAiBQR/AkADQCAFIAEtAAAiB0cgB0VyDQEgBkEBayIGRQ0BIAFBAWohASACLQABIQUgAkEBaiECIAUNAAtBACEFCyAFBUEACyABLQAAawtFBEAgBCgCACADaiIBLQAAQT1GDQELIAQoAgQhASAEQQRqIQQgAQ0BDAILCyABQQFqIQgLIAgLSgEBfyAAIAM2AhAgAEEANgIMIAEEQCABELMCIQQLIAAgBDYCACAAIAQgAkECdGoiAjYCCCAAIAQgAUECdGo2AgwgACACNgIEIAALRAEBfyMAQRBrIgUkACAFIAEgAiADIARCgICAgICAgICAf4UQSiAFKQMAIQEgACAFKQMINwMIIAAgATcDACAFQRBqJAALcgECfyAAQYj+ADYCACAAKAIcBEAgACgCKCEBA0AgAQRAQQAgACABQQFrIgFBAnQiAiAAKAIkaigCACAAKAIgIAJqKAIAEQUADAELCyAAQRxqECUgACgCIBAtIAAoAiQQLSAAKAIwEC0gACgCPBAtCyAACwcAIAEgAGsLDABBARDWARogABAtCwkAIAAQsQEQLQsTACAAIAEgAiAAKAIAKAIwEQMACwkAIAAQ2AEQLQsMACAAQQRqENoBIAALDAAgAEEIahDaASAACygBAn8jAEEQayICJAAgASgCACAAKAIASCEDIAJBEGokACABIAAgAxsLEAAgACABNwMIIABCADcDAAsCAAsUACAAQZj1ADYCACAAQQRqECUgAAvyAwICfgV/IwBBIGsiBSQAIAFC////////P4MhAgJ+IAFCMIhC//8BgyIDpyIEQYH4AGtB/Q9NBEAgAkIEhiAAQjyIhCECIARBgPgAa60hAwJAIABC//////////8PgyIAQoGAgICAgICACFoEQCACQgF8IQIMAQsgAEKAgICAgICAgAhSDQAgAkIBgyACfCECC0IAIAIgAkL/////////B1YiBBshACAErSADfAwBCyAAIAKEUCADQv//AVJyRQRAIAJCBIYgAEI8iIRCgICAgICAgASEIQBC/w8MAQsgBEH+hwFLBEBCACEAQv8PDAELQYD4AEGB+AAgA1AiBxsiCCAEayIGQfAASgRAQgAhAEIADAELIAVBEGogACACIAJCgICAgICAwACEIAcbIgJBgAEgBmsQRCAFIAAgAiAGEIoBIAUpAwhCBIYgBSkDACICQjyIhCEAAkAgBCAIRyAFKQMQIAUpAxiEQgBSca0gAkL//////////w+DhCICQoGAgICAgICACFoEQCAAQgF8IQAMAQsgAkKAgICAgICAgAhSDQAgAEIBgyAAfCEACyAAQoCAgICAgIAIhSAAIABC/////////wdWIgQbIQAgBK0LIQIgBUEgaiQAIAFCgICAgICAgICAf4MgAkI0hoQgAIS/C4kCAAJAIAAEfyABQf8ATQ0BAkBB3OEBKAIAKAIARQRAIAFBgH9xQYC/A0YNAwwBCyABQf8PTQRAIAAgAUE/cUGAAXI6AAEgACABQQZ2QcABcjoAAEECDwsgAUGAQHFBgMADRyABQYCwA09xRQRAIAAgAUE/cUGAAXI6AAIgACABQQx2QeABcjoAACAAIAFBBnZBP3FBgAFyOgABQQMPCyABQYCABGtB//8/TQRAIAAgAUE/cUGAAXI6AAMgACABQRJ2QfABcjoAACAA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AXI2AgQgCSAGIAkoAgBBAXFyQQJyNgIAIAEgBmoiAiACKAIEQQFyNgIEIAEgBhDbAQsCQCAAKAIEIgJBA3FFDQAgAkF4cSIBIAVBEGpNDQAgACAFIAJBAXFyQQJyNgIEIAAgBWoiBCABIAVrIgJBA3I2AgQgACABaiIBIAEoAgRBAXI2AgQgBCACENsBCyAAQQhqCwsiAEUNARogCCAANgIMQQAhAQsgAQshAEEAIAgoAgwgABshAQsgCEEQaiQAIAENAEHk/gEoAgAiAEUNACAAEQwADAELCyABRQRAEOsBCyABCwoAIAEgAGtBDG0LCQAgABAuNgIACyMBAn8gACEBA0AgASICQQRqIQEgAigCAA0ACyACIABrQQJ1Cy8BAX8jAEEQayIDJAACQCAAIAFGBEAgAEEAOgB4DAELIAEgAhCpAQsgA0EQaiQACxAAIAAoAgggACgCAGtBAnULCQAgAEEANgIAC0kBAX8jAEEQayIDJAACQAJAIAJBHksNACABLQB4QQFxDQAgAUEBOgB4DAELIAIQwQIhAQsgA0EQaiQAIAAgAjYCBCAAIAE2AgALOgECfyMAQRBrIgAkACAAQf////8DNgIMIABB/////wc2AgggAEEMaiAAQQhqELUDKAIAIABBEGokAAs0AQF/IwBBEGsiAyQAIAMgARBzNgIMIAMgAhBzNgIIIAAgA0EMaiADQQhqEGYgA0EQaiQAC04BAX8jAEEQayIDJAAgAyABNgIIIAMgADYCDCADIAI2AgRBACEBIANBBGoiACADQQxqENMBRQRAIAAgA0EIahDTASEBCyADQRBqJAAgAQswAQF/IwBBEGsiAyQAIAMgATYCDCADIAI2AgggACADQQxqIANBCGoQZiADQRBqJAALMwEBfyMAQRBrIgMkACAAEB8aIAAgAhCDASADQQA6AA8gASACaiADQQ9qEF0gA0EQaiQACzEAIABB/////wNLBEAQqgIACwJ/IABBAnQhAEEEENYBBEAgAEEEELQCDAELIAAQUwsLCQAgABDtARAtCxUAIABB8KoBNgIAIABBEGoQIBogAAsVACAAQciqATYCACAAQQxqECAaIAALgAMBBH8gAiEAA0ACQCAEIAdNIAAgA09yDQAgACwAACIBQf8BcSEFAn9BASABQQBODQAaIAFBQkkNASABQV9NBEAgAyAA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ZEYNAEEAIQAgC0EANgIQIBEgDygCACALKAJkIAtBEGoQQyALKAIQBEAgBSAFKAIAQQRyNgIADAELQQEhAAsgEBAgGiANECAaIA4QIBogDBAgGiARECAaIA8QNQwDCyACIQELIANBAWohAwwACwALIAtBkARqJAAgAAsMACAAQQFBLRD9AhoLCwAgAEEBQS0QsAILHAEBfyAALQAAIQIgACABLQAAOgAAIAEgAjoAAAtlAQF/IwBBEGsiBiQAIAZBADoADyAGIAU6AA4gBiAEOgANIAZBJToADCAFBEAgBkENaiAGQQ5qEPMCCyACIAEgASACKAIAEIoCIAZBDGogAyAAKAIAEJ4DIAFqNgIAIAZBEGokAAtBACABIAIgAyAEQQQQZyEBIAMtAABBBHFFBEAgACABQdAPaiABQewOaiABIAFB5ABJGyABQcUASBtB7A5rNgIACwtAACACIAMgAEEIaiAAKAIIKAIEEQAAIgAgAEGgAmogBSAEQQAQzQEgAGsiAEGfAkwEQCABIABBDG1BDG82AgALC0AAIAIgAyAAQQhqIAAoAggoAgARAAAiACAAQagBaiAFIARBABDNASAAayIAQacBTARAIAEgAEEMbUEHbzYCAAsLQQAgASACIAMgBEEEEGghASADLQAAQQRxRQRAIAAgAUHQD2ogAUHsDmogASABQeQASRsgAUHFAEgbQewOazYCAAsLQAAgAiADIABBCGogACgCCCgCBBEAACIAIABBoAJqIAUgBEEAEM8BIABrIgBBnwJMBEAgASAAQQxtQQxvNgIACwtAACACIAMgAEEIaiAAKAIIKAIAEQAAIgAgAEGoAWogBSAEQQAQzwEgAGsiAEGnAUwEQCABIABBDG1BB282AgALCxgBAX9BDBBTIgBBADYCCCAAQgA3AgAgAAsEAEECC8oBAQR/IwBBEGsiAyQAAkAgAUH3////A00EQAJAIAEQvQEEQCAAIAEQUCAAIQQMAQsgA0EIaiABEJABQQFqEI8BIAMoAgwaIAAgAygCCCIENgIAIAAgAygCDBBcIAAgATYCBAsjAEEQayIFJAAgBSACNgIMIAQhBiABIQIDQCACBEAgBiAFKAIMNgIAIAJBAWshAiAGQQRqIQYMAQsLIAVBEGokACADQQA2AgQgBCABQQJ0aiADQQRqEFYgA0EQaiQADAELEFsA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hoRCAEKAgICAgIDAwz8QLyAFKQNIIQIgBSkDQCEEDAELIAlC////////P4MgBiAHcq1CMIaEIQILIAAgBDcDACAAIAI3AwggBUGAAWokAAuIEAIFfw9+IwBB0AJrIgUkACAEQv///////z+DIQsgAkL///////8/gyEKIAIgBIVCgICAgICAgICAf4MhDCAEQjCIp0H//wFxIQcCQAJAIAJCMIinQf//AXEiCEH//wFrQYKAfk8EQCAHQf//AWtBgYB+Sw0BCyABUCACQv///////////wCDIg5CgICAgICAwP//AFQgDkKAgICAgIDA//8AURtFBEAgAkKAgICAgIAghCEMDAILIANQIARC////////////AIMiAkKAgICAgIDA//8AVCACQoCAgICAgMD//wBRG0UEQCAEQoCAgICAgCCEIQwgAyEBDAILIAEgDkKAgICAgIDA//8AhYRQBEAgAyACQoCAgICAgMD//wCFhFAEQEIAIQFCgICAgICA4P//ACEMDAMLIAxCgICAgICAwP//AIQhDEIAIQEMAgsgAyACQoCAgICAgMD//wCFhFAEQEIAIQEMAgsgASAOhFAEQEKAgICAgIDg//8AIAwgAiADhFAbIQxCACEBDAILIAIgA4RQBEAgDEKAgICAgIDA//8AhCEMQgAhAQwCCyAOQv///////z9YBEAgBUHAAmogASAKIAEgCiAKUCIGG3lCwABCACAGG3ynIgZBD2sQREEQIAZrIQYgBSkDyAIhCiAFKQPAAiEBCyACQv///////z9WDQAgBUGwAmogAyALIAMgCyALUCIJG3lCwABCACAJG3ynIglBD2sQRCAGIAlqQRBrIQYgBSkDuAIhCyAFKQOwAiEDCyAFQaACaiALQoCAgICAgMAAhCISQg+GIANCMYiEIgJCAEKAgICAsOa8gvUAIAJ9IgRCABBAIAVBkAJqQgAgBSkDqAJ9QgAgBEIAEEAgBUGAAmogBSkDmAJCAYYgBSkDkAJCP4iEIgRCACACQgAQQCAFQfABaiAEQgBCACAFKQOIAn1CABBAIAVB4AFqIAUpA/gBQgGGIAUpA/ABQj+IhCIEQgAgAkIAEEAgBUHQAWogBEIAQgAgBSkD6AF9QgAQQCAFQcABaiAFKQPYAUIBhiAFKQPQAUI/iIQiBEIAIAJCABBAIAVBsAFqIARCAEIAIAUpA8gBfUIAEEAgBUGgAWogAkIAIAUpA7gBQgGGIAUpA7ABQj+IhEIBfSICQgAQQCAFQZABaiADQg+GQgAgAkIAEEAgBUHwAGogAkIAQgAgBSkDqAEgBSkDoAEiDiAFKQOYAXwiBCAOVK18IARCAVatfH1CABBAIAVBgAFqQgEgBH1CACACQgAQQCAGIAggB2tqIghB//8AaiEGAn4gBSkDcCITQgGGIg0gBSkDiAEiD0IBhiAFKQOAAUI/iIR8IhBC5+wAfSIUQiCIIgIgCkKAgICAgIDAAIQiFUIBhiIWQiCIIgR+IhEgAUIBhiIOQiCIIgsgECAUVq0gDSAQVq0gBSkDeEIBhiATQj+IhCAPQj+IfHx8QgF9IhNCIIgiEH58Ig0gEVStIA0gDSATQv////8PgyITIAFCP4giFyAKQgGGhEL/////D4MiCn58Ig1WrXwgBCAQfnwgBCATfiIRIAogEH58Ig8gEVStQiCGIA9CIIiEfCANIA9CIIZ8Ig8gDVStfCAPIA8gFEL/////D4MiFCAKfiINIAIgC358IhEgDVStIBEgESATIA5C/v///w+DIg1+fCIRVq18fCIPVq18IA8gBCAUfiIYIA0gEH58IgQgAiAKfnwiCiALIBN+fCIQQiCIIAogEFatIAQgGFStIAQgClatfHxCIIaEfCIEIA9UrXwgBCAEIBEgAiANfiIKIAsgFH58IgJCIIggAiAKVK1CIIaEfCIKIBFUrSAKIAogEEIghnwiClatfHwiBFatfCAEIAQgCiACQiCGIgIgDSAUfnwgAlStQn+FIgJWIAIgClJxrXwiBFatfCICQv////////8AWARAIBYgF4QhFSAFQdAAaiAEIAJCgICAgICAwABUIgetIguGIgogAiALhiAEQgGIIAdBP3OtiIQiBCADIBIQQCAIQf7/AGogBiAHG0EBayEGIAFCMYYgBSkDWH0gBSkDUCIBQgBSrX0hC0IAIAF9DAELIAVB4ABqIAJCP4YgBEIBiIQiCiACQgGIIgQgAyASEEAgAUIwhiAFKQNofSAFKQNgIgJCAFKtfSELIAEhDkIAIAJ9CyECIAZB//8BTgRAIAxCgICAgICAwP//AIQhDEIAIQEMAQsCfiAGQQBKBEAgC0IBhiACQj+IhCEBIARC////////P4MgBq1CMIaEIQsgAkIBhgwBCyAGQY9/TARAQgAhAQwCCyAFQUBrIAogBEEBIAZrEIoBIAVBMGogDiAVIAZB8ABqEEQgBUEgaiADIBIgBSkDQCIKIAUpA0giCxBAIAUpAzggBSkDKEIBhiAFKQMgIgFCP4iEfSAFKQMwIgIgAUIBhiIEVK19IQEgAiAEfQshAiAFQRBqIAMgEkIDQgAQQCAFIAMgEkIFQgAQQCALIAogAyAKQgGDIgMgAnwiAlQgASACIANUrXwiASASViABIBJRG618IgMgClStfCIEIAMgAyAEQoCAgICAgMD//wBUIAIgBSkDEFYgASAFKQMYIgRWIAEgBFEbca18IgNWrXwiBCADIARCgICAgICAwP//AFQgAiAFKQMAViABIAUpAwgiAlYgASACURtxrXwiASADVK18IAyEIQwLIAAgATcDACAAIAw3AwggBUHQAmokAAu/AgEBfyMAQdAAayIEJAACQCADQYCAAU4EQCAEQSBqIAEgAkIAQoCAgICAgID//wAQLyAEKQMoIQIgBCkDICEBIANB//8BSQRAIANB//8AayEDDAILIARBEGogASACQgBCgICAgICAgP//ABAvQf3/AiADIANB/f8CTxtB/v8BayEDIAQpAxghAiAEKQMQIQEMAQsgA0GBgH9KDQAgBEFAayABIAJCAEKAgICAgICAORAvIAQpA0ghAiAEKQNAIQEgA0H0gH5LBEAgA0GN/wBqIQMMAQsgBEEwaiABIAJCAEKAgICAgICAORAvQeiBfSADIANB6IF9TRtBmv4BaiEDIAQpAzghAiAEKQMwIQELIAQgASACQgAgA0H//wBqrUIwhhAvIAAgBCkDCDcDCCAAIAQpAwA3AwAgBEHQAGokAAs8ACAAIAE3AwAgACACQv///////z+DIAJCgICAgICAwP//AINCMIinIANCMIinQYCAAnFyrUIwhoQ3AwgLwAECAX8CfkF/IQMCQCAAQgBSIAFC////////////AIMiBEKAgICAgIDA//8AViAEQoCAgICAgMD//wBRGw0AIAJC////////////AIMiBUKAgICAgIDA//8AViAFQoCAgICAgMD//wBScQ0AIAAgBCAFhIRQBEBBAA8LIAEgAoNCAFkEQCABIAJSIAEgAlNxDQEgACABIAKFhEIAUg8LIABCAFIgASACVSABIAJRGw0AIAAg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EKYCCyEAIAEQTAR/QZiEASgCACABQf8BcUECdGooAgAFIAELwAsJACAAENACEC0LOwADQCABIAJGRQRAIAMhACAEIAEoAgAQTAR/IAEoAgAFIAALOgAAIARBAWohBCABQQRqIQEMAQsLIAELDAAgASACIAEQTBvACyoAA0AgASACRkUEQCADIAEsAAA2AgAgA0EEaiEDIAFBAWohAQwBCwsgAQsPACAAIAEgAkGgkAEQpwILHAAgARBMBH9BoJABKAIAIAFBAnRqKAIABSABCwsPACAAIAEgAkGYhAEQpwILHAAgARBMBH9BmIQBKAIAIAFBAnRqKAIABSABCwsQACAABEAgABDHAwsgABAtCzoAA0ACQCACIANGDQAgAigCABBMRQ0AIAIoAgBBAnRBkKIBaigCACABcUUNACACQQRqIQIMAQsLIAILOQADQAJAIAIgA0YNACACKAIAEEwEQCACKAIAQQJ0QZCiAWooAgAgAXENAQsgAkEEaiECDAELCyACC0YAA0AgASACRkUEQEEAIQAgAyABKAIAEEwEfyABKAIAQQJ0QZCiAWooAgAFQQALNgIAIANBBGohAyABQQRqIQEMAQsLIAELIwBBACEAIAIQTAR/IAJBAnRBkKIBaigCACABcUEARwVBAAsLDwAgACAAKAIAKAIEEQIACwkAIAAQ1gIQLQsVAQF/QdQAEFMiAEEAQdQA/AsAIAALFAAgACgCACABaiACLQAAOgAAQQELrgEAAkAgBRBHRQRAIAAgBSkCADcCACAAIAUoAgg2AgggABBeGgwBCyAFKAIAIQQgBSgCBCECIwBBEGsiAyQAAkACQAJAIAIQvQEEQCAAIgEgAhBQDAELIAJB9////wNLDQEgA0EIaiACEJABQQFqEI8BIAMoAgwaIAAgAygCCCIBNgIAIAAgAygCDBBcIAAgAjYCBAsgASAEIAJBAWoQZSADQRBqJAAMAQsQWwALCwsJACAAIAUQ5AELhAMBCH8jAEHgA2siACQAIABB3ANqIgYgAxAnIAYQSCEKIAUQHwRAIAVBABDMASgCACAKQS0QS0YhCwsgAiALIABB3ANqIABB2ANqIABB1ANqIABB0ANqIABBxANqECQiDCAAQbgDahAkIgYgAEGsA2oQJCIHIABBqANqEN8CIABB4wA2AhAgAEEIakEAIABBEGoiAhA2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KAK8ASAEEI8DOQMAIABBzAFqIABBEGogACgCDCAEEEMgAEHcAmogAEHYAmoQKwRAIAQgBCgCAEECcjYCAAsgACgC3AIgARAgGiAAQcwBahAgGiAAQeACaiQADAMLQQEhAwsgAEHcAmoQPhoMAAsACwvKBAEDfwJ/IwBB4AJrIgAkACAAIAI2AtgCIAAgATYC3AIgAEHMAWogAyAAQeABaiAAQdwBaiAAQdgBahD7ASAAQcABahAkIgEgARAoECEgACABQQAQIiICNgK8ASAAIABBEGo2AgwgAEEANgIIIABBAToAByAAQcUAOgAGQQAhAwNAAkACQAJAIABB3AJqIABB2AJqECsNACAAKAK8ASABEB8gAmpGBEAgARAfIQYgASABEB9BAXQQISABIAEQKBAhIAAgBiABQQAQIiICajYCvAELIABB3AJqEDcgAEEHaiAAQQZqIAIgAEG8AWogACgC3AEgACgC2AEgAEHMAWogAEEQaiAAQQxqIABBCGogAEHgAWoQ+gENACADDQFBACEDIAAoArwBIAJrIgdBAEwNAgJAAkAgAi0AACIGQStrIggOAwEAAQALIAZBLkYNAkEBIQMgBkEwa0H/AXFBCkkNAwwBCyAHQQFGDQICQCAIDgMAAwADCyACLQABIgZBLkYNAUEBIQMgBkEwa0H/AXFBCU0NAgsCQCAAQcwBahAfRQ0AIAAtAAdBAXFFDQAgACgCDCIDIABBEGprQZ8BSg0AIAAgA0EEajYCDCADIAAoAgg2AgALIAUgAiAAKAK8ASAEEJEDOAIAIABBzAFqIABBEGogACgCDCAEEEMgAEHcAmogAEHYAmoQKwRAIAQgBCgCAEECcjYCAAsgACgC3AIgARAgGiAAQcwBahAgGiAAQeACaiQADAMLQQEhAwsgAEHcAmoQPhoMAAsACwuWAwECfyMAQdACayIAJAAgACACNgLIAiAAIAE2AswCIAMQaiEGIAMgAEHQAWoQrgEhByAAQcQBaiADIABBxAJqEK0BIABBuAFqECQiASABECgQISAAIAFBABAiIgI2ArQBIAAgAEEQajYCDCAAQQA2AggDQAJAIABBzAJqIABByAJqECsNACAAKAK0ASABEB8gAmpGBEAgARAfIQMgASABEB9BAXQQISABIAEQKBAhIAAgAyABQQAQIiICajYCtAELIABBzAJqIgMQNyAGIAIgAEG0AWogAEEIaiAAKALEAiAAQcQBaiAAQRBqIABBDGogBxCYAQ0AIAMQPhoMAQsLAkAgAEHEAWoQH0UNACAAKAIMIgMgAEEQamtBnwFKDQAgACADQQRqNgIMIAMgACgCCDYCAAsgBSACIAAoArQBIAQgBhCSAzcDACAAQcQBaiAAQRBqIAAoAgwgBBBDIABBzAJqIABByAJqECsEQCAEIAQoAgBBAnI2AgALIAAoAswCIAEQIBogAEHEAWoQIBogAEHQAmokAAuWAwECfyMAQdACayIAJAAgACACNgLIAiAAIAE2AswCIAMQaiEGIAMgAEHQAWoQrgEhByAAQcQBaiADIABBxAJqEK0BIABBuAFqECQiASABECgQISAAIAFBABAiIgI2ArQBIAAgAEEQajYCDCAAQQA2AggDQAJAIABBzAJqIABByAJqECsNACAAKAK0ASABEB8gAmpGBEAgARAfIQMgASABEB9BAXQQISABIAEQKBAhIAAgAyABQQAQIiICajYCtAELIABBzAJqIgMQNyAGIAIgAEG0AWogAEEIaiAAKALEAiAAQcQBaiAAQRBqIABBDGogBxCYAQ0AIAMQPhoMAQsLAkAgAEHEAWoQH0UNACAAKAIMIgMgAEEQamtBnwFKDQAgACADQQRqNgIMIAMgACgCCDYCAAsgBSACIAAoArQBIAQgBhCVAzsBACAAQcQBaiAAQRBqIAAoAgwgBBBDIABBzAJqIABByAJqECsEQCAEIAQoAgBBAnI2AgALIAAoAswCIAEQIBogAEHEAWoQIBogAEHQAmokAAuWAwECfyMAQdACayIAJAAgACACNgLIAiAAIAE2AswCIAMQaiEGIAMgAEHQAWoQrgEhByAAQcQBaiADIABBxAJqEK0BIABBuAFqECQiASABECgQISAAIAFBABAiIgI2ArQBIAAgAEEQajYCDCAAQQA2AggDQAJAIABBzAJqIABByAJqECsNACAAKAK0ASABEB8gAmpGBEAgARAfIQMgASABEB9BAXQQISABIAEQKBAhIAAgAyABQQAQIiICajYCtAELIABBzAJqIgMQNyAGIAIgAEG0AWogAEEIaiAAKALEAiAAQcQBaiAAQRBqIABBDGogBxCYAQ0AIAMQPhoMAQsLAkAgAEHEAWoQH0UNACAAKAIMIgMgAEEQamtBnwFKDQAgACADQQRqNgIMIAMgACgCCDYCAAsgBSACIAAoArQBIAQgBhCWAzcDACAAQcQBaiAAQRBqIAAoAgwgBBBDIABBzAJqIABByAJqECsEQCAEIAQoAgBBAnI2AgALIAAoAswCIAEQIBogAEHEAWoQIBogAEHQAmokAAuWAwECfyMAQdACayIAJAAgACACNgLIAiAAIAE2AswCIAMQaiEGIAMgAEHQAWoQrgEhByAAQcQBaiADIABBxAJqEK0BIABBuAFqECQiASABECgQISAAIAFBABAiIgI2ArQBIAAgAEEQajYCDCAAQQA2AggDQAJAIABBzAJqIABByAJqECsNACAAKAK0ASABEB8gAmpGBEAgARAfIQMgASABEB9BAXQQISABIAEQKBAhIAAgAyABQQAQIiICajYCtAELIABBzAJqIgMQNyAGIAIgAEG0AWogAEEIaiAAKALEAiAAQcQBaiAAQRBqIABBDGogBxCYAQ0AIAMQPhoMAQsLAkAgAEHEAWoQH0UNACAAKAIMIgMgAEEQamtBnwFKDQAgACADQQRqNgIMIAMgACgCCDYCAAsgBSACIAAoArQBIAQgBhCXAzYCACAAQcQBaiAAQRBqIAAoAgwgBBBDIABBzAJqIABByAJqECsEQCAEIAQoAgBBAnI2AgALIAAoAswCIAEQIBogAEHEAWoQIBogAEHQAmokAAvqAQEBfyMAQSBrIgYkACAGIAE2AhwCQCADKAIEQQFxRQRAIAZBfzYCACAAIAEgAiADIAQgBiAAKAIAKAIQEQYAIQECQAJAAkAgBigCAA4CAAECCyAFQQA6AAAMAwsgBUEBOgAADAILIAVBAToAACAEQQQ2AgAMAQsgBiADECcgBhBIIQEgBhAlIAYgAxAnIAYQmQEhACAGECUgBiAAEHwgBkEMciAAEHsgBSAGQRxqIAIgBiAGQRhqIgMgASAEQQEQzQEgBkY6AAAgBigCHCEBA0AgA0EMaxA5IgMgBkcNAAsLIAZBIGokACABC+YCAQF/IwBBgAJrIgAkACAAIAI2AvgBIAAgATYC/AEgAEHEAWoQJCEGIABBEGoiAiADECcgAhBJQdCfAUHqnwEgAEHQAWoQeSACECUgAEG4AWoQJCIDIAMQKBAhIAAgA0EAECIiATYCtAEgACACNgIMIABBADYCCANAAkAgAEH8AWogAEH4AWoQLA0AIAAoArQBIAMQHyABakYEQCADEB8hAiADIAMQH0EBdBAhIAMgAxAoECEgACACIANBABAiIgFqNgK0AQsgAEH8AWoiAhA4QRAgASAAQbQBaiAAQQhqQQAgBiAAQRBqIABBDGogAEHQAWoQmgENACACED8aDAELCyADIAAoArQBIAFrECEgAxAjEC4gACAFNgIEIABBBGoQjQNBAUcEQCAEQQQ2AgALIABB/AFqIABB+AFqECwEQCAEIAQoAgBBAnI2AgALIAAoAvwBIAMQIBogBhAgGiAAQYACaiQAC+EEAgN/AX4CfyMAQZACayIAJAAgACACNgKIAiAAIAE2AowCIABB0AFqIAMgAEHgAWogAEHfAWogAEHeAWoQ/wEgAEHEAWoQJCIBIAEQKBAhIAAgAUEAECIiAjYCwAEgACAAQSBqNgIcIABBADYCGCAAQQE6ABcgAEHFADoAFkEAIQMDQAJAAkACQCAAQYwCaiAAQYgCahAsDQAgACgCwAEgARAfIAJqRgRAIAEQHyEGIAEgARAfQQF0ECEgASABECgQISAAIAYgAUEAECIiAmo2AsABCyAAQYwCahA4IABBF2ogAEEWaiACIABBwAFqIAAsAN8BIAAsAN4BIABB0AFqIABBIGogAEEcaiAAQRhqIABB4AFqEP4BDQAgAw0BQQAhAyAAKALAASACayIHQQBMDQICQAJAIAItAAAiBkErayIIDgMBAAEACyAGQS5GDQJBASEDIAZBMGtB/wFxQQpJDQMMAQsgB0EBRg0CAkAgCA4DAAMAAwsgAi0AASIGQS5GDQFBASEDIAZBMGtB/wFxQQlNDQILAkAgAEHQAWoQH0UNACAALQAXQQFxRQ0AIAAoAhwiAyAAQSBqa0GfAUoNACAAIANBBGo2AhwgAyAAKAIYNgIACyAAIAIgACgCwAEgBBCOAyAAKQMAIQkgBSAAKQMINwMIIAUgCTcDACAAQdABaiAAQSBqIAAoAhwgBBBDIABBjAJqIABBiAJqECwEQCAEIAQoAgBBAnI2AgALIAAoAowCIAEQIBogAEHQAWoQIBogAEGQAmokAAwDC0EBIQMLIABBjAJqED8aDAALAAsLygQBA38CfyMAQYACayIAJAAgACACNgL4ASAAIAE2AvwBIABBwAFqIAMgAEHQAWogAEHPAWogAEHOAWoQ/wEgAEG0AWoQJCIBIAEQKBAhIAAgAUEAECIiAjYCsAEgACAAQRBqNgIMIABBADYCCCAAQQE6AAcgAEHFADoABkEAIQMDQAJAAkACQCAAQfwBaiAAQfgBahAsDQAgACgCsAEgARAfIAJqRgRAIAEQHyEGIAEgARAfQQF0ECEgASABECgQISAAIAYgAUEAECIiAmo2ArABCyAAQfwBahA4IABBB2ogAEEGaiACIABBsAFqIAAsAM8BIAAsAM4BIABBwAFqIABBEGogAEEMaiAAQQhqIABB0AFqEP4BDQAgAw0BQQAhAyAAKAKwASACayIHQQBMDQICQAJAIAItAAAiBkErayIIDgMBAAEACyAGQS5GDQJBASEDIAZBMGtB/wFxQQpJDQMMAQsgB0EBRg0CAkAgCA4DAAMAAwsgAi0AASIGQS5GDQFBASEDIAZBMGtB/wFxQQlNDQILAkAgAEHAAWoQH0UNACAALQAHQQFxRQ0AIAAoAgwiAyAAQRBqa0GfAUoNACAAIANBBGo2AgwgAyAAKAIINgIACyAFIAIgACgCsAEgBBCPAzkDACAAQcABaiAAQRBqIAAoAgwgBBBDIABB/AFqIABB+AFqECwEQCAEIAQoAgBBAnI2AgALIAAoAvwBIAEQIBogAEHAAWoQIBogAEGAAmokAAwDC0EBIQMLIABB/AFqED8aDAALAAsLygQBA38CfyMAQYACayIAJAAgACACNgL4ASAAIAE2AvwBIABBwAFqIAMgAEHQAWogAEHPAWogAEHOAWoQ/wEgAEG0AWoQJCIBIAEQKBAhIAAgAUEAECIiAjYCsAEgACAAQRBqNgIMIABBADYCCCAAQQE6AAcgAEHFADoABkEAIQMDQAJAAkACQCAAQfwBaiAAQfgBahAsDQAgACgCsAEgARAfIAJqRgRAIAEQHyEGIAEgARAfQQF0ECEgASABECgQISAAIAYgAUEAECIiAmo2ArABCyAAQfwBahA4IABBB2ogAEEGaiACIABBsAFqIAAsAM8BIAAsAM4BIABBwAFqIABBEGogAEEMaiAAQQhqIABB0AFqEP4BDQAgAw0BQQAhAyAAKAKwASACayIHQQBMDQICQAJAIAItAAAiBkErayIIDgMBAAEACyAGQS5GDQJBASEDIAZBMGtB/wFxQQpJDQMMAQsgB0EBRg0CAkAgCA4DAAMAAwsgAi0AASIGQS5GDQFBASEDIAZBMGtB/wFxQQlNDQILAkAgAEHAAWoQH0UNACAALQAHQQFxRQ0AIAAoAgwiAyAAQRBqa0GfAUoNACAAIANBBGo2AgwgAyAAKAIINgIACyAFIAIgACgCsAEgBBCRAzgCACAAQcABaiAAQRBqIAAoAgwgBBBDIABB/AFqIABB+AFqECwEQCAEIAQoAgBBAnI2AgALIAAoAvwBIAEQIBogAEHAAWoQIBogAEGAAmokAAwDC0EBIQMLIABB/AFqED8aDAALAAsLiwMBAX8jAEGAAmsiACQAIAAgAjYC+AEgACABNgL8ASADEGohBiAAQcQBaiADIABB9wFqEK8BIABBuAFqECQiASABECgQISAAIAFBABAiIgI2ArQBIAAgAEEQajYCDCAAQQA2AggDQAJAIABB/AFqIABB+AFqECwNACAAKAK0ASABEB8gAmpGBEAgARAfIQMgASABEB9BAXQQISABIAEQKBAhIAAgAyABQQAQIiICajYCtAELIABB/AFqIgMQOCAGIAIgAEG0AWogAEEIaiAALAD3ASAAQcQBaiAAQRBqIABBDGpB0J8BEJoBDQAgAxA/GgwBCwsCQCAAQcQBahAfRQ0AIAAoAgwiAyAAQRBqa0GfAUoNACAAIANBBGo2AgwgAyAAKAIINgIACyAFIAIgACgCtAEgBCAGEJIDNwMAIABBxAFqIABBEGogACgCDCAEEEMgAEH8AWogAEH4AWoQLARAIAQgBCgCAEECcjYCAAsgACgC/AEgARAgGiAAQcQBahAgGiAAQYACaiQACwcAIAAoAgALiwMBAX8jAEGAAmsiACQAIAAgAjYC+AEgACABNgL8ASADEGohBiAAQcQBaiADIABB9wFqEK8BIABBuAFqECQiASABECgQISAAIAFBABAiIgI2ArQBIAAgAEEQajYCDCAAQQA2AggDQAJAIABB/AFqIABB+AFqECwNACAAKAK0ASABEB8gAmpGBEAgARAfIQMgASABEB9BAXQQISABIAEQKBAhIAAgAyABQQAQIiICajYCtAELIABB/AFqIgMQOCAGIAIgAEG0AWogAEEIaiAALAD3ASAAQcQBaiAAQRBqIABBDGpB0J8BEJoBDQAgAxA/GgwBCwsCQCAAQcQBahAfRQ0AIAAoAgwiAyAAQRBqa0GfAUoNACAAIANBBGo2AgwgAyAAKAIINgIACyAFIAIgACgCtAEgBCAGEJUDOwEAIABBxAFqIABBEGogACgCDCAEEEMgAEH8AWogAEH4AWoQLARAIAQgBCgCAEECcjYCAAsgACgC/AEgARAgGiAAQcQBahAgGiAAQYACaiQAC4sDAQF/IwBBgAJrIgAkACAAIAI2AvgBIAAgATYC/AEgAxBqIQYgAEHEAWogAyAAQfcBahCvASAAQbgBahAkIgEgARAoECEgACABQQAQIiICNgK0ASAAIABBEGo2AgwgAEEANgIIA0ACQCAAQfwBaiAAQfgBahAsDQAgACgCtAEgARAfIAJqRgRAIAEQHyEDIAEgARAfQQF0ECEgASABECgQISAAIAMgAUEAECIiAmo2ArQBCyAAQfwBaiIDEDggBiACIABBtAFqIABBCGogACwA9wEgAEHEAWogAEEQaiAAQQxqQdCfARCaAQ0AIAMQPxoMAQsLAkAgAEHEAWoQH0UNACAAKAIMIgMgAEEQamtBnwFKDQAgACADQQRqNgIMIAMgACgCCDYCAAsgBSACIAAoArQBIAQgBhCWAzcDACAAQcQBaiAAQRBqIAAoAgwgBBBDIABB/AFqIABB+AFqECwEQCAEIAQoAgBBAnI2AgALIAAoAvwBIAEQIBogAEHEAWoQIBogAEGAAmokAAuLAwEBfyMAQYACayIAJAAgACACNgL4ASAAIAE2AvwBIAMQaiEGIABBxAFqIAMgAEH3AWoQrwEgAEG4AWoQJCIBIAEQKBAhIAAgAUEAECIiAjYCtAEgACAAQRBqNgIMIABBADYCCANAAkAgAEH8AWogAEH4AWoQLA0AIAAoArQBIAEQHyACakYEQCABEB8hAyABIAEQH0EBdBAhIAEgARAoECEgACADIAFBABAiIgJqNgK0AQsgAEH8AWoiAxA4IAYgAiAAQbQBaiAAQQhqIAAsAPcBIABBxAFqIABBEGogAEEMakHQnwEQmgENACADED8aDAELCwJAIABBxAFqEB9FDQAgACgCDCIDIABBEGprQZ8BSg0AIAAgA0EEajYCDCADIAAoAgg2AgALIAUgAiAAKAK0ASAEIAYQlwM2AgAgAEHEAWogAEEQaiAAKAIMIAQQQyAAQfwBaiAAQfgBahAsBEAgBCAEKAIAQQJyNgIACyAAKAL8ASABECAaIABBxAFqECAaIABBgAJqJAALmIwBAy5/BX0CfCMAQRBrIhkkACAZIAM2AgwgGUEANgIIIBlCADcCACAZIAEgASACaiICIAIgAWsQwAMjAEHgAGsiIiQAICJBCGohDSAZKAIEIBkoAgAiAWshAiMAQcABayITJAAgE0EANgKgASATQgA3A5gBIBNBADYCsAEgE0IANwKoASATQbQBaiIaQQA2AgggGkIANwIAIBpBgMAAELcDIBpBgMAAEJgDIBNBDGpBAEEw/AsAIBMgAjYCCCATIAE2AgQCQAJ/IBNBBGohAgJ/QXpB5RstAABBMUcNABpBfiACRQ0BGiACQQA2AhggAigCICIBRQRAIAJBADYCKCACQS82AiBBLyEBCyACKAIkRQRAIAJBMDYCJAtBfCACKAIoQQFB0DcgAREDACIDRQ0BGiACIAM2AhwgA0EANgI4IAMgAjYCACADQbT+ADYCBEF+IQQCQCACRQ0AIAIoAiBFDQAgAigCJCIFRQ0AIAIoAhwiAUUNACABKAIAIAJHDQAgASgCBEG0/gBrQR9LDQACQAJAIAEoAjgiDARAIAEoAihBD0cNAQsgAUEPNgIoIAFBBjYCDAwBCyACKAIoIAwgBREBACABQQA2AjggAigCICABQQ82AiggAUEGNgIMRQ0BCyACKAIkRQ0AIAIoAhwiAUUNACABKAIAIAJHDQAgASgCBEG0/gBrQR9LDQBBACEEIAFBADYCNCABQgA3AiwgAUEANgIgIAJBADYCCCACQgA3AhQgASgCDCIFBEAgAiAFQQFxNgIwCyABQgA3AjwgAUEANgIkIAFBgIACNgIYIAFCgICAgHA3AhAgAUK0/gA3AgQgAUKBgICAcDcCxDcgASABQbQKaiIFNgJwIAEgBTYCVCABIAU2AlALQQAgBEUNABogAigCKCADIAIoAiQRAQAgAkEANgIcIAQLC0UEQCATQQA2AqwBAkADQCATIBooAgAiATYCECATIBooAgQgAWs2AhRBACEMIwBBEGsiFyQAQX4hHAJAIBNBBGoiCkUNACAKKAIgRQ0AIAooAiRFDQAgCigCHCIGRQ0AIAYoAgAgCkcNACAGKAIEIgVBtP4Aa0EfSw0AIAooAgwiEEUNACAKKAIAIgFFBEAgCigCBA0BCyAFQb/+AEYEQCAGQcD+ADYCBEHA/gAhBQsgBkHcAGohKiAGQfQFaiEgIAZB2ABqISMgBkHwAGohISAGQbQKaiEfIAZB9ABqIRYgBigCQCEDIAYoAjwhByAKKAIEIiQhBCAKKAIQIg8hFQJAAkACQAJAAkADQEF9IQICQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAVBtP4Aaw4fBwYKDRA5Ojs8BRUWFhcYGQQcAiUmASgAKh0eA0BCQ0QLIAYoAkwhCAwoCyAGKAJMIQgMJQsgBigCbCEIDCELIAYoAgwhBQw5CyADQQ5PDRYgBEUNPCADQQhqIQIgAUEBaiEFIARBAWshCCABLQAAIAN0IAdqIQcgA0EFTQ0VIAUhASAIIQQgAiEDDBYLIANBIE8NDiAERQ07IAFBAWohAiAEQQFrIQUgAS0AACADdCAHaiEHIANBF00NDSACIQEgBSEEDA4LIANBEE8NAiAERQ06IANBCGohAiABQQFqIQUgBEEBayEIIAEtAAAgA3QgB2ohByADQQdNDQEgBSEBIAghBCACIQMMAgsgBigCDCIJRQ0XAkAgA0EQTw0AIARFDTogA0EIaiECIAFBAWohBSAEQQFrIQggAS0AACADdCAHaiEHIANBB0sEQCAFIQEgCCEEIAIhAwwBCyAIRQRAIAUhAUEAIQQgAiEDIAwhAgw8CyADQRByIQMgBEECayEEIAEtAAEgAnQgB2ohByABQQJqIQELIAlBAnFFIAdBn5YCR3JFBEAgBigCKEUEQCAGQQ82AigLQQAhByAGQQBBAEEAEFEiAjYCHCAXQZ+WAjsADCACIBdBDGpBAhBRIQIgBkG1/gA2AgQgBiACNgIcQQAhAyAGKAIEIQUMNwsgBigCJCICBEAgAkF/NgIwCyAHQQh0QYD+A3EgB0EIdmpBH3BFIAlBAXFxRQRAIApBxw42AhggBkHR/gA2AgQgBigCBCEFDDcLIAdBD3FBCEcEQCAKQZcSNgIYIAZB0f4ANgIEIAYoAgQhBQw3CyAHQQR2IgJBD3EiCEEIaiEFIAhBB00gBigCKCIJBH8gCQUgBiAFNgIoIAULIAVPcUUEQCADQQRrIQMgCkHREDYCGCAGQdH+ADYCBCACIQcgBigCBCEFDDcLQQAhAyAGQQA2AhQgBkGAAiAIdDYCGCAGQQBBAEEAELMBIgI2AhwgCiACNgIwIAZBvf4AQb/+ACAHQYDAAHEbNgIEQQAhByAGKAIEIQUMNgsgCEUEQCAFIQFBACEEIAIhAyAMIQIMOgsgA0EQciEDIARBAmshBCABLQABIAJ0IAdqIQcgAUECaiEBCyAGIAc2AhQgB0H/AXFBCEcEQCAKQZcSNgIYIAZB0f4ANgIEIAYoAgQhBQw1CyAHQYDAA3EEQCAKQesJNgIYIAZB0f4ANgIEIAYoAgQhBQw1CyAGKAIkIgIEQCACIAdBCHZBAXE2AgALAkAgB0GABHFFDQAgBi0ADEEEcUUNACAXQQg6AAwgFyAHQQh2OgANIAYgBigCHCAXQQxqQQIQUTYCHAsgBkG2/gA2AgRBACEDQQAhBwwBCyADQR9LDQELIARFDTUgAUEBaiECIARBAWshBSABLQAAIAN0IAdqIQcgA0EXSwRAIAIhASAFIQQMAQsgA0EIaiEIIAVFBEAgAiEBQQAhBCAIIQMgDCECDDcLIAFBAmohAiAEQQJrIQUgAS0AASAIdCAHaiEHIANBD0sEQCACIQEgBSEEDAELIANBEGohCCAFRQRAIAIhAUEAIQQgCCEDIAwhAgw3CyABQQNqIQIgBEEDayEFIAEtAAIgCHQgB2ohByADQQdLBEAgAiEBIAUhBAwBCyADQRhqIQMgBUUEQCACIQEMNgsgBEEEayEEIAEtAAMgA3QgB2ohByABQQRqIQELIAYoAiQiAgRAIAIgBzYCBAsCQCAGLQAVQQJxRQ0AIAYtAAxBBHFFDQAgFyAHNgAMIAYgBigCHCAXQQxqQQQQUTYCHAsgBkG3/gA2AgRBACEDQQAhBwwBCyADQQ9LDQELIARFDTIgAUEBaiECIARBAWshBSABLQAAIAN0IAdqIQcgA0EHSwRAIAIhASAFIQQMAQsgA0EIaiEDIAVFBEAgAiEBDDMLIARBAmshBCABLQABIAN0IAdqIQcgAUECaiEBCyAGKAIkIgIEQCACIAdBCHY2AgwgAiAHQf8BcTYCCAsCQCAGLQAVQQJxRQ0AIAYtAAxBBHFFDQAgFyAHOwAMIAYgBigCHCAXQQxqQQIQUTYCHAsgBkG4/gA2AgRBACEFQQAhA0EAIQcgBigCFCICQYAIcQ0BDCcLIAYoAhQiAkGACHFFBEAgAyEFDCcLIAchBSADQQ9LDQELIARFBEBBACEEIAUhByAMIQIMMQsgAUEBaiEIIARBAWshCSABLQAAIAN0IAVqIQcgA0EHSwRAIAghASAJIQQMAQsgA0EIaiEDIAlFBEAgCCEBDDALIARBAmshBCABLQABIAN0IAdqIQcgAUECaiEBCyAGIAc2AkQgBigCJCIDBEAgAyAHNgIUC0EAIQMCQCACQYAEcUUNACAGLQAMQQRxRQ0AIBcgBzsADCAGIAYoAhwgF0EMakECEFE2AhwLQQAhBwwlCyADQQhqIQggBUUEQCACIQFBACEEIAghAyAMIQIMLwsgAUECaiECIARBAmshBSABLQABIAh0IAdqIQcgA0EPSwRAIAIhASAFIQQMAQsgA0EQaiEIIAVFBEAgAiEBQQAhBCAIIQMgDCECDC8LIAFBA2ohAiAEQQNrIQUgAS0AAiAIdCAHaiEHIANBB0sEQCACIQEgBSEEDAELIANBGGohAyAFRQRAIAIhAQwuCyAEQQRrIQQgAS0AAyADdCAHaiEHIAFBBGohAQsgBiAHQRh0IAdBgP4DcUEIdHIgB0EIdkGA/gNxIAdBGHZyciICNgIcIAogAjYCMCAGQb7+ADYCBEEAIQdBACEDCyAGKAIQRQRAIAogDzYCECAKIBA2AgwgCiAENgIEIAogATYCACAGIAM2AkAgBiAHNgI8QQIhHAwvCyAGQQBBAEEAELMBIgI2AhwgCiACNgIwIAZBv/4ANgIECwJ/AkAgBigCCEUEQCADIANBAksNAhogBA0BDC0LIAZBzv4ANgIEIAcgA0EHcXYhByADQXhxIQMgBigCBCEFDCkLIARBAWshBCABLQAAIAN0IAdqIQcgAUEBaiEBIANBCHILIAYgB0EBcTYCCEHB/gAhBQJAAkACQAJAAkAgB0EBdkEDcUEBaw4DAAECAwsgBkGA3AA2AlAgBkKJgICA0AA3AlggBkGA7AA2AlQgBkHH/gA2AgQMAwtBxP4AIQUMAQsgCkH0EDYCGEHR/gAhBQsgBiAFNgIEC0EDayEDIAdBA3YhByAGKAIEIQUMJwsgByADQQdxdiEHAn8gA0F4cSIFIANBH0sNABogBEUEQEEAIQQgBSEDIAwhAgwsCyAFQQhqIQggAUEBaiECIARBAWshCSABLQAAIAV0IAdqIQcgA0EXSwRAIAIhASAJIQQgCAwBCyAJRQRAIAIhAUEAIQQgCCEDIAwhAgwsCyAFQRBqIQkgAUECaiECIARBAmshCyABLQABIAh0IAdqIQcgA0EPSwRAIAIhASALIQQgCQwBCyALRQRAIAIhAUEAIQQgCSEDIAwhAgwsCyAFQRhqIQUgAUEDaiECIARBA2shCCABLQACIAl0IAdqIQcgA0EHSwRAIAIhASAIIQQgBQwBCyAIRQRAIAIhAUEAIQQgBSEDIAwhAgwsCyAEQQRrIQQgAS0AAyAFdCAHaiEHIAFBBGohAUEgCyEDIAdB//8DcSICIAdBf3NBEHZHBEAgCkGdCzYCGCAGQdH+ADYCBCAGKAIEIQUMJwsgBkHC/gA2AgQgBiACNgJEQQAhB0EAIQMLIAZBw/4ANgIECyAGKAJEIgIEQCACIAQgAiAESRsiAiAPIAIgD0kbIgJFBEAgDCECDCoLIAIEQCAQIAEgAvwKAAALIAYgBigCRCACazYCRCACIBBqIRAgDyACayEPIAEgAmohASAEIAJrIQQgBigCBCEFDCULIAZBv/4ANgIEIAYoAgQhBQwkCyAIRQRAIAUhAUEAIQQgAiEDIAwhAgwoCyADQRByIQMgBEECayEEIAEtAAEgAnQgB2ohByABQQJqIQELIAYgB0EfcSICQYECajYCZCAGIAdBBXZBH3EiBUEBajYCaCAGIAdBCnZBD3FBBGoiCTYCYCADQQ5rIQMgB0EOdiEHIAVBHkkgAkEdTXFFBEAgCkH5CjYCGCAGQdH+ADYCBCAGKAIEIQUMIwsgBkHF/gA2AgRBACEFIAZBADYCbAwGCyAGKAJsIgUgBigCYCIJSQ0FDAYLIA9FDQ0gECAGKAJEOgAAIAZByP4ANgIEIA9BAWshDyAQQQFqIRAgBigCBCEFDCALIAYoAgwiBUUEQEEAIQUMAwsCQCADQR9LBEAgASEIDAELIARFDSMgA0EIaiECIAFBAWohCCAEQQFrIQkgAS0AACADdCAHaiEHIANBF0sEQCAJIQQgAiEDDAELIAlFBEAgCCEBQQAhBCACIQMgDCECDCULIANBEGohCSABQQJqIQggBEECayELIAEtAAEgAnQgB2ohByADQQ9LBEAgCyEEIAkhAwwBCyALRQRAIAghAUEAIQQgCSEDIAwhAgwlCyADQRhqIQIgAUEDaiEIIARBA2shCyABLQACIAl0IAdqIQcgA0EHSwRAIAshBCACIQMMAQsgC0UEQCAIIQFBACEEIAIhAyAMIQIMJQsgA0EgciEDIAFBBGohCCAEQQRrIQQgAS0AAyACdCAHaiEHCyAKIBUgD2siASAKKAIUajYCFCAGIAYoAiAgAWo2AiAgBUEEcSICRSAPIBVGcgR/IAIFIBAgAWshAiAGKAIcIQUgBgJ/IAYoAhQEQCAFIAIgARBRDAELIAUgAiABELMBCyIBNgIcIAogATYCMCAGKAIMIgVBBHELRQ0BIAYoAhwgByAHQRh0IAdBgP4DcUEIdHIgB0EIdkGA/gNxIAdBGHZyciAGKAIUG0YNASAKQfUONgIYIAZB0f4ANgIEIAghASAPIRUgBigCBCEFDB8LIAZBwP4ANgIEDBULIAghAUEAIQdBACEDIA8hFQsgBkHP/gA2AgQMGwsDQCADQQJNBEAgBEUNICAEQQFrIQQgAS0AACADdCAHaiEHIANBCHIhAyABQQFqIQELIAYgBUEBaiICNgJsIBYgBUEBdC8B0FtBAXRqIAdBB3E7AQAgA0EDayEDIAdBA3YhByACIgUgCUcNAAsgCSEFCyAFQRJNBEBBACEIIAUiAkEDcSIMQQNHBEADQCAWIAJBAXQvAdBbQQF0akEAOwEAIAJBAWohAiAMIAhBAWoiCHNBA0cNAAsLIAVBD00EQANAIBYgAkEBdCIFLwHQW0EBdGpBADsBACAWIAVB0tsAai8BAEEBdGpBADsBACAWIAVB1NsAai8BAEEBdGpBADsBACAWIAVB1tsAai8BAEEBdGpBADsBACACQQRqIgJBE0cNAAsLIAZBEzYCbAsgBkEHNgJYIAYgHzYCUCAGIB82AnBBACEIQQAgFkETICEgIyAgEOMBIgwEQCAKQdIJNgIYIAZB0f4ANgIEIAYoAgQhBQwbCyAGQcb+ADYCBCAGQQA2AmxBACEMCyAGKAJkIh0gBigCaGoiGCAISwRAQX8gBigCWHRBf3MhGyAGKAJQIRQDQCADIQ4gBCEFIAEhAgJAAkACQAJAAkACQCAUIAcgG3EiEkECdGotAAEiCyADTQRAIAMhCQwBCwNAIAVFDQIgAi0AACAOdCELIAJBAWohAiAFQQFrIQUgDkEIaiIJIQ4gCSAUIAcgC2oiByAbcSISQQJ0ai0AASILSQ0ACwsgFCASQQJ0ai8BAiIDQQ9NBEAgBiAIQQFqIgE2AmwgFiAIQQF0aiADOwEAIAkgC2shAyAHIAt2IQcgASEIDAULAn8CfwJAAkACQCADQRBrDgIAAQILIAtBAmoiASAJSwRAA0AgBUUNHiAFQQFrIQUgAi0AACAJdCAHaiEHIAJBAWohAiAJQQhqIgkgAUkNAAsLIAkgC2shAyAHIAt2IQkgCEUEQCAKQagKNgIYIAZB0f4ANgIEIAIhASAFIQQgCSEHIAYoAgQhBQwlCyADQQJrIQMgCUECdiEHIAlBA3FBA2ohCyAIQQF0IBZqQQJrLwEADAMLIAtBA2oiASAJSwRAA0AgBUUNHSAFQQFrIQUgAi0AACAJdCAHaiEHIAJBAWohAiAJQQhqIgkgAUkNAAsLIAkgC2tBA2shAyAHIAt2IgFBA3YhByABQQdxQQNqDAELIAtBB2oiASAJSwRAA0AgBUUNHCAFQQFrIQUgAi0AACAJdCAHaiEHIAJBAWohAiAJQQhqIgkgAUkNAAsLIAkgC2tBB2shAyAHIAt2IgFBB3YhByABQf8AcUELagshC0EACyEEIAggC2ogGEsNAkEAIQkgC0EDcSIORQ0BIAshAQNAIBYgCEEBdGogBDsBACAIQQFqIQggAUEBayEBIAlBAWoiCSAORw0ACwwDCyABIARqIQEgAyAEQQN0aiEDDCILIAshAQwBCyAKQagKNgIYIAZB0f4ANgIEIAIhASAFIQQgBigCBCEFDB0LIAtBBE8EQANAIBYgCEEBdGoiCSAEOwEAIAkgBDsBAiAJIAQ7AQQgCSAEOwEGIAhBBGohCCABQQRrIgENAAsLIAYgCDYCbAsgAiEBIAUhBCAIIBhJDQALCyAGLwH0BEUEQCAKQaIONgIYIAZB0f4ANgIEIAYoAgQhBQwaCyAGQQk2AlggBiAfNgJQIAYgHzYCcEEBIBYgHSAhICMgIBDjASIMBEAgCkG2CTYCGCAGQdH+ADYCBCAGKAIEIQUMGgsgBkEGNgJcIAYgBigCcDYCVEECIBYgBigCZEEBdGogBigCaCAhICogIBDjASIMBEAgCkGECjYCGCAGQdH+ADYCBCAGKAIEIQUMGgsgBkHH/gA2AgRBACEMCyAGQcj+ADYCBAsgBEEGSSAPQYICSXJFBEAgCiAPNgIQIAogEDYCDCAKIAQ2AgQgCiABNgIAIAYgAzYCQCAGIAc2AjwgCigCHCIQKAI0IgtBB3EhJSALIBVqISsgCyAQKAIsIixqIS0gCigCDCIBIAooAhAiAmoiHUGBAmshJiABIAIgFWtqIS4gCigCACIIIAooAgRqQQVrISdBfyAQKAJcdEF/cyEvQX8gECgCWHRBf3MhMCAQKAJUISggECgCUCEpIBAoAkAhBSAQKAI8IQ4gECgCOCEHIBAoAjAhMQNAIAVBDk0EfyAILQAAIAV0IA5qIAgtAAEgBUEIanRqIQ4gCEECaiEIIAVBEHIFIAULICkgDiAwcUECdGoiAi0AASIDayEFIA4gA3YhDgJAAkACQAJAAkAgEAJ/IAoCfwJAA0AgAi0AACIDRQRAIAEgAi0AAjoAACABQQFqIQEMCAsgA0EQcQRAIAIvAQIhDwJ/IANBD3EiAkUEQCAIIQMgDgwBCwJ/IAIgBU0EQCAFIQQgCAwBCyAFQQhqIQQgCC0AACAFdCAOaiEOIAhBAWoLIQMgBCACayEFIA5BfyACdEF/c3EgD2ohDyAOIAJ2CyEEIAVBDk0EQCADLQAAIAV0IARqIAMtAAEgBUEIanRqIQQgBUEQciEFIANBAmohAwsgBSAoIAQgL3FBAnRqIgItAAEiCGshBSAEIAh2IQ4gAi0AACIEQRBxDQIDQCAEQcAAcUUEQCAFICggAi8BAkECdGogDkF/IAR0QX9zcUECdGoiAi0AASIEayEFIA4gBHYhDiACLQAAIgRBEHFFDQEMBAsLIAMhCEHwEQwDCyADQcAAcUUEQCAFICkgAi8BAkECdGogDkF/IAN0QX9zcUECdGoiAi0AASIDayEFIA4gA3YhDgwBCwtBv/4AIANBIHENAhpB1BEMAQsgAi8BAiEUAn8gBEEPcSICIAVNBEAgBSEEIAMMAQsgAy0AACAFdCAOaiEOIANBAWogAiAFQQhqIgRNDQAaIAMtAAEgBHQgDmohDiAFQRBqIQQgA0ECagshCCAOQX8gAnRBf3NxIRggBCACayEFIA4gAnYhDiAUIBhqIhsgASAuayICTQ0DIBsgAmsiCSAxTQ0CIBAoAsQ3RQ0CQZQPCzYCGEHR/gALNgIEDAQLAkACQCALRQRAIAcgLCAJa2ohBCAJIA9PBEAgASECDAMLQQAhEiABIQIgCSIDQQdxIh4EQANAIAIgBC0AADoAACADQQFrIQMgAkEBaiECIARBAWohBCASQQFqIhIgHkcNAAsLIBUgGCAdaiAUamsgAWpBeEsNAQNAIAIgBC0AADoAACACIAQtAAE6AAEgAiAELQACOgACIAIgBC0AAzoAAyACIAQtAAQ6AAQgAiAELQAFOgAFIAIgBC0ABjoABiACIAQtAAc6AAcgAkEIaiECIARBCGohBCADQQhrIgMNAAsMAQsgCSALSwRAIAcgLSAJa2ohBCAJIAtrIgkgD08EQCABIQIMAwtBACESIAEhAiAJIgNBB3EiHgRAA0AgAiAELQAAOgAAIANBAWshAyACQQFqIQIgBEEBaiEEIBJBAWoiEiAeRw0ACwsgKyAYIB1qIBRqayABakF4TQRAA0AgAiAELQAAOgAAIAIgBC0AAToAASACIAQtAAI6AAIgAiAELQADOgADIAIgBC0ABDoABCACIAQtAAU6AAUgAiAELQAGOgAGIAIgBC0ABzoAByACQQhqIQIgBEEIaiEEIANBCGsiAw0ACwsgCyAPIAlrIg9PBEAgByEEDAMLQQAhASALIQMgByEEICUEQANAIAIgBC0AADoAACADQQFrIQMgAkEBaiECIARBAWohBCABQQFqIgEgJUcNAAsLIAtBCE8EQANAIAIgBC0AADoAACACIAQtAAE6AAEgAiAELQACOgACIAIgBC0AAzoAAyACIAQtAAQ6AAQgAiAELQAFOgAFIAIgBC0ABjoABiACIAQtAAc6AAcgAkEIaiECIARBCGohBCADQQhrIgMNAAsLIAIgG2shBCAPIAtrIQ8MAgsgByALIAlraiEEIAkgD08EQCABIQIMAgtBACESIAEhAiAJIgNBB3EiHgRAA0AgAiAELQAAOgAAIANBAWshAyACQQFqIQIgBEEBaiEEIBJBAWoiEiAeRw0ACwsgFSAYIB1qIBRqayABakF4Sw0AA0AgAiAELQAAOgAAIAIgBC0AAToAASACIAQtAAI6AAIgAiAELQADOgADIAIgBC0ABDoABCACIAQtAAU6AAUgAiAELQAGOgAGIAIgBC0ABzoAByACQQhqIQIgBEEIaiEEIANBCGsiAw0ACwsgAiAbayEEIA8gCWshDwsCQCAPQQNJDQAgD0EDayIBQQNuIgNBA3FBA0cEQCADQQFqQQNxIQlBACEDA0AgAiAELQAAOgAAIAIgBC0AAToAASACIAQtAAI6AAIgD0EDayEPIAJBA2ohAiAEQQNqIQQgA0EBaiIDIAlHDQALCyABQQlJDQADQCACIAQtAAA6AAAgAiAELQABOgABIAIgBC0AAjoAAiACIAQtAAM6AAMgAiAELQAEOgAEIAIgBC0ABToABSACIAQtAAY6AAYgAiAELQAHOgAHIAIgBC0ACDoACCACIAQtAAk6AAkgAiAELQAKOgAKIAIgBC0ACzoACyACQQxqIQIgBEEMaiEEIA9BDGsiD0ECSw0ACwsgD0UEQCACIQEMAwsgAiAELQAAOgAAIA9BAkYNASACQQFqIQEMAgsgASAbayEDA0AgASICIAMiBC0AADoAACACIAMtAAE6AAEgAiADLQACOgACIAJBA2ohASADQQNqIQMgD0EDayIPQQJLDQALIA9FDQEgAiADLQAAOgADIA9BAkcEQCACQQRqIQEMAgsgAiAELQAEOgAEIAJBBWohAQwBCyACIAQtAAE6AAEgAkECaiEBCyAIICdPDQAgASAmSQ0BCwsgCiABNgIMIAogCCAFQQN2ayICNgIAIAogJiABa0GBAmo2AhAgCiAnIAJrQQVqNgIEIBAgBUEHcSIBNgJAIBAgDkF/IAF0QX9zcTYCPCAGKAJAIQMgBigCPCEHIAooAgQhBCAKKAIAIQEgCigCECEPIAooAgwhECAGKAIEQb/+AEcNDyAGQX82Asg3IAYoAgQhBQwYCyAGQQA2Asg3IAMhCCAEIQUgASECAkAgBigCUCIUIAdBfyAGKAJYdEF/cyIScUECdGoiCy0AASIOIANNBEAgAyEJDAELA0AgBUUNDSACLQAAIAh0IQsgAkEBaiECIAVBAWshBSAIQQhqIgkhCCAJIBQgByALaiIHIBJxQQJ0aiILLQABIg5JDQALCyAOIQMgCy8BAiESAkAgCy0AACILQQFrQf8BcUEOSwRAQQAhAyACIQEgBSEEDAELIAUhBCACIQECQCAJIgggAyAUIBJBAnRqIhQgB0F/IAMgC2p0QX9zIhhxIAN2QQJ0aiISLQABIg5qTwRAIAghCwwBCwNAIARFDQ0gAS0AACAIdCEOIAFBAWohASAEQQFrIQQgCEEIaiILIQggAyAUIAcgDmoiByAYcSADdkECdGoiEi0AASIOaiALSw0ACwsgCyADayEJIAcgA3YhByASLQAAIQsgEi8BAiESCyAGIBJB//8DcTYCRCAGIAMgDmo2Asg3IAkgDmshAyAHIA52IQcgC0H/AXEiAkUEQCAGQc3+ADYCBCAGKAIEIQUMGAsgAkEgcQRAIAZBv/4ANgIEIAZBfzYCyDcgBigCBCEFDBgLIAJBwABxBEAgCkHUETYCGCAGQdH+ADYCBCAGKAIEIQUMGAsgBkHJ/gA2AgQgBiACQQ9xIgg2AkwLIAEhCyAEIQkCQCAIRQRAIAYoAkQhAgwBCyADIQUgASECIAMgCEkEQANAIARFDQsgBEEBayEEIAItAAAgBXQgB2ohByACQQFqIgEhAiAFQQhqIgUgCEkNAAsLIAYgBigCyDcgCGo2Asg3IAYgBigCRCAHQX8gCHRBf3NxaiICNgJEIAUgCGshAyAHIAh2IQcLIAZByv4ANgIEIAYgAjYCzDcLIAMhCCAEIQUgASECAkAgBigCVCIUIAdBfyAGKAJcdEF/cyIScUECdGoiCy0AASIOIANNBEAgAyEJDAELA0AgBUUNCCACLQAAIAh0IQsgAkEBaiECIAVBAWshBSAIQQhqIgkhCCAJIBQgByALaiIHIBJxQQJ0aiILLQABIg5JDQALCyALLwECIRIgBgJ/IAstAAAiCEEQTwRAIAIhASAFIQQgDiELIAYoAsg3DAELIAUhBCACIQECQCAJIgMgDiAUIBJBAnRqIhQgB0F/IAggDmp0QX9zIhhxIA52QQJ0aiISLQABIgtqTwRAIAMhCAwBCwNAIARFDQggAS0AACADdCELIAFBAWohASAEQQFrIQQgA0EIaiIIIQMgDiAUIAcgC2oiByAYcSAOdkECdGoiEi0AASILaiAISw0ACwsgCCAOayEJIAcgDnYhByASLQAAIQggEi8BAiESIAYoAsg3IA5qCyALajYCyDcgCSALayEDIAcgC3YhByAIQcAAcQRAIApB8BE2AhggBkHR/gA2AgQgBigCBCEFDBYLIAZBy/4ANgIEIAYgCEEPcSIINgJMIAYgEkH//wNxNgJICyABIQsgBCEJIAgEQCADIQUgASECIAMgCEkEQANAIARFDQYgBEEBayEEIAItAAAgBXQgB2ohByACQQFqIgEhAiAFQQhqIgUgCEkNAAsLIAYgBigCyDcgCGo2Asg3IAYgBigCSCAHQX8gCHRBf3NxajYCSCAHIAh2IQcgBSAIayEDCyAGQcz+ADYCBAsgDw0BC0EAIQ8gDCECDBYLAn8gBigCSCICIBUgD2siBUsEQAJAIAIgBWsiAiAGKAIwTQ0AIAYoAsQ3RQ0AIApBlA82AhggBkHR/gA2AgQgBigCBCEFDBQLAn8gBigCNCIFIAJJBEAgBigCOCAGKAIsIAIgBWsiAmtqDAELIAYoAjggBSACa2oLIQUgAiAGKAJEIgggAiAISRsMAQsgECACayEFIAYoAkQiCAshAiAGIAggAiAPIAIgD0kbIglrNgJEIAlBAWshC0EAIQggCUEHcSIORQ0GIAkhAgNAIBAgBS0AADoAACACQQFrIQIgEEEBaiEQIAVBAWohBSAIQQFqIgggDkcNAAsMBwsgCSALaiEBIAMgCUEDdGohAwwTCyACIAVqIQEgCSAFQQN0aiEDDBILIAEgBGohASADIARBA3RqIQMMEQsgCSALaiEBIAMgCUEDdGohAwwQCyACIAVqIQEgCSAFQQN0aiEDDA8LIAEgBGohASADIARBA3RqIQMMDgsgCSECCyALQQdPBEADQCAQIAUtAAA6AAAgECAFLQABOgABIBAgBS0AAjoAAiAQIAUtAAM6AAMgECAFLQAEOgAEIBAgBS0ABToABSAQIAUtAAY6AAYgECAFLQAHOgAHIBBBCGohECAFQQhqIQUgAkEIayICDQALCyAPIAlrIQ8gBigCRA0AIAZByP4ANgIEIAYoAgQhBQwJCyAGKAIEIQUMCAtBACEEIAIhASAJIQMgDCECDAsLIAYoAiQiAgRAIAJBADYCEAsgBSEDCyAGQbn+ADYCBAsCQCAGKAIUIghBgAhxRQ0AIAYoAkQiBSAEIAQgBUsbIgIEQAJAIAYoAiQiCUUNACAJKAIQIg5FDQAgCSgCGCILIAkoAhQgBWsiBU0NACALIAVrIAIgAiAFaiALSxsiCARAIAUgDmogASAI/AoAAAsgBigCFCEICwJAIAhBgARxRQ0AIAYtAAxBBHFFDQAgBiAGKAIcIAEgAhBRNgIcCyAGIAYoAkQgAmsiBTYCRCAEIAJrIQQgASACaiEBCyAFRQ0AIAwhAgwJCyAGQbr+ADYCBCAGQQA2AkQLAkAgBi0AFUEIcQRAQQAhBSAERQ0IA0AgASAFai0AACECAkAgBigCJCIIRQ0AIAgoAhwiC0UNACAGKAJEIgkgCCgCIE8NACAGIAlBAWo2AkQgCSALaiACOgAACyACQQAgBCAFQQFqIgVLGw0ACwJAIAYtABVBAnFFDQAgBi0ADEEEcUUNACAGIAYoAhwgASAFEFE2AhwLIAEgBWohASAEIAVrIQQgAkUNASAMIQIMCQsgBigCJCICRQ0AIAJBADYCHAsgBkG7/gA2AgQgBkEANgJECwJAIAYtABVBEHEEQEEAIQUgBEUNBwNAIAEgBWotAAAhAgJAIAYoAiQiCEUNACAIKAIkIgtFDQAgBigCRCIJIAgoAihPDQAgBiAJQQFqNgJEIAkgC2ogAjoAAAsgAkEAIAQgBUEBaiIFSxsNAAsCQCAGLQAVQQJxRQ0AIAYtAAxBBHFFDQAgBiAGKAIcIAEgBRBRNgIcCyABIAVqIQEgBCAFayEEIAJFDQEgDCECDAgLIAYoAiQiAkUNACACQQA2AiQLIAZBvP4ANgIECyAGKAIUIglBgARxBEACQCADQQ9LBEAgASEFDAELIARFDQYgA0EIaiECIAFBAWohBSAEQQFrIQggAS0AACADdCAHaiEHIANBB0sEQCAIIQQgAiEDDAELIAhFBEAgBSEBQQAhBCACIQMgDCECDAgLIANBEHIhAyABQQJqIQUgBEECayEEIAEtAAEgAnQgB2ohBwsCQCAGLQAMQQRxRQ0AIAcgBi8BHEYNACAKQbkPNgIYIAZB0f4ANgIEIAUhASAGKAIEIQUMAwtBACEHQQAhAyAFIQELIAYoAiQiAgRAIAJBATYCMCACIAlBCXZBAXE2AiwLIAZBAEEAQQAQUSICNgIcIAogAjYCMCAGQb/+ADYCBCAGKAIEIQUMAQsgBUUNASAGKAIURQ0BAkAgA0EfSwRAIAEhAgwBCyAERQ0EIANBCGohCCABQQFqIQIgBEEBayEJIAEtAAAgA3QgB2ohByADQRdLBEAgCSEEIAghAwwBCyAJRQRAIAIhAUEAIQQgCCEDIAwhAgwGCyADQRBqIQkgAUECaiECIARBAmshCyABLQABIAh0IAdqIQcgA0EPSwRAIAshBCAJIQMMAQsgC0UEQCACIQFBACEEIAkhAyAMIQIMBgsgA0EYaiEIIAFBA2ohAiAEQQNrIQsgAS0AAiAJdCAHaiEHIANBB0sEQCALIQQgCCEDDAELIAtFBEAgAiEBQQAhBCAIIQMgDCECDAYLIANBIHIhAyABQQRqIQIgBEEEayEEIAEtAAMgCHQgB2ohBwsCQCAFQQRxRQ0AIAcgBigCIEYNACAKQd4ONgIYIAZB0f4ANgIEIAIhASAGKAIEIQUMAQsLIAIhAUEAIQdBACEDCyAGQdD+ADYCBAtBASECDAELQQAhBCAMIQILIAogDzYCECAKIBA2AgwgCiAENgIEIAogATYCACAGIAM2AkAgBiAHNgI8AkACQCAGKAIsRQRAIA8gFUYNASAGKAIEQdD+AEsNAQsCfyAVIA9rIQMCQAJAIAooAhwiASgCOCIMRQRAQQEhBSABIAooAihBASABKAIodEEBIAooAiARAwAiDDYCOCAMRQ0BCyABKAIsIgRFBEAgAUIANwIwIAFBASABKAIodCIENgIsCyADIARPBEAgBARAIAwgECAEayAE/AoAAAsgAUEANgI0DAILIAQgASgCNCIIayIFIAMgAyAFSxsiBARAIAggDGogECADayAE/AoAAAsgAyAFSwRAIAMgBGsiAwRAIAEoAjggECADayAD/AoAAAsgASADNgI0DAILQQAhBSABIAEoAjQgBGoiA0EAIAMgASgCLCIMRxs2AjQgDCABKAIwIgNNDQAgASADIARqNgIwCyAFDAELIAEgASgCLDYCMEEACw0BIAooAhAhDyAKKAIEIQQLIAogCigCCCAkIARrajYCCCAKIBUgD2siASAKKAIUajYCFCAGIAYoAiAgAWo2AiAgBi0ADEEEcUUgDyAVRnJFBEAgCigCDCABayEDIAYoAhwhBSAGAn8gBigCFARAIAUgAyABEFEMAQsgBSADIAEQswELIgE2AhwgCiABNgIwCyAKIAYoAkBBwABBACAGKAIIG2pBgAFBACAGKAIEIgFBv/4ARhtqQYACQYACQQAgAUHC/gBGGyABQcf+AEYbajYCLCACQXsgAhsgAiAPIBVGGyACIAQgJEYbIRwMAgsgBkHS/gA2AgQLQXwhHAsgF0EQaiQAIBxBAUsNASATQagBaiEBIBMoAqwBIQMgGigCACEJIBooAgQgEygCFGshDCMAQSBrIggkAAJAIAwgCWsiBUEATA0AIAEoAgggASgCBCICayAFTgRAIAIgA2siBCAFSARAIAwgBCAJaiIHayILRSAHIAxGckUEQCACIAcgC/wKAAALIAEgAiALajYCBCAE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eQAtKyAgIDBYMHgALTBYKzBYIDBYLTB4KzB4IDB4AE5vdgBUaHUAQXVndXN0AHVuc2lnbmVkIHNob3J0AHVuc2lnbmVkIGludABpbnZhbGlkIGxpdGVyYWwvbGVuZ3RocyBzZXQAaW52YWxpZCBjb2RlIGxlbmd0aHMgc2V0AHVua25vd24gaGVhZGVyIGZsYWdzIHNldABpbnZhbGlkIGRpc3RhbmNlcyBzZXQAZ2V0AE9jdABmbG9hdABpbnZhbGlkIGJpdCBsZW5ndGggcmVwZWF0AFNhdABudW1Qb2ludHMAY29sb3JzAFVucGFja09wdGlvbnMAcG9zaXRpb25zAHJvdGF0aW9ucwB0b28gbWFueSBsZW5ndGggb3IgZGlzdGFuY2Ugc3ltYm9scwBpbnZhbGlkIHN0b3JlZCBibG9jayBsZW5ndGhzAHNjYWxlcwBhbHBoYXMAW1NQWjogRVJST1JdIENoZWNrIGZhaWxlZDogJXM6JWQ6ICVzAHZmMzJfcHRyAEFwcgB2ZWN0b3IAbW9uZXlfZ2V0IGVycm9yAFtTUFogRVJST1JdIGRlc2VyaWFsaXplUGFja2VkR2F1c3NpYW5zOiByZWFkIGVycm9yAE9jdG9iZXIATm92ZW1iZXIAU2VwdGVtYmVyAERlY2VtYmVyAHVuc2lnbmVkIGNoYXIAaW9zX2Jhc2U6OmNsZWFyAE1hcgAvZW1zZGsvZW1zY3JpcHRlbi9zeXN0ZW0vbGliL2xpYmN4eGFiaS9zcmMvcHJpdmF0ZV90eXBlaW5mby5jcHAAU2VwACVJOiVNOiVTICVwAFN1bgBKdW4ATW9uAG5hbgBKYW4AY29vcmRpbmF0ZVN5c3RlbQBDb29yZGluYXRlU3lzdGVtAEp1bABib29sAGxsAEFwcmlsAGludmFsaWQgY29kZSAtLSBtaXNzaW5nIGVuZC1vZi1ibG9jawBpbmNvcnJlY3QgaGVhZGVyIGNoZWNrAGluY29ycmVjdCBsZW5ndGggY2hlY2sAaW5jb3JyZWN0IGRhdGEgY2hlY2sAcHVzaF9iYWNrAGludmFsaWQgZGlzdGFuY2UgdG9vIGZhciBiYWNrAEZyaQBzaABoZWFkZXIgY3JjIG1pc21hdGNoAE1hcmNoAEF1ZwB1bnNpZ25lZCBsb25nIGxvbmcAdW5zaWduZWQgbG9uZwBzdGQ6OndzdHJpbmcAYmFzaWNfc3RyaW5nAHN0ZDo6c3RyaW5nAHN0ZDo6dTE2c3RyaW5nAHN0ZDo6dTMyc3RyaW5nAGluZgAlLjBMZgAlTGYAcmVzaXplAGludmFsaWQgd2luZG93IHNpemUAdHJ1ZQBUdWUAZmFsc2UAaW52YWxpZCBibG9jayB0eXBlAEp1bmUAZG91YmxlAHNoRGVncmVlAGJhZF9hcnJheV9uZXdfbGVuZ3RoIHdhcyB0aHJvd24gaW4gLWZuby1leGNlcHRpb25zIG1vZGUAaW52YWxpZCBsaXRlcmFsL2xlbmd0aCBjb2RlAGludmFsaWQgZGlzdGFuY2UgY29kZQBSYXdHYXVzc2lhbkNsb3VkAHVua25vd24gY29tcHJlc3Npb24gbWV0aG9kAFtTUFogRVJST1JdIGRlc2VyaWFsaXplUGFja2VkR2F1c3NpYW5zOiBoZWFkZXIgbm90IGZvdW5kACUwKmxsZAAlKmxsZAArJWxsZAAlKy40bGQAdm9pZABsb2NhbGUgbm90IHN1cHBvcnRlZABhbnRpYWxpYXNlZABXZWQAJVktJW0tJWQAW1NQWiBFUlJPUl0gZGVzZXJpYWxpemVQYWNrZWRHYXVzc2lhbnM6IFRvbyBtYW55IHBvaW50czogJWQAW1NQWiBFUlJPUl0gZGVzZXJpYWxpemVQYWNrZWRHYXVzc2lhbnM6IFVuc3VwcG9ydGVkIFNIIGRlZ3JlZTogJWQAW1NQWiBFUlJPUl0gZGVzZXJpYWxpemVQYWNrZWRHYXVzc2lhbnM6IHZlcnNpb24gbm90IHN1cHBvcnRlZDogJWQARGVjAC4vc3B6L3NyYy9jYy9sb2FkLXNwei5jYwBGZWIAJWEgJWIgJWQgJUg6JU06JVMgJVkAUE9TSVgAVmVjdG9yVUludDhUACVIOiVNOiVTAE5BTgBQTQBBTQAlSDolTQBMQ19BTEwAQVNDSUkATEFORwBSVUYATFVGAElORgBSREYATERGAFVOU1BFQ0lGSUVEAEMAUlVCAExVQgBSREIATERCAGNhdGNoaW5nIGEgY2xhc3Mgd2l0aG91dCBhbiBvYmplY3Q/AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHNob3J0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBzaG9ydD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBpbnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGZsb2F0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50OF90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQ4X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVpbnQxNl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQxNl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50NjRfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50NjRfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dWludDMyX3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGludDMyX3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGNoYXI+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIGNoYXI+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHNpZ25lZCBjaGFyPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxsb25nPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBsb25nPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxkb3VibGU+ADAxMjM0NTY3ODkAQy5VVEYtOABWZWN0b3JGbG9hdDMyADEuMy4xAC4ALQAocGFja2VkLmFscGhhcy5zaXplKCkpID09IChudW1Qb2ludHMpAChudWxsKQAocGFja2VkLmNvbG9ycy5zaXplKCkpID09IChudW1Qb2ludHMgKiAzKQAocGFja2VkLnNjYWxlcy5zaXplKCkpID09IChudW1Qb2ludHMgKiAzKQAocGFja2VkLnNoLnNpemUoKSkgPT0gKG51bVBvaW50cyAqIHNoRGltICogMykAKHBhY2tlZC5yb3RhdGlvbnMuc2l6ZSgpKSA9PSAobnVtUG9pbnRzICogKHBhY2tlZC51c2VzUXVhdGVybmlvblNtYWxsZXN0VGhyZWUgPyA0IDogMykpAChwYWNrZWQucG9zaXRpb25zLnNpemUoKSkgPT0gKG51bVBvaW50cyAqIDMgKiAodXNlc0Zsb2F0MTYgPyAyIDogMykpACUAbGVuZ3RoX2Vycm9yIHdhcyB0aHJvd24gaW4gLWZuby1leGNlcHRpb25zIG1vZGUgd2l0aCBtZXNzYWdlICIlcyIAUHVyZSB2aXJ0dWFsIGZ1bmN0aW9uIGNhbGxlZCEAW1NQWjogRVJST1JdIFVuc3VwcG9ydGVkIFNIIGRlZ3JlZTogJWQKAAkAAAAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwBBkCALthMgEAAA9GwAAPRsAABAEAAAqG0AACgQAABOM3NwejEzR2F1c3NpYW5DbG91ZEUAAACobQAASBAAAE4zc3B6MTNVbnBhY2tPcHRpb25zRQBwcGlpcAD0bAAAbBAAAKhtAAB0EAAATlN0M19fMjZ2ZWN0b3JJZk5TXzlhbGxvY2F0b3JJZkVFRUUAaXBwACxuAADEEAAAAAAAAAMAAADcEAAAAAAAACgSAAAAAAAAWBIAAAAAAABOU3QzX18yOG9wdGlvbmFsSWZFRQAAAADQbQAA6BAAABgRAABOU3QzX18yMjdfX29wdGlvbmFsX21vdmVfYXNzaWduX2Jhc2VJZkxiMUVFRQAAAADQbQAAJBEAAFQRAABOU3QzX18yMjdfX29wdGlvbmFsX2NvcHlfYXNzaWduX2Jhc2VJZkxiMUVFRQAAAADQbQAAYBEAAIgRAABOU3QzX18yMjBfX29wdGlvbmFsX21vdmVfYmFzZUlmTGIxRUVFAAAA0G0AAJQRAAC8EQAATlN0M19fMjIwX19vcHRpb25hbF9jb3B5X2Jhc2VJZkxiMUVFRQAAANBtAADIEQAA9BEAAE5TdDNfXzIyM19fb3B0aW9uYWxfc3RvcmFnZV9iYXNlSWZMYjBFRUUAAAAAqG0AAPwRAABOU3QzX18yMjRfX29wdGlvbmFsX2Rlc3RydWN0X2Jhc2VJZkxiMUVFRQAAAKhtAAAwEgAATlN0M19fMjE4X19zZmluYWVfY3Rvcl9iYXNlSUxiMUVMYjFFRUUAAKhtAABgEgAATlN0M19fMjIwX19zZmluYWVfYXNzaWduX2Jhc2VJTGIxRUxiMUVFRQAAAACIbgAAnBIAAAAAAABsEAAAUE5TdDNfXzI2dmVjdG9ySWZOU185YWxsb2NhdG9ySWZFRUVFAAAAAIhuAADUEgAAAQAAAGwQAABQS05TdDNfXzI2dmVjdG9ySWZOU185YWxsb2NhdG9ySWZFRUVFAHBwAHYAdnAAAACMEgAAcHAAAJRsAACMEgAAPG0AAHZwcGQAAAAAlGwAAIwSAAAYbQAAPG0AAHZwcHBkAAAAGG0AAMQSAABwcHAATBMAADxtAACobQAAVBMAAE4xMGVtc2NyaXB0ZW4zdmFsRQAAnBAAAGwQAAAYbQAAcHBwcAAAAAAAAAAArGwAAGwQAAAYbQAAPG0AAGlwcHBkAAAALG4AAMATAAAAAAAAAwAAANgTAAAAAAAAKBIAAAAAAABYEgAAAAAAAE5TdDNfXzI4b3B0aW9uYWxJaEVFAAAAANBtAADkEwAAFBQAAE5TdDNfXzIyN19fb3B0aW9uYWxfbW92ZV9hc3NpZ25fYmFzZUloTGIxRUVFAAAAANBtAAAgFAAAUBQAAE5TdDNfXzIyN19fb3B0aW9uYWxfY29weV9hc3NpZ25fYmFzZUloTGIxRUVFAAAAANBtAABcFAAAhBQAAE5TdDNfXzIyMF9fb3B0aW9uYWxfbW92ZV9iYXNlSWhMYjFFRUUAAADQbQAAkBQAALgUAABOU3QzX18yMjBfX29wdGlvbmFsX2NvcHlfYmFzZUloTGIxRUVFAAAA0G0AAMQUAADwFAAATlN0M19fMjIzX19vcHRpb25hbF9zdG9yYWdlX2Jhc2VJaExiMEVFRQAAAACobQAA+BQAAE5TdDNfXzIyNF9fb3B0aW9uYWxfZGVzdHJ1Y3RfYmFzZUloTGIxRUVFAAAAqG0AACwVAABOU3QzX18yNnZlY3RvckloTlNfOWFsbG9jYXRvckloRUVFRQCIbgAAYBUAAAAAAAAkFQAAUE5TdDNfXzI2dmVjdG9ySWhOU185YWxsb2NhdG9ySWhFRUVFAAAAAIhuAACYFQAAAQAAACQVAABQS05TdDNfXzI2dmVjdG9ySWhOU185YWxsb2NhdG9ySWhFRUVFAHBwAHZwAFAVAABwcAAAlGwAAFAVAADEbAAAdnBwaQAAAACUbAAAUBUAABhtAADEbAAAdnBwcGkAAAAYbQAAiBUAAHBwcABMEwAAxGwAAJgTAAAkFQAAGG0AAHBwcHAAAAAArGwAACQVAAAYbQAAxGwAAGlwcHBpAHAAdnAAaXBwAHZwcGkAaXBwAHZwcGkAcHBwAHZwcHAAAABcbQAAYBYAAE4zc3B6MTZDb29yZGluYXRlU3lzdGVtRQBwAHZwAGlwcAB2cHBpAAAAAAAAAwAAAAgAAAAPAAAAqG0AAKAWAABOU3QzX18yMTJiYXNpY19zdHJpbmdJY05TXzExY2hhcl90cmFpdHNJY0VFTlNfOWFsbG9jYXRvckljRUVFRQAAqG0AAOgWAABOU3QzX18yMTJiYXNpY19zdHJpbmdJd05TXzExY2hhcl90cmFpdHNJd0VFTlNfOWFsbG9jYXRvckl3RUVFRQAAqG0AADAXAABOU3QzX18yMTJiYXNpY19zdHJpbmdJRHNOU18xMWNoYXJfdHJhaXRzSURzRUVOU185YWxsb2NhdG9ySURzRUVFRQAAAKhtAAB8FwAATlN0M19fMjEyYmFzaWNfc3RyaW5nSURpTlNfMTFjaGFyX3RyYWl0c0lEaUVFTlNfOWFsbG9jYXRvcklEaUVFRUUAAACobQAAyBcAAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWNFRQAAqG0AAPAXAABOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lhRUUAAKhtAAAYGAAATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJaEVFAACobQAAQBgAAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SXNFRQAAqG0AAGgYAABOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0l0RUUAAKhtAACQGAAATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJaUVFAACobQAAuBgAAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWpFRQAAqG0AAOAYAABOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lsRUUAAKhtAAAIGQAATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJbUVFAACobQAAMBkAAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SXhFRQAAqG0AAFgZAABOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0l5RUUAAKhtAACAGQAATjEwZW1zY3Jp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AAAJqAAACAQAAAiEAAAIRAAACegAEAcIAAAIXAAACBwAAAmYABQHUwAACHwAAAg8AAAJ2AASBxcAAAhsAAAILAAACbgAAAgMAAAIjAAACEwAAAn4ABAHAwAACFIAAAgSABUIowATByMAAAhyAAAIMgAACcQAEQcLAAAIYgAACCIAAAmkAAAIAgAACIIAAAhCAAAJ5AAQBwcAAAhaAAAIGgAACZQAFAdDAAAIegAACDoAAAnUABIHEwAACGoAAAgqAAAJtAAACAoAAAiKAAAISgAACfQAEAcFAAAIVgAACBYAQAgAABMHMwAACHYAAAg2AAAJzAARBw8AAAhmAAAIJgAACawAAAgGAAAIhgAACEYAAAnsABAHCQAACF4AAAgeAAAJnAAUB2MAAAh+AAAIPgAACdwAEgcbAAAIbgAACC4AAAm8AAAIDgAACI4AAAhOAAAJ/ABgBwAAAAhRAAAIEQAVCIMAEgcfAAAIcQAACDEAAAnCABAHCgAACGEAAAghAAAJogAACAEAAAiBAAAIQQAACeIAEAcGAAAIWQAACBkAAAmSABMHOwAACHkAAAg5AAAJ0gARBxEAAAhpAAAIKQAACbIAAAgJAAAIiQAACEkAAAnyABAHBAAACFUAAAgVABAIAgETBysAAAh1AAAINQAACcoAEQcNAAAIZQAACCUAAAmqAAAIBQAACIUAAAhFAAAJ6gAQBwgAAAhdAAAIHQAACZoAFAdTAAAIfQAACD0AAAnaABIHFwAACG0AAAgtAAAJugAACA0AAAiNAAAITQAACfoAEAcDAAAIUwAACBMAFQjDABMHIwAACHMAAAgzAAAJxgARBwsAAAhjAAAIIwAACaYAAAgDAAAIgwAACEMAAAnmABAHBwAACFsAAAgbAAAJlgAUB0MAAAh7AAAIOwAACdYAEgcTAAAIawAACCsAAAm2AAAICwAACIsAAAhLAAAJ9gAQBwUAAAhXAAAIFwBACAAAEwczAAAIdwAACDcAAAnOABEHDwAACGcAAAgnAAAJrgAACAcAAAiHAAAIRwAACe4AEAcJAAAIXwAACB8AAAmeABQHYwAACH8AAAg/AAAJ3gASBxsAAAhvAAAILwAACb4AAAgPAAAIjwAACE8AAAn+AGAHAAAACFAAAAgQABQIcwASBx8AAAhwAAAIMAAACcEAEAcKAAAIYAAACCAAAAmhAAAIAAAACIAAAAhAAAAJ4QAQBwYAAAhYAAAIGAAACZEAEwc7AAAIeAAACDgAAAnRABEHEQAACGgAAAgoAAAJsQAACAgAAAiIAAAISAAACfEAEAcEAAAIVAAACBQAFQjjABMHKwAACHQAAAg0AAAJyQARBw0AAAhkAAAIJAAACakAAAgEAAAIhAAACEQAAAnpABAHCAAACFwAAAgcAAAJmQAUB1MAAAh8AAAIPAAACdkAEgcXAAAIbAAACCwAAAm5AAAIDAAACIwAAAhMAAAJ+QAQBwMAAAhSAAAIEgAVCKMAEwcjAAAIcgAACDIAAAnFABEHCwAACGIAAAgiAAAJpQAACAIAAAiCAAAIQgAACeUAEAcHAAAIWgAACBoAAAmVABQHQwAACHoAAAg6AAAJ1QASBxMAAAhqAAAIKgAACbUAAAgKAAAIigAACEoAAAn1ABAHBQAACFYAAAgWAEAIAAATBzMAAAh2AAAINgAACc0AEQcPAAAIZgAACCYAAAmtAAAIBgAACIYAAAhGAAAJ7QAQBwkAAAheAAAIHgAACZ0AFAdjAAAIfgAACD4AAAndABIHGwAACG4AAAguAAAJvQAACA4AAAiOAAAITgAACf0AYAcAAAAIUQAACBEAFQiDABIHHwAACHEAAAgxAAAJwwAQBwoAAAhhAAAIIQAACaMAAAgBAAAIgQAACEEAAAnjABAHBgAACFkAAAgZAAAJkwATBzsAAAh5AAAIOQAACdMAEQcRAAAIaQAACCkAAAmzAAAICQAACIkAAAhJAAAJ8wAQBwQAAAhVAAAIFQAQCAIBEwcrAAAIdQAACDUAAAnLABEHDQAACGUAAAglAAAJqwAACAUAAAiFAAAIRQAACesAEAcIAAAIXQAACB0AAAmbABQHUwAACH0AAAg9AAAJ2wASBxcAAAhtAAAILQAACbsAAAgNAAAIjQAACE0AAAn7ABAHAwAACFMAAAgTABUIwwATByMAAAhzAAAIMwAACccAEQcLAAAIYwAACCMAAAmnAAAIAwAACIMAAAhDAAAJ5wAQBwcAAAhbAAAIGwAACZcAFAdDAAAIewAACDsAAAnXABIHEwAACGsAAAgrAAAJtwAACAsAAAiLAAAISwAACfcAEAcFAAAIVwAACBcAQAgAABMHMwAACHcAAAg3AAAJzwARBw8AAAhnAAAIJwAACa8AAAgHAAAIhwAACEcAAAnvABAHCQAACF8AAAgfAAAJnwAUB2MAAAh/AAAIPwAACd8AEgcbAAAIbwAACC8AAAm/AAAIDwAACI8AAAhPAAAJ/wAQBQEAFwUBARMFEQAbBQEQEQUFABkFAQQVBUEAHQUBQBAFAwAYBQECFAUhABwFASASBQkAGgUBCBYFgQBABQAAEAUCABcFgQETBRkAGwUBGBEFBwAZBQEGFQVhAB0FAWAQBQQAGAUBAxQFMQAcBQEwEgUNABoFAQwWBcEAQAUAAAMABAAFAAYABwAIAAkACgALAA0ADwARABMAFwAbAB8AIwArADMAOwBDAFMAYwBzAIMAowDDAOMAAgEAAAAAAAAQABAAEAAQABAAEAAQABAAEQARABEAEQASABIAEgASABMAEwATABMAFAAUABQAFAAVABUAFQAVABAAywBNAAAAAQACAAMABAAFAAcACQANABEAGQAhADEAQQBhAIEAwQABAYEBAQIBAwEEAQYBCAEMARABGAEgATABQAFgAAAAABAAEAAQABAAEQARABIAEgATABMAFAAUABUAFQAWABYAFwAXABgAGAAZABkAGgAaABsAGwAcABwAHQAdAEAAQAC+8/h57GH2P96qjID3e9W/PYivSu1x9T/bbcCn8L7Sv7AQ8PA5lfQ/ZzpRf64e0L+FA7iwlcnzP+kkgqbYMcu/pWSIDBkN8z9Yd8AKT1fGv6COC3siXvI/AIGcxyuqwb8/NBpKSrvxP14OjM52Trq/uuWK8Fgj8T/MHGFaPJexv6cAmUE/lfA/HgzhOPRSor8AAAAAAADwPwAAAAAAAAAArEea/Yxg7j+EWfJdqqWqP6BqAh+zpOw/tC42qlNevD/m/GpXNiDrPwjbIHflJsU/LaqhY9HC6T9wRyINhsLLP+1BeAPmhug/4X6gyIsF0T9iSFP13GfnPwnutlcwBNQ/7zn6/kIu5j80g7hIow7Qv2oL4AtbV9U/I0EK8v7/37/AbgBBsPEAC0EZAAsAGRkZAAAAAAUAAAAAAAAJAAAAAAsAAAAAAAAAABkACgoZGRkDCgcAAQAJCxgAAAkGCwAACwAGGQAAABkZGQBBgfIACyEOAAAAAAAAAAAZAAsNGRkZAA0AAAIACQ4AAAAJAA4AAA4AQbvyAAsBDABBx/IACxUTAAAAABMAAAAACQwAAAAAAAwAAAwAQfXyAAsBEABBgfMACxUPAAAABA8AAAAACRAAAAAAABAAABAAQa/zAAsBEgBBu/MACx4RAAAAABEAAAAACRIAAAAAABIAABIAABoAAAAaGhoAQfLzAAsOGgAAABoaGgAAAAAAAAkAQaP0AAsBFABBr/QACxUXAAAAABcAAAAACRQAAAAAABQAABQAQd30AAsBFgBB6fQAC5oOFQAAAAAVAAAAAAkWAAAAAAAWAAAWAAAwMTIzNDU2Nzg5QUJDREVGAAAAAAA8AAA2AAAANwAAADgAAAA5AAAAOgAAADsAAAA8AAAAPQAAAD4AAAA/AAAAQAAAAEEAAABCAAAAQwAAAAgAAAAAAAAAPDwAAEQAAABFAAAA+P////j///88PAAARgAAAEcAAADcOgAA8DoAAAQAAAAAAAAAhDwAAEgAAABJAAAA/P////z///+EPAAASgAAAEsAAAAMOwAAIDsAAAwAAAAAAAAAHD0AAEwAAABNAAAABAAAAPj///8cPQAATgAAAE8AAAD0////9P///xw9AABQAAAAUQAAADw7AADYPAAA7DwAAAA9AAAUPQAAZDsAAFA7AAAAAAAAbD0AAFIAAABTAAAAOAAAADkAAABUAAAAVQAAADwAAAA9AAAAPgAAAFYAAABAAAAAVwAAAEIAAABYAAAA0G0AANQ7AAAQPwAATlN0M19fMjliYXNpY19pb3NJY05TXzExY2hhcl90cmFpdHNJY0VFRUUAAACobQAACDwAAE5TdDNfXzIxNWJhc2ljX3N0cmVhbWJ1ZkljTlNfMTFjaGFyX3RyYWl0c0ljRUVFRQAAAAAsbgAAVDwAAAAAAAABAAAAyDsAAAP0//9OU3QzX18yMTNiYXNpY19pc3RyZWFtSWNOU18xMWNoYXJfdHJhaXRzSWNFRUVFAAAsbgAAnDwAAAAAAAABAAAAyDsAAAP0//9OU3QzX18yMTNiYXNpY19vc3RyZWFtSWNOU18xMWNoYXJfdHJhaXRzSWNFRUVFAAAMAAAAAAAAADw8AABEAAAARQAAAPT////0////PDwAAEYAAABHAAAABAAAAAAAAACEPAAASAAAAEkAAAD8/////P///4Q8AABKAAAASwAAACxuAAA8PQAAAwAAAAIAAAA8PAAAAgAAAIQ8AAACCAAATlN0M19fMjE0YmFzaWNfaW9zdHJlYW1JY05TXzExY2hhcl90cmFpdHNJY0VFRUUA0G0AAHg9AAAAPAAATlN0M19fMjE1YmFzaWNfc3RyaW5nYnVmSWNOU18xMWNoYXJfdHJhaXRzSWNFRU5TXzlhbGxvY2F0b3JJY0VFRUUAAABAAAAAAAAAAKw+AABZAAAAWgAAADgAAAD4////rD4AAFsAAABcAAAAwP///8D///+sPgAAXQAAAF4AAADIPQAALD4AAGg+AAB8PgAAkD4AAKQ+AABUPgAAQD4AAPA9AADcPQAAQAAAAAAAAAAcPQAATAAAAE0AAAA4AAAA+P///xw9AABOAAAATwAAAMD////A////HD0AAFAAAABRAAAAQAAAAAAAAAA8PAAARAAAAEUAAADA////wP///zw8AABGAAAARwAAADgAAAAAAAAAhDwAAEgAAABJAAAAyP///8j///+EPAAASgAAAEsAAADQbQAAuD4AABw9AABOU3QzX18yMThiYXNpY19zdHJpbmdzdHJlYW1JY05TXzExY2hhcl90cmFpdHNJY0VFTlNfOWFsbG9jYXRvckljRUVFRQAAAAAAAAAAED8AAF8AAABgAAAAqG0AABg/AABOU3QzX18yOGlvc19iYXNlRQAAAAAAAADRdJ4AV529KoBwUg///z4nCgAAAGQAAADoAwAAECcAAKCGAQBAQg8AgJaYAADh9QUYAAAANQAAAHEAAABr////zvv//5K///8AAAAAAAAAAP////////////////////////////////////////////////////////////////8AAQIDBAUGBwgJ/////////woLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIj////////CgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiP/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAECBAcDBgUAAAAAAAAAAgAAwAMAAMAEAADABQAAwAYAAMAHAADACAAAwAkAAMAKAADACwAAwAwAAMANAADADgAAwA8AAMAQAADAEQAAwBIAAMATAADA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")),u((await async function(y){return pA(y)}(p)).instance))}();if(e.preInit)for(typeof e.preInit=="function"&&(e.preInit=[e.preInit]);0<e.preInit.length;)e.preInit.shift()();return function D(){function u(){var p;if(e.calledRun=!0,!W){if(eA=!0,se.G(),E?.(e),(p=e.onRuntimeInitialized)==null||p.call(e),e.postRun)for(typeof e.postRun=="function"&&(e.postRun=[e.postRun]);e.postRun.length;){var y=e.postRun.shift();oA.push(y)}fA(oA)}}if(0<nA)bA=D;else{if(e.preRun)for(typeof e.preRun=="function"&&(e.preRun=[e.preRun]);e.preRun.length;)BA();fA(MA),0<nA?bA=D:e.setStatus?(e.setStatus("Running..."),setTimeout(()=>{setTimeout(()=>e.setStatus(""),1),u()},1)):u()}}(),a=eA?e:new Promise((D,u)=>{E=D,s=u}),a}const he=(g,A,a=e=>e)=>{const e=g.vf32_ptr(A),t=A.size();return new Float32Array(g.HEAPF32.buffer,e,t).map(a)},cB=g=>1/(1+Math.exp(-g)),hB=g=>A=>A*g+.5,dB=async(g,A)=>{var a;const e=await sB(),t=g instanceof Uint8Array?g:new Uint8Array(g);let i=null;try{if(i=e._malloc(Uint8Array.BYTES_PER_ELEMENT*t.length),i===null)throw new Error("couldn't allocate memory");e.HEAPU8.set(t,i/Uint8Array.BYTES_PER_ELEMENT);const I=e.CoordinateSystem[((a=A?.unpackOptions)==null?void 0:a.coordinateSystem)??"UNSPECIFIED"],B=e.load_spz(i,t.length,{coordinateSystem:I}),r=((o,n,C)=>{const Q=C?.colorScaleFactor??.282;return{numPoints:n.numPoints,shDegree:n.shDegree,antialiased:n.antialiased,positions:he(o,n.positions),scales:he(o,n.scales,Math.exp),rotations:he(o,n.rotations),alphas:he(o,n.alphas,cB),colors:he(o,n.colors,hB(Q)),sh:he(o,n.sh)}})(e,B,A);return((o,n)=>{o._free(o.vf32_ptr(n.positions)),o._free(o.vf32_ptr(n.scales)),o._free(o.vf32_ptr(n.rotations)),o._free(o.vf32_ptr(n.alphas)),o._free(o.vf32_ptr(n.colors)),o._free(o.vf32_ptr(n.sh))})(e,B),r}catch(I){throw I}finally{i!==null&&e._free(i)}},bB=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"}));function uB(g){return new Worker(""+(typeof document>"u"?require("url").pathToFileURL(__dirname+"/assets/SPZ.worker-d-ZlUCr9.js").href:new URL("assets/SPZ.worker-d-ZlUCr9.js",document.currentScript&&document.currentScript.tagName.toUpperCase()==="SCRIPT"&&document.currentScript.src||document.baseURI).href),{type:"module",name:g?.name})}class lB{constructor(A,a){this.gltfLoader=A,this.renderer=a,this.gltfLoader?.register&&this.gltfLoader.register(()=>({name:"KHR_spz_gaussian_splats_compression"}));try{this.spzWorker=new uB({type:"module"}),this.spzWorkerJobId=0,this.spzWorkerCallbacks=new Map,this.spzWorker.onmessage=e=>{const{id:t,pos:i,col:I,c0:B,c1:r,error:o}=e.data||{},n=this.spzWorkerCallbacks.get(t);n&&(this.spzWorkerCallbacks.delete(t),o?n.reject(new Error(o)):n.resolve({pos:i,col:I,c0:B,c1:r}))},this.spzWorker.onerror=e=>{for(const[,t]of this.spzWorkerCallbacks)t.reject(e instanceof Error?e:new Error(String(e)));this.spzWorkerCallbacks.clear()}}catch{this.spzWorker=void 0}}parseSplats(A,a,e,t){return new Promise(async(i,I)=>{await this.#n(),this.gltfLoader.parse(A,"",async B=>{try{const r=await this.#g(B,t);i(r)}catch(r){I(r)}},B=>I(B))})}async#g(A,a){if(a)return this.#A(A);const e=A.parser,t=e.json,i=this.#t(t);return i?.type==="SPZ"?this.#i(e,i,A):i?.type==="KHR"?this.#I(e,t,i,A):i?.type==="ULTRA"?this.#A(A):(A.scene||(A.scene=new z.Object3D),A.scene.asset=A.asset,A.scene)}#t(A){if(!A?.meshes)return null;for(let a=0;a<A.meshes.length;a++){const e=A.meshes[a];for(let t=0;t<(e.primitives?.length||0);t++){const i=e.primitives[t],I=i?.extensions;if(I?.KHR_spz_gaussian_splats_compression&&Number.isInteger(I.KHR_spz_gaussian_splats_compression.bufferView))return{mesh:a,prim:t,type:"SPZ",bv:I.KHR_spz_gaussian_splats_compression.bufferView};if(I?.KHR_gaussian_splatting)return{mesh:a,prim:t,type:"KHR"};if(I?.ULTRA_splats)return{mesh:a,prim:t,type:"ULTRA"}}}return null}async#i(A,a,e){let t=await A.getDependency("bufferView",a.bv);if(t?.buffer?.byteLength&&(t=t.buffer.slice(t.byteOffset,t.byteLength+t.byteOffset)),this.spzWorker){const h=this.spzWorkerJobId++,l=new Promise((Z,nA)=>{this.spzWorkerCallbacks.set(h,{resolve:Z,reject:nA})});try{this.spzWorker.postMessage({id:h,spz:t},[t])}catch(Z){throw this.spzWorkerCallbacks.delete(h),Z}const{pos:w,col:k,c0:M,c1:N}=await l,m=new Float32Array(w),G=new Float32Array(k),L=new Float32Array(M),x=new Float32Array(N),W=new z.BufferAttribute(m,3),X=new z.BufferAttribute(G,4),eA=new z.BufferAttribute(L,3),AA=new z.BufferAttribute(x,3);return e.scene.traverse(Z=>Z.dispose&&Z.dispose()),{isSplatsData:!0,positions:W,colors:X,cov0:eA,cov1:AA}}const i=await dB(t,{coordinateSystem:"LUF"}),I=i.numPoints??i.positions.length/3,B=new Float32Array(i.positions),r=i.colors??i.color,o=i.alphas??i.opacity??i.opacities,n=new Float32Array(4*I);for(let h=0;h<I;h++){const l=r[3*h+0],w=r[3*h+1],k=r[3*h+2],M=o?this.#B(o[h]):1,[N,m,G]=this.#e(l,w,k);n.set([N,m,G,M],4*h)}const C=i.rotations??i.quaternions,Q=i.scales??i.scale,E=this.#a(C,Q),s=new z.BufferAttribute(B,3),c=new z.BufferAttribute(n,4),d=new z.BufferAttribute(E.c0,3),b=new z.BufferAttribute(E.c1,3);return e.scene.traverse(h=>h.dispose&&h.dispose()),{isSplatsData:!0,positions:s,colors:c,cov0:d,cov1:b}}async#I(A,a,e,t){const i=a.meshes[e.mesh].primitives[e.prim],I=async h=>{const l=i.attributes?.[h];return Number.isInteger(l)?A.getDependency("accessor",l):null};let B=await I("POSITION");if(!B)return this.#A(t);B?.buffer&&(B=new Float32Array(B.buffer,B.byteOffset,3*B.count));let r=await I("COLOR_0");r?.buffer&&(r=new Float32Array(r.buffer,r.byteOffset,(r.itemSize||4)*r.count));let o=await I("ROTATION")||await I("_ROTATION"),n=await I("SCALE")||await I("_SCALE");o?.buffer&&(o=new Float32Array(o.buffer,o.byteOffset,4*o.count)),n?.buffer&&(n=new Float32Array(n.buffer,n.byteOffset,3*n.count));const C=B.length/3,Q=new Float32Array(4*C);if(r){const h=r.length===4*C?4:3;for(let l=0;l<C;l++){const w=r[l*h+0],k=r[l*h+1],M=r[l*h+2],[N,m,G]=this.#e(w,k,M);Q.set([N,m,G,h===4?r[l*h+3]:1],4*l)}}else for(let h=0;h<C;h++)Q.set([1,1,1,1],4*h);const E=this.#a(o,n),s=new z.BufferAttribute(B,3),c=new z.BufferAttribute(Q,4),d=new z.BufferAttribute(E.c0,3),b=new z.BufferAttribute(E.c1,3);return t.scene.traverse(h=>h.dispose&&h.dispose()),{isSplatsData:!0,positions:s,colors:c,cov0:d,cov1:b}}async#A(A){const a=A.scene.children[0].geometry,e=a.attributes.position,t=a.attributes.color,i=a.attributes.cov_0||a.attributes.COV_0,I=a.attributes.cov_1||a.attributes.COV_1;return A.scene.traverse(B=>B.dispose&&B.dispose()),{isSplatsData:!0,positions:e,colors:t,cov0:i,cov1:I}}#a(A,a){const e=(A?.length||0)/4,t=new Float32Array(3*e),i=new Float32Array(3*e),I=new Float32Array(9);for(let B=0;B<e;B++){const r=A?A[4*B+0]:0,o=A?A[4*B+1]:0,n=A?A[4*B+2]:0,C=A?A[4*B+3]:1,Q=r*r,E=o*o,s=n*n,c=r*o,d=r*n,b=o*n,h=C*r,l=C*o,w=C*n;I[0]=1-2*(E+s),I[1]=2*(c-w),I[2]=2*(d+l),I[3]=2*(c+w),I[4]=1-2*(Q+s),I[5]=2*(b-h),I[6]=2*(d-l),I[7]=2*(b+h),I[8]=1-2*(Q+E);const k=Math.max(1e-12,a?a[3*B+0]:0),M=Math.max(1e-12,a?a[3*B+1]:0),N=Math.max(1e-12,a?a[3*B+2]:0),m=k*k,G=M*M,L=N*N,x=I[0]*I[0]*m+I[1]*I[1]*G+I[2]*I[2]*L,W=I[3]*I[0]*m+I[4]*I[1]*G+I[5]*I[2]*L,X=I[6]*I[0]*m+I[7]*I[1]*G+I[8]*I[2]*L,eA=I[3]*I[3]*m+I[4]*I[4]*G+I[5]*I[5]*L,AA=I[6]*I[3]*m+I[7]*I[4]*G+I[8]*I[5]*L,Z=I[6]*I[6]*m+I[7]*I[7]*G+I[8]*I[8]*L,nA=3*B;t[nA+0]=x,t[nA+1]=W,t[nA+2]=X,i[nA+0]=eA,i[nA+1]=AA,i[nA+2]=Z}return{c0:t,c1:i}}#B(A){return Number.isFinite(A)?A>=0&&A<=1?A:A>=0&&A<=255&&Math.abs(A-Math.round(A))<.001?A/255:A>=0&&A<=65535&&Math.abs(A-Math.round(A))<.001?A/65535:Math.min(1,Math.max(0,A)):1}#e(A,a,e){const t=C=>C>=0&&C<=255&&Math.abs(C-Math.round(C))<.001,i=C=>C>=0&&C<=65535&&Math.abs(C-Math.round(C))<.001,I=C=>C<=.04045?C/12.92:Math.pow((C+.055)/1.055,2.4),B=C=>Math.min(1,Math.max(0,C));let r=A,o=a,n=e;if(!(A>=0&&A<=1&&a>=0&&a<=1&&e>=0&&e<=1))if(t(A)&&t(a)&&t(e))r=A/255,o=a/255,n=e/255;else if(i(A)&&i(a)&&i(e))r=A/65535,o=a/65535,n=e/65535;else{const C=Q=>.5+.28209479177387814*Q;r=C(A),o=C(a),n=C(e)}return r=B(r),o=B(o),n=B(n),[I(r),I(o),I(n)]}#n(){return new Promise(A=>{const a=setInterval(()=>{const e=this.gltfLoader;e.hasDracoLoader&&!e.dracoLoader||e.hasKTX2Loader&&!e.ktx2Loader||(clearInterval(a),A())},10)})}}class _i extends f.Loader{constructor(A){super(A),this.dracoLoader=null,this.ktx2Loader=null,this.meshoptDecoder=null,this.pluginCallbacks=[],this.register(function(a){return new pB(a)}),this.register(function(a){return new FB(a)}),this.register(function(a){return new xB(a)}),this.register(function(a){return new LB(a)}),this.register(function(a){return new JB(a)}),this.register(function(a){return new MB(a)}),this.register(function(a){return new kB(a)}),this.register(function(a){return new RB(a)}),this.register(function(a){return new NB(a)}),this.register(function(a){return new yB(a)}),this.register(function(a){return new GB(a)}),this.register(function(a){return new mB(a)}),this.register(function(a){return new UB(a)}),this.register(function(a){return new SB(a)}),this.register(function(a){return new DB(a)}),this.register(function(a){return new jB(a)}),this.register(function(a){return new vB(a)})}load(A,a,e,t){const i=this;let I;if(this.resourcePath!=="")I=this.resourcePath;else if(this.path!==""){const o=f.LoaderUtils.extractUrlBase(A);I=f.LoaderUtils.resolveURL(o,this.path)}else I=f.LoaderUtils.extractUrlBase(A);this.manager.itemStart(A);const B=function(o){t?t(o):console.error(o),i.manager.itemError(A),i.manager.itemEnd(A)},r=new f.FileLoader(this.manager);r.setPath(this.path),r.setResponseType("arraybuffer"),r.setRequestHeader(this.requestHeader),r.setWithCredentials(this.withCredentials),r.load(A,function(o){try{i.parse(o,I,function(n){a(n),i.manager.itemEnd(A)},B)}catch(n){B(n)}},e,B)}setDRACOLoader(A){return this.dracoLoader=A,this}setKTX2Loader(A){return this.ktx2Loader=A,this}setMeshoptDecoder(A){return this.meshoptDecoder=A,this}register(A){return this.pluginCallbacks.indexOf(A)===-1&&this.pluginCallbacks.push(A),this}unregister(A){return this.pluginCallbacks.indexOf(A)!==-1&&this.pluginCallbacks.splice(this.pluginCallbacks.indexOf(A),1),this}parse(A,a,e,t){let i;const I={},B={},r=new TextDecoder;if(typeof A=="string")i=JSON.parse(A);else if(A instanceof ArrayBuffer)if(r.decode(new Uint8Array(A,0,4))===$i){try{I[dA.KHR_BINARY_GLTF]=new KB(A)}catch(n){return void(t&&t(n))}i=JSON.parse(I[dA.KHR_BINARY_GLTF].content)}else i=JSON.parse(r.decode(A));else i=A;if(i.asset===void 0||i.asset.version[0]<2)return void(t&&t(new Error("THREE.GLTFLoader: Unsupported asset. glTF versions >=2.0 are supported.")));const o=new an(i,{path:a||this.resourcePath||"",crossOrigin:this.crossOrigin,requestHeader:this.requestHeader,manager:this.manager,ktx2Loader:this.ktx2Loader,meshoptDecoder:this.meshoptDecoder});o.fileLoader.setRequestHeader(this.requestHeader);for(let n=0;n<this.pluginCallbacks.length;n++){const C=this.pluginCallbacks[n](o);C.name||console.error("THREE.GLTFLoader: Invalid plugin found: missing name"),B[C.name]=C,I[C.name]=!0}if(i.extensionsUsed)for(let n=0;n<i.extensionsUsed.length;++n){const C=i.extensionsUsed[n],Q=i.extensionsRequired||[];switch(C){case dA.KHR_MATERIALS_UNLIT:I[C]=new wB;break;case dA.KHR_DRACO_MESH_COMPRESSION:I[C]=new qB(i,this.dracoLoader);break;case dA.KHR_TEXTURE_TRANSFORM:I[C]=new TB;break;case dA.KHR_MESH_QUANTIZATION:I[C]=new OB;break;default:Q.indexOf(C)>=0&&B[C]===void 0&&console.warn('THREE.GLTFLoader: Unknown extension "'+C+'".')}}o.setExtensions(I),o.setPlugins(B),o.parse(e,t)}parseAsync(A,a){const e=this;return new Promise(function(t,i){e.parse(A,a,t,i)})}}function fB(){let g={};return{get:function(A){return g[A]},add:function(A,a){g[A]=a},remove:function(A){delete g[A]},removeAll:function(){g={}}}}const dA={KHR_BINARY_GLTF:"KHR_binary_glTF",KHR_DRACO_MESH_COMPRESSION:"KHR_draco_mesh_compression",KHR_LIGHTS_PUNCTUAL:"KHR_lights_punctual",KHR_MATERIALS_CLEARCOAT:"KHR_materials_clearcoat",KHR_MATERIALS_DISPERSION:"KHR_materials_dispersion",KHR_MATERIALS_IOR:"KHR_materials_ior",KHR_MATERIALS_SHEEN:"KHR_materials_sheen",KHR_MATERIALS_SPECULAR:"KHR_materials_specular",KHR_MATERIALS_TRANSMISSION:"KHR_materials_transmission",KHR_MATERIALS_IRIDESCENCE:"KHR_materials_iridescence",KHR_MATERIALS_ANISOTROPY:"KHR_materials_anisotropy",KHR_MATERIALS_UNLIT:"KHR_materials_unlit",KHR_MATERIALS_VOLUME:"KHR_materials_volume",KHR_TEXTURE_BASISU:"KHR_texture_basisu",KHR_TEXTURE_TRANSFORM:"KHR_texture_transform",KHR_MESH_QUANTIZATION:"KHR_mesh_quantization",KHR_MATERIALS_EMISSIVE_STRENGTH:"KHR_materials_emissive_strength",EXT_MATERIALS_BUMP:"EXT_materials_bump",EXT_TEXTURE_WEBP:"EXT_texture_webp",EXT_TEXTURE_AVIF:"EXT_texture_avif",EXT_MESHOPT_COMPRESSION:"EXT_meshopt_compression",EXT_MESH_GPU_INSTANCING:"EXT_mesh_gpu_instancing"};class DB{constructor(A){this.parser=A,this.name=dA.KHR_LIGHTS_PUNCTUAL,this.cache={refs:{},uses:{}}}_markDefs(){const A=this.parser,a=this.parser.json.nodes||[];for(let e=0,t=a.length;e<t;e++){const i=a[e];i.extensions&&i.extensions[this.name]&&i.extensions[this.name].light!==void 0&&A._addNodeRef(this.cache,i.extensions[this.name].light)}}_loadLight(A){const a=this.parser,e="light:"+A;let t=a.cache.get(e);if(t)return t;const i=a.json,I=((i.extensions&&i.extensions[this.name]||{}).lights||[])[A];let B;const r=new f.Color(16777215);I.color!==void 0&&r.setRGB(I.color[0],I.color[1],I.color[2],f.LinearSRGBColorSpace);const o=I.range!==void 0?I.range:0;switch(I.type){case"directional":B=new f.DirectionalLight(r),B.target.position.set(0,0,-1),B.add(B.target);break;case"point":B=new f.PointLight(r),B.distance=o;break;case"spot":B=new f.SpotLight(r),B.distance=o,I.spot=I.spot||{},I.spot.innerConeAngle=I.spot.innerConeAngle!==void 0?I.spot.innerConeAngle:0,I.spot.outerConeAngle=I.spot.outerConeAngle!==void 0?I.spot.outerConeAngle:Math.PI/4,B.angle=I.spot.outerConeAngle,B.penumbra=1-I.spot.innerConeAngle/I.spot.outerConeAngle,B.target.position.set(0,0,-1),B.add(B.target);break;default:throw new Error("THREE.GLTFLoader: Unexpected light type: "+I.type)}return B.position.set(0,0,0),xa(B,I),I.intensity!==void 0&&(B.intensity=I.intensity),B.name=a.createUniqueName(I.name||"light_"+A),t=Promise.resolve(B),a.cache.add(e,t),t}getDependency(A,a){if(A==="light")return this._loadLight(a)}createNodeAttachment(A){const a=this,e=this.parser,t=e.json.nodes[A],i=(t.extensions&&t.extensions[this.name]||{}).light;return i===void 0?null:this._loadLight(i).then(function(I){return e._getNodeRef(a.cache,i,I)})}}class wB{constructor(){this.name=dA.KHR_MATERIALS_UNLIT}getMaterialType(){return f.MeshBasicMaterial}extendParams(A,a,e){const t=[];A.color=new f.Color(1,1,1),A.opacity=1;const i=a.pbrMetallicRoughness;if(i){if(Array.isArray(i.baseColorFactor)){const I=i.baseColorFactor;A.color.setRGB(I[0],I[1],I[2],f.LinearSRGBColorSpace),A.opacity=I[3]}i.baseColorTexture!==void 0&&t.push(e.assignTexture(A,"map",i.baseColorTexture,f.SRGBColorSpace))}return Promise.all(t)}}class yB{constructor(A){this.parser=A,this.name=dA.KHR_MATERIALS_EMISSIVE_STRENGTH}extendMaterialParams(A,a){const e=this.parser.json.materials[A];if(!e.extensions||!e.extensions[this.name])return Promise.resolve();const t=e.extensions[this.name].emissiveStrength;return t!==void 0&&(a.emissiveIntensity=t),Promise.resolve()}}class pB{constructor(A){this.parser=A,this.name=dA.KHR_MATERIALS_CLEARCOAT}getMaterialType(A){const a=this.parser.json.materials[A];return a.extensions&&a.extensions[this.name]?f.MeshPhysicalMaterial:null}extendMaterialParams(A,a){const e=this.parser,t=e.json.materials[A];if(!t.extensions||!t.extensions[this.name])return Promise.resolve();const i=[],I=t.extensions[this.name];if(I.clearcoatFactor!==void 0&&(a.clearcoat=I.clearcoatFactor),I.clearcoatTexture!==void 0&&i.push(e.assignTexture(a,"clearcoatMap",I.clearcoatTexture)),I.clearcoatRoughnessFactor!==void 0&&(a.clearcoatRoughness=I.clearcoatRoughnessFactor),I.clearcoatRoughnessTexture!==void 0&&i.push(e.assignTexture(a,"clearcoatRoughnessMap",I.clearcoatRoughnessTexture)),I.clearcoatNormalTexture!==void 0&&(i.push(e.assignTexture(a,"clearcoatNormalMap",I.clearcoatNormalTexture)),I.clearcoatNormalTexture.scale!==void 0)){const B=I.clearcoatNormalTexture.scale;a.clearcoatNormalScale=new f.Vector2(B,B)}return Promise.all(i)}}class FB{constructor(A){this.parser=A,this.name=dA.KHR_MATERIALS_DISPERSION}getMaterialType(A){const a=this.parser.json.materials[A];return a.extensions&&a.extensions[this.name]?f.MeshPhysicalMaterial:null}extendMaterialParams(A,a){const e=this.parser.json.materials[A];if(!e.extensions||!e.extensions[this.name])return Promise.resolve();const t=e.extensions[this.name];return a.dispersion=t.dispersion!==void 0?t.dispersion:0,Promise.resolve()}}class mB{constructor(A){this.parser=A,this.name=dA.KHR_MATERIALS_IRIDESCENCE}getMaterialType(A){const a=this.parser.json.materials[A];return a.extensions&&a.extensions[this.name]?f.MeshPhysicalMaterial:null}extendMaterialParams(A,a){const e=this.parser,t=e.json.materials[A];if(!t.extensions||!t.extensions[this.name])return Promise.resolve();const i=[],I=t.extensions[this.name];return I.iridescenceFactor!==void 0&&(a.iridescence=I.iridescenceFactor),I.iridescenceTexture!==void 0&&i.push(e.assignTexture(a,"iridescenceMap",I.iridescenceTexture)),I.iridescenceIor!==void 0&&(a.iridescenceIOR=I.iridescenceIor),a.iridescenceThicknessRange===void 0&&(a.iridescenceThicknessRange=[100,400]),I.iridescenceThicknessMinimum!==void 0&&(a.iridescenceThicknessRange[0]=I.iridescenceThicknessMinimum),I.iridescenceThicknessMaximum!==void 0&&(a.iridescenceThicknessRange[1]=I.iridescenceThicknessMaximum),I.iridescenceThicknessTexture!==void 0&&i.push(e.assignTexture(a,"iridescenceThicknessMap",I.iridescenceThicknessTexture)),Promise.all(i)}}class MB{constructor(A){this.parser=A,this.name=dA.KHR_MATERIALS_SHEEN}getMaterialType(A){const a=this.parser.json.materials[A];return a.extensions&&a.extensions[this.name]?f.MeshPhysicalMaterial:null}extendMaterialParams(A,a){const e=this.parser,t=e.json.materials[A];if(!t.extensions||!t.extensions[this.name])return Promise.resolve();const i=[];a.sheenColor=new f.Color(0,0,0),a.sheenRoughness=0,a.sheen=1;const I=t.extensions[this.name];if(I.sheenColorFactor!==void 0){const B=I.sheenColorFactor;a.sheenColor.setRGB(B[0],B[1],B[2],f.LinearSRGBColorSpace)}return I.sheenRoughnessFactor!==void 0&&(a.sheenRoughness=I.sheenRoughnessFactor),I.sheenColorTexture!==void 0&&i.push(e.assignTexture(a,"sheenColorMap",I.sheenColorTexture,f.SRGBColorSpace)),I.sheenRoughnessTexture!==void 0&&i.push(e.assignTexture(a,"sheenRoughnessMap",I.sheenRoughnessTexture)),Promise.all(i)}}class kB{constructor(A){this.parser=A,this.name=dA.KHR_MATERIALS_TRANSMISSION}getMaterialType(A){const a=this.parser.json.materials[A];return a.extensions&&a.extensions[this.name]?f.MeshPhysicalMaterial:null}extendMaterialParams(A,a){const e=this.parser,t=e.json.materials[A];if(!t.extensions||!t.extensions[this.name])return Promise.resolve();const i=[],I=t.extensions[this.name];return I.transmissionFactor!==void 0&&(a.transmission=I.transmissionFactor),I.transmissionTexture!==void 0&&i.push(e.assignTexture(a,"transmissionMap",I.transmissionTexture)),Promise.all(i)}}class RB{constructor(A){this.parser=A,this.name=dA.KHR_MATERIALS_VOLUME}getMaterialType(A){const a=this.parser.json.materials[A];return a.extensions&&a.extensions[this.name]?f.MeshPhysicalMaterial:null}extendMaterialParams(A,a){const e=this.parser,t=e.json.materials[A];if(!t.extensions||!t.extensions[this.name])return Promise.resolve();const i=[],I=t.extensions[this.name];a.thickness=I.thicknessFactor!==void 0?I.thicknessFactor:0,I.thicknessTexture!==void 0&&i.push(e.assignTexture(a,"thicknessMap",I.thicknessTexture)),a.attenuationDistance=I.attenuationDistance||1/0;const B=I.attenuationColor||[1,1,1];return a.attenuationColor=new f.Color().setRGB(B[0],B[1],B[2],f.LinearSRGBColorSpace),Promise.all(i)}}class NB{constructor(A){this.parser=A,this.name=dA.KHR_MATERIALS_IOR}getMaterialType(A){const a=this.parser.json.materials[A];return a.extensions&&a.extensions[this.name]?f.MeshPhysicalMaterial:null}extendMaterialParams(A,a){const e=this.parser.json.materials[A];if(!e.extensions||!e.extensions[this.name])return Promise.resolve();const t=e.extensions[this.name];return a.ior=t.ior!==void 0?t.ior:1.5,Promise.resolve()}}class GB{constructor(A){this.parser=A,this.name=dA.KHR_MATERIALS_SPECULAR}getMaterialType(A){const a=this.parser.json.materials[A];return a.extensions&&a.extensions[this.name]?f.MeshPhysicalMaterial:null}extendMaterialParams(A,a){const e=this.parser,t=e.json.materials[A];if(!t.extensions||!t.extensions[this.name])return Promise.resolve();const i=[],I=t.extensions[this.name];a.specularIntensity=I.specularFactor!==void 0?I.specularFactor:1,I.specularTexture!==void 0&&i.push(e.assignTexture(a,"specularIntensityMap",I.specularTexture));const B=I.specularColorFactor||[1,1,1];return a.specularColor=new f.Color().setRGB(B[0],B[1],B[2],f.LinearSRGBColorSpace),I.specularColorTexture!==void 0&&i.push(e.assignTexture(a,"specularColorMap",I.specularColorTexture,f.SRGBColorSpace)),Promise.all(i)}}class SB{constructor(A){this.parser=A,this.name=dA.EXT_MATERIALS_BUMP}getMaterialType(A){const a=this.parser.json.materials[A];return a.extensions&&a.extensions[this.name]?f.MeshPhysicalMaterial:null}extendMaterialParams(A,a){const e=this.parser,t=e.json.materials[A];if(!t.extensions||!t.extensions[this.name])return Promise.resolve();const i=[],I=t.extensions[this.name];return a.bumpScale=I.bumpFactor!==void 0?I.bumpFactor:1,I.bumpTexture!==void 0&&i.push(e.assignTexture(a,"bumpMap",I.bumpTexture)),Promise.all(i)}}class UB{constructor(A){this.parser=A,this.name=dA.KHR_MATERIALS_ANISOTROPY}getMaterialType(A){const a=this.parser.json.materials[A];return a.extensions&&a.extensions[this.name]?f.MeshPhysicalMaterial:null}extendMaterialParams(A,a){const e=this.parser,t=e.json.materials[A];if(!t.extensions||!t.extensions[this.name])return Promise.resolve();const i=[],I=t.extensions[this.name];return I.anisotropyStrength!==void 0&&(a.anisotropy=I.anisotropyStrength),I.anisotropyRotation!==void 0&&(a.anisotropyRotation=I.anisotropyRotation),I.anisotropyTexture!==void 0&&i.push(e.assignTexture(a,"anisotropyMap",I.anisotropyTexture)),Promise.all(i)}}class xB{constructor(A){this.parser=A,this.name=dA.KHR_TEXTURE_BASISU}loadTexture(A){const a=this.parser,e=a.json,t=e.textures[A];if(!t.extensions||!t.extensions[this.name])return null;const i=t.extensions[this.name],I=a.options.ktx2Loader;if(!I){if(e.extensionsRequired&&e.extensionsRequired.indexOf(this.name)>=0)throw new Error("THREE.GLTFLoader: setKTX2Loader must be called before loading KTX2 textures");return null}return a.loadTextureImage(A,i.source,I)}}class LB{constructor(A){this.parser=A,this.name=dA.EXT_TEXTURE_WEBP}loadTexture(A){const a=this.name,e=this.parser,t=e.json,i=t.textures[A];if(!i.extensions||!i.extensions[a])return null;const I=i.extensions[a],B=t.images[I.source];let r=e.textureLoader;if(B.uri){const o=e.options.manager.getHandler(B.uri);o!==null&&(r=o)}return e.loadTextureImage(A,I.source,r)}}class JB{constructor(A){this.parser=A,this.name=dA.EXT_TEXTURE_AVIF}loadTexture(A){const a=this.name,e=this.parser,t=e.json,i=t.textures[A];if(!i.extensions||!i.extensions[a])return null;const I=i.extensions[a],B=t.images[I.source];let r=e.textureLoader;if(B.uri){const o=e.options.manager.getHandler(B.uri);o!==null&&(r=o)}return e.loadTextureImage(A,I.source,r)}}class jB{constructor(A){this.name=dA.EXT_MESHOPT_COMPRESSION,this.parser=A}loadBufferView(A){const a=this.parser.json,e=a.bufferViews[A];if(e.extensions&&e.extensions[this.name]){const t=e.extensions[this.name],i=this.parser.getDependency("buffer",t.buffer),I=this.parser.options.meshoptDecoder;if(!I||!I.supported){if(a.extensionsRequired&&a.extensionsRequired.indexOf(this.name)>=0)throw new Error("THREE.GLTFLoader: setMeshoptDecoder must be called before loading compressed files");return null}return i.then(function(B){const r=t.byteOffset||0,o=t.byteLength||0,n=t.count,C=t.byteStride,Q=new Uint8Array(B,r,o);return I.decodeGltfBufferAsync?I.decodeGltfBufferAsync(n,C,Q,t.mode,t.filter).then(function(E){return E.buffer}):I.ready.then(function(){const E=new ArrayBuffer(n*C);return I.decodeGltfBuffer(new Uint8Array(E),n,C,Q,t.mode,t.filter),E})})}return null}}class vB{constructor(A){this.name=dA.EXT_MESH_GPU_INSTANCING,this.parser=A}createNodeMesh(A){const a=this.parser.json,e=a.nodes[A];if(!e.extensions||!e.extensions[this.name]||e.mesh===void 0)return null;const t=a.meshes[e.mesh];for(const r of t.primitives)if(r.mode!==ba.TRIANGLES&&r.mode!==ba.TRIANGLE_STRIP&&r.mode!==ba.TRIANGLE_FAN&&r.mode!==void 0)return null;const i=e.extensions[this.name].attributes,I=[],B={};for(const r in i)I.push(this.parser.getDependency("accessor",i[r]).then(o=>(B[r]=o,B[r])));return I.length<1?null:(I.push(this.parser.createNodeMesh(A)),Promise.all(I).then(r=>{const o=r.pop(),n=o.isGroup?o.children:[o],C=r[0].count,Q=[];for(const E of n){const s=new f.Matrix4,c=new f.Vector3,d=new f.Quaternion,b=new f.Vector3(1,1,1),h=new f.InstancedMesh(E.geometry,E.material,C);for(let l=0;l<C;l++)B.TRANSLATION&&c.fromBufferAttribute(B.TRANSLATION,l),B.ROTATION&&d.fromBufferAttribute(B.ROTATION,l),B.SCALE&&b.fromBufferAttribute(B.SCALE,l),h.setMatrixAt(l,s.compose(c,d,b));for(const l in B)if(l==="_COLOR_0"){const w=B[l];h.instanceColor=new f.InstancedBufferAttribute(w.array,w.itemSize,w.normalized)}else l!=="TRANSLATION"&&l!=="ROTATION"&&l!=="SCALE"&&E.geometry.setAttribute(l,B[l]);f.Object3D.prototype.copy.call(h,E),this.parser.assignFinalMaterial(h),Q.push(h)}return o.isGroup?(o.clear(),o.add(...Q),o):Q[0]}))}}const $i="glTF",HB=1313821514,YB=5130562;class KB{constructor(A){this.name=dA.KHR_BINARY_GLTF,this.content=null,this.body=null;const a=new DataView(A,0,12),e=new TextDecoder;if(this.header={magic:e.decode(new Uint8Array(A.slice(0,4))),version:a.getUint32(4,!0),length:a.getUint32(8,!0)},this.header.magic!==$i)throw new Error("THREE.GLTFLoader: Unsupported glTF-Binary header.");if(this.header.version<2)throw new Error("THREE.GLTFLoader: Legacy binary file detected.");const t=this.header.length-12,i=new DataView(A,12);let I=0;for(;I<t;){const B=i.getUint32(I,!0);I+=4;const r=i.getUint32(I,!0);if(I+=4,r===HB){const o=new Uint8Array(A,12+I,B);this.content=e.decode(o)}else if(r===YB){const o=12+I;this.body=A.slice(o,o+B)}I+=B}if(this.content===null)throw new Error("THREE.GLTFLoader: JSON content not found.")}}class qB{constructor(A,a){if(!a)throw new Error("THREE.GLTFLoader: No DRACOLoader instance provided.");this.name=dA.KHR_DRACO_MESH_COMPRESSION,this.json=A,this.dracoLoader=a,this.dracoLoader.preload()}decodePrimitive(A,a){const e=this.json,t=this.dracoLoader,i=A.extensions[this.name].bufferView,I=A.extensions[this.name].attributes,B={},r={},o={};for(const n in I){const C=Et[n]||n.toLowerCase();B[C]=I[n]}for(const n in A.attributes){const C=Et[n]||n.toLowerCase();if(I[n]!==void 0){const Q=e.accessors[A.attributes[n]],E=pe[Q.componentType];o[C]=E.name,r[C]=Q.normalized===!0}}return a.getDependency("bufferView",i).then(function(n){return new Promise(function(C,Q){t.decodeDracoFile(n,function(E){for(const s in E.attributes){const c=E.attributes[s],d=r[s];d!==void 0&&(c.normalized=d)}C(E)},B,o,f.LinearSRGBColorSpace,Q)})})}}class TB{constructor(){this.name=dA.KHR_TEXTURE_TRANSFORM}extendTexture(A,a){return(a.texCoord!==void 0&&a.texCoord!==A.channel||a.offset!==void 0||a.rotation!==void 0||a.scale!==void 0)&&(A=A.clone(),a.texCoord!==void 0&&(A.channel=a.texCoord),a.offset!==void 0&&A.offset.fromArray(a.offset),a.rotation!==void 0&&(A.rotation=a.rotation),a.scale!==void 0&&A.repeat.fromArray(a.scale),A.needsUpdate=!0),A}}class OB{constructor(){this.name=dA.KHR_MESH_QUANTIZATION}}class AI extends f.Interpolant{constructor(A,a,e,t){super(A,a,e,t)}copySampleValue_(A){const a=this.resultBuffer,e=this.sampleValues,t=this.valueSize,i=A*t*3+t;for(let I=0;I!==t;I++)a[I]=e[i+I];return a}interpolate_(A,a,e,t){const i=this.resultBuffer,I=this.sampleValues,B=this.valueSize,r=2*B,o=3*B,n=t-a,C=(e-a)/n,Q=C*C,E=Q*C,s=A*o,c=s-o,d=-2*E+3*Q,b=E-Q,h=1-d,l=b-Q+C;for(let w=0;w!==B;w++){const k=I[c+w+B],M=I[c+w+r]*n,N=I[s+w+B],m=I[s+w]*n;i[w]=h*k+l*M+d*N+b*m}return i}}const PB=new f.Quaternion;class zB extends AI{interpolate_(A,a,e,t){const i=super.interpolate_(A,a,e,t);return PB.fromArray(i).normalize().toArray(i),i}}const ba={POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6},pe={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array},zt={9728:f.NearestFilter,9729:f.LinearFilter,9984:f.NearestMipmapNearestFilter,9985:f.LinearMipmapNearestFilter,9986:f.NearestMipmapLinearFilter,9987:f.LinearMipmapLinearFilter},Wt={33071:f.ClampToEdgeWrapping,33648:f.MirroredRepeatWrapping,10497:f.RepeatWrapping},Yg={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},Et={POSITION:"position",NORMAL:"normal",TANGENT:"tangent",TEXCOORD_0:"uv",TEXCOORD_1:"uv1",TEXCOORD_2:"uv2",TEXCOORD_3:"uv3",COLOR_0:"color",WEIGHTS_0:"skinWeight",JOINTS_0:"skinIndex"},Ta={scale:"scale",translation:"position",rotation:"quaternion",weights:"morphTargetInfluences"},WB={CUBICSPLINE:void 0,LINEAR:f.InterpolateLinear,STEP:f.InterpolateDiscrete},VB="OPAQUE",XB="MASK",ZB="BLEND";function ge(g,A,a){for(const e in a.extensions)g[e]===void 0&&(A.userData.gltfExtensions=A.userData.gltfExtensions||{},A.userData.gltfExtensions[e]=a.extensions[e])}function xa(g,A){A.extras!==void 0&&(typeof A.extras=="object"?Object.assign(g.userData,A.extras):console.warn("THREE.GLTFLoader: Ignoring primitive type .extras, "+A.extras))}function _B(g,A){if(g.updateMorphTargets(),A.weights!==void 0)for(let a=0,e=A.weights.length;a<e;a++)g.morphTargetInfluences[a]=A.weights[a];if(A.extras&&Array.isArray(A.extras.targetNames)){const a=A.extras.targetNames;if(g.morphTargetInfluences.length===a.length){g.morphTargetDictionary={};for(let e=0,t=a.length;e<t;e++)g.morphTargetDictionary[a[e]]=e}else console.warn("THREE.GLTFLoader: Invalid extras.targetNames length. Ignoring names.")}}function $B(g){let A;const a=g.extensions&&g.extensions[dA.KHR_DRACO_MESH_COMPRESSION];if(A=a?"draco:"+a.bufferView+":"+a.indices+":"+Kg(a.attributes):g.indices+":"+Kg(g.attributes)+":"+g.mode,g.targets!==void 0)for(let e=0,t=g.targets.length;e<t;e++)A+=":"+Kg(g.targets[e]);return A}function Kg(g){let A="";const a=Object.keys(g).sort();for(let e=0,t=a.length;e<t;e++)A+=a[e]+":"+g[a[e]]+";";return A}function Qt(g){switch(g){case Int8Array:return 1/127;case Uint8Array:return 1/255;case Int16Array:return 1/32767;case Uint16Array:return 1/65535;default:throw new Error("THREE.GLTFLoader: Unsupported normalized accessor component type.")}}const An=new f.Matrix4;class an{constructor(A={},a={}){this.json=A,this.extensions={},this.plugins={},this.options=a,this.cache=new fB,this.associations=new Map,this.primitiveCache={},this.nodeCache={},this.meshCache={refs:{},uses:{}},this.cameraCache={refs:{},uses:{}},this.lightCache={refs:{},uses:{}},this.sourceCache={},this.textureCache={},this.nodeNamesUsed={};let e=!1,t=-1,i=!1,I=-1;if(typeof navigator<"u"){const B=navigator.userAgent;e=/^((?!chrome|android).)*safari/i.test(B)===!0;const r=B.match(/Version\/(\d+)/);t=e&&r?parseInt(r[1],10):-1,i=B.indexOf("Firefox")>-1,I=i?B.match(/Firefox\/([0-9]+)\./)[1]:-1}typeof createImageBitmap>"u"||e&&t<17||i&&I<98?this.textureLoader=new f.TextureLoader(this.options.manager):this.textureLoader=new f.ImageBitmapLoader(this.options.manager),this.textureLoader.setCrossOrigin(this.options.crossOrigin),this.textureLoader.setRequestHeader(this.options.requestHeader),this.fileLoader=new f.FileLoader(this.options.manager),this.fileLoader.setResponseType("arraybuffer"),this.options.crossOrigin==="use-credentials"&&this.fileLoader.setWithCredentials(!0)}setExtensions(A){this.extensions=A}setPlugins(A){this.plugins=A}parse(A,a){const e=this,t=this.json,i=this.extensions;this.cache.removeAll(),this.nodeCache={},this._invokeAll(function(I){return I._markDefs&&I._markDefs()}),Promise.all(this._invokeAll(function(I){return I.beforeRoot&&I.beforeRoot()})).then(function(){return Promise.all([e.getDependencies("scene"),e.getDependencies("animation"),e.getDependencies("camera")])}).then(function(I){const B={scene:I[0][t.scene||0],scenes:I[0],animations:I[1],cameras:I[2],asset:t.asset,parser:e,userData:{}};return ge(i,B,t),xa(B,t),Promise.all(e._invokeAll(function(r){return r.afterRoot&&r.afterRoot(B)})).then(function(){for(const r of B.scenes)r.updateMatrixWorld();A(B)})}).catch(a)}_markDefs(){const A=this.json.nodes||[],a=this.json.skins||[],e=this.json.meshes||[];for(let t=0,i=a.length;t<i;t++){const I=a[t].joints;for(let B=0,r=I.length;B<r;B++)A[I[B]].isBone=!0}for(let t=0,i=A.length;t<i;t++){const I=A[t];I.mesh!==void 0&&(this._addNodeRef(this.meshCache,I.mesh),I.skin!==void 0&&(e[I.mesh].isSkinnedMesh=!0)),I.camera!==void 0&&this._addNodeRef(this.cameraCache,I.camera)}}_addNodeRef(A,a){a!==void 0&&(A.refs[a]===void 0&&(A.refs[a]=A.uses[a]=0),A.refs[a]++)}_getNodeRef(A,a,e){if(A.refs[a]<=1)return e;const t=e.clone(),i=(I,B)=>{const r=this.associations.get(I);r!=null&&this.associations.set(B,r);for(const[o,n]of I.children.entries())i(n,B.children[o])};return i(e,t),t.name+="_instance_"+A.uses[a]++,t}_invokeOne(A){const a=Object.values(this.plugins);a.push(this);for(let e=0;e<a.length;e++){const t=A(a[e]);if(t)return t}return null}_invokeAll(A){const a=Object.values(this.plugins);a.unshift(this);const e=[];for(let t=0;t<a.length;t++){const i=A(a[t]);i&&e.push(i)}return e}getDependency(A,a){const e=A+":"+a;let t=this.cache.get(e);if(!t){switch(A){case"scene":t=this.loadScene(a);break;case"node":t=this._invokeOne(function(i){return i.loadNode&&i.loadNode(a)});break;case"mesh":t=this._invokeOne(function(i){return i.loadMesh&&i.loadMesh(a)});break;case"accessor":t=this.loadAccessor(a);break;case"bufferView":t=this._invokeOne(function(i){return i.loadBufferView&&i.loadBufferView(a)});break;case"buffer":t=this.loadBuffer(a);break;case"material":t=this._invokeOne(function(i){return i.loadMaterial&&i.loadMaterial(a)});break;case"texture":t=this._invokeOne(function(i){return i.loadTexture&&i.loadTexture(a)});break;case"skin":t=this.loadSkin(a);break;case"animation":t=this._invokeOne(function(i){return i.loadAnimation&&i.loadAnimation(a)});break;case"camera":t=this.loadCamera(a);break;default:if(t=this._invokeOne(function(i){return i!=this&&i.getDependency&&i.getDependency(A,a)}),!t)throw new Error("Unknown type: "+A)}this.cache.add(e,t)}return t}getDependencies(A){let a=this.cache.get(A);if(!a){const e=this,t=this.json[A+(A==="mesh"?"es":"s")]||[];a=Promise.all(t.map(function(i,I){return e.getDependency(A,I)})),this.cache.add(A,a)}return a}loadBuffer(A){const a=this.json.buffers[A],e=this.fileLoader;if(a.type&&a.type!=="arraybuffer")throw new Error("THREE.GLTFLoader: "+a.type+" buffer type is not supported.");if(a.uri===void 0&&A===0)return Promise.resolve(this.extensions[dA.KHR_BINARY_GLTF].body);const t=this.options;return new Promise(function(i,I){e.load(f.LoaderUtils.resolveURL(a.uri,t.path),i,void 0,function(){I(new Error('THREE.GLTFLoader: Failed to load buffer "'+a.uri+'".'))})})}loadBufferView(A){const a=this.json.bufferViews[A];return this.getDependency("buffer",a.buffer).then(function(e){const t=a.byteLength||0,i=a.byteOffset||0;return e.slice(i,i+t)})}loadAccessor(A){const a=this,e=this.json,t=this.json.accessors[A];if(t.bufferView===void 0&&t.sparse===void 0){const I=Yg[t.type],B=pe[t.componentType],r=t.normalized===!0,o=new B(t.count*I);return Promise.resolve(new f.BufferAttribute(o,I,r))}const i=[];return t.bufferView!==void 0?i.push(this.getDependency("bufferView",t.bufferView)):i.push(null),t.sparse!==void 0&&(i.push(this.getDependency("bufferView",t.sparse.indices.bufferView)),i.push(this.getDependency("bufferView",t.sparse.values.bufferView))),Promise.all(i).then(function(I){const B=I[0],r=Yg[t.type],o=pe[t.componentType],n=o.BYTES_PER_ELEMENT,C=n*r,Q=t.byteOffset||0,E=t.bufferView!==void 0?e.bufferViews[t.bufferView].byteStride:void 0,s=t.normalized===!0;let c,d;if(E&&E!==C){const b=Math.floor(Q/E),h="InterleavedBuffer:"+t.bufferView+":"+t.componentType+":"+b+":"+t.count;let l=a.cache.get(h);l||(c=new o(B,b*E,t.count*E/n),l=new f.InterleavedBuffer(c,E/n),a.cache.add(h,l)),d=new f.InterleavedBufferAttribute(l,r,Q%E/n,s)}else c=B===null?new o(t.count*r):new o(B,Q,t.count*r),d=new f.BufferAttribute(c,r,s);if(t.sparse!==void 0){const b=Yg.SCALAR,h=pe[t.sparse.indices.componentType],l=t.sparse.indices.byteOffset||0,w=t.sparse.values.byteOffset||0,k=new h(I[1],l,t.sparse.count*b),M=new o(I[2],w,t.sparse.count*r);B!==null&&(d=new f.BufferAttribute(d.array.slice(),d.itemSize,d.normalized)),d.normalized=!1;for(let N=0,m=k.length;N<m;N++){const G=k[N];if(d.setX(G,M[N*r]),r>=2&&d.setY(G,M[N*r+1]),r>=3&&d.setZ(G,M[N*r+2]),r>=4&&d.setW(G,M[N*r+3]),r>=5)throw new Error("THREE.GLTFLoader: Unsupported itemSize in sparse BufferAttribute.")}d.normalized=s}return d})}loadTexture(A){const a=this.json,e=this.options,t=a.textures[A].source,i=a.images[t];let I=this.textureLoader;if(i.uri){const B=e.manager.getHandler(i.uri);B!==null&&(I=B)}return this.loadTextureImage(A,t,I)}loadTextureImage(A,a,e){const t=this,i=this.json,I=i.textures[A],B=i.images[a],r=(B.uri||B.bufferView)+":"+I.sampler;if(this.textureCache[r])return this.textureCache[r];const o=this.loadImageSource(a,e).then(function(n){n.flipY=!1,n.name=I.name||B.name||"",n.name===""&&typeof B.uri=="string"&&B.uri.startsWith("data:image/")===!1&&(n.name=B.uri);const C=(i.samplers||{})[I.sampler]||{};return n.magFilter=zt[C.magFilter]||f.LinearFilter,n.minFilter=zt[C.minFilter]||f.LinearMipmapLinearFilter,n.wrapS=Wt[C.wrapS]||f.RepeatWrapping,n.wrapT=Wt[C.wrapT]||f.RepeatWrapping,n.generateMipmaps=!n.isCompressedTexture&&n.minFilter!==f.NearestFilter&&n.minFilter!==f.LinearFilter,t.associations.set(n,{textures:A}),n}).catch(function(){return null});return this.textureCache[r]=o,o}loadImageSource(A,a){const e=this,t=this.json,i=this.options;if(this.sourceCache[A]!==void 0)return this.sourceCache[A].then(C=>C.clone());const I=t.images[A],B=self.URL||self.webkitURL;let r=I.uri||"",o=!1;if(I.bufferView!==void 0)r=e.getDependency("bufferView",I.bufferView).then(function(C){o=!0;const Q=new Blob([C],{type:I.mimeType});return r=B.createObjectURL(Q),r});else if(I.uri===void 0)throw new Error("THREE.GLTFLoader: Image "+A+" is missing URI and bufferView");const n=Promise.resolve(r).then(function(C){return new Promise(function(Q,E){let s=Q;a.isImageBitmapLoader===!0&&(s=function(c){const d=new f.Texture(c);d.needsUpdate=!0,Q(d)}),a.load(f.LoaderUtils.resolveURL(C,i.path),s,void 0,E)})}).then(function(C){var Q;return o===!0&&B.revokeObjectURL(r),xa(C,I),C.userData.mimeType=I.mimeType||((Q=I.uri).search(/\.jpe?g($|\?)/i)>0||Q.search(/^data\:image\/jpeg/)===0?"image/jpeg":Q.search(/\.webp($|\?)/i)>0||Q.search(/^data\:image\/webp/)===0?"image/webp":Q.search(/\.ktx2($|\?)/i)>0||Q.search(/^data\:image\/ktx2/)===0?"image/ktx2":"image/png"),C}).catch(function(C){throw console.error("THREE.GLTFLoader: Couldn't load texture",r),C});return this.sourceCache[A]=n,n}assignTexture(A,a,e,t){const i=this;return this.getDependency("texture",e.index).then(function(I){if(!I)return null;if(e.texCoord!==void 0&&e.texCoord>0&&((I=I.clone()).channel=e.texCoord),i.extensions[dA.KHR_TEXTURE_TRANSFORM]){const B=e.extensions!==void 0?e.extensions[dA.KHR_TEXTURE_TRANSFORM]:void 0;if(B){const r=i.associations.get(I);I=i.extensions[dA.KHR_TEXTURE_TRANSFORM].extendTexture(I,B),i.associations.set(I,r)}}return t!==void 0&&(I.colorSpace=t),A[a]=I,I})}assignFinalMaterial(A){const a=A.geometry;let e=A.material;const t=a.attributes.tangent===void 0,i=a.attributes.color!==void 0,I=a.attributes.normal===void 0;if(A.isPoints){const B="PointsMaterial:"+e.uuid;let r=this.cache.get(B);r||(r=new f.PointsMaterial,f.Material.prototype.copy.call(r,e),r.color.copy(e.color),r.map=e.map,r.sizeAttenuation=!1,this.cache.add(B,r)),e=r}else if(A.isLine){const B="LineBasicMaterial:"+e.uuid;let r=this.cache.get(B);r||(r=new f.LineBasicMaterial,f.Material.prototype.copy.call(r,e),r.color.copy(e.color),r.map=e.map,this.cache.add(B,r)),e=r}if(t||i||I){let B="ClonedMaterial:"+e.uuid+":";t&&(B+="derivative-tangents:"),i&&(B+="vertex-colors:"),I&&(B+="flat-shading:");let r=this.cache.get(B);r||(r=e.clone(),i&&(r.vertexColors=!0),I&&(r.flatShading=!0),t&&(r.normalScale&&(r.normalScale.y*=-1),r.clearcoatNormalScale&&(r.clearcoatNormalScale.y*=-1)),this.cache.add(B,r),this.associations.set(r,this.associations.get(e))),e=r}A.material=e}getMaterialType(){return f.MeshStandardMaterial}loadMaterial(A){const a=this,e=this.json,t=this.extensions,i=e.materials[A];let I;const B={},r=[];if((i.extensions||{})[dA.KHR_MATERIALS_UNLIT]){const n=t[dA.KHR_MATERIALS_UNLIT];I=n.getMaterialType(),r.push(n.extendParams(B,i,a))}else{const n=i.pbrMetallicRoughness||{};if(B.color=new f.Color(1,1,1),B.opacity=1,Array.isArray(n.baseColorFactor)){const C=n.baseColorFactor;B.color.setRGB(C[0],C[1],C[2],f.LinearSRGBColorSpace),B.opacity=C[3]}n.baseColorTexture!==void 0&&r.push(a.assignTexture(B,"map",n.baseColorTexture,f.SRGBColorSpace)),B.metalness=n.metallicFactor!==void 0?n.metallicFactor:1,B.roughness=n.roughnessFactor!==void 0?n.roughnessFactor:1,n.metallicRoughnessTexture!==void 0&&(r.push(a.assignTexture(B,"metalnessMap",n.metallicRoughnessTexture)),r.push(a.assignTexture(B,"roughnessMap",n.metallicRoughnessTexture))),I=this._invokeOne(function(C){return C.getMaterialType&&C.getMaterialType(A)}),r.push(Promise.all(this._invokeAll(function(C){return C.extendMaterialParams&&C.extendMaterialParams(A,B)})))}i.doubleSided===!0&&(B.side=f.DoubleSide);const o=i.alphaMode||VB;if(o===ZB?(B.transparent=!0,B.depthWrite=!1):(B.transparent=!1,o===XB&&(B.alphaTest=i.alphaCutoff!==void 0?i.alphaCutoff:.5)),i.normalTexture!==void 0&&I!==f.MeshBasicMaterial&&(r.push(a.assignTexture(B,"normalMap",i.normalTexture)),B.normalScale=new f.Vector2(1,1),i.normalTexture.scale!==void 0)){const n=i.normalTexture.scale;B.normalScale.set(n,n)}if(i.occlusionTexture!==void 0&&I!==f.MeshBasicMaterial&&(r.push(a.assignTexture(B,"aoMap",i.occlusionTexture)),i.occlusionTexture.strength!==void 0&&(B.aoMapIntensity=i.occlusionTexture.strength)),i.emissiveFactor!==void 0&&I!==f.MeshBasicMaterial){const n=i.emissiveFactor;B.emissive=new f.Color().setRGB(n[0],n[1],n[2],f.LinearSRGBColorSpace)}return i.emissiveTexture!==void 0&&I!==f.MeshBasicMaterial&&r.push(a.assignTexture(B,"emissiveMap",i.emissiveTexture,f.SRGBColorSpace)),Promise.all(r).then(function(){const n=new I(B);return i.name&&(n.name=i.name),xa(n,i),a.associations.set(n,{materials:A}),i.extensions&&ge(t,n,i),n})}createUniqueName(A){const a=f.PropertyBinding.sanitizeNodeName(A||"");return a in this.nodeNamesUsed?a+"_"+ ++this.nodeNamesUsed[a]:(this.nodeNamesUsed[a]=0,a)}loadGeometries(A){const a=this,e=this.extensions,t=this.primitiveCache;function i(B){return e[dA.KHR_DRACO_MESH_COMPRESSION].decodePrimitive(B,a).then(function(r){return Vt(r,B,a)})}const I=[];for(let B=0,r=A.length;B<r;B++){const o=A[B],n=$B(o),C=t[n];if(C)I.push(C.promise);else{let Q;Q=o.extensions&&o.extensions[dA.KHR_DRACO_MESH_COMPRESSION]?i(o):Vt(new f.BufferGeometry,o,a),t[n]={primitive:o,promise:Q},I.push(Q)}}return Promise.all(I)}loadMesh(A){const a=this,e=this.json,t=this.extensions,i=e.meshes[A],I=i.primitives,B=[];for(let o=0,n=I.length;o<n;o++){const C=I[o].material===void 0?((r=this.cache).DefaultMaterial===void 0&&(r.DefaultMaterial=new f.MeshStandardMaterial({color:16777215,emissive:0,metalness:1,roughness:1,transparent:!1,depthTest:!0,side:f.FrontSide})),r.DefaultMaterial):this.getDependency("material",I[o].material);B.push(C)}var r;return B.push(a.loadGeometries(I)),Promise.all(B).then(function(o){const n=o.slice(0,o.length-1),C=o[o.length-1],Q=[];for(let s=0,c=C.length;s<c;s++){const d=C[s],b=I[s];let h;const l=n[s];if(b.mode===ba.TRIANGLES||b.mode===ba.TRIANGLE_STRIP||b.mode===ba.TRIANGLE_FAN||b.mode===void 0)h=i.isSkinnedMesh===!0?new f.SkinnedMesh(d,l):new f.Mesh(d,l),h.isSkinnedMesh===!0&&h.normalizeSkinWeights(),b.mode===ba.TRIANGLE_STRIP?h.geometry=Pt(h.geometry,f.TriangleStripDrawMode):b.mode===ba.TRIANGLE_FAN&&(h.geometry=Pt(h.geometry,f.TriangleFanDrawMode));else if(b.mode===ba.LINES)h=new f.LineSegments(d,l);else if(b.mode===ba.LINE_STRIP)h=new f.Line(d,l);else if(b.mode===ba.LINE_LOOP)h=new f.LineLoop(d,l);else{if(b.mode!==ba.POINTS)throw new Error("THREE.GLTFLoader: Primitive mode unsupported: "+b.mode);h=new f.Points(d,l)}Object.keys(h.geometry.morphAttributes).length>0&&_B(h,i),h.name=a.createUniqueName(i.name||"mesh_"+A),xa(h,i),b.extensions&&ge(t,h,b),a.assignFinalMaterial(h),Q.push(h)}for(let s=0,c=Q.length;s<c;s++)a.associations.set(Q[s],{meshes:A,primitives:s});if(Q.length===1)return i.extensions&&ge(t,Q[0],i),Q[0];const E=new f.Group;i.extensions&&ge(t,E,i),a.associations.set(E,{meshes:A});for(let s=0,c=Q.length;s<c;s++)E.add(Q[s]);return E})}loadCamera(A){let a;const e=this.json.cameras[A],t=e[e.type];if(t)return e.type==="perspective"?a=new f.PerspectiveCamera(f.MathUtils.radToDeg(t.yfov),t.aspectRatio||1,t.znear||1,t.zfar||2e6):e.type==="orthographic"&&(a=new f.OrthographicCamera(-t.xmag,t.xmag,t.ymag,-t.ymag,t.znear,t.zfar)),e.name&&(a.name=this.createUniqueName(e.name)),xa(a,e),Promise.resolve(a);console.warn("THREE.GLTFLoader: Missing camera parameters.")}loadSkin(A){const a=this.json.skins[A],e=[];for(let t=0,i=a.joints.length;t<i;t++)e.push(this._loadNodeShallow(a.joints[t]));return a.inverseBindMatrices!==void 0?e.push(this.getDependency("accessor",a.inverseBindMatrices)):e.push(null),Promise.all(e).then(function(t){const i=t.pop(),I=t,B=[],r=[];for(let o=0,n=I.length;o<n;o++){const C=I[o];if(C){B.push(C);const Q=new f.Matrix4;i!==null&&Q.fromArray(i.array,16*o),r.push(Q)}else console.warn('THREE.GLTFLoader: Joint "%s" could not be found.',a.joints[o])}return new f.Skeleton(B,r)})}loadAnimation(A){const a=this.json,e=this,t=a.animations[A],i=t.name?t.name:"animation_"+A,I=[],B=[],r=[],o=[],n=[];for(let C=0,Q=t.channels.length;C<Q;C++){const E=t.channels[C],s=t.samplers[E.sampler],c=E.target,d=c.node,b=t.parameters!==void 0?t.parameters[s.input]:s.input,h=t.parameters!==void 0?t.parameters[s.output]:s.output;c.node!==void 0&&(I.push(this.getDependency("node",d)),B.push(this.getDependency("accessor",b)),r.push(this.getDependency("accessor",h)),o.push(s),n.push(c))}return Promise.all([Promise.all(I),Promise.all(B),Promise.all(r),Promise.all(o),Promise.all(n)]).then(function(C){const Q=C[0],E=C[1],s=C[2],c=C[3],d=C[4],b=[];for(let h=0,l=Q.length;h<l;h++){const w=Q[h],k=E[h],M=s[h],N=c[h],m=d[h];if(w===void 0)continue;w.updateMatrix&&w.updateMatrix();const G=e._createAnimationTracks(w,k,M,N,m);if(G)for(let L=0;L<G.length;L++)b.push(G[L])}return new f.AnimationClip(i,void 0,b)})}createNodeMesh(A){const a=this.json,e=this,t=a.nodes[A];return t.mesh===void 0?null:e.getDependency("mesh",t.mesh).then(function(i){const I=e._getNodeRef(e.meshCache,t.mesh,i);return t.weights!==void 0&&I.traverse(function(B){if(B.isMesh)for(let r=0,o=t.weights.length;r<o;r++)B.morphTargetInfluences[r]=t.weights[r]}),I})}loadNode(A){const a=this,e=this.json.nodes[A],t=a._loadNodeShallow(A),i=[],I=e.children||[];for(let r=0,o=I.length;r<o;r++)i.push(a.getDependency("node",I[r]));const B=e.skin===void 0?Promise.resolve(null):a.getDependency("skin",e.skin);return Promise.all([t,Promise.all(i),B]).then(function(r){const o=r[0],n=r[1],C=r[2];C!==null&&o.traverse(function(Q){Q.isSkinnedMesh&&Q.bind(C,An)});for(let Q=0,E=n.length;Q<E;Q++)o.add(n[Q]);return o})}_loadNodeShallow(A){const a=this.json,e=this.extensions,t=this;if(this.nodeCache[A]!==void 0)return this.nodeCache[A];const i=a.nodes[A],I=i.name?t.createUniqueName(i.name):"",B=[],r=t._invokeOne(function(o){return o.createNodeMesh&&o.createNodeMesh(A)});return r&&B.push(r),i.camera!==void 0&&B.push(t.getDependency("camera",i.camera).then(function(o){return t._getNodeRef(t.cameraCache,i.camera,o)})),t._invokeAll(function(o){return o.createNodeAttachment&&o.createNodeAttachment(A)}).forEach(function(o){B.push(o)}),this.nodeCache[A]=Promise.all(B).then(function(o){let n;if(n=i.isBone===!0?new f.Bone:o.length>1?new f.Group:o.length===1?o[0]:new f.Object3D,n!==o[0])for(let C=0,Q=o.length;C<Q;C++)n.add(o[C]);if(i.name&&(n.userData.name=i.name,n.name=I),xa(n,i),i.extensions&&ge(e,n,i),i.matrix!==void 0){const C=new f.Matrix4;C.fromArray(i.matrix),n.applyMatrix4(C)}else i.translation!==void 0&&n.position.fromArray(i.translation),i.rotation!==void 0&&n.quaternion.fromArray(i.rotation),i.scale!==void 0&&n.scale.fromArray(i.scale);if(t.associations.has(n)){if(i.mesh!==void 0&&t.meshCache.refs[i.mesh]>1){const C=t.associations.get(n);t.associations.set(n,{...C})}}else t.associations.set(n,{});return t.associations.get(n).nodes=A,n}),this.nodeCache[A]}loadScene(A){const a=this.extensions,e=this.json.scenes[A],t=this,i=new f.Group;e.name&&(i.name=t.createUniqueName(e.name)),xa(i,e),e.extensions&&ge(a,i,e);const I=e.nodes||[],B=[];for(let r=0,o=I.length;r<o;r++)B.push(t.getDependency("node",I[r]));return Promise.all(B).then(function(r){for(let o=0,n=r.length;o<n;o++)i.add(r[o]);return t.associations=(o=>{const n=new Map;for(const[C,Q]of t.associations)(C instanceof f.Material||C instanceof f.Texture)&&n.set(C,Q);return o.traverse(C=>{const Q=t.associations.get(C);Q!=null&&n.set(C,Q)}),n})(i),i})}_createAnimationTracks(A,a,e,t,i){const I=[],B=A.name?A.name:A.uuid,r=[];let o;switch(Ta[i.path]===Ta.weights?A.traverse(function(Q){Q.morphTargetInfluences&&r.push(Q.name?Q.name:Q.uuid)}):r.push(B),Ta[i.path]){case Ta.weights:o=f.NumberKeyframeTrack;break;case Ta.rotation:o=f.QuaternionKeyframeTrack;break;case Ta.translation:case Ta.scale:o=f.VectorKeyframeTrack;break;default:e.itemSize===1?o=f.NumberKeyframeTrack:o=f.VectorKeyframeTrack}const n=t.interpolation!==void 0?WB[t.interpolation]:f.InterpolateLinear,C=this._getArrayFromAccessor(e);for(let Q=0,E=r.length;Q<E;Q++){const s=new o(r[Q]+"."+Ta[i.path],a.array,C,n);t.interpolation==="CUBICSPLINE"&&this._createCubicSplineTrackInterpolant(s),I.push(s)}return I}_getArrayFromAccessor(A){let a=A.array;if(A.normalized){const e=Qt(a.constructor),t=new Float32Array(a.length);for(let i=0,I=a.length;i<I;i++)t[i]=a[i]*e;a=t}return a}_createCubicSplineTrackInterpolant(A){A.createInterpolant=function(a){return new(this instanceof f.QuaternionKeyframeTrack?zB:AI)(this.times,this.values,this.getValueSize()/3,a)},A.createInterpolant.isInterpolantFactoryMethodGLTFCubicSpline=!0}}function Vt(g,A,a){const e=A.attributes,t=[];function i(I,B){return a.getDependency("accessor",I).then(function(r){g.setAttribute(B,r)})}for(const I in e){const B=Et[I]||I.toLowerCase();B in g.attributes||t.push(i(e[I],B))}if(A.indices!==void 0&&!g.index){const I=a.getDependency("accessor",A.indices).then(function(B){g.setIndex(B)});t.push(I)}return f.ColorManagement.workingColorSpace!==f.LinearSRGBColorSpace&&"COLOR_0"in e&&console.warn(`THREE.GLTFLoader: Converting vertex colors from "srgb-linear" to "${f.ColorManagement.workingColorSpace}" not supported.`),xa(g,A),function(I,B,r){const o=B.attributes,n=new f.Box3;if(o.POSITION===void 0)return;{const E=r.json.accessors[o.POSITION],s=E.min,c=E.max;if(s===void 0||c===void 0)return void console.warn("THREE.GLTFLoader: Missing min/max properties for accessor POSITION.");if(n.set(new f.Vector3(s[0],s[1],s[2]),new f.Vector3(c[0],c[1],c[2])),E.normalized){const d=Qt(pe[E.componentType]);n.min.multiplyScalar(d),n.max.multiplyScalar(d)}}const C=B.targets;if(C!==void 0){const E=new f.Vector3,s=new f.Vector3;for(let c=0,d=C.length;c<d;c++){const b=C[c];if(b.POSITION!==void 0){const h=r.json.accessors[b.POSITION],l=h.min,w=h.max;if(l!==void 0&&w!==void 0){if(s.setX(Math.max(Math.abs(l[0]),Math.abs(w[0]))),s.setY(Math.max(Math.abs(l[1]),Math.abs(w[1]))),s.setZ(Math.max(Math.abs(l[2]),Math.abs(w[2]))),h.normalized){const k=Qt(pe[h.componentType]);s.multiplyScalar(k)}E.max(s)}else console.warn("THREE.GLTFLoader: Missing min/max properties for accessor POSITION.")}}n.expandByVector(E)}I.boundingBox=n;const Q=new f.Sphere;n.getCenter(Q.center),Q.radius=n.min.distanceTo(n.max)/2,I.boundingSphere=Q}(g,A,a),Promise.all(t).then(function(){return A.targets!==void 0?function(I,B,r){let o=!1,n=!1,C=!1;for(let c=0,d=B.length;c<d;c++){const b=B[c];if(b.POSITION!==void 0&&(o=!0),b.NORMAL!==void 0&&(n=!0),b.COLOR_0!==void 0&&(C=!0),o&&n&&C)break}if(!o&&!n&&!C)return Promise.resolve(I);const Q=[],E=[],s=[];for(let c=0,d=B.length;c<d;c++){const b=B[c];if(o){const h=b.POSITION!==void 0?r.getDependency("accessor",b.POSITION):I.attributes.position;Q.push(h)}if(n){const h=b.NORMAL!==void 0?r.getDependency("accessor",b.NORMAL):I.attributes.normal;E.push(h)}if(C){const h=b.COLOR_0!==void 0?r.getDependency("accessor",b.COLOR_0):I.attributes.color;s.push(h)}}return Promise.all([Promise.all(Q),Promise.all(E),Promise.all(s)]).then(function(c){const d=c[0],b=c[1],h=c[2];return o&&(I.morphAttributes.position=d),n&&(I.morphAttributes.normal=b),C&&(I.morphAttributes.color=h),I.morphTargetsRelative=!0,I})}(g,A.targets,a):g})}const qg=new WeakMap;class aI extends f.Loader{constructor(A){super(A),this.decoderPath="",this.decoderConfig={},this.decoderBinary=null,this.decoderPending=null,this.workerLimit=4,this.workerPool=[],this.workerNextTaskID=1,this.workerSourceURL="",this.defaultAttributeIDs={position:"POSITION",normal:"NORMAL",color:"COLOR",uv:"TEX_COORD"},this.defaultAttributeTypes={position:"Float32Array",normal:"Float32Array",color:"Float32Array",uv:"Float32Array"}}setDecoderPath(A){return this.decoderPath=A,this}setDecoderConfig(A){return this.decoderConfig=A,this}setWorkerLimit(A){return this.workerLimit=A,this}load(A,a,e,t){const i=new f.FileLoader(this.manager);i.setPath(this.path),i.setResponseType("arraybuffer"),i.setRequestHeader(this.requestHeader),i.setWithCredentials(this.withCredentials),i.load(A,I=>{this.parse(I,a,t)},e,t)}parse(A,a,e=()=>{}){this.decodeDracoFile(A,a,null,null,f.SRGBColorSpace,e).catch(e)}decodeDracoFile(A,a,e,t,i=f.LinearSRGBColorSpace,I=()=>{}){const B={attributeIDs:e||this.defaultAttributeIDs,attributeTypes:t||this.defaultAttributeTypes,useUniqueIDs:!!e,vertexColorSpace:i};return this.decodeGeometry(A,B).then(a).catch(I)}decodeGeometry(A,a){const e=JSON.stringify(a);if(qg.has(A)){const r=qg.get(A);if(r.key===e)return r.promise;if(A.byteLength===0)throw new Error("THREE.DRACOLoader: Unable to re-decode a buffer with different settings. Buffer has already been transferred.")}let t;const i=this.workerNextTaskID++,I=A.byteLength,B=this._getWorker(i,I).then(r=>(t=r,new Promise((o,n)=>{t._callbacks[i]={resolve:o,reject:n},t.postMessage({type:"decode",id:i,taskConfig:a,buffer:A},[A])}))).then(r=>this._createGeometry(r.geometry));return B.catch(()=>!0).then(()=>{t&&i&&this._releaseTask(t,i)}),qg.set(A,{key:e,promise:B}),B}_createGeometry(A){const a=new f.BufferGeometry;A.index&&a.setIndex(new f.BufferAttribute(A.index.array,1));for(let e=0;e<A.attributes.length;e++){const t=A.attributes[e],i=t.name,I=t.array,B=t.itemSize,r=new f.BufferAttribute(I,B);i==="color"&&(this._assignVertexColorSpace(r,t.vertexColorSpace),r.normalized=!(I instanceof Float32Array)),a.setAttribute(i,r)}return a}_assignVertexColorSpace(A,a){if(a!==f.SRGBColorSpace)return;const e=new f.Color;for(let t=0,i=A.count;t<i;t++)e.fromBufferAttribute(A,t),f.ColorManagement.colorSpaceToWorking(e,f.SRGBColorSpace),A.setXYZ(t,e.r,e.g,e.b)}_loadLibrary(A,a){const e=new f.FileLoader(this.manager);return e.setPath(this.decoderPath),e.setResponseType(a),e.setWithCredentials(this.withCredentials),new Promise((t,i)=>{e.load(A,t,void 0,i)})}preload(){return this._initDecoder(),this}_initDecoder(){if(this.decoderPending)return this.decoderPending;const A=typeof WebAssembly!="object"||this.decoderConfig.type==="js",a=[];return A?a.push(this._loadLibrary("draco_decoder.js","text")):(a.push(this._loadLibrary("draco_wasm_wrapper.js","text")),a.push(this._loadLibrary("draco_decoder.wasm","arraybuffer"))),this.decoderPending=Promise.all(a).then(e=>{const t=e[0];A||(this.decoderConfig.wasmBinary=e[1]);const i=en.toString(),I=["/* draco decoder */",t,"","/* worker */",i.substring(i.indexOf("{")+1,i.lastIndexOf("}"))].join(`
|
|
19
|
+
`);this.workerSourceURL=URL.createObjectURL(new Blob([I]))}),this.decoderPending}_getWorker(A,a){return this._initDecoder().then(()=>{if(this.workerPool.length<this.workerLimit){const t=new Worker(this.workerSourceURL);t._callbacks={},t._taskCosts={},t._taskLoad=0,t.postMessage({type:"init",decoderConfig:this.decoderConfig}),t.onmessage=function(i){const I=i.data;switch(I.type){case"decode":t._callbacks[I.id].resolve(I);break;case"error":t._callbacks[I.id].reject(I);break;default:console.error('THREE.DRACOLoader: Unexpected message, "'+I.type+'"')}},this.workerPool.push(t)}else this.workerPool.sort(function(t,i){return t._taskLoad>i._taskLoad?-1:1});const e=this.workerPool[this.workerPool.length-1];return e._taskCosts[A]=a,e._taskLoad+=a,e})}_releaseTask(A,a){A._taskLoad-=A._taskCosts[a],delete A._callbacks[a],delete A._taskCosts[a]}debug(){console.log("Task load: ",this.workerPool.map(A=>A._taskLoad))}dispose(){for(let A=0;A<this.workerPool.length;++A)this.workerPool[A].terminate();return this.workerPool.length=0,this.workerSourceURL!==""&&URL.revokeObjectURL(this.workerSourceURL),this}}function en(){let g,A;function a(e,t,i,I,B,r){const o=r.num_components(),n=i.num_points()*o,C=n*B.BYTES_PER_ELEMENT,Q=function(c,d){switch(d){case Float32Array:return c.DT_FLOAT32;case Int8Array:return c.DT_INT8;case Int16Array:return c.DT_INT16;case Int32Array:return c.DT_INT32;case Uint8Array:return c.DT_UINT8;case Uint16Array:return c.DT_UINT16;case Uint32Array:return c.DT_UINT32}}(e,B),E=e._malloc(C);t.GetAttributeDataArrayForAllPoints(i,r,Q,C,E);const s=new B(e.HEAPF32.buffer,E,n).slice();return e._free(E),{name:I,array:s,itemSize:o}}onmessage=function(e){const t=e.data;switch(t.type){case"init":g=t.decoderConfig,A=new Promise(function(B){g.onModuleLoaded=function(r){B({draco:r})},DracoDecoderModule(g)});break;case"decode":const i=t.buffer,I=t.taskConfig;A.then(B=>{const r=B.draco,o=new r.Decoder;try{const n=function(Q,E,s,c){const d=c.attributeIDs,b=c.attributeTypes;let h,l;const w=E.GetEncodedGeometryType(s);if(w===Q.TRIANGULAR_MESH)h=new Q.Mesh,l=E.DecodeArrayToMesh(s,s.byteLength,h);else{if(w!==Q.POINT_CLOUD)throw new Error("THREE.DRACOLoader: Unexpected geometry type.");h=new Q.PointCloud,l=E.DecodeArrayToPointCloud(s,s.byteLength,h)}if(!l.ok()||h.ptr===0)throw new Error("THREE.DRACOLoader: Decoding failed: "+l.error_msg());const k={index:null,attributes:[]};for(const M in d){const N=self[b[M]];let m,G;if(c.useUniqueIDs)G=d[M],m=E.GetAttributeByUniqueId(h,G);else{if(G=E.GetAttributeId(h,Q[d[M]]),G===-1)continue;m=E.GetAttribute(h,G)}const L=a(Q,E,h,M,N,m);M==="color"&&(L.vertexColorSpace=c.vertexColorSpace),k.attributes.push(L)}return w===Q.TRIANGULAR_MESH&&(k.index=function(M,N,m){const G=m.num_faces(),L=3*G,x=4*L,W=M._malloc(x);N.GetTrianglesUInt32Array(m,x,W);const X=new Uint32Array(M.HEAPF32.buffer,W,L).slice();return M._free(W),{array:X,itemSize:1}}(Q,E,h)),Q.destroy(h),k}(r,o,new Int8Array(i),I),C=n.attributes.map(Q=>Q.array.buffer);n.index&&C.push(n.index.array.buffer),self.postMessage({type:"decode",id:t.id,geometry:n},C)}catch(n){console.error(n),self.postMessage({type:"error",id:t.id,error:n.message})}finally{r.destroy(o)}})}}}class gn{constructor(A=4){this.pool=A,this.queue=[],this.workers=[],this.workersResolve=[],this.workerStatus=0,this.workerCreator=null}_initWorker(A){if(!this.workers[A]){const a=this.workerCreator();a.addEventListener("message",this._onMessage.bind(this,A)),this.workers[A]=a}}_getIdleWorker(){for(let A=0;A<this.pool;A++)if(!(this.workerStatus&1<<A))return A;return-1}_onMessage(A,a){const e=this.workersResolve[A];if(e&&e(a),this.queue.length){const{resolve:t,msg:i,transfer:I}=this.queue.shift();this.workersResolve[A]=t,this.workers[A].postMessage(i,I)}else this.workerStatus^=1<<A}setWorkerCreator(A){this.workerCreator=A}setWorkerLimit(A){this.pool=A}postMessage(A,a){return new Promise(e=>{const t=this._getIdleWorker();t!==-1?(this._initWorker(t),this.workerStatus|=1<<t,this.workersResolve[t]=e,this.workers[t].postMessage(A,a)):this.queue.push({resolve:e,msg:A,transfer:a})})}dispose(){this.workers.forEach(A=>A.terminate()),this.workersResolve.length=0,this.workers.length=0,this.queue.length=0,this.workerStatus=0}}const eI=9,gI=15,tI=16,iI=22,II=37,BI=43,nI=76,rI=83,oI=97,CI=100,EI=103,QI=109,tn=131,In=132,Bn=133,nn=134,rn=137,on=138,Cn=141,En=142,Qn=145,sn=146,sI=148,cI=152,cn=157,hn=158,hI=165,dI=166,Ft=1000066e3;class dn{constructor(){this.vkFormat=0,this.typeSize=1,this.pixelWidth=0,this.pixelHeight=0,this.pixelDepth=0,this.layerCount=0,this.faceCount=1,this.supercompressionScheme=0,this.levels=[],this.dataFormatDescriptor=[{vendorId:0,descriptorType:0,descriptorBlockSize:0,versionNumber:2,colorModel:0,colorPrimaries:1,transferFunction:2,flags:0,texelBlockDimension:[0,0,0,0],bytesPlane:[0,0,0,0,0,0,0,0],samples:[]}],this.keyValue={},this.globalData=null}}class ve{constructor(A,a,e,t){this._dataView=void 0,this._littleEndian=void 0,this._offset=void 0,this._dataView=new DataView(A.buffer,A.byteOffset+a,e),this._littleEndian=t,this._offset=0}_nextUint8(){const A=this._dataView.getUint8(this._offset);return this._offset+=1,A}_nextUint16(){const A=this._dataView.getUint16(this._offset,this._littleEndian);return this._offset+=2,A}_nextUint32(){const A=this._dataView.getUint32(this._offset,this._littleEndian);return this._offset+=4,A}_nextUint64(){const A=this._dataView.getUint32(this._offset,this._littleEndian)+4294967296*this._dataView.getUint32(this._offset+4,this._littleEndian);return this._offset+=8,A}_nextInt32(){const A=this._dataView.getInt32(this._offset,this._littleEndian);return this._offset+=4,A}_nextUint8Array(A){const a=new Uint8Array(this._dataView.buffer,this._dataView.byteOffset+this._offset,A);return this._offset+=A,a}_skip(A){return this._offset+=A,this}_scan(A,a){a===void 0&&(a=0);const e=this._offset;let t=0;for(;this._dataView.getUint8(this._offset)!==a&&t<A;)t++,this._offset++;return t<A&&this._offset++,new Uint8Array(this._dataView.buffer,this._dataView.byteOffset+e,t)}}const ga=[171,75,84,88,32,50,48,187,13,10,26,10];function Xt(g){return new TextDecoder().decode(g)}let Tg,Ua,st;const Og={env:{emscripten_notify_memory_growth:function(g){st=new Uint8Array(Ua.exports.memory.buffer)}}};class bn{init(){return Tg||(Tg=typeof fetch<"u"?fetch("data:application/wasm;base64,"+Zt).then(A=>A.arrayBuffer()).then(A=>WebAssembly.instantiate(A,Og)).then(this._init):WebAssembly.instantiate(Buffer.from(Zt,"base64"),Og).then(this._init),Tg)}_init(A){Ua=A.instance,Og.env.emscripten_notify_memory_growth(0)}decode(A,a=0){if(!Ua)throw new Error("ZSTDDecoder: Await .init() before decoding.");const e=A.byteLength,t=Ua.exports.malloc(e);st.set(A,t),a=a||Number(Ua.exports.ZSTD_findDecompressedSize(t,e));const i=Ua.exports.malloc(a),I=Ua.exports.ZSTD_decompress(i,a,t,e),B=st.slice(i,i+I);return Ua.exports.free(t),Ua.exports.free(i),B}}const Zt="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IAMNACAEQQNxBEADQCACRQ0FIAAgAkF/aiICaiIDIAEgAmotAAA6AAAgA0EDcQ0ACwsgAkEDTQ0AA0AgACACQXxqIgJqIAEgAmooAgA2AgAgAkEDSw0ACwsgAkUNAgNAIAAgAkF/aiICaiABIAJqLQAAOgAAIAINAAsMAgsgAkEDTQ0AIAIhBANAIAMgASgCADYCACABQQRqIQEgA0EEaiEDIARBfGoiBEEDSw0ACyACQQNxIQILIAJFDQADQCADIAEtAAA6AAAgA0EBaiEDIAFBAWohASACQX9qIgINAAsLIAAL8wICAn8BfgJAIAJFDQAgACACaiIDQX9qIAE6AAAgACABOgAAIAJBA0kNACADQX5qIAE6AAAgACABOgABIANBfWogAToAACAAIAE6AAIgAkEHSQ0AIANBfGogAToAACAAIAE6AAMgAkEJSQ0AIABBACAAa0EDcSIEaiIDIAFB/wFxQYGChAhsIgE2AgAgAyACIARrQXxxIgRqIgJBfGogATYCACAEQQlJDQAgAyABNgIIIAMgATYCBCACQXhqIAE2AgAgAkF0aiABNgIAIARBGUkNACADIAE2AhggAyABNgIUIAMgATYCECADIAE2AgwgAkFwaiABNgIAIAJBbGogATYCACACQWhqIAE2AgAgAkFkaiABNgIAIAQgA0EEcUEYciIEayICQSBJDQAgAa0iBUIghiAFhCEFIAMgBGohAQNAIAEgBTcDGCABIAU3AxAgASAFNwMIIAEgBTcDACABQSBqIQEgAkFgaiICQR9LDQALCyAACy8BAn8gACgCBCAAKAIAQQJ0aiICLQACIQMgACACLwEAIAEgAi0AAxAIajYCACADCy8BAn8gACgCBCAAKAIAQQJ0aiICLQACIQMgACACLwEAIAEgAi0AAxAFajYCACADCx8AIAAgASACKAIEEAg2AgAgARAEGiAAIAJBCGo2AgQLCAAgAGdBH3MLugUBDX8jAEEQayIKJAACfyAEQQNNBEAgCkEANgIMIApBDGogAyAEEAsaIAAgASACIApBDGpBBBAVIgBBbCAAEAMbIAAgACAESxsMAQsgAEEAIAEoAgBBAXRBAmoQECENQVQgAygAACIGQQ9xIgBBCksNABogAiAAQQVqNgIAIAMgBGoiAkF8aiEMIAJBeWohDiACQXtqIRAgAEEGaiELQQQh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ASIDNgLE4AEgACgCvOABIQQgACABNgK84AEgACABIAJqNgK44AEgACABIAQgA2tqNgLA4AELpgEBAX8gACAAKALs4QEQFjYCyOABIABCADcD+OABIABCADcDuOABIABBwOABakIANwMAIABBqNAAaiIBQYyAgOAANgIAIABBADYCmOIBIABCADcDiOEBIABCAzcDgOEBIABBrNABakHgEikCADcCACAAQbTQAWpB6BIoAgA2AgAgACABNgIMIAAgAEGYIGo2AgggACAAQaAwajYCBCAAIABBEGo2AgALYQEBf0G4fyEDAkAgAUEDSQ0AIAIgABAhIgFBA3YiADYCCCACIAFBAXE2AgQgAiABQQF2QQNxIgM2AgACQCADQX9qIgFBAksNAAJAIAFBAWsOAgEAAgtBbA8LIAAhAwsgAwsMACAAIAEgAkEAEC4LiAQCA38CfiADEBYhBCAAQQBBKBAQIQAgBCACSwRAIAQPCyABRQRAQX8PCwJAAkAgA0EBRg0AIAEoAAAiBkGo6r5pRg0AQXYhAyAGQXBxQdDUtMIBRw0BQQghAyACQQhJDQEgAEEAQSgQECEAIAEoAAQhASAAQQE2AhQgACABrTcDAEEADwsgASACIAMQLyIDIAJLDQAgACADNgIYQXIhAyABIARqIgVBf2otAAAiAkEIcQ0AIAJBIHEiBkUEQEFwIQMgBS0AACIFQacBSw0BIAVBB3GtQgEgBUEDdkEKaq2GIgdCA4h+IAd8IQggBEEBaiEECyACQQZ2IQMgAkECdiEFAkAgAkEDcUF/aiICQQJLBEBBACECDAELAkACQAJAIAJBAWsOAgECAAsgASAEai0AACECIARBAWohBAwCCyABIARqLwAAIQIgBEECaiEEDAELIAEgBGooAAAhAiAEQQRqIQQLIAVBAXEhBQJ+AkACQAJAIANBf2oiA0ECTQRAIANBAWsOAgIDAQtCfyAGRQ0DGiABIARqMQAADAMLIAEgBGovAACtQoACfAwCCyABIARqKAAArQwBCyABIARqKQAACyEHIAAgBTYCICAAIAI2AhwgACAHNwMAQQAhAyAAQQA2AhQgACAHIAggBhsiBzcDCCAAIAdCgIAIIAdCgIAIVBs+AhALIAMLWwEBf0G4fyEDIAIQFiICIAFNBH8gACACakF/ai0AACIAQQNxQQJ0QaAeaigC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C0Egak8NAQsgByAHKQNoNwMQIAcgBykDYDcDCCAEIA0gB0EIaiAHQdwAaiAPIA4gESAQEB4hCwwBCyACIARqIQggBCAKEAcgAkERTwRAIARBEGohAgNAIAIgCkEQaiIKEAcgAkEQaiICIAhJDQALCyAIIAlrIQIgByATNgJcIAkgCCAOa0sEQCAJIAggEWtLBEBBbCELDAILIBAgAiAOayICaiIKIANqIBBNBEAgCCAKIAMQDxoMAgsgCCAKQQAgAmsQDyEIIAcgAiADaiIDNgJkIAggAmshCCAOIQILIAlBEE8EQCADIAhqIQMDQCAIIAIQByACQRBqIQIgCEEQaiIIIANJDQALDAELAkAgCUEHTQRAIAggAi0AADoAACAIIAItAAE6AAEgCCACLQACOgACIAggAi0AAzoAAyAIQQRqIAIgCUECdCIDQcAeaigCAGoiAhAXIAIgA0HgHmooAgBrIQIgBygCZCEDDAELIAggAhAMCyADQQlJDQAgAyAIaiEDIAhBCGoiCCACQQhqIgJrQQ9MBEADQCAIIAIQDCACQQhqIQIgCEEIaiIIIANJDQAMAgALAAsDQCAIIAIQByACQRBqIQIgCEEQaiIIIANJDQALCyAHQRhqEAQaIAsgDCALEAMiAhshDCAEIAQgC2ogAhshBCAFQX9qIgUNAAsgDBADDQFBbCEMIAdBGGoQBEECSQ0BQQAhCANAIAhBA0cEQCAAIAhBAnQiAmpBrNABaiACIAdqKAJENgIAIAhBAWohCAwBCwsgBygCXCEIC0G6fyEMIA8gCGsiACANIARrSw0AIAQEfyAEIAggABALIABqBUEACyABayEMCyAHQfAAaiQAIAwLkRcCFn8FfiMAQdABayIHJAAgByAAKALw4QEiCDYCvAEgASACaiESIAggACgCgOIBaiETAkACQCAFRQRAIAEhAwwBCyAAKALE4AEhESAAKALA4AEhFSAAKAK84AEhDyAAQQE2AozhAUEAIQgDQCAIQQNHBEAgByAIQQJ0IgJqIAAgAmpBrNABaigCADYCVCAIQQFqIQgMAQsLIAcgETYCZCAHIA82AmAgByABIA9rNgJoQWwhECAHQShqIAMgBBAGEAMNASAFQQQgBUEESBshFyAHQTxqIAdBKGogACgCABATIAdBxABqIAdBKGogACgCCBATIAdBzABqIAdB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IAdB0AFqJAAgEAslACAAQgA3AgAgAEEAOwEIIABBADoACyAAIAE2AgwgACACOgAKC7QFAQN/IwBBMGsiBCQAIABB/wFqIgVBfWohBgJAIAMvAQIEQCAEQRhqIAEgAhAGIgIQAw0BIARBEGogBEEYaiADEBwgBEEIaiAEQRhqIAMQHCAAIQMDQAJAIARBGGoQBCADIAZPckUEQCADIARBEGogBEEYahASOgAAIAMgBEEIaiAEQRhqEBI6AAEgBEEYahAERQ0BIANBAmohAwsgBUF+aiEFAn8DQEG6fyECIAMiASAFSw0FIAEgBEEQaiAEQRhqEBI6AAAgAUEBaiEDIARBGGoQBEEDRgRAQQIhAiAEQQhqDAILIAMgBUsNBSABIARBCGogBEEYahASOgABIAFBAmohA0EDIQIgBEEYahAEQQNHDQALIARBEGoLIQUgAyAFIARBGGoQEjoAACABIAJqIABrIQIMAwsgAyAEQRBqIARBGGoQEjoAAiADIARBCGogBEEYahASOgADIANBBGohAwwAAAsACyAEQRhqIAEgAhAGIgIQAw0AIARBEGogBEEYaiADEBwgBEEIaiAEQRhqIAMQHCAAIQMDQAJAIARBGGoQBCADIAZPckUEQCADIARBEGogBEEYahAROgAAIAMgBEEIaiAEQRhqEBE6AAEgBEEYahAERQ0BIANBAmohAwsgBUF+aiEFAn8DQEG6fyECIAMiASAFSw0EIAEgBEEQaiAEQRhqEBE6AAAgAUEBaiEDIARBGGoQBEEDRgRAQQIhAiAEQQhqDAILIAMgBUsNBCABIARBCGogBEEYahAROgABIAFBAmohA0EDIQIgBEEYahAEQQNHDQALIARBEGoLIQUgAyAFIARBGGoQEToAACABIAJqIABrIQIMAgsgAyAEQRBqIARBGGoQEToAAiADIARBCGogBEEYahAROgADIANBBGohAwwAAAsACyAEQTBqJAAgAgtpAQF/An8CQAJAIAJBB00NACABKAAAQbfIwuF+Rw0AIAAgASgABDYCmOIBQWIgAEEQaiABIAIQPiIDEAMNAhogAEKBgICAEDcDiOEBIAAgASADaiACIANrECoMAQsgACABIAIQKgtBAAsLrQMBBn8jAEGAAWsiAyQAQWIhCAJAIAJBCUkNACAAQZjQAGogAUEIaiIEIAJBeGogAEGY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wOABCwutAgIEfwF+IwBBQGoiBCQAAkACQCACQQhJDQAgASgAAEFwcUHQ1LTCAUcNACABIAIQIiEBIABCADcDCCAAQQA2AgQgACABNgIADAELIARBGGogASACEC0iAxADBEAgACADEBoMAQsgAwRAIABBuH8QGgwBCyACIAQoAjAiA2shAiABIANqIQMDQAJAIAAgAyACIARBCGoQLCIFEAMEfyAFBSACIAVBA2oiBU8NAUG4fwsQGgwCCyAGQQFqIQYgAiAFayECIAMgBWohAyAEKAIMRQ0ACyAEKAI4BEAgAkEDTQRAIABBuH8QGgwCCyADQQRqIQMLIAQoAighAiAEKQMYIQcgAEEANgIEIAAgAyABazYCACAAIAIgBmytIAcgB0J/URs3AwgLIARBQGskAAslAQF/IwBBEGsiAiQAIAIgACABEFEgAigCACEAIAJBEGokACAAC30BBH8jAEGQBGsiBCQAIARB/wE2AggCQCAEQRBqIARBCGogBEEMaiABIAIQFSIGEAMEQCAGIQUMAQtBVCEFIAQoAgwiB0EGSw0AIAMgBEEQaiAEKAIIIAcQQSIFEAMNACAAIAEgBmogAiAGayADEDwhBQsgBEGQBGokACAFC4cBAgJ/An5BABAWIQMCQANAIAEgA08EQAJAIAAoAABBcHFB0NS0wgFGBEAgACABECIiAhADRQ0BQn4PCyAAIAEQVSIEQn1WDQMgBCAFfCIFIARUIQJCfiEEIAINAyAAIAEQUiICEAMNAwsgASACayEBIAAgAmohAAwBCwtCfiAFIAEbIQQLIAQLPwIBfwF+IwBBMGsiAiQAAn5CfiACQQhqIAAgARAtDQAaQgAgAigCHEEBRg0AGiACKQMICyEDIAJBMGokACADC40BAQJ/IwBBMGsiASQAAkAgAEUNACAAKAKI4gENACABIABB/OEBaigCADYCKCABIAApAvThATcDICAAEDAgACgCqOIBIQIgASABKAIoNgIYIAEgASkDIDcDECACIAFBEGoQGyAAQQA2AqjiASABIAEoAig2AgggASABKQMgNwMAIAAgARAbCyABQTBqJAALKgECfyMAQRBrIgAkACAAQQA2AgggAEIANwMAIAAQWCEBIABBEGokACABC4cBAQN/IwBBEGsiAiQAAkAgACgCAEUgACgCBEVzDQAgAiAAKAIINgIIIAIgACkCADcDAAJ/IAIoAgAiAQRAIAIoAghBqOMJIAERBQAMAQtBqOMJECgLIgFFDQAgASAAKQIANwL04QEgAUH84QFqIAAoAgg2AgAgARBZIAEhAwsgAkEQaiQAIAMLywEBAn8jAEEgayIBJAAgAEGBgIDAADYCtOIBIABBADYCiOIBIABBADYC7OEBIABCADcDkOIBIABBADYCpOMJIABBADYC3OIBIABCADcCzOIBIABBADYCvOIBIABBADYCxOABIABCADcCnOIBIABBpOIBakIANwIAIABBrOIBakEANgIAIAFCADcCECABQgA3AhggASABKQMYNwMIIAEgASkDEDcDACABKAIIQQh2QQFxIQIgAEEANgLg4gEgACACNgKM4gEgAUEgaiQAC3YBA38jAEEwayIBJAAgAARAIAEgAEHE0AFqIgIoAgA2AiggASAAKQK80AE3AyAgACgCACEDIAEgAigCADYCGCABIAApArzQATcDECADIAFBEGoQGyABIAEoAig2AgggASABKQMgNwMAIAAgARAbCyABQTBqJAALzAEBAX8gACABKAK00AE2ApjiASAAIAEoAgQiAjYCwOABIAAgAjYCvOABIAAgAiABKAIIaiICNgK44AEgACACNgLE4AEgASgCuNABBEAgAEKBgICAEDcDiOEBIAAgAUGk0ABqNgIMIAAgAUGUIGo2AgggACABQZwwajYCBCAAIAFBDGo2AgAgAEGs0AFqIAFBqNABaigCADYCACAAQbDQAWogAUGs0AFqKAIANgIAIABBtNABaiABQbDQAWooAgA2AgAPCyAAQgA3A4jhAQs7ACACRQRAQbp/DwsgBEUEQEFsDwsgAiAEEGAEQCAAIAEgAiADIAQgBRBhDwsgACABIAIgAyAEIAUQZQtGAQF/IwBBEGsiBSQAIAVBCGogBBAOAn8gBS0ACQRAIAAgASACIAMgBBAyDAELIAAgASACIAMgBBA0CyEAIAVBEGokACAACzQAIAAgAyAEIAUQNiIFEAMEQCAFDwsgBSAESQR/IAEgAiADIAVqIAQgBWsgABA1BUG4fwsLRgEBfyMAQRBrIgUkACAFQQhqIAQQDgJ/IAUtAAkEQCAAIAEgAiADIAQQYgwBCyAAIAEgAiADIAQQNQshACAFQRBqJAAgAAtZAQF/QQ8hAiABIABJBEAgAUEE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",Pg=new WeakMap;let zg,Wg=0;class ca extends f.Loader{constructor(A){super(A),this.transcoderPath="",this.transcoderBinary=null,this.transcoderPending=null,this.workerPool=new gn,this.workerSourceURL="",this.workerConfig=null,typeof MSC_TRANSCODER<"u"&&console.warn('THREE.KTX2Loader: Please update to latest "basis_transcoder". "msc_basis_transcoder" is no longer supported in three.js r125+.')}setTranscoderPath(A){return this.transcoderPath=A,this}setWorkerLimit(A){return this.workerPool.setWorkerLimit(A),this}async detectSupportAsync(A){return this.workerConfig={astcSupported:await A.hasFeatureAsync("texture-compression-astc"),astcHDRSupported:!1,etc1Supported:await A.hasFeatureAsync("texture-compression-etc1"),etc2Supported:await A.hasFeatureAsync("texture-compression-etc2"),dxtSupported:await A.hasFeatureAsync("texture-compression-bc"),bptcSupported:await A.hasFeatureAsync("texture-compression-bptc"),pvrtcSupported:await A.hasFeatureAsync("texture-compression-pvrtc")},this}detectSupport(A){return A.isWebGPURenderer===!0?this.workerConfig={astcSupported:A.hasFeature("texture-compression-astc"),astcHDRSupported:!1,etc1Supported:A.hasFeature("texture-compression-etc1"),etc2Supported:A.hasFeature("texture-compression-etc2"),dxtSupported:A.hasFeature("texture-compression-bc"),bptcSupported:A.hasFeature("texture-compression-bptc"),pvrtcSupported:A.hasFeature("texture-compression-pvrtc")}:this.workerConfig={astcSupported:A.extensions.has("WEBGL_compressed_texture_astc"),astcHDRSupported:A.extensions.has("WEBGL_compressed_texture_astc")&&A.extensions.get("WEBGL_compressed_texture_astc").getSupportedProfiles().includes("hdr"),etc1Supported:A.extensions.has("WEBGL_compressed_texture_etc1"),etc2Supported:A.extensions.has("WEBGL_compressed_texture_etc"),dxtSupported:A.extensions.has("WEBGL_compressed_texture_s3tc"),bptcSupported:A.extensions.has("EXT_texture_compression_bptc"),pvrtcSupported:A.extensions.has("WEBGL_compressed_texture_pvrtc")||A.extensions.has("WEBKIT_WEBGL_compressed_texture_pvrtc")},this}init(){if(!this.transcoderPending){const A=new f.FileLoader(this.manager);A.setPath(this.transcoderPath),A.setWithCredentials(this.withCredentials);const a=A.loadAsync("basis_transcoder.js"),e=new f.FileLoader(this.manager);e.setPath(this.transcoderPath),e.setResponseType("arraybuffer"),e.setWithCredentials(this.withCredentials);const t=e.loadAsync("basis_transcoder.wasm");this.transcoderPending=Promise.all([a,t]).then(([i,I])=>{const B=ca.BasisWorker.toString(),r=["/* constants */","let _EngineFormat = "+JSON.stringify(ca.EngineFormat),"let _EngineType = "+JSON.stringify(ca.EngineType),"let _TranscoderFormat = "+JSON.stringify(ca.TranscoderFormat),"let _BasisFormat = "+JSON.stringify(ca.BasisFormat),"/* basis_transcoder.js */",i,"/* worker */",B.substring(B.indexOf("{")+1,B.lastIndexOf("}"))].join(`
|
|
20
|
+
`);this.workerSourceURL=URL.createObjectURL(new Blob([r])),this.transcoderBinary=I,this.workerPool.setWorkerCreator(()=>{const o=new Worker(this.workerSourceURL),n=this.transcoderBinary.slice(0);return o.postMessage({type:"init",config:this.workerConfig,transcoderBinary:n},[n]),o})}),Wg>0&&console.warn("THREE.KTX2Loader: Multiple active KTX2 loaders may cause performance issues. Use a single KTX2Loader instance, or call .dispose() on old instances."),Wg++}return this.transcoderPending}load(A,a,e,t){if(this.workerConfig===null)throw new Error("THREE.KTX2Loader: Missing initialization with `.detectSupport( renderer )`.");const i=new f.FileLoader(this.manager);i.setPath(this.path),i.setCrossOrigin(this.crossOrigin),i.setWithCredentials(this.withCredentials),i.setResponseType("arraybuffer"),i.load(A,I=>{this.parse(I,a,t)},e,t)}parse(A,a,e){if(this.workerConfig===null)throw new Error("THREE.KTX2Loader: Missing initialization with `.detectSupport( renderer )`.");if(Pg.has(A))return Pg.get(A).promise.then(a).catch(e);this._createTexture(A).then(t=>a?a(t):null).catch(e)}_createTextureFrom(A,a){const{type:e,error:t,data:{faces:i,width:I,height:B,format:r,type:o,dfdFlags:n}}=A;if(e==="error")return Promise.reject(t);let C;if(a.faceCount===6)C=new f.CompressedCubeTexture(i,r,o);else{const Q=i[0].mipmaps;C=a.layerCount>1?new f.CompressedArrayTexture(Q,I,B,a.layerCount,r,o):new f.CompressedTexture(Q,I,B,r,o)}return C.minFilter=i[0].mipmaps.length===1?f.LinearFilter:f.LinearMipmapLinearFilter,C.magFilter=f.LinearFilter,C.generateMipmaps=!1,C.needsUpdate=!0,C.colorSpace=_t(a),C.premultiplyAlpha=!!(1&n),C}async _createTexture(A,a={}){const e=function(B){const r=new Uint8Array(B.buffer,B.byteOffset,ga.length);if(r[0]!==ga[0]||r[1]!==ga[1]||r[2]!==ga[2]||r[3]!==ga[3]||r[4]!==ga[4]||r[5]!==ga[5]||r[6]!==ga[6]||r[7]!==ga[7]||r[8]!==ga[8]||r[9]!==ga[9]||r[10]!==ga[10]||r[11]!==ga[11])throw new Error("Missing KTX 2.0 identifier.");const o=new dn,n=17*Uint32Array.BYTES_PER_ELEMENT,C=new ve(B,ga.length,n,!0);o.vkFormat=C._nextUint32(),o.typeSize=C._nextUint32(),o.pixelWidth=C._nextUint32(),o.pixelHeight=C._nextUint32(),o.pixelDepth=C._nextUint32(),o.layerCount=C._nextUint32(),o.faceCount=C._nextUint32();const Q=C._nextUint32();o.supercompressionScheme=C._nextUint32();const E=C._nextUint32(),s=C._nextUint32(),c=C._nextUint32(),d=C._nextUint32(),b=C._nextUint64(),h=C._nextUint64(),l=new ve(B,ga.length+n,3*Q*8,!0);for(let BA=0;BA<Q;BA++)o.levels.push({levelData:new Uint8Array(B.buffer,B.byteOffset+l._nextUint64(),l._nextUint64()),uncompressedByteLength:l._nextUint64()});const w=new ve(B,E,s,!0),k={vendorId:w._skip(4)._nextUint16(),descriptorType:w._nextUint16(),versionNumber:w._nextUint16(),descriptorBlockSize:w._nextUint16(),colorModel:w._nextUint8(),colorPrimaries:w._nextUint8(),transferFunction:w._nextUint8(),flags:w._nextUint8(),texelBlockDimension:[w._nextUint8(),w._nextUint8(),w._nextUint8(),w._nextUint8()],bytesPlane:[w._nextUint8(),w._nextUint8(),w._nextUint8(),w._nextUint8(),w._nextUint8(),w._nextUint8(),w._nextUint8(),w._nextUint8()],samples:[]},M=(k.descriptorBlockSize/4-6)/4;for(let BA=0;BA<M;BA++){const CA={bitOffset:w._nextUint16(),bitLength:w._nextUint8(),channelType:w._nextUint8(),samplePosition:[w._nextUint8(),w._nextUint8(),w._nextUint8(),w._nextUint8()],sampleLower:-1/0,sampleUpper:1/0};64&CA.channelType?(CA.sampleLower=w._nextInt32(),CA.sampleUpper=w._nextInt32()):(CA.sampleLower=w._nextUint32(),CA.sampleUpper=w._nextUint32()),k.samples[BA]=CA}o.dataFormatDescriptor.length=0,o.dataFormatDescriptor.push(k);const N=new ve(B,c,d,!0);for(;N._offset<d;){const BA=N._nextUint32(),CA=N._scan(BA),uA=Xt(CA);if(o.keyValue[uA]=N._nextUint8Array(BA-CA.byteLength-1),uA.match(/^ktx/i)){const yA=Xt(o.keyValue[uA]);o.keyValue[uA]=yA.substring(0,yA.lastIndexOf("\0"))}N._skip(BA%4?4-BA%4:0)}if(h<=0)return o;const m=new ve(B,b,h,!0),G=m._nextUint16(),L=m._nextUint16(),x=m._nextUint32(),W=m._nextUint32(),X=m._nextUint32(),eA=m._nextUint32(),AA=[];for(let BA=0;BA<Q;BA++)AA.push({imageFlags:m._nextUint32(),rgbSliceByteOffset:m._nextUint32(),rgbSliceByteLength:m._nextUint32(),alphaSliceByteOffset:m._nextUint32(),alphaSliceByteLength:m._nextUint32()});const Z=b+m._offset,nA=Z+x,bA=nA+W,cA=bA+X,pA=new Uint8Array(B.buffer,B.byteOffset+Z,x),fA=new Uint8Array(B.buffer,B.byteOffset+nA,W),oA=new Uint8Array(B.buffer,B.byteOffset+bA,X),MA=new Uint8Array(B.buffer,B.byteOffset+cA,eA);return o.globalData={endpointCount:G,selectorCount:L,imageDescs:AA,endpointsData:pA,selectorsData:fA,tablesData:oA,extendedData:MA},o}(new Uint8Array(A)),t=e.vkFormat===Ft&&e.dataFormatDescriptor[0].colorModel===167;if(!(e.vkFormat===0||t&&!this.workerConfig.astcHDRSupported))return async function(B){const{vkFormat:r}=B;if(Vg[r]===void 0)throw new Error("THREE.KTX2Loader: Unsupported vkFormat.");let o;B.supercompressionScheme===2&&(zg||(zg=new Promise(async Q=>{const E=new bn;await E.init(),Q(E)})),o=await zg);const n=[];for(let Q=0;Q<B.levels.length;Q++){const E=Math.max(1,B.pixelWidth>>Q),s=Math.max(1,B.pixelHeight>>Q),c=B.pixelDepth?Math.max(1,B.pixelDepth>>Q):0,d=B.levels[Q];let b,h;if(B.supercompressionScheme===0)b=d.levelData;else{if(B.supercompressionScheme!==2)throw new Error("THREE.KTX2Loader: Unsupported supercompressionScheme.");b=o.decode(d.levelData,d.uncompressedByteLength)}h=Xg[r]===f.FloatType?new Float32Array(b.buffer,b.byteOffset,b.byteLength/Float32Array.BYTES_PER_ELEMENT):Xg[r]===f.HalfFloatType?new Uint16Array(b.buffer,b.byteOffset,b.byteLength/Uint16Array.BYTES_PER_ELEMENT):b,n.push({data:h,width:E,height:s,depth:c})}let C;if(un.has(Vg[r]))C=B.pixelDepth===0?new f.DataTexture(n[0].data,B.pixelWidth,B.pixelHeight):new f.Data3DTexture(n[0].data,B.pixelWidth,B.pixelHeight,B.pixelDepth);else{if(B.pixelDepth>0)throw new Error("THREE.KTX2Loader: Unsupported pixelDepth.");C=new f.CompressedTexture(n,B.pixelWidth,B.pixelHeight),C.minFilter=n.length===1?f.LinearFilter:f.LinearMipmapLinearFilter,C.magFilter=f.LinearFilter}return C.mipmaps=n,C.type=Xg[r],C.format=Vg[r],C.colorSpace=_t(B),C.needsUpdate=!0,Promise.resolve(C)}(e);const i=a,I=this.init().then(()=>this.workerPool.postMessage({type:"transcode",buffer:A,taskConfig:i},[A])).then(B=>this._createTextureFrom(B.data,e));return Pg.set(A,{promise:I}),I}dispose(){this.workerPool.dispose(),this.workerSourceURL&&URL.revokeObjectURL(this.workerSourceURL),Wg--}}ca.BasisFormat={ETC1S:0,UASTC:1,UASTC_HDR:2},ca.TranscoderFormat={ETC1:0,ETC2:1,BC1:2,BC3:3,BC4:4,BC5:5,BC7_M6_OPAQUE_ONLY:6,BC7_M5:7,PVRTC1_4_RGB:8,PVRTC1_4_RGBA:9,ASTC_4x4:10,ATC_RGB:11,ATC_RGBA_INTERPOLATED_ALPHA:12,RGBA32:13,RGB565:14,BGR565:15,RGBA4444:16,BC6H:22,RGB_HALF:24,RGBA_HALF:25},ca.EngineFormat={RGBAFormat:f.RGBAFormat,RGBA_ASTC_4x4_Format:f.RGBA_ASTC_4x4_Format,RGB_BPTC_UNSIGNED_Format:f.RGB_BPTC_UNSIGNED_Format,RGBA_BPTC_Format:f.RGBA_BPTC_Format,RGBA_ETC2_EAC_Format:f.RGBA_ETC2_EAC_Format,RGBA_PVRTC_4BPPV1_Format:f.RGBA_PVRTC_4BPPV1_Format,RGBA_S3TC_DXT5_Format:f.RGBA_S3TC_DXT5_Format,RGB_ETC1_Format:f.RGB_ETC1_Format,RGB_ETC2_Format:f.RGB_ETC2_Format,RGB_PVRTC_4BPPV1_Format:f.RGB_PVRTC_4BPPV1_Format,RGBA_S3TC_DXT1_Format:f.RGBA_S3TC_DXT1_Format},ca.EngineType={UnsignedByteType:f.UnsignedByteType,HalfFloatType:f.HalfFloatType,FloatType:f.FloatType},ca.BasisWorker=function(){let g,A,a;const e=_EngineFormat,t=_EngineType,i=_TranscoderFormat,I=_BasisFormat;self.addEventListener("message",function(C){const Q=C.data;switch(Q.type){case"init":g=Q.config,E=Q.transcoderBinary,A=new Promise(s=>{a={wasmBinary:E,onRuntimeInitialized:s},BASIS(a)}).then(()=>{a.initializeBasis(),a.KTX2File===void 0&&console.warn("THREE.KTX2Loader: Please update Basis Universal transcoder.")});break;case"transcode":A.then(()=>{try{const{faces:s,buffers:c,width:d,height:b,hasAlpha:h,format:l,type:w,dfdFlags:k}=function(M){const N=new a.KTX2File(new Uint8Array(M));function m(){N.close(),N.delete()}if(!N.isValid())throw m(),new Error("THREE.KTX2Loader: Invalid or unsupported .ktx2 file");let G;if(N.isUASTC())G=I.UASTC;else if(N.isETC1S())G=I.ETC1S;else{if(!N.isHDR())throw new Error("THREE.KTX2Loader: Unknown Basis encoding");G=I.UASTC_HDR}const L=N.getWidth(),x=N.getHeight(),W=N.getLayers()||1,X=N.getLevels(),eA=N.getFaces(),AA=N.getHasAlpha(),Z=N.getDFDFlags(),{transcoderFormat:nA,engineFormat:bA,engineType:cA}=function(oA,MA,BA,CA){const uA=r[oA];for(let yA=0;yA<uA.length;yA++){const FA=uA[yA];if(!(FA.if&&!g[FA.if])&&FA.basisFormat.includes(oA)&&!(CA&&FA.transcoderFormat.length<2)&&!(FA.needsPowerOfTwo&&(!o(MA)||!o(BA))))return{transcoderFormat:FA.transcoderFormat[CA?1:0],engineFormat:FA.engineFormat[CA?1:0],engineType:FA.engineType[0]}}throw new Error("THREE.KTX2Loader: Failed to identify transcoding target.")}(G,L,x,AA);if(!L||!x||!X)throw m(),new Error("THREE.KTX2Loader: Invalid texture");if(!N.startTranscoding())throw m(),new Error("THREE.KTX2Loader: .startTranscoding failed");const pA=[],fA=[];for(let oA=0;oA<eA;oA++){const MA=[];for(let BA=0;BA<X;BA++){const CA=[];let uA,yA;for(let NA=0;NA<W;NA++){const WA=N.getImageLevelInfo(BA,NA,oA);oA!==0||BA!==0||NA!==0||WA.origWidth%4==0&&WA.origHeight%4==0||console.warn("THREE.KTX2Loader: ETC1S and UASTC textures should use multiple-of-four dimensions."),X>1?(uA=WA.origWidth,yA=WA.origHeight):(uA=WA.width,yA=WA.height);let VA=new Uint8Array(N.getImageTranscodedSizeInBytes(BA,NA,0,nA));const ra=N.transcodeImage(VA,BA,NA,oA,nA,0,-1,-1);if(cA===t.HalfFloatType&&(VA=new Uint16Array(VA.buffer,VA.byteOffset,VA.byteLength/Uint16Array.BYTES_PER_ELEMENT)),!ra)throw m(),new Error("THREE.KTX2Loader: .transcodeImage failed.");CA.push(VA)}const FA=n(CA);MA.push({data:FA,width:uA,height:yA}),fA.push(FA.buffer)}pA.push({mipmaps:MA,width:L,height:x,format:bA,type:cA})}return m(),{faces:pA,buffers:fA,width:L,height:x,hasAlpha:AA,dfdFlags:Z,format:bA,type:cA}}(Q.buffer);self.postMessage({type:"transcode",id:Q.id,data:{faces:s,width:d,height:b,hasAlpha:h,format:l,type:w,dfdFlags:k}},c)}catch(s){console.error(s),self.postMessage({type:"error",id:Q.id,error:s.message})}})}var E});const B=[{if:"astcSupported",basisFormat:[I.UASTC],transcoderFormat:[i.ASTC_4x4,i.ASTC_4x4],engineFormat:[e.RGBA_ASTC_4x4_Format,e.RGBA_ASTC_4x4_Format],engineType:[t.UnsignedByteType],priorityETC1S:1/0,priorityUASTC:1,needsPowerOfTwo:!1},{if:"bptcSupported",basisFormat:[I.ETC1S,I.UASTC],transcoderFormat:[i.BC7_M5,i.BC7_M5],engineFormat:[e.RGBA_BPTC_Format,e.RGBA_BPTC_Format],engineType:[t.UnsignedByteType],priorityETC1S:3,priorityUASTC:2,needsPowerOfTwo:!1},{if:"dxtSupported",basisFormat:[I.ETC1S,I.UASTC],transcoderFormat:[i.BC1,i.BC3],engineFormat:[e.RGBA_S3TC_DXT1_Format,e.RGBA_S3TC_DXT5_Format],engineType:[t.UnsignedByteType],priorityETC1S:4,priorityUASTC:5,needsPowerOfTwo:!1},{if:"etc2Supported",basisFormat:[I.ETC1S,I.UASTC],transcoderFormat:[i.ETC1,i.ETC2],engineFormat:[e.RGB_ETC2_Format,e.RGBA_ETC2_EAC_Format],engineType:[t.UnsignedByteType],priorityETC1S:1,priorityUASTC:3,needsPowerOfTwo:!1},{if:"etc1Supported",basisFormat:[I.ETC1S,I.UASTC],transcoderFormat:[i.ETC1],engineFormat:[e.RGB_ETC1_Format],engineType:[t.UnsignedByteType],priorityETC1S:2,priorityUASTC:4,needsPowerOfTwo:!1},{if:"pvrtcSupported",basisFormat:[I.ETC1S,I.UASTC],transcoderFormat:[i.PVRTC1_4_RGB,i.PVRTC1_4_RGBA],engineFormat:[e.RGB_PVRTC_4BPPV1_Format,e.RGBA_PVRTC_4BPPV1_Format],engineType:[t.UnsignedByteType],priorityETC1S:5,priorityUASTC:6,needsPowerOfTwo:!0},{if:"bptcSupported",basisFormat:[I.UASTC_HDR],transcoderFormat:[i.BC6H],engineFormat:[e.RGB_BPTC_UNSIGNED_Format],engineType:[t.HalfFloatType],priorityHDR:1,needsPowerOfTwo:!1},{basisFormat:[I.ETC1S,I.UASTC],transcoderFormat:[i.RGBA32,i.RGBA32],engineFormat:[e.RGBAFormat,e.RGBAFormat],engineType:[t.UnsignedByteType,t.UnsignedByteType],priorityETC1S:100,priorityUASTC:100,needsPowerOfTwo:!1},{basisFormat:[I.UASTC_HDR],transcoderFormat:[i.RGBA_HALF],engineFormat:[e.RGBAFormat],engineType:[t.HalfFloatType],priorityHDR:100,needsPowerOfTwo:!1}],r={[I.ETC1S]:B.filter(C=>C.basisFormat.includes(I.ETC1S)).sort((C,Q)=>C.priorityUASTC-Q.priorityUASTC),[I.UASTC]:B.filter(C=>C.basisFormat.includes(I.UASTC)).sort((C,Q)=>C.priorityUASTC-Q.priorityUASTC),[I.UASTC_HDR]:B.filter(C=>C.basisFormat.includes(I.UASTC_HDR)).sort((C,Q)=>C.priorityHDR-Q.priorityHDR)};function o(C){return C<=2||!(C&C-1)&&C!==0}function n(C){if(C.length===1)return C[0];let Q=0;for(let c=0;c<C.length;c++)Q+=C[c].byteLength;const E=new Uint8Array(Q);let s=0;for(let c=0;c<C.length;c++){const d=C[c];E.set(d,s),s+=d.byteLength}return E}};const un=new Set([f.RGBAFormat,f.RGFormat,f.RedFormat]),Vg={[QI]:f.RGBAFormat,[oI]:f.RGBAFormat,[II]:f.RGBAFormat,[BI]:f.RGBAFormat,[EI]:f.RGFormat,[rI]:f.RGFormat,[tI]:f.RGFormat,[iI]:f.RGFormat,[CI]:f.RedFormat,[nI]:f.RedFormat,[gI]:f.RedFormat,[eI]:f.RedFormat,[sI]:f.RGB_ETC2_Format,[cI]:f.RGBA_ETC2_EAC_Format,[Ft]:f.RGBA_ASTC_4x4_Format,[hn]:f.RGBA_ASTC_4x4_Format,[cn]:f.RGBA_ASTC_4x4_Format,[dI]:f.RGBA_ASTC_6x6_Format,[hI]:f.RGBA_ASTC_6x6_Format,[Bn]:f.RGBA_S3TC_DXT1_Format,[nn]:f.RGBA_S3TC_DXT1_Format,[tn]:f.RGB_S3TC_DXT1_Format,[In]:f.RGB_S3TC_DXT1_Format,[on]:f.RGBA_S3TC_DXT3_Format,[rn]:f.RGBA_S3TC_DXT3_Format,[En]:f.RGBA_S3TC_DXT5_Format,[Cn]:f.RGBA_S3TC_DXT5_Format,[sn]:f.RGBA_BPTC_Format,[Qn]:f.RGBA_BPTC_Format},Xg={[QI]:f.FloatType,[oI]:f.HalfFloatType,[II]:f.UnsignedByteType,[BI]:f.UnsignedByteType,[EI]:f.FloatType,[rI]:f.HalfFloatType,[tI]:f.UnsignedByteType,[iI]:f.UnsignedByteType,[CI]:f.FloatType,[nI]:f.HalfFloatType,[gI]:f.UnsignedByteType,[eI]:f.UnsignedByteType,[sI]:f.UnsignedByteType,[cI]:f.UnsignedByteType,[Ft]:f.HalfFloatType,[dI]:f.UnsignedByteType,[hI]:f.UnsignedByteType};function _t(g){const A=g.dataFormatDescriptor[0];return A.colorPrimaries===1?A.transferFunction===2?f.SRGBColorSpace:f.LinearSRGBColorSpace:A.colorPrimaries===10?A.transferFunction===2?"display-p3":"display-p3-linear":(A.colorPrimaries===0||console.warn(`THREE.KTX2Loader: Unsupported color primaries, "${A.colorPrimaries}"`),f.NoColorSpace)}async function $t(g){const A=g.split("?")[0].split(".").pop(),a=await fetch(g);if(!a.ok)throw new Error(`Failed to fetch ${g}: ${a.statusText}`);if(A==="json"){const e=await a.json();return handleJSONSubtree(e,Ai(g))}if(A==="subtree")return async function(e,t){const i=new DataView(e),I=i.getBigUint64(8,!0),B=i.getBigUint64(16,!0),r=24,o=r+Number(I),n=o+(8-o%8)%8,C=n+Number(B),Q=e.slice(r,o),E=new TextDecoder().decode(Q).trim(),s=JSON.parse(E);if(!s.buffers)throw new Error("subtree has no buffers");const c=s.buffers.map(async b=>{if(b.uri){const h=new URL(b.uri,t).href,l=await fetch(h);if(!l.ok)throw new Error(`Failed to fetch binary file ${h}: ${l.statusText}`);return new Uint8Array(await l.arrayBuffer())}return new Uint8Array(e.slice(n,C))}),d=await Promise.all(c);return function(b,h){function l(m,G){if(!m)throw new Error("incomplete json subtree");if(m.constant){if(m.constant==0)return!1;if(m.constant==1)return!0}if(m.bitstream==null)throw new Error('json subtree "tileAvailability" does not specify a bitstream');if(!b.bufferViews||!b.bufferViews[m.bitstream])throw new Error('json subtree "bufferViews" does not specify a bitstream');const L=b.bufferViews[m.bitstream];return w(h[L.buffer],L.byteOffset,G)}function w(m,G,L){const x=L%8;return m[G+Math.floor(L/8)]>>x&!0}function k(m){let G=0;return G=m.z==null?Zg(m.x,m.y,m.level):$g(m.x,m.y,m.z,m.level),l(b.tileAvailability,G)}function M(m){let G=0;G=m.z==null?Zg(m.x,m.y,m.level):$g(m.x,m.y,m.z,m.level);const L=[];return b.contentAvailability.forEach(x=>{L.push(l(x,G))}),L}function N(m){let G=0;return G=m.z==null?Zg(m.x,m.y):$g(m.x,m.y,m.z),l(b.childSubtreeAvailability,G)}return{isTileAvailable:k,isContentAvailable:M,isChildSubtreeAvailable:N}}(s,d)}(await a.arrayBuffer(),Ai(g));throw new Error(`Unsupported file extension: ${A}`)}function Ai(g){const A=g.split("?")[0];return A.substring(0,A.lastIndexOf("/")+1)}function ai(g){return g=1431655765&((g=858993459&((g=252645135&((g=16711935&((g&=65535)^g<<8))^g<<4))^g<<2))^g<<1)}function Zg(g,A,a){let e=0;return a&&(e=(Math.pow(4,a)-1)/3),e+(ai(g)|ai(A)<<1)}function _g(g){return g=153391689&((g=51130563&((g=50393103&((g=4278190335&((g&=1023)^g<<16))^g<<8))^g<<4))^g<<2)}function $g(g,A,a,e){let t=0;return e&&(t=(Math.pow(8,e)-1)/7),t+(_g(g)|_g(A)<<1|_g(a)<<2)}const He=new Map;async function mt(g,A){if(!g.root||!g.root.implicitTiling)return g;if(!g.root.content&&!g.root.contents)throw new Error("implicit tiling requires a Template URI");let a=!0;g.root.implicitTiling.subdivisionScheme&&(a=g.root.implicitTiling.subdivisionScheme.toUpperCase()==="QUADTREE");let e="";g.root.implicitTiling.subtrees&&(g.root.implicitTiling.subtrees.uri?e=g.root.implicitTiling.subtrees.uri:g.root.implicitTiling.subtrees.url&&(e=g.root.implicitTiling.subtrees.url));let t=[];g.root.content?g.root.content.uri?t.push(g.root.content.uri):g.root.content.url&&t.push(g.root.content.url):g.root.contents&&g.root.contents.forEach(E=>{E.uri?t.push(E.uri):E.url&&t.push(E.url)});const i=function(E){const s=E.split("?")[0];return s.substring(0,s.lastIndexOf("/")+1)}(A);let I;a&&(I=e.replace("{level}",0).replace("{x}",0).replace("{y}",0)),a||(I=e.replace("{level}",0).replace("{x}",0).replace("{y}",0).replace("{z}",0));const B={level:0,x:0,y:0},r={level:0,x:0,y:0};a||(B.z=0,r.z=0),He.set(I,await $t(i+I));const o=He.get(I),n=[];o.isContentAvailable(r)&&t.forEach(E=>{let s;a&&(s=E.replace("{level}",B.level).replace("{x}",B.x).replace("{y}",B.y)),a||(s=E.replace("{level}",B.level).replace("{x}",B.x).replace("{y}",B.y).replace("{z}",B.z)),n.push({uri:s})});const C={geometricError:g.root.geometricError,boundingVolume:g.root.boundingVolume,refine:g.root.refine,globalAddress:B,localAddress:r,subtree:o,contents:n,getChildren:async()=>Q(C)};return{root:C};async function Q(E){const s=[];if(E.localAddress.level==g.root.implicitTiling.availableLevels-1)return s;if((E.localAddress.level+1)%g.root.implicitTiling.subtreeLevels==0){const c=eg(E.localAddress),d=eg(E.globalAddress),b=ei(a,g.root.boundingVolume,d);for(let h=0;h<c.length;h++){const l=c[h],w=d[h];E.subtree.isChildSubtreeAvailable(l)&&(a&&e.replace("{level}",w.level).replace("{x}",w.x).replace("{y}",w.y),a||e.replace("{level}",w.level).replace("{x}",w.x).replace("{y}",w.y).replace("{z}",w.z)),He.has(I)||He.set(I,await $t(i+I));const k=He.get(I),M={level:0,x:0,y:0};a||(M.z=0);const N=[];k.isContentAvailable(M)&&t.forEach(G=>{let L;a&&(L=G.replace("{level}",w.level).replace("{x}",w.x).replace("{y}",w.y)),a||(L=G.replace("{level}",w.level).replace("{x}",w.x).replace("{y}",w.y).replace("{z}",w.z)),N.push({uri:L})});const m={geometricError:E.geometricError/2,boundingVolume:b[h],refine:g.root.refine,globalAddress:w,localAddress:M,subtree:k,contents:N,getChildren:async()=>Q(m)};s.push(m)}}else{const c=eg(E.localAddress),d=eg(E.globalAddress),b=ei(a,g.root.boundingVolume,d);for(let h=0;h<c.length;h++){const l=c[h],w=d[h];if(!E.subtree.isTileAvailable(l))continue;const k=[],M=E.subtree.isContentAvailable(l);for(let m=0;m<t.length;m++){if(!M[m])continue;const G=t[m];let L;a&&(L=G.replace("{level}",w.level).replace("{x}",w.x).replace("{y}",w.y)),a||(L=G.replace("{level}",w.level).replace("{x}",w.x).replace("{y}",w.y).replace("{z}",w.z)),k.push({uri:L})}const N={geometricError:E.geometricError/2,boundingVolume:b[h],refine:g.root.refine,globalAddress:w,localAddress:l,subtree:E.subtree,contents:k,getChildren:async()=>Q(N)};s.push(N)}}return s.length>0?s:void 0}}function eg(g){const{level:A,x:a,y:e,z:t}=g,i=A+1;let I=[];return I=t===void 0?[{level:i,x:2*a,y:2*e},{level:i,x:2*a+1,y:2*e},{level:i,x:2*a,y:2*e+1},{level:i,x:2*a+1,y:2*e+1}]:[{level:i,x:2*a,y:2*e,z:2*t},{level:i,x:2*a+1,y:2*e,z:2*t},{level:i,x:2*a,y:2*e+1,z:2*t},{level:i,x:2*a+1,y:2*e+1,z:2*t},{level:i,x:2*a,y:2*e,z:2*t+1},{level:i,x:2*a+1,y:2*e,z:2*t+1},{level:i,x:2*a,y:2*e+1,z:2*t+1},{level:i,x:2*a+1,y:2*e+1,z:2*t+1}],I}function ei(g,A,a){const e=[];for(let t=0;t<a.length;t++)e.push(ln(g,A,a[t]));return e}function ln(g,A,a){if(A.region)return function(e,t,i){const[I,B,r,o,n,C]=t,Q=(r-I)/2**i.level,E=(o-B)/2**i.level,s=e?0:(C-n)/2**i.level,c=I+Q*i.x,d=B+E*i.y,b=c+Q,h=d+E,l=e?n:n+s*i.z,w=e?C:l+s;return{region:[c,d,b,h,l,w]}}(g,A.region,a);if(A.box)return function(e,t,i){const I=t.slice(0,3),B=[t.slice(3,6),t.slice(6,9),t.slice(9,12)],r=1/Math.pow(2,i.level),o=[r,r,e?1:r],n=B.map((E,s)=>E.map(c=>c*o[s])),C=[I[0]-B[0][0]-B[1][0]-B[2][0],I[1]-B[0][1]-B[1][1]-B[2][1],I[2]-B[0][2]-B[1][2]-B[2][2]];return{box:[C[0]+(2*i.x+1)*(n[0][0]+n[1][0]+n[2][0]),C[1]+(2*i.y+1)*(n[0][1]+n[1][1]+n[2][1]),e?I[2]:C[2]+(2*i.z+1)*(n[0][2]+n[1][2]+n[2][2])].concat(...n)}}(g,A.box,a);throw new Error("Unsupported bounding volume type")}(function(){var g,A=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};function a(r){if(!r)throw new Error("Assertion failed")}function e(r){return new Uint8Array(r.buffer,r.byteOffset,r.byteLength)}function t(r,o,n,C,Q,E,s){var c=g.exports.sbrk,d=c(o),b=c(C*Q),h=new Uint8Array(g.exports.memory.buffer);h.set(e(n),b);var l=r(d,o,b,C,Q,E,s),w=new Uint8Array(l);return w.set(h.subarray(d,d+l)),c(d-c(0)),w}function i(r){for(var o=0,n=0;n<r.length;++n)var C=r[n];return o}function I(r,o){if(a(o==2||o==4),o==4)return new Uint32Array(r.buffer,r.byteOffset,r.byteLength/4);var n=new Uint16Array(r.buffer,r.byteOffset,r.byteLength/2);return new Uint32Array(n)}function B(r,o,n,C,Q,E,s){var c=g.exports.sbrk,d=c(n*C),b=c(n*E),h=new Uint8Array(g.exports.memory.buffer);h.set(e(o),b),r(d,n,C,Q,b,s);var l=new Uint8Array(n*C);return l.set(h.subarray(d,d+n*C)),c(d-c(0)),l}WebAssembly.instantiate(function(r){for(var o=new Uint8Array(r.length),n=0;n<r.length;++n){var C=r.charCodeAt(n);o[n]=C>96?C-97:C>64?C-39:C+4}var Q=0;for(n=0;n<r.length;++n)o[Q++]=o[n]<60?A[o[n]]:64*(o[n]-60)+o[++n];return o.buffer.slice(0,Q)}("b9H79Tebbbe9ok9Geueu9Geub9Gbb9Gruuuuuuueu9Gvuuuuueu9Gduueu9Gluuuueu9Gvuuuuub9Gouuuuuub9Gluuuub9GiuuueuiE8AdilveoveovrrwrrrDDoDrbqqbelve9Weiiviebeoweuec;G:Qdkr:PlCo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8F9TW79O9V9Wt9FW9U9J9V9KW9wWVtW949c919M9MWV9mW4W2be8A9TW79O9V9Wt9FW9U9J9V9KW9wWVtW949c919M9MWVbd8F9TW79O9V9Wt9FW9U9J9V9KW9wWVtW949c919M9MWV9c9V919U9KbiE9TW79O9V9Wt9FW9U9J9V9KW9wWVtW949wWV79P9V9UblY9TW79O9V9Wt9FW9U9J9V9KW69U9KW949c919M9MWVbv8E9TW79O9V9Wt9FW9U9J9V9KW69U9KW949c919M9MWV9c9V919U9Kbo8A9TW79O9V9Wt9FW9U9J9V9KW69U9KW949wWV79P9V9UbrE9TW79O9V9Wt9FW9U9J9V9KW69U9KW949tWG91W9U9JWbwa9TW79O9V9Wt9FW9U9J9V9KW69U9KW949tWG91W9U9JW9c9V919U9KbDL9TW79O9V9Wt9FW9U9J9V9KWS9P2tWV9p9JtbqK9TW79O9V9Wt9FW9U9J9V9KWS9P2tWV9r919HtbkL9TW79O9V9Wt9FW9U9J9V9KWS9P2tWVT949WbxY9TW79O9V9Wt9FW9U9J9V9KWS9P2tWVJ9V29VVbmE9TW79O9V9Wt9F9V9Wt9P9T9P96W9wWVtW94J9H9J9OWbza9TW79O9V9Wt9F9V9Wt9P9T9P96W9wWVtW94J9H9J9OW9ttV9P9WbHa9TW79O9V9Wt9F9V9Wt9P9T9P96W9wWVtW94SWt9J9O9sW9T9H9WbOK9TW79O9V9Wt9F79W9Ht9P9H29t9VVt9sW9T9H9WbAl79IV9RbXDwebcekdKYq;i28Adbk:Bhdhud9:8Jjjjjbc;qw9Rgr8KjjjjbcbhwdnaeTmbabcbyd;C:kjjbaoaocb9iEgDc:GeV86bbarc;adfcbcjdz:xjjjb8AdnaiTmbarc;adfadalz:wjjjb8Akarc;abfalfcbcbcjdal9RalcFe0Ez:xjjjb8Aarc;abfarc;adfalz:wjjjb8AarcUf9cb83ibarc8Wf9cb83ibarcyf9cb83ibarcaf9cb83ibarcKf9cb83ibarczf9cb83ibar9cb83iwar9cb83ibcj;abal9Uc;WFbGcjdalca0Ehqdnaicd6mbavcd9imbaDTmbadcefhkaqci2gxal2hmarc;alfclfhParc;qlfceVhsarc;qofclVhzarc;qofcKfhHarc;qofczfhOcbhAincdhCcbhodnavci6mbaH9cb83ibaO9cb83ibar9cb83i;yoar9cb83i;qoadaAfgoybbhXcbhQincbhwcbhLdninaoalfhKaoybbgYaX7aLVhLawcP0meaKhoaYhXawcefgwaQfai6mbkkcbhXarc;qofhwincwh8AcwhEdnaLaX93gocFeGg3cs0mbclhEa3ci0mba3cb9hcethEkdnaocw4cFeGg3cs0mbclh8Aa3ci0mba3cb9hceth8Aka8AaEfh3awydbh5cwh8AcwhEdnaocz4cFeGg8Ecs0mbclhEa8Eci0mba8Ecb9hcethEka3a5fh3dnaocFFFFb0mbclh8AaocFFF8F0mbaocFFFr0ceth8Akawa3aEfa8AfBdbawclfhwaXcefgXcw9hmbkaKhoaYhXaQczfgQai6mbkcbhocehwazhLinawaoaLydbarc;qofaocdtfydb6EhoaLclfhLawcefgwcw9hmbkcihCkcbh3arc;qlfcbcjdz:xjjjb8Aarc;alfcwfcbBdbar9cb83i;alaoclth8Fadhaaqhhakh5inarc;qlfadcba3cufgoaoa30Eal2falz:wjjjb8Aaiahaiah6Ehgdnaqaia39Ra3aqfai6EgYcsfc9WGgoaY9nmbarc;qofaYfcbaoaY9Rz:xjjjb8Akada3al2fh8Jcbh8Kina8Ka8FVcl4hQarc;alfa8Kcdtfh8LaAh8Mcbh8Nina8NaAfhwdndndndndndna8KPldebidkasa8Mc98GgLfhoa5aLfh8Aarc;qlfawc98GgLfRbbhXcwhwinaoRbbawtaXVhXaocefhoawcwfgwca9hmbkaYTmla8Ncith8Ea8JaLfhEcbhKinaERbbhLcwhoa8AhwinawRbbaotaLVhLawcefhwaocwfgoca9hmbkarc;qofaKfaLaX7aQ93a8E486bba8Aalfh8AaEalfhEaLhXaKcefgKaY9hmbxlkkaYTmia8Mc9:Ghoa8NcitcwGhEarc;qlfawceVfRbbcwtarc;qlfawc9:GfRbbVhLarc;qofhwaghXinawa5aofRbbcwtaaaofRbbVg8AaL9RgLcetaLcztcz91cs47cFFiGaE486bbaoalfhoawcefhwa8AhLa3aXcufgX9hmbxikkaYTmda8Jawfhoarc;qlfawfRbbhLarc;qofhwaghXinawaoRbbg8AaL9RgLcetaLcKtcK91cr4786bbawcefhwaoalfhoa8AhLa3aXcufgX9hmbxdkkaYTmeka8LydbhEcbhKarc;qofhoincdhLcbhwinaLaoawfRbbcb9hfhLawcefgwcz9hmbkclhXcbhwinaXaoawfRbbcd0fhXawcefgwcz9hmbkcwh8Acbhwina8AaoawfRbbcP0fh8Aawcefgwcz9hmbkaLaXaLaX6Egwa8Aawa8A6Egwczawcz6EaEfhEaoczfhoaKczfgKaY6mbka8LaEBdbka8Mcefh8Ma8Ncefg8Ncl9hmbka8Kcefg8KaC9hmbkaaamfhaahaxfhha5amfh5a3axfg3ai6mbkcbhocehwaPhLinawaoaLydbarc;alfaocdtfydb6EhoaLclfhLawcefgXhwaCaX9hmbkaraAcd4fa8FcdVaoaocdSE86bbaAclfgAal6mbkkabaefh8Kabcefhoalcd4gecbaDEhkadcefhOarc;abfceVhHcbhmdndninaiam9nmearc;qofcbcjdz:xjjjb8Aa8Kao9Rak6mdadamal2gwfhxcbh8JaOawfhzaocbakz:xjjjbghakfh5aqaiam9Ramaqfai6Egscsfgocl4cifcd4hCaoc9WGg8LThPindndndndndndndndndndnaDTmbara8Jcd4fRbbgLciGPlbedlbkasTmdaxa8Jfhoarc;abfa8JfRbbhLarc;qofhwashXinawaoRbbg8AaL9RgLcetaLcKtcK91cr4786bbawcefhwaoalfhoa8AhLaXcufgXmbxikkasTmia8JcitcwGhEarc;abfa8JceVfRbbcwtarc;abfa8Jc9:GgofRbbVhLaxaofhoarc;qofhwashXinawao8Vbbg8AaL9RgLcetaLcztcz91cs47cFFiGaE486bbawcefhwaoalfhoa8AhLaXcufgXmbxdkkaHa8Jc98GgEfhoazaEfh8Aarc;abfaEfRbbhXcwhwinaoRbbawtaXVhXaocefhoawcwfgwca9hmbkasTmbaLcl4hYa8JcitcKGh3axaEfhEcbhKinaERbbhLcwhoa8AhwinawRbbaotaLVhLawcefhwaocwfgoca9hmbkarc;qofaKfaLaX7aY93a3486bba8Aalfh8AaEalfhEaLhXaKcefgKas9hmbkkaDmbcbhoxlka8LTmbcbhodninarc;qofaofgwcwf8Pibaw8Pib:e9qTmeaoczfgoa8L9pmdxbkkdnavmbcehoxikcbhEaChKaChYinarc;qofaEfgocwf8Pibhyao8Pibh8PcdhLcbhwinaLaoawfRbbcb9hfhLawcefgwcz9hmbkclhXcbhwinaXaoawfRbbcd0fhXawcefgwcz9hmbkcwh8Acbhwina8AaoawfRbbcP0fh8Aawcefgwcz9hmbkaLaXaLaX6Egoa8Aaoa8A6Egoczaocz6EaYfhYaocucbaya8P:e9cb9sEgwaoaw6EaKfhKaEczfgEa8L9pmdxbkkaha8Jcd4fgoaoRbbcda8JcetcoGtV86bbxikdnaKas6mbaYas6mbaha8Jcd4fgoaoRbbcia8JcetcoGtV86bba8Ka59Ras6mra5arc;qofasz:wjjjbasfh5xikaKaY9phokaha8Jcd4fgwawRbbaoa8JcetcoGtV86bbka8Ka59RaC6mla5cbaCz:xjjjbgAaCfhYdndna8LmbaPhoxekdna8KaY9RcK9pmbaPhoxekaocdtc:q1jjbfcj1jjbaDEg5ydxggcetc;:FFFeGh8Fcuh3cuagtcu7cFeGhacbh8Marc;qofhLinarc;qofa8MfhQczhEdndndnagPDbeeeeeeedekcucbaQcwf8PibaQ8Pib:e9cb9sEhExekcbhoa8FhEinaEaaaLaofRbb9nfhEaocefgocz9hmbkkcih8Ecbh8Ainczhwdndndna5a8AcdtfydbgKPDbeeeeeeedekcucbaQcwf8PibaQ8Pib:e9cb9sEhwxekaKcetc;:FFFeGhwcuaKtcu7cFeGhXcbhoinawaXaLaofRbb9nfhwaocefgocz9hmbkkdndnawaE6mbaKa39hmeawaE9hmea5a8EcdtfydbcwSmeka8Ah8EawhEka8Acefg8Aci9hmbkaAa8Mco4fgoaoRbba8Ea8Mci4coGtV86bbdndndna5a8Ecdtfydbg3PDdbbbbbbbebkdncwa39Tg8ETmbcua3tcu7hwdndna3ceSmbcbh8NaLhQinaQhoa8Eh8AcbhXinaoRbbgEawcFeGgKaEaK6EaXa3tVhXaocefhoa8Acufg8AmbkaYaX86bbaQa8EfhQaYcefhYa8Na8Efg8Ncz6mbxdkkcbh8NaLhQinaQhoa8Eh8AcbhXinaoRbbgEawcFeGgKaEaK6EaXcetVhXaocefhoa8Acufg8AmbkaYaX:T9cFe:d9c:c:qj:bw9:9c:q;c1:I1e:d9c:b:c:e1z9:9ca188bbaQa8EfhQaYcefhYa8Na8Efg8Ncz6mbkkcbhoinaYaLaofRbbgX86bbaYaXawcFeG9pfhYaocefgocz9hmbxikkdna3ceSmbinaYcb86bbaYcefhYxbkkinaYcb86bbaYcefhYxbkkaYaQ8Pbb83bbaYcwfaQcwf8Pbb83bbaYczfhYka8Mczfg8Ma8L9pgomeaLczfhLa8KaY9RcK9pmbkkaoTmlaYh5aYTmlka8Jcefg8Jal9hmbkarc;abfaxascufal2falz:wjjjb8Aasamfhma5hoa5mbkcbhwxdkdna8Kao9RakalfgwcKcaaDEgLawaL0EgX9pmbcbhwxdkdnawaL9pmbaocbaXaw9Rgwz:xjjjbawfhokaoarc;adfalz:wjjjbalfhodnaDTmbaoaraez:wjjjbaefhokaoab9Rhwxekcbhwkarc;qwf8Kjjjjbawk5babaeadaialcdcbyd;C:kjjbz:bjjjbk9reduaecd4gdaefgicaaica0Eabcj;abae9Uc;WFbGcjdaeca0Egifcufai9Uae2aiadfaicl4cifcd4f2fcefkmbcbabBd;C:kjjbk:Ese5u8Jjjjjbc;ae9Rgl8Kjjjjbcbhvdnaici9UgocHfae0mbabcbyd;m:kjjbgrc;GeV86bbalc;abfcFecjez:xjjjb8AalcUfgw9cu83ibalc8WfgD9cu83ibalcyfgq9cu83ibalcafgk9cu83ibalcKfgx9cu83ibalczfgm9cu83ibal9cu83iwal9cu83ibabaefc9WfhPabcefgsaofhednaiTmbcmcsarcb9kgzEhHcbhOcbhAcbhCcbhXcbhQindnaeaP9nmbcbhvxikaQcufhvadaCcdtfgLydbhKaLcwfydbhYaLclfydbh8AcbhEdndndninalc;abfavcsGcitfgoydlh3dndndnaoydbgoaK9hmba3a8ASmekdnaoa8A9hmba3aY9hmbaEcefhExekaoaY9hmea3aK9hmeaEcdfhEkaEc870mdaXcufhvaLaEciGcx2goc;i1jjbfydbcdtfydbh3aLaoc;e1jjbfydbcdtfydbh8AaLaoc;a1jjbfydbcdtfydbhKcbhodnindnalavcsGcdtfydba39hmbaohYxdkcuhYavcufhvaocefgocz9hmbkkaOa3aOSgvaYce9iaYaH9oVgoGfhOdndndncbcsavEaYaoEgvcs9hmbarce9imba3a3aAa3cefaASgvEgAcefSmecmcsavEhvkasavaEcdtc;WeGV86bbavcs9hmea3aA9Rgvcetavc8F917hvinaeavcFb0crtavcFbGV86bbaecefheavcje6hoavcr4hvaoTmbka3hAxvkcPhvasaEcdtcPV86bba3hAkavTmiavaH9omicdhocehEaQhYxlkavcufhvaEclfgEc;ab9hmbkkdnaLceaYaOSceta8AaOSEcx2gvc;a1jjbfydbcdtfydbgKTaLavc;e1jjbfydbcdtfydbg8AceSGaLavc;i1jjbfydbcdtfydbg3cdSGaOcb9hGazGg5ce9hmbaw9cu83ibaD9cu83ibaq9cu83ibak9cu83ibax9cu83ibam9cu83ibal9cu83iwal9cu83ibcbhOkcbhEaXcufgvhodnindnalaocsGcdtfydba8A9hmbaEhYxdkcuhYaocufhoaEcefgEcz9hmbkkcbhodnindnalavcsGcdtfydba39hmbaohExdkcuhEavcufhvaocefgocz9hmbkkaOaKaOSg8EfhLdndnaYcm0mbaYcefhYxekcbcsa8AaLSgvEhYaLavfhLkdndnaEcm0mbaEcefhExekcbcsa3aLSgvEhEaLavfhLkc9:cua8EEh8FcbhvaEaYcltVgacFeGhodndndninavc:W1jjbfRbbaoSmeavcefgvcz9hmbxdkka5aKaO9havcm0VVmbasavc;WeV86bbxekasa8F86bbaeaa86bbaecefhekdna8EmbaKaA9Rgvcetavc8F917hvinaeavcFb0gocrtavcFbGV86bbavcr4hvaecefheaombkaKhAkdnaYcs9hmba8AaA9Rgvcetavc8F917hvinaeavcFb0gocrtavcFbGV86bbavcr4hvaecefheaombka8AhAkdnaEcs9hmba3aA9Rgvcetavc8F917hvinaeavcFb0gocrtavcFbGV86bbavcr4hvaecefheaombka3hAkalaXcdtfaKBdbaXcefcsGhvdndnaYPzbeeeeeeeeeeeeeebekalavcdtfa8ABdbaXcdfcsGhvkdndnaEPzbeeeeeeeeeeeeeebekalavcdtfa3BdbavcefcsGhvkcihoalc;abfaQcitfgEaKBdlaEa8ABdbaQcefcsGhYcdhEavhXaLhOxekcdhoalaXcdtfa3BdbcehEaXcefcsGhXaQhYkalc;abfaYcitfgva8ABdlava3Bdbalc;abfaQaEfcsGcitfgva3BdlavaKBdbascefhsaQaofcsGhQaCcifgCai6mbkkdnaeaP9nmbcbhvxekcbhvinaeavfavc:W1jjbfRbb86bbavcefgvcz9hmbkaeab9Ravfhvkalc;aef8KjjjjbavkZeeucbhddninadcefgdc8F0meceadtae6mbkkadcrfcFeGcr9Uci2cdfabci9U2cHfkmbcbabBd;m:kjjbk:Adewu8Jjjjjbcz9Rhlcbhvdnaicvfae0mbcbhvabcbRb;m:kjjbc;qeV86bbal9cb83iwabcefhoabaefc98fhrdnaiTmbcbhwcbhDindnaoar6mbcbskadaDcdtfydbgqalcwfawaqav9Rgvavc8F91gv7av9Rc507gwcdtfgkydb9Rgvc8E91c9:Gavcdt7awVhvinaoavcFb0gecrtavcFbGV86bbavcr4hvaocefhoaembkakaqBdbaqhvaDcefgDai9hmbkkdnaoar9nmbcbskaocbBbbaoab9RclfhvkavkBeeucbhddninadcefgdc8F0meceadtae6mbkkadcwfcFeGcr9Uab2cvfk:bvli99dui99ludnaeTmbcuadcetcuftcu7:Zhvdndncuaicuftcu7:ZgoJbbbZMgr:lJbbb9p9DTmbar:Ohwxekcjjjj94hwkcbhicbhDinalclfIdbgrJbbbbJbbjZalIdbgq:lar:lMalcwfIdbgk:lMgr:varJbbbb9BEgrNhxaqarNhrdndnakJbbbb9GTmbaxhqxekJbbjZar:l:tgqaq:maxJbbbb9GEhqJbbjZax:l:tgxax:marJbbbb9GEhrkdndnalcxfIdbgxJbbj:;axJbbj:;9GEgkJbbjZakJbbjZ9FEavNJbbbZJbbb:;axJbbbb9GEMgx:lJbbb9p9DTmbax:Ohmxekcjjjj94hmkdndnaqJbbj:;aqJbbj:;9GEgxJbbjZaxJbbjZ9FEaoNJbbbZJbbb:;aqJbbbb9GEMgq:lJbbb9p9DTmbaq:OhPxekcjjjj94hPkdndnarJbbj:;arJbbj:;9GEgqJbbjZaqJbbjZ9FEaoNJbbbZJbbb:;arJbbbb9GEMgr:lJbbb9p9DTmbar:Ohsxekcjjjj94hskdndnadcl9hmbabaifgzas86bbazcifam86bbazcdfaw86bbazcefaP86bbxekabaDfgzas87ebazcofam87ebazclfaw87ebazcdfaP87ebkalczfhlaiclfhiaDcwfhDaecufgembkkk;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;3viDue99eu8Jjjjjbcjd9Rgo8Kjjjjbadcd4hrdndndndnavcd9hmbadcl6meaohwarhDinawc:CuBdbawclfhwaDcufgDmbkaeTmiadcl6mdarcdthqalhkcbhxinaohwakhDarhminawawydbgPcbaDIdbgs:8cL4cFeGc:cufasJbbbb9BEgzaPaz9kEBdbaDclfhDawclfhwamcufgmmbkakaqfhkaxcefgxaeSmixbkkaeTmdxekaeTmekarcdthkavce9hhqadcl6hdcbhxindndndnaqmbadmdc:CuhDalhwarhminaDcbawIdbgs:8cL4cFeGc:cufasJbbbb9BEgPaDaP9kEhDawclfhwamcufgmmbxdkkc:CuhDdndnavPleddbdkadmdaohwalhmarhPinawcbamIdbgs:8cL4cFeGgzc;:bazc;:b0Ec:cufasJbbbb9BEBdbamclfhmawclfhwaPcufgPmbxdkkadmecbhwarhminaoawfcbalawfIdbgs:8cL4cFeGgPc8AaPc8A0Ec:cufasJbbbb9BEBdbawclfhwamcufgmmbkkadmbcbhwarhPinaDhmdnavceSmbaoawfydbhmkdndnalawfIdbgscjjj;8iamai9RcefgmcLt9R::NJbbbZJbbb:;asJbbbb9GEMgs:lJbbb9p9DTmbas:Ohzxekcjjjj94hzkabawfazcFFFrGamcKtVBdbawclfhwaPcufgPmbkkabakfhbalakfhlaxcefgxae9hmbkkaocjdf8Kjjjjbk:Ylvdud99due99iudnaeTmbceaicufgvthocuaitcu7:Zhrcuavtcu7:Zhwcbhvadcl9hhDcbhqindndnalcwfIdbgkJbbbbakJbbbb9GEgkJbbjZakJbbjZ9FEarNJbbbZMgk:lJbbb9p9DTmbak:Ohixekcjjjj94hikdndnalIdbgkJbbbbakJbbbb9GEgkJbbjZakJbbjZ9FEarNJbbbZMgk:lJbbb9p9DTmbak:Ohdxekcjjjj94hdkadai9Rcd9TgxaifhidndnalclfIdbgkJbbbbakJbbbb9GEgkJbbjZakJbbjZ9FEarNJbbbZMgk:lJbbb9p9DTmbak:Ohdxekcjjjj94hdkadai9Rcd9ThddndnalcxfIdbgkJbbbbakJbbbb9GEgkJbbjZakJbbjZ9FEawNJbbbZMgk:lJbbb9p9DTmbak:Ohmxekcjjjj94hmkadaifhiaoamVhmdndnaDmbabavfgPai86bbaPcifam86bbaPcdfad86bbaPcefax86bbxekabaqfgPai87ebaPcofam87ebaPclfad87ebaPcdfax87ebkalczfhlavclfhvaqcwfhqaecufgembkkk;YqdXui998Jjjjjbc:qd9Rgv8Kjjjjbavc:Sefcbc;Kbz:xjjjb8AcbhodnadTmbcbhoaiTmbdndnabaeSmbaehrxekavcuadcdtgwadcFFFFi0Ecbyd;q:kjjbHjjjjbbgrBd:SeavceBd:mdaraeawz:wjjjb8Akavc:GefcwfcbBdbav9cb83i:Geavc:Gefaradaiavc:Sefz:pjjjbavyd:GehDadci9Ugqcbyd;q:kjjbHjjjjbbheavc:Sefavyd:mdgkcdtfaeBdbavakcefgwBd:mdaecbaqz:xjjjbhxavc:SefawcdtfcuaicdtaicFFFFi0Ecbyd;q:kjjbHjjjjbbgmBdbavakcdfgPBd:mdalc;ebfhsaDheamhwinawalIdbasaeydbgzcwazcw6EcdtfIdbMUdbaeclfheawclfhwaicufgimbkavc:SefaPcdtfcuaqcdtadcFFFF970Ecbyd;q:kjjbHjjjjbbgPBdbdnadci6mbarheaPhwaqhiinawamaeydbcdtfIdbamaeclfydbcdtfIdbMamaecwfydbcdtfIdbMUdbaecxfheawclfhwaicufgimbkkakcifhoalc;ebfhHavc;qbfhOavheavyd:KehAavyd:OehCcbhzcbhwcbhXcehQinaehLcihkarawci2gKcdtfgeydbhsaeclfydbhdabaXcx2fgicwfaecwfydbgYBdbaiclfadBdbaiasBdbaxawfce86bbaOaYBdwaOadBdlaOasBdbaPawcdtfcbBdbdnazTmbcihkaLhiinaOakcdtfaiydbgeBdbakaeaY9haeas9haead9hGGfhkaiclfhiazcufgzmbkkaXcefhXcbhzinaCaAarazaKfcdtfydbcdtgifydbcdtfgYheaDaifgdydbgshidnasTmbdninaeydbawSmeaeclfheaicufgiTmdxbkkaeaYascdtfc98fydbBdbadadydbcufBdbkazcefgzci9hmbkdndnakTmbcuhwJbbbbh8Acbhdavyd:KehYavyd:OehKindndnaDaOadcdtfydbcdtgzfydbgembadcefhdxekadcs0hiamazfgsIdbhEasalcbadcefgdaiEcdtfIdbaHaecwaecw6EcdtfIdbMg3Udba3aE:th3aecdthiaKaYazfydbcdtfheinaPaeydbgzcdtfgsa3asIdbMgEUdbaEa8Aa8AaE9DgsEh8AazawasEhwaeclfheaic98fgimbkkadak9hmbkawcu9hmekaQaq9pmdindnaxaQfRbbmbaQhwxdkaqaQcefgQ9hmbxikkakczakcz6EhzaOheaLhOawcu9hmbkkaocdtavc:Seffc98fhedninaoTmeaeydbcbyd;u:kjjbH:bjjjbbaec98fheaocufhoxbkkavc:qdf8Kjjjjbk;IlevucuaicdtgvaicFFFFi0Egocbyd;q:kjjbHjjjjbbhralalyd9GgwcdtfarBdbalawcefBd9GabarBdbaocbyd;q:kjjbHjjjjbbhralalyd9GgocdtfarBdbalaocefBd9GabarBdlcuadcdtadcFFFFi0Ecbyd;q:kjjbHjjjjbbhralalyd9GgocdtfarBdbalaocefBd9GabarBdwabydbcbavz:xjjjb8Aadci9UhDdnadTmbabydbhoaehladhrinaoalydbcdtfgvavydbcefBdbalclfhlarcufgrmbkkdnaiTmbabydbhlabydlhrcbhvaihoinaravBdbarclfhralydbavfhvalclfhlaocufgombkkdnadci6mbabydlhrabydwhvcbhlinaecwfydbhoaeclfydbhdaraeydbcdtfgwawydbgwcefBdbavawcdtfalBdbaradcdtfgdadydbgdcefBdbavadcdtfalBdbaraocdtfgoaoydbgocefBdbavaocdtfalBdbaecxfheaDalcefgl9hmbkkdnaiTmbabydlheabydbhlinaeaeydbalydb9RBdbalclfhlaeclfheaicufgimbkkkQbabaeadaic;K1jjbz:ojjjbkQbabaeadaic;m:jjjbz:ojjjbk9DeeuabcFeaicdtz:xjjjbhlcbhbdnadTmbindnalaeydbcdtfgiydbcu9hmbaiabBdbabcefhbkaeclfheadcufgdmbkkabk:Vvioud9:du8Jjjjjbc;Wa9Rgl8Kjjjjbcbhvalcxfcbc;Kbz:xjjjb8AalcuadcitgoadcFFFFe0Ecbyd;q:kjjbHjjjjbbgrBdxalceBd2araeadaicezNjjjbalcuaoadcjjjjoGEcbyd;q:kjjbHjjjjbbgwBdzadcdthednadTmbabhiinaiavBdbaiclfhiadavcefgv9hmbkkawaefhDalabBdwalawBdl9cbhqindnadTmbaq9cq9:hkarhvaDhiadheinaiav8Pibak1:NcFrG87ebavcwfhvaicdfhiaecufgembkkalclfaq:NceGcdtfydbhxalclfaq9ce98gq:NceGcdtfydbhmalc;Wbfcbcjaz:xjjjb8AaDhvadhidnadTmbinalc;Wbfav8VebcdtfgeaeydbcefBdbavcdfhvaicufgimbkkcbhvcbhiinalc;WbfavfgeydbhoaeaiBdbaoaifhiavclfgvcja9hmbkadhvdndnadTmbinalc;WbfaDamydbgicetf8VebcdtfgeaeydbgecefBdbaxaecdtfaiBdbamclfhmavcufgvmbkaq9cv9smdcbhvinabawydbcdtfavBdbawclfhwadavcefgv9hmbxdkkaq9cv9smekkclhvdninavc98Smealcxfavfydbcbyd;u:kjjbH:bjjjbbavc98fhvxbkkalc;Waf8Kjjjjbk:Jwliuo99iud9:cbhv8Jjjjjbca9Rgoczfcwfcbyd:8:kjjbBdbaocb8Pd:0:kjjb83izaocwfcbyd;i:kjjbBdbaocb8Pd;a:kjjb83ibaicd4hrdndnadmbJFFuFhwJFFuuhDJFFuuhqJFFuFhkJFFuuhxJFFuFhmxekarcdthPaehsincbhiinaoczfaifgzasaifIdbgwazIdbgDaDaw9EEUdbaoaifgzawazIdbgDaDaw9DEUdbaiclfgicx9hmbkasaPfhsavcefgvad9hmbkaoIdKhDaoIdwhwaoIdChqaoIdlhkaoIdzhxaoIdbhmkdnadTmbJbbbbJbFu9hJbbbbamax: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:kjjbgeabcifc98GfgbBd;y:kjjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik;teeeudndnaeabVciGTmbabhixekdndnadcz9pmbabhixekabhiinaiaeydbBdbaiaeydlBdlaiaeydwBdwaiaeydxBdxaeczfheaiczfhiadc9Wfgdcs0mbkkadcl6mbinaiaeydbBdbaeclfheaiclfhiadc98fgdci0mbkkdnadTmbinaiaeRbb86bbaicefhiaecefheadcufgdmbkkabk:3eedudndnabciGTmbabhixekaecFeGc:b:c:ew2hldndnadcz9pmbabhixekabhiinaialBdxaialBdwaialBdlaialBdbaiczfhiadc9Wfgdcs0mbkkadcl6mbinaialBdbaiclfhiadc98fgdci0mbkkdnadTmbinaiae86bbaicefhiadcufgdmbkkabk9teiucbcbyd;y:kjjbgeabcrfc94GfgbBd;y:kjjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik9:eiuZbhedndncbyd;y:kjjbgdaecztgi9nmbcuheadai9RcFFifcz4nbcuSmekadhekcbabae9Rcifc98Gcbyd;y:kjjbfgdBd;y:kjjbdnadZbcztge9nmbadae9RcFFifcz4nb8Akkk;Qddbcjwk;mdbbbbdbbblbbbwbbbbbbbebbbdbbblbbbwbbbbbbbbbbbbbbbb4:h9w9N94:P:gW:j9O:ye9Pbbbbbbebbbdbbbebbbdbbbbbbbdbbbbbbbebbbbbbb: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;mqkzebbbebbbdbbb9G:vbb"),{}).then(function(r){(g=r.instance).exports.__wasm_call_ctors(),g.exports.meshopt_encodeVertexVersion(0),g.exports.meshopt_encodeIndexVersion(1)})})();var bI=function(){var g=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]),A=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 a,e=WebAssembly.validate(g)?i("b9H79TebbbeKl9Gbb9Gvuuuuueu9Giuuub9Geueuixkbbebeeddddilve9Weeeviebeoweuec:q:6dkr;Neqo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8A9TW79O9V9Wt9F9KW9J9V9KW9wWVtW949c919M9MWVbdY9TW79O9V9Wt9F9KW9J9V9KW69U9KW949c919M9MWVblE9TW79O9V9Wt9F9KW9J9V9KW69U9KW949tWG91W9U9JWbvL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9p9JtboK9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9r919HtbrL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVT949WbwY9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVJ9V29VVbDl79IV9Rbqq;Ctklbzik9:evu8Jjjjjbcz9Rhbcbheincbhdcbhiinabcwfadfaicjuaead4ceGglE86bbaialfhiadcefgdcw9hmbkaec:q:yjjbfai86bbaecitc:q1jjbfab8Piw83ibaecefgecjd9hmbkk:183lYud97dur978Jjjjjbcj;kb9Rgv8Kjjjjbc9:hodnalTmbcuhoaiRbbgrc;WeGc:Ge9hmbarcsGgwce0mbc9:hoalcufadcd4cbawEgDadfgrcKcaawEgqaraq0Egk6mbaicefhxavaialfgmar9Rgoad;8qbbcj;abad9Uc;WFbGcjdadca0EhPdndndnadTmbaoadfhscbhzinaeaz9nmdamax9RaD6miabazad2fhHaxaDfhOaPaeaz9RazaPfae6EgAcsfgocl4cifcd4hCavcj;cbfaoc9WGgXcetfhQavcj;cbfaXci2fhLavcj;cbfaXfhKcbhYaoc;ab6h8AincbhodnawTmbaxaYcd4fRbbhokaocFeGhEcbh3avcj;cbfh5indndndndnaEa3cet4ciGgoc9:fPdebdkamaO9RaX6mwavcj;cbfa3aX2faOaX;8qbbaOaAfhOxdkavcj;cbfa3aX2fcbaX;8kbxekamaO9RaC6moaoclVcbawEhraOaCfhocbhidna8Ambamao9Rc;Gb6mbcbhlina5alfhidndndndndndnaOalco4fRbbgqciGarfPDbedibledibkaipxbbbbbbbbbbbbbbbbpklbxlkaiaopbblaopbbbg8Eclp:mea8EpmbzeHdOiAlCvXoQrLg8Ecdp:mea8EpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9og8Fpxiiiiiiiiiiiiiiiip8Jg8Ep5b9cjF;8;4;W;G;ab9:9cU1:Ngacitc:q1jjbfpbibaac:q:yjjbfRbbgapsa8Ep5e9cjF;8;4;W;G;ab9:9cU1:Nghcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPa8Fa8Ep9spklbaaaoclffahc:q:yjjbfRbbfhoxikaiaopbbwaopbbbg8Eclp:mea8EpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9og8Fpxssssssssssssssssp8Jg8Ep5b9cjF;8;4;W;G;ab9:9cU1:Ngacitc:q1jjbfpbibaac:q:yjjbfRbbgapsa8Ep5e9cjF;8;4;W;G;ab9:9cU1:Nghcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPa8Fa8Ep9spklbaaaocwffahc:q:yjjbfRbbfhoxdkaiaopbbbpklbaoczfhoxekaiaopbbdaoRbbgacitc:q1jjbfpbibaac:q:yjjbfRbbgapsaoRbeghcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPpklbaaaocdffahc:q:yjjbfRbbfhokdndndndndndnaqcd4ciGarfPDbedibledibkaiczfpxbbbbbbbbbbbbbbbbpklbxlkaiczfaopbblaopbbbg8Eclp:mea8EpmbzeHdOiAlCvXoQrLg8Ecdp:mea8EpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9og8Fpxiiiiiiiiiiiiiiiip8Jg8Ep5b9cjF;8;4;W;G;ab9:9cU1:Ngacitc:q1jjbfpbibaac:q:yjjbfRbbgapsa8Ep5e9cjF;8;4;W;G;ab9:9cU1:Nghcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPa8Fa8Ep9spklbaaaoclffahc:q:yjjbfRbbfhoxikaiczfaopbbwaopbbbg8Eclp:mea8EpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9og8Fpxssssssssssssssssp8Jg8Ep5b9cjF;8;4;W;G;ab9:9cU1:Ngacitc:q1jjbfpbibaac:q:yjjbfRbbgapsa8Ep5e9cjF;8;4;W;G;ab9:9cU1:Nghcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPa8Fa8Ep9spklbaaaocwffahc:q:yjjbfRbbfhoxdkaiczfaopbbbpklbaoczfhoxekaiczfaopbbdaoRbbgacitc:q1jjbfpbibaac:q:yjjbfRbbgapsaoRbeghcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPpklbaaaocdffahc:q:yjjbfRbbfhokdndndndndndnaqcl4ciGarfPDbedibledibkaicafpxbbbbbbbbbbbbbbbbpklbxlkaicafaopbblaopbbbg8Eclp:mea8EpmbzeHdOiAlCvXoQrLg8Ecdp:mea8EpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9og8Fpxiiiiiiiiiiiiiiiip8Jg8Ep5b9cjF;8;4;W;G;ab9:9cU1:Ngacitc:q1jjbfpbibaac:q:yjjbfRbbgapsa8Ep5e9cjF;8;4;W;G;ab9:9cU1:Nghcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPa8Fa8Ep9spklbaaaoclffahc:q:yjjbfRbbfhoxikaicafaopbbwaopbbbg8Eclp:mea8EpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9og8Fpxssssssssssssssssp8Jg8Ep5b9cjF;8;4;W;G;ab9:9cU1:Ngacitc:q1jjbfpbibaac:q:yjjbfRbbgapsa8Ep5e9cjF;8;4;W;G;ab9:9cU1:Nghcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPa8Fa8Ep9spklbaaaocwffahc:q:yjjbfRbbfhoxdkaicafaopbbbpklbaoczfhoxekaicafaopbbdaoRbbgacitc:q1jjbfpbibaac:q:yjjbfRbbgapsaoRbeghcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPpklbaaaocdffahc:q:yjjbfRbbfhokdndndndndndnaqco4arfPDbedibledibkaic8Wfpxbbbbbbbbbbbbbbbbpklbxlkaic8Wfaopbblaopbbbg8Eclp:mea8EpmbzeHdOiAlCvXoQrLg8Ecdp:mea8EpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9og8Fpxiiiiiiiiiiiiiiiip8Jg8Ep5b9cjF;8;4;W;G;ab9:9cU1:Ngicitc:q1jjbfpbibaic:q:yjjbfRbbgipsa8Ep5e9cjF;8;4;W;G;ab9:9cU1:Ngqcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPa8Fa8Ep9spklbaiaoclffaqc:q:yjjbfRbbfhoxikaic8Wfaopbbwaopbbbg8Eclp:mea8EpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9og8Fpxssssssssssssssssp8Jg8Ep5b9cjF;8;4;W;G;ab9:9cU1:Ngicitc:q1jjbfpbibaic:q:yjjbfRbbgipsa8Ep5e9cjF;8;4;W;G;ab9:9cU1:Ngqcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPa8Fa8Ep9spklbaiaocwffaqc:q:yjjbfRbbfhoxdkaic8Wfaopbbbpklbaoczfhoxekaic8WfaopbbdaoRbbgicitc:q1jjbfpbibaic:q:yjjbfRbbgipsaoRbegqcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPpklbaiaocdffaqc:q:yjjbfRbbfhokalc;abfhialcjefaX0meaihlamao9Rc;Fb0mbkkdnaiaX9pmbaici4hlinamao9RcK6mwa5aifhqdndndndndndnaOaico4fRbbalcoG4ciGarfPDbedibledibkaqpxbbbbbbbbbbbbbbbbpkbbxlkaqaopbblaopbbbg8Eclp:mea8EpmbzeHdOiAlCvXoQrLg8Ecdp:mea8EpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9og8Fpxiiiiiiiiiiiiiiiip8Jg8Ep5b9cjF;8;4;W;G;ab9:9cU1:Ngacitc:q1jjbfpbibaac:q:yjjbfRbbgapsa8Ep5e9cjF;8;4;W;G;ab9:9cU1:Nghcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPa8Fa8Ep9spkbbaaaoclffahc:q:yjjbfRbbfhoxikaqaopbbwaopbbbg8Eclp:mea8EpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9og8Fpxssssssssssssssssp8Jg8Ep5b9cjF;8;4;W;G;ab9:9cU1:Ngacitc:q1jjbfpbibaac:q:yjjbfRbbgapsa8Ep5e9cjF;8;4;W;G;ab9:9cU1:Nghcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPa8Fa8Ep9spkbbaaaocwffahc:q:yjjbfRbbfhoxdkaqaopbbbpkbbaoczfhoxekaqaopbbdaoRbbgacitc:q1jjbfpbibaac:q:yjjbfRbbgapsaoRbeghcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPpkbbaaaocdffahc:q:yjjbfRbbfhokalcdfhlaiczfgiaX6mbkkaohOaoTmoka5aXfh5a3cefg3cl9hmbkdndndndnawTmbasaYcd4fRbbglciGPlbedwbkaXTmdavcjdfaYfhlavaYfpbdbhgcbhoinalavcj;cbfaofpblbg8JaKaofpblbg8KpmbzeHdOiAlCvXoQrLg8LaQaofpblbg8MaLaofpblbg8NpmbzeHdOiAlCvXoQrLgypmbezHdiOAlvCXorQLg8Ecep9Ta8Epxeeeeeeeeeeeeeeeeg8Fp9op9Hp9rg8Eagp9Uggp9Abbbaladfglaga8Ea8Epmlvorlvorlvorlvorp9Uggp9Abbbaladfglaga8Ea8EpmwDqkwDqkwDqkwDqkp9Uggp9Abbbaladfglaga8Ea8EpmxmPsxmPsxmPsxmPsp9Uggp9Abbbaladfglaga8LaypmwDKYqk8AExm35Ps8E8Fg8Ecep9Ta8Ea8Fp9op9Hp9rg8Ep9Uggp9Abbbaladfglaga8Ea8Epmlvorlvorlvorlvorp9Uggp9Abbbaladfglaga8Ea8EpmwDqkwDqkwDqkwDqkp9Uggp9Abbbaladfglaga8Ea8EpmxmPsxmPsxmPsxmPsp9Uggp9Abbbaladfglaga8Ja8KpmwKDYq8AkEx3m5P8Es8Fg8Ja8Ma8NpmwKDYq8AkEx3m5P8Es8Fg8KpmbezHdiOAlvCXorQLg8Ecep9Ta8Ea8Fp9op9Hp9rg8Ep9Uggp9Abbbaladfglaga8Ea8Epmlvorlvorlvorlvorp9Uggp9Abbbaladfglaga8Ea8EpmwDqkwDqkwDqkwDqkp9Uggp9Abbbaladfglaga8Ea8EpmxmPsxmPsxmPsxmPsp9Uggp9Abbbaladfglaga8Ja8KpmwDKYqk8AExm35Ps8E8Fg8Ecep9Ta8Ea8Fp9op9Hp9rg8Ep9Ug8Fp9Abbbaladfgla8Fa8Ea8Epmlvorlvorlvorlvorp9Ug8Fp9Abbbaladfgla8Fa8Ea8EpmwDqkwDqkwDqkwDqkp9Ug8Fp9Abbbaladfgla8Fa8Ea8EpmxmPsxmPsxmPsxmPsp9Uggp9AbbbaladfhlaoczfgoaX6mbxikkaXTmeavcjdfaYfhlavaYfpbdbhgcbhoinalavcj;cbfaofpblbg8JaKaofpblbg8KpmbzeHdOiAlCvXoQrLg8LaQaofpblbg8MaLaofpblbg8NpmbzeHdOiAlCvXoQrLgypmbezHdiOAlvCXorQLg8Ecep:nea8Epxebebebebebebebebg8Fp9op:bep9rg8Eagp:oeggp9Abbbaladfglaga8Ea8Epmlvorlvorlvorlvorp:oeggp9Abbbaladfglaga8Ea8EpmwDqkwDqkwDqkwDqkp:oeggp9Abbbaladfglaga8Ea8EpmxmPsxmPsxmPsxmPsp:oeggp9Abbbaladfglaga8LaypmwDKYqk8AExm35Ps8E8Fg8Ecep:nea8Ea8Fp9op:bep9rg8Ep:oeggp9Abbbaladfglaga8Ea8Epmlvorlvorlvorlvorp:oeggp9Abbbaladfglaga8Ea8EpmwDqkwDqkwDqkwDqkp:oeggp9Abbbaladfglaga8Ea8EpmxmPsxmPsxmPsxmPsp:oeggp9Abbbaladfglaga8Ja8KpmwKDYq8AkEx3m5P8Es8Fg8Ja8Ma8NpmwKDYq8AkEx3m5P8Es8Fg8KpmbezHdiOAlvCXorQLg8Ecep:nea8Ea8Fp9op:bep9rg8Ep:oeggp9Abbbaladfglaga8Ea8Epmlvorlvorlvorlvorp:oeggp9Abbbaladfglaga8Ea8EpmwDqkwDqkwDqkwDqkp:oeggp9Abbbaladfglaga8Ea8EpmxmPsxmPsxmPsxmPsp:oeggp9Abbbaladfglaga8Ja8KpmwDKYqk8AExm35Ps8E8Fg8Ecep:nea8Ea8Fp9op:bep9rg8Ep:oeg8Fp9Abbbaladfgla8Fa8Ea8Epmlvorlvorlvorlvorp:oeg8Fp9Abbbaladfgla8Fa8Ea8EpmwDqkwDqkwDqkwDqkp:oeg8Fp9Abbbaladfgla8Fa8Ea8EpmxmPsxmPsxmPsxmPsp:oeggp9AbbbaladfhlaoczfgoaX6mbxdkkaXTmbcbhocbalcl4gl9Rc8FGhiavcjdfaYfhravaYfpbdbh8Finaravcj;cbfaofpblbggaKaofpblbg8JpmbzeHdOiAlCvXoQrLg8KaQaofpblbg8LaLaofpblbg8MpmbzeHdOiAlCvXoQrLg8NpmbezHdiOAlvCXorQLg8Eaip:Rea8Ealp:Sep9qg8Ea8Fp9rg8Fp9Abbbaradfgra8Fa8Ea8Epmlvorlvorlvorlvorp9rg8Fp9Abbbaradfgra8Fa8Ea8EpmwDqkwDqkwDqkwDqkp9rg8Fp9Abbbaradfgra8Fa8Ea8EpmxmPsxmPsxmPsxmPsp9rg8Fp9Abbbaradfgra8Fa8Ka8NpmwDKYqk8AExm35Ps8E8Fg8Eaip:Rea8Ealp:Sep9qg8Ep9rg8Fp9Abbbaradfgra8Fa8Ea8Epmlvorlvorlvorlvorp9rg8Fp9Abbbaradfgra8Fa8Ea8EpmwDqkwDqkwDqkwDqkp9rg8Fp9Abbbaradfgra8Fa8Ea8EpmxmPsxmPsxmPsxmPsp9rg8Fp9Abbbaradfgra8Faga8JpmwKDYq8AkEx3m5P8Es8Fgga8La8MpmwKDYq8AkEx3m5P8Es8Fg8JpmbezHdiOAlvCXorQLg8Eaip:Rea8Ealp:Sep9qg8Ep9rg8Fp9Abbbaradfgra8Fa8Ea8Epmlvorlvorlvorlvorp9rg8Fp9Abbbaradfgra8Fa8Ea8EpmwDqkwDqkwDqkwDqkp9rg8Fp9Abbbaradfgra8Fa8Ea8EpmxmPsxmPsxmPsxmPsp9rg8Fp9Abbbaradfgra8Faga8JpmwDKYqk8AExm35Ps8E8Fg8Eaip:Rea8Ealp:Sep9qg8Ep9rg8Fp9Abbbaradfgra8Fa8Ea8Epmlvorlvorlvorlvorp9rg8Fp9Abbbaradfgra8Fa8Ea8EpmwDqkwDqkwDqkwDqkp9rg8Fp9Abbbaradfgra8Fa8Ea8EpmxmPsxmPsxmPsxmPsp9rg8Fp9AbbbaradfhraoczfgoaX6mbkkaYclfgYad6mbkaHavcjdfaAad2;8qbbavavcjdfaAcufad2fad;8qbbaAazfhzc9:hoaOhxaOmbxlkkaeTmbaDalfhrcbhocuhlinaralaD9RglfaD6mdaPaeao9RaoaPfae6Eaofgoae6mbkaial9Rhxkcbc99amax9RakSEhoxekc9:hokavcj;kbf8Kjjjjbaokwbz:bjjjbk:TseHu8Jjjjjbc;ae9Rgv8Kjjjjbc9:hodnaeci9UgrcHfal0mbcuhoaiRbbgwc;WeGc;Ge9hmbawcsGgDce0mbavc;abfcFecje;8kbavcUf9cu83ibavc8Wf9cu83ibavcyf9cu83ibavcaf9cu83ibavcKf9cu83ibavczf9cu83ibav9cu83iwav9cu83ibaialfc9WfhqaicefgwarfhldnaeTmbcmcsaDceSEhkcbhxcbhmcbhrcbhicbhoindnalaq9nmbc9:hoxikdndnawRbbgDc;Ve0mbavc;abfaoaDcu7gPcl4fcsGcitfgsydlhzasydbhHdndnaDcsGgsak9pmbavaiaPfcsGcdtfydbaxasEhDaxasTgOfhxxekdndnascsSmbcehOasc987asamffcefhDxekalcefhDal8SbbgscFeGhPdndnascu9mmbaDhlxekalcvfhlaPcFbGhPcrhsdninaD8SbbgOcFbGastaPVhPaOcu9kmeaDcefhDascrfgsc8J9hmbxdkkaDcefhlkcehOaPce4cbaPceG9R7amfhDkaDhmkavc;abfaocitfgsaDBdbasazBdlavaicdtfaDBdbavc;abfaocefcsGcitfgsaHBdbasaDBdlaocdfhoaOaifhidnadcd9hmbabarcetfgsaH87ebasclfaD87ebascdfaz87ebxdkabarcdtfgsaHBdbascwfaDBdbasclfazBdbxekdnaDcpe0mbaxcefgOavaiaqaDcsGfRbbgscl49RcsGcdtfydbascz6gPEhDavaias9RcsGcdtfydbaOaPfgzascsGgOEhsaOThOdndnadcd9hmbabarcetfgHax87ebaHclfas87ebaHcdfaD87ebxekabarcdtfgHaxBdbaHcwfasBdbaHclfaDBdbkavaicdtfaxBdbavc;abfaocitfgHaDBdbaHaxBdlavaicefgicsGcdtfaDBdbavc;abfaocefcsGcitfgHasBdbaHaDBdlavaiaPfgicsGcdtfasBdbavc;abfaocdfcsGcitfgDaxBdbaDasBdlaocifhoaiaOfhiazaOfhxxekaxcbalRbbgHEgAaDc;:eSgDfhzaHcsGhCaHcl4hXdndnaHcs0mbazcefhOxekazhOavaiaX9RcsGcdtfydbhzkdndnaCmbaOcefhxxekaOhxavaiaH9RcsGcdtfydbhOkdndnaDTmbalcefhDxekalcdfhDal8SbegPcFeGhsdnaPcu9kmbalcofhAascFbGhscrhldninaD8SbbgPcFbGaltasVhsaPcu9kmeaDcefhDalcrfglc8J9hmbkaAhDxekaDcefhDkasce4cbasceG9R7amfgmhAkdndnaXcsSmbaDhsxekaDcefhsaD8SbbglcFeGhPdnalcu9kmbaDcvfhzaPcFbGhPcrhldninas8SbbgDcFbGaltaPVhPaDcu9kmeascefhsalcrfglc8J9hmbkazhsxekascefhskaPce4cbaPceG9R7amfgmhzkdndnaCcsSmbashlxekascefhlas8SbbgDcFeGhPdnaDcu9kmbascvfhOaPcFbGhPcrhDdninal8SbbgscFbGaDtaPVhPascu9kmealcefhlaDcrfgDc8J9hmbkaOhlxekalcefhlkaPce4cbaPceG9R7amfgmhOkdndnadcd9hmbabarcetfgDaA87ebaDclfaO87ebaDcdfaz87ebxekabarcdtfgDaABdbaDcwfaOBdbaDclfazBdbkavc;abfaocitfgDazBdbaDaABdlavaicdtfaABdbavc;abfaocefcsGcitfgDaOBdbaDazBdlavaicefgicsGcdtfazBdbavc;abfaocdfcsGcitfgDaABdbaDaOBdlavaiaHcz6aXcsSVfgicsGcdtfaOBdbaiaCTaCcsSVfhiaocifhokawcefhwaocsGhoaicsGhiarcifgrae6mbkkcbc99alaqSEhokavc;aef8Kjjjjbaok:clevu8Jjjjjbcz9Rhvdnaecvfal9nmbc9:skdnaiRbbc;:eGc;qeSmbcuskav9cb83iwaicefhoaialfc98fhrdnaeTmbdnadcdSmbcbhwindnaoar6mbc9:skaocefhlao8SbbgicFeGhddndnaicu9mmbalhoxekaocvfhoadcFbGhdcrhidninal8SbbgDcFbGaitadVhdaDcu9kmealcefhlaicrfgic8J9hmbxdkkalcefhokabawcdtfadc8Etc8F91adcd47avcwfadceGcdtVglydbfgiBdbalaiBdbawcefgwae9hmbxdkkcbhwindnaoar6mbc9:skaocefhlao8SbbgicFeGhddndnaicu9mmbalhoxekaocvfhoadcFbGhdcrhidninal8SbbgDcFbGaitadVhdaDcu9kmealcefhlaicrfgic8J9hmbxdkkalcefhokabawcetfadc8Etc8F91adcd47avcwfadceGcdtVglydbfgi87ebalaiBdbawcefgwae9hmbkkcbc99aoarSEk:2Pliur97eue978Jjjjjbc8W9Rhiaec98Ghldndnadcl9hmbdnalTmbcbhvabhdinadadpbbbgocKp:RecKp:Sep;6egraocwp:RecKp:Sep;6earp;Geaoczp:RecKp:Sep;6egwp;Gep;Kep;LegDpxbbbbbbbbbbbbbbbbp:2egqarpxbbbjbbbjbbbjbbbjgkp9op9rp;Kegrpxbb;:9cbb;:9cbb;:9cbb;:9cararp;MeaDaDp;Meawaqawakp9op9rp;Kegrarp;Mep;Kep;Kep;Jep;Negwp;Mepxbbn0bbn0bbn0bbn0gqp;KepxFbbbFbbbFbbbFbbbp9oaopxbbbFbbbFbbbFbbbFp9op9qarawp;Meaqp;Kecwp:RepxbFbbbFbbbFbbbFbbp9op9qaDawp;Meaqp;Keczp:RepxbbFbbbFbbbFbbbFbp9op9qpkbbadczfhdavclfgval6mbkkalaeSmeaipxbbbbbbbbbbbbbbbbgqpklbaiabalcdtfgdaeciGglcdtgv;8qbbdnalTmbaiaipblbgocKp:RecKp:Sep;6egraocwp:RecKp:Sep;6earp;Geaoczp:RecKp:Sep;6egwp;Gep;Kep;LegDaqp:2egqarpxbbbjbbbjbbbjbbbjgkp9op9rp;Kegrpxbb;:9cbb;:9cbb;:9cbb;:9cararp;MeaDaDp;Meawaqawakp9op9rp;Kegrarp;Mep;Kep;Kep;Jep;Negwp;Mepxbbn0bbn0bbn0bbn0gqp;KepxFbbbFbbbFbbbFbbbp9oaopxbbbFbbbFbbbFbbbFp9op9qarawp;Meaqp;Kecwp:RepxbFbbbFbbbFbbbFbbp9op9qaDawp;Meaqp;Keczp:RepxbbFbbbFbbbFbbbFbp9op9qpklbkadaiav;8qbbskaipxFubbFubbFubbFubbgxpklbdnalTmbcbhvabhdinadczfgmampbbbgopxbbbbbbFFbbbbbbFFgkp9oadpbbbgDaopmbediwDqkzHOAKY8AEgwczp:Reczp:Sep;6egraipblbaDaopmlvorxmPsCXQL358E8Fp9op;6eawczp:Sep;6egwp;Gearp;Gep;Kep;Legopxbbbbbbbbbbbbbbbbp:2egqarpxbbbjbbbjbbbjbbbjgPp9op9rp;Kegrpxb;:FSb;:FSb;:FSb;:FSararp;Meaoaop;MeawaqawaPp9op9rp;Kegrarp;Mep;Kep;Kep;Jep;Negwp;Mepxbbn0bbn0bbn0bbn0gqp;KepxFFbbFFbbFFbbFFbbp9oaoawp;Meaqp;Keczp:Rep9qgoarawp;Meaqp;KepxFFbbFFbbFFbbFFbbp9ogrpmwDKYqk8AExm35Ps8E8Fp9qpkbbadaDakp9oaoarpmbezHdiOAlvCXorQLp9qpkbbadcafhdavclfgval6mbkkalaeSmbaiczfpxbbbbbbbbbbbbbbbbgopklbaiaopklbaiabalcitfgdaeciGglcitgv;8qbbaiaxpkladnalTmbaiaipblzgopxbbbbbbFFbbbbbbFFgkp9oaipblbgDaopmbediwDqkzHOAKY8AEgwczp:Reczp:Sep;6egraipblaaDaopmlvorxmPsCXQL358E8Fp9op;6eawczp:Sep;6egwp;Gearp;Gep;Kep;Legopxbbbbbbbbbbbbbbbbp:2egqarpxbbbjbbbjbbbjbbbjgPp9op9rp;Kegrpxb;:FSb;:FSb;:FSb;:FSararp;Meaoaop;MeawaqawaPp9op9rp;Kegrarp;Mep;Kep;Kep;Jep;Negwp;Mepxbbn0bbn0bbn0bbn0gqp;KepxFFbbFFbbFFbbFFbbp9oaoawp;Meaqp;Keczp:Rep9qgoarawp;Meaqp;KepxFFbbFFbbFFbbFFbbp9ogrpmwDKYqk8AExm35Ps8E8Fp9qpklzaiaDakp9oaoarpmbezHdiOAlvCXorQLp9qpklbkadaiav;8qbbkk;Iwllue97euo978Jjjjjbca9Rhidnaec98GglTmbcbhvabhoinaocKfpxbbjZbbjZbbjZbbjZpx;Zl81Z;Zl81Z;Zl81Z;Zl81ZaopbbbgraoczfgwpbbbgDpmlvorxmPsCXQL358E8Fgqczp:Segkpxibbbibbbibbbibbbp9qp;6ep;NegxaraDpmbediwDqkzHOAKY8AEgrczp:Reczp:Sep;6ep;MegDaDp;Meaxarczp:Sep;6ep;Megmamp;Meaxaqczp:Reczp:Sep;6ep;Megqaqp;Mep;Kep;Kep;Lepxbbbbbbbbbbbbbbbbp:4ep;Jepxb;:FSb;:FSb;:FSb;:FSgxp;Mepxbbn0bbn0bbn0bbn0grp;KepxFFbbFFbbFFbbFFbbgPp9oamaxp;Mearp;Keczp:Rep9qgmaDaxp;Mearp;KeaPp9oaqaxp;Mearp;Keczp:Rep9qgrpmwDKYqk8AExm35Ps8E8FgDp5eakclp:RegxpEi:T:j83ibawaDp5baxpEd:T:j83ibaocwfamarpmbezHdiOAlvCXorQLgrp5eaxpEe:T:j83ibaoarp5baxpEb:T:j83ibaocafhoavclfgval6mbkkdnalaeSmbaiczfpxbbbbbbbbbbbbbbbbgxpklbaiaxpklbaiabalcitfgoaeciGgvcitgw;8qbbdnavTmbaipxbbjZbbjZbbjZbbjZpx;Zl81Z;Zl81Z;Zl81Z;Zl81ZaipblbgraipblzgDpmlvorxmPsCXQL358E8Fgqczp:Segkpxibbbibbbibbbibbbp9qp;6ep;NegxaraDpmbediwDqkzHOAKY8AEgrczp:Reczp:Sep;6ep;MegDaDp;Meaxarczp:Sep;6ep;Megmamp;Meaxaqczp:Reczp:Sep;6ep;Megqaqp;Mep;Kep;Kep;Lepxbbbbbbbbbbbbbbbbp:4ep;Jepxb;:FSb;:FSb;:FSb;:FSgxp;Mepxbbn0bbn0bbn0bbn0grp;KepxFFbbFFbbFFbbFFbbgPp9oamaxp;Mearp;Keczp:Rep9qgmaDaxp;Mearp;KeaPp9oaqaxp;Mearp;Keczp:Rep9qgrpmwDKYqk8AExm35Ps8E8FgDp5eakclp:RegxpEi:T:j83iKaiaDp5baxpEd:T:j83izaiamarpmbezHdiOAlvCXorQLgrp5eaxpEe:T:j83iwaiarp5baxpEb:T:j83ibkaoaiaw;8qbbkk;uddiue978Jjjjjbc;ab9Rhidnadcd4ae2glc98GgvTmbcbheabhdinadadpbbbgocwp:Recwp:Sep;6eaocep:SepxbbjFbbjFbbjFbbjFp9opxbbjZbbjZbbjZbbjZp:Uep;Mepkbbadczfhdaeclfgeav6mbkkdnavalSmbaic8WfpxbbbbbbbbbbbbbbbbgopklbaicafaopklbaiczfaopklbaiaopklbaiabavcdtfgdalciGgecdtgv;8qbbdnaeTmbaiaipblbgocwp:Recwp:Sep;6eaocep:SepxbbjFbbjFbbjFbbjFp9opxbbjZbbjZbbjZbbjZp:Uep;Mepklbkadaiav;8qbbkk:CPvdue97euw97eu8Jjjjjbc8W9Rhiaec98Ghldndnadcl9hmbaipxbbbbbbbbbbbbbbbbgvpklbdnalTmbcbhoabhdinadpbbbhradpxbbuJbbuJbbuJbbuJaipblbarcKp:Tep9qgwcep:Seawp9qgDcdp:SeaDp9qgDclp:SeaDp9qgqp;6ep;NegDarcwp:RecKp:SegkarpxFbbbFbbbFbbbFbbbgxp9ogmp:Uep;6ep;Mepxbbn0bbn0bbn0bbn0gPp;Kecwp:RepxbFbbbFbbbFbbbFbbp9oaDamakp:Xearczp:RecKp:Segrp:Uep;6ep;MeaPp;Keaxp9op9qaDamakarp:Uep:Xep;6ep;MeaPp;Keczp:RepxbbFbbbFbbbFbbbFbp9op9qaDaqawcep:Rep9oawpxebbbebbbebbbebbbp9op9qp;6ep;MeaPp;KecKp:Rep9qpkbbadczfhdaoclfgoal6mbkkalaeSmeaiavpklaaicafabalcdtfgdaeciGglcdtgo;8qbbaiavpklbdnalTmbaipblahraipxbbuJbbuJbbuJbbuJaipblbarcKp:Tep9qgwcep:Seawp9qgDcdp:SeaDp9qgDclp:SeaDp9qgqp;6ep;NegDarcwp:RecKp:SegkarpxFbbbFbbbFbbbFbbbgxp9ogmp:Uep;6ep;Mepxbbn0bbn0bbn0bbn0gPp;Kecwp:RepxbFbbbFbbbFbbbFbbp9oaDamakp:Xearczp:RecKp:Segrp:Uep;6ep;MeaPp;Keaxp9op9qaDamakarp:Uep:Xep;6ep;MeaPp;Keczp:RepxbbFbbbFbbbFbbbFbp9op9qaDaqawcep:Rep9oawpxebbbebbbebbbebbbp9op9qp;6ep;MeaPp;KecKp:Rep9qpklakadaicafao;8qbbskaipxbbbbbbbbbbbbbbbbgvpklbdnalTmbcbhoabhdinadczfgspxbFu9hbFu9hbFu9hbFu9hadpbbbgDaspbbbgPpmlvorxmPsCXQL358E8Fgmczp:Teaipblbp9qgrcep:Searp9qgwcdp:Seawp9qgwclp:Seawp9qgwcwp:Seawp9qgqp;6ep;NegwaDaPpmbediwDqkzHOAKY8AEgDpxFFbbFFbbFFbbFFbbgPp9ogkaDczp:Segxp:Ueamczp:Reczp:Segmp:Xep;6ep;Mepxbbn0bbn0bbn0bbn0gDp;KeaPp9oawakaxamp:Uep:Xep;6ep;MeaDp;Keczp:Rep9qgxawaqarcep:Rep9oarpxebbbebbbebbbebbbp9op9qp;6ep;MeaDp;Keczp:Reawamakp:Uep;6ep;MeaDp;KeaPp9op9qgrpmwDKYqk8AExm35Ps8E8FpkbbadaxarpmbezHdiOAlvCXorQLpkbbadcafhdaoclfgoal6mbkkalaeSmbaiczfpxbbbbbbbbbbbbbbbbgrpklbaiarpklbaiabalcitfgdaeciGglcitgo;8qbbaiavpkladnalTmbaipxbFu9hbFu9hbFu9hbFu9haipblbgDaipblzgPpmlvorxmPsCXQL358E8Fgmczp:Teaipblap9qgrcep:Searp9qgwcdp:Seawp9qgwclp:Seawp9qgwcwp:Seawp9qgqp;6ep;NegwaDaPpmbediwDqkzHOAKY8AEgDpxFFbbFFbbFFbbFFbbgPp9ogkaDczp:Segxp:Ueamczp:Reczp:Segmp:Xep;6ep;Mepxbbn0bbn0bbn0bbn0gDp;KeaPp9oawakaxamp:Uep:Xep;6ep;MeaDp;Keczp:Rep9qgxawaqarcep:Rep9oarpxebbbebbbebbbebbbp9op9qp;6ep;MeaDp;Keczp:Reawamakp:Uep;6ep;MeaDp;KeaPp9op9qgrpmwDKYqk8AExm35Ps8E8FpklzaiaxarpmbezHdiOAlvCXorQLpklbkadaiao;8qbbkk9teiucbcbydj1jjbgeabcifc98GfgbBdj1jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaikkkebcjwklz:Dbb"):i("b9H79Tebbbe8Fv9Gbb9Gvuuuuueu9Giuuub9Geueu9Giuuueuixkbeeeddddillviebeoweuec:W:Odkr;Neqo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8A9TW79O9V9Wt9F9KW9J9V9KW9wWVtW949c919M9MWVbeY9TW79O9V9Wt9F9KW9J9V9KW69U9KW949c919M9MWVbdE9TW79O9V9Wt9F9KW9J9V9KW69U9KW949tWG91W9U9JWbiL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9p9JtblK9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9r919HtbvL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVT949WboY9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVJ9V29VVbrl79IV9Rbwq;BZkdbk;jYi5ud9:du8Jjjjjbcj;kb9Rgv8Kjjjjbc9:hodnalTmbcuhoaiRbbgrc;WeGc:Ge9hmbarcsGgwce0mbc9:hoalcufadcd4cbawEgDadfgrcKcaawEgqaraq0Egk6mbaicefhxcj;abad9Uc;WFbGcjdadca0EhmaialfgPar9Rgoadfhsavaoadz:jjjjbgzceVhHcbhOdndninaeaO9nmeaPax9RaD6mdamaeaO9RaOamfgoae6EgAcsfglc9WGhCabaOad2fhXaAcethQaxaDfhiaOaeaoaeao6E9RhLalcl4cifcd4hKazcj;cbfaAfhYcbh8AazcjdfhEaHh3incbhodnawTmbaxa8Acd4fRbbhokaocFeGh5cbh8Eazcj;cbfhqinaih8Fdndndndna5a8Ecet4ciGgoc9:fPdebdkaPa8F9RaA6mrazcj;cbfa8EaA2fa8FaAz:jjjjb8Aa8FaAfhixdkazcj;cbfa8EaA2fcbaAz:kjjjb8Aa8FhixekaPa8F9RaK6mva8FaKfhidnaCTmbaPai9RcK6mbaocdtc:q1jjbfcj1jjbawEhaczhrcbhlinargoc9Wfghaqfhrdndndndndndnaaa8Fahco4fRbbalcoG4ciGcdtfydbPDbedvivvvlvkar9cb83bbarcwf9cb83bbxlkarcbaiRbdai8Xbb9c:c:qj:bw9:9c:q;c1:I1e:d9c:b:c:e1z9:gg9cjjjjjz:dg8J9qE86bbaqaofgrcGfag9c8F1:NghcKtc8F91aicdfa8J9c8N1:Nfg8KRbbG86bbarcVfcba8KahcjeGcr4fghRbbag9cjjjjjl: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:dg8J9qE86bbarc95fag9c8F1:NgicKtc8F91aha8J9c8N1:NfghRbbG86bbarc96fcbahaicjeGcr4fgiRbbag9cjjjjjl:dg8J9qE86bbarc97fcbaia8J9c8L1:NfgiRbbag9cjjjjjd:dg8J9qE86bbarc98fcbaia8J9c8K1:NfgiRbbag9cjjjjje:dg8J9qE86bbarc99fcbaia8J9c8J1:NfgiRbbag9cjjjj;ab:dg8J9qE86bbarc9:fcbaia8J9cg1:NfgiRbbag9cjjjja:dg8J9qE86bbarcufcbaia8J9ch1:NfgiRbbag9cjjjjz:dgg9qE86bbaiag9ca1:NfhixikaraiRblaiRbbghco4g8Ka8KciSg8KE86bbaqaofgrcGfaiclfa8Kfg8KRbbahcl4ciGg8La8LciSg8LE86bbarcVfa8Ka8Lfg8KRbbahcd4ciGg8La8LciSg8LE86bbarc7fa8Ka8Lfg8KRbbahciGghahciSghE86bbarctfa8Kahfg8KRbbaiRbeghco4g8La8LciSg8LE86bbarc91fa8Ka8Lfg8KRbbahcl4ciGg8La8LciSg8LE86bbarc4fa8Ka8Lfg8KRbbahcd4ciGg8La8LciSg8LE86bbarc93fa8Ka8Lfg8KRbbahciGghahciSghE86bbarc94fa8Kahfg8KRbbaiRbdghco4g8La8LciSg8LE86bbarc95fa8Ka8Lfg8KRbbahcl4ciGg8La8LciSg8LE86bbarc96fa8Ka8Lfg8KRbbahcd4ciGg8La8LciSg8LE86bbarc97fa8Ka8Lfg8KRbbahciGghahciSghE86bbarc98fa8KahfghRbbaiRbigico4g8Ka8KciSg8KE86bbarc99faha8KfghRbbaicl4ciGg8Ka8KciSg8KE86bbarc9:faha8KfghRbbaicd4ciGg8Ka8KciSg8KE86bbarcufaha8KfgrRbbaiciGgiaiciSgiE86bbaraifhixdkaraiRbwaiRbbghcl4g8Ka8KcsSg8KE86bbaqaofgrcGfaicwfa8Kfg8KRbbahcsGghahcsSghE86bbarcVfa8KahfghRbbaiRbeg8Kcl4g8La8LcsSg8LE86bbarc7faha8LfghRbba8KcsGg8Ka8KcsSg8KE86bbarctfaha8KfghRbbaiRbdg8Kcl4g8La8LcsSg8LE86bbarc91faha8LfghRbba8KcsGg8Ka8KcsSg8KE86bbarc4faha8KfghRbbaiRbig8Kcl4g8La8LcsSg8LE86bbarc93faha8LfghRbba8KcsGg8Ka8KcsSg8KE86bbarc94faha8KfghRbbaiRblg8Kcl4g8La8LcsSg8LE86bbarc95faha8LfghRbba8KcsGg8Ka8KcsSg8KE86bbarc96faha8KfghRbbaiRbvg8Kcl4g8La8LcsSg8LE86bbarc97faha8LfghRbba8KcsGg8Ka8KcsSg8KE86bbarc98faha8KfghRbbaiRbog8Kcl4g8La8LcsSg8LE86bbarc99faha8LfghRbba8KcsGg8Ka8KcsSg8KE86bbarc9:faha8KfghRbbaiRbrgicl4g8Ka8KcsSg8KE86bbarcufaha8KfgrRbbaicsGgiaicsSgiE86bbaraifhixekarai8Pbb83bbarcwfaicwf8Pbb83bbaiczfhikdnaoaC9pmbalcdfhlaoczfhraPai9RcL0mekkaoaC6moaimexokaCmva8FTmvkaqaAfhqa8Ecefg8Ecl9hmbkdndndndnawTmbasa8Acd4fRbbgociGPlbedrbkaATmdaza8Afh8Fazcj;cbfhhcbh8EaEhaina8FRbbhraahocbhlinaoahalfRbbgqce4cbaqceG9R7arfgr86bbaoadfhoaAalcefgl9hmbkaacefhaa8Fcefh8FahaAfhha8Ecefg8Ecl9hmbxikkaATmeaza8Afhaazcj;cbfhhcbhoceh8EaYh8FinaEaofhlaa8Vbbhrcbhoinala8FaofRbbcwtahaofRbbgqVc;:FiGce4cbaqceG9R7arfgr87bbaladfhlaLaocefgofmbka8FaQfh8FcdhoaacdfhaahaQfhha8EceGhlcbh8EalmbxdkkaATmbcbaocl49Rh8Eaza8AfRbbhqcwhoa3hlinalRbbaotaqVhqalcefhlaocwfgoca9hmbkcbhhaEh8FaYhainazcj;cbfahfRbbhrcwhoaahlinalRbbaotarVhralaAfhlaocwfgoca9hmbkara8E93aq7hqcbhoa8Fhlinalaqao486bbalcefhlaocwfgoca9hmbka8Fadfh8FaacefhaahcefghaA9hmbkkaEclfhEa3clfh3a8Aclfg8Aad6mbkaXazcjdfaAad2z:jjjjb8AazazcjdfaAcufad2fadz:jjjjb8AaAaOfhOaihxaimbkc9:hoxdkcbc99aPax9RakSEhoxekc9:hokavcj;kbf8Kjjjjbaok:XseHu8Jjjjjbc;ae9Rgv8Kjjjjbc9:hodnaeci9UgrcHfal0mbcuhoaiRbbgwc;WeGc;Ge9hmbawcsGgDce0mbavc;abfcFecjez:kjjjb8AavcUf9cu83ibavc8Wf9cu83ibavcyf9cu83ibavcaf9cu83ibavcKf9cu83ibavczf9cu83ibav9cu83iwav9cu83ibaialfc9WfhqaicefgwarfhldnaeTmbcmcsaDceSEhkcbhxcbhmcbhrcbhicbhoindnalaq9nmbc9:hoxikdndnawRbbgDc;Ve0mbavc;abfaoaDcu7gPcl4fcsGcitfgsydlhzasydbhHdndnaDcsGgsak9pmbavaiaPfcsGcdtfydbaxasEhDaxasTgOfhxxekdndnascsSmbcehOasc987asamffcefhDxekalcefhDal8SbbgscFeGhPdndnascu9mmbaDhlxekalcvfhlaPcFbGhPcrhsdninaD8SbbgOcFbGastaPVhPaOcu9kmeaDcefhDascrfgsc8J9hmbxdkkaDcefhlkcehOaPce4cbaPceG9R7amfhDkaDhmkavc;abfaocitfgsaDBdbasazBdlavaicdtfaDBdbavc;abfaocefcsGcitfgsaHBdbasaDBdlaocdfhoaOaifhidnadcd9hmbabarcetfgsaH87ebasclfaD87ebascdfaz87ebxdkabarcdtfgsaHBdbascwfaDBdbasclfazBdbxekdnaDcpe0mbaxcefgOavaiaqaDcsGfRbbgscl49RcsGcdtfydbascz6gPEhDavaias9RcsGcdtfydbaOaPfgzascsGgOEhsaOThOdndnadcd9hmbabarcetfgHax87ebaHclfas87ebaHcdfaD87ebxekabarcdtfgHaxBdbaHcwfasBdbaHclfaDBdbkavaicdtfaxBdbavc;abfaocitfgHaDBdbaHaxBdlavaicefgicsGcdtfaDBdbavc;abfaocefcsGcitfgHasBdbaHaDBdlavaiaPfgicsGcdtfasBdbavc;abfaocdfcsGcitfgDaxBdbaDasBdlaocifhoaiaOfhiazaOfhxxekaxcbalRbbgHEgAaDc;:eSgDfhzaHcsGhCaHcl4hXdndnaHcs0mbazcefhOxekazhOavaiaX9RcsGcdtfydbhzkdndnaCmbaOcefhxxekaOhxavaiaH9RcsGcdtfydbhOkdndnaDTmbalcefhDxekalcdfhDal8SbegPcFeGhsdnaPcu9kmbalcofhAascFbGhscrhldninaD8SbbgPcFbGaltasVhsaPcu9kmeaDcefhDalcrfglc8J9hmbkaAhDxekaDcefhDkasce4cbasceG9R7amfgmhAkdndnaXcsSmbaDhsxekaDcefhsaD8SbbglcFeGhPdnalcu9kmbaDcvfhzaPcFbGhPcrhldninas8SbbgDcFbGaltaPVhPaDcu9kmeascefhsalcrfglc8J9hmbkazhsxekascefhskaPce4cbaPceG9R7amfgmhzkdndnaCcsSmbashlxekascefhlas8SbbgDcFeGhPdnaDcu9kmbascvfhOaPcFbGhPcrhDdninal8SbbgscFbGaDtaPVhPascu9kmealcefhlaDcrfgDc8J9hmbkaOhlxekalcefhlkaPce4cbaPceG9R7amfgmhOkdndnadcd9hmbabarcetfgDaA87ebaDclfaO87ebaDcdfaz87ebxekabarcdtfgDaABdbaDcwfaOBdbaDclfazBdbkavc;abfaocitfgDazBdbaDaABdlavaicdtfaABdbavc;abfaocefcsGcitfgDaOBdbaDazBdlavaicefgicsGcdtfazBdbavc;abfaocdfcsGcitfgDaABdbaDaOBdlavaiaHcz6aXcsSVfgicsGcdtfaOBdbaiaCTaCcsSVfhiaocifhokawcefhwaocsGhoaicsGhiarcifgrae6mbkkcbc99alaqSEhokavc;aef8Kjjjjbaok:clevu8Jjjjjbcz9Rhvdnaecvfal9nmbc9: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;oiliui99iue99dnaeTmbcbhiabhlindndnJ;Zl81Zalcof8UebgvciV:Y:vgoal8Ueb:YNgrJb;:FSNJbbbZJbbb:;arJbbbb9GEMgw:lJbbb9p9DTmbaw:OhDxekcjjjj94hDkalclf8Uebhqalcdf8UebhkabaiavcefciGfcetfaD87ebdndnaoak:YNgwJb;:FSNJbbbZJbbb:;awJbbbb9GEMgx:lJbbb9p9DTmbax:OhDxekcjjjj94hDkabaiavciGfgkcd7cetfaD87ebdndnaoaq:YNgoJb;:FSNJbbbZJbbb:;aoJbbbb9GEMgx:lJbbb9p9DTmbax:OhDxekcjjjj94hDkabaiavcufciGfcetfaD87ebdndnJbbjZararN:tawawN:taoaoN:tgrJbbbbarJbbbb9GE:rJb;:FSNJbbbZMgr:lJbbb9p9DTmbar:Ohvxekcjjjj94hvkabakcetfav87ebalcwfhlaiclfhiaecufgembkkk9mbdnadcd4ae2gdTmbinababydbgecwtcw91: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:K1jjbgeabcifc98GfgbBd:K1jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik;teeeudndnaeabVciGTmbabhixekdndnadcz9pmbabhixekabhiinaiaeydbBdbaiaeydlBdlaiaeydwBdwaiaeydxBdxaeczfheaiczfhiadc9Wfgdcs0mbkkadcl6mbinaiaeydbBdbaeclfheaiclfhiadc98fgdci0mbkkdnadTmbinaiaeRbb86bbaicefhiaecefheadcufgdmbkkabk:3eedudndnabciGTmbabhixekaecFeGc:b:c:ew2hldndnadcz9pmbabhixekabhiinaialBdxaialBdwaialBdlaialBdbaiczfhiadc9Wfgdcs0mbkkadcl6mbinaialBdbaiclfhiadc98fgdci0mbkkdnadTmbinaiae86bbaicefhiadcufgdmbkkabkk81dbcjwk8Kbbbbdbbblbbbwbbbbbbbebbbdbbblbbbwbbbbc:Kwkl8WNbb"),t=WebAssembly.instantiate(e,{}).then(function(E){(a=E.instance).exports.__wasm_call_ctors()});function i(E){for(var s=new Uint8Array(E.length),c=0;c<E.length;++c){var d=E.charCodeAt(c);s[c]=d>96?d-97:d>64?d-39:d+4}var b=0;for(c=0;c<E.length;++c)s[b++]=s[c]<60?A[s[c]]:64*(s[c]-60)+s[++c];return s.buffer.slice(0,b)}function I(E,s,c,d,b,h,l){var w=E.exports.sbrk,k=d+3&-4,M=w(k*b),N=w(h.length),m=new Uint8Array(E.exports.memory.buffer);m.set(h,N);var G=s(M,d,b,N,h.length);if(G==0&&l&&l(M,k,b),c.set(m.subarray(M,M+d*b)),w(M-w(0)),G!=0)throw new Error("Malformed buffer data: "+G)}var B={NONE:"",OCTAHEDRAL:"meshopt_decodeFilterOct",QUATERNION:"meshopt_decodeFilterQuat",EXPONENTIAL:"meshopt_decodeFilterExp",COLOR:"meshopt_decodeFilterColor"},r={ATTRIBUTES:"meshopt_decodeVertexBuffer",TRIANGLES:"meshopt_decodeIndexBuffer",INDICES:"meshopt_decodeIndexSequence"},o=[],n=0;function C(E){var s={object:new Worker(E),pending:0,requests:{}};return s.object.onmessage=function(c){var d=c.data;s.pending-=d.count,s.requests[d.id][d.action](d.value),delete s.requests[d.id]},s}function Q(E){var s=E.data;if(!s.id)return self.close();self.ready.then(function(c){try{var d=new Uint8Array(s.count*s.size);I(c,c.exports[s.mode],d,s.count,s.size,s.source,c.exports[s.filter]),self.postMessage({id:s.id,count:s.count,action:"resolve",value:d},[d.buffer])}catch(b){self.postMessage({id:s.id,count:s.count,action:"reject",value:b})}})}return{ready:t,supported:!0,useWorkers:function(E){(function(s){for(var c="self.ready = WebAssembly.instantiate(new Uint8Array(["+new Uint8Array(e)+"]), {}).then(function(result) { result.instance.exports.__wasm_call_ctors(); return result.instance; });self.onmessage = "+Q.name+";"+I.toString()+Q.toString(),d=new Blob([c],{type:"text/javascript"}),b=URL.createObjectURL(d),h=o.length;h<s;++h)o[h]=C(b);for(h=s;h<o.length;++h)o[h].object.postMessage({});o.length=s,URL.revokeObjectURL(b)})(E)},decodeVertexBuffer:function(E,s,c,d,b){I(a,a.exports.meshopt_decodeVertexBuffer,E,s,c,d,a.exports[B[b]])},decodeIndexBuffer:function(E,s,c,d){I(a,a.exports.meshopt_decodeIndexBuffer,E,s,c,d)},decodeIndexSequence:function(E,s,c,d){I(a,a.exports.meshopt_decodeIndexSequence,E,s,c,d)},decodeGltfBuffer:function(E,s,c,d,b,h){I(a,a.exports[r[b]],E,s,c,d,a.exports[B[h]])},decodeGltfBufferAsync:function(E,s,c,d,b){return o.length>0?function(h,l,w,k,M){for(var N=o[0],m=1;m<o.length;++m)o[m].pending<N.pending&&(N=o[m]);return new Promise(function(G,L){var x=new Uint8Array(w),W=++n;N.pending+=h,N.requests[W]={resolve:G,reject:L},N.object.postMessage({id:W,count:h,size:l,source:x,mode:k,filter:M},[x.buffer])})}(E,s,c,r[d],B[b]):t.then(function(){var h=new Uint8Array(E*s);return I(a,a.exports[r[d]],h,E,s,c,a.exports[B[b]]),h})}}}();(function(){var g,A=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 a=WebAssembly.instantiate(function(B){for(var r=new Uint8Array(B.length),o=0;o<B.length;++o){var n=B.charCodeAt(o);r[o]=n>96?n-97:n>64?n-39:n+4}var C=0;for(o=0;o<B.length;++o)r[C++]=r[o]<60?A[r[o]]:64*(r[o]-60)+r[++o];return r.buffer.slice(0,C)}("b9H79Tebbbe:Gez9Geueu9Geub9Gbb9Gsuuuuuuuuuuuu99uueu9Gvuuuuub9Gruuuuuuub9Gouuuuuue999Gvuuuuueu9Gquuuuuuu99uueu9GPuuuuuuuuuuu99uueu9Gquuuuuuuu99ueu9Gruuuuuu99eu9Gwuuuuuu99ueu9Giuuue999Gluuuueu9GiuuueuiXCdilvorlwiDqkxmPbssbelve9Weiiviebeoweuec:G:Pdkr;7eko9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bbz9TW79O9V9Wt9F79P9T9W29P9M95br8E9TW79O9V9Wt9F79P9T9W29P9M959x9Pt9OcttV9P9I91tW7bw8A9TW79O9V9Wt9F79P9T9W29P9M959x9Pt9O9v9W9K9HtWbDQ9TW79O9V9Wt9F79P9T9W29P9M959t29V9W9W95bqX9TW79O9V9Wt9F79P9T9W29P9M959qV919UWbkQ9TW79O9V9Wt9F79P9T9W29P9M959q9V9P9Ut7bxX9TW79O9V9Wt9F79P9T9W29P9M959t9J9H2Wbma9TW79O9V9Wt9F9V9Wt9P9T9P96W9wWVtW94SWt9J9O9sW9T9H9WbPl79IV9RbsDwebcekdOAq:d;OeCdbk:J1eo3ue99euE99Cue9:8Jjjjjbcj;sb9Rgs8Kjjjjbcbhzasc:Cefcbc;Kbz:rjjjb8AdnabaeSmbabaeadcdtz:qjjjb8AkdnamcdGTmbalcrfci4gHcbyd1:jjjbHjjjjbbheasc:Cefasyd;8egOcdtfaeBdbasaOcefBd;8eaecbaHz:rjjjbhAcbhlcbhednadTmbcbhlabheadhHinaAaeydbgOci4fgCaCRbbgCceaOcrGgOtV86bbaCcu7aO4ceGalfhlaeclfheaHcufgHmbkcualcdtalcFFFFi0Ehekaecbyd1:jjjbHjjjjbbhzasc:Cefasyd;8egecdtfazBdbasaecefBd;8ealcd4alfhOcehHinaHgecethHaeaO6mbkcbhXcuaecdtgOaecFFFFi0Ecbyd1:jjjbHjjjjbbhHasc:Cefasyd;8egCcdtfaHBdbasaCcefBd;8eaHcFeaOz:rjjjbhQdnadTmbaecufhLcbhKindndnaQabaXcdtfgYydbgCc:v;t;h;Ev2aLGgOcdtfgAydbgHcuSmbceheinazaHcdtfydbaCSmdaOaefhHaecefheaQaHaLGgOcdtfgAydbgHcu9hmbkkazaKcdtfaCBdbaAaKBdbaKhHaKcefhKkaYaHBdbaXcefgXad9hmbkkaQcbyd:m:jjjbH:bjjjbbasasyd;8ecufBd;8ekcbh8AcualcefgecdtaecFFFFi0Ecbyd1:jjjbHjjjjbbhKasc:Cefasyd;8egecdtfaKBdbasaKBdNeasaecefBd;8ecuadcitadcFFFFe0Ecbyd1:jjjbHjjjjbbhEasc:Cefasyd;8egecdtfaEBdbasaEBd:yeasaecefBd;8eascNefabadalcbz:cjjjbcualcdtgealcFFFFi0Eg3cbyd1:jjjbHjjjjbbhCasc:Cefasyd;8egHcdtfaCBdbasaHcefBd;8ea3cbyd1:jjjbHjjjjbbhYasc:Cefasyd;8egHcdtfaYBdbasaHcefBd;8eaCaYaialavazasc:Cefz:djjjbalcbyd1:jjjbHjjjjbbh5asc:Cefasyd;8egHcdtfa5BdbasaHcefBd;8ea3cbyd1:jjjbHjjjjbbhHasc:Cefasyd;8egOcdtfaHBdbasaOcefBd;8ea3cbyd1:jjjbHjjjjbbhOasc:Cefasyd;8egAcdtfaOBdbasaAcefBd;8eaHcFeaez:rjjjbh8EaOcFeaez:rjjjbh8FdnalTmbaEcwfhaindnaKa8AgOcefg8AcdtfydbgAaKaOcdtgefydbgHSmbaAaH9RhhaEaHcitfhga8Faefh8Ja8Eaefh8KcbhQindndnagaQcitfydbgLaO9hmba8KaOBdba8JaOBdbxekdnaKaLcdtg8LfgeclfydbgHaeydbgeSmbaEaecitgAfydbaOSmeaHae9Rh8Maecu7aHfhXaaaAfhHcbheinaXaeSmeaecefheaHydbhAaHcwfhHaAaO9hmbkaea8M6meka8Fa8LfgeaOaLaeydbcuSEBdba8KaLaOa8KydbcuSEBdbkaQcefgQah9hmbkka8Aal9hmbkaChHaYhOa8FhAa8EhQcbheindndnaeaHydbgL9hmbdnaeaOydbgL9hmbaQydbhLdnaAydbgXcu9hmbaLcu9hmba5aefcb86bbxikdnaXcuSmbaLcuSmbaeaXSmbaCaXcdtfydbaCaLcdtfydb9hmba5aefcd86bbxika5aefh8KdnaeaXSmbaeaLSmba8Kce86bbxika8Kcl86bbxdkdnaeaYaLcdtgXfydb9hmbdnaAydbg8KcuSmbaea8KSmbaQydbghcuSmbaeahSmba8FaXfydbggcuSmbagaLSmba8EaXfydbgXcuSmbaXaLSmbdnaCa8KcdtfydbgLaCaXcdtfydb9hmbaLaCahcdtfydbgXSmbaXaCagcdtfydb9hmba5aefcd86bbxlka5aefcl86bbxika5aefcl86bbxdka5aefcl86bbxeka5aefa5aLfRbb86bbkaHclfhHaOclfhOaAclfhAaQclfhQalaecefge9hmbkdnamcaGTmbaEcwfh8Jcbh8Nindndna5a8NfgyRbbg8Pc9:fPibebekdndndnaCa8Ncdtfydbgea8N9hmbdnaqmbcbhgxdkdnazTmbcbhga8NheinagaqazaecdtgefydbfRbbcdGce4VhgaYaefydbgea8N9hmbxikkcbhga8NheinagaqaefRbbcdGce4VhgaYaecdtfydbgea8N9hmbxdkka5aefRbbhexeka8NheindnaKaecdtgafgeclfydbgHaeydbgeSmbaHae9Rh8AaEaecitfh8MaCaafh8Lcbh8Kina8Ma8KcitfydbgXhednindnaKaecdtgLfgeclfydbgHaeydbgeSmbdnaCaEaecitgOfydbcdtfydba8LydbgQ9hmbcehexikaHae9Rhhaecu7aHfhAa8JaOfhHcbheinaAaeSmeaecefheaHydbhOaHcwfhHaCaOcdtfydbaQ9hmbkaeah6hexdkaYaLfydbgeaX9hmbkcbhekagaece7Vhga8Kcefg8Ka8A9hmbkkaYaafydbgea8N9hmbka8PciagceGEhekayae86bbka8Ncefg8Nal9hmbkkdnaqTmbdndnazTmbazheaChHalhOindnaqaeydbfRbbceGTmba5aHydbfcl86bbkaeclfheaHclfhHaOcufgOmbxdkkaChealhHindnaqRbbceGTmba5aeydbfcl86bbkaqcefhqaeclfheaHcufgHmbkkaChealhOa5hHindna5aeydbfRbbcl9hmbaHcl86bbkaeclfheaHcefhHaOcufgOmbkkamceGTmba5healhHindnaeRbbce9hmbaecl86bbkaecefheaHcufgHmbkkcbhIcualcx2alc;v:Q;v:Qe0Ecbyd1:jjjbHjjjjbbhaasc:Cefasyd;8egecdtfaaBdbasaecefBd;8easc:qefcbBdbas9cb83i1eaaaialavazasc1efz:ejjjbh8RdndnaDmbcbh8Scbh8Lxekcbh8LawhecbhHindnaeIdbJbbbb9ETmbasa8LcdtfaHBdba8Lcefh8LkaeclfheaDaHcefgH9hmbkcua8Lal2gecdtaecFFFFi0Ecbyd1:jjjbHjjjjbbh8Sasc:Cefasyd;8egecdtfa8SBdbasaecefBd;8ealTmbdna8Lmbcbh8Lxekarcd4hXdnazTmba8Lcdth8KcbhLa8ShKinaoazaLcdtfydbaX2cdtfhQasheaKhHa8LhOinaHaQaeydbcdtgAfIdbawaAfIdbNUdbaeclfheaHclfhHaOcufgOmbkaKa8KfhKaLcefgLal9hmbxdkka8Lcdth8KcbhLa8ShKinaoaLaX2cdtfhQasheaKhHa8LhOinaHaQaeydbcdtgAfIdbawaAfIdbNUdbaeclfheaHclfhHaOcufgOmbkaKa8KfhKaLcefgLal9hmbkkcualc8S2gHalc;D;O;f8U0EgAcbyd1:jjjbHjjjjbbheasc:Cefasyd;8egOcdtfaeBdbasaOcefBd;8eaecbaHz:rjjjbhycbhqcbh8Ndna8LTmbcbhIaAcbyd1:jjjbHjjjjbbh8Nasc:Cefasyd;8egecdtfa8NBdbasaecefBd;8ea8NcbaHz:rjjjb8Acua8Lal2gecltgHaecFFFFb0Ecbyd1:jjjbHjjjjbbhqasc:Cefasyd;8egecdtfaqBdbasaecefBd;8eaqcbaHz:rjjjb8AamcjjjjdGTmbcualcltgealcFFFFb0Ecbyd1:jjjbHjjjjbbhIasc:Cefasyd;8egHcdtfaIBdbasaHcefBd;8eaIcbaez:rjjjb8AkdnadTmbcbhQabhHinaaaHclfydbgLcx2fgeIdbaaaHydbgKcx2fgOIdbgR:tg8UaaaHcwfydbgXcx2fgAIdlaOIdlg8V:tg8WNaAIdbaR:tg8XaeIdla8V:tg8YN:tg8Zh80aeIdwaOIdwg81:tgBa8XNaAIdwa81:tg83a8UN:tgUh8Xa8Ya83Na8WaBN:tg8Yh8Udna8Za8ZNa8Ya8YNaUaUNMM:rgBJbbbb9EgOTmba8ZaB:vh80aUaB:vh8Xa8YaB:vh8UkayaCaKcdtfydbgAc8S2fgea8UaB:rg8Wa8UNNg85aeIdbMUdbaea8Xa8Wa8XNg86Ng87aeIdlMUdlaea80a8Wa80Ng83Ng88aeIdwMUdwaea86a8UNg86aeIdxMUdxaea83a8UNg89aeIdzMUdzaea83a8XNg8:aeIdCMUdCaea8Ua8Wa80a81Na8UaRNa8Va8XNMM:mgZNg83Ng8UaeIdKMUdKaea8Xa83Ng8XaeId3MUd3aea80a83Ng80aeIdaMUdaaea83aZNg83aeId8KMUd8Kaea8WaeIdyMUdyayaCaLcdtfydbgLc8S2fgea85aeIdbMUdbaea87aeIdlMUdlaea88aeIdwMUdwaea86aeIdxMUdxaea89aeIdzMUdzaea8:aeIdCMUdCaea8UaeIdKMUdKaea8XaeId3MUd3aea80aeIdaMUdaaea83aeId8KMUd8Kaea8WaeIdyMUdyayaCaXcdtfydbgKc8S2fgea85aeIdbMUdbaea87aeIdlMUdlaea88aeIdwMUdwaea86aeIdxMUdxaea89aeIdzMUdzaea8:aeIdCMUdCaea8UaeIdKMUdKaea8XaeId3MUd3aea80aeIdaMUdaaea83aeId8KMUd8Kaea8WaeIdyMUdydnaITmbdnaOTmba8ZaB:vh8ZaUaB:vhUa8YaB:vh8YkaIaAcltfgeaBJbbbZNg8UaUNg8WaeIdlMUdlaea8Ua8ZNg8XaeIdwMUdwaea8Ua8YNg80aeIdbMUdbaea8UaR:ma8YNaUa8VN:ta81a8ZN:tNg8UaeIdxMUdxaIaLcltfgea8WaeIdlMUdlaea8XaeIdwMUdwaea80aeIdbMUdbaea8UaeIdxMUdxaIaKcltfgea8WaeIdlMUdlaea8XaeIdwMUdwaea80aeIdbMUdbaea8UaeIdxMUdxkaHcxfhHaQcifgQad6mbkkdnalTmbJ;n;m;m89J:v:;;w8ZamczGEh8YcbhOaChAaahHayheindnaOaAydb9hmbaecxfgQaQIdbJbbbbMUdbaeczfgQaQIdbJbbbbMUdbaecCfgQaQIdbJbbbbMUdbaea8YaecyfgQIdbg8ZNg8UaeIdbMUdbaeclfgLa8UaLIdbMUdbaecwfgLa8UaLIdbMUdbaecKfgLaLIdbaHIdbg8Xa8UN:tUdbaHcwfIdbh8Waec3fgLaLIdba8UaHclfIdbg80N:tUdbaecafgLaLIdba8Ua8WN:tUdbaec8KfgLIdbhUaQa8Za8UMUdbaLaUa8Ua8Wa8WNa8Xa8XNa80a80NMMNMUdbkaAclfhAaHcxfhHaec8SfhealaOcefgO9hmbkkdnadTmbcbhXabhKinabaXcdtfhLcbhHina5aLaHc:G1jjbfydbcdtfydbgOfRbbhedndna5aKaHfydbgAfRbbgQc99fcFeGcpe0mbaec99fcFeGc;:e6mekdnaQcufcFeGce0mba8EaAcdtfydbaO9hmekdnaecufcFeGce0mba8FaOcdtfydbaA9hmekJbbacJbbacJbbbZaecFeGceSEaQcFeGceSEh88aaaOcx2fgeIdwaaaAcx2fgQIdwgB:tg80:mh86aeIdlaQIdlg83:tg8Z:mh89aeIdbaQIdbgR:tgU:mh8:dnaaaLaHc:K1jjbfydbcdtfydbcx2fgeIdwaB:tg8Va80a80NaUaUNa8Za8ZNMMg8YNa8Va80NaeIdbaR:tg81aUNa8ZaeIdla83:tg85NMMg8Wa80N:tg8Xa8XNa81a8YNa8WaUN:tg8Ua8UNa85a8YNa8Wa8ZN:tg8Wa8WNMM:rg87Jbbbb9ETmba8Xa87:vh8Xa8Wa87:vh8Wa8Ua87:vh8Uka88a8Y:rNg8Ya8XaBNa8UaRNa83a8WNMM:mgZNg87aZNhZa8Xa87Nhna8Wa87Nhca8Ua87Nh9ca8Ya8XNg87a8WNhJa87a8UNh9ea8Ya8WNgTa8UNhSa8Xa87Nh87a8WaTNhTa8Ua8Ya8UNNh9hdnaUa85Na81a89NMg8Xa8XNa8Za8VNa85a86NMg8Ua8UNa80a81Na8Va8:NMg8Wa8WNMM:rg80Jbbbb9ETmba8Xa80:vh8Xa8Wa80:vh8Wa8Ua80:vh8UkayaCaAcdtfydbc8S2fgeaeIdba9ha8Ua88a80:rNg80a8UNNMgUMUdbaeaTa8Wa80a8WNg8VNMg81aeIdlMUdlaea87a8Xa80a8XNg8ZNMg85aeIdwMUdwaeaSa8Va8UNMg8VaeIdxMUdxaea9ea8Za8UNMg87aeIdzMUdzaeaJa8Za8WNMg8ZaeIdCMUdCaea9ca8Ua80a8XaBNa8UaRNa83a8WNMMgB:mNg80NMg8UaeIdKMUdKaeaca8Wa80NMg8WaeId3MUd3aeana8Xa80NMg8XaeIdaMUdaaeaZaBa80N:tg80aeId8KMUd8Kaea8YJbbbbMg8YaeIdyMUdyayaCaOcdtfydbc8S2fgeaUaeIdbMUdbaea81aeIdlMUdlaea85aeIdwMUdwaea8VaeIdxMUdxaea87aeIdzMUdzaea8ZaeIdCMUdCaea8UaeIdKMUdKaea8WaeId3MUd3aea8XaeIdaMUdaaea80aeId8KMUd8Kaea8YaeIdyMUdykaHclfgHcx9hmbkaKcxfhKaXcifgXad6mbka8LTmbcbhKinJbbbbh8YaaabaKcdtfgeclfydbgXcx2fgHIdwaaaeydbg8Kcx2fgOIdwg81:tg8Wa8WNaHIdbaOIdbg85:tg8Xa8XNaHIdlaOIdlg87:tg80a80NMMgRaaaecwfydbghcx2fgeIdwa81:tg8ZNa8Wa8Wa8ZNa8XaeIdba85:tgUNa80aeIdla87:tgBNMMg8UN:tJbbbbJbbjZaRa8Za8ZNaUaUNaBaBNMMg8VNa8Ua8UN:tg83:va83Jbbbb9BEg83Nh89a8Va8WNa8Za8UN:ta83Nh8:aRaBNa80a8UN:ta83NhZa8Va80NaBa8UN:ta83NhnaRaUNa8Xa8UN:ta83Nhca8Va8XNaUa8UN:ta83Nh9ca8XaBNaUa80N:tg8Ua8UNa80a8ZNaBa8WN:tg8Ua8UNa8WaUNa8Za8XN:tg8Ua8UNMM:rJbbbZNh8Ua8Sa8Ka8L2ggcdtfhHa8Saha8L2gEcdtfhOa8SaXa8L2g8JcdtfhAa81:mhJa87:mh9ea85:mhTcbhQa8LhLJbbbbhBJbbbbh83JbbbbhRJbbbbh8VJbbbbh81Jbbbbh85Jbbbbh87Jbbbbh88Jbbbbh86inascjdfaQfgecwfa8Ua8:aAIdbaHIdbg8Z:tg80Na89aOIdba8Z:tgUNMg8WNUdbaeclfa8Uana80NaZaUNMg8XNUdbaea8Ua9ca80NacaUNMg80NUdbaecxfa8UaJa8WNa9ea8XNa8ZaTa80NMMMg8ZNUdba8Ua8Wa8XNNa8VMh8Va8Ua8Wa80NNa81Mh81a8Ua8Xa80NNa85Mh85a8Ua8Za8ZNNa8YMh8Ya8Ua8Wa8ZNNaBMhBa8Ua8Xa8ZNNa83Mh83a8Ua80a8ZNNaRMhRa8Ua8Wa8WNNa87Mh87a8Ua8Xa8XNNa88Mh88a8Ua80a80NNa86Mh86aHclfhHaAclfhAaOclfhOaQczfhQaLcufgLmbka8Na8Kc8S2fgea86aeIdbMUdbaea88aeIdlMUdlaea87aeIdwMUdwaea85aeIdxMUdxaea81aeIdzMUdzaea8VaeIdCMUdCaeaRaeIdKMUdKaea83aeId3MUd3aeaBaeIdaMUdaaea8YaeId8KMUd8Kaea8UaeIdyMUdya8NaXc8S2fgea86aeIdbMUdbaea88aeIdlMUdlaea87aeIdwMUdwaea85aeIdxMUdxaea81aeIdzMUdzaea8VaeIdCMUdCaeaRaeIdKMUdKaea83aeId3MUd3aeaBaeIdaMUdaaea8YaeId8KMUd8Kaea8UaeIdyMUdya8Nahc8S2fgea86aeIdbMUdbaea88aeIdlMUdlaea87aeIdwMUdwaea85aeIdxMUdxaea81aeIdzMUdzaea8VaeIdCMUdCaeaRaeIdKMUdKaea83aeId3MUd3aeaBaeIdaMUdaaea8YaeId8KMUd8Kaea8UaeIdyMUdyaqagcltfhLcbhHa8LhAinaLaHfgeascjdfaHfgOIdbaeIdbMUdbaeclfgQaOclfIdbaQIdbMUdbaecwfgQaOcwfIdbaQIdbMUdbaecxfgeaOcxfIdbaeIdbMUdbaHczfhHaAcufgAmbkaqa8JcltfhLcbhHa8LhAinaLaHfgeascjdfaHfgOIdbaeIdbMUdbaeclfgQaOclfIdbaQIdbMUdbaecwfgQaOcwfIdbaQIdbMUdbaecxfgeaOcxfIdbaeIdbMUdbaHczfhHaAcufgAmbkaqaEcltfhLcbhHa8LhAinaLaHfgeascjdfaHfgOIdbaeIdbMUdbaeclfgQaOclfIdbaQIdbMUdbaecwfgQaOcwfIdbaQIdbMUdbaecxfgeaOcxfIdbaeIdbMUdbaHczfhHaAcufgAmbkaKcifgKad6mbkkcbhOdndnamcwGg9imbJbbbbh85cbh6cbh9kcbh0xekcbh6a3cbyd1:jjjbHjjjjbbh0asc:Cefasyd;8egecdtfa0BdbasaecefBd;8ecua0alabadaCz:fjjjbgAcltaAcjjjjiGEcbyd1:jjjbHjjjjbbh9kasc:Cefasyd;8egecdtfa9kBdbasaecefBd;8ea9kaAa0aaalz:gjjjbJFFuuh85aATmba9kheaAhHinaeIdbg8Ua85a85a8U9EEh85aeclfheaHcufgHmbkaAh6kasydNeh9mdnalTmba9mclfhea9mydbhAa5hHalhQcbhOincbaeydbgLaA9RaHRbbcpeGEaOfhOaHcefhHaeclfheaLhAaQcufgQmbkaOce4hOkcuadaO9Rcifg9ncx2a9nc;v:Q;v:Qe0Ecbyd1:jjjbHjjjjbbh8Pasc:Cefasyd;8egecdtfa8PBdbasaecefBd;8ecua9ncdta9ncFFFFi0Ecbyd1:jjjbHjjjjbbh9oasc:Cefasyd;8egecdtfa9oBdbasaecefBd;8ea3cbyd1:jjjbHjjjjbbhDasc:Cefasyd;8egecdtfaDBdbasaecefBd;8ealcbyd1:jjjbHjjjjbbh9pasc:Cefasyd;8egecdtfa9pBdbasaecefBd;8eaxaxNa8RJbbjZamclGEgnanN:vh88Jbbbbh86dnadak9nmbdna9nci6mbasyd:yeh9qa8Lclth9ra8Pcwfh9sJbbbbh87Jbbbbh86inascNefabadalaCz:cjjjbabh8Kcbh8Mcbh3inaba3cdtfhgcbheindnaCa8KaefydbgOcdtgXfydbgAaCagaec:W1jjbfydbcdtfydbgHcdtghfydbgQSmba5aHfRbbgKcv2a5aOfRbbgLfc;a1jjbfRbbg8JaLcv2aKfgEc;a1jjbfRbbg8AVcFeGTmbdnaQaA9nmbaEc;G1jjbfRbbcFeGmekdnaLcufcFeGce0mbaKTmba8EaXfydbaH9hmekdnaLTmbaKcufcFeGce0mba8FahfydbaO9hmeka8Pa8Mcx2fgAaHaOa8AcFeGgQEBdlaAaOaHaQEBdbaAaQa8JGcb9hBdwa8Mcefh8Mkaeclfgecx9hmbkdna3cifg3ad9pmba8Kcxfh8Ka8Mcifa9n9nmekka8MTmdcbhhinayaCa8Pahcx2fgKydbgQcdtgAfydbc8S2fgeIdwaaaKydlgLcx2fgHIdwg8XNaeIdzaHIdbg80NaeIdaMg8Ua8UMMa8XNaeIdlaHIdlg8ZNaeIdCa8XNaeId3Mg8Ua8UMMa8ZNaeIdba80NaeIdxa8ZNaeIdKMg8Ua8UMMa80NaeId8KMMM:lh8UJbbbbJbbjZaeIdyg8W:va8WJbbbb9BEh8WdndnaKydwg8KmbJFFuuh81xekJbbbbJbbjZayaCaLcdtfydbc8S2fgeIdygU:vaUJbbbb9BEaeIdwaaaQcx2fgHIdwgUNaeIdzaHIdbg8YNaeIdaMgBaBMMaUNaeIdlaHIdlgBNaeIdCaUNaeId3MgUaUMMaBNaeIdba8YNaeIdxaBNaeIdKMgUaUMMa8YNaeId8KMMM:lNh81ka8Wa8UNh8Vdna8LTmba8NaQc8S2fgHIdwa8XNaHIdza80NaHIdaMg8Ua8UMMa8XNaHIdla8ZNaHIdCa8XNaHId3Mg8Ua8UMMa8ZNaHIdba80NaHIdxa8ZNaHIdKMg8Ua8UMMa80NaHId8KMMMh8UaqaQa8L2ggcltfheaHIdyhUa8SaLa8L2gEcdtfgXhHa8LhOinaHIdbg8Wa8WaUNaecxfIdba8XaecwfIdbNa80aeIdbNa8ZaeclfIdbNMMMg8Wa8WM:tNa8UMh8UaHclfhHaeczfheaOcufgOmbkdndna8KmbJbbbbh8Wxeka8NaLc8S2fgOIdwaaaQcx2fgeIdwg8YNaOIdzaeIdbgBNaOIdaMg8Wa8WMMa8YNaOIdlaeIdlg83NaOIdCa8YNaOId3Mg8Wa8WMMa83NaOIdbaBNaOIdxa83NaOIdKMg8Wa8WMMaBNaOId8KMMMh8Wa8SagcdtfhHaqaEcltfheaOIdyhRa8LhOinaHIdbgUaUaRNaecxfIdba8YaecwfIdbNaBaeIdbNa83aeclfIdbNMMMgUaUM:tNa8WMh8WaHclfhHaeczfheaOcufgOmbka8W:lh8Wka8Va8U:lMh8Va81a8WMh81dndndna5aQfRbbc9:fPdbedkdna8Fa8Ea8EaAfydbaLSEaYaAfydbgXcdtfydbgAcu9hmbaYaLcdtfydbhAka8NaXc8S2fgOIdwaaaAcx2fgeIdwg8XNaOIdzaeIdbg80NaOIdaMg8Ua8UMMa8XNaOIdlaeIdlg8ZNaOIdCa8XNaOId3Mg8Ua8UMMa8ZNaOIdba80NaOIdxa8ZNaOIdKMg8Ua8UMMa80NaOId8KMMMh8Ua8SaAa8L2ggcdtfhHaqaXa8L2gEcltfheaOIdyhUa8LhOinaHIdbg8Wa8WaUNaecxfIdba8XaecwfIdbNa80aeIdbNa8ZaeclfIdbNMMMg8Wa8WM:tNa8UMh8UaHclfhHaeczfheaOcufgOmbkdndna8KmbJbbbbh8Wxeka8NaAc8S2fgOIdwaaaXcx2fgeIdwg80NaOIdzaeIdbg8ZNaOIdaMg8Wa8WMMa80NaOIdlaeIdlgUNaOIdCa80NaOId3Mg8Wa8WMMaUNaOIdba8ZNaOIdxaUNaOIdKMg8Wa8WMMa8ZNaOId8KMMMh8Wa8SaEcdtfhHaqagcltfheaOIdyh8Ya8LhOinaHIdbg8Xa8Xa8YNaecxfIdba80aecwfIdbNa8ZaeIdbNaUaeclfIdbNMMMg8Xa8XM:tNa8WMh8WaHclfhHaeczfheaOcufgOmbka8W:lh8Wka8Va8U:lMh8Va81a8WMh81xdkaYaAfydbgAaQSmbina8NaAc8S2fgHIdwa8XNaHIdza80NaHIdaMg8Ua8UMMa8XNaHIdla8ZNaHIdCa8XNaHId3Mg8Ua8UMMa8ZNaHIdba80NaHIdxa8ZNaHIdKMg8Ua8UMMa80NaHId8KMMMh8UaqaAa8L2cltfheaHIdyhUaXhHa8LhOinaHIdbg8Wa8WaUNaecxfIdba8XaecwfIdbNa80aeIdbNa8ZaeclfIdbNMMMg8Wa8WM:tNa8UMh8UaHclfhHaeczfheaOcufgOmbka8Va8U:lMh8VaYaAcdtfydbgAaQ9hmbkka5aLfRbbci9hmba8KTmbaYaLcdtfydbgAaLSmba8SagcdtfhXaaaQcx2fgeIdbh8XaeIdwh80aeIdlh8Zina8NaAc8S2fgHIdwa80NaHIdza8XNaHIdaMg8Ua8UMMa80NaHIdla8ZNaHIdCa80NaHId3Mg8Ua8UMMa8ZNaHIdba8XNaHIdxa8ZNaHIdKMg8Ua8UMMa8XNaHId8KMMMh8UaqaAa8L2cltfheaHIdyhUaXhHa8LhOinaHIdbg8Wa8WaUNaecxfIdba80aecwfIdbNa8XaeIdbNa8ZaeclfIdbNMMMg8Wa8WM:tNa8UMh8UaHclfhHaeczfheaOcufgOmbka81a8U:lMh81aYaAcdtfydbgAaL9hmbkkaKa81a8Va81a8V9DgeEUdwaKaQaLaea8Kcb9hGgeEBdlaKaLaQaeEBdbahcefgha8M9hmbkascjdfcbcj;qbz:rjjjb8Aa9shea8MhHinascjdfaeydbcA4cF8FGgOcFAaOcFA6EcdtfgOaOydbcefBdbaecxfheaHcufgHmbkcbhecbhHinascjdfaefgOydbhAaOaHBdbaAaHfhHaeclfgecj;qb9hmbkcbhea9shHinascjdfaHydbcA4cF8FGgOcFAaOcFA6EcdtfgOaOydbgOcefBdba9oaOcdtfaeBdbaHcxfhHa8Maecefge9hmbkadak9RgOci9Uh9tdnalTmbcbheaDhHinaHaeBdbaHclfhHalaecefge9hmbkkcbh9ua9pcbalz:rjjjbh3aOcO9Uh9va9tce4h9wcbh8Acbh8Jdnina8Pa9oa8Jcdtfydbcx2fgEIdwg8Ua889Emea8Aa9t9pmeJFFuuh8Wdna9wa8M9pmba8Pa9oa9wcdtfydbcx2fIdwJbb;aZNh8Wkdna8Ua8W9ETmba8Ua869ETmba8Aa9v0mdkdna3aCaEydlghcdtg9xfydbgAfg9yRbba3aCaEydbg8Kcdtg9zfydbgefg9ARbbVmba5a8KfRbbh9Bdna9maecdtfgHclfydbgOaHydbgHSmbaOaH9RhQaaaAcx2fhKaaaecx2fhXa9qaHcitfhecbhHcehgdnindnaDaeydbcdtfydbgOaASmbaDaeclfydbcdtfydbgLaASmbaOaLSmbaaaLcx2fgLIdbaaaOcx2fgOIdbg8X:tg8UaXIdlaOIdlg80:tg8YNaXIdba8X:tgBaLIdla80:tg8WN:tg8Za8UaKIdla80:tg83NaKIdba8X:tgRa8WN:tg80Na8WaXIdwaOIdwgU:tg8VNa8YaLIdwaU:tg8XN:tg8Ya8WaKIdwaU:tg81Na83a8XN:tg8WNa8XaBNa8Va8UN:tgUa8XaRNa81a8UN:tg8UNMMa8Za8ZNa8Ya8YNaUaUNMMa80a80Na8Wa8WNa8Ua8UNMMN:rJbbj8:N9FmdkaecwfheaHcefgHaQ6hgaQaH9hmbkkagceGTmba9wcefh9wxekdndndndna9Bc9:fPdebdka8KheinaDaecdtgefahBdbaYaefydbgea8K9hmbxikkdna8Fa8Ea8Ea9zfydbahSEaYa9zfydbg8Kcdtfydbgecu9hmbaYa9xfydbhekaDa9zfahBdbaehhkaDa8KcdtfahBdbka9Ace86bba9yce86bbaEIdwg8Ua86a86a8U9DEh86a9ucefh9ucecda9BceSEa8Afh8Aka8Jcefg8Ja8M9hmbkka9uTmddnalTmbcbhLcbhXindnaDaXcdtgefydbgOaXSmbaCaOcdtfydbh8KdnaXaCaefydb9hghmbaya8Kc8S2fgeayaXc8S2fgHIdbaeIdbMUdbaeaHIdlaeIdlMUdlaeaHIdwaeIdwMUdwaeaHIdxaeIdxMUdxaeaHIdzaeIdzMUdzaeaHIdCaeIdCMUdCaeaHIdKaeIdKMUdKaeaHId3aeId3MUd3aeaHIdaaeIdaMUdaaeaHId8KaeId8KMUd8KaeaHIdyaeIdyMUdyaITmbaIa8KcltfgeaIaXcltfgHIdbaeIdbMUdbaeaHIdlaeIdlMUdlaeaHIdwaeIdwMUdwaeaHIdxaeIdxMUdxka8LTmba8NaOc8S2fgea8NaXc8S2ggfgHIdbaeIdbMUdbaeaHIdlaeIdlMUdlaeaHIdwaeIdwMUdwaeaHIdxaeIdxMUdxaeaHIdzaeIdzMUdzaeaHIdCaeIdCMUdCaeaHIdKaeIdKMUdKaeaHId3aeId3MUd3aeaHIdaaeIdaMUdaaeaHId8KaeId8KMUd8KaeaHIdyaeIdyMUdya9raO2hKaqhHa8LhAinaHaKfgeaHaLfgOIdbaeIdbMUdbaeclfgQaOclfIdbaQIdbMUdbaecwfgQaOcwfIdbaQIdbMUdbaecxfgeaOcxfIdbaeIdbMUdbaHczfhHaAcufgAmbkahmbJbbbbJbbjZayagfgeIdyg8U:va8UJbbbb9BEaeIdwaaa8Kcx2fgHIdwg8UNaeIdzaHIdbg8WNaeIdaMg8Xa8XMMa8UNaeIdlaHIdlg8XNaeIdCa8UNaeId3Mg8Ua8UMMa8XNaeIdba8WNaeIdxa8XNaeIdKMg8Ua8UMMa8WNaeId8KMMM:lNg8Ua87a87a8U9DEh87kaLa9rfhLaXcefgXal9hmbkcbhHa8EheindnaeydbgOcuSmbdnaHaDaOcdtgAfydbgO9hmbcuhOa8EaAfydbgAcuSmbaDaAcdtfydbhOkaeaOBdbkaeclfhealaHcefgH9hmbkcbhHa8FheindnaeydbgOcuSmbdnaHaDaOcdtgAfydbgO9hmbcuhOa8FaAfydbgAcuSmbaDaAcdtfydbhOkaeaOBdbkaeclfhealaHcefgH9hmbkka87a86a8LEh87cbhHabhecbhOindnaCaDaeydbcdtfydbgLcdtfydbgAaCaDaeclfydbcdtfydbgKcdtfydbgQSmbaAaCaDaecwfydbcdtfydbg8KcdtfydbgXSmbaQaXSmbabaHcdtfgAaLBdbaAcwfa8KBdbaAclfaKBdbaHcifhHkaecxfheaOcifgOad6mbkdndna9imbaHhdxekdnaHak0mbaHhdxekdna85a879FmbaHhdxekJFFuuh85cbhdabhecbhOindna9ka0aeydbgAcdtfydbcdtfIdbg8Ua879ETmbaeclf8Pdbh9CabadcdtfgQaABdbaQclfa9C83dba8Ua85a85a8U9EEh85adcifhdkaecxfheaOcifgOaH6mbkkadak0mbxdkkascNefabadalaCz:cjjjbkdndnadak0mbadhOxekdna9imbadhOxekdna85a889FmbadhOxekcehLina85Jbb;aZNg8Ua88a8Ua889DEh8XJbbbbh8Udna6Tmba9khea6hHinaeIdbg8Wa8Ua8Wa8X9FEa8Ua8Wa8U9EEh8UaeclfheaHcufgHmbkkJFFuuh85cbhOabhecbhHindna9ka0aeydbgAcdtfydbcdtfIdbg8Wa8X9ETmbaeclf8Pdbh9CabaOcdtfgQaABdbaQclfa9C83dba8Wa85a85a8W9EEh85aOcifhOkaecxfheaHcifgHad6mbkdnaLaOad9hVceGmbadhOxdka8Ua86a86a8U9DEh86aOak9nmecbhLaOhda85a889FmbkkdnamcjjjjdGTmba9pcbalz:rjjjbhLdnaOTmbabheaOhHinaLaeydbgAfa5aAfRbbcl9h86bbaeclfheaHcufgHmbkkascNefabaOalaCz:cjjjbalTmbcbhQasyd:yehgindnaLaQfRbbTmbdna5aQfRbbgecl0mbceaetcQGmekdnaCaQcdtgKfydbgeaQSmbaaaQcx2fgHaaaecx2fge8Pdb83dbaHcwfaecwfydbBdbxekayaQc8S2fgeIdyg8Ua8UJL:3;rUNg8UMh88aeIdwa8UMhRaeIdla8UMh8VaeIdba8UMhUaeIdaa8UaaaQcx2fg8KIdwg89N:th81aeId3a8Ua8KIdlg8:N:th85aeIdKa8KIdbgZa8UN:th8YJbbbbhcaeIdCJbbbbMh87aeIdzJbbbbMhBaeIdxJbbbbMh83dndna8LTmbaQhAinJbbbba88a8NaAc8S2fgHIdyg8U:va8UJbbbb9BEh8UaqaAa8L2cltfheaHIdaa88Na81Mh81aHId3a88Na85Mh85aHIdKa88Na8YMh8YaHIdCa88Na87Mh87aHIdza88NaBMhBaHIdxa88Na83Mh83aHIdwa88NaRMhRaHIdla88Na8VMh8VaHIdba88NaUMhUa8LhHina81aecxfIdbg8ZaecwfIdbg8WNa8UN:th81a85a8ZaeclfIdbg8XNa8UN:th85a87a8Wa8XNa8UN:th87aUaeIdbg80a80Na8UN:thUa8Ya8Za80Na8UN:th8YaBa8Wa80Na8UN:thBa83a8Xa80Na8UN:th83aRa8Wa8WNa8UN:thRa8Va8Xa8XNa8UN:th8VaeczfheaHcufgHmbkaYaAcdtfydbgAaQ9hmbkaITmbaIaQcltfgeIdxhTaeIdwh9caeIdlhJaeIdbh8UxekJbbbbhTJbbbbh9cJbbbbhJJbbbbh8UkaBaU:vg8Xa8YNa81:ta87aBa83aU:vg8WN:tg81a8Va83a8WN:tg8Z:vg80a8Wa8YNa85:tg8VN:th85a9ca8Ua8XN:taJa8Ua8WN:tg83a80N:tg87aRaBa8XN:ta81a80N:tgB:vgR:mh81a83a8Z:vg9c:mhJdnJbbbba8Ua8UaU:vg9eN:ta83a9cN:ta87aRN:tg83:la88J:983:g81Ng8U9ETmba81a85NaJa8VNa9ea8YNaT:tMMa83:vhckaU:la8U9ETmba8Z:la8U9ETmbaB:la8U9ETmba9e:macNa8X:ma81acNa85aB:vMg85Na8W:maJacNa80:ma85Na8Va8Z:vMMg87Na8Y:maU:vMMMh88a9maKfgeclfydbgHaeydbge9RhXagaecitfhKJbbbbh8UdnaHaeSghmbJbbbbh8UaKheaXhAinaaaeclfydbcx2fgHIdwa89:tg8Wa8WNaHIdbaZ:tg8Wa8WNaHIdla8::tg8Wa8WNMMg8Waaaeydbcx2fgHIdwa89:tg8Xa8XNaHIdbaZ:tg8Xa8XNaHIdla8::tg8Xa8XNMMg8Xa8Ua8Ua8X9DEg8Ua8Ua8W9DEh8UaecwfheaAcufgAmbkka85a89:tg8Wa8WNa88aZ:tg8Wa8WNa87a8::tg8Wa8WNMMa8U:rg8Ua8UN9EmbdnahmbcbhAcehhdninaaaKclfydbcx2fgeIdbaaaKydbcx2fgHIdbg8X:tg8Ua8:aHIdlg80:tg8YNaZa8X:tgBaeIdla80:tg8WN:tg8Za8Ua87a80:tg83Na88a8X:tgRa8WN:tg80Na8Wa89aHIdwgU:tg8VNa8YaeIdwaU:tg8XN:tg8Ya8Wa85aU:tg81Na83a8XN:tg8WNa8XaBNa8Va8UN:tgUa8XaRNa81a8UN:tg8UNMMa8Za8ZNa8Ya8YNaUaUNMMa80a80Na8Wa8WNa8Ua8UNMMN:rJbbj8:N9FmeaKcwfhKaAcefgAaX6hhaXaA9hmbkkahceGmeka8Ka85Udwa8Ka87Udla8Ka88UdbkaQcefgQal9hmbkdndna8LTmba8LclthYa8Lcdth8KcbhKa8ShXindnaLaKfRbbTmba5aKfRbbclSmbJbbbbJbbjZa8NaKc8S2fIdyg8U:va8UJbbbb9BEh8UaaaCaKcdtfydbcx2fhHaqheaXhAa8LhQinaAa8UaecwfIdbaHIdwNaeIdbaHIdbNaeclfIdbaHIdlNMMaecxfIdbMNUdbaeczfheaAclfhAaQcufgQmbkkaqaYfhqaXa8KfhXaKcefgKal9hmbkarcd4hXavcd4hYasId:qeh8UasId:meh8WasId1eh8XazTmea8Lcdth8KcbhKindnaLaKfRbbTmbaiazaKcdtfydbgCaY2cdtfgeaaaKcx2fgHIdba8RNa8XMUdbaeaHIdla8RNa8WMUdlaeaHIdwa8RNa8UMUdwaoaCaX2cdtfhQashea8ShHa8LhCinaQaeydbcdtgAfaHIdbawaAfIdb:vUdbaeclfheaHclfhHaCcufgCmbkka8Sa8Kfh8SaKcefgKal9hmbxikkavcd4hCasId:qeh8UasId:meh8WasId1eh8XdnazTmbazheindna9pRbbTmbaiaeydbaC2cdtfgHaaIdba8RNa8XMUdbaHaaclfIdba8RNa8WMUdlaHaacwfIdba8RNa8UMUdwka9pcefh9paeclfheaacxfhaalcufglmbxikkaCcdtheindna9pRbbTmbaiaaIdba8RNa8XMUdbaiclfaaclfIdba8RNa8WMUdbaicwfaacwfIdba8RNa8UMUdbka9pcefh9paacxfhaaiaefhialcufglmbxdkka8Lcdth8KcbhKindnaLaKfRbbTmbaiaKaY2cdtfgeaaaKcx2fgHIdba8RNa8XMUdbaeaHIdla8RNa8WMUdlaeaHIdwa8RNa8UMUdwaoaKaX2cdtfhQashea8ShHa8LhCinaQaeydbcdtgAfaHIdbawaAfIdb:vUdbaeclfheaHclfhHaCcufgCmbkka8Sa8Kfh8SaKcefgKal9hmbkkdnamcjjjjlGTmbazmbaOTmbcbhLabheina5aeydbgAfRbbc3thKaecwfgXydbhHdndna8EaAcdtg8KfydbaeclfgYydbgCSmbcbhQa8FaCcdtfydbaA9hmekcjjjj94hQkaeaKaQVaAVBdba5aCfRbbc3thKdndna8EaCcdtfydbaHSmbcbhQa8FaHcdtfydbaC9hmekcjjjj94hQkaYaKaQVaCVBdba5aHfRbbc3thQdndna8EaHcdtfydbaASmbcbhCa8Fa8KfydbaH9hmekcjjjj94hCkaXaQaCVaHVBdbaecxfheaLcifgLaO6mbkkdnazTmbaOTmbaOheinabazabydbcdtfydbBdbabclfhbaecufgembkkdnaPTmbaPana86:rNUdbkasyd;8egecdtasc:Ceffc98fhHdninaeTmeaHydbcbyd:m:jjjbH:bjjjbbaHc98fhHaecufhexbkkascj;sbf8KjjjjbaOk;Yieouabydlhvabydbclfcbaicdtz:rjjjbhoadci9UhrdnadTmbdnalTmbaehwadhDinaoalawydbcdtfydbcdtfgqaqydbcefBdbawclfhwaDcufgDmbxdkkaehwadhDinaoawydbcdtfgqaqydbcefBdbawclfhwaDcufgDmbkkdnaiTmbcbhDaohwinawydbhqawaDBdbawclfhwaqaDfhDaicufgimbkkdnadci6mbinaecwfydbhwaeclfydbhDaeydbhidnalTmbalawcdtfydbhwalaDcdtfydbhDalaicdtfydbhikavaoaicdtfgqydbcitfaDBdbavaqydbcitfawBdlaqaqydbcefBdbavaoaDcdtfgqydbcitfawBdbavaqydbcitfaiBdlaqaqydbcefBdbavaoawcdtfgwydbcitfaiBdbavawydbcitfaDBdlawawydbcefBdbaecxfhearcufgrmbkkabydbcbBdbk:todDue99aicd4aifhrcehwinawgDcethwaDar6mbkcuaDcdtgraDcFFFFi0Ecbyd1:jjjbHjjjjbbhwaoaoyd9GgqcefBd9GaoaqcdtfawBdbawcFearz:rjjjbhkdnaiTmbalcd4hlaDcufhxcbhminamhDdnavTmbavamcdtfydbhDkcbadaDal2cdtfgDydlgwawcjjjj94SEgwcH4aw7c:F:b:DD2cbaDydbgwawcjjjj94SEgwcH4aw7c;D;O:B8J27cbaDydwgDaDcjjjj94SEgDcH4aD7c:3F;N8N27axGhwamcdthPdndndnavTmbakawcdtfgrydbgDcuSmeadavaPfydbal2cdtfgsIdbhzcehqinaqhrdnadavaDcdtfydbal2cdtfgqIdbaz9CmbaqIdlasIdl9CmbaqIdwasIdw9BmlkarcefhqakawarfaxGgwcdtfgrydbgDcu9hmbxdkkakawcdtfgrydbgDcuSmbadamal2cdtfgsIdbhzcehqinaqhrdnadaDal2cdtfgqIdbaz9CmbaqIdlasIdl9CmbaqIdwasIdw9BmikarcefhqakawarfaxGgwcdtfgrydbgDcu9hmbkkaramBdbamhDkabaPfaDBdbamcefgmai9hmbkkakcbyd:m:jjjbH:bjjjbbaoaoyd9GcufBd9GdnaeTmbaiTmbcbhDaehwinawaDBdbawclfhwaiaDcefgD9hmbkcbhDaehwindnaDabydbgrSmbawaearcdtfgrydbBdbaraDBdbkawclfhwabclfhbaiaDcefgD9hmbkkk:hrdvuv998Jjjjjbca9Rgoczfcwfcbyd11jjbBdbaocb8Pdj1jjb83izaocwfcbydN1jjbBdbaocb8Pd:m1jjb83ibdnadTmbaicd4hrdnabmbdnalTmbcbhwinaealawcdtfydbar2cdtfhDcbhiinaoczfaifgqaDaifIdbgkaqIdbgxaxak9EEUdbaoaifgqakaqIdbgxaxak9DEUdbaiclfgicx9hmbkawcefgwad9hmbxikkarcdthwcbhDincbhiinaoczfaifgqaeaifIdbgkaqIdbgxaxak9EEUdbaoaifgqakaqIdbgxaxak9DEUdbaiclfgicx9hmbkaeawfheaDcefgDad9hmbxdkkdnalTmbcbhwinabawcx2fgiaealawcdtfydbar2cdtfgDIdbUdbaiaDIdlUdlaiaDIdwUdwcbhiinaoczfaifgqaDaifIdbgkaqIdbgxaxak9EEUdbaoaifgqakaqIdbgxaxak9DEUdbaiclfgicx9hmbkawcefgwad9hmbxdkkarcdthlcbhwaehDinabawcx2fgiaeawar2cdtfgqIdbUdbaiaqIdlUdlaiaqIdwUdwcbhiinaoczfaifgqaDaifIdbgkaqIdbgxaxak9EEUdbaoaifgqakaqIdbgxaxak9DEUdbaiclfgicx9hmbkaDalfhDawcefgwad9hmbkkJbbbbaoIdbaoIdzgx:tgkakJbbbb9DEgkaoIdlaoIdCgm:tgPaPak9DEgkaoIdwaoIdKgP:tgsasak9DEhsdnabTmbadTmbJbbbbJbbjZas:vasJbbbb9BEhkinabakabIdbax:tNUdbabclfgoakaoIdbam:tNUdbabcwfgoakaoIdbaP:tNUdbabcxfhbadcufgdmbkkdnavTmbavaPUdwavamUdlavaxUdbkask:ZlewudnaeTmbcbhvabhoinaoavBdbaoclfhoaeavcefgv9hmbkkdnaiTmbcbhrinadarcdtfhwcbhDinalawaDcdtgvc:G1jjbfydbcdtfydbcdtfydbhodnabalawavfydbcdtfydbgqcdtfgkydbgvaqSmbinakabavgqcdtfgxydbgvBdbaxhkaqav9hmbkkdnabaocdtfgkydbgvaoSmbinakabavgocdtfgxydbgvBdbaxhkaoav9hmbkkdnaqaoSmbabaqaoaqao0Ecdtfaqaoaqao6EBdbkaDcefgDci9hmbkarcifgrai6mbkkdnaembcbskcbhxindnalaxcdtgvfydbax9hmbaxhodnabavfgDydbgvaxSmbaDhqinaqabavgocdtfgkydbgvBdbakhqaoav9hmbkkaDaoBdbkaxcefgxae9hmbkcbhvabhocbhkindndnavalydbgq9hmbdnavaoydbgq9hmbaoakBdbakcefhkxdkaoabaqcdtfydbBdbxekaoabaqcdtfydbBdbkaoclfhoalclfhlaeavcefgv9hmbkakk;Jiilud99duabcbaecltz:rjjjbhvdnalTmbadhoaihralhwinarcwfIdbhDarclfIdbhqavaoydbcltfgkarIdbakIdbMUdbakclfgxaqaxIdbMUdbakcwfgxaDaxIdbMUdbakcxfgkakIdbJbbjZMUdbaoclfhoarcxfhrawcufgwmbkkdnaeTmbavhraehkinarcxfgoIdbhDaocbBdbararIdbJbbbbJbbjZaD:vaDJbbbb9BEgDNUdbarclfgoaDaoIdbNUdbarcwfgoaDaoIdbNUdbarczfhrakcufgkmbkkdnalTmbinavadydbcltfgrcxfgkaicwfIdbarcwfIdb:tgDaDNaiIdbarIdb:tgDaDNaiclfIdbarclfIdb:tgDaDNMMgDakIdbgqaqaD9DEUdbadclfhdaicxfhialcufglmbkkdnaeTmbavcxfhrinabarIdbUdbarczfhrabclfhbaecufgembkkk8MbabaeadaialavcbcbcbcbcbaoarawaDz:bjjjbk8MbabaeadaialavaoarawaDaqakaxamaPz:bjjjbkRbababaeadaialavaoarawaDaqakaxcjjjjdVamz:bjjjbk:p8Koque99due99iuq998Jjjjjbc;Wb9Rgq8Kjjjjbcbhkaqcxfcbc;Kbz:rjjjb8Aaqcualcx2alc;v:Q;v:Qe0Ecbyd1:jjjbHjjjjbbgxBdxaqceBd2axaialavcbcbz:ejjjb8AaqcualcdtalcFFFFi0Egmcbyd1:jjjbHjjjjbbgiBdzaqcdBd2dndnJFF959eJbbjZawJbbjZawJbbjZ9DE:vawJ9VO:d869DEgw:lJbbb9p9DTmbaw:OhPxekcjjjj94hPkadci9Uhsarco9UhzdndnaombaPcd9imekdnalTmbaPcuf:YhwdnaoTmbcbhvaihHaxhOindndnaoavfRbbceGTmbavcjjjjlVhAxekdndnaOclfIdbawNJbbbZMgC:lJbbb9p9DTmbaC:OhAxekcjjjj94hAkaAcqthAdndnaOcwfIdbawNJbbbZMgC:lJbbb9p9DTmbaC:OhXxekcjjjj94hXkaAaXVhAdndnaOIdbawNJbbbZMgC:lJbbb9p9DTmbaC:OhXxekcjjjj94hXkaAaXcCtVhAkaHaABdbaHclfhHaOcxfhOalavcefgv9hmbxdkkaxhvaihOalhHindndnavIdbawNJbbbZMgC:lJbbb9p9DTmbaC:OhAxekcjjjj94hAkaAcCthAdndnavclfIdbawNJbbbZMgC:lJbbb9p9DTmbaC:OhXxekcjjjj94hXkaXcqtaAVhAdndnavcwfIdbawNJbbbZMgC:lJbbb9p9DTmbaC:OhXxekcjjjj94hXkaOaAaXVBdbavcxfhvaOclfhOaHcufgHmbkkadTmbcbhkaehvcbhOinakaiavclfydbcdtfydbgHaiavcwfydbcdtfydbgA9haiavydbcdtfydbgXaH9haXaA9hGGfhkavcxfhvaOcifgOad6mbkkarci9UhQdndnaz:Z:rJbbbZMgw:lJbbb9p9DTmbaw:Ohvxekcjjjj94hvkaQ:ZhLcbhKc:bwhHdndninashYaHhXaPhrakg8AaQ9pmeaXar9Rcd9imeavaXcufavaX9iEarcefavar9kEhzdnalTmbazcuf:YhwdnaoTmbcbhOaihPaxhvindndnaoaOfRbbceGTmbaOcjjjjlVhHxekdndnavclfIdbawNJbbbZMgC:lJbbb9p9DTmbaC:OhHxekcjjjj94hHkaHcqthHdndnavcwfIdbawNJbbbZMgC:lJbbb9p9DTmbaC:Ohsxekcjjjj94hskaHasVhHdndnavIdbawNJbbbZMgC:lJbbb9p9DTmbaC:Ohsxekcjjjj94hskaHascCtVhHkaPaHBdbaPclfhPavcxfhvalaOcefgO9hmbxdkkaxhvaihOalhPindndnavIdbawNJbbbZMgC:lJbbb9p9DTmbaC:OhHxekcjjjj94hHkaHcCthHdndnavclfIdbawNJbbbZMgC:lJbbb9p9DTmbaC:Ohsxekcjjjj94hskascqtaHVhHdndnavcwfIdbawNJbbbZMgC:lJbbb9p9DTmbaC:Ohsxekcjjjj94hskaOaHasVBdbavcxfhvaOclfhOaPcufgPmbkkcbhOdnadTmbaehvcbhPinaOaiavclfydbcdtfydbgHaiavcwfydbcdtfydbgs9haiavydbcdtfydbgAaH9haAas9hGGfhOavcxfhvaPcifgPad6mbkkaYhsaOhkaXhHazhPdnaOaQ9nmbaOhsa8AhkazhHarhPkdndnaKcl0mbdnaY:Zgwa8A:ZgC:taz:YgEar:Y:tg3aEaX:Y:tg5aO:Zg8EaL:tNNNawaL:ta5NaCa8E:tNaCaL:ta3Na8Eaw:tNM:vaEMJbbbZMgw:lJbbb9p9DTmbaw:Ohvxdkcjjjj94hvxekaPaHfcd9ThvkaKcefgKcs9hmbxdkka8AhkarhPkdndndnakmbJbbjZhwcbhicdhvaDmexdkalcd4alfhHcehOinaOgvcethOavaH6mbkcbhOaqcuavcdtgravcFFFFi0Ecbyd1:jjjbHjjjjbbgzBdCaqciBd2aqamcbyd1:jjjbHjjjjbbgXBdKaqclBd2dndndndnalTmbaPcuf:YhwaoTmecbhOaihHaxhPindndnaoaOfRbbceGTmbaOcjjjjlVhsxekdndnaPclfIdbawNJbbbZMgC:lJbbb9p9DTmbaC:Ohsxekcjjjj94hskascqthsdndnaPcwfIdbawNJbbbZMgC:lJbbb9p9DTmbaC:OhAxekcjjjj94hAkasaAVhsdndnaPIdbawNJbbbZMgC:lJbbb9p9DTmbaC:OhAxekcjjjj94hAkasaAcCtVhskaHasBdbaHclfhHaPcxfhPalaOcefgO9hmbxikkazcFearz:rjjjb8AcbhrcbhvxdkaxhOaihPalhHindndnaOIdbawNJbbbZMgC:lJbbb9p9DTmbaC:Ohsxekcjjjj94hskascCthsdndnaOclfIdbawNJbbbZMgC:lJbbb9p9DTmbaC:OhAxekcjjjj94hAkaAcqtasVhsdndnaOcwfIdbawNJbbbZMgC:lJbbb9p9DTmbaC:OhAxekcjjjj94hAkaPasaAVBdbaOcxfhOaPclfhPaHcufgHmbkkazcFearz:rjjjbhAavcufhocbhrcbhzindndndnaAaiazcdtgKfydbgHcm4aH7c:v;t;h;Ev2gvcs4av7aoGgPcdtfgsydbgOcuSmbcehvinaiaOcdtgOfydbaHSmdaPavfhOavcefhvaAaOaoGgPcdtfgsydbgOcu9hmbkkasazBdbarhvarcefhrxekaXaOfydbhvkaXaKfavBdbazcefgzal9hmbkcuarc8S2gOarc;D;O;f8U0EhvkcbhAaqavcbyd1:jjjbHjjjjbbgvBd3aqcvBd2avcbaOz:rjjjbhOdnadTmbaehiinJbbnnJbbjZaXaiydbgHcdtfydbgvaXaiclfydbgPcdtfydbgzSavaXaicwfydbgscdtfydbgKSGgoEh8FdnaxaPcx2fgPIdbaxaHcx2fgHIdbg8E:tgCaxascx2fgsIdlaHIdlg3:tgwNasIdba8E:tgEaPIdla3:tgaN:tgLaLNaaasIdwaHIdwg5:tghNawaPIdwa5:tgaN:tgwawNaaaENahaCN:tgCaCNMM:rgEJbbbb9ETmbaLaE:vhLaCaE:vhCawaE:vhwkaOavc8S2fgvavIdbawa8FaE:rNgEawNNgaMUdbavaCaEaCNghNggavIdlMUdlavaLaEaLNg8FNg8JavIdwMUdwavahawNghavIdxMUdxava8FawNg8KavIdzMUdzava8FaCNg8FavIdCMUdCavawaEaLa5Nawa8ENa3aCNMM:mg3Ng8ENgwavIdKMUdKavaCa8ENgCavId3MUd3avaLa8ENgLavIdaMUdaava8Ea3Ng8EavId8KMUd8KavaEavIdyMUdydnaombaOazc8S2fgvaaavIdbMUdbavagavIdlMUdlava8JavIdwMUdwavahavIdxMUdxava8KavIdzMUdzava8FavIdCMUdCavawavIdKMUdKavaCavId3MUd3avaLavIdaMUdaava8EavId8KMUd8KavaEavIdyMUdyaOaKc8S2fgvaaavIdbMUdbavagavIdlMUdlava8JavIdwMUdwavahavIdxMUdxava8KavIdzMUdzava8FavIdCMUdCavawavIdKMUdKavaCavId3MUd3avaLavIdaMUdaava8EavId8KMUd8KavaEavIdyMUdykaicxfhiaAcifgAad6mbkkcbhHaqcuarcdtgvarcFFFFi0Egicbyd1:jjjbHjjjjbbgPBdaaqcoBd2aqaicbyd1:jjjbHjjjjbbgiBd8KaqcrBd2aPcFeavz:rjjjbhzdnalTmbaXhPinJbbbbJbbjZaOaPydbgsc8S2fgvIdygw:vawJbbbb9BEavIdwaxcwfIdbgwNavIdzaxIdbgCNavIdaMgLaLMMawNavIdlaxclfIdbgLNavIdCawNavId3MgwawMMaLNavIdbaCNavIdxaLNavIdKMgwawMMaCNavId8KMMM:lNhwdndnazascdtgvfgsydbcuSmbaiavfIdbaw9ETmekasaHBdbaiavfawUdbkaPclfhPaxcxfhxalaHcefgH9hmbkkJbbbbhwdnarTmbinaiIdbgCawawaC9DEhwaiclfhiarcufgrmbkkakcd4akfhOcehiinaigvcethiavaO6mbkcbhiaqcuavcdtgOavcFFFFi0Ecbyd1:jjjbHjjjjbbgPBdyaPcFeaOz:rjjjbhsdnadTmbavcufhAcbhrcbhxindnaXaeaxcdtfgvydbcdtfydbgiaXavclfydbcdtfydbgOSmbaiaXavcwfydbcdtfydbgvSmbaOavSmbazavcdtfydbhHdndnazaOcdtfydbgvazaicdtfydbgi9pmbavaH9pmbaHhlaihoavhHxekdnaHai9pmbaHav9pmbaihlavhoxekavhlaHhoaihHkabarcx2fgvaHBdbavcwfaoBdbavclfalBdbdnasaoc:3F;N8N2alc:F:b:DD27aHc;D;O:B8J27aAGgOcdtfgvydbgicuSmbcehPinaPhvdnabaicx2fgiydbaH9hmbaiydlal9hmbaiydwaoSmikavcefhPasaOavfaAGgOcdtfgvydbgicu9hmbkkavarBdbarcefhrkaxcifgxad6mbkarci2hikdnaDmbcwhvxdkaw:rhwcwhvkaDawUdbkavcdthvdninavTmeavc98fgvaqcxffydbcbyd:m:jjjbH:bjjjbbxbkkaqc;Wbf8Kjjjjbaik:2ldwue9:8Jjjjjbc;Wb9Rgr8Kjjjjbcbhwarcxfcbc;Kbz:rjjjb8AdnabaeSmbabaeadcdtz:qjjjb8AkarcualcdtalcFFFFi0EgDcbyd1:jjjbHjjjjbbgqBdxarceBd2aqcbaialavcbarcxfz:djjjbcualcx2alc;v:Q;v:Qe0Ecbyd1:jjjbHjjjjbbhkarcxfaryd2gxcdtgmfakBdbaraxcefgPBd2akaialavcbcbz:ejjjb8AarcxfaPcdtfaDcbyd1:jjjbHjjjjbbgvBdbaraxcdfgiBd2arcxfaicdtfcuavalaeadaqz:fjjjbgecltaecjjjjiGEcbyd1:jjjbHjjjjbbgiBdbaiaeavakalz:gjjjbdnadTmbaoaoNhocbhwabhlcbhkindnaiavalydbgecdtfydbcdtfIdbao9ETmbalclf8PdbhsabawcdtfgqaeBdbaqclfas83dbawcifhwkalcxfhlakcifgkad6mbkkaxcifhlamarcxffcwfhkdninalTmeakydbcbyd:m:jjjbH:bjjjbbakc98fhkalcufhlxbkkarc;Wbf8Kjjjjbawk:FCoDud99rue99iul998Jjjjjbc;Wb9Rgw8KjjjjbdndnarmbcbhDxekawcxfcbc;Kbz:rjjjb8Aawcuadcx2adc;v:Q;v:Qe0Ecbyd1:jjjbHjjjjbbgqBdxawceBd2aqaeadaicbcbz:ejjjb8AawcuadcdtadcFFFFi0Egkcbyd1:jjjbHjjjjbbgxBdzawcdBd2adcd4adfhmceheinaegicetheaiam6mbkcbhPawcuaicdtgsaicFFFFi0Ecbyd1:jjjbHjjjjbbgzBdCawciBd2dndnar:ZgH:rJbbbZMgO:lJbbb9p9DTmbaO:Ohexekcjjjj94hekaicufhAc:bwhmcbhCadhXcbhQinaChLaeamgKcufaeaK9iEaPgDcefaeaD9kEhYdndnadTmbaYcuf:YhOaqhiaxheadhmindndnaiIdbaONJbbbZMg8A:lJbbb9p9DTmba8A:OhCxekcjjjj94hCkaCcCthCdndnaiclfIdbaONJbbbZMg8A:lJbbb9p9DTmba8A:OhExekcjjjj94hEkaEcqtaCVhCdndnaicwfIdbaONJbbbZMg8A:lJbbb9p9DTmba8A:OhExekcjjjj94hEkaeaCaEVBdbaicxfhiaeclfheamcufgmmbkazcFeasz:rjjjbh3cbh5cbhPindna3axaPcdtfydbgCcm4aC7c:v;t;h;Ev2gics4ai7aAGgmcdtfgEydbgecuSmbaeaCSmbcehiina3amaifaAGgmcdtfgEydbgecuSmeaicefhiaeaC9hmbkkaEaCBdba5aecuSfh5aPcefgPad9hmbxdkkazcFeasz:rjjjb8Acbh5kaDaYa5ar0giEhPaLa5aiEhCdna5arSmbaYaKaiEgmaP9Rcd9imbdndnaQcl0mbdnaX:ZgOaL:Zg8A:taY:Yg8EaD:Y:tg8Fa8EaK:Y:tgaa5:ZghaH:tNNNaOaH:taaNa8Aah:tNa8AaH:ta8FNahaO:tNM:va8EMJbbbZMgO:lJbbb9p9DTmbaO:Ohexdkcjjjj94hexekaPamfcd9Theka5aXaiEhXaQcefgQcs9hmekkdndnaCmbcihicbhDxekcbhiawakcbyd1:jjjbHjjjjbbg5BdKawclBd2aPcuf:Yh8AdndnadTmbaqhiaxheadhmindndnaiIdba8ANJbbbZMgO:lJbbb9p9DTmbaO:OhCxekcjjjj94hCkaCcCthCdndnaiclfIdba8ANJbbbZMgO:lJbbb9p9DTmbaO:OhExekcjjjj94hEkaEcqtaCVhCdndnaicwfIdba8ANJbbbZMgO:lJbbb9p9DTmbaO:OhExekcjjjj94hEkaeaCaEVBdbaicxfhiaeclfheamcufgmmbkazcFeasz:rjjjbh3cbhDcbhYindndndna3axaYcdtgKfydbgCcm4aC7c:v;t;h;Ev2gics4ai7aAGgmcdtfgEydbgecuSmbcehiinaxaecdtgefydbaCSmdamaifheaicefhia3aeaAGgmcdtfgEydbgecu9hmbkkaEaYBdbaDhiaDcefhDxeka5aefydbhika5aKfaiBdbaYcefgYad9hmbkcuaDc32giaDc;j:KM;jb0EhexekazcFeasz:rjjjb8AcbhDcbhekawaecbyd1:jjjbHjjjjbbgeBd3awcvBd2aecbaiz:rjjjbhEavcd4hKdnadTmbdnalTmbaKcdth3a5hCaqhealhmadhAinaEaCydbc32fgiaeIdbaiIdbMUdbaiaeclfIdbaiIdlMUdlaiaecwfIdbaiIdwMUdwaiamIdbaiIdxMUdxaiamclfIdbaiIdzMUdzaiamcwfIdbaiIdCMUdCaiaiIdKJbbjZMUdKaCclfhCaecxfheama3fhmaAcufgAmbxdkka5hmaqheadhCinaEamydbc32fgiaeIdbaiIdbMUdbaiaeclfIdbaiIdlMUdlaiaecwfIdbaiIdwMUdwaiaiIdxJbbbbMUdxaiaiIdzJbbbbMUdzaiaiIdCJbbbbMUdCaiaiIdKJbbjZMUdKamclfhmaecxfheaCcufgCmbkkdnaDTmbaEhiaDheinaiaiIdbJbbbbJbbjZaicKfIdbgO:vaOJbbbb9BEgONUdbaiclfgmaOamIdbNUdbaicwfgmaOamIdbNUdbaicxfgmaOamIdbNUdbaiczfgmaOamIdbNUdbaicCfgmaOamIdbNUdbaic3fhiaecufgembkkcbhCawcuaDcdtgYaDcFFFFi0Egicbyd1:jjjbHjjjjbbgeBdaawcoBd2awaicbyd1:jjjbHjjjjbbg3Bd8KaecFeaYz:rjjjbhxdnadTmbJbbjZJbbjZa8A:vaPceSEaoNgOaONh8AaKcdthPalheina8Aaec;81jjbalEgmIdwaEa5ydbgAc32fgiIdC:tgOaONamIdbaiIdx:tgOaONamIdlaiIdz:tgOaONMMNaqcwfIdbaiIdw:tgOaONaqIdbaiIdb:tgOaONaqclfIdbaiIdl:tgOaONMMMhOdndnaxaAcdtgifgmydbcuSmba3aifIdbaO9ETmekamaCBdba3aifaOUdbka5clfh5aqcxfhqaeaPfheadaCcefgC9hmbkkabaxaYz:qjjjb8AcrhikaicdthiinaiTmeaic98fgiawcxffydbcbyd:m:jjjbH:bjjjbbxbkkawc;Wbf8KjjjjbaDk:Ydidui99ducbhi8Jjjjjbca9Rglczfcwfcbyd11jjbBdbalcb8Pdj1jjb83izalcwfcbydN1jjbBdbalcb8Pd:m1jjb83ibdndnaembJbbjFhvJbbjFhoJbbjFhrxekadcd4cdthwincbhdinalczfadfgDabadfIdbgvaDIdbgoaoav9EEUdbaladfgDavaDIdbgoaoav9DEUdbadclfgdcx9hmbkabawfhbaicefgiae9hmbkalIdwalIdK:thralIdlalIdC:thoalIdbalIdz:thvkJbbbbavavJbbbb9DEgvaoaoav9DEgvararav9DEk9DeeuabcFeaicdtz:rjjjbhlcbhbdnadTmbindnalaeydbcdtfgiydbcu9hmbaiabBdbabcefhbkaeclfheadcufgdmbkkabk9teiucbcbyd:q:jjjbgeabcifc98GfgbBd:q:jjjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik;teeeudndnaeabVciGTmbabhixekdndnadcz9pmbabhixekabhiinaiaeydbBdbaiaeydlBdlaiaeydwBdwaiaeydxBdxaeczfheaiczfhiadc9Wfgdcs0mbkkadcl6mbinaiaeydbBdbaeclfheaiclfhiadc98fgdci0mbkkdnadTmbinaiaeRbb86bbaicefhiaecefheadcufgdmbkkabk:3eedudndnabciGTmbabhixekaecFeGc:b:c:ew2hldndnadcz9pmbabhixekabhiinaialBdxaialBdwaialBdlaialBdbaiczfhiadc9Wfgdcs0mbkkadcl6mbinaialBdbaiclfhiadc98fgdci0mbkkdnadTmbinaiae86bbaicefhiadcufgdmbkkabk9teiucbcbyd:q:jjjbgeabcrfc94GfgbBd:q:jjjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik9:eiuZbhedndncbyd:q:jjjbgdaecztgi9nmbcuheadai9RcFFifcz4nbcuSmekadhekcbabae9Rcifc98Gcbyd:q:jjjbfgdBd:q:jjjbdnadZbcztge9nmbadae9RcFFifcz4nb8Akkk:Iedbcjwk1eFFuuFFuuFFuuFFuFFFuFFFuFbbbbbbbbebbbdbbbbbbbebbbebbbdbbbbbbbbbbbeeeeebebbebbebebbbeebbbbbbbbbbbbeeeeeebebbeeebeebbbbebebbbbbbbbbbbbbbbbbbc1Dkxebbbdbbb:GNbb"),{}).then(function(B){(g=B.instance).exports.__wasm_call_ctors()});function e(B){if(!B)throw new Error("Assertion failed")}function t(B){return new Uint8Array(B.buffer,B.byteOffset,B.byteLength)}function i(B,r,o,n,C,Q,E,s){var c=g.exports.sbrk,d=c(4*s),b=c(o*n),h=c(o*Q),l=new Uint8Array(g.exports.memory.buffer);l.set(t(r),b),C&&l.set(t(C),h);var w=B(d,b,o,n,h,Q,E,s);new Uint8Array(g.exports.memory.buffer);var k=new Uint32Array(w);return t(k).set(l.subarray(d,d+4*w)),c(d-c(0)),k}var I={LockBorder:1,Sparse:2,ErrorAbsolute:4,Prune:8,Regularize:16,Permissive:32,_InternalDebug:1<<30}})(),function(){var g,A=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 a=WebAssembly.instantiate(function(I){for(var B=new Uint8Array(I.length),r=0;r<I.length;++r){var o=I.charCodeAt(r);B[r]=o>96?o-97:o>64?o-39:o+4}var n=0;for(r=0;r<I.length;++r)B[n++]=B[r]<60?A[B[r]]:64*(B[r]-60)+B[++r];return B.buffer.slice(0,n)}("b9H79TebbbeVx9Geueu9Geub9Gbb9Giuuueu9Gmuuuuuuuuuuu9999eu9Gvuuuuueu9Gwuuuuuuuub9Gxuuuuuuuuuuuueu9Gkuuuuuuuuuu99eu9Gouuuuuub9Gruuuuuuub9GluuuubiAOdilvorwDqqDkbiibeilve9Weiiviebeoweuec;G:Odkr;qeDo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8A9TW79O9V9Wt9F9I919P29K9nW79O2Wt79c9V919U9KbeX9TW79O9V9Wt9F9I919P29K9nW79O2Wt7bo39TW79O9V9Wt9F9J9V9T9W91tWJ2917tWV9c9V919U9K7br39TW79O9V9Wt9F9J9V9T9W91tW9nW79O2Wt9c9V919U9K7bDE9TW79O9V9Wt9F9J9V9T9W91tW9t9W9OWVW9c9V919U9K7bqL9TW79O9V9Wt9F9V9Wt9P9T9P96W9nW79O2Wtbkl79IV9RbxDwebcekdszq:x9DOdbkIbabaec9:fgefcufae9Ugeabci9Uadfcufad9Ugbaeab0Ek:w8KDPue99eux99dui99euo99iu8Jjjjjbc:WD9Rgm8KjjjjbdndnalmbcbhPxekamc:Cwfcbc;Kbz:ojjjb8Adndnalcb9imbaoal9nmbamcuaocdtaocFFFFi0Egscbyd;u1jjbHjjjjbbgzBd:CwamceBd;8wamascbyd;u1jjbHjjjjbbgHBd:GwamcdBd;8wamcualcdtalcFFFFi0Ecbyd;u1jjbHjjjjbbgOBd:KwamciBd;8waihsalhAinazasydbcdtfcbBdbasclfhsaAcufgAmbkaihsalhAinazasydbcdtfgCaCydbcefBdbasclfhsaAcufgAmbkaihsalhCcbhXindnazasydbcdtgQfgAydbcb9imbaHaQfaXBdbaAaAydbgQcjjjj94VBdbaQaXfhXkasclfhsaCcufgCmbkalci9UhLdnalci6mbcbhsaihAinaAcwfydbhCaAclfydbhXaHaAydbcdtfgQaQydbgQcefBdbaOaQcdtfasBdbaHaXcdtfgXaXydbgXcefBdbaOaXcdtfasBdbaHaCcdtfgCaCydbgCcefBdbaOaCcdtfasBdbaAcxfhAaLascefgs9hmbkkaihsalhAindnazasydbcdtgCfgXydbgQcu9kmbaXaQcFFFFrGgQBdbaHaCfgCaCydbaQ9RBdbkasclfhsaAcufgAmbxdkkamcuaocdtgsaocFFFFi0EgAcbyd;u1jjbHjjjjbbgzBd:CwamceBd;8wamaAcbyd;u1jjbHjjjjbbgHBd:GwamcdBd;8wamcualcdtalcFFFFi0Ecbyd;u1jjbHjjjjbbgOBd:KwamciBd;8wazcbasz:ojjjbhXalci9UhLaihsalhAinaXasydbcdtfgCaCydbcefBdbasclfhsaAcufgAmbkdnaoTmbcbhsaHhAaXhCaohQinaAasBdbaAclfhAaCydbasfhsaCclfhCaQcufgQmbkkdnalci6mbcbhsaihAinaAcwfydbhCaAclfydbhQaHaAydbcdtfgKaKydbgKcefBdbaOaKcdtfasBdbaHaQcdtfgQaQydbgQcefBdbaOaQcdtfasBdbaHaCcdtfgCaCydbgCcefBdbaOaCcdtfasBdbaAcxfhAaLascefgs9hmbkkaoTmbcbhsaohAinaHasfgCaCydbaXasfydb9RBdbasclfhsaAcufgAmbkkamaLcbyd;u1jjbHjjjjbbgsBd:OwamclBd;8wascbaLz:ojjjbhYamcuaLcK2alcjjjjd0Ecbyd;u1jjbHjjjjbbg8ABd:SwamcvBd;8wJbbbbhEdnalci6g3mbarcd4hKaihAa8AhsaLhrJbbbbh5inavaAclfydbaK2cdtfgCIdlh8EavaAydbaK2cdtfgXIdlhEavaAcwfydbaK2cdtfgQIdlh8FaCIdwhaaXIdwhhaQIdwhgasaCIdbg8JaXIdbg8KMaQIdbg8LMJbbnn:vUdbasclfaXIdlaCIdlMaQIdlMJbbnn:vUdbaQIdwh8MaCIdwh8NaXIdwhyascxfa8EaE:tg8Eagah:tggNa8FaE:tg8Faaah:tgaN:tgEJbbbbJbbjZa8Ja8K:tg8Ja8FNa8La8K:tg8Ka8EN:tghahNaEaENaaa8KNaga8JN:tgEaENMM:rg8K:va8KJbbbb9BEg8ENUdbasczfaEa8ENUdbascCfaha8ENUdbascwfa8Maya8NMMJbbnn:vUdba5a8KMh5aAcxfhAascKfhsarcufgrmbka5aL:Z:vJbbbZNhEkamcuaLcdtalcFFFF970Ecbyd;u1jjbHjjjjbbgCBd:WwamcoBd;8waEaq:ZNhEdna3mbcbhsaChAinaAasBdbaAclfhAaLascefgs9hmbkkaE:rhhcuh8PamcuaLcltalcFFFFd0Ecbyd;u1jjbHjjjjbbgIBd:0wamcrBd;8wcbaIa8AaCaLz:djjjb8AJFFuuhyJFFuuh8RJFFuuh8Sdnalci6gXmbJFFuuh8Sa8AhsaLhAJFFuuh8RJFFuuhyinascwfIdbgEayayaE9EEhyasclfIdbgEa8Ra8RaE9EEh8RasIdbgEa8Sa8SaE9EEh8SascKfhsaAcufgAmbkkahJbbbZNhgamaocetgscuaocu9kEcbyd;u1jjbHjjjjbbgABd:4waAcFeasz:ojjjbhCdnaXmbcbhAJFFuuhEa8Ahscuh8PinascwfIdbay:tghahNasIdba8S:tghahNasclfIdba8R:tghahNMM:rghaEa8PcuSahaE9DVgXEhEaAa8PaXEh8PascKfhsaLaAcefgA9hmbkkamczfcbcjwz:ojjjb8Aamcwf9cb83ibam9cb83ibagaxNhRJbbjZak:th8Ncbh8UJbbbbh8VJbbbbh8WJbbbbh8XJbbbbh8YJbbbbh8ZJbbbbh80cbh81cbhPinJbbbbhEdna8UTmbJbbjZa8U:Z:vhEkJbbbbhhdna80a80Na8Ya8YNa8Za8ZNMMg8KJbbbb9BmbJbbjZa8K:r:vhhka8XaENh5a8WaENh8Fa8VaENhaa8PhQdndndndndna8UaPVTmbamydwgBTmea80ahNh8Ja8ZahNh8La8YahNh8Maeamydbcdtfh83cbh3JFFuuhEcvhXcuhQindnaza83a3cdtfydbcdtgsfydbgvTmbaOaHasfydbcdtfhAindndnaCaiaAydbgKcx2fgsclfydbgrcetf8Vebcs4aCasydbgLcetf8Vebcs4faCascwfydbglcetf8Vebcs4fgombcbhsxekcehsazaLcdtfydbgLceSmbcehsazarcdtfydbgrceSmbcehsazalcdtfydbglceSmbdnarcdSaLcdSfalcdSfcd6mbaocefhsxekaocdfhskdnasaX9kmba8AaKcK2fgLIdwa5:thhaLIdla8F:th8KaLIdbaa:th8EdndnakJbbbb9DTmba8E:lg8Ea8K:lg8Ka8Ea8K9EEg8Kah:lgha8Kah9EEag:vJbbjZMhhxekahahNa8Ea8ENa8Ka8KNMM:rag:va8NNJbbjZMJ9VO:d86JbbjZaLIdCa8JNaLIdxa8MNa8LaLIdzNMMakN:tghahJ9VO:d869DENhhkaKaQasaX6ahaE9DVgLEhQasaXaLEhXahaEaLEhEkaAclfhAavcufgvmbkka3cefg3aB9hmbkkaQcu9hmekama5Ud:ODama8FUd:KDamaaUd:GDamcuBd:qDamcFFF;7rBdjDaIcba8AaYamc:GDfakJbbbb9Damc:qDfamcjDfz:ejjjbamyd:qDhQdndnaxJbbbb9ETmba8UaD6mbaQcuSmeceh3amIdjDaR9EmixdkaQcu9hmekdna8UTmbdnamydlgza8Uci2fgsciGTmbadasfcba8Uazcu7fciGcefz:ojjjb8AkabaPcltfgzam8Pib83dbazcwfamcwf8Pib83dbaPcefhPkc3hzinazc98Smvamc:Cwfazfydbcbyd;y1jjbH:bjjjbbazc98fhzxbkkcbh3a8Uaq9pmbamydwaCaiaQcx2fgsydbcetf8Vebcs4aCascwfydbcetf8Vebcs4faCasclfydbcetf8Vebcs4ffaw9nmekcbhscbhAdna81TmbcbhAamczfhXinamczfaAcdtfaXydbgLBdbaXclfhXaAaYaLfRbbTfhAa81cufg81mbkkamydwhlamydbhXam9cu83i:GDam9cu83i:ODam9cu83i:qDam9cu83i:yDaAc;8eaAclfc:bd6Eh81inamcjDfasfcFFF;7rBdbasclfgscz9hmbka81cdthBdnalTmbaeaXcdtfhocbhrindnazaoarcdtfydbcdtgsfydbgvTmbaOaHasfydbcdtfhAcuhLcuhsinazaiaAydbgKcx2fgXclfydbcdtfydbazaXydbcdtfydbfazaXcwfydbcdtfydbfgXasaXas6gXEhsaKaLaXEhLaAclfhAavcufgvmbkaLcuSmba8AaLcK2fgAIdway:tgEaENaAIdba8S:tgEaENaAIdla8R:tgEaENMM:rhEcbhAindndnasamc:qDfaAfgvydbgX6mbasaX9hmeaEamcjDfaAfIdb9FTmekavasBdbamc:GDfaAfaLBdbamcjDfaAfaEUdbxdkaAclfgAcz9hmbkkarcefgral9hmbkkamczfaBfhLcbhscbhAindnamc:GDfasfydbgXcuSmbaLaAcdtfaXBdbaAcefhAkasclfgscz9hmbkaAa81fg81TmbJFFuuhhcuhKamczfhsa81hvcuhLina8AasydbgXcK2fgAIdway:tgEaENaAIdba8S:tgEaENaAIdla8R:tgEaENMM:rhEdndnazaiaXcx2fgAclfydbcdtfydbazaAydbcdtfydbfazaAcwfydbcdtfydbfgAaL6mbaAaL9hmeaEah9DTmekaEhhaAhLaXhKkasclfhsavcufgvmbkaKcuSmbaKhQkdnamaiaQcx2fgrydbarclfydbarcwfydbaCabaeadaPawaqa3z:fjjjbTmbaPcefhPJbbbbh8VJbbbbh8WJbbbbh8XJbbbbh8YJbbbbh8ZJbbbbh80kcbhXinaOaHaraXcdtfydbcdtgAfydbcdtfgKhsazaAfgvydbgLhAdnaLTmbdninasydbaQSmeasclfhsaAcufgATmdxbkkasaKaLcdtfc98fydbBdbavavydbcufBdbkaXcefgXci9hmbka8AaQcK2fgsIdbhEasIdlhhasIdwh8KasIdxh8EasIdzh5asIdCh8FaYaQfce86bba80a8FMh80a8Za5Mh8Za8Ya8EMh8Ya8Xa8KMh8Xa8WahMh8Wa8VaEMh8Vamydxh8Uxbkkamc:WDf8KjjjjbaPk;Vvivuv99lu8Jjjjjbca9Rgv8Kjjjjbdndnalcw0mbaiydbhoaeabcitfgralcdtcufBdlaraoBdbdnalcd6mbaiclfhoalcufhwarcxfhrinaoydbhDarcuBdbarc98faDBdbarcwfhraoclfhoawcufgwmbkkalabfhrxekcbhDavczfcwfcbBdbav9cb83izavcwfcbBdbav9cb83ibJbbjZhqJbbjZhkinadaiaDcdtfydbcK2fhwcbhrinavczfarfgoawarfIdbgxaoIdbgm:tgPakNamMgmUdbavarfgoaPaxam:tNaoIdbMUdbarclfgrcx9hmbkJbbjZaqJbbjZMgq:vhkaDcefgDal9hmbkcbhoadcbcecdavIdlgxavIdwgm9GEgravIdbgPam9GEaraPax9GEgscdtgrfhzavczfarfIdbhxaihralhwinaiaocdtfgDydbhHaDarydbgOBdbaraHBdbarclfhraoazaOcK2fIdbax9Dfhoawcufgwmbkaeabcitfhrdndnaocv6mbaoalc98f6mekaraiydbBdbaralcdtcufBdlaiclfhoalcufhwarcxfhrinaoydbhDarcuBdbarc98faDBdbarcwfhraoclfhoawcufgwmbkalabfhrxekaraxUdbararydlc98GasVBdlabcefaeadaiaoz:djjjbhwararydlciGawabcu7fcdtVBdlawaeadaiaocdtfalao9Rz:djjjbhrkavcaf8Kjjjjbark:;idiud99dndnabaecitfgwydlgDciGgqciSmbinabcbaDcd4gDalaqcdtfIdbawIdb:tgkJbbbb9FEgwaecefgefadaialavaoarz:ejjjbak:larIdb9FTmdabawaD7aefgecitfgwydlgDciGgqci9hmbkkabaecitfgeclfhbdnavmbcuhwindnaiaeydbgDfRbbmbadaDcK2fgqIdwalIdw:tgkakNaqIdbalIdb:tgkakNaqIdlalIdl:tgkakNMM:rgkarIdb9DTmbarakUdbaoaDBdbkaecwfheawcefgwabydbcd46mbxdkkcuhwindnaiaeydbgDfRbbmbadaDcK2fgqIdbalIdb:t:lgkaqIdlalIdl:t:lgxakax9EEgkaqIdwalIdw:t:lgxakax9EEgkarIdb9DTmbarakUdbaoaDBdbkaecwfheawcefgwabydbcd46mbkkk;llevudnabydwgxaladcetfgm8Vebcs4alaecetfgP8Vebgscs4falaicetfgz8Vebcs4ffaD0abydxaq9pVakVgDce9hmbavawcltfgxab8Pdb83dbaxcwfabcwfgx8Pdb83dbdnaxydbgqTmbaoabydbcdtfhxaqhsinalaxydbcetfcFFi87ebaxclfhxascufgsmbkkdnabydxglci2gsabydlgxfgkciGTmbarakfcbalaxcu7fciGcefz:ojjjb8Aabydxci2hsabydlhxabydwhqkab9cb83dwababydbaqfBdbabascifc98GaxfBdlaP8Vebhscbhxkdnascztcz91cu9kmbabaxcefBdwaPax87ebaoabydbcdtfaxcdtfaeBdbkdnam8Uebcu9kmbababydwgxcefBdwamax87ebaoabydbcdtfaxcdtfadBdbkdnaz8Uebcu9kmbababydwgxcefBdwazax87ebaoabydbcdtfaxcdtfaiBdbkarabydlfabydxci2faPRbb86bbarabydlfabydxci2fcefamRbb86bbarabydlfabydxci2fcdfazRbb86bbababydxcefBdxaDk8LbabaeadaialavaoarawaDaDaqJbbbbz:cjjjbk;Nkovud99euv99eul998Jjjjjbc:W;ae9Rgo8KjjjjbdndnadTmbavcd4hrcbhwcbhDindnaiaeclfydbar2cdtfgvIdbaiaeydbar2cdtfgqIdbgk:tgxaiaecwfydbar2cdtfgmIdlaqIdlgP:tgsNamIdbak:tgzavIdlaP:tgPN:tgkakNaPamIdwaqIdwgH:tgONasavIdwaH:tgHN:tgPaPNaHazNaOaxN:tgxaxNMM:rgsJbbbb9Bmbaoc:W:qefawcx2fgAakas:vUdwaAaxas:vUdlaAaPas:vUdbaoc8Wfawc8K2fgAaq8Pdb83dbaAav8Pdb83dxaAam8Pdb83dKaAcwfaqcwfydbBdbaAcCfavcwfydbBdbaAcafamcwfydbBdbawcefhwkaecxfheaDcifgDad6mbkab9cb83dbabcyf9cb83dbabcaf9cb83dbabcKf9cb83dbabczf9cb83dbabcwf9cb83dbawTmeaocbBd8Sao9cb83iKao9cb83izaoczfaoc8Wfawci2cxaoc8Sfcbcrz1jjjbaoIdKhCaoIdChXaoIdzhQao9cb83iwao9cb83ibaoaoc:W:qefawcxaoc8Sfcbciz1jjjbJbbjZhkaoIdwgPJbbbbJbbjZaPaPNaoIdbgPaPNaoIdlgsasNMM:rgx:vaxJbbbb9BEgzNhxasazNhsaPazNhzaoc:W:qefheawhvinaecwfIdbaxNaeIdbazNasaeclfIdbNMMgPakaPak9DEhkaecxfheavcufgvmbkabaCUdwabaXUdlabaQUdbabaoId3UdxdndnakJ;n;m;m899FmbJbbbbhPaoc:W:qefheaoc8WfhvinaCavcwfIdb:taecwfIdbgHNaQavIdb:taeIdbgONaXavclfIdb:taeclfIdbgLNMMaxaHNazaONasaLNMM:vgHaPaHaP9EEhPavc8KfhvaecxfheawcufgwmbkabaxUd8KabasUdaabazUd3abaCaxaPN:tUdKabaXasaPN:tUdCabaQazaPN:tUdzabJbbjZakakN:t:rgkUdydndnaxJbbj:;axJbbj:;9GEgPJbbjZaPJbbjZ9FEJbb;:9cNJbbbZJbbb:;axJbbbb9GEMgP:lJbbb9p9DTmbaP:Ohexekcjjjj94hekabae86b8UdndnasJbbj:;asJbbj:;9GEgPJbbjZaPJbbjZ9FEJbb;:9cNJbbbZJbbb:;asJbbbb9GEMgP:lJbbb9p9DTmbaP:Ohvxekcjjjj94hvkabav86bRdndnazJbbj:;azJbbj:;9GEgPJbbjZaPJbbjZ9FEJbb;:9cNJbbbZJbbb:;azJbbbb9GEMgP:lJbbb9p9DTmbaP:Ohqxekcjjjj94hqkabaq86b8SdndnaecKtcK91:YJbb;:9c:vax:t:lavcKtcK91:YJbb;:9c:vas:t:laqcKtcK91:YJbb;:9c:vaz:t:lakMMMJbb;:9cNJbbjZMgk:lJbbb9p9DTmbak:Ohexekcjjjj94hekaecFbaecFb9iEhexekabcjjj;8iBdycFbhekabae86b8Vxekab9cb83dbabcyf9cb83dbabcaf9cb83dbabcKf9cb83dbabczf9cb83dbabcwf9cb83dbkaoc:W;aef8Kjjjjbk;Iwwvul99iud99eue99eul998Jjjjjbcje9Rgr8Kjjjjbavcd4hwaicd4hDdndnaoTmbarc;abfcbaocdtgvz:ojjjb8Aarc;Gbfcbavz:ojjjb8AarhvarcafhiaohqinavcFFF97BdbaicFFF;7rBdbaiclfhiavclfhvaqcufgqmbkdnadTmbcbhkinaeakaD2cdtfgvIdwhxavIdlhmavIdbhPalakaw2cdtfIdbhsarc;abfhzarhiarc;GbfhHarcafhqcj1jjbhvaohOinasavcwfIdbaxNavIdbaPNavclfIdbamNMMgAMhCakhXdnaAas:tgAaqIdbgQ9DgLmbaHydbhXkaHaXBdbakhXdnaCaiIdbgK9EmbazydbhXaKhCkazaXBdbaiaCUdbaqaAaQaLEUdbavcxfhvaqclfhqaHclfhHaiclfhiazclfhzaOcufgOmbkakcefgkad9hmbkkadThkJbbbbhCcbhXarc;abfhvarc;Gbfhicbhqinalavydbgzaw2cdtfIdbalaiydbgHaw2cdtfIdbaeazaD2cdtfgzIdwaeaHaD2cdtfgHIdw:tgsasNazIdbaHIdb:tgsasNazIdlaHIdl:tgsasNMM:rMMgsaCasaC9EgzEhCaqaXazEhXaiclfhiavclfhvaoaqcefgq9hmbkaCJbbbZNhKxekadThkcbhXJbbbbhKkJbbbbhCdnaearc;abfaXcdtgifydbgqaD2cdtfgvIdwaearc;GbfaifydbgzaD2cdtfgiIdwgm:tgsasNavIdbaiIdbgY:tgAaANavIdlaiIdlgP:tgQaQNMM:rgxJbbbb9ETmbaxalaqaw2cdtfIdbMalazaw2cdtfIdb:taxaxM:vhCkasaCNamMhmaQaCNaPMhPaAaCNaYMhYdnakmbaDcdthvawcdthiindnalIdbg8AaecwfIdbam:tgCaCNaeIdbaY:tgsasNaeclfIdbaP:tgAaANMM:rgQMgEaK9ETmbJbbbbhxdnaQJbbbb9ETmbaEaK:taQaQM:vhxkaxaCNamMhmaxaANaPMhPaxasNaYMhYa8AaKaQMMJbbbZNhKkaeavfhealaifhladcufgdmbkkabaKUdxabamUdwabaPUdlabaYUdbarcjef8Kjjjjbkjeeiu8Jjjjjbcj8W9Rgr8Kjjjjbaici2hwdnaiTmbawceawce0EhDarhiinaiaeadRbbcdtfydbBdbadcefhdaiclfhiaDcufgDmbkkabarawaladaoz:hjjjbarcj8Wf8Kjjjjbk:Reeeu8Jjjjjbca9Rgo8Kjjjjbab9cb83dbabcyf9cb83dbabcaf9cb83dbabcKf9cb83dbabczf9cb83dbabcwf9cb83dbdnadTmbaocbBd3ao9cb83iwao9cb83ibaoaeadaialaoc3falEavcbalEcrz1jjjbabao8Pib83dbabao8Piw83dwkaocaf8Kjjjjbk:3lequ8JjjjjbcjP9Rgl8Kjjjjbcbhvalcjxfcbaiz:ojjjb8AdndnadTmbcjehoaehrincuhwarhDcuhqavhkdninawakaoalcjxfaDcefRbbfRbb9RcFeGci6aoalcjxfaDRbbfRbb9RcFeGci6faoalcjxfaDcdfRbbfRbb9RcFeGci6fgxaq9mgmEhwdnammbaxce0mdkaxaqaxaq9kEhqaDcifhDadakcefgk9hmbkkaeawci2fgDcdfRbbhqaDcefRbbhxaDRbbhkaeavci2fgDcifaDawav9Rci2z:rjjjb8Aakalcjxffaocefgo86bbaxalcjxffao86bbaDcdfaq86bbaDcefax86bbaDak86bbaqalcjxffao86bbarcifhravcefgvad9hmbkalcFeaicetz:ojjjbhoadci2gDceaDce0EhqcbhxindnaoaeRbbgkcetfgw8UebgDcu9kmbawax87ebaocjlfaxcdtfabakcdtfydbBdbaxhDaxcefhxkaeaD86bbaecefheaqcufgqmbkaxcdthDxekcbhDkabalcjlfaDz:njjjb8AalcjPf8Kjjjjbk9teiucbcbyd;C1jjbgeabcifc98GfgbBd;C1jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik;teeeudndnaeabVciGTmbabhixekdndnadcz9pmbabhixekabhiinaiaeydbBdbaiaeydlBdlaiaeydwBdwaiaeydxBdxaeczfheaiczfhiadc9Wfgdcs0mbkkadcl6mbinaiaeydbBdbaeclfheaiclfhiadc98fgdci0mbkkdnadTmbinaiaeRbb86bbaicefhiaecefheadcufgdmbkkabk:3eedudndnabciGTmbabhixekaecFeGc:b:c:ew2hldndnadcz9pmbabhixekabhiinaialBdxaialBdwaialBdlaialBdbaiczfhiadc9Wfgdcs0mbkkadcl6mbinaialBdbaiclfhiadc98fgdci0mbkkdnadTmbinaiae86bbaicefhiadcufgdmbkkabk9teiucbcbyd;C1jjbgeabcrfc94GfgbBd;C1jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik9:eiuZbhedndncbyd;C1jjbgdaecztgi9nmbcuheadai9RcFFifcz4nbcuSmekadhekcbabae9Rcifc98Gcbyd;C1jjbfgdBd;C1jjbdnadZbcztge9nmbadae9RcFFifcz4nb8Akk:;Deludndndnadch9pmbabaeSmdaeabadfgi9Rcbadcet9R0mekabaead;8qbbxekaeab7ciGhldndndnabae9pmbdnalTmbadhvabhixikdnabciGmbadhvabhixdkadTmiabaeRbb86bbadcufhvdnabcefgiciGmbaecefhexdkavTmiabaeRbe86beadc9:fhvdnabcdfgiciGmbaecdfhexdkavTmiabaeRbd86bdadc99fhvdnabcifgiciGmbaecifhexdkavTmiabaeRbi86biabclfhiaeclfheadc98fhvxekdnalmbdnaiciGTmbadTmlabadcufgifglaeaifRbb86bbdnalciGmbaihdxekaiTmlabadc9:fgifglaeaifRbb86bbdnalciGmbaihdxekaiTmlabadc99fgifglaeaifRbb86bbdnalciGmbaihdxekaiTmlabadc98fgdfaeadfRbb86bbkadcl6mbdnadc98fgocd4cefciGgiTmbaec98fhlabc98fhvinavadfaladfydbBdbadc98fhdaicufgimbkkaocx6mbaec9Wfhvabc9WfhoinaoadfgicxfavadfglcxfydbBdbaicwfalcwfydbBdbaiclfalclfydbBdbaialydbBdbadc9Wfgdci0mbkkadTmdadhidnadciGglTmbaecufhvabcufhoadhiinaoaifavaifRbb86bbaicufhialcufglmbkkadcl6mdaec98fhlabc98fhvinavaifgecifalaifgdcifRbb86bbaecdfadcdfRbb86bbaecefadcefRbb86bbaeadRbb86bbaic98fgimbxikkavcl6mbdnavc98fglcd4cefcrGgdTmbavadcdt9RhvinaiaeydbBdbaeclfheaiclfhiadcufgdmbkkalc36mbinaiaeydbBdbaiaeydlBdlaiaeydwBdwaiaeydxBdxaiaeydzBdzaiaeydCBdCaiaeydKBdKaiaeyd3Bd3aecafheaicafhiavc9Gfgvci0mbkkavTmbdndnavcrGgdmbavhlxekavc94GhlinaiaeRbb86bbaicefhiaecefheadcufgdmbkkavcw6mbinaiaeRbb86bbaiaeRbe86beaiaeRbd86bdaiaeRbi86biaiaeRbl86blaiaeRbv86bvaiaeRbo86boaiaeRbr86braicwfhiaecwfhealc94fglmbkkabkk9Tdbcjwk9ubbjZbbbbbbbbbbbbbbjZbbbbbbbbbbbbbbjZ86;nAZ86;nAZ86;nAZ86;nA:;86;nAZ86;nAZ86;nAZ86;nA:;86;nAZ86;nAZ86;nAZ86;nA:;bc;uwkxebbbdbbb9GNbb"),{}).then(function(I){(g=I.instance).exports.__wasm_call_ctors()});function e(I){if(!I)throw new Error("Assertion failed")}function t(I){return new Uint8Array(I.buffer,I.byteOffset,I.byteLength)}function i(I){var B=new Float32Array(g.exports.memory.buffer,I,12);return{centerX:B[0],centerY:B[1],centerZ:B[2],radius:B[3],coneApexX:B[4],coneApexY:B[5],coneApexZ:B[6],coneAxisX:B[7],coneAxisY:B[8],coneAxisZ:B[9],coneCutoff:B[10]}}}();let te=0;class uI{constructor(A){if(this.downloadParallelism=A.downloadParallelism==null?8:A.downloadParallelism,this.timeout=A.timeout!=null?A.timeout:5e3,this.renderer=A.renderer,this.zUpToYUpMatrix=new z.Matrix4,this.zUpToYUpMatrix.set(1,0,0,0,0,0,-1,0,0,1,0,0,0,0,0,1),this.maxCachedItems=100,this.proxy=A.proxy,A&&(this.meshCallback=A.meshCallback,this.pointsCallback=A.pointsCallback,A.maxCachedItems!=null&&(this.maxCachedItems=A.maxCachedItems)),this.gltfLoader=new _i,this.gltfLoader.register(a=>({name:"KHR_spz_gaussian_splats_compression"})),A&&A.dracoLoader)this.gltfLoader.setDRACOLoader(A.dracoLoader),this.hasDracoLoader=!0;else{const a=new aI;a.setDecoderPath("https://storage.googleapis.com/ogc-3d-tiles/draco/"),this.dracoLoader=a,this.gltfLoader.setDRACOLoader(a),this.gltfLoader.hasDracoLoader=!0}if(A&&A.ktx2Loader)this.gltfLoader.setKTX2Loader(A.ktx2Loader),this.hasKTX2Loader=!0;else if(A&&A.renderer){const a=new ca;a.setTranscoderPath("https://storage.googleapis.com/ogc-3d-tiles/basis/").detectSupport(A.renderer),this.ktx2loader=a,this.gltfLoader.setKTX2Loader(a),this.gltfLoader.hasKTX2Loader=!0}this.gltfLoader.setMeshoptDecoder(bI),this.hasMeshOptDecoder=!0,this.b3dmDecoder=new Zi(this.gltfLoader),this.splatsDecoder=new lB(this.gltfLoader,this.renderer),this.cache=new Vi,this.register={},this.ready=[],this.downloads=[],this.nextReady=[],this.nextDownloads=[]}update(){const A=this;te<A.downloadParallelism&&A._download(),A._loadBatch()}_scheduleDownload(A){this.downloads.unshift(A)}_download(){do{if(this.nextDownloads.length==0&&(this._getNextDownloads(),this.nextDownloads.length==0))return;for(;this.nextDownloads.length>0;){const A=this.nextDownloads.shift();A&&A.shouldDoDownload()&&A.doDownload()}}while(this.concurrentDownloads<this.downloadParallelism)}_meshReceived(A,a,e,t,i,I,B){this.ready.unshift([A,a,e,t,i,I,B])}_loadBatch(){for(this.nextReady.length==0&&this._getNextReady();this.nextReady.length>0;){const A=this.nextReady.shift();if(!A)return;const a=A[0],e=A[1],t=A[2],i=a.get(t);i&&e[t]&&Object.keys(e[t]).forEach(I=>{const B=e[t][I];B&&(a.put(t,B(i)),e[t][I]=null)}),this.nextReady.length==0&&this._getNextReady()}}_getNextDownloads(){let A=Number.POSITIVE_INFINITY,a=-1;for(let B=this.downloads.length-1;B>=0;B--)this.downloads[B].shouldDoDownload()?this.downloads[B].distanceFunction||this.nextDownloads.push(this.downloads.splice(B,1)[0]):this.downloads.splice(B,1);if(this.nextDownloads.length>0)return;let e,t=0,i=Number.MAX_SAFE_INTEGER,I=-1;for(let B=this.downloads.length-1;B>=0;B--){const r=this.downloads[B].distanceFunction();r<=A&&(A=r,a=B),t=Math.max(this.downloads[B].level),this.downloads[B].loadingStrategy!="IMMEDIATE"&&this.downloads[B].level<i&&(i=this.downloads[B].level,I=B)}if(t>i+4?e=this.downloads.splice(I,1).pop():a>=0&&(e=this.downloads.splice(a,1).pop()),e){this.nextDownloads.push(e);const B=e.getSiblings();for(let r=this.downloads.length-1;r>=0;r--)B.map(o=>o.uuid).includes(this.downloads[r].uuid)&&this.nextDownloads.push(this.downloads.splice(r,1).pop())}}_getNextReady(){let A=Number.POSITIVE_INFINITY,a=-1;for(let e=this.ready.length-1;e>=0;e--)this.ready[e][3]||this.nextReady.push(this.ready.splice(e,1)[0]);if(!(this.nextReady.length>0)){for(let e=this.ready.length-1;e>=0;e--){const t=this.ready[e][3]()*this.ready[e][5];t<=A&&(A=t,a=e)}if(a>=0){const e=this.ready.splice(a,1).pop();this.nextReady.push(e);const t=e[4]();for(let i=this.ready.length-1;i>=0;i--)t.map(I=>I.uuid).includes(this.ready[i][6])&&this.nextReady.push(this.ready.splice(i,1).pop())}}}get(A,a,e,t,i,I,B,r,o,n,C,Q){const E=this,s=gi(e),c=new AbortController;if(A.signal.addEventListener("abort",()=>{E.register[s]&&Object.keys(E.register[s]).length!=0||c.abort("user abort")}),!(e.includes(".b3dm")||e.includes(".json")||e.includes(".gltf")||e.includes(".glb")))return void console.error("the 3DTiles cache can only be used to load B3DM, gltf and json data");if(E.register[s]||(E.register[s]={}),E.register[s][a]&&console.error(" a tile should only be loaded once"),E.register[s][a]=t,E.cache.get(s))this._meshReceived(E.cache,E.register,s,i,I,B,a);else{let d;e.includes(".b3dm")?d=()=>{var b;b=E.proxy?()=>fetch(E.proxy,{method:"POST",body:e,signal:c.signal}):()=>fetch(e,{signal:c.signal}),te++,b().then(h=>{if(!h.ok)throw console.error("could not load tile with path : "+e),new Error(`couldn't load "${e}". Request failed with status ${h.status} : ${h.statusText}`);return h.arrayBuffer()}).then(h=>this.b3dmDecoder.parseB3DM(h,l=>{E.meshCallback(l,C)},o,n)).then(h=>{E.cache.put(s,h),this._meshReceived(E.cache,E.register,s,i,I,B,a),E._checkSize()}).catch(h=>{}).finally(()=>{te--})}:e.includes(".glb")||e.includes(".gltf")?d=()=>{var b;b=E.proxy?()=>fetch(E.proxy,{method:"POST",body:e,signal:c.signal}):()=>fetch(e,{signal:c.signal}),te++,b().then(h=>{if(!h.ok)throw console.error("could not load tile with path : "+e),new Error(`couldn't load "${e}". Request failed with status ${h.status} : ${h.statusText}`);return h.arrayBuffer()}).then(h=>this.splatsDecoder.parseSplats(h,o,n,Q)).then(h=>{h.isSplatsData||(o&&h.applyMatrix4(this.zUpToYUpMatrix),h.traverse(l=>{l.isMesh&&(n&&l.applyMatrix4(this.zUpToYUpMatrix),E.meshCallback&&E.meshCallback(l,C)),l.isPoints&&E.pointsCallback&&E.pointsCallback(l,C)})),E.cache.put(s,h),E._meshReceived(E.cache,E.register,s,i,I,B,a),E._checkSize()}).catch(h=>{}).finally(()=>{te--})}:e.includes(".json")&&(d=()=>{var b;b=E.proxy?()=>fetch(E.proxy,{method:"POST",body:e,signal:c.signal}):()=>fetch(e,{signal:c.signal}),te++,b().then(h=>{if(!h.ok)throw console.error("could not load tile with path : "+e),new Error(`couldn't load "${e}". Request failed with status ${h.status} : ${h.statusText}`);return h.json()}).then(h=>mt(h,e)).then(h=>{E.cache.put(s,h),E._meshReceived(E.cache,E.register,s),E._checkSize()}).catch(h=>{console.error(h)}).finally(()=>{te--})}),this._scheduleDownload({shouldDoDownload:()=>!A.signal.aborted&&!!E.register[s]&&Object.keys(E.register[s]).length>0&&!E.cache.get(s),doDownload:d,distanceFunction:i,getSiblings:I,level:B,loadingStrategy:r,uuid:a})}}clear(){const A=this.maxCachedItems;this.maxCachedItems=0,this._checkSize(),this.maxCachedItems=A}invalidate(A,a){const e=gi(A),t=this;t.register[e]&&setTimeout(()=>{t.register&&t.register[e]&&(delete t.register[e][a],t._checkSize())},t.timeout)}dispose(){let A=this.cache.head();for(this._disposeEntryContent(A);(A=A.next()).key!=null;)this._disposeEntryContent(A);this.cache.reset(),this.cache=void 0,this.register=void 0,this.dracoLoader&&this.dracoLoader.dispose(),this.ktx2loader&&this.ktx2loader.dispose()}_checkSize(){const A=this;let a=0;for(;A.cache.size()>A.maxCachedItems&&a<A.cache.size();){a++;const e=A.cache.head(),t=A.register[e.key];t&&(Object.keys(t).length>0?(A.cache.remove(e.key),A.cache.put(e.key,e.value)):(A.cache.remove(e.key),delete A.register[e.key],A._disposeEntryContent(e)))}}_disposeEntryContent(A){A.value&&(A.value.isSplatsBatch?A.value.remove():A.value.traverse&&A.value.traverse(a=>{if(a.material)if(a.material.length)for(let e=0;e<a.material.length;++e)a.material[e].dispose();else a.material.dispose();a.geometry&&a.geometry.dispose()}))}}function gi(g){for(var A=g.split("/"),a=[],e=0,t=0;t<A.length;t++){var i=A[t];i!=="."&&i!==""&&i!==".."?a[e++]=i:i===".."&&e>0&&e--}if(e===0)return"/";var I="";for(t=0;t<e;t++)I+="/"+a[t];return I}const ZA=[];for(let g=0;g<256;++g)ZA.push((g+256).toString(16).slice(1));let At;const fn=new Uint8Array(16),ti={randomUUID:typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)};function lI(g,A,a){if(ti.randomUUID&&!g)return ti.randomUUID();const e=(g=g||{}).random??g.rng?.()??function(){if(!At){if(typeof crypto>"u"||!crypto.getRandomValues)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");At=crypto.getRandomValues.bind(crypto)}return At(fn)}();if(e.length<16)throw new Error("Random bytes length must be >= 16");return e[6]=15&e[6]|64,e[8]=63&e[8]|128,function(t,i=0){return(ZA[t[i+0]]+ZA[t[i+1]]+ZA[t[i+2]]+ZA[t[i+3]]+"-"+ZA[t[i+4]]+ZA[t[i+5]]+"-"+ZA[t[i+6]]+ZA[t[i+7]]+"-"+ZA[t[i+8]]+ZA[t[i+9]]+"-"+ZA[t[i+10]]+ZA[t[i+11]]+ZA[t[i+12]]+ZA[t[i+13]]+ZA[t[i+14]]+ZA[t[i+15]]).toLowerCase()}(e)}var ii,Ii,Za=function(){if(Ii)return ii;function g(e){if(typeof e!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(e))}function A(e,t){for(var i,I="",B=0,r=-1,o=0,n=0;n<=e.length;++n){if(n<e.length)i=e.charCodeAt(n);else{if(i===47)break;i=47}if(i===47){if(!(r===n-1||o===1))if(r!==n-1&&o===2){if(I.length<2||B!==2||I.charCodeAt(I.length-1)!==46||I.charCodeAt(I.length-2)!==46){if(I.length>2){var C=I.lastIndexOf("/");if(C!==I.length-1){C===-1?(I="",B=0):B=(I=I.slice(0,C)).length-1-I.lastIndexOf("/"),r=n,o=0;continue}}else if(I.length===2||I.length===1){I="",B=0,r=n,o=0;continue}}t&&(I.length>0?I+="/..":I="..",B=2)}else I.length>0?I+="/"+e.slice(r+1,n):I=e.slice(r+1,n),B=n-r-1;r=n,o=0}else i===46&&o!==-1?++o:o=-1}return I}Ii=1;var a={resolve:function(){for(var e,t="",i=!1,I=arguments.length-1;I>=-1&&!i;I--){var B;I>=0?B=arguments[I]:(e===void 0&&(e=process.cwd()),B=e),g(B),B.length!==0&&(t=B+"/"+t,i=B.charCodeAt(0)===47)}return t=A(t,!i),i?t.length>0?"/"+t:"/":t.length>0?t:"."},normalize:function(e){if(g(e),e.length===0)return".";var t=e.charCodeAt(0)===47,i=e.charCodeAt(e.length-1)===47;return(e=A(e,!t)).length!==0||t||(e="."),e.length>0&&i&&(e+="/"),t?"/"+e:e},isAbsolute:function(e){return g(e),e.length>0&&e.charCodeAt(0)===47},join:function(){if(arguments.length===0)return".";for(var e,t=0;t<arguments.length;++t){var i=arguments[t];g(i),i.length>0&&(e===void 0?e=i:e+="/"+i)}return e===void 0?".":a.normalize(e)},relative:function(e,t){if(g(e),g(t),e===t||(e=a.resolve(e))===(t=a.resolve(t)))return"";for(var i=1;i<e.length&&e.charCodeAt(i)===47;++i);for(var I=e.length,B=I-i,r=1;r<t.length&&t.charCodeAt(r)===47;++r);for(var o=t.length-r,n=B<o?B:o,C=-1,Q=0;Q<=n;++Q){if(Q===n){if(o>n){if(t.charCodeAt(r+Q)===47)return t.slice(r+Q+1);if(Q===0)return t.slice(r+Q)}else B>n&&(e.charCodeAt(i+Q)===47?C=Q:Q===0&&(C=0));break}var E=e.charCodeAt(i+Q);if(E!==t.charCodeAt(r+Q))break;E===47&&(C=Q)}var s="";for(Q=i+C+1;Q<=I;++Q)Q!==I&&e.charCodeAt(Q)!==47||(s.length===0?s+="..":s+="/..");return s.length>0?s+t.slice(r+C):(r+=C,t.charCodeAt(r)===47&&++r,t.slice(r))},_makeLong:function(e){return e},dirname:function(e){if(g(e),e.length===0)return".";for(var t=e.charCodeAt(0),i=t===47,I=-1,B=!0,r=e.length-1;r>=1;--r)if((t=e.charCodeAt(r))===47){if(!B){I=r;break}}else B=!1;return I===-1?i?"/":".":i&&I===1?"//":e.slice(0,I)},basename:function(e,t){if(t!==void 0&&typeof t!="string")throw new TypeError('"ext" argument must be a string');g(e);var i,I=0,B=-1,r=!0;if(t!==void 0&&t.length>0&&t.length<=e.length){if(t.length===e.length&&t===e)return"";var o=t.length-1,n=-1;for(i=e.length-1;i>=0;--i){var C=e.charCodeAt(i);if(C===47){if(!r){I=i+1;break}}else n===-1&&(r=!1,n=i+1),o>=0&&(C===t.charCodeAt(o)?--o==-1&&(B=i):(o=-1,B=n))}return I===B?B=n:B===-1&&(B=e.length),e.slice(I,B)}for(i=e.length-1;i>=0;--i)if(e.charCodeAt(i)===47){if(!r){I=i+1;break}}else B===-1&&(r=!1,B=i+1);return B===-1?"":e.slice(I,B)},extname:function(e){g(e);for(var t=-1,i=0,I=-1,B=!0,r=0,o=e.length-1;o>=0;--o){var n=e.charCodeAt(o);if(n!==47)I===-1&&(B=!1,I=o+1),n===46?t===-1?t=o:r!==1&&(r=1):t!==-1&&(r=-1);else if(!B){i=o+1;break}}return t===-1||I===-1||r===0||r===1&&t===I-1&&t===i+1?"":e.slice(t,I)},format:function(e){if(e===null||typeof e!="object")throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof e);return function(t,i){var I=i.dir||i.root,B=i.base||(i.name||"")+(i.ext||"");return I?I===i.root?I+B:I+t+B:B}("/",e)},parse:function(e){g(e);var t={root:"",dir:"",base:"",ext:"",name:""};if(e.length===0)return t;var i,I=e.charCodeAt(0),B=I===47;B?(t.root="/",i=1):i=0;for(var r=-1,o=0,n=-1,C=!0,Q=e.length-1,E=0;Q>=i;--Q)if((I=e.charCodeAt(Q))!==47)n===-1&&(C=!1,n=Q+1),I===46?r===-1?r=Q:E!==1&&(E=1):r!==-1&&(E=-1);else if(!C){o=Q+1;break}return r===-1||n===-1||E===0||E===1&&r===n-1&&r===o+1?n!==-1&&(t.base=t.name=o===0&&B?e.slice(1,n):e.slice(o,n)):(o===0&&B?(t.name=e.slice(1,r),t.base=e.slice(1,n)):(t.name=e.slice(o,r),t.base=e.slice(o,n)),t.ext=e.slice(r,n)),o>0?t.dir=e.slice(0,o-1):B&&(t.dir="/"),t},sep:"/",delimiter:":",win32:null,posix:null};return a.posix=a,ii=a}();function ug(){return ug=Object.assign?Object.assign.bind():function(g){for(var A=1;A<arguments.length;A++){var a=arguments[A];for(var e in a)({}).hasOwnProperty.call(a,e)&&(g[e]=a[e])}return g},ug.apply(null,arguments)}var fI={relTol:1e-12,absTol:1e-15,matrix:"Matrix",number:"number",numberFallback:"number",precision:64,predictable:!1,randomSeed:null};function Dn(g,A){if(Eg(g,A))return g[A];throw typeof g[A]=="function"&&function(a,e){return a==null||typeof a[e]!="function"||fg(a,e)&&Object.getPrototypeOf&&e in Object.getPrototypeOf(a)?!1:fg(yn,e)?!0:!(e in Object.prototype||e in Function.prototype)}(g,A)?new Error('Cannot access method "'+A+'" as a property'):new Error('No access to property "'+A+'"')}function Eg(g,A){return!(!function(a){return typeof a=="object"&&a&&a.constructor===Object}(g)&&!Array.isArray(g))&&(!!fg(wn,A)||!(A in Object.prototype)&&!(A in Function.prototype))}var wn={length:!0,name:!0},yn={toString:!0,valueOf:!0,toLocaleString:!0};class pn{constructor(A){this.wrappedObject=A,this[Symbol.iterator]=this.entries}keys(){return Object.keys(this.wrappedObject).filter(A=>this.has(A)).values()}get(A){return Dn(this.wrappedObject,A)}set(A,a){return function(e,t,i){if(Eg(e,t))return e[t]=i,i;throw new Error('No access to property "'+t+'"')}(this.wrappedObject,A,a),this}has(A){return Eg(this.wrappedObject,A)&&A in this.wrappedObject}entries(){return function(A,a){return{next:()=>{var e=A.next();return e.done?e:{value:a(e.value),done:!1}}}}(this.keys(),A=>[A,this.get(A)])}forEach(A){for(var a of this.keys())A(this.get(a),a,this)}delete(A){Eg(this.wrappedObject,A)&&delete this.wrappedObject[A]}clear(){for(var A of this.keys())this.delete(A)}get size(){return Object.keys(this.wrappedObject).length}}function RA(g){return typeof g=="number"}function TA(g){return!(!g||typeof g!="object"||typeof g.constructor!="function")&&(g.isBigNumber===!0&&typeof g.constructor.prototype=="object"&&g.constructor.prototype.isBigNumber===!0||typeof g.constructor.isDecimal=="function"&&g.constructor.isDecimal(g)===!0)}function Fn(g){return typeof g=="bigint"}function DI(g){return g&&typeof g=="object"&&Object.getPrototypeOf(g).isComplex===!0||!1}function wI(g){return g&&typeof g=="object"&&Object.getPrototypeOf(g).isFraction===!0||!1}function yI(g){return g&&g.constructor.prototype.isUnit===!0||!1}function Ma(g){return typeof g=="string"}var PA=Array.isArray;function HA(g){return g&&g.constructor.prototype.isMatrix===!0||!1}function lg(g){return Array.isArray(g)||HA(g)}function mn(g){return g&&g.isDenseMatrix&&g.constructor.prototype.isMatrix===!0||!1}function Mn(g){return g&&g.isSparseMatrix&&g.constructor.prototype.isMatrix===!0||!1}function kn(g){return g&&g.constructor.prototype.isRange===!0||!1}function Mt(g){return g&&g.constructor.prototype.isIndex===!0||!1}function Rn(g){return typeof g=="boolean"}function Nn(g){return g&&g.constructor.prototype.isResultSet===!0||!1}function Gn(g){return g&&g.constructor.prototype.isHelp===!0||!1}function Sn(g){return typeof g=="function"}function Un(g){return g instanceof Date}function xn(g){return g instanceof RegExp}function kt(g){return!(!g||typeof g!="object"||g.constructor!==Object||DI(g)||wI(g))}function Ln(g){return!!g&&(g instanceof Map||g instanceof pn||typeof g.set=="function"&&typeof g.get=="function"&&typeof g.keys=="function"&&typeof g.has=="function")}function Jn(g){return g===null}function jn(g){return g===void 0}function vn(g){return g&&g.isAccessorNode===!0&&g.constructor.prototype.isNode===!0||!1}function Hn(g){return g&&g.isArrayNode===!0&&g.constructor.prototype.isNode===!0||!1}function Yn(g){return g&&g.isAssignmentNode===!0&&g.constructor.prototype.isNode===!0||!1}function Kn(g){return g&&g.isBlockNode===!0&&g.constructor.prototype.isNode===!0||!1}function qn(g){return g&&g.isConditionalNode===!0&&g.constructor.prototype.isNode===!0||!1}function Tn(g){return g&&g.isConstantNode===!0&&g.constructor.prototype.isNode===!0||!1}function On(g){return g&&g.isFunctionAssignmentNode===!0&&g.constructor.prototype.isNode===!0||!1}function Pn(g){return g&&g.isFunctionNode===!0&&g.constructor.prototype.isNode===!0||!1}function zn(g){return g&&g.isIndexNode===!0&&g.constructor.prototype.isNode===!0||!1}function Wn(g){return g&&g.isNode===!0&&g.constructor.prototype.isNode===!0||!1}function Vn(g){return g&&g.isObjectNode===!0&&g.constructor.prototype.isNode===!0||!1}function Xn(g){return g&&g.isOperatorNode===!0&&g.constructor.prototype.isNode===!0||!1}function Zn(g){return g&&g.isParenthesisNode===!0&&g.constructor.prototype.isNode===!0||!1}function _n(g){return g&&g.isRangeNode===!0&&g.constructor.prototype.isNode===!0||!1}function $n(g){return g&&g.isRelationalNode===!0&&g.constructor.prototype.isNode===!0||!1}function Ar(g){return g&&g.isSymbolNode===!0&&g.constructor.prototype.isNode===!0||!1}function ar(g){return g&&g.constructor.prototype.isChain===!0||!1}function _a(g){var A=typeof g;return A==="object"?g===null?"null":TA(g)?"BigNumber":g.constructor&&g.constructor.name?g.constructor.name:"Object":A}function vA(g){var A=typeof g;if(A==="number"||A==="bigint"||A==="string"||A==="boolean"||g==null)return g;if(typeof g.clone=="function")return g.clone();if(Array.isArray(g))return g.map(function(a){return vA(a)});if(g instanceof Date)return new Date(g.valueOf());if(TA(g))return g;if(kt(g))return function(a,e){var t={};for(var i in a)fg(a,i)&&(t[i]=e(a[i]));return t}(g,vA);if(A==="function")return g;throw new TypeError("Cannot clone: unknown type of value (value: ".concat(g,")"))}function Me(g,A){var a,e,t;if(Array.isArray(g)){if(!Array.isArray(A)||g.length!==A.length)return!1;for(e=0,t=g.length;e<t;e++)if(!Me(g[e],A[e]))return!1;return!0}if(typeof g=="function")return g===A;if(g instanceof Object){if(Array.isArray(A)||!(A instanceof Object))return!1;for(a in g)if(!(a in A)||!Me(g[a],A[a]))return!1;for(a in A)if(!(a in g))return!1;return!0}return g===A}function fg(g,A){return g&&Object.hasOwnProperty.call(g,A)}var re=function(g){if(g)throw new Error(`The global config is readonly.
|
|
21
21
|
Please create a mathjs instance if you want to change the default configuration.
|
|
22
22
|
Example:
|
|
23
23
|
|
|
24
24
|
import { create, all } from 'mathjs';
|
|
25
25
|
const mathjs = create(all);
|
|
26
26
|
mathjs.config({ number: 'BigNumber' });
|
|
27
|
-
`);return Object.freeze(lI)};function ri(){return!0}function ha(){return!1}function de(){}ut(oe,lI,{MATRIX_OPTIONS:["Matrix","Array"],NUMBER_OPTIONS:["number","BigNumber","Fraction"]});const ni="Argument is not a typed-function.",Dt=function t(){function A(m){return typeof m=="object"&&m!==null&&m.constructor===Object}const a=[{name:"number",test:function(m){return typeof m=="number"}},{name:"string",test:function(m){return typeof m=="string"}},{name:"boolean",test:function(m){return typeof m=="boolean"}},{name:"Function",test:function(m){return typeof m=="function"}},{name:"Array",test:Array.isArray},{name:"Date",test:function(m){return m instanceof Date}},{name:"RegExp",test:function(m){return m instanceof RegExp}},{name:"Object",test:A},{name:"null",test:function(m){return m===null}},{name:"undefined",test:function(m){return m===void 0}}],e={name:"any",test:ri,isAny:!0};let g,i,I=0,r={createCount:0};function o(m){const R=g.get(m);if(R)return R;let U='Unknown type "'+m+'"';const v=m.toLowerCase();let H;for(H of i)if(H.toLowerCase()===v){U+='. Did you mean "'+H+'" ?';break}throw new TypeError(U)}function B(m){let R=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"any";const U=R?o(R).index:i.length,v=[];for(let q=0;q<m.length;++q){if(!m[q]||typeof m[q].name!="string"||typeof m[q].test!="function")throw new TypeError("Object with properties {name: string, test: function} expected");const V=m[q].name;if(g.has(V))throw new TypeError('Duplicate type name "'+V+'"');v.push(V),g.set(V,{name:V,test:m[q].test,isAny:m[q].isAny,index:U+q,conversionsTo:[]})}const H=i.slice(U);i=i.slice(0,U).concat(v).concat(H);for(let q=U+v.length;q<i.length;++q)g.get(i[q]).index=q}function n(){g=new Map,i=[],I=0,B([e],!1)}function s(m){const R=i.filter(U=>{const v=g.get(U);return!v.isAny&&v.test(m)});return R.length?R:["any"]}function E(m){return m&&typeof m=="function"&&"_typedFunctionData"in m}function C(m,R,U){if(!E(m))throw new TypeError(ni);const v=U&&U.exact,H=h(Array.isArray(R)?R.join(","):R),q=Q(H);if(!v||q in m.signatures){const P=m._typedFunctionData.signatureMap.get(q);if(P)return P}const V=H.length;let K,$;if(v){let P;for(P in K=[],m.signatures)K.push(m._typedFunctionData.signatureMap.get(P))}else K=m._typedFunctionData.signatures;for(let P=0;P<V;++P){const DA=H[P],hA=[];let xA;for(xA of K){const OA=k(xA.params,P);if(OA&&(!DA.restParam||OA.restParam)){if(!OA.hasAny){const ia=b(OA);if(DA.types.some(Ba=>!ia.has(Ba.name)))continue}hA.push(xA)}}if(K=hA,K.length===0)break}for($ of K)if($.params.length<=V)return $;throw new TypeError("Signature not found (signature: "+(m.name||"unnamed")+"("+Q(H,", ")+"))")}function Q(m){let R=arguments.length>1&&arguments[1]!==void 0?arguments[1]:",";return m.map(U=>U.name).join(R)}function c(m){const R=m.indexOf("...")===0,U=(R?m.length>3?m.slice(3):"any":m).split("|").map(q=>o(q.trim()));let v=!1,H=R?"...":"";return{types:U.map(function(q){return v=q.isAny||v,H+=q.name+"|",{name:q.name,typeIndex:q.index,test:q.test,isAny:q.isAny,conversion:null,conversionIndex:-1}}),name:H.slice(0,-1),hasAny:v,hasConversion:!1,restParam:R}}function d(m){const R=m.types.map(V=>V.name),U=function(V){if(V.length===0)return[];const K=V.map(o);V.length>1&&K.sort((DA,hA)=>DA.index-hA.index);let $=K[0].conversionsTo;if(V.length===1)return $;$=$.concat([]);const P=new Set(V);for(let DA=1;DA<K.length;++DA){let hA;for(hA of K[DA].conversionsTo)P.has(hA.from)||($.push(hA),P.add(hA.from))}return $}(R);let v=m.hasAny,H=m.name;const q=U.map(function(V){const K=o(V.from);return v=K.isAny||v,H+="|"+V.from,{name:V.from,typeIndex:K.index,test:K.test,isAny:K.isAny,conversion:V,conversionIndex:V.index}});return{types:m.types.concat(q),name:H,hasAny:v,hasConversion:q.length>0,restParam:m.restParam}}function b(m){return m.typeSet||(m.typeSet=new Set,m.types.forEach(R=>m.typeSet.add(R.name))),m.typeSet}function h(m){const R=[];if(typeof m!="string")throw new TypeError("Signatures must be strings");const U=m.trim();if(U==="")return R;const v=U.split(",");for(let H=0;H<v.length;++H){const q=c(v[H].trim());if(q.restParam&&H!==v.length-1)throw new SyntaxError('Unexpected rest parameter "'+v[H]+'": only allowed for the last parameter');if(q.types.length===0)return null;R.push(q)}return R}function l(m){const R=rA(m);return!!R&&R.restParam}function w(m){if(m&&m.types.length!==0){if(m.types.length===1)return o(m.types[0].name).test;if(m.types.length===2){const R=o(m.types[0].name).test,U=o(m.types[1].name).test;return function(v){return R(v)||U(v)}}{const R=m.types.map(function(U){return o(U.name).test});return function(U){for(let v=0;v<R.length;v++)if(R[v](U))return!0;return!1}}}return ri}function M(m){let R,U,v;if(l(m)){R=kA(m).map(w);const H=R.length,q=w(rA(m)),V=function(K){for(let $=H;$<K.length;$++)if(!q(K[$]))return!1;return!0};return function(K){for(let $=0;$<R.length;$++)if(!R[$](K[$]))return!1;return V(K)&&K.length>=H+1}}return m.length===0?function(H){return H.length===0}:m.length===1?(U=w(m[0]),function(H){return U(H[0])&&H.length===1}):m.length===2?(U=w(m[0]),v=w(m[1]),function(H){return U(H[0])&&v(H[1])&&H.length===2}):(R=m.map(w),function(H){for(let q=0;q<R.length;q++)if(!R[q](H[q]))return!1;return H.length===R.length})}function k(m,R){return R<m.length?m[R]:l(m)?rA(m):null}function N(m,R){const U=k(m,R);return U?b(U):new Set}function F(m){return m.conversion===null||m.conversion===void 0}function G(m,R){const U=new Set;return m.forEach(v=>{const H=N(v.params,R);let q;for(q of H)U.add(q)}),U.has("any")?["any"]:Array.from(U)}function L(m,R,U){let v,H;const q=m||"unnamed";let V,K=U;for(V=0;V<R.length;V++){const hA=[];if(K.forEach(xA=>{const OA=w(k(xA.params,V));(V<xA.params.length||l(xA.params))&&OA(R[V])&&hA.push(xA)}),hA.length===0){if(H=G(K,V),H.length>0){const xA=s(R[V]);return v=new TypeError("Unexpected type of argument in function "+q+" (expected: "+H.join(" or ")+", actual: "+xA.join(" | ")+", index: "+V+")"),v.data={category:"wrongType",fn:q,index:V,actual:xA,expected:H},v}}else K=hA}const $=K.map(function(hA){return l(hA.params)?1/0:hA.params.length});if(R.length<Math.min.apply(null,$))return H=G(K,V),v=new TypeError("Too few arguments in function "+q+" (expected: "+H.join(" or ")+", index: "+R.length+")"),v.data={category:"tooFewArgs",fn:q,index:R.length,expected:H},v;const P=Math.max.apply(null,$);if(R.length>P)return v=new TypeError("Too many arguments in function "+q+" (expected: "+P+", actual: "+R.length+")"),v.data={category:"tooManyArgs",fn:q,index:R.length,expectedLength:P},v;const DA=[];for(let hA=0;hA<R.length;++hA)DA.push(s(R[hA]).join("|"));return v=new TypeError('Arguments of type "'+DA.join(", ")+'" do not match any of the defined signatures of function '+q+"."),v.data={category:"mismatch",actual:DA},v}function x(m){let R=i.length+1;for(let U=0;U<m.types.length;U++)F(m.types[U])&&(R=Math.min(R,m.types[U].typeIndex));return R}function W(m){let R=I+1;for(let U=0;U<m.types.length;U++)F(m.types[U])||(R=Math.min(R,m.types[U].conversionIndex));return R}function X(m,R){if(m.hasAny){if(!R.hasAny)return 1}else if(R.hasAny)return-1;if(m.restParam){if(!R.restParam)return 1}else if(R.restParam)return-1;if(m.hasConversion){if(!R.hasConversion)return 1}else if(R.hasConversion)return-1;const U=x(m)-x(R);if(U<0)return-1;if(U>0)return 1;const v=W(m)-W(R);return v<0?-1:v>0?1:0}function eA(m,R){const U=m.params,v=R.params,H=rA(U),q=rA(v),V=l(U),K=l(v);if(V&&H.hasAny){if(!K||!q.hasAny)return 1}else if(K&&q.hasAny)return-1;let $,P=0,DA=0;for($ of U)$.hasAny&&++P,$.hasConversion&&++DA;let hA=0,xA=0;for($ of v)$.hasAny&&++hA,$.hasConversion&&++xA;if(P!==hA)return P-hA;if(V&&H.hasConversion){if(!K||!q.hasConversion)return 1}else if(K&&q.hasConversion)return-1;if(DA!==xA)return DA-xA;if(V){if(!K)return 1}else if(K)return-1;const OA=(U.length-v.length)*(V?-1:1);if(OA!==0)return OA;const ia=[];let Ba,la=0;for(let ja=0;ja<U.length;++ja){const Ae=X(U[ja],v[ja]);ia.push(Ae),la+=Ae}if(la!==0)return la;for(Ba of ia)if(Ba!==0)return Ba;return 0}function AA(m,R){let U=R;if(m.some(H=>H.hasConversion)){const H=l(m),q=m.map(Z);U=function(){const V=[],K=H?arguments.length-1:arguments.length;for(let $=0;$<K;$++)V[$]=q[$](arguments[$]);return H&&(V[K]=arguments[K].map(q[K])),R.apply(this,V)}}let v=U;if(l(m)){const H=m.length-1;v=function(){return U.apply(this,sA(arguments,0,H).concat([sA(arguments,H)]))}}return v}function Z(m){let R,U,v,H;const q=[],V=[];switch(m.types.forEach(function(K){K.conversion&&(q.push(o(K.conversion.from).test),V.push(K.conversion.convert))}),V.length){case 0:return function(K){return K};case 1:return R=q[0],v=V[0],function(K){return R(K)?v(K):K};case 2:return R=q[0],U=q[1],v=V[0],H=V[1],function(K){return R(K)?v(K):U(K)?H(K):K};default:return function(K){for(let $=0;$<V.length;$++)if(q[$](K))return V[$](K);return K}}}function nA(m){return function R(U,v,H){if(v<U.length){const K=U[v];let $=[];if(K.restParam){const P=K.types.filter(F);P.length<K.types.length&&$.push({types:P,name:"..."+P.map(DA=>DA.name).join("|"),hasAny:P.some(DA=>DA.isAny),hasConversion:!1,restParam:!0}),$.push(K)}else $=K.types.map(function(P){return{types:[P],name:P.name,hasAny:P.isAny,hasConversion:P.conversion,restParam:!1}});return q=$,V=function(P){return R(U,v+1,H.concat([P]))},Array.prototype.concat.apply([],q.map(V))}return[H];var q,V}(m,0,[])}function bA(m,R){const U=Math.max(m.length,R.length);for(let K=0;K<U;K++){const $=N(m,K),P=N(R,K);let DA,hA=!1;for(DA of P)if($.has(DA)){hA=!0;break}if(!hA)return!1}const v=m.length,H=R.length,q=l(m),V=l(R);return q?V?v===H:H>=v:V?v>=H:v===H}function cA(m,R,U){const v=[];let H;for(H of m){let q=U[H];if(typeof q!="number")throw new TypeError('No definition for referenced signature "'+H+'"');if(q=R[q],typeof q!="function")return!1;v.push(q)}return v}function yA(m,R,U){const v=function(V){return V.map(K=>NA(K)?pA(K.referToSelf.callback):mA(K)?uA(K.referTo.references,K.referTo.callback):K)}(m),H=new Array(v.length).fill(!1);let q=!0;for(;q;){q=!1;let V=!0;for(let K=0;K<v.length;++K){if(H[K])continue;const $=v[K];if(NA($))v[K]=$.referToSelf.callback(U),v[K].referToSelf=$.referToSelf,H[K]=!0,V=!1;else if(mA($)){const P=cA($.referTo.references,v,R);P?(v[K]=$.referTo.callback.apply(this,P),v[K].referTo=$.referTo,H[K]=!0,V=!1):q=!0}}if(V&&q)throw new SyntaxError("Circular reference detected in resolving typed.referTo")}return v}function fA(m,R){if(r.createCount++,Object.keys(R).length===0)throw new SyntaxError("No signatures provided");r.warnAgainstDeprecatedThis&&function(QA){const Ca=/\bthis(\(|\.signatures\b)/;Object.keys(QA).forEach(je=>{const Ha=QA[je];if(Ca.test(Ha.toString()))throw new SyntaxError("Using `this` to self-reference a function is deprecated since typed-function@3. Use typed.referTo and typed.referToSelf instead.")})}(R);const U=[],v=[],H={},q=[];let V;for(V in R){if(!Object.prototype.hasOwnProperty.call(R,V))continue;const QA=h(V);if(!QA)continue;U.forEach(function(ee){if(bA(ee,QA))throw new TypeError('Conflicting signatures "'+Q(ee)+'" and "'+Q(QA)+'".')}),U.push(QA);const Ca=v.length;v.push(R[V]);const je=QA.map(d);let Ha;for(Ha of nA(je)){const ee=Q(Ha);q.push({params:Ha,name:ee,fn:Ca}),Ha.every(Lt=>!Lt.hasConversion)&&(H[ee]=Ca)}}q.sort(eA);const K=yA(v,H,ae);let $;for($ in H)Object.prototype.hasOwnProperty.call(H,$)&&(H[$]=K[H[$]]);const P=[],DA=new Map;for($ of q)DA.has($.name)||($.fn=K[$.fn],P.push($),DA.set($.name,$));const hA=P[0]&&P[0].params.length<=2&&!l(P[0].params),xA=P[1]&&P[1].params.length<=2&&!l(P[1].params),OA=P[2]&&P[2].params.length<=2&&!l(P[2].params),ia=P[3]&&P[3].params.length<=2&&!l(P[3].params),Ba=P[4]&&P[4].params.length<=2&&!l(P[4].params),la=P[5]&&P[5].params.length<=2&&!l(P[5].params),ja=hA&&xA&&OA&&ia&&Ba&&la;for(let QA=0;QA<P.length;++QA)P[QA].test=M(P[QA].params);const Ae=hA?w(P[0].params[0]):ha,Nt=xA?w(P[1].params[0]):ha,se=OA?w(P[2].params[0]):ha,Ce=ia?w(P[3].params[0]):ha,Oe=Ba?w(P[4].params[0]):ha,Pe=la?w(P[5].params[0]):ha,sa=hA?w(P[0].params[1]):ha,Gt=xA?w(P[1].params[1]):ha,ze=OA?w(P[2].params[1]):ha,Ee=ia?w(P[3].params[1]):ha,Re=Ba?w(P[4].params[1]):ha,We=la?w(P[5].params[1]):ha;for(let QA=0;QA<P.length;++QA)P[QA].implementation=AA(P[QA].params,P[QA].fn);const Ne=hA?P[0].implementation:de,Ge=xA?P[1].implementation:de,Ve=OA?P[2].implementation:de,Xe=ia?P[3].implementation:de,va=Ba?P[4].implementation:de,Se=la?P[5].implementation:de,Ue=hA?P[0].params.length:-1,xe=xA?P[1].params.length:-1,Ze=OA?P[2].params.length:-1,St=ia?P[3].params.length:-1,_e=Ba?P[4].params.length:-1,Ut=la?P[5].params.length:-1,xt=ja?6:0,Ja=P.length,$e=P.map(QA=>QA.test),At=P.map(QA=>QA.implementation),Le=function(){for(let QA=xt;QA<Ja;QA++)if($e[QA](arguments))return At[QA].apply(this,arguments);return r.onMismatch(m,arguments,P)};function ae(QA,Ca){return arguments.length===Ue&&Ae(QA)&&sa(Ca)?Ne.apply(this,arguments):arguments.length===xe&&Nt(QA)&&Gt(Ca)?Ge.apply(this,arguments):arguments.length===Ze&&se(QA)&&ze(Ca)?Ve.apply(this,arguments):arguments.length===St&&Ce(QA)&&Ee(Ca)?Xe.apply(this,arguments):arguments.length===_e&&Oe(QA)&&Re(Ca)?va.apply(this,arguments):arguments.length===Ut&&Pe(QA)&&We(Ca)?Se.apply(this,arguments):Le.apply(this,arguments)}try{Object.defineProperty(ae,"name",{value:m})}catch{}return ae.signatures=H,ae._typedFunctionData={signatures:P,signatureMap:DA},ae}function BA(m,R,U){throw L(m,R,U)}function kA(m){return sA(m,0,m.length-1)}function rA(m){return m[m.length-1]}function sA(m,R,U){return Array.prototype.slice.call(m,R,U)}function uA(m,R){return{referTo:{references:m,callback:R}}}function pA(m){if(typeof m!="function")throw new TypeError("Callback function expected as first argument");return{referToSelf:{callback:m}}}function mA(m){return m&&typeof m.referTo=="object"&&Array.isArray(m.referTo.references)&&typeof m.referTo.callback=="function"}function NA(m){return m&&typeof m.referToSelf=="object"&&typeof m.referToSelf.callback=="function"}function WA(m,R){if(!m)return R;if(R&&R!==m){const U=new Error("Function names do not match (expected: "+m+", actual: "+R+")");throw U.data={actual:R,expected:m},U}return m}function VA(m){let R;for(const U in m)Object.prototype.hasOwnProperty.call(m,U)&&(E(m[U])||typeof m[U].signature=="string")&&(R=WA(R,m[U].name));return R}function oa(m,R){let U;for(U in R)if(Object.prototype.hasOwnProperty.call(R,U)){if(U in m&&R[U]!==m[U]){const v=new Error('Signature "'+U+'" is defined twice');throw v.data={signature:U,sourceFunction:R[U],destFunction:m[U]},v}m[U]=R[U]}}n(),B(a);const YA=r;function EA(m){if(!m||typeof m.from!="string"||typeof m.to!="string"||typeof m.convert!="function")throw new TypeError("Object with properties {from: string, to: string, convert: function} expected");if(m.to===m.from)throw new SyntaxError('Illegal to define conversion from "'+m.from+'" to itself.')}return r=function(m){const R=typeof m=="string";let U=R?m:"";const v={};for(let H=R?1:0;H<arguments.length;++H){const q=arguments[H];let V,K={};if(typeof q=="function"?(V=q.name,typeof q.signature=="string"?K[q.signature]=q:E(q)&&(K=q.signatures)):A(q)&&(K=q,R||(V=VA(q))),Object.keys(K).length===0){const $=new TypeError("Argument to 'typed' at index "+H+" is not a (typed) function, nor an object with signatures as keys and functions as values.");throw $.data={index:H,argument:q},$}R||(U=WA(U,V)),oa(v,K)}return fA(U||"",v)},r.create=t,r.createCount=YA.createCount,r.onMismatch=BA,r.throwMismatchError=BA,r.createError=L,r.clear=n,r.clearConversions=function(){let m;for(m of i)g.get(m).conversionsTo=[];I=0},r.addTypes=B,r._findType=o,r.referTo=function(){const m=kA(arguments).map(U=>Q(h(U))),R=rA(arguments);if(typeof R!="function")throw new TypeError("Callback function expected as last argument");return uA(m,R)},r.referToSelf=pA,r.convert=function(m,R){const U=o(R);if(U.test(m))return m;const v=U.conversionsTo;if(v.length===0)throw new Error("There are no conversions to "+R+" defined.");for(let H=0;H<v.length;H++)if(o(v[H].from).test(m))return v[H].convert(m);throw new Error("Cannot convert "+m+" to "+R)},r.findSignature=C,r.find=function(m,R,U){return C(m,R,U).implementation},r.isTypedFunction=E,r.warnAgainstDeprecatedThis=!0,r.addType=function(m,R){let U="any";R!==!1&&g.has("Object")&&(U="Object"),r.addTypes([m],U)},r.addConversion=function(m){let R=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{override:!1};EA(m);const U=o(m.to),v=U.conversionsTo.find(H=>H.from===m.from);if(v){if(!R||!R.override)throw new Error('There is already a conversion from "'+m.from+'" to "'+U.name+'"');r.removeConversion({from:v.from,to:m.to,convert:v.convert})}U.conversionsTo.push({from:m.from,convert:m.convert,index:I++})},r.addConversions=function(m,R){m.forEach(U=>r.addConversion(U,R))},r.removeConversion=function(m){EA(m);const R=o(m.to),U=function(H,q){for(let V=0;V<H.length;V++)if(q(H[V]))return H[V]}(R.conversionsTo,H=>H.from===m.from);if(!U)throw new Error("Attempt to remove nonexistent conversion from "+m.from+" to "+m.to);if(U.convert!==m.convert)throw new Error("Conversion to remove does not match existing conversion");const v=R.conversionsTo.indexOf(U);R.conversionsTo.splice(v,1)},r.resolve=function(m,R){if(!E(m))throw new TypeError(ni);const U=m._typedFunctionData.signatures;for(let v=0;v<U.length;++v)if(U[v].test(R))return U[v];return null},r}();function lA(t,A,a,e){function g(i){var I=function(r,o){for(var B={},n=0;n<o.length;n++){var s=o[n],E=r[s];E!==void 0&&(B[s]=E)}return B}(i,A.map(Ao));return function(r,o,B){var n=o.filter(E=>!function(C){return C&&C[0]==="?"}(E)).every(E=>B[E]!==void 0);if(!n){var s=o.filter(E=>B[E]===void 0);throw new Error('Cannot create function "'.concat(r,'", ')+"some dependencies are missing: ".concat(s.map(E=>'"'.concat(E,'"')).join(", "),"."))}}(t,A,i),a(I)}return g.isFactory=!0,g.fn=t,g.dependencies=A.slice().sort(),e&&(g.meta=e),g}function Ao(t){return t&&t[0]==="?"?t.slice(1):t}function LA(t){return typeof t=="boolean"||!!isFinite(t)&&t===Math.round(t)}function ag(t,A,a){var e={2:"0b",8:"0o",16:"0x"}[A],g="";if(a){if(a<1)throw new Error("size must be in greater than 0");if(!LA(a))throw new Error("size must be an integer");if(t>2**(a-1)-1||t<-(2**(a-1)))throw new Error("Value must be in range [-2^".concat(a-1,", 2^").concat(a-1,"-1]"));if(!LA(t))throw new Error("Value must be an integer");t<0&&(t+=2**a),g="i".concat(a)}var i="";return t<0&&(t=-t,i="-"),"".concat(i).concat(e).concat(t.toString(A)).concat(g)}function cg(t,A){if(typeof A=="function")return A(t);if(t===1/0)return"Infinity";if(t===-1/0)return"-Infinity";if(isNaN(t))return"NaN";var{notation:a,precision:e,wordSize:g}=pI(A);switch(a){case"fixed":return function(i,I){if(isNaN(i)||!isFinite(i))return String(i);var r=Et(i),o=typeof I=="number"?Qt(r,r.exponent+1+I):r,B=o.coefficients,n=o.exponent+1,s=n+(I||0);return B.length<s&&(B=B.concat(De(s-B.length))),n<0&&(B=De(1-n).concat(B),n=1),n<B.length&&B.splice(n,0,n===0?"0.":"."),o.sign+B.join("")}(t,e);case"exponential":return oi(t,e);case"engineering":return function(i,I){if(isNaN(i)||!isFinite(i))return String(i);var r=Et(i),o=Qt(r,I),B=o.exponent,n=o.coefficients,s=B%3==0?B:B<0?B-3-B%3:B-B%3;if(RA(I))for(;I>n.length||B-s+1>n.length;)n.push(0);else for(var E=Math.abs(B-s)-(n.length-1),C=0;C<E;C++)n.push(0);for(var Q=Math.abs(B-s),c=1;Q>0;)c++,Q--;var d=n.slice(c).join(""),b=RA(I)&&d.length||d.match(/[1-9]/)?"."+d:"",h=n.slice(0,c).join("")+b+"e"+(B>=0?"+":"")+s.toString();return o.sign+h}(t,e);case"bin":return ag(t,2,g);case"oct":return ag(t,8,g);case"hex":return ag(t,16,g);case"auto":return function(i,I,r){if(isNaN(i)||!isFinite(i))return String(i);var o=si(r?.lowerExp,-3),B=si(r?.upperExp,5),n=Et(i),s=I?Qt(n,I):n;if(s.exponent<o||s.exponent>=B)return oi(i,I);var E=s.coefficients,C=s.exponent;E.length<I&&(E=E.concat(De(I-E.length))),E=E.concat(De(C-E.length+1+(E.length<I?I-E.length:0)));var Q=C>0?C:0;return Q<(E=De(-C).concat(E)).length-1&&E.splice(Q+1,0,"."),s.sign+E.join("")}(t,e,A).replace(/((\.\d*?)(0+))($|e)/,function(){var i=arguments[2],I=arguments[4];return i!=="."?i+I:I});default:throw new Error('Unknown notation "'+a+'". Choose "auto", "exponential", "fixed", "bin", "oct", or "hex.')}}function pI(t){var A,a,e="auto";if(t!==void 0)if(RA(t))A=t;else if(qA(t))A=t.toNumber();else{if(!Mg(t))throw new Error("Unsupported type of options, number, BigNumber, or object expected");t.precision!==void 0&&(A=Bi(t.precision,()=>{throw new Error('Option "precision" must be a number or BigNumber')})),t.wordSize!==void 0&&(a=Bi(t.wordSize,()=>{throw new Error('Option "wordSize" must be a number or BigNumber')})),t.notation&&(e=t.notation)}return{notation:e,precision:A,wordSize:a}}function Et(t){var A=String(t).toLowerCase().match(/^(-?)(\d+\.?\d*)(e([+-]?\d+))?$/);if(!A)throw new SyntaxError("Invalid number "+t);var a=A[1],e=A[2],g=parseFloat(A[4]||"0"),i=e.indexOf(".");g+=i!==-1?i-1:e.length-1;var I=e.replace(".","").replace(/^0*/,function(r){return g-=r.length,""}).replace(/0*$/,"").split("").map(function(r){return parseInt(r)});return I.length===0&&(I.push(0),g++),{sign:a,coefficients:I,exponent:g}}function oi(t,A){if(isNaN(t)||!isFinite(t))return String(t);var a=Et(t),e=A?Qt(a,A):a,g=e.coefficients,i=e.exponent;g.length<A&&(g=g.concat(De(A-g.length)));var I=g.shift();return e.sign+I+(g.length>0?"."+g.join(""):"")+"e"+(i>=0?"+":"")+i}function Qt(t,A){for(var a={sign:t.sign,coefficients:t.coefficients,exponent:t.exponent},e=a.coefficients;A<=0;)e.unshift(0),a.exponent++,A++;if(e.length>A&&e.splice(A,e.length-A)[0]>=5){var g=A-1;for(e[g]++;e[g]===10;)e.pop(),g===0&&(e.unshift(0),a.exponent++,g++),e[--g]++}return a}function De(t){for(var A=[],a=0;a<t;a++)A.push(0);return A}function ct(t,A){var a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1e-8,e=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0;if(a<=0)throw new Error("Relative tolerance must be greater than 0");if(e<0)throw new Error("Absolute tolerance must be at least 0");return!isNaN(t)&&!isNaN(A)&&(isFinite(t)&&isFinite(A)?t===A||Math.abs(t-A)<=Math.max(a*Math.max(Math.abs(t),Math.abs(A)),e):t===A)}function Bi(t,A){return RA(t)?t:qA(t)?t.toNumber():void A()}function si(t,A){return RA(t)?t:qA(t)?t.toNumber():A}var yI=function(){return yI=Dt.create,Dt},ao=lA("typed",["?BigNumber","?Complex","?DenseMatrix","?Fraction"],function(t){var{BigNumber:A,Complex:a,DenseMatrix:e,Fraction:g}=t,i=yI();return i.clear(),i.addTypes([{name:"number",test:RA},{name:"Complex",test:fI},{name:"BigNumber",test:qA},{name:"bigint",test:pn},{name:"Fraction",test:DI},{name:"Unit",test:wI},{name:"identifier",test:I=>ka&&/^(?:[A-Za-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16F1-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C8A\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CD\uA7D0\uA7D1\uA7D3\uA7D5-\uA7DC\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF40\uDF42-\uDF49\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDDC0-\uDDF3\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDD00-\uDD23\uDD4A-\uDD65\uDD6F-\uDD85\uDE80-\uDEA9\uDEB0\uDEB1\uDEC2-\uDEC4\uDF00-\uDF1C\uDF27\uDF30-\uDF45\uDF70-\uDF81\uDFB0-\uDFC4\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC71\uDC72\uDC75\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE3F\uDE40\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61\uDF80-\uDF89\uDF8B\uDF8E\uDF90-\uDFB5\uDFB7\uDFD1\uDFD3]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDEB8\uDF00-\uDF1A\uDF40-\uDF46]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCDF\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEB0-\uDEF8\uDFC0-\uDFE0]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDEE0-\uDEF2\uDF02\uDF04-\uDF10\uDF12-\uDF33\uDFB0]|\uD808[\uDC00-\uDF99]|\uD809[\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD80E\uD80F\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883\uD885-\uD887][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2F\uDC41-\uDC46\uDC60-\uDFFF]|\uD810[\uDC00-\uDFFA]|\uD811[\uDC00-\uDE46]|\uD818[\uDD00-\uDD1D]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE70-\uDEBE\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDD40-\uDD6C\uDE40-\uDE7F\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDCFF-\uDD08]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00-\uDD22\uDD32\uDD50-\uDD52\uDD55\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD837[\uDF00-\uDF1E\uDF25-\uDF2A]|\uD838[\uDC30-\uDC6D\uDD00-\uDD2C\uDD37-\uDD3D\uDD4E\uDE90-\uDEAD\uDEC0-\uDEEB]|\uD839[\uDCD0-\uDCEB\uDDD0-\uDDED\uDDF0\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43\uDD4B]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF39\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0\uDFF0-\uDFFF]|\uD87B[\uDC00-\uDE5D]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A\uDF50-\uDFFF]|\uD888[\uDC00-\uDFAF])(?:[0-9A-Za-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16F1-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C8A\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CD\uA7D0\uA7D1\uA7D3\uA7D5-\uA7DC\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF40\uDF42-\uDF49\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDDC0-\uDDF3\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDD00-\uDD23\uDD4A-\uDD65\uDD6F-\uDD85\uDE80-\uDEA9\uDEB0\uDEB1\uDEC2-\uDEC4\uDF00-\uDF1C\uDF27\uDF30-\uDF45\uDF70-\uDF81\uDFB0-\uDFC4\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC71\uDC72\uDC75\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE3F\uDE40\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61\uDF80-\uDF89\uDF8B\uDF8E\uDF90-\uDFB5\uDFB7\uDFD1\uDFD3]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDEB8\uDF00-\uDF1A\uDF40-\uDF46]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCDF\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEB0-\uDEF8\uDFC0-\uDFE0]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDEE0-\uDEF2\uDF02\uDF04-\uDF10\uDF12-\uDF33\uDFB0]|\uD808[\uDC00-\uDF99]|\uD809[\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD80E\uD80F\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883\uD885-\uD887][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2F\uDC41-\uDC46\uDC60-\uDFFF]|\uD810[\uDC00-\uDFFA]|\uD811[\uDC00-\uDE46]|\uD818[\uDD00-\uDD1D]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE70-\uDEBE\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDD40-\uDD6C\uDE40-\uDE7F\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDCFF-\uDD08]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00-\uDD22\uDD32\uDD50-\uDD52\uDD55\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD837[\uDF00-\uDF1E\uDF25-\uDF2A]|\uD838[\uDC30-\uDC6D\uDD00-\uDD2C\uDD37-\uDD3D\uDD4E\uDE90-\uDEAD\uDEC0-\uDEEB]|\uD839[\uDCD0-\uDCEB\uDDD0-\uDDED\uDDF0\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43\uDD4B]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF39\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0\uDFF0-\uDFFF]|\uD87B[\uDC00-\uDE5D]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A\uDF50-\uDFFF]|\uD888[\uDC00-\uDFAF])*$/.test(I)},{name:"string",test:ka},{name:"Chain",test:$n},{name:"Array",test:PA},{name:"Matrix",test:HA},{name:"DenseMatrix",test:yn},{name:"SparseMatrix",test:mn},{name:"Range",test:Fn},{name:"Index",test:kg},{name:"boolean",test:kn},{name:"ResultSet",test:Mn},{name:"Help",test:Rn},{name:"function",test:Nn},{name:"Date",test:Gn},{name:"RegExp",test:Sn},{name:"null",test:xn},{name:"undefined",test:Ln},{name:"AccessorNode",test:jn},{name:"ArrayNode",test:vn},{name:"AssignmentNode",test:Jn},{name:"BlockNode",test:Hn},{name:"ConditionalNode",test:Yn},{name:"ConstantNode",test:Kn},{name:"FunctionNode",test:qn},{name:"FunctionAssignmentNode",test:Tn},{name:"IndexNode",test:On},{name:"Node",test:Pn},{name:"ObjectNode",test:zn},{name:"OperatorNode",test:Wn},{name:"ParenthesisNode",test:Vn},{name:"RangeNode",test:Xn},{name:"RelationalNode",test:Zn},{name:"SymbolNode",test:_n},{name:"Map",test:Un},{name:"Object",test:Mg}]),i.addConversions([{from:"number",to:"BigNumber",convert:function(I){if(A||tt(I),I.toExponential().replace(/e.*$/,"").replace(/^0\.?0*|\./,"").length>15)throw new TypeError("Cannot implicitly convert a number with >15 significant digits to BigNumber (value: "+I+"). Use function bignumber(x) to convert to BigNumber.");return new A(I)}},{from:"number",to:"Complex",convert:function(I){return a||gt(I),new a(I,0)}},{from:"BigNumber",to:"Complex",convert:function(I){return a||gt(I),new a(I.toNumber(),0)}},{from:"bigint",to:"number",convert:function(I){if(I>Number.MAX_SAFE_INTEGER)throw new TypeError("Cannot implicitly convert bigint to number: value exceeds the max safe integer value (value: "+I+")");return Number(I)}},{from:"bigint",to:"BigNumber",convert:function(I){return A||tt(I),new A(I.toString())}},{from:"bigint",to:"Fraction",convert:function(I){return g||it(I),new g(I)}},{from:"Fraction",to:"BigNumber",convert:function(I){throw new TypeError("Cannot implicitly convert a Fraction to BigNumber or vice versa. Use function bignumber(x) to convert to BigNumber or fraction(x) to convert to Fraction.")}},{from:"Fraction",to:"Complex",convert:function(I){return a||gt(I),new a(I.valueOf(),0)}},{from:"number",to:"Fraction",convert:function(I){g||it(I);var r=new g(I);if(r.valueOf()!==I)throw new TypeError("Cannot implicitly convert a number to a Fraction when there will be a loss of precision (value: "+I+"). Use function fraction(x) to convert to Fraction.");return r}},{from:"string",to:"number",convert:function(I){var r=Number(I);if(isNaN(r))throw new Error('Cannot convert "'+I+'" to a number');return r}},{from:"string",to:"BigNumber",convert:function(I){A||tt(I);try{return new A(I)}catch{throw new Error('Cannot convert "'+I+'" to BigNumber')}}},{from:"string",to:"bigint",convert:function(I){try{return BigInt(I)}catch{throw new Error('Cannot convert "'+I+'" to BigInt')}}},{from:"string",to:"Fraction",convert:function(I){g||it(I);try{return new g(I)}catch{throw new Error('Cannot convert "'+I+'" to Fraction')}}},{from:"string",to:"Complex",convert:function(I){a||gt(I);try{return new a(I)}catch{throw new Error('Cannot convert "'+I+'" to Complex')}}},{from:"boolean",to:"number",convert:function(I){return+I}},{from:"boolean",to:"BigNumber",convert:function(I){return A||tt(I),new A(+I)}},{from:"boolean",to:"bigint",convert:function(I){return BigInt(+I)}},{from:"boolean",to:"Fraction",convert:function(I){return g||it(I),new g(+I)}},{from:"boolean",to:"string",convert:function(I){return String(I)}},{from:"Array",to:"Matrix",convert:function(I){return e||function(){throw new Error("Cannot convert array into a Matrix: no class 'DenseMatrix' provided")}(),new e(I)}},{from:"Matrix",to:"Array",convert:function(I){return I.valueOf()}}]),i.onMismatch=(I,r,o)=>{var B=i.createError(I,r,o);if(["wrongType","mismatch"].includes(B.data.category)&&r.length===1&<(r[0])&&o.some(s=>!s.params.includes(","))){var n=new TypeError("Function '".concat(I,"' doesn't apply to matrices. To call it ")+"elementwise on a matrix 'M', try 'map(M, ".concat(I,")'."));throw n.data=B.data,n}throw B},i.onMismatch=(I,r,o)=>{var B=i.createError(I,r,o);if(["wrongType","mismatch"].includes(B.data.category)&&r.length===1&<(r[0])&&o.some(s=>!s.params.includes(","))){var n=new TypeError("Function '".concat(I,"' doesn't apply to matrices. To call it ")+"elementwise on a matrix 'M', try 'map(M, ".concat(I,")'."));throw n.data=B.data,n}throw B},i});function tt(t){throw new Error("Cannot convert value ".concat(t," into a BigNumber: no class 'BigNumber' provided"))}function gt(t){throw new Error("Cannot convert value ".concat(t," into a Complex number: no class 'Complex' provided"))}function it(t){throw new Error("Cannot convert value ".concat(t," into a Fraction, no class 'Fraction' provided."))}/*!
|
|
27
|
+
`);return Object.freeze(fI)};function Bi(){return!0}function ha(){return!1}function de(){}ug(re,fI,{MATRIX_OPTIONS:["Matrix","Array"],NUMBER_OPTIONS:["number","BigNumber","Fraction"]});const ni="Argument is not a typed-function.",Dg=function g(){function A(F){return typeof F=="object"&&F!==null&&F.constructor===Object}const a=[{name:"number",test:function(F){return typeof F=="number"}},{name:"string",test:function(F){return typeof F=="string"}},{name:"boolean",test:function(F){return typeof F=="boolean"}},{name:"Function",test:function(F){return typeof F=="function"}},{name:"Array",test:Array.isArray},{name:"Date",test:function(F){return F instanceof Date}},{name:"RegExp",test:function(F){return F instanceof RegExp}},{name:"Object",test:A},{name:"null",test:function(F){return F===null}},{name:"undefined",test:function(F){return F===void 0}}],e={name:"any",test:Bi,isAny:!0};let t,i,I=0,B={createCount:0};function r(F){const R=t.get(F);if(R)return R;let U='Unknown type "'+F+'"';const j=F.toLowerCase();let H;for(H of i)if(H.toLowerCase()===j){U+='. Did you mean "'+H+'" ?';break}throw new TypeError(U)}function o(F){let R=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"any";const U=R?r(R).index:i.length,j=[];for(let T=0;T<F.length;++T){if(!F[T]||typeof F[T].name!="string"||typeof F[T].test!="function")throw new TypeError("Object with properties {name: string, test: function} expected");const V=F[T].name;if(t.has(V))throw new TypeError('Duplicate type name "'+V+'"');j.push(V),t.set(V,{name:V,test:F[T].test,isAny:F[T].isAny,index:U+T,conversionsTo:[]})}const H=i.slice(U);i=i.slice(0,U).concat(j).concat(H);for(let T=U+j.length;T<i.length;++T)t.get(i[T]).index=T}function n(){t=new Map,i=[],I=0,o([e],!1)}function C(F){const R=i.filter(U=>{const j=t.get(U);return!j.isAny&&j.test(F)});return R.length?R:["any"]}function Q(F){return F&&typeof F=="function"&&"_typedFunctionData"in F}function E(F,R,U){if(!Q(F))throw new TypeError(ni);const j=U&&U.exact,H=h(Array.isArray(R)?R.join(","):R),T=s(H);if(!j||T in F.signatures){const P=F._typedFunctionData.signatureMap.get(T);if(P)return P}const V=H.length;let K,$;if(j){let P;for(P in K=[],F.signatures)K.push(F._typedFunctionData.signatureMap.get(P))}else K=F._typedFunctionData.signatures;for(let P=0;P<V;++P){const DA=H[P],hA=[];let xA;for(xA of K){const OA=M(xA.params,P);if(OA&&(!DA.restParam||OA.restParam)){if(!OA.hasAny){const ia=b(OA);if(DA.types.some(oa=>!ia.has(oa.name)))continue}hA.push(xA)}}if(K=hA,K.length===0)break}for($ of K)if($.params.length<=V)return $;throw new TypeError("Signature not found (signature: "+(F.name||"unnamed")+"("+s(H,", ")+"))")}function s(F){let R=arguments.length>1&&arguments[1]!==void 0?arguments[1]:",";return F.map(U=>U.name).join(R)}function c(F){const R=F.indexOf("...")===0,U=(R?F.length>3?F.slice(3):"any":F).split("|").map(T=>r(T.trim()));let j=!1,H=R?"...":"";return{types:U.map(function(T){return j=T.isAny||j,H+=T.name+"|",{name:T.name,typeIndex:T.index,test:T.test,isAny:T.isAny,conversion:null,conversionIndex:-1}}),name:H.slice(0,-1),hasAny:j,hasConversion:!1,restParam:R}}function d(F){const R=F.types.map(V=>V.name),U=function(V){if(V.length===0)return[];const K=V.map(r);V.length>1&&K.sort((DA,hA)=>DA.index-hA.index);let $=K[0].conversionsTo;if(V.length===1)return $;$=$.concat([]);const P=new Set(V);for(let DA=1;DA<K.length;++DA){let hA;for(hA of K[DA].conversionsTo)P.has(hA.from)||($.push(hA),P.add(hA.from))}return $}(R);let j=F.hasAny,H=F.name;const T=U.map(function(V){const K=r(V.from);return j=K.isAny||j,H+="|"+V.from,{name:V.from,typeIndex:K.index,test:K.test,isAny:K.isAny,conversion:V,conversionIndex:V.index}});return{types:F.types.concat(T),name:H,hasAny:j,hasConversion:T.length>0,restParam:F.restParam}}function b(F){return F.typeSet||(F.typeSet=new Set,F.types.forEach(R=>F.typeSet.add(R.name))),F.typeSet}function h(F){const R=[];if(typeof F!="string")throw new TypeError("Signatures must be strings");const U=F.trim();if(U==="")return R;const j=U.split(",");for(let H=0;H<j.length;++H){const T=c(j[H].trim());if(T.restParam&&H!==j.length-1)throw new SyntaxError('Unexpected rest parameter "'+j[H]+'": only allowed for the last parameter');if(T.types.length===0)return null;R.push(T)}return R}function l(F){const R=BA(F);return!!R&&R.restParam}function w(F){if(F&&F.types.length!==0){if(F.types.length===1)return r(F.types[0].name).test;if(F.types.length===2){const R=r(F.types[0].name).test,U=r(F.types[1].name).test;return function(j){return R(j)||U(j)}}{const R=F.types.map(function(U){return r(U.name).test});return function(U){for(let j=0;j<R.length;j++)if(R[j](U))return!0;return!1}}}return Bi}function k(F){let R,U,j;if(l(F)){R=MA(F).map(w);const H=R.length,T=w(BA(F)),V=function(K){for(let $=H;$<K.length;$++)if(!T(K[$]))return!1;return!0};return function(K){for(let $=0;$<R.length;$++)if(!R[$](K[$]))return!1;return V(K)&&K.length>=H+1}}return F.length===0?function(H){return H.length===0}:F.length===1?(U=w(F[0]),function(H){return U(H[0])&&H.length===1}):F.length===2?(U=w(F[0]),j=w(F[1]),function(H){return U(H[0])&&j(H[1])&&H.length===2}):(R=F.map(w),function(H){for(let T=0;T<R.length;T++)if(!R[T](H[T]))return!1;return H.length===R.length})}function M(F,R){return R<F.length?F[R]:l(F)?BA(F):null}function N(F,R){const U=M(F,R);return U?b(U):new Set}function m(F){return F.conversion===null||F.conversion===void 0}function G(F,R){const U=new Set;return F.forEach(j=>{const H=N(j.params,R);let T;for(T of H)U.add(T)}),U.has("any")?["any"]:Array.from(U)}function L(F,R,U){let j,H;const T=F||"unnamed";let V,K=U;for(V=0;V<R.length;V++){const hA=[];if(K.forEach(xA=>{const OA=w(M(xA.params,V));(V<xA.params.length||l(xA.params))&&OA(R[V])&&hA.push(xA)}),hA.length===0){if(H=G(K,V),H.length>0){const xA=C(R[V]);return j=new TypeError("Unexpected type of argument in function "+T+" (expected: "+H.join(" or ")+", actual: "+xA.join(" | ")+", index: "+V+")"),j.data={category:"wrongType",fn:T,index:V,actual:xA,expected:H},j}}else K=hA}const $=K.map(function(hA){return l(hA.params)?1/0:hA.params.length});if(R.length<Math.min.apply(null,$))return H=G(K,V),j=new TypeError("Too few arguments in function "+T+" (expected: "+H.join(" or ")+", index: "+R.length+")"),j.data={category:"tooFewArgs",fn:T,index:R.length,expected:H},j;const P=Math.max.apply(null,$);if(R.length>P)return j=new TypeError("Too many arguments in function "+T+" (expected: "+P+", actual: "+R.length+")"),j.data={category:"tooManyArgs",fn:T,index:R.length,expectedLength:P},j;const DA=[];for(let hA=0;hA<R.length;++hA)DA.push(C(R[hA]).join("|"));return j=new TypeError('Arguments of type "'+DA.join(", ")+'" do not match any of the defined signatures of function '+T+"."),j.data={category:"mismatch",actual:DA},j}function x(F){let R=i.length+1;for(let U=0;U<F.types.length;U++)m(F.types[U])&&(R=Math.min(R,F.types[U].typeIndex));return R}function W(F){let R=I+1;for(let U=0;U<F.types.length;U++)m(F.types[U])||(R=Math.min(R,F.types[U].conversionIndex));return R}function X(F,R){if(F.hasAny){if(!R.hasAny)return 1}else if(R.hasAny)return-1;if(F.restParam){if(!R.restParam)return 1}else if(R.restParam)return-1;if(F.hasConversion){if(!R.hasConversion)return 1}else if(R.hasConversion)return-1;const U=x(F)-x(R);if(U<0)return-1;if(U>0)return 1;const j=W(F)-W(R);return j<0?-1:j>0?1:0}function eA(F,R){const U=F.params,j=R.params,H=BA(U),T=BA(j),V=l(U),K=l(j);if(V&&H.hasAny){if(!K||!T.hasAny)return 1}else if(K&&T.hasAny)return-1;let $,P=0,DA=0;for($ of U)$.hasAny&&++P,$.hasConversion&&++DA;let hA=0,xA=0;for($ of j)$.hasAny&&++hA,$.hasConversion&&++xA;if(P!==hA)return P-hA;if(V&&H.hasConversion){if(!K||!T.hasConversion)return 1}else if(K&&T.hasConversion)return-1;if(DA!==xA)return DA-xA;if(V){if(!K)return 1}else if(K)return-1;const OA=(U.length-j.length)*(V?-1:1);if(OA!==0)return OA;const ia=[];let oa,la=0;for(let Ja=0;Ja<U.length;++Ja){const Ae=X(U[Ja],j[Ja]);ia.push(Ae),la+=Ae}if(la!==0)return la;for(oa of ia)if(oa!==0)return oa;return 0}function AA(F,R){let U=R;if(F.some(H=>H.hasConversion)){const H=l(F),T=F.map(Z);U=function(){const V=[],K=H?arguments.length-1:arguments.length;for(let $=0;$<K;$++)V[$]=T[$](arguments[$]);return H&&(V[K]=arguments[K].map(T[K])),R.apply(this,V)}}let j=U;if(l(F)){const H=F.length-1;j=function(){return U.apply(this,CA(arguments,0,H).concat([CA(arguments,H)]))}}return j}function Z(F){let R,U,j,H;const T=[],V=[];switch(F.types.forEach(function(K){K.conversion&&(T.push(r(K.conversion.from).test),V.push(K.conversion.convert))}),V.length){case 0:return function(K){return K};case 1:return R=T[0],j=V[0],function(K){return R(K)?j(K):K};case 2:return R=T[0],U=T[1],j=V[0],H=V[1],function(K){return R(K)?j(K):U(K)?H(K):K};default:return function(K){for(let $=0;$<V.length;$++)if(T[$](K))return V[$](K);return K}}}function nA(F){return function R(U,j,H){if(j<U.length){const K=U[j];let $=[];if(K.restParam){const P=K.types.filter(m);P.length<K.types.length&&$.push({types:P,name:"..."+P.map(DA=>DA.name).join("|"),hasAny:P.some(DA=>DA.isAny),hasConversion:!1,restParam:!0}),$.push(K)}else $=K.types.map(function(P){return{types:[P],name:P.name,hasAny:P.isAny,hasConversion:P.conversion,restParam:!1}});return T=$,V=function(P){return R(U,j+1,H.concat([P]))},Array.prototype.concat.apply([],T.map(V))}return[H];var T,V}(F,0,[])}function bA(F,R){const U=Math.max(F.length,R.length);for(let K=0;K<U;K++){const $=N(F,K),P=N(R,K);let DA,hA=!1;for(DA of P)if($.has(DA)){hA=!0;break}if(!hA)return!1}const j=F.length,H=R.length,T=l(F),V=l(R);return T?V?j===H:H>=j:V?j>=H:j===H}function cA(F,R,U){const j=[];let H;for(H of F){let T=U[H];if(typeof T!="number")throw new TypeError('No definition for referenced signature "'+H+'"');if(T=R[T],typeof T!="function")return!1;j.push(T)}return j}function pA(F,R,U){const j=function(V){return V.map(K=>NA(K)?yA(K.referToSelf.callback):FA(K)?uA(K.referTo.references,K.referTo.callback):K)}(F),H=new Array(j.length).fill(!1);let T=!0;for(;T;){T=!1;let V=!0;for(let K=0;K<j.length;++K){if(H[K])continue;const $=j[K];if(NA($))j[K]=$.referToSelf.callback(U),j[K].referToSelf=$.referToSelf,H[K]=!0,V=!1;else if(FA($)){const P=cA($.referTo.references,j,R);P?(j[K]=$.referTo.callback.apply(this,P),j[K].referTo=$.referTo,H[K]=!0,V=!1):T=!0}}if(V&&T)throw new SyntaxError("Circular reference detected in resolving typed.referTo")}return j}function fA(F,R){if(B.createCount++,Object.keys(R).length===0)throw new SyntaxError("No signatures provided");B.warnAgainstDeprecatedThis&&function(sA){const Ea=/\bthis(\(|\.signatures\b)/;Object.keys(sA).forEach(Je=>{const Ha=sA[Je];if(Ea.test(Ha.toString()))throw new SyntaxError("Using `this` to self-reference a function is deprecated since typed-function@3. Use typed.referTo and typed.referToSelf instead.")})}(R);const U=[],j=[],H={},T=[];let V;for(V in R){if(!Object.prototype.hasOwnProperty.call(R,V))continue;const sA=h(V);if(!sA)continue;U.forEach(function(ee){if(bA(ee,sA))throw new TypeError('Conflicting signatures "'+s(ee)+'" and "'+s(sA)+'".')}),U.push(sA);const Ea=j.length;j.push(R[V]);const Je=sA.map(d);let Ha;for(Ha of nA(Je)){const ee=s(Ha);T.push({params:Ha,name:ee,fn:Ea}),Ha.every(Lg=>!Lg.hasConversion)&&(H[ee]=Ea)}}T.sort(eA);const K=pA(j,H,ae);let $;for($ in H)Object.prototype.hasOwnProperty.call(H,$)&&(H[$]=K[H[$]]);const P=[],DA=new Map;for($ of T)DA.has($.name)||($.fn=K[$.fn],P.push($),DA.set($.name,$));const hA=P[0]&&P[0].params.length<=2&&!l(P[0].params),xA=P[1]&&P[1].params.length<=2&&!l(P[1].params),OA=P[2]&&P[2].params.length<=2&&!l(P[2].params),ia=P[3]&&P[3].params.length<=2&&!l(P[3].params),oa=P[4]&&P[4].params.length<=2&&!l(P[4].params),la=P[5]&&P[5].params.length<=2&&!l(P[5].params),Ja=hA&&xA&&OA&&ia&&oa&&la;for(let sA=0;sA<P.length;++sA)P[sA].test=k(P[sA].params);const Ae=hA?w(P[0].params[0]):ha,Ng=xA?w(P[1].params[0]):ha,Ce=OA?w(P[2].params[0]):ha,Ee=ia?w(P[3].params[0]):ha,Oe=oa?w(P[4].params[0]):ha,Pe=la?w(P[5].params[0]):ha,Ca=hA?w(P[0].params[1]):ha,Gg=xA?w(P[1].params[1]):ha,ze=OA?w(P[2].params[1]):ha,Qe=ia?w(P[3].params[1]):ha,Re=oa?w(P[4].params[1]):ha,We=la?w(P[5].params[1]):ha;for(let sA=0;sA<P.length;++sA)P[sA].implementation=AA(P[sA].params,P[sA].fn);const Ne=hA?P[0].implementation:de,Ge=xA?P[1].implementation:de,Ve=OA?P[2].implementation:de,Xe=ia?P[3].implementation:de,ja=oa?P[4].implementation:de,Se=la?P[5].implementation:de,Ue=hA?P[0].params.length:-1,xe=xA?P[1].params.length:-1,Ze=OA?P[2].params.length:-1,Sg=ia?P[3].params.length:-1,_e=oa?P[4].params.length:-1,Ug=la?P[5].params.length:-1,xg=Ja?6:0,va=P.length,$e=P.map(sA=>sA.test),Ag=P.map(sA=>sA.implementation),Le=function(){for(let sA=xg;sA<va;sA++)if($e[sA](arguments))return Ag[sA].apply(this,arguments);return B.onMismatch(F,arguments,P)};function ae(sA,Ea){return arguments.length===Ue&&Ae(sA)&&Ca(Ea)?Ne.apply(this,arguments):arguments.length===xe&&Ng(sA)&&Gg(Ea)?Ge.apply(this,arguments):arguments.length===Ze&&Ce(sA)&&ze(Ea)?Ve.apply(this,arguments):arguments.length===Sg&&Ee(sA)&&Qe(Ea)?Xe.apply(this,arguments):arguments.length===_e&&Oe(sA)&&Re(Ea)?ja.apply(this,arguments):arguments.length===Ug&&Pe(sA)&&We(Ea)?Se.apply(this,arguments):Le.apply(this,arguments)}try{Object.defineProperty(ae,"name",{value:F})}catch{}return ae.signatures=H,ae._typedFunctionData={signatures:P,signatureMap:DA},ae}function oA(F,R,U){throw L(F,R,U)}function MA(F){return CA(F,0,F.length-1)}function BA(F){return F[F.length-1]}function CA(F,R,U){return Array.prototype.slice.call(F,R,U)}function uA(F,R){return{referTo:{references:F,callback:R}}}function yA(F){if(typeof F!="function")throw new TypeError("Callback function expected as first argument");return{referToSelf:{callback:F}}}function FA(F){return F&&typeof F.referTo=="object"&&Array.isArray(F.referTo.references)&&typeof F.referTo.callback=="function"}function NA(F){return F&&typeof F.referToSelf=="object"&&typeof F.referToSelf.callback=="function"}function WA(F,R){if(!F)return R;if(R&&R!==F){const U=new Error("Function names do not match (expected: "+F+", actual: "+R+")");throw U.data={actual:R,expected:F},U}return F}function VA(F){let R;for(const U in F)Object.prototype.hasOwnProperty.call(F,U)&&(Q(F[U])||typeof F[U].signature=="string")&&(R=WA(R,F[U].name));return R}function ra(F,R){let U;for(U in R)if(Object.prototype.hasOwnProperty.call(R,U)){if(U in F&&R[U]!==F[U]){const j=new Error('Signature "'+U+'" is defined twice');throw j.data={signature:U,sourceFunction:R[U],destFunction:F[U]},j}F[U]=R[U]}}n(),o(a);const YA=B;function QA(F){if(!F||typeof F.from!="string"||typeof F.to!="string"||typeof F.convert!="function")throw new TypeError("Object with properties {from: string, to: string, convert: function} expected");if(F.to===F.from)throw new SyntaxError('Illegal to define conversion from "'+F.from+'" to itself.')}return B=function(F){const R=typeof F=="string";let U=R?F:"";const j={};for(let H=R?1:0;H<arguments.length;++H){const T=arguments[H];let V,K={};if(typeof T=="function"?(V=T.name,typeof T.signature=="string"?K[T.signature]=T:Q(T)&&(K=T.signatures)):A(T)&&(K=T,R||(V=VA(T))),Object.keys(K).length===0){const $=new TypeError("Argument to 'typed' at index "+H+" is not a (typed) function, nor an object with signatures as keys and functions as values.");throw $.data={index:H,argument:T},$}R||(U=WA(U,V)),ra(j,K)}return fA(U||"",j)},B.create=g,B.createCount=YA.createCount,B.onMismatch=oA,B.throwMismatchError=oA,B.createError=L,B.clear=n,B.clearConversions=function(){let F;for(F of i)t.get(F).conversionsTo=[];I=0},B.addTypes=o,B._findType=r,B.referTo=function(){const F=MA(arguments).map(U=>s(h(U))),R=BA(arguments);if(typeof R!="function")throw new TypeError("Callback function expected as last argument");return uA(F,R)},B.referToSelf=yA,B.convert=function(F,R){const U=r(R);if(U.test(F))return F;const j=U.conversionsTo;if(j.length===0)throw new Error("There are no conversions to "+R+" defined.");for(let H=0;H<j.length;H++)if(r(j[H].from).test(F))return j[H].convert(F);throw new Error("Cannot convert "+F+" to "+R)},B.findSignature=E,B.find=function(F,R,U){return E(F,R,U).implementation},B.isTypedFunction=Q,B.warnAgainstDeprecatedThis=!0,B.addType=function(F,R){let U="any";R!==!1&&t.has("Object")&&(U="Object"),B.addTypes([F],U)},B.addConversion=function(F){let R=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{override:!1};QA(F);const U=r(F.to),j=U.conversionsTo.find(H=>H.from===F.from);if(j){if(!R||!R.override)throw new Error('There is already a conversion from "'+F.from+'" to "'+U.name+'"');B.removeConversion({from:j.from,to:F.to,convert:j.convert})}U.conversionsTo.push({from:F.from,convert:F.convert,index:I++})},B.addConversions=function(F,R){F.forEach(U=>B.addConversion(U,R))},B.removeConversion=function(F){QA(F);const R=r(F.to),U=function(H,T){for(let V=0;V<H.length;V++)if(T(H[V]))return H[V]}(R.conversionsTo,H=>H.from===F.from);if(!U)throw new Error("Attempt to remove nonexistent conversion from "+F.from+" to "+F.to);if(U.convert!==F.convert)throw new Error("Conversion to remove does not match existing conversion");const j=R.conversionsTo.indexOf(U);R.conversionsTo.splice(j,1)},B.resolve=function(F,R){if(!Q(F))throw new TypeError(ni);const U=F._typedFunctionData.signatures;for(let j=0;j<U.length;++j)if(U[j].test(R))return U[j];return null},B}();function lA(g,A,a,e){function t(i){var I=function(B,r){for(var o={},n=0;n<r.length;n++){var C=r[n],Q=B[C];Q!==void 0&&(o[C]=Q)}return o}(i,A.map(er));return function(B,r,o){var n=r.filter(Q=>!function(E){return E&&E[0]==="?"}(Q)).every(Q=>o[Q]!==void 0);if(!n){var C=r.filter(Q=>o[Q]===void 0);throw new Error('Cannot create function "'.concat(B,'", ')+"some dependencies are missing: ".concat(C.map(Q=>'"'.concat(Q,'"')).join(", "),"."))}}(g,A,i),a(I)}return t.isFactory=!0,t.fn=g,t.dependencies=A.slice().sort(),e&&(t.meta=e),t}function er(g){return g&&g[0]==="?"?g.slice(1):g}function LA(g){return typeof g=="boolean"||!!isFinite(g)&&g===Math.round(g)}function at(g,A,a){var e={2:"0b",8:"0o",16:"0x"}[A],t="";if(a){if(a<1)throw new Error("size must be in greater than 0");if(!LA(a))throw new Error("size must be an integer");if(g>2**(a-1)-1||g<-(2**(a-1)))throw new Error("Value must be in range [-2^".concat(a-1,", 2^").concat(a-1,"-1]"));if(!LA(g))throw new Error("Value must be an integer");g<0&&(g+=2**a),t="i".concat(a)}var i="";return g<0&&(g=-g,i="-"),"".concat(i).concat(e).concat(g.toString(A)).concat(t)}function ct(g,A){if(typeof A=="function")return A(g);if(g===1/0)return"Infinity";if(g===-1/0)return"-Infinity";if(isNaN(g))return"NaN";var{notation:a,precision:e,wordSize:t}=pI(A);switch(a){case"fixed":return function(i,I){if(isNaN(i)||!isFinite(i))return String(i);var B=Qg(i),r=typeof I=="number"?sg(B,B.exponent+1+I):B,o=r.coefficients,n=r.exponent+1,C=n+(I||0);return o.length<C&&(o=o.concat(De(C-o.length))),n<0&&(o=De(1-n).concat(o),n=1),n<o.length&&o.splice(n,0,n===0?"0.":"."),r.sign+o.join("")}(g,e);case"exponential":return ri(g,e);case"engineering":return function(i,I){if(isNaN(i)||!isFinite(i))return String(i);var B=Qg(i),r=sg(B,I),o=r.exponent,n=r.coefficients,C=o%3==0?o:o<0?o-3-o%3:o-o%3;if(RA(I))for(;I>n.length||o-C+1>n.length;)n.push(0);else for(var Q=Math.abs(o-C)-(n.length-1),E=0;E<Q;E++)n.push(0);for(var s=Math.abs(o-C),c=1;s>0;)c++,s--;var d=n.slice(c).join(""),b=RA(I)&&d.length||d.match(/[1-9]/)?"."+d:"",h=n.slice(0,c).join("")+b+"e"+(o>=0?"+":"")+C.toString();return r.sign+h}(g,e);case"bin":return at(g,2,t);case"oct":return at(g,8,t);case"hex":return at(g,16,t);case"auto":return function(i,I,B){if(isNaN(i)||!isFinite(i))return String(i);var r=Ci(B?.lowerExp,-3),o=Ci(B?.upperExp,5),n=Qg(i),C=I?sg(n,I):n;if(C.exponent<r||C.exponent>=o)return ri(i,I);var Q=C.coefficients,E=C.exponent;Q.length<I&&(Q=Q.concat(De(I-Q.length))),Q=Q.concat(De(E-Q.length+1+(Q.length<I?I-Q.length:0)));var s=E>0?E:0;return s<(Q=De(-E).concat(Q)).length-1&&Q.splice(s+1,0,"."),C.sign+Q.join("")}(g,e,A).replace(/((\.\d*?)(0+))($|e)/,function(){var i=arguments[2],I=arguments[4];return i!=="."?i+I:I});default:throw new Error('Unknown notation "'+a+'". Choose "auto", "exponential", "fixed", "bin", "oct", or "hex.')}}function pI(g){var A,a,e="auto";if(g!==void 0)if(RA(g))A=g;else if(TA(g))A=g.toNumber();else{if(!kt(g))throw new Error("Unsupported type of options, number, BigNumber, or object expected");g.precision!==void 0&&(A=oi(g.precision,()=>{throw new Error('Option "precision" must be a number or BigNumber')})),g.wordSize!==void 0&&(a=oi(g.wordSize,()=>{throw new Error('Option "wordSize" must be a number or BigNumber')})),g.notation&&(e=g.notation)}return{notation:e,precision:A,wordSize:a}}function Qg(g){var A=String(g).toLowerCase().match(/^(-?)(\d+\.?\d*)(e([+-]?\d+))?$/);if(!A)throw new SyntaxError("Invalid number "+g);var a=A[1],e=A[2],t=parseFloat(A[4]||"0"),i=e.indexOf(".");t+=i!==-1?i-1:e.length-1;var I=e.replace(".","").replace(/^0*/,function(B){return t-=B.length,""}).replace(/0*$/,"").split("").map(function(B){return parseInt(B)});return I.length===0&&(I.push(0),t++),{sign:a,coefficients:I,exponent:t}}function ri(g,A){if(isNaN(g)||!isFinite(g))return String(g);var a=Qg(g),e=A?sg(a,A):a,t=e.coefficients,i=e.exponent;t.length<A&&(t=t.concat(De(A-t.length)));var I=t.shift();return e.sign+I+(t.length>0?"."+t.join(""):"")+"e"+(i>=0?"+":"")+i}function sg(g,A){for(var a={sign:g.sign,coefficients:g.coefficients,exponent:g.exponent},e=a.coefficients;A<=0;)e.unshift(0),a.exponent++,A++;if(e.length>A&&e.splice(A,e.length-A)[0]>=5){var t=A-1;for(e[t]++;e[t]===10;)e.pop(),t===0&&(e.unshift(0),a.exponent++,t++),e[--t]++}return a}function De(g){for(var A=[],a=0;a<g;a++)A.push(0);return A}function cg(g,A){var a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1e-8,e=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0;if(a<=0)throw new Error("Relative tolerance must be greater than 0");if(e<0)throw new Error("Absolute tolerance must be at least 0");return!isNaN(g)&&!isNaN(A)&&(isFinite(g)&&isFinite(A)?g===A||Math.abs(g-A)<=Math.max(a*Math.max(Math.abs(g),Math.abs(A)),e):g===A)}function oi(g,A){return RA(g)?g:TA(g)?g.toNumber():void A()}function Ci(g,A){return RA(g)?g:TA(g)?g.toNumber():A}var FI=function(){return FI=Dg.create,Dg},gr=lA("typed",["?BigNumber","?Complex","?DenseMatrix","?Fraction"],function(g){var{BigNumber:A,Complex:a,DenseMatrix:e,Fraction:t}=g,i=FI();return i.clear(),i.addTypes([{name:"number",test:RA},{name:"Complex",test:DI},{name:"BigNumber",test:TA},{name:"bigint",test:Fn},{name:"Fraction",test:wI},{name:"Unit",test:yI},{name:"identifier",test:I=>Ma&&/^(?:[A-Za-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16F1-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C8A\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CD\uA7D0\uA7D1\uA7D3\uA7D5-\uA7DC\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF40\uDF42-\uDF49\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDDC0-\uDDF3\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDD00-\uDD23\uDD4A-\uDD65\uDD6F-\uDD85\uDE80-\uDEA9\uDEB0\uDEB1\uDEC2-\uDEC4\uDF00-\uDF1C\uDF27\uDF30-\uDF45\uDF70-\uDF81\uDFB0-\uDFC4\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC71\uDC72\uDC75\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE3F\uDE40\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61\uDF80-\uDF89\uDF8B\uDF8E\uDF90-\uDFB5\uDFB7\uDFD1\uDFD3]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDEB8\uDF00-\uDF1A\uDF40-\uDF46]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCDF\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEB0-\uDEF8\uDFC0-\uDFE0]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDEE0-\uDEF2\uDF02\uDF04-\uDF10\uDF12-\uDF33\uDFB0]|\uD808[\uDC00-\uDF99]|\uD809[\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD80E\uD80F\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883\uD885-\uD887][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2F\uDC41-\uDC46\uDC60-\uDFFF]|\uD810[\uDC00-\uDFFA]|\uD811[\uDC00-\uDE46]|\uD818[\uDD00-\uDD1D]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE70-\uDEBE\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDD40-\uDD6C\uDE40-\uDE7F\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDCFF-\uDD08]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00-\uDD22\uDD32\uDD50-\uDD52\uDD55\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD837[\uDF00-\uDF1E\uDF25-\uDF2A]|\uD838[\uDC30-\uDC6D\uDD00-\uDD2C\uDD37-\uDD3D\uDD4E\uDE90-\uDEAD\uDEC0-\uDEEB]|\uD839[\uDCD0-\uDCEB\uDDD0-\uDDED\uDDF0\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43\uDD4B]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF39\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0\uDFF0-\uDFFF]|\uD87B[\uDC00-\uDE5D]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A\uDF50-\uDFFF]|\uD888[\uDC00-\uDFAF])(?:[0-9A-Za-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16F1-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C8A\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CD\uA7D0\uA7D1\uA7D3\uA7D5-\uA7DC\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF40\uDF42-\uDF49\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDDC0-\uDDF3\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDD00-\uDD23\uDD4A-\uDD65\uDD6F-\uDD85\uDE80-\uDEA9\uDEB0\uDEB1\uDEC2-\uDEC4\uDF00-\uDF1C\uDF27\uDF30-\uDF45\uDF70-\uDF81\uDFB0-\uDFC4\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC71\uDC72\uDC75\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE3F\uDE40\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61\uDF80-\uDF89\uDF8B\uDF8E\uDF90-\uDFB5\uDFB7\uDFD1\uDFD3]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDEB8\uDF00-\uDF1A\uDF40-\uDF46]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCDF\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEB0-\uDEF8\uDFC0-\uDFE0]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDEE0-\uDEF2\uDF02\uDF04-\uDF10\uDF12-\uDF33\uDFB0]|\uD808[\uDC00-\uDF99]|\uD809[\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD80E\uD80F\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883\uD885-\uD887][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2F\uDC41-\uDC46\uDC60-\uDFFF]|\uD810[\uDC00-\uDFFA]|\uD811[\uDC00-\uDE46]|\uD818[\uDD00-\uDD1D]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE70-\uDEBE\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDD40-\uDD6C\uDE40-\uDE7F\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDCFF-\uDD08]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00-\uDD22\uDD32\uDD50-\uDD52\uDD55\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD837[\uDF00-\uDF1E\uDF25-\uDF2A]|\uD838[\uDC30-\uDC6D\uDD00-\uDD2C\uDD37-\uDD3D\uDD4E\uDE90-\uDEAD\uDEC0-\uDEEB]|\uD839[\uDCD0-\uDCEB\uDDD0-\uDDED\uDDF0\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43\uDD4B]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF39\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0\uDFF0-\uDFFF]|\uD87B[\uDC00-\uDE5D]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A\uDF50-\uDFFF]|\uD888[\uDC00-\uDFAF])*$/.test(I)},{name:"string",test:Ma},{name:"Chain",test:ar},{name:"Array",test:PA},{name:"Matrix",test:HA},{name:"DenseMatrix",test:mn},{name:"SparseMatrix",test:Mn},{name:"Range",test:kn},{name:"Index",test:Mt},{name:"boolean",test:Rn},{name:"ResultSet",test:Nn},{name:"Help",test:Gn},{name:"function",test:Sn},{name:"Date",test:Un},{name:"RegExp",test:xn},{name:"null",test:Jn},{name:"undefined",test:jn},{name:"AccessorNode",test:vn},{name:"ArrayNode",test:Hn},{name:"AssignmentNode",test:Yn},{name:"BlockNode",test:Kn},{name:"ConditionalNode",test:qn},{name:"ConstantNode",test:Tn},{name:"FunctionNode",test:Pn},{name:"FunctionAssignmentNode",test:On},{name:"IndexNode",test:zn},{name:"Node",test:Wn},{name:"ObjectNode",test:Vn},{name:"OperatorNode",test:Xn},{name:"ParenthesisNode",test:Zn},{name:"RangeNode",test:_n},{name:"RelationalNode",test:$n},{name:"SymbolNode",test:Ar},{name:"Map",test:Ln},{name:"Object",test:kt}]),i.addConversions([{from:"number",to:"BigNumber",convert:function(I){if(A||gg(I),I.toExponential().replace(/e.*$/,"").replace(/^0\.?0*|\./,"").length>15)throw new TypeError("Cannot implicitly convert a number with >15 significant digits to BigNumber (value: "+I+"). Use function bignumber(x) to convert to BigNumber.");return new A(I)}},{from:"number",to:"Complex",convert:function(I){return a||tg(I),new a(I,0)}},{from:"BigNumber",to:"Complex",convert:function(I){return a||tg(I),new a(I.toNumber(),0)}},{from:"bigint",to:"number",convert:function(I){if(I>Number.MAX_SAFE_INTEGER)throw new TypeError("Cannot implicitly convert bigint to number: value exceeds the max safe integer value (value: "+I+")");return Number(I)}},{from:"bigint",to:"BigNumber",convert:function(I){return A||gg(I),new A(I.toString())}},{from:"bigint",to:"Fraction",convert:function(I){return t||ig(I),new t(I)}},{from:"Fraction",to:"BigNumber",convert:function(I){throw new TypeError("Cannot implicitly convert a Fraction to BigNumber or vice versa. Use function bignumber(x) to convert to BigNumber or fraction(x) to convert to Fraction.")}},{from:"Fraction",to:"Complex",convert:function(I){return a||tg(I),new a(I.valueOf(),0)}},{from:"number",to:"Fraction",convert:function(I){t||ig(I);var B=new t(I);if(B.valueOf()!==I)throw new TypeError("Cannot implicitly convert a number to a Fraction when there will be a loss of precision (value: "+I+"). Use function fraction(x) to convert to Fraction.");return B}},{from:"string",to:"number",convert:function(I){var B=Number(I);if(isNaN(B))throw new Error('Cannot convert "'+I+'" to a number');return B}},{from:"string",to:"BigNumber",convert:function(I){A||gg(I);try{return new A(I)}catch{throw new Error('Cannot convert "'+I+'" to BigNumber')}}},{from:"string",to:"bigint",convert:function(I){try{return BigInt(I)}catch{throw new Error('Cannot convert "'+I+'" to BigInt')}}},{from:"string",to:"Fraction",convert:function(I){t||ig(I);try{return new t(I)}catch{throw new Error('Cannot convert "'+I+'" to Fraction')}}},{from:"string",to:"Complex",convert:function(I){a||tg(I);try{return new a(I)}catch{throw new Error('Cannot convert "'+I+'" to Complex')}}},{from:"boolean",to:"number",convert:function(I){return+I}},{from:"boolean",to:"BigNumber",convert:function(I){return A||gg(I),new A(+I)}},{from:"boolean",to:"bigint",convert:function(I){return BigInt(+I)}},{from:"boolean",to:"Fraction",convert:function(I){return t||ig(I),new t(+I)}},{from:"boolean",to:"string",convert:function(I){return String(I)}},{from:"Array",to:"Matrix",convert:function(I){return e||function(){throw new Error("Cannot convert array into a Matrix: no class 'DenseMatrix' provided")}(),new e(I)}},{from:"Matrix",to:"Array",convert:function(I){return I.valueOf()}}]),i.onMismatch=(I,B,r)=>{var o=i.createError(I,B,r);if(["wrongType","mismatch"].includes(o.data.category)&&B.length===1&&lg(B[0])&&r.some(C=>!C.params.includes(","))){var n=new TypeError("Function '".concat(I,"' doesn't apply to matrices. To call it ")+"elementwise on a matrix 'M', try 'map(M, ".concat(I,")'."));throw n.data=o.data,n}throw o},i.onMismatch=(I,B,r)=>{var o=i.createError(I,B,r);if(["wrongType","mismatch"].includes(o.data.category)&&B.length===1&&lg(B[0])&&r.some(C=>!C.params.includes(","))){var n=new TypeError("Function '".concat(I,"' doesn't apply to matrices. To call it ")+"elementwise on a matrix 'M', try 'map(M, ".concat(I,")'."));throw n.data=o.data,n}throw o},i});function gg(g){throw new Error("Cannot convert value ".concat(g," into a BigNumber: no class 'BigNumber' provided"))}function tg(g){throw new Error("Cannot convert value ".concat(g," into a Complex number: no class 'Complex' provided"))}function ig(g){throw new Error("Cannot convert value ".concat(g," into a Fraction, no class 'Fraction' provided."))}/*!
|
|
28
28
|
* decimal.js v10.5.0
|
|
29
29
|
* An arbitrary-precision Decimal type for JavaScript.
|
|
30
30
|
* https://github.com/MikeMcl/decimal.js
|
|
31
31
|
* Copyright (c) 2025 Michael Mclaughlin <M8ch88l@gmail.com>
|
|
32
32
|
* MIT Licence
|
|
33
|
-
*/var mI,La,we=9e15,Xa=1e9,hg="0123456789abcdef",wt="2.3025850929940456840179914546843642076011014886287729760333279009675726096773524802359972050895982983419677840422862486334095254650828067566662873690987816894829072083255546808437998948262331985283935053089653777326288461633662222876982198867465436674744042432743651550489343149393914796194044002221051017141748003688084012647080685567743216228355220114804663715659121373450747856947683463616792101806445070648000277502684916746550586856935673420670581136429224554405758925724208241314695689016758940256776311356919292033376587141660230105703089634572075440370847469940168269282808481184289314848524948644871927809676271275775397027668605952496716674183485704422507197965004714951050492214776567636938662976979522110718264549734772662425709429322582798502585509785265383207606726317164309505995087807523710333101197857547331541421808427543863591778117054309827482385045648019095610299291824318237525357709750539565187697510374970888692180205189339507238539205144634197265287286965110862571492198849978748873771345686209167058",pt="3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989380952572010654858632789",dg={precision:20,rounding:4,modulo:1,toExpNeg:-7,toExpPos:21,minE:-we,maxE:we,crypto:!1},oA=!0,Mt="[DecimalError] ",$a=Mt+"Invalid argument: ",FI=Mt+"Precision limit exceeded",kI=Mt+"crypto unavailable",MI="[object Decimal]",Aa=Math.floor,zA=Math.pow,eo=/^0b([01]+(\.[01]*)?|\.[01]+)(p[+-]?\d+)?$/i,to=/^0x([0-9a-f]+(\.[0-9a-f]*)?|\.[0-9a-f]+)(p[+-]?\d+)?$/i,go=/^0o([0-7]+(\.[0-7]*)?|\.[0-7]+)(p[+-]?\d+)?$/i,RI=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,pa=1e7,io=wt.length-1,bg=pt.length-1,Y={toStringTag:MI};function _A(t){var A,a,e,g=t.length-1,i="",I=t[0];if(g>0){for(i+=I,A=1;A<g;A++)(a=7-(e=t[A]+"").length)&&(i+=Va(a)),i+=e;(a=7-(e=(I=t[A])+"").length)&&(i+=Va(a))}else if(I===0)return"0";for(;I%10==0;)I/=10;return i+I}function ra(t,A,a){if(t!==~~t||t<A||t>a)throw Error($a+t)}function Ye(t,A,a,e){var g,i,I,r;for(i=t[0];i>=10;i/=10)--A;return--A<0?(A+=7,g=0):(g=Math.ceil((A+1)/7),A%=7),i=zA(10,7-A),r=t[g]%i|0,e==null?A<3?(A==0?r=r/100|0:A==1&&(r=r/10|0),I=a<4&&r==99999||a>3&&r==49999||r==5e4||r==0):I=(a<4&&r+1==i||a>3&&r+1==i/2)&&(t[g+1]/i/100|0)==zA(10,A-2)-1||(r==i/2||r==0)&&!(t[g+1]/i/100|0):A<4?(A==0?r=r/1e3|0:A==1?r=r/100|0:A==2&&(r=r/10|0),I=(e||a<4)&&r==9999||!e&&a>3&&r==4999):I=((e||a<4)&&r+1==i||!e&&a>3&&r+1==i/2)&&(t[g+1]/i/1e3|0)==zA(10,A-3)-1,I}function ht(t,A,a){for(var e,g,i=[0],I=0,r=t.length;I<r;){for(g=i.length;g--;)i[g]*=A;for(i[0]+=hg.indexOf(t.charAt(I++)),e=0;e<i.length;e++)i[e]>a-1&&(i[e+1]===void 0&&(i[e+1]=0),i[e+1]+=i[e]/a|0,i[e]%=a)}return i.reverse()}Y.absoluteValue=Y.abs=function(){var t=new this.constructor(this);return t.s<0&&(t.s=1),iA(t)},Y.ceil=function(){return iA(new this.constructor(this),this.e+1,2)},Y.clampedTo=Y.clamp=function(t,A){var a=this,e=a.constructor;if(t=new e(t),A=new e(A),!t.s||!A.s)return new e(NaN);if(t.gt(A))throw Error($a+A);return a.cmp(t)<0?t:a.cmp(A)>0?A:new e(a)},Y.comparedTo=Y.cmp=function(t){var A,a,e,g,i=this,I=i.d,r=(t=new i.constructor(t)).d,o=i.s,B=t.s;if(!I||!r)return o&&B?o!==B?o:I===r?0:!I^o<0?1:-1:NaN;if(!I[0]||!r[0])return I[0]?o:r[0]?-B:0;if(o!==B)return o;if(i.e!==t.e)return i.e>t.e^o<0?1:-1;for(A=0,a=(e=I.length)<(g=r.length)?e:g;A<a;++A)if(I[A]!==r[A])return I[A]>r[A]^o<0?1:-1;return e===g?0:e>g^o<0?1:-1},Y.cosine=Y.cos=function(){var t,A,a=this,e=a.constructor;return a.d?a.d[0]?(t=e.precision,A=e.rounding,e.precision=t+Math.max(a.e,a.sd())+7,e.rounding=1,a=function(g,i){var I,r,o;if(i.isZero())return i;r=i.d.length,r<32?o=(1/It(4,I=Math.ceil(r/3))).toString():(I=16,o="2.3283064365386962890625e-10"),g.precision+=I,i=be(g,1,i.times(o),new g(1));for(var B=I;B--;){var n=i.times(i);i=n.times(n).minus(n).times(8).plus(1)}return g.precision-=I,i}(e,Qi(e,a)),e.precision=t,e.rounding=A,iA(La==2||La==3?a.neg():a,t,A,!0)):new e(1):new e(NaN)},Y.cubeRoot=Y.cbrt=function(){var t,A,a,e,g,i,I,r,o,B,n=this,s=n.constructor;if(!n.isFinite()||n.isZero())return new s(n);for(oA=!1,(i=n.s*zA(n.s*n,1/3))&&Math.abs(i)!=1/0?e=new s(i.toString()):(a=_A(n.d),(i=((t=n.e)-a.length+1)%3)&&(a+=i==1||i==-2?"0":"00"),i=zA(a,1/3),t=Aa((t+1)/3)-(t%3==(t<0?-1:2)),(e=new s(a=i==1/0?"5e"+t:(a=i.toExponential()).slice(0,a.indexOf("e")+1)+t)).s=n.s),I=(t=s.precision)+3;;)if(B=(o=(r=e).times(r).times(r)).plus(n),e=MA(B.plus(n).times(r),B.plus(o),I+2,1),_A(r.d).slice(0,I)===(a=_A(e.d)).slice(0,I)){if((a=a.slice(I-3,I+1))!="9999"&&(g||a!="4999")){+a&&(+a.slice(1)||a.charAt(0)!="5")||(iA(e,t+1,1),A=!e.times(e).times(e).eq(n));break}if(!g&&(iA(r,t+1,0),r.times(r).times(r).eq(n))){e=r;break}I+=4,g=1}return oA=!0,iA(e,t,s.rounding,A)},Y.decimalPlaces=Y.dp=function(){var t,A=this.d,a=NaN;if(A){if(a=7*((t=A.length-1)-Aa(this.e/7)),t=A[t])for(;t%10==0;t/=10)a--;a<0&&(a=0)}return a},Y.dividedBy=Y.div=function(t){return MA(this,new this.constructor(t))},Y.dividedToIntegerBy=Y.divToInt=function(t){var A=this.constructor;return iA(MA(this,new A(t),0,1,1),A.precision,A.rounding)},Y.equals=Y.eq=function(t){return this.cmp(t)===0},Y.floor=function(){return iA(new this.constructor(this),this.e+1,3)},Y.greaterThan=Y.gt=function(t){return this.cmp(t)>0},Y.greaterThanOrEqualTo=Y.gte=function(t){var A=this.cmp(t);return A==1||A===0},Y.hyperbolicCosine=Y.cosh=function(){var t,A,a,e,g,i=this,I=i.constructor,r=new I(1);if(!i.isFinite())return new I(i.s?1/0:NaN);if(i.isZero())return r;a=I.precision,e=I.rounding,I.precision=a+Math.max(i.e,i.sd())+4,I.rounding=1,(g=i.d.length)<32?A=(1/It(4,t=Math.ceil(g/3))).toString():(t=16,A="2.3283064365386962890625e-10"),i=be(I,1,i.times(A),new I(1),!0);for(var o,B=t,n=new I(8);B--;)o=i.times(i),i=r.minus(o.times(n.minus(o.times(n))));return iA(i,I.precision=a,I.rounding=e,!0)},Y.hyperbolicSine=Y.sinh=function(){var t,A,a,e,g=this,i=g.constructor;if(!g.isFinite()||g.isZero())return new i(g);if(A=i.precision,a=i.rounding,i.precision=A+Math.max(g.e,g.sd())+4,i.rounding=1,(e=g.d.length)<3)g=be(i,2,g,g,!0);else{t=(t=1.4*Math.sqrt(e))>16?16:0|t,g=be(i,2,g=g.times(1/It(5,t)),g,!0);for(var I,r=new i(5),o=new i(16),B=new i(20);t--;)I=g.times(g),g=g.times(r.plus(I.times(o.times(I).plus(B))))}return i.precision=A,i.rounding=a,iA(g,A,a,!0)},Y.hyperbolicTangent=Y.tanh=function(){var t,A,a=this,e=a.constructor;return a.isFinite()?a.isZero()?new e(a):(t=e.precision,A=e.rounding,e.precision=t+7,e.rounding=1,MA(a.sinh(),a.cosh(),e.precision=t,e.rounding=A)):new e(a.s)},Y.inverseCosine=Y.acos=function(){var t=this,A=t.constructor,a=t.abs().cmp(1),e=A.precision,g=A.rounding;return a!==-1?a===0?t.isNeg()?Ma(A,e,g):new A(0):new A(NaN):t.isZero()?Ma(A,e+4,g).times(.5):(A.precision=e+6,A.rounding=1,t=new A(1).minus(t).div(t.plus(1)).sqrt().atan(),A.precision=e,A.rounding=g,t.times(2))},Y.inverseHyperbolicCosine=Y.acosh=function(){var t,A,a=this,e=a.constructor;return a.lte(1)?new e(a.eq(1)?0:NaN):a.isFinite()?(t=e.precision,A=e.rounding,e.precision=t+Math.max(Math.abs(a.e),a.sd())+4,e.rounding=1,oA=!1,a=a.times(a).minus(1).sqrt().plus(a),oA=!0,e.precision=t,e.rounding=A,a.ln()):new e(a)},Y.inverseHyperbolicSine=Y.asinh=function(){var t,A,a=this,e=a.constructor;return!a.isFinite()||a.isZero()?new e(a):(t=e.precision,A=e.rounding,e.precision=t+2*Math.max(Math.abs(a.e),a.sd())+6,e.rounding=1,oA=!1,a=a.times(a).plus(1).sqrt().plus(a),oA=!0,e.precision=t,e.rounding=A,a.ln())},Y.inverseHyperbolicTangent=Y.atanh=function(){var t,A,a,e,g=this,i=g.constructor;return g.isFinite()?g.e>=0?new i(g.abs().eq(1)?g.s/0:g.isZero()?g:NaN):(t=i.precision,A=i.rounding,e=g.sd(),Math.max(e,t)<2*-g.e-1?iA(new i(g),t,A,!0):(i.precision=a=e-g.e,g=MA(g.plus(1),new i(1).minus(g),a+t,1),i.precision=t+4,i.rounding=1,g=g.ln(),i.precision=t,i.rounding=A,g.times(.5))):new i(NaN)},Y.inverseSine=Y.asin=function(){var t,A,a,e,g=this,i=g.constructor;return g.isZero()?new i(g):(A=g.abs().cmp(1),a=i.precision,e=i.rounding,A!==-1?A===0?((t=Ma(i,a+4,e).times(.5)).s=g.s,t):new i(NaN):(i.precision=a+6,i.rounding=1,g=g.div(new i(1).minus(g.times(g)).sqrt().plus(1)).atan(),i.precision=a,i.rounding=e,g.times(2)))},Y.inverseTangent=Y.atan=function(){var t,A,a,e,g,i,I,r,o,B=this,n=B.constructor,s=n.precision,E=n.rounding;if(B.isFinite()){if(B.isZero())return new n(B);if(B.abs().eq(1)&&s+4<=bg)return(I=Ma(n,s+4,E).times(.25)).s=B.s,I}else{if(!B.s)return new n(NaN);if(s+4<=bg)return(I=Ma(n,s+4,E).times(.5)).s=B.s,I}for(n.precision=r=s+10,n.rounding=1,t=a=Math.min(28,r/7+2|0);t;--t)B=B.div(B.times(B).plus(1).sqrt().plus(1));for(oA=!1,A=Math.ceil(r/7),e=1,o=B.times(B),I=new n(B),g=B;t!==-1;)if(g=g.times(o),i=I.minus(g.div(e+=2)),g=g.times(o),(I=i.plus(g.div(e+=2))).d[A]!==void 0)for(t=A;I.d[t]===i.d[t]&&t--;);return a&&(I=I.times(2<<a-1)),oA=!0,iA(I,n.precision=s,n.rounding=E,!0)},Y.isFinite=function(){return!!this.d},Y.isInteger=Y.isInt=function(){return!!this.d&&Aa(this.e/7)>this.d.length-2},Y.isNaN=function(){return!this.s},Y.isNegative=Y.isNeg=function(){return this.s<0},Y.isPositive=Y.isPos=function(){return this.s>0},Y.isZero=function(){return!!this.d&&this.d[0]===0},Y.lessThan=Y.lt=function(t){return this.cmp(t)<0},Y.lessThanOrEqualTo=Y.lte=function(t){return this.cmp(t)<1},Y.logarithm=Y.log=function(t){var A,a,e,g,i,I,r,o,B=this,n=B.constructor,s=n.precision,E=n.rounding;if(t==null)t=new n(10),A=!0;else{if(a=(t=new n(t)).d,t.s<0||!a||!a[0]||t.eq(1))return new n(NaN);A=t.eq(10)}if(a=B.d,B.s<0||!a||!a[0]||B.eq(1))return new n(a&&!a[0]?-1/0:B.s!=1?NaN:a?0:1/0);if(A)if(a.length>1)i=!0;else{for(g=a[0];g%10==0;)g/=10;i=g!==1}if(oA=!1,I=za(B,r=s+5),e=A?yt(n,r+10):za(t,r),Ye((o=MA(I,e,r,1)).d,g=s,E))do if(I=za(B,r+=10),e=A?yt(n,r+10):za(t,r),o=MA(I,e,r,1),!i){+_A(o.d).slice(g+1,g+15)+1==1e14&&(o=iA(o,s+1,0));break}while(Ye(o.d,g+=10,E));return oA=!0,iA(o,s,E)},Y.minus=Y.sub=function(t){var A,a,e,g,i,I,r,o,B,n,s,E,C=this,Q=C.constructor;if(t=new Q(t),!C.d||!t.d)return C.s&&t.s?C.d?t.s=-t.s:t=new Q(t.d||C.s!==t.s?C:NaN):t=new Q(NaN),t;if(C.s!=t.s)return t.s=-t.s,C.plus(t);if(B=C.d,E=t.d,r=Q.precision,o=Q.rounding,!B[0]||!E[0]){if(E[0])t.s=-t.s;else{if(!B[0])return new Q(o===3?-0:0);t=new Q(C)}return oA?iA(t,r,o):t}if(a=Aa(t.e/7),n=Aa(C.e/7),B=B.slice(),i=n-a){for((s=i<0)?(A=B,i=-i,I=E.length):(A=E,a=n,I=B.length),i>(e=Math.max(Math.ceil(r/7),I)+2)&&(i=e,A.length=1),A.reverse(),e=i;e--;)A.push(0);A.reverse()}else{for((s=(e=B.length)<(I=E.length))&&(I=e),e=0;e<I;e++)if(B[e]!=E[e]){s=B[e]<E[e];break}i=0}for(s&&(A=B,B=E,E=A,t.s=-t.s),I=B.length,e=E.length-I;e>0;--e)B[I++]=0;for(e=E.length;e>i;){if(B[--e]<E[e]){for(g=e;g&&B[--g]===0;)B[g]=pa-1;--B[g],B[e]+=pa}B[e]-=E[e]}for(;B[--I]===0;)B.pop();for(;B[0]===0;B.shift())--a;return B[0]?(t.d=B,t.e=dt(B,a),oA?iA(t,r,o):t):new Q(o===3?-0:0)},Y.modulo=Y.mod=function(t){var A,a=this,e=a.constructor;return t=new e(t),!a.d||!t.s||t.d&&!t.d[0]?new e(NaN):!t.d||a.d&&!a.d[0]?iA(new e(a),e.precision,e.rounding):(oA=!1,e.modulo==9?(A=MA(a,t.abs(),0,3,1)).s*=t.s:A=MA(a,t,0,e.modulo,1),A=A.times(t),oA=!0,a.minus(A))},Y.naturalExponential=Y.exp=function(){return eg(this)},Y.naturalLogarithm=Y.ln=function(){return za(this)},Y.negated=Y.neg=function(){var t=new this.constructor(this);return t.s=-t.s,iA(t)},Y.plus=Y.add=function(t){var A,a,e,g,i,I,r,o,B,n,s=this,E=s.constructor;if(t=new E(t),!s.d||!t.d)return s.s&&t.s?s.d||(t=new E(t.d||s.s===t.s?s:NaN)):t=new E(NaN),t;if(s.s!=t.s)return t.s=-t.s,s.minus(t);if(B=s.d,n=t.d,r=E.precision,o=E.rounding,!B[0]||!n[0])return n[0]||(t=new E(s)),oA?iA(t,r,o):t;if(i=Aa(s.e/7),e=Aa(t.e/7),B=B.slice(),g=i-e){for(g<0?(a=B,g=-g,I=n.length):(a=n,e=i,I=B.length),g>(I=(i=Math.ceil(r/7))>I?i+1:I+1)&&(g=I,a.length=1),a.reverse();g--;)a.push(0);a.reverse()}for((I=B.length)-(g=n.length)<0&&(g=I,a=n,n=B,B=a),A=0;g;)A=(B[--g]=B[g]+n[g]+A)/pa|0,B[g]%=pa;for(A&&(B.unshift(A),++e),I=B.length;B[--I]==0;)B.pop();return t.d=B,t.e=dt(B,e),oA?iA(t,r,o):t},Y.precision=Y.sd=function(t){var A,a=this;if(t!==void 0&&t!==!!t&&t!==1&&t!==0)throw Error($a+t);return a.d?(A=Ci(a.d),t&&a.e+1>A&&(A=a.e+1)):A=NaN,A},Y.round=function(){var t=this,A=t.constructor;return iA(new A(t),t.e+1,A.rounding)},Y.sine=Y.sin=function(){var t,A,a=this,e=a.constructor;return a.isFinite()?a.isZero()?new e(a):(t=e.precision,A=e.rounding,e.precision=t+Math.max(a.e,a.sd())+7,e.rounding=1,a=function(g,i){var I,r=i.d.length;if(r<3)return i.isZero()?i:be(g,2,i,i);I=(I=1.4*Math.sqrt(r))>16?16:0|I,i=i.times(1/It(5,I)),i=be(g,2,i,i);for(var o,B=new g(5),n=new g(16),s=new g(20);I--;)o=i.times(i),i=i.times(B.plus(o.times(n.times(o).minus(s))));return i}(e,Qi(e,a)),e.precision=t,e.rounding=A,iA(La>2?a.neg():a,t,A,!0)):new e(NaN)},Y.squareRoot=Y.sqrt=function(){var t,A,a,e,g,i,I=this,r=I.d,o=I.e,B=I.s,n=I.constructor;if(B!==1||!r||!r[0])return new n(!B||B<0&&(!r||r[0])?NaN:r?I:1/0);for(oA=!1,(B=Math.sqrt(+I))==0||B==1/0?(((A=_A(r)).length+o)%2==0&&(A+="0"),B=Math.sqrt(A),o=Aa((o+1)/2)-(o<0||o%2),e=new n(A=B==1/0?"5e"+o:(A=B.toExponential()).slice(0,A.indexOf("e")+1)+o)):e=new n(B.toString()),a=(o=n.precision)+3;;)if(e=(i=e).plus(MA(I,i,a+2,1)).times(.5),_A(i.d).slice(0,a)===(A=_A(e.d)).slice(0,a)){if((A=A.slice(a-3,a+1))!="9999"&&(g||A!="4999")){+A&&(+A.slice(1)||A.charAt(0)!="5")||(iA(e,o+1,1),t=!e.times(e).eq(I));break}if(!g&&(iA(i,o+1,0),i.times(i).eq(I))){e=i;break}a+=4,g=1}return oA=!0,iA(e,o,n.rounding,t)},Y.tangent=Y.tan=function(){var t,A,a=this,e=a.constructor;return a.isFinite()?a.isZero()?new e(a):(t=e.precision,A=e.rounding,e.precision=t+10,e.rounding=1,(a=a.sin()).s=1,a=MA(a,new e(1).minus(a.times(a)).sqrt(),t+10,0),e.precision=t,e.rounding=A,iA(La==2||La==4?a.neg():a,t,A,!0)):new e(NaN)},Y.times=Y.mul=function(t){var A,a,e,g,i,I,r,o,B,n=this,s=n.constructor,E=n.d,C=(t=new s(t)).d;if(t.s*=n.s,!(E&&E[0]&&C&&C[0]))return new s(!t.s||E&&!E[0]&&!C||C&&!C[0]&&!E?NaN:E&&C?0*t.s:t.s/0);for(a=Aa(n.e/7)+Aa(t.e/7),(o=E.length)<(B=C.length)&&(i=E,E=C,C=i,I=o,o=B,B=I),i=[],e=I=o+B;e--;)i.push(0);for(e=B;--e>=0;){for(A=0,g=o+e;g>e;)r=i[g]+C[e]*E[g-e-1]+A,i[g--]=r%pa|0,A=r/pa|0;i[g]=(i[g]+A)%pa|0}for(;!i[--I];)i.pop();return A?++a:i.shift(),t.d=i,t.e=dt(i,a),oA?iA(t,s.precision,s.rounding):t},Y.toBinary=function(t,A){return tg(this,2,t,A)},Y.toDecimalPlaces=Y.toDP=function(t,A){var a=this,e=a.constructor;return a=new e(a),t===void 0?a:(ra(t,0,Xa),A===void 0?A=e.rounding:ra(A,0,8),iA(a,t+a.e+1,A))},Y.toExponential=function(t,A){var a,e=this,g=e.constructor;return t===void 0?a=ma(e,!0):(ra(t,0,Xa),A===void 0?A=g.rounding:ra(A,0,8),a=ma(e=iA(new g(e),t+1,A),!0,t+1)),e.isNeg()&&!e.isZero()?"-"+a:a},Y.toFixed=function(t,A){var a,e,g=this,i=g.constructor;return t===void 0?a=ma(g):(ra(t,0,Xa),A===void 0?A=i.rounding:ra(A,0,8),a=ma(e=iA(new i(g),t+g.e+1,A),!1,t+e.e+1)),g.isNeg()&&!g.isZero()?"-"+a:a},Y.toFraction=function(t){var A,a,e,g,i,I,r,o,B,n,s,E,C=this,Q=C.d,c=C.constructor;if(!Q)return new c(C);if(B=a=new c(1),e=o=new c(0),I=(i=(A=new c(e)).e=Ci(Q)-C.e-1)%7,A.d[0]=zA(10,I<0?7+I:I),t==null)t=i>0?A:B;else{if(!(r=new c(t)).isInt()||r.lt(B))throw Error($a+r);t=r.gt(A)?i>0?A:B:r}for(oA=!1,r=new c(_A(Q)),n=c.precision,c.precision=i=7*Q.length*2;s=MA(r,A,0,1,1),(g=a.plus(s.times(e))).cmp(t)!=1;)a=e,e=g,g=B,B=o.plus(s.times(g)),o=g,g=A,A=r.minus(s.times(g)),r=g;return g=MA(t.minus(a),e,0,1,1),o=o.plus(g.times(B)),a=a.plus(g.times(e)),o.s=B.s=C.s,E=MA(B,e,i,1).minus(C).abs().cmp(MA(o,a,i,1).minus(C).abs())<1?[B,e]:[o,a],c.precision=n,oA=!0,E},Y.toHexadecimal=Y.toHex=function(t,A){return tg(this,16,t,A)},Y.toNearest=function(t,A){var a=this,e=a.constructor;if(a=new e(a),t==null){if(!a.d)return a;t=new e(1),A=e.rounding}else{if(t=new e(t),A===void 0?A=e.rounding:ra(A,0,8),!a.d)return t.s?a:t;if(!t.d)return t.s&&(t.s=a.s),t}return t.d[0]?(oA=!1,a=MA(a,t,0,A,1).times(t),oA=!0,iA(a)):(t.s=a.s,a=t),a},Y.toNumber=function(){return+this},Y.toOctal=function(t,A){return tg(this,8,t,A)},Y.toPower=Y.pow=function(t){var A,a,e,g,i,I,r=this,o=r.constructor,B=+(t=new o(t));if(!(r.d&&t.d&&r.d[0]&&t.d[0]))return new o(zA(+r,B));if((r=new o(r)).eq(1))return r;if(e=o.precision,i=o.rounding,t.eq(1))return iA(r,e,i);if((A=Aa(t.e/7))>=t.d.length-1&&(a=B<0?-B:B)<=9007199254740991)return g=NI(o,r,a,e),t.s<0?new o(1).div(g):iA(g,e,i);if((I=r.s)<0){if(A<t.d.length-1)return new o(NaN);if(1&t.d[A]||(I=1),r.e==0&&r.d[0]==1&&r.d.length==1)return r.s=I,r}return(A=(a=zA(+r,B))!=0&&isFinite(a)?new o(a+"").e:Aa(B*(Math.log("0."+_A(r.d))/Math.LN10+r.e+1)))>o.maxE+1||A<o.minE-1?new o(A>0?I/0:0):(oA=!1,o.rounding=r.s=1,a=Math.min(12,(A+"").length),(g=eg(t.times(za(r,e+a)),e)).d&&Ye((g=iA(g,e+5,1)).d,e,i)&&(A=e+10,+_A((g=iA(eg(t.times(za(r,A+a)),A),A+5,1)).d).slice(e+1,e+15)+1==1e14&&(g=iA(g,e+1,0))),g.s=I,oA=!0,o.rounding=i,iA(g,e,i))},Y.toPrecision=function(t,A){var a,e=this,g=e.constructor;return t===void 0?a=ma(e,e.e<=g.toExpNeg||e.e>=g.toExpPos):(ra(t,1,Xa),A===void 0?A=g.rounding:ra(A,0,8),a=ma(e=iA(new g(e),t,A),t<=e.e||e.e<=g.toExpNeg,t)),e.isNeg()&&!e.isZero()?"-"+a:a},Y.toSignificantDigits=Y.toSD=function(t,A){var a=this.constructor;return t===void 0?(t=a.precision,A=a.rounding):(ra(t,1,Xa),A===void 0?A=a.rounding:ra(A,0,8)),iA(new a(this),t,A)},Y.toString=function(){var t=this,A=t.constructor,a=ma(t,t.e<=A.toExpNeg||t.e>=A.toExpPos);return t.isNeg()&&!t.isZero()?"-"+a:a},Y.truncated=Y.trunc=function(){return iA(new this.constructor(this),this.e+1,1)},Y.valueOf=Y.toJSON=function(){var t=this,A=t.constructor,a=ma(t,t.e<=A.toExpNeg||t.e>=A.toExpPos);return t.isNeg()?"-"+a:a};var MA=function(){function t(e,g,i){var I,r=0,o=e.length;for(e=e.slice();o--;)I=e[o]*g+r,e[o]=I%i|0,r=I/i|0;return r&&e.unshift(r),e}function A(e,g,i,I){var r,o;if(i!=I)o=i>I?1:-1;else for(r=o=0;r<i;r++)if(e[r]!=g[r]){o=e[r]>g[r]?1:-1;break}return o}function a(e,g,i,I){for(var r=0;i--;)e[i]-=r,r=e[i]<g[i]?1:0,e[i]=r*I+e[i]-g[i];for(;!e[0]&&e.length>1;)e.shift()}return function(e,g,i,I,r,o){var B,n,s,E,C,Q,c,d,b,h,l,w,M,k,N,F,G,L,x,W,X=e.constructor,eA=e.s==g.s?1:-1,AA=e.d,Z=g.d;if(!(AA&&AA[0]&&Z&&Z[0]))return new X(e.s&&g.s&&(AA?!Z||AA[0]!=Z[0]:Z)?AA&&AA[0]==0||!Z?0*eA:eA/0:NaN);for(o?(C=1,n=e.e-g.e):(o=pa,C=7,n=Aa(e.e/C)-Aa(g.e/C)),x=Z.length,G=AA.length,h=(b=new X(eA)).d=[],s=0;Z[s]==(AA[s]||0);s++);if(Z[s]>(AA[s]||0)&&n--,i==null?(k=i=X.precision,I=X.rounding):k=r?i+(e.e-g.e)+1:i,k<0)h.push(1),Q=!0;else{if(k=k/C+2|0,s=0,x==1){for(E=0,Z=Z[0],k++;(s<G||E)&&k--;s++)N=E*o+(AA[s]||0),h[s]=N/Z|0,E=N%Z|0;Q=E||s<G}else{for((E=o/(Z[0]+1)|0)>1&&(Z=t(Z,E,o),AA=t(AA,E,o),x=Z.length,G=AA.length),F=x,w=(l=AA.slice(0,x)).length;w<x;)l[w++]=0;(W=Z.slice()).unshift(0),L=Z[0],Z[1]>=o/2&&++L;do E=0,(B=A(Z,l,x,w))<0?(M=l[0],x!=w&&(M=M*o+(l[1]||0)),(E=M/L|0)>1?(E>=o&&(E=o-1),(B=A(c=t(Z,E,o),l,d=c.length,w=l.length))==1&&(E--,a(c,x<d?W:Z,d,o))):(E==0&&(B=E=1),c=Z.slice()),(d=c.length)<w&&c.unshift(0),a(l,c,w,o),B==-1&&(B=A(Z,l,x,w=l.length))<1&&(E++,a(l,x<w?W:Z,w,o)),w=l.length):B===0&&(E++,l=[0]),h[s++]=E,B&&l[0]?l[w++]=AA[F]||0:(l=[AA[F]],w=1);while((F++<G||l[0]!==void 0)&&k--);Q=l[0]!==void 0}h[0]||h.shift()}if(C==1)b.e=n,mI=Q;else{for(s=1,E=h[0];E>=10;E/=10)s++;b.e=s+n*C-1,iA(b,r?i+b.e+1:i,I,Q)}return b}}();function iA(t,A,a,e){var g,i,I,r,o,B,n,s,E,C=t.constructor;A:if(A!=null){if(!(s=t.d))return t;for(g=1,r=s[0];r>=10;r/=10)g++;if((i=A-g)<0)i+=7,I=A,o=(n=s[E=0])/zA(10,g-I-1)%10|0;else if((E=Math.ceil((i+1)/7))>=(r=s.length)){if(!e)break A;for(;r++<=E;)s.push(0);n=o=0,g=1,I=(i%=7)-7+1}else{for(n=r=s[E],g=1;r>=10;r/=10)g++;o=(I=(i%=7)-7+g)<0?0:n/zA(10,g-I-1)%10|0}if(e=e||A<0||s[E+1]!==void 0||(I<0?n:n%zA(10,g-I-1)),B=a<4?(o||e)&&(a==0||a==(t.s<0?3:2)):o>5||o==5&&(a==4||e||a==6&&(i>0?I>0?n/zA(10,g-I):0:s[E-1])%10&1||a==(t.s<0?8:7)),A<1||!s[0])return s.length=0,B?(A-=t.e+1,s[0]=zA(10,(7-A%7)%7),t.e=-A||0):s[0]=t.e=0,t;if(i==0?(s.length=E,r=1,E--):(s.length=E+1,r=zA(10,7-i),s[E]=I>0?(n/zA(10,g-I)%zA(10,I)|0)*r:0),B)for(;;){if(E==0){for(i=1,I=s[0];I>=10;I/=10)i++;for(I=s[0]+=r,r=1;I>=10;I/=10)r++;i!=r&&(t.e++,s[0]==pa&&(s[0]=1));break}if(s[E]+=r,s[E]!=pa)break;s[E--]=0,r=1}for(i=s.length;s[--i]===0;)s.pop()}return oA&&(t.e>C.maxE?(t.d=null,t.e=NaN):t.e<C.minE&&(t.e=0,t.d=[0])),t}function ma(t,A,a){if(!t.isFinite())return SI(t);var e,g=t.e,i=_A(t.d),I=i.length;return A?(a&&(e=a-I)>0?i=i.charAt(0)+"."+i.slice(1)+Va(e):I>1&&(i=i.charAt(0)+"."+i.slice(1)),i=i+(t.e<0?"e":"e+")+t.e):g<0?(i="0."+Va(-g-1)+i,a&&(e=a-I)>0&&(i+=Va(e))):g>=I?(i+=Va(g+1-I),a&&(e=a-g-1)>0&&(i=i+"."+Va(e))):((e=g+1)<I&&(i=i.slice(0,e)+"."+i.slice(e)),a&&(e=a-I)>0&&(g+1===I&&(i+="."),i+=Va(e))),i}function dt(t,A){var a=t[0];for(A*=7;a>=10;a/=10)A++;return A}function yt(t,A,a){if(A>io)throw oA=!0,a&&(t.precision=a),Error(FI);return iA(new t(wt),A,1,!0)}function Ma(t,A,a){if(A>bg)throw Error(FI);return iA(new t(pt),A,a,!0)}function Ci(t){var A=t.length-1,a=7*A+1;if(A=t[A]){for(;A%10==0;A/=10)a--;for(A=t[0];A>=10;A/=10)a++}return a}function Va(t){for(var A="";t--;)A+="0";return A}function NI(t,A,a,e){var g,i=new t(1),I=Math.ceil(e/7+4);for(oA=!1;;){if(a%2&&ci((i=i.times(A)).d,I)&&(g=!0),(a=Aa(a/2))===0){a=i.d.length-1,g&&i.d[a]===0&&++i.d[a];break}ci((A=A.times(A)).d,I)}return oA=!0,i}function Ei(t){return 1&t.d[t.d.length-1]}function GI(t,A,a){for(var e,g,i=new t(A[0]),I=0;++I<A.length;){if(!(g=new t(A[I])).s){i=g;break}((e=i.cmp(g))===a||e===0&&i.s===a)&&(i=g)}return i}function eg(t,A){var a,e,g,i,I,r,o,B=0,n=0,s=0,E=t.constructor,C=E.rounding,Q=E.precision;if(!t.d||!t.d[0]||t.e>17)return new E(t.d?t.d[0]?t.s<0?0:1/0:1:t.s?t.s<0?0:t:NaN);for(A==null?(oA=!1,o=Q):o=A,r=new E(.03125);t.e>-2;)t=t.times(r),s+=5;for(o+=e=Math.log(zA(2,s))/Math.LN10*2+5|0,a=i=I=new E(1),E.precision=o;;){if(i=iA(i.times(t),o,1),a=a.times(++n),_A((r=I.plus(MA(i,a,o,1))).d).slice(0,o)===_A(I.d).slice(0,o)){for(g=s;g--;)I=iA(I.times(I),o,1);if(A!=null)return E.precision=Q,I;if(!(B<3&&Ye(I.d,o-e,C,B)))return iA(I,E.precision=Q,C,oA=!0);E.precision=o+=10,a=i=r=new E(1),n=0,B++}I=r}}function za(t,A){var a,e,g,i,I,r,o,B,n,s,E,C=1,Q=t,c=Q.d,d=Q.constructor,b=d.rounding,h=d.precision;if(Q.s<0||!c||!c[0]||!Q.e&&c[0]==1&&c.length==1)return new d(c&&!c[0]?-1/0:Q.s!=1?NaN:c?0:Q);if(A==null?(oA=!1,n=h):n=A,d.precision=n+=10,e=(a=_A(c)).charAt(0),!(Math.abs(i=Q.e)<15e14))return B=yt(d,n+2,h).times(i+""),Q=za(new d(e+"."+a.slice(1)),n-10).plus(B),d.precision=h,A==null?iA(Q,h,b,oA=!0):Q;for(;e<7&&e!=1||e==1&&a.charAt(1)>3;)e=(a=_A((Q=Q.times(t)).d)).charAt(0),C++;for(i=Q.e,e>1?(Q=new d("0."+a),i++):Q=new d(e+"."+a.slice(1)),s=Q,o=I=Q=MA(Q.minus(1),Q.plus(1),n,1),E=iA(Q.times(Q),n,1),g=3;;){if(I=iA(I.times(E),n,1),_A((B=o.plus(MA(I,new d(g),n,1))).d).slice(0,n)===_A(o.d).slice(0,n)){if(o=o.times(2),i!==0&&(o=o.plus(yt(d,n+2,h).times(i+""))),o=MA(o,new d(C),n,1),A!=null)return d.precision=h,o;if(!Ye(o.d,n-10,b,r))return iA(o,d.precision=h,b,oA=!0);d.precision=n+=10,B=I=Q=MA(s.minus(1),s.plus(1),n,1),E=iA(Q.times(Q),n,1),g=r=1}o=B,g+=2}}function SI(t){return String(t.s*t.s/0)}function bt(t,A){var a,e,g;for((a=A.indexOf("."))>-1&&(A=A.replace(".","")),(e=A.search(/e/i))>0?(a<0&&(a=e),a+=+A.slice(e+1),A=A.substring(0,e)):a<0&&(a=A.length),e=0;A.charCodeAt(e)===48;e++);for(g=A.length;A.charCodeAt(g-1)===48;--g);if(A=A.slice(e,g)){if(g-=e,t.e=a=a-e-1,t.d=[],e=(a+1)%7,a<0&&(e+=7),e<g){for(e&&t.d.push(+A.slice(0,e)),g-=7;e<g;)t.d.push(+A.slice(e,e+=7));e=7-(A=A.slice(e)).length}else e-=g;for(;e--;)A+="0";t.d.push(+A),oA&&(t.e>t.constructor.maxE?(t.d=null,t.e=NaN):t.e<t.constructor.minE&&(t.e=0,t.d=[0]))}else t.e=0,t.d=[0];return t}function Io(t,A){var a,e,g,i,I,r,o,B,n;if(A.indexOf("_")>-1){if(A=A.replace(/(\d)_(?=\d)/g,"$1"),RI.test(A))return bt(t,A)}else if(A==="Infinity"||A==="NaN")return+A||(t.s=NaN),t.e=NaN,t.d=null,t;if(to.test(A))a=16,A=A.toLowerCase();else if(eo.test(A))a=2;else{if(!go.test(A))throw Error($a+A);a=8}for((i=A.search(/p/i))>0?(o=+A.slice(i+1),A=A.substring(2,i)):A=A.slice(2),I=(i=A.indexOf("."))>=0,e=t.constructor,I&&(i=(r=(A=A.replace(".","")).length)-i,g=NI(e,new e(a),i,2*i)),i=n=(B=ht(A,a,pa)).length-1;B[i]===0;--i)B.pop();return i<0?new e(0*t.s):(t.e=dt(B,n),t.d=B,oA=!1,I&&(t=MA(t,g,4*r)),o&&(t=t.times(Math.abs(o)<54?zA(2,o):Me.pow(2,o))),oA=!0,t)}function be(t,A,a,e,g){var i,I,r,o,B=t.precision,n=Math.ceil(B/7);for(oA=!1,o=a.times(a),r=new t(e);;){if(I=MA(r.times(o),new t(A++*A++),B,1),r=g?e.plus(I):e.minus(I),e=MA(I.times(o),new t(A++*A++),B,1),(I=r.plus(e)).d[n]!==void 0){for(i=n;I.d[i]===r.d[i]&&i--;);if(i==-1)break}i=r,r=e,e=I,I=i}return oA=!0,I.d.length=n+1,I}function It(t,A){for(var a=t;--A;)a*=t;return a}function Qi(t,A){var a,e=A.s<0,g=Ma(t,t.precision,1),i=g.times(.5);if((A=A.abs()).lte(i))return La=e?4:1,A;if((a=A.divToInt(g)).isZero())La=e?3:2;else{if((A=A.minus(a.times(g))).lte(i))return La=Ei(a)?e?2:3:e?4:1,A;La=Ei(a)?e?1:4:e?3:2}return A.minus(g).abs()}function tg(t,A,a,e){var g,i,I,r,o,B,n,s,E,C=t.constructor,Q=a!==void 0;if(Q?(ra(a,1,Xa),e===void 0?e=C.rounding:ra(e,0,8)):(a=C.precision,e=C.rounding),t.isFinite()){for(Q?(g=2,A==16?a=4*a-3:A==8&&(a=3*a-2)):g=A,(I=(n=ma(t)).indexOf("."))>=0&&(n=n.replace(".",""),(E=new C(1)).e=n.length-I,E.d=ht(ma(E),10,g),E.e=E.d.length),i=o=(s=ht(n,10,g)).length;s[--o]==0;)s.pop();if(s[0]){if(I<0?i--:((t=new C(t)).d=s,t.e=i,s=(t=MA(t,E,a,e,0,g)).d,i=t.e,B=mI),I=s[a],r=g/2,B=B||s[a+1]!==void 0,B=e<4?(I!==void 0||B)&&(e===0||e===(t.s<0?3:2)):I>r||I===r&&(e===4||B||e===6&&1&s[a-1]||e===(t.s<0?8:7)),s.length=a,B)for(;++s[--a]>g-1;)s[a]=0,a||(++i,s.unshift(1));for(o=s.length;!s[o-1];--o);for(I=0,n="";I<o;I++)n+=hg.charAt(s[I]);if(Q){if(o>1)if(A==16||A==8){for(I=A==16?4:3,--o;o%I;o++)n+="0";for(o=(s=ht(n,g,A)).length;!s[o-1];--o);for(I=1,n="1.";I<o;I++)n+=hg.charAt(s[I])}else n=n.charAt(0)+"."+n.slice(1);n=n+(i<0?"p":"p+")+i}else if(i<0){for(;++i;)n="0"+n;n="0."+n}else if(++i>o)for(i-=o;i--;)n+="0";else i<o&&(n=n.slice(0,i)+"."+n.slice(i))}else n=Q?"0p+0":"0";n=(A==16?"0x":A==2?"0b":A==8?"0o":"")+n}else n=SI(t);return t.s<0?"-"+n:n}function ci(t,A){if(t.length>A)return t.length=A,!0}function ro(t){return new this(t).abs()}function no(t){return new this(t).acos()}function oo(t){return new this(t).acosh()}function Bo(t,A){return new this(t).plus(A)}function so(t){return new this(t).asin()}function Co(t){return new this(t).asinh()}function Eo(t){return new this(t).atan()}function Qo(t){return new this(t).atanh()}function co(t,A){t=new this(t),A=new this(A);var a,e=this.precision,g=this.rounding,i=e+4;return t.s&&A.s?t.d||A.d?!A.d||t.isZero()?(a=A.s<0?Ma(this,e,g):new this(0)).s=t.s:!t.d||A.isZero()?(a=Ma(this,i,1).times(.5)).s=t.s:A.s<0?(this.precision=i,this.rounding=1,a=this.atan(MA(t,A,i,1)),A=Ma(this,i,1),this.precision=e,this.rounding=g,a=t.s<0?a.minus(A):a.plus(A)):a=this.atan(MA(t,A,i,1)):(a=Ma(this,i,1).times(A.s>0?.25:.75)).s=t.s:a=new this(NaN),a}function ho(t){return new this(t).cbrt()}function bo(t){return iA(t=new this(t),t.e+1,2)}function uo(t,A,a){return new this(t).clamp(A,a)}function lo(t){if(!t||typeof t!="object")throw Error(Mt+"Object expected");var A,a,e,g=t.defaults===!0,i=["precision",1,Xa,"rounding",0,8,"toExpNeg",-we,0,"toExpPos",0,we,"maxE",0,we,"minE",-we,0,"modulo",0,9];for(A=0;A<i.length;A+=3)if(a=i[A],g&&(this[a]=dg[a]),(e=t[a])!==void 0){if(!(Aa(e)===e&&e>=i[A+1]&&e<=i[A+2]))throw Error($a+a+": "+e);this[a]=e}if(a="crypto",g&&(this[a]=dg[a]),(e=t[a])!==void 0){if(e!==!0&&e!==!1&&e!==0&&e!==1)throw Error($a+a+": "+e);if(e){if(typeof crypto>"u"||!crypto||!crypto.getRandomValues&&!crypto.randomBytes)throw Error(kI);this[a]=!0}else this[a]=!1}return this}function fo(t){return new this(t).cos()}function Do(t){return new this(t).cosh()}function wo(t,A){return new this(t).div(A)}function po(t){return new this(t).exp()}function yo(t){return iA(t=new this(t),t.e+1,3)}function mo(){var t,A,a=new this(0);for(oA=!1,t=0;t<arguments.length;)if((A=new this(arguments[t++])).d)a.d&&(a=a.plus(A.times(A)));else{if(A.s)return oA=!0,new this(1/0);a=A}return oA=!0,a.sqrt()}function hi(t){return t instanceof Me||t&&t.toStringTag===MI||!1}function Fo(t){return new this(t).ln()}function ko(t,A){return new this(t).log(A)}function Mo(t){return new this(t).log(2)}function Ro(t){return new this(t).log(10)}function No(){return GI(this,arguments,-1)}function Go(){return GI(this,arguments,1)}function So(t,A){return new this(t).mod(A)}function Uo(t,A){return new this(t).mul(A)}function xo(t,A){return new this(t).pow(A)}function Lo(t){var A,a,e,g,i=0,I=new this(1),r=[];if(t===void 0?t=this.precision:ra(t,1,Xa),e=Math.ceil(t/7),this.crypto)if(crypto.getRandomValues)for(A=crypto.getRandomValues(new Uint32Array(e));i<e;)(g=A[i])>=429e7?A[i]=crypto.getRandomValues(new Uint32Array(1))[0]:r[i++]=g%1e7;else{if(!crypto.randomBytes)throw Error(kI);for(A=crypto.randomBytes(e*=4);i<e;)(g=A[i]+(A[i+1]<<8)+(A[i+2]<<16)+((127&A[i+3])<<24))>=214e7?crypto.randomBytes(4).copy(A,i):(r.push(g%1e7),i+=4);i=e/4}else for(;i<e;)r[i++]=1e7*Math.random()|0;for(t%=7,(e=r[--i])&&t&&(g=zA(10,7-t),r[i]=(e/g|0)*g);r[i]===0;i--)r.pop();if(i<0)a=0,r=[0];else{for(a=-1;r[0]===0;a-=7)r.shift();for(e=1,g=r[0];g>=10;g/=10)e++;e<7&&(a-=7-e)}return I.e=a,I.d=r,I}function jo(t){return iA(t=new this(t),t.e+1,this.rounding)}function vo(t){return(t=new this(t)).d?t.d[0]?t.s:0*t.s:t.s||NaN}function Jo(t){return new this(t).sin()}function Ho(t){return new this(t).sinh()}function Yo(t){return new this(t).sqrt()}function Ko(t,A){return new this(t).sub(A)}function To(){var t=0,A=arguments,a=new this(A[t]);for(oA=!1;a.s&&++t<A.length;)a=a.plus(A[t]);return oA=!0,iA(a,this.precision,this.rounding)}function qo(t){return new this(t).tan()}function Oo(t){return new this(t).tanh()}function Po(t){return iA(t=new this(t),t.e+1,1)}Y[Symbol.for("nodejs.util.inspect.custom")]=Y.toString,Y[Symbol.toStringTag]="Decimal";var Me=Y.constructor=function t(A){var a,e,g;function i(I){var r,o,B,n=this;if(!(n instanceof i))return new i(I);if(n.constructor=i,hi(I))return n.s=I.s,void(oA?!I.d||I.e>i.maxE?(n.e=NaN,n.d=null):I.e<i.minE?(n.e=0,n.d=[0]):(n.e=I.e,n.d=I.d.slice()):(n.e=I.e,n.d=I.d?I.d.slice():I.d));if((B=typeof I)=="number"){if(I===0)return n.s=1/I<0?-1:1,n.e=0,void(n.d=[0]);if(I<0?(I=-I,n.s=-1):n.s=1,I===~~I&&I<1e7){for(r=0,o=I;o>=10;o/=10)r++;return void(oA?r>i.maxE?(n.e=NaN,n.d=null):r<i.minE?(n.e=0,n.d=[0]):(n.e=r,n.d=[I]):(n.e=r,n.d=[I]))}return 0*I!=0?(I||(n.s=NaN),n.e=NaN,void(n.d=null)):bt(n,I.toString())}if(B==="string")return(o=I.charCodeAt(0))===45?(I=I.slice(1),n.s=-1):(o===43&&(I=I.slice(1)),n.s=1),RI.test(I)?bt(n,I):Io(n,I);if(B==="bigint")return I<0?(I=-I,n.s=-1):n.s=1,bt(n,I.toString());throw Error($a+I)}if(i.prototype=Y,i.ROUND_UP=0,i.ROUND_DOWN=1,i.ROUND_CEIL=2,i.ROUND_FLOOR=3,i.ROUND_HALF_UP=4,i.ROUND_HALF_DOWN=5,i.ROUND_HALF_EVEN=6,i.ROUND_HALF_CEIL=7,i.ROUND_HALF_FLOOR=8,i.EUCLID=9,i.config=i.set=lo,i.clone=t,i.isDecimal=hi,i.abs=ro,i.acos=no,i.acosh=oo,i.add=Bo,i.asin=so,i.asinh=Co,i.atan=Eo,i.atanh=Qo,i.atan2=co,i.cbrt=ho,i.ceil=bo,i.clamp=uo,i.cos=fo,i.cosh=Do,i.div=wo,i.exp=po,i.floor=yo,i.hypot=mo,i.ln=Fo,i.log=ko,i.log10=Ro,i.log2=Mo,i.max=No,i.min=Go,i.mod=So,i.mul=Uo,i.pow=xo,i.random=Lo,i.round=jo,i.sign=vo,i.sin=Jo,i.sinh=Ho,i.sqrt=Yo,i.sub=Ko,i.sum=To,i.tan=qo,i.tanh=Oo,i.trunc=Po,A===void 0&&(A={}),A&&A.defaults!==!0)for(g=["precision","rounding","toExpNeg","toExpPos","maxE","minE","modulo","crypto"],a=0;a<g.length;)A.hasOwnProperty(e=g[a++])||(A[e]=this[e]);return i.config(A),i}(dg);wt=new Me(wt),pt=new Me(pt);var zo=lA("BigNumber",["?on","config"],t=>{var{on:A,config:a}=t,e=Me.clone({precision:a.precision,modulo:Me.EUCLID});return e.prototype=Object.create(e.prototype),e.prototype.type="BigNumber",e.prototype.isBigNumber=!0,e.prototype.toJSON=function(){return{mathjs:"BigNumber",value:this.toString()}},e.fromJSON=function(g){return new e(g.value)},A&&A("config",function(g,i){g.precision!==i.precision&&e.config({precision:g.precision})}),e},{isClass:!0});const $A=Math.cosh||function(t){return Math.abs(t)<1e-9?1-t:.5*(Math.exp(t)+Math.exp(-t))},da=Math.sinh||function(t){return Math.abs(t)<1e-9?t:.5*(Math.exp(t)-Math.exp(-t))},gg=function(t,A){return(t=Math.abs(t))<(A=Math.abs(A))&&([t,A]=[A,t]),t<1e8?Math.sqrt(t*t+A*A):(A/=t,t*Math.sqrt(1+A*A))},ue=function(){throw SyntaxError("Invalid Param")};function ig(t,A){const a=Math.abs(t),e=Math.abs(A);return t===0?Math.log(e):A===0?Math.log(a):a<3e3&&e<3e3?.5*Math.log(t*t+A*A):(t*=.5,A*=.5,.5*Math.log(t*t+A*A)+Math.LN2)}const Wo={re:0,im:0},Ie=function(t,A){const a=Wo;if(t==null)a.re=a.im=0;else if(A!==void 0)a.re=t,a.im=A;else switch(typeof t){case"object":if("im"in t&&"re"in t)a.re=t.re,a.im=t.im;else if("abs"in t&&"arg"in t){if(!isFinite(t.abs)&&isFinite(t.arg))return j.INFINITY;a.re=t.abs*Math.cos(t.arg),a.im=t.abs*Math.sin(t.arg)}else if("r"in t&&"phi"in t){if(!isFinite(t.r)&&isFinite(t.phi))return j.INFINITY;a.re=t.r*Math.cos(t.phi),a.im=t.r*Math.sin(t.phi)}else t.length===2?(a.re=t[0],a.im=t[1]):ue();break;case"string":a.im=a.re=0;const e=t.replace(/_/g,"").match(/\d+\.?\d*e[+-]?\d+|\d+\.?\d*|\.\d+|./g);let g=1,i=0;e===null&&ue();for(let I=0;I<e.length;I++){const r=e[I];r===" "||r===" "||r===`
|
|
34
|
-
`||(r==="+"?g++:r==="-"?i++:r==="i"||r==="I"?(g+i===0&&ue(),e[I+1]===" "||isNaN(e[I+1])?a.im+=parseFloat((i%2?"-":"")+"1"):(a.im+=parseFloat((i%2?"-":"")+e[I+1]),I++),g=i=0):((g+i===0||isNaN(r))&&ue(),e[I+1]==="i"||e[I+1]==="I"?(a.im+=parseFloat((i%2?"-":"")+r),I++):a.re+=parseFloat((i%2?"-":"")+r),g=i=0))}g+i>0&&ue();break;case"number":a.im=0,a.re=t;break;default:ue()}return isNaN(a.re)||isNaN(a.im),a};function j(t,A){if(!(this instanceof j))return new j(t,A);const a=Ie(t,A);this.re=a.re,this.im=a.im}j.prototype={re:0,im:0,sign:function(){const t=gg(this.re,this.im);return new j(this.re/t,this.im/t)},add:function(t,A){const a=Ie(t,A),e=this.isInfinite(),g=!(isFinite(a.re)&&isFinite(a.im));return e||g?e&&g?j.NAN:j.INFINITY:new j(this.re+a.re,this.im+a.im)},sub:function(t,A){const a=Ie(t,A),e=this.isInfinite(),g=!(isFinite(a.re)&&isFinite(a.im));return e||g?e&&g?j.NAN:j.INFINITY:new j(this.re-a.re,this.im-a.im)},mul:function(t,A){const a=Ie(t,A),e=this.isInfinite(),g=!(isFinite(a.re)&&isFinite(a.im)),i=this.re===0&&this.im===0,I=a.re===0&&a.im===0;return e&&I||g&&i?j.NAN:e||g?j.INFINITY:a.im===0&&this.im===0?new j(this.re*a.re,0):new j(this.re*a.re-this.im*a.im,this.re*a.im+this.im*a.re)},div:function(t,A){const a=Ie(t,A),e=this.isInfinite(),g=!(isFinite(a.re)&&isFinite(a.im)),i=this.re===0&&this.im===0,I=a.re===0&&a.im===0;if(i&&I||e&&g)return j.NAN;if(I||e)return j.INFINITY;if(i||g)return j.ZERO;if(a.im===0)return new j(this.re/a.re,this.im/a.re);if(Math.abs(a.re)<Math.abs(a.im)){const r=a.re/a.im,o=a.re*r+a.im;return new j((this.re*r+this.im)/o,(this.im*r-this.re)/o)}{const r=a.im/a.re,o=a.im*r+a.re;return new j((this.re+this.im*r)/o,(this.im-this.re*r)/o)}},pow:function(t,A){const a=Ie(t,A),e=this.re===0&&this.im===0;if(a.re===0&&a.im===0)return j.ONE;if(a.im===0){if(this.im===0&&this.re>0)return new j(Math.pow(this.re,a.re),0);if(this.re===0)switch((a.re%4+4)%4){case 0:return new j(Math.pow(this.im,a.re),0);case 1:return new j(0,Math.pow(this.im,a.re));case 2:return new j(-Math.pow(this.im,a.re),0);case 3:return new j(0,-Math.pow(this.im,a.re))}}if(e&&a.re>0)return j.ZERO;const g=Math.atan2(this.im,this.re),i=ig(this.re,this.im);let I=Math.exp(a.re*i-a.im*g),r=a.im*i+a.re*g;return new j(I*Math.cos(r),I*Math.sin(r))},sqrt:function(){const t=this.re,A=this.im;if(A===0)return t>=0?new j(Math.sqrt(t),0):new j(0,Math.sqrt(-t));const a=gg(t,A);let e=Math.sqrt(.5*(a+Math.abs(t))),g=Math.abs(A)/(2*e);return t>=0?new j(e,A<0?-g:g):new j(g,A<0?-e:e)},exp:function(){const t=Math.exp(this.re);return this.im===0?new j(t,0):new j(t*Math.cos(this.im),t*Math.sin(this.im))},expm1:function(){const t=this.re,A=this.im;return new j(Math.expm1(t)*Math.cos(A)+function(a){const e=Math.PI/4;if(-e>a||a>e)return Math.cos(a)-1;const g=a*a;return g*(g*(g*(g*(g*(g*(g*(g/20922789888e3-1/87178291200)+1/479001600)-1/3628800)+1/40320)-1/720)+1/24)-.5)}(A),Math.exp(t)*Math.sin(A))},log:function(){const t=this.re,A=this.im;return A===0&&t>0?new j(Math.log(t),0):new j(ig(t,A),Math.atan2(A,t))},abs:function(){return gg(this.re,this.im)},arg:function(){return Math.atan2(this.im,this.re)},sin:function(){const t=this.re,A=this.im;return new j(Math.sin(t)*$A(A),Math.cos(t)*da(A))},cos:function(){const t=this.re,A=this.im;return new j(Math.cos(t)*$A(A),-Math.sin(t)*da(A))},tan:function(){const t=2*this.re,A=2*this.im,a=Math.cos(t)+$A(A);return new j(Math.sin(t)/a,da(A)/a)},cot:function(){const t=2*this.re,A=2*this.im,a=Math.cos(t)-$A(A);return new j(-Math.sin(t)/a,da(A)/a)},sec:function(){const t=this.re,A=this.im,a=.5*$A(2*A)+.5*Math.cos(2*t);return new j(Math.cos(t)*$A(A)/a,Math.sin(t)*da(A)/a)},csc:function(){const t=this.re,A=this.im,a=.5*$A(2*A)-.5*Math.cos(2*t);return new j(Math.sin(t)*$A(A)/a,-Math.cos(t)*da(A)/a)},asin:function(){const t=this.re,A=this.im,a=new j(A*A-t*t+1,-2*t*A).sqrt(),e=new j(a.re-A,a.im+t).log();return new j(e.im,-e.re)},acos:function(){const t=this.re,A=this.im,a=new j(A*A-t*t+1,-2*t*A).sqrt(),e=new j(a.re-A,a.im+t).log();return new j(Math.PI/2-e.im,e.re)},atan:function(){const t=this.re,A=this.im;if(t===0){if(A===1)return new j(0,1/0);if(A===-1)return new j(0,-1/0)}const a=t*t+(1-A)*(1-A),e=new j((1-A*A-t*t)/a,-2*t/a).log();return new j(-.5*e.im,.5*e.re)},acot:function(){const t=this.re,A=this.im;if(A===0)return new j(Math.atan2(1,t),0);const a=t*t+A*A;return a!==0?new j(t/a,-A/a).atan():new j(t!==0?t/0:0,A!==0?-A/0:0).atan()},asec:function(){const t=this.re,A=this.im;if(t===0&&A===0)return new j(0,1/0);const a=t*t+A*A;return a!==0?new j(t/a,-A/a).acos():new j(t!==0?t/0:0,A!==0?-A/0:0).acos()},acsc:function(){const t=this.re,A=this.im;if(t===0&&A===0)return new j(Math.PI/2,1/0);const a=t*t+A*A;return a!==0?new j(t/a,-A/a).asin():new j(t!==0?t/0:0,A!==0?-A/0:0).asin()},sinh:function(){const t=this.re,A=this.im;return new j(da(t)*Math.cos(A),$A(t)*Math.sin(A))},cosh:function(){const t=this.re,A=this.im;return new j($A(t)*Math.cos(A),da(t)*Math.sin(A))},tanh:function(){const t=2*this.re,A=2*this.im,a=$A(t)+Math.cos(A);return new j(da(t)/a,Math.sin(A)/a)},coth:function(){const t=2*this.re,A=2*this.im,a=$A(t)-Math.cos(A);return new j(da(t)/a,-Math.sin(A)/a)},csch:function(){const t=this.re,A=this.im,a=Math.cos(2*A)-$A(2*t);return new j(-2*da(t)*Math.cos(A)/a,2*$A(t)*Math.sin(A)/a)},sech:function(){const t=this.re,A=this.im,a=Math.cos(2*A)+$A(2*t);return new j(2*$A(t)*Math.cos(A)/a,-2*da(t)*Math.sin(A)/a)},asinh:function(){let t=this.im;this.im=-this.re,this.re=t;const A=this.asin();return this.re=-this.im,this.im=t,t=A.re,A.re=-A.im,A.im=t,A},acosh:function(){const t=this.acos();if(t.im<=0){const A=t.re;t.re=-t.im,t.im=A}else{const A=t.im;t.im=-t.re,t.re=A}return t},atanh:function(){const t=this.re,A=this.im,a=t>1&&A===0,e=1-t,g=1+t,i=e*e+A*A,I=i!==0?new j((g*e-A*A)/i,(A*e+g*A)/i):new j(t!==-1?t/0:0,A!==0?A/0:0),r=I.re;return I.re=ig(I.re,I.im)/2,I.im=Math.atan2(I.im,r)/2,a&&(I.im=-I.im),I},acoth:function(){const t=this.re,A=this.im;if(t===0&&A===0)return new j(0,Math.PI/2);const a=t*t+A*A;return a!==0?new j(t/a,-A/a).atanh():new j(t!==0?t/0:0,A!==0?-A/0:0).atanh()},acsch:function(){const t=this.re,A=this.im;if(A===0)return new j(t!==0?Math.log(t+Math.sqrt(t*t+1)):1/0,0);const a=t*t+A*A;return a!==0?new j(t/a,-A/a).asinh():new j(t!==0?t/0:0,A!==0?-A/0:0).asinh()},asech:function(){const t=this.re,A=this.im;if(this.isZero())return j.INFINITY;const a=t*t+A*A;return a!==0?new j(t/a,-A/a).acosh():new j(t!==0?t/0:0,A!==0?-A/0:0).acosh()},inverse:function(){if(this.isZero())return j.INFINITY;if(this.isInfinite())return j.ZERO;const t=this.re,A=this.im,a=t*t+A*A;return new j(t/a,-A/a)},conjugate:function(){return new j(this.re,-this.im)},neg:function(){return new j(-this.re,-this.im)},ceil:function(t){return t=Math.pow(10,t||0),new j(Math.ceil(this.re*t)/t,Math.ceil(this.im*t)/t)},floor:function(t){return t=Math.pow(10,t||0),new j(Math.floor(this.re*t)/t,Math.floor(this.im*t)/t)},round:function(t){return t=Math.pow(10,t||0),new j(Math.round(this.re*t)/t,Math.round(this.im*t)/t)},equals:function(t,A){const a=Ie(t,A);return Math.abs(a.re-this.re)<=j.EPSILON&&Math.abs(a.im-this.im)<=j.EPSILON},clone:function(){return new j(this.re,this.im)},toString:function(){let t=this.re,A=this.im,a="";return this.isNaN()?"NaN":this.isInfinite()?"Infinity":(Math.abs(t)<j.EPSILON&&(t=0),Math.abs(A)<j.EPSILON&&(A=0),A===0?a+t:(t!==0?(a+=t,a+=" ",A<0?(A=-A,a+="-"):a+="+",a+=" "):A<0&&(A=-A,a+="-"),A!==1&&(a+=A),a+"i"))},toVector:function(){return[this.re,this.im]},valueOf:function(){return this.im===0?this.re:null},isNaN:function(){return isNaN(this.re)||isNaN(this.im)},isZero:function(){return this.im===0&&this.re===0},isFinite:function(){return isFinite(this.re)&&isFinite(this.im)},isInfinite:function(){return!this.isFinite()}},j.ZERO=new j(0,0),j.ONE=new j(1,0),j.I=new j(0,1),j.PI=new j(Math.PI,0),j.E=new j(Math.E,0),j.INFINITY=new j(1/0,1/0),j.NAN=new j(NaN,NaN),j.EPSILON=1e-15;var Vo=lA("Complex",[],()=>(Object.defineProperty(j,"name",{value:"Complex"}),j.prototype.constructor=j,j.prototype.type="Complex",j.prototype.isComplex=!0,j.prototype.toJSON=function(){return{mathjs:"Complex",re:this.re,im:this.im}},j.prototype.toPolar=function(){return{r:this.abs(),phi:this.arg()}},j.prototype.format=function(t){var A=this.im,a=this.re,e=cg(this.re,t),g=cg(this.im,t),i=RA(t)?t:t?t.precision:null;if(i!==null){var I=Math.pow(10,-i);Math.abs(a/A)<I&&(a=0),Math.abs(A/a)<I&&(A=0)}return A===0?e:a===0?A===1?"i":A===-1?"-i":g+"i":A<0?A===-1?e+" - i":e+" - "+g.substring(1)+"i":A===1?e+" + i":e+" + "+g+"i"},j.fromPolar=function(t){switch(arguments.length){case 1:var A=arguments[0];if(typeof A=="object")return j(A);throw new TypeError("Input has to be an object with r and phi keys.");case 2:var a=arguments[0],e=arguments[1];if(RA(a)){if(wI(e)&&e.hasBase("ANGLE")&&(e=e.toNumber("rad")),RA(e))return new j({r:a,phi:e});throw new TypeError("Phi is not a number nor an angle unit.")}throw new TypeError("Radius r is not a number.");default:throw new SyntaxError("Wrong number of arguments in function fromPolar")}},j.prototype.valueOf=j.prototype.toString,j.fromJSON=function(t){return new j(t)},j.compare=function(t,A){return t.re>A.re?1:t.re<A.re?-1:t.im>A.im?1:t.im<A.im?-1:0},j),{isClass:!0});typeof BigInt>"u"&&(BigInt=function(t){if(isNaN(t))throw new Error("");return t});const IA=BigInt(0),CA=BigInt(1),Ke=BigInt(2),ug=BigInt(5),na=BigInt(10),_={s:CA,n:IA,d:CA};function Ga(t,A){try{t=BigInt(t)}catch{throw Wa()}return t*A}function Da(t){return typeof t=="bigint"?t:Math.floor(t)}function SA(t,A){if(A===IA)throw Rg();const a=Object.create(ua.prototype);a.s=t<IA?-CA:CA;const e=re(t=t<IA?-t:t,A);return a.n=t/e,a.d=A/e,a}function le(t){const A={};let a=t,e=Ke,g=ug-CA;for(;g<=a;){for(;a%e===IA;)a/=e,A[e]=(A[e]||IA)+CA;g+=CA+Ke*e++}return a!==t?a>1&&(A[a]=(A[a]||IA)+CA):A[t]=(A[t]||IA)+CA,A}const XA=function(t,A){let a=IA,e=CA,g=CA;if(t!=null)if(A!==void 0){if(typeof t=="bigint")a=t;else{if(isNaN(t))throw Wa();if(t%1!=0)throw di();a=BigInt(t)}if(typeof A=="bigint")e=A;else{if(isNaN(A))throw Wa();if(A%1!=0)throw di();e=BigInt(A)}g=a*e}else if(typeof t=="object"){if("d"in t&&"n"in t)a=BigInt(t.n),e=BigInt(t.d),"s"in t&&(a*=BigInt(t.s));else if(0 in t)a=BigInt(t[0]),1 in t&&(e=BigInt(t[1]));else{if(typeof t!="bigint")throw Wa();a=t}g=a*e}else if(typeof t=="number"){if(isNaN(t))throw Wa();if(t<0&&(g=-CA,t=-t),t%1==0)a=BigInt(t);else{let i=1,I=0,r=1,o=1,B=1,n=1e7;for(t>=1&&(i=10**Math.floor(1+Math.log10(t)),t/=i);r<=n&&B<=n;){let s=(I+o)/(r+B);if(t===s){r+B<=n?(a=I+o,e=r+B):B>r?(a=o,e=B):(a=I,e=r);break}t>s?(I+=o,r+=B):(o+=I,B+=r),r>n?(a=o,e=B):(a=I,e=r)}a=BigInt(a)*BigInt(i),e=BigInt(e)}}else if(typeof t=="string"){let i=0,I=IA,r=IA,o=IA,B=CA,n=CA,s=t.replace(/_/g,"").match(/\d+|./g);if(s===null||(s[i]==="-"?(g=-CA,i++):s[i]==="+"&&i++,s.length===i+1?r=Ga(s[i++],g):s[i+1]==="."||s[i]==="."?(s[i]!=="."&&(I=Ga(s[i++],g)),i++,(i+1===s.length||s[i+1]==="("&&s[i+3]===")"||s[i+1]==="'"&&s[i+3]==="'")&&(r=Ga(s[i],g),B=na**BigInt(s[i].length),i++),(s[i]==="("&&s[i+2]===")"||s[i]==="'"&&s[i+2]==="'")&&(o=Ga(s[i+1],g),n=na**BigInt(s[i+1].length)-CA,i+=3)):s[i+1]==="/"||s[i+1]===":"?(r=Ga(s[i],g),B=Ga(s[i+2],CA),i+=3):s[i+3]==="/"&&s[i+1]===" "&&(I=Ga(s[i],g),r=Ga(s[i+2],g),B=Ga(s[i+4],CA),i+=5),!(s.length<=i)))throw Wa();e=B*n,g=a=o+e*I+n*r}else{if(typeof t!="bigint")throw Wa();a=t,g=t,e=CA}if(e===IA)throw Rg();_.s=g<IA?-CA:CA,_.n=a<IA?-a:a,_.d=e<IA?-e:e};function Xo(t,A,a){let e=CA,g=function(i,I,r){let o=CA;for(;I>IA;i=i*i%r,I>>=CA)I&CA&&(o=o*i%r);return o}(na,a,A);for(let i=0;i<300;i++){if(e===g)return BigInt(i);e=e*na%A,g=g*na%A}return 0}function re(t,A){if(!t)return A;if(!A)return t;for(;;){if(!(t%=A))return A;if(!(A%=t))return t}}function ua(t,A){if(XA(t,A),!(this instanceof ua))return SA(_.s*_.n,_.d);t=re(_.d,_.n),this.s=_.s,this.n=_.n/t,this.d=_.d/t}var Rg=function(){return new Error("Division by Zero")},Wa=function(){return new Error("Invalid argument")},di=function(){return new Error("Parameters must be integer")};ua.prototype={s:CA,n:IA,d:CA,abs:function(){return SA(this.n,this.d)},neg:function(){return SA(-this.s*this.n,this.d)},add:function(t,A){return XA(t,A),SA(this.s*this.n*_.d+_.s*this.d*_.n,this.d*_.d)},sub:function(t,A){return XA(t,A),SA(this.s*this.n*_.d-_.s*this.d*_.n,this.d*_.d)},mul:function(t,A){return XA(t,A),SA(this.s*_.s*this.n*_.n,this.d*_.d)},div:function(t,A){return XA(t,A),SA(this.s*_.s*this.n*_.d,this.d*_.n)},clone:function(){return SA(this.s*this.n,this.d)},mod:function(t,A){if(t===void 0)return SA(this.s*this.n%this.d,CA);if(XA(t,A),IA===_.n*this.d)throw Rg();return SA(this.s*(_.d*this.n)%(_.n*this.d),_.d*this.d)},gcd:function(t,A){return XA(t,A),SA(re(_.n,this.n)*re(_.d,this.d),_.d*this.d)},lcm:function(t,A){return XA(t,A),_.n===IA&&this.n===IA?SA(IA,CA):SA(_.n*this.n,re(_.n,this.n)*re(_.d,this.d))},inverse:function(){return SA(this.s*this.d,this.n)},pow:function(t,A){if(XA(t,A),_.d===CA)return _.s<IA?SA((this.s*this.d)**_.n,this.n**_.n):SA((this.s*this.n)**_.n,this.d**_.n);if(this.s<IA)return null;let a=le(this.n),e=le(this.d),g=CA,i=CA;for(let I in a)if(I!=="1"){if(I==="0"){g=IA;break}if(a[I]*=_.n,a[I]%_.d!==IA)return null;a[I]/=_.d,g*=BigInt(I)**a[I]}for(let I in e)if(I!=="1"){if(e[I]*=_.n,e[I]%_.d!==IA)return null;e[I]/=_.d,i*=BigInt(I)**e[I]}return _.s<IA?SA(i,g):SA(g,i)},log:function(t,A){if(XA(t,A),this.s<=IA||_.s<=IA)return null;const a={},e=le(_.n),g=le(_.d),i=le(this.n),I=le(this.d);for(const B in g)e[B]=(e[B]||IA)-g[B];for(const B in I)i[B]=(i[B]||IA)-I[B];for(const B in e)B!=="1"&&(a[B]=!0);for(const B in i)B!=="1"&&(a[B]=!0);let r=null,o=null;for(const B in a){const n=e[B]||IA,s=i[B]||IA;if(n===IA){if(s!==IA)return null;continue}let E=s,C=n;const Q=re(E,C);if(E/=Q,C/=Q,r===null&&o===null)r=E,o=C;else if(E*o!=r*C)return null}return r!==null&&o!==null?SA(r,o):null},equals:function(t,A){return XA(t,A),this.s*this.n*_.d==_.s*_.n*this.d},lt:function(t,A){return XA(t,A),this.s*this.n*_.d<_.s*_.n*this.d},lte:function(t,A){return XA(t,A),this.s*this.n*_.d<=_.s*_.n*this.d},gt:function(t,A){return XA(t,A),this.s*this.n*_.d>_.s*_.n*this.d},gte:function(t,A){return XA(t,A),this.s*this.n*_.d>=_.s*_.n*this.d},compare:function(t,A){XA(t,A);let a=this.s*this.n*_.d-_.s*_.n*this.d;return(IA<a)-(a<IA)},ceil:function(t){return t=na**BigInt(t||0),SA(Da(this.s*t*this.n/this.d)+(t*this.n%this.d>IA&&this.s>=IA?CA:IA),t)},floor:function(t){return t=na**BigInt(t||0),SA(Da(this.s*t*this.n/this.d)-(t*this.n%this.d>IA&&this.s<IA?CA:IA),t)},round:function(t){return t=na**BigInt(t||0),SA(Da(this.s*t*this.n/this.d)+this.s*((this.s>=IA?CA:IA)+Ke*(t*this.n%this.d)>this.d?CA:IA),t)},roundTo:function(t,A){XA(t,A);const a=this.n*_.d,e=this.d*_.n,g=a%e;let i=Da(a/e);return g+g>=e&&i++,SA(this.s*i*_.n,_.d)},divisible:function(t,A){return XA(t,A),!(!(_.n*this.d)||this.n*_.d%(_.n*this.d))},valueOf:function(){return Number(this.s*this.n)/Number(this.d)},toString:function(t){let A=this.n,a=this.d;t=t||15;let e=function(I,r){for(;r%Ke===IA;r/=Ke);for(;r%ug===IA;r/=ug);if(r===CA)return IA;let o=na%r,B=1;for(;o!==CA;B++)if(o=o*na%r,B>2e3)return IA;return BigInt(B)}(0,a),g=Xo(0,a,e),i=this.s<IA?"-":"";if(i+=Da(A/a),A%=a,A*=na,A&&(i+="."),e){for(let I=g;I--;)i+=Da(A/a),A%=a,A*=na;i+="(";for(let I=e;I--;)i+=Da(A/a),A%=a,A*=na;i+=")"}else for(let I=t;A&&I--;)i+=Da(A/a),A%=a,A*=na;return i},toFraction:function(t){let A=this.n,a=this.d,e=this.s<IA?"-":"";if(a===CA)e+=A;else{let g=Da(A/a);t&&g>IA&&(e+=g,e+=" ",A%=a),e+=A,e+="/",e+=a}return e},toLatex:function(t){let A=this.n,a=this.d,e=this.s<IA?"-":"";if(a===CA)e+=A;else{let g=Da(A/a);t&&g>IA&&(e+=g,A%=a),e+="\\frac{",e+=A,e+="}{",e+=a,e+="}"}return e},toContinued:function(){let t=this.n,A=this.d,a=[];do{a.push(Da(t/A));let e=t%A;t=A,A=e}while(t!==CA);return a},simplify:function(t){const A=BigInt(1/(t||.001)|0),a=this.abs(),e=a.toContinued();for(let g=1;g<e.length;g++){let i=SA(e[g-1],CA);for(let r=g-2;r>=0;r--)i=i.inverse().add(e[r]);let I=i.sub(a);if(I.n*A<I.d)return i.mul(this.s)}return this}};var Zo=lA("Fraction",[],()=>(Object.defineProperty(ua,"name",{value:"Fraction"}),ua.prototype.constructor=ua,ua.prototype.type="Fraction",ua.prototype.isFraction=!0,ua.prototype.toJSON=function(){return{mathjs:"Fraction",n:String(this.s*this.n),d:String(this.d)}},ua.fromJSON=function(t){return new ua(t)},ua),{isClass:!0}),_o=lA("Matrix",[],()=>{function t(){if(!(this instanceof t))throw new SyntaxError("Constructor must be called with the new operator")}return t.prototype.type="Matrix",t.prototype.isMatrix=!0,t.prototype.storage=function(){throw new Error("Cannot invoke storage on a Matrix interface")},t.prototype.datatype=function(){throw new Error("Cannot invoke datatype on a Matrix interface")},t.prototype.create=function(A,a){throw new Error("Cannot invoke create on a Matrix interface")},t.prototype.subset=function(A,a,e){throw new Error("Cannot invoke subset on a Matrix interface")},t.prototype.get=function(A){throw new Error("Cannot invoke get on a Matrix interface")},t.prototype.set=function(A,a,e){throw new Error("Cannot invoke set on a Matrix interface")},t.prototype.resize=function(A,a){throw new Error("Cannot invoke resize on a Matrix interface")},t.prototype.reshape=function(A,a){throw new Error("Cannot invoke reshape on a Matrix interface")},t.prototype.clone=function(){throw new Error("Cannot invoke clone on a Matrix interface")},t.prototype.size=function(){throw new Error("Cannot invoke size on a Matrix interface")},t.prototype.map=function(A,a){throw new Error("Cannot invoke map on a Matrix interface")},t.prototype.forEach=function(A){throw new Error("Cannot invoke forEach on a Matrix interface")},t.prototype[Symbol.iterator]=function(){throw new Error("Cannot iterate a Matrix interface")},t.prototype.toArray=function(){throw new Error("Cannot invoke toArray on a Matrix interface")},t.prototype.valueOf=function(){throw new Error("Cannot invoke valueOf on a Matrix interface")},t.prototype.format=function(A){throw new Error("Cannot invoke format on a Matrix interface")},t.prototype.toString=function(){throw new Error("Cannot invoke toString on a Matrix interface")},t},{isClass:!0});function Ig(t,A,a){var e=new t.constructor(2),g="";if(a){if(a<1)throw new Error("size must be in greater than 0");if(!LA(a))throw new Error("size must be an integer");if(t.greaterThan(e.pow(a-1).sub(1))||t.lessThan(e.pow(a-1).mul(-1)))throw new Error("Value must be in range [-2^".concat(a-1,", 2^").concat(a-1,"-1]"));if(!t.isInteger())throw new Error("Value must be an integer");t.lessThan(0)&&(t=t.add(e.pow(a))),g="i".concat(a)}switch(A){case 2:return"".concat(t.toBinary()).concat(g);case 8:return"".concat(t.toOctal()).concat(g);case 16:return"".concat(t.toHexadecimal()).concat(g);default:throw new Error("Base ".concat(A," not supported "))}}function $o(t,A){if(typeof A=="function")return A(t);if(!t.isFinite())return t.isNaN()?"NaN":t.gt(0)?"Infinity":"-Infinity";var{notation:a,precision:e,wordSize:g}=pI(A);switch(a){case"fixed":return function(B,n){return B.toFixed(n)}(t,e);case"exponential":return bi(t,e);case"engineering":return function(B,n){var s=B.e,E=s%3==0?s:s<0?s-3-s%3:s-s%3,C=B.mul(Math.pow(10,-E)),Q=C.toPrecision(n);return Q.includes("e")&&(Q=new B.constructor(Q).toFixed()),Q+"e"+(s>=0?"+":"")+E.toString()}(t,e);case"bin":return Ig(t,2,g);case"oct":return Ig(t,8,g);case"hex":return Ig(t,16,g);case"auto":var i=ui(A?.lowerExp,-3),I=ui(A?.upperExp,5);if(t.isZero())return"0";var r=t.toSignificantDigits(e),o=r.e;return(o>=i&&o<I?r.toFixed():bi(t,e)).replace(/((\.\d*?)(0+))($|e)/,function(){var B=arguments[2],n=arguments[4];return B!=="."?B+n:n});default:throw new Error('Unknown notation "'+a+'". Choose "auto", "exponential", "fixed", "bin", "oct", or "hex.')}}function bi(t,A){return A!==void 0?t.toExponential(A-1):t.toExponential()}function ui(t,A){return RA(t)?t:qA(t)?t.toNumber():A}function TA(t,A){var a=function(e,g){return typeof e=="number"?cg(e,g):qA(e)?$o(e,g):function(i){return i&&typeof i=="object"&&typeof i.s=="bigint"&&typeof i.n=="bigint"&&typeof i.d=="bigint"||!1}(e)?g&&g.fraction==="decimal"?e.toString():"".concat(e.s*e.n,"/").concat(e.d):Array.isArray(e)?UI(e,g):ka(e)?li(e):typeof e=="function"?e.syntax?String(e.syntax):"function":e&&typeof e=="object"?typeof e.format=="function"?e.format(g):e&&e.toString(g)!=={}.toString()?e.toString(g):"{"+Object.keys(e).map(i=>li(i)+": "+TA(e[i],g)).join(", ")+"}":String(e)}(t,A);return A&&typeof A=="object"&&"truncate"in A&&a.length>A.truncate?a.substring(0,A.truncate-3)+"...":a}function li(t){for(var A=String(t),a="",e=0;e<A.length;){var g=A.charAt(e);a+=g in fi?fi[g]:g,e++}return'"'+a+'"'}var fi={'"':'\\"',"\\":"\\\\","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r"," ":"\\t"};function UI(t,A){if(Array.isArray(t)){for(var a="[",e=t.length,g=0;g<e;g++)g!==0&&(a+=", "),a+=UI(t[g],A);return a+="]"}return TA(t,A)}function UA(t,A,a){if(!(this instanceof UA))throw new SyntaxError("Constructor must be called with the new operator");this.actual=t,this.expected=A,this.relation=a,this.message="Dimension mismatch ("+(Array.isArray(t)?"["+t.join(", ")+"]":t)+" "+(this.relation||"!=")+" "+(Array.isArray(A)?"["+A.join(", ")+"]":A)+")",this.stack=new Error().stack}function pe(t,A,a){if(!(this instanceof pe))throw new SyntaxError("Constructor must be called with the new operator");this.index=t,arguments.length<3?(this.min=0,this.max=A):(this.min=A,this.max=a),this.min!==void 0&&this.index<this.min?this.message="Index out of range ("+this.index+" < "+this.min+")":this.max!==void 0&&this.index>=this.max?this.message="Index out of range ("+this.index+" > "+(this.max-1)+")":this.message="Index out of range ("+this.index+")",this.stack=new Error().stack}function ga(t){for(var A=[];Array.isArray(t);)A.push(t.length),t=t[0];return A}function xI(t,A,a){var e,g=t.length;if(g!==A[a])throw new UA(g,A[a]);if(a<A.length-1){var i=a+1;for(e=0;e<g;e++){var I=t[e];if(!Array.isArray(I))throw new UA(A.length-1,A.length,"<");xI(t[e],A,i)}}else for(e=0;e<g;e++)if(Array.isArray(t[e]))throw new UA(A.length+1,A.length,">")}function Di(t,A){if(A.length===0){if(Array.isArray(t))throw new UA(t.length,0)}else xI(t,A,0)}function jA(t,A){if(t!==void 0){if(!RA(t)||!LA(t))throw new TypeError("Index must be an integer (value: "+t+")");if(t<0||typeof A=="number"&&t>=A)throw new pe(t,A)}}function lg(t,A,a){if(!Array.isArray(A))throw new TypeError("Array expected");if(A.length===0)throw new Error("Resizing to scalar is not supported");return A.forEach(function(e){if(!RA(e)||!LA(e)||e<0)throw new TypeError("Invalid size, must contain positive integers (size: "+TA(A)+")")}),(RA(t)||qA(t))&&(t=[t]),fg(t,A,0,a!==void 0?a:0),t}function fg(t,A,a,e){var g,i,I=t.length,r=A[a],o=Math.min(I,r);if(t.length=r,a<A.length-1){var B=a+1;for(g=0;g<o;g++)i=t[g],Array.isArray(i)||(i=[i],t[g]=i),fg(i,A,B,e);for(g=o;g<r;g++)i=[],t[g]=i,fg(i,A,B,e)}else{for(g=0;g<o;g++)for(;Array.isArray(t[g]);)t[g]=t[g][0];for(g=o;g<r;g++)t[g]=e}}function LI(t,A){var a=function(i){var I=arguments.length>1&&arguments[1]!==void 0&&arguments[1];if(!Array.isArray(i))return i;if(typeof I!="boolean")throw new TypeError("Boolean expected for second argument of flatten");var r=[];return I?B(i):o(i),r;function o(n){for(var s=0;s<n.length;s++){var E=n[s];Array.isArray(E)?o(E):r.push(E)}}function B(n){if(Array.isArray(n[0]))for(var s=0;s<n.length;s++)B(n[s]);else for(var E=0;E<n.length;E++)r.push(n[E])}}(t,!0),e=a.length;if(!Array.isArray(t)||!Array.isArray(A))throw new TypeError("Array expected");if(A.length===0)throw new UA(0,e,"!=");var g=jI(A=Ng(A,e));if(e!==g)throw new UA(g,e,"!=");try{return function(i,I){for(var r,o=i,B=I.length-1;B>0;B--){var n=I[B];r=[];for(var s=o.length/n,E=0;E<s;E++)r.push(o.slice(E*n,(E+1)*n));o=r}return o}(a,A)}catch(i){throw i instanceof UA?new UA(g,e,"!="):i}}function Ng(t,A){var a=jI(t),e=t.slice(),g=t.indexOf(-1);if(t.indexOf(-1,g+1)>=0)throw new Error("More than one wildcard in sizes");if(g>=0){if(A%a!=0)throw new Error("Could not replace wildcard, since "+A+" is no multiple of "+-a);e[g]=-A/a}return e}function jI(t){return t.reduce((A,a)=>A*a,1)}function vI(t,A,a,e){var g=e||ga(t);if(a)for(var i=0;i<a;i++)t=[t],g.unshift(1);for(t=JI(t,A,0);g.length<A;)g.push(1);return t}function JI(t,A,a){var e,g;if(Array.isArray(t)){var i=a+1;for(e=0,g=t.length;e<g;e++)t[e]=JI(t[e],A,i)}else for(var I=a;I<A;I++)t=[t];return t}function Gg(t,A){for(var a,e=0,g=0;g<t.length;g++){var i=t[g],I=Array.isArray(i);if(g===0&&I&&(e=i.length),I&&i.length!==e)return;var r=I?Gg(i,A):A(i);if(a===void 0)a=r;else if(a!==r)return"mixed"}return a}function HI(t,A,a,e){if(e<a){if(t.length!==A.length)throw new UA(t.length,A.length);for(var g=[],i=0;i<t.length;i++)g[i]=HI(t[i],A[i],a,e+1);return g}return t.concat(A)}function AB(){var t=Array.prototype.slice.call(arguments,0,-1),A=Array.prototype.slice.call(arguments,-1);if(t.length===1)return t[0];if(t.length>1)return t.slice(1).reduce(function(a,e){return HI(a,e,A,0)},t[0]);throw new Error("Wrong number of arguments in function concat")}function wi(t,A){for(var a=A.length,e=t.length,g=0;g<e;g++){var i=a-e+g;if(t[g]<A[i]&&t[g]>1||t[g]>A[i])throw new Error("shape mismatch: mismatch is found in arg with shape (".concat(t,") not possible to broadcast dimension ").concat(e," with size ").concat(t[g]," to size ").concat(A[i]))}}function pi(t,A){var a=ga(t);if(ke(a,A))return t;wi(a,A);var e,g,i,I=function(){for(var s=arguments.length,E=new Array(s),C=0;C<s;C++)E[C]=arguments[C];for(var Q=E.map(N=>N.length),c=Math.max(...Q),d=new Array(c).fill(null),b=0;b<E.length;b++)for(var h=E[b],l=Q[b],w=0;w<l;w++){var M=c-l+w;h[w]>d[M]&&(d[M]=h[w])}for(var k=0;k<E.length;k++)wi(E[k],d);return d}(a,A),r=I.length,o=[...Array(r-a.length).fill(1),...a],B=function(s){return ut([],s)}(t);a.length<r&&(a=ga(B=LI(B,o)));for(var n=0;n<r;n++)a[n]<I[n]&&(e=B,g=I[n],i=n,a=ga(B=AB(...Array(g).fill(e),i)));return B}function YI(t,A){if(!Array.isArray(t))throw new Error("Array expected");var a=ga(t);if(A.length!==a.length)throw new UA(A.length,a.length);for(var e=0;e<A.length;e++)jA(A[e],a[e]);return A.reduce((g,i)=>g[i],t)}function yi(t,A){var a=arguments.length>2&&arguments[2]!==void 0&&arguments[2];if(t.length===0)return[];if(a)return function g(i){if(Array.isArray(i)){for(var I=i.length,r=Array(I),o=0;o<I;o++)r[o]=g(i[o]);return r}return A(i)}(t);var e=[];return function g(i,I){if(Array.isArray(i)){for(var r=i.length,o=Array(r),B=0;B<r;B++)e[I]=B,o[B]=g(i[B],I+1);return o}return A(i,e.slice(0,I),t)}(t,0)}function mt(t,A,a){var e=arguments.length>3&&arguments[3]!==void 0&&arguments[3];if(Dt.isTypedFunction(t)){var g,i;if(e)g=1;else{var I=(A.isMatrix?A.size():ga(A)).map(()=>0),r=A.isMatrix?A.get(I):YI(A,I);g=function(B,n,s,E){for(var C=[n,s,E],Q=3;Q>0;Q--){var c=C.slice(0,Q);if(Dt.resolve(B,c)!==null)return Q}}(t,r,I,A)}if(A.isMatrix&&A.dataType!=="mixed"&&A.dataType!==void 0){var o=function(B,n){var s=[];if(Object.entries(B.signatures).forEach(E=>{var[C,Q]=E;C.split(",").length===n&&s.push(Q)}),s.length===1)return s[0]}(t,g);i=o!==void 0?o:t}else i=t;return g>=1&&g<=3?{isUnary:g===1,fn:function(){for(var B=arguments.length,n=new Array(B),s=0;s<B;s++)n[s]=arguments[s];return mi(i,n.slice(0,g),a,t.name)}}:{isUnary:!1,fn:function(){for(var B=arguments.length,n=new Array(B),s=0;s<B;s++)n[s]=arguments[s];return mi(i,n,a,t.name)}}}return e===void 0?{isUnary:aB(t),fn:t}:{isUnary:e,fn:t}}function aB(t){if(t.length!==1)return!1;var A=t.toString();if(/arguments/.test(A))return!1;var a=A.match(/\(.*?\)/);return!/\.\.\./.test(a)}function mi(t,A,a,e){try{return t(...A)}catch(g){(function(i,I,r,o){var B;if(i instanceof TypeError&&((B=i.data)===null||B===void 0?void 0:B.category)==="wrongType"){var n=[];throw n.push("value: ".concat(_a(I[0]))),I.length>=2&&n.push("index: ".concat(_a(I[1]))),I.length>=3&&n.push("array: ".concat(_a(I[2]))),new TypeError("Function ".concat(r," cannot apply callback arguments ")+"".concat(o,"(").concat(n.join(", "),") at index ").concat(JSON.stringify(I[1])))}throw new TypeError("Function ".concat(r," cannot apply callback arguments ")+"to function ".concat(o,": ").concat(i.message))})(g,A,a,e)}}UA.prototype=new RangeError,UA.prototype.constructor=RangeError,UA.prototype.name="DimensionError",UA.prototype.isDimensionError=!0,pe.prototype=new RangeError,pe.prototype.constructor=RangeError,pe.prototype.name="IndexError",pe.prototype.isIndexError=!0;var eB=lA("DenseMatrix",["Matrix"],t=>{var{Matrix:A}=t;function a(I,r){if(!(this instanceof a))throw new SyntaxError("Constructor must be called with the new operator");if(r&&!ka(r))throw new Error("Invalid datatype: "+r);if(HA(I))I.type==="DenseMatrix"?(this._data=JA(I._data),this._size=JA(I._size),this._datatype=r||I._datatype):(this._data=I.toArray(),this._size=I.size(),this._datatype=r||I._datatype);else if(I&&PA(I.data)&&PA(I.size))this._data=I.data,this._size=I.size,Di(this._data,this._size),this._datatype=r||I.datatype;else if(PA(I))this._data=i(I),this._size=ga(this._data),Di(this._data,this._size),this._datatype=r;else{if(I)throw new TypeError("Unsupported type of data ("+_a(I)+")");this._data=[],this._size=[0],this._datatype=r}}function e(I,r,o){if(r.length===0){for(var B=I._data;PA(B);)B=B[0];return B}return I._size=r.slice(0),I._data=lg(I._data,I._size,o),I}function g(I,r,o){for(var B=I._size.slice(0),n=!1;B.length<r.length;)B.push(0),n=!0;for(var s=0,E=r.length;s<E;s++)r[s]>B[s]&&(B[s]=r[s],n=!0);n&&e(I,B,o)}function i(I){return HA(I)?i(I.valueOf()):PA(I)?I.map(i):I}return a.prototype=new A,a.prototype.createDenseMatrix=function(I,r){return new a(I,r)},Object.defineProperty(a,"name",{value:"DenseMatrix"}),a.prototype.constructor=a,a.prototype.type="DenseMatrix",a.prototype.isDenseMatrix=!0,a.prototype.getDataType=function(){return Gg(this._data,_a)},a.prototype.storage=function(){return"dense"},a.prototype.datatype=function(){return this._datatype},a.prototype.create=function(I,r){return new a(I,r)},a.prototype.subset=function(I,r,o){switch(arguments.length){case 1:return function(B,n){if(!kg(n))throw new TypeError("Invalid index");var s=n.isScalar();if(s)return B.get(n.min());var E=n.size();if(E.length!==B._size.length)throw new UA(E.length,B._size.length);for(var C=n.min(),Q=n.max(),c=0,d=B._size.length;c<d;c++)jA(C[c],B._size[c]),jA(Q[c],B._size[c]);var b=new a([]),h=function(l,w){var M=w.size().length-1,k=Array(M);return{data:N(l),size:k};function N(F){var G=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,L=w.dimension(G);return k[G]=L.size()[0],G<M?L.map(x=>(jA(x,F.length),N(F[x],G+1))).valueOf():L.map(x=>(jA(x,F.length),F[x])).valueOf()}}(B._data,n);return b._size=h.size,b._datatype=B._datatype,b._data=h.data,b}(this,I);case 2:case 3:return function(B,n,s,E){if(!n||n.isIndex!==!0)throw new TypeError("Invalid index");var C,Q=n.size(),c=n.isScalar();if(HA(s)?(C=s.size(),s=s.valueOf()):C=ga(s),c){if(C.length!==0)throw new TypeError("Scalar expected");B.set(n.min(),s,E)}else{if(!ke(C,Q))try{C=ga(s=C.length===0?pi([s],Q):pi(s,Q))}catch{}if(Q.length<B._size.length)throw new UA(Q.length,B._size.length,"<");if(C.length<Q.length){for(var d=0,b=0;Q[d]===1&&C[d]===1;)d++;for(;Q[d]===1;)b++,d++;s=vI(s,Q.length,b,C)}if(!ke(Q,C))throw new UA(Q,C,">");var h=n.max().map(function(l){return l+1});g(B,h,E),function(l,w,M){var k=w.size().length-1;function N(F,G){var L=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,x=w.dimension(L);L<k?x.forEach((W,X)=>{jA(W,F.length),N(F[W],G[X[0]],L+1)}):x.forEach((W,X)=>{jA(W,F.length),F[W]=G[X[0]]})}N(l,M)}(B._data,n,s)}return B}(this,I,r,o);default:throw new SyntaxError("Wrong number of arguments")}},a.prototype.get=function(I){return YI(this._data,I)},a.prototype.set=function(I,r,o){if(!PA(I))throw new TypeError("Array expected");if(I.length<this._size.length)throw new UA(I.length,this._size.length,"<");var B,n,s,E=I.map(function(Q){return Q+1});g(this,E,o);var C=this._data;for(B=0,n=I.length-1;B<n;B++)jA(s=I[B],C.length),C=C[s];return jA(s=I[I.length-1],C.length),C[s]=r,this},a.prototype.resize=function(I,r,o){if(!lt(I))throw new TypeError("Array or Matrix expected");var B=I.valueOf().map(n=>Array.isArray(n)&&n.length===1?n[0]:n);return e(o?this.clone():this,B,r)},a.prototype.reshape=function(I,r){var o=r?this.clone():this;o._data=LI(o._data,I);var B=o._size.reduce((n,s)=>n*s);return o._size=Ng(I,B),o},a.prototype.clone=function(){return new a({data:JA(this._data),size:JA(this._size),datatype:this._datatype})},a.prototype.size=function(){return this._size.slice(0)},a.prototype.map=function(I){var r=arguments.length>2&&arguments[2]!==void 0&&arguments[2],o=this,B=o._size.length-1;if(B<0)return o.clone();var n=mt(I,o,"map",r),s=n.fn,E=o.create(void 0,o._datatype);if(E._size=o._size,r||n.isUnary)return E._data=function b(h){var l=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,w=Array(h.length);if(l<B)for(var M=0;M<h.length;M++)w[M]=b(h[M],l+1);else for(var k=0;k<h.length;k++)w[k]=s(h[k]);return w}(o._data),E;if(B===0){for(var C=o.valueOf(),Q=Array(C.length),c=0;c<C.length;c++)Q[c]=s(C[c],[c],o);return E._data=Q,E}var d=[];return E._data=function b(h){var l=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,w=Array(h.length);if(l<B)for(var M=0;M<h.length;M++)d[l]=M,w[M]=b(h[M],l+1);else for(var k=0;k<h.length;k++)d[l]=k,w[k]=s(h[k],d.slice(),o);return w}(o._data),E},a.prototype.forEach=function(I){var r=arguments.length>2&&arguments[2]!==void 0&&arguments[2],o=this,B=o._size.length-1;if(!(B<0)){var n=mt(I,o,"map",r),s=n.fn;if(r||n.isUnary)(function Q(c){var d=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;if(d<B)for(var b=0;b<c.length;b++)Q(c[b],d+1);else for(var h=0;h<c.length;h++)s(c[h])})(o._data);else if(B!==0){var E=[];(function Q(c){var d=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;if(d<B)for(var b=0;b<c.length;b++)E[d]=b,Q(c[b],d+1);else for(var h=0;h<c.length;h++)E[d]=h,s(c[h],E.slice(),o)})(o._data)}else for(var C=0;C<o._data.length;C++)s(o._data[C],[C],o)}},a.prototype[Symbol.iterator]=function*(){var I=this._size.length-1;if(!(I<0))if(I!==0){var r=[],o=function*(n,s){if(s<I)for(var E=0;E<n.length;E++)r[s]=E,yield*o(n[E],s+1);else for(var C=0;C<n.length;C++)r[s]=C,yield{value:n[C],index:r.slice()}};yield*o(this._data,0)}else for(var B=0;B<this._data.length;B++)yield{value:this._data[B],index:[B]}},a.prototype.rows=function(){var I=[];if(this.size().length!==2)throw new TypeError("Rows can only be returned for a 2D matrix.");var r=this._data;for(var o of r)I.push(new a([o],this._datatype));return I},a.prototype.columns=function(){var I=this,r=[],o=this.size();if(o.length!==2)throw new TypeError("Rows can only be returned for a 2D matrix.");for(var B=this._data,n=function(E){var C=B.map(Q=>[Q[E]]);r.push(new a(C,I._datatype))},s=0;s<o[1];s++)n(s);return r},a.prototype.toArray=function(){return JA(this._data)},a.prototype.valueOf=function(){return this._data},a.prototype.format=function(I){return TA(this._data,I)},a.prototype.toString=function(){return TA(this._data)},a.prototype.toJSON=function(){return{mathjs:"DenseMatrix",data:this._data,size:this._size,datatype:this._datatype}},a.prototype.diagonal=function(I){if(I){if(qA(I)&&(I=I.toNumber()),!RA(I)||!LA(I))throw new TypeError("The parameter k must be an integer number")}else I=0;for(var r=I>0?I:0,o=I<0?-I:0,B=this._size[0],n=this._size[1],s=Math.min(B-o,n-r),E=[],C=0;C<s;C++)E[C]=this._data[C+o][C+r];return new a({data:E,size:[s],datatype:this._datatype})},a.diagonal=function(I,r,o,B){if(!PA(I))throw new TypeError("Array expected, size parameter");if(I.length!==2)throw new Error("Only two dimensions matrix are supported");if(I=I.map(function(l){if(qA(l)&&(l=l.toNumber()),!RA(l)||!LA(l)||l<1)throw new Error("Size values must be positive integers");return l}),o){if(qA(o)&&(o=o.toNumber()),!RA(o)||!LA(o))throw new TypeError("The parameter k must be an integer number")}else o=0;var n,s=o>0?o:0,E=o<0?-o:0,C=I[0],Q=I[1],c=Math.min(C-E,Q-s);if(PA(r)){if(r.length!==c)throw new Error("Invalid value array length");n=function(l){return r[l]}}else if(HA(r)){var d=r.size();if(d.length!==1||d[0]!==c)throw new Error("Invalid matrix length");n=function(l){return r.get([l])}}else n=function(){return r};B||(B=qA(n(0))?n(0).mul(0):0);var b=[];if(I.length>0){b=lg(b,I,B);for(var h=0;h<c;h++)b[h+E][h+s]=n(h)}return new a({data:b,size:[C,Q]})},a.fromJSON=function(I){return new a(I)},a.prototype.swapRows=function(I,r){if(!(RA(I)&&LA(I)&&RA(r)&&LA(r)))throw new Error("Row index must be positive integers");if(this._size.length!==2)throw new Error("Only two dimensional matrix is supported");return jA(I,this._size[0]),jA(r,this._size[0]),a._swapRows(I,r,this._data),this},a._swapRows=function(I,r,o){var B=o[I];o[I]=o[r],o[r]=B},a},{isClass:!0});function Be(t,A,a){if(!a)return HA(t)?t.map(g=>A(g),!1,!0):yi(t,A,!0);var e=g=>g===0?g:A(g);return HA(t)?t.map(g=>e(g),!1,!0):yi(t,e,!0)}var Fi="number",rt="number, number";function KI(t){return Math.abs(t)}function TI(t,A){return t+A}function qI(t,A){return t-A}function OI(t,A){return t*A}function PI(t){return-t}function zI(t,A){return t*t<1&&A===1/0||t*t>1&&A===-1/0?0:Math.pow(t,A)}function Dg(t,A){if(A<t)return 1;if(A===t)return A;var a=A+t>>1;return Dg(t,a)*Dg(a+1,A)}function Ft(t){var A;if(LA(t))return t<=0?isFinite(t)?1/0:NaN:t>171?1/0:Dg(1,t-1);if(t<.5)return Math.PI/(Math.sin(Math.PI*t)*Ft(1-t));if(t>=171.35)return 1/0;if(t>85){var a=t*t,e=a*t,g=e*t,i=g*t;return Math.sqrt(2*Math.PI/t)*Math.pow(t/Math.E,t)*(1+1/(12*t)+1/(288*a)-139/(51840*e)-571/(2488320*g)+163879/(209018880*i)+5246819/(75246796800*i*t))}--t,A=me[0];for(var I=1;I<me.length;++I)A+=me[I]/(t+I);var r=t+WI+.5;return Math.sqrt(2*Math.PI)*Math.pow(r,t+.5)*Math.exp(-r)*A}KI.signature=Fi,TI.signature=rt,qI.signature=rt,OI.signature=rt,PI.signature=Fi,zI.signature=rt,Ft.signature="number";var WI=4.7421875,me=[.9999999999999971,57.15623566586292,-59.59796035547549,14.136097974741746,-.4919138160976202,3399464998481189e-20,4652362892704858e-20,-9837447530487956e-20,.0001580887032249125,-.00021026444172410488,.00021743961811521265,-.0001643181065367639,8441822398385275e-20,-26190838401581408e-21,36899182659531625e-22],ki="isZero",tB=lA(ki,["typed","equalScalar"],t=>{var{typed:A,equalScalar:a}=t;return A(ki,{"number | BigNumber | Complex | Fraction":e=>a(e,0),bigint:e=>e===0n,Unit:A.referToSelf(e=>g=>A.find(e,g.valueType())(g.value)),"Array | Matrix":A.referToSelf(e=>g=>Be(g,e))})}),gB=lA("compareUnits",["typed"],t=>{var{typed:A}=t;return{"Unit, Unit":A.referToSelf(a=>(e,g)=>{if(!e.equalBase(g))throw new Error("Cannot compare units with different base");return A.find(a,[e.valueType(),g.valueType()])(e.value,g.value)})}}),kt="equalScalar",iB=lA(kt,["typed","config"],t=>{var{typed:A,config:a}=t,e=gB({typed:A});return A(kt,{"boolean, boolean":function(g,i){return g===i},"number, number":function(g,i){return ct(g,i,a.relTol,a.absTol)},"BigNumber, BigNumber":function(g,i){return g.eq(i)||function(I,r){var o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1e-9,B=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0;if(o<=0)throw new Error("Relative tolerance must be greater than 0");if(B<0)throw new Error("Absolute tolerance must be at least 0");return!I.isNaN()&&!r.isNaN()&&(I.isFinite()&&r.isFinite()?!!I.eq(r)||I.minus(r).abs().lte(I.constructor.max(I.constructor.max(I.abs(),r.abs()).mul(o),B)):I.eq(r))}(g,i,a.relTol,a.absTol)},"bigint, bigint":function(g,i){return g===i},"Fraction, Fraction":function(g,i){return g.equals(i)},"Complex, Complex":function(g,i){return function(I,r,o,B){return ct(I.re,r.re,o,B)&&ct(I.im,r.im,o,B)}(g,i,a.relTol,a.absTol)}},e)});lA(kt,["typed","config"],t=>{var{typed:A,config:a}=t;return A(kt,{"number, number":function(e,g){return ct(e,g,a.relTol,a.absTol)}})});var IB=lA("SparseMatrix",["typed","equalScalar","Matrix"],t=>{var{typed:A,equalScalar:a,Matrix:e}=t;function g(n,s){if(!(this instanceof g))throw new SyntaxError("Constructor must be called with the new operator");if(s&&!ka(s))throw new Error("Invalid datatype: "+s);if(HA(n))(function(E,C,Q){C.type==="SparseMatrix"?(E._values=C._values?JA(C._values):void 0,E._index=JA(C._index),E._ptr=JA(C._ptr),E._size=JA(C._size),E._datatype=Q||C._datatype):i(E,C.valueOf(),Q||C._datatype)})(this,n,s);else if(n&&PA(n.index)&&PA(n.ptr)&&PA(n.size))this._values=n.values,this._index=n.index,this._ptr=n.ptr,this._size=n.size,this._datatype=s||n.datatype;else if(PA(n))i(this,n,s);else{if(n)throw new TypeError("Unsupported type of data ("+_a(n)+")");this._values=[],this._index=[],this._ptr=[0],this._size=[0,0],this._datatype=s}}function i(n,s,E){n._values=[],n._index=[],n._ptr=[],n._datatype=E;var C=s.length,Q=0,c=a,d=0;if(ka(E)&&(c=A.find(a,[E,E])||a,d=A.convert(0,E)),C>0){var b=0;do{n._ptr.push(n._index.length);for(var h=0;h<C;h++){var l=s[h];if(PA(l)){if(b===0&&Q<l.length&&(Q=l.length),b<l.length){var w=l[b];c(w,d)||(n._values.push(w),n._index.push(h))}}else b===0&&Q<1&&(Q=1),c(l,d)||(n._values.push(l),n._index.push(h))}b++}while(b<Q)}n._ptr.push(n._index.length),n._size=[C,Q]}function I(n,s,E,C){if(E-s==0)return E;for(var Q=s;Q<E;Q++)if(C[Q]===n)return Q;return s}function r(n,s,E,C,Q,c,d){Q.splice(n,0,C),c.splice(n,0,s);for(var b=E+1;b<d.length;b++)d[b]++}function o(n,s,E,C){var Q=C||0,c=a,d=0;ka(n._datatype)&&(c=A.find(a,[n._datatype,n._datatype])||a,d=A.convert(0,n._datatype),Q=A.convert(Q,n._datatype));var b,h,l,w=!c(Q,d),M=n._size[0],k=n._size[1];if(E>k){for(h=k;h<E;h++)if(n._ptr[h]=n._values.length,w)for(b=0;b<M;b++)n._values.push(Q),n._index.push(b);n._ptr[E]=n._values.length}else E<k&&(n._ptr.splice(E+1,k-E),n._values.splice(n._ptr[E],n._values.length),n._index.splice(n._ptr[E],n._index.length));if(k=E,s>M){if(w){var N=0;for(h=0;h<k;h++){n._ptr[h]=n._ptr[h]+N,l=n._ptr[h+1]+N;var F=0;for(b=M;b<s;b++,F++)n._values.splice(l+F,0,Q),n._index.splice(l+F,0,b),N++}n._ptr[k]=n._values.length}}else if(s<M){var G=0;for(h=0;h<k;h++){n._ptr[h]=n._ptr[h]-G;var L=n._ptr[h],x=n._ptr[h+1]-G;for(l=L;l<x;l++)(b=n._index[l])>s-1&&(n._values.splice(l,1),n._index.splice(l,1),G++)}n._ptr[h]=n._values.length}return n._size[0]=s,n._size[1]=E,n}function B(n,s,E,C,Q){var c,d,b=C[0],h=C[1],l=[];for(c=0;c<b;c++)for(l[c]=[],d=0;d<h;d++)l[c][d]=0;for(d=0;d<h;d++)for(var w=E[d],M=E[d+1],k=w;k<M;k++)l[c=s[k]][d]=n?Q?JA(n[k]):n[k]:1;return l}return g.prototype=new e,g.prototype.createSparseMatrix=function(n,s){return new g(n,s)},Object.defineProperty(g,"name",{value:"SparseMatrix"}),g.prototype.constructor=g,g.prototype.type="SparseMatrix",g.prototype.isSparseMatrix=!0,g.prototype.getDataType=function(){return Gg(this._values,_a)},g.prototype.storage=function(){return"sparse"},g.prototype.datatype=function(){return this._datatype},g.prototype.create=function(n,s){return new g(n,s)},g.prototype.density=function(){var n=this._size[0],s=this._size[1];return n!==0&&s!==0?this._index.length/(n*s):0},g.prototype.subset=function(n,s,E){if(!this._values)throw new Error("Cannot invoke subset on a Pattern only matrix");switch(arguments.length){case 1:return function(C,Q){if(!kg(Q))throw new TypeError("Invalid index");if(Q.isScalar())return C.get(Q.min());var c,d,b,h,l=Q.size();if(l.length!==C._size.length)throw new UA(l.length,C._size.length);var w=Q.min(),M=Q.max();for(c=0,d=C._size.length;c<d;c++)jA(w[c],C._size[c]),jA(M[c],C._size[c]);var k=C._values,N=C._index,F=C._ptr,G=Q.dimension(0),L=Q.dimension(1),x=[],W=[];G.forEach(function(Z,nA){W[Z]=nA[0],x[Z]=!0});var X=k?[]:void 0,eA=[],AA=[];return L.forEach(function(Z){for(AA.push(eA.length),b=F[Z],h=F[Z+1];b<h;b++)c=N[b],x[c]===!0&&(eA.push(W[c]),X&&X.push(k[b]))}),AA.push(eA.length),new g({values:X,index:eA,ptr:AA,size:l,datatype:C._datatype})}(this,n);case 2:case 3:return function(C,Q,c,d){if(!Q||Q.isIndex!==!0)throw new TypeError("Invalid index");var b,h=Q.size(),l=Q.isScalar();if(HA(c)?(b=c.size(),c=c.toArray()):b=ga(c),l){if(b.length!==0)throw new TypeError("Scalar expected");C.set(Q.min(),c,d)}else{if(h.length!==1&&h.length!==2)throw new UA(h.length,C._size.length,"<");if(b.length<h.length){for(var w=0,M=0;h[w]===1&&b[w]===1;)w++;for(;h[w]===1;)M++,w++;c=vI(c,h.length,M,b)}if(!ke(h,b))throw new UA(h,b,">");if(h.length===1)Q.dimension(0).forEach(function(F,G){jA(F),C.set([F,0],c[G[0]],d)});else{var k=Q.dimension(0),N=Q.dimension(1);k.forEach(function(F,G){jA(F),N.forEach(function(L,x){jA(L),C.set([F,L],c[G[0]][x[0]],d)})})}}return C}(this,n,s,E);default:throw new SyntaxError("Wrong number of arguments")}},g.prototype.get=function(n){if(!PA(n))throw new TypeError("Array expected");if(n.length!==this._size.length)throw new UA(n.length,this._size.length);if(!this._values)throw new Error("Cannot invoke get on a Pattern only matrix");var s=n[0],E=n[1];jA(s,this._size[0]),jA(E,this._size[1]);var C=I(s,this._ptr[E],this._ptr[E+1],this._index);return C<this._ptr[E+1]&&this._index[C]===s?this._values[C]:0},g.prototype.set=function(n,s,E){if(!PA(n))throw new TypeError("Array expected");if(n.length!==this._size.length)throw new UA(n.length,this._size.length);if(!this._values)throw new Error("Cannot invoke set on a Pattern only matrix");var C=n[0],Q=n[1],c=this._size[0],d=this._size[1],b=a,h=0;ka(this._datatype)&&(b=A.find(a,[this._datatype,this._datatype])||a,h=A.convert(0,this._datatype)),(C>c-1||Q>d-1)&&(o(this,Math.max(C+1,c),Math.max(Q+1,d),E),c=this._size[0],d=this._size[1]),jA(C,c),jA(Q,d);var l=I(C,this._ptr[Q],this._ptr[Q+1],this._index);return l<this._ptr[Q+1]&&this._index[l]===C?b(s,h)?function(w,M,k,N,F){k.splice(w,1),N.splice(w,1);for(var G=M+1;G<F.length;G++)F[G]--}(l,Q,this._values,this._index,this._ptr):this._values[l]=s:b(s,h)||r(l,C,Q,s,this._values,this._index,this._ptr),this},g.prototype.resize=function(n,s,E){if(!lt(n))throw new TypeError("Array or Matrix expected");var C=n.valueOf().map(Q=>Array.isArray(Q)&&Q.length===1?Q[0]:Q);if(C.length!==2)throw new Error("Only two dimensions matrix are supported");return C.forEach(function(Q){if(!RA(Q)||!LA(Q)||Q<0)throw new TypeError("Invalid size, must contain positive integers (size: "+TA(C)+")")}),o(E?this.clone():this,C[0],C[1],s)},g.prototype.reshape=function(n,s){if(!PA(n))throw new TypeError("Array expected");if(n.length!==2)throw new Error("Sparse matrices can only be reshaped in two dimensions");n.forEach(function(W){if(!RA(W)||!LA(W)||W<=-2||W===0)throw new TypeError("Invalid size, must contain positive integers or -1 (size: "+TA(n)+")")});var E=this._size[0]*this._size[1];if(E!==(n=Ng(n,E))[0]*n[1])throw new Error("Reshaping sparse matrix will result in the wrong number of elements");var C=s?this.clone():this;if(this._size[0]===n[0]&&this._size[1]===n[1])return C;for(var Q=[],c=0;c<C._ptr.length;c++)for(var d=0;d<C._ptr[c+1]-C._ptr[c];d++)Q.push(c);for(var b=C._values.slice(),h=C._index.slice(),l=0;l<C._index.length;l++){var w=h[l],M=Q[l],k=w*C._size[1]+M;Q[l]=k%n[1],h[l]=Math.floor(k/n[1])}C._values.length=0,C._index.length=0,C._ptr.length=n[1]+1,C._size=n.slice();for(var N=0;N<C._ptr.length;N++)C._ptr[N]=0;for(var F=0;F<b.length;F++){var G=h[F],L=Q[F],x=b[F];r(I(G,C._ptr[L],C._ptr[L+1],C._index),G,L,x,C._values,C._index,C._ptr)}return C},g.prototype.clone=function(){return new g({values:this._values?JA(this._values):void 0,index:JA(this._index),ptr:JA(this._ptr),size:JA(this._size),datatype:this._datatype})},g.prototype.size=function(){return this._size.slice(0)},g.prototype.map=function(n,s){if(!this._values)throw new Error("Cannot invoke map on a Pattern only matrix");var E=this,C=this._size[0],Q=this._size[1],c=mt(n,E,"map");return function(d,b,h,l,w,M,k){var N=[],F=[],G=[],L=a,x=0;ka(d._datatype)&&(L=A.find(a,[d._datatype,d._datatype])||a,x=A.convert(0,d._datatype));for(var W=function(fA,BA,kA){var rA=M(fA,BA,kA);L(rA,x)||(N.push(rA),F.push(BA))},X=l;X<=w;X++){G.push(N.length);var eA=d._ptr[X],AA=d._ptr[X+1];if(k)for(var Z=eA;Z<AA;Z++){var nA=d._index[Z];nA>=b&&nA<=h&&W(d._values[Z],nA-b,X-l)}else{for(var bA={},cA=eA;cA<AA;cA++)bA[d._index[cA]]=d._values[cA];for(var yA=b;yA<=h;yA++)W(yA in bA?bA[yA]:0,yA-b,X-l)}}return G.push(N.length),new g({values:N,index:F,ptr:G,size:[h-b+1,w-l+1]})}(this,0,C-1,0,Q-1,function(d,b,h){return c.fn(d,[b,h],E)},s)},g.prototype.forEach=function(n,s){if(!this._values)throw new Error("Cannot invoke forEach on a Pattern only matrix");for(var E=this,C=this._size[0],Q=this._size[1],c=mt(n,E,"forEach"),d=0;d<Q;d++){var b=this._ptr[d],h=this._ptr[d+1];if(s)for(var l=b;l<h;l++){var w=this._index[l];c.fn(this._values[l],[w,d],E)}else{for(var M={},k=b;k<h;k++)M[this._index[k]]=this._values[k];for(var N=0;N<C;N++){var F=N in M?M[N]:0;c.fn(F,[N,d],E)}}}},g.prototype[Symbol.iterator]=function*(){if(!this._values)throw new Error("Cannot iterate a Pattern only matrix");for(var n=this._size[1],s=0;s<n;s++)for(var E=this._ptr[s],C=this._ptr[s+1],Q=E;Q<C;Q++){var c=this._index[Q];yield{value:this._values[Q],index:[c,s]}}},g.prototype.toArray=function(){return B(this._values,this._index,this._ptr,this._size,!0)},g.prototype.valueOf=function(){return B(this._values,this._index,this._ptr,this._size,!1)},g.prototype.format=function(n){for(var s=this._size[0],E=this._size[1],C=this.density(),Q="Sparse Matrix ["+TA(s,n)+" x "+TA(E,n)+"] density: "+TA(C,n)+`
|
|
35
|
-
`,c=0;c<
|
|
36
|
-
(`+TA(this._index[h],n)+", "+TA(c,n)+") ==> "+(this._values?TA(this._values[h],n):"X");return Q},g.prototype.toString=function(){return TA(this.toArray())},g.prototype.toJSON=function(){return{mathjs:"SparseMatrix",values:this._values,index:this._index,ptr:this._ptr,size:this._size,datatype:this._datatype}},g.prototype.diagonal=function(n){if(n){if(qA(n)&&(n=n.toNumber()),!RA(n)||!LA(n))throw new TypeError("The parameter k must be an integer number")}else n=0;var s=n>0?n:0,E=n<0?-n:0,C=this._size[0],Q=this._size[1],c=Math.min(C-E,Q-s),d=[],b=[],h=[];h[0]=0;for(var l=s;l<Q&&d.length<c;l++)for(var w=this._ptr[l],M=this._ptr[l+1],k=w;k<M;k++){var N=this._index[k];if(N===l-s+E){d.push(this._values[k]),b[d.length-1]=N-E;break}}return h.push(d.length),new g({values:d,index:b,ptr:h,size:[c,1]})},g.fromJSON=function(n){return new g(n)},g.diagonal=function(n,s,E,C,Q){if(!PA(n))throw new TypeError("Array expected, size parameter");if(n.length!==2)throw new Error("Only two dimensions matrix are supported");if(n=n.map(function(eA){if(qA(eA)&&(eA=eA.toNumber()),!RA(eA)||!LA(eA)||eA<1)throw new Error("Size values must be positive integers");return eA}),E){if(qA(E)&&(E=E.toNumber()),!RA(E)||!LA(E))throw new TypeError("The parameter k must be an integer number")}else E=0;var c=a,d=0;ka(Q)&&(c=A.find(a,[Q,Q])||a,d=A.convert(0,Q));var b,h=E>0?E:0,l=E<0?-E:0,w=n[0],M=n[1],k=Math.min(w-l,M-h);if(PA(s)){if(s.length!==k)throw new Error("Invalid value array length");b=function(eA){return s[eA]}}else if(HA(s)){var N=s.size();if(N.length!==1||N[0]!==k)throw new Error("Invalid matrix length");b=function(eA){return s.get([eA])}}else b=function(){return s};for(var F=[],G=[],L=[],x=0;x<M;x++){L.push(F.length);var W=x-h;if(W>=0&&W<k){var X=b(W);c(X,d)||(G.push(W+l),F.push(X))}}return L.push(F.length),new g({values:F,index:G,ptr:L,size:[w,M]})},g.prototype.swapRows=function(n,s){if(!(RA(n)&&LA(n)&&RA(s)&&LA(s)))throw new Error("Row index must be positive integers");if(this._size.length!==2)throw new Error("Only two dimensional matrix is supported");return jA(n,this._size[0]),jA(s,this._size[0]),g._swapRows(n,s,this._size[1],this._values,this._index,this._ptr),this},g._forEachRow=function(n,s,E,C,Q){for(var c=C[n],d=C[n+1],b=c;b<d;b++)Q(E[b],s[b])},g._swapRows=function(n,s,E,C,Q,c){for(var d=0;d<E;d++){var b=c[d],h=c[d+1],l=I(n,b,h,Q),w=I(s,b,h,Q);if(l<h&&w<h&&Q[l]===n&&Q[w]===s){if(C){var M=C[l];C[l]=C[w],C[w]=M}}else if(l<h&&Q[l]===n&&(w>=h||Q[w]!==s)){var k=C?C[l]:void 0;Q.splice(w,0,s),C&&C.splice(w,0,k),Q.splice(w<=l?l+1:l,1),C&&C.splice(w<=l?l+1:l,1)}else if(w<h&&Q[w]===s&&(l>=h||Q[l]!==n)){var N=C?C[w]:void 0;Q.splice(l,0,n),C&&C.splice(l,0,N),Q.splice(l<=w?w+1:w,1),C&&C.splice(l<=w?w+1:w,1)}}},g},{isClass:!0}),rB=lA("number",["typed"],t=>{var{typed:A}=t,a=A("number",{"":function(){return 0},number:function(e){return e},string:function(e){if(e==="NaN")return NaN;var g,i,I=(i=(g=e).match(/(0[box])([0-9a-fA-F]*)\.([0-9a-fA-F]*)/))?{input:g,radix:{"0b":2,"0o":8,"0x":16}[i[1]],integerPart:i[2],fractionalPart:i[3]}:null;if(I)return function(n){for(var s=parseInt(n.integerPart,n.radix),E=0,C=0;C<n.fractionalPart.length;C++)E+=parseInt(n.fractionalPart[C],n.radix)/Math.pow(n.radix,C+1);var Q=s+E;if(isNaN(Q))throw new SyntaxError('String "'+n.input+'" is not a valid number');return Q}(I);var r=0,o=e.match(/(0[box][0-9a-fA-F]*)i([0-9]*)/);o&&(r=Number(o[2]),e=o[1]);var B=Number(e);if(isNaN(B))throw new SyntaxError('String "'+e+'" is not a valid number');if(o){if(B>2**r-1)throw new SyntaxError('String "'.concat(e,'" is out of range'));B>=2**(r-1)&&(B-=2**r)}return B},BigNumber:function(e){return e.toNumber()},bigint:function(e){return Number(e)},Fraction:function(e){return e.valueOf()},Unit:A.referToSelf(e=>g=>{var i=g.clone();return i.value=e(g.value),i}),null:function(e){return 0},"Unit, string | Unit":function(e,g){return e.toNumber(g)},"Array | Matrix":A.referToSelf(e=>g=>Be(g,e))});return a.fromJSON=function(e){return parseFloat(e.value)},a}),nB=lA("bignumber",["typed","BigNumber"],t=>{var{typed:A,BigNumber:a}=t;return A("bignumber",{"":function(){return new a(0)},number:function(e){return new a(e+"")},string:function(e){var g=e.match(/(0[box][0-9a-fA-F]*)i([0-9]*)/);if(g){var i=g[2],I=a(g[1]),r=new a(2).pow(Number(i));if(I.gt(r.sub(1)))throw new SyntaxError('String "'.concat(e,'" is out of range'));var o=new a(2).pow(Number(i)-1);return I.gte(o)?I.sub(r):I}return new a(e)},BigNumber:function(e){return e},bigint:function(e){return new a(e.toString())},Unit:A.referToSelf(e=>g=>{var i=g.clone();return i.value=e(g.value),i}),Fraction:function(e){return new a(String(e.n)).div(String(e.d)).times(String(e.s))},null:function(e){return new a(0)},"Array | Matrix":A.referToSelf(e=>g=>Be(g,e))})}),oB=lA("fraction",["typed","Fraction"],t=>{var{typed:A,Fraction:a}=t;return A("fraction",{number:function(e){if(!isFinite(e)||isNaN(e))throw new Error(e+" cannot be represented as a fraction");return new a(e)},string:function(e){return new a(e)},"number, number":function(e,g){return new a(e,g)},"bigint, bigint":function(e,g){return new a(e,g)},null:function(e){return new a(0)},BigNumber:function(e){return new a(e.toString())},bigint:function(e){return new a(e.toString())},Fraction:function(e){return e},Unit:A.referToSelf(e=>g=>{var i=g.clone();return i.value=e(g.value),i}),Object:function(e){return new a(e)},"Array | Matrix":A.referToSelf(e=>g=>Be(g,e))})}),Mi="matrix",BB=lA(Mi,["typed","Matrix","DenseMatrix","SparseMatrix"],t=>{var{typed:A,Matrix:a,DenseMatrix:e,SparseMatrix:g}=t;return A(Mi,{"":function(){return i([])},string:function(I){return i([],I)},"string, string":function(I,r){return i([],I,r)},Array:function(I){return i(I)},Matrix:function(I){return i(I,I.storage())},"Array | Matrix, string":i,"Array | Matrix, string, string":i});function i(I,r,o){if(r==="dense"||r==="default"||r===void 0)return new e(I,o);if(r==="sparse")return new g(I,o);throw new TypeError("Unknown matrix type "+JSON.stringify(r)+".")}}),Ri="unaryMinus",sB=lA(Ri,["typed"],t=>{var{typed:A}=t;return A(Ri,{number:PI,"Complex | BigNumber | Fraction":a=>a.neg(),bigint:a=>-a,Unit:A.referToSelf(a=>e=>{var g=e.clone();return g.value=A.find(a,g.valueType())(e.value),g}),"Array | Matrix":A.referToSelf(a=>e=>Be(e,a,!0))})}),CB=lA("abs",["typed"],t=>{var{typed:A}=t;return A("abs",{number:KI,"Complex | BigNumber | Fraction | Unit":a=>a.abs(),bigint:a=>a<0n?-a:a,"Array | Matrix":A.referToSelf(a=>e=>Be(e,a,!0))})}),Ni="addScalar",EB=lA(Ni,["typed"],t=>{var{typed:A}=t;return A(Ni,{"number, number":TI,"Complex, Complex":function(a,e){return a.add(e)},"BigNumber, BigNumber":function(a,e){return a.plus(e)},"bigint, bigint":function(a,e){return a+e},"Fraction, Fraction":function(a,e){return a.add(e)},"Unit, Unit":A.referToSelf(a=>(e,g)=>{if(e.value===null||e.value===void 0)throw new Error("Parameter x contains a unit with undefined value");if(g.value===null||g.value===void 0)throw new Error("Parameter y contains a unit with undefined value");if(!e.equalBase(g))throw new Error("Units do not match");var i=e.clone();return i.value=A.find(a,[i.valueType(),g.valueType()])(i.value,g.value),i.fixPrefix=!1,i})})}),Gi="subtractScalar",QB=lA(Gi,["typed"],t=>{var{typed:A}=t;return A(Gi,{"number, number":qI,"Complex, Complex":function(a,e){return a.sub(e)},"BigNumber, BigNumber":function(a,e){return a.minus(e)},"bigint, bigint":function(a,e){return a-e},"Fraction, Fraction":function(a,e){return a.sub(e)},"Unit, Unit":A.referToSelf(a=>(e,g)=>{if(e.value===null||e.value===void 0)throw new Error("Parameter x contains a unit with undefined value");if(g.value===null||g.value===void 0)throw new Error("Parameter y contains a unit with undefined value");if(!e.equalBase(g))throw new Error("Units do not match");var i=e.clone();return i.value=A.find(a,[i.valueType(),g.valueType()])(i.value,g.value),i.fixPrefix=!1,i})})}),cB=lA("matAlgo11xS0s",["typed","equalScalar"],t=>{var{typed:A,equalScalar:a}=t;return function(e,g,i,I){var r=e._values,o=e._index,B=e._ptr,n=e._size,s=e._datatype;if(!r)throw new Error("Cannot perform operation on Pattern Sparse Matrix and Scalar value");var E,C=n[0],Q=n[1],c=a,d=0,b=i;typeof s=="string"&&(E=s,c=A.find(a,[E,E]),d=A.convert(0,E),g=A.convert(g,E),b=A.find(i,[E,E]));for(var h=[],l=[],w=[],M=0;M<Q;M++){w[M]=l.length;for(var k=B[M],N=B[M+1],F=k;F<N;F++){var G=o[F],L=I?b(g,r[F]):b(r[F],g);c(L,d)||(l.push(G),h.push(L))}}return w[Q]=l.length,e.createSparseMatrix({values:h,index:l,ptr:w,size:[C,Q],datatype:E})}}),hB=lA("matAlgo14xDs",["typed"],t=>{var{typed:A}=t;return function(e,g,i,I){var r,o=e._data,B=e._size,n=e._datatype,s=i;typeof n=="string"&&(r=n,g=A.convert(g,r),s=A.find(i,[r,r]));var E=B.length>0?a(s,0,B,B[0],o,g,I):[];return e.createDenseMatrix({data:E,size:JA(B),datatype:r})};function a(e,g,i,I,r,o,B){var n=[];if(g===i.length-1)for(var s=0;s<I;s++)n[s]=B?e(o,r[s]):e(r[s],o);else for(var E=0;E<I;E++)n[E]=a(e,g+1,i,i[g+1],r[E],o,B);return n}}),dB=lA("multiplyScalar",["typed"],t=>{var{typed:A}=t;return A("multiplyScalar",{"number, number":OI,"Complex, Complex":function(a,e){return a.mul(e)},"BigNumber, BigNumber":function(a,e){return a.times(e)},"bigint, bigint":function(a,e){return a*e},"Fraction, Fraction":function(a,e){return a.mul(e)},"number | Fraction | BigNumber | Complex, Unit":(a,e)=>e.multiply(a),"Unit, number | Fraction | BigNumber | Complex | Unit":(a,e)=>a.multiply(e)})}),Si="multiply",bB=lA(Si,["typed","matrix","addScalar","multiplyScalar","equalScalar","dot"],t=>{var{typed:A,matrix:a,addScalar:e,multiplyScalar:g,equalScalar:i,dot:I}=t,r=cB({typed:A,equalScalar:i}),o=hB({typed:A});function B(C,Q){switch(C.length){case 1:switch(Q.length){case 1:if(C[0]!==Q[0])throw new RangeError("Dimension mismatch in multiplication. Vectors must have the same length");break;case 2:if(C[0]!==Q[0])throw new RangeError("Dimension mismatch in multiplication. Vector length ("+C[0]+") must match Matrix rows ("+Q[0]+")");break;default:throw new Error("Can only multiply a 1 or 2 dimensional matrix (Matrix B has "+Q.length+" dimensions)")}break;case 2:switch(Q.length){case 1:if(C[1]!==Q[0])throw new RangeError("Dimension mismatch in multiplication. Matrix columns ("+C[1]+") must match Vector length ("+Q[0]+")");break;case 2:if(C[1]!==Q[0])throw new RangeError("Dimension mismatch in multiplication. Matrix A columns ("+C[1]+") must match Matrix B rows ("+Q[0]+")");break;default:throw new Error("Can only multiply a 1 or 2 dimensional matrix (Matrix B has "+Q.length+" dimensions)")}break;default:throw new Error("Can only multiply a 1 or 2 dimensional matrix (Matrix A has "+C.length+" dimensions)")}}function n(C,Q){if(Q.storage()!=="dense")throw new Error("Support for SparseMatrix not implemented");return function(c,d){var b,h=c._data,l=c._size,w=c._datatype||c.getDataType(),M=d._data,k=d._size,N=d._datatype||d.getDataType(),F=l[0],G=k[1],L=e,x=g;w&&N&&w===N&&typeof w=="string"&&w!=="mixed"&&(b=w,L=A.find(e,[b,b]),x=A.find(g,[b,b]));for(var W=[],X=0;X<G;X++){for(var eA=x(h[0],M[0][X]),AA=1;AA<F;AA++)eA=L(eA,x(h[AA],M[AA][X]));W[X]=eA}return c.createDenseMatrix({data:W,size:[G],datatype:w===c._datatype&&N===d._datatype?b:void 0})}(C,Q)}var s=A("_multiplyMatrixVector",{"DenseMatrix, any":function(C,Q){var c,d=C._data,b=C._size,h=C._datatype||C.getDataType(),l=Q._data,w=Q._datatype||Q.getDataType(),M=b[0],k=b[1],N=e,F=g;h&&w&&h===w&&typeof h=="string"&&h!=="mixed"&&(c=h,N=A.find(e,[c,c]),F=A.find(g,[c,c]));for(var G=[],L=0;L<M;L++){for(var x=d[L],W=F(x[0],l[0]),X=1;X<k;X++)W=N(W,F(x[X],l[X]));G[L]=W}return C.createDenseMatrix({data:G,size:[M],datatype:h===C._datatype&&w===Q._datatype?c:void 0})},"SparseMatrix, any":function(C,Q){var c=C._values,d=C._index,b=C._ptr,h=C._datatype||C._data===void 0?C._datatype:C.getDataType();if(!c)throw new Error("Cannot multiply Pattern only Matrix times Dense Matrix");var l,w=Q._data,M=Q._datatype||Q.getDataType(),k=C._size[0],N=Q._size[0],F=[],G=[],L=[],x=e,W=g,X=i,eA=0;h&&M&&h===M&&typeof h=="string"&&h!=="mixed"&&(l=h,x=A.find(e,[l,l]),W=A.find(g,[l,l]),X=A.find(i,[l,l]),eA=A.convert(0,l));var AA=[],Z=[];L[0]=0;for(var nA=0;nA<N;nA++){var bA=w[nA];if(!X(bA,eA))for(var cA=b[nA],yA=b[nA+1],fA=cA;fA<yA;fA++){var BA=d[fA];Z[BA]?AA[BA]=x(AA[BA],W(bA,c[fA])):(Z[BA]=!0,G.push(BA),AA[BA]=W(bA,c[fA]))}}for(var kA=G.length,rA=0;rA<kA;rA++){var sA=G[rA];F[rA]=AA[sA]}return L[1]=G.length,C.createSparseMatrix({values:F,index:G,ptr:L,size:[k,1],datatype:h===C._datatype&&M===Q._datatype?l:void 0})}}),E=A("_multiplyMatrixMatrix",{"DenseMatrix, DenseMatrix":function(C,Q){var c,d=C._data,b=C._size,h=C._datatype||C.getDataType(),l=Q._data,w=Q._size,M=Q._datatype||Q.getDataType(),k=b[0],N=b[1],F=w[1],G=e,L=g;h&&M&&h===M&&typeof h=="string"&&h!=="mixed"&&h!=="mixed"&&(c=h,G=A.find(e,[c,c]),L=A.find(g,[c,c]));for(var x=[],W=0;W<k;W++){var X=d[W];x[W]=[];for(var eA=0;eA<F;eA++){for(var AA=L(X[0],l[0][eA]),Z=1;Z<N;Z++)AA=G(AA,L(X[Z],l[Z][eA]));x[W][eA]=AA}}return C.createDenseMatrix({data:x,size:[k,F],datatype:h===C._datatype&&M===Q._datatype?c:void 0})},"DenseMatrix, SparseMatrix":function(C,Q){var c=C._data,d=C._size,b=C._datatype||C.getDataType(),h=Q._values,l=Q._index,w=Q._ptr,M=Q._size,k=Q._datatype||Q._data===void 0?Q._datatype:Q.getDataType();if(!h)throw new Error("Cannot multiply Dense Matrix times Pattern only Matrix");var N,F=d[0],G=M[1],L=e,x=g,W=i,X=0;b&&k&&b===k&&typeof b=="string"&&b!=="mixed"&&(N=b,L=A.find(e,[N,N]),x=A.find(g,[N,N]),W=A.find(i,[N,N]),X=A.convert(0,N));for(var eA=[],AA=[],Z=[],nA=Q.createSparseMatrix({values:eA,index:AA,ptr:Z,size:[F,G],datatype:b===C._datatype&&k===Q._datatype?N:void 0}),bA=0;bA<G;bA++){Z[bA]=AA.length;var cA=w[bA],yA=w[bA+1];if(yA>cA)for(var fA=0,BA=0;BA<F;BA++){for(var kA=BA+1,rA=void 0,sA=cA;sA<yA;sA++){var uA=l[sA];fA!==kA?(rA=x(c[BA][uA],h[sA]),fA=kA):rA=L(rA,x(c[BA][uA],h[sA]))}fA!==kA||W(rA,X)||(AA.push(BA),eA.push(rA))}}return Z[G]=AA.length,nA},"SparseMatrix, DenseMatrix":function(C,Q){var c=C._values,d=C._index,b=C._ptr,h=C._datatype||C._data===void 0?C._datatype:C.getDataType();if(!c)throw new Error("Cannot multiply Pattern only Matrix times Dense Matrix");var l,w=Q._data,M=Q._datatype||Q.getDataType(),k=C._size[0],N=Q._size[0],F=Q._size[1],G=e,L=g,x=i,W=0;h&&M&&h===M&&typeof h=="string"&&h!=="mixed"&&(l=h,G=A.find(e,[l,l]),L=A.find(g,[l,l]),x=A.find(i,[l,l]),W=A.convert(0,l));for(var X=[],eA=[],AA=[],Z=C.createSparseMatrix({values:X,index:eA,ptr:AA,size:[k,F],datatype:h===C._datatype&&M===Q._datatype?l:void 0}),nA=[],bA=[],cA=0;cA<F;cA++){AA[cA]=eA.length;for(var yA=cA+1,fA=0;fA<N;fA++){var BA=w[fA][cA];if(!x(BA,W))for(var kA=b[fA],rA=b[fA+1],sA=kA;sA<rA;sA++){var uA=d[sA];bA[uA]!==yA?(bA[uA]=yA,eA.push(uA),nA[uA]=L(BA,c[sA])):nA[uA]=G(nA[uA],L(BA,c[sA]))}}for(var pA=AA[cA],mA=eA.length,NA=pA;NA<mA;NA++){var WA=eA[NA];X[NA]=nA[WA]}}return AA[F]=eA.length,Z},"SparseMatrix, SparseMatrix":function(C,Q){var c,d=C._values,b=C._index,h=C._ptr,l=C._datatype||C._data===void 0?C._datatype:C.getDataType(),w=Q._values,M=Q._index,k=Q._ptr,N=Q._datatype||Q._data===void 0?Q._datatype:Q.getDataType(),F=C._size[0],G=Q._size[1],L=d&&w,x=e,W=g;l&&N&&l===N&&typeof l=="string"&&l!=="mixed"&&(c=l,x=A.find(e,[c,c]),W=A.find(g,[c,c]));for(var X,eA,AA,Z,nA,bA,cA,yA,fA=L?[]:void 0,BA=[],kA=[],rA=C.createSparseMatrix({values:fA,index:BA,ptr:kA,size:[F,G],datatype:l===C._datatype&&N===Q._datatype?c:void 0}),sA=L?[]:void 0,uA=[],pA=0;pA<G;pA++){kA[pA]=BA.length;var mA=pA+1;for(nA=k[pA],bA=k[pA+1],Z=nA;Z<bA;Z++)if(yA=M[Z],L)for(eA=h[yA],AA=h[yA+1],X=eA;X<AA;X++)uA[cA=b[X]]!==mA?(uA[cA]=mA,BA.push(cA),sA[cA]=W(w[Z],d[X])):sA[cA]=x(sA[cA],W(w[Z],d[X]));else for(eA=h[yA],AA=h[yA+1],X=eA;X<AA;X++)uA[cA=b[X]]!==mA&&(uA[cA]=mA,BA.push(cA));if(L)for(var NA=kA[pA],WA=BA.length,VA=NA;VA<WA;VA++){var oa=BA[VA];fA[VA]=sA[oa]}}return kA[G]=BA.length,rA}});return A(Si,g,{"Array, Array":A.referTo("Matrix, Matrix",C=>(Q,c)=>{B(ga(Q),ga(c));var d=C(a(Q),a(c));return HA(d)?d.valueOf():d}),"Matrix, Matrix":function(C,Q){var c=C.size(),d=Q.size();return B(c,d),c.length===1?d.length===1?function(b,h,l){if(l===0)throw new Error("Cannot multiply two empty vectors");return I(b,h)}(C,Q,c[0]):n(C,Q):d.length===1?s(C,Q):E(C,Q)},"Matrix, Array":A.referTo("Matrix,Matrix",C=>(Q,c)=>C(Q,a(c))),"Array, Matrix":A.referToSelf(C=>(Q,c)=>C(a(Q,c.storage()),c)),"SparseMatrix, any":function(C,Q){return r(C,Q,g,!1)},"DenseMatrix, any":function(C,Q){return o(C,Q,g,!1)},"any, SparseMatrix":function(C,Q){return r(Q,C,g,!0)},"any, DenseMatrix":function(C,Q){return o(Q,C,g,!0)},"Array, any":function(C,Q){return o(a(C),Q,g,!1).valueOf()},"any, Array":function(C,Q){return o(a(Q),C,g,!0).valueOf()},"any, any":g,"any, any, ...any":A.referToSelf(C=>(Q,c,d)=>{for(var b=C(Q,c),h=0;h<d.length;h++)b=C(b,d[h]);return b})})}),Ui="conj",uB=lA(Ui,["typed"],t=>{var{typed:A}=t;return A(Ui,{"number | BigNumber | Fraction":a=>a,Complex:a=>a.conjugate(),Unit:A.referToSelf(a=>e=>new e.constructor(a(e.toNumeric()),e.formatUnits())),"Array | Matrix":A.referToSelf(a=>e=>Be(e,a))})}),xi="identity",lB=lA(xi,["typed","config","matrix","BigNumber","DenseMatrix","SparseMatrix"],t=>{var{typed:A,config:a,matrix:e,BigNumber:g,DenseMatrix:i,SparseMatrix:I}=t;return A(xi,{"":function(){return a.matrix==="Matrix"?e([]):[]},string:function(B){return e(B)},"number | BigNumber":function(B){return o(B,B,a.matrix==="Matrix"?"dense":void 0)},"number | BigNumber, string":function(B,n){return o(B,B,n)},"number | BigNumber, number | BigNumber":function(B,n){return o(B,n,a.matrix==="Matrix"?"dense":void 0)},"number | BigNumber, number | BigNumber, string":function(B,n,s){return o(B,n,s)},Array:function(B){return r(B)},"Array, string":function(B,n){return r(B,n)},Matrix:function(B){return r(B.valueOf(),B.storage())},"Matrix, string":function(B,n){return r(B.valueOf(),n)}});function r(B,n){switch(B.length){case 0:return n?e(n):[];case 1:return o(B[0],B[0],n);case 2:return o(B[0],B[1],n);default:throw new Error("Vector containing two values expected")}}function o(B,n,s){var E=qA(B)||qA(n)?g:null;if(qA(B)&&(B=B.toNumber()),qA(n)&&(n=n.toNumber()),!LA(B)||B<1)throw new Error("Parameters in function identity must be positive integers");if(!LA(n)||n<1)throw new Error("Parameters in function identity must be positive integers");var C=E?new g(1):1,Q=E?new E(0):0,c=[B,n];if(s){if(s==="sparse")return I.diagonal(c,C,0,Q);if(s==="dense")return i.diagonal(c,C,0,Q);throw new TypeError('Unknown matrix type "'.concat(s,'"'))}for(var d=lg([],c,Q),b=B<n?B:n,h=0;h<b;h++)d[h][h]=C;return d}});function fB(){throw new Error('No "bignumber" implementation available')}function DB(){throw new Error('No "fraction" implementation available')}var Li,ji="size",wB=lA(ji,["typed","config","?matrix"],t=>{var{typed:A,config:a,matrix:e}=t;return A(ji,{Matrix:function(g){return g.create(g.size(),"number")},Array:ga,string:function(g){return a.matrix==="Array"?[g.length]:e([g.length],"dense","number")},"number | Complex | BigNumber | Unit | boolean | null":function(g){return a.matrix==="Array"?[]:e?e([],"dense","number"):function(){throw new Error('No "matrix" implementation available')}()}})}),pB=lA("numeric",["number","?bignumber","?fraction"],t=>{var{number:A,bignumber:a,fraction:e}=t,g={string:!0,number:!0,BigNumber:!0,Fraction:!0},i={number:I=>A(I),BigNumber:a?I=>a(I):fB,bigint:I=>BigInt(I),Fraction:e?I=>e(I):DB};return function(I){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"number";if((arguments.length>2?arguments[2]:void 0)!==void 0)throw new SyntaxError("numeric() takes one or two arguments");var o=_a(I);if(!(o in g))throw new TypeError("Cannot convert "+I+' of type "'+o+'"; valid input types are '+Object.keys(g).join(", "));if(!(r in i))throw new TypeError("Cannot convert "+I+' to type "'+r+'"; valid output types are '+Object.keys(i).join(", "));return r===o?I:i[r](I)}}),vi="divideScalar",yB=lA(vi,["typed","numeric"],t=>{var{typed:A,numeric:a}=t;return A(vi,{"number, number":function(e,g){return e/g},"Complex, Complex":function(e,g){return e.div(g)},"BigNumber, BigNumber":function(e,g){return e.div(g)},"bigint, bigint":function(e,g){return e/g},"Fraction, Fraction":function(e,g){return e.div(g)},"Unit, number | Complex | Fraction | BigNumber | Unit":(e,g)=>e.divide(g),"number | Fraction | Complex | BigNumber, Unit":(e,g)=>g.divideInto(e)})}),mB=lA("pow",["typed","config","identity","multiply","matrix","inv","fraction","number","Complex"],t=>{var{typed:A,config:a,identity:e,multiply:g,matrix:i,inv:I,number:r,fraction:o,Complex:B}=t;return A("pow",{"number, number":n,"Complex, Complex":function(C,Q){return C.pow(Q)},"BigNumber, BigNumber":function(C,Q){return Q.isInteger()||C>=0||a.predictable?C.pow(Q):new B(C.toNumber(),0).pow(Q.toNumber(),0)},"bigint, bigint":(C,Q)=>C**Q,"Fraction, Fraction":function(C,Q){var c=C.pow(Q);if(c!=null)return c;if(a.predictable)throw new Error("Result of pow is non-rational and cannot be expressed as a fraction");return n(C.valueOf(),Q.valueOf())},"Array, number":s,"Array, BigNumber":function(C,Q){return s(C,Q.toNumber())},"Matrix, number":E,"Matrix, BigNumber":function(C,Q){return E(C,Q.toNumber())},"Unit, number | BigNumber":function(C,Q){return C.pow(Q)}});function n(C,Q){if(a.predictable&&!LA(Q)&&C<0)try{var c=o(Q),d=r(c);if((Q===d||Math.abs((Q-d)/Q)<1e-14)&&c.d%2n===1n)return(c.n%2n===0n?1:-1)*Math.pow(-C,Q)}catch{}return a.predictable&&(C<-1&&Q===1/0||C>-1&&C<0&&Q===-1/0)?NaN:LA(Q)||C>=0||a.predictable?zI(C,Q):C*C<1&&Q===1/0||C*C>1&&Q===-1/0?0:new B(C,0).pow(Q,0)}function s(C,Q){if(!LA(Q))throw new TypeError("For A^b, b must be an integer (value is "+Q+")");var c=ga(C);if(c.length!==2)throw new Error("For A^b, A must be 2 dimensional (A has "+c.length+" dimensions)");if(c[0]!==c[1])throw new Error("For A^b, A must be square (size is "+c[0]+"x"+c[1]+")");if(Q<0)try{return s(I(C),-Q)}catch(h){throw h.message==="Cannot calculate inverse, determinant is zero"?new TypeError("For A^b, when A is not invertible, b must be a positive integer (value is "+Q+")"):h}for(var d=e(c[0]).valueOf(),b=C;Q>=1;)1&~Q||(d=g(b,d)),Q>>=1,b=g(b,b);return d}function E(C,Q){return i(s(C.valueOf(),Q))}}),FB=lA("dot",["typed","addScalar","multiplyScalar","conj","size"],t=>{var{typed:A,addScalar:a,multiplyScalar:e,conj:g,size:i}=t;return A("dot",{"Array | DenseMatrix, Array | DenseMatrix":function(o,B){var n=I(o,B),s=HA(o)?o._data:o,E=HA(o)?o._datatype||o.getDataType():void 0,C=HA(B)?B._data:B,Q=HA(B)?B._datatype||B.getDataType():void 0,c=r(o).length===2,d=r(B).length===2,b=a,h=e;if(E&&Q&&E===Q&&typeof E=="string"&&E!=="mixed"){var l=E;b=A.find(a,[l,l]),h=A.find(e,[l,l])}if(!c&&!d){for(var w=h(g(s[0]),C[0]),M=1;M<n;M++)w=b(w,h(g(s[M]),C[M]));return w}if(!c&&d){for(var k=h(g(s[0]),C[0][0]),N=1;N<n;N++)k=b(k,h(g(s[N]),C[N][0]));return k}if(c&&!d){for(var F=h(g(s[0][0]),C[0]),G=1;G<n;G++)F=b(F,h(g(s[G][0]),C[G]));return F}if(c&&d){for(var L=h(g(s[0][0]),C[0][0]),x=1;x<n;x++)L=b(L,h(g(s[x][0]),C[x][0]));return L}},"SparseMatrix, SparseMatrix":function(o,B){I(o,B);for(var n=o._index,s=o._values,E=B._index,C=B._values,Q=0,c=a,d=e,b=0,h=0;b<n.length&&h<E.length;){var l=n[b],w=E[h];l<w?b++:l>w?h++:l===w&&(Q=c(Q,d(s[b],C[h])),b++,h++)}return Q}});function I(o,B){var n,s,E=r(o),C=r(B);if(E.length===1)n=E[0];else{if(E.length!==2||E[1]!==1)throw new RangeError("Expected a column vector, instead got a matrix of size ("+E.join(", ")+")");n=E[0]}if(C.length===1)s=C[0];else{if(C.length!==2||C[1]!==1)throw new RangeError("Expected a column vector, instead got a matrix of size ("+C.join(", ")+")");s=C[0]}if(n!==s)throw new RangeError("Vectors must have equal length ("+n+" != "+s+")");if(n===0)throw new RangeError("Cannot calculate the dot product of empty vectors");return n}function r(o){return HA(o)?o.size():i(o)}}),kB=lA("det",["typed","matrix","subtractScalar","multiply","divideScalar","isZero","unaryMinus"],t=>{var{typed:A,matrix:a,subtractScalar:e,multiply:g,divideScalar:i,isZero:I,unaryMinus:r}=t;return A("det",{any:function(o){return JA(o)},"Array | Matrix":function(o){var B;switch((B=HA(o)?o.size():Array.isArray(o)?(o=a(o)).size():[]).length){case 0:return JA(o);case 1:if(B[0]===1)return JA(o.valueOf()[0]);if(B[0]===0)return 1;throw new RangeError("Matrix must be square (size: "+TA(B)+")");case 2:var n=B[0],s=B[1];if(n===s)return function(E,C){if(C===1)return JA(E[0][0]);if(C===2)return e(g(E[0][0],E[1][1]),g(E[1][0],E[0][1]));for(var Q=!1,c=new Array(C).fill(0).map((G,L)=>L),d=0;d<C;d++){var b=c[d];if(I(E[b][d])){var h=void 0;for(h=d+1;h<C;h++)if(!I(E[c[h]][d])){b=c[h],c[h]=c[d],c[d]=b,Q=!Q;break}if(h===C)return E[b][d]}for(var l=E[b][d],w=d===0?1:E[c[d-1]][d-1],M=d+1;M<C;M++)for(var k=c[M],N=d+1;N<C;N++)E[k][N]=i(e(g(E[k][N],l),g(E[k][d],E[b][N])),w)}var F=E[c[C-1]][C-1];return Q?r(F):F}(o.clone().valueOf(),n);if(s===0)return 1;throw new RangeError("Matrix must be square (size: "+TA(B)+")");default:throw new RangeError("Matrix must be two dimensional (size: "+TA(B)+")")}}})}),MB=lA("inv",["typed","matrix","divideScalar","addScalar","multiply","unaryMinus","det","identity","abs"],t=>{var{typed:A,matrix:a,divideScalar:e,addScalar:g,multiply:i,unaryMinus:I,det:r,identity:o,abs:B}=t;return A("inv",{"Array | Matrix":function(s){var E=HA(s)?s.size():ga(s);switch(E.length){case 1:if(E[0]===1)return HA(s)?a([e(1,s.valueOf()[0])]):[e(1,s[0])];throw new RangeError("Matrix must be square (size: "+TA(E)+")");case 2:var C=E[0],Q=E[1];if(C===Q)return HA(s)?a(n(s.valueOf(),C,Q),s.storage()):n(s,C,Q);throw new RangeError("Matrix must be square (size: "+TA(E)+")");default:throw new RangeError("Matrix must be two dimensional (size: "+TA(E)+")")}},any:function(s){return e(1,s)}});function n(s,E,C){var Q,c,d,b,h;if(E===1){if((b=s[0][0])===0)throw Error("Cannot calculate inverse, determinant is zero");return[[e(1,b)]]}if(E===2){var l=r(s);if(l===0)throw Error("Cannot calculate inverse, determinant is zero");return[[e(s[1][1],l),e(I(s[0][1]),l)],[e(I(s[1][0]),l),e(s[0][0],l)]]}var w=s.concat();for(Q=0;Q<E;Q++)w[Q]=w[Q].concat();for(var M=o(E).valueOf(),k=0;k<C;k++){var N=B(w[k][k]),F=k;for(Q=k+1;Q<E;)B(w[Q][k])>N&&(N=B(w[Q][k]),F=Q),Q++;if(N===0)throw Error("Cannot calculate inverse, determinant is zero");(Q=F)!==k&&(h=w[k],w[k]=w[Q],w[Q]=h,h=M[k],M[k]=M[Q],M[Q]=h);var G=w[k],L=M[k];for(Q=0;Q<E;Q++){var x=w[Q],W=M[Q];if(Q!==k){if(x[k]!==0){for(d=e(I(x[k]),G[k]),c=k;c<C;c++)x[c]=g(x[c],i(d,G[c]));for(c=0;c<C;c++)W[c]=g(W[c],i(d,L[c]))}}else{for(d=G[k],c=k;c<C;c++)x[c]=e(x[c],d);for(c=0;c<C;c++)W[c]=e(W[c],d)}}}return M}}),Ji="gamma",RB=lA(Ji,["typed","config","multiplyScalar","pow","BigNumber","Complex"],t=>{var{typed:A,config:a,multiplyScalar:e,pow:g,BigNumber:i,Complex:I}=t;return A(Ji,{number:Ft,Complex:function o(B){if(B.im===0)return Ft(B.re);if(B.re<.5){var n=new I(1-B.re,-B.im),s=new I(Math.PI*B.re,Math.PI*B.im);return new I(Math.PI).div(s.sin()).div(o(n))}B=new I(B.re-1,B.im);for(var E=new I(me[0],0),C=1;C<me.length;++C){var Q=new I(me[C],0);E=E.add(Q.div(B.add(C)))}var c=new I(B.re+WI+.5,B.im),d=Math.sqrt(2*Math.PI),b=c.pow(B.add(.5)),h=c.neg().exp();return E.mul(d).mul(b).mul(h)},BigNumber:function(o){if(o.isInteger())return o.isNegative()||o.isZero()?new i(1/0):r(o.minus(1));if(!o.isFinite())return new i(o.isNegative()?NaN:1/0);throw new Error("Integer BigNumber expected")}});function r(o){if(o<8)return new i([1,1,2,6,24,120,720,5040][o]);var B=a.precision+(0|Math.log(o.toNumber())),n=i.clone({precision:B});if(o%2==1)return o.times(r(new i(o-1)));for(var s=o,E=new n(o),C=o.toNumber();s>2;)C+=s-=2,E=E.times(C);return new i(E.toPrecision(i.precision))}}),Rt=zo({config:oe}),wg=Vo({}),VI=Zo({}),Sg=_o({}),Ug=eB({Matrix:Sg}),vA=ao({BigNumber:Rt,Complex:wg,DenseMatrix:Ug,Fraction:VI}),NB=CB({typed:vA}),pg=EB({typed:vA}),GB=uB({typed:vA}),xg=iB({config:oe,typed:vA}),SB=tB({equalScalar:xg,typed:vA}),yg=dB({typed:vA}),XI=rB({typed:vA}),ZI=IB({Matrix:Sg,equalScalar:xg,typed:vA}),UB=QB({typed:vA}),xB=nB({BigNumber:Rt,typed:vA}),Fe=BB({DenseMatrix:Ug,Matrix:Sg,SparseMatrix:ZI,typed:vA}),_I=oB({Fraction:VI,typed:vA}),Hi=lB({BigNumber:Rt,DenseMatrix:Ug,SparseMatrix:ZI,config:oe,matrix:Fe,typed:vA}),LB=pB({bignumber:xB,fraction:_I,number:XI}),jB=wB({matrix:Fe,config:oe,typed:vA}),Yi=sB({typed:vA}),Ki=yB({numeric:LB,typed:vA}),rg=bB({addScalar:pg,dot:FB({addScalar:pg,conj:GB,multiplyScalar:yg,size:jB,typed:vA}),equalScalar:xg,matrix:Fe,multiplyScalar:yg,typed:vA}),vB=RB({BigNumber:Rt,Complex:wg,config:oe,multiplyScalar:yg,pow:mB({Complex:wg,config:oe,fraction:_I,identity:Hi,inv:MB({abs:NB,addScalar:pg,det:kB({divideScalar:Ki,isZero:SB,matrix:Fe,multiply:rg,subtractScalar:UB,typed:vA,unaryMinus:Yi}),divideScalar:Ki,identity:Hi,matrix:Fe,multiply:rg,typed:vA,unaryMinus:Yi}),matrix:Fe,multiply:rg,number:XI,typed:vA}),typed:vA});class JB{constructor(A){if(A){const{toElementFn:a}=A;if(typeof a=="function")this._toElementFn=a;else if(a)throw new TypeError("toElementFn must be a function type")}}_toElementFn;get toElementFn(){return this._toElementFn}*[Symbol.iterator](...A){yield*this._getIterator(...A)}*values(){for(const A of this)yield A}every(A,a){let e=0;for(const g of this)if(!A.call(a,g,e++,this))return!1;return!0}some(A,a){let e=0;for(const g of this)if(A.call(a,g,e++,this))return!0;return!1}forEach(A,a){let e=0;for(const g of this)A.call(a,g,e++,this)}find(A,a){let e=0;for(const g of this)if(A.call(a,g,e++,this))return g}has(A){for(const a of this)if(a===A)return!0;return!1}reduce(A,a){let e=a??0,g=0;for(const i of this)e=A(e,i,g++,this);return e}toArray(){return[...this]}toVisual(){return[...this]}print(){console.log(this.toVisual())}}/**
|
|
33
|
+
*/var mI,La,we=9e15,Xa=1e9,ht="0123456789abcdef",wg="2.3025850929940456840179914546843642076011014886287729760333279009675726096773524802359972050895982983419677840422862486334095254650828067566662873690987816894829072083255546808437998948262331985283935053089653777326288461633662222876982198867465436674744042432743651550489343149393914796194044002221051017141748003688084012647080685567743216228355220114804663715659121373450747856947683463616792101806445070648000277502684916746550586856935673420670581136429224554405758925724208241314695689016758940256776311356919292033376587141660230105703089634572075440370847469940168269282808481184289314848524948644871927809676271275775397027668605952496716674183485704422507197965004714951050492214776567636938662976979522110718264549734772662425709429322582798502585509785265383207606726317164309505995087807523710333101197857547331541421808427543863591778117054309827482385045648019095610299291824318237525357709750539565187697510374970888692180205189339507238539205144634197265287286965110862571492198849978748873771345686209167058",yg="3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989380952572010654858632789",dt={precision:20,rounding:4,modulo:1,toExpNeg:-7,toExpPos:21,minE:-we,maxE:we,crypto:!1},rA=!0,kg="[DecimalError] ",$a=kg+"Invalid argument: ",MI=kg+"Precision limit exceeded",kI=kg+"crypto unavailable",RI="[object Decimal]",Aa=Math.floor,zA=Math.pow,tr=/^0b([01]+(\.[01]*)?|\.[01]+)(p[+-]?\d+)?$/i,ir=/^0x([0-9a-f]+(\.[0-9a-f]*)?|\.[0-9a-f]+)(p[+-]?\d+)?$/i,Ir=/^0o([0-7]+(\.[0-7]*)?|\.[0-7]+)(p[+-]?\d+)?$/i,NI=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,ya=1e7,Br=wg.length-1,bt=yg.length-1,Y={toStringTag:RI};function _A(g){var A,a,e,t=g.length-1,i="",I=g[0];if(t>0){for(i+=I,A=1;A<t;A++)(a=7-(e=g[A]+"").length)&&(i+=Va(a)),i+=e;(a=7-(e=(I=g[A])+"").length)&&(i+=Va(a))}else if(I===0)return"0";for(;I%10==0;)I/=10;return i+I}function Ba(g,A,a){if(g!==~~g||g<A||g>a)throw Error($a+g)}function Ye(g,A,a,e){var t,i,I,B;for(i=g[0];i>=10;i/=10)--A;return--A<0?(A+=7,t=0):(t=Math.ceil((A+1)/7),A%=7),i=zA(10,7-A),B=g[t]%i|0,e==null?A<3?(A==0?B=B/100|0:A==1&&(B=B/10|0),I=a<4&&B==99999||a>3&&B==49999||B==5e4||B==0):I=(a<4&&B+1==i||a>3&&B+1==i/2)&&(g[t+1]/i/100|0)==zA(10,A-2)-1||(B==i/2||B==0)&&!(g[t+1]/i/100|0):A<4?(A==0?B=B/1e3|0:A==1?B=B/100|0:A==2&&(B=B/10|0),I=(e||a<4)&&B==9999||!e&&a>3&&B==4999):I=((e||a<4)&&B+1==i||!e&&a>3&&B+1==i/2)&&(g[t+1]/i/1e3|0)==zA(10,A-3)-1,I}function hg(g,A,a){for(var e,t,i=[0],I=0,B=g.length;I<B;){for(t=i.length;t--;)i[t]*=A;for(i[0]+=ht.indexOf(g.charAt(I++)),e=0;e<i.length;e++)i[e]>a-1&&(i[e+1]===void 0&&(i[e+1]=0),i[e+1]+=i[e]/a|0,i[e]%=a)}return i.reverse()}Y.absoluteValue=Y.abs=function(){var g=new this.constructor(this);return g.s<0&&(g.s=1),iA(g)},Y.ceil=function(){return iA(new this.constructor(this),this.e+1,2)},Y.clampedTo=Y.clamp=function(g,A){var a=this,e=a.constructor;if(g=new e(g),A=new e(A),!g.s||!A.s)return new e(NaN);if(g.gt(A))throw Error($a+A);return a.cmp(g)<0?g:a.cmp(A)>0?A:new e(a)},Y.comparedTo=Y.cmp=function(g){var A,a,e,t,i=this,I=i.d,B=(g=new i.constructor(g)).d,r=i.s,o=g.s;if(!I||!B)return r&&o?r!==o?r:I===B?0:!I^r<0?1:-1:NaN;if(!I[0]||!B[0])return I[0]?r:B[0]?-o:0;if(r!==o)return r;if(i.e!==g.e)return i.e>g.e^r<0?1:-1;for(A=0,a=(e=I.length)<(t=B.length)?e:t;A<a;++A)if(I[A]!==B[A])return I[A]>B[A]^r<0?1:-1;return e===t?0:e>t^r<0?1:-1},Y.cosine=Y.cos=function(){var g,A,a=this,e=a.constructor;return a.d?a.d[0]?(g=e.precision,A=e.rounding,e.precision=g+Math.max(a.e,a.sd())+7,e.rounding=1,a=function(t,i){var I,B,r;if(i.isZero())return i;B=i.d.length,B<32?r=(1/Ig(4,I=Math.ceil(B/3))).toString():(I=16,r="2.3283064365386962890625e-10"),t.precision+=I,i=be(t,1,i.times(r),new t(1));for(var o=I;o--;){var n=i.times(i);i=n.times(n).minus(n).times(8).plus(1)}return t.precision-=I,i}(e,si(e,a)),e.precision=g,e.rounding=A,iA(La==2||La==3?a.neg():a,g,A,!0)):new e(1):new e(NaN)},Y.cubeRoot=Y.cbrt=function(){var g,A,a,e,t,i,I,B,r,o,n=this,C=n.constructor;if(!n.isFinite()||n.isZero())return new C(n);for(rA=!1,(i=n.s*zA(n.s*n,1/3))&&Math.abs(i)!=1/0?e=new C(i.toString()):(a=_A(n.d),(i=((g=n.e)-a.length+1)%3)&&(a+=i==1||i==-2?"0":"00"),i=zA(a,1/3),g=Aa((g+1)/3)-(g%3==(g<0?-1:2)),(e=new C(a=i==1/0?"5e"+g:(a=i.toExponential()).slice(0,a.indexOf("e")+1)+g)).s=n.s),I=(g=C.precision)+3;;)if(o=(r=(B=e).times(B).times(B)).plus(n),e=kA(o.plus(n).times(B),o.plus(r),I+2,1),_A(B.d).slice(0,I)===(a=_A(e.d)).slice(0,I)){if((a=a.slice(I-3,I+1))!="9999"&&(t||a!="4999")){+a&&(+a.slice(1)||a.charAt(0)!="5")||(iA(e,g+1,1),A=!e.times(e).times(e).eq(n));break}if(!t&&(iA(B,g+1,0),B.times(B).times(B).eq(n))){e=B;break}I+=4,t=1}return rA=!0,iA(e,g,C.rounding,A)},Y.decimalPlaces=Y.dp=function(){var g,A=this.d,a=NaN;if(A){if(a=7*((g=A.length-1)-Aa(this.e/7)),g=A[g])for(;g%10==0;g/=10)a--;a<0&&(a=0)}return a},Y.dividedBy=Y.div=function(g){return kA(this,new this.constructor(g))},Y.dividedToIntegerBy=Y.divToInt=function(g){var A=this.constructor;return iA(kA(this,new A(g),0,1,1),A.precision,A.rounding)},Y.equals=Y.eq=function(g){return this.cmp(g)===0},Y.floor=function(){return iA(new this.constructor(this),this.e+1,3)},Y.greaterThan=Y.gt=function(g){return this.cmp(g)>0},Y.greaterThanOrEqualTo=Y.gte=function(g){var A=this.cmp(g);return A==1||A===0},Y.hyperbolicCosine=Y.cosh=function(){var g,A,a,e,t,i=this,I=i.constructor,B=new I(1);if(!i.isFinite())return new I(i.s?1/0:NaN);if(i.isZero())return B;a=I.precision,e=I.rounding,I.precision=a+Math.max(i.e,i.sd())+4,I.rounding=1,(t=i.d.length)<32?A=(1/Ig(4,g=Math.ceil(t/3))).toString():(g=16,A="2.3283064365386962890625e-10"),i=be(I,1,i.times(A),new I(1),!0);for(var r,o=g,n=new I(8);o--;)r=i.times(i),i=B.minus(r.times(n.minus(r.times(n))));return iA(i,I.precision=a,I.rounding=e,!0)},Y.hyperbolicSine=Y.sinh=function(){var g,A,a,e,t=this,i=t.constructor;if(!t.isFinite()||t.isZero())return new i(t);if(A=i.precision,a=i.rounding,i.precision=A+Math.max(t.e,t.sd())+4,i.rounding=1,(e=t.d.length)<3)t=be(i,2,t,t,!0);else{g=(g=1.4*Math.sqrt(e))>16?16:0|g,t=be(i,2,t=t.times(1/Ig(5,g)),t,!0);for(var I,B=new i(5),r=new i(16),o=new i(20);g--;)I=t.times(t),t=t.times(B.plus(I.times(r.times(I).plus(o))))}return i.precision=A,i.rounding=a,iA(t,A,a,!0)},Y.hyperbolicTangent=Y.tanh=function(){var g,A,a=this,e=a.constructor;return a.isFinite()?a.isZero()?new e(a):(g=e.precision,A=e.rounding,e.precision=g+7,e.rounding=1,kA(a.sinh(),a.cosh(),e.precision=g,e.rounding=A)):new e(a.s)},Y.inverseCosine=Y.acos=function(){var g=this,A=g.constructor,a=g.abs().cmp(1),e=A.precision,t=A.rounding;return a!==-1?a===0?g.isNeg()?ka(A,e,t):new A(0):new A(NaN):g.isZero()?ka(A,e+4,t).times(.5):(A.precision=e+6,A.rounding=1,g=new A(1).minus(g).div(g.plus(1)).sqrt().atan(),A.precision=e,A.rounding=t,g.times(2))},Y.inverseHyperbolicCosine=Y.acosh=function(){var g,A,a=this,e=a.constructor;return a.lte(1)?new e(a.eq(1)?0:NaN):a.isFinite()?(g=e.precision,A=e.rounding,e.precision=g+Math.max(Math.abs(a.e),a.sd())+4,e.rounding=1,rA=!1,a=a.times(a).minus(1).sqrt().plus(a),rA=!0,e.precision=g,e.rounding=A,a.ln()):new e(a)},Y.inverseHyperbolicSine=Y.asinh=function(){var g,A,a=this,e=a.constructor;return!a.isFinite()||a.isZero()?new e(a):(g=e.precision,A=e.rounding,e.precision=g+2*Math.max(Math.abs(a.e),a.sd())+6,e.rounding=1,rA=!1,a=a.times(a).plus(1).sqrt().plus(a),rA=!0,e.precision=g,e.rounding=A,a.ln())},Y.inverseHyperbolicTangent=Y.atanh=function(){var g,A,a,e,t=this,i=t.constructor;return t.isFinite()?t.e>=0?new i(t.abs().eq(1)?t.s/0:t.isZero()?t:NaN):(g=i.precision,A=i.rounding,e=t.sd(),Math.max(e,g)<2*-t.e-1?iA(new i(t),g,A,!0):(i.precision=a=e-t.e,t=kA(t.plus(1),new i(1).minus(t),a+g,1),i.precision=g+4,i.rounding=1,t=t.ln(),i.precision=g,i.rounding=A,t.times(.5))):new i(NaN)},Y.inverseSine=Y.asin=function(){var g,A,a,e,t=this,i=t.constructor;return t.isZero()?new i(t):(A=t.abs().cmp(1),a=i.precision,e=i.rounding,A!==-1?A===0?((g=ka(i,a+4,e).times(.5)).s=t.s,g):new i(NaN):(i.precision=a+6,i.rounding=1,t=t.div(new i(1).minus(t.times(t)).sqrt().plus(1)).atan(),i.precision=a,i.rounding=e,t.times(2)))},Y.inverseTangent=Y.atan=function(){var g,A,a,e,t,i,I,B,r,o=this,n=o.constructor,C=n.precision,Q=n.rounding;if(o.isFinite()){if(o.isZero())return new n(o);if(o.abs().eq(1)&&C+4<=bt)return(I=ka(n,C+4,Q).times(.25)).s=o.s,I}else{if(!o.s)return new n(NaN);if(C+4<=bt)return(I=ka(n,C+4,Q).times(.5)).s=o.s,I}for(n.precision=B=C+10,n.rounding=1,g=a=Math.min(28,B/7+2|0);g;--g)o=o.div(o.times(o).plus(1).sqrt().plus(1));for(rA=!1,A=Math.ceil(B/7),e=1,r=o.times(o),I=new n(o),t=o;g!==-1;)if(t=t.times(r),i=I.minus(t.div(e+=2)),t=t.times(r),(I=i.plus(t.div(e+=2))).d[A]!==void 0)for(g=A;I.d[g]===i.d[g]&&g--;);return a&&(I=I.times(2<<a-1)),rA=!0,iA(I,n.precision=C,n.rounding=Q,!0)},Y.isFinite=function(){return!!this.d},Y.isInteger=Y.isInt=function(){return!!this.d&&Aa(this.e/7)>this.d.length-2},Y.isNaN=function(){return!this.s},Y.isNegative=Y.isNeg=function(){return this.s<0},Y.isPositive=Y.isPos=function(){return this.s>0},Y.isZero=function(){return!!this.d&&this.d[0]===0},Y.lessThan=Y.lt=function(g){return this.cmp(g)<0},Y.lessThanOrEqualTo=Y.lte=function(g){return this.cmp(g)<1},Y.logarithm=Y.log=function(g){var A,a,e,t,i,I,B,r,o=this,n=o.constructor,C=n.precision,Q=n.rounding;if(g==null)g=new n(10),A=!0;else{if(a=(g=new n(g)).d,g.s<0||!a||!a[0]||g.eq(1))return new n(NaN);A=g.eq(10)}if(a=o.d,o.s<0||!a||!a[0]||o.eq(1))return new n(a&&!a[0]?-1/0:o.s!=1?NaN:a?0:1/0);if(A)if(a.length>1)i=!0;else{for(t=a[0];t%10==0;)t/=10;i=t!==1}if(rA=!1,I=za(o,B=C+5),e=A?pg(n,B+10):za(g,B),Ye((r=kA(I,e,B,1)).d,t=C,Q))do if(I=za(o,B+=10),e=A?pg(n,B+10):za(g,B),r=kA(I,e,B,1),!i){+_A(r.d).slice(t+1,t+15)+1==1e14&&(r=iA(r,C+1,0));break}while(Ye(r.d,t+=10,Q));return rA=!0,iA(r,C,Q)},Y.minus=Y.sub=function(g){var A,a,e,t,i,I,B,r,o,n,C,Q,E=this,s=E.constructor;if(g=new s(g),!E.d||!g.d)return E.s&&g.s?E.d?g.s=-g.s:g=new s(g.d||E.s!==g.s?E:NaN):g=new s(NaN),g;if(E.s!=g.s)return g.s=-g.s,E.plus(g);if(o=E.d,Q=g.d,B=s.precision,r=s.rounding,!o[0]||!Q[0]){if(Q[0])g.s=-g.s;else{if(!o[0])return new s(r===3?-0:0);g=new s(E)}return rA?iA(g,B,r):g}if(a=Aa(g.e/7),n=Aa(E.e/7),o=o.slice(),i=n-a){for((C=i<0)?(A=o,i=-i,I=Q.length):(A=Q,a=n,I=o.length),i>(e=Math.max(Math.ceil(B/7),I)+2)&&(i=e,A.length=1),A.reverse(),e=i;e--;)A.push(0);A.reverse()}else{for((C=(e=o.length)<(I=Q.length))&&(I=e),e=0;e<I;e++)if(o[e]!=Q[e]){C=o[e]<Q[e];break}i=0}for(C&&(A=o,o=Q,Q=A,g.s=-g.s),I=o.length,e=Q.length-I;e>0;--e)o[I++]=0;for(e=Q.length;e>i;){if(o[--e]<Q[e]){for(t=e;t&&o[--t]===0;)o[t]=ya-1;--o[t],o[e]+=ya}o[e]-=Q[e]}for(;o[--I]===0;)o.pop();for(;o[0]===0;o.shift())--a;return o[0]?(g.d=o,g.e=dg(o,a),rA?iA(g,B,r):g):new s(r===3?-0:0)},Y.modulo=Y.mod=function(g){var A,a=this,e=a.constructor;return g=new e(g),!a.d||!g.s||g.d&&!g.d[0]?new e(NaN):!g.d||a.d&&!a.d[0]?iA(new e(a),e.precision,e.rounding):(rA=!1,e.modulo==9?(A=kA(a,g.abs(),0,3,1)).s*=g.s:A=kA(a,g,0,e.modulo,1),A=A.times(g),rA=!0,a.minus(A))},Y.naturalExponential=Y.exp=function(){return et(this)},Y.naturalLogarithm=Y.ln=function(){return za(this)},Y.negated=Y.neg=function(){var g=new this.constructor(this);return g.s=-g.s,iA(g)},Y.plus=Y.add=function(g){var A,a,e,t,i,I,B,r,o,n,C=this,Q=C.constructor;if(g=new Q(g),!C.d||!g.d)return C.s&&g.s?C.d||(g=new Q(g.d||C.s===g.s?C:NaN)):g=new Q(NaN),g;if(C.s!=g.s)return g.s=-g.s,C.minus(g);if(o=C.d,n=g.d,B=Q.precision,r=Q.rounding,!o[0]||!n[0])return n[0]||(g=new Q(C)),rA?iA(g,B,r):g;if(i=Aa(C.e/7),e=Aa(g.e/7),o=o.slice(),t=i-e){for(t<0?(a=o,t=-t,I=n.length):(a=n,e=i,I=o.length),t>(I=(i=Math.ceil(B/7))>I?i+1:I+1)&&(t=I,a.length=1),a.reverse();t--;)a.push(0);a.reverse()}for((I=o.length)-(t=n.length)<0&&(t=I,a=n,n=o,o=a),A=0;t;)A=(o[--t]=o[t]+n[t]+A)/ya|0,o[t]%=ya;for(A&&(o.unshift(A),++e),I=o.length;o[--I]==0;)o.pop();return g.d=o,g.e=dg(o,e),rA?iA(g,B,r):g},Y.precision=Y.sd=function(g){var A,a=this;if(g!==void 0&&g!==!!g&&g!==1&&g!==0)throw Error($a+g);return a.d?(A=Ei(a.d),g&&a.e+1>A&&(A=a.e+1)):A=NaN,A},Y.round=function(){var g=this,A=g.constructor;return iA(new A(g),g.e+1,A.rounding)},Y.sine=Y.sin=function(){var g,A,a=this,e=a.constructor;return a.isFinite()?a.isZero()?new e(a):(g=e.precision,A=e.rounding,e.precision=g+Math.max(a.e,a.sd())+7,e.rounding=1,a=function(t,i){var I,B=i.d.length;if(B<3)return i.isZero()?i:be(t,2,i,i);I=(I=1.4*Math.sqrt(B))>16?16:0|I,i=i.times(1/Ig(5,I)),i=be(t,2,i,i);for(var r,o=new t(5),n=new t(16),C=new t(20);I--;)r=i.times(i),i=i.times(o.plus(r.times(n.times(r).minus(C))));return i}(e,si(e,a)),e.precision=g,e.rounding=A,iA(La>2?a.neg():a,g,A,!0)):new e(NaN)},Y.squareRoot=Y.sqrt=function(){var g,A,a,e,t,i,I=this,B=I.d,r=I.e,o=I.s,n=I.constructor;if(o!==1||!B||!B[0])return new n(!o||o<0&&(!B||B[0])?NaN:B?I:1/0);for(rA=!1,(o=Math.sqrt(+I))==0||o==1/0?(((A=_A(B)).length+r)%2==0&&(A+="0"),o=Math.sqrt(A),r=Aa((r+1)/2)-(r<0||r%2),e=new n(A=o==1/0?"5e"+r:(A=o.toExponential()).slice(0,A.indexOf("e")+1)+r)):e=new n(o.toString()),a=(r=n.precision)+3;;)if(e=(i=e).plus(kA(I,i,a+2,1)).times(.5),_A(i.d).slice(0,a)===(A=_A(e.d)).slice(0,a)){if((A=A.slice(a-3,a+1))!="9999"&&(t||A!="4999")){+A&&(+A.slice(1)||A.charAt(0)!="5")||(iA(e,r+1,1),g=!e.times(e).eq(I));break}if(!t&&(iA(i,r+1,0),i.times(i).eq(I))){e=i;break}a+=4,t=1}return rA=!0,iA(e,r,n.rounding,g)},Y.tangent=Y.tan=function(){var g,A,a=this,e=a.constructor;return a.isFinite()?a.isZero()?new e(a):(g=e.precision,A=e.rounding,e.precision=g+10,e.rounding=1,(a=a.sin()).s=1,a=kA(a,new e(1).minus(a.times(a)).sqrt(),g+10,0),e.precision=g,e.rounding=A,iA(La==2||La==4?a.neg():a,g,A,!0)):new e(NaN)},Y.times=Y.mul=function(g){var A,a,e,t,i,I,B,r,o,n=this,C=n.constructor,Q=n.d,E=(g=new C(g)).d;if(g.s*=n.s,!(Q&&Q[0]&&E&&E[0]))return new C(!g.s||Q&&!Q[0]&&!E||E&&!E[0]&&!Q?NaN:Q&&E?0*g.s:g.s/0);for(a=Aa(n.e/7)+Aa(g.e/7),(r=Q.length)<(o=E.length)&&(i=Q,Q=E,E=i,I=r,r=o,o=I),i=[],e=I=r+o;e--;)i.push(0);for(e=o;--e>=0;){for(A=0,t=r+e;t>e;)B=i[t]+E[e]*Q[t-e-1]+A,i[t--]=B%ya|0,A=B/ya|0;i[t]=(i[t]+A)%ya|0}for(;!i[--I];)i.pop();return A?++a:i.shift(),g.d=i,g.e=dg(i,a),rA?iA(g,C.precision,C.rounding):g},Y.toBinary=function(g,A){return gt(this,2,g,A)},Y.toDecimalPlaces=Y.toDP=function(g,A){var a=this,e=a.constructor;return a=new e(a),g===void 0?a:(Ba(g,0,Xa),A===void 0?A=e.rounding:Ba(A,0,8),iA(a,g+a.e+1,A))},Y.toExponential=function(g,A){var a,e=this,t=e.constructor;return g===void 0?a=Fa(e,!0):(Ba(g,0,Xa),A===void 0?A=t.rounding:Ba(A,0,8),a=Fa(e=iA(new t(e),g+1,A),!0,g+1)),e.isNeg()&&!e.isZero()?"-"+a:a},Y.toFixed=function(g,A){var a,e,t=this,i=t.constructor;return g===void 0?a=Fa(t):(Ba(g,0,Xa),A===void 0?A=i.rounding:Ba(A,0,8),a=Fa(e=iA(new i(t),g+t.e+1,A),!1,g+e.e+1)),t.isNeg()&&!t.isZero()?"-"+a:a},Y.toFraction=function(g){var A,a,e,t,i,I,B,r,o,n,C,Q,E=this,s=E.d,c=E.constructor;if(!s)return new c(E);if(o=a=new c(1),e=r=new c(0),I=(i=(A=new c(e)).e=Ei(s)-E.e-1)%7,A.d[0]=zA(10,I<0?7+I:I),g==null)g=i>0?A:o;else{if(!(B=new c(g)).isInt()||B.lt(o))throw Error($a+B);g=B.gt(A)?i>0?A:o:B}for(rA=!1,B=new c(_A(s)),n=c.precision,c.precision=i=7*s.length*2;C=kA(B,A,0,1,1),(t=a.plus(C.times(e))).cmp(g)!=1;)a=e,e=t,t=o,o=r.plus(C.times(t)),r=t,t=A,A=B.minus(C.times(t)),B=t;return t=kA(g.minus(a),e,0,1,1),r=r.plus(t.times(o)),a=a.plus(t.times(e)),r.s=o.s=E.s,Q=kA(o,e,i,1).minus(E).abs().cmp(kA(r,a,i,1).minus(E).abs())<1?[o,e]:[r,a],c.precision=n,rA=!0,Q},Y.toHexadecimal=Y.toHex=function(g,A){return gt(this,16,g,A)},Y.toNearest=function(g,A){var a=this,e=a.constructor;if(a=new e(a),g==null){if(!a.d)return a;g=new e(1),A=e.rounding}else{if(g=new e(g),A===void 0?A=e.rounding:Ba(A,0,8),!a.d)return g.s?a:g;if(!g.d)return g.s&&(g.s=a.s),g}return g.d[0]?(rA=!1,a=kA(a,g,0,A,1).times(g),rA=!0,iA(a)):(g.s=a.s,a=g),a},Y.toNumber=function(){return+this},Y.toOctal=function(g,A){return gt(this,8,g,A)},Y.toPower=Y.pow=function(g){var A,a,e,t,i,I,B=this,r=B.constructor,o=+(g=new r(g));if(!(B.d&&g.d&&B.d[0]&&g.d[0]))return new r(zA(+B,o));if((B=new r(B)).eq(1))return B;if(e=r.precision,i=r.rounding,g.eq(1))return iA(B,e,i);if((A=Aa(g.e/7))>=g.d.length-1&&(a=o<0?-o:o)<=9007199254740991)return t=GI(r,B,a,e),g.s<0?new r(1).div(t):iA(t,e,i);if((I=B.s)<0){if(A<g.d.length-1)return new r(NaN);if(1&g.d[A]||(I=1),B.e==0&&B.d[0]==1&&B.d.length==1)return B.s=I,B}return(A=(a=zA(+B,o))!=0&&isFinite(a)?new r(a+"").e:Aa(o*(Math.log("0."+_A(B.d))/Math.LN10+B.e+1)))>r.maxE+1||A<r.minE-1?new r(A>0?I/0:0):(rA=!1,r.rounding=B.s=1,a=Math.min(12,(A+"").length),(t=et(g.times(za(B,e+a)),e)).d&&Ye((t=iA(t,e+5,1)).d,e,i)&&(A=e+10,+_A((t=iA(et(g.times(za(B,A+a)),A),A+5,1)).d).slice(e+1,e+15)+1==1e14&&(t=iA(t,e+1,0))),t.s=I,rA=!0,r.rounding=i,iA(t,e,i))},Y.toPrecision=function(g,A){var a,e=this,t=e.constructor;return g===void 0?a=Fa(e,e.e<=t.toExpNeg||e.e>=t.toExpPos):(Ba(g,1,Xa),A===void 0?A=t.rounding:Ba(A,0,8),a=Fa(e=iA(new t(e),g,A),g<=e.e||e.e<=t.toExpNeg,g)),e.isNeg()&&!e.isZero()?"-"+a:a},Y.toSignificantDigits=Y.toSD=function(g,A){var a=this.constructor;return g===void 0?(g=a.precision,A=a.rounding):(Ba(g,1,Xa),A===void 0?A=a.rounding:Ba(A,0,8)),iA(new a(this),g,A)},Y.toString=function(){var g=this,A=g.constructor,a=Fa(g,g.e<=A.toExpNeg||g.e>=A.toExpPos);return g.isNeg()&&!g.isZero()?"-"+a:a},Y.truncated=Y.trunc=function(){return iA(new this.constructor(this),this.e+1,1)},Y.valueOf=Y.toJSON=function(){var g=this,A=g.constructor,a=Fa(g,g.e<=A.toExpNeg||g.e>=A.toExpPos);return g.isNeg()?"-"+a:a};var kA=function(){function g(e,t,i){var I,B=0,r=e.length;for(e=e.slice();r--;)I=e[r]*t+B,e[r]=I%i|0,B=I/i|0;return B&&e.unshift(B),e}function A(e,t,i,I){var B,r;if(i!=I)r=i>I?1:-1;else for(B=r=0;B<i;B++)if(e[B]!=t[B]){r=e[B]>t[B]?1:-1;break}return r}function a(e,t,i,I){for(var B=0;i--;)e[i]-=B,B=e[i]<t[i]?1:0,e[i]=B*I+e[i]-t[i];for(;!e[0]&&e.length>1;)e.shift()}return function(e,t,i,I,B,r){var o,n,C,Q,E,s,c,d,b,h,l,w,k,M,N,m,G,L,x,W,X=e.constructor,eA=e.s==t.s?1:-1,AA=e.d,Z=t.d;if(!(AA&&AA[0]&&Z&&Z[0]))return new X(e.s&&t.s&&(AA?!Z||AA[0]!=Z[0]:Z)?AA&&AA[0]==0||!Z?0*eA:eA/0:NaN);for(r?(E=1,n=e.e-t.e):(r=ya,E=7,n=Aa(e.e/E)-Aa(t.e/E)),x=Z.length,G=AA.length,h=(b=new X(eA)).d=[],C=0;Z[C]==(AA[C]||0);C++);if(Z[C]>(AA[C]||0)&&n--,i==null?(M=i=X.precision,I=X.rounding):M=B?i+(e.e-t.e)+1:i,M<0)h.push(1),s=!0;else{if(M=M/E+2|0,C=0,x==1){for(Q=0,Z=Z[0],M++;(C<G||Q)&&M--;C++)N=Q*r+(AA[C]||0),h[C]=N/Z|0,Q=N%Z|0;s=Q||C<G}else{for((Q=r/(Z[0]+1)|0)>1&&(Z=g(Z,Q,r),AA=g(AA,Q,r),x=Z.length,G=AA.length),m=x,w=(l=AA.slice(0,x)).length;w<x;)l[w++]=0;(W=Z.slice()).unshift(0),L=Z[0],Z[1]>=r/2&&++L;do Q=0,(o=A(Z,l,x,w))<0?(k=l[0],x!=w&&(k=k*r+(l[1]||0)),(Q=k/L|0)>1?(Q>=r&&(Q=r-1),(o=A(c=g(Z,Q,r),l,d=c.length,w=l.length))==1&&(Q--,a(c,x<d?W:Z,d,r))):(Q==0&&(o=Q=1),c=Z.slice()),(d=c.length)<w&&c.unshift(0),a(l,c,w,r),o==-1&&(o=A(Z,l,x,w=l.length))<1&&(Q++,a(l,x<w?W:Z,w,r)),w=l.length):o===0&&(Q++,l=[0]),h[C++]=Q,o&&l[0]?l[w++]=AA[m]||0:(l=[AA[m]],w=1);while((m++<G||l[0]!==void 0)&&M--);s=l[0]!==void 0}h[0]||h.shift()}if(E==1)b.e=n,mI=s;else{for(C=1,Q=h[0];Q>=10;Q/=10)C++;b.e=C+n*E-1,iA(b,B?i+b.e+1:i,I,s)}return b}}();function iA(g,A,a,e){var t,i,I,B,r,o,n,C,Q,E=g.constructor;A:if(A!=null){if(!(C=g.d))return g;for(t=1,B=C[0];B>=10;B/=10)t++;if((i=A-t)<0)i+=7,I=A,r=(n=C[Q=0])/zA(10,t-I-1)%10|0;else if((Q=Math.ceil((i+1)/7))>=(B=C.length)){if(!e)break A;for(;B++<=Q;)C.push(0);n=r=0,t=1,I=(i%=7)-7+1}else{for(n=B=C[Q],t=1;B>=10;B/=10)t++;r=(I=(i%=7)-7+t)<0?0:n/zA(10,t-I-1)%10|0}if(e=e||A<0||C[Q+1]!==void 0||(I<0?n:n%zA(10,t-I-1)),o=a<4?(r||e)&&(a==0||a==(g.s<0?3:2)):r>5||r==5&&(a==4||e||a==6&&(i>0?I>0?n/zA(10,t-I):0:C[Q-1])%10&1||a==(g.s<0?8:7)),A<1||!C[0])return C.length=0,o?(A-=g.e+1,C[0]=zA(10,(7-A%7)%7),g.e=-A||0):C[0]=g.e=0,g;if(i==0?(C.length=Q,B=1,Q--):(C.length=Q+1,B=zA(10,7-i),C[Q]=I>0?(n/zA(10,t-I)%zA(10,I)|0)*B:0),o)for(;;){if(Q==0){for(i=1,I=C[0];I>=10;I/=10)i++;for(I=C[0]+=B,B=1;I>=10;I/=10)B++;i!=B&&(g.e++,C[0]==ya&&(C[0]=1));break}if(C[Q]+=B,C[Q]!=ya)break;C[Q--]=0,B=1}for(i=C.length;C[--i]===0;)C.pop()}return rA&&(g.e>E.maxE?(g.d=null,g.e=NaN):g.e<E.minE&&(g.e=0,g.d=[0])),g}function Fa(g,A,a){if(!g.isFinite())return UI(g);var e,t=g.e,i=_A(g.d),I=i.length;return A?(a&&(e=a-I)>0?i=i.charAt(0)+"."+i.slice(1)+Va(e):I>1&&(i=i.charAt(0)+"."+i.slice(1)),i=i+(g.e<0?"e":"e+")+g.e):t<0?(i="0."+Va(-t-1)+i,a&&(e=a-I)>0&&(i+=Va(e))):t>=I?(i+=Va(t+1-I),a&&(e=a-t-1)>0&&(i=i+"."+Va(e))):((e=t+1)<I&&(i=i.slice(0,e)+"."+i.slice(e)),a&&(e=a-I)>0&&(t+1===I&&(i+="."),i+=Va(e))),i}function dg(g,A){var a=g[0];for(A*=7;a>=10;a/=10)A++;return A}function pg(g,A,a){if(A>Br)throw rA=!0,a&&(g.precision=a),Error(MI);return iA(new g(wg),A,1,!0)}function ka(g,A,a){if(A>bt)throw Error(MI);return iA(new g(yg),A,a,!0)}function Ei(g){var A=g.length-1,a=7*A+1;if(A=g[A]){for(;A%10==0;A/=10)a--;for(A=g[0];A>=10;A/=10)a++}return a}function Va(g){for(var A="";g--;)A+="0";return A}function GI(g,A,a,e){var t,i=new g(1),I=Math.ceil(e/7+4);for(rA=!1;;){if(a%2&&ci((i=i.times(A)).d,I)&&(t=!0),(a=Aa(a/2))===0){a=i.d.length-1,t&&i.d[a]===0&&++i.d[a];break}ci((A=A.times(A)).d,I)}return rA=!0,i}function Qi(g){return 1&g.d[g.d.length-1]}function SI(g,A,a){for(var e,t,i=new g(A[0]),I=0;++I<A.length;){if(!(t=new g(A[I])).s){i=t;break}((e=i.cmp(t))===a||e===0&&i.s===a)&&(i=t)}return i}function et(g,A){var a,e,t,i,I,B,r,o=0,n=0,C=0,Q=g.constructor,E=Q.rounding,s=Q.precision;if(!g.d||!g.d[0]||g.e>17)return new Q(g.d?g.d[0]?g.s<0?0:1/0:1:g.s?g.s<0?0:g:NaN);for(A==null?(rA=!1,r=s):r=A,B=new Q(.03125);g.e>-2;)g=g.times(B),C+=5;for(r+=e=Math.log(zA(2,C))/Math.LN10*2+5|0,a=i=I=new Q(1),Q.precision=r;;){if(i=iA(i.times(g),r,1),a=a.times(++n),_A((B=I.plus(kA(i,a,r,1))).d).slice(0,r)===_A(I.d).slice(0,r)){for(t=C;t--;)I=iA(I.times(I),r,1);if(A!=null)return Q.precision=s,I;if(!(o<3&&Ye(I.d,r-e,E,o)))return iA(I,Q.precision=s,E,rA=!0);Q.precision=r+=10,a=i=B=new Q(1),n=0,o++}I=B}}function za(g,A){var a,e,t,i,I,B,r,o,n,C,Q,E=1,s=g,c=s.d,d=s.constructor,b=d.rounding,h=d.precision;if(s.s<0||!c||!c[0]||!s.e&&c[0]==1&&c.length==1)return new d(c&&!c[0]?-1/0:s.s!=1?NaN:c?0:s);if(A==null?(rA=!1,n=h):n=A,d.precision=n+=10,e=(a=_A(c)).charAt(0),!(Math.abs(i=s.e)<15e14))return o=pg(d,n+2,h).times(i+""),s=za(new d(e+"."+a.slice(1)),n-10).plus(o),d.precision=h,A==null?iA(s,h,b,rA=!0):s;for(;e<7&&e!=1||e==1&&a.charAt(1)>3;)e=(a=_A((s=s.times(g)).d)).charAt(0),E++;for(i=s.e,e>1?(s=new d("0."+a),i++):s=new d(e+"."+a.slice(1)),C=s,r=I=s=kA(s.minus(1),s.plus(1),n,1),Q=iA(s.times(s),n,1),t=3;;){if(I=iA(I.times(Q),n,1),_A((o=r.plus(kA(I,new d(t),n,1))).d).slice(0,n)===_A(r.d).slice(0,n)){if(r=r.times(2),i!==0&&(r=r.plus(pg(d,n+2,h).times(i+""))),r=kA(r,new d(E),n,1),A!=null)return d.precision=h,r;if(!Ye(r.d,n-10,b,B))return iA(r,d.precision=h,b,rA=!0);d.precision=n+=10,o=I=s=kA(C.minus(1),C.plus(1),n,1),Q=iA(s.times(s),n,1),t=B=1}r=o,t+=2}}function UI(g){return String(g.s*g.s/0)}function bg(g,A){var a,e,t;for((a=A.indexOf("."))>-1&&(A=A.replace(".","")),(e=A.search(/e/i))>0?(a<0&&(a=e),a+=+A.slice(e+1),A=A.substring(0,e)):a<0&&(a=A.length),e=0;A.charCodeAt(e)===48;e++);for(t=A.length;A.charCodeAt(t-1)===48;--t);if(A=A.slice(e,t)){if(t-=e,g.e=a=a-e-1,g.d=[],e=(a+1)%7,a<0&&(e+=7),e<t){for(e&&g.d.push(+A.slice(0,e)),t-=7;e<t;)g.d.push(+A.slice(e,e+=7));e=7-(A=A.slice(e)).length}else e-=t;for(;e--;)A+="0";g.d.push(+A),rA&&(g.e>g.constructor.maxE?(g.d=null,g.e=NaN):g.e<g.constructor.minE&&(g.e=0,g.d=[0]))}else g.e=0,g.d=[0];return g}function nr(g,A){var a,e,t,i,I,B,r,o,n;if(A.indexOf("_")>-1){if(A=A.replace(/(\d)_(?=\d)/g,"$1"),NI.test(A))return bg(g,A)}else if(A==="Infinity"||A==="NaN")return+A||(g.s=NaN),g.e=NaN,g.d=null,g;if(ir.test(A))a=16,A=A.toLowerCase();else if(tr.test(A))a=2;else{if(!Ir.test(A))throw Error($a+A);a=8}for((i=A.search(/p/i))>0?(r=+A.slice(i+1),A=A.substring(2,i)):A=A.slice(2),I=(i=A.indexOf("."))>=0,e=g.constructor,I&&(i=(B=(A=A.replace(".","")).length)-i,t=GI(e,new e(a),i,2*i)),i=n=(o=hg(A,a,ya)).length-1;o[i]===0;--i)o.pop();return i<0?new e(0*g.s):(g.e=dg(o,n),g.d=o,rA=!1,I&&(g=kA(g,t,4*B)),r&&(g=g.times(Math.abs(r)<54?zA(2,r):ke.pow(2,r))),rA=!0,g)}function be(g,A,a,e,t){var i,I,B,r,o=g.precision,n=Math.ceil(o/7);for(rA=!1,r=a.times(a),B=new g(e);;){if(I=kA(B.times(r),new g(A++*A++),o,1),B=t?e.plus(I):e.minus(I),e=kA(I.times(r),new g(A++*A++),o,1),(I=B.plus(e)).d[n]!==void 0){for(i=n;I.d[i]===B.d[i]&&i--;);if(i==-1)break}i=B,B=e,e=I,I=i}return rA=!0,I.d.length=n+1,I}function Ig(g,A){for(var a=g;--A;)a*=g;return a}function si(g,A){var a,e=A.s<0,t=ka(g,g.precision,1),i=t.times(.5);if((A=A.abs()).lte(i))return La=e?4:1,A;if((a=A.divToInt(t)).isZero())La=e?3:2;else{if((A=A.minus(a.times(t))).lte(i))return La=Qi(a)?e?2:3:e?4:1,A;La=Qi(a)?e?1:4:e?3:2}return A.minus(t).abs()}function gt(g,A,a,e){var t,i,I,B,r,o,n,C,Q,E=g.constructor,s=a!==void 0;if(s?(Ba(a,1,Xa),e===void 0?e=E.rounding:Ba(e,0,8)):(a=E.precision,e=E.rounding),g.isFinite()){for(s?(t=2,A==16?a=4*a-3:A==8&&(a=3*a-2)):t=A,(I=(n=Fa(g)).indexOf("."))>=0&&(n=n.replace(".",""),(Q=new E(1)).e=n.length-I,Q.d=hg(Fa(Q),10,t),Q.e=Q.d.length),i=r=(C=hg(n,10,t)).length;C[--r]==0;)C.pop();if(C[0]){if(I<0?i--:((g=new E(g)).d=C,g.e=i,C=(g=kA(g,Q,a,e,0,t)).d,i=g.e,o=mI),I=C[a],B=t/2,o=o||C[a+1]!==void 0,o=e<4?(I!==void 0||o)&&(e===0||e===(g.s<0?3:2)):I>B||I===B&&(e===4||o||e===6&&1&C[a-1]||e===(g.s<0?8:7)),C.length=a,o)for(;++C[--a]>t-1;)C[a]=0,a||(++i,C.unshift(1));for(r=C.length;!C[r-1];--r);for(I=0,n="";I<r;I++)n+=ht.charAt(C[I]);if(s){if(r>1)if(A==16||A==8){for(I=A==16?4:3,--r;r%I;r++)n+="0";for(r=(C=hg(n,t,A)).length;!C[r-1];--r);for(I=1,n="1.";I<r;I++)n+=ht.charAt(C[I])}else n=n.charAt(0)+"."+n.slice(1);n=n+(i<0?"p":"p+")+i}else if(i<0){for(;++i;)n="0"+n;n="0."+n}else if(++i>r)for(i-=r;i--;)n+="0";else i<r&&(n=n.slice(0,i)+"."+n.slice(i))}else n=s?"0p+0":"0";n=(A==16?"0x":A==2?"0b":A==8?"0o":"")+n}else n=UI(g);return g.s<0?"-"+n:n}function ci(g,A){if(g.length>A)return g.length=A,!0}function rr(g){return new this(g).abs()}function or(g){return new this(g).acos()}function Cr(g){return new this(g).acosh()}function Er(g,A){return new this(g).plus(A)}function Qr(g){return new this(g).asin()}function sr(g){return new this(g).asinh()}function cr(g){return new this(g).atan()}function hr(g){return new this(g).atanh()}function dr(g,A){g=new this(g),A=new this(A);var a,e=this.precision,t=this.rounding,i=e+4;return g.s&&A.s?g.d||A.d?!A.d||g.isZero()?(a=A.s<0?ka(this,e,t):new this(0)).s=g.s:!g.d||A.isZero()?(a=ka(this,i,1).times(.5)).s=g.s:A.s<0?(this.precision=i,this.rounding=1,a=this.atan(kA(g,A,i,1)),A=ka(this,i,1),this.precision=e,this.rounding=t,a=g.s<0?a.minus(A):a.plus(A)):a=this.atan(kA(g,A,i,1)):(a=ka(this,i,1).times(A.s>0?.25:.75)).s=g.s:a=new this(NaN),a}function br(g){return new this(g).cbrt()}function ur(g){return iA(g=new this(g),g.e+1,2)}function lr(g,A,a){return new this(g).clamp(A,a)}function fr(g){if(!g||typeof g!="object")throw Error(kg+"Object expected");var A,a,e,t=g.defaults===!0,i=["precision",1,Xa,"rounding",0,8,"toExpNeg",-we,0,"toExpPos",0,we,"maxE",0,we,"minE",-we,0,"modulo",0,9];for(A=0;A<i.length;A+=3)if(a=i[A],t&&(this[a]=dt[a]),(e=g[a])!==void 0){if(!(Aa(e)===e&&e>=i[A+1]&&e<=i[A+2]))throw Error($a+a+": "+e);this[a]=e}if(a="crypto",t&&(this[a]=dt[a]),(e=g[a])!==void 0){if(e!==!0&&e!==!1&&e!==0&&e!==1)throw Error($a+a+": "+e);if(e){if(typeof crypto>"u"||!crypto||!crypto.getRandomValues&&!crypto.randomBytes)throw Error(kI);this[a]=!0}else this[a]=!1}return this}function Dr(g){return new this(g).cos()}function wr(g){return new this(g).cosh()}function yr(g,A){return new this(g).div(A)}function pr(g){return new this(g).exp()}function Fr(g){return iA(g=new this(g),g.e+1,3)}function mr(){var g,A,a=new this(0);for(rA=!1,g=0;g<arguments.length;)if((A=new this(arguments[g++])).d)a.d&&(a=a.plus(A.times(A)));else{if(A.s)return rA=!0,new this(1/0);a=A}return rA=!0,a.sqrt()}function hi(g){return g instanceof ke||g&&g.toStringTag===RI||!1}function Mr(g){return new this(g).ln()}function kr(g,A){return new this(g).log(A)}function Rr(g){return new this(g).log(2)}function Nr(g){return new this(g).log(10)}function Gr(){return SI(this,arguments,-1)}function Sr(){return SI(this,arguments,1)}function Ur(g,A){return new this(g).mod(A)}function xr(g,A){return new this(g).mul(A)}function Lr(g,A){return new this(g).pow(A)}function Jr(g){var A,a,e,t,i=0,I=new this(1),B=[];if(g===void 0?g=this.precision:Ba(g,1,Xa),e=Math.ceil(g/7),this.crypto)if(crypto.getRandomValues)for(A=crypto.getRandomValues(new Uint32Array(e));i<e;)(t=A[i])>=429e7?A[i]=crypto.getRandomValues(new Uint32Array(1))[0]:B[i++]=t%1e7;else{if(!crypto.randomBytes)throw Error(kI);for(A=crypto.randomBytes(e*=4);i<e;)(t=A[i]+(A[i+1]<<8)+(A[i+2]<<16)+((127&A[i+3])<<24))>=214e7?crypto.randomBytes(4).copy(A,i):(B.push(t%1e7),i+=4);i=e/4}else for(;i<e;)B[i++]=1e7*Math.random()|0;for(g%=7,(e=B[--i])&&g&&(t=zA(10,7-g),B[i]=(e/t|0)*t);B[i]===0;i--)B.pop();if(i<0)a=0,B=[0];else{for(a=-1;B[0]===0;a-=7)B.shift();for(e=1,t=B[0];t>=10;t/=10)e++;e<7&&(a-=7-e)}return I.e=a,I.d=B,I}function jr(g){return iA(g=new this(g),g.e+1,this.rounding)}function vr(g){return(g=new this(g)).d?g.d[0]?g.s:0*g.s:g.s||NaN}function Hr(g){return new this(g).sin()}function Yr(g){return new this(g).sinh()}function Kr(g){return new this(g).sqrt()}function qr(g,A){return new this(g).sub(A)}function Tr(){var g=0,A=arguments,a=new this(A[g]);for(rA=!1;a.s&&++g<A.length;)a=a.plus(A[g]);return rA=!0,iA(a,this.precision,this.rounding)}function Or(g){return new this(g).tan()}function Pr(g){return new this(g).tanh()}function zr(g){return iA(g=new this(g),g.e+1,1)}Y[Symbol.for("nodejs.util.inspect.custom")]=Y.toString,Y[Symbol.toStringTag]="Decimal";var ke=Y.constructor=function g(A){var a,e,t;function i(I){var B,r,o,n=this;if(!(n instanceof i))return new i(I);if(n.constructor=i,hi(I))return n.s=I.s,void(rA?!I.d||I.e>i.maxE?(n.e=NaN,n.d=null):I.e<i.minE?(n.e=0,n.d=[0]):(n.e=I.e,n.d=I.d.slice()):(n.e=I.e,n.d=I.d?I.d.slice():I.d));if((o=typeof I)=="number"){if(I===0)return n.s=1/I<0?-1:1,n.e=0,void(n.d=[0]);if(I<0?(I=-I,n.s=-1):n.s=1,I===~~I&&I<1e7){for(B=0,r=I;r>=10;r/=10)B++;return void(rA?B>i.maxE?(n.e=NaN,n.d=null):B<i.minE?(n.e=0,n.d=[0]):(n.e=B,n.d=[I]):(n.e=B,n.d=[I]))}return 0*I!=0?(I||(n.s=NaN),n.e=NaN,void(n.d=null)):bg(n,I.toString())}if(o==="string")return(r=I.charCodeAt(0))===45?(I=I.slice(1),n.s=-1):(r===43&&(I=I.slice(1)),n.s=1),NI.test(I)?bg(n,I):nr(n,I);if(o==="bigint")return I<0?(I=-I,n.s=-1):n.s=1,bg(n,I.toString());throw Error($a+I)}if(i.prototype=Y,i.ROUND_UP=0,i.ROUND_DOWN=1,i.ROUND_CEIL=2,i.ROUND_FLOOR=3,i.ROUND_HALF_UP=4,i.ROUND_HALF_DOWN=5,i.ROUND_HALF_EVEN=6,i.ROUND_HALF_CEIL=7,i.ROUND_HALF_FLOOR=8,i.EUCLID=9,i.config=i.set=fr,i.clone=g,i.isDecimal=hi,i.abs=rr,i.acos=or,i.acosh=Cr,i.add=Er,i.asin=Qr,i.asinh=sr,i.atan=cr,i.atanh=hr,i.atan2=dr,i.cbrt=br,i.ceil=ur,i.clamp=lr,i.cos=Dr,i.cosh=wr,i.div=yr,i.exp=pr,i.floor=Fr,i.hypot=mr,i.ln=Mr,i.log=kr,i.log10=Nr,i.log2=Rr,i.max=Gr,i.min=Sr,i.mod=Ur,i.mul=xr,i.pow=Lr,i.random=Jr,i.round=jr,i.sign=vr,i.sin=Hr,i.sinh=Yr,i.sqrt=Kr,i.sub=qr,i.sum=Tr,i.tan=Or,i.tanh=Pr,i.trunc=zr,A===void 0&&(A={}),A&&A.defaults!==!0)for(t=["precision","rounding","toExpNeg","toExpPos","maxE","minE","modulo","crypto"],a=0;a<t.length;)A.hasOwnProperty(e=t[a++])||(A[e]=this[e]);return i.config(A),i}(dt);wg=new ke(wg),yg=new ke(yg);var Wr=lA("BigNumber",["?on","config"],g=>{var{on:A,config:a}=g,e=ke.clone({precision:a.precision,modulo:ke.EUCLID});return e.prototype=Object.create(e.prototype),e.prototype.type="BigNumber",e.prototype.isBigNumber=!0,e.prototype.toJSON=function(){return{mathjs:"BigNumber",value:this.toString()}},e.fromJSON=function(t){return new e(t.value)},A&&A("config",function(t,i){t.precision!==i.precision&&e.config({precision:t.precision})}),e},{isClass:!0});const $A=Math.cosh||function(g){return Math.abs(g)<1e-9?1-g:.5*(Math.exp(g)+Math.exp(-g))},da=Math.sinh||function(g){return Math.abs(g)<1e-9?g:.5*(Math.exp(g)-Math.exp(-g))},tt=function(g,A){return(g=Math.abs(g))<(A=Math.abs(A))&&([g,A]=[A,g]),g<1e8?Math.sqrt(g*g+A*A):(A/=g,g*Math.sqrt(1+A*A))},ue=function(){throw SyntaxError("Invalid Param")};function it(g,A){const a=Math.abs(g),e=Math.abs(A);return g===0?Math.log(e):A===0?Math.log(a):a<3e3&&e<3e3?.5*Math.log(g*g+A*A):(g*=.5,A*=.5,.5*Math.log(g*g+A*A)+Math.LN2)}const Vr={re:0,im:0},Ie=function(g,A){const a=Vr;if(g==null)a.re=a.im=0;else if(A!==void 0)a.re=g,a.im=A;else switch(typeof g){case"object":if("im"in g&&"re"in g)a.re=g.re,a.im=g.im;else if("abs"in g&&"arg"in g){if(!isFinite(g.abs)&&isFinite(g.arg))return J.INFINITY;a.re=g.abs*Math.cos(g.arg),a.im=g.abs*Math.sin(g.arg)}else if("r"in g&&"phi"in g){if(!isFinite(g.r)&&isFinite(g.phi))return J.INFINITY;a.re=g.r*Math.cos(g.phi),a.im=g.r*Math.sin(g.phi)}else g.length===2?(a.re=g[0],a.im=g[1]):ue();break;case"string":a.im=a.re=0;const e=g.replace(/_/g,"").match(/\d+\.?\d*e[+-]?\d+|\d+\.?\d*|\.\d+|./g);let t=1,i=0;e===null&&ue();for(let I=0;I<e.length;I++){const B=e[I];B===" "||B===" "||B===`
|
|
34
|
+
`||(B==="+"?t++:B==="-"?i++:B==="i"||B==="I"?(t+i===0&&ue(),e[I+1]===" "||isNaN(e[I+1])?a.im+=parseFloat((i%2?"-":"")+"1"):(a.im+=parseFloat((i%2?"-":"")+e[I+1]),I++),t=i=0):((t+i===0||isNaN(B))&&ue(),e[I+1]==="i"||e[I+1]==="I"?(a.im+=parseFloat((i%2?"-":"")+B),I++):a.re+=parseFloat((i%2?"-":"")+B),t=i=0))}t+i>0&&ue();break;case"number":a.im=0,a.re=g;break;default:ue()}return isNaN(a.re)||isNaN(a.im),a};function J(g,A){if(!(this instanceof J))return new J(g,A);const a=Ie(g,A);this.re=a.re,this.im=a.im}J.prototype={re:0,im:0,sign:function(){const g=tt(this.re,this.im);return new J(this.re/g,this.im/g)},add:function(g,A){const a=Ie(g,A),e=this.isInfinite(),t=!(isFinite(a.re)&&isFinite(a.im));return e||t?e&&t?J.NAN:J.INFINITY:new J(this.re+a.re,this.im+a.im)},sub:function(g,A){const a=Ie(g,A),e=this.isInfinite(),t=!(isFinite(a.re)&&isFinite(a.im));return e||t?e&&t?J.NAN:J.INFINITY:new J(this.re-a.re,this.im-a.im)},mul:function(g,A){const a=Ie(g,A),e=this.isInfinite(),t=!(isFinite(a.re)&&isFinite(a.im)),i=this.re===0&&this.im===0,I=a.re===0&&a.im===0;return e&&I||t&&i?J.NAN:e||t?J.INFINITY:a.im===0&&this.im===0?new J(this.re*a.re,0):new J(this.re*a.re-this.im*a.im,this.re*a.im+this.im*a.re)},div:function(g,A){const a=Ie(g,A),e=this.isInfinite(),t=!(isFinite(a.re)&&isFinite(a.im)),i=this.re===0&&this.im===0,I=a.re===0&&a.im===0;if(i&&I||e&&t)return J.NAN;if(I||e)return J.INFINITY;if(i||t)return J.ZERO;if(a.im===0)return new J(this.re/a.re,this.im/a.re);if(Math.abs(a.re)<Math.abs(a.im)){const B=a.re/a.im,r=a.re*B+a.im;return new J((this.re*B+this.im)/r,(this.im*B-this.re)/r)}{const B=a.im/a.re,r=a.im*B+a.re;return new J((this.re+this.im*B)/r,(this.im-this.re*B)/r)}},pow:function(g,A){const a=Ie(g,A),e=this.re===0&&this.im===0;if(a.re===0&&a.im===0)return J.ONE;if(a.im===0){if(this.im===0&&this.re>0)return new J(Math.pow(this.re,a.re),0);if(this.re===0)switch((a.re%4+4)%4){case 0:return new J(Math.pow(this.im,a.re),0);case 1:return new J(0,Math.pow(this.im,a.re));case 2:return new J(-Math.pow(this.im,a.re),0);case 3:return new J(0,-Math.pow(this.im,a.re))}}if(e&&a.re>0)return J.ZERO;const t=Math.atan2(this.im,this.re),i=it(this.re,this.im);let I=Math.exp(a.re*i-a.im*t),B=a.im*i+a.re*t;return new J(I*Math.cos(B),I*Math.sin(B))},sqrt:function(){const g=this.re,A=this.im;if(A===0)return g>=0?new J(Math.sqrt(g),0):new J(0,Math.sqrt(-g));const a=tt(g,A);let e=Math.sqrt(.5*(a+Math.abs(g))),t=Math.abs(A)/(2*e);return g>=0?new J(e,A<0?-t:t):new J(t,A<0?-e:e)},exp:function(){const g=Math.exp(this.re);return this.im===0?new J(g,0):new J(g*Math.cos(this.im),g*Math.sin(this.im))},expm1:function(){const g=this.re,A=this.im;return new J(Math.expm1(g)*Math.cos(A)+function(a){const e=Math.PI/4;if(-e>a||a>e)return Math.cos(a)-1;const t=a*a;return t*(t*(t*(t*(t*(t*(t*(t/20922789888e3-1/87178291200)+1/479001600)-1/3628800)+1/40320)-1/720)+1/24)-.5)}(A),Math.exp(g)*Math.sin(A))},log:function(){const g=this.re,A=this.im;return A===0&&g>0?new J(Math.log(g),0):new J(it(g,A),Math.atan2(A,g))},abs:function(){return tt(this.re,this.im)},arg:function(){return Math.atan2(this.im,this.re)},sin:function(){const g=this.re,A=this.im;return new J(Math.sin(g)*$A(A),Math.cos(g)*da(A))},cos:function(){const g=this.re,A=this.im;return new J(Math.cos(g)*$A(A),-Math.sin(g)*da(A))},tan:function(){const g=2*this.re,A=2*this.im,a=Math.cos(g)+$A(A);return new J(Math.sin(g)/a,da(A)/a)},cot:function(){const g=2*this.re,A=2*this.im,a=Math.cos(g)-$A(A);return new J(-Math.sin(g)/a,da(A)/a)},sec:function(){const g=this.re,A=this.im,a=.5*$A(2*A)+.5*Math.cos(2*g);return new J(Math.cos(g)*$A(A)/a,Math.sin(g)*da(A)/a)},csc:function(){const g=this.re,A=this.im,a=.5*$A(2*A)-.5*Math.cos(2*g);return new J(Math.sin(g)*$A(A)/a,-Math.cos(g)*da(A)/a)},asin:function(){const g=this.re,A=this.im,a=new J(A*A-g*g+1,-2*g*A).sqrt(),e=new J(a.re-A,a.im+g).log();return new J(e.im,-e.re)},acos:function(){const g=this.re,A=this.im,a=new J(A*A-g*g+1,-2*g*A).sqrt(),e=new J(a.re-A,a.im+g).log();return new J(Math.PI/2-e.im,e.re)},atan:function(){const g=this.re,A=this.im;if(g===0){if(A===1)return new J(0,1/0);if(A===-1)return new J(0,-1/0)}const a=g*g+(1-A)*(1-A),e=new J((1-A*A-g*g)/a,-2*g/a).log();return new J(-.5*e.im,.5*e.re)},acot:function(){const g=this.re,A=this.im;if(A===0)return new J(Math.atan2(1,g),0);const a=g*g+A*A;return a!==0?new J(g/a,-A/a).atan():new J(g!==0?g/0:0,A!==0?-A/0:0).atan()},asec:function(){const g=this.re,A=this.im;if(g===0&&A===0)return new J(0,1/0);const a=g*g+A*A;return a!==0?new J(g/a,-A/a).acos():new J(g!==0?g/0:0,A!==0?-A/0:0).acos()},acsc:function(){const g=this.re,A=this.im;if(g===0&&A===0)return new J(Math.PI/2,1/0);const a=g*g+A*A;return a!==0?new J(g/a,-A/a).asin():new J(g!==0?g/0:0,A!==0?-A/0:0).asin()},sinh:function(){const g=this.re,A=this.im;return new J(da(g)*Math.cos(A),$A(g)*Math.sin(A))},cosh:function(){const g=this.re,A=this.im;return new J($A(g)*Math.cos(A),da(g)*Math.sin(A))},tanh:function(){const g=2*this.re,A=2*this.im,a=$A(g)+Math.cos(A);return new J(da(g)/a,Math.sin(A)/a)},coth:function(){const g=2*this.re,A=2*this.im,a=$A(g)-Math.cos(A);return new J(da(g)/a,-Math.sin(A)/a)},csch:function(){const g=this.re,A=this.im,a=Math.cos(2*A)-$A(2*g);return new J(-2*da(g)*Math.cos(A)/a,2*$A(g)*Math.sin(A)/a)},sech:function(){const g=this.re,A=this.im,a=Math.cos(2*A)+$A(2*g);return new J(2*$A(g)*Math.cos(A)/a,-2*da(g)*Math.sin(A)/a)},asinh:function(){let g=this.im;this.im=-this.re,this.re=g;const A=this.asin();return this.re=-this.im,this.im=g,g=A.re,A.re=-A.im,A.im=g,A},acosh:function(){const g=this.acos();if(g.im<=0){const A=g.re;g.re=-g.im,g.im=A}else{const A=g.im;g.im=-g.re,g.re=A}return g},atanh:function(){const g=this.re,A=this.im,a=g>1&&A===0,e=1-g,t=1+g,i=e*e+A*A,I=i!==0?new J((t*e-A*A)/i,(A*e+t*A)/i):new J(g!==-1?g/0:0,A!==0?A/0:0),B=I.re;return I.re=it(I.re,I.im)/2,I.im=Math.atan2(I.im,B)/2,a&&(I.im=-I.im),I},acoth:function(){const g=this.re,A=this.im;if(g===0&&A===0)return new J(0,Math.PI/2);const a=g*g+A*A;return a!==0?new J(g/a,-A/a).atanh():new J(g!==0?g/0:0,A!==0?-A/0:0).atanh()},acsch:function(){const g=this.re,A=this.im;if(A===0)return new J(g!==0?Math.log(g+Math.sqrt(g*g+1)):1/0,0);const a=g*g+A*A;return a!==0?new J(g/a,-A/a).asinh():new J(g!==0?g/0:0,A!==0?-A/0:0).asinh()},asech:function(){const g=this.re,A=this.im;if(this.isZero())return J.INFINITY;const a=g*g+A*A;return a!==0?new J(g/a,-A/a).acosh():new J(g!==0?g/0:0,A!==0?-A/0:0).acosh()},inverse:function(){if(this.isZero())return J.INFINITY;if(this.isInfinite())return J.ZERO;const g=this.re,A=this.im,a=g*g+A*A;return new J(g/a,-A/a)},conjugate:function(){return new J(this.re,-this.im)},neg:function(){return new J(-this.re,-this.im)},ceil:function(g){return g=Math.pow(10,g||0),new J(Math.ceil(this.re*g)/g,Math.ceil(this.im*g)/g)},floor:function(g){return g=Math.pow(10,g||0),new J(Math.floor(this.re*g)/g,Math.floor(this.im*g)/g)},round:function(g){return g=Math.pow(10,g||0),new J(Math.round(this.re*g)/g,Math.round(this.im*g)/g)},equals:function(g,A){const a=Ie(g,A);return Math.abs(a.re-this.re)<=J.EPSILON&&Math.abs(a.im-this.im)<=J.EPSILON},clone:function(){return new J(this.re,this.im)},toString:function(){let g=this.re,A=this.im,a="";return this.isNaN()?"NaN":this.isInfinite()?"Infinity":(Math.abs(g)<J.EPSILON&&(g=0),Math.abs(A)<J.EPSILON&&(A=0),A===0?a+g:(g!==0?(a+=g,a+=" ",A<0?(A=-A,a+="-"):a+="+",a+=" "):A<0&&(A=-A,a+="-"),A!==1&&(a+=A),a+"i"))},toVector:function(){return[this.re,this.im]},valueOf:function(){return this.im===0?this.re:null},isNaN:function(){return isNaN(this.re)||isNaN(this.im)},isZero:function(){return this.im===0&&this.re===0},isFinite:function(){return isFinite(this.re)&&isFinite(this.im)},isInfinite:function(){return!this.isFinite()}},J.ZERO=new J(0,0),J.ONE=new J(1,0),J.I=new J(0,1),J.PI=new J(Math.PI,0),J.E=new J(Math.E,0),J.INFINITY=new J(1/0,1/0),J.NAN=new J(NaN,NaN),J.EPSILON=1e-15;var Xr=lA("Complex",[],()=>(Object.defineProperty(J,"name",{value:"Complex"}),J.prototype.constructor=J,J.prototype.type="Complex",J.prototype.isComplex=!0,J.prototype.toJSON=function(){return{mathjs:"Complex",re:this.re,im:this.im}},J.prototype.toPolar=function(){return{r:this.abs(),phi:this.arg()}},J.prototype.format=function(g){var A=this.im,a=this.re,e=ct(this.re,g),t=ct(this.im,g),i=RA(g)?g:g?g.precision:null;if(i!==null){var I=Math.pow(10,-i);Math.abs(a/A)<I&&(a=0),Math.abs(A/a)<I&&(A=0)}return A===0?e:a===0?A===1?"i":A===-1?"-i":t+"i":A<0?A===-1?e+" - i":e+" - "+t.substring(1)+"i":A===1?e+" + i":e+" + "+t+"i"},J.fromPolar=function(g){switch(arguments.length){case 1:var A=arguments[0];if(typeof A=="object")return J(A);throw new TypeError("Input has to be an object with r and phi keys.");case 2:var a=arguments[0],e=arguments[1];if(RA(a)){if(yI(e)&&e.hasBase("ANGLE")&&(e=e.toNumber("rad")),RA(e))return new J({r:a,phi:e});throw new TypeError("Phi is not a number nor an angle unit.")}throw new TypeError("Radius r is not a number.");default:throw new SyntaxError("Wrong number of arguments in function fromPolar")}},J.prototype.valueOf=J.prototype.toString,J.fromJSON=function(g){return new J(g)},J.compare=function(g,A){return g.re>A.re?1:g.re<A.re?-1:g.im>A.im?1:g.im<A.im?-1:0},J),{isClass:!0});typeof BigInt>"u"&&(BigInt=function(g){if(isNaN(g))throw new Error("");return g});const IA=BigInt(0),EA=BigInt(1),Ke=BigInt(2),ut=BigInt(5),na=BigInt(10),_={s:EA,n:IA,d:EA};function Ga(g,A){try{g=BigInt(g)}catch{throw Wa()}return g*A}function Da(g){return typeof g=="bigint"?g:Math.floor(g)}function SA(g,A){if(A===IA)throw Rt();const a=Object.create(ua.prototype);a.s=g<IA?-EA:EA;const e=Be(g=g<IA?-g:g,A);return a.n=g/e,a.d=A/e,a}function le(g){const A={};let a=g,e=Ke,t=ut-EA;for(;t<=a;){for(;a%e===IA;)a/=e,A[e]=(A[e]||IA)+EA;t+=EA+Ke*e++}return a!==g?a>1&&(A[a]=(A[a]||IA)+EA):A[g]=(A[g]||IA)+EA,A}const XA=function(g,A){let a=IA,e=EA,t=EA;if(g!=null)if(A!==void 0){if(typeof g=="bigint")a=g;else{if(isNaN(g))throw Wa();if(g%1!=0)throw di();a=BigInt(g)}if(typeof A=="bigint")e=A;else{if(isNaN(A))throw Wa();if(A%1!=0)throw di();e=BigInt(A)}t=a*e}else if(typeof g=="object"){if("d"in g&&"n"in g)a=BigInt(g.n),e=BigInt(g.d),"s"in g&&(a*=BigInt(g.s));else if(0 in g)a=BigInt(g[0]),1 in g&&(e=BigInt(g[1]));else{if(typeof g!="bigint")throw Wa();a=g}t=a*e}else if(typeof g=="number"){if(isNaN(g))throw Wa();if(g<0&&(t=-EA,g=-g),g%1==0)a=BigInt(g);else{let i=1,I=0,B=1,r=1,o=1,n=1e7;for(g>=1&&(i=10**Math.floor(1+Math.log10(g)),g/=i);B<=n&&o<=n;){let C=(I+r)/(B+o);if(g===C){B+o<=n?(a=I+r,e=B+o):o>B?(a=r,e=o):(a=I,e=B);break}g>C?(I+=r,B+=o):(r+=I,o+=B),B>n?(a=r,e=o):(a=I,e=B)}a=BigInt(a)*BigInt(i),e=BigInt(e)}}else if(typeof g=="string"){let i=0,I=IA,B=IA,r=IA,o=EA,n=EA,C=g.replace(/_/g,"").match(/\d+|./g);if(C===null||(C[i]==="-"?(t=-EA,i++):C[i]==="+"&&i++,C.length===i+1?B=Ga(C[i++],t):C[i+1]==="."||C[i]==="."?(C[i]!=="."&&(I=Ga(C[i++],t)),i++,(i+1===C.length||C[i+1]==="("&&C[i+3]===")"||C[i+1]==="'"&&C[i+3]==="'")&&(B=Ga(C[i],t),o=na**BigInt(C[i].length),i++),(C[i]==="("&&C[i+2]===")"||C[i]==="'"&&C[i+2]==="'")&&(r=Ga(C[i+1],t),n=na**BigInt(C[i+1].length)-EA,i+=3)):C[i+1]==="/"||C[i+1]===":"?(B=Ga(C[i],t),o=Ga(C[i+2],EA),i+=3):C[i+3]==="/"&&C[i+1]===" "&&(I=Ga(C[i],t),B=Ga(C[i+2],t),o=Ga(C[i+4],EA),i+=5),!(C.length<=i)))throw Wa();e=o*n,t=a=r+e*I+n*B}else{if(typeof g!="bigint")throw Wa();a=g,t=g,e=EA}if(e===IA)throw Rt();_.s=t<IA?-EA:EA,_.n=a<IA?-a:a,_.d=e<IA?-e:e};function Zr(g,A,a){let e=EA,t=function(i,I,B){let r=EA;for(;I>IA;i=i*i%B,I>>=EA)I&EA&&(r=r*i%B);return r}(na,a,A);for(let i=0;i<300;i++){if(e===t)return BigInt(i);e=e*na%A,t=t*na%A}return 0}function Be(g,A){if(!g)return A;if(!A)return g;for(;;){if(!(g%=A))return A;if(!(A%=g))return g}}function ua(g,A){if(XA(g,A),!(this instanceof ua))return SA(_.s*_.n,_.d);g=Be(_.d,_.n),this.s=_.s,this.n=_.n/g,this.d=_.d/g}var Rt=function(){return new Error("Division by Zero")},Wa=function(){return new Error("Invalid argument")},di=function(){return new Error("Parameters must be integer")};ua.prototype={s:EA,n:IA,d:EA,abs:function(){return SA(this.n,this.d)},neg:function(){return SA(-this.s*this.n,this.d)},add:function(g,A){return XA(g,A),SA(this.s*this.n*_.d+_.s*this.d*_.n,this.d*_.d)},sub:function(g,A){return XA(g,A),SA(this.s*this.n*_.d-_.s*this.d*_.n,this.d*_.d)},mul:function(g,A){return XA(g,A),SA(this.s*_.s*this.n*_.n,this.d*_.d)},div:function(g,A){return XA(g,A),SA(this.s*_.s*this.n*_.d,this.d*_.n)},clone:function(){return SA(this.s*this.n,this.d)},mod:function(g,A){if(g===void 0)return SA(this.s*this.n%this.d,EA);if(XA(g,A),IA===_.n*this.d)throw Rt();return SA(this.s*(_.d*this.n)%(_.n*this.d),_.d*this.d)},gcd:function(g,A){return XA(g,A),SA(Be(_.n,this.n)*Be(_.d,this.d),_.d*this.d)},lcm:function(g,A){return XA(g,A),_.n===IA&&this.n===IA?SA(IA,EA):SA(_.n*this.n,Be(_.n,this.n)*Be(_.d,this.d))},inverse:function(){return SA(this.s*this.d,this.n)},pow:function(g,A){if(XA(g,A),_.d===EA)return _.s<IA?SA((this.s*this.d)**_.n,this.n**_.n):SA((this.s*this.n)**_.n,this.d**_.n);if(this.s<IA)return null;let a=le(this.n),e=le(this.d),t=EA,i=EA;for(let I in a)if(I!=="1"){if(I==="0"){t=IA;break}if(a[I]*=_.n,a[I]%_.d!==IA)return null;a[I]/=_.d,t*=BigInt(I)**a[I]}for(let I in e)if(I!=="1"){if(e[I]*=_.n,e[I]%_.d!==IA)return null;e[I]/=_.d,i*=BigInt(I)**e[I]}return _.s<IA?SA(i,t):SA(t,i)},log:function(g,A){if(XA(g,A),this.s<=IA||_.s<=IA)return null;const a={},e=le(_.n),t=le(_.d),i=le(this.n),I=le(this.d);for(const o in t)e[o]=(e[o]||IA)-t[o];for(const o in I)i[o]=(i[o]||IA)-I[o];for(const o in e)o!=="1"&&(a[o]=!0);for(const o in i)o!=="1"&&(a[o]=!0);let B=null,r=null;for(const o in a){const n=e[o]||IA,C=i[o]||IA;if(n===IA){if(C!==IA)return null;continue}let Q=C,E=n;const s=Be(Q,E);if(Q/=s,E/=s,B===null&&r===null)B=Q,r=E;else if(Q*r!=B*E)return null}return B!==null&&r!==null?SA(B,r):null},equals:function(g,A){return XA(g,A),this.s*this.n*_.d==_.s*_.n*this.d},lt:function(g,A){return XA(g,A),this.s*this.n*_.d<_.s*_.n*this.d},lte:function(g,A){return XA(g,A),this.s*this.n*_.d<=_.s*_.n*this.d},gt:function(g,A){return XA(g,A),this.s*this.n*_.d>_.s*_.n*this.d},gte:function(g,A){return XA(g,A),this.s*this.n*_.d>=_.s*_.n*this.d},compare:function(g,A){XA(g,A);let a=this.s*this.n*_.d-_.s*_.n*this.d;return(IA<a)-(a<IA)},ceil:function(g){return g=na**BigInt(g||0),SA(Da(this.s*g*this.n/this.d)+(g*this.n%this.d>IA&&this.s>=IA?EA:IA),g)},floor:function(g){return g=na**BigInt(g||0),SA(Da(this.s*g*this.n/this.d)-(g*this.n%this.d>IA&&this.s<IA?EA:IA),g)},round:function(g){return g=na**BigInt(g||0),SA(Da(this.s*g*this.n/this.d)+this.s*((this.s>=IA?EA:IA)+Ke*(g*this.n%this.d)>this.d?EA:IA),g)},roundTo:function(g,A){XA(g,A);const a=this.n*_.d,e=this.d*_.n,t=a%e;let i=Da(a/e);return t+t>=e&&i++,SA(this.s*i*_.n,_.d)},divisible:function(g,A){return XA(g,A),!(!(_.n*this.d)||this.n*_.d%(_.n*this.d))},valueOf:function(){return Number(this.s*this.n)/Number(this.d)},toString:function(g){let A=this.n,a=this.d;g=g||15;let e=function(I,B){for(;B%Ke===IA;B/=Ke);for(;B%ut===IA;B/=ut);if(B===EA)return IA;let r=na%B,o=1;for(;r!==EA;o++)if(r=r*na%B,o>2e3)return IA;return BigInt(o)}(0,a),t=Zr(0,a,e),i=this.s<IA?"-":"";if(i+=Da(A/a),A%=a,A*=na,A&&(i+="."),e){for(let I=t;I--;)i+=Da(A/a),A%=a,A*=na;i+="(";for(let I=e;I--;)i+=Da(A/a),A%=a,A*=na;i+=")"}else for(let I=g;A&&I--;)i+=Da(A/a),A%=a,A*=na;return i},toFraction:function(g){let A=this.n,a=this.d,e=this.s<IA?"-":"";if(a===EA)e+=A;else{let t=Da(A/a);g&&t>IA&&(e+=t,e+=" ",A%=a),e+=A,e+="/",e+=a}return e},toLatex:function(g){let A=this.n,a=this.d,e=this.s<IA?"-":"";if(a===EA)e+=A;else{let t=Da(A/a);g&&t>IA&&(e+=t,A%=a),e+="\\frac{",e+=A,e+="}{",e+=a,e+="}"}return e},toContinued:function(){let g=this.n,A=this.d,a=[];do{a.push(Da(g/A));let e=g%A;g=A,A=e}while(g!==EA);return a},simplify:function(g){const A=BigInt(1/(g||.001)|0),a=this.abs(),e=a.toContinued();for(let t=1;t<e.length;t++){let i=SA(e[t-1],EA);for(let B=t-2;B>=0;B--)i=i.inverse().add(e[B]);let I=i.sub(a);if(I.n*A<I.d)return i.mul(this.s)}return this}};var _r=lA("Fraction",[],()=>(Object.defineProperty(ua,"name",{value:"Fraction"}),ua.prototype.constructor=ua,ua.prototype.type="Fraction",ua.prototype.isFraction=!0,ua.prototype.toJSON=function(){return{mathjs:"Fraction",n:String(this.s*this.n),d:String(this.d)}},ua.fromJSON=function(g){return new ua(g)},ua),{isClass:!0}),$r=lA("Matrix",[],()=>{function g(){if(!(this instanceof g))throw new SyntaxError("Constructor must be called with the new operator")}return g.prototype.type="Matrix",g.prototype.isMatrix=!0,g.prototype.storage=function(){throw new Error("Cannot invoke storage on a Matrix interface")},g.prototype.datatype=function(){throw new Error("Cannot invoke datatype on a Matrix interface")},g.prototype.create=function(A,a){throw new Error("Cannot invoke create on a Matrix interface")},g.prototype.subset=function(A,a,e){throw new Error("Cannot invoke subset on a Matrix interface")},g.prototype.get=function(A){throw new Error("Cannot invoke get on a Matrix interface")},g.prototype.set=function(A,a,e){throw new Error("Cannot invoke set on a Matrix interface")},g.prototype.resize=function(A,a){throw new Error("Cannot invoke resize on a Matrix interface")},g.prototype.reshape=function(A,a){throw new Error("Cannot invoke reshape on a Matrix interface")},g.prototype.clone=function(){throw new Error("Cannot invoke clone on a Matrix interface")},g.prototype.size=function(){throw new Error("Cannot invoke size on a Matrix interface")},g.prototype.map=function(A,a){throw new Error("Cannot invoke map on a Matrix interface")},g.prototype.forEach=function(A){throw new Error("Cannot invoke forEach on a Matrix interface")},g.prototype[Symbol.iterator]=function(){throw new Error("Cannot iterate a Matrix interface")},g.prototype.toArray=function(){throw new Error("Cannot invoke toArray on a Matrix interface")},g.prototype.valueOf=function(){throw new Error("Cannot invoke valueOf on a Matrix interface")},g.prototype.format=function(A){throw new Error("Cannot invoke format on a Matrix interface")},g.prototype.toString=function(){throw new Error("Cannot invoke toString on a Matrix interface")},g},{isClass:!0});function It(g,A,a){var e=new g.constructor(2),t="";if(a){if(a<1)throw new Error("size must be in greater than 0");if(!LA(a))throw new Error("size must be an integer");if(g.greaterThan(e.pow(a-1).sub(1))||g.lessThan(e.pow(a-1).mul(-1)))throw new Error("Value must be in range [-2^".concat(a-1,", 2^").concat(a-1,"-1]"));if(!g.isInteger())throw new Error("Value must be an integer");g.lessThan(0)&&(g=g.add(e.pow(a))),t="i".concat(a)}switch(A){case 2:return"".concat(g.toBinary()).concat(t);case 8:return"".concat(g.toOctal()).concat(t);case 16:return"".concat(g.toHexadecimal()).concat(t);default:throw new Error("Base ".concat(A," not supported "))}}function Ao(g,A){if(typeof A=="function")return A(g);if(!g.isFinite())return g.isNaN()?"NaN":g.gt(0)?"Infinity":"-Infinity";var{notation:a,precision:e,wordSize:t}=pI(A);switch(a){case"fixed":return function(o,n){return o.toFixed(n)}(g,e);case"exponential":return bi(g,e);case"engineering":return function(o,n){var C=o.e,Q=C%3==0?C:C<0?C-3-C%3:C-C%3,E=o.mul(Math.pow(10,-Q)),s=E.toPrecision(n);return s.includes("e")&&(s=new o.constructor(s).toFixed()),s+"e"+(C>=0?"+":"")+Q.toString()}(g,e);case"bin":return It(g,2,t);case"oct":return It(g,8,t);case"hex":return It(g,16,t);case"auto":var i=ui(A?.lowerExp,-3),I=ui(A?.upperExp,5);if(g.isZero())return"0";var B=g.toSignificantDigits(e),r=B.e;return(r>=i&&r<I?B.toFixed():bi(g,e)).replace(/((\.\d*?)(0+))($|e)/,function(){var o=arguments[2],n=arguments[4];return o!=="."?o+n:n});default:throw new Error('Unknown notation "'+a+'". Choose "auto", "exponential", "fixed", "bin", "oct", or "hex.')}}function bi(g,A){return A!==void 0?g.toExponential(A-1):g.toExponential()}function ui(g,A){return RA(g)?g:TA(g)?g.toNumber():A}function qA(g,A){var a=function(e,t){return typeof e=="number"?ct(e,t):TA(e)?Ao(e,t):function(i){return i&&typeof i=="object"&&typeof i.s=="bigint"&&typeof i.n=="bigint"&&typeof i.d=="bigint"||!1}(e)?t&&t.fraction==="decimal"?e.toString():"".concat(e.s*e.n,"/").concat(e.d):Array.isArray(e)?xI(e,t):Ma(e)?li(e):typeof e=="function"?e.syntax?String(e.syntax):"function":e&&typeof e=="object"?typeof e.format=="function"?e.format(t):e&&e.toString(t)!=={}.toString()?e.toString(t):"{"+Object.keys(e).map(i=>li(i)+": "+qA(e[i],t)).join(", ")+"}":String(e)}(g,A);return A&&typeof A=="object"&&"truncate"in A&&a.length>A.truncate?a.substring(0,A.truncate-3)+"...":a}function li(g){for(var A=String(g),a="",e=0;e<A.length;){var t=A.charAt(e);a+=t in fi?fi[t]:t,e++}return'"'+a+'"'}var fi={'"':'\\"',"\\":"\\\\","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r"," ":"\\t"};function xI(g,A){if(Array.isArray(g)){for(var a="[",e=g.length,t=0;t<e;t++)t!==0&&(a+=", "),a+=xI(g[t],A);return a+="]"}return qA(g,A)}function UA(g,A,a){if(!(this instanceof UA))throw new SyntaxError("Constructor must be called with the new operator");this.actual=g,this.expected=A,this.relation=a,this.message="Dimension mismatch ("+(Array.isArray(g)?"["+g.join(", ")+"]":g)+" "+(this.relation||"!=")+" "+(Array.isArray(A)?"["+A.join(", ")+"]":A)+")",this.stack=new Error().stack}function ye(g,A,a){if(!(this instanceof ye))throw new SyntaxError("Constructor must be called with the new operator");this.index=g,arguments.length<3?(this.min=0,this.max=A):(this.min=A,this.max=a),this.min!==void 0&&this.index<this.min?this.message="Index out of range ("+this.index+" < "+this.min+")":this.max!==void 0&&this.index>=this.max?this.message="Index out of range ("+this.index+" > "+(this.max-1)+")":this.message="Index out of range ("+this.index+")",this.stack=new Error().stack}function ta(g){for(var A=[];Array.isArray(g);)A.push(g.length),g=g[0];return A}function LI(g,A,a){var e,t=g.length;if(t!==A[a])throw new UA(t,A[a]);if(a<A.length-1){var i=a+1;for(e=0;e<t;e++){var I=g[e];if(!Array.isArray(I))throw new UA(A.length-1,A.length,"<");LI(g[e],A,i)}}else for(e=0;e<t;e++)if(Array.isArray(g[e]))throw new UA(A.length+1,A.length,">")}function Di(g,A){if(A.length===0){if(Array.isArray(g))throw new UA(g.length,0)}else LI(g,A,0)}function JA(g,A){if(g!==void 0){if(!RA(g)||!LA(g))throw new TypeError("Index must be an integer (value: "+g+")");if(g<0||typeof A=="number"&&g>=A)throw new ye(g,A)}}function lt(g,A,a){if(!Array.isArray(A))throw new TypeError("Array expected");if(A.length===0)throw new Error("Resizing to scalar is not supported");return A.forEach(function(e){if(!RA(e)||!LA(e)||e<0)throw new TypeError("Invalid size, must contain positive integers (size: "+qA(A)+")")}),(RA(g)||TA(g))&&(g=[g]),ft(g,A,0,a!==void 0?a:0),g}function ft(g,A,a,e){var t,i,I=g.length,B=A[a],r=Math.min(I,B);if(g.length=B,a<A.length-1){var o=a+1;for(t=0;t<r;t++)i=g[t],Array.isArray(i)||(i=[i],g[t]=i),ft(i,A,o,e);for(t=r;t<B;t++)i=[],g[t]=i,ft(i,A,o,e)}else{for(t=0;t<r;t++)for(;Array.isArray(g[t]);)g[t]=g[t][0];for(t=r;t<B;t++)g[t]=e}}function JI(g,A){var a=function(i){var I=arguments.length>1&&arguments[1]!==void 0&&arguments[1];if(!Array.isArray(i))return i;if(typeof I!="boolean")throw new TypeError("Boolean expected for second argument of flatten");var B=[];return I?o(i):r(i),B;function r(n){for(var C=0;C<n.length;C++){var Q=n[C];Array.isArray(Q)?r(Q):B.push(Q)}}function o(n){if(Array.isArray(n[0]))for(var C=0;C<n.length;C++)o(n[C]);else for(var Q=0;Q<n.length;Q++)B.push(n[Q])}}(g,!0),e=a.length;if(!Array.isArray(g)||!Array.isArray(A))throw new TypeError("Array expected");if(A.length===0)throw new UA(0,e,"!=");var t=jI(A=Nt(A,e));if(e!==t)throw new UA(t,e,"!=");try{return function(i,I){for(var B,r=i,o=I.length-1;o>0;o--){var n=I[o];B=[];for(var C=r.length/n,Q=0;Q<C;Q++)B.push(r.slice(Q*n,(Q+1)*n));r=B}return r}(a,A)}catch(i){throw i instanceof UA?new UA(t,e,"!="):i}}function Nt(g,A){var a=jI(g),e=g.slice(),t=g.indexOf(-1);if(g.indexOf(-1,t+1)>=0)throw new Error("More than one wildcard in sizes");if(t>=0){if(A%a!=0)throw new Error("Could not replace wildcard, since "+A+" is no multiple of "+-a);e[t]=-A/a}return e}function jI(g){return g.reduce((A,a)=>A*a,1)}function vI(g,A,a,e){var t=e||ta(g);if(a)for(var i=0;i<a;i++)g=[g],t.unshift(1);for(g=HI(g,A,0);t.length<A;)t.push(1);return g}function HI(g,A,a){var e,t;if(Array.isArray(g)){var i=a+1;for(e=0,t=g.length;e<t;e++)g[e]=HI(g[e],A,i)}else for(var I=a;I<A;I++)g=[g];return g}function Gt(g,A){for(var a,e=0,t=0;t<g.length;t++){var i=g[t],I=Array.isArray(i);if(t===0&&I&&(e=i.length),I&&i.length!==e)return;var B=I?Gt(i,A):A(i);if(a===void 0)a=B;else if(a!==B)return"mixed"}return a}function YI(g,A,a,e){if(e<a){if(g.length!==A.length)throw new UA(g.length,A.length);for(var t=[],i=0;i<g.length;i++)t[i]=YI(g[i],A[i],a,e+1);return t}return g.concat(A)}function ao(){var g=Array.prototype.slice.call(arguments,0,-1),A=Array.prototype.slice.call(arguments,-1);if(g.length===1)return g[0];if(g.length>1)return g.slice(1).reduce(function(a,e){return YI(a,e,A,0)},g[0]);throw new Error("Wrong number of arguments in function concat")}function wi(g,A){for(var a=A.length,e=g.length,t=0;t<e;t++){var i=a-e+t;if(g[t]<A[i]&&g[t]>1||g[t]>A[i])throw new Error("shape mismatch: mismatch is found in arg with shape (".concat(g,") not possible to broadcast dimension ").concat(e," with size ").concat(g[t]," to size ").concat(A[i]))}}function yi(g,A){var a=ta(g);if(Me(a,A))return g;wi(a,A);var e,t,i,I=function(){for(var C=arguments.length,Q=new Array(C),E=0;E<C;E++)Q[E]=arguments[E];for(var s=Q.map(N=>N.length),c=Math.max(...s),d=new Array(c).fill(null),b=0;b<Q.length;b++)for(var h=Q[b],l=s[b],w=0;w<l;w++){var k=c-l+w;h[w]>d[k]&&(d[k]=h[w])}for(var M=0;M<Q.length;M++)wi(Q[M],d);return d}(a,A),B=I.length,r=[...Array(B-a.length).fill(1),...a],o=function(C){return ug([],C)}(g);a.length<B&&(a=ta(o=JI(o,r)));for(var n=0;n<B;n++)a[n]<I[n]&&(e=o,t=I[n],i=n,a=ta(o=ao(...Array(t).fill(e),i)));return o}function KI(g,A){if(!Array.isArray(g))throw new Error("Array expected");var a=ta(g);if(A.length!==a.length)throw new UA(A.length,a.length);for(var e=0;e<A.length;e++)JA(A[e],a[e]);return A.reduce((t,i)=>t[i],g)}function pi(g,A){var a=arguments.length>2&&arguments[2]!==void 0&&arguments[2];if(g.length===0)return[];if(a)return function t(i){if(Array.isArray(i)){for(var I=i.length,B=Array(I),r=0;r<I;r++)B[r]=t(i[r]);return B}return A(i)}(g);var e=[];return function t(i,I){if(Array.isArray(i)){for(var B=i.length,r=Array(B),o=0;o<B;o++)e[I]=o,r[o]=t(i[o],I+1);return r}return A(i,e.slice(0,I),g)}(g,0)}function Fg(g,A,a){var e=arguments.length>3&&arguments[3]!==void 0&&arguments[3];if(Dg.isTypedFunction(g)){var t,i;if(e)t=1;else{var I=(A.isMatrix?A.size():ta(A)).map(()=>0),B=A.isMatrix?A.get(I):KI(A,I);t=function(o,n,C,Q){for(var E=[n,C,Q],s=3;s>0;s--){var c=E.slice(0,s);if(Dg.resolve(o,c)!==null)return s}}(g,B,I,A)}if(A.isMatrix&&A.dataType!=="mixed"&&A.dataType!==void 0){var r=function(o,n){var C=[];if(Object.entries(o.signatures).forEach(Q=>{var[E,s]=Q;E.split(",").length===n&&C.push(s)}),C.length===1)return C[0]}(g,t);i=r!==void 0?r:g}else i=g;return t>=1&&t<=3?{isUnary:t===1,fn:function(){for(var o=arguments.length,n=new Array(o),C=0;C<o;C++)n[C]=arguments[C];return Fi(i,n.slice(0,t),a,g.name)}}:{isUnary:!1,fn:function(){for(var o=arguments.length,n=new Array(o),C=0;C<o;C++)n[C]=arguments[C];return Fi(i,n,a,g.name)}}}return e===void 0?{isUnary:eo(g),fn:g}:{isUnary:e,fn:g}}function eo(g){if(g.length!==1)return!1;var A=g.toString();if(/arguments/.test(A))return!1;var a=A.match(/\(.*?\)/);return!/\.\.\./.test(a)}function Fi(g,A,a,e){try{return g(...A)}catch(t){(function(i,I,B,r){var o;if(i instanceof TypeError&&((o=i.data)===null||o===void 0?void 0:o.category)==="wrongType"){var n=[];throw n.push("value: ".concat(_a(I[0]))),I.length>=2&&n.push("index: ".concat(_a(I[1]))),I.length>=3&&n.push("array: ".concat(_a(I[2]))),new TypeError("Function ".concat(B," cannot apply callback arguments ")+"".concat(r,"(").concat(n.join(", "),") at index ").concat(JSON.stringify(I[1])))}throw new TypeError("Function ".concat(B," cannot apply callback arguments ")+"to function ".concat(r,": ").concat(i.message))})(t,A,a,e)}}UA.prototype=new RangeError,UA.prototype.constructor=RangeError,UA.prototype.name="DimensionError",UA.prototype.isDimensionError=!0,ye.prototype=new RangeError,ye.prototype.constructor=RangeError,ye.prototype.name="IndexError",ye.prototype.isIndexError=!0;var go=lA("DenseMatrix",["Matrix"],g=>{var{Matrix:A}=g;function a(I,B){if(!(this instanceof a))throw new SyntaxError("Constructor must be called with the new operator");if(B&&!Ma(B))throw new Error("Invalid datatype: "+B);if(HA(I))I.type==="DenseMatrix"?(this._data=vA(I._data),this._size=vA(I._size),this._datatype=B||I._datatype):(this._data=I.toArray(),this._size=I.size(),this._datatype=B||I._datatype);else if(I&&PA(I.data)&&PA(I.size))this._data=I.data,this._size=I.size,Di(this._data,this._size),this._datatype=B||I.datatype;else if(PA(I))this._data=i(I),this._size=ta(this._data),Di(this._data,this._size),this._datatype=B;else{if(I)throw new TypeError("Unsupported type of data ("+_a(I)+")");this._data=[],this._size=[0],this._datatype=B}}function e(I,B,r){if(B.length===0){for(var o=I._data;PA(o);)o=o[0];return o}return I._size=B.slice(0),I._data=lt(I._data,I._size,r),I}function t(I,B,r){for(var o=I._size.slice(0),n=!1;o.length<B.length;)o.push(0),n=!0;for(var C=0,Q=B.length;C<Q;C++)B[C]>o[C]&&(o[C]=B[C],n=!0);n&&e(I,o,r)}function i(I){return HA(I)?i(I.valueOf()):PA(I)?I.map(i):I}return a.prototype=new A,a.prototype.createDenseMatrix=function(I,B){return new a(I,B)},Object.defineProperty(a,"name",{value:"DenseMatrix"}),a.prototype.constructor=a,a.prototype.type="DenseMatrix",a.prototype.isDenseMatrix=!0,a.prototype.getDataType=function(){return Gt(this._data,_a)},a.prototype.storage=function(){return"dense"},a.prototype.datatype=function(){return this._datatype},a.prototype.create=function(I,B){return new a(I,B)},a.prototype.subset=function(I,B,r){switch(arguments.length){case 1:return function(o,n){if(!Mt(n))throw new TypeError("Invalid index");var C=n.isScalar();if(C)return o.get(n.min());var Q=n.size();if(Q.length!==o._size.length)throw new UA(Q.length,o._size.length);for(var E=n.min(),s=n.max(),c=0,d=o._size.length;c<d;c++)JA(E[c],o._size[c]),JA(s[c],o._size[c]);var b=new a([]),h=function(l,w){var k=w.size().length-1,M=Array(k);return{data:N(l),size:M};function N(m){var G=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,L=w.dimension(G);return M[G]=L.size()[0],G<k?L.map(x=>(JA(x,m.length),N(m[x],G+1))).valueOf():L.map(x=>(JA(x,m.length),m[x])).valueOf()}}(o._data,n);return b._size=h.size,b._datatype=o._datatype,b._data=h.data,b}(this,I);case 2:case 3:return function(o,n,C,Q){if(!n||n.isIndex!==!0)throw new TypeError("Invalid index");var E,s=n.size(),c=n.isScalar();if(HA(C)?(E=C.size(),C=C.valueOf()):E=ta(C),c){if(E.length!==0)throw new TypeError("Scalar expected");o.set(n.min(),C,Q)}else{if(!Me(E,s))try{E=ta(C=E.length===0?yi([C],s):yi(C,s))}catch{}if(s.length<o._size.length)throw new UA(s.length,o._size.length,"<");if(E.length<s.length){for(var d=0,b=0;s[d]===1&&E[d]===1;)d++;for(;s[d]===1;)b++,d++;C=vI(C,s.length,b,E)}if(!Me(s,E))throw new UA(s,E,">");var h=n.max().map(function(l){return l+1});t(o,h,Q),function(l,w,k){var M=w.size().length-1;function N(m,G){var L=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,x=w.dimension(L);L<M?x.forEach((W,X)=>{JA(W,m.length),N(m[W],G[X[0]],L+1)}):x.forEach((W,X)=>{JA(W,m.length),m[W]=G[X[0]]})}N(l,k)}(o._data,n,C)}return o}(this,I,B,r);default:throw new SyntaxError("Wrong number of arguments")}},a.prototype.get=function(I){return KI(this._data,I)},a.prototype.set=function(I,B,r){if(!PA(I))throw new TypeError("Array expected");if(I.length<this._size.length)throw new UA(I.length,this._size.length,"<");var o,n,C,Q=I.map(function(s){return s+1});t(this,Q,r);var E=this._data;for(o=0,n=I.length-1;o<n;o++)JA(C=I[o],E.length),E=E[C];return JA(C=I[I.length-1],E.length),E[C]=B,this},a.prototype.resize=function(I,B,r){if(!lg(I))throw new TypeError("Array or Matrix expected");var o=I.valueOf().map(n=>Array.isArray(n)&&n.length===1?n[0]:n);return e(r?this.clone():this,o,B)},a.prototype.reshape=function(I,B){var r=B?this.clone():this;r._data=JI(r._data,I);var o=r._size.reduce((n,C)=>n*C);return r._size=Nt(I,o),r},a.prototype.clone=function(){return new a({data:vA(this._data),size:vA(this._size),datatype:this._datatype})},a.prototype.size=function(){return this._size.slice(0)},a.prototype.map=function(I){var B=arguments.length>2&&arguments[2]!==void 0&&arguments[2],r=this,o=r._size.length-1;if(o<0)return r.clone();var n=Fg(I,r,"map",B),C=n.fn,Q=r.create(void 0,r._datatype);if(Q._size=r._size,B||n.isUnary)return Q._data=function b(h){var l=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,w=Array(h.length);if(l<o)for(var k=0;k<h.length;k++)w[k]=b(h[k],l+1);else for(var M=0;M<h.length;M++)w[M]=C(h[M]);return w}(r._data),Q;if(o===0){for(var E=r.valueOf(),s=Array(E.length),c=0;c<E.length;c++)s[c]=C(E[c],[c],r);return Q._data=s,Q}var d=[];return Q._data=function b(h){var l=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,w=Array(h.length);if(l<o)for(var k=0;k<h.length;k++)d[l]=k,w[k]=b(h[k],l+1);else for(var M=0;M<h.length;M++)d[l]=M,w[M]=C(h[M],d.slice(),r);return w}(r._data),Q},a.prototype.forEach=function(I){var B=arguments.length>2&&arguments[2]!==void 0&&arguments[2],r=this,o=r._size.length-1;if(!(o<0)){var n=Fg(I,r,"map",B),C=n.fn;if(B||n.isUnary)(function s(c){var d=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;if(d<o)for(var b=0;b<c.length;b++)s(c[b],d+1);else for(var h=0;h<c.length;h++)C(c[h])})(r._data);else if(o!==0){var Q=[];(function s(c){var d=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;if(d<o)for(var b=0;b<c.length;b++)Q[d]=b,s(c[b],d+1);else for(var h=0;h<c.length;h++)Q[d]=h,C(c[h],Q.slice(),r)})(r._data)}else for(var E=0;E<r._data.length;E++)C(r._data[E],[E],r)}},a.prototype[Symbol.iterator]=function*(){var I=this._size.length-1;if(!(I<0))if(I!==0){var B=[],r=function*(n,C){if(C<I)for(var Q=0;Q<n.length;Q++)B[C]=Q,yield*r(n[Q],C+1);else for(var E=0;E<n.length;E++)B[C]=E,yield{value:n[E],index:B.slice()}};yield*r(this._data,0)}else for(var o=0;o<this._data.length;o++)yield{value:this._data[o],index:[o]}},a.prototype.rows=function(){var I=[];if(this.size().length!==2)throw new TypeError("Rows can only be returned for a 2D matrix.");var B=this._data;for(var r of B)I.push(new a([r],this._datatype));return I},a.prototype.columns=function(){var I=this,B=[],r=this.size();if(r.length!==2)throw new TypeError("Rows can only be returned for a 2D matrix.");for(var o=this._data,n=function(Q){var E=o.map(s=>[s[Q]]);B.push(new a(E,I._datatype))},C=0;C<r[1];C++)n(C);return B},a.prototype.toArray=function(){return vA(this._data)},a.prototype.valueOf=function(){return this._data},a.prototype.format=function(I){return qA(this._data,I)},a.prototype.toString=function(){return qA(this._data)},a.prototype.toJSON=function(){return{mathjs:"DenseMatrix",data:this._data,size:this._size,datatype:this._datatype}},a.prototype.diagonal=function(I){if(I){if(TA(I)&&(I=I.toNumber()),!RA(I)||!LA(I))throw new TypeError("The parameter k must be an integer number")}else I=0;for(var B=I>0?I:0,r=I<0?-I:0,o=this._size[0],n=this._size[1],C=Math.min(o-r,n-B),Q=[],E=0;E<C;E++)Q[E]=this._data[E+r][E+B];return new a({data:Q,size:[C],datatype:this._datatype})},a.diagonal=function(I,B,r,o){if(!PA(I))throw new TypeError("Array expected, size parameter");if(I.length!==2)throw new Error("Only two dimensions matrix are supported");if(I=I.map(function(l){if(TA(l)&&(l=l.toNumber()),!RA(l)||!LA(l)||l<1)throw new Error("Size values must be positive integers");return l}),r){if(TA(r)&&(r=r.toNumber()),!RA(r)||!LA(r))throw new TypeError("The parameter k must be an integer number")}else r=0;var n,C=r>0?r:0,Q=r<0?-r:0,E=I[0],s=I[1],c=Math.min(E-Q,s-C);if(PA(B)){if(B.length!==c)throw new Error("Invalid value array length");n=function(l){return B[l]}}else if(HA(B)){var d=B.size();if(d.length!==1||d[0]!==c)throw new Error("Invalid matrix length");n=function(l){return B.get([l])}}else n=function(){return B};o||(o=TA(n(0))?n(0).mul(0):0);var b=[];if(I.length>0){b=lt(b,I,o);for(var h=0;h<c;h++)b[h+Q][h+C]=n(h)}return new a({data:b,size:[E,s]})},a.fromJSON=function(I){return new a(I)},a.prototype.swapRows=function(I,B){if(!(RA(I)&&LA(I)&&RA(B)&&LA(B)))throw new Error("Row index must be positive integers");if(this._size.length!==2)throw new Error("Only two dimensional matrix is supported");return JA(I,this._size[0]),JA(B,this._size[0]),a._swapRows(I,B,this._data),this},a._swapRows=function(I,B,r){var o=r[I];r[I]=r[B],r[B]=o},a},{isClass:!0});function oe(g,A,a){if(!a)return HA(g)?g.map(t=>A(t),!1,!0):pi(g,A,!0);var e=t=>t===0?t:A(t);return HA(g)?g.map(t=>e(t),!1,!0):pi(g,e,!0)}var mi="number",Bg="number, number";function qI(g){return Math.abs(g)}function TI(g,A){return g+A}function OI(g,A){return g-A}function PI(g,A){return g*A}function zI(g){return-g}function WI(g,A){return g*g<1&&A===1/0||g*g>1&&A===-1/0?0:Math.pow(g,A)}function Dt(g,A){if(A<g)return 1;if(A===g)return A;var a=A+g>>1;return Dt(g,a)*Dt(a+1,A)}function mg(g){var A;if(LA(g))return g<=0?isFinite(g)?1/0:NaN:g>171?1/0:Dt(1,g-1);if(g<.5)return Math.PI/(Math.sin(Math.PI*g)*mg(1-g));if(g>=171.35)return 1/0;if(g>85){var a=g*g,e=a*g,t=e*g,i=t*g;return Math.sqrt(2*Math.PI/g)*Math.pow(g/Math.E,g)*(1+1/(12*g)+1/(288*a)-139/(51840*e)-571/(2488320*t)+163879/(209018880*i)+5246819/(75246796800*i*g))}--g,A=Fe[0];for(var I=1;I<Fe.length;++I)A+=Fe[I]/(g+I);var B=g+VI+.5;return Math.sqrt(2*Math.PI)*Math.pow(B,g+.5)*Math.exp(-B)*A}qI.signature=mi,TI.signature=Bg,OI.signature=Bg,PI.signature=Bg,zI.signature=mi,WI.signature=Bg,mg.signature="number";var VI=4.7421875,Fe=[.9999999999999971,57.15623566586292,-59.59796035547549,14.136097974741746,-.4919138160976202,3399464998481189e-20,4652362892704858e-20,-9837447530487956e-20,.0001580887032249125,-.00021026444172410488,.00021743961811521265,-.0001643181065367639,8441822398385275e-20,-26190838401581408e-21,36899182659531625e-22],Mi="isZero",to=lA(Mi,["typed","equalScalar"],g=>{var{typed:A,equalScalar:a}=g;return A(Mi,{"number | BigNumber | Complex | Fraction":e=>a(e,0),bigint:e=>e===0n,Unit:A.referToSelf(e=>t=>A.find(e,t.valueType())(t.value)),"Array | Matrix":A.referToSelf(e=>t=>oe(t,e))})}),io=lA("compareUnits",["typed"],g=>{var{typed:A}=g;return{"Unit, Unit":A.referToSelf(a=>(e,t)=>{if(!e.equalBase(t))throw new Error("Cannot compare units with different base");return A.find(a,[e.valueType(),t.valueType()])(e.value,t.value)})}}),Mg="equalScalar",Io=lA(Mg,["typed","config"],g=>{var{typed:A,config:a}=g,e=io({typed:A});return A(Mg,{"boolean, boolean":function(t,i){return t===i},"number, number":function(t,i){return cg(t,i,a.relTol,a.absTol)},"BigNumber, BigNumber":function(t,i){return t.eq(i)||function(I,B){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1e-9,o=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0;if(r<=0)throw new Error("Relative tolerance must be greater than 0");if(o<0)throw new Error("Absolute tolerance must be at least 0");return!I.isNaN()&&!B.isNaN()&&(I.isFinite()&&B.isFinite()?!!I.eq(B)||I.minus(B).abs().lte(I.constructor.max(I.constructor.max(I.abs(),B.abs()).mul(r),o)):I.eq(B))}(t,i,a.relTol,a.absTol)},"bigint, bigint":function(t,i){return t===i},"Fraction, Fraction":function(t,i){return t.equals(i)},"Complex, Complex":function(t,i){return function(I,B,r,o){return cg(I.re,B.re,r,o)&&cg(I.im,B.im,r,o)}(t,i,a.relTol,a.absTol)}},e)});lA(Mg,["typed","config"],g=>{var{typed:A,config:a}=g;return A(Mg,{"number, number":function(e,t){return cg(e,t,a.relTol,a.absTol)}})});var Bo=lA("SparseMatrix",["typed","equalScalar","Matrix"],g=>{var{typed:A,equalScalar:a,Matrix:e}=g;function t(n,C){if(!(this instanceof t))throw new SyntaxError("Constructor must be called with the new operator");if(C&&!Ma(C))throw new Error("Invalid datatype: "+C);if(HA(n))(function(Q,E,s){E.type==="SparseMatrix"?(Q._values=E._values?vA(E._values):void 0,Q._index=vA(E._index),Q._ptr=vA(E._ptr),Q._size=vA(E._size),Q._datatype=s||E._datatype):i(Q,E.valueOf(),s||E._datatype)})(this,n,C);else if(n&&PA(n.index)&&PA(n.ptr)&&PA(n.size))this._values=n.values,this._index=n.index,this._ptr=n.ptr,this._size=n.size,this._datatype=C||n.datatype;else if(PA(n))i(this,n,C);else{if(n)throw new TypeError("Unsupported type of data ("+_a(n)+")");this._values=[],this._index=[],this._ptr=[0],this._size=[0,0],this._datatype=C}}function i(n,C,Q){n._values=[],n._index=[],n._ptr=[],n._datatype=Q;var E=C.length,s=0,c=a,d=0;if(Ma(Q)&&(c=A.find(a,[Q,Q])||a,d=A.convert(0,Q)),E>0){var b=0;do{n._ptr.push(n._index.length);for(var h=0;h<E;h++){var l=C[h];if(PA(l)){if(b===0&&s<l.length&&(s=l.length),b<l.length){var w=l[b];c(w,d)||(n._values.push(w),n._index.push(h))}}else b===0&&s<1&&(s=1),c(l,d)||(n._values.push(l),n._index.push(h))}b++}while(b<s)}n._ptr.push(n._index.length),n._size=[E,s]}function I(n,C,Q,E){if(Q-C==0)return Q;for(var s=C;s<Q;s++)if(E[s]===n)return s;return C}function B(n,C,Q,E,s,c,d){s.splice(n,0,E),c.splice(n,0,C);for(var b=Q+1;b<d.length;b++)d[b]++}function r(n,C,Q,E){var s=E||0,c=a,d=0;Ma(n._datatype)&&(c=A.find(a,[n._datatype,n._datatype])||a,d=A.convert(0,n._datatype),s=A.convert(s,n._datatype));var b,h,l,w=!c(s,d),k=n._size[0],M=n._size[1];if(Q>M){for(h=M;h<Q;h++)if(n._ptr[h]=n._values.length,w)for(b=0;b<k;b++)n._values.push(s),n._index.push(b);n._ptr[Q]=n._values.length}else Q<M&&(n._ptr.splice(Q+1,M-Q),n._values.splice(n._ptr[Q],n._values.length),n._index.splice(n._ptr[Q],n._index.length));if(M=Q,C>k){if(w){var N=0;for(h=0;h<M;h++){n._ptr[h]=n._ptr[h]+N,l=n._ptr[h+1]+N;var m=0;for(b=k;b<C;b++,m++)n._values.splice(l+m,0,s),n._index.splice(l+m,0,b),N++}n._ptr[M]=n._values.length}}else if(C<k){var G=0;for(h=0;h<M;h++){n._ptr[h]=n._ptr[h]-G;var L=n._ptr[h],x=n._ptr[h+1]-G;for(l=L;l<x;l++)(b=n._index[l])>C-1&&(n._values.splice(l,1),n._index.splice(l,1),G++)}n._ptr[h]=n._values.length}return n._size[0]=C,n._size[1]=Q,n}function o(n,C,Q,E,s){var c,d,b=E[0],h=E[1],l=[];for(c=0;c<b;c++)for(l[c]=[],d=0;d<h;d++)l[c][d]=0;for(d=0;d<h;d++)for(var w=Q[d],k=Q[d+1],M=w;M<k;M++)l[c=C[M]][d]=n?s?vA(n[M]):n[M]:1;return l}return t.prototype=new e,t.prototype.createSparseMatrix=function(n,C){return new t(n,C)},Object.defineProperty(t,"name",{value:"SparseMatrix"}),t.prototype.constructor=t,t.prototype.type="SparseMatrix",t.prototype.isSparseMatrix=!0,t.prototype.getDataType=function(){return Gt(this._values,_a)},t.prototype.storage=function(){return"sparse"},t.prototype.datatype=function(){return this._datatype},t.prototype.create=function(n,C){return new t(n,C)},t.prototype.density=function(){var n=this._size[0],C=this._size[1];return n!==0&&C!==0?this._index.length/(n*C):0},t.prototype.subset=function(n,C,Q){if(!this._values)throw new Error("Cannot invoke subset on a Pattern only matrix");switch(arguments.length){case 1:return function(E,s){if(!Mt(s))throw new TypeError("Invalid index");if(s.isScalar())return E.get(s.min());var c,d,b,h,l=s.size();if(l.length!==E._size.length)throw new UA(l.length,E._size.length);var w=s.min(),k=s.max();for(c=0,d=E._size.length;c<d;c++)JA(w[c],E._size[c]),JA(k[c],E._size[c]);var M=E._values,N=E._index,m=E._ptr,G=s.dimension(0),L=s.dimension(1),x=[],W=[];G.forEach(function(Z,nA){W[Z]=nA[0],x[Z]=!0});var X=M?[]:void 0,eA=[],AA=[];return L.forEach(function(Z){for(AA.push(eA.length),b=m[Z],h=m[Z+1];b<h;b++)c=N[b],x[c]===!0&&(eA.push(W[c]),X&&X.push(M[b]))}),AA.push(eA.length),new t({values:X,index:eA,ptr:AA,size:l,datatype:E._datatype})}(this,n);case 2:case 3:return function(E,s,c,d){if(!s||s.isIndex!==!0)throw new TypeError("Invalid index");var b,h=s.size(),l=s.isScalar();if(HA(c)?(b=c.size(),c=c.toArray()):b=ta(c),l){if(b.length!==0)throw new TypeError("Scalar expected");E.set(s.min(),c,d)}else{if(h.length!==1&&h.length!==2)throw new UA(h.length,E._size.length,"<");if(b.length<h.length){for(var w=0,k=0;h[w]===1&&b[w]===1;)w++;for(;h[w]===1;)k++,w++;c=vI(c,h.length,k,b)}if(!Me(h,b))throw new UA(h,b,">");if(h.length===1)s.dimension(0).forEach(function(m,G){JA(m),E.set([m,0],c[G[0]],d)});else{var M=s.dimension(0),N=s.dimension(1);M.forEach(function(m,G){JA(m),N.forEach(function(L,x){JA(L),E.set([m,L],c[G[0]][x[0]],d)})})}}return E}(this,n,C,Q);default:throw new SyntaxError("Wrong number of arguments")}},t.prototype.get=function(n){if(!PA(n))throw new TypeError("Array expected");if(n.length!==this._size.length)throw new UA(n.length,this._size.length);if(!this._values)throw new Error("Cannot invoke get on a Pattern only matrix");var C=n[0],Q=n[1];JA(C,this._size[0]),JA(Q,this._size[1]);var E=I(C,this._ptr[Q],this._ptr[Q+1],this._index);return E<this._ptr[Q+1]&&this._index[E]===C?this._values[E]:0},t.prototype.set=function(n,C,Q){if(!PA(n))throw new TypeError("Array expected");if(n.length!==this._size.length)throw new UA(n.length,this._size.length);if(!this._values)throw new Error("Cannot invoke set on a Pattern only matrix");var E=n[0],s=n[1],c=this._size[0],d=this._size[1],b=a,h=0;Ma(this._datatype)&&(b=A.find(a,[this._datatype,this._datatype])||a,h=A.convert(0,this._datatype)),(E>c-1||s>d-1)&&(r(this,Math.max(E+1,c),Math.max(s+1,d),Q),c=this._size[0],d=this._size[1]),JA(E,c),JA(s,d);var l=I(E,this._ptr[s],this._ptr[s+1],this._index);return l<this._ptr[s+1]&&this._index[l]===E?b(C,h)?function(w,k,M,N,m){M.splice(w,1),N.splice(w,1);for(var G=k+1;G<m.length;G++)m[G]--}(l,s,this._values,this._index,this._ptr):this._values[l]=C:b(C,h)||B(l,E,s,C,this._values,this._index,this._ptr),this},t.prototype.resize=function(n,C,Q){if(!lg(n))throw new TypeError("Array or Matrix expected");var E=n.valueOf().map(s=>Array.isArray(s)&&s.length===1?s[0]:s);if(E.length!==2)throw new Error("Only two dimensions matrix are supported");return E.forEach(function(s){if(!RA(s)||!LA(s)||s<0)throw new TypeError("Invalid size, must contain positive integers (size: "+qA(E)+")")}),r(Q?this.clone():this,E[0],E[1],C)},t.prototype.reshape=function(n,C){if(!PA(n))throw new TypeError("Array expected");if(n.length!==2)throw new Error("Sparse matrices can only be reshaped in two dimensions");n.forEach(function(W){if(!RA(W)||!LA(W)||W<=-2||W===0)throw new TypeError("Invalid size, must contain positive integers or -1 (size: "+qA(n)+")")});var Q=this._size[0]*this._size[1];if(Q!==(n=Nt(n,Q))[0]*n[1])throw new Error("Reshaping sparse matrix will result in the wrong number of elements");var E=C?this.clone():this;if(this._size[0]===n[0]&&this._size[1]===n[1])return E;for(var s=[],c=0;c<E._ptr.length;c++)for(var d=0;d<E._ptr[c+1]-E._ptr[c];d++)s.push(c);for(var b=E._values.slice(),h=E._index.slice(),l=0;l<E._index.length;l++){var w=h[l],k=s[l],M=w*E._size[1]+k;s[l]=M%n[1],h[l]=Math.floor(M/n[1])}E._values.length=0,E._index.length=0,E._ptr.length=n[1]+1,E._size=n.slice();for(var N=0;N<E._ptr.length;N++)E._ptr[N]=0;for(var m=0;m<b.length;m++){var G=h[m],L=s[m],x=b[m];B(I(G,E._ptr[L],E._ptr[L+1],E._index),G,L,x,E._values,E._index,E._ptr)}return E},t.prototype.clone=function(){return new t({values:this._values?vA(this._values):void 0,index:vA(this._index),ptr:vA(this._ptr),size:vA(this._size),datatype:this._datatype})},t.prototype.size=function(){return this._size.slice(0)},t.prototype.map=function(n,C){if(!this._values)throw new Error("Cannot invoke map on a Pattern only matrix");var Q=this,E=this._size[0],s=this._size[1],c=Fg(n,Q,"map");return function(d,b,h,l,w,k,M){var N=[],m=[],G=[],L=a,x=0;Ma(d._datatype)&&(L=A.find(a,[d._datatype,d._datatype])||a,x=A.convert(0,d._datatype));for(var W=function(fA,oA,MA){var BA=k(fA,oA,MA);L(BA,x)||(N.push(BA),m.push(oA))},X=l;X<=w;X++){G.push(N.length);var eA=d._ptr[X],AA=d._ptr[X+1];if(M)for(var Z=eA;Z<AA;Z++){var nA=d._index[Z];nA>=b&&nA<=h&&W(d._values[Z],nA-b,X-l)}else{for(var bA={},cA=eA;cA<AA;cA++)bA[d._index[cA]]=d._values[cA];for(var pA=b;pA<=h;pA++)W(pA in bA?bA[pA]:0,pA-b,X-l)}}return G.push(N.length),new t({values:N,index:m,ptr:G,size:[h-b+1,w-l+1]})}(this,0,E-1,0,s-1,function(d,b,h){return c.fn(d,[b,h],Q)},C)},t.prototype.forEach=function(n,C){if(!this._values)throw new Error("Cannot invoke forEach on a Pattern only matrix");for(var Q=this,E=this._size[0],s=this._size[1],c=Fg(n,Q,"forEach"),d=0;d<s;d++){var b=this._ptr[d],h=this._ptr[d+1];if(C)for(var l=b;l<h;l++){var w=this._index[l];c.fn(this._values[l],[w,d],Q)}else{for(var k={},M=b;M<h;M++)k[this._index[M]]=this._values[M];for(var N=0;N<E;N++){var m=N in k?k[N]:0;c.fn(m,[N,d],Q)}}}},t.prototype[Symbol.iterator]=function*(){if(!this._values)throw new Error("Cannot iterate a Pattern only matrix");for(var n=this._size[1],C=0;C<n;C++)for(var Q=this._ptr[C],E=this._ptr[C+1],s=Q;s<E;s++){var c=this._index[s];yield{value:this._values[s],index:[c,C]}}},t.prototype.toArray=function(){return o(this._values,this._index,this._ptr,this._size,!0)},t.prototype.valueOf=function(){return o(this._values,this._index,this._ptr,this._size,!1)},t.prototype.format=function(n){for(var C=this._size[0],Q=this._size[1],E=this.density(),s="Sparse Matrix ["+qA(C,n)+" x "+qA(Q,n)+"] density: "+qA(E,n)+`
|
|
35
|
+
`,c=0;c<Q;c++)for(var d=this._ptr[c],b=this._ptr[c+1],h=d;h<b;h++)s+=`
|
|
36
|
+
(`+qA(this._index[h],n)+", "+qA(c,n)+") ==> "+(this._values?qA(this._values[h],n):"X");return s},t.prototype.toString=function(){return qA(this.toArray())},t.prototype.toJSON=function(){return{mathjs:"SparseMatrix",values:this._values,index:this._index,ptr:this._ptr,size:this._size,datatype:this._datatype}},t.prototype.diagonal=function(n){if(n){if(TA(n)&&(n=n.toNumber()),!RA(n)||!LA(n))throw new TypeError("The parameter k must be an integer number")}else n=0;var C=n>0?n:0,Q=n<0?-n:0,E=this._size[0],s=this._size[1],c=Math.min(E-Q,s-C),d=[],b=[],h=[];h[0]=0;for(var l=C;l<s&&d.length<c;l++)for(var w=this._ptr[l],k=this._ptr[l+1],M=w;M<k;M++){var N=this._index[M];if(N===l-C+Q){d.push(this._values[M]),b[d.length-1]=N-Q;break}}return h.push(d.length),new t({values:d,index:b,ptr:h,size:[c,1]})},t.fromJSON=function(n){return new t(n)},t.diagonal=function(n,C,Q,E,s){if(!PA(n))throw new TypeError("Array expected, size parameter");if(n.length!==2)throw new Error("Only two dimensions matrix are supported");if(n=n.map(function(eA){if(TA(eA)&&(eA=eA.toNumber()),!RA(eA)||!LA(eA)||eA<1)throw new Error("Size values must be positive integers");return eA}),Q){if(TA(Q)&&(Q=Q.toNumber()),!RA(Q)||!LA(Q))throw new TypeError("The parameter k must be an integer number")}else Q=0;var c=a,d=0;Ma(s)&&(c=A.find(a,[s,s])||a,d=A.convert(0,s));var b,h=Q>0?Q:0,l=Q<0?-Q:0,w=n[0],k=n[1],M=Math.min(w-l,k-h);if(PA(C)){if(C.length!==M)throw new Error("Invalid value array length");b=function(eA){return C[eA]}}else if(HA(C)){var N=C.size();if(N.length!==1||N[0]!==M)throw new Error("Invalid matrix length");b=function(eA){return C.get([eA])}}else b=function(){return C};for(var m=[],G=[],L=[],x=0;x<k;x++){L.push(m.length);var W=x-h;if(W>=0&&W<M){var X=b(W);c(X,d)||(G.push(W+l),m.push(X))}}return L.push(m.length),new t({values:m,index:G,ptr:L,size:[w,k]})},t.prototype.swapRows=function(n,C){if(!(RA(n)&&LA(n)&&RA(C)&&LA(C)))throw new Error("Row index must be positive integers");if(this._size.length!==2)throw new Error("Only two dimensional matrix is supported");return JA(n,this._size[0]),JA(C,this._size[0]),t._swapRows(n,C,this._size[1],this._values,this._index,this._ptr),this},t._forEachRow=function(n,C,Q,E,s){for(var c=E[n],d=E[n+1],b=c;b<d;b++)s(Q[b],C[b])},t._swapRows=function(n,C,Q,E,s,c){for(var d=0;d<Q;d++){var b=c[d],h=c[d+1],l=I(n,b,h,s),w=I(C,b,h,s);if(l<h&&w<h&&s[l]===n&&s[w]===C){if(E){var k=E[l];E[l]=E[w],E[w]=k}}else if(l<h&&s[l]===n&&(w>=h||s[w]!==C)){var M=E?E[l]:void 0;s.splice(w,0,C),E&&E.splice(w,0,M),s.splice(w<=l?l+1:l,1),E&&E.splice(w<=l?l+1:l,1)}else if(w<h&&s[w]===C&&(l>=h||s[l]!==n)){var N=E?E[w]:void 0;s.splice(l,0,n),E&&E.splice(l,0,N),s.splice(l<=w?w+1:w,1),E&&E.splice(l<=w?w+1:w,1)}}},t},{isClass:!0}),no=lA("number",["typed"],g=>{var{typed:A}=g,a=A("number",{"":function(){return 0},number:function(e){return e},string:function(e){if(e==="NaN")return NaN;var t,i,I=(i=(t=e).match(/(0[box])([0-9a-fA-F]*)\.([0-9a-fA-F]*)/))?{input:t,radix:{"0b":2,"0o":8,"0x":16}[i[1]],integerPart:i[2],fractionalPart:i[3]}:null;if(I)return function(n){for(var C=parseInt(n.integerPart,n.radix),Q=0,E=0;E<n.fractionalPart.length;E++)Q+=parseInt(n.fractionalPart[E],n.radix)/Math.pow(n.radix,E+1);var s=C+Q;if(isNaN(s))throw new SyntaxError('String "'+n.input+'" is not a valid number');return s}(I);var B=0,r=e.match(/(0[box][0-9a-fA-F]*)i([0-9]*)/);r&&(B=Number(r[2]),e=r[1]);var o=Number(e);if(isNaN(o))throw new SyntaxError('String "'+e+'" is not a valid number');if(r){if(o>2**B-1)throw new SyntaxError('String "'.concat(e,'" is out of range'));o>=2**(B-1)&&(o-=2**B)}return o},BigNumber:function(e){return e.toNumber()},bigint:function(e){return Number(e)},Fraction:function(e){return e.valueOf()},Unit:A.referToSelf(e=>t=>{var i=t.clone();return i.value=e(t.value),i}),null:function(e){return 0},"Unit, string | Unit":function(e,t){return e.toNumber(t)},"Array | Matrix":A.referToSelf(e=>t=>oe(t,e))});return a.fromJSON=function(e){return parseFloat(e.value)},a}),ro=lA("bignumber",["typed","BigNumber"],g=>{var{typed:A,BigNumber:a}=g;return A("bignumber",{"":function(){return new a(0)},number:function(e){return new a(e+"")},string:function(e){var t=e.match(/(0[box][0-9a-fA-F]*)i([0-9]*)/);if(t){var i=t[2],I=a(t[1]),B=new a(2).pow(Number(i));if(I.gt(B.sub(1)))throw new SyntaxError('String "'.concat(e,'" is out of range'));var r=new a(2).pow(Number(i)-1);return I.gte(r)?I.sub(B):I}return new a(e)},BigNumber:function(e){return e},bigint:function(e){return new a(e.toString())},Unit:A.referToSelf(e=>t=>{var i=t.clone();return i.value=e(t.value),i}),Fraction:function(e){return new a(String(e.n)).div(String(e.d)).times(String(e.s))},null:function(e){return new a(0)},"Array | Matrix":A.referToSelf(e=>t=>oe(t,e))})}),oo=lA("fraction",["typed","Fraction"],g=>{var{typed:A,Fraction:a}=g;return A("fraction",{number:function(e){if(!isFinite(e)||isNaN(e))throw new Error(e+" cannot be represented as a fraction");return new a(e)},string:function(e){return new a(e)},"number, number":function(e,t){return new a(e,t)},"bigint, bigint":function(e,t){return new a(e,t)},null:function(e){return new a(0)},BigNumber:function(e){return new a(e.toString())},bigint:function(e){return new a(e.toString())},Fraction:function(e){return e},Unit:A.referToSelf(e=>t=>{var i=t.clone();return i.value=e(t.value),i}),Object:function(e){return new a(e)},"Array | Matrix":A.referToSelf(e=>t=>oe(t,e))})}),ki="matrix",Co=lA(ki,["typed","Matrix","DenseMatrix","SparseMatrix"],g=>{var{typed:A,Matrix:a,DenseMatrix:e,SparseMatrix:t}=g;return A(ki,{"":function(){return i([])},string:function(I){return i([],I)},"string, string":function(I,B){return i([],I,B)},Array:function(I){return i(I)},Matrix:function(I){return i(I,I.storage())},"Array | Matrix, string":i,"Array | Matrix, string, string":i});function i(I,B,r){if(B==="dense"||B==="default"||B===void 0)return new e(I,r);if(B==="sparse")return new t(I,r);throw new TypeError("Unknown matrix type "+JSON.stringify(B)+".")}}),Ri="unaryMinus",Eo=lA(Ri,["typed"],g=>{var{typed:A}=g;return A(Ri,{number:zI,"Complex | BigNumber | Fraction":a=>a.neg(),bigint:a=>-a,Unit:A.referToSelf(a=>e=>{var t=e.clone();return t.value=A.find(a,t.valueType())(e.value),t}),"Array | Matrix":A.referToSelf(a=>e=>oe(e,a,!0))})}),Qo=lA("abs",["typed"],g=>{var{typed:A}=g;return A("abs",{number:qI,"Complex | BigNumber | Fraction | Unit":a=>a.abs(),bigint:a=>a<0n?-a:a,"Array | Matrix":A.referToSelf(a=>e=>oe(e,a,!0))})}),Ni="addScalar",so=lA(Ni,["typed"],g=>{var{typed:A}=g;return A(Ni,{"number, number":TI,"Complex, Complex":function(a,e){return a.add(e)},"BigNumber, BigNumber":function(a,e){return a.plus(e)},"bigint, bigint":function(a,e){return a+e},"Fraction, Fraction":function(a,e){return a.add(e)},"Unit, Unit":A.referToSelf(a=>(e,t)=>{if(e.value===null||e.value===void 0)throw new Error("Parameter x contains a unit with undefined value");if(t.value===null||t.value===void 0)throw new Error("Parameter y contains a unit with undefined value");if(!e.equalBase(t))throw new Error("Units do not match");var i=e.clone();return i.value=A.find(a,[i.valueType(),t.valueType()])(i.value,t.value),i.fixPrefix=!1,i})})}),Gi="subtractScalar",co=lA(Gi,["typed"],g=>{var{typed:A}=g;return A(Gi,{"number, number":OI,"Complex, Complex":function(a,e){return a.sub(e)},"BigNumber, BigNumber":function(a,e){return a.minus(e)},"bigint, bigint":function(a,e){return a-e},"Fraction, Fraction":function(a,e){return a.sub(e)},"Unit, Unit":A.referToSelf(a=>(e,t)=>{if(e.value===null||e.value===void 0)throw new Error("Parameter x contains a unit with undefined value");if(t.value===null||t.value===void 0)throw new Error("Parameter y contains a unit with undefined value");if(!e.equalBase(t))throw new Error("Units do not match");var i=e.clone();return i.value=A.find(a,[i.valueType(),t.valueType()])(i.value,t.value),i.fixPrefix=!1,i})})}),ho=lA("matAlgo11xS0s",["typed","equalScalar"],g=>{var{typed:A,equalScalar:a}=g;return function(e,t,i,I){var B=e._values,r=e._index,o=e._ptr,n=e._size,C=e._datatype;if(!B)throw new Error("Cannot perform operation on Pattern Sparse Matrix and Scalar value");var Q,E=n[0],s=n[1],c=a,d=0,b=i;typeof C=="string"&&(Q=C,c=A.find(a,[Q,Q]),d=A.convert(0,Q),t=A.convert(t,Q),b=A.find(i,[Q,Q]));for(var h=[],l=[],w=[],k=0;k<s;k++){w[k]=l.length;for(var M=o[k],N=o[k+1],m=M;m<N;m++){var G=r[m],L=I?b(t,B[m]):b(B[m],t);c(L,d)||(l.push(G),h.push(L))}}return w[s]=l.length,e.createSparseMatrix({values:h,index:l,ptr:w,size:[E,s],datatype:Q})}}),bo=lA("matAlgo14xDs",["typed"],g=>{var{typed:A}=g;return function(e,t,i,I){var B,r=e._data,o=e._size,n=e._datatype,C=i;typeof n=="string"&&(B=n,t=A.convert(t,B),C=A.find(i,[B,B]));var Q=o.length>0?a(C,0,o,o[0],r,t,I):[];return e.createDenseMatrix({data:Q,size:vA(o),datatype:B})};function a(e,t,i,I,B,r,o){var n=[];if(t===i.length-1)for(var C=0;C<I;C++)n[C]=o?e(r,B[C]):e(B[C],r);else for(var Q=0;Q<I;Q++)n[Q]=a(e,t+1,i,i[t+1],B[Q],r,o);return n}}),uo=lA("multiplyScalar",["typed"],g=>{var{typed:A}=g;return A("multiplyScalar",{"number, number":PI,"Complex, Complex":function(a,e){return a.mul(e)},"BigNumber, BigNumber":function(a,e){return a.times(e)},"bigint, bigint":function(a,e){return a*e},"Fraction, Fraction":function(a,e){return a.mul(e)},"number | Fraction | BigNumber | Complex, Unit":(a,e)=>e.multiply(a),"Unit, number | Fraction | BigNumber | Complex | Unit":(a,e)=>a.multiply(e)})}),Si="multiply",lo=lA(Si,["typed","matrix","addScalar","multiplyScalar","equalScalar","dot"],g=>{var{typed:A,matrix:a,addScalar:e,multiplyScalar:t,equalScalar:i,dot:I}=g,B=ho({typed:A,equalScalar:i}),r=bo({typed:A});function o(E,s){switch(E.length){case 1:switch(s.length){case 1:if(E[0]!==s[0])throw new RangeError("Dimension mismatch in multiplication. Vectors must have the same length");break;case 2:if(E[0]!==s[0])throw new RangeError("Dimension mismatch in multiplication. Vector length ("+E[0]+") must match Matrix rows ("+s[0]+")");break;default:throw new Error("Can only multiply a 1 or 2 dimensional matrix (Matrix B has "+s.length+" dimensions)")}break;case 2:switch(s.length){case 1:if(E[1]!==s[0])throw new RangeError("Dimension mismatch in multiplication. Matrix columns ("+E[1]+") must match Vector length ("+s[0]+")");break;case 2:if(E[1]!==s[0])throw new RangeError("Dimension mismatch in multiplication. Matrix A columns ("+E[1]+") must match Matrix B rows ("+s[0]+")");break;default:throw new Error("Can only multiply a 1 or 2 dimensional matrix (Matrix B has "+s.length+" dimensions)")}break;default:throw new Error("Can only multiply a 1 or 2 dimensional matrix (Matrix A has "+E.length+" dimensions)")}}function n(E,s){if(s.storage()!=="dense")throw new Error("Support for SparseMatrix not implemented");return function(c,d){var b,h=c._data,l=c._size,w=c._datatype||c.getDataType(),k=d._data,M=d._size,N=d._datatype||d.getDataType(),m=l[0],G=M[1],L=e,x=t;w&&N&&w===N&&typeof w=="string"&&w!=="mixed"&&(b=w,L=A.find(e,[b,b]),x=A.find(t,[b,b]));for(var W=[],X=0;X<G;X++){for(var eA=x(h[0],k[0][X]),AA=1;AA<m;AA++)eA=L(eA,x(h[AA],k[AA][X]));W[X]=eA}return c.createDenseMatrix({data:W,size:[G],datatype:w===c._datatype&&N===d._datatype?b:void 0})}(E,s)}var C=A("_multiplyMatrixVector",{"DenseMatrix, any":function(E,s){var c,d=E._data,b=E._size,h=E._datatype||E.getDataType(),l=s._data,w=s._datatype||s.getDataType(),k=b[0],M=b[1],N=e,m=t;h&&w&&h===w&&typeof h=="string"&&h!=="mixed"&&(c=h,N=A.find(e,[c,c]),m=A.find(t,[c,c]));for(var G=[],L=0;L<k;L++){for(var x=d[L],W=m(x[0],l[0]),X=1;X<M;X++)W=N(W,m(x[X],l[X]));G[L]=W}return E.createDenseMatrix({data:G,size:[k],datatype:h===E._datatype&&w===s._datatype?c:void 0})},"SparseMatrix, any":function(E,s){var c=E._values,d=E._index,b=E._ptr,h=E._datatype||E._data===void 0?E._datatype:E.getDataType();if(!c)throw new Error("Cannot multiply Pattern only Matrix times Dense Matrix");var l,w=s._data,k=s._datatype||s.getDataType(),M=E._size[0],N=s._size[0],m=[],G=[],L=[],x=e,W=t,X=i,eA=0;h&&k&&h===k&&typeof h=="string"&&h!=="mixed"&&(l=h,x=A.find(e,[l,l]),W=A.find(t,[l,l]),X=A.find(i,[l,l]),eA=A.convert(0,l));var AA=[],Z=[];L[0]=0;for(var nA=0;nA<N;nA++){var bA=w[nA];if(!X(bA,eA))for(var cA=b[nA],pA=b[nA+1],fA=cA;fA<pA;fA++){var oA=d[fA];Z[oA]?AA[oA]=x(AA[oA],W(bA,c[fA])):(Z[oA]=!0,G.push(oA),AA[oA]=W(bA,c[fA]))}}for(var MA=G.length,BA=0;BA<MA;BA++){var CA=G[BA];m[BA]=AA[CA]}return L[1]=G.length,E.createSparseMatrix({values:m,index:G,ptr:L,size:[M,1],datatype:h===E._datatype&&k===s._datatype?l:void 0})}}),Q=A("_multiplyMatrixMatrix",{"DenseMatrix, DenseMatrix":function(E,s){var c,d=E._data,b=E._size,h=E._datatype||E.getDataType(),l=s._data,w=s._size,k=s._datatype||s.getDataType(),M=b[0],N=b[1],m=w[1],G=e,L=t;h&&k&&h===k&&typeof h=="string"&&h!=="mixed"&&h!=="mixed"&&(c=h,G=A.find(e,[c,c]),L=A.find(t,[c,c]));for(var x=[],W=0;W<M;W++){var X=d[W];x[W]=[];for(var eA=0;eA<m;eA++){for(var AA=L(X[0],l[0][eA]),Z=1;Z<N;Z++)AA=G(AA,L(X[Z],l[Z][eA]));x[W][eA]=AA}}return E.createDenseMatrix({data:x,size:[M,m],datatype:h===E._datatype&&k===s._datatype?c:void 0})},"DenseMatrix, SparseMatrix":function(E,s){var c=E._data,d=E._size,b=E._datatype||E.getDataType(),h=s._values,l=s._index,w=s._ptr,k=s._size,M=s._datatype||s._data===void 0?s._datatype:s.getDataType();if(!h)throw new Error("Cannot multiply Dense Matrix times Pattern only Matrix");var N,m=d[0],G=k[1],L=e,x=t,W=i,X=0;b&&M&&b===M&&typeof b=="string"&&b!=="mixed"&&(N=b,L=A.find(e,[N,N]),x=A.find(t,[N,N]),W=A.find(i,[N,N]),X=A.convert(0,N));for(var eA=[],AA=[],Z=[],nA=s.createSparseMatrix({values:eA,index:AA,ptr:Z,size:[m,G],datatype:b===E._datatype&&M===s._datatype?N:void 0}),bA=0;bA<G;bA++){Z[bA]=AA.length;var cA=w[bA],pA=w[bA+1];if(pA>cA)for(var fA=0,oA=0;oA<m;oA++){for(var MA=oA+1,BA=void 0,CA=cA;CA<pA;CA++){var uA=l[CA];fA!==MA?(BA=x(c[oA][uA],h[CA]),fA=MA):BA=L(BA,x(c[oA][uA],h[CA]))}fA!==MA||W(BA,X)||(AA.push(oA),eA.push(BA))}}return Z[G]=AA.length,nA},"SparseMatrix, DenseMatrix":function(E,s){var c=E._values,d=E._index,b=E._ptr,h=E._datatype||E._data===void 0?E._datatype:E.getDataType();if(!c)throw new Error("Cannot multiply Pattern only Matrix times Dense Matrix");var l,w=s._data,k=s._datatype||s.getDataType(),M=E._size[0],N=s._size[0],m=s._size[1],G=e,L=t,x=i,W=0;h&&k&&h===k&&typeof h=="string"&&h!=="mixed"&&(l=h,G=A.find(e,[l,l]),L=A.find(t,[l,l]),x=A.find(i,[l,l]),W=A.convert(0,l));for(var X=[],eA=[],AA=[],Z=E.createSparseMatrix({values:X,index:eA,ptr:AA,size:[M,m],datatype:h===E._datatype&&k===s._datatype?l:void 0}),nA=[],bA=[],cA=0;cA<m;cA++){AA[cA]=eA.length;for(var pA=cA+1,fA=0;fA<N;fA++){var oA=w[fA][cA];if(!x(oA,W))for(var MA=b[fA],BA=b[fA+1],CA=MA;CA<BA;CA++){var uA=d[CA];bA[uA]!==pA?(bA[uA]=pA,eA.push(uA),nA[uA]=L(oA,c[CA])):nA[uA]=G(nA[uA],L(oA,c[CA]))}}for(var yA=AA[cA],FA=eA.length,NA=yA;NA<FA;NA++){var WA=eA[NA];X[NA]=nA[WA]}}return AA[m]=eA.length,Z},"SparseMatrix, SparseMatrix":function(E,s){var c,d=E._values,b=E._index,h=E._ptr,l=E._datatype||E._data===void 0?E._datatype:E.getDataType(),w=s._values,k=s._index,M=s._ptr,N=s._datatype||s._data===void 0?s._datatype:s.getDataType(),m=E._size[0],G=s._size[1],L=d&&w,x=e,W=t;l&&N&&l===N&&typeof l=="string"&&l!=="mixed"&&(c=l,x=A.find(e,[c,c]),W=A.find(t,[c,c]));for(var X,eA,AA,Z,nA,bA,cA,pA,fA=L?[]:void 0,oA=[],MA=[],BA=E.createSparseMatrix({values:fA,index:oA,ptr:MA,size:[m,G],datatype:l===E._datatype&&N===s._datatype?c:void 0}),CA=L?[]:void 0,uA=[],yA=0;yA<G;yA++){MA[yA]=oA.length;var FA=yA+1;for(nA=M[yA],bA=M[yA+1],Z=nA;Z<bA;Z++)if(pA=k[Z],L)for(eA=h[pA],AA=h[pA+1],X=eA;X<AA;X++)uA[cA=b[X]]!==FA?(uA[cA]=FA,oA.push(cA),CA[cA]=W(w[Z],d[X])):CA[cA]=x(CA[cA],W(w[Z],d[X]));else for(eA=h[pA],AA=h[pA+1],X=eA;X<AA;X++)uA[cA=b[X]]!==FA&&(uA[cA]=FA,oA.push(cA));if(L)for(var NA=MA[yA],WA=oA.length,VA=NA;VA<WA;VA++){var ra=oA[VA];fA[VA]=CA[ra]}}return MA[G]=oA.length,BA}});return A(Si,t,{"Array, Array":A.referTo("Matrix, Matrix",E=>(s,c)=>{o(ta(s),ta(c));var d=E(a(s),a(c));return HA(d)?d.valueOf():d}),"Matrix, Matrix":function(E,s){var c=E.size(),d=s.size();return o(c,d),c.length===1?d.length===1?function(b,h,l){if(l===0)throw new Error("Cannot multiply two empty vectors");return I(b,h)}(E,s,c[0]):n(E,s):d.length===1?C(E,s):Q(E,s)},"Matrix, Array":A.referTo("Matrix,Matrix",E=>(s,c)=>E(s,a(c))),"Array, Matrix":A.referToSelf(E=>(s,c)=>E(a(s,c.storage()),c)),"SparseMatrix, any":function(E,s){return B(E,s,t,!1)},"DenseMatrix, any":function(E,s){return r(E,s,t,!1)},"any, SparseMatrix":function(E,s){return B(s,E,t,!0)},"any, DenseMatrix":function(E,s){return r(s,E,t,!0)},"Array, any":function(E,s){return r(a(E),s,t,!1).valueOf()},"any, Array":function(E,s){return r(a(s),E,t,!0).valueOf()},"any, any":t,"any, any, ...any":A.referToSelf(E=>(s,c,d)=>{for(var b=E(s,c),h=0;h<d.length;h++)b=E(b,d[h]);return b})})}),Ui="conj",fo=lA(Ui,["typed"],g=>{var{typed:A}=g;return A(Ui,{"number | BigNumber | Fraction":a=>a,Complex:a=>a.conjugate(),Unit:A.referToSelf(a=>e=>new e.constructor(a(e.toNumeric()),e.formatUnits())),"Array | Matrix":A.referToSelf(a=>e=>oe(e,a))})}),xi="identity",Do=lA(xi,["typed","config","matrix","BigNumber","DenseMatrix","SparseMatrix"],g=>{var{typed:A,config:a,matrix:e,BigNumber:t,DenseMatrix:i,SparseMatrix:I}=g;return A(xi,{"":function(){return a.matrix==="Matrix"?e([]):[]},string:function(o){return e(o)},"number | BigNumber":function(o){return r(o,o,a.matrix==="Matrix"?"dense":void 0)},"number | BigNumber, string":function(o,n){return r(o,o,n)},"number | BigNumber, number | BigNumber":function(o,n){return r(o,n,a.matrix==="Matrix"?"dense":void 0)},"number | BigNumber, number | BigNumber, string":function(o,n,C){return r(o,n,C)},Array:function(o){return B(o)},"Array, string":function(o,n){return B(o,n)},Matrix:function(o){return B(o.valueOf(),o.storage())},"Matrix, string":function(o,n){return B(o.valueOf(),n)}});function B(o,n){switch(o.length){case 0:return n?e(n):[];case 1:return r(o[0],o[0],n);case 2:return r(o[0],o[1],n);default:throw new Error("Vector containing two values expected")}}function r(o,n,C){var Q=TA(o)||TA(n)?t:null;if(TA(o)&&(o=o.toNumber()),TA(n)&&(n=n.toNumber()),!LA(o)||o<1)throw new Error("Parameters in function identity must be positive integers");if(!LA(n)||n<1)throw new Error("Parameters in function identity must be positive integers");var E=Q?new t(1):1,s=Q?new Q(0):0,c=[o,n];if(C){if(C==="sparse")return I.diagonal(c,E,0,s);if(C==="dense")return i.diagonal(c,E,0,s);throw new TypeError('Unknown matrix type "'.concat(C,'"'))}for(var d=lt([],c,s),b=o<n?o:n,h=0;h<b;h++)d[h][h]=E;return d}});function wo(){throw new Error('No "bignumber" implementation available')}function yo(){throw new Error('No "fraction" implementation available')}var Li,Ji="size",po=lA(Ji,["typed","config","?matrix"],g=>{var{typed:A,config:a,matrix:e}=g;return A(Ji,{Matrix:function(t){return t.create(t.size(),"number")},Array:ta,string:function(t){return a.matrix==="Array"?[t.length]:e([t.length],"dense","number")},"number | Complex | BigNumber | Unit | boolean | null":function(t){return a.matrix==="Array"?[]:e?e([],"dense","number"):function(){throw new Error('No "matrix" implementation available')}()}})}),Fo=lA("numeric",["number","?bignumber","?fraction"],g=>{var{number:A,bignumber:a,fraction:e}=g,t={string:!0,number:!0,BigNumber:!0,Fraction:!0},i={number:I=>A(I),BigNumber:a?I=>a(I):wo,bigint:I=>BigInt(I),Fraction:e?I=>e(I):yo};return function(I){var B=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"number";if((arguments.length>2?arguments[2]:void 0)!==void 0)throw new SyntaxError("numeric() takes one or two arguments");var r=_a(I);if(!(r in t))throw new TypeError("Cannot convert "+I+' of type "'+r+'"; valid input types are '+Object.keys(t).join(", "));if(!(B in i))throw new TypeError("Cannot convert "+I+' to type "'+B+'"; valid output types are '+Object.keys(i).join(", "));return B===r?I:i[B](I)}}),ji="divideScalar",mo=lA(ji,["typed","numeric"],g=>{var{typed:A,numeric:a}=g;return A(ji,{"number, number":function(e,t){return e/t},"Complex, Complex":function(e,t){return e.div(t)},"BigNumber, BigNumber":function(e,t){return e.div(t)},"bigint, bigint":function(e,t){return e/t},"Fraction, Fraction":function(e,t){return e.div(t)},"Unit, number | Complex | Fraction | BigNumber | Unit":(e,t)=>e.divide(t),"number | Fraction | Complex | BigNumber, Unit":(e,t)=>t.divideInto(e)})}),Mo=lA("pow",["typed","config","identity","multiply","matrix","inv","fraction","number","Complex"],g=>{var{typed:A,config:a,identity:e,multiply:t,matrix:i,inv:I,number:B,fraction:r,Complex:o}=g;return A("pow",{"number, number":n,"Complex, Complex":function(E,s){return E.pow(s)},"BigNumber, BigNumber":function(E,s){return s.isInteger()||E>=0||a.predictable?E.pow(s):new o(E.toNumber(),0).pow(s.toNumber(),0)},"bigint, bigint":(E,s)=>E**s,"Fraction, Fraction":function(E,s){var c=E.pow(s);if(c!=null)return c;if(a.predictable)throw new Error("Result of pow is non-rational and cannot be expressed as a fraction");return n(E.valueOf(),s.valueOf())},"Array, number":C,"Array, BigNumber":function(E,s){return C(E,s.toNumber())},"Matrix, number":Q,"Matrix, BigNumber":function(E,s){return Q(E,s.toNumber())},"Unit, number | BigNumber":function(E,s){return E.pow(s)}});function n(E,s){if(a.predictable&&!LA(s)&&E<0)try{var c=r(s),d=B(c);if((s===d||Math.abs((s-d)/s)<1e-14)&&c.d%2n===1n)return(c.n%2n===0n?1:-1)*Math.pow(-E,s)}catch{}return a.predictable&&(E<-1&&s===1/0||E>-1&&E<0&&s===-1/0)?NaN:LA(s)||E>=0||a.predictable?WI(E,s):E*E<1&&s===1/0||E*E>1&&s===-1/0?0:new o(E,0).pow(s,0)}function C(E,s){if(!LA(s))throw new TypeError("For A^b, b must be an integer (value is "+s+")");var c=ta(E);if(c.length!==2)throw new Error("For A^b, A must be 2 dimensional (A has "+c.length+" dimensions)");if(c[0]!==c[1])throw new Error("For A^b, A must be square (size is "+c[0]+"x"+c[1]+")");if(s<0)try{return C(I(E),-s)}catch(h){throw h.message==="Cannot calculate inverse, determinant is zero"?new TypeError("For A^b, when A is not invertible, b must be a positive integer (value is "+s+")"):h}for(var d=e(c[0]).valueOf(),b=E;s>=1;)1&~s||(d=t(b,d)),s>>=1,b=t(b,b);return d}function Q(E,s){return i(C(E.valueOf(),s))}}),ko=lA("dot",["typed","addScalar","multiplyScalar","conj","size"],g=>{var{typed:A,addScalar:a,multiplyScalar:e,conj:t,size:i}=g;return A("dot",{"Array | DenseMatrix, Array | DenseMatrix":function(r,o){var n=I(r,o),C=HA(r)?r._data:r,Q=HA(r)?r._datatype||r.getDataType():void 0,E=HA(o)?o._data:o,s=HA(o)?o._datatype||o.getDataType():void 0,c=B(r).length===2,d=B(o).length===2,b=a,h=e;if(Q&&s&&Q===s&&typeof Q=="string"&&Q!=="mixed"){var l=Q;b=A.find(a,[l,l]),h=A.find(e,[l,l])}if(!c&&!d){for(var w=h(t(C[0]),E[0]),k=1;k<n;k++)w=b(w,h(t(C[k]),E[k]));return w}if(!c&&d){for(var M=h(t(C[0]),E[0][0]),N=1;N<n;N++)M=b(M,h(t(C[N]),E[N][0]));return M}if(c&&!d){for(var m=h(t(C[0][0]),E[0]),G=1;G<n;G++)m=b(m,h(t(C[G][0]),E[G]));return m}if(c&&d){for(var L=h(t(C[0][0]),E[0][0]),x=1;x<n;x++)L=b(L,h(t(C[x][0]),E[x][0]));return L}},"SparseMatrix, SparseMatrix":function(r,o){I(r,o);for(var n=r._index,C=r._values,Q=o._index,E=o._values,s=0,c=a,d=e,b=0,h=0;b<n.length&&h<Q.length;){var l=n[b],w=Q[h];l<w?b++:l>w?h++:l===w&&(s=c(s,d(C[b],E[h])),b++,h++)}return s}});function I(r,o){var n,C,Q=B(r),E=B(o);if(Q.length===1)n=Q[0];else{if(Q.length!==2||Q[1]!==1)throw new RangeError("Expected a column vector, instead got a matrix of size ("+Q.join(", ")+")");n=Q[0]}if(E.length===1)C=E[0];else{if(E.length!==2||E[1]!==1)throw new RangeError("Expected a column vector, instead got a matrix of size ("+E.join(", ")+")");C=E[0]}if(n!==C)throw new RangeError("Vectors must have equal length ("+n+" != "+C+")");if(n===0)throw new RangeError("Cannot calculate the dot product of empty vectors");return n}function B(r){return HA(r)?r.size():i(r)}}),Ro=lA("det",["typed","matrix","subtractScalar","multiply","divideScalar","isZero","unaryMinus"],g=>{var{typed:A,matrix:a,subtractScalar:e,multiply:t,divideScalar:i,isZero:I,unaryMinus:B}=g;return A("det",{any:function(r){return vA(r)},"Array | Matrix":function(r){var o;switch((o=HA(r)?r.size():Array.isArray(r)?(r=a(r)).size():[]).length){case 0:return vA(r);case 1:if(o[0]===1)return vA(r.valueOf()[0]);if(o[0]===0)return 1;throw new RangeError("Matrix must be square (size: "+qA(o)+")");case 2:var n=o[0],C=o[1];if(n===C)return function(Q,E){if(E===1)return vA(Q[0][0]);if(E===2)return e(t(Q[0][0],Q[1][1]),t(Q[1][0],Q[0][1]));for(var s=!1,c=new Array(E).fill(0).map((G,L)=>L),d=0;d<E;d++){var b=c[d];if(I(Q[b][d])){var h=void 0;for(h=d+1;h<E;h++)if(!I(Q[c[h]][d])){b=c[h],c[h]=c[d],c[d]=b,s=!s;break}if(h===E)return Q[b][d]}for(var l=Q[b][d],w=d===0?1:Q[c[d-1]][d-1],k=d+1;k<E;k++)for(var M=c[k],N=d+1;N<E;N++)Q[M][N]=i(e(t(Q[M][N],l),t(Q[M][d],Q[b][N])),w)}var m=Q[c[E-1]][E-1];return s?B(m):m}(r.clone().valueOf(),n);if(C===0)return 1;throw new RangeError("Matrix must be square (size: "+qA(o)+")");default:throw new RangeError("Matrix must be two dimensional (size: "+qA(o)+")")}}})}),No=lA("inv",["typed","matrix","divideScalar","addScalar","multiply","unaryMinus","det","identity","abs"],g=>{var{typed:A,matrix:a,divideScalar:e,addScalar:t,multiply:i,unaryMinus:I,det:B,identity:r,abs:o}=g;return A("inv",{"Array | Matrix":function(C){var Q=HA(C)?C.size():ta(C);switch(Q.length){case 1:if(Q[0]===1)return HA(C)?a([e(1,C.valueOf()[0])]):[e(1,C[0])];throw new RangeError("Matrix must be square (size: "+qA(Q)+")");case 2:var E=Q[0],s=Q[1];if(E===s)return HA(C)?a(n(C.valueOf(),E,s),C.storage()):n(C,E,s);throw new RangeError("Matrix must be square (size: "+qA(Q)+")");default:throw new RangeError("Matrix must be two dimensional (size: "+qA(Q)+")")}},any:function(C){return e(1,C)}});function n(C,Q,E){var s,c,d,b,h;if(Q===1){if((b=C[0][0])===0)throw Error("Cannot calculate inverse, determinant is zero");return[[e(1,b)]]}if(Q===2){var l=B(C);if(l===0)throw Error("Cannot calculate inverse, determinant is zero");return[[e(C[1][1],l),e(I(C[0][1]),l)],[e(I(C[1][0]),l),e(C[0][0],l)]]}var w=C.concat();for(s=0;s<Q;s++)w[s]=w[s].concat();for(var k=r(Q).valueOf(),M=0;M<E;M++){var N=o(w[M][M]),m=M;for(s=M+1;s<Q;)o(w[s][M])>N&&(N=o(w[s][M]),m=s),s++;if(N===0)throw Error("Cannot calculate inverse, determinant is zero");(s=m)!==M&&(h=w[M],w[M]=w[s],w[s]=h,h=k[M],k[M]=k[s],k[s]=h);var G=w[M],L=k[M];for(s=0;s<Q;s++){var x=w[s],W=k[s];if(s!==M){if(x[M]!==0){for(d=e(I(x[M]),G[M]),c=M;c<E;c++)x[c]=t(x[c],i(d,G[c]));for(c=0;c<E;c++)W[c]=t(W[c],i(d,L[c]))}}else{for(d=G[M],c=M;c<E;c++)x[c]=e(x[c],d);for(c=0;c<E;c++)W[c]=e(W[c],d)}}}return k}}),vi="gamma",Go=lA(vi,["typed","config","multiplyScalar","pow","BigNumber","Complex"],g=>{var{typed:A,config:a,multiplyScalar:e,pow:t,BigNumber:i,Complex:I}=g;return A(vi,{number:mg,Complex:function r(o){if(o.im===0)return mg(o.re);if(o.re<.5){var n=new I(1-o.re,-o.im),C=new I(Math.PI*o.re,Math.PI*o.im);return new I(Math.PI).div(C.sin()).div(r(n))}o=new I(o.re-1,o.im);for(var Q=new I(Fe[0],0),E=1;E<Fe.length;++E){var s=new I(Fe[E],0);Q=Q.add(s.div(o.add(E)))}var c=new I(o.re+VI+.5,o.im),d=Math.sqrt(2*Math.PI),b=c.pow(o.add(.5)),h=c.neg().exp();return Q.mul(d).mul(b).mul(h)},BigNumber:function(r){if(r.isInteger())return r.isNegative()||r.isZero()?new i(1/0):B(r.minus(1));if(!r.isFinite())return new i(r.isNegative()?NaN:1/0);throw new Error("Integer BigNumber expected")}});function B(r){if(r<8)return new i([1,1,2,6,24,120,720,5040][r]);var o=a.precision+(0|Math.log(r.toNumber())),n=i.clone({precision:o});if(r%2==1)return r.times(B(new i(r-1)));for(var C=r,Q=new n(r),E=r.toNumber();C>2;)E+=C-=2,Q=Q.times(E);return new i(Q.toPrecision(i.precision))}}),Rg=Wr({config:re}),wt=Xr({}),XI=_r({}),St=$r({}),Ut=go({Matrix:St}),jA=gr({BigNumber:Rg,Complex:wt,DenseMatrix:Ut,Fraction:XI}),So=Qo({typed:jA}),yt=so({typed:jA}),Uo=fo({typed:jA}),xt=Io({config:re,typed:jA}),xo=to({equalScalar:xt,typed:jA}),pt=uo({typed:jA}),ZI=no({typed:jA}),_I=Bo({Matrix:St,equalScalar:xt,typed:jA}),Lo=co({typed:jA}),Jo=ro({BigNumber:Rg,typed:jA}),me=Co({DenseMatrix:Ut,Matrix:St,SparseMatrix:_I,typed:jA}),$I=oo({Fraction:XI,typed:jA}),Hi=Do({BigNumber:Rg,DenseMatrix:Ut,SparseMatrix:_I,config:re,matrix:me,typed:jA}),jo=Fo({bignumber:Jo,fraction:$I,number:ZI}),vo=po({matrix:me,config:re,typed:jA}),Yi=Eo({typed:jA}),Ki=mo({numeric:jo,typed:jA}),Bt=lo({addScalar:yt,dot:ko({addScalar:yt,conj:Uo,multiplyScalar:pt,size:vo,typed:jA}),equalScalar:xt,matrix:me,multiplyScalar:pt,typed:jA}),Ho=Go({BigNumber:Rg,Complex:wt,config:re,multiplyScalar:pt,pow:Mo({Complex:wt,config:re,fraction:$I,identity:Hi,inv:No({abs:So,addScalar:yt,det:Ro({divideScalar:Ki,isZero:xo,matrix:me,multiply:Bt,subtractScalar:Lo,typed:jA,unaryMinus:Yi}),divideScalar:Ki,identity:Hi,matrix:me,multiply:Bt,typed:jA,unaryMinus:Yi}),matrix:me,multiply:Bt,number:ZI,typed:jA}),typed:jA});class Yo{constructor(A){if(A){const{toElementFn:a}=A;if(typeof a=="function")this._toElementFn=a;else if(a)throw new TypeError("toElementFn must be a function type")}}_toElementFn;get toElementFn(){return this._toElementFn}*[Symbol.iterator](...A){yield*this._getIterator(...A)}*values(){for(const A of this)yield A}every(A,a){let e=0;for(const t of this)if(!A.call(a,t,e++,this))return!1;return!0}some(A,a){let e=0;for(const t of this)if(A.call(a,t,e++,this))return!0;return!1}forEach(A,a){let e=0;for(const t of this)A.call(a,t,e++,this)}find(A,a){let e=0;for(const t of this)if(A.call(a,t,e++,this))return t}has(A){for(const a of this)if(a===A)return!0;return!1}reduce(A,a){let e=a??0,t=0;for(const i of this)e=A(e,i,t++,this);return e}toArray(){return[...this]}toVisual(){return[...this]}print(){console.log(this.toVisual())}}/**
|
|
37
37
|
* data-structure-typed
|
|
38
38
|
* @author Kirk Qi
|
|
39
39
|
* @copyright Copyright (c) 2022 Kirk Qi <qilinaus@gmail.com>
|
|
40
40
|
* @license MIT License
|
|
41
|
-
*/class ne extends
|
|
41
|
+
*/class ne extends Yo{constructor(A=[],a){if(super(a),a){const{comparator:e}=a;e&&(this._comparator=e)}this.addMany(A)}_elements=[];get elements(){return this._elements}get size(){return this.elements.length}get leaf(){return this.elements[this.size-1]??void 0}static heapify(A,a){return new ne(A,a)}add(A){return this._elements.push(A),this._bubbleUp(this.elements.length-1)}addMany(A){const a=[];for(const e of A)this._toElementFn?a.push(this.add(this._toElementFn(e))):a.push(this.add(e));return a}poll(){if(this.elements.length===0)return;const A=this.elements[0],a=this.elements.pop();return this.elements.length&&(this.elements[0]=a,this._sinkDown(0,this.elements.length>>1)),A}peek(){return this.elements[0]}isEmpty(){return this.size===0}clear(){this._elements=[]}refill(A){return this._elements=A,this.fix()}has(A){return this.elements.includes(A)}delete(A){const a=this.elements.indexOf(A);return!(a<0)&&(a===0?this.poll():a===this.elements.length-1?this.elements.pop():(this.elements.splice(a,1,this.elements.pop()),this._bubbleUp(a),this._sinkDown(a,this.elements.length>>1)),!0)}dfs(A="PRE"){const a=[],e=t=>{const i=2*t+1,I=i+1;t<this.size&&(A==="IN"?(e(i),a.push(this.elements[t]),e(I)):A==="PRE"?(a.push(this.elements[t]),e(i),e(I)):A==="POST"&&(e(i),e(I),a.push(this.elements[t])))};return e(0),a}clone(){return new ne(this,{comparator:this.comparator,toElementFn:this.toElementFn})}sort(){const A=[],a=new ne(this,{comparator:this.comparator});for(;a.size!==0;){const e=a.poll();e!==void 0&&A.push(e)}return A}fix(){const A=[];for(let a=Math.floor(this.size/2);a>=0;a--)A.push(this._sinkDown(a,this.elements.length>>1));return A}filter(A,a){const e=new ne([],{toElementFn:this.toElementFn,comparator:this.comparator});let t=0;for(const i of this)A.call(a,i,t,this)&&e.add(i),t++;return e}map(A,a,e,t){const i=new ne([],{comparator:a,toElementFn:e});let I=0;for(const B of this)i.add(A.call(t,B,I,this)),I++;return i}_DEFAULT_COMPARATOR=(A,a)=>{if(typeof A=="object"||typeof a=="object")throw TypeError("When comparing object types, a custom comparator must be defined in the constructor's options parameter.");return A>a?1:A<a?-1:0};_comparator=this._DEFAULT_COMPARATOR;get comparator(){return this._comparator}*_getIterator(){for(const A of this.elements)yield A}_bubbleUp(A){const a=this.elements[A];for(;A>0;){const e=A-1>>1,t=this.elements[e];if(this.comparator(t,a)<=0)break;this.elements[A]=t,A=e}return this.elements[A]=a,!0}_sinkDown(A,a){const e=this.elements[A];for(;A<a;){let t=A<<1|1;const i=t+1;let I=this.elements[t];if(i<this.elements.length&&this.comparator(I,this.elements[i])>0&&(t=i,I=this.elements[i]),this.comparator(I,e)>=0)break;this.elements[A]=I,A=t}return this.elements[A]=e,!0}}(function(g){g[g.VISIT=0]="VISIT",g[g.PROCESS=1]="PROCESS"})(Li||(Li={}));class qe extends ne{constructor(A=[],a){super(A,a)}clone(){return new qe(this,{comparator:this.comparator,toElementFn:this.toElementFn})}filter(A,a){const e=new qe([],{toElementFn:this.toElementFn,comparator:this.comparator});let t=0;for(const i of this)A.call(a,i,t,this)&&e.add(i),t++;return e}map(A,a,e,t){const i=new qe([],{comparator:a,toElementFn:e});let I=0;for(const B of this)i.add(A.call(t,B,I,this)),I++;return i}}class Te extends qe{constructor(A=[],a){super(A,a)}clone(){return new Te(this,{comparator:this.comparator,toElementFn:this.toElementFn})}filter(A,a){const e=new Te([],{toElementFn:this.toElementFn,comparator:this.comparator});let t=0;for(const i of this)A.call(a,i,t,this)&&e.add(i),t++;return e}map(A,a,e,t){const i=new Te([],{comparator:a,toElementFn:e});let I=0;for(const B of this)i.add(A.call(t,B,I,this)),I++;return i}}new f.Box3,new f.Vector3,new f.Vector3,new f.Vector3,new f.Vector3;const AB=`let n, y = null;
|
|
42
|
+
function S() {
|
|
43
|
+
return (y === null || y.byteLength === 0) && (y = new Uint32Array(n.memory.buffer)), y;
|
|
44
|
+
}
|
|
45
|
+
let e = 0;
|
|
46
|
+
function r(I, A) {
|
|
47
|
+
const g = A(I.length * 4, 4) >>> 0;
|
|
48
|
+
return S().set(I, g / 4), e = I.length, g;
|
|
49
|
+
}
|
|
50
|
+
function f(I, A) {
|
|
51
|
+
return I = I >>> 0, S().subarray(I / 4, I / 4 + A);
|
|
52
|
+
}
|
|
53
|
+
function H(I, A) {
|
|
54
|
+
const g = r(I, n.__wbindgen_malloc), B = e, C = r(A, n.__wbindgen_malloc), E = e, t = n.radix_sort_indices(g, B, C, E);
|
|
55
|
+
var s = f(t[0], t[1]).slice();
|
|
56
|
+
return n.__wbindgen_free(t[0], t[1] * 4, 4), s;
|
|
57
|
+
}
|
|
58
|
+
async function q(I, A) {
|
|
59
|
+
if (typeof Response == "function" && I instanceof Response) {
|
|
60
|
+
if (typeof WebAssembly.instantiateStreaming == "function")
|
|
61
|
+
try {
|
|
62
|
+
return await WebAssembly.instantiateStreaming(I, A);
|
|
63
|
+
} catch (B) {
|
|
64
|
+
if (I.headers.get("Content-Type") != "application/wasm")
|
|
65
|
+
console.warn("\`WebAssembly.instantiateStreaming\` failed because your server does not serve Wasm with \`application/wasm\` MIME type. Falling back to \`WebAssembly.instantiate\` which is slower. Original error:\\n", B);
|
|
66
|
+
else
|
|
67
|
+
throw B;
|
|
68
|
+
}
|
|
69
|
+
const g = await I.arrayBuffer();
|
|
70
|
+
return await WebAssembly.instantiate(g, A);
|
|
71
|
+
} else {
|
|
72
|
+
const g = await WebAssembly.instantiate(I, A);
|
|
73
|
+
return g instanceof WebAssembly.Instance ? { instance: g, module: I } : g;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
function l() {
|
|
77
|
+
const I = {};
|
|
78
|
+
return I.wbg = {}, I.wbg.__wbindgen_init_externref_table = function() {
|
|
79
|
+
const A = n.__wbindgen_export_0, g = A.grow(4);
|
|
80
|
+
A.set(0, void 0), A.set(g + 0, void 0), A.set(g + 1, null), A.set(g + 2, !0), A.set(g + 3, !1);
|
|
81
|
+
}, I;
|
|
82
|
+
}
|
|
83
|
+
function x(I, A) {
|
|
84
|
+
return n = I.exports, J.__wbindgen_wasm_module = A, y = null, n.__wbindgen_start(), n;
|
|
85
|
+
}
|
|
86
|
+
async function J(I) {
|
|
87
|
+
if (n !== void 0) return n;
|
|
88
|
+
typeof I < "u" && (Object.getPrototypeOf(I) === Object.prototype ? { module_or_path: I } = I : console.warn("using deprecated parameters for the initialization function; pass a single object instead")), typeof I > "u" && (I = new URL("data:application/wasm;base64,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aiIFIAMgAmsiAkEBcjYCBEGIjMAAIAI2AgBBkIzAACAFNgIAIAgMAQsgCAsMAgsLQQEgAUUNABpBqYjAAC0AABogAUEBECMLIgIEQCAAIAE2AgggACACNgIEIABBADYCAA8LIAAgATYCCCAAQQE2AgQMAQsgAEEANgIECyAAQQE2AgALdgEBfyMAQSBrIgIkAAJ/IAAoAgBBgICAgHhHBEAgASAAKAIEIAAoAggQIQwBCyACQRhqIAAoAgwiAEEQaikCADcDACACQRBqIABBCGopAgA3AwAgAiAAKQIANwMIIAEoAhQgASgCGCACQQhqEAULIAJBIGokAAtsAQF/IwBBMGsiASQAIAEgADYCACABQYABNgIEIAFBAjYCDCABQZiIwAA2AgggAUICNwIUIAEgAUEEaq1CgICAgCCENwMoIAEgAa1CgICAgCCENwMgIAEgAUEgajYCECABQQhqQYiGwAAQFAALZQAjAEEwayIAJABBqIjAAC0AAARAIABBAjYCDCAAQdiCwAA2AgggAEIBNwIUIAAgATYCLCAAIABBLGqtQoCAgIAghDcDICAAIABBIGo2AhAgAEEIakH4gsAAEBQACyAAQTBqJAALtAIBA38jAEEgayICJAAgAkEQaiIDIABBEGopAgA3AwAgAkEIaiIEIABBCGopAgA3AwAgAkEBOwEcIAIgATYCGCACIAApAgA3AwAjAEEgayIAJAAgAigCGCEBIABBEGogAykCADcDACAAQQhqIAQpAgA3AwAgACACNgIcIAAgATYCGCAAIAIpAgA3AwBBACECIwBBEGsiASQAIAAoAgwhAwJAAkACQAJAIAAoAgQOAgABAgsgAw0BQQEhAwwCCyADDQAgACgCACIDKAIEIQIgAygCACEDDAELIAFBgICAgHg2AgAgASAANgIMIAFBxIPAACAAKAIYIAAoAhwiAC0AHCAALQAdEA0ACyABIAI2AgQgASADNgIAIAFBqIPAACAAKAIYIAAoAhwiAC0AHCAALQAdEA0AC0EBAX8gAiAAKAIAIAAoAggiA2tLBEAgACADIAIQDCAAKAIIIQMLIAAoAgQgA2ogASACEAgaIAAgAiADajYCCEEACyYBAX8CQCAAEAEiAUUNACABQQRrLQAAQQNxRQ0AIAEgABAOCyABC00BAn9BqYjAAC0AABogASgCBCECIAEoAgAhA0EIQQQQIyIBRQRAQQRBCBAuAAsgASACNgIEIAEgAzYCACAAQZiDwAA2AgQgACABNgIAC0EBAX8jAEEgayICJAAgAkEANgIQIAJBATYCBCACQgQ3AgggAkEuNgIcIAIgADYCGCACIAJBGGo2AgAgAiABEBQAC7MCAQN/IAAoAgAhAiABKAIcIgBBEHFFBEAgAEEgcUUEQCACIAEQKw8LQQAhACMAQYABayIEJAAgAigCACECA0AgACAEakH/AGogAkEPcSIDQTByIANBN2ogA0EKSRs6AAAgAEEBayEAIAJBEEkgAkEEdiECRQ0ACyAAQYABaiICQYEBTwRAIAIQEgALIAFBmIbAAEECIAAgBGpBgAFqQQAgAGsQAyAEQYABaiQADwtBACEAIwBBgAFrIgQkACACKAIAIQIDQCAAIARqQf8AaiACQQ9xIgNBMHIgA0HXAGogA0EKSRs6AAAgAEEBayEAIAJBEEkgAkEEdiECRQ0ACyAAQYABaiICQYEBTwRAIAIQEgALIAFBmIbAAEECIAAgBGpBgAFqQQAgAGsQAyAEQYABaiQACzgAAkAgAkGAgMQARg0AIAAgAiABKAIQEQEARQ0AQQEPCyADRQRAQQAPCyAAIAMgBCABKAIMEQIACzgAAkAgAWlBAUZBgICAgHggAWsgAE9xRQ0AIAAEQEGpiMAALQAAGiAAIAEQIyIBRQ0BCyABDwsAC/4PARJ/IwBBEGsiDiQAIAAhEyACIRQjAEGQCGsiCSQAIAkgASICNgIIIAkgAzYCDAJAAkACQAJAAkAgASADRgRAQQAhAAJAIAFB/////wNLIAFBAnQiB0H8////B0tyDQAgB0UEQEEEIQ8MBQtBqYjAAC0AABpBBCEAIAdBBBAjIg9FDQAgDyATIAcQCCENQamIwAAtAAAaIAdBBBAjIgAEQCAAIBQgBxAIIQEgAkUNBSABIQMgAkEBRwRAIAdBBGtBAnYiBEEDcSEFIAEoAgAhBgJAIARBAWtBA0kEQAwBCyABQRBqIQAgBEH8////A3EhDANAIAMgAEEMayIDIAYgAygCACIISyIEGyAAQQhrIgMgBiAIIAQbIgsgAygCACIISyIEGyAAQQRrIgMgCyAIIAQbIgggAygCACIESyIDGyAAIAggBCADGyILIAAoAgAiCEsiBBshAyALIAggBBshBiAAQRBqIQAgDCAKQQRqIgpHDQALCyAFBEAgCkECdCABakEEaiEAA0AgAyAAIAYgACgCACIISyIEGyEDIAYgCCAEGyEGIABBBGohACAFQQFrIgUNAAsLIANFDQULIAMoAgAhFSAHEBYiEARAIAcQFiIRBEAgASAHaiESIBVFDQUgB0EEayIIQQJ2QQFqQQNxIgpBAnQhBCAIQQxJIQxBACEGA0AgCUEQakGACBAOIAEhACAKBEAgBCEDA0AgCUEQaiAAKAIAIAZ2Qf8BcUECdGoiBSAFKAIAQQFqNgIAIABBBGohACADQQRrIgMNAAsLIAxFBEADQCAJQRBqIgUgACgCACAGdkH/AXFBAnRqIgMgAygCAEEBajYCACAAQQRqKAIAIAZ2Qf8BcUECdCAFaiIDIAMoAgBBAWo2AgAgAEEIaigCACAGdkH/AXFBAnQgBWoiAyADKAIAQQFqNgIAIABBDGooAgAgBnZB/wFxQQJ0IAVqIgMgAygCAEEBajYCACAAQRBqIgAgEkcNAAsLQQAhAyAJKAIQIQUDQCAJQRBqIANqIgtBBGoiACAAKAIAIAVqIgU2AgAgC0EIaiIAIAAoAgAgBWoiBTYCACALQQxqIgAgACgCACAFaiIFNgIAIAtBEGoiACAAKAIAIAVqIgU2AgAgC0EUaiIAIAAoAgAgBWoiBTYCACADQRRqIgNB/AdHDQALIAghACACIQUCQANAIAlBEGogACABaigCACILIAZ2Qf8BcUECdGoiAyADKAIAQQFrIgM2AgAgAiADTQ0BIBAgA0ECdCIDaiALNgIAIAMgEWogACANaigCADYCACAAQQRrIQAgBUEBayIFDQALIAEgECAHEAgaIA0gESAHEAgaIAZBF0sNByAVIAZBCGoiBnYNAQwHCwsjAEEwayIAJAAgACACNgIEIAAgAzYCACAAQQI2AgwgAEHUhMAANgIIIABCAjcCFCAAIACtQoCAgIAghDcDKCAAIABBBGqtQoCAgIAghDcDICAAIABBIGo2AhAgAEEIakGcgMAAEBQACwwHCwwGCwwFCyAAIAcQHwALIAlCADcCHCAJQoGAgIDAADcCFCAJQdyAwAA2AhAjAEEQayIAJAAgACAJQQxqNgIMIAAgCUEIajYCCCMAQfAAayIBJAAgAUGAgMAANgIMIAEgAEEIajYCCCABQYCAwAA2AhQgASAAQQxqNgIQIAFB5ITAADYCGCABQQI2AhwCQCAJQRBqIgAoAgBFBEAgAUEDNgJcIAFBoIXAADYCWCABQgM3AmQgASABQRBqrUKAgICAsAKENwNIIAEgAUEIaq1CgICAgLAChDcDQAwBCyABQTBqIABBEGopAgA3AwAgAUEoaiAAQQhqKQIANwMAIAEgACkCADcDICABQQQ2AlwgAUHUhcAANgJYIAFCBDcCZCABIAFBEGqtQoCAgICwAoQ3A1AgASABQQhqrUKAgICAsAKENwNIIAEgAUEgaq1CgICAgNAChDcDQAsgASABQRhqrUKAgICAwAKENwM4IAEgAUE4ajYCYCABQdgAakHkgMAAEBQACwJAIAJBAUYNACASIAJBAXYiCkECdGshDEEAIQMgCkEBayILBEAgCkH+////AXEhBSASQQRrIQYgASEAA0AgBigCACEEIAYgACgCADYCACAAIAQ2AgAgDCAKIANB/v///wNzakECdGoiBCgCACEIIAQgAEEEaiIEKAIANgIAIAQgCDYCACAGQQhrIQYgAEEIaiEAIAUgA0ECaiIDRw0ACwsgAkECcQRAIAEgA0ECdGoiACgCACEEIAAgDCAKIANBf3NqQQJ0aiIAKAIANgIAIAAgBDYCAAsgDSACQQJ0akEAIAprQQJ0aiEMAkAgC0UEQEEAIQMMAQsgCkH+////AXEhBSACQQJ0IA1qQQRrIQZBACEDIA0hAANAIAYoAgAhBCAGIAAoAgA2AgAgACAENgIAIAwgCiADQf7///8Dc2pBAnRqIgQoAgAhCCAEIABBBGoiBCgCADYCACAEIAg2AgAgBkEIayEGIABBCGohACAFIANBAmoiA0cNAAsLIAJBAnFFDQAgDSADQQJ0aiIAKAIAIQQgACAMIAogA0F/c2pBAnRqIgAoAgA2AgAgACAENgIACyARIAcQKiAQIAcQKgsgASAHECogFCAHECogEyAHECoLIA4gAjYCBCAOIA82AgAgCUGQCGokAAwBC0EEIAcQHwALIA4oAgAgDigCBCAOQRBqJAALJQEBfyAAKAIAIgFBgICAgHhyQYCAgIB4RwRAIAAoAgQgARAqCwsXAQF/IAAoAgAiAQRAIAAoAgQgARAqCwtEACAARQRAIwBBIGsiACQAIABBADYCGCAAQQE2AgwgAEH0g8AANgIIIABCBDcCECAAQQhqQZCEwAAQFAALIAAgARAuAAsNACABBEAgACABECoLCxYAIAAoAhQgASACIAAoAhgoAgwRAgALFAAgACgCACABIAAoAgQoAgwRAQAL+AIBBX8CfyABQQlPBEACQEHN/3tBECABIAFBEE0bIgJrIABNDQAgAkEQIABBC2pBeHEgAEELSRsiBGpBDGoQASIARQ0AIABBCGshAQJAIAJBAWsiAyAAcUUEQCABIQAMAQsgAEEEayIFKAIAIgZBeHEgACADakEAIAJrcUEIayIAIAJBACAAIAFrQRBNG2oiACABayICayEDIAZBA3EEQCAAIAMgACgCBEEBcXJBAnI2AgQgACADaiIDIAMoAgRBAXI2AgQgBSACIAUoAgBBAXFyQQJyNgIAIAEgAmoiAyADKAIEQQFyNgIEIAEgAhAGDAELIAEoAgAhASAAIAM2AgQgACABIAJqNgIACwJAIAAoAgQiAUEDcUUNACABQXhxIgIgBEEQak0NACAAIAQgAUEBcXJBAnI2AgQgACAEaiIBIAIgBGsiBEEDcjYCBCAAIAJqIgIgAigCBEEBcjYCBCABIAQQBgsgAEEIaiEDCyADDAELIAAQAQsLIQAgAELZqfGIxMOd/r9/NwMIIABCl9+A2NfypK8qNwMACyIAIABC7bqtts2F1PXjADcDCCAAQviCmb2V7sbFuX83AwALEwAgAEGYg8AANgIEIAAgATYCAAsQACABIAAoAgAgACgCBBAhC70FAQd/An8gACgCACEFIAAoAgQhBAJAIAEiAygCCEEBcUUiACADKAIAIghFcUUEQAJAIAANACAEIAVqIQcCQCADKAIMIgZFBEAgBSEADAELIAUhAANAIAAiASAHRg0CIAICfyAAQQFqIAAsAAAiAkEATg0AGiAAQQJqIAJBYEkNABogAEEDaiACQXBJDQAaIABBBGoLIgAgAWtqIQIgBkEBayIGDQALCyAAIAdGDQAgACwAABogAiAEAn8CQCACRQ0AIAIgBEkEQCACIAVqLAAAQb9/Sg0BQQAMAgsgAiAERg0AQQAMAQsgBQsiABshBCAAIAUgABshBQsgCEUNASADKAIEIQcCQCAEQRBPBEAgBSAEEAIhAQwBCyAERQRAQQAhAQwBCyAEQQNxIQYCQCAEQQRJBEBBACEBQQAhAgwBCyAEQQxxIQhBACEBQQAhAgNAIAEgAiAFaiIALAAAQb9/SmogAEEBaiwAAEG/f0pqIABBAmosAABBv39KaiAAQQNqLAAAQb9/SmohASAIIAJBBGoiAkcNAAsLIAZFDQAgAiAFaiEAA0AgASAALAAAQb9/SmohASAAQQFqIQAgBkEBayIGDQALCwJAIAEgB0kEQCAHIAFrIQBBACEBAkACQAJAIAMtACBBAWsOAgABAgsgACEBQQAhAAwBCyAAQQF2IQEgAEEBakEBdiEACyABQQFqIQEgAygCECEGIAMoAhghAiADKAIUIQMDQCABQQFrIgFFDQIgAyAGIAIoAhARAQBFDQALQQEMBAsMAgtBASADIAUgBCACKAIMEQIADQIaQQAhAQNAQQAgACABRg0DGiABQQFqIQEgAyAGIAIoAhARAQBFDQALIAFBAWsgAEkMAgsgAygCFCAFIAQgAygCGCgCDBECAAwBCyADKAIUIAUgBCADKAIYKAIMEQIACwsQACABKAIUIAEoAhggABAFC1sBAn8CQAJAIABBBGsoAgAiAkF4cSIDQQRBCCACQQNxIgIbIAFqTwRAIAJBACADIAFBJ2pLGw0BIAAQBAwCC0G1gcAAQeSBwAAQGAALQfSBwABBpILAABAYAAsLyQICBH8CfiAANQIAIQYjAEEwayIDJABBJyEAAkAgBkKQzgBUBEAgBiEHDAELA0AgA0EJaiAAaiICQQRrIAYgBkKQzgCAIgdCkM4Afn2nIgRB//8DcUHkAG4iBUEBdEGahsAAai8AADsAACACQQJrIAQgBUHkAGxrQf//A3FBAXRBmobAAGovAAA7AAAgAEEEayEAIAZC/8HXL1YgByEGDQALCwJAIAdC4wBYBEAgB6chAgwBCyAAQQJrIgAgA0EJamogB6ciAiACQf//A3FB5ABuIgJB5ABsa0H//wNxQQF0QZqGwABqLwAAOwAACwJAIAJBCk8EQCAAQQJrIgAgA0EJamogAkEBdEGahsAAai8AADsAAAwBCyAAQQFrIgAgA0EJamogAkEwcjoAAAsgAUEBQQAgA0EJaiAAakEnIABrEAMgA0EwaiQACw0AIABB9IDAACABEAULDAAgACABKQIANwMACxkAIAAgAUHQiMAAKAIAIgBBAyAAGxEAAAALCQAgAEEANgIACwurCAEAQYSAwAALoQgEAAAABAAAAAEAAABzcmNcbGliLnJzAAAQABAACgAAADEAAAAaAAAASW5kaWNlcyBhbmQgZGlzdGFuY2VzIG11c3QgaGF2ZSB0aGUgc2FtZSBsZW5ndGguLAAQADAAAAAQABAACgAAAAgAAAAFAAAABAAAAAwAAAAEAAAABQAAAAYAAAAHAAAAL3J1c3QvZGVwcy9kbG1hbGxvYy0wLjIuNi9zcmMvZGxtYWxsb2MucnNhc3NlcnRpb24gZmFpbGVkOiBwc2l6ZSA+PSBzaXplICsgbWluX292ZXJoZWFkAIwAEAApAAAAqAQAAAkAAABhc3NlcnRpb24gZmFpbGVkOiBwc2l6ZSA8PSBzaXplICsgbWF4X292ZXJoZWFkAACMABAAKQAAAK4EAAANAAAAbWVtb3J5IGFsbG9jYXRpb24gb2YgIGJ5dGVzIGZhaWxlZAAANAEQABUAAABJARAADQAAAHN0ZC9zcmMvYWxsb2MucnNoARAAEAAAAGMBAAAJAAAABAAAAAwAAAAEAAAACAAAAAAAAAAIAAAABAAAAAkAAAAAAAAACAAAAAQAAAAKAAAACwAAAAwAAAANAAAADgAAABAAAAAEAAAADwAAABAAAAARAAAAEgAAAGNhcGFjaXR5IG92ZXJmbG93AAAA4AEQABEAAABhbGxvYy9zcmMvcmF3X3ZlYy5yc/wBEAAUAAAAGAAAAAUAAABpbmRleCBvdXQgb2YgYm91bmRzOiB0aGUgbGVuIGlzICBidXQgdGhlIGluZGV4IGlzIAAAIAIQACAAAABAAhAAEgAAAD09IT1tYXRjaGVzYXNzZXJ0aW9uIGBsZWZ0ICByaWdodGAgZmFpbGVkCiAgbGVmdDogCiByaWdodDogAG8CEAAQAAAAfwIQABcAAACWAhAACQAAACByaWdodGAgZmFpbGVkOiAKICBsZWZ0OiAAAABvAhAAEAAAALgCEAAQAAAAyAIQAAkAAACWAhAACQAAAGNvcmUvc3JjL2ZtdC9udW0ucnMA9AIQABMAAABmAAAAFwAAADB4MDAwMTAyMDMwNDA1MDYwNzA4MDkxMDExMTIxMzE0MTUxNjE3MTgxOTIwMjEyMjIzMjQyNTI2MjcyODI5MzAzMTMyMzMzNDM1MzYzNzM4Mzk0MDQxNDI0MzQ0NDU0NjQ3NDg0OTUwNTE1MjUzNTQ1NTU2NTc1ODU5NjA2MTYyNjM2NDY1NjY2NzY4Njk3MDcxNzI3Mzc0NzU3Njc3Nzg3OTgwODE4MjgzODQ4NTg2ODc4ODg5OTA5MTkyOTM5NDk1OTY5Nzk4OTlyYW5nZSBzdGFydCBpbmRleCAgb3V0IG9mIHJhbmdlIGZvciBzbGljZSBvZiBsZW5ndGggAADiAxAAEgAAAPQDEAAiAHsJcHJvZHVjZXJzAghsYW5ndWFnZQEEUnVzdAAMcHJvY2Vzc2VkLWJ5AwVydXN0Yx0xLjgyLjAgKGY2ZTUxMWVlYyAyMDI0LTEwLTE1KQZ3YWxydXMGMC4yMi4wDHdhc20tYmluZGdlbhIwLjIuOTUgKDNhOGRhN2NiOCkASQ90YXJnZXRfZmVhdHVyZXMEKw9tdXRhYmxlLWdsb2JhbHMrCHNpZ24tZXh0Kw9yZWZlcmVuY2UtdHlwZXMrCm11bHRpdmFsdWU=", import.meta.url));
|
|
89
|
+
const A = l();
|
|
90
|
+
(typeof I == "string" || typeof Request == "function" && I instanceof Request || typeof URL == "function" && I instanceof URL) && (I = fetch(I));
|
|
91
|
+
const { instance: g, module: B } = await q(await I, A);
|
|
92
|
+
return x(g, B);
|
|
93
|
+
}
|
|
94
|
+
const K = new ArrayBuffer(4), b = new Float32Array(K), p = new Uint32Array(K);
|
|
95
|
+
class Z {
|
|
96
|
+
constructor(A) {
|
|
97
|
+
this.points = new Float32Array(4096 * 3), this.distances = new Uint32Array(4096), this.pointSets = /* @__PURE__ */ new Map(), this.numUsed = 0, this.sortOngoing = !1, this.sortCallback = A, this.sortPromise = Promise.resolve();
|
|
98
|
+
}
|
|
99
|
+
hidePoints(A) {
|
|
100
|
+
const g = this.pointSets.get(A);
|
|
101
|
+
g.used && (g.used = !1);
|
|
102
|
+
}
|
|
103
|
+
removePoints(A) {
|
|
104
|
+
const g = this.pointSets.get(A);
|
|
105
|
+
g.used && (g.used = !1), this.pointSets.delete(A);
|
|
106
|
+
let B = 0;
|
|
107
|
+
for (const [C, E] of this.pointSets.entries())
|
|
108
|
+
C + E.length > B && (B = C + E.length);
|
|
109
|
+
}
|
|
110
|
+
showPoints(A) {
|
|
111
|
+
const g = this.pointSets.get(A);
|
|
112
|
+
g.used || (g.used = !0);
|
|
113
|
+
}
|
|
114
|
+
resizeArrays(A) {
|
|
115
|
+
if (isNaN(A) && console.log("hit max splats"), A > this.points.length) {
|
|
116
|
+
A = Math.max(this.points.length * 2, A);
|
|
117
|
+
const g = new Float32Array(A);
|
|
118
|
+
g.set(this.points, 0), this.points = g;
|
|
119
|
+
const B = Math.floor(A / 3), C = new Uint32Array(B);
|
|
120
|
+
C.set(this.distances, 0), this.distances = C;
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
addBatchesOffsetStrideCount(A, g, B, C, E) {
|
|
124
|
+
const t = Math.max(this.points.length, g[g.length - 1] + E * 3);
|
|
125
|
+
this.resizeArrays(t);
|
|
126
|
+
for (let s = 0; s < g.length; s++) {
|
|
127
|
+
const a = g[s], o = s * E * C, D = Math.min((A.length - o) / C, E);
|
|
128
|
+
for (let i = 0; i < D; i++)
|
|
129
|
+
this.points[a + i * 3] = A[i * C + B + o], this.points[a + i * 3 + 1] = A[i * C + B + o + 1], this.points[a + i * 3 + 2] = A[i * C + B + o + 2];
|
|
130
|
+
this.pointSets.set(a, { length: D * 3, used: !1 });
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
getFrustumPlanes(A, g = 1.2) {
|
|
134
|
+
const B = new Float32Array(24);
|
|
135
|
+
let C = 0;
|
|
136
|
+
const E = (t, s, a, o, D) => {
|
|
137
|
+
const i = 1 / Math.hypot(t, s, a);
|
|
138
|
+
B[C++] = t * i, B[C++] = s * i, B[C++] = a * i;
|
|
139
|
+
let w = o * i;
|
|
140
|
+
if (D && g !== 1) {
|
|
141
|
+
const h = 1 - g;
|
|
142
|
+
w -= h;
|
|
143
|
+
}
|
|
144
|
+
B[C++] = w;
|
|
145
|
+
};
|
|
146
|
+
return E(A[3] + A[0], A[7] + A[4], A[11] + A[8], A[15] + A[12], !0), E(A[3] - A[0], A[7] - A[4], A[11] - A[8], A[15] - A[12], !0), E(A[3] + A[1], A[7] + A[5], A[11] + A[9], A[15] + A[13], !0), E(A[3] - A[1], A[7] - A[5], A[11] - A[9], A[15] - A[13], !0), E(A[3] + A[2], A[7] + A[6], A[11] + A[10], A[15] + A[14], !1), E(A[3] - A[2], A[7] - A[6], A[11] - A[10], A[15] + A[14], !1), B;
|
|
147
|
+
}
|
|
148
|
+
computeDistances(A, g, B, C) {
|
|
149
|
+
this.distances.fill(0);
|
|
150
|
+
const E = Array.from(this.pointSets.keys()), t = E.length;
|
|
151
|
+
let s;
|
|
152
|
+
C && (s = this.getFrustumPlanes(C)), this.numUsed = 0;
|
|
153
|
+
for (let o = 0; o < t; o++) {
|
|
154
|
+
const D = E[o], i = this.pointSets.get(D);
|
|
155
|
+
if (!i.used) continue;
|
|
156
|
+
const w = Math.floor(i.length / 3);
|
|
157
|
+
this.numUsed += w;
|
|
158
|
+
}
|
|
159
|
+
this.indexes = new Uint32Array(this.numUsed), this.distances = new Uint32Array(this.numUsed);
|
|
160
|
+
let a = 0;
|
|
161
|
+
for (let o = 0; o < t; o++) {
|
|
162
|
+
const D = E[o], i = Math.floor(D / 3), w = this.pointSets.get(D);
|
|
163
|
+
if (!w.used) continue;
|
|
164
|
+
const h = Math.floor(w.length / 3);
|
|
165
|
+
for (let c = 0; c < h; c++) {
|
|
166
|
+
const G = D + c * 3, M = this.points[G], F = this.points[G + 1], Y = this.points[G + 2];
|
|
167
|
+
if (s) {
|
|
168
|
+
let k = !0;
|
|
169
|
+
for (let N = 0; N < 24; N += 4)
|
|
170
|
+
if (M * s[N] + F * s[N + 1] + Y * s[N + 2] + s[N + 3] < 0) {
|
|
171
|
+
k = !1;
|
|
172
|
+
break;
|
|
173
|
+
}
|
|
174
|
+
if (!k) continue;
|
|
175
|
+
}
|
|
176
|
+
const R = A - M, U = g - F, d = B - Y, L = R * R + U * U + d * d;
|
|
177
|
+
b[0] = L, this.distances[a] = p[0], this.indexes[a++] = i + c;
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
this.numUsed = a, this.indexes = this.indexes.subarray(0, a), this.distances = this.distances.subarray(0, a);
|
|
181
|
+
}
|
|
182
|
+
sort(A, g, B) {
|
|
183
|
+
this.pendingSort = { xyz: A, vpm: g }, this.pendingID = B, this.sortOngoing || (this.sortOngoing = !0, this.processSortQueue());
|
|
184
|
+
}
|
|
185
|
+
// Asynchronous loop to process sort requests sequentially
|
|
186
|
+
async processSortQueue() {
|
|
187
|
+
for (this.initialized || (await J(), this.initialized = !0); this.pendingSort; ) {
|
|
188
|
+
const { xyz: A, vpm: g } = this.pendingSort, B = this.pendingID;
|
|
189
|
+
this.pendingSort = null, this.pendingID = null, this.computeDistances(A[0], A[1], A[2], g);
|
|
190
|
+
const C = performance.now();
|
|
191
|
+
this.indexes = H(this.indexes, this.distances);
|
|
192
|
+
const E = performance.now() - C;
|
|
193
|
+
this.sortCallback(this.indexes, this.numUsed, B, E), await new Promise((t) => setTimeout(t, 0));
|
|
194
|
+
}
|
|
195
|
+
this.sortOngoing = !1;
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
const m = (I, A, g, B) => {
|
|
199
|
+
const C = new Uint32Array(I);
|
|
200
|
+
postMessage({
|
|
201
|
+
order: C.buffer,
|
|
202
|
+
count: A,
|
|
203
|
+
id: g,
|
|
204
|
+
sortPerf: B
|
|
205
|
+
}, [C.buffer]);
|
|
206
|
+
};
|
|
207
|
+
let Q;
|
|
208
|
+
self.onmessage = function(I) {
|
|
209
|
+
try {
|
|
210
|
+
switch (I.data.method) {
|
|
211
|
+
case "addBatches":
|
|
212
|
+
Q || (Q = new Z(m)), Q.addBatchesOffsetStrideCount(new Float32Array(I.data.positions), I.data.insertionIndexes, I.data.offset, I.data.stride, I.data.batchSize);
|
|
213
|
+
break;
|
|
214
|
+
case "hide":
|
|
215
|
+
Q && Q.hidePoints(I.data.insertionIndex);
|
|
216
|
+
break;
|
|
217
|
+
case "hideBatches":
|
|
218
|
+
Q && (I.data.insertionIndexes.forEach((A) => {
|
|
219
|
+
Q.hidePoints(A);
|
|
220
|
+
}), Q.sort(I.data.xyz, I.data.vpm, I.data.id));
|
|
221
|
+
break;
|
|
222
|
+
case "show":
|
|
223
|
+
Q && (Q.showPoints(I.data.insertionIndex), Q.sort(I.data.xyz, I.data.vpm, I.data.id));
|
|
224
|
+
break;
|
|
225
|
+
case "showBatches":
|
|
226
|
+
Q && (I.data.insertionIndexes.forEach((A) => {
|
|
227
|
+
Q.showPoints(A);
|
|
228
|
+
}), Q.sort(I.data.xyz, I.data.vpm, I.data.id));
|
|
229
|
+
break;
|
|
230
|
+
case "remove":
|
|
231
|
+
Q && (Q.removePoints(I.data.insertionIndex), Q.sort(I.data.xyz, I.data.vpm, I.data.id));
|
|
232
|
+
break;
|
|
233
|
+
case "removeBatches":
|
|
234
|
+
Q && (I.data.insertionIndexes.forEach((A) => {
|
|
235
|
+
Q.removePoints(A);
|
|
236
|
+
}), Q.sort(I.data.xyz, I.data.vpm, I.data.id));
|
|
237
|
+
break;
|
|
238
|
+
case "sort":
|
|
239
|
+
Q && Q.sort(I.data.xyz, I.data.vpm, I.data.id);
|
|
240
|
+
break;
|
|
241
|
+
default:
|
|
242
|
+
throw new Error(\`No method with name \${I.data.method}\`);
|
|
243
|
+
}
|
|
244
|
+
} catch (A) {
|
|
245
|
+
postMessage({ error: A.message });
|
|
246
|
+
}
|
|
247
|
+
};
|
|
248
|
+
//# sourceMappingURL=PointsManager.worker-dH1fNyu8.js.map
|
|
249
|
+
`,qi=typeof self<"u"&&self.Blob&&new Blob(["URL.revokeObjectURL(import.meta.url);",AB],{type:"text/javascript;charset=utf-8"});function Ko(g){let A;try{if(A=qi&&(self.URL||self.webkitURL).createObjectURL(qi),!A)throw"";const a=new Worker(A,{type:"module",name:g?.name});return a.addEventListener("error",()=>{(self.URL||self.webkitURL).revokeObjectURL(A)}),a}catch{return new Worker("data:text/javascript;charset=utf-8,"+encodeURIComponent(AB),{type:"module",name:g?.name})}}new f.Vector3,new f.Vector3;const aB=new f.Matrix3;aB.set(1,0,0,0,0,1,0,-1,0);const qo=new f.Matrix4().set(1,0,0,0,0,0,-1,0,0,1,0,0,0,0,0,1);function nt(g,A){return(f.DataUtils.toHalfFloat(g)|f.DataUtils.toHalfFloat(A)<<16)>>>0}class eB extends f.Mesh{constructor(A,a,e){const i=Math.min(Math.ceil(4)*1024,Math.pow(1024,2));let I=1*Math.pow(1024,2);I=Math.floor(I/i)*i;const B=new f.WebGL3DRenderTarget(1024,1024,1,{magFilter:f.NearestFilter,minFilter:f.NearestFilter,type:f.UnsignedIntType,format:f.RGBAIntegerFormat,anisotropy:0,depthBuffer:!1,resolveDepthBuffer:!1});B.texture.type=f.UnsignedIntType,B.texture.format=f.RGBAIntegerFormat,B.texture.internalFormat="RGBA32UI",A.initRenderTarget(B);const r=new f.WebGL3DRenderTarget(1024,1024,1,{magFilter:f.NearestFilter,minFilter:f.NearestFilter,anisotropy:0,type:f.UnsignedIntType,format:f.RGBAIntegerFormat,depthBuffer:!1,resolveDepthBuffer:!1});r.texture.type=f.UnsignedIntType,r.texture.format=f.RGBAIntegerFormat,r.texture.internalFormat="RGBA32UI",A.initRenderTarget(r);const o=new f.ShaderMaterial({glslVersion:f.GLSL3,uniforms:{textureSize:{value:1024},numSlices:{value:1},covarianceTexture:{value:r.texture},positionColorTexture:{value:B.texture},zUpToYUpMatrix3x3:{value:aB},sizeMultiplier:{value:1},cropRadius:{value:Number.MAX_VALUE},viewportPixelSize:{value:new f.Vector2},k:{value:2},beta_k:{value:2},minSplatPixelSize:{value:0},minOpacity:{value:.01},culling:{value:!1},antialiasingFactor:{value:2}},vertexShader:gB(),fragmentShader:e||tB(),transparent:!0,side:f.FrontSide,depthTest:!1,depthWrite:!1,blending:f.NormalBlending}),n=new f.InstancedBufferGeometry,C=new Float32Array([-.5,.5,0,.5,.5,0,-.5,-.5,0,.5,-.5,0]);n.setIndex([0,2,1,2,3,1]),n.setAttribute("position",new f.BufferAttribute(C,3));const Q=new Uint32Array(I),E=new f.InstancedBufferAttribute(Q,1,!1);E.needsUpdate=!0,E.setUsage(f.DynamicDrawUsage),n.setAttribute("order",E),n.instanceCount=0,super(n,o),this.matrixAutoUpdate=!1,this.numBatches=0,this.numVisibleBatches=0,this.orderAttribute=E,this.textureSize=1024,this.numTextures=1,this.batchSize=i,this.maxSplats=I,this.numSplatsRendered=0,this.positionColorRenderTarget=B,this.covarianceRenderTarget=r,this.renderer=A,this.sortID=0,this.freeAddresses=new Te;for(let c=0;c<this.maxSplats;c+=i)this.freeAddresses.add(c);this.worker=new Ko,this.sortListeners=[],this.worker.onmessage=c=>{const d=new Uint32Array(c.data.order);if(this.numSplatsRendered=d.length,d.length>this.orderAttribute.count){const b=new f.InstancedBufferGeometry,h=new Float32Array([-.5,.5,0,.5,.5,0,-.5,-.5,0,.5,-.5,0]),l=[0,2,1,2,3,1];b.setIndex(l),b.setAttribute("position",new f.BufferAttribute(h,3));const w=new Uint32Array(this.maxSplats),k=new f.InstancedBufferAttribute(w,1,!1);k.needsUpdate=!0,k.setUsage(f.DynamicDrawUsage),b.setAttribute("order",k),b.instanceCount=0,this.geometry.dispose(),this.geometry=b,this.orderAttribute=k}this.orderAttribute.clearUpdateRanges(),this.orderAttribute.set(d),this.orderAttribute.addUpdateRange(0,d.length),this.orderAttribute.needsUpdate=!0,this.geometry.instanceCount=c.data.count,this.geometry.needsUpdate=!0;for(let b=this.sortListeners.length-1;b>=0;b--)this.sortListeners[b](c.data.id)&&this.sortListeners.splice(b,1)},this.cameraPosition=new f.Vector3(0,0,0),this.viewProjModel,this.rotateOnAxis(new f.Vector3(1,0,0),.5*Math.PI),this.frustumCulled=!1,this.copyMaterial2D=new f.ShaderMaterial({glslVersion:f.GLSL3,uniforms:{sourceTexture:{}},vertexShader:Ti(),fragmentShader:`
|
|
42
250
|
precision highp float;
|
|
43
251
|
precision highp int;
|
|
44
252
|
precision highp usampler2D;
|
|
@@ -63,7 +271,7 @@ in vec2 vUv;
|
|
|
63
271
|
|
|
64
272
|
void main() {
|
|
65
273
|
fragColor = texture( sourceTexture, vec3(vUv, w) );
|
|
66
|
-
}`,transparent:!1,side:f.FrontSide,depthTest:!1,depthWrite:!1}),this.copyCamera=new f.OrthographicCamera(-.5,.5,.5,-.5,.1,10),this.copyCamera.position.z=1,this.copyScene=new f.Scene;const
|
|
274
|
+
}`,transparent:!1,side:f.FrontSide,depthTest:!1,depthWrite:!1}),this.copyCamera=new f.OrthographicCamera(-.5,.5,.5,-.5,.1,10),this.copyCamera.position.z=1,this.copyScene=new f.Scene;const s=new f.PlaneGeometry(1,1);this.copyQuad=new f.Mesh(s,this.copyMaterial2D),this.copyScene.add(this.copyQuad),this.copyScene.matrixAutoUpdate=!1,this.copyQuad.matrixAutoUpdate=!1,this.splatsCPUCuling=!1}setQuality(A){const a=2+2*(A=Math.max(0,Math.min(1,1-A)));this.material.uniforms.k.value=a,this.material.uniforms.beta_k.value=Math.pow(4*Ho(2/a)/a,a/2),this.material.uniforms.minSplatPixelSize.value=5*A,this.material.uniforms.minOpacity.value=.01}setSplatsCPUCulling(A){this.splatsCPUCuling=A,this.material.uniforms.culling.value=A}updateShaderParams(A){A.projectionMatrix.elements,this.renderer.getSize(this.material.uniforms.viewportPixelSize.value);const a=this.renderer.getPixelRatio();this.material.uniforms.viewportPixelSize.value.multiplyScalar(a),this.material.uniforms.antialiasingFactor.value=2}dispose(){this.material.dispose(),this.copyMaterial2D.dispose(),this.copyMaterial3D.dispose(),this.covarianceRenderTarget.dispose(),this.positionColorRenderTarget.dispose(),this.worker.terminate(),this.worker=null,this.orderAttribute.array=void 0,this.geometry.dispose()}copyTex2D(A,a,e,t){this.copyMaterial2D.uniforms.sourceTexture.value=A;const i=this.renderer.autoClear,I=this.renderer.getRenderTarget();this.renderer.autoClear=!1;const B=e[2]-e[0],r=e[3]-e[1];a.viewport.set(e[0],e[1],B,r),this.renderer.setRenderTarget(a,t),this.renderer.render(this.copyScene,this.copyCamera),this.renderer.setRenderTarget(I),this.renderer.autoClear=i}copyTex3D(A,a,e){this.copyMaterial3D.uniforms.sourceTexture.value=A;const t=this.renderer.autoClear,i=this.renderer.getRenderTarget();this.renderer.autoClear=!1,this.copyQuad.material=this.copyMaterial3D;for(let I=0;I<e;I++)this.renderer.setRenderTarget(a,I),this.copyMaterial3D.uniforms.w.value=(I+.5)/e,this.renderer.render(this.copyScene,this.copyCamera);this.copyQuad.material=this.copyMaterial2D,this.renderer.setRenderTarget(i),this.renderer.autoClear=t}setSplatsSizeMultiplier(A){this.material.uniforms.sizeMultiplier.value=A}setSplatsCropRadius(A){this.material.uniforms.cropRadius.value=A}sort(A,a){this.worker&&(A?this.cameraPosition&&A.equals(this.cameraPosition)||(this.cameraPosition.copy(A),a?(this.viewProjModel||(this.viewProjModel=new f.Matrix4),this.viewProjModel.copy(a),this.viewProjModel.multiply(qo)):this.viewProjModel=void 0,this.worker.postMessage({method:"sort",xyz:[this.cameraPosition.x,this.cameraPosition.z,-this.cameraPosition.y],vpm:this.viewProjModel&&this.splatsCPUCuling?this.viewProjModel.toArray():void 0,id:this.sortID++})):this.worker.postMessage({method:"sort",xyz:[this.cameraPosition.x,this.cameraPosition.z,-this.cameraPosition.y],vpm:this.viewProjModel&&this.splatsCPUCuling?this.viewProjModel.toArray():void 0,id:this.sortID++}))}raycast(A,a){}addSplatsTile(A,a,e,t){if(!this.worker)return;const i=this,I=A.data?A.data.array:A.array,B=A.data&&A.data.isInterleavedBuffer?A.data.stride:3,r=A.data&&A.data.isInterleavedBuffer?A.offset:0,o=Math.ceil(I.length/(this.batchSize*B)),n=[],C=[];let Q=()=>{};const E=new Float32Array(I.length/B*3),s=new Uint32Array(E.buffer,E.byteOffset,E.length);for(let d=0;d<I.length/3;d++)E[3*d]=I[d*B+r],E[3*d+1]=I[d*B+r+1],E[3*d+2]=I[d*B+r+2];Q=(d,b,h)=>{const l=h*h,w=Math.pow(i.material.uniforms.cropRadius.value,2),k=new f.Matrix3,M=new f.Vector3,N=new f.Vector3,m=new f.Vector3,G=new f.Vector3,L=E.length/3;for(let x=0;x<L;x++){if(M.set(E[3*x],-E[3*x+2],E[3*x+1]),M.lengthSq()>w||d.distanceSqToPoint(M)>l)continue;To(e,t,x,k);const W=N.copy(M).sub(d.origin).dot(d.direction);if(W<0)continue;G.copy(d.direction).multiplyScalar(W).add(d.origin);const X=N.copy(G).sub(M);Oo(k,X,m);const eA=X.dot(m),AA=a.getW(x)*Math.exp(-.5*eA);AA>.01&&b.push({distance:W,point:G.clone(),opacity:AA,type:"splat",object:this})}},o>this.freeAddresses.size&&this.growTextures();for(let d=0;d<o;d++){const b=this.freeAddresses.poll();isNaN(b)&&console.log("insuficient texture size to store splats info"),n.push(b),C.push(3*b);const h=d*this.batchSize;this.addSplatsBatch(h,b,s,a,e,t)}i.worker.postMessage({method:"addBatches",insertionIndexes:C,positions:I.buffer,offset:r,stride:B,batchSize:i.batchSize},[I.buffer]);let c=!1;return{hide:()=>{c==1&&i.worker&&(i.numVisibleBatches--,c=!1,i.worker.postMessage({method:"hideBatches",insertionIndexes:C,xyz:[i.cameraPosition.x,i.cameraPosition.z,-i.cameraPosition.y],vpm:this.viewProjModel&&this.splatsCPUCuling?this.viewProjModel.toArray():void 0,id:i.sortID++}))},show:d=>{if(c==0&&i.worker){i.numVisibleBatches--,c=!0;const b=i.sortID,h=l=>l>=b&&(d(),!0);i.sortListeners.push(h),i.worker.postMessage({method:"showBatches",insertionIndexes:C,xyz:[i.cameraPosition.x,i.cameraPosition.z,-i.cameraPosition.y],vpm:this.viewProjModel&&this.splatsCPUCuling?this.viewProjModel.toArray():void 0,id:i.sortID++})}},remove:()=>{i.worker&&(Q=void 0,i.worker.postMessage({method:"removeBatches",insertionIndexes:C,xyz:[i.cameraPosition.x,i.cameraPosition.z,-i.cameraPosition.y],vpm:this.viewProjModel&&this.splatsCPUCuling?this.viewProjModel.toArray():void 0,id:i.sortID++}),n.forEach(d=>i.freeAddresses.add(d)))},sort:this.sort,raycast:Q,isSplatsBatch:!0}}addSplatsBatch(A,a,e,t,i,I){const B=new Uint32Array(4*this.batchSize),r=new Uint32Array(4*this.batchSize);for(let s=a;s<a+this.batchSize;s++){const c=s-a,d=4*c,b=A+c,h=3*(A+c);if(b>=e.count)break;B[d]=e[h],B[d+1]=e[h+1],B[d+2]=e[h+2];const l=0|Math.floor(255*t.getX(b)+.5),w=0|Math.floor(255*t.getY(b)+.5),k=0|Math.floor(255*t.getZ(b)+.5),M=0|Math.floor(255*t.getW(b)+.5);B[d+3]=l|w<<8|k<<16|M<<24,r[d]=nt(i.getX(b),i.getY(b)),r[d+1]=nt(i.getZ(b),I.getX(b)),r[d+2]=nt(I.getY(b),I.getZ(b))}const o=Math.floor(a/Math.pow(this.textureSize,2)),n=Math.ceil(this.batchSize/this.textureSize),C=[0,a/this.textureSize-o*this.textureSize,this.textureSize];C.push(C[1]+n);const Q=new f.DataTexture(B,this.textureSize,n,f.RGBAIntegerFormat,f.UnsignedIntType);Q.internalFormat="RGBA32UI",Q.generateMipmaps=!1,Q.magFilter=f.NearestFilter,Q.minFilter=f.NearestFilter,Q.anisotropy=0,Q.needsUpdate=!0,this.renderer.initTexture(Q),this.copyTex2D(Q,this.positionColorRenderTarget,C,o),Q.dispose();const E=new f.DataTexture(r,this.textureSize,n,f.RGBAIntegerFormat,f.UnsignedIntType);E.internalFormat="RGBA32UI",E.generateMipmaps=!1,E.magFilter=f.NearestFilter,E.minFilter=f.NearestFilter,E.anisotropy=0,E.needsUpdate=!0,this.renderer.initTexture(E),this.copyTex2D(E,this.covarianceRenderTarget,C,o),E.dispose()}growTextures(){for(let t=this.maxSplats;t<this.maxSplats+this.textureSize*this.textureSize;t+=this.batchSize)this.freeAddresses.add(t);this.maxSplats+=this.textureSize*this.textureSize;const A=this.numTextures+1,a=new f.WebGL3DRenderTarget(this.textureSize,this.textureSize,A,{magFilter:f.NearestFilter,minFilter:f.NearestFilter,type:f.UnsignedIntType,format:f.RGBAIntegerFormat,anisotropy:0,depthBuffer:!1,resolveDepthBuffer:!1});a.texture.type=f.UnsignedIntType,a.texture.internalFormat="RGBA32UI",a.texture.format=f.RGBAIntegerFormat,this.renderer.initRenderTarget(a),this.copyTex3D(this.positionColorRenderTarget.texture,a,this.numTextures),this.positionColorRenderTarget.dispose(),this.positionColorRenderTarget=a,this.material.uniforms.positionColorTexture.value=this.positionColorRenderTarget.texture;const e=new f.WebGL3DRenderTarget(this.textureSize,this.textureSize,A,{magFilter:f.NearestFilter,minFilter:f.NearestFilter,anisotropy:0,type:f.UnsignedIntType,format:f.RGBAIntegerFormat,depthBuffer:!1,resolveDepthBuffer:!1});e.texture.type=f.UnsignedIntType,e.texture.internalFormat="RGBA32UI",e.texture.format=f.RGBAIntegerFormat,this.renderer.initRenderTarget(e),this.copyTex3D(this.covarianceRenderTarget.texture,e,this.numTextures),this.covarianceRenderTarget.dispose(),this.covarianceRenderTarget=e,this.material.uniforms.covarianceTexture.value=this.covarianceRenderTarget.texture,this.numTextures=A,this.material.uniforms.numSlices.value=this.numTextures}}function gB(){return`
|
|
67
275
|
precision highp float;
|
|
68
276
|
precision highp int;
|
|
69
277
|
precision highp usampler3D;
|
|
@@ -153,8 +361,9 @@ bool modelTransform(in vec3 splatWorld, in mat3 covariance, inout vec3 vertexPos
|
|
|
153
361
|
vec3 j1 = vec3(0.0, fy * invZ, -fy * posCam.y * invZ2);
|
|
154
362
|
|
|
155
363
|
mat3 viewRotT = transpose(mat3(viewMatrix));
|
|
156
|
-
|
|
157
|
-
vec3
|
|
364
|
+
//viewRotT *= 2.0;
|
|
365
|
+
vec3 j0W = viewRotT * j0*4.0;
|
|
366
|
+
vec3 j1W = viewRotT * j1*4.0;
|
|
158
367
|
|
|
159
368
|
vec3 tmp0 = covariance * j0W;
|
|
160
369
|
vec3 tmp1 = covariance * j1W;
|
|
@@ -216,6 +425,8 @@ void main() {
|
|
|
216
425
|
mat3 covariance = mat3(0.0);
|
|
217
426
|
getVertexData(splatPositionModel, covariance);
|
|
218
427
|
|
|
428
|
+
covariance *=sizeMultiplier*sizeMultiplier;
|
|
429
|
+
|
|
219
430
|
if(length(splatPositionModel) > cropRadius) return;
|
|
220
431
|
|
|
221
432
|
/* opacity ‑> stds */
|
|
@@ -238,7 +449,7 @@ void main() {
|
|
|
238
449
|
}
|
|
239
450
|
|
|
240
451
|
|
|
241
|
-
vec3 offsetWorld = vec3(position)*
|
|
452
|
+
vec3 offsetWorld = vec3(position)*0.5*stds;
|
|
242
453
|
|
|
243
454
|
bool valid = modelTransform(splatPositionWorld, covariance, offsetWorld);
|
|
244
455
|
if(!valid) return;
|
|
@@ -262,7 +473,7 @@ void main() {
|
|
|
262
473
|
|
|
263
474
|
|
|
264
475
|
}
|
|
265
|
-
`}function
|
|
476
|
+
`}function tB(){return`
|
|
266
477
|
precision highp float;
|
|
267
478
|
precision highp int;
|
|
268
479
|
|
|
@@ -302,5 +513,5 @@ out vec2 vUv;
|
|
|
302
513
|
void main() {
|
|
303
514
|
vUv = uv;
|
|
304
515
|
gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);
|
|
305
|
-
}`}function KB(t,A,a,e){const g=t.getX(a),i=t.getY(a),I=t.getZ(a),r=A.getX(a),o=A.getY(a),B=A.getZ(a);e.set(g,i,I,i,r,o,I,o,B)}function TB(t,A,a){const e=t.determinant();if(Math.abs(e)<1e-12)return void a.set(0,0,0);const g=1/e,i=new f.Matrix3().copy(t);i.elements[0]=A.x,i.elements[3]=A.y,i.elements[6]=A.z;const I=new f.Matrix3().copy(t);I.elements[1]=A.x,I.elements[4]=A.y,I.elements[7]=A.z;const r=new f.Matrix3().copy(t);r.elements[2]=A.x,r.elements[5]=A.y,r.elements[8]=A.z,a.set(i.determinant()*g,I.determinant()*g,r.determinant()*g)}new f.Vector3,new f.Vector3;var wA;new f.Matrix3().set(1,0,0,0,0,1,0,-1,0),new f.Matrix4().set(1,0,0,0,0,0,-1,0,0,1,0,0,0,0,0,1);const wa=new z.Sphere(new z.Vector3(0,0,0),1),Sa=new Qa([0,0,0,1,0,0,0,1,0,0,0,1]);new z.Box3;const Oa=new z.Vector3(0,0,0),fe=new z.Vector3(0,0,0),qB=new z.Vector3(0,1,0),nt=new z.Ray,ot=new z.Matrix4;new z.Matrix4,new z.Frustum;const Bt=new z.Vector3,st=[],qi=new z.Quaternion,Fa={};function tr(){var t=[];for(let A in Fa)Fa.hasOwnProperty(A)&&Fa[A]>0&&t.push(A);return t}class Lg extends z.Object3D{constructor(A){super();const a=this;if(a.splatsMesh=A.splatsMesh,a.oldUltraMeshSplats=A.oldUltraMeshSplats,a.iosCompatibility=A.iosCompatibility,a.splatsQuality=A.splatsQuality!=null?A.splatsQuality:.75,a.splatsCPUCulling=A.splatsCPUCulling!=null&&A.splatsCPUCulling,this.contentURL=[],A.domWidth&&A.domHeight?this.rendererSize=new z.Vector2(A.domWidth,A.domHeight):this.rendererSize=new z.Vector2(1e3,1e3),this.setClipShape(A.clipShape),this.loadingStrategy=A.loadingStrategy?A.loadingStrategy.toUpperCase():"INCREMENTAL",this.distanceBias=Math.max(1e-4,A.distanceBias?A.distanceBias:1),this.proxy=A.proxy,this.drawBoundingVolume=!!A.drawBoundingVolume&&A.drawBoundingVolume,this.displayErrors=A.displayErrors,this.displayCopyright=A.displayCopyright,A.queryParams&&(this.queryParams={...A.queryParams}),this.uuid=uI(),A.tileLoader)this.tileLoader=A.tileLoader;else{const i={};i.meshCallback=A.meshCallback?A.meshCallback:(r,o)=>{r.material.wireframe=!1,r.material.side=z.DoubleSide},i.pointsCallback=A.pointsCallback?A.pointsCallback:(r,o)=>{r.material.size=Math.pow(o,.33),r.material.sizeAttenuation=!0},i.proxy=this.proxy,i.renderer=A.renderer,i.dracoLoader=A.dracoLoader,i.ktx2Loader=A.ktx2Loader,a.tileLoader=new bI(i);const I=this.update;this.update=r=>{I.call(a,r),a.tileLoader.update()}}if(this.displayCopyright=!!A.displayCopyright,this.geometricErrorMultiplier=A.geometricErrorMultiplier?A.geometricErrorMultiplier:1,this.splatsCropRadius=Number.MAX_VALUE,this.splatsSizeMultiplier=1,this.renderer=A.renderer,this.meshCallback=A.meshCallback,this.loadOutsideView=A.loadOutsideView,this.cameraOnLoad=A.cameraOnLoad,this.parentTile=A.parentTile,this.occlusionCullingService=A.occlusionCullingService,this.static=A.static,this.occlusionCullingService&&(this.color=new z.Color,this.color.setHex(16777215*Math.random()),this.colorID=z.MathUtils.clamp(255*a.color.r,0,255)<<16^z.MathUtils.clamp(255*a.color.g,0,255)<<8^z.MathUtils.clamp(255*a.color.b,0,255)),this.static&&(this.matrixAutoUpdate=!1,this.matrixWorldAutoUpdate=!1),this.childrenTiles=[],this.meshContent=[],this.tileContent,this.refine,this.rootPath,this.geometricError,this.boundingVolume,this.json,this.materialVisibility=!1,this.level=A.level?A.level:0,this.hasMeshContent=0,this.hasUnloadedJSONContent=0,this.centerModel=A.centerModel,this.abortController=new AbortController,this.onLoadCallback=A.onLoadCallback,A.json)a._setup(A);else if(A.url){var e=A.url;if(a.queryParams){var g="";for(let i in a.queryParams)a.queryParams.hasOwnProperty(i)&&(g+="&"+i+"="+a.queryParams[i]);e.includes("?")?e+=g:e+="?"+g.substring(1)}(a.proxy?()=>fetch(a.proxy,{method:"POST",body:e,signal:a.abortController.signal}):()=>fetch(e,{signal:a.abortController.signal}))().then(i=>{if(!i.ok)throw new Error(`couldn't load "${A.url}". Request failed with status ${i.status} : ${i.statusText}`);i.json().then(I=>Fg(I,e)).then(I=>{a._setup({rootPath:Za.dirname(A.url),json:I})})}).catch(i=>{a.displayErrors&&Oi(i)})}}setClipShape(A){if(A instanceof Qa||A instanceof z.Sphere)this.clipShape=A;else if(A instanceof z.Box3){const a=new z.Vector3,e=new z.Vector3;A.getCenter(a),A.getSize(e).multiplyScalar(.5),this.clipShape=new Qa([a.x,a.y,a.z,e.x,0,0,0,e.y,0,0,0,e.z])}else A=void 0;this.childrenTiles&&this.childrenTiles.forEach(a=>{a._setClipShape(this.clipShape)})}_setClipShape(A){this.clipShape=A,this.childrenTiles&&this.childrenTiles.forEach(a=>{a._setClipShape(this.clipShape)})}setSplatsSizeMultiplier(A){this.splatsSizeMultiplier=A,this.splatsMesh&&this.splatsMesh.setSplatsSizeMultiplier(this.splatsSizeMultiplier)}setSplatsCropRadius(A){this.splatsCropRadius=A,this.splatsMesh&&this.splatsMesh.setSplatsCropRadius(this.splatsCropRadius)}setSplatsCPUCulling(A){this.splatsCPUCulling=A,this.splatsMesh&&this.splatsMesh.setSplatsCPUCulling(A)}setSplatsQuality(A){this.splatsQuality=A,this.splatsMesh&&this.splatsMesh.setQuality(A)}updateMatrices(){this.updateMatrix(),this.splatsMesh&&this.splatsMesh.updateMatrix(),this.static&&(this.traverse(A=>{A.isObject3D&&(A.matrixWorldAutoUpdate=!0)}),this.splatsMesh&&(this.splatsMesh.matrixWorldAutoUpdate=!0)),this.updateMatrixWorld(!0),this.static&&(this.traverse(A=>{A.isObject3D&&(A.matrixWorldAutoUpdate=!1)}),this.splatsMesh&&(this.splatsMesh.matrixWorldAutoUpdate=!1))}setCanvasSize(A,a){this.rendererSize.set(A,a)}async _setup(A){const a=this;if(A.json.extensionsRequired&&(A.json.extensionsRequired.includes("JDULTRA_gaussian_splats")||A.json.extensionsRequired.includes("JDULTRA_gaussian_splats_V2"))&&(a.oldUltraMeshSplats=!0),A.json.root?(a.json=A.json.root,a.json.refine||(a.json.refine=A.json.refine),a.json.geometricError||(a.json.geometricError=A.json.geometricError),a.json.transform||(a.json.transform=A.json.transform),a.json.boundingVolume||(a.json.boundingVolume=A.json.boundingVolume)):a.json=A.json,a.json.children||(a.json.getChildren?a.json.children=await a.json.getChildren():a.json.children=[]),a.rootPath=A.json.rootPath?A.json.rootPath:A.rootPath,a.json.refine?a.refine=a.json.refine:a.refine=A.parentRefine,a.json.geometricError?a.geometricError=a.json.geometricError:a.geometricError=A.parentGeometricError,a.json.transform){let g=new z.Matrix4;g.elements=a.json.transform,a.applyMatrix4(g)}if(a.json.boundingVolume)if(a.json.boundingVolume.box)a.boundingVolume=new Qa(a.json.boundingVolume.box);else if(a.json.boundingVolume.region){const g=a.json.boundingVolume.region;a._transformWGS84ToCartesian(g[0],g[1],g[4],Oa),a._transformWGS84ToCartesian(g[2],g[3],g[5],fe),Oa.lerp(fe,.5),a.boundingVolume=new z.Sphere(new z.Vector3(Oa.x,Oa.y,Oa.z),Oa.distanceTo(fe))}else if(a.json.boundingVolume.sphere){const g=a.json.boundingVolume.sphere;a.boundingVolume=new z.Sphere(new z.Vector3(g[0],g[1],g[2]),g[3])}else a.boundingVolume=A.parentBoundingVolume;else a.boundingVolume=A.parentBoundingVolume;function e(g){g.uri&&g.uri.includes("json")||g.url&&g.url.includes("json")?a.hasUnloadedJSONContent++:a.hasMeshContent++}if(a.json.content?(e(a.json.content),a.hasMeshContent==0&&(a.level=Math.max(0,a.parentTile?a.parentTile.level+.01:0)),a._load()):a.json.contents&&(a.json.contents.forEach(g=>e(g)),a.hasMeshContent==0&&(a.level=Math.max(0,a.parentTile?a.parentTile.level+.01:0))),a.centerModel&&(fe.copy(a.boundingVolume.center),this.json.boundingVolume.region&&(this._transformWGS84ToCartesian(.5*(this.json.boundingVolume.region[0]+this.json.boundingVolume.region[2]),.5*(this.json.boundingVolume.region[1]+this.json.boundingVolume.region[3]),.5*(this.json.boundingVolume.region[4]+this.json.boundingVolume.region[5]),Oa),qi.setFromUnitVectors(Oa.normalize(),qB.normalize()),a.applyQuaternion(qi)),fe.applyMatrix4(a.matrix),a.position.sub(fe),a.updateMatrices()),a.onLoadCallback&&a.onLoadCallback(a),a.isSetup=!0,a.level>0&&a.drawBoundingVolume)if(a.bbox&&console.log("double setup"),this.boundingVolume.aabb){let g=this.boundingVolume.aabb.clone();g.applyMatrix4(this.matrixWorld),a.bbox=new z.Box3Helper(g,new z.Color(Math.random(),Math.random(),Math.random())),a.add(a.bbox),a.bbox.material.visible=!1}else a.boundingVolume instanceof Qa&&(a.bbox=a.boundingVolume.helper(),a.add(a.bbox),a.bbox.material.visible=!1)}_assembleURL(A,a){A.endsWith("/")||(A+="/");const e=new URL(A);let g=e.pathname.split("/").filter(I=>I!==""),i=a.split("/").filter(I=>I!=="");for(let I=1;I<=g.length&&!(I>=i.length);I++)if(g.slice(g.length-I,g.length).join("/")===i.slice(0,I).join("/")){for(let r=0;r<I;r++)g.pop();break}for(;i.length>0&&i[0]==="..";)g.pop(),i.shift();return`${e.protocol}//${e.host}/${[...g,...i].join("/")}`}_extractQueryParams(A,a){const e=new URL(A);for(let[g,i]of e.searchParams)a[g]=i;return e.search="",e.toString()}async _load(A=!0,a=!0){var e=this;if(!e.deleted){if(e.json.content)await g(e.json.content,null,A,a);else if(e.json.contents){let i=e.json.contents.map((I,r)=>g(I,r,A,a));Promise.all(i)}}async function g(i,I,r,o){let B;i.uri?B=i.uri:i.url&&(B=i.url);const n=/^(?:http|https|ftp|tcp|udp):\/\/\S+/;if(n.test(e.rootPath)?n.test(B)||(B=e._assembleURL(e.rootPath,B)):Za.isAbsolute(e.rootPath)&&(B=e.rootPath+Za.sep+B),B=e._extractQueryParams(B,e.queryParams),e.queryParams){var s="";for(let E in e.queryParams)e.queryParams.hasOwnProperty(E)&&(s+="&"+E+"="+e.queryParams[E]);B.includes("?")?B+=s:B+="?"+s.substring(1)}if(B)if(e.contentURL.push(B),o&&(B.includes(".b3dm")||B.includes(".glb")||B.includes(".gltf")))try{e.tileLoader.get(e.abortController,e.uuid,B,E=>{if(!e.deleted)return E.asset&&E.asset.copyright&&(E.asset.copyright.split(";").forEach(C=>{Fa[C]?Fa[C]++:Fa[C]=1}),e.displayCopyright&&og()),E.isSplatsData&&(e.splatsMesh||(e.splatsMesh=new Ar(e.tileLoader.renderer),e.splatsMesh.setQuality(e.splatsQuality),e.splatsMesh.setSplatsCPUCulling(e.splatsCPUCulling),e.splatsMesh.setSplatsCropRadius(e.splatsCropRadius),e.splatsMesh.setSplatsSizeMultiplier(e.splatsSizeMultiplier),e.static&&(e.splatsMesh.matrixWorldAutoUpdate=!1),e.add(e.splatsMesh),e.updateMatrices()),E=e.splatsMesh.addSplatsTile(E.positions,E.colors,E.cov0,E.cov1)),E.isSplatsBatch||(E.traverse(C=>{if((C.isMesh||C.isPoints)&&C.layers.disable(0),C.isMesh&&e.occlusionCullingService){const Q=C.geometry.attributes.position,c=[];for(let d=0;d<Q.count;d++)c.push(e.color.r,e.color.g,e.color.b);C.geometry.setAttribute("color",new z.Float32BufferAttribute(c,3))}}),e.add(E),e.updateMatrices()),e.meshContent.push(E),E},e.cameraOnLoad?()=>e.loadingStrategy=="IMMEDIATE"?e._calculateDistanceToCamera(e.cameraOnLoad):e.loadingStrategy=="INCREMENTAL"?e.parentTile?e.parentTile._calculateDistanceToCamera(e.cameraOnLoad)/Math.max(1,e.parentTile.level):e._calculateDistanceToCamera(e.cameraOnLoad)/Math.max(1,e.level):e.loadingStrategy=="PERLEVEL"?e.parentTile?e.level+e.parentTile._calculateDistanceToCamera(e.cameraOnLoad):e.level+e._calculateDistanceToCamera(e.cameraOnLoad):0:()=>0,()=>e._getSiblings(),e.level,e.loadingStrategy,!e.json.boundingVolume.region,!!e.json.boundingVolume.region,e.geometricError,e.oldUltraMeshSplats)}catch(E){e.displayErrors&&Oi(E)}else r&&B.includes(".json")&&(e.jsonRequested=B,e.tileLoader.get(e.abortController,e.uuid,B,async E=>{e.jsonReceived=!0,e.deleted||(E.rootPath=Za.dirname(B),e.json.children.push(E),I==null?delete e.json.content:e.json.contents.splice(I,1),e.hasUnloadedJSONContent--)}))}}dispose(){const A=this;A.meshContent.forEach(a=>{a&&a.asset&&a.asset.copyright&&(a.asset.copyright.split(";").forEach(e=>{Fa[e]&&Fa[e]--}),A.displayCopyright&&og())}),A.childrenTiles.forEach(a=>a.dispose()),A.deleted=!0,A.splatsMesh&&(A.meshContent.forEach(a=>a.hide()),A.parentTile||(A.splatsMesh.dispose(),A.splatsMesh=void 0)),A.contentURL&&(A.contentURL.forEach(a=>{A.tileLoader.invalidate(a,A.uuid)}),A.contentURL=[]),A.abortController&&!A.jsonRequested&&A.abortController.abort("tile not needed"),this.parent=null,A.meshContent=[],A.bbox&&A.bbox.dispose(),this.dispatchEvent({type:"removed"})}_disposeMeshContent(){const A=this;if(!A.deleted){A.deleted=!0,A.abortController&&(A.abortController.abort("tile not needed"),A.abortController=new AbortController);for(let a=A.meshContent.length-1;a>=0;a--){const e=A.meshContent[a];e&&e.asset&&e.asset.copyright&&(e.asset.copyright.split(";").forEach(g=>{Fa[g]&&Fa[g]--}),A.displayCopyright&&og()),A.remove(e)}A.splatsMesh&&A.meshContent.forEach(a=>a.hide()),A.meshContent=[],A.contentURL.forEach(a=>{A.tileLoader.invalidate(a,A.uuid)}),A.contentURL=[]}}_disposeChildren(){var A=this;A.childrenTiles.forEach(a=>{a.dispose(),A.remove(a)}),A.childrenTiles=[]}raycast(A,a){if(this.splatsMesh){nt.copy(A.ray),ot.copy(this.matrixWorld).invert(),nt.applyMatrix4(ot);let e=!1;if(this.boundingVolume instanceof Qa)e=this.boundingVolume.intersectsRay(nt);else{if(!(this.boundingVolume instanceof z.Sphere))return!1;e=ray.intersectsSphere(this.boundingVolume)}return e&&this.materialVisibility&&this.splatsReady&&(st.length=0,this.meshContent.forEach(g=>{g.isSplatsBatch&&(g.raycast(nt,st,A.params.Points.threshold),st.forEach(i=>{i.point.applyMatrix4(this.matrixWorld)}),a.push(...st))})),e}return super.raycast(A,a)}update(A){this.splatsMesh&&this.splatsMesh.updateShaderParams(A,this.renderer);const a=new z.Frustum;a.setFromProjectionMatrix(new z.Matrix4().multiplyMatrices(A.projectionMatrix,A.matrixWorldInverse));let e=[0],g=[0],i=[0],I=[0];if(this.refine=="REPLACE"?this.loadingStrategy==="IMMEDIATE"?(this._updateImmediate(A,a),this._statsImmediate(i,e,I,g)):(this._update(A,a),this._stats(i,e,I,g)):(this._update(A,a),this._stats(i,e,I,g)),e>0&&(I[0]/=e[0]),this.splatsMesh)if(Bt.copy(A.position),ot.copy(this.matrixWorld).invert(),Bt.applyMatrix4(ot),this.splatsCPUCulling){const r=new z.Matrix4().multiplyMatrices(A.projectionMatrix,A.matrixWorldInverse).multiply(this.matrixWorld);this.splatsMesh.sort(Bt,r)}else this.splatsMesh.sort(Bt);return{numTilesLoaded:e[0],numTilesRendered:g[0],maxLOD:i[0],percentageLoaded:I[0]}}_updateImmediate(A,a){this._computeMetricRecursive(A,a),this._updateNodeVisibilityImmediate(),this._expandTreeImmediate(A),this.shouldBeVisible=this.metric>0||!!this.loadOutsideView,this._shouldBeVisibleUpdateImmediate(),this._trimTreeImmediate(),this._loadMeshImmediate()}_statsImmediate(A,a,e,g){A[0]=Math.max(A[0],this.level),(this.shouldBeVisible||this.materialVisibility)&&(a[0]++,this.materialVisibility&&e[0]++),this.materialVisibility&&g[0]++,this.childrenTiles.forEach(i=>{i._statsImmediate(A,a,e,g)})}_stats(A,a,e,g){A[0]=Math.max(A[0],this.level),this.hasMeshContent&&(a[0]++,this.meshContent.length==this.hasMeshContent&&e[0]++,this.materialVisibility&&g[0]++),this.childrenTiles.forEach(i=>{i._stats(A,a,e,g)})}_trimTreeImmediate(){if(this.metric!=null)if(this.hasMeshContent&&this.shouldBeVisible&&this.materialVisibility){if(self.splatsMesh&&!self.splatsReady)return;this._disposeChildren()}else this.childrenTiles.forEach(A=>{A._trimTreeImmediate()})}_updateNodeVisibilityImmediate(A=!1){const a=this;if(a.hasMeshContent)if(a.shouldBeVisible)a.meshContent.length==a.hasMeshContent?a.materialVisibility?a.childrenTiles.forEach(e=>{e._updateNodeVisibilityImmediate(!0)}):(a._changeContentVisibility(!0),a.childrenTiles.forEach(e=>{e._updateNodeVisibilityImmediate(A)})):a.childrenTiles.forEach(e=>{e._updateNodeVisibilityImmediate(A)});else{if(!a.loadOutsideView&&a.metric<0)return a._changeContentVisibility(!1),a.meshContent.length>0&&a._disposeMeshContent(),void a.childrenTiles.forEach(e=>{e._updateNodeVisibilityImmediate(!0)});if(!a.materialVisibility||a.splatsMesh&&!a.splatsReady)a.childrenTiles.forEach(e=>{e._updateNodeVisibilityImmediate(A)});else if(A)a._changeContentVisibility(!1),a.meshContent.length>0&&a._disposeMeshContent(),a.childrenTiles.forEach(e=>{e._updateNodeVisibilityImmediate(A)});else{let e=!0;a.childrenTiles.every(g=>!!g._isReadyImmediate()||(e=!1,!1)),e&&a.childrenTiles.length>0?(a._changeContentVisibility(!1),a.meshContent.length>0&&a._disposeMeshContent(),a.childrenTiles.forEach(g=>{g._updateNodeVisibilityImmediate(A)})):a.childrenTiles.forEach(g=>{g._updateNodeVisibilityImmediate(!a.splatsMesh||!!a.splatsReady)})}}else a.childrenTiles.forEach(e=>{e._updateNodeVisibilityImmediate(A)})}_shouldBeVisibleUpdateImmediate(){const A=this;A.hasMeshContent?A.metric==null?A.shouldBeVisible=!1:A.metric<0?(A.shouldBeVisible=!!A.loadOutsideView,A.childrenTiles.forEach(a=>{a._setShouldNotBeVisibleRecursive()})):A.metric<A.geometricErrorMultiplier*A.geometricError?A.hasUnloadedJSONContent||(A.json&&A.json.children&&A.json.children.length>0?(A.shouldBeVisible=!1,A.childrenTiles.forEach(a=>{a.shouldBeVisible=!0,a._shouldBeVisibleUpdateImmediate()})):A.shouldBeVisible=!0):A.childrenTiles.forEach(a=>{a._setShouldNotBeVisibleRecursive()}):(A.childrenTiles.forEach(a=>{a.shouldBeVisible=!0,a._shouldBeVisibleUpdateImmediate()}),A.shouldBeVisible=!1)}_setShouldNotBeVisibleRecursive(){this.shouldBeVisible=!1,this.childrenTiles.forEach(A=>{A._setShouldNotBeVisibleRecursive()})}_loadMeshImmediate(){const A=this;A.hasMeshContent&&A.shouldBeVisible?A.meshContent.length<A.hasMeshContent&&A.contentURL.length==0&&(A.deleted=!1,A._load(!1,!0)):A.childrenTiles.forEach(a=>{a._loadMeshImmediate()})}_computeMetricRecursive(A,a){const e=this;e.metric=-1,e.isSetup&&(e.boundingVolume&&e.geometricError&&(e.metric=e._calculateUpdateMetric(A,a)),e.childrenTiles.forEach(g=>g._computeMetricRecursive(A,a)))}_expandTreeImmediate(A){const a=this;a.hasUnloadedJSONContent||(a.hasMeshContent?a.occlusionCullingService&&a.hasMeshContent&&!a.occlusionCullingService.hasID(a.colorID)||a.metric>=0&&a.metric<a.geometricErrorMultiplier*a.geometricError&&a.json&&a.json.children&&a.childrenTiles.length<a.json.children.length&&a._loadJsonChildren(A):a.json&&a.json.children&&a.childrenTiles.length<a.json.children.length&&a._loadJsonChildren(A)),a.childrenTiles.forEach(e=>e._expandTreeImmediate(A))}_update(A,a){const e=this;if(!e.isSetup)return;const g=e.materialVisibility;e.boundingVolume&&e.geometricError&&(e.metric=e._calculateUpdateMetric(A,a)),e.childrenTiles.forEach(i=>i._update(A,a)),function(i){if(i<0)return e.inFrustum=!1,void e._changeContentVisibility(!!e.loadOutsideView);if(e.inFrustum=!0,!!e.hasMeshContent&&!(e.meshContent.length<e.hasMeshContent)){if(e.childrenTiles.length==0)return void e._changeContentVisibility(!0);if(i>=e.geometricErrorMultiplier*e.geometricError)e._changeContentVisibility(!0);else if(i<e.geometricErrorMultiplier*e.geometricError&&e.refine=="REPLACE"){let I=!0;e.childrenTiles.every(r=>!!r._isReady()||(I=!1,!1)),I?e._changeContentVisibility(!1):e._changeContentVisibility(!0)}}}(e.metric),function(i){i<0&&e.hasMeshContent||e.occlusionCullingService&&e.hasMeshContent&&!e.occlusionCullingService.hasID(e.colorID)||(!e.hasMeshContent||i<=e.geometricErrorMultiplier*e.geometricError&&(e.meshContent.length>0||e.splatsMesh))&&e.json&&e.json.children&&e.childrenTiles.length!=e.json.children.length&&e._loadJsonChildren(A)}(e.metric),function(i,I){if(e.hasMeshContent){if(!e.inFrustum)return void e._disposeChildren();if(e.occlusionCullingService&&!I&&e.hasMeshContent&&e.meshContent.length>0&&e.materialVisibility&&e._areAllChildrenLoadedAndHidden())return e.splatsMesh&&this.materialVisibility&&!e.splatsReady?void 0:void e._disposeChildren();if(i>=e.geometricErrorMultiplier*e.geometricError){if(e.splatsMesh&&e.materialVisibility&&!e.splatsReady)return;e._disposeChildren()}}}(e.metric,g)}_loadJsonChildren(A){const a=this;for(let e=a.json.children.length-1;e>=0;e--)a.json.children[e].root||a.json.children[e].children||a.json.children[e].getChildren||a.json.children[e].content||a.json.children[e].contents||a.json.children.splice(e,1);a.json.children.forEach(e=>{let g=new Lg({parentTile:a,queryParams:a.queryParams,parentGeometricError:a.geometricError,parentBoundingVolume:a.boundingVolume,parentRefine:a.refine,json:e,rootPath:a.rootPath,geometricErrorMultiplier:a.geometricErrorMultiplier,loadOutsideView:a.loadOutsideView,level:Math.floor(a.level)+1,tileLoader:a.tileLoader,cameraOnLoad:A,occlusionCullingService:a.occlusionCullingService,renderer:a.renderer,static:a.static,centerModel:!1,displayErrors:a.displayErrors,displayCopyright:a.displayCopyright,distanceBias:a.distanceBias,loadingStrategy:a.loadingStrategy,drawBoundingVolume:a.drawBoundingVolume,splatsMesh:a.splatsMesh,clipShape:a.clipShape,oldUltraMeshSplats:a.oldUltraMeshSplats});a.childrenTiles.push(g),a.add(g)}),a.updateMatrices(!0)}_areAllChildrenLoadedAndHidden(){let A=!0;const a=this;return this.childrenTiles.every(e=>{if(e.hasMeshContent){if(e.childrenTiles.length>0)return A=!1,!1;if(!e.metric<0)return!0;if(e.materialVisibility&&(!a.splatsMesh||a.splatsReady)||a.occlusionCullingService.hasID(e.colorID))return A=!1,!1}else if(!e._areAllChildrenLoadedAndHidden())return A=!1,!1;return!0}),A}_isReady(){if(this.metric==null)return!1;if(this.metric<0)return!0;if(this.hasUnloadedJSONContent)return!1;if(!this.hasMeshContent&&this.json.children.length==0&&!this.hasUnloadedJSONContent)return!0;if(!this.hasMeshContent||this.meshContent.length==0||!this.materialVisibility){if(this.children.length>0){var A=!0;return this.childrenTiles.every(a=>!!a._isReady()||(A=!1,!1)),A}return!1}return!this.hasMeshContent||!(this.meshContent.length<this.hasMeshContent)&&!!this.materialVisibility}_isReadyImmediate(){if(this.materialVisibility||!this.loadOutsideView&&this.metric<0)return!0;if(this.childrenTiles.length>0){var A=!0;return this.childrenTiles.every(a=>!!a._isReadyImmediate()||(A=!1,!1)),A}return!1}_changeContentVisibility(A){const a=this;if(a.bbox&&(a.bbox.material.visible=A),a.splatsMesh)A!=a.materialVisibility&&(a.meshContent.forEach(e=>{A&&e.isSplatsBatch?e.show(()=>{a.materialVisibility&&(a.splatsReady=!0)}):(e.hide(),a.splatsReady=!1)}),a.materialVisibility=A);else{if(a.hasMeshContent&&a.meshContent.length>0&&(A?a.meshContent.forEach(e=>{e.traverse(g=>{(g.isMesh||g.isPoints)&&g.layers.enable(0)})}):a.meshContent.forEach(e=>{e.traverse(g=>{(g.isMesh||g.isPoints)&&g.layers.disable(0)})})),a.materialVisibility==A)return;a.materialVisibility=A}}_calculateUpdateMetric(A,a){let e=0;if(this.boundingVolume instanceof Qa){if(Sa.copy(this.boundingVolume),Sa.applyMatrix4(this.matrixWorld),!Sa.inFrustum(a))return-1;if(this.clipShape!=null&&(this.clipShape.isSphere&&!Sa.intersectsSphere(this.clipShape)||this.clipShape.isOBB&&!Sa.intersectsOBB(this.clipShape)))return Number.MAX_VALUE;e=Math.max(0,Sa.distanceToPoint(A.position)-A.near)}else{if(!(this.boundingVolume instanceof z.Sphere))return console.error("unsupported shape"),-1;if(wa.copy(this.boundingVolume),wa.applyMatrix4(this.matrixWorld),this.clipShape!=null&&(this.clipShape.isOBB&&!this.clipShape.intersectsSphere(wa)||this.clipShape.isSphere&&!this.clipShape.intersectsSphere(wa)))return Number.MAX_VALUE;if(!a.intersectsSphere(wa))return-1;e=Math.max(0,A.position.distanceTo(wa.center)-wa.radius-A.near)}if(e=Math.pow(e,this.distanceBias),e==0)return 0;const g=this.matrixWorld.getMaxScaleOnAxis();this.renderer&&this.renderer.getDrawingBufferSize(this.rendererSize);let i=this.rendererSize.y,I=A.fov;return A.aspect<1&&(I*=A.aspect,i=this.rendererSize.x),16*(2*Math.tan(.5*I*.017453292519943295)*e)/(i*g)}_getSiblings(){const A=this,a=[];if(!A.parentTile)return a;let e=A.parentTile;for(;!e.hasMeshContent&&e.parentTile;)e=e.parentTile;return e.childrenTiles.forEach(g=>{if(g&&g!=A){for(;!g.hasMeshContent&&g.childrenTiles[0];)g=g.childrenTiles[0];a.push(g)}}),a}_calculateDistanceToCamera(A){return this.boundingVolume instanceof Qa?(Sa.copy(this.boundingVolume),Sa.applyMatrix4(this.matrixWorld),Math.max(0,Sa.distanceToPoint(A.position))):this.boundingVolume instanceof z.Sphere?(wa.copy(this.boundingVolume),wa.applyMatrix4(this.matrixWorld),Math.max(0,A.position.distanceTo(wa.center)-wa.radius)):(console.error("unsupported shape"),-1)}setGeometricErrorMultiplier(A){this.geometricErrorMultiplier=A,this.childrenTiles.forEach(a=>a.setGeometricErrorMultiplier(A))}setDistanceBias(A){this.distanceBias=A,this.childrenTiles.forEach(a=>a.setDistanceBias(A))}_transformWGS84ToCartesian(A,a,e,g){const i=6378137/Math.sqrt(1-.006694384442042*Math.pow(Math.sin(a),2)),I=Math.cos(a),r=Math.cos(A),o=Math.sin(a),B=i+e,n=B*I*r,s=B*I*Math.sin(A),E=(.993305615557957*i+e)*o;g.set(n,s,E)}hideCopyright(){(function(){wA||((wA=document.createElement("div")).style.position="fixed",wA.style.bottom="20px",wA.style.left="20px",wA.style.color="white",wA.style.textShadow="2px 2px 0 #000, -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000",wA.style.padding="10px",wA.style.backgroundColor="rgba(0, 0, 0, 0.1)",document.body.appendChild(wA)),wA.style.opacity=0})()}showCopyright(){(function(){wA||((wA=document.createElement("div")).style.position="fixed",wA.style.bottom="20px",wA.style.left="20px",wA.style.color="white",wA.style.textShadow="2px 2px 0 #000, -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000",wA.style.padding="10px",wA.style.backgroundColor="rgba(0, 0, 0, 0.1)",document.body.appendChild(wA)),wA.style.opacity=1})()}}function Oi(t){var A=document.createElement("div");A.textContent=t,A.style.position="fixed",A.style.top="10px",A.style.left="50%",A.style.transform="translateX(-50%)",A.style.padding="10px",A.style.backgroundColor="#ff8800",A.style.color="#ffffff",A.style.zIndex="9999",document.body.appendChild(A),setTimeout(function(){A.remove()},8e3)}function og(){wA||((wA=document.createElement("div")).style.position="fixed",wA.style.bottom="20px",wA.style.left="20px",wA.style.color="white",wA.style.textShadow="2px 2px 0 #000, -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000",wA.style.padding="10px",wA.style.backgroundColor="rgba(0, 0, 0, 0.1)",document.body.appendChild(wA));const t=tr();let A="";t.forEach(a=>{A+=a+", "}),A=A.slice(0,-2),wA.textContent=A}const Ia=new z.Sphere(new z.Vector3(0,0,0),1),Pa=new z.Vector3(0,0,0),Bg=new z.Vector3(0,0,0),OB=new z.Vector3(0,1,0),sg=new z.Vector2,Pi=new z.Quaternion,zi=new z.Matrix4;class jg extends z.Object3D{constructor(A){super();const a=this;if(A.queryParams&&(this.queryParams={...A.queryParams}),this.uuid=uI(),A.tileLoader?this.tileLoader=A.tileLoader:console.error("an instanced tileset must be provided an InstancedTilesetLoader"),this.master=A.master,this.loadOutsideView=A.loadOutsideView,this.cameraOnLoad=A.cameraOnLoad,this.parentTile=A.parentTile,this.distanceBias=Math.max(1e-4,A.distanceBias?A.distanceBias:1),this.childrenTiles=[],this.jsonChildren=[],this.meshContent=new Set,this.static=A.static,this.static&&(this.matrixAutoUpdate=!1,this.matrixWorldAutoUpdate=!1),this.tileContent,this.refinement,this.rootPath,this.geometricError,this.boundingVolume,this.json,this.materialVisibility=!1,this.inFrustum=!0,this.level=A.level?A.level:0,this.hasMeshContent=0,this.hasUnloadedJSONContent=0,this.centerModel=A.centerModel,this.deleted=!1,this.abortController=new AbortController,A.json)this.rootPath=A.json.rootPath?A.json.rootPath:A.rootPath,A.json.children&&(this.jsonChildren=A.json.children),a.setup(A);else if(A.url){this.loadJson=(i,I)=>{const r=Za.dirname(I);a.setup({rootPath:r,json:i,onLoadCallback:A.onLoadCallback})};var e=A.url;if(a.queryParams){var g="";for(let i in a.queryParams)a.queryParams.hasOwnProperty(i)&&(g+="&"+i+"="+a.queryParams[i]);e.includes("?")?e+=g:e+="?"+g.substring(1)}a.tileLoader.get(a.abortController,e,a.uuid,a)}}async setup(A){const a=this;A.json.root?(a.json=A.json.root,!a.json.children&&a.json.getChildren&&(a.json.children=await a.json.getChildren()),a.jsonChildren=a.json.children,a.json.refinement||(a.json.refinement=A.json.refinement),a.json.geometricError||(a.json.geometricError=A.json.geometricError),a.json.transform||(a.json.transform=A.json.transform),a.json.boundingVolume||(a.json.boundingVolume=A.json.boundingVolume)):(a.json=A.json,!a.json.children&&a.json.getChildren&&(a.json.children=await a.json.getChildren(),a.jsonChildren=a.json.children)),a.rootPath=A.json.rootPath?A.json.rootPath:A.rootPath,a.json.refinement?a.refinement=a.json.refinement:a.refinement=A.parentRefinement,a.json.geometricError?a.geometricError=a.json.geometricError:a.geometricError=A.parentGeometricError;let e=new z.Matrix4;if(a.json.transform&&!a.centerModel&&(e.elements=a.json.transform),a.applyMatrix4(e),a.parentTile&&a.parentTile.matrix&&(a.matrix.premultiply(a.parentTile.matrix),a.matrix.decompose(a.position,a.quaternion,a.scale)),a.matrixWorldNeedsUpdate=!0,a.updateWorldMatrix(!0,!0),a.json.boundingVolume)if(a.json.boundingVolume.box)a.boundingVolume=new Qa(a.json.boundingVolume.box);else if(a.json.boundingVolume.region){const i=a.json.boundingVolume.region;a.transformWGS84ToCartesian(i[0],i[1],i[4],Pa),a.transformWGS84ToCartesian(i[2],i[3],i[5],Bg),Pa.lerp(Bg,.5),a.boundingVolume=new z.Sphere(new z.Vector3(Pa.x,Pa.y,Pa.z),Pa.distanceTo(Bg))}else if(a.json.boundingVolume.sphere){const i=a.json.boundingVolume.sphere;a.boundingVolume=new z.Sphere(new z.Vector3(i[0],i[1],i[2]),i[3])}else a.boundingVolume=A.parentBoundingVolume;else a.boundingVolume=A.parentBoundingVolume;function g(i){i.uri&&i.uri.includes("json")||i.url&&i.url.includes("json")?a.hasUnloadedJSONContent++:a.hasMeshContent++}if(a.json.content?(g(a.json.content),a.load()):a.json.contents&&(a.json.contents.forEach(i=>g(i)),a.load()),a.centerModel){const i=new z.Sphere;a.boundingVolume instanceof Qa?i.copy(a.boundingVolume.sphere):a.boundingVolume instanceof z.Sphere&&i.copy(a.boundingVolume),this.json.boundingVolume.region&&(a.transformWGS84ToCartesian(.5*(a.json.boundingVolume.region[0]+a.json.boundingVolume.region[2]),.5*(a.json.boundingVolume.region[1]+a.json.boundingVolume.region[3]),.5*(a.json.boundingVolume.region[4]+a.json.boundingVolume.region[5]),Pa),Pi.setFromUnitVectors(Pa.normalize(),OB.normalize()),a.master.applyQuaternion(Pi),a.master.updateWorldMatrix(!1,!1)),zi.makeTranslation(-i.center.x*a.scale.x,-i.center.y*a.scale.y,-i.center.z*a.scale.z),a.master.matrix.multiply(zi),a.master.matrix.decompose(a.master.position,a.master.quaternion,a.master.scale)}a.isSetup=!0,A.onLoadCallback&&A.onLoadCallback(a)}isAbsolutePathOrURL(A){const a=/^(?:http|https|ftp|tcp|udp):\/\/\S+/.test(A),e=A.startsWith("/")&&!A.startsWith("//");return a||e}assembleURL(A,a){A.endsWith("/")||(A+="/");const e=new URL(A);let g=e.pathname.split("/").filter(I=>I!==""),i=a.split("/").filter(I=>I!=="");for(let I=1;I<=g.length&&!(I>=i.length);I++)if(g.slice(g.length-I,g.length).join("/")===i.slice(0,I).join("/")){for(let r=0;r<I;r++)g.pop();break}for(;i.length>0&&i[0]==="..";)g.pop(),i.shift();return`${e.protocol}//${e.host}/${[...g,...i].join("/")}`}extractQueryParams(A,a){const e=new URL(A);for(let[g,i]of e.searchParams)a[g]=i;return e.search="",e.toString()}load(){var A=this;function a(e){let g;e.uri?g=e.uri:e.url&&(g=e.url);const i=/^(?:http|https|ftp|tcp|udp):\/\/\S+/;if(i.test(A.rootPath)?i.test(g)||(g=A.assembleURL(A.rootPath,g)):Za.isAbsolute(A.rootPath)&&(g=A.rootPath+Za.sep+g),g=A.extractQueryParams(g,A.queryParams),A.queryParams){var I="";for(let r in A.queryParams)A.queryParams.hasOwnProperty(r)&&(I+="&"+r+"="+A.queryParams[r]);g.includes("?")?g+=I:g+="?"+I.substring(1)}g&&(g.includes(".b3dm")||g.includes(".glb")||g.includes(".gltf")?(A.contentURL=g,A.tileLoader.get(A.abortController,g,A.uuid,A,A.cameraOnLoad?()=>A.calculateDistanceToCamera(A.cameraOnLoad):()=>0,()=>A.getSiblings(),A.level,!A.json.boundingVolume.region,!!A.json.boundingVolume.region,A.geometricError)):g.includes(".json")&&A.tileLoader.get(A.abortController,g,A.uuid,A))}A.deleted||(A.json.content?a(A.json.content):A.json.contents&&A.json.contents.forEach(e=>a(e)))}loadMesh(A){this.deleted||this.meshContent.add(A)}loadJson(A,a){this.deleted||(this.json.children&&(this.jsonChildren=this.json.children),A.rootPath=Za.dirname(a),this.jsonChildren.push(A),this.hasUnloadedJSONContent--)}dispose(){const A=this;A.childrenTiles.forEach(a=>a.dispose()),A.deleted=!0,A.abortController&&A.abortController.abort(),this.parent=null,this.parentTile=null,this.dispatchEvent({type:"removed"})}disposeChildren(){this.childrenTiles.forEach(A=>A.dispose()),this.childrenTiles=[]}_update(A,a){const e=this;function g(i){if(e.hasMeshContent&&!(e.meshContent.size<e.hasMeshContent)){if(i<0)return e.inFrustum=!1,void e.changeContentVisibility(!!e.loadOutsideView);if(e.inFrustum=!0,e.childrenTiles.length!=0){if(i>=e.master.geometricErrorMultiplier*e.geometricError)e.changeContentVisibility(!0);else if(i<e.master.geometricErrorMultiplier*e.geometricError){let I=!0;e.childrenTiles.every(r=>!!r.isReady()||(I=!1,!1)),I&&e.changeContentVisibility(!1)}}else e.changeContentVisibility(!0)}}e.isSetup&&(e.materialVisibility,e.boundingVolume&&e.geometricError&&(e.metric=e.calculateUpdateMetric(A,a)),e.childrenTiles.forEach(i=>i._update(A,a)),g(e.metric),function(i){i<0&&e.hasMeshContent||(!e.hasMeshContent&&e.rootPath||i<e.master.geometricErrorMultiplier*e.geometricError&&e.meshContent.size>0)&&e.json&&e.jsonChildren&&e.childrenTiles.length!=e.jsonChildren.length&&e.jsonChildren.forEach(I=>{if(!(I.root||I.children||I.getChildren||I.content||I.contents))return;let r=new jg({parentTile:e,queryParams:e.queryParams,parentGeometricError:e.geometricError,parentBoundingVolume:e.boundingVolume,parentRefinement:e.refinement,json:I,rootPath:e.rootPath,loadOutsideView:e.loadOutsideView,level:e.level+1,tileLoader:e.tileLoader,cameraOnLoad:A,master:e.master,centerModel:!1});e.childrenTiles.push(r)})}(e.metric),function(i){if(e.hasMeshContent){if(!e.inFrustum)return e.disposeChildren(),void g(i);i>=e.master.geometricErrorMultiplier*e.geometricError&&(e.disposeChildren(),g(i))}}(e.metric))}areAllChildrenLoadedAndHidden(){let A=!0;return this.childrenTiles.every(a=>{if(a.hasMeshContent){if(a.childrenTiles.length>0)return A=!1,!1;if(!a.inFrustum)return!0;if(!a.materialVisibility||a.meshesToDisplay!=a.meshesDisplayed)return A=!1,!1}else if(!a.areAllChildrenLoadedAndHidden())return A=!1,!1;return!0}),A}isReady(){if(!this.inFrustum)return!0;if(this.hasUnloadedJSONContent)return!1;if(!this.hasMeshContent||this.meshContent.size==0||!this.materialVisibility){if(this.childrenTiles.length>0){var A=!0;return this.childrenTiles.every(a=>!!a.isReady()||(A=!1,!1)),A}return!1}return!this.hasMeshContent||!(this.meshContent.size<this.hasMeshContent)&&!!this.materialVisibility}changeContentVisibility(A){this.materialVisibility=A}calculateUpdateMetric(A,a){if(this.boundingVolume instanceof Qa){if(Ia.copy(this.boundingVolume.sphere),Ia.applyMatrix4(this.matrixWorld),!a.intersectsSphere(Ia))return-1}else{if(!(this.boundingVolume instanceof z.Sphere))return console.error("unsupported shape"),-1;if(Ia.copy(this.boundingVolume),Ia.applyMatrix4(this.matrixWorld),!a.intersectsSphere(Ia))return-1}let e=Math.max(0,A.position.distanceTo(Ia.center)-Ia.radius);if(e=Math.pow(e,this.distanceBias),e==0)return 0;const g=this.matrixWorld.getMaxScaleOnAxis();this.master._renderSize(sg);let i=sg.y,I=A.fov;A.aspect<1&&(I*=A.aspect,i=sg.x);let r=2*Math.tan(.5*I*.017453292519943295)*e;return 16*window.devicePixelRatio*r/(i*g)}getSiblings(){const A=this,a=[];if(!A.parentTile)return a;let e=A.parentTile;for(;!e.hasMeshContent&&e.parentTile;)e=e.parentTile;return e.childrenTiles.forEach(g=>{if(g&&g!=A){for(;!g.hasMeshContent&&g.childrenTiles[0];)g=g.childrenTiles[0];a.push(g)}}),a}calculateDistanceToCamera(A){return this.boundingVolume instanceof Qa?(Ia.copy(this.boundingVolume.sphere),Ia.applyMatrix4(this.matrixWorld)):this.boundingVolume instanceof z.Sphere?(Ia.copy(this.boundingVolume),Ia.applyMatrix4(this.matrixWorld)):console.error("unsupported shape"),Math.max(0,A.position.distanceTo(Ia.center)-Ia.radius)}getWorldMatrix(){return this.matrixWorld}transformWGS84ToCartesian(A,a,e,g){const i=6378137/Math.sqrt(1-.006694384442042*Math.pow(Math.sin(a),2)),I=Math.cos(a),r=Math.cos(A),o=Math.sin(a),B=i+e,n=B*I*r,s=B*I*Math.sin(A),E=(.993305615557957*i+e)*o;g.set(n,s,E)}}class PB extends z.Object3D{constructor(A){super(),A.master=this,A.domWidth&&A.domHeight?this.rendererSize=new z.Vector2(A.domWidth,A.domHeight):this.rendererSize=new z.Vector2(1e3,1e3),this.renderer=A.renderer,this.distanceBias=Math.max(1e-4,A.distanceBias?A.distanceBias:1),this.geometricErrorMultiplier=A.geometricErrorMultiplier?A.geometricErrorMultiplier:1,this.tileset=new jg(A),A.static&&(this.matrixAutoUpdate=!1),this.tileLoader=A.tileLoader}_renderSize(A){this.renderer?this.renderer.getDrawingBufferSize(A):A.copy(this.rendererSize)}setCanvasSize(A,a){this.rendererSize.set(A,a)}update(A,a){if(a)this.tileset._update(A,a);else{const e=new z.Frustum;e.setFromProjectionMatrix(new z.Matrix4().multiplyMatrices(A.projectionMatrix,A.matrixWorldInverse)),this.tileset._update(A,e)}}setGeometricErrorMultiplier(A){this.geometricErrorMultiplier=A||1}}class zB{constructor(A){const a=this;a.scene=A,a.instancedTiles=[],a.instancedMesh,a.reuseableMatrix=new z.Matrix4}addInstance(A){const a=this;A.added=!0,A.listOMesh=a.instancedTiles,a.instancedTiles.push(A),a.instancedMesh&&A.loadMesh(a.instancedMesh)}addToScene(){const A=this;A.instancedMesh.setMatrixAt(0,new z.Matrix4),A.instancedMesh.instanceMatrix.needsUpdate=!0,A.instancedMesh.count=1,A.scene.add(A.instancedMesh),A.instancedMesh.onAfterRender=()=>{delete A.instancedMesh.onAfterRender,A.instancedMesh.displayedOnce=!0}}setObject(A){const a=this;a.instancedMesh=A,a.instancedMesh.matrixAutoUpdate=!1,a.instancedMesh.matrixWorldAutoUpdate=!1,a.scene.children.includes(A)||this.addToScene();for(let e=0;e<a.instancedTiles.length;e++)a.instancedTiles[e].loadMesh(a.instancedMesh)}update(){const A=this;for(let a=A.instancedTiles.length-1;a>=0;a--)A.instancedTiles[a].deleted&&A.instancedTiles.splice(a,1);if(A.instancedMesh){A.instancedMesh.count=0,A.instancedMesh.instancedTiles=[];for(let a=0;a<A.instancedTiles.length;a++)A.instancedTiles[a].meshContent.add(A.instancedMesh),A.instancedTiles[a].materialVisibility&&(A.instancedMesh.count++,A.reuseableMatrix.set(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1),A.reuseableMatrix.multiply(A.instancedTiles[a].matrixWorld),A.reuseableMatrix.multiply(A.instancedMesh.baseMatrix),A.instancedMesh.setMatrixAt(A.instancedMesh.count-1,A.reuseableMatrix),A.instancedMesh.instancedTiles.push(A.instancedTiles[a]));A.instancedMesh.instanceMatrix.needsUpdate=!0,A.instancedMesh.needsUpdate=!0,A.instancedMesh.computeBoundingSphere()}}getCount(){return this.instancedTiles.length}dispose(){const A=this;return!(A.instancedTiles.length>0)&&!!A.instancedMesh&&(A.scene.remove(A.instancedMesh),A.instancedMesh.traverse(a=>{if(a.dispose&&a.dispose(),a.material)if(a.material.length)for(let e=0;e<a.material.length;++e)a.material[e].dispose();else a.material.dispose();a.geometry&&a.geometry.dispose()}),A.instancedMesh.dispose(),!0)}}class WB{constructor(){const A=this;A.count=0,A.json,A.instancedTiles=[]}addInstance(A){this.instancedTiles.push(A),this.json&&A.loadJson(this.json,this.url)}setObject(A,a){const e=this;e.json=A,e.url=a;for(let g=0;g<e.instancedTiles.length;g++)e.instancedTiles[g].loadJson(e.json,e.url)}getCount(){return this.instancedTiles.length}update(){const A=this;for(let a=A.instancedTiles.length-1;a>=0;a--)A.instancedTiles[a].deleted&&A.instancedTiles.splice(a,1)}dispose(){return!(!this.json||this.instancedTiles.length!=0)}}let ie=0;async function VB(t){return new Promise(A=>{const a=setInterval(()=>{t.hasDracoLoader&&!t.dracoLoader||t.hasKTX2Loader&&!t.ktx2Loader||(clearInterval(a),A())},10)})}exports.InstancedOGC3DTile=PB,exports.InstancedTileLoader=class{constructor(t,A){if(this.zUpToYUpMatrix=new z.Matrix4,this.zUpToYUpMatrix.set(1,0,0,0,0,0,-1,0,0,1,0,0,0,0,0,1),this.maxCachedItems=100,this.maxInstances=1,this.proxy=A.proxy,A&&(this.meshCallback=A.meshCallback,this.pointsCallback=A.pointsCallback,A.maxCachedItems&&(this.maxCachedItems=A.maxCachedItems),A.maxInstances&&(this.maxInstances=A.maxInstances)),this.gltfLoader=new Zi,A&&A.dracoLoader)this.gltfLoader.setDRACOLoader(A.dracoLoader),this.hasDracoLoader=!0;else{const a=new AI;a.setDecoderPath("https://www.gstatic.com/draco/versioned/decoders/1.4.3/"),this.gltfLoader.setDRACOLoader(a),this.gltfLoader.hasDracoLoader=!0}if(A&&A.ktx2Loader)this.gltfLoader.setKTX2Loader(A.ktx2Loader),this.hasKTX2Loader=!0;else if(A&&A.renderer){const a=new ca;a.setTranscoderPath("https://storage.googleapis.com/ogc-3d-tiles/basis/").detectSupport(A.renderer),this.gltfLoader.setKTX2Loader(a),this.gltfLoader.hasKTX2Loader=!0}this.gltfLoader.setMeshoptDecoder(dI),this.hasMeshOptDecoder=!0,this.b3dmDecoder=new Xi(this.gltfLoader),this.cache=new Wi,this.scene=t,this.ready=[],this.downloads=[],this.nextReady=[],this.nextDownloads=[]}update(){const t=this;t._checkSize(),t.cache._data.forEach(A=>{A.update()}),ie<8&&t._download(),t._loadBatch()}_download(){const t=this;if(t.nextDownloads.length!=0||(t._getNextDownloads(),t.nextDownloads.length!=0))for(;t.nextDownloads.length>0;){const a=t.nextDownloads.shift();if(a){if(a.path.includes(".b3dm")&&(A=t.proxy?()=>fetch(t.proxy,{method:"POST",body:a.path}):()=>fetch(a.path),ie++,A().then(e=>{if(!e.ok)throw console.error("could not load tile with path : "+a.path),new Error(`couldn't load "${a.path}". Request failed with status ${e.status} : ${e.statusText}`);return e.arrayBuffer()}).then(e=>this.b3dmDecoder.parseB3DMInstanced(e,g=>{t.meshCallback(g,a.geometricError)},t.maxInstances,a.sceneZupToYup,a.meshZupToYup)).then(e=>{e.frustumCulled=!1,a.tile.setObject(e),t.ready.unshift(a)}).catch(e=>console.error(e)).finally(()=>{ie--})),a.path.includes(".glb")||a.path.includes(".gltf"))A=t.proxy?()=>fetch(t.proxy,{method:"POST",body:a.path}):()=>fetch(a.path),ie++,A().then(e=>{if(!e.ok)throw new Error("missing content");return e.arrayBuffer()}).then(async e=>{await VB(this.gltfLoader),this.gltfLoader.parse(e,null,g=>{let i;g.scene.asset=g.asset,a.sceneZupToYup&&g.scene.applyMatrix4(this.zUpToYUpMatrix),g.scene.traverse(I=>{I.geometricError=a.geometricError,I.isMesh&&(a.meshZupToYup&&I.applyMatrix4(this.zUpToYUpMatrix),t.meshCallback&&t.meshCallback(I,I.geometricError)),I.isPoints&&console.error("instanced point cloud is not supported")}),g.scene.updateWorldMatrix(!1,!0),g.scene.traverse(I=>{I.isMesh&&(i=new z.InstancedMesh(I.geometry,I.material,t.maxInstances),i.baseMatrix=I.matrixWorld)}),t.ready.unshift(a),i?(i.frustumCulled=!1,a.tile.setObject(i)):g.scene.traverse(I=>{I.dispose&&I.dispose(),I.material&&I.material.dispose()})})},e=>{console.error("could not load tile : "+a.path)}).finally(()=>{ie--});else if(a.path.includes(".json")){var A;A=t.proxy?()=>fetch(t.proxy,{method:"POST",body:a.path}):()=>fetch(a.path),ie++,A().then(e=>{if(!e.ok)throw console.error("could not load tile with path : "+a.path),new Error(`couldn't load "${a.path}". Request failed with status ${e.status} : ${e.statusText}`);return e.json()}).then(e=>Fg(e,a.path)).then(e=>{a.tile.setObject(e,a.path),t.ready.unshift(a)}).catch(e=>console.error(e)).finally(()=>{ie--})}}}}_loadBatch(){return this.nextReady.length==0&&(this._getNextReady(),this.nextReady.length==0)?0:this.nextReady.shift()?1:0}_getNextReady(){let t=Number.MAX_VALUE,A=-1;for(let a=this.ready.length-1;a>=0;a--)this.ready[a].distanceFunction||this.nextReady.push(this.ready.splice(a,1)[0]);if(!(this.nextReady.length>0)){for(let a=this.ready.length-1;a>=0;a--){const e=this.ready[a].distanceFunction()*this.ready[a].level;e<t&&(t=e,A=a)}if(A>=0){const a=this.ready.splice(A,1).pop();this.nextReady.push(a);const e=a.getSiblings();for(let g=this.ready.length-1;g>=0;g--)e.includes(this.ready[g].uuid)&&this.nextready.push(this.ready.splice(g,1).pop())}}}get(t,A,a,e,g,i,I,r,o,B){const n=this,s=function(C){for(var Q=C.split("/"),c=[],d=0,b=0;b<Q.length;b++){var h=Q[b];h!=="."&&h!==""&&h!==".."?c[d++]=h:h===".."&&d>0&&d--}if(d===0)return"/";var l="";for(b=0;b<d;b++)l+="/"+c[b];return l}(A);if(!(A.includes(".b3dm")||A.includes(".json")||A.includes(".glb")||A.includes(".gltf")))return void console.error("the 3DTiles cache can only be used to load B3DM, gltf and json data");const E=n.cache.get(s);if(E)E.addInstance(e);else if(A.includes(".b3dm")||A.includes(".glb")||A.includes(".gltf")){const C=new zB(n.scene);C.addInstance(e),n.cache.put(s,C);const Q=new AbortController;t.signal.addEventListener("abort",()=>{C.getCount()==0&&Q.abort()}),this.downloads.push({abortController:Q,tile:C,key:s,path:A,distanceFunction:g,getSiblings:i,level:I,uuid:a,sceneZupToYup:r,meshZupToYup:o,geometricError:B,shouldDoDownload:()=>!0})}else if(A.includes(".json")){const C=new WB;C.addInstance(e),n.cache.put(s,C);const Q=new AbortController;t.signal.addEventListener("abort",()=>{C.getCount()==0&&Q.abort()}),this.downloads.push({abortController:Q,tile:C,key:s,path:A,distanceFunction:g,getSiblings:i,level:I,shouldDoDownload:()=>!0})}}_getNextDownloads(){let t=Number.MAX_VALUE,A=-1;for(let a=this.downloads.length-1;a>=0;a--){const e=this.downloads[a];e.shouldDoDownload()?e.distanceFunction||this.nextDownloads.push(this.downloads.splice(a,1)[0]):this.downloads.splice(a,1)}if(!(this.nextDownloads.length>0)){for(let a=this.downloads.length-1;a>=0;a--){const e=this.downloads[a],g=e.distanceFunction()*e.level;g<t&&(t=g,A=a)}if(A>=0){const a=this.downloads.splice(A,1).pop();this.nextDownloads.push(a);const e=a.getSiblings();for(let g=this.downloads.length-1;g>=0;g--)e.includes(this.downloads[g].uuid)&&this.nextDownloads.push(this.downloads.splice(g,1).pop())}}}_checkSize(){const t=this;let A=0;for(;t.cache.size()>t.maxCachedItems&&A<t.cache.size();){A++;const a=t.cache.head();t.cache.remove(a.key),a.value.dispose()||t.cache.put(a.key,a.value)}}},exports.OBB=Qa,exports.OGC3DTile=Lg,exports.OcclusionCullingService=class{constructor(){this.cullMap=[],this.cullMaterial=new z.MeshBasicMaterial({vertexColors:!0}),this.cullMaterial.side=z.FrontSide,this.cullTarget=this._createCullTarget(),this.cullPixels=new Uint8Array(4*this.cullTarget.width*this.cullTarget.height)}setSide(t){this.cullMaterial.side=t}_createCullTarget(){const t=new z.WebGLRenderTarget(Math.floor(.05*window.innerWidth),Math.floor(.05*window.innerHeight));return t.texture.format=z.RGBAFormat,t.texture.colorSpace=z.LinearSRGBColorSpace,t.texture.minFilter=z.NearestFilter,t.texture.magFilter=z.NearestFilter,t.texture.generateMipmaps=!1,t.stencilBuffer=!1,t.depthBuffer=!0,t.depthTexture=new z.DepthTexture,t.depthTexture.format=z.DepthFormat,t.depthTexture.type=z.UnsignedShortType,t}update(t,A,a){let e=A.getRenderTarget(),g=t.overrideMaterial;t.overrideMaterial=this.cullMaterial,A.setRenderTarget(this.cullTarget),A.render(t,a),t.overrideMaterial=g,A.setRenderTarget(e),A.readRenderTargetPixels(this.cullTarget,0,0,this.cullTarget.width,this.cullTarget.height,this.cullPixels),this.cullMap=[];for(let i=0;i<this.cullPixels.length;i+=4){const I=z.MathUtils.clamp(this.cullPixels[i],0,255)<<16^z.MathUtils.clamp(this.cullPixels[i+1],0,255)<<8^z.MathUtils.clamp(this.cullPixels[i+2],0,255);this.cullMap[I]=!0}}hasID(t){return this.cullMap[t]}},exports.SplatsMesh=Ar,exports.TileLoader=bI,exports.getOGC3DTilesCopyrightInfo=tr,exports.splatsFragmentShader=er,exports.splatsVertexShader=ar;
|
|
516
|
+
}`}function To(g,A,a,e){const t=g.getX(a),i=g.getY(a),I=g.getZ(a),B=A.getX(a),r=A.getY(a),o=A.getZ(a);e.set(t,i,I,i,B,r,I,r,o)}function Oo(g,A,a){const e=g.determinant();if(Math.abs(e)<1e-12)return void a.set(0,0,0);const t=1/e,i=new f.Matrix3().copy(g);i.elements[0]=A.x,i.elements[3]=A.y,i.elements[6]=A.z;const I=new f.Matrix3().copy(g);I.elements[1]=A.x,I.elements[4]=A.y,I.elements[7]=A.z;const B=new f.Matrix3().copy(g);B.elements[2]=A.x,B.elements[5]=A.y,B.elements[8]=A.z,a.set(i.determinant()*t,I.determinant()*t,B.determinant()*t)}new f.Vector3,new f.Vector3;var wA;new f.Matrix3().set(1,0,0,0,0,1,0,-1,0),new f.Matrix4().set(1,0,0,0,0,0,-1,0,0,1,0,0,0,0,0,1);const wa=new z.Sphere(new z.Vector3(0,0,0),1),Sa=new sa([0,0,0,1,0,0,0,1,0,0,0,1]);new z.Box3;const Oa=new z.Vector3(0,0,0),fe=new z.Vector3(0,0,0),Po=new z.Vector3(0,1,0),ng=new z.Ray,rg=new z.Matrix4;new z.Matrix4,new z.Frustum;const og=new z.Vector3,Cg=[],Oi=new z.Quaternion,ma={};function iB(){var g=[];for(let A in ma)ma.hasOwnProperty(A)&&ma[A]>0&&g.push(A);return g}class Lt extends z.Object3D{constructor(A){super();const a=this;if(a.splatsMesh=A.splatsMesh,a.oldUltraMeshSplats=A.oldUltraMeshSplats,a.iosCompatibility=A.iosCompatibility,a.splatsQuality=A.splatsQuality!=null?A.splatsQuality:.75,a.splatsCPUCulling=A.splatsCPUCulling!=null&&A.splatsCPUCulling,this.contentURL=[],A.domWidth&&A.domHeight?this.rendererSize=new z.Vector2(A.domWidth,A.domHeight):this.rendererSize=new z.Vector2(1e3,1e3),this.setClipShape(A.clipShape),this.loadingStrategy=A.loadingStrategy?A.loadingStrategy.toUpperCase():"INCREMENTAL",this.distanceBias=Math.max(1e-4,A.distanceBias?A.distanceBias:1),this.proxy=A.proxy,this.drawBoundingVolume=!!A.drawBoundingVolume&&A.drawBoundingVolume,this.displayErrors=A.displayErrors,this.displayCopyright=A.displayCopyright,A.queryParams&&(this.queryParams={...A.queryParams}),this.uuid=lI(),A.tileLoader)this.tileLoader=A.tileLoader;else{const i={};i.meshCallback=A.meshCallback?A.meshCallback:(B,r)=>{B.material.wireframe=!1,B.material.side=z.DoubleSide},i.pointsCallback=A.pointsCallback?A.pointsCallback:(B,r)=>{B.material.size=Math.pow(r,.33),B.material.sizeAttenuation=!0},i.proxy=this.proxy,i.renderer=A.renderer,i.dracoLoader=A.dracoLoader,i.ktx2Loader=A.ktx2Loader,a.tileLoader=new uI(i);const I=this.update;this.update=B=>{I.call(a,B),a.tileLoader.update()}}if(this.displayCopyright=!!A.displayCopyright,this.geometricErrorMultiplier=A.geometricErrorMultiplier?A.geometricErrorMultiplier:1,this.splatsCropRadius=Number.MAX_VALUE,this.splatsSizeMultiplier=1,this.renderer=A.renderer,this.meshCallback=A.meshCallback,this.loadOutsideView=A.loadOutsideView,this.cameraOnLoad=A.cameraOnLoad,this.parentTile=A.parentTile,this.occlusionCullingService=A.occlusionCullingService,this.static=A.static,this.occlusionCullingService&&(this.color=new z.Color,this.color.setHex(16777215*Math.random()),this.colorID=z.MathUtils.clamp(255*a.color.r,0,255)<<16^z.MathUtils.clamp(255*a.color.g,0,255)<<8^z.MathUtils.clamp(255*a.color.b,0,255)),this.static&&(this.matrixAutoUpdate=!1,this.matrixWorldAutoUpdate=!1),this.childrenTiles=[],this.meshContent=[],this.tileContent,this.refine,this.rootPath,this.geometricError,this.boundingVolume,this.json,this.materialVisibility=!1,this.level=A.level?A.level:0,this.hasMeshContent=0,this.hasUnloadedJSONContent=0,this.centerModel=A.centerModel,this.abortController=new AbortController,this.onLoadCallback=A.onLoadCallback,A.json)a._setup(A);else if(A.url){var e=A.url;if(a.queryParams){var t="";for(let i in a.queryParams)a.queryParams.hasOwnProperty(i)&&(t+="&"+i+"="+a.queryParams[i]);e.includes("?")?e+=t:e+="?"+t.substring(1)}(a.proxy?()=>fetch(a.proxy,{method:"POST",body:e,signal:a.abortController.signal}):()=>fetch(e,{signal:a.abortController.signal}))().then(i=>{if(!i.ok)throw new Error(`couldn't load "${A.url}". Request failed with status ${i.status} : ${i.statusText}`);i.json().then(I=>mt(I,e)).then(I=>{a._setup({rootPath:Za.dirname(A.url),json:I})})}).catch(i=>{a.displayErrors&&Pi(i)})}}setClipShape(A){if(A instanceof sa||A instanceof z.Sphere)this.clipShape=A;else if(A instanceof z.Box3){const a=new z.Vector3,e=new z.Vector3;A.getCenter(a),A.getSize(e).multiplyScalar(.5),this.clipShape=new sa([a.x,a.y,a.z,e.x,0,0,0,e.y,0,0,0,e.z])}else A=void 0;this.childrenTiles&&this.childrenTiles.forEach(a=>{a._setClipShape(this.clipShape)})}_setClipShape(A){this.clipShape=A,this.childrenTiles&&this.childrenTiles.forEach(a=>{a._setClipShape(this.clipShape)})}setSplatsSizeMultiplier(A){this.splatsSizeMultiplier=A,this.splatsMesh&&this.splatsMesh.setSplatsSizeMultiplier(this.splatsSizeMultiplier)}setSplatsCropRadius(A){this.splatsCropRadius=A,this.splatsMesh&&this.splatsMesh.setSplatsCropRadius(this.splatsCropRadius)}setSplatsCPUCulling(A){this.splatsCPUCulling=A,this.splatsMesh&&this.splatsMesh.setSplatsCPUCulling(A)}setSplatsQuality(A){this.splatsQuality=A,this.splatsMesh&&this.splatsMesh.setQuality(A)}updateMatrices(){this.updateMatrix(),this.splatsMesh&&this.splatsMesh.updateMatrix(),this.static&&(this.traverse(A=>{A.isObject3D&&(A.matrixWorldAutoUpdate=!0)}),this.splatsMesh&&(this.splatsMesh.matrixWorldAutoUpdate=!0)),this.updateMatrixWorld(!0),this.static&&(this.traverse(A=>{A.isObject3D&&(A.matrixWorldAutoUpdate=!1)}),this.splatsMesh&&(this.splatsMesh.matrixWorldAutoUpdate=!1))}setCanvasSize(A,a){this.rendererSize.set(A,a)}async _setup(A){const a=this;if(A.json.extensionsRequired&&(A.json.extensionsRequired.includes("JDULTRA_gaussian_splats")||A.json.extensionsRequired.includes("JDULTRA_gaussian_splats_V2"))&&(a.oldUltraMeshSplats=!0),A.json.root?(a.json=A.json.root,a.json.refine||(a.json.refine=A.json.refine),a.json.geometricError||(a.json.geometricError=A.json.geometricError),a.json.transform||(a.json.transform=A.json.transform),a.json.boundingVolume||(a.json.boundingVolume=A.json.boundingVolume)):a.json=A.json,a.json.children||(a.json.getChildren?a.json.children=await a.json.getChildren():a.json.children=[]),a.rootPath=A.json.rootPath?A.json.rootPath:A.rootPath,a.json.refine?a.refine=a.json.refine:a.refine=A.parentRefine,a.json.geometricError?a.geometricError=a.json.geometricError:a.geometricError=A.parentGeometricError,a.json.transform){let t=new z.Matrix4;t.elements=a.json.transform,a.applyMatrix4(t)}if(a.json.boundingVolume)if(a.json.boundingVolume.box)a.boundingVolume=new sa(a.json.boundingVolume.box);else if(a.json.boundingVolume.region){const t=a.json.boundingVolume.region;a._transformWGS84ToCartesian(t[0],t[1],t[4],Oa),a._transformWGS84ToCartesian(t[2],t[3],t[5],fe),Oa.lerp(fe,.5),a.boundingVolume=new z.Sphere(new z.Vector3(Oa.x,Oa.y,Oa.z),Oa.distanceTo(fe))}else if(a.json.boundingVolume.sphere){const t=a.json.boundingVolume.sphere;a.boundingVolume=new z.Sphere(new z.Vector3(t[0],t[1],t[2]),t[3])}else a.boundingVolume=A.parentBoundingVolume;else a.boundingVolume=A.parentBoundingVolume;function e(t){t.uri&&t.uri.includes("json")||t.url&&t.url.includes("json")?a.hasUnloadedJSONContent++:a.hasMeshContent++}if(a.json.content?(e(a.json.content),a.hasMeshContent==0&&(a.level=Math.max(0,a.parentTile?a.parentTile.level+.01:0)),a._load()):a.json.contents&&(a.json.contents.forEach(t=>e(t)),a.hasMeshContent==0&&(a.level=Math.max(0,a.parentTile?a.parentTile.level+.01:0))),a.centerModel&&(fe.copy(a.boundingVolume.center),this.json.boundingVolume.region&&(this._transformWGS84ToCartesian(.5*(this.json.boundingVolume.region[0]+this.json.boundingVolume.region[2]),.5*(this.json.boundingVolume.region[1]+this.json.boundingVolume.region[3]),.5*(this.json.boundingVolume.region[4]+this.json.boundingVolume.region[5]),Oa),Oi.setFromUnitVectors(Oa.normalize(),Po.normalize()),a.applyQuaternion(Oi)),fe.applyMatrix4(a.matrix),a.position.sub(fe),a.updateMatrices()),a.onLoadCallback&&a.onLoadCallback(a),a.isSetup=!0,a.level>0&&a.drawBoundingVolume)if(a.bbox&&console.log("double setup"),this.boundingVolume.aabb){let t=this.boundingVolume.aabb.clone();t.applyMatrix4(this.matrixWorld),a.bbox=new z.Box3Helper(t,new z.Color(Math.random(),Math.random(),Math.random())),a.add(a.bbox),a.bbox.material.visible=!1}else a.boundingVolume instanceof sa&&(a.bbox=a.boundingVolume.helper(),a.add(a.bbox),a.bbox.material.visible=!1)}_assembleURL(A,a){A.endsWith("/")||(A+="/");const e=new URL(A);let t=e.pathname.split("/").filter(I=>I!==""),i=a.split("/").filter(I=>I!=="");for(let I=1;I<=t.length&&!(I>=i.length);I++)if(t.slice(t.length-I,t.length).join("/")===i.slice(0,I).join("/")){for(let B=0;B<I;B++)t.pop();break}for(;i.length>0&&i[0]==="..";)t.pop(),i.shift();return`${e.protocol}//${e.host}/${[...t,...i].join("/")}`}_extractQueryParams(A,a){const e=new URL(A);for(let[t,i]of e.searchParams)a[t]=i;return e.search="",e.toString()}async _load(A=!0,a=!0){var e=this;if(!e.deleted){if(e.json.content)await t(e.json.content,null,A,a);else if(e.json.contents){let i=e.json.contents.map((I,B)=>t(I,B,A,a));Promise.all(i)}}async function t(i,I,B,r){let o;i.uri?o=i.uri:i.url&&(o=i.url);const n=/^(?:http|https|ftp|tcp|udp):\/\/\S+/;if(n.test(e.rootPath)?n.test(o)||(o=e._assembleURL(e.rootPath,o)):Za.isAbsolute(e.rootPath)&&(o=e.rootPath+Za.sep+o),o=e._extractQueryParams(o,e.queryParams),e.queryParams){var C="";for(let Q in e.queryParams)e.queryParams.hasOwnProperty(Q)&&(C+="&"+Q+"="+e.queryParams[Q]);o.includes("?")?o+=C:o+="?"+C.substring(1)}if(o)if(e.contentURL.push(o),r&&(o.includes(".b3dm")||o.includes(".glb")||o.includes(".gltf")))try{e.tileLoader.get(e.abortController,e.uuid,o,Q=>{if(!e.deleted)return Q.asset&&Q.asset.copyright&&(Q.asset.copyright.split(";").forEach(E=>{ma[E]?ma[E]++:ma[E]=1}),e.displayCopyright&&rt()),Q.isSplatsData&&(e.splatsMesh||(e.splatsMesh=new eB(e.tileLoader.renderer),e.splatsMesh.setQuality(e.splatsQuality),e.splatsMesh.setSplatsCPUCulling(e.splatsCPUCulling),e.splatsMesh.setSplatsCropRadius(e.splatsCropRadius),e.splatsMesh.setSplatsSizeMultiplier(e.splatsSizeMultiplier),e.static&&(e.splatsMesh.matrixWorldAutoUpdate=!1),e.add(e.splatsMesh),e.updateMatrices()),Q=e.splatsMesh.addSplatsTile(Q.positions,Q.colors,Q.cov0,Q.cov1)),Q.isSplatsBatch||(Q.traverse(E=>{if((E.isMesh||E.isPoints)&&E.layers.disable(0),E.isMesh&&e.occlusionCullingService){const s=E.geometry.attributes.position,c=[];for(let d=0;d<s.count;d++)c.push(e.color.r,e.color.g,e.color.b);E.geometry.setAttribute("color",new z.Float32BufferAttribute(c,3))}}),e.add(Q),e.updateMatrices()),e.meshContent.push(Q),Q},e.cameraOnLoad?()=>e.loadingStrategy=="IMMEDIATE"?e._calculateDistanceToCamera(e.cameraOnLoad):e.loadingStrategy=="INCREMENTAL"?e.parentTile?e.parentTile._calculateDistanceToCamera(e.cameraOnLoad)/Math.max(1,e.parentTile.level):e._calculateDistanceToCamera(e.cameraOnLoad)/Math.max(1,e.level):e.loadingStrategy=="PERLEVEL"?e.parentTile?e.level+e.parentTile._calculateDistanceToCamera(e.cameraOnLoad):e.level+e._calculateDistanceToCamera(e.cameraOnLoad):0:()=>0,()=>e._getSiblings(),e.level,e.loadingStrategy,!e.json.boundingVolume.region,!!e.json.boundingVolume.region,e.geometricError,e.oldUltraMeshSplats)}catch(Q){e.displayErrors&&Pi(Q)}else B&&o.includes(".json")&&(e.jsonRequested=o,e.tileLoader.get(e.abortController,e.uuid,o,async Q=>{e.jsonReceived=!0,e.deleted||(Q.rootPath=Za.dirname(o),e.json.children.push(Q),I==null?delete e.json.content:e.json.contents.splice(I,1),e.hasUnloadedJSONContent--)}))}}dispose(){const A=this;A.meshContent.forEach(a=>{a&&a.asset&&a.asset.copyright&&(a.asset.copyright.split(";").forEach(e=>{ma[e]&&ma[e]--}),A.displayCopyright&&rt())}),A.childrenTiles.forEach(a=>a.dispose()),A.deleted=!0,A.splatsMesh&&(A.meshContent.forEach(a=>a.hide()),A.parentTile||(A.splatsMesh.dispose(),A.splatsMesh=void 0)),A.contentURL&&(A.contentURL.forEach(a=>{A.tileLoader.invalidate(a,A.uuid)}),A.contentURL=[]),A.abortController&&!A.jsonRequested&&A.abortController.abort("tile not needed"),this.parent=null,A.meshContent=[],A.bbox&&A.bbox.dispose(),this.dispatchEvent({type:"removed"})}_disposeMeshContent(){const A=this;if(!A.deleted){A.deleted=!0,A.abortController&&(A.abortController.abort("tile not needed"),A.abortController=new AbortController);for(let a=A.meshContent.length-1;a>=0;a--){const e=A.meshContent[a];e&&e.asset&&e.asset.copyright&&(e.asset.copyright.split(";").forEach(t=>{ma[t]&&ma[t]--}),A.displayCopyright&&rt()),A.remove(e)}A.splatsMesh&&A.meshContent.forEach(a=>a.hide()),A.meshContent=[],A.contentURL.forEach(a=>{A.tileLoader.invalidate(a,A.uuid)}),A.contentURL=[]}}_disposeChildren(){var A=this;A.childrenTiles.forEach(a=>{a.dispose(),A.remove(a)}),A.childrenTiles=[]}raycast(A,a){if(this.splatsMesh){ng.copy(A.ray),rg.copy(this.matrixWorld).invert(),ng.applyMatrix4(rg);let e=!1;if(this.boundingVolume instanceof sa)e=this.boundingVolume.intersectsRay(ng);else{if(!(this.boundingVolume instanceof z.Sphere))return!1;e=ray.intersectsSphere(this.boundingVolume)}return e&&this.materialVisibility&&this.splatsReady&&(Cg.length=0,this.meshContent.forEach(t=>{t.isSplatsBatch&&(t.raycast(ng,Cg,A.params.Points.threshold),Cg.forEach(i=>{i.point.applyMatrix4(this.matrixWorld)}),a.push(...Cg))})),e}return super.raycast(A,a)}update(A){this.splatsMesh&&this.splatsMesh.updateShaderParams(A,this.renderer);const a=new z.Frustum;a.setFromProjectionMatrix(new z.Matrix4().multiplyMatrices(A.projectionMatrix,A.matrixWorldInverse));let e=[0],t=[0],i=[0],I=[0];if(this.refine=="REPLACE"?this.loadingStrategy==="IMMEDIATE"?(this._updateImmediate(A,a),this._statsImmediate(i,e,I,t)):(this._update(A,a),this._stats(i,e,I,t)):(this._update(A,a),this._stats(i,e,I,t)),e>0&&(I[0]/=e[0]),this.splatsMesh)if(og.copy(A.position),rg.copy(this.matrixWorld).invert(),og.applyMatrix4(rg),this.splatsCPUCulling){const B=new z.Matrix4().multiplyMatrices(A.projectionMatrix,A.matrixWorldInverse).multiply(this.matrixWorld);this.splatsMesh.sort(og,B)}else this.splatsMesh.sort(og);return{numTilesLoaded:e[0],numTilesRendered:t[0],maxLOD:i[0],percentageLoaded:I[0]}}_updateImmediate(A,a){this._computeMetricRecursive(A,a),this._updateNodeVisibilityImmediate(),this._expandTreeImmediate(A),this.shouldBeVisible=this.metric>0||!!this.loadOutsideView,this._shouldBeVisibleUpdateImmediate(),this._trimTreeImmediate(),this._loadMeshImmediate()}_statsImmediate(A,a,e,t){A[0]=Math.max(A[0],this.level),(this.shouldBeVisible||this.materialVisibility)&&(a[0]++,this.materialVisibility&&e[0]++),this.materialVisibility&&t[0]++,this.childrenTiles.forEach(i=>{i._statsImmediate(A,a,e,t)})}_stats(A,a,e,t){A[0]=Math.max(A[0],this.level),this.hasMeshContent&&(a[0]++,this.meshContent.length==this.hasMeshContent&&e[0]++,this.materialVisibility&&t[0]++),this.childrenTiles.forEach(i=>{i._stats(A,a,e,t)})}_trimTreeImmediate(){if(this.metric!=null)if(this.hasMeshContent&&this.shouldBeVisible&&this.materialVisibility){if(self.splatsMesh&&!self.splatsReady)return;this._disposeChildren()}else this.childrenTiles.forEach(A=>{A._trimTreeImmediate()})}_updateNodeVisibilityImmediate(A=!1){const a=this;if(a.hasMeshContent)if(a.shouldBeVisible)a.meshContent.length==a.hasMeshContent?a.materialVisibility?a.childrenTiles.forEach(e=>{e._updateNodeVisibilityImmediate(!0)}):(a._changeContentVisibility(!0),a.childrenTiles.forEach(e=>{e._updateNodeVisibilityImmediate(A)})):a.childrenTiles.forEach(e=>{e._updateNodeVisibilityImmediate(A)});else{if(!a.loadOutsideView&&a.metric<0)return a._changeContentVisibility(!1),a.meshContent.length>0&&a._disposeMeshContent(),void a.childrenTiles.forEach(e=>{e._updateNodeVisibilityImmediate(!0)});if(!a.materialVisibility||a.splatsMesh&&!a.splatsReady)a.childrenTiles.forEach(e=>{e._updateNodeVisibilityImmediate(A)});else if(A)a._changeContentVisibility(!1),a.meshContent.length>0&&a._disposeMeshContent(),a.childrenTiles.forEach(e=>{e._updateNodeVisibilityImmediate(A)});else{let e=!0;a.childrenTiles.every(t=>!!t._isReadyImmediate()||(e=!1,!1)),e&&a.childrenTiles.length>0?(a._changeContentVisibility(!1),a.meshContent.length>0&&a._disposeMeshContent(),a.childrenTiles.forEach(t=>{t._updateNodeVisibilityImmediate(A)})):a.childrenTiles.forEach(t=>{t._updateNodeVisibilityImmediate(!a.splatsMesh||!!a.splatsReady)})}}else a.childrenTiles.forEach(e=>{e._updateNodeVisibilityImmediate(A)})}_shouldBeVisibleUpdateImmediate(){const A=this;A.hasMeshContent?A.metric==null?A.shouldBeVisible=!1:A.metric<0?(A.shouldBeVisible=!!A.loadOutsideView,A.childrenTiles.forEach(a=>{a._setShouldNotBeVisibleRecursive()})):A.metric<A.geometricErrorMultiplier*A.geometricError?A.hasUnloadedJSONContent||(A.json&&A.json.children&&A.json.children.length>0?(A.shouldBeVisible=!1,A.childrenTiles.forEach(a=>{a.shouldBeVisible=!0,a._shouldBeVisibleUpdateImmediate()})):A.shouldBeVisible=!0):A.childrenTiles.forEach(a=>{a._setShouldNotBeVisibleRecursive()}):(A.childrenTiles.forEach(a=>{a.shouldBeVisible=!0,a._shouldBeVisibleUpdateImmediate()}),A.shouldBeVisible=!1)}_setShouldNotBeVisibleRecursive(){this.shouldBeVisible=!1,this.childrenTiles.forEach(A=>{A._setShouldNotBeVisibleRecursive()})}_loadMeshImmediate(){const A=this;A.hasMeshContent&&A.shouldBeVisible?A.meshContent.length<A.hasMeshContent&&A.contentURL.length==0&&(A.deleted=!1,A._load(!1,!0)):A.childrenTiles.forEach(a=>{a._loadMeshImmediate()})}_computeMetricRecursive(A,a){const e=this;e.metric=-1,e.isSetup&&(e.boundingVolume&&e.geometricError&&(e.metric=e._calculateUpdateMetric(A,a)),e.childrenTiles.forEach(t=>t._computeMetricRecursive(A,a)))}_expandTreeImmediate(A){const a=this;a.hasUnloadedJSONContent||(a.hasMeshContent?a.occlusionCullingService&&a.hasMeshContent&&!a.occlusionCullingService.hasID(a.colorID)||a.metric>=0&&a.metric<a.geometricErrorMultiplier*a.geometricError&&a.json&&a.json.children&&a.childrenTiles.length<a.json.children.length&&a._loadJsonChildren(A):a.json&&a.json.children&&a.childrenTiles.length<a.json.children.length&&a._loadJsonChildren(A)),a.childrenTiles.forEach(e=>e._expandTreeImmediate(A))}_update(A,a){const e=this;if(!e.isSetup)return;const t=e.materialVisibility;e.boundingVolume&&e.geometricError&&(e.metric=e._calculateUpdateMetric(A,a)),e.childrenTiles.forEach(i=>i._update(A,a)),function(i){if(i<0)return e.inFrustum=!1,void e._changeContentVisibility(!!e.loadOutsideView);if(e.inFrustum=!0,!!e.hasMeshContent&&!(e.meshContent.length<e.hasMeshContent)){if(e.childrenTiles.length==0)return void e._changeContentVisibility(!0);if(i>=e.geometricErrorMultiplier*e.geometricError)e._changeContentVisibility(!0);else if(i<e.geometricErrorMultiplier*e.geometricError&&e.refine=="REPLACE"){let I=!0;e.childrenTiles.every(B=>!!B._isReady()||(I=!1,!1)),I?e._changeContentVisibility(!1):e._changeContentVisibility(!0)}}}(e.metric),function(i){i<0&&e.hasMeshContent||e.occlusionCullingService&&e.hasMeshContent&&!e.occlusionCullingService.hasID(e.colorID)||(!e.hasMeshContent||i<=e.geometricErrorMultiplier*e.geometricError&&(e.meshContent.length>0||e.splatsMesh))&&e.json&&e.json.children&&e.childrenTiles.length!=e.json.children.length&&e._loadJsonChildren(A)}(e.metric),function(i,I){if(e.hasMeshContent){if(!e.inFrustum)return void e._disposeChildren();if(e.occlusionCullingService&&!I&&e.hasMeshContent&&e.meshContent.length>0&&e.materialVisibility&&e._areAllChildrenLoadedAndHidden())return e.splatsMesh&&this.materialVisibility&&!e.splatsReady?void 0:void e._disposeChildren();if(i>=e.geometricErrorMultiplier*e.geometricError){if(e.splatsMesh&&e.materialVisibility&&!e.splatsReady)return;e._disposeChildren()}}}(e.metric,t)}_loadJsonChildren(A){const a=this;for(let e=a.json.children.length-1;e>=0;e--)a.json.children[e].root||a.json.children[e].children||a.json.children[e].getChildren||a.json.children[e].content||a.json.children[e].contents||a.json.children.splice(e,1);a.json.children.forEach(e=>{let t=new Lt({parentTile:a,queryParams:a.queryParams,parentGeometricError:a.geometricError,parentBoundingVolume:a.boundingVolume,parentRefine:a.refine,json:e,rootPath:a.rootPath,geometricErrorMultiplier:a.geometricErrorMultiplier,loadOutsideView:a.loadOutsideView,level:Math.floor(a.level)+1,tileLoader:a.tileLoader,cameraOnLoad:A,occlusionCullingService:a.occlusionCullingService,renderer:a.renderer,static:a.static,centerModel:!1,displayErrors:a.displayErrors,displayCopyright:a.displayCopyright,distanceBias:a.distanceBias,loadingStrategy:a.loadingStrategy,drawBoundingVolume:a.drawBoundingVolume,splatsMesh:a.splatsMesh,clipShape:a.clipShape,oldUltraMeshSplats:a.oldUltraMeshSplats});a.childrenTiles.push(t),a.add(t)}),a.updateMatrices(!0)}_areAllChildrenLoadedAndHidden(){let A=!0;const a=this;return this.childrenTiles.every(e=>{if(e.hasMeshContent){if(e.childrenTiles.length>0)return A=!1,!1;if(!e.metric<0)return!0;if(e.materialVisibility&&(!a.splatsMesh||a.splatsReady)||a.occlusionCullingService.hasID(e.colorID))return A=!1,!1}else if(!e._areAllChildrenLoadedAndHidden())return A=!1,!1;return!0}),A}_isReady(){if(this.metric==null)return!1;if(this.metric<0)return!0;if(this.hasUnloadedJSONContent)return!1;if(!this.hasMeshContent&&this.json.children.length==0&&!this.hasUnloadedJSONContent)return!0;if(!this.hasMeshContent||this.meshContent.length==0||!this.materialVisibility){if(this.children.length>0){var A=!0;return this.childrenTiles.every(a=>!!a._isReady()||(A=!1,!1)),A}return!1}return!this.hasMeshContent||!(this.meshContent.length<this.hasMeshContent)&&!!this.materialVisibility}_isReadyImmediate(){if(this.materialVisibility||!this.loadOutsideView&&this.metric<0)return!0;if(this.childrenTiles.length>0){var A=!0;return this.childrenTiles.every(a=>!!a._isReadyImmediate()||(A=!1,!1)),A}return!1}_changeContentVisibility(A){const a=this;if(a.bbox&&(a.bbox.material.visible=A),a.splatsMesh)A!=a.materialVisibility&&(a.meshContent.forEach(e=>{A&&e.isSplatsBatch?e.show(()=>{a.materialVisibility&&(a.splatsReady=!0)}):(e.hide(),a.splatsReady=!1)}),a.materialVisibility=A);else{if(a.hasMeshContent&&a.meshContent.length>0&&(A?a.meshContent.forEach(e=>{e.traverse(t=>{(t.isMesh||t.isPoints)&&t.layers.enable(0)})}):a.meshContent.forEach(e=>{e.traverse(t=>{(t.isMesh||t.isPoints)&&t.layers.disable(0)})})),a.materialVisibility==A)return;a.materialVisibility=A}}_calculateUpdateMetric(A,a){let e=0;if(this.boundingVolume instanceof sa){if(Sa.copy(this.boundingVolume),Sa.applyMatrix4(this.matrixWorld),!Sa.inFrustum(a))return-1;if(this.clipShape!=null&&(this.clipShape.isSphere&&!Sa.intersectsSphere(this.clipShape)||this.clipShape.isOBB&&!Sa.intersectsOBB(this.clipShape)))return Number.MAX_VALUE;e=Math.max(0,Sa.distanceToPoint(A.position)-A.near)}else{if(!(this.boundingVolume instanceof z.Sphere))return console.error("unsupported shape"),-1;if(wa.copy(this.boundingVolume),wa.applyMatrix4(this.matrixWorld),this.clipShape!=null&&(this.clipShape.isOBB&&!this.clipShape.intersectsSphere(wa)||this.clipShape.isSphere&&!this.clipShape.intersectsSphere(wa)))return Number.MAX_VALUE;if(!a.intersectsSphere(wa))return-1;e=Math.max(0,A.position.distanceTo(wa.center)-wa.radius-A.near)}if(e=Math.pow(e,this.distanceBias),e==0)return 0;const t=this.matrixWorld.getMaxScaleOnAxis();this.renderer&&this.renderer.getDrawingBufferSize(this.rendererSize);let i=this.rendererSize.y,I=A.fov;return A.aspect<1&&(I*=A.aspect,i=this.rendererSize.x),16*(2*Math.tan(.5*I*.017453292519943295)*e)/(i*t)}_getSiblings(){const A=this,a=[];if(!A.parentTile)return a;let e=A.parentTile;for(;!e.hasMeshContent&&e.parentTile;)e=e.parentTile;return e.childrenTiles.forEach(t=>{if(t&&t!=A){for(;!t.hasMeshContent&&t.childrenTiles[0];)t=t.childrenTiles[0];a.push(t)}}),a}_calculateDistanceToCamera(A){return this.boundingVolume instanceof sa?(Sa.copy(this.boundingVolume),Sa.applyMatrix4(this.matrixWorld),Math.max(0,Sa.distanceToPoint(A.position))):this.boundingVolume instanceof z.Sphere?(wa.copy(this.boundingVolume),wa.applyMatrix4(this.matrixWorld),Math.max(0,A.position.distanceTo(wa.center)-wa.radius)):(console.error("unsupported shape"),-1)}setGeometricErrorMultiplier(A){this.geometricErrorMultiplier=A,this.childrenTiles.forEach(a=>a.setGeometricErrorMultiplier(A))}setDistanceBias(A){this.distanceBias=A,this.childrenTiles.forEach(a=>a.setDistanceBias(A))}_transformWGS84ToCartesian(A,a,e,t){const i=6378137/Math.sqrt(1-.006694384442042*Math.pow(Math.sin(a),2)),I=Math.cos(a),B=Math.cos(A),r=Math.sin(a),o=i+e,n=o*I*B,C=o*I*Math.sin(A),Q=(.993305615557957*i+e)*r;t.set(n,C,Q)}hideCopyright(){(function(){wA||((wA=document.createElement("div")).style.position="fixed",wA.style.bottom="20px",wA.style.left="20px",wA.style.color="white",wA.style.textShadow="2px 2px 0 #000, -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000",wA.style.padding="10px",wA.style.backgroundColor="rgba(0, 0, 0, 0.1)",document.body.appendChild(wA)),wA.style.opacity=0})()}showCopyright(){(function(){wA||((wA=document.createElement("div")).style.position="fixed",wA.style.bottom="20px",wA.style.left="20px",wA.style.color="white",wA.style.textShadow="2px 2px 0 #000, -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000",wA.style.padding="10px",wA.style.backgroundColor="rgba(0, 0, 0, 0.1)",document.body.appendChild(wA)),wA.style.opacity=1})()}}function Pi(g){var A=document.createElement("div");A.textContent=g,A.style.position="fixed",A.style.top="10px",A.style.left="50%",A.style.transform="translateX(-50%)",A.style.padding="10px",A.style.backgroundColor="#ff8800",A.style.color="#ffffff",A.style.zIndex="9999",document.body.appendChild(A),setTimeout(function(){A.remove()},8e3)}function rt(){wA||((wA=document.createElement("div")).style.position="fixed",wA.style.bottom="20px",wA.style.left="20px",wA.style.color="white",wA.style.textShadow="2px 2px 0 #000, -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000",wA.style.padding="10px",wA.style.backgroundColor="rgba(0, 0, 0, 0.1)",document.body.appendChild(wA));const g=iB();let A="";g.forEach(a=>{A+=a+", "}),A=A.slice(0,-2),wA.textContent=A}const Ia=new z.Sphere(new z.Vector3(0,0,0),1),Pa=new z.Vector3(0,0,0),ot=new z.Vector3(0,0,0),zo=new z.Vector3(0,1,0),Ct=new z.Vector2,zi=new z.Quaternion,Wi=new z.Matrix4;class Jt extends z.Object3D{constructor(A){super();const a=this;if(A.queryParams&&(this.queryParams={...A.queryParams}),this.uuid=lI(),A.tileLoader?this.tileLoader=A.tileLoader:console.error("an instanced tileset must be provided an InstancedTilesetLoader"),this.master=A.master,this.loadOutsideView=A.loadOutsideView,this.cameraOnLoad=A.cameraOnLoad,this.parentTile=A.parentTile,this.distanceBias=Math.max(1e-4,A.distanceBias?A.distanceBias:1),this.childrenTiles=[],this.jsonChildren=[],this.meshContent=new Set,this.static=A.static,this.static&&(this.matrixAutoUpdate=!1,this.matrixWorldAutoUpdate=!1),this.tileContent,this.refinement,this.rootPath,this.geometricError,this.boundingVolume,this.json,this.materialVisibility=!1,this.inFrustum=!0,this.level=A.level?A.level:0,this.hasMeshContent=0,this.hasUnloadedJSONContent=0,this.centerModel=A.centerModel,this.deleted=!1,this.abortController=new AbortController,A.json)this.rootPath=A.json.rootPath?A.json.rootPath:A.rootPath,A.json.children&&(this.jsonChildren=A.json.children),a.setup(A);else if(A.url){this.loadJson=(i,I)=>{const B=Za.dirname(I);a.setup({rootPath:B,json:i,onLoadCallback:A.onLoadCallback})};var e=A.url;if(a.queryParams){var t="";for(let i in a.queryParams)a.queryParams.hasOwnProperty(i)&&(t+="&"+i+"="+a.queryParams[i]);e.includes("?")?e+=t:e+="?"+t.substring(1)}a.tileLoader.get(a.abortController,e,a.uuid,a)}}async setup(A){const a=this;A.json.root?(a.json=A.json.root,!a.json.children&&a.json.getChildren&&(a.json.children=await a.json.getChildren()),a.jsonChildren=a.json.children,a.json.refinement||(a.json.refinement=A.json.refinement),a.json.geometricError||(a.json.geometricError=A.json.geometricError),a.json.transform||(a.json.transform=A.json.transform),a.json.boundingVolume||(a.json.boundingVolume=A.json.boundingVolume)):(a.json=A.json,!a.json.children&&a.json.getChildren&&(a.json.children=await a.json.getChildren(),a.jsonChildren=a.json.children)),a.rootPath=A.json.rootPath?A.json.rootPath:A.rootPath,a.json.refinement?a.refinement=a.json.refinement:a.refinement=A.parentRefinement,a.json.geometricError?a.geometricError=a.json.geometricError:a.geometricError=A.parentGeometricError;let e=new z.Matrix4;if(a.json.transform&&!a.centerModel&&(e.elements=a.json.transform),a.applyMatrix4(e),a.parentTile&&a.parentTile.matrix&&(a.matrix.premultiply(a.parentTile.matrix),a.matrix.decompose(a.position,a.quaternion,a.scale)),a.matrixWorldNeedsUpdate=!0,a.updateWorldMatrix(!0,!0),a.json.boundingVolume)if(a.json.boundingVolume.box)a.boundingVolume=new sa(a.json.boundingVolume.box);else if(a.json.boundingVolume.region){const i=a.json.boundingVolume.region;a.transformWGS84ToCartesian(i[0],i[1],i[4],Pa),a.transformWGS84ToCartesian(i[2],i[3],i[5],ot),Pa.lerp(ot,.5),a.boundingVolume=new z.Sphere(new z.Vector3(Pa.x,Pa.y,Pa.z),Pa.distanceTo(ot))}else if(a.json.boundingVolume.sphere){const i=a.json.boundingVolume.sphere;a.boundingVolume=new z.Sphere(new z.Vector3(i[0],i[1],i[2]),i[3])}else a.boundingVolume=A.parentBoundingVolume;else a.boundingVolume=A.parentBoundingVolume;function t(i){i.uri&&i.uri.includes("json")||i.url&&i.url.includes("json")?a.hasUnloadedJSONContent++:a.hasMeshContent++}if(a.json.content?(t(a.json.content),a.load()):a.json.contents&&(a.json.contents.forEach(i=>t(i)),a.load()),a.centerModel){const i=new z.Sphere;a.boundingVolume instanceof sa?i.copy(a.boundingVolume.sphere):a.boundingVolume instanceof z.Sphere&&i.copy(a.boundingVolume),this.json.boundingVolume.region&&(a.transformWGS84ToCartesian(.5*(a.json.boundingVolume.region[0]+a.json.boundingVolume.region[2]),.5*(a.json.boundingVolume.region[1]+a.json.boundingVolume.region[3]),.5*(a.json.boundingVolume.region[4]+a.json.boundingVolume.region[5]),Pa),zi.setFromUnitVectors(Pa.normalize(),zo.normalize()),a.master.applyQuaternion(zi),a.master.updateWorldMatrix(!1,!1)),Wi.makeTranslation(-i.center.x*a.scale.x,-i.center.y*a.scale.y,-i.center.z*a.scale.z),a.master.matrix.multiply(Wi),a.master.matrix.decompose(a.master.position,a.master.quaternion,a.master.scale)}a.isSetup=!0,A.onLoadCallback&&A.onLoadCallback(a)}isAbsolutePathOrURL(A){const a=/^(?:http|https|ftp|tcp|udp):\/\/\S+/.test(A),e=A.startsWith("/")&&!A.startsWith("//");return a||e}assembleURL(A,a){A.endsWith("/")||(A+="/");const e=new URL(A);let t=e.pathname.split("/").filter(I=>I!==""),i=a.split("/").filter(I=>I!=="");for(let I=1;I<=t.length&&!(I>=i.length);I++)if(t.slice(t.length-I,t.length).join("/")===i.slice(0,I).join("/")){for(let B=0;B<I;B++)t.pop();break}for(;i.length>0&&i[0]==="..";)t.pop(),i.shift();return`${e.protocol}//${e.host}/${[...t,...i].join("/")}`}extractQueryParams(A,a){const e=new URL(A);for(let[t,i]of e.searchParams)a[t]=i;return e.search="",e.toString()}load(){var A=this;function a(e){let t;e.uri?t=e.uri:e.url&&(t=e.url);const i=/^(?:http|https|ftp|tcp|udp):\/\/\S+/;if(i.test(A.rootPath)?i.test(t)||(t=A.assembleURL(A.rootPath,t)):Za.isAbsolute(A.rootPath)&&(t=A.rootPath+Za.sep+t),t=A.extractQueryParams(t,A.queryParams),A.queryParams){var I="";for(let B in A.queryParams)A.queryParams.hasOwnProperty(B)&&(I+="&"+B+"="+A.queryParams[B]);t.includes("?")?t+=I:t+="?"+I.substring(1)}t&&(t.includes(".b3dm")||t.includes(".glb")||t.includes(".gltf")?(A.contentURL=t,A.tileLoader.get(A.abortController,t,A.uuid,A,A.cameraOnLoad?()=>A.calculateDistanceToCamera(A.cameraOnLoad):()=>0,()=>A.getSiblings(),A.level,!A.json.boundingVolume.region,!!A.json.boundingVolume.region,A.geometricError)):t.includes(".json")&&A.tileLoader.get(A.abortController,t,A.uuid,A))}A.deleted||(A.json.content?a(A.json.content):A.json.contents&&A.json.contents.forEach(e=>a(e)))}loadMesh(A){this.deleted||this.meshContent.add(A)}loadJson(A,a){this.deleted||(this.json.children&&(this.jsonChildren=this.json.children),A.rootPath=Za.dirname(a),this.jsonChildren.push(A),this.hasUnloadedJSONContent--)}dispose(){const A=this;A.childrenTiles.forEach(a=>a.dispose()),A.deleted=!0,A.abortController&&A.abortController.abort(),this.parent=null,this.parentTile=null,this.dispatchEvent({type:"removed"})}disposeChildren(){this.childrenTiles.forEach(A=>A.dispose()),this.childrenTiles=[]}_update(A,a){const e=this;function t(i){if(e.hasMeshContent&&!(e.meshContent.size<e.hasMeshContent)){if(i<0)return e.inFrustum=!1,void e.changeContentVisibility(!!e.loadOutsideView);if(e.inFrustum=!0,e.childrenTiles.length!=0){if(i>=e.master.geometricErrorMultiplier*e.geometricError)e.changeContentVisibility(!0);else if(i<e.master.geometricErrorMultiplier*e.geometricError){let I=!0;e.childrenTiles.every(B=>!!B.isReady()||(I=!1,!1)),I&&e.changeContentVisibility(!1)}}else e.changeContentVisibility(!0)}}e.isSetup&&(e.materialVisibility,e.boundingVolume&&e.geometricError&&(e.metric=e.calculateUpdateMetric(A,a)),e.childrenTiles.forEach(i=>i._update(A,a)),t(e.metric),function(i){i<0&&e.hasMeshContent||(!e.hasMeshContent&&e.rootPath||i<e.master.geometricErrorMultiplier*e.geometricError&&e.meshContent.size>0)&&e.json&&e.jsonChildren&&e.childrenTiles.length!=e.jsonChildren.length&&e.jsonChildren.forEach(I=>{if(!(I.root||I.children||I.getChildren||I.content||I.contents))return;let B=new Jt({parentTile:e,queryParams:e.queryParams,parentGeometricError:e.geometricError,parentBoundingVolume:e.boundingVolume,parentRefinement:e.refinement,json:I,rootPath:e.rootPath,loadOutsideView:e.loadOutsideView,level:e.level+1,tileLoader:e.tileLoader,cameraOnLoad:A,master:e.master,centerModel:!1});e.childrenTiles.push(B)})}(e.metric),function(i){if(e.hasMeshContent){if(!e.inFrustum)return e.disposeChildren(),void t(i);i>=e.master.geometricErrorMultiplier*e.geometricError&&(e.disposeChildren(),t(i))}}(e.metric))}areAllChildrenLoadedAndHidden(){let A=!0;return this.childrenTiles.every(a=>{if(a.hasMeshContent){if(a.childrenTiles.length>0)return A=!1,!1;if(!a.inFrustum)return!0;if(!a.materialVisibility||a.meshesToDisplay!=a.meshesDisplayed)return A=!1,!1}else if(!a.areAllChildrenLoadedAndHidden())return A=!1,!1;return!0}),A}isReady(){if(!this.inFrustum)return!0;if(this.hasUnloadedJSONContent)return!1;if(!this.hasMeshContent||this.meshContent.size==0||!this.materialVisibility){if(this.childrenTiles.length>0){var A=!0;return this.childrenTiles.every(a=>!!a.isReady()||(A=!1,!1)),A}return!1}return!this.hasMeshContent||!(this.meshContent.size<this.hasMeshContent)&&!!this.materialVisibility}changeContentVisibility(A){this.materialVisibility=A}calculateUpdateMetric(A,a){if(this.boundingVolume instanceof sa){if(Ia.copy(this.boundingVolume.sphere),Ia.applyMatrix4(this.matrixWorld),!a.intersectsSphere(Ia))return-1}else{if(!(this.boundingVolume instanceof z.Sphere))return console.error("unsupported shape"),-1;if(Ia.copy(this.boundingVolume),Ia.applyMatrix4(this.matrixWorld),!a.intersectsSphere(Ia))return-1}let e=Math.max(0,A.position.distanceTo(Ia.center)-Ia.radius);if(e=Math.pow(e,this.distanceBias),e==0)return 0;const t=this.matrixWorld.getMaxScaleOnAxis();this.master._renderSize(Ct);let i=Ct.y,I=A.fov;A.aspect<1&&(I*=A.aspect,i=Ct.x);let B=2*Math.tan(.5*I*.017453292519943295)*e;return 16*window.devicePixelRatio*B/(i*t)}getSiblings(){const A=this,a=[];if(!A.parentTile)return a;let e=A.parentTile;for(;!e.hasMeshContent&&e.parentTile;)e=e.parentTile;return e.childrenTiles.forEach(t=>{if(t&&t!=A){for(;!t.hasMeshContent&&t.childrenTiles[0];)t=t.childrenTiles[0];a.push(t)}}),a}calculateDistanceToCamera(A){return this.boundingVolume instanceof sa?(Ia.copy(this.boundingVolume.sphere),Ia.applyMatrix4(this.matrixWorld)):this.boundingVolume instanceof z.Sphere?(Ia.copy(this.boundingVolume),Ia.applyMatrix4(this.matrixWorld)):console.error("unsupported shape"),Math.max(0,A.position.distanceTo(Ia.center)-Ia.radius)}getWorldMatrix(){return this.matrixWorld}transformWGS84ToCartesian(A,a,e,t){const i=6378137/Math.sqrt(1-.006694384442042*Math.pow(Math.sin(a),2)),I=Math.cos(a),B=Math.cos(A),r=Math.sin(a),o=i+e,n=o*I*B,C=o*I*Math.sin(A),Q=(.993305615557957*i+e)*r;t.set(n,C,Q)}}class Wo extends z.Object3D{constructor(A){super(),A.master=this,A.domWidth&&A.domHeight?this.rendererSize=new z.Vector2(A.domWidth,A.domHeight):this.rendererSize=new z.Vector2(1e3,1e3),this.renderer=A.renderer,this.distanceBias=Math.max(1e-4,A.distanceBias?A.distanceBias:1),this.geometricErrorMultiplier=A.geometricErrorMultiplier?A.geometricErrorMultiplier:1,this.tileset=new Jt(A),A.static&&(this.matrixAutoUpdate=!1),this.tileLoader=A.tileLoader}_renderSize(A){this.renderer?this.renderer.getDrawingBufferSize(A):A.copy(this.rendererSize)}setCanvasSize(A,a){this.rendererSize.set(A,a)}update(A,a){if(a)this.tileset._update(A,a);else{const e=new z.Frustum;e.setFromProjectionMatrix(new z.Matrix4().multiplyMatrices(A.projectionMatrix,A.matrixWorldInverse)),this.tileset._update(A,e)}}setGeometricErrorMultiplier(A){this.geometricErrorMultiplier=A||1}}class Vo{constructor(A){const a=this;a.scene=A,a.instancedTiles=[],a.instancedMesh,a.reuseableMatrix=new z.Matrix4}addInstance(A){const a=this;A.added=!0,A.listOMesh=a.instancedTiles,a.instancedTiles.push(A),a.instancedMesh&&A.loadMesh(a.instancedMesh)}addToScene(){const A=this;A.instancedMesh.setMatrixAt(0,new z.Matrix4),A.instancedMesh.instanceMatrix.needsUpdate=!0,A.instancedMesh.count=1,A.scene.add(A.instancedMesh),A.instancedMesh.onAfterRender=()=>{delete A.instancedMesh.onAfterRender,A.instancedMesh.displayedOnce=!0}}setObject(A){const a=this;a.instancedMesh=A,a.instancedMesh.matrixAutoUpdate=!1,a.instancedMesh.matrixWorldAutoUpdate=!1,a.scene.children.includes(A)||this.addToScene();for(let e=0;e<a.instancedTiles.length;e++)a.instancedTiles[e].loadMesh(a.instancedMesh)}update(){const A=this;for(let a=A.instancedTiles.length-1;a>=0;a--)A.instancedTiles[a].deleted&&A.instancedTiles.splice(a,1);if(A.instancedMesh){A.instancedMesh.count=0,A.instancedMesh.instancedTiles=[];for(let a=0;a<A.instancedTiles.length;a++)A.instancedTiles[a].meshContent.add(A.instancedMesh),A.instancedTiles[a].materialVisibility&&(A.instancedMesh.count++,A.reuseableMatrix.set(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1),A.reuseableMatrix.multiply(A.instancedTiles[a].matrixWorld),A.reuseableMatrix.multiply(A.instancedMesh.baseMatrix),A.instancedMesh.setMatrixAt(A.instancedMesh.count-1,A.reuseableMatrix),A.instancedMesh.instancedTiles.push(A.instancedTiles[a]));A.instancedMesh.instanceMatrix.needsUpdate=!0,A.instancedMesh.needsUpdate=!0,A.instancedMesh.computeBoundingSphere()}}getCount(){return this.instancedTiles.length}dispose(){const A=this;return!(A.instancedTiles.length>0)&&!!A.instancedMesh&&(A.scene.remove(A.instancedMesh),A.instancedMesh.traverse(a=>{if(a.dispose&&a.dispose(),a.material)if(a.material.length)for(let e=0;e<a.material.length;++e)a.material[e].dispose();else a.material.dispose();a.geometry&&a.geometry.dispose()}),A.instancedMesh.dispose(),!0)}}class Xo{constructor(){const A=this;A.count=0,A.json,A.instancedTiles=[]}addInstance(A){this.instancedTiles.push(A),this.json&&A.loadJson(this.json,this.url)}setObject(A,a){const e=this;e.json=A,e.url=a;for(let t=0;t<e.instancedTiles.length;t++)e.instancedTiles[t].loadJson(e.json,e.url)}getCount(){return this.instancedTiles.length}update(){const A=this;for(let a=A.instancedTiles.length-1;a>=0;a--)A.instancedTiles[a].deleted&&A.instancedTiles.splice(a,1)}dispose(){return!(!this.json||this.instancedTiles.length!=0)}}let ie=0;async function Zo(g){return new Promise(A=>{const a=setInterval(()=>{g.hasDracoLoader&&!g.dracoLoader||g.hasKTX2Loader&&!g.ktx2Loader||(clearInterval(a),A())},10)})}exports.InstancedOGC3DTile=Wo,exports.InstancedTileLoader=class{constructor(g,A){if(this.zUpToYUpMatrix=new z.Matrix4,this.zUpToYUpMatrix.set(1,0,0,0,0,0,-1,0,0,1,0,0,0,0,0,1),this.maxCachedItems=100,this.maxInstances=1,this.proxy=A.proxy,A&&(this.meshCallback=A.meshCallback,this.pointsCallback=A.pointsCallback,A.maxCachedItems&&(this.maxCachedItems=A.maxCachedItems),A.maxInstances&&(this.maxInstances=A.maxInstances)),this.gltfLoader=new _i,A&&A.dracoLoader)this.gltfLoader.setDRACOLoader(A.dracoLoader),this.hasDracoLoader=!0;else{const a=new aI;a.setDecoderPath("https://www.gstatic.com/draco/versioned/decoders/1.4.3/"),this.gltfLoader.setDRACOLoader(a),this.gltfLoader.hasDracoLoader=!0}if(A&&A.ktx2Loader)this.gltfLoader.setKTX2Loader(A.ktx2Loader),this.hasKTX2Loader=!0;else if(A&&A.renderer){const a=new ca;a.setTranscoderPath("https://storage.googleapis.com/ogc-3d-tiles/basis/").detectSupport(A.renderer),this.gltfLoader.setKTX2Loader(a),this.gltfLoader.hasKTX2Loader=!0}this.gltfLoader.setMeshoptDecoder(bI),this.hasMeshOptDecoder=!0,this.b3dmDecoder=new Zi(this.gltfLoader),this.cache=new Vi,this.scene=g,this.ready=[],this.downloads=[],this.nextReady=[],this.nextDownloads=[]}update(){const g=this;g._checkSize(),g.cache._data.forEach(A=>{A.update()}),ie<8&&g._download(),g._loadBatch()}_download(){const g=this;if(g.nextDownloads.length!=0||(g._getNextDownloads(),g.nextDownloads.length!=0))for(;g.nextDownloads.length>0;){const a=g.nextDownloads.shift();if(a){if(a.path.includes(".b3dm")&&(A=g.proxy?()=>fetch(g.proxy,{method:"POST",body:a.path}):()=>fetch(a.path),ie++,A().then(e=>{if(!e.ok)throw console.error("could not load tile with path : "+a.path),new Error(`couldn't load "${a.path}". Request failed with status ${e.status} : ${e.statusText}`);return e.arrayBuffer()}).then(e=>this.b3dmDecoder.parseB3DMInstanced(e,t=>{g.meshCallback(t,a.geometricError)},g.maxInstances,a.sceneZupToYup,a.meshZupToYup)).then(e=>{e.frustumCulled=!1,a.tile.setObject(e),g.ready.unshift(a)}).catch(e=>console.error(e)).finally(()=>{ie--})),a.path.includes(".glb")||a.path.includes(".gltf"))A=g.proxy?()=>fetch(g.proxy,{method:"POST",body:a.path}):()=>fetch(a.path),ie++,A().then(e=>{if(!e.ok)throw new Error("missing content");return e.arrayBuffer()}).then(async e=>{await Zo(this.gltfLoader),this.gltfLoader.parse(e,null,t=>{let i;t.scene.asset=t.asset,a.sceneZupToYup&&t.scene.applyMatrix4(this.zUpToYUpMatrix),t.scene.traverse(I=>{I.geometricError=a.geometricError,I.isMesh&&(a.meshZupToYup&&I.applyMatrix4(this.zUpToYUpMatrix),g.meshCallback&&g.meshCallback(I,I.geometricError)),I.isPoints&&console.error("instanced point cloud is not supported")}),t.scene.updateWorldMatrix(!1,!0),t.scene.traverse(I=>{I.isMesh&&(i=new z.InstancedMesh(I.geometry,I.material,g.maxInstances),i.baseMatrix=I.matrixWorld)}),g.ready.unshift(a),i?(i.frustumCulled=!1,a.tile.setObject(i)):t.scene.traverse(I=>{I.dispose&&I.dispose(),I.material&&I.material.dispose()})})},e=>{console.error("could not load tile : "+a.path)}).finally(()=>{ie--});else if(a.path.includes(".json")){var A;A=g.proxy?()=>fetch(g.proxy,{method:"POST",body:a.path}):()=>fetch(a.path),ie++,A().then(e=>{if(!e.ok)throw console.error("could not load tile with path : "+a.path),new Error(`couldn't load "${a.path}". Request failed with status ${e.status} : ${e.statusText}`);return e.json()}).then(e=>mt(e,a.path)).then(e=>{a.tile.setObject(e,a.path),g.ready.unshift(a)}).catch(e=>console.error(e)).finally(()=>{ie--})}}}}_loadBatch(){return this.nextReady.length==0&&(this._getNextReady(),this.nextReady.length==0)?0:this.nextReady.shift()?1:0}_getNextReady(){let g=Number.MAX_VALUE,A=-1;for(let a=this.ready.length-1;a>=0;a--)this.ready[a].distanceFunction||this.nextReady.push(this.ready.splice(a,1)[0]);if(!(this.nextReady.length>0)){for(let a=this.ready.length-1;a>=0;a--){const e=this.ready[a].distanceFunction()*this.ready[a].level;e<g&&(g=e,A=a)}if(A>=0){const a=this.ready.splice(A,1).pop();this.nextReady.push(a);const e=a.getSiblings();for(let t=this.ready.length-1;t>=0;t--)e.includes(this.ready[t].uuid)&&this.nextready.push(this.ready.splice(t,1).pop())}}}get(g,A,a,e,t,i,I,B,r,o){const n=this,C=function(E){for(var s=E.split("/"),c=[],d=0,b=0;b<s.length;b++){var h=s[b];h!=="."&&h!==""&&h!==".."?c[d++]=h:h===".."&&d>0&&d--}if(d===0)return"/";var l="";for(b=0;b<d;b++)l+="/"+c[b];return l}(A);if(!(A.includes(".b3dm")||A.includes(".json")||A.includes(".glb")||A.includes(".gltf")))return void console.error("the 3DTiles cache can only be used to load B3DM, gltf and json data");const Q=n.cache.get(C);if(Q)Q.addInstance(e);else if(A.includes(".b3dm")||A.includes(".glb")||A.includes(".gltf")){const E=new Vo(n.scene);E.addInstance(e),n.cache.put(C,E);const s=new AbortController;g.signal.addEventListener("abort",()=>{E.getCount()==0&&s.abort()}),this.downloads.push({abortController:s,tile:E,key:C,path:A,distanceFunction:t,getSiblings:i,level:I,uuid:a,sceneZupToYup:B,meshZupToYup:r,geometricError:o,shouldDoDownload:()=>!0})}else if(A.includes(".json")){const E=new Xo;E.addInstance(e),n.cache.put(C,E);const s=new AbortController;g.signal.addEventListener("abort",()=>{E.getCount()==0&&s.abort()}),this.downloads.push({abortController:s,tile:E,key:C,path:A,distanceFunction:t,getSiblings:i,level:I,shouldDoDownload:()=>!0})}}_getNextDownloads(){let g=Number.MAX_VALUE,A=-1;for(let a=this.downloads.length-1;a>=0;a--){const e=this.downloads[a];e.shouldDoDownload()?e.distanceFunction||this.nextDownloads.push(this.downloads.splice(a,1)[0]):this.downloads.splice(a,1)}if(!(this.nextDownloads.length>0)){for(let a=this.downloads.length-1;a>=0;a--){const e=this.downloads[a],t=e.distanceFunction()*e.level;t<g&&(g=t,A=a)}if(A>=0){const a=this.downloads.splice(A,1).pop();this.nextDownloads.push(a);const e=a.getSiblings();for(let t=this.downloads.length-1;t>=0;t--)e.includes(this.downloads[t].uuid)&&this.nextDownloads.push(this.downloads.splice(t,1).pop())}}}_checkSize(){const g=this;let A=0;for(;g.cache.size()>g.maxCachedItems&&A<g.cache.size();){A++;const a=g.cache.head();g.cache.remove(a.key),a.value.dispose()||g.cache.put(a.key,a.value)}}},exports.OBB=sa,exports.OGC3DTile=Lt,exports.OcclusionCullingService=class{constructor(){this.cullMap=[],this.cullMaterial=new z.MeshBasicMaterial({vertexColors:!0}),this.cullMaterial.side=z.FrontSide,this.cullTarget=this._createCullTarget(),this.cullPixels=new Uint8Array(4*this.cullTarget.width*this.cullTarget.height)}setSide(g){this.cullMaterial.side=g}_createCullTarget(){const g=new z.WebGLRenderTarget(Math.floor(.05*window.innerWidth),Math.floor(.05*window.innerHeight));return g.texture.format=z.RGBAFormat,g.texture.colorSpace=z.LinearSRGBColorSpace,g.texture.minFilter=z.NearestFilter,g.texture.magFilter=z.NearestFilter,g.texture.generateMipmaps=!1,g.stencilBuffer=!1,g.depthBuffer=!0,g.depthTexture=new z.DepthTexture,g.depthTexture.format=z.DepthFormat,g.depthTexture.type=z.UnsignedShortType,g}update(g,A,a){let e=A.getRenderTarget(),t=g.overrideMaterial;g.overrideMaterial=this.cullMaterial,A.setRenderTarget(this.cullTarget),A.render(g,a),g.overrideMaterial=t,A.setRenderTarget(e),A.readRenderTargetPixels(this.cullTarget,0,0,this.cullTarget.width,this.cullTarget.height,this.cullPixels),this.cullMap=[];for(let i=0;i<this.cullPixels.length;i+=4){const I=z.MathUtils.clamp(this.cullPixels[i],0,255)<<16^z.MathUtils.clamp(this.cullPixels[i+1],0,255)<<8^z.MathUtils.clamp(this.cullPixels[i+2],0,255);this.cullMap[I]=!0}}hasID(g){return this.cullMap[g]}},exports.SplatsMesh=eB,exports.TileLoader=uI,exports.getOGC3DTilesCopyrightInfo=iB,exports.splatsFragmentShader=tB,exports.splatsVertexShader=gB;
|
|
306
517
|
//# sourceMappingURL=threedtiles.cjs.js.map
|