@galacean/engine-loader 1.3.0-alpha.3 → 1.3.0-beta.10

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.
@@ -1327,9 +1327,9 @@ exports.MeshLoader = /*#__PURE__*/ function(Loader1) {
1327
1327
  _proto.load = function load(item, resourceManager) {
1328
1328
  var _this = this;
1329
1329
  return new miniprogram.AssetPromise(function(resolve, reject) {
1330
- _this.request(item.url, {
1330
+ _this.request(item.url, _extends({}, item, {
1331
1331
  type: "arraybuffer"
1332
- }).then(function(data) {
1332
+ })).then(function(data) {
1333
1333
  decode(data, resourceManager.engine).then(function(mesh) {
1334
1334
  resolve(mesh);
1335
1335
  });
@@ -1353,9 +1353,9 @@ exports.EditorTextureLoader = /*#__PURE__*/ function(Loader1) {
1353
1353
  _proto.load = function load(item, resourceManager) {
1354
1354
  var _this = this;
1355
1355
  return new miniprogram.AssetPromise(function(resolve, reject) {
1356
- _this.request(item.url, {
1356
+ _this.request(item.url, _extends({}, item, {
1357
1357
  type: "arraybuffer"
1358
- }).then(function(data) {
1358
+ })).then(function(data) {
1359
1359
  decode(data, resourceManager.engine).then(function(texture) {
1360
1360
  resolve(texture);
1361
1361
  });
@@ -1448,8 +1448,8 @@ var AnimatorControllerLoader = /*#__PURE__*/ function(Loader1) {
1448
1448
  _this.request(item.url, _extends({}, item, {
1449
1449
  type: "json"
1450
1450
  })).then(function(data) {
1451
- var animatorController = new miniprogram.AnimatorController();
1452
- var layers = data.layers;
1451
+ var animatorController = new miniprogram.AnimatorController(resourceManager.engine);
1452
+ var layers = data.layers, parameters = data.parameters;
1453
1453
  var promises = [];
1454
1454
  layers.forEach(function(layerData, layerIndex) {
1455
1455
  var name = layerData.name, blendingMode = layerData.blendingMode, weight = layerData.weight, stateMachineData = layerData.stateMachine;
@@ -1457,21 +1457,21 @@ var AnimatorControllerLoader = /*#__PURE__*/ function(Loader1) {
1457
1457
  layer.blendingMode = blendingMode;
1458
1458
  layer.weight = weight;
1459
1459
  if (stateMachineData) {
1460
- var states = stateMachineData.states;
1461
- var stateMachine = layer.stateMachine = new miniprogram.AnimatorStateMachine();
1460
+ var states = stateMachineData.states, transitions = stateMachineData.transitions, entryTransitions = stateMachineData.entryTransitions, anyTransitions = stateMachineData.anyTransitions;
1461
+ var stateMachine = layer.stateMachine;
1462
+ var statesMap = {};
1463
+ var transitionsMap = {};
1462
1464
  states.forEach(function(stateData, stateIndex) {
1463
- var _scriptsObject;
1464
- var name = stateData.name, speed = stateData.speed, wrapMode = stateData.wrapMode, clipStartNormalizedTime = stateData.clipStartNormalizedTime, clipEndNormalizedTime = stateData.clipEndNormalizedTime, isDefaultState = stateData.isDefaultState, clipData = stateData.clip, scripts = stateData.scripts;
1465
+ var id = stateData.id, name = stateData.name, speed = stateData.speed, wrapMode = stateData.wrapMode, clipStartNormalizedTime = stateData.clipStartNormalizedTime, clipEndNormalizedTime = stateData.clipEndNormalizedTime, clipData = stateData.clip, scripts = stateData.scripts;
1465
1466
  var state = stateMachine.addState(name);
1466
- isDefaultState && (stateMachine.defaultState = state);
1467
1467
  state.speed = speed;
1468
1468
  state.wrapMode = wrapMode;
1469
1469
  state.clipStartTime = clipStartNormalizedTime;
1470
1470
  state.clipEndTime = clipEndNormalizedTime;
1471
- var scriptsObject = JSON.parse(scripts);
1472
- (_scriptsObject = scriptsObject) == null ? void 0 : _scriptsObject.forEach(function(script) {
1471
+ scripts.forEach(function(script) {
1473
1472
  state.addStateMachineScript(miniprogram.Loader.getClass(script));
1474
1473
  });
1474
+ statesMap[id] = state;
1475
1475
  if (clipData) {
1476
1476
  promises.push(new Promise(function(resolve) {
1477
1477
  //@ts-ignore
@@ -1485,23 +1485,29 @@ var AnimatorControllerLoader = /*#__PURE__*/ function(Loader1) {
1485
1485
  }));
1486
1486
  }
1487
1487
  });
1488
+ transitions.forEach(function(transitionData) {
1489
+ var transition = _this._createTransition(transitionData, statesMap[transitionData.destinationStateId]);
1490
+ transitionsMap[transitionData.id] = transition;
1491
+ });
1488
1492
  states.forEach(function(stateData) {
1489
- var name = stateData.name, transitions = stateData.transitions;
1490
- transitions.forEach(function(transitionData) {
1491
- var targetStateName = transitionData.targetStateName, duration = transitionData.duration, offset = transitionData.offset, exitTime = transitionData.exitTime;
1492
- var sourceState = stateMachine.findStateByName(name);
1493
- var destState = stateMachine.findStateByName(targetStateName);
1494
- var transition = new miniprogram.AnimatorStateTransition();
1495
- transition.destinationState = destState;
1496
- transition.duration = duration;
1497
- transition.exitTime = exitTime;
1498
- transition.offset = offset;
1499
- sourceState.addTransition(transition);
1493
+ var id = stateData.id, transitions = stateData.transitions;
1494
+ transitions.forEach(function(transitionId) {
1495
+ var transition = transitionsMap[transitionId];
1496
+ transition && statesMap[id].addTransition(transition);
1500
1497
  });
1501
1498
  });
1499
+ entryTransitions.forEach(function(entryTransitionData) {
1500
+ stateMachine.addEntryStateTransition(_this._createTransition(entryTransitionData, statesMap[entryTransitionData.destinationStateId]));
1501
+ });
1502
+ anyTransitions.forEach(function(anyTransitionData) {
1503
+ stateMachine.addAnyStateTransition(_this._createTransition(anyTransitionData, statesMap[anyTransitionData.destinationStateId]));
1504
+ });
1502
1505
  }
1503
1506
  animatorController.addLayer(layer);
1504
1507
  });
1508
+ parameters.forEach(function(parameterData) {
1509
+ animatorController.addParameter(parameterData.name, parameterData.defaultValue);
1510
+ });
1505
1511
  Promise.all(promises).then(function(clipData) {
1506
1512
  clipData.forEach(function(data) {
1507
1513
  var layerIndex = data.layerIndex, stateIndex = data.stateIndex, clip = data.clip;
@@ -1512,6 +1518,21 @@ var AnimatorControllerLoader = /*#__PURE__*/ function(Loader1) {
1512
1518
  }).catch(reject);
1513
1519
  });
1514
1520
  };
1521
+ _proto._createTransition = function _createTransition(transitionData, destinationState) {
1522
+ var transition = new miniprogram.AnimatorStateTransition();
1523
+ transition.duration = transitionData.duration;
1524
+ transition.offset = transitionData.offset;
1525
+ transition.exitTime = transitionData.exitTime;
1526
+ transition.solo = transitionData.solo;
1527
+ transition.mute = transitionData.mute;
1528
+ // @ts-ignore
1529
+ transition._isExit = transitionData.isExit;
1530
+ transition.destinationState = destinationState;
1531
+ transitionData.conditions.forEach(function(conditionData) {
1532
+ transition.addCondition(conditionData.mode, conditionData.parameterName, conditionData.threshold);
1533
+ });
1534
+ return transition;
1535
+ };
1515
1536
  return AnimatorControllerLoader;
1516
1537
  }(miniprogram.Loader);
1517
1538
  AnimatorControllerLoader = __decorate([
@@ -1562,9 +1583,9 @@ var EnvLoader = /*#__PURE__*/ function(Loader1) {
1562
1583
  _proto.load = function load(item, resourceManager) {
1563
1584
  var _this = this;
1564
1585
  return new miniprogram.AssetPromise(function(resolve, reject) {
1565
- _this.request(item.url, {
1586
+ _this.request(item.url, _extends({}, item, {
1566
1587
  type: "arraybuffer"
1567
- }).then(function(arraybuffer) {
1588
+ })).then(function(arraybuffer) {
1568
1589
  var _this;
1569
1590
  var shArray = new Float32Array(arraybuffer, 0, 27);
1570
1591
  var shByteLength = 27 * 4;
@@ -1644,9 +1665,9 @@ var FontLoader = /*#__PURE__*/ function(Loader1) {
1644
1665
  _proto.load = function load(item, resourceManager) {
1645
1666
  var _this = this;
1646
1667
  return new miniprogram.AssetPromise(function(resolve, reject) {
1647
- _this.request(item.url, {
1668
+ _this.request(item.url, _extends({}, item, {
1648
1669
  type: "json"
1649
- }).then(function(data) {
1670
+ })).then(function(data) {
1650
1671
  var fontName = data.fontName, fontUrl = data.fontUrl;
1651
1672
  if (fontUrl) {
1652
1673
  _this._registerFont(fontName, fontUrl).then(function() {
@@ -2031,15 +2052,15 @@ var TextureWrapMode;
2031
2052
  for(var i = 0, length = item.length; i < length; i++){
2032
2053
  var mesh = item[i];
2033
2054
  // @ts-ignore
2034
- _this.resourceManager._onSubAssetSuccess(url + "?q=" + glTFResourceKey + "[" + index + "][" + i + "]", mesh);
2055
+ _this.resourceManager._onSubAssetSuccess(url, glTFResourceKey + "[" + index + "][" + i + "]", mesh);
2035
2056
  }
2036
2057
  } else {
2037
2058
  // @ts-ignore
2038
- _this.resourceManager._onSubAssetSuccess(url + "?q=" + glTFResourceKey + "[" + index + "]", item);
2059
+ _this.resourceManager._onSubAssetSuccess(url, "" + glTFResourceKey + (index === undefined ? "" : "[" + index + "]"), item);
2039
2060
  var _this_glTF_scene;
2040
2061
  if (type === 2 && ((_this_glTF_scene = _this.glTF.scene) != null ? _this_glTF_scene : 0) === index) {
2041
2062
  // @ts-ignore
2042
- _this.resourceManager._onSubAssetSuccess("" + url + "?q=defaultSceneRoot", item);
2063
+ _this.resourceManager._onSubAssetSuccess(url, "defaultSceneRoot", item);
2043
2064
  }
2044
2065
  }
2045
2066
  });
@@ -4482,6 +4503,8 @@ exports.GLTFSceneParser = /*#__PURE__*/ function(GLTFParser1) {
4482
4503
  sceneRoot = context.get(exports.GLTFParserType.Entity, sceneNodes[0]);
4483
4504
  } else {
4484
4505
  sceneRoot = new miniprogram.Entity(engine, "GLTF_ROOT");
4506
+ // @ts-ignore
4507
+ sceneRoot._markAsTemplate(glTFResource);
4485
4508
  for(var i = 0; i < sceneNodes.length; i++){
4486
4509
  var childEntity = context.get(exports.GLTFParserType.Entity, sceneNodes[i]);
4487
4510
  sceneRoot.addChild(childEntity);
@@ -4864,12 +4887,14 @@ exports.GLTFAnimatorControllerParser = /*#__PURE__*/ function(GLTFParser1) {
4864
4887
  return Promise.resolve(null);
4865
4888
  }
4866
4889
  return context.get(exports.GLTFParserType.Animation).then(function(animations) {
4867
- var animatorController = _this._createAnimatorController(animations);
4890
+ var animatorController = _this._createAnimatorController(context, animations);
4868
4891
  return Promise.resolve(animatorController);
4869
4892
  });
4870
4893
  };
4871
- _proto._createAnimatorController = function _createAnimatorController(animations) {
4872
- var animatorController = new miniprogram.AnimatorController();
4894
+ _proto._createAnimatorController = function _createAnimatorController(context, animations) {
4895
+ var glTFResource = context.glTFResource;
4896
+ var engine = glTFResource.engine;
4897
+ var animatorController = new miniprogram.AnimatorController(engine);
4873
4898
  var layer = new miniprogram.AnimatorControllerLayer("layer");
4874
4899
  var animatorStateMachine = new miniprogram.AnimatorStateMachine();
4875
4900
  animatorController.addLayer(layer);
@@ -4894,7 +4919,8 @@ exports.GLTFAnimatorControllerParser = __decorate([
4894
4919
  registerGLTFParser(exports.GLTFParserType.AnimatorController)
4895
4920
  ], exports.GLTFAnimatorControllerParser);
4896
4921
 
4897
- var MeshoptDecoder = function() {
4922
+ var ready;
4923
+ function getMeshoptDecoder() {
4898
4924
  var unpack = function unpack(data) {
4899
4925
  var result = new Uint8Array(data.length);
4900
4926
  for(var i = 0; i < data.length; ++i){
@@ -4939,7 +4965,7 @@ var MeshoptDecoder = function() {
4939
4965
  return worker;
4940
4966
  };
4941
4967
  var initWorkers = function initWorkers(count) {
4942
- var source = "var instance; var ready = WebAssembly.instantiate(new Uint8Array([" + new Uint8Array(unpack(wasm)) + "]), {})" + ".then(function(result) {instance = result.instance; instance.exports.__wasm_call_ctors();});\n" + "self.onmessage = workerProcess;\n" + 'function decode(fun, target, count, size, source, filter) {\n const sbrk = instance.exports.sbrk;\n const count4 = (count + 3) & ~3;\n const tp = sbrk(count4 * size);\n const sp = sbrk(source.length);\n const heap = new Uint8Array(instance.exports.memory.buffer);\n heap.set(source, sp);\n const res = fun(tp, count, size, sp, source.length);\n if (res == 0 && filter) {\n filter(tp, count4, size);\n }\n target.set(heap.subarray(tp, tp + count * size));\n sbrk(tp - sbrk(0));\n if (res != 0) {\n throw new Error("Malformed buffer data: " + res);\n }\n }\n' + 'function workerProcess(event) {\n ready.then(function () {\n const data = event.data;\n try {\n const target = new Uint8Array(data.count * data.size);\n decode(instance.exports[data.mode], target, data.count, data.size, data.source, instance.exports[data.filter]);\n self.postMessage({ id: data.id, count: data.count, action: "resolve", value: target }, [target.buffer]);\n } catch (error) {\n self.postMessage({\n id: data.id,\n count: data.count,\n action: "reject",\n value: error\n });\n }\n });\n }';
4968
+ var source = "var instance; var ready = WebAssembly.instantiate(new Uint8Array([" + new Uint8Array(unpack(wasm)) + "]), {})" + ".then(function(result) {instance = result.instance; instance.exports.__wasm_call_ctors();});\n" + "self.onmessage = workerProcess;\n" + 'function decode(fun, target, count, size, source, filter) {\n const sbrk = instance.exports.sbrk;\n const count4 = (count + 3) & ~3;\n const tp = sbrk(count4 * size);\n const sp = sbrk(source.length);\n const heap = new Uint8Array(instance.exports.memory.buffer);\n heap.set(source, sp);\n const res = fun(tp, count, size, sp, source.length);\n if (res == 0 && filter) {\n filter(tp, count4, size);\n }\n target.set(heap.subarray(tp, tp + count * size));\n sbrk(tp - sbrk(0));\n if (res != 0) {\n throw new Error("Malformed buffer data: " + res);\n }\n }\n' + 'function workerProcess(event) {\n ready.then(function () {\n const data = event.data;\n try {\n const target = new Uint8Array(data.count * data.size);\n decode(instance.exports[data.mode], target, data.count, data.size, data.source, instance.exports[data.filter]);\n self.postMessage({ id: data.id, count: data.count, action: "resolve", value: target }, [target.buffer]);\n } catch (error) {\n self.postMessage({\n id: data.id,\n count: data.count,\n action: "reject",\n value: error\n });\n }\n });\n }';
4943
4969
  var blob = new engineMiniprogramAdapter.Blob([
4944
4970
  source
4945
4971
  ], {
@@ -4978,6 +5004,7 @@ var MeshoptDecoder = function() {
4978
5004
  ]);
4979
5005
  });
4980
5006
  };
5007
+ if (ready) return ready;
4981
5008
  var wasm_base = "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";
4982
5009
  var wasm_simd = "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";
4983
5010
  var wasmpack = new Uint8Array([
@@ -5045,9 +5072,32 @@ var MeshoptDecoder = function() {
5045
5072
  // @ts-ignore
5046
5073
  var wasm = miniprogram.SystemInfo._detectSIMDSupported() ? wasm_simd : wasm_base;
5047
5074
  var instance;
5048
- var ready = WebAssembly.instantiate(unpack(wasm), {}).then(function(result) {
5075
+ ready = WebAssembly.instantiate(unpack(wasm)).then(function(result) {
5049
5076
  instance = result.instance;
5050
5077
  instance.exports.__wasm_call_ctors();
5078
+ }).then(function() {
5079
+ return {
5080
+ workerCount: 4,
5081
+ ready: ready,
5082
+ useWorkers: function useWorkers(workerCount) {
5083
+ this.workerCount = workerCount != null ? workerCount : this.workerCount;
5084
+ initWorkers(this.workerCount);
5085
+ },
5086
+ decodeGltfBuffer: function decodeGltfBuffer(count, stride, source, mode, filter) {
5087
+ if (this.workerCount > 0 && workers.length === 0) this.useWorkers();
5088
+ if (workers.length > 0) return decodeWorker(count, stride, source, decoders[mode], filters[filter]);
5089
+ return ready.then(function() {
5090
+ var target = new Uint8Array(count * stride);
5091
+ decode(instance.exports[decoders[mode]], target, count, stride, source, instance.exports[filters[filter]]);
5092
+ return target;
5093
+ });
5094
+ },
5095
+ release: function release() {
5096
+ for(var i = 0; i < workers.length; i++){
5097
+ workers[i].object.terminate();
5098
+ }
5099
+ }
5100
+ };
5051
5101
  });
5052
5102
  var filters = {
5053
5103
  NONE: "",
@@ -5062,28 +5112,8 @@ var MeshoptDecoder = function() {
5062
5112
  };
5063
5113
  var workers = [];
5064
5114
  var requestId = 0;
5065
- return {
5066
- workerCount: 4,
5067
- ready: ready,
5068
- useWorkers: function useWorkers() {
5069
- initWorkers(this.workerCount);
5070
- },
5071
- decodeGltfBuffer: function decodeGltfBuffer(count, stride, source, mode, filter) {
5072
- if (this.workerCount > 0 && workers.length === 0) this.useWorkers();
5073
- if (workers.length > 0) return decodeWorker(count, stride, source, decoders[mode], filters[filter]);
5074
- return ready.then(function() {
5075
- var target = new Uint8Array(count * stride);
5076
- decode(instance.exports[decoders[mode]], target, count, stride, source, instance.exports[filters[filter]]);
5077
- return target;
5078
- });
5079
- },
5080
- release: function release() {
5081
- for(var i = 0; i < workers.length; i++){
5082
- workers[i].object.terminate();
5083
- }
5084
- }
5085
- };
5086
- }();
5115
+ return ready;
5116
+ }
5087
5117
 
5088
5118
  exports.GLTFLoader = /*#__PURE__*/ function(Loader1) {
5089
5119
  _inherits(GLTFLoader, Loader1);
@@ -5092,11 +5122,13 @@ exports.GLTFLoader = /*#__PURE__*/ function(Loader1) {
5092
5122
  }
5093
5123
  var _proto = GLTFLoader.prototype;
5094
5124
  _proto.initialize = function initialize(_, configuration) {
5095
- var _configuration_glTF;
5096
- var meshOptOptions = (_configuration_glTF = configuration.glTF) == null ? void 0 : _configuration_glTF.meshOpt;
5125
+ var _configuration_glTFLoader, _configuration_glTF;
5126
+ var _configuration_glTFLoader_meshOpt;
5127
+ var meshOptOptions = (_configuration_glTFLoader_meshOpt = (_configuration_glTFLoader = configuration.glTFLoader) == null ? void 0 : _configuration_glTFLoader.meshOpt) != null ? _configuration_glTFLoader_meshOpt : (_configuration_glTF = configuration.glTF) == null ? void 0 : _configuration_glTF.meshOpt;
5097
5128
  if (meshOptOptions) {
5098
- MeshoptDecoder.workerCount = meshOptOptions.workerCount;
5099
- MeshoptDecoder.useWorkers();
5129
+ return getMeshoptDecoder().then(function(meshoptDecoder) {
5130
+ meshoptDecoder.useWorkers(meshOptOptions.workerCount);
5131
+ });
5100
5132
  }
5101
5133
  return Promise.resolve();
5102
5134
  };
@@ -5117,7 +5149,11 @@ exports.GLTFLoader = /*#__PURE__*/ function(Loader1) {
5117
5149
  * Release glTF loader memory(includes meshopt workers).
5118
5150
  * @remarks If use loader after releasing, we should release again.
5119
5151
  */ GLTFLoader.release = function release() {
5120
- MeshoptDecoder.release();
5152
+ if (ready) {
5153
+ getMeshoptDecoder().then(function(meshoptDecoder) {
5154
+ meshoptDecoder.release();
5155
+ });
5156
+ }
5121
5157
  };
5122
5158
  return GLTFLoader;
5123
5159
  }(miniprogram.Loader);
@@ -5156,7 +5192,7 @@ var PrefabParser = /*#__PURE__*/ function(HierarchyParser1) {
5156
5192
  return PrefabParser;
5157
5193
  }(HierarchyParser);
5158
5194
 
5159
- exports.PrefabLoader = /*#__PURE__*/ function(Loader1) {
5195
+ var PrefabLoader = /*#__PURE__*/ function(Loader1) {
5160
5196
  _inherits(PrefabLoader, Loader1);
5161
5197
  function PrefabLoader() {
5162
5198
  return Loader1.apply(this, arguments);
@@ -5175,11 +5211,11 @@ exports.PrefabLoader = /*#__PURE__*/ function(Loader1) {
5175
5211
  };
5176
5212
  return PrefabLoader;
5177
5213
  }(miniprogram.Loader);
5178
- exports.PrefabLoader = __decorate([
5214
+ PrefabLoader = __decorate([
5179
5215
  miniprogram.resourceLoader(miniprogram.AssetType.Prefab, [
5180
5216
  "prefab"
5181
5217
  ])
5182
- ], exports.PrefabLoader);
5218
+ ], PrefabLoader);
5183
5219
 
5184
5220
  var _HDRLoader;
5185
5221
  var PI = Math.PI;
@@ -5194,9 +5230,9 @@ var HDRLoader = (_HDRLoader = // referenece: https://www.flipcode.com/archives/H
5194
5230
  var _this = this;
5195
5231
  return new miniprogram.AssetPromise(function(resolve, reject) {
5196
5232
  var engine = resourceManager.engine;
5197
- _this.request(item.url, {
5233
+ _this.request(item.url, _extends({}, item, {
5198
5234
  type: "arraybuffer"
5199
- }).then(function(buffer) {
5235
+ })).then(function(buffer) {
5200
5236
  var uint8Array = new Uint8Array(buffer);
5201
5237
  var _HDRLoader__parseHeader = HDRLoader._parseHeader(uint8Array), width = _HDRLoader__parseHeader.width, height = _HDRLoader__parseHeader.height, dataPosition = _HDRLoader__parseHeader.dataPosition;
5202
5238
  var pixels = HDRLoader._readPixels(uint8Array.subarray(dataPosition), width, height);
@@ -5944,9 +5980,9 @@ var ProjectLoader = /*#__PURE__*/ function(Loader1) {
5944
5980
  var _this = this;
5945
5981
  var engine = resourceManager.engine;
5946
5982
  return new miniprogram.AssetPromise(function(resolve, reject) {
5947
- _this.request(item.url, {
5983
+ _this.request(item.url, _extends({}, item, {
5948
5984
  type: "json"
5949
- }).then(function(data) {
5985
+ })).then(function(data) {
5950
5986
  // @ts-ignore
5951
5987
  engine.resourceManager.initVirtualResources(data.files);
5952
5988
  return resourceManager.load({
@@ -6312,9 +6348,9 @@ var SceneLoader = /*#__PURE__*/ function(Loader1) {
6312
6348
  var _this = this;
6313
6349
  var engine = resourceManager.engine;
6314
6350
  return new miniprogram.AssetPromise(function(resolve, reject) {
6315
- _this.request(item.url, {
6351
+ _this.request(item.url, _extends({}, item, {
6316
6352
  type: "json"
6317
- }).then(function(data) {
6353
+ })).then(function(data) {
6318
6354
  return SceneParser.parse(engine, data).then(function(scene) {
6319
6355
  var promises = [];
6320
6356
  // parse ambient light
@@ -6391,6 +6427,9 @@ var SceneLoader = /*#__PURE__*/ function(Loader1) {
6391
6427
  if (shadow.shadowResolution != undefined) scene.shadowResolution = shadow.shadowResolution;
6392
6428
  if (shadow.shadowDistance != undefined) scene.shadowDistance = shadow.shadowDistance;
6393
6429
  if (shadow.shadowCascades != undefined) scene.shadowCascades = shadow.shadowCascades;
6430
+ if (shadow.enableTransparentShadow != undefined) {
6431
+ scene.enableTransparentShadow = shadow.enableTransparentShadow;
6432
+ }
6394
6433
  var _shadow_shadowTwoCascadeSplits;
6395
6434
  scene.shadowTwoCascadeSplits = (_shadow_shadowTwoCascadeSplits = shadow.shadowTwoCascadeSplits) != null ? _shadow_shadowTwoCascadeSplits : scene.shadowTwoCascadeSplits;
6396
6435
  shadow.shadowFourCascadeSplits && scene.shadowFourCascadeSplits.copyFrom(shadow.shadowFourCascadeSplits);
@@ -6415,6 +6454,7 @@ var SceneLoader = /*#__PURE__*/ function(Loader1) {
6415
6454
  var tonemappingEffect = postProcessManager._tonemappingEffect;
6416
6455
  postProcessManager.isActive = postProcessData.isActive;
6417
6456
  bloomEffect.enabled = postProcessData.bloom.enabled;
6457
+ bloomEffect.downScale = postProcessData.bloom.downScale;
6418
6458
  bloomEffect.threshold = postProcessData.bloom.threshold;
6419
6459
  bloomEffect.scatter = postProcessData.bloom.scatter;
6420
6460
  bloomEffect.intensity = postProcessData.bloom.intensity;
@@ -6800,7 +6840,9 @@ var EXT_meshopt_compression = /*#__PURE__*/ function(GLTFExtensionParser1) {
6800
6840
  var _proto = EXT_meshopt_compression.prototype;
6801
6841
  _proto.createAndParse = function createAndParse(context, schema) {
6802
6842
  return context.get(exports.GLTFParserType.Buffer, schema.buffer).then(function(arrayBuffer) {
6803
- return MeshoptDecoder.decodeGltfBuffer(schema.count, schema.byteStride, new Uint8Array(arrayBuffer, schema.byteOffset, schema.byteLength), schema.mode, schema.filter);
6843
+ return getMeshoptDecoder().then(function(decoder) {
6844
+ return decoder.decodeGltfBuffer(schema.count, schema.byteStride, new Uint8Array(arrayBuffer, schema.byteOffset, schema.byteLength), schema.mode, schema.filter);
6845
+ });
6804
6846
  });
6805
6847
  };
6806
6848
  return EXT_meshopt_compression;
@@ -6833,6 +6875,8 @@ KHR_materials_anisotropy = __decorate([
6833
6875
  ], KHR_materials_anisotropy);
6834
6876
 
6835
6877
  exports.BufferInfo = BufferInfo;
6878
+ exports.BufferReader = BufferReader;
6879
+ exports.FileHeader = FileHeader;
6836
6880
  exports.GLTFExtensionParser = GLTFExtensionParser;
6837
6881
  exports.GLTFParser = GLTFParser;
6838
6882
  exports.GLTFParserContext = GLTFParserContext;
@@ -6843,6 +6887,8 @@ exports.PrefabResource = PrefabResource;
6843
6887
  exports.ReflectionParser = ReflectionParser;
6844
6888
  exports.SceneParser = SceneParser;
6845
6889
  exports.decode = decode;
6890
+ exports.decoder = decoder;
6891
+ exports.decoderMap = decoderMap;
6846
6892
  exports.parseSingleKTX = parseSingleKTX;
6847
6893
  exports.registerGLTFExtension = registerGLTFExtension;
6848
6894
  exports.registerGLTFParser = registerGLTFParser;