@needle-tools/engine 4.15.0-next.f391a30 → 4.15.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components.needle.json +1 -1
- package/dist/{gltf-progressive-CTlvpS3A.js → gltf-progressive-Bm_6aEi4.js} +1 -1
- package/dist/{gltf-progressive-CMwJPwEt.umd.cjs → gltf-progressive-BttGBXw6.umd.cjs} +1 -1
- package/dist/{gltf-progressive-DYL3SLVb.min.js → gltf-progressive-T5WKTux5.min.js} +1 -1
- package/dist/materialx-CJyQZtjt.min.js +90 -0
- package/dist/materialx-DMs1E08Z.js +4636 -0
- package/dist/materialx-DaKKOoVk.umd.cjs +90 -0
- package/dist/{needle-engine.bundle-DsTdfmeb.min.js → needle-engine.bundle-CBq_OMnI.min.js} +122 -124
- package/dist/{needle-engine.bundle-DB4kLWO_.js → needle-engine.bundle-DGyiwNWR.js} +3226 -3232
- package/dist/{needle-engine.bundle-C1BFRZDF.umd.cjs → needle-engine.bundle-JN3eiiYc.umd.cjs} +113 -115
- package/dist/needle-engine.d.ts +52 -33
- package/dist/needle-engine.js +288 -287
- package/dist/needle-engine.min.js +1 -1
- package/dist/needle-engine.umd.cjs +1 -1
- package/dist/{postprocessing-BN-f4viE.min.js → postprocessing-06AXuvdv.min.js} +1 -1
- package/dist/{postprocessing-De9ZpJrk.js → postprocessing-CI2x8Cln.js} +1 -1
- package/dist/{postprocessing-DYmYOVm4.umd.cjs → postprocessing-CPDcA21P.umd.cjs} +1 -1
- package/dist/{three-examples-BHqRVpO_.umd.cjs → three-examples-BMmNgNCN.umd.cjs} +12 -12
- package/dist/{three-examples-C0ZCCA_K.js → three-examples-CMYCd5nH.js} +192 -182
- package/dist/{three-examples-DmTY8tGr.min.js → three-examples-CQl1fFZp.min.js} +14 -14
- package/lib/engine/api.d.ts +2 -0
- package/lib/engine/api.js +2 -0
- package/lib/engine/api.js.map +1 -1
- package/lib/engine/debug/debug.js +1 -1
- package/lib/engine/debug/debug.js.map +1 -1
- package/lib/engine/debug/debug_spatial_console.js +1 -1
- package/lib/engine/debug/debug_spatial_console.js.map +1 -1
- package/lib/engine/engine_accessibility.d.ts +1 -1
- package/lib/engine/engine_accessibility.js +1 -1
- package/lib/engine/engine_accessibility.js.map +1 -1
- package/lib/engine/engine_context.d.ts +1 -1
- package/lib/engine/engine_context.js +2 -2
- package/lib/engine/engine_context.js.map +1 -1
- package/lib/engine/engine_create_objects.js +1 -1
- package/lib/engine/engine_create_objects.js.map +1 -1
- package/lib/engine/engine_gizmos.js +1 -1
- package/lib/engine/engine_gizmos.js.map +1 -1
- package/lib/engine/engine_license.js +2 -7
- package/lib/engine/engine_license.js.map +1 -1
- package/lib/engine/engine_test_utils.d.ts +39 -0
- package/lib/engine/engine_test_utils.js +84 -0
- package/lib/engine/engine_test_utils.js.map +1 -0
- package/lib/engine/engine_utils.js +2 -2
- package/lib/engine/engine_utils.js.map +1 -1
- package/lib/engine/export/gltf/index.js +1 -1
- package/lib/engine/export/gltf/index.js.map +1 -1
- package/lib/engine/webcomponents/logo-element.d.ts +3 -6
- package/lib/engine/webcomponents/logo-element.js +0 -18
- package/lib/engine/webcomponents/logo-element.js.map +1 -1
- package/lib/engine/webcomponents/needle menu/needle-menu-spatial.js +2 -2
- package/lib/engine/webcomponents/needle menu/needle-menu-spatial.js.map +1 -1
- package/lib/engine/webcomponents/needle menu/needle-menu.d.ts +7 -10
- package/lib/engine/webcomponents/needle menu/needle-menu.js +4 -14
- package/lib/engine/webcomponents/needle menu/needle-menu.js.map +1 -1
- package/lib/engine/webcomponents/needle-engine.ar-overlay.js +1 -10
- package/lib/engine/webcomponents/needle-engine.ar-overlay.js.map +1 -1
- package/lib/engine/webcomponents/needle-engine.d.ts +0 -3
- package/lib/engine/webcomponents/needle-engine.js +0 -10
- package/lib/engine/webcomponents/needle-engine.js.map +1 -1
- package/lib/engine-components/Component.js +1 -0
- package/lib/engine-components/Component.js.map +1 -1
- package/lib/engine-components/ReflectionProbe.d.ts +2 -24
- package/lib/engine-components/ReflectionProbe.js +2 -28
- package/lib/engine-components/ReflectionProbe.js.map +1 -1
- package/lib/engine-components/Skybox.js +2 -4
- package/lib/engine-components/Skybox.js.map +1 -1
- package/lib/engine-components/export/gltf/GltfExport.js +1 -1
- package/lib/engine-components/export/gltf/GltfExport.js.map +1 -1
- package/lib/engine-components/export/usdz/ThreeUSDZExporter.js +2 -2
- package/lib/engine-components/export/usdz/USDZExporter.js +1 -1
- package/lib/engine-components/export/usdz/USDZExporter.js.map +1 -1
- package/lib/engine-components/export/usdz/extensions/behavior/PhysicsExtension.js +2 -2
- package/lib/engine-components/export/usdz/extensions/behavior/PhysicsExtension.js.map +1 -1
- package/lib/engine-components/postprocessing/Effects/Tonemapping.utils.d.ts +1 -1
- package/lib/include/three/EXT_mesh_gpu_instancing_exporter.js.map +1 -0
- package/package.json +14 -18
- package/plugins/common/buildinfo.js +10 -46
- package/plugins/common/files.js +1 -2
- package/plugins/common/license.js +69 -144
- package/plugins/common/logger.js +11 -172
- package/plugins/common/worker.js +4 -5
- package/plugins/types/userconfig.d.ts +2 -40
- package/plugins/vite/alias.js +5 -6
- package/plugins/vite/asap.js +5 -6
- package/plugins/vite/build-pipeline.js +41 -224
- package/plugins/vite/buildinfo.js +6 -66
- package/plugins/vite/copyfiles.js +12 -41
- package/plugins/vite/custom-element-data.js +16 -26
- package/plugins/vite/defines.js +5 -8
- package/plugins/vite/dependencies.js +10 -16
- package/plugins/vite/dependency-watcher.js +7 -35
- package/plugins/vite/drop-client.js +5 -7
- package/plugins/vite/drop.js +14 -16
- package/plugins/vite/editor-connection.js +16 -18
- package/plugins/vite/imports-logger.js +2 -12
- package/plugins/vite/index.js +3 -8
- package/plugins/vite/local-files.js +441 -2
- package/plugins/vite/logger.client.js +35 -45
- package/plugins/vite/logger.js +3 -6
- package/plugins/vite/meta.js +4 -18
- package/plugins/vite/needle-app.js +3 -4
- package/plugins/vite/peer.js +1 -2
- package/plugins/vite/pwa.js +17 -33
- package/plugins/vite/reload.js +2 -24
- package/src/engine/api.ts +3 -0
- package/src/engine/debug/debug.ts +1 -1
- package/src/engine/debug/debug_spatial_console.ts +1 -5
- package/src/engine/engine_accessibility.ts +1 -2
- package/src/engine/engine_context.ts +2 -2
- package/src/engine/engine_create_objects.ts +1 -1
- package/src/engine/engine_gizmos.ts +5 -9
- package/src/engine/engine_license.ts +2 -7
- package/src/engine/engine_test_utils.ts +109 -0
- package/src/engine/engine_utils.ts +2 -2
- package/src/engine/export/gltf/index.ts +1 -1
- package/src/engine/webcomponents/logo-element.ts +3 -20
- package/src/engine/webcomponents/needle menu/needle-menu-spatial.ts +2 -6
- package/src/engine/webcomponents/needle menu/needle-menu.ts +11 -23
- package/src/engine/webcomponents/needle-engine.ar-overlay.ts +2 -13
- package/src/engine/webcomponents/needle-engine.ts +1 -13
- package/src/engine-components/Component.ts +2 -1
- package/src/engine-components/ReflectionProbe.ts +9 -33
- package/src/engine-components/Skybox.ts +2 -4
- package/src/engine-components/export/gltf/GltfExport.ts +1 -1
- package/src/engine-components/export/usdz/ThreeUSDZExporter.ts +2 -2
- package/src/engine-components/export/usdz/USDZExporter.ts +1 -1
- package/src/engine-components/export/usdz/extensions/behavior/PhysicsExtension.ts +2 -2
- package/src/include/draco/draco_decoder.js +34 -0
- package/src/include/draco/draco_decoder.wasm +0 -0
- package/src/include/draco/draco_wasm_wrapper.js +117 -0
- package/src/include/ktx2/basis_transcoder.js +19 -0
- package/src/include/ktx2/basis_transcoder.wasm +0 -0
- package/src/include/needle/arial-msdf.json +1472 -0
- package/src/include/needle/arial.png +0 -0
- package/src/include/needle/poweredbyneedle.webp +0 -0
- package/dist/materialx-4jJLLe9Q.js +0 -4174
- package/dist/materialx-Bt9FHwco.min.js +0 -158
- package/dist/materialx-NDD0y4JY.umd.cjs +0 -158
- package/lib/engine/export/gltf/EXT_mesh_gpu_instancing_exporter.js.map +0 -1
- package/plugins/common/needle-engine-skill.md +0 -175
- package/plugins/vite/ai.js +0 -71
- package/plugins/vite/local-files-analysis.js +0 -789
- package/plugins/vite/local-files-core.js +0 -992
- package/plugins/vite/local-files-internals.js +0 -28
- package/plugins/vite/local-files-types.d.ts +0 -111
- package/plugins/vite/local-files-utils.js +0 -359
- package/plugins/vite/logging.js +0 -129
- /package/lib/{engine/export/gltf → include/three}/EXT_mesh_gpu_instancing_exporter.d.ts +0 -0
- /package/lib/{engine/export/gltf → include/three}/EXT_mesh_gpu_instancing_exporter.js +0 -0
- /package/src/{engine/export/gltf → include/three}/EXT_mesh_gpu_instancing_exporter.js +0 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Mesh as q, SphereGeometry as ui, Vector3 as P, MeshBasicMaterial as Qt, Node as fa, PerspectiveCamera as gs, NodeFrame as Ia, NodeBuilder as ma, GLSLNodeParser as Ea, ShaderLib as wt, UniformsUtils as gi, UniformsLib as Un, normalView as ba, defaultShaderStages as Yn, ShaderChunk as Ca, Material as en, TrianglesDrawMode as Ba, TriangleFanDrawMode as qs, TriangleStripDrawMode as Do, Matrix4 as ue, Loader as kt, LoaderUtils as tn, FileLoader as It, MeshPhysicalMaterial as Tt, Vector2 as Le, Color as Se, LinearSRGBColorSpace as Xe, SRGBColorSpace as ge, SpotLight as Ro, PointLight as zs, DirectionalLight as _o, InstancedMesh as wa, Quaternion as Te, InstancedBufferAttribute as ya, Object3D as xt, TextureLoader as di, ImageBitmapLoader as Qa, BufferAttribute as st, InterleavedBuffer as xa, LinearMipmapLinearFilter as jn, NearestMipmapLinearFilter as Mo, LinearMipmapNearestFilter as Fo, NearestMipmapNearestFilter as pi, LinearFilter as rt, NearestFilter as cs, RepeatWrapping as on, MirroredRepeatWrapping as ko, ClampToEdgeWrapping as ls, PointsMaterial as _n, LineBasicMaterial as Ft, MeshStandardMaterial as fi, DoubleSide as Ii, PropertyBinding as Lt, BufferGeometry as ut, SkinnedMesh as Lo, LineSegments as hs, Line as pt, LineLoop as Sa, Points as is, Group as nn, MathUtils as Qe, OrthographicCamera as No, Skeleton as Uo, AnimationClip as Go, Bone as Ys, InterpolateDiscrete as Po, InterpolateLinear as mi, InterleavedBufferAttribute as $t, Texture as Ks, VectorKeyframeTrack as Js, NumberKeyframeTrack as Vs, QuaternionKeyframeTrack as Ws, ColorManagement as Ve, FrontSide as Oo, Interpolant as Ta, Box3 as ds, Sphere as Ei, RGBA_S3TC_DXT1_Format as Xs, RGB_PVRTC_4BPPV1_Format as va, RGB_ETC2_Format as Ho, RGB_ETC1_Format as Da, RGBA_S3TC_DXT5_Format as Zs, RGBA_PVRTC_4BPPV1_Format as Ra, RGBA_ETC2_EAC_Format as jo, RGBA_BPTC_Format as $s, RGB_BPTC_UNSIGNED_Format as _a, RGBA_ASTC_4x4_Format as os, RGBAFormat as zt, FloatType as mt, HalfFloatType as We, UnsignedByteType as dt, CompressedCubeTexture as Ma, CompressedArrayTexture as Fa, CompressedTexture as Gn, NoColorSpace as us, RGBA_S3TC_DXT3_Format as Mi, RGB_S3TC_DXT1_Format as Fi, RGBA_ASTC_6x6_Format as ki, RGBFormat as ei, RedFormat as gn, RGFormat as Mn, UnsignedInt101111Type as qo, UnsignedInt5999Type as zo, DataTexture as ka, Data3DTexture as La, ExtrudeGeometry as Na, ShapePath as Ua, Raycaster as bi, CylinderGeometry as Ye, BoxGeometry as je, Float32BufferAttribute as Fe, OctahedronGeometry as Kn, TorusGeometry as bn, Euler as qt, Controls as Yo, PlaneGeometry as Ci, DataTextureLoader as Ko, DataUtils as dn, Vector4 as Nt, Curve as Ga, MeshPhongMaterial as Pn, MeshLambertMaterial as Pa, EquirectangularReflectionMapping as Oa, AmbientLight as Ha, Uint16BufferAttribute as ja, Matrix3 as Jo, ShapeUtils as qa, DefaultLoadingManager as za, Ray as Ya, Plane as Ka, MOUSE as fn, TOUCH as pn, Spherical as Li, ShaderMaterial as Vo, Uniform$1 as Ja, Scene as ti, WebGLRenderer as Va, CanvasTexture as Wo, REVISION as Wa, Source as Xa, InstancedBufferGeometry as Za, InstancedInterleavedBuffer as ni, WireframeGeometry as $a, Line3 as eA } from "./three-Bvk2VKbF.js";
|
|
2
|
-
class
|
|
2
|
+
class ph extends q {
|
|
3
3
|
constructor(e, t, s, n = 128) {
|
|
4
4
|
if (t <= 0 || s <= 0 || n <= 0)
|
|
5
5
|
throw new Error("GroundedSkybox height, radius, and resolution must be positive.");
|
|
@@ -431,7 +431,7 @@ rs.Panel = function(A, e, t) {
|
|
|
431
431
|
}
|
|
432
432
|
};
|
|
433
433
|
};
|
|
434
|
-
function
|
|
434
|
+
function fh(A, e = 1e-4) {
|
|
435
435
|
e = Math.max(e, Number.EPSILON);
|
|
436
436
|
const t = {}, s = A.getIndex(), n = A.getAttribute("position"), i = s ? s.count : n.count;
|
|
437
437
|
let o = 0;
|
|
@@ -2101,7 +2101,7 @@ function Hi(A, e, t) {
|
|
|
2101
2101
|
return e.targets !== void 0 ? RA(A, e.targets, t) : A;
|
|
2102
2102
|
});
|
|
2103
2103
|
}
|
|
2104
|
-
var
|
|
2104
|
+
var Dh = (function() {
|
|
2105
2105
|
var A = "b9H79Tebbbe8Fv9Gbb9Gvuuuuueu9Giuuub9Geueu9Giuuueuikqbeeedddillviebeoweuec:q;iekr;leDo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8A9TW79O9V9Wt9F9KW9J9V9KW9wWVtW949c919M9MWVbeY9TW79O9V9Wt9F9KW9J9V9KW69U9KW949c919M9MWVbdE9TW79O9V9Wt9F9KW9J9V9KW69U9KW949tWG91W9U9JWbiL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9p9JtblK9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9r919HtbvL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVT949Wbol79IV9Rbrq:P8Yqdbk;3sezu8Jjjjjbcj;eb9Rgv8Kjjjjbc9:hodnadcefal0mbcuhoaiRbbc:Ge9hmbavaialfgrad9Radz1jjjbhwcj;abad9UhoaicefhldnadTmbaoc;WFbGgocjdaocjd6EhDcbhqinaqae9pmeaDaeaq9RaqaDfae6Egkcsfgocl4cifcd4hxdndndndnaoc9WGgmTmbcbhPcehsawcjdfhzalhHinaraH9Rax6midnaraHaxfgl9RcK6mbczhoinawcj;cbfaogifgoc9WfhOdndndndndnaHaic9WfgAco4fRbbaAci4coG4ciGPlbedibkaO9cb83ibaOcwf9cb83ibxikaOalRblalRbbgAco4gCaCciSgCE86bbaocGfalclfaCfgORbbaAcl4ciGgCaCciSgCE86bbaocVfaOaCfgORbbaAcd4ciGgCaCciSgCE86bbaoc7faOaCfgORbbaAciGgAaAciSgAE86bbaoctfaOaAfgARbbalRbegOco4gCaCciSgCE86bbaoc91faAaCfgARbbaOcl4ciGgCaCciSgCE86bbaoc4faAaCfgARbbaOcd4ciGgCaCciSgCE86bbaoc93faAaCfgARbbaOciGgOaOciSgOE86bbaoc94faAaOfgARbbalRbdgOco4gCaCciSgCE86bbaoc95faAaCfgARbbaOcl4ciGgCaCciSgCE86bbaoc96faAaCfgARbbaOcd4ciGgCaCciSgCE86bbaoc97faAaCfgARbbaOciGgOaOciSgOE86bbaoc98faAaOfgORbbalRbiglco4gAaAciSgAE86bbaoc99faOaAfgORbbalcl4ciGgAaAciSgAE86bbaoc9:faOaAfgORbbalcd4ciGgAaAciSgAE86bbaocufaOaAfgoRbbalciGglalciSglE86bbaoalfhlxdkaOalRbwalRbbgAcl4gCaCcsSgCE86bbaocGfalcwfaCfgORbbaAcsGgAaAcsSgAE86bbaocVfaOaAfgORbbalRbegAcl4gCaCcsSgCE86bbaoc7faOaCfgORbbaAcsGgAaAcsSgAE86bbaoctfaOaAfgORbbalRbdgAcl4gCaCcsSgCE86bbaoc91faOaCfgORbbaAcsGgAaAcsSgAE86bbaoc4faOaAfgORbbalRbigAcl4gCaCcsSgCE86bbaoc93faOaCfgORbbaAcsGgAaAcsSgAE86bbaoc94faOaAfgORbbalRblgAcl4gCaCcsSgCE86bbaoc95faOaCfgORbbaAcsGgAaAcsSgAE86bbaoc96faOaAfgORbbalRbvgAcl4gCaCcsSgCE86bbaoc97faOaCfgORbbaAcsGgAaAcsSgAE86bbaoc98faOaAfgORbbalRbogAcl4gCaCcsSgCE86bbaoc99faOaCfgORbbaAcsGgAaAcsSgAE86bbaoc9:faOaAfgORbbalRbrglcl4gAaAcsSgAE86bbaocufaOaAfgoRbbalcsGglalcsSglE86bbaoalfhlxekaOal8Pbb83bbaOcwfalcwf8Pbb83bbalczfhlkdnaiam9pmbaiczfhoaral9RcL0mekkaiam6mialTmidnakTmbawaPfRbbhOcbhoazhiinaiawcj;cbfaofRbbgAce4cbaAceG9R7aOfgO86bbaiadfhiaocefgoak9hmbkkazcefhzaPcefgPad6hsalhHaPad9hmexvkkcbhlasceGmdxikalaxad2fhCdnakTmbcbhHcehsawcjdfhminaral9Rax6mialTmdalaxfhlawaHfRbbhOcbhoamhiinaiawcj;cbfaofRbbgAce4cbaAceG9R7aOfgO86bbaiadfhiaocefgoak9hmbkamcefhmaHcefgHad6hsaHad9hmbkaChlxikcbhocehsinaral9Rax6mdalTmealaxfhlaocefgoad6hsadao9hmbkaChlxdkcbhlasceGTmekc9:hoxikabaqad2fawcjdfakad2z1jjjb8Aawawcjdfakcufad2fadz1jjjb8Aakaqfhqalmbkc9:hoxekcbc99aral9Radcaadca0ESEhokavcj;ebf8Kjjjjbaok;yzeHu8Jjjjjbc;ae9Rgv8Kjjjjbc9:hodnaeci9UgrcHfal0mbcuhoaiRbbgwc;WeGc;Ge9hmbawcsGgDce0mbavc;abfcFecjez:jjjjb8AavcUf9cu83ibavc8Wf9cu83ibavcyf9cu83ibavcaf9cu83ibavcKf9cu83ibavczf9cu83ibav9cu83iwav9cu83ibaialfc9WfhqaicefgwarfhodnaeTmbcmcsaDceSEhkcbhxcbhmcbhDcbhicbhlindnaoaq9nmbc9:hoxikdndnawRbbgrc;Ve0mbavc;abfalarcl4cu7fcsGcitfgPydlhsaPydbhzdnarcsGgPak9pmbavaiarcu7fcsGcdtfydbaxaPEhraPThPdndnadcd9hmbabaDcetfgHaz87ebaHcdfas87ebaHclfar87ebxekabaDcdtfgHazBdbaHclfasBdbaHcwfarBdbkaxaPfhxavc;abfalcitfgHarBdbaHasBdlavaicdtfarBdbavc;abfalcefcsGglcitfgHazBdbaHarBdlaiaPfhialcefhlxdkdndnaPcsSmbamaPfaPc987fcefhmxekaocefhrao8SbbgPcFeGhHdndnaPcu9mmbarhoxekaocvfhoaHcFbGhHcrhPdninar8SbbgOcFbGaPtaHVhHaOcu9kmearcefhraPcrfgPc8J9hmbxdkkarcefhokaHce4cbaHceG9R7amfhmkdndnadcd9hmbabaDcetfgraz87ebarcdfas87ebarclfam87ebxekabaDcdtfgrazBdbarclfasBdbarcwfamBdbkavc;abfalcitfgramBdbarasBdlavaicdtfamBdbavc;abfalcefcsGglcitfgrazBdbaramBdlaicefhialcefhlxekdnarcpe0mbaxcefgOavaiaqarcsGfRbbgPcl49RcsGcdtfydbaPcz6gHEhravaiaP9RcsGcdtfydbaOaHfgsaPcsGgOEhPaOThOdndnadcd9hmbabaDcetfgzax87ebazcdfar87ebazclfaP87ebxekabaDcdtfgzaxBdbazclfarBdbazcwfaPBdbkavaicdtfaxBdbavc;abfalcitfgzarBdbazaxBdlavaicefgicsGcdtfarBdbavc;abfalcefcsGcitfgzaPBdbazarBdlavaiaHfcsGgicdtfaPBdbavc;abfalcdfcsGglcitfgraxBdbaraPBdlalcefhlaiaOfhiasaOfhxxekaxcbaoRbbgzEgAarc;:eSgrfhsazcsGhCazcl4hXdndnazcs0mbascefhOxekashOavaiaX9RcsGcdtfydbhskdndnaCmbaOcefhxxekaOhxavaiaz9RcsGcdtfydbhOkdndnarTmbaocefhrxekaocdfhrao8SbegHcFeGhPdnaHcu9kmbaocofhAaPcFbGhPcrhodninar8SbbgHcFbGaotaPVhPaHcu9kmearcefhraocrfgoc8J9hmbkaAhrxekarcefhrkaPce4cbaPceG9R7amfgmhAkdndnaXcsSmbarhPxekarcefhPar8SbbgocFeGhHdnaocu9kmbarcvfhsaHcFbGhHcrhodninaP8SbbgrcFbGaotaHVhHarcu9kmeaPcefhPaocrfgoc8J9hmbkashPxekaPcefhPkaHce4cbaHceG9R7amfgmhskdndnaCcsSmbaPhoxekaPcefhoaP8SbbgrcFeGhHdnarcu9kmbaPcvfhOaHcFbGhHcrhrdninao8SbbgPcFbGartaHVhHaPcu9kmeaocefhoarcrfgrc8J9hmbkaOhoxekaocefhokaHce4cbaHceG9R7amfgmhOkdndnadcd9hmbabaDcetfgraA87ebarcdfas87ebarclfaO87ebxekabaDcdtfgraABdbarclfasBdbarcwfaOBdbkavc;abfalcitfgrasBdbaraABdlavaicdtfaABdbavc;abfalcefcsGcitfgraOBdbarasBdlavaicefgicsGcdtfasBdbavc;abfalcdfcsGcitfgraABdbaraOBdlavaiazcz6aXcsSVfgicsGcdtfaOBdbaiaCTaCcsSVfhialcifhlkawcefhwalcsGhlaicsGhiaDcifgDae6mbkkcbc99aoaqSEhokavc;aef8Kjjjjbaok:llevu8Jjjjjbcz9Rhvc9:hodnaecvfal0mbcuhoaiRbbc;:eGc;qe9hmbav9cb83iwaicefhraialfc98fhwdnaeTmbdnadcdSmbcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcdtfaicd4cbaice4ceG9R7avcwfaiceGcdtVgoydbfglBdbaoalBdbaDcefgDae9hmbxdkkcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcetfaicd4cbaice4ceG9R7avcwfaiceGcdtVgoydbfgl87ebaoalBdbaDcefgDae9hmbkkcbc99arawSEhokaok: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;siliui99iue99dnaeTmbcbhiabhlindndnJ;Zl81Zalcof8UebgvciV:Y:vgoal8Ueb:YNgrJb;:FSNJbbbZJbbb:;arJbbbb9GEMgw:lJbbb9p9DTmbaw:OhDxekcjjjj94hDkalclf8Uebhqalcdf8UebhkabavcefciGaiVcetfaD87ebdndnaoak:YNgwJb;:FSNJbbbZJbbb:;awJbbbb9GEMgx:lJbbb9p9DTmbax:Ohkxekcjjjj94hkkabavcdfciGaiVcetfak87ebdndnaoaq:YNgoJb;:FSNJbbbZJbbb:;aoJbbbb9GEMgx:lJbbb9p9DTmbax:Ohqxekcjjjj94hqkabavcufciGaiVcetfaq87ebdndnJbbjZararN:tawawN:taoaoN:tgrJbbbbarJbbbb9GE:rJb;:FSNJbbbZMgr:lJbbb9p9DTmbar:Ohqxekcjjjj94hqkabavciGaiVcetfaq87ebalcwfhlaiclfhiaecufgembkkk9mbdnadcd4ae2geTmbinababydbgdcwtcw91:Yadce91cjjj;8ifcjjj98G::NUdbabclfhbaecufgembkkk9teiucbcbydj1jjbgeabcifc98GfgbBdj1jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik;LeeeudndnaeabVciGTmbabhixekdndnadcz9pmbabhixekabhiinaiaeydbBdbaiclfaeclfydbBdbaicwfaecwfydbBdbaicxfaecxfydbBdbaiczfhiaeczfheadc9Wfgdcs0mbkkadcl6mbinaiaeydbBdbaeclfheaiclfhiadc98fgdci0mbkkdnadTmbinaiaeRbb86bbaicefhiaecefheadcufgdmbkkabk;aeedudndnabciGTmbabhixekaecFeGc:b:c:ew2hldndnadcz9pmbabhixekabhiinaialBdbaicxfalBdbaicwfalBdbaiclfalBdbaiczfhiadc9Wfgdcs0mbkkadcl6mbinaialBdbaiclfhiadc98fgdci0mbkkdnadTmbinaiae86bbaicefhiadcufgdmbkkabkkkebcjwklz9Kbb", e = "b9H79TebbbeKl9Gbb9Gvuuuuueu9Giuuub9Geueuikqbbebeedddilve9Weeeviebeoweuec:q;Aekr;leDo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8A9TW79O9V9Wt9F9KW9J9V9KW9wWVtW949c919M9MWVbdY9TW79O9V9Wt9F9KW9J9V9KW69U9KW949c919M9MWVblE9TW79O9V9Wt9F9KW9J9V9KW69U9KW949tWG91W9U9JWbvL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9p9JtboK9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9r919HtbrL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVT949Wbwl79IV9RbDq;t9tqlbzik9:evu8Jjjjjbcz9Rhbcbheincbhdcbhiinabcwfadfaicjuaead4ceGglE86bbaialfhiadcefgdcw9hmbkaec:q:yjjbfai86bbaecitc:q1jjbfab8Piw83ibaecefgecjd9hmbkk;h8JlHud97euo978Jjjjjbcj;kb9Rgv8Kjjjjbc9:hodnadcefal0mbcuhoaiRbbc:Ge9hmbavaialfgrad9Rad;8qbbcj;abad9UhoaicefhldnadTmbaoc;WFbGgocjdaocjd6EhwcbhDinaDae9pmeawaeaD9RaDawfae6Egqcsfgoc9WGgkci2hxakcethmaocl4cifcd4hPabaDad2fhscbhzdnincehHalhOcbhAdninaraO9RaP6miavcj;cbfaAak2fhCaOaPfhlcbhidnakc;ab6mbaral9Rc;Gb6mbcbhoinaCaofhidndndndndnaOaoco4fRbbgXciGPlbedibkaipxbbbbbbbbbbbbbbbbpklbxikaialpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbalclfaYpQbfaKc:q:yjjbfRbbfhlxdkaialpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbalcwfaYpQbfaKc:q:yjjbfRbbfhlxekaialpbbbpklbalczfhlkdndndndndnaXcd4ciGPlbedibkaipxbbbbbbbbbbbbbbbbpklzxikaialpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklzalclfaYpQbfaKc:q:yjjbfRbbfhlxdkaialpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklzalcwfaYpQbfaKc:q:yjjbfRbbfhlxekaialpbbbpklzalczfhlkdndndndndnaXcl4ciGPlbedibkaipxbbbbbbbbbbbbbbbbpklaxikaialpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklaalclfaYpQbfaKc:q:yjjbfRbbfhlxdkaialpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklaalcwfaYpQbfaKc:q:yjjbfRbbfhlxekaialpbbbpklaalczfhlkdndndndndnaXco4Plbedibkaipxbbbbbbbbbbbbbbbbpkl8WxikaialpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibaXc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spkl8WalclfaYpQbfaXc:q:yjjbfRbbfhlxdkaialpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibaXc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spkl8WalcwfaYpQbfaXc:q:yjjbfRbbfhlxekaialpbbbpkl8Walczfhlkaoc;abfhiaocjefak0meaihoaral9Rc;Fb0mbkkdndnaiak9pmbaici4hoinaral9RcK6mdaCaifhXdndndndndnaOaico4fRbbaocoG4ciGPlbedibkaXpxbbbbbbbbbbbbbbbbpklbxikaXalpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbalclfaYpQbfaKc:q:yjjbfRbbfhlxdkaXalpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbalcwfaYpQbfaKc:q:yjjbfRbbfhlxekaXalpbbbpklbalczfhlkaocdfhoaiczfgiak6mbkkalTmbaAci6hHalhOaAcefgohAaoclSmdxekkcbhlaHceGmdkdnakTmbavcjdfazfhiavazfpbdbhYcbhXinaiavcj;cbfaXfgopblbgLcep9TaLpxeeeeeeeeeeeeeeeegQp9op9Hp9rgLaoakfpblbg8Acep9Ta8AaQp9op9Hp9rg8ApmbzeHdOiAlCvXoQrLgEaoamfpblbg3cep9Ta3aQp9op9Hp9rg3aoaxfpblbg5cep9Ta5aQp9op9Hp9rg5pmbzeHdOiAlCvXoQrLg8EpmbezHdiOAlvCXorQLgQaQpmbedibedibedibediaYp9UgYp9AdbbaiadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfgoaYaEa8EpmwDKYqk8AExm35Ps8E8FgQaQpmbedibedibedibedip9UgYp9AdbbaoadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfgoaYaLa8ApmwKDYq8AkEx3m5P8Es8FgLa3a5pmwKDYq8AkEx3m5P8Es8Fg8ApmbezHdiOAlvCXorQLgQaQpmbedibedibedibedip9UgYp9AdbbaoadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfgoaYaLa8ApmwDKYqk8AExm35Ps8E8FgQaQpmbedibedibedibedip9UgYp9AdbbaoadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfhiaXczfgXak6mbkkazclfgzad6mbkasavcjdfaqad2;8qbbavavcjdfaqcufad2fad;8qbbaqaDfhDc9:hoalmexikkc9:hoxekcbc99aral9Radcaadca0ESEhokavcj;kbf8Kjjjjbaokwbz:bjjjbk;uzeHu8Jjjjjbc;ae9Rgv8Kjjjjbc9:hodnaeci9UgrcHfal0mbcuhoaiRbbgwc;WeGc;Ge9hmbawcsGgDce0mbavc;abfcFecje;8kbavcUf9cu83ibavc8Wf9cu83ibavcyf9cu83ibavcaf9cu83ibavcKf9cu83ibavczf9cu83ibav9cu83iwav9cu83ibaialfc9WfhqaicefgwarfhodnaeTmbcmcsaDceSEhkcbhxcbhmcbhDcbhicbhlindnaoaq9nmbc9:hoxikdndnawRbbgrc;Ve0mbavc;abfalarcl4cu7fcsGcitfgPydlhsaPydbhzdnarcsGgPak9pmbavaiarcu7fcsGcdtfydbaxaPEhraPThPdndnadcd9hmbabaDcetfgHaz87ebaHcdfas87ebaHclfar87ebxekabaDcdtfgHazBdbaHclfasBdbaHcwfarBdbkaxaPfhxavc;abfalcitfgHarBdbaHasBdlavaicdtfarBdbavc;abfalcefcsGglcitfgHazBdbaHarBdlaiaPfhialcefhlxdkdndnaPcsSmbamaPfaPc987fcefhmxekaocefhrao8SbbgPcFeGhHdndnaPcu9mmbarhoxekaocvfhoaHcFbGhHcrhPdninar8SbbgOcFbGaPtaHVhHaOcu9kmearcefhraPcrfgPc8J9hmbxdkkarcefhokaHce4cbaHceG9R7amfhmkdndnadcd9hmbabaDcetfgraz87ebarcdfas87ebarclfam87ebxekabaDcdtfgrazBdbarclfasBdbarcwfamBdbkavc;abfalcitfgramBdbarasBdlavaicdtfamBdbavc;abfalcefcsGglcitfgrazBdbaramBdlaicefhialcefhlxekdnarcpe0mbaxcefgOavaiaqarcsGfRbbgPcl49RcsGcdtfydbaPcz6gHEhravaiaP9RcsGcdtfydbaOaHfgsaPcsGgOEhPaOThOdndnadcd9hmbabaDcetfgzax87ebazcdfar87ebazclfaP87ebxekabaDcdtfgzaxBdbazclfarBdbazcwfaPBdbkavaicdtfaxBdbavc;abfalcitfgzarBdbazaxBdlavaicefgicsGcdtfarBdbavc;abfalcefcsGcitfgzaPBdbazarBdlavaiaHfcsGgicdtfaPBdbavc;abfalcdfcsGglcitfgraxBdbaraPBdlalcefhlaiaOfhiasaOfhxxekaxcbaoRbbgzEgAarc;:eSgrfhsazcsGhCazcl4hXdndnazcs0mbascefhOxekashOavaiaX9RcsGcdtfydbhskdndnaCmbaOcefhxxekaOhxavaiaz9RcsGcdtfydbhOkdndnarTmbaocefhrxekaocdfhrao8SbegHcFeGhPdnaHcu9kmbaocofhAaPcFbGhPcrhodninar8SbbgHcFbGaotaPVhPaHcu9kmearcefhraocrfgoc8J9hmbkaAhrxekarcefhrkaPce4cbaPceG9R7amfgmhAkdndnaXcsSmbarhPxekarcefhPar8SbbgocFeGhHdnaocu9kmbarcvfhsaHcFbGhHcrhodninaP8SbbgrcFbGaotaHVhHarcu9kmeaPcefhPaocrfgoc8J9hmbkashPxekaPcefhPkaHce4cbaHceG9R7amfgmhskdndnaCcsSmbaPhoxekaPcefhoaP8SbbgrcFeGhHdnarcu9kmbaPcvfhOaHcFbGhHcrhrdninao8SbbgPcFbGartaHVhHaPcu9kmeaocefhoarcrfgrc8J9hmbkaOhoxekaocefhokaHce4cbaHceG9R7amfgmhOkdndnadcd9hmbabaDcetfgraA87ebarcdfas87ebarclfaO87ebxekabaDcdtfgraABdbarclfasBdbarcwfaOBdbkavc;abfalcitfgrasBdbaraABdlavaicdtfaABdbavc;abfalcefcsGcitfgraOBdbarasBdlavaicefgicsGcdtfasBdbavc;abfalcdfcsGcitfgraABdbaraOBdlavaiazcz6aXcsSVfgicsGcdtfaOBdbaiaCTaCcsSVfhialcifhlkawcefhwalcsGhlaicsGhiaDcifgDae6mbkkcbc99aoaqSEhokavc;aef8Kjjjjbaok:llevu8Jjjjjbcz9Rhvc9:hodnaecvfal0mbcuhoaiRbbc;:eGc;qe9hmbav9cb83iwaicefhraialfc98fhwdnaeTmbdnadcdSmbcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcdtfaicd4cbaice4ceG9R7avcwfaiceGcdtVgoydbfglBdbaoalBdbaDcefgDae9hmbxdkkcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcetfaicd4cbaice4ceG9R7avcwfaiceGcdtVgoydbfgl87ebaoalBdbaDcefgDae9hmbkkcbc99arawSEhokaok:EPliuo97eue978Jjjjjbca9Rhidndnadcl9hmbdnaec98GglTmbcbhvabhdinadadpbbbgocKp: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:RepxbbFbbbFbbbFbbbFbp9op9qpkbbadczfhdavclfgval6mbkkalae9pmeaiaeciGgvcdtgdVcbczad9R;8kbaiabalcdtfglad;8qbbdnavTmbaiaipblbgocKp: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:RepxbbFbbbFbbbFbbbFbp9op9qpklbkalaiad;8qbbskdnaec98GgxTmbcbhvabhdinadczfglalpbbbgopxbbbbbbFFbbbbbbFFgkp9oadpbbbgDaopmlvorxmPsCXQL358E8FpxFubbFubbFubbFubbp9op;6eaDaopmbediwDqkzHOAKY8AEgoczp:Sep;6egrp;Geaoczp:Reczp:Sep;6egwp;Gep;Kep;Legopxb;:FSb;:FSb;:FSb;:FSawaopxbbbbbbbbbbbbbbbbp:2egqawpxbbbjbbbjbbbjbbbjgmp9op9rp;Kegwawp;Meaoaop;Mearaqaramp9op9rp;Kegoaop;Mep;Kep;Kep;Jep;Negrp;Mepxbbn0bbn0bbn0bbn0gqp;Keczp:Reawarp;Meaqp;KepxFFbbFFbbFFbbFFbbp9op9qgwaoarp;Meaqp;KepxFFbbFFbbFFbbFFbbp9ogopmwDKYqk8AExm35Ps8E8Fp9qpkbbadaDakp9oawaopmbezHdiOAlvCXorQLp9qpkbbadcafhdavclfgvax6mbkkaxae9pmbaiaeciGgvcitgdfcbcaad9R;8kbaiabaxcitfglad;8qbbdnavTmbaiaipblzgopxbbbbbbFFbbbbbbFFgkp9oaipblbgDaopmlvorxmPsCXQL358E8FpxFubbFubbFubbFubbp9op;6eaDaopmbediwDqkzHOAKY8AEgoczp:Sep;6egrp;Geaoczp:Reczp:Sep;6egwp;Gep;Kep;Legopxb;:FSb;:FSb;:FSb;:FSawaopxbbbbbbbbbbbbbbbbp:2egqawpxbbbjbbbjbbbjbbbjgmp9op9rp;Kegwawp;Meaoaop;Mearaqaramp9op9rp;Kegoaop;Mep;Kep;Kep;Jep;Negrp;Mepxbbn0bbn0bbn0bbn0gqp;Keczp:Reawarp;Meaqp;KepxFFbbFFbbFFbbFFbbp9op9qgwaoarp;Meaqp;KepxFFbbFFbbFFbbFFbbp9ogopmwDKYqk8AExm35Ps8E8Fp9qpklzaiaDakp9oawaopmbezHdiOAlvCXorQLp9qpklbkalaiad;8qbbkk;4wllue97euv978Jjjjjbc8W9Rhidnaec98GglTmbcbhvabhoinaiaopbbbgraoczfgwpbbbgDpmlvorxmPsCXQL358E8Fgqczp:Segkclp:RepklbaopxbbjZbbjZbbjZbbjZpx;Zl81Z;Zl81Z;Zl81Z;Zl81Zakpxibbbibbbibbbibbbp9qp;6ep;NegkaraDpmbediwDqkzHOAKY8AEgrczp:Reczp:Sep;6ep;MegDaDp;Meakarczp:Sep;6ep;Megxaxp;Meakaqczp:Reczp:Sep;6ep;Megqaqp;Mep;Kep;Kep;Lepxbbbbbbbbbbbbbbbbp:4ep;Jepxb;:FSb;:FSb;:FSb;:FSgkp;Mepxbbn0bbn0bbn0bbn0grp;KepxFFbbFFbbFFbbFFbbgmp9oaxakp;Mearp;Keczp:Rep9qgxaqakp;Mearp;Keczp:ReaDakp;Mearp;Keamp9op9qgkpmbezHdiOAlvCXorQLgrp5baipblbpEb:T:j83ibaocwfarp5eaipblbpEe:T:j83ibawaxakpmwDKYqk8AExm35Ps8E8Fgkp5baipblbpEd:T:j83ibaocKfakp5eaipblbpEi:T:j83ibaocafhoavclfgval6mbkkdnalae9pmbaiaeciGgvcitgofcbcaao9R;8kbaiabalcitfgwao;8qbbdnavTmbaiaipblbgraipblzgDpmlvorxmPsCXQL358E8Fgqczp:Segkclp:RepklaaipxbbjZbbjZbbjZbbjZpx;Zl81Z;Zl81Z;Zl81Z;Zl81Zakpxibbbibbbibbbibbbp9qp;6ep;NegkaraDpmbediwDqkzHOAKY8AEgrczp:Reczp:Sep;6ep;MegDaDp;Meakarczp:Sep;6ep;Megxaxp;Meakaqczp:Reczp:Sep;6ep;Megqaqp;Mep;Kep;Kep;Lepxbbbbbbbbbbbbbbbbp:4ep;Jepxb;:FSb;:FSb;:FSb;:FSgkp;Mepxbbn0bbn0bbn0bbn0grp;KepxFFbbFFbbFFbbFFbbgmp9oaxakp;Mearp;Keczp:Rep9qgxaqakp;Mearp;Keczp:ReaDakp;Mearp;Keamp9op9qgkpmbezHdiOAlvCXorQLgrp5baipblapEb:T:j83ibaiarp5eaipblapEe:T:j83iwaiaxakpmwDKYqk8AExm35Ps8E8Fgkp5baipblapEd:T:j83izaiakp5eaipblapEi:T:j83iKkawaiao;8qbbkk:Pddiue978Jjjjjbc;ab9Rhidnadcd4ae2glc98GgvTmbcbhdabheinaeaepbbbgocwp:Recwp:Sep;6eaocep:SepxbbjZbbjZbbjZbbjZp:UepxbbjFbbjFbbjFbbjFp9op;Mepkbbaeczfheadclfgdav6mbkkdnaval9pmbaialciGgdcdtgeVcbc;abae9R;8kbaiabavcdtfgvae;8qbbdnadTmbaiaipblbgocwp:Recwp:Sep;6eaocep:SepxbbjZbbjZbbjZbbjZp:UepxbbjFbbjFbbjFbbjFp9op;Mepklbkavaiae;8qbbkk9teiucbcbydj1jjbgeabcifc98GfgbBdj1jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaikkkebcjwklz9Tbb", 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]), s = 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]);
|
|
2106
2106
|
if (typeof WebAssembly != "object")
|
|
2107
2107
|
return {
|
|
@@ -2198,7 +2198,7 @@ var Th = (function() {
|
|
|
2198
2198
|
};
|
|
2199
2199
|
})();
|
|
2200
2200
|
const Bs = /* @__PURE__ */ new WeakMap();
|
|
2201
|
-
class
|
|
2201
|
+
class Rh extends kt {
|
|
2202
2202
|
constructor(e) {
|
|
2203
2203
|
super(e), this.decoderPath = "", this.decoderConfig = {}, this.decoderBinary = null, this.decoderPending = null, this.workerLimit = 4, this.workerPool = [], this.workerNextTaskID = 1, this.workerSourceURL = "", this.defaultAttributeIDs = {
|
|
2204
2204
|
position: "POSITION",
|
|
@@ -3085,7 +3085,7 @@ function Er(A) {
|
|
|
3085
3085
|
const e = A.dataFormatDescriptor[0];
|
|
3086
3086
|
return e.colorPrimaries === jA ? e.transferFunction === qi ? ge : Xe : e.colorPrimaries === qA ? e.transferFunction === qi ? rc : ac : e.colorPrimaries === HA ? us : (console.warn(`THREE.KTX2Loader: Unsupported color primaries, "${e.colorPrimaries}"`), us);
|
|
3087
3087
|
}
|
|
3088
|
-
class
|
|
3088
|
+
class _h extends Na {
|
|
3089
3089
|
constructor(e, t = {}) {
|
|
3090
3090
|
const s = t.font;
|
|
3091
3091
|
if (s === void 0)
|
|
@@ -3097,7 +3097,7 @@ class Dh extends Na {
|
|
|
3097
3097
|
this.type = "TextGeometry";
|
|
3098
3098
|
}
|
|
3099
3099
|
}
|
|
3100
|
-
class
|
|
3100
|
+
class Mh extends kt {
|
|
3101
3101
|
constructor(e) {
|
|
3102
3102
|
super(e);
|
|
3103
3103
|
}
|
|
@@ -3171,7 +3171,7 @@ const Wt = new bi(), He = new P(), Ht = new P(), ye = new Te(), Ki = {
|
|
|
3171
3171
|
Y: new P(0, 1, 0),
|
|
3172
3172
|
Z: new P(0, 0, 1)
|
|
3173
3173
|
}, vs = { type: "change" }, Ji = { type: "mouseDown", mode: null }, Vi = { type: "mouseUp", mode: null }, Wi = { type: "objectChange" };
|
|
3174
|
-
class
|
|
3174
|
+
class Fh extends Yo {
|
|
3175
3175
|
constructor(e, t = null) {
|
|
3176
3176
|
super(void 0, t);
|
|
3177
3177
|
const s = new mc(this);
|
|
@@ -4154,7 +4154,7 @@ var li = function(A) {
|
|
|
4154
4154
|
}, Nc = function(A, e, t, s, n) {
|
|
4155
4155
|
Ge(A, e, 101010256), Ge(A, e + 8, t), Ge(A, e + 10, t), Ge(A, e + 12, s), Ge(A, e + 16, n);
|
|
4156
4156
|
};
|
|
4157
|
-
function
|
|
4157
|
+
function kh(A, e) {
|
|
4158
4158
|
e || (e = {});
|
|
4159
4159
|
var t = {}, s = [];
|
|
4160
4160
|
Sr(A, "", t, e);
|
|
@@ -4182,7 +4182,7 @@ function Mh(A, e) {
|
|
|
4182
4182
|
}
|
|
4183
4183
|
return Nc(B, n, s.length, D, Q), B;
|
|
4184
4184
|
}
|
|
4185
|
-
class
|
|
4185
|
+
class Uc extends Ko {
|
|
4186
4186
|
constructor(e) {
|
|
4187
4187
|
super(e), this.type = We;
|
|
4188
4188
|
}
|
|
@@ -5100,7 +5100,11 @@ class Fh extends Ko {
|
|
|
5100
5100
|
return super.load(e, i, s, n);
|
|
5101
5101
|
}
|
|
5102
5102
|
}
|
|
5103
|
-
|
|
5103
|
+
const Lh = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
5104
|
+
__proto__: null,
|
|
5105
|
+
EXRLoader: Uc
|
|
5106
|
+
}, Symbol.toStringTag, { value: "Module" }));
|
|
5107
|
+
class Gc extends Ko {
|
|
5104
5108
|
constructor(e) {
|
|
5105
5109
|
super(e), this.type = We;
|
|
5106
5110
|
}
|
|
@@ -5246,6 +5250,10 @@ class kh extends Ko {
|
|
|
5246
5250
|
return super.load(e, i, s, n);
|
|
5247
5251
|
}
|
|
5248
5252
|
}
|
|
5253
|
+
const Nh = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
5254
|
+
__proto__: null,
|
|
5255
|
+
RGBELoader: Gc
|
|
5256
|
+
}, Symbol.toStringTag, { value: "Module" }));
|
|
5249
5257
|
function Tr(A, e, t) {
|
|
5250
5258
|
const s = t.length - A - 1;
|
|
5251
5259
|
if (e >= t[s])
|
|
@@ -5257,7 +5265,7 @@ function Tr(A, e, t) {
|
|
|
5257
5265
|
e < t[o] ? i = o : n = o, o = Math.floor((n + i) / 2);
|
|
5258
5266
|
return o;
|
|
5259
5267
|
}
|
|
5260
|
-
function
|
|
5268
|
+
function Pc(A, e, t, s) {
|
|
5261
5269
|
const n = [], i = [], o = [];
|
|
5262
5270
|
n[0] = 1;
|
|
5263
5271
|
for (let r = 1; r <= t; ++r) {
|
|
@@ -5271,15 +5279,15 @@ function Uc(A, e, t, s) {
|
|
|
5271
5279
|
}
|
|
5272
5280
|
return n;
|
|
5273
5281
|
}
|
|
5274
|
-
function
|
|
5275
|
-
const n = Tr(A, s, e), i =
|
|
5282
|
+
function Oc(A, e, t, s) {
|
|
5283
|
+
const n = Tr(A, s, e), i = Pc(n, s, A, e), o = new Nt(0, 0, 0, 0);
|
|
5276
5284
|
for (let r = 0; r <= A; ++r) {
|
|
5277
5285
|
const a = t[n - A + r], c = i[r], l = a.w * c;
|
|
5278
5286
|
o.x += a.x * l, o.y += a.y * l, o.z += a.z * l, o.w += a.w * c;
|
|
5279
5287
|
}
|
|
5280
5288
|
return o;
|
|
5281
5289
|
}
|
|
5282
|
-
function
|
|
5290
|
+
function Hc(A, e, t, s, n) {
|
|
5283
5291
|
const i = [];
|
|
5284
5292
|
for (let h = 0; h <= t; ++h)
|
|
5285
5293
|
i[h] = 0;
|
|
@@ -5330,8 +5338,8 @@ function Pc(A, e, t, s, n) {
|
|
|
5330
5338
|
}
|
|
5331
5339
|
return o;
|
|
5332
5340
|
}
|
|
5333
|
-
function
|
|
5334
|
-
const i = n < A ? n : A, o = [], r = Tr(A, s, e), a =
|
|
5341
|
+
function jc(A, e, t, s, n) {
|
|
5342
|
+
const i = n < A ? n : A, o = [], r = Tr(A, s, e), a = Hc(r, s, A, i, e), c = [];
|
|
5335
5343
|
for (let l = 0; l < t.length; ++l) {
|
|
5336
5344
|
const h = t[l].clone(), g = h.w;
|
|
5337
5345
|
h.x *= g, h.y *= g, h.z *= g, c[l] = h;
|
|
@@ -5346,7 +5354,7 @@ function Oc(A, e, t, s, n) {
|
|
|
5346
5354
|
o[l] = new Nt(0, 0, 0);
|
|
5347
5355
|
return o;
|
|
5348
5356
|
}
|
|
5349
|
-
function
|
|
5357
|
+
function qc(A, e) {
|
|
5350
5358
|
let t = 1;
|
|
5351
5359
|
for (let n = 2; n <= A; ++n)
|
|
5352
5360
|
t *= n;
|
|
@@ -5357,7 +5365,7 @@ function Hc(A, e) {
|
|
|
5357
5365
|
s *= n;
|
|
5358
5366
|
return t / s;
|
|
5359
5367
|
}
|
|
5360
|
-
function
|
|
5368
|
+
function zc(A) {
|
|
5361
5369
|
const e = A.length, t = [], s = [];
|
|
5362
5370
|
for (let i = 0; i < e; ++i) {
|
|
5363
5371
|
const o = A[i];
|
|
@@ -5367,16 +5375,16 @@ function jc(A) {
|
|
|
5367
5375
|
for (let i = 0; i < e; ++i) {
|
|
5368
5376
|
const o = t[i].clone();
|
|
5369
5377
|
for (let r = 1; r <= i; ++r)
|
|
5370
|
-
o.sub(n[i - r].clone().multiplyScalar(
|
|
5378
|
+
o.sub(n[i - r].clone().multiplyScalar(qc(i, r) * s[r]));
|
|
5371
5379
|
n[i] = o.divideScalar(s[0]);
|
|
5372
5380
|
}
|
|
5373
5381
|
return n;
|
|
5374
5382
|
}
|
|
5375
|
-
function
|
|
5376
|
-
const i =
|
|
5377
|
-
return
|
|
5383
|
+
function Yc(A, e, t, s, n) {
|
|
5384
|
+
const i = jc(A, e, t, s, n);
|
|
5385
|
+
return zc(i);
|
|
5378
5386
|
}
|
|
5379
|
-
class
|
|
5387
|
+
class Kc extends Ga {
|
|
5380
5388
|
constructor(e, t, s, n, i) {
|
|
5381
5389
|
super(), this.degree = e, this.knots = t, this.controlPoints = [], this.startKnot = n || 0, this.endKnot = i || this.knots.length - 1;
|
|
5382
5390
|
for (let o = 0; o < s.length; ++o) {
|
|
@@ -5385,16 +5393,16 @@ class zc extends Ga {
|
|
|
5385
5393
|
}
|
|
5386
5394
|
}
|
|
5387
5395
|
getPoint(e, t = new P()) {
|
|
5388
|
-
const s = t, n = this.knots[this.startKnot] + e * (this.knots[this.endKnot] - this.knots[this.startKnot]), i =
|
|
5396
|
+
const s = t, n = this.knots[this.startKnot] + e * (this.knots[this.endKnot] - this.knots[this.startKnot]), i = Oc(this.degree, this.knots, this.controlPoints, n);
|
|
5389
5397
|
return i.w !== 1 && i.divideScalar(i.w), s.set(i.x, i.y, i.z);
|
|
5390
5398
|
}
|
|
5391
5399
|
getTangent(e, t = new P()) {
|
|
5392
|
-
const s = t, n = this.knots[0] + e * (this.knots[this.knots.length - 1] - this.knots[0]), i =
|
|
5400
|
+
const s = t, n = this.knots[0] + e * (this.knots[this.knots.length - 1] - this.knots[0]), i = Yc(this.degree, this.knots, this.controlPoints, n, 1);
|
|
5393
5401
|
return s.copy(i[1]).normalize(), s;
|
|
5394
5402
|
}
|
|
5395
5403
|
}
|
|
5396
5404
|
let re, De, ze;
|
|
5397
|
-
class
|
|
5405
|
+
class Uh extends kt {
|
|
5398
5406
|
constructor(e) {
|
|
5399
5407
|
super(e);
|
|
5400
5408
|
}
|
|
@@ -5409,30 +5417,30 @@ class Lh extends kt {
|
|
|
5409
5417
|
}, s, n);
|
|
5410
5418
|
}
|
|
5411
5419
|
parse(e, t) {
|
|
5412
|
-
if (
|
|
5413
|
-
re = new
|
|
5420
|
+
if ($c(e))
|
|
5421
|
+
re = new Zc().parse(e);
|
|
5414
5422
|
else {
|
|
5415
5423
|
const n = Rr(e);
|
|
5416
|
-
if (!
|
|
5424
|
+
if (!el(n))
|
|
5417
5425
|
throw new Error("THREE.FBXLoader: Unknown format.");
|
|
5418
5426
|
if (ao(n) < 7e3)
|
|
5419
5427
|
throw new Error("THREE.FBXLoader: FBX version not supported, FileVersion: " + ao(n));
|
|
5420
|
-
re = new
|
|
5428
|
+
re = new Xc().parse(n);
|
|
5421
5429
|
}
|
|
5422
5430
|
const s = new di(this.manager).setPath(this.resourcePath || t).setCrossOrigin(this.crossOrigin);
|
|
5423
|
-
return new
|
|
5431
|
+
return new Jc(s, this.manager).parse(re);
|
|
5424
5432
|
}
|
|
5425
5433
|
getFbxTree() {
|
|
5426
5434
|
return re;
|
|
5427
5435
|
}
|
|
5428
5436
|
}
|
|
5429
|
-
class
|
|
5437
|
+
class Jc {
|
|
5430
5438
|
constructor(e, t) {
|
|
5431
5439
|
this.textureLoader = e, this.manager = t;
|
|
5432
5440
|
}
|
|
5433
5441
|
parse() {
|
|
5434
5442
|
De = this.parseConnections();
|
|
5435
|
-
const e = this.parseImages(), t = this.parseTextures(e), s = this.parseMaterials(t), n = this.parseDeformers(), i = new
|
|
5443
|
+
const e = this.parseImages(), t = this.parseTextures(e), s = this.parseMaterials(t), n = this.parseDeformers(), i = new Vc().parse(n);
|
|
5436
5444
|
return this.parseScene(n, i, s), ze;
|
|
5437
5445
|
}
|
|
5438
5446
|
// Parses FBXTree.Connections which holds parent-child connections between objects (e.g. material -> texture, model->geometry )
|
|
@@ -5721,7 +5729,7 @@ class Yc {
|
|
|
5721
5729
|
}
|
|
5722
5730
|
a.isSkinnedMesh && (a.computeBoundingBox(), a.computeBoundingSphere(), a.boundingBox.expandByScalar(3), a.boundingSphere.radius *= 3);
|
|
5723
5731
|
});
|
|
5724
|
-
const r = new
|
|
5732
|
+
const r = new Wc().parse();
|
|
5725
5733
|
ze.children.length === 1 && ze.children[0].isGroup && (ze.children[0].animations = r, ze = ze.children[0]), ze.animations = r;
|
|
5726
5734
|
}
|
|
5727
5735
|
// parse nodes in FBXTree.Objects.Model
|
|
@@ -5936,7 +5944,7 @@ class Yc {
|
|
|
5936
5944
|
}
|
|
5937
5945
|
}
|
|
5938
5946
|
}
|
|
5939
|
-
class
|
|
5947
|
+
class Vc {
|
|
5940
5948
|
constructor() {
|
|
5941
5949
|
this.negativeMaterialIndices = !1;
|
|
5942
5950
|
}
|
|
@@ -6223,11 +6231,11 @@ class Kc {
|
|
|
6223
6231
|
for (let h = 0; h < s; ++h)
|
|
6224
6232
|
i.push(i[h]);
|
|
6225
6233
|
}
|
|
6226
|
-
const l = new
|
|
6234
|
+
const l = new Kc(s, n, i, r, a).getPoints(i.length * 12);
|
|
6227
6235
|
return new ut().setFromPoints(l);
|
|
6228
6236
|
}
|
|
6229
6237
|
}
|
|
6230
|
-
class
|
|
6238
|
+
class Wc {
|
|
6231
6239
|
// take raw animation clips and turn them into three.js animation clips
|
|
6232
6240
|
parse() {
|
|
6233
6241
|
const e = [], t = this.parseClips();
|
|
@@ -6271,7 +6279,7 @@ class Jc {
|
|
|
6271
6279
|
for (const s in t) {
|
|
6272
6280
|
const n = {
|
|
6273
6281
|
id: t[s].id,
|
|
6274
|
-
times: t[s].KeyTime.a.map(
|
|
6282
|
+
times: t[s].KeyTime.a.map(tl),
|
|
6275
6283
|
values: t[s].KeyValueFloat.a
|
|
6276
6284
|
}, i = De.get(n.id);
|
|
6277
6285
|
if (i !== void 0) {
|
|
@@ -6485,7 +6493,7 @@ class Jc {
|
|
|
6485
6493
|
return [i, o];
|
|
6486
6494
|
}
|
|
6487
6495
|
}
|
|
6488
|
-
class
|
|
6496
|
+
class Xc {
|
|
6489
6497
|
getPrevNode() {
|
|
6490
6498
|
return this.nodeStack[this.currentIndent - 2];
|
|
6491
6499
|
}
|
|
@@ -6539,7 +6547,7 @@ class Vc {
|
|
|
6539
6547
|
let h = i.split(",").slice(3);
|
|
6540
6548
|
h = h.map(function(g) {
|
|
6541
6549
|
return g.trim().replace(/^"/, "");
|
|
6542
|
-
}), n = "connections", i = [c, l],
|
|
6550
|
+
}), n = "connections", i = [c, l], sl(i, h), o[n] === void 0 && (o[n] = []);
|
|
6543
6551
|
}
|
|
6544
6552
|
n === "Node" && (o.id = i), n in o && Array.isArray(o[n]) ? o[n].push(i) : n !== "a" ? o[n] = i : o.a = i, this.setCurrentProp(o, n), n === "a" && i.slice(-1) !== "," && (o.a = ks(i));
|
|
6545
6553
|
}
|
|
@@ -6580,7 +6588,7 @@ class Vc {
|
|
|
6580
6588
|
}, this.setCurrentProp(this.getPrevNode(), i);
|
|
6581
6589
|
}
|
|
6582
6590
|
}
|
|
6583
|
-
class
|
|
6591
|
+
class Zc {
|
|
6584
6592
|
parse(e) {
|
|
6585
6593
|
const t = new ro(e);
|
|
6586
6594
|
t.skip(23);
|
|
@@ -6809,11 +6817,11 @@ class vr {
|
|
|
6809
6817
|
this[e] = t;
|
|
6810
6818
|
}
|
|
6811
6819
|
}
|
|
6812
|
-
function
|
|
6820
|
+
function $c(A) {
|
|
6813
6821
|
const e = "Kaydara FBX Binary \0";
|
|
6814
6822
|
return A.byteLength >= e.length && e === Rr(A, 0, e.length);
|
|
6815
6823
|
}
|
|
6816
|
-
function
|
|
6824
|
+
function el(A) {
|
|
6817
6825
|
const e = ["K", "a", "y", "d", "a", "r", "a", "\\", "F", "B", "X", "\\", "B", "i", "n", "a", "r", "y", "\\", "\\"];
|
|
6818
6826
|
let t = 0;
|
|
6819
6827
|
function s(n) {
|
|
@@ -6831,10 +6839,10 @@ function ao(A) {
|
|
|
6831
6839
|
return parseInt(t[1]);
|
|
6832
6840
|
throw new Error("THREE.FBXLoader: Cannot find the version number for the file given.");
|
|
6833
6841
|
}
|
|
6834
|
-
function
|
|
6842
|
+
function tl(A) {
|
|
6835
6843
|
return A / 46186158e3;
|
|
6836
6844
|
}
|
|
6837
|
-
const
|
|
6845
|
+
const nl = [];
|
|
6838
6846
|
function Xn(A, e, t, s) {
|
|
6839
6847
|
let n;
|
|
6840
6848
|
switch (s.mappingType) {
|
|
@@ -6855,7 +6863,7 @@ function Xn(A, e, t, s) {
|
|
|
6855
6863
|
}
|
|
6856
6864
|
s.referenceType === "IndexToDirect" && (n = s.indices[n]);
|
|
6857
6865
|
const i = n * s.dataSize, o = i + s.dataSize;
|
|
6858
|
-
return nl
|
|
6866
|
+
return il(nl, s.buffer, i, o);
|
|
6859
6867
|
}
|
|
6860
6868
|
const Fs = new qt(), ln = new P();
|
|
6861
6869
|
function Dr(A) {
|
|
@@ -6920,16 +6928,16 @@ function ks(A) {
|
|
|
6920
6928
|
function Rr(A, e, t) {
|
|
6921
6929
|
return e === void 0 && (e = 0), t === void 0 && (t = A.byteLength), new TextDecoder().decode(new Uint8Array(A, e, t));
|
|
6922
6930
|
}
|
|
6923
|
-
function
|
|
6931
|
+
function sl(A, e) {
|
|
6924
6932
|
for (let t = 0, s = A.length, n = e.length; t < n; t++, s++)
|
|
6925
6933
|
A[s] = e[t];
|
|
6926
6934
|
}
|
|
6927
|
-
function
|
|
6935
|
+
function il(A, e, t, s) {
|
|
6928
6936
|
for (let n = t, i = 0; n < s; n++, i++)
|
|
6929
6937
|
A[i] = e[n];
|
|
6930
6938
|
return A;
|
|
6931
6939
|
}
|
|
6932
|
-
class
|
|
6940
|
+
class ol extends kt {
|
|
6933
6941
|
constructor(e) {
|
|
6934
6942
|
super(e);
|
|
6935
6943
|
}
|
|
@@ -6991,11 +6999,11 @@ class sl extends kt {
|
|
|
6991
6999
|
} else
|
|
6992
7000
|
n[h] = g;
|
|
6993
7001
|
}
|
|
6994
|
-
const r = new
|
|
7002
|
+
const r = new rl(this.resourcePath || t, this.materialOptions);
|
|
6995
7003
|
return r.setCrossOrigin(this.crossOrigin), r.setManager(this.manager), r.setMaterials(o), r;
|
|
6996
7004
|
}
|
|
6997
7005
|
}
|
|
6998
|
-
class
|
|
7006
|
+
class rl {
|
|
6999
7007
|
constructor(e = "", t = {}) {
|
|
7000
7008
|
this.baseUrl = e, this.options = t, this.materialsInfo = {}, this.materials = {}, this.materialsArray = [], this.nameLookup = {}, this.crossOrigin = "anonymous", this.side = this.options.side !== void 0 ? this.options.side : Oo, this.wrap = this.options.wrap !== void 0 ? this.options.wrap : on;
|
|
7001
7009
|
}
|
|
@@ -7121,8 +7129,8 @@ class il {
|
|
|
7121
7129
|
return t !== void 0 && (a.mapping = t), a;
|
|
7122
7130
|
}
|
|
7123
7131
|
}
|
|
7124
|
-
const
|
|
7125
|
-
function
|
|
7132
|
+
const al = /^[og]\s*(.+)?/, Al = /^mtllib /, cl = /^usemtl /, ll = /^usemap /, Ao = /\s+/, co = new P(), Ls = new P(), lo = new P(), ho = new P(), lt = new P(), Zn = new Se();
|
|
7133
|
+
function hl() {
|
|
7126
7134
|
const A = {
|
|
7127
7135
|
objects: [],
|
|
7128
7136
|
object: {},
|
|
@@ -7282,9 +7290,9 @@ function cl() {
|
|
|
7282
7290
|
};
|
|
7283
7291
|
return A.startObject("", !1), A;
|
|
7284
7292
|
}
|
|
7285
|
-
class
|
|
7293
|
+
class Gh extends kt {
|
|
7286
7294
|
constructor(e) {
|
|
7287
|
-
super(e), this.materials = null, this.materialsLoader = new
|
|
7295
|
+
super(e), this.materials = null, this.materialsLoader = new ol(e);
|
|
7288
7296
|
}
|
|
7289
7297
|
load(e, t, s, n) {
|
|
7290
7298
|
const i = this, o = new It(this.manager);
|
|
@@ -7317,7 +7325,7 @@ class Nh extends kt {
|
|
|
7317
7325
|
return this.materials = e, this;
|
|
7318
7326
|
}
|
|
7319
7327
|
parse(e, t = !1) {
|
|
7320
|
-
const s = new
|
|
7328
|
+
const s = new hl();
|
|
7321
7329
|
e.indexOf(`\r
|
|
7322
7330
|
`) !== -1 && (e = e.replace(/\r\n/g, `
|
|
7323
7331
|
`)), e.indexOf(`\\
|
|
@@ -7398,14 +7406,14 @@ class Nh extends kt {
|
|
|
7398
7406
|
} else if (c === "p") {
|
|
7399
7407
|
const h = a.slice(1).trim().split(" ");
|
|
7400
7408
|
s.addPointGeometry(h);
|
|
7401
|
-
} else if ((i =
|
|
7409
|
+
} else if ((i = al.exec(a)) !== null) {
|
|
7402
7410
|
const l = (" " + i[0].slice(1).trim()).slice(1);
|
|
7403
7411
|
s.startObject(l);
|
|
7404
|
-
} else if (
|
|
7412
|
+
} else if (cl.test(a))
|
|
7405
7413
|
s.object.startMaterial(a.substring(7).trim(), s.materialLibraries);
|
|
7406
|
-
else if (rl.test(a))
|
|
7407
|
-
s.materialLibraries.push(a.substring(7).trim());
|
|
7408
7414
|
else if (Al.test(a))
|
|
7415
|
+
s.materialLibraries.push(a.substring(7).trim());
|
|
7416
|
+
else if (ll.test(a))
|
|
7409
7417
|
console.warn('THREE.OBJLoader: Rendering identifier "usemap" not supported. Textures must be defined in MTL files.');
|
|
7410
7418
|
else if (c === "s") {
|
|
7411
7419
|
if (i = a.split(" "), i.length > 1) {
|
|
@@ -7466,7 +7474,7 @@ class Nh extends kt {
|
|
|
7466
7474
|
return t;
|
|
7467
7475
|
}
|
|
7468
7476
|
}
|
|
7469
|
-
const uo = { type: "change" }, xi = { type: "start" }, _r = { type: "end" },
|
|
7477
|
+
const uo = { type: "change" }, xi = { type: "start" }, _r = { type: "end" }, ul = { type: "endMovement" }, $n = new Ya(), go = new Ka(), gl = Math.cos(70 * Qe.DEG2RAD), Me = new P();
|
|
7470
7478
|
new P();
|
|
7471
7479
|
const Ke = 2 * Math.PI, de = {
|
|
7472
7480
|
NONE: -1,
|
|
@@ -7478,9 +7486,9 @@ const Ke = 2 * Math.PI, de = {
|
|
|
7478
7486
|
TOUCH_DOLLY_PAN: 5,
|
|
7479
7487
|
TOUCH_DOLLY_ROTATE: 6
|
|
7480
7488
|
}, Xt = 1e-6;
|
|
7481
|
-
let
|
|
7489
|
+
let Ph = class extends Yo {
|
|
7482
7490
|
constructor(e, t = null) {
|
|
7483
|
-
super(e, t), this.state = de.NONE, this.enabled = !0, this.target = new P(), this.cursor = new P(), this.minDistance = 0, this.maxDistance = 1 / 0, this.minZoom = 0, this.maxZoom = 1 / 0, this.minTargetRadius = 0, this.maxTargetRadius = 1 / 0, this.minPolarAngle = 0, this.maxPolarAngle = Math.PI, this.minAzimuthAngle = -1 / 0, this.maxAzimuthAngle = 1 / 0, this.enableDamping = !1, this.dampingFactor = 0.05, this.enableZoom = !0, this.zoomSpeed = 1, this.enableRotate = !0, this.rotateSpeed = 1, this.enablePan = !0, this.panSpeed = 1, this.screenSpacePanning = !0, this.keyPanSpeed = 7, this.zoomToCursor = !1, this.autoRotate = !1, this.autoRotateSpeed = 2, this.keys = { LEFT: "ArrowLeft", UP: "ArrowUp", RIGHT: "ArrowRight", BOTTOM: "ArrowDown" }, this.mouseButtons = { LEFT: fn.ROTATE, MIDDLE: fn.DOLLY, RIGHT: fn.PAN }, this.touches = { ONE: pn.ROTATE, TWO: pn.DOLLY_PAN }, this.target0 = this.target.clone(), this.position0 = this.object.position.clone(), this.zoom0 = this.object.zoom, this._domElementKeyEvents = null, this._lastPosition = new P(), this._lastQuaternion = new Te(), this._lastTargetPosition = new P(), this._quat = new Te().setFromUnitVectors(e.up, new P(0, 1, 0)), this._quatInverse = this._quat.clone().invert(), this._spherical = new Li(), this._sphericalDelta = new Li(), this._scale = 1, this._currentScale = 1, this._panOffset = new P(), this._rotateStart = new Le(), this._rotateEnd = new Le(), this._rotateDelta = new Le(), this._panStart = new Le(), this._panEnd = new Le(), this._panDelta = new Le(), this._dollyStart = new Le(), this._dollyEnd = new Le(), this._dollyDelta = new Le(), this._dollyDirection = new P(), this._mouse = new Le(), this._performCursorZoom = !1, this._pointers = [], this._pointerPositions = {}, this._controlActive = !1, this._lastIsDamping = !1, this._isDamping = !1, this._onPointerMove =
|
|
7491
|
+
super(e, t), this.state = de.NONE, this.enabled = !0, this.target = new P(), this.cursor = new P(), this.minDistance = 0, this.maxDistance = 1 / 0, this.minZoom = 0, this.maxZoom = 1 / 0, this.minTargetRadius = 0, this.maxTargetRadius = 1 / 0, this.minPolarAngle = 0, this.maxPolarAngle = Math.PI, this.minAzimuthAngle = -1 / 0, this.maxAzimuthAngle = 1 / 0, this.enableDamping = !1, this.dampingFactor = 0.05, this.enableZoom = !0, this.zoomSpeed = 1, this.enableRotate = !0, this.rotateSpeed = 1, this.enablePan = !0, this.panSpeed = 1, this.screenSpacePanning = !0, this.keyPanSpeed = 7, this.zoomToCursor = !1, this.autoRotate = !1, this.autoRotateSpeed = 2, this.keys = { LEFT: "ArrowLeft", UP: "ArrowUp", RIGHT: "ArrowRight", BOTTOM: "ArrowDown" }, this.mouseButtons = { LEFT: fn.ROTATE, MIDDLE: fn.DOLLY, RIGHT: fn.PAN }, this.touches = { ONE: pn.ROTATE, TWO: pn.DOLLY_PAN }, this.target0 = this.target.clone(), this.position0 = this.object.position.clone(), this.zoom0 = this.object.zoom, this._domElementKeyEvents = null, this._lastPosition = new P(), this._lastQuaternion = new Te(), this._lastTargetPosition = new P(), this._quat = new Te().setFromUnitVectors(e.up, new P(0, 1, 0)), this._quatInverse = this._quat.clone().invert(), this._spherical = new Li(), this._sphericalDelta = new Li(), this._scale = 1, this._currentScale = 1, this._panOffset = new P(), this._rotateStart = new Le(), this._rotateEnd = new Le(), this._rotateDelta = new Le(), this._panStart = new Le(), this._panEnd = new Le(), this._panDelta = new Le(), this._dollyStart = new Le(), this._dollyEnd = new Le(), this._dollyDelta = new Le(), this._dollyDirection = new P(), this._mouse = new Le(), this._performCursorZoom = !1, this._pointers = [], this._pointerPositions = {}, this._controlActive = !1, this._lastIsDamping = !1, this._isDamping = !1, this._onPointerMove = pl.bind(this), this._onPointerDown = dl.bind(this), this._onPointerUp = fl.bind(this), this._onContextMenu = wl.bind(this), this._onMouseWheel = El.bind(this), this._onKeyDown = bl.bind(this), this._onTouchStart = Cl.bind(this), this._onTouchMove = Bl.bind(this), this._onMouseDown = Il.bind(this), this._onMouseMove = ml.bind(this), this._interceptControlDown = yl.bind(this), this._interceptControlUp = Ql.bind(this), this.domElement !== null && this.connect(), this.update();
|
|
7484
7492
|
}
|
|
7485
7493
|
connect() {
|
|
7486
7494
|
this.domElement.addEventListener("pointerdown", this._onPointerDown), this.domElement.addEventListener("pointercancel", this._onPointerUp), this.domElement.addEventListener("contextmenu", this._onContextMenu), this.domElement.addEventListener("wheel", this._onMouseWheel, { passive: !1 }), this.domElement.getRootNode().addEventListener("keydown", this._interceptControlDown, { passive: !0, capture: !0 }), this.domElement.style.touchAction = "none";
|
|
@@ -7541,12 +7549,12 @@ let Uh = class extends Yo {
|
|
|
7541
7549
|
c.unproject(this.object), this.object.position.sub(c).add(r), this.object.updateMatrixWorld(), o = Me.length();
|
|
7542
7550
|
} else
|
|
7543
7551
|
console.warn("WARNING: OrbitControls.js encountered an unknown camera type - zoom to cursor disabled."), this.zoomToCursor = !1;
|
|
7544
|
-
o !== null && (this.screenSpacePanning ? this.target.set(0, 0, -1).transformDirection(this.object.matrix).multiplyScalar(o).add(this.object.position) : ($n.origin.copy(this.object.position), $n.direction.set(0, 0, -1).transformDirection(this.object.matrix), Math.abs(this.object.up.dot($n.direction)) <
|
|
7552
|
+
o !== null && (this.screenSpacePanning ? this.target.set(0, 0, -1).transformDirection(this.object.matrix).multiplyScalar(o).add(this.object.position) : ($n.origin.copy(this.object.position), $n.direction.set(0, 0, -1).transformDirection(this.object.matrix), Math.abs(this.object.up.dot($n.direction)) < gl ? this.object.lookAt(this.target) : (go.setFromNormalAndCoplanarPoint(this.object.up, this.target), $n.intersectPlane(go, this.target))));
|
|
7545
7553
|
} else if (this.object.isOrthographicCamera) {
|
|
7546
7554
|
const o = this.object.zoom;
|
|
7547
7555
|
this.object.zoom = Math.max(this.minZoom, Math.min(this.maxZoom, this.object.zoom / this._scale)), Math.abs(o - this.object.zoom) > Xt && (this.object.updateProjectionMatrix(), i = !0);
|
|
7548
7556
|
}
|
|
7549
|
-
return this._scale = 1, i || this._lastPosition.distanceToSquared(this.object.position) > Xt || 8 * (1 - this._lastQuaternion.dot(this.object.quaternion)) > Xt || this._lastTargetPosition.distanceToSquared(this.target) > Xt ? (this.dispatchEvent(uo), this._lastPosition.copy(this.object.position), this._lastQuaternion.copy(this.object.quaternion), this._lastTargetPosition.copy(this.target), this._lastIsDamping = !0, this._isDamping = !0, !0) : (this._lastPosition.copy(this.object.position), this._lastQuaternion.copy(this.object.quaternion), this._lastTargetPosition.copy(this.target), this.state === de.NONE && (this._lastIsDamping = this._isDamping, this._isDamping = !1), this._lastIsDamping && !this._isDamping && this.state === de.NONE && (this._isDamping = !1, this._lastIsDamping = !1, this.dispatchEvent(
|
|
7557
|
+
return this._scale = 1, i || this._lastPosition.distanceToSquared(this.object.position) > Xt || 8 * (1 - this._lastQuaternion.dot(this.object.quaternion)) > Xt || this._lastTargetPosition.distanceToSquared(this.target) > Xt ? (this.dispatchEvent(uo), this._lastPosition.copy(this.object.position), this._lastQuaternion.copy(this.object.quaternion), this._lastTargetPosition.copy(this.target), this._lastIsDamping = !0, this._isDamping = !0, !0) : (this._lastPosition.copy(this.object.position), this._lastQuaternion.copy(this.object.quaternion), this._lastTargetPosition.copy(this.target), this.state === de.NONE && (this._lastIsDamping = this._isDamping, this._isDamping = !1), this._lastIsDamping && !this._isDamping && this.state === de.NONE && (this._isDamping = !1, this._lastIsDamping = !1, this.dispatchEvent(ul)), this._performCursorZoom = !1, !1);
|
|
7550
7558
|
}
|
|
7551
7559
|
_getAutoRotationAngle(e) {
|
|
7552
7560
|
return e !== null ? Ke / 60 * this.autoRotateSpeed * e : Ke / 60 / 60 * this.autoRotateSpeed;
|
|
@@ -7737,13 +7745,13 @@ let Uh = class extends Yo {
|
|
|
7737
7745
|
return e.ctrlKey && !this._controlActive && (s.deltaY *= 10), s;
|
|
7738
7746
|
}
|
|
7739
7747
|
};
|
|
7740
|
-
function
|
|
7748
|
+
function dl(A) {
|
|
7741
7749
|
this.enabled !== !1 && (this._pointers.length === 0 && (this.domElement.setPointerCapture(A.pointerId), this.domElement.addEventListener("pointermove", this._onPointerMove), window.addEventListener("pointerup", this._onPointerUp)), !this._isTrackingPointer(A) && (this._addPointer(A), A.pointerType === "touch" ? this._onTouchStart(A) : this._onMouseDown(A)));
|
|
7742
7750
|
}
|
|
7743
|
-
function
|
|
7751
|
+
function pl(A) {
|
|
7744
7752
|
this.enabled !== !1 && (A.pointerType === "touch" ? this._onTouchMove(A) : this._onMouseMove(A));
|
|
7745
7753
|
}
|
|
7746
|
-
function
|
|
7754
|
+
function fl(A) {
|
|
7747
7755
|
switch (this._removePointer(A), this._pointers.length) {
|
|
7748
7756
|
case 0:
|
|
7749
7757
|
this.domElement.releasePointerCapture(A.pointerId), this.domElement.removeEventListener("pointermove", this._onPointerMove), window.removeEventListener("pointerup", this._onPointerUp), this.dispatchEvent(_r), this.state = de.NONE;
|
|
@@ -7754,7 +7762,7 @@ function dl(A) {
|
|
|
7754
7762
|
break;
|
|
7755
7763
|
}
|
|
7756
7764
|
}
|
|
7757
|
-
function
|
|
7765
|
+
function Il(A) {
|
|
7758
7766
|
let e;
|
|
7759
7767
|
switch (A.button) {
|
|
7760
7768
|
case 0:
|
|
@@ -7797,7 +7805,7 @@ function pl(A) {
|
|
|
7797
7805
|
}
|
|
7798
7806
|
this.state !== de.NONE && this.dispatchEvent(xi);
|
|
7799
7807
|
}
|
|
7800
|
-
function
|
|
7808
|
+
function ml(A) {
|
|
7801
7809
|
switch (this.state) {
|
|
7802
7810
|
case de.ROTATE:
|
|
7803
7811
|
if (this.enableRotate === !1) return;
|
|
@@ -7813,13 +7821,13 @@ function fl(A) {
|
|
|
7813
7821
|
break;
|
|
7814
7822
|
}
|
|
7815
7823
|
}
|
|
7816
|
-
function
|
|
7824
|
+
function El(A) {
|
|
7817
7825
|
this.enabled === !1 || this.enableZoom === !1 || this.state !== de.NONE || (A.preventDefault(), this.dispatchEvent(xi), this._handleMouseWheel(this._customWheelEvent(A)), this.dispatchEvent(_r));
|
|
7818
7826
|
}
|
|
7819
|
-
function
|
|
7827
|
+
function bl(A) {
|
|
7820
7828
|
this.enabled === !1 || this.enablePan === !1 || this._handleKeyDown(A);
|
|
7821
7829
|
}
|
|
7822
|
-
function
|
|
7830
|
+
function Cl(A) {
|
|
7823
7831
|
switch (this._trackPointer(A), this._pointers.length) {
|
|
7824
7832
|
case 1:
|
|
7825
7833
|
switch (this.touches.ONE) {
|
|
@@ -7854,7 +7862,7 @@ function El(A) {
|
|
|
7854
7862
|
}
|
|
7855
7863
|
this.state !== de.NONE && this.dispatchEvent(xi);
|
|
7856
7864
|
}
|
|
7857
|
-
function
|
|
7865
|
+
function Bl(A) {
|
|
7858
7866
|
switch (this._trackPointer(A), this.state) {
|
|
7859
7867
|
case de.TOUCH_ROTATE:
|
|
7860
7868
|
if (this.enableRotate === !1) return;
|
|
@@ -7876,16 +7884,16 @@ function bl(A) {
|
|
|
7876
7884
|
this.state = de.NONE;
|
|
7877
7885
|
}
|
|
7878
7886
|
}
|
|
7879
|
-
function
|
|
7887
|
+
function wl(A) {
|
|
7880
7888
|
this.enabled !== !1 && A.preventDefault();
|
|
7881
7889
|
}
|
|
7882
|
-
function
|
|
7890
|
+
function yl(A) {
|
|
7883
7891
|
A.key === "Control" && (this._controlActive = !0, this.domElement.getRootNode().addEventListener("keyup", this._interceptControlUp, { passive: !0, capture: !0 }));
|
|
7884
7892
|
}
|
|
7885
|
-
function
|
|
7893
|
+
function Ql(A) {
|
|
7886
7894
|
A.key === "Control" && (this._controlActive = !1, this.domElement.getRootNode().removeEventListener("keyup", this._interceptControlUp, { passive: !0, capture: !0 }));
|
|
7887
7895
|
}
|
|
7888
|
-
class
|
|
7896
|
+
class Hh extends pt {
|
|
7889
7897
|
constructor(e, t = 1, s = 16, n = 2) {
|
|
7890
7898
|
const i = new ut(), o = s + n * 2, r = new Float32Array((o * 3 + 3) * 3);
|
|
7891
7899
|
i.setAttribute("position", new st(r, 3));
|
|
@@ -7909,7 +7917,7 @@ class Ph extends pt {
|
|
|
7909
7917
|
this.geometry.dispose(), this.material[0].dispose(), this.material[1].dispose();
|
|
7910
7918
|
}
|
|
7911
7919
|
}
|
|
7912
|
-
const
|
|
7920
|
+
const jh = {
|
|
7913
7921
|
name: "HorizontalBlurShader",
|
|
7914
7922
|
uniforms: {
|
|
7915
7923
|
tDiffuse: { value: null },
|
|
@@ -7955,7 +7963,7 @@ const Oh = {
|
|
|
7955
7963
|
|
|
7956
7964
|
}`
|
|
7957
7965
|
)
|
|
7958
|
-
},
|
|
7966
|
+
}, qh = {
|
|
7959
7967
|
name: "VerticalBlurShader",
|
|
7960
7968
|
uniforms: {
|
|
7961
7969
|
tDiffuse: { value: null },
|
|
@@ -8066,33 +8074,33 @@ const po = {
|
|
|
8066
8074
|
class Mr {
|
|
8067
8075
|
constructor() {
|
|
8068
8076
|
this.pluginCallbacks = [], this.register(function(e) {
|
|
8069
|
-
return new
|
|
8070
|
-
}), this.register(function(e) {
|
|
8071
|
-
return new Fl(e);
|
|
8072
|
-
}), this.register(function(e) {
|
|
8073
|
-
return new Ul(e);
|
|
8077
|
+
return new kl(e);
|
|
8074
8078
|
}), this.register(function(e) {
|
|
8075
|
-
return new
|
|
8079
|
+
return new Ll(e);
|
|
8076
8080
|
}), this.register(function(e) {
|
|
8077
8081
|
return new Pl(e);
|
|
8078
8082
|
}), this.register(function(e) {
|
|
8079
8083
|
return new Ol(e);
|
|
8080
8084
|
}), this.register(function(e) {
|
|
8081
|
-
return new
|
|
8085
|
+
return new Hl(e);
|
|
8082
8086
|
}), this.register(function(e) {
|
|
8083
|
-
return new
|
|
8087
|
+
return new jl(e);
|
|
8084
8088
|
}), this.register(function(e) {
|
|
8085
8089
|
return new Nl(e);
|
|
8086
8090
|
}), this.register(function(e) {
|
|
8087
|
-
return new
|
|
8091
|
+
return new Ul(e);
|
|
8088
8092
|
}), this.register(function(e) {
|
|
8089
|
-
return new
|
|
8093
|
+
return new Gl(e);
|
|
8090
8094
|
}), this.register(function(e) {
|
|
8091
8095
|
return new ql(e);
|
|
8092
8096
|
}), this.register(function(e) {
|
|
8093
8097
|
return new zl(e);
|
|
8094
8098
|
}), this.register(function(e) {
|
|
8095
8099
|
return new Yl(e);
|
|
8100
|
+
}), this.register(function(e) {
|
|
8101
|
+
return new Kl(e);
|
|
8102
|
+
}), this.register(function(e) {
|
|
8103
|
+
return new Jl(e);
|
|
8096
8104
|
});
|
|
8097
8105
|
}
|
|
8098
8106
|
register(e) {
|
|
@@ -8109,7 +8117,7 @@ class Mr {
|
|
|
8109
8117
|
* @param {Object} options options
|
|
8110
8118
|
*/
|
|
8111
8119
|
parse(e, t, s, n) {
|
|
8112
|
-
const i = new
|
|
8120
|
+
const i = new Fl(), o = [];
|
|
8113
8121
|
for (let r = 0, a = this.pluginCallbacks.length; r < a; r++)
|
|
8114
8122
|
o.push(this.pluginCallbacks[r](i));
|
|
8115
8123
|
i.setPlugins(o), i.write(e, t, n).catch(s);
|
|
@@ -8160,19 +8168,19 @@ const fo = {
|
|
|
8160
8168
|
position: "translation",
|
|
8161
8169
|
quaternion: "rotation",
|
|
8162
8170
|
morphTargetInfluences: "weights"
|
|
8163
|
-
},
|
|
8171
|
+
}, xl = new Se(), Io = 12, Sl = 1179937895, Tl = 2, mo = 8, vl = 1313821514, Dl = 5130562;
|
|
8164
8172
|
function Nn(A, e) {
|
|
8165
8173
|
return A.length === e.length && A.every(function(t, s) {
|
|
8166
8174
|
return t === e[s];
|
|
8167
8175
|
});
|
|
8168
8176
|
}
|
|
8169
|
-
function
|
|
8177
|
+
function Rl(A) {
|
|
8170
8178
|
return new TextEncoder().encode(A).buffer;
|
|
8171
8179
|
}
|
|
8172
|
-
function
|
|
8180
|
+
function _l(A) {
|
|
8173
8181
|
return Nn(A.elements, [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1]);
|
|
8174
8182
|
}
|
|
8175
|
-
function
|
|
8183
|
+
function Ml(A, e, t) {
|
|
8176
8184
|
const s = {
|
|
8177
8185
|
min: new Array(A.itemSize).fill(Number.POSITIVE_INFINITY),
|
|
8178
8186
|
max: new Array(A.itemSize).fill(Number.NEGATIVE_INFINITY)
|
|
@@ -8210,7 +8218,7 @@ function bo(A, e) {
|
|
|
8210
8218
|
quality: t
|
|
8211
8219
|
});
|
|
8212
8220
|
}
|
|
8213
|
-
class
|
|
8221
|
+
class Fl {
|
|
8214
8222
|
constructor() {
|
|
8215
8223
|
this.plugins = [], this.options = {}, this.pending = [], this.buffers = [], this.byteOffset = 0, this.buffers = [], this.nodeMap = /* @__PURE__ */ new Map(), this.skins = [], this.extensionsUsed = {}, this.extensionsRequired = {}, this.uids = /* @__PURE__ */ new Map(), this.uid = 0, this.json = {
|
|
8216
8224
|
asset: {
|
|
@@ -8252,11 +8260,11 @@ class _l {
|
|
|
8252
8260
|
const g = new FileReader();
|
|
8253
8261
|
g.readAsArrayBuffer(c), g.onloadend = function() {
|
|
8254
8262
|
const d = Ps(g.result), f = new DataView(new ArrayBuffer(mo));
|
|
8255
|
-
f.setUint32(0, d.byteLength, !0), f.setUint32(4,
|
|
8256
|
-
const I = Ps(
|
|
8257
|
-
m.setUint32(0, I.byteLength, !0), m.setUint32(4,
|
|
8263
|
+
f.setUint32(0, d.byteLength, !0), f.setUint32(4, Dl, !0);
|
|
8264
|
+
const I = Ps(Rl(JSON.stringify(o)), 32), m = new DataView(new ArrayBuffer(mo));
|
|
8265
|
+
m.setUint32(0, I.byteLength, !0), m.setUint32(4, vl, !0);
|
|
8258
8266
|
const C = new ArrayBuffer(Io), w = new DataView(C);
|
|
8259
|
-
w.setUint32(0,
|
|
8267
|
+
w.setUint32(0, Sl, !0), w.setUint32(4, Tl, !0);
|
|
8260
8268
|
const b = Io + m.byteLength + I.byteLength + f.byteLength + d.byteLength;
|
|
8261
8269
|
w.setUint32(8, b, !0);
|
|
8262
8270
|
const B = new Blob([
|
|
@@ -8495,7 +8503,7 @@ class _l {
|
|
|
8495
8503
|
else
|
|
8496
8504
|
throw new Error("THREE.GLTFExporter: Unsupported bufferAttribute component type: " + e.array.constructor.name);
|
|
8497
8505
|
if (s === void 0 && (s = 0), (n === void 0 || n === 1 / 0) && (n = e.count), n === 0) return null;
|
|
8498
|
-
const a =
|
|
8506
|
+
const a = Ml(e, s, n);
|
|
8499
8507
|
let c;
|
|
8500
8508
|
t !== void 0 && (c = e === t.index ? Ae.ELEMENT_ARRAY_BUFFER : Ae.ARRAY_BUFFER);
|
|
8501
8509
|
const l = this.processBufferView(e, r, s, n, c), h = {
|
|
@@ -8895,7 +8903,7 @@ class _l {
|
|
|
8895
8903
|
const a = e.quaternion.toArray(), c = e.position.toArray(), l = e.scale.toArray();
|
|
8896
8904
|
Nn(a, [0, 0, 0, 1]) || (o.rotation = a), Nn(c, [0, 0, 0]) || (o.translation = c), Nn(l, [1, 1, 1]) || (o.scale = l);
|
|
8897
8905
|
} else
|
|
8898
|
-
e.matrixAutoUpdate && e.updateMatrix(),
|
|
8906
|
+
e.matrixAutoUpdate && e.updateMatrix(), _l(e.matrix) === !1 && (o.matrix = e.matrix.elements);
|
|
8899
8907
|
if (e.name !== "" && (o.name = String(e.name)), this.serializeUserData(e, o), e.isMesh || e.isLine || e.isPoints) {
|
|
8900
8908
|
const a = this.processMesh(e);
|
|
8901
8909
|
a !== null && (o.mesh = a);
|
|
@@ -8972,7 +8980,7 @@ class _l {
|
|
|
8972
8980
|
e(this.plugins[t]);
|
|
8973
8981
|
}
|
|
8974
8982
|
}
|
|
8975
|
-
class
|
|
8983
|
+
class kl {
|
|
8976
8984
|
constructor(e) {
|
|
8977
8985
|
this.writer = e, this.name = "KHR_lights_punctual";
|
|
8978
8986
|
}
|
|
@@ -8988,7 +8996,7 @@ class Ml {
|
|
|
8988
8996
|
r.push(o), t.extensions = t.extensions || {}, t.extensions[this.name] = { light: r.length - 1 };
|
|
8989
8997
|
}
|
|
8990
8998
|
}
|
|
8991
|
-
class
|
|
8999
|
+
class Ll {
|
|
8992
9000
|
constructor(e) {
|
|
8993
9001
|
this.writer = e, this.name = "KHR_materials_unlit";
|
|
8994
9002
|
}
|
|
@@ -8998,7 +9006,7 @@ class Fl {
|
|
|
8998
9006
|
t.extensions = t.extensions || {}, t.extensions[this.name] = {}, n[this.name] = !0, t.pbrMetallicRoughness.metallicFactor = 0, t.pbrMetallicRoughness.roughnessFactor = 0.9;
|
|
8999
9007
|
}
|
|
9000
9008
|
}
|
|
9001
|
-
class
|
|
9009
|
+
class Nl {
|
|
9002
9010
|
constructor(e) {
|
|
9003
9011
|
this.writer = e, this.name = "KHR_materials_clearcoat";
|
|
9004
9012
|
}
|
|
@@ -9029,7 +9037,7 @@ class kl {
|
|
|
9029
9037
|
t.extensions = t.extensions || {}, t.extensions[this.name] = i, n[this.name] = !0;
|
|
9030
9038
|
}
|
|
9031
9039
|
}
|
|
9032
|
-
class
|
|
9040
|
+
class Ul {
|
|
9033
9041
|
constructor(e) {
|
|
9034
9042
|
this.writer = e, this.name = "KHR_materials_dispersion";
|
|
9035
9043
|
}
|
|
@@ -9039,7 +9047,7 @@ class Ll {
|
|
|
9039
9047
|
i.dispersion = e.dispersion, t.extensions = t.extensions || {}, t.extensions[this.name] = i, n[this.name] = !0;
|
|
9040
9048
|
}
|
|
9041
9049
|
}
|
|
9042
|
-
class
|
|
9050
|
+
class Gl {
|
|
9043
9051
|
constructor(e) {
|
|
9044
9052
|
this.writer = e, this.name = "KHR_materials_iridescence";
|
|
9045
9053
|
}
|
|
@@ -9063,7 +9071,7 @@ class Nl {
|
|
|
9063
9071
|
t.extensions = t.extensions || {}, t.extensions[this.name] = i, n[this.name] = !0;
|
|
9064
9072
|
}
|
|
9065
9073
|
}
|
|
9066
|
-
class
|
|
9074
|
+
class Pl {
|
|
9067
9075
|
constructor(e) {
|
|
9068
9076
|
this.writer = e, this.name = "KHR_materials_transmission";
|
|
9069
9077
|
}
|
|
@@ -9080,7 +9088,7 @@ class Ul {
|
|
|
9080
9088
|
t.extensions = t.extensions || {}, t.extensions[this.name] = i, n[this.name] = !0;
|
|
9081
9089
|
}
|
|
9082
9090
|
}
|
|
9083
|
-
class
|
|
9091
|
+
class Ol {
|
|
9084
9092
|
constructor(e) {
|
|
9085
9093
|
this.writer = e, this.name = "KHR_materials_volume";
|
|
9086
9094
|
}
|
|
@@ -9097,7 +9105,7 @@ class Gl {
|
|
|
9097
9105
|
e.attenuationDistance !== 1 / 0 && (i.attenuationDistance = e.attenuationDistance), i.attenuationColor = e.attenuationColor.toArray(), t.extensions = t.extensions || {}, t.extensions[this.name] = i, n[this.name] = !0;
|
|
9098
9106
|
}
|
|
9099
9107
|
}
|
|
9100
|
-
class
|
|
9108
|
+
class Hl {
|
|
9101
9109
|
constructor(e) {
|
|
9102
9110
|
this.writer = e, this.name = "KHR_materials_ior";
|
|
9103
9111
|
}
|
|
@@ -9107,12 +9115,12 @@ class Pl {
|
|
|
9107
9115
|
i.ior = e.ior, t.extensions = t.extensions || {}, t.extensions[this.name] = i, n[this.name] = !0;
|
|
9108
9116
|
}
|
|
9109
9117
|
}
|
|
9110
|
-
class
|
|
9118
|
+
class jl {
|
|
9111
9119
|
constructor(e) {
|
|
9112
9120
|
this.writer = e, this.name = "KHR_materials_specular";
|
|
9113
9121
|
}
|
|
9114
9122
|
writeMaterial(e, t) {
|
|
9115
|
-
if (!e.isMeshPhysicalMaterial || e.specularIntensity === 1 && e.specularColor.equals(
|
|
9123
|
+
if (!e.isMeshPhysicalMaterial || e.specularIntensity === 1 && e.specularColor.equals(xl) && !e.specularIntensityMap && !e.specularColorMap) return;
|
|
9116
9124
|
const s = this.writer, n = s.extensionsUsed, i = {};
|
|
9117
9125
|
if (e.specularIntensityMap) {
|
|
9118
9126
|
const o = {
|
|
@@ -9131,7 +9139,7 @@ class Ol {
|
|
|
9131
9139
|
i.specularFactor = e.specularIntensity, i.specularColorFactor = e.specularColor.toArray(), t.extensions = t.extensions || {}, t.extensions[this.name] = i, n[this.name] = !0;
|
|
9132
9140
|
}
|
|
9133
9141
|
}
|
|
9134
|
-
class
|
|
9142
|
+
class ql {
|
|
9135
9143
|
constructor(e) {
|
|
9136
9144
|
this.writer = e, this.name = "KHR_materials_sheen";
|
|
9137
9145
|
}
|
|
@@ -9155,7 +9163,7 @@ class Hl {
|
|
|
9155
9163
|
i.sheenRoughnessFactor = e.sheenRoughness, i.sheenColorFactor = e.sheenColor.toArray(), t.extensions = t.extensions || {}, t.extensions[this.name] = i, n[this.name] = !0;
|
|
9156
9164
|
}
|
|
9157
9165
|
}
|
|
9158
|
-
class
|
|
9166
|
+
class zl {
|
|
9159
9167
|
constructor(e) {
|
|
9160
9168
|
this.writer = e, this.name = "KHR_materials_anisotropy";
|
|
9161
9169
|
}
|
|
@@ -9169,7 +9177,7 @@ class jl {
|
|
|
9169
9177
|
i.anisotropyStrength = e.anisotropy, i.anisotropyRotation = e.anisotropyRotation, t.extensions = t.extensions || {}, t.extensions[this.name] = i, n[this.name] = !0;
|
|
9170
9178
|
}
|
|
9171
9179
|
}
|
|
9172
|
-
class
|
|
9180
|
+
class Yl {
|
|
9173
9181
|
constructor(e) {
|
|
9174
9182
|
this.writer = e, this.name = "KHR_materials_emissive_strength";
|
|
9175
9183
|
}
|
|
@@ -9179,7 +9187,7 @@ class ql {
|
|
|
9179
9187
|
i.emissiveStrength = e.emissiveIntensity, t.extensions = t.extensions || {}, t.extensions[this.name] = i, n[this.name] = !0;
|
|
9180
9188
|
}
|
|
9181
9189
|
}
|
|
9182
|
-
class
|
|
9190
|
+
class Kl {
|
|
9183
9191
|
constructor(e) {
|
|
9184
9192
|
this.writer = e, this.name = "EXT_materials_bump";
|
|
9185
9193
|
}
|
|
@@ -9196,7 +9204,7 @@ class zl {
|
|
|
9196
9204
|
i.bumpFactor = e.bumpScale, t.extensions = t.extensions || {}, t.extensions[this.name] = i, n[this.name] = !0;
|
|
9197
9205
|
}
|
|
9198
9206
|
}
|
|
9199
|
-
class
|
|
9207
|
+
class Jl {
|
|
9200
9208
|
constructor(e) {
|
|
9201
9209
|
this.writer = e, this.name = "EXT_mesh_gpu_instancing";
|
|
9202
9210
|
}
|
|
@@ -9309,17 +9317,17 @@ async function kr(A) {
|
|
|
9309
9317
|
return e.json();
|
|
9310
9318
|
throw new Error(e.statusText);
|
|
9311
9319
|
}
|
|
9312
|
-
async function
|
|
9320
|
+
async function Vl(A) {
|
|
9313
9321
|
if (!A)
|
|
9314
9322
|
throw new Error("No basePath supplied");
|
|
9315
9323
|
return await kr(`${A}/profilesList.json`);
|
|
9316
9324
|
}
|
|
9317
|
-
async function
|
|
9325
|
+
async function Wl(A, e, t = null, s = !0) {
|
|
9318
9326
|
if (!A)
|
|
9319
9327
|
throw new Error("No xrInputSource supplied");
|
|
9320
9328
|
if (!e)
|
|
9321
9329
|
throw new Error("No basePath supplied");
|
|
9322
|
-
const n = await
|
|
9330
|
+
const n = await Vl(e);
|
|
9323
9331
|
let i;
|
|
9324
9332
|
if (A.profiles.some((a) => {
|
|
9325
9333
|
const c = n[a];
|
|
@@ -9352,13 +9360,13 @@ async function Jl(A, e, t = null, s = !0) {
|
|
|
9352
9360
|
}
|
|
9353
9361
|
return { profile: o, assetPath: r };
|
|
9354
9362
|
}
|
|
9355
|
-
const
|
|
9363
|
+
const Xl = {
|
|
9356
9364
|
xAxis: 0,
|
|
9357
9365
|
yAxis: 0,
|
|
9358
9366
|
button: 0,
|
|
9359
9367
|
state: ve.ComponentState.DEFAULT
|
|
9360
9368
|
};
|
|
9361
|
-
function
|
|
9369
|
+
function Zl(A = 0, e = 0) {
|
|
9362
9370
|
let t = A, s = e;
|
|
9363
9371
|
if (Math.sqrt(A * A + e * e) > 1) {
|
|
9364
9372
|
const o = Math.atan2(e, A);
|
|
@@ -9369,9 +9377,9 @@ function Wl(A = 0, e = 0) {
|
|
|
9369
9377
|
normalizedYAxis: s * 0.5 + 0.5
|
|
9370
9378
|
};
|
|
9371
9379
|
}
|
|
9372
|
-
class
|
|
9380
|
+
class $l {
|
|
9373
9381
|
constructor(e) {
|
|
9374
|
-
this.componentProperty = e.componentProperty, this.states = e.states, this.valueNodeName = e.valueNodeName, this.valueNodeProperty = e.valueNodeProperty, this.valueNodeProperty === ve.VisualResponseProperty.TRANSFORM && (this.minNodeName = e.minNodeName, this.maxNodeName = e.maxNodeName), this.value = 0, this.updateFromComponent(
|
|
9382
|
+
this.componentProperty = e.componentProperty, this.states = e.states, this.valueNodeName = e.valueNodeName, this.valueNodeProperty = e.valueNodeProperty, this.valueNodeProperty === ve.VisualResponseProperty.TRANSFORM && (this.minNodeName = e.minNodeName, this.maxNodeName = e.maxNodeName), this.value = 0, this.updateFromComponent(Xl);
|
|
9375
9383
|
}
|
|
9376
9384
|
/**
|
|
9377
9385
|
* Computes the visual response's interpolation weight based on component state
|
|
@@ -9387,7 +9395,7 @@ class Xl {
|
|
|
9387
9395
|
button: s,
|
|
9388
9396
|
state: n
|
|
9389
9397
|
}) {
|
|
9390
|
-
const { normalizedXAxis: i, normalizedYAxis: o } =
|
|
9398
|
+
const { normalizedXAxis: i, normalizedYAxis: o } = Zl(e, t);
|
|
9391
9399
|
switch (this.componentProperty) {
|
|
9392
9400
|
case ve.ComponentProperty.X_AXIS:
|
|
9393
9401
|
this.value = this.states.includes(n) ? i : 0.5;
|
|
@@ -9406,7 +9414,7 @@ class Xl {
|
|
|
9406
9414
|
}
|
|
9407
9415
|
}
|
|
9408
9416
|
}
|
|
9409
|
-
class
|
|
9417
|
+
class eh {
|
|
9410
9418
|
/**
|
|
9411
9419
|
* @param {Object} componentId - Id of the component
|
|
9412
9420
|
* @param {Object} componentDescription - Description of the component to be created
|
|
@@ -9415,7 +9423,7 @@ class Zl {
|
|
|
9415
9423
|
if (!e || !t || !t.visualResponses || !t.gamepadIndices || Object.keys(t.gamepadIndices).length === 0)
|
|
9416
9424
|
throw new Error("Invalid arguments supplied");
|
|
9417
9425
|
this.id = e, this.type = t.type, this.rootNodeName = t.rootNodeName, this.touchPointNodeName = t.touchPointNodeName, this.visualResponses = {}, Object.keys(t.visualResponses).forEach((s) => {
|
|
9418
|
-
const n = new
|
|
9426
|
+
const n = new $l(t.visualResponses[s]);
|
|
9419
9427
|
this.visualResponses[s] = n;
|
|
9420
9428
|
}), this.gamepadIndices = Object.assign({}, t.gamepadIndices), this.values = {
|
|
9421
9429
|
state: ve.ComponentState.DEFAULT,
|
|
@@ -9441,7 +9449,7 @@ class Zl {
|
|
|
9441
9449
|
});
|
|
9442
9450
|
}
|
|
9443
9451
|
}
|
|
9444
|
-
class
|
|
9452
|
+
class th {
|
|
9445
9453
|
/**
|
|
9446
9454
|
* @param {Object} xrInputSource - The XRInputSource to build the MotionController around
|
|
9447
9455
|
* @param {Object} profile - The best matched profile description for the supplied xrInputSource
|
|
@@ -9454,7 +9462,7 @@ class $l {
|
|
|
9454
9462
|
throw new Error("No profile supplied");
|
|
9455
9463
|
this.xrInputSource = e, this.assetUrl = s, this.id = t.profileId, this.layoutDescription = t.layouts[e.handedness], this.components = {}, Object.keys(this.layoutDescription.components).forEach((n) => {
|
|
9456
9464
|
const i = this.layoutDescription.components[n];
|
|
9457
|
-
this.components[n] = new
|
|
9465
|
+
this.components[n] = new eh(n, i);
|
|
9458
9466
|
}), this.updateFromGamepad();
|
|
9459
9467
|
}
|
|
9460
9468
|
get gripSpace() {
|
|
@@ -9481,8 +9489,8 @@ class $l {
|
|
|
9481
9489
|
});
|
|
9482
9490
|
}
|
|
9483
9491
|
}
|
|
9484
|
-
const
|
|
9485
|
-
class
|
|
9492
|
+
const nh = "https://cdn.jsdelivr.net/npm/@webxr-input-profiles/assets@1.0/dist/profiles", sh = "generic-trigger";
|
|
9493
|
+
class ih extends xt {
|
|
9486
9494
|
constructor() {
|
|
9487
9495
|
super(), this.motionController = null, this.envMap = null;
|
|
9488
9496
|
}
|
|
@@ -9512,7 +9520,7 @@ class nh extends xt {
|
|
|
9512
9520
|
}));
|
|
9513
9521
|
}
|
|
9514
9522
|
}
|
|
9515
|
-
function
|
|
9523
|
+
function oh(A, e) {
|
|
9516
9524
|
Object.values(A.components).forEach((t) => {
|
|
9517
9525
|
const { type: s, touchPointNodeName: n, visualResponses: i } = t;
|
|
9518
9526
|
if (s === ve.ComponentType.TOUCHPAD)
|
|
@@ -9538,26 +9546,26 @@ function sh(A, e) {
|
|
|
9538
9546
|
});
|
|
9539
9547
|
}
|
|
9540
9548
|
function Co(A, e) {
|
|
9541
|
-
|
|
9549
|
+
oh(A.motionController, e), A.envMap && e.traverse((t) => {
|
|
9542
9550
|
t.isMesh && (t.material.envMap = A.envMap, t.material.needsUpdate = !0);
|
|
9543
9551
|
}), A.layers.mask != 0 && e.traverse((t) => {
|
|
9544
9552
|
t.layers.mask = A.layers.mask;
|
|
9545
9553
|
}), A.add(e);
|
|
9546
9554
|
}
|
|
9547
|
-
class
|
|
9555
|
+
class zh {
|
|
9548
9556
|
constructor(e = null, t = null) {
|
|
9549
|
-
this.gltfLoader = e, this.path =
|
|
9557
|
+
this.gltfLoader = e, this.path = nh, this._assetCache = {}, this.onLoad = t, this.gltfLoader || (this.gltfLoader = new Zo());
|
|
9550
9558
|
}
|
|
9551
9559
|
setPath(e) {
|
|
9552
9560
|
return this.path = e, this;
|
|
9553
9561
|
}
|
|
9554
9562
|
createControllerModel(e) {
|
|
9555
|
-
const t = new
|
|
9563
|
+
const t = new ih();
|
|
9556
9564
|
let s = null;
|
|
9557
9565
|
return e.addEventListener("connected", (n) => {
|
|
9558
9566
|
const i = n.data;
|
|
9559
|
-
i.targetRayMode !== "tracked-pointer" || !i.gamepad || i.hand ||
|
|
9560
|
-
t.motionController = new
|
|
9567
|
+
i.targetRayMode !== "tracked-pointer" || !i.gamepad || i.hand || Wl(i, this.path, sh).then(({ profile: o, assetPath: r }) => {
|
|
9568
|
+
t.motionController = new th(
|
|
9561
9569
|
i,
|
|
9562
9570
|
o,
|
|
9563
9571
|
r
|
|
@@ -9587,10 +9595,10 @@ class jh {
|
|
|
9587
9595
|
}), t;
|
|
9588
9596
|
}
|
|
9589
9597
|
}
|
|
9590
|
-
const
|
|
9591
|
-
class
|
|
9598
|
+
const rh = "https://cdn.jsdelivr.net/npm/@webxr-input-profiles/assets@1.0/dist/profiles/generic-hand/";
|
|
9599
|
+
class Yh {
|
|
9592
9600
|
constructor(e, t, s, n, i = null, o = null) {
|
|
9593
|
-
this.controller = t, this.handModel = e, this.bones = [], i === null && (i = new Zo(), i.setPath(s ||
|
|
9601
|
+
this.controller = t, this.handModel = e, this.bones = [], i === null && (i = new Zo(), i.setPath(s || rh)), i.load(`${n}.glb`, (r) => {
|
|
9594
9602
|
const a = r.scene.children[0];
|
|
9595
9603
|
this.handModel.add(a), a.layers.mask = this.handModel.layers.mask;
|
|
9596
9604
|
const c = a.getObjectByProperty("type", "SkinnedMesh");
|
|
@@ -10177,7 +10185,7 @@ let yt, sn;
|
|
|
10177
10185
|
function xo(A, e, t) {
|
|
10178
10186
|
return Bt.set(0, 0, -e, 1).applyMatrix4(A.projectionMatrix), Bt.multiplyScalar(1 / Bt.w), Bt.x = sn / t.width, Bt.y = sn / t.height, Bt.applyMatrix4(A.projectionMatrixInverse), Bt.multiplyScalar(1 / Bt.w), Math.abs(Math.max(Bt.x, Bt.y));
|
|
10179
10187
|
}
|
|
10180
|
-
function
|
|
10188
|
+
function ah(A, e) {
|
|
10181
10189
|
const t = A.matrixWorld, s = A.geometry, n = s.attributes.instanceStart, i = s.attributes.instanceEnd, o = Math.min(s.instanceCount, n.count);
|
|
10182
10190
|
for (let r = 0, a = o; r < a; r++) {
|
|
10183
10191
|
Pe.start.fromBufferAttribute(n, r), Pe.end.fromBufferAttribute(i, r), Pe.applyMatrix4(t);
|
|
@@ -10194,7 +10202,7 @@ function oh(A, e) {
|
|
|
10194
10202
|
});
|
|
10195
10203
|
}
|
|
10196
10204
|
}
|
|
10197
|
-
function
|
|
10205
|
+
function Ah(A, e, t) {
|
|
10198
10206
|
const s = e.projectionMatrix, i = A.material.resolution, o = A.matrixWorld, r = A.geometry, a = r.attributes.instanceStart, c = r.attributes.instanceEnd, l = Math.min(r.instanceCount, a.count), h = -e.near;
|
|
10199
10207
|
yt.at(1, Ct), Ct.w = 1, Ct.applyMatrix4(e.matrixWorldInverse), Ct.applyMatrix4(s), Ct.multiplyScalar(1 / Ct.w), Ct.x *= i.x / 2, Ct.y *= i.y / 2, Ct.z = 0, Hs.copy(Ct), js.multiplyMatrices(e.matrixWorldInverse, o);
|
|
10200
10208
|
for (let g = 0, d = l; g < d; g++) {
|
|
@@ -10227,7 +10235,7 @@ function rh(A, e, t) {
|
|
|
10227
10235
|
}
|
|
10228
10236
|
}
|
|
10229
10237
|
}
|
|
10230
|
-
class
|
|
10238
|
+
class ch extends q {
|
|
10231
10239
|
constructor(e = new Lr(), t = new Nr({ color: Math.random() * 16777215 })) {
|
|
10232
10240
|
super(e, t), this.isLineSegments2 = !0, this.type = "LineSegments2";
|
|
10233
10241
|
}
|
|
@@ -10263,14 +10271,14 @@ class ah extends q {
|
|
|
10263
10271
|
const h = Math.max(n.near, ns.distanceToPoint(yt.origin));
|
|
10264
10272
|
l = xo(n, h, a.resolution);
|
|
10265
10273
|
}
|
|
10266
|
-
ns.expandByScalar(l), yt.intersectsBox(ns) !== !1 && (s ?
|
|
10274
|
+
ns.expandByScalar(l), yt.intersectsBox(ns) !== !1 && (s ? ah(this, t) : Ah(this, n, t));
|
|
10267
10275
|
}
|
|
10268
10276
|
onBeforeRender(e) {
|
|
10269
10277
|
const t = this.material.uniforms;
|
|
10270
10278
|
t && t.resolution && (e.getViewport(Os), this.material.uniforms.resolution.value.set(Os.z, Os.w));
|
|
10271
10279
|
}
|
|
10272
10280
|
}
|
|
10273
|
-
class
|
|
10281
|
+
class lh extends Lr {
|
|
10274
10282
|
constructor() {
|
|
10275
10283
|
super(), this.isLineGeometry = !0, this.type = "LineGeometry";
|
|
10276
10284
|
}
|
|
@@ -10291,14 +10299,14 @@ class Ah extends Lr {
|
|
|
10291
10299
|
return this.setPositions(t.attributes.position.array), this;
|
|
10292
10300
|
}
|
|
10293
10301
|
}
|
|
10294
|
-
class
|
|
10295
|
-
constructor(e = new
|
|
10302
|
+
class Kh extends ch {
|
|
10303
|
+
constructor(e = new lh(), t = new Nr({ color: Math.random() * 16777215 })) {
|
|
10296
10304
|
super(e, t), this.isLine2 = !0, this.type = "Line2";
|
|
10297
10305
|
}
|
|
10298
10306
|
}
|
|
10299
|
-
class
|
|
10307
|
+
class Jh extends q {
|
|
10300
10308
|
constructor(e) {
|
|
10301
|
-
const t = new
|
|
10309
|
+
const t = new hh(e), s = new Ci(t.image.width * 1e-3, t.image.height * 1e-3), n = new Qt({ map: t, toneMapped: !1, transparent: !0 });
|
|
10302
10310
|
super(s, n);
|
|
10303
10311
|
function i(o) {
|
|
10304
10312
|
n.map.dispatchDOMEvent(o);
|
|
@@ -10308,7 +10316,7 @@ class Yh extends q {
|
|
|
10308
10316
|
};
|
|
10309
10317
|
}
|
|
10310
10318
|
}
|
|
10311
|
-
class
|
|
10319
|
+
class hh extends Wo {
|
|
10312
10320
|
constructor(e) {
|
|
10313
10321
|
super(So(e)), this.dom = e, this.anisotropy = 16, this.colorSpace = ge, this.minFilter = rt, this.magFilter = rt;
|
|
10314
10322
|
const t = new MutationObserver(() => {
|
|
@@ -10317,7 +10325,7 @@ class ch extends Wo {
|
|
|
10317
10325
|
t.observe(e, s), this.observer = t;
|
|
10318
10326
|
}
|
|
10319
10327
|
dispatchDOMEvent(e) {
|
|
10320
|
-
e.data &&
|
|
10328
|
+
e.data && uh(this.dom, e.type, e.data.x, e.data.y);
|
|
10321
10329
|
}
|
|
10322
10330
|
update() {
|
|
10323
10331
|
this.image = So(this.dom), this.needsUpdate = !0, this.scheduleUpdate = null;
|
|
@@ -10429,7 +10437,7 @@ function So(A) {
|
|
|
10429
10437
|
), h = new s(l);
|
|
10430
10438
|
return l.clearRect(0, 0, c.width, c.height), r(A), c;
|
|
10431
10439
|
}
|
|
10432
|
-
function
|
|
10440
|
+
function uh(A, e, t, s) {
|
|
10433
10441
|
const n = {
|
|
10434
10442
|
clientX: t * A.offsetWidth + A.offsetLeft,
|
|
10435
10443
|
clientY: s * A.offsetHeight + A.offsetTop,
|
|
@@ -10452,7 +10460,7 @@ function lh(A, e, t, s) {
|
|
|
10452
10460
|
o(A);
|
|
10453
10461
|
}
|
|
10454
10462
|
const As = new Le(), un = { type: "", data: As }, To = new bi();
|
|
10455
|
-
class
|
|
10463
|
+
class Vh extends nn {
|
|
10456
10464
|
listenToPointerEvents(e, t) {
|
|
10457
10465
|
const s = this, n = new bi(), i = e.domElement;
|
|
10458
10466
|
function o(r) {
|
|
@@ -10487,7 +10495,7 @@ class Kh extends nn {
|
|
|
10487
10495
|
}
|
|
10488
10496
|
}
|
|
10489
10497
|
const Dn = new P(), Rn = new P(), vo = new Jo();
|
|
10490
|
-
class
|
|
10498
|
+
class Wh extends hs {
|
|
10491
10499
|
constructor(e, t = 1, s = 16711680) {
|
|
10492
10500
|
const n = new ut(), i = e.geometry.attributes.normal.count, o = new Fe(i * 2 * 3, 3);
|
|
10493
10501
|
n.setAttribute("position", o), super(n, new Ft({ color: s, toneMapped: !1 })), this.object = e, this.size = t, this.type = "VertexNormalsHelper", this.matrixAutoUpdate = !1, this.update();
|
|
@@ -10507,7 +10515,7 @@ class Jh extends hs {
|
|
|
10507
10515
|
this.geometry.dispose(), this.material.dispose();
|
|
10508
10516
|
}
|
|
10509
10517
|
}
|
|
10510
|
-
class
|
|
10518
|
+
class Xh {
|
|
10511
10519
|
constructor() {
|
|
10512
10520
|
this.isPass = !0, this.enabled = !0, this.needsSwap = !0, this.clear = !1, this.renderToScreen = !1;
|
|
10513
10521
|
}
|
|
@@ -10520,44 +10528,46 @@ class Vh {
|
|
|
10520
10528
|
}
|
|
10521
10529
|
}
|
|
10522
10530
|
new No(-1, 1, 1, -1, 0, 1);
|
|
10523
|
-
class
|
|
10531
|
+
class gh extends ut {
|
|
10524
10532
|
constructor() {
|
|
10525
10533
|
super(), this.setAttribute("position", new Fe([-1, 3, 0, -1, -1, 0, 3, -1, 0], 3)), this.setAttribute("uv", new Fe([0, 2, 0, 0, 2, 0], 2));
|
|
10526
10534
|
}
|
|
10527
10535
|
}
|
|
10528
|
-
new
|
|
10536
|
+
new gh();
|
|
10529
10537
|
export {
|
|
10530
|
-
|
|
10531
|
-
|
|
10532
|
-
Lh as
|
|
10538
|
+
Rh as DRACOLoader,
|
|
10539
|
+
Uc as EXRLoader,
|
|
10540
|
+
Lh as EXRLoader$1,
|
|
10541
|
+
Uh as FBXLoader,
|
|
10533
10542
|
lc as Font,
|
|
10534
|
-
|
|
10543
|
+
Mh as FontLoader,
|
|
10535
10544
|
Mr as GLTFExporter,
|
|
10536
10545
|
Zo as GLTFLoader,
|
|
10537
|
-
|
|
10538
|
-
|
|
10539
|
-
|
|
10540
|
-
|
|
10546
|
+
ph as GroundedSkybox,
|
|
10547
|
+
Jh as HTMLMesh,
|
|
10548
|
+
jh as HorizontalBlurShader,
|
|
10549
|
+
Vh as InteractiveGroup,
|
|
10541
10550
|
ft as KTX2Loader,
|
|
10542
|
-
|
|
10543
|
-
|
|
10551
|
+
Kh as Line2,
|
|
10552
|
+
lh as LineGeometry,
|
|
10544
10553
|
Nr as LineMaterial,
|
|
10545
|
-
|
|
10546
|
-
|
|
10547
|
-
|
|
10548
|
-
|
|
10549
|
-
|
|
10550
|
-
|
|
10554
|
+
Dh as MeshoptDecoder,
|
|
10555
|
+
Gh as OBJLoader,
|
|
10556
|
+
Ph as OrbitControls,
|
|
10557
|
+
Xh as Pass,
|
|
10558
|
+
Hh as PositionalAudioHelper,
|
|
10559
|
+
Gc as RGBELoader,
|
|
10560
|
+
Nh as RGBELoader$1,
|
|
10551
10561
|
rs as Stats,
|
|
10552
|
-
|
|
10553
|
-
|
|
10562
|
+
_h as TextGeometry,
|
|
10563
|
+
Fh as TransformControls,
|
|
10554
10564
|
Ec as TransformControlsGizmo,
|
|
10555
|
-
|
|
10556
|
-
|
|
10557
|
-
|
|
10558
|
-
|
|
10559
|
-
|
|
10565
|
+
Wh as VertexNormalsHelper,
|
|
10566
|
+
qh as VerticalBlurShader,
|
|
10567
|
+
zh as XRControllerModelFactory,
|
|
10568
|
+
Yh as XRHandMeshModel,
|
|
10569
|
+
fh as mergeVertices,
|
|
10560
10570
|
nt as nodeFrame,
|
|
10561
10571
|
io as strToU8,
|
|
10562
|
-
|
|
10572
|
+
kh as zipSync
|
|
10563
10573
|
};
|